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 cockSize:int;
public var exhaustionPenalty:int;
public var eMaxHP:int;
public var hyperHappyLevel:int;
public var senUp:upArrow;
public var vagElastic:Number;
public var rabbit:int;
public var eggLaying:int;
public var horseAffinity:int;
public var ePref:int;
public var eHP:int;
public var mistressRep:int;
public var malonPreg:int;
public var foundSoftlik:Boolean;
public var boobTotal:int;
public var babyFactLevel:int;
public var outputWindow:TextField;
public var tail:int;
public var sen:int;
public var DayValuePane:TextField;
public var i:int;
public var lilaVulva:int;
public var malonChildren:int;
public var Choice2Outline:MovieClip;
public var runMod:int;
public var invertColorsOutline:MovieClip;
public var wolfPupChildren:int;
public var Choice10Outline:MovieClip;
public var eggTime:int;
public var tallness:int;
public var statValuePane:TextField;
public var babyFree:int;
public var vagSizeMod:Number;
public var clockPane:TextField;
public var foundSizCalit:Boolean;
public var lupanChildren:int;
public var eCoin:int;
public var hairColor:int;
public var inBag:Boolean;
public var bgC:MovieClip;
public var eGen:int;
public var strUp:upArrow;
public var hrs:int;
public var pregTempInt:int;
public var cowChildren:int;
public var mentaUp:upArrow;
public var currentZone:int;
public var libDown:downArrow;
public var SexP:int;
public var teatSize:int;
public var Choice7Outline:MovieClip;
public var heatTime:int;
public var milkMod:int;
public var invertColors:TextField;
public var lilaPreg:int;
public var bodyBuildLevel:int;
public var DayPane:TextField;
public var HP:int;
public var udderLactation:int;
public var levelPane:TextField;
public var eItem:int;
public var currentDayCare:int;
public var levelUP:int;
public var rabbitCocks:int;
public var pregRate:Number;
public var human:int;
public var enticeMod:int;
public var changeMod:Number;
public var nipplePlay:Number;
public var attireTop:int;
public var vagSize:int;
public var udderEngorgement:int;
public var masoPot:int;
public var Choice3Outline:MovieClip;
public var levelValuePane:TextField;
public var vulvaSize:int;
public var Choice11Outline:MovieClip;
public var ment:int;
public var showBalls:Boolean;
public var pregChanceMod:int;
public var lustDown:downArrow;
public var eMenta:int;
public var hairLength:int;
public var sMasoPot:int;
public var clitSize:int;
public var humanAffinity:int;
public var udderPlay:Number;
public var cow:int;
public var vagTotal:int;
public var udders:Boolean;
public var jamieRep:int;
public var milkHPMod:int;
public var wolfAffinity:int;
public var body:int;
public var lust:int;
public var attireBot:int;
public var newGame:TextField;
public var felinChildren:int;
public var eSen:int;
public var Choice8Outline:MovieClip;
public var inShop:Boolean;
public var foundFirmshaft:Boolean;
public var hpUp:upArrow;
public var currentItems:int;
public var hpDown:downArrow;
public var currentRegion:TextField;
public var stashArray3:Array;
public var cockTotal:int;
public var stashArray1:Array;
public var nippleSize:int;
public var stashArray2:Array;
public var lizardAffinity:int;
public var hour:int;
public var lustUp:upArrow;
public var itemArray1:Array;
public var wolfCocks:int;
public var breastSize:int;
public var heat:int;
public var vagMoist:int;
public var itemArray3:Array;
public var loadGame:TextField;
public var milkEngorgementLevel:int;
public var mentaDown:downArrow;
public var scrollBar:UIScrollBar;
public var itemArray2:Array;
public var lactation:int;
public var butt:int;
public var nipPump:int;
public var blueBalls:int;
public var weapon:Number;
public var Choice4Outline:MovieClip;
public var newGameOutline:MovieClip;
public var str:int;
public var doListen:Function;
public var saveGameOutline:MovieClip;
public var cockMoist:int;
public var pregTimeMod:int;
public var udderSize:int;
public var currentText:String;
public var humanChildren:int;
public var Choice12Outline:MovieClip;
public var heatMaxTime:int;
public var wolf:int;
public var skinType:int;
public var balls:int;
public var cockPump:int;
public var strDown:downArrow;
public var pageNum:TextField;
public var currentStash:int;
public var lib:int;
public var Choice9Outline:MovieClip;
public var eggMaxTime:int;
public var vagBellyMod:int;
public var Choice1:TextField;
public var Choice2:TextField;
public var Choice5:TextField;
public var Choice6:TextField;
public var Choice7:TextField;
public var Choice8:TextField;
public var Choice9:TextField;
public var Choice3:TextField;
public var Choice4:TextField;
public var pregArray:Array;
public var lizard:int;
public var exhaustion:int;
public var currentState:int;
public var milkEngorgement:int;
public var enemyID:int;
public var dominant:int;
public var extraPregChance:int;
public var coin:int;
public var eSexP:int;
public var eggRate:int;
public var knot:Boolean;
public var ballSize:int;
public var gender:int;
public var hips:int;
public var appearanceBox:MovieClip;
public var cockSizeMod:Number;
public var cumMod:Number;
public var race:int;
public var catCocks:int;
public var lilaMilk:int;
public var region:TextField;
public var jamiePreg:int;
public var teatPump:int;
public var udderEngorgementLevel:int;
public var jamiePrev:int;
public var Choice5Outline:MovieClip;
public var senDown:downArrow;
public var bunnionChildren:int;
public var pregTempBool:Boolean;
public var catAffinity:int;
public var loadGameOutline:MovieClip;
public var saveGame:TextField;
public var pregStatus:int;
public var horseCocks:int;
public var equanChildren:int;
public var rabbitAffinity:int;
public var buttonChoice:int;
public var item2:int;
public var item3:int;
public var item4:int;
public var item5:int;
public var item6:int;
public var level:int;
public var item1:int;
public var vulvaPump:int;
public var lilaRep:int;
public var Choice1Outline:MovieClip;
public var eStr: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 pregnancyTime:int;
public var eLust:int;
public var lizanChildren:int;
public var appearanceText:TextField;
public var cowAffinity:int;
public var cat:int;
public var statPane:TextField;
public var horse:int;
public var eLib:int;
public var hair:int;
public var malonRep:int;
public var carryMod:int;
public var clitPump:int;
public var ears:int;
public var Choice6Outline:MovieClip;
public var humanCocks:int;
public var rapeMod:int;
public function MainTimeline(){
super();
addFrameScript(0, frame1);
__setProp_scrollBar_Scene1_scrollBar_1();
}
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 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 (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 ((((((attireTop == attireBot)) && (!((ID == 0))))) && (!((ID == -1))))){
attireBot = ID;
changeTop(1);
} else {
attireBot = ID;
};
}
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 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 == 6){
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";
};
return (tempStr);
}
public function doLoad(slot:int):void{
var so:SharedObject;
var loadArray:Array;
var itemLoadArray:Array;
var stashLoadArray:Array;
var pregLoadArray:Array;
so = SharedObject.getLocal("NiminFetishFantasy");
loadArray = [];
itemLoadArray = [];
stashLoadArray = [];
pregLoadArray = [];
if (slot == 1){
loadArray = so.data.saveGame1;
itemLoadArray = so.data.itemSave1;
stashLoadArray = so.data.stashSave1;
pregLoadArray = so.data.pregSave1;
};
if (slot == 2){
loadArray = so.data.saveGame2;
itemLoadArray = so.data.itemSave2;
stashLoadArray = so.data.stashSave2;
pregLoadArray = so.data.pregSave2;
};
if (slot == 3){
loadArray = so.data.saveGame3;
itemLoadArray = so.data.itemSave3;
stashLoadArray = so.data.stashSave3;
pregLoadArray = so.data.pregSave3;
};
if (slot == 5){
loadArray = so.data.saveGame5;
itemLoadArray = so.data.itemSave5;
stashLoadArray = so.data.stashSave5;
pregLoadArray = so.data.pregSave5;
};
if (slot == 6){
loadArray = so.data.saveGame6;
itemLoadArray = so.data.itemSave6;
stashLoadArray = so.data.stashSave6;
pregLoadArray = so.data.pregSave6;
};
if (slot == 7){
loadArray = so.data.saveGame7;
itemLoadArray = so.data.itemSave7;
stashLoadArray = so.data.stashSave7;
pregLoadArray = so.data.pregSave7;
};
if (slot == 9){
loadArray = so.data.saveGame9;
itemLoadArray = so.data.itemSave9;
stashLoadArray = so.data.stashSave9;
pregLoadArray = so.data.pregSave9;
};
if (slot == 10){
loadArray = so.data.saveGame10;
itemLoadArray = so.data.itemSave10;
stashLoadArray = so.data.stashSave10;
pregLoadArray = so.data.pregSave10;
};
if (slot == 11){
loadArray = so.data.saveGame11;
itemLoadArray = so.data.itemSave11;
stashLoadArray = so.data.stashSave11;
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];
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];
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];
humanAffinity = loadArray[81];
horseAffinity = loadArray[82];
wolfAffinity = loadArray[83];
catAffinity = loadArray[84];
cowAffinity = loadArray[85];
lizardAffinity = loadArray[106];
rabbitAffinity = loadArray[107];
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];
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];
bunnionChildren = loadArray[124];
wolfPupChildren = loadArray[125];
pregArray = pregLoadArray;
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);
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 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 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 == 116){
return (true);
};
if (ID == 117){
return (true);
};
if (ID == 118){
return (true);
};
if (ID == 119){
return (true);
};
return (tempBool);
}
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 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 == 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 == 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 == 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";
};
return (tempStr);
}
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 percent():int{
return ((Math.floor((Math.random() * ((1 + 100) - 1))) + 1));
}
public function loseManyItem(ID:int, amount:int):void{
currentItems = 3;
i = 36;
while (i > 0) {
if (i == 12){
currentItems = 1;
};
if (i == 24){
currentItems = 2;
};
if ((((itemID(i) == ID)) && ((amount > 0)))){
if (currentItems == 1){
loseItem(i);
};
if (currentItems == 2){
loseItem((i - 12));
};
if (currentItems == 3){
loseItem((i - 24));
};
amount--;
};
i--;
};
}
public function bc():void{
buttonChoice = 0;
}
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 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 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 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;
};
};
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(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);
};
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 == 6){
outputMainText(((((((((((("\r\rUpon your chest and down to your belly heaves " + boobTotal) + " ") + boobDesc()) + " breasts. 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))){
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 ((((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))){
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 (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 (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 blothes 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();
}
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;
item1 = 0;
item2 = 0;
item3 = 0;
item4 = 0;
item5 = 0;
item6 = 0;
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;
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;
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;
humanAffinity = 0;
horseAffinity = 0;
wolfAffinity = 0;
catAffinity = 0;
cowAffinity = 0;
lizardAffinity = 0;
rabbitAffinity = 0;
lilaRep = 0;
lilaVulva = 0;
lilaMilk = 0;
lilaPreg = -2;
malonRep = 0;
malonPreg = 0;
malonChildren = 0;
mistressRep = 0;
jamieRep = 0;
jamiePrev = 0;
jamiePreg = 0;
foundSoftlik = false;
foundFirmshaft = false;
foundTieden = false;
foundSizCalit = false;
babyFactLevel = 0;
bodyBuildLevel = 0;
hyperHappyLevel = 0;
alchemistLevel = 0;
currentDayCare = 0;
humanChildren = 0;
equanChildren = 0;
lupanChildren = 0;
felinChildren = 0;
cowChildren = 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;
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;
hideUpDown();
outputWindow.htmlText = "Nimin: Fetish Fantasy\r\r\rClick 'New Game' to begin a new game.\r\rCreated by\r --Xadera\r http://www.furaffinity.net/user/xadera/\r\rOriginal concept by:\r --Fenoxo\r http://www.furaffinity.net/user/fenoxo/\r\rThanks to the following for prostitution scenes:\r --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);
}
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 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();
};
};
}
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 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 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";
};
return (tempStr);
}
public function itemAdd(ID:int):void{
if (item1 == 0){
item1 = ID;
} else {
if (item2 == 0){
item2 = ID;
} else {
if (item3 == 0){
item3 = ID;
} else {
if (item4 == 0){
item4 = ID;
} else {
if (item5 == 0){
item5 = ID;
} else {
if (item6 == 0){
item6 = ID;
};
};
};
};
};
};
}
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 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 milkAmount(source:int):int{
var tempNum:int;
tempNum = 0;
if (source == 1){
if (milkEngorgementLevel == 0){
if (boobTotal == 2){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 2) * 2);
};
if (boobTotal == 6){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 2) * 4);
};
};
if (milkEngorgementLevel == 1){
if (boobTotal == 2){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 3) * 2);
};
if (boobTotal == 6){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 3) * 4);
};
};
if (milkEngorgementLevel == 2){
if (boobTotal == 2){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 4) * 2);
};
if (boobTotal == 6){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 4) * 4);
};
};
if (milkEngorgementLevel == 3){
if (boobTotal == 2){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 6) * 2);
};
if (boobTotal == 6){
tempNum = (((((breastSize + 1) * (lactation + milkMod)) * (lactation + milkMod)) * 6) * 4);
};
};
if (milkEngorgementLevel > 0){
milkEngorgementLevel = 0;
boobChange(-1);
};
milkEngorgement = 0;
};
if (source == 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;
};
tempNum = Math.floor(tempNum);
return (tempNum);
}
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 doSave(slot:int):void{
var so:SharedObject;
var saveArray:Array;
var itemSaveArray:Array;
var stashSaveArray:Array;
var pregSaveArray:Array;
so = SharedObject.getLocal("NiminFetishFantasy");
saveArray = [];
itemSaveArray = [];
stashSaveArray = [];
pregSaveArray = [];
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[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[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[81] = humanAffinity;
saveArray[82] = horseAffinity;
saveArray[83] = wolfAffinity;
saveArray[84] = catAffinity;
saveArray[85] = cowAffinity;
saveArray[106] = lizardAffinity;
saveArray[107] = rabbitAffinity;
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[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[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++;
};
trace(itemSaveArray);
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++;
};
if (slot == 1){
so.data.saveGame1 = saveArray;
so.data.itemSave1 = itemSaveArray;
so.data.stashSave1 = stashSaveArray;
so.data.pregSave1 = pregSaveArray;
};
if (slot == 2){
so.data.saveGame2 = saveArray;
so.data.itemSave2 = itemSaveArray;
so.data.stashSave2 = stashSaveArray;
so.data.pregSave2 = pregSaveArray;
};
if (slot == 3){
so.data.saveGame3 = saveArray;
so.data.itemSave3 = itemSaveArray;
so.data.stashSave3 = stashSaveArray;
so.data.pregSave3 = pregSaveArray;
};
if (slot == 5){
so.data.saveGame5 = saveArray;
so.data.itemSave5 = itemSaveArray;
so.data.stashSave5 = stashSaveArray;
so.data.pregSave5 = pregSaveArray;
};
if (slot == 6){
so.data.saveGame6 = saveArray;
so.data.itemSave6 = itemSaveArray;
so.data.stashSave6 = stashSaveArray;
so.data.pregSave6 = pregSaveArray;
};
if (slot == 7){
so.data.saveGame7 = saveArray;
so.data.itemSave7 = itemSaveArray;
so.data.stashSave7 = stashSaveArray;
so.data.pregSave7 = pregSaveArray;
};
if (slot == 9){
so.data.saveGame9 = saveArray;
so.data.itemSave9 = itemSaveArray;
so.data.stashSave9 = stashSaveArray;
so.data.pregSave9 = pregSaveArray;
};
if (slot == 10){
so.data.saveGame10 = saveArray;
so.data.itemSave10 = itemSaveArray;
so.data.stashSave10 = stashSaveArray;
so.data.pregSave10 = pregSaveArray;
};
if (slot == 11){
so.data.saveGame11 = saveArray;
so.data.itemSave11 = itemSaveArray;
so.data.stashSave11 = stashSaveArray;
so.data.pregSave11 = pregSaveArray;
};
so.flush();
}
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 + milkMod) > 3)) || ((((boobTotal > 2)) && (((lactation + milkMod) > 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 > 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 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() < 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 {
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() < 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 {
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 currentClothes():String{
var tempStr:String;
tempStr = "CURRENT CLOTHES ERROR";
if (attireTop == attireBot){
tempStr = (("" + clothesTop()) + "");
} else {
tempStr = (((("" + clothesTop()) + " and ") + clothesBottom()) + "");
};
return (tempStr);
}
public function doStatus(time:int):void{
var birthCount:int;
outputMainText("Afterwards...", true);
pregnancyTime = 0;
birthCount = 0;
i = 0;
while (i < pregArray.length) {
trace(("preg " + pregArray));
trace(("preglenggth " + pregArray.length));
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)))){
if ((eggTime - Math.ceil(((time * pregRate) / 2))) < 0){
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 pushin your " + clothesBottom()) + " aside and helping spread ") + oneYour(2)) + " ") + 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);
eggTime = eggMaxTime;
} else {
eggTime = (eggTime - Math.ceil(((time * pregRate) / 2)));
};
};
if (malonRep == 4){
malonPreg = (malonPreg + time);
};
if (((((((lilaPreg + time) > 40)) && ((lilaPreg <= 40)))) && ((lilaPreg > 0)))){
lilaMilk++;
};
if (((((((lilaPreg + time) > 80)) && ((lilaPreg <= 80)))) && ((lilaPreg > 0)))){
lilaMilk = (lilaMilk + 2);
};
if (lilaPreg > 0){
lilaPreg = (lilaPreg + 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 (((((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 (masoPot > 0){
babyFree = (babyFree - time);
};
};
if (currentText == "Afterwards..."){
outputMainText("", true);
doProcess();
} else {
doEnd();
};
}
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();
};
if ((((chance > 50)) && ((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 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++;
};
if (i == 12){
currentItems = 2;
};
if (i == 24){
currentItems = 3;
};
if (i == 36){
currentItems = 1;
};
i++;
};
currentItems = tempInt2;
return (tempInt);
}
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 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);
i = 1;
while (i < 13) {
buttonWrite(i, itemName(stashID(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;
};
};
};
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;
};
};
};
showPage(true, 2);
doRemoveStash();
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
showPage(false, 1);
stashRemove(buttonChoice);
};
};
};
};
};
}
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.", false);
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...", false);
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((8 + (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 tug lightly 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){
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 splashes 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 ((((cockTotal < 1)) && (clitSize))){
outputMainText(((((((" As she melts within your embrace, she gasps as she feels the tip of " + oneYour(2)) + " ") + clitDesc()) + " clit") + 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 ((((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)))){
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 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 embarassment 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 embarassment. 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 embarassment 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)))) || ((((vagMoist > 9)) && ((vagMoist <= 12)))))) || ((((((cockMoist > 6)) && ((cockMoist <= 9)))) && ((lust > 25)))))) || ((((((vagMoist > 6)) && ((vagMoist <= 9)))) && ((lust > 25)))))) || ((((((cockMoist > 3)) && ((cockMoist <= 6)))) && ((lust > 50)))))) || ((((((vagMoist > 3)) && ((vagMoist <= 6)))) && ((lust > 50)))))) || ((((((cockMoist > 0)) && ((cockMoist <= 3)))) && ((lust > 75)))))) || ((((((vagMoist > 0)) && ((vagMoist <= 3)))) && ((lust > 75)))))){
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 embarassed 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 embarassed 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 embarassed 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) > (72 + (mistressRep * 8)))) && (((cockSize * cockSizeMod) < eVagLimit((144 + (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 doCockMasturbate():void{
var whichCock:String;
var chance:int;
var getCum:int;
whichCock = "";
while (whichCock == "") {
chance = percent();
if ((((chance <= 20)) && ((humanCocks > 0)))){
whichCock = "hard human rod";
};
if ((((((chance > 20)) && ((chance <= 40)))) && ((horseCocks > 0)))){
whichCock = "long equine flesh";
};
if ((((((chance > 40)) && ((chance <= 60)))) && ((wolfCocks > 0)))){
whichCock = "pointy wolf meat";
};
if ((((((chance > 60)) && ((chance <= 80)))) && ((catCocks > 0)))){
whichCock = "pink thorny cat prick";
};
if ((((((chance > 80)) && ((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 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) < 20)) && ((heat > 0)))) && ((heatTime < 0)))) && (!(pregCheck(0))))){
lust = 20;
changes = 0;
} else {
if ((lust + changes) < 0){
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 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 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";
};
return (tempStr);
}
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 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)));
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 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 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";
};
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 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 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 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)){
itemSlotWrite(slotNumber, 0);
};
doItemUse(ID);
} else {
doBag();
};
};
} else {
doBag();
};
};
}
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 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 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)));
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;
if (buttonChoice == 12){
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;
};
};
};
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;
};
};
};
showPage(true, 1);
stashRemove(removeStashItem);
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
tempNum = itemID(buttonChoice);
showPage(false, 1);
loseItem(buttonChoice);
itemSlotWrite(buttonChoice, stashID(removeStashItem));
stashSlotWrite(removeStashItem, tempNum);
doRemoveStash();
};
};
};
};
};
}
public function udderChange(sizeChange:int):void{
udderSize = (udderSize + sizeChange);
teatSize = (teatSize + sizeChange);
}
public function stashStore(storeItem:int):void{
var storeItem = storeItem;
i = 1;
while (i < 13) {
buttonWrite(i, itemName(stashID(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;
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;
};
};
};
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;
};
};
};
showPage(true, 2);
stashStore(storeItem);
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
tempNum = itemID(storeItem);
showPage(false, 2);
loseItem(storeItem);
itemSlotWrite(storeItem, stashID(buttonChoice));
stashSlotWrite(buttonChoice, tempNum);
doStoreStash();
};
};
};
};
};
}
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 embarassment 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 embarassment.", 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 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 eVagLimit(limit:int):Number{
return ((limit + (limit * moistMod(1))));
}
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 <= 65)))){
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 > 65)) && ((chance <= 80)))) || ((((((malonRep > 0)) && ((chance > 65)))) && ((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 embarassment.\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 embarassment, 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 embarassment, 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 embarassment, 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 embarassment, 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 embarassment, 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 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);
};
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 enemyBaseStats():void{
if (enemyID == 101){
setEnemyStats(30, 16, 4, 8, 0, 0, 0, 1, 0, 15, 202);
};
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 doDiscard(ID:int, more:int):void{
var ID = ID;
var more = more;
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 (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);
dis = buttonChoice;
buttonConfirm();
doListen = function ():void{
if (buttonChoice == 6){
showPage(false, 1);
loseItem(dis);
itemSlotWrite(dis, 0);
gainItem(ID, more);
};
if (buttonChoice == 7){
doDiscard(ID, more);
};
};
};
if (buttonChoice == 12){
if (more == 1){
item1 = 0;
};
if (more == 2){
item2 = 0;
};
if (more == 3){
item3 = 0;
};
if (more == 4){
item4 = 0;
};
if (more == 5){
item5 = 0;
};
if (more == 6){
item6 = 0;
};
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;
};
};
};
showPage(true, 1);
doDiscard(ID, more);
} else {
if (buttonChoice == 8){
if (currentItems == 1){
currentItems = 2;
} else {
if (currentItems == 2){
currentItems = 3;
} else {
if (currentItems == 3){
currentItems = 1;
};
};
};
showPage(true, 1);
doDiscard(ID, more);
};
};
};
};
}
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 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 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 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 doDayCare():void{
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 gets 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 > 0){
outputMainText((("\r\rYou have " + cowChildren) + " half-cow calf. It tends to latch onto a milky nipple whenever it gets the chance."), false);
} else {
if (cowChildren > 0){
outputMainText((("\r\rYou have " + cowChildren) + " half-cow calves. They tend to latch onto milky nipples whenever they get the chance."), false);
};
};
if (lizanChildren > 0){
outputMainText((("\r\rYou have " + lizanChildren) + " lizan hatchlings. They tend to find the sunniest spots and lounge around"), false);
};
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 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 newGameStart(e:MouseEvent):void{
newGameGo();
}
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 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 embarassment, 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 doCoin(changes:int):void{
if ((coin + changes) < 0){
coin = 0;
changes = 0;
};
coin = (coin + changes);
doSexP(0);
}
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 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 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 doRace():void{
trace("race");
trace(tallness);
bc();
viewButtonText(0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
viewButtonOutline(0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0);
Choice2.htmlText = "Human";
Choice5.htmlText = "Equan";
Choice7.htmlText = "Lupan";
Choice10.htmlText = "Felin";
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);
doListen = function ():void{
boobTotal = 2;
if (buttonChoice == 2){
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 == 5){
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 == 7){
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 == 10){
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();
};
};
}
public function vagLimit():Number{
return (((vagSize * (vagSizeMod + vagElastic)) + ((vagSizeMod * vagSizeMod) * moistMod(2))));
}
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 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;
};
return (tempNum);
}
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))));
}
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();
};
};
};
};
}
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 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 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 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);
};
}
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 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 == 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 == 200){
tempNum = 1;
};
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 = 1;
};
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 == 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 = 50;
};
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;
};
return (tempNum);
}
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 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 Bottle.", 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 enemyName():String{
var tempStr:String;
tempStr = "ENEMY NAME ERROR";
if (enemyID == 101){
tempStr = "cock-snake";
};
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 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 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;
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;
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;
humanAffinity = 0;
horseAffinity = 0;
wolfAffinity = 0;
catAffinity = 0;
cowAffinity = 0;
lizardAffinity = 0;
rabbitAffinity = 0;
lilaRep = 0;
lilaVulva = 0;
lilaMilk = 0;
lilaPreg = -2;
malonRep = 0;
malonPreg = 0;
malonChildren = 0;
mistressRep = 0;
jamieRep = 0;
jamiePrev = 0;
jamiePreg = 0;
foundSoftlik = false;
foundFirmshaft = false;
foundTieden = false;
foundSizCalit = false;
babyFactLevel = 0;
bodyBuildLevel = 0;
hyperHappyLevel = 0;
alchemistLevel = 0;
currentDayCare = 0;
humanChildren = 0;
equanChildren = 0;
lupanChildren = 0;
felinChildren = 0;
cowChildren = 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;
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;
trace("end new game");
doRace();
} else {
doReturn();
};
};
}
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 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);
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);
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 <= 20)) && ((humanCocks > 0)))){
whichCock = "hard human rod";
};
if ((((((chance > 20)) && ((chance <= 40)))) && ((horseCocks > 0)))){
whichCock = "long equine flesh";
};
if ((((((chance > 40)) && ((chance <= 60)))) && ((wolfCocks > 0)))){
whichCock = "pointy wolf meat";
};
if ((((((chance > 60)) && ((chance <= 80)))) && ((catCocks > 0)))){
whichCock = "pink thorny cat prick";
};
if ((((((chance > 80)) && ((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 cylindar 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 == 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);
cockChange(Math.floor((-(cockSize) / 2)), 0);
outputMainText(((" and watch with a shiver as the flesh receeds, becoming " + cockDesc()) + "."), false);
};
if (buttonChoice == 2){
outputMainText((ballDesc() + " balls"), false);
ballSize = (ballSize - (ballSize / 2));
outputMainText(((" and watch with a shiver as the orbs shrink, becoming " + ballDesc()) + "."), false);
};
if (buttonChoice == 3){
outputMainText(("vagina" + plural(2)), false);
vagChange(Math.floor((-(vagSize) / 2)), 0);
outputMainText(" and quiver as the fleshy walls within your body shrink.", false);
};
if (buttonChoice == 4){
outputMainText((vulvaDesc() + " vulva"), false);
vulvaSize = (vulvaSize - (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 - (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 - (breastSize / 2));
outputMainText(((" and shudder as they shrink, becoming " + boobDesc()) + "."), false);
};
if (buttonChoice == 7){
outputMainText((nipDesc() + " nipples"), false);
nippleSize = (nippleSize - (nippleSize / 2));
outputMainText(((" and shudder as they receed into your breasts, becoming " + nipDesc()) + "."), false);
};
if (buttonChoice == 8){
outputMainText((udderDesc() + " udder"), false);
udderSize = (udderSize - (udderSize / 2));
outputMainText(((" and watch as it shrivels, becoming " + udderDesc()) + "."), false);
};
if (buttonChoice == 9){
outputMainText((teatDesc() + " teats"), false);
teatSize = (teatSize - (teatSize / 2));
outputMainText(((" and watch as they recede, becoming " + teatDesc()) + "."), false);
};
if (buttonChoice == 10){
outputMainText((buttDesc() + " butt"), false);
butt = (butt - (butt / 2));
outputMainText(((" and squirm as it shrinks, becoming " + buttDesc()) + "."), false);
};
if (buttonChoice == 11){
outputMainText((hipDesc() + " hips"), false);
hips = (hips - (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 == 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();
};
if (cockTotal < 1){
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();
};
};
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, instead 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, instead 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 == 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(1)){
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(1)){
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;
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;
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;
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();
};
};
}
public function saveG(e:MouseEvent):void{
saveGo();
}
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 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);
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."), 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){
i = (i + pregArray.length);
totalChange++;
pregArray.splice(i, 5);
i = (i - 5);
};
i = (i + 5);
};
} else {
totalChange = 0;
};
};
} else {
if (vagTotal > 0){
vagBellyChange(sizeChange, totalChange);
vagSize = (vagSize + sizeChange);
};
};
};
};
};
}
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 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 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 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 give away 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 doesn’t take long for 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 want to 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, and each of them appears to be quite the example of human endowment. You almost wonder if these men had deliberately lost to cock-snakes at some point…though that seems a little ridickulous... who would do that after all? You remove your " + currentClothes()) + " for them in a sexy striptease, already engorging their fat cocks 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, whose appearance you didn’t notice. He grabs you roughly by the waist and you feel his hard manhood in your back. You wonder if he will drive into you, the thought filling your mind. However he only 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 slowly hardening member to play with it. You can barely fit your delicate fingers around it as you begin a slow teasing jacking movement.\r\rIt’s hard to focus and concentrate 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, and 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 replaced by a sudden feeling of hands up your rump. Your cheeks are spread and a pressure is suddenly 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 have to look back over your shoulder, seeing 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 pulls hard on your breast to force more milk into his mouth. You wonder what’s going to happen now, the uncomfortable feeling as the man still holds you aloft on his cock. His strong hands grip you tight around the waist and begin to pull himself from you. A surprised moan escapes your lips as he seems to almost get the head of his member out but then he suddenly thrusts back into you. You feel a slight bit of pain, your stomach has a noticeable bulge, but most are paying attention to your breasts to notice it. As the man begins his thrusting, you can’t help but start to feel turned on, and that’s when you notice that a man’s hand has moved to your " + buttDesc()) + " ass and began to gently run his fingers over your hole. This sends waves of pleasure through your body, and even manages to stimulate your body more, your tits now on fire as they are suckled constantly, your nipples hard and almost painful. With all the focus on your body, you can’t fight the orgasm that turns your bones to jelly and makes your eyes roll back into your head. All your muscles clench, and the man behind you gives a grunt as you clench mercilessly, trying to milk his cock. His orgasm however 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, but soon the hot feeling of the man’s seed spilling into you is felt. You sigh in pleasure from the feeling, and the relief as the man pulls himself from you, lowering you to the ground. You just know it’s gonna be hard to sit after a week."), false);
outputMainText("\r\rThe men paying attention to your chest finally let go, and 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, waiting for the inevitable. The men’s breathing gets heavier and heavier until you hear the strangled sounds and feel hot strands of thick liquid splash over your face and into your mouth. You’re surprised by the amount as you feel their seed spilling over your face over and over again. The assault is soon down however, 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, the pain in your ass still quite apparent.", false);
milkAmount(1);
doLust(-(Math.floor((sen * 1.5))));
} else {
outputMainText((("\r\rThe three men eagerly began to strip, and each of them appears to be quite the example of human endowment. You almost wonder if these men had deliberately lost to cock-snakes at some point…though that seems a little ridickulous... who would do that after all? You remove your " + currentClothes()) + " for them in a sexy striptease, already engorging their fat cocks with blood.\r\rYou smile seductively as the bravest man approaches. He brings you to a table, getting you to bend over as he sits upon it with a creak. His hot meat is merely inches from your face, you tongue comes out to gently lick the head. He gives a small moan as you try to take the head into your mouth, your lips stretching around it.\r\rThere’s a strange feeling from behind as you feel something large at the entrance of your ass. You feel your hole stretching around the intruder, but you manage to take the member. You smile around the member slightly as your tongue begins to lick and circle around the man’s cock, trying to tease him. Secretly you aren’t sure if you’ll be able to take much more of him, so your hands go to the thick shaft and grasp it, trying to stroke it, starting with a slow pace. The man inside you begins to thrust again, grabbing you by the hips to get himself deeper into you. The feeling is exquisite, the position helps to rub that little spot inside you. The man’s relentless assault into your ass distracts you from your job at hand, but the moans you make seem to help the member in your mouth a little bit. The hard thrusts into your ass stay at a steady pace which causes your eyes to close as waves of ecstasy race through you."), false);
outputMainText("\r\rThat pace breaks however as the man gets closer and closer, his thrust getting faster and rougher. There’s almost a bit of pain as the man buries himself as far as he can go, a strangled noise escaping from his lips as his shoots his load into you. Your ass clenches around him, milking him as he comes, trying to bring out as much as possible. With a pleasurable sigh he pulls himself from your ass and lets go of your waist.\r\rThat 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 , but the man inside your mouth seems to want you to go deeper, and you oblige with a few inches. Idly you wonder if this man might be part horse. The true fucking begins now, as both men begin to thrust, the one on the table standing and holding 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 flopping to and fro. There’s nothing you can do except grab at the table and hold on as best you can as the vicious attack continues. There’s a primal urgency you feel in the men’s thrusts, they’re not there to pleasure you, this is all about them. The man behind you gives your 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, you can taste the salty pre occasionally as he pulls his head back into your mouth, letting your tongue touch the tip. The man pounding your ass continues to try to ride you as rough as possible, but you try to help him and even start moving with him, forcing your hips back onto his thick meat.\r\rYou can feel the members starting to get thicker, some hands behind your head force you deep onto a cock, your face mashed into the man’s pubic hair.", false);
outputMainText(" You aren’t sure, but 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. Finally before you choke, the member is pulled from your mouth and you breathe deep fresh air. The deflating cock in your behind slowly gets 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 seeds are meeting 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 attract interesting females or males. The streets are quite filled with people and you wander towards along them, looking and winking at the people. Suddenly a young man approaches you.\r\r'Hey, I know, this might sounds stupid, but you look like,... Well you're looking good...' he blushes and stammers a bit 'well,..' He looks around and lowers his voice, hoping no one can hear him: 'I always want to try to suck off a " + domName()) + " like you. I'll pay you, if you let me...' he sounds a bit desperate...\r\rNeeding the money, you nod your head in acceptance. The young man grabs your arm, leading you in an empty alley looking around, ensuring no one can see you two. He looks at you nervously, looking a bit unsure. You decide to take the lead in this moment and pull out ") + oneYour(1)) + " ") + cockDesc()) + " cock") + plural(1)) + "."), true);
if ((cockSize * cockSizeMod) <= 20){
outputMainText("\r\rThe young man gets on his knees and starts to stroke your cock slowly, you shiver slightly as you feel his hands on your cock. Softly he starts licking the shaft, swallowing the pre. He slowly sucks the tip of your cock in his mouth, licking around the tip moaning softly. His tongue plays with your little hole, swallowing the pre, which flows in his mouth. His head starts moving down on your cock, licking the shaft with his tongue. He moans softly and your mouth escapes a soft growl. 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("You can feel your orgasm building up quickly, you pant heavy 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 to close and push him down, forcing him to take your entire length in his mouth flooding his mouth with your seed.", false);
} else {
if (knot == true){
outputMainText("\r\rYou can feel your orgasm building up, the boy sucks you great. He moves down on your shaft fast and quick, stopping before your inflating knot. He sucks hard on your cock and pushes his tounge out to lick around your knot.", false);
if ((cockSize * cockSizeMod) <= 10){
outputMainText(" The sight of the boy licking on your knot, makes you even hornier, your orgasm approaching fast, you grab his head and push your knot in his mouth, shooting your cum in his mouth forcing him to swallow.", false);
} else {
outputMainText(" You moan at the feeling of his tounge on your knot, however it is too big to push it in his mouth, so you admire him sucking and licking on your shaft, as you suddenly spurt cum in his mouth.", false);
};
};
};
} else {
outputMainText((((("\r\rThe young man falls on his knees and admires your " + cockDesc()) + " cock. He feels over your large thing, surely to 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, moaning loudly. He starts to stroke the rest of your cock, which couldn't fit in his mouth and with his other hand he massages your ") + ballDesc()) + " balls. You can feel that this boy is a natural born cocksucker and your orgasm is close. Suddenly the boy stops playing with your balls and moves his finger over your ass, pushing one in your asshole, sending you over the edge, flooding his mouth with cum."), 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, but licks his lips, to get to taste as much cum as possible. He looks around again, still finding no one, who sees you, 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 site 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 roam over 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 slit.\r\rThe smell of her needy 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. You pull away from her slit 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)) + " against the outside of her slit, coating it in her juices before you press ram your hard length into her. She moans as you vigorously saw 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 grind into her so quickly. You can feel the heavy warmth in your balls as they begin to clench and roil, ready to burst at any moments. 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 slam into her one last time as your seed bursts from the tip of your cock and catches in her greedy slit. Thick ropes of cum spill into her as you hold her down, filling her with all your seed."), true);
outputMainText("\r\rWhen your orgasm settles down you pull your cock out from her slit, cum dribbling out of her hole and coating your cock. You go into the bathroom and bathe, when you return your client has left you some coins on a 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, sunburned 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 to 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 certain isn't the smallest either. He blushes a bit as he explains he'd like to use your tits. That isn't quite what you'd envisioned, but the customer is always right as they as, 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 amount of 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 beltpouch 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 pants 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 = 4;
doLust(Math.floor(((lib / 10) - (ment / 10))));
i++;
} else {
if (chance <= 100){
outputMainText((("A rough-looking human eyes you from the alleyway, a glint in his eyes. 'Y'wanna earn a few extra coins?' he asks, stepping into the light, his tan flesh scarred, the man's eyes looking over your own body. 'Step into my office, and let's have a talk.'\r\rYou nod along and walk into the dark alley, the rogue soon following. You begin to turn, your mouth opening to speak - Only to have his hands clap over your own, slamming you against the wall. 'Been a while since I fucked an ass. Just shut up and take it.' It wasn't long before that fleshy shaft pressed up against your cheeks, the man's chest against his back as the throbbing cock slid between your cheeks. He gripped the " + buttDesc()) + " ass hard, holding them against his cock as he pushed his length between them, pre drooling down your crack before he moved back. Slime-covered tip nudged against your ring, the bandit teasing your fleshy hole. Grunts escaped him as he pressed forward, not quite penetrating. 'You want it, slut? I can see it in your eyes. You're begging for it.'\r\rAnd with no further warning, he plunges in, the fat human cock spreading your walls apart as he slid in the walls below. Deep moans escaped him as his hands latched onto your hips, the man rolling his own length into you. 'Fuck, you're hot... Worth every gold piece.' His hands grip your hips tight, 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, and the man fucks you without care. He roughly pounds your flesh, panting in your ear as he fucks you quick and short.\r\rIt's not that long before the man reaches orgasm, however. Shoving himself deep in you with another grunt, the man's dick twitching inside your warm depths, you'd feel the sticky seed burst within you. You pant as he fills you, and overflows your ass, the seed rolling down your thighs as it slips around the seal."), true);
outputMainText(" Just as you begin to feel completely full, he tugs free, the last few strands shooting over your back. He lets out a pleased sigh before throwing a small sack down beside you, it hitting the ground with a quiet jingle. He vanishes as quickly as he'd shown up, slipping his dick back into his armor before turning a corner, 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 makes sure to check that no one else is around before turning your focus on him.", false);
} else {
outputMainText(" you don’t even bother to check if 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, coaxing his massive horse-like cock from his plump sheath with slow, enticing strokes. You find that 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, 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, forcing in the first few inches of his immense tool. 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, forcing inch after thick, throbbing inch deep down your throat. Shuddering and convulsing in shock, your warm, wet throat grips and strokes every inch of his huge maleness, causing 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, and you can only struggle as you feel the first blast of hot, thick cream coat your hungering belly. His powerful hands holding your lips flush against his velvet-furred sheath, 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, leaving you limp and panting. 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 sound of raised voices catches your ear as you pass one of Firmshaft's canvas dwellings, giving you pause while you try to make out the words. Without warning the quarrel erupts out onto the path before the tent, a pair of nude Equan males fleeing 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 pair.\r\rSeeming not to notice you, the woman mutters to herself, rubbing the crotch of her loincloth. You notice that the cloth is very wet and, sensing an opportunity, draw her attention with a small wave. As she looks you over you blow her a kiss, and 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, patting 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 seeming to remember 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, tugging 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, and in moments you find yourself lifted over her into a sixty-nine position, her hungry muzzle pressed against your " + vulvaDesc()) + " cunt. Her surprisingly large tongue fills you nicely, sending waves of ecstacy 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, picking up her hammer and stroking the thick haft as she prepares to pick up where you left off. Legs wobbling, you leave the dwelling 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 for 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 can be surprised due to his young age. After some casual small talk, mostly about the weather and the grains in the plains, he gets up the courage to buy you.\r\rAlready you can tell he might be a handful, judging by the large twitching bulge in his pants leg. He takes you back to a large tent; it’s obvious that one of his parents might be a little…overdeveloped too. To your surprise though, no one is home, though the thought of meeting this fellow’s dad gets your pussy wet. The Equan finally 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 the thing would be there to stop 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 to 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 took some doing, but soon you’re in a good rhythm, your tongue running all over his cock as you greedily swallow it. The boy’s face is in ecstasy as you continue your expert skills on him. The hot flesh of his member warms you up, filling you up. Your heartbeat 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. As if he were pissing, his cock exploded and 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 now overflowing with the thick liquid. As you pull him from your mouth, a few jets of stray cum strike you across the face and breasts, and despite the outrageously full belly you scoop it up and lick it from 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 him on the bed, gently and slowly lowering yourself onto his cock. The feeling is intense as you proceed to take him right to the hilt. His hands go to your hips and slowly he begins to lift you up, only to pull you back down. You offer support by moving your legs, helping him to find a steady rhythm. Eventually the two of you are in sync, one hand has moved to your breasts to feel them and play with your sensitive nipples, while the other has gone to your cunt to rub along your clit. The Equan has begun to breathe hard, and you know 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, your fingers work fast on your sensitive body, and 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, and by the time you feel he’s stopped it almost looks like a basketball has been shoved inside you. Pulling yourself from him, his cock falls to the bed with a wet slap, you notice he’s fallen asleep too.\r\rSmiling you get dressed and see yourself out, though you feel quite full.", false);
doImpregnate(2);
} else {
outputMainText("\r\rWith a worry in your heart you straddle the cock and begin to sink your pussy onto it. However, you know it won’t fit, but the boy has paid for the hour. You suggest something else, getting into a doggy style position and patting your ass. Without needing much more encouragement he pushes at your asshole. Why you thought this might be a good idea was beyond you, but as the flared head sinks in and the rest follows, you can only grin and bear it. To both of your surprise, 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. Pleasure begins to fill you as well, and you move forward and backwards onto his shaft to encourage him. Soon his pace evens out, the only sound now is the tell-a-tale sound of his large balls slapping against your now wet pussy. Before you can find real pleasure in the act though, the Equan begins to whinny, his frantic thrusts become more apparent as you feel the thick cock pulse and grow slightly. 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. With all your willpower you swallow it back down, just as he pulls free from backside.\r\rSlowly you get up and proceed to get dressed, though as a trophy you decide to keep your belly as it is, rather satisfied with yourself.", 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 catch the attention of a few horny women and with 'attributes' such as yours 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 butt and portraying her curvy body and huge tits, with a lust driven face hungry for your cock" + plural(1)) + ", you feel your ") + cockDesc()) + " thing") + plural(1)) + " harden to full size which only draws the woman in faster, and 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, forcing you down to the ground, and 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. She pounds herself rapidly against the amount of penis she can withstand inside of her, it only takes a few minutes before your penis and balls start shuddering furiously letting you and her know you are about to blow. After a few aching minutes you finally release all of your sperm into her womb with a sigh of relief. You gather your thoughts and look at the equan woman to see her current state but hesitate as you see her lying face first on the floor almost unconcious from her intense orgasm. She lets out a small moan as your cock begins to retreat from her lips to its sheath.\r\rAfter a minute or 2 she manages to recover from her climax and get back on her feet. She stumbles bow-legged towards you from the amount your ") + cockDesc()) + " has stretched her. She slowly leans over you, giving you a kiss, you feel her press something against your stomach making a metallic noise. Without a word being spoken she stands and walks away. You look to see what she has gave 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 mainly of women thirsting for sex but also consisting of families with mothers and fathers covering there childrens eyes. You leave the area, carrying on with your journey."), false);
};
doLust((-(sen) * 2));
cumAmount();
hrs = 2;
i++;
};
};
};
};
};
if (currentZone == 3){
if (chance <= 25){
if ((((cockTotal < 1)) || ((lust < 20)))){
outputMainText("A young female rushes down the street, moving with a much more feline quality than the other females of Tieden. She barely notices you as her eyes search person to person and her nose desperately breathes for some scent or another. In fact she moves so quickly you hardly see her clutching her breasts and squeezing at the turgid nipples pushing against her blouse, before she hurries out of sight.", true);
hrs = 1;
} else {
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 a mild level of panic, scanning the crowds until her eyes lock onto your body. She undresses you deeply with her eyes, lingering on the bulge in your " + clothesBottom()) + " until she’s satisfied with with the sight. When you notice she’s been teasing her nipples though her blouse, it’s already too late and she dashes across the street.\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 the strength her body wouldn’t show otherwise, and pulls up her skirt just high enough to reveal her sopping slit, and presses it into your ") + clothesBottom()) + " leaving a warm stain against your cock. She claws hungrily at your back, revealing ever more of her feline nature and nips at your neck hoping to entice you while she humps up and down the bulge of your ") + cockDesc()) + " size.\r\rDespite the suddenness of it all, though, you find yourself humping back, fumbling with your ") + clothesBottom()) + " until your schlong") + plural(1)) + " slap") + plural(3)) + " wetly against her drooling pussy. Her warm fluids are even more enticing directly on your skin, making you shiver deeply in time with her slow, deep thrusts. She starts to pant loud and hard as your skin tingles against hers and before either of you can angle ") + oneYour(1)) + " ") + cockDesc()) + " erection") + plural(1)) + " to penetrate her, she quakes through her whole body and sprays your loins with hot, slick female cum. It rushes down your legs and hers and the smell reeks of Felin sap, making it obvious that she was deep in her heat and needed your cum inside her."), 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)) + " meat") + 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 and instead shoves your face into her breasts, peeling up her blouse so she can feed you her firm teat, leaking sweet milk into your mouth while you hump again and again into her hungry body.\r\rWith her taste and smell surrounding you you don’t last terribly long but each hard thrust brings her closer to a second climax and before you can even 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 putting out the fire of lust in it."), false);
} else {
outputMainText((((((((((("\r\rYou, unfortunately 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 back and forth along your " + cockDesc()) + " cock") + plural(1)) + ". She quakes and moans deeply, leaking her wet juices down your length while you hump back into them, savoring the feeling of her folds against you.\r\rBut with her scent so strong around you and her heat seeping right into your skin, you don’t last very long. She senses it quickly and pushes back, finding the tip of ") + oneYour(1)) + " ") + cockDesc()) + " stiff thing") + plural(1)) + " and pressing her cunt around it so as you erupt your seed courses deep into her."), false);
};
if (cumAmount() < 5000){
outputMainText("\r\rShe sighs gratefully as you let her down off your cock and she resets her clothes. 'I'm sorry. I just needed to get that taken care off. 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 though, bewildered but growing very fond of that constant flow of seed into her belly. She moans softly, as her body swells with your rich essence, whimpering louder and louder until she squeals with a third orgasm, this time flushing out some of your spunk onto you with her sweet sap.\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 they can around what looks like a pregnancy beginning to show. 'It's been so hard to adjust to becoming a Lupan. And I'm still not changed enough that my heat would 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 with the smell of sex and your cum trailing off behind her.", false);
};
hrs = 3;
i++;
};
};
if (chance <= 50){
outputMainText("You wander around Tieden, putting yourself on display 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 look nice beneath your clothes.", false);
};
};
};
outputMainText("\r\rA young priest heads towards you. “Excuse me, but you are exactly what we need.” he says. “Would you join us in a ritual?” asks, looking 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 big room, with an altar in the middle. 3 young priests are looking at you as you enter the chamber with the other priest. An old priest sits on a throne a book in his hands. The priest leads you towards the Altar and places you upon it. Your legs hang down on the downside, 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(". He secures your arms on the upper side of the altar, so that your head is on rim of the topside, also quite exposed. He nods to the old priest, who starts to read from the book, chanting words you don't understand. The other priests dismantle their robes and stood naked around the altar. The young priest who brought you hear carries a cup, filled with some red liquid, probably wine... Each of the priests take a sip out of the cup, gulping in harmony with the chants of the old priest. Then after each priest had a drink from the cup, he moves towards you. He stands on your side, the other priests coming closer to you, the old priest chanting in the background.", false);
outputMainText("\r\rThe four priests stand around you, as the priest carrying the cup slowly turns the cup, letting the liquid inside drip on you. Drips of the liquid hit your head, and he moves the cup down, dripping over your neck, to your chest.", false);
if (lactation < 1){
if (((!((gender == 1))) || ((((gender == 3)) && ((breastSize <= 3)))))){
outputMainText((((("\r\rHe lets some drops fall over your " + boobDesc()) + " chest, hitting your ") + nipDesc()) + " nipples in rhythm with the chants. He covers all of your nipples in drops, before he turns the cup pouring the liquid over your breasts. It runs down them, covering them in a red color, your nipples getting errect. The other priests move closer and start to lick the liquid from your breasts. The priest holding the cup watches the spectacle looking in your eyes, grinning lustfully. Then he makes a Stop gesture with his hand, and the priests stand back and watch him."), false);
nippleSize++;
} else {
outputMainText((((((((("\r\rHe lets more drops fall on your chest, over your nipples and watches it running over your chest. He moves further down, letting some of the liquid dipping over your belly. Finally he turns down the cup, 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. The priests look lustfully in anticipation and listen to the chanting of the old priest. The other priest pours out the cup fully over your cock") + plural(1)) + ", and then puts it down, looking lustfully at you."), false);
};
outputMainText("The priest, who was carrying the cup 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 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 cock close in front of it, and the other at your backside, his cock twitching, so close to your ", false);
if (vagTotal > 0){
outputMainText(((" cunt" + plural(2)) + "."), false);
} else {
outputMainText("asshole.", false);
};
outputMainText(" The other priest suddenly moves his paw down and his somehow cold wet paw hits your belly, making you gasp. But this gasps is an invitation for the other priest standing close to your mouth, shoving his cock in, and suddenly you can feel the other other priest thrusting his cock in your lower hole.", false);
if (cockTotal > 0){
outputMainText(((" The other priest starts to stroke your erection" + plural(1)) + " in rhythm with the chanting."), false);
};
outputMainText("All of the priests fuck you in rhythm with the chanting, changing places in turn, fucking your holes. You lay there getting fucked by the four priests, tasking turns fucking every hole of your body... After what seems to be hours for you, the start cumming in whichever hole they were fucking at that moment. You fall down and collapse exhausted on the altar.", false);
if (vagTotal > 0){
doImpregnate(3);
};
} else {
milkAmount(1);
outputMainText((("\r\rYou can feel the first drops suddenly hit your nipples. The liquid instantly mixes with your milk, seeming to drain it out of your " + boobDesc()) + " breasts increasing, their flow. The priest continues to cover your nipples in the red liquid dropwise, watching how the the drops mix with your milk. He then turns the cup more, letting the liquid flow over your breats covering them in light red mix of your milk and the red fluid.\r\rThe other priests start to fondle your breasts moaning while doing so, you can feel their hands almost milking you. The other priest holds the cup close to one of your nipples and you see, the only half empty cup, now filled with your milk. They change between your breasts and fill the cup, till it contains a slight red liquid, a mixture of your milk and the wine?...\r\rThe priest seems pleased and takes deep gulp of the mixture, then hands the cup around again, where each priest drinks from the mixture and moans. 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 face. “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 and feel strangely 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 lead into a back-alley with him. Once out of sight, he grabs you roughly and he kisses you hard, though difficult as it is with a muzzle. You can feel his long rough tongue darting inside your mouth, a tinge of alcohol still apparent on his tongue. He takes the time to "), true);
if (attireTop == 6){
outputMainText("explore your body with his hands. Through the latex you can feel him, his hands paying 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 you.\r\rFinally he lets go of you, and you turn around to 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. You wonder what he’ll do, and as he pushes the tip against your latex covered pussy 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, which he begins to do. You can feel the large member against your thighs and rubbing your pussy, hitting every so often 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, as your latex 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, and 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 at you. At first it’s overwhelming, but 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, and 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 and pushes 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 dress up 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 however were prepared for this, your hungry cunt eagerly enveloping him and squeezing him. He grabs you by the waist now and begins to pound away into you with such force. You however have taken such things like this before, but it still makes you bite your lip as you feel him push onto your back, his hands moving to your breasts. He kneads and squishes them in his hands without remorse, his hips jackhammering his thick cock into you. Very few times can you remember a fuck as great as this. The pleasure is strong, waves of it race down your body as you feel his hot breath on the back of your neck.\r\rThen you feel it, the strain of his knot as it pushes into you, and that’s when the fast strokes of the Lupan become greater. You can barely contain yourself as plunges into you over and over again, his claws raking harshly over your skin; you know that tomorrow there will be signs of this encounter. You pant heavily as you fear that this experienced lover is going to actually give you orgasm, which hits like a rock. Your muscles tense up around him and you let out a small cry of pleasure, your eyes rolling into the back of your head…but he does not stop.\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. However, it is not long before his breath quick, and his pace becomes a bit more erratic. Just as he hits your buttons once more, he plunges into you and you feel him unload. Like a hot stream, he begins to come, 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, his knot slowly deflating, but soon he pulls from you with a slurping noise, shoving his manhood back into his pants and leaving you in the alley.", false);
doLust((-(sen) * 2));
} else {
outputMainText("\r\rWith a squeal of pain, you feel as he touches right to your womb, your pussy stretching 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, and that painful looking knot still remains. 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 grabbing you roughly around the back of the head! He thrusts hard and strong, the pointed tip of his cock assaulting your poor mouth mercilessly. Even if you try to fight, the Lupan is no match for you as he manages to continue his relentless charge down your throat. Your jaw feels a strange pain in it, and you realize that he’s forcing his knot in as well! You struggle and protest, but eventually the large bulb jams into your mouth. It’s hard to breath, but you eventually catch some rhythm, breathing through your nose when you can to grab fresh air. Your hands lower to your snatch, which you began 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 as he shoves himself as far down your throat as possible, you begin to gag horrendously. You can feel every vein on your tongue as you try to push him out, but to no avail. You can feel something hot spraying down your throat, and a somewhat sick wave of nausea trembles over you. However, as his knot deflates he pulls from your mouth, though his cock still sprays the hot liquid, filling your mouth as he goes. You swallow 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++;
doImpregnate(3);
};
};
hrs = 1;
i++;
} else {
if (chance <= 100){
outputMainText("You spend some time trying to look sexy out in 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 try a little nod.\r\rThe driver gets down and goes to one of the doors and 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 high precision speed and 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\rYou are taken into the carriage and the driver makes some kind of note before setting out to some unknown destination. After arriving at a rather strange looking house matching the carriage a little you are led inside and the girl slams an easel to the floor in front of you and says '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 and rushes to hug you and present the picture. You're amazed she could paint you so fast and paint that 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 and says 'Let me drive you back where you were.'", 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. Fingers play up and down his shaft and a moan escapes both of your mouths. Lust begins to permeate the atmosphere as his copious precum soaks 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 come off his mouth 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 the 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 obcenely as he comes near to cumming. 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 and 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 at your touch, 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 lounge the 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 quickly rushes to you, grabbing you by the shoulders, '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 where forward... but you where 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 of heat.\r\rThe Felin's cunt drips juices on your ") + cockDesc()) + " erection as she slides herself on you. You wince and grunt a bit, her pussy surprisingly tight as she wastes no time to start bouncing herself up and down on you. Her loud moans echoing throughout the area as she finally had what she desired. The heat driven Felin pounding herself on you repeatedly, using you like a living sex toy.\r\rIt doesn't take her long to drive you and herself over the edge, her nethers clasping over your ") + cockDesc()) + " member tightly and milking every ounce of cum that you have. 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 was 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 dripping on the street as she throws some coins. You watch as she staggers off in an almost drunken looking state, her groin covered in fem cum and dripping your seed, and her thong 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 through the city, to a small little cabin just 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 imagine!\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 make your noise, the woman who brought you here steps into your line of sight smiling. '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, grabbing hold of your nipples and tweaking them painfully, but it is a good pain. She continues to play with your nipples, massaging your breasts as well for a few minutes before putting a hand between your legs, 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 line of sight and you hear things being moved around. When she walks back into your line of sight, 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 and 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, pulling out, then slamming it back in before she gets into a strong pattern of hard thrusts. It doesn’t take long for you to cum and it takes even less time for you to start crying from laughter as well.", 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 you and tickled you until you passed out, as you wake up in a dark alley back in town. You are confused at first, but you gasp softly as the memories come back, and you look down at yourself, seeing if anything had been done.\r\rThe only thing that had been done was that you had been redressed and that someone had added a nice amount of coins to your pockets. 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 were suffering.", false);
doLust(-100);
} else {
outputMainText((((("\r\r\rThe instant you hear the door opening, you stop your squirmings 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 tracing over your chest with a sharp claw.\r\r'Mmmm, you certainly were a good catch...' she mutters as she traces her claw down your body, before stopping right above your vagina" + plural(2)) + ". You hear her giggle and then feel her breathing on 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, backing up and watching you.\r\rYou whine trying to rub your legs together, right on the brink and unable to do anything. You look at the felin with pleading eyes, and try to beg her to finish. Your begging of course, would come out as nothing more than 'Mph mm mphhh!!' as you had also been muzzled tightly.\r\rThe felin would give you a toothy grin, her eyes full of mischief as she walks out of your line of sight for a few moments. You hear things being moved around and when she walks back, you see she is holding two things, both covered by cloth.\r\r'Which do you want toy? Number one, or number two?' she asks as she holds up the two things. 'Nod once if you want number one, twice if you want number two,' she then adds, as you try to speak again."), false);
doLust(20);
if (lust < 60){
outputMainText((("\r\rShe gives a grin, pulling the covering from the first item, revealing a box full of white feathers. Your eyes go wide as you realize what she intends to do, and 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, and she laughs as she begins using the feathers, rubbing them all over you body, finding where you are most ticklish, and assaulting those areas. You have no way of telling how long she tickled you for, but by the time she is done, you are soaking with sweat, tears and sweet nectar as she would occasionally run the feathers over your aching vagina" + plural(2)) + ".\r\rShe takes a step back, smiling evilly as she looks at you before she goes out of your sight again. You don’t see her come back, though you do hear her coming up from behind before your face is smothered with an odd smelling cloth.\r\rYou wake up in a dark corner in the town. You are at first dazed and confused but you blush heavily as the memories return to you. You look down at yourself and find you are dressed in your clothes and that your wallet is a bit heavier. As you head back out into the light, you walk with a slight limp, your body 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, and she obliges you, sliding it on herself. She then rubs the tip of the thing, moaning softly before walking up to you, thrusting the thing into you. You explode at the first thrust, your juices flowing and oozing all over the toy and they keep oozing as she continues to thrust long and hard into you. You have no idea how long she fucked you, but at some point, your mind simply could not handle it and you passed out.\r\rWhen you wake up, you find yourself in a dark alley in town. Dazed and confused at first, you blush fiercely as you recall what happened. 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 pants/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 = 3;
i++;
};
};
};
};
};
outputMainText((("\r\r\rFor your efforts and skill, you have gained " + tempInt) + " coins!"), false);
doCoin(tempInt);
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 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, 0, 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");
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 Jug.", 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);
};
};
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 == 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 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 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. Also improves 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. Also improves 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. Improves mentality, but 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. 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.\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.\r\rTakes bottom clothes slot.";
};
if (ID == 9){
tempStr = "A buttoned shirt that improves milk production and 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. Improves 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. Improves sensitivity, enticement, and libido, but reduces strength, mentality, and increases pregnancy chance.\r\rTakes both top and bottom clothes slots.";
};
if (ID == 14){
tempStr = "A short skirt that's more attractive than modest. Improves cum production, sensitivity, and enticement, but reduces mentality and increases pregnancy chance.\r\rTakes bottom clothes slot.";
};
if (ID == 15){
tempStr = "A pair of short shorts that are more skimpy than funtional. Improves sensitivity, enticement, and run chance, but reduces cum production, mentality, and strength.\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 will leave you half naked (also resulting in funky wording)."), 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 buttonEvent3(e:MouseEvent):void{
buttonChoice = 3;
hideUpDown();
doListen();
}
public function buttonEvent5(e:MouseEvent):void{
buttonChoice = 5;
hideUpDown();
doListen();
}
public function buttonEvent1(e:MouseEvent):void{
buttonChoice = 1;
hideUpDown();
doListen();
}
public function buttonEvent4(e:MouseEvent):void{
buttonChoice = 4;
hideUpDown();
doListen();
}
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 == 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 buttonEvent7(e:MouseEvent):void{
buttonChoice = 7;
hideUpDown();
doListen();
}
public function buttonEvent8(e:MouseEvent):void{
buttonChoice = 8;
hideUpDown();
doListen();
}
public function buttonEvent2(e:MouseEvent):void{
buttonChoice = 2;
hideUpDown();
doListen();
}
public function buttonEvent6(e:MouseEvent):void{
buttonChoice = 6;
hideUpDown();
doListen();
}
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 buttonEvent10(e:MouseEvent):void{
buttonChoice = 10;
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 buttonEvent9(e:MouseEvent):void{
buttonChoice = 9;
hideUpDown();
doListen();
}
public function buttonEvent11(e:MouseEvent):void{
buttonChoice = 11;
hideUpDown();
doListen();
}
public function doStash():void{
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 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 boobChange(sizeChange:int):void{
breastSize = (breastSize + sizeChange);
nippleSize = (nippleSize + sizeChange);
}
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 buttonEvent12(e:MouseEvent):void{
buttonChoice = 12;
hideUpDown();
doListen();
}
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 {
outputMainText((("\r\rYou have made the " + enemyName()) + " pass out from all the pain."), false);
};
};
}
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))){
HP = (30 + (15 * level));
} else {
HP = (HP + changes);
};
statDisplay();
}
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 cockChange(sizeChange:int, totalChange:int):void{
var maxCock:int;
var nonCock:Boolean;
maxCock = Math.max(humanAffinity, horseAffinity, wolfAffinity, catAffinity, rabbitAffinity);
nonCock = false;
if ((((dominant == 5)) || ((dominant == 6)))){
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;
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 == 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 == 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 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, your 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 embarassment.", 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 embarassment.", 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 (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 clima 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 races all over the city, some official with various rewards and many simply 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 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 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);
};
}
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 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\rDo 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 == 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 == 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 == 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...";
};
return (tempStr);
}
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 == 6)) && ((breastSize > (((((body * 2) + str) + carryMod) * 1.75) * (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 == 6)) && ((breastSize > (((((((body * 2) + str) + carryMod) * 1.75) * (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 == 6)) && ((breastSize > (((((((body * 2) + str) + carryMod) * 1.75) * (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 == 6)) && ((breastSize > (((((((body * 2) + str) + carryMod) * 1.75) * (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 you 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 to 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 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 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);
i = 1;
while (i < 13) {
buttonWrite(i, itemName(itemID(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){
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;
};
};
};
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;
};
};
};
showPage(true, 1);
doStoreStash();
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
showPage(false, 1);
stashStore(buttonChoice);
};
};
};
};
};
}
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)));
i++;
};
buttonWrite(12, "Return");
buttonWrite(4, "<<");
buttonWrite(8, ">>");
showPage(true, 1);
doListen = function ():void{
if (((((((!((buttonChoice == 4))) && (!((buttonChoice == 8))))) && (!((buttonChoice == 12))))) && (!((itemID(buttonChoice) == 0))))){
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){
doCoin(itemValue(itemID(sell)));
loseItem(sell);
doSell();
} else {
doSell();
};
};
} else {
if (buttonChoice == 12){
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;
};
};
};
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;
};
};
};
showPage(true, 1);
doSell();
};
};
};
};
};
}
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";
};
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;
};
};
return (goodNum);
}
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 cockLoss():void{
var hasHumanCock:int;
var hasHorseCock:int;
var hasWolfCock:int;
var hasCatCock:int;
var hasRabbitCock:int;
var minCock:int;
hasHumanCock = 101;
hasHorseCock = 101;
hasWolfCock = 101;
hasCatCock = 101;
hasRabbitCock = 101;
if (humanCocks > 0){
hasHumanCock = humanAffinity;
};
if (horseCocks > 0){
hasHorseCock = horseAffinity;
};
if (wolfCocks > 0){
hasWolfCock = wolfAffinity;
};
if (catCocks > 0){
hasCatCock = catAffinity;
};
if (rabbitCocks > 0){
hasRabbitCock = rabbitAffinity;
};
minCock = Math.min(hasHumanCock, hasHorseCock, hasWolfCock, hasCatCock, 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 == 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 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;
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--;
};
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++;
eggRate = 20;
eggTime = 20;
} else {
eggRate = (eggRate - 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;
};
if (dominant == 2){
horseAffinity = domCheck;
};
if (dominant == 3){
wolfAffinity = domCheck;
};
if (dominant == 4){
catAffinity = domCheck;
};
if (dominant == 5){
cowAffinity = domCheck;
};
if (dominant == 6){
lizardAffinity = domCheck;
};
if (dominant == 7){
rabbitAffinity = domCheck;
};
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 == 2))))){
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 (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);
if ((((sixBoob > (twoBoob + 20))) && ((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, creating three rows of two breasts."), false);
if (breastSize > 4){
outputMainText(((" The nipples protrude as 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);
};
boobTotal = 6;
};
if ((((twoBoob > (sixBoob + 20))) && ((boobTotal == 6)))){
outputMainText("\r\rYour chest and belly tickle", false);
if (breastSize > 4){
outputMainText(", both growing much lighter", false);
};
outputMainText(((". Checking, you catch your four extra nipples disappear flat into your " + skinDesc()) + ", leaving you with only what's on your chest."), false);
boobTotal = 2;
};
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, the cock 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, the cock 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 == 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, the cock slowly pushes out, red and point. 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 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 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 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 gainItem(ID:int, more:int):void{
var openSlot:int;
if (more == 1){
outputMainText((("You have obtained a " + itemName(ID)) + "!"), true);
} else {
outputMainText((("\r\rYou have obtained a " + itemName(ID)) + "!"), false);
};
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--;
};
if (openSlot > 0){
itemSlotWrite(openSlot, ID);
if (more == 1){
item1 = 0;
};
if (more == 2){
item2 = 0;
};
if (more == 3){
item3 = 0;
};
if (more == 4){
item4 = 0;
};
if (more == 5){
item5 = 0;
};
if (more == 6){
item6 = 0;
};
doEnd();
} else {
outputMainText("\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.", false);
doDiscard(ID, more);
};
}
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 (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;
};
lib++;
};
bodyType();
};
}
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 invertC(e:MouseEvent):void{
invertGo();
}
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){
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 ") + bellyDesc()) + " 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 " + bellyDesc()) + " 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);
};
equanChildren = (equanChildren + 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) + 1) + 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 == 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 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 breath. 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. 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 once 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 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 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(524)))){
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(525)))){
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(524, 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(525, 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 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;
};
};
return (tempNum);
}
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 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 doProcess():void{
if (item1 != 0){
gainItem(item1, 1);
} else {
if (item2 != 0){
gainItem(item2, 2);
} else {
if (item3 != 0){
gainItem(item3, 3);
} else {
if (item4 != 0){
gainItem(item4, 4);
} else {
if (item5 != 0){
gainItem(item5, 5);
} else {
if (item6 != 0){
gainItem(item6, 6);
} else {
if (((((((((!((human == 0))) || (!((horse == 0))))) || (!((wolf == 0))))) || (!((cat == 0))))) || (!((cow == 0))))){
affinityChange();
} else {
if (hrs != 0){
dayTime(hrs);
} else {
doReturn();
};
};
};
};
};
};
};
};
}
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 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 (i == 12){
buttonWrite(12, "Return");
};
i++;
};
buttonWrite(4, "<<");
buttonWrite(8, ">>");
showPage(true, 1);
doListen = function ():void{
if (buttonChoice == 12){
inBag = false;
showPage(false, 1);
doReturn();
} else {
if (buttonChoice == 4){
if (currentItems == 1){
currentItems = 3;
} else {
if (currentItems == 2){
currentItems = 1;
} else {
if (currentItems == 3){
currentItems = 2;
};
};
};
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;
};
};
};
showPage(true, 1);
doBag();
} else {
if (((((!((buttonChoice == 0))) && (!((buttonChoice == 4))))) && (!((buttonChoice == 8))))){
useItem(buttonChoice);
};
};
};
};
};
}
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, 0, 1, 0, 0, 1, 0, 1, 0);
viewButtonText(0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0);
buttonWrite(6, "Firmshaft");
buttonWrite(3, "Plains");
buttonWrite(9, "Savanna");
buttonWrite(11, "Old Cave");
doListen = function ():void{
if (buttonChoice == 6){
doFirmshaft();
};
if (buttonChoice == 3){
doPlains();
};
if (buttonChoice == 9){
doSavanna();
};
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, 0, 0, 1, 0, 1, 0);
viewButtonText(0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0);
buttonWrite(6, "Siz'Calit");
buttonWrite(2, "Jungle");
buttonWrite(9, "Beach");
buttonWrite(11, "Savanna");
doListen = function ():void{
if (buttonChoice == 6){
doSizCalit();
};
if (buttonChoice == 2){
doJungle();
};
if (buttonChoice == 9){
doBeach();
};
if (buttonChoice == 11){
doSavanna();
};
};
};
}
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 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 == 3){
pregArray[(i + 2)] = ((100 + Math.floor((percent() / 5))) + (extra * 40));
pregArray[(i + 4)] = (extra * 2);
};
if (erace == 7){
pregArray[(i + 2)] = ((50 + Math.floor((percent() / 10))) + (extra * 20));
pregArray[(i + 4)] = (extra * 3);
};
if (erace == 4){
pregArray[(i + 2)] = ((90 + Math.floor((percent() / 5))) + (extra * 35));
pregArray[(i + 4)] = (extra * 2);
};
if (erace == 2){
pregArray[(i + 2)] = ((160 + Math.floor((percent() / 5))) + (extra * 70));
pregArray[(i + 4)] = extra;
};
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've 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 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 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 (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 ((((((attireTop == attireBot)) && (!((ID == 0))))) && (!((ID == -1))))){
attireTop = ID;
changeBot(2);
} else {
attireTop = ID;
};
}
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 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 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 == 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 == 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);
};
return (tempBool);
}
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 (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";
};
};
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";
};
return (tempStr);
}
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 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));
};
}
public function doeHP(changes:int):void{
var changes = changes;
if ((eHP + changes) <= 0){
specialKOWin();
outputMainText("\r\r You win the battle!", 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 (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 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) == 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) == 215){
rapeMod = (rapeMod - 5);
runMod = (runMod - 5);
milkHPMod = (milkHPMod - 5);
};
itemSlotWrite(slot, 0);
}
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 (coin < 0){
coin = 0;
};
if ((pregArray.length / 5) < vagTotal){
while ((pregArray.length / 5) < vagTotal) {
pregArray.push(false, 0, 0, 0, 0);
};
};
}
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 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 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 == 27)) && ((newGame.visible == true)))){
newGameGo();
};
if ((((e.keyCode == 73)) && ((Choice12.visible == true)))){
invertGo();
};
}
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 doSexP(changes:int):void{
if ((SexP + changes) >= 100){
changes = (changes - (100 - SexP));
SexP = 0;
SexP = (SexP + changes);
level++;
levelUP++;
} else {
SexP = (SexP + changes);
};
levelValuePane.text = ((((level + "\r") + SexP) + "\r") + coin);
if (bgC.visible == true){
levelValuePane.textColor = 0xFFFFFF;
};
}
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;
}
public function enemyAttack():void{
var attack: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 == 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 give 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)));
};
};
};
};
}
}
}//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