Section 1
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import flash.display.*;
import fl.core.*;
import flash.events.*;
import fl.events.*;
import flash.utils.*;
public class BaseButton extends UIComponent {
protected var pressTimer:Timer;
protected var _autoRepeat:Boolean;// = false
protected var _selected:Boolean;// = false
protected var background:DisplayObject;
private var unlockedMouseState:String;
protected var mouseState:String;
private var _mouseStateLocked:Boolean;// = false
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
override public function get enabled():Boolean{
return (super.enabled);
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
protected function drawBackground():void{
var _local1:String = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
var _local2:DisplayObject = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public function get selected():Boolean{
return (_selected);
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 2
//Button (fl.controls.Button)
package fl.controls {
import flash.display.*;
import fl.core.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var _emphasized:Boolean;// = false
protected var emphasizedBorder:DisplayObject;
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
var _local1:Object = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 3
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 4
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import flash.display.*;
import fl.core.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _toggle:Boolean;// = false
public var textField:TextField;
protected var mode:String;// = "center"
protected var _labelPlacement:String;// = "right"
protected var oldMouseState:String;
protected var _label:String;// = "Label"
protected var icon:DisplayObject;
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
override protected function drawLayout():void{
var _local7:Number;
var _local8:Number;
var _local1:Number = Number(getStyleValue("textPadding"));
var _local2:String = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
var _local3:Number = (textField.textWidth + 4);
var _local4:Number = (textField.textHeight + 4);
var _local5:Number = ((icon)==null) ? 0 : (icon.width + _local1);
var _local6:Number = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
public function get labelPlacement():String{
return (_labelPlacement);
}
public function get toggle():Boolean{
return (_toggle);
}
protected function setEmbedFont(){
var _local1:Object = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
protected function drawIcon():void{
var _local1:DisplayObject = icon;
var _local2:String = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
var _local3:Object = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
protected function drawTextFormat():void{
var _local1:Object = UIComponent.getStyleDefinition();
var _local2:TextFormat = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
var _local3:TextFormat = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public function get label():String{
return (_label);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 5
//ScrollBar (fl.controls.ScrollBar)
package fl.controls {
import fl.core.*;
import flash.events.*;
import fl.events.*;
public class ScrollBar extends UIComponent {
private var _direction:String;// = "vertical"
private var _minScrollPosition:Number;// = 0
private var _pageSize:Number;// = 10
private var _maxScrollPosition:Number;// = 0
protected var downArrow:BaseButton;
private var _lineScrollSize:Number;// = 1
protected var upArrow:BaseButton;
private var _scrollPosition:Number;// = 0
private var thumbScrollOffset:Number;
protected var track:BaseButton;
protected var thumb:LabelButton;
protected var inDrag:Boolean;// = false
private var _pageScrollSize:Number;// = 0
protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0};
public static const WIDTH:Number = 15;
protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35};
public function ScrollBar(){
setStyles();
focusEnabled = false;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition))))));
updateThumb();
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if (_direction == ScrollBarDirection.HORIZONTAL){
super.setSize(_arg2, _arg1);
} else {
super.setSize(_arg1, _arg2);
};
}
public function set lineScrollSize(_arg1:Number):void{
if (_arg1 > 0){
_lineScrollSize = _arg1;
};
}
public function get minScrollPosition():Number{
return (_minScrollPosition);
}
protected function updateThumb():void{
var _local1:Number = ((_maxScrollPosition - _minScrollPosition) + _pageSize);
if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){
thumb.height = 12;
thumb.visible = false;
} else {
thumb.height = Math.max(13, ((_pageSize / _local1) * track.height));
thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition))));
thumb.visible = enabled;
};
}
public function set minScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _arg1, _maxScrollPosition);
}
public function get lineScrollSize():Number{
return (_lineScrollSize);
}
public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{
var _local3:Number = scrollPosition;
_scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1));
if (_local3 == _scrollPosition){
return;
};
if (_arg2){
dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition));
};
updateThumb();
}
public function get maxScrollPosition():Number{
return (_maxScrollPosition);
}
public function get scrollPosition():Number{
return (_scrollPosition);
}
override public function get height():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height);
}
public function get pageSize():Number{
return (_pageSize);
}
public function set maxScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _minScrollPosition, _arg1);
}
protected function thumbReleaseHandler(_arg1:MouseEvent):void{
inDrag = false;
mouseChildren = true;
thumb.mouseStateLocked = false;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler);
}
public function set pageScrollSize(_arg1:Number):void{
if (_arg1 >= 0){
_pageScrollSize = _arg1;
};
}
public function set scrollPosition(_arg1:Number):void{
setScrollPosition(_arg1, true);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
var _local1:Number;
if (isInvalid(InvalidationType.SIZE)){
_local1 = super.height;
downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height)));
track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height))));
updateThumb();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
setStyles();
};
downArrow.drawNow();
upArrow.drawNow();
track.drawNow();
thumb.drawNow();
validate();
}
override public function get width():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width);
}
override protected function configUI():void{
super.configUI();
track = new BaseButton();
track.move(0, 14);
track.useHandCursor = false;
track.autoRepeat = true;
track.focusEnabled = false;
addChild(track);
thumb = new LabelButton();
thumb.label = "";
thumb.setSize(WIDTH, 15);
thumb.move(0, 15);
thumb.focusEnabled = false;
addChild(thumb);
downArrow = new BaseButton();
downArrow.setSize(WIDTH, 14);
downArrow.autoRepeat = true;
downArrow.focusEnabled = false;
addChild(downArrow);
upArrow = new BaseButton();
upArrow.setSize(WIDTH, 14);
upArrow.move(0, 0);
upArrow.autoRepeat = true;
upArrow.focusEnabled = false;
addChild(upArrow);
upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true);
enabled = false;
}
public function set pageSize(_arg1:Number):void{
if (_arg1 > 0){
_pageSize = _arg1;
};
}
public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{
this.pageSize = _arg1;
_minScrollPosition = _arg2;
_maxScrollPosition = _arg3;
if (_arg4 >= 0){
_pageScrollSize = _arg4;
};
enabled = (_maxScrollPosition > _minScrollPosition);
setScrollPosition(_scrollPosition, false);
updateThumb();
}
public function get pageScrollSize():Number{
return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize);
}
protected function handleThumbDrag(_arg1:MouseEvent):void{
var _local2:Number = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset)));
setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition));
}
protected function setStyles():void{
copyStylesToChild(downArrow, DOWN_ARROW_STYLES);
copyStylesToChild(thumb, THUMB_STYLES);
copyStylesToChild(track, TRACK_STYLES);
copyStylesToChild(upArrow, UP_ARROW_STYLES);
}
protected function scrollPressHandler(_arg1:ComponentEvent):void{
var _local2:Number;
var _local3:Number;
_arg1.stopImmediatePropagation();
if (_arg1.currentTarget == upArrow){
setScrollPosition((_scrollPosition - _lineScrollSize));
} else {
if (_arg1.currentTarget == downArrow){
setScrollPosition((_scrollPosition + _lineScrollSize));
} else {
_local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition);
_local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize;
if (_scrollPosition < _local2){
setScrollPosition(Math.min(_local2, (_scrollPosition + _local3)));
} else {
if (_scrollPosition > _local2){
setScrollPosition(Math.max(_local2, (_scrollPosition - _local3)));
};
};
};
};
}
protected function thumbPressHandler(_arg1:MouseEvent):void{
inDrag = true;
thumbScrollOffset = (mouseY - thumb.y);
thumb.mouseStateLocked = true;
mouseChildren = false;
stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true);
}
public function set direction(_arg1:String):void{
if (_direction == _arg1){
return;
};
_direction = _arg1;
if (isLivePreview){
return;
};
setScaleY(1);
var _local2 = (_direction == ScrollBarDirection.HORIZONTAL);
if (((_local2) && (componentInspectorSetting))){
if (rotation == 90){
return;
};
setScaleX(-1);
rotation = -90;
};
if (!componentInspectorSetting){
if (((_local2) && ((rotation == 0)))){
rotation = -90;
setScaleX(-1);
} else {
if (((!(_local2)) && ((rotation == -90)))){
rotation = 0;
setScaleX(1);
};
};
};
invalidate(InvalidationType.SIZE);
}
public function get direction():String{
return (_direction);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 6
//ScrollBarDirection (fl.controls.ScrollBarDirection)
package fl.controls {
public class ScrollBarDirection {
public static const HORIZONTAL:String = "horizontal";
public static const VERTICAL:String = "vertical";
}
}//package fl.controls
Section 7
//UIScrollBar (fl.controls.UIScrollBar)
package fl.controls {
import fl.core.*;
import flash.events.*;
import fl.events.*;
import flash.text.*;
public class UIScrollBar extends ScrollBar {
protected var inEdit:Boolean;// = false
protected var inScroll:Boolean;// = false
protected var _scrollTarget:TextField;
private static var defaultStyles:Object = {};
protected function updateScrollTargetProperties():void{
var _local1:Boolean;
var _local2:Number;
if (_scrollTarget == null){
setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, pageScrollSize);
scrollPosition = 0;
} else {
_local1 = (direction == ScrollBarDirection.HORIZONTAL);
_local2 = (_local1) ? _scrollTarget.width : 10;
setScrollProperties(_local2, (_local1) ? 0 : 1, (_local1) ? _scrollTarget.maxScrollH : _scrollTarget.maxScrollV, pageScrollSize);
scrollPosition = (_local1) ? _scrollTarget.scrollH : _scrollTarget.scrollV;
};
}
override public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{
var _local5:Number = _arg3;
var _local6:Number = ((_arg2)<0) ? 0 : _arg2;
if (_scrollTarget != null){
if (direction == ScrollBarDirection.HORIZONTAL){
_local5 = ((_arg3)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local5;
} else {
_local5 = ((_arg3)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local5;
};
};
super.setScrollProperties(_arg1, _local6, _local5, _arg4);
}
protected function handleTargetScroll(_arg1:Event):void{
if (inDrag){
return;
};
if (!enabled){
return;
};
inEdit = true;
updateScrollTargetProperties();
scrollPosition = ((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV;
inEdit = false;
}
override public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{
super.setScrollPosition(_arg1, _arg2);
if (!_scrollTarget){
inScroll = false;
return;
};
updateTargetScroll();
}
public function get scrollTargetName():String{
return (_scrollTarget.name);
}
override protected function draw():void{
if (isInvalid(InvalidationType.DATA)){
updateScrollTargetProperties();
};
super.draw();
}
override public function set direction(_arg1:String):void{
if (isLivePreview){
return;
};
super.direction = _arg1;
updateScrollTargetProperties();
}
protected function updateTargetScroll(_arg1:ScrollEvent=null):void{
if (inEdit){
return;
};
if (direction == ScrollBarDirection.HORIZONTAL){
_scrollTarget.scrollH = scrollPosition;
} else {
_scrollTarget.scrollV = scrollPosition;
};
}
override public function set minScrollPosition(_arg1:Number):void{
super.minScrollPosition = ((_arg1)<0) ? 0 : _arg1;
}
override public function set maxScrollPosition(_arg1:Number):void{
var _local2:Number = _arg1;
if (_scrollTarget != null){
if (direction == ScrollBarDirection.HORIZONTAL){
_local2 = ((_local2)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local2;
} else {
_local2 = ((_local2)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local2;
};
};
super.maxScrollPosition = _local2;
}
protected function handleTargetChange(_arg1:Event):void{
inEdit = true;
setScrollPosition(((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV, true);
updateScrollTargetProperties();
inEdit = false;
}
public function update():void{
inEdit = true;
updateScrollTargetProperties();
inEdit = false;
}
public function set scrollTargetName(_arg1:String):void{
var target = _arg1;
try {
scrollTarget = (parent.getChildByName(target) as TextField);
} catch(error:Error) {
throw (new Error("ScrollTarget not found, or is not a TextField"));
};
}
public function set scrollTarget(_arg1:TextField):void{
if (_scrollTarget != null){
_scrollTarget.removeEventListener(Event.CHANGE, handleTargetChange, false);
_scrollTarget.removeEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false);
_scrollTarget.removeEventListener(Event.SCROLL, handleTargetScroll, false);
removeEventListener(ScrollEvent.SCROLL, updateTargetScroll, false);
};
_scrollTarget = _arg1;
if (_scrollTarget != null){
_scrollTarget.addEventListener(Event.CHANGE, handleTargetChange, false, 0, true);
_scrollTarget.addEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false, 0, true);
_scrollTarget.addEventListener(Event.SCROLL, handleTargetScroll, false, 0, true);
addEventListener(ScrollEvent.SCROLL, updateTargetScroll, false, 0, true);
};
invalidate(InvalidationType.DATA);
}
public function get scrollTarget():TextField{
return (_scrollTarget);
}
override public function get direction():String{
return (super.direction);
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.controls
Section 8
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 9
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 10
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
public class UIComponent extends Sprite {
protected var _x:Number;
protected var _enabled:Boolean;// = true
protected var callLaterMethods:Dictionary;
private var _mouseFocusEnabled:Boolean;// = true
private var tempText:TextField;
private var _focusEnabled:Boolean;// = true
protected var startHeight:Number;
protected var _height:Number;
protected var invalidateFlag:Boolean;// = false
protected var _oldIMEMode:String;// = null
protected var _inspector:Boolean;// = false
protected var startWidth:Number;
public var focusTarget:IFocusManagerComponent;
protected var errorCaught:Boolean;// = false
protected var invalidHash:Object;
protected var sharedStyles:Object;
protected var uiFocusRect:DisplayObject;
protected var isLivePreview:Boolean;// = false
protected var _imeMode:String;// = null
protected var _width:Number;
protected var instanceStyles:Object;
public var version:String;// = "3.0.0.16"
protected var isFocused:Boolean;// = false
protected var _y:Number;
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
instanceStyles = {};
sharedStyles = {};
invalidHash = {};
callLaterMethods = new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
initializeFocusManager();
addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
private function callLaterDispatcher(_arg1:Event):void{
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
return;
};
inCallLaterPhase = true;
var _local2:Dictionary = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
protected function validate():void{
invalidHash = {};
}
protected function focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
override public function get height():Number{
return (_height);
}
private function addedHandler(_arg1:Event):void{
removeEventListener("addedToStage", addedHandler);
initializeFocusManager();
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
public function get enabled():Boolean{
return (_enabled);
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function getScaleY():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
protected function afterComponentParameters():void{
}
override public function get scaleY():Number{
return ((height / startHeight));
}
protected function setIMEMode(_arg1:Boolean){
var enabled = _arg1;
if (_imeMode != null){
if (enabled){
IME.enabled = true;
_oldIMEMode = IME.conversionMode;
try {
if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _imeMode;
};
errorCaught = false;
} catch(e:Error) {
errorCaught = true;
throw (new Error(("IME mode not supported: " + _imeMode)));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _oldIMEMode;
};
IME.enabled = false;
};
};
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
protected function configUI():void{
isLivePreview = checkLivePreview();
var _local1:Number = rotation;
rotation = 0;
var _local2:Number = super.width;
var _local3:Number = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
setSize(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
startWidth = _local2;
startHeight = _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
override public function get scaleX():Number{
return ((width / startWidth));
}
protected function setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
private function initializeFocusManager():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
};
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if (invalidHash[_args.pop()]){
return (true);
};
};
return (false);
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (isOurFocus((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function setSharedStyle(_arg1:String, _arg2:Object):void{
if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
sharedStyles[_arg1] = _arg2;
if (instanceStyles[_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var skin = _arg1;
var classDef:Object;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
protected function beforeComponentParameters():void{
}
protected function callLater(_arg1:Function):void{
if (inCallLaterPhase){
return;
};
callLaterMethods[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
};
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
_y = _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
override public function set visible(_arg1:Boolean):void{
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
var _local2:String = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
public function drawNow():void{
draw();
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local5:Object;
var _local6:String;
var _local2:Object = {};
var _local3:uint = _args.length;
var _local4:uint;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 11
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 12
//ScrollEvent (fl.events.ScrollEvent)
package fl.events {
import flash.events.*;
public class ScrollEvent extends Event {
private var _direction:String;
private var _position:Number;
private var _delta:Number;
public static const SCROLL:String = "scroll";
public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){
super(ScrollEvent.SCROLL, false, false);
_direction = _arg1;
_delta = _arg2;
_position = _arg3;
}
public function get position():Number{
return (_position);
}
public function get direction():String{
return (_direction);
}
public function get delta():Number{
return (_delta);
}
override public function toString():String{
return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position"));
}
override public function clone():Event{
return (new ScrollEvent(_direction, _delta, _position));
}
}
}//package fl.events
Section 13
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
import fl.core.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, addedHandler);
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
var _local5:int = focusableCandidates.length;
var _local6:int = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function focusOutHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject = (_arg1.target as InteractiveObject);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
if (!hasFocusableObjects()){
return;
};
var _local2:InteractiveObject = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local3:TextField;
var _local4:SimpleButton;
var _local2:DisplayObjectContainer = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
var _local2:DisplayObjectContainer = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int = focusableCandidates.length;
var _local3:int;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local4:InteractiveObject;
var _local3:DisplayObject = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local5:int;
var _local6:String;
var _local7:String;
var _local3 = "";
var _local4 = "";
var _local8 = "0000";
var _local9:DisplayObject = DisplayObject(_arg1);
var _local10:DisplayObject = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
var _local2:DisplayObject = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
var _local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
var _local4:int = getIndexOfFocusedObject(_local2);
var _local5:Boolean;
var _local6:int = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
var _local7:int = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
if (_arg1.isDefaultPrevented()){
return;
};
var _local2:InteractiveObject = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local3:Button;
var _local2:InteractiveObject = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function tabEnabledChangeHandler(_arg1:Event):void{
calculateCandidates = true;
var _local2:InteractiveObject = InteractiveObject(_arg1.target);
var _local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
public function activate():void{
if (activated){
return;
};
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
}
}//package fl.managers
Section 14
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function hideFocus():void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function setFocus(_arg1:InteractiveObject):void;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 15
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 16
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function get groupName():String;
function get selected():Boolean;
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
}
}//package fl.managers
Section 17
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.text.*;
import flash.utils.*;
public class StyleManager {
private var classToInstancesDict:Dictionary;
private var globalStyles:Object;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToDefaultStylesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class = getClassDef(_arg1);
var _local4:Object = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class = getClassDef(_arg1);
var _local5:Object = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local5:String;
var _local2:StyleManager = getInstance();
var _local3:Class = getClassDef(_arg1);
var _local4:Object = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class = getClassDef(_arg1);
var _local4:Object = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local4:Object;
var _local5:UIComponent;
var _local3:Dictionary = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local3:Object;
var _local2:Dictionary = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
var inst:StyleManager = getInstance();
var classDef:Class = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
if (inst.classToStylesDict[classDef] == null){
inst.classToStylesDict[classDef] = {};
};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class = getClassDef(_arg1);
var _local4:StyleManager = getInstance();
var _local5:Object = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 18
//MainTimeline (NiminFetishFantasyv0_fla.MainTimeline)
package NiminFetishFantasyv0_fla {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var libUp:upArrow;
public var exhaustionPenalty:int;
public var senUp:upArrow;
public var rabbit:int;
public var silPreg:int;
public var eggLaying:int;
public var foundSoftlik:Boolean;
public var itemGainArray:Array;
public var AmountOutline10:MovieClip;
public var AmountOutline11:MovieClip;
public var AmountOutline12:MovieClip;
public var DayValuePane:TextField;
public var malonChildren:int;
public var lilaVulva:int;
public var i:int;
public var fourBoobAffinity:int;
public var invertColorsOutline:MovieClip;
public var Choice10Outline:MovieClip;
public var tallness:int;
public var statValuePane:TextField;
public var lupanChildren:int;
public var eCoin:int;
public var inBag:Boolean;
public var eGen:int;
public var strUp:upArrow;
public var cowChildren:int;
public var pregTempInt:int;
public var currentZone:int;
public var AmountOutline1:MovieClip;
public var AmountOutline2:MovieClip;
public var AmountOutline3:MovieClip;
public var AmountOutline4:MovieClip;
public var AmountOutline5:MovieClip;
public var AmountOutline6:MovieClip;
public var AmountOutline7:MovieClip;
public var AmountOutline8:MovieClip;
public var AmountOutline9:MovieClip;
public var bodyOil:int;
public var eggceleratorTime:int;
public var libDown:downArrow;
public var HPMod:int;
public var invertColors:TextField;
public var milkMod:int;
public var HP:int;
public var levelPane:TextField;
public var udderLactation:int;
public var nipplePlay:Number;
public var vulvaSize:int;
public var pregRate:Number;
public var human:int;
public var attireTop:int;
public var Choice3Outline:MovieClip;
public var levelValuePane:TextField;
public var lustDown:downArrow;
public var humanAffinity:int;
public var cow:int;
public var felinChildren:int;
public var stackArray2:Array;
public var body:int;
public var jamieRep:int;
public var stackArray1:Array;
public var wolfAffinity:int;
public var stackArray3:Array;
public var newGame:TextField;
public var Choice8Outline:MovieClip;
public var inShop:Boolean;
public var foundFirmshaft:Boolean;
public var hpDown:downArrow;
public var currentRegion:TextField;
public var cockTotal:int;
public var stashStackArray1:Array;
public var wolfCocks:int;
public var vagMoist:int;
public var stashStackArray3:Array;
public var loadGame:TextField;
public var stashStackArray2:Array;
public var lactation:int;
public var butt:int;
public var weapon:Number;
public var nipPump:int;
public var blueBalls:int;
public var eggceleratorDose:int;
public var newGameOutline:MovieClip;
public var pregTimeMod:int;
public var doListen:Function;
public var udderSize:int;
public var currentText:String;
public var Choice12Outline:MovieClip;
public var balls:int;
public var skinType:int;
public var pageNum:TextField;
public var currentStash:int;
public var lib:int;
public var eggMaxTime:int;
public var vagBellyMod:int;
public var currentState:int;
public var exhaustion:int;
public var milkEngorgement:int;
public var dominant:int;
public var extraPregChance:int;
public var eSexP:int;
public var silGrowthTime:int;
public var ballSize:int;
public var Amount1:TextField;
public var Amount2:TextField;
public var Amount3:TextField;
public var Amount5:TextField;
public var Amount6:TextField;
public var Amount7:TextField;
public var Amount8:TextField;
public var Amount9:TextField;
public var Amount4:TextField;
public var gender:int;
public var race:int;
public var silRate:int;
public var catCocks:int;
public var teatPump:int;
public var udderEngorgementLevel:int;
public var Choice5Outline:MovieClip;
public var saveGame:TextField;
public var pregTempBool:Boolean;
public var pregStatus:int;
public var horseCocks:int;
public var charmTime:int;
public var equanChildren:int;
public var rabbitAffinity:int;
public var buttonChoice:int;
public var level:int;
public var lilaRep:int;
public var alchemistLevel:int;
public var day:int;
public var foundTieden:Boolean;
public var Choice10:TextField;
public var Choice11:TextField;
public var Choice12:TextField;
public var appearanceText:TextField;
public var lizanEggs:int;
public var lizanChildren:int;
public var cowAffinity:int;
public var statPane:TextField;
public var horse:int;
public var eLib:int;
public var ears:int;
public var malonRep:int;
public var clitPump:int;
public var carryMod:int;
public var silRep:int;
public var knowPheromone:Boolean;
public var eMaxHP:int;
public var hyperHappyLevel:int;
public var vagElastic:Number;
public var horseAffinity:int;
public var ePref:int;
public var lizardCocks:int;
public var eHP:int;
public var mistressRep:int;
public var babyFactLevel:int;
public var boobTotal:int;
public var tail:int;
public var outputWindow:TextField;
public var sen:int;
public var Choice2Outline:MovieClip;
public var eggTime:int;
public var runMod:int;
public var wolfPupChildren:int;
public var babyFree:int;
public var vagSizeMod:Number;
public var clockPane:TextField;
public var Amount10:TextField;
public var Amount11:TextField;
public var Amount12:TextField;
public var teatSize:int;
public var bgC:MovieClip;
public var hairColor:int;
public var hrs:int;
public var foundSizCalit:Boolean;
public var mentaUp:upArrow;
public var SexP:int;
public var Choice7Outline:MovieClip;
public var heatTime:int;
public var silLay:int;
public var lilaPreg:int;
public var bodyBuildLevel:int;
public var DayPane:TextField;
public var eItem:int;
public var currentDayCare:int;
public var levelUP:int;
public var rabbitCocks:int;
public var enticeMod:int;
public var changeMod:Number;
public var udderEngorgement:int;
public var vagSize:int;
public var masoPot:int;
public var sMasoPot:int;
public var showBalls:Boolean;
public var foundOviasis:Boolean;
public var ment:int;
public var Choice11Outline:MovieClip;
public var eMenta:int;
public var hairLength:int;
public var pregChanceMod:int;
public var clitSize:int;
public var udderPlay:Number;
public var vagTotal:int;
public var udders:Boolean;
public var milkHPMod:int;
public var lust:int;
public var attireBot:int;
public var eSen:int;
public var hpUp:upArrow;
public var currentItems:int;
public var stashArray1:Array;
public var stashArray2:Array;
public var stashArray3:Array;
public var nippleSize:int;
public var lizardAffinity:int;
public var SexPMod:Number;
public var hour:int;
public var lustUp:upArrow;
public var itemArray1:Array;
public var itemArray3:Array;
public var breastSize:int;
public var heat:int;
public var itemArray2:Array;
public var milkEngorgementLevel:int;
public var mentaDown:downArrow;
public var scrollBar:UIScrollBar;
public var Choice4Outline:MovieClip;
public var str:int;
public var saveGameOutline:MovieClip;
public var cockMoist:int;
public var heatMaxTime:int;
public var pheromone:int;
public var humanChildren:int;
public var wolf:int;
public var cockPump:int;
public var strDown:downArrow;
public var eggRate:int;
public var knot:Boolean;
public var Choice9Outline:MovieClip;
public var Choice1:TextField;
public var Choice2:TextField;
public var Choice3:TextField;
public var Choice5:TextField;
public var Choice6:TextField;
public var Choice7:TextField;
public var Choice8:TextField;
public var Choice9:TextField;
public var Choice4:TextField;
public var pregArray:Array;
public var lizard:int;
public var coin:int;
public var enemyID:int;
public var hips:int;
public var appearanceBox:MovieClip;
public var cockSizeMod:Number;
public var cumMod:Number;
public var lilaMilk:int;
public var region:TextField;
public var jamiePreg:int;
public var bunnionChildren:int;
public var jamiePrev:int;
public var minLust:int;
public var senDown:downArrow;
public var catAffinity:int;
public var loadGameOutline:MovieClip;
public var vulvaPump:int;
public var eStr:int;
public var Choice1Outline:MovieClip;
public var pregnancyTime:int;
public var eLust:int;
public var silTied:Boolean;
public var cat:int;
public var hair:int;
public var Choice6Outline:MovieClip;
public var humanCocks:int;
public var cockSize:int;
public var malonPreg:int;
public var rapeMod:int;
public function MainTimeline(){
super();
addFrameScript(0, frame1);
__setProp_scrollBar_Scene1_scrollBar_1();
}
public function battleWin():void{
outputMainText("You walk away from the battle the victor and to the victor goes the spoils.", true);
if (eCoin != 0){
outputMainText((("\r\rSomewhere on the passed out body (you probably don't want to know where) you find " + eCoin) + " coins."), false);
doCoin(eCoin);
};
if (eItem != 0){
outputMainText((("\r\rYou manage to obtain " + itemName(eItem)) + " from your opponent."), false);
};
if (eSexP != 0){
outputMainText((("\r\rFor your efforts, you grow in experience, gaining " + eSexP) + " SexP!"), false);
doSexP(eSexP);
};
if (eItem != 0){
itemAdd(eItem);
};
hrs = 2;
doEnd();
}
public function jamieEvent(tempInt:int):void{
if ((((jamieRep > 0)) && ((jamieRep < 9)))){
outputMainText("'U-Umm...' A meek voice speaks up from behind you as you explore the city.\r\rYou turn around to spot a familiar equan boy, Jamie. He shuffles in place, the thighs of his shorts bulging from his massive balls and a long tube of erect cock flesh bouncing up within his shirt. Best he try, he still has difficulty hiding them.\r\r'Umm... W-Would you mind helping me out again? I-I'll totally give you something for helping me. I-I'm still to shy to approach some of the girls here, I'm kinda, umm... 'big' for the ones that are my age.' He glances about with a blush.\r\rUnfortunately you explain to him that you haven't finished his event this release and he'll have to wait until next time to come again.", true);
};
doEnd();
}
public function doLoad(slot:int):void{
var so:SharedObject;
var loadArray:Array;
var itemLoadArray:Array;
var stashLoadArray:Array;
var stackLoadArray:Array;
var stashStackLoadArray:Array;
var pregLoadArray:Array;
so = SharedObject.getLocal("NiminFetishFantasy");
loadArray = [];
itemLoadArray = [];
stashLoadArray = [];
stackLoadArray = [];
stashStackLoadArray = [];
pregLoadArray = [];
if (slot == 1){
loadArray = so.data.saveGame1;
itemLoadArray = so.data.itemSave1;
stashLoadArray = so.data.stashSave1;
stackLoadArray = so.data.stackSave1;
stashStackLoadArray = so.data.stashStackSave1;
pregLoadArray = so.data.pregSave1;
};
if (slot == 2){
loadArray = so.data.saveGame2;
itemLoadArray = so.data.itemSave2;
stashLoadArray = so.data.stashSave2;
stackLoadArray = so.data.stackSave2;
stashStackLoadArray = so.data.stashStackSave2;
pregLoadArray = so.data.pregSave2;
};
if (slot == 3){
loadArray = so.data.saveGame3;
itemLoadArray = so.data.itemSave3;
stashLoadArray = so.data.stashSave3;
stackLoadArray = so.data.stackSave3;
stashStackLoadArray = so.data.stashStackSave3;
pregLoadArray = so.data.pregSave3;
};
if (slot == 5){
loadArray = so.data.saveGame5;
itemLoadArray = so.data.itemSave5;
stashLoadArray = so.data.stashSave5;
stackLoadArray = so.data.stackSave5;
stashStackLoadArray = so.data.stashStackSave5;
pregLoadArray = so.data.pregSave5;
};
if (slot == 6){
loadArray = so.data.saveGame6;
itemLoadArray = so.data.itemSave6;
stashLoadArray = so.data.stashSave6;
stackLoadArray = so.data.stackSave6;
stashStackLoadArray = so.data.stashStackSave6;
pregLoadArray = so.data.pregSave6;
};
if (slot == 7){
loadArray = so.data.saveGame7;
itemLoadArray = so.data.itemSave7;
stashLoadArray = so.data.stashSave7;
stackLoadArray = so.data.stackSave7;
stashStackLoadArray = so.data.stashStackSave7;
pregLoadArray = so.data.pregSave7;
};
if (slot == 9){
loadArray = so.data.saveGame9;
itemLoadArray = so.data.itemSave9;
stashLoadArray = so.data.stashSave9;
stackLoadArray = so.data.stackSave9;
stashStackLoadArray = so.data.stashStackSave9;
pregLoadArray = so.data.pregSave9;
};
if (slot == 10){
loadArray = so.data.saveGame10;
itemLoadArray = so.data.itemSave10;
stashLoadArray = so.data.stashSave10;
stackLoadArray = so.data.stackSave10;
stashStackLoadArray = so.data.stashStackSave10;
pregLoadArray = so.data.pregSave10;
};
if (slot == 11){
loadArray = so.data.saveGame11;
itemLoadArray = so.data.itemSave11;
stashLoadArray = so.data.stashSave11;
stackLoadArray = so.data.stackSave11;
stashStackLoadArray = so.data.stashStackSave11;
pregLoadArray = so.data.pregSave11;
};
if (!loadArray[127]){
loadArray[127] = 0;
};
trace(itemLoadArray);
currentState = loadArray[0];
currentZone = loadArray[1];
str = loadArray[2];
ment = loadArray[3];
lib = loadArray[4];
sen = loadArray[5];
HP = loadArray[6];
lust = loadArray[7];
coin = loadArray[8];
day = loadArray[9];
hour = loadArray[10];
SexP = loadArray[11];
levelUP = loadArray[12];
level = loadArray[13];
runMod = loadArray[14];
rapeMod = loadArray[15];
cumMod = loadArray[16];
cockSizeMod = loadArray[17];
milkMod = loadArray[18];
carryMod = loadArray[19];
vagBellyMod = loadArray[20];
pregChanceMod = loadArray[21];
extraPregChance = loadArray[127];
pregTimeMod = loadArray[22];
enticeMod = loadArray[23];
milkHPMod = loadArray[96];
vagSizeMod = loadArray[97];
vagElastic = loadArray[98];
changeMod = loadArray[105];
HPMod = loadArray[140];
SexPMod = loadArray[141];
minLust = loadArray[142];
gender = loadArray[24];
race = loadArray[25];
body = loadArray[26];
dominant = loadArray[27];
hips = loadArray[28];
butt = loadArray[29];
tallness = loadArray[30];
skinType = loadArray[31];
tail = loadArray[32];
ears = loadArray[33];
hair = loadArray[93];
hairColor = loadArray[94];
hairLength = loadArray[95];
cockTotal = loadArray[34];
humanCocks = loadArray[35];
horseCocks = loadArray[36];
wolfCocks = loadArray[37];
catCocks = loadArray[38];
rabbitCocks = loadArray[108];
lizardCocks = loadArray[133];
cockSize = loadArray[39];
cockMoist = loadArray[40];
balls = loadArray[41];
ballSize = loadArray[42];
showBalls = loadArray[43];
knot = loadArray[44];
breastSize = loadArray[45];
boobTotal = loadArray[46];
nippleSize = loadArray[47];
udders = loadArray[48];
udderSize = loadArray[49];
teatSize = loadArray[50];
clitSize = loadArray[51];
vagTotal = loadArray[52];
vagSize = loadArray[53];
vagMoist = loadArray[54];
vulvaSize = loadArray[55];
attireTop = loadArray[56];
attireBot = loadArray[57];
weapon = loadArray[58];
pregRate = loadArray[59];
pregnancyTime = loadArray[61];
pregStatus = loadArray[62];
eggLaying = loadArray[109];
eggMaxTime = loadArray[110];
eggTime = loadArray[111];
eggRate = loadArray[126];
exhaustion = loadArray[63];
exhaustionPenalty = loadArray[64];
milkEngorgement = loadArray[65];
milkEngorgementLevel = loadArray[66];
udderEngorgement = loadArray[67];
udderEngorgementLevel = loadArray[68];
heat = loadArray[69];
heatTime = loadArray[70];
heatMaxTime = loadArray[71];
lactation = loadArray[72];
udderLactation = loadArray[60];
nipplePlay = loadArray[73];
udderPlay = loadArray[74];
blueBalls = loadArray[75];
teatPump = loadArray[76];
nipPump = loadArray[77];
cockPump = loadArray[78];
clitPump = loadArray[79];
vulvaPump = loadArray[80];
masoPot = loadArray[90];
sMasoPot = loadArray[91];
babyFree = loadArray[92];
charmTime = loadArray[135];
pheromone = loadArray[136];
eggceleratorTime = loadArray[137];
eggceleratorDose = loadArray[138];
bodyOil = loadArray[139];
humanAffinity = loadArray[81];
horseAffinity = loadArray[82];
wolfAffinity = loadArray[83];
catAffinity = loadArray[84];
cowAffinity = loadArray[85];
lizardAffinity = loadArray[106];
rabbitAffinity = loadArray[107];
fourBoobAffinity = loadArray[143];
lilaRep = loadArray[86];
lilaVulva = loadArray[112];
lilaMilk = loadArray[113];
lilaPreg = loadArray[114];
malonRep = loadArray[87];
malonPreg = loadArray[88];
malonChildren = loadArray[89];
mistressRep = loadArray[99];
jamieRep = loadArray[115];
jamiePrev = loadArray[116];
jamiePreg = loadArray[117];
silRep = loadArray[144];
silPreg = loadArray[145];
silRate = loadArray[146];
silLay = loadArray[147];
silGrowthTime = loadArray[148];
silTied = loadArray[149];
foundSoftlik = loadArray[128];
foundFirmshaft = loadArray[129];
foundTieden = loadArray[130];
foundSizCalit = loadArray[131];
foundOviasis = loadArray[132];
knowPheromone = loadArray[150];
babyFactLevel = loadArray[100];
bodyBuildLevel = loadArray[101];
hyperHappyLevel = loadArray[102];
alchemistLevel = loadArray[103];
currentDayCare = loadArray[104];
humanChildren = loadArray[118];
equanChildren = loadArray[119];
lupanChildren = loadArray[120];
felinChildren = loadArray[121];
cowChildren = loadArray[122];
lizanChildren = loadArray[123];
lizanEggs = loadArray[134];
bunnionChildren = loadArray[124];
wolfPupChildren = loadArray[125];
i = 0;
while (i < pregLoadArray.length) {
pregArray[i] = pregLoadArray[i];
i++;
};
itemArray1 = itemLoadArray.slice(0, 13);
itemArray2 = itemLoadArray.slice(13, 26);
itemArray3 = itemLoadArray.slice(26);
stashArray1 = stashLoadArray.slice(0, 13);
stashArray2 = stashLoadArray.slice(13, 26);
stashArray3 = stashLoadArray.slice(26);
stackArray1 = stackLoadArray.slice(0, 13);
stackArray2 = stackLoadArray.slice(13, 26);
stackArray3 = stackLoadArray.slice(26);
stashStackArray1 = stashStackLoadArray.slice(0, 13);
stashStackArray2 = stashStackLoadArray.slice(13, 26);
stashStackArray3 = stashStackLoadArray.slice(26);
currentRegion.visible = true;
region.visible = true;
hideUpDown();
statPane.visible = true;
statValuePane.visible = true;
DayPane.visible = true;
DayValuePane.visible = true;
clockPane.visible = true;
levelPane.visible = true;
levelValuePane.visible = true;
stats(0, 0, 0, 0);
dayTime(0);
doSexP(0);
}
public function loadG(e:MouseEvent):void{
loadGo();
}
public function usableItem(ID:int):Boolean{
var tempBool:Boolean;
tempBool = false;
if (ID == 104){
return (true);
};
if (ID == 106){
return (true);
};
if (ID == 108){
return (true);
};
if (ID == 109){
return (true);
};
if (ID == 116){
return (true);
};
if (ID == 117){
return (true);
};
if (ID == 118){
return (true);
};
if (ID == 119){
return (true);
};
if (ID == 127){
return (true);
};
if (ID == 232){
return (true);
};
if (ID == 235){
return (true);
};
return (tempBool);
}
public function hideAmount():void{
i = 1;
while (i < 13) {
viewAmount(i, false);
i++;
};
}
public function itemName(ID:int):String{
var tempStr:String;
tempStr = ("ITEM NAME ERROR " + ID);
if (ID == 0){
tempStr = "";
};
if (ID == 1){
tempStr = "Test";
};
if (ID == 101){
tempStr = "Anc Claws";
};
if (ID == 102){
tempStr = "Imb Shoes";
};
if (ID == 103){
tempStr = "Dry Sand";
};
if (ID == 104){
tempStr = "Milker";
};
if (ID == 105){
tempStr = "Cat's Meow";
};
if (ID == 106){
tempStr = "Penis Pump";
};
if (ID == 108){
tempStr = "Blood Gge";
};
if (ID == 109){
tempStr = "Edu Egg";
};
if (ID == 110){
tempStr = "Reduction";
};
if (ID == 111){
tempStr = "Skin Balm";
};
if (ID == 112){
tempStr = "Bol Juice";
};
if (ID == 113){
tempStr = "Taint Leaf";
};
if (ID == 114){
tempStr = "Sweet Sap";
};
if (ID == 115){
tempStr = "Poultice";
};
if (ID == 116){
tempStr = "Dagger";
};
if (ID == 117){
tempStr = "Hammer";
};
if (ID == 118){
tempStr = "Saber";
};
if (ID == 119){
tempStr = "Whip";
};
if (ID == 120){
tempStr = "Neuter";
};
if (ID == 121){
tempStr = "TS Soft";
};
if (ID == 122){
tempStr = "TS Firm";
};
if (ID == 123){
tempStr = "TS Tied";
};
if (ID == 124){
tempStr = "TS Siz";
};
if (ID == 125){
tempStr = "TS Ovi";
};
if (ID == 126){
tempStr = "Oas Water";
};
if (ID == 127){
tempStr = "Tail Spike";
};
if (ID == 200){
tempStr = "Lila's Gift";
};
if (ID == 201){
tempStr = "Milk C Pois";
};
if (ID == 202){
tempStr = "Co-Snak Ven";
};
if (ID == 203){
tempStr = "Wolf Fur";
};
if (ID == 204){
tempStr = "Sm Pouch";
};
if (ID == 205){
tempStr = "Sm Pouch";
};
if (ID == 206){
tempStr = "Trinket";
};
if (ID == 207){
tempStr = "Cock Carv";
};
if (ID == 208){
tempStr = "Blo Berry";
};
if (ID == 209){
tempStr = "Grain";
};
if (ID == 210){
tempStr = "Puss Fruit";
};
if (ID == 211){
tempStr = "DairE Pill";
};
if (ID == 212){
tempStr = "Red Mush";
};
if (ID == 213){
tempStr = "Wet Cloth";
};
if (ID == 214){
tempStr = "Lon Milk";
};
if (ID == 215){
tempStr = "Lon Pendant";
};
if (ID == 216){
tempStr = "Pink Ink";
};
if (ID == 217){
tempStr = "Egg Jelly";
};
if (ID == 218){
tempStr = "Bul Berry";
};
if (ID == 219){
tempStr = "Lizan Egg";
};
if (ID == 220){
tempStr = "Blondie";
};
if (ID == 221){
tempStr = "Puss Juice";
};
if (ID == 222){
tempStr = "Kinky Carr";
};
if (ID == 223){
tempStr = "Eq Snack";
};
if (ID == 224){
tempStr = "Lila's Milk";
};
if (ID == 225){
tempStr = "Body Wash";
};
if (ID == 226){
tempStr = "Felin Tea";
};
if (ID == 227){
tempStr = "Oral Wash";
};
if (ID == 228){
tempStr = "Body Oil";
};
if (ID == 229){
tempStr = "Leath Strap";
};
if (ID == 230){
tempStr = "Eggcelerator";
};
if (ID == 231){
tempStr = "Dess Sand";
};
if (ID == 232){
tempStr = "Flying Carp";
};
if (ID == 233){
tempStr = "A-Grav Rock";
};
if (ID == 234){
tempStr = "Rein Charm";
};
if (ID == 235){
tempStr = "Fell Rod";
};
if (ID == 236){
tempStr = "Recept Bell";
};
if (ID == 500){
tempStr = "Milk Bottle";
};
if (ID == 501){
tempStr = "Milk Jug";
};
if (ID == 502){
tempStr = "Milk Barrel";
};
if (ID == 503){
tempStr = "Lust Draft";
};
if (ID == 504){
tempStr = "Rejuv Pot";
};
if (ID == 505){
tempStr = "Bad Exper";
};
if (ID == 506){
tempStr = "Exp Preg";
};
if (ID == 507){
tempStr = "Ball Sweller";
};
if (ID == 508){
tempStr = "S Lust Draft";
};
if (ID == 509){
tempStr = "S Rejuv Pot";
};
if (ID == 510){
tempStr = "S Bad Exper";
};
if (ID == 511){
tempStr = "S Exp Preg";
};
if (ID == 0x0200){
tempStr = "S Ball Sweller";
};
if (ID == 513){
tempStr = "Gen Swap";
};
if (ID == 0x0202){
tempStr = "Maso Pot";
};
if (ID == 515){
tempStr = "Black Dye";
};
if (ID == 516){
tempStr = "Baby Free";
};
if (ID == 517){
tempStr = "Pot Pot";
};
if (ID == 518){
tempStr = "S Gen Swap";
};
if (ID == 519){
tempStr = "S Maso Pot";
};
if (ID == 520){
tempStr = "Red Dye";
};
if (ID == 521){
tempStr = "S Baby Free";
};
if (ID == 522){
tempStr = "S Pot Pot";
};
if (ID == 523){
tempStr = "Cum Vial";
};
if (ID == 524){
tempStr = "Cum Bottle";
};
if (ID == 525){
tempStr = "Cum Jug";
};
if (ID == 526){
tempStr = "Cum Barrel";
};
if (ID == 527){
tempStr = "Good Egg";
};
if (ID == 528){
tempStr = "Bad Egg";
};
if (ID == 529){
tempStr = "Strange Egg";
};
if (ID == 530){
tempStr = "Charmed Egg";
};
if (ID == 531){
tempStr = "Divine Egg";
};
if (ID == 532){
tempStr = "Pheromone";
};
return (tempStr);
}
public function milkAmount(origin:int):int{
var tempNum:int;
tempNum = 0;
if (origin == 1){
if (milkEngorgementLevel == 0){
if (boobTotal == 2){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 2) * 2);
};
if (boobTotal == 4){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 2) * 4);
};
if (boobTotal == 6){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 2) * 3.5);
};
};
if (milkEngorgementLevel == 1){
if (boobTotal == 2){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 3) * 2);
};
if (boobTotal == 4){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 3) * 4);
};
if (boobTotal == 6){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 3) * 3.5);
};
};
if (milkEngorgementLevel == 2){
if (boobTotal == 2){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 4) * 2);
};
if (boobTotal == 4){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 4) * 4);
};
if (boobTotal == 6){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 4) * 3.5);
};
};
if (milkEngorgementLevel == 3){
if (boobTotal == 2){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 6) * 2);
};
if (boobTotal == 4){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 6) * 4);
};
if (boobTotal == 6){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 6) * 3.5);
};
};
if (milkEngorgementLevel > 0){
milkEngorgementLevel = 0;
boobChange(-1);
};
milkEngorgement = 0;
};
if (origin == 2){
if (udderEngorgementLevel == 0){
tempNum = (((udderSize * (udderLactation + milkMod)) * (udderLactation + milkMod)) * 4);
};
if (udderEngorgementLevel == 1){
tempNum = (((udderSize * (udderLactation + milkMod)) * (udderLactation + milkMod)) * 7);
};
if (udderEngorgementLevel == 2){
tempNum = (((udderSize * (udderLactation + milkMod)) * (udderLactation + milkMod)) * 10);
};
if (udderEngorgementLevel == 3){
tempNum = (((udderSize * (udderLactation + milkMod)) * (udderLactation + milkMod)) * 14);
};
if (udderEngorgementLevel == 1){
udderEngorgementLevel = 0;
udderChange(-1);
};
if (udderEngorgementLevel == 2){
udderEngorgementLevel = 0;
udderChange(-2);
};
if (udderEngorgementLevel > 2){
udderEngorgementLevel = 0;
udderChange(-3);
};
udderEngorgement = 0;
};
return (tempNum);
}
public function checkItem(ID:int):Boolean{
var tempBool:Boolean;
var tempInt:int;
tempBool = false;
tempInt = currentItems;
currentItems = 1;
i = 1;
while (i < 37) {
if (itemID(i) == ID){
tempBool = true;
};
if (i == 12){
currentItems = 2;
};
if (i == 24){
currentItems = 3;
};
if (i == 36){
currentItems = 1;
};
i++;
};
currentItems = tempInt;
return (tempBool);
}
public function doDesert():void{
var chance:int;
chance = percent();
if (chance <= 5){
outputMainText("You have encountered a sand witch!\r\r\r\rIt looks so tasty and full of ham, sitting on a plate on the sand in the middle of nowhere. You have no idea who could have possibly left it or if it's even worth tasting, considering who knows how long it has been sitting out in the sun like this...\r\rWill you eat it?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
chance = percent();
if (chance <= 15){
outputMainText("You munch on the sandvich, enjoying its meaty goodness, letting it fill your stomach, so moist and delicious. However, an odd gurgling inside makes you worry...", true);
fourBoobAffinity = 100;
hrs = 2;
doEnd();
} else {
if (chance <= 35){
if ((((cockTotal > 0)) && ((vagTotal < (cockTotal + 1))))){
outputMainText("You munch on the sandvich, delighting in the flappy meat on your tongue, letting it fill your stomach, so moist and delicious. However, an odd gurgling inside makes you worry...", true);
vagChange(0, ((cockTotal - vagTotal) + 1));
outputMainText((("\r\rOne more vagina than you have cock" + plural(1)) + ". Why that is will forever be a mystery...\r\rWhatever this strange lunch may have been for, it's gone now and you're left heading back with a bit more than you intended."), false);
hrs = 2;
doEnd();
} else {
outputMainText("You munch on the sandvich, delighting in the flappy meat on your tongue, letting it fill your stomach, so moist and delicious. However, an odd gurgling inside makes you worry...", true);
vagChange(0, 1);
outputMainText("\r\rMaybe you were enjoying the licking of tasty flaps of meat a little too much?...\r\rWhatever this strange lunch may have been for, it's gone now and you're left heading back with a bit more than you intended.", false);
hrs = 2;
doEnd();
};
} else {
if (chance <= 55){
outputMainText((((((((((("You nibble on the sandvich, the protein so filling. However, your chest quickly begins to feel warm, your " + nipDesc()) + " nipples standing erect and burning beneath your ") + clothesTop()) + ". Your hands quickly reach up to touch them and cup them just in time for milk to begin gushing out across the sand!\r\rThe springs of white fluid spew from your breasts, your ") + clothesTop()) + " rapidly becoming soaked while small rivers begin to form amongst the sand. You collapse to your knees, pulling ") + pullUD(1)) + " your ") + clothesTop()) + " to squeeze and pump your poor nipples as they fill the area with sustenance.\r\rWithin a few minutes, you have made several puddles around the dunes surrounding you, while your mammary glands come to a halt. You rub them gently, feeling their sensitivity arouse you a little, completely confused as to what just happened. The milking has stopped for now, but you still feel a bit... abundant nevertheless. You quickly toss your clothes back on and hurry away from the moist scene, unsure what the sandvich was possibly intended for."), true);
milkMod++;
doLust(20);
stats(0, 0, 0, (2 * boobTotal));
hrs = 3;
doEnd();
} else {
if (chance <= 75){
outputMainText("You nom the sandvich to death, feeling it make you strong!", true);
hrs = 2;
doHP(150);
doEnd();
} else {
outputMainText("You take a bit of the sandvich and... urk! You suddenly feel green in the face as you realize a sandvich sitting out in the sun with this kind of heat... wouldn't have worked out very well. Once you finish expelling the rather spoiled goods, you drudge back to town feeling a bit sick.", true);
HP = 1;
hrs = 4;
doHP(0);
doEnd();
};
};
};
};
} else {
outputMainText("Thinking it best to leave strange meats to themselves, you turn your back to the sandvich and walk away, feeling it taunting you from behind as you leave.", true);
hrs = 1;
doEnd();
};
};
} else {
if ((((((chance <= 15)) && ((currentZone == 6)))) && ((silRep == 0)))){
outputMainText("Out of the corner of your eye, you spot a fluttering flash in the distance. Turning to view it more clearly, you can see it's literally flying over the sand, just a couple feet in the air. It seems to be scanning the ground for something, muzzle moving from side to side as it goes, sniffing away at the sandy dunes. A humanoid shape wrapped in a white hooded cloak, the most you can manage to make out are some long fuzzy ears, a lizard-like tail, some slight curvature to the apparently feminine figure, and large feathery wings that flutter gracefully to keep her aloft.", true);
if ((((pheromone > 0)) && (((((((checkItem(200)) || (checkItem(215)))) || (checkItem(101)))) || (checkItem(102)))))){
outputMainText("\r\rShortly after you begin watching her, a wind picks up from behind you and heads in her direction. She pauses and sniffs at the air a few times, picking up an odd scent that seems to make her act a little funny. As she follows her nose towards its source, she sways back and forth a little, her hips twisting around as her thighs begin to rub together. She has to land on her sandle-protected paws as her wings fold inward, three finger-like talons at the ends of them awkwardly roaming about her breasts and down to her groin, functioning as hands. It seems her wings are her arms, being attached at her shoulders like a bird's.\r\rOnce she gets close enough, you can see more under her cloak. A fennec-like face matches the fuzzy ears above, which each seem to be larger than her head, and a hot blush seems to have washed across her cheeks that almost matches her auburn hair. Soft fur nearly covers her body, parted in front by the large belly-scales that plate across her chest and stomach, from her slightly elongated neck down to the tip of her tail. Supple draconic spikes peek out several inches along her spine, all the way down to the tip of her tail where they gently bend back and forth as her tail swishes from side to side anxiously. The clasp of her cloak manages to hide her otherwise naked breasts, a nice pair that matches her lithe frame, though with the way she fumbles to fondle herself she threatens to undo the clasp at any moment. Her lower bits are covered by a jeweled loin-cloth - a relatively scant outfit for the torrid weather - which seems to be... tenting as her other hand works at herself beneath.\r\rJust over 7 feet in height, she bends forward as her short muzzle follows the scent right up to you, immediately nuzzling against your body. The wing at her bosom stops playing with herself to hug around you, the fingers digging into your back tenderly as she tries to hold you close.\r\r\"You... You smell sooo good~\" A long tongue reaches out to lick up your chest, the pheromone that exudes from you enrapturing her keen senses while her tail wraps around your legs. \"I don't even think I've ever...\"\r\rHer sentence simply trails off as her hips push into you, a phallic object peaking in her loin cloth and running up your side, pre smearing along its path. You can feel a feminine attribute press against your thigh as she slowly begins to gyrate on it, her other wing also encompassing you to surround you with her vibrant feathers.", false);
outputMainText(((" She gasps again and again as she tries to speak, but her words are lost to the smothering lust. Her talons pick at your " + clothesBottom()) + ", trying to burrow her way in for a more intimate connection, but her lack of mental coherence makes the effort futile.\r\rHowever, as her nuzzling brings her muzzle closer to your pack, she begins to sniff again. Her voice wavers much less as she speaks; not undone by the lust this time, \"M-Magic?\"\r\rShe firmly presses into you as her muzzle dives into your pack for an even bigger whiff. \"Y-Yes, something neat in there...\" The sudden distraction seems to have helped her mind gain focus, able to make her think more clearly despite the thing that throbs against you. She leans back to look you directly in the eyes. Fear fills her own eyes, her normally shy and meek demeanor commanding her to flee, but even deeper beyond that you can see a lonely longing inside. Her cheeks more flushed with embarassment than arousal now, the situation already quite shameful and far out of her usual comfort zone, she takes a deep breath and ventures a chance.\r\r\"Would... Would you like to come to my home?\""), false);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText((("Her eyes light up, her muzzle rushing in to kiss you. Lips locked for a moment, her eyes spring open as she catches her eagerness early. \"Heh, sorry... Umm... Hope you like flying?\"\r\rHer tail readjusts itself for a better grip around your " + buttDesc()) + " rump. And since her winged arms will be occupied with flying, her legs wind up cradling your back as she begins to take off, positioning you much lower down her body. You get a mighty whiff of arousal as pre drools over your lips, your face mashed up against the tip of the large erection in her loin cloth... Nevertheless, she avoids humping you too much as she focuses on remaining balanced in flight, giving you a chance to twist around and watch the sand fly by below. The two of you go higher and higher, giving you a fantastic view of the desert. You spot Oviasis in the distance and can clearly see the path to your destination: a large dune about 2 hours away on foot. You wouldn't have given much attention such a dune in your usual exploration, since it looks like many many many of the others, but as you fly over to the opposite side you can make out a large jutting stone overhanging a cave.\r\rThe strange woman takes you down and lands you gently atop the sand, giving you a good view of the outside of 'her place'. A simple tunnel burrowing into the ground beneath the rock, the entrance is decorated with all sorts of crystalline chimes that softly ring out with a slight breeze. There's also some painted barriers to keep the sand out as well as a large barrel of water and towels to allow somebody to remove any sand from themselves as well. Otherwise, you can't quite tell what's in the tunnel.\r\r\"Well, umm... This is my home!\""), true);
doNext();
doListen = function ():void{
var getCum:int;
outputMainText("Her eagerness kicks in once again as she grabs your hand and pulls you along. Inside numerous torches line the walls and keep it well lit, though that doesn't help give you any idea where you're going. You pass through several forks in the tunnel, this underground network seemingly quite large, with few markings to help guide you through. Nevertheless, you quickly find yourself in what appears to be a bedroom. Various outfits glitter with jewels along one wall while another has a large bed of fluffy sheets and another leads to more tunnels. You don't exactly have time to look around though, as she pulls you right to the bed and gently pushes you onto the plush sheets.\r\rTaking the hint, you work at removing your clothes as she hastily begins to drop her own. Then undone clasp falls away with the rest of her cloak, her average-sized breasts standing perk with nipples standing beyond the soft smooth scales. Her frame is rather small, despite her height, her body being quite thin and lithe, with her lush fur masking the toned muscles underneath. Then her hands fiddle with her loin cloth for a bit, gasping when the air touches her nude genitals as the cloth falls away. Hefty testicles squirm with seed beneath a sheath that hugs around the large erection. Slick and smooth, the shaft runs straight to the rounded rim of a thick head which tapers to a point that drools with pre. And between her thighs more slick lubricant runs down her fur, a distinctly feminine aspect hidden behind the big balls.", true);
if (cockTotal > 0){
outputMainText((((((("\r\rShe crawls up your legs, licking at " + oneYour(1)) + " own ") + cockDesc()) + " phallic endowment") + plural(1)) + ", making sure it's nice and stiff. Climbing up onto the bed with you, she carefully lines up over the tip of your "), false);
if (cockMoist < 5){
outputMainText("slick", false);
} else {
if (cockMoist < 9){
outputMainText("drooling", false);
} else {
if (cockMoist < 13){
outputMainText("pre-flooding", false);
};
};
};
outputMainText(" appendage and slowly squats down onto it. The tips of her wings hold her testicles up to allow for a smooth landing upon your manhood and is prompt to let them knock against you as 'slow' just isn't going to cut it. In her pheromone induced state, the arousal having been overhwelming this whole time, she falls down onto the rod, ", false);
if ((cockSize * cockSizeMod) < 36){
outputMainText("easily engulfing your whole length", false);
} else {
if ((cockSize * cockSizeMod) < 66){
outputMainText("her pussy squeezing around your thick girth as it seems to barely manage to swallow your entire length", false);
} else {
outputMainText("her pussy seemingly having trouble taking in your massive girth, your size much greater than her hole, yet her slit stretches more and more, her hips somehow widening to take you in, and even her belly bulges with scales easily spreading to take in all your cock-flesh", false);
};
};
outputMainText(((", until her smooth scrotum finally slaps against your groin. She reaches down with her wings and her hands grab onto your " + boobDesc()) + " chest for balance as her legs begin to powerfully pump. Up and down she goes, wildly riding your bronco as it bucks inside of her in turn, her eyes looking distant as she pants and gasps, so lost with lust. Strands of pre fling about as her own stiff appendage swings about, swatting you again and again with wet splashes as it whacks against your front. You struggle a little to hold onto her thighs so you aren't sucked up into her by your cock from her voracious efforts and quite quickly you begin to feel that oh-so-familiar pressure beginning to build.\r\rWith a loud erotic vulpine howl, this strange woman shudders as she feels you spew within."), false);
getCum = cumAmount();
if (getCum < 1000){
outputMainText(" Your hot load churns about her tunnel as you spray about, not a single drop slipping from her slit as her womb drinks it in.", false);
} else {
if (getCum < 5000){
outputMainText(" Your hot load forces her belly to visibly distend as you spray within, the grand amount of spunk churning around and drowning your gushing head, yet hardly any seems to spill from her slit as her womb drinks it in, thirsty for seed.", false);
} else {
outputMainText(" Your hot load forces her belly to expand, inflating as you spray within, the massive amount of spunk audibly churning within. However, only a fraction of the stuff spews back out through her slit, as her womb seems to gulp it down as though it were desparately thirsty for seed.", false);
};
};
outputMainText(" Her own eruption begins, the bobbing cock launching thick threads of white creamy cum over your body, whipping them up and down as she continues to bounce upon you. Eventually, her legs give out from the intense orgasm and she falls forward with her wings outspread to shelter you both within her embrace, forcing your cock to bend and eventually fly out from her heated cunt to let it drizzle on the floor. She continues to spurt a bit of cum between the two of you, the smell of sex rapidly intensifying within the feather confines, her orgasm shortly diminshing as the scent overpowers your pheromones...", false);
doLust((-(sen) * 2));
silPreg = 1;
} else {
if ((((vagTotal > 0)) && ((vagLimit() > 28)))){
outputMainText((((((("\r\rShe crawls up your legs, licking at " + oneYour(2)) + " own ") + vulvaDesc()) + " slit") + plural(2)) + ", making sure it's moist and large enough to fit. Climbing up onto the bed with you, she carefully lines up the tip of her male endowment with your female honey-hole, carefully wedging the head through your supple folds. However, your warmth around her genitals is too much, the intense arousal this entire time from your pheromones getting the best of her senses. She plows into your passage, "), false);
if ((tallness / 2) < (vagSize * vagSizeMod)){
outputMainText("pushing your belly out from within, ", false);
};
outputMainText((((((("until her balls slam against your " + buttDesc()) + " rear beneath. Straddling her own scrotum to grind her hidden slit against as she moves, she begins to thrust through your tender flesh, making her moan and whine from the fantastic sensations your pussy provides. Her wings curl around to embrace you and steady herself, trapping you both within a dome made by her feathers. The heat rapidly begins to build as she pounds into you vigorously, panting and moaning as she begins to drool from the overwhelming lust.\r\rIt doesn't take long before she let's out a loud erotic vulpine howl. Hot spunk floods through your womb, gushing and churning as she presses her breasts against your ") + boobDesc()) + " chest. Her eyes clench as you climax as well, your walls chewing upon her erection and making her twitch sporadically. The hot heavy feeling of your pussy around her cock proves to be too much, forcing her to pull out to let the cooler air kiss her wet shlong as it finishes its explosion between the two of you, spitting across her scales and fur and your ") + skinDesc()) + ". The smell of sex rapidly intensifies within the feather confines, her orgasm shortly diminshing as the scent overpowers your pheromones..."), false);
doImpregnate(dominant);
} else {
if (vagTotal > 0){
outputMainText("\r\rNoticing she is far too large for you and still having the sense to not hurt you,", false);
} else {
outputMainText("\r\rNoticing a lack of any genitals to use,", false);
};
outputMainText(((" she opts to simply lay down over you, straddling one of your thighs. Her balls push to either side as her slit behind presses against your " + skinDesc()) + ", her rod pushing across your belly. Her hands reach out to hug your head while her wings raise up, trapping you both within a dome made by her feathers. The heat rapidly begins to build between you two as she begins to grind vigorously, desparate to finally climax after having been so dreadfully aroused since she first caught onto your pheromones. Moaning and gasping aginst your face, she curls her back again and again to thrust her thick cock across your groin, threads of pre "), false);
if (udders == true){
outputMainText(" smearing all over your udder.", false);
} else {
outputMainText(" trailing up and down your belly.", false);
};
outputMainText((("\r\rIt doesn't take long before she lets out a low erotic vulpine howl. Hot spunk spews up between the two of you, trapped by her wings and raining down upon you. Her thighs clamp around your leg, her clitoris pulsing upon you " + skinDesc()) + " as the backside of her testicles are flooded with fem-cum. The smell of sex intensifies within the feathered confines, her orgasm quickly diminishing as the scent overpowers your pheromones..."), false);
};
};
doNext();
doListen = function ():void{
outputMainText("This strange girl collapses on top of you, huffing and panting and ignoring the sticky mess. Her eyelids droop heavily, the expression on her face so ecstatic yet so exhausted from just the single orgasm, as though a much greater weight had finally been lifted from her, beyond that in her loins.\r\rIt takes her nearly an hour of laying on top of you, nuzzling and licking at you the whole while, before her mind finally returns to her. She blinks, as though finally realizing what just happened, and blushes heavily. Rolling off onto the bed beside you, she gasps. There's a bit of fear in her voice, as though her self-conscious self was regaining, and she turns away.\r\r\"I-I'm so sorry!,\" she spouts meekly. However, she turns back to look you in the eye, a sense of wonder and relief shining in her own. \"Th-Though... It was really nice to have some company for once.\" She smiles.", true);
if (cockTotal > 0){
outputMainText(" She then looks down at her belly and rubs it with a hand, relishing the feeling of your seed in her womb. \"That was a lot more... fulfilling than I had imagined it would be.\" A glow seems to fill her expression as she croons over it.", false);
};
outputMainText("\r\r\"Anyways, let me help clean you up, I see I've made a bit of a mess...\" Again she blushes, though this time it's more from embarassment at how much of a mess she made between the two of you rather than her shy nature. She lifts herself from the bed, her wings trying to cover her nude front in an attempt at modesty as she heads off into the tunnels to grab some towels. Her tail, on the other hand, is so happy from the experience that it lifts high, giving you a good view of her tight rump anyways. When she soon returns, she has somehow donned a new outfit in the time away, a simple robe of silken cloth that looks more suited for sleepwear than to go out into the desert in, especially with the way it hugs her curves and bulges leaving little to the imagination. Which, of course, in turn makes her blush again, her large ears turning red, as she realizes the indecency of the outfit while you stare at her. It's not something she had worn around others before and she hadn't thought about it...\r\rEventually, she helps clean up the majority of spunk from your body, rubbing your down from head to toe and trying not to focus too much on your naughty bits.\r\rOnce you're all cleaned up, she leads you back to the entrance to her den, knowing she somewhat interrupted your exploration. You note that the tunnel system seems quite extensive for just a single inhabitant, yet there is no sign of others...\r\r\"Well, umm... Thank you for coming to my place. You're welcome back any time. I... I do hope to see you again.\" She smiles awkwardly.\r\rYou give her a hug before you leave, being wrapped up in her feathers once more. And as you turn and step out from the rock overhang, she calls out for one last thing.\r\r\"Oh yeah! Hi, my name is Silandrias! What's yours?\".", false);
hrs = 5;
silRep = 1;
doEnd();
};
};
} else {
outputMainText("Your rejection falls harshly upon her, her ears pinning back against her hood and her tail swinging in between her legs. She jumps away from you, her wings flap around you as they release and snap back to cover herself. She steps backwards, her eyes peering through a couple feathers with tears welling up as she hides behind them, and she gulps to speak, \"Oh... I-I'm so sorry for what happened then!\"\r\rHer sandles kick up the sand as she turns to run away and after a few yards her wings unfurl for a speedier retreat.\r\r\rUnsure of who this stranger was or what exactly happened, it's the last you've seen of her.", true);
silRep = -1;
hrs = 2;
doEnd();
};
};
} else {
if (pheromone > 0){
outputMainText("\r\rShortly after you begin watching her, a wind picks up from behind you and heads in her direction. She pauses and sniffs at the air a few times, picking up an odd scent that seems to make her act a little funny. As she follows her nose towards its source, she sways back and forth a little, her hips twisting around as her thighs begin to rub together. She has to land on her sandle-protected paws as her wings fold inward, three finger-like talons at the ends of them awkwardly roaming about her breasts and down to her groin, functioning as hands. It seems her wings are her arms, being attached at her shoulders like a bird's.\r\rOnce she gets close enough, you can see more under her cloak. A fennec-like face matches the fuzzy ears above, which each seem to be larger than her head, and a hot blush seems to have washed across her cheek that almost matches her auburn hair. Soft fur nearly covers her body, parted in front by the large belly-scales that plate across her chest and stomach, from her slightly elongated neck down to the tip of her tail. Supple draconic spikes peek out several inches along her spine, all the way down to the tip of her tail where they gently bend back and forth as her tail swishes from side to side anxiously. The clasp of her cloak manages to hide her otherwise naked breasts, a nice pair that matches her lithe frame, though with the way she fumbles to fondle herself she threatens to undo the clasp at any moment. Her lower bits are covered by a jeweled loin-cloth - a relatively scant outfit for the torrid weather - which seems to be... tenting as her other hand works at herself beneath.\r\rJust over 7 feet in height, she bends forward as her short muzzle follows the scent right up to you, immediately nuzzling against your body. The wing at her bosom stops playing with herself to hug around you, the fingers digging into your back tenderly as she tries to hold you close.\r\r\"You... You smell sooo good~\" A long tongue reaches out to lick up your chest, the pheromone that exudes from you enrapturing her keen senses while her tail wraps around your legs. \"I don't even think I've ever...\"\r\rHer sentence simply trails off as her hips push into you, a phallic object peaking in her loin cloth and running up your side, pre smearing along its path. You can feel a feminine attribute press against your thigh as she slowly begins to gyrate on it, her other wing also encompassing you to surround you with her vibrant feathers.", false);
outputMainText(((" She gasps again and again as she tries to speak, but her words are lost to the smothering lust. Her talons pick at your " + clothesBottom()) + ", trying to burrow her way in for a more intimate connection, but her lack of mental coherence makes the effort futile.\r\rYou can begin to see tears well up in her eyes from her failing efforts, her hips grinding so harshly in desperation that you can feel the hard erection throb in preparation for an unrequited premature explosion. She whines and whimpers meekly as she begins to twitch."), false);
doNext();
doListen = function ():void{
outputMainText("Wads of white spunk spew through this strange woman's loin cloth. It smatters across your body and paints her thighs as much runs down the inside of the cloth. Plenty of it washes up through her cleavage, finally undoing the clasp with the slick lubrication and making her nipples shine with the moisture as they're freed. She coos and shudders for a few more moments, the cum running out as it continues to pump, her other genitals making a mess upon your leg. Her head hangs low as she tries to regain her breathing, her mind slowly returning.\r\rThe smell of her own naughtiness fills her nose. Realizing what she had just dowe, she looks up at you with eyes wide in fear. Stricken with embarassment, her normally shy demeanor takes charge as she jumps back from you, her wings flapping around you as they let go and snap back around herself to cover the mess she's made of herself.\r\r\"I-I'm so sorry!\" She turns away and begins to run across the sand, her tail slinking between her legs. Just a few yards away, she kicks up into the air, her wings unfurling and taking her to the air for a speedier retreat. Wads of gooey stuff spills across the desert where she takes off, with more being flung around by the flapping of her wings, leaving a short trail before she disappears into the distance.\r\r\rLeft alone and covered in a stranger's lewd fluids, you're not quite sure how to react... You wipe some of it off, but the hot air quickly takes care of the rest. A little dazed, you turn and head back to town for now.", true);
doLust(Math.floor((lib - (ment / 5))));
hrs = 2;
doEnd();
};
} else {
if (((((((checkItem(200)) || (checkItem(215)))) || (checkItem(101)))) || (checkItem(102)))){
outputMainText("\r\rShortly after you begin watching her, a wind picks up from behind you and heads in her direction. She pauses and sniffs at the air a few times, picking up a scent and slowly moving towards you as she uses her nose to follow it, not yet noticing your actual presence just yet.\r\rAs she moves closer, you can see more under her robe. A fennec-like face matches the fuzzy ears above, which each seem to be larger than her head, and long auburn hair. Soft fur nearly covers her body, parted down her front by the large belly-scales that plate across her chest and stomach, from her slightly elongated neck down to the tip of her tail. Supple draconic spikes peek out several inches along her spine, all the way down to the tip of her tail where they gently bend back and forth as her tail swishes from side to side anxiously. Her wings and arms are one in the same, each tipped with three finger-like talons that make up her hands. The clasp of her cloak manages to hide her otherwise naked breasts, a nice pair that matches her lithe frame, while her lower bits are covered by a jeweled loin-cloth - a relatively scant outfit for the torrid weather.\r\rAnd as she finally closes in on you, her paw-like feet touch down on the sand, little sandles protecting them from being burned. Just over 7 feet in height, she ducks down as her short muzzle continues to sniff about. She sniffs right up your legs and at your pack, quietly speaking to herself in a feminine voice.\r\r\"Ooo, definitely some magic emanating from here. I wonder what it could be? Crafted? Naturally imbued? A weapon? Or maybe a charm? It's been a few weeks since I've found anything neat around here to add to my collection, I can't wait to see it!\" Her fingers dig into your pack and start to shuffle around for the magical goody, but slowly comes to a stop as she looks up. It wasn't until now that she realizes that it has been attached to a person this whole time - you. She hops back with a blush, her head ducking between her shoulders with embarrassment. \"Oh dear, I'm so sorry! I-I was just hunting for magical treasures!...\" Her toes burrow awkwardly in the sand as she stands there. \"Umm... Bye!\"\r\rAs quickly as she appeared, she turns and dashes off upon her wings,", false);
outputMainText(" her shyness getting the best off her.\r\rNot quite sure what just happened, you turn and head back for now.", false);
hrs = 2;
doEnd();
} else {
outputMainText("\r\rNot long after you begin staring at her, she catches you out of the corner of her eye as well. She looks at you for only a moment, realizing you're gawking at her, and comes to an abrupt halt, her chest bouncing from the stop. Meekly, she slowly flits backwards and then flies up over a dune, shyly avoiding your presence as she disappears.\r\rWith no sign of her anymore, you shrug and move along.", false);
hrs = 1;
doEnd();
};
};
};
} else {
if (chance <= 40){
outputMainText("Walking across the hot sand, you hear wind picking up nearby. Afraid it may be a sandstorm, you begin to rush for cover behind a dune but come to a halt as you spot a column of whirling sand coming towards you. No matter which way you run, the dust devil matches your movements, as though it had a sort of intelligence. Any plants it touches in its path are quickly sucked dry, left as shriveled shrunken husks. A dessicating dust devil, this sentient creature seeks out warm moisture to continue its life, even if it means sucking it from the living. And it seems to have you in its sights.", true);
doNext();
doListen = function ():void{
enemyID = 102;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
} else {
if (chance <= 65){
outputMainText("While roaming about the desert, a sudden sandstorm kicks up around you, greatly obscuring your view. Maybe you should turn back and head out of the desert before you get lost. Would you like to press on?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (currentZone == 6){
if (percent() <= 50){
outputMainText("You put your shoulder to the wind and press on, having no idea where you're going as your path is completely hidden by the blowing sand. Eventually, however, you break through the desert to large fields of swaying grass, free from the storm, and signs of civilization come into view. Large tents flutter in the breeze, made from canvas held up by rocks and logs, with a few smaller brick buildings here and there. You can hear the soft clapping of hard feet everywhere, as you spot several large horse-like people walk and dash about.\r\rYou have now entered the Equan home-city of Firmshaft! Although, looking behind you, there seems to be no sign of the path you just took. Getting back might be a bit difficult...", true);
regionChange(2);
if (foundFirmshaft == false){
foundFirmshaft = true;
};
hrs = 4;
doEnd();
} else {
outputMainText("You put your shoulder to the wind and press on, having no idea where you're going as your path is completely hidden by the blowing sand. Eventually, however, you break through the desert into a dense vegetation with trees surrounding you, protecting you from the storm. You begin to see various wooden structures built amongst the canopy as you continue. Rope-bridges and circular huts everywhere, with lithe cat-like people walking about or jumping from branch to branch. The path leads you right to one of the few spiraling ramps that encircles the trees, bringing you up to the tree-born city.\r\rYou have now entered the Felin home-city of Siz'Calit! Although, looking behind you, there seems to be no sign of the path you just took. Getting back might be a bit difficult...", true);
regionChange(4);
if (foundSizCalit == false){
foundSizCalit = true;
};
hrs = 4;
doEnd();
};
} else {
if ((((currentZone == 2)) || ((currentZone == 4)))){
outputMainText("You put your shoulder to the wind and press on, having no idea where you're going as your path is completely hidden by the blowing sand. Eventually, however, you break through into an area sheltered from the wind by large rock formations. As you blink and brush the sand from your eyes, you're left in awe by the paradise before you.\r\rAn oasis somewhere within the desert, hidden within a ring of tall rock formations and mountains, you can see the water sparkle from here and the palm trees sway lazily around it. And all along the rocks, built into caves and sprawled across the beaches, reptillian people have made there home here, relaxing and enjoying their gorgeous habitat.\r\rYou have now entered the Lizan home-city of Oviasis! Though thanks to the storm you have no idea how you got here or how to get back...", true);
regionChange(6);
if (foundOviasis == false){
foundOviasis = true;
};
hrs = 4;
doEnd();
};
};
} else {
outputMainText("You return from whence you came, avoiding any unwanted sand in your cracks.", true);
hrs = 1;
doEnd();
};
};
} else {
if ((((hour > 8)) && ((hour <= 20)))){
outputMainText("The hot sun beating down upon the arid sand is nearly stifling.", true);
if (skinType == 3){
outputMainText(" However, your scaley exterior was made to protect you from such circumstances, conserving your moisture and reflecting much of the rays to prevent you from getting too hot.", false);
} else {
if (bodyOil > 0){
outputMainText(" However, the oil that covers your body reflects most of the bad rays and helps retain some of your moisture, preventing you from becoming too hot.", false);
} else {
if (((((lactation + milkMod) > 3)) && ((milkEngorgementLevel > 2)))){
outputMainText(" However, the leaking of your breasts provides you with a steady supply of excess milk to sip as you explore, preventing you from becoming dehydrated.", false);
} else {
if (((((udderLactation + milkMod) > 3)) && ((udderEngorgementLevel > 2)))){
outputMainText(" However, the leaking of your udder provides you with a steady supply of excess milk to sip as you explore, preventing you from becoming dehydrated.", false);
} else {
if ((((((((cockMoist > 3)) && ((lust > 75)))) || ((((cockMoist > 6)) && ((lust > 50)))))) || ((((cockMoist > 9)) && ((lust > 25)))))){
outputMainText(((((" However, you cup your hands over the tip" + plural(1)) + " of your slime-dripping cock") + plural(1)) + " so you can gulp down some of the thick liquid, replenishing some of your water to prevent dehydration."), false);
} else {
if ((((((((vagMoist > 3)) && ((lust > 75)))) || ((((vagMoist > 6)) && ((lust > 50)))))) || ((((vagMoist > 9)) && ((lust > 25)))))){
outputMainText(((" However, you cup your hands over your slime-dripping " + vulvaDesc()) + " vulva so you can gulp down some of the thick liquid, replenishing some of your water to prevent dehydration."), false);
} else {
outputMainText(" So much so that you wind up with a touch of heat exhaustion, making you tired and aching.", false);
exhaustion = (exhaustion + 5);
stats(0, 0, -1, 0);
doHP(-(Math.floor(((30 + (15 * level)) / 4))));
};
};
};
};
};
};
hrs = 2;
doEnd();
} else {
outputMainText("The desert night with the dry air is bitterly cold.", true);
if (skinType == 2){
outputMainText(" However, your coat of fur helps insulate you, keeping you plenty warm.", false);
} else {
if (attireTop == 6){
outputMainText(" However, the latex suit you wear helps insulate you, keeping you plenty warm.", false);
} else {
if ((((breastSize > 25)) || ((((boobTotal > 2)) && ((breastSize > 17)))))){
outputMainText(" However, your masses of plentiful breast-flesh provides enough warmth to not freeze.", false);
} else {
if (pregnancyTime > 200){
outputMainText(((" However, the " + bellyDesc()) + " belly you wield and the life within emanates so much heat to stave off freezing."), false);
} else {
if (((((cockSize * cockSizeMod) > 60)) || (((((cockSize * cockSizeMod) > 45)) && ((cockTotal > 2)))))){
outputMainText(((((" However, you hold close your " + cockDesc()) + " appendage") + plural(1)) + ", providing you with enough warmth to not freeze"), false);
} else {
outputMainText(" So cold that you nearly freeze, causing some damage and weakening you.", false);
stats(-1, 0, 0, 0);
doHP(-(Math.floor(((30 + (15 * level)) / 3.5))));
};
};
};
};
};
hrs = 2;
doEnd();
};
};
};
};
};
}
public function doForest():void{
var chance:int;
chance = percent();
if (chance <= 25){
outputMainText("Walking through the forest, you begin to hear footsteps mix with your own... As you pause to listen in, a creature jumps out before you! A lone wolf, it growls, ready to attack. And judging by the red rod that bobs beneath its belly, it's probably male, and probably frustrated after some failed encounter with a female...", true);
doNext();
doListen = function ():void{
enemyID = 201;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
if ((((chance > 25)) && ((chance <= 50)))){
outputMainText("You hear a hiss from behind a tree. Stopping cautiously, you manage to avoid stepping on a particularly dangerous snake. The cock-snake. Aptly named due to its head looking much like the glans of a human cock, this breed of snake is also known to devour that of the same... And if its opponent doesn't have one, they soon will.", true);
doNext();
doListen = function ():void{
currentState = 2;
enemyID = 101;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
if ((((chance > 50)) && ((chance <= 75)))){
outputMainText("You hear ominous swishing through the trees around you...", true);
if (percent() < (10 + runMod)){
outputMainText("\r\rYet you manage to run off before anything can catch you.", false);
hrs = 1;
doEnd();
} else {
if (breastSize < 6){
outputMainText("\r\rPeach-colored tentacles lash out at you from the tree-branches above, catching you by surprise. They flail around your chest, feeling about and scratching it roughly.\r\rHowever, the tentacles seem to be uninterested and disappear as quick as they came, leaving you with a rather hurtful chest and wasted time.", false);
doHP(-(Math.floor(((percent() / 10) + 2))));
hrs = 1;
doEnd();
} else {
if ((((lactation > 3)) || ((((boobTotal > 2)) && ((lactation > 2)))))){
outputMainText((("\r\rA mass of peach-colored tentacles falls from the tree-branches above. Some of the tentacles waver out towards you, mostly aiming at your " + boobDesc()) + " chest. They seem rather non-threatening, however, as the mass rolls back and forth on the forest floor, almost as though it were a stumbling drunk.\r\rDo you allow the tentacles to come closer?"), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText((("Cautiously standing still, you wait as the tentacles come right up to your breasts. They caress your " + nipDesc()) + " nipples, seemingly able to smell the milk within your breasts, and they wiggle even more like a drunk... It seems as though the creature smelled your large amount of milk production as you approached and became intoxicated by it.\r\r\rDo you let the creature indulge itself?"), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText((((((((("You pull your " + clothesTop()) + " ") + pullUD(1)) + ", letting your ") + boobDesc()) + " chest bob out, practically inviting it to partake of your motherly liquid. Not to forsake such an opportunity, the tentacled mass rolls up to you, the tentacles squirming about your ") + nipDesc()) + " nipples until they stand hard and erect. Yet, the tentacles pull away, caressing and hugging your body as the main mass comes right up to you.\r\rThe mass of tentacles part, revealing a feminine face, slender and beautiful, with eyes closed. The tentacles dance atop her head, seemingly replacing her hair. Looking down, you can see more of her lithe body, thin with milky skin. Two breasts, barely handfuls, wobble upon her chest as tentacles, particularly thinner than the rest, dance about where her nipples would be. Overall, she seems quite short, maybe 4 feet tall at most, while the mass of tentacles could easily reach 6 feet in height."), true);
doNext();
doListen = function ():void{
outputMainText((((((("The fair face moves up to one of your " + boobDesc()) + " breasts, the little mouth yawning wide to fit one of your ") + nipDesc()) + " nipples. She latches on the best she can, suckling intently from your chest. You let out a gasp as her expert suckling makes your body grow warm, a delightful tingling sensation making you quiver. Milk gushes from your tits as she gulps it down. Tentacles much thicker than the rest droop from her hair, their tips opening into soft maws that suckle from and kiss the ") + skinDesc()) + " of your breasts, leaving none unattended. It doesn't take long before you body is wracked by an intense boobgasm..."), true);
doNext();
doListen = function ():void{
outputMainText((("Gasping for air as you come down from your climax, the feminine face and all the tentacles collapse, leaving hardly any milk still dribbling from your " + nipDesc()) + " nipples. Checking the creature, she seems to have passed out in a drunken slumber. Her face seems content, with a small smile, her tentacles writhing lazily about her. Two tentacles in particular look surprisingly active, though. Her small breasts jiggle about as their tentacle-nipples stiffen and soften. They shiver as you run your hands along them, several feet long before you reach their tips. Short, narrow needles protrude from the tips of these tentacle-nipples and they dribble some pearlescant fluid excessivly. You take an empty vial from your bag and gather some of the fluid before heading on your way..."), true);
doSexP(20);
nipplePlay = (nipplePlay + 7);
doLust(-(Math.floor(((percent() / 10) + ((breastSize * sen) / 10)))));
milkAmount(1);
itemAdd(201);
hrs = 2;
doEnd();
};
};
};
if (buttonChoice == 7){
outputMainText("You take the opportunity to run from the tentacles before the creature can come to its senses, easily avoiding it.", true);
doSexP(7);
hrs = 1;
doEnd();
};
};
};
if (buttonChoice == 7){
outputMainText("You take the opportunity to run from the tentacles before the creature can come to its senses, easily avoiding it.", true);
doSexP(4);
hrs = 1;
doEnd();
};
};
} else {
outputMainText((((((((((("\r\rPeach-colored tentacles lash out at you from the tree-branches above, catching you by surprise. They flail around your " + boobDesc()) + " chest, feeling about and scratching it roughly. They pull back for a moment, but before you can recoup from your confused stupor, even more come flying out from the trees, this time whipping around your wrists and ankles.\r\rStruggle as you may, you can't seem to wrench yourself free. You can only watch in fear as more tentacles pull your ") + clothesTop()) + " away and roam about your ") + boobDesc()) + " breasts. They poke and tease at your ") + nipDesc()) + " nipples, causing them to stand hard and erect. Then, short narrow needles draw out of two particularly thinner tentacles. They drip with some sort of pearlescant fluid and they plunge gently into each of your ") + boobTotal) + " fleshy masses..."), false);
doNext();
doListen = function ():void{
boobChange(1);
outputMainText((((("A sudden feeling of warmth overcomes you. Your breasts feel especially hot, heaving with your breath. Staring intently, you even notice them grow slightly in size.\r\rA moment later, your head jerks back as an intense feeling of fullness and swelling engulfs your sensitive tits. You recoil just in time to see streams of white liquid spew from your throbbing, " + nipDesc()) + " nipples. Milk continues to gush for a while, as more tentacles come close. These are much thicker than the ones with needles and their tips open into wet, soft maws. Each one latches onto your lactating breasts and begin to suckle...\r\rYou feel slightly light-headed from the fuzzy warmth that engulfs you, the pleasurable slurping of the hungry tentacles sucking you dry. Eventually, the tantalizing efforts make your body quiver, wracked by a strong orgasm... from your ") + boobDesc()) + " breasts."), true);
doNext();
doListen = function ():void{
outputMainText((((("A minute later, the tentacles retract from whence they came, leaving you to collapse to your knees. Your breasts still feel larger than before, especially when you put your " + clothesTop()) + " back into place. Wet blotches seep across the fabric, your ") + nipDesc()) + " nipples still dribbling with milk..."), true);
lactChange(1, 1);
milkAmount(1);
nipplePlay = (nipplePlay + 6);
doSexP(10);
doLust(-(Math.floor(((percent() / 20) + ((breastSize * sen) / 10)))));
doHP(-(Math.floor((percent() / 10))));
hrs = 2;
doEnd();
};
};
};
};
};
};
if (chance > 75){
outputMainText("After a few hours of being lost and randomly wandering through the maze of trees, you come across a path. Would you like to follow it?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (currentZone == 1){
outputMainText("Following the path, the trees grow slightly sparser as you come upon a large clearing. Most of the clearing has been walled off by tree-trunks lashed together with rope. You hear some vicious growls, but also plenty of coherent speech, echoing from behind the wall. A whole bustling city. The path you followed brings you right to the front gates, where furry wolf-like guards kindly greet you and allow you to pass.\r\rYou have now entered the Lupan home-city of Tieden! Although, looking behind you, there seems to be no sign of the path you just took. Getting back might be a bit difficult...", true);
regionChange(3);
if (foundTieden == false){
foundTieden = true;
};
hrs = 4;
doEnd();
} else {
if (currentZone == 3){
outputMainText("Following the path, the trees grow much sparser opening up to rolling hills. Not far, you see tall buildings of wood and stone, with open streets of dirt and pebbles, nestled between the hills. Fur-less people move all about, busy doing odd jobs or having fun.\r\rYou have found the Human home-city of Softlik! Although, looking behind you, there seems to be no sign of the path you just took. Getting back might be a bit difficult...", true);
regionChange(1);
if (foundSoftlik == false){
foundSoftlik = true;
};
hrs = 4;
doEnd();
};
};
} else {
outputMainText("You return from whence you came.", true);
hrs = 1;
doEnd();
};
};
};
}
public function itemAdd(ID:int):void{
itemGainArray.push(ID);
}
public function doSizCalit():void{
var chance:int;
var getMilk:int;
chance = percent();
if ((((chance <= 20)) || ((((lilaRep > 3)) && ((chance <= 35)))))){
trace(((("lila rep " + lilaRep) + ", lilapreg ") + lilaPreg));
if (lilaPreg > 100){
outputMainText("'Hewwo~!' Little Lila greets you cheerfully as she spots you, running up to latch onto your waist.", true);
if (lilaMilk == 0){
outputMainText(" Her sundress seems fine and dry until she gets excited by your presence, with small blotches beginning to darken around her many nipples.", false);
} else {
if (lilaMilk <= 2){
outputMainText(" Small blotches already adorn her sundress, with dark trails running down beneath as she becomes excited by your presence. Warm drops splash across your feet as she connects, milk dripping from her hem-line.", false);
} else {
if (lilaMilk <= 5){
outputMainText(" Trails of milk blotch their way down her sundress, dripping across the wood of the felin 'street' as she runs, her nipples forming peaks in the fabric.", false);
} else {
if (lilaMilk <= 8){
outputMainText(" Drops of milk visibly form outside of her sundress as it soaks through, her puffy stiff nipples showing through the mildly-translucent wet fabric. You can see further beyond that a few of her friends had been following her, a couple with white mustaches. Though as she squeezes against you with the embrace, you can feel more warm moistness spray out about your legs.", false);
} else {
if (lilaMilk <= 12){
outputMainText(" She seems to have left behind a group of friends, some with white mustaches. There's a slight extra bounce to her sundress as her swollen areoles and perk engorged nipples bulge through the fabric, almost completely visible with its wetness. As she squeezes you, you feel plenty more warm moistness drizzle down about your legs.", false);
} else {
if (lilaMilk <= 18){
outputMainText(" She seems especially happy to see you, escaping from her group of thirsty friends. Her breasts form small mounds in her sundress simply from their engorgement, her puffy nipples sticking out even further, clearly visible through the wet fabric. A hand squishes a couple in her grip before she reaches you, forcing spurts of milk through the dress with a blush of pleasure on her face. When she finally hugs you, she squeezes even more to relieve some of the milk out across your legs and forming a puddle beneath you.", false);
} else {
if (lilaMilk <= 19){
outputMainText(((" Though you can hardly call it 'running'; more like a fast paced walk as she's careful to reduce the bouncing of her many heavily engorged and swollen breasts. Even the slightest jounce of her sundress across her extremely noticeable nipples - the fabric translucent and clingy from its wetness - causes her to gasp and a spurt of milk to shoot out. A hand roams about, trying to attend to them all with even more streams gushing. She even seems quite popular, drawing the eyes and smiles of many nearby felins as they consider how tasty she must be. And as she squeezes you, you hear another meek moan escape her lips as your " + clothesBottom()) + " becomes drenched with her milk."), false);
};
};
};
};
};
};
};
if (lilaVulva == 0){
outputMainText(" A blotch also formed between her legs on the way over, her developing vulva growing a little wet in anticipation.", false);
} else {
if (lilaVulva <= 2){
outputMainText(" And her hips seemed to sway a bit more as she ran, trying to account for her thicker vulva. A blotch quickly formed over it just from the squeezing sensation and she sighs as she leans into you now.", false);
} else {
if (lilaVulva <= 5){
outputMainText(" And her tail twitched spastically behind her as she ran, her knees bending inward. You can tell her thighs were squishing her enlarged vulva, a blotch forming on her dress and drooling down to the hem by the time she reached you. She sighs lazily when as she leans into you now, her body calming a little with the halted rubbing.", false);
} else {
if (lilaVulva <= 8){
outputMainText(((" However, she also seemed to run with a firm grasp on her groin. Bigger than her hand, she moaned and gasped with each step as she approached you. Her vulva has gotten so big that she's afraid it'll fall off; it feels so obvious between her thighs. When she finally leans into you now, her hand is covered from the slime that seeped through her dress and smears over your " + clothesBottom()) + " as she grapples you."), false);
} else {
if (lilaVulva <= 12){
outputMainText(" And her legs spread out further as she ran, unable to squeeze together with the mass of sensitive flesh between her thighs. The large lips kiss and pluck at her dress, slightly visible through the fabric from the honey that drools around. When she comes to a halt against you, you can see webs of slickness stretched between her ankles with more drooling down her feet, all in her eagerness to get to you.", false);
} else {
if (lilaVulva <= 18){
outputMainText(((" And she ran especially bow-legged as well, thanks to the mound between her legs that both spreads her knees apart and presses against her dress. Some of the fabric seems to wedge into her folds, her slit nearly clearly visible through the lubrication-drenched fabric, her large clit protruding even further. She stopped every few feet on the way over to pull it out; a futile effort that was quickly negated a few feet later. As she embraces you, leaning into your body, her large vulva clasps around one of your legs, and for a short moment she gasps as she rides you up and down, her clit grinding into your " + skinDesc()) + "."), false);
} else {
if (lilaVulva <= 19){
outputMainText(" She also ran hunched forward, her nipples pointing more towards the walkway than at you and pushed out even further by her swollen tummy, thanks to the massive amount of flesh between her legs. When standing still, her labia hang just past the hem of her dress, the dangling inner lips nearly dragging over the wood, the whole mound outlined by the dress that lay on top of it and tenting forward as her clit grows at the sight of you. So she wouldn't kick it, she needed to lean down to wedge her large vulva back between her legs to keep it out of the way. Which resulted in the eyes of many felins going wide as her mound pushed up her dress, exposing her dribbling meaty lips and large clit to all that were behind her. As she leans against you now, her sensitive genitalia rest upon your foot, honey drowning it and trailing all the way back down the path she went. She pants a little, her long thick clit rubbing up and down your shin as she slowly, unintentionally, humps you.", false);
};
};
};
};
};
};
};
outputMainText("\r\r", false);
if (tallness <= 42){
outputMainText(" Smaller than her, she winds up lifting you into the air.", false);
};
outputMainText(" She looks up at you with bright smile. 'Would yew like to do anything today?'", false);
outputMainText(" Her face practically glows as stands there, her belly swollen with offspring and pushing her milky nipples out even further. It pushes between your own legs as she tries to hold you close, making her squeak as a baby kicks your leg from inside. If you weren't there to stop her, she would have probably fallen forward from the round thing, since it's almost larger than she is.\r\rHowever, she squeaks again as the babies seem to kick some more. Then you feel a flood of liquid splash around you feet, and it isn't her usual fluids...", false);
doNext();
doListen = function ():void{
outputMainText("Lila quickly begins to groan and howl as she lets go of you, her eyes clenching in pain as she goes into labor. Looking all around, you call out for help, leaving some passerbys to run for the girl's mother. You then settle her down onto the wooden path, making sure she sits with her legs spread. You dive under her dress and prepare for the oncoming babies.", true);
if (lilaMilk <= 5){
outputMainText(" A bit of milk drips down around her passage as her belly pushes at her lower pair of breasts.", false);
} else {
if (lilaMilk <= 12){
outputMainText(" Milk dribbles down from her breasts and obscures your view of her passage a bit, though you can still see well enough to not have any difficulty.", false);
} else {
if (lilaMilk <= 19){
outputMainText(" Milk spills like waterfalls over her passage as she hugs her belly in preparation, forcing you to tuck her dress in the way to soak up and divert what it can so you can see.", false);
};
};
};
if (lilaVulva <= 5){
outputMainText(" Her slit spreads wide as she lets out a yowl, though thankfully the crowning head is relatively small and doesn't stretch her too terribly. You grab what you can as she pushes instinctively, her small body handling this amount of stress easily.", false);
} else {
if (lilaVulva <= 12){
outputMainText(" Her slit spreads a little as she lets out a mewl, her large nethers and ample lubrication letting the crowning head slip out while hardly stretching her. You can even reach in and grab the child slightly as she pushes, helping her get it out with relatively little stress for the small mother.", false);
} else {
if (lilaVulva <= 19){
outputMainText(" You actively reach inside her slit to spread her wide enough for the child to slip out easily, making her gasp surprisingly erotically. Her clit stands obscenely, one of her hands stroking it gently as though it ached more than the rest of her. With all of the lubrication she supplies, the baby easily slips through her passage, so quickly that you practically have to catch it before it flies out.", false);
};
};
};
outputMainText((("\r\rThat's only the first as baby after baby pushes from her womb. All tiny felin kittens, you collect them up in your " + clothesTop()) + " as they softly mew their first breaths. Once finally empty, Lila heaves for breath, exhausted. You move around to support her from behind, cradling her in your arms, as she cradles her newborns in her own, pulling up her dress further to let them suckle.\r\rShe snuggles into your embrace and kisses your cheek. 'Now I'm the mommy and you're the daddy.' She giggles a little."), false);
doNext();
doListen = function ():void{
outputMainText("Lila's mother shortly shows up in tears, happy to see her daughter is alright and her grandchildren doing quite well. You all eventually move back to their home, where they have already set up preparations for the newborns. Nice fluffy bedding right next to the larger bed in their bedroom.\r\rStaying the night, you make sure everything is well. Lila is quickly walking around again, despite her recent birth, but also quickly collapses onto the bed with a snore. Her mother assures you the babies will be alright and they'll be well taken care of, allowing you to cuddle up beside her daughter to rest as well.\r\rBy the next day, everything is perfectly fine. The babies are in quite good hands with their well experience grandmother and their loving mother. Your only concern, however, is how Lila began to grind up against you when she began to wake up...", true);
hrs = 24;
exhaustion = -24;
stats(0, 1, 0, 0);
doSexP(75);
lilaPreg = -1;
doEnd();
};
};
} else {
if (lilaRep == 5){
outputMainText("'Hewwo~!' Little Lila greets you cheerfully as she spots you, running up to latch onto your waist.", true);
if (lilaMilk == 0){
outputMainText(" Her sundress seems fine and dry until she gets excited by your presence, with small blotches beginning to darken around her many nipples.", false);
} else {
if (lilaMilk <= 2){
outputMainText(" Small blotches already adorn her sundress, with dark trails running down beneath as she becomes excited by your presence. Warm drops splash across your feet as she connects, milk dripping from her hem-line.", false);
} else {
if (lilaMilk <= 5){
outputMainText(" Trails of milk blotch their way down her sundress, dripping across the wood of the felin 'street' as she runs, her nipples forming peaks in the fabric.", false);
} else {
if (lilaMilk <= 8){
outputMainText(" Drops of milk visibly form outside of her sundress as it soaks through, her puffy stiff nipples showing through the mildly-translucent wet fabric. You can see further beyond that a few of her friends had been following her, a couple with white mustaches. Though as she squeezes against you with the embrace, you can feel more warm moistness spray out about your legs.", false);
} else {
if (lilaMilk <= 12){
outputMainText(" She seems to have left behind a group of friends, some with white mustaches. There's a slight extra bounce to her sundress as her swollen areoles and perk engorged nipples bulge through the fabric, almost completely visible with its wetness. As she squeezes you, you feel plenty more warm moistness drizzle down about your legs.", false);
} else {
if (lilaMilk <= 18){
outputMainText(" She seems especially happy to see you, escaping from her group of thirsty friends. Her breasts form small mounds in her sundress simply from their engorgement, her puffy nipples sticking out even further, clearly visible through the wet fabric. A hand squishes a couple in her grip before she reaches you, forcing spurts of milk through the dress with a blush of pleasure on her face. When she finally hugs you, she squeezes even more to relieve some of the milk out across your legs and forming a puddle beneath you.", false);
} else {
if (lilaMilk <= 19){
outputMainText(((" Though you can hardly call it 'running'; more like a fast paced walk as she's careful to reduce the bouncing of her many heavily engorged and swollen breasts. Even the slightest jounce of her sundress across her extremely noticeable nipples - the fabric translucent and clingy from its wetness - causes her to gasp and a spurt of milk to shoot out. A hand roams about, trying to attend to them all with even more streams gushing. She even seems quite popular, drawing the eyes and smiles of many nearby felins as they consider how tasty she must be. And as she squeezes you, you hear another meek moan escape her lips as your " + clothesBottom()) + " becomes drenched with her milk."), false);
};
};
};
};
};
};
};
if (lilaVulva == 0){
outputMainText(" A blotch also formed between her legs on the way over, her developing vulva growing a little wet in anticipation.", false);
} else {
if (lilaVulva <= 2){
outputMainText(" And her hips seemed to sway a bit more as she ran, trying to account for her thicker vulva. A blotch quickly formed over it just from the squeezing sensation and she sighs as she leans into you now.", false);
} else {
if (lilaVulva <= 5){
outputMainText(" And her tail twitched spastically behind her as she ran, her knees bending inward. You can tell her thighs were squishing her enlarged vulva, a blotch forming on her dress and drooling down to the hem by the time she reached you. She sighs lazily when as she leans into you now, her body calming a little with the halted rubbing.", false);
} else {
if (lilaVulva <= 8){
outputMainText(((" However, she also seemed to run with a firm grasp on her groin. Bigger than her hand, she moaned and gasped with each step as she approached you. Her vulva has gotten so big that she's afraid it'll fall off; it feels so obvious between her thighs. When she finally leans into you now, her hand is covered from the slime that seeped through her dress and smears over your " + clothesBottom()) + " as she grapples you."), false);
} else {
if (lilaVulva <= 12){
outputMainText(" And her legs spread out further as she ran, unable to squeeze together with the mass of sensitive flesh between her thighs. The large lips kiss and pluck at her dress, slightly visible through the fabric from the honey that drools around. When she comes to a halt against you, you can see webs of slickness stretched between her ankles with more drooling down her feet, all in her eagerness to get to you.", false);
} else {
if (lilaVulva <= 18){
outputMainText(((" And she ran especially bow-legged as well, thanks to the mound between her legs that both spreads her knees apart and presses against her dress. Some of the fabric seems to wedge into her folds, her slit nearly clearly visible through the lubrication-drenched fabric, her large clit protruding even further. She stopped every few feet on the way over to pull it out; a futile effort that was quickly negated a few feet later. As she embraces you, leaning into your body, her large vulva clasps around one of your legs, and for a short moment she gasps as she rides you up and down, her clit grinding into your " + skinDesc()) + "."), false);
} else {
if (lilaVulva <= 19){
outputMainText(" She also ran hunched forward, her nipples pointing more towards the walkway than at you and pushed out even further by her swollen tummy, thanks to the massive amount of flesh between her legs. When standing still, her labia hang just past the hem of her dress, the dangling inner lips nearly dragging over the wood, the whole mound outlined by the dress that lay on top of it and tenting forward as her clit grows at the sight of you. So she wouldn't kick it, she needed to lean down to wedge her large vulva back between her legs to keep it out of the way. Which resulted in the eyes of many felins going wide as her mound pushed up her dress, exposing her dribbling meaty lips and large clit to all that were behind her. As she leans against you now, her sensitive genitalia rest upon your foot, honey drowning it and trailing all the way back down the path she went. She pants a little, her long thick clit rubbing up and down your shin as she slowly, unintentionally, humps you.", false);
};
};
};
};
};
};
};
outputMainText("\r\r", false);
if (tallness <= 42){
outputMainText(" Smaller than her, she winds up lifting you into the air.", false);
};
outputMainText(" She looks up at you with bright smile. 'Would yew like to do anything today?'", false);
if ((((lilaPreg <= 35)) && ((lilaVulva >= 11)))){
outputMainText(" You can feel her belly squish against you, bulging from being laden with vaginal flesh.", false);
} else {
if ((((lilaPreg <= 70)) && ((lilaPreg > 35)))){
outputMainText(" She also seems a bit wobbly as she stands there, unused to her growing gravid belly that presses into your legs and pushes her dainty breasts until they're flat against you, with milk squirting about. 'Eehee, Mommy said I'm going to be a Mommy too! I can't wait!", false);
} else {
if ((((lilaPreg <= 100)) && ((lilaPreg > 70)))){
outputMainText(" Her face practically glows as stands there, her belly swollen with offspring and pushing her milky nipples out even further. It pushes between your own legs as she tries to hold you close, making her squeak as a baby kicks your leg from inside. If you weren't there to stop her, she would have probably fallen forward from the round thing, since it's almost larger than she is. 'Mmm... Awe yew looking fowawd to being a daddy?,' she sighs pleasantly.", false);
};
};
};
viewButtonOutline(1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1);
viewButtonText(1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1);
buttonWrite(1, "Milk");
buttonWrite(3, "Suckle");
buttonWrite(5, "Lick");
buttonWrite(7, "Sex");
if (((((!((gender == 0))) && (((((cockSize * cockSizeMod) <= eVagLimit((8 + (5 * lilaVulva))))) && ((cockTotal > 0)))))) || ((((clitSize <= eVagLimit((20 + (12.5 * lilaVulva))))) && ((vagTotal > 0)))))){
Choice7.visible = true;
};
buttonWrite(9, "Cat's Meow");
if (checkItem(105)){
Choice9.visible = true;
};
buttonWrite(10, "Puss Juice");
if (checkItem(221)){
Choice10.visible = true;
};
buttonWrite(12, "Mommy");
doListen = function ():void{
var getCum:int;
if (buttonChoice == 1){
outputMainText("You make a hint with your fingers that she could use some milking, to which she sticks out her tongue at you. But she nods and agrees nevertheless and follows you back up to your place. You soon pull off her sundress, setting it on out in the heat to dry for now, leaving her quite naked.", true);
lilaDesc();
outputMainText("\r\rLila grins as you return, her arms wrapping around her as you help her up onto your bed with you sitting beneath her.", false);
if (lilaVulva > 12){
outputMainText(" Her slimy pussy easily slides between your legs and presses against the bed, which causes her to squirm at first until your thighs can close to anchor her down.", false);
};
outputMainText(" Then your hands come around her body, gently pinching and kneading down her nipples as you begin to milk her.", false);
if (lilaMilk == 0){
outputMainText(" Small drops bead around her areolas as you squeeze them gently, quickly running off and leaving each breast dry after just a several slow pumps. You continue milking the nipples even after they've dried up, just to make sure you fully empty them.", false);
} else {
if (lilaMilk <= 2){
outputMainText(" Thin trails of milk dribble down you fingers, requiring several good pumps to fully drain them.", false);
} else {
if (lilaMilk <= 5){
outputMainText(" Though the nipples feel quite stiff between your fingers, they easily squish in your grasp. A few thin streams spray into the air with the first couple of squeezes around each nipple, followed by a small steady flow of milk over your hands as you continue until they're empty.", false);
} else {
if (lilaMilk <= 8){
outputMainText(" It takes a couple fingers to thoroughly cover the puffy nipples, squishing gently in your grasp. Each time you press down on them, thin streams spray into the air while more milk collects on your hands and flows steadily down, quickly making your hands and the girl quite wet.", false);
} else {
if (lilaMilk <= 12){
outputMainText(" Squirts of milk spurt through the air each time you press down on her puffy nipples, causing the girl to squirm as she feels the noticeable release. Quite quickly milk dribbles down your hands even without your aid, the flow picking up whenever you do.", false);
} else {
if (lilaMilk <= 18){
outputMainText(" You cup her whole breasts as you slowly knead down them, thick spurts of milk spraying in all directions as you do. She lets out an erotic gasp as the milk forcibly escapes her, her purring growing louder as it continues to dribble profusely afterward. The milk spills about your hands and down her body, taking quite a while to fully empty just a single breast.", false);
} else {
if (lilaMilk <= 19){
outputMainText(" The girl lets out a meek cry every time your knead one of her breasts, the milk gushing out as her nipples stretch out further as you lightly tug on them. You can hear some of the stuff splatter across the floor, it has so much pressure behind it. And once you start a nipple, it's hard to stop it from flooding down her body as the drops refuse to stop forming and pouring down until you've milked out quite a large amount. When you do, you can feel her breast become much softer, her nipples easily malleable in your grip as they continue to dribble no matter what you do.", false);
};
};
};
};
};
};
};
outputMainText((((((("\r\rAs you take your time to release her, she quickly relaxes against your " + boobDesc()) + " chest, closing her eyes and purring comfortably. Her hands slip between her legs. While you play with her breasts, milk flowing down into your combined laps, you can easily hear the sloshing of her fluids as her hands slip up and down through the cleft of her labia and rubbing her clitoris. Just as you finish off her lowest pair, your hands so close to her loins, she whimpers and seizes as she quietly orgasms in your lap, the bed growing moist beneath you.\r\rIt takes a few moments for her breathing to calm down again and her eyes to open. A slimy hand comes up and touches your cheek, pushing your other cheek towards her mouth as she kisses you. 'Hehe, it felt good... Thank yew~', she kisses you again.\r\rNow empty, she slides off your lap and onto the floor, strands of her feminine fluid stretching from her bottom to your lap, her tail catching and flicking them as it idly waves. As you stand, more of the stuff is stuck to your own ") + buttDesc()) + " rump, leaving your ") + clothesBottom()) + " thoroughly soaked. You help her put on her sundress, making sure it doesn't get stuck on a stray nipple or her tail, and she begins to head out.\r\r'I'll always hope to see you again,' she grins. Then she heads out, her friends waiting for her elsewhere in the city."), false);
if ((((lilaMilk > 5)) && ((lilaMilk <= 12)))){
outputMainText("\r\rHowever, she was so milky that you managed to save a whole bottle of the stuff for youself, at least, though much of it consists of her other fluids as well.", false);
itemAdd(224);
};
if (lilaMilk > 12){
outputMainText("\r\rAnd she was so milky that you were able to save enough milk for two whole bottles! Though it's likely not all milk, thanks to all the mess.", false);
itemAdd(224);
itemAdd(224);
};
doSexP(5);
hrs = 3;
doLust(((5 + (lib / 2)) - (ment / 2)));
doEnd();
};
if (buttonChoice == 3){
outputMainText("You simply lick your lips a little and she giggles, catching onto the fact that you're thirsty. She has no qualms about it, quite happy that you enjoy her flavor so much, and nearly skips her way to your place. Before you're even in the doorway, she pulls off her sundress and stands naked outside while you take the outfit and put it somewhere out in the heat to dry for now.", true);
lilaDesc();
outputMainText("\r\rLila grins happily as you kneel down in front of her, pushing back a bit so you're not obviously out on the walkway where everybody in the canopy can see. You open your mouth and slowly suck on each nipple.", false);
if (lilaMilk == 0){
outputMainText(" It only takes a few good gulps before each nipple dries out, but you continue a little longer anyway to help please the girl.", false);
} else {
if (lilaMilk <= 2){
outputMainText(" The nipples quickly begin to dribble onto your tongue, the sweet taste warming your throat as you swallow again and again.", false);
} else {
if (lilaMilk <= 5){
outputMainText(" Almost having to bite down, the stiff nipples soon squish between your lips and spray thin streams into your mouth, then continue to dribble into your mouth providing several large gulps.", false);
} else {
if (lilaMilk <= 8){
outputMainText(" Your mouth has to stretch rather wide to latch onto the puffy nipples and each suck is met with thin streams of milk splattering about your mouth, easily providing you with a consistent drink of sweet warm liquid.", false);
} else {
if (lilaMilk <= 12){
outputMainText(" The perk, puffy nipples fill your mouth and each time you squeeze, the girl gasps as she feels the milk spray into your throat, the pressure noticeable releasing. You have to gulp twice between each suck, the milk builds up so quickly.", false);
} else {
if (lilaMilk <= 18){
outputMainText(" You can feel her engorged breast give a little as you push your face against them, the large milky nipples sliding across your tongue. She gasps as her nipple gushes into your mouth as you slowly bite down and continues to squirm as you try guzzle down her milk. Some of it even escapes your lips and dribbles down your face and onto the wood below.", false);
} else {
if (lilaMilk <= 19){
outputMainText(" She lets out a squeal as you first touch each breast, the thick nipple spraying milk into your face before you can even get it in your mouth. Then her tail flicks about behind her as she clenches down, the engorged breasts gush into your mouth with hardly any effort on your part. So much so that you can't seem to keep up with her output as plenty of it bubbles back out of your mouth and down your face, forming rivers through her fur.", false);
};
};
};
};
};
};
};
outputMainText("\r\rShe purrs and mewls as you nip at her nipples, her hands hugging your head against her body. It doesn't take long before she's thrusting her hips and squeezing her thighs together to care for her hot loins. Being kind, you reach out and run your fingers through her sensitive cleft until she's manuevering to hump you back.\r\rThough it's not a powerful sensation, over the amount of time it takes you to drain each nipple her arousal quickly builds until sheets of lubricant begin to spill. She presses your face into her last nipple as she clenches down with a soft moan, her hips twitching and her legs tensing with the climax. When she's finally done, her legs give out and she falls towards you, toppling back out into the city.\r\rThe warm air licking across her moist pussy, it doesn't take long before she's squirming again. 'Eehee, I bettew get dwessed befowe somebody sees me on yew.'\r\rBefore she gets up, however, she slides down your body to give you a nice kiss on the forehead. Then she slides back up as she stretches out, her tail reaching high, and incidentally drags her stiff clit across your face and leaving you quite slick. And before you can get up, she grabs her dress and hurriedly dons it, hardly covering her rump and wet thighs, and runs off with some other task in mind.", false);
if (lilaMilk > 8){
outputMainText("\r\rAll that milk does sit quite well in your stomach, however, and leaves you feeling rather good.", false);
doHP((lilaMilk * 2));
exhaustion = (exhaustion - Math.floor((lilaMilk / 2)));
};
doSexP(15);
hrs = 3;
doLust(((10 + lib) - ment));
doEnd();
};
if (buttonChoice == 5){
outputMainText("You stick your tongue out at her and she immediately blushes. The blotch around her crotch deepens and spreads simply by the thought. A rather Pavlovian response from her nethers... She hugs onto your arm as you head up to your place and her thighs slip together with each step until she's fumbling the last few feet. You manage to catch her and hoist her up onto your bed, where she immediately twists around and crumples the fabric over her crotch in her hands. Barely lifting her dress a few inches, her legs spread slightly in welcome to you, she's a bit too timid to go any further.\r\rSo, with a mewl echoing about the room, you slide your hands up the sides of her legs and push the dress away, staring at her dewy lips. You lift the sundress over your head and dive inside. ", true);
if (lilaVulva == 0){
outputMainText("Her petite folds are swollen and bright, shimmering with the surrounding fur from the slickness she's already made. You can easily engulf her entire groin in your mouth, your tongue running up and down over her little stiff button and slipping into her folds to ring around her tight sex.", false);
} else {
if (lilaVulva <= 2){
outputMainText("Her swollen lips are nearly red with her arousal, a gob of lubrication already slipping down her folds and into the cleft of her backside, drooling down onto her tail. You nibble around her inner lips and nip at her standing clit, the developed vulva appreciating your efforts with even more slime.", false);
} else {
if (lilaVulva <= 5){
outputMainText("Her thighs still squeeze her thick vulva by the time you reach it, spreading only to let your head through. A few strands stretch across your path, the engorged pussy almost gasping open as the large labia pulse in anticipation. Larger than your mouth, it engulfs your lips in a sloppy kiss while your tongue slips inside. You pull out only to slide up through the glistening folds and suckle from her thorn-like clit as it stands out from it's hood, causing her to immediately buck upon the bed.", false);
} else {
if (lilaVulva <= 8){
outputMainText("The bulbous pussy looks odd between her dainty thighs, so swollen and naughty. The inner lips dangle out of from the thicker ones, giving you something to gently bite down on as you reach towards it. She squirms as you do, letting out a gasp as you tenderize the supple meat. Feminine honey dribbles from her hole and smears about her thighs, forming webs around your face and running along her tail below. Your mouth slips into the labia and kisses her vaginal passage, your tongue slipping in deep to send her wild. Her hands push her dress into your head and she squirms wryly as you do, only to buck and knock on your skull as you pull out and suck upon her button. The thing pushes out from the folds, standing stiffly with clear strands stretching down around it. You lash your tongue over it again and again in your mouth, making her clenched fists dig her dress into your head.", false);
} else {
if (lilaVulva <= 12){
outputMainText((("You can't even see where her thighs meet her body, the growing pussy is so large. She inadvertantly squeezes it, even with your head in there, and a handful of honey pushes out from her large lips, her hole gaping to let it pass and form sheets between her thighs, her tail becoming drenched along with a good portion of your bed. You suck some of the dangling inner labia into your mouth, kneading and tenderizing it with your teeth while she squirms behind it. Then the lips hug your face as you push inside, your mouth opening to push inside her vaginal passage. Your lips can pluck around the edges, your tongue slipping around the slick walls. Her hands hug around your head through her dress, clenching into you the best she can while her tail flicks her fluids up across your " + boobDesc()) + " chest. Then you push upwards, your tongue quickly lashing across her urethra before wedging into her clitoral hood. You lick around the base of the stiff erection, sliding the whole thing into your mouth. You gently bite around the tip as your lips drag up and down its short length, making her tiny butt squirm upon the bed."), false);
} else {
if (lilaVulva <= 18){
outputMainText("Your hands reach up to flank the sides of the enormous cunt, mashing the large labia together as a constant dribble of slime coats her tail and the bed beneath. You grab her tail and wedge it up between her folds, slipping it up and down while her knees jerk and push around her vulva. Leaving it caught between the dangling lips, you reach in beside it, your face becoming drenched, and suck in a mouthful of the flesh. You gently chew on the meat, the tip of her tail slapping across the top of your head as she mewls erotically from the other side. Then you reach inside and bite down on the edge of her vaginal passage, the supple flesh easily handling your roughness. Your hand then leaves the side of the cunt to reach into her hole, grabbing it by the edge to hold it up and fondle it while your mouth moves up towards the standing protrusion above. The overgrown clitoris stands well beyond the massive mound and pulsates in your mouth as you engulf it. You suck and gnaw on the hard thing, the girl behind clenching her hands deep into her own flesh through the sundress as her hips grind down onto the bed.", false);
} else {
if (lilaVulva <= 19){
outputMainText("You lift the heavy mass of lewd flesh higher so she can scoot back upon the bed until her feet are no longer dangling. Once it's well supported, the waterfall of lubrication already having slickened the fur all the way up between her legs well in advance, your hands palm either side of her huge thick labia and grind about, massaging the sensitive pussy from the outside. Her feet and knees soon join you, writhing about to knead it thoroughly. No longer needing to do it themselves, your hands pull back to help spread the large slit, tugging and twisting the dangling folds. You spread her wide, her pussy gaping, and you lick around her vaginal passage, biting her and there until you slip a hand in to massage from the inside. The rest of her body twitches about, the tip of her tail flailing from underneath, until she has to onto her own legs to hold herself still. Yet, her hips still manage to buck as you slip her large clitoris into your mouth, barely able to take in its full length. You suck it in and slide up and down its length, gnawing where you can, until your other hand comes to your aid and wraps around the base to stroke it in tune to your efforts. It's so pleasure that the girl is stuck there, her mouth wide and her eyes shut, hardly able to breath or make a sound outside of high-pitched moans.", false);
};
};
};
};
};
};
};
outputMainText("\r\rMilk from her breasts spills down around your head as the sensations grow stronger and stronger. Eventually, Lila falls backward onto the bed, grasping at the covers and wringing her legs around your neck. She pulls you deeper into her loins as she lets out a yowling cry, a mess of slime spilling out around you. Her body twitches and her hips continue to buck as she endures a lengthy orgasm.", false);
if (lilaVulva >= 17){
outputMainText(" Yet, as you continue to assault her nether region, her fat pussy quivering in your grip, she can't seem to stop climaxing as she cries out again and again, showering you in her fluids, until her body is too exhausted and drained to maintain the high state of euphoria much longer, quickly dropping her back down to a heavy breathing, her chest swelling and deflating again and again as she pants loudly.", false);
} else {
if (lilaVulva >= 10){
outputMainText(" And just a few moments after the first, your mouth still licking away, she cries out again in ecstasy as she approaches a second orgasm, her legs nearly crushing you this time.", false);
} else {
if (lilaVulva >= 5){
outputMainText(" However, she doesn't seem to be finished quite yet, as her legs maintain their hold. You lick and lick, hearing her breathing harder and harder and rapidly approaching yet another orgasmic cry.", false);
};
};
};
outputMainText((("\r\rTired, her breath slowly coming to a gentle purr, she curls around to look at you. Silently urging you up onto the bed, she licks across your dampened face as you climb up with her. She cuddles into your " + boobDesc()) + " chest and quickly slips into sweet dreams while you follow behind."), false);
doLust(Math.floor(((lilaVulva + (lib / 3)) - (ment / 4))));
doNext();
doListen = function ():void{
outputMainText("By the time the two of you awaken, hours have passed. She finally pulls down her sundress, her naked loins on display the whole time she slept, your open doorway just a few feet away. She yawns and kisses you, trying to lap up some of the stuff that is still wettening your face.\r\r'So gewd...,' is all she can muster, with a bit of mumbling about her Mommy waiting. She slides out of the bed, pausing for a moment for her legs to adjust, and then slowly wobbles her way back out into the canopy.", true);
hrs = 8;
exhaustion = 0;
if (lilaVulva <= 8){
aff(4, Math.floor(((percent() / 20) + 4)), -1);
} else {
if (lilaVulva <= 16){
aff(4, Math.floor(((percent() / 10) + 4)), -3);
} else {
aff(4, Math.floor(((percent() / 10) + 6)), -6);
};
};
doEnd();
};
};
if (buttonChoice == 7){
if (lilaPreg == -2){
outputMainText("Not quite sure how to put it, you make a quick suggestion that the two of you could try something more... intimate. Confused at what you could possibly mean, considering how intimate you've already been before, she cocks her head to the side with a 'Huh?'. Not quite sure how to put it, you kneel down beside her, cupping your hands over her ears and whisper inside. To put it bluntly, you simply say 'Sex'.\r\rHer tail curls around behind her and her cheeks are instantly redder than ever before. You also hear a splash below her as her loins seem to catch on even faster than the rest of her body, her near-constant heat latching onto the word and pulling her mind towards it.\r\rShe gulps for a moment, but very quietly murmurs 'O-Okay.'\r\rTaking her hand, you lead her up to your hut; her stride rather crooked along the way as she contemplates what will happen. Once inside, she already begins to take off her sundress before you can close a curtain across the open doorway as she thinks that's just what one does when it comes to sex. You chuckle at her innocent naivete, though your gazing upon her body makes her blush more in turn.", true);
} else {
outputMainText("You give her a little hum, trying not to be too obvious about what your trying to suggest. When she eventually does, you can see the blush intensify in her face as her heart beats faster. Eyes darting around to make sure nobody notices, like she were trying to smuggle some illegal goods, she grabs your hand and hastily pulls you to your own hut, knowing well where it is.\r\rBefore you're even in the door, she's already tossing her sundress aside and scampers in eagerly with a giggle. As you stare at her, her body completely naked, she blushes again as she realizes how quick she was to get caught up in her body's desires.", true);
};
if (lilaMilk == 0){
outputMainText("\r\rA few drops of milk collect around her areolas, her naked nipples perking at the air.", false);
} else {
if (lilaMilk <= 2){
outputMainText("\r\rDrops of milk bead around her nipples, slowly dripping down her fur as she stands there, her nipples quite stiff.", false);
} else {
if (lilaMilk <= 5){
outputMainText("\r\rHer nipples are so stiff that it almost looks like they hurt. A steady trickle of milk drips down from the pointy things, dribbling down her fur. ", false);
} else {
if (lilaMilk <= 8){
outputMainText("\r\rHer puffy nipples protrude far from her chest and belly, engorged with milk and making her twitch as the air brushes across the hard things. Small streams of milk continually flow down her front, over and around her belly, and collect in between her thighs and mix with her honey as she stands there.", false);
} else {
if (lilaMilk <= 12){
outputMainText("\r\rHer puffy nipples occasionally spray thin streams of milk as the air licks across there moist sensitive skin, causing her to twitch as she stands there, trying to prevent herself from manually relieving the things while they slowly dribble down her front.", false);
} else {
if (lilaMilk <= 18){
outputMainText("\r\rLike little rivers, milk continually flows down her front, her small swollen breasts shuddering as the air licks across her stiff nipples, sending thin white squirts flying about. She can't help but squish them idly with her arms, causing more milk to spray about as she does and small gasps to escape from her lips.", false);
} else {
if (lilaMilk <= 19){
outputMainText("\r\rWhile standing there, her hands rove about her front, squeezing her small engorged breasts as they ache from her puffy nipples growing stiff with the air licking across their moist sensitive skin. She squeaks ever now and then as she does, with more white stuff flooding from the breasts that she cannot immediately attend to with only two hands.", false);
};
};
};
};
};
};
};
if ((((lilaPreg <= 35)) && ((lilaVulva >= 11)))){
outputMainText(" The belly bulging with vaginal flesh, much of the milk diverts to either side for an easier path.", false);
} else {
if ((((lilaPreg <= 70)) && ((lilaPreg > 35)))){
outputMainText(" Wobbling a little with her greater girth, her pregnant belly diverts most of the milk flow to the sides. Though it doesn't prevent her from rubbing the milk in over the whole thing anyways, while she absently rubs it with its taut fur being more sensitive.", false);
} else {
if ((((lilaPreg <= 100)) && ((lilaPreg > 70)))){
outputMainText(" The large belly, gravid with your children, blocks most of the milk from immediately reaching the ground, making most of it flow down to her protruding belly button. Her hands occasionally paint the white stuff around as she rubs the taut fur it in awe of herself, unable to even reach its underside as its size is larger than herself.", false);
};
};
};
if (lilaVulva == 0){
outputMainText(" Her petite folds are swollen and bright, shimmering with the surrounding fur from the slickness she's already made.", false);
} else {
if (lilaVulva <= 2){
outputMainText(" Her swollen lips are nearly red with her arousal, a gob of lubrication already slipping down her folds and into the cleft of her backside, drooling onto her tail.", false);
} else {
if (lilaVulva <= 5){
outputMainText(" Her thighs squeeze her thick vulva, the inner lips dangling out, nearly red and fairly swollen. Strands of her honey stretch between her thighs and latch onto her tail behind her.", false);
} else {
if (lilaVulva <= 8){
outputMainText(" The bulbous pussy in her groin looks odd between her dainty thighs, so swollen and naughty. The inner lips dangle out of from the thicker ones, red with arousal and shimmering brightly with the fluids that dribble down and form webs between her knees. Every now and then, she reaches down in an attempt to pull it back up, fearing that it's slowly falling down as it feels so noticeably weighty, causing her to wince and her tail to flick - flinging slime - from the intense sensation of grabbing herself in such a way.", false);
} else {
if (lilaVulva <= 12){
outputMainText(" The growing pussy is so large that it's difficult to tell where her torso ends and her legs begin. She inadvertantly squeezes it as she squirms about, forcing handfuls of honey to push out from her large lips, her hole gaping to let it pass and form sheets between her thighs, her tail becoming drenched along with a large portion of the floor. Her clitoris stands from the mass, like a thorn on her front, swollen with blood and making her shiver slightly from being exposed to even the slightest breeze.", false);
} else {
if (lilaVulva <= 18){
outputMainText(" Her legs bowed, her knees squeeze around the massive pussy between them. The dangling lips occasionally lewdly slap against her legs as she shifts in one place, leaving behind a stretching web of honey. The underside of her tail is nearly completely drenched by the stuff, pulling strands of it from her backside whenever it flicks from side to side in her anticipation. And a hand occasionally slips down, almost grabbing her erect clitoris as it stands far from the mass in an attempt to simply cover it and protect it from the breezes that cause her to shiver tremendously and fresh gobs to splash across the floor.", false);
} else {
if (lilaVulva <= 19){
outputMainText(" Her knees bend to fit around the grand mass of vulvic flesh that fills her the gap between her legs. The inner folds occasionally brush against the ground as she squirms, her foot attempting to rub her long clitoris. The stiff thing looks nearly like a small penis, erect and aroused, begging for attention as a breeze nips across its extremely sensitive skin. Lubrication pools about beneath her, making her efforts even more difficult, but she eventually manages to catch the tip of the thing between her toes and gently pinch it, making her moan softly. Her tail flings more slime about as it flicks about, occasionally going stiff as it flicks a little too close and diddles between her deep slit with a gasp.", false);
};
};
};
};
};
};
};
if (lilaPreg == -2){
outputMainText((((("\r\rEyes going wide, she stares in wonder as you begin to strip your own outfit. Roving from your " + boobDesc()) + " chest to your ") + buttDesc()) + " rump, and especially fixating on your"), false);
} else {
outputMainText((("\r\rEyes wide with joy, she watches happily as you begin to strip your own outfit. Always in awe of your " + bodyDesc()) + " body, she loves to see what you really look like. However, thanks to her constant heat, she absently licks her lips as she fixates on your"), false);
};
if (cockTotal > 0){
outputMainText(((((" " + cockDesc()) + " swelling cock") + plural(1)) + ""), false);
} else {
outputMainText(((((" " + vulvaDesc()) + " dripping cunt") + plural(2)) + ""), false);
};
if (lilaPreg == -2){
outputMainText(", obviously confused and slowly taking in what you have, but also visibly aroused as a hand latches onto her cunny, unable to stop rubbing it.", false);
};
outputMainText("\r\rThen her tail flails about with glee as you lift her onto your bed, laying her back across the soft sheets.", false);
if (lilaPreg == -2){
outputMainText(" She blinks up at you, a hand cutely curling about her mouth like she's about to lick her paw, wondering how this will possibly continue. Just to reassure her, you kiss her on the forehead. Her eyes close and a smile grows upon her face, accepting your comforting gesture. Though they then open as she realizes your mouth reaches down to touch against her own lips, kissing her lovingly. This time her eyes close from the sudden surge of warmth throughout her body, whimpering slightly into your mouth as she experiences such intimacy for the first time.", false);
} else {
outputMainText(((" She smiles up at you, her hands pawing at your " + boobDesc()) + " chest, roving to your sides and holding onto you as you lean down to give her a deep kiss. Her mouth is ready to take your tongue, her rougher one dancing around it and licking your teeth and lips."), false);
};
if ((((cockTotal < 1)) && ((clitSize <= 10)))){
if (lilaVulva > 10){
outputMainText(((((((((" While she's prone and melting in your embrace, you wrap your legs around her bulbous vulva, pushing your own " + vulvaDesc()) + " cunt") + plural(2)) + " into it. You bounce up and down gently, humping her heavy pussy, your ") + clitDesc()) + " clit") + plural(2)) + " grinding alongside her especially large female erection. Her feet hold onto your thighs the best she can, bucking her hips to get press her sensitive mass into you more."), false);
} else {
outputMainText(((((((" As she melts into your embrace, you press your " + vulvaDesc()) + " slit") + plural(2)) + " against hers, kissing again with the lower sets of lips. Her feet curl up around your ") + hipDesc()) + " hips to press back, trying to grind her little clit into you the best she can in her lustful state."), false);
};
if (lilaPreg == -2){
outputMainText(" Although, with her ineperience, her movements are awkward and wry, leaving her drooling from between her thighs even more in desparation. You take up most effort, humping and thrusting your sexes together until the bed is drenched in your combined feminine fluids. Eventually, one of her legs bends high, stretching her virgin pussy wide as she gives you plenty of room to push against her. She lets out a gentle cry as she shudders, hooking the leg around your back and jerking against you, a volley of slime splattering across your legs with an intense orgasm, forcing you to your own.\r\rShe pants loudly for several minutes afterwards, her fur flush and sweaty. She nuzzles into your body, a few tears welling up. Yet, as she sniffles, it's obvious she's not crying from sadness.\r\r'That felt... so gewd. I... I love yew!'\r\rShe begins to lick you\ttrying to clean you up a bit, but the strokes of her tongue quickly slow. Within a few moments, she nods off beneath you, fast asleep. You shrug and chuckle, hugging her tight before cuddling up and joining her in the dream world.", false);
} else {
outputMainText(((" The two of you quickly find a rhythm, her small body writhing about beneath yours and matching your movements. Her legs move higher and higher up your back, stretching her hot pussy wider until it's practically nipping at your own as you press deeper into it. A flood of slick fluids gush out about your cunt" + plural(2)) + " as Lila lets out a gentle cry, her tongue lolling out of her mouth with orgasm."), false);
if (lilaVulva > 10){
outputMainText(" Yet, she continues to hump against your body, her huge sensitive cunt slapping against you wildly until she comes again and again with even more mess.", false);
};
outputMainText(" You can't help but shortly come after her, your combined messes drenching the bed beneath you.\r\rOnce you have both calmed down, her panting returning to a soft purr, she takes some time to cuddle with you, licking your body to clean up some of the mess. But, it doesn't take long before the two of you pass out with the delightful stress, snuggling upon the moist bed.", false);
};
} else {
if ((((cockTotal > 0)) && (((cockSize * cockSizeMod) <= eVagLimit((8 + (5 * lilaVulva))))))){
outputMainText(((((((" As she melts within your embrace, she gasps as she feels the tip of " + oneYour(1)) + " ") + cockDesc()) + " cock") + plural(1)) + " slide across her belly, sandwiched between your two bodies. She shivers beneath you as you pull it back, slipping it through her supple lips and into her hungry hole."), false);
if (lilaPreg == -2){
outputMainText(" Her mouth goes wide, stretching as you penetrate her, her eyes wincing as the odd sensation fills her. You can feel her toes curl behind you, her legs tensing like they were preparing for something far more extreme, and she is completely silent for the whole duration. Once your length has completely burrowed into her, she finally erupts with a long mewl. Her virgin pussy squeezes about the intruder, chewing on it and slowly relenting as her body settles around it, becoming used to this brand new, yet absolutely wonderful, sensation.", false);
} else {
outputMainText(" She grins stupidly as she pushes herself against your own efforts, slowly ramming your erection deep into her horny folds, forcing her to wince a little thanks to her own eager efforts. Her toes curl behind you, a soft moan escaping her lips as your whole length squeezes through the resistant walls, until she eventually calms and huffs beneath your body, her tail flicking about excitedly.", false);
};
if (((((cockSize * cockSizeMod) > (8 + (2.5 * lilaVulva)))) && ((lilaPreg < 35)))){
outputMainText(" She gasps, out of breath, as she looks down to see the tip of your member bulging her belly outwards. She absentmindedly strokes her fur, kneading the monster inside, amazed that it could possibly do such a thing.", false);
} else {
if (lilaPreg >= 35){
outputMainText(" Her hands quickly cradle her swollen belly, just to make sure that her lewd efforts and your girth didn't harm what is growing inside.", false);
};
};
outputMainText("\r\rGradually, you begin to pump in and out, elliciting more cute noises from the small girl. Though she may have been in heat and knew well what it was like to pleasure herself, this sensation was far more than she ever expected. She accidentally scratches you occasionally with her claws as you thrust and her face transforms through a plethora of lewd expressions.", false);
if (lilaVulva <= 5){
outputMainText(" Her tight pussy squeezes around your cock, tugging and pulling with its inner lips stretching along your length, sliding back up with a thick film of lubrication whenever you pull out with a soft mewl from the small body beneath you.", false);
} else {
if (lilaVulva <= 12){
outputMainText(" Vulgar noises accompany the expressions as her honey spits and spews about your legs with each pump, making her gasp and wince as her thighs squirm around to sqeeze the flesh between her legs.", false);
} else {
if (lilaVulva <= 19){
outputMainText(" Your cock is lost in a river of slime that flood from her enormous pussy, flinging the stuff around everywhere with each powerful pump. Her plush belly expands and stretches each time you drive into it, leaving her mrowling erotically as you grab her clit and jerk it between the two of you.", false);
};
};
};
if (lilaMilk <= 5){
outputMainText(" Milk dribbles down through her fur as she becomes more and more excited.", false);
} else {
if (lilaMilk <= 12){
outputMainText(" Milk spurts up over her chest and belly as her body shakes with your movement, spilling down her sides and onto your sheets.", false);
} else {
if (lilaMilk <= 19){
outputMainText(" Milk gushes between the two of you, exploding with each shake of her little form and jiggle the swollen mounds, flooding about your sheets with its sweet scent.", false);
};
};
};
if (lilaPreg <= 35){
outputMainText("\r\rYou lean down and hug Lila tight as you feel her begin to quake with orgasm, letting her cry out gently into your neck.", false);
} else {
if ((((lilaPreg <= 70)) && ((lilaPreg > 35)))){
outputMainText("\r\rYou lean around her growing belly, protecting the child and hugging Lila tight as you feel her begin to quake with orgasm, letting her cry out gently into your neck.", false);
} else {
if (lilaPreg > 70){
outputMainText("\r\rYou manage your best to twist around her greatly protruding baby, trying to avoid squishing the child within too much as you hug Lila tight, feeling her begin to quake with a powerful orgasm and shout out into the room.", false);
};
};
};
getCum = cumAmount();
if (getCum > (100 * (lilaVulva + 1))){
outputMainText(" Your own pressure erupts within her, raising her volume to near deafening levels as the stuff fills her passage and gushes out with tremendous force, more than her heat could have ever asked for.", false);
} else {
outputMainText(" Your own pressure erupts within her, making her louder as she feels your warm spunk splashing against her hot walls, just what her heat truly needed.", false);
};
if ((((((lilaPreg <= 35)) && ((lilaVulva >= 11)))) && ((getCum > (150 * (lilaVulva + 1)))))){
outputMainText(" So much of your hot spunk swirls around within her that even her belly trembles beneath you, inflating and churning about.", false);
};
outputMainText(" She clenches onto you with all her might, trying to mewl and wince through the climaxes that wrack her body, panting until her felin instincts take over and she passes out within your arms, napping with a soft purr. You giggle a little and shrug, curling up around her and falling asleep with her, letting your anatomy remove itself naturally.", false);
} else {
if (clitSize <= eVagLimit((20 + (12.5 * lilaVulva)))){
outputMainText(((((((" As she melts within your embrace, she gasps as she feels the tip of " + oneYour(2)) + " ") + clitDesc()) + " clit") + plural(2)) + " slide across her belly, sandwiched between your two bodies. She shivers beneath you as you pull it back, slipping it through her supple lips and into her hungry hole."), false);
if (lilaPreg == -2){
outputMainText(" Her mouth goes wide, stretching as you penetrate her, her eyes wincing as the odd sensation fills her. You can feel her toes curl behind you, her legs tensing like they were preparing for something far more extreme, and she is completely silent for the whole duration. Once your length has completely burrowed into her, she finally erupts with a long mewl. Her virgin pussy squeezes about the intruder, chewing on it and slowly relenting as her body settles around it, becoming used to this brand new, yet absolutely wonderful, sensation.", false);
} else {
outputMainText(" She grins stupidly as she pushes herself against your own efforts, slowly ramming your erection deep into her horny folds, forcing her to wince a little thanks to her own eager efforts. Her toes curl behind you, a soft moan escaping her lips as your whole length squeezes through the resistant walls, until she eventually calms and huffs beneath your body, her tail flicking about excitedly.", false);
};
if ((((clitSize > (8 + (2.5 * lilaVulva)))) && ((lilaPreg < 35)))){
outputMainText(" She gasps, out of breath, as she looks down to see the tip of your clitoris bulging her belly outwards. She absentmindedly strokes her fur, kneading the monster inside, amazed that it could possibly do such a thing.", false);
} else {
if (lilaPreg >= 35){
outputMainText(" Her hands quickly cradle her swollen belly, just to make sure that her lewd efforts and your girth didn't harm what is growing inside.", false);
};
};
outputMainText("\r\rGradually, you begin to pump in and out, elliciting more cute noises from the small girl. Though she may have been in heat and knew well what it was like to pleasure herself, this sensation was far more than she ever expected. She accidentally scratches you occasionally with her claws as you thrust and her face transforms through a plethora of lewd expressions.", false);
if (lilaVulva <= 5){
outputMainText(" Her tight pussy squeezes around your clit, tugging and pulling with its inner lips stretching along your length, sliding back up with a thick film of lubrication whenever you pull out with a soft mewl from the small body beneath you.", false);
} else {
if (lilaVulva <= 12){
outputMainText(" Vulgar noises accompany the expressions as her honey spits and spews about your legs with each pump, making her gasp and wince as her thighs squirm around to sqeeze the flesh between her legs.", false);
} else {
if (lilaVulva <= 19){
outputMainText(" Your clit is lost in a river of slime that flood from her enormous pussy, flinging the stuff around everywhere with each powerful pump. Her plush belly expands and stretches each time you drive into it, leaving her mrowling erotically as you grab her own clit and jerk it between the two of you.", false);
};
};
};
if (lilaMilk <= 5){
outputMainText(" Milk dribbles down through her fur as she becomes more and more excited.", false);
} else {
if (lilaMilk <= 12){
outputMainText(" Milk spurts up over her chest and belly as her body shakes with your movement, spilling down her sides and onto your sheets.", false);
} else {
if (lilaMilk <= 19){
outputMainText(" Milk gushes between the two of you, exploding with each shake of her little form and jiggle the swollen mounds, flooding about your sheets with its sweet scent.", false);
};
};
};
if (lilaPreg <= 35){
outputMainText("\r\rYou lean down and hug Lila tight as you feel her begin to quake with orgasm, letting her cry out gently into your neck.", false);
} else {
if ((((lilaPreg <= 70)) && ((lilaPreg > 35)))){
outputMainText("\r\rYou lean around her growing belly, protecting the child and hugging Lila tight as you feel her begin to quake with orgasm, letting her cry out gently into your neck.", false);
} else {
if (lilaPreg > 70){
outputMainText("\r\rYou manage your best to twist around her greatly protruding baby, trying to avoid squishing the child within too much as you hug Lila tight, feeling her begin to quake with a powerful orgasm and shout out into the room.", false);
};
};
};
outputMainText(" You shiver against her as well, your legs growing numb from the lightning storm that envelops your whole self, centered on your gargantuan feminine member. She clenches onto you with all her might, trying to mewl and wince through the climaxes that wrack her body, panting until her felin instincts take over and she passes out within your arms, napping with a soft purr. You giggle a little and shrug, curling up around her and falling asleep with her, letting your anatomy remove itself naturally.", false);
};
};
};
doLust((-(sen) * 2));
doNext();
doListen = function ():void{
outputMainText("Some hours later, you wake up to a kiss upon your lips, opening your eyes to a great big smile.", true);
if (lilaPreg == -2){
outputMainText("\r\r'I... I weally liked that. It would be nice if we can do it some mowe,' she says sheepishly, a big blush on her face.", false);
lilaPreg = 0;
} else {
outputMainText("\r\r'Mmm... It's always so... amazing with yew. I like it vewy much. I love yew.' She kisses you again, so full of joy.", false);
};
if ((((((((lilaPreg == 0)) && ((percent() >= 55)))) && ((cockTotal > 0)))) && (((cockSize * cockSizeMod) <= eVagLimit((8 + (5 * lilaVulva))))))){
outputMainText(" However, for a moment, her attention turns down to her loins. A hand smears about the leftover cum that still drools from her, focusing on her lips and clit. 'It... It's not as warm as before,' a hint of surprise in her voice. Then she begins to blush as her fingers keep smearing around, her clit beginning to stand stiffly and her honey increasing in flow. 'N-Nevermind...'", false);
lilaPreg = 1;
};
outputMainText("\r\rThe two of you continue to cuddle for a bit longer, enjoying your company, before she realizes how much time has passed. Needing to get back home, she quickly tosses on her sundress, letting it mat against her wet fur and stick to all sorts of naughty places. With another quick peck on your lips, she dashes out of the hut, giving you a short goodbye as her cheeks redden, already thinking about doing it again...", false);
doSexP(10);
hrs = 7;
exhaustion = -7;
doEnd();
};
};
if (buttonChoice == 9){
outputMainText("You pull out a Cat's Meow from your bag and offer it to her.", true);
if (lilaMilk == 19){
outputMainText(" However, she shakes her head no.\r\r'Hehe, sowwy, but umm... I don't want to make anymowe milk. Mommy and I have a hawd time milking me alweady, don't need mowe. Thank yew for liking it so much and wanting mowe, though!' She gives you a quick hug and heads off to get back to draining herself.", false);
} else {
outputMainText(" Her eyes light up.\r\r'Ooo, you like my milk so much that you want me to make mowe?' She grins and blushes at how much you like her. 'Okays!'\r\rShe quickly takes it and gulps it down. The blotches on her shirt spread as her milk production quickly kicks into higher gear, her face growing flush as she feels warm.", false);
if (lilaMilk == 0){
outputMainText(" The blotches soon have trails of milk dribbling down the inside of her sundress, slowly collecting at the hem.", false);
} else {
if (lilaMilk == 2){
outputMainText(" Her nipples stiffen more, forming small peaks against her dress while the blotched trails grow darker, collecting more quickly along the hem of her sundress and spilling onto the wooden path below.", false);
} else {
if (lilaMilk == 5){
outputMainText(" Droplets begin to form on the outside of her dress, she's creating so much milk that it pushes through. Her nipples seem even puffier with the greater amount of milk, making her look down at herself in awe that she's actually got some noticeable boobs.", false);
} else {
if (lilaMilk == 8){
outputMainText(" You can see her nipples visibly jiggle a little as they're so heavy with milk, the increased supply making the sundress quite translucent. Milk dribbles down constantly both inside and outside her sundress, and splashes about as she hops a little with a smile at her new bounciness.", false);
} else {
if (lilaMilk == 12){
outputMainText(" Her whole breasts actually swell slightly, making her thick nipples protude even more than they already do. She winces a little at how full they feel and is astonished by how milk squirts through her sundress as she reaches up to massage on of the mounds.", false);
} else {
if (lilaMilk == 18){
outputMainText(" Her breasts swell even more, making her feel really jiggly. As she tries to test the bounciness, she blushes heavily as her large nipples scrape along the inside of her sundress, milk squirting through it without her even trying. She moans as her hands come up to squeeze them as an immediate reflex to relieve their engorgement, gushes of milk spewing out. She seems rather surprised she can possibly make so much.", false);
};
};
};
};
};
};
outputMainText("\r\rHer hands roam about her new found lactation, testing just how much milk she can now produce and making quite a mess. 'Eehee... Yew weally want to dwink a lot, huh?,' she laughs happily. 'I'm gonna go show Mommy!'\r\rShe then turns and heads home, leaving a path of spilled milk behind her as she goes.", false);
lilaMilk++;
loseManyItem(105, 1);
};
hrs = 1;
doEnd();
};
if (buttonChoice == 10){
outputMainText("You pull out a vial of Concentrated Pussy Fruit Juice and offer it to her, telling her in advance what it does so she knows what it is.", true);
if (lilaVulva == 19){
outputMainText(" However, she shakes her head no with a giggle.\r\r'Hehe, Mommy says if I get any biggew, I'll need to watch out for splintews. I don't want splintews down thewe, silly.'\r\rShe then turns around and walks off, giggling at the thought of how big you could possibly want her naughty place to be while she waddles in an attempt to walk with how big it already is.", false);
} else {
outputMainText(" She looks at you curiously.\r\r'You want to make my naughty place biggew? If... If it'll feel even bettew, and yew want me to, I guess it's okays.'\r\rShe takes the vial and drinks it down. Her hips soon begin to twist about as a warmth nearly as bad as her heat fills her loins. Right in the middle of the canopy walkway, she lifts her dress and watches as it grows.", false);
if (lilaVulva == 0){
outputMainText(" She pokes it curiously as the labia fill out and looks much more mature than what she had, only to gasp a bit at how much more sensitive it feels.", false);
} else {
if (lilaVulva == 2){
outputMainText(" Her thighs squeeze together as the labia swell between them, making her moan and some slickness dribble all the way down to the wooden walkway.", false);
} else {
if (lilaVulva == 5){
outputMainText(" She lets out a squeak as it grows so large in between her thighs. Her hand darts down to catch it as she's afraid it will fall, it's so noticeable now. And doing so makes her squirm as her fingers slip into her cleft, the flesh bigger than her grasp.", false);
} else {
if (lilaVulva == 8){
outputMainText(" A weak gasp escapes her lips as she spreads her legs further apart. Her lips fill the gap between them, preventing her thighs from touching. Her clit grows out of the cleft, leaving it's hood and obviously protruding from the rest of her slit. Her fingers reach down and pinch it in curiousity, only to cause her to quiver as electricity shoots through her, a good deal of slime splashing down beneath her.", false);
} else {
if (lilaVulva == 12){
outputMainText(" Her knees bend outward as the labia push them apart, causing her to gasp as they squeeze her sex. Her clit is at least an inch and she can easily wrap her thumb and finger around it, stroking it's length slightly before she comes to an abrupt halt as it's too much to handle just yet. Nevertheless, her legs have sheets of slime between them from the experience, growing larger as the stuff dribbles from her dangling inner lips.", false);
} else {
if (lilaVulva == 18){
outputMainText(" She bends down at her knees as the mass of sensitive genitalia fill the gap between her legs and feels so heavy. Her eyes flutter a little just trying to stand at first, the labia keeping her slightly bow-legged. Just trying to bend over to look at herself, her clit scrapes against the wooden walkway, already slick with her slime, and causes her to fall to her knees. She curls up slightly to reach her large clit, a whole hand wrapping around it, and her legs rub and push about her vulva while she jerks away, completely lost in the sensations. By the time she comes to climax, lubrication gurgling and splatting from her massive slit, all eyes with a clear view are staring at her.", false);
};
};
};
};
};
};
outputMainText("\r\rShe pants a bit, becoming accustomed to her new size. She lets her dress fall back down to cover herself, though there's still quite a mess between her legs. 'It... feels much bettew...'\r\rShe lazily turns around and walks away, intent on further familiarize herself with her bigger girly bits...", false);
lilaVulva++;
loseManyItem(221, 1);
};
hrs = 1;
doEnd();
};
if (buttonChoice == 12){
outputMainText("With a smile, you take her hand so that the two of you may go and visit her mother to see how things are going at home. She seems a tad disappointed, her mess going unrelieved, but she smiles up with a nod and goes along with you.\r\rApproaching her home, however, she begins to get rather antsy. Her thighs keep rubbing together, making the blotch in her dress even worse. By the time her mother spots you through the doorway and comes to greet you, Lila lets go of your hand, grabbing her crotch through the dress, and dashes into the hut with a rapid-paced 'Hi-Mommy! I-need-to-do-somefing-weal-quick!'\r\rHer mother looks at her curiously as she goes, but shrugs and turns to you. 'Hello~ Is there something wrong?'\r\rYou shake your head, saying you just wanted to visit.\r\r'Oh, well then, please, come in. Sit down and have some tea~,' she smiles and ushers you through. She sits you at the kitchen table and gives you a cup to sip from and she sits beside you.\r\r'So... I guess you'd like to know how Lila is doing.", true);
if (lilaMilk == 0){
outputMainText(" Since she's gotten into the whole milking thing, she's been taking pretty good care of herself. I'm actually fairly surprised at how well she does. Once I taught her how to express herself, she makes sure to go into the bathroom every couple of hours and carefully take care of her, umm... nipples. And then she'll clean up everything and be as pleased as a peach for the next couple hours. It's actually quite cute, I think.' She chuckles a little.", false);
} else {
if (lilaMilk <= 2){
outputMainText(" She's been taking good care of herself, but even though she is quite vigilant about expressing herself every couple of hours, she'll still sometimes wind up leaking and making a mess in her clothes. She doesn't like when I laugh at her for it, and she'll storm into the bathroom right away, but by the red in her cheeks I think she kinda likes it.' She giggles at the thought.", false);
} else {
if (lilaMilk <= 5){
outputMainText(" Though she loves how much milk she's been making, she's been starting to have a tough time keeping up with it. Her little hands have trouble fully expressing herself, so I have had to help her. She sits in my lap taking care of her smaller breasts and I'll take care of her bigger breasts. Yet, despite expressing her regularly, she'll just start leaking soon after an hour. But, it's a nice bonding experience.' She sits back in her chair and smiles.", false);
} else {
if (lilaMilk <= 8){
outputMainText(" Her milk has gotten to a point where she hardly bothers express herself to keep up her supply anymore. Now she tugs on my dress whenever she's feeling engorged and we'll sit over a bucket and milk her the best we can. Otherwise she'll just walk around with a wet front because it's nearly impossible to completely drain her. I've considered lining her dresses to better hide the milk, and her rather... obvious nipples, but she's been making so many new friends with it and she's been so happy that I don't think it's a very big deal. Heck, even I've been a tad eager to start lactating again myself.' She chuckles a little to distract from her hand sneaking over to hide a breast as a moist blotch begins to spread.", false);
} else {
if (lilaMilk <= 12){
outputMainText(" I'm actually quite surprised at how much she's... grown, from how milky she's gotten. It seems slightly odd to see her... jiggle like that, especially when she gets happy and starts spraying everywhere. My daughter leaks more than I ever did... But! We enjoy it. Since I've gotten back into lactating with her, we have made it a habit of suckling from each other. It's much easier than doing it manually by hand and it's so nice.' She smiles brightly, despite her breasts sitting on the table and blatently leaking through her dress into small puddles.", false);
} else {
if (lilaMilk <= 18){
outputMainText(" My goodness has she gotten milky. I don't know why I bother to put her in those dresses; I can see through the things within minutes with the rate she leaks into them. Heck, when we're suckling from each other, sometimes I don't even bother to lift her clothes, since I can suck right through them. And I can't even swallow it all... Thank goodness she's got all those friends to help. Although, I kinda drink most of it and I think my daughter's 'uniqueness' has kinda been rubbing off on me...' She pauses as she shifts in her seat, a squishing sound coming from her bottom. Then her breasts spurt up a bit, spewing some milk across the table. She blushes a bit and stands to get a towel to wipe it up. As she turns away, you can see her tail twitching a little with clear webs stretching from its underside to a blotch on the backside of her dress.", false);
} else {
if (lilaMilk <= 19){
outputMainText(" My that girl has gotten so messy. Milk. Everywhere. Most of this isn't even mine!' She brushes at her dress, blotched here and there all over, with the ones around her nipples even larger. 'We've got buckets all around the house, just so she can squeeze out a few cups whenever she has the time. I have to roll over and squish her tits in the middle of the night so she doesn't wake up sore. Those things are getting close to being as big as mine and she's nowhere near when I grew them! But, we do get all the milk we want. She drinks some of mine, I drink a lot of hers, she drinks a lot of hers; so we're happy cats around here. Except for one little thing that seems to come with ingesting her milk...' She doesn't bother to mention what that little thing might be. Instead, she 'accidentally' pushes a spoon off the table and it bounces away. She stands up with a slight twitch and turns around to bend forward and pick it up. Clear strands still stretch out from her rump to the chair, with webs of the stuff swatting off her tail as it flicks about, her dress quite drenched on the backside. She bends down far, giving your a spectacular view of her backside, especially when her thick swollen lips nip at the cloth and push through another fresh gob as she leans back a little towards you, like she were trying to allure you. However, she quickly pops back up with a squish of her nethers, realizing what she was doing, and quickly sits back down with a tinge of red in her cheeks. 'S-Sorry...'", false);
};
};
};
};
};
};
};
if (lilaVulva == 0){
outputMainText("\r\rHeavy breathing can be heard from a few rooms over, causing Mommy to blush a little.\r\r'And it seems she has learned some techniques to help deal with herself. It's not a bad thing, but even when we have company over...' She trails off.", false);
} else {
if (lilaVulva <= 2){
outputMainText("\r\rLight gasps can be heard from a few rooms over, causing Mommy to blush.\r\r'And it seems she's really... developing. A bit faster than she's supposed to, I think, because she's been walking around like she's got something stuck between her legs. Kinda cute, when she's not masturbating when we have company over...' She sighs with a shrug.", false);
} else {
if (lilaVulva <= 5){
outputMainText("\r\rGasps and quiet mewling can be heard from a few rooms over, causing Mommy to blush quite a bit.\r\r'I really shouldn't be surprised. That girl's little naughty bits are bigger than mine. And on that small body, she walks around here with a kink in her step all day, leaving a splotch of her slime whereever she sits. It's really cute seeing her deal with it, but she winds up masturbating so frequently that it makes even me seem conservative...' She chuckles at the comparison.", false);
} else {
if (lilaVulva <= 8){
outputMainText("\r\rHeaving sighs and slurping can be heard from a few rooms over, causing Mommy's cheeks to turn quite red.\r\r'I'm a bit jealous of the girl. It sounds like she has more fun than I do, at that sort of thing... Though when I clean her, even I have trouble palming that huge pussy of hers. I try to discourage her from holding it wherever we go, whether it be out to visit family or even to go to the market, but with it almost bobbing between her legs like that, I wouldn't blame her. I'm sure she'll get used to it eventually.' She shrugs.", false);
} else {
if (lilaVulva <= 12){
outputMainText("\r\rHeavy moaning and moist splattering about a wooden floor can be heard fairly clearly throughout the hut. Mommy just shakes her head with a chuckle. 'That girl is ridiculous with her masturbating. Makes such a mess... Not that she doesn't make a mess otherwise, though. Everywhere she sits becomes filled with a puddle of warm goo, even if she doesn't orgasm from grinding her naughty place as she sits on it. And I doubt she'll ever be able to wear panties with bits that large, she already gets wedgies from her dresses. She's beyond camel-toe; she doesn't leave much to the imagination when her pussy starts chomping down on the fabric... Oh my the stares she gets. I can practically see the men coming in their pants just looking at her~' She lets out a laugh.", false);
} else {
if (lilaVulva <= 18){
outputMainText("\r\rLoud cries and wet slapping echo around the hut. Mommy squirms in her chair, looking a bit uncomfortable. 'I must admit, I'm a bit envious of her. She has such powerful orgasm... Even though she leaves trails of slime everywhere and large puddles whenever she comes, it kinda makes me aroused just thinking about how intense it must be. Every night, together in our bed, she winds up grinding against my leg in her sleep. I wake up and... I can't help but masturbate along with her. And its not just me, either. When she walks around with that thing between her knees, if I'm not paying close attention she curl up and start masturbating right in the middle of public. And when she's not walking, she'll be humping whatever she sits or lies down on, whether she's conscious of it or not. I guess that's what happens when you sit on that part of your body instead of your own butt...' You catch her hand stealthily disappear beneath the table as she thinks about the prospect, though you don't say anything.", false);
} else {
if (lilaVulva <= 19){
outputMainText("\r\rShouts of ecstacy and wet spurting and moist slurping and thick splattering fill the hut. A hand obviously pushes down beneath the table into Mommy's lap as she shivers a tad. 'My little slug~' She chuckles as she pants a little. 'She always scowls at me when I call her that. But with the way she almost drags across the ground, leaving a trail of slime behind her, what would be a better nickname? Although, I really hope she doesn't actually start having to move like a slug... As it is, she shivers and shakes whenever she plops down or accidentally drags it across something, having an instant orgasm. Even at night, while we sleep together in the bed, the big thing makes the bed all slick and wet, rubbing and pushing against everything, until she finally wraps her legs around one of mine and devours my knee as she humps with that thing. Completely asleep, too, totally unconscious. And that huge clit... Sometimes in the middle of the night, I can't help but-' She catches herself, her flicking tail halting in embarrassment as she bites her tongue to keep from saying more as her face is as red as can be.", false);
};
};
};
};
};
};
};
if ((((lilaPreg <= 35)) && ((lilaVulva >= 11)))){
outputMainText(" 'I also like to poke fun at her swollen tummy. I know she's not fat, but squishing it and making her squirm like that is just so much fun~'", false);
} else {
if ((((lilaPreg <= 70)) && ((lilaPreg > 35)))){
outputMainText(" 'I also can hardly believe I'm going to be a grandmother already... But, it was bound to happen sometime or other, I'm just glad it wasn't with one of her brothers.'", false);
} else {
if ((((lilaPreg <= 100)) && ((lilaPreg > 70)))){
outputMainText(" 'I also hope she gives birth soon... I'm not sure if it's the hormones or what, but she's as randy as ever, it seems. And when she starts having her... 'fun' like this, I'm always afraid she'll topple over with that great big belly of hers. I mean, it's a normal pregnant belly for my size, but on her small frame it's a tad silly.'", false);
};
};
};
if (lilaPreg == -1){
outputMainText(" 'But, her kittens are doing well. They spend most of the day napping or playing with each other in the bedroom, in a pen until they're big enough to not hurt themselves. Lila and I both take very good care of them, although it is odd seeing my daughter with children already... Thankfully the local alchemist gives us a good supply of anti-pregnancy potions so I don't have to worry about any more. Lila's just one of those cases of her first heat not going away, no matter how satisfied she gets. It happens every now and then for felins, but she'll grow out of it eventually, whether it be weeks or months or years. Though I guess her brothers and father will have to stay in our auxilliary hut next door. It's customary to keep the males outside when felin girls go into their first heat, to prevent any 'accidents'.'", false);
};
outputMainText("\r\rLila steps into the kitchen with the two of you, still a little out of breath and with a kink in her step. 'Umm... So what have yew and Mommy been talking about?'\r\rYou and her mother laugh, making up some excuse. The three of you continue to drink tea and chat about various things, but eventually Lila starts to get antsy again, thanks to your presence, and her mother suggests that it is probably a good place to stop. Lila hops up and gives you a great big hug, then proceeds to scamper off into the hut once more. Her mother giggles and hands you some tea mix, thanking you for the company and letting you know you're welcome any time, as long as you keep her daughter safe.", false);
hrs = 3;
itemAdd(226);
doEnd();
};
};
} else {
if (lilaRep == 4){
if (percent() <= 100){
outputMainText("You spot Lila walking along at a rather rapid pace, though she doesn't seem to be terribly aroused like she normally does. You flag her down just to check up and make sure.\r\r'Oh, hewwo!' She seems a bit surprised. 'I was going home for bath-time. Would you like a bath too?'", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("You nod, saying it would be nice. She grins and grabs your hand, pulling you along with her back to the hut.\r\rHer mother spots the two of you coming and looks at you curiously, wondering why you came along.\r\r'My fwiend would like a bath too, Mommy.'\r\r", true);
if (((((((((((cockSize * cockSizeMod) > 96)) || (((ballSize * balls) > 120)))) || ((breastSize > 120)))) || ((tallness > 84)))) || ((udderSize > 60)))){
outputMainText("Her mother eyes your rather large proportions. 'Umm... I'm sorry, but I don't think I could possibly take care of you myself. Maybe if I had a few friends over, we could, but... I simply don't have the ability.'\r\rLila looks a bit disappointed that you couldn't join, but you shrug it off and say it's quite alright. You leave the two to take care of themselves and you head back to your own thing.", false);
hrs = 2;
doEnd();
} else {
outputMainText("'Is that so?' She chuckles and shrugs. 'Alright, come on in and strip down.'", false);
viewButtonOutline(1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0);
viewButtonText(1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0);
buttonWrite(1, "Strip");
buttonWrite(3, "Don't Strip");
buttonWrite(6, "Leave");
doListen = function ():void{
if (buttonChoice == 1){
outputMainText((("Stepping inside, you already begin to remove your " + currentClothes()) + ". Lila has trouble focusing as her eyes keep staring at your body, curious to its differences from her own as she removes her sundress and exposes her nipples and dainty little slit. However, her mother urges her along into the bathroom, making sure the girl doesn't dawdle.\r\rThe bathroom is fiarly sparse and actually lacks any sort of tub or main faucet to get water from. It even has a rather plush carpet. Though it's quickly apparent as to why when the two of them sit down upon it. Lila's mother holds a cup she has been carrying up to her mouth and takes a swig, swishing it around before swallowing with a gasp. Lila then does the same and proceeds to begin licking at the fur of her arm. Her mother's tongue, being much larger, assists her daughter and starts licking at the girls back.\r\rWith each lick, Lila's coat seems to shine cleanly and softly, thanks to whatever was in that concoction. The two female felins quickly cover the girl's entire body, finishing off near the groin. Lila stretched her leg high over her head, curling around to lick further and further up her inner thigh. Yet, once she gets too close, her leg and tail begin to twitch about, her tender lips swelling and reddening slightly with her heat kicking in once again.\r\rHer mother rolls her eyes and chuckles, taking care of the girl's nether regions for her. Lila whimpers and mewls as her mother licks and laps at her sensitive sex, making sure to clean every crevice. The woman continues her efforts, even as some honey oozes out and dabs upon her nose. By the time she's done, Lila rolls backwards with a quiver, blushing as she climaxes softly...\r\rSmacking her lips, the girl's mother looks up to you. 'Your turn. Just sit down over there.'"), true);
doNext();
doListen = function ():void{
outputMainText("You sit down on the plush carpet with Lila. Mommy takes another swig and instantly begins to assault you with her own tongue.", true);
if (skinType == 2){
outputMainText(" The stuff feels nice on your fur, her rough tongue combing it in nicely. You can feel yourself glisten with a healthier coat, in a rather tingly and giddy kind of way.", false);
stats(0, 0, 1, 1);
} else {
outputMainText(((" Her tongue feels quite rough along your " + skinDesc()) + " and the concoction tinglies incessantly, making you squirm as you sit there. This probably wasn't the greatest idea..."), false);
stats(0, -1, 2, 1);
doLust(10);
};
outputMainText("\r\rLila soon recovers from her bit of fun with red cheeks and tries to jump right in as well. Without thinking too well, she takes a swig and immediately falls forward into your body, unintentionally starting at your lap. Trying to play it off as part of the plan, the small girl begins to lick away at your groin, making you begin to really squirm.", false);
if (cockTotal > 0){
outputMainText(((((" Her tongue climbs higher and higher along " + oneYour(1)) + " growing length") + plural(1)) + ", not really looking at what it could possibly be. All that she does know is that once she reaches the tip, a bit of pre keeps seeping from a hole and her tongue keeps lapping up all she can to keep it clean, until strands of it stretch between you and her mouth and dribble down her chin.\r\rWhatever is in the stuff she used, it tingles tremendously and causes you to quickly buck and spurt all over the little girl's face. Caught by surprise, Lila jumps backward and wipes the stuff off with an arm, then proceeds to clean her arm off as well, making strange faces as she tastes the stuff.\r\rHer mother much more wary, the woman moves in to take care of the rest of the mess. Although, afraid to explain to her daughter what really just happened, she's left licking it up herself as though it was a normal occurence, giving you quite the evil eye. Though she can't help but giggle at the humor in the situation as her daughter continues to lick up the white spunk oblivious to its lewdness."), false);
doLust((-(sen) * 2));
if (cumAmount() > 2000){
outputMainText("\r\rOn the other hand, she herself is having trouble keeping up with your enormous load, gulping down more and more despartely. Eventually, however, she gives up. Grabbing a bowl, she pushes it over the tip of your cock and presses it firmly against your urethra until the ejaculation comes to an abrupt halt, backing up inside of you.\r\rShe leans in and whispers in your ear. 'Could you please take care of that elsewhere? I'm afraid you're a bit too... messy to finish here, so if you don't mind...'\r\rYou nod, understandingly. With Lila still busy, you hold the bowl tightly against your erection while you attempt to put on your clothes. Then you run out of the hut with a meager goodbye, rushing", false);
if (ment > (lib + 5)){
outputMainText(" back to your own place to release what has clogged up inside of you...", false);
} else {
outputMainText(((" outside to dangle your " + cockDesc()) + " thing over the rail of the wooden bridge and blowing your load on whatever ventures down below. You then rush away, just in case..."), false);
};
hrs = 3;
doEnd();
} else {
outputMainText("\r\rSoon finishing up, leaving the two of you clean, Mommy gulps the last of the unexpected taste and smirks at you. 'Alright, that's good enough. Here, take some of this, you might like it some time. Now you should better get going before you make Lila dirty again.' She sticks out her tongue and hands you some of the concoction.\r\rYou take her advice, clothe yourself, give the naked Lila a hug goodbye, and head off.", false);
itemAdd(227);
hrs = 3;
doEnd();
};
} else {
if (vagTotal > 0){
outputMainText(((((((((" Her tongue slips in and out of your " + vulvaDesc()) + " folds, thinking of it no differently than her mother. Which is an odd thought, considering how deftly her tongue lashes around your ") + clitDesc()) + " clit") + plural(2)) + ". Between her efforts and the exreme tingling of the concoction, you soon find your ") + hipDesc()) + " hips bucking upon the plush carpet as you climax into the girl's mouth.\r\rLila's mother giggles at your reaction. 'Good, isn't she?'\r\rNot inquiring about the statement, you wait a few moments and you're soon as fresh as a can be. You take your time getting up and getting clothed when Mommy mentions Lila needs to help her with her own bath, but you didn't need to stick around for that. She gives you some of the cleaning solution and nudges you out, allowing you to give the naked Lila a hug and say goodbye before you're on your way."), false);
itemAdd(227);
doLust((-(sen) * 2));
hrs = 3;
doEnd();
} else {
outputMainText(" Though there's no big difference, since you don't have anything down there. So, instead, you soon fine yourself quite clean as they finish up quickly between their two tongues. You take your time getting up and getting clothed when Mommy mentions Lila needs to help her with her own bath, but you didn't need to stick around for that. She gives you some of the cleaning solution and nudges you out, allowing you to give the naked Lila a hug and say goodbye before you're on your way.", false);
itemAdd(227);
hrs = 3;
doEnd();
};
};
};
};
if (buttonChoice == 3){
outputMainText("'Oh, ok, so you'd rather just help Lila then? An extra tongue is always welcome!' Mommy speaks as though you already knew what the job entailed.\r\rYou step inside to spot Lila already removing her sundress, standing there naked with her nipples and dainty slit exposed for you both to see as she waits. Her mother then guides you both along into the bathroom, making sure the girl doesn't dawdle.\r\rThe bathroom is fiarly sparse and actually lacks any sort of tub or main faucet to get water from. It even has a rather plush carpet. Though it's quickly apparent as to why when the two of them sit down upon it. Lila's mother holds a cup she has been carrying up to her mouth and takes a swig, swishing it around before swallowing with a gasp. Lila then does the same and proceeds to begin licking at the fur of her arm. Her mother's tongue, being much larger, assists her daughter and starts licking at the girls back.\r\rWith each lick, Lila's coat seems to shine cleanly and softly, thanks to whatever was in that concoction. Shortly, her mother hands you the cup as well and urges you to take a sip to help with the process. As it goes into your mouth and down your throat, it feels quite tingly and fresh, your mouth feeling both burning and cold at the same time and continuing on down your throat as you swallow. Besides feeling a bit... odd, you otherwise have no problem joining in.\r\rWith her mother on the back, you decide to take the front. The fur is soft and sweet smelling, and actually tastes fairly nice as well. Your tongue laps across Lila's nipples, making them stiffen against your lips. Lila stretches her leg high over her head, curling around to lick along her thigh as you begin to touch down further and further towards her nethers. You can hear her begin to pant, her breathing growing heavy until her tender lips are swollen and red with her heat kicking in once again.", true);
outputMainText("\r\rHer mother rolls her eyes and chuckles, nodding for you to take care of her. With another nod, Lila begins to whimper and mewl as you lick and lap at her sensitive sex, making sure to clean every crevice. You continue on, even as honey begins to ooze out and dab your nose and fill your mouth. You gulp down as much as you can, trying to make everything clean, but eventually Lila rolls backwards with a quiver, blushing as she climaxes softly...", false);
doLust(10);
aff(4, Math.floor(((percent() / 20) + 4)), -1);
doNext();
doListen = function ():void{
outputMainText("Smacking her lips, the girl's mother looks up to you. 'KO! You win!.' She chuckles. 'Pretty good, I must say. I'm sure you must have bathed your fare share of kittens. But, anyways, once Miss Hair-Trigger here gathers herself, it'll be my turn for a bath. As great as I'm sure you must be, I'd like to have a little mother-daughter time, if that's alright. Though here, take some of this wash for yourself.'\r\rShe hands you some of the concoction and lets you give the naked Lila a hug before seeing you off.", true);
itemAdd(227);
hrs = 3;
doEnd();
};
};
if (buttonChoice == 6){
outputMainText("On second thought, you think it best to head back out. You're not quite sure if you want 'that' kind of bath.\r\rLila waves goodbye and her mother sees you off, and the two disappear into the hut to take care of the girl's bath.", true);
hrs = 2;
doEnd();
};
};
};
} else {
outputMainText("You shake your head, saying you're clean enough. She looks at you dubiously, but shrugs. 'Okay, see yew latew!,' and she continues to hurry home.", true);
hrs = 1;
doEnd();
};
};
} else {
if (percent() <= 33){
} else {
if (percent() <= 50){
};
};
};
} else {
if (lilaRep == 3){
outputMainText("You come across Lila as you walk through the city. She grins and runs up to you, pouncing you with a great big hug around your waist. She thanks you again, although she shifts awkwardly as she lets go. 6 blotches form across her dress from chest to belly, with another, smaller one below...\r\r'Uhh... Umm... I-I kinda have a diffewent problem now... The other kids don't know yet,' she reaches under her dress, pulling out a large square of absorbant cloth that has been soaked through, 'and I'm afwaid of Mommy finding out. C-Can yew help me again?' She blushes.\r\rNodding, you think it best to at least see what is going on. You take her hand and once again lead her up to your private hut. As you enter, you turn to shut the door-like curtain so nobody outside can see. Yet, as you turn back, you already find Lila pulling up her dress to show you her new issue. She get a bit stuck trying to pull it over her head, leaving the rest of her body completely naked. Thin streams of white liquid slowly drizzle down her half-dozen nipples, soaking into her fur. Not quite as bad as the slimy mess that has returned between her legs, but enough to leave her with a bashful blush as she finally frees herself and finds you staring at her dribbly nipples.\r\r'I-I thought if I took a dwink like Mommy sometimes does, I would be older like her. But then the othew day my chest felt funny. I wubbed it and then milk stawted leaking. I keep wubbing it when I get milky, but it doesn't stop and I have to walk awound with a towel so nobody sees. What should I do?'", true);
viewButtonOutline(1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0);
if (checkItem(103)){
Choice1.visible = true;
};
buttonWrite(1, "Dry Sand");
buttonWrite(5, "Lick");
buttonWrite(10, "Get Help");
doListen = function ():void{
if (buttonChoice == 1){
outputMainText("You reach into your bag and pull out a dose of Magical Sand of Dryness. Handing it to her, she nods and begins to rub it around her naked body. You watch as her cheeks turn redder, her nipples growing stiff and sticking out more obviously, droplets of milk spilling from their tips and onto the floor. The sand quickly does it's work, on the other hand, and the milk quickly dries up.\r\rHowever, the mess between her legs only seems to have amplified, drooling from her crotch down to her knees and then some. Her hands continue to move about herself, her eyes closing and her breath turning into quiet 'mews'. Both hands find their way down between her legs and she starts masturbating right before your eyes. She doesn't seem to mind your presence, your previous encounter reminding her how to take care of herself, especially as her body begins to quiver.\r\rYou manage to duck in just in time and catch her as her legs buckle out from under her. She breathes heavily over her shoulder, a purring echoing through her body, and she melts against your body. 'Th-thank yew...'", true);
doNext();
doListen = function ():void{
outputMainText("Her body goes limp within your arms, a little exhausted from her sudden excitement. You opt to lift her up into your bed, letting her take a nap as you curl up to cuddle beside her.\r\rA few hours later, she rustles awake, well rested with a big content smile on her face. Her nipples don't seem to be leaking at all anymore and the other leak down below has been sated for now. She kisses you on the cheek for saving her once again, then picks up her sundress and drops it over her body rather lazily, neglecting her half-naked rump and groin as the fabric gets caught on her hip. She wistfully wanders back off into the city, pleasantly pleased.", true);
doSexP(15);
loseManyItem(103, 1);
hrs = 4;
exhaustion = (exhaustion - 8);
lilaRep = 4;
doEnd();
};
};
if (buttonChoice == 5){
outputMainText("You give her a kind smile and kneel before her. Her eyes go wide, her cheeks reddening further, as she watches your face close in on her chest, your mouth opening wide. She winces a little in fear as your moist tongue touches against her fur, but she quickly lets out a subdued gasp as you lick up across her sensitive nipple.\r\rHer milk tastes sweet on your lips as you lap it up from around her areole. It instantly stiffens under your tongue, protruding more from her small body. A fresh drop of milk beads at the tip, as though expecting you to lift it away. Instead, your whole mouth comes down upon it, Lila squirming as your lips latch down upon her nipple. She mewls cutely as you begin to suckle from her, the mess between her legs spilling out across your own. You gulp down as much of her milk as you can, the small amount rapidly running dry. Then you release, elliciting another gasp as her sensitive and wet nipple is touched by the cooler air outside of your mouth. Then another as your mouth tends to another nipple to release more. Then another, and another.\r\rBy the time you're down to the last couple of nipples, the small felin girl is curled around and hugging your head as she purrs, her hips bending up towards you to help you reach the bottom pair and her honey drizzling down your neck. You find it difficult to latch on as you lick around. Her hips begin to buck against you, trying to rub her little button against your body. Her thighs are drenched with her arousal, your efforts forcing her natural instincts to take over. So, you decide to go with the flow and drink from her other leaking place.", true);
doNext();
doListen = function ():void{
outputMainText((("Wrapping your arms around her body, just above her tight little tush, you can feel her long soft tail whisk back and forth, twitchin expectantly. You drag your chin down between her legs and a mewling moan escapes her lips as your mouth opens around her small mound, softly biting down on it. Her hands rake across your " + clothesTop()) + ", grasping to hold on as her legs thrust her faster against your face. Sufficiently coated in her feminine slickness, just a slight lick from your tongue around her little button sends her over the edge.\r\rHer body seizes against your head. A flood of her fluid spills across the floor with an audible splash. All the while a meek whimper echoes about her throat, desparate to not turn into a loud cry of joy.\r\rShe quickly goes limp, relying on you for support. You slowly push her backwards, lifting her up onto your bed. She looks as though she's about to dose off, her tail wistfully brushing from side to side, but her hand dances across her nipples in thought before she looks up to you.\r\r'D-Do you like my flavow? Would... Would you like me to keep making more?'"), true);
aff(4, Math.floor(((percent() / 20) + 4)), -1);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("You nod your head, brushing a finger across one of her still-full breasts and licking off the droplets that leak out to grab onto your skin.\r\r'Well...', she smiles, her intense blush fading as she averts her eyes sweetly, 'I like yew tasting me too... So I will keep making milk fow yew. I don't care if Mommy or the othew kids find out.' She lifts her head just enough to kiss you on the cheek.\r\rThen she nods back against the soft bedding and drifts off to sleep. You cuddle up next to her naked body and do the same, sleeping for a few hours until she recuperates and she awakens. You help her put on her sundress and let her know that she's welcome with you any time.", true);
doSexP(30);
hrs = 6;
exhaustion = 0;
lilaRep = 5;
doEnd();
} else {
outputMainText("You shake your head, telling her that it's probably best that she not continue lactating. Not that you thought her flavor was bad, but that there might be troubles with her mother and friends.\r\rShe smiles and nods back. 'Okay, if yew say so. I don't have to worwy about Mommy then. Thank you for helping me so much, though.' She leans up to kiss you on the forehead. 'I'll say hewwo if I see you again.'\r\rFighting her tiredness, she lazily gets up from the bed and puts on the sundress. Though slime still drips down between her legs and leaving a trail behind her, much of it webbed up against her tail, she slowly walks back out into the city and waves goodbye.", true);
doSexP(15);
hrs = 2;
lilaRep = 4;
doEnd();
};
};
};
};
if (buttonChoice == 10){
outputMainText("You pat her on her head and tell her she should go confront her mother about that kind of problem.\r\r'Okay...' Her shoulders drop in reluctance.\r\rShe takes your hand and begins to walk you out the doorway, but then pauses two steps out as she realizes she bare-naked still, with milk and heat dripping from her body. Face as bright as ever, she dashes back in and tosses on her sundress and rushes back out to you. As she leads you to her home, you take a moment to tug down the backside of her dress after walking for a while and realizing her bare bum had been exposed through the hasty dressing.\r\rAs you begin to approach her home, the girl's mother spots you through the doorway as you walk beside her moist daughte and jumps to greet you. 'Oh, hello! Ummm... Might you be the one she's been going on about, something about 'help'?', she eyes you suspiciously.\r\rYou stammer to get the words out, not exactly sure how to explain it.\r\rA grin spreads across her face as she lets out a chuckle. 'Hehe, don't worry. Lila has seemed much happier than when she first went into heat, and the way she talks about you being so nice to her lets me know you took good care of her. Although, umm... What's wrong now?' She looks down to Lila, who hangs her head in shame and tries to hide the blotches that decorate her dress.", true);
doNext();
doListen = function ():void{
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Drink it");
buttonWrite(7, "No thanks");
outputMainText("'Ohh, so that's what happened?' Lila's mother blushes as you explain the situation to her. 'I guess she saw me down a Cat's Meow every now and then when she wanted some motherly milk and thought that it helped me be more of an adult, a parent... Well-' She bends down to her daughter's height, rubbing the girl between the ears and trying to cheer her up. 'It's okay sweetie, as long as you didn't hurt yourself. Milk isn't bad for you, you know that. Though it might be a little...' She giggles. 'silly for someone your age. Do you want to stop it, honey?'\r\rLila looks around, trying to think of what to say. 'Ummm... What would I do with it?'\r\rHer mother smirks again. 'Silly...'\r\r She takes her daughter's hand and leads her inside, motioning for you to wait a few minutes. You hear odd gasping and mewling coming from within, and not the pained or frightened kind either. It doesn't take long before they both come back, Lila rubbing her front with a blush on her face and her mother carrying a teacup in her hand.\r\rLila's mother offers you the teacup, wiping some white from her upper lip. 'Would you like some? It's fresh~'\r\rLila looks up at you, curious as to what you will do.", true);
doListen = function ():void{
if (buttonChoice == 5){
outputMainText("You accept the cup, noticing it's warm in your hand. Halfway filled with milk, it does indeed seem quite fresh. Lifting it to your lips, the taste is sweet and light on your tongue. You sip it all the way down, going faster and faster until it's completely empty. With a smile, you lick your white mustache and thank them for the drink.\r\rLila's eyes light up as you seem quite pleased with something she made, her tail flicking happily behind her. 'No Mommy, I don't wanna stop it. I wanna keep making milk.'\r\rHer mother lets out another chuckle. 'Alright honey. But just remember, it's up to you to take care of it. I don't want to hear you moan and groan about how your boobs hurt when you haven't milked them or anything.'\r\r'I won't!' The girl is quite excited, nearly hopping up and down as her eyes dart bashfully up at you and the cup you hold. However, her legs quickly cross as she feels some moisture between her thighs, the blotch at her groin growing.\r\r'Umm... Excuse me...' She dashes off into the hut.\r\rOnce more, her mother laughs. 'I'm sorry she ran off on you like that, I'm sure she'll be a while. She seems to have learned a new trick to deal with her heat and tends to use it often, it seems. I wonder who could have possibly taught her how...' Her eyes roll towards you.\r\rAfter a few moments of making you squirm beneath her glare, she sighs with a smile. 'Ahh well. She's becoming her own woman. At least she's not as young as I was.' She averts her eyes with embarrassment. Then she places a hand on your arm and strokes it. 'You're welcome here whenever Lila wants you and as long as you take good care of her.' She winks and then says her goodbyes, trying to make you leave before some loud mewls echo from deeper inside...", true);
hrs = 3;
lilaRep = 5;
doHP(5);
doSexP(25);
doEnd();
} else {
outputMainText("You shake your head, not really wanting the offered beverage.\r\r'Hehe, it's alright, it's not for everyone.' The mother then downs it herself, licking up the resulting mustache.\r\rHowever, Lila watches as you reject her milk and her expression turns somewhat serious. 'Mmm... I don't wanna make milk, Mommy. We can stop it.'\r\rHer mother pats her on the head again. 'Alright honey, just try to not play with it so much and you'll stop making milk; I'll help you.' Then she turns to you. 'Thanks for taking care of my daughter... again. I won't pretend to know how she has taken up certain... 'habits' to help her when her heat gets bad, but she seems much better for it. I hope you'll continue to take good care of her in the future and never harm her.' She gives you a wink.\r\rEager to get dry again, Lila give you a quick hug and disappears into the hut. Her mother chuckles once more and says her goodbyes, giving you a few coins for you assistance.", true);
doCoin(20);
hrs = 2;
lilaRep = 4;
doSexP(5);
doEnd();
};
};
};
};
};
} else {
if (lilaRep == 2){
outputMainText("You come across the small felin girl you had met before as you walk through the city. She walks up with a smile to say hello and thanks you again, though she shifts awkwardly as she stands, a small blotch forming on her dress at her groin as she recalls how you helped her...\r\rWith some slight embarrassment in her tone, she speaks 'Uhh... Umm... D-Do yew mind helping me like you did before? I-It seems to have come back...'\r\rHer feet rub against each other as she looks up at you with an adorable expression. Obviously whatever you did before was only a temporary solution, for some reason. Not that it's a problem though, as she seems to enjoy your help.", true);
viewButtonOutline(1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0);
if (checkItem(103)){
buttonWrite(1, "Dry Sand");
Choice1.visible = true;
};
buttonWrite(5, "Fondle Her");
buttonWrite(10, "Get Help");
doListen = function ():void{
if (buttonChoice == 1){
outputMainText("You reach into your bag and pull out a dose of Magical Sand of Dryness. You give it to her and she seems to know what to do. Before you can turn around she immediately lifts her dress.\r\rHer little fuzzy nether-lips are pink and swollen, with webs of her feminine arousal splayed throughout her small thighs. The lowest pair of her six nipples are also visible, glowing slightly red as she has probably been rubbing them too much lately. Blushing heavily, she takes the sand in her small hand and brings it down to her crotch. With a mewl she touches herself, her knees knocking together as she shudders. Small gasps escape her lips as she rubs it in, her hand slipping over her sensitive button again and again, more than is needed by the sand. The slickness of her young pussy slowly dries up, but that doesn't prevent her from collapsing to her knees as she shudders.\r\rAfter a few awkward moments, her eyes snap open, her cheeks even redder than before, as she jumps to her feet. Wobbling a little, she brushes her dress down, her tail hanging languidly while the tip swishes from side to side, contently. She presses her dress to her crotch with a hand and smiles.\r\r'It's not wet anymore!' She cheers happily.", true);
doNext();
doListen = function ():void{
outputMainText("Whether it was because of the sand or the relaxation in her lust, she seems to be dripping no longer. She lunges forward and wraps her arms around your waist, hugging into your groin.\r\r'Thank yew so much!'\r\rShe lets go and fumbles with one of her pockets.\r\r'Here, you can have my milk Mommy gave me. I alweady had enough today.'\r\rWith a smile and another hug, she gives you a bottle of milk before running off to join her friends in some tease-less fun.", true);
stats(0, 1, 0, 0);
doSexP(15);
loseManyItem(103, 1);
itemAdd(500);
hrs = 1;
doEnd();
};
};
if (buttonChoice == 5){
outputMainText((("You offer to masturbate her to dismiss her heat, though you mention it might be a bit... intimate. But, already accustomed to your presence, she smiles with a nod. Taking her hand, you lead her to your private hut high in the trees where you have been sleeping.\r\rSitting beside her on your bed, she pulls up her dress in front of you before you can turn away. Her little fuzzy nether-lips are pink and swollen, with webs of her feminine arousal splayed throughout her small lap. Blushing heavily, she turns to you and mewls,\r\r'B-Be gentle, pwease.'\r\rNodding, you carefully caress up the girl's thigh. She clenches her eyes shut at first as your hand approaches her sensitive area. Her tiny nether-lips are so soft and delicate on your fingertips, like flower petals. Flower petals completely drenched in dew.\r\rShe lets out a short gasp as you focus upon her little button. Her small hips squirm on the bed, her thighs quaking uncontrollably. All the while, her eyes still shut.\r\rWithin just a few moments of gently fondling the girl, her body seizes and she lets out stuttered mewls. Your hand is swamped in a flood of her feminine honey, drenching her dress and the side of the bed. She falls towards you, gasping for breath as she grasps at your " + clothesTop()) + "."), true);
doNext();
doListen = function ():void{
outputMainText("A few minutes later, she sits upright, a bit woozy. As her wits return to her, she looks down at your hand and how it glistens with her moisture. \r\r'I'm sowwy... B-But thank you, it was really nice!' She jumps up from the bed, letting her dress fall. 'Here, Mommy gave this to me to help me grow up into a big girl.'\r\rShe pulls a vial from her dress and hands it to you, then gives you a big hug before darting out of the hut, her dress still hiked up around her waist and stuck there from all the moisture, leaving her nethers free for all to see.", true);
doSexP(10);
itemAdd(114);
hrs = 3;
doEnd();
};
};
if (buttonChoice == 10){
outputMainText("You smile gently, telling her that you'll help her tell her Mommy. She nods with a blush, taking your hand and leading you back to her hut, leaving a slick trail behind her the whole way. Her tail twitches sporadically as she whimpers along the way, her thighs rubbing tightly together. As you approach, her mother spots you through the doorway and comes out to greet you.\r\r'Hello, may I ask what is going on?'\r\rShe eyes you with her daughter, especially noticing the moist river in her daughter's dress. Taking some time, you explain the situation. With a nod and a tinge of redness in her own cheeks, she speaks,\r\r'Thank you for bringing her back to me. I'm so sorry to have involved you like this! I should have noticed when she was so quick to get out of the hut this morning... If you don't mind waiting outside, I'll be sure to repay you for your kindness; once I take care of my daughter.", true);
doNext();
doListen = function ():void{
outputMainText("Nodding, you wait outside the doorway as the felin woman takes her daughter's other hand and the two disappear into the hut.\r\rYou hear them talking within, though it's too faint to make out. But, several minutes later, it's hard to miss the high-pitched mewling, followed by loud moans that echo back out. A few minutes more, and some shuffling can be heard as the mother returns to the doorway.\r\r'Thank you once more. Please, take these coins as a small repayment for being so gentle with her. If she comes to you for help again, I'll gladly pay you more for assisting!'\r\rShe hands you a bunch of coins. She then blushes heavily as a strand of a clear slick fluid splashes down into her cleavage, having missed wiping it from the fur on her chin. She nods in thanks again before ducking inside, trying to hide the wet fur...", true);
doCoin((Math.floor((percent() / 4)) + 3));
doSexP(5);
hrs = 3;
doEnd();
};
};
};
} else {
if ((((((((((((cockMoist > 9)) && ((cockMoist <= 12)))) || ((((((cockMoist > 6)) && ((cockMoist <= 9)))) && ((lust > 25)))))) || ((((((cockMoist > 3)) && ((cockMoist <= 6)))) && ((lust > 50)))))) || ((((((((cockMoist > 0)) && ((cockMoist <= 3)))) && ((lust > 75)))) && ((cockTotal > 0)))))) || ((((((((((vagMoist > 9)) && ((vagMoist <= 12)))) || ((((((vagMoist > 6)) && ((vagMoist <= 9)))) && ((lust > 25)))))) || ((((((vagMoist > 3)) && ((vagMoist <= 6)))) && ((lust > 50)))))) || ((((((((vagMoist > 0)) && ((vagMoist <= 3)))) && ((lust > 75)))) && ((vagTotal > 0)))))))){
bc();
outputMainText((("A little felin girl slowly approaches you, an awkward kink in her step. The cat-like ears atop her head flick about anxiously as she coils her tail over and over in her nervous hands. She seems to be looking side to side for others, but her eyes keep glancing across you. Eventually, she comes right up to you and with a squeak in her voice and a slight lisp, she asks,\r\r'Umm... E-Excuse me. B-But can yew help me?'\r\rShe stares at the wet blotch in your " + clothesBottom()) + " and then moves her tail aside to reveal her own dress. From her groin all the way down to the ground runs a clear path of moistness, rather obvious now that she's revealed it. She speaks again, meekly and cutely,\r\r'Th-The other kids make fun of me because I'm so wet... They say I wee'd myself, but-but...' The fur on her cheeks blush red. 'It is my first heat and I-I was too embarrassed to tell Mommy... C-Can yew help me?'\r\rShe looks once more to your own wetness issue, hoping you know better how to handle it."), true);
if (lilaRep == 1){
outputMainText("\r\rYou've seen this girl before, yet she doesn't seem to recall your face nor what you might have done in the past. You probably didn't leave a strong enough impression or the memory got lost in her stress from last time.", false);
};
outputMainText("\r\r\rWhat do you do?", false);
viewButtonOutline(1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0);
viewButtonText(0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0);
if (checkItem(103)){
buttonWrite(1, "Dry Sand");
Choice1.visible = true;
};
buttonWrite(3, "Diaper");
buttonWrite(5, "Masturbate");
buttonWrite(6, "Lick");
buttonWrite(7, "Sex");
buttonWrite(10, "Get Help");
doListen = function ():void{
if (buttonChoice == 1){
outputMainText("You reach into your bag and pull out a dose of Magical Sand of Dryness. You give it to the poor girl and explain how to use it. She nods and before you can turn around she immediately lifts her dress.\r\rHer little fuzzy nether-lips are pink and swollen, with webs of her feminine arousal splayed throughout her small thighs. The lowest pair of her six nipples are also visible, glowing slightly red as she has probably been rubbing them too much lately. Blushing heavily, she takes the sand in her small hand and brings it down to her crotch. With a mewl she touches herself, her knees knocking together as she shudders. Small gasps escape her lips as she rubs it in, her hand slipping over her sensitive button again and again, more than is needed by the sand. The slickness of her young pussy slowly dries up, but that doesn't prevent her from collapsing to her knees as she shudders.\r\rAfter a few awkward moments, her eyes snap open, her cheeks even redder than before, as she jumps to her feet. Wobbling a little, she brushes her dress down, her tail hanging languidly while the tip swishes from side to side, contently. She presses her dress to her crotch with a hand and smiles.\r\r'It's not wet anymore!' She cheers happily.", true);
doNext();
doListen = function ():void{
outputMainText("Whether it was because of the sand or the relaxation in her lust, she seems to be dripping no longer. She lunges forward and wraps her arms around your waist, hugging into your own dampness.\r\r'Thank yew so much!'\r\rShe lets go and fumbles with one of her pockets.\r\r'Pwease, have this. It's not much... But I was going to drink it later to show I was a big girl. And now I don't have to!'\r\rWith a smile, she hands you a vial of Cat's Meow.", true);
stats(0, 1, 0, 0);
lilaRep = 2;
doSexP(25);
loseManyItem(103, 1);
itemAdd(105);
hrs = 1;
doEnd();
};
};
if (buttonChoice == 3){
outputMainText("You mention that you should take her to the local tailor to get herself a more 'fitting' piece for her outfit that will help her stay dry. She nods and takes your hand, but as you go to the tailor, her face turns pale as she sees what you mean. You grab a diaper from a shelf, with the only variety available being the extra poofy kind, and bring it up to the counter for purchase.", true);
if (coin < 40){
outputMainText(" However, you don't seem to have enough coin on hand to pay for it.\r\rYou break to her the bad news, but for some reason she seems especially joyful. And she's rather quick to get away from you, seemingly in a hurry to do something else... ", false);
hrs = 2;
lilaRep = 1;
doEnd();
} else {
outputMainText(" You pay the 40 coins for the diaper and turn to take her hand once again. Although, she seems rather afraid as you do...\r\rYou lead her back up to your private room and sit her up on the bed. She seems oddly silent, closing her eyes with an intense blush and trying to ignore the fact that you're laying her down and pulling up her sundress, exposing her dribbling nethers. Her lower lips are extra-pink and swollen, signs of her heat. You spread her legs wide and wipe up the mess with a towel, eliciting a small mewl from her, before pulling her feet high and raising her bum so you can wedge the diaper underneath. You place her back down, spreading her legs once more to pull up the flap and then fasten its sides.\r\rLifting her back up to a stand and checking to make sure her tail comfortably fits over the waistband, she doesn't seem particularly pleased. As her dress falls back down, the outline of the thick undergarment is quite obvious, though her wetness seems to have ended.\r\r'Uhh... Umm... Th-Thank you..'\r\rShe begins to head back out, waddling slowly. With each step she cringes at the crunch of the padding, her cheeks even redder than when you first met her. Her tail twitches in an annoyed sense and, somehow, you have a feeling she won't be wearing your gift for too long. Nor will she probably wish to remember this experience...", false);
doCoin(-40);
hrs = 3;
lilaRep = 1;
doEnd();
};
};
if (buttonChoice == 5){
bc();
outputMainText("You offer to help her learn how to take care of it herself, though you mention it might be a bit... intimate. Nervous and unsure, she meekly nods. Taking her hand, you lead her to your private hut high in the trees where you have been sleeping.\r\rSitting beside her on your bed, you tell her that she'll have to reach up to where it feels the hottest. Nodding, and without thinking, she pulls up her dress in front of you before you can turn away. Her little fuzzy nether-lips are pink and swollen, with webs of her feminine arousal splayed throughout her small lap. Blushing heavily, she turns to you and mewls,\r\r'I-I'm scared... C-Can you show me?", true);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
viewButtonText(0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0);
if (gender != 0){
buttonWrite(5, "On yourself");
Choice5.visible = true;
};
buttonWrite(7, "On her");
buttonWrite(10, "Don't");
doListen = function ():void{
if (buttonChoice == 5){
outputMainText((((("Pulling " + pullUD(2)) + " your ") + clothesBottom()) + ", you give her a good view of your "), true);
if (cockTotal > 0){
outputMainText((((cockDesc() + " appendage") + plural(1)) + ". She shrieks at the sight of such an odd thing, closing her eyes and running out the door, her wet dress sticking to her belly while her nethers are clear for all to see.\r\rFortunately, little girls showing off their nethers is somewhat common in Siz'Calit and nobody seems to pay any mind."), false);
doLust(3);
lilaRep = 1;
hrs = 2;
doEnd();
} else {
if (vulvaSize > 4){
outputMainText((vulvaDesc() + " female sex. It's so mature and large, so much stranger than her own, that the girl shuts her eyes and covers them with her hands.\r\r'I'm sorry miss lady, I-I don't think I'm weady for this'\r\rStill covering her eyes, she jumps off the bed and heads out the door of the hut, her moist skirt stuck to her belly and her nethers clear for everyone to see."), false);
doLust(3);
lilaRep = 1;
hrs = 2;
doEnd();
} else {
outputMainText((((((vulvaDesc() + " female sex. Not much different than herself, she stares intently at the moist webs that mirrors her own lap. Taking your fingers, you rub up through your cleft") + plural(2)) + " focusing on the ") + clitDesc()) + " button therein.\r\rDoing the same, the little girl lets out a gasp as she touches herself, her thighs twitching upon the bed. You smile at her, placing a hand on her head between her ears and continue to fondle yourself.\r\rAgain, she does the same, although soon her eyes close and her small hand moves faster and faster. She leans into your body, allowing you to wrap your arm around her while the other busies itself at your groin. Rapidly, you begin to gasp, more aroused than you thought you were, and she echoes in turn.\r\rWithin moments, you both cry out in unison, collapsing onto the bed in an orgasmic fit, your combined honey dripping down the side."), false);
doNext();
doListen = function ():void{
outputMainText("The little felin girl snuggles into your body, hugging you close as she dozes off, a leg hanging over your own as her bare sex presses against your thigh. Not wanting to move, you do the same, falling asleep beside her.", true);
doNext();
doListen = function ():void{
outputMainText((("Some hours later, she rustles awake within your arms, rousing you as well. She nuzzles into your " + boobDesc()) + " chest, purring softly. A few sweet moments pass and she mews, slipping a hand between her legs.\r\r'Thank yew so much! It woked!' She grins happily. Then she blushes, 'And thank yew for teaching me... I'll neva forget it!'\r\rKissing you on the cheek, she pushes something into your belly before hopping off the bed and running out of the hut, her tail swishing high behind her ...And her butt in plain view as she forgot to string the perky tail through its hole, leaving it to pull the dress up from underneath."), true);
doLust(-(Math.floor((sen / 2))));
exhaustion = 0;
hrs = 6;
stats(0, 4, 0, 2);
lilaRep = 3;
itemAdd(200);
aff(4, Math.floor(((percent() / 20) + 4)), -1);
doSexP(45);
doEnd();
};
};
};
};
};
if (buttonChoice == 7){
outputMainText((("Nodding, you carefully caress up the girl's thigh. She clenches her eyes shut at first as your hand approaches her sensitive area. Her tiny nether-lips are so soft and delicate on your fingertips, like flower petals. Flower petals completely drenched in dew.\r\rShe lets out a short gasp as you focus upon her little button. Her small hips squirm on the bed, her thighs quaking uncontrollably. All the while, her eyes still shut.\r\rWithin just a few moments of gently fondling the girl, her body seizes and she lets out stuttered mewls. Your hand is swamped in a flood of her feminine honey, drenching her dress and the side of the bed. She falls towards you, gasping for breath as she grasps at your " + clothesTop()) + "."), true);
doNext();
doListen = function ():void{
outputMainText("A few minutes later, she sits upright, a bit woozy. As her wits return to her, she looks down at your hand and how it glistens with her moisture. Aghast, she hops off the bed.\r\r'I'm so sowwy! Please, forgive me! Thanks for trying to help, please, take this!'\r\rShe pulls a vial from her dress and hands it to you before darting out of the hut, her dress still hiked up around her waist and stuck there from all the moisture, leaving her nethers free for all to see.\r\r\rYou have obtained a Cat's Meow!", true);
lilaRep = 2;
doSexP(30);
itemAdd(105);
hrs = 3;
doEnd();
};
};
if (buttonChoice == 10){
outputMainText("Deciding it best to not get any more involved than you already are, you pat her on the head between her ears. You tell her this is something her Mommy should teach her and that it's nothing to be ashamed of. You pat your own moistness as proof and dab a bit of it on her little button nose.\r\rCheered up a little, she smiles and gives you a hug.\r\r'Thank yew. I'll try!'\r\rShe pushes her dress back down and runs out the door, leaving you feeling slightly warm and fuzzy inside.", true);
stats(0, 3, 0, 0);
lilaRep = 1;
hrs = 2;
doEnd();
};
};
};
if (buttonChoice == 6){
bc();
outputMainText("You offer to help lick the mess from her, if she's alright with going to the private hut where you're staying. As licking is quite common among Felin's, she nods her head in agreement and takes your hand in hers. The two of you head up to your hut in the trees.\r\rYou help her up onto the bed, her legs dangling off to the side. You kneel down before her, gently petting her knees as you wait for her to be comfortable enough. She closes her eyes and nods, pulling up her wet dress. Her cheeks flush with an instense blush as you inspect her tiny lap, completely filled with slick webs, her tender nether-lips pink and puffing out from her fur. You pull her legs open so your head can fit in between, a soft mewl escaping her lips. You lean forward, licking the stuff up from her thighs...\r\r\rJust clean up the stuff or lick her virgin sex more intimately?", true);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Clean");
buttonWrite(7, "Intimate");
doListen = function ():void{
if (buttonChoice == 5){
outputMainText("Carefully, you slurp the stuff up from her fur. Slowly going up her thighs, her hips twitch, her tail flailing wildly behind her. Her eyes clench as you come closer to her naughty bits, her hands clenching the bedsheets with anxiety.\r\rNot wanting to go too far, you gently lap at her swollen nether-lips, the soft, delicate folds like flower petals. Flower petals completely drenched in dew. Quickly and cautiously, you take care of what you can before she lets out a soft moan.\r\rEyes still clenched shut, you nudge her and tell her you're finished. Her eyes blink open and she looks down at herself. She looks a bit happier, noticing she's relatively dry, but a shiver shoots through her small body and she clenches her thighs.\r\rIn an instant, she flips her dress down and hops from the bed, running out of the hut, calling back, 'Th-Thank you!'\r\rAs she darts through the doorway, you hear a splash. A large gob of feminine honey marks the floor, just before the exit, trailing along her path. You wipe the massive amount of slick fluids from your own face, feeling a bit tingly yourself, and go on your way.", true);
lilaRep = 1;
doLust(Math.floor((lib / 2)));
aff(4, Math.floor(((percent() / 20) + 4)), -1);
hrs = 3;
doEnd();
};
if (buttonChoice == 7){
outputMainText((("Carefully, you slurp the stuff up from her fur. Slowly going up her thighs, her hips twitch, her tail flailing wildly behind her. Her eyes clench as you come closer to her naughty bits, her hands clenching the bedsheets with anxiety.\r\rAs you reach her swollen nether-lips, your tongue licks across the soft, delicate folds. Like petite flower petals, your mouth nibbles gently on the dew-drenched bits, making her hips jerk upon the bed. You slurp up more stuff as it gushes from her virgin sex, swamping your face from nose to chin in the slick sweetness. Your tongue roams up through the supple slit, until it lands at the little button in the front. Your maw engulfs that corner of her dainty vulva, devouring her sensitive portions with intense sucking. In mere seconds, her whole body quivers, her spine seizing and falling backwards onto the bed. Her legs wrap around your head and weakly push you into her cunt as a flood of her feminine honey splashes out around you, covering nearly all your face and spilling down your " + boobDesc()) + " chest.\r\rMoments, later, she lets go, purring softly as she falls asleep. You wipe your face off, cleaning up some of the mess, before curling up beside her, surprisingly tired. As you drift off, she rolls towards you and snuggles against your body, her leg crossing over yours and her sex pushing into your thigh..."), true);
doNext();
doListen = function ():void{
outputMainText((("Some hours later, she rustles awake within your arms, rousing you as well. She nuzzles into your " + boobDesc()) + " chest, purring softly. A few sweet moments pass and she mews, slipping a hand between her legs.\r\r'Thank yew so much! It woked!' She grins happily. Then she blushes, 'And thank yew for cleaning me so well, I really liked it... I'll neva forget it!'\r\rKissing you on the cheek, she pushes something into your belly before hopping off the bed and running out of the hut, her tail swishing high behind her ...And her butt in plain view as she forgot to string the perky tail through its hole, leaving it to pull the dress up from underneath."), true);
stats(0, 0, 2, 2);
doLust(Math.floor((lib / 2)));
itemAdd(200);
lilaRep = 3;
aff(4, Math.floor(((percent() / 20) + 8)), -2);
doSexP(45);
exhaustion = 0;
hrs = 3;
doEnd();
};
};
};
};
if (buttonChoice == 7){
outputMainText("Her eyes go wide as you mention sex.\r\r'Eww! That's what my Mommy and my Daddies do! I don't wanna do that!!\r\rShe then runs off in the other direction, trailing slime behind her as it still dribbles from her dress.\r\rIt's probably best you move along.", true);
stats(0, -2, 0, 0);
lilaRep = 1;
hrs = 1;
doEnd();
};
if (buttonChoice == 10){
outputMainText("You smile gently, telling her that you'll help her tell her Mommy. She nods with a blush, taking your hand and leading you back to her hut, leaving a slick trail behind her the whole way. Her tail twitches sporadically as she whimpers along the way, her thighs rubbing tightly together. As you approach, her mother spots you through the doorway and comes out to greet you.\r\r'Hello, may I ask what is going on?'\r\rShe eyes you with her daughter, especially noticing the moist river in her daughter's dress. Taking some time, you explain the situation. With a nod and a tinge of redness in her own cheeks, she speaks,\r\r'Thank you for bringing her back to me. I'm so sorry to have involved you like this! I should have noticed when she was so quick to get out of the hut this morning... If you don't mind waiting outside, I'll be sure to repay you for your kindness; once I take care of my daughter.", true);
doNext();
doListen = function ():void{
outputMainText("Nodding, you wait outside the doorway as the felin woman takes her daughter's other hand and the two disappear into the hut.\r\rYou hear them talking within, though it's too faint to make out. But, several minutes later, it's hard to miss the high-pitched mewling, followed by loud moans that echo back out. A few minutes more, and some shuffling can be heard as the mother returns to the doorway.\r\r'Thank you once more. Please, take these coins as a small repayment for being so gentle with her. Oh, and take this,' she reaches into a pocket and pulls out a vial. 'Apparently she got this from a friend of the family, saying it was for me. It seems she thought it would help her seem like a grown up in front of her friends... Thankfully, we caught her before she could use it and you can have it in turn.'\r\rShe hands you the vial of Cat's Meow as well 20 coins. She then blushes heavily as a strand of a clear slick fluid splashes down into her cleavage, having missed wiping it from the fur on her chin. She nods in thanks again before ducking inside, trying to hide the wet fur...", true);
doCoin(20);
itemAdd(105);
lilaRep = 2;
doSexP(15);
hrs = 3;
doEnd();
};
};
};
} else {
outputMainText("As you wander about the tree-borne city of Siz'Calit, you see a young felin girl scurry by. Her cheeks are red while her ears flick upon her head, her tail swishing sporadically behind. Her hands seem to be trying to cover the lower front of her small sundress. She glances up at you, her eyes staring at your groin for a moment. She blushes more and increases her pace, hurrying past you. Turning to watch her, you see the backside of her dress has a blotched river of moisture running down from her bum. However, judging by the dollops of clear slick fluid that glisten a path behind her, it doesn't seem like she had peed herself...\r\rShrugging, you continue on.", true);
hrs = 1;
doEnd();
};
};
};
};
};
};
} else {
if ((((chance > 20)) && ((chance <= 50)))){
outputMainText("A group of felins pass by on one of the wide wooden bridges, some males with some females. They sway a little with each step, their tails oddly swinging the wrong way. Within their hands they have some bottles of milk, though they seem a bit disappointed with how little is left.", true);
if ((((((((lactation > 2)) && ((breastSize > 3)))) && ((milkEngorgementLevel > 0)))) || ((((((udderLactation > 2)) && ((udderSize > 6)))) && ((udderEngorgementLevel > 0)))))){
outputMainText(((((((" However, just a few steps behind you, they come to a stop. Their button noses sniff at the air, their whiskers twitching curiously. Slowly, they turn towards you, their eyes focusing on your milky breasts...\r\rCatty grins grow upon their faces. Although they may be out of their tasty beverages that makes them a little woozy with joy, they seemed to have found another nice source of their favorite drink~\r\rBefore you know it, you're laying on the ground, your " + clothesTop()) + " pulled ") + pullUD(1)) + ", your front exposed and leaking. Your sight is quickly covered as one of the females in a skirt sits on your face, her slightly moist panties squishing your nose between her nether-lips. Her tail swishes across your head again and again as you feel your body ravaged, your ") + nipDesc()) + " nipples"), false);
if (udders == true){
outputMainText(((" and " + teatDesc()) + " teats"), false);
};
outputMainText(" being tugged and suckled from until milk is spraying from your body.", false);
getMilk = Math.max(milkAmount(1), milkAmount(2));
if (getMilk <= 1000){
outputMainText("\r\rTheir many thirsty mouths quickly drain you dry. Disappointed once more with the lack of delicious motherly goodness, they stumble away from you, leaving you used and half-naked...\r\rAt least they didn't bite.", false);
hrs = 2;
doEnd();
} else {
if ((((getMilk > 1000)) && ((getMilk <= 4000)))){
outputMainText("\r\rTheir many thirsty mouths suck and suck, guzzling down your delicious milk. It doesn't take long before they drain you dry, but once they do, they let out little burps of satisfaction. Thoroughly pleased with their bartender, they drop a bunch of coins on you for the drink before stumbling off again, their tails drooping much more lazily than before.", false);
doCoin(Math.floor((percent() / 3.3)));
hrs = 2;
doEnd();
} else {
if (getMilk > 4000){
outputMainText("\r\rTheir many thirsty mouths suck and suck, guzzling down your delicious milk. However, you produce so much that they simply can't seem to drain you. Yet that doesn't keep them from trying... The more and more they suck from you, the more lazy their efforts become. Even the tail on your head slows in pace, until it comes to a stop...\r\rStill pinned by the many bodies, you can hear them purr as they have fallen asleep. You take the opportunity to wiggle yourself free, nearly yanking down the girl's panties in the process. Once out, they merely curl up on the bridge, cuddling against each other. Another girl seems to have her skimpy shirt pulled up to her second pair of breasts, while a male has a prickly penis pulled from his pants. Whatever they were planning to do, it obviously didn't get too far.\r\rAs payment for their feast, you grab a couple of their small pouches. It's the least you could do to make up for their rude ambush.", false);
itemAdd(204);
itemAdd(204);
hrs = 3;
doEnd();
};
};
};
} else {
outputMainText(" They ignore you for the mostpart, busy talking and laughing amongst themselves.", false);
hrs = 1;
doEnd();
};
} else {
if ((((chance > 50)) && ((chance <= 75)))){
outputMainText("'E-Excuse me...' A meek voice calls from behind you.\r\rAs you turn, you spot a felin male. Somewhat on the short side, he seems rather effeminate with some hips that are wider than his shoulders and his nipples poking through his fur, stiff and erect as though he were cold, despite the warm weather of the jungle. He also seems to be wearing nothing but a hardly modest loincloth that exposes half of each cheek of his round rear. And he seems to be quite embarrassed to be walking around as such.\r\r'Umm... Y-You seem as though you might be the kind of person that would explore outside of the city. I-If you don't mind, my mistress would like a word with you.'\r\r\rDo you accept?", true);
if (mistressRep > 0){
outputMainText("'H-Hello!' You hear a familiar voice from behind you.\r\rYou turn to see Fidoris, still in his skimpy outfit and embarrassed look, though his fur is slightly matted with some sort of slick liquid. It would hardly take two guesses to figure out where he has been.\r\r'M-Mistress would like to invite you over again, if that's alright.'\r\rWill you go?", true);
};
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("The felin femme-boy leads you to a rather large tree-borne hut. The closer he gets, the quicker his pace seems to be, as his tail begins to swish in anticipation.\r\rOpening the veil to the home, it seems the 'mistress' is rather well off. Lots of large, plush furniture, plenty of ornate, expensive trinkets and decorations, and overall elegant lifestyle. However, despite all of that, the femme-boy leads you straight to the bedroom.\r\rHe stops just inside the doorway. Past him, you can see an extavagent bed, perpendicular from your perspective, sitting in the middle of the room. On top of it lays the mistress. She's a gorgeous felin lady, with a youthful face and silky-smooth fur that has a healthy shine. You can see her erotically knead the top two pairs of her six breasts through her gown while she lays on her back, oblivious to your presence. Past her second pair, however, her body is hidden behind a mostly opaque curtain. Although, you can still see the silhouette of what might be her form. Her belly seems to be much larger than her figure would suggest, as if she were somewhat pregnant. And her legs seems to be bent and drawn back, straddling a large, round object that is even larger than her belly, perhaps even her whole body.", true);
if (mistressRep > 10){
outputMainText("Fidoris leads you to the usual place. The mistress awaits upon her bed, her belly massive with vaginal flesh and pushing her many breasts towards her sides. So large that her gown cannot cover her lowest pair of breasts and stretching it across the next. The curtain that hides her giant pussy from the bedroom entrance is rather useless as you can see the thick lips protrude past the edge, her large clit standing erect above them. All of the growth thanks to your efforts.", true);
};
doNext();
doListen = function ():void{
if (mistressRep == 0){
outputMainText("'Mistress, I've found an explorer!' The felin boy announces with a wag of his tail.\r\rThe woman turns to look at you. 'Ahh, good boy, Fidoris.' She rolls onto her side, both her large belly and the thing between her legs shifting with her. She props herself up with an arm and smiles. 'Well, traveler. I have a proposition for you. Every now and then, I get certain... 'urges' for a particular kind of fruit. It is found within the jungle and looks very much like a... well, let's just say we call it a 'Pussy Fruit'. Due to the dangers in retrieving it, however, it is hard to obtain such a fruit safely. So, I will pay well for such a fruit, when I'm in the mood. And if I am, I will send my boy, Fidoris, out to retrieve you. I hope that sounds alright?", true);
};
if (mistressRep > 0){
outputMainText("Fidoris speaks out 'Mistress, I have brought the traveler once again!'\r\rThe woman rolls over, her belly and massive vulva rolling with her. 'Good boy! I hope you have brought along something nice for me?' Her eyes light up.", true);
};
viewButtonOutline(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0);
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0);
buttonWrite(1, "Puss Fruit");
if (checkItem(210)){
Choice1.visible = true;
};
if (mistressRep > 10){
outputMainText(" Then her hands grope across her belly, squishing the aroused passage within. 'Mmm... You've been so good to me, though, so I'll let you in on another deal. If you can bring me three of the fruits at a time, I'll have Fidoris cook up my special concoction. Just between you and I, of course, for all the fun we've had~,' she gives you a naughty wink. 'I'll also let you in on the recipe, but without dear Fidoris I'm afraid it might be less efficient for you.", false);
Choice3Outline.visible = true;
};
buttonWrite(3, "3x");
if ((((countItem(210) >= 3)) && ((mistressRep > 10)))){
Choice3.visible = true;
};
buttonWrite(11, "Nothing");
doListen = function ():void{
if (buttonChoice == 1){
loseManyItem(210, 1);
viewButtonOutline(1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0);
viewButtonText(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
buttonWrite(1, "Fidoris");
buttonWrite(3, "You");
buttonWrite(9, "Both");
buttonWrite(11, "Cock");
if ((tallness / 12) < (mistressRep + 4)){
Choice3.visible = true;
};
if ((tallness / 12) < (mistressRep / 3)){
Choice9.visible = true;
};
if (((((((cockSize * cockSizeMod) > (60 + (mistressRep * 4)))) && (((cockSize * cockSizeMod) < eVagLimit((120 + (mistressRep * 8))))))) && ((lust > 20)))){
Choice11.visible = true;
};
outputMainText("'Great! Fidoris, bring our guest over here!' She grins with excitement.", true);
if (mistressRep == 0){
outputMainText("\r\rThe femme-boy takes you by the hands and leads you towards the bed. As he takes you around the curtain to get closer to his mistress, your eyes grow wide as you see what had been hidden. First of all, the woman obviously had no underwear; her spread legs giving you a great view beneath her gown. However, it doesn't seem like she could have done otherwise, as the gown simply wasn't long enough to reach around her enormous nether region. The large round object whose shadow you had seen from the other side was actually her vulva!\r\rHer legs are spread simply due to the fact that the fat labia wouldn't allow for otherwise. It's more than half as tall as she is, with the slit gaping before you like a giant maw. If she were to stand, it'd be dreadfully close to dragging upon the floor with each step. The large inner-lips dangle from the outer in thick folds and her giant clitoris is nearly as big as her head, protruding from its huge flap of a hood. Feminine slime drools and drips down through the crevice, pooling around onto the bed and draining off into a bucket. You can see into her deep pussy, the emanating heat reaching you from several feet away. And it's quite easy to tell that she's not pregnant, but rather her belly is huge from all the vaginal flesh within.", true);
};
if (mistressRep > 0){
outputMainText("\r\rThe femme-boy leads you back behind the curtain. Even though you've seen it before, the sight of her massive feminine genitalia is still awe-inspiring. Swelling and pulsing with her heartbeat, the heat warming the room. Fidoris is glad to be back in its presence, sighing in comfort. The slime continues to pool around the massive folds, perpetually keeping them well lubricated. And each time you come, she just seems even bigger and bigger than before...", true);
};
outputMainText("\r\r'Come on, over here now!' She eagerly waves for the fruit.\r\rHanding it to Fidoris, he quickly presents it to his mistress. Like a child, she giggles with giddyness. She begins by licking up through the lewd crack in the fruit, squeezing it gently until its juices start to seep out. Once her tongue touches the sweet nectar, her mouth opens wide and bites into it, letting the juices spill out onto her face with ecstasy. She proceeds to devour it rapidly, cherishing every bite thoroughly.\r\rShe heaves a little once the fruit is gone. Her hands dig into her gown, pushing into her gravid belly as she feels the fruit's effects begin to settle in. With a shiver and a moan, you watch as her cunt begin to shudder. Before your eyes, it swells even larger, her belly becoming more prominent. The fruit seems to be more potent than usual with this woman...\r\r'Mmm!' She mewls. 'Somebody fill me! Now!'", false);
doListen = function ():void{
if (buttonChoice == 1){
outputMainText("You wait as Fidoris enthusiastically steps forward to help his mistress. His small hand reaches out to stroke the fur of her outer labia, petting upward until his hand reaches the grand clitoris. Slipping a hand beneath the hood, he rubs it until the woman quivers upon the bed, a spurt of her feminine honey leaping from her wide hole and drenching his legs. His other hand meets the first, flanking the sides of the massive button and holding it still while he leans in for a gentle kiss. Then, he opens his arms, embracing the whole of the vulva the best he could. The vulva hugs back, letting him sink in between the folds, smearing its drizzling goo throughout his fur. He descends more and more into the maw, until he decides to duck down to the primary attraction.\r\rWithout much trouble, his arms easily slip into her pussy. They help stretch her a little wider, allowing his head to slip in. From there, he's practically sucked inside, slowly going deeper and deeper. The only difficulty they come across is when his wide hips hit the entrance. He waggles his legs a bit, his loincloth flailing from his bum and flashing you his small package several times, but eventually makes it through, sliding the rest of the way.\r\rThe mistresses belly deforms and grows even larger as Fidoris fills it. All the while, she moans in pleasure, gasping lightly and groping her breasts. Once Fidoris eventually settles within her womb, her belly no longer moving as much, she lets out a long groan, her arms roaming about the taut fur. The gaping maw gasps as well, contracting again and again with orgasm, her juices flooding out until the bucket overflows and spills out onto the floor...\r\rStill high with climax, she doesn't want to seem rude 'H-Here. F-For your ~ungh~ efforts.' She fumbles with a pile of coins on the desk beside her bed, having to shimmy a little with her extra weight.", true);
outputMainText(" 'Thank you very much, I hope to do more business with you in the future~'\r\rShe gives you the coins while the slime from the fruit drizzles from her hands onto yours. Then she lets you lead yourself out, her eyes closing shut to enjoy the warm body inside of her...", false);
doCoin(30);
hrs = 2;
doSexP(3);
mistressRep++;
doEnd();
};
if (buttonChoice == 3){
outputMainText((("Offering to fill her yourself, Fidoris gives you a nod and guides you towards her. Your hands caress her supple folds at first, delighting in the softness and the warm moistness that quickly coats your fingers. You rub up around her swollen pussy, feeling the beat of her pulse so easily through her large flesh, even with the surrounding fur hardly muffling it. As your hands meet at the top, they wring the massive button, returning a gush of slick fluids about your legs from her awaiting hole.\r\r'Y-You may want to remove your clothes, or else they'll get pretty messy.' Fidoris instructs, indicating how he wears nothing but a meager loincloth.\r\rYou nod and strip down. Compare to the mistress and her boy, it would be difficult to worry about modesty here. But, as the fresh air wafts cooly against your naked " + skinDesc()) + ", you find yourself drawn closer to the heat of the maw. You soon lean in towards it, sinking into its velvety flesh. The lips hug you, surrounding your body, and dribbling lubrication all about until you're slick and shiny. This action itself arouses you a little, your parts slipping past each other and throughout her cunt. Yet, as you feel a shudder from the mistress, you realize there's something else you have to do.\r\rDucking down, you easily find her open pussy. It's amazing how easily you can fit a hand, and then two, and then both your arms. You can feel her hungry womb begin to suck you in, the slick mess that covers the walls making it difficult to resist. Not that you would want to. Your head easily slips in next, spreading her wider and wider with your anatomy. It's an odd sensation at first. Very stuffy with all of the moisture and heat. However, it's also surprisingly relaxing and inviting, pulling you in further and further. Before you know it, your feet snap into her entrance and you crawl into her womb.\r\rIn complete darkness, you can't seem to tell where you are."), true);
outputMainText(" Her belly seems to adjust for you, sucking you in and curling you around until you fit much more comfortably. So comfortably, in fact, that the warmth and moisture and complete peace make you drift off into a wonderful sleep...", false);
doNext();
doListen = function ():void{
outputMainText("You eventually wake back up, though you don't know how long you've been asleep. All that you know is that you had some of the most restful sleep you've ever had. And as you begin to rustle around in the darkness, the soft walls shudder around you.\r\r'Oh my, are you finally awake in there?' The mistress pats her belly from the outside with a giggle, the sound echoing around in a low beat. 'Mmm... That was a lot of fun. I hope you slept well, I know I had a nice nap~ Well then, I suppose you'd like to be moving on. Just go out the way that feels most natural~!'\r\rBefore you can respond, you can feel the walls press down around you. The suction that you felt before when entering now seems to be pulling the other way. You slip about inside her belly, quickly finding your way through her enormous passage. The next thing you know, you're body is being gently squeezed all around you, the slickness propelling you out into the cold air.\r\rFidoris catches you as you slip out of her cunt, well prepared with a thick towel to wrap you up in. Your teeth jitter at first, the coolness of the air against your wet skin chilling you to the bone. Drawn back towards the massive vulva, you hover nearby to bask in the heat while you dry yourself off and don your clothes.\r\r'Take your time. You're not as used to this as Fidoris is' She winks. 'And here, here's your payment for the fruit, with a little something extra for the fun.'\r\rShe hands you some coins and lets you sit on her bed next to her for a bit while you readjust to the warmth of the jungle. It takes a bit of getting used to, but once you finally leave, you feel quite rejuvenated!", true);
doCoin(40);
doLust(5);
hrs = (2 + Math.floor((percent() / 20)));
exhaustion = 0;
doHP(50);
aff(4, Math.floor((percent() / 10)), -1);
doSexP(5);
mistressRep++;
doEnd();
};
};
if (buttonChoice == 9){
outputMainText((("Realizing she's big enough to fit both you and Fidoris, you take Fidoris' hand and pull him over to the massive maw with you. Realizing it as well, Fidoris nods. The two of you grope about her velvety folds, rubbing her massive button as she bucks upon the bed from the concerted effort. It doesn't take much before spurts of feminine honey drench the both of you, coating the both of you in her slick lubricant.\r\r'Don't forget to remove you clothes' Fidoris mentions quickly, eager to get inside.\r\rYou strip down to nothing, letting the fluids smear about your naked " + skinDesc()) + ", until you're as slippery and shiny as the prospect before you. Fidoris motions for you to go first and you duck down to the gaping pussy. It's amazing how easily you can fit a hand, and then two, and then both your arms. You can feel her hungry womb begin to suck you in, the slick mess that covers the walls making it difficult to resist. Not that you would want to. Your head easily slips in next, spreading her wider and wider with your anatomy. It's an odd sensation at first. Very stuffy with all of the moisture and heat. However, it's also surprisingly relaxing and inviting, pulling you in further and further. Before you know it, your feet snap into her entrance and you crawl into her womb.\r\rIn complete darkness, you can't seem to tell where you are. Her belly seems to adjust for you, sucking you in and settling you within her womb. Moments later, you feel the walls around you shiver and shudder as the space grows larger. Another body slips in beside you, as wet and slippery and hot as you are, and squeezes against you in a rather intimate fashion.\r\r'Are you comfortable?' He whispers. You can feel the vibrations of his voice throughout the stretched walls around you.\r\rYou nod, blushing within the darkness, squeezed so tightly against him."), true);
outputMainText(" The two of you squirm again and again, trying to find a better position that won't leave you so close, but all the warm, slippery rubbing does is arouse you. And him as well, it seems, as you can feel his small prick poke at you through his loincloth. Slowly, the slipping progresses until ", false);
if ((((((gender == 1)) || ((((gender == 3)) && ((percent() <= 50)))))) || ((gender == 0)))){
outputMainText((("you find yourself turned away from Fidoris, your " + buttDesc()) + " rump grinding his small prick between your cheeks. He lets out a whine of surprise as his loincloth slides away, leaving his pointy erection to feel your butt first-hand. His arms wrap around you in embrace, unable to prevent his cock from gliding into your moist ass."), false);
} else {
if ((((gender == 2)) || ((gender == 3)))){
outputMainText((((((((("you find your legs spreading, straddling Fidoris' lap, your " + vulvaDesc()) + " slit") + plural(2)) + " wedging around his small prick. He lets out a whine of surprise as his loincloth slides away, leaving his pointy erection to feel your folds first-hand. His arms wrap around you in embrace, unable to prevent his cock from gliding into ") + oneYour(2)) + " wet cunt") + plural(2)) + "."), false);
doImpregnate(4);
};
};
outputMainText("\r\rThe two of you quickly begin writhing against each other within the mistress' belly, Fidoris plunging his cat-cock into you again and again. The barbs around the tip of his tiny prick scrape against the walls of your flesh insides, but not nearly large enough to cause any pain. The scraping merely arouses you further, bringing you to orgasm much faster, despite his small size. His little cock begins to squirt a smoldering batch of cum into you, making your own hips buck back in turn with climax.", false);
if ((((gender == 1)) || ((gender == 3)))){
outputMainText(((((" Your cock" + plural(1)) + " begin") + plural(3)) + " to launch your cum within the confined space, smearing about the mistress' womb and making you both sticky."), false);
cumAmount();
};
outputMainText(" Even the walls themselves begin to shake and quiver as you hear ecstatic moans from outside...\r\rHowever, you quickly find yourself setting back down as the constant warmth and comfort of your room calms you. With Fidoris still inside of you, the two of you drift off to sleep...", false);
doNext();
doListen = function ():void{
outputMainText("You eventually wake back up, though you don't know how long you've been asleep. All that you know is that you had some of the most restful sleep you've ever had. And it seems that Fidoris' cock had eventually withdrawn back into its sheath, no longer penetrating you. As you begin to rustle around in the darkness, waking up the femme-boy beside you, the soft walls shudder around you.\r\r'Oh my, are you two finally awake in there?' The mistress pats her belly from the outside with a giggle, the sound echoing around in a low beat. 'Mmm... That was a lot of fun. I hope you two slept well, I know I had a nice nap~ The thought of you two having sex within me... Mmm~' The womb shudder once more. 'Well then, I suppose you'd like to be moving on. Just go out the way that feels most natural~!'\r\rBefore you can respond, you can feel the walls press down around you. The suction that you felt before when entering now seems to be pulling the other way. Fidoris' body moves past you, leaving you alone in her belly for a moment before you begin to slide out as well, quickly finding your way through her enormous passage. The next thing you know, you're body is being gently squeezed all around you, the slickness propelling you out into the cold air.\r\rFidoris catches you as you slip out of her cunt, well prepared with a thick towel to wrap you up in just as he already is. Your teeth jitter at first, the coolness of the air against your wet skin chilling you to the bone. Drawn back towards the massive vulva, you hover nearby to bask in the heat while you dry yourself off and don your clothes.\r\r'I hope you had fun.' She winks. 'Though I wonder if I'll be getting pregnant from all that...' She giggles at the thought. 'And here, here's your payment for the fruit, with a little something extra for the fun.'\r\rShe hands you some coins and lets you sit on her bed next to her for a bit while you readjust to the warmth of the jungle.", true);
outputMainText(" It takes a bit of getting used to, but once you finally leave, you feel quite rejuvenated!", false);
doCoin(45);
doLust((-(sen) * 2));
hrs = (2 + Math.floor((percent() / 20)));
exhaustion = 0;
doHP(50);
aff(4, Math.floor((percent() / 10)), -1);
doSexP(10);
mistressRep++;
doEnd();
};
};
if (buttonChoice == 11){
outputMainText((((((((((("Amazed at how large her pussy is, the bulge in your " + clothesBottom()) + " throbs in anticipation. You pull out ") + oneYour(1)) + " ") + cockDesc()) + " cock") + plural(1)) + ", thinking that she might actually be able to take your giant size. Fidoris and his mistress both blink at you for a moment, taking in what they see. Then, a giant, giddy grin grows upon her face.\r\r'Yes!' Her pussy squishes and squirts with a gush of feminine honey in her excitement.\r\rFidoris blushes as he steps towards you, gauging your massive erection. He wraps his arms around it, lifting it and helping you guide it into his mistress. The effort is a bit of a strain on his small build, relying mostly on the leverage from your body to kiss the tip of your cock against the soft flesh. From there, nature easily takes its course... if you consider the situation 'natural'.\r\rThe mistress lets out a long warbling moan as you step towards her, the velvelty folds sucking in your ") + cockDesc()) + " cock. Her belly begines to stretch, pulling out larger and longer to conform to your man-meat. Eventually, her belly begins to push past her chest, her arms wrapping around your cock from outside, hugging it close and grinding her many tits into it. And as you push her belly past her own head, she licks at her own fur, the sensation merely a light caress against your monster within. Eventually, you stand up against her vulva, pressing your body against her massive labia.\r\rYou both pause for a moment, relishing both the feeling of being completely engulfed/filled and the sensation of having a cock so large pushing a pussy so huge well past the mistresses own body. You squeeze her inner lips, the flesh hugging your body and oozing lubricant all about you."), true);
if (showBalls == true){
outputMainText(((" Your " + ballDesc()) + " balls rest upon her bed, the honey drizzling over them as they squish comfortable between her legs."), false);
};
outputMainText(((" You bury your face against her giant clitoris, nuzzling it at first before kissing and biting it. Quite quickly, the mistress begins to writhe behind your attention, grabbing and kneading her breasts so much that her nipples poke out from her gown. Her belly flesh twists about your member, urging you to start pumping while you still can. And so you oblige.\r\rAlthough your " + hipDesc()) + " hips can hardly pull back, relative to the size of your endowment, you both shudder immensely. The grand genitals and all their nerves rubbing so gently against each other, with so much slime that you begin to slip on the floor from what just happens to spill out, you can tell this will end quickly. So, with a fervor, you begin to pump in and out, faster and faster, while you gnaw at her clit. The two of you wince and whine, trying to hold back the tsunami-like wave of instense climax in hopes of just a few more seconds of this extreme intercourse!\r\rYet, it's difficult to beat nature..."), false);
doNext();
doListen = function ():void{
outputMainText((((("The mistress lets out a loud, deafening cry as her legs lock around your " + buttDesc()) + " rear, strangling your bottom half as she quakes. Her body lunges up against your ") + cockDesc()) + " cock, her claws digging into her own distended belly, weighted down by her heavy cunt. Her feminine fluids gush out around you, drenching you in the warm juices. Her belly rumbles at the opposite end as you begin to ejaculate, your own body twitching against her soft vulva."), true);
if (cumAmount() > 4000){
outputMainText(" You cum so much that a portion of her belly hangs from the tip of your member, absolutely bloated with spunk as though she were some giant condom, before the rest begins to flood its way back through her vaginal passage and joins the rest of the fem-cum in drowning you.", false);
};
outputMainText(((" You spill your seed with great force, your abdomen aching as it works to shoot it all through your length. Then you both collapse onto the bed with a huff...\r\rShe lays sprawled upon her bed, idly licking at the fur of her belly once more. She hugs and squeezes at the bulge as you begin to grow flaccid and deflate her form. Though her pussy may make for a nice pillow, you soon find yourself being pushed away as her vagina begins to grow flaccid itself, the internal blood shrinking the passage and pushing your cock back out. It doesn't take long before before she gives birth to your " + cockDesc()) + " member, letting it flop onto the bed.\r\r'Mmmmm~' With a purr, her legs wrap around her pussy, kneading it in satisfaction. 'I don't think anybody can satisfy me like you just did... I might even get pregnant!' She chuckles. 'Oh my, for service like that... I should really pay you more for bringing me the fruit'\r\rAs she winks, she motions Fidoris over. In addition to giving him some coin, she also hands him a vial to give to you.\r\r'This vial contains some rather... concentrated juices from the kinds of fruit you bring me. I drink it myself, on occasion. But too much... well, you know.' Her foot pats her plush pussy. 'You might be able to find a use for it on somebody else, to help you fit a bit better. I figure it might come in handy for you. If not, it should still fetch a decent price. Either way, thank you for a great time, love~' She winks once more before returning her attention to coming down from her high.\r\rFidoris hands you the coins and vial and escorts you to the exit. Though, just as you're about to leave, you can hear the mistress call out 'Fidoris, sweetie, I think I'd like to feel full for a bit longer. Would you be a dear?' To which Fidoris replies 'Yes Mistress!'"), false);
doCoin(45);
doLust((-(sen) * 2));
hrs = 4;
itemAdd(221);
doSexP(13);
mistressRep++;
doEnd();
};
};
};
};
if (buttonChoice == 3){
outputMainText("'Hehe, very well. I suppose you like bigger girls~' Purrs enticingly as her feet rub around the grand mound of her vulva. She nods to Fidoris to take the fruit from you. 'Fidoris will make it for you with what your brought. The process only takes a couple hours, so why don't we both enjoy your visit in the meantime and you help me massage myself. I've grown so large because of you that I can't reach myself anymore~' Her feet reach out as far as they can, showing how they're unable to reach her more supple folds.\r\rWith a shrug, you step towards the swollen cunt, already shimmering with her slight arousal. The large inner lips hang like curtains down either side, flanking the gaping vagina that drools thick strands and sheets of feminine lubrication, pooling within itself or filling the bucket that's been placed beneath to catch the excess. The curtains pulse, swelling and contracting with her blood flow, almost as if the whole maw were slowly breathing. They meet at the top where the giant clitoris stands erect, protruding a couple feet from the rest of the mound and several inches thick.\r\rNot quite sure how to go about the task, you simply alternate between kneading the hanging labia with your arms and wringing the standing clit with your hands. All of the wondrous pussy surrounds you, soft and malleable, and drenching you in the honey. The mistress croons and writhes on the bed, her feet patting the outer labia as she slowly comes to orgasm. The climax isn't terribly powerful, but the amount of fluid that spills from her instantly fills the bucket beneath and splatters across the floor.\r\r'Mmm~', she sighs pleasantly,'Would you be a dear and empty the bucket out for me? I'm not quite done... being drippy and I don't want to make too much of a mess for poor Fidoris. Just pour it out over the rest of me.'", true);
outputMainText("\r\rWith another shrug, you haul up the bucket and walk beside her. Stepping up onto the bed, you tip the bucket over, letting her honey spill across her large belly and breasts, her fur becoming slick and matted and her gown growing transparent, her upper nipples quickly becoming erect and viewable through the cloth. With her help, the two of you smear it about, massaging her pregnant-like belly and hefty breasts. There's so much of her to cover that you find yourself using your own body to smear the stuff across hers, making you just as slick and slimy. Her nipples drag across your belly as you do and her hand slips down to play with your groin...\r\rYou hear a splatter across the floor beyond the foot of the bed.\r\r'Oh my, you should probably get back down there as well~', she winks at you while she nods towards the bucket.", false);
doNext();
doListen = function ():void{
outputMainText("Several times you wind up alternating between the two tasks. The only time you get a break is when she asks for some water, in which case it takes her nearly five minutes to down several liters. With all the fluid she loses otherwise, it's not terribly surprising. She manages to come again and again, whereas you're only teased constantly... Just as you're about to masturbate within her folds and out of her sight, Fidoris manages to return.\r\r'The process is finished. Here is the batch you requested.'\r\rYou move out from the mistress' slit, futily attempting to hide your arousal. Fidoris blushes as he spots your condition as well and how drenched you are in his mistress' honey. He thrusts a vial into your hand, trying to avert his eyes.\r\r'U-Umm... Th-Thank you for doing my job with mistress while I was busy. I'm s-sure she's warmed up for a nice nap now.'\r\rHe quickly nudges you towards the exit, as if in a hurry. It makes you begin to wonder what a 'nap' might actually entail? Either way, you've got what you asked for and then some...", true);
doLust(10000);
doLust(-1);
loseManyItem(210, 3);
itemAdd(221);
hrs = 3;
doEnd();
};
};
if (buttonChoice == 11){
if (mistressRep == 0){
outputMainText("'That is quite alright, you don't need any now, though it would have been nice. Here, take some coin as encouragement at least.'", true);
};
if (mistressRep > 0){
outputMainText("'Aww, that's a shame. Well, here, have some more coin as encouragement to pick some more for me.'", true);
};
outputMainText("\r\rShe nods to the femme-boy who goes to a shelf and grabs some coins from a bag. He hands them to you and leads you out the front door, thanking you for obliging.", false);
doCoin(5);
hrs = 2;
doEnd();
};
};
};
} else {
outputMainText("O-Okay. Thanks anyways!'\r\rHe turns and skitters off in a hurry, his tail hanging low with his bashfulness. You shrug and continue on with your walk.", true);
hrs = 1;
doEnd();
};
};
} else {
if ((((chance > 75)) && ((chance <= 100)))){
outputMainText("You wander about the tree-borne city, enjoying the sights and sounds.\r\rFelins are quite the agile people, able to work so high up in the canopy. Some spend their time harvesting various fruits from the nearby trees, while some others hunt for birds or even head down to the jungle floor for other game. Others have varying other professions, but they're all mostly laid back. It's not uncommon to catch someone dozing off in the middle of the day, the warm atmosphere quickly sending them to sleep.\r\rThere's also a few places to socialize, often in the form of singing or milk drinking. Since they don't have their own cows, they rely on their more abundant source for milk: their women.\r\rBeing a woman in Siz'Calit seems to be quite profitable, with many of the more wealthy families being headed by females. And when they go into their heat, well... they're probably one of the greater powers to reckon with in this community.\r\rThe males seem to be rather happy nevertheless. At the very least, they don't have to worry about finding mates.\r\rOther than enjoying yourself, there's nothing else you find to do.", true);
stats(0, 1, 0, 0);
hrs = 2;
doEnd();
};
};
};
};
}
public function countItem(ID:int):int{
var tempInt:int;
var tempInt2:int;
tempInt = 0;
tempInt2 = currentItems;
currentItems = 1;
i = 1;
while (i < 37) {
if (itemID(i) == ID){
tempInt = (tempInt + stackAmount(i));
};
if (i == 12){
currentItems = 2;
};
if (i == 24){
currentItems = 3;
};
if (i == 36){
currentItems = 1;
};
i++;
};
currentItems = tempInt2;
return (tempInt);
}
public function aff(tempRace, tempChange, otherChange):void{
human = (human + Math.ceil((otherChange * changeMod)));
horse = (horse + Math.ceil((otherChange * changeMod)));
wolf = (wolf + Math.ceil((otherChange * changeMod)));
cat = (cat + Math.ceil((otherChange * changeMod)));
cow = (cow + Math.ceil((otherChange * changeMod)));
lizard = (lizard + Math.ceil((otherChange * changeMod)));
rabbit = (rabbit + Math.ceil((otherChange * changeMod)));
fourBoobAffinity = (fourBoobAffinity + Math.ceil((otherChange * changeMod)));
if (tempRace == 1){
human = (human + (Math.ceil((tempChange * changeMod)) - Math.ceil((otherChange * changeMod))));
};
if (tempRace == 2){
horse = (horse + (Math.ceil((tempChange * changeMod)) - Math.ceil((otherChange * changeMod))));
};
if (tempRace == 3){
wolf = (wolf + (Math.ceil((tempChange * changeMod)) - Math.ceil((otherChange * changeMod))));
};
if (tempRace == 4){
cat = (cat + (Math.ceil((tempChange * changeMod)) - Math.ceil((otherChange * changeMod))));
};
if (tempRace == 5){
cow = (cow + (Math.ceil((tempChange * changeMod)) - Math.ceil((otherChange * changeMod))));
};
if (tempRace == 6){
lizard = (lizard + (Math.ceil((tempChange * changeMod)) - Math.ceil((otherChange * changeMod))));
};
if (tempRace == 7){
rabbit = (rabbit + (Math.ceil((tempChange * changeMod)) - Math.ceil((otherChange * changeMod))));
};
}
public function doLust(changes:int):void{
if (changes < 0){
lustDown.visible = true;
};
if (changes > 0){
lustUp.visible = true;
};
if ((lust + changes) >= 100){
lust = 100;
changes = 0;
doLustForcedMasturbate();
};
if (((((((((lust + changes) < (minLust + 20))) && ((heat > 0)))) && ((heatTime < 0)))) && (!(pregCheck(0))))){
lust = (minLust + 20);
changes = 0;
} else {
if ((lust + changes) < minLust){
lust = 0;
changes = 0;
};
};
if (((((lust + changes) >= 75)) && ((lust < 75)))){
if (cockTotal > 0){
outputMainText((((((((("\r\rYour " + cockDesc()) + " cock") + plural(1)) + " squirm") + plural(3)) + " in your ") + clothesBottom()) + ", throbbing and wanting desperately to come."), false);
if ((((cockMoist > 0)) && ((cockMoist <= 3)))){
outputMainText(((" A small amount of pre leaks out, making a moist blotch on your " + clothesBottom()) + "."), false);
};
if ((((cockMoist > 3)) && ((cockMoist <= 6)))){
outputMainText(((" Steady drops of pre leak out, blotching your " + clothesBottom()) + " with small patches of slime."), false);
};
if ((((cockMoist > 6)) && ((cockMoist <= 9)))){
outputMainText(((((" You feel your cock" + plural(1)) + " slimed from tip to belly with its own pre, a steady dribble down your thigh and your ") + clothesBottom()) + " looking more like you peed yourself."), false);
};
if ((((cockMoist > 9)) && ((cockMoist <= 12)))){
outputMainText(((((((" You feel your cock" + plural(1)) + " swimming in ") + plural(5)) + " own pre, as long strands of slime seep through your ") + clothesBottom()) + " and stretch down to the ground. With each step, you fling the stuff around you like a whip, smacking across whatever is nearby"), false);
};
};
if (vagTotal > 0){
outputMainText((((((((((((("\r\rYour " + vulvaDesc()) + " lips feel swollen and hot in your ") + clothesBottom()) + ", making your legs feel weak. Your ") + clitDesc()) + " clit") + plural(2)) + " seem") + plural(4)) + " on the verge of exploding without any attention soon, stiffly rubbing against your ") + clothesBottom()) + " with each move."), false);
if ((((vagMoist > 0)) && ((vagMoist <= 3)))){
outputMainText(" Your pussy lips slip over each other with each step, slightly lubricated with your arousal.", false);
};
if ((((vagMoist > 3)) && ((vagMoist <= 6)))){
outputMainText(((" You can feel webs of slime smear across the inside of your " + clothesBottom()) + ", your honey dribbling lightly within."), false);
};
if ((((vagMoist > 6)) && ((vagMoist <= 9)))){
outputMainText(((" You swear you can hear yourself squish with each step as your " + clothesBottom()) + " is completely soaked through with your honey. Your thighs feel like they've been completely oiled down by the warm, sensuous fluid."), false);
};
if ((((vagMoist > 9)) && ((vagMoist <= 12)))){
outputMainText(((" There must be a waterfall in your " + clothesBottom()) + " as a steady flow of clear honey drools from between your legs. You have to be extra careful of slipping in your own slime..."), false);
};
};
outputMainText((((("\r\rYour " + nipDesc()) + " nipples threaten to pierce through your ") + clothesTop()) + ". They feel as hard as diamonds with all your arousal, making you shiver whenever something brushes them."), false);
} else {
if (((((lust + changes) >= 50)) && ((lust < 50)))){
if (cockTotal > 0){
outputMainText((((((("\r\rYour " + cockDesc()) + " cock") + plural(1)) + " feel") + plural(3)) + " stiff and engorged with blood. Oh how nice it would be to take care of that problem... "), false);
if ((((cockMoist > 3)) && ((cockMoist <= 6)))){
outputMainText(((" A small amount of pre leaks out, making a moist blotch on your " + clothesBottom()) + "."), false);
};
if ((((cockMoist > 6)) && ((cockMoist <= 9)))){
outputMainText(((" Steady drops of pre leak out, blotching your " + clothesBottom()) + " with small patches of slime."), false);
};
if ((((cockMoist > 9)) && ((cockMoist <= 12)))){
outputMainText(((((" You feel your cock" + plural(1)) + " slimed from tip to belly with its own pre, a steady dribble down your thigh and your ") + clothesBottom()) + " looking more like you peed yourself."), false);
};
};
if (vagTotal > 0){
outputMainText((((((((((("\r\rYour " + vulvaDesc()) + " vulva feels puffy with engorgement, making you walk a little awkwardly so as to not squeeze them so much. Your ") + clitDesc()) + " clit") + plural(2)) + " stir") + plural(4)) + " in your ") + clothesBottom()) + ", throbbing gently in anticipation."), false);
if ((((vagMoist > 3)) && ((vagMoist <= 6)))){
outputMainText(" Your pussy lips slip over each other with each step, slightly lubricated with your arousal.", false);
};
if ((((vagMoist > 6)) && ((vagMoist <= 9)))){
outputMainText(((" You can feel webs of slime smear across the inside of your " + clothesBottom()) + ", your honey dribbling lightly within."), false);
};
if ((((vagMoist > 9)) && ((vagMoist <= 12)))){
outputMainText(((" You swear you can hear yourself squish with each step as your " + clothesBottom()) + " is completely soaked through with your honey. Your thighs feel like they've been completely oiled down by the warm, sensuous fluid."), false);
};
};
outputMainText((((("\r\rYour " + nipDesc()) + " nipples stand at attention in your ") + clothesTop()) + ". They tingle slightly with your arousal."), false);
} else {
if (((((lust + changes) >= 25)) && ((lust < 25)))){
if (cockTotal > 0){
outputMainText((((((((("\r\rYour " + cockDesc()) + " cock") + plural(1)) + " wiggle") + plural(3)) + " in your ") + clothesBottom()) + ", stirring awake and growing erect. Bulging against the fabric, you silently wonder if anybody else will notice..."), false);
if ((((cockMoist > 6)) && ((cockMoist <= 9)))){
outputMainText(((" A small amount of pre leaks out, making a moist blotch on your " + clothesBottom()) + "."), false);
};
if ((((cockMoist > 9)) && ((cockMoist <= 12)))){
outputMainText(((" Steady drops of pre leak out, blotching your " + clothesBottom()) + " with small patches of slime."), false);
};
};
if (vagTotal > 0){
outputMainText((((((((((((("\r\rYour " + vulvaDesc()) + " slit tingles and sparks. You feel a little giggly and warm with the sensation, delighting in the pleasantness of it all. Your ") + clitDesc()) + " clit") + plural(2)) + " tug") + plural(4)) + " at the hood") + plural(4)) + ", pulsing awake in your ") + clothesBottom()) + "."), false);
if ((((vagMoist > 6)) && ((vagMoist <= 9)))){
outputMainText(" Your pussy lips slip over each other with each step, slightly lubricated with your arousal.", false);
};
if ((((vagMoist > 9)) && ((vagMoist <= 12)))){
outputMainText(((" You can feel webs of slime smear across the inside of your " + clothesBottom()) + ", your honey dribbling lightly within."), false);
};
};
};
};
};
lust = (lust + changes);
statDisplay();
}
public function udderDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("udder ERROR " + (udderSize / 2));
if (chance <= 100){
if ((udderSize / 2) <= 2){
tempStr = "nearly flat";
};
if (((((udderSize / 2) > 2)) && (((udderSize / 2) <= 8)))){
tempStr = "noticeable";
};
if (((((udderSize / 2) > 8)) && (((udderSize / 2) <= 20)))){
tempStr = "large";
};
if (((((udderSize / 2) > 20)) && (((udderSize / 2) <= 40)))){
tempStr = "huge";
};
if (((((udderSize / 2) > 40)) && (((udderSize / 2) <= 76)))){
tempStr = "humongous";
};
if (((((udderSize / 2) > 76)) && (((udderSize / 2) <= 146)))){
tempStr = "massive";
};
if (((((udderSize / 2) > 146)) && (((udderSize / 2) <= 210)))){
tempStr = "gargantuan";
};
if (((((udderSize / 2) > 210)) && (((udderSize / 2) <= 280)))){
tempStr = "tremendous";
};
if (((((udderSize / 2) > 280)) && (((udderSize / 2) <= 560)))){
tempStr = "colossal";
};
if ((udderSize / 2) > 560){
tempStr = "ridiculously huge";
};
};
if (chance > 50){
if ((udderSize / 2) <= 2){
tempStr = "tiny";
};
if (((((udderSize / 2) > 2)) && (((udderSize / 2) <= 8)))){
tempStr = "palmable";
};
if (((((udderSize / 2) > 8)) && (((udderSize / 2) <= 20)))){
tempStr = "ample";
};
if (((((udderSize / 2) > 20)) && (((udderSize / 2) <= 40)))){
tempStr = "head-sized";
};
if (((((udderSize / 2) > 40)) && (((udderSize / 2) <= 76)))){
tempStr = "hefty";
};
if (((((udderSize / 2) > 76)) && (((udderSize / 2) <= 146)))){
tempStr = "beachball-sized";
};
if (((((udderSize / 2) > 146)) && (((udderSize / 2) <= 210)))){
tempStr = "normally back-breaking";
};
if (((((udderSize / 2) > 210)) && (((udderSize / 2) <= 280)))){
tempStr = "view-obscuring";
};
if (((((udderSize / 2) > 280)) && (((udderSize / 2) <= 560)))){
tempStr = "bed-sized";
};
if ((udderSize / 2) > 560){
tempStr = "road-filling";
};
};
return (tempStr);
}
public function raceName():String{
var tempStr:String;
tempStr = ("RACE ERROR " + race);
if (race == 1){
tempStr = "Human";
};
if (race == 2){
tempStr = "Equan";
};
if (race == 3){
tempStr = "Lupan";
};
if (race == 4){
tempStr = "Felin";
};
if (race == 6){
tempStr = "Lizan";
};
return (tempStr);
}
public function doLustForcedMasturbate():void{
if (currentState == 2){
outputMainText("\r\rAmidst the heat of battle, your legs buckle from your intense arousal, preventing you from fighting any further.", false);
currentState = 1;
doNext();
doListen = function ():void{
if ((((((((ePref == 0)) || ((((ePref == 1)) && ((gender == 2)))))) || ((((ePref == 2)) && ((gender == 1)))))) || ((gender == 0)))){
outputMainText((("Unfortunately, the " + enemyName()) + " has no interest in taking advantage of your state and lands a heavy blow, knocking you out."), true);
doHP(-100000);
} else {
doGetRaped();
};
};
};
}
public function stackAmount(slotNumber:int):int{
var tempNum:Number;
tempNum = 0;
if (currentItems == 1){
tempNum = stackArray1[slotNumber];
};
if (currentItems == 2){
if (slotNumber > 12){
slotNumber = (slotNumber - 12);
};
tempNum = stackArray2[slotNumber];
};
if (currentItems == 3){
if (slotNumber > 24){
slotNumber = (slotNumber - 24);
};
tempNum = stackArray3[slotNumber];
};
return (tempNum);
}
public function doSleep():void{
bc();
outputMainText("You head into town to sleep for the night...", true);
exhaustion = 0;
doHP(20);
if (lust <= 30){
outputMainText("\r\rDespite everything, your body is calm and sleeps rather soundly.", false);
if ((((((cockMoist > 9)) && ((cockTotal > 0)))) || ((((vagMoist > 9)) && ((vagTotal > 0)))))){
outputMainText(" Although your bed is slightly moist from your constant production of lubricant from your loins.", false);
};
};
if ((((lust > 30)) && ((lust <= 70)))){
outputMainText("\r\rYour sleep is somewhat disrupted by tossing and turning throughout the night, your arousal making certain attributes swell with blood and desiring attention...", false);
exhaustion = (exhaustion + 3);
if ((((((((cockMoist > 3)) && ((cockMoist <= 9)))) && ((cockTotal > 0)))) || ((((((vagMoist > 3)) && ((vagMoist <= 9)))) && ((vagTotal > 0)))))){
outputMainText(" Plus your bed is slightly moist from your constant production of lubricant from your loins.", false);
};
if ((((((cockMoist > 9)) && ((cockTotal > 0)))) || ((((vagMoist > 9)) && ((vagTotal > 0)))))){
outputMainText(" It also seems as though you had wet the bed throughout the night, however the slick slime that pulls away in long strands as you touch it indicates a different fluid...", false);
};
};
if (lust > 70){
outputMainText("\r\rYou spend most of the night tossing and turning, your mind having difficulty sleeping with the lust that envelops it. Although you do manage to eventually get some, it's not nearly as good.", false);
exhaustion = (exhaustion + 8);
if ((((((((cockMoist > 0)) && ((cockMoist <= 3)))) && ((cockTotal > 0)))) || ((((((vagMoist > 0)) && ((vagMoist <= 3)))) && ((vagTotal > 0)))))){
outputMainText(" Plus your bed is slightly moist from your constant production of lubricant from your loins.", false);
};
if ((((((((cockMoist > 3)) && ((cockMoist <= 9)))) && ((cockTotal > 0)))) || ((((((vagMoist > 3)) && ((vagMoist <= 9)))) && ((vagTotal > 0)))))){
outputMainText(" It also seems as though you had wet the bed throughout the night, however the slick slime that pulls away in long strands as you touch it indicates a different fluid...", false);
};
if ((((((cockMoist > 9)) && ((cockTotal > 0)))) || ((((vagMoist > 9)) && ((vagTotal > 0)))))){
outputMainText(" You also wake up in a pool of your own sexual lubricant, the slick stuff sloshing off the sheets as you attempt to get out. You remain cautious as your feet touch the floor, as you have to avoid slipping in the large puddle around the bed.", false);
};
};
if ((((((heatTime < 0)) && ((heat > 0)))) && (vagTotal))){
outputMainText("\r\rDreams of being fucked by over a dozen cocks, each filling you to the brim with hot spunk, filled your sleep. When you eventually woke up in a hot sweat, your hand reflexively inspects your belly and you find yourself slightly disappointed to find it empty.", false);
};
if (milkEngorgementLevel == 2){
outputMainText("\r\rYour sheets smell somewhat sweet, slightly wet and white, as you wake up. Milk still dribbles from your breasts, having formed a small puddle throughout the night.", false);
};
if (milkEngorgementLevel > 2){
outputMainText("\r\rYour sheets smell somewhat sweet and feel very wet as you wake up. Milk spills in streams from your breasts, as you sit up, a pool of the stuff all around you.", false);
};
if (udderEngorgementLevel == 2){
outputMainText("\r\rYour sheets smell somewhat sweet, slightly wet and white, as you wake up. Milk still dribbles from your udder, having formed a small puddle throughout the night.", false);
};
if (udderEngorgementLevel > 2){
outputMainText("\r\rYour sheets smell somewhat sweet and feel very wet as you wake up. Milk spills in streams from your udder, as you sit up, a pool of the stuff all around you.", false);
};
if (pregCheck(0)){
if ((((pregnancyTime > 18)) && ((pregnancyTime <= 36)))){
outputMainText("\r\rAfter waking, you feel oddly sick and strangely bloated. You should probably watch what you eat more closely.", false);
} else {
if ((((pregnancyTime > 36)) && ((pregnancyTime <= 72)))){
outputMainText("\r\rYou seem to be getting a bit chubbier in your midsection, might be because you've been hungrier and eating more lately. Plus you've been feeling a bit more randy than usual...", false);
} else {
if ((((pregnancyTime > 72)) && ((pregnancyTime <= 108)))){
outputMainText("\r\rYour belly is obviously bulging now, more than it would if it were just fat. You should probably accept the fact that you're pregnant...", false);
} else {
if ((((pregnancyTime > 108)) && ((pregnancyTime <= 144)))){
outputMainText("\r\rYou can easily hug your belly as it protrudes from your torso, looking like you were trying to smuggle a melon in your womb. But it feels so good to rub and caress it, making you easily get horny.", false);
} else {
if ((((pregnancyTime > 144)) && ((pregnancyTime <= 180)))){
outputMainText("\r\rYour belly is so large your belly button has turned into an outie. You play with it as you head to sleep, the baby inside kicking back in turn.", false);
} else {
if ((((pregnancyTime > 180)) && ((pregnancyTime <= 216)))){
outputMainText("\r\rFor most races, you would be giving birth any time now. You actually have to be cautious about people bumping into you as you walk through the town, it protrudes so far.", false);
} else {
if ((((pregnancyTime > 216)) && ((pregnancyTime <= 252)))){
outputMainText((("\r\rThe " + skinDesc()) + " around your giant belly is so taut that you can audibly drum it with your fingers. Which the baby inside does with its feet frequently from inside."), false);
} else {
if ((((pregnancyTime > 252)) && ((pregnancyTime <= 288)))){
outputMainText("\r\rYou're beginning to draw the eyes of the crowd as you move through town, your belly is so enormous. People are wondering if you've actually got a baby in there and not a small child.", false);
} else {
if ((((pregnancyTime > 288)) && ((pregnancyTime <= 324)))){
outputMainText("\r\rThis is getting ridiculous... People are starting to come up to you as you move through the street on your way to bed and actually ask if you've got a small person in your belly! Although, you aren't quite sure, but as your hands try to wrap around it, unable to fully embrace it, you begin to wonder yourself.", false);
} else {
if ((((pregnancyTime > 324)) && ((pregnancyTime <= 360)))){
outputMainText("\r\rYour giant belly is becoming a bit of a nuisance... As you walk through buildings, people back up against a wall to let you pass by. You can feel your belly scrape against the frames of narrow doorways as you pass through, and it's been a while since you've last seen your belly-button...", false);
} else {
if ((((pregnancyTime > 360)) && ((pregnancyTime <= 396)))){
outputMainText("\r\rNow you're actually starting to get a little worried... Your knees are knocking against the underside of your belly when you try to walk. People are clearing the way when you move down the streets to make room for your belly and you have to skillfully wedge yourself through narrow doorways!", false);
} else {
if ((((pregnancyTime > 396)) && ((pregnancyTime <= 432)))){
outputMainText((("\r\rAs you lay down to go to sleep, you have to curl forward to fit your belly in your bed, leaving your backside hanging off the mattress. The sheets aren't even wide enough to cover you completely, making you feel a draft on some of your exposed belly. The chill makes you shiver, not from the cold, but from your nerves sparking from the super-taut, extra-sensitive " + skinDesc()) + "."), false);
} else {
if (pregnancyTime > 432){
outputMainText("\r\rYou don't even bother to head to your bed. Borrowing a bunch of blankets, you've made do with sleeping outside. Your belly is too big to go indoors, even having to handle shop business from the streets. Your hand reaches out as far as it can and hardly wraps around any of your girth. The warmth it emanates and sensations it echoes through your body help you sleep quite soundly and pleasantly, though, so you'll be fine until you give birth.", false);
};
};
};
};
};
};
};
};
};
};
};
};
};
if (((body + (str / 2)) + carryMod) < Math.floor((pregnancyTime / 10))){
outputMainText(" However, none of that really matters as you can no longer carry the weight of your hefty belly. You're stuck in this town, dragging your belly across the ground, with padding beneath to protect it. There's going to be no more exploring until you either get stronger or give birth to this massive nuisance...", false);
} else {
if ((((body + (str / 2)) + carryMod) * 2) < Math.floor((pregnancyTime / 10))){
outputMainText(((" Your " + skinDesc()) + " is pulled so taut around your belly that you're afraid it might tear, though it never does. But it's so sensitive... Caressing it as you try to sleep is so nice~ Although, it does have the slight drawback of looking rather silly while you walk with a hunch and attempt to cradle it wherever you go; it's gotten so heavy."), false);
} else {
if ((((body + (str / 2)) + carryMod) * 3) < Math.floor((pregnancyTime / 10))){
outputMainText(" The mound feels so heavy... When walking around town, you even had to keep a hand on your back for support.", false);
} else {
if ((((body + (str / 2)) + carryMod) * 4) < Math.floor((pregnancyTime / 10))){
outputMainText(" The weight of your belly makes you feel more exhausted than you really are by the end of the day, making you glad for the night's rest.", false);
} else {
if ((((body + (str / 2)) + carryMod) * 5) < Math.floor((pregnancyTime / 10))){
outputMainText(" You can noticeably feel the weight of your belly.", false);
};
};
};
};
};
};
hrs = 8;
doEnd();
}
public function affinity(humanChange:int, horseChange:int, wolfChange:int, catChange:int, cowChange:int, lizardChange:int, rabbitChange:int):void{
human = (human + Math.ceil((humanChange * changeMod)));
horse = (horse + Math.ceil((horseChange * changeMod)));
wolf = (wolf + Math.ceil((wolfChange * changeMod)));
cat = (cat + Math.ceil((catChange * changeMod)));
cow = (cow + Math.ceil((cowChange * changeMod)));
lizard = (lizard + Math.ceil((lizardChange * changeMod)));
rabbit = (rabbit + Math.ceil((rabbitChange * changeMod)));
}
public function doMasturbate():void{
bc();
currentState = 3;
viewButtonOutline(1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1);
viewButtonText(0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1);
buttonWrite(1, "Penis");
buttonWrite(2, "Both");
buttonWrite(3, "Vagina");
buttonWrite(4, "Bag");
buttonWrite(7, "Breasts");
buttonWrite(10, "Udder");
buttonWrite(12, "Return");
if (cockTotal > 0){
Choice1.visible = true;
};
if (vagTotal > 0){
Choice3.visible = true;
};
if (udders == true){
Choice10.visible = true;
};
outputMainText("How would you like to masturbate?", true);
doListen = function ():void{
if (buttonChoice == 1){
doCockMasturbate();
};
if (buttonChoice == 3){
doVagMasturbate();
};
if (buttonChoice == 2){
doBothMasturbate();
};
if (buttonChoice == 4){
doBag();
};
if (buttonChoice == 7){
doBoobMasturbate();
};
if (buttonChoice == 10){
doUdderMasturbate();
};
if (buttonChoice == 12){
doGeneral();
};
};
}
public function ballDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("BALLS ERROR " + ballSize);
if (chance <= 100){
if (ballSize <= 1){
tempStr = "tiny";
};
if ((((ballSize > 1)) && ((ballSize <= 3)))){
tempStr = "small";
};
if ((((ballSize > 3)) && ((ballSize <= 5)))){
tempStr = "big";
};
if ((((ballSize > 5)) && ((ballSize <= 8)))){
tempStr = "large";
};
if ((((ballSize > 8)) && ((ballSize <= 13)))){
tempStr = "hand-filling";
};
if ((((ballSize > 13)) && ((ballSize <= 17)))){
tempStr = "huge";
};
if ((((ballSize > 17)) && ((ballSize <= 26)))){
tempStr = "barely palmable";
};
if ((((ballSize > 26)) && ((ballSize <= 40)))){
tempStr = "enormous";
};
if ((((ballSize > 40)) && ((ballSize <= 80)))){
tempStr = "tremendous";
};
if ((((ballSize > 80)) && ((ballSize <= 120)))){
tempStr = "huggable";
};
if ((((ballSize > 120)) && ((ballSize <= 240)))){
tempStr = "gargantuan";
};
if (ballSize > 240){
tempStr = "colossal";
};
};
if (chance > 50){
if (ballSize <= 1){
tempStr = "marble-sized";
};
if ((((ballSize > 1)) && ((ballSize <= 3)))){
tempStr = "golfball-sized";
};
if ((((ballSize > 3)) && ((ballSize <= 5)))){
tempStr = "kiwi-sized";
};
if ((((ballSize > 5)) && ((ballSize <= 8)))){
tempStr = "tennisball-sized";
};
if ((((ballSize > 8)) && ((ballSize <= 13)))){
tempStr = "baseball-sized";
};
if ((((ballSize > 13)) && ((ballSize <= 17)))){
tempStr = "softball-sized";
};
if ((((ballSize > 17)) && ((ballSize <= 26)))){
tempStr = "cantaloupe-sized";
};
if ((((ballSize > 26)) && ((ballSize <= 40)))){
tempStr = "basketball-sized";
};
if ((((ballSize > 40)) && ((ballSize <= 80)))){
tempStr = "watermelon-sized";
};
if ((((ballSize > 80)) && ((ballSize <= 120)))){
tempStr = "beachball-sized";
};
if ((((ballSize > 120)) && ((ballSize <= 240)))){
tempStr = "boulder-sized";
};
if (ballSize > 240){
tempStr = "landscape-crushing";
};
};
return (tempStr);
}
public function useItem(slotNumber:int):void{
var ID:int;
var slotNumber = slotNumber;
ID = itemID(slotNumber);
if (ID == 0){
outputMainText("This slot is empty.", true);
doBag();
} else {
outputMainText(itemDescription(ID), true);
if (((usableItem(ID)) || (conItem(ID)))){
outputMainText("\r\rAre you sure you want to use this item?", false);
if (conItem(ID)){
outputMainText("\r\rWarning: Using this item will consume it.", false);
};
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (conItem(ID)){
if (stackAmount(slotNumber) == 1){
stackSlotWrite(slotNumber, -1);
itemSlotWrite(slotNumber, 0);
} else {
stackSlotWrite(slotNumber, -1);
};
};
doItemUse(ID);
} else {
doBag();
};
};
} else {
doBag();
};
};
}
public function pregCheck(amount:int):Boolean{
var tempBool:Boolean;
tempBool = false;
if (amount == 0){
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == true){
tempBool = true;
};
i = (i + 5);
};
};
if (amount == 1){
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == false){
tempBool = true;
};
i = (i + 5);
};
};
return (tempBool);
}
public function stashStackAmount(slotNumber:int):int{
var tempNum:Number;
tempNum = 0;
if (currentStash == 1){
tempNum = stashStackArray1[slotNumber];
};
if (currentStash == 2){
tempNum = stashStackArray2[slotNumber];
};
if (currentStash == 3){
tempNum = stashStackArray3[slotNumber];
};
return (tempNum);
}
public function feetDesc():String{
var tempStr:String;
tempStr = "feet";
if (checkItem(102)){
tempStr = "hooves";
};
return (tempStr);
}
public function lilaDesc():void{
if (lilaMilk == 0){
outputMainText("\r\rHer small breasts leak only a few drops of milk as she stands there, but her nipples are quite erect and peek through her fur as she blushes at you staring at her.", false);
} else {
if (lilaMilk <= 2){
outputMainText("\r\rThin trails of white milk travel through her fur from her many erect nipples, slowly dripping onto the floor as she stands there and waits for you, a slight blush crossing her cheeks as the air chills her wet areolas and makes her shiver.", false);
} else {
if (lilaMilk <= 5){
outputMainText("\r\rHer nipples push out from her fur, drops almost continually forming around them and drizzling down her naked body. Shyly, she brings a hand up to squeeze one that's especially stiff and sensitive, making her cheeks red as a squirt of milk launches across the floor of your room.", false);
} else {
if (lilaMilk <= 8){
outputMainText("\r\rThick streams of white milk dribble down her body, her puffy nipples bulging from their retained milk. Her arms cross over a few of them in embarrassment at how obvious they are, but milk squirts out around them and runs down over her pussy, mixing with the fluids there, and pooling on the floor.", false);
} else {
if (lilaMilk <= 12){
outputMainText("\r\rThough not completely engorged thanks to her 'sharing', her nipples are still quite puffy. A hand reaches up to massage one of the breasts as it feels a bit full to her and it spews several thin spurts in different directions from the slight touch, making her blush furiously.", false);
} else {
if (lilaMilk <= 18){
outputMainText("\r\rDespite having just fed some of her friends, her breasts are still swollen, her nipples puffing out further than ever before. Stiff and long, she can't help but play with them with her fingers, milk spilling profusely down her hand and body, and making her moan before you even get to her. With her eager actions, her face grows red with embarrassment.", false);
} else {
if (lilaMilk <= 19){
outputMainText("\r\rShe stands there, short and happy as her breasts squirt thin sprays of milk simply by moving a little. Her hands often pass over them, squeezing her thick stiff nipples and moaning as thick streams gush from them, spilling down her body. Rather used to them by now, she hardly blushes at all, and is quite eager for you to get back to her.", false);
};
};
};
};
};
};
};
if (lilaVulva == 0){
outputMainText(" Her dainty little vulva also dribbles onto her thighs, her pink lips panting with lubrication in excitement.", false);
} else {
if (lilaVulva <= 2){
outputMainText(" She also twists her hips back and forth while she waits, still trying to figure out how to stand with her thick developed labia filling much the gap between her thighs, making slick webs spread back and forth between them.", false);
} else {
if (lilaVulva <= 5){
outputMainText(" Her nose seems somewhat red from a different kind of blush, a heat filling her face as her thighs tense and relax, squeezing the thick vulva between her legs again and again. You can see her clit peek out from its hood through the cleft, aroused and urging on the slimy coating about her thighs.", false);
} else {
if (lilaVulva <= 8){
outputMainText(" She still holds onto her swollen vulva, with much of the flesh bulging out from between her fingers. Standing with her legs slightly spread so as to not squeeze it, she still manages to cause long strands of thick lubricant to spill from her fingers as she kneads the mass about, afraid to stop or it'll drop from body.", false);
} else {
if (lilaVulva <= 12){
outputMainText(" She also stands with her legs spread, her thighs unable to touch due to the thick lips between them. Each outer labia is as big as her fist, with the inner labia dangling down and nearly red with arousal, drizzling thick strands of clear honey down to the floor without her even touching it. Which she puts a great deal of effort into doing, afraid that she won't stop rubbing the thick clit that sticks out slightly.", false);
} else {
if (lilaVulva <= 18){
outputMainText(" And between her knees hangs her overgrown lips, making her stand slightly bow-legged. Her legs almost constantly twist about, using her knees to squish the flesh again and again since her hands can hardly hold it all if she tried. Her clitoris can hardly be called a button, stroked like a small penis as it pushes out from the massive folds. Her inner lips are so pink with arousal that they seem to be growing longer, due to the the amount of slickness flowing down them that creates the illusion and forms a puddle around her feet.", false);
} else {
if (lilaVulva <= 19){
outputMainText(" And she hardly seems like's she's standing at all. With how much her legs bend around and squeeze the large squishy labia that fills the space between them, it seems like she's nearly sitting on her own pussy. However, it barely hovers over the floor, the inner labia dangling down and brushing across it when she presses down slightly to push her clit against the floor to please it a bit. If she curled up and actually wrapped her whole hand around the sensitive thing, there would have still been some more length to cover. Which only makes her original 'wetness' problem worse, the overall size of her genitals causing a flood about her feet and leaving them almost constantly slick and wet with a trail of more following her wherever she goes. However, thanks to her size, when she slips from her moisture she simply lets out an erotic mewl as she falls down onto her soft flesh.", false);
};
};
};
};
};
};
};
if ((((lilaPreg <= 35)) && ((lilaVulva >= 11)))){
outputMainText(" Her belly seems to be sporting some extra cushioning as well. Not exactly chubby, her excess vaginal flesh from all the growth causes it to protrude, her lower breasts pushing out even more.", false);
} else {
if ((((lilaPreg <= 70)) && ((lilaPreg > 35)))){
outputMainText(" Her hands have a tendancy to cup her growing belly as well, imagining how big she will get. Already protruding quite a bit, her belly button just beginning to stick out, she giggles a little to herself at the thoughts of what's to come.", false);
} else {
if ((((lilaPreg <= 100)) && ((lilaPreg > 70)))){
outputMainText("Yet, despite all of that, her focus mostly remains on her large belly. Nearly as large as herself if she were to curl up, the thing hangs forward to the point where she can't see her messy arousal below. Her hands often roam over the taut fur, taking her naked opportunity to caress it and pleasure in it, cradling it gently.", false);
};
};
};
}
public function doDairyFarm():void{
var chance:int;
chance = percent();
if ((((malonRep == 4)) && ((malonPreg > 216)))){
outputMainText("As you approach the farm, one of the farmhands rushes up to you. Catching their breath, they speak rapidly.\r\r'Hurry! Malon's gone into labor!!'\r\rThe farmhand grabs you hand and yanks you towards the main farmhouse. Within minutes, you're brought up to Malon's room where the excessively pregnant half-bovine woman huffs and heaves. Her tail swishes out the side from under her, twitching with each contraction.\r\r'Here it comes!', one of the farmhands announces as the baby begins to crown.\r\rAn eternity of bliss passes as you hear a cry, slightly mooing, but utterly beautiful. She has long, luxurious red hair, just like her mother's. Along with large, cow-like ears, and a long swishy tail. As well as, oddly enough, a jiggly little udder just below her belly and palmable breasts on her chest. A beautiful baby girl", true);
if (malonChildren > 1){
outputMainText(", just like the rest", false);
};
outputMainText("! ...She's got your eyes, at least.\r\rThe baby is actually quite developed already, it seems. She opens her eyes and giggles playfully, closer to a seven-year-old child than an actual baby. And as the farmhand places her on the bed, she tries to stand, but stumbles at first, using her mother as support. You wouldn't be surprised if she were running and talking within the next few days!\r\rBut, first thing's first, Malon pulls up her dress the rest of the way, letting her over-engorged bosom leak all over the bed. The little girl quickly crawls up to a long nipple, sucking it down her throat and suckling. You", false);
if (malonChildren == 1){
outputMainText(", and her older sister,", false);
};
if (malonChildren > 1){
outputMainText(", and her older sisters,", false);
};
outputMainText(" gather close and give Malon a great big hug.", false);
doNext();
doListen = function ():void{
outputMainText("You wind up sleeping at the farmhouse and spend an entire day with the family. The newborn girl is walking after the bedrest and even begins muttering her own cute little moos. Malon already has a dress ready for the girl, long and white that goes all the way down to the feet, just like she used to wear when she was that young. Well, not quite that young, but around that equivalent age in development.\r\rYou're congratulated many times as you eventually leave, and even given quite the hefty sum as a gift from the whole farm!", true);
doCoin(150);
doSexP(50);
stats(0, 1, 0, 0);
malonChildren++;
malonPreg = 0;
malonRep = 5;
hrs = 30;
doEnd();
};
} else {
if (chance <= 15){
outputMainText("As you head towards the dairy farm, one of the farmers waves you over in greeting.\r\r'Why hello there! You're lucky to have passed by here at this time. We're giving away free samples of our dairy enhancement pills for cows, to help drum up some business. We use these to keep our dairy cows in top shape and producing plenty of milk. Give them to your own cows to help make them fine producers as well!\r Just... try not to eat them yourself, or you'll end up like Malon over there.'\r\rHe nods over to one of the farm-hands that is nearby. She's a beautiful woman with long, flowing red hair in a yellow shirt and long purple skirt with a brown apron around her waist and yellow shawl around her shoulders. However, the shawl seems fairly wet and she's careful to drape its ends over breasts larger than watermelons, trying to hide the large blotches on her shirt with it and keeping it at the ready to use at any moment. Her ears are also quite long, hanging perpendicular from her head, nearly 5 inches, and droop a little. Behind her you see a long, narrow tail, tipped with a tuft of long hairs, swish about her calves with each step. She lugs two overflowing pails of milk with a blush in her cheeks, trying to avoid eye contact with anyone as she disappears into a barn.", true);
if (malonRep > 2){
outputMainText(" Although, she spots you out of the corner of her eye before she enters and turns to give you a bright smile. It looks like she'd wave at you, but her hands are a bit busy at the moment.", false);
};
if (malonRep == 4){
if ((((malonPreg > 36)) && ((malonPreg <= 72)))){
outputMainText(" Especially as one wraps around her protruding belly, obviously pregnant...", false);
};
if ((((malonPreg > 72)) && ((malonPreg <= 144)))){
outputMainText(" Yet, despite the massive belly she is sporting, it seems she's managing work just fine.", false);
};
if ((((malonPreg > 144)) && ((malonPreg <= 216)))){
outputMainText(" You're actually quite surprised that she's even working at all. Though her breasts seem even larger than usual, they're actually supported by her enormously pregnant belly, looking to be even larger than she is.", false);
};
};
if (malonRep > 3){
outputMainText("\r\r'Although, I'm sure you're already aware of the consequences.'\r\rHe gives you a perverse wink and hands you a complimentary DairE Pill, nodding you along.", false);
} else {
outputMainText("\r\r'Let's just say it's best to keep the pills to the cows.'\r\rHe hands you a complimentary DairE Pill and nods you along.", false);
};
itemAdd(211);
hrs = 2;
doEnd();
} else {
if ((((chance > 15)) && ((chance <= 55)))){
bc();
outputMainText("As you head towards the dairy farm, one of the farmers spots you and walks over to greet you.\r\r'Hello! If you want some of our milk, you should head over to Softlik. But if you're here for some of our DairE Pills, the supplement that helps our cows produce so much delicious milk, then look no further, you can buy one from me!'\r\r'Would you like to buy one? Only 30 coins!", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (coin < 30){
outputMainText("'Sorry friend, you don't seem to have enough coins. Come back later when you do and we can try to deal again!'\r\rHe gives you a nod before heading back to his work, leaving you to head back to Softlik.", true);
hrs = 1;
doEnd();
} else {
outputMainText("'Alright, here you go friend!' He rummages through one of his pockets in his overalls and pulls out a large pill, handing it to you. 'Come back later if you need any more!'\r\rHe gives you a nod before heading back to his work, leaving you to head back to Softlik.", true);
doCoin(-30);
itemAdd(211);
hrs = 2;
doEnd();
};
} else {
outputMainText("'Well, come back again later if you change your mind. And have a nice day!'\r\rHe gives you a nod before heading back to his work, leaving you to head back to Softlik.", true);
hrs = 1;
doEnd();
};
};
} else {
if ((((((chance > 55)) && ((chance <= 80)))) || ((((((malonRep > 0)) && ((chance > 55)))) && ((chance <= 90)))))){
trace(("malonRep = " + malonRep));
if ((((percent() <= 25)) || ((((malonRep > 3)) && ((percent() <= 50)))))){
bc();
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Inspect");
buttonWrite(7, "Leave");
outputMainText("Having avoided any farmers, you approach one of the barns. Your ears perk up as you hear something inside. A machine sounds like its pumping, yet you can see no signs of cows nearby or the farmers that take care of them.\r\r\rWhat do you do?", true);
doListen = function ():void{
if (buttonChoice == 5){
if (malonRep < 1){
outputMainText("You quietly open the door and look inside, your eyes going wide at what you see. There are no cows, yet the automatic milker is churning away. In the stalls where the cows should be, stands a young woman, bent forward and hanging onto the guardrail to hold herself up. She wears a long purple skirt with a brown apron, her large rump rocking from side to side as a long tail with a hairy tip dances above in tune. Long red hair dangles down from her shoulders, with long, round ears sticking out. She heaves with each pump of the milker, letting out soft gasping moos.\r\rHer white shirt pushed down around her belly and her yellow shawl draped over the rail beside her, her enormous naked breasts hang down towards the floor. They're larger than watermelons, with nipples several inches long encompassed by the milking cups. Gushes of milk flow through the milker's hoses with each pump, her giant breasts being drained...\r\r\rWhat now?", true);
} else {
outputMainText("You quietly open the door and look inside, a smirk crossing your face. There are no cows, yet the automatic milker is churning away. In the stalls where the cows should be, stands Malon, the young farm-hand, bent forward and hanging onto the guardrail to hold herself up, her large rump rocking lazily back and forth as her bovine tail swings above in tune. Her white shirt is scrunched down around her belly, her enormous naked breasts hanging down towards the floor. Her nipples are several inches long and encompassed by the milking cups, gushes of milk flow through the milker's hoses with each pump, her giant breasts being drained. In between gasps, she lets out soft moos...", true);
if (malonRep == 4){
if ((((malonPreg > 36)) && ((malonPreg <= 72)))){
outputMainText("\r\rShe rubs her slightly protruding belly, pregnant with one of your children...", false);
};
if ((((malonPreg > 72)) && ((malonPreg <= 144)))){
outputMainText("\r\rBoth of her hands rub around her giant belly which hangs nearly as low as her tits, pregnant with one of your children. You don't know how she managed to even pull her shirt down like that...", false);
};
if ((((malonPreg > 144)) && ((malonPreg <= 216)))){
outputMainText("\r\rHer flow of milk through the tubes seems even more powerful than before. You're surprised at how large her tits have grown, her nipples nearly scraping along the ground as she bends over. However, her giant belly that she hugs and caresses as she's milked reaches even further, the hay on the floor tickling her protruding belly button. She has propped it up against the guardrail to help maintain her balance, though she doesn't seem terribly uncomfortable.", false);
};
};
if ((((malonRep == 5)) && ((malonChildren > 0)))){
outputMainText("\r\rIt seems as though she has finally found a moment to get away from your offspring and have some time to herself.", false);
};
outputMainText("\r\r\rWhat now?", false);
};
bc();
viewButtonOutline(0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
viewButtonText(0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
buttonWrite(2, "Interrupt");
buttonWrite(5, "Assist");
buttonWrite(7, "Fuck");
if (malonRep < 1){
buttonWrite(7, "Rape");
};
buttonWrite(10, "Leave");
doListen = function ():void{
if (buttonChoice == 2){
outputMainText("You tap on the rail beside her, notifying her of your presence. Her eyes go wide as she jumps, her tits bouncing and wobbling around the rail as she looks up at you.", true);
if (malonRep < 0){
outputMainText("\r\rWith fear in her eyes, she grabs her shawl from the rail and runs in the opposite direction until the cups pop from her nipples with a milky flood. Her breasts swing from side to side, more milk splashing about the walls as she goes, she disappears out another door, leaving you with nothing.", false);
stats(0, -1, 0, 0);
doSexP(5);
hrs = 2;
doEnd();
} else {
if (malonRep > 2){
outputMainText("\r\r'Meanie. Why'd you go and scare me like that?' She winks and sticks out her tongue at you.\r\rHer eyelids droop as her body shudders, the tail flicking wildly while the milk flow stutters with a strong burst. She lets out a low 'moo' as she comes, at least partly enjoying some of her bovine endownments.\r\rShe takes a moment before she comes down from her high. 'Mmm... I'm just going to hang out here for a bit. Feel free to take the bottle from the machine. It's really fresh~' She gives you a wink, rubbing her naked breasts as a bit more milk rushes through the tubes.", false);
hrs = 2;
doSexP(2);
itemAdd(214);
doEnd();
} else {
if (malonRep == 2){
outputMainText("O-Oh, umm...' Her hands blindly wanders along the rail for her yellow shawl, picking it up and futily attempting to cover her large chest with it.\r\r'I-I just got so full that I, umm...' Her eyes glance from side to side. 'I-I know it's very much like a cow, but with all the work around here and how long it takes to do it manually...' Sadness fills her face at having been caught, despite what you said before. 'D-Don't worry, I'll clean up now...'\r\rHer ears drooping, her tail pushing against her dress trying to hide between her legs, she pulls the cups from her long nipples and lets the excess milk dribble off onto the floor. Turning away and trying to avoid any eyecontact, she wipes herself down with the yellow shawl and pulls up her shirt. She looks over her shoulder, her eyes to the ground, and says meekly, 'Sorry...', before heading out the other end of the building, leaving you to head back to Softlik.", false);
hrs = 2;
doEnd();
} else {
if ((((malonRep == 0)) || ((malonRep == 1)))){
if (malonRep == 0){
outputMainText("\r\r'Uhh... umm...' Her hands blindly wanders along the rail for her yellow shawl, picking it up and futily attempting to cover her large chest with it. 'Who-Who're you? Please, please don't tell anyone I've been in here!", false);
};
if (malonRep == 1){
outputMainText("\r\r'Oh, whew...' She puts a hand to her chest. 'It's just you. I-I'm not exactly supposed to be here, but, well, I'm sure you can see the benefits...' She stands there awkwardly, the machine still sucking milk from her long nipples. 'You... You won't tell anyone, will you?'", false);
};
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Tell");
buttonWrite(7, "Don't Tell");
doListen = function ():void{
if (buttonChoice == 5){
outputMainText("With tears welling up in her eyes, she rips away from the cups, letting them pop from her nipples with a milky flood. She turns and runs the other way, her tits bouncing from side to side and milk splashing across the walls as she goes, until she disappears out another door, leaving you with nothing.", true);
stats(0, -3, 0, 0);
malonRep = -1;
hrs = 2;
doEnd();
};
if (buttonChoice == 7){
if (malonRep == 0){
outputMainText("'Ahh, thank you so much!' She looks like she wants to hug you, but she's a bit tethered at the moment... and half naked.\r\rShe begins to gather herself, trying to turn away as she removes the milk-cups. You get a short flash of her over-ample chest before she pulls her shirt back into position, rubbing her nipples so they don't show through as well and dabbing the resulting blotch with her shawl.\r\r'M-My name is Malon. I've been this way most of my life... As a child, I always loved animals. A little too much, you could say... I liked the cows so much that I wanted to be like them. And so, I took one of their DairE Pills... To cut a long story short, I was happy with the results at first, becoming more like my bovine friends. Until eventually I grew up and realized my predicament. And, well, ever since then, I've been like this...'\r\rShe shuffles uncomfortably in position for a bit, not quite sure what to say. She glances from side to side before deciding to step over to the milk machine, grabbing a bottle that was freshly made. Very freshly.\r\r'I-I don't know how to thank you for not ruining one of the few pleasures of my life, but at least take this' She hands you the bottle as she bows her head.\r\rIn an instant, she turns and hurries out of the barn, her long tail squeezing against her backside and outlining her butt even more.", true);
malonRep = 1;
doSexP(20);
stats(0, 1, 0, 0);
hrs = 2;
itemAdd(214);
doEnd();
};
if (malonRep == 1){
outputMainText("'Hehe, thanks. Just a bit more to go...' Her eyelids droop as her body shudders, the tail flicking wildly while the milk flow stutters with a strong burst. She lets out a low 'moo' as she comes, at least partly enjoying some of her bovine endownments.\r\rShe takes a moment before she comes down from her high. 'Mmm... I'm just going to hang out here for a bit. Feel free to take the bottle from the machine. It's really fresh~' She gives you a wink, rubbing her naked breasts as a bit more milk rushes through the tubes.", true);
hrs = 2;
doSexP(5);
itemAdd(214);
stats(0, 1, 0, 0);
doEnd();
};
};
};
};
};
};
};
};
if (buttonChoice == 5){
if (malonRep < 1){
outputMainText("The woman doesn't see you as you approach, her eyes closed as she hums pleasantly to herself. You pull up a bucket and a nearby stool, sliding it beneathe the tubes of the milking cups.\r\r'Eep!' She cries out as you interrupt her milking by pulling off the cups. She quickly settles down with a heavy blush on her face as you wrap your hands around her 6-inch long nipples, wringing down their lengths with gentle tugs, oscillating one after the other. Unable to resist, her breasts weighing her down and your hands keeping it that way, she rests upon the guardrail and waits for you to finish, her large ears drooping in embarrassment.\r\rEvery few squirts from her tits, the fluid splashing against the metallic bucket, she lets out a gasp as her large rear twitches, her long bristly tipped tail jerking above. After a few minutes of gentle milking, the flow begins to increase, the milk spraying everywhere with each tug. She clenches her eyes shut as her face burns red. Her whole body shudders, causing her rump to jiggle and the heavy bags to jounce out of your hands. Her mouth yawns wide to let out a moan of ecstasy, but all that comes out is a long, low 'Moooooooo!'", true);
doNext();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("She huffs for a few moments, her mind returning to its senses. The realization of her excessively cattle-like behaviour, especially in front of you, embarrasses her immensely. She jerks backward to stand up, a breast swinging out and slapping you in the face with a wet kiss from her nipple, before she turns and runs in the opposite direction. With a kink in her step and her breasts swaying from side to side, she disappears with her tail between her legs, pushing the skirt in to further amplify her endowments.\r\rA bit afraid of what happens next, you decide it best to disappear yourself.", true);
malonRep++;
if (malonRep == 1){
doNext();
doListen = function ():void{
outputMainText((("However, on your way out, you feel a tug on your " + clothesTop()) + ".\r\rYou turn around to see the woman again, covering her chest with the yellow shawl she had left behind.\r\r'Uhh... umm... Th-that was a bit rude of me. I'm sorry... You seem like you were genuinely trying to help.' She fumbles a little as she tries to hold the shawl to her chest with a single arm, managing to let a nipple pop out with a blush before she gets it right. She holds out her free hand to shake yours. 'I'm Malon.'\r\rYou take her hand and shake with the formal introduction.\r\r'I'm... kinda ashamed for being such a... well, cow. Let's just say I liked them too much when I was younger and took some DairE Pills to act like them. And then I wound up being a little too much like them, resulting in some rather... bothersome attributes for a woman like me. Anyways, here. At least you should get something for your efforts.'\r\rShe turns away and adjusts her shirt back into place so she doesn't have to worry about her shawl, though her naked breasts are still visible on either side of her body. Then she picks up the bucket you had used and pours it into one of the bottles meant for the milk of normal cows, handing it to you.\r\r'I-It's not much, but that's all I can offer at the moment...'\r\rAfter you take the milk, she says her goodbyes and tells you she'll be more welcoming from now on, leaving you to head back to Softlik."), true);
stats(1, 2, 1, 2);
doSexP(20);
itemAdd(214);
hrs = 2;
doEnd();
};
} else {
stats(1, 1, 1, 1);
doSexP(2);
hrs = 2;
doEnd();
};
};
};
} else {
if (malonRep >= 1){
outputMainText("Malon doesn't see you as you approach, her eyes closed as she hums pleasantly to herself. You pull up a bucket and a nearby stool, sliding it beneathe the tubes of the milking cups.\r\r'Eep!' She cries out as you interrupt her milking by pulling off the cups. She quickly settles down with a heavy blush on her face as she recognies you and your hands wrap around her 6-inch long nipples, wringing down their lengths with gentle tugs, oscillating one after the other. With a small smile, though still a slight blush, she allows you to take care of her milk for her.\r\rEvery few squirts from her tits, the fluid splashing against the metallic bucket, she lets out a gasp as her large rear twitches, her long bristly tipped tail jerking above. After a few minutes of gentle milking, the flow begins to increase, the milk spraying everywhere with each tug. She clenches her eyes shut as her face burns red. Her whole body shudders, causing her rump to jiggle and the heavy bags to jounce out of your hands. Her mouth yawns wide to let out a moan of ecstasy, but all that comes out is a long, low 'Moooooooo!'\r\rShe takes a few moments to come down from her climax, heaving slightly, her breasts bobbing up and down. Then she leans over the rail, her tits squirting milk across your lap, as she kisses you on the forehead.\r\r'Thanks for that', she whispers. 'Feel free to take a bottle and fill it for your kind efforts.'\r\rShe dozes off a little on the rail, her tail flicking back and forth contently as she reflects on her orgasm, her nipples dripping into the hay on the ground.\r\rNot wanting to disrupt her pleasant thoughts, you take a bottle of her milk and leave.", true);
stats(1, 1, 1, 0);
itemAdd(214);
hrs = 2;
if (malonRep == 1){
doNext();
doListen = function ():void{
outputMainText((("You don't get far, however, as you feel a tug at your " + clothesTop()) + " from behind.\r\rYou turn to see Malon huffing a little, her shirt covered with milk, as she had ran to catch up with you.\r\r'Umm... I... I just wanted to thank you for being so kind to me... Most of the people that work on the farm or visit regard me as being a nuisance or a joke. I mean, I still love the animals so much that I'll never want to leave, but they often regard me like one of them. And, well... When I let out a moo like that, just like a cow, I... I can't help but think that they're right. I'm nothing but a big fat cow...'\r\rHer head hangs low, her bovine ears drooping in shame.\r\r\rDo you want to tell her that she shouldn't act like a cow and try to avoid mooing, or that she should accept her cow-like qualities?"), true);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Don't Moo");
buttonWrite(7, "Moo");
doListen = function ():void{
if (buttonChoice == 5){
outputMainText("You nod and tell her that it'd probably be best if she tried to not act like a cow to the best of her abilities. Her head still hangs, but she nods in return, accepting her condition as a problem. She reaches out, giving you a small hug, then turns to walk back to the farm. Her tail hangs between her legs, trying to tuck itself between her legs to prevent anybody from noticing, altouth the effort merely shows off her large rump even more...", true);
stats(0, 2, 0, -2);
doSexP(5);
malonRep = 2;
doEnd();
};
if (buttonChoice == 7){
outputMainText((("You smile and pat her on the head, telling her that she shouldn't be ashamed of being a cow. There's a lot of races out there that are like other animals, so she's more like a new race on her own.\r\rHearing your uplifting words, her head rises back up with a big, goofy smile, her ears nearly flapping. 'M-Mooo?'\r\rYou nod in acceptance.\r\rShe giggles loudly, lunging out at you with her arms stretched wide and plowing you to the ground under her massive soft tits in a great big hug. She nuzzles your " + boobDesc()) + " chest a little, enjoying your presence, before lifting herself with milky drops spilling from her shirt onto you. Not caring in the slightest, however, she turns around and skips back to the farm, her chest bouncing immensely while her tail flails about happily behind her.\r\r\rAs you come to a stand, however, something drops from your body, having been intentionally left behind during her attack..."), true);
stats(0, 1, 0, 2);
doSexP(25);
malonRep = 3;
itemAdd(215);
doEnd();
};
};
};
} else {
doEnd();
};
};
};
};
if (buttonChoice == 7){
if (malonRep < 1){
outputMainText("You sneak up behind her, careful to not let her notice your movement as she hums pleasantly to herself. Before she can react, you flip up her long skirt and expose her naked loins. Her ass is large and her hips protrude from her sides, looking much like an actual cow. Her feminine sex is large and plump, almost animalistic in its size and absolute lewdness, with her inner labia bulging past her thick outer ones, gaping slightly with arousal. Tiny drops of dew speckle the lips, already engorged and aroused from the milking.\r\rShe lets out a cry of surprise as you inspect her naked rear. However, her heavy chest weighs her down and you pull her narrow tail to make sure she can't stand.", true);
if (cockTotal > 0){
if ((cockSize * cockSizeMod) <= eVagLimit(56)){
outputMainText(((" She shrieks in terror as you plunge your " + cockDesc()) + " cock into her hungry sex.\r\r'No, don't!' She cries out in fear. 'Somebody help!'\r\rNobody hears her over the machine that continues to pump away at her breasts. She whines and mewls as you churn her insides, pumping in tune to the machine. Her body defies her and begins to quiver around your cock, a gush of milk stuttering through the tubes. Her mouth opens wide to shout one last time but all that comes out is a long 'MOOOOOO!'"), false);
};
if ((cockSize * cockSizeMod) > eVagLimit(56)){
outputMainText(((" She shrieks in terror as you ram your " + cockDesc()) + " cock against her fat lips. Yet, despite her rather pronounced size, you're still far too large for her. Instead, you slide your cock between her thighs, running it through the cleft of her pussy and grinding it across her stiff clit until your cock pushes against the other side of the long skirt, wedging it between her hanging breasts until you're literally tit-fucking her from behind.\r\r'No, don't!' She cries out in fear and bewilderment.\r\rHowever, the shouts of dissension quickly die down as you thrust your cock back and forth across her clit and through her cleavage, pumping in tune to the machine. The vibrations reverberate through her chest and connect to the sensations from her clit, making her whole body begin to quiver.\r\rA moment later, her mouth yawns wide to either shout or moan, but what comes out is nothing but a loud 'Moooooo!'"), false);
};
doNext();
doListen = function ():void{
outputMainText("Before you can come yourself, the loud bovine expression makes the girl jump with embarrassment, her tail slipping from your hand and your cock sliding out from between her legs as she turns to run. The milking cups pop from her long nipples, flinging milk everywhere as she runs away, her large breasts swinging from side to side and her skirt a mess.", true);
if ((cockSize * cockSizeMod) <= eVagLimit(56)){
outputMainText((("\r\rObviously having thoroughly terrified the girl, you turn the opposite direction to make a quick getaway yourself, your cock hard in your " + clothesBottom()) + "..."), false);
malonRep = -1;
};
if ((cockSize * cockSizeMod) > eVagLimit(56)){
outputMainText("\r\rYou're not quite sure if it was because of your actions that frightened her so, or her own reaction to them... Either way, you think it best to not dawdle, despite your cock still being hard...", false);
};
stats(0, -3, 2, 0);
doSexP(5);
doLust(30);
hrs = 2;
doEnd();
};
};
if (cockTotal < 1){
outputMainText(" She gasps loudly as you fall to your knees and dive your face into her plush groin.\r\r'No, don't!' She whines as you nibble her fat clit and lick through her folds.\r\rHowever, the shouts of dissension quickly die down as your tongue works its way into her supple hole. Muffled whines still escape her lips every now and again, but as the machine works at her breasts in tune to your devouring of her sex, her wide hips soon begin to sway in harmony.\r\rQuite soon, you hear the machine stutter on a sudden increase in her flow. A second later, wet ecstasy gushes around your face and slimes down to your chin, her whole body quivering around you, while a low and loud 'Mooooo!' fills the air...", false);
doNext();
doListen = function ():void{
outputMainText("As you pull your face from her cunt, you find yourself temporarily wedged between her cheeks as she abruptly stands. With a whimper and her ears drooping in embarrassment, she yanks herself from the milker and runs away. With a kink in her step and her breasts swaying from side to side, she disappears with her tail between her legs, pushing the skirt in until it blotches with her feminine mess.\r\rNot quite sure what she was thinking, you decide it best to disappear yourself.", true);
stats(0, -1, 1, 0);
doSexP(5);
doLust((lib - ment));
hrs = 2;
doEnd();
};
};
};
if ((((malonRep == 1)) || ((malonRep == 2)))){
outputMainText("You sneak up behind her, careful to not let her notice your movement as she hums pleasantly to herself. Before she can react, you flip up her long skirt and expose her naked loins. Her ass is large and her hips protrude from her sides, looking much like an actual cow. Her feminine sex is large and plump, almost animalistic in its size and absolute lewdness, with her inner labia bulging past her thick outer ones, gaping slightly with arousal. Tiny drops of dew speckle the lips, already engorged and aroused from the milking.\r\rShe lets out a cry of surprise as you inspect her naked rear. However, her heavy chest weighs her down and you grab her tail playfully to keep her down.", true);
if (cockTotal > 0){
if ((cockSize * cockSizeMod) <= eVagLimit(56)){
outputMainText(((" She shrieks in terror as you plunge your " + cockDesc()) + " cock into her hungry sex.\r\r'No, don't!' She cries out in fear. However, she quickly recognizes you and begins to whine. 'Please, not like this!'\r\rYou ignore her pleas and continue anyways. She whines and mewls as you churn her insides, pumping in tune to the machine. Her body soon reacts and begins to quiver around your cock, a gush of milk stuttering through the tubes. Her mouth opens wide to shout one last time but all that comes out is a long 'MOOOOOO!'"), false);
};
if ((cockSize * cockSizeMod) > eVagLimit(56)){
outputMainText(((" She shrieks in terror as you ram your " + cockDesc()) + " cock against her fat lips. Yet, despite her rather pronounced size, you're still far too large for her. Instead, you slide your cock between her thighs, running it through the cleft of her pussy and grinding it across her stiff clit until your cock pushes against the other side of the long skirt, wedging it between her hanging breasts until you're literally tit-fucking her from behind.\r\r'No, don't!' She cries out in fear and bewilderment. However, she quickly recognizes you and bites her lip; not entirely happy with the situation but not fighting much more either.\r\rYou thrust your cock back and forth across her clit and through her cleavage, pumping in tune to the machine. The vibrations reverberate through her chest and connect to the sensations from her clit, making her whole body begin to quiver.\r\rA moment later, her mouth yawns wide to either shout or moan, but what comes out is nothing but a loud 'Moooooo!'"), false);
};
doNext();
doListen = function ():void{
outputMainText("Before you can come yourself, the loud bovine expression makes the girl jump with embarrassment, her tail slipping from your hand and your cock sliding out from between her legs as she turns and stands. The milking cups pop from her long nipples, flinging milk everywhere as she turns to face you.\r\r'P-Please! I don't want to be that kind of girl!' She fretfully tries to cover her naked, milky chest with her shawl before turning to run away in silence.", true);
outputMainText("\r\rThe way she said it didn't seem to regard the sexual aspect of what just happened... Unsure of what to do, you turn and head away from the farm, your cock even harder than before...", false);
stats(0, -1, 1, 0);
doSexP(5);
doLust(20);
hrs = 2;
doEnd();
};
};
if (cockTotal < 1){
outputMainText(" She gasps loudly as you fall to your knees and dive your face into her plush groin.\r\r'No, don't!' She whines as you nibble her fat clit and lick through her folds.\r\rHowever, the shouts of dissension quickly die down as your tongue works its way into her supple hole. Muffled whines still escape her lips every now and again, but as the machine works at her breasts in tune to your devouring of her sex, her wide hips soon begin to sway in harmony.\r\rQuite soon, you hear the machine stutter on a sudden increase in her flow. A second later, wet ecstasy gushes around your face and slimes down to your chin, her whole body quivering around you, while a low and loud 'Mooooo!' fills the air...", true);
doNext();
doListen = function ():void{
outputMainText("As you pull your face from her cunt, you find yourself temporarily wedged between her cheeks as she abruptly stands. With a whimper and her ears drooping in embarrassment, she yanks herself from the milker and turns towards you.\r\r'P-Please! I don't want to be that kind of girl!' She fretfully tries to cover her naked, milky chest with her shawl before turning to run away in silence, her tail pushing the skirt between her legs in until it blotches with her feminine mess.\r\rThe way she said it didn't seem to regard the sexual aspect of what just happened... Unsure of what to do, you turn and head away from the farm.", true);
stats(0, -1, 1, 0);
doSexP(5);
doLust((lib - ment));
hrs = 2;
doEnd();
};
};
};
if (malonRep == 3){
outputMainText("You sneak up behind her, careful to not let her notice your movement as she hums pleasantly to herself. Before she can react, you flip up her long skirt and expose her naked loins. Her ass is large and her hips protrude from her sides, looking much like an actual cow. Her feminine sex is large and plump, almost animalistic in its size and absolute lewdness, with her inner labia bulging past her thick outer ones, gaping slightly with arousal. Tiny drops of dew speckle the lips, already engorged and aroused from the milking.\r\rShe lets out a cry of surprise as you inspect her naked rear. However, her heavy chest weighs her down and you grab her tail playfully to keep her down.", true);
if (cockTotal > 0){
if ((cockSize * cockSizeMod) <= eVagLimit(56)){
outputMainText(((" She shrieks as you plunge your " + cockDesc()) + " cock into her hungry sex.\r\r'No, don't!' She cries out in fear. However, she quickly recognizes you and her head descends behind her shoulders. 'A-Are you sure?' She looks at you with complete seriousness.\r\rYou nod with a smile.\r\r'O-Okay!' She forces a smile back, then braces herself against the guardrail.\r\rShe quickly begins to push back against your hips, sucking in the length of your cock as her plump ass presses against you. She shivers in ecstasy as you fill her, the machine pleasuring her tits."), false);
if (percent() <= 20){
malonRep = 4;
malonPreg = 0;
};
};
if ((cockSize * cockSizeMod) > eVagLimit(56)){
outputMainText(((" She shrieks as you ram your " + cockDesc()) + " cock against her fat lips. Yet, despite her rather pronounced size, you're still far too large for her. Instead, you slide your cock between her thighs, running it through the cleft of her pussy and grinding it across her stiff clit until your cock pushes against the other side of the long skirt, wedging it between her hanging breasts until you're literally tit-fucking her from behind.\r\r'No, don't!' She cries out in fear. However, she quickly recognizes you and her head descends behind her shoulders. 'A-Are you sure?' She looks at you with complete seriousness.\r\rYou nod with a smile.\r\r'O-Okay!' She forces a smile back, then braces herself against the guardrail.\r\rShe leans backward along your length, running her clit across your shaft until her plump ass presses against you. She shivers in ecstasy from the sensitive contact and the machine still pleasuring her tits."), false);
};
outputMainText("\r\rYou thrust against her wide hips again and again, in tune to the machine. Her breasts sway back and forth as you pound her, milk spitting through the tubes as she comes closer and closer to climax. You lean forward, hugging her tight as she begins to shudder. Her thighs clench and her hands wring the rail. Her mouth yawns widely. With some slight hestitation, she lets out a soft 'M-Mooo!'. Then, as your cock begins to gush with cum, her mouth yawns wider as her eyes go wide, completely ignoring her inhibitions.\r\r'MOOOOOOOOO!'", false);
cumAmount();
doNext();
doListen = function ():void{
outputMainText("You both stand there for a few moments, gasping for breath. She slumps backward, pinning you against the wall behind you and she turns to stroke your face.\r\r'Th-Thank you so much!' Her lips reach out and softly kisses your own...\r\r\rThoroughly satisfied, the two of you spend the next hour cleaning up all the cum and milk you left everywhere... But you're quite happy nevertheless.\r\rEventually you kiss her goodbye and leave her to quickly return to her work as a farm-hand before she's caught with her little pleasure.", true);
stats(0, 2, 2, 2);
doLust((-(sen) * 2));
doSexP(20);
if (malonRep == 3){
malonRep = 5;
};
hrs = 3;
doEnd();
};
};
if (cockTotal < 1){
outputMainText(" She gasps loudly as you fall to your knees and dive your face into her plush groin.\r\r'No, don't!' She cries out in fear. However, she quickly turns and recognizes you, her head descending behind her shoulders. 'A-Are you sure?' She looks at you with complete seriousness.\r\rYou nod with a smile.\r\r'O-Okay!' She forces a smile back, then braces herself against the guardrail.\r\rShe pushes her plump rump towards your face, letting you nibble her fat clit and lick through her folds. Her hips rock beack and forth while your tongue works its way into her supple hole, her arousal drizzling down your face. Soft moans escape her lips every now and again, and increase as the machine works at her breasts in tune to your devouring of her sex, her breasts beginning to sway in harmony.\r\rQuite soon, you hear the machine stutter on a sudden increase in her flow. A second later, wet ecstasy gushes around your face and slimes down to your chin, her whole body quivering around you. Her mouth yawns widely. With some slight hestitation, she lets out a soft 'M-Mooo!'. Then, as you bite down on her orgasming clit, her mouth yawns wider as her eyes go wide, completely ignoring her inhibitions.\r\r'MOOOOOOOOO!'", true);
doNext();
doListen = function ():void{
outputMainText("As you pull your face from her cunt, her legs give out as she slumps back into you, pinning you between her fat pussy and the wall behind. Her ears twitching at the sides of her head, she stands up and turns to you, allowing the cups to pop from her nipples and milk cascade down your body. She kneels down beside you, hugging her tits to your chest.\r\r'Th-thank you!' She presses her lips to your own, kissing you through her own slickness that covers your face.\r\rThe two of your relax in each others arms. However, eventually she has to get back to her duties before she is missed. She pulls her skirt back down and her shirt back up, giving you a wink as both pieces blotch a little from various fluids. She turns away and heads out with some extra sway in her step and her tail flicking high.", true);
stats(0, 2, 2, 2);
doSexP(20);
if (malonRep == 3){
malonRep = 5;
};
doLust(Math.floor((lib / 2)));
hrs = 2;
doEnd();
};
};
};
if (malonRep >= 4){
outputMainText("You sneak up behind her, careful to not let her notice your movement as she hums pleasantly to herself. Before she can react, you flip up her long skirt and expose her naked loins. Her ass is large and her hips protrude from her sides, looking much like an actual cow. Her feminine sex is large and plump, almost animalistic in its size and absolute lewdness, with her inner labia bulging past her thick outer ones, gaping slightly with arousal. Tiny drops of dew speckle the lips, already engorged and aroused from the milking.\r\rShe lets out a cry of surprise as you inspect her naked rear. However, her heavy chest weighs her down and you grab her tail playfully to keep her down.", true);
if (cockTotal > 0){
if ((cockSize * cockSizeMod) <= eVagLimit(56)){
outputMainText(((" She shrieks as you plunge your " + cockDesc()) + " cock into her hungry sex. She immediately turns to spot her assailent and her face calms as she begins to smile.\r\r'Don't frighten me like that!' She sticks out her tongue and kicks you with a foot.\r\rShe quickly begins to push back against your hips, sucking in the length of your cock as her plump ass presses against you. She shivers in ecstasy as you fill her, the machine pleasuring her tits."), false);
if ((((malonRep == 5)) && ((percent() <= 20)))){
malonRep = 4;
malonPreg = 0;
};
};
if ((cockSize * cockSizeMod) > eVagLimit(56)){
outputMainText(((" She shrieks as you ram your " + cockDesc()) + " cock against her fat lips. Yet, despite her rather pronounced size, you're still far too large for her. Instead, you slide your cock between her thighs, running it through the cleft of her pussy and grinding it across her stiff clit until your cock pushes against the other side of the long skirt,"), false);
if (malonRep == 4){
if (malonPreg < 54){
outputMainText(" wedging it between her hanging breasts until you're literally tit-fucking her from behind. She turns to spot who could possibly plow through her cleavage like that and isn't terribly surprised to see you.\r\r'Don't frighten me like that!' She sticks out her tongue and kicks you with a foot.\r\rShe leans backward along your length, running her clit across your shaft until her plump ass presses against you. She shivers in ecstasy from the sensitive contact and the machine still pleasuring her tits.", false);
};
if ((((malonPreg >= 54)) && ((malonPreg < 72)))){
outputMainText(" curving around her pregnant belly until it wedges between her hanging breasts, literally tit-fucking her from behind. She turns to spot who could possibly plow through her cleavage like that and isn't terribly surprised to see you.\r\r'Don't frighten me like that!' She sticks out her tongue and kicks you with a foot.\r\rShe leans backward along your length, running her clit across your shaft until her plump ass presses against you. She shivers in ecstasy from the sensitive contact and the machine still pleasuring her tits.", false);
};
if ((((malonPreg >= 72)) && ((malonPreg < 108)))){
outputMainText(" diverting down towards the ground from her massive belly until your ramming into the hay. She turns to spot who could possibly hump her belly likse that and isn't terribly surprised.\r\r'Don't frighten me like that!' She sticks out her tongue and kicks you with a foot.\r\rShe leans backward along your length, running her clit across your shaft until her plump ass presses against you. She shivers in ecstasy from the sensitive contact and the machine still pleasuring her tits.", false);
};
if (malonPreg >= 108){
outputMainText(" diverting down towards the ground from her massive belly until you're lifting her slightly as your cock wedges between the belly and the hay on the floor. She turns to spot who could possibly hump her belly likse that and isn't terribly surprised.\r\r'Don't frighten me like that!' She sticks out her tongue and kicks you with a foot.\r\rShe leans backward along your length, running her clit across your shaft until her plump ass presses against you. She shivers in ecstasy from the sensitive contact and the machine still pleasuring her tits.", false);
};
} else {
outputMainText(" wedging it between her hanging breasts until you're literally tit-fucking her from behind. She turns to spot who could possibly plow through her cleavage like that and isn't terribly surprised to see you.\r\r'Don't frighten me like that!' She sticks out her tongue and kicks you with a foot.\r\rShe leans backward along your length, running her clit across your shaft until her plump ass presses against you. She shivers in ecstasy from the sensitive contact and the machine still pleasuring her tits.", false);
};
};
outputMainText("\r\rYou thrust against her wide hips again and again, in tune to the machine. Her breasts sway back and forth as you pound her, milk spitting through the tubes as she comes closer and closer to climax. You lean forward,", false);
if ((((malonRep == 3)) && ((malonPreg >= 54)))){
outputMainText(" hugging her and her pregnant belly ", false);
} else {
outputMainText(" hugging her ", false);
};
outputMainText("tight as she begins to shudder. Her thighs clench and her hands wring the rail, her mouth proudly yawning wide with a loud 'Moooooooo!', squeezing your cock until you gush with cum.", false);
cumAmount();
doNext();
doListen = function ():void{
outputMainText("You both stand there for a few moments, gasping for breath. She slumps backward, pinning you against the wall behind you and she turns to stroke your face.\r\r'Thank you~' She kisses you...\r\r\rThoroughly satisfied, the two of you spend the next hour cleaning up all the cum and milk you left everywhere... But you're quite happy nevertheless.\r\rEventually you kiss her goodbye and leave her to quickly return to her work as a farm-hand before she's caught with her little pleasure.", true);
stats(0, 2, 2, 2);
doSexP(2);
doLust((-(sen) * 2));
hrs = 3;
doEnd();
};
};
if (cockTotal < 1){
outputMainText(" She gasps loudly as you fall to your knees and dive your face into her plush groin. She turns to see who it is and giggles.\r\r'Don't frighten me like that!' She presses back against your face as punishment, stuffing you into the cheeks of her plump rump.\r\rThe 'punishment' quickly subsides as you nibble her fat clit and lick through her folds. Her hips rock beack and forth while your tongue works its way into her supple hole, her arousal drizzling down your face. Soft moans escape her lips every now and again, and increase as the machine works at her breasts in tune to your devouring of her sex, her breasts beginning to sway in harmony.\r\rQuite soon, you hear the machine stutter on a sudden increase in her flow. A second later, wet ecstasy gushes around your face and slimes down to your chin, her whole body quivering around you, while a low and loud 'Mooooo!' fills the air.", true);
doNext();
doListen = function ():void{
outputMainText("As you pull your face from her cunt, her legs give out as she slumps back into you, pinning you between her fat pussy and the wall behind. Her ears twitching at the sides of her head, she stands up and turns to you, allowing the cups to pop from her nipples and milk cascade down your body. She kneels down beside you, kissing you through her own slickness that covers your face.\r\r'Thank you~'\r\rHaving to get back to her duties, however, she pulls her skirt back down and her shirt back up, giving you a wink as both pieces blotch a little from various fluids. She turns away and heads out with some extra sway in her step and her tail flicking high.", true);
stats(0, 2, 2, 2);
doSexP(2);
doLust(Math.floor((lib / 2)));
hrs = 2;
doEnd();
};
};
};
};
if (buttonChoice == 10){
outputMainText("You turn around and head back to Softlik, deciding it best to leave her to her privacy.", true);
hrs = 1;
doEnd();
};
};
};
if (buttonChoice == 7){
outputMainText("A little too dangerous, and probably illegal with the whole trespassing thing, you turn around and walk away.", true);
hrs = 1;
doEnd();
};
};
} else {
if (malonRep > 0){
if ((((malonRep == 1)) && ((((milkEngorgementLevel > 0)) || ((udderEngorgementLevel > 0)))))){
outputMainText((("Malon is working outside as you approach the farm once again. She spots the blotches in your " + clothesTop()) + " and shouts to the other workers that she's got some business she needs to take care of. The others roll their eyes, well used to the excuse thanks to her 'condition'. Nevertheless, she smiles as she heads towards you.\r\r'Need some help?' She winks and sticks out her tongue as she looks down at your moistness."), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("She nods with a soft smile, taking you by the hand. Leading you into the main farmhouse, she's quick to look around corners and check hallways, as if she were smuggling you into the building. Eventually, she brings you upstairs to a bedroom.\r\rIn the center of the room sits a good-sized bed, with downy blankets and soft matress. However, the sheets seem to be coated with some sort of wax, making them shiny and most likely waterproof. In a corner beside the bed stands a stack of several buckets, all clean and ready to be used. Malon leads you towards her bed, motioning for you to sit.\r\r'Just relax and I'll take care of it for you.' She speaks sweetly.", true);
doNext();
doListen = function ():void{
outputMainText((("\r\rYou sit down upon the soft bed, sinking in slightly from the extra cushioning. She then grabs a bucket from the stack and pulls a short stool over to your knees.\r\r'Your " + clothesTop()) + ", please.' She motions to it being in the way."), true);
if (ment > lib){
outputMainText((((("\r\rWith a heavy blush in your cheeks, you nod back, pulling your " + clothesTop()) + " ") + pullUD(1)) + ", slowly exposing your "), false);
} else {
if (ment > (lib - 10)){
outputMainText((((("\r\rWith a slight blush in your cheeks, you nod back, pulling your " + clothesTop()) + " ") + pullUD(1)) + ", exposing your "), false);
} else {
outputMainText((((("\r\rWith a quick nod and no hesitation, you pull " + pullUD(1)) + " your ") + clothesTop()) + ", exposing your "), false);
};
};
if ((((((milkEngorgementLevel > 0)) && ((udderEngorgementLevel > 0)))) && ((udders == true)))){
outputMainText((((boobDesc() + " leaky breasts and letting your ") + udderDesc()) + " udder spill into your lap."), false);
} else {
if (milkEngorgementLevel > 0){
outputMainText((boobDesc() + " leaky breasts."), false);
} else {
if ((((udderEngorgementLevel > 0)) && ((udders == true)))){
outputMainText((udderDesc() + " udder, your teats dripping into your lap."), false);
};
};
};
outputMainText(" Malon then slips her hands into her cleavage, quickly warming her hands, before reaching out to your ", false);
if (milkEngorgementLevel > 0){
outputMainText((nipDesc() + " nipples"), false);
} else {
if ((((udderEngorgementLevel > 0)) && ((udders == true)))){
outputMainText((teatDesc() + " teats"), false);
};
};
outputMainText(" and gently pinches them within her grasp. Expertly, she bends you forward slightly and aims towards the bucket. Within just a few tugs, you're already squirting milk into the bucket, the pleasant feeling of warmth overcoming you and intensified by her caring massage.\r\rThe room quickly fills with the sound of your squirts hitting the metallic bucket, in a gentle rhythm. She begins to hum a tune (that, for some reason, you'd think horses would love), when redness tinges her cheeks. 'Oh-Oh my...'\r\rHer shirt blotches quickly, her own milk beginning to drip into the bucket with yours. 'Uh-umm... I think doing this made my breasts think it's that time... Y-You don't mind, do you?' She plucks at her shirt to indicate what she means.", false);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Help her");
buttonWrite(7, "Let her");
doListen = function ():void{
var getMilk:int;
if (buttonChoice == 5){
if ((((milkEngorgementLevel > 0)) && ((udderEngorgementLevel > 0)))){
getMilk = (milkAmount(1) + milkAmount(2));
} else {
if (milkEngorgementLevel > 0){
getMilk = milkAmount(1);
} else {
if (udderEngorgementLevel > 0){
getMilk = milkAmount(2);
};
};
};
nipplePlay = (nipplePlay + 12);
if (udders == true){
udderPlay = (udderPlay + 12);
};
outputMainText("You shake your head, telling her it's not alright.\r\rA bit defeated, the redness in her cheeks intensifies as she attempts to continue milking you while she drips away. However, you tell her to stop with that as well.\r\rCompletely confused, her eyes quickly go wide as you reach out for her shirt and pull it up. When your hands gently caress her 6-inch long nipples, aiming them towards the bucket and squirting out some of her own milk, the blush in her face recedes as a soft smile grows on her face, cheerfully accepting your efforts.\r\rFacing each other, with your hands on each other's milky bits, the two of you tug and pull until each other sprays into the bucket with a gasp. More and more milk spills from you both, though the moans echoing between you two would suggest something more as they rise in volume. Until, eventually, Malon's tits gush into the bucket as her body quivers and her mouth yawns wide to cry out in ecstacy, only to let out a long 'Mooooooo!'", true);
doNext();
doListen = function ():void{
outputMainText("Her hands let go of you, springing up to cover her mouth in fright. Her ears droop in shame and tears begin to well up in her eyes as she buries the rest of her face behind her hands. She jumps up from her stool, milk still spraying from her nipples and drenching you slightly, before she runs out of the room in utter embarrassment, her breasts swinging from side to side and painting the walls of the house with more milk.\r\rUnsure of what just happened, you clean yourself off and finish the last of your own lactation, neatly putting the buckets aside. You attempt to look for her, but with a farm so big you have no idea where to start. With a sigh, you head back to Softlik.", true);
doNext();
doListen = function ():void{
outputMainText((("You don't get far, however, as you feel a tug at your " + clothesTop()) + " from behind.\r\rYou turn to see Malon huffing a little, her shirt covered with milk after having been hastily put on having ran to catch up with you. She wipes her eyes with a sniffle.\r\r'Umm... I... I'm so sorry for running out on you like that. I just wanted to thank you for being so kind to me, though... Most of the people that work on the farm or visit regard me as being a nuisance or a joke. I mean, I still love the animals so much that I'll never want to leave, but they often regard me like one of them. And, well... When I let out a moo like that, just like a cow, I... I can't help but think that they're right. I'm nothing but a big fat cow...'\r\rHer head hangs low, another tear dripping from her cheek, her bovine ears drooping in shame.\r\r\rDo you want to tell her that she shouldn't act like a cow and try to avoid mooing, or that she should accept her cow-like qualities?"), true);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Don't Moo");
buttonWrite(7, "Moo");
doListen = function ():void{
if (buttonChoice == 5){
outputMainText("You nod and tell her that it'd probably be best if she tried to not act like a cow to the best of her abilities. Her head still hangs, but she nods in return, accepting her condition as a problem. She reaches out, giving you a small hug, then turns to walk back to the farm. Her tail hangs between her legs, trying to tuck itself between her legs to prevent anybody from noticing, altouth the effort merely shows off her large rump even more...", true);
stats(0, 2, 0, -2);
doSexP(10);
malonRep = 2;
doEnd();
};
if (buttonChoice == 7){
outputMainText((("You smile and pat her on the head, telling her that she shouldn't be ashamed of being a cow. There's a lot of races out there that are like other animals, so she's actually a whole new race on her own rather than a mere animal.\r\rHearing your uplifting words, her head rises back up with a small smile, her ears twitching hesitantly. 'M-Mooo?'\r\rYou nod in acceptance.\r\rShe giggles cheerfully, lunging out you with her arms stretched wide and plowing you to the ground under her massive soft tits in a great big hug. She nuzzles your " + boobDesc()) + " chest a little, enjoying your presence, before lifting herself with milky drops spilling from her shirt onto you. Not caring in the slightest, however, she turns around and skips back to the farm, her chest bouncing immensely while her tail flails about happily behind her.\r\r\rAs you come to a stand, however, something drops from your body, having been intentionally left behind during her attack..."), true);
stats(0, 1, 0, 2);
doSexP(25);
malonRep = 3;
itemAdd(215);
doEnd();
};
};
};
};
};
if (buttonChoice == 7){
outputMainText("Nodding your head to say it's alright, she pulls her shirt up, exposing her enormous breasts. They rest more comfortably on her knees, with 6-inch long nipples dangling like teats. While one hand works your body, her other reaches around a fleshy mass to grab her own nipple. In a couple seconds, her rhythm quickly matches yours, filling the bucket rapidly.\r\r", true);
if ((((milkEngorgementLevel > 0)) && ((udderEngorgementLevel > 0)))){
getMilk = (milkAmount(1) + milkAmount(2));
} else {
if (milkEngorgementLevel > 0){
getMilk = milkAmount(1);
} else {
if (udderEngorgementLevel > 0){
getMilk = milkAmount(2);
};
};
};
if (getMilk <= 4000){
outputMainText("After filling up two buckets of milk, most of which was Malon's, she pushes them off to the side with a clap.", true);
} else {
if (getMilk <= 18000){
outputMainText("After filling up few buckets of milk, most of which was yours, Malon pushes them off to the side with a sigh.", true);
} else {
if (getMilk <= 35500){
outputMainText("After filling up several buckets of milk, far surpassing Malon's amount, she pushes them off to the side with a tired sigh, stretching her adept fingers.", true);
} else {
if (getMilk > 35500){
outputMainText("After a while, Malon begins to panic. 'Umm... I-I seem to have run out of buckets!' She sloshes the last one from the stack to the side as you still spill with milk. 'I-I'm so sorry! I didn't know it was that bad for you. Here!'\r\rShe takes off her shawl, holding it to your mammaries and waiting for the flow to come to a halt. A few minutes pass before she can remove it, your lactation having ceased and her hands covered in the white stuff. 'Whew... That was close.'\r\rShe wrings her shawl out in a bucket that has yet to overflow before slinging it around her neck again.", true);
};
};
};
};
outputMainText(((" 'There, all done!' She gently pats your " + boobDesc()) + " breasts"), false);
if (udders == true){
outputMainText(((" and your " + udderDesc()) + " milky bag."), false);
};
outputMainText("\r\r'I enjoyed this little milking session between us 'cows'. I hope to do it again with you some time!' She smiles as she pulls her shirt back down, lifting her massive tits a few time to get them to settle within the shirt without her large nipples being so obvious. With a wink, she leans forward, giving you a great view of her deep cleavage as she kisses you on your forehead. Then she takes your hand once more, leading your back out of the farmhouse, saying she can take care of the buckets herself.\r\rWith a wave, you say goodbye and head back to Softlik.", false);
hrs = 3;
doLust(5);
doSexP(2);
stats(0, 1, 1, 1);
doEnd();
};
};
};
} else {
outputMainText("You shake your head, not accepting her assistance. She gives you a soft smile, not offended by the choice. However, as her own shirt begins to blotch, white liquid spilling out and dribbling onto her apron and ground, she blushes a little as she has now found a new reason for her excuse. She pulls her shawl down to cover her huge chest, turning away and scampering off into the main house to take care of business, leaving you to head back to Softlik.", true);
hrs = 1;
doEnd();
};
};
} else {
if ((((malonRep == 3)) && ((((milkEngorgementLevel > 0)) || ((udderEngorgementLevel > 0)))))){
outputMainText((("Malon is working outside as you approach the farm once again. She spots the blotches in your " + clothesTop()) + " and shouts to the other workers that she's got some business she needs to take care of. The others roll their eyes, well used to the excuse thanks to her 'condition'. Nevertheless, she smiles as she heads towards you.\r\r'Need some help?' She winks and sticks out her tongue as she looks down at your moistness."), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("She nods with a soft smile, taking you by the hand. Leading you into the main farmhouse, she's quick to look around corners and check hallways, as if she were smuggling you into the building. Eventually, she brings you upstairs to a bedroom.\r\rIn the center of the room sits a good-sized bed, with downy blankets and soft matress. However, the sheets seem to be coated with some sort of wax, making them shiny and most likely waterproof. In a corner beside the bed stands a stack of several buckets, all clean and ready to be used. Malon leads you towards her bed, motioning for you to sit.\r\r'Just relax and I'll take care of it for you.' She speaks sweetly.", true);
doNext();
doListen = function ():void{
outputMainText((("\r\rYou sit down upon the soft bed, sinking in slightly from the extra cushioning. She then grabs a bucket from the stack and pulls a short stool over to your knees.\r\r'Your " + clothesTop()) + ", please.' She motions to it being in the way."), true);
if (ment > lib){
outputMainText((((("\r\rWith a heavy blush in your cheeks, you nod back, pulling your " + clothesTop()) + " ") + pullUD(1)) + ", slowly exposing your "), false);
} else {
if (ment > (lib - 10)){
outputMainText((((("\r\rWith a slight blush in your cheeks, you nod back, pulling your " + clothesTop()) + " ") + pullUD(1)) + ", exposing your "), false);
} else {
outputMainText((((("\r\rWith a quick nod and no hesitation, you pull " + pullUD(1)) + " your ") + clothesTop()) + ", exposing your "), false);
};
};
if ((((((milkEngorgementLevel > 0)) && ((udderEngorgementLevel > 0)))) && ((udders == true)))){
outputMainText((((boobDesc() + " leaky breasts and letting your ") + udderDesc()) + " udder spill into your lap."), false);
} else {
if (milkEngorgementLevel > 0){
outputMainText((boobDesc() + " leaky breasts."), false);
} else {
if ((((udderEngorgementLevel > 0)) && ((udders == true)))){
outputMainText((udderDesc() + " udder, your teats dripping into your lap."), false);
};
};
};
outputMainText(" Malon then slips her hands into her cleavage, quickly warming her hands, before reaching out to your ", false);
if (milkEngorgementLevel > 0){
outputMainText((nipDesc() + " nipples"), false);
} else {
if ((((udderEngorgementLevel > 0)) && ((udders == true)))){
outputMainText((teatDesc() + " teats"), false);
};
};
outputMainText(" and gently pinches them within her grasp. Expertly, she bends you forward slightly and aims towards the bucket. Within just a few tugs, you're already squirting milk into the bucket, the pleasant feeling of warmth overcoming you and intensified by her caring massage.\r\rThe room quickly fills with the sound of your squirts hitting the metallic bucket, in a gentle rhythm. She begins to hum a tune (that, for some reason, you'd think horses would love), when redness tinges her cheeks. 'Oh-Oh my...'\r\rHer shirt blotches quickly, her own milk beginning to drip into the bucket with yours. 'Uh-umm... I think doing this made my breasts think it's that time... Y-You don't mind, do you?' She plucks at her shirt to indicate what she means.", false);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Help her");
buttonWrite(7, "Let her");
doListen = function ():void{
var getMilk:int;
if (buttonChoice == 5){
if ((((milkEngorgementLevel > 0)) && ((udderEngorgementLevel > 0)))){
getMilk = (milkAmount(1) + milkAmount(2));
} else {
if (milkEngorgementLevel > 0){
getMilk = milkAmount(1);
} else {
if (udderEngorgementLevel > 0){
getMilk = milkAmount(2);
};
};
};
nipplePlay = (nipplePlay + 12);
if (udders == true){
udderPlay = (udderPlay + 12);
};
outputMainText("You shake your head, telling her it's not alright.\r\rA bit defeated, the redness in her cheeks intensifies as she attempts to continue milking you while she drips away. However, you tell her to stop with that as well.\r\rHer eyes brightening, she quickly realizes your intention as you reach out for her shirt and pull it up. When your hands gently caress her 6-inch long nipples, aiming them towards the bucket and squirting out some of her own milk, the blush in her face recedes as a soft smile grows on her face, cheerfully accepting your efforts.\r\rFacing each other, with your hands on each other's milky bits, the two of you tug and pull until each other sprays into the bucket with a gasp. More and more milk spills from you both, though the moans echoing between you two would suggest something more as they rise in volume. Until, eventually, Malon's tits gush into the bucket as her body quivers and her mouth begins to yawn wide. With some slight hestitation, she lets out a soft 'M-Mooo!'. Then, as you give her breasts a strong, sensual squeeze, her mouth yawns wider as her eyes go wide, completely ignoring her inhibitions.\r\r'MOOOOOOOOO!'", true);
doNext();
doListen = function ():void{
outputMainText((("She collapses forward onto your " + boobDesc()) + " chest, huffing and heaving. After a few moments, her eyelashes flutter as she turns her head towards you with a glimmer in her eye."), true);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Kiss Her");
buttonWrite(7, "Help Up");
doListen = function ():void{
if (buttonChoice == 5){
outputMainText("Your hand slips behind her head, pulling her face to your own. You press your lips to hers.\r\rWithout any resistance, she returns the favor, hugging your head and kissing you deeply. She pushes you forward, back onto her bed. With fervor, you lift her long purple skirt, revealing her wide, cow-like hips and large, dripping, animalistic nether-region.", true);
if (cockTotal > 0){
outputMainText((((((((((("\r\rFlipping back her long red hair, she grinds down your legs and across the bed to pull " + pullUD(2)) + " your ") + clothesBottom()) + ", letting ") + oneYour(1)) + " ") + cockDesc()) + " cock") + plural(1)) + " flop out. She licks and kisses it ravenously, as though something had come over her. She sucks at the tip, slipping her tongue across and through your urethra and savoring the salty taste of your pre."), false);
if ((cockSize * cockSizeMod) <= eVagLimit(56)){
outputMainText("\r\rIt doesn't take long before she grows too hungry, crawling back up your body, licking your milk up as she goes. Her own breasts dribble over you until it runs off your sides and soaks into the fluffy blanket. Then, she pulls the blankets open, letting you both slip into the water-resistant sheets, where she slides your cock into her supple folds, devouring its entire length.", false);
if (percent() <= 20){
malonRep = 4;
malonPreg = 0;
} else {
malonRep = 5;
};
};
if ((cockSize * cockSizeMod) > eVagLimit(56)){
outputMainText((((((("\r\rHowever, she can easily tell that you're far too large for her. So, instead, she crawls back up your body, licking your\tmilk up as she goes, while her own breasts dribble over you until it runs off your sides and soaks into the fluffy blanket. Then, she pulls the blankets open, letting you both slip into the water-resistant sheets, where she straddles your " + cockDesc()) + " erection") + plural(1)) + ", humping her clit along your length") + plural(1)) + "."), false);
};
outputMainText("\r\rOver and over, she grinds her wide hips. She leans down to kiss you some more, her tongue driving into your mouth. You thrust back in turn, making her moan into your throat.\r\rQuickly, her body begins to quiver once again, milk spraying about beneath the sheets. She keeps her mouth shut at first, but as you begin to gush with cum, she can no longer resist, allowing her mouth stretch wide.\r\r'MOOOOOOO!'", false);
cumAmount();
} else {
if ((((cockTotal < 1)) && ((vagTotal > 0)))){
outputMainText((((((((((((("\r\rFlipping back her long red hair, she grinds down your legs and across the bed to pull " + pullUD(2)) + " your ") + clothesBottom()) + ". Seeing your ") + vulvaDesc()) + " slit") + plural(2)) + ", she dives in and begins devouring your clit") + plural(2)) + ".\r\rIt doesn't take long before she grows too hungry, crawling back up your body, licking your milk up as she goes. Her own breasts dribble over you until it runs off your sides and soaks into the fluffy blanket. Then, she pulls the blankets open, letting you both slip into the water-resistant sheets, where presses her supple folds to your own, letting them kiss erotically.\r\rOver and over, she grinds her wide hips. She leans down to kiss you some more, her tongue driving into your mouth. You thrust back in turn, making her moan into your throat.\r\rQuickly, her body begins to quiver once again, milk spraying about beneath the sheets. She keeps her mouth shut at first, but as you thrust your clit") + plural(2)) + " against hers as you come, she can no longer resist, allowing her mouth stretch wide.\r\r'MOOOOOOO!'"), false);
malonRep = 5;
} else {
outputMainText((((("\r\rFlipping back her long red hair, she grinds down your legs and across the bed to pull " + pullUD(2)) + " your ") + clothesBottom()) + ". Seeing your lack of any genitalia, she kisses your crotch softly several times anyways, before crawling back up your body She licks up your milk up as she goes, while her own breasts dribble over you until it runs off your sides and soaks into the fluffy blanket. Then, she pulls the blankets open, letting you both slip into the water-resistant sheets, where she humps your empty crotch.\r\rOver and over, she grinds her wide hips. She leans down to kiss you some more, her tongue driving into your mouth. You thrust back in turn, making her moan into your throat.\r\rQuickly, her body begins to quiver once again, milk spraying about beneath the sheets. So hot is her body that you can feel yourself climax as well! She keeps her mouth shut at first, but as you thrust back with the phantom orgasm, she can no longer resist, allowing her mouth stretch wide.\r\r'MOOOOOOO!'"), false);
malonRep = 5;
};
};
outputMainText("\r\r\rThe two of you soon pass out beneath the blankets, trapped within the sea of milk and sensual fluids...", false);
doLust((-(sen) * 2));
hrs = 9;
exhaustion = 0;
doNext();
doListen = function ():void{
outputMainText((("Many hours later, you awaken to gentle kissing from your bovine lover. You open your eyes to see Malon's face, a soft smile greeting you and a happy glimmer in her eyes.\r\r'Thank you so much~' She whispers before kissing you once more.\r\rAfter some cuddling, she eventually needs to get back to work. She hugs you again and tells you that she'd love for you to come back any time you can. You hug her back, giving her a sweet goodbye as you squeeze her plush tush, her tail jerking excitedly as she giggles. With another kiss, you head back to Softlik, your " + skinDesc()) + " nice and soft from the extended milk bath."), true);
stats(1, 2, 2, 4);
doSexP(20);
doEnd();
};
};
if (buttonChoice == 7){
outputMainText("You help her back up onto her stool, the last of both of your milk emptying into the final bucket. With a big sigh, she smiles.\r\r'W-Well, I suppose I should get this cleaned up. Thanks for helping me!'\r\rShe leans forward, giving you a great view of her deep cleavage as she kisses you on the forehead. Then she pulls her shirt back up and takes your hand once more, leading your back out of the farmhouse, saying she can take care of the buckets herself.\r\rWith a hug, you say goodbye and head back to Softlik.", true);
stats(1, 1, 0, 2);
doSexP(2);
doEnd();
};
};
};
};
if (buttonChoice == 7){
outputMainText("Nodding your head to say it's alright, she pulls her shirt up, exposing her enormous breasts. They rest more comfortably on her knees, with 6-inch long nipples dangling like teats. While one hand works your body, her other reaches around a fleshy mass to grab her own nipple. In a couple seconds, her rhythm quickly matches yours, filling the bucket rapidly.\r\r", true);
if ((((milkEngorgementLevel > 0)) && ((udderEngorgementLevel > 0)))){
getMilk = (milkAmount(1) + milkAmount(2));
} else {
if (milkEngorgementLevel > 0){
getMilk = milkAmount(1);
} else {
if (udderEngorgementLevel > 0){
getMilk = milkAmount(2);
};
};
};
if (getMilk <= 4000){
outputMainText("After filling up two buckets of milk, most of which was Malon's, she pushes them off to the side with a clap.", true);
} else {
if (getMilk <= 18000){
outputMainText("After filling up few buckets of milk, most of which was yours, Malon pushes them off to the side with a sigh.", true);
} else {
if (getMilk <= 35500){
outputMainText("After filling up several buckets of milk, far surpassing Malon's amount, she pushes them off to the side with a tired sigh, stretching her adept fingers.", true);
} else {
if (getMilk > 35500){
outputMainText("After a while, Malon begins to panic. 'Umm... I-I seem to have run out of buckets!' She sloshes the last one from the stack to the side as you still spill with milk. 'I-I'm so sorry! I didn't know it was that bad for you. Here!'\r\rShe takes off her shawl, holding it to your mammaries and waiting for the flow to come to a halt. A few minutes pass before she can remove it, your lactation having ceased and her hands covered in the white stuff. 'Whew... That was close.'\r\rShe wrings her shawl out in a bucket that has yet to overflow before slinging it around her neck again.", true);
};
};
};
};
outputMainText(((" 'There, all done!' She gently pats your " + boobDesc()) + " breasts"), false);
if (udders == true){
outputMainText(((" and your " + udderDesc()) + " milky bag."), false);
};
outputMainText("\r\r'I enjoyed this little milking session between us 'cows'. I hope to do it again with you some time!' She smiles as she pulls her shirt back down, lifting her massive tits a few time to get them to settle within the shirt without her large nipples being so obvious. With a wink, she leans forward, giving you a great view of her deep cleavage as she kisses you on your forehead. Then she takes your hand once more, leading your back out of the farmhouse, saying she can take care of the buckets herself.\r\rWith a wave, you say goodbye and head back to Softlik.", false);
hrs = 3;
doSexP(2);
doLust(5);
stats(0, 1, 1, 1);
doEnd();
};
};
};
} else {
outputMainText("You shake your head, not accepting her assistance. She gives you a soft smile, not offended by the choice. However, as her own shirt begins to blotch, white liquid spilling out and dribbling onto her apron and ground, she blushes a little as she has now found a new reason for her excuse. She pulls her shawl down to cover her huge chest, turning away and scampering off into the main house to take care of business, leaving you to head back to Softlik.", true);
hrs = 1;
doEnd();
};
};
} else {
if ((((malonRep == 4)) || ((malonRep == 5)))){
outputMainText("Malon is working outside as you approach the farm once again", true);
if (malonRep == 4){
if ((((malonPreg > 36)) && ((malonPreg <= 72)))){
outputMainText(", an arm slung under her slightly protruding yet obviously pregnant belly", false);
};
if ((((malonPreg > 72)) && ((malonPreg <= 144)))){
outputMainText(", her arms hugging her giant belly that nearly pushes past her breasts, easily working despite it", false);
};
if ((((malonPreg > 144)) && ((malonPreg <= 216)))){
outputMainText(", her breasts swollen with pregnancy and supported by her enormously pregnant belly, looking to be even larger than she is. You actually wonder how she manages to work with it", false);
};
};
if (malonChildren == 1){
outputMainText(", your large-eared and wide-hipped child running around playing, her tail swishing happily through a little white dress just like her mother used to wear, except with a little bulge at the front where her udder jiggles with each step", false);
};
if (malonChildren > 1){
outputMainText(((", your " + malonChildren) + " large-eared and wide-hipped children running around playing, their tails swishing happily through little white dresses just like their mother used to wear, except with little bulges at the front where their udders jiggles with each step"), false);
};
outputMainText(". The half-bovine woman spots you and her face shines up, turning to come and greet you.\r\r'Hello hun!' Her arms wrap around you with a big hug.", false);
if (malonChildren == 1){
outputMainText("\r\rYour child also spots you and runs up with her own hug, shouting 'Daddy!'", false);
};
if (malonChildren > 1){
outputMainText("\r\rYour children also spot you and run up with their own hugs, shouting 'Daddy!", false);
};
outputMainText("\r\rYou visit for a while and help Malon with a bit of work, earning you some coin. You spend the time chatting and enjoying yourselves, but eventually Malon gives you a wink.\r\r'Would you like to do something?'", false);
doCoin(Math.floor((percent() / 20)));
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
if ((((lactation < 1)) && ((udderLactation < 1)))){
Choice5.visible = false;
};
buttonWrite(5, "Milk");
buttonWrite(7, "Sex");
doListen = function ():void{
if (buttonChoice == 5){
outputMainText("Poking her nipple while you wink back, Malon shouts to the other workers that she's got some business she needs to take care of. The others roll their eyes, well used to the excuse thanks to her 'condition', but don't give her any other guff as she takes you into an empty barn, where she's since become comfortable indulging in her bovine assets.\r\rYou both pull over some buckets and sit down in rather comfortable chairs, removing your tops. Humming the same tune, you begin to work on each other, hugging and gently caressing each other.", true);
if (malonChildren == 1){
outputMainText(" Your little girl also joins in, taking a free nipple when she can. She pulls up her white dress and massages her small udder, tugging at the short teats as her hips jerk in wry sensitivity, until little drops start to form and drip down her legs.", false);
};
if (malonChildren > 1){
outputMainText(" Your little girls also joins in, taking a free nipples when they can. They pull up their white dresses and massage their small udders, tugging at the short teats as their hips jerk in wry sensitivity, until little drops start to form and drip down their legs. When there aren't enough nipples to suckle from on their parents, they take to suckling from each other, happily downing their meal.", false);
};
outputMainText("\r\rWith so much experience with each other, it doesn't take long before sparks start to fly and milk starts to spew, orgasms wracking your bodies. Malon opens her mouth and lets out several long, hearty moos of ecstasy,", false);
if (malonChildren == 1){
outputMainText(" the little girl mimicking her mother with her own little 'Moo~',", false);
};
if (malonChildren > 1){
outputMainText(" the little girls mimicking their mother with their own little 'Moo~'s,", false);
};
outputMainText(" until you're both gasping for air.\r\rThoroughly milked, you spend another hour enjoying the company before eventually giving your goodbye kisses and heading back to Softlik, happy and content.", false);
milkAmount(1);
milkAmount(2);
nipplePlay = (nipplePlay + 15);
if (udders == true){
udderPlay = (udderPlay + 15);
};
doSexP(5);
stats(1, 1, 0, 2);
hrs = 4;
doEnd();
};
if (buttonChoice == 7){
outputMainText("With a perverse grin, you give Malon a wink of your own and grab her ample tush. She jumps with a giggle and shouts to the other workers that she's got some business she needs to take care of. The others smirk and chuckle to themselves, noticing the extra-excited perkiness in her voice and knowing exactly what 'business' means exactly. She sticks her tongue out at them and pulls you back into the house, eager to get you under the sheets.", true);
outputMainText("\r\rQuickly making your way to her room, your clothes littering the hallway along the way, the two of you jump onto the bed. The two of you kiss again and again, until she knocks you onto your back.\r\rWith fervor, you lift her long purple skirt, revealing her wide, cow-like hips and large, dripping, animalistic nether-region.", true);
if (cockTotal > 0){
outputMainText((((((((((("\r\rFlipping back her long red hair, she grinds down your legs and across the bed to pull " + pullUD(2)) + " your ") + clothesBottom()) + ", letting ") + oneYour(1)) + " ") + cockDesc()) + " cock") + plural(1)) + " flop out. She licks and kisses it ravenously, as though something had come over her. She sucks at the tip, slipping her tongue across and through your urethra and savoring the salty taste of your pre."), false);
if ((cockSize * cockSizeMod) <= eVagLimit(56)){
outputMainText((("\r\rIt doesn't take long before she grows too hungry and crawls back up your body, dragging across your erection" + plural(1)) + ". Her breasts dribble over you until it runs off your sides and soaks into the fluffy blanket. Then, she pulls the blankets open, letting you both slip into the water-resistant sheets, where she slides your cock into her supple folds, devouring its entire length."), false);
if ((((percent() <= 20)) && ((malonRep == 5)))){
malonRep = 4;
malonPreg = 0;
};
};
if ((cockSize * cockSizeMod) > eVagLimit(56)){
outputMainText((((((("\r\rHowever, she can easily tell that you're far too large for her. So, instead, she crawls back up your body, licking you as she goes, while her own breasts dribble over you until it runs off your sides and soaks into the fluffy blanket. Then, she pulls the blankets open, letting you both slip into the water-resistant sheets, where she straddles your " + cockDesc()) + " erection") + plural(1)) + ", humping her clit along your length") + plural(1)) + "."), false);
};
if (malonRep == 4){
if ((((malonPreg > 36)) && ((malonPreg <= 72)))){
outputMainText("\r\rYou both rub her slightly protruding belly as you kiss, delighting in the feeling of new life growing within her. As you rub against each other, you take precautions to protect the womb, but it doesn't prevent the room from getting hot...", false);
};
if ((((malonPreg > 72)) && ((malonPreg <= 144)))){
outputMainText("\r\rYou both hug and rub her large belly, her breasts laying atop and just barely hanging past. Her large rump rises in the air, her tail dancing above, as she tries to bend around her swollen womb and kiss you again and again. One of your hands grabs her ass trying to push her back down against you, while the other roves over the taut skin, keen to protect and caress it.", false);
};
if ((((malonPreg > 144)) && ((malonPreg <= 216)))){
outputMainText("\r\rHer belly is enormous, filling the gap between the two of you and protruding further than her pregnancy-swollen tits, milk already dribbling down the taut skin. She grinds down hard against you, the large girth making her all the hornier. So horny, in fact, that she rolls her giant belly against yours, just to lean in to give you a kiss. Her ass swings in the air, swaying erotically while her tail dances in rhythm. Both of your hands are busy keeping her giant womb balanced against you, stroking the sensitive skin until you can feel her arousal splash down from her hind-qaurters and splatter across your thighs. She roll back to satiate her engorged cunt, letting her feminine lubricant slip beneath her belly, allowing it to slide erotically across you as well.", false);
};
};
if (malonChildren == 1){
outputMainText("\r\rAll giggly and just as naked as you are, your little girl jumps into the bed with you, rubbing her small udder and tugging the short teats until her own milk is flowing. She suckles from the two of you when you two give her the chance, trying to get a nice meal in. However, your actions are so vulgar that she begins to slip her fingers between her own legs and fondle her small breasts, gasping softly as she tries to bring herself to a premature orgasm.", false);
};
if (malonChildren > 1){
outputMainText("\r\rAll giggly and just as naked as you are, your little girls jump into the bed with you, rubbing their small udders and tugging at each others short teats until their own milk begins to flow. They suckle from the two of you when you two give them the chance, trying to get a nice meal in, and suckle from each other whenever you don't. However, your actions are so vulgar that they begin to slip their fingers between their own legs and fondle their small breasts, gasping softly as they try to bring themselves to premature orgasms, even going so far to even lick each others developing cunnies in hopes for a greater chance of success.", false);
};
outputMainText("\r\rOver and over, Malon grinds her wide hips. She leans down to kiss you some more, her tongue driving into your mouth. You thrust back in turn, making her moan into your throat.\r\rQuickly, her body begins to quiver once again, milk spraying about beneath the sheets, drenching you all. Her mouth quickly stretches wide, the sound echoing around the room. \r\r'MOOOOOOO!'", false);
if (malonChildren == 1){
outputMainText("\r\rYour child does the same, coming to the small peak of her own pleasuring with a weaker, cute encore of 'Moooo~!'", false);
};
if (malonChildren > 1){
outputMainText("\r\rYour children do the same, coming to the small peaks of their own pleasuring with weaker, cute encores of 'Moooo~!'", false);
};
cumAmount();
} else {
if ((((cockTotal < 1)) && ((vagTotal > 0)))){
outputMainText((((((((((("\r\rFlipping back her long red hair, she grinds down your legs and across the bed to pull " + pullUD(2)) + " your ") + clothesBottom()) + ". Seeing your ") + vulvaDesc()) + " slit") + plural(2)) + ", she dives in and begins devouring your clit") + plural(2)) + ".\r\rIt doesn't take long before she grows too hungry, crawling back up your body, licking your milk up as she goes. Her own breasts dribble over you until it runs off your sides and soaks into the fluffy blanket. Then, she pulls the blankets open, letting you both slip into the water-resistant sheets, where she presses her supple folds to your own, letting them kiss erotically."), false);
if (malonChildren == 1){
outputMainText("\r\rAll giggly and just as naked as you are, your little girl jumps into the bed with you, rubbing her small udder and tugging the short teats until her own milk is flowing. She suckles from the two of you when you two give her the chance, trying to get a nice meal in. However, your actions are so vulgar that she begins to slip her fingers between her own legs and fondle her small breasts, gasping softly as she tries to bring herself to a premature orgasm.", false);
};
if (malonChildren > 1){
outputMainText("\r\rAll giggly and just as naked as you are, your little girls jump into the bed with you, rubbing their small udders and tugging at each others short teats until their own milk begins to flow. They suckle from the two of you when you two give them the chance, trying to get a nice meal in, and suckle from each other whenever you don't. However, your actions are so vulgar that they begin to slip their fingers between their own legs and fondle their small breasts, gasping softly as they try to bring themselves to premature orgasms, even going so far to even lick each others developing cunnies in hopes for a greater chance of success.", false);
};
if (malonRep == 4){
if ((((malonPreg > 36)) && ((malonPreg <= 72)))){
outputMainText("\r\rYou both rub her slightly protruding belly as you kiss, delighting in the feeling of new life growing within her. As you rub against each other, you take precautions to protect the womb, but it doesn't prevent the room from getting hot...", false);
};
if ((((malonPreg > 72)) && ((malonPreg <= 144)))){
outputMainText("\r\rYou both hug and rub her large belly, her breasts laying atop and just barely hanging past. Her large rump rises in the air, her tail dancing above, as she tries to bend around her swollen womb and kiss you again and again. One of your hands grabs her ass trying to push her back down against you, while the other roves over the taut skin, keen to protect and caress it.", false);
};
if ((((malonPreg > 144)) && ((malonPreg <= 216)))){
outputMainText("\r\rHer belly is enormous, filling the gap between the two of you and protruding further than her pregnancy-swollen tits, milk already dribbling down the taut skin. She grinds down hard against you, the large girth making her all the hornier. So horny, in fact, that she rolls her giant belly against yours, just to lean in to give you a kiss. Her ass swings in the air, swaying erotically while her tail dances in rhythm. Both of your hands are busy keeping her giant womb balanced against you, stroking the sensitive skin until you can feel her arousal splash down from her hind-qaurters and splatter across your thighs. She roll back to satiate her engorged cunt, letting her feminine lubricant slip beneath her belly, allowing it to slide erotically across you as well.", false);
};
};
outputMainText((("\r\rOver and over, she grinds her wide hips. She leans down to kiss you some more, her tongue driving into your mouth. You thrust back in turn, making her moan into your throat.\r\rQuickly, her body begins to quiver once again, milk spraying about beneath the sheets. She keeps her mouth shut at first, but as you thrust your clit" + plural(2)) + " against hers as you come, she can no longer resist, allowing her mouth stretch wide.\r\r'MOOOOOOO!'"), false);
if (malonChildren == 1){
outputMainText("\r\rYour child does the same, coming to the small peak of her own pleasuring with a weaker, cute encore of 'Moooo~!'", false);
};
if (malonChildren > 1){
outputMainText("\r\rYour children do the same, coming to the small peaks of their own pleasuring with weaker, cute encores of 'Moooo~!'", false);
};
} else {
outputMainText((((("\r\rFlipping back her long red hair, she grinds down your legs and across the bed to pull " + pullUD(2)) + " your ") + clothesBottom()) + ". Seeing your lack of any genitalia, she kisses your crotch softly several times anyways, before crawling back up your body She licks up your milk up as she goes, while her own breasts dribble over you until it runs off your sides and soaks into the fluffy blanket. Then, she pulls the blankets open, letting you both slip into the water-resistant sheets, where she humps your empty crotch."), false);
if (malonChildren == 1){
outputMainText("\r\rAll giggly and just as naked as you are, your little girl jumps into the bed with you, rubbing her small udder and tugging the short teats until her own milk is flowing. She suckles from the two of you when you two give her the chance, trying to get a nice meal in. However, your actions are so vulgar that she begins to slip her fingers between her own legs and fondle her small breasts, gasping softly as she tries to bring herself to a premature orgasm.", false);
};
if (malonChildren > 1){
outputMainText("\r\rAll giggly and just as naked as you are, your little girls jump into the bed with you, rubbing their small udders and tugging at each others short teats until their own milk begins to flow. They suckle from the two of you when you two give them the chance, trying to get a nice meal in, and suckle from each other whenever you don't. However, your actions are so vulgar that they begin to slip their fingers between their own legs and fondle their small breasts, gasping softly as they try to bring themselves to premature orgasms, even going so far to even lick each others developing cunnies in hopes for a greater chance of success.", false);
};
if (malonRep == 4){
if ((((malonPreg > 36)) && ((malonPreg <= 72)))){
outputMainText("\r\rYou both rub her slightly protruding belly as you kiss, delighting in the feeling of new life growing within her. As you rub against each other, you take precautions to protect the womb, but it doesn't prevent the room from getting hot...", false);
};
if ((((malonPreg > 72)) && ((malonPreg <= 144)))){
outputMainText("\r\rYou both hug and rub her large belly, her breasts laying atop and just barely hanging past. Her large rump rises in the air, her tail dancing above, as she tries to bend around her swollen womb and kiss you again and again. One of your hands grabs her ass trying to push her back down against you, while the other roves over the taut skin, keen to protect and caress it.", false);
};
if ((((malonPreg > 144)) && ((malonPreg <= 216)))){
outputMainText("\r\rHer belly is enormous, filling the gap between the two of you and protruding further than her pregnancy-swollen tits, milk already dribbling down the taut skin. She grinds down hard against you, the large girth making her all the hornier. So horny, in fact, that she rolls her giant belly against yours, just to lean in to give you a kiss. Her ass swings in the air, swaying erotically while her tail dances in rhythm. Both of your hands are busy keeping her giant womb balanced against you, stroking the sensitive skin until you can feel her arousal splash down from her hind-qaurters and splatter across your thighs. She roll back to satiate her engorged cunt, letting her feminine lubricant slip beneath her belly, allowing it to slide erotically across you as well.", false);
};
};
outputMainText("\r\rOver and over, she grinds her wide hips. She leans down to kiss you some more, her tongue driving into your mouth. You thrust back in turn, making her moan into your throat.\r\rQuickly, her body begins to quiver once again, milk spraying about beneath the sheets. So hot is her body that you can feel yourself climax as well! She keeps her mouth shut at first, but as you thrust back with the phantom orgasm, she can no longer resist, allowing her mouth stretch wide.\r\r'MOOOOOOO!'", false);
if (malonChildren == 1){
outputMainText("\r\rYour child does the same, coming to the small peak of her own pleasuring with a weaker, cute encore of 'Moooo~!'", false);
};
if (malonChildren > 1){
outputMainText("\r\rYour children do the same, coming to the small peaks of their own pleasuring with weaker, cute encores of 'Moooo~!'", false);
};
};
};
outputMainText("\r\r\rYou soon pass out beneath the blankets, trapped within the sea of milk and sensual fluids...", false);
doLust((-(sen) * 2));
hrs = 9;
exhaustion = 0;
doNext();
doListen = function ():void{
outputMainText((("Many hours later, you awaken to gentle kissing from your bovine lover. You open your eyes to see Malon's face, a soft smile greeting you and a happy glimmer in her eyes.\r\r'Thank you so much~' She whispers before kissing you once more.\r\rAfter some cuddling, she eventually needs to get back to work. She hugs you again and tells you that she'd love for you to come back any time you can. You hug her back, giving her a sweet goodbye as you squeeze her plush tush, her tail jerking excitedly as she giggles. With a round of kisses and hugs, you head back to Softlik, your " + skinDesc()) + " nice and soft from the extended milk bath"), true);
if (malonChildren == 1){
outputMainText(", your little girl growing up with probably the fairest skin of anyone in Nimin", false);
};
if (malonChildren > 1){
outputMainText(", your little girls growing up with probably the fairest skins of anyone in Nimin", false);
};
outputMainText(".", false);
doSexP(5);
stats(0, 1, 2, 4);
doEnd();
};
};
};
} else {
if (malonRep == 2){
outputMainText("You spot Malon out of the corner of your eye. She spots you and waves with a slight smile. However, she quickly stops as her shirt begins to blotch, white liquid spilling out and dribbling onto her apron and ground. She blushes intently and pulls her shawl down to cover her huge chest, turning away and running off, her tail pushing her skirt between her legs and outlining her ample bum.\r\rNot wanting to be so much like a cow, she avoids you in hopes of taking care of the situation herself. With a shrug, you head back to Softlik.", true);
hrs = 1;
doEnd();
} else {
outputMainText("You spot Malon out of the corner of your eye. She spots you and waves with a slight smile. However, she quickly stops as her shirt begins to blotch, white liquid spilling out and dribbling onto her apron and ground. She blushes intently and pulls her shawl down to cover her huge chest, turning away and running off, her tail pushing her skirt between her legs and outlining her ample bum.\r\rA bit distracted with her 'issues', you leave her be and head back to Softlik.", true);
hrs = 1;
doEnd();
};
};
};
};
} else {
if ((((malonRep == 0)) && ((((((lactation > 3)) && ((milkEngorgementLevel > 0)))) || ((((udderLactation > 3)) && ((udderEngorgementLevel > 0)))))))){
outputMainText((("Heading towards the farm, you spot a strange farm-hand. A young woman, with an exceptionally well-endowed figure... Beautiful, with long, flowing red hair, she wears a yellow shirt and long purple skirt with a brown apron around her waist and yellow shawl around her shoulders. However, the shawl seems fairly wet and she's careful to drape its ends over breasts larger than watermelons, trying to hide the large blotches on her shirt with it and keeping it at the ready to use at any moment. Her ears are also quite long, hanging perpendicular from her head, nearly 5 inches, and droop a little. Behind her you see a long, narrow tail, tipped with a tuft of long hairs, swish about her calves with each step.\r\rAs you watch her, she seems to avoid most of the other workers. It doesn't take long before she spots you eyeing her. At first redness tinges her cheeks, but then her eyes spot the large blotches on your " + clothesTop()) + " with a curious look. Checking to make sure nobody else is around, she heads towards you..."), true);
doNext();
doListen = function ():void{
outputMainText("With a gentle voice, she speaks,\r\r'Oh my, w-would you like some help with that?' She nods down to your milkiness. 'I, umm... Kinda know the feeling and can help you out if you would like.'\r\r\rDo you accept her offer?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("She nods with a soft smile, taking you by the hand. Leading you into the main farmhouse, she's quick to look around corners and check hallways, as if she were smuggling you into the building. Eventually, she brings you upstairs to a bedroom.\r\rIn the center of the room sits a good-sized bed, with downy blankets and soft matress. However, the sheets seem to be coated with some sort of wax, making them shiny and most likely waterproof. In a corner beside the bed stands a stack of several buckets, all clean and ready to be used. The strange woman leads you towards her bed, motioning for you to sit.\r\r'Just relax and I'll take care of it for you.' She speaks sweetly.", true);
doNext();
doListen = function ():void{
outputMainText((("\r\rYou sit down upon the soft bed, sinking in slightly from the extra cushioning. She then grabs a bucket from the stack and pulls a short stool over to your knees.\r\r'Your " + clothesTop()) + ", please.' She motions to it being in the way."), true);
if (ment > lib){
outputMainText((((("\r\rWith a heavy blush in your cheeks, you nod back, pulling your " + clothesTop()) + " ") + pullUD(1)) + ", slowly exposing your "), false);
} else {
if (ment > (lib - 10)){
outputMainText((((("\r\rWith a slight blush in your cheeks, you nod back, pulling your " + clothesTop()) + " ") + pullUD(1)) + ", exposing your "), false);
} else {
outputMainText((((("\r\rWith a quick nod and no hesitation, you pull " + pullUD(1)) + " your ") + clothesTop()) + ", exposing your "), false);
};
};
if ((((((milkEngorgementLevel > 0)) && ((udderEngorgementLevel > 0)))) && ((udders == true)))){
outputMainText((((boobDesc() + " leaky breasts and letting your ") + udderDesc()) + " udder spill into your lap."), false);
} else {
if (milkEngorgementLevel > 0){
outputMainText((boobDesc() + " leaky breasts."), false);
} else {
if ((((udderEngorgementLevel > 0)) && ((udders == true)))){
outputMainText((udderDesc() + " udder, your teats dripping into your lap."), false);
};
};
};
outputMainText(" The woman then slips her hands into her cleavage, quickly warming her hands, before reaching out to your ", false);
if (milkEngorgementLevel > 0){
outputMainText((nipDesc() + " nipples"), false);
} else {
if ((((udderEngorgementLevel > 0)) && ((udders == true)))){
outputMainText((teatDesc() + " teats"), false);
};
};
outputMainText(" and gently pinches them within her grasp. Expertly, she bends you forward slightly and aims towards the bucket. Within just a few tugs, you're already squirting milk into the bucket, the pleasant feeling of warmth overcoming you and intensified by her caring massage.\r\rAs the room fills with the sound of your squirts hitting the metallic bucket, the strange woman finally introduces herself. 'I'm Malon, it's nice to meet you.' She giggles as she shakes your milky flesh with a hand in greeting. 'Usually I'm the one with the milky problem around here.' She motions down to her shirt. The redness tinges her cheeks. 'Oh-Oh my...' Her shirt blotches quickly, her own milk beginning to drip into the bucket with yours. 'Uh-umm... I think doing this made my breasts think it's that time... Y-You don't mind, do you?' She plucks at her shirt to indicate what she means.\r\rAs you nod your head to say it's alright, she pulls her shirt up, exposing her enormous breasts. They rest more comfortably on her knees, with 6-inch long nipples dangling like teats. While one hand works your body, her other reaches around a fleshy mass to grab her own nipple. In a couple seconds, her rhythm quickly matches yours, filling the bucket rapidly.", false);
doNext();
doListen = function ():void{
outputMainText("She continues to speak, trying to distract herself from her shyness and ignore the redness in her face as she milks the both of you.\r\r'When I was little, I loved the animals, and I still do. However, in my naive youth, I attempted to get to know some of the cows better... by taking one of those DairE Pills. At first I was ecstatic. Imagine a little girl, in a long white dress, with larger than average nipples that poked at the fabric, dripping with milk, just like the cows! I even had the same shawl back then,' she tugs the yellow shawl around her shoulders,' and I used to soak it through after an hour of sitting with the cows, playing with my nipples and mooing to be just like them.'\r\rShe sighs.\r\r'Having such success, I kept taking the pills. And taking them. And taking them... Before I was even 15 years old, I had a chest larger than any woman's in Softlik and could make more milk than most cows on the farm. Added to the fact that I had these ears and this tail,' the thing swishes behind her as a big gush of milk shoots from her nipples as she shudder slightly. 'E-Excuse me.. ' She blushes instensely, waiting for a moment as her climax passes. 'W-Well, let's just say I became a little self-aware. I still kept up with the milkings to keep the engorgement away and, well, I'm sure you can guess the rest.'", true);
doNext();
doListen = function ():void{
var getMilk:int;
if ((((milkEngorgementLevel > 0)) && ((udderEngorgementLevel > 0)))){
getMilk = (milkAmount(1) + milkAmount(2));
} else {
if (milkEngorgementLevel > 0){
getMilk = milkAmount(1);
} else {
if (udderEngorgementLevel > 0){
getMilk = milkAmount(2);
};
};
};
if (getMilk <= 4000){
outputMainText("After filling up two buckets of milk, most of which was Malon's, she pushes them off to the side with a clap.", true);
} else {
if (getMilk <= 18000){
outputMainText("After filling up few buckets of milk, most of which was yours, Malon pushes them off to the side with a sigh.", true);
} else {
if (getMilk <= 35500){
outputMainText("After filling up several buckets of milk, far surpassing Malon's amount, she pushes them off to the side with a tired sigh, stretching her adept fingers.", true);
} else {
if (getMilk > 35500){
outputMainText("After a while, Malon begins to panic. 'Umm... I-I seem to have run out of buckets!' She sloshes the last one from the stack to the side as you still spill with milk. 'I-I'm so sorry! I didn't know it was that bad for you. Here!'\r\rShe takes off her shawl, holding it to your mammaries and waiting for the flow to come to a halt. A few minutes pass before she can remove it, your lactation having ceased and her hands covered in the white stuff. 'Whew... That was close.'\r\rShe wrings her shawl out in a bucket that has yet to overflow before slinging it around her neck again.", true);
};
};
};
};
outputMainText(" 'There, all done!", false);
if (udders == true){
outputMainText(" Although, I probably shouldn't be rambling about my problems. It seems like you've gone far beyond my own troubles.' She gently pats your milky bag. 'Anyways...", false);
};
outputMainText(" If you ever have trouble again, come see me and I'll help you out. Otherwise, don't be a stranger.' She pulls her shirt back down, lifting her massive tits a few time to get them to settle within the shirt without her large nipples being so obvious. 'Us 'cows' should stick together.' With a wink, she leans forward, giving you a great view of her deep cleavage as she kisses you on the forehead. Then she takes your hand once more, leading your back out of the farmhouse, saying she can take care of the buckets herself.\r\rWith a wave, you say goodbye and head back to Softlik.", false);
hrs = 3;
doLust(10);
nipplePlay = (nipplePlay + 10);
malonRep = 1;
if (udders == true){
udderPlay = (udderPlay + 10);
};
doSexP(5);
stats(0, 2, 2, 1);
doEnd();
};
};
};
} else {
outputMainText("You shake your head, not accepting her assistance. She gives you a soft smile, not offended by the choice. Her extrovert moment quickly passes, however, as her own shirt begins to blotch more, white liquid spilling out and dribbling onto her apron and ground. She blushes intensely as she pulls her shawl down to cover her huge chest, turning away and running off, her tail pushing her skirt between her legs and outlining her ample bum.\r\rShe disappears into a building. With a shrug, you head back to Softlik.", true);
hrs = 1;
doEnd();
};
};
};
} else {
outputMainText("You spot a farm-hand out of the corner of your eye. A young woman, with an exceptionally well-endowed figure... Beautiful, with long, flowing red hair, she wears a yellow shirt and long purple skirt with a brown apron around her waist and yellow shawl around her shoulders. However, the shawl seems fairly wet and she's careful to drape its ends over breasts larger than watermelons, trying to hide the large blotches on her shirt with it and keeping it at the ready to use at any moment. Her ears are also quite long, hanging perpendicular from her head, nearly 5 inches, and droop a little. Behind her you see a long, narrow tail, tipped with a tuft of long hairs, swish about her calves with each step.\r\rAs you watch her, she seems to avoid most of the other workers. It doesn't take long before she spots you eyeing her. She immediately averts her eyes, redness tinging her cheeks. Her shy moment quickly passes, however, as her shirt begins to blotch more, white liquid spilling out and dribbling onto her apron and ground. Her blush intensifies as she pulls her shawl down to cover her huge chest, turning away and running off, her tail pushing her skirt between her legs and outlining her ample bum.\r\rShe disappears into a building. With a shrug, you head back to Softlik.", true);
hrs = 1;
doEnd();
};
};
};
} else {
outputMainText("You manage to approach the farm without being seen or stopped by a farmer. You find a bottle of milk that has yet to be shipped out with the rest. Pocketing it before being caught, you head back to Softlik.", true);
itemAdd(500);
hrs = 2;
doEnd();
};
};
};
};
}
public function hairstyleDescription(ID:int):String{
var tempStr:String;
tempStr = ("CLOTHES NAME ERROR " + ID);
if (ID == 0){
tempStr = "No hairstyle whatsoever. Choosing this option removes any mention of hair from your appearance description.";
};
if (ID == 1){
tempStr = "Wavy hair has subtle curves that make it seem more flowing.\r\rThis hairstyle has additional length options available after purchasing.";
};
if (ID == 2){
tempStr = "Pigtails are straight/wavy/curvy hair pulled away from the face and gathered towards the sides of your head, where it is bundled and tied at the base, allowing it to hang freely over your shoulders.\r\rThis hairstyle has additional length options available after purchasing.";
};
if (ID == 3){
tempStr = "A Ponytail is straight/wavy/curvy hair pulled away from the face and gathered at the back of your head, where it is bundled and tied at the base, allowing it to hang freely over your back.\r\rThis hairstyle has additional length options available after purchasing.";
};
if (ID == 4){
tempStr = "Straight hair has been combed out to be nice and straight.\r\rThis hairstyle has additional length options available after purchasing.";
};
if (ID == 5){
tempStr = "A Buzzcut is hair cut quite short, less than a quarter inch from your head.";
};
if (ID == 6){
tempStr = "A Mohawk leaves only the hair along the center, from front to back, left, shaving the rest. It's usually a couple inches long.";
};
if (ID == 7){
tempStr = "A Bun is straight or wavy hair pulled up into a bun-like shape on top of the back of your head.";
};
if (ID == 8){
tempStr = "Curly hair has been treated to make it nice and curly with a bit of spring.\r\rThis hairstyle has additional length options available after purchasing.";
};
if (ID == 9){
tempStr = "Braided Pigtails are pigtails that have been braided, keeping the dangling hair in a nice tight formation.\r\rThis hairstyle has additional length options available after purchasing.";
};
if (ID == 10){
tempStr = "A Braided Ponytail is a ponytail that has been braided, keeping the dangling hair in a nice tight formation.\r\rThis hairstyle has additional length options available after purchasing.";
};
if (ID == 11){
tempStr = "Braided hair involves tying all your hair into many braids, keeping it all in multiple tight formations.\r\rThis hairstyle has additional length options available after purchasing.";
};
if (ID == 12){
tempStr = "Spiky hair is hair that has been treated to stand away from your head, defying gravity. Due to limitations, it can only reach a few inches in length.";
};
if (ID == 13){
tempStr = "Emo hair is hair that has been treated to sit straight at all times, with bangs often hanging over one eye.\r\rThis hairstyle has additional length options available after purchasing.";
};
if (ID == 14){
tempStr = "An Afro is a giant poofball of curly hair. Due to limitations, it only reaches about half a foot from your head.";
};
return (tempStr);
}
public function doDiscard(ID:int):void{
var ID = ID;
bc();
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
i = 1;
while (i < 13) {
buttonWrite(i, itemName(itemID(i)));
if (stackAmount(i) > 1){
viewAmount(i, true);
amountWrite(i, (("" + stackAmount(i)) + ""));
};
if (i == 12){
buttonWrite(12, "Return");
};
i++;
};
buttonWrite(4, "<<");
buttonWrite(8, ">>");
showPage(true, 1);
doListen = function ():void{
var dis:int;
if (((((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))) && (!((buttonChoice == 12))))){
outputMainText((((((((itemDescription(itemID(buttonChoice)) + "\r\r") + itemDescription(ID)) + "\r\rDo you want to replace ") + itemName(itemID(buttonChoice))) + " with ") + itemName(ID)) + "?"), true);
if (stackAmount(buttonChoice) > 1){
outputMainText((((("\r\rYou will lose all " + stackAmount(buttonChoice)) + " of ") + itemName(itemID(buttonChoice))) + " if you do."), false);
};
dis = buttonChoice;
buttonConfirm();
hideAmount();
doListen = function ():void{
if (buttonChoice == 6){
showPage(false, 1);
loseItem(dis);
itemSlotWrite(dis, 0);
stackSlotWrite(dis, -(stackAmount(dis)));
hideAmount();
gainItem(ID);
};
if (buttonChoice == 7){
hideAmount();
doDiscard(ID);
};
};
};
if (buttonChoice == 12){
while (itemGainArray.indexOf(ID) != -1) {
itemGainArray.pop();
};
showPage(false, 1);
doProcess();
} else {
if (buttonChoice == 4){
if (currentItems == 1){
currentItems = 3;
} else {
if (currentItems == 2){
currentItems = 1;
} else {
if (currentItems == 3){
currentItems = 2;
};
};
};
hideAmount();
showPage(true, 1);
doDiscard(ID);
} else {
if (buttonChoice == 8){
if (currentItems == 1){
currentItems = 2;
} else {
if (currentItems == 2){
currentItems = 3;
} else {
if (currentItems == 3){
currentItems = 1;
};
};
};
hideAmount();
showPage(true, 1);
doDiscard(ID);
};
};
};
};
}
public function enemyBaseStats():void{
if (enemyID == 101){
setEnemyStats(30, 16, 4, 8, 0, 0, 0, 1, 0, 15, 202);
};
if (enemyID == 102){
setEnemyStats(25, 0, 20, 0, 50, 0, 0, 0, 0, 10, 231);
};
if (enemyID == 201){
setEnemyStats(45, 22, 16, 13, 11, 30, 1, 2, 0, 20, 203);
};
if (enemyID == 301){
setEnemyStats(50, 12, 10, 24, 30, 40, 2, 4, Math.floor((percent() / 10)), 25, 204);
};
if (enemyID == 302){
setEnemyStats(60, 28, 9, 18, 14, 30, 1, 4, Math.floor((percent() / 10)), 25, 205);
};
if (enemyID == 303){
setEnemyStats(150, 45, 30, 25, 35, 20, 2, 4, 0, 50, 216);
};
if (enemyID == 304){
setEnemyStats(55, 35, 30, 35, 45, 10, 1, 4, Math.floor((percent() / 10)), 30, 222);
};
if (enemyID == 305){
setEnemyStats(50, 35, 30, 45, 35, 10, 2, 4, Math.floor((percent() / 10)), 30, 222);
};
}
public function skinDesc():String{
var tempStr:String;
tempStr = ("SKIN ERROR " + skinType);
if (skinType == 1){
tempStr = "skin";
};
if (skinType == 2){
tempStr = "fur";
};
if (skinType == 3){
tempStr = "scales";
};
return (tempStr);
}
public function doReturn():void{
checkZero();
if ((((((inBag == true)) && ((lust > 99)))) && ((currentState == 2)))){
doLustForcedMasturbate();
} else {
if (inBag == true){
doBag();
} else {
if (inShop == true){
doShop();
} else {
if (currentState == 1){
doGeneral();
} else {
if (currentState == 2){
doBattle();
} else {
if (currentState == 3){
doMasturbate();
};
};
};
};
};
};
}
public function hairDesc():String{
var tempStr:String;
tempStr = ("HAIR DESC ERROR " + hair);
if (hair == 1){
tempStr = "wavy hair";
};
if (hair == 2){
tempStr = "hair pulled to the sides of your head in pigtails";
};
if (hair == 3){
tempStr = "hair pulled back into a ponytail";
};
if (hair == 4){
tempStr = "straight hair";
};
if (hair == 5){
tempStr = "really short hair";
};
if (hair == 6){
tempStr = "hair styled up into a mohawk";
};
if (hair == 7){
tempStr = "hair curled up into a bun";
};
if (hair == 8){
tempStr = "curly hair";
};
if (hair == 9){
tempStr = "hair pulled to the sides of your head in braided pigtails";
};
if (hair == 10){
tempStr = "hair pulled back into a braided ponytail";
};
if (hair == 11){
tempStr = "braided hair";
};
if (hair == 12){
tempStr = "spiky hair";
};
if (hair == 13){
tempStr = "straight, stiff hair covering an eye";
};
if (hair == 14){
tempStr = "giant poofball of hair";
};
return (tempStr);
}
public function hideUpDown():void{
strUp.visible = false;
strDown.visible = false;
mentaUp.visible = false;
mentaDown.visible = false;
libUp.visible = false;
libDown.visible = false;
senDown.visible = false;
senUp.visible = false;
lustUp.visible = false;
lustDown.visible = false;
hpUp.visible = false;
hpDown.visible = false;
}
public function doCoin(changes:int):void{
if ((coin + changes) < 0){
coin = 0;
changes = 0;
};
coin = (coin + changes);
doSexP(0);
}
public function newGameStart(e:MouseEvent):void{
newGameGo();
}
public function doGeneral():void{
bc();
currentState = 1;
viewButtonText(1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0);
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0);
outputMainText((("You are currently in " + regionName(currentZone)) + ". What would you like to do?"), true);
Choice1.htmlText = "Bag";
Choice2.htmlText = "Sleep";
Choice3.htmlText = "Masturbate";
Choice4.htmlText = "Stash";
Choice5.htmlText = "Shops";
Choice6.htmlText = "Day-Care";
Choice7.htmlText = "Alchemy";
Choice10.htmlText = "Explore";
Choice11.htmlText = "Prostitute";
if (doWeight()){
Choice10.visible = false;
};
if ((((hour > 20)) || ((hour < 7)))){
outputMainText("\r\rAll of the shops are closed at this hour of night.", false);
Choice5.visible = false;
};
if (levelUP > 0){
Choice8.visible = true;
Choice8Outline.visible = true;
buttonWrite(8, "Level Up!");
};
if (milkEngorgement >= 500){
viewButtonText(0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
outputMainText((("\r\rMilk sprays from your chest, shooting through your " + clothesTop()) + " and obscuring your view with a white mist. Pushing your breasts around as you may, you can't seem to get them to settle down as they're so overly engorged that they can't store as much as they're still producing, making it impossible to do anything without drenching not only yourself but all those around you! The production is so excessive that your body will definitely reduce the rate after this.\r\rYou must milk your breasts if you wish to continue."), false);
milkEngorgement = (milkEngorgement - 100);
lactChange(1, -2);
};
if (udderEngorgement >= 500){
viewButtonText(0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
outputMainText((("\r\rMilk sprays from your belly, shooting through your " + clothesTop()) + " and obscuring your view with a white mist. Adjusting your udder as you may, the teats continue to flail about, gushing with milk, as the fleshy bag is so overly engorged that it can't store as much as it's still producing, making it impossible to do anything without drenching not only yourself but all those around you! The production is so excessive that your body will definitely reduce the rate after this.\r\rYou must milk your udder if you wish to continue."), false);
udderEngorgement = (udderEngorgement - 100);
lactChange(2, -2);
};
if (lust == 100){
viewButtonText(0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
outputMainText("\r\rYour body quivers and your legs give out from under you as your arousal soaks through your clothes. Your mind seems focused only on one thing: SEX!\r\rYou must masturbate if you wish to continue.", false);
} else {
if (exhaustion > 44){
outputMainText("\r\rThere's only one thing on your mind right now...", false);
viewButtonText(0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
};
};
appearanceText.visible = true;
appearanceBox.visible = true;
loadGame.visible = true;
loadGameOutline.visible = true;
saveGame.visible = true;
saveGameOutline.visible = true;
newGame.visible = true;
newGameOutline.visible = true;
doListen = function ():void{
if (buttonChoice == 1){
doBag();
};
if (buttonChoice == 2){
doSleep();
};
if (buttonChoice == 3){
doMasturbate();
};
if (buttonChoice == 4){
doStash();
};
if (buttonChoice == 5){
doShops();
};
if (buttonChoice == 6){
doDayCare();
};
if (buttonChoice == 7){
doAlchemy();
};
if (buttonChoice == 8){
doLevelUP();
};
if (buttonChoice == 10){
doExplore();
};
if (buttonChoice == 11){
doProstitute();
};
loadGame.visible = false;
loadGameOutline.visible = false;
saveGame.visible = false;
saveGameOutline.visible = false;
newGame.visible = false;
newGameOutline.visible = false;
appearanceText.visible = false;
appearanceBox.visible = false;
};
}
public function specialRapeWin():void{
if (enemyID == 303){
outputMainText("\r\rThe octopus shudder as her belly quakes, the orgasm having wracked her a little too strongly. She huffs as she begins to crawl back towards the ocean. Just as she touches the water, she lets out a loud groan. Her tentacles quiver and part, exposing her vaginal-beak. The thing yawns wide as a spherical object pushes through.\r\rClear with a solid pink center, the egg falls from her dripping pussy-beak, and into the sand. Barely 4 inches in diameter, it doesn't come close to the size of her belly. She quickly catches her breath, her pink face red with embarrassment, before she pushes herself into the water, a tentacle grabbing the egg and pulling it with her before any more can escape...\r\rHowever, she seems to have left behind a big gob of pink goop.", false);
} else {
if ((((enemyID == 304)) || ((enemyID == 305)))){
outputMainText((((("\r\rAs the " + enemyName()) + " collapses to the ground, wracked by orgasms and thoroughly distracted by the lewd fun, you find yourself beginning to grow. The effects of the bottle seems to wear off as you return to your normal height. Donning your outfit once again, however, it feels a little loose. It seems as though you're still missing a couple inches in height... On the other hand, however, inspecting the ") + enemyName()) + "'s body, you find something wedged in a rather lewd location."), false);
} else {
outputMainText((("\r\rThe " + enemyName()) + " collapses to the ground, quivering body wracked by orgasms. Having broken its mental state into a puddle of sex, it no longer wishes to battle."), false);
};
};
}
public function itemStackMax(ID:int):int{
var tempNum:int;
tempNum = 0;
if (ID == 1){
tempNum = 1;
};
if (ID == 101){
tempNum = 1;
};
if (ID == 102){
tempNum = 1;
};
if (ID == 103){
tempNum = 15;
};
if (ID == 104){
tempNum = 1;
};
if (ID == 105){
tempNum = 5;
};
if (ID == 106){
tempNum = 1;
};
if (ID == 108){
tempNum = 1;
};
if (ID == 109){
tempNum = 1;
};
if (ID == 110){
tempNum = 5;
};
if (ID == 111){
tempNum = 5;
};
if (ID == 112){
tempNum = 5;
};
if (ID == 113){
tempNum = 5;
};
if (ID == 114){
tempNum = 5;
};
if (ID == 115){
tempNum = 10;
};
if (ID == 116){
tempNum = 1;
};
if (ID == 117){
tempNum = 1;
};
if (ID == 118){
tempNum = 1;
};
if (ID == 119){
tempNum = 1;
};
if (ID == 120){
tempNum = 5;
};
if (ID == 121){
tempNum = 10;
};
if (ID == 122){
tempNum = 10;
};
if (ID == 123){
tempNum = 10;
};
if (ID == 124){
tempNum = 10;
};
if (ID == 125){
tempNum = 10;
};
if (ID == 126){
tempNum = 5;
};
if (ID == 127){
tempNum = 1;
};
if (ID == 200){
tempNum = 1;
};
if (ID == 201){
tempNum = 5;
};
if (ID == 202){
tempNum = 5;
};
if (ID == 203){
tempNum = 15;
};
if (ID == 204){
tempNum = 5;
};
if (ID == 205){
tempNum = 5;
};
if (ID == 206){
tempNum = 10;
};
if (ID == 207){
tempNum = 5;
};
if (ID == 208){
tempNum = 10;
};
if (ID == 209){
tempNum = 15;
};
if (ID == 210){
tempNum = 5;
};
if (ID == 211){
tempNum = 15;
};
if (ID == 212){
tempNum = 10;
};
if (ID == 213){
tempNum = 10;
};
if (ID == 214){
tempNum = 10;
};
if (ID == 215){
tempNum = 1;
};
if (ID == 216){
tempNum = 5;
};
if (ID == 217){
tempNum = 5;
};
if (ID == 218){
tempNum = 10;
};
if (ID == 219){
tempNum = 5;
};
if (ID == 220){
tempNum = 5;
};
if (ID == 221){
tempNum = 10;
};
if (ID == 222){
tempNum = 5;
};
if (ID == 223){
tempNum = 10;
};
if (ID == 224){
tempNum = 10;
};
if (ID == 225){
tempNum = 10;
};
if (ID == 226){
tempNum = 15;
};
if (ID == 227){
tempNum = 10;
};
if (ID == 228){
tempNum = 10;
};
if (ID == 229){
tempNum = 1;
};
if (ID == 230){
tempNum = 5;
};
if (ID == 231){
tempNum = 10;
};
if (ID == 232){
tempNum = 1;
};
if (ID == 233){
tempNum = 1;
};
if (ID == 234){
tempNum = 1;
};
if (ID == 235){
tempNum = 1;
};
if (ID == 236){
tempNum = 1;
};
if (ID == 500){
tempNum = 10;
};
if (ID == 501){
tempNum = 5;
};
if (ID == 502){
tempNum = 1;
};
if (ID == 503){
tempNum = 10;
};
if (ID == 504){
tempNum = 10;
};
if (ID == 505){
tempNum = 5;
};
if (ID == 506){
tempNum = 10;
};
if (ID == 507){
tempNum = 10;
};
if (ID == 508){
tempNum = 25;
};
if (ID == 509){
tempNum = 25;
};
if (ID == 510){
tempNum = 25;
};
if (ID == 511){
tempNum = 25;
};
if (ID == 0x0200){
tempNum = 25;
};
if (ID == 513){
tempNum = 5;
};
if (ID == 0x0202){
tempNum = 5;
};
if (ID == 515){
tempNum = 5;
};
if (ID == 516){
tempNum = 5;
};
if (ID == 517){
tempNum = 5;
};
if (ID == 518){
tempNum = 5;
};
if (ID == 519){
tempNum = 5;
};
if (ID == 520){
tempNum = 5;
};
if (ID == 521){
tempNum = 5;
};
if (ID == 522){
tempNum = 5;
};
if (ID == 523){
tempNum = 15;
};
if (ID == 524){
tempNum = 10;
};
if (ID == 525){
tempNum = 5;
};
if (ID == 526){
tempNum = 1;
};
if (ID == 527){
tempNum = 10;
};
if (ID == 528){
tempNum = 10;
};
if (ID == 529){
tempNum = 5;
};
if (ID == 530){
tempNum = 5;
};
if (ID == 531){
tempNum = 1;
};
if (ID == 532){
tempNum = 5;
};
return (tempNum);
}
public function clothesValue(ID:int):int{
var tempNum:int;
tempNum = 0;
if (ID == 1){
tempNum = 5;
};
if (ID == 2){
tempNum = 5;
};
if (ID == 3){
tempNum = 25;
};
if (ID == 4){
tempNum = 25;
};
if (ID == 5){
tempNum = 45;
};
if (ID == 6){
tempNum = 60;
};
if (ID == 7){
tempNum = 25;
};
if (ID == 8){
tempNum = 25;
};
if (ID == 9){
tempNum = 25;
};
if (ID == 10){
tempNum = 30;
};
if (ID == 11){
tempNum = 40;
};
if (ID == 12){
tempNum = 40;
};
if (ID == 13){
tempNum = 50;
};
if (ID == 14){
tempNum = 35;
};
if (ID == 15){
tempNum = 35;
};
if (ID == 16){
tempNum = 40;
};
if (ID == 17){
tempNum = 55;
};
if (ID == 18){
tempNum = 15;
};
if (ID == 19){
tempNum = 50;
};
if (ID == 20){
tempNum = 35;
};
return (tempNum);
}
public function doeLust(changes:int):void{
if (eGen == 1){
if (((((eLust + changes) > 65)) && ((eLust <= 65)))){
outputMainText((("\r\rThe " + enemyName()) + " smears the pre across its rod, stroking it gently while fighting, majorly distracted."), false);
} else {
if (((((eLust + changes) > 40)) && ((eLust <= 40)))){
outputMainText((("\r\rThe " + enemyName()) + " squirms, pre dripping from the tip of its stiffness."), false);
} else {
if (((((eLust + changes) > 20)) && ((eLust <= 20)))){
outputMainText((("\r\rThe " + enemyName()) + " shifts a little, an erection clearly beginning to grow."), false);
};
};
};
};
if (eGen == 2){
if (((((eLust + changes) > 65)) && ((eLust <= 65)))){
outputMainText((("\r\rThe " + enemyName()) + " smears the honey all over as it rubs itself constantly while fighting, majorly distracted."), false);
} else {
if (((((eLust + changes) > 40)) && ((eLust <= 40)))){
outputMainText((("\r\rThe " + enemyName()) + " squirms, honey dribbling from its naughty hole."), false);
} else {
if (((((eLust + changes) > 20)) && ((eLust <= 20)))){
outputMainText((("\r\rThe " + enemyName()) + " shifts a little, caressing its pussy here and there when it can."), false);
};
};
};
};
if (eGen == 3){
if (((((eLust + changes) > 65)) && ((eLust <= 65)))){
outputMainText((("\r\rThe " + enemyName()) + " smears the lubricant all over as it rubs and strokes itself constantly while fighting, majorly distracted."), false);
} else {
if (((((eLust + changes) > 40)) && ((eLust <= 40)))){
outputMainText((("\r\rThe " + enemyName()) + " squirms, honey dribbling and pre dripping from its aroused genitals."), false);
} else {
if (((((eLust + changes) > 20)) && ((eLust <= 20)))){
outputMainText((("\r\rThe " + enemyName()) + " shifts a little, caressing its pussy here and there when it can while its erection clearly grows."), false);
};
};
};
};
eLust = (eLust + changes);
}
public function vagChange(sizeChange:int, totalChange:int):void{
if (((((((((vagSize + sizeChange) <= 0)) || (((vagTotal + totalChange) < 1)))) && ((vagSize > 0)))) && ((vagTotal > 0)))){
outputMainText((((((((("\r\rSudden intense cramping makes you double over. A slight moistness in your " + clothesBottom()) + " causes your hand to inspect the situation. It reaches your once ") + vulvaDesc()) + " vulva just in time to feel it shrink to nothing, sealing over with ") + skinDesc()) + ". It seems you have lost your vagina") + plural(2)) + ", "), false);
if (cockTotal > 0){
outputMainText((("leaving only your cock" + plural(1)) + " remaining. You are now considered only male."), false);
gender = 1;
};
if (cockTotal < 1){
outputMainText("leaving you with no genetalia, completely androgynous where it matters. Things might be difficult...", false);
gender = 0;
};
vagBellyChange(sizeChange, totalChange);
stats(0, 0, (2 * vagTotal), 0);
vagSize = 0;
vagTotal = 0;
vulvaSize = 0;
clitSize = 0;
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == false){
pregArray.splice(i, 5);
i = -5;
};
i = (i + 5);
};
} else {
if (((((vagTotal + totalChange) > 0)) && ((vagTotal < 1)))){
outputMainText((("\r\rYour tummy feels weird as your thighs rub against each other. Your " + clothesBottom()) + " feels wet in the crotch, an oddly new sensation. Reaching in, your hand slips across sensitive and supple flesh. It splits beneath your touch, letting your finger slip in between the moist folds. You let out a moan as your palm slips across the sensitive bump at the front of the crevice, your finger sinking into a hole. The tip brushes against an even more sensitive ring that sinks further into your body - a fresh womb."), false);
if (totalChange > 1){
outputMainText(((((" Yet, that's simply the first. More moistness slimes your hand as " + totalChange) + " more gashes fill your ") + vulvaDesc()) + " groin, all as sensitive and large as the first. A bevy of pussies for your fingers to slip into, your hand rolling over all the labia and making you gasp with all the separate erotic thrills."), false);
};
vagSize = 1;
vulvaSize = 1;
clitSize = 1;
stats(0, 0, (2 * totalChange), 0);
vagBellyChange(sizeChange, totalChange);
vagTotal = (vagTotal + totalChange);
vagSize = (vagSize + sizeChange);
if (cockTotal > 0){
outputMainText((("\r\rYou lay your " + cockDesc()) + " cock back down to cover your new slit, as you're now considered to be both genders... A herm."), false);
gender = 3;
} else {
outputMainText("\r\rYou have now graduated from androgynous to female, congratulations!", false);
gender = 2;
};
while (totalChange > 0) {
if ((pregArray.length / 5) < vagTotal){
pregArray.push(false, 0, 0, 0, 0);
totalChange--;
} else {
totalChange = 0;
};
};
} else {
if ((((totalChange > 0)) && ((vagTotal > 0)))){
outputMainText((("\r\rYour " + clothesBottom()) + " feels wet in the crotch, an oddly new sensation. Reaching in, your hand slips across another slit of sensitive and supple flesh. It splits beneath your touch, letting your finger slip in between the moist folds. You let out a moan as your palm slips across another bump at the front of the crevice, your finger sinking into a hole. A brand new vagina to go with the rest."), false);
if (totalChange > 1){
outputMainText(((((" Yet, that's simply the first. More moistness slimes your hand as " + totalChange) + " more gashes fill your ") + vulvaDesc()) + " groin, all as sensitive and large as the first. A bevy of pussies for your fingers to slip into, your hand rolling over all the labia and making you gasp with all the separate erotic thrills."), false);
};
vagBellyChange(sizeChange, totalChange);
stats(0, 0, (2 * totalChange), 0);
vagTotal = (vagTotal + totalChange);
vagSize = (vagSize + sizeChange);
while (totalChange > 0) {
if ((pregArray.length / 5) < vagTotal){
pregArray.push(false, 0, 0, 0, 0);
totalChange--;
} else {
totalChange = 0;
};
};
} else {
if ((((totalChange < 0)) && (((vagTotal + totalChange) > 0)))){
outputMainText((((("\r\rYou notice an odd sensation of numbness within your groin. Slipping a hand into your " + clothesBottom()) + ", you notice you're missing ") + -(totalChange)) + " of your vaginas."), false);
vagBellyChange(sizeChange, totalChange);
stats(0, 0, (2 * totalChange), 0);
vagTotal = (vagTotal + totalChange);
vagSize = (vagSize + sizeChange);
while (totalChange < 0) {
if (pregCheck(1)){
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == false){
totalChange++;
pregArray.splice(i, 5);
i = (i + pregArray.length);
};
i = (i + 5);
};
} else {
totalChange = 0;
};
};
} else {
if (vagTotal > 0){
vagBellyChange(sizeChange, totalChange);
vagSize = (vagSize + sizeChange);
};
};
};
};
};
}
public function itemValue(ID:int):int{
var tempNum:int;
tempNum = 0;
if (ID == 1){
tempNum = 13;
};
if (ID == 101){
tempNum = 50;
};
if (ID == 102){
tempNum = 50;
};
if (ID == 103){
tempNum = 20;
};
if (ID == 104){
tempNum = 100;
};
if (ID == 105){
tempNum = 30;
};
if (ID == 106){
tempNum = 75;
};
if (ID == 108){
tempNum = 50;
};
if (ID == 109){
tempNum = 125;
};
if (ID == 110){
tempNum = 20;
};
if (ID == 111){
tempNum = 15;
};
if (ID == 112){
tempNum = 15;
};
if (ID == 113){
tempNum = 15;
};
if (ID == 114){
tempNum = 15;
};
if (ID == 115){
tempNum = 5;
};
if (ID == 116){
tempNum = 20;
};
if (ID == 117){
tempNum = 30;
};
if (ID == 118){
tempNum = 55;
};
if (ID == 119){
tempNum = 40;
};
if (ID == 120){
tempNum = 30;
};
if (ID == 121){
tempNum = 15;
};
if (ID == 122){
tempNum = 15;
};
if (ID == 123){
tempNum = 15;
};
if (ID == 124){
tempNum = 15;
};
if (ID == 125){
tempNum = 15;
};
if (ID == 126){
tempNum = 15;
};
if (ID == 127){
tempNum = 35;
};
if (ID == 200){
tempNum = 0;
};
if (ID == 201){
tempNum = 15;
};
if (ID == 202){
tempNum = 15;
};
if (ID == 203){
tempNum = 5;
};
if (ID == 204){
tempNum = 1;
};
if (ID == 205){
tempNum = 1;
};
if (ID == 206){
tempNum = 30;
};
if (ID == 207){
tempNum = 20;
};
if (ID == 208){
tempNum = 15;
};
if (ID == 209){
tempNum = 3;
};
if (ID == 210){
tempNum = 17;
};
if (ID == 211){
tempNum = 10;
};
if (ID == 212){
tempNum = 14;
};
if (ID == 213){
tempNum = 5;
};
if (ID == 214){
tempNum = 5;
};
if (ID == 215){
tempNum = 0;
};
if (ID == 216){
tempNum = 150;
};
if (ID == 217){
tempNum = 40;
};
if (ID == 218){
tempNum = 20;
};
if (ID == 219){
tempNum = 5;
};
if (ID == 220){
tempNum = 50;
};
if (ID == 221){
tempNum = 30;
};
if (ID == 222){
tempNum = 15;
};
if (ID == 223){
tempNum = 15;
};
if (ID == 224){
tempNum = 10;
};
if (ID == 225){
tempNum = 10;
};
if (ID == 226){
tempNum = 5;
};
if (ID == 227){
tempNum = 10;
};
if (ID == 228){
tempNum = 10;
};
if (ID == 229){
tempNum = 0;
};
if (ID == 230){
tempNum = 25;
};
if (ID == 231){
tempNum = 15;
};
if (ID == 232){
tempNum = 0;
};
if (ID == 233){
tempNum = 0;
};
if (ID == 234){
tempNum = 0;
};
if (ID == 235){
tempNum = 0;
};
if (ID == 236){
tempNum = 0;
};
if (ID == 500){
tempNum = 5;
};
if (ID == 501){
tempNum = 15;
};
if (ID == 502){
tempNum = 70;
};
if (ID == 503){
tempNum = 10;
};
if (ID == 504){
tempNum = 10;
};
if (ID == 505){
tempNum = 10;
};
if (ID == 506){
tempNum = 10;
};
if (ID == 507){
tempNum = 10;
};
if (ID == 508){
tempNum = 25;
};
if (ID == 509){
tempNum = 25;
};
if (ID == 510){
tempNum = 25;
};
if (ID == 511){
tempNum = 25;
};
if (ID == 0x0200){
tempNum = 25;
};
if (ID == 513){
tempNum = 20;
};
if (ID == 0x0202){
tempNum = 20;
};
if (ID == 515){
tempNum = 20;
};
if (ID == 516){
tempNum = 20;
};
if (ID == 517){
tempNum = 20;
};
if (ID == 518){
tempNum = 50;
};
if (ID == 519){
tempNum = 50;
};
if (ID == 520){
tempNum = 150;
};
if (ID == 521){
tempNum = 50;
};
if (ID == 522){
tempNum = 50;
};
if (ID == 523){
tempNum = 2;
};
if (ID == 524){
tempNum = 7;
};
if (ID == 525){
tempNum = 25;
};
if (ID == 526){
tempNum = 5;
};
if (ID == 527){
tempNum = 20;
};
if (ID == 528){
tempNum = 10;
};
if (ID == 529){
tempNum = 35;
};
if (ID == 530){
tempNum = 45;
};
if (ID == 531){
tempNum = 69;
};
if (ID == 532){
tempNum = 75;
};
return (tempNum);
}
public function enemyName():String{
var tempStr:String;
tempStr = "ENEMY NAME ERROR";
if (enemyID == 101){
tempStr = "cock-snake";
};
if (enemyID == 102){
tempStr = "dessicating dust devil";
};
if (enemyID == 201){
tempStr = "lone male wolf";
};
if (enemyID == 301){
tempStr = "felin in heat";
};
if (enemyID == 302){
tempStr = "drunken equan";
};
if (enemyID == 303){
tempStr = "octopus girl";
};
if (enemyID == 304){
tempStr = "little big bunny-man";
};
if (enemyID == 305){
tempStr = "little big bunny-girl";
};
return (tempStr);
}
public function complexAlchemy(more:int):void{
var more = more;
showPage(true, (40 + more));
buttonWrite(4, "<<");
buttonWrite(8, ">>");
buttonWrite(12, "Return");
if (more == 1){
viewButtonOutline(1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1);
viewButtonText(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);
buttonWrite(1, "Black Dye");
buttonWrite(2, "S Lust Draft");
buttonWrite(3, "S Rejuv Pot");
buttonWrite(5, "S Exp Preg");
buttonWrite(6, "S Ball Swell");
buttonWrite(7, "Baby Free");
buttonWrite(9, "Pot Pot");
buttonWrite(10, "Gen Swap");
buttonWrite(11, "Maso Pot");
outputMainText("Click on an item you would like to create.", true);
outputMainText("\r\rBlack Dye - Dye that will turn your hair black.\rRequires 5 Wolf Fur.", false);
if (alchemistLevel >= 3){
Choice2.visible = true;
Choice3.visible = true;
outputMainText("\r\rSuperior Lust Draft - When you're having difficulty performing, a quick sip of this will get you up so fast that you may want to avoid pointing towards any nearby eyes.\rRequires 3 Grain plus either 2 Bol Juice, 1 Cum Bottle, or really moist genitals at the time of creations.", false);
outputMainText("\r\rSuperior Rejuvenating Potion - Both greatly heals and soothes the body.\rRequires 1 Lust Draft (to be reversed) and either 1 Milk Jug or 3 Milk Bottle .", false);
};
if (alchemistLevel >= 4){
Choice5.visible = true;
Choice6.visible = true;
outputMainText("\r\rSuperior Express Pregnancy Potion - Tired of waiting for that baby to come? Drink one of these and that baby will be wanting out in no time!\rRequires 1 Wet Cloth and 3 Lizan Eggs.", false);
outputMainText("\r\rSuperior Ball Sweller - When you're ejaculating often, your testicles have difficulty keeping up. A dose of this will help speed up your sperm production so much that you may wanna be wary of explosions.\rRequires 1 Blo Berry and 1 Bul Berry.", false);
};
if (alchemistLevel >= 5){
Choice7.visible = true;
Choice9.visible = true;
outputMainText("\r\rBaby Free Potion - Though this potion may lack babies as an ingredient, it also reduces the chances of any woman who takes it from getting pregnant for a period of time.\rRequires 1 Reduction and 1 Wolf Fur.", false);
outputMainText("\r\rPotency Potion - Not happy with the amount of cum you're producing with your measly testicles? This will make your nuts more effective at their job!\rRequires 3 Ball Swell and 1 Cum Vial.", false);
};
if (alchemistLevel >= 6){
Choice10.visible = true;
Choice11.visible = true;
outputMainText("\r\rGender Swap Potion - If you've ever wondered how the other sex feels, this is a great way to do it. Although you may lose your proportions, you'll know what it feels to be like the opposite gender in no time. Unless you're both, in which case you'd just know how a rather undeveloped version of both genders feels, or androgynous, in which case who knows which gender you'll end up as.\rRequires 1 Neuter and 1 Reduction.", false);
outputMainText("\r\rMasochism Potion - This little drink messes up your nervous system for a while, making you perceive some damage as pleasure instead. A batch of Masochism Potion results in 2 potions.\rRequires 2 Wolf Fur and 1 Lust Draft.", false);
};
};
doListen = function ():void{
if (more == 1){
if (buttonChoice == 1){
makeAlchemy(515, 2, more);
};
if (buttonChoice == 2){
makeAlchemy(508, 2, more);
};
if (buttonChoice == 3){
makeAlchemy(509, 2, more);
};
if (buttonChoice == 5){
makeAlchemy(511, 2, more);
};
if (buttonChoice == 6){
makeAlchemy(0x0200, 2, more);
};
if (buttonChoice == 7){
makeAlchemy(516, 2, more);
};
if (buttonChoice == 9){
makeAlchemy(517, 2, more);
};
if (buttonChoice == 10){
makeAlchemy(513, 2, more);
};
if (buttonChoice == 11){
makeAlchemy(0x0202, 2, more);
};
};
if (buttonChoice == 4){
if (more == 2){
complexAlchemy(1);
} else {
complexAlchemy(more++);
};
};
if (buttonChoice == 8){
if (more == 1){
complexAlchemy(2);
} else {
complexAlchemy(more--);
};
};
if (buttonChoice == 12){
showPage(false, 1);
doAlchemy();
};
};
}
public function hairstyleName(ID:int):String{
var tempStr:String;
tempStr = ("HAIRSTYLE NAME ERROR " + hair);
if (ID == 0){
tempStr = "None";
};
if (ID == 1){
tempStr = "Wavy";
};
if (ID == 2){
tempStr = "Pigtail";
};
if (ID == 3){
tempStr = "Ponytail";
};
if (ID == 4){
tempStr = "Straight";
};
if (ID == 5){
tempStr = "Buzzcut";
};
if (ID == 6){
tempStr = "Mohawk";
};
if (ID == 7){
tempStr = "Bun";
};
if (ID == 8){
tempStr = "Curly";
};
if (ID == 9){
tempStr = "B Pigtail";
};
if (ID == 10){
tempStr = "B Ponytail";
};
if (ID == 11){
tempStr = "Braided";
};
if (ID == 12){
tempStr = "Spiky";
};
if (ID == 13){
tempStr = "Emo";
};
if (ID == 14){
tempStr = "Afro";
};
return (tempStr);
}
public function nipDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("NIPPLE ERROR " + nippleSize);
if (chance <= 100){
if (nippleSize <= 2){
tempStr = "small";
};
if ((((nippleSize > 2)) && ((nippleSize <= 5)))){
tempStr = "noticeable";
};
if ((((nippleSize > 5)) && ((nippleSize <= 9)))){
tempStr = "blatant";
};
if ((((nippleSize > 9)) && ((nippleSize <= 30)))){
tempStr = "teat-like";
};
if ((((nippleSize > 30)) && ((nippleSize <= 50)))){
tempStr = "cock-like";
};
if ((((nippleSize > 50)) && ((nippleSize <= 100)))){
tempStr = "horsecock-like";
};
if ((((nippleSize > 100)) && ((nippleSize <= 140)))){
tempStr = "arm-length";
};
if ((((nippleSize > 140)) && ((nippleSize <= 300)))){
tempStr = "street-clearing";
};
if (nippleSize > 300){
tempStr = "obscene";
};
};
if (chance > 50){
if (nippleSize <= 2){
tempStr = "";
};
if ((((nippleSize > 2)) && ((nippleSize <= 5)))){
tempStr = "perky";
};
if ((((nippleSize > 5)) && ((nippleSize <= 9)))){
tempStr = "hypnotizing";
};
if ((((nippleSize > 9)) && ((nippleSize <= 30)))){
tempStr = "long";
};
if ((((nippleSize > 30)) && ((nippleSize <= 50)))){
tempStr = "huge";
};
if ((((nippleSize > 50)) && ((nippleSize <= 100)))){
tempStr = "enormous";
};
if ((((nippleSize > 100)) && ((nippleSize <= 140)))){
tempStr = "extreme";
};
if ((((nippleSize > 140)) && ((nippleSize <= 300)))){
tempStr = "ridiculous";
};
if (nippleSize > 300){
tempStr = "obscene";
};
};
return (tempStr);
}
public function vagBellyChange(sizeChange:int, totalChange:int):void{
var newBelly:int;
newBelly = ((((vagSize + sizeChange) * (vagTotal + totalChange)) * vagSizeMod) - (tallness / 2));
if (newBelly < 0){
newBelly = 0;
};
if (newBelly < vagBellyMod){
outputMainText("\r\rYour belly flattens slightly as the amount of vaginal flesh within becomes less disproportionate to your body.", false);
} else {
if (newBelly > vagBellyMod){
outputMainText("\r\rYour belly bulges slightly more as the vaginal flesh within takes up more room than your belly can handle...", false);
};
};
vagBellyMod = newBelly;
if (vagBellyMod < 0){
vagBellyMod = 0;
};
}
public function doProstitute():void{
var chance:int;
var tempInt:int;
if (percent() < (25 - enticeMod)){
outputMainText((("You wait around " + regionName(currentZone)) + ", shaking your assets and hoping to catch the eye of someone looking for a bit of sensual company. Unfortunately, despite some lustful gazes, nobody steps forward to take you up on your offer. Either you just weren't attractive enough or they just weren't in the mood at the moment."), true);
hrs = 2;
doEnd();
} else {
tempInt = Math.floor((((percent() / 20) + (ment / 5)) + (lib / 5)));
i = 0;
while (i == 0) {
chance = percent();
if (currentZone == 1){
if (chance <= 20){
outputMainText((((((("Checking yourself in a window, you make sure your " + currentClothes()) + " are in order. You make sure your ") + boobDesc()) + " breasts are exposed just enough to entice anyone that sees the lovely flesh of your ") + boobDesc()) + " bust. You walk with your hips swaying back and forth, trying to bring any watcher to you like a moth to the flame. It's not long before a small group of three human males approach you. Each of them looks like they’ve had a bit to drink and they even try to haggle with you. You manage to agree upon a price for the three of them and they take you back to a seedy bar. The place is bustling, but they have a back room for their dirty exploits."), true);
if (lactation > 0){
outputMainText((((("\r\rThe three men eagerly began to strip, each appears to be a fine example of human endowment. You almost wonder if these men had deliberately lost to cock-snakes at some point... though that seems a little ridiculous... who would do that after all? You remove your " + currentClothes()) + " for them in a sexy striptease, their fat cocks already engorging with blood. \r\rYou smile seductively as the bravest man approaches. He grabs your ") + boobDesc()) + " tits and begins to suckle on the sensitive nipples. A moan escapes your lips as milk escapes into his eager mouth.\r\rYou stagger backwards into the waiting arms of one of the men, not realizing that he was behind you. He grabs you roughly by the waist and you feel his hard manhood in your back. You wonder if he will drive it into you, the thought filling your mind makes you shudder with anticipation. He prolongs your wait as he begins to kiss and nibble on the soft nape of your neck, driving the fire in your body hotter and hotter.\r\rThe last man approaches and takes your hand, guiding it to his still hardening member. You can barely fit your delicate fingers around it as you begin a slow teasing movement.\r\rIt’s hard to focus as you try to continue your movements, but the feel of the lips on your neck and the teeth on your nipples is making it difficult to do anything but breathe heavily. Another set of teeth come down suddenly on your free breast. You have to move a little to continue stroking the man’s large member. Your other hand snakes out to find another cock to fill it. The lips on your neck disappear, but that feeling is soon replaced by one of strong hands up your rump. Your cheeks are spread followed by sudden pressure on your little hole. The feeling increases as the hands slide to your hips and they’re pulled backward onto the hard shaft.You give a small yelp as the man pushes fully inside of you, raising you off the ground in surprise."), false);
outputMainText("\r\rYour feet swing awkwardly as you hang impaled on his manhood. Your hands leave the men’s members, but they do not stop milking your tits harshly. You look back over your shoulder and see the man’s smug grin as he leans against a table to support himself. Your attention gets pulled back to one of the men as he pulls hard on your breast to force more milk into his mouth. You wonder what's going to happen next as you slowly get used to the uncomfortable feeling of being held aloft on the man's thick cock. His strong hands grip you tightly around the waist and he begins to pull himself from you. He pulls almost all the way out, barely leaving the head of his member inside. A surprised moan escapes your lips when he suddenly thrusts back into you. You feel a slight bit of pain and your stomach has a noticeable bulge, but you are paying too much attention to your breasts to notice it. As the man begins his thrusting, you can’t help but feel even more turned on. Your tits feel like they're on fire as they are suckled constantly and your nipples are so hard that it's almost painful. With all the focus the men give your body, you can’t fight against the orgasm that turns your bones to jelly and makes your eyes roll back into your head. All your muscles spasm and the man behind you gives a grunt as you clench mercilessly on his shaft. His orgasm has yet to come, but you’re sure that it won’t be long now. There’s not much to do as you let the men suck your tits dry and fuck your ass raw until at last you feel the heat of the man's seed spilling within you. You sigh in pleasure from both the warmth inside you and relief as he pulls himself free of your ass before lowering you to the ground. As good as it felt, you just know it’s gonna be hard to sit for at least a week.", false);
outputMainText("\r\rThe men paying attention to your chest finally let go. You sink to your knees as they grab their stiff members and begin to stroke themselves quickly. You close your eyes and open your mouth, knowing that it won't be long until they finish as well. Their breathing gets heavier and heavier until you hear the strangled sounds of their climax. A heated moan escapes your mouth as you feel the hot strands of thick liquid splash over your face and in your mouth. You’re surprised by the amount as you feel the hot surges of their seed continuing to spill onto your face over and over again. Their climaxes do eventually come to an end and you gather up the cum on your face, scooping it into your mouth and licking your fingers hungrily. \r\rWith all the men spent, you get dressed and hobble from the seedy bar. With each step, the pain in your ass is still quite apparent.", false);
milkAmount(1);
doLust(-(Math.floor((sen * 1.5))));
} else {
outputMainText((("\r\rThe three men eagerly began to strip, each appears to be a fine example of human endowment. You almost wonder if these men had deliberately lost to cock-snakes at some point... though that seems a little ridiculous... who would do that after all? You remove your " + currentClothes()) + " for them in a sexy striptease, their fat cocks already engorging with blood. \r\rYou smile seductively as the bravest man approaches. He leads you to a table and has you to bend over as he sits upon it, the table creaking slightly under his weight. His hot meat throbs inches from your face and you use your tongue to gently lick the head. He lets out a small moan as you try to take the head into your mouth, your lips stretching around it's impressive girth before it finally pops in.\r\rYou feel something pushing on the tight pucker of your ass, it feels strange as it begins to go inside. You feel your hole stretching around the intruder, but you manage to take the thick member. You smile around the first man's shaft slightly as your tongue begins to lick and circle around the man’s cock, pleasuring him further. You aren’t sure if you’ll be able to take much more of him. You place your hands around the thick shaft and slowly begin to stroke it. The man inside your ass begins to thrust, grabbing you by the hips to get himself deeper into you. The feeling is exquisite and the position helps to rub that little spot inside you. The man’s pace quickens into a relentless pounding of your ass. It distracts you from the job in your mouth and hands, but your moans help with the member in your mouth a little bit. The hard thrusts into your ass fall into a steady pace. The feeling causes your eyes to close as waves of ecstasy race through you."), false);
outputMainText((("\r\rHowever, it's not long until that pace breaks. His thrusts get faster and rougher as the man gets closer and closer. There’s a faint twinge of pain as the man buries himself as far as he can go. A strangled noise escapes his lips as his shoots his load into you. Your ass clenches tightly, milking him for as much of his cum as possible. With a pleasured sigh, he pulls himself from your ass and lets go of your waist.\r\rThe emptiness in your ass is soon filled with another stiff cock, but... this time it’s different. You aren’t sure what’s going on. The man inside your mouth wants you to go deeper. It's not easy, but you oblige with a few more inches. With his cock entering your throat, you idly wonder if this man might be part horse. The true fucking begins now as both men begin to thrust. The one on the table stands and holds onto your head as he keeps himself buried deep. As one man pulls out, the other thrusts in deep, causing you to jiggle back and forth. Your breasts flop to and fro with their motion. There’s nothing you can do except grab the table and hold on as best you can as the vicious cycle continues. There’s a primal urgency in the men’s thrusts. They’re not there to pleasure you, this is all about them. The man behind you gives your " + buttDesc()) + " rump a sharp slap, causing you to squeal around the cock in your mouth. You start timing your breathing round the thrusts in your mouth and you can taste his salty pre occasionally whenever he pulls his head back out of your throat. The man pounding your ass continues to ride you as roughly as possible. You start moving with him, forcing your hips back onto his thick meat.\r\rYou can feel the members starting to get thicker. The hands behind your head force you deep onto his cock, mashing your face into the man’s pubic hair."), false);
outputMainText(" As you feel the cock in your ass explode and flood your body with seed, you’re pretty sure the one in your mouth has begun to flood your stomach with cum as well. Just before you choke, the member is pulled from your mouth. You cough a little before finally taking a deep breath of fresh air. The deflating cock in your behind is slowly pulled from you with a loud pop.\r\rExhausted, you pull your clothes on and wander out of the seedy tavern, holding your slightly inflated belly. As you head back to your street, you wonder if the seed of all three men will meet in your stomach. The very thought arouses you...", false);
doLust(-(Math.floor((sen * 1.5))));
doLust(((lib / 10) - (ment / 10)));
};
if (cockTotal > 0){
cumAmount();
};
hrs = 2;
i++;
} else {
if ((((chance <= 40)) && ((cockTotal > 0)))){
outputMainText((((((((("You wander around the city of Softlik, putting yourself on display, hoping to earn some coin with the only asset you have to peddle. The crowds seem to largely ignore you. Some of the more prudish citizen even actively avoid you. As time passes, you worry that your efforts may be in vain. Just as you are about to give up, a very nervous young man hesitantly approaches you. \r\r'Hey, I know, this might sound stupid, but you look like a...' he blushes and stammers a bit 'well,..' He looks around and lowers his voice, hoping no one can hear him, 'I always wanted to try to suck off a " + domName()) + " like you. I'll pay you, if you let me...' He blushes deeply as he looks at you with downcast eyes, his face turning almost as red as his hair. You find it rather endearing as you watch his nervousness warring with his desire.\r\rNeeding the money, you nod your head in acceptance. The young man grabs your arm as his enthusiasm overcomes his nervousness. He practically drags you into an empty alley before looking around, ensuring no one can see you two. Now that he has you in private, however, his nervousness reasserts itself, looking a bit unsure. You decide to take the lead for this moment and pull out ") + oneYour(1)) + " ") + cockDesc()) + " cock") + plural(1)) + "."), true);
if ((cockSize * cockSizeMod) <= 20){
outputMainText("\r\rThe young man promptly falls down to his knees in front of you and touches it with a trace of wonder. Finally he begins stroking it in earnest and you realize that despite his uncertainty, he certainly has some talent. As he gains courage from your gasp of pleasure, he starts applying his tongue, teasing along the underside of your shaft. Despite his initial shyness, he is really quite good at this. He takes the tip of your cock into his mouth, licking around the tip and moaning softly. His expression is one of sheer bliss as he tastes the drop of pre that emerges. His head starts bobbing on your cock, going down on you in earnest, eliciting a low growl from you. If this guy is really new to this, he is a natural. He picks up speed and moves your up and down on your cock sucking harder and faster.", false);
if (knot == false){
outputMainText("\r\rYou enjoy his attentions, absently caressing his hair as he gives you one of the best blowjobs you've ever had. You pant heavily as as this young man moves his head, taking almost your whole cock in his mouth. You grab his head as you feel you are close to your climax and pull his head while thrusting with your hips, forcing him to take your entire length in his mouth as you release your pent-up climax, giving him all your seed to swallow.", false);
} else {
if (knot == true){
outputMainText("\r\rYou enjoy his attentions, absently caressing his hair as he gives you one of the best blowjobs you've ever had. You pant heavily as as this young man moves his head, taking almost your whole cock in his mouth, nearly down to your knot. You grab his hair and pull him closer, impaling his willing mouth on your cock, until he can reach your knot with his tongue. He gets the idea and begins teasing the swelling knot with his tongue.", false);
if ((cockSize * cockSizeMod) <= 10){
outputMainText(" You are surprised when he manages to not only take in your shaft, but your knot as well. You groan as his lips clench behind your knot, much like a woman's nether lips would, before squeezing it and massaging the swelling bulb. Then he looks up at you, his lips wrapped around your knot and the worshipful, needy expression on his face is too much for you. Unable to hold back any longer, you give him the reward he so eagerly seeks and he struggles to swallow every last drop as you spray your seed down his throat.", false);
} else {
outputMainText(" He then pulls off your shaft and begins sucking on the knot itself, allowing it to swell to full size. Then he goes back to deep-throating your cock while squeezing your knot with his hand. The sensation is too much for you and he struggles to swallow down every last drop as you spray your seed into his mouth.", false);
};
};
};
} else {
outputMainText((((("\r\rThe young man falls on his knees and admires your " + cockDesc()) + " cock. He feels over your large member, surely too big for him to take it all. He slowly licks around the shaft before starting to suck on the tip. He takes in as much of your cock as he can, sucking and licking on it, eyes half-lidded in bliss and moaning softly. He starts to stroke the rest of your cock, much too large to fit in his mouth and with his other hand he massages your ") + ballDesc()) + " balls. You enjoy his enthusiasm and his skill as he carefully makes sure that every last inch of your thick shaft is given the attention it deserves. It's not long before you're feeling a familiar pressure building up in your nuts. Suddenly the boy stops playing with your balls and moves his finger over your ass. Pushing one in your asshole, he sends you over the edge and you flood his mouth with cum in return."), false);
};
outputMainText("\r\r\rAs you pull your cock out of his mouth, the last spurt of cum hits his face, marking him. He blushes again, licking his lips and savoring the flavor. He looks around again, still finding no one who could have seen you. He sighs in relief and hands you some coins. He then gets up quickly, and moves away...", false);
doLust(-(Math.floor((sen * 1.5))));
hrs = 1;
cumAmount();
i++;
} else {
if ((((chance <= 60)) && ((cockTotal > 0)))){
outputMainText((((((((((((((((("You don't wait long for a customer. A young blond woman enters your room and immediately strips her clothes off, revealing her large supple breasts and delicate curves. Already your " + cockDesc()) + " cock") + plural(1)) + " begin") + plural(3)) + " to grow hard at the sight of her bare flesh. You join her on the bed, locking lips in a sensual kiss as your hands roam over her breasts and pinch her pert nipples.\r\rYou moan as her fingers trace down your spine, her nails applying just enough pressure for it to be sensual and pleasurable. You trail kisses down her neck and chest until you reach her hips. You give her clit a tender lick and nibble before you delve your tongue deep into her folds. She moans and arches her back as she runs her fingers through your hair, pushing your tongue deep into her needy pussy.\r\rThe smell of her aroused sex fills your nostrils as your tongue laps at her delicate walls. Your ") + cockDesc()) + " cock") + plural(1)) + " throb") + plural(3)) + " with need to the point of aching as it goes unattended. You pull away from her crotch and she eagerly lays back on the bed, her wet folds glistening with saliva and feminine juices.\r\rYou rub ") + oneYour(1)) + " hard cock") + plural(1)) + " along her nether lips, coating it in her juices before you press your hard length into her. She moans as you vigorously thrust into her, your shaft stroking her sensitive places with each pass.\r\rWith each passing moment her pussy tightens around your cock, making it harder for you to keep pace as you slam into her. You can feel the heavy warmth in your balls as they begin to clench and roil, ready to burst at any moment. You pound hard into her a few more times before she reaches her peak.\r\rHer pussy clenches and milks at your cock. You groan and push into her one last time as your seed bursts from the tip of your cock and catches deep within her greedy passage. Thick ropes of cum spill into her as you hold her down, filling her with your entire potent load."), true);
outputMainText("\r\rWhen your orgasm settles down, you ease your member out of her slit with a thick trickle of your seed dribbling out of her hole and coating your cock. \r\rYou go into the bathroom and bathe and, when you return, you find that your client has left some coins on the table.", false);
hrs = 2;
cumAmount();
doLust(-(Math.floor((sen * 2))));
i++;
} else {
if (chance <= 80){
outputMainText((((("You've been standing on the corner for a couple of hours now, trying to tempt someone into spending some coin in exchange for some pleasure. So far all you've gotten are dirty looks from several of the town matrons, making you even more embarrassed that you've had to resort to this desperate measure. Luckily for you, a group of farmhands from one of the surrounding farms have come into town on their day off. Several of the burly, sunburnt men cast appreciative glances at you but most of them seem eager to drown their thirst at the nearby tavern. As the boisterous group moves off, one of the younger men pauses, glancing at your " + boobDesc()) + " breasts. He watches the men as they make their way into the tavern, grinning to himself when they fail to notice his absence. He continues to gaze at your chest as he makes his way over to you, giving you a chance to study him. His straight brown hair is a bit on the shaggy side, almost concealing his warm, chocolate brown eyes. The downy beginning of a moustache and beard surround his mouth. He's wearing a pair of coveralls over a fairly clean flannel shirt and he doesn't smell too strongly of manure. He quickly agrees to part with some coin to have a bit of fun with you. You lead him a short way down the alley to a spot behind some empty beer crates. His eyes go wide as you slip out of your ") + currentClothes()) + " letting him get a good look at you."), true);
outputMainText("\r\rHe fumbles with the buttons of his coveralls and finally manages to undo them. He hastily tugs them down, letting his erection spring from its confinement. His cock isn't the biggest you've seen, but it certainly isn't the smallest either. He blushes a bit as he explains he'd like to use your tits. It isn't quite what you've envisioned, but the customer is always right so you quickly work out the logistics. You have him sit down on one of the empty crates, then lean over him so his erection is nestled between your breasts. He moans softly as you capture his hard, hot length between your tits and soon begins to rock his hips. There's a bit of friction at first, but soon his slick pre is smeared in your cleavage and he begins to thrust his hips even more vigorously.", false);
if (breastSize <= 2){
outputMainText(" You lower your head and flick your tongue over the head of his cock as it rubs the slight curve between your mounds.", false);
} else {
if (breastSize <= 10){
outputMainText(" You lower your head and flick your tongue over the head of his cock each time it pops out from between your breasts.", false);
} else {
outputMainText(" His entire length is lost in the warm, pillowy mass of your tits and he couldn't be happier!", false);
};
};
outputMainText("\r\rAfter a surprisingly short time, the young man begins to pant raggedly, his eyes clenched tightly shut as he humps into your breasts hard and fast. He cries out softly as you feel the hot gush of his seed spray into your cleavage, painting your breasts as he quivers beneath you. He gives you a rather dazed looking smile and is just about to say something when the two of you hear several men calling out. \r\r'Bran! Bran where are you boy?' \r\rHis eyes widen in alarm. 'Th..That's the foreman! I...I've got to go!' \r\rHe reaches into his belt pouch and hurriedly gives you some coins. 'Th...Thanks a lot! Maybe I'll see you again the next time I'm in town!' He waves to you, then hurries down the alley while simultaneously trying to pull his overalls up. He manages to trip himself once, but quickly gets to his feet as his tugs his clothing back into place before scurrying out of the alley and hurrying to find his friends. \r\rYou shake your head in bemusement as you gather up the coins and clean yourself off.", false);
hrs = 2;
doLust(Math.floor(((lib / 10) - (ment / 10))));
i++;
} else {
if (chance <= 100){
outputMainText((((("A rough-looking human eyes you from the alleyway. There's a glint in his eyes as he approaches. 'Y'wanna earn a few extra coins?' he asks after he steps into the light, his tan flesh scarred and his eyes looking over your body. 'Step into my office, and let's have a talk.'\r\rYou nod and walk into the dark alley, the rogue soon following. You begin to turn, your mouth opening to speak only to have one of his hands clasp over it while the other slams your body against the wall. 'Been a while since I fucked an ass. Just shut up and take it.' he commands while pulling your " + clothesBottom()) + " out of his way. It isn't long before his fleshy shaft presses up against your ass. You can feel the warmth of the man's chest against your back as the throbbing cock slides between your cheeks. He grips your ") + buttDesc()) + " ass hard, holding it against his cock as he rubs his length between your cheeks. Before long, there's a dribble of his pre drooling down your crack. A gasp escapes your lips as the slime-covered tip nudges against your ring. The bandit teases your fleshy hole for a moment. He lets out a few low grunts as he presses forward, not quite penetrating your tight sphincter. 'You want it, slut? I can see it in your eyes. You're begging for it.'\r\rWith no further warning, he plunges in. The fat human cock spreads your walls apart as he slides in the hole below. He moans deeply as his hands latch onto your hips, the man pushing his remaining length into you. 'Fuck, you're hot... Worth every gold piece.' His grip on your hips tightens, almost painfully so, as he rocks your body back and forth with every thrust. The unlubricated cock digs painfully into your flesh with every movement as the man fucks you without care. He roughly pounds your flesh, panting into your ear as he fucks you with quick, short movements.\r\rIt's not that long before he reaches orgasm and he shoves himself completely into your rear. With another grunt, the man's dick twitches inside your warm depths and you feel the sticky seed burst within you. You pant while he fills your ass so full that it begins to overflow, thick streams of cum rolling down your thighs as it slips through the tight seal."), true);
outputMainText(" Just as you begin to feel completely full, he tugs free and lets the last few strands shoot over your back. He lets out a pleased sigh before throwing a small sack down beside you, hitting the ground with a quiet jingle. He vanishes as quickly as he appeared, slipping his dick back into his armor before turning a corner and leaving you a slimy mess.", false);
hrs = 1;
doLust(Math.floor(((lib / 10) - (ment / 10))));
i++;
};
};
};
};
};
};
if (currentZone == 2){
if (chance <= 25){
outputMainText("Enticing one of the big local males into a nearby tent,", true);
if (ment > 20){
outputMainText(" you make sure to check that no one else is around before turning your focus on him.", false);
} else {
outputMainText(" you don’t even bother to make sure you’re alone as you ravenously turn your attention upon him.", false);
};
outputMainText(" Sinking to your knees and unfastening his trousers, you emit a gasp of lustful delight as you find it isn’t only his stature that is large. Your", false);
if (checkItem(101)){
outputMainText(" paws", false);
} else {
outputMainText(" hands", false);
};
outputMainText(" greedily grip his bulging masculinity. You coax his massive, horse-like cock from his plump sheath with slow, enticing strokes. His huge equan testicles are simply too big to cup in one hand, so you take turns squeezing and kneading each of his fat colt-makers as you stroke his huge, pulsing organ to life.\r\rThe equan groans as you lean in to tongue at his flaring, blunt cock-head while lapping at his pre-seed as it oozes copiously from his enormous fuck rod. You continue to stroke his throbbing shaft as you open your mouth wide and force the first few inches of his immense tool into your maw. Your tongue works furiously at the sensitive underside of his swollen, flat glans and it isn’t long before you feel his bloated orbs heave closer to his body in that telltale sign of his imminent release.\r\rSuddenly the equan surges forward, gripping ", false);
if ((((((ears == 2)) || ((ears == 5)))) || ((ears == 7)))){
outputMainText("your long ears", false);
} else {
outputMainText("the back of your head", false);
};
outputMainText(" with both of his huge, powerful hands. Your find your jaws stretched to their very limits as he forcefully pulls your head down upon his throbbing erection. He forces inch after thick, throbbing inch deep down your throat. You shudder and convulse in shock as your warm, wet throat grips and strokes every inch of his huge maleness. The sensations cause your partner to moan aloud in uncontrollable bliss. Your writhing tongue is pressed flush against the bottom of your mouth as the first gush of cum further bloats his already huge cock. You can only struggle futilely as you feel the blast of hot, thick cream shoot inward and coat your hungering belly. His powerful hands hold your lips flush against his velvet-furred sheath and you can only shiver with lust while you’re flooded with his essence. Your distended, cum-bloated belly gurgles in discomfort when he finally pulls his massive endowment free. You fall to the ground limply, panting as you're finally able to breathe again. With his thanks and a mumbled compliment, the equan stumbles out of the tent in a hazy afterglow, leaving you with his payment and a warm, sticky meal...", false);
aff(2, Math.floor(((percent() / 20) + 2)), -2);
hrs = 2;
i++;
} else {
if ((((chance <= 50)) && ((gender == 2)))){
outputMainText("The sounds of raised voices catch your ear as you pass one of Firmshaft's canvas dwellings. Curiosity about the event gives you pause while you try to make out the words. Without warning, the quarrel erupts out onto the path before the tent and out come a pair of nude Equan males. They are fleeing from a short and rather angry-looking Equan woman wielding a large hammer. The two men nearly trip over you as they beat a hasty retreat, leaving their pursuer behind. She shakes her head, tossing her mane about in agitation as she stares after the fleeing pair. \r\rSeeming not to notice you, the woman mutters to herself while rubbing the crotch of her loincloth. You notice that the cloth is very wet. Sensing an opportunity, you draw her attention with a small wave. As she looks you over, you blow her a kiss. A knowing smile softens her features. She motions toward her hut and you follow silently, enjoying the view of her toned ass as the two of you enter. \r\rThe woman's home is lightly furnished, but you find your attention wholly consumed by the large pile of cushions spread out in the center, upon which the slim Equan woman rests in a seductive pose. She crooks one finger in your direction and pats the cushions beside her. You obey, scarcely able to take your seat before she pulls you into a deep, somewhat awkward kiss. It ends almost as suddenly as it began, the woman remembering what you are. 'Here,' she pants, shoving a pouch of coins into your hands. 'I'm done with men. Show me what a girl can do.' \r\rWith that she grabs your hair and shoves your head down between her legs. Her other hand has tugged her loincloth aside to give you clear access to her sloppy cunt. Left with little say in the matter you begin doing your best to service the lusty Equan, lapping the slick juices from her dripping slit with long, slow licks.", true);
outputMainText(((" She lets loose a whinny of pleasure as your tongue darts between her folds to caress her hard clit. You keep it up for several moments before you suddenly find yourself lifted over her into a sixty-nine position, her hungry muzzle presses against your " + vulvaDesc()) + " cunt. Her surprisingly large tongue fills you nicely, sending waves of ecstasy through your body as the two of you suckle and lick each other to orgasm."), false);
outputMainText("\r\rYou lose track of the climaxes as time goes on, only stopping when you collapse from exhaustion. The Equan woman gives you a kiss on the cheek and a pat on the rear before motioning toward the exit and picking up her hammer. She strokes the thick shaft as she prepares to pick up where you left off. Legs wobbling, you leave the dwelling while counting your coins and humming.", false);
exhaustion = (exhaustion + 4);
doLust((-(sen) * 2));
hrs = 1;
i++;
} else {
if ((((chance <= 75)) && ((((((gender == 2)) || ((gender == 3)))) || ((breastSize > 24)))))){
outputMainText((((("Taking to the streets of Firmshaft in your " + currentClothes()) + ", you head to a less populated part of town to make a quick coin or two. After loitering about for an hour, an Equan finally approaches you. He’s slightly sweaty and appears rather nervous, though you're not surprised due to how young he appears. After some casual small talk, mostly about the weather and the grains in the plains, he gets up the courage to buy you. \r\rJudging by the large twitching bulge in his pant leg, you can already sense that he might be a handful. He takes you back to a large tent. Nobody seems to be home even though he clearly doesn't live alone. The Equan slides his pants off quickly, showing you a rather impressive rod dangling freely between his legs. It’s almost certain that if he fell over, that thing would be there to catch him. You remove your ") + currentClothes()) + " as well, his manhood twitching as he sees your naked body."), true);
if (breastSize > 24){
outputMainText((((("\r\rNoting his constant gaze at your " + boobDesc()) + " breasts, you grin wickedly at him as you push him back onto the couch. You begin to rub your ") + boobDesc()) + " breasts with your hands, moaning in delight as you play with your nipples in a teasing manner. When they’re finally erect and he is sufficiently blue-balled, you approach him, straddling his legs and enveloping his massive member with your breasts. You slowly move up and down with them, your mouth opening to accept the flared head of his cock into your mouth. \r\rIt takes some doing, but soon you’re in a good rhythm. You run your tongue all over his cock before you greedily slide it into your throat. The boy’s face is in ecstasy as you continue your expert skills on him. The hot flesh of his member warms your entire body. Your heart beats likes a drum in your ears as you bounce up and down, swallowing him as far as you can. Fighting off the desire to gag, you devour him until his manhood bashes somewhere in your stomach. Your eyes bulge open in surprise as the young male's climax hits unexpectedly. His cock explodes with a river of spooge and rapidly begins to fill your stomach with his seed. You can feel the constant stream as his cock twitches and he whinnies loudly. Even as you pull out, he still hasn’t finished. Your throat and mouth are filled to overflowing with the thick liquid. As you pull him from your mouth, a few jets of stray cum strike you across your face and breasts. Despite your outrageously full belly, you scoop some from your bust and lick it off of your fingers. \r\rYour clothes may not fit as well now, but you head out of the tent to leave the Equan to recover."), false);
doLust(Math.floor(((lib / 4) - (ment / 6))));
aff(2, Math.floor((percent() / 8)), 0);
} else {
if (vagLimit() > 60){
outputMainText("\r\rYou straddle his lap after he lays down on the bed. For a moment, you toy with the tip of his erection before slowly lowering yourself onto it. The feeling is intense as you proceed to take his cock all the way to the hilt. His hands grip your hips and he slowly begins to lift you up, shuddering slightly as your inner walls massage his incredible length. He pulls you back down after only half of his impressive tool is exposed to the air between you. You use your legs to take your weight off of his arms and help guide him into a steady rhythm. Eventually the two of you are in sync while one of your hands moves to your breasts to feel them and play with your sensitive nipples. Your other has gone to your cunt to stroke and rub your clit. It's only a few minutes before the Equan begins to breathe hard. It's pretty obvious to you that this is probably his first time. You speed up your own actions, wanting to give him his money’s worth. Each time your fingers dart across your clit, you feel a pleasurable wave creep up your spine. Moans escape your mouth as your fingers work fast on your sensitive body. Soon your pussy begins to contract and clench as your toes curl. The boy lets out a loud whinny, the new feelings too great for him as he erupts into you pussy like a firehose. The constant gushing begins to distort your stomach. By the time you feel he’s stopped, it almost looks like a basketball has been shoved inside your womb. You wait for a moment before carefully lifting yourself off of him. His cock falls to the bed with a wet slap. You giggle softly as you notice he’s fallen asleep. \r\rSmiling proudly, you get dressed and see yourself out, though you feel quite full.", false);
doImpregnate(2);
} else {
outputMainText("\r\rYou're a bit worried as you begin to sink his massive cock into your pussy. Only part of the way in, you know it won’t fit, but the boy has paid for the full service. You suggest trying something else and sigh with relief as he nods in agreement. You quickly get into a doggy style position and pat your ass. He catches on quickly and prods at your asshole with his very large member. Why you thought this might be a good idea is beyond you, but as the flared head sinks in and the rest follows, you can only grin and bear it. To both his surprise and yours, his balls touch your pussy with a slap. \r\rGrabbing you carefully around the waist, the Equan begins to pull himself out, only to thrust himself back in after a few inches. Once the initial pain fades, pleasure begins to fill your body. You move forward and backwards on his shaft to further encourage him. Soon his erratic pace evens out and the only sound is the tell-tale slap of his large balls hitting against your now wet pussy. Before you can find real pleasure in the act though, the Equan begins to whinny in warning of his coming climax. His frantic thrusts become more apparent as you feel the thick cock pulse and grow slightly. He bottoms out one last time and a waterfall of Equan seed erupts from his flared head, which you are now painfully aware of deep inside you. You don’t even notice that your belly has started to grow, getting bigger and bigger until it almost touches the bed. You feel nauseous for a moment and cough a little, the surprising taste of semen fills your mouth. Just as he pulls free from your backside, you swallow it back down with all your willpower. \r\rSlowly, you get up and proceed to get dressed. You're rather satisfied with yourself and decide to keep your belly as it is, a trophy of sorts.", false);
};
doLust((-(sen) * 2));
};
hrs = 1;
i++;
} else {
if ((((chance <= 100)) && ((((gender == 1)) || ((gender == 3)))))){
outputMainText((((((((("You begin wandering around the equan village of Firmshaft, looking for ways to gain some coin. As you wander you notice that you've captured the attention of a few horny women with 'attributes' such as yours, so you find the best option would be to sell yourself for sex.\r\rYou begin your search for someone to fuck, giving an array of horny looks to every female that passes you by. It doesn't take long for one to take notice of you and your 'package'. She starts to walk slowly towards you, swaying her ample hips, curvy body and huge tits. Her face full of lust and her loins hungry for your cock" + plural(1)) + ". You feel your ") + cockDesc()) + " thing") + plural(1)) + " harden to full size, which only draws the woman in faster, You can only stand still and do nothing, as you are dazed by her amazing body.\r\rNot caring about the setting you are in, she lunges at you. and forces you down to the ground. Without even pausing, she starts tearing away your ") + clothesBottom()) + ""), true);
if (showBalls == true){
outputMainText(((" and letting your " + ballDesc()) + " balls hang free"), false);
};
outputMainText(((((((((((((((((((" followed by her tearing off her own clothes. She grabs " + oneYour(1)) + " wang") + plural(1)) + ", gets down onto all fours and presses the head of you penis against her quivering lips. She does not hesitate to force your ") + cockDesc()) + " cock inside of her sex, letting out a loud orgasmic moan as you sink deep into her folds. You don't even have time to think about being inside her hot, wet depths as the sexy mare begins bucking against the length of your ") + cockDesc()) + " ") + raceName()) + " tool inside her. Your penis and balls begin to shudder furiously after only a few minutes of the intense fucking, a warning to both you and her that you're about to blow. You hold tightly to her hips as you peak and thick ropes of your ") + domName()) + " cum paint her inner walls. After several, almost painful, minutes, you finally release all of your sperm into her womb. You breathe a small sigh of relief as you gather your thoughts. Your gaze falls to the equan woman and you can see her lying face first on the floor, barely conscious from her intense orgasm. She lets out a small moan as you gently pull your cock from her netherlips. In almost no time, it returns to its flaccid state. \r\rAfter a minute or two, she manages to recover from her climax and get back on her hooves. She stumbles, bow-legged towards you, still recovering from the stretching her nethers received from your ") + cockDesc()) + " cock. She slowly leans over you and gives you a kiss. You grin as you feel her press something against your stomach. A something that makes a faint metallic noise as it's weight shifts in your hands. Without another word, she stands and walks away. You look down and smile as you confirm that she has given you a purse full of coins. \r\rYou get to your feet and, as you are pulling ") + pullUD(2)) + " your ") + clothesBottom()) + ", you notice you have drawn a rather large crowd. It consists mainly of women, thirsting for sex. There are also several families with mothers and fathers covering their children's' eyes. You quickly leave the area, carrying on with your journey."), false);
doLust((-(sen) * 2));
cumAmount();
hrs = 2;
i++;
};
};
};
};
};
if (currentZone == 3){
if ((((chance <= 25)) && ((cockTotal > 0)))){
outputMainText((((((((((((((((((((("A young female rushes down the street, moving with a much more feline quality than the other females of Tieden. She looks to be in a mild panic, scanning the crowds until her eyes lock onto your body. She undresses you with her eyes, lingering on the bulge in your " + clothesBottom()) + " until she’s satisfied that you're the one she wants. By the time you notice she’s been teasing her nipples though her blouse, she is already half-way across the street, headed right for you!\r\rBefore you can react she’s already pressing her plush bosom to your body, grinding possessively against you as she coos in a decidedly un-Lupan manner. Preempting anything you might say, she pushes you against the wall, betraying a strength her body wouldn’t show otherwise, and pulls up her skirt just high enough to reveal her sopping slit. She presses it into your ") + clothesBottom()) + " leaving a warm stain against your cock. She claws hungrily at your chest, revealing ever more of her feline nature as she nips at your neck hoping to entice you while she humps up and down the bulge of your ") + cockDesc()) + " erection.\r\rDespite the suddenness of it all, you find yourself responding. Her scent makes your head swim as you begin fumbling with your ") + clothesBottom()) + " until your schlong") + plural(1)) + " slap") + plural(3)) + " against her drooling pussy with a sloppy slurping noise. She rubs herself against your ") + cockDesc()) + " member, making you shiver in time with her slow, deep thrusts. She starts to pant heavily and your skin tingles as it rubs against hers. Before either of you can angle ") + oneYour(1)) + " ") + cockDesc()) + " erection") + plural(1)) + " to penetrate her, her whole body quakes and sprays your loins with hot, slick female cum. It rushes down your legs and hers. The smell reeks of the particular scent which makes it obvious that she is deep in her heat, if her desperation wasn't a big enough hint."), true);
if ((cockSize * cockSizeMod) < eVagLimit(24)){
outputMainText((((((((("\r\rYou, of course, are too happy to oblige. Shifting your hips and lifting her by her plump ass, you plunge " + oneYour(1)) + " ") + domName()) + " cock") + plural(1)) + " deep into her folds and don’t stop until you feel her deep, fleshy walls fight against you. She bites down on her lip to suppress a wild squeal while shoving your face into her breasts. There is a ripping sound as she tears open her blouse so she can feed you her firm teat. Sweet milk leaks into your mouth while you hump again and again into her hungry body.\r\rWith her taste and smell surrounding you, you don’t think you'll last terribly long. Each hard thrust brings her closer to a second climax and before you reach yours, she floods your ") + cockDesc()) + " rod with her slick juices again, washing your hips in cum and quivering around your shaft tightly. That sends you over the edge, pumping your load into her womb and dousing the lustful flames of her heat."), false);
} else {
outputMainText((((((((((("\r\rUnfortunately you are simply too big for her to handle. Luckily though, she seems to be the resourceful type. With a nimble spring she wraps her arms around your shoulders and her legs around your waist so she can rock her sopping wet pussy along your " + cockDesc()) + " cock") + plural(1)) + ". She shivers and moans deeply, leaking her wet juices down your length while you hump back in time with her. All the while you are savoring the feeling of her folds against you.\r\rWith her scent so strong around you and her heat seeping right into your skin, you don’t last very long. She senses it and quickly pulls back. Without wasting any time, she takes the tip of ") + oneYour(1)) + " ") + cockDesc()) + " shaft") + plural(1)) + " and presses it just far enough into her cunt that the eruptions of your seed course deep into her."), false);
};
if (cumAmount() < 5000){
outputMainText("\r\rShe sighs gratefully as you let her down off your cock and she haphazardly rearranges her clothes enough to be decent. 'I'm sorry. I just needed to get that taken care of. I still go into heat even though I'm more Lupan than ever. Please take a few coins for your trouble.'\r\rWith that she hurries off again, still looking the males up and down predatorially despite the cum very plainly dripping from under her skirt. And that leaves you alone in the smell of sex and heat to get dressed and make your way back.", false);
} else {
outputMainText("\r\rShe looks down at you as you keep filling her, bewildered but growing very fond of the constant flow of seed into her belly. She moans softly as her body swells with your rich essence. Her whimpers grow louder and louder until she squeals with a third orgasm, this time flushing out some of your spunk onto your lap with her juices.\r\rOnce you’re finished, she climbs gingerly off your dick and massages her sore lips with an exhausted smile. 'Thank you so much,' she whispers, pulling her clothes back into place as best she can around her now bulging belly, so stuffed with your baby batter that she looks pregnant already. 'It's been so hard to adjust to becoming a Lupan. I'm still not changed enough that my heat will go away.'\r\rAgain hurrying to beat your response, she fishes some coins out of her pouch as well as a sizeable vial of some kind. 'Take this with my gratitude.' With that she hurries off again clumsily, cum very plainly cascading down her legs and leaving you alone, surrounded by the smell of sex and a trail of your cum leading out of the alleyway.", false);
itemAdd(114);
};
hrs = 3;
i++;
} else {
if (chance <= 50){
outputMainText("You wander around Tieden, putting yourself on display and making sure your ", true);
if ((((gender == 1)) || ((((gender == 3)) && ((percent() <= 50)))))){
outputMainText((((("" + cockDesc()) + " bulge is noticeable under your ") + clothesBottom()) + "."), false);
} else {
if ((((gender == 2)) || ((gender == 3)))){
outputMainText((((("" + boobDesc()) + " breasts are clearly visible under your ") + clothesTop()) + "."), false);
} else {
if (gender == 0){
outputMainText("figure looks nice beneath your clothes.", false);
};
};
};
outputMainText("\r\rA young priest heads towards you, a gleam in his eye. “Excuse me, but you are exactly what we need.” His voice holds a note of desperation. “Would you join us in a ritual?” He looks in your eyes pleedingly. “No harm will be done to you of course. And you will get a compensation...”\r\rNeeding the money, you agree with him and follow him into a temple.\r\rYou enter a chamber in the side of the temple. It is a large room, dimly lit with candles, and sparsely furnished. In fact, other than a throne on a raised dais at the far end, currently occupied by an older man in fancy religious attire reading from a large tome, the only real piece of 'furniture' would be a leather-covered alter with two other priests behind it. You are instructed to disrobe and lay on your back on the padded and leather-covered altar so that your legs are spread wide, a pad placed underneath your tailbone to leave your lower half raised, exposing your asshole", false);
if (gender == 1){
outputMainText(((((" and " + cockDesc()) + " cock") + plural(1)) + ""), false);
} else {
if (gender == 2){
outputMainText(((" and " + vulvaDesc()) + " lips"), false);
} else {
if (gender == 3){
outputMainText(((((((", " + cockDesc()) + " cock") + plural(1)) + " and ") + vulvaDesc()) + " lips"), false);
};
};
};
outputMainText(", and you are desperate enough to comply. The two other priests secure your ankles with padded cuffs to rings at the two lower corners of the altar, then do the same with another pair of cuffs for your wrists, pulling your arms taut over your head, to attach them to the other end of the long altar. You instinctively struggle slightly, testing the strength of your restraints and find that you are now completely at their mercy.\r\rThe young priest nods to the older one, who starts to read from the book, chanting words in a sing-song foreign tongue. The other priests disrobe and take up positions around the altar and your bound form upon it. The young priest enters your view carrying a chalice, filled with what looks to be wine, although a faint scent suggested otherwise. Each of the priests take a sip out of the chalice, gulping in harmony with the chants of the old priest. Then after each of the clergy has had their turn with the chalice, he moves towards you. He stands to one side, the other priests closing rank around you, the old priest still chanting in the background.", false);
outputMainText("\r\rThe three priests stand around you, as the young one carrying the chalice lifts it over your body reverently, then carefully begins dribbling the liquid on your nude form. A drop of the blood-red liquid lands in the middle of your forehead, and begins moving the chalice down your body, allowing a drop to land on your nose, then your neck, as he continues guiding the drops down your body.", false);
if (lactation < 1){
if (((!((gender == 1))) || ((((gender == 3)) && ((breastSize <= 3)))))){
outputMainText((((("\r\rHe lets some drops fall over your " + boobDesc()) + " chest, a single drop hitting each of your ") + nipDesc()) + " nipples in rhythm with the chants, which causes a warmth and a tingling sensation, making them very erect. He then pours some more of the ruby liquid, coating your cleavage with the stuff. The other priests move closer and start to lick the liquid from your breasts, making you squirm at the stimulation of the now very sensitive flesh being teased by their tongues. The young priest holding the chalice watches the spectacle, looking in your eyes, grinning lustfully. Then he raises a hand in a halting gesture, and the other priests stand back and watch him."), false);
nippleSize++;
} else {
outputMainText((((((((("\r\rHe lets more drops fall on your chest, over your nipples, which begin to tingle with a strange warmth, and watches as it flows down your chest. He moves further down, letting some of the liquid dip over your belly. Finally he reaches your nether regions and tilts the chalice further, letting the liquid flow out over your " + cockDesc()) + " cock") + plural(1)) + ", which gets coated with the red liquid. It feels cold and hot at the same time on your cock") + plural(1)) + ", and you can do nothing but moan at the tingling sensation. The priests look lustfully in anticipation and listen to the chanting of the old priest. The younger priest pours out the last of the liquid in the chalice over your cock") + plural(1)) + " and then puts it down, looking lustfully at you."), false);
};
outputMainText("The younger priest, who was carrying the chalice moves both his hands over you, he begins to chant in rhythm with the old priest, but he chants different words. The other priests arise, and you can see that all of their cocks are rock hard, throbbing precum and their knots are swollen. They position themselves around you: one close to your mouth, his musky odor mingling with the scent of the liquid that was dropped on your nose to produce a craving for the throbbing member with an intensity that surprises you; and the other priest positions himself between your spread legs, his cock twitching so close to your ", false);
if (vagTotal > 0){
outputMainText(((" cunt" + plural(2)) + "."), false);
} else {
outputMainText("asshole.", false);
};
outputMainText(" The younger priest suddenly places his oddly warm and wetpaw down and hits your belly, making you gasp as a warmth fills your loins. This gasp apparently is the cue for the other priests to act. The one standing close to your now eager mouth obligingly allows you to take in his entire shaft, the taste bringing out your feral nature, while the one poised between your legs roughly impales your lower hole.", false);
if (cockTotal > 0){
outputMainText(((" The younger priest starts to stroke your now highly sensitive and throbbing erection" + plural(1)) + " in rhythm with the chanting, grinning as your pre begins leaking out at the slightest touch."), false);
};
outputMainText("All of the priests fuck you in rhythm with the chanting, changing places in turn, fucking all of your needy holes. You writhe in ecstasy as your whole body is used, giving in to your baser instincts, straining at the cuffs which limit how much you can move in rhythm with their tempo. You start climaxing uncontrollably, over and over, too overcome by your lust to bother counting them, for what seems like an eternity. The chanting takes on more desperate note and then, on one final word, all four of them cum simultaneously, filling your every hole to overflowing, with the rest spraying on your body, ripping one final climax out of you, more powerful than the rest, before you pass out in a haze of sheer bliss.", false);
if (vagTotal > 0){
doImpregnate(3);
};
} else {
milkAmount(1);
outputMainText((("\r\rYou can feel a single drop landing on each of your nipples. The liquid instantly mixes with your milk, causing your " + boobDesc()) + " breasts to become even more sensitive, increasing their flow. The young priest continues to cover your nipples in the red liquid, drop by drop, watching how the they mix with your milk. He then turns the chalice further, letting the liquid flow over your breats covering them in pinkish mix of your milk and the red fluid.\r\rThe other priests start to fondle your breasts, causing you to moan as the sensitized flesh was further teased by their caresses, their chant mingling with your moans as they milk you. The other priest holds the chalice close to one of your nipples and you watch as they top off the half-full gem-encrusted container of the ruby red liquid with your milk, turning it a pinkish color as well.\r\rThe priests seems pleased, and each one takes a deep gulp of the mixture in turn before passing it to the next. They start praying after drinking the milk mix, and you feel somehow sleepy."), false);
};
outputMainText("\r\r\rYou awaken after a while and the young priest looks in your eyes. “Blessed be you for your participation in the ritual. We thank you for your generous offering.” He hands you a bag of coins. You leave the temple feeling very satisfied...", false);
doLust(-100);
exhaustion = (exhaustion - 4);
hrs = 4;
if (cockTotal > 0){
cumAmount();
};
stats(0, 2, 0, 1);
i++;
} else {
if ((((chance <= 75)) && ((((gender == 2)) || ((gender == 3)))))){
outputMainText((("While you parade around a dark street corner in Tieden wearing your " + currentClothes()) + ", you are finally approached by a rather tall and grizzled Lupan male. After exchanging some coins with you, you’re led into a back-alley with him. Once out of sight, he grabs you roughly and kisses you hard, though difficult as it is with a muzzle. You can feel his long, rough tongue darting inside your mouth, the sour tinge of alcohol still apparent upon it. He takes the time to "), true);
if (attireTop == 6){
outputMainText("explore your body with his hands. Through the latex, you can feel his attentions. His hands pay especially close attention to your breasts. You support yourself against a nearby bin, his muzzle going to your neck as he licks and tastes the sweat from your body. You can feel yourself getting damp, your pussy tingling in eager desire. You wait for anything, but, with a hint of disappointment in the back of your mind, he continues to feel his way across your body.\r\rFinally, he lets go of you and turns you around as you tempt him some with a wiggle of your ass. A grin spreads across his face as he pulls his cock out of his pants, the large tool having come from the sheath long ago. With your back turned, you wonder what he’ll do. The wait isn't long before he pushes the pointed tip against your latex covered pussy, making you moan in delight. After a few more seconds of rubbing up and down, he lowers himself slowly and begins to thrust back and forth against your pussy. You close your legs together, giving him a fake pussy to fuck below yours. One which he begins to happily use. You can feel the large member against your thighs and rubbing your pussy, every so often hitting your clit which causes a shiver of electric pleasure to race up your spine. His thrusts began to increase, each time he almost pushes his knot through but stops himself. For you, time is lost as an orgasm rocks through your body. During this time, while the latex around your crotch begins to fill with your pussy juice, you feel his thrusts have gotten faster. There is a look of intense desire on his face, his tongue lolling out the side of his muzzle as he grips your waist tighter. \r\rYou can feel him getting close. With some effort, you manage to pry yourself away from his iron grip and get to your knees. You deftly begin to jerk his cock, using both hands to try and draw him to orgasm. It only takes moment, but soon you can feel his cock pulsing in your hands as he sprays you with his cum. At first it’s overwhelming, but you smile as you bathe in the creamy Lupan seed, letting it wash over you and your latex suit.", false);
outputMainText(" His cock twitches a few times at the end before he puts it away. Satisfied, he leaves you in the alley, the thick scent still heavy in the air.", false);
doLust(Math.floor(((lib / 4) - (ment / 6))));
} else {
outputMainText((((((("pull your " + clothesBottom()) + " ") + pullUD(2)) + " out of his way before pushing you against a wall. You barely have time to put your hands out in front of you and steady yourself, your legs spreading a bit as you realize his intentions. One of his rough hands moves along your waist for a moment as he manages to keep your ") + clothesBottom()) + " where he wants it while he pulls the waistband of his pants down. You smile knowingly at his rather impressive tool, which is already hard as a rock. His large knot is much bigger than a fist and it makes you squirm a little as you wonder if he’ll make you take that too. With no real warning he suddenly plunges himself into your already wet pussy, brutally shoving himself into you."), false);
if (vagLimit() > 24){
outputMainText("\r\rYou were prepared for this. Your hungry cunt eagerly envelops and squeezes him. He grabs you by the waist now and begins to pound away into you with a great deal of force. You have been fucked like this before, but it still makes you bite your lip as you feel him push onto your back while his hands move to your breasts. He kneads and squishes them in his hands without remorse while his hips jack-hammer his thick cock into your depths. Very few times can you remember a fuck as great as this. Powerful waves of pleasure run through your body as you feel his hot breath on your neck. \r\rA sharp cry leaves your mouth as you feel something all too familiar... the strain of his knot as it pushes into you. It's then that the fast strokes of the Lupan become even faster and more powerful. You can barely contain yourself as plunges into you over and over again, his claws raking harshly over your skin; tomorrow's reminder of this encounter being etched into your skin brings you only more pleasure. You pant heavily, half in fear that this experienced lover is going to actually give you an orgasm, which only seconds later, hits like a rock. Your muscles tense up around him and you let out a small cry of pleasure as your eyes roll into the back of your head, but he does not stop or even slow down. \r\rEven after recovering from your climax, even after your pussy stops pulsing and trying to milk him, he continues on with his vigorous assault. It's only a front however. It is not long before his breath quickens and his pace becomes a bit more erratic. Just as he hits your buttons for one more climax, he plunges into you and you feel him reach his own. His cum fires into you like a hot stream and soon you find your belly distending a little bit as your pussy fills with his Lupan seed.\r\rIt takes him a few minutes to recover, catching his breath while waiting for his knot to deflate, but soon he pulls from you with a slurping noise and shoves his manhood back into his pants before leaving you in the alley.", false);
doLust((-(sen) * 2));
doImpregnate(3);
} else {
outputMainText("\r\rWith a squeal of pain, you feel as he pushes against the entrance of your womb, your pussy stretches beyond anything you’ve ever experienced before. You look back and in the dim light, you realize that he’s not even fully in yet! Some still remains, as well as the painful looking knot. He mutters as he slowly pulls out of you. You turn around to face him, only to find that he is forcing you on your knees. \r\rSuddenly his cock is in your mouth, his hands grab you roughly around the back of the head! He thrusts hard and strong, the pointed tip of his cock assaults your poor mouth mercilessly. Even if you try to fight, you are no match for the Lupan as he manages to continue his relentless charge down your throat. You feel a strange pain in your jaw and realize that he’s forcing his knot into your maw as well! You struggle and protest, but eventually the large bulb jams into your mouth. It’s hard to breathe, but you quickly fall into a rhythm, breathing through your nose when you can to grab fresh air. Your hands lower to your snatch, which you begin to rub furiously as the intruder in your mouth continues to ram down your throat. It doesn’t take long for the Lupan to near his end. You feel him tense up and you gag horrendously as he shoves himself as far down your throat as possible. You can feel every pulsing vein of his cock on your tongue as you try to push him out, but to no avail. You can feel something hot spray down your throat and a somewhat powerful wave of nausea trembles over you. Once his knot deflates, he pulls from your mouth, pulses of his seed still spray from his cock, filling your mouth as it goes. You swallow it all quickly, if only to get some air. \r\rPanting harshly, you stagger to your feet while he leaves.", false);
doLust(Math.floor(((lib / 10) - (ment / 10))));
vagSize++;
};
};
hrs = 1;
i++;
} else {
if (chance <= 100){
outputMainText("You spend some time trying to look sexy out by the road when a paint-splattered carriage comes by.\r\rThe driver stops and looks down at you before asking, 'Are you really in need of coin?'. You swear the man looks like a hearse driver, but, you nervously give a little nod.\r\rThe driver gets down and slightly opens the doors before he says, 'Remember to get the subject in the wagon before...' Before he can finish, some crazed looking Lupan girl bursts from the carriage and removes your clothes with unexpected precision and speed. You don't know what she was planning before the driver breaks in, 'Not out where the town is watching!'\r\rThe girl slows to a stop and turns with the face of a scolded child saying, 'Okay...'\r\rThey help you into the carriage and the driver makes some kind of note before setting out to some unknown destination. Upon arriving, you notice that there are paint marks on the house similar to those on the carriage. You are led inside and the girl slams a large canvas onto an easel in front of you and asks, 'Would you mind slowly turning around while I work?'\r\rYou comply with the request and make one rotation before she declares that she's done. She rushes up and hugs you before presenting the completed painting. You're amazed she could paint you so accurately in such a short time... as well as the other stuff that appears to be violating you in several ways at once. You give the little painter a nervous smile before she rushes you out the door with a loud, 'THANK YOU!!!'\r\rThe driver greets you at the door and gives a small jangling pouch, your payment for being a model. 'Let me drive you back where you were,' He says calmly.", true);
hrs = 2;
i++;
};
};
};
};
};
if (currentZone == 4){
if (chance <= 33){
outputMainText("Hanging out at your usual spot, a male Felin saunters up to you. He gives you a silent, appraising look, lingering on your larger curves. 'Not the normal playmate here, are you? Well, you're good enough.' You give a list of the services you offer but are quickly cut off. 'Whoa! I don't know where you've been or what you've done. I just want you to give me a simple handjob. If you do well, I might pay even pay extra.' Accepting the offer, he leads you to an open-air lounge located on a sturdy tree. A quick look down says you're about 35 feet up with a nice view. He makes sure the entrance is blocked before approaching you again.\r\rThe Felin man whips out a larger-than-average dick, the tip covered with soft barbs. 'Let's play,' he commands. Your hands tease at his small thorns which start swelling with arousal. Your fingers play up and down his shaft and a moan escapes both of your mouths. Lust begins to permeate the atmosphere as copious streams of his precum soak into your hands. You pump faster and faster, hands flying on his pulsing member. His thrusts jerk through your palms, sometimes coming close to your face or chest. After a minute of grasping at his large wang, you feel confident enough to take a hand from his cock to massage his churning balls.", true);
if ((((dominant == 2)) || ((dominant == 5)))){
outputMainText(" Your psuedo-hooves grope at the soft spheres. Somehow with his lust-riddled mind, he gasps, 'Wow, is this standard with you? You must be very popular!'", false);
} else {
if (dominant == 3){
outputMainText(" Fondling his sack with precise movements, he shudders. Bits of drool run down his chin as he groans with intense pleasure. 'Really good at this! Have you done this before?'", false);
} else {
if (dominant == 4){
outputMainText(" The fur of your paw tickles his sensitive scrotum. In between tugs of his penis, he clenches his whole body. 'Damn! Do- do that again!'", false);
} else {
outputMainText(" You use your discerning fingers to hit all the sweet spots. He is having difficulty focusing his eyes; your handjob must be messing with his head. 'Oh man, this is the good stuff. UNF!'", false);
};
};
};
outputMainText("\r\rA sharp movement of your hands stops him mid-breath. His big cock bulges obscenely as he comes closer to his climax. The barbs are almost fully erect and the vivid red color is amazing to see. 'Hold the base, quick!' A tight constriction of the already large wang causes it to swell into a 12 inch monster. It looks less like a penis and more like a crimson barbed arm on the short man. 'OH YEAH! Now, over to the edge, before it gets soft!' You two shuffle to the precipice, in plain view of those who would bother to look up for more than a quick look. At his command, you let go of his cock. He reels back as a massive orgasm shakes through him. Moans and groans come unrestrained from the hut as large spurts of off-white cum rain into the forest below.", false);
if (lib > (ment + 15)){
outputMainText(" You can't help but attach your hands to that magnificent cock. The throbbing member beats wildly in your hand, warming it like a bonfire. You begin to pump that softly spiked cock without thinking, wishing nothing more than to keep that cum-hose spraying forever.", false);
};
outputMainText("\r\rThe stream of jizz dies down but the Felin is just standing there, caught in the aftershocks of an ultra-intense orgasm. Both of you back off to the center of the lounge when he comes to his senses once again. Luckily, no one noticed or came to scold you for the exhibition. That brazen display of primal lust has aroused you quite a bit!", false);
if ((((enticeMod + lib) + ment) / 5) > percent()){
outputMainText("\r\r'Damn, you DID do good. Amazing, in fact. Payment is in those drawers. Like I said there's some extra underneath the cushions over there.' He replaces his loincloth and walks out like a man on top of the world. He calls back, 'I'll try to remember you for next time, but no promises.'", false);
tempInt = (tempInt + Math.floor((percent() / 5)));
} else {
outputMainText("\r\r'Well that was good. Payment is in the drawers there.' He covers himself and saunters out just as he did before.", false);
};
doLust(Math.floor((((percent() / 5) + (lib / 2)) - (ment / 4))));
hrs = 2;
i++;
} else {
if ((((chance <= 66)) && ((cockTotal > 0)))){
outputMainText((((((((((((("As you wait on the corner of a bridge in a somewhat less-traveled area of Siz'Calit, a woman catches your eye. She walks with an awkward step... and she's already half naked! She spots you and instantly rushes up to you. The woman grabs you by the shoulders and nearly screams, 'You! Fuck me! I need to be filled NOW!'\r\rBefore you can even attempt to negotiate a price, she's pulling you onto the floor and pulling your " + clothesBottom()) + " off. You've heard that Felin women were forward... but you were never expecting this! As she pulls ") + oneYour(1)) + " ") + cockDesc()) + " cock") + plural(1)) + " up and pulls her thong to the side, you realize why. Her puffy red nethers are a tell-tale sign that she's in heat.\r\rFeminine juices drip from the Felin's cunt onto your ") + cockDesc()) + " erection as she slides herself on you. You wince and grunt a bit as her pussy is surprisingly tight and she wastes no time before starting to bounce herself up and down on you. Her loud moans echo throughout the area as she finally has what she desires. The heat-driven Felin pounds herself against you repeatedly, using you as a living sex toy.\r\rIt doesn't take her long to drive you, and herself, over the edge and her nethers clasp over your ") + cockDesc()) + " member tightly, coaxing out your climax. You groan loudly as you buck up into her, shooting your seed deep inside of her and pushing her to another climax. She claws your shoulder and holds onto you tightly, letting out a feral growl as her heat is finally satisfied.\r\rYou both lay there panting heavily, drenched in your own fluids and sweat, as she pulls herself off of you. Cum and juices drip on the street as she throws some coins into your lap. You watch as she staggers off in an almost drunken looking state, her groin covered in fem cum and a small amount of your seed runs down her thigh. \r\rYou can't help but smirk as you notice that her thong is still out of place."), true);
hrs = 1;
cumAmount();
doLust((-(sen) * 2));
i++;
} else {
if ((((chance <= 100)) && ((gender == 2)))){
outputMainText("Walking along the bridges, you are stopped by a gorgeous felin woman. She looks you up and down and gives a nod, saying only, 'Come with me'.\r\rShe leads you to a small cabin on the outskirts of the city. She walks at a quick pace and you have to hurry to keep up with the woman as she doesn’t respond to anything you say. When you reach the cabin, she opens the door and gestures you in first. \r\rAlthough you suspect something is going on here, you decide to go on in. The instant you cross the threshold of the cabin, you feel a quick jolt of pain on the back of your head, and you fall with a thump. \r\rWhen you wake up, you find yourself in what can best be described as a dungeon. There are chains, ropes, and every kind of toy you could possibly imagine... even some you couldn’t! \r\rYou believe you are lying down, and you try to stand up. It is then that you realize that you aren’t lying down. You are chained to an X-cross and completely naked. You squirm in the bindings, only able to rattle the chains a little before you hear a door open.", true);
if (ment < 65){
outputMainText("The instant you hear a door open, you begin trying to call for help, quickly realizing you are muzzled, but that doesn’t stop you from making muffled noises. You rattle the chains holding you fiercely, determined to let whoever has you know that you are fully awake. \r\rAs you continue your futile struggle, the woman who brought you here steps into your line of sight, a smile on her face. 'Oh good, you're awake. I was afraid I would have to begin without you.' Her smile turns evil as she walks up to you. She grabs hold of your nipples and tweaks them painfully. A muffled whine escapes through the gag, one of both pleasure and pain. She continues to play with your nipples, massaging your breasts as well for a few minutes before putting a hand between your legs and feeling how moist you are. \r\rYou squeak as she does this, squirming uncomfortably as she tortures your breasts. You give a short gasp when she feels between your legs and you shake your head softly. This is met with a laugh and then the woman leaves your sight. You hear things being moved around. When she walks back into your vision, you simply stare at her. \r\rShe is wearing a strange suit, with feathers on the outside, and she has a strap-on too. She walks right up to you, hugging herself against your bound body. You realize, with a whine, that the feathers were placed in just the right positions that anytime you or she moved, they would tickle you. \r\rShe wastes no time in lining the strap-on up and then thrusting in hard. You are powerless as she pulls out, then slams it back in, over and over in a strong rhythm. It doesn’t take long for you to cum, the only thing faster were your tears of laughter.", false);
outputMainText("\r\rYou have no idea how long she rode you or how many times you came as you lost count after the first few. You do know that she rode and tickled you until you passed out. You wake up back in town, neatly tucked behind one of the treetop stores. You are confused at first, but you gasp softly as the memories come back. Instinctively, You look down at yourself, seeing if anything unexpected had been done while you were unconscious. \r\rThe only thing that seems to have changed is that you have been redressed. There's also an additional weight in your pockets, someone has put a fair number of coins in them. Shaking your head, you make your way back to the main part of town, walking a little awkwardly to deal with the unexpected soreness you're suffering.", false);
doLust(-100);
} else {
outputMainText((((("\r\r\rThe instant you hear the door open, you stop squirming and concentrate on slowing down your breathing as someone comes down the stairs. You hear someone walking towards you, stalking almost. Before that person touches you, lightly tracing over your chest with a single sharp claw. \r\r'Mmmm, you certainly were a good catch...' she mutters as she traces her claw down your body, stopping right above your vagina" + plural(2)) + ". You hear her giggle and then feel her breath dance across your pleasure spots. You gasp, unable to keep your guise up but she doesn’t seem to care as her rough tongue begins to run over your wet slit") + plural(2)) + ". She giggles as you start to squirm and just when you are about to cum, she stops. She backs up and watches you for a moment. \r\rYou whine, trying to rub your legs together. She's left you at the brink and you are unable to do anything. You look at the felin with pleading eyes, your gaze begging her to finish. You also try to ask with your voice, but it comes out as nothing more than 'Mph mm mphhh!!' due to the muzzle secured tightly to your face. /r\rThe felin gives you a toothy grin, her eyes full of mischief as she walks out of your line of sight. You hear her going through her things for several moments, sometimes swearing lightly before she let's out a very restrained squeal of excitement. She must have found what she was looking for. When she returns, you see that she is holding two things, each covered by a small piece of cloth. \r\r'Which do you want toy? Number one, or number two?' she asks as she holds up each of the cloth covered objects. 'Nod once if you want number one, twice if you want number two,' she then adds, after you fail to speak again."), false);
doLust(20);
if (lust < 60){
outputMainText((("\r\rShe gives a grin, pulling the cover from the first item to reveal a box full of white feathers. Your eyes go wide as you realize what she intends to do. You shake your head desperately as she walks towards you with two feathers, one in each hand. Your futile struggles do nothing but make her grin more. She laughs as she begins stroking the feathers all over you body. It doesn't take her long to find where you are most ticklish and assault those areas. You have no way of telling how long the tickling has gone on, hours maybe days for all you know. By the time she is done, your body is soaked with sweat and tears have left trails down your cheeks. Her occasional teasing of your vagina" + plural(2)) + " causes thick streams of your sweet nectar to run down your thighs. \r\rShe takes a step back, smiling evilly as she looks at you before she vanishes from your sight again. You don’t see her come back, though you do hear her coming up from behind. In an instant, your face is covered with an odd smelling cloth. You're too tired to struggle and black out in seconds. \r\rYou wake up in a in a shaded part of town. At first, you are dazed and confused. The light streaming through the leaves stings for a moment before your eyes adjust. You blush heavily as the memories of your encounter return. You look down at yourself and find you are unhurt and dressed in your own clothes. You also notice that your wallet is a bit heavier. As you head back out into the light, you walk with a slight limp. Your body is a little sore from the feather treatment."), false);
doLust(((10 + lib) - (ment / 2)));
} else {
outputMainText("\r\rShe giggles softly, pulling the cloth off of the second item, revealing a lovely, thick strap-on. You gaze at the thing longingly. A whimper of desire manages to squeak past the gag. With an ecstatic grin, she pushes one end into herself before securing the harness around her waist and thighs. She rubs the tip of the thing as if it were a real cock, moaning softly before walking up to you and thrusting the the artificial penis deep into you. You explode at the first thrust, your juices flowing and oozing all over the toy. She continues to thrust long and hard into you, paying no heed to what she knows is only the first of many orgasms to come. You have no idea how long she fucked you. At some point, your mind simply could not handle the pleasure any longer, causing you to pass out. \r\rWhen you wake up, you find yourself back in town, tucked behind a small shop. You are dazed and confused at first, you feel like you've just woken from a nightmare you can't remember. You blush fiercely as the memories of your bound fucking begin flooding back. Looking down at yourself, you see that you are still quite wet, but you are dressed as well. As another surprise, you realize that your wallet is much heavier than before. With a sigh and a shake of your head, you continue with your day.", false);
doLust((-(lust) / 2));
};
};
hrs = 5;
i++;
};
};
};
};
if (currentZone == 6){
if (chance <= 100){
outputMainText("You walk around, hoping to catch someone's eye. A nondescript figure eventually approaches you, takes you out as an escort, and spends a few hours with you, resulting in nothing worth mentioning save your payment.", true);
hrs = 3;
i++;
};
};
};
outputMainText((("\r\r\rFor your efforts and skill, you have gained " + tempInt) + " coins!"), false);
doCoin(tempInt);
doEnd();
};
}
public function advancedAlchemy(more:int):void{
var more = more;
showPage(true, (50 + more));
buttonWrite(4, "<<");
buttonWrite(8, ">>");
buttonWrite(12, "Return");
if (more == 1){
viewButtonOutline(1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1);
viewButtonText(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);
buttonWrite(1, "Red Dye");
buttonWrite(2, "S Baby Free");
buttonWrite(3, "S Pot Pot");
buttonWrite(5, "S Gen Swap");
buttonWrite(6, "S Maso Pot");
buttonWrite(7, "Puss Juice");
buttonWrite(9, "Pheromone");
outputMainText("Click on an item you would like to create.", true);
outputMainText("\r\rRed Dye - Dye that will turn your hair red.\rRequires 1 Pink Ink and 3 Red Mush.", false);
if (alchemistLevel >= 7){
Choice2.visible = true;
Choice3.visible = true;
outputMainText("\r\rSuperior Baby Free Potion - This potion really has no babies in it I swear! Seriously. Please believe me! If you drink it you'll be nearly baby free as well for over a week!\rRequires 1 Neuter and 1 Puss Fruit.", false);
outputMainText("\r\rSuperior Potency Potion - Not happy with the amount of cum you're producing with your measly testicles? This will definitely kick them... into gear!\rRequires 3 S Ball Swell and 1 Cum Bottle.", false);
};
if (alchemistLevel >= 8){
Choice5.visible = true;
Choice6.visible = true;
outputMainText("\r\rSuperior Gender Swap Potion - If you've ever wondered how the other sex feels, this is a great way to do it. And the best part is your endowments will be of equal proportion! Unless you're both, in which case your proportions will swap, or androgynous, in which case who knows which gender you'll end up as.\rRequires 1 Puss Fruit, 1 Co-Sn Ven, 1 Milk C Pois, and 1 Cock Carv.", false);
outputMainText("\r\rSuperior Masochism Potion - This little drink messes up your nervous system for a while, making you perceive all damage as pleasure instead.\rRequires 1 Kinky Carr, 1 Rejuv Pot, and 1 Trinket.", false);
};
if (mistressRep > 10){
Choice7.visible = true;
outputMainText("\r\rConcentrated Pussy Fruit Juice - A recipe learned from the felin mistress in Siz'Calit, this mixture increases the potency of the Pussy Fruit and guarantees some interesting reactions. Requires 6 Puss Fruit and 1 Sweet Sap.", false);
};
if (knowPheromone == true){
Choice9.visible = true;
outputMainText("\r\rStrong Pheromone - A recipe learned from an elderly lupan fisherman at the lake outside of Tieden, this concoction supposedly attracts fish quite well and makes great bait. However, due to some missing notes, your results may be a bit more... potent than advertised. Requires 1 Charmed Egg, 1 Red Mush, and 1 Trinket.", false);
};
};
doListen = function ():void{
if (more == 1){
if (buttonChoice == 1){
makeAlchemy(520, 3, more);
};
if (buttonChoice == 2){
makeAlchemy(521, 3, more);
};
if (buttonChoice == 3){
makeAlchemy(522, 3, more);
};
if (buttonChoice == 5){
makeAlchemy(518, 3, more);
};
if (buttonChoice == 6){
makeAlchemy(519, 3, more);
};
if (buttonChoice == 7){
makeAlchemy(221, 3, more);
};
if (buttonChoice == 9){
makeAlchemy(532, 3, more);
};
};
if (buttonChoice == 4){
if (more == 2){
advancedAlchemy(1);
} else {
advancedAlchemy(more++);
};
};
if (buttonChoice == 8){
if (more == 1){
advancedAlchemy(2);
} else {
advancedAlchemy(more--);
};
};
if (buttonChoice == 12){
showPage(false, 1);
doAlchemy();
};
};
}
public function doSell():void{
var sell:int;
bc();
sell = 0;
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
outputMainText("Click on an item you would like to sell.", true);
i = 1;
while (i < 13) {
buttonWrite(i, itemName(itemID(i)));
if (stackAmount(i) > 1){
viewAmount(i, true);
amountWrite(i, (("" + stackAmount(i)) + ""));
};
i++;
};
buttonWrite(12, "Return");
buttonWrite(4, "<<");
buttonWrite(8, ">>");
showPage(true, 1);
doListen = function ():void{
if (((((((!((buttonChoice == 4))) && (!((buttonChoice == 8))))) && (!((buttonChoice == 12))))) && (!((itemID(buttonChoice) == 0))))){
hideAmount();
if (stackAmount(buttonChoice) < 2){
if (itemValue(itemID(buttonChoice)) == 0){
outputMainText("You cannot sell the selected item. Either it is not yours to sell or it is not something the vendor will accept. Please select another item.", true);
doSell();
} else {
outputMainText((((itemName(itemID(buttonChoice)) + " sells for ") + itemValue(itemID(buttonChoice))) + ".\r\rAre you sure you want to sell it?"), true);
sell = buttonChoice;
buttonConfirm();
showPage(false, 1);
doListen = function ():void{
if (buttonChoice == 6){
trace(sell);
trace(currentItems);
doCoin(itemValue(itemID(sell)));
loseItem(sell);
trace(itemName(sell));
trace(stackArray2);
trace(itemArray2);
doSell();
} else {
doSell();
};
};
};
} else {
outputMainText((((itemName(itemID(buttonChoice)) + " sells for ") + itemValue(itemID(buttonChoice))) + " each.\r\rHow many would you like to sell?"), true);
sell = buttonChoice;
viewButtonOutline(1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0);
viewButtonText(1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0);
if (stackAmount(buttonChoice) > 5){
Choice5.visible = true;
Choice5Outline.visible = true;
};
if (stackAmount(buttonChoice) > 10){
Choice7.visible = true;
Choice7Outline.visible = true;
};
buttonWrite(1, "1");
buttonWrite(3, "2");
buttonWrite(5, "5");
buttonWrite(7, "10");
buttonWrite(9, "All");
buttonWrite(11, "None");
showPage(false, 1);
doListen = function ():void{
if (buttonChoice == 1){
doCoin(itemValue(itemID(sell)));
loseManyItem(itemID(sell), 1);
doSell();
};
if (buttonChoice == 3){
doCoin((2 * itemValue(itemID(sell))));
loseManyItem(itemID(sell), 2);
doSell();
};
if (buttonChoice == 5){
doCoin((5 * itemValue(itemID(sell))));
loseManyItem(itemID(sell), 5);
doSell();
};
if (buttonChoice == 7){
doCoin((10 * itemValue(itemID(sell))));
loseManyItem(itemID(sell), 10);
doSell();
};
if (buttonChoice == 9){
doCoin((stackAmount(sell) * itemValue(itemID(sell))));
loseManyItem(itemID(sell), stackAmount(sell));
doSell();
} else {
doSell();
};
};
};
} else {
if (buttonChoice == 12){
hideAmount();
showPage(false, 1);
doShop();
} else {
if (buttonChoice == 4){
if (currentItems == 1){
currentItems = 3;
} else {
if (currentItems == 2){
currentItems = 1;
} else {
if (currentItems == 3){
currentItems = 2;
};
};
};
hideAmount();
showPage(true, 1);
doSell();
} else {
if (buttonChoice == 8){
if (currentItems == 1){
currentItems = 2;
} else {
if (currentItems == 2){
currentItems = 3;
} else {
if (currentItems == 3){
currentItems = 1;
};
};
};
hideAmount();
showPage(true, 1);
doSell();
};
};
};
};
};
}
public function clothesDescription(ID:int):String{
var tempStr:String;
tempStr = "CLOTHES NAME ERROR";
if (ID == 1){
tempStr = "A generic shirt with no special attributes.\r\rTakes top clothes slot";
};
if (ID == 2){
tempStr = "A generic pair of pants with no special attributes.\r\rTakes bottom clothes slot";
};
if (ID == 3){
tempStr = "A rather revealing bikini top/s, covering all your breasts, looking good and hugging tightly to improve enticement and sensitivity, but reduces your mentality and milk production.\r\rTakes top clothes slot";
};
if (ID == 4){
tempStr = "A rather revealing bikini bottom, covering your groin, looking good and hugging tightly to improve enticement and sensitivity, but reduces your mentality and cum production.\r\rTakes bottom clothes slot.";
};
if (ID == 5){
tempStr = "A courtly dress that's more about giving a good impression than a slutty one, improving mentality, but the caution to prevent ripping reduces strength.\r\rTakes both top and bottom clothes slots.";
};
if (ID == 6){
tempStr = "A suit made of a thin, very tight material that covers most of your body and greatly improves enticement and sensitivity, but also reduces mentality, run chance, cum and milk production.\r\rTakes both top and bottom clothes slots.";
};
if (ID == 7){
tempStr = "A modest skirt, very helpful in terms of function. Improves run chance, strength, and cum production, but reduces mentality and increases pregnancy chance with its 'ease of access'.\r\rTakes bottom clothes slot.";
};
if (ID == 8){
tempStr = "A pair of shorts, very helpful in terms of function. Improves run chance and strength, but reduces libido with its lackluster appearance.\r\rTakes bottom clothes slot.";
};
if (ID == 9){
tempStr = "A buttoned shirt that allows your breasts to produce more milk while looking good to increase mentality, but reduces sensitivity and strength.\r\rTakes top clothes slot.";
};
if (ID == 10){
tempStr = "A diaper that helps soak up some of your moistness and makes your hips look bigger, but reduces mentality.\r\rWarning: Removing the diaper after wearing it could potentially make you even wetter than before you put it on, your body depending too much on it.\r\rTakes bottom clothes slot.";
};
if (ID == 11){
tempStr = "A poofy diaper that helps soak up a lot of your moistness and makes both your hips and butt look bigger, but reduces mentality and libido.\r\rWarning: Removing the poofy diaper after wearing it could potentially make you even wetter than before you put it on, your body depending too much on it.\r\rTakes bottom clothes slot.";
};
if (ID == 12){
tempStr = "A casual dress that gives your body a lot of exposure, improving sensitivity, cum production, and libido, but reduces run chance, strength, and increases pregnancy chance.\r\rTakes both top and bottom clothes slots.";
};
if (ID == 13){
tempStr = "A skimpy dress that really hugs your curves, improvin sensitivity, enticement, and libido, but reduces strength and mentality with its slutty appearance, and increases pregnancy chance with its ease of access.\r\rTakes both top and bottom clothes slots.";
};
if (ID == 14){
tempStr = "A short skirt that's more attractive than modest, improving cum production, sensitivity, and enticement, but reduces mentality and increases pregnancy chance with its ease of access.\r\rTakes bottom clothes slot.";
};
if (ID == 15){
tempStr = "A pair of short shorts that are more skimpy than funtionality, hugging tightly to improve sensitivity, enticement, and run chance, but reduces cum production, mentality, and strength.\r\rTakes bottom clothes slot.";
};
if (ID == 16){
tempStr = "A loin cloth that is more suited for the simplicity of the wild, but also a bit uncivilized, improving cum production, run chance, strength, and sensitivity, but reduces mentality and increases pregnancy chance.\r\rTakes bottom clothes slot.";
};
if (ID == 17){
tempStr = "A one-piece bathing suit that covers both chest and groin and is great for swimming, it acts as a barrier to liquids. The suit prevents your sexual lubrication from drying away as easily, thus increasing your moistness, as well as increasing strength and sensitvity while reducing mentality and pregnancy chance.\r\rTakes both top and bottom clothes slots.";
};
if (ID == 18){
tempStr = "A simple muscle shirt that is more functional than civilized. Increases strength but reduces mentality, and makes your chest look slightly bigger.\r\rTakes top clothes slot.";
};
if (ID == 19){
tempStr = "A corset that ties tightly around your waist, greatly magnifying your bust and hips, increasing your mentality and libido, but is also quite restrictive and hard to breath in, reducing strength and your maximum HP.\r\rTakes top clothes slot.";
};
if (ID == 20){
tempStr = "A pair of silken panties, this underwear looks and feels good, amplifying your vulva size, increasing your enticement, libido, and sensitivity, but also reduces mentality, cum production, and run chance as you're afraid of tearing them.\r\rTakes bottom clothes slot.";
};
return (tempStr);
}
public function doTailor():void{
var buy:int;
bc();
buy = 0;
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1);
viewButtonText(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1);
i = 1;
while (i < 12) {
if (((!((i == 4))) && (!((i == 8))))){
buttonWrite(i, clothesName(clothesID(i)));
};
i++;
};
buttonWrite(4, "Buy");
buttonWrite(12, "Return");
outputMainText("Click on a piece of clothing to view a description for the piece. If you would like to purchase it, click the Buy button.\r\rNote: Buying clothes automatically replaces what you're already wearing. You cannot sell outfits.", true);
doListen = function ():void{
if (((((((!((buttonChoice == 4))) && (!((buttonChoice == 8))))) && (!((buttonChoice == 12))))) && (!((clothesID(buttonChoice) == 0))))){
outputMainText((((clothesDescription(clothesID(buttonChoice)) + "\r\rCost: ") + clothesValue(clothesID(buttonChoice))) + " coins."), true);
buy = buttonChoice;
};
if ((((buttonChoice == 4)) && (!((buy == 0))))){
outputMainText((("\r\rAre you sure you would like to buy " + clothesName(clothesID(buy))) + "?"), false);
if (attireTop == attireBot){
outputMainText((("\r\rBe wary, replacing your " + clothesTop()) + " with something that only takes a single clothes slot, your other clothes slot will default to the basic shirt/pants."), false);
};
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (coin < clothesValue(clothesID(buy))){
outputMainText((((((("Sorry, but you only have " + coin) + " coins. You require at least ") + (clothesValue(clothesID(buy)) - coin)) + " more coins to purchase ") + clothesName(clothesID(buy))) + "."), true);
doNext();
doListen = function ():void{
doTailor();
};
} else {
clothesChange(clothesID(buy));
doCoin(-(clothesValue(clothesID(buy))));
doTailor();
};
} else {
doTailor();
};
};
};
if (buttonChoice == 12){
doReturn();
};
};
}
public function doBoobMasturbate():void{
var getMilk:int;
if (ment >= (lib - 10)){
outputMainText((((((((((("You sneak off to the private place where you sleep in " + regionName(currentZone)) + ". Carefully, so as to not let anybody hear, you pull ") + pullUD(1)) + " your ") + clothesTop()) + " and gently knead your ") + boobDesc()) + " breasts.\r\rHunching over at the side of the bed, you massage your ") + nipDesc()) + " nipples, tugging and squeezing them each with"), true);
};
if ((((ment < (lib - 10))) && ((ment >= (lib - 25))))){
outputMainText((((((((((("You quickly head off to the private place where you sleep with your intentions clear as those around " + regionName(currentZone)) + " can easily see you rub your ") + boobDesc()) + " chest through your ") + clothesTop()) + ". Before you even reach your destination, your hands are already reaching under your ") + clothesTop()) + " to play with your ") + nipDesc()) + " nipples, giving someone a good view of your under-boob.\r\rBy the time you're hidden inside, both hands are fondling your chest, kneading and massaging your nipples with"), true);
};
if ((((ment < (lib - 25))) && ((ment >= (lib - 50))))){
outputMainText((((((((((("Your " + boobDesc()) + " breasts heave with your heavy breathing as you think about playing with them. You don't think you can reach the private place where you sleep without your hands diving underneath your ") + clothesTop()) + " and massaging them roughly.\r\rInstead, you duck into one of the more hidden corners of ") + regionName(currentZone)) + " and without even taking off your ") + clothesTop()) + ", you grope your chest through the fabric before reaching underneath, kneading and massaging your ") + nipDesc()) + " nipples with"), true);
};
if (ment < (lib - 50)){
outputMainText((((((((((("Without a second thought, right in the middle of " + regionName(currentZone)) + " you pull ") + pullUD(1)) + " your ") + clothesTop()) + ", rubbing a hand across your ") + boobDesc()) + " breasts and making them jiggle obscenely.\r\rPeople gasp and stare as you knead and massage your ") + nipDesc()) + " nipples with"), true);
};
if (nippleSize <= 25){
outputMainText(" your fingers", false);
} else {
if ((((nippleSize > 25)) && ((nippleSize <= 60)))){
outputMainText(" your hands", false);
} else {
if ((((nippleSize > 60)) && ((nippleSize <= 180)))){
outputMainText(" both hands", false);
} else {
if (nippleSize > 180){
outputMainText(" the nearby wall", false);
};
};
};
};
outputMainText(" until they begin to feel warm and tingly.", false);
if (boobTotal == 4){
outputMainText(" Your hands even double their work as they fondle your second set of breasts as well, molding and massaging them just as much as the first pair, feeling twice as much pleasure.", false);
};
if (boobTotal == 6){
outputMainText(" Your hands have their work cut out for them as they attempt to give all 6 of your breasts attention, running up and down, from chest to belly, caressing them restlessly as you heave to control yourself just a little longer.", false);
};
if (sen <= 30){
outputMainText(" Unfortunately, you can't really come as your breasts simply aren't sensitive enough. But, it does feel nice as you continue to play with your nipples.", false);
doLust(-(Math.floor((sen / 2))));
} else {
if (lust <= 30){
outputMainText("\r\rSlowly,", false);
};
if ((((lust > 30)) && ((lust <= 70)))){
outputMainText("\r\rQuickly,", false);
};
if (lust > 70){
outputMainText("\r\rAlmost instantly,", false);
};
outputMainText(" your whole body begins to quiver,", false);
if ((((((cockMoist > 0)) && ((cockMoist <= 3)))) || ((((vagMoist > 0)) && ((vagMoist <= 3)))))){
outputMainText(((" your " + clothesBottom()) + " growing a tad moist,"), false);
};
if ((((((cockMoist > 3)) && ((cockMoist <= 6)))) || ((((vagMoist > 3)) && ((vagMoist <= 6)))))){
outputMainText(((" your " + clothesBottom()) + " growing wet,"), false);
};
if ((((((cockMoist > 6)) && ((cockMoist <= 9)))) || ((((vagMoist > 6)) && ((vagMoist <= 9)))))){
outputMainText(((" your " + clothesBottom()) + " becoming soaked through,"), false);
};
if ((((((cockMoist > 9)) && ((cockMoist <= 12)))) || ((((vagMoist > 9)) && ((vagMoist <= 12)))))){
outputMainText(((((" your " + clothesBottom()) + " becoming drenched, your ") + buttDesc()) + " bum absolutely swamped,"), false);
};
outputMainText(" being wracked by a boobgasm.", false);
if (lust > 20){
doSexP(5);
};
doLust(-(sen));
};
if (lactation > 0){
hrs++;
getMilk = milkAmount(1);
outputMainText("\r\rMilk ", false);
if (getMilk <= 500){
outputMainText("spits", false);
};
if ((((getMilk > 500)) && ((getMilk <= 1000)))){
outputMainText("squirts", false);
};
if ((((getMilk > 1000)) && ((getMilk <= 2000)))){
outputMainText("spews", false);
};
if ((((getMilk > 2000)) && ((getMilk <= 8000)))){
outputMainText("gushes", false);
};
if ((((getMilk > 8000)) && ((getMilk <= 19000)))){
outputMainText("erupts", false);
};
if (getMilk > 19000){
outputMainText("explodes", false);
};
outputMainText(" from your nipples and dribbles down your front as you begin to lactate. You continue to pump it out in ", false);
if (getMilk <= 500){
outputMainText("small dribbles", false);
};
if ((((getMilk > 500)) && ((getMilk <= 1000)))){
outputMainText("spurts", false);
};
if ((((getMilk > 1000)) && ((getMilk <= 2000)))){
outputMainText("sprays", false);
};
if ((((getMilk > 2000)) && ((getMilk <= 8000)))){
outputMainText("jets", false);
};
if ((((getMilk > 8000)) && ((getMilk <= 19000)))){
outputMainText("steady streams", false);
};
if (getMilk > 19000){
outputMainText("small floods", false);
};
outputMainText(((", relieving your " + boobDesc()) + " breasts of their supply"), false);
if (dominant == 5){
outputMainText(" as you let out a contented 'mooo~'", false);
};
outputMainText(".", false);
} else {
if (ment >= (lib - 10)){
outputMainText("\r\rYou quietly heave as you attempt to clean up any mess you have made, hoping the bedsheets will dry quickly. Except for some stains, you don't think anybody will catch on to your lewd actions, and you continue on with your day.", false);
};
if ((((ment < (lib - 10))) && ((ment >= (lib - 25))))){
outputMainText("\r\rComing down from your high, you clean up your mess the best you can, though its likely some of your fluids have seeped in somewhere. At least, you're cautious of cleaning any mess up with your sheets. And as you leave the place, one of your neighbors eyes you with a surprised look. You probably left a blotch or few on your clothes somewhere...", false);
};
if ((((ment < (lib - 25))) && ((ment >= (lib - 50))))){
outputMainText((("\r\rYou realize your hiding place probably echoed your moans as you come to your senses. You also have the slight problem of milk blotching your " + clothesTop()) + "... As you attempt to casually walk away, some nearby strangers blink at you curiously, not quite sure what they just heard. Rubbing you chest through the fabric once more, you dash away hoping it will dry."), false);
};
if (ment < (lib - 50)){
outputMainText((("\r\rGasping, you blink and look around you. You've gathered quite the crowd, especially some men, and they all gaze out you in amazement, having given them quite the show. A few tug at their own groins, ducking away from the rest, while others don't look so happy at what you have done, especially the ones with children beside them. You pull back your " + clothesTop()) + ", milk splashing everywhere and slink away, trying to avoid any more stares. Although, your heart pounds within your chest at the thought of what you had just done..."), false);
};
};
if ((((getMilk > 0)) && ((getMilk < 1000)))){
outputMainText((("\r\r\rYou produced " + getMilk) + " ml of milk!"), false);
} else {
if ((((getMilk > 0)) && ((getMilk >= 1000)))){
outputMainText((("\r\r\rYou produced " + decGet((getMilk / 1000), 1)) + " liters of milk!"), false);
};
};
if (lactation > 0){
if (((nipplePlay + 8) / (lactation * 30)) > 1){
lactChange(1, 1);
outputMainText("\r\rYour breasts ache from all the milking, growing larger to meet the demand...", false);
boobChange(1);
};
nipplePlay = (nipplePlay + 8);
};
hrs++;
doEnd();
}
public function boobChange(sizeChange:int):void{
breastSize = (breastSize + sizeChange);
nippleSize = (nippleSize + sizeChange);
}
public function specialKOWin():void{
if (enemyID == 303){
outputMainText("\r\rSaddened with your rough treatment, you don't seem to want to play like she does. A bit hurt, she jumps back into the ocean, leaving nothing but a gob of pink goop behind.", false);
} else {
if ((((enemyID == 304)) || ((enemyID == 305)))){
outputMainText((((("\r\rAs the " + enemyName()) + " passes out from all the pain, you find yourself beginning to grow. The effects of the bottle seems to wear off as you return to your normal height. Donning your outfit once again, however, it feels a little loose. It seems as though you're still missing a couple inches in height... On the other hand, however, inspecting the ") + enemyName()) + "'s body, you find something wedged in a rather lewd location."), false);
} else {
if (enemyID == 102){
outputMainText("\r\rFeeling itself about to dissipate from your attacks, the dessicating dust devil feebly spins away, leaving behind some of the sand it can no longer support.", false);
} else {
outputMainText((("\r\rYou have made the " + enemyName()) + " pass out from all the pain."), false);
};
};
};
}
public function hairstyleLength(ID:int):Boolean{
var tempBool:Boolean;
tempBool = false;
if (ID == 1){
tempBool = true;
};
if (ID == 2){
tempBool = true;
};
if (ID == 3){
tempBool = true;
};
if (ID == 4){
tempBool = true;
};
if (ID == 8){
tempBool = true;
};
if (ID == 9){
tempBool = true;
};
if (ID == 10){
tempBool = true;
};
if (ID == 11){
tempBool = true;
};
if (ID == 13){
tempBool = true;
};
return (tempBool);
}
public function stackSlotWrite(slotNumber:int, slotItem:int):void{
if ((((slotNumber < 36)) && ((slotNumber > 24)))){
currentItems = 3;
slotNumber = (slotNumber - 24);
};
if ((((slotNumber < 24)) && ((slotNumber > 12)))){
currentItems = 2;
slotNumber = (slotNumber - 12);
};
if (currentItems == 1){
stackArray1[slotNumber] = (stackArray1[slotNumber] + slotItem);
};
if (currentItems == 2){
stackArray2[slotNumber] = (stackArray2[slotNumber] + slotItem);
};
if (currentItems == 3){
stackArray3[slotNumber] = (stackArray3[slotNumber] + slotItem);
};
}
public function passiveItem(ID:int):void{
if (ID == 101){
rapeMod = (rapeMod + 10);
};
if (ID == 102){
runMod = (runMod + 20);
};
if (ID == 200){
vagMoist = (vagMoist + 4);
cockMoist = (cockMoist + 4);
stats(0, 0, 0, 10);
};
if (ID == 215){
rapeMod = (rapeMod + 5);
runMod = (runMod + 5);
milkHPMod = (milkHPMod + 5);
};
if (ID == 233){
carryMod = (carryMod + 75);
};
if (ID == 234){
pregRate = (pregRate + 0.5);
minLust = (minLust + 10);
hips = (hips + 10);
doLust(0);
};
if (ID == 236){
SexPMod = (SexPMod + 0.5);
changeMod = (changeMod + 0.3);
};
}
public function domName():String{
var tempStr:String;
tempStr = ("DOMINANT ERROR " + dominant);
if (dominant == 1){
tempStr = "human";
};
if (dominant == 2){
tempStr = "horse";
};
if (dominant == 3){
tempStr = "wolf";
};
if (dominant == 4){
tempStr = "cat";
};
if (dominant == 5){
tempStr = "cow";
};
if (dominant == 6){
tempStr = "lizard";
};
if (dominant == 7){
tempStr = "bunny";
};
return (tempStr);
}
public function goodsID(goodsSlot:int):int{
var goodNum:int;
goodNum = 0;
if (currentZone == 1){
if (goodsSlot == 1){
goodNum = 104;
};
if (goodsSlot == 2){
goodNum = 111;
};
if (goodsSlot == 3){
goodNum = 116;
};
if (goodsSlot == 5){
goodNum = 500;
};
if (goodsSlot == 6){
goodNum = 501;
};
if (goodsSlot == 7){
goodNum = 108;
};
if (goodsSlot == 9){
goodNum = 110;
};
if (goodsSlot == 10){
goodNum = 115;
};
if (goodsSlot == 11){
goodNum = 121;
};
};
if (currentZone == 2){
if (goodsSlot == 1){
goodNum = 102;
};
if (goodsSlot == 2){
goodNum = 112;
};
if (goodsSlot == 3){
goodNum = 117;
};
if (goodsSlot == 5){
goodNum = 106;
};
if (goodsSlot == 9){
goodNum = 110;
};
if (goodsSlot == 10){
goodNum = 115;
};
if (goodsSlot == 11){
goodNum = 122;
};
};
if (currentZone == 3){
if (goodsSlot == 1){
goodNum = 101;
};
if (goodsSlot == 2){
goodNum = 113;
};
if (goodsSlot == 3){
goodNum = 118;
};
if (goodsSlot == 5){
goodNum = 120;
};
if (goodsSlot == 9){
goodNum = 110;
};
if (goodsSlot == 10){
goodNum = 115;
};
if (goodsSlot == 11){
goodNum = 123;
};
};
if (currentZone == 4){
if (goodsSlot == 2){
goodNum = 114;
};
if (goodsSlot == 3){
goodNum = 119;
};
if (goodsSlot == 5){
goodNum = 103;
};
if (goodsSlot == 6){
goodNum = 105;
};
if (goodsSlot == 9){
goodNum = 110;
};
if (goodsSlot == 10){
goodNum = 115;
};
if (goodsSlot == 11){
goodNum = 124;
};
};
if (currentZone == 6){
if (goodsSlot == 1){
goodNum = 109;
};
if (goodsSlot == 2){
goodNum = 126;
};
if (goodsSlot == 3){
goodNum = 127;
};
if (goodsSlot == 5){
goodNum = 103;
};
if (goodsSlot == 6){
goodNum = 230;
};
if (goodsSlot == 9){
goodNum = 110;
};
if (goodsSlot == 10){
goodNum = 115;
};
if (goodsSlot == 11){
goodNum = 125;
};
};
return (goodNum);
}
public function affinityChange():void{
var chance:int;
var domCheck:int;
var second:int;
var maxNonScale:*;
var maxNonSkin:*;
var maxNonFur:*;
var maxTail:*;
var maxNonTail:*;
var twoBoob:int;
var sixBoob:int;
var fourBoob:int;
var nonTwoBoob:int;
var nonSixBoob:int;
var nonFourBoob:int;
outputMainText("Something feels odd...", true);
trace(((((((((((human + " ") + horse) + " ") + wolf) + " ") + cat) + " ") + cow) + " ") + rabbit));
chance = percent();
domCheck = Math.max((humanAffinity + human), (horseAffinity + horse), (wolfAffinity + wolf), (catAffinity + cat), (cowAffinity + cow), (lizardAffinity + lizard), (rabbitAffinity + rabbit));
if ((((domCheck == (humanAffinity + human))) && ((human >= 0)))){
dominant = 1;
} else {
if ((((domCheck == (horseAffinity + horse))) && ((horse >= 0)))){
dominant = 2;
} else {
if ((((domCheck == (wolfAffinity + wolf))) && ((wolf >= 0)))){
dominant = 3;
} else {
if ((((domCheck == (catAffinity + cat))) && ((cat >= 0)))){
dominant = 4;
} else {
if ((((domCheck == (cowAffinity + cow))) && ((cow >= 0)))){
dominant = 5;
} else {
if ((((domCheck == (lizardAffinity + lizard))) && ((lizard >= 0)))){
dominant = 6;
} else {
if ((((domCheck == (rabbitAffinity + rabbit))) && ((rabbit >= 0)))){
dominant = 7;
};
};
};
};
};
};
};
if (((((humanAffinity + human) >= 40)) && ((humanAffinity < 40)))){
outputMainText("\r\rYour body feels quite... adaptive? There's a strange sense of being more susceptible to change", false);
changeMod = (changeMod + 0.5);
};
if (((((humanAffinity + human) < 40)) && ((humanAffinity >= 40)))){
outputMainText("\r\rYour body feels less ready to bend to your surroundings as much as it had anymore.", false);
changeMod = (changeMod - 0.5);
};
if (((((horseAffinity + horse) >= 40)) && ((horseAffinity < 40)))){
if (cockTotal > 0){
outputMainText((((((((("\r\rYour " + clothesBottom()) + " grows tight, filling with extra cockflesh. Opening the ") + clothesBottom()) + ", your cock") + plural(1)) + " spill") + plural(3)) + " out, dangling while swelling larger and larger. The growth slows to a halt, much, much longer than before. 'Hung like a horse' seems like the appropriate phrase. And you're also going to have to sneak back into town while you hide your perverse excess flesh, rushing to a tailor to refit you."), false);
};
if (vagTotal > 0){
outputMainText("\r\rDoubling over, you hug your belly as it begins to cramp. You can clearly feel your vaginal flesh grow within, the walls growing much deeper. By the time it's over, you feel somewhat like a mare, able to take cocks much larger than you could have before...", false);
};
cockSizeMod = (cockSizeMod + 1);
vagSizeMod = (vagSizeMod + 1);
vagBellyChange(0, 0);
};
if (((((horseAffinity + horse) < 40)) && ((horseAffinity >= 40)))){
if (cockTotal > 0){
outputMainText((((((("\r\rYour " + clothesBottom()) + " feel baggier. Opening the ") + clothesBottom()) + ", your cock") + plural(1)) + " shrinking towards your groin, losing a great deal of length. It seems like you have lost your equine engorgement."), false);
};
if (vagTotal > 0){
outputMainText("\r\rYour belly feels rather empty all of a sudden. Placing your hand over it, you can feel the vaginal flesh recede, no longer built like mare.", false);
};
cockSizeMod = (cockSizeMod - 1);
vagSizeMod = (vagSizeMod - 1);
vagBellyChange(0, 0);
};
if (((((wolfAffinity + wolf) >= 40)) && ((wolfAffinity < 40)))){
if (cockTotal > 0){
outputMainText((((((((((((("\r\rA sudden wave of lust washes over you, your cock" + plural(1)) + " growing stiff in your ") + clothesBottom()) + ". You quickly open open your ") + clothesBottom()) + " to see what's going on. Within, the base") + plural(1)) + " of your shaft") + plural(1)) + " swell") + plural(3)) + ". In an instant, you're suprised by spurts of cum that shower you, a small volley from a quick unexpected orgasm. Wiping your eyes so you can see, the swelling persists as you continue to come for a while. It would be very difficult to remove your cock from a hot hole with a large 'knot' like that, until finished draining your seed."), false);
};
knot = true;
cumMod = (cumMod + 0.5);
};
if (((((wolfAffinity + wolf) < 40)) && ((wolfAffinity >= 40)))){
if (cockTotal > 0){
outputMainText((((((((((((((((((("\r\rAn odd draining fills your " + clothesBottom()) + ". Looking within, you see your cock") + plural(1)) + " grow slightly stiff, your knot") + plural(1)) + " swelling. Pre lazily seeps from your urethra") + plural(1)) + " as the knot") + plural(1)) + " deflate") + plural(1)) + " immediately while your cock") + plural(1)) + " remain") + plural(3)) + " stiff. It seems as though you have lost your knot") + plural(1)) + "."), false);
};
knot = false;
cumMod = (cumMod - 0.5);
};
if (((((catAffinity + cat) >= 40)) && ((catAffinity < 40)))){
if (vagTotal > 0){
outputMainText((((("\r\rYour " + clothesBottom()) + " grows slightly moist, your cunt") + plural(2)) + " burning with arousal. The feeling quickly fades, but something tells you your reproductive instincts might occasionally take over..."), false);
};
if (heat < 1){
heatMaxTime = 96;
heatTime = 96;
heat++;
} else {
if (heat >= 1){
heatMaxTime = (heatMaxTime - 12);
heat++;
};
};
};
if (((((catAffinity + cat) < 40)) && ((catAffinity >= 40)))){
if (vagTotal > 0){
outputMainText(((" You also feel your vagina" + plural(2)) + " cool a little, no longer as eager to be impregnated on certain days."), false);
};
if (heat >= 2){
heatMaxTime = (heatMaxTime + 12);
};
heat--;
};
trace(("cow " + cowAffinity));
trace((cowAffinity + cow));
if (((((cowAffinity + cow) >= 10)) && ((cowAffinity < 10)))){
outputMainText((("\r\rYour nipples stiffen beneath your " + clothesTop()) + ". They protrude nearly half an inch further than before!"), false);
nippleSize = (nippleSize + 2);
milkMod = (milkMod + 2);
};
if (((((cowAffinity + cow) >= 25)) && ((cowAffinity < 25)))){
outputMainText((("\r\rYour nipples stiffen beneath your " + clothesTop()) + ". They protrude an inch further than before! And your hips seem slightly broader..."), false);
lactChange(1, 1);
nippleSize = (nippleSize + 5);
hips = (hips + 4);
milkMod = (milkMod + 2);
};
if (((((cowAffinity + cow) >= 40)) && ((cowAffinity < 40)))){
outputMainText((("\r\rYour nipples squirm within your " + clothesTop()) + ". They've grown over an inch and a half in length! And your hips feel like they're more 'square' than before..."), false);
lactChange(1, 1);
nippleSize = (nippleSize + 8);
hips = (hips + 6);
milkMod = (milkMod + 2);
};
if (((((cowAffinity + cow) >= 55)) && ((cowAffinity < 55)))){
outputMainText((((((("\r\rJust above your groin, your belly begins to feel bloated. You wince as it pushes against your " + clothesBottom()) + ", especially noticing the increased sensitivity of four spots in particular. Before you can act, your ") + clothesBottom()) + " tears at the waist, as a mound crashes through. Hanging naked and free, with four teats twice as long as your nipples, an udder about twice as large as your chest, dripping with milk. You'll definitely be getting a special bra or perhaps adjust your ") + clothesBottom()) + " when you get back to town, at least to account for your surprisingly wider hips... "), false);
lactChange(1, 2);
lactChange(2, lactation);
hips = (hips + 8);
udders = true;
udderSize = (2 * breastSize);
teatSize = (2 * nippleSize);
};
if (((((cowAffinity + cow) < 10)) && ((cowAffinity >= 10)))){
outputMainText("\r\rYour nipples are less noticeable, shrinking by nearly half an inch.", false);
nippleSize = (nippleSize - 2);
milkMod = (milkMod - 2);
};
if (((((cowAffinity + cow) < 25)) && ((cowAffinity >= 25)))){
outputMainText("\r\rYour nipples seem less noticeable as they shrink by an inch and your hips are less wide.", false);
lactChange(1, -1);
if (udders == true){
lactChange(2, -1);
};
nippleSize = (nippleSize - 5);
hips = (hips - 4);
milkMod = (milkMod - 2);
};
if (((((cowAffinity + cow) < 40)) && ((cowAffinity >= 40)))){
outputMainText((("\r\rYour " + clothesTop()) + " feels slightly looser, as your nipples shrink by over an inch and a half. You hips also narrow a little, protruding less than before."), false);
lactChange(1, -1);
if (udders == true){
lactChange(2, -1);
};
hips = (hips - 6);
nippleSize = (nippleSize - 8);
milkMod = (milkMod - 2);
};
if (((((cowAffinity + cow) < 55)) && ((cowAffinity >= 55)))){
outputMainText("\r\rThe fleshy bag of milk at your abdomen shrinks to nothing, disappearing along with its teats. You're no longer lugging around an udder. Plus all your waistbands seem quite loose after you hips shrink by a few inches.", false);
lactChange(1, -2);
hips = (hips - 8);
udders = false;
udderLactation = 0;
udderEngorgement = 0;
udderEngorgementLevel = 0;
udderPlay = 0;
udderSize = 0;
teatSize = 0;
};
if (((((lizardAffinity + lizard) >= 40)) && ((lizardAffinity < 40)))){
if (cockTotal == 1){
cockChange(0, 1);
};
if (vagTotal > 0){
outputMainText((("\r\rAn odd sensation of warmth fills your womb" + plural(2)) + ". You can literally feel your eggs stir within, preparing themselves to cycle much more frequently, growing hard shells to protect them, whenever you're not pregnant."), false);
};
if (eggLaying == 0){
eggLaying++;
eggMaxTime = 20;
eggTime = 20;
} else {
eggMaxTime = (eggMaxTime - 4);
};
};
if (((((lizardAffinity + lizard) < 40)) && ((lizardAffinity >= 40)))){
if (cockTotal == 2){
cockChange(0, -1);
};
if (vagTotal > 0){
outputMainText((((("\r\rYour womb" + plural(2)) + " calm") + plural(4)) + " down, no longer working as hard to pop out more eggs."), false);
};
if (eggLaying == 1){
eggLaying--;
eggMaxTime = 0;
eggTime = 0;
} else {
if (eggLaying > 1){
eggMaxTime = (eggMaxTime + 4);
};
};
};
if (((((rabbitAffinity + rabbit) >= 10)) && ((rabbitAffinity < 10)))){
stats(0, 0, 2, 0);
};
if (((((rabbitAffinity + rabbit) >= 30)) && ((rabbitAffinity < 30)))){
stats(0, 0, 5, 0);
};
if (((((rabbitAffinity + rabbit) >= 50)) && ((rabbitAffinity < 50)))){
stats(0, 0, 7, 0);
};
if (((((rabbitAffinity + rabbit) >= 40)) && ((rabbitAffinity < 40)))){
if (vagTotal > 0){
outputMainText((((("\r\rYour womb" + plural(2)) + " feel") + plural(4)) + " a bit... hyperactive. It feels as though you could breed like some sort of cute, small, fuzzy animal."), false);
};
pregRate = (pregRate + 1);
};
if (((((rabbitAffinity + rabbit) < 10)) && ((rabbitAffinity >= 10)))){
stats(0, 0, -2, 0);
};
if (((((rabbitAffinity + rabbit) < 30)) && ((rabbitAffinity >= 30)))){
stats(0, 0, -5, 0);
};
if (((((rabbitAffinity + rabbit) < 50)) && ((rabbitAffinity >= 50)))){
stats(0, 0, -7, 0);
};
if (((((rabbitAffinity + rabbit) < 40)) && ((rabbitAffinity >= 40)))){
if (vagTotal > 0){
outputMainText((((("\r\rYour womb" + plural(2)) + " feel") + plural(4)) + " calmer. Now you can take your fertility nice and easy... relatively."), false);
};
pregRate = (pregRate - 1);
};
second = 0;
if (dominant == 1){
humanAffinity = -1;
};
if (dominant == 2){
horseAffinity = -1;
};
if (dominant == 3){
wolfAffinity = -1;
};
if (dominant == 4){
catAffinity = -1;
};
if (dominant == 5){
cowAffinity = -1;
};
if (dominant == 6){
lizardAffinity = -1;
};
if (dominant == 7){
rabbitAffinity = -1;
};
second = Math.max((humanAffinity + human), (horseAffinity + horse), (wolfAffinity + wolf), (catAffinity + cat), (cowAffinity + cow), (lizardAffinity + lizard), (rabbitAffinity + rabbit));
if (dominant == 1){
humanAffinity = (domCheck - human);
};
if (dominant == 2){
horseAffinity = (domCheck - horse);
};
if (dominant == 3){
wolfAffinity = (domCheck - wolf);
};
if (dominant == 4){
catAffinity = (domCheck - cat);
};
if (dominant == 5){
cowAffinity = (domCheck - cow);
};
if (dominant == 6){
lizardAffinity = (domCheck - lizard);
};
if (dominant == 7){
rabbitAffinity = (domCheck - rabbit);
};
if ((humanAffinity + human) < 0){
humanAffinity = 0;
} else {
if ((humanAffinity + human) > 100){
humanAffinity = 100;
} else {
humanAffinity = (humanAffinity + human);
};
};
if ((horseAffinity + horse) < 0){
horseAffinity = 0;
} else {
if ((horseAffinity + horse) > 100){
horseAffinity = 100;
} else {
horseAffinity = (horseAffinity + horse);
};
};
if ((wolfAffinity + wolf) < 0){
wolfAffinity = 0;
} else {
if ((wolfAffinity + wolf) > 100){
wolfAffinity = 100;
} else {
wolfAffinity = (wolfAffinity + wolf);
};
};
if ((catAffinity + cat) < 0){
catAffinity = 0;
} else {
if ((catAffinity + cat) > 100){
catAffinity = 100;
} else {
catAffinity = (catAffinity + cat);
};
};
if ((cowAffinity + cow) < 0){
cowAffinity = 0;
} else {
if ((cowAffinity + cow) > 100){
cowAffinity = 100;
} else {
cowAffinity = (cowAffinity + cow);
};
};
if ((lizardAffinity + lizard) < 0){
lizardAffinity = 0;
} else {
if ((lizardAffinity + lizard) > 100){
lizardAffinity = 100;
} else {
lizardAffinity = (lizardAffinity + lizard);
};
};
if ((rabbitAffinity + rabbit) < 0){
rabbitAffinity = 0;
} else {
if ((rabbitAffinity + rabbit) > 100){
rabbitAffinity = 100;
} else {
rabbitAffinity = (rabbitAffinity + rabbit);
};
};
maxNonScale = Math.max(humanAffinity, horseAffinity, wolfAffinity, catAffinity, cowAffinity, rabbitAffinity);
maxNonSkin = Math.max(horseAffinity, wolfAffinity, catAffinity, cowAffinity, lizardAffinity, rabbitAffinity);
maxNonFur = Math.max(humanAffinity, lizardAffinity);
if ((((((dominant == 1)) && ((humanAffinity > (maxNonSkin + 35))))) && (!((skinType == 1))))){
outputMainText((((("\r\rYour " + skinDesc()) + " feels oddly cool. Looking at it, your ") + skinDesc()) + " shrinks into your skin, leaving you 'bald' all over. You feel a little naked as you get used to your bare skin."), false);
skinType = 1;
};
if ((((((dominant == 2)) && ((horseAffinity > (maxNonFur + 35))))) && (!((skinType == 2))))){
outputMainText((("\r\rYour " + skinDesc()) + " begins to itch all over as soft hairs begin to sprout in patches. Before you know it, your whole body is soon covered in a coat of fur."), false);
skinType = 2;
};
if ((((((dominant == 3)) && ((wolfAffinity > (maxNonFur + 35))))) && (!((skinType == 2))))){
outputMainText((("\r\rYour " + skinDesc()) + " begins to itch all over as soft hairs begin to sprout in patches. Before you know it, your whole body is soon covered in a coat of fur."), false);
skinType = 2;
};
if ((((((dominant == 4)) && ((catAffinity > (maxNonFur + 35))))) && (!((skinType == 2))))){
outputMainText((("\r\rYour " + skinDesc()) + " begins to itch all over as soft hairs begin to sprout in patches. Before you know it, your whole body is soon covered in a coat of fur."), false);
skinType = 2;
};
if ((((((dominant == 5)) && ((cowAffinity > (maxNonFur + 35))))) && (!((skinType == 2))))){
outputMainText((("\r\rYour " + skinDesc()) + " begins to itch all over as soft hairs begin to sprout in patches. Before you know it, your whole body is soon covered in a coat of fur."), false);
skinType = 2;
};
if ((((((dominant == 6)) && ((lizardAffinity > (maxNonScale + 35))))) && (!((skinType == 3))))){
outputMainText((("\r\rYour " + skinDesc()) + " begins to feel oddly dry, feeling somewhat flaky. Before you know it, your whole body feels soft and extremely smooth, covered in a thin layer of scales."), false);
skinType = 3;
};
if ((((((dominant == 7)) && ((rabbitAffinity > (maxNonFur + 35))))) && (!((skinType == 2))))){
outputMainText((("\r\rYour " + skinDesc()) + " begins to itch all over as soft hairs begin to sprout in patches. Before you know it, your whole body is soon covered in a coat of fur."), false);
skinType = 2;
};
maxTail = Math.max(horseAffinity, wolfAffinity, catAffinity, cowAffinity, lizardAffinity, rabbitAffinity);
maxNonTail = Math.max(humanAffinity);
if (tail < 1){
if ((((dominant == 2)) && ((horseAffinity > (maxNonTail + 15))))){
tail = 2;
};
if ((((dominant == 3)) && ((wolfAffinity > (maxNonTail + 15))))){
tail = 3;
};
if ((((dominant == 4)) && ((catAffinity > (maxNonTail + 15))))){
tail = 4;
};
if ((((dominant == 5)) && ((cowAffinity > (maxNonTail + 15))))){
tail = 5;
};
if ((((dominant == 6)) && ((lizardAffinity > (maxNonTail + 15))))){
tail = 6;
};
if ((((dominant == 7)) && ((rabbitAffinity > (maxNonTail + 15))))){
tail = 7;
};
if (tail > 1){
outputMainText((((((("\r\rYou feel a tickle upon your backside as your " + clothesBottom()) + " feels tight. With a groan, the pressure builds behind you, until a tearing sound fills the air and the pain is gone. Checking your backside, you see a new ") + tailDesc()) + " tail bobbing above your ") + buttDesc()) + " bum. Next time you go to town, you'll be visiting a tailor to fix your clothes to account for your new appendage..."), false);
};
};
if ((((((dominant == 1)) && ((humanAffinity > (second + 10))))) && ((tail > 1)))){
tail = 0;
outputMainText("\r\rYour tail begins to tingle. As you turn around, you watch as it shrinks into your back, disappearing altogether. You no longer have any tail.", false);
};
if ((((((((dominant == 2)) && ((horseAffinity > (second + 10))))) && ((tail > 1)))) && (!((tail == 2))))){
tail = 2;
outputMainText("\r\rYour tail begins to tingle. As you turn around, you watch as it bursts into hundreds of long hairs. Any control you had over it before is gone, save for the muscles at the base that allow you to swish it with your mood and swat against your thighs. Just like a horse's", false);
};
if ((((((((dominant == 3)) && ((wolfAffinity > (second + 10))))) && ((tail > 1)))) && (!((tail == 3))))){
tail = 3;
outputMainText("\r\rYour tail begins to tingle. As you turn around, you watch as it widens with long hairs around a skeletal base. It wags with your mood and reflexes, though you don't really have control over it otherwise, and it's oh so fluffy. Just like a wolf's", false);
};
if ((((((((dominant == 4)) && ((catAffinity > (second + 10))))) && ((tail > 1)))) && (!((tail == 4))))){
tail = 4;
outputMainText("\r\rYour tail begins to tingle. As you turn around, you watch as it narrows with short hairs around a skeletal base. It wags with your mood and reflexes and likes to curl around your touch with limited control, and it's oh so soft. Just like a cat's", false);
};
if ((((((((dominant == 5)) && ((cowAffinity > (second + 10))))) && ((tail > 1)))) && (!((tail == 5))))){
tail = 5;
outputMainText((("\r\rYour tail begins to tingle. As you turn around, you watch as it narrows with short hairs around a skeletal base and a tuft of long hair bursts at the tip. It sways lazily across your " + buttDesc()) + " backside and you can swat yourself with the tip like a soft whip. Just like a cow's"), false);
};
if ((((((((dominant == 6)) && ((lizardAffinity > (second + 10))))) && ((tail > 1)))) && (!((tail == 6))))){
tail = 6;
outputMainText("\r\rYour tail begins to tingle. As you turn around, you watch as it thickens at the base and narrows gradually to a point. It's quite agile, able to move at your whim, the tip even being slightly prehensile. Much like a lizard's", false);
};
if ((((((((dominant == 7)) && ((rabbitAffinity > (second + 10))))) && ((tail > 1)))) && (!((tail == 7))))){
tail = 7;
outputMainText((("\r\rYour tail begins to tingle. As you turn around, you watch as shrinks into your back, exploding into a tuft of soft puffy hair before it disappears. It wiggles above your " + buttDesc()) + " bum cutely and quite fluffy. Much like a rabbit's"), false);
};
if ((((((dominant == 1)) && ((humanAffinity > (second + 15))))) && (!((ears == 1))))){
ears = 1;
outputMainText("\r\rYour ears twitch as they become rounded and hug the sides of you head, looking more like a human's.", false);
};
if ((((((dominant == 2)) && ((horseAffinity > (second + 15))))) && (!((ears == 2))))){
ears = 2;
outputMainText("\r\rYour ears twitch as they become rounded and pointed at the tip, flicking atop your head, looking more like a horse's.", false);
};
if ((((((dominant == 3)) && ((wolfAffinity > (second + 15))))) && (!((ears == 3))))){
ears = 3;
outputMainText("\r\rYour ears twitch as they become triangular, standing pert atop your head, looking more like a wolf's.", false);
};
if ((((((dominant == 4)) && ((catAffinity > (second + 15))))) && (!((ears == 4))))){
ears = 4;
outputMainText("\r\rYour ears twitch as they become triangular, standing pert atop your head, looking more like a cat's.", false);
};
if ((((((dominant == 5)) && ((cowAffinity > (second + 15))))) && (!((ears == 5))))){
ears = 5;
outputMainText("\r\rYour ears twitch as they become rounded and large, standing out from the sides of you head several inches, looking more like a cow's.", false);
};
if ((((((dominant == 6)) && ((lizardAffinity > (second + 15))))) && (!((ears == 6))))){
ears = 6;
outputMainText("\r\rYour ears feel quite stange, shrinking into the sides of your head before they disappear, becoming sleek holes.", false);
};
if ((((((dominant == 7)) && ((rabbitAffinity > (second + 15))))) && (!((ears == 7))))){
ears = 7;
outputMainText("\r\rYour ears twitch as they become quite long, standing several inches high atop your head, looking more like a rabbit's.", false);
};
twoBoob = Math.max(humanAffinity, horseAffinity, cowAffinity, lizardAffinity, rabbitAffinity);
sixBoob = Math.max(catAffinity, wolfAffinity);
fourBoob = Math.max(fourBoobAffinity);
nonTwoBoob = Math.max(sixBoob, fourBoob);
nonSixBoob = Math.max(twoBoob, fourBoob);
nonFourBoob = Math.max(twoBoob, sixBoob);
if ((((sixBoob > (nonSixBoob + 20))) && (!((boobTotal == 6))))){
if (boobTotal == 2){
outputMainText((("\r\rYour chest and belly tickle. Four new nipples form amongst your " + skinDesc()) + ", a fresh pair below your original two and another pair below that, leaving you with three rows of two breasts."), false);
if (breastSize > 4){
outputMainText(((" The nipples protrude as fleshy mounds form beneath them. Breast-flesh wobbles, each row a fraction in size of the one above it. When you head back to town, you'll be covering your extra indecency with your arms the best you can while you head for the tailor to update your " + clothesTop()) + " accordingly."), false);
};
};
if (boobTotal == 4){
outputMainText((("\r\rYour chest and belly tickle. Two new nipples form amongst your " + skinDesc()) + ", right below your second pair above your belly, leaving you with three rows of two breasts."), false);
if (breastSize > 4){
outputMainText(((" The nipples protrude as fleshy mounds form beneath them, while your second pair seems to shrink in turn. Breast-flesh wobbles, each row a fraction in size of the one above it. When you head back to town, you'll be covering your extra indecency with your arms the best you can while you head for the tailor to update your " + clothesTop()) + " accordingly."), false);
};
};
boobTotal = 6;
};
if ((((twoBoob > (nonTwoBoob + 20))) && (!((boobTotal == 2))))){
if (boobTotal == 4){
outputMainText("\r\rYour chest tickles", false);
if (breastSize > 4){
outputMainText(", both growing much lighter", false);
};
outputMainText(((". Checking, you catch your second set of nipples disappear flat into your " + skinDesc()) + ", leaving you with only the highest pair on your chest."), false);
};
if (boobTotal == 6){
outputMainText("\r\rYour chest and belly tickle", false);
if (breastSize > 4){
outputMainText(", both growing much lighter", false);
};
outputMainText(((". Checking, you catch your extra sets of nipples disappear flat into your " + skinDesc()) + ", leaving you with only the primary pair on your chest."), false);
};
boobTotal = 2;
};
if ((((fourBoob > (nonFourBoob + 20))) && (!((boobTotal == 4))))){
if (boobTotal == 2){
outputMainText((("\r\rYour chest, close beneath your nipples, begins to tickle. A new pair of sensitive areolas form amongst your " + skinDesc()) + ", creating an extra row of breasts beneath the originals."), false);
if (breastSize > 4){
outputMainText(((" The new nipples protrude as fleshy mounds form form beneath them. The new boobs wobble as they grow to the same size of your original pair, lifting the originals slightly with their girth.\tWhen you head back to town, you'll be covering your extra indecency with your arms the best you can while you head for the tailor to update your " + clothesTop()) + " accordingly."), false);
};
};
if (boobTotal == 6){
outputMainText("\r\rYour belly tickles", false);
if (breastSize > 4){
outputMainText(", growing much lighter", false);
};
outputMainText(((". Checking, you catch your bottom set of nipples disappear flat into your " + skinDesc()) + ", while your middle pair swells to match the first, leaving you with two sets of equally sized breasts, the top resting upon the bottom."), false);
};
boobTotal = 4;
};
if ((((((((((dominant == 1)) && ((humanAffinity > (second + 25))))) && ((human > 0)))) && ((cockTotal > 0)))) && ((humanCocks < cockTotal)))){
outputMainText((((((((((((("\r\rYour " + hipDesc()) + " hips twitch as ") + oneYour(1)) + " cock") + plural(1)) + " begins to feel strange. You open your ") + clothesBottom()) + " to see what is happening, only to watch the sheath surrounding ") + oneYour(1)) + " cock") + plural(1)) + " disappears, leaving your cock exposed . It's smooth and fleshy, easily teased into erection. Its skin is slightly less sensitive, but the thick mushroom-like head twitches in your grip. It looks very much like a human's."), false);
humanCocks++;
cockLoss();
};
if ((((((((((dominant == 2)) && ((horseAffinity > (second + 25))))) && ((horse > 0)))) && ((cockTotal > 0)))) && ((horseCocks < cockTotal)))){
outputMainText((((((((((((((("\r\rYour " + hipDesc()) + " hips twitch as ") + oneYour(1)) + " cock") + plural(1)) + " begins to feel strange. You open your ") + clothesBottom()) + " to see what is happening, only to watch as a thick sheath envelopes ") + oneYour(1)) + " cock") + plural(1)) + ". Relaxing your muscles, the cock slowly droops out over your ") + clothesBottom()) + ". It's long and smooth, with the prepuce only reaching halfway down its length making an obvious ring. The head is flat and as you knead it in your hand, it flares wide. It looks very much like a horse's."), false);
horseCocks++;
cockLoss();
};
if ((((((((((dominant == 3)) && ((wolfAffinity > (second + 25))))) && ((wolf > 0)))) && ((cockTotal > 0)))) && ((wolfCocks < cockTotal)))){
outputMainText((((((((((((((((("\r\rYour " + hipDesc()) + " hips twitch as ") + oneYour(1)) + " cock") + plural(1)) + " begins to feel strange. You open your ") + clothesBottom()) + " to see what is happening, only to watch as a thin sheath envelopes ") + oneYour(1)) + " cock") + plural(1)) + ". Flexing your muscles, ") + oneYour(1)) + " cock") + plural(1)) + " slowly pushes out, red and hard, no matter how aroused you are. It's veiny and smooth, already a bit moist from being within the sheath. The head narrows off to a pointy tip where you can feel the urethra resides. It looks very much like a wolf's."), false);
wolfCocks++;
cockLoss();
};
if ((((((((((dominant == 4)) && ((catAffinity > (second + 25))))) && ((cat > 0)))) && ((cockTotal > 0)))) && ((catCocks < cockTotal)))){
outputMainText((((((((((((((((("\r\rYour " + hipDesc()) + " hips twitch as ") + oneYour(1)) + " cock") + plural(1)) + " begins to feel strange. You open your ") + clothesBottom()) + " to see what is happening, only to watch as a thin sheath envelopes ") + oneYour(1)) + " cock") + plural(1)) + ". Flexing your muscles, ") + oneYour(1)) + " cock") + plural(1)) + " slowly pushes out, pink and soft. It's smooth and already a bit moist from being within the sheath, covered in tiny barbs that feel rough as your hand strokes against them. The head narrows off to a pointy tip where you can feel the urethra resides. It looks very much like a cat's."), false);
catCocks++;
cockLoss();
};
if ((((((((((dominant == 6)) && ((lizardAffinity > (second + 25))))) && ((lizard > 0)))) && ((cockTotal > 0)))) && ((lizardCocks < cockTotal)))){
outputMainText((((((((((((((((("\r\rYour " + hipDesc()) + " hips twitch as ") + oneYour(1)) + " cock") + plural(1)) + " begins to feel strange. You open your ") + clothesBottom()) + " to see what is happening, only to watch as your cock") + plural(1)) + " sink") + plural(3)) + " into your body, leaving behind a small slit at the front. Flexing your muscles, the slit pushes open and ") + oneYour(1)) + " cock") + plural(1)) + " slowly pushes out, looking quite purple. It's bumpy, with ribs along its upper side and a head that looks bulbous before rapidly narrowing into a pointy tip where you can feel the urethra resides. You think it looks like a lizard's?"), false);
lizardCocks++;
cockLoss();
};
if ((((((((((dominant == 7)) && ((rabbitAffinity > (second + 25))))) && ((rabbit > 0)))) && ((cockTotal > 0)))) && ((rabbitCocks < cockTotal)))){
outputMainText((((((((((((((((("\r\rYour " + hipDesc()) + " hips twitch as ") + oneYour(1)) + " cock") + plural(1)) + " begins to feel strange. You open your ") + clothesBottom()) + " to see what is happening, only to watch as a thin sheath envelopes ") + oneYour(1)) + " cock") + plural(1)) + ". Flexing your muscles, ") + oneYour(1)) + " cock") + plural(1)) + " slowly pushes out, red and pointy. It's smooth and already a bit moist from being within the sheath, its whole length gradually narrowing to the pointy tip, reminiscent of a carrot. It looks very much like a rabbit's."), false);
rabbitCocks++;
cockLoss();
};
human = 0;
horse = 0;
wolf = 0;
cat = 0;
cow = 0;
lizard = 0;
rabbit = 0;
if (currentText == "Something feels odd..."){
outputMainText("", true);
doProcess();
} else {
doEnd();
};
}
public function teatDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("TEAT ERROR " + teatSize);
if (chance <= 100){
if (teatSize <= 2){
tempStr = "normal";
};
if ((((teatSize > 2)) && ((teatSize <= 5)))){
tempStr = "noticeable";
};
if ((((teatSize > 5)) && ((teatSize <= 9)))){
tempStr = "blatant";
};
if ((((teatSize > 9)) && ((teatSize <= 30)))){
tempStr = "normal-for-a-cow";
};
if ((((teatSize > 30)) && ((teatSize <= 50)))){
tempStr = "cock-like";
};
if ((((teatSize > 50)) && ((teatSize <= 100)))){
tempStr = "horsecock-like";
};
if ((((teatSize > 100)) && ((teatSize <= 140)))){
tempStr = "arm-length";
};
if ((((teatSize > 140)) && ((teatSize <= 300)))){
tempStr = "street-clearing";
};
if (teatSize > 300){
tempStr = "obscene";
};
};
if (chance > 50){
if (teatSize <= 2){
tempStr = "";
};
if ((((teatSize > 2)) && ((teatSize <= 5)))){
tempStr = "perky";
};
if ((((teatSize > 5)) && ((teatSize <= 9)))){
tempStr = "hypnotizing";
};
if ((((teatSize > 9)) && ((teatSize <= 30)))){
tempStr = "long";
};
if ((((teatSize > 30)) && ((teatSize <= 50)))){
tempStr = "huge";
};
if ((((teatSize > 50)) && ((teatSize <= 100)))){
tempStr = "enormous";
};
if ((((teatSize > 100)) && ((teatSize <= 140)))){
tempStr = "extreme";
};
if ((((teatSize > 140)) && ((teatSize <= 300)))){
tempStr = "ridiculous";
};
if (teatSize > 300){
tempStr = "obscene";
};
};
return (tempStr);
}
public function showPage(changes:Boolean, which:int):void{
if (changes == true){
pageNum.visible = true;
};
if (changes == false){
pageNum.visible = false;
};
if (which == 1){
pageNum.text = ("BAG " + currentItems);
} else {
if (which == 2){
pageNum.text = ("STASH " + currentStash);
} else {
if ((((which > 30)) && ((which < 40)))){
pageNum.text = ("SIMPLE " + (which - 30));
} else {
if ((((which > 40)) && ((which < 50)))){
pageNum.text = ("COMPLEX " + (which - 40));
} else {
if ((((which > 50)) && ((which < 60)))){
pageNum.text = ("ADVANCED " + (which - 50));
};
};
};
};
};
}
public function invertC(e:MouseEvent):void{
invertGo();
}
public function buttonConfirm():void{
bc();
viewButtonText(0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0);
viewButtonOutline(0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0);
buttonWrite(6, "Yes");
buttonWrite(7, "No");
}
public function gainItem(ID:int):void{
var tempNum:int;
var openSlot:int;
tempNum = 0;
openSlot = 0;
i = 36;
while (i > 0) {
if ((((((((((((((((((((itemID(i) == 0)) && (!((i == 4))))) && (!((i == 8))))) && (!((i == 12))))) && (!((i == 16))))) && (!((i == 20))))) && (!((i == 24))))) && (!((i == 28))))) && (!((i == 32))))) && (!((i == 36))))){
openSlot = i;
};
if (i == 12){
currentItems = 1;
};
if (i == 24){
currentItems = 2;
};
if (i == 36){
currentItems = 3;
};
i--;
};
i = 36;
while (i > 0) {
if ((((stackAmount(i) < itemStackMax(ID))) && ((itemID(i) == ID)))){
openSlot = i;
};
if (i == 12){
currentItems = 1;
};
if (i == 24){
currentItems = 2;
};
if (i == 36){
currentItems = 3;
};
i--;
};
if (openSlot > 0){
if (itemID(openSlot) == 0){
itemSlotWrite(openSlot, ID);
stackSlotWrite(openSlot, 1);
tempNum++;
while ((((stackAmount(openSlot) < itemStackMax(ID))) && (!((itemGainArray.indexOf(ID) == -1))))) {
itemGainArray.pop();
stackSlotWrite(openSlot, 1);
tempNum++;
};
} else {
tempNum++;
stackSlotWrite(openSlot, 1);
while ((((stackAmount(openSlot) < itemStackMax(ID))) && (!((itemGainArray.indexOf(ID) == -1))))) {
itemGainArray.pop();
stackSlotWrite(openSlot, 1);
tempNum++;
};
};
if (tempNum < 2){
outputMainText((("You have obtained a " + itemName(ID)) + "!"), true);
} else {
outputMainText((((("You have obtained " + tempNum) + "x ") + itemName(ID)) + "!"), true);
};
doEnd();
} else {
outputMainText((("You have obtained a " + itemName(ID)) + "!\r\rHowever, you do not have enough room in your bag. Click on an item in your bag to replace it with the new one or click a non-item button to ignore the new item."), true);
doDiscard(ID);
};
}
public function doOldCave():void{
var chance:int;
chance = percent();
if (chance <= 33){
outputMainText("Growing on the wall of the cave, you find a small, odd looking mushroom. It has a red cap speckled with a few large white dots. You pluck it.", true);
itemAdd(212);
hrs = 2;
doEnd();
};
if ((((chance > 33)) && ((chance <= 66)))){
if (percent() <= 50){
outputMainText("Strangely, there's a small ornate coffee table sitting before the entrance to the cave. Looking around, you don't see a single soul, there seems to be no logical reason for it to be there. Moving closer, you notice a slice of cake sitting upon it. The label reads 'EAT ME'.\r\rWill you eat it?", true);
buttonConfirm();
doListen = function ():void{
var getCum:int;
if (buttonChoice == 6){
tallness = (tallness + 2);
outputMainText("You pick up the cake and lift it to your lips. Barely a nibble and it's already gone, hardly enough for even a full swallow. It was somewhat sweet, like a cross between chocolate and the number 3, which is rather ludicrous when you think about it. Wondering why it should have been eaten at all, you attempt to check the table for any sort of shenanigans. You begin to bend down to reach it, only to find yourself bending lower and lower with the table seemingly further and further away. It seems to be shrinking beside you, but then again so is everything else at an increasingly rapid rate...\r\rVery quickly, you realize that you're the one who's growing.", true);
if (ment < 30){
outputMainText(((((((((((((((((" Your " + currentClothes()) + " rapidly grows tighter and tighter, squeezing your body until you can hardly breathe. Tearing can be heard along the stitching, flesh from your ") + boobDesc()) + " chest squeezing through the newly torn holes and a painful wedgie of ripped cloth slips into your ") + buttDesc()) + " rump, your cheeks slapped by a light breeze. Your ") + hipDesc()) + " hips soon relieve your ass of the torment as they stretch the waist of your ") + clothesBottom()) + " to the point to where it barely hangs around your body by thin strands, the rest of the garment flapping in the wind and no longer concealing your genitals. Your ") + boobDesc()) + " chest follows suit, growing so tight until you can hardly breath until your ") + clothesTop()) + " bursts into shreds around you, your ") + nipDesc()) + " nipples perking freely in the cooler air through what's left of your outfit."), false);
changeTop(-1);
changeBot(-1);
} else {
outputMainText(((((((((((((" Your " + currentClothes()) + " rapidly grows tighter and tighter, squeezing your body until you can hardly breath. With your quick wit, however, you think fast enough to remove your outfit to prevent yourself from being crushed. You're just in time to slip ") + pullUD(1)) + " your ") + clothesTop()) + " before your ") + boobDesc()) + " chest plows through it and step out of your ") + clothesBottom()) + " before your ") + buttDesc()) + " tush shone through the backside. Growing to fast to lay them neatly on the ground, however, you simply let them fall idly, leaving you with a naked bosom and your genitals being frisked by a slight breeze."), false);
};
if (tallness <= 18){
outputMainText(" By the time you finish growing, you're... just about the size of a particularly tall, but not terribly giant, person. You take a few minutes enjoying the feeling of being big, able to actually see over the grass and spot a few trees in the distance, but it doesn't take long before you find yourself dwindling back to your normal diminutive stature, though with an added couple of inches.", false);
if (ment >= 30){
outputMainText(" You grab your clothes, finding them to be a little small for you, but they're otherwise fine.", false);
};
outputMainText(" Then you head back to Firmshaft, slightly confused by the whole experience...", false);
hrs = 2;
doEnd();
} else {
outputMainText(" By the time you finish growing, you tower over the hill that the cave resides in. You can see far into the distance and you can feel a great draft in your loins.", false);
if ((((gender == 1)) || ((((gender == 3)) && ((percent() <= 50)))))){
getCum = cumAmount();
if ((cockSize * cockSizeMod) > 400){
outputMainText(((((((((((((((((((((((" The wind across your " + cockDesc()) + " cock") + plural(1)) + " feel") + plural(3)) + " rather... nice, to say the least. And considering ") + plural(5)) + " rather large increase in size, that feeling escalates exponentially. A strange heat mixes with the extra-sensual experience, clouding your mind with the need for release. Quite soon you find yourself barely able to see the ") + plural(5)) + " tip") + plural(1)) + " as ") + plural(11)) + " grow") + plural(3)) + " off into the distance. Quickly, you find yourself falling over your relatively ") + cockDesc()) + " girth") + plural(1)) + ", the ground rumbling around you as you connect, while you feel ") + plural(9)) + " drag across the open fields, plowing through forests, and who knows what else you manage to destroy."), false);
doNext();
doListen = function ():void{
outputMainText((((((((("The exhilirating sensation of your massive size compared to everything around you excites you even further. Your " + feetDesc()) + " dig into the ground, carving out holes, and thrust your erection") + plural(1)) + " forward. You can hear the sounds of wood cracking beneath your massive stiffness in the distance and the air fills with birds flying away to avoid your cock-head") + plural(1)) + ". All the little bushes and trees provide a rather unique sensation, their leaves wrapping about your underside") + plural(1)) + " en masse. Your voice echoes into the horizon as you let out a loud howl, rapidly coming to climax."), true);
if (getCum > 10000){
outputMainText(" More crashing can be heard, along with a roar, as spunk erupts from the other end, flooding the far-off land and rushing into its own river!", false);
} else {
outputMainText(" You cum gushes from the other end, raining down around the far-off terrain like some sort of lewd weather.", false);
};
outputMainText((((("\r\rYour heavy breathing blows about grass about beneath you as you come to your senses. You can feel your cock" + plural(1)) + " begin to drag across the grass once more, though not by your own power. Looking up, you can see ") + plural(11)) + " shrinking back towards you. However, it is the devastation that lies beyond that truly catches your eye. Despite all the damage you did, you can see nature shifting around, like the planet itself were healing, sucking in your cum and returning the land to a more healthy state. Though, before you can get a good look, you find yourself finally shrink back to your normal size, plus a couple inches. Too far to travel into the wilderness, it seems you'll have to leave the mystery for later."), false);
outputMainText("\r\rRather eager to get away, you run off to Firmshaft, getting a slight bit of vertigo along the way from the extra inches you'll have to get used to.", false);
if (ment >= 30){
outputMainText(" Especially as you re-don your now too-small clothes, feeling the outfit hug your body tightly and definitely needing some readjusting when you get back to town...", false);
};
doLust((-(sen) * 2));
hrs = 3;
doEnd();
};
} else {
outputMainText(((((((((((" The wind across your " + cockDesc()) + " cock") + plural(1)) + " feel") + plural(3)) + " rather... nice, to say the least. And considering ") + plural(5)) + " rather large increase in size, that feeling escalates exponentially. A strange heat mixes with the extra-sensual experience, clouding your mind with the need for release. You soon find yourself rather stiff, and as you look down at ") + plural(11)) + ", your eyes spot the cave below. From this new perspective, you begin to think the hole in the ground is a bit... lewd?"), false);
doNext();
doListen = function ():void{
outputMainText((((("The thought doesn't make it a second time through your mind before you find yourself crashing to your knees, the ground rumbling as you touch down. You collapse over the hill, thrusting " + oneYour(1)) + " cock") + plural(1)) + " into the natural glory hole. And much to your surprise, the internal walls of the cave seem to be coated with a slick substance, lubricating you through its dark interior. With your giant size, the rocks feel like mere bumps, more pleasurable than you could have imagined, and the ground soon shakes again and again as you hump into the hill.\r\rRather quickly, you let out a loud shout that echoes across the fields."), true);
if (getCum > 10000){
outputMainText(" You can feel your spunk churn and gush around you. Though some of it spits back out across your thighs, painting the mouth of the cave, most of it amazingly guzzles deeper into the ground. So much so that you could swear you hear a small 'EEK!' cry out from within, though your brain is too foggy to be sure.", false);
} else {
outputMainText(" You can hear your spunk splatter about within and seems to run away from your cock-tip, somewhere deeper into the ground. With you brain fuzzy from orgasm, you're not sure if the tiny 'Eehehe!' you hear is real or just your ears ringing from the slight breeze.", false);
};
outputMainText(" Either way, you find yourself slipping back down the hill, shrinking and falling back before the cave, almost returning to your original height. It's still far too dark to explore inside the cave to see where it all went, you can definitely smell the erotic odor that blows back out, some of your spunk still dripping in thick strands and webs from the mouth.", false);
outputMainText("\r\rRather eager to get away, you run off to Firmshaft, getting a slight bit of vertigo along the way from the extra inches you'll have to get used to.", false);
if (ment >= 30){
outputMainText(" Especially as you re-don your now too-small clothes, feeling the outfit hug your body tightly and definitely needing some readjusting when you get back to town...", false);
};
doLust((-(sen) * 2));
hrs = 3;
doEnd();
};
};
} else {
if ((((gender == 2)) || ((gender == 3)))){
outputMainText(((((((((" The wind through your " + vulvaDesc()) + " slit") + plural(2)) + " feel") + plural(4)) + " a bit... nice, to say the least. And considering ") + plural(6)) + " rather large increase in size, that feeling escalates exponentially. A strange heat mixes with the extra-sensual experience, clouding your mind with the need for release. Looking down at your swelling attributes your eyes focus on the cave below. From this new perspective, the hill looks rather like a rather... lewdly shaped saddle."), false);
doNext();
doListen = function ():void{
outputMainText((((((((((("The thought doesn't make it a second time through your mind before you find yourself turning around and crashing your " + buttDesc()) + " rump down onto the hill with a rumble. Your legs straddle it on either side, your ") + clitDesc()) + " clit") + plural(2)) + " grinding against a protruding grassy mound that slides perfectly into your relatively ") + vulvaDesc()) + " lips. You can hear rocks crash to the floor of the cave within as your ") + hipDesc()) + " hips rock back and forth, making the ground quake beneath you. Your sensual fluids flood about the grass, making it perfectly slick for your needs.\r\rRather quickly, with all the extra sensitive area of your genitals humping an entire hill, you find yourself letting out a shout that echoes across the fields, your body trembling with orgasm."), true);
if (cockTotal > 1){
outputMainText(((((((" Your proportionately " + cockDesc()) + " cock") + plural(1)) + " bounce") + plural(3)) + " up and down as spunk gushes from the tip, flinging about the landscape and forming large puddles."), false);
cumAmount();
};
outputMainText(" Yet, you don't have much time to enjoy your quivering state before you find yourself beginning to shrink, sliding down one side of the hill as you're caught off balance. You become slick with your own lubrication as you roll through the messy grass and splash down in your own puddle. Picking yourself up, the slime sticking to your body in webs and strands, you take a moment to flick off some of the goop before heading back to the cave.", false);
if (((((pregCheck(1)) && ((percent() <= 60)))) && (((vagSize * vagSizeMod) > 56)))){
outputMainText(" And you're quite surprised to find you're sporting a much larger belly. You have no idea how it could have possibly happened, but your mind was rather far-off while you were up there. Placing your hand on it, you can feel a body writhe about, squirming inside of you, and in no rush to come out it seems. It seems like you got pregnant quite rapidly?", false);
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == false){
pregArray[i] = true;
if (percent() <= 50){
pregArray[(i + 1)] = 201;
} else {
pregArray[(i + 1)] = 202;
};
pregArray[(i + 2)] = 230;
pregArray[(i + 3)] = 220;
i = pregArray.length;
};
i = (i + 5);
};
};
outputMainText("\r\rRather eager to get away, you run off to Firmshaft, getting a slight bit of vertigo along the way from the extra inches you'll have to get used to.", false);
if (ment >= 30){
outputMainText(" Especially as you re-don your now too-small clothes, feeling the outfit hug your body tightly and definitely needing some readjusting when you get back to town...", false);
};
doLust((-(sen) * 2));
hrs = 3;
doEnd();
};
} else {
outputMainText(" Though, with nothing in your loins to speak of, it simply makes you giggle a little as it tickles you. You stand there for a moment, in awe of the world around you, your mind running through all the possibilities of things you could do with such a massive size!", false);
doNext();
doListen = function ():void{
outputMainText("However, you feel a sudden warmth flush through you and with a slight sparking sound and you find yourself shrinking instead. Soon you're nearly as tall as you were before and slightly more aroused as well. What the heck just happened?...", true);
doLust(15);
outputMainText("\r\rRather eager to get away, you run off to Firmshaft, getting a slight bit of vertigo along the way from the extra inches you'll have to get used to.", false);
if (ment >= 30){
outputMainText(" Especially as you re-don your now too-small clothes, feeling the outfit hug your body tightly and definitely needing some readjusting when you get back to town...", false);
};
hrs = 3;
doEnd();
};
};
};
};
} else {
outputMainText("Wary of free cake that desires to be eaten, you ignore it and quickly make your way back to Firmshaft.", true);
hrs = 1;
doEnd();
};
};
} else {
outputMainText("Strangely, there's a small ornate coffee table sitting before the entrance to the cave. Looking around, you don't see a single soul, there seems to be no logical reason for it to be there. Moving closer, you notice a lone bottle sitting upon it. The label reads 'DRINK ME'.\r\rWill you drink it?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("You pick up the bottle and lift it to your lips. Only a few sips and it's already empty, barely enough for even a full gulp. It hardly had any taste to it, the closest flavor you can relate it to is 'purple', which hardly makes any sense at all when you think about it. Wondering why it should have been drunk at all, you place the empty bottle back on the table. Which proves to be more difficult than you would have imagined as the table seems start growing beside you. As well as everything else around you at an increasingly rapid rate...\r\rVery quickly, you realize that you're the one who's shrinking.", true);
if (attireTop == attireBot){
outputMainText(((((((" Your " + clothesTop()) + " plummets down your ") + boobDesc()) + " chest. You catch it with your hands, but soon the material bundles over your arms that you can no longer maintain your hold. When you let go, the ") + clothesTop()) + " simply sits there, piled around you."), false);
} else {
outputMainText(((((((((((((((" Your " + clothesTop()) + " begins to plummet down your ") + boobDesc()) + " chest, while your ") + clothesBottom()) + " slips from your ") + hipDesc()) + " hips. One hand flails to catch your ") + clothesTop()) + " while the other heads for the ") + clothesBottom()) + ", but neither is successful. For a moment your ") + boobDesc()) + " chest and your nether region are both exposed to the fresh air as your outfit falls around you, but you quickly find yourself falling back into the fabric, a pile around you."), false);
};
outputMainText((("\r\rYou climb out from your overgrown clothes, completely nude. Though you doubt anybody could see you if they passed by, considering you're now a fraction of the height you were before, maybe a whole " + Math.floor((tallness / 12))) + " inches tall."), false);
tallness = (tallness - 2);
doNext();
doListen = function ():void{
chance = percent();
if (chance <= 40){
outputMainText("Unsure what to do in your miniscule state, you don't venture far from your forgone attire. However, it doesn't seem like you need to go anywhere to run into trouble, as you hear something thump its way towards you.\r\rLong ears bob upon a humanoid head and white fur covers much of its body. Long feet bounce upon the ground as it hops towards you. With a poofy tail and a button nose that twitches, it seems to be a rabbit-like person that is as naked as you are. The fuzzy swinging testicles makes it quite obvious what gender he is...\r\rHe spots you quickly, as though he had known you were there. With a grin, his nose and long whiskers twitch, and a rather mishievous twinkle lights in his eyes. Probably two feet high ", true);
if (tallness <= 216){
outputMainText(" he towers over you, pleased with the result.", false);
};
if (tallness > 216){
outputMainText(" you seem to still be on par with him, though he seems pleased you're much more manageable than before.", false);
};
doNext();
doListen = function ():void{
enemyID = 304;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
if ((((chance > 40)) && ((chance <= 80)))){
outputMainText("Unsure what to do in your miniscule state, you don't venture far from your forgone attire. However, it doesn't seem like you need to go anywhere to run into trouble, as you hear something thump its way towards you.\r\rLong ears bob upon a humanoid head and white fur covers much of its body. Long feet bounce upon the ground as it hops towards you. With a poofy tail and a button nose that twitches, it seems to be a rabbit-like person that is as naked as you are. The wobbling tits and thick labia makes it quite obvious what gender she is...\r\rShe spots you quickly, as though she had known you were there. With a grin, her nose and long whiskers twitch, and a rather mishievous twinkle lights in her eyes. Probably two feet high ", true);
if (tallness <= 216){
outputMainText(" she towers over you, pleased with the result.", false);
};
if (tallness > 216){
outputMainText(" you seem to still be on par with her, though she seems pleased you're much more manageable than before.", false);
};
doNext();
doListen = function ():void{
enemyID = 305;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
if (chance > 80){
outputMainText("With the extra-tall grass barring your path behind you, you decide to look around a bit. So small, you're not terribly worried about people spotting your indecency. However, you are careful of the ants and other 'large' creatures that skitter by.\r\rFortunately, none pay you any heed and you manage to make your way to the mouth of the cave. It's still as dark and dank as before, so you don't think to venture inside. Yet, from your shortened vantage point, you notice a small door in the wall at the mouth of the cave. You head towards it, curious as to its existence. How could you have not noticed it when it was bigger?\r\rThe thought doesn't seem to matter, though. When you attempt to open the door, it turns out to be locked. And judging by the keyhole beneath the knob, it would require a rather small key, which you don't have. Nor does this world, yet.\r\rWith a shrug, you turn back towards your pile of clothes. Along the way, your surroundings seem to grow smaller and smaller as you grow taller and taller. By the time you reach the pile, you seem to be back to your normal size, the bottle's effects having worn off.\r\rRedonning your clothing before heading back to Firmshaft, you notice they seem a bit baggier than before... It seems you're still missing a couple inches in height.", true);
hrs = 2;
doEnd();
};
};
} else {
outputMainText("Wary of strange liquids that desire to be drunk, you ignore it and quickly make your way back to Firmshaft.", true);
hrs = 1;
doEnd();
};
};
};
};
if ((((chance > 66)) && ((chance <= 100)))){
outputMainText("Too dark to go inside, you merely wander around the entrance of the cave. However, an odd scent fills your nostrils and makes you feel a bit randy...", true);
stats(0, -1, 3, 0);
doLust(5);
hrs = 1;
doEnd();
};
}
public function bodyDesc():String{
var tempStr:String;
tempStr = ((("BODY ERROR " + gender) + " ") + body);
if (gender == 1){
if ((((body > 11)) && ((body <= 17)))){
if ((((hips > 3)) && ((breastSize > 4)))){
tempStr = "shemale";
} else {
if (hips > 2){
tempStr = "femme-boyish";
} else {
tempStr = "boyish";
};
};
} else {
if ((((body > 17)) && ((body <= 25)))){
tempStr = "manly";
} else {
if (body <= 11){
tempStr = "childish";
} else {
if (body > 25){
tempStr = "musclebound";
};
};
};
};
} else {
if (gender == 2){
if ((((body > 9)) && ((body <= 14)))){
tempStr = "girly";
};
if ((((body > 14)) && ((body <= 20)))){
if ((((((hips > 4)) || ((butt > 4)))) || ((breastSize > 4)))){
tempStr = "voluptuous";
} else {
tempStr = "womanly";
};
};
if (body <= 10){
tempStr = "childish";
} else {
if (body > 20){
tempStr = "musclebound";
};
};
} else {
if (gender == 3){
if ((((body > 11)) && ((body <= 23)))){
if ((((hips > 2)) && ((breastSize > 2)))){
tempStr = "feminine";
} else {
tempStr = "masculine";
};
} else {
if (body <= 11){
tempStr = "childish";
} else {
if (body > 23){
tempStr = "musclebound";
};
};
};
} else {
if (gender == 0){
if ((((body > 11)) && ((body <= 15)))){
tempStr = "teenage";
} else {
if ((((body > 15)) && ((body <= 23)))){
tempStr = "fully grown";
} else {
if (body <= 11){
tempStr = "childish";
} else {
if (body > 23){
tempStr = "musclebound";
};
};
};
};
};
};
};
};
return (tempStr);
}
public function buttDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("BUTT ERROR " + butt);
if (chance <= 100){
if (butt <= 2){
tempStr = "flat";
};
if ((((butt > 2)) && ((butt <= 5)))){
tempStr = "tight";
};
if ((((butt > 5)) && ((butt <= 15)))){
tempStr = "ample";
};
if ((((butt > 15)) && ((butt <= 30)))){
tempStr = "large";
};
if ((((butt > 30)) && ((butt <= 50)))){
tempStr = "huge";
};
if ((((butt > 50)) && ((butt <= 80)))){
tempStr = "grand";
};
if ((((butt > 80)) && ((butt <= 130)))){
tempStr = "jumbo";
};
if ((((butt > 130)) && ((butt <= 175)))){
tempStr = "giant";
};
if (butt > 175){
tempStr = "ginormous";
};
};
if (chance > 50){
if (butt <= 2){
tempStr = "boney";
};
if ((((butt > 2)) && ((butt <= 5)))){
tempStr = "firm";
};
if ((((butt > 5)) && ((butt <= 15)))){
tempStr = "grope-able";
};
if ((((butt > 15)) && ((butt <= 30)))){
tempStr = "jiggly";
};
if ((((butt > 30)) && ((butt <= 50)))){
tempStr = "pillow-like";
};
if ((((butt > 50)) && ((butt <= 80)))){
tempStr = "wobbling";
};
if ((((butt > 80)) && ((butt <= 130)))){
tempStr = "swaying";
};
if ((((butt > 130)) && ((butt <= 175)))){
tempStr = "bouncing";
};
if (butt > 175){
tempStr = "constantly quivering";
};
};
return (tempStr);
}
public function invertGo():void{
if (bgC.visible == false){
bgC.visible = true;
statPane.textColor = 0xFFFFFF;
statValuePane.textColor = 0xFFFFFF;
levelPane.textColor = 0xFFFFFF;
levelValuePane.textColor = 0xFFFFFF;
DayPane.textColor = 0xFFFFFF;
DayValuePane.textColor = 0xFFFFFF;
clockPane.textColor = 0xFFFFFF;
outputWindow.textColor = 0xFFFFFF;
region.textColor = 0xFFFFFF;
currentRegion.textColor = 0xFFFFFF;
} else {
bgC.visible = false;
statPane.textColor = 0;
statValuePane.textColor = 0;
levelPane.textColor = 0;
levelValuePane.textColor = 0;
DayPane.textColor = 0;
DayValuePane.textColor = 0;
clockPane.textColor = 0;
outputWindow.textColor = 0;
currentRegion.textColor = 0;
region.textColor = 0;
};
}
public function clothesID(choice:int):int{
var tempNum:int;
tempNum = 0;
if (currentZone == 1){
if (choice == 1){
tempNum = 1;
};
if (choice == 2){
tempNum = 2;
};
if (choice == 3){
tempNum = 5;
};
if (choice == 5){
tempNum = 6;
};
if (choice == 6){
tempNum = 7;
};
if (choice == 7){
tempNum = 8;
};
if (choice == 9){
tempNum = 9;
};
if (choice == 10){
tempNum = 11;
};
if (choice == 11){
tempNum = 12;
};
};
if (currentZone == 2){
if (choice == 1){
tempNum = 1;
};
if (choice == 2){
tempNum = 2;
};
if (choice == 3){
tempNum = 3;
};
if (choice == 5){
tempNum = 4;
};
if (choice == 6){
tempNum = 6;
};
if (choice == 7){
tempNum = 7;
};
if (choice == 9){
tempNum = 8;
};
if (choice == 10){
tempNum = 14;
};
if (choice == 11){
tempNum = 15;
};
};
if (currentZone == 3){
if (choice == 1){
tempNum = 1;
};
if (choice == 2){
tempNum = 2;
};
if (choice == 3){
tempNum = 5;
};
if (choice == 5){
tempNum = 7;
};
if (choice == 6){
tempNum = 8;
};
if (choice == 7){
tempNum = 9;
};
if (choice == 9){
tempNum = 12;
};
if (choice == 10){
tempNum = 13;
};
if (choice == 11){
tempNum = 15;
};
};
if (currentZone == 4){
if (choice == 1){
tempNum = 1;
};
if (choice == 2){
tempNum = 2;
};
if (choice == 3){
tempNum = 3;
};
if (choice == 5){
tempNum = 4;
};
if (choice == 6){
tempNum = 11;
};
if (choice == 7){
tempNum = 12;
};
if (choice == 9){
tempNum = 13;
};
if (choice == 10){
tempNum = 14;
};
if (choice == 11){
tempNum = 15;
};
};
if (currentZone == 6){
if (choice == 1){
tempNum = 1;
};
if (choice == 2){
tempNum = 2;
};
if (choice == 3){
tempNum = 3;
};
if (choice == 5){
tempNum = 4;
};
if (choice == 6){
tempNum = 16;
};
if (choice == 7){
tempNum = 17;
};
if (choice == 9){
tempNum = 18;
};
if (choice == 10){
tempNum = 19;
};
if (choice == 11){
tempNum = 20;
};
};
return (tempNum);
}
public function itemID(slotNumber:int):int{
var tempNum:Number;
tempNum = 0;
if (currentItems == 1){
tempNum = itemArray1[slotNumber];
};
if (currentItems == 2){
if (slotNumber > 12){
slotNumber = (slotNumber - 12);
};
tempNum = itemArray2[slotNumber];
};
if (currentItems == 3){
if (slotNumber > 24){
slotNumber = (slotNumber - 24);
};
tempNum = itemArray3[slotNumber];
};
return (tempNum);
}
public function doSavanna():void{
var chance:int;
chance = percent();
if (chance <= 25){
outputMainText("While heading through the warm savanna, you think you feel it get suddenly warmer... A mrowl echoes around you as you see a slender felin female sway her hips towards you. Her fur looks like a mess, her bikini tops disheveled, 2 of her 6 nipples exposed and looking quite stiff and sore, and her loin cloth is completely drenched in something slick and sticky. Her hand reaches behind the cloth as she spots you and shivers.\r\r'Please... So hot... Must fuck...'\r\rUtterly driven and distraught by her lonely, fruitless heat, the desperately horny felin lunges at you, not sure whether she's about to fuck you or tear you to shreds!", true);
doNext();
doListen = function ():void{
enemyID = 301;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
if ((((chance > 25)) && ((chance <= 50)))){
outputMainText("While trudging along the savanna, you hear the stamping of hooves. Drunken song erupts in the air as a large equan man stumbles your way. His pants unbuttoned, his hand hidden within, you can see him groping his large erection. In his other hand he holds a large mug, still filled with alcohol. He smiles as he sees you, and then charges right at you!", true);
doNext();
doListen = function ():void{
enemyID = 302;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
if ((((chance > 50)) && ((chance <= 75)))){
outputMainText("You roam about the savanna, not really finding anything interesting. However, the warm weather kinda makes you wanna take off your clothes...", true);
doLust(Math.floor(((lib * 2) - ment)));
hrs = 1;
doEnd();
};
if (chance > 75){
outputMainText("After a few hours of being lost under the sweltering sun, you come across the faint signs of a path. Would you like to follow it?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (currentZone == 2){
outputMainText("Following the path, the vegetation becomes denser and denser until trees surround you. You begin to see various wooden structures built amongst the canopy. Rope-bridges and circular huts everywhere, with lithe cat-like people walking about or jumping from branch to branch. The path leads you right to one of the few spiraling ramps that encircles the trees, bringing you up to the tree-born city.\r\rYou have now entered the Felin home-city of Siz'Calit! Although, looking behind you, there seems to be no sign of the path you just took. Getting back might be a bit difficult...", true);
regionChange(4);
if (foundSizCalit == false){
foundSizCalit = true;
};
hrs = 4;
doEnd();
} else {
if (currentZone == 4){
outputMainText("Following the path, signs of civilization come into view. Large tents flutter in the breeze, made from canvas held up by rocks and logs, with a few smaller brick buildings here and there. You can hear the soft clapping of hard feet everywhere, as you spot several large horse-like people walk and dash about.\r\rYou have now entered the Equan home-city of Firmshaft! Although, looking behind you, there seems to be no sign of the path you just took. Getting back might be a bit difficult...", true);
regionChange(2);
if (foundFirmshaft == false){
foundFirmshaft = true;
};
hrs = 4;
doEnd();
};
};
} else {
outputMainText("You return from whence you came.", true);
hrs = 1;
doEnd();
};
};
};
}
public function bellyDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("BELLY ERROR " + (pregnancyTime + vagBellyMod));
if (chance <= 100){
if ((pregnancyTime + vagBellyMod) <= 18){
tempStr = "flat";
};
if (((((pregnancyTime + vagBellyMod) > 18)) && (((pregnancyTime + vagBellyMod) <= 36)))){
tempStr = "hardly noticeable";
};
if (((((pregnancyTime + vagBellyMod) > 36)) && (((pregnancyTime + vagBellyMod) <= 72)))){
tempStr = "rather bloated";
};
if (((((pregnancyTime + vagBellyMod) > 72)) && (((pregnancyTime + vagBellyMod) <= 108)))){
tempStr = "obviously bulging";
};
if (((((pregnancyTime + vagBellyMod) > 108)) && (((pregnancyTime + vagBellyMod) <= 144)))){
tempStr = "cradleable";
};
if (((((pregnancyTime + vagBellyMod) > 144)) && (((pregnancyTime + vagBellyMod) <= 180)))){
tempStr = "greatly protruding";
};
if (((((pregnancyTime + vagBellyMod) > 180)) && (((pregnancyTime + vagBellyMod) <= 216)))){
tempStr = "beachball-sized";
};
if (((((pregnancyTime + vagBellyMod) > 216)) && (((pregnancyTime + vagBellyMod) <= 252)))){
tempStr = "excessively large";
};
if (((((pregnancyTime + vagBellyMod) > 252)) && (((pregnancyTime + vagBellyMod) <= 288)))){
tempStr = "eye-catching";
};
if (((((pregnancyTime + vagBellyMod) > 288)) && (((pregnancyTime + vagBellyMod) <= 324)))){
tempStr = "doorway-crowding";
};
if (((((pregnancyTime + vagBellyMod) > 324)) && (((pregnancyTime + vagBellyMod) <= 360)))){
tempStr = "hallway-filling";
};
if (((((pregnancyTime + vagBellyMod) > 360)) && (((pregnancyTime + vagBellyMod) <= 396)))){
tempStr = "street-clearing";
};
if (((((pregnancyTime + vagBellyMod) > 396)) && (((pregnancyTime + vagBellyMod) <= 432)))){
tempStr = "larger-than-an-average-person";
};
if (((((pregnancyTime + vagBellyMod) > 432)) && (((pregnancyTime + vagBellyMod) <= 540)))){
tempStr = "impossibly huge";
};
if ((pregnancyTime + vagBellyMod) > 540){
tempStr = "breeding-factory";
};
};
if (chance > 50){
};
return (tempStr);
}
public function doExplore():void{
bc();
if (currentZone == 1){
viewButtonOutline(1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0);
viewButtonText(1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0);
buttonWrite(6, "Softlik");
buttonWrite(1, "Forest");
buttonWrite(7, "Dairy Farm");
buttonWrite(10, "Plains");
doListen = function ():void{
if (buttonChoice == 6){
doSoftlik();
};
if (buttonChoice == 1){
doForest();
};
if (buttonChoice == 7){
doDairyFarm();
};
if (buttonChoice == 10){
doPlains();
};
};
};
if (currentZone == 2){
viewButtonOutline(0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0);
viewButtonText(0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0);
buttonWrite(6, "Firmshaft");
buttonWrite(3, "Plains");
buttonWrite(5, "Savanna");
buttonWrite(9, "Desert");
buttonWrite(11, "Old Cave");
doListen = function ():void{
if (buttonChoice == 6){
doFirmshaft();
};
if (buttonChoice == 3){
doPlains();
};
if (buttonChoice == 5){
doSavanna();
};
if (buttonChoice == 9){
doDesert();
};
if (buttonChoice == 11){
doOldCave();
};
};
};
if (currentZone == 3){
viewButtonOutline(0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0);
viewButtonText(0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0);
buttonWrite(6, "Tieden");
buttonWrite(5, "Lake");
buttonWrite(7, "Forest");
buttonWrite(10, "Jungle");
doListen = function ():void{
if (buttonChoice == 6){
doTieden();
};
if (buttonChoice == 5){
doLake();
};
if (buttonChoice == 7){
doForest();
};
if (buttonChoice == 10){
doJungle();
};
};
};
if (currentZone == 4){
viewButtonOutline(0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0);
viewButtonText(0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0);
buttonWrite(6, "Siz'Calit");
buttonWrite(2, "Jungle");
buttonWrite(7, "Savanna");
buttonWrite(9, "Beach");
buttonWrite(11, "Desert");
doListen = function ():void{
if (buttonChoice == 6){
doSizCalit();
};
if (buttonChoice == 2){
doJungle();
};
if (buttonChoice == 7){
doSavanna();
};
if (buttonChoice == 9){
doBeach();
};
if (buttonChoice == 11){
doDesert();
};
};
};
if (currentZone == 6){
viewButtonOutline(0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0);
viewButtonText(0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0);
buttonWrite(6, "Oviasis");
buttonWrite(2, "Desert");
buttonWrite(3, "Den");
if (silRep > 0){
Choice3Outline.visible = true;
Choice3.visible = true;
};
doListen = function ():void{
if (buttonChoice == 6){
doOviasis();
};
if (buttonChoice == 2){
doDesert();
};
if (buttonChoice == 3){
doDen();
};
};
};
}
public function stashSlotWrite(slotNumber:int, slotItem:int):void{
if (currentStash == 1){
stashArray1[slotNumber] = slotItem;
};
if (currentStash == 2){
stashArray2[slotNumber] = slotItem;
};
if (currentStash == 3){
stashArray3[slotNumber] = slotItem;
};
}
public function doImpregnate(erace:int):void{
var chance:int;
var tempPregMod:int;
var extra:int;
chance = percent();
tempPregMod = 0;
if (babyFree > 0){
tempPregMod = (tempPregMod - 50);
};
trace(((((chance + " ") + pregChanceMod) + " ") + tempPregMod));
if (((pregCheck(1)) && ((((chance + pregChanceMod) + tempPregMod) >= 70)))){
i = 0;
extra = 0;
while (percent() < ((extraPregChance + 10) - ((4 * (i + 1)) * i))) {
extra++;
i++;
};
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == false){
if (erace == 100){
pregArray[(i + 2)] = ((80 + Math.floor((percent() / 10))) + (extra * 30));
pregArray[(i + 4)] = (extra * 2);
};
if (erace == 1){
pregArray[(i + 2)] = ((120 + Math.floor((percent() / 5))) + (extra * 50));
pregArray[(i + 4)] = extra;
};
if (erace == 2){
pregArray[(i + 2)] = ((160 + Math.floor((percent() / 5))) + (extra * 70));
pregArray[(i + 4)] = extra;
};
if (erace == 3){
pregArray[(i + 2)] = ((100 + Math.floor((percent() / 5))) + (extra * 40));
pregArray[(i + 4)] = (extra * 2);
};
if (erace == 4){
pregArray[(i + 2)] = ((90 + Math.floor((percent() / 5))) + (extra * 35));
pregArray[(i + 4)] = (extra * 2);
};
if (erace == 5){
pregArray[(i + 2)] = ((180 + Math.floor((percent() / 5))) + (extra * 35));
pregArray[(i + 4)] = extra;
};
if (erace == 6){
pregArray[(i + 2)] = ((80 + Math.floor((percent() / 10))) + (extra * 60));
pregArray[(i + 4)] = (extra * 3);
};
if (erace == 7){
pregArray[(i + 2)] = ((50 + Math.floor((percent() / 10))) + (extra * 20));
pregArray[(i + 4)] = (extra * 3);
};
pregArray[(i + 1)] = erace;
pregArray[i] = true;
i = pregArray.length;
};
i = (i + 5);
};
};
}
public function doBeach():void{
var chance:int;
chance = percent();
if (chance <= 10){
outputMainText("While taking a nice stroll along the beach, you see the silhouette of somebody sunning themselves on the sand in the distance. Judging by the ample curves at their chest, they seem to be a rather well-endowed in the breast department. Considering you can also spot the plump perk nipples protruding unrestrained from where you are, you also assume the person is likely to be nude. And judging by the large, swollen belly, you suspect that 'she' may be quite pregnant as well...\r\rWould you like to inspect her more closely?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("Moving closer, you squint in an attempt for a better view. However, her body seems moist as the sun reflects off her slick skin easily, making it difficult for you to see. It's not until you're nearly on top of her that you can clearly make out what she is...\r\rShe has curly hair that hangs past her shoulders, coral pink in color. It looks like it's completely drenched, despite laying out in the sun, and has bits of seaweed caught within it.\r\rHer face is slightly slightly round, with incredibly smooth looking skin that is oddly pinker than usual, though not nearly as noticeable as her hair. She wears a very relaxed and content expression, her eyes closed as she soaks up the warmth of the sun.\r\rUpon her chest heaves two quite enourmous breasts, each larger than her head. She doesn't seem to be completely nude as two starfish cover her nipples. They stick out against her breasts quite far, easily mistaken from your first observations. They also pulsate slightly, their twitching causing the fleshy mounds to jiggle, as though they were suckling from her.\r\rAs suspected, her belly is quite gravid indeed. Her slender hands caress it as she lays there, practically glowing with her engorged fertility. In relation to the rest of her torso, the belly seems far too large for her. Although, as you look further still, it's no surprise that she can manage to carry it...", true);
doNext();
doListen = function ():void{
outputMainText("Her 'butt' is large for her slender torso, her hips wider than you'd expect. And she has no legs...\r\rEight large, long tentacles squirm idly below her waist. They share a similar tone of pink as her hair, though much deeper and nearly purple, with a thin membrane of fleshy webbing between them. Their undersides are riddled with little suction cups, popping and sticking onto each other as they writhe. And as you step too close, one twitches out and touches you, realizing you're there.\r\rThe octopus girl's eyes snap open. They're large and nearly all a deep purple in color, with a slight amount of white around the edges. She glares at you in an instant and smirks. And you're quite unsure if it's a playful smirk or a predatory one...\r\rEither way, as her tentacles roll beneath her body and bring her to a 'stand', wobbling slightly from her large bosom and belly, you'll soon find out!", true);
doNext();
doListen = function ():void{
enemyID = 303;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
} else {
outputMainText("Deciding it best to leave the curvy woman in peace, you turn around and head back to Siz'Calit.", true);
hrs = 1;
stats(0, 1, 0, 0);
doEnd();
};
};
};
if ((((chance > 10)) && ((chance <= 35)))){
outputMainText("While taking a nice stroll along the beach, you see the silhouette of somebody sunning themselves on the sand in the distance. Judging by the ample curves at their chest, they seem to be a rather well-endowed in the breast department. Considering you can also spot the plump perk nipples protruding unrestrained from where you are, you also assume the person is likely to be nude. And judging by the large, swollen belly, you suspect that 'she' may be quite pregnant as well...\r\rWould you like to inspect her more closely?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("Moving closer, you can make out her figure much more easily. She has a slender frame, quite lithe, with a thick tail that narrows to a point and swishes through the sand between her spread legs. Oddly, she seems to be covered in scales, ranging from green to a light purple. And you seem to be able to see ALL of her scales, as she is quite nude while she soaks up the sun.\r\rShe spots you as you approach and gently turns to face you, a smile on her reptillian face 'Hello dearie. Do you enjoy the view?' She sticks out her tongue as her hand gropes at her large breast. 'Mmm, but I don't mind. I'm much too happy. Days like this with my husband are so nice~ When he gets so horny and just absolutely fills me up~!'\r\rHer other hand roams over her huge belly before finding its way to her crotch. You can hear a slurp as she pleasure herself and you spot a spurt of white gunk spew across the sand.\r\r'He went off to fetch some food, though, and I don't know when he'll be back. Would you be a dear and help me with something down there while he's gone, if you would?'", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("You nod your head and begin to move towards her legs.\r\r'Thank you so much, dearie~ I have a tendency to build up my eggs, unlike other lizan girls, and my husband's stuff is the easiest way for me to lay them all at once. I just need you to sit there and be ready to catch them when they do, or else they'll float into the water and be such a waste...'\r\rNodding once again, you maneuver around her body and kneel down between her legs, straddling her thick reptilian tail. Your eyes go wide, however, as there's much more white gunk than you expected, spunk literally oozing from her scaley slit, despite the fact she's clenching to keep it in.\r\r'Just like that dearie. Sitting on my tail helps me push. Now, get ready!'\r\rYou reach out in preparation, your fingers slipping across her supple lips and making her moan. Her thighs shudder as she lets out a gasp, letting her cunt stretch wide.\r\rCum floods from her loins, pooling around your knees and over her tail. You quickly realize that her large belly had mostly been inflated with cum rather than some mere eggs! Especially as the eggs that rush out are relatively small, maybe twice the size of a chicken's. You scramble to pluck them from the river of cum, trying to spot their white shells amidst the white fluid. Your hands slip and stick from all the spunk, but you manage to get them all. Hardly half a dozen...", true);
doNext();
doListen = function ():void{
outputMainText((("'Whew... Thanks a lot, dearie. Sorry to umm...' She looks at your " + clothesBottom()) + " and how drenched it is with her husband's seed. 'come on you like that... Don't worry though, it'll wash right out. And he takes a drug to keep it sterile for our little outtings. Wouldn't want to have all these eggs be alive now, would we?' She chuckles. 'But here, take one for yourself. They're good for you, when they don't have babies in them!'\r\rShe giggles and kisses you on the cheek, thanking you once again before you head off. She dozes back off, her tail idly swishing in the pool of semen, her thighs drenched in the stuff, and looking all the happier for it."), true);
itemAdd(219);
if (percent() < 35){
outputMainText("\r\rAs you begin to leave, however, you spot something move towards you. Another reptillian, this one seems quite male as two cocks hang from his groin and knock against his knees. He seems a bit sheepish at first, blush filling the scales of his face due to his rather immodest lack of an outfit, but realizes the damage is already done and waves you over.\r\r'Umm... I suppose you helped out my wife then?' He spots the egg in your hand and the lack of belly on his wife. 'Well, thank you for that. Sometimes I just can't get back in time. Here, take one of these at least, I think I've got plenty.'\r\rHe hands you a berry but actually refers to his scrotum. It hangs past his wangs and seems stuffed with testicles, though you can't easily count how many. They're each at least the size of a small melon and can easily explain how his wife was so bloated.\r\rNevertheless, he thanks you again and lets you head off, wanting some more time with his wife.", false);
itemAdd(218);
};
hrs = 4;
doEnd();
};
} else {
outputMainText("You shake your head no, not wanting to interrupt their time together.\r\r'Ahh, thank you dearie, I appreciate the sentiment. Here, at least take one of these. My husband uses them on occasion, but he prefers a different kind. Not that it matters to me, either way he makes me happy~' She twitches as her head leans back with a strong sigh, another spurt spewing over the sand.\r\rShe then picks something from her pack beside her and tosses it over to you, letting you head back to Siz'Calit.", true);
itemAdd(208);
hrs = 2;
doEnd();
};
};
} else {
outputMainText("Deciding it best to leave the curvy woman in peace, you turn around and head back to Siz'Calit.", true);
hrs = 1;
stats(0, 1, 0, 0);
doEnd();
};
};
};
if ((((chance > 35)) && ((chance <= 40)))){
outputMainText("Walking along the beach, you spot something shiny in the sand.", true);
itemAdd(206);
hrs = 2;
doEnd();
};
if ((((chance > 40)) && ((chance <= 60)))){
outputMainText("Combing the beach, you find something odd buried in the sand.", true);
itemAdd(207);
hrs = 2;
doEnd();
};
if ((((chance > 60)) && ((chance <= 80)))){
outputMainText("Strolling along the beach, you suddenly begin to hop up and down, your foot aching painfully as you step on an urchin!", true);
doHP(-(Math.floor((percent() / 10))));
hrs = 2;
doEnd();
};
if (chance > 80){
outputMainText("You walk along the beach, the ocean breeze blowing through your hair, the smell of salt on the wind. You take a deep breath and feel a bit rejuvenated.", true);
doLust(-5);
stats(0, 0, -1, 0);
exhaustion = (exhaustion - 2);
hrs = 1;
doEnd();
};
}
public function pullUD(source:int):String{
var tempStr:String;
tempStr = ((("PULL UP/DOWN ERROR " + attireTop) + " ") + attireBot);
if (source == 1){
if (attireTop == -1){
tempStr = "open";
};
if (attireTop == 0){
tempStr = "up";
};
if (attireTop == 1){
tempStr = "up";
};
if (attireTop == 3){
tempStr = "down";
};
if (attireTop == 5){
tempStr = "down";
};
if (attireTop == 6){
tempStr = "open";
};
if (attireTop == 9){
tempStr = "open";
};
if (attireTop == 12){
tempStr = "down";
};
if (attireTop == 13){
tempStr = "down";
};
if (attireTop == 17){
tempStr = "down";
};
if (attireTop == 18){
tempStr = "up";
};
if (attireTop == 19){
tempStr = "down";
};
};
if (source == 2){
if (attireBot == -1){
tempStr = "open";
};
if (attireBot == 0){
tempStr = "down";
};
if (attireBot == 2){
tempStr = "down";
};
if (attireBot == 4){
tempStr = "down";
};
if (attireBot == 5){
tempStr = "up";
};
if (attireBot == 6){
tempStr = "open";
};
if (attireBot == 7){
tempStr = "up";
};
if (attireBot == 8){
tempStr = "down";
};
if (attireBot == 10){
tempStr = "down";
};
if (attireBot == 11){
tempStr = "down";
};
if (attireBot == 12){
tempStr = "up";
};
if (attireBot == 13){
tempStr = "up";
};
if (attireBot == 14){
tempStr = "up";
};
if (attireBot == 15){
tempStr = "down";
};
if (attireBot == 16){
tempStr = "up";
};
if (attireBot == 17){
tempStr = "aside";
};
if (attireBot == 20){
tempStr = "down";
};
};
return (tempStr);
}
public function regionName(tempInt:int):String{
var tempStr:String;
tempStr = ("REGION ERROR " + currentZone);
if (tempInt == 1){
tempStr = "Softlik";
};
if (tempInt == 2){
tempStr = "Firmshaft";
};
if (tempInt == 3){
tempStr = "Tieden";
};
if (tempInt == 4){
tempStr = "Siz'Calit";
};
if (tempInt == 6){
tempStr = "Oviasis";
};
return (tempStr);
}
public function statDisplay():void{
statValuePane.htmlText = ((((((((((("\r\r" + int(str)) + "\r") + int(ment)) + "\r") + int(lib)) + "\r") + int(sen)) + "\r\r\r") + int(HP)) + "\r") + int(lust));
if (bgC.visible == true){
statValuePane.textColor = 0xFFFFFF;
};
}
public function loseItem(slot:int):void{
if (itemID(slot) == 101){
rapeMod = (rapeMod - 10);
};
if (itemID(slot) == 102){
runMod = (runMod - 20);
};
if (itemID(slot) == 200){
vagMoist = (vagMoist - 4);
cockMoist = (cockMoist - 4);
stats(0, 0, 0, -10);
};
if (itemID(slot) == 215){
rapeMod = (rapeMod - 5);
runMod = (runMod - 5);
milkHPMod = (milkHPMod - 5);
};
if (itemID(slot) == 233){
carryMod = (carryMod - 75);
};
if (itemID(slot) == 234){
pregRate = (pregRate - 0.5);
minLust = (minLust - 10);
hips = (hips - 10);
};
if (itemID(slot) == 236){
SexPMod = (SexPMod - 0.5);
changeMod = (changeMod - 0.3);
};
if ((((itemID(slot) == 116)) && ((weapon == 116)))){
weapon = 10;
};
if ((((itemID(slot) == 117)) && ((weapon == 117)))){
weapon = 10;
};
if ((((itemID(slot) == 118)) && ((weapon == 118)))){
weapon = 10;
};
if ((((itemID(slot) == 119)) && ((weapon == 119)))){
weapon = 10;
};
if ((((itemID(slot) == 127)) && ((weapon == 127)))){
weapon = 10;
};
if ((((itemID(slot) == 235)) && ((weapon == 235)))){
weapon = 10;
};
if (stackAmount(slot) < 2){
itemSlotWrite(slot, 0);
};
stackSlotWrite(slot, -1);
}
public function checkZero():void{
if (cockSize < 0){
cockSize = 0;
};
if (cockTotal < 0){
cockTotal = 0;
};
if (balls < 0){
balls = 0;
};
if (ballSize < 0){
ballSize = 0;
};
if (cockMoist < 0){
cockMoist = 0;
};
if (cockMoist > 12){
cockMoist = 12;
};
if (breastSize < 0){
breastSize = 0;
};
if (boobTotal < 0){
boobTotal = 0;
};
if (nippleSize < 1){
nippleSize = 1;
};
if (udderSize < 1){
udderSize = 1;
};
if (teatSize < 2){
teatSize = 2;
};
if (clitSize < 0){
clitSize = 0;
};
if (vagSize < 0){
vagSize = 0;
};
if (vagTotal < 0){
vagTotal = 0;
};
if (vagMoist < 0){
vagMoist = 0;
};
if (vagMoist > 12){
vagMoist = 12;
};
if (vulvaSize < 0){
vulvaSize = 0;
};
if (exhaustion < 0){
exhaustion = 0;
};
if (exhaustionPenalty < 0){
exhaustionPenalty = 0;
};
if (hips < 1){
hips = 1;
};
if (butt < 1){
butt = 1;
};
if (body < 5){
body = 5;
};
if (tallness < 3){
tallness = 3;
};
if (cockSizeMod < 0.1){
cockSizeMod = 0.1;
};
if (vagSizeMod < 0.1){
vagSizeMod = 0.1;
};
if (vagBellyMod < 0){
vagBellyMod = 0;
};
if (pregChanceMod < -100){
pregChanceMod = -100;
};
if (lactation < 0){
lactation = 0;
};
if (milkMod < 0){
milkMod = 0;
};
if (coin < 0){
coin = 0;
};
if ((pregArray.length / 5) < vagTotal){
while ((pregArray.length / 5) < vagTotal) {
pregArray.push(false, 0, 0, 0, 0);
};
};
}
public function doSexP(changes:int):void{
if ((SexP + (changes * SexPMod)) >= 100){
changes = (changes - Math.ceil(((100 - SexP) / SexPMod)));
SexP = 0;
level++;
levelUP++;
doSexP(changes);
} else {
SexP = (SexP + (changes * SexPMod));
};
levelValuePane.text = ((((level + "\r") + SexP) + "\r") + coin);
if (bgC.visible == true){
levelValuePane.textColor = 0xFFFFFF;
};
}
public function decGet(number:Number, places:int):String{
var tempStr:String;
var tempStr2:String;
var tempInt:int;
tempStr = (("" + number) + "");
tempStr2 = "";
tempInt = 0;
tempInt = tempStr.indexOf(".", 0);
if (tempInt > 0){
tempStr2 = tempStr.substring(0, ((tempInt + places) + 1));
} else {
tempStr2 = tempStr;
};
return (tempStr2);
}
public function changeBot(ID:int):void{
if (attireBot == -1){
stats(2, 2, 0, 0);
};
if (attireBot == 0){
stats(0, 4, 0, 0);
};
if (attireBot == 2){
};
if (attireBot == 4){
enticeMod = (enticeMod - 3);
stats(0, 2, 0, -2);
cumMod = (cumMod + 0.2);
};
if (attireBot == 7){
runMod = (runMod - 3);
cumMod = (cumMod - 0.2);
stats(-2, 2, 0, 0);
pregChanceMod = (pregChanceMod - 4);
};
if (attireBot == 8){
runMod = (runMod - 3);
stats(-2, 0, 3, 0);
};
if (attireBot == 10){
vagMoist = (vagMoist + 2);
cockMoist = (cockMoist + 2);
hips = (hips - 1);
stats(0, 4, 0, 0);
};
if (attireBot == 11){
vagMoist = (vagMoist + 5);
cockMoist = (cockMoist + 5);
hips = (hips - 1);
butt = (butt - 2);
stats(0, 4, 4, 0);
};
if (attireBot == 14){
cumMod = (cumMod - 0.2);
enticeMod = (enticeMod - 4);
stats(0, 4, 0, -2);
pregChanceMod = (pregChanceMod - 6);
};
if (attireBot == 15){
cumMod = (cumMod + 0.2);
runMod = (runMod - 5);
enticeMod = (enticeMod - 3);
stats(2, 3, 0, -2);
};
if (attireBot == 16){
cumMod = (cumMod - 0.2);
runMod = (runMod - 4);
pregChanceMod = (pregChanceMod - 5);
stats(-2, 4, 0, -2);
};
if (attireBot == 20){
cumMod = (cumMod + 0.3);
runMod = (runMod + 3);
vulvaSize = (vulvaSize - 1);
enticeMod = (enticeMod - 4);
stats(0, 2, -2, -2);
};
if (ID == -1){
if ((((attireTop == attireBot)) && (!((attireTop == -1))))){
attireBot = ID;
changeTop(-1);
};
stats(-2, -2, 0, 0);
};
if (ID == 0){
stats(0, -4, 0, 0);
};
if (ID == 2){
};
if (ID == 4){
enticeMod = (enticeMod + 3);
stats(0, -2, 0, 2);
cumMod = (cumMod - 0.2);
};
if (ID == 7){
runMod = (runMod + 3);
cumMod = (cumMod + 0.2);
stats(2, -2, 0, 0);
pregChanceMod = (pregChanceMod + 4);
};
if (ID == 8){
runMod = (runMod + 3);
stats(2, 0, -3, 0);
};
if (ID == 10){
vagMoist = (vagMoist - 2);
cockMoist = (cockMoist - 2);
hips = (hips + 1);
stats(0, -4, 0, 0);
};
if (ID == 11){
vagMoist = (vagMoist - 5);
cockMoist = (cockMoist - 5);
hips = (hips + 1);
butt = (butt + 2);
stats(0, -4, -4, 0);
};
if (ID == 14){
cumMod = (cumMod + 0.2);
enticeMod = (enticeMod + 4);
stats(0, -4, 0, 2);
pregChanceMod = (pregChanceMod + 6);
};
if (ID == 15){
cumMod = (cumMod - 0.2);
runMod = (runMod + 5);
enticeMod = (enticeMod + 3);
stats(-2, -3, 0, 2);
};
if (ID == 16){
cumMod = (cumMod + 0.2);
runMod = (runMod + 4);
pregChanceMod = (pregChanceMod + 5);
stats(2, -4, 0, 2);
};
if (ID == 20){
cumMod = (cumMod - 0.3);
runMod = (runMod - 3);
vulvaSize = (vulvaSize + 1);
enticeMod = (enticeMod + 4);
stats(0, -2, 2, 2);
};
if ((((((attireTop == attireBot)) && (!((ID == 0))))) && (!((ID == -1))))){
attireBot = ID;
changeTop(1);
} else {
attireBot = ID;
};
}
public function bodyType():void{
statDisplay();
if (gender == 1){
viewButtonOutline(0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
viewButtonText(0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
buttonWrite(2, "Bodybuilder");
buttonWrite(5, "Average");
buttonWrite(7, "Femme Boy");
buttonWrite(10, "Child");
};
if (gender == 2){
viewButtonOutline(0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0);
viewButtonText(0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0);
buttonWrite(2, "Bodybuilder");
buttonWrite(5, "Average");
buttonWrite(3, "Voluptuous");
buttonWrite(10, "Child");
};
if (gender == 3){
viewButtonOutline(0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0);
viewButtonText(0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0);
buttonWrite(2, "Bodybuilder");
buttonWrite(5, "Masculine");
buttonWrite(6, "Feminine");
buttonWrite(10, "Child");
};
outputMainText("Choose your body type. Types determine height and a few beginning characteristics. Their names describe what they look like.", true);
doListen = function ():void{
if (gender == 1){
if (buttonChoice == 2){
body = 29;
hips = 4;
butt = 4;
tallness = (tallness + (70 + Math.floor((percent() / 10))));
str = (str + 1);
stats(0, 0, 0, 0);
doStartingDescription();
};
if (buttonChoice == 5){
body = 20;
hips = 3;
butt = 3;
tallness = (tallness + (68 + Math.floor((percent() / 10))));
lib = (lib + 1);
stats(0, 0, 0, 0);
doStartingDescription();
};
if (buttonChoice == 7){
body = 15;
hips = 7;
butt = 6;
breastSize = 2;
nippleSize = 2;
tallness = (tallness + (60 + Math.floor((percent() / 10))));
sen = (sen + 1);
stats(0, 0, 0, 0);
doStartingDescription();
};
if (buttonChoice == 10){
body = 7;
hips = 1;
butt = 2;
tallness = (tallness + (42 + Math.floor((percent() / 10))));
sen = (sen + 2);
ment = (ment - 2);
str = (str - 4);
lib = (lib + 2);
cockSize = 6;
cockMoist = 1;
ballSize = 1;
stats(0, 0, 0, 0);
doStartingDescription();
};
};
if (gender == 2){
if (buttonChoice == 2){
body = 29;
hips = 5;
butt = 4;
tallness = (tallness + (68 + Math.floor((percent() / 10))));
breastSize = 4;
nippleSize = 4;
str = (str + 1);
stats(0, 0, 0, 0);
doStartingDescription();
};
if (buttonChoice == 3){
body = 16;
hips = 9;
butt = 6;
tallness = (tallness + (60 + Math.floor((percent() / 10))));
breastSize = 10;
nippleSize = 10;
lib = (lib + 2);
stats(0, 0, 0, 0);
doStartingDescription();
};
if (buttonChoice == 5){
body = 13;
hips = 6;
butt = 5;
tallness = (tallness + (60 + Math.floor((percent() / 10))));
breastSize = 6;
nippleSize = 6;
ment = (ment + 1);
stats(0, 0, 0, 0);
doStartingDescription();
};
if (buttonChoice == 10){
body = 7;
hips = 2;
butt = 2;
tallness = (tallness + (41 + Math.floor((percent() / 10))));
sen = (sen + 2);
ment = (ment - 2);
str = (str - 4);
lib = (lib + 2);
vagSize = 6;
breastSize = 2;
nippleSize = 2;
vulvaSize = 2;
clitSize = 1;
vagMoist = 1;
stats(0, 0, 0, 0);
doStartingDescription();
};
};
if (gender == 3){
if (buttonChoice == 2){
body = 29;
hips = 4;
butt = 4;
tallness = (tallness + (68 + Math.floor((percent() / 10))));
breastSize = 6;
nippleSize = 6;
str = (str + 1);
stats(0, 0, 0, 0);
doStartingDescription();
};
if (buttonChoice == 5){
body = 19;
hips = 3;
butt = 3;
tallness = (tallness + (62 + Math.floor((percent() / 10))));
breastSize = 2;
nippleSize = 2;
lib = (lib + 1);
stats(0, 0, 0, 0);
doStartingDescription();
};
if (buttonChoice == 6){
body = 14;
hips = 5;
butt = 4;
tallness = (tallness + (58 + Math.floor((percent() / 10))));
breastSize = 6;
nippleSize = 6;
ment = (ment + 1);
stats(0, 0, 0, 0);
doStartingDescription();
};
if (buttonChoice == 10){
body = 7;
hips = 2;
butt = 2;
tallness = (tallness + (42 + Math.floor((percent() / 10))));
sen = (sen + 2);
ment = (ment - 2);
str = (str - 4);
lib = (lib + 2);
cockSize = 4;
cockMoist = 1;
ballSize = 1;
vagSize = 4;
clitSize = 1;
vagMoist = 1;
vulvaSize = 1;
breastSize = 2;
nippleSize = 2;
stats(0, 0, 0, 0);
doStartingDescription();
};
};
};
}
public function lactChange(which:int, amount:int):void{
if ((((((which == 1)) && (((lactation + amount) >= 1)))) && ((lactation < 1)))){
outputMainText((("\r\rBlotches spread across your " + clothesTop()) + " around your nipples. Curiously, you dab your finger in the moistness and take a taste. Milk... Your breasts seem to have begun lactating!"), false);
nipplePlay = 10;
};
if ((((((((which == 2)) && (((udderLactation + amount) >= 1)))) && ((udderLactation < 1)))) && ((udders == true)))){
outputMainText((("\r\rBlotches spread across your " + clothesBottom()) + ", starting from your teats. Curiously, you dab your finger in the moistness and take a taste. Milk... Your udder seems to have begun lactating!"), false);
udderPlay = 10;
};
if ((((((which == 1)) && (((lactation + amount) < 1)))) && ((lactation >= 1)))){
outputMainText("\r\rYour nipples feel exceptionally dry... It seems your breasts are no longer producing milk.", false);
nipplePlay = 0;
if (milkEngorgementLevel > 0){
boobChange(-1);
};
milkEngorgementLevel = 0;
milkEngorgement = 0;
};
if ((((((((which == 2)) && (((udderLactation + amount) < 1)))) && ((udderLactation >= 1)))) && ((udders == true)))){
outputMainText("\r\rYour teats feel exceptionally dry... It seems your udder is no longer producing milk.", false);
if (udderEngorgementLevel == 1){
udderChange(-1);
};
if (udderEngorgementLevel == 2){
udderChange(-2);
};
if (udderEngorgementLevel == 3){
udderChange(-3);
};
udderEngorgementLevel = 0;
udderEngorgement = 0;
udderPlay = 0;
};
if (which == 1){
lactation = (lactation + amount);
};
if (which == 2){
udderLactation = (udderLactation + amount);
};
if ((((((lactation <= 0)) || ((((udderLactation <= 0)) && ((udders == true)))))) && ((pregStatus > 0)))){
outputMainText(" ...However a few minutes later your milk starts right back up. Seems your body needs the milk for something else.", false);
lactation = 1;
if (udders == true){
udderLactation = 1;
};
};
if (lactation < 0){
lactation = 0;
};
if (udderLactation < 0){
udderLactation = 0;
};
}
public function enemyAttack():void{
var attack:int;
var chance:int;
attack = percent();
if (enemyID == 101){
if (attack <= 50){
outputMainText("\r\rThe cock-snake whips around, slapping you harshly with its tail and causing a painful welt.", false);
doHP(-(eDmg(9)));
} else {
if (attack > 50){
outputMainText((("\r\rThe cock-snake opens its maw, long thin fangs dripping with venom, and it springs forward at your crotch. Its mouth bites down onto the crotch of your " + clothesBottom()) + ", fangs sinking right into"), false);
if (cockTotal > 0){
outputMainText(((((((((((" " + oneYour(1)) + " cock") + plural(1)) + ". It doesn't hurt much, but the venom that spills into you makes you feel strangely aroused and your cock") + plural(1)) + " swell") + plural(3)) + " within your ") + clothesBottom()) + ", becoming permanently larger..."), false);
doLust(Math.floor((((cockSize * cockSizeMod) / 5) + (percent() / 10))));
cockChange(1, 0);
} else {
if ((((cockTotal < 1)) && ((vagTotal > 0)))){
if ((((clitSize > 20)) && ((percent() <= 25)))){
outputMainText(((((((((" " + oneYour(2)) + " ") + clitDesc()) + " clit") + plural(2)) + ". You feel it swell and shift within your ") + clothesBottom()) + ", your lips started to grow quite oddly as well..."), false);
vagChange(0, -1);
cockChange(0, 1);
doLust(Math.floor((((cockSize * cockSizeMod) / 5) + (percent() / 10))));
} else {
outputMainText(((((((((((((" " + oneYour(2)) + " ") + clitDesc()) + " clit") + plural(2)) + ". It doesn't hurt much, but the venom that spills into you makes you feel strangely aroused as your clit") + plural(2)) + " swell") + plural(4)) + " a little within your ") + clothesBottom()) + ", becoming permanently larger..."), false);
clitSize++;
doLust(Math.floor(((clitSize / 5) + (percent() / 10))));
};
} else {
if (percent() <= 40){
outputMainText(" your groin. It doesn't hurt much, but you feel a little odd...", false);
cockChange(1, 0);
doLust((percent() / 10));
} else {
outputMainText(" your groin. Though the endeavor proves fruitless, as all its venom manages to do is arouse you a little.", false);
doLust((percent() / 20));
};
};
};
};
};
};
if (enemyID == 102){
if (attack <= 30){
outputMainText((("\r\rThe sentient dust devil overcomes you and whooshes about your body, getting sand all over your " + skinDesc()) + " and into some crevices you'd rather not think of, making you very uncomfortable and wearing away some of your sensitivity."), false);
stats(0, 0, 0, -1);
doLust(-5);
} else {
if ((((attack <= 60)) && ((((((((((((((((cockMoist > 9)) || ((((cockMoist > 6)) && ((lust > 25)))))) || ((((cockMoist > 3)) && ((lust > 50)))))) || ((((cockMoist > 0)) && ((lust > 75)))))) && ((cockTotal > 0)))) || ((((((((((vagMoist > 9)) || ((((vagMoist > 6)) && ((lust > 25)))))) || ((((vagMoist > 3)) && ((lust > 50)))))) || ((((vagMoist > 0)) && ((lust > 75)))))) && ((vagTotal > 0)))))) || ((((((((lactation > 2)) && ((milkEngorgementLevel == 3)))) || ((((lactation > 5)) && ((milkEngorgementLevel == 2)))))) && ((breastSize > 2)))))) || ((((((((((udderLactation > 2)) && ((udderEngorgementLevel == 3)))) || ((((udderLactation > 5)) && ((udderEngorgementLevel == 2)))))) && ((udders == true)))) && ((udderSize > 3)))))))){
if ((((((((lactation > 2)) && ((milkEngorgementLevel == 3)))) || ((((lactation > 5)) && ((milkEngorgementLevel == 2)))))) && ((breastSize > 2)))){
outputMainText((("\r\rThe whirling sand leaps out at your " + boobDesc()) + " chest and laps up some of the milk that spills from it, sucking it back in and strengthening the devil's endurance."), false);
doeHP((5 + Math.floor((percent() / 20))));
} else {
if ((((((((((udderLactation > 2)) && ((udderEngorgementLevel == 3)))) || ((((udderLactation > 5)) && ((udderEngorgementLevel == 2)))))) && ((udders == true)))) && ((udderSize > 3)))){
outputMainText((("\r\rThe whirling sand leaps out at your " + udderDesc()) + " udder and laps up some of the milk that spills from it, sucking it back in and strengthening the devil's endurance."), false);
doeHP((5 + Math.floor((percent() / 20))));
} else {
if ((((((((((cockMoist > 9)) || ((((cockMoist > 6)) && ((lust > 25)))))) || ((((cockMoist > 3)) && ((lust > 50)))))) || ((((cockMoist > 0)) && ((lust > 75)))))) && ((cockTotal > 0)))){
outputMainText((((("\r\rThe whirling sand across the " + cockDesc()) + " bulge in your ") + clothesBottom()) + " and laps up some of the slick lubrication that spills from it, sucking the stuff back in and strengthening the devil's endurance."), false);
doeHP((5 + Math.floor((percent() / 20))));
} else {
if ((((((((((vagMoist > 9)) || ((((vagMoist > 6)) && ((lust > 25)))))) || ((((vagMoist > 3)) && ((lust > 50)))))) || ((((vagMoist > 0)) && ((lust > 75)))))) && ((vagTotal > 0)))){
outputMainText((("\r\rThe whirling sand licks up between your legs, across your " + vulvaDesc()) + " groin, and laps up some of the slick lubrication that spills from it, sucking the stuff back in and strengthening the devil's endurance."), false);
doeHP((5 + Math.floor((percent() / 20))));
};
};
};
};
} else {
if (attack <= 90){
chance = percent();
if ((((chance < 12)) && ((cockTotal > 0)))){
outputMainText((((((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and softly drags across your ") + cockDesc()) + " masculine length") + plural(1)) + ", soaking up some of the moisture from within and causing ") + plural(9)) + " to shrink a little. The sand then returns to the devil, renewing some of windy essence."), false);
cockSize--;
doeHP(2);
} else {
if ((((((chance < 23)) && ((balls > 0)))) && ((showBalls == true)))){
if (ballSize < 2){
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and softly drags across your ") + ballDesc()) + " scrotum. However, your balls are so puny that there is hardly any moisture for the sand to take, doing nothing for the devil."), false);
} else {
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and softly drags across your ") + ballDesc()) + " scrotum, soaking up some of the moisture from the testicles within and causing them to shrink a little. The sand then returns to the devil, renewing some of windy essence."), false);
ballSize--;
doeHP(2);
};
} else {
if (chance < 34){
if (butt < 1){
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and whisks across your ") + buttDesc()) + " rump. However, your butt is so flat that there is hardly any moisture for the sand to take, doing nothing for the devil."), false);
} else {
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and whisks across your ") + buttDesc()) + " rump, soaking up some of the moisture from within and causing it to shrink a little. The sand then returns to the devil, renewing some of windy essence."), false);
butt--;
doeHP(2);
};
} else {
if ((((chance < 45)) && ((vagTotal > 0)))){
if (vulvaSize < 2){
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and slips through your ") + vulvaDesc()) + " lips. However, your vulva is so tiny that there is hardly any moisture for the sand to take, doing nothing for the devil."), false);
} else {
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and slips through your ") + vulvaDesc()) + " lips, soaking up some of the moisture from within and causing them to shrink a little. The sand then returns to the devil, renewing some of windy essence."), false);
vulvaSize--;
doeHP(2);
};
} else {
if ((((chance < 56)) && ((vagTotal > 0)))){
if (clitSize < 2){
outputMainText((((((((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and whirls about your ") + clitDesc()) + " clit") + plural(2)) + ". However, your button") + plural(2)) + " ") + plural(14)) + " so tiny that there is hardly any moisture for the sand to take, doing nothing for the devil."), false);
} else {
outputMainText((((((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and whirls about your ") + clitDesc()) + " clit") + plural(2)) + ", soaking up some of the moisture from within and causing ") + plural(10)) + " to shrink a little. The sand then returns to the devil, renewing some of windy essence."), false);
vulvaSize--;
doeHP(2);
};
} else {
if (chance < 67){
if (breastSize < 1){
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and gropes about your ") + boobDesc()) + " breasts. However, your chest is so flat that there is hardly any moisture for the sand to take, doing nothing for the devil."), false);
} else {
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesTop()) + " and gropes about your ") + boobDesc()) + " breasts, soaking up some of the moisture from within and causing them to shrink a little. The sand then returns to the devil, renewing some of windy essence."), false);
butt--;
doeHP(2);
};
} else {
if ((((chance < 78)) && ((udders == true)))){
if (udderSize < 2){
outputMainText((("\r\rSome of the devil's sand blow across your " + udderDesc()) + " udder. However, your milk-bag is so small that there is hardly any moisture for the sand to take, doing nothing for the devil."), false);
} else {
outputMainText((("\r\rSome of the devil's sand blow across your " + udderDesc()) + " udder, soaking up some of the moisture from within and causing it to shrink a little. The sand then returns to the devil, renewing some of windy essence."), false);
butt--;
doeHP(2);
};
} else {
if ((((chance < 89)) && ((udders == true)))){
if (teatSize < 3){
outputMainText((("\r\rSome of the devil's sand licks across your " + teatDesc()) + " teats. However, your bovine-nipples are so little that there is hardly any moisture for the sand to take, doing nothing for the devil."), false);
} else {
outputMainText((("\r\rSome of the devil's sand licks across your " + teatDesc()) + " teats, soaking up some of the moisture from within and causing it to shrink a little. The sand then returns to the devil, renewing some of windy essence."), false);
butt--;
doeHP(2);
};
} else {
if (nippleSize < 2){
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesBottom()) + " and brushes over your ") + nipDesc()) + " nipples. However, your nipples are so little that there is hardly any moisture for the sand to take, doing nothing for the devil."), false);
} else {
outputMainText((((("\r\rSome of the devil's sand creeps into your " + clothesTop()) + " and brushes over your ") + nipDesc()) + " nipples, soaking up some of the moisture from within and causing them to shrink a little. The sand then returns to the devil, renewing some of windy essence."), false);
butt--;
doeHP(2);
};
};
};
};
};
};
};
};
};
} else {
if (attack <= 100){
chance = percent();
outputMainText("\r\rA funnal of sand shoots out from the devil's form, whipping out and latching onto your ", false);
if ((((chance < 12)) && ((cockTotal > 0)))){
outputMainText((((((("" + cockDesc()) + " cock") + plural(1)) + ", siphoning out a lot of moisture and causing ") + plural(9)) + " to shrink dramatically, restoring a good deal of power to the devil's winds."), false);
cockSize = (cockSize - 5);
doeHP(10);
} else {
if ((((((chance < 23)) && ((balls > 0)))) && ((showBalls == true)))){
if (ballSize < 1){
outputMainText("balls. However, they're already so puny that the devil can't siphon any more moisture from them, proving a fruitless attack.", false);
} else {
outputMainText((("" + ballDesc()) + " testicles, siphoning out a lot of moisture and causing them to shrink dramatically, restoring a good deal of power to the devil's winds."), false);
ballSize = (ballSize - 5);
if (ballSize < 0){
ballSize = 0;
};
doeHP(10);
};
} else {
if (chance < 34){
if (butt < 1){
outputMainText("butt. However, it's so flat that the devil can't siphon any more moisture from it, proving a fruitless attack.", false);
} else {
outputMainText((("" + buttDesc()) + " butt, siphoning out a lot of moisture and causing them to shrink dramatically, restoring a good deal of power to the devil's winds."), false);
butt = (butt - 5);
if (butt < 0){
butt = 0;
};
doeHP(10);
};
} else {
if ((((chance < 45)) && ((vagTotal > 0)))){
if (vulvaSize < 2){
outputMainText("vulva. However, your lips are so thin and tiny that the devil can't siphon any more moisture from them, proving a fruitless attack.", false);
} else {
outputMainText((("" + vulvaDesc()) + " vulva, siphoning out a lot of moisture and causing it to shrink dramatically, restoring a good deal of power to the devil's winds."), false);
vulvaSize = (vulvaSize - 5);
if (vulvaSize < 1){
vulvaSize = 1;
};
doeHP(10);
};
} else {
if ((((chance < 56)) && ((vagTotal > 0)))){
if (clitSize < 2){
outputMainText((((((("clit" + plural(2)) + ". However, your button") + plural(14)) + " so tiny that the devil can't siphon any more moisture from ") + plural(10)) + ", proving a fruitless attack."), false);
} else {
outputMainText((((((("" + clitDesc()) + " clit") + plural(2)) + ", siphoning out a lot of moisture and causing ") + plural(10)) + " to shrink dramatically, restoring a good deal of power to the devil's winds."), false);
clitSize = (clitSize - 5);
if (clitSize < 1){
clitSize = 1;
};
doeHP(10);
};
} else {
if (chance < 67){
if (breastSize < 1){
outputMainText("chest. However, it's so flat that the devil can't siphon any more moisture from it, proving a fruitless attack.", false);
} else {
outputMainText((("" + boobDesc()) + " bust, siphoning out a lot of moisture and causing your breasts to shrink dramatically, restoring a good deal of power to the devil's winds."), false);
breastSize = (breastSize - 5);
if (breastSize < 0){
breastSize = 0;
};
doeHP(10);
};
} else {
if ((((chance < 78)) && ((udders == true)))){
if (udderSize < 2){
outputMainText("udder. However, it's so small that the devil can't siphon any more moisture from it, proving a fruitless attack.", false);
} else {
outputMainText((("" + udderDesc()) + " udder, siphoning out a lot of moisture and causing it to shrink dramatically, restoring a good deal of power to the devil's winds."), false);
udderSize = (udderSize - 5);
if (udderSize < 1){
udderSize = 1;
};
doeHP(10);
};
} else {
if ((((chance < 89)) && ((udders == true)))){
if (teatSize < 3){
outputMainText("teats. However, they're so tiny that the devil can't siphon any more moisture from them, proving a fruitless attack.", false);
} else {
outputMainText((("" + teatDesc()) + " teats, siphoning out a lot of moisture and causing them to shrink dramatically, restoring a good deal of power to the devil's winds."), false);
teatSize = (teatSize - 5);
if (teatSize < 2){
teatSize = 2;
};
doeHP(10);
};
} else {
if (nippleSize < 2){
outputMainText("nipples. However, they're so tiny that the devil can't siphon any more moisture from them, proving a fruitless attack.", false);
} else {
outputMainText((("" + nipDesc()) + " nipples, siphoning out a lot of moisture and causing them to shrink dramatically, restoring a good deal of power to the devil's winds."), false);
nippleSize = (nippleSize - 5);
if (nippleSize < 1){
nippleSize = 1;
};
doeHP(10);
};
};
};
};
};
};
};
};
};
};
};
};
};
};
if (enemyID == 201){
if ((((attack > 35)) && ((attack <= 50)))){
outputMainText("\r\rThe lone wolf leaps at you, taking a large bite with its sharp teeth.", false);
doHP(-(eDmg(6)));
} else {
if ((((((attack > 50)) && ((attack <= 70)))) && ((lust > 15)))){
outputMainText("\r\rHis cock beating against his belly with each step, his lust overcomes him for a moment. He runs up to you, jumping onto your leg and humps wildly, smearing his canine pre up and down your leg. A small spurt of cum shoots out, the large drop oozing down to your feet. Not exactly a full climax, but enough for now, the wolf backs off.", false);
doLust(Math.floor((((percent() / 5) + lib) - ment)));
doeLust(-(Math.floor(((percent() / 10) + (eSen / 2)))));
} else {
if ((((((attack > 70)) && (!((gender == 0))))) && (!((gender == 1))))){
outputMainText("\r\rThe lone wolf lifts his leg after running up beside you, a bit of urine splashing out onto your feet. However, he was simply peeing, as the heady smell wafts up to your nose, the pheromones making your body shudder with arousal.", false);
doLust(Math.floor((((percent() / 5) + lib) - (ment / 2))));
} else {
outputMainText("\r\rThe lone wolf rushes at you, scratching you with its claws.", false);
doHP(-(eDmg(8)));
};
};
};
};
if (enemyID == 301){
if ((((((attack > 30)) && ((attack <= 60)))) && ((eLust > 20)))){
outputMainText((("\r\rThe horny felin woman comes in close, embracing you as she grinds her slick cunt up and down your leg. She licks your " + boobDesc()) + " chest while her feminine fluids spill down your thigh. She mewls a little as she has a small climax, alleviating some of her own frustrations while increasing yours in the process."), false);
doLust(Math.floor((((percent() / 5) + lib) - (ment / 2))));
doeLust(-(Math.floor(((percent() / 10) + (eSen / 2)))));
} else {
if ((((((attack > 60)) && ((attack <= 85)))) && ((eLust > 10)))){
outputMainText("\r\rUtterly thirsting for sex, she turns away from you and gets on all fours. She bends down further while raising her butt high into the air, showing off her lithe body while also showing off the swollen lips that bulge out of either side of her bikini bottom beneath the loin cloth, her tail waving enticingly above. Her sex-driven display makes you a little hot as well.", false);
doLust(Math.floor((((percent() / 10) + lib) - (ment / 2))));
} else {
if (attack > 85){
outputMainText("\r\rPlayfully, she lunges forward and bites you... hard. The pain is quite noticeable, but her giggling afterwards might also arouse you slightly, if you didn't know better...", false);
doHP(-(eDmg(7)));
doLust((lib - ment));
} else {
outputMainText("\r\rIn her frustration, she claws at you.", false);
doHP(-(eDmg(10)));
};
};
};
};
if (enemyID == 302){
if ((((((attack > 30)) && ((attack <= 60)))) && ((eLust >= 20)))){
outputMainText("\r\rThe drunken equan adjusts the giant bulge in his pants, grunting as a large gob of pre smears across his knee and blotches his pants. While not the most erotic display, whatever he's drinking makes the stuff smell extremely enticing...", false);
doLust(Math.floor((((percent() / 10) + lib) - (ment / 2))));
} else {
if ((((attack > 60)) && ((attack <= 80)))){
outputMainText("\r\rHe lifts his large mug up to his lips, taking a big swig. He burps after downing it, his wounds seemingly less severe than before.", false);
doeHP(Math.floor(((percent() / 10) + 5)));
} else {
if (attack > 80){
outputMainText("\r\rStumbling uncontrollably, he plows into you.", false);
doHP(-(eDmg(7)));
} else {
outputMainText("\r\rWith a hearty laugh, he bonks you on the head with his mug.", false);
doHP(-(eDmg(9)));
};
};
};
};
if (enemyID == 303){
if ((((attack > 30)) && ((attack <= 55)))){
outputMainText((("\r\rWith a giggle that makes her breasts quiver, her hands move up to one of the starfish on her chest. She pries it away, her plump nipple popping out with a squirt of slightly pink milk. Giving you a quick wink, her other hand squeezes her breast, shooting a spurt of the stuff onto your body. The sweet-smelling liquid quickly absorbs into your " + skinDesc()) + ", making you grow warm and aroused."), false);
doLust(Math.floor(((20 + (percent() / 10)) - (ment / 5))));
} else {
if ((((attack > 55)) && ((attack <= 80)))){
outputMainText((("\r\rOne of her tentacles lashes out at you and whips up between your legs. It smarts a bit, but it seems as though she intentionally hit you with the softer underside. The suction cups tear through your " + clothesBottom()) + " and stick to "), false);
attireBot = -1;
if (vagTotal > 0){
outputMainText((((((((((("the front of your feminine cleft" + plural(2)) + ". You can feel fluid seep from the cups and into your clit") + plural(2)) + ", arousing you further. She twists with a focused expression, tugging again and again at your clit") + plural(2)) + ", trying to wrench herself free after the attack and making your hips buck in turn. By the time she manages to remove her tentacle with a pop, your poor button") + plural(2)) + " feel") + plural(4)) + " a bit larger than before..."), false);
doLust(Math.floor(((20 + (percent() / 5)) - (ment / 5))));
doHP(-5);
clitSize++;
} else {
if ((((vagTotal < 1)) && ((cockTotal > 0)))){
outputMainText((((((oneYour(1) + " cock") + plural(1)) + ". You can feel fluid seep from the cups and into your cock") + plural(2)) + ", arousing you further. The tentacle wraps around, tugging again and again at your erection, as through she were masturbating you. Although, from the focused expression on her first, she seems to simply be trying to wrench herself free after the attack. Not that it arouses you any less..."), false);
doLust(Math.floor((((10 + (percent() / 10)) + (lib / 10)) - (ment / 5))));
} else {
if ((((vagTotal < 1)) && ((cockTotal < 1)))){
outputMainText((("your empty groin. You can feel fluid seep from the cups and into your crotch, arousing you further. She twists with a focused expression, tugging again and again at your " + skinDesc()) + ", trying to wrench herself free after the attack. By the time she manages to remove her tentacle with a pop, you spot several hickies from where she had her way with you."), false);
doLust(Math.floor(((10 + (percent() / 10)) - (ment / 5))));
};
};
};
} else {
if ((((attack > 80)) && ((attireBot == -1)))){
outputMainText("\r\rShe lunges forward at you with a naughty look in her large eyes. She comes intimately close to your face, a long tongue drawing from her mouth and licking you up your cheek. Caught off guard by the sudden sign of affection, you fail to notice her tentacles move in around you.", false);
if (vagTotal > 0){
outputMainText(((((((((" Some creep up your legs and sneak beneath your " + clothesBottom()) + ", sliding through your ") + vulvaDesc()) + " nether-lips. With a jump, you find your naughty hole") + plural(2)) + " being penetrated. The slick tentacle") + plural(2)) + " thrust in and out slightly, as if gauging your size."), false);
if (vagLimit() < 20){
outputMainText(((((" Not quite satisfied, the tentacle" + plural(2)) + " plunge") + plural(4)) + " in deep, stretching you wider than before."), false);
vagChange(2, 0);
};
doLust(Math.floor(((lib / 2) - (ment / 4))));
};
if (cockTotal > 0){
outputMainText(((((((((((((" A few wrap around your " + hipDesc()) + " hips and pull out your ") + cockDesc()) + " erection") + plural(1)) + " from your ") + clothesBottom()) + ". Your hips buck as she wraps her tentacle") + plural(1)) + " around your shaft") + plural(1)) + ", the slick skin seemingly gauging your girth more by touch than sight."), false);
doLust(Math.floor(((lib / 2) - (ment / 4))));
};
outputMainText(((((((((" Her tentacles then wrap around your " + buttDesc()) + " bum with a hug as she leans in, her breasts pressing against your ") + boobDesc()) + " chest. She kisses you lightly on the lips, slipping her tongue into your mouth. The sweet taste lingers for a moment, making you shiver in pleasure, before she moves back. Her tentacles then slime through your ") + clothesBottom()) + ", leaving your ") + buttDesc()) + " ass nice and wet before she gives it a light smack."), false);
doLust(Math.floor((10 - (ment / 10))));
doHP(-2);
} else {
outputMainText("\r\rOne of her eight tentacles whips out and lashs you, leaving a welt. She still smiles, however, as she seems to find the act a little kinky.", false);
doHP(-(eDmg(4)));
};
};
};
};
if (enemyID == 304){
if ((((attack > 30)) && ((attack <= 55)))){
outputMainText((("\r\rWith a chuckle, he bounces past you and gives you a quick swat to your " + buttDesc()) + " tush with his large foot in a rather playful manner."), false);
doHP(-(eDmg(15)));
doLust(Math.floor((((percent() / 10) + (lib / 10)) - (ment / 5))));
} else {
if ((((attack > 55)) && ((attack <= 85)))){
outputMainText("\r\rGrabbing his own fuzzy scrotum, his eyes roll up into his head for a moment, biting his lip as he massages the testicles. A bit of pre drips down his fur and lathers around his balls until they're nice and shiny. Enjoying it a little too much, he decides to include you in the fun.", false);
if (tallness <= 144){
outputMainText(" He skips right up to you, towering over you. His legs bend down, lowering his testicles before your face, his knees straddling either side of your head. He presses his relatively enormous balls into your face, practically smothering you with the scent of his nuts while he grinds his hips into your head.\r\rHappy with the quick massage, he bounds back, letting you breath again.", false);
} else {
if (tallness > 144){
outputMainText(" His feet spring him forward at you, his legs wrapping around your neck. Sitting on your shoulders, he presses his relatively giant balls into your face, making sure you get a nice whiff while he grinds his hips into your head.\r\rHappy with the quick massage, he bounds back, letting you breath again.", false);
};
};
doLust(Math.floor((((percent() / 10) + (lib / 4)) - (ment / 4))));
doeLust(10);
} else {
if ((((attack > 85)) && ((eLust >= 70)))){
outputMainText("\r\rHis pointy, carrot-like prick standing from his fuzzy sheath and dripping with pre, he decides to lunge at you.", false);
if (breastSize >= 100){
outputMainText(((((" He hops up to your " + boobDesc()) + " chest and abruptly turns around. Bending forward, his fluffy tail brushes over your face as his rump slips by. His balls rest upon your head, his sheath pressing into your face. You can feel his slick prick slip into your cleavage, the pointy tip easily drilling a path between your breasts. Within seconds the rabbity fellow begins hopping up and down upon your chest with fervor, squeezing the sides of your tits to crush his cock. You can feel his pulse beat strongly through his sheath and very soon you feel his muscles tense again and again. He lets out a groan as your ") + clothesTop()) + " floods with hot spunk, spurting between your flesh with a naughty sound and leaving your front completly swamped in a warm, sticky mess.\r\rThe whole thing taking less than a minute, he hops off of you, slapping a strand of cum across your face before returning to the battle, his lust somewhat sated."), false);
} else {
if (butt >= 50){
outputMainText(((((" He hops behind you, leaning down to grab the cheeks of your " + buttDesc()) + " ass and making the cleavage in your ") + clothesBottom()) + " much deeper. His slick prick slips into the crack and in seconds he's fervently humping through your rear. Very quickly, he lets out a groan behind you as his cock shudders in your bum, "), false);
if (tail > 1){
outputMainText((("his hand yanking your " + tailDesc()) + " high,"), false);
};
outputMainText(" while ribbons of spunk flying up your back and over your hair, decorating you in white.\r\rThe whole thing taking less than a minute, he hops off of you, leaving your back a cum-coated mess before returning to the battle, his lust somewhat sated.", false);
} else {
outputMainText(" He aims at your chest, ramming the cock against it. The slick prick slides up your body and past your head, the wet flesh pressing against your cheek. He hugs you tight as he fervently humps you, blurring your vision with the pre that flood down to lubricate. Very quickly, he lets out a groan as the conical member geysers above you, showering you in his hot spunk. \r\rThe whole thing taking less than a minute, he hops off of you, leaving you a cum-coated mess and a sore cheek before returning to the battle, his lust somewhat sated.", false);
};
};
doeLust(-30);
doLust(Math.floor((((percent() / 5) + (lib / 5)) - (ment / 5))));
} else {
outputMainText("\r\rHe bounces closer and kicks you with one of his big feet, trying to soften you up a little.", false);
doHP(-(eDmg(8)));
};
};
};
};
if (enemyID == 305){
if ((((attack > 30)) && ((attack <= 55)))){
outputMainText("\r\rWith a giggle, she leans down and tickles you, amused by how cute you look. And as she stands back up, her relatively giant breasts thwap you upside the head.", false);
doHP(-(eDmg(15)));
doLust(Math.floor((((percent() / 10) + (lib / 10)) - (ment / 5))));
if (sen >= 70){
outputMainText("\r\rYour body is so sensitive that her tickling has left you in a laughing fit. She takes the opportunity to 'attack' again.", false);
enemyAttack();
};
} else {
if ((((attack > 55)) && ((attack <= 85)))){
outputMainText("\r\rHer thighs press together as her hands reaches down to her naked groin. Biting her lip, she massages her pussy, her eyes closing with muffled whines. A bit of honey drips down her fur and lathers between her thighs until they're nice and shiny. Enjoying it a little too much, she decides to include you in the fun.", false);
if (tallness <= 144){
outputMainText(" She skips right up to you, towering over you. Her legs bend down, lowering her nether-lips to your face, her knees straddling either side of your head. She presses her relatively enormous pussy into your face, her clit rubbing across your cheek, practically smothering you with the scent of her arousal as she grinds her hips into your head.\r\rHappy with the quick massage, she bounds back, letting you breath again.", false);
} else {
if (tallness > 144){
outputMainText(" Her feet spring her forward at you, her legs wrapping around your neck. Sitting on your shoulders, she presses her relatively enormous pussy into your face, her clit rubbing across your cheek, practically smothering you with the scent of her arousal as she grinds her hips into your head.\r\rHappy with the quick massage, she bounds back, letting you breath again.", false);
};
};
if (hair > 0){
outputMainText(" However, the intense humidity and her thighs squeezing you so tightly has left your hair squished up into a mohawk.", false);
hair = 6;
};
doLust(Math.floor((((percent() / 10) + (lib / 4)) - (ment / 4))));
doeLust(10);
} else {
if ((((attack > 85)) && ((eLust >= 70)))){
outputMainText("\r\rThe bunny-girl's vulva looks rather swollen and red, and her clitoris peeks through the clothes like a very small yet erect penis. Her arousal gets the best of her and she lunges at you.", false);
if (tallness > 80){
outputMainText(((((" Her legs spread wide and her clit rams into your side, grinding up your ribs. She does her best to clamp her thighs around your body.\r\rOne hand hugs your head while the other reaches down her backside and past her tail, nearly disappearing into her hungry cunny hole. She rapidly fists herself with loud schlicking sounds, her fem-juice squirting out across your legs with each pump, while her hips pound again and against against your, powerfully dragging her relatively large clit up and down your " + clothesTop()) + ".\r\rNot surprisingly, it doesn't take long before she quivers, one last splash messing your ") + clothesBottom()) + ", as she comes to a small orgasm."), false);
} else {
outputMainText(((" Her legs spread wide as she hops over you, casting you in the shadow of her cunt. You feel a splash across your face as you look up, a strand of her fem-juice falling down as one of her hands spreads her lips open. The other hand pinches her clit, masturbating it fiercely as her rump comes down upon you.\r\rBefore you know it, you're surrounding by wet soft flesh. Two of her fingers clamp onto your legs, holding you against the ground while she stands back up, nearly lifting your " + clothesTop()) + " off of your body. You have a small moment to breath before she descends once again, ramming your whole body into her vagina. The hot walls pulse and contract around you, squeezing you tightly. You can hear her furiously stroke her clit and moans escape from above. Then she rises, exposing you to the cooler air. She continues to use her like her own personal dildo, thrusting you in and out again and again until she lets out a howl, a waterfall of slime spilling out around you and forming a puddle where you stand."), false);
};
outputMainText("\r\rShe then steps away, her quick climax being enough to satiate herself for a bit. However, she's not quite done with you yet.", false);
doeLust(-30);
doLust(Math.floor((((percent() / 5) + (lib / 5)) - (ment / 5))));
} else {
outputMainText("\r\rShe bounces closer and kicks you with one of her big feet, trying to soften you up a little.", false);
doHP(-(eDmg(8)));
};
};
};
};
}
public function clitDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("CLIT ERROR " + clitSize);
if (chance <= 100){
if (clitSize <= 2){
tempStr = "tiny";
};
if ((((clitSize > 2)) && ((clitSize <= 3)))){
tempStr = "nibble-able";
};
if ((((clitSize > 3)) && ((clitSize <= 6)))){
tempStr = "protruding";
};
if ((((clitSize > 6)) && ((clitSize <= 12)))){
tempStr = "blatant";
};
if ((((clitSize > 12)) && ((clitSize <= 25)))){
tempStr = "suckable";
};
if ((((clitSize > 25)) && ((clitSize <= 50)))){
tempStr = "cock-like";
};
if ((((clitSize > 50)) && ((clitSize <= 100)))){
tempStr = "horsecock-like";
};
if ((((clitSize > 100)) && ((clitSize <= 140)))){
tempStr = "arm-length";
};
if ((((clitSize > 140)) && ((clitSize <= 300)))){
tempStr = "person-sized";
};
if (clitSize > 300){
tempStr = "obscene";
};
};
if (chance > 50){
if (clitSize <= 2){
tempStr = "small";
};
if ((((clitSize > 2)) && ((clitSize <= 3)))){
tempStr = "pinchable";
};
if ((((clitSize > 3)) && ((clitSize <= 6)))){
tempStr = "flickable";
};
if ((((clitSize > 6)) && ((clitSize <= 12)))){
tempStr = "panty-tenting";
};
if ((((clitSize > 12)) && ((clitSize <= 25)))){
tempStr = "stroke-able";
};
if ((((clitSize > 25)) && ((clitSize <= 50)))){
tempStr = "huge";
};
if ((((clitSize > 50)) && ((clitSize <= 100)))){
tempStr = "gigantic";
};
if ((((clitSize > 100)) && ((clitSize <= 140)))){
tempStr = "doorway-smacking";
};
if ((((clitSize > 140)) && ((clitSize <= 300)))){
tempStr = "snuggle-able";
};
if (clitSize > 300){
tempStr = "obscene";
};
};
return (tempStr);
}
public function viewButtonText(button1:int, button2:int, button3:int, button4:int, button5:int, button6:int, button7:int, button8:int, button9:int, button10:int, button11:int, button12:int):void{
if (button1 == 0){
Choice1.visible = false;
};
if (button1 == 1){
Choice1.visible = true;
};
if (button2 == 0){
Choice2.visible = false;
};
if (button2 == 1){
Choice2.visible = true;
};
if (button3 == 0){
Choice3.visible = false;
};
if (button3 == 1){
Choice3.visible = true;
};
if (button4 == 0){
Choice4.visible = false;
};
if (button4 == 1){
Choice4.visible = true;
};
if (button5 == 0){
Choice5.visible = false;
};
if (button5 == 1){
Choice5.visible = true;
};
if (button6 == 0){
Choice6.visible = false;
};
if (button6 == 1){
Choice6.visible = true;
};
if (button7 == 0){
Choice7.visible = false;
};
if (button7 == 1){
Choice7.visible = true;
};
if (button8 == 0){
Choice8.visible = false;
};
if (button8 == 1){
Choice8.visible = true;
};
if (button9 == 0){
Choice9.visible = false;
};
if (button9 == 1){
Choice9.visible = true;
};
if (button10 == 0){
Choice10.visible = false;
};
if (button10 == 1){
Choice10.visible = true;
};
if (button11 == 0){
Choice11.visible = false;
};
if (button11 == 1){
Choice11.visible = true;
};
if (button12 == 0){
Choice12.visible = false;
};
if (button12 == 1){
Choice12.visible = true;
};
}
public function doOviasis():void{
var chance:int;
chance = percent();
if ((((chance <= 10)) && ((silRep == 0)))){
outputMainText("Walking through Oviasis' bazaar, you spot an odd figure amongst all the lizan folk. A humanoid shape wrapped in a white hooded cloak, the most you can manage to make out are some long fuzzy ears, a lizard-like tail, some slight curvature to the apparently feminine figure, and nearly seven feet tall, towering over most others. The person walks around, going from stall to stall trading food and trinkets, especially taking interest in whatever magical wares are available. Feathery wings peek out from her cloak whenever she reaches out for something, with finger-like talons at the tips acting like hands.", true);
if ((((pheromone > 0)) && (((((((checkItem(200)) || (checkItem(215)))) || (checkItem(101)))) || (checkItem(102)))))){
outputMainText("\r\rShortly after you begin watching her, a wind picks up from behind you and heads in her direction. She pauses and sniffs at the air a few times, picking up an odd scent that seems to make her act a little funny. As she follows her nose towards its source, she sways back and forth a little, her hips twisting around as her thighs begin to rub together. Her wings fold inward, the three finger-like talons at the ends of them awkwardly roaming about her breasts and down to her groin, fondling herself sporadically. It seems her wings are her arms, being attached at her shoulders like a bird's.\r\rOnce she gets close enough, you can see more under her cloak. A fennec-like face matches the fuzzy ears above, which each seem to be larger than her head, and a hot blush seems to have washed across her cheeks that almost matches her auburn hair. Soft fur nearly covers her body, parted in front by the large belly-scales that plate across her chest and stomach, from her slightly elongated neck down to the tip of her tail. Supple draconic spikes peek out several inches along her spine, all the way down to the tip of her tail where they gently bend back and forth as her tail swishes from side to side anxiously. The clasp of her cloak manages to hide her otherwise naked breasts, a nice pair that matches her lithe frame, though with the way she fumbles to fondle herself she threatens to undo the clasp at any moment. Her lower bits are covered by a jeweled loin-cloth - a relatively scant outfit for the torrid desert weather - which seems to be... tenting as her other hand works at herself beneath.\r\rShe bends forward as her short muzzle follows the scent right up to you, immediately nuzzling against your body. The wing at her bosom stops playing with herself to hug around you, the fingers digging into your back tenderly as she tries to hold you close.\r\r\"You... You smell sooo good~\" A long tongue reaches out to lick up your chest, the pheromone that exudes from you enrapturing her keen senses while her tail wraps around your legs. \"I don't even think I've ever...\"\r\rHer sentence simply trails off as her hips push into you, a phallic object peaking in her loin cloth and running up your side, pre smearing along its path. You can feel a feminine attribute press against your thigh as she slowly begins to gyrate on it, her other wing also encompassing you to surround you with her vibrant feathers.", false);
outputMainText(((" She gasps again and again as she tries to speak, but her words are lost to the smothering lust. Her talons pick at your " + clothesBottom()) + ", trying to burrow her way in for a more intimate connection, but her lack of mental coherence makes the effort futile.\r\rHowever, as her nuzzling brings her muzzle closer to your pack, she begins to sniff again. Her voice wavers much less as she speaks; not undone by the lust this time, \"M-Magic?\"\r\rShe firmly presses into you as her muzzle dives into your pack for an even bigger whiff. \"Y-Yes, something neat in there...\" The sudden distraction seems to have helped her mind gain focus, able to make her think more clearly despite the thing that throbs against you. She leans back to look you directly in the eyes. Fear fills her own eyes, her normally shy and meek demeanor commanding her to flee, but even deeper beyond that you can see a lonely longing inside. Her cheeks more flushed with embarassment than arousal now, the situation already quite shameful and far out of her usual comfort zone, especially in such a public place, she takes a deep breath and ventures a chance.\r\r\"Would... Would you like to come to my home?\""), false);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText((("Her eyes light up, her muzzle rushing in to kiss you. Lips locked for a moment, her eyes spring open as she catches her eagerness early. \"Heh, sorry... Umm... Hope you like flying?\"\r\rHer tail readjusts itself for a better grip around your " + buttDesc()) + " rump. And since her winged arms will be occupied with flying, her legs wind up cradling your back as she begins to take off in the middle of the bazaar, positioning you much lower down her body. You get a mighty whiff of arousal as pre drools over your lips, your face mashed up against the tip of the large erection in her loin cloth... Nevertheless, she avoids humping you too much as she focuses on remaining balanced in flight, giving you a chance to twist around and watch the sand fly by below. The two of you go higher and higher, giving you a fantastic view of the desert. You fly out of Oviasis and can soon clearly see the path to your destination: a large dune about 2 hours away on foot. You wouldn't have given much attention such a dune in your usual exploration, since it looks like many many many of the others, but as you fly over to the opposite side you can make out a large jutting stone overhanging a cave.\r\rThe strange woman takes you down and lands you gently atop the sand, giving you a good view of the outside of 'her place'. A simple tunnel burrowing into the ground beneath the rock, the entrance is decorated with all sorts of crystalline chimes that softly ring out with a slight breeze. There's also some painted barriers to keep the sand out as well as a large barrel of water and towels to allow somebody to remove any sand from themselves as well. Otherwise, you can't quite tell what's in the tunnel.\r\r\"Well, umm... This is my home!\""), true);
doNext();
doListen = function ():void{
var getCum:int;
outputMainText("Her eagerness kicks in once again as she grabs your hand and pulls you along. Inside numerous torches line the walls and keep it well lit, though that doesn't help give you any idea where you're going. You pass through several forks in the tunnel, this underground network seemingly quite large, with few markings to help guide you through. Nevertheless, you quickly find yourself in what appears to be a bedroom. Various outfits glitter with jewels along one wall while another has a large bed of fluffy sheets and another leads to more tunnels. You don't exactly have time to look around though, as she pulls you right to the bed and gently pushes you onto the plush sheets.\r\rTaking the hint, you work at removing your clothes as she hastily begins to drop her own. Then undone clasp falls away with the rest of her cloak, her average-sized breasts standing perk with nipples standing beyond the soft smooth scales. Her frame is rather small, despite her height, her body being quite thin and lithe, with her lush fur masking the toned muscles underneath. Then her hands fiddle with her loin cloth for a bit, gasping when the air touches her nude genitals as the cloth falls away. Hefty testicles squirm with seed beneath a sheath that hugs around the large erection. Slick and smooth, the shaft runs straight to the rounded rim of a thick head which tapers to a point that drools with pre. And between her thighs more slick lubricant runs down her fur, a distinctly feminine aspect hidden behind the big balls.", true);
if (cockTotal > 0){
outputMainText((((((("\r\rShe crawls up your legs, licking at " + oneYour(1)) + " own ") + cockDesc()) + " phallic endowment") + plural(1)) + ", making sure it's nice and stiff. Climbing up onto the bed with you, she carefully lines up over the tip of your "), false);
if (cockMoist < 5){
outputMainText("slick", false);
} else {
if (cockMoist < 9){
outputMainText("drooling", false);
} else {
if (cockMoist < 13){
outputMainText("pre-flooding", false);
};
};
};
outputMainText(" appendage and slowly squats down onto it. The tips of her wings hold her testicles up to allow for a smooth landing upon your manhood and is prompt to let them knock against you as 'slow' just isn't going to cut it. In her pheromone induced state, the arousal having been overhwelming this whole time, she falls down onto the rod, ", false);
if ((cockSize * cockSizeMod) < 36){
outputMainText("easily engulfing your whole length", false);
} else {
if ((cockSize * cockSizeMod) < 66){
outputMainText("her pussy squeezing around your thick girth as it seems to barely manage to swallow your entire length", false);
} else {
outputMainText("her pussy seemingly having trouble taking in your massive girth, your size much greater than her hole, yet her slit stretches more and more, her hips somehow widening to take you in, and even her belly bulges with scales easily spreading to take in all your cock-flesh", false);
};
};
outputMainText(((", until her smooth scrotum finally slaps against your groin. She reaches down with her wings and her hands grab onto your " + boobDesc()) + " chest for balance as her legs begin to powerfully pump. Up and down she goes, wildly riding your bronco as it bucks inside of her in turn, her eyes looking distant as she pants and gasps, so lost with lust. Strands of pre fling about as her own stiff appendage swings about, swatting you again and again with wet splashes as it whacks against your front. You struggle a little to hold onto her thighs so you aren't sucked up into her by your cock from her voracious efforts and quite quickly you begin to feel that oh-so-familiar pressure beginning to build.\r\rWith a loud erotic vulpine howl, this strange woman shudders as she feels you spew within."), false);
getCum = cumAmount();
if (getCum < 1000){
outputMainText(" Your hot load churns about her tunnel as you spray about, not a single drop slipping from her slit as her womb drinks it in.", false);
} else {
if (getCum < 5000){
outputMainText(" Your hot load forces her belly to visibly distend as you spray within, the grand amount of spunk churning around and drowning your gushing head, yet hardly any seems to spill from her slit as her womb drinks it in, thirsty for seed.", false);
} else {
outputMainText(" Your hot load forces her belly to expand, inflating as you spray within, the massive amount of spunk audibly churning within. However, only a fraction of the stuff spews back out through her slit, as her womb seems to gulp it down as though it were desparately thirsty for seed.", false);
};
};
outputMainText(" Her own eruption begins, the bobbing cock launching thick threads of white creamy cum over your body, whipping them up and down as she continues to bounce upon you. Eventually, her legs give out from the intense orgasm and she falls forward with her wings outspread to shelter you both within her embrace, forcing your cock to bend and eventually fly out from her heated cunt to let it drizzle on the floor. She continues to spurt a bit of cum between the two of you, the smell of sex rapidly intensifying within the feather confines, her orgasm shortly diminshing as the scent overpowers your pheromones...", false);
doLust((-(sen) * 2));
silPreg = 1;
} else {
if ((((vagTotal > 0)) && ((vagLimit() > 28)))){
outputMainText((((((("\r\rShe crawls up your legs, licking at " + oneYour(2)) + " own ") + vulvaDesc()) + " slit") + plural(2)) + ", making sure it's moist and large enough to fit. Climbing up onto the bed with you, she carefully lines up the tip of her male endowment with your female honey-hole, carefully wedging the head through your supple folds. However, your warmth around her genitals is too much, the intense arousal this entire time from your pheromones getting the best of her senses. She plows into your passage, "), false);
if ((tallness / 2) < (vagSize * vagSizeMod)){
outputMainText("pushing your belly out from within, ", false);
};
outputMainText((((((("until her balls slam against your " + buttDesc()) + " rear beneath. Straddling her own scrotum to grind her hidden slit against as she moves, she begins to thrust through your tender flesh, making her moan and whine from the fantastic sensations your pussy provides. Her wings curl around to embrace you and steady herself, trapping you both within a dome made by her feathers. The heat rapidly begins to build as she pounds into you vigorously, panting and moaning as she begins to drool from the overwhelming lust.\r\rIt doesn't take long before she let's out a loud erotic vulpine howl. Hot spunk floods through your womb, gushing and churning as she presses her breasts against your ") + boobDesc()) + " chest. Her eyes clench as you climax as well, your walls chewing upon her erection and making her twitch sporadically. The hot heavy feeling of your pussy around her cock proves to be too much, forcing her to pull out to let the cooler air kiss her wet shlong as it finishes its explosion between the two of you, spitting across her scales and fur and your ") + skinDesc()) + ". The smell of sex rapidly intensifies within the feather confines, her orgasm shortly diminshing as the scent overpowers your pheromones..."), false);
doImpregnate(dominant);
} else {
if (vagTotal > 0){
outputMainText("\r\rNoticing she is far too large for you and still having the sense to not hurt you,", false);
} else {
outputMainText("\r\rNoticing a lack of any genitals to use,", false);
};
outputMainText(((" she opts to simply lay down over you, straddling one of your thighs. Her balls push to either side as her slit behind presses against your " + skinDesc()) + ", her rod pushing across your belly. Her hands reach out to hug your head while her wings raise up, trapping you both within a dome made by her feathers. The heat rapidly begins to build between you two as she begins to grind vigorously, desparate to finally climax after having been so dreadfully aroused since she first caught onto your pheromones. Moaning and gasping aginst your face, she curls her back again and again to thrust her thick cock across your groin, threads of pre "), false);
if (udders == true){
outputMainText(" smearing all over your udder.", false);
} else {
outputMainText(" trailing up and down your belly.", false);
};
outputMainText((("\r\rIt doesn't take long before she lets out a low erotic vulpine howl. Hot spunk spews up between the two of you, trapped by her wings and raining down upon you. Her thighs clamp around your leg, her clitoris pulsing upon you " + skinDesc()) + " as the backside of her testicles are flooded with fem-cum. The smell of sex intensifies within the feathered confines, her orgasm quickly diminishing as the scent overpowers your pheromones..."), false);
};
};
doNext();
doListen = function ():void{
outputMainText("This strange girl collapses on top of you, huffing and panting and ignoring the sticky mess. Her eyelids droop heavily, the expression on her face so ecstatic yet so exhausted from just the single orgasm, as though a much greater weight had finally been lifted from her, beyond that in her loins.\r\rIt takes her nearly an hour of laying on top of you, nuzzling and licking at you the whole while, before her mind finally returns to her. She blinks, as though finally realizing what just happened, and blushes heavily. Rolling off onto the bed beside you, she gasps. There's a bit of fear in her voice, as though her self-conscious self was regaining, and she turns away.\r\r\"I-I'm so sorry!,\" she spouts meekly. However, she turns back to look you in the eye, a sense of wonder and relief shining in her own. \"Th-Though... It was really nice to have some company for once.\" She smiles.", true);
if (cockTotal > 0){
outputMainText(" She then looks down at her belly and rubs it with a hand, relishing the feeling of your seed in her womb. \"That was a lot more... fulfilling than I had imagined it would be.\" A glow seems to fill her expression as she croons over it.", false);
};
outputMainText("\r\r\"Anyways, let me help clean you up, I see I've made a bit of a mess...\" Again she blushes, though this time it's more from embarassment at how much of a mess she made between the two of you rather than her shy nature. She lifts herself from the bed, her wings trying to cover her nude front in an attempt at modesty as she heads off into the tunnels to grab some towels. Her tail, on the other hand, is so happy from the experience that it lifts high, giving you a good view of her tight rump anyways. When she soon returns, she has somehow donned a new outfit in the time away, a simple robe of silken cloth that looks more suited for sleepwear than to go out into the desert in, especially with the way it hugs her curves and bulges leaving little to the imagination. Which, of course, in turn makes her blush again, her large ears turning red, as she realizes the indecency of the outfit while you stare at her. It's not something she had worn around others before and she hadn't thought about it...\r\rEventually, she helps clean up the majority of spunk from your body, rubbing your down from head to toe and trying not to focus too much on your naughty bits.\r\rOnce you're all cleaned up, she leads you back to the entrance to her den, knowing she somewhat interrupted your exploration. You note that the tunnel system seems quite extensive for just a single inhabitant, yet there is no sign of others...\r\r\"Well, umm... Thank you for coming to my place. You're welcome back any time. I... I do hope to see you again.\" She smiles awkwardly.\r\rYou give her a hug before you leave, being wrapped up in her feathers once more. And as you turn and step out from the rock overhang, she calls out for one last thing.\r\r\"Oh yeah! Hi, my name is Silandrias! What's yours?\".", false);
hrs = 5;
silRep = 1;
doEnd();
};
};
} else {
outputMainText("Your rejection falls harshly upon her, her ears pinning back against her hood and her tail swinging in between her legs. She jumps away from you, her wings flap around you as they release and snap back to cover herself. She steps backwards, her eyes peering through a couple feathers with tears welling up as she hides behind them, and she gulps to speak, \"Oh... I-I'm so sorry for what happened then!\"\r\rHer sandles kick up the sand as she turns to run away and after a few yards her wings unfurl for a speedier retreat.\r\r\rUnsure of who this stranger was or what exactly happened, it's the last you've seen of her.", true);
silRep = -1;
hrs = 2;
doEnd();
};
};
} else {
if (pheromone > 0){
outputMainText("\r\rShortly after you begin watching her, a wind picks up from behind you and heads in her direction. She pauses and sniffs at the air a few times, picking up an odd scent that seems to make her act a little funny. As she follows her nose towards its source, she sways back and forth a little, her hips twisting around as her thighs begin to rub together. Her wings fold inward, three finger-like talons at the ends of them awkwardly roaming about her breasts and down to her groin, fondling herself sporadically. It seems her wings are her arms, being attached at her shoulders like a bird's.\r\rOnce she gets close enough, you can see more under her cloak. A fennec-like face matches the fuzzy ears above, which each seem to be larger than her head, and a hot blush seems to have washed across her cheek that almost matches her auburn hair. Soft fur nearly covers her body, parted in front by the large belly-scales that plate across her chest and stomach, from her slightly elongated neck down to the tip of her tail. Supple draconic spikes peek out several inches along her spine, all the way down to the tip of her tail where they gently bend back and forth as her tail swishes from side to side anxiously. The clasp of her cloak manages to hide her otherwise naked breasts, a nice pair that matches her lithe frame, though with the way she fumbles to fondle herself she threatens to undo the clasp at any moment. Her lower bits are covered by a jeweled loin-cloth - a relatively scant outfit for the torrid desert weather - which seems to be... tenting as her other hand works at herself beneath.\r\rShe bends forward as her short muzzle follows the scent right up to you, immediately nuzzling against your body. The wing at her bosom stops playing with herself to hug around you, the fingers digging into your back tenderly as she tries to hold you close.\r\r\"You... You smell sooo good~\" A long tongue reaches out to lick up your chest, the pheromone that exudes from you enrapturing her keen senses while her tail wraps around your legs. \"I don't even think I've ever...\"\r\rHer sentence simply trails off as her hips push into you, a phallic object peaking in her loin cloth and running up your side, pre smearing along its path. You can feel a feminine attribute press against your thigh as she slowly begins to gyrate on it, her other wing also encompassing you to surround you with her vibrant feathers.", false);
outputMainText(((" She gasps again and again as she tries to speak, but her words are lost to the smothering lust. Her talons pick at your " + clothesBottom()) + ", trying to burrow her way in for a more intimate connection, but her lack of mental coherence makes the effort futile.\r\rYou can begin to see tears well up in her eyes from her failing efforts, her hips grinding so harshly in desperation that you can feel the hard erection throb in preparation for an unrequited premature explosion. She whines and whimpers meekly as she begins to twitch."), false);
doNext();
doListen = function ():void{
outputMainText("Wads of white spunk spew through this strange woman's loin cloth. It smatters across your body and paints her thighs as much runs down the inside of the cloth. Plenty of it washes up through her cleavage, finally undoing the clasp with the slick lubrication and making her nipples shine with the moisture as they're freed. She coos and shudders for a few more moments, the cum running out as it continues to pump, her other genitals making a mess upon your leg. Her head hangs low as she tries to regain her breathing, her mind slowly returning.\r\rThe smell of her own naughtiness fills her nose. Realizing what she had just dowe, she looks up at you with eyes wide in fear. Stricken with embarassment, her normally shy demeanor takes charge as she jumps back from you, her wings flapping around you as they let go and snap back around herself to cover the mess she's made of herself.\r\r\"I-I'm so sorry!\" She turns away and begins to run through the crowd, trying to avoid being caught by anybody, her tail slinking between her legs. Once she's out of the bazaar and in a more open location, she kicks up into the air, her wings unfurling and taking her to the air for a speedier retreat. Wads of gooey stuff spills where she takes off, with more being flung around by the flapping of her wings, leaving a short trail before she disappears into the distance. None of the locals were close enough to be caught up in the mess and none seemed to have paid her much mind anyways.\r\r\rLeft in the middle of a crowd and covered in a stranger's lewd fluids, you're not quite sure how to react... You wipe some of it off, but the hot air quickly takes care of the rest. A little dazed, you ask around about this strange woman and find that she's a frequent visitor to Oviasis. Although nobody really knows who she is, she has been coming by for years to trade for supplies or to pick up magical goods, which she is quite fond of. You don't quite mention the extra bit about her... mess and the situation behind it, on the other hand, as the locals never mentioned any form of sexual assaults. It seems she is quite a shy person, so they don't know much more beyond her market habits and friendly demeanor.", true);
doLust(Math.floor((lib - (ment / 5))));
hrs = 2;
doEnd();
};
} else {
if (((((((checkItem(200)) || (checkItem(215)))) || (checkItem(101)))) || (checkItem(102)))){
outputMainText("\r\rShortly after you begin watching her, a wind picks up from behind you and heads in her direction. She pauses and sniffs at the air a few times, picking up a scent and slowly moving towards you as she uses her nose to follow it, not yet noticing your actual presence just yet.\r\rAs she moves closer, you can see more under her robe. A fennec-like face matches the fuzzy ears above, which each seem to be larger than her head, and long auburn hair. Soft fur nearly covers her body, parted down her front by the large belly-scales that plate across her chest and stomach, from her slightly elongated neck down to the tip of her tail. Supple draconic spikes peek out several inches along her spine, all the way down to the tip of her tail where they gently bend back and forth as her tail swishes from side to side anxiously. Her wings and arms are one in the same, each tipped with three finger-like talons that make up her hands. The clasp of her cloak manages to hide her otherwise naked breasts, a nice pair that matches her lithe frame, while her lower bits are covered by a jeweled loin-cloth - a relatively scant outfit for the torrid weather.\r\rAnd as she finally closes in on you, she ducks down as her short muzzle continues to sniff about. She sniffs right up your legs and at your pack, quietly speaking to herself in a feminine voice.\r\r\"Ooo, definitely some magic emanating from here. I wonder what it could be? Crafted? Naturally imbued? A weapon? Or maybe a charm? It's been a few weeks since I've found anything neat around here to add to my collection, I can't wait to see it!\" Her fingers dig into your pack and start to shuffle around for the magical goody, but slowly comes to a stop as she looks up. It wasn't until now that she realizes that it has been attached to a person this whole time - you. She hops back with a blush, her head ducking between her shoulders with embarrassment. \"Oh dear, I'm so sorry! I-I was just hunting for magical treasures!...\" Her toes curl awkwardly over her sandals. \"Umm... Bye!\"\r\rShe disappears into the crowd and heads out of the bazaar in embarassment before dashing off upon her wings,", false);
outputMainText(" her shyness getting the best off her.\r\rNot quite sure what just happened, you ask around about this strange woman and find that she's a frequent visitor to Oviasis. Although nobody really knows who she is, she has been coming by for years to trade for supplies or to pick up magical goods, which she is quite fond of. It seems she is quite a shy person, hence her little stint with you, so they don't know much more beyond her market habits and friendly demeanor.", false);
hrs = 2;
doEnd();
} else {
outputMainText("\r\rNot long after you begin staring at her, she catches you out of the corner of her eye as well. She looks at you for only a moment, realizing you're gawking at her, and comes to an abrupt halt. Meekly, she steps backwards into the crowd, shyly avoiding your presence as she disappears.\r\rWith no sign of her anymore, you shrug and move along.", false);
hrs = 1;
doEnd();
};
};
};
} else {
if ((((chance <= 10)) && ((silRep < 6)))){
if ((((((silPreg > 360)) || ((((silRep > 2)) && ((silPreg > 300)))))) || ((((silRep > 3)) && ((silPreg > 200)))))){
outputMainText("Walking through thr Oviasis bazaar, you notice that it's about the time Silandrias usualy does her shopping, but you see no sign of her. There must be some reason she hasn't flown out here...", false);
hrs = 1;
doEnd();
} else {
outputMainText("Walking through Oviasis' bazaar, you spot Silandrias doing her usual shopping.", true);
if (silPreg > 36){
if (silPreg <= 72){
outputMainText(" She has a slight smile as her wings roam about the growing bulge in her belly, the shape so obvious against her normally lithe form. A smile on her face when she looks at you silently passes the message that she knows it's because of you, but finds the sensation too blissful to actually speak about it.", false);
} else {
if (silPreg <= 150){
outputMainText(" Her wings hug under her gravid form, holding and groping it as she feels it sway with each step, so big on her thin form; her belly-scales looking larger as they stretch across the girth. She seems a bit giggly at her state as she looks to you as the cause, but doesn't think it needs stating at this point.", false);
} else {
if (silPreg <= 240){
outputMainText(" Her belly has grown so large that the tips of her wings can no longer connect around her form, but that doesn't keep her from trying as she rubs over the stretched scales again and again, relishing in their sensitivity, even in this bazaar with people all around. She still manages to stand up straight, though, as her strong lithe build can handle it, but she clears quite the path as she goes through the crowds.", false);
} else {
if (silPreg <= 360){
outputMainText(" She leans forward slightly as her weighty girth fills the path before her. Her feathers brush over her taut belly-scales, trying to fan them slightly with the slight pleasure she feels as the finger-like talons grab into the scales as well as they can to help hold her steady, causing her to gasp erotically amidst the crowds. She bends slightly at the knees to aid in holding up her expanding womb, looking a little silly all the while.", false);
};
};
};
};
};
if (silRep == 1){
if (silPreg > 120){
outputMainText(" And with the swelling of her breasts, flesh overflowing above and below the clasp of her cloak, she's rather cautious of any potential 'incidents' that might occur in this public place...", false);
} else {
if (silPreg > 60){
outputMainText(" However, she seems a bit embarassed amongst the lizan people as it seems her breasts have also begun to swell slightly with her belly, the clasp in her cloak being much more 'obvious' than before...", false);
} else {
outputMainText(" Clad in her usual white cloak, she shops without issue.", false);
};
};
};
if (silRep == 2){
if (silPreg > 200){
outputMainText(" Having completely given up on the clasp of her cloak, the thick nipples of her top breasts barely hold the cloak over most of her mammary flesh. Bigger than her head now, the top pair swings from side to side as she walks, while the smaller pair below jiggle slightly as her belly bobs between them, almost completely bare if it weren't for her wings in the way. She blushes tremendously as she walks through this public place, rapidly shopping to be done as soon as possible, especially as many eyes stare at her", false);
} else {
if (silPreg > 120){
outputMainText(" Both pairs of breasts are becoming quite swollen now. She worries about the top pair that threatens to break through the clasp of her cloak while the second pair pushes against the edge of the fabric; the smaller mounds nearly slipping out with the protruding belly spreading the cloak open. She still manages to cover the exposed side-boob with her wings, unsure what to do about them while she hurriedly shops.", false);
} else {
if (silPreg > 60){
outputMainText(" Also her breasts seem to have begun swelling once more, although this time she seems more worried about some extra growth... Just below her burgeoning bust, another pair of mounds have begun to swell. Her cloak still manages to cover them, but she still tries to cover them with her wings just in case, to prevent the lizan people from noticing.", false);
} else {
outputMainText(" And with growth in her breasts having diminished with her belly, she walks around with more confidence, though it does seem she's got a bit of tightness still as eyes sometime draw to her chest.", false);
};
};
};
};
if (silRep == 3){
if (silPreg > 200){
outputMainText(" The upper clasp already undone and the second clasp close to being the same, her cloak doesn't seem to be doing much for her. Half of her top areolas peek out from the edge of the draped cloak, easily the size of small dinner plates, while the second pair press obviously against the tight cloak. Meanwhile, the third pair simply jiggles freely, well more than a handful, as they bounce with the belly. She tries to cover them with her feathers, but with all the other masses she has to deal with she often neglects them. With the redness in her face as she desparately rushes through the bazaar, it's amazing she even made it this far.", false);
} else {
if (silPreg > 120){
outputMainText(" And she tends to pull at the upper clasp in her cloak, trying to give herself more breathing room as the orbs billow out about and below, much larger than her head. Less self-conscious now, it seems her worries have become more about keeping her cloak together than the greater attention she receives, especially as the pair directly beneath isn't fairing much better either, with the second clasp it stretched across both the large mounds and the upper portion of her growing belly. Her third pair, on other hand, make for good hooks as the nipples catch the edge of the cloak on either side, keeping the sides of her belly covered as she hugs it, at least.", false);
} else {
if (silPreg > 60){
outputMainText(" In spite of her adjustments to her cloak, her top pair of breasts are once more pushing at the expanded clasp, with her second pair seemingly following suit against their own, renewing her self-conscious behavior around the lizan people. However, the most embarassing part for her is that another pair looks to be growing in as well, flanking her belly with small mounds beneath the cloak, which she desparately hides...", false);
} else {
outputMainText(" It also seems as though she's made some adjustments to her cloak. Though her breasts may have reduced in size after the last laying, she still retains the second pair which has been nicely covered by an additional clasp. However the top pair seems to have had some extra cloth added to the bust, to make up for the increased size...", false);
};
};
};
};
if (silRep == 4){
if (silPreg > 120){
outputMainText(" Having found some twine somewhere, she has managed to create make-do clasps for her cloak to more effeciently cover herself. However, those clasps are across her back as the cloak is on backwards in an attempt to cover her front with as much fabric as possible. And yet, despite the effort, her upper pair is already peeking out from the sides as it stands and all of her nipples press obviously against the cloth as her belly pushes them firmly against the make-do outfit. Considering she's nearly fainting from the amount of blood rushing to her face in embarassment, you doubt she'll be making many more trips to the bazaar after this...", false);
} else {
if (silPreg > 60){
outputMainText(" And just as before, her breasts have begun to swell already. In anticipation... she didn't even bother latching the clasps. Depending on her large perk nipples and the occasional tug to keep it shut, the cloak manages to cover some of herself. Suffice it to say, there's a lot of exposed belly-scales as the breast flesh stretches them in curvy manners. What's most troublesome, though, is that there is yet another pair beginning to blossom below the third, accentuating the size of her relatively small belly even more. Nearly every lizan face turns to gawk at her as she rushes through to shop, forcing her to blush the whole way.", false);
} else {
outputMainText(" With her curves back to a relatively normal state, she seems to be trying to get out and shop again with her cloak. However, her top breasts are already pressing tightly against the upper clasp, despite her reduced sizes from the laying. The lower clasp looks like how the top one used to be when you first met her, which isn't too bad. The bottom pair of decent sized breasts seem to peek out with even the slightest breeze, on the other hand, as she hasn't made a third clasp yet... Thankfully, she can keep those hidden beneath the goods she buys as she travels through.", false);
};
};
};
outputMainText("\r\rShe stops for a moment to greet you and give you a hug, but with the crowds bustling around you she merely mentions you're welcome to come by her den to visit with her more privately. Then she jumps back into the crowd, eager to finish her browsing so she can retreat back to her private home soon.", false);
hrs = 1;
doEnd();
};
} else {
if ((((((chance <= 30)) && ((hour >= 8)))) && ((hour <= 20)))){
outputMainText("Walking around the hidden paradise, you come across a rather... shiny area. A nice open beach beside the water is covered with the bodies of lizan people, all sunning themselves in the nice weather. Plenty are covered with oils to help their scales look bright and lush from the incoming rays, and more than a few are covered with nothing else on this private beach...", true);
if (percent() <= 50){
outputMainText("\r\rAs you peer over the beach of slick figures, one by your feet squirms a little and opens an eye, only able make out your silhouette amidst the sunlight, but doesn't seem to care.\r\r\"Would you be a dear and put some more oil on me, I'm feeling a bit dry.\"\r\rThe sweet voice of the very feminine figure is obviously directed at you. She's one of those who prefer to sunbathe in the buff, letting all her vivid array of scales soak up the warmth. Side-boob can be seen squishing out either side of her chest as she lays upon them, her arms crossed beneath her head. The curvacious body narrows at her waist and expands dramatically at her hips, her rump nice and tight as her tail covers her naughty bits. You can see a bowl of oils beside her, the stuff she's already glazed with.\r\rWill you add some more?", false);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (ment <= 10){
outputMainText("You nod and derp, picking up the bowl of oils and splashing it across her back. Then you fall down onto her, wiggling like an idiot and using your front to splash and \"massage\" the oil into her scales. The woman jerks in shock, rolling out from under you, her breasts bobbing around and sparkling from the sand, as she slaps you for your rough treatment.\r\r\"Get away from me!\", she says with an annoyed tone. \"I'll get someone else to help. You creep!\"\r\rShe stares you down and waits for you to leave before rolling back onto the sand, awkwardly trying to clean up the mess you made on her back...", true);
doHP(-3);
stats(0, -1, 0, 0);
hrs = 2;
} else {
if (ment <= 40){
outputMainText("You nod and kneel down, splashing your hands around in the bowl to get them nice and drippy with oil. Then you press them onto her back, smearing them around haphazardly, trying to coat her the best you can. Your lack of finesse makes her eye you curiously for a bit, but she shrugs as you're getting the job done. Quite soon she's as shiny as the rest of them.\r\r\"Thank you for the help,\" she smiles and nods at you. Then she dozes off into another nap, content, allowing you to go off on your own again.", true);
stats(0, 1, 0, 0);
hrs = 2;
} else {
if (ment <= 80){
outputMainText("You nod and kneel down beside her, picking up the bowl and drizzling the oil down her spine. She shivers a little from the sensation and croons as your hands come down to press it into her scales, gently pushing it around and kneading her muscles carefully. She squirms a little as you hit her tense areas, obviously enjoying the massage you're giving her. Even her tail whips around a bit as you coat it, exposing her supple genitals for a moment as she accidentally flashes you.\r\rSoon, she's quite coated and relaxed from your efforts. She thanks you for the pleasant experience and insists you take a vial of the oil with you, at least as compensation.", true);
doLust(5);
itemAdd(228);
hrs = 3;
} else {
outputMainText((("You nod with a smile and straddle her rump as you kneel down, making sure to stay slightly aloft so as to not put any weight on her. You pick up the bowl and drizzle the oil down her spine, then press into it with your hands and spread it out across her body. Using your weight for more pressure, you deeply massage all of her muscles as you knead into her soft scales, making her moan softly from the tender treatment. You can feel her tail beging to flick beneath your " + buttDesc()) + " rump as you make your way down to the small of her back, until you trap it as you shuffle back to sit over her knees.\r\rHer tight tush tenses a bit as you gently brush the oil over it, but quickly relaxes as you grab and gently squeeze it. You softly grind into it, making her tail spasm beneath you until it eventually pulls out from under you as you begin to work at its base. You can see the blush in her face as she realizes she has unconsciously flashed you, her supple lips squished between her thighs below her tail. You can see a few sparkles from the dew that's collecting on them, your efforts being a little too pleasant. However, she doesn't seem to try to cover herself and after a moment of your working at her tail, massaging from the tip to the base, she spreads her legs beneath you until you have to adjust your stance to kneel between them.\r\rHer sex quite exposed and drooling honey into the sand below, your hands move in to oil up between her thighs. You slowly work your way up her legs, teasing her until the drooling becomes much more prominent, a large drop pushing out as you press into the outer labia. Her tail nearly slaps you in anticipation, it flicking around so much, and practically urges you to move in. Taking the blatent hints, you gently tug and squeeze at the tender lips, pressing your fingertips into her sex and slipping around to massage the wholly erect button at the front. Your hands deftly fly through again and again, making her gasp and her whole body squirm, shimmering from the oil you had supply her with. As her moaning increases, her panting coming to a climax, you watch as her lips spread. As she groans into the sand in orgasm, trying to muffle herself from everyone around her, your hands"), true);
outputMainText(" are filled with a good-sized egg, covered in sensual slime.\r\rHer tail collapses onto your shoulder, resting there as you finish wiping her up and bringing her down, until you finally complete your task. Still breathing heavily, her body looking quite tired, she merely turns up towards you.\r\r\"Please, take some oil with you. Hands like those must be taken advantage of~,\" she sighs pleasantly. \"And you can keep the egg as thanks.\" She sticks out her tongue teasingly, but quickly lays back down to take a nice soothing nap to reminisce the recent events, leaving you to go off on your own.", false);
itemAdd(228);
itemAdd(219);
hrs = 4;
};
};
};
doEnd();
} else {
if (ment <= 10){
outputMainText("Either not wanting to get your hands covered in oil or being allergic to the female species, you decide not to help her with her oiling. Instead you awkwardly step back and sneak away, leaving the woman wondering what happened.", true);
stats(0, -1, 0, 0);
} else {
if (ment <= 40){
outputMainText("For whatever reason, you don't want to help her with the oiling. Instead you mumble some kind of lame excuse and walk away, leaving her to shrug and try to flag down the next passerby.", true);
} else {
if (ment <= 80){
outputMainText("Deciding not to help her, you calmly explain that you either don't have the time or you have to do something else. You thank her for the offer anyways and she nods back with a smile, waiting to flag down someone else for assistance.", true);
stats(0, 1, 0, 0);
} else {
outputMainText("You kindly decline her gracious offer, mentioning how beautiful she looks already and how you might have had \"trouble\" giving her a massage like that, considering her nice features. She gives you a blushing smirk and giggles a little, offering you to take a vial of her massage oils for yourself, as thanks for the sweet compliments.", true);
itemAdd(228);
};
};
};
hrs = 1;
doEnd();
};
};
} else {
outputMainText("\r\rAs you peer over the beach of slick figures, one by your feet squirms a little and opens an eye, only able make out your silhouette amidst the sunlight, but doesn't seem to care.\r\r\"Would you please give me a hand and oil me up? I can feel my scales starting to dry a little.\"\r\rThe deep voice of the very masculine figure is obviously directed at you. He's one of those who prefer to sunbathe in the buff, not afraid to show off his physique. His shoulders are broad and his muscles are nice and toned, even his ass shining with tightness. His tail droops over his crack, though you can see it's lifted a tad from laying atop his testicles and his dual-cocks laying lazily on either side beneath it. You can see a bowl of oils beside him, the stuff he's already glazed with.\r\rWill you add some more?", false);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (ment <= 10){
outputMainText("You nod and derp, picking up the bowl of oils and splashing it across his back. Then you fall down onto him, wiggling like an idiot and using your front to splash and \"massage\" the oil into his scales. The man jerks in shock, rolling out from under you, his large balls swinging beneath his dual cocks, as he whacks you for your crude treatment.\r\r\"What are you doing?!\", he shouts with an annoyed tone. \"I'll get someone else to help. You nut!\"\r\rHe stares you down and waits for you to leave before rolling back onto the sand, awkwardly trying to clean up the mess you made on his back...", true);
doHP(-5);
stats(0, -1, 0, 0);
hrs = 2;
} else {
if (ment <= 40){
outputMainText("You nod and kneel down, splashing your hands around in the bowl to get them nice and drippy with oil. Then you press them onto his back, smearing them around haphazardly, trying to coat him the best you can. Your lack of finesse makes him eye you curiously for a bit, but he shrugs as you're getting the job done. Quite soon he's as shiny as the rest of them.\r\r\"Thanks for the help,\" he smiles and nods at you. Then he dozes off into another nap, content, allowing you to go off on your own again.", true);
stats(0, 1, 0, 0);
hrs = 2;
} else {
if (ment <= 80){
outputMainText("You nod and kneel down beside him, picking up the bowl and drizzling the oil down his spine. He shudders a little from the sensation and croons as your hands come down to press it into his scales, gently pushing it around and kneading his muscles carefully. He wiggles a little as you hit his tense areas, obviously enjoying the massage you're giving him. Even his tail whips around a bit as you coat it, exposing his large testicles and dual cocks for a moment as he accidentally flashes you.\r\rSoon, he's quite coated and relaxed from your efforts. He thanks you for the unexpectedly pleasant experience and insists you take a vial of the oil with you, at least as compensation.", true);
doLust(5);
itemAdd(228);
hrs = 3;
} else {
outputMainText((("You nod with a smile and straddle his bum as you kneel down, making sure to stay slightly aloft so as to not put any weight on him. You pick up the bowl and drizzle the oil down his spine, then press into it with your hands and spread it out across his body. Using your weight for more pressure, you deeply massage all of his muscles as you knead into his soft scales, making him groan a little from the tender treatment. You can feel his tail beging to flick beneath your " + buttDesc()) + " rump as you make your way down to the small of his back, until you trap it as you shuffle back to sit over his knees.\r\rHis tight butt tenses a bit as you genetly brush the oil over it, but quickly relaxes as you grab and gently squeeze it. You softly grind into it, making his tail spasm beneath you until it eventually pulls out from under you as you begin to work at its base. You can see him wince with embarrassment as he realizes he's giving you a good view of his nethers, his large balls squished between his thighs with the heads of twin cocks peeking out underneath. You can see a few sparkles from the pre that drips out onto the sand, your efforts being a little too pleasant. However, he doesn't seem to try to cover herself and after a moment of your working at his tail, massaging from the tip to the base, he spreads his legs beneath you until you have to adjust your stance to kneel between them for better access.\r\rHis dongs clearly in view, his testicles squirming with cum, your hands move in to oil up between his thighs. You slowly work your way up his legs, teasing him until the drooling pre becomes much more prominent, large drops pushing out as you grab the orbs. His tail nearly slaps you in anticipation, flicking around so much, and practically urges you towards the happy ending. Taking the blatent hints, you grope at the cum-filled things, reaching down to grab one cock in each hand. The fleshy things harden in your grip, growing slightly longer, but the overgrown fruits still weigh down on them, covering much of your hands as you pump the cocks one after the other. The pre smears about, plenty of lubrication, and he begins to grunt and tense over the sand while you deftly jerk him off. Soon, his tail freezes, standing high as spunk spits out across the sand and pooling around your knees, the balls working hard to keep up with the relief"), true);
outputMainText(" until you're kneeling in a puddle of the stuff.\r\rHis tail collapses onto your shoulder, resting there as you finish wiping him up and bringing him down from the orgasm, until you finally complete your task. Still breathing heavily, his body looking quite tired, he merely turns up towards you.\r\r\"Please, take some oil with you. You seem to be better at using it than me. And here,\" he reaches into his pile of clothes and pulls out a large berry, \"take this with you, I've had enough for a while, if you couldn't tell.\" He sticks out his tongue in jest, but quickly lays back down to take a nice soothing nap to reminisce the recent events, leaving you to go off on your own.", false);
itemAdd(228);
itemAdd(208);
hrs = 4;
};
};
};
doEnd();
} else {
if (ment <= 10){
outputMainText("Either not wanting to get your hands covered in oil or being allergic to the male species, you decide not to help him with his oiling. Instead you awkwardly step back and sneak away, leaving the man wondering what happened.", true);
stats(0, -1, 0, 0);
} else {
if (ment <= 40){
outputMainText("For whatever reason, you don't want to help him with the oiling. Instead you mumble some kind of lame excuse and walk away, leaving him to shrug and try to flag down the next passerby.", true);
} else {
if (ment <= 80){
outputMainText("Deciding not to help him, you calmly explain that you either don't have the time or you have to do something else. You thank him for the offer anyways and he nods back with a smile, waiting to flag down someone else for assistance.", true);
stats(0, 1, 0, 0);
} else {
outputMainText("You kindly decline his gracious offer, mentioning how handsome he looks already and how you might have had \"trouble\" giving him a massage like that, considering his nice features. He laughs heartily at the thought, offering you to take a vial of his massage oils for yourself, as thanks for the complimentary humor.", true);
itemAdd(228);
};
};
};
hrs = 1;
doEnd();
};
};
};
} else {
if (chance <= 30){
outputMainText("With the hidden valley practically packed with the lizan people that have come out to enjoy the night air, made pleasantly warm by the heat from the oasis waters, you have difficulty getting your bearings. You wander about with no idea where you're going, passing by crowd after crowd of friends who have gotten together to socialize. Eventually, however, you seem to have found your way back to the rock formations where everybody lives. At this time of night, they are usually quite empty as everyone heads out to the oasis. Yet, you can hear some rather... rambunctious noises. You peep inside one of the lower, larger rooms and spot what seems to be a lizan orgy, with several males and a few females.", true);
if (vagTotal < 1){
outputMainText("\r\rConsidering the males are already bickering about the lack of available vaginas to plug, you probably wouldn't be of any assistance anyways, so you just continue on...", false);
hrs = 1;
doEnd();
} else {
outputMainText("\r\rWith the obvious disparity of sexes in the orgy, they could probably use more females. Would you like to lend an extra hole or two?", false);
buttonConfirm();
doListen = function ():void{
var tempInt:int;
if (buttonChoice == 6){
tempInt = 0;
outputMainText("They welcome you into the group, eager to have some more feminine attributes around. Within moments of joining, ", true);
if (vagTotal > 2){
outputMainText(((((((" multiple males approach you, noticing your rather generous amount of available pussies and beginning to stroke their stiffening appendages. They crowd around you, pulling " + pullUD(2)) + " your ") + clothesBottom()) + " for easier access as they lift you up amongst them, spreading your legs wide while their many cocks swarm about beneath you. Each of your holes soon finds a guest burrowing inside, stretching your ") + vulvaDesc()) + " lips all the way to accomodate the many invaders. The men all grunt and groan as they toss you about, jiggling you up and down in the air and thrusting in different rhythms. The whole situation is difficult to track, yet soon enough you can feel a flood of fluid spray about beneath you as they go off one after the other, each feeling the churning of cum through the walls of your separate cunts. Your own orgasm forces the semen to squirt about your thighs and drench their legs, with even more leaking out in collective gobs as the guys slowly bring you back down to the ground, your legs a bit bowed from the experience."), false);
i = 0;
while (i < vagTotal) {
doImpregnate(6);
i++;
};
doLust((-3 * sen));
tempInt++;
hrs++;
};
if ((((tempInt > 0)) && ((vagTotal > 1)))){
outputMainText("\r\rThen ", false);
};
if (vagTotal > 1){
outputMainText((("a lizan man seems surprised to see your exra attributes. Already hard from thinking about it, he happily kisses you and presses his two pricks against your " + bellyDesc()) + " belly before each slips them between your legs to dive into seperate passages. He hugs you tight as he plunges both in at the same time, quivering slightly as he can feel himself through the fleshy wall that separates the rods. In and out, pre and lubrication spitting into the cleft between the bases of the two cocks and dribbling down his scrotum. He nuzzles into your neck, grunting loudly as both things jerk inside of you, pounding both holes in unison until painting them with spunk. You can feel both wombs filling at almost the same time, bringing you to quite a high. The experience was so powerful that when he eventually pulls out, he's as limp as a noodle and can hardly participate in the orgy anymore..."), false);
doImpregnate(6);
doImpregnate(6);
doLust((-2 * sen));
tempInt++;
hrs++;
};
if ((((tempInt > 0)) && (((vagSize * vagSizeMod) > 30)))){
outputMainText("\r\rSoon after, ", false);
};
if ((vagSize * vagSizeMod) > 30){
outputMainText((((((((("one of the males approaches you, stroking his double dongs as they point towards you. He nudges you towards a wall until you lean back up against it and he lifts one of your legs for easier access to your slit" + plural(2)) + ". Smiling at how large ") + oneYour(2)) + " hole") + plural(2)) + " is, just from glancing at it, he grabs his two cocks together and inserts them both slowly into your entrance, letting you stretch and easily gobble them both up. Delighted with how well he was able to get both into your passageway, he immediately begins to thrust, bouncing you up and down the side of the wall, letting your body toss about with it. You brace yourself, biting your lip as he thoroughly fucks you, his cocks slipping past each other and twisting about inside of you. The feel of your walls with the thumping of his wangs together quickly makes his tail curl around behind him, flexing as he pumps two large loads into you at the same time. You climax soon after, squeezing his cocks back out as they soften, spunk spilling from your ") + vulvaDesc()) + " pussy, the hole still gaping after he releases your leg."), false);
doImpregnate(6);
doLust((-2 * sen));
tempInt++;
hrs++;
};
if (tempInt > 0){
outputMainText("\r\rHaving had a moment to gather yourself, ", false);
};
outputMainText((((("your attention is taken by one of the few lizan girls there, who waves you over as she lays on her back with a guy on top of her. You move closer and see she's already plugged up with one of his two shlongs. Looking a tad pained, it seemed the guy tried to fit both in at the same time, to no success, leaving his other cock bouncing awkwardly upon her clit. Yet, with you there, she's able to get a bit more fun as she directs you to lay on top of her, mushing her soft breasts against your own. She leans up to kiss you, pressing your " + buttDesc()) + " down so the man can slip his other schlong into you while your own ") + clitDesc()) + " clit grinds against hers. A few seconds pass as the three of you gain momentum and soon you become a writhing mass, humping against each other with the twin pistons plunging into the shared cunts. The girl's tongue swirls around yours and her hands reach between to pinch each your nipples together. The man quickly begins to seize, greatly enjoying the taste of pussies from two different girls, and gushes within. A slight harmony of vibrations can be felt between your two bellies, causing both of your to cry out into each others mouths in orgasm. Eventually, the guy can't stand it anymore and has to pull out to collapse in bliss, letting his spunk drip down from your pussy onto hers and down her crack to her tail. The girl, however, remains latched on for a couple minutes longer before letting go with an enthused gasp, rolling you off to catch her breath."), false);
doLust((-2 * sen));
doImpregnate(6);
tempInt++;
hrs = (hrs + 2);
outputMainText("\r\rHaving taking all you can for now, you slowly clean yourself up and thank the carnal group for the delightful experience, then walk away with a satisfied kink in your step.", false);
doSexP((2 * tempInt));
doEnd();
} else {
outputMainText("Deciding you're not in the 'orgy mood', you continue on your brisk walk.", true);
hrs = 1;
doEnd();
};
};
};
} else {
if (chance <= 60){
outputMainText("You stroll around the oasis waters, watching some of the lizan people swim and play about. As you begin to approach some of the more unpopulated floral overgrowth, however, you begin to hear gasping from behind some cattails. Sections of overgrowth aren't as comfortable as the sandy beaches, so the lizan generally don't swim around there, but that does afford the areas some extra privacy. At first from the gasps it seems like they are having fun, but a feminine groan followed by an exasperated \"Ohh, why won't it stop?!\" suggests otherwise.\r\rWhatever is going on, they are obviously hiding for some reason, though they may need some help. Will you approach?", true);
buttonConfirm();
doListen = function ():void{
var tempInt:int;
if (buttonChoice == 6){
viewButtonOutline(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0);
viewButtonText(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0);
buttonWrite(1, "Plug");
if (ment >= 30){
Choice1.visible = true;
};
buttonWrite(6, "Help Lay");
buttonWrite(11, "Eggcelerator");
if (checkItem(230)){
Choice11.visible = true;
};
outputMainText("You slowly push through the cattails and approach the troubled female.", true);
tempInt = Math.ceil((percent() / 33));
if (tempInt == 4){
tempInt = 3;
};
if (tempInt == 1){
outputMainText(" A relatively young girl squats in the water in a one-piece bathing suit, with mild curves on her small frame. She gasps and moans as one hand dwells between her legs, holding the crotch of the suit aside, while the other holds onto the plants to steady herself. Below the surface of the clear waters, you can see her exposed slit stretch wide as a white object slips out into a small pile of more eggs that has settled into the sandy floor beneath her. \"Still?!,\" she groans again.\r\rAs she spots you approaching, she lets out a squeak and turns away, her tail pressing down into the water to hide the rear-view of her nethers. \"Please, don't look!\" She blushes heavily. Her soft voice continues on rapidly, trying to explain herself admist her embarassment. \"I-I'm supposed to go on a date with my new boyfriend tonight and I didn't want to lay in front of him, so I thought if I took some of that stuff it would come out earlier and I wouldn't have to worry. But it didn't seem to do anything so I took a bunch more and it finally came. B-But it didn't stop, instead they just... they just keep coming!\" She whines a little as she feels another one begin to push through, her hips twitching and her knees shaking as she tries to hide it the best she can from you.", false);
};
if (tempInt == 2){
outputMainText(" A well-developed girl squats in the water in a bikini, with rather attractive curves on her fit frame. She gasps and moans as one hand roams between her thighs, pulling aside the crotch of the bikini bottoms and stroking herself, while the other holds onto the plants for support. Below the surface of the clear waters, you can see her clit stand stiffly as a white object slips out into a small pile more eggs that has settled into the sandy floor beneath her. \"It's too early!,\" she groans again as she fondles herself. \r\rAs she spots you approaching, she shirks and shuts her spread thighs as she blushes, though her hand remains adhered to her erogenous zone. \"You don't understand!\" She blushes with embarassment at being caught, but tries to explain herself the best she can. \"M-My fiance and I were, umm... planning to have some 'fun' tonight and I thought I'd take some eggcelerator to help liven up the mood. I didn't feel anything right away, so I took a few more doses. A-And, well...\" She looks away as her eyes clench, her body seizing while her hips twitch, laying another egg before you eyes as her thighs split a little to unintentionally give you quite the view.", false);
};
if (tempInt == 3){
outputMainText(" A mature and attractive woman squats in the water completely nude, her bikini tossed aside, revealing the wide hips from years of egg-laying and breasts hanging large and heavily from past breastfeeding, while her thick tail presses down to keep her balanced. She moans as both hands work her pussy, one rubbing her clit as the other spreads her lips wide. You can see it all below the surface of the clear waters, even the white object that slips through her lips and into a small pile of more eggs that has settled into the sandy floor beneath her. \"Not quite how I planned it...,\" she groans again.\r\rAs she spots you approaching, she makes a small effort to cover her indecency, though isn't too embarassed. \"Well hello there.\" She still blushes a little from your stares, but explains herself thoroughly. \"I was hoping to speed things up for a nice big cake for the kids' slumber party they're having tomorrow, but I went a bit overboard with the eggcelerator... Now I'm stuck here trying to pass them all until I can walk around again without popping them out in front of everybody!\" The lewd thought makes her hand begin to rub again while you continue to watch, twitching as she lays another egg.", false);
};
doListen = function ():void{
if (buttonChoice == 1){
outputMainText("Using some ingenuinity, you fashion a sort of 'pussy-plug' from one of the surrounding cattails. Soft enough to protect her and her eggs, yet stiff and phallic enough to slip in and stay until she can get to her home in the rock formations, it should suit the situation well.\r\r", true);
if (tempInt == 1){
outputMainText("Scooching up behind the shy girl so as to not look directly at her, you console her as you bring the modified cattail down to her loins. Since you are unable to get a good view, she has to guide your hand to her slit, which causes her whole body to warm before you from blushing so hard. However, her inexperience with her own body proves most troublesome...\r\rFrantic and unwary of how she's directing you to insert the makeshift plug, she accidentally pushes into the wrong hole. She lets out a shriek of surprise and pain, her tail whipping up behind her. Whipping up right into your own groin.\r\rYou double over in pain and splash into the water. The girl hops up, rubbing herself and kicking the pile of eggs about as she dances about. Her bathing suit slips back over her slit and she holds it tenderly while she bends over you, trying to prevent another egg from popping out.\r\r\"I-I'm so sorry!\" Apologizing for your pain, she turns and runs to find another place to hide as she can already feel the next egg pressing against her bathing suit from within, leaving you to groan and writhe for a while alone.\r\rAfter some time passes, you gather yourself and limp away...", false);
doHP(-5);
stats(0, 0, -2, 0);
hrs = 3;
doEnd();
};
if (tempInt == 2){
outputMainText("Asking the pretty young woman to spread her legs for access, she blushes harder and nods hesitantly. You gently pull her folds apart, making her buck slightly from her sensitivity, and slip the makeshift plug into her pussy. Pulling away, she pauses as she feels an egg settle onto the soft fluff but is unable to push further, effectively halting her laying for now. Slipping her bikini back over her exposed nethers, she slowly stands, getting used to the sensation.\r\rThough her belly looks a bit bloated and gradually growing with the buildup, she seems grateful. \"Umm... thanks for that.\" She squirms slightly as her stiff clit presses visibly against the bikini's crotch, becoming more aroused from the swelling sensation. Absent-mindendly, she leans down and gives you a quick kiss, dropping one of her pre-laid eggs into your lap as a gift, before blushing ferociously and running off to find her fiancee.", false);
stats(0, 0, 1, 0);
itemAdd(219);
hrs = 2;
doEnd();
};
if (tempInt == 3){
outputMainText("Asking the attractive mother to present her passage, she eyes you suspiciously for a moment. Then she shrugs, removing the hand blocking your access and even leans back further to give you greater access to her sex. You gently press your fingers against her outer labia as you push the makeshift plug in between. Her breathing quickens in pace for a few seconds as you soft touch pleases her sensitive loin. As the next egg slowly comes to a stop upon the soft fluff within, she grins at how effective the treatment was.\r\r\"Wow, that is quite a neat trick! You really deserve some compensation for helping me like that.\" She slowly stands, a hand on her belly as she feels it swell slightly from the buildup before turning away towards her shed suit. Bending down before you, her tail flipping up to balance herself and giving you a generous view of her plump rear, she grabs some coins and an egg from the pile before turning to hand them to you. \"Thanks again!\" She smiles and winks. She then squeezes into her bathing suit, letting her curves fill it in dramatically, and picks up the rest of the eggs to get started on that cake.", false);
doCoin((30 + Math.ceil((percent() / 3))));
hrs = 2;
doEnd();
};
};
if (buttonChoice == 6){
outputMainText("Hoping to help out, you decide to try to assist with the laying, if at least to make the process more comfortable. ", true);
if (tempInt == 1){
outputMainText("Scooching up behind the shy girl so as to not look directly at her, you slowly move her hand towards her loins to allow her plenty of time to object if she wanted to. However, she seems to instead prepare herself for your touch, leaning back into you and holding her breath as your hand approaches her exposed genitals. Your fingers slide over her own as you spread her supple lips wider, making her gasp lightly as she feels the next eggs slip through the stretched gap. The palm of your hand over her mons, you notice a churning sensation within as another eggs is already being produced and on its way. To allow her to relax more for ease of laying, your hand begins to gently rub about her sensitive slit, using the warm water and subtle lubrication from her hole to caress her stiffening little clitoris. She gasps and moans exuberantly, relying on your body for support as she completely lays back into you, the next egg soon passing through with a greater moan escaping her lips.\r\rAt least half an hour of this pleasurable oviposition passes in your arms. A large pile of eggs has accumulated beneath the two of you and the girl is quite the quivering mess from the many orgasms. Her nipples stand stiffly against her one-piece bathing suit and the crotch is more soaked with her slime than the oasis waters. However, it seems her egg cycle has slowed closer to a normal pace as no more try to escape her womb. It takes several more minutes before she can thoroughly gather herself, looking back to you and blushing tremendously.\r\r\"Th-Thank you. Th-That was...\" Too embarassed, she can't muster up the rest of her words. Instead, she slowly stands, her legs shaking and threatening to give out as she turns to face you, her petite slit still exposed. She leans down to hug you, giving you a soft peck on the cheek. And then she subtly slips her hand down for one last pet before pulling her suit back into position, stepping away silently in an ecstatic daze while her tail twitches awkwardly behind her.\r\rThough the kiss itself was quite generous from such a shy girl, it also seems she has left you quite the horde of eggs.", false);
i = 0;
while (i < (6 + Math.ceil((percent() / 20)))) {
itemAdd(219);
i++;
};
doLust(((2 * lib) - ment));
stats(0, 1, 1, 0);
hrs = 3;
doEnd();
};
if (tempInt == 2){
outputMainText("Asking the pretty young woman to spread her legs for access, she blushes harder and nods hesitantly. You crawl forward through the shallow water, ducking in between her thighs. She squirms a bit as you reach in towards her exposed slit, making her shiver as you press the sensitive lips with your fingers, spreading and massaging them. Already you can feel her quiver within as a fresh egg begins its voyage out, easily slipping through the widened gap and plopping into the pile below, causing her to let out a low moan the whole way through. Her clitoris stands stiffly amidst her folds, large enough to protrude lewdly, especially with her arousal. Staring at it only makes her blush more and when your mouth comes in to suckle it, she jerks back, wrapping her tail around your abdomen to hold on as she nearly collapses into the water.\r\rThe oasis waters flooding over your tongue as you sip her genitals, the taste of sweet feminine lubrication is nearly overwhelming as she huffs and pants above you. Her hips gyrate around your face, scraping her thighs across your ears. Your efforts to 'soothe' her drive her wild, making her let out an erotic scream as the next egg begins to drop into her passage. The agonizingly slow progress of the ovoid thing through your pleasuring makes her writhe and twist, her tail hugging tighter and tighter and tighter. And, just as the egg begins to breach and make her squeal with ecstasy-\r\rYou pass out from lack of breath, her tail gripping you so strongly.", false);
doNext();
doListen = function ():void{
outputMainText("You wake up some time later having been dragged onto the shore amidst the brush. Your waist aches and there's no sign of the engaged girl. Upon your chest you find a note, hinting as to where she may have gone.\r\r\"So, so sorry for making you pass out! I had to... With my fiancee and... Here, at least have an egg for forgiveness!\"\r\rRight beside you, you find the lone egg she had laid earlier, still slightly slimy and warm from her womb. Considering it's not wet from the oasis waters, it might just be the egg she laid when you were crushed...", true);
itemAdd(219);
hrs = 4;
stats(-1, 0, 0, 0);
doHP(-15);
aff(6, Math.floor(((percent() / 20) + 2)), -1);
doLust((lib - ment));
doEnd();
};
};
if (tempInt == 3){
outputMainText("Asking the attractive mother to present her passage, she eyes you suspiciously for a moment. Then she shrugs, removing the hand blocking your access and even leans back further to give you greater access to her sex. You crawl forward through the shallow water, ducking in between her thighs. She squirms a bit as you reach in towards her exposed slit, making her shiver as you press the sensitive lips with your fingers, spreading and massaging them. Already you can feel her quiver within as a fresh egg begins its voyage out, easily slipping through the widened gap and plopping into the pile below, causing her to let out a low moan the whole way through. Her clitoris stands stiffly amidst her dangling folds, all the meaty labia engorged with her arousal. She lets out a squeak as your mouth comes in to nibble on the tasty flesh, surprised at the efforts you are taking to 'comfort' her.\r\rThe oasis waters flooding over your tongue as you sip her genitals, the taste of sweet feminine lubrication is nearly overwhelming as she breathes more heavily above you. As you dip further into the water to nom on more of her labia, her hand briskly sweeps down to grind against her clitoris. The next egg begins to drop into her passage, pouring slime over your lips as it passes through while her ample rump twitches and splashes over the water's surface above you. You come up every now and then for a breath, only to dive back in to continue munching away, making the eggs speed through quicker and quicker as she takes a fondness to your efforts.\r\rAfter about a half hour and a great deal of pussy flavor filling your mouth, the woman seems to have finally finished laying all that the eggcelerator had caused. Coming up to look at her, her face is thoroughly dazed from the experience, her nipples stiff from all her own fondling while you were underwater and even leaking a few drops of milk.\r\r\"Well... that worked out much better than I thought it would. Though I suspose now I should really be getting back to my husband and children.\" She smiles as she teasingly disapproves of the minor infidelity. \"Thank you for your efforts though, it was a pleasant experience.\"\r\rStanding to gather the eggs together, she also bends forward before you, giving you a generous view of her rear, tail up and all, while she grabs some coins to give you in return. Then she gathers up the eggs for the cake she needs in the suit before slowly walking away, her tail swaying from side to side with the rest of her hips, making her way through a nude beach to get home.", false);
doCoin((10 + Math.ceil((percent() / 10))));
aff(6, Math.floor(((percent() / 20) + 6)), -5);
doLust(((10 + lib) - ment));
hrs = 3;
doEnd();
};
};
if (buttonChoice == 11){
loseManyItem(230, 1);
outputMainText("Thinking another dose might somehow help, you pull out an eggcelerator from your bag. ", true);
if (tempInt == 1){
outputMainText("Scooching up behind the shy girl so as to not look directly at her, you console her as you bring the dose of eggcelerator down to her loins. Since you are unable to get a good view, she has to guide your hand to her slit, which causes her whole body to warm before you from blushing so hard. With her experience with the previous doses of eggcelerator, she manages to guide you correctly and lets out a squeak as she feels the suppository slip up into her passage.\r\rThe girl begins to quiver slightly as she feels her womb go into overdrive. A gasp escapes her lips as an egg immediately pushes through her folds, past your combined fingers. Suddenly, she seizes back into you, her back arching, as more eggs spill out of her womb. Her pussy lifts out of the water and into the air as her feet drag and kick through the sand below, tossing the pile about. Her exposed cunt spreads wide as another egg plops out into the water with another one right behind firing further out. She moans and whines as her body thrashes about, staring down at herself with fear as she's practically spreading her legs to anybody else in the lake and spreading her private area wide for them all to see as the eggs fly out of her. Jumping away from you with a sob, she stands up with a couple more eggs dropping between her thighs with thick strands of lubricant trailing. The girl hastily covers the exposed genitals with her one-piece suit, a tear shedding as she sees the crotch bulge with the next egg pushing through. Wholly embarassed, she runs off into the brush, the eggs already slipping back into the rear of the suit as more collect before she disappears.\r\rLeft alone and feeling a little ashamed of how things progressed, you manage to fish out some eggs that survived and head off.", false);
itemAdd(219);
itemAdd(219);
itemAdd(219);
stats(0, 0, 0, -1);
hrs = 3;
doEnd();
};
if (tempInt == 2){
outputMainText("Asking the pretty young woman to spread her legs for access, she blushes harder and nods hesitantly. You gently pull her folds apart, making her buck slightly from her sensitivity, and slip the eggcelerator into her pussy, letting it slide up into her womb.\r\rShe gasps for a moment as she feels the tingling in her belly while the suppository dissolves, then her eyes grow wide as an egg immediately pushes out through her folds. Moans start to emit from her lips as more eggs cram their way about her pussy, her legs opening and shutting sporadically as she tries to rub herself while they fall into the pile below. However, the squatting position requires too much strength and she collapses forward onto her hands and knees, her rump pointing at the bushes. You can hear more eggs splash into the water behind her as she groans, her eyes clenching shut and her mouth wide with ecstasy.\r\rThe engaged girl's tail whips about behind her while her hips twitch and twist. She tries to reach down to fondle herself, but without the support she merely crashes into the water. In a wavering voice, she begs of you, \"Please... H-Help me!\"\r\rNot wanting to torture her, you move behind to see what you can do. In her shifting, it seems her bikini bottom had drooped back over her slit, only to be destroyed by the next egg on its forceful way out, the fabric torn away with only the outlining bands left intact. Essentially, her pussy is on blatant display as the bands slip behind her outer labia, leaving a gaping cunt that stretches even wider with each ovoid object it expels.\r\rUnsure what to do, you spot a large button that quivers with arousal. Sticking out from her lips and looking closer to a small penis, her clitoris is extremely engorged from the stimulation of her passage. So, you wrap your fingers around it and quickly proceed to jerk it with the plentiful lubrication that dribbles down from above. The girl cries out across the waters, turning some heads in the distance, as she instantly comes to her first orgasm, her whole body quaking. Again and again, with your efforts on her clit and the procession of eggs, the girl trembles and climaxes, her tail curling in the oddest of shapes in the air.\r\rAfter over half an hour of the extreme masturbation, the last egg pops out and the girl collapses onto the pile, crushing them all. She exhales under the water, bubbles floating to the surface before popping up for air. She continues to huff, letting the refreshing water regain some of her consciousness and eventually turns back to you.\r\r\"Wow... I-I didn't know one more eggcelerator could make me do that...\" She gasps again, completely oblivious to the fact that you're still staring into her gaping lewd genitals that she had attempted to hide earlier. \"H-Here, take these. I'm gonna go buy a buttload more and find my fiancee. I just hope he can last a few days...\"\r\rShe reaches into another pile of her belongings she had left amongst the cattails and hands you a couple more doses of eggcelerator, as well as some coins for more compensation. Then she stands. Then she falls back into the water with a splash as her legs give out. Then she stands again and begins to awkwardly walk out of the water and straight to the bazaar. She also seems completely unaware of the missing fabric in bikini bottom, especially as her little 'erection' points the way...", false);
itemAdd(230);
itemAdd(230);
doCoin((15 + Math.ceil((percent() / 10))));
doLust(((2 * lib) - ment));
hrs = 3;
doEnd();
};
if (tempInt == 3){
outputMainText("Asking the attractive mother to present her passage, she eyes you suspiciously for a moment. Then she shrugs, removing the hand blocking your access and even leans back further to give you greater access to her sex. You gently press your fingers against her outer labia as you push the eggcelerator into her supple hole, letting it slip up into her womb.\r\rShe gasps for a moment as she feels the tingling in her belly progress, then her eyes grow wide as an egg immediately pushes out through her folds. Suddenly, she leans backwards even more, pointing her pussy right at your face as more eggs coming flying out. Her strong motherly hips propel an onslaught of eggs at you, smacking and cracking over your head and body. She eventually crashes back into the water, crushing the pile of eggs she had already laid and firing a couple more past you.\r\rThe splash of water across her face snaps her out of the egg-laying haze and she jumps up, just in time for another egg to shoot down between her thighs. \"Oh no, all the eggs for the cake!\" She cries out in dismay and attempts to block the next with her hand, only to result in a yolky mess. With that failing, she turns away from you and bends down, giving you a perfect view of her round rear as well as another egg that propels straight into your face, while she picks up her bathing suit. Rapidly folding the elastic garment a bit and tucking it between her legs, she manages to improvise a basket. Then she takes off through a nude beach, carrying the suit-basket between her legs as it slowly stretches with the depositing eggs, her hips and tail twitching sporadically with each lay.\r\rLeft covered in yolk and slightly pained from the firing squad, there's not much left to do but wash off in the oasis waters and head off...", false);
doHP(-10);
aff(6, Math.floor(((percent() / 20) + 4)), -3);
hrs = 3;
doEnd();
};
};
};
} else {
outputMainText("Deciding not to interrupt her, you leave whoever it is to their privacy and continue on your relaxing stroll.", true);
doLust(-5);
doHP(2);
hrs = 2;
doEnd();
};
};
} else {
outputMainText("Exploring the paradise that's hidden within the desert, you get a better idea of what Oviasis is like.\r\rDuring the day, most of the lizan people spend their time in the caves and tunnels which speckle the sides of the rock formations that protect this valley. A bit hot, it's good to keep their temperatures in check with the cool stone. Yet, they all spend a bit of time soaking in the rays of the sun or taking a dip in the oasis water, the same water where many of the females like to lay their eggs, as it is a comfortable clean place that tends to be more private than if they started ovulating elsewhere. It is also where many lizan get a little randy at night when the sun sets, making the waters nearly churn with some lacivious activity while depending on the darkness for their privacy...\r\rNight is when Oviasis usually comes alive. Though the store hours are during the day, when they're feeling sluggish, it means that at night everybody is free to enjoy each other's company. Parties are commonplace, though they aren't much more than groups of friends gathering and talking and having fun together. With the amount of naps they get during the day, they often don't need to sleep at night, allowing them to catch up on social affairs or go hunting for food in the crisp air.", true);
hrs = 1;
doEnd();
};
};
};
};
};
}
public function bc():void{
buttonChoice = 0;
}
public function percent():int{
return ((Math.floor((Math.random() * ((1 + 100) - 1))) + 1));
}
public function loseManyItem(ID:int, amount:int):void{
var tempInt:int;
tempInt = 0;
currentItems = 3;
tempInt = 36;
while (tempInt > 0) {
i = tempInt;
if (i == 12){
currentItems = 1;
};
if (i == 24){
currentItems = 2;
};
if (i > 24){
i = (i - 24);
} else {
if (i > 12){
i = (i - 12);
};
};
if ((((itemID(i) == ID)) && ((amount > 0)))){
if ((((amount >= (stackAmount(i) - 1))) && ((stackAmount(i) > 1)))){
amount = (amount - (stackAmount(i) - 1));
stackSlotWrite(i, -((stackAmount(i) - 1)));
} else {
if (stackAmount(i) > 1){
stackSlotWrite(i, -(amount));
amount = 0;
};
};
if (amount > 0){
loseItem(i);
amount--;
};
};
tempInt--;
};
}
public function checkStash(ID:int):Boolean{
var tempBool:Boolean;
tempBool = false;
if (stashArray1.indexOf(ID) != -1){
tempBool = true;
};
if (stashArray2.indexOf(ID) != -1){
tempBool = true;
};
if (stashArray3.indexOf(ID) != -1){
tempBool = true;
};
return (tempBool);
}
public function doPlains():void{
var chance:int;
chance = percent();
if (chance <= 30){
outputMainText("You hear a hiss amidst some overgrown grass. Stopping cautiously, you manage to avoid stepping on a particularly dangerous snake. The cock-snake. Aptly named due to its head looking much like the glans of a human cock, this breed of snake is also known to devour that of the same... And if its opponent doesn't have one, they soon will.", true);
doNext();
doListen = function ():void{
enemyID = 101;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
if ((((chance > 30)) && ((chance <= 55)))){
outputMainText("While trudging along the plains, you hear the stamping of hooves. Drunken song erupts in the air as a large equan man stumbles your way. His pants unbuttoned, his hand hidden within, you can see him groping his large erection. In his other hand he holds a large mug, still filled with alcohol. He smiles as he sees you, and then charges right at you!", true);
doNext();
doListen = function ():void{
enemyID = 302;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
if ((((chance > 55)) && ((chance <= 75)))){
outputMainText("You wander about the open fields and find nothing but a handful of grain. At least the carbs will give you energy!", true);
itemAdd(209);
hrs = 1;
doEnd();
};
if (chance > 75){
outputMainText("After a few hours of being lost amongst the vast expanse of flat plains, you come across the faint signs of a road. Would you like to follow it?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (currentZone == 1){
outputMainText("Following the road, signs of civilization come into view. Large tents flutter in the breeze, made from canvas held up by rocks and logs, with a few smaller brick buildings here and there. You can hear the soft clapping of hard feet everywhere, as you spot several large horse-like people walk and dash about.\r\rYou have now entered the Equan home-city of Firmshaft! Although, looking behind you, there seems to be no sign of the road you just took. Getting back might be a bit difficult...", true);
regionChange(2);
if (foundFirmshaft == false){
foundFirmshaft = true;
};
hrs = 4;
doEnd();
} else {
if (currentZone == 2){
outputMainText("Following the road, the level land breaks up into rolling hills. Not far, you see tall buildings of wood and stone, with open streets of dirt and pebbles, nestled between the hills. Fur-less people move all about, busy doing odd jobs or having fun.\r\rYou have found the Human home-city of Softlik! Although, looking behind you, there seems to be no sign of the road you just took. Getting back might be a bit difficult...", true);
regionChange(1);
if (foundSoftlik == false){
foundSoftlik = true;
};
hrs = 4;
doEnd();
};
};
} else {
outputMainText("You return from whence you came.", true);
hrs = 1;
doEnd();
};
};
};
}
public function doEnd():void{
bc();
doNext();
doListen = function ():void{
if (buttonChoice == 6){
doProcess();
};
};
}
public function doStatus(time:int):void{
var birthCount:int;
var tempInt:int;
var tempInt2:int;
outputMainText("Afterwards...", true);
pregnancyTime = 0;
birthCount = 0;
i = 0;
while (i < pregArray.length) {
trace(("preg " + pregArray));
trace(("preglenggth " + pregArray.length));
trace(("vagTotal " + vagTotal));
if (pregArray[i] == true){
if ((pregArray[(i + 3)] + Math.ceil((time * pregRate))) > (pregArray[(i + 2)] + pregTimeMod)){
pregArray[i] = false;
pregArray[(i + 3)] = 0;
doBirth(pregArray[(i + 1)], pregArray[(i + 4)], birthCount);
birthCount++;
} else {
pregArray[(i + 3)] = (pregArray[(i + 3)] + Math.ceil((time * pregRate)));
pregnancyTime = (pregnancyTime + pregArray[(i + 3)]);
};
};
i = (i + 5);
};
if ((((((pregnancyTime >= 80)) && ((pregnancyTime < 140)))) && ((pregStatus < 1)))){
pregStatus = 1;
lactChange(1, 1);
lactChange(2, 1);
boobChange(1);
udderChange(1);
if (lactation == 1){
outputMainText(" Your body must be getting ready for the baby that's growing inside of you. Even your breasts feel fuller...", false);
} else {
outputMainText("\r\rYour breasts are producing even more milk than normal. They're even a little fuller... Your body must be getting ready for the baby that's growing inside of you.", false);
};
} else {
if ((((((pregnancyTime >= 140)) && ((pregnancyTime < 210)))) && ((pregStatus < 2)))){
pregStatus = 2;
lactChange(1, 1);
lactChange(2, 1);
boobChange(2);
udderChange(2);
outputMainText("\r\rYour breasts feel sore from the all the milky swelling. They've grown three cup sizes since you've gotten pregnant and dribble more and more!", false);
} else {
if ((((pregnancyTime >= 210)) && ((pregStatus < 3)))){
pregStatus = 3;
lactChange(1, 2);
lactChange(2, 2);
boobChange(1);
udderChange(1);
outputMainText("\r\rYour breasts have slowed in their pregnant swelling. They should definitely be prepared for whatever you might give birth to... you hope.", false);
};
};
};
if ((((pregnancyTime < 80)) && ((pregStatus > 0)))){
pregStatus = 0;
};
if ((((((((eggLaying > 0)) && ((vagTotal > 0)))) && (pregCheck(1)))) && ((time > 0)))){
tempInt = (time + (2 * eggRate));
tempInt2 = 0;
while (tempInt > 0) {
eggTime--;
tempInt--;
if (eggTime <= 0){
tempInt2++;
eggTime = eggMaxTime;
};
};
if (tempInt2 == 1){
if (percent() < ((ment / 2) + 20)){
outputMainText((((((("\r\rHaving missed your body's signals, you suddenly double over and begin to groan as you feel something press against the inside of " + oneYour(2)) + " ") + vulvaDesc()) + " nether-lips. Your thighs clench to hold it back, but the smooth slick object spreads your cunt wide, squeezing out into your ") + clothesBottom()) + " where it cracks and spreads into a wet mess.\r\rYolky goop squishing in your groin with little bits of white shell jabbing you here and there, you take a moment to pull out the broken unfertilized egg and attempt to clean up after yourself..."), false);
} else {
outputMainText((((((((((("\r\rYou pause for a moment as you feel something drop within your womb. Groaning a bit, you spread your legs in preparation, a hand pushing your " + clothesBottom()) + " aside and helping spread ") + vulvaDesc()) + " nether-lips. You hold your breath and with a quick push, you feel ") + oneYour(2)) + " cunt") + plural(2)) + " stretch wide. Your fingers feel the hard shell beginning to crown and with a grunt it slips out into your palm.\r\rYou take a moment to gather yourself, slipping the smooth, round egg through your slit, still wet from your inner-slime, before you finally pull it out from your ") + clothesBottom()) + ". Drying it off, you have something to snack on later."), false);
itemAdd(219);
};
};
if (tempInt2 > 1){
if (percent() < (((ment / 2) + 20) - (4 * tempInt2))){
outputMainText((((("\r\rHaving been distracted and unable to lay for such a long time, you are unprepared for the buildup of ovid objects within your womb. You double over as you feel them crowd against the inside of your " + vulvaDesc()) + " nether-lips, your thighs clenching to hold them back, but the smooth slick object press on through anyways. They squeeze out into your ") + clothesBottom()) + ", where they crack and spread into a wet mess.\r\rYolky goop squishing in your groin with little bits of white shell jabbing you here and there, you take a moment to pull out the broken unfertilized egg and attempt to clean up after yourself..."), false);
} else {
outputMainText((((((((((("\r\rHaving been distracted and unable to lay for such a long time, you pause for a moment as you prepare for the objects that have built up within your womb. Groaning a bit, you spread your legs in preparation, a hand pushing your " + clothesBottom()) + " aside and helping spread ") + vulvaDesc()) + " nether-lips. You hold your breath and with a quick push, you feel ") + oneYour(2)) + " cunt") + plural(2)) + " stretch wide. Your fingers feel the hard shell beginning to crown and with a grunt it slips out into your palm. You place it down beside you and continue to lay until you are completely empty.\r\rYou take a moment to gather yourself, slipping the last smooth, round egg through your slit, still wet from your inner-slime, before you finally pull it out from your ") + clothesBottom()) + ". Drying them all off, you have some snacks for later."), false);
while (tempInt2 > 0) {
itemAdd(219);
tempInt2--;
};
};
};
};
if (malonRep == 4){
malonPreg = (malonPreg + time);
};
if (((((((lilaPreg + time) > 40)) && ((lilaPreg <= 40)))) && ((lilaPreg > 0)))){
lilaMilk++;
if (lilaMilk > 19){
lilaMilk = 19;
};
};
if (((((((lilaPreg + time) > 80)) && ((lilaPreg <= 80)))) && ((lilaPreg > 0)))){
lilaMilk = (lilaMilk + 2);
if (lilaMilk > 19){
lilaMilk = 19;
};
};
if (lilaPreg > 0){
lilaPreg = (lilaPreg + time);
};
if ((((((silPreg > 0)) && ((silRep < 5)))) && ((time > 0)))){
silPreg = (silPreg + (time + (2 * silRate)));
tempInt = (time + silRate);
if ((((silPreg > 30)) && ((silTied == false)))){
while (tempInt > 0) {
silLay--;
tempInt--;
if (silLay <= 0){
silPreg = (silPreg - 10);
silLay = 10;
};
};
};
} else {
if ((((((((((silPreg > 0)) && ((silRep == 5)))) && ((time > 0)))) && ((silGrowthTime <= 360)))) && ((silPreg < 10000)))){
silPreg = (silPreg + (time + (2 * silRate)));
silGrowthTime = (silGrowthTime + time);
};
};
if ((((((heat > 0)) && ((vagTotal > 0)))) && (!(pregCheck(0))))){
if ((((heatTime >= 0)) && (((heatTime - time) < 0)))){
outputMainText("\r\rYour crotch feels hot and tingly, your face becoming flush. Thoughts of sex, being pounded and filled with seed until your womb has been sufficiently impregnated, permeate your mind and makes you greatly aroused. You're feeling especially fertile and extremely lustful as you go into heat...", false);
pregChanceMod = (pregChanceMod + 15);
stats(0, -5, 10, 0);
doLust(15);
vagMoist = (vagMoist + 3);
heatTime = -24;
} else {
if ((((heatTime < 0)) && (((heatTime + time) >= 0)))){
outputMainText("\r\rYou breath a sigh of relief as the heat finally passes, your body calming and no longer needing to reproduce as much.", false);
pregChanceMod = (pregChanceMod - 15);
stats(0, 5, -10, 0);
vagMoist = (vagMoist - 3);
heatTime = heatMaxTime;
} else {
if ((((heatTime > 0)) && (((heatTime - time) > 0)))){
heatTime = (heatTime - time);
} else {
if ((((heatTime < 0)) && (((heatTime + time) < 0)))){
heatTime = (heatTime + time);
};
};
};
};
} else {
if ((((((heat > 0)) && ((heatTime < 0)))) && (pregCheck(0)))){
outputMainText("\r\rYou breath a sigh of relief as the heat passes, your body calming and no longer needing to reproduce as much. However, it seems to have ended a bit early...", false);
pregChanceMod = (pregChanceMod - 15);
stats(0, 5, -10, 0);
vagMoist = (vagMoist - 3);
heatTime = heatMaxTime;
} else {
if ((((((heat > 0)) && (!((heatTime == heatMaxTime))))) && (pregCheck(0)))){
heatTime = heatMaxTime;
} else {
if ((((heat < 1)) && ((heatTime > 0)))){
heatMaxTime = 0;
heatTime = 0;
} else {
if ((((((heat < 1)) || ((vagTotal < 1)))) && ((heatTime < 0)))){
pregChanceMod = (pregChanceMod - 15);
stats(0, 5, -10, 0);
vagMoist = (vagMoist - 3);
heatMaxTime = 0;
heatTime = 0;
};
};
};
};
};
if (lactation > 0){
if (((((milkEngorgement + (lactation * time)) > 96)) && ((milkEngorgement <= 96)))){
outputMainText((((("\r\rPulling " + pullUD(1)) + " your ") + clothesTop()) + ", jets of milk shoot from your breasts. Your nipples dribble uncontrollably, your breasts so sore and especially sensitive. All the milk flowing from your body arouses you, and will continue to do so until either you give your breasts some attention or your milk dries up."), false);
if (milkEngorgementLevel < 1){
boobChange(1);
};
milkEngorgementLevel++;
} else {
if (((((milkEngorgement + (lactation * time)) > 72)) && ((milkEngorgement <= 72)))){
outputMainText((("\r\rYour " + clothesTop()) + " is soaked in front. Milk dribbles from your nipples almost constantly, too much to retain. The abundant supply seems to be overwhelming the lack of demand..."), false);
if (milkEngorgementLevel < 1){
boobChange(1);
};
milkEngorgementLevel++;
} else {
if (((((milkEngorgement + (lactation * time)) > 48)) && ((milkEngorgement <= 48)))){
outputMainText((("\r\rYour " + clothesTop()) + " feels moist around your nipples. Your breasts feel slightly swollen as blotches spread, milk leaking out. A bit engorged, it's a sign they should probably be attended to."), false);
milkEngorgementLevel++;
boobChange(1);
};
};
};
milkEngorgement = (milkEngorgement + (lactation * time));
};
if ((((udderLactation > 0)) && ((udders == true)))){
if (((((udderEngorgement + (udderLactation * time)) > 96)) && ((udderEngorgement <= 96)))){
outputMainText("\r\rJets of milk shoot from the teats of your udder with each step. When standing still, it dribbles constantly, your udder so big and sore and especially sensitive from being so stretched.", false);
if (udderEngorgementLevel < 1){
udderChange(2);
} else {
if (udderEngorgementLevel == 1){
udderChange(1);
};
};
udderEngorgementLevel++;
udderChange(1);
} else {
if (((((udderEngorgement + (udderLactation * time)) > 72)) && ((udderEngorgement <= 72)))){
outputMainText((("\r\rYour " + clothesBottom()) + " is soaked in front. Milk dribbles from your teats almost constantly, too much to retain. The abundant supply seems to be overwhelming the lack of demand..."), false);
if (udderEngorgementLevel < 1){
udderChange(1);
};
udderEngorgementLevel++;
udderChange(1);
} else {
if (((((udderEngorgement + (udderLactation * time)) > 48)) && ((udderEngorgement <= 48)))){
outputMainText((("\r\rYour " + clothesBottom()) + " feels moist beneath your teats. Your udder feels slightly swollen as milk leaks out. A bit engorged, it's a sign it should probably be attended to."), false);
udderEngorgementLevel++;
udderChange(1);
};
};
};
udderEngorgement = (udderEngorgement + (udderLactation * time));
};
if (lactation > 0){
nipplePlay = (nipplePlay - time);
};
if (udderLactation > 0){
udderPlay = (udderPlay - time);
};
if ((((lactation > 0)) && ((nipplePlay < -10)))){
lactChange(1, -1);
if (lactation == 0){
outputMainText(" It seems as though the mammary glands in your breasts have adapted to the lack of demand.", false);
};
nipplePlay = 0;
};
if ((((((udderLactation > 0)) && ((udderPlay < -10)))) && ((udders == true)))){
lactChange(2, -1);
if (udderLactation == 0){
outputMainText(" It seems as though the mammary glands in your udder have adapted to the lack of demand.", false);
};
udderPlay = 0;
};
exhaustion = (exhaustion + time);
if ((((exhaustion > 20)) && ((exhaustion <= 32)))){
outputMainText("\r\rYour body is getting tired, affecting your abilities to do things. Sleep is sounding like a nice idea...", false);
if (exhaustionPenalty == 0){
exhaustionPenalty = 1;
stats(-3, -3, 0, 0);
};
} else {
if ((((exhaustion > 32)) && ((exhaustion <= 44)))){
outputMainText("\r\rExhaustion is creeping over you, making any task seem tedious. Your wits are a lot less witty and your muscles are fatigued.", false);
if ((((exhaustionPenalty == 1)) || ((exhaustionPenalty == 0)))){
exhaustionPenalty = 2;
stats(-8, -8, 0, 0);
};
} else {
if (exhaustion > 44){
currentState = 1;
} else {
if (exhaustionPenalty == 1){
exhaustionPenalty = 0;
stats(3, 3, 0, 0);
};
if (exhaustionPenalty == 2){
exhaustionPenalty = 0;
stats(11, 11, 0, 0);
};
};
};
};
vagBellyChange(0, 0);
if (((((((((blueBalls + time) > 84)) && ((blueBalls <= 84)))) && ((showBalls == true)))) && ((balls > 0)))){
outputMainText((((("\r\rYour " + ballDesc()) + " balls feel swollen and heavy within your ") + clothesBottom()) + ". The need to spill your seed makes you a little aroused."), false);
doLust(Math.ceil((ballSize / 2)));
};
blueBalls = (blueBalls + time);
hrs = 0;
if (bodyOil > 0){
if ((bodyOil - time) <= 0){
outputMainText((("\r\rThe body oil finally dries off, leaving you " + skinDesc()) + " not looking quite as shiny and attractive as before."), false);
enticeMod = (enticeMod - 5);
bodyOil = 0;
} else {
bodyOil = (bodyOil - 5);
};
};
if (((((masoPot - time) <= 0)) && ((masoPot > 0)))){
outputMainText("\r\rYou shiver a little as your nerves seem to feel more... normal. The effects of the Masochism Potion have apparently worn off, so you might want to be slightly more cautious once again.", false);
masoPot = 0;
} else {
if (masoPot > 0){
masoPot = (masoPot - time);
};
};
if (((((sMasoPot - time) <= 0)) && ((sMasoPot > 0)))){
outputMainText("\r\rYou shiver a lot as your nerves seem to feel more... normal. The effects of the Superior Masochism Potion have apparently worn off, so you might want to be much more cautious once again.", false);
sMasoPot = 0;
} else {
if (sMasoPot > 0){
sMasoPot = (sMasoPot - time);
};
};
if (((((babyFree - time) <= 0)) && ((babyFree > 0)))){
outputMainText("\r\rYour belly groans as you feel your fertility return to you, urging you to remain cautious of becoming pregnant again. It seems as though you're no longer as baby free as before.", false);
if (vagTotal < 1){
outputMainText(" Not that any of that means anything to you, considering you don't even have a womb to become pregnant in the first place.", false);
};
babyFree = 0;
} else {
if (babyFree > 0){
babyFree = (babyFree - time);
};
};
if (charmTime > 0){
if ((charmTime - time) <= 0){
outputMainText("\r\rYour charming effect wears off, making you not so alluring as before.", false);
charmTime = 0;
enticeMod = (enticeMod - 15);
} else {
charmTime = (charmTime - time);
};
};
if (pheromone > 0){
if ((pheromone - time) <= 0){
outputMainText("\r\rThe scent of pheromones finally fades away, leaving you not so unexpectedly desireable to nearly everything.", false);
pheromone = 0;
enticeMod = (enticeMod - 45);
stats(0, 0, -3, 0);
} else {
pheromone = (pheromone - time);
};
};
if (eggceleratorTime > 0){
if ((eggceleratorTime - time) <= 0){
outputMainText("\r\rYour belly feels calmer as the eggcelerator wears off, allowing your womb to relax a little.", false);
eggceleratorTime = 0;
eggRate = (eggRate - eggceleratorDose);
eggceleratorDose = 0;
} else {
eggceleratorTime = (eggceleratorTime - time);
};
};
if (currentText == "Afterwards..."){
outputMainText("", true);
doProcess();
} else {
doEnd();
};
}
public function stashID(slotNumber:int):int{
var tempNum:Number;
tempNum = 0;
if (currentStash == 1){
tempNum = stashArray1[slotNumber];
};
if (currentStash == 2){
tempNum = stashArray2[slotNumber];
};
if (currentStash == 3){
tempNum = stashArray3[slotNumber];
};
return (tempNum);
}
public function hairstyleID(choice:int):int{
var tempNum:int;
tempNum = 0;
if (currentZone == 1){
if (choice == 1){
tempNum = 1;
};
if (choice == 2){
tempNum = 4;
};
if (choice == 3){
tempNum = 8;
};
if (choice == 5){
tempNum = 2;
};
if (choice == 6){
tempNum = 3;
};
if (choice == 7){
tempNum = 12;
};
if (choice == 9){
tempNum = 14;
};
if (choice == 10){
Choice10.visible = false;
};
if (choice == 11){
tempNum = 0;
};
};
if (currentZone == 2){
if (choice == 1){
tempNum = 1;
};
if (choice == 2){
tempNum = 4;
};
if (choice == 3){
tempNum = 8;
};
if (choice == 5){
tempNum = 3;
};
if (choice == 6){
tempNum = 10;
};
if (choice == 7){
tempNum = 5;
};
if (choice == 9){
tempNum = 6;
};
if (choice == 10){
Choice10.visible = false;
};
if (choice == 11){
tempNum = 0;
};
};
if (currentZone == 3){
if (choice == 1){
tempNum = 1;
};
if (choice == 2){
tempNum = 4;
};
if (choice == 3){
tempNum = 8;
};
if (choice == 5){
tempNum = 6;
};
if (choice == 6){
tempNum = 11;
};
if (choice == 7){
tempNum = 12;
};
if (choice == 9){
tempNum = 13;
};
if (choice == 10){
Choice10.visible = false;
};
if (choice == 11){
tempNum = 0;
};
};
if (currentZone == 4){
if (choice == 1){
tempNum = 1;
};
if (choice == 2){
tempNum = 4;
};
if (choice == 3){
tempNum = 8;
};
if (choice == 5){
tempNum = 2;
};
if (choice == 6){
tempNum = 9;
};
if (choice == 7){
tempNum = 7;
};
if (choice == 9){
tempNum = 13;
};
if (choice == 10){
Choice10.visible = false;
};
if (choice == 11){
tempNum = 0;
};
};
if (currentZone == 6){
if (choice == 1){
tempNum = 2;
};
if (choice == 2){
tempNum = 3;
};
if (choice == 3){
tempNum = 4;
};
if (choice == 5){
tempNum = 9;
};
if (choice == 6){
tempNum = 10;
};
if (choice == 7){
tempNum = 11;
};
if (choice == 9){
tempNum = 12;
};
if (choice == 10){
Choice10.visible = false;
};
if (choice == 11){
tempNum = 0;
};
};
return (tempNum);
}
public function appearance(e:MouseEvent):void{
appearanceGo();
}
public function appearanceGo():void{
outputMainText((((((((((((("You began your journey as a " + raceName()) + ".\r\r") + Math.floor((tallness / 12))) + " feet and ") + (tallness - (Math.floor((tallness / 12)) * 12))) + " inches tall, you wield ") + hipDesc()) + " hips and a ") + buttDesc()) + " butt on an overall ") + bodyDesc()) + " figure."), true);
if (hair > 0){
outputMainText(((((" With " + hairC()) + "") + hairDesc()) + ""), false);
};
if (hairstyleLength(hair)){
outputMainText(((" " + hairL()) + ""), false);
};
if (hair > 0){
outputMainText(((((", you look much like a" + genName()) + " ") + domName()) + ""), false);
} else {
outputMainText(((((" You look much like a" + genName()) + " ") + domName()) + ""), false);
};
if (dominant == 1){
outputMainText(", your face round with a relatively small nose", false);
};
if (dominant == 2){
outputMainText(", your face slightly longer than normal with a sort of muzzle", false);
};
if (dominant == 3){
outputMainText(", your face narrowing down a muzzle with sharp teeth", false);
};
if (dominant == 4){
outputMainText(", your face somewhat flat with a small button nose", false);
};
if (dominant == 5){
outputMainText(", your face slightly longer than normal with a sort of muzzle", false);
};
if (dominant == 6){
outputMainText(", your face slightly longer than normal, streching down a triangular nose", false);
};
if (dominant == 7){
outputMainText(", your face somewhat flat with a button nose and twitchy whiskers, your two front teeth a bit longer than the rest", false);
};
if (tail > 1){
outputMainText(((" and a " + tailDesc()) + " tail swishing upon your backside"), false);
};
outputMainText(((". " + earDesc()) + "."), false);
if (checkItem(234)){
outputMainText(" Large, multi-pointed, slightly fuzzy antlers grow out from atop your head, feeling slightly heavy but perfectly melded to your skull so you can easily lift them.", false);
};
if (checkItem(101)){
outputMainText(" Soft padding protects the palms of your hands, making them look much like paws, your nails being sharp claws.", false);
};
if (checkItem(102)){
outputMainText(" Keratin surrounds your toes like hooves, your ankle elongated and preventing you from standing on your heel, making you walk digitigrade with a clap against the ground every step.", false);
};
if (checkItem(234)){
outputMainText(((((((" Your " + buttDesc()) + " butt also looks a bit tighter for its size with the ") + skinDesc()) + " around it a lighter color than the rest, acting like a bullseye to your nethers. Below, the bone structure of your legs is also fairly lithe, causing you to step with a graceful swagger and wave your ") + hipDesc()) + " hips erotically with every footfall."), false);
};
outputMainText("\r\rYou are currently wearing a ", false);
if (attireTop != attireBot){
outputMainText((((((("" + clothesTop()) + " and ") + clothesBottom()) + ", covering your ") + skinDesc()) + "."), false);
} else {
outputMainText((((clothesTop() + ", covering your ") + skinDesc()) + "."), false);
};
if ((pregnancyTime + vagBellyMod) > 36){
outputMainText(((((" Your " + clothesTop()) + " bulges from your ") + bellyDesc()) + " belly, obviously swollen for some reason or another."), false);
};
if (breastSize > 0){
if (boobTotal == 2){
outputMainText(((((((("\r\rUpon your chest heaves " + boobTotal) + " ") + boobDesc()) + " breasts. Your bust measures ") + decGet((breastSize * 0.5), 1)) + " inches in circumference beyond that of your chest, with ") + nipDesc()), false);
};
if (boobTotal == 4){
outputMainText(((((((("\r\rUpon your chest heaves " + boobTotal) + " ") + boobDesc()) + " breasts; two pairs of equal size, one close below the other. Your dual busts each measure ") + decGet((breastSize * 0.5), 1)) + " inches in circumference beyond that of your chest, with ") + nipDesc()), false);
};
if (boobTotal == 6){
outputMainText(((((((((((("\r\rUpon your chest and down to your belly heaves " + boobTotal) + " ") + boobDesc()) + " breasts; three pairs diminishing in size the lower they go. Your bust measures ") + decGet((breastSize * 0.5), 1)) + " inches in circumference beyond that of your chest, the next pair measuring ") + decGet((breastSize * 0.25), 2)) + " inches and the next measuring ") + decGet((breastSize * 0.15), 2)) + " inches; each with ") + nipDesc()), false);
};
if (dominant == 5){
outputMainText(" teats", false);
};
if (dominant != 5){
outputMainText(" nipples", false);
};
if (lust <= 30){
outputMainText(((" softly bulging " + decGet((nippleSize * 0.1), 1)) + " inches beyond that."), false);
};
if ((((lust > 30)) && ((lust <= 70)))){
outputMainText(((" stiffly standing " + decGet((nippleSize * 0.2), 1)) + " inches beyond that."), false);
};
if (lust > 70){
outputMainText(((" achingly hard and reaching " + decGet((nippleSize * 0.25), 1)) + " inches beyond that."), false);
};
if (lactation > 0){
if (milkEngorgementLevel == 2){
outputMainText(((" A few drops of milk dangle from each nipple as you pull your " + clothesTop()) + " from your engorged breasts to inspect yourself."), false);
};
if (milkEngorgementLevel == 3){
outputMainText(((((" Milk sprays from each of your nipples as you pull your " + clothesTop()) + " from your heavily engorged breasts to inspect yourself, and continue to dribble down your belly and soaking into your ") + clothesBottom()) + "."), false);
};
};
};
if (udders == true){
outputMainText((((((("\r\rJust below your belly hangs a " + udderDesc()) + " udder with 4 ") + teatDesc()) + " teats, each ") + decGet((teatSize * 0.2), 1)) + " inches long"), false);
if (lactation > 0){
if (udderEngorgementLevel == 2){
outputMainText(" and dribbling milk from your engorgement", false);
};
if (udderEngorgementLevel == 3){
outputMainText(" and practically spraying milk onto the ground before you from your excessive engorgment", false);
};
};
outputMainText(".", false);
};
if (cockTotal > 0){
outputMainText((((((("\r\rAbove your groin rests " + cockTotal) + " ") + cockDesc()) + " wang") + plural(1)) + "."), false);
if (lust <= 30){
if (humanCocks > 0){
outputMainText(((((((" " + humanCocks) + " dangle") + plural(3)) + " flaccidly from your groin, reaching ") + decGet(((cockSize * cockSizeMod) * 0.25), 2)) + " inches down, with smooth skin and a mushroom-like glans, just like a human's."), false);
};
if (horseCocks > 0){
outputMainText(((((((" " + horseCocks) + " hide") + plural(3)) + " within a fuzzy sheath that protrudes from your groin, around ") + decGet(((cockSize * cockSizeMod) / 12), 1)) + " inches in thickness."), false);
};
if ((((((wolfCocks > 0)) || ((catCocks > 0)))) || ((rabbitCocks > 0)))){
outputMainText(((((((" " + ((wolfCocks + catCocks) + rabbitCocks)) + " hide") + plural(3)) + " within a fuzzy sheath that protrudes from your groin, around ") + decGet(((cockSize * cockSizeMod) / 16), 1)) + " inches in thickness."), false);
};
if (lizardCocks > 0){
outputMainText(((((" " + lizardCocks) + " hide") + plural(3)) + " in a slit, flush against your body."), false);
};
if ((((cockMoist > 9)) && ((cockMoist <= 12)))){
outputMainText(((" Drops of pre slowly bead at the tip of your cock" + plural(1)) + ", "), false);
if ((((((((horseCocks > 0)) || ((wolfCocks > 0)))) || ((catCocks > 0)))) || ((rabbitCocks > 0)))){
outputMainText(((" pooling within your sheath" + plural(1)) + ","), false);
};
outputMainText(((" running down your thighs as it continually blotches your " + clothesBottom()) + ", even though you're barely aroused at all. The slime is enough to slip yourself into a pussy smaller than you are long, at least."), false);
};
};
if ((((lust > 30)) && ((lust <= 70)))){
if (humanCocks > 0){
outputMainText(((((((" " + humanCocks) + " stand") + plural(3)) + " erect, reaching ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches up, with smooth skin and a mushroom-like glans, just like a human's."), false);
};
if (horseCocks > 0){
outputMainText(((((((((" " + horseCocks) + " droop") + plural(3)) + " out of a ") + decGet(((cockSize * cockSizeMod) / 12), 1)) + "-inch thick smooth sheath, reaching ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches down your thigh with a ring of prepuce halfway down its length and a flat head at the end, just like a horse's."), false);
};
if (wolfCocks > 0){
outputMainText(((((((((((" " + wolfCocks) + " poke") + plural(3)) + " out of a ") + decGet(((cockSize * cockSizeMod) / 16), 1)) + "-inch thick fuzzy sheath, red and hard, smooth and covered in veins with a narrowing tip") + plural(1)) + ", standing ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches high, just like a wolf's."), false);
};
if (catCocks > 0){
outputMainText(((((((((((" " + catCocks) + " poke") + plural(3)) + " out of a ") + decGet(((cockSize * cockSizeMod) / 16), 1)) + "-inch thick fuzzy sheath, pink and soft, with tender barbs near the narrowing tip") + plural(1)) + ", standing ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches high, just like a cat's."), false);
};
if (lizardCocks > 0){
outputMainText(((((((" " + lizardCocks) + " poke") + plural(3)) + " through the slit, stretching it wide as the purple flesh pulses with the ribbing along the top slightly stiff and the bulbous head feeling squishy to the touch, the narrow tip reaching ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches high, probably like a reptile's."), false);
};
if (rabbitCocks > 0){
outputMainText(((((((((((" " + rabbitCocks) + " poke") + plural(3)) + " out of a ") + decGet(((cockSize * cockSizeMod) / 16), 1)) + "-inch thick fuzzy sheath, red and pointy, gently narrowing to their tip") + plural(1)) + ", somewhat like a carrot, standing ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches high, just like a rabbit's."), false);
};
if (knot == true){
outputMainText(((((((" Your cock" + plural(1)) + " swell") + plural(3)) + " a little near the base, preparing for a chance for the knot") + plural(1)) + " to expand."), false);
};
if ((((cockMoist > 3)) && ((cockMoist <= 9)))){
outputMainText(((" Drops of pre slowly bead at the tip of your cock" + plural(1)) + ", "), false);
if ((((((horseCocks > 0)) || ((wolfCocks > 0)))) || ((catCocks > 0)))){
outputMainText(((" pooling within your sheath" + plural(1)) + ","), false);
};
outputMainText(((" running down your thighs as it blotches your " + clothesBottom()) + ". The slime is enough to slip yourself into a pussy smaller than you are long, at least."), false);
};
if ((((cockMoist > 9)) && ((cockMoist <= 12)))){
outputMainText(((((((" Pre steadily drips from your groin, making a large wet spot on your " + clothesBottom()) + ", looking more like you had peed yourself from all the seminal fluid. Fortunately, you could probably slip ") + oneYour(1)) + " cock") + plural(1)) + " into a pussy smaller than you are, thanks to all the lubrication."), false);
};
};
if (lust > 70){
if (humanCocks > 0){
outputMainText(((((((" " + humanCocks) + " stand") + plural(3)) + " erect, reaching ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches up, throbbing strongly with smooth skin and a mushroom-like glans that is nearly purple in color, just like a human's."), false);
};
if (horseCocks > 0){
outputMainText(((((((" " + horseCocks) + " twitches out of a ") + decGet(((cockSize * cockSizeMod) / 12), 1)) + "-inch thick smooth sheath, trying to stand ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches from your body with a ring of prepuce halfway down its length and a flaring flat head at the end, just like a horse's."), false);
};
if (wolfCocks > 0){
outputMainText(((((((((((" " + wolfCocks) + " throb") + plural(3)) + " out of a ") + decGet(((cockSize * cockSizeMod) / 16), 1)) + "-inch thick fuzzy sheath, red and hard, smooth and covered in veins that almost look purple, they're so full of blood, with a narrowing tip") + plural(1)) + ", standing ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches high, just like a wolf's."), false);
};
if (catCocks > 0){
outputMainText(((((((((((" " + catCocks) + " stiffly stand") + plural(3)) + " out of a ") + decGet(((cockSize * cockSizeMod) / 16), 1)) + "-inch thick fuzzy sheath, pink and nearly hard, with tender barbs bristling out near the narrowing tip") + plural(1)) + ", standing ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches high, just like a cat's."), false);
};
if (lizardCocks > 0){
outputMainText(((((((" " + lizardCocks) + " harden") + plural(3)) + " through the slit, stretching it wide as the purple flesh throbs with the ribbing along the top nearly like actual bone and the bulbous head feeling quite swollen, the narrow tip reaching ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches high, probably like a reptile's."), false);
};
if (rabbitCocks > 0){
outputMainText(((((((((" " + rabbitCocks) + " stiffly stand") + plural(3)) + " out of a ") + decGet(((cockSize * cockSizeMod) / 16), 1)) + "-inch thick fuzzy sheath, red and throbbing, almost breaking the conical shape with the pulsing, and standing ") + decGet(((cockSize * cockSizeMod) * 0.5), 1)) + " inches high, just like a rabbit's."), false);
};
if (knot == true){
outputMainText(((((((((((((" Your cock" + plural(1)) + " bulge") + plural(3)) + " tremendously at ") + plural(5)) + " base") + plural(1)) + ", the knot") + plural(1)) + " completely expecting to come at any moment and nearly ") + decGet(((cockSize * cockSizeMod) / 4), 1)) + " inches thick."), false);
};
if ((((cockMoist > 0)) && ((cockMoist <= 3)))){
outputMainText(((" Drops of pre slowly bead at the tip of your cock" + plural(1)) + ", "), false);
if ((((((horseCocks > 0)) || ((wolfCocks > 0)))) || ((catCocks > 0)))){
outputMainText(((" pooling within your sheath" + plural(1)) + ","), false);
};
outputMainText(((" running down your thighs as it blotches your " + clothesBottom()) + ". The slime is enough to slip yourself into a pussy smaller than you are long, at least."), false);
};
if ((((cockMoist > 3)) && ((cockMoist <= 9)))){
outputMainText(((((((" Pre steadily drips from your groin, making a large wet spot on your " + clothesBottom()) + ", looking more like you had peed yourself from all the seminal fluid. Fortunately, you could probably slip ") + oneYour(1)) + " cock") + plural(1)) + " into a pussy smaller than you are, thanks to all the lubrication."), false);
};
if ((((cockMoist > 9)) && ((cockMoist <= 12)))){
outputMainText(((((((" Your " + clothesBottom()) + " feels completely swamped as pre flies from your lower half as you move about. Standing still for too long, you quickly form a small puddle of the slick stuff. You could probably stuff ") + oneYour(1)) + " cock") + plural(1)) + " into a pussy half your size without any difficulty, you're so slimy!"), false);
};
};
};
if ((((showBalls == true)) && ((balls > 0)))){
outputMainText((((((((("\r\rBeneath your cock" + plural(1)) + " swing") + plural(3)) + " a scrotum filled with ") + balls) + " ") + ballDesc()) + " testicles."), false);
if ((((blueBalls > 36)) && ((blueBalls <= 84)))){
outputMainText(" They groan and squirm, full of hot cum just waiting to blow.", false);
};
if (blueBalls > 84){
outputMainText(" They groan so strongly you shudder slightly. They're so full of cum that they ache a bit, desperately wanting to come.", false);
};
};
if (vagTotal > 0){
outputMainText((((((((("\r\rBetween your legs nestles " + vagTotal) + " ") + vulvaDesc()) + " pair") + plural(2)) + " of feminine nether-lips, about ") + decGet(((vagSize * vagSizeMod) * 0.5), 1)) + " inches deep, when aroused."), false);
if (((vagSize * vagSizeMod) * vagTotal) > (tallness / 2)){
outputMainText(" So deep, in fact, that your belly bulges more because of the excess vaginal flesh.", false);
};
if (lust <= 30){
if (clitSize > (vulvaSize * 3)){
outputMainText(((((((((((" Although you're hardly aroused, your " + clitDesc()) + " clit") + plural(2)) + " dangle") + plural(4)) + " softly from the front of your slit") + plural(2)) + ", measuring nearly ") + decGet((clitSize * 0.1), 1)) + " inches in length."), false);
};
if ((((vagMoist > 9)) && ((vagMoist <= 12)))){
outputMainText(((((" Lubrication makes your cunt" + plural(2)) + " slick, the lips slipping past each other as you walk, while the slime continually blotches the crotch of your ") + clothesBottom()) + ", whether you're horny or not. Fortunately, you could take a cock slightly bigger than you are deep, thanks to the slickness."), false);
};
};
if ((((lust > 30)) && ((lust <= 70)))){
outputMainText(((((((((((((((((" Your " + clitDesc()) + " clit") + plural(2)) + " swell") + plural(4)) + " from the hood") + plural(2)) + " at the front of your slit") + plural(2)) + ", reaching ") + decGet((clitSize * 0.2), 1)) + " inches in length and making you walk awkwardly as the sensitive button") + plural(2)) + " rub") + plural(4)) + " between your thighs."), false);
if ((((vagMoist > 3)) && ((vagMoist <= 9)))){
outputMainText(((((" Lubrication makes your cunt" + plural(2)) + " slick, the lips slipping past each other as you walk, while the slime continually blotches the crotch of your ") + clothesBottom()) + ", whether you're horny or not. Fortunately, you could take a cock slightly bigger than you are deep, thanks to the slickness."), false);
};
if ((((vagMoist > 9)) && ((vagMoist <= 12)))){
outputMainText(((((" So much feminine honey drips from your cunt" + plural(2)) + " that it looks like you have peed in your ") + clothesBottom()) + " and webs of slime form sheets between your legs. But, with all that lubrication you could take a cock around one and a half times long as you are deep."), false);
};
};
if (lust > 70){
outputMainText(((((((((((((((" Your " + clitDesc()) + " clit") + plural(2)) + " swell") + plural(4)) + " tremendously from the hood") + plural(2)) + " at the front of your slit") + plural(2)) + ", reaching ") + decGet((clitSize * 0.25), 2)) + " inches in length. You walk bow-legged half the time as squeezing the clit") + plural(2)) + " and swollen lips between your thighs is often too much, making you hunger to hump something."), false);
if ((((vagMoist > 0)) && ((vagMoist <= 3)))){
outputMainText(((((" Lubrication makes your cunt" + plural(2)) + " slick, the lips slipping past each other as you walk, while the slime continually blotches the crotch of your ") + clothesBottom()) + ", whether you're horny or not. Fortunately, you could take a cock slightly bigger than you are deep, thanks to the slickness."), false);
};
if ((((vagMoist > 3)) && ((vagMoist <= 9)))){
outputMainText(((((" So much feminine honey drips from your cunt" + plural(2)) + " that it looks like you have peed in your ") + clothesBottom()) + " and webs of slime form sheets between your legs. But, with all that lubrication you could take a cock around one and a half times long as you are deep."), false);
};
if ((((vagMoist > 9)) && ((vagMoist <= 12)))){
outputMainText(((" A slow waterfall of feminine honey drips from your crotch, your " + clothesBottom()) + " completely soaked. If you stand for too long, you worry your feet will slip in the puddle you quickly make beneath you. It's so much that you could probably take a cock twice as large as you are deep!"), false);
};
};
if ((((heat > 0)) && ((heatTime < 0)))){
outputMainText(" Your nether-lips are also puffier and redder than usual, heat emanating from your loins, an oven just waiting to cook something...", false);
};
};
doEnd();
}
public function loadGo():void{
var so:SharedObject;
so = SharedObject.getLocal("NiminFetishFantasy");
bc();
trace(("pre pre load: " + so.data.itemSave10));
appearanceText.visible = false;
appearanceBox.visible = false;
viewButtonOutline(1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1);
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);
if (so.data.saveGame1){
buttonWrite(1, ((("D:" + so.data.saveGame1[9]) + " H:") + so.data.saveGame1[10]));
Choice1.visible = true;
};
if (so.data.saveGame2){
buttonWrite(2, ((("D:" + so.data.saveGame2[9]) + " H:") + so.data.saveGame2[10]));
Choice2.visible = true;
};
if (so.data.saveGame3){
buttonWrite(3, ((("D:" + so.data.saveGame3[9]) + " H:") + so.data.saveGame3[10]));
Choice3.visible = true;
};
if (so.data.saveGame5){
buttonWrite(5, ((("D:" + so.data.saveGame5[9]) + " H:") + so.data.saveGame5[10]));
Choice5.visible = true;
};
if (so.data.saveGame6){
buttonWrite(6, ((("D:" + so.data.saveGame6[9]) + " H:") + so.data.saveGame6[10]));
Choice6.visible = true;
};
if (so.data.saveGame7){
buttonWrite(7, ((("D:" + so.data.saveGame7[9]) + " H:") + so.data.saveGame7[10]));
Choice7.visible = true;
};
if (so.data.saveGame9){
buttonWrite(9, ((("D:" + so.data.saveGame9[9]) + " H:") + so.data.saveGame9[10]));
Choice9.visible = true;
};
if (so.data.saveGame10){
buttonWrite(10, ((("D:" + so.data.saveGame10[9]) + " H:") + so.data.saveGame10[10]));
Choice10.visible = true;
};
if (so.data.saveGame11){
buttonWrite(11, ((("D:" + so.data.saveGame11[9]) + " H:") + so.data.saveGame11[10]));
Choice11.visible = true;
};
buttonWrite(12, "Return");
outputMainText("Click on a load slot to load the game that was saved to that slot.\r\rOtherwise, click Return to go back to what you were doing (unless you weren't doing anything yet, in which case click New Game).", true);
doListen = function ():void{
var slot:int;
if (buttonChoice != 12){
slot = buttonChoice;
if ((((buttonChoice == 1)) && (so.data.saveGame1))){
outputMainText((((("Day: " + so.data.saveGame1[9]) + ", Hour: ") + so.data.saveGame1[10]) + ":00"), true);
};
if ((((buttonChoice == 2)) && (so.data.saveGame2))){
outputMainText((((("Day: " + so.data.saveGame2[9]) + ", Hour: ") + so.data.saveGame2[10]) + ":00"), true);
};
if ((((buttonChoice == 3)) && (so.data.saveGame3))){
outputMainText((((("Day: " + so.data.saveGame3[9]) + ", Hour: ") + so.data.saveGame3[10]) + ":00"), true);
};
if ((((buttonChoice == 5)) && (so.data.saveGame5))){
outputMainText((((("Day: " + so.data.saveGame5[9]) + ", Hour: ") + so.data.saveGame5[10]) + ":00"), true);
};
if ((((buttonChoice == 6)) && (so.data.saveGame6))){
outputMainText((((("Day: " + so.data.saveGame6[9]) + ", Hour: ") + so.data.saveGame6[10]) + ":00"), true);
};
if ((((buttonChoice == 7)) && (so.data.saveGame7))){
outputMainText((((("Day: " + so.data.saveGame7[9]) + ", Hour: ") + so.data.saveGame7[10]) + ":00"), true);
};
if ((((buttonChoice == 9)) && (so.data.saveGame9))){
outputMainText((((("Day: " + so.data.saveGame9[9]) + ", Hour: ") + so.data.saveGame9[10]) + ":00"), true);
};
if ((((buttonChoice == 10)) && (so.data.saveGame10))){
outputMainText((((("Day: " + so.data.saveGame10[9]) + ", Hour: ") + so.data.saveGame10[10]) + ":00"), true);
};
if ((((buttonChoice == 11)) && (so.data.saveGame11))){
outputMainText((((("Day: " + so.data.saveGame11[9]) + ", Hour: ") + so.data.saveGame11[10]) + ":00"), true);
};
outputMainText((("\r\rAre you sure you want to load slot " + buttonChoice) + "?\r\rYou will lose any unsaved data from the current game."), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
doLoad(slot);
regionChange(currentZone);
doReturn();
} else {
loadGo();
};
};
};
if (buttonChoice == 12){
doReturn();
};
};
}
function frame1(){
i = 0;
buttonChoice = 0;
currentText = "";
pregTempInt = 0;
pregTempBool = false;
currentState = 0;
inBag = false;
inShop = false;
currentZone = 0;
str = 0;
ment = 0;
lib = 0;
sen = 0;
HP = 0;
lust = 0;
coin = 0;
day = 0;
hour = 8;
hrs = 0;
itemGainArray = [];
human = 0;
horse = 0;
wolf = 0;
cat = 0;
cow = 0;
lizard = 0;
rabbit = 0;
SexP = 0;
levelUP = 0;
level = 0;
runMod = 0;
rapeMod = 0;
cumMod = 1;
cockSizeMod = 1;
vagSizeMod = 1;
vagElastic = 1;
milkMod = 0;
carryMod = 0;
vagBellyMod = 0;
pregChanceMod = 0;
extraPregChance = 0;
pregTimeMod = 0;
enticeMod = 0;
milkHPMod = 0;
changeMod = 1;
HPMod = 0;
SexPMod = 1;
minLust = 0;
enemyID = 0;
eHP = 0;
eMaxHP = 0;
eStr = 0;
eMenta = 0;
eSen = 0;
eLib = 0;
eLust = 0;
eGen = 0;
ePref = 0;
eCoin = 0;
eSexP = 0;
eItem = 0;
gender = 0;
race = 0;
body = 0;
dominant = 0;
hips = 0;
butt = 0;
tallness = 0;
skinType = 0;
tail = 0;
ears = 0;
hair = 0;
hairLength = 0;
hairColor = 0;
cockTotal = 0;
humanCocks = 0;
horseCocks = 0;
wolfCocks = 0;
catCocks = 0;
lizardCocks = 0;
rabbitCocks = 0;
cockSize = 0;
cockMoist = 0;
balls = 0;
ballSize = 0;
showBalls = true;
knot = false;
breastSize = 0;
boobTotal = 0;
nippleSize = 1;
udders = false;
udderSize = 0;
teatSize = 0;
clitSize = 0;
vagTotal = 0;
vagSize = 0;
vagMoist = 0;
vulvaSize = 0;
attireTop = 1;
attireBot = 2;
weapon = 10;
pregArray = [];
pregStatus = 0;
pregnancyTime = 0;
pregRate = 1;
eggLaying = 0;
eggMaxTime = 0;
eggTime = 0;
eggRate = 0;
exhaustion = 0;
exhaustionPenalty = 0;
milkEngorgement = 0;
milkEngorgementLevel = 0;
udderEngorgement = 0;
udderEngorgementLevel = 0;
heat = 0;
heatTime = 0;
heatMaxTime = 0;
lactation = 0;
udderLactation = 0;
nipplePlay = 0;
udderPlay = 0;
blueBalls = 0;
teatPump = 0;
nipPump = 0;
cockPump = 0;
clitPump = 0;
vulvaPump = 0;
masoPot = 0;
sMasoPot = 0;
babyFree = 0;
charmTime = 0;
pheromone = 0;
eggceleratorTime = 0;
eggceleratorDose = 0;
bodyOil = 0;
humanAffinity = 0;
horseAffinity = 0;
wolfAffinity = 0;
catAffinity = 0;
cowAffinity = 0;
lizardAffinity = 0;
rabbitAffinity = 0;
fourBoobAffinity = 0;
lilaRep = 0;
lilaVulva = 0;
lilaMilk = 0;
lilaPreg = -2;
malonRep = 0;
malonPreg = 0;
malonChildren = 0;
mistressRep = 0;
jamieRep = 0;
jamiePrev = 0;
jamiePreg = 0;
silRep = 0;
silPreg = 0;
silRate = 0;
silLay = 10;
silTied = false;
silGrowthTime = 0;
foundSoftlik = false;
foundFirmshaft = false;
foundTieden = false;
foundSizCalit = false;
foundOviasis = false;
knowPheromone = false;
babyFactLevel = 0;
bodyBuildLevel = 0;
hyperHappyLevel = 0;
alchemistLevel = 0;
currentDayCare = 0;
humanChildren = 0;
equanChildren = 0;
lupanChildren = 0;
felinChildren = 0;
cowChildren = 0;
lizanEggs = 0;
lizanChildren = 0;
bunnionChildren = 0;
wolfPupChildren = 0;
itemArray1 = ["1", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
itemArray2 = ["2", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
itemArray3 = ["3", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
currentItems = 1;
stackArray1 = ["1", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stackArray2 = ["2", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stackArray3 = ["3", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashArray1 = ["1", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashArray2 = ["2", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashArray3 = ["3", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
currentStash = 1;
stashStackArray1 = ["1", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashStackArray2 = ["2", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashStackArray3 = ["3", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
hideUpDown();
outputWindow.htmlText = "Nimin: Fetish Fantasy\r v0.92ac\r\rClick 'New Game' to begin a new game.\r\rCreated by: --Xadera\r http://www.furaffinity.net/user/xadera/\r\rOriginal concept by: --Fenoxo\r http://www.furaffinity.net/user/fenoxo/\r\rSpecial thanks to SumigakiFox on FA (owner of Silandrias)\r\rProstitution scene editors (thanks for the work!): Torakazu and omegaokami on FA\r\rThanks to the following for prostitution scenes:\r --Buncubus, BantinNysam, TheAbyssalWatcher, mike12345, V, grottokraft, Ludoergosum, perrothetraveler, reikonova, shockblock99, Kidou, bunnybunbun\r\rThanks to the following for early ideas:\r --tkn156, Shockblock99, Shello-Lakoda, LordNue";
stage.addEventListener(KeyboardEvent.KEY_DOWN, hotKeys);
invertColors.addEventListener(MouseEvent.CLICK, invertC);
newGame.addEventListener(MouseEvent.CLICK, newGameStart);
Choice1.addEventListener(MouseEvent.CLICK, buttonEvent1);
Choice2.addEventListener(MouseEvent.CLICK, buttonEvent2);
Choice3.addEventListener(MouseEvent.CLICK, buttonEvent3);
Choice4.addEventListener(MouseEvent.CLICK, buttonEvent4);
Choice5.addEventListener(MouseEvent.CLICK, buttonEvent5);
Choice6.addEventListener(MouseEvent.CLICK, buttonEvent6);
Choice7.addEventListener(MouseEvent.CLICK, buttonEvent7);
Choice8.addEventListener(MouseEvent.CLICK, buttonEvent8);
Choice9.addEventListener(MouseEvent.CLICK, buttonEvent9);
Choice10.addEventListener(MouseEvent.CLICK, buttonEvent10);
Choice11.addEventListener(MouseEvent.CLICK, buttonEvent11);
Choice12.addEventListener(MouseEvent.CLICK, buttonEvent12);
appearanceText.addEventListener(MouseEvent.CLICK, appearance);
saveGame.addEventListener(MouseEvent.CLICK, saveG);
loadGame.addEventListener(MouseEvent.CLICK, loadG);
statPane.visible = false;
statValuePane.visible = false;
levelPane.visible = false;
levelValuePane.visible = false;
currentRegion.visible = false;
region.visible = false;
saveGame.visible = false;
saveGameOutline.visible = false;
DayPane.visible = false;
DayValuePane.visible = false;
clockPane.visible = false;
appearanceText.visible = false;
appearanceBox.visible = false;
bgC.visible = false;
pageNum.visible = false;
pageNum.rotation = (pageNum.rotation + 90);
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
viewButtonOutline(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
hideAmount();
}
public function doGetRaped():void{
if (enemyID == 1){
if (gender == 1){
outputMainText("The test enemy pokes its cock in your butt and cums.", true);
};
if (gender == 2){
outputMainText("The test enemy pokes its cock in your vagina and cums.", true);
};
if (gender == 3){
outputMainText("The test enemy pokes its cock in your vagina and cums while stroking you off.", true);
};
};
if (enemyID == 101){
outputMainText((((((((((("As your growing erection" + plural(1)) + " spill") + plural(3)) + " from your ") + clothesBottom()) + ", the cock-snake's mouth grows wide. It slithers forward, engulfing ") + oneYour(1)) + " cock") + plural(1)) + ", its mouth stretching wider and wider to fully engulf it, its body so elastic it could take on any length.\r\rIn an instant, your body begins to writhe and shudder as the cock-snake's gullet strongly massages along your length, quickly building you to orgasm. You clench at the ground beneath you as the cum is sucked right from your body, your hips jerking while you pump it out. The cock-snake guzzles it down, drinking it until you're completely finished, some of the spunk splashing back out across your thighs...\r\rHunger sated, the cock-snake slithers away"), true);
if (cumAmount() > 2300){
outputMainText(", its belly obviously distended from your massive load", false);
};
outputMainText(".", false);
};
if (enemyID == 201){
outputMainText((((((((((((((((("The lone wolf rolls you onto all fours with its nose. Obliging, you duck forward, raising your " + buttDesc()) + " rump into the air. He sniffs your cunt") + plural(2)) + ", lapping at the wetness that soaks through your ") + clothesBottom()) + ". He jumps up, clawing your ") + clothesBottom()) + " to shreds until your ") + vulvaDesc()) + " hot crotch is put on display. Scratching your back, he mounts you from behind.\r\rHis rock-hard rod pokes and prods around your sex until it finds ") + oneYour(2)) + " gaping hole") + plural(2)) + " and plunges it in. You gasp as the steaming meaty flesh pounds into you, the wolf roughly humping away, the inner fur of his thighs rubbing back and forth along your ") + buttDesc()) + " naked bum. He hugs you with his paws, his muzzle panting beside your ear while drool drips down from his lolling tongue and down your cheek. It only takes a minute before he howls loudly, cum spurting into your pussy at an astonishing rate. You shout as it floods your insides, a thick knot growing at your entrance and spreading you open further..."), true);
changeBot(-1);
doNext();
outputMainText("You gasp as you're about to pass out, feeling the wolf tug at your violated cunt in an attempt to get away. Still tied by his knot, his cock squirting away within, ", false);
if (vagLimit() < 32){
outputMainText("you wince with each pull, the knot stretching you wider,", false);
vagChange(1, 0);
} else {
if (vagLimit() < 8){
outputMainText("you yelp with each pull, the knot far too large for your little pussy and stretches you much wider and wider while causing you some pain,", false);
vagChange(2, 0);
doHP(-5);
} else {
outputMainText("but your gaping cunt is more than enough to handle it,", false);
};
};
outputMainText(" until it finally pulls free and he runs back off into the forest.", false);
doImpregnate(enemyBaby());
};
if (enemyID == 301){
outputMainText((((("Finally having someone as horny as she is, she pounces onto you. She presses your face against her exposed nipples, forcing you to lick the soreness that had been caused by her own rubbing. She grinds up and down your belly, tearing your " + clothesTop()) + " to tattered shreds with her claws while biting and suckling from your own ") + nipDesc()) + " nipples"), true);
changeTop(-1);
if (lactation > 0){
outputMainText(", delighting in the taste of your milk", false);
};
outputMainText(((". However, it doesn't take long until she reaches beneath her loin cloth and pulls her bikini bottom to the side before she goes diving into your " + clothesBottom()) + ","), false);
if ((((gender == 1)) || ((gender == 3)))){
outputMainText(((((((" digging out " + oneYour(1)) + " ") + cockDesc()) + " cock") + plural(1)) + "."), false);
if ((cockSize * cockSizeMod) > eVagLimit(40)){
outputMainText(((" She attempts to stand and squat down upon it, but, to her dismay, she can't seem to push it into her hungry pussy, even though she tried until tears welled up in her eyes from the painful stretching. Instead, she settles for hugging and humping the " + cockDesc()) + " thing, grinding her own stiff little erection into it, her feminine juices spilling down its length and over your body."), false);
} else {
if ((cockSize * cockSizeMod) > eVagLimit(20)){
outputMainText(" She mewls and mrowls in pain as she stands up and squats down upon it. It spreads her so wide that it hurts her so much, yet she doesn't care, so desperate to fuck. Tears roll down her cheeks, but her mouth yawns wide with erotic joy, being filled so much.", false);
} else {
outputMainText(" She rises up, only to squat back down on your erection, your cock slipping into her supple folds. So absolutely overjoyed to finally have a cock in her, she scratches at your chest with her claws and bites down upon your neck.", false);
};
};
outputMainText(" Her hips speed up faster and faster, wildly working her pussy so much that the slick liquids spilling from her gurgle and churn into a bubbly mess. You too find her efforts to be extremely effective, your body quaking along with her.", false);
if ((((cumAmount() > 550)) && (((cockSize * cockSizeMod) <= eVagLimit(40))))){
outputMainText(" She purrs loudly as she feels your cum explode within her, utterly pleased as it fills her so much that it squirts back out of her pussy with a loud lewd noise.", false);
} else {
if ((cockSize * cockSizeMod) > eVagLimit(40)){
outputMainText(" She purrs hungrily as she laps at you cum as it sprays about the both of you, her face absolutely delighted in having her fur matted with the stuff.", false);
} else {
outputMainText(" She purrs pleasantly as she feels your cum spurt within her, gyrating her hips around your rod to drink in every drop.", false);
};
};
outputMainText("\r\r", false);
if ((((knot == true)) && (((cockSize * cockSizeMod) <= eVagLimit(40))))){
outputMainText("With a high-pitched squeak, she pulls off of your knot without thinking. She rubs her poor cunny from the pain, only to roll her eyes up into her head with the pleasant masturbation. ", false);
};
};
if (gender == 2){
outputMainText(((((((" lapping at your " + vulvaDesc()) + " crotch and rouchly licking your ") + clitDesc()) + " clit") + plural(2)) + "."), false);
if (clitSize > 25){
outputMainText(((((" With a wicked grin, she eyes your " + clitDesc()) + " clit") + plural(2)) + " hungrily."), false);
if (clitSize > 100){
outputMainText(((((((" She attempts to stand and squat down upon " + oneYour(2)) + " erect button") + plural(2)) + ", but, to her dismay, she can't seem to push it into her hungry pussy, even though she tried until tears welled up in her eyes from the painful stretching. Instead, she settles for hugging and humping the ") + clitDesc()) + " thing, grinding her own stiff little erection into it, her feminine juices spilling down its length and over your body."), false);
} else {
if (clitSize > 50){
outputMainText(((((" She mewls and mrowls in pain as she stands up and squats down upon " + oneYour(2)) + " erect button") + plural(2)) + ". It spreads her so wide that it hurts her so much, yet she doesn't care, so desperate to fuck. Tears roll down her cheeks, but her mouth yawns wide with erotic joy, being filled so much."), false);
} else {
outputMainText(((((" She rises up, only to squat back down upon " + oneYour(2)) + " erect button") + plural(2)) + ", your clit slipping into her supple folds. So absolutely overjoyed to finally have a hard phallic object in her, she scratches at your chest with her claws and bites down upon your neck."), false);
};
};
} else {
outputMainText(" She glides back up your chest and presses her sloppy cunt to yours, grinding the two together.", false);
};
outputMainText(" Her hips speed up faster and faster, wildly working her pussy so much that the slick liquids spilling from her gurgle and churn into a bubbly mess. You too find her efforts to be extremely effective, your body quaking along with her.", false);
};
outputMainText("Dazed and high with her climax, having finally overcome her heat a little, she stumbles away, her loin cloth pushed so far to the side that her lips shine between her legs for all to see.", false);
if ((((((percent() < 40)) && ((ballSize > 1)))) && (((cockSize * cockSizeMod) <= eVagLimit(40))))){
outputMainText(" And she seems oddly content, as though her heat had passed with that romp for some reason...", false);
};
};
if (enemyID == 302){
outputMainText("Seeing you laying defenseless and utterly aroused before him, the drunken equan falls to the ground. With a grunt and a grope, he pulls his huge cock from his pants, his erection barely 2/3 its full potential. Considering how drunk he is, it probably won't get much larger.", true);
if ((((gender == 1)) || ((((gender == 3)) && ((percent() <= 50)))))){
outputMainText(((" Nevertheless, not caring whether you're male or female, he turns you over to find the hole everybody has. Giving your " + buttDesc()) + " ass a slap with his mug, he leans forward and plunges his erection deep inside."), false);
} else {
if ((((gender == 2)) || ((gender == 3)))){
outputMainText(((((" Nevertheless, he slips his arms behind your knees, pushing them up and foward as his cock plows into " + oneYour(2)) + " cunt") + plural(2)) + "."), false);
if (vagLimit() < 12){
outputMainText(((" You cry out in pain as the cock slams against your entrance, completely unable to fit. So, instead, the the horny equan turns you over, plunging his erection deep into your " + buttDesc()) + " ass until you can see it bulge through your belly."), false);
doHP(-5);
} else {
if (vagLimit() < 28){
outputMainText(" With a cry, the large horse-cock proves too big for your relatively small pussy, stretching it dramatically and causing you some pain.", false);
vagChange(3, 0);
doHP(-(Math.floor((eStr / 2))));
doImpregnate(enemyBaby());
} else {
if (vagLimit() < 52){
outputMainText(" You wince as it pushes in too far, pounding your cervix further and further into your belly, permanently stretching you a bit.", false);
vagChange(1, 0);
doImpregnate(enemyBaby());
} else {
outputMainText(((" You feel it push against your belly from within, the mound slightly protruding through your " + skinDesc()) + ", taking his entire length inside of you."), false);
doImpregnate(enemyBaby());
};
};
};
};
};
outputMainText(" Again and again, he has his way with your hole, until he lets out a loud whinny. Eyes going wide, you feel a flood of his hot stuff flush into your body, making you lose all thoughts of everything else...", false);
if (cumAmount() > 0){
outputMainText(((((" Your cock" + plural(1)) + " explode") + plural(3)) + " across the ground just before you collapse, forming a nice puddle to splash in."), false);
};
outputMainText("\r\rAs drunk as he is, the large equan doesn't take long to pull out, cum dribbling in long strands from his huge cock and splattering across his pants, as he sways back towards Firmshaft.", false);
};
if (enemyID == 303){
if (gender == 1){
outputMainText((((((((((((("With a giggle at your vulnerable state, her tentacles wrap about your " + buttDesc()) + " butt, weaving into your ") + clothesBottom()) + " and pulling out your ") + cockDesc()) + " erection") + plural(1)) + ". She takes ") + oneYour(1)) + " cock") + plural(1)) + " and fondles it with the slimy appendages, making sure it's nice and hard."), true);
if ((cockSize * cockSizeMod) > 50){
outputMainText(((" Not wanting to stretch herself to engulf your " + cockDesc()) + " thing, she instead wraps her tentacles around it, drawing it towards the center of her webbing, just beneath her hips.\r\rYou can't tell what is going on, but you quickly jerk as something nips at your urethra. Nothing painful, just a soft yet rigid fleshy thing, like cartilage, that gently pinches you. Then your eyes go wide as whatever it is begins to dig into your urethra, spreading the last couple of inches wider as it slips inside, holding your cock-tip open like a gaping hole.\r\rAgain, she is gentle, but any pain you might have noticed quickly disappears as all eight of her tentacles work together in harmony, writhing about your cock and making you twitch sporadically on the ground from the intense pleasure. She wrings your cock powerfully, quickly bringing you to a gushing orgasm, spraying your cum through your gaping urethra and filling her body."), false);
} else {
outputMainText(((" Her whole body moves over yours, your groin being lost to her webbing.\r\rYou can't tell what is going on, but you quickly jerk as something nips at the tip of your rod. Nothing painful, just a soft yet rigid fleshy thing, like cartilage, that gently pinches you. Then your eyes go wide as whatever it is engulfs your length, sucking you inside. Supple folds squish and writhe around your cock, as though it were a pussy with a throat that was trying desparately to swallow you. Within moments, you find your " + hipDesc()) + " hips jerking as you blow your load, filling her."), false);
};
if (cumAmount() > 2300){
outputMainText(" You come so much that her belly begins to swell larger, stretching to engulf as much of your seed as she can, before gushing back out and down your cock.", false);
};
outputMainText("\r\rHer belly shivers a little as it absorbs your cum. It grows slightly larger as her offspring wiggle inside, maturing. With a grin, she slides off of you and back into the ocean, her tentacles twitching excitedly as she disappears...", false);
};
if (gender == 2){
outputMainText((((((((((((((((("She grins at you, particularly happy to see you submit before her. She leans in for a wet kiss, licking your cheek with her long tongue, as her tentacles wrap around your " + buttDesc()) + " butt. They weave into your ") + clothesBottom()) + " and pull it ") + pullUD(2)) + ", exposing your swollen and hungry ") + vulvaDesc()) + " cunt") + plural(2)) + ". She then swings back, her tentacles flying wide for a moment and giving you a view of what's behind her webbing.\r\rIn the center of all the tentacles, right beneath her hips, gasps a gaping hole. A sort of 'beak', like octopuses normally have, encompasses it. The beak looks tougher than the surrounding flesh, able to maintain its shape. However, as she rams it against your groin, you notice it's softer than you expected, more like cartilage. Yet, you don't have much time to reflect about what it is as it begins to nip at your nether-lips, prying them open and burying itself within, a few inches deep.\r\rIt doesn't hurt much, but any pain quickly dissipates as her tentacles wrap around your groin. The suction cups underneath stick to your ") + skinDesc()) + ", giving her a good grip, while some in particular latch onto your clit") + plural(2)) + " and lips, tugging and sliming at your arousal. Your hips quickly begin to buck on the ground as she brings you to orgasm after orgasm, your button") + plural(2)) + " and vulva swelling larger as fluids from the cups seep into them."), true);
if (!pregCheck(1)){
outputMainText("\r\rHowever, she seems to quickly notice that you already have something growing inside of you without room for more. With a smile, she removes her tentacles and draws up your body. She leans in yet again for another kiss, this time on your forehead, her breasts surrounding your face. Then she turns and leaps back into the water with a splash, leaving you wracked with ecstasy and larger genitals...", false);
clitSize = (clitSize + 4);
vulvaSize = (vulvaSize + 2);
} else {
outputMainText((("\r\rWhile your mind is distracted by the multiple climaxes, you hardly notice as she begins to wince and groan, her arms hugging her belly. Then, amidst your ecstatic moans, you let out a gasp as something breaches your " + vulvaDesc()) + " pussy, round and large."), false);
if (vagSize < 20){
outputMainText(((" The object is so big that it stretches your poor cunt" + plural(2)) + " even larger, making sure there's enough room."), false);
vagSize = (vagSize + 2);
};
outputMainText((((("\r\rAnd that was just the first...\r\rAgain and again, you can feel something slip into your womb. Yet, as her tentacles work at your " + clitDesc()) + " clit") + plural(2)) + ", you can do nothing but cry out in pleasure with each pass. Soon, you find yourself groping your own belly as it swells beneath your hands, while hers deflates, emptying its contents into you. Eventually, you look as pregnant as she did, the things inside shivering slightly at the warmth of their new home...\r\rHappy with her spawning season, the octopus girl gathers her own wits, relinquishing you from her tentacles and kissing your enormous belly. Then, she turns towards the ocean and dives back into it, disappearing until the next time she needs a surrogate..."), false);
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == false){
pregArray[i] = true;
pregArray[(i + 1)] = 200;
pregArray[(i + 2)] = 216;
pregArray[(i + 3)] = 180;
i = pregArray.length;
};
i = (i + 5);
};
};
};
if (gender == 3){
outputMainText((((((((((((("With a giggle at your vulnerable state, her tentacles wrap about your " + buttDesc()) + " butt, weaving into you ") + clothesBottom()) + " and pulling out your ") + cockDesc()) + " erection") + plural(1)) + ". She takes ") + oneYour(1)) + " cock") + plural(1)) + " and fondles it with the slimy appendages, making sure it's nice and hard."), true);
if ((cockSize * cockSizeMod) > 50){
outputMainText(((" Not wanting to stretch herself to engulf your " + cockDesc()) + " thing, she instead wraps her tentacles around it, drawing it towards the center of her webbing, just beneath her hips.\r\rYou can't tell what is going on, but you quickly jerk as something nips at your urethra. Nothing painful, just a soft yet rigid fleshy thing, like cartilage, that gently pinches you. Then your eyes go wide as whatever it is begins to dig into your urethra, spreading the last couple of inches wider as it slips inside, holding your cock-tip open like a gaping hole.\r\rAgain, she is gentle, but any pain you might have noticed quickly disappears as all eight of her tentacles work together in harmony, writhing about your cock and making you twitch sporadically on the ground from the intense pleasure. She wrings your cock powerfully, quickly bringing you to a gushing orgasm, spraying your cum through your gaping urethra and filling her body."), false);
} else {
outputMainText(((" Her whole body moves over yours, your groin being lost to her webbing.\r\rYou can't tell what is going on, but you quickly jerk as something nips at the tip of your rod. Nothing painful, just a soft yet rigid fleshy thing, like cartilage, that gently pinches you. Then your eyes go wide as whatever it is engulfs your length, sucking you inside. Supple folds squish and writhe around your cock, as though it were a pussy with a throat that was trying desparately to swallow you. Within moments, you find your " + hipDesc()) + " hips jerking as you blowing your load, filling her."), false);
};
if (cumAmount() > 2300){
outputMainText(" You come so much that her belly begins to swell larger, stretching to engulf as much of your seed as she can, before gushing back out and down your cock.", false);
};
outputMainText("\r\rHer belly shivers a little as it absorbs your cum. It grows slightly larger as her offspring wiggle inside, maturing.", false);
outputMainText((((((((((((("With a grin, she seems particularly happy to have found such a suitable partner. She leans in for a wet kiss, licking your cheek with her long tongue, as her tentacles wrap around your " + buttDesc()) + " butt once more. They squirm around your exposed swollen and hungry ") + vulvaDesc()) + " cunt") + plural(2)) + ", making sure you're still aroused. She then swings back, her tentacles flying wide for a moment and giving you a view of what's behind her webbing.\r\rIn the center of all the tentacles, right beneath her hips, gasps a gaping hole. A sort of 'beak', like octopuses normally have, encompasses it. The beak looks tougher than the surrounding flesh, able to maintain its shape. However, as she rams it against your groin, you notice it's softer than you expected, more like cartilage. Its the thing you had noticed before... Yet, you don't have much time to reflect about what it is as it begins to nip at your nether-lips, prying them open and burying itself within, a few inches deep.\r\rIt doesn't hurt much, but any pain quickly dissipates as her tentacles wrap around your groin. The suction cups underneath stick to your ") + skinDesc()) + ", giving her a good grip, while some in particular latch onto your clit") + plural(2)) + " and lips, tugging and sliming at your arousal. Your hips quickly begin to buck on the ground as she brings you to orgasm after orgasm, your button") + plural(2)) + " and vulva swelling larger as fluids from the cups seep into them."), false);
if (!pregCheck(1)){
outputMainText("\r\rHowever, she seems to quickly notice that you already have something growing inside of you without room for more. With a smile, she removes her tentacles and draws up your body. She leans in yet again for another kiss, this time on your forehead, her breasts surrounding your face. Then she turns and leaps back into the water with a splash, leaving you wracked with ecstasy and larger genitals...", false);
clitSize = (clitSize + 4);
vulvaSize = (vulvaSize + 2);
} else {
outputMainText((("\r\rWhile your mind is distracted by the multiple climaxes, you hardly notice as she begins to wince and groan, her arms hugging her belly. Then, amidst your ecstatic moans, you let out a gasp as something breaches your " + vulvaDesc()) + " pussy, round and large."), false);
if (vagSize < 20){
outputMainText(((" The object is so big that it stretches your poor cunt" + plural(2)) + " even larger, making sure there's enough room."), false);
vagSize = (vagSize + 3);
};
outputMainText((((("\r\rAnd that was just the first...\r\rAgain and again, you can feel something slip into your womb. Yet, as her tentacles work at your " + clitDesc()) + " clit") + plural(2)) + ", you can nothing but cry out in pleasure with each pass. Soon, you find yourself groping your own belly as it swells beneath your hands, while hers deflates, emptying its contents into you. Eventually, you look as pregnant as she did, even the extra bit she gained from after you filled her with your cum, the things inside shivering slightly at the warmth of their new home...\r\rEspecially happy with how well her spawning season went this week, the octopus girl gathers her own wits, relinquishing you from her tentacles and kissing your enormous belly. Then, she turns towards the ocean and dives back into it, disappearing until the next time she needs a surrogate..."), false);
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == false){
pregArray[i] = true;
pregArray[(i + 1)] = 200;
pregArray[(i + 2)] = 252;
pregArray[(i + 3)] = 216;
i = pregArray.length;
};
i = (i + 5);
};
};
doLust(-20);
};
};
if (enemyID == 304){
if ((((vagTotal > 0)) && ((vagLimit() > 80)))){
outputMainText((((((("A smirk crosses the bunny-man's face as you fall before him, your cunt" + plural(2)) + " dripping with arousal. His own conical prick twitches in his sheath at the size of you gaping maw, even in your reduced state, eager to hop in and make you his new bunny-hole. He falls to his knees and wraps his arms around your body, his hips quickly closing the gap between your heights. You can hardly tell at first that ") + oneYour(2)) + " slit") + plural(2)) + " is being penetrated, the narrow tip relatively small. But as he quickly plows the rest of his length in, your eyes nearly cross from the rapid change in girth."), true);
if (tallness < 160){
outputMainText(" You can feel your belly distend, your vaginal flesh stretching out within to match the shape of his cock.", false);
};
if (tallness < 80){
outputMainText(((" So much so that your vision becomes blocked by your own " + skinDesc()) + ", the massive erection squeezing between your face and his body."), false);
};
outputMainText("\r\rWith tremendous fervor, he rams his hips into you again and again. So fast that your mind can hardly distinguish between being empty and relaxed versus stuff and stretched, it's all a blur. Long before you're even able to start to come to your own climax, you hear him clench his teeth above you. In an instant, your crotch feels hot and sticky as spunk floods your tunnel, splashing about as the bunny-man continues to hump away. His fuzzy balls smack against your thighs with lewd noises from the sticky mess, with no signs of slowing down.\r\rAgain and again he comes inside of you, your pussy almost numb from all the thrusting. So lost in the speedy sex, your mind can hardly register that you have reached orgasm", false);
if (cockTotal > 0){
outputMainText(((((", barely noticing the extra stickiness upon his fur that rubs against your belly as your own erection" + plural(1)) + " explode") + plural(3)) + ""), false);
};
outputMainText(".\r\rAll you seem to remember is the fact that he doesn't stop until you feel yourself begin to grow. He comes to an abrupt halt, yanking out while his spunk still spits between your thighs, and soon backs off as you begin to return to your normal state, though not quite...", false);
doImpregnate(enemyBaby());
} else {
outputMainText("A smirk crosses the bunny-man's face as you fall to your knees. He lunges forward to hold you up, his conical prick bobbing before your face. So lost in lust, your mouth subconsciously opens as you feel a supple tip press against it, sucking it in until you quickly find your jaw wedged open by the increasing girth. Just the tip of his penis is all that manages to fit inside, but he doesn't seem to care. He twirls what little there is around the inside of your mouth, pressing it down against your tongue. Your tongue lashes back, your throat sucking it in as it tries to gulp down the pre that leaks.\r\rThough he can't face-fuck you too well, he seems perfectly happy pleasuring the rest of his shaft with a hand. With each stroke of his length, your whole body bobs to keep up with the stiffness that holds your mouth agape. Until he comes to an abrupt halt...\r\rYour throat goes numb as hot seed gushes down it. You don't even have time to swallow, it's so forceful and so plentiful. Some sprays back out from your nose and even your eyes feel wet and slightly sticky from something that isn't tears. Your stomach quickly fills and you feel oh so full... For a moment, your hands can wrap around your belly as it distends to obscene sizes.\r\rHowever, oddly, you soon find yourself sucking in more and more of his length. Your extended belly shrinks as it's able to contain more of the stuff, your throat regaining composure. As your body grows out from his hands, he suddenly pulls out from you, spraying the last bit from your face. He quickly hops away as you begin to nearly grow to your normal size, though your head is still oversexed.", true);
};
};
if (enemyID == 305){
if ((((((gender == 1)) || ((((gender == 3)) && ((percent() > 50)))))) && (((((cockSize * cockSizeMod) > 140)) || ((((cockTotal * cockSize) * cockSizeMod) > 280)))))){
outputMainText((((((((((((((((((((((((((("A smile crosses the bunny-girl's face as you fall before her, your cock" + plural(1)) + " pushing at your ") + clothesBottom()) + ". She ducks down and releases your member") + plural(1)) + " with one hand while her other disappears between her legs. It quickly reappears as she stands up and hovers over you, her fingers spreading her large snatch wide. Her honey drizzles down around your cock") + plural(1)) + " with the rest of her swiftly bearing down after it. She lets out a loud sweet moan as she engulfs your length") + plural(1)) + ". Her velvety puffy folds soon hug the rest of your body, covering you like warm wet blankets, and your face is buried by her clit. It's a rather comforting position, somewhat relaxing, that only lasts for a few seconds...\r\rHer strong legs quickly kick up, sending her skyward, before plunging back down upon you again. Her movements are so swift and powerful, your cock") + plural(1)) + " can't tell if ") + plural(7)) + " inside or not, only feeling a constant rubbing against ") + plural(5)) + " sensitive skin. And despite the fervent efforts on your manhood, the bunny-girl still manages to climax first, as she lets out a succulent shout of ecstasy. Her walls clamp around your appendage") + plural(1)) + ", sucking ") + plural(9)) + " in and tugging ") + plural(9)) + " along with her as her bouncing only grows more enthused.\r\rIt doesn't take long until your own arousal begins to build pressure, though you find that pressure to grow much greater than you would have expected. The bunny-girl's pussy seems to only be growing tighter and tighter, lifting her from your body as your cock") + plural(1)) + " push her away. When you finally reach orgasm, she groans loudly as her belly fills and swells. Opening your eyes, you realize you're growing larger, almost your full size! She flies off your erection") + plural(1)) + " with a slick pop before she is really harmed and hops away, leaving you to finish gushing outside of the cave..."), true);
} else {
if ((udderSize / 2) > 300){
outputMainText((((((("A smile crosses the bunny-girl's face as you fall before her. Eyeing your " + udderDesc()) + " udder through your ") + clothesTop()) + ", an idea seems to dawn upon her and she ducks down to releas your relatively massive mammaries. Then she stands and hovers over you, her fingers spreading her large snatch wide. Her honey drizzles down around your udder with the rest of her swiftly bearing down after it. She lets out a loud sweet moan as she engulfs your ") + udderDesc()) + " bag, letting the fleshy balloon fill her. Her velvety puffy folds soon hug the rest of your body, covering you like warm wet blankets, and your face is buried by her clit. It's a rather comforting position, somewhat relaxing, that only lasts for a few seconds...\r\rHer strong legs quickly kick up, sending her skyward, before plunging back down upon you again. Her movements are so swift and powerful, your whole body is lifted by your stretching udder before being slammed back into the ground with the giant little bunny bum crashing back down upon you."), true);
if (udderLactation > 1){
outputMainText(((" The supple massage upon your milky mound causes your " + teatDesc()) + " teats to spray warm milk profusely into her belly."), false);
milkAmount(2);
};
outputMainText(" Her hands grope about herself in ecstasy at the sensation within, letting out a succulent shout as she climaxes. Her walls clamp around your milk-bag, sucking it in and tugging it along with her as her bouncing only grows more enthused.\r\rYou begin to enjoy the sensation yourself, an outlet for your lust, but quickly realize something is odd as the bunny-girl's pussy seems to only be growing tighter and tighter. She slowly lifts from your body as your udder pushes her away, growing larger and larger within her until she's hardly straddling your teats! When you finally manage to reach orgasm, her large feet smack against the bag as she realizes how large you've become, propelling herself away. While you come close to returning to your full size with your body still tingling, she dashes away, a hand still jerking at her clit as she goes.", false);
} else {
if (breastSize > 300){
outputMainText((((((("A smile crosses the bunny-girl's face as you fall before her. Eyeing your " + boobDesc()) + " tits through your ") + clothesTop()) + ", an idea seems to dawn upon her and she ducks down to releas your relatively massive mammaries. Then she stands and hovers over you, her fingers spreading her large snatch wide. Her honey drizzles down around your breasts with the rest of her swiftly bearing down after it. She lets out a loud sweet moan as she engulfs your ") + boobDesc()) + " mounds, letting the fleshy balloons fill her. Her velvety puffy folds soon hug the rest of your body, covering you like warm wet blankets, and your face is buried by her clit. It's a rather comforting position, somewhat relaxing, that only lasts for a few seconds...\r\rHer strong legs quickly kick up, sending her skyward, before plunging back down upon you again. Her movements are so swift and powerful, your whole body is lifted by your stretching breasts before being slammed back into the ground with the giant little bunny bum crashing back down upon you."), true);
if (lactation > 1){
outputMainText(((" The supple massage upon your milky mounds causes your " + nipDesc()) + " nipples to spray warm milk profusely into her belly."), false);
milkAmount(1);
};
outputMainText(" Her hands grope about herself in ecstasy at the sensation within, letting out a succulent shout as she climaxes. Her walls clamp around your tits, sucking them in and tugging them along with her as her bouncing only grows more enthused.\r\rYou begin to enjoy the sensation yourself, an outlet for your lust, but quickly realize something is odd as the bunny-girl's pussy seems to only be growing tighter and tighter. She slowly lifts from your body as your boobs push her away, growing larger and larger within her until she's hardly straddling your nipples! When you finally manage to reach orgasm, her large feet smack against your chest as she realizes how large you've become, propelling herself away. While you come close to returning to your full size with your body still tingling, she dashes away, a hand still jerking at her clit as she goes.", false);
} else {
outputMainText("A smile crosses the bunny-girl's face as you fall before her. Though a little dissapointed at the lack of anything to really have fun with, she still seems to know what to do with you. Your vision is soon obscured as she steps over you, her pussy hovering high above with thick strands of arousal drizzling over your body. Her hips then quickly bear down upon you, wedging you into her supple puffy folds. Her clit pushes into your chest and grinds up towards your face as her legs push her forward. Within moments, her powerful thighs have her running up and down your body with great fervor, nearly pasting you to the ground with all of the slickness.", true);
if (tallness < 80){
outputMainText("\r\rHer speed and lack of cautiousness don't quite account for your especially small size and in one swift passing, your feet get caught by the rim of her vaginal entrance... In one pass, you're sucked up into her pussy, surrounded by wet warm fleshy walls.\r\rShe seems to be completely unphased, however, and actually increases her pace now that she has something inside of her. Humping at the ground, her fingers wrap around her clit and furiously stroke her. Her palm presses into her belly, squishing you between the tight walls. They rapidly begin to shudder as she approaches her first orgasm, squishing and pressing about your body erotically in the meantime. You soon find yourself coming to and orgasm, your genitals mashed by supple flesh, but also find your confines growing tighter and tighter... You can feel her belly distend as you grow within her, forcing her to come to an abrupt halt. She lifts from the ground, grabbing her clit tightly with a sweet shout, a strong orgasm pushing you out from her loins\r\rWhile you continue to grow to nearly your full height in the midst of your climax, she dashes away.", false);
} else {
outputMainText(" She humps you furiously, her speed and strength quickly bringing herself to her first orgasm. Yet, that doesn't stop her as she continues to jerk across your body, with even more enthusiasm than before. All the rubbing of soft supple flesh against your genitals every pass makes you begin to feel a little tingly as well.\r\rHowever, just as you're coming close to orgasm, you can feel her legs spread more and more, her efforts no longer making it across your entire body. Nearly growing to your full size as you climax, the bunny-girl comes to a halt and dashes away while continuing to jerk her erect clit, her advantage over you lost.", false);
};
if (cockTotal > 0){
cumAmount();
};
};
};
};
};
outputMainText("\r\rYou pass out in a puddle of mixed sensual fluids...", false);
currentState = 1;
doLust(-50);
hrs = (2 + Math.floor((percent() / 20)));
exhaustion = (exhaustion - Math.floor((percent() / 20)));
doEnd();
}
public function doSalon():void{
var buy:int;
bc();
buy = 0;
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1);
viewButtonText(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1);
i = 1;
while (i < 12) {
if (((!((i == 4))) && (!((i == 8))))){
buttonWrite(i, hairstyleName(hairstyleID(i)));
};
i++;
};
buttonWrite(4, "Buy");
buttonWrite(12, "Return");
outputMainText("Click on a hairstyle to view a description of the hairstyle. If you would like to purchase it, click the Buy button.\r\rNote: Buying hairstyles automatically replaces your current hairstyle. You cannot sell hairstyles.", true);
doListen = function ():void{
if (((((((!((buttonChoice == 4))) && (!((buttonChoice == 8))))) && (!((buttonChoice == 12))))) && (!((clothesID(buttonChoice) == 0))))){
outputMainText((((hairstyleDescription(hairstyleID(buttonChoice)) + "\r\rCost: ") + hairstyleValue(hairstyleID(buttonChoice))) + " coins."), true);
buy = buttonChoice;
};
if ((((buttonChoice == 4)) && (!((buy == 0))))){
outputMainText((("\r\rAre you sure you would like to buy " + hairstyleName(hairstyleID(buy))) + "?"), false);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (coin < hairstyleValue(hairstyleID(buy))){
outputMainText((((((("Sorry, but you only have " + coin) + " coins. You require at least ") + (hairstyleValue(hairstyleID(buy)) - coin)) + " more coins to purchase ") + hairstyleName(hairstyleID(buy))) + "."), true);
doNext();
doListen = function ():void{
doTailor();
};
} else {
hair = hairstyleID(buy);
doCoin(-(hairstyleValue(hairstyleID(buy))));
if (hairstyleLength(hairstyleID(buy))){
viewButtonOutline(1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0);
viewButtonText(1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0);
buttonWrite(1, "Short");
buttonWrite(2, "Medium");
buttonWrite(5, "Long");
buttonWrite(6, "X-Long");
buttonWrite(7, "XX-Long");
outputMainText("What length would you like your hair to be? This does not affect its cost.\r\rShort - Doesn't hang past head.\r\rMedium - Reaches shoulders.\r\rLong - Reaches past shoulderblades.\r\rX-Long - Hangs past your butt.\r\rXX-Long - Reaches the ground.", false);
doListen = function ():void{
if (buttonChoice == 1){
hairLength = 2;
} else {
if (buttonChoice == 2){
hairLength = 4;
} else {
if (buttonChoice == 5){
hairLength = 6;
} else {
if (buttonChoice == 6){
hairLength = 8;
} else {
if (buttonChoice == 7){
hairLength = 10;
};
};
};
};
};
doSalon();
};
} else {
doSalon();
};
};
} else {
doSalon();
};
};
};
if (buttonChoice == 12){
doReturn();
};
};
}
public function enemyBaby():int{
var tempNum:int;
tempNum = 0;
if (enemyID == 201){
tempNum = 100;
};
if (enemyID == 302){
tempNum = 2;
};
if (enemyID == 304){
tempNum = 7;
};
return (tempNum);
}
public function dayTime(Time:Number):void{
var addTime:int;
addTime = Time;
while ((hour + addTime) >= 24) {
addTime = (addTime - (24 - hour));
hour = 0;
day++;
};
hour = (hour + addTime);
DayValuePane.text = ((int(day) + "\r\r") + int(hour));
if (bgC.visible == true){
DayValuePane.textColor = 0xFFFFFF;
};
doStatus(Time);
}
public function currentClothes():String{
var tempStr:String;
tempStr = "CURRENT CLOTHES ERROR";
if (attireTop == attireBot){
tempStr = (("" + clothesTop()) + "");
} else {
tempStr = (((("" + clothesTop()) + " and ") + clothesBottom()) + "");
};
return (tempStr);
}
public function specialKOLose():void{
if (currentState == 2){
if (enemyID == 303){
outputMainText("\r\rJust as you're about to pass out, you see the octopus girl lean over your body. She wears a disappointed expression, finding you were't strong enough for what she was looking for. Shrugging, she jumps back into the ocean, leaving you to yourself.", false);
} else {
if ((((enemyID == 304)) || ((enemyID == 305)))){
outputMainText("\r\rJust as you're about to pass out, you feel yourself beginning to grow. The effects of the bottle seems to wear off as you return to your normal height. Though not quite all the way...", false);
};
};
};
}
public function stashStackWrite(slotNumber:int, slotItem:int):void{
if (currentStash == 1){
stashStackArray1[slotNumber] = slotItem;
};
if (currentStash == 2){
stashStackArray2[slotNumber] = slotItem;
};
if (currentStash == 3){
stashStackArray3[slotNumber] = slotItem;
};
}
public function clothesBottom():String{
var tempStr:String;
tempStr = ("CLOTHES BOTTOM ERROR " + attireBot);
if (attireBot == -1){
tempStr = "tattered shreds";
};
if (attireBot == 0){
tempStr = "invisible underwear";
};
if (attireBot == 2){
tempStr = "pants";
};
if (attireBot == 4){
tempStr = "bikini bottom";
};
if (attireBot == 5){
tempStr = "elegant dress";
};
if (attireBot == 6){
tempStr = "latex suit";
};
if (attireBot == 7){
tempStr = "skirt";
};
if (attireBot == 8){
tempStr = "shorts";
};
if (attireBot == 10){
tempStr = "diaper";
};
if (attireBot == 11){
tempStr = "poofy diaper";
};
if (attireBot == 12){
tempStr = "sundress";
};
if (attireBot == 13){
tempStr = "skimpy dress";
};
if (attireBot == 14){
tempStr = "short skirt";
};
if (attireBot == 15){
tempStr = "short shorts";
};
if (attireBot == 16){
tempStr = "loincloth";
};
if (attireBot == 17){
tempStr = "bathing suit";
};
if (attireBot == 20){
tempStr = "silken panties";
};
return (tempStr);
}
public function stats(stre:int, menta:int, libi:int, sens:int){
hideUpDown();
str = (str + stre);
ment = (ment + menta);
lib = (lib + libi);
sen = (sen + sens);
if (str > 100){
str = 100;
};
if (str < 1){
str = 1;
};
if (ment > 100){
ment = 100;
};
if (ment < 1){
ment = 1;
};
if (lib > 100){
lib = 100;
};
if (lib < 1){
lib = 1;
};
if (sen > 100){
sen = 100;
};
if (sen < 1){
sen = 1;
};
if (lust > 100){
lust = 100;
};
if (lust < 0){
lust = 0;
};
if (stre > 0){
strUp.visible = true;
strDown.visible = false;
};
if (stre < 0){
strDown.visible = true;
strUp.visible = false;
};
if (menta > 0){
mentaUp.visible = true;
mentaDown.visible = false;
};
if (menta < 0){
mentaDown.visible = true;
mentaUp.visible = false;
};
if (libi > 0){
libUp.visible = true;
libDown.visible = false;
};
if (libi < 0){
libDown.visible = true;
libUp.visible = false;
};
if (sens > 0){
senUp.visible = true;
senDown.visible = false;
};
if (sens < 0){
senDown.visible = true;
senUp.visible = false;
};
statDisplay();
}
public function hairL():String{
var tempStr:String;
tempStr = ("HAIR LENGTH ERROR " + hairLength);
if (hairLength == 2){
tempStr = "that is short enough to not dangle past your head";
};
if (hairLength == 4){
tempStr = "that reaches down to your shoulders";
};
if (hairLength == 6){
tempStr = "that reaches down your back";
};
if (hairLength == 8){
tempStr = "that reaches down to your butt";
};
if (hairLength == 10){
tempStr = "that reaches down to the ground";
};
return (tempStr);
}
public function doSave(slot:int):void{
var so:SharedObject;
var saveArray:Array;
var itemSaveArray:Array;
var stashSaveArray:Array;
var pregSaveArray:Array;
var stackSaveArray:Array;
var stashStackSaveArray:Array;
so = SharedObject.getLocal("NiminFetishFantasy");
saveArray = [];
itemSaveArray = [];
stashSaveArray = [];
pregSaveArray = [];
stackSaveArray = [];
stashStackSaveArray = [];
saveArray[0] = currentState;
saveArray[1] = currentZone;
saveArray[2] = str;
saveArray[3] = ment;
saveArray[4] = lib;
saveArray[5] = sen;
saveArray[6] = HP;
saveArray[7] = lust;
saveArray[8] = coin;
saveArray[9] = day;
saveArray[10] = hour;
saveArray[11] = SexP;
saveArray[12] = levelUP;
saveArray[13] = level;
saveArray[14] = runMod;
saveArray[15] = rapeMod;
saveArray[16] = cumMod;
saveArray[17] = cockSizeMod;
saveArray[18] = milkMod;
saveArray[19] = carryMod;
saveArray[20] = vagBellyMod;
saveArray[21] = pregChanceMod;
saveArray[127] = extraPregChance;
saveArray[22] = pregTimeMod;
saveArray[23] = enticeMod;
saveArray[96] = milkHPMod;
saveArray[97] = vagSizeMod;
saveArray[98] = vagElastic;
saveArray[105] = changeMod;
saveArray[140] = HPMod;
saveArray[141] = SexPMod;
saveArray[142] = minLust;
saveArray[24] = gender;
saveArray[25] = race;
saveArray[26] = body;
saveArray[27] = dominant;
saveArray[28] = hips;
saveArray[29] = butt;
saveArray[30] = tallness;
saveArray[31] = skinType;
saveArray[32] = tail;
saveArray[33] = ears;
saveArray[93] = hair;
saveArray[94] = hairColor;
saveArray[95] = hairLength;
saveArray[34] = cockTotal;
saveArray[35] = humanCocks;
saveArray[36] = horseCocks;
saveArray[37] = wolfCocks;
saveArray[38] = catCocks;
saveArray[108] = rabbitCocks;
saveArray[133] = lizardCocks;
saveArray[39] = cockSize;
saveArray[40] = cockMoist;
saveArray[41] = balls;
saveArray[42] = ballSize;
saveArray[43] = showBalls;
saveArray[44] = knot;
saveArray[45] = breastSize;
saveArray[46] = boobTotal;
saveArray[47] = nippleSize;
saveArray[48] = udders;
saveArray[49] = udderSize;
saveArray[50] = teatSize;
saveArray[51] = clitSize;
saveArray[52] = vagTotal;
saveArray[53] = vagSize;
saveArray[54] = vagMoist;
saveArray[55] = vulvaSize;
saveArray[56] = attireTop;
saveArray[57] = attireBot;
saveArray[58] = weapon;
saveArray[59] = pregRate;
saveArray[61] = pregnancyTime;
saveArray[62] = pregStatus;
saveArray[109] = eggLaying;
saveArray[110] = eggMaxTime;
saveArray[111] = eggTime;
saveArray[126] = eggRate;
saveArray[63] = exhaustion;
saveArray[64] = exhaustionPenalty;
saveArray[65] = milkEngorgement;
saveArray[66] = milkEngorgementLevel;
saveArray[67] = udderEngorgement;
saveArray[68] = udderEngorgementLevel;
saveArray[69] = heat;
saveArray[70] = heatTime;
saveArray[71] = heatMaxTime;
saveArray[72] = lactation;
saveArray[60] = udderLactation;
saveArray[73] = nipplePlay;
saveArray[74] = udderPlay;
saveArray[75] = blueBalls;
saveArray[76] = teatPump;
saveArray[77] = nipPump;
saveArray[78] = cockPump;
saveArray[79] = clitPump;
saveArray[80] = vulvaPump;
saveArray[90] = masoPot;
saveArray[91] = sMasoPot;
saveArray[92] = babyFree;
saveArray[135] = charmTime;
saveArray[136] = pheromone;
saveArray[137] = eggceleratorTime;
saveArray[138] = eggceleratorDose;
saveArray[139] = bodyOil;
saveArray[81] = humanAffinity;
saveArray[82] = horseAffinity;
saveArray[83] = wolfAffinity;
saveArray[84] = catAffinity;
saveArray[85] = cowAffinity;
saveArray[106] = lizardAffinity;
saveArray[107] = rabbitAffinity;
saveArray[143] = fourBoobAffinity;
saveArray[86] = lilaRep;
saveArray[112] = lilaVulva;
saveArray[113] = lilaMilk;
saveArray[114] = lilaPreg;
saveArray[87] = malonRep;
saveArray[88] = malonPreg;
saveArray[89] = malonChildren;
saveArray[99] = mistressRep;
saveArray[115] = jamieRep;
saveArray[116] = jamiePrev;
saveArray[117] = jamiePreg;
saveArray[144] = silRep;
saveArray[145] = silPreg;
saveArray[146] = silRate;
saveArray[147] = silLay;
saveArray[148] = silGrowthTime;
saveArray[149] = silTied;
saveArray[128] = foundSoftlik;
saveArray[129] = foundFirmshaft;
saveArray[130] = foundTieden;
saveArray[131] = foundSizCalit;
saveArray[132] = foundOviasis;
saveArray[150] = knowPheromone;
saveArray[100] = babyFactLevel;
saveArray[101] = bodyBuildLevel;
saveArray[102] = hyperHappyLevel;
saveArray[103] = alchemistLevel;
saveArray[104] = currentDayCare;
saveArray[118] = humanChildren;
saveArray[119] = equanChildren;
saveArray[120] = lupanChildren;
saveArray[121] = felinChildren;
saveArray[122] = cowChildren;
saveArray[123] = lizanChildren;
saveArray[134] = lizanEggs;
saveArray[124] = bunnionChildren;
saveArray[125] = wolfPupChildren;
i = 0;
while (i < pregArray.length) {
pregSaveArray[i] = pregArray[i];
i++;
};
i = 0;
while (i < 39) {
if (i < 13){
itemSaveArray[i] = itemArray1[i];
} else {
if (i < 26){
itemSaveArray[i] = itemArray2[(i - 13)];
} else {
if (i < 39){
itemSaveArray[i] = itemArray3[(i - 26)];
};
};
};
i++;
};
i = 0;
while (i < 39) {
if (i < 13){
stashSaveArray[i] = stashArray1[i];
} else {
if (i < 26){
stashSaveArray[i] = stashArray2[(i - 13)];
} else {
if (i < 39){
stashSaveArray[i] = stashArray3[(i - 26)];
};
};
};
i++;
};
i = 0;
while (i < 39) {
if (i < 13){
stackSaveArray[i] = stackArray1[i];
} else {
if (i < 26){
stackSaveArray[i] = stackArray2[(i - 13)];
} else {
if (i < 39){
stackSaveArray[i] = stackArray3[(i - 26)];
};
};
};
i++;
};
i = 0;
while (i < 39) {
if (i < 13){
stashStackSaveArray[i] = stashStackArray1[i];
} else {
if (i < 26){
stashStackSaveArray[i] = stashStackArray2[(i - 13)];
} else {
if (i < 39){
stashStackSaveArray[i] = stashStackArray3[(i - 26)];
};
};
};
i++;
};
if (slot == 1){
so.data.saveGame1 = saveArray;
so.data.itemSave1 = itemSaveArray;
so.data.stashSave1 = stashSaveArray;
so.data.stackSave1 = stackSaveArray;
so.data.stashStackSave1 = stashStackSaveArray;
so.data.pregSave1 = pregSaveArray;
};
if (slot == 2){
so.data.saveGame2 = saveArray;
so.data.itemSave2 = itemSaveArray;
so.data.stashSave2 = stashSaveArray;
so.data.stackSave2 = stackSaveArray;
so.data.stashStackSave2 = stashStackSaveArray;
so.data.pregSave2 = pregSaveArray;
};
if (slot == 3){
so.data.saveGame3 = saveArray;
so.data.itemSave3 = itemSaveArray;
so.data.stashSave3 = stashSaveArray;
so.data.stackSave3 = stackSaveArray;
so.data.stashStackSave3 = stashStackSaveArray;
so.data.pregSave3 = pregSaveArray;
};
if (slot == 5){
so.data.saveGame5 = saveArray;
so.data.itemSave5 = itemSaveArray;
so.data.stashSave5 = stashSaveArray;
so.data.stackSave5 = stackSaveArray;
so.data.stashStackSave5 = stashStackSaveArray;
so.data.pregSave5 = pregSaveArray;
};
if (slot == 6){
so.data.saveGame6 = saveArray;
so.data.itemSave6 = itemSaveArray;
so.data.stashSave6 = stashSaveArray;
so.data.stackSave6 = stackSaveArray;
so.data.stashStackSave6 = stashStackSaveArray;
so.data.pregSave6 = pregSaveArray;
};
if (slot == 7){
so.data.saveGame7 = saveArray;
so.data.itemSave7 = itemSaveArray;
so.data.stashSave7 = stashSaveArray;
so.data.stackSave7 = stackSaveArray;
so.data.stashStackSave7 = stashStackSaveArray;
so.data.pregSave7 = pregSaveArray;
};
if (slot == 9){
so.data.saveGame9 = saveArray;
so.data.itemSave9 = itemSaveArray;
so.data.stashSave9 = stashSaveArray;
so.data.stackSave9 = stackSaveArray;
so.data.stashStackSave9 = stashStackSaveArray;
so.data.pregSave9 = pregSaveArray;
};
if (slot == 10){
so.data.saveGame10 = saveArray;
so.data.itemSave10 = itemSaveArray;
so.data.stashSave10 = stashSaveArray;
so.data.stackSave10 = stackSaveArray;
so.data.stashStackSave10 = stashStackSaveArray;
so.data.pregSave10 = pregSaveArray;
};
if (slot == 11){
so.data.saveGame11 = saveArray;
so.data.itemSave11 = itemSaveArray;
so.data.stashSave11 = stashSaveArray;
so.data.stackSave11 = stackSaveArray;
so.data.stashStackSave11 = stashStackSaveArray;
so.data.pregSave11 = pregSaveArray;
};
so.flush();
}
public function hairC():String{
var tempStr:String;
tempStr = ("HAIR COLOR ERROR " + hairColor);
if (hairColor == 0){
tempStr = "";
};
if (hairColor == 1){
tempStr = "black ";
};
if (hairColor == 2){
tempStr = "blonde ";
};
if (hairColor == 3){
tempStr = "red ";
};
if (hairColor == 4){
tempStr = "brown ";
};
if (hairColor == 5){
tempStr = "coral pink ";
};
return (tempStr);
}
public function doLake():void{
var chance:int;
chance = percent();
if (chance <= 50){
outputMainText("At the edge of the lake, knocking against the bank with the subtle waves, you spot a piece of cloth. Pulling it out, you let out an 'ew' as long strands of clear slime drip from it. Nevertheless, you think it's a fantastic idea to hold onto it.\r\r(You should really get your kleptomania checked)", true);
itemAdd(213);
hrs = 2;
doEnd();
} else {
if ((((chance <= 75)) && ((knowPheromone == false)))){
if (countItem(219) >= 5){
outputMainText("Walking along the bank of the lake, you spot an old lupan male getting some fishing gear ready beside his boat. To avoid passing by awkwardly, you approach and greet him.\r\r\"Why hello there!,\" he responds with a kind smile. \"Was hoping to catch some nice dinner, but I'm a little low on my bait so I'm just going on luck. It's been a while since I've been able to get me those things from the people down south...\"\r\rHis hand scratches at his rump, pulling your attention with it as you realize something quite odd. Instead of a normal fluffy wolf-like tail, a long, thick, scaly tail drags along the ground behind him, much like a lizard's. This man has obviously traveled a bit...\r\r\"If I could get maybe 5 of those eggs they kept plopping out, I'm sure one of them would be just what I need to really haul in some nice catch!\"\r\rAt this you realize that you actually have 5 such eggs on you right now. Would you like to offer them?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText((("Pausing his rambling for a moment, you mention how you have 5 such eggs on you and offer them to him. His eyes light up and he graciously takes them from you. Ducking into his boat, he pulls out an odd machine and begins to slip them into an insertion point that is perfectly fitted for such eggs. The machine churns a little and dings before popping out a slightly different egg. He does this " + (Math.ceil((percent() / 25)) + 1)) + " times, whereafter he lets out a happy yip as an egg decorated with pretty red hearts pops out.\r\r\"Well lookie at that, a superb specimen! Just what I needed to make my special bait that can catch all sorts of fish! Thank you so much, stranger, we'll be eating well for some time to come thanks to this.\" He pauses for a moment, trying to think how he could repay you. \"Umm... I don't have much to give, but I'll tell you what. I can give you the recipe to my secret bait. Since you seem to have access to these kinds of eggs, I'm sure you could do quite well with this recipe.\"\r\rHe proceeds to rattle off all the ingredients you need and how the process to mixing it goes. You try to keep up, but you only get some of what you think are the main points. However, you do kinda miss out on some of the 'diluting' instructions, so your concoction might be a tad strong...\r\rYou have gained: Strong Pheromone Recipe!\r\rYou thank each other again, but he seems to be quite eager to get out on the lake and use some of his fresh bait, wishing you farewell and good luck on your journey!"), true);
loseManyItem(219, 5);
knowPheromone = true;
hrs = 3;
doEnd();
} else {
outputMainText("Deciding not to give him any, the old man continues to ramble on about how the weather could be a bit better also and shows you some of his home-made tackle as well. Eventually, however, he realizes that he's talked so long that he might not catch anything at this rate! He hurriedly thanks you for letting him talk your ear off a bit and says he hopes you'll meet again before he pushes off into the water, rowing to get to the good spots.", true);
hrs = 2;
doEnd();
};
};
} else {
outputMainText("Walking along the bank of the lake, you spot an old lupan male getting some fishing gear ready beside his boat. To avoid passing by awkwardly, you approach and greet him.\r\r\"Why hello there!,\" he responds with a kind smile. \"Was hoping to catch some nice dinner, but I'm a little low on my bait so I'm just going on luck. It's been a while since I've been able to get me those things from the people down south...\"\r\rHis hand scratches at his rump, pulling your attention with it as you realize something quite odd. Instead of a normal fluffy wolf-like tail, a long, thick, scaly tail drags along the ground behind him, much like a lizard's. This man has obviously traveled a bit...\r\r\"If I could get maybe 5 of those eggs they kept plopping out, I'm sure one of them would be just what I need to really haul in some nice catch!\"\r\rHe continues to ramble on about how the weather could be a bit better also and shows you some of his home-made tackle as well. Eventually, however, he realizes that he's talked so long that he might not catch anything at this rate! He hurriedly thanks you for letting him talk your ear off a bit and says he hopes you'll meet again before he pushes off into the water, rowing to get to the good spots.", true);
hrs = 2;
doEnd();
};
} else {
if (chance <= 100){
outputMainText("You wander around the lake, but you don't find much. However, in the distance you hear some soft singing that elates your body and mind.", true);
stats(1, 2, -1, 0);
hrs = 1;
doEnd();
};
};
};
}
public function doCockMasturbate():void{
var whichCock:String;
var chance:int;
var getCum:int;
whichCock = "";
while (whichCock == "") {
chance = percent();
if ((((chance <= 17)) && ((humanCocks > 0)))){
whichCock = "hard human rod";
};
if ((((((chance > 17)) && ((chance <= 33)))) && ((horseCocks > 0)))){
whichCock = "long equine flesh";
};
if ((((((chance > 33)) && ((chance <= 50)))) && ((wolfCocks > 0)))){
whichCock = "pointy wolf meat";
};
if ((((((chance > 50)) && ((chance <= 66)))) && ((catCocks > 0)))){
whichCock = "pink thorny cat prick";
};
if ((((((chance > 66)) && ((chance <= 83)))) && ((lizardCocks > 0)))){
whichCock = "purple ribbed reptile rod";
};
if ((((((chance > 83)) && ((chance <= 100)))) && ((rabbitCocks > 0)))){
whichCock = "throbbing bunny carrot";
};
};
if (lust < 20){
outputMainText((("You're hardly aroused enough to get your cock" + plural(1)) + " standing, let alone masturbate. You'll just have to settle for something else."), true);
doEnd();
} else {
getCum = cumAmount();
if (ment >= (lib - 10)){
outputMainText((((((((((("You sneak off to the private place where you sleep in " + regionName(currentZone)) + " with a bunch of towels in hand. Carefully, so as to not let anybody hear, you pull ") + pullUD(2)) + " your ") + clothesBottom()) + ", your ") + cockDesc()) + " erection") + plural(1)) + " bobbing out.\r\rYou wrap your "), true);
};
if ((((ment < (lib - 10))) && ((ment >= (lib - 25))))){
outputMainText((((((((((((("You quickly head off to the private place where you sleep with your intentions clear as those around " + regionName(currentZone)) + " can easily see your ") + cockDesc()) + " bulge growing in your ") + clothesBottom()) + ". Before you even reach your destination, you're already pulling the ") + clothesBottom()) + " ") + pullUD(2)) + ", your cock") + plural(1)) + " flopping out.\r\rYou're not too sure if anybody saw it before you disappeared into solitude, but that doesn't matter as you wrap your "), true);
};
if ((((ment < (lib - 25))) && ((ment >= (lib - 50))))){
outputMainText((((((((((("Your chest heaving with your heavy breathing, you don't think you can reach the private place where you sleep without blowing your load, the thought of coming hanging so heavily on your mind.\r\rInstead, you duck into one of the more hidden corners of " + regionName(currentZone)) + " as you pull ") + pullUD(2)) + " your ") + clothesBottom()) + " and let your ") + cockDesc()) + " cock") + plural(1)) + " spring out. You hear somebody pass nearby, but you don't care as you wrap your "), true);
};
if (ment < (lib - 50)){
outputMainText((((((((((("Without a second thought, right in the middle of " + regionName(currentZone)) + " you pull ") + pullUD(2)) + " your ") + clothesBottom()) + " and whip out your ") + cockDesc()) + " wang") + plural(1)) + ".\r\rPeople gasp and stare as you wrap your "), true);
};
if ((cockSize * cockSizeMod) <= (tallness / 3.75)){
outputMainText((("hand around your " + whichCock) + " and slowly pump it, building stronger and stronger."), false);
};
if (((((cockSize * cockSizeMod) > (tallness / 3.75))) && (((cockSize * cockSizeMod) <= (tallness * 1.2))))){
outputMainText((("hands around your " + whichCock) + " , "), false);
if ((cockSize * cockSizeMod) > (tallness / 1.5)){
if (breastSize > 4){
outputMainText((("hugging it between your " + boobTotal) + " breasts, "), false);
} else {
outputMainText("hugging it to your chest, ", false);
};
};
outputMainText("pounding your fists up and down its length.", false);
};
if ((cockSize * cockSizeMod) > (tallness * 1.2)){
outputMainText((("arms around your " + whichCock) + ", hugging it close and trying to jerk yourself the best you can."), false);
};
if ((((cockMoist > 0)) && ((cockMoist <= 3)))){
outputMainText(" Drops of pre help aid your efforts, though it's still a little rough.", false);
};
if ((((cockMoist > 3)) && ((cockMoist <= 6)))){
outputMainText(((" A dribble of pre leaks out, sufficiently coating your " + cockDesc()) + " cock and making your efforts so much easier."), false);
};
if ((((cockMoist > 6)) && ((cockMoist <= 9)))){
outputMainText(((((" Pre squeezes out of your cock and more than coat your " + cockDesc()) + " cock, with plenty extra drooling down across your ") + skinDesc()) + "."), false);
};
if ((((cockMoist > 9)) && ((cockMoist <= 12)))){
outputMainText(((" A flood of pre gushes out from the tip, sufficiently coating yourself, your " + cockDesc()) + " cock and then some in slick lubrication."), false);
};
if (showBalls == true){
outputMainText(((((" One of your hands reaches down to knead your " + ballDesc()) + " scrotum, letting your ") + balls) + " cum-factories know it's time."), false);
};
if (lust <= 30){
outputMainText("\r\rSlowly,", false);
};
if ((((lust > 30)) && ((lust <= 70)))){
outputMainText("\r\rQuickly,", false);
};
if (lust > 70){
outputMainText("\r\rAlmost instantly,", false);
};
outputMainText(((" your " + whichCock) + " throbs, a pressure building at the base of your spine"), false);
if (knot == true){
outputMainText(", the base of your cock swelling into a thick knot that you begin to tug", false);
};
outputMainText(".", false);
if (cockTotal > 1){
outputMainText(" Your other cocks do the same, your hands dashing back and forth between them, attempting to not leave them completely ignored.", false);
};
outputMainText((((("Your " + hipDesc()) + " hips soon jerk as thick strands of hot spunk launch from your cock-tip") + plural(1)) + ","), false);
if (getCum <= 24){
outputMainText(" with a bit more drooling down to the floor.", false);
};
if ((((getCum > 24)) && ((getCum <= 72)))){
outputMainText(" spitting small wads again and again until it's done.", false);
};
if ((((getCum > 72)) && ((getCum <= 1000)))){
outputMainText(" spewing large gobs again and again until you've made a heck of a mess.", false);
};
if ((((getCum > 1000)) && ((getCum <= 2200)))){
outputMainText(" coming more and more, like it can't stop, until you've made so much cum that you could feed a person with it for a day...", false);
};
if ((((getCum > 2200)) && ((getCum <= 4500)))){
outputMainText(" the stuff gushing like a fire-hose. Somewhere between half and a full gallon, you're not sure what to do with it all!", false);
};
if ((((getCum > 4500)) && ((getCum <= 20000)))){
outputMainText(" gallons upon gallons of it spewing and spraying out, nearly nonstop. If you had a tub with you, you could have taken a bath in it all!", false);
};
if (getCum > 20000){
outputMainText(" so much, so strong, it keeps on spewing out! Gallons and gallons, your body is wracked by the long ejaculation. After a while, your mind can't take any more and you pass out, only to wake up in a pool of cum and no way to take care of it all... You sneak away.", false);
doLust(-100);
if (lust >= 20){
doSexP(20);
};
hrs = 5;
exhaustion = (exhaustion - 2);
doEnd();
} else {
if (ment >= (lib - 10)){
outputMainText("\r\rYou quietly heave as you attempt to clean up your mess with the towels you have brought along, hiding them until you can safely clean them without being caught. Except for the smell that permeates the area, you don't think anybody will catch on to your lewd actions, and you continue on with your day.", false);
};
if ((((ment < (lib - 10))) && ((ment >= (lib - 25))))){
outputMainText("\r\rComing down from your high, you clean up your mess the best you can, though its likely some cum was left behind. At least, it smells like some was. And as you leave the place, one of your neighbors eyes you with a surprised look. You were probably a bit loud... Or maybe you have a wad of cum in your hair?", false);
};
if ((((ment < (lib - 25))) && ((ment >= (lib - 50))))){
outputMainText((("\r\rYou realize your hiding place is a mess as you come to your senses. Before you're caught, you quickly don your " + clothesBottom()) + " again, even though your cock is still drooling and leaving quite the blotch. As you attempt to casually walk away, some nearby strangers blink at you curiously, not quite sure what they just heard. You then dash off before anybody tries to check out what you left behind."), false);
};
if (ment < (lib - 50)){
outputMainText((((("\r\rGasping, you blink and look around you. You've gathered quite the crowd, especially some women, and they all gaze out you in amazement. A few tug at their own groins, ducking away from the rest, while others don't look so happy at what you have done, especially the ones with children beside them. You pull " + pullUD(2)) + " your ") + clothesBottom()) + ", cum dripping down the front and smearing about within, and you slink away, trying to avoid any more stares. Although, your heart pounds within your chest at the thought of what you had just done..."), false);
};
if (getCum < 1000){
outputMainText((("\r\r\rYou have produced " + getCum) + " ml of spooge!"), false);
} else {
if (getCum >= 1000){
outputMainText((("\r\r\rYou have produced " + decGet((getCum / 1000), 1)) + " liters of spooge!"), false);
};
};
if (lust >= 20){
doSexP(10);
};
doLust(-(sen));
hrs = 1;
doEnd();
};
};
}
public function doRemoveStash():void{
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
hideAmount();
i = 1;
while (i < 13) {
buttonWrite(i, itemName(stashID(i)));
if (stashStackAmount(i) > 1){
viewAmount(i, true);
amountWrite(i, (("" + stashStackAmount(i)) + ""));
};
i++;
};
buttonWrite(4, "<<");
buttonWrite(8, ">>");
buttonWrite(12, "Return");
showPage(true, 2);
outputMainText("Click on an item you would like to remove from stash.\r\rClick 'Return' to return to the main stash options.", true);
doListen = function ():void{
if (buttonChoice == 12){
showPage(false, 2);
doStash();
} else {
if (buttonChoice == 4){
if (currentStash == 1){
currentStash = 3;
} else {
if (currentStash == 2){
currentStash = 1;
} else {
if (currentStash == 3){
currentStash = 2;
};
};
};
hideAmount();
showPage(true, 2);
doRemoveStash();
} else {
if (buttonChoice == 8){
if (currentStash == 1){
currentStash = 2;
} else {
if (currentStash == 2){
currentStash = 3;
} else {
if (currentStash == 3){
currentStash = 1;
};
};
};
hideAmount();
showPage(true, 2);
doRemoveStash();
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
hideAmount();
showPage(false, 1);
stashRemove(buttonChoice);
};
};
};
};
};
}
public function doBattle():void{
bc();
viewButtonOutline(1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1);
viewButtonText(1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1);
buttonWrite(1, "Bag");
buttonWrite(2, "Run");
buttonWrite(5, "Attack");
buttonWrite(9, "Rape");
buttonWrite(10, "Entice");
buttonWrite(12, "Submit");
if (lust < 15){
Choice12.visible = false;
};
doListen = function ():void{
var dmg:int;
var eLustChange:int;
if (buttonChoice == 1){
doBag();
};
if (buttonChoice == 2){
if (percent() <= (20 + runMod)){
outputMainText("You successfully run away!", true);
currentState = 1;
hrs = 1;
doEnd();
} else {
outputMainText("You fail to run away...", true);
if (currentState == 2){
enemyAttack();
};
if (currentState == 2){
doBattle();
};
};
};
if (buttonChoice == 5){
weaponAttack();
if (currentState == 2){
enemyAttack();
};
if (currentState == 2){
doBattle();
};
};
if (buttonChoice == 9){
if ((((gender == 0)) || ((eGen == 0)))){
outputMainText("What are you going to rape it with? Good intentions?\r\rChoose another option.", true);
if (currentState == 2){
doBattle();
};
} else {
outputMainText((("You attempt to toss the " + enemyName()) + " to the ground and fuck it wildly!"), true);
if (lust < 15){
outputMainText("\r\rHowever, you aren't nearly aroused enough to even think about penetration, leaving your efforts futile.", false);
if (currentState == 2){
enemyAttack();
};
} else {
if ((((percent() / 5) + str) + rapeMod) <= (((percent() / 5) + eStr) - (eLust / 2))){
outputMainText((("\r\rHowever, the " + enemyName()) + " overpowers you and tosses you off!"), false);
if (currentState == 2){
enemyAttack();
};
} else {
if (((((((!((ePref == gender))) && (!((ePref == 4))))) && (!((gender == 3))))) || ((ePref == 0)))){
dmg = Math.floor(((percent() / 10) + (lust / 10)));
outputMainText((((("\r\rHowever, the " + enemyName()) + " is sorely turned off by your rough pounding on its sensitive area, merely hurting its genitals and its pride.\r\rBut you do deal ") + dmg) + " damage and satisfy yourself a bit."), false);
doeHP(-(dmg));
doLust(-(Math.floor(((percent() / 20) + (sen / 10)))));
} else {
doLust((-(sen) * 2));
doRape();
eLustChange = Math.floor(((percent() / 10) + (eSen / 5)));
if ((eLust - eLustChange) <= 0){
eLust = 0;
};
if ((eMenta - eLustChange) < 0){
specialRapeWin();
outputMainText("\r\rYou win!", false);
currentState = 1;
doNext();
doListen = function ():void{
battleWin();
};
} else {
outputMainText((("\r\rThe " + enemyName()) + " picks itself up after you had your way with it, a little distraught but not yet defeated."), false);
eLust = (eLust - eLustChange);
};
eMenta = (eMenta - eLustChange);
};
};
};
if (currentState == 2){
doBattle();
};
};
};
if (buttonChoice == 10){
doEntice();
if (currentState == 2){
enemyAttack();
};
if (currentState == 2){
doBattle();
};
};
if (buttonChoice == 12){
outputMainText((("No longer wishing to fight, you attempt to submit yourself to the " + enemyName()) + "'s whims in hopes of leaving the battle with a little fun."), true);
if ((((((((ePref == 0)) || ((((ePref == 1)) && ((gender == 2)))))) || ((((ePref == 2)) && ((gender == 1)))))) || ((gender == 0)))){
outputMainText("\r\rHowever, it is quickly apparent that the enemy has no interest in you, in that fashion.", false);
if (currentState == 2){
enemyAttack();
};
} else {
if (eLust < eMenta){
outputMainText((("\r\rHowever, the " + enemyName()) + " isn't nearly aroused enough, a bit too cautious at the moment to assault you in such a way."), false);
if (currentState == 2){
enemyAttack();
};
} else {
currentState = 1;
doNext();
doListen = function ():void{
doGetRaped();
};
};
};
if (currentState == 2){
doBattle();
};
};
};
}
public function doJungle():void{
var chance:int;
chance = percent();
if (chance <= 25){
outputMainText("You hear ominous swishing through the trees around you...", true);
if (percent() < (10 + runMod)){
outputMainText("\r\rYet you manage to run off before anything can catch you.", false);
hrs = 1;
doEnd();
} else {
if (breastSize < 6){
outputMainText("\r\rPeach-colored tentacles lash out at you from the tree-branches above, catching you by surprise. They flail around your chest, feeling about and scratching it roughly.\r\rHowever, the tentacles seem to be uninterested and disappear as quick as they came, leaving you with a rather hurtful chest and wasted time.", false);
doHP(-(Math.floor(((percent() / 10) + 2))));
hrs = 1;
doEnd();
} else {
if ((((lactation > 3)) || ((((boobTotal > 2)) && ((lactation > 2)))))){
outputMainText((("\r\rA mass of peach-colored tentacles falls from the tree-branches above. Some of the tentacles waver out towards you, mostly aiming at your " + boobDesc()) + " chest. They seem rather non-threatening, however, as the mass rolls back and forth on the forest floor, almost as though it were a stumbling drunk.\r\rDo you allow the tentacles to come closer?"), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText((("Cautiously standing still, you wait as the tentacles come right up to your breasts. They caress your " + nipDesc()) + " nipples, seemingly able to smell the milk within your breasts, and they wiggle even more like a drunk... It seems as though the creature smelled your large amount of milk production as you approached and became intoxicated by it.\r\r\rDo you let the creature indulge itself?"), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText((((((((("You pull your " + clothesTop()) + " ") + pullUD(1)) + ", letting your ") + boobDesc()) + " chest bob out, practically inviting it to partake of your motherly liquid. Not to forsake such an opportunity, the tentacled mass rolls up to you, the tentacles squirming about your ") + nipDesc()) + " nipples until they stand hard and erect. Yet, the tentacles pull away, caressing and hugging your body as the main mass comes right up to you.\r\rThe mass of tentacles part, revealing a feminine face, slender and beautiful, with eyes closed. The tentacles dance atop her head, seemingly replacing her hair. Looking down, you can see more of her lithe body, thin with milky skin. Two breasts, barely handfuls, wobble upon her chest as tentacles, particularly thinner than the rest, dance about where her nipples would be. Overall, she seems quite short, maybe 4 feet tall at most, while the mass of tentacles could easily reah 6 feet in height."), true);
doNext();
doListen = function ():void{
outputMainText((((((("The fair face moves up to one of your " + boobDesc()) + " breasts, the little mouth yawning wide to fit one of your ") + nipDesc()) + " nipples. She latches on the best she can, suckling intently from your chest. You let out a gasp as her expert suckling makes your body grow warm, a delightful tingling sensation making you quiver. Milk gushes from your tits as she gulps it down. Tentacles much thicker than the rest droop from her hair, their tips opening into soft maws that suckle from and kiss the ") + skinDesc()) + " of your breasts, leaving none unattended. It doesn't take long before you body is wracked by an intense boobgasm..."), true);
doNext();
doListen = function ():void{
outputMainText((("Gasping for air as you come down from your climax, the feminine face and all the tentacles collapse, leaving hardly any milk still dribbling from your " + nipDesc()) + " nipples. Checking the creature, she seems to have passed out in a drunken slumber. Her face seems content, with a small smile, her tentacles writhing lazily about her. Two tentacles in particular look surprisingly active, though. Her small breasts jiggle about as their tentacle-nipples stiffen and soften. They shiver as you run your hands along them, several feet long before you reach their tips. Short, narrow needles protrude from the tips of these tentacle-nipples and they dribble some pearlescant fluid excessivly. You take an empty vial from your bag and gather some of the fluid before heading on your way..."), true);
doSexP(20);
nipplePlay = (nipplePlay + 7);
doLust(-(Math.floor(((percent() / 10) + ((breastSize * sen) / 10)))));
milkAmount(1);
itemAdd(201);
hrs = 2;
doEnd();
};
};
};
if (buttonChoice == 7){
outputMainText("You take the opportunity to run from the tentacles before the creature can come to its senses, easily avoiding it.", true);
doSexP(7);
hrs = 1;
doEnd();
};
};
};
if (buttonChoice == 7){
outputMainText("You take the opportunity to run from the tentacles before the creature can come to its senses, easily avoiding it.", true);
doSexP(4);
hrs = 1;
doEnd();
};
};
} else {
outputMainText((((((((((("\r\rPeach-colored tentacles lash out at you from the tree-branches above, catching you by surprise. They flail around your " + boobDesc()) + " chest, feeling about and scratching it roughly. They pull back for a moment, but before you can recoup from your confused stupor, even more come flying out from the trees, this time whipping around your wrists and ankles.\r\rStruggle as you may, you can't seem to wrench yourself free. You can only watch in fear as more tentacles pull your ") + clothesTop()) + " away and roam about your ") + boobDesc()) + " breasts. They poke and tease at your ") + nipDesc()) + " nipples, causing them to stand hard and erect. Then, short narrow needles draw out of two particularly thinner tentacles. They drip with some sort of pearlescant fluid and they plunge gently into each of your ") + boobTotal) + " fleshy masses..."), false);
doNext();
doListen = function ():void{
boobChange(1);
outputMainText((((("A sudden feeling of warmth overcomes you. Your breasts feel especially hot, heaving with your breath. Staring intently, you even notice them grow slightly in size.\r\rA moment later, your head jerks back as an intense feeling of fullness and swelling engulfs your sensitive tits. You recoil just in time to see streams of white liquid spew from your throbbing, " + nipDesc()) + " nipples. Milk continues to gush for a while, as more tentacles come close. These are much thicker than the ones with needles and their tips open into wet, soft maws. Each one latches onto your lactating breasts and begin to suckle...\r\rYou feel slightly light-headed from the fuzzy warmth that engulfs you, the pleasurable slurping of the hungry tentacles sucking you dry. Eventually, the tantalizing efforts make your body quiver, wracked by a strong orgasm... from your ") + boobDesc()) + " breasts."), true);
doNext();
doListen = function ():void{
outputMainText((((("A minute later, the tentacles retract from whence they came, leaving you to collapse to your knees. Your breasts still feel larger than before, especially when you put your " + clothesTop()) + " back into place. Wet blotches seep across the fabric, your ") + nipDesc()) + " nipples still dribbling with milk..."), true);
lactChange(1, 1);
milkAmount(1);
nipplePlay = (nipplePlay + 6);
doSexP(10);
doLust(-(Math.floor(((percent() / 20) + ((breastSize * sen) / 10)))));
doHP(-(Math.floor((percent() / 10))));
hrs = 2;
doEnd();
};
};
};
};
};
};
if ((((chance > 25)) && ((chance <= 50)))){
outputMainText("Walking through the jungle, you begin to hear footsteps mix with your own... As you pause to listen in, a creature jumps out before you! A lone wolf, it growls, ready to attack. And judging by the red rod that bobs beneath its belly, it's probably male, and probably frustrated after some failed encounter with a female...", true);
doNext();
doListen = function ():void{
enemyID = 201;
currentState = 2;
enemyBaseStats();
eMaxHP = eHP;
doBattle();
};
};
if ((((chance > 50)) && ((chance <= 75)))){
outputMainText("Within the jungle, you come across a rather tender looking tree. Fruits of a rather... vulgar shape hang from its branches. You pluck one and take it back with you.", true);
itemAdd(210);
hrs = 2;
doEnd();
};
if (chance > 75){
outputMainText("After a few hours of being lost and randomly wandering through the massive amount of vegetation, you come across a path. Would you like to follow it?", true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (currentZone == 3){
outputMainText("Following the path, you begin to see various wooden structures built amongst the canopy. Rope-bridges and circular huts everywhere, with lithe cat-like people walking about or jumping from branch to branch. The path leads you right to one of the few spiraling ramps that encircles the trees, bringing you up to the tree-born city.\r\rYou have now entered the Felin home-city of Siz'Calit! Although, looking behind you, there seems to be no sign of the path you just took. Getting back might be a bit difficult...", true);
regionChange(4);
if (foundSizCalit == false){
foundSizCalit = true;
};
hrs = 4;
doEnd();
} else {
if (currentZone == 4){
outputMainText("Following the path, the vegetation grows slightly sparser as you come upon a large clearing. Most of the clearing has been walled off by tree-trunks lashed together with rope. You hear some vicious growls, but also plenty of coherent speech, echoing from behind the wall. A whole bustling city. The path you followed brings you right to the front gates, where furry wolf-like guards kindly greet you and allow you to pass.\r\rYou have now entered the Lupan home-city of Tieden! Although, looking behind you, there seems to be no sign of the path you just took. Getting back might be a bit difficult...", true);
regionChange(3);
if (foundTieden == false){
foundTieden = true;
};
hrs = 4;
doEnd();
};
};
} else {
outputMainText("You return from whence you came.", true);
hrs = 1;
doEnd();
};
};
};
}
public function doStartingDescription():void{
regionChange(currentZone);
dayTime(0);
currentRegion.visible = true;
region.visible = true;
outputMainText("In the world of Nimin, civilizations are scattered and isolated by the harsh wilderness. Not that the wilderness was deadly, however. Most towns knew of their neighbors and were never surprised by new faces. Rather... people who ventured into the wilderness rarely returned the same as when they left, if they managed to find their way back amidst the seemingly changing geography.\r\rThere's little history to Nimin beyond that, a mystery that may be solved some day.", true);
if (race == 1){
outputMainText("\r\rFrom the Human city of Softlik, you were raised amongst a curious civilization. Humans are often the first to visit the others, though most generally don't explore too far, rarely reaching the further civilizations. Yet, the city of Softlik has always been welcoming of newcomers, their houses of wood and stone allowing for plenty of stability in the rather safe rolling hills.", false);
};
if (race == 2){
outputMainText("\r\rFrom the Equan city of Firmshaft, you were raised amongst a nomadic civilization. Equans are a strong race and roam about the plains, well used to travel. As such, it's not too unusual for some to travel abroad, though that tends to mean not being able to enjoy the harems... Nevertheless, the core city of Firmshaft stays relatively still, mostly made up of large canvas tents that slowly shifts its borders around as they move about.", false);
};
if (race == 3){
outputMainText("\r\rFrom the Lupan city of Tieden, you were raised amongst a toughened civilization. Lupans have managed to survive with jungle and forest surrounding them, defending themselves from the more savage creatures. Tieden is a tribal city made from wooden buildings and surrounded by tall walls to protect themselves. And being so experienced against the 'odd' forces, some are encouraged to keep up ties with the other civilizations and maybe discover more.", false);
};
if (race == 4){
outputMainText("\r\rFrom the Felin city of Siz'Calit, you were raised amongst a sexual civilization. Felins are often open about their sexuality, especially with their females often going into heat. Although, sometimes the heat of the women, along with the heat of the jungle they live in, can be too sweltering and some feel the need for fresh air. Whatever their true reason is for leaving, their home city of Siz'Calit is always a safe and welcome refuge, with many huts and bridges high in the canopy.", false);
};
if (race == 6){
outputMainText("\r\rFrom the Lizan city of Oviasis, you were raised amongst a relaxed civilization. Lizans have a sleek build, strong and resilient, adapted to survive in the harsh desert environment. Having taken refuge within a hidden oasis, their homes built into the surrounding rock formations and beaches, they tend to relax and bask in the warm sun in their rather luxurious city. However, they must frequently venture into the surrounding desert for resources and the danger and severe weather may make some wish to venture elsewhere.", false);
};
outputMainText((((((("\r\rStanding " + Math.floor((tallness / 12))) + " feet and ") + (tallness - (Math.floor((tallness / 12)) * 12))) + " inches tall with a ") + bodyDesc()) + " figure, you head off with your own reasons."), false);
doHP(30);
doSexP(0);
doNext();
doListen = function ():void{
if (buttonChoice == 6){
currentState = 1;
doGeneral();
};
};
}
public function gibberish():String{
var tempStr:String;
var chance:int;
tempStr = "GIBBERISH ERROR";
chance = percent();
if (chance <= 33){
tempStr = "¤çÑ-| ÇôG+¦æ| EÆáÜaß pOƒ§· +îdvwqe 5dfѯ» º¤äܦ) ¼ÿæ¤h ·ƒ.";
};
if ((((chance > 33)) && ((chance <= 66)))){
tempStr = "Gs¿ fdfƒæ d§ew ¤-ÿö fs¤£· ÖÅ¢¥¬ ¼«¦ds?";
};
if (chance > 66){
tempStr = "Tas ªÜhf¤ ÄäÑse çåÅû¿ ÑÜñ☺Äsd Ü¥¦»¦ƒ ¦ÜÆ+¿æ£ we¤ rgdA-d»¦± Ü+#A¤$¤-ò. Fi?¤çÑK)^¤2 ges nec ¤♫+ÿ• ºñ¡as frtr.";
};
return (tempStr);
}
public function stashStore(storeItem:int):void{
var storeItem = storeItem;
i = 1;
while (i < 13) {
buttonWrite(i, itemName(stashID(i)));
if (stashStackAmount(i) > 1){
viewAmount(i, true);
amountWrite(i, (("" + stashStackAmount(i)) + ""));
};
i++;
};
buttonWrite(4, "<<");
buttonWrite(8, ">>");
buttonWrite(12, "Return");
showPage(true, 2);
outputMainText((("Click on the stash slot you would like to place " + itemName(itemID(storeItem))) + " in. If you click on a slot that is already used, you will swap the items.\r\rClick 'Return' to return to the main stash options."), true);
doListen = function ():void{
var tempNum:int;
var tempNum2:int;
if (buttonChoice == 12){
hideAmount();
showPage(false, 2);
doStash();
} else {
if (buttonChoice == 4){
if (currentStash == 1){
currentStash = 3;
} else {
if (currentStash == 2){
currentStash = 1;
} else {
if (currentStash == 3){
currentStash = 2;
};
};
};
hideAmount();
showPage(true, 2);
stashStore(storeItem);
} else {
if (buttonChoice == 8){
if (currentStash == 1){
currentStash = 2;
} else {
if (currentStash == 2){
currentStash = 3;
} else {
if (currentStash == 3){
currentStash = 1;
};
};
};
hideAmount();
showPage(true, 2);
stashStore(storeItem);
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
if ((((itemID(storeItem) == stashID(buttonChoice))) && ((stashStackAmount(buttonChoice) < itemStackMax(stashID(buttonChoice)))))){
if ((stashStackAmount(buttonChoice) + stackAmount(storeItem)) > itemStackMax(stashID(buttonChoice))){
stackSlotWrite(storeItem, (stashStackAmount(buttonChoice) - itemStackMax(stashID(buttonChoice))));
stashStackWrite(buttonChoice, itemStackMax(stashID(buttonChoice)));
} else {
stashStackWrite(buttonChoice, (stashStackAmount(buttonChoice) + stackAmount(storeItem)));
stackSlotWrite(storeItem, -((stackAmount(storeItem) - 1)));
loseItem(storeItem);
};
doStoreStash();
} else {
tempNum = itemID(storeItem);
tempNum2 = stackAmount(storeItem);
hideAmount();
showPage(false, 2);
stackSlotWrite(storeItem, -((stackAmount(storeItem) - 1)));
loseItem(storeItem);
itemSlotWrite(storeItem, stashID(buttonChoice));
stackSlotWrite(storeItem, stashStackAmount(buttonChoice));
stashSlotWrite(buttonChoice, tempNum);
stashStackWrite(buttonChoice, tempNum2);
doStoreStash();
};
};
};
};
};
};
}
public function stashRemove(removeStashItem:int):void{
var removeStashItem = removeStashItem;
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
i = 1;
while (i < 13) {
buttonWrite(i, itemName(itemID(i)));
if (stackAmount(i) > 1){
viewAmount(i, true);
amountWrite(i, (("" + stackAmount(i)) + ""));
};
i++;
};
buttonWrite(4, "<<");
buttonWrite(8, ">>");
buttonWrite(12, "Return");
showPage(true, 1);
outputMainText((("Click on the bag slot you would like to place " + itemName(stashID(removeStashItem))) + " in. If you click on a slot that is already used, you will swap the items.\r\rClick 'Return' to return to the main stash options."), true);
doListen = function ():void{
var tempNum:int;
var tempNum2:int;
if (buttonChoice == 12){
hideAmount();
showPage(false, 1);
doStash();
} else {
if (buttonChoice == 4){
if (currentItems == 1){
currentItems = 3;
} else {
if (currentItems == 2){
currentItems = 1;
} else {
if (currentItems == 3){
currentItems = 2;
};
};
};
hideAmount();
showPage(true, 1);
stashRemove(removeStashItem);
} else {
if (buttonChoice == 8){
if (currentItems == 1){
currentItems = 2;
} else {
if (currentItems == 2){
currentItems = 3;
} else {
if (currentItems == 3){
currentItems = 1;
};
};
};
hideAmount();
showPage(true, 1);
stashRemove(removeStashItem);
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
if ((((itemID(buttonChoice) == stashID(removeStashItem))) && ((stackAmount(buttonChoice) < itemStackMax(stashID(buttonChoice)))))){
if ((stashStackAmount(removeStashItem) + stackAmount(buttonChoice)) > itemStackMax(itemID(buttonChoice))){
stashStackWrite(removeStashItem, (stashStackAmount(removeStashItem) - (itemStackMax(itemID(buttonChoice)) - stackAmount(buttonChoice))));
stackSlotWrite(buttonChoice, (itemStackMax(itemID(buttonChoice)) - stackAmount(buttonChoice)));
} else {
stackSlotWrite(buttonChoice, stashStackAmount(removeStashItem));
stashSlotWrite(removeStashItem, 0);
stashStackWrite(removeStashItem, 0);
};
doRemoveStash();
} else {
tempNum = itemID(buttonChoice);
tempNum2 = stackAmount(buttonChoice);
hideAmount();
showPage(false, 1);
stackSlotWrite(buttonChoice, -((stackAmount(buttonChoice) - 1)));
loseItem(buttonChoice);
itemSlotWrite(buttonChoice, stashID(removeStashItem));
stackSlotWrite(buttonChoice, stashStackAmount(removeStashItem));
stashSlotWrite(removeStashItem, tempNum);
stashStackWrite(removeStashItem, tempNum2);
doRemoveStash();
};
};
};
};
};
};
}
public function udderChange(sizeChange:int):void{
udderSize = (udderSize + sizeChange);
teatSize = (teatSize + sizeChange);
}
public function eVagLimit(limit:int):Number{
return ((limit + (limit * moistMod(1))));
}
public function boobDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("BOOB ERROR " + breastSize);
if (chance <= 100){
if (breastSize <= 0){
tempStr = "flat";
};
if ((((breastSize > 0)) && ((breastSize <= 2)))){
tempStr = "nearly flat";
};
if ((((breastSize > 2)) && ((breastSize <= 8)))){
tempStr = "noticeable";
};
if ((((breastSize > 8)) && ((breastSize <= 20)))){
tempStr = "large";
};
if ((((breastSize > 20)) && ((breastSize <= 40)))){
tempStr = "huge";
};
if ((((breastSize > 40)) && ((breastSize <= 76)))){
tempStr = "humongous";
};
if ((((breastSize > 76)) && ((breastSize <= 146)))){
tempStr = "massive";
};
if ((((breastSize > 146)) && ((breastSize <= 210)))){
tempStr = "gargantuan";
};
if ((((breastSize > 210)) && ((breastSize <= 280)))){
tempStr = "tremendous";
};
if ((((breastSize > 280)) && ((breastSize <= 560)))){
tempStr = "colossal";
};
if (breastSize > 560){
tempStr = "ridiculously huge";
};
};
if (chance > 50){
if (breastSize <= 0){
tempStr = "";
};
if ((((breastSize > 0)) && ((breastSize <= 2)))){
tempStr = "tiny";
};
if ((((breastSize > 2)) && ((breastSize <= 4)))){
tempStr = "palmable";
};
if ((((breastSize > 8)) && ((breastSize <= 20)))){
tempStr = "ample";
};
if ((((breastSize > 20)) && ((breastSize <= 40)))){
tempStr = "head-sized";
};
if ((((breastSize > 40)) && ((breastSize <= 76)))){
tempStr = "hefty";
};
if ((((breastSize > 76)) && ((breastSize <= 146)))){
tempStr = "beachball-sized";
};
if ((((breastSize > 146)) && ((breastSize <= 210)))){
tempStr = "normally back-breaking";
};
if ((((breastSize > 210)) && ((breastSize <= 280)))){
tempStr = "view-obscuring";
};
if ((((breastSize > 280)) && ((breastSize <= 560)))){
tempStr = "bed-sized";
};
if (breastSize > 560){
tempStr = "road-filling";
};
};
return (tempStr);
}
public function doDayCare():void{
var tempInt:int;
outputMainText("Welcome to your personal Day-Care! However, there isn't much to do yet except gawk awkwardly at your children (you weirdo).", true);
if (currentDayCare != currentZone){
outputMainText((("\r\rHowever, it seems as though this isn't your registered Day-Care. Your Day-Care is currently in " + regionName(currentDayCare)) + "."), false);
outputMainText((("\r\rIf you would like to send a party of well-experienced travelers to " + regionName(currentDayCare)) + " to safely bring your children here, it will cost 500 coins."), false);
if (coin < 500){
outputMainText(" Which you don't have enough of anyways.", false);
};
viewButtonOutline(1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0);
if (coin >= 500){
Choice1.visible = true;
};
buttonWrite(1, "Transfer");
buttonWrite(9, "Leave");
doListen = function ():void{
if (buttonChoice == 1){
outputMainText("Spending your 500 coins, a caravan is gathered and sent out immediately, thanks to there being a few groups that do this sort of thing for a living. You wait around the Day-Care, anxiously awaiting the safe return of your children (and if you don't have any you're just silly). About 8 hours pass and the caravan comes rolling back in, without a scratch or any other problems, thanks to the skill of those you hired and your children are successfully transported to their new location!", true);
currentDayCare = currentZone;
hrs = 8;
doCoin(-500);
doEnd();
} else {
doReturn();
};
};
} else {
if (humanChildren == 1){
outputMainText((("\r\rYou have " + humanChildren) + " human kid. It gets along well in its surroundings, curiously exploring."), false);
} else {
if (humanChildren > 0){
outputMainText((("\r\rYou have " + humanChildren) + " human kids. They get along well in their surroundings, curiously exploring."), false);
};
};
if (equanChildren == 1){
outputMainText((("\r\rYou have " + equanChildren) + " equan foal. It tends to compare sizes with everyone it meets..."), false);
} else {
if (equanChildren > 0){
outputMainText((("\r\rYou have " + equanChildren) + " equan foals. They tend to compare sizes with everyone they meet..."), false);
};
};
if (lupanChildren > 0){
outputMainText((("\r\rYou have " + lupanChildren) + " lupan pups. They growl and playfully pretend to bark at each other while they wrestle innocently."), false);
};
if (felinChildren > 0){
outputMainText((("\r\rYou have " + felinChildren) + " felin kittens. They mewl and cuddle against each other, and often sneaking in shots at their siblings with a paw when the other isn't paying attention."), false);
};
if (cowChildren == 1){
outputMainText((("\r\rYou have " + cowChildren) + " half-cow girl. She tends to latch onto a milky nipple whenever her gets the chance and play with her own nipples and udder absent-mindedly, as though they strangely warm to her."), false);
} else {
if (cowChildren > 0){
outputMainText((("\r\rYou have " + cowChildren) + " half-cow girls. They tend to latch onto milky nipples whenever they get the chance and play with their own nipples and udders absent-mindedly, as though they strangely warm to them."), false);
};
};
if (lizanChildren > 0){
outputMainText((("\r\rYou have " + lizanChildren) + " lizan hatchlings. They tend to find the sunniest spots and lounge around."), false);
};
if (lizanEggs > 0){
outputMainText((("\r\rYou have " + lizanEggs) + " lizan children, still growing within their eggs and all tucked away in a padded crate with blankets draped over them to keep them nice and warm."), false);
if (percent() <= 20){
outputMainText(" Some of them are in the process of hatching! You rush over as they begin to crack, spotting their scaley muzzles push through. After they have cleared away a good hole, you help them the rest of the way, helping them crawl out and dry off. They seem to purr a little before drifting off to sleep, exhausted from the effort. You bundle them up and know they'll be well taken care of here.", false);
tempInt = Math.floor(((percent() / 20) + 2));
if (tempInt > lizanEggs){
tempInt = lizanEggs;
};
lizanEggs = (lizanEggs - tempInt);
lizanChildren = (lizanChildren + tempInt);
};
};
if (bunnionChildren > 0){
outputMainText((("\r\rYou have " + bunnionChildren) + " rabbit-like bunnies. You and the nannies try to keep them from humping everything, to little success..."), false);
};
if (wolfPupChildren > 0){
outputMainText((("\r\rYou have " + wolfPupChildren) + " domesticated wolf pups. They growl and nip at each other playfully, jumping and crashing into each other again and again."), false);
};
if (currentText == "Welcome to your personal Day-Care! However, there isn't much to do yet except gawk awkwardly at your children (you weirdo)."){
outputMainText("\r\rYou have yet to have any children that you keep in your day-care, it seems.", true);
};
doEnd();
};
}
public function doAlchemy():void{
viewButtonOutline(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1);
viewButtonText(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1);
buttonWrite(1, "Simple");
buttonWrite(6, "Complex");
buttonWrite(11, "Advanced");
buttonWrite(12, "Return");
outputMainText("Choose which list of alchemy you would like to choose from.", true);
doListen = function ():void{
if (buttonChoice == 1){
simpleAlchemy(1);
};
if (buttonChoice == 6){
complexAlchemy(1);
};
if (buttonChoice == 11){
advancedAlchemy(1);
};
if (buttonChoice == 12){
doReturn();
};
};
}
public function doTieden():void{
var chance:int;
chance = percent();
if (chance <= 100){
outputMainText("There's nothing to do here...", true);
hrs = 1;
doEnd();
};
}
public function gibButt():String{
var tempStr:String;
var chance:int;
tempStr = "GIB BUTTON ERROR";
chance = percent();
if (chance <= 20){
tempStr = "Pk¿ºs";
};
if ((((chance > 20)) && ((chance <= 40)))){
tempStr = "Ju£¥)";
};
if ((((chance > 40)) && ((chance <= 60)))){
tempStr = "§hdsa";
};
if ((((chance > 60)) && ((chance <= 80)))){
tempStr = "Ö¦¤ÄT¦+";
};
if (chance > 80){
tempStr = "Pancakes";
};
return (tempStr);
}
public function genName():String{
var tempStr:String;
tempStr = ("GENDER ERROR " + gender);
if (gender == 0){
tempStr = "n androgynous";
};
if (gender == 1){
tempStr = " male";
};
if (gender == 2){
tempStr = " female";
};
if (gender == 3){
tempStr = " herm";
};
return (tempStr);
}
public function doRace():void{
trace("race");
trace(tallness);
bc();
viewButtonText(1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0);
viewButtonOutline(1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0);
Choice1.htmlText = "Equan";
Choice3.htmlText = "Lupan";
Choice6.htmlText = "Human";
Choice9.htmlText = "Felin";
Choice11.htmlText = "Lizan";
outputMainText("Choose which race you want to be:", true);
outputMainText("\r\rHuman - A race supposedly descendant of apes, their curious minds are more open to change and their skin is slightly more sensitive.", false);
outputMainText("\r\rEquan - A race supposedly descendant of horses, their large genitals make them slightly more sexual and their muscles are more powerful.", false);
outputMainText("\r\rLupan - A race supposedly descendant of wolves, their lean bodies are stronger and their minds more quick-witted.", false);
outputMainText("\r\rFelin - A race supposedly descendant of cats, their lust-driven society makes them a bit more sexual and sensitive.", false);
outputMainText("\r\rLizan - A race supposedly descendant of some kind of reptile, their desert-adapted bodies have made them stronger, but they're still careful as their scales make them somewhat sensitive.", false);
doListen = function ():void{
boobTotal = 2;
if (buttonChoice == 6){
race = 1;
changeMod = (changeMod + 0.5);
currentZone = 1;
foundSoftlik = true;
humanAffinity = 50;
dominant = 1;
ears = 1;
skinType = 1;
str = 15;
ment = 17;
lib = 15;
sen = 17;
doGender();
};
if (buttonChoice == 1){
race = 2;
foundFirmshaft = true;
currentZone = 2;
horseAffinity = 50;
cockSizeMod = (cockSizeMod + 1);
vagSizeMod = (vagSizeMod + 1);
dominant = 2;
tail = 2;
ears = 2;
skinType = 2;
str = 17;
ment = 15;
lib = 17;
sen = 15;
tallness = (tallness + 4);
doGender();
};
if (buttonChoice == 3){
race = 3;
foundTieden = true;
currentZone = 3;
wolfAffinity = 50;
knot = true;
boobTotal = 6;
dominant = 3;
tail = 3;
ears = 3;
skinType = 2;
str = 17;
ment = 17;
lib = 15;
sen = 15;
tallness = (tallness + -2);
doGender();
};
if (buttonChoice == 9){
race = 4;
foundSizCalit = true;
currentZone = 4;
catAffinity = 50;
dominant = 4;
heat++;
heatMaxTime = 96;
heatTime = 96;
boobTotal = 6;
tail = 4;
ears = 4;
skinType = 2;
str = 15;
ment = 15;
lib = 17;
sen = 17;
tallness = (tallness + -3);
doGender();
};
if (buttonChoice == 11){
race = 6;
foundOviasis = true;
currentZone = 6;
lizardAffinity = 50;
dominant = 6;
eggLaying = 1;
eggTime = 20;
eggMaxTime = 20;
tail = 6;
ears = 6;
skinType = 3;
str = 17;
ment = 16;
lib = 15;
sen = 16;
tallness = (tallness + 2);
doGender();
};
};
}
public function vagLimit():Number{
return (((vagSize * (vagSizeMod + vagElastic)) + ((vagSize * vagSizeMod) * moistMod(2))));
}
public function viewButtonOutline(button1:int, button2:int, button3:int, button4:int, button5:int, button6:int, button7:int, button8:int, button9:int, button10:int, button11:int, button12:int):void{
if (button1 == 0){
Choice1Outline.visible = false;
};
if (button1 == 1){
Choice1Outline.visible = true;
};
if (button2 == 0){
Choice2Outline.visible = false;
};
if (button2 == 1){
Choice2Outline.visible = true;
};
if (button3 == 0){
Choice3Outline.visible = false;
};
if (button3 == 1){
Choice3Outline.visible = true;
};
if (button4 == 0){
Choice4Outline.visible = false;
};
if (button4 == 1){
Choice4Outline.visible = true;
};
if (button5 == 0){
Choice5Outline.visible = false;
};
if (button5 == 1){
Choice5Outline.visible = true;
};
if (button6 == 0){
Choice6Outline.visible = false;
};
if (button6 == 1){
Choice6Outline.visible = true;
};
if (button7 == 0){
Choice7Outline.visible = false;
};
if (button7 == 1){
Choice7Outline.visible = true;
};
if (button8 == 0){
Choice8Outline.visible = false;
};
if (button8 == 1){
Choice8Outline.visible = true;
};
if (button9 == 0){
Choice9Outline.visible = false;
};
if (button9 == 1){
Choice9Outline.visible = true;
};
if (button10 == 0){
Choice10Outline.visible = false;
};
if (button10 == 1){
Choice10Outline.visible = true;
};
if (button11 == 0){
Choice11Outline.visible = false;
};
if (button11 == 1){
Choice11Outline.visible = true;
};
if (button12 == 0){
Choice12Outline.visible = false;
};
if (button12 == 1){
Choice12Outline.visible = true;
};
}
public function doBothMasturbate():void{
if (ment >= (lib - 10)){
outputMainText("", true);
};
if ((((ment < (lib - 10))) && ((ment >= (lib - 25))))){
outputMainText("", true);
};
if ((((ment < (lib - 25))) && ((ment >= (lib - 50))))){
outputMainText("", true);
};
if (ment < (lib - 50)){
outputMainText("", true);
};
if (lust > 20){
doSexP(10);
};
doLust(-(Math.floor((sen * 1.5))));
}
function __setProp_scrollBar_Scene1_scrollBar_1(){
scrollBar["componentInspectorSetting"] = true;
//unresolved jump
var _slot1 = e;
scrollBar.direction = "vertical";
scrollBar.scrollTargetName = "outputWindow";
scrollBar.visible = true;
scrollBar["componentInspectorSetting"] = false;
//unresolved jump
var _slot1 = e;
}
public function clothesChange(ID:int):void{
if (ID == 1){
changeTop(1);
};
if (ID == 2){
changeBot(2);
};
if (ID == 3){
changeTop(3);
};
if (ID == 4){
changeBot(4);
};
if (ID == 5){
changeTop(5);
changeBot(5);
};
if (ID == 6){
changeTop(6);
changeBot(6);
};
if (ID == 7){
changeBot(7);
};
if (ID == 8){
changeBot(8);
};
if (ID == 9){
changeTop(9);
};
if (ID == 10){
changeBot(10);
};
if (ID == 11){
changeBot(11);
};
if (ID == 12){
changeTop(12);
changeBot(12);
};
if (ID == 13){
changeTop(13);
changeBot(13);
};
if (ID == 14){
changeBot(14);
};
if (ID == 15){
changeBot(15);
};
if (ID == 16){
changeBot(16);
};
if (ID == 17){
changeTop(17);
changeBot(17);
};
if (ID == 18){
changeTop(18);
};
if (ID == 19){
changeTop(19);
};
if (ID == 20){
changeBot(20);
};
}
public function doLevelUP():void{
outputMainText((("You have this many perks pending: " + levelUP) + "\r\rClick on an option to view a description and spend a perk."), true);
bc();
viewButtonOutline(1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1);
viewButtonText(1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1);
buttonWrite(1, "Body Build");
buttonWrite(3, "Hyper Happy");
buttonWrite(5, "Baby Fact");
if (vagTotal > 0){
Choice5.visible = true;
};
buttonWrite(7, "Alchemist");
buttonWrite(12, "Return");
doListen = function ():void{
if (buttonChoice == 1){
outputMainText((("Body Builder is training to make you strong and more buff.\r\rWith every level in Body Builder, you gain a +1 increase to your Strength score.\r\rWith every 2 levels, your body fills out a little more.\r\rEvery 3 levels, you grow 2 inches taller...\r\rYou have " + bodyBuildLevel) + " levels in Body Builder.\r\r\rAre you sure you want to spend a Perk on Body Builder?"), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
stats(1, 0, 0, 0);
outputMainText("You flex you muscles, feeling stronger already!", true);
if (Math.floor(((bodyBuildLevel + 1) / 2)) > Math.floor((bodyBuildLevel / 2))){
body = (body + 2);
outputMainText("\r\rEven your body feels more developed.", false);
};
if (Math.floor(((bodyBuildLevel + 1) / 3)) > Math.floor((bodyBuildLevel / 3))){
tallness = (tallness + 2);
outputMainText("\r\rAnd you measure 2 inches taller than you were before.", false);
};
bodyBuildLevel++;
levelUP--;
doEnd();
} else {
doLevelUP();
};
};
};
if (buttonChoice == 3){
outputMainText((("Hyper Happy is a perk for those who like things... 'big'.\r\rEvery level of Hyper Happy, you can choose a body part you would like to make a little bigger.\r\rEvery 3 levels, you become slightly used to your growth, increasing your carrying capacity.\r\rEvery 5th level, you forego that level's smaller change for a much greater growth.\r\rYou have " + hyperHappyLevel) + " levels in Hyper Happy."), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (Math.floor(((hyperHappyLevel + 1) / 5)) == Math.floor((hyperHappyLevel / 5))){
outputMainText("Choose a body part you would like to increase.", true);
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0);
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0);
buttonWrite(1, "Penis");
if (cockTotal < 1){
Choice1.visible = false;
};
buttonWrite(2, "Balls");
if (balls < 1){
Choice2.visible = false;
};
buttonWrite(3, "Pussy");
if (vagTotal < 1){
Choice3.visible = false;
};
buttonWrite(4, "Vulva");
if (vagTotal < 1){
Choice4.visible = false;
};
buttonWrite(5, "Clit");
if (vagTotal < 1){
Choice5.visible = false;
};
buttonWrite(6, "Breasts");
buttonWrite(7, "Nipples");
buttonWrite(8, "Udder");
if (udders == false){
Choice8.visible = false;
};
buttonWrite(9, "Teats");
if (udders == false){
Choice9.visible = false;
};
buttonWrite(10, "Butt");
buttonWrite(11, "Hips");
doListen = function ():void{
if (buttonChoice == 1){
outputMainText((((("Your cock" + plural(1)) + " grow") + plural(3)) + " slightly larger."), true);
cockChange(2, 0);
};
if (buttonChoice == 2){
ballSize = (ballSize + 2);
outputMainText("Your testicles swell a bit.", true);
};
if (buttonChoice == 3){
outputMainText((((("Your vagina" + plural(2)) + " grow") + plural(4)) + " slightly deeper."), true);
vagChange(2, 0);
};
if (buttonChoice == 4){
vulvaSize = (vulvaSize + 2);
outputMainText("Your pussy lips swell a bit.", true);
};
if (buttonChoice == 5){
clitSize = (clitSize + 2);
outputMainText((((("Your clit" + plural(2)) + " grow") + plural(4)) + " slightly larger."), true);
};
if (buttonChoice == 6){
breastSize = (breastSize + 2);
outputMainText("Your breasts swell a bit.", true);
};
if (buttonChoice == 7){
nippleSize = (nippleSize + 2);
outputMainText("Your nipples grow slightly longer.", true);
};
if (buttonChoice == 8){
udderSize = (udderSize + 2);
outputMainText("Your udder swells a bit.", true);
};
if (buttonChoice == 9){
teatSize = (teatSize + 2);
outputMainText("Your teats grow slightly longer.", true);
};
if (buttonChoice == 10){
butt = (butt + 2);
outputMainText("Your rump swells a bit.", true);
};
if (buttonChoice == 11){
hips = (hips + 2);
outputMainText("Your hips widen a bit.", true);
};
levelUP--;
hyperHappyLevel++;
doEnd();
};
};
if (Math.floor(((hyperHappyLevel + 1) / 5)) > Math.floor((hyperHappyLevel / 5))){
outputMainText("Choose a body part you would like to greatly increase. This will be 10x more effective than a normal level in Hyper Happy, so be careful what you choose.", true);
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0);
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0);
buttonWrite(1, "Penis");
if (cockTotal < 1){
Choice1.visible = false;
};
buttonWrite(2, "Balls");
if (balls < 1){
Choice2.visible = false;
};
buttonWrite(3, "Pussy");
if (vagTotal < 1){
Choice3.visible = false;
};
buttonWrite(4, "Vulva");
if (vagTotal < 1){
Choice4.visible = false;
};
buttonWrite(5, "Clit");
if (vagTotal < 1){
Choice5.visible = false;
};
buttonWrite(6, "Breasts");
buttonWrite(7, "Nipples");
buttonWrite(8, "Udder");
if (udders == false){
Choice8.visible = false;
};
buttonWrite(9, "Teats");
if (udders == false){
Choice9.visible = false;
};
buttonWrite(10, "Butt");
buttonWrite(11, "Hips");
doListen = function ():void{
if (buttonChoice == 1){
outputMainText((((("Your cock" + plural(1)) + " grow") + plural(3)) + " much larger."), true);
cockChange(20, 0);
};
if (buttonChoice == 2){
ballSize = (ballSize + 20);
outputMainText("Your testicles swell tremendously.", true);
};
if (buttonChoice == 3){
outputMainText((((("Your vagina" + plural(2)) + " grow") + plural(4)) + " much deeper."), true);
vagChange(20, 0);
};
if (buttonChoice == 4){
vulvaSize = (vulvaSize + 20);
outputMainText("Your pussy lips swell tremendously.", true);
};
if (buttonChoice == 5){
clitSize = (clitSize + 20);
outputMainText((((("Your clit" + plural(2)) + " grow") + plural(4)) + " much larger."), true);
};
if (buttonChoice == 6){
breastSize = (breastSize + 20);
outputMainText("Your breasts swell tremendously.", true);
};
if (buttonChoice == 7){
nippleSize = (nippleSize + 20);
outputMainText("Your nipples grow much longer.", true);
};
if (buttonChoice == 8){
udderSize = (udderSize + 20);
outputMainText("Your udder swells tremendously.", true);
};
if (buttonChoice == 9){
teatSize = (teatSize + 20);
outputMainText("Your teats grow much longer.", true);
};
if (buttonChoice == 10){
butt = (butt + 20);
outputMainText("Your rump swells tremendously.", true);
};
if (buttonChoice == 11){
hips = (hips + 20);
outputMainText("Your hips widen tremendously.", true);
};
levelUP--;
hyperHappyLevel++;
doEnd();
};
};
if (Math.floor(((hyperHappyLevel + 1) / 3)) > Math.floor((hyperHappyLevel / 3))){
outputMainText("\r\rYou also become a bit more accustomed to your attributes, learning how to carry them more efficiently.", false);
carryMod = (carryMod + 10);
};
} else {
doLevelUP();
};
};
};
if (buttonChoice == 5){
outputMainText((("Baby Factory makes you much better at making babies.\r\rEvery level of Baby Factory increases your chance to get pregnant by 2%.\r\rEvery 2 levels, you have an increased chance of having more offspring.\r\rEvery 4 levels results in hip and rear growth.\r\rYou have " + babyFactLevel) + " levels in Baby Factory.\r\r\rAre you sure you want to spend a Perk on Baby Factory?"), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
pregChanceMod = (pregChanceMod + 2);
outputMainText("There's also an odd feeling like you... 'need' to get pregnant?", true);
if (Math.floor(((babyFactLevel + 1) / 2)) > Math.floor((babyFactLevel / 2))){
extraPregChance = (extraPregChance + 5);
outputMainText("\r\rYour ovaries kinda tickle a little, a tad more likely to pop out more eggs when you ovulate.", false);
};
if (Math.floor(((babyFactLevel + 1) / 4)) > Math.floor((babyFactLevel / 4))){
hips = (hips + 3);
butt = (butt + 3);
outputMainText("\r\rWith all of the fertile preparation, your hips widen and your ass swells, giving you a more fecund appearance.", false);
};
levelUP--;
babyFactLevel++;
doEnd();
} else {
doLevelUP();
};
};
};
if (buttonChoice == 12){
doReturn();
};
if (buttonChoice == 7){
outputMainText((("When not turning metals into gold, alchemists also dabble in a variety of other... things.\r\rThe first 8 levels in Alchemist gain you 2 alchemy recipes each level.\r\rEvery level of Alchemist increases your chance of creating an extra simple concoction by 2%, complex concoction by 1%, and advanced concoction by .66%, up to a maximum of 4 concoctions from a single batch.\r\rYou have " + alchemistLevel) + " levels in Alchemist.\r\r\rAre you sure you want to spend a Perk on Alchemist?"), true);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
outputMainText("Your alchemical prowess has improved!", true);
levelUP--;
alchemistLevel++;
doEnd();
} else {
doLevelUP();
};
};
};
};
}
public function doShop():void{
var buy:int;
bc();
inShop = true;
buy = 0;
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
i = 1;
while (i < 13) {
buttonWrite(i, itemName(goodsID(i)));
i++;
};
buttonWrite(4, "Buy");
buttonWrite(8, "Sell");
buttonWrite(12, "Return");
outputMainText("Click on an item to view a description of the item. If you would like to purchase it, click the Buy button.\r\rIf you would like to sell an item from your bag, click Sell.", true);
doListen = function ():void{
if (((((((!((buttonChoice == 4))) && (!((buttonChoice == 8))))) && (!((buttonChoice == 12))))) && (!((goodsID(buttonChoice) == 0))))){
outputMainText((((itemDescription(goodsID(buttonChoice)) + "\r\rCost: ") + (3 * itemValue(goodsID(buttonChoice)))) + " coins."), true);
buy = buttonChoice;
};
if ((((buttonChoice == 4)) && (!((buy == 0))))){
outputMainText((("\r\rAre you sure you would like to buy" + itemName(goodsID(buttonChoice))) + "?"), false);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
if (coin < (3 * itemValue(goodsID(buy)))){
outputMainText((((((("Sorry, but you only have " + coin) + " coins. You require at least ") + ((3 * itemValue(goodsID(buy))) - coin)) + " more coins to purchase") + itemName(goodsID(buy))) + "."), true);
doNext();
doListen = function ():void{
doShop();
};
} else {
if (((checkItem(goodsID(buy))) && (!(conItem(goodsID(buy)))))){
outputMainText((("Sorry, but you cannot buy " + itemName(goodsID(buy))) + " if you already have one. Please choose something else."), true);
doNext();
doListen = function ():void{
doShop();
};
} else {
itemAdd(goodsID(buy));
doCoin((-3 * itemValue(goodsID(buy))));
doProcess();
};
};
} else {
doShop();
};
};
};
if (buttonChoice == 8){
doSell();
};
if (buttonChoice == 12){
inShop = false;
doReturn();
};
};
}
public function doNext():void{
bc();
viewButtonOutline(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0);
buttonWrite(6, "Next");
}
public function doEntice():void{
var chance:int;
chance = percent();
if ((((((((eGen == 1)) && ((gender == 1)))) && (!((ePref == 2))))) && (!((ePref == 0))))){
if (chance <= 50){
outputMainText((((((((((("You turn around and bend over before the " + enemyName()) + " stroking the ") + cockDesc()) + " bulge in your ") + clothesBottom()) + " and patting your ") + buttDesc()) + " rump while you wave your ") + hipDesc()) + " hips"), true);
if (tail != 0){
outputMainText(((", your " + tailDesc()) + " tail dancing above"), false);
};
outputMainText(" tantalizingly.", false);
};
if (chance > 50){
outputMainText((((("You flex your muscles, trying to show off your masculinity, while you thrust your " + hipDesc()) + " hips in an attempt to show off your ") + cockDesc()) + " bulge."), true);
};
if ((((ePref == 1)) || ((ePref == 4)))){
doeLust(Math.floor((((percent() / 10) + (eLib / 5)) + enticeMod)));
} else {
if (ePref == 3){
doeLust(Math.floor((((percent() / 10) + (eLib / 10)) + enticeMod)));
};
};
} else {
if ((((((((eGen == 1)) && ((gender == 2)))) && (!((ePref == 1))))) && (!((ePref == 0))))){
if (chance <= 50){
outputMainText(((((("You turn around and bend over before the " + enemyName()) + ", stroking your ") + vulvaDesc()) + " vulva through your ") + clothesBottom()), true);
if ((((lust > 20)) && ((vagMoist > 3)))){
outputMainText(" until your feminine arousal seeps through", false);
};
outputMainText(((". Your " + hipDesc()) + " hips wiggle erotically"), false);
if (tail != 0){
outputMainText(((", your " + tailDesc()) + " tail dancing above"), false);
};
outputMainText(".", false);
};
if (chance > 50){
outputMainText((((("You lick your finger before sliding it into your mouth, sucking and pulling it out slowly with a small drop of saliva dangling upon your supple lips while you rub a " + nipDesc()) + " nipple through your ") + clothesTop()) + " with your other hand."), true);
};
if ((((ePref == 2)) || ((ePref == 4)))){
doeLust(Math.floor((((percent() / 10) + (eLib / 5)) + enticeMod)));
} else {
if (ePref == 3){
doeLust(Math.floor((((percent() / 10) + (eLib / 10)) + enticeMod)));
};
};
} else {
if ((((((((eGen == 2)) && ((gender == 1)))) && (!((ePref == 2))))) && (!((ePref == 0))))){
if (chance <= 50){
outputMainText((((("You pull " + pullUD(2)) + " your ") + clothesBottom()) + " a little, revealing the base of your cock-flesh"), true);
if (lust > 20){
outputMainText((((", the " + cockDesc()) + " erection pulsing strongly beneath your ") + clothesBottom()), false);
};
outputMainText(", rubbing it to show off what you can offer", false);
if ((((lust > 20)) && ((cockMoist > 3)))){
outputMainText(", a blotch of pre beginning to seep across the fabric", false);
};
outputMainText(".", false);
};
if (chance > 50){
outputMainText("You flex your muscles as you groan with sexual desire, trying to turn you opponent on with the possibilities of what might come.", true);
};
if ((((ePref == 1)) || ((ePref == 4)))){
doeLust(Math.floor((((percent() / 10) + (eLib / 5)) + enticeMod)));
} else {
if (ePref == 3){
doeLust(Math.floor((((percent() / 10) + (eLib / 10)) + enticeMod)));
};
};
} else {
if ((((((((eGen == 2)) && ((gender == 2)))) && (!((ePref == 1))))) && (!((ePref == 0))))){
if (chance <= 50){
outputMainText((("You spread you knees, crouching down as both hands grind into your " + vulvaDesc()) + " pussy"), true);
if ((((lust > 20)) && ((vagMoist > 3)))){
outputMainText(((", your honey spreading from the crotch of your " + clothesBottom()) + ","), false);
};
if (tail != 0){
outputMainText(((", your " + tailDesc()) + " tail swishing across the ground,"), false);
};
outputMainText(((" luring the " + enemyName()) + " to come grind instead."), false);
};
if (chance > 50){
outputMainText((("Your arms hug beneath your " + boobDesc()) + " chest, squeezing the mounds and making them look even bigger"), true);
if ((((((lust > 20)) && ((nippleSize > 1)))) || ((nippleSize > 6)))){
outputMainText((((", your " + nipDesc()) + " nipples clearly visible through your ") + clothesTop()), false);
};
outputMainText(".", false);
};
if ((((ePref == 2)) || ((ePref == 4)))){
doeLust(Math.floor((((percent() / 10) + (eLib / 5)) + enticeMod)));
} else {
if (ePref == 3){
doeLust(Math.floor((((percent() / 10) + (eLib / 10)) + enticeMod)));
};
};
} else {
if ((((((((eGen == 3)) && ((gender == 1)))) && (!((ePref == 2))))) && (!((ePref == 0))))){
if (chance <= 25){
outputMainText((((((((((("You turn around and bend over before the " + enemyName()) + " stroking the ") + cockDesc()) + " bulge in your ") + clothesBottom()) + " and patting your ") + buttDesc()) + " rump while you wave your ") + hipDesc()) + " hips"), true);
if (tail != 0){
outputMainText(((", your " + tailDesc()) + " tail dancing above"), false);
};
outputMainText(" tantalizingly.", false);
};
if ((((chance > 25)) && ((chance <= 50)))){
outputMainText((((("You flex your muscles, trying to show off your masculinity, while you thrust your " + hipDesc()) + " hips in an attempt to show off your ") + cockDesc()) + " bulge."), true);
};
if ((((chance > 50)) && ((chance <= 75)))){
outputMainText((((("You pull " + pullUD(2)) + " your ") + clothesBottom()) + " a little, revealing the base of your cock-flesh"), true);
if (lust > 20){
outputMainText((((", the " + cockDesc()) + " erection pulsing strongly beneath your ") + clothesBottom()), false);
};
outputMainText(", rubbing it to show off what you can offer", false);
if ((((lust > 20)) && ((cockMoist > 3)))){
outputMainText(", a blotch of pre begining to seep across the fabric", false);
};
outputMainText(".", false);
};
if (chance > 75){
outputMainText("You flex your muscles as you groan with sexual desire, trying to turn you opponent on with the possibilities of what might come.", true);
};
if ((((ePref == 1)) || ((ePref == 4)))){
doeLust(Math.floor((((percent() / 10) + (eLib / 5)) + enticeMod)));
} else {
if (ePref == 3){
doeLust(Math.floor((((percent() / 10) + (eLib / 10)) + enticeMod)));
};
};
} else {
if ((((((((eGen == 3)) && ((gender == 2)))) && (!((ePref == 1))))) && (!((ePref == 0))))){
if (chance <= 25){
outputMainText((("You spread your knees, crouching down as both hands grinding into your " + vulvaDesc()) + " pussy"), true);
if ((((lust > 20)) && ((vagMoist > 3)))){
outputMainText(((", your honey spreading from the crotch of your " + clothesBottom()) + ","), false);
};
if (tail != 0){
outputMainText(((", your " + tailDesc()) + " tail swishing across the ground,"), false);
};
outputMainText(((" luring the " + enemyName()) + " to come grind instead."), false);
};
if ((((chance > 25)) && ((chance <= 50)))){
outputMainText((("Your arms hug beneath your " + boobDesc()) + " chest, squeezing the mounds and making them look even bigger"), true);
if ((((((lust > 20)) && ((nippleSize > 1)))) || ((nippleSize > 6)))){
outputMainText(((((", your " + nipDesc()) + " nipples clearly visible through your ") + clothesTop()) + "."), false);
};
outputMainText(".", false);
};
if ((((chance > 50)) && ((chance <= 75)))){
outputMainText(((((("You turn around and bend over before the " + enemyName()) + ", stroking your ") + vulvaDesc()) + " vulva through your ") + clothesBottom()), true);
if ((((lust > 20)) && ((vagMoist > 3)))){
outputMainText(" until your feminine arousal seeps through", false);
};
outputMainText(((". Your " + hipDesc()) + " hips waggle erotically"), false);
if (tail != 0){
outputMainText(((", your " + tailDesc()) + " tail dancing above"), false);
};
outputMainText(".", false);
};
if (chance > 75){
outputMainText((((("You lick your finger before sliding it into your mouth, sucking and pulling it out slowly with a small drop of saliva dangling upon your supple lips while you rub a " + nipDesc()) + " nipple through your ") + clothesTop()) + " with your other hand."), true);
};
if ((((ePref == 2)) || ((ePref == 4)))){
doeLust(Math.floor(((percent() / 10) + (eLib / 5))));
} else {
if (ePref == 3){
doeLust(Math.floor(((percent() / 10) + (eLib / 10))));
};
};
} else {
if ((((((gender == 3)) && (!((ePref == 0))))) && (!((eGen == 0))))){
if (chance <= 25){
outputMainText((((((((((((("You turn around and bend over before the " + enemyName()) + ", patting your ") + buttDesc()) + " ass and ") + vulvaDesc()) + " pussy. You waggle your ") + hipDesc()) + " hips, the ") + cockDesc()) + " bulge in your ") + clothesBottom()) + " swaying"), true);
if (tail != 0){
outputMainText(((", your " + tailDesc()) + " tail dancing above"), false);
};
outputMainText(" deliciously.", false);
};
if ((((chance > 25)) && ((chance <= 50)))){
outputMainText((((("Your arms hug beneath your " + boobDesc()) + " chest, squeezing the mounds and making them look even bigger while you flex, thrusting at the air with your ") + cockDesc()) + " package bobbing."), true);
};
if ((((chance > 50)) && ((chance <= 75)))){
outputMainText((((("You pull " + pullUD(2)) + " your ") + clothesBottom()) + " a little, revealing the base of your male anatomy while you spread your knees, crouching down as both hands grind across the bulge and into your female portions"), true);
if ((((lust > 20)) && ((((vagMoist > 3)) || ((cockMoist > 3)))))){
outputMainText(", the fabric quickly growing damp", false);
};
outputMainText(".", false);
if (tail != 0){
outputMainText((("Your " + tailDesc()) + " tail swishes across the ground in anticipation."), false);
};
};
if (chance > 75){
outputMainText((((("You lick your finger before sliding it into your mouth, sucking and pulling it out slowly with a small drop of saliva dangling upon your supple lips while you rub the " + cockDesc()) + " phallic outline in your ") + clothesBottom()) + " with your other hand."), true);
};
if ((((ePref == 3)) || ((ePref == 4)))){
doeLust(Math.floor(((percent() / 10) + (eLib / 5))));
} else {
if ((((ePref == 1)) || ((ePref == 2)))){
doeLust(Math.floor(((percent() / 10) + (eLib / 10))));
};
};
} else {
if ((((((gender == 0)) && (!((ePref == 0))))) && (!((eGen == 0))))){
outputMainText((("Your " + hipDesc()) + " hips dance provocatively while you lick and suckle your fingers, trying to show off what you can do with what you've still got."), true);
doeLust(Math.floor(((percent() / 10) + (eLib / 10))));
} else {
outputMainText((("Your attempt at an erotic display only seems to turn the " + enemyName()) + " off further."), true);
eLust = (eLust - 5);
};
};
};
};
};
};
};
};
}
public function moistMod(which:int):Number{
var tempNum:Number;
tempNum = 0;
if (lust >= 75){
if (which == 1){
tempNum = (cockMoist / 12);
};
if (which == 2){
tempNum = (vagMoist / 12);
};
} else {
if (lust >= 50){
if (which == 1){
tempNum = ((cockMoist - 3) / 12);
};
if (which == 2){
tempNum = ((vagMoist - 3) / 12);
};
} else {
if (lust >= 25){
if (which == 1){
tempNum = ((cockMoist - 6) / 12);
};
if (which == 2){
tempNum = ((vagMoist - 6) / 12);
};
} else {
if (which == 1){
tempNum = ((cockMoist - 9) / 12);
};
if (which == 2){
tempNum = ((vagMoist - 9) / 12);
};
};
};
};
if (tempNum < 0){
tempNum = 0;
};
return (tempNum);
}
public function eDmg(eweapon:Number):int{
var dmgRed:int;
var dmg:int;
dmgRed = Math.floor(((100 - sen) / 5));
if (dmgRed > level){
dmgRed = level;
};
dmg = Math.floor((((percent() / eweapon) + (eStr / 2)) - dmgRed));
if (dmg < 0){
dmg = 0;
};
return (dmg);
}
public function amountWrite(buttonNum:int, buttonText:String):void{
if (buttonNum == 1){
Amount1.text = buttonText;
};
if (buttonNum == 2){
Amount2.text = buttonText;
};
if (buttonNum == 3){
Amount3.text = buttonText;
};
if (buttonNum == 4){
Amount4.text = buttonText;
};
if (buttonNum == 5){
Amount5.text = buttonText;
};
if (buttonNum == 6){
Amount6.text = buttonText;
};
if (buttonNum == 7){
Amount7.text = buttonText;
};
if (buttonNum == 8){
Amount8.text = buttonText;
};
if (buttonNum == 9){
Amount9.text = buttonText;
};
if (buttonNum == 10){
Amount10.text = buttonText;
};
if (buttonNum == 11){
Amount11.text = buttonText;
};
if (buttonNum == 12){
Amount12.text = buttonText;
};
}
public function doItemUse(ID:int):void{
var tempNum:int;
var chance:int;
var dmg:int;
var tempCockSize:int;
var tempBallSize:int;
var ID = ID;
if (ID == 103){
bc();
viewButtonText(0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0);
buttonWrite(5, "Penis");
if (cockTotal < 1){
Choice5.visible = false;
};
buttonWrite(7, "Pussy");
if (vagTotal < 1){
Choice7.visible = false;
};
buttonWrite(9, "Breasts");
buttonWrite(11, "Udder");
if (udders == true){
Choice11.visible = true;
};
outputMainText("Which genitalia would you like to make a bit dryer?", true);
doListen = function ():void{
if (buttonChoice == 5){
outputMainText((("You dab the sand onto your cock-head" + plural(1)) + ". It feels odd at first, but as you rub yourself to arousal a bit, you notice a decrease in pre."), true);
cockMoist = (cockMoist - 4);
doEnd();
};
if (buttonChoice == 7){
outputMainText((("You dab the sand onto your cunt" + plural(2)) + ". It feels odd at first, but as you rub yourself to arousal a bit, you notice a decrease in lubrications."), true);
vagMoist = (vagMoist - 4);
doEnd();
};
if (buttonChoice == 9){
outputMainText("You dab the sand onto your nipples. It feels odd at first, but as you rub them until they are stiff, you notice a decrease in lactation.", true);
if ((lactation - 4) < 0){
milkMod = (milkMod - (lactation - 4));
};
lactChange(1, -4);
doEnd();
};
if (buttonChoice == 11){
outputMainText("You dab the sand onto your teats. It feels odd at first, but as you rub them until they are stiff, you notice a decrease in lactation.", true);
if ((lactation - 4) < 0){
milkMod = (milkMod - (udderLactation - 4));
};
lactChange(2, -4);
doEnd();
};
};
};
if (ID == 104){
if (currentState != 3){
outputMainText("You can only use a milker while masturbating.", true);
doEnd();
} else {
tempNum = 0;
bc();
viewButtonText(0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Breasts");
buttonWrite(7, "Udder");
if (udders == true){
Choice7.visible = true;
};
outputMainText("What would you like to pump?", true);
doListen = function ():void{
var getMilk:int;
if (buttonChoice == 5){
tempNum = 1;
};
if (buttonChoice == 7){
tempNum = 2;
};
getMilk = 0;
outputMainText("You uncoil the tubes of your milker, stretching them out and starting up the pump. Attaching the appropriate cups, you slip them onto your ", true);
if (tempNum == 1){
outputMainText((((nipDesc() + " nipples, until the rims press up and seal onto your ") + boobDesc()) + " breasts with the gentle suction."), false);
};
if (tempNum == 2){
outputMainText((((teatDesc() + " teats, until the rims press up and seal onto your ") + udderDesc()) + " udder with the gentle suction."), false);
};
outputMainText("\r\rYou shudder a little as the stuttered pumping vibrates through your body. Warmth begins to envelop your ", false);
if (tempNum == 1){
outputMainText("chest", false);
};
if (tempNum == 2){
outputMainText("belly", false);
};
outputMainText(" feeling all tingly.", false);
if ((((((tempNum == 1)) && ((lactation > 0)))) || ((((tempNum == 2)) && ((udderLactation > 0)))))){
hrs++;
getMilk = milkAmount(tempNum);
outputMainText(" Droplets of milk begin to trickle around your ", false);
if (tempNum == 1){
outputMainText("nipples", false);
};
if (tempNum == 2){
outputMainText("teats", false);
};
outputMainText(" and slurps through the tubes. Within moments, your ", false);
if (tempNum == 1){
outputMainText("nipples", false);
};
if (tempNum == 2){
outputMainText("teats", false);
};
outputMainText(" throb along with the pulse, ", false);
if (getMilk <= 500){
outputMainText("small dribbles", false);
};
if ((((getMilk > 500)) && ((getMilk <= 1000)))){
outputMainText("spurts", false);
};
if ((((getMilk > 1000)) && ((getMilk <= 2000)))){
outputMainText("sprays", false);
};
if ((((getMilk > 2000)) && ((getMilk <= 8000)))){
outputMainText("jets", false);
};
if ((((getMilk > 8000)) && ((getMilk <= 19000)))){
outputMainText("steady streams", false);
};
if (getMilk > 19000){
outputMainText("small floods", false);
};
outputMainText(" of milk swishing through the tubes and collecting at the machine.", false);
};
outputMainText(" The pleasurable sensation lingers constantly, bringing you to a small orgasm", false);
if (getMilk > 0){
outputMainText(" while your flow of milk slows to a stop", false);
};
outputMainText(".\r\rYou flip the machine off, the cups making a loud kissing sound as the vacuum is released. As they fall to the floor, you rub your aroused ", false);
if (tempNum == 1){
outputMainText((nipDesc() + " nipples"), false);
};
if (tempNum == 2){
outputMainText((teatDesc() + " teats"), false);
};
outputMainText(", shivering from their shortly increased sensitivity, slightly engorged and inflated.", false);
if ((((boobTotal > 2)) || ((tempNum == 2)))){
outputMainText(" Then you move onto the next pair...", false);
};
outputMainText(" Eventually you clean yourself up and put the machine away.", false);
if (tempNum == 1){
nipPump = (nipPump + 10);
if (nipPump > 40){
nipPump = 0;
nippleSize++;
outputMainText("\r\rHowever, this time your nipples don't seem to relax back to their original state, permanently swollen larger...", false);
};
};
if (tempNum == 2){
teatPump = (teatPump + 10);
if (teatPump > 40){
teatPump = 0;
teatSize++;
outputMainText("\r\rHowever, this time your teats don't seem to relax back to their original state, permanently swollen larger...", false);
};
};
doNext();
doListen = function ():void{
if (getMilk < 1000){
outputMainText((("You have produced " + getMilk) + " ml of milk!"), true);
} else {
if (getMilk >= 1000){
outputMainText((("You have produced " + decGet((getMilk / 1000), 1)) + " liters of milk!"), true);
};
};
doLust(-(Math.floor((sen / 2))));
if ((((((tempNum == 1)) && ((lactation > 0)))) || ((((tempNum == 2)) && ((udderLactation > 0)))))){
if (tempNum == 1){
if (((nipplePlay + 10) / (lactation * 30)) > 1){
lactChange(1, 1);
outputMainText("\r\rYour breasts ache from all the milking, growing larger to meet the demand...", false);
boobChange(1);
};
nipplePlay = (nipplePlay + 10);
};
if (tempNum == 2){
if (((udderPlay + 10) / (udderLactation * 30)) > 1){
lactChange(2, 1);
outputMainText("\r\rYour udder aches from all the milking, growing larger to meet the demand...", false);
udderChange(1);
};
udderPlay = (udderPlay + 10);
};
};
if (getMilk < 1000){
outputMainText("\r\rUnfortunately, you haven't produced enough milk to fill a full bottle yet.", false);
};
if ((((getMilk >= 1000)) && ((getMilk < 3000)))){
itemAdd(500);
};
if ((((getMilk >= 3000)) && ((getMilk < 6000)))){
itemAdd(501);
};
if ((((getMilk >= 6000)) && ((getMilk < 17000)))){
itemAdd(501);
itemAdd(501);
};
if ((((getMilk >= 17000)) && ((getMilk < 25000)))){
itemAdd(502);
};
if (getMilk >= 25000){
itemAdd(502);
outputMainText("\r\rHowever, you produced so much milk that the container in the milker couldn't hold it all and everything beyond a barrel-full splashed out around the edges, making a mess everywhere!", false);
};
hrs++;
doEnd();
};
};
};
};
if (ID == 106){
if (currentState != 3){
outputMainText("You can only use the a penis pump while masturbating.", true);
doEnd();
} else {
tempNum = 0;
bc();
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
buttonWrite(5, "Penis");
if (cockTotal > 0){
Choice5.visible = true;
};
buttonWrite(7, "Clit");
if (vagTotal > 0){
Choice7.visible = true;
};
buttonWrite(10, "None");
outputMainText("What would you like to pump?", true);
doListen = function ():void{
var whichCock:String;
var chance:int;
var getCum:int;
if (buttonChoice == 5){
whichCock = "";
while (whichCock == "") {
chance = percent();
if ((((chance <= 17)) && ((humanCocks > 0)))){
whichCock = "hard human rod";
};
if ((((((chance > 17)) && ((chance <= 33)))) && ((horseCocks > 0)))){
whichCock = "long equine flesh";
};
if ((((((chance > 33)) && ((chance <= 50)))) && ((wolfCocks > 0)))){
whichCock = "pointy wolf meat";
};
if ((((((chance > 50)) && ((chance <= 66)))) && ((catCocks > 0)))){
whichCock = "pink thorny cat prick";
};
if ((((((chance > 66)) && ((chance <= 83)))) && ((lizardCocks > 0)))){
whichCock = "purple ribbed reptile rod";
};
if ((((((chance > 83)) && ((chance <= 100)))) && ((rabbitCocks > 0)))){
whichCock = "throbbing bunny carrot";
};
};
outputMainText((((((((((("You pick out the appropriate cylinder size for " + oneYour(1)) + " cock") + plural(1)) + ". You slip it over your ") + whichCock) + " and attach the tube at the other end. Whether you were hard or not already, as soon as you flip on the pump's switch, your ") + hipDesc()) + " hips jerk as blood flushes through the ") + cockDesc()) + " member. The vacuum pressure makes it swell, growing stiffer and larger than before!\r\rThe pump then gently relaxes before giving you another nice suck, followed by another release, eventually building into a slow rhythm."), true);
if (lust < 20){
outputMainText(" Yet, despite the pleasurable sensation, you're not really horny enough to climax, the pump merely sucking away at your engorgement for a while before you finally give up and put it away.", false);
cockPump = (cockPump + 10);
if (cockPump > 40){
cockPump = 0;
cockSize++;
outputMainText((("\r\rAlthough, the swelling from the suction doesn't seem to go down all the way, your cock" + plural(1)) + " permanently slightly larger."), false);
};
hrs = 1;
doEnd();
} else {
getCum = cumAmount();
if (cockMoist <= 3){
outputMainText(" The bottle within the machine fills a little with your pre as it seeps out, but its hardly much.\r\r", false);
};
if ((((cockMoist > 3)) && ((cockMoist <= 6)))){
outputMainText(" The bottle within the machine fills nearly halfway with your pre as it dribbles out, so you quickly spill it out before you climax.\r\r", false);
};
if ((((cockMoist > 6)) && ((cockMoist <= 9)))){
outputMainText(" The bottle within the machine fills to the brim with your pre as it spurts from your cock, forcing you to quickly replace it with a fresh bottle before you climax.\r\r", false);
};
if ((((cockMoist > 9)) && ((cockMoist <= 12)))){
outputMainText(" The bottle within the machine fills to the brim with your pre as it gushes from your cock, spilling over the rim. You pull the bottle out and let your slime spew across the floor until you're about to climax and replace it with a fresh one.\r\r", false);
};
if (showBalls == true){
outputMainText((("Eventually, your " + ballDesc()) + " balls groan as the sensation gets the best of them. "), false);
};
outputMainText((("You begin to buck as the machine does it's job, your cum spurting from the tip of your " + whichCock) + " and flowing through the tubes, despositing into the bottle. Spurt after spurt gets sucked out, milking your cock until it's dry."), false);
if (getCum < 1000){
outputMainText((("\r\rYou have produced " + getCum) + " ml of spooge!"), false);
} else {
if (getCum >= 1000){
outputMainText((("\r\rYou have produced " + decGet((getCum / 1000), 1)) + " liters of spooge!"), false);
};
};
if (getCum < 150){
outputMainText(" Although, the resulting amount is so small that you can't really do anything with it...", false);
};
if ((((getCum > 400)) && ((getCum <= 600)))){
outputMainText(" The resulting amount of spunk is just enough to fill a vial!", false);
itemAdd(523);
};
if ((((getCum > 600)) && ((getCum <= 1200)))){
outputMainText(" The resulting amount of spunk is more than enough to fill a vial, with a quite a bit left to spill over the edge.", false);
itemAdd(523);
};
if ((((getCum > 1200)) && ((getCum <= 2000)))){
outputMainText(" You come so much that you fill the whole bottle, great for resale!", false);
itemAdd(524);
};
if ((((getCum > 2000)) && ((getCum <= 4500)))){
outputMainText(" You come so much that you fill the whole bottle, and more continues to gush out over the edge, making quite the mess.", false);
itemAdd(524);
};
if ((((getCum > 4500)) && ((getCum <= 5500)))){
outputMainText(" Well prepared, you quickly swap out the bottle with a jug. Your cum floods inside, filling it up to the brim!", false);
itemAdd(525);
};
if ((((getCum > 5500)) && ((getCum <= 21000)))){
outputMainText(" Prepared, you quickly swap out the bottle with a jug. Your cum floods inside, filling it up to the brim. However, you continue to gush, overfilling it until cum spills over the edge and floods around you, making quite the mess...", false);
itemAdd(525);
};
if (getCum > 21000){
outputMainText(" Worried about drowing in your own cum, you quickly pull the bottle out and attach a hose to the item you came prepared with... a barrel. Though you still manage to overfill it, you haven't created quite the natural disaster. And since you can't quite get much for a whole barrel of cum, you top off a jug as well...", false);
itemAdd(525);
itemAdd(526);
};
cockPump = (cockPump + 10);
if (cockPump > 40){
cockPump = 0;
cockSize++;
outputMainText((("\r\rAlthough, after cleaning up, the swelling from the suction doesn't seem to go down, your cock" + plural(1)) + " permanently slightly larger..."), false);
};
doLust(-(Math.floor((sen / 2))));
hrs = 2;
doEnd();
};
};
if (buttonChoice == 7){
if (lust < 20){
outputMainText("You're not really in the mood to do it at the moment, opting to put the pump back in your bag for now...", true);
doEnd();
} else {
if (clitSize <= 20){
outputMainText((((((((("Feeling a little kinky, you take the smallest available cylinder and push it over " + oneYour(2)) + " clit") + plural(2)) + ". Turning on the machine, you quickly notice you're still too small, having to manually seal the cylinder against your skin with your fingers. However, that isn't a problem, as you soon begin to enjoy the sucking on your clit, the button swelling from the vacuum while your fingers sliding through your ") + vulvaDesc()) + " lips and dipping into your hole") + plural(2)) + ", moving in rhythm to the pumping."), true);
};
if (clitSize > 20){
outputMainText((((((((((("Feeling a little kinky, you take some cylinders to slide over " + oneYour(2)) + " clit") + plural(2)) + ". Its so big that it easily fits into one of them, just like it were a cock. Turning on the machine, your ") + hipDesc()) + " hips squirm as the suction forces your button to swell, becoming even larger. Your fingers slide through your ") + vulvaDesc()) + " lips and dip into your hole") + plural(2)) + ", moving in rhythm to the pumping."), true);
};
if ((((vagMoist > 0)) && ((vagMoist <= 3)))){
outputMainText(" The pump manages to suck up a few drops of your feminine honey as you masturbate, misting the tubes slightly.", false);
};
if ((((vagMoist > 3)) && ((vagMoist <= 6)))){
outputMainText(" The pump manages to suck up some of your dribbling feminine honey, letting it drip lazily from into a bottle that was meant for spunk.", false);
};
if ((((vagMoist > 6)) && ((vagMoist <= 9)))){
outputMainText(" The pump manages to suck up a bit of your flowing feminine honey, spurting it into a bottle meant for spunk instead.", false);
};
if ((((vagMoist > 9)) && ((vagMoist <= 12)))){
outputMainText(" The pump manages to suck up a good deal of your gushing feminine honey, filling a bottle in the machine that was meant for spunk instead. It's not something you can sell, but it amuses you nonetheless.", false);
};
outputMainText(" You soon quiver and moan as you come to climax, sighing gently as you turn the pump off to enjoy your swollen clit by hand for a while.", false);
clitPump = (clitPump + 10);
if (clitPump > 40){
clitPump = 0;
clitSize++;
outputMainText((("\r\rAlthough, after cleaning up, the swelling from the suction doesn't seem to go down, your clit" + plural(1)) + " permanently slightly larger..."), false);
};
doLust(-(Math.floor((sen / 2))));
hrs = 2;
doEnd();
};
};
if (buttonChoice == 10){
outputMainText("You realize you didn't actually want to use the pump and put it back in your bag. You fickle bastard.", true);
doEnd();
};
};
};
};
if (ID == 105){
outputMainText((((("Bringing the vial filled with white liquid to your lips, you soon taste the sweet, milky stuff within. Downing it, your " + boobDesc()) + " breasts feel warm. Small blotches of milk form through your ") + clothesTop()) + ", around your nipples. The tingling heat then permeates your body, making you feel slightly more aroused as well."), true);
stats(0, 0, 1, 0);
doLust(5);
if (udders == true){
outputMainText(" Even your udder begins to dribble a little, feeling slightly fuller.", false);
lactChange(2, 1);
};
lactChange(1, 1);
doEnd();
};
if (ID == 108){
outputMainText("You push the gauge against your pulse. It grows warm for a moment before a vague display shows up on the other side.", true);
if (humanAffinity > 0){
outputMainText("\r\rHuman:\r", false);
i = 1;
while (i <= humanAffinity) {
outputMainText("|", false);
i++;
};
};
if (horseAffinity > 0){
outputMainText("\r\rHorse:\r", false);
i = 1;
while (i <= horseAffinity) {
outputMainText("|", false);
i++;
};
};
if (wolfAffinity > 0){
outputMainText("\r\rWolf:\r", false);
i = 1;
while (i <= wolfAffinity) {
outputMainText("|", false);
i++;
};
};
if (catAffinity > 0){
outputMainText("\r\rCat:\r", false);
i = 1;
while (i <= catAffinity) {
outputMainText("|", false);
i++;
};
};
if (cowAffinity > 0){
outputMainText("\r\rCow:\r", false);
i = 1;
while (i <= cowAffinity) {
outputMainText("|", false);
i++;
};
};
if (lizardAffinity > 0){
outputMainText("\r\rLizard:\r", false);
i = 1;
while (i <= lizardAffinity) {
outputMainText("|", false);
i++;
};
};
if (rabbitAffinity > 0){
outputMainText("\r\rRabbit:\r", false);
i = 1;
while (i <= rabbitAffinity) {
outputMainText("|", false);
i++;
};
};
doEnd();
};
if (ID == 109){
if (checkItem(219)){
if ((((((((((((((knowPheromone == true)) && ((silRep < 1)))) && (!(checkItem(530))))) && (!(checkStash(530))))) && (!(checkItem(532))))) && (!(checkStash(532))))) && ((pheromone < 1)))){
outputMainText("You slip a Lizan Egg into the eggdicator and listen to it whir as it studies the egg. Within moments, you hear a *DING*.\r\r", true);
loseManyItem(219, 1);
outputMainText("Into the reception bin rolls a white-shelled egg with pretty red hearts all over.", false);
itemAdd(530);
doEnd();
} else {
chance = percent();
outputMainText("You slip a Lizan Egg into the eggdicator and listen to it whir as it studies the egg. Within moments, you hear a *DING*.\r\r", true);
loseManyItem(219, 1);
if (chance <= 35){
outputMainText("Into the reception bin rolls a blue-shelled egg.", false);
itemAdd(527);
} else {
if (chance <= 70){
outputMainText("Into the reception bin rolls a red-shelled egg.", false);
itemAdd(528);
} else {
if (chance <= 83){
outputMainText("Into the reception bin rolls a pink-shelled egg with teal polka-dots.", false);
itemAdd(529);
} else {
if (chance <= 96){
outputMainText("Into the reception bin rolls a white-shelled egg with pretty red hearts all over.", false);
itemAdd(530);
} else {
if (chance <= 100){
outputMainText("Into the reception bin rolls a golden-shelled glowing egg.", false);
itemAdd(531);
};
};
};
};
};
doEnd();
};
} else {
outputMainText("The well-educated eggdicator indicates a deficiency in your ovoid protein supply and thus cannot adequately correspond to your commands.\r\rI.e. - You need a Lizan Egg to use this.", true);
doEnd();
};
};
if (ID == 110){
bc();
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0);
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0);
buttonWrite(1, "Penis");
if (cockTotal < 1){
Choice1.visible = false;
};
buttonWrite(2, "Balls");
if (balls < 1){
Choice2.visible = false;
};
buttonWrite(3, "Pussy");
if (vagTotal < 1){
Choice3.visible = false;
};
buttonWrite(4, "Vulva");
if (vagTotal < 1){
Choice4.visible = false;
};
buttonWrite(5, "Clit");
if (vagTotal < 1){
Choice5.visible = false;
};
buttonWrite(6, "Breasts");
buttonWrite(7, "Nipples");
buttonWrite(8, "Udder");
if (udders == false){
Choice8.visible = false;
};
buttonWrite(9, "Teats");
if (udders == false){
Choice9.visible = false;
};
buttonWrite(10, "Butt");
buttonWrite(11, "Hips");
outputMainText("Select which body part you would like to halve in size. If you don't have that part, this elixer will do nothing but will still be consumed.", true);
doListen = function ():void{
outputMainText("You splash the elixir out onto your ", true);
if (buttonChoice == 1){
outputMainText(((cockDesc() + " cock") + plural(1)), false);
outputMainText(" and watch with a shiver as the flesh receeds.", false);
cockChange(-(Math.ceil((cockSize / 2))), 0);
};
if (buttonChoice == 2){
outputMainText((ballDesc() + " balls"), false);
ballSize = (ballSize - Math.floor((ballSize / 2)));
outputMainText(((" and watch with a shiver as the orbs shrink, becoming " + ballDesc()) + "."), false);
};
if (buttonChoice == 3){
outputMainText(("vagina" + plural(2)), false);
outputMainText(" and quiver as the fleshy walls within your body shrink.", false);
vagChange(Math.floor((-(vagSize) / 2)), 0);
};
if (buttonChoice == 4){
outputMainText((vulvaDesc() + " vulva"), false);
vulvaSize = (vulvaSize - Math.floor((vulvaSize / 2)));
outputMainText(((" and watch with a quiver as nether-lips shrink, becoming " + vulvaDesc()) + "."), false);
};
if (buttonChoice == 5){
outputMainText(((clitDesc() + " clit") + plural(2)), false);
clitSize = (clitSize - Math.floor((clitSize / 2)));
outputMainText(((((((" and watch with a quiver as the button" + plural(2)) + " shrink") + plural(4)) + ", becoming ") + clitDesc()) + "."), false);
};
if (buttonChoice == 6){
outputMainText((boobDesc() + " breasts"), false);
breastSize = (breastSize - Math.floor((breastSize / 2)));
outputMainText(" and shudder as they shrink.", false);
};
if (buttonChoice == 7){
outputMainText((nipDesc() + " nipples"), false);
nippleSize = (nippleSize - Math.floor((nippleSize / 2)));
outputMainText(" and shudder as they receed into your breasts.", false);
};
if (buttonChoice == 8){
outputMainText((udderDesc() + " udder"), false);
udderSize = (udderSize - Math.floor((udderSize / 2)));
outputMainText(((" and watch as it shrivels, becoming " + udderDesc()) + "."), false);
};
if (buttonChoice == 9){
outputMainText((teatDesc() + " teats"), false);
teatSize = (teatSize - Math.floor((teatSize / 2)));
outputMainText(((" and watch as they recede, becoming " + teatDesc()) + "."), false);
};
if (buttonChoice == 10){
outputMainText((buttDesc() + " butt"), false);
butt = (butt - Math.floor((butt / 2)));
outputMainText(((" and squirm as it shrinks, becoming " + buttDesc()) + "."), false);
};
if (buttonChoice == 11){
outputMainText((hipDesc() + " hips"), false);
hips = (hips - Math.floor((hips / 2)));
outputMainText(((" and squirm as they narrow, becoming " + hipDesc()) + "."), false);
};
doEnd();
};
};
if (ID == 111){
outputMainText("Smearing the balm around your body, you feel slightly more sensitive and your curiousity is slightly piquied.", true);
stats(0, 1, 0, 1);
aff(1, Math.floor(((percent() / 15) + 2)), -2);
doEnd();
};
if (ID == 112){
outputMainText("Downing the 'juice', you realize it's a lot thicker and stickier than you expected, and quite heady. You heart beats a bit stronger and you shudder a bit.", true);
stats(1, 0, 1, 0);
aff(2, Math.floor(((percent() / 15) + 2)), -2);
doEnd();
};
if (ID == 113){
outputMainText("Biting into the leaf, it feels oddly sour. However, afterward your mind feels a bit clearer and your body more prepared for whatever may come.", true);
stats(1, 1, 0, 0);
aff(3, Math.floor(((percent() / 15) + 2)), -2);
doEnd();
};
if (ID == 114){
outputMainText("Drinking the slick, slimey, slightly sweet sap, you realize it probably isn't sap... The thought makes you tingle with arousal, your whole body slightly more sensitive.", true);
stats(0, 0, 1, 1);
aff(4, Math.floor(((percent() / 15) + 2)), -2);
doEnd();
};
if (ID == 115){
outputMainText("You rub the soothing poultice all over your wounds, quickly making them heal. Rubbing yourself down with the wet rag, you rub a little too much in some areas and become slightly more aroused.", true);
doHP(20);
doLust(5);
doEnd();
};
if (ID == 116){
outputMainText("You have equipped the dagger.", true);
weapon = 116;
doEnd();
};
if (ID == 117){
outputMainText("You have equipped the warhammer.", true);
weapon = 117;
doEnd();
};
if (ID == 118){
outputMainText("You have equipped the saber.", true);
weapon = 118;
doEnd();
};
if (ID == 119){
outputMainText("You have equipped the whip.", true);
weapon = 119;
doEnd();
};
if (ID == 120){
bc();
viewButtonText(0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
viewButtonOutline(0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
buttonWrite(2, "None");
buttonWrite(5, "Cock");
if (cockTotal < 1){
Choice5.visible = false;
Choice10.visible = false;
};
buttonWrite(7, "Cunt");
if (vagTotal < 1){
Choice7.visible = false;
};
buttonWrite(10, "Balls");
if ((((showBalls == true)) && ((balls > 0)))){
Choice10.visible = true;
};
outputMainText("What would you like to remove?\r\rNote that removing balls removes one at a time. If try to remove them when you only have two left, neuterizer simply hides them, as it would severely damage your plumbing without them.", true);
doListen = function ():void{
if (buttonChoice == 2){
outputMainText("You decide you'd rather keep what you got, for the moment, and put the neuterizer back in your bag.", true);
itemAdd(120);
doEnd();
};
if (buttonChoice == 5){
outputMainText((((((("You rub the neuterizer into " + oneYour(1)) + " ") + cockDesc()) + " cock") + plural(1)) + "..."), true);
cockChange(0, -1);
doEnd();
};
if (buttonChoice == 7){
outputMainText((((((("You rub the neuterizer into " + oneYour(2)) + " ") + vulvaDesc()) + " cunt") + plural(1)) + "..."), true);
vagChange(0, -1);
doEnd();
};
if (buttonChoice == 10){
if (balls > 2){
outputMainText("You rub the neuterizer into your scrotum. You squirm a bit as one of your testicles wrenches a bit, shrinking down. Once it disappears into nothing, you feel perfectly fine again.", true);
balls--;
doEnd();
} else {
outputMainText("Unfortunately, the neuterizer cannot simply make your testicles disappear while you still have any cocks. It would be... too dangerous. But, rubbing it onto your scrotum, your balls disappear up into your body, hidden from view.", true);
showBalls = false;
doEnd();
};
};
};
};
if (ID == 121){
outputMainText("You read the scroll and soft, sparkling lights between to shine and fly around you, faster and faster until you can't see beyond them.\r\rWith a whoosh, they quickly disappear and you find yourself back in the human city of Softlik!", true);
currentState = 1;
inBag = false;
regionChange(1);
doEnd();
};
if (ID == 122){
outputMainText("You read the scroll and soft, sparkling lights between to shine and fly around you, faster and faster until you can't see beyond them.\r\rWith a whistle, they quickly disappear and you find yourself back in the equan city of Firmshaft!", true);
currentState = 1;
inBag = false;
regionChange(2);
doEnd();
};
if (ID == 123){
outputMainText("You read the scroll and soft, sparkling lights between to shine and fly around you, faster and faster until you can't see beyond them.\r\rWith a howl, they quickly disappear and you find yourself back in the lupan city of Tieden!", true);
currentState = 1;
inBag = false;
regionChange(3);
doEnd();
};
if (ID == 124){
outputMainText("You read the scroll and soft, sparkling lights between to shine and fly around you, faster and faster until you can't see beyond them.\r\rWith a swish, they quickly disappear and you find yourself back in the felin city of Siz'Calit!", true);
currentState = 1;
inBag = false;
regionChange(4);
doEnd();
};
if (ID == 125){
outputMainText("You read the scroll and soft, sparkling lights between to shine and fly around you, faster and faster until you can't see beyond them.\r\rWith a splash, they quickly disappear and you find yourself back in the lizan city of Oviasis!", true);
currentState = 1;
inBag = false;
regionChange(6);
doEnd();
};
if (ID == 126){
outputMainText("Sipping the refreshing water, you notice a slight aftertaste of something funny, like people have been bathing and doing... things in the water. It's kinda kinky when you think about it, but also feels nice inside of you.", true);
if (percent() <= 50){
stats(1, 0, 1, 0);
} else {
stats(0, 0, 1, 1);
};
aff(6, Math.floor(((percent() / 15) + 2)), -2);
doEnd();
};
if (ID == 127){
if ((((((tail == 4)) || ((tail == 5)))) || ((tail == 6)))){
outputMainText("You strap the tail spike to your tail, equipping it as your weapon.", true);
weapon = 127;
} else {
outputMainText("You do not have an appropriate tail to strap this onto and thus cannot equip it.", true);
};
doEnd();
};
if (ID == 201){
bc();
viewButtonText(0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0);
buttonWrite(5, "Breasts");
if (udders == true){
buttonWrite(7, "Udder");
Choice7.visible = true;
};
outputMainText("What would you like to rub the Milk Creeper Poison into?", true);
doListen = function ():void{
if (buttonChoice == 5){
outputMainText((("You pour out the vial of poison and rub the pearlescant fluid all over your " + boobDesc()) + " breasts. You shiver a little as they tingle warmly, the nipples wobbling as they and the mounds beneath them swell slightly larger."), true);
boobChange(1);
doLust((percent() / 10));
doEnd();
};
if (buttonChoice == 7){
outputMainText((("You pour out the vial of poison and rub the pearlescant fluid all over your " + udderDesc()) + " udder. Your hips twitch a little as the fleshy bag tingles warmly, the teats wobbling as they and the mound beneath them swell slightly larger."), true);
udderChange(1);
doLust((percent() / 10));
doEnd();
};
};
};
if (ID == 202){
if (cockTotal > 0){
outputMainText((((((((("You pull your " + clothesBottom()) + " ") + pullUD(2)) + " and rub the venom into you cock") + plural(1)) + ". Within seconds, you begin to shudder erotically as warmth fills your cock") + plural(1)) + ", becoming erect. Growing and growing, even further than before, gaining 1 full inch in length!"), true);
cockChange(2, 0);
doLust((4 * cockTotal));
doEnd();
} else {
if ((((cockTotal < 1)) && ((vagTotal > 0)))){
outputMainText((((("You pull your " + clothesBottom()) + " ") + pullUD(2)) + " and rub the venom into your groin. Within seconds, you begin to shudder..."), true);
if ((((clitSize > 20)) && ((percent() <= 25)))){
outputMainText(((((((((" You feel " + oneYour(2)) + " ") + clitDesc()) + " clit") + plural(2)) + " swell and shift within your ") + clothesBottom()) + ", your lips starting to grow quite oddly as well..."), false);
vagChange(0, -1);
cockChange(0, 1);
doLust(4);
} else {
outputMainText(((((((" You feel your " + clitDesc()) + " clit") + plural(2)) + " grow warm. Within seconds, you begin to shudder erotically as you clit") + plural(2)) + " grow hot, swelling larger and larger, gaining over half an inch in length!"), false);
clitSize = (clitSize + 3);
doLust((4 * vagTotal));
};
doEnd();
} else {
outputMainText((((("You pull your " + clothesBottom()) + " ") + pullUD(2)) + " and rub the venom into your groin. You wait for several seconds and... nothing seems to happen. What a waste."), true);
doEnd();
};
};
};
if (ID == 203){
outputMainText((("You rub the tuft of coarse wolf fur into your " + skinDesc()) + ". The roughness desensitizes you a bit."), true);
stats(0, 0, 0, -3);
doEnd();
};
if (ID == 204){
chance = percent();
if (chance <= 30){
outputMainText("You find some coins inside!", true);
doCoin(Math.floor((percent() / 5)));
} else {
if ((((chance > 40)) && ((chance <= 55)))){
itemAdd(105);
} else {
if ((((chance > 55)) && ((chance <= 75)))){
itemAdd(103);
} else {
if ((((chance > 75)) && ((chance <= 90)))){
itemAdd(114);
} else {
outputMainText("Daww, turns out the pouch was empty...", true);
};
};
};
};
doEnd();
};
if (ID == 205){
chance = percent();
if (chance <= 50){
outputMainText("You find some coins inside!", true);
doCoin(Math.floor(((percent() / 5) + 5)));
} else {
if ((((chance > 50)) && ((chance <= 65)))){
itemAdd(112);
} else {
if ((((chance > 65)) && ((chance <= 85)))){
itemAdd(115);
} else {
if (chance > 85){
outputMainText("Daww, turns out the pouch was empty...", true);
};
};
};
};
doEnd();
};
if (ID == 207){
chance = percent();
outputMainText("You crack open the wooden cock. ", true);
if (chance <= 15){
outputMainText(((" Sparkling lights erupt from the crack, swirling around in the air until they come together to form the outline of a disembodied glowing cock, looking much like the carving. Before you react, it flips around and dives down, before driving back up between your legs and disappearing into the crotch of your " + clothesBottom()) + "."), false);
vagChange(0, 1);
doLust((percent() / 5));
} else {
if (chance <= 30){
outputMainText(((" Sparkling lights erupt from the crack, swirling around in the air until they come together to form the outline of a disembodied glowing cock, looking much like the carving. Before you react, it flips around and charges at your groin, ramming right above your crotch and disappearing into the front of of your " + clothesBottom()) + "."), false);
cockChange(0, 1);
doLust((percent() / 5));
} else {
outputMainText(" There's nothing inside... Either this thing was just some kinky woman's play-toy, or it was a dud.", false);
};
};
doEnd();
};
if (ID == 208){
outputMainText("You pop the berry into your mouth. As it pops and gushes with juice within your mouth, your face cringes at how un-sweet it is. Tasting more salty with a thick texture, you swallow it as fast as possible.", true);
if ((((((balls > 0)) && ((ballSize > 0)))) && ((showBalls == true)))){
outputMainText(" Moments later, you feel a warmth in your groin. You squirm as you feel your testicles swell within their scrotum, growing hot with seed... Seems as though this berry has increased the size of your balls, somehow.", false);
ballSize = (ballSize + Math.floor((percent() / 33)));
} else {
if ((((((balls > 0)) && ((ballSize > 0)))) && ((showBalls == false)))){
outputMainText(" Moments later, you feel a warmth in your groin. You squirm as you feel your cum churning within your body, something swelling within... Seems as though this berry has increased the size of your non-visible balls, somehow.", false);
ballSize = (ballSize + Math.floor((percent() / 33)));
doLust((percent() / 10));
} else {
outputMainText(" Moments later, you feel a bit of warmth in your groin, but it quickly passes. Now all you're left with is the aftertaste...", false);
};
};
doEnd();
};
if (ID == 209){
outputMainText("You pop the handful into your mouth and munch on them. Doesn't taste too bad. Although, the thought of mixing them in a bowl with some milk for breakfast does cross your mind, but passes shortly as you feel like you can get through the day better anyways.", true);
exhaustion = (exhaustion - 4);
if (percent() <= 25){
outputMainText((((("\r\rUnfortunately, it seems the carbs have gone straight to your " + buttDesc()) + " ass, making your ") + clothesBottom()) + " feel slightly tight around it as it grows larger."), false);
butt = (butt + Math.floor((percent() / 33)));
};
doEnd();
};
if (ID == 210){
chance = percent();
outputMainText("You bite into the fold-like cleft of the pussy fruit, sweet juices spilling out around your face and drooling from your chin in long, slimy strands. You devour it shortly and feel great!", true);
doHP(15);
if ((((chance <= 25)) && ((vagTotal > 0)))){
outputMainText((((((("\r\rHowever, it feels as though the juices have run straight to your crotch as a warmth spreads around your cunt" + plural(2)) + ". You squeeze your ") + vulvaDesc()) + " groin through your ") + clothesBottom()) + ", feeling it swell larger...\r\rYou walk a bit awkwardly afterward, getting used to your now extra-swollen lips..."), false);
vulvaSize = (vulvaSize + Math.floor((percent() / 20)));
doLust((percent() / 10));
} else {
if ((((chance <= 50)) && ((vagTotal > 0)))){
outputMainText((((("\r\rHowever, it feels as though the juices have run straight to your crotch as a warmth spreads around your cunt" + plural(2)) + ". You double over as your stomach cramps a little. It feels like your insides are being compressed, your cunt") + plural(2)) + " feeling larger within...\r\rThe cramping shortly passes, but the increased size is real..."), false);
vagChange(Math.floor((percent() / 20)), 0);
doLust((percent() / 10));
} else {
if ((((chance <= 60)) && ((vagTotal > 0)))){
outputMainText((((((((("\r\rHowever, it feels as though the juices have run straight to your crotch as a warmth spreads around your cunt" + plural(2)) + ". You double over as your stomach cramps a little. It feels like your insides are being compressed, your cunt") + plural(2)) + " feeling larger within. You squeeze your ") + vulvaDesc()) + " groin through your ") + clothesBottom()) + ", feeling it swell larger...\r\rThe cramping shortly passes, but you walk awkwardly afterward, getting used to your now extra-swollen lips..."), false);
vulvaSize = (vulvaSize + Math.floor((percent() / 20)));
vagChange(Math.floor((percent() / 20)), 0);
doLust((percent() / 5));
};
};
};
doEnd();
doLust((percent() / 10));
};
if (ID == 211){
outputMainText((("Considering you don't have any cows to give it to, you pop the pill into your mouth and gulp it down. Within seconds your " + boobDesc()) + " chest begins to feel warm..."), true);
if (udders == true){
outputMainText(" And so does your udder.", false);
lactChange(2, 1);
};
lactChange(1, 1);
doLust((percent() / 10));
aff(5, Math.floor(((percent() / 20) + 2)), -1);
doEnd();
};
if (ID == 212){
outputMainText((((((((("You munch on the red mushroom. It doesn't taste terribly good or bad, but a blush quickly heats up your face as your chest turns intensely warm. Your " + clothesTop()) + " feels unexpectedly tight.\r\rAs you look down, you let out a gasp as your ") + boobDesc()) + " chest swells beneath your ") + clothesTop()) + ", your ") + nipDesc()) + " nipples pushing against the fabric.\r\rThe warmth quickly passes, leaving your chest-bumps a bit more wobbly"), true);
boobChange(Math.floor((percent() / 33)));
doEnd();
};
if (ID == 213){
bc();
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0);
viewButtonOutline(0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
buttonWrite(5, ("Cock" + plural(1)));
buttonWrite(7, ("Cunt" + plural(2)));
buttonWrite(10, "Breasts");
if (cockTotal > 0){
Choice5.visible = true;
};
if (vagTotal > 0){
Choice7.visible = true;
};
outputMainText("What would you like to rub the wet, slimy cloth on?", true);
doListen = function ():void{
if (buttonChoice == 5){
outputMainText((((((((((("You rub the slimy cloth around the head" + plural(1)) + " of your ") + cockDesc()) + " cock") + plural(1)) + ", polishing until there's a nice sheen. You feel a bit aroused from doing so, yet the cloth seems to have finally dried off.\r\rHowever, your cock") + plural(1)) + " begin") + plural(3)) + " dripping with the slime of the cloth instead..."), true);
cockMoist++;
if (cockMoist > 12){
outputMainText("\r\rHowever, that's not really any different than normal, leaving you fairly unaffected.", false);
};
doLust((percent() / 10));
doEnd();
};
if (buttonChoice == 7){
outputMainText((((((((("You rub the slimy cloth through the lips of your " + vulvaDesc()) + " cunt") + plural(2)) + " until your thighs are completely wet. You feel a bit aroused from doing so, yet the cloth seems to have finally dried off.\r\rHowever, your cunt") + plural(2)) + " begin") + plural(4)) + " dripping with the slime of the cloth instead..."), true);
vagMoist++;
if (vagMoist > 12){
outputMainText("\r\rHowever, that's not really any different than normal, leaving you fairly unaffected.", false);
};
doLust((percent() / 10));
doEnd();
};
if (buttonChoice == 10){
outputMainText((((("You rub the slimy cloth over your " + boobDesc()) + " breasts and ") + nipDesc()) + " nipples until they're all completely wet. You feel a bit aroused from doing so, yet the cloth seems to have finally dried off.\r\rHowever, other than make your chest shine erotically, it doesn't really do much."), true);
doLust((percent() / 10));
doEnd();
};
};
};
if (ID == 214){
outputMainText("You down the bottle of milk and feel refreshed!", true);
doHP((15 + milkHPMod));
aff(5, Math.floor((percent() / 10)), 0);
exhaustion = (exhaustion - 3);
doEnd();
};
if (ID == 216){
outputMainText("You smear the ink around in your hair, dying it a bright coral pink color!", true);
hairColor = 5;
doEnd();
};
if (ID == 217){
outputMainText("You smear the jelly around your genitals. It's so slick and hot, you can't help but feel immensely aroused.", true);
if (vagTotal > 0){
outputMainText(((" And as you rub it into your nether-lips, you feel it absorb into the walls of your vagina" + plural(2)) + ". Slipping a finger in, it doesn't feel much different, until you actually prod a wall. It bends much more easily, as though it were more elastic than before. You could probably shove even larger things in there without feeling pain..."), false);
vagElastic = (vagElastic + 0.1);
};
doLust(50);
doEnd();
};
if (ID == 218){
outputMainText("You pop the berry into your mouth. As it pops and gushes with juice within your mouth, your face cringes at how un-sweet it is. Tasting more salty with a thick texture, you swallow it as fast as possible.", true);
if ((((((balls > 0)) && ((ballSize > 0)))) && ((showBalls == true)))){
outputMainText(" Moments later, you feel a warmth in your groin. You squirm as your testicles feel crowded, your scrotum growing tight. You look to see and find an extra testicle in your sack!", false);
balls++;
doLust((percent() / 10));
} else {
if ((((((balls > 0)) && ((ballSize > 0)))) && ((showBalls == false)))){
outputMainText(" Moments later, you feel a warmth in your groin. You squirm as you feel your cum churning within your body, something extra growing within... Seems as though this berry caused you to grow an extra internal testicle, somehow.", false);
balls++;
doLust((percent() / 10));
} else {
outputMainText(" Moments later, you feel a bit of warmth in your groin, but it quickly passes. Now all you're left with is the aftertaste...", false);
};
};
doEnd();
};
if (ID == 219){
outputMainText("You crack the egg open and swallow its contents, your belly thanking you for the food.", true);
doHP(5);
if (percent() <= 25){
outputMainText("\r\rHowever, the fertile nature of the egg (and lots of protein) seem to go straight to your hips, making them grow wider.", false);
hips = (hips + Math.floor((percent() / 50)));
};
doEnd();
};
if (ID == 220){
outputMainText("You smear the dye around in your hair and wash the excess out, making your hair blonde in color!", true);
hairColor = 2;
doEnd();
};
if (ID == 221){
outputMainText("You down the vial. It's so sweet that your face puckers a bit, the concentrated syrup slowly dripping down your throat.", true);
if (vagTotal < 1){
outputMainText("\r\rYour loins feel quite warm for a moment, but the sensation quickly passes. It does nothing for you other than overwhelm your sweet-tooth.", false);
};
if (vagTotal > 0){
outputMainText((((((("\r\rYour loins begin to grow hot. Your hand jerks down to your crotch, rubbing yourself feverishly through your " + clothesBottom()) + ". The garment quickly grows moist, your arousal spreading between your legs. You can feel your labia swell beneath your grip, your lips bulging out of your grasp, while your belly aches slightly with a bloating sensation. Your clit") + plural(2)) + " squeeze") + plural(4)) + " between your fingers.\r\rThe change soon passes, but the changing in the size of your nethers is easily noticeable, making you walk awakwardly at first as you become accustomed."), false);
vagChange((Math.floor((percent() / 20)) + 2), 0);
vulvaSize = (vulvaSize + (Math.floor((percent() / 20)) + 2));
clitSize = (clitSize + (Math.floor((percent() / 20)) + 2));
vagMoist++;
};
doEnd();
};
if (ID == 222){
outputMainText("Happy with how clean you've gotten it, you munch on the tasty vegetable. It makes you feel healthier to the point where you're nearly hopping with energy.", true);
aff(7, Math.floor(((percent() / 15) + 2)), -2);
doHP(4);
doEnd();
};
if (ID == 223){
outputMainText("The tasty morsel crumbles delightfully in your mouth.", true);
doHP(5);
if (vagTotal > 0){
outputMainText(" Though it settles in your stomach rather oddly, as you feel some squirming slightly below that.", false);
vagChange(1, 0);
};
if (percent() <= 25){
outputMainText(" And though you don't feel stronger, you feel as though you could hold up more weight.", false);
carryMod++;
};
doEnd();
};
if (ID == 224){
outputMainText("Lila's breastmilk tastes quite sweet, with a slight aftertaste of her other fluids. It makes you feel a bit... tender, so to speak.", true);
if ((((((percent() <= 25)) && ((vagMoist < 12)))) && ((vagTotal > 0)))){
outputMainText(" You feel some extra moistness in your loins as well, the liquid seeming to imprint some of the girl's wetness upon you.", false);
vagMoist++;
};
if (heat > 0){
if (heatTime > 0){
outputMainText(" There's also a slight sensation of coming closer to your fertile period...", false);
if (heatTime > 5){
heatTime = (heatTime - 5);
};
if (heatTime < 6){
heatTime = 1;
};
};
if (heatTime < 0){
outputMainText(" There's also a slight tinge of heat that flows through your body, strengthening your estrus for a little longer...", false);
heatTime = (heatTime - 5);
};
};
doEnd();
};
if (ID == 225){
outputMainText("You quickly scrub yourself down with the body wash, feeling so fresh and so clean. Which is kinda odd, considering that you're currently playing a porn game.", true);
exhaustion = (exhaustion - 8);
stats(0, 1, 0, 2);
doLust(-10);
doEnd();
};
if (ID == 226){
outputMainText("You mix the tea with a nice cup of hot water, producing a nice calming aroma. You sip it down and quite quickly feel much more relaxed.", true);
exhaustion = (exhaustion - 6);
doLust(-10);
if (heat > 0){
if (heatTime > 0){
heatTime = (heatTime + 3);
};
if (heatTime < 0){
if (heatTime < -3){
heatTime = (heatTime + 3);
};
if (heatTime > -4){
heatTime = -1;
};
};
};
doEnd();
};
if (ID == 227){
outputMainText("Taking a swig of the sweet-smelling stuff, you feel it tingle all the way down your throat and spread throughout your body from the inside.", true);
doLust(10);
stats(0, 0, 1, 0);
if (skinType == 2){
outputMainText(" You then proceed to lick as much of your fur as possible, making it look sleek and shiny", false);
stats(0, 0, 0, 1);
};
doEnd();
};
if (ID == 228){
outputMainText((("You rub the oil all over your " + skinDesc()) + ", making yourself look shiny and attractive, bringing attention to all the contours of your body."), true);
if (bodyOil > 0){
bodyOil = 5;
} else {
enticeMod = (enticeMod + 5);
bodyOil = 5;
};
if ((((skinType == 1)) || ((skinType == 3)))){
outputMainText(((" It also makes your " + skinDesc()) + " feel so good to the touch~"), false);
stats(0, 0, 0, 1);
};
doEnd();
};
if (ID == 230){
if (vagTotal < 1){
outputMainText("You take out the eggcelerator, realize you don't have an appropriate orifice, and put it back away...", true);
itemAdd(230);
doEnd();
} else {
outputMainText((((((((((("You pull " + pullUD(2)) + " your ") + clothesBottom()) + " and squat down to help spread your ") + vulvaDesc()) + " lips. Grabbing the eggcelerator with your fingertips, you slip it into ") + oneYour(2)) + " slit") + plural(2)) + ", pointy end first. It doesn't take much before physics takes over and the suppository slips up into your deeper spaces where you can feel a slight tingle as it dissolves."), true);
if (eggLaying > 0){
if (eggceleratorDose > (6 + Math.ceil((percent() / 20)))){
outputMainText((((((((((("\r\rYou can feel your next egg starting to come along more quickly than before... but it continues to build. Your " + bellyDesc()) + " belly lets out a groan as you feel the fresh egg already press against your lips, demanding its way out. You fall back onto your hands, your knees in the air as you lay it with such expediency that your thighs quiver and your pussy gasps in surprise. Yet, the sensation doesn't end, as more eggs begin to develop almost instantly inside your womb, one by one forcing their way through your passageway. Your ") + hipDesc()) + " hips jerk and your ") + clitDesc()) + " clit") + plural(2)) + " stand") + plural(4)) + " tall with a strange arousal as you thrust into the air again and again to plop out egg after egg. Part of you wants to furiously rub yourself as the eggs nearly launch from your spread cunt, but the rapid pace of the laying makes your body a twitching, seizing mess as you cry out in desparation. So many eggs fly out of you into a pile that you can hardly save them all; quite a few crack and ooze over the others. The round, smooth, slick object having their way with your sensitive flesh eventually makes you quake with an odd orgasm, somewhat powerful but not quite fulfilling, making you collapse back onto the ground as your womb pops out the rest...\r\rOver half an hour passes after your egg-laying extravaganza before you can collect yourself. You sit up to wipe the slime from your pussy, gazing upon the pile of eggs you have laid until you finally go through and pull out the good ones. You also notice that your womb seems to have completely calmed down afterwards, the eggcelerator having been purged from your system. It seems you had taken so many doses that your body could no longer handle it..."), false);
i = 0;
while (i < eggceleratorDose) {
itemAdd(219);
i++;
};
doLust(-(sen));
eggceleratorTime = 0;
eggRate = (eggRate - eggceleratorDose);
eggceleratorDose = 0;
hrs = 1;
} else {
outputMainText("\r\rAlready you can somewhat feel that the next egg will be coming along more quickly than before and hope you'll be prepared for it.", false);
eggRate++;
eggceleratorTime = 30;
eggceleratorDose++;
};
} else {
outputMainText("\r\rOther than the tingling, it doesn't seem to do much... It would probably be more useful if you could actually lay eggs.", false);
};
doEnd();
};
};
if (ID == 231){
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
viewButtonOutline(1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0);
buttonWrite(1, (("Cock" + plural(1)) + ""));
buttonWrite(2, "Balls");
buttonWrite(3, "Butt");
buttonWrite(5, "Vulva");
buttonWrite(6, (("Clit" + plural(1)) + ""));
buttonWrite(7, "Chest");
buttonWrite(9, "Udder");
buttonWrite(10, "Teats");
buttonWrite(11, "Nipples");
if (cockTotal > 0){
Choice1.visible = true;
};
if ((((((balls > 0)) && ((ballSize > 1)))) && ((showBalls == true)))){
Choice2.visible = true;
};
if (butt > 0){
Choice3.visible = true;
};
if ((((vagTotal > 0)) && ((vulvaSize > 1)))){
Choice5.visible = true;
};
if ((((vagTotal > 0)) && ((clitSize > 1)))){
Choice6.visible = true;
};
if (breastSize > 0){
Choice7.visible = true;
};
if ((((udderSize > 1)) && ((udders == true)))){
Choice9.visible = true;
};
if ((((teatSize > 2)) && ((udders == true)))){
Choice10.visible = true;
};
if (nippleSize > 1){
Choice11.visible = true;
};
outputMainText("What part of your body would you like to apply the Dessicating Sand to?\r\rIf an option is blank, either you do not have that anatomy or your current anatomy is already as small as Dessicating Sand can provide.", true);
if ((((((((((((((((((cockTotal < 1)) && ((((((balls < 1)) || ((ballSize < 2)))) || ((showBalls == false)))))) && ((butt < 1)))) && ((((vagTotal < 1)) || ((vulvaSize < 2)))))) && ((((vagTotal < 1)) || ((clitSize < 2)))))) && ((breastSize < 1)))) && ((((udders == false)) || ((udderSize < 2)))))) && ((((udders == false)) || ((teatSize < 3)))))) && ((nippleSize < 2)))){
outputMainText("You do not seem to have any applicable proportions to apply the Dessicating Sand to at the moment, so you put it back in your bag.", true);
itemAdd(231);
doEnd();
} else {
doListen = function ():void{
outputMainText("You rub the Dessicating Sand onto your ", true);
if (buttonChoice == 1){
outputMainText((("cock" + plural(1)) + ""), false);
cockChange(-2, 0);
};
if (buttonChoice == 2){
outputMainText("balls", false);
ballSize = (ballSize - 2);
if (ballSize < 1){
(ballSize == 1);
};
};
if (buttonChoice == 3){
outputMainText("butt", false);
butt = (butt - 2);
if (butt < 0){
(ballSize == 0);
};
};
if (buttonChoice == 5){
outputMainText("vulva", false);
vulvaSize = (vulvaSize - 2);
if (vulvaSize < 1){
(vulvaSize == 1);
};
};
if (buttonChoice == 6){
outputMainText((("clit" + plural(2)) + ""), false);
clitSize = (clitSize - 2);
if (clitSize < 1){
(clitSize == 1);
};
};
if (buttonChoice == 7){
outputMainText("breasts", false);
breastSize = (breastSize - 2);
if (breastSize < 0){
(breastSize == 0);
};
};
if (buttonChoice == 9){
outputMainText("udder", false);
udderSize = (udderSize - 2);
if (udderSize < 1){
(udderSize == 1);
};
};
if (buttonChoice == 10){
outputMainText("teats", false);
teatSize = (teatSize - 2);
if (teatSize < 2){
(ballSize == 2);
};
};
if (buttonChoice == 11){
outputMainText("nipples", false);
nippleSize = (nippleSize - 2);
if (nippleSize < 1){
(nippleSize == 1);
};
};
outputMainText(", feeling the moisture within get sucked out and causing some shrinkage to happen.", false);
doEnd();
};
};
};
if (ID == 232){
if (currentState != 1){
outputMainText("You cannot activate the flying carpet during battle or while attempting to masturbate. It takes too long to set up during battle and it is not the kind of 'carpet-munching' you should be doing while masturbating.", true);
doEnd();
} else {
viewButtonText(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0);
viewButtonOutline(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0);
buttonWrite(6, "Stay Here");
outputMainText("Where would you like to go?", true);
if (currentZone == 1){
if (foundTieden == true){
Choice1.visible = true;
Choice1Outline.visible = true;
buttonWrite(1, "Tieden");
};
if (foundFirmshaft == true){
Choice10.visible = true;
Choice10Outline.visible = true;
buttonWrite(10, "Firmshaft");
};
};
if (currentZone == 2){
if (foundSoftlik == true){
Choice3.visible = true;
Choice3Outline.visible = true;
buttonWrite(3, "Softlik");
};
if (foundSizCalit == true){
Choice5.visible = true;
Choice5Outline.visible = true;
buttonWrite(5, "Siz'Calit");
};
if (foundOviasis == true){
Choice10.visible = true;
Choice10Outline.visible = true;
buttonWrite(10, "Oviasis");
};
};
if (currentZone == 3){
if (foundSoftlik == true){
Choice7.visible = true;
Choice7Outline.visible = true;
buttonWrite(7, "Softlik");
};
if (foundSizCalit == true){
Choice9.visible = true;
Choice9Outline.visible = true;
buttonWrite(9, "Siz'Calit");
};
};
if (currentZone == 4){
if (foundTieden == true){
Choice2.visible = true;
Choice2Outline.visible = true;
buttonWrite(2, "Tieden");
};
if (foundFirmshaft == true){
Choice7.visible = true;
Choice7Outline.visible = true;
buttonWrite(7, "Firmshaft");
};
if (foundOviasis == true){
Choice11.visible = true;
Choice11Outline.visible = true;
buttonWrite(11, "Oviasis");
};
};
if (currentZone == 6){
if (foundSizCalit == true){
Choice1.visible = true;
Choice1Outline.visible = true;
buttonWrite(1, "Siz'Calit");
};
if (foundFirmshaft == true){
Choice2.visible = true;
Choice2Outline.visible = true;
buttonWrite(2, "Firmshaft");
};
};
doListen = function ():void{
if (currentZone == 1){
if (buttonChoice == 1){
regionChange(3);
};
if (buttonChoice == 10){
regionChange(2);
};
} else {
if (currentZone == 2){
if (buttonChoice == 3){
regionChange(1);
};
if (buttonChoice == 5){
regionChange(4);
};
if (buttonChoice == 10){
regionChange(6);
};
} else {
if (currentZone == 3){
if (buttonChoice == 7){
regionChange(1);
};
if (buttonChoice == 9){
regionChange(4);
};
} else {
if (currentZone == 4){
if (buttonChoice == 2){
regionChange(3);
};
if (buttonChoice == 7){
regionChange(2);
};
if (buttonChoice == 11){
regionChange(6);
};
} else {
if (currentZone == 6){
if (buttonChoice == 1){
regionChange(4);
};
if (buttonChoice == 2){
regionChange(2);
};
};
};
};
};
};
outputMainText((("You step onto the carpet and with a gentle woosh, it lifts into the air and darts off in the direction of your desired location. Within just a couple of hours, you land in " + regionName(currentZone)) + ", just like you wanted."), true);
hrs = 2;
doEnd();
};
};
};
if (ID == 235){
outputMainText("You have equipped the fellatio rod.", true);
weapon = 235;
doEnd();
};
if (ID == 500){
outputMainText("You down the bottle of milk and feel refreshed!", true);
doHP((10 + milkHPMod));
exhaustion = (exhaustion - 2);
doEnd();
};
if (ID == 501){
outputMainText("You guzzle down the jug of milk and feel very refreshed! And you feel like you have a rather full bladder...", true);
doHP((40 + milkHPMod));
exhaustion = (exhaustion - 6);
doEnd();
};
if (ID == 502){
outputMainText("You pour the milk out of the barrel into 4 jugs...", true);
itemAdd(501);
itemAdd(501);
itemAdd(501);
itemAdd(501);
doEnd();
};
if (ID == 503){
outputMainText("You take a swig of the draft, you loins warming within seconds.", true);
doLust(20);
doEnd();
};
if (ID == 504){
outputMainText("You down the potion, your body feeling much better than before.", true);
doHP(30);
doLust(-15);
doEnd();
};
if (ID == 505){
if (currentState != 2){
outputMainText("You can only use this explosive potion in battle. You put the bad experiment back into your bag.", true);
itemAdd(505);
doEnd();
} else {
dmg = (Math.floor((Math.random() * ((1 + 20) - 10))) + 10);
outputMainText((((("You pull the bad experiment from your bag and toss it at the " + enemyName()) + ". The crude stuff explodes, far enough away to not harm you, dealing ") + dmg) + " damage!"), true);
doeHP(-(dmg));
doBattle();
};
};
if (ID == 506){
if (pregCheck(0)){
outputMainText((((("Drinking this potion, you can feel your " + bellyDesc()) + " belly quiver, the offspring inside moving about. With a groan, you double over for a moment, your belly stretching beneath your hands. You can almost hear the ") + skinDesc()) + " creak, growing taut!"), true);
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == true){
pregArray[(i + 3)] = (pregArray[(i + 3)] + 50);
};
i = (i + 5);
};
outputMainText((("\r\rA few moments pass before you gather yourself, standing upright once more. You are slightly more swollen now, wielding a " + bellyDesc()) + " gut instead. Fortunately, both you and your offspring are uninjured, though it'll take a bit to get used to the sudden increase in size."), false);
doEnd();
} else {
outputMainText("For some reason, you thought it necessary to drink this potion. It... doesn't seem to have any effect. Though you do strangely feel like you have to go to the bathroom all of a sudden...", true);
doEnd();
};
};
if (ID == 507){
if ((((balls > 0)) && ((showBalls == true)))){
outputMainText((("Downing the potion, you quickly begin to feel a slight ache in your " + ballDesc()) + " testicles, like you haven't had an orgasm in a while..."), true);
blueBalls = (blueBalls + 30);
doEnd();
} else {
if ((((balls > 0)) && ((showBalls == false)))){
outputMainText("Downing the potion, you quickly begin to feel a slight ache in your abdomen, like you haven't had an orgasm in a while...", true);
blueBalls = (blueBalls + 30);
doEnd();
} else {
outputMainText("Despite not having any balls to speak of, you drink this potion anyways. It does nothing. I hope you're happy.", true);
doEnd();
};
};
};
if (ID == 508){
outputMainText("You take a swig of the draft, you loins burning hot within seconds.", true);
doLust(50);
doEnd();
};
if (ID == 509){
outputMainText("You down the potion, your body feeling immensely better than before.", true);
doHP(70);
doLust(-40);
doEnd();
};
if (ID == 510){
if (currentState != 2){
outputMainText("You can only use this explosive potion in battle. You put the bad experiment back into your bag.", true);
itemAdd(510);
doEnd();
} else {
dmg = (Math.floor((Math.random() * ((1 + 40) - 20))) + 20);
outputMainText((((("You pull the super bad experiment from your bag and toss it at the " + enemyName()) + ". The super crude stuff explodes superbly, far enough away to not harm you, dealing a super ") + dmg) + " damage!"), true);
doeHP(-(dmg));
doBattle();
};
};
if (ID == 511){
if (pregCheck(0)){
outputMainText((((("Drinking this potion, you can feel your " + bellyDesc()) + " belly shake, the offspring inside moving about. With a groan, you double over for a moment, your belly stretching beneath your hands. You're pretty sure you can hear the ") + skinDesc()) + " creak, growing taut, to the point where you fear it will tear!"), true);
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == true){
pregArray[(i + 3)] = (pregArray[(i + 3)] + 120);
};
i = (i + 5);
};
outputMainText((("\r\rA few moments pass before you gather yourself, standing upright once more, having a bit of difficulty doing so. You are much more swollen now, wielding a " + bellyDesc()) + " gut instead. Fortunately, both you and your offspring are uninjured, though you're unsure if you'll be able to get used to this sudden increase in size..."), false);
doEnd();
} else {
outputMainText("For some reason, you thought it necessary to drink this potion. It... doesn't seem to have any effect. Though you do strangely wish there was a bathroom here all of a sudden...", true);
doEnd();
};
};
if (ID == 0x0200){
if ((((balls > 0)) && ((showBalls == true)))){
outputMainText((("Downing the potion, you quickly begin to feel a great ache in your " + ballDesc()) + " testicles, like you haven't had an orgasm in sooo long!"), true);
blueBalls = (blueBalls + 70);
doEnd();
} else {
if ((((balls > 0)) && ((showBalls == false)))){
outputMainText("Downing the potion, you quickly begin to feel a great ache in your abdomen, like you haven't had an orgasm in sooo long!", true);
blueBalls = (blueBalls + 70);
doEnd();
} else {
outputMainText("Despite not having any balls to speak of, you drink this potion anyways. It does nothing. I hope you're happy.", true);
doEnd();
};
};
};
if (ID == 513){
if (gender == 1){
outputMainText((((((((("You ingest the potion and quickly begin to feel its effects. You pull " + pullUD(2)) + " your ") + clothesBottom()) + " and watch as your ") + cockDesc()) + " cock") + plural(1)) + " shrink more and more before eventually disappearing into your groin. Then, you hug your belly as you feel your insides wrench, making room for a small amount of vaginal flesh inside."), true);
if (showBalls == true){
outputMainText(((((" Your " + ballDesc()) + " balls squeeze up between your legs before eventually melding into your ") + skinDesc()) + ", leaving behind 1 tiny pair of feminine lips."), false);
};
if (showBalls == false){
outputMainText(" The skin between your legs swells slightly, forming two tiny mounds, 1 pair of new feminine lips.", false);
};
outputMainText(" The lips part, the fresh air making you shiver as it passes across the moist flesh within. Your hand passes over your clitoris, making you shiver slightly, before you dip your finger into your new cunny, amazed at the sensation of being penetrated like that. For all intents and purposes, you are now a girl.", false);
balls = 0;
ballSize = 0;
cockSize = 0;
stats(0, 0, -((2 * (cockTotal - 1))), 0);
cockTotal = 0;
humanCocks = 0;
horseCocks = 0;
wolfCocks = 0;
catCocks = 0;
lizardCocks = 0;
rabbitCocks = 0;
vagBellyChange(1, 1);
vagTotal = 1;
pregArray = [false, 0, 0, 0, 0];
vagSize = 1;
vulvaSize = 1;
clitSize = 1;
gender = 2;
} else {
if (gender == 2){
outputMainText("You ingest the potion and quickly begin to feel its effects. You hug your belly as you feel your insides wrench, your vaginal flesh shrinking within.", true);
cockChange(1, 1);
outputMainText((((((("\r\rHowever, it doesn't last long as the last of your vagina" + plural(2)) + " shrink") + plural(4)) + " to nothing, your ") + vulvaDesc()) + " lips disintegrating back against your groin before finally vanishing, making you a boy for all intents and purposes."), false);
vagBellyChange(-(vagSize), -(vagTotal));
stats(0, 0, -((2 * (vagTotal - 1))), 0);
vagSize = 0;
vagTotal = 0;
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == false){
pregArray.splice(i, 5);
i = -5;
};
i = (i + 5);
};
vulvaSize = 0;
clitSize = 0;
gender = 1;
} else {
if (gender == 3){
outputMainText((((("You ingest the potion and quickly begin to feel its effects. You hug your belly as you feel your insides wrench, your vaginal flesh shrinking within. Your " + clothesBottom()) + " feels loser as your ") + cockDesc()) + " bulges dwindle as well."), true);
if (showBalls == true){
outputMainText(" Even your testicles shrivel up, growing smaller and smaller.", false);
};
outputMainText((((("\r\rBy the time you finally pull " + pullUD(2)) + " your ") + clothesBottom()) + ", all your attributes are like that of a childs..."), false);
vagBellyChange(-((vagSize - 1)), 0);
ballSize = 1;
cockSize = 1;
vagSize = 1;
vulvaSize = 1;
clitSize = 1;
} else {
if (gender == 0){
chance = percent();
outputMainText("You ingest the potion and quickly begin to feel its effects.", true);
if (chance <= 40){
cockChange(1, 1);
};
if ((((chance > 40)) && ((chance <= 80)))){
vagChange(1, 1);
};
if (chance > 80){
cockChange(1, 1);
vagChange(1, 1);
};
};
};
};
};
doEnd();
};
if (ID == 0x0202){
outputMainText("After drinking the potion, your body feels tingly all over. You have the odd feeling like it would be fun to be whipped right about now...", true);
masoPot = (masoPot + 24);
doEnd();
};
if (ID == 515){
outputMainText("You smear the dye around in your hair and wash the excess out, making your hair black in color!", true);
hairColor = 1;
doEnd();
};
if (ID == 516){
outputMainText("Taking the potion, you sudden feel less... fertile than before. You might still be a little fertile, but you suspect you can go out 'clubbing' for the next few days and not have to worry so much about a little extra weight in a few more. If you knew what any of that even meant.", true);
babyFree = (babyFree + 72);
doEnd();
};
if (ID == 517){
if ((((showBalls == true)) && ((balls > 0)))){
outputMainText((("Within seconds of drinking this potion, you can feel your balls grow slightly warmer. You can almost hear them hum as they work harder to produce more fun goop for your cock" + plural(1)) + "."), true);
} else {
if ((((showBalls == true)) && ((balls > 0)))){
outputMainText((("Within seconds of drinking this potion, you can feel your abdomen grow slightly warmer. You can almost hear something inside hum as it works harder to produce more fun goop for your cock" + plural(1)) + "."), true);
} else {
outputMainText("If you had balls to be kicked in, they'd probably be feeling more active right now. Not that you would know, you ball-less freak.", true);
};
};
cumMod = (cumMod + 0.2);
doEnd();
};
if (ID == 518){
if (gender == 1){
outputMainText((((((((("You ingest the potion and quickly begin to feel its effects. You pull " + pullUD(2)) + " your ") + clothesBottom()) + " and watch as your ") + cockDesc()) + " cock") + plural(1)) + " shrink more and more before eventually disappearing into your groin. Then, you hug your belly as you feel your insides wrench, making room for an equal amount of vaginal flesh inside."), true);
if (showBalls == true){
outputMainText(((((((((" Your " + ballDesc()) + " balls squeeze up between your legs before eventually melding into your ") + skinDesc()) + ", forming mounds of equal size until you have ") + cockTotal) + " pair") + plural(1)) + " of feminine lips."), false);
};
if (showBalls == false){
outputMainText(((((" The skin between your legs swells slightly, forming mounds of plush flesh, " + cockTotal) + " pair") + plural(1)) + " of new feminine lips."), false);
};
outputMainText(((((((" The lips part, the fresh air making you shiver as it passes across the moist flesh within. Your hand passes over your new clit" + cockTotal) + ", making you shiver slightly, before you dip your finger into ") + oneYour(1)) + " new cunt") + plural(1)) + ", amazed at the sensation of being penetrated like that. For all intents and purposes, you are now a girl."), false);
vagBellyChange(cockSize, cockTotal);
vagTotal = cockTotal;
i = 1;
while (i <= vagTotal) {
if ((pregArray.length / 5) < 1){
pregArray = [false, 0, 0, 0, 0];
i++;
} else {
if ((pregArray.length / 5) < vagTotal){
pregArray.push(false, 0, 0, 0, 0);
i++;
} else {
i++;
};
};
};
vagSize = cockSize;
vulvaSize = ballSize;
clitSize = ballSize;
balls = 0;
ballSize = 0;
cockSize = 0;
cockTotal = 0;
humanCocks = 0;
horseCocks = 0;
wolfCocks = 0;
catCocks = 0;
lizardCocks = 0;
rabbitCocks = 0;
gender = 2;
} else {
if (gender == 2){
outputMainText("You ingest the potion and quickly begin to feel its effects. You hug your belly as you feel your insides wrench, your vaginal flesh shrinking within.", true);
cockChange(vagSize, vagTotal);
outputMainText((((((("\r\rHowever, it doesn't last long as the last of your vagina" + plural(2)) + " shrink") + plural(4)) + " to nothing, your ") + vulvaDesc()) + " lips disintegrating into your new scrotum, your testicles growing larger and larger before your lips finally vanish, making you a boy for all intents and purposes."), false);
ballSize = vulvaSize;
vagBellyChange(-(vagSize), -(vagTotal));
vagSize = 0;
vagTotal = 0;
i = 0;
while (i < pregArray.length) {
if (pregArray[i] == false){
pregArray.splice(i, 5);
i = -5;
};
i = (i + 5);
};
vulvaSize = 0;
clitSize = 0;
gender = 1;
} else {
if (gender == 3){
outputMainText((((("You ingest the potion and quickly begin to feel its effects. You hug your belly as you feel your insides wrench, your vaginal flesh attempting to match the size of your male anatomy. Your " + clothesBottom()) + " shakes as your ") + cockDesc()) + " bulges try to mimic your female anatomy as well."), true);
if (showBalls == true){
outputMainText(((((" Even your testicles shift, growing to match your pussy lips, while those lips do the same. Your clit" + plural(2)) + " also change") + plural(4)) + " to more closely match the size of your different vulva."), false);
} else {
outputMainText((((("Even your pussy lips shift, trying to match the size of what's in your abdomen. Your clit" + plural(2)) + " also change") + plural(4)) + " to more closely match the size of your different vulva."), false);
};
outputMainText(" In the end, your whole body feels a little off balanced, having to adjust to the backwards genitals...", false);
tempCockSize = cockSize;
tempBallSize = ballSize;
cockSize = vagSize;
ballSize = vulvaSize;
vagBellyChange((tempCockSize - vagSize), 0);
vagSize = tempCockSize;
vulvaSize = tempBallSize;
clitSize = tempBallSize;
} else {
if (gender == 0){
chance = percent();
outputMainText("You ingest the potion and quickly begin to feel its effects.", true);
if (chance <= 40){
cockChange(Math.ceil((percent() / 5)), 1);
ballSize = Math.ceil((percent() / 5));
};
if ((((chance > 40)) && ((chance <= 80)))){
vagChange(Math.ceil((percent() / 5)), 1);
vulvaSize = Math.ceil((percent() / 5));
clitSize = Math.ceil((percent() / 5));
};
if (chance > 80){
cockChange(Math.ceil((percent() / 5)), 1);
vagChange(Math.ceil((percent() / 5)), 1);
ballSize = Math.ceil((percent() / 5));
vulvaSize = Math.ceil((percent() / 5));
clitSize = Math.ceil((percent() / 5));
};
};
};
};
};
doEnd();
};
if (ID == 519){
outputMainText("After drinking the potion, your body feels like electricity is sparking all over. You have the odd feeling like it would be fun to be beaten to a pulp right about now...", true);
sMasoPot = (sMasoPot + 24);
doEnd();
};
if (ID == 520){
outputMainText("You smear the dye around in your hair and wash the excess out, making your hair red in color!", true);
hairColor = 3;
doEnd();
};
if (ID == 521){
outputMainText("Taking the potion, you sudden feel less... fertile than before. You might still be a little fertile, but you suspect you can go out 'clubbing' for the next several days and not have to worry so much about a little extra weight afterwards. If you knew what any of that even meant.", true);
babyFree = (babyFree + 216);
doEnd();
};
if (ID == 522){
if ((((showBalls == true)) && ((balls > 0)))){
outputMainText((("Within seconds of drinking this potion, you can feel your balls grow slightly hotter. You can almost hear them whir as they work harder to produce more fun goop for your cock" + plural(1)) + "."), true);
} else {
if ((((showBalls == true)) && ((balls > 0)))){
outputMainText((("Within seconds of drinking this potion, you can feel your abdomen grow slightly hotter. You can almost hear something inside whir as it works harder to produce more fun goop for your cock" + plural(1)) + "."), true);
} else {
outputMainText("If you had balls to be kicked in, they'd probably be feeling much more active right now. Not that you would know, you ball-less freak.", true);
};
};
cumMod = (cumMod + 0.5);
doEnd();
};
if (ID == 523){
outputMainText("You pop open the vial of cum and let it ooze down your throat, shivering a bit from the heady taste.", true);
doHP(2);
doLust(5);
doEnd();
};
if (ID == 524){
outputMainText("You gulp down the thick, creamy, sticky cum, having difficulty getting down the large amount of hot spunk with it's heady taste.", true);
doHP(5);
doLust(15);
doEnd();
};
if (ID == 525){
outputMainText("You pour the jug of cum out into 3 bottles...", true);
itemAdd(524);
itemAdd(524);
itemAdd(524);
doEnd();
};
if (ID == 526){
if (currentState == 2){
outputMainText("You have no use for a barrel full of cum in the midst of battle, so you... tuck it away somewhere in your bag?", true);
itemAdd(526);
doEnd();
} else {
outputMainText((("Without much of a use for it otherwise, you decide to... strip down naked and jump in!\r\rThe cum is nice and warm and feels so good on your " + skinDesc()) + ". You scrub yourself nice and thoroughly, making sure to get all the nooks and crannies. And with the slimy goop, you really focus on those crannies~\r\rAfter cleaning yourself up a bit, you sit back and relax, pulling out a toy to play with.\r\r\r'Oh rubber ducky, you're the one. You make bath-time lots of fun~'"), true);
stats(0, 0, 1, 1);
hrs++;
doEnd();
};
};
if (ID == 527){
outputMainText("You crack open the good egg and down its contents, feeling healthier and stronger already.", true);
doHP(15);
stats(1, 0, 0, 0);
doEnd();
};
if (ID == 528){
if (currentState != 2){
outputMainText("You can only use this dangerous egg in battle. You put the bad egg back into your bag.", true);
itemAdd(528);
doEnd();
} else {
dmg = (Math.floor((Math.random() * ((1 + 20) - 10))) + 10);
outputMainText((((("You pull the bad egg from your bag and toss it at the " + enemyName()) + ". It explodes in a burst of fire, somehow, dealing ") + dmg) + " damage!"), true);
doeHP(-(dmg));
if (currentState == 2){
doEnd();
};
};
};
if (ID == 529){
outputMainText("You crack open the strange egg and down its contents, feeling odd...", true);
if (percent() <= 10){
outputMainText("\r\rYou grow an inch taller.", false);
tallness++;
};
if (percent() <= 10){
outputMainText("\r\rYou shrink by an inch.", false);
tallness--;
};
if (percent() <= 10){
outputMainText("\r\rYour chest springs out, swelling in size.", false);
breastSize = (breastSize + Math.ceil((percent() / 10)));
};
if ((((percent() <= 10)) && ((breastSize > 1)))){
outputMainText("\r\rYour breasts recoil back, deflating.", false);
breastSize = (breastSize - Math.ceil((percent() / 10)));
};
if (percent() <= 10){
outputMainText("\r\rYour crotch feels strange as some feminine bits begin to appear...", false);
vagChange(Math.ceil((percent() / 10)), Math.ceil((percent() / 20)));
};
if (percent() <= 10){
outputMainText("\r\rYour crotch feels strange as some masculine bits begin to appear...", false);
cockChange(Math.ceil((percent() / 10)), Math.ceil((percent() / 20)));
};
if ((((percent() <= 10)) && ((cockTotal > 0)))){
outputMainText((((("\r\rYour cock" + plural(1)) + " grow") + plural(3)) + " sporadically."), false);
cockChange(Math.ceil((percent() / 10)), 0);
};
if ((((percent() <= 10)) && ((cockTotal > 0)))){
outputMainText((((("\r\rYour cock" + plural(1)) + " shrink") + plural(3)) + " sporadically."), false);
cockChange(-(Math.ceil((percent() / 10))), 0);
};
if ((((percent() <= 10)) && ((vagTotal > 0)))){
outputMainText((((("\r\rYour vulva" + plural(2)) + " grow") + plural(4)) + " sporadically."), false);
vagChange(Math.ceil((percent() / 10)), 0);
vulvaSize = (vulvaSize + Math.ceil((percent() / 10)));
clitSize = (clitSize + Math.ceil((percent() / 10)));
};
if ((((percent() <= 10)) && ((vagTotal > 0)))){
outputMainText((((("\r\rYour vulva" + plural(2)) + " shrink") + plural(4)) + " sporadically."), false);
vagChange(-(Math.ceil((percent() / 10))), 0);
vulvaSize = (vulvaSize - Math.ceil((percent() / 10)));
clitSize = (clitSize - Math.ceil((percent() / 10)));
};
if (percent() <= 10){
outputMainText("\r\rIt feels as though your blood has thinned out a bit.", false);
aff(0, 0, -10);
};
if (percent() <= 10){
outputMainText("\r\rYou suddenly feel very aroused.", false);
doLust(50);
};
if (percent() <= 10){
outputMainText("\r\rYour arousal suddenly dies down.", false);
doLust(-50);
};
if (percent() <= 10){
outputMainText("\r\r10 coins pop out of your ears.", false);
doCoin(10);
};
if ((((percent() <= 10)) && ((vagTotal > 0)))){
outputMainText((((((("\r\rYou grunt and squat, spreading your legs and pulling " + pullUD(2)) + " your ") + clothesBottom()) + " in time for more lizan eggs to come sliding out of your slit") + plural(2)) + " from nowhere!"), false);
itemAdd(219);
itemAdd(219);
itemAdd(219);
};
outputMainText("\r\rQuite strange indeed...", false);
doEnd();
};
if (ID == 530){
outputMainText("You crack the charmed egg open and gulp its contents. You suddenly feel charming, oh so charming, it's alarming how charming you feeeeel~", true);
if (charmTime <= 0){
enticeMod = (enticeMod + 15);
charmTime = 20;
} else {
charmTime = (charmTime + 20);
};
stats(0, 1, 0, 0);
doEnd();
};
if (ID == 531){
outputMainText("You can nearly hear the sounds of an angelic chorus as you crack the divine egg open, its gooey contents slipping down your throat.", true);
if (cockTotal > 0){
outputMainText(((((((((((" Your " + cockDesc()) + " cock") + plural(1)) + " pulse") + plural(3)) + " and bulge") + plural(3)) + " in your ") + clothesBottom()) + ", swelling in size."), false);
if (showBalls == true){
outputMainText(" Your balls groan to match the amount of growth, expanding in their confines.", false);
};
outputMainText(" You can feel the cum churn within your body, trying to make room for more.", false);
cockChange(5, 0);
ballSize = (ballSize + 5);
cumMod = (cumMod + 0.5);
};
if (vagTotal > 0){
outputMainText(((((((" Your loins ache as your nether-lips grow between your thighs, your pelvis literally spreading to make more room as your " + hipDesc()) + " hips press outward. Your ovaries tickle a little as they spill their eggs for easier fertilization. Even your ") + boobDesc()) + " breasts feel heavier, your ") + nipDesc()) + " nipples growing longer for greater mouthfuls."), false);
vagChange(5, 0);
hips = (hips + 5);
vulvaSize = (vulvaSize + 5);
pregChanceMod = (pregChanceMod + 5);
extraPregChance = (extraPregChance + 10);
boobChange(5);
};
doEnd();
};
if (ID == 532){
outputMainText("You rub the strong-scented pheromones all over your body. It's so... powerful that even you feel a little rambunctious just wearing it. Others would probably find it much more enticing as well, strengthening their attraction to you.", true);
if (pheromone <= 0){
pheromone = 30;
enticeMod = (enticeMod + 45);
stats(0, 0, 3, 0);
} else {
pheromone = (pheromone + 30);
};
doEnd();
};
}
public function saveG(e:MouseEvent):void{
saveGo();
}
public function doPassOut():void{
var tempNum:int;
tempNum = Math.floor((((percent() / 10) * level) + ((level * percent()) / 10)));
if ((coin - tempNum) < 0){
tempNum = coin;
};
specialKOLose();
outputMainText((("\r\rYou pass out from all the pain. When you wake back up, you manage to stumble back to town. However, it seems as though your pockets are a bit lighter for some reason or another.\r\rYou have lost " + tempNum) + " coins."), false);
if (currentState == 2){
currentState = 1;
};
doCoin(-(tempNum));
exhaustion = (exhaustion - Math.floor((percent() / 20)));
hrs = (2 + Math.floor((percent() / 20)));
doEnd();
}
public function doShops():void{
viewButtonOutline(0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1);
viewButtonText(0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1);
buttonWrite(2, "General");
buttonWrite(6, "Salon");
buttonWrite(7, "Tailor");
buttonWrite(12, "Return");
outputMainText((((((("General Store - Come here to see what kinds of goods " + regionName(currentZone)) + " has for sale. You can also sell your own goods here as well.\r\rSalon - Want a different haircut? Stop by here to see what styles are popular in ") + regionName(currentZone)) + ".\r\rTailor - If you're looking to get a new outfit, the ") + regionName(currentZone)) + " tailor might be able to custom-fit something for you from their available designs."), true);
doListen = function ():void{
if (buttonChoice == 2){
doShop();
};
if (buttonChoice == 6){
doSalon();
};
if (buttonChoice == 7){
doTailor();
};
if (buttonChoice == 12){
doReturn();
};
};
}
public function cumAmount():int{
var tempNum:int;
tempNum = 0;
if (blueBalls <= 12){
tempNum = ((((ballSize * (ballSize / 2)) * balls) * cumMod) * 0.5);
};
if ((((blueBalls > 12)) && ((blueBalls <= 36)))){
tempNum = ((((ballSize * (ballSize / 2)) * balls) * cumMod) * 1);
};
if ((((blueBalls > 36)) && ((blueBalls <= 84)))){
tempNum = ((((ballSize * (ballSize / 2)) * balls) * cumMod) * 2);
};
if (blueBalls > 84){
tempNum = ((((ballSize * (ballSize / 2)) * balls) * cumMod) * 2.5);
};
blueBalls = 0;
tempNum = Math.floor(tempNum);
return (tempNum);
}
public function newGameGo():void{
appearanceText.visible = false;
appearanceBox.visible = false;
buttonConfirm();
outputMainText("Are you sure you would like to start a new game?", true);
if (currentState == 0){
Choice7.visible = false;
};
doListen = function ():void{
if (buttonChoice == 6){
hideUpDown();
statPane.visible = true;
statValuePane.visible = true;
DayPane.visible = true;
DayValuePane.visible = true;
clockPane.visible = true;
levelPane.visible = true;
levelValuePane.visible = true;
currentState = 0;
currentZone = 0;
inBag = false;
inShop = false;
str = 0;
ment = 0;
lib = 0;
sen = 0;
HP = 0;
lust = 0;
coin = 0;
day = 0;
hour = 8;
SexP = 0;
levelUP = 0;
level = 0;
runMod = 0;
rapeMod = 0;
cumMod = 1;
cockSizeMod = 1;
vagSizeMod = 1;
vagElastic = 1;
milkMod = 0;
carryMod = 0;
vagBellyMod = 0;
pregChanceMod = 0;
extraPregChance = 0;
pregTimeMod = 0;
enticeMod = 0;
milkHPMod = 0;
changeMod = 1;
HPMod = 0;
SexPMod = 1;
minLust = 0;
gender = 0;
race = 0;
body = 0;
dominant = 0;
hips = 0;
butt = 0;
tallness = 0;
skinType = 0;
tail = 0;
ears = 0;
hair = 0;
hairLength = 0;
hairColor = 0;
cockTotal = 0;
humanCocks = 0;
horseCocks = 0;
wolfCocks = 0;
catCocks = 0;
lizardCocks = 0;
rabbitCocks = 0;
cockSize = 0;
cockMoist = 0;
balls = 0;
ballSize = 0;
showBalls = true;
knot = false;
breastSize = 0;
boobTotal = 0;
nippleSize = 1;
udders = false;
udderSize = 0;
teatSize = 0;
clitSize = 0;
vagTotal = 0;
vagSize = 0;
vagMoist = 0;
vulvaSize = 0;
attireTop = 1;
attireBot = 2;
weapon = 10;
pregArray = [];
pregStatus = 0;
pregnancyTime = 0;
pregRate = 1;
eggLaying = 0;
eggMaxTime = 0;
eggTime = 0;
eggRate = 0;
exhaustion = 0;
exhaustionPenalty = 0;
milkEngorgement = 0;
milkEngorgementLevel = 0;
udderEngorgement = 0;
udderEngorgementLevel = 0;
heat = 0;
heatTime = 0;
heatMaxTime = 0;
lactation = 0;
nipplePlay = 0;
udderPlay = 0;
blueBalls = 0;
teatPump = 0;
nipPump = 0;
cockPump = 0;
clitPump = 0;
vulvaPump = 0;
masoPot = 0;
sMasoPot = 0;
babyFree = 0;
charmTime = 0;
pheromone = 0;
eggceleratorTime = 0;
eggceleratorDose = 0;
bodyOil = 0;
humanAffinity = 0;
horseAffinity = 0;
wolfAffinity = 0;
catAffinity = 0;
cowAffinity = 0;
lizardAffinity = 0;
rabbitAffinity = 0;
fourBoobAffinity = 0;
lilaRep = 0;
lilaVulva = 0;
lilaMilk = 0;
lilaPreg = -2;
malonRep = 0;
malonPreg = 0;
malonChildren = 0;
mistressRep = 0;
jamieRep = 0;
jamiePrev = 0;
jamiePreg = 0;
silRep = 0;
silPreg = 0;
silRate = 0;
silLay = 10;
silTied = false;
silGrowthTime = 0;
foundSoftlik = false;
foundFirmshaft = false;
foundTieden = false;
foundSizCalit = false;
foundOviasis = false;
knowPheromone = false;
babyFactLevel = 0;
bodyBuildLevel = 0;
hyperHappyLevel = 0;
alchemistLevel = 0;
currentDayCare = 0;
humanChildren = 0;
equanChildren = 0;
lupanChildren = 0;
felinChildren = 0;
cowChildren = 0;
lizanEggs = 0;
lizanChildren = 0;
bunnionChildren = 0;
wolfPupChildren = 0;
itemArray1 = ["1", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
itemArray2 = ["2", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
itemArray3 = ["3", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
currentItems = 1;
stackArray1 = ["1", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stackArray2 = ["2", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stackArray3 = ["3", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashArray1 = ["1", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashArray2 = ["2", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashArray3 = ["3", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
currentStash = 1;
stashStackArray1 = ["1", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashStackArray2 = ["2", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
stashStackArray3 = ["3", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
trace("end new game");
doRace();
} else {
doReturn();
};
};
}
public function cockDesc():String{
var chance:int;
var tempCock:int;
var tempStr:String;
chance = percent();
tempCock = (cockSize * cockSizeMod);
tempStr = ("COCK ERROR " + tempCock);
if (chance <= 100){
if (tempCock <= 8){
tempStr = "puny";
};
if ((((tempCock > 8)) && ((tempCock <= 12)))){
tempStr = "average-sized";
};
if ((((tempCock > 12)) && ((tempCock <= 24)))){
tempStr = "big";
};
if ((((tempCock > 24)) && ((tempCock <= 32)))){
tempStr = "large";
};
if ((((tempCock > 32)) && ((tempCock <= 56)))){
tempStr = "huge";
};
if ((((tempCock > 56)) && ((tempCock <= 72)))){
tempStr = "enormous";
};
if ((((tempCock > 72)) && ((tempCock <= 100)))){
tempStr = "gigantic";
};
if ((((tempCock > 100)) && ((tempCock <= 152)))){
tempStr = "humongous";
};
if ((((tempCock > 152)) && ((tempCock <= 304)))){
tempStr = "tremendous";
};
if ((((tempCock > 304)) && ((tempCock <= 608)))){
tempStr = "colossal";
};
if ((((tempCock > 608)) && ((tempCock <= 1200)))){
tempStr = "ridiculous";
};
if (tempCock > 1200){
tempStr = "impossibly-ginormous";
};
};
if (chance > 50){
if (tempCock <= 8){
tempStr = "infantile";
};
if ((((tempCock > 8)) && ((tempCock <= 12)))){
tempStr = "hand-length";
};
if ((((tempCock > 12)) && ((tempCock <= 24)))){
tempStr = "larger than normal";
};
if ((((tempCock > 24)) && ((tempCock <= 32)))){
tempStr = "foot-long";
};
if ((((tempCock > 32)) && ((tempCock <= 56)))){
tempStr = "thigh-slapping";
};
if ((((tempCock > 56)) && ((tempCock <= 72)))){
tempStr = "knee-knocking";
};
if ((((tempCock > 72)) && ((tempCock <= 100)))){
tempStr = "leg-sized";
};
if ((((tempCock > 100)) && ((tempCock <= 152)))){
tempStr = "person-sized";
};
if ((((tempCock > 152)) && ((tempCock <= 304)))){
tempStr = "car-sized";
};
if ((((tempCock > 304)) && ((tempCock <= 608)))){
tempStr = "bus-sized";
};
if ((((tempCock > 608)) && ((tempCock <= 1200)))){
tempStr = "building-sized";
};
if (tempCock > 1200){
tempStr = "landscape-filling";
};
};
return (tempStr);
}
public function cockChange(sizeChange:int, totalChange:int):void{
var maxCock:int;
var nonCock:Boolean;
maxCock = Math.max(humanAffinity, horseAffinity, wolfAffinity, catAffinity, lizardAffinity, rabbitAffinity);
nonCock = false;
if (dominant == 5){
nonCock = true;
};
if (((((((((cockSize + sizeChange) <= 0)) || (((cockTotal + totalChange) < 1)))) && ((cockSize > 0)))) && ((cockTotal > 0)))){
outputMainText((("\r\rYou shiver a little as your cock" + plural(1)) + " and balls shrink into your body, disappearing"), false);
if (vagTotal > 0){
outputMainText(((", leaving you with only your vagina" + plural(2)) + " and making you solely female."), false);
gender = 2;
};
if (vagTotal < 1){
outputMainText(", leaving you with no genitals whatsoever. This is going to make things tough...", false);
gender = 0;
};
balls = 0;
stats(0, 0, -((2 * cockTotal)), 0);
ballSize = 0;
cockSize = 0;
cockTotal = 0;
humanCocks = 0;
horseCocks = 0;
wolfCocks = 0;
catCocks = 0;
lizardCocks = 0;
rabbitCocks = 0;
} else {
if (((((cockTotal + totalChange) > 0)) && ((cockTotal < 1)))){
outputMainText((((((("\r\rA strange sensation of arousal engulfs your groin. Your " + clothesBottom()) + " grows tight as you feel something swell within. You don't have much time to pull ") + pullUD(2)) + " your ") + clothesBottom()) + " as flesh bulges over the fitted garment. Throbbing and dripping with pre, a fresh, new "), false);
if ((((dominant == 1)) || ((((nonCock == true)) && ((maxCock == humanAffinity)))))){
outputMainText("human ", false);
humanCocks++;
} else {
if ((((dominant == 2)) || ((((nonCock == true)) && ((maxCock == horseAffinity)))))){
outputMainText("equine ", false);
horseCocks++;
} else {
if ((((dominant == 3)) || ((((nonCock == true)) && ((maxCock == wolfAffinity)))))){
outputMainText("canine ", false);
wolfCocks++;
} else {
if ((((dominant == 4)) || ((((nonCock == true)) && ((maxCock == catAffinity)))))){
outputMainText("feline ", false);
catCocks++;
} else {
if ((((dominant == 6)) || ((((nonCock == true)) && ((maxCock == lizardAffinity)))))){
outputMainText("reptillian ", false);
lizardCocks++;
} else {
if ((((dominant == 7)) || ((((nonCock == true)) && ((maxCock == rabbitAffinity)))))){
outputMainText("lapin ", false);
rabbitCocks++;
};
};
};
};
};
};
outputMainText("penis stands erect and balls to match settle within your crotch beneath", false);
if (vagTotal > 0){
outputMainText(((", slipping into your " + vulvaDesc()) + " lips. You now are considered a cross between genders, a herm."), false);
gender = 3;
} else {
outputMainText(". You have now graduated from androgynous to male, congratulations!", false);
gender = 1;
};
ballSize = 1;
balls = 2;
showBalls = true;
cockSize = 1;
stats(0, 0, 2, 0);
cockTotal = 1;
cockSize = (cockSize + sizeChange);
totalChange--;
cockChange(0, totalChange);
} else {
if ((((totalChange > 0)) && ((cockTotal > 0)))){
outputMainText((((("\r\rA strange sensation of arousal engulfs your groin. Your " + clothesBottom()) + " grows tight as you feel something swell within. You don't have much time to open your ") + clothesBottom()) + " as flesh bulges over the fitted garment. Throbbing and dripping with pre, fresh and new,"), false);
if (totalChange > 1){
outputMainText((" " + totalChange), false);
};
if ((((dominant == 1)) || ((((nonCock == true)) && ((maxCock == humanAffinity)))))){
outputMainText(" human ", false);
humanCocks = (humanCocks + totalChange);
} else {
if ((((dominant == 2)) || ((((nonCock == true)) && ((maxCock == horseAffinity)))))){
outputMainText(" equine ", false);
horseCocks = (horseCocks + totalChange);
} else {
if ((((dominant == 3)) || ((((nonCock == true)) && ((maxCock == wolfAffinity)))))){
outputMainText(" canine ", false);
wolfCocks = (wolfCocks + totalChange);
} else {
if ((((dominant == 4)) || ((((nonCock == true)) && ((maxCock == catAffinity)))))){
outputMainText(" feline ", false);
catCocks = (catCocks + totalChange);
} else {
if ((((dominant == 6)) || ((((nonCock == true)) && ((maxCock == lizardAffinity)))))){
outputMainText(" reptillian ", false);
lizardCocks = (lizardCocks + totalChange);
} else {
if ((((dominant == 7)) || ((((nonCock == true)) && ((maxCock == rabbitAffinity)))))){
outputMainText(" lapin ", false);
rabbitCocks = (rabbitCocks + totalChange);
};
};
};
};
};
};
outputMainText("penis", false);
if (totalChange > 1){
outputMainText("es", false);
};
outputMainText(((" standing erect with the other" + plural(1)) + "."), false);
stats(0, 0, (2 * totalChange), 0);
cockTotal = (cockTotal + totalChange);
cockSize = (cockSize + sizeChange);
} else {
if ((((((totalChange < 0)) && ((cockTotal > 0)))) && ((cockSize > 0)))){
outputMainText((((("\r\rYou notice an odd sensation of numbness within your groin. Your " + clothesBottom()) + " feels looser, something going missing within. By the time you open your ") + clothesBottom()) + " you notice that you have lost something."), false);
cockTotal = (cockTotal + totalChange);
while (totalChange < 0) {
cockLoss();
totalChange++;
};
stats(0, 0, (2 * totalChange), 0);
} else {
if (cockTotal > 0){
cockSize = (cockSize + sizeChange);
};
};
};
};
};
}
public function buttonEvent10(e:MouseEvent):void{
buttonChoice = 10;
hideUpDown();
doListen();
}
public function buttonEvent11(e:MouseEvent):void{
buttonChoice = 11;
hideUpDown();
doListen();
}
public function buttonEvent1(e:MouseEvent):void{
buttonChoice = 1;
hideUpDown();
doListen();
}
public function buttonEvent3(e:MouseEvent):void{
buttonChoice = 3;
hideUpDown();
doListen();
}
public function buttonEvent4(e:MouseEvent):void{
buttonChoice = 4;
hideUpDown();
doListen();
}
public function buttonEvent5(e:MouseEvent):void{
buttonChoice = 5;
hideUpDown();
doListen();
}
public function buttonEvent6(e:MouseEvent):void{
buttonChoice = 6;
hideUpDown();
doListen();
}
public function buttonEvent7(e:MouseEvent):void{
buttonChoice = 7;
hideUpDown();
doListen();
}
public function buttonEvent8(e:MouseEvent):void{
buttonChoice = 8;
hideUpDown();
doListen();
}
public function buttonEvent9(e:MouseEvent):void{
buttonChoice = 9;
hideUpDown();
doListen();
}
public function itemSlotWrite(slotNumber:int, slotItem:int):void{
if ((((slotNumber < 36)) && ((slotNumber > 24)))){
currentItems = 3;
slotNumber = (slotNumber - 24);
};
if ((((slotNumber < 24)) && ((slotNumber > 12)))){
currentItems = 2;
slotNumber = (slotNumber - 12);
};
if (currentItems == 1){
itemArray1[slotNumber] = slotItem;
};
if (currentItems == 2){
itemArray2[slotNumber] = slotItem;
};
if (currentItems == 3){
itemArray3[slotNumber] = slotItem;
};
passiveItem(slotItem);
}
public function outputMainText(texts:String, reset:Boolean):void{
if (reset == false){
currentText = (currentText + texts);
} else {
currentText = texts;
};
outputWindow.htmlText = currentText;
if (bgC.visible == true){
outputWindow.textColor = 0xFFFFFF;
};
scrollBar.update();
}
public function buttonEvent12(e:MouseEvent):void{
buttonChoice = 12;
hideUpDown();
doListen();
}
public function buttonEvent2(e:MouseEvent):void{
buttonChoice = 2;
hideUpDown();
doListen();
}
public function doStash():void{
hideAmount();
viewButtonOutline(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
viewButtonText(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
buttonWrite(4, "Store");
buttonWrite(8, "Remove");
buttonWrite(12, "Return");
outputMainText("Click 'Store' to store an item from your bag in the stash.\r\rClick 'Remove' to remove an item from your stash and put it into your bag.\r\rClick 'Return' to leave your stash.", true);
doListen = function ():void{
if (buttonChoice == 4){
doStoreStash();
};
if (buttonChoice == 8){
doRemoveStash();
};
if (buttonChoice == 12){
doReturn();
};
};
}
public function doFirmshaft():void{
var chance:int;
chance = percent();
if (chance <= 25){
if (jamieRep == 0){
outputMainText("Passing by one of the many tents, you think you hear a grunt from behind one of the large outer folds of the canvas. Curiously, you move closer, peeking around the canvas to check the source. You can't help but giggle a little.\r\rA young equan boy lets out another grunt as he tries to adjust his rather feminine tube-top, his tail swishing up the backside of his skirt. A pair of tight panties hugs his bum, outlining the round forms of his cheeks. You also notice a pair of shorts around his ankles and a shirt tossed onto the ground beside him. And when he turns to face you, you both let out a gasp.\r\rHe blushes tremendously as he spots you looking at him. A large erection pushes out from his skirt and is tucked away within the tube top, reaching past his chest and nearly poking through the other end, obviously bulging the whole way with a good portion of his shaft visible over his belly. Two large testicles squirm as they hold up the front of his skirt, splayed to either side by the crotch of his panties.\r\r'Eh?! Th-This isn't what you think!!' He blushes heavily and attempts to cover himself. 'I-I have trouble hiding my, umm...' he glances down at his endowment, 'and I th-thought these clothes would help hide it better! P-Please don't tell anybody you caught me wearing girls' clothes!'", true);
viewButtonOutline(1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0);
viewButtonText(1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0);
buttonWrite(1, "Handjob");
buttonWrite(3, "Blowjob");
buttonWrite(9, "Leave");
doListen = function ():void{
if (buttonChoice == 1){
outputMainText("With a smile, you step towards him. Confused, the poor boy steps backwards as well, only to crash into the tent and land on his rump, his own cock-head punching him in the chin. In the moment he's stunned, you swoop in and kneel down beside him. He blinks at you in fear, but then gasps as you rub your hand over his tube top, stroking his length against his chest.\r\rHardly resisting, the boy merely snorts in surprise as you pull his tube top up and pull out the naughty monster. It takes both of your hands to give his length even the slightest amount of coverage, but as a gob of pre oozes from the tip and dribbles down his horse-like shaft, it doesn't take much effort. Slick sounds echo against the tent canvas, the lubrication helping you polish his arousal. You occasionally slip your hand beneath his skirt, squeezing his sheath around his erection before sliding into the panties and kneading his large orbs. He stares at you intently, wondering why you're doing this, though his expression is rather pleasant. Then, his eyes clench shut as his muzzle yawns wide with a whinny.\r\rThick gouts of long pearly ribbons leap from his cock. His hips jerk within the skirt, his butt drumming against the canvas behind him. You aim the cannon away, but fail to avoid being decorated a bit yourself, and even he gets iced with his own spunk as the stuff just keeps coming and coming. Your hands are soon coated with hot goo, his girl clothing being completely soiled. Though it takes a while, the erupion eventually comes to a halt...", true);
doNext();
doListen = function ():void{
outputMainText("'Th-Thank you?...' He heaves for air.\r\rAs he comes to his senses, he notices the puddles and blotches of spunk that adorn the grass and canvas around him. Frightened at being caught with the mess, he jumps to his feet, his cock sliding back into his sheath.\r\r'U-Umm, I really gotta go!' He pulls his shorts up round his skirt, squirming to latch it while his balls press at the crotch ot the fabric, trying their best to fit down the legs with his thighs. 'I'm sorry to run out like this, but here, take this for helping me! ...Oh, and my name is Jamie, by the way!'\r\rHe tosses you a small pouch before pulling his shirt down over the tank top, wincing as he notices the gobs of cum soaking through. Then he runs off, eager to clean up and avoid any further embarrassment.", true);
itemAdd(205);
hrs = 2;
doSexP(5);
jamieRep++;
doEnd();
};
};
if (buttonChoice == 3){
outputMainText("With a grin, you step towards him. Confused the poor boy steps backwards as well, only to crash into the tent and land on his rump, his own cock-head punching him in the chin. In the moment he's stunned, your swoop in and kneel down beside him. He blinks out you in fear, but then gasps as you lick over the bulge on his tube top, pushing his length against his chest.\r\rHardly resisting, the boy merely snorts in surprise as you pull his tube top up and pull out the naughty monster. You hold it in both of your hands, looking at it briefly while you consider how you're going to manage it. With a shrug, you open wide and dive down, ramming as much of his head into your mouth as you can. Which isn't that much...\r\rWith your cheeks bulging, you manage to devour maybe an inch past his flaring head. Your tongue dances around his urethra and strokes under the glans, already elliciting a rather large gob of pre. You quickly swallow it to avoid losing your grip on his large anatomy, the warm stuff coating your throat as it goes down. While your hands pump his shaft, you bob your head slightly, your lips pulling back and forth in a meager attempt to suck him. It seems to work fine, however, as his eyes soon clench and his muzzle opens wide with a whinny.\r\rHis hips jerk within the skirt, his butt drumming against the canvas behind him. Gouts of hot spunk spray into your mouth, forcing its way down your throat. You choke at first with the surprising amount of cum, some spurting past your lips and across your hands and his shaft, but you manage to collect yourself, gulping again and again to keep up with the flow. It takes some time, but his eruption eventually comes to a halt...", true);
doNext();
doListen = function ():void{
outputMainText("'Th-Thank you?...' He heaves for air.\r\rAs he comes to his senses, he notices the puddles and blotches of spunk that adorn the grass and canvas around him, your face and hands smattered with it and more drooling from your mouth. Frightened at being caught with the mess, he jumps to his feet, his cock sliding back into his sheath.\r\r'U-Umm, I really gotta go!' He pulls his shorts up round his skirt, squirming to latch it while his balls press at the crotch ot the fabric, trying their best to fit down the legs with his thighs. 'I'm sorry to run out like this, but here, take this for helping me! ...Oh, and my name is Jamie, by the way!'\r\rHe tosses you a small pouch before pulling his shirt down over the tank top, wincing as he notices the gobs of cum soaking through. Then he runs off, eager to clean up and avoid any further embarrassment.", true);
itemAdd(205);
hrs = 2;
doSexP(5);
jamieRep++;
doEnd();
};
};
if (buttonChoice == 9){
outputMainText("A bit aghast, you simply turn and walk the other way, leaving the boy to himself while he stands there stunned. You aren't sure what he was up to, but some privacy would probably be helpful.", true);
hrs = 1;
doEnd();
};
};
} else {
if (jamieRep < 0){
jamieEvent(-1);
};
if (jamieRep > 0){
jamieEvent(1);
};
};
};
if ((((chance > 25)) && ((chance <= 60)))){
outputMainText("Exploring some of the many tents, you find it's very difficult to tell what's what without any kind of signs. Especially as you stumble upon one stallion's harem...\r\rSeveral equan women in rather skimpy, often see-through, attire lounge around soft pillows and cushions, munching on grapes and apples and seeming to be rather relaxed, until you come stumbling through.", true);
if (cockTotal > 0){
outputMainText(((((((((((" They turn to face you and their eyes light up. You suddenly begin to feel as though your " + clothesBottom()) + " is going to light afire from the stares of dozens of eyes, all pointed at your ") + cockDesc()) + " bulge.\r\rOne pipes up 'Hey girls, our man hasn't been around enough for the past couple days, are you thinking what I'm thinking?,' to which receives a resounding reply of 'Yes!'\r\rBefore you know it, you're surrounding by plenty of gorgeous ladies, all seeming to be rubbing their thighs together with their hands playing with their slim outfits. Your ") + clothesBottom()) + " is yanked ") + pullUD(2)) + " off your body within seconds, your meaty wang") + plural(1)) + " bobbing out with a squeal around you. Pushed back into another pile of pillows, the equan women swarm around you."), false);
if (cockTotal < 3){
outputMainText((((((("\r\rHowever, there are far too many for you. Their hands flash in and out of sight, groping and fondling your cock" + plural(1)) + " until ") + plural(7)) + " awake and stiff. The smell of sex fills the air as so many wet, hungry pussies are set free, gliding and grinding about your body. You come to orgasm oh so quickly, your spunk spraying off into the mob with a cheerful trill from the audience. And they don't stop. They never stop...\r\rThe heat and stress and constant pleasure against your meager number of fleshy rod") + plural(1)) + " is just too much for you and you quickly pass out."), false);
doNext();
doListen = function ():void{
cumAmount();
outputMainText("By the time you wake up, you find yourself sitting on the ground against a tent. The tent doesn't even seem like the one you entered and your clothes seem to have lazily been put back on, your body feeling quite wet and sticky.\r\rIn your lap you find a pouch and a note that reads 'Sorry we overwhelmed you. We were a bit... pent up. Please, take this as our appreciation and accept our sincerest apologies for using you so roughly...'\r\rAs you stand you also realize your loins ache quite a bit...", true);
stats(0, 0, -1, -1);
doHP(-5);
itemAdd(205);
hrs = 4;
doEnd();
};
} else {
if (humanCocks > 0){
if ((cockSize * cockSizeMod) > eVagLimit(60)){
outputMainText("\r\rOne of the girls, with a rather ample set jiggly chest-meat, takes an interest in one of your rather mushroom-like cocks. So large, her nipples grow stiff just looking at it, perking through her satin top. Her hands slip up to play with them, lifting the fabric to let her breasts bounce freely. She shuffles up to her target and pushes your girth into her cleavage. Her hands still on her nipples, she tuges them up and down with the rest of her tits, giggling as your round head pops in and out of her cleavage, kissing her in the face with each pass.", false);
} else {
outputMainText("\r\rOne of the girls roves her hand over one of your mushroom-like cocks, wringing the shaft and giggling a little as the wide-rimmed head pops in and out of her hand with each stroke, the tip reminding her a little of a fish.", false);
};
if (humanCocks > 1){
outputMainText(" More giggles can be heard as others do the same, popping the glans of your human cocks through their grasps, making lewd sounds as your pre begins to make them slurp about.", false);
};
};
if (horseCocks > 0){
if ((cockSize * cockSizeMod) > eVagLimit(96)){
outputMainText("\r\rA particularly horny equan woman steps foward, gazing upon your massive equine endowment. Her hand roams over a rather noticeable belly and as she pushes against it you can see a long strand of feminine lubrication drip through her silken panties, shimmering her swollen pussy, and drooling down between her legs. She lifts your giant member up to her legs, pressing it against her moist undergarment. She doesn't even bother to remove it, instead allowing your flat head to plow and tear through it in her fervor, stretching her huge lips wide to take in your girth. As she steps towards you, taking it in deeper and deeper, her hands press against the form of your appendage as it pushes out against her belly, making her huff with pleasure as it stretches her taut. She hardly moves, rolling her hips along the length she could manage, slowly enjoying the extreme effort.", false);
} else {
outputMainText("\r\rA particularly horny equan woman gazes upon your equine endowment. Her silken loincloth and panties visibly grow moist, especially as a hand digs them in deep into her slit, priming her fluids further. She lifts the cock straight up and, without even bother to strip, she squats down upon it. Her hand pushes aside her undergarment, letting your flat head disappear beneath the loincloth and squish into thick hungry folds. Not satisfied until it's as deep as can go, she takes in your entire length and begins to grind her hips around your sheath.", false);
};
if (horseCocks > 1){
outputMainText(" Her actions make others grow lustful as well, fighting over and attempting to take on your other horsecocks until you can feel nothing but slick pussy lips and vaginal flesh around them all.", false);
};
};
if (wolfCocks > 0){
if ((cockSize * cockSizeMod) > eVagLimit(24)){
outputMainText("\r\rHearing all of the commotion, another woman pokes her head through the crowd. Amazed by what she sees, she stumbles forward, weilding a massive belly. Obscenely pregnant, with difficulty moving, her gravid state has hardly made her less cock-hungry than the others. Quite the opposite in fact, as her eyes focus on your massive monument of meat, one of your red and veiny wolf cocks. With both hormones and hunger swaying her decisions, she leans forward into it, her belly pressing against your sheath. She hugs the fleshy member tight, her mouth nibbling gently about its length. Far too large to fully take it, your size doesn't prevent her from shoving as much of the tip into her mouth as possible, her neck bulging wide as she gulps it down. Her esophagus rumbles around your cock as she swallows again and again, hungrily downing all that you can give, her tongue swirling around to savor your taste.", false);
} else {
outputMainText("\r\rHearing all of the commotion, another woman pokes her head through the crowd. Amazed by what she sees, she stumbles forward, balancing a growing belly. Obviously pregnant, her hormones and hunger make her focus on one of your meatier wolf cocks. Her maw comes down upon it, her throat bulging as she takes it in, hungrily sucking and licking around it, guzzling down all you have to offer.", false);
};
if (wolfCocks > 1){
outputMainText(" You soon find the tips of all of your doggy dicks being ingested, the feeling of tongues lapping around all over and sucking from your narrow spears, also finding your meat to be delicious.", false);
};
};
if (catCocks > 0){
if ((cockSize * cockSizeMod) > eVagLimit(72)){
outputMainText("\r\rCurious, a couple of girls gaze upon you grand stiffening feline appendage. The barbs that stick out so noticeable attract their attention and they quickly give each other a grin. Stripping down to nothing, exposing their moistening cunts and stiffening clits, their breasts bobbing about with hard nipples, they flank either side of your cat-like thing. They reach out and grab each other, hugging your cock between them, and grind up and down in rhythm. The barbs prickle about their clits and tits, pushing into each other and making them go wild until the thing is covered in slime.", false);
} else {
outputMainText("\r\rCurious, a girl runs her finger up along your stiffening feline appendage. Her eyes go wide as the barbs tug and pull at her skin, giving her a fantastic idea. She strips down her lower garments, exposing her moistening cunt and stiffening clit. Straddling your waist the best she can amongst all the others, she pushes your cat-like thing against your body and wedges it into her lips. She grinds back and forth, letting your barbs prickle along her clit, humping along until there's hardly any friction from all her fluids.", false);
};
if (catCocks > 1){
outputMainText(" Others catch on and do the same, until you can feel all your kitty cocks being poked and prodded by erect clits, being ground and humped into juicy messes.", false);
};
};
if (lizardCocks > 0){
if ((cockSize * cockSizeMod) > eVagLimit(90)){
outputMainText("\r\rEnthralled by the ribbing of your great reptillian thing, a girl can't help but straddle the top of the shaft. Her hands wrap around the bulbous head, holding the erection high and still, as she begins to grind her fat clit up and down the damp ridges. Like some sort of pole dancer, her legs occasionally lift high or bend down as she grinds more intently, loving the feel of it, squeezing it tightly between her thighs and humping it fervently.", false);
} else {
outputMainText("\r\rEnthralled by the ribbing of your reptillian thing, a girl can't help but squat down upon it, stuffing the bulbous head into her pussy with a pop and shivering as the ribs rumble across the entrance of her supple hole. She does her best to angle her fat clit against the damp ridges as well, making her gasps stutter as she bounces from one rib to the next, taking her sweet time enjoying the sensation.", false);
};
if (lizardCocks > 1){
outputMainText(" Happy to see others available, more girls flock to the free ones as well, taking great pleasure in the alien texture.", false);
};
};
if (rabbitCocks > 0){
if ((cockSize * cockSizeMod) > eVagLimit(84)){
outputMainText("\r\rEyes looking from side to side, one harem girl seems to be quite shy about a certain lewd thought that goes through her mind as she stares at your large lapine erection. But, seeing as though all the other girls are having fun, she jumps right in and hopes nobody says anything. She twists her round rump round, pulling the light fabric down from the plump cheeks, until her hole puckers freely beneath her tail. The tail swishes out of the way as she sits down, shivering as the tip of your rabbit-cock pokes into her ass and shudders as the conical shape stretches her wider and wider. A bit of a size-queen, she recklessly attempts to drive in more and more of your length, her asshole stretching to gross proportions. That is... until she comes to a stop. Her legs quake as she tries to shove in more and more, but they're too weak to function. You can see the tip poking against her belly on the other side, deep inside, and her tail twitches sporadically. Stuck in this raunchy situation, she blushes heavily. Though she cannot ignore her arousal over the situation as both hands roam about and fondle and fuck herself rughly.", false);
} else {
outputMainText("\r\rEyes looking from side to side, one harem girl seems to be a bit shy about a certain lewd thought that goes through her mind as she stares at your lapine erection. But, seeing as though all the other girls are having fun, she jumps right in and hopes nobody says anything. She twists her round rump round, pulling the light fabric down from the plump cheeks, until her hole puckers freely beneath her tail. The tail swishes out of the way as she sits down, shivering as the tip of your rabbit-cock pokes into her ass and shudders as the conical shape stretches her wider and wider. Once inside, she gasps at the naughty sensation and begins to bounce her bum up and down against you.", false);
};
if (rabbitCocks > 1){
outputMainText(" Yet, it seems as though she's not alone in her deviant behavior as more butts come down around you, using your rabbit cocks as fantastic plugs while they furiously masturbate in the other direction.", false);
};
};
outputMainText("\r\rCompletely assaulted by lust-driven women, your collection of penises seems to do their job and satisfy quite a few of them. You gush with cum as you climax again and again, sometimes in unison and sometimes one at a time. The equan girls are so drenched in your spooge that their hands grope about each other for more.\r\rThe smell of sex permeates the tent and the heat of all the moving orgasming bodies quickly takes its toll on the harem, as girls soon begin to drop in masturbatory fits and eventually pass out on the pillows. Rather exhausted by the affair yourself, you cuddle up amongst the sweaty bodies and take a nap of your own.", false);
doNext();
doListen = function ():void{
cumAmount();
outputMainText("After a few hours, you find yourself being awaken to the feeling of warm wet sponges. The girls that have recovered smile and gently clean you with a nice sponge-bath. They seemed to have already cleaned and clothed themselves, though a couple still have hands lingering in their loins.\r\rOnce most of the mess has been cleaned up, you get a round of thanks, with some voices a bit warbly from the experience. You're also presented with a fair sum for your efforts, as well as a couple parting gifts to help clean you up in case another mess occurs.", true);
doSexP((2 * cockTotal));
doCoin((5 * cockTotal));
doLust(-100);
itemAdd(225);
itemAdd(225);
hrs = 5;
exhaustion = (exhaustion - 3);
doEnd();
};
};
} else {
outputMainText(" As they turn to you, you notice some slight disappointment in their faces. However, if quickly fades as they clamor about to welcome their new visitor. Eager to hear of your stories, they crowd around you and chat your ears off (if you have them), asking you many questions while at the same time divulging their whole life stories. You rapidly begin to deduce that these girls probably don't see much time outside the harem with all their needs met here...\r\rYou're surprised to find how fast a few hours can pass. They groan as they hear you have to leave, but the building headache is growing to be too much to handle. In hopes of bringing you back, they do give a nice parting gift of snacks, however.", false);
doHP(-1);
hrs = 3;
itemAdd(223);
doEnd();
};
};
if ((((chance > 60)) && ((chance <= 100)))){
outputMainText("Taking the time to more vividly roam about the many tents and social spots of Firmshaft, you enjoy its active atmosphere.\r\rWith such long, strong legs, the equan people enjoy running tremendously. It gets their blood pumping and the air across the plains feels so fresh and invigorating as it blows over your body. There's many foot-races all over the city, some official with various rewards and many simple small contests between friends. And when they're not running about, they tend to be quite social with various gatherings around bon-fires and tents grouped together for their own little 'neighborhoods'.\r\rOne of the things you especially notice is the ratio of males to females. The latter seem exceptionally abundant, with many of them pregnant. Due to their long gestation rates, it takes a while for their numbers to become stable, let alone increase, and thus has resulted in a greater rate of females being born. Though the males and females generally see each other as equals, it's not uncommon for several females to crowd around a single male for their... needs. Which has thus resulted in a fair amount of harems. And the males definitely don't complain, except when they're ridden a little too hard...\r\rAlso of note, there seem to be a rather high number of clinics that specialize in exhaustion and minor friction burns.", true);
hrs = 1;
doEnd();
};
}
public function hipDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("HIP ERROR " + hips);
if (chance <= 100){
if (hips <= 3){
tempStr = "narrow";
};
if ((((hips > 3)) && ((hips <= 8)))){
tempStr = "unnoticeable";
};
if ((((hips > 8)) && ((hips <= 16)))){
tempStr = "wide";
};
if ((((hips > 16)) && ((hips <= 28)))){
tempStr = "endowed";
};
if ((((hips > 28)) && ((hips <= 40)))){
tempStr = "protruding";
};
if ((((hips > 40)) && ((hips <= 55)))){
tempStr = "cow-like";
};
if ((((hips > 55)) && ((hips <= 75)))){
tempStr = "shelf-like";
};
if ((((hips > 75)) && ((hips <= 100)))){
tempStr = "doorway-jamming";
};
if (hips > 100){
tempStr = "perpetually-swaying";
};
};
if (chance > 50){
if (hips <= 3){
tempStr = "prepubescent";
};
if ((((hips > 3)) && ((hips <= 8)))){
tempStr = "average";
};
if ((((hips > 8)) && ((hips <= 16)))){
tempStr = "child-bearing";
};
if ((((hips > 16)) && ((hips <= 28)))){
tempStr = "especially fertile";
};
if ((((hips > 28)) && ((hips <= 40)))){
tempStr = "hypnotizing";
};
if ((((hips > 40)) && ((hips <= 55)))){
tempStr = "blatantly obvious";
};
if ((((hips > 55)) && ((hips <= 75)))){
tempStr = "excessively wide";
};
if ((((hips > 75)) && ((hips <= 100)))){
tempStr = "greatly protruding";
};
if (hips > 100){
tempStr = "gigantic";
};
};
return (tempStr);
}
public function doHP(changes:int):void{
if ((((((masoPot > 0)) && ((sMasoPot <= 0)))) && ((changes < 0)))){
doLust(Math.floor((-(changes) / 2)));
changes = (changes - Math.ceil((changes / 2)));
};
if ((((((sMasoPot > 0)) && ((lust < 100)))) && ((changes < 0)))){
doLust(-(changes));
changes = 0;
};
if ((((((sMasoPot > 0)) && ((lust >= 100)))) && ((changes < 0)))){
outputMainText("\r\rIt seems that no matter how much fun you had getting beaten like that, there's just some things your body wasn't meant to withstand.", false);
};
if (changes < 0){
hpDown.visible = true;
};
if (changes > 0){
hpUp.visible = true;
};
if ((HP + changes) <= 0){
HP = 1;
changes = 0;
doPassOut();
};
if ((HP + changes) > ((30 + (15 * level)) + HPMod)){
HP = ((30 + (15 * level)) + HPMod);
} else {
HP = (HP + changes);
};
statDisplay();
}
public function doWeight():Boolean{
var tempBool:Boolean;
tempBool = false;
if ((cockSize * cockSizeMod) > ((((body * 2) + str) + carryMod) * (tallness / 60))){
outputMainText((((((("\r\rThe weight of your " + cockDesc()) + " cock") + plural(1)) + " is too much to carry, making it impossible to walk. You're stuck in this town until either you get stronger or the bulge in your ") + clothesBottom()) + " gets smaller..."), false);
tempBool = true;
} else {
if ((cockSize * cockSizeMod) > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 5) / 6)){
outputMainText((((("\r\rThe weight of your " + cockDesc()) + " cock") + plural(1)) + " is almost constantly on your mind... Your walk has a noticeable sway in its step just trying to hold it off the ground while you move. You're cautious when moving, or else you will lose control and slam it into something or someone."), false);
} else {
if ((cockSize * cockSizeMod) > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 2) / 3)){
outputMainText((((("\r\rThe weight of your " + cockDesc()) + " cock") + plural(1)) + " is becoming a bit of a nuisance. Whenever you move around, you're subconsciously afraid your bulge will accidentally gain more momentum than intended and potentially hurt someone or break something."), false);
} else {
if ((cockSize * cockSizeMod) > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 1) / 2)){
outputMainText((((((("\r\rYou are rather aware of the weight of your " + cockDesc()) + " cock") + plural(1)) + ". You often find yourself slipping a hand into your ") + clothesBottom()) + " to readjust your bulge in an attempt to be a little less mindful about it."), false);
};
};
};
};
if ((((((breastSize > ((((body * 2) + str) + carryMod) * (tallness / 60)))) || ((((boobTotal == 4)) && ((breastSize > ((0.5 * (((body * 2) + str) + carryMod)) * (tallness / 60)))))))) || ((((boobTotal == 6)) && ((breastSize > ((0.66 * (((body * 2) + str) + carryMod)) * (tallness / 60)))))))){
outputMainText((("\r\rThe weight of your " + boobDesc()) + " tits is too much to really carry, making even standing a chore. You're stuck in this town until either you get stronger or they get smaller..."), false);
tempBool = true;
} else {
if ((((((breastSize > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 5) / 6))) || ((((boobTotal == 4)) && ((breastSize > ((((0.5 * (((body * 2) + str) + carryMod)) * (tallness / 60)) * 5) / 6))))))) || ((((boobTotal == 6)) && ((breastSize > ((((0.66 * (((body * 2) + str) + carryMod)) * (tallness / 60)) * 5) / 6))))))){
outputMainText((("\r\rThe weight of your " + boobDesc()) + " tits is rather troubling. Not only does your back ache from trying to keep them aloft, but you're also afraid you won't be able to get back up when you lay down."), false);
} else {
if ((((((breastSize > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 2) / 3))) || ((((boobTotal == 4)) && ((breastSize > ((((0.5 * (((body * 2) + str) + carryMod)) * (tallness / 60)) * 2) / 3))))))) || ((((boobTotal == 6)) && ((breastSize > ((((0.66 * (((body * 2) + str) + carryMod)) * (tallness / 60)) * 2) / 3))))))){
outputMainText((("\r\rThe weight of your " + boobDesc()) + " tits is becoming worrisome. Your back aches a little from holding them up and you often find yourself resting them on tables whenever you sit down, to keep the load off yourself."), false);
} else {
if ((((((breastSize > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 1) / 2))) || ((((boobTotal == 4)) && ((breastSize > ((((0.5 * (((body * 2) + str) + carryMod)) * (tallness / 60)) * 1) / 2))))))) || ((((boobTotal == 6)) && ((breastSize > ((((0.66 * (((body * 2) + str) + carryMod)) * (tallness / 60)) * 1) / 2))))))){
outputMainText((((("\r\rYou are rather aware of the weight of your " + boobDesc()) + " tits. Your hands are frequently beneath your ") + clothesTop()) + ", trying to readjust the things. They're so heavy, you're subconsciouly drawing more attention to them with the way you keep swinging them around and absent-mindedly hand them."), false);
};
};
};
};
if ((((((ballSize * balls) / 2) > ((((body * 2) + str) + carryMod) * (tallness / 60)))) && ((showBalls == true)))){
outputMainText((("\r\rThe weight of your " + ballDesc()) + " nuts is too much to carry, anchoring you to the ground. You're stuck here until you get strong or your balls get smaller..."), false);
tempBool = true;
} else {
if ((((((ballSize * balls) / 2) > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 5) / 6))) && ((showBalls == true)))){
outputMainText((("\r\rThe weight of your " + ballDesc()) + " nuts is troublesome. Your knees bend with the heaviness and you have difficulty standing up whenever you sit down. And you're afraid of running because once those things start swaying, they're quite difficult to stop."), false);
} else {
if ((((((ballSize * balls) / 2) > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 2) / 3))) && ((showBalls == true)))){
outputMainText((("\r\rThe weight of your " + ballDesc()) + " nuts is becoming annoying. You're walking bow-legged quite often and frequently consider buying a bra for them..."), false);
} else {
if ((((((ballSize * balls) / 2) > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 1) / 2))) && ((showBalls == true)))){
outputMainText((((("\r\rYou are rather aware of the weight of your " + ballDesc()) + " nuts. Even in public, a hand is dipping into your ") + clothesBottom()) + " to readjust them and massaging your stretched scrotum is quickly becoming a hobby of yours."), false);
};
};
};
};
if ((((udderSize > ((((body * 2) + str) + carryMod) * (tallness / 60)))) && ((udders == true)))){
outputMainText((("\r\rThe weight of your " + udderDesc()) + " udder is too much to carry, sitting heavily in front of you. You're stuck in this town until either you get stronger or it gets smaller..."), false);
tempBool = true;
} else {
if ((((udderSize > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 5) / 6))) && ((udders == true)))){
outputMainText((("\r\rThe weight of your " + udderDesc()) + " udder makes you uneasy. The momentum it gains when you walk makes you fear falling on your face and every now and then your legs go numb while you're sitting or laying down."), false);
} else {
if ((((udderSize > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 2) / 3))) && ((udders == true)))){
outputMainText((("\r\rThe weight of your " + udderDesc()) + " udder is becoming an inconvenience. Whenever you turn from side to side, it lifts off slightly and acts like a fleshy wrecking ball that you're unable to stop."), false);
} else {
if ((((udderSize > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 1) / 2))) && ((udders == true)))){
outputMainText((("\r\rYou are rather aware of the weight of your " + udderDesc()) + " udder. You often find yourself fondling it in an attempt to make it settle more appropriately, wondering if they make bras for this sort of thing..."), false);
};
};
};
};
if ((pregnancyTime / 5) > ((((body * 2) + str) + carryMod) * (tallness / 60))){
outputMainText((("\r\rThe weight of your " + bellyDesc()) + " pregnant belly is too much carry, putting your weight more on it than you can yourself. You're stuck in this town until either you get stronger or you give birth..."), false);
tempBool = true;
} else {
if ((pregnancyTime / 5) > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 5) / 6)){
outputMainText((("\r\rThe weight of your " + bellyDesc()) + " pregnant belly is rather alarming... You're almost constantly trying to cradle it, subconsciously fearing it will drag you down to the ground if you don't. Whenever you sit down, you always prop it up against a table simply so you don't roll forward."), false);
} else {
if ((pregnancyTime / 5) > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 2) / 3)){
outputMainText((("\r\rThe weight of your " + bellyDesc()) + " pregnant belly is becoming irksome. You take a bit more time to come to a halt whenever you move as it retains much of your momentum. And whenever you bend over, it's difficult to rise back up."), false);
} else {
if ((pregnancyTime / 5) > ((((((body * 2) + str) + carryMod) * (tallness / 60)) * 1) / 2)){
outputMainText((("\r\rYou are rather aware of the weight of your " + bellyDesc()) + " pregnant belly. You often subconsciously center your weight more by resting your hands on top of it rather than let them hang at your sides."), false);
};
};
};
};
return (tempBool);
}
public function itemDescription(ID:int):String{
var tempStr:String;
tempStr = ("ITEM DESCRIPTION ERROR " + ID);
if (ID == 101){
tempStr = "Claws of the Lupine Ancestors\r\rHarkening back to supposed Lupan ancestry, as long as this item remains in your bag, your hands will change into clawed paws that will help hold down your foes, just like the wolves of the forest.\r\rAlthough, in your case, it just gives you a bonus to Rape attempts...";
};
if (ID == 102){
tempStr = "Imbued Horseshoes\r\rCrafted by the Equans of Firmshaft, these horseshoes help improve your running capabilities as long as they're in your bag. And they'll turn your feet into hooves.";
};
if (ID == 103){
tempStr = "Magical Sands of the Dry Dunes\r\rApplying this special sand to your genitalia will permanently make it a bit less moist than usual. Often used by the women of Siz'Calit when their heat makes them a little too moist. Or when they're producing a bit too much milk (though that's rarely the case in Siz'Calit).";
};
if (ID == 104){
tempStr = "Milking Machine\r\rA compact device that produces enough suction to pump any breasts/udder you wish to collect the lactation of. Doing so will allow you to store the milk to be used or sold later, if you can produce enough. Comes with 2 hoses and multiple cups to work on almost any nipple/teat.\r\rWarning: Excessive use may result in permanent nipple/teat growth.\r\rCan only be used during Masturbation.";
};
if (ID == 105){
tempStr = "'Cat's Meow' Potion\r\rFavored by the Felins of Siz'Calit, this potion helps increase the production of breastmilk. Just try not to show off in Siz'Calit, or you may draw a crowd.";
};
if (ID == 106){
tempStr = "Penis Pump\r\rA simple device with an elastic cylinder that's intended to slip over a penis and pump it until it climaxes. Doing so will allow you to store the semen to be used or sold later, if you can produce enough.\r\rCan only be used during Masturbation.";
};
if (ID == 108){
tempStr = "Blood Gauge\r\rDue to their propensity to be swayed by outside blood, humans developed this nifty little gadget. Pressing it against your pulse, the magic of the device can detect the levels of racial influence in your body.";
};
if (ID == 109){
tempStr = "Educated Eggdicator\r\rWith so many unfertilized eggs around the oasis, Lizan developed this to be able to tell a good egg from a bad egg. Even though an egg is just an egg beforehand, once put through this eggdicator its wave function collapses into a more determinable state.\r\rWarning: Using this item requires 1 Lizan Egg to operate.";
};
if (ID == 110){
tempStr = "A Reduction of Reducer Agents\r\rThis is a powerful - yet often necessary in Nimin - elixer that, when rubbed on a part of your body, will permanently shrink that part to half its original size. Be careful!\r\rWarning: This item is not useful against your enemies.";
};
if (ID == 111){
tempStr = "Skin Balm\r\rUsed and created by the Humans of Softlik, this balm helps increase their skin's supplesness and other human attributes, as well as decrease those of other races.";
};
if (ID == 112){
tempStr = "Bolstering Juice\r\rThis white 'juice' is often used and created by the Equans of Firmshaft. It helps strengthen their equan attributes and decrease those of other races.";
};
if (ID == 113){
tempStr = "Tainted Leaf\r\rThis paw-shaped leaf is farmed and used by the Lupans of Tieden to fend off the attributes of other races, usually the more violent ones, and increase their lupan strengths.";
};
if (ID == 114){
tempStr = "Sweet Sap\r\rUsed and created by the Felins of Siz'Calit, this vial of clear liquid helps increase their felin sensitivities as well as ward off outside influences.";
};
if (ID == 115){
tempStr = "Poultice\r\rA generic swathe of cloth soaked in soothing balms, this poultice will heal 20 HP. It'll also make you a little aroused from rubbing it all over yourself...";
};
if (ID == 116){
tempStr = "Dagger\r\rA relatively cheap weapon, the dagger is a nice way to defend oneself in Nimin.\r\rBase damage: 5-12";
};
if (ID == 117){
tempStr = "Warhammer\r\rA rather blunt weapon, it's a bit unwieldy but gets the job done.\r\rBase damage: 2-20";
};
if (ID == 118){
tempStr = "Saber\r\rA well-designed blade, the saber can deal significant damage to foes.\r\rBase damage: 10-25";
};
if (ID == 119){
tempStr = "Whip\r\rA somewhat kinky weapon, the whip can leave some rather nasty welts.\r\rBase damage: 12-18";
};
if (ID == 120){
tempStr = "Neuterizer\r\rDeveloped by the Lupans of Tieden, this isn't actually intended to be used on most of their inhabitants. Instead, it was created as a post-defensive measure against the... oddities of Nimin.";
};
if (ID == 121){
tempStr = "Teleport Scroll: Softlik\r\rCreated to make sure explorers can find their way back home, this scroll of teleportation will instantly return the user to the city of Softlik.\r\rCan be used at any time, even in the midst of battle.";
};
if (ID == 122){
tempStr = "Teleport Scroll: Firmshaft\r\rCreated to make sure explorers can find their way back home, this scroll of teleportation will instantly return the user to the city of Firmshaft.\r\rCan be used at any time, even in the midst of battle.";
};
if (ID == 123){
tempStr = "Teleport Scroll: Tieden\r\rCreated to make sure explorers can find their way back home, this scroll of teleportation will instantly return the user to the city of Tieden.\r\rCan be used at any time, even in the midst of battle.";
};
if (ID == 124){
tempStr = "Teleport Scroll: Siz'Calit\r\rCreated to make sure explorers can find their way back home, this scroll of teleportation will instantly return the user to the city of Siz'Calit.\r\rCan be used at any time, even in the midst of battle.";
};
if (ID == 125){
tempStr = "Teleport Scroll: Oviasis\r\rCreated to make sure explorers can find their way back home, this scroll of teleportation will instantly return the user to the city of Oviasis.\r\rCan be used at any time, even in the midst of battle.";
};
if (ID == 126){
tempStr = "Oasis Water\r\rA vial of the fresh water from the oasis in the lizan city of Oviasis, it helps the residents cool off and moisten their scales so they can hunt and sunbathe more, as well as ward off the influences of other races.";
};
if (ID == 127){
tempStr = "Tail Spike\r\rThis large spike is held firm upon leather straps. When attached to a tail, it can be used as a rather effective weapon.\r\rBase damage: 10-20\r\rRequirement: Must have a muscular/skeletal tail to equip (tails of hair or excessively fluffy tails will not work).";
};
if (ID == 200){
tempStr = "Lila's Gift\r\rA small charm given to you by the young felin girl in Siz'Calit, it seems to be pretty decoration made from flowers and leaves and some other cute little things. However, as you hold it, you notice it makes you wetter down under... This might have been the reason the girl was so wet to begin with, or maybe her extreme wetness for such a young age rubbed off onto her charm? Either way, as long as you carry it, you'll be wetter than usual. And you seem much more sensitive than usual...\r\rWarning: You cannot regain this item should you lose it.";
};
if (ID == 201){
tempStr = "Milk Creeper Poison\r\rObtained from a passed out Milk Creeper, this poison is a bit diluted from her ingestion from so much of your milk. It is unlikely that it will affect your lactation rate directly like the pure poison does, but rubbing it into your mammary glands will cause them to swell slightly larger.";
};
if (ID == 202){
tempStr = "Cock-Snake Venom\r\rObtained from the fangs of a passed out cock-snake, this venom is a potent male enhancement. And if you aren't male when you use it, you will be, if at least partially...";
};
if (ID == 203){
tempStr = (("Tuft of Wolf Fur\r\rObtained from an encounter with a feral wolf, a tuft of their fur has been known to decrease sensitivity, and thus increase your toughness against attacks, when rubbed onto your " + skinDesc()) + ".");
};
if (ID == 204){
tempStr = "Small Pouch\r\rThis is a small pouch you have obtained somewhere. Use it to see what it contains!";
};
if (ID == 205){
tempStr = "Small Pouch\r\rThis is a small pouch you have obtained somewhere. Use it to see what it contains!";
};
if (ID == 206){
tempStr = "Shiny Trinket\r\rOther than being a pretty decoration, this thing isn't much use to you. However, it probably sells fairly well.";
};
if (ID == 207){
tempStr = "Wooden Cock Carving\r\rThis thing looks like a dildo made of wood, with decorated carvings all around. It sounds hollow, so maybe you could break it open and see if anything is inside?";
};
if (ID == 208){
tempStr = "Bloated Berry\r\rA berry from across the ocean, it looks oddly bloated, nearly two berries in one. It seems edible though.";
};
if (ID == 209){
tempStr = "Handful of Grain\r\rA handful of fresh grain, it smells slightly sweet in your hands. Eating it will provide you some energy from the carbs!";
};
if (ID == 210){
tempStr = "Pussy Fruit\r\rIt is unknown whether the name derives from the cat-like felin people that enjoy this fruit or from the fruit's rather... lewd shape. Either way, it is a very sweet and juicy fruit that felin females love.";
};
if (ID == 211){
tempStr = "DairE Pill\r\rProduced by the farmers of the Dairy Farm outside of Softlik, this pill supposedly helps increase the lactation rate of dairy cows. It is not suggested to be ingested by anything other than cows, though that's just a suggestion.";
};
if (ID == 212){
tempStr = "Red Mushroom\r\rAn odd looking mushroom with a red cap with a few white dots found on the walls of the Old Cave. You're not really sure what it does, but you think you'll get bigger so you can smash some blocks... or something.";
};
if (ID == 213){
tempStr = "Wet, Slimy Cloth\r\rThis piece of white cloth seems to be perpetually wet and slimy, no matter how long you keep it in your bag. You have no idea what it can do, however.";
};
if (ID == 214){
tempStr = "Malon's Milk\r\rUnlike the other bottles of milk that come from the Dairy Farm, this wasn't from a cow. From Malon's own supply, you're unsure exactly how it's different from the rest, though it does taste better.";
};
if (ID == 215){
tempStr = "Malon's Pendant\r\rGiven to you by Malon from the Dairy Farm, this gift of admiration seems to have been a keepsake of hers since she was a child and has imbued by her long-time love of animals and rather bovine qualities. As long as you hold onto it, everything is a bit more consensual towards being 'raped', be a bit more lenient to you running away. and all milk products heal you slightly more than usual.\r\rWarning: You cannot regain this item should you lose it.";
};
if (ID == 216){
tempStr = "Pink Ink\r\rOctopus ink gained from a rather pink octopus girl, this ink serves as a very rare and valuable hair dye. Should you use it, your hair will turn a coral pink color, if you have hair.";
};
if (ID == 217){
tempStr = "Octopus Egg Jelly\r\rThe jelly from the eggs of the octopus girls you gave birth to, it seems like it'd make you very aroused if you rubbed it on your genitals. Although, you're not quite sure what it would do beyond that...";
};
if (ID == 218){
tempStr = "Bulging Berry\r\rA cousin of the bloated berry, this fruit splits into multiple spheres from the same stem, somewhat like cherries but can often have three of four from the same stem. It is quite edible, though it is highly suggested to not eat many.";
};
if (ID == 219){
tempStr = "Lizan Egg\r\rAn unfertilized egg from a lizan female (or herm), eggs like this are common in the lizan diet. High in protein, they're good for your health.";
};
if (ID == 220){
tempStr = "Blonde Dye\r\rA dye made from mashed grain, this will turn your hair blonde in color when used, if you have hair, or it can be sold for a decent sum.";
};
if (ID == 221){
tempStr = "Concentrated Pussy Fruit Juice\r\rCreated by a notable mistress in Siz'calit, this vial contains some rather concentrated juice from the Pussy Fruit. It is likely to have a notable effect on a woman's loins, more potent than its source.";
};
if (ID == 222){
tempStr = "Kinky Carrot\r\rUsed in lewd fashions by a small rabbit-like people, you're sure to clean this off as soon as you got it. Although you're not entirely certain what would happen if you ate it, besides being in better health for keeping veggies in your diet.";
};
if (ID == 223){
tempStr = "Equan Snack\r\rA common snack amongst the equan people, this sweet little thing has the kind of carbs that will help you get through the day, no matter what life may put on your shoulders. And it seems to be the cause of some bellies of some equan women...";
};
if (ID == 224){
tempStr = "Lila's Milk\r\rFrom the ample supply of a certain little felin girl, this milk seems to be a tad sweeter than normal milk and also slightly tainted by the poor girl's constant heat.";
};
if (ID == 225){
tempStr = "Body Wash\r\rThis nice body wash is scented like a meadow of flowers. It can help clean up some dirty thoughts and make your body feel much fresher.";
};
if (ID == 226){
tempStr = "Felin Tea Mix\r\rA common brew amongst felins, this tea helps calm the body and mind. Especially the body, which is often necessary for Felins...";
};
if (ID == 227){
tempStr = "Felin Oral Wash\r\rWith bath by licking being commonplace amongst felins, this wash is to aid in such endeavors. Delightfully tingly, this stuff will leave both your breath and your fur feeling fresh.";
};
if (ID == 228){
tempStr = "Body Oil\r\rNice and slick, this stuff is great for your skin or scales and makes you look quite shiny and alluring for the next 5 hours.";
};
if (ID == 229){
tempStr = "Leather Strap\r\rFound somewhere in Silandrias' den, this leather strap seems to be fitted to tie tightly around the base of her tail. Otherwise, you have no idea what it could be for.";
};
if (ID == 230){
tempStr = "Eggcelerator\r\rMeant to temporarily increase the rate of egg production in Lizan females, this pill looks to be a little egg-shaped itself, with more of a torpedo-like tip. This pill also seems to be too large to be ingested orally by the average person, which you deduct means it's meant as a suppository... Though, considering its nature, it's safe to say it's not meant to be administered anally, at least.\r\rIts effect stacks.";
};
if (ID == 231){
tempStr = "Dessicating Sand\r\rObtained from a sentient dust devil, this sand is specially imbued with the ability to suck moisture from a body, causing it to shrink a little.";
};
if (ID == 232){
tempStr = "Flying Carpet\r\rBorrowed from Silandrias, this flying carpet can take you on a magical ride to see a whole new world. However, it can only take you to towns you have already found, since you wouldn't know how to guide it someplace you haven't been, so the whole 'new' aspect is rather moot. But it is still quite convenient!\r\rYou cannot activate the flying carpet in amidst the heat of battle or amidst the heat of masturbation.";
};
if (ID == 233){
tempStr = "Anti-Gravity Rock\r\rBorrowed from Silandrias, this small rock, more of a pebble really, just kind of floats there and defies gravity. Yet, as you carry it, even you seem to defy gravity to a degree. You feel much lighter on your feet and your carry capacity increases by a whole 75! '75 what', you have no idea, but it's a big number so it's got to be good, right?";
};
if (ID == 234){
tempStr = "Reindeer Charm\r\rBorrowed from Silandrias, this sapphire charm is carved into the shape of a reindeer's head, with large antlers. Carrying it imbues you with the essence of a reindeer mother, providing you with a nice set of antlers and a matching deer-butt, as well as speeding up your pregnancies and increasing your minimum lust, urging you to give birth to plenty of children.";
};
if (ID == 235){
tempStr = "Fellatio Rod\r\rBorrowed from Silandrias, this rather phallic rod is actually a weapon. When the base is pointed at the target, you can siphon out some of their life force by placing your lips around the bulbous end of the rod and gently sucking. If you're very skilled, you can make the weapon perform even stronger. It even ignores their natural resistance to physical attacks.";
};
if (ID == 236){
tempStr = "Reception Bell\r\rBorrowed from Silandrias, this small cowbell is worn around the neck and makes one more receptive to outside influences. In other words, the wearer gains 50% more SexP than usual *ding*. They also tend to be 30% more susceptible to blood-changes though... *dong*";
};
if (ID == 500){
tempStr = "Bottle of Milk\r\rA bottle of delicious milk that, when drunk, will heal 10 HP and help you stay awake a little longer.";
};
if (ID == 501){
tempStr = "Jug of Milk\r\rA large jug of delicious milk that, when drunk, will heal 40 HP and help you stay awake a while longer. When you're done peeing, of course.";
};
if (ID == 502){
tempStr = "Barrel of Milk\r\rA barrel full of delicious milk, this is mostly meant to be used for easy handling by merchants. However, if you use it, you will gain 4 Jugs of Milk instantly.";
};
if (ID == 503){
tempStr = "Lust Draft\r\rA potion that will increase your lust by 20 instantly when used.";
};
if (ID == 504){
tempStr = "Rejuvenating Potion\r\rA potion that will heal 30 HP and reduce your lust by 15 instantly when used.";
};
if (ID == 505){
tempStr = "Bad Experiment\r\rThis combustable concoction will deal 10-20 damage to your enemy before they can react!\r\rThis item can only be used during battle.";
};
if (ID == 506){
tempStr = "Express Pregnancy Potion\r\rWhen that baby is taking a while to gestate, this potion up the pregnancy as though 50 hours had passed.";
};
if (ID == 507){
tempStr = "Ball Sweller\r\rImbibing this will make your balls feel as though you hadn't ejaculated in 30 hours.";
};
if (ID == 508){
tempStr = "Superior Lust Draft\r\rA potion that will increase your lust by 50 instantly when used.";
};
if (ID == 509){
tempStr = "Superior Rejuvenating Potion\r\rA potion that will heal 70 HP and reduce your lust by 40 instantly when used.";
};
if (ID == 510){
tempStr = "Super Bad Experiment\r\rThis extremely combustable concoction will deal 20-40 damage to your enemy before they can react!\r\rThis item can only be used during battle.";
};
if (ID == 511){
tempStr = "Superior Express Pregnancy Potion\r\rWhen that baby is taking a while to gestate, this potion up the pregnancy as though 120 hours had passed.";
};
if (ID == 0x0200){
tempStr = "Superior Ball Sweller\r\rImbibing this will make your balls feel as though you hadn't ejaculated in 70 hours.";
};
if (ID == 513){
tempStr = "Gender Swap Potion\r\rIf you want to try out the opposite sex, this potion will revert your genitals back to infancy, allowing them to reform as their opposite counterparts. If a hermaphrodite takes this, it reverts all genitals to their smallest value. If a genderless person takes this, the resulting gender is random.";
};
if (ID == 0x0202){
tempStr = "Masochism Potion\r\rAfter this potion is imbibed, your nervous system confuses half of all damage as pleasure for a whole day.";
};
if (ID == 515){
tempStr = "Black Dye\r\rThis will turn your hair black in color when used, if you have hair.";
};
if (ID == 516){
tempStr = "Baby Free Potion\r\rSipping this potion will reduce your chance of becoming pregnancy by 50% for the next 3 days. This contraceptive is not gauranteed to prevent pregnancy, especially if you're especially fertile. It will work whether you have the appropriate plumbing or not. Multiple instances of Baby Free Potion will only extend the time of its duration, not increase the reduction in chance.";
};
if (ID == 517){
tempStr = "Potency Potion\r\rKicking your balls into gear, they will permanently produce 20% more cum, despite their size.";
};
if (ID == 518){
tempStr = "Superior Gender Swap Potion\r\rIf you want to try out the opposite sex, this potion will transform your genitals into their opposite counterparts, retaining the relative size. If a hermaphrodite takes this, the genitals swap sizes. If a genderless person takes this, the resulting gender is random, along with the sizes of their genitals (up to a certain amount).";
};
if (ID == 519){
tempStr = "Superior Masochism Potion\r\rAfter this potion is imbibed, your nervous system confuses all damage as pleasure for a whole day.";
};
if (ID == 520){
tempStr = "Red Dye\r\rThis will turn your hair red in color when used, if you have hair.";
};
if (ID == 521){
tempStr = "Superior Baby Free Potion\r\rSipping this potion will reduce your chance of becoming pregnancy by 50% for the next 9 days. This contraceptive is not gauranteed to prevent pregnancy, especially if you're especially fertile. It will work whether you have the appropriate plumbing or not. Multiple instances of Superior Baby Free Potion will only extend the time of its duration, not increase the reduction in chance.";
};
if (ID == 522){
tempStr = "Superior Potency Potion\r\rDrop-kicking your balls into gear, they will permanently produce 50% more cum, despite their size.";
};
if (ID == 523){
tempStr = "Vial of Cum\r\rStill kinda warm, this vial of goop will arouse you slightly when imbibed, plus heal a bit.";
};
if (ID == 524){
tempStr = "Bottle of Cum\r\rA bottle of warm cum that will arouse you and heal you slightly when imbibed. If you can get it all down.";
};
if (ID == 525){
tempStr = "Jug of Cum\r\rA jug full of hot cum, this is mostly meant to be used for easy handling by the merchants that might be able to find a use for it. However, if you use it, you will gain 3 Bottles of Cum instantly.";
};
if (ID == 526){
tempStr = "Barrel of Cum\r\rThere's... not really muh you can do with a barrel full of hot cum. The merchants will still buy it, but at a very low price, since there's not much they can do with it either...";
};
if (ID == 527){
tempStr = "Good Egg\r\rAn unfertilized lizan egg that is especially good for your health and body.";
};
if (ID == 528){
tempStr = "Bad Egg\r\rAn unfertilized lizan egg that should never be eaten... Instead it can be thrown at your enemy for a quick 10-20 damage.\r\rThis item can only be used during battle.";
};
if (ID == 529){
tempStr = "Strange Egg\r\rAn unfertilized lizan egg that can do... odd things to your body.";
};
if (ID == 530){
tempStr = "Charmed Egg\r\rAn unfertilized lizan egg that will make you quite alluring for 20 hours.";
};
if (ID == 531){
tempStr = "Divine Egg\r\rA very rare unfertilized lizan egg, eating it will make you closer to a diety of fertility.";
};
if (ID == 532){
tempStr = "Strong Pheromone\r\rOriginally meant to be fishing bait, this concoction is much more potent than originally intended and attracts far more than fish for 30 hours...";
};
return (tempStr);
}
public function simpleAlchemy(more:int):void{
var more = more;
showPage(true, (30 + more));
buttonWrite(4, "<<");
buttonWrite(8, ">>");
buttonWrite(12, "Return");
if (more == 1){
viewButtonOutline(1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1);
viewButtonText(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);
buttonWrite(1, "Blondie");
buttonWrite(2, "Lust Draft");
buttonWrite(3, "Rejuv Pot");
buttonWrite(5, "Exp Preg");
buttonWrite(6, "Ball Swell");
outputMainText("Click on an item you would like to create.", true);
outputMainText("\r\rBlondie - Dye that will turn your hair blonde.\rRequires 7 Grain.", false);
if (alchemistLevel >= 1){
Choice2.visible = true;
Choice3.visible = true;
outputMainText("\r\rLust Draft - When you're having difficulty performing, a quick sip of this will get you up and ready in no time.\rRequires 1 Grain, plus either 1 Sweet Sap, 1 Cum Vial, or moderately moist genitals at the time of creation.", false);
outputMainText("\r\rRejuvenating Potion - Both heals and soothes the body.\rRequires 1 Poultice and 1 Wolf Fur.", false);
};
if (alchemistLevel >= 2){
Choice5.visible = true;
Choice6.visible = true;
outputMainText("\r\rExpress Pregnancy Potion - Tired of waiting for that baby to come? Drink one of these to get a jump on the gestation period!\rRequires 1 Sweet Sap and 1 Lizan Egg.", false);
outputMainText("\r\rBall Sweller - When you're ejaculating often, your testicles have difficulty keeping up. A dose of this will help speed up your sperm production for the next volley.\r\rRequires 1 Blo Berry.", false);
};
};
doListen = function ():void{
if (more == 1){
if (buttonChoice == 1){
makeAlchemy(220, 1, more);
};
if (buttonChoice == 2){
makeAlchemy(503, 1, more);
};
if (buttonChoice == 3){
makeAlchemy(504, 1, more);
};
if (buttonChoice == 5){
makeAlchemy(506, 1, more);
};
if (buttonChoice == 6){
makeAlchemy(507, 1, more);
};
};
if (buttonChoice == 4){
if (more == 2){
simpleAlchemy(1);
} else {
simpleAlchemy(more++);
};
};
if (buttonChoice == 8){
if (more == 1){
simpleAlchemy(2);
} else {
simpleAlchemy(more--);
};
};
if (buttonChoice == 12){
showPage(false, 1);
doAlchemy();
};
};
}
public function clothesName(ID:int):String{
var tempStr:String;
tempStr = "CLOTHES NAME ERROR";
if (ID == 1){
tempStr = "Shirt";
};
if (ID == 2){
tempStr = "Pants";
};
if (ID == 3){
tempStr = "Bikini Top";
};
if (ID == 4){
tempStr = "Bikini Bottom";
};
if (ID == 5){
tempStr = "Elegant Dress";
};
if (ID == 6){
tempStr = "Latex Suit";
};
if (ID == 7){
tempStr = "Skirt";
};
if (ID == 8){
tempStr = "Shorts";
};
if (ID == 9){
tempStr = "Blouse";
};
if (ID == 10){
tempStr = "Diaper";
};
if (ID == 11){
tempStr = "Poofy Diaper";
};
if (ID == 12){
tempStr = "Sundress";
};
if (ID == 13){
tempStr = "Skimpy Dress";
};
if (ID == 14){
tempStr = "Short Skirt";
};
if (ID == 15){
tempStr = "Short Shorts";
};
if (ID == 16){
tempStr = "Loin Cloth";
};
if (ID == 17){
tempStr = "Bathing Suit";
};
if (ID == 18){
tempStr = "Muscle Shirt";
};
if (ID == 19){
tempStr = "Corset";
};
if (ID == 20){
tempStr = "Silk Panties";
};
return (tempStr);
}
public function doUdderMasturbate():void{
var getMilk:int;
if (ment >= (lib - 10)){
outputMainText((((((((((("You sneak off to the private place where you sleep in " + regionName(currentZone)) + " with a bunch of towels in hand. Carefully, so as to not let anybody hear, you pull ") + pullUD(1)) + " your ") + clothesTop()) + " and gently knead your ") + udderDesc()) + " udder.\r\rHunching over at the side of the bed, you massage your ") + teatDesc()) + " teats, tugging and squeezing them each with"), true);
};
if ((((ment < (lib - 10))) && ((ment >= (lib - 25))))){
outputMainText((((((((((((("You quickly head off to the private place where you sleep with your intentions clear as those around " + regionName(currentZone)) + " can easily see you rub your ") + udderDesc()) + " bulge through your ") + clothesTop()) + ". Before you even reach your destination, your hands are already reaching ") + pullUD(1)) + " under your ") + clothesTop()) + " to play with your ") + teatDesc()) + " teats, giving someone a good view of your fleshy bag.\r\rBy the time you're hidden inside, both hands are fondling your udder, kneading and massaging your teats with"), true);
};
if ((((ment < (lib - 25))) && ((ment >= (lib - 50))))){
outputMainText((((((((((("Your " + udderDesc()) + " udder heaves with your heavy breathing as you think about playing with it. You don't think you can reach the private place where you sleep without your hands diving underneath your ") + clothesTop()) + " and massaging it roughly.\r\rInstead, you duck into one of the more hidden corners of ") + regionName(currentZone)) + " and without even taking off your ") + clothesTop()) + ", you grope your udder through the fabric before your reaching underneath, kneading and massaging your ") + teatDesc()) + " teats with"), true);
};
if (ment < (lib - 50)){
outputMainText((((((((((("Without a second thought, right in the middle of " + regionName(currentZone)) + " you pull ") + pullUD(1)) + " your ") + clothesTop()) + ", rubbing a hand across your ") + udderDesc()) + " udder and making it jiggle obscenely.\r\rPeople gasp and stare as you knead and massage your ") + teatDesc()) + " teats with"), true);
};
if (teatSize <= 25){
outputMainText(" your fingers", false);
} else {
if ((((teatSize > 25)) && ((teatSize <= 60)))){
outputMainText(" your hands", false);
} else {
if ((((teatSize > 60)) && ((teatSize <= 180)))){
outputMainText(" both hands", false);
} else {
if (teatSize > 180){
outputMainText(" the nearby wall", false);
};
};
};
};
outputMainText(" until they begin to feel warm and tingly.", false);
if (sen <= 30){
outputMainText(" Unfortunately, you can't really come as your udder simply isn't sensitive enough. But, it does feel nice as you continue to play with your teats.", false);
doLust(-(Math.floor((sen / 2))));
} else {
if (lust <= 30){
outputMainText("\r\rSlowly,", false);
};
if ((((lust > 30)) && ((lust <= 70)))){
outputMainText("\r\rQuickly,", false);
};
if (lust > 70){
outputMainText("\r\rAlmost instantly,", false);
};
outputMainText(" your whole body begins to quiver,", false);
if ((((((cockMoist > 0)) && ((cockMoist <= 3)))) || ((((vagMoist > 0)) && ((vagMoist <= 3)))))){
outputMainText(((" your " + clothesBottom()) + " growing a tad moist,"), false);
};
if ((((((cockMoist > 3)) && ((cockMoist <= 6)))) || ((((vagMoist > 3)) && ((vagMoist <= 6)))))){
outputMainText(((" your " + clothesBottom()) + " growing wet,"), false);
};
if ((((((cockMoist > 6)) && ((cockMoist <= 9)))) || ((((vagMoist > 6)) && ((vagMoist <= 9)))))){
outputMainText(((" your " + clothesBottom()) + " becoming soaked through,"), false);
};
if ((((((cockMoist > 9)) && ((cockMoist <= 12)))) || ((((vagMoist > 9)) && ((vagMoist <= 12)))))){
outputMainText(((((" your " + clothesBottom()) + " becoming drenched, your ") + buttDesc()) + " bum absolutely swamped,"), false);
};
outputMainText(" being wracked by an udder orgasm.", false);
if (lust > 20){
doSexP(5);
};
doLust(-(sen));
};
if (udderLactation > 0){
hrs++;
getMilk = milkAmount(2);
outputMainText("\r\rMilk ", false);
if (getMilk <= 500){
outputMainText("spits", false);
};
if ((((getMilk > 500)) && ((getMilk <= 1000)))){
outputMainText("squirts", false);
};
if ((((getMilk > 1000)) && ((getMilk <= 2000)))){
outputMainText("spews", false);
};
if ((((getMilk > 2000)) && ((getMilk <= 8000)))){
outputMainText("gushes", false);
};
if ((((getMilk > 8000)) && ((getMilk <= 19000)))){
outputMainText("erupts", false);
};
if (getMilk > 19000){
outputMainText("explodes", false);
};
outputMainText(" from your teats and dribbles down your front as you begin to lactate. You continue to pump it out in ", false);
if (getMilk <= 500){
outputMainText("small dribbles", false);
};
if ((((getMilk > 500)) && ((getMilk <= 1000)))){
outputMainText("spurts", false);
};
if ((((getMilk > 1000)) && ((getMilk <= 2000)))){
outputMainText("sprays", false);
};
if ((((getMilk > 2000)) && ((getMilk <= 8000)))){
outputMainText("jets", false);
};
if ((((getMilk > 8000)) && ((getMilk <= 19000)))){
outputMainText("steady streams", false);
};
if (getMilk > 19000){
outputMainText("small floods", false);
};
outputMainText(((", relieving your " + udderDesc()) + " udder of its supply"), false);
if (dominant == 5){
outputMainText(" as you let out a contented 'mooo~'", false);
};
outputMainText(".", false);
};
if (ment >= (lib - 10)){
outputMainText("\r\rYou quietly heave as you attempt to clean up any mess you have made, hoping the bedsheets will dry quickly. Except for some stains, you don't think anybody will catch on to your lewd actions, and you continue on with your day.", false);
};
if ((((ment < (lib - 10))) && ((ment >= (lib - 25))))){
outputMainText("\r\rComing down from your high, you clean up your mess the best you can, though its likely some of your fluids have seeped in somewhere. At least, you're cautious of cleaning any mess up with your sheets. And as you leave the place, one of your neighbors eyes you with a surprised look. You probably left a blotch or few on your clothes somewhere...", false);
};
if ((((ment < (lib - 25))) && ((ment >= (lib - 50))))){
outputMainText((("\r\rYou realize your hiding place probably echoed your moans as you come to your senses. You also have the slight problem of milk blotching your " + clothesTop()) + "... As you attempt to casually walk away, some nearby strangers blink at you curiously, not quite sure what they just heard. Rubbing you chest through the fabric once more, you dash away hoping it will dry."), false);
};
if (ment < (lib - 50)){
outputMainText((((("\r\rGasping, you blink and look around you. You've gathered quite the crowd, especially some men, and they all gaze out you in amazement, having given them quite the show. A few tug at their own groins, ducking away from the rest, while others don't look so happy at what you have done, especially the ones with children beside them. You pull " + pullUD(1)) + " your ") + clothesTop()) + ", milk splashing everywhere and slink away, trying to avoid any more stares. Although, your heart pounds within your chest at the thought of what you had just done..."), false);
};
if ((((getMilk > 0)) && ((getMilk < 1000)))){
outputMainText((("\r\r\rYou produced " + getMilk) + " ml of milk!"), false);
} else {
if ((((getMilk > 0)) && ((getMilk >= 1000)))){
outputMainText((("\r\r\rYou produced " + decGet((getMilk / 1000), 1)) + " liters of milk!"), false);
};
};
if (udderLactation > 0){
if (((udderPlay + 8) / (udderLactation * 30)) > 1){
lactChange(2, 1);
outputMainText("\r\rYour udder aches from all the milking, growing larger to meet the demand...", false);
udderChange(1);
};
udderPlay = (udderPlay + 8);
};
hrs++;
doEnd();
}
public function doStoreStash():void{
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
hideAmount();
i = 1;
while (i < 13) {
buttonWrite(i, itemName(itemID(i)));
if (stackAmount(i) > 1){
viewAmount(i, true);
amountWrite(i, (("" + stackAmount(i)) + ""));
};
i++;
};
buttonWrite(4, "<<");
buttonWrite(8, ">>");
buttonWrite(12, "Return");
showPage(true, 1);
outputMainText("Click on an item you would like to stash.\r\rClick 'Return' to return to the main stash options.", true);
doListen = function ():void{
if (buttonChoice == 12){
hideAmount();
showPage(false, 1);
doStash();
} else {
if (buttonChoice == 4){
if (currentItems == 1){
currentItems = 3;
} else {
if (currentItems == 2){
currentItems = 1;
} else {
if (currentItems == 3){
currentItems = 2;
};
};
};
hideAmount();
showPage(true, 1);
doStoreStash();
} else {
if (buttonChoice == 8){
if (currentItems == 1){
currentItems = 2;
} else {
if (currentItems == 2){
currentItems = 3;
} else {
if (currentItems == 3){
currentItems = 1;
};
};
};
hideAmount();
showPage(true, 1);
doStoreStash();
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
hideAmount();
showPage(false, 1);
stashStore(buttonChoice);
};
};
};
};
};
}
public function tailDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("TAIL ERROR " + tail);
if (chance <= 100){
if (tail == 2){
tempStr = "equine";
};
if (tail == 3){
tempStr = "wolfish";
};
if (tail == 4){
tempStr = "cat-like";
};
if (tail == 5){
tempStr = "bovine";
};
if (tail == 6){
tempStr = "reptillian";
};
if (tail == 7){
tempStr = "bunny";
};
};
if (chance <= 50){
if (tail == 2){
tempStr = "bristly";
};
if (tail == 3){
tempStr = "fluffy";
};
if (tail == 4){
tempStr = "lithe";
};
if (tail == 5){
tempStr = "skinny, bristly-tipped";
};
if (tail == 6){
tempStr = "thick, sleek";
};
if (tail == 7){
tempStr = "poofy puff-ball";
};
};
return (tempStr);
}
public function doBirth(pregnancyType:int, extra:int, birthCount:int):void{
var birthNumber:int;
birthNumber = 0;
trace(("Array " + pregArray));
trace(("Length " + pregArray.length));
if ((pregArray.length / 5) > (vagTotal + 0.5)){
vagChange(0, 1);
};
hrs = (hrs + 1);
if (birthCount == 0){
outputMainText((((("\r\rSuddenly, you feel water splash across your thighs, flooding from " + oneYour(2)) + " cunt") + plural(2)) + ". You've gone into labor!\r\rYou sit on the ground, huffing and heaving as pain envelops your body. Between each heave and your hands on your belly, you push with all your might!"), false);
};
if (birthCount > 0){
outputMainText("\r\rYet, you're still not quite done with the birthing process as fluid splashes out of another one of your vaginas. You tense yourself, already on the ground, and your breathing progresses rapidly as your nearly crush your belly, trying to get more of your babies out!", false);
};
if (pregnancyType == 100){
birthNumber = Math.floor((((percent() / 20) + 3) + extra));
outputMainText(((" Rather quickly, a small body pushes out from between your legs. You hear a small, high-pitched whine come from it. Pausing from your labor, you pull the child up to your chest, cradling it. Covered in fur, eyes shut to the world, it's a small puppy. A wolf puppy, to be more accurate. Although, you have little time to consider the symantics as another contraction makes you seize in pain. Soon, another whine cries out. Followed by another contraction... Until you have given birth to a litter of " + birthNumber) + " wolf pups! Congratulations, Mommy!\r\rYou'll bring the pups to your personal day-care the next time you're in town."), false);
if (vagLimit() < 12){
vulvaSize++;
vagChange(1, 0);
};
wolfPupChildren = (wolfPupChildren + birthNumber);
};
if (pregnancyType == 1){
birthNumber = (1 + extra);
outputMainText(((((((((((((" Slowly, a large round head pushes out from between your legs. You hear a cry as it breaches " + oneYour(2)) + " ") + vulvaDesc()) + " pair") + plural(2)) + " of lips. Shortly after, you heave for fresh air as the rest of the body slides out. As the newborn cries out, your reach down and bring it up to your ") + boobDesc()) + " chest. With a round face and soft skin, it's easy to tell you've given birth to a human child. With a sigh, you pull ") + pullUD(1)) + " your ") + clothesTop()) + ", letting it suckle from its mother."), false);
if (vagLimit() < 16){
vulvaSize++;
vagChange(1, 0);
};
if (birthNumber > 1){
outputMainText((("\r\rHowever, a contraction in the middle of suckling returns your attention to your spread loins. Apparently, the single newborn wasn't the only one in there. You grunt and heave some more as you push out " + (birthNumber - 1)) + " more human babies, each about the same size as the first. By the time you're finished, you're quite exhausted, holding them all to your bosom and letting them suckle as they can."), false);
};
if (birthNumber == 1){
outputMainText("\r\rEventually, you prepare the human child to bring to your own personal day-care the next time you're in town.", false);
};
if (birthNumber > 1){
outputMainText("\r\rEventually, you prepare the human children to your bring to own personal day-care the next time you're in town.", false);
};
humanChildren = (humanChildren + birthNumber);
};
if (pregnancyType == 2){
birthNumber = (1 + extra);
outputMainText(((((((((((((" Slowly, a large body pushes out from between your legs. You hear a snort as the long muzzle breaches " + oneYour(2)) + " ") + vulvaDesc()) + " pair") + plural(2)) + " of lips. Shortly after, you heave for fresh air as the rest of the body slides out. As the newborn cries out, your reach down and bring it up to your ") + boobDesc()) + " chest. With a horse-like muzzle and rather large body, it's easy to tell you've given birth to an equan child. With a sigh, you pull ") + pullUD(1)) + " your ") + clothesTop()) + ", letting it suckle from its mother."), false);
if (vagLimit() < 36){
vulvaSize++;
vagChange(1, 0);
};
if (vagLimit() < 20){
outputMainText("\r\rYou're also quite a bit looser than before, from giving birth to such a big body...", false);
vulvaSize = (vulvaSize + 2);
vagChange(2, 0);
};
if (birthNumber > 1){
outputMainText((("\r\rHowever, a contraction in the middle of suckling returns your attention to your spread loins. Apparently, the single newborn wasn't the only one in there. You grunt and heave some more as you push out " + (birthNumber - 1)) + " more equan babies, each as large as the first! By the time you're finished, you're quite exhausted, holding them all to your bosom and letting them suckle as they can."), false);
};
if (birthNumber == 1){
outputMainText("\r\rEventually, you prepare the equan child to bring to your own personal day-care the next time you're in town.", false);
};
if (birthNumber > 1){
outputMainText("\r\rEventually, you prepare the equan children to your bring to own personal day-care the next time you're in town.", false);
};
equanChildren = (equanChildren + birthNumber);
};
if (pregnancyType == 3){
birthNumber = Math.floor((((percent() / 20) + 2) + extra));
outputMainText(((" Quite soon, you feel a small fuzzy body push out between your legs. A soft yip escapes its lips, taking its first gasp of air. Pulling the babe up to your chest and cradling it, the small humanoid body is covered in fur with wolf-like ears and tail. Especially small, the lupan child is just the first, as several more could easily fit within your belly... As another contraction yanks back your attention, another whimper cries out, with another soon on its way...\r\rEventually, you have given birth to a litter of " + birthNumber) + " pup-like lupan babies. They crawl around your body as you let them suckle from your nipples and you eventually prepare them to bring to your personal day-care the next time you're in town."), false);
lupanChildren = (lupanChildren + birthNumber);
};
if (pregnancyType == 4){
birthNumber = Math.floor((((percent() / 20) + 2) + extra));
outputMainText(((" Quite soon, you feel a small fuzzy body push out between your legs. A soft mewl escapes its lips, taking its first gasp of air. Pulling the babe up to your chest and cradling it, the small humanoid body is covered in fur with cat-like ears and tail. Especially small, the felin child is just the first, as several more could easily fit within your belly... As another contraction yanks back your attention, another mewl cries out, with another soon on its way...\r\rEventually, you have given birth to a litter of " + birthNumber) + " kitten-like felin babies. They crawl around your body as you let them suckle from your nipples and you eventually prepare them to bring to your personal day-care the next time you're in town."), false);
felinChildren = (felinChildren + birthNumber);
};
if (pregnancyType == 5){
birthNumber = (1 + extra);
outputMainText(((((((((((((" Slowly, a large body pushes out from between your legs. You hear a quiet groan as the muzzle breaches " + oneYour(2)) + " ") + vulvaDesc()) + " pair") + plural(2)) + " of lips. Shortly after, you heave for fresh air as the rest of the body slides out. As the newborn cries out, your reach down and bring it up to your ") + boobDesc()) + " chest. With a cow-like muzzle and rather large body, it seems as though you have given birth to a cow-like child. The relatively large nipples for a newborn and small udder, its obviously a she before even checking her genitals, and a long thin tail that ends with a bushy-haired tip. With a sigh, you pull ") + pullUD(1)) + " your ") + clothesTop()) + ", letting her suckle from her mother."), false);
if (vagLimit() < 36){
vulvaSize++;
vagChange(1, 0);
};
if (vagLimit() < 20){
outputMainText("\r\rYou're also quite a bit looser than before, from giving birth to such a big body...", false);
vulvaSize = (vulvaSize + 2);
vagChange(2, 0);
};
if (birthNumber > 1){
outputMainText((("\r\rHowever, a contraction in the middle of suckling returns your attention to your spread loins. Apparently, the single newborn wasn't the only one in there. You grunt and heave some more as you push out " + (birthNumber - 1)) + " more bovine baby girls, each as large as the first! By the time you're finished, you're quite exhausted, holding them all to your bosom"), false);
if (udders == true){
outputMainText(" and udder", false);
};
outputMainText(", letting them suckle as they can, which they do to great length.", false);
};
if (birthNumber == 1){
outputMainText("\r\rEventually, you prepare the bovine child to bring to your own personal day-care the next time you're in town.", false);
};
if (birthNumber > 1){
outputMainText("\r\rEventually, you prepare the bovine children to your bring to own personal day-care the next time you're in town.", false);
};
cowChildren = (cowChildren + birthNumber);
};
if (pregnancyType == 6){
birthNumber = Math.floor((((percent() / 15) + 3) + extra));
outputMainText(((" You soon feel your passage begin to stretch as a hard, smooth body begins to slip out past your lips. It doesn't take much effort before it plops to the floor and rolls a little, a white egg a bit larger than your average unfertilized Lizan egg. Another contraction gets you pushing again as the rest of its brood push out, one egg right after the next.\r\rEventually, you have laid a batch of " + birthNumber) + " fertilized eggs, all with Lizan embryos slowly growing inside them. You have no idea how long they'll take to hatch, but you'll bring them back to your personal day-care anyways to make sure they're taken care of until they do."), false);
lizanEggs = (lizanEggs + birthNumber);
};
if (pregnancyType == 7){
birthNumber = Math.floor((((percent() / 20) + 3) + extra));
outputMainText(((" Quite rapidly, you feel a small fuzzy body push out between your legs. Cute squeaks erupt from it as it takes its first breaths, writhing around softly. You pull it up to your chest, cradling the small humanoid body that is covered in downy fur with long ears and a puffy tail. So small, the bunny-like child is just the first, as more are most definitely on the way. They don't call it 'breeding like rabbits' for nothing...\r\rMore squeaks are soon heard as the bunny-like babes pour from your womb, until you have a litter of " + birthNumber) + ". They kick about your body, trying to crawl and suckle from you, until you eventually prepare them to bring to your personal day-care the next time you're in town."), false);
bunnionChildren = (bunnionChildren + birthNumber);
};
if (pregnancyType == 200){
outputMainText(((((((" It doesn't take much effort as you feel a round object roll out of " + oneYour(2)) + " ") + vulvaDesc()) + " cunt") + plural(2)) + " with a wet plop. You attempt to look around your body to see what it is, but you don't have much time before another squeezes through your cervix, demanding your attention to get back to pushing.\r\rThere's not much of a rest in between contractions to see what is coming out exactly, but all you can tell is that there are a lot. At least a dozen; although it's impossible to keep track amidst all the birthing. It's not until the very last one exits that you're given a long enough reprieve to actually look...\r\rYou seem to be just in time to spot the clear, jelly-like egg unravel around something pink in the center. The pink thing tumbles out from the egg, spreading apart into several small tentacles. Eight, to be exact. And in the center of them is a cute little girl. Not quite a baby, just a really small child, no taller than half a foot. You can hear her giggle a little as she kisses your thighs, thanking you a little before wiggling her way away from you.\r\rYour legs are too weak at the moment to chase after her, but you can see a trail of slime that all of the others had used. They seem to be headed in the same direction: back to the beach where you had obtained them."), false);
itemAdd(217);
};
if (pregnancyType == 201){
outputMainText(((" However, it takes less effort than you thought possible as small hands manually spread you wider and then anchor themselves further and further out. Two tall, narrow ears pop out between your legs, your slime forming a web between them. In another moment, an entire body rolls out of you, wet and almost covered in white fur, around two feet tall.\r\rHer well-developed chest wobbles about as she turns to look at you with am absolutely naughty grin. Then she dashes off, hopping away with her large feet and one hand still jerking furiously between her legs...\r\rSeems like you had obtained a horny stowaway during your time as a giant, though you're unsure if it was an accident on your part or intentional on hers... Shortly after, however, you realize she had left something behind, fishing it out after having been caught between your " + vulvaDesc()) + " pussy-lips. "), false);
itemAdd(222);
};
if (pregnancyType == 202){
outputMainText(((" However, it takes less effort than you thought possible as small hands manually spread you wider and then anchor themselves further and further out. Two tall, narrow ears pop out between your legs, your slime forming a web between them. In another moment, an entire body rolls out of you, wet and almost covered in white fur, around two feet tall.\r\rHis hand still on his pointy prick, a strand of cum drooling from its tip back to your pussy, he turns to look at you with am absolutely naughty grin. Then he dashes off, hopping away with his large feet and one hand still jerking furiously between his legs...\r\rSeems like you had obtained a horny stowaway during your time as a giant, though you're unsure if it was an accident on your part or intentional on his... Shortly after, however, you realize he had left something behind, fishing it out after having been caught between your " + vulvaDesc()) + " pussy-lips. "), false);
doImpregnate(7);
itemAdd(222);
};
}
public function earDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("EAR ERROR " + ears);
if (chance <= 100){
if (ears == 1){
tempStr = "Hugging the side of your head, you have small rounded ears that can easily be hidden by your hair, like that of a human's";
};
if (ears == 2){
tempStr = "Atop your head, you have large tear-drop shaped ears that flick every now and then, able to hear quite well, like that of a horse's";
};
if (ears == 3){
tempStr = "Atop your head, you have small triangular ears that stand perk, like that of a wolf's";
};
if (ears == 4){
tempStr = "Atop your head, you have small triangular ears that stand perk, like that of a cat's";
};
if (ears == 5){
tempStr = "Standing out perpendicular from the sides of your head, you have large oval ears that that droop slightly from their size, like that of a cow's";
};
if (ears == 6){
tempStr = "On the sides of your head, you have sleek holes for ears, like many lizards have";
};
if (ears == 7){
tempStr = "Atop your head, you have long ears that stand high and vigilant, like that of a rabbit's";
};
};
return (tempStr);
}
public function cockLoss():void{
var hasHumanCock:int;
var hasHorseCock:int;
var hasWolfCock:int;
var hasCatCock:int;
var hasLizardCock:int;
var hasRabbitCock:int;
var minCock:int;
hasHumanCock = 101;
hasHorseCock = 101;
hasWolfCock = 101;
hasCatCock = 101;
hasLizardCock = 101;
hasRabbitCock = 101;
if (humanCocks > 0){
hasHumanCock = humanAffinity;
};
if (horseCocks > 0){
hasHorseCock = horseAffinity;
};
if (wolfCocks > 0){
hasWolfCock = wolfAffinity;
};
if (catCocks > 0){
hasCatCock = catAffinity;
};
if (lizardCocks > 0){
hasLizardCock = lizardAffinity;
};
if (rabbitCocks > 0){
hasRabbitCock = rabbitAffinity;
};
minCock = Math.min(hasHumanCock, hasHorseCock, hasWolfCock, hasCatCock, hasLizardCock, hasRabbitCock);
if ((((minCock == humanAffinity)) && ((humanCocks > 0)))){
outputMainText("\r\rYou have lost one human cock.", false);
humanCocks--;
} else {
if ((((minCock == horseAffinity)) && ((horseCocks > 0)))){
outputMainText("\r\rYou have lost one horse cock.", false);
horseCocks--;
} else {
if ((((minCock == wolfAffinity)) && ((wolfCocks > 0)))){
outputMainText("\r\rYou have lost one wolf cock.", false);
wolfCocks--;
} else {
if ((((minCock == catAffinity)) && ((catCocks > 0)))){
outputMainText("\r\rYou have lost one cat cock.", false);
catCocks--;
} else {
if ((((minCock == lizardAffinity)) && ((lizardCocks > 0)))){
outputMainText("\r\rYou have lost one lizard cock.", false);
lizardCocks--;
} else {
if ((((minCock == rabbitAffinity)) && ((rabbitCocks > 0)))){
outputMainText("\r\rYou have lost one rabbit cock.", false);
rabbitCocks--;
};
};
};
};
};
};
}
public function doSoftlik():void{
var chance:int;
chance = percent();
if (chance <= 25){
};
if (chance <= 100){
outputMainText("There's nothing to do here...", true);
hrs = 1;
doEnd();
};
}
public function doGender():void{
currentDayCare = dominant;
statDisplay();
viewButtonText(0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0);
viewButtonOutline(0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0);
Choice5.htmlText = "Male";
Choice6.htmlText = "Female";
Choice7.htmlText = "Herm";
outputMainText("Choose which gender you want to be:\r\rMale - You has painus!\r\rFemale - You has vagoo!\r\rHerm - You has painus and vagoo!", true);
doListen = function ():void{
if (buttonChoice == 5){
gender = 1;
};
if (buttonChoice == 6){
gender = 2;
};
if (buttonChoice == 7){
gender = 3;
};
if (gender == 1){
cockSize = 12;
ballSize = 3;
balls = 2;
cockTotal = 1;
cockMoist = 1;
str++;
if (dominant == 1){
humanCocks = 1;
};
if (dominant == 2){
horseCocks = 1;
};
if (dominant == 3){
wolfCocks = 1;
};
if (dominant == 4){
catCocks = 1;
};
if (dominant == 6){
lizardCocks = 2;
cockTotal++;
};
};
if (gender == 2){
vagSize = 12;
vulvaSize = 5;
pregArray = [false, 0, 0, 0, 0];
vagTotal = 1;
vagMoist = 1;
clitSize = 2;
ment++;
};
if (gender == 3){
cockSize = 8;
ballSize = 2;
balls = 2;
cockTotal = 1;
cockMoist = 1;
pregArray = [false, 0, 0, 0, 0];
vagTotal = 1;
vagMoist = 1;
vagSize = 8;
vulvaSize = 3;
if (dominant == 1){
humanCocks = 1;
};
if (dominant == 2){
horseCocks = 1;
};
if (dominant == 3){
wolfCocks = 1;
};
if (dominant == 4){
catCocks = 1;
};
if (dominant == 6){
lizardCocks = 2;
cockTotal++;
};
lib++;
};
bodyType();
};
}
public function makeAlchemy(ID:int, level:int, more:int){
var ID = ID;
var level = level;
var more = more;
buttonConfirm();
outputMainText((("You have chosen to make a " + itemName(ID)) + ".\r\rAre you sure?"), true);
doListen = function ():void{
var tempBool:Boolean;
if (buttonChoice == 6){
tempBool = false;
if ((((ID == 220)) && ((countItem(209) >= 7)))){
tempBool = true;
};
if ((((((ID == 221)) && ((countItem(210) >= 6)))) && (checkItem(114)))){
tempBool = true;
};
if ((((((ID == 503)) && (checkItem(209)))) && (((((((checkItem(114)) || (checkItem(523)))) || ((((vagMoist * 10) * lust) > 3000)))) || ((((cockMoist * 10) * lust) > 3000)))))){
tempBool = true;
};
if ((((((ID == 504)) && (checkItem(115)))) && (checkItem(203)))){
tempBool = true;
};
if ((((((ID == 506)) && (checkItem(114)))) && (checkItem(219)))){
tempBool = true;
};
if ((((ID == 507)) && (checkItem(208)))){
tempBool = true;
};
if ((((((ID == 508)) && ((countItem(209) >= 3)))) && ((((((((countItem(112) >= 2)) || (checkItem(524)))) || ((((vagMoist * 10) * lust) > 6000)))) || ((((cockMoist * 10) * lust) > 6000)))))){
tempBool = true;
};
if ((((((ID == 509)) && (checkItem(503)))) && (((checkItem(501)) || ((countItem(500) >= 3)))))){
tempBool = true;
};
if ((((((ID == 511)) && (checkItem(213)))) && ((countItem(219) >= 3)))){
tempBool = true;
};
if ((((((ID == 0x0200)) && (checkItem(208)))) && (checkItem(218)))){
tempBool = true;
};
if ((((((ID == 513)) && (checkItem(110)))) && (checkItem(120)))){
tempBool = true;
};
if ((((((ID == 0x0202)) && ((countItem(203) >= 2)))) && (checkItem(503)))){
tempBool = true;
};
if ((((ID == 515)) && ((countItem(203) >= 5)))){
tempBool = true;
};
if ((((((ID == 516)) && (checkItem(110)))) && (checkItem(203)))){
tempBool = true;
};
if ((((((ID == 517)) && ((countItem(507) >= 3)))) && (checkItem(523)))){
tempBool = true;
};
if ((((((((((ID == 518)) && (checkItem(201)))) && (checkItem(202)))) && (checkItem(207)))) && (checkItem(210)))){
tempBool = true;
};
if ((((((((ID == 519)) && (checkItem(222)))) && (checkItem(206)))) && (checkItem(504)))){
tempBool = true;
};
if ((((((ID == 520)) && (checkItem(216)))) && ((countItem(212) >= 3)))){
tempBool = true;
};
if ((((((ID == 521)) && (checkItem(120)))) && (checkItem(210)))){
tempBool = true;
};
if ((((((ID == 522)) && ((countItem(0x0200) >= 3)))) && (checkItem(524)))){
tempBool = true;
};
if ((((((((ID == 532)) && (checkItem(530)))) && (checkItem(212)))) && (checkItem(206)))){
tempBool = true;
};
if (tempBool == true){
if (ID == 220){
loseManyItem(209, 7);
};
if (ID == 221){
loseManyItem(210, 6);
loseManyItem(114, 1);
};
if (ID == 503){
loseManyItem(209, 1);
if ((((((vagMoist * 10) * lust) > 3000)) || ((((cockMoist * 10) * lust) > 3000)))){
} else {
if (checkItem(523)){
loseManyItem(523, 1);
} else {
loseManyItem(114, 1);
};
};
};
if (ID == 504){
loseManyItem(115, 1);
loseManyItem(203, 1);
};
if (ID == 506){
loseManyItem(114, 1);
loseManyItem(219, 1);
};
if (ID == 507){
loseManyItem(208, 1);
};
if (ID == 508){
loseManyItem(209, 3);
if ((((((vagMoist * 10) * lust) > 6000)) || ((((cockMoist * 10) * lust) > 6000)))){
} else {
if (checkItem(524)){
loseManyItem(524, 1);
} else {
loseManyItem(112, 2);
};
};
};
if (ID == 509){
loseManyItem(503, 1);
if (countItem(500) >= 3){
loseManyItem(500, 3);
} else {
loseManyItem(501, 1);
};
};
if (ID == 511){
loseManyItem(213, 1);
loseManyItem(219, 3);
};
if (ID == 0x0200){
loseManyItem(208, 1);
loseManyItem(218, 1);
};
if (ID == 513){
loseManyItem(110, 1);
loseManyItem(120, 1);
};
if (ID == 0x0202){
loseManyItem(203, 2);
loseManyItem(503, 1);
};
if (ID == 515){
loseManyItem(203, 5);
};
if (ID == 516){
loseManyItem(110, 1);
loseManyItem(203, 1);
};
if (ID == 517){
loseManyItem(507, 3);
loseManyItem(523, 1);
};
if (ID == 518){
loseManyItem(201, 1);
loseManyItem(202, 1);
loseManyItem(207, 1);
loseManyItem(210, 1);
};
if (ID == 519){
loseManyItem(206, 1);
loseManyItem(222, 1);
loseManyItem(504, 1);
};
if (ID == 520){
loseManyItem(212, 3);
loseManyItem(216, 1);
};
if (ID == 521){
loseManyItem(120, 1);
loseManyItem(210, 1);
};
if (ID == 522){
loseManyItem(0x0200, 3);
loseManyItem(524, 1);
};
if (ID == 532){
loseManyItem(530, 1);
loseManyItem(212, 1);
loseManyItem(206, 1);
};
if (level == 1){
itemAdd(ID);
if (percent() <= (55 + (alchemistLevel * 2))){
itemAdd(ID);
};
if (percent() <= (25 + (alchemistLevel * 2))){
itemAdd(ID);
};
if (percent() <= (5 + (alchemistLevel * 2))){
itemAdd(ID);
};
};
if (level == 2){
itemAdd(ID);
if (percent() <= (55 + alchemistLevel)){
itemAdd(ID);
};
if (percent() <= (25 + alchemistLevel)){
itemAdd(ID);
};
if (percent() <= (5 + alchemistLevel)){
itemAdd(ID);
};
};
if (level == 3){
itemAdd(ID);
if (percent() <= (55 + ((alchemistLevel * 2) / 3))){
itemAdd(ID);
};
if (percent() <= (25 + ((alchemistLevel * 2) / 3))){
itemAdd(ID);
};
if (percent() <= (5 + ((alchemistLevel * 2) / 3))){
itemAdd(ID);
};
};
doProcess();
} else {
outputMainText("Sorry, but you do not have the necessary ingredients on hand. Please choose something else.", true);
doNext();
doListen = function ():void{
if (level == 1){
simpleAlchemy(more);
};
if (level == 2){
complexAlchemy(more);
};
if (level == 3){
advancedAlchemy(more);
};
};
};
} else {
if (level == 1){
simpleAlchemy(more);
};
if (level == 2){
complexAlchemy(more);
};
if (level == 3){
advancedAlchemy(more);
};
};
};
}
public function saveGo():void{
var so:SharedObject;
so = SharedObject.getLocal("NiminFetishFantasy");
bc();
appearanceText.visible = false;
appearanceBox.visible = false;
viewButtonOutline(1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1);
viewButtonText(1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1);
if (so.data.saveGame1){
buttonWrite(1, ((("D:" + so.data.saveGame1[9]) + " H:") + so.data.saveGame1[10]));
} else {
buttonWrite(1, "Empty");
};
if (so.data.saveGame2){
buttonWrite(2, ((("D:" + so.data.saveGame2[9]) + " H:") + so.data.saveGame2[10]));
} else {
buttonWrite(2, "Empty");
};
if (so.data.saveGame3){
buttonWrite(3, ((("D:" + so.data.saveGame3[9]) + " H:") + so.data.saveGame3[10]));
} else {
buttonWrite(3, "Empty");
};
if (so.data.saveGame5){
buttonWrite(5, ((("D:" + so.data.saveGame5[9]) + " H:") + so.data.saveGame5[10]));
} else {
buttonWrite(5, "Empty");
};
if (so.data.saveGame6){
buttonWrite(6, ((("D:" + so.data.saveGame6[9]) + " H:") + so.data.saveGame6[10]));
} else {
buttonWrite(6, "Empty");
};
if (so.data.saveGame7){
buttonWrite(7, ((("D:" + so.data.saveGame7[9]) + " H:") + so.data.saveGame7[10]));
} else {
buttonWrite(7, "Empty");
};
if (so.data.saveGame9){
buttonWrite(9, ((("D:" + so.data.saveGame9[9]) + " H:") + so.data.saveGame9[10]));
} else {
buttonWrite(9, "Empty");
};
if (so.data.saveGame10){
buttonWrite(10, ((("D:" + so.data.saveGame10[9]) + " H:") + so.data.saveGame10[10]));
} else {
buttonWrite(10, "Empty");
};
if (so.data.saveGame11){
buttonWrite(11, ((("D:" + so.data.saveGame11[9]) + " H:") + so.data.saveGame11[10]));
} else {
buttonWrite(11, "Empty");
};
buttonWrite(12, "Return");
outputMainText("Click on a save slot to save your current game to that slot.\r\rOtherwise, click Return to go back to what you were doing.", true);
doListen = function ():void{
var slot:int;
if (buttonChoice != 12){
slot = buttonChoice;
if ((((buttonChoice == 1)) && (so.data.saveGame1))){
outputMainText((((("Day: " + so.data.saveGame1[9]) + ", Hour: ") + so.data.saveGame1[10]) + ":00"), true);
} else {
if (buttonChoice == 1){
outputMainText("The chosen slot is empty", true);
};
};
if ((((buttonChoice == 2)) && (so.data.saveGame2))){
outputMainText((((("Day: " + so.data.saveGame2[9]) + ", Hour: ") + so.data.saveGame2[10]) + ":00"), true);
} else {
if (buttonChoice == 2){
outputMainText("The chosen slot is empty", true);
};
};
if ((((buttonChoice == 3)) && (so.data.saveGame3))){
outputMainText((((("Day: " + so.data.saveGame3[9]) + ", Hour: ") + so.data.saveGame3[10]) + ":00"), true);
} else {
if (buttonChoice == 3){
outputMainText("The chosen slot is empty", true);
};
};
if ((((buttonChoice == 5)) && (so.data.saveGame5))){
outputMainText((((("Day: " + so.data.saveGame5[9]) + ", Hour: ") + so.data.saveGame5[10]) + ":00"), true);
} else {
if (buttonChoice == 5){
outputMainText("The chosen slot is empty", true);
};
};
if ((((buttonChoice == 6)) && (so.data.saveGame6))){
outputMainText((((("Day: " + so.data.saveGame6[9]) + ", Hour: ") + so.data.saveGame6[10]) + ":00"), true);
} else {
if (buttonChoice == 6){
outputMainText("The chosen slot is empty", true);
};
};
if ((((buttonChoice == 7)) && (so.data.saveGame7))){
outputMainText((((("Day: " + so.data.saveGame7[9]) + ", Hour: ") + so.data.saveGame7[10]) + ":00"), true);
} else {
if (buttonChoice == 7){
outputMainText("The chosen slot is empty", true);
};
};
if ((((buttonChoice == 9)) && (so.data.saveGame9))){
outputMainText((((("Day: " + so.data.saveGame9[9]) + ", Hour: ") + so.data.saveGame9[10]) + ":00"), true);
} else {
if (buttonChoice == 9){
outputMainText("The chosen slot is empty", true);
};
};
if ((((buttonChoice == 10)) && (so.data.saveGame10))){
outputMainText((((("Day: " + so.data.saveGame10[9]) + ", Hour: ") + so.data.saveGame10[10]) + ":00"), true);
} else {
if (buttonChoice == 10){
outputMainText("The chosen slot is empty", true);
};
};
if ((((buttonChoice == 11)) && (so.data.saveGame11))){
outputMainText((((("Day: " + so.data.saveGame11[9]) + ", Hour: ") + so.data.saveGame11[10]) + ":00"), true);
} else {
if (buttonChoice == 11){
outputMainText("The chosen slot is empty", true);
};
};
outputMainText((("\r\rAre you sure you want to save your game to slot " + buttonChoice) + "?\r\rAny data already saved there will be automatically overwritten."), false);
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
doSave(slot);
doReturn();
} else {
saveGo();
};
};
};
if (buttonChoice == 12){
doReturn();
};
};
}
public function viewAmount(buttonNum:int, tempBool:Boolean):void{
if (buttonNum == 1){
Amount1.visible = tempBool;
AmountOutline1.visible = tempBool;
};
if (buttonNum == 2){
Amount2.visible = tempBool;
AmountOutline2.visible = tempBool;
};
if (buttonNum == 3){
Amount3.visible = tempBool;
AmountOutline3.visible = tempBool;
};
if (buttonNum == 4){
Amount4.visible = tempBool;
AmountOutline4.visible = tempBool;
};
if (buttonNum == 5){
Amount5.visible = tempBool;
AmountOutline5.visible = tempBool;
};
if (buttonNum == 6){
Amount6.visible = tempBool;
AmountOutline6.visible = tempBool;
};
if (buttonNum == 7){
Amount7.visible = tempBool;
AmountOutline7.visible = tempBool;
};
if (buttonNum == 8){
Amount8.visible = tempBool;
AmountOutline8.visible = tempBool;
};
if (buttonNum == 9){
Amount9.visible = tempBool;
AmountOutline9.visible = tempBool;
};
if (buttonNum == 10){
Amount10.visible = tempBool;
AmountOutline10.visible = tempBool;
};
if (buttonNum == 11){
Amount11.visible = tempBool;
AmountOutline11.visible = tempBool;
};
if (buttonNum == 12){
Amount12.visible = tempBool;
AmountOutline12.visible = tempBool;
};
}
public function doProcess():void{
if (itemGainArray.length != 0){
itemGainArray.sort();
gainItem(itemGainArray.pop());
} else {
if (((((((((!((human == 0))) || (!((horse == 0))))) || (!((wolf == 0))))) || (!((cat == 0))))) || (!((cow == 0))))){
affinityChange();
} else {
if (hrs != 0){
dayTime(hrs);
} else {
doReturn();
};
};
};
}
public function doBag():void{
inBag = true;
bc();
viewButtonText(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
viewButtonOutline(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
i = 1;
while (i < 13) {
buttonWrite(i, itemName(itemID(i)));
if (stackAmount(i) > 1){
viewAmount(i, true);
amountWrite(i, (("" + stackAmount(i)) + ""));
};
if (i == 12){
buttonWrite(12, "Return");
};
i++;
};
buttonWrite(4, "<<");
buttonWrite(8, ">>");
showPage(true, 1);
doListen = function ():void{
if (buttonChoice == 12){
inBag = false;
showPage(false, 1);
hideAmount();
doReturn();
} else {
if (buttonChoice == 4){
if (currentItems == 1){
currentItems = 3;
} else {
if (currentItems == 2){
currentItems = 1;
} else {
if (currentItems == 3){
currentItems = 2;
};
};
};
hideAmount();
showPage(true, 1);
doBag();
} else {
if (buttonChoice == 8){
if (currentItems == 1){
currentItems = 2;
} else {
if (currentItems == 2){
currentItems = 3;
} else {
if (currentItems == 3){
currentItems = 1;
};
};
};
hideAmount();
showPage(true, 1);
doBag();
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
hideAmount();
useItem(buttonChoice);
};
};
};
};
};
}
public function doDen():void{
var chance:int;
chance = percent();
if ((((((((chance <= 25)) && ((silTied == false)))) && (!(checkItem(229))))) && (!(checkStash(229))))){
outputMainText("You head to the den, but this time Silandrias isn't there to greet you at the entrance. Just checking to make sure she's not there, you head inside to see if you can find her.\r\rYou quickly discover this was a bad idea.\r\rThe maze of tunnels is so confusing that you wind up lost and wandering about. You have no idea where you are going, though you intended to meet her in a main room, and instead find yourself in some sort of storage room. It's obviously been a long time since it has really been used, there's hardly any items in it. However, you do spot a strange piece of leather. Holding it up and eyeing it, the leather strap is circular with a few large holes. Thinking more carefully, you realize this would fit perfectly around the base of Silandrias' tail, with room for the spikes, and tie tightly.\r\rWith a shrug, you take it with you as you may find some use for it eventually.", true);
hrs = 4;
itemAdd(229);
doEnd();
} else {
if (silRep == 6){
outputMainText("Knowing your way through the tunnels well enough by now, you don't bother to ring the chimes. You head inside, finding your way through to the birthing chamber where Silandrias still resides, carefully watching over her ", true);
if (silPreg <= 1000){
outputMainText((("" + Math.floor((silPreg / 100))) + ""), false);
} else {
if (silPreg <= 5000){
outputMainText((("" + Math.floor((silPreg / 75))) + ""), false);
} else {
outputMainText((("" + Math.floor((silPreg / 50))) + ""), false);
};
};
outputMainText(" giant eggs with Naeru and Daeru.\r\rThe two caretakers, born to help both the their siblings and mother as well as provide loyal company, trot around and roll the eggs from bedding to bedding to make sure they're all clean and warm. They also snuggle up with their mother when they aren't busy, suckling from her for sustenance or bringing her food and other interests from Oviasis. When they spot you coming they start yipping happily, wagging their lizard-like tails while their large vulpine ear bounce about, running in circles around you as you approach.\r\rSilandrias hasn't quite returned to her original height yet, still a few feet taller from the massive birth with plenty of breasts running down her front, the topmost pair threatening to tip her over with their milk-laden size and weight. Staying down here to watch over her children, waiting for the day they'll hatch so she'll be there for them, has left her without need for clothes, letting her naked body rub against you as she gives you a welcoming hug.\r\r\"Welcome back, honey~\" She gives you a kiss and motions for you to cuddle up with her.\r\rThe two of you lovingly entwined about each other with Naeru and Daeru curled up upon you, you talk about everything. Even though she's not in the mood for sex, as she spends more time milking herself than getting aroused, she still makes for some good company.\r\rAfter a few hours together, the pups really need to get back to their duties and Silandrias could use a nap from her exhausting form, she offers to share her now-secondary hobby with you. \"Would you like to borrow one of my treasures before you go?\"", false);
hrs = 4;
doNext();
doListen = function ():void{
if (((((((((checkStash(232)) || (checkStash(233)))) || (checkStash(234)))) || (checkStash(235)))) || (checkStash(236)))){
outputMainText("While you may potentially want another one of Silandrias' magical goodies, you recall you left the current one you are borrowing back in your stash. You wouldn't want to take advantage of a waiting mother (you wouldn't, RIGHT?!), so you decline and thank her kindly before heading out.", true);
doEnd();
} else {
viewButtonOutline(0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1);
viewButtonText(0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1);
buttonWrite(2, "Flying Carp");
buttonWrite(5, "A-Grav Rock");
buttonWrite(6, "Rein Charm");
buttonWrite(7, "Fell Rod");
buttonWrite(10, "Recept Bell");
buttonWrite(12, "No Thanks");
outputMainText("\"Anything you might be interested in?\"", true);
if (checkItem(232)){
Choice2.visible = false;
};
if (checkItem(233)){
Choice5.visible = false;
};
if (checkItem(234)){
Choice6.visible = false;
};
if (checkItem(235)){
Choice7.visible = false;
};
if (checkItem(236)){
Choice10.visible = false;
};
if (!checkItem(232)){
outputMainText("\r\rFlying Carpet - A flying carpet just like Naeru and Daeru used to help Silandrias, it can help you get from town to town.", false);
};
if (!checkItem(233)){
outputMainText("\r\rAnti-Gravity Rock - A small rock that floats in the air and can make you feel a little floaty as well if you hold it.", false);
};
if (!checkItem(234)){
outputMainText("\r\rReindeer Charm - A large sapphire gem carved in the shape of a reindeers head with large antlers, it can fill you with the essence of the reindeer mother.", false);
};
if (!checkItem(235)){
outputMainText("\r\rFellatio Rod - A lewd-looking rod, it is not a sexual toy but rather a weapon that can drain the life-force from an opponent.", false);
};
if (!checkItem(236)){
outputMainText("\r\rReception Bell - A small cowbell on a collar, wearing it makes you more receptive to learning and outside influences.", false);
};
doListen = function ():void{
if (buttonChoice == 12){
outputMainText("Happy with what you have now, you decline the offer but thank her and the pups with a hug before leaving.", true);
doEnd();
} else {
outputMainText("You are, in fact, interested in something. ", true);
if (((((((((checkItem(232)) || (checkItem(233)))) || (checkItem(234)))) || (checkItem(235)))) || (checkItem(236)))){
outputMainText("Handing back the ", true);
if (checkItem(232)){
outputMainText("Flying Carpet", false);
loseManyItem(232, 1);
};
if (checkItem(233)){
outputMainText("Anti-Gravity Rock", false);
loseManyItem(233, 1);
};
if (checkItem(234)){
outputMainText("Reindeer Charm", false);
loseManyItem(234, 1);
};
if (checkItem(235)){
outputMainText("Fellatio Rod", false);
loseManyItem(235, 1);
};
if (checkItem(236)){
outputMainText("Reception Bell", false);
loseManyItem(236, 1);
};
outputMainText(" you borrowed before, you thank her graciously again for letting you try it out. ", false);
};
outputMainText("Deciding you would like to test the ", false);
if (buttonChoice == 2){
outputMainText("Flying Carpet", true);
itemAdd(232);
};
if (buttonChoice == 5){
outputMainText("Anti-Gravity Rock", true);
itemAdd(233);
};
if (buttonChoice == 6){
outputMainText("Reindeer Charm", true);
itemAdd(234);
};
if (buttonChoice == 7){
outputMainText("Fellatio Rod", true);
itemAdd(235);
};
if (buttonChoice == 10){
outputMainText("Reception Bell", true);
itemAdd(236);
};
outputMainText(", Silandrias hands it to you with a smile.\r\r\"Hope you enjoy it~\" She gives you a hug as you thank her for giving access to her magical treasures that she has been hoarding. \"It's quite alright dear, I want to share everything with you~\"\r\rYou soon finish saying your goodbyes to both her and the pups and make your way out.", false);
doEnd();
};
};
};
};
} else {
if ((((silRep == 5)) && ((((silGrowthTime > 360)) || ((silPreg >= 10000)))))){
outputMainText("You approach the entrance to the den, peeking inside with no idea how to navigate the tunnels. So, instead, you grab one of the chimes that decorate the entryway and give it a jingle, like ringing a doorbell.\r\rAfter waiting for several minutes, there's no sign of Silandrias. Instead, a four-legged fox-like animal with a scaled belly and lizard-like tail runs full throttle up to you an urgent look on its face. ", true);
if (percent() <= 50){
outputMainText("Naeru (or Daeru?)", false);
} else {
outputMainText("Daeru (or Naeru?)", false);
};
outputMainText(" yips loudly, begging you to follow as she turns and runs away, stopping only to make sure you're following. She guides you rapidly through a much different network than Silandrias used too and picks up her pace as you reach your destination, imperative that you get there soon.\r\rThe tunnel opens up into an enormous room. Several stories high and nearly spherical in shape, it's amazing such a structure existed below the sands. Grander than a ballroom of a palace, balconies circle the curved walls every several feet high, at least fifty feet in diameter, marking the many floors with an open view to the spacious inner portion of the room. And right in its center lies Silandrias.\r\r", false);
if (silPreg <= 150){
outputMainText("Supported solely by her breasts and growing belly, she seems quite comfortable laying on her front. Her tail flicks back and forth idly as her wings casually stroke about her top pair of breasts, which have been up-turned so the pups could access them. Even now the round orbs spurt thin streams of milk from her weight, with even more soaking into her bedding from the rest beneath.", false);
} else {
if (silPreg <= 500){
outputMainText("Supported mostly by her large belly, her feet barely touch the ground and her tail moves to help keep her balanced. A rather precarious position, but she seems rather comfortable nonetheless. Her breasts have swollen slightly more, the bottom pair preventing her from rolling forward, and they dribble slightly from the pups' feedings.", false);
} else {
if (silPreg <= 1000){
outputMainText("Supported entirely by her huge belly, her legs reach for the floor without being able to touch. Yet, she still manages to remain balanced with casual swings of her tail and her breasts holding her still. Oddly, she seems to have grown an extra pair or two across the stretched belly-scales, already spraying a bit of milk...", false);
} else {
if (silPreg <= 2000){
outputMainText("Held aloft by her giant belly, the poor girl can only fold her legs behind her, trying not to touch the masculine erection that would be better measured in feet than inches now, thanks to the swelling from her massive pregnancy. More breasts have blossomed along her stretched belly-scales, with all of her orbs looking swollen. They do provide some nice cushions for her head, however, as her wings can barely wrap around her top pair and moosh them together while they spray milk everywhere.", false);
} else {
if (silPreg <= 4000){
outputMainText("Looking as though she's trapped on top of a house, the girl's belly has grown so large that even her torso has stretched to accomodate its size, a sign of how flexible her body can really be. She idly rubs the giant nipples of her topmost pair of breasts, her wings stretching to reach, with plenty more milk fountains lining her front. Her backside is nearly just as moist as her feet slowly stroke the enormous shaft of her engorged cock, pre dribbling down the scales nearly nonstop with more slickness descending from her slit.", false);
} else {
if (silPreg <= 7000){
outputMainText("A building of belly, the girl is but a stretched decoration on top. She seems perfectly happy though, her feathers brushing across the sensitive breastflesh of her topmost pair of boobs while her feet massage her testicles and squeeze the shaft of her pre-drooling cock through the scrotum that covers it. Breasts upon breasts spurt milk across her scales, leaving the floor quite moist and giving the pups plenty to drink. It's amazing she's so flexible and so fertile, and almost frightening how many eggs she may be filled with...", false);
} else {
if (silPreg <= 10000){
outputMainText("Very nearing the maximum size of the room, her belly fills most of your vision. Large breasts everywhere gush with milk from the tautness of her scales, with the topmost providing a nice pillows for her to fold her wings and lay upon, individually. Her feet can barely massage her testicles, unable to even reach her own giant cock which threatens to break through some of the balconies while pre coats her underside and leaves a large puddle on the floor. She has grown so large, you wonder how tall she would possibly be without the grand gut throwing off your perspective...", false);
};
};
};
};
};
};
};
if (silPreg > 10000){
outputMainText("Absolutely filled with belly and breasts, milk leaking everywhere and mixing with the pre to nearly form a lake on the floor, it's amazing she can even fit. Or, more accurately, that she can't.\r\r\"I-I can't fit anymore!\" The girl's voice cries out from the ceiling. \"I need to lay these things NOW!\" She lets out a panting howl as she forces herself to term, her talongs digging into her breast-flesh and her hips jerking in preparation.", false);
} else {
outputMainText("\r\rHowever, her comforted appearance is dashed when you notice she is panting very heavily and is actually rubbing herself as a distraction. \"Hoo, hoo. Thank goodness you're here!\" She fakes a smile but then winces as she feels something press against her insides. \"I, I waited for you to come, but... IT'S TIME!\"\r\rShe lets out a howl as her talons dig into her own breast-flesh, her hips jerking with the pressure.", false);
};
doNext();
doListen = function ():void{
outputMainText((("The pup grabs you by your " + clothesBottom()) + " and yanks you toward a flying carpet to aid with the laying. The two of you fly up and meet the other pup at her "), true);
if (silTied == true){
outputMainText("nethers, just in time to see her pussy gape surprisingly wide, her hips spreading for the object within. Her cock visibly twitches, spitting out pre in large gobs as the egg approaches, and begins to gush across her scales with steamy spunk as the white shell begins to crown. The seed-cannon doesn't end, continually spurting as the egg pushes its way out as lubrication spills across her swollen testicles, which drops onto the carpet a pup has readied.", false);
} else {
outputMainText("tail, just in time to see the base of her tail swell obscenely, her hips spreading for the object within. Her cock visible twitches, spitting out pre in large gobs as the egg stalls at her rump, her legs furiously bucking trying to push it. She groans and howls, desparately trying to get it through, but her muscles are too tense to allow it through. So, taking matters into your own hands, you lean up against her erection and knead it roughly.\r\rThe howl turns from pained to ecstatic as the organ bursts across her scales with steamy spunk as the bulge pushes through the base of her tail. The seed-cannon doesn't end, continually spurting as the egg pushes its way through her tail, making it look many times thicker than before, as lubrication spills out from the tip until the egg plops onto the carpet a pup has readied.", false);
};
outputMainText("\r\rThe ejaculation only dies down to a steady gurgle as the next egg prepares itself for birth, giving you a moment to gawk at the egg. Over three feet high and two feet in diameter, it's nearly twice the size of the eggs of the pups. You almost cringe at the thought of trying to birth such a thing yourself.\r\rYour admiration is quickly interupted as the warbling howls echo about again, the increased splurting of semen announcing the next arrival.", false);
if (silPreg > 2000){
outputMainText(" The pup quickly deposits the egg on a nearby balcony before returning for the next, alternating with her sister to carry the eggs away as they squeeze out of their mother.", false);
};
if (silPreg > 4000){
outputMainText(" When she eventually shrinks from the loss of enough eggs, the pups then deposit the eggs on the next lowest balcony, spreading them out nicely.", false);
};
if (silPreg > 8000){
outputMainText(" After several hours, nearly all of the balconies are filled with giant eggs, rolled around and resting safely against the walls.", false);
};
if (silPreg <= 2000){
outputMainText(" The pup quickly deposits the egg on the floor nearby, easier than using the balconies at this height, before returning for the next egg, alternating with her sister to carry the ovoid objects away as they squeeze out of their mother.", false);
};
doNext();
doListen = function ():void{
outputMainText("Hours later, Silandrias is panting upon the floor, cushioned by her soft breasts, her belly finally empty.", true);
if (silPreg > 2000){
outputMainText(" With eggs everywhere", false);
} else {
outputMainText(" With eggs circling you", false);
};
outputMainText(", the laying process has finally finished.\r\rYou crawl up besides the exhausted woman, stroking her auburn hair and coaxing her to relax, she gives you a big smile. \"I'm pretty sure are real too.\"", false);
doNext();
doListen = function ():void{
outputMainText("The next day, after plenty of cleaning of spunk and slime and milk, and especially sleep, the four of you can finally breath. Silandrias, though a bit taller from being stretched by her belly and carrying a massive amount of boob-flesh, is able to walk with the aid of a carpet thanks to much of her body having deflated along with her belly. Eager to overlook her eggs, the four of you gather around and begin counting as you set up individual beddings for each egg, just like the kind Silandrias was hatched from.\r\r", true);
if (silPreg <= 1000){
outputMainText((("A whole " + Math.floor((silPreg / 100))) + " eggs. Around the same size as the clutch she grew up with, she's quite satisfied. \"I'm sure it'll be a good 'start' in building a new family\" She winks with a giggle."), false);
} else {
if (silPreg <= 5000){
outputMainText((("A total of " + Math.floor((silPreg / 75))) + ", spread across the lower balconies of the birthing chamber, its far more than the clutch she grew up with. \"I didn't know I could make so many... And it'll be such a big family!\" She looks around in awe."), false);
} else {
outputMainText((("A massive " + Math.floor((silPreg / 50))) + ", spread across all of the balconies of the birthing chamber, you wonder if the clutch she grew up with was just a fraction of a bigger bunch. \"Wow... I-I didn't think this was even possible. From up there, I couldn't really tell but... Wow... I. I think we have just restarted my race\" Her eyes are wide as the number finally sinks in. Oh how her breasts are going to hurt..."), false);
};
};
outputMainText("\r\r\"Although, I have no idea how long it will take them to hatch. I mean, I don't know how long we were down in that room before we hatched. And I definitely don't want them to hatch without parents, I'm going to stay here and wait for them, no matter how long it takes. While I'm sure Naeru and Daeru would do well, I want to be there for my children when they hatch. And I hope you will be there too, when it eventually starts.\" She turns and embraces you, putting much of her weight into you for support but also nearly crushing you with her loving hug in the meantime. \"It may be years from now, but I will definitely try to let you know when it happens, since I'm sure you won't be able to stay here. And I could even send out letters to my sisters as well, make a great big family reunion! But... that's really getting ahead of myself. Thank you, honey.\" She hugs you again, kissing you gently.", false);
doNext();
doListen = function ():void{
outputMainText("Spending a few more hours with the family, everything settles down and there really isn't much to do anymore except to wait. With not a problem to be had, Silandrias and the pups nuzzle you goodbye, since there's things you could actually be doing in the meantime.\r\rOh, and I can't believe I've forgotten about it until now, maybe because of the, umm...\" Her face blushes at what she had been distracted with this whole time. \"But you're welcome to borrow any of the magical treasures I've found as part of my hobby. Although only a few are actually worth using, you can pick one up whenever you're here.\" She smiles and gives you another hug, gushing milk across your front, and finally lets you leave.", true);
hrs = (30 + Math.floor((silPreg / 1000)));
silRep = 6;
doSexP((50 + Math.floor((silPreg / 100))));
doEnd();
};
};
};
};
} else {
if ((((silRep == 5)) && ((silPreg > 30)))){
outputMainText("You approach the entrance to the den, peeking inside with no idea how to navigate the tunnels. So, instead, you grab one of the chimes that decorate the entryway and give it a jingle, like ringing a doorbell.\r\rAfter waiting for several minutes, there's no sign of Silandrias. Instead, a four-legged fox-like animal with a scaled belly and lizard-like tail comes trotting up to you with a happy smile and lolling tongue. ", true);
if (percent() <= 50){
outputMainText("Naeru (or Daeru?)", false);
} else {
outputMainText("Daeru (or Naeru?)", false);
};
outputMainText(" lovingly rubs her head up against your leg, then turns and trots away, stopping only to make sure you're following. She guides you through a much different network than Silandrias used too and picks up her pace as you reach your destination.\r\rThe tunnel opens up into an enormous room. Several stories high and nearly spherical in shape, it's amazing such a structure existed below the sands. Grander than a ballroom of a palace, balconies circle the curved walls every several feet high, at least fifty feet in diameter, marking the many floors with an open view to the spacious inner portion of the room. And right in its center lies Silandrias.\r\r", false);
if (silPreg <= 150){
outputMainText("Supported solely by her breasts and growing belly, she seems quite comfortable laying on her front. Her tail flicks back and forth idly as her wings casually stroke about her top pair of breasts, which have been up-turned so the pups could access them. Even now the round orbs spurt thin streams of milk from her weight, with even more soaking into her bedding from the rest beneath.", false);
} else {
if (silPreg <= 500){
outputMainText("Supported mostly by her large belly, her feet barely touch the ground and her tail moves to help keep her balanced. A rather precarious position, but she seems rather comfortable nonetheless. Her breasts have swollen slightly more, the bottom pair preventing her from rolling forward, and they dribble slightly from the pups' feedings.", false);
} else {
if (silPreg <= 1000){
outputMainText("Supported entirely by her huge belly, her legs reach for the floor without being able to touch. Yet, she still manages to remain balanced with casual swings of her tail and her breasts holding her still. Oddly, she seems to have grown an extra pair or two across the stretched belly-scales, already spraying a bit of milk...", false);
} else {
if (silPreg <= 2000){
outputMainText("Held aloft by her giant belly, the poor girl can only fold her legs behind her, trying not to touch the masculine erection that would be better measured in feet than inches now, thanks to the swelling from her massive pregnancy. More breasts have blossomed along her stretched belly-scales, with all of her orbs looking swollen. They do provide some nice cushions for her head, however, as her wings can barely wrap around her top pair and moosh them together while they spray milk everywhere.", false);
} else {
if (silPreg <= 4000){
outputMainText("Looking as though she's trapped on top of a house, the girl's belly has grown so large that even her torso has stretched to accomodate its size, a sign of how flexible her body can really be. She idly rubs the giant nipples of her topmost pair of breasts, her wings stretching to reach, with plenty more milk fountains lining her front. Her backside is nearly just as moist as her feet slowly stroke the enormous shaft of her engorged cock, pre dribbling down the scales nearly nonstop with more slickness descending from her slit.", false);
} else {
if (silPreg <= 7000){
outputMainText("A building of belly, the girl is but a stretched decoration on top. She seems perfectly happy though, her feathers brushing across the sensitive breastflesh of her topmost pair of boobs while her feet massage her testicles and squeeze the shaft of her pre-drooling cock through the scrotum that covers it. Breasts upon breasts spurt milk across her scales, leaving the floor quite moist and giving the pups plenty to drink. It's amazing she's so flexible and so fertile, and almost frightening how many eggs she may be filled with...", false);
} else {
if (silPreg <= 10000){
outputMainText("Very nearing the maximum size of the room, her belly fills most of your vision. Large breasts everywhere gush with milk from the tautness of her scales, with the topmost providing a nice pillows for her to fold her wings and lay upon, individually. Her feet can barely massage her testicles, unable to even reach her own giant cock which threatens to break through some of the balconies while pre coats her underside and leaves a large puddle on the floor. She has grown so large, you wonder how tall she would possibly be without the grand gut throwing off your perspective...", false);
};
};
};
};
};
};
};
if (silPreg > 1000){
outputMainText("\r\rThe other pup that isn't attached to you at the moment flies around on a magical carpet, one of Silandrias' treasures, guiding it with just some clawing and a few yips. With her mother so large, its the only way to reach the giant woman without wings of her own, as well as carrying supplies.", false);
} else {
outputMainText("\r\rThe other pup that isn't attached to you at the moment flies around on a magical carpet, one of Silandrias' treasures, guiding it with just some clawing and a few yips. She uses it to carry food and other supplies around, especially in such a big room.", false);
};
outputMainText("\r\r\"Hi!\" She calls out with a smile. \"Ever since I started getting... 'bigger' again, I just had an urge to come to this room and lay on my belly like this. And from there, I haven't really moved...\" She laughs a little at how lazy it must make her sound. \"But Naeru and Daeru seem to understand it just fine. They even made sure that I didn't get up at first. Instead, they've been bringing me all the food and stuff I need, and keeping me very good company, taking care of me just as well as Saeru did when we were little. And it would explain why I found some flying carpets around these tunnels, even though my people can fly. I guess we made them so the caretaker-kind could join us. Meanwhile, I've just been getting... well, bigger.\" She sticks out her tongue at her own bluntness. Then she smiles at your presence. \"I'm glad you're here to, though. So how would you like to help me pass that time?\"", false);
viewButtonOutline(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0);
buttonWrite(1, "Fuck");
buttonWrite(3, "Be Fucked");
buttonWrite(7, "Eggcelerator");
buttonWrite(9, "Cuddle");
if (cockTotal > 0){
Choice1.visible = true;
};
if ((((vagTotal > 0)) && ((vagLimit() > (22 + (silPreg / 24)))))){
Choice3.visible = true;
};
if (((checkItem(229)) && ((silTied == false)))){
buttonWrite(5, "Tie Tail");
Choice5.visible = true;
};
if (silTied == true){
buttonWrite(5, "Untie");
Choice5.visible = true;
};
if (((checkItem(230)) && ((silPreg > 30)))){
Choice7.visible = true;
};
doListen = function ():void{
var getCum:int;
if (buttonChoice == 1){
getCum = cumAmount();
outputMainText("Even though Silandrias doesn't seem like she can move much, it doesn't mean she doesn't have needs. Stripping your clothes, ", true);
if ((silPreg / 100) > (tallness / 24)){
outputMainText(" you hop onto a flying carpet so you can actually reach her moist cunt.", false);
} else {
outputMainText(" you move to her backside to attend to her moist cunt.", false);
};
if (silPreg < 400){
outputMainText(((((" Lifting her tail aside, her pussy is slightly swollen from her growing girth and doesn't take much effort to stretch around " + oneYour(1)) + " cock") + plural(1)) + " as you push it in."), false);
} else {
if (silPreg < 2000){
outputMainText(((((" Lifting her tail aside, her pussy has grown large with her enormous belly, so much so you could probably fit your whole hand inside without much effort, making inserting " + oneYour(1)) + " cock") + plural(1)) + " a breeze."), false);
} else {
outputMainText(((((" Lifting her tail aside, the hole is gaping and stretched from her enormous belly, large enough to insert a whole limb if you wanted to, allowing " + oneYour(1)) + " cock") + plural(1)) + " to press in with ease."), false);
};
};
outputMainText(" Despite her larger size, the passage still manages to suck you in and grind about your cock, her hips twitching as she lets out a howl to suck it in. Her pregnant condition seems to only make her body want to suck out your cum more. And you're in a rather generous mood.\r\rGrabbing her widened thighs, you pound against her again and again. She takes in your length without issue, with plenty of malleable room within. Below, her own erection spits up larger gobs of pre, growing whiter and whiter as she come close to climax", false);
if (showBalls == true){
outputMainText(((", the slapping of your " + ballDesc()) + " against her scrotum not helping any"), false);
};
outputMainText(".\r\rIt isn't until you explode within, your seed churning about her velvety walls, that the downward-pointing member erupts with hot spunk all over the belly-scales and floor. You plunge and pump all of your spunk inside of her, letting her soak it all in without a drop going to waste. The cum-hungry womb immediately grows larger, sucking in every milliliter for its fertile production. The poor girl is weighted down even more by your efforts, yet the erotic cries echoing around the room would hardly suggest that she objects...", false);
doLust((-2 * sen));
if ((((Math.ceil((getCum / 50)) > 100)) && ((silPreg > 0)))){
silPreg = (silPreg + 100);
} else {
if (silPreg > 0){
silPreg = (silPreg + Math.ceil((getCum / 50)));
};
};
doNext();
doListen = function ():void{
outputMainText("With her own cum still dribbling down her scales, Silandrias calls you over to the other side. After she's caught her breath, of course. Her front also covered in white from the milk that sprayed as she climaxed, she hugs you close and gives you a kiss, snuggling up with you for a while until she passes out on your shoulder. Pregnant women can sleep so soundly when they're becoming even more pregnant...", true);
hrs = 4;
doEnd();
};
};
if (buttonChoice == 3){
outputMainText("Even though Silandrias doesn't seem like she can move much, her stiff cock does look like it could use some release. Stripping your clothes, ", true);
if ((silPreg / 100) > (tallness / 24)){
outputMainText(" you hop onto a flying carpet so you can actually reach her member.", false);
} else {
outputMainText(" you move to her backside to attend to her member.", false);
};
outputMainText(" A few moments pass as you try to figure things out, considering the", false);
if (silPreg < 500){
outputMainText(" thick rod is pointing downward with the heavy scrotum pinning it against her belly", false);
} else {
if (silPreg < 1500){
outputMainText(" huge rod is pointing downward, barely able to keep the large testicles aloft as it rests against her belly", false);
} else {
if (silPreg < 4500){
outputMainText(" massive rod is pointing downward, barely lifting the hefty scrotum aloft as the testicles brush against her belly", false);
} else {
outputMainText(" gigantic rod is heavily pointing downward, curving along the belly with anchor-like testicles keeping it pinned", false);
};
};
};
outputMainText(((", eventually managing to lie on your back and shuffle your rump up until the thing presses into your " + vulvaDesc()) + " folds.\r\rIn one of the most awkward positions possible, you still manage to ellicit a moan from the other side of the belly as you begin to reverse-hump her backside. The phallus pumps through you, dribbling pre all the while until the slick stuff is pooling out of your hole and back over your body. You can hear her pant and groan, feebly bouncing her legs as she wiggles her hips to dig deeper into you. Considering her rather static state, your efforts upon her sensitive flesh quickly overcome her, being one of the few sensations she has had, making her explode within.\r\rThe amount of spunk is surprising, even in proportion to her size. It just keeps gushing and gushing, making you quake in orgasm as your filled, until it spills out about your body and drools down her scales."), false);
if (cockTotal > 0){
outputMainText(((" Even more covers you from your own spurting appendage" + plural(1)) + ", coating you in a mix of both fluids."), false);
};
outputMainText(" By the time the flow actually comes to a halt, there is such a mess everywhere...", false);
doImpregnate(dominant);
if (cockTotal > 0){
cumAmount();
};
doLust((-2 * sen));
doNext();
doListen = function ():void{
outputMainText("Leaving the stuff to be cleaned up by the pups later, Silandrias calls you over to the other side. After she's caught her breath, of course. Her front also covered in white from the milk that sprayed as she climaxed, she hugs you close and gives you a kiss, snuggling up with you for a while until she passes out on your shoulder. Pregnant women can sleep so soundly when they've ejaculated excessively...", true);
hrs = 4;
doEnd();
};
};
if (buttonChoice == 5){
if (silTied == false){
outputMainText("Even though she doesn't seem to be constantly laying from her tail now, or at all for that matter, you thinkg it's a good idea to attach the leather strap anyways. Silandrias nods and trusts you, lifting up her tail ", true);
if ((silPreg / 100) > (tallness / 12)){
outputMainText("as you take a flying carpet up to her nethers, thanks to her giant belly putting them a tad out of your reach, ", false);
};
outputMainText("and gives you a nice view of her engorged bits in the process. The leather strap easily slips up the length of her tail and tightens comfortably around the base made perfectly for such a task.\r\rYou take a few minutes to check the straps to ensure no blood is being cut off and that even if she were dropping eggs through that passage, they wouldn't be able to push through. Leaving her backside like that, you come around to her face and spend some time with her chit-chatting and petting Naeru and Daeru before you eventually head back out.", false);
silTied = true;
loseManyItem(229, 1);
hrs = 3;
doEnd();
} else {
outputMainText("Deciding to remove the leather strap that is blocking her tail passage, ", true);
if ((silPreg / 100) > (tallness / 12)){
outputMainText("you take a flying carpet up to her nethers, thanks to her giant belly putting them a tad out of your reach, and ", false);
};
outputMainText("your fingers play with the latch until you can pull it lose and slip it off of her tail. Once removed, you see the base of her tail swell slightly as the eggs inside settle against the passageway. However, none seem to get any further, not exiting her tail at all like her previous pregnancies. You inspect her rump to make sure nothing is wrong, your poking and prodding only making her giggle at the other end, but she seems to be perfectly fine.\r\rAssuming it's natural, you leave her backside and come around to her front to spend some time with her, chit-chatting and petting Naeru and Daeru before you eventually head back out.", false);
silTied = false;
itemAdd(229);
hrs = 3;
doEnd();
};
};
if (buttonChoice == 7){
outputMainText("To help the pregnancy progress, you take out a dose of eggcelerator. ", true);
if ((silPreg / 100) > (tallness / 12)){
outputMainText("Her nethers too high for you to reach, however, you have to step on a flying carpet to lift you up.", false);
} else {
outputMainText(" You walk around to her backside to access her nethers as she lies there.", false);
};
outputMainText(" Lifting up her tail, she does her best to prop up her rump towards you for easier access.", false);
if (silPreg < 400){
outputMainText(" With her pussy being slightly swollen from her growing girth, it doesn't take much effort to slip the eggcelerator inside.", false);
} else {
if (silPreg < 2000){
outputMainText(" Her pussy grown large with her enormous belly, you could fit your whole hand inside without much effort, making inserting the eggcelerator a breeze.", false);
} else {
outputMainText(" Gaping and stretched from her enormous belly, you nearly lose your whole arm within as you insert the eggcelerator, making it more difficult to pull out than administering the dose.", false);
};
};
outputMainText("\r\rYou can hear the stuff rumble in her belly as it dissolves, almost immediately noting an increase in production. However, nothing presses back out, leaving her to grow even larger. Spending a couple of hours to make sure she's alright and provide her and your children some company, everything seems well and you can be on your way.", false);
silRate++;
loseManyItem(230, 1);
hrs = 3;
doEnd();
};
if (buttonChoice == 9){
if ((silPreg / 100) > (tallness / 24)){
outputMainText("You hop on a flying carpet and direct it up to Silandrias' torso, allowing you to give her a hug and sit beside her as you cuddle.", true);
} else {
outputMainText("You move in beside Silandrias, giving her a hug and sitting down beside her as you cuddle.", true);
};
outputMainText(" Daeru and Naeru soon join, curling up amongst you two the best they can as you all spend some nice time together, despite mooshing against one of the pregnant woman's boobs and making it casually spurt over you all. She reprises you of her time sitting around and how well the two pups have been coming along, so smart and responsible. Mostly you tell her your own stories of what's going on outside, since there tends to be much more to tell, but in the end it doesn't matter what's being said. As long as you're all together.\r\rAfter several hours, you're all thoroughly cuddled out, especially as the pups need to get back to caring for their mother. With the loving company, Silandrias' belly also looks to have enjoyed it, growing even larger with your time together...", false);
hrs = 4;
silPreg = (silPreg + 20);
doEnd();
};
};
} else {
if (silRep == 5){
outputMainText("You approach the entrance to the den, peeking inside with no idea how to navigate the tunnels. So, instead, you grab one of the chimes that decorate the entryway and give it a jingle, like ringing a doorbell.\r\rAfter waiting for several minutes, the large ears of the foxy lizard-like woman come into view with the two pups, Naeru and Daeru, hopping and trotting about her legs as she walks.", true);
outputMainText(" With her curves back to a more manageable state, Silandrias seems to be trying to wear her cloak again. Though with all of her many engorged breasts, all dribbling with milk as the two quadrapeds lapping it up from her legs, she doesn't bother to close it, letting all four pairs bob about as they may. Even her loin cloth is rather useless as the head of her flaccid member is exposed beneath with a generous portion of her scrotum peeking out from the sides. But she's as happy as can be with her children. ", false);
outputMainText("\r\r\"Hello~\" Silandrias greets you with joy, happy to have your company again, while the kits yip cheerfully at their father as well. \"Come on in, please.\" She turns to lead you into the network of tunnels. \"Would you care to do something, hun?\"", false);
viewButtonOutline(1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0);
buttonWrite(1, "Fuck");
buttonWrite(3, "Be Fucked");
buttonWrite(9, "Cuddle");
if (cockTotal > 0){
Choice1.visible = true;
};
if ((((vagTotal > 0)) && ((vagLimit() > (22 + (silPreg / 24)))))){
Choice3.visible = true;
};
doListen = function ():void{
var getCum:int;
if (buttonChoice == 1){
getCum = cumAmount();
outputMainText((((("Rubbing the " + cockDesc()) + " bulge in your ") + clothesBottom()) + ", you make it fairly obvious what you would like to do. The tall girl blushes and doesn't object, leading you right to her room with a rapid pace in her step, telling Daeru and Naeru to go take a nap in the meantime. The obedient pups comply, leaving you alone with the half-naked woman. In a flurry of kisses and hugs, the two of you are soon stripped of your clothes."), true);
outputMainText(" Taking the lead, she pushes you back onto her bed, spreading your legs to lick", false);
if (showBalls == true){
outputMainText(((" your " + ballDesc()) + " testicles"), false);
} else {
outputMainText(((((" the base" + plural(1)) + " of your cock") + plural(1)) + ""), false);
};
outputMainText(((((((" before nibbling up the length of " + oneYour(1)) + " shaft") + plural(1)) + " and gulping down the tip the best she can.\r\rOnce you're thoroughly lubricated with saliva and pre, standing stiff and aching to fill her, she can hardly resist jumping onto it. Yet, she still manages to slowly climb up the bed, her finger-like talons clawing at the sheets as the feathers tickle over your thighs, until she finally manages to sit upright over your waist and squatting down over your erection. She lets out a cooing howl as she feels your girth slip through her lips and burrow into her moist inner-walls. Her wings pressing against your ") + boobDesc()) + " chest"), false);
outputMainText(", she steadies herself while her hips begin to grind and twist hungrily on top of you. Her tongue lols from her muzzle and she pants happily while her ears bob up and down, her tail flicking about sporadically from the joy of having you inside of her.", false);
outputMainText((("\r\rHaving remained swollen quite a bit with her last pregnancy, her cock slaps loudly against you with each hop and flings pre all over your front. The large testicles rest around your groin, hugging your cock" + plural(1)) + " whenever she lifts high enough to allow them to roll beneath her."), false);
if ((cockSize * cockSizeMod) >= 66){
outputMainText(" Your own length, meanwhile, stretches her belly out further, forcing her belly-scales to protrude from within, yet seems to have no sign of hurting her or her womb. In fact, she seems to enjoy it even more as she blissfully hugs your head whenever it presses out far enough, tenderly rubbing it until it disappears back inside.", false);
} else {
if ((cockSize * cockSizeMod) >= 36){
outputMainText("\tYour own length, meanwhile, stretches the walls of her pussy greatly, causing them to tightly hug against your width. Yet, there are no signs of pain as she blissfully lets it plow through her again and again.", false);
};
};
outputMainText(" She bounces upon you so roughly that her ", false);
outputMainText("four pairs of", false);
outputMainText(" breasts jiggle obscenely, the nipples stiff and tossing milk about everywhere.\r\rAt this rate, it doesn't take long before Silandrias is letting out a loud, lustful howl as you erupt within her.", false);
if (getCum < 1000){
outputMainText(" Your hot load churns about her tunnel as you spray about, not a single drop slipping from her slit as her womb drinks it in.", false);
} else {
if (getCum < 5000){
outputMainText(" Your hot load forces her belly to visibly distend as you spray within, the grand amount of spunk churning around and drowning your gushing head, yet hardly any seems to spill from her slit as her womb drinks it in, thirsty for seed.", false);
} else {
outputMainText(" Your hot load forces her belly to expand, inflating as you spray within, the massive amount of spunk audibly churning within. However, only a fraction of the stuff spews back out through her slit, as her womb seems to gulp it down as though it were desparately thirsty for seed.", false);
};
};
outputMainText(" With a couple twitches after being filled by you, her own cock explodes over you, whipping the strands of cum across your body like laced icing. She goes on and on until she's sucked all the cum she can get from you and you look reminiscent of a cheese danish before she finally collapses over you with a heavy sigh.", false);
if ((((Math.ceil((getCum / 50)) > 100)) && ((silPreg > 0)))){
silPreg = (silPreg + 100);
} else {
if (silPreg > 0){
silPreg = (silPreg + Math.ceil((getCum / 50)));
} else {
silPreg = 1;
};
};
doLust((-2 * sen));
doNext();
doListen = function ():void{
outputMainText("The two of you rest for a while, snuggling together with her sticky mess between you. Significantly satisfied, she kisses you before rolling onto the bed for a nice nap, her womb quite busy with what you left inside. You kiss her back as she sleeps, taking your sweet time before leaving to continue with other matters.", true);
hrs = 4;
doEnd();
};
};
if (buttonChoice == 3){
outputMainText("Stepping towards her and placing a hand upon the bulge in her loincloth, it doesn't take a scholar to figure out what you'd like. The tall girl blushes and the bulge jumps with sudden bloodflow. She doesn't object, telling Daeru and Naeru to go take a nap in the meantime. The obedient pups comply, leaving her to lead you right to her room with a rapid pace in her step. In a flurry of kisses and hugs, the two of you are soon stripped of your clothes.", true);
outputMainText(" Eager to release, she pushes you back onto her bed, wedging herself between your thighs as she flops the stiffening erection on top of your ", false);
if (cockTotal > 0){
outputMainText("own", false);
} else {
if (cockTotal < 1){
outputMainText("belly", false);
};
};
outputMainText(" with a splatter of slimy pre.", false);
outputMainText(((((" Then, her finger-like talons grab onto your " + hipDesc()) + " hips, the feathers of her wings tickling your thighs as she drags her cock over you until it falls into the ") + vulvaDesc()) + " crevice between. With a moaning grunt, she plunges in.\r\rThe hard phallus pumps in and out of your soft velvety walls while the "), false);
outputMainText("large and heavy", false);
outputMainText(((" balls slap against your " + buttDesc()) + " rump"), false);
if (((silPreg + pregnancyTime) + vagBellyMod) > 1000){
outputMainText(", her pregnant belly bumping against your own,", false);
};
outputMainText(" with each thrust. Her breasts wobble with her fervor, spraying milk everywhere in tune to her panting as her long tongue lolls from her vulpine muzzle.", false);
if (breastSize > 3){
outputMainText(" Your own chest jiggles as well, your body dragging across the bed from her strength.", false);
} else {
if (cockTotal > 0){
outputMainText(((((" More pre slops across yourself as your " + cockDesc()) + " cock") + plural(1)) + " bounce around, leaving you rather slick."), false);
};
};
outputMainText("\r\rThanks to her generous efforts, you both find yourselves reaching orgasm within minutes. Her body quivers and seizes as it forces a few more loud squishes into your pussy before it explodes within, drenching your insides with thick gooey cum. You shiver in turn,", false);
if (cockTotal > 0){
outputMainText(((" more eruptions gushing from your own rod" + plural(1)) + ","), false);
};
outputMainText(" shouting along with her howling with sensual joy. By the time your both done with your erotic fits, Silandrias collapses upon your belly, rubbing it with a wing as her seed fills you, her cock slipping out and trailing white strands across her sheets. She then crawls up onto the bed beside you to snuggle and kiss you lovingly, before eventually passing out for a nap.", false);
doImpregnate(dominant);
if (cockTotal > 0){
cumAmount();
};
doLust((-2 * sen));
doNext();
doListen = function ():void{
outputMainText("You rest with her for a while before you decide to clean up the mess left behind. Then you quietly don your clothes and sneak out, allowing her to rest peacefully.", true);
hrs = 4;
doEnd();
};
};
if (buttonChoice == 9){
outputMainText("Just wanting to spend some time together, you give her a hug. She smiles back at you and leads you through the tunnels with children in tow to a nice room to socialize. There are a few seats of plush pillows and reed mats to sit upon, fitting for someone of her height, with a few tables cluttered with various knick-knacks. Torches light the room and several crystalline chandeliers and chimes break the light into vivid sparkling colors, providing a rather soothing atmosphere. Some of the crystals even glow on their own; shards of magical artifacts long lost to the ravages of the desert.\r\rSilandrias lies down upon one of the mats", true);
outputMainText(" and lets you cuddle up behind her. You hug and caress her curves, causing milk to spit across the floor and soak into everything from her multitude of breasts, which the pups are happy to lap up as they bounce around you and curl up with you. Gently kissing her shoulders as you talk the two of you alternate between stories of your travels and how well Naeru and Daeru have been coming along. There's even a bit of small talk mixed in as well as periods of silence where you simply enjoy the company of your small family.\r\rEventually, however, you must be on your way so that something can get done. As much as the two of you would like to continue, you can't ignore the need to get some food or other preparations or ignore the rest of your lives.", false);
outputMainText("\r\rYou soon give each other a kiss and exchange farewells, giving each of the pups a hug as they lick you, hopefully to not spend too much time apart.", false);
hrs = 4;
doEnd();
};
};
} else {
if ((((((((((silRep == 1)) && ((silPreg > 150)))) || ((((silRep == 2)) && ((silPreg > 240)))))) || ((((silRep == 3)) && ((silPreg > 360)))))) || ((silPreg > 550)))){
outputMainText("You approach the entrance to the den, peeking inside with no idea how to navigate the tunnels. So, instead, you grab one of the chimes that decorate the entryway and give it a jingle, like ringing a doorbell.\r\rAfter waiting for several minutes, the large ears of the foxy lizard-like woman come into view.", true);
if (silPreg > 36){
if (silPreg <= 72){
outputMainText(" She has a slight smile as her wings roam about the growing bulge in her belly, the shape so obvious against her normally lithe form. A smile on her face when she looks at you silently passes the message that she knows it's because of you, but finds the sensation too blissful to actually speak about it.", false);
} else {
if (silPreg <= 150){
outputMainText(" Her wings hug under her gravid form, holding and groping it as she feels it sway with each step, so big on her thin form; her belly-scales looking larger as they stretch across the girth. She seems a bit giggly at her state as she looks to you as the cause, but doesn't think it needs stating at this point.", false);
} else {
if (silPreg <= 240){
outputMainText(" Her belly has grown so large that the tips of her wings can no longer connect around her form, but that doesn't keep her from trying as she rubs over the stretched scales again and again, relishing in their sensitivity. She still manages to stand up straight, though, as her strong lithe build can handle it.", false);
} else {
if (silPreg <= 360){
outputMainText(" She leans forward slightly as her weighty girth fills the path before her. Her feathers brush over her taut belly-scales, trying to fan them slightly with the slight pleasure she feels as the finger-like talons grab into the scales as well as they can to help hold her steady. She bends slightly at the knees to aid in holding up her expanding womb, making her look a little silly as she walks.", false);
} else {
if (silPreg <= 550){
outputMainText(" She laughs a little as she drags her enormous belly the best she can above the floor, using her feet to help keep it aloft. Her progress may be slow, but you can see her enjoying every moment of it as she 'accidentally' brushes it against the soft walls as she moves and fans over herself with her wings to keep from getting too hot from the enjoyment of it. Despite her rather excessively-gravid condition, she seems to truly enjoy being this pregnant...", false);
};
};
};
};
};
};
if (silRep == 1){
outputMainText(" And despite the swelling of her breasts, she has still managed to clasp her cloak. Though only barely as the clasp seems to be quite threatened by the overflowing flesh...", false);
};
if (silRep == 2){
outputMainText(" Having completely given up on the clasp of her cloak, the thick nipples of her top breasts barely hold the cloak over most of her mammary flesh. Bigger than her head now, the top pair swings from side to side as she walks, while the smaller pair below jiggle slightly as her belly bobs between them, almost completely bare if it weren't for her wings in the way.", false);
};
if (silRep == 3){
outputMainText(" Completely bare, it seems as though she has given up on her cloak... With a heavy blush of embarassment from her exposed curves, she tries her best to cover herself with her wings, with little success. The top pair of breasts rest heavily atop the second pair, which is squished against her belly, and overall makes it difficult for her to look at you over them when covering them. The third pair jiggle obscenely without any coverage, even larger than her top breasts originally were when you first met her. Most of her efforts in trying to grope her belly mostly wind up fondling this lower pair as well, making them quiver even more lewdly...", false);
};
if (silRep == 4){
outputMainText(" It's' also quite silly how she practically has to burrow her nose into her cleavage to see you... Each time she brushes against a wall, she also leaves behind a trail of milk as her nipples spurt everywhere from the pressure. It's amazing she can even move in such a state...", false);
};
outputMainText("\r\r\"H-Hello- Ungh!\" Her greeting is cut short as she doubles over. It is only now that you see the exorbitant amount of slime spilling ", false);
if (silTied == true){
outputMainText("between her legs from behind her loincloth", false);
} else {
outputMainText("from the tip of her tail", false);
};
outputMainText(". She gathers herself for a moment to explain. \"I-I've been waiting for you before I did it. I can't hold them back any longer; I can't hold any more, there's too many!\" She grunts again and grasps her belly as she desparately attempts to hold her womb shut.", false);
doNext();
doListen = function ():void{
if (silRep == 1){
outputMainText("You run up and grab her, rushing her to her bedroom so she can be more comfortable. Laying her onto her back, you make sure her back is supported appropriately to help with the lay.", true);
if (silTied == true){
outputMainText("\r\rHer tail extends itself through the cheeks of her bum and straight across the bed in preparation. Yet, Silandrias quickly gasps loudly as her body realizes that passage is blocked and redirects the flow elsewhere. She spreads her legs wide as she feels her pussy stretch and gape as the eggs force their way through. Her breathing grows rapid and she lets out a warbling howl when the first one breaches her passage, burrowing beneath her testicles and leaving a slimy trail with the next followinging soon behind. Her wings press down on her belly, trying to help push them out, but they mostly shake from the array of throbbing sensations that blare between her legs like a drum. Slight pain mixed with intense pleasure, she's unsure of what to do and merely pushes harder.\r\rYour hands dive in to lift her package out of the way and help pull the eggs from her supple flesh, making her twitch slightly from your touch. Egg after egg slips out from her, each as large as a grapefruit and smothered in lubrication. Her belly quickly diminishes and within ten minutes she has passed them all.", false);
} else {
outputMainText("\r\rHer tail extends itself through the cheeks of her bum and straight across the bed in preparation. Silandrias then pushes her bum up from the sheets with her legs and lets out a warbling howls as the base of her tail swells with the first egg, the bulge quickly running down its length. Before it can even get halfway through, another bulge already forms at the base, making her clench the sheets with her talons. Her back arches higher and higher as she pushes, her round belly pointing straight into the air while her muzzle buries itself within her cleavage, moaning loudly into the flesh. Her cock dangles half-hard above, dribbling a bit of its own lubricant over the base of her tail.\r\rYour hands grope along her tail, encouraging the passing of the eggs from the outside, watching them reach and stretch the tip wide before they're quickly desposited. Egg after egg slips out from her, each as large as a grapefruit and smothered in lubrication. Her belly quickly diminishes and within ten minutes she has passed them all.", false);
};
};
if (silRep == 2){
outputMainText("You run up and grab her, rushing her to her bedroom so she can be more comfortable. However, just as you can get her onto the bed, Silandrias collapses to her knees before it and leans forward over the edge, unable to go any further. The finger-like talons at the tips of her wings reach out over the sheets and clench the fabric as her back arches into the bed, her top breasts preventing her from going to far while the second pair brushes across the edge and make her nipples grow stiff.\r\rOnce more, her tail thrusts itself straight out,", true);
if (silTied == true){
outputMainText(" only to find the passage is blocked by the leather strap. This result only makes her grunt and moan louder as she feels the eggs shift and stretch her cunt. The intense sensation makes her cock flip her loincloth up and pound against the bed with a strange sense of arousal, strands of pre with a mixture of escaping cum splattering with each whack, her testicles groaning to eject some semen as they feel feminine lubricant drool down their backside.\r\rAs your hands reach in to help pull the eggs out, you accidentally brush over her clit, making her howl and push her entire rump into you while an egg forces its way out. Short stuttered spurts of spunk gently paint the overhanging bedsheets with the confused orgasm, not quite a full climax but the sensations are altogether powerful enough to cause the ejaculation. And between each bout of subtle shooting, an egg slips through her tightening and loosening passage, practically firing out into your hands. Her large belly quickly dwindles and by the time she has made a nice waterfall of cum running down her sheets, she has also made a hefty pile of eggs between her feet.", false);
} else {
outputMainText(" preparing for the onslaught of eggs to come from her large belly. You can hear her gasp and moan into the sheets as her rump pushes back towards you, forcing the eggs into the base of her tail and down its length in turn. The intense pressure from the eggs at her backside causes all of her genitals to engorge themselves, both cunt and cock dribbling with lubricant as they swell slightly.\r\rYour hands grope along her tail, holding it up and encouraging the passing of the eggs from the outside, watching them reach and stretch the tip wide before they're quickly desposited. All the while she claws at the bed, writhing her breasts across the sheets and making her bum wave erotically. The process is almost torturous as it takes so long for the eggs to travel one and two at a time through her tail, making the rest of her a dribbling mess. Her large belly eventually dwindles in size and by the time she has made a nice waterfall of clear fluids from penis and testicles down to the floor, she has also made a hefty pile of eggs beside you.", false);
};
};
if (silRep == 3){
outputMainText("You run up and grab her, but notice Silandrias is already beginning to squat as her body forces her to start laying. So, rather than head to her room for comfort, you hug her from behind and gently guide her down to the floor of the tunnel, letting her lean back into your for support. Her head nestles back over your shoulder, her muzzle pressing into your face as she groans with the building pressure below, her wings digging her talons into the floor to anchor herself. In preparation, her tail curls up through your crotch and stretches out over your thigh so she is no longer sitting upon it,", true);
if (silTied == true){
outputMainText(" but with the passage blocked her legs spread wide as well. You reach around her huge belly the best you can to access her slit. Thankfully, she's already quite half-hard and her increased engorgement allows you to easily grab her masculine portion as it pushes the loin cloth aside and point the rod over her thigh, letting pre drool over her fur. Reaching further, the large orbs are a bit more difficult to lift from this angle, but your fingertips manage to pull at the scaly scrotum and drag it up, propping one hefty testicle against her thigh and shuffling the member around to rest upon your arm.\r\rBefore you can yank the other orb up as well, she lets out a moan and shudders into your body. The second testicle moves further away as the exiting egg pushes it aside, slipping out into a messy puddle of her lubrication below while her cock bucks upon your arm as you hold it back. More pre drizzles down your forearm and over your hand, with even more slick stuff drenching about from underneath. The slippery combination threatens to release the ball from your grip and let it crash against the next oncoming egg, forcing you to grab the sensitive sphere harder to prevent such a tragedy. Her tail whips at you as you do so, her body writhing and an erotic howl escaping her lips as the next egg presses out, with a nice large wad of spunk shooting up to your shoulder. From there, a steady gurgle of hot seed dribbles down your arm and over her thigh, smearing about her dwindling belly and her lower tits, coating her testicles and icing the eggs beneath a white waterfall as they are laid into a pile. On occasion, the egg being laid stretches her especially wide, causing the ejaculating erection to launch a volley up at both of your faces.\r\rBy the time she's finished, you could swear her testicle feels quite lighter...", false);
} else {
outputMainText(" a growing bulge at its base already pushing into your groin. You reach around her huge belly to stroke and coax the egg out, feeling the bulge push over your thigh and gently slip out the tip of her tail beside you.\r\rShe arches her back slightly with the continuing oviposition, her loin cloth tenting from the half-hard rod rising beneath. The cloth is moist with pre and grows even wetter with each egg that passes as gobs push through her urethra. Since her tail and backside are doing fine with their steady progress, you manage to reach around with a hand and grab the hunched shaft, smearing the pre down its length. She lets out a gutteral moan as she jerks against your body, the loin cloth falling aside and leaving her engorged erection to grow to full length in your grip. The eggs begin to quicken in pace as her hips begin to gently buck up and down with your strokes, clearly expedited by your efforts. By the time a few eggs have slipped out, large wads of hot spunk shoot up over her belly, coating her lower pairs of breasts. The stuff continues to pump out with a gentle gurgle, running down her length and over your hand, spilling from her testicles and forming a nice puddle below. With the occassional larger egg that requires a bit more pushing than the rest, the gentle flood is replaced by lobbing volleys that splatter across your faces and sufficiently make a mess of everything.\r\rBy the time she's finished, even the eggs have been nearly completely coated...", false);
};
};
if (silRep == 4){
outputMainText("You run up and grab her, but she lifts a hand, motioning she's alright. Silandrias hugs over your shoulders with one wing while the other cradles her massive tummy the best it can. \"F-First, I want to show you something...\"\r\rUsing you as a crutch, she slowly waddles down the tunnels, taking you down paths you had never seen before. She grunts and wheezes a little as she goes, even having to stop halfway as an egg forces its way through her ", true);
if (silTied == true){
outputMainText(" slit, allowing you to catch it and a bunch of slime just before it falls to the floor.", false);
} else {
outputMainText(" tail, slipping out with a puddle of slime onto the floor behind her.", false);
};
outputMainText(" \"D-Don't worry about it...,\" she ensures you.\r\rThe two of you quicken your paces to get to your destination before she pops, and soon find yourselves in a relatively small room much deeper underground than you have ever been before in her home. The room is quite odd, with old dirt beddings dotting the floor, hemispherically shaped for some large round object, much larger than any of the eggs you've seen Silandrias lay. And all around, the walls are covered with many, many pictures, with a particularly series centered and more prominent than the rest.\r\rSilandrias takes a deep breath and rests against a wall, making sure her womb has settled enough before speaking. \"This is where me and my sisters hatched...\"\r\r\"I don't know exactly why it's so deep and the tunnels around here look different, like they were made in a hurry, but I believe these pictures can somewhat tell why.\" She takes another deep breath and prepares to explain as much as she can, motioning across the images as she speaks. \"These pictures show that my people were once a much more common race. These tunnels were filled with many families, all living together, with even more tunnel networks like these scattered over what was once a rather lively savannah. Food was plentiful, people were happy, and life was good. However, they saw... something coming.\"\r\rShe focuses on a picture that resembles a wave washing over the land, although the wave itself seems distorted, confused, not clear at all. \"I don't think they knew exactly what it was, but they knew that it would mean the end of our people. Maybe some kind of destructive force? It would explain the many magical items I find strewn throughout the dunes, but even then they are largely intact, not damaged in ways you would expect if that were the case... But anyways, they knew it was coming and in fear of losing us all, they made this room to hide some of their eggs in hopes of making at least some of us survive. And, well, they did.\"\r\r\"Yet, on the other hand, it seems like me and my sisters were the only ones that did survive. I'm sure our parents knew it would happen too, which is why they made all of these pictures. They wouldn't be able to teach us their language, but they could at least teach us some of our history with these images. They taught us how to navigate the tunnels, how to find food, how to live, how to fly. They couldn't teach us everything though, and if it weren't for our caretaker, who we named Saeru - a creature who couldn't speak but could understand us and did her best to take care of us - we probably wouldn't have survived to this day. But even she couldn't help us - me learn how certain things work. None of us ever tried to get... well, like now...\"", false);
};
doNext();
doListen = function ():void{
silPreg = 0;
if (silRep == 1){
outputMainText("A small pile of eggs between her legs, Silandrias leans back against her bed with a deep sigh. Her chest still huffing for air, she lazily fondles her engorged breasts through her cloak, feeling them shrink a little now that her eggy pregnancy has completed.\r\rShe looks down at the pile with another sigh. \"Mmm... They aren't real either. I don't know how I know that exactly, but my body tells me they aren't. Actually...\" She pauses, opening a wing to let you scoot up beside her so she can rest a head on your shoulder as she speaks. \"As you could tell, I'm kinda alone here now... We were alone since the beginning and now I'm alone now, so I have no idea how my kind works...\"\r\rA serious expression of sadness flushes over her face and she stops the story there.\r\rShe soon cheers up, nuzzling her vulpine muzzle into your neck. \"But you made me not lonely and, well... thank you.\" Planting a kiss upon your cheek, she then whispers into your ear. \"And maybe we can discover what my body can do together~\"\r\r\rYou stay a few more hours with her to ensure that she is alright. Her breasts continue to shrink slowly, but are still fairly large when you decide to leave when she is up and about. For having had such an intense 'birth', she really recovered quite fast, already moving the eggs away and cleaning the mess she made. You give her another hug and a kiss goodbye before leaving the den to continue with your endeavors.", true);
hrs = 5;
doSexP(20);
silRep = 2;
doEnd();
} else {
if (silRep == 2){
outputMainText("The process finished, Silandrias collapses against the bed into her own mess. You move in to check and make sure she's alright, but smile as you see her eyes are shut with her wings folded around her vulpine muzzle, sleeping with a rather content look on her face. The rush to the bedroom and resulting position from the 'failure' therein must have exhausted the poor girl. So, you take the initiative and clean up as well as you can, wiping and spreading out the eggs to dry, before eventually trying to lift her back up onto the bed. She blinks awake only for a few moments to look at the eggs you carefully laid out. \"Don't worry, those aren't real either,\" she says with a chuckle, then curls up and passes back out on the bed as you lay her down to rest.\r\rStaying with her a few more hours to ensure she's alright, you notice both pairs of breasts beginning to shrink once more. Other than that, her blissful sleep confirms that she's quite alright, allowing you to be on your way. With a kiss on her cheek and a subtle whisper of \"Goodnight~\" into her large ear, you head back out and let her sleep peacefully.", true);
hrs = 5;
doSexP(35);
silRep = 3;
doEnd();
} else {
if (silRep == 3){
outputMainText("A grand pile of eggs beside you, painted with the creamy sauce of her loins, Silandrias takes a deep breath and lets out a loud humming sigh. Relaxing against you, she seems perfectly pleased sitting at the entrance to her home, right in view of the open desert, half naked and covered in her own naughty mess with you.\r\rShe stares out into the vast expanse of sand and nuzzles you gently. \"At first there were just eight of us, all by ourselves in these tunnels. Well, nine if you count our caretaker, though she was more like a pet, a creature much like ourselves that raised us and made sure we survived. We never knew where she came from, but we saw her like a mother and she was one of the first to leave, with two of my sisters who ventured out to find others like us.\"\r\r\"Then there were two other sisters who went exploring and found Oviasis. The lizan people were afraid at first, but since we were still so young and innocent it didn't take long before they were teaching us their language and trading supplies with us. Soon three of my sisters were staying in Oviasis nearly all the time, building their own lives there and falling in love. However, the waters there slowly changed them, making them more and more like the lizan people, until eventually you couldn't even tell they were like us. I still visit them every now and then, but without their wings they don't come out here as much anymore. There's so many people there and it's so crowded... well, it's not exactly a place I could call home, like here.\"\r\r\"When my first two sisters came back after a few years with Saeru, they were different too. They still had their wings at least, so they could travel, but they were afraid they might lose them soon as well. But oh, the wonders they said they saw. So many other kinds of people and places, things that they could study and experience. Kinda like my fascination with magical items, except more outgoing. There was so much out there that they couldn't stay here for long. And my other two sisters loved them tremendously and couldn't let them go by themselves. I told them that it was alright, that I still had our sisters in Oviasis to keep me company, that the five of them could head off on their adventures together. They were hesitant, but I wouldn't let them choose otherwise. I even still get letters from them every now and then, somehow sent to Oviasis from some eleborate route, keeping us apprised of their ventures and the different ways they've changed.\"\r\r\"It's quite odd, really. Although my sisters have been able to change into other races so much - and I'm sure even I would too if I spent as much time with other peoples as they have - I have not heard any word of someone else becoming like one of us. Maybe that's why there were so few of us?...\"", true);
doNext();
doListen = function ():void{
outputMainText("As the nostalgia of her past and the high of the long orgasm lifts from her mind, she blushes heavily as she finally notices the massive mess. \"Oh dear..\"\r\rSilandrias stumbles at first as she stands, the slimy puddle beneath proving difficult footing and her lack of enormous belly leaving her off balance, but with your help she steadies herself and manages to walk on her own soon enough. Her other sites of swelling are shrinking as well, returning the lith power to her body and making her as spry as usual. The two of you are able to clean up the entrance, as well as all the many many eggs, within just a couple of hours. Although, again, she mentions that these are fakes just like the rest.\r\r\"I actually don't know when or how they become real...,\" she mentions curiously. But soon after cleaning up she's much to tired to think about it further and you help her to her bedroom for a nice long nap. Seeing as she's snoring like a log with such a deep sleep within minutes, you know she'll be just fine, allowing you to head out on your own.", true);
hrs = 7;
doSexP(50);
silRep = 4;
doEnd();
};
} else {
if (silRep == 4){
outputMainText("Unable to focus any longer, she doubles over once more. This time she doesn't seem to be able to stop it as ", true);
if (silTied == true){
outputMainText("a steady stream of lubrication dribbles down the insides of her thighs.", false);
} else {
outputMainText("a steady flow of lubrication spills from the tip of her tail.", false);
};
outputMainText(" You attempt to aid her in sitting down, but she continues to bend forward, her instincts rather adamant about rolling onto her belly.\r\rWith her tummy so large, it doesn't take much more than bending slightly at her knees to touch the belly-scales to the floor. She slowly rolls forward, her legs spreading wide to step forward while flanking her own girth, with her lowest pair of breasts soon squishing against the floor, squirting out jets of milk. Then she continues going as the next pair sprays everywhere, followed by the next, and finally her top pair bulges out the sides of her torso like fleshy pillows as she lays down upon them, her legs no longer able to touch the ground. Her wings fold over her bloated chest, covering the white streams to prevent any from spraying into her face, allowing her to yawn wide with a low howl.\r\rFrom behind, her tail lurches forward, ", false);
if (silTied == true){
outputMainText("only to turn straight up as the passage is blocked, giving you a fantastic view of her nethers. The underside of her belly is already thoroughly soaked in pre as her greatly engorged erection pulses out large gobs of the stuff, while her testicles, larger than canteloupes, hang down heavily over the base of the shaft and are drenched from the slit above. Her tush tenses and her moaning howls stutter as the first egg begins to crown through her lips. You jump in to catch it, coating your hands with slime in the process. Placing the egg aside, you prepare for the next, slipping your fingers slightly into her nethers to help pull the eggs out. Her cock throbs with each passing and looks so close to blowing a massive load, but it seems to be waiting...\r\rIt doesn't wait long.\r\rThe eggs stop for a moment, giving Silandrias a moment to breathe. However, after a deep breath, her howling renews with a much louder and warbling sensual tone. You see white beginning to crown once more as white splatters all over her belly-scales in audible bouts of thick steamy ropes. The crowning progresses, stretching her slit wider and wider than you have seen any of her palmable eggs done before. Your eyes go wide as you even watch her hips spread wider, her body much more elastic than you could have guessed, while her pussy gapes larger than her own head, completely filled with an enormous white shell.\r\rHer gushing peaks as the widest part of the giant egg passes through, quickly slipping out into your arms and right to the floor as you gently settle it upon the ground. Easily more than two feet in height and more than a foot in diameter, the big egg half-fits into one of the several round beddings that decorate the floor of this room. You don't have much time to analyze it, however, as you her the mother begin to cry out again.\r\rAnother egg just as large pushes through her passage with a spunk-filled greeting into the world. This second egg seems to be the last as Silandrias' belly deflates with its departure, leaving her gasping and moaning as she lay upon her many milky tits, her ejaculation diminishing to a few leftover throbs of oozing cum.", false);
} else {
outputMainText("pointing straight back to the floor in preparation. The underside of her belly is already thoroughly soaked in pre as her greatly engorged erection pulses out large gobs of the stuff, while her testicles, larger than canteloupes, hang down heavily over the base of the shaft. Her tush tenses and her moaning howls stutter as the first egg begins to bulge through her tail. You tenderly massage the scales from the outside, coaxing the egg along until it slips out the tip. Placing the egg aside, you prepare for the next, returning to her rump and rubbing the small of her back to help direct the eggs out. Her cock throbs with each passing and looks so close to blowing a massive load, but it seems to be waiting...\r\rIt doesn't wait long.\r\rThe eggs stop for a moment, giving Silandrias a moment to breathe. However, after a deep breath, her howling renews with a much louder and warbling sensual tone. You see another bulge begin to grow at the base of her tail, but it keeps growing and growing, much larger than you have ever seen before. It stretches both her tail and hips obscenely wide, her body far more elastic than you could have ever guessed. However, this new giant egg comes to a halt before the widest portion can enter the passage in her tail. Silandrias grunts and groans, feebly rocking her legs and humping her own belly slightly as she tries to push it through. Her cock also turns redder and redder as she forces more blood to her bottom, making it drool incessantly. Taking a chance to help her out, you smear the slime along her length and stroke the throbbing rod roughly.\r\rSilandrias' howls turn into an erotic outcry as white splatters all over her belly-scales in audible bouts of thick steamy ropes. The intense orgasm relaxes some of her muscles, letting the giant egg into her tail-passage and rapidly push through to the floor as you gently settle it upon the ground. Easily more than two feet in height and more than a foot in diameter, the big egg half-fits into one of the several round beddings that decorate the floor of this room. You don't have much time to analyze it, however, as you her the mother begin to cry out again.\r\rAnother egg just as large pushes through her passage with a noisy spunk-filled greeting into the world. This second egg seems to be the last as Silandrias' belly deflates with its departure, leaving her gasping and moaning as she lay upon her many milky tits, her ejaculation diminishing to a few leftover throbs of oozing cum.", false);
};
doNext();
doListen = function ():void{
outputMainText("Fairly drenched in her own mess, Silandrias eventually gathers herself and rolls onto her back. Milk still dribbles down her front and her cock twitches lazily as she sits up to inspect her clutch. \"Those... are definitely real.\" She states with a pant. \"Though I never expected them to be so... huge!\"\r\rThe two of you sit there, staring at the two fertilized eggs, confounded by their size, for less than a minute before the room is filled with the sounds of cracking.\r\r\"Already?!\" Silandrias crawls forward, still quite tired, surprised by the rapid hatching and eager to attend to her young. And her eyes grow much wider as a large piece of eggshell falls away, revealing its inhabitant. \"It couldn't be!...\"\r\rThe creature within easily breaks through the rest of the hole, bounding out from the egg with awkward steps and excitement. This furry pup has the face of a cute little fennec fox with large ears and a scaley underside that leads to the long lizard-like tail, much like its mother. However, unlike its mother, it walks on all four paws with no sign of wings and doesn't look like it would have the ability to speak, much like a feral animal. Yet, the sight of it, along with its sister as the other egg breaks away, makes Silandrias break out in tears.\r\r\"They... They are just like my caretaker, Saeru!\"", true);
doNext();
doListen = function ():void{
outputMainText("The kits quickly fumble their way toward their mother with squeaky happy yips, bumping into her fleshy boobs and latching onto her milky nipples as she hugs them into herself with her wings.\r\r\"I-I can't believe it. The creature who we thought had found us and just took care of us out of the goodness of her heart was actually one of us! I still have no idea why, but I guess it's just a natural part of our life to give birth to such adorable pups.\" She leans down and nuzzles them with her muzzle as they nuzzle back. \"Although... I know we weren't born like this and Saeru was much older and didn't become like us. So... How do we have normal children?\"\r\rDespite the question, Silandrias seems perfectly happy caring for her two newborns. It also seems quite hard to call them newborns as within just a couple of hours of feeding from their mother's numerous milky breasts (far too much milk for just two of them to ingest alone), they have grown quite a bit more and are running around and playing like they were much more developed than their age would suggest. Nevertheless, the two of you care for them like children. You spend over a day helping out and making sure all three are doing well, only two find they are doing better than well. It's surprising how self-sufficient the pups are. And, in the end, Silandrias decides to name them after her original caretaker, \"Naeru and Daeru.\"\r\rSince they seem to be doing perfectly well, you eventually head on your way, quite proud of being a father.", true);
doSexP(75);
silRep = 5;
hrs = 30;
doEnd();
};
};
};
};
};
};
};
};
} else {
if (silRep < 5){
outputMainText("You approach the entrance to the den, peeking inside with no idea how to navigate the tunnels. So, instead, you grab one of the chimes that decorate the entryway and give it a jingle, like ringing a doorbell.\r\rAfter waiting for several minutes, the large ears of the foxy lizard-like woman come into view.", true);
if (silPreg > 36){
if (silPreg <= 72){
outputMainText(" She has a slight smile as her wings roam about the growing bulge in her belly, the shape so obvious against her normally lithe form. A smile on her face when she looks at you silently passes the message that she knows it's because of you, but finds the sensation too blissful to actually speak about it.", false);
} else {
if (silPreg <= 150){
outputMainText(" Her wings hug under her gravid form, holding and groping it as she feels it sway with each step, so big on her thin form; her belly-scales looking larger as they stretch across the girth. She seems a bit giggly at her state as she looks to you as the cause, but doesn't think it needs stating at this point.", false);
} else {
if (silPreg <= 240){
outputMainText(" Her belly has grown so large that the tips of her wings can no longer connect around her form, but that doesn't keep her from trying as she rubs over the stretched scales again and again, relishing in their sensitivity. She still manages to stand up straight, though, as her strong lithe build can handle it.", false);
} else {
if (silPreg <= 360){
outputMainText(" She leans forward slightly as her weighty girth fills the path before her. Her feathers brush over her taut belly-scales, trying to fan them slightly with the slight pleasure she feels as the finger-like talons grab into the scales as well as they can to help hold her steady. She bends slightly at the knees to aid in holding up her expanding womb, making her look a little silly as she walks.", false);
} else {
if (silPreg <= 550){
outputMainText(" She laughs a little as she drags her enormous belly the best she can above the floor, using her feet to help keep it aloft. Her progress may be slow, but you can see her enjoying every moment of it as she 'accidentally' brushes it against the soft walls as she moves and fans over herself with her wings to keep from getting too hot from the enjoyment of it. Despite her rather excessively-gravid condition, she seems to truly enjoy being this pregnant...", false);
};
};
};
};
};
};
if (silRep == 1){
if (silPreg > 120){
outputMainText(" And despite the swelling of her breasts, she has still managed to clasp her cloak. Though only barely as the clasp seems to be quite threatened by the overflowing flesh...", false);
} else {
if (silPreg > 60){
outputMainText(" Plus, it seems her breasts have also begun to swell slightly with her belly, the clasp in her cloak being much more 'obvious' than before...", false);
} else {
outputMainText(" Clad in her white cloak as before, the clasp in front nestles between her breasts and seems extra shiny for your arrival.", false);
};
};
};
if (silRep == 2){
if (silPreg > 200){
outputMainText(" Having completely given up on the clasp of her cloak, the thick nipples of her top breasts barely hold the cloak over most of her mammary flesh. Bigger than her head now, the top pair swings from side to side as she walks, while the smaller pair below jiggle slightly as her belly bobs between them, almost completely bare if it weren't for her wings in the way.", false);
} else {
if (silPreg > 120){
outputMainText(" Both pairs of breasts are becoming quite swollen now. The top pair threatens to break through the clasp once more while the second pair pushes against the edge of the cloak, the smaller mounds nearly slipping out with the protruding belly spreading the cloak open. She still manages to cover the exposed side-boob with her wings, unsure what to do about them.", false);
} else {
if (silPreg > 60){
outputMainText(" Also her breasts seem to have begun swelling once more, although this time she seems a little embarassed about some extra growth... Just below her burgeoning bust, another pair of mounds have begun to swell. Her cloak still manages to cover them, but she still tries to cover them with her wings just in case.", false);
} else {
outputMainText(" And her white cloak seems to fit better now after the growth in her breasts has diminished with her belly, though it does look a bit tighter than before the whole thing.", false);
};
};
};
};
if (silRep == 3){
if (silPreg > 300){
outputMainText(" Completely bare, it seems as though she has given up on her cloak... With a heavy blush of embarassment from her exposed curves, she tries her best to cover herself with her wings, with little success. The top pair of breasts rest heavily atop the second pair, which is squished against her belly, and overall makes it difficult for her to look at you over them when covering them. The third pair jiggle obscenely without any coverage, even larger than her top breasts originally were when you first met her. Most of her efforts in trying to grope her belly mostly wind up fondling this lower pair as well, making them quiver even more lewdly...", false);
} else {
if (silPreg > 200){
outputMainText(" The upper clasp already undone and the second clasp close to being the same, her cloak doesn't seem to be doing much for her. Half of her top areolas peek out from the edge of the draped cloak, easily the size of small dinner plates, while the second pair press obviously against the tight cloak. Meanwhile, the third pair simply jiggles freely, well more than a handful, as they bounce with the belly. She tries to cover them with her feathers, but with all the other masses she has to deal with she often neglects them...", false);
} else {
if (silPreg > 120){
outputMainText(" And she tends to pull at the upper clasp in her cloak, trying to give herself more breathing room as the orbs billow out about and below, much larger than her head. The pair directly beneath isn't fairing much better either, as the second clasp it stretched across both the large mounds and the upper portion of her growing belly. Her third pair, on other hand, make for good hooks as the nipples catch the edge of the cloak on either side, keeping the sides of her belly covered as she hugs it, at least.", false);
} else {
if (silPreg > 60){
outputMainText(" In spite of her adjustments to her cloak, her top pair of breasts are once more pushing at the expanded clasp, with her second pair seemingly following suit against their own. However, the most embarassing part for her is that another pair looks to be growing in as well, flanking her belly with small mounds beneath the cloak...", false);
} else {
outputMainText(" It also seems as though she's made some adjustments to her cloak. Though her breasts may have reduced in size after the last laying, she still retains the second pair which has been nicely covered by an additional clasp. However the top pair seems to have had some extra cloth added to the bust, to make up for the increased size...", false);
};
};
};
};
};
if (silRep == 4){
if (silPreg > 450){
outputMainText(" It's' also quite silly how she practically has to burrow her nose into her cleavage to see you... Each time she brushes against a wall, she also leaves behind a trail of milk as her nipples spurt everywhere from the pressure. It's amazing she can even move in such a state...", false);
} else {
if (silPreg > 300){
outputMainText(" The many breasts jiggle around her girth, dribbling with milk as she steps. There's so much boob-flesh around the large mound of her belly that it's hard to believe she has a lithe frame beneath it all. Having difficulty looking out you over the top pair, she seems better off simply resting her muzzle on top of them to keep them out of her way. With such a round body, it's no wonder she hardly goes out anymore...", false);
} else {
if (silPreg > 200){
outputMainText(" And she's not even bothering with a cloak anymore... For now she's completely bare, she's at least comfortable being naked around you. Jiggling all over with each step, all four pairs of breasts are larger than she was when you met her long ago. The thick nipples stand perk with the air and seem to... have small drops of milk beading upon them. She has apparently begun lactating, though not much, which is quite odd considering the previous layings haven't had any. Which is probably the reason she only tosses a bedsheet on when she goes out to shop, as her dripping around home would simply soil the cloth anyways.", false);
} else {
if (silPreg > 120){
outputMainText(" Having found some twine somewhere, she has managed to creat make-do clasps for her cloak to more effeciently cover herself. However, those clasps are across her back as the cloak is on backwards in an attempt to cover her front with as much fabric as possible. And yet, despite the effort, her upper pair is already peeking out from the sides as it stands and all of her nipples press obviously against the cloth as her belly pushes them firmly against the make-do outfit...", false);
} else {
if (silPreg > 60){
outputMainText(" And just as before, her breasts have begun to swell already. In anticipation... she didn't even bother latching the clasps. Depending on her large perk nipples and the occasional tug to keep it shut, the cloak manages to cover some of herself. Suffice it to say, there's a lot of exposed belly-scales as the breast flesh stretches them in curvy manners. What's most troublesome, though, is that there is yet another pair beginning to blossom below the third, accentuating the size of her relatively small belly even more.", false);
} else {
outputMainText(" With her curves back to a relatively normal state, she seems to be trying to wear her cloak again. However, her top breasts are already pressing tightly against the upper clasp, despite her reduced sizes from the laying. The lower clasp looks like how the top one used to be when you first met her, which isn't too bad. The bottom pair of decent sized breasts seem to peek out with even the slightest breeze, on the other hand, as she hasn't made a third clasp yet...", false);
};
};
};
};
};
};
if ((((vagLimit() < (22 + (silPreg / 24)))) && ((vagTotal > 0)))){
outputMainText(" Just looking at the bulge in her loincloth, ", false);
if (silPreg > 36){
outputMainText("yet another thing having swollen with her pregnancy, ", false);
};
outputMainText(" you can tell that you definitely wouldn't be able to fit her maleness, so that is pretty much out of the question.", false);
};
outputMainText("\r\r\"Hello~\" Silandrias greets you with joy, happy to have your company again. \"Come on in, please.\" She turns to lead you into the network of tunnels. \"Would you care to do something, hun?\"", false);
if (silPreg > 40){
if (silTied == false){
if (silRep == 1){
outputMainText("\r\rOnly a few steps in, however, she pauses for a moment and lets out a gasp as the base of her tail expands. A round object passes through, stretching her tail as it moves, before her tail reflexively flicks to the side of the tunnel. As the round object approaches the narrow tip, she shivers a little as the tip opens to let the hard-shelled egg through. Laid gently against the wall, lubrication stretches and snaps off from her secondary vaginal passage that is hidden within her tail, leaving the egg still moist.\r\rShe looks down at what she had done before you and blushes. \"Oh dear... I-I've been a little embarassed since I've begun laying them all over, and even moreso now that I've done it in front of you... D-Don't worry about it though. I just kinda... 'know' that they aren't real, they won't grow or hatch at all, there's nothing in them except normal egg-stuff. Don't really know why though... But it just kinda happens every now and then since we've, umm, had our fun.\" She glances to the side. \"We can leave it for now, I'll pick it up later, with the rest of them...\" Her stride picks up in eagerness to spend some time with you.", false);
} else {
outputMainText("\r\rA few steps in, she pauses and gasps as another egg begins its way down her tail. Just like the lizan people, she lays the infertile things whenever they're ready, though down a different passage. Quite used to it by now, she naturally flicks her tail to the side to desposit it against the wall of the tunnel for retrieval later and continues on.", false);
};
} else {
outputMainText("\r\rFrom behind, you can see her tail is a bit swollen at its base, just behind the leather strap you bound. The eggs press around her tail, wanting to get out, but simply accumulate instead as they're blocked. It makes her walk a little more awkwardly, but doesn't seem to bother her much otherwise.", false);
};
};
viewButtonOutline(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0);
viewButtonText(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0);
buttonWrite(1, "Fuck");
buttonWrite(3, "Be Fucked");
buttonWrite(7, "Eggcelerator");
buttonWrite(9, "Cuddle");
if (cockTotal > 0){
Choice1.visible = true;
};
if ((((vagTotal > 0)) && ((vagLimit() > (22 + (silPreg / 24)))))){
Choice3.visible = true;
};
if (((checkItem(229)) && ((silTied == false)))){
buttonWrite(5, "Tie Tail");
Choice5.visible = true;
};
if (silTied == true){
buttonWrite(5, "Untie");
Choice5.visible = true;
};
if (((checkItem(230)) && ((silPreg > 30)))){
Choice7.visible = true;
};
doListen = function ():void{
var getCum:int;
if (buttonChoice == 1){
getCum = cumAmount();
outputMainText((((("Rubbing the " + cockDesc()) + " bulge in your ") + clothesBottom()) + ", you make it fairly obvious what you would like to do. The tall girl blushes and doesn't object, leading you right to her room with a rapid pace in her step. In a flurry of kisses and hugs, the two of you are soon stripped of your clothes."), true);
if (silPreg <= 240){
outputMainText(" Taking the lead, she pushes you back onto her bed, spreading your legs to lick", false);
if (showBalls == true){
outputMainText(((" your " + ballDesc()) + " testicles"), false);
} else {
outputMainText(((((" the base" + plural(1)) + " of your cock") + plural(1)) + ""), false);
};
outputMainText(((((((" before nibbling up the length of " + oneYour(1)) + " shaft") + plural(1)) + " and gulping down the tip the best she can.\r\rOnce you're thoroughly lubricated with saliva and pre, standing stiff and aching to fill her, she can hardly resist jumping onto it. Yet, she still manages to slowly climb up the bed, her finger-like talons clawing at the sheets as the feathers tickle over your thighs, until she finally manages to sit upright over your waist and squatting down over your erection. She lets out a cooing howl as she feels your girth slip through her lips and burrow into her moist inner-walls. Her wings pressing against your ") + boobDesc()) + " chest"), false);
if (silPreg > 150){
outputMainText(", her large belly resting heavily atop your own", false);
} else {
if (silPreg > 72){
outputMainText(", leaning over her swollen belly", false);
} else {
if (silPreg > 36){
outputMainText(", her bulging belly slightly touching yours", false);
};
};
};
outputMainText(", she steadies herself while her hips begin to grind and twist hungrily on top of you. Her tongue lols from her muzzle and she pants happily while her ears bob up and down, her tail flicking about sporadically from the joy of having you inside of her.", false);
if ((((silRate > 2)) && ((silTied == false)))){
outputMainText(" She pauses only for a moment as she feels an egg drop into her tail, the eggcelerator causing some rather unexpected layings, making her moan a little as she deposits it on the bed beside you, only to make her even more aroused.", false);
};
if (silPreg > 150){
outputMainText((("\r\rHaving swollen quite a bit with her pregnancy with her belly, her cock slaps loudly against you with each hop and flings pre all over your front. The large testicles rest around your groin, hugging your cock" + plural(1)) + " whenever she lifts high enough to allow them to roll beneath her."), false);
} else {
if (silPreg > 72){
outputMainText("\r\rIt also seems that another part of her has swollen slightly with her pregnancy, her phallic appendage and orbs slapping more loudly against you than before, flinging pre over your front with each hop.", false);
} else {
outputMainText("\r\rHer phallic portion pats against you with each hop as it jumps up and down, splattering puddles of pre against you every time her balls rest upon you.", false);
};
};
if ((cockSize * cockSizeMod) >= 66){
outputMainText(" Your own length, meanwhile, stretches her belly out further, forcing her belly-scales to protrude from within, yet seems to have no sign of hurting her or her womb. In fact, she seems to enjoy it even more as she blissfully hugs your head whenever it presses out far enough, tenderly rubbing it until it disappears back inside.", false);
} else {
if ((cockSize * cockSizeMod) >= 36){
outputMainText("\tYour own length, meanwhile, stretches the walls of her pussy greatly, causing them to tightly hug against your width. Yet, there are no signs of pain as she blissfully lets it plow through her again and again.", false);
};
};
outputMainText(" She bounces upon you so roughly that her ", false);
if ((((silRep > 3)) && ((silPreg > 60)))){
outputMainText("four pairs of", false);
} else {
if ((((silRep > 2)) && ((silPreg > 60)))){
outputMainText("three pairs of", false);
} else {
if ((((silRep > 1)) && ((silPreg > 60)))){
outputMainText("two pairs of", false);
};
};
};
outputMainText(" breasts jiggle obscenely, the nipples stiff as though already preparing for a suckling child.\r\rAt this rate, it doesn't take long before Silandrias is letting out a loud, lustful howl as you erupt within her.", false);
if (getCum < 1000){
outputMainText(" Your hot load churns about her tunnel as you spray about, not a single drop slipping from her slit as her womb drinks it in.", false);
} else {
if (getCum < 5000){
outputMainText(" Your hot load forces her belly to visibly distend as you spray within, the grand amount of spunk churning around and drowning your gushing head, yet hardly any seems to spill from her slit as her womb drinks it in, thirsty for seed.", false);
} else {
outputMainText(" Your hot load forces her belly to expand, inflating as you spray within, the massive amount of spunk audibly churning within. However, only a fraction of the stuff spews back out through her slit, as her womb seems to gulp it down as though it were desparately thirsty for seed.", false);
};
};
if (silPreg > 36){
outputMainText(" Her belly swells above you as her fertile nature quickly processes your stuff, pushing forward her eggy pregnancy with blossoming fecundity.", false);
};
outputMainText(" With a couple twitches after being filled by you, her own cock explodes over you, whipping the strands of cum across your body like laced icing. She goes on and on until she's sucked all the cum she can get from you and you look reminiscent of a cheese danish before she finally collapses over you with a heavy sigh.", false);
if ((((silRate > 4)) && ((silTied == false)))){
outputMainText(" And though she may be spent, she clenches your body as her cock kicks up a bit more spunk, yet another egg making its way through her tail...", false);
};
} else {
outputMainText(((((" Her belly too large to wield on top of you, she opts to lie back onto her bed, spreading her legs wide with welcoming access. Prepping " + oneYour(1)) + " member") + plural(1)) + " for action with a gentle rubbing about the tip, you move in on your prey."), false);
if (silPreg > 360){
outputMainText(" She has to lift her gigantic form even higher with her thighs, bending her legs up so you can even manage to reach her genitals.", false);
} else {
outputMainText(" You manage to reach beneath her grand girth, manuevering around the round form to reach her genitals.", false);
};
outputMainText(" Then you have to pull the large package out of your way, both her cock and balls swollen from her engorged pregnancy and blocking the desired entrance.", false);
if (tallness < Math.floor((silPreg / 9))){
outputMainText(((" Lifting them up, you droop her large shaft over your shoulder, pinning the lower portion between your " + boobDesc()) + " chest and her belly while drooping the scrotum over your own length."), false);
} else {
outputMainText(((" Lifting them up, you trap her appendage between your " + boobDesc()) + " chest and her belly and droop her scrotum over your own length."), false);
};
if ((((silRate > 2)) && ((silTied == false)))){
outputMainText(" Thanks to this odd position and the doses of eggcelerator, she lets out an early moan as an egg pushes its way through her tail and down onto the floor.", false);
};
outputMainText((("\r\rNow with clear access, you slip into her thirsty hole. She is already drenched in lubricant, with plenty spilling and drooling down her tail, the heavy belly and hormones having made her especially aroused. You squeeze her testicles with your " + hipDesc()) + " hips while you press in for the first thrust, elliciting a gutteral moan of joy from the girl behind the fertile mound. She tries to hump back a little but merely wiggles her rod between your bodies. To help, you lean up against her, moving your whole body with each pump of your cock, slathering the pre that spills from her own over your body to reduce the friction. Quite soon, the lower hemisphere of her belly is shining in slick juices, allowing you to easily rub across her belly-scales. Maybe a little too easily as you have to "), false);
if (silRep > 3){
outputMainText(" grab her lowest pair of tits, milk squirting through your fingers,", false);
} else {
outputMainText(" hug her girth the best you can manage", false);
};
outputMainText(" just to hold hold against her. All of her breasts shake about", false);
if (silRep > 4){
outputMainText(", jets of milk squirting out everywhere,", false);
};
outputMainText(((" as you pound into her again and again. She moans and howls, her wings groping over her massive form and her tail wrapping up through your legs and wedging into your " + buttDesc()) + " rump to pull you closer. It doesn't take long before the extra-pregnant girl to cry out."), false);
if (tallness < Math.floor((silPreg / 9))){
outputMainText("\r\rHot spunk sprays behind you, coating your back and painting the floor white.", false);
} else {
outputMainText("\r\rHot spunk gushes between you, splattering all over her body and painting your face white.", false);
};
outputMainText(" Her knees crush you like a vice as she comes, forcing you to give into your own pressure and explode inside. It's all a blur as you feel your cum churn about within her, and no matter how much you gush, she seems to take in the majority of it as little squirts out from her extra-slick hole. Having so much contact with her gravid shape, you definitely feel it shift and grow from your blast, devouring your seed and feeding her fertile womb. It takes so long for her cries of ecstasy to eventually die down, so lost in bliss...", false);
if ((((silRate > 4)) && ((silTied == false)))){
outputMainText("\r\rAnd interjecting into the pleasant relaxing, she lets out a gasp as yet another egg forces its way through to be laid on the bed with you.", false);
};
};
if ((((Math.ceil((getCum / 50)) > 100)) && ((silPreg > 0)))){
silPreg = (silPreg + 100);
} else {
if (silPreg > 0){
silPreg = (silPreg + Math.ceil((getCum / 50)));
} else {
silPreg = 1;
};
};
doLust((-2 * sen));
doNext();
doListen = function ():void{
outputMainText("The two of you rest for a while, snuggling together with her sticky mess between you. Significantly satisfied, she kisses you before rolling onto the bed for a nice nap, her womb quite busy with what you left inside. You kiss her back as she sleeps, taking your sweet time before leaving to continue with other matters.", true);
hrs = 4;
doEnd();
};
};
if (buttonChoice == 3){
outputMainText("Stepping towards her and placing a hand upon the bulge in her loincloth, it doesn't take a scholar to figure out what you'd like. The tall girl blushes and the bulge jumps with sudden bloodflow. She doesn't object and leads you right to her room with a rapid pace in her step. In a flurry of kisses and hugs, the two of you are soon stripped of your clothes.", true);
if (silPreg <= 240){
outputMainText(" Eager to release, she pushes you back onto her bed, wedging herself between your thighs as she flops the stiffening erection on top of your ", false);
if (cockTotal > 0){
outputMainText("own", false);
} else {
if (cockTotal < 1){
outputMainText("belly", false);
};
};
outputMainText(" with a splatter of slimy pre.", false);
if ((((silRate > 3)) && ((silTied == false)))){
outputMainText(" She pauses as her rear pulls back a bit, her talons clenching as a bulge travels down her tail. The eggcelerator doses obviously working, she lays the egg on the floor and quickly returns her attention to you.", false);
};
if (silPreg > 36){
outputMainText(" Slightly swollen from her growing pregnancy, she takes a moment to caress her longer member, getting a feel for how large it has become.", false);
};
outputMainText(((((" Then, her finger-like talons grab onto your " + hipDesc()) + " hips, the feathers of her wings tickling your thighs as she drags her cock over you until it falls into the ") + vulvaDesc()) + " crevice between. With a moaning grunt, she plunges in.\r\rThe hard phallus pumps in and out of your soft velvety walls while the "), false);
if (silPreg > 150){
outputMainText("large and heavy", false);
} else {
outputMainText("big", false);
};
outputMainText(((" balls slap against your " + buttDesc()) + " rump"), false);
if (((silPreg + pregnancyTime) + vagBellyMod) > 1000){
outputMainText(", her pregnant belly bumping against your own,", false);
};
outputMainText(" with each thrust. Her breasts wobble with her fervor, in tune to her panting as her long tongue lolls from her vulpine muzzle.", false);
if (breastSize > 3){
outputMainText(" Your own chest jiggles as well, your body dragging across the bed from her strength.", false);
};
if ((((silPreg > 100)) && ((cockTotal > 0)))){
outputMainText(((((" More pre slops across her pregnant belly as your " + cockDesc()) + " cock") + plural(1)) + " gently slap it, making her even more aroused from the taut sensitive scales."), false);
} else {
if (cockTotal > 0){
outputMainText(((((" More pre slops across yourself as your " + cockDesc()) + " cock") + plural(1)) + " bounce around, leaving you rather slick."), false);
};
};
outputMainText("\r\rThanks to her generous efforts, you both find yourselves reaching orgasm within minutes. Her body quivers and seizes as it forces a few more loud squishes into your pussy before it explodes within, drenching your insides with thick gooey cum. You shiver in turn,", false);
if (cockTotal > 0){
outputMainText(((" more eruptions gushing from your own rod" + plural(1)) + ","), false);
};
outputMainText(" shouting along with her howling with sensual joy. By the time your both done with your erotic fits, Silandrias collapses upon your belly, rubbing it with a wing as her seed fills you, her cock slipping out and trailing white strands across her sheets. She then crawls up onto the bed beside you to snuggle and kiss you lovingly, before eventually passing out for a nap.", false);
} else {
outputMainText(" Although she's quite eager for some release, her belly prevents her from taking the initiative, leaving her to lay down upon the bed and waiting for you to make the next move. With her erection smearing pre all over the underside of her belly as it stands stiff and hard, all you have to do is climb up the pregnant mound and squat down upon the pole. Wrapping your arms around her girth, she howls as you grab her ", true);
if (silRep > 3){
outputMainText("lowest pair of tits, milk squirting through your fingers,", false);
} else {
outputMainText("sensitive belly scales", false);
};
outputMainText(" and begin to bounce up and down on top of her, the swollen shaft plunging through your velvety folds.", false);
if (silRate > 3){
outputMainText("Then she gasps, holding you still with her thighs for a moment as a bulge grows at the base of her tail and descends down its length, depositing an egg upon to floor before she releases you to continue.", false);
};
if (((silPreg + pregnancyTime) + vagBellyMod) > 1400){
outputMainText(" Your own gravid belly drags across hers, pushing you away as they gently bump and bang against each other", false);
} else {
outputMainText(" Your own belly lays over hers as you try to get as close as possible, feeling how taut and smooth and suppler her belly-scales really are", false);
};
if (cockTotal > 0){
outputMainText(((((((", while your own " + cockDesc()) + " member") + plural(1)) + " ") + plural(13)) + " caught between, being squished and ground between the flesh until your pre is coating them both"), false);
};
outputMainText(".\r\rHer extra-fertile status has made her so horny and sensitive that it doesn't take long before her hips to jerk and her erection to explode within you. You're nearly lifted from the powerful blow, the stuff churning through you and spitting back out across her thighs and sheets, her heavily engorged testicles pumping out an excessive load. Your mind grows fuzzy with your own orgasm, ", false);
if (cockTotal > 0){
outputMainText((("ropes of cum leaping from your cock" + plural(1)) + " and across her belly to decorate her many tits, "), false);
};
outputMainText("until you collapse over her girth and try to catch your breath. It takes several minutes for the rod inside to soften up and slip out of your nethers with a noisy splurt, allowing you to crawl up beside her and lay with the panting vulpine as her tongue lolls out of her muzzle. She turns a wing to snuggle with you and kiss you lovingly, before eventually passing out for a nap.", false);
};
doImpregnate(dominant);
if (cockTotal > 0){
cumAmount();
};
doLust((-2 * sen));
doNext();
doListen = function ():void{
outputMainText("You rest with her for a while before you decide to clean up the mess left behind. Then you quietly don your clothes and sneak out, allowing her to rest peacefully.", true);
hrs = 4;
doEnd();
};
};
if (buttonChoice == 5){
if (silTied == false){
outputMainText("You think it's a good idea to halt the frequent laying process from her tail as you take out the leather strap that you had found within the labyrinth of tunnels of her home. She doesn't seem to recognize it either, since she says she still has no idea what a lot of the things in her den are for, oddly. Nevertheless, she bends toward a wall and leans against it, lifting up her tail and giving you a nice view of her firm rump as the loin cloth rests against the curves. The leather strap easily slips up the length of her tail and tightens comfortably around the base. It seems to be perfectly made for such a situation.\r\rYou take a few minutes to check the straps to ensure no blood is being cut off and notice she's starting to breath slightly quicker against the wall. She appears to be preparing for an oncoming egg as her tail reflexively whips about to lay it. However, as she pushes her rump back further, trying to press the egg through her tail's vaginal passage, the bulging egg stops right at the strap. Unable to go any further, it sits there, making the base of her tail look swollen.\r\rAfter a few moments pass, Silandrias collects herself and slowly stands. She jerks a bit at the odd sensation of the egg stuck inside of her, but she seems to manage just fine. With a few awkward steps, she gets used to the backed up passage inside of her, her belly already looking a bit bigger from the lack of expulsion.\r\rTying her tail seems to have successfully halted her laying process without any issues. Sticking around a while longer to confirm she is fine, you're soon on your way.", true);
silTied = true;
loseManyItem(229, 1);
hrs = 3;
doEnd();
} else {
outputMainText("You decide to let the eggs flow freely once more. She leans against the wall again to give you easy access, allowing you to quickly untie the leather strap and slip it off. Immediately after you loosen it up, the bulge at the base of her tail shifts, making her gasp and her tail whip to the side as the egg within moves and starts its way out. Silandrias lets out a relaxed sigh as the egg is deposited upon the tunnel floor, her belly already looks a little smaller.\r\rYet, despite how much she has built up, no more eggs attempt to exit right away. Staying with her a bit longer, she does eventually lay more, though at her normal cycle from before rather than trying to catch up, leaving her womb swollen in the meantime. Otherwise, she is doing very well, allowing you to head back out.", true);
silTied = false;
itemAdd(229);
hrs = 3;
doEnd();
};
};
if (buttonChoice == 7){
outputMainText("To help her along with her current eggy pregnancy, you consider giving her a dose of eggcelerator. Even though she isn't of lizan descent, the egg-aid may help her somehow.\r\rSilandrias agrees to take it, as long as you help her administer it. Leading you back to her room, ", true);
if ((((silRate > 2)) && ((silTied == false)))){
outputMainText("her tail already laying another egg along the way thanks to previous doses,", false);
};
outputMainText("she readily sits down on her bed and leans back while spreading her legs wide for your convenience.\r\rTaking a moment to stare at the wonderful view, you lean in and pull her veiling loin cloth aside.", false);
if (silPreg <= 200){
outputMainText(" Then you easily lift her flaccid maleness, giving yourself access to the soft slit beneath.", false);
} else {
if (silPreg <= 400){
outputMainText(" Then you take some effort to lift her swollen maleness, both cock and balls having grown slightly with the pregnant arousal, and manuever beneath the large belly to access her soft slit.", false);
} else {
if (silPreg <= 600){
outputMainText(" It then takes quite a bit of effort to both hold aloft the engorged penis and testicles, a bit of pre drooling over your arm from her pregnant arousal, and do your best to feel under her huge belly until you can find her soft slit beneath all the swollen bits.", false);
};
};
};
outputMainText(" From there, slipping the small suppository inside is simple, as it sucks itself in thanks to its torpedo-like shape.\r\rWithin moments you can feel her shiver as the stuff dissolves and makes her giggle a little.", false);
if ((((silRate > 5)) && ((silTied == false)))){
outputMainText(" However, she soon holds her breath and her eyes go wide as she pushes, several bulges travelling down her tail in an instant in response to the sudden spur in production. Once they all plop out around the bed, she huffs as her system stabalizes with her belly visibly growing at first, the production rate surpassing her laying rate some more.", false);
} else {
if (silTied == false){
outputMainText(" She soon gasps as she suddenly feels an unexpected egg already at the entrance to her tail-passage, making her grunt a little as she pushes it out and plops it onto the bed. From there, her belly seems to grow slightly as it stabilizes with the increased rate of production over laying, until she's breathing normally again.", false);
} else {
outputMainText(" She soon gasps a little as she feels her belly churn, visibly growing slightly as it stabilizes with the increased rate of production over laying, eventually tapering off when it settles.", false);
};
};
outputMainText("\r\rThough the chemical may work differently on her, it seems to do its duty. She smiles at you, feeling her fertility blossoming more rapidly. \"I'm sure this will make the process move along faster...\"\r\rYou stay with her another couple of hours to make sure she's alright and to spend some time together, then you head back out to continue on.", false);
silRate++;
loseManyItem(230, 1);
hrs = 3;
doEnd();
};
if (buttonChoice == 9){
outputMainText("Just wanting to spend some time together, you give her a hug. She smiles back at you and leads you through the tunnels to a nice room to socialize. There are a few seats of plush pillows and reed mats to sit upon, fitting for someone of her height, with a few tables cluttered with various knick-knacks. Torches light the room and several crystalline chandeliers and chimes break the light into vivid sparkling colors, providing a rather soothing atmosphere. Some of the crystals even glow on their own; shards of magical artifacts long lost to the ravages of the desert.\r\rSilandrias lies down upon one of the mats", true);
if (silPreg > 36){
outputMainText(", upon her side so as to give her growing girth some room,", false);
};
outputMainText(" and lets you cuddle up behind her. You hug and caress her curves,", false);
if (silPreg > 360){
outputMainText(" hardly able to cover much of her pregnancy as you grope the massive belly and make her moan ocassionally from the great sensitivity,", false);
} else {
if (silPreg > 240){
outputMainText(" groping as much of her giant belly as you can and cause her to gasp softly from the sensation,", false);
} else {
if (silPreg > 150){
outputMainText(" groping about her belly and making her toes curl,", false);
} else {
if (silPreg > 75){
outputMainText(" petting her large belly,", false);
} else {
if (silPreg > 36){
outputMainText(" palming her growing belly,", false);
};
};
};
};
};
if ((((silRep > 3)) && ((silPreg > 150)))){
outputMainText(" causing milk to spit across the floor and soak into everything from her multitude of breasts,", false);
};
outputMainText(" gently kissing her shoulders as you talk. The two of you alternate between stories of your travels and the findings of her treasures. There's even a bit of small talk mixed in as well as periods of silence where you simply enjoy each others company.\r\rEventually, however, you must be on your way so that something can get done. As much as the two of you would like to continue, you can't ignore the need to get some food or other preparations or ignore the rest of your lives.", false);
if (silPreg > 36){
outputMainText(" However, you could swear her form grew bigger than when you started. It seems your company has really made her feel comfortable and... motherly.", false);
};
if ((((silRate > 3)) && ((silTied == false)))){
outputMainText(" Despite her having laid a few eggs during your time together as well.", false);
};
outputMainText("\r\rYou soon give each other a kiss and exchange farewells, hopefully to not spend too much time apart.", false);
hrs = 4;
if (silPreg > 1){
silPreg = (silPreg + 10);
};
doEnd();
};
};
};
};
};
};
};
};
};
}
public function weaponAttack():void{
var dmg:int;
dmg = 0;
if (weapon == 10){
dmg = ((Math.floor((Math.random() * ((1 + 10) - 1))) + 1) + Math.floor(((str / 2) - ((100 - eSen) / 20))));
outputMainText((((("You punch the " + enemyName()) + " with your fists, dealing ") + dmg) + " damage!"), true);
doeHP(-(dmg));
};
if (weapon == 116){
dmg = ((Math.floor((Math.random() * ((1 + 12) - 5))) + 5) + Math.floor(((str / 2) - ((100 - eSen) / 20))));
outputMainText((((("You lung at the " + enemyName()) + " and stab it with your dagger, dealing ") + dmg) + " damage!"), true);
doeHP(-(dmg));
};
if (weapon == 117){
dmg = ((Math.floor((Math.random() * ((1 + 20) - 2))) + 2) + Math.floor(((str / 2) - ((100 - eSen) / 20))));
outputMainText((((("You swing your hammer at the " + enemyName()) + ", dealing ") + dmg) + " damage!"), true);
doeHP(-(dmg));
};
if (weapon == 118){
dmg = ((Math.floor((Math.random() * ((1 + 25) - 10))) + 10) + Math.floor(((str / 2) - ((100 - eSen) / 20))));
outputMainText((((("You slash at the " + enemyName()) + " with your saber, dealing ") + dmg) + " damage!"), true);
doeHP(-(dmg));
};
if (weapon == 119){
dmg = ((Math.floor((Math.random() * ((1 + 18) - 12))) + 12) + Math.floor(((str / 2) - ((100 - eSen) / 20))));
outputMainText((((("You lash at the " + enemyName()) + " with your whip, dealing ") + dmg) + " damage!"), true);
doeHP(-(dmg));
};
if (weapon == 127){
dmg = ((Math.floor((Math.random() * ((1 + 20) - 10))) + 10) + Math.floor(((str / 2) - ((100 - eSen) / 20))));
outputMainText((((("You whip around your tail and smack the " + enemyName()) + " with the spike at the end, dealing ") + dmg) + " damage!"), true);
doeHP(-(dmg));
};
if (weapon == 235){
dmg = ((Math.floor((Math.random() * ((1 + 5) - 1))) + 1) + Math.ceil((ment / 10)));
if (ment < 30){
outputMainText((((("You awkwardly stuff the wide-rimmed head of the rod into your mouth, sucking as hard as you can even though you only manage drain " + dmg) + " HP from the ") + enemyName()) + "."), true);
} else {
if (ment < 70){
outputMainText((((("You gently lick around the wide-rimmed head of the rod before sliding it into your mouth and gently sucking from the tip, draining a whole " + dmg) + " HP from the ") + enemyName()) + "."), true);
} else {
outputMainText((((("You lick up the shaft of the rod before swirling your tongue around the wide-rimmed head, coaxing it into your mouth as you continue to drag your tastebuds over and around it while pumping it in and out gently, draining " + dmg) + " HP from the ") + enemyName()) + "!"), true);
};
};
doeHP(-(dmg));
doHP(dmg);
};
}
public function changeTop(ID:int):void{
if (attireTop == -1){
stats(2, 2, 0, 0);
};
if (attireTop == 0){
stats(0, 4, 0, 0);
};
if (attireTop == 1){
};
if (attireTop == 3){
enticeMod = (enticeMod - 3);
stats(0, 2, 0, -2);
milkMod = (milkMod + 0.5);
};
if (attireTop == 5){
stats(2, -4, 0, 0);
};
if (attireTop == 6){
enticeMod = (enticeMod - 7);
stats(0, 2, 0, -8);
cumMod = (cumMod + 0.2);
milkMod = (milkMod + 0.3);
};
if (attireTop == 9){
stats(2, -2, 0, 1);
milkMod = (milkMod - 0.5);
};
if (attireTop == 12){
stats(2, 0, -2, -2);
cumMod = (cumMod - 0.2);
runMod = (runMod + 5);
pregChanceMod = (pregChanceMod - 5);
};
if (attireTop == 13){
stats(2, 3, -2, -3);
enticeMod = (enticeMod - 5);
pregChanceMod = (pregChanceMod - 5);
};
if (attireTop == 17){
stats(-2, 2, 0, -2);
vagMoist = (vagMoist - 2);
cockMoist = (cockMoist - 2);
pregChanceMod = (pregChanceMod + 5);
};
if (attireTop == 18){
stats(-2, 2, 0, 0);
breastSize = (breastSize - 1);
};
if (attireTop == 19){
stats(2, -2, -2, 0);
breastSize = (breastSize - 4);
hips = (hips - 2);
HPMod = (HPMod + 5);
};
if (ID == -1){
if ((((attireTop == attireBot)) && (!((attireBot == -1))))){
attireTop = ID;
changeBot(-1);
};
stats(-2, -2, 0, 0);
};
if (ID == 0){
stats(0, -4, 0, 0);
};
if (ID == 1){
};
if (ID == 3){
enticeMod = (enticeMod + 3);
stats(0, -2, 0, 2);
milkMod = (milkMod - 0.5);
};
if (ID == 5){
stats(-2, 4, 0, 0);
};
if (ID == 6){
enticeMod = (enticeMod + 7);
stats(0, -2, 0, 8);
cumMod = (cumMod - 0.2);
milkMod = (milkMod - 0.3);
};
if (ID == 9){
stats(-2, 2, 0, -1);
milkMod = (milkMod + 0.5);
};
if (ID == 12){
stats(-2, 0, 2, 2);
cumMod = (cumMod + 0.2);
runMod = (runMod - 5);
pregChanceMod = (pregChanceMod + 5);
};
if (ID == 13){
stats(-2, -3, 2, 3);
enticeMod = (enticeMod + 5);
pregChanceMod = (pregChanceMod + 5);
};
if (ID == 17){
stats(2, -2, 0, 2);
vagMoist = (vagMoist + 2);
cockMoist = (cockMoist + 2);
pregChanceMod = (pregChanceMod - 5);
};
if (ID == 18){
stats(2, -2, 0, 0);
breastSize = (breastSize + 1);
};
if (ID == 19){
stats(-2, 2, 2, 0);
breastSize = (breastSize + 4);
hips = (hips + 2);
HPMod = (HPMod - 5);
};
if ((((((attireTop == attireBot)) && (!((ID == 0))))) && (!((ID == -1))))){
attireTop = ID;
changeBot(2);
} else {
attireTop = ID;
};
}
public function plural(topic:int):String{
var tempStr:String;
tempStr = "";
if ((((topic == 1)) && ((cockTotal > 1)))){
tempStr = "s";
};
if ((((topic == 2)) && ((vagTotal > 1)))){
tempStr = "s";
};
if ((((topic == 3)) && ((cockTotal < 2)))){
tempStr = "s";
};
if ((((topic == 4)) && ((vagTotal < 2)))){
tempStr = "s";
};
if ((((topic == 5)) && ((cockTotal < 2)))){
tempStr = "its";
};
if ((((topic == 5)) && ((cockTotal > 1)))){
tempStr = "their";
};
if ((((topic == 6)) && ((vagTotal < 2)))){
tempStr = "its";
};
if ((((topic == 6)) && ((vagTotal > 1)))){
tempStr = "their";
};
if ((((topic == 7)) && ((cockTotal < 2)))){
tempStr = "it's";
};
if ((((topic == 7)) && ((cockTotal > 1)))){
tempStr = "they're";
};
if ((((topic == 8)) && ((vagTotal < 2)))){
tempStr = "it's";
};
if ((((topic == 8)) && ((vagTotal > 1)))){
tempStr = "they're";
};
if ((((topic == 9)) && ((cockTotal < 2)))){
tempStr = "it";
};
if ((((topic == 9)) && ((cockTotal > 1)))){
tempStr = "them";
};
if ((((topic == 10)) && ((vagTotal < 2)))){
tempStr = "it";
};
if ((((topic == 10)) && ((vagTotal > 1)))){
tempStr = "them";
};
if ((((topic == 11)) && ((cockTotal < 2)))){
tempStr = "it";
};
if ((((topic == 11)) && ((cockTotal > 1)))){
tempStr = "they";
};
if ((((topic == 12)) && ((vagTotal < 2)))){
tempStr = "it";
};
if ((((topic == 12)) && ((vagTotal > 1)))){
tempStr = "they";
};
if ((((topic == 13)) && ((cockTotal < 2)))){
tempStr = "is";
};
if ((((topic == 13)) && ((cockTotal > 1)))){
tempStr = "are";
};
if ((((topic == 14)) && ((vagTotal < 2)))){
tempStr = "is";
};
if ((((topic == 14)) && ((vagTotal > 1)))){
tempStr = "are";
};
return (tempStr);
}
public function doRape():void{
var chance:int;
if (enemyID == 1){
if (gender == 1){
outputMainText("You stick your cock in the test enemy's butt and cum.", true);
};
if (gender == 2){
outputMainText("You sit on the test enemy's cock until you cum.", true);
};
if (gender == 3){
outputMainText("You stuff your cock in the test enemy's butt, then sit on its cock and cum.", true);
};
};
if (enemyID == 201){
outputMainText((((((((((("You easily roll the wolf onto his back. Pulling " + pullUD(2)) + " your ") + clothesBottom()) + ", you squat your ") + vulvaDesc()) + " cunt over his sheath, wedging it between your folds while you grind against it. Once his bright red prick twitches as it stretches from its sheath, reaching long and hard while dribbling with pre, you slip it into ") + oneYour(2)) + " hungry hole") + plural(2)) + ". You bounce on top of his belly,"), true);
if (vagMoist > 6){
outputMainText(" your honey splashing about everywhere,", false);
};
outputMainText(" his hard doggy dick scraping against your inner walls. The lone wolf howls and drools, his tongue lolling out the side of his muzzle, as hot spurts of fresh cum gush within you. You shudder at the raw sensation, squeezing his coarse fur between your thighs. Then, you shiver as you feel the base of his cock swell, knotting within you. You collapse beside him, your pussy throbbing with orgasm, as you gasp and moan with his howls...", false);
outputMainText("\r\r\rEventually, his knot deflates. You rub your ", false);
if (vagLimit() < 8){
outputMainText("sore little pussy, a bit stretched from the size of the thing,", false);
vagChange(1, 0);
} else {
outputMainText("satiated cunt,", false);
};
outputMainText(" the cock sliding out with cum dripping down between your legs.", false);
doImpregnate(enemyBaby());
};
if (enemyID == 301){
chance = percent();
if ((((gender == 1)) || ((((percent() <= 50)) && ((gender == 3)))))){
if (chance <= 100){
outputMainText((((((((((("The felin woman is easily bent forward by your efforts. Her loincloth droops out of the way, giving you a perfect view of the swollen, supple lips that pucker around the crotch of her bikini bottom. Pulling " + pullUD(2)) + " your ") + clothesBottom()) + ", you slide ") + oneYour(1)) + " ") + cockDesc()) + " prick") + plural(1)) + " out and through the cheeks of her ample rump, making her quiver with anticipation. Not wanting to leave her waiting for too long, the head of your cock pushes into the bikini bottom, pushing through to kiss the waiting hole within."), true);
if ((cockSize * cockSizeMod) > eVagLimit(40)){
outputMainText((("\r\rHowever, she cries out in pain and disappointment, your " + cockDesc()) + " cock far to big to fit inside without tearing her apart. So, instead, you slip it between her legs, rubbing it across her stiff clit and through her loincloth and over her belly as you "), false);
};
if (((((cockSize * cockSizeMod) <= eVagLimit(40))) && (((cockSize * cockSizeMod) > eVagLimit(24))))){
outputMainText((("\r\rShe cries out in pain and pleasure as your " + cockDesc()) + " cock stretches her thirsting cunt wide, pushing her bikini in until it tears from your path. She pushes her rump back towards you, trying her best to devour the hot rod all the way to its hilt as you "), false);
};
if ((cockSize * cockSizeMod) <= eVagLimit(24)){
outputMainText((("\r\rShe cries out in ecstacy as her hungry cunt devours your " + cockDesc()) + " cock, along with her own bikini until it tears from your path. She takes it all the way in to your hilt as you "), false);
};
outputMainText("lean forward and hug her from behind, your hands groping about her many breasts. You pump hard, again and again, until the unavoidable pressure begins to build. Soon, you blow your load ", false);
if ((cockSize * cockSizeMod) > eVagLimit(40)){
outputMainText("across her chest while she tries to lap up the spray with her tongue. You pull back, leaving her a mess.", false);
};
if ((cockSize * cockSizeMod) <= eVagLimit(40)){
outputMainText("into her womb, making her let out a long and joyful mewl. Before she can become too content, you pull out of her with a slurp, your cum still dribbling from her used sex.", false);
};
cumAmount();
};
} else {
if ((((gender == 2)) || ((gender == 3)))){
outputMainText("You knock the felin woman backwards onto her ample ass, her legs spreading wide. She cries out as you duck beneath her loincloth and lick her stiff clit through her bikini. Juices flood within your mouth as she instantly reacts, her swollen cunt-lips gnawing at the crotch of the messy bottom. You pull it aside, diving in and getting a good mouthful of her supple flavor. You devour her folds until she twitches uncontrollably, so desparate to come. But, before she does, you consider your own needs and draw your head out before repaclacing it with your own crotch.", true);
outputMainText((((((("\r\rYou grind against her stiff clit as it pokes through her loin cloth, your own " + clitDesc()) + " button") + plural(2)) + " throbbing through your ") + clothesBottom()) + "."), false);
if ((((cockTotal > 0)) && ((cumAmount() > 0)))){
outputMainText(((((((" You pull your " + cockDesc()) + " cock") + plural(1)) + ", letting the engorged length") + plural(1)) + " bounce against her belly and hump through her many breasts."), false);
};
outputMainText(((" You grind, cunt to cunt" + plural(2)) + ", until you both let out a yowl as you climax together.\r\rYou're quick to gather your wits and clean yourself up, standing before her pussy even stops gushing with honey."), false);
};
};
};
if (enemyID == 302){
if ((((gender == 2)) || ((((percent() <= 50)) && ((gender == 3)))))){
outputMainText((((((("The drunken equan falls to his ass, his huge cock bouncing out of his loose pants. It throbs in the air, a large gob of pre spilling out. With a smirk, you step over him, pulling " + pullUD(2)) + " your ") + clothesBottom()) + " and showing him your own hungry flesh. You spread your legs over his twitchy rod, kissing the flat head of the horsy member with your ") + vulvaDesc()) + " lips."), true);
if (vagLimit() < 32){
outputMainText((((((((((("\r\rHis man-meat is far too large for your cunt" + plural(2)) + " however, so you do the next best thing and sit down in his lap. Grinding your hips forward, your ") + clitDesc()) + " clit") + plural(2)) + " hump") + plural(4)) + " into his length. The long prick squeezes between your ") + boobDesc()) + " tits as you press against him, making him tense even more."), false);
} else {
outputMainText((((((((("\r\rYou plunge down onto his giant man-meat with " + oneYour(2)) + " ") + vulvaDesc()) + " cunt") + plural(2)) + ". It fills you up so much you grin with a drool. You hug him close, your ") + boobDesc()) + " tits pressing against his firm chest, making the thing inside you even harder."), false);
};
outputMainText(((" Your hips jerk up and down again and again as you rub along his length. Tingling sparks between the two of you as you feel his softball-sized testicles tighten up beneath your " + buttDesc()) + " butt. Within seconds, the two of you echo in ecstacy, his whinnying quickly over-taking your moans,"), false);
if (vagLimit() < 32){
outputMainText(" his cock erupting like a volcano between the two of you", false);
if ((((cockTotal > 0)) && ((cumAmount() > 0)))){
outputMainText(", with yours joining in the volley,", false);
};
outputMainText(" and the hot spunk spills back down all over your bodies.\r\rYou don't give him much time to recover as you pull away, leaving a bit of after-cum to gush out over his belly.", false);
} else {
outputMainText(" his cock erupting within you like a powerful volcano, the molten spunk making your belly swell slightly before spilling back out onto the ground", false);
if ((((cockTotal > 0)) && ((cumAmount() > 0)))){
outputMainText(", while yours sprays across his chest and face", false);
};
outputMainText(((".\r\rYou don't give him much time to recover as you pull him out, a bit of after-cum gushing across your clit" + plural(2)) + "."), false);
doImpregnate(enemyBaby());
};
} else {
if ((((gender == 1)) || ((gender == 3)))){
outputMainText((((((((((("The drunken equan falls to his ass, his huge cock bouncing out of his loose pants. It throbs in the air, a large gob of pre spilling out. With a smirk, you step over him, pulling " + pullUD(2)) + " your ") + clothesBottom()) + " and brandishing ") + oneYour(1)) + " own ") + cockDesc()) + " cock") + plural(1)) + ". You roll him over onto all fours, his pants quickly slipping from his tight rump as you give it a slap."), true);
outputMainText((("\r\rHe whinnies loudly as you plunge your " + cockDesc()) + " erection into his backside. Again and again, you pump away at his hole, until he lets out a loud whinny. His eyes going wide, his giant rod explodes across the ground until its massive length is swimming in a puddle of his own stuff,"), false);
if (cumAmount() > 0){
outputMainText(" while yours erupts into his ass, churning his insides,", false);
};
outputMainText(" until you've both had a heady orgasm. You pull out quickly, fluids still dripping from your cock, while he heaves upon the ground.", false);
};
};
};
if (enemyID == 303){
if ((((gender == 1)) || ((gender == 3)))){
outputMainText((((((((("Able to wrestle through the octopus girl's eight powerful tentacles and knock her onto her squishy bottom, you pin her onto her back. Her tentacles spread wide before you, you're able to see the underside of her fleshy webbing. Her hands cover her face in a futile attempt to hide her blush while you inspect her. In the center of all the tentacles, right beneath her hips, gasps a gaping hole.\r\rA sort of 'beak', like octopuses normally have, encompasses the hole. It looks tougher than the surrounding flesh, able to maintain its shape, but as you stick your finger into the maw and it bites down upon you, you realize it's still quite soft, merely molding around your finger. Beyond the beak itself is a deep hallway of supple folds that ripple as it tries to swallow your finger, and supremely lubricated as your finger comes out with a long strand of translucent slime trailing behind it. With your own smirk, you pull " + pullUD(2)) + " your ") + clothesBottom()) + " and let your ") + cockDesc()) + " erection") + plural(2)) + " wobble out. Aligning yourself, you thrust "), true);
if (cockTotal == 1){
outputMainText("it", false);
} else {
outputMainText("all of them", false);
};
outputMainText(" into her juicy hole.", false);
if (((cockTotal * cockSize) * cockSizeMod) > 40){
outputMainText((((((((("\r\rSurprisingly, she's able to take in all of your length" + plural(1)) + ", although you hear a dulcet, yet quite high pitched, cry as her face escapes her hands and lurches forward with her mouth wide in a strange combination of pain and confusion. She settles down quickly, however, and idly grips at the sand beneath her and her tentacles wrap around you to hang on for dear life. Her body literally stretches to form around your ") + cockDesc()) + " cock") + plural(1)) + ", with lubrication spitting out from her beak, her skin becoming more translucent the more taut she becomes, until you can make out your throbbing erection") + plural(1)) + " within. Fortunately, her belly isn't affected by the stretching, her pregnancy perfectly fine."), false);
} else {
outputMainText((("\r\rShe seems to be able to take your length" + plural(1)) + " easily, her passage large and excessively lubricated. Her hands leave her face as she grins wryly, not having expected you to take her on as such. Her tentacles wrap around your body, pulling you in deeper as she gropes her large belly."), false);
};
outputMainText((("\r\rThe hungry maw seems to constantly swallow your dick" + plural(1)) + " as you plunge into her again and again. The slick folds do a number on you, bringing you to orgasm within a minute. You gush inside of her,"), false);
if (cumAmount() > 2000){
outputMainText(" your massive amount of cum causing her to swell further, her soft skin growing lighter as it stretches,", false);
};
outputMainText(" until you're fully spent.\r\rJust as you're about to pull out, you see her squirm, her belly jiggling and growing slightly larger, deforming slightly as the offspring inside her shifts.", false);
} else {
if (gender == 2){
outputMainText((((((((((((((("Able to wrestle through the octopus girl's eight powerful tentacles and knock her onto her squishy bottom, pinning her onto her back. Her tentacles spread wide before you, you're able to see the underside of her fleshy webbing. Her hands cover her face in a futile attempt to hide her blush while you inspect her. In the center of all the tentacles, right beneath her hips, gasps a gaping hole.\r\rA sort of 'beak', like octopuses normally have, encompasses it. The beak looks tougher than the surrounding flesh, able to maintain its shape, but as you stick your finger into the maw and it bites down upon you, you realize it's still quite soft, merely molding around your finger. Beyond the beak itself is a deep hallway of supple folds that ripple as it tries to swallow your finger, and supremely lubricated as your finger comes out with a long strand of translucent slime trailing behind it. With your own smirk, you pull " + pullUD(2)) + " your ") + clothesBottom()) + " and begin to grind your ") + vulvaDesc()) + " cunt") + plural(2)) + " against it.\r\rShe lets out a warbling moan. Her hands leave her face, showing the blush and lustful expression she now wears. The beak nips at your ") + clitDesc()) + " clit") + plural(2)) + " whenever the stiff thing") + plural(2)) + " rub against it, making you buck in turn. Her tentacles quickly begin to grope around your body, making you slick as the move towards your crotch."), true);
if ((((vagTotal > 1)) && ((vagTotal < 9)))){
outputMainText("\r\rOne tentacle for each of your pussies, they softly dive in, as far as they can go before they feel you begin to stretch. They slip in and out as you hump the girl, quickly driving you towards climax.", false);
} else {
if (vagTotal == 1){
outputMainText("\r\rA tentacle softly slips into your pussy, diving in as far as it can go before it feels you begin to stretch. It slips in and out as you hump the girl, quickly driving you towards climax.", false);
} else {
if (vagTotal > 8){
outputMainText("\r\rTaking turns at each of your pussies, the tentacles softly dive in, as far as they can go before they feel you begin to stretch. They slip in and out as you hump the girl, quickly driving you towards climax.", false);
};
};
};
outputMainText(((" You can soon feel her shudder between your legs, her large belly jiggling as milk drizzles past the feeding starfish and down her large breasts. The tentacles leave your slit" + plural(2)) + " as you finish with your own orgasm..."), false);
};
};
};
if (enemyID == 304){
if ((((vagTotal > 0)) && ((vagLimit() > 80)))){
outputMainText((((((((((("Somehow managing to push the little big bunny-man onto his tail, you pull " + pullUD(2)) + " your ") + clothesBottom()) + ", climb up through his thighs, and plant your feet on his relatively large scrotum. His conical cock stands high before you, red and wet with arousal. With it's sloped shape, you easily manage to climb up it as well, stradding it at the top with your legs. The narrow tip easily fits between your thighs and slips into ") + oneYour(2)) + " ") + vulvaDesc()) + " vagina") + plural(4)) + " as you descend upon it.\r\rHis eyes roll up into his head as you slip down his length, the prick stretching your hole open wider and wider as it slides in."), true);
if (tallness < 180){
outputMainText(((((" Your belly begins to stretch as the tip burrows through your inner flesh, the giant cock filling you tremendously. By the time your " + buttDesc()) + " rump lands upon his balls, your legs wedges into his sheath, the ") + skinDesc()) + " of your belly reaches past your head. You stand again to fuck his massive prick, though... you quickly find it's difficult to manage such a thing with his body so much larger that yours.\r\rTo your surprise, you find a white hand wrapping around your body, hugging you against the cock. Before you know it, you're being lifted into the air, slipping up the shaft, only to come back down once more. Difficult to tell who's raping who at the point, but he overtaken bunny-man masturbates with you as his toy. Fast and faster he pumps you up and down his length, quickly bringing you both to orgasm. His seed gushes into your belly, causing it to visibly ripple and distend from outside. It splashes back down the cock and spills around his sheath, quickly soaking through the fur of his balls. The warmth sends you to climax as well, slowly slipping off his shlong as it receeds into his sheath..."), false);
} else {
outputMainText(" Taking in his entire length, you bounce again and again, letting it penetrate you thoroughly. His long foot beats against the ground in ecstasy while the whiskers around his nose twitch. It doesn't take long for him to freeze, his hips bucking into you, as your cunt fills with his seed, spilling back down around his sheath and soaking into the fur on his balls.", false);
};
doImpregnate(enemyBaby());
} else {
outputMainText((((("Rather intimidated by his size, you still manage to pull his head down until he's on all fours. You pull " + pullUD(2)) + " your ") + clothesBottom()) + " and shove his face into your naked groin. He quickly notices your scent and lustfully opens his mouth. You debate whether this is actually rape or not as he seems to eager lap at your"), true);
if (gender == 1){
outputMainText(((((" " + cockDesc()) + " cock") + plural(1)) + ""), false);
};
if (gender == 2){
outputMainText(((((" " + vulvaDesc()) + " cunt") + plural(2)) + ""), false);
};
if (gender == 3){
outputMainText(((((((((" " + cockDesc()) + " cock") + plural(1)) + " and ") + vulvaDesc()) + " cunt") + plural(2)) + ""), false);
};
outputMainText(", expertly sucking and nibbling at your genitals. One of his hands reaches to his underside and begins to audibly slurp across his growing erection. He quickly drives you to orgasm and as his mouth fills with your fluids, you soon find his spraying about your feet as well.\r\rYou both soon back away from each other, spent from the connection.", false);
};
};
if (enemyID == 305){
if (((((cockSize * cockSizeMod) > 140)) || ((((cockTotal * cockSize) * cockSizeMod) > 280)))){
outputMainText((((((((("Somehow managing to push the little big bunny-girl onto her tail, you pull " + pullUD(2)) + " your ") + clothesBottom()) + " and step in between her thighs. Her pussy is already aroused and gaping, drooling with her feminine lubrication and forming webs from her large clit down through her inner labia. Hefting up your ") + cockDesc()) + " erection") + plural(1)) + ", you aim for the sweet spot, spreading her even wider as you push yourself in, feeling her folds hug around you."), true);
if (tallness < 180){
outputMainText((((("\r\rHowever, you quickly realize it's going to be quite... difficult to plow through someone so much larger than you... And much to your surprise, you find a white hand beginning to hug around you, lifting you up and pulling you back from her cunt. Then you find yourself being rammed back in, the clear fluids splashing about your " + skinDesc()) + ". Slightly confused as to who is raping who at this point, the bunny-girl proceeds to use you like a living dildo, ramming your cock") + plural(1)) + " in and out of her folds again and again."), false);
if (knot == true){
outputMainText(((" Your swelling knot" + plural(1)) + " pop in and out of her relatively tight cun again and again, causing her to let out an ecstatic shriek as she's stretched obscenely."), false);
};
outputMainText((((((((("\r\rFaster and faster she thrusts you through until you begin to feel her pussy squeeze about your length" + plural(1)) + ", pulsating rapidly with her large orgasm. You find yourself coming in second as your ") + cockDesc()) + " shlong") + plural(1)) + " burst") + plural(3)) + " inside of her"), false);
if (cumAmount() > 2000){
outputMainText(", the stuff spraying back out at you as it overflows her womb", false);
};
outputMainText(".\r\rEventually she releases you back to the ground, allowing you to stumble backwards, her thighs heaving on either side with her breath.", false);
} else {
outputMainText(((((((" Your hips quickly begin to thrust, holding her body down as you plow her again and again. She squirms erotically beneath you, her eyes rolled up into her head and her breasts jiggling back and forth in happiness. Soon her button nose and whiskers begin to twitch, followed by a shuddering from the rest of her body, as her pussy clamps down around your shaft" + plural(1)) + " in orgasm. You grunt as well as your cock") + plural(1)) + " fire") + plural(3)) + " back, filling her womb with your seed"), false);
if (cumAmount() > 2000){
outputMainText(" until it overflows and spews back out across your thighs", false);
};
outputMainText(((".\r\rYou pause for a moment, heaving over her, until you begin to pull your softening erection" + plural(1)) + " back out"), false);
if (knot == true){
outputMainText(((", your knot" + plural(1)) + " making a lewd popping sound as it ejects from her stretched pussy, elliciting one last yelp of ecstasy"), false);
};
outputMainText(".", false);
};
} else {
outputMainText((((("Rather intimidated by her size, you still manage to pull her head down until she's on all fours. You pull " + pullUD(2)) + " your ") + clothesBottom()) + " and shove her face into your naked groin. She quickly notices your scent and lustfully opens her mouth. You debate whether this is actually rape or not as she seems to eager lap at your"), true);
if (gender == 1){
outputMainText(((((" " + cockDesc()) + " cock") + plural(1)) + ""), false);
};
if (gender == 2){
outputMainText(((((" " + vulvaDesc()) + " cunt") + plural(2)) + ""), false);
};
if (gender == 3){
outputMainText(((((((((" " + cockDesc()) + " cock") + plural(1)) + " and ") + vulvaDesc()) + " cunt") + plural(2)) + ""), false);
};
outputMainText(", expertly sucking and nibbling at your genitals. Her hands reach to her underside and begins to audibly slurp in her crotch and rub at her bosom. She quickly drives you to orgasm and as her mouth fills with your fluids, you soon find a puddle of clear slime oozing its way about your feet as well.\r\rYou both soon back away from each other, spent from the connection.", false);
if (cockTotal > 0){
cumAmount();
};
};
};
}
public function hairstyleValue(ID:int):int{
var tempNum:int;
tempNum = 0;
if (ID == 0){
tempNum = 0;
};
if (ID == 1){
tempNum = 5;
};
if (ID == 2){
tempNum = 8;
};
if (ID == 3){
tempNum = 8;
};
if (ID == 4){
tempNum = 5;
};
if (ID == 5){
tempNum = 7;
};
if (ID == 6){
tempNum = 20;
};
if (ID == 7){
tempNum = 10;
};
if (ID == 8){
tempNum = 5;
};
if (ID == 9){
tempNum = 15;
};
if (ID == 10){
tempNum = 15;
};
if (ID == 11){
tempNum = 23;
};
if (ID == 12){
tempNum = 18;
};
if (ID == 13){
tempNum = 18;
};
if (ID == 14){
tempNum = 20;
};
return (tempNum);
}
public function vulvaDesc():String{
var chance:int;
var tempStr:String;
chance = percent();
tempStr = ("VULVA ERROR " + vulvaSize);
if (chance <= 100){
if (vulvaSize <= 2){
tempStr = "tiny";
};
if ((((vulvaSize > 2)) && ((vulvaSize <= 8)))){
tempStr = "plush";
};
if ((((vulvaSize > 8)) && ((vulvaSize <= 16)))){
tempStr = "plump";
};
if ((((vulvaSize > 16)) && ((vulvaSize <= 24)))){
tempStr = "huge";
};
if ((((vulvaSize > 24)) && ((vulvaSize <= 36)))){
tempStr = "enormous";
};
if ((((vulvaSize > 36)) && ((vulvaSize <= 54)))){
tempStr = "gigantic";
};
if ((((vulvaSize > 54)) && ((vulvaSize <= 84)))){
tempStr = "humongous";
};
if ((((vulvaSize > 84)) && ((vulvaSize <= 124)))){
tempStr = "tremendous";
};
if ((((vulvaSize > 124)) && ((vulvaSize <= 160)))){
tempStr = "colossal";
};
if (vulvaSize > 160){
tempStr = "ridiculous";
};
};
if (chance > 50){
if (vulvaSize == 2){
tempStr = "childlike";
};
if ((((vulvaSize > 2)) && ((vulvaSize <= 8)))){
tempStr = "dainty";
};
if ((((vulvaSize > 8)) && ((vulvaSize <= 16)))){
tempStr = "kissable";
};
if ((((vulvaSize > 16)) && ((vulvaSize <= 24)))){
tempStr = "groin-filling";
};
if ((((vulvaSize > 24)) && ((vulvaSize <= 36)))){
tempStr = "thigh-spreading";
};
if ((((vulvaSize > 36)) && ((vulvaSize <= 54)))){
tempStr = "leg-spreading";
};
if ((((vulvaSize > 54)) && ((vulvaSize <= 84)))){
tempStr = "ground-scraping";
};
if ((((vulvaSize > 84)) && ((vulvaSize <= 124)))){
tempStr = "person-sized";
};
if ((((vulvaSize > 124)) && ((vulvaSize <= 160)))){
tempStr = "room-sized";
};
if (vulvaSize > 160){
tempStr = "building-sized";
};
};
return (tempStr);
}
public function doVagMasturbate():void{
if (lust < 20){
outputMainText("You're not really in the mood to play with yourself. You'll just have to settle for something else.", true);
doEnd();
} else {
if (ment >= (lib - 10)){
outputMainText((((((((((((((("You sneak off to the private place where you sleep in " + regionName(currentZone)) + " with a bunch of towels in hand. Carefully, so as to not let anybody hear, you pull ") + pullUD(2)) + " your ") + clothesBottom()) + ", and gently squeeze your ") + vulvaDesc()) + " nether-lips.\r\rYou lay down on your back and slide your fingers through the front of the cleft") + plural(2)) + " at your crotch, you tease your ") + clitDesc()) + " button") + plural(2)) + ". Stiff and erect, you rub "), true);
};
if ((((ment < (lib - 10))) && ((ment >= (lib - 25))))){
outputMainText((((((((((((((((((("You quickly head off to the private place where you sleep with your intentions clear as those around " + regionName(currentZone)) + " can easily see you rub your ") + vulvaDesc()) + " groin through your ") + clothesBottom()) + ". Before you even reach your destination, you're already pulling the ") + clothesBottom()) + " ") + pullUD(2)) + ", accidentally flashing someone your ") + buttDesc()) + " bum.\r\rNevertheless, you squeeze your nether-lips, rubbing your hands down through your ") + vulvaDesc()) + " crotch, grinding your ") + clitDesc()) + " button") + plural(2)) + " and kneading "), true);
};
if ((((ment < (lib - 25))) && ((ment >= (lib - 50))))){
outputMainText((((((((((((("Your chest heaving with your heavy breathing, you don't think you can reach the private place where you sleep without crouching and spreading your legs erotically, the thought of coming hanging so heavily on your mind.\r\rInstead, you duck into one of the more hidden corners of " + regionName(currentZone)) + " as you pull ") + pullUD(2)) + " your ") + clothesBottom()) + ", squeezing your ") + vulvaDesc()) + " nether-lips with anticipation and tug at your ") + clitDesc()) + " clit") + plural(2)) + " grinding "), true);
};
if (ment < (lib - 50)){
outputMainText((((((((((((("Without a second thought, right in the middle of " + regionName(currentZone)) + " you pull ") + pullUD(2)) + " your ") + clothesBottom()) + ", rubbing a hand across your ") + vulvaDesc()) + " cunt and pinching your ") + clitDesc()) + " clit") + plural(2)) + ".\r\rPeople gasp as you continue to grind "), true);
};
if (vagTotal > 1){
outputMainText("them ", false);
};
if (vagTotal == 1){
outputMainText("it ", false);
};
outputMainText("vigorously, making ", false);
if (vagTotal > 1){
outputMainText("them ", false);
};
if (vagTotal == 1){
outputMainText("it ", false);
};
outputMainText((("stiff. Faster and faster you go, until your " + vulvaDesc()) + " vulva swells with blood."), false);
if ((((vagMoist > 0)) && ((vagMoist <= 3)))){
outputMainText(" A bit of sweet feminine honey slips out from between your legs, your hand taking as much as possible to meagerly lubricate your sex.", false);
};
if ((((vagMoist > 3)) && ((vagMoist <= 6)))){
outputMainText(((" Some sweet feminine honey dribbles from between your legs, slipping back across your " + buttDesc()) + " tush and smearing across your thighs, plenty to take care of business."), false);
};
if ((((vagMoist > 6)) && ((vagMoist <= 9)))){
outputMainText(((((" Lubricant spills from your slit" + plural(2)) + ", running down your legs and smearing across your ") + buttDesc()) + " backside, dribbling off your body, more than enough to frig yourself silly."), false);
};
if ((((vagMoist > 9)) && ((vagMoist <= 12)))){
outputMainText(((" Fem-cum floods your crotch, loudly slurping as your hands, all the way up to your elbows, become slick with the stuff. Your " + buttDesc()) + " ass is practically sopping with it and more flings across your legs and down below you as you go."), false);
};
if (lust <= 30){
outputMainText("\r\rSlowly,", false);
};
if ((((lust > 30)) && ((lust <= 70)))){
outputMainText("\r\rQuickly,", false);
};
if (lust > 70){
outputMainText("\r\rAlmost instantly,", false);
};
outputMainText(((((" your cunt" + plural(2)) + " begin") + plural(4)) + " to quake and shiver, your whole body tingling. So eager, you ram "), false);
if (vagLimit() <= (tallness / 5)){
outputMainText("a finger", false);
};
if ((((vagLimit() > (tallness / 5))) && ((vagLimit() <= (tallness / 2.2))))){
outputMainText("your fingers", false);
};
if ((((vagLimit() > (tallness / 2.2))) && ((vagLimit() <= (tallness / 1.25))))){
outputMainText("your hand", false);
};
if ((((vagLimit() > (tallness / 1.25))) && ((vagLimit() <= (tallness * 1.2))))){
outputMainText("both hands", false);
};
if ((((vagLimit() > (tallness * 1.2))) && ((vagLimit() <= (tallness * 1.7))))){
outputMainText("your forearm", false);
};
if (vagLimit() > (tallness * 1.7)){
outputMainText("as much of one arm as possible", false);
};
outputMainText(((((" into " + oneYour(2)) + " hungry hole") + plural(2)) + ", pounding away at yourself. Your body twitches and jerks as you come again and again."), false);
if (ment >= (lib - 10)){
outputMainText("\r\rYou quietly heave as you attempt to clean up your mess with the towels you have brought along, hiding them until you can safely clean them without being caught. Except for the smell that permeates the area and the bit of slurping that echoed, you don't think anybody will catch on to your lewd actions, and you continue on with your day.", false);
};
if ((((ment < (lib - 10))) && ((ment >= (lib - 25))))){
outputMainText((("\r\rComing down from your high, you clean up your mess the best you can, though its likely some of your slick lubricant has seeped in somewhere. At least, you're cautious of your step, in case of slipping and falling back on your " + buttDesc()) + " ass... And as you leave the place, one of your neighbors eyes you with a surprised look. You were probably a bit loud... Well... you were definitely loud, actually."), false);
};
if ((((ment < (lib - 25))) && ((ment >= (lib - 50))))){
outputMainText((((("\r\rYou realize your hiding place probably echoed your moans as you come to your senses. Before you're caught, you quickly don your " + clothesBottom()) + " again, even though fem-cum is still slathered about and making your ") + clothesBottom()) + " blotch. As you attempt to casually walk away, some nearby strangers blink at you curiously, not quite sure what they just heard. With an awkward flutter in your step, you dash off, your body still slightly in mid-orgasm."), false);
};
if (ment < (lib - 50)){
outputMainText((((("\r\rGasping, you blink and look around you. You've gathered quite the crowd, especially some men, and they all gaze out you in amazement. A few tug at their own groins, ducking away from the rest, while others don't look so happy at what you have done, especially the ones with children beside them. You pull " + pullUD(2)) + " your ") + clothesBottom()) + ", slick slime dripping down your legs and smearing about within, and you slink away, trying to avoid any more stares. Although, your heart pounds within your chest at the thought of what you had just done..."), false);
};
if (lust > 20){
doSexP(10);
};
doLust(-(sen));
hrs = 1;
doEnd();
};
}
public function conItem(ID:int):Boolean{
var tempBool:Boolean;
tempBool = false;
if (ID == 103){
return (true);
};
if (ID == 105){
return (true);
};
if (ID == 110){
return (true);
};
if (ID == 111){
return (true);
};
if (ID == 112){
return (true);
};
if (ID == 113){
return (true);
};
if (ID == 114){
return (true);
};
if (ID == 115){
return (true);
};
if (ID == 120){
return (true);
};
if (ID == 121){
return (true);
};
if (ID == 122){
return (true);
};
if (ID == 123){
return (true);
};
if (ID == 124){
return (true);
};
if (ID == 125){
return (true);
};
if (ID == 126){
return (true);
};
if (ID == 201){
return (true);
};
if (ID == 202){
return (true);
};
if (ID == 203){
return (true);
};
if (ID == 204){
return (true);
};
if (ID == 205){
return (true);
};
if (ID == 207){
return (true);
};
if (ID == 208){
return (true);
};
if (ID == 209){
return (true);
};
if (ID == 210){
return (true);
};
if (ID == 211){
return (true);
};
if (ID == 212){
return (true);
};
if (ID == 213){
return (true);
};
if (ID == 214){
return (true);
};
if (ID == 216){
return (true);
};
if (ID == 217){
return (true);
};
if (ID == 218){
return (true);
};
if (ID == 219){
return (true);
};
if (ID == 220){
return (true);
};
if (ID == 221){
return (true);
};
if (ID == 222){
return (true);
};
if (ID == 223){
return (true);
};
if (ID == 224){
return (true);
};
if (ID == 225){
return (true);
};
if (ID == 226){
return (true);
};
if (ID == 227){
return (true);
};
if (ID == 228){
return (true);
};
if (ID == 230){
return (true);
};
if (ID == 231){
return (true);
};
if (ID == 500){
return (true);
};
if (ID == 501){
return (true);
};
if (ID == 502){
return (true);
};
if (ID == 503){
return (true);
};
if (ID == 504){
return (true);
};
if (ID == 505){
return (true);
};
if (ID == 506){
return (true);
};
if (ID == 507){
return (true);
};
if (ID == 508){
return (true);
};
if (ID == 509){
return (true);
};
if (ID == 510){
return (true);
};
if (ID == 511){
return (true);
};
if (ID == 0x0200){
return (true);
};
if (ID == 513){
return (true);
};
if (ID == 0x0202){
return (true);
};
if (ID == 515){
return (true);
};
if (ID == 516){
return (true);
};
if (ID == 517){
return (true);
};
if (ID == 518){
return (true);
};
if (ID == 519){
return (true);
};
if (ID == 520){
return (true);
};
if (ID == 521){
return (true);
};
if (ID == 522){
return (true);
};
if (ID == 523){
return (true);
};
if (ID == 524){
return (true);
};
if (ID == 525){
return (true);
};
if (ID == 526){
return (true);
};
if (ID == 527){
return (true);
};
if (ID == 528){
return (true);
};
if (ID == 529){
return (true);
};
if (ID == 530){
return (true);
};
if (ID == 531){
return (true);
};
if (ID == 532){
return (true);
};
return (tempBool);
}
public function oneYour(topic:int):String{
var tempStr:String;
tempStr = ((("ONE YOUR ERROR " + cockTotal) + " ") + vagTotal);
if (topic == 1){
if (cockTotal > 1){
tempStr = "one of your";
};
if (cockTotal == 1){
tempStr = "your";
};
};
if (topic == 2){
if (vagTotal > 1){
tempStr = "one of your";
};
if (vagTotal == 1){
tempStr = "your";
};
};
return (tempStr);
}
public function doeHP(changes:int):void{
var changes = changes;
if ((eHP + changes) <= 0){
specialKOWin();
outputMainText("\r\r You win the battle!", false);
if (inBag == true){
inBag = false;
};
currentState = 1;
doNext();
doListen = function ():void{
battleWin();
};
};
eHP = (eHP + changes);
if (eHP > 0){
outputMainText((("\r\rYour enemy now seems to be under " + (Math.ceil(((eHP / eMaxHP) * 10)) * 10)) + "% HP."), false);
};
}
public function regionChange(changes:int):void{
currentZone = changes;
if (changes == 1){
region.text = "Softlik";
};
if (changes == 2){
region.text = "Firmshaft";
};
if (changes == 3){
region.text = "Tieden";
};
if (changes == 4){
region.text = "Siz'Calit";
};
if (changes == 6){
region.text = "Oviasis";
};
if (bgC.visible == true){
region.textColor = 0xFFFFFF;
};
}
public function buttonWrite(buttonNumber:int, buttonText:String):void{
if (buttonNumber == 1){
Choice1.htmlText = buttonText;
};
if (buttonNumber == 2){
Choice2.htmlText = buttonText;
};
if (buttonNumber == 3){
Choice3.htmlText = buttonText;
};
if (buttonNumber == 4){
Choice4.htmlText = buttonText;
};
if (buttonNumber == 5){
Choice5.htmlText = buttonText;
};
if (buttonNumber == 6){
Choice6.htmlText = buttonText;
};
if (buttonNumber == 7){
Choice7.htmlText = buttonText;
};
if (buttonNumber == 8){
Choice8.htmlText = buttonText;
};
if (buttonNumber == 9){
Choice9.htmlText = buttonText;
};
if (buttonNumber == 10){
Choice10.htmlText = buttonText;
};
if (buttonNumber == 11){
Choice11.htmlText = buttonText;
};
if (buttonNumber == 12){
Choice12.htmlText = buttonText;
};
}
public function hotKeys(e:KeyboardEvent):void{
if ((((((e.keyCode == 103)) || ((e.keyCode == 81)))) && ((Choice1.visible == true)))){
buttonChoice = 1;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 104)) || ((e.keyCode == 87)))) && ((Choice2.visible == true)))){
buttonChoice = 2;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 105)) || ((e.keyCode == 69)))) && ((Choice3.visible == true)))){
buttonChoice = 3;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 109)) || ((e.keyCode == 82)))) && ((Choice4.visible == true)))){
buttonChoice = 4;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 100)) || ((e.keyCode == 65)))) && ((Choice5.visible == true)))){
buttonChoice = 5;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 101)) || ((e.keyCode == 83)))) && ((Choice6.visible == true)))){
buttonChoice = 6;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 102)) || ((e.keyCode == 68)))) && ((Choice7.visible == true)))){
buttonChoice = 7;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 107)) || ((e.keyCode == 70)))) && ((Choice8.visible == true)))){
buttonChoice = 8;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 97)) || ((e.keyCode == 90)))) && ((Choice9.visible == true)))){
buttonChoice = 9;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 98)) || ((e.keyCode == 88)))) && ((Choice10.visible == true)))){
buttonChoice = 10;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 99)) || ((e.keyCode == 67)))) && ((Choice11.visible == true)))){
buttonChoice = 11;
hideUpDown();
doListen();
};
if ((((((e.keyCode == 13)) || ((e.keyCode == 86)))) && ((Choice12.visible == true)))){
buttonChoice = 12;
hideUpDown();
doListen();
};
if ((((e.keyCode == 80)) && ((appearanceText.visible == true)))){
appearanceGo();
};
if ((((e.keyCode == 113)) && ((saveGame.visible == true)))){
saveGo();
};
if ((((e.keyCode == 115)) && ((loadGame.visible == true)))){
loadGo();
};
if ((((e.keyCode == 8)) && ((newGame.visible == true)))){
newGameGo();
};
if ((((e.keyCode == 73)) && ((Choice12.visible == true)))){
invertGo();
};
}
public function clothesTop():String{
var tempStr:String;
tempStr = ("CLOTHES TOP ERROR " + attireTop);
if (attireTop == -1){
tempStr = "tattered shreds";
};
if (attireTop == 0){
tempStr = "invisible underwear";
};
if (attireTop == 1){
tempStr = "shirt";
};
if (attireTop == 3){
if (boobTotal == 2){
tempStr = "bikini top";
};
if (boobTotal >= 4){
tempStr = "bikini tops";
};
};
if (attireTop == 5){
tempStr = "elegant dress";
};
if (attireTop == 6){
tempStr = "latex suit";
};
if (attireTop == 9){
tempStr = "blouse";
};
if (attireTop == 12){
tempStr = "sundress";
};
if (attireTop == 13){
tempStr = "skimpy dress";
};
if (attireTop == 17){
tempStr = "bathing suit";
};
if (attireTop == 18){
tempStr = "muscle shirt";
};
if (attireTop == 19){
tempStr = "corset";
};
return (tempStr);
}
public function setEnemyStats(enemyHP:int, enemyStr:int, enemyMenta:int, enemySen:int, enemyLib:int, enemyLust:int, enemyGen:int, enemyPref:int, enemyCoin:int, enemySexP:int, enemyItem:int):void{
eHP = enemyHP;
eStr = enemyStr;
eMenta = enemyMenta;
eSen = enemySen;
eLib = enemyLib;
eLust = enemyLust;
eGen = enemyGen;
ePref = enemyPref;
eCoin = enemyCoin;
eSexP = enemySexP;
eItem = enemyItem;
}
}
}//package NiminFetishFantasyv0_fla
Section 19
//downArrow (downArrow)
package {
import flash.display.*;
public dynamic class downArrow extends MovieClip {
public function downArrow(){
super();
}
}
}//package
Section 20
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
public function focusRectSkin(){
super();
}
}
}//package
Section 21
//newGameButton (newGameButton)
package {
import flash.display.*;
public dynamic class newGameButton extends MovieClip {
public function newGameButton(){
super();
}
}
}//package
Section 22
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_disabledSkin extends MovieClip {
public function ScrollArrowDown_disabledSkin(){
super();
}
}
}//package
Section 23
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_downSkin extends MovieClip {
public function ScrollArrowDown_downSkin(){
super();
}
}
}//package
Section 24
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_overSkin extends MovieClip {
public function ScrollArrowDown_overSkin(){
super();
}
}
}//package
Section 25
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_upSkin extends MovieClip {
public function ScrollArrowDown_upSkin(){
super();
}
}
}//package
Section 26
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_disabledSkin extends MovieClip {
public function ScrollArrowUp_disabledSkin(){
super();
}
}
}//package
Section 27
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_downSkin extends MovieClip {
public function ScrollArrowUp_downSkin(){
super();
}
}
}//package
Section 28
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_overSkin extends MovieClip {
public function ScrollArrowUp_overSkin(){
super();
}
}
}//package
Section 29
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_upSkin extends MovieClip {
public function ScrollArrowUp_upSkin(){
super();
}
}
}//package
Section 30
//ScrollBar_thumbIcon (ScrollBar_thumbIcon)
package {
import flash.display.*;
public dynamic class ScrollBar_thumbIcon extends MovieClip {
public function ScrollBar_thumbIcon(){
super();
}
}
}//package
Section 31
//ScrollThumb_downSkin (ScrollThumb_downSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_downSkin extends MovieClip {
public function ScrollThumb_downSkin(){
super();
}
}
}//package
Section 32
//ScrollThumb_overSkin (ScrollThumb_overSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_overSkin extends MovieClip {
public function ScrollThumb_overSkin(){
super();
}
}
}//package
Section 33
//ScrollThumb_upSkin (ScrollThumb_upSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_upSkin extends MovieClip {
public function ScrollThumb_upSkin(){
super();
}
}
}//package
Section 34
//ScrollTrack_skin (ScrollTrack_skin)
package {
import flash.display.*;
public dynamic class ScrollTrack_skin extends MovieClip {
public function ScrollTrack_skin(){
super();
}
}
}//package
Section 35
//upArrow (upArrow)
package {
import flash.display.*;
public dynamic class upArrow extends MovieClip {
public function upArrow(){
super();
}
}
}//package