| STORY LOOP FURRY PORN GAMES C SERVICES [?] [R] RND POPULAR | Archived flashes: 229923 |
/disc/ · /res/ — /show/ · /fap/ · /gg/ · /swf/ | P0001 · P2598 · P5196 |
![]() | This is the info page for Flash #180662 |
Text Text Text Text Text |
Interactive Rouge balloon inflation Draw, animated and programmed by Doom the wolf http://doom-the-wolf.deviantart.com |
ActionScript [AS3]
Section 1//Physics (as3.Physics) package as3 { import flash.display.*; import flash.geom.*; public class Physics { public static const ROTATION_PROP:String = "rotation"; public static const Y_PROP:String = "y"; public static const SKEWY_PROP:String = "skewY"; public static const SCALEX_PROP:String = "scaleX"; public static const X_PROP:String = "x"; public static const SCALEY_PROP:String = "scaleY"; public static const SKEWX_PROP:String = "skewX"; public static function attach(_arg1:Array, _arg2:DisplayObject, _arg3:MovieClip, _arg4:Array=null){ var _local5:Point; var _local6:Point; _local5 = _arg2.localToGlobal(new Point()); _local6 = _arg3.globalToLocal(_local5); if (_arg4 == null){ _arg4 = []; }; _arg1[_arg1.length] = {mc:_arg2, par:_arg3, point:_local6, props:_arg4}; } public static function updateSkewY(_arg1:Object, _arg2:Point, _arg3:Matrix, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){ _arg4[0] = (_arg4[0] + ((-(_arg9) * (_arg2.y - _arg1.position.y)) / _arg1.hWeight)); balancePoint(_arg4, _arg5, _arg6, _arg7, _arg8); _arg3.b = _arg4[0]; } public static function updateElastic(_arg1:Array){ var _local2:int; var _local3:int; _local3 = _arg1.length; _local2 = 0; while (_local2 < _local3) { updateElasticClip(_arg1[_local2]); _local2++; }; } public static function updateAttached(_arg1:Array){ var _local2:int; var _local3:int; var _local4:Object; var _local5:Point; var _local6:Point; var _local7:int; var _local8:int; var _local9:Array; _local3 = _arg1.length; _local2 = 0; while (_local2 < _local3) { _local4 = _arg1[_local2]; if (_local4.mc.parent){ _local5 = _local4.par.localToGlobal(_local4.point); _local6 = _local4.mc.parent.globalToLocal(_local5); _local4.mc.x = _local6.x; _local4.mc.y = _local6.y; }; _local9 = _local4.props; _local8 = _local9.length; _local7 = 0; while (_local7 < _local8) { _local4.mc[_local9[_local7]] = _local4.par[_local9[_local7]]; _local7++; }; _local2++; }; } public static function setElastic(_arg1:Array, _arg2:DisplayObjectContainer, _arg3:MovieClip, _arg4:Array, _arg5:Array, _arg6:Array, _arg7:Array, _arg8:Array, _arg9:Array):Object{ var _local10:Array; var _local11:int; var _local12:int; var _local13:String; var _local14:Point; var _local15:Rectangle; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; if (!_arg3.parent){ return (null); }; _local10 = [ROTATION_PROP]; _local12 = _arg4.length; _local11 = 0; while (_local11 < _local12) { _local13 = _arg4[_local11]; _local10[_local11] = [_arg6[_local11], 0, 0]; _local11++; }; _local14 = _arg3.localToGlobal(new Point()); _local14 = _arg2.globalToLocal(_local14); _local15 = _arg3.getBounds(_arg3); _local16 = (_local15.right + _local15.left); _local17 = (_local15.bottom + _local15.top); _local18 = ((_local16)<0) ? _local15.left : _local15.right; _local19 = ((_local17)<0) ? _local15.top : _local15.bottom; _arg1[_arg1.length] = {clip:_arg3, props:_arg4, position:_local14, values:_local10, topLevel:_arg2, rect:_local15, hWeight:_local18, vWeight:_local19, frictions:_arg5, dests:_arg6, multipliers:_arg7, speeds:_arg8, scales:_arg9}; return (_arg1[(_arg1.length - 1)]); } public static function updateSkewX(_arg1:Object, _arg2:Point, _arg3:Matrix, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){ _arg4[0] = (_arg4[0] + ((-(_arg9) * (_arg2.x - _arg1.position.x)) / _arg1.vWeight)); balancePoint(_arg4, _arg5, _arg6, _arg7, _arg8); _arg3.c = _arg4[0]; } public static function balancePoint(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int=1){ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; _local6 = _arg1[0]; _local7 = _arg1[1]; _local8 = _arg1[2]; _local9 = 0; while (_local9 < _arg5) { _arg1[1] = ((_arg1[1] * _arg2) + _arg1[2]); _arg1[2] = ((_arg3 - _arg1[0]) * _arg4); _arg1[0] = (_arg1[0] + (_local7 * _arg2)); _local9++; }; } public static function editElastic(_arg1:Array, _arg2:MovieClip, _arg3:String, _arg4:Number){ var _local5:int; var _local6:int; _local6 = _arg1.length; _local5 = 0; while (_local5 < _local6) { if (_arg1[_local5].clip == _arg2){ _arg1[_local5].dests[_arg3] = _arg4; return; }; _local5++; }; } public static function updateScaleX(_arg1:Object, _arg2:Point, _arg3:Matrix, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){ var _local10:Rectangle; var _local11:Number; _local10 = _arg1.clip.getBounds(_arg1.topLevel); _local11 = (_local10.right - _local10.left); _arg4[0] = (_arg4[0] + ((-(_arg9) * (_arg2.x - _arg1.position.x)) / _local11)); balancePoint(_arg4, _arg5, _arg6, _arg7, _arg8); _arg3.a = _arg4[0]; } public static function updateScaleY(_arg1:Object, _arg2:Point, _arg3:Matrix, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){ var _local10:Rectangle; var _local11:Number; _local10 = _arg1.clip.getBounds(_arg1.topLevel); _local11 = (_local10.bottom - _local10.top); _arg4[0] = (_arg4[0] + ((-(_arg9) * (_arg2.y - _arg1.position.y)) / _local11)); balancePoint(_arg4, _arg5, _arg6, _arg7, _arg8); _arg3.d = _arg4[0]; } public static function updateElasticClip(_arg1:Object){ var _local2:int; var _local3:Array; var _local4:int; var _local5:Point; var _local6:String; var _local7:Matrix; _local3 = _arg1.props; _local4 = _local3.length; _local5 = _arg1.clip.localToGlobal(new Point()); _local5 = _arg1.topLevel.globalToLocal(_local5); _local7 = _arg1.clip.transform.matrix; _local2 = 0; while (_local2 < _local4) { _local6 = _local3[_local2]; switch (_local6){ case SKEWX_PROP: updateSkewX(_arg1, _local5, _local7, _arg1.values[_local2], _arg1.frictions[_local2], _arg1.dests[_local2], _arg1.multipliers[_local2], _arg1.speeds[_local2], _arg1.scales[_local2]); break; case SKEWY_PROP: updateSkewY(_arg1, _local5, _local7, _arg1.values[_local2], _arg1.frictions[_local2], _arg1.dests[_local2], _arg1.multipliers[_local2], _arg1.speeds[_local2], _arg1.scales[_local2]); break; case SCALEX_PROP: updateScaleX(_arg1, _local5, _local7, _arg1.values[_local2], _arg1.frictions[_local2], _arg1.dests[_local2], _arg1.multipliers[_local2], _arg1.speeds[_local2], _arg1.scales[_local2]); break; case SCALEY_PROP: updateScaleY(_arg1, _local5, _local7, _arg1.values[_local2], _arg1.frictions[_local2], _arg1.dests[_local2], _arg1.multipliers[_local2], _arg1.speeds[_local2], _arg1.scales[_local2]); break; }; _local2++; }; _arg1.clip.transform.matrix = _local7; _arg1.position = _local5; } } }//package as3Section 2//Expansion (expansion.Expansion) package expansion { import flash.display.*; import flash.events.*; public class Expansion extends EventDispatcher { private var _expanding:Array; private var _sizes:Array; private var _active:Boolean; private var _numExpandables:uint; private var _expandables:Array; private var _checkPoints:Array; private var _maxSizes:Array; private var _stage:Stage; public function Expansion(_arg1:Stage){ _stage = _arg1; _active = false; _numExpandables = 0; _expandables = []; _sizes = []; _maxSizes = []; _expanding = []; _checkPoints = []; if (_arg1 == null){ throw ("ERROR: Stage must not be null."); }; } public function set size(_arg1:Number){ var _local2:int; _local2 = 0; while (_local2 < _expandables.length) { if (!_expandables[_local2]){ return; }; setSize(_local2, _arg1); _local2++; }; } public function setSize(_arg1:uint, _arg2:Number){ if (isNaN(_arg2)){ return; }; _sizes[_arg1] = Math.max(1, Math.min(_arg2, _maxSizes[_arg1])); _expandables[_arg1].gotoAndStop(Math.floor(_sizes[_arg1])); } public function getExpandableID(_arg1:MovieClip):int{ var _local2:int; while (_local2 < _expandables.length) { if (_expandables[_local2] == _arg1){ return (_local2); }; _local2++; }; return (-1); } private function eFrame(_arg1:Event){ var _local2:int; var _local3:Number; var _local4:Boolean; var _local5:Array; var _local6:int; _local4 = false; _local5 = []; _local2 = 0; while (_local2 < _expandables.length) { if (!_expandables[_local2]){ } else { _local3 = _sizes[_local2]; _sizes[_local2] = Math.max(1, Math.min(_maxSizes[_local2], (_sizes[_local2] + _expanding[_local2]))); if (_local3 != _sizes[_local2]){ _local4 = true; _expandables[_local2].gotoAndStop(Math.floor(_sizes[_local2])); while (_local6 < _checkPoints.length) { if (_checkPoints[_local6].expandable == _local2){ if ((((((_checkPoints[_local6].direction > 0)) && ((_checkPoints[_local6].size > _local3)))) && ((_checkPoints[_local6].size <= _sizes[_local2])))){ _local5.push(new ExpansionEvent("checkpoint", _expandables[_local2], _checkPoints[_local6].size, _checkPoints[_local6].direction, _checkPoints[_local6].reaction, _checkPoints[_local6].timer)); break; } else { if ((((((_checkPoints[_local6].direction < 0)) && ((_checkPoints[_local6].size >= _sizes[_local2])))) && ((_checkPoints[_local6].size < _local3)))){ _local5.push(new ExpansionEvent("checkpoint", _expandables[_local2], _checkPoints[_local6].size, _checkPoints[_local6].direction, _checkPoints[_local6].reaction, _checkPoints[_local6].timer)); break; }; }; }; _local6++; }; }; }; _local2++; }; if (_local4){ dispatchEvent(new Event("sizeChanged")); _local2 = 0; while (_local2 < _local5.length) { dispatchEvent(_local5[_local2]); _local2++; }; }; } public function set maxSize(_arg1:uint){ var _local2:int; _local2 = 0; while (_local2 < _expandables.length) { if (!_expandables[_local2]){ return; }; setMaxSize(_local2, _arg1); _local2++; }; } public function set growth(_arg1:Number){ var _local2:int; _local2 = 0; while (_local2 < _expandables.length) { if (!_expandables[_local2]){ return; }; setGrowth(_local2, _arg1); _local2++; }; } public function insertExpandable(_arg1:MovieClip, _arg2:int=-1):int{ var _local3:int; if (_arg1 == null){ return (-1); }; _local3 = 0; while (_local3 < _expandables.length) { if (_expandables[_local3] == _arg1){ if (_arg2 > 0){ _maxSizes[_local3] = _arg2; } else { if (!_arg2){ _maxSizes[_local3] = _arg1.totalFrames; }; }; return (_local3); }; _local3++; }; _local3 = 0; while (_local3 < _expandables.length) { if (_expandables[_local3] == null){ break; }; _local3++; }; _arg1.gotoAndStop(1); _numExpandables++; _sizes[_local3] = 1; _expandables[_local3] = _arg1; _expanding[_local3] = 0; if (_arg2 > 0){ _maxSizes[_local3] = _arg2; } else { _maxSizes[_local3] = _arg1.totalFrames; }; return (_local3); } public function clearCheckPoint(_arg1:uint, _arg2:int, _arg3:int=1){ var _local4:MovieClip; var _local5:int; _local4 = _expandables[_arg1]; if (!_local4){ return; }; _local5 = 0; while (_local5 < _checkPoints.length) { if ((((((_checkPoints[_local5].size == _arg2)) && ((_checkPoints.expandable == _local4)))) && ((_checkPoints[_local5].direction == _arg3)))){ delete _checkPoints[_local5]; _checkPoints.splice(_local5, 1); return; }; _local5++; }; } public function get numExpandables():uint{ return (_numExpandables); } public function removeExpandable(_arg1:MovieClip){ var _local2:int; while (_local2 < _expandables.length) { if (_expandables[_local2] == _arg1){ clearCheckPointByID(_local2); delete _expandables[_local2]; _expandables[_local2] = null; _sizes[_local2] = 0; _maxSizes[_local2] = 0; _expanding[_local2] = 0; _numExpandables--; if (_local2 == (_expandables.length - 1)){ _expandables.splice(_local2, 1); _sizes.splice(_local2, 1); _maxSizes.splice(_local2, 1); _expanding.splice(_local2, 1); }; return; }; _local2++; }; } public function getGrowth(_arg1:uint):Number{ if (_arg1 > _expandables.length){ return (0); }; return (_expanding[_arg1]); } public function setMaxSize(_arg1:uint, _arg2:uint){ if (isNaN(_arg2)){ return; }; _maxSizes[_arg1] = Math.max(1, Math.min(_expandables[_arg1].totalFrames, _arg2)); if (_sizes[_arg1] > _arg2){ setSize(_arg1, _arg2); }; } public function setGrowth(_arg1:uint, _arg2:Number){ if (isNaN(_arg2)){ return; }; _expanding[_arg1] = _arg2; } public function getMaxSize(_arg1:uint):uint{ if (_arg1 > _expandables.length){ return (0); }; return (_maxSizes[_arg1]); } public function getCheckPoint(_arg1:int, _arg2:int, _arg3:int=1):String{ var _local4:MovieClip; var _local5:int; _local4 = _expandables[_arg1]; if (!_local4){ return (""); }; _local5 = 0; while (_local5 < _checkPoints.length) { if ((((((_checkPoints[_local5].size == _arg2)) && ((_checkPoints.expandable == _local4)))) && ((_checkPoints[_local5].direction == _arg3)))){ return (_checkPoints[_local5].reaction); }; _local5++; }; return (""); } private function clearCheckPointByID(_arg1:uint){ var _local2:MovieClip; var _local3:int; _local2 = _expandables[_arg1]; if (!_local2){ return; }; _local3 = 0; while (_local3 < _checkPoints.length) { if (_checkPoints.expandable == _local2){ delete _checkPoints[_local3]; _checkPoints.splice(_local3, 1); _local3--; }; _local3++; }; } public function getExpandable(_arg1:uint):MovieClip{ if (_arg1 > _expandables.length){ return (null); }; return (_expandables[_arg1]); } public function removeExpandableAt(_arg1:uint){ if ((((_arg1 < _expandables.length)) && (!((_expandables[_arg1] == null))))){ clearCheckPointByID(_arg1); _expandables[_arg1] = null; _sizes[_arg1] = 0; _maxSizes[_arg1] = 0; _expanding[_arg1] = 0; _numExpandables--; if (_arg1 == (_expandables.length - 1)){ _expandables.splice(_arg1, 1); _sizes.splice(_arg1, 1); _maxSizes.splice(_arg1, 1); _expanding.splice(_arg1, 1); }; }; } public function setCheckPoint(_arg1:uint, _arg2:int, _arg3:int=1, _arg4:String="", _arg5:int=30){ var _local6:MovieClip; var _local7:int; _local6 = _expandables[_arg1]; if (!_local6){ return; }; _local7 = 0; while (_local7 < _checkPoints.length) { if ((((((_checkPoints[_local7].size == _arg2)) && ((_checkPoints[_local7].expandable == _arg1)))) && ((_checkPoints[_local7].direction == _arg3)))){ _checkPoints[_local7].reaction = _arg4; return; }; _local7++; }; if (_arg3 < 0){ _arg3 = -1; } else { if (_arg3 > 0){ _arg3 = 1; }; }; _checkPoints.push({size:_arg2, reaction:_arg4, expandable:_arg1, direction:_arg3, timer:_arg5}); } public function activate(_arg1:Boolean=true){ if (_active == _arg1){ return; }; _active = _arg1; if (_active){ _stage.addEventListener("enterFrame", eFrame); } else { _stage.removeEventListener("enterFrame", eFrame); }; } public function getSize(_arg1:uint):Number{ if (_arg1 > _expandables.length){ return (0); }; return (_sizes[_arg1]); } } }//package expansionSection 3//ExpansionEvent (expansion.ExpansionEvent) package expansion { import flash.display.*; import flash.events.*; public class ExpansionEvent extends Event { public var timer:int; public var size:int; public var reaction:String; public var expandable:MovieClip; public var direction:int; public function ExpansionEvent(_arg1:String, _arg2:MovieClip, _arg3:int, _arg4:int=1, _arg5:String="", _arg6:int=30){ super(_arg1); expandable = _arg2; size = _arg3; direction = _arg4; reaction = _arg5; timer = _arg6; } } }//package expansionSection 4//Expression (expansion.Expression) package expansion { import flash.display.*; import flash.events.*; public class Expression extends EventDispatcher { private var _position:Number; private var _state:String; private var _curState:Array; private var _states:Array; private var _active:Boolean; private var _permanent:Boolean; private var _offset:Number; private var _interruptible:Boolean; private var _eyes:Array; private var _partBaseValues:Array; private var _timer:int; private var _canBlink:Boolean; private var _partTypes:Array; private var _expansion:Expansion; private var _angle:Number; private var _frequency:Number; private var _parts:Array; private var _blinking:Boolean; private var _savedState:Array; private var _reactions:Array; private var _stage:Stage; public static const ANIMATED:int = 0; public static const ROTATION_SPEED:int = 2; public static const X_POS:int = 3; public static const Y_POS:int = 4; public static const FRAME:int = 0; public static const MOVABLE:int = 1; public static const ROTATION:int = 1; public function Expression(_arg1:Stage){ _active = false; _stage = _arg1; _state = ""; _canBlink = true; _blinking = false; _offset = 0; _frequency = 0; _angle = 0; _position = 0; _curState = []; _states = []; _eyes = []; _parts = []; _partTypes = []; _partBaseValues = []; _savedState = null; _reactions = []; _interruptible = true; _timer = -1; _permanent = false; _expansion = null; if (_arg1 == null){ throw ("ERROR: Stage must not be null."); }; } public function get reacting():Boolean{ return (!((_savedState == null))); } public function get canBlink():Boolean{ return (_canBlink); } public function addPartToState(_arg1:Array, _arg2:int, _arg3:String, _arg4:Number=0, _arg5:Number=1, _arg6:Number=NaN, _arg7:Number=NaN){ var _local8:MovieClip; if (!_arg1){ return; }; _local8 = getPartAt(_arg2); if (!_local8){ throw ("This part is not in the list. Try using addPart() first."); }; if (_arg1[_arg2]){ delete _arg1[_arg2]; }; _arg1[_arg2] = []; _arg1[_arg2][FRAME] = _arg3; if (isNaN(_arg4)){ _arg1[_arg2][ROTATION] = undefined; } else { _arg1[_arg2][ROTATION] = _arg4; }; if (isNaN(_arg5)){ _arg1[_arg2][ROTATION_SPEED] = undefined; } else { _arg1[_arg2][ROTATION_SPEED] = _arg5; }; if (isNaN(_arg6)){ _arg1[_arg2][X_POS] = undefined; } else { _arg1[_arg2][X_POS] = _arg6; }; if (isNaN(_arg7)){ _arg1[_arg2][Y_POS] = undefined; } else { _arg1[_arg2][Y_POS] = _arg7; }; } public function get state():String{ return (_state); } public function get offset():Number{ return (_offset); } public function get blinking():Boolean{ return (_blinking); } private function _reacting(_arg1:Event){ var _local2:Object; _local2 = getReaction((_arg1.target as EventDispatcher), _arg1.type); if (_local2 == null){ throw ("Reaction not found on the list."); }; react(_local2.state, _local2.timer); } public function destroy(){ var _local1:int; if (_expansion != null){ _expansion.removeEventListener("checkpoint", expansionReaction); _expansion = null; }; _local1 = 0; while (_local1 < _reactions.length) { _reactions[_local1].hit.removeEventListener(_reactions[_local1].type, _reacting); delete _reactions[_local1]; _local1++; }; _reactions = []; _curState = []; _states = []; _parts = []; _partTypes = []; _partBaseValues = []; _savedState = null; _state = ""; _canBlink = true; _blinking = false; _offset = 0; _frequency = 0; _angle = 0; _position = 0; _timer = -1; } public function endReact(){ if (!_savedState){ return; }; _curState.state = _savedState.state; _savedState = null; setState(_curState.state); _timer = -1; dispatchEvent(new Event("endreact")); } public function removePart(_arg1:MovieClip){ var _local2:int; var _local3:int; _local2 = 0; while (_local2 < _parts.length) { if (_parts[_local2] == _arg1){ delete _parts[_local2]; delete _partTypes[_local2]; _parts[_local2] = null; _partTypes[_local2] = 0; _local3 = 0; while (_local3 < _eyes.length) { if (_eyes[_local3] == _local2){ _eyes.splice(_local3, 1); break; }; _local3++; }; if (_local2 == (_parts.length - 1)){ _parts.splice(_local2, 1); _partTypes.splice(_local2, 1); }; return; }; _local2++; }; } public function getReaction(_arg1:EventDispatcher, _arg2:String):Object{ var _local3:int; _local3 = 0; while (_local3 < _reactions.length) { if ((((_reactions[_local3].hit == _arg1)) && ((_reactions[_local3].type == _arg2)))){ return (_reactions[_local3]); }; _local3++; }; return (null); } public function set offset(_arg1:Number){ if (!isNaN(_arg1)){ _offset = _arg1; }; } public function get position():Number{ return (_position); } private function eFrame(_arg1:Event){ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; if ((((((((Math.random() > 0.99)) && (_canBlink))) && ((_savedState == null)))) && (_eyes.length))){ _local2 = 0; while (_local2 < _eyes.length) { _parts[_eyes[_local2]].gotoAndPlay("blink"); _local2++; }; _blinking = true; dispatchEvent(new Event("blink")); }; if (((_blinking) && ((_parts[_eyes[0]].currentLabel == "endblink")))){ _local2 = 0; while (_local2 < _eyes.length) { if (((_curState[_eyes[_local2]]) && (_curState[_eyes[_local2]][FRAME]))){ _parts[_eyes[_local2]].gotoAndPlay(_curState[_eyes[_local2]][FRAME]); }; _local2++; }; _blinking = false; dispatchEvent(new Event("endblink")); }; _local2 = 0; while (_local2 < _curState.length) { if (((_curState[_local2]) && (_parts[_local2]))){ if (!isNaN((_curState[_local2][ROTATION] + _curState[_local2][ROTATION_SPEED]))){ _local3 = (_curState[_local2][ROTATION] + _partBaseValues[_local2].rotation); _local4 = (_local3 - 360); _local5 = (_local3 + 360); _local6 = _local3; _local7 = Math.abs((_local4 - _parts[_local2].rotation)); _local8 = Math.abs((_local5 - _parts[_local2].rotation)); _local9 = Math.abs((_local3 - _parts[_local2].rotation)); if (_local7 <= _local9){ _local6 = _local4; }; if ((((_local8 <= _local7)) && ((_local8 <= _local9)))){ _local6 = _local5; }; if (_parts[_local2].rotation < (_local6 - _curState[_local2][ROTATION_SPEED])){ _parts[_local2].rotation = (_parts[_local2].rotation + _curState[_local2][ROTATION_SPEED]); } else { if (_parts[_local2].rotation > (_local6 + _curState[_local2][ROTATION_SPEED])){ _parts[_local2].rotation = (_parts[_local2].rotation - _curState[_local2][ROTATION_SPEED]); } else { _parts[_local2].rotation = _local3; }; }; }; if (!isNaN(_curState[_local2][X_POS])){ _local3 = (_curState[_local2][X_POS] + _partBaseValues[_local2].x); _parts[_local2].x = (_parts[_local2].x + ((_local3 - _parts[_local2].x) * 0.5)); }; if (!isNaN(_curState[_local2][Y_POS])){ _local3 = (_curState[_local2][Y_POS] + _partBaseValues[_local2].y); _parts[_local2].y = (_parts[_local2].y + ((_local3 - _parts[_local2].y) * 0.5)); }; }; _local2++; }; _position = Math.sin(_angle); _angle = (_angle + _frequency); if (_angle > 500){ _angle = (_angle - ((Math.PI * 2) * (500 / (Math.PI * 2)))); }; if (_savedState){ if (_timer > 0){ _timer--; } else { if (_timer == 0){ endReact(); }; }; }; dispatchEvent(new Event("enterFrame")); } public function react(_arg1:String, _arg2:int=30){ var _local3:Array; if (((_savedState) && (!(_interruptible)))){ return; }; if (((!(_arg1)) || (!(_arg1.length)))){ return; }; _local3 = null; if (!_savedState){ _local3 = _curState; } else { _local3 = _savedState; }; _savedState = null; _timer = _arg2; setState(_arg1); if (_local3 != null){ _savedState = _local3; }; dispatchEvent(new Event("react")); } public function removePartAt(_arg1:uint){ var _local2:int; if ((((_arg1 >= _parts.length)) || ((_parts[_arg1] == null)))){ return; }; delete _parts[_arg1]; delete _partTypes[_arg1]; _parts[_arg1] = null; _partTypes[_arg1] = 0; _local2 = 0; while (_local2 < _eyes.length) { if (_eyes[_local2] == _arg1){ _eyes.splice(_local2, 1); break; }; _local2++; }; if (_arg1 == (_parts.length - 1)){ _parts.splice(_arg1, 1); _partTypes.splice(_arg1, 1); }; } public function addPart(_arg1:MovieClip, _arg2:int=0, _arg3:Boolean=false):int{ var _local4:int; if (!_arg1){ return (-1); }; _local4 = 0; while (_local4 < _parts.length) { if (_parts[_local4] == _arg1){ _partTypes[_local4] = _arg2; return (_local4); }; _local4++; }; _local4 = 0; while (_local4 < _parts.length) { if (_parts[_local4] == null){ break; }; _local4++; }; _arg1.stop(); if (_arg3){ _eyes.push(_local4); }; _parts[_local4] = _arg1; _partTypes[_local4] = _arg2; _partBaseValues[_local4] = {x:_arg1.x, y:_arg1.y, scaleX:_arg1.scaleX, scaleY:_arg1.scaleY, rotation:_arg1.rotation}; return (_local4); } public function get interruptible():Boolean{ return (_interruptible); } public function get curState():Array{ return (_curState); } public function getStateByName(_arg1:String):Object{ if (!_states[_arg1]){ return (null); }; return (_states[_arg1]); } public function set frequency(_arg1:Number){ if (!isNaN(_arg1)){ _frequency = _arg1; }; } public function getPartID(_arg1:MovieClip):int{ var _local2:int; _local2 = 0; while (_local2 < _parts.length) { if (_parts[_local2] == _arg1){ return (_local2); }; _local2++; }; return (-1); } public function get timer():int{ return (_timer); } public function get defaultState():String{ if (!_savedState){ return (_state); }; return (_savedState.state); } public function get angle():Number{ return (_angle); } public function set canBlink(_arg1:Boolean){ _canBlink = _arg1; } public function reactTo(_arg1:Expansion, _arg2:Boolean=false){ if (_expansion != null){ _expansion.removeEventListener("checkpoint", expansionReaction); _expansion = null; }; _permanent = _arg2; if (!_arg1){ return; }; _expansion = _arg1; _arg1.addEventListener("checkpoint", expansionReaction, false, 1, true); } public function get frequency():Number{ return (_frequency); } private function expansionReaction(_arg1:ExpansionEvent){ if (((!(_arg1.reaction)) || (!(_arg1.reaction.length)))){ return; }; if (_permanent){ if (reacting){ _savedState.state = _arg1.reaction; } else { setState(_arg1.reaction); }; } else { react(_arg1.reaction, _arg1.timer); }; } public function setState(_arg1:String, _arg2:Boolean=false){ var _local3:Array; var _local4:int; var _local5:String; if (_arg1 == _state){ return; }; if (_savedState){ if (_arg2){ _savedState.state = _arg1; }; return; }; if (!_states[_arg1]){ return; }; _local3 = _curState; _curState = []; _curState.state = (_state = _arg1); if (_states[_arg1]["canBlink"] != undefined){ _canBlink = _states[_arg1]["canBlink"]; }; if (!isNaN(_states[_arg1]["frequency"])){ _frequency = _states[_arg1]["frequency"]; }; if (!isNaN(_states[_arg1]["offset"])){ _offset = _states[_arg1]["offset"]; }; _blinking = false; _local4 = 0; while (_local4 < _states[_arg1].length) { _curState[_local4] = _states[_arg1][_local4]; _local4++; }; _local4 = 0; while (_local4 < _parts.length) { if (((((!(_states[_arg1][_local4])) || (!(_states[_arg1][_local4][FRAME])))) || (!(_states[_arg1][_local4][FRAME].length)))){ } else { if ((((_partTypes[_local4] == MOVABLE)) && (_local3[_local4]))){ _local5 = ((_local3[_local4][FRAME] + "2") + _states[_arg1][_local4][FRAME]); if (((!((_parts[_local4].currentLabel == _states[_arg1][_local4][FRAME]))) && (hasLabel(_parts[_local4], _local5)))){ _parts[_local4].gotoAndPlay(_local5); } else { if (_states[_arg1][_local4][FRAME] != _local3[_local4][FRAME]){ _parts[_local4].gotoAndPlay(_states[_arg1][_local4][FRAME]); throw ((((((("Label " + _local5) + " is missing! in Movieclip #") + _local4) + "(") + _parts[_local4].name) + ").")); }; }; } else { if (((_states[_arg1][_local4][FRAME]) && (_states[_arg1][_local4][FRAME].length))){ _parts[_local4].gotoAndPlay(_states[_arg1][_local4][FRAME]); }; }; }; _local4++; }; } public function set interruptible(_arg1:Boolean){ _interruptible = _arg1; } public function removeState(_arg1:String){ delete _states[_arg1]; } public function addStateAttributes(_arg1:Array, _arg2:Boolean, _arg3:Number=NaN, _arg4:Number=NaN){ if (!_arg1){ return; }; _arg1.canBlink = _arg2; if (!isNaN(_arg3)){ _arg1.frequency = _arg3; }; if (!isNaN(_arg4)){ _arg1.offset = _arg4; }; } public function removeReaction(_arg1:EventDispatcher, _arg2:String){ var _local3:int; _local3 = 0; while (_local3 < _reactions.length) { if ((((_reactions[_local3].hit == _arg1)) && ((_reactions[_local3].type == _arg2)))){ _reactions[_local3].hit.removeEventListener(_arg2, _reacting); delete _reactions[_local3]; _reactions.splice(_local3, 1); return; }; _local3++; }; } public function addState(_arg1:String, _arg2:Array){ var _local3:int; if (_states[_arg1]){ delete _states[_arg1]; }; _states[_arg1] = new Array(); _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3]){ _states[_arg1][_local3] = _arg2[_local3].concat(); } else { _states[_arg1][_local3] = null; }; _local3++; }; _states[_arg1].canBlink = _arg2.canBlink; _states[_arg1].frequency = _arg2.frequency; _states[_arg1].offset = _arg2.offset; } public function addReaction(_arg1:EventDispatcher, _arg2:String, _arg3:String, _arg4:int=30){ var _local5:Object; _local5 = getReaction(_arg1, _arg2); if (_local5 != null){ _local5.state = _arg3; return; }; _arg1.addEventListener(_arg2, _reacting, false, 2, true); _reactions.push({hit:_arg1, type:_arg2, state:_arg3, timer:_arg4}); } public function getBaseValues(_arg1:uint):Object{ var _local2:MovieClip; _local2 = getPartAt(_arg1); if (!_local2){ return (null); }; return (_partBaseValues[_arg1]); } public function activate(_arg1:Boolean=true){ if (_active == _arg1){ return; }; _active = _arg1; if (_active){ _stage.addEventListener("enterFrame", eFrame); } else { _stage.removeEventListener("enterFrame", eFrame); }; } public function getPartAt(_arg1:int):MovieClip{ if (_parts[_arg1]){ return (_parts[_arg1]); }; return (null); } public static function hasLabel(_arg1:MovieClip, _arg2:String):Boolean{ var _local3:Array; var _local4:FrameLabel; var _local5:int; _local3 = _arg1.currentLabels; _local5 = 0; while (_local5 < _local3.length) { _local4 = _local3[_local5]; if (_local4.name == _arg2){ return (true); }; _local5++; }; return (false); } } }//package expansionSection 5//Speech (expansion.Speech) package expansion { import flash.display.*; import flash.events.*; import flash.text.*; public class Speech extends EventDispatcher { private var _contained:Boolean; private var _textSpeed:int; private var _checkpoints:Array; private var _txt:TextField; private var _events:Array; private var _interruptible:Boolean; private var _letter:int; private var _timer:int; private var _mouth:MovieClip; private var _phrase:String; private var _paused:int; private var _pauseTime:int; private var _expansion:Expansion; private var _interruptionText:String; private var _pauseCharacter:String; public function Speech(_arg1:TextField, _arg2:Boolean=true){ _txt = _arg1; _mouth = null; _contained = _arg2; _textSpeed = 1; _timer = 0; _letter = 0; _phrase = ""; _expansion = null; _events = []; _checkpoints = []; if (!_txt){ throw ("ERROR: No TextField object found!"); }; _interruptionText = "--"; _interruptible = false; _pauseCharacter = ""; _paused = -1; _pauseTime = 10; _txt.visible = false; _txt.text = ""; if (((_contained) && (_txt.parent))){ _txt.parent.visible = _txt.visible; }; } public function destroy(){ var _local1:int; _local1 = 0; while (_local1 < _events.length) { _events[_local1].object.removeEventListener(_events[_local1].type, _event); _local1++; }; _events = []; _local1 = 0; while (_local1 < _checkpoints.length) { delete _checkpoints[_local1]; _local1++; }; _checkpoints = []; listenTo(null); clearSpeech(); if (((_contained) && (_txt.parent))){ _txt.parent.visible = true; }; _txt.visible = true; _txt = null; } public function set mouth(_arg1:MovieClip){ _mouth = _arg1; } public function get interruptionText():String{ return (_interruptionText); } public function clearCheckPoint(_arg1:MovieClip, _arg2:int, _arg3:int=1){ var _local4:int; _local4 = 0; while (_local4 < _checkpoints.length) { if ((((((_checkpoints[_local4].part == _arg1)) && ((_checkpoints[_local4].size == _arg2)))) && ((_checkpoints[_local4].direction == _arg3)))){ _checkpoints.splice(_local4, 1); return; }; _local4++; }; } public function clearSpeech(){ _letter = 0; _phrase = ""; _txt.removeEventListener("enterFrame", _speaking); _txt.text = ""; if (((_contained) && (_txt.parent))){ _txt.parent.visible = false; }; _txt.visible = false; } public function get textSpeed():int{ return (_textSpeed); } private function _event(_arg1:Event){ var _local2:Object; _local2 = getEvent((_arg1.target as EventDispatcher), _arg1.type); if (!_local2){ return; }; say(_local2.phrase, _local2.time); } public function set interruptionText(_arg1:String){ _interruptionText = _arg1; } public function set pauseCharacter(_arg1:String){ _pauseCharacter = _arg1; } private function _checkpoint(_arg1:ExpansionEvent){ var _local2:Object; _local2 = getCheckPoint(_arg1.expandable, _arg1.size, _arg1.direction); if (!_local2){ return; }; say(_local2.phrase, _local2.time); } public function get position():int{ return (_letter); } private function _speaking(_arg1:Event){ var _local2:String; var _local3:int; if (_paused > 0){ _paused--; } else { if (_letter < _phrase.length){ _local3 = 0; while ((((_local3 < _textSpeed)) && ((_letter < _phrase.length)))) { _local2 = _phrase.charAt(_letter++); if (_local2 == _pauseCharacter){ _paused = _pauseTime; if (_mouth != null){ _mouth.gotoAndStop("_m"); }; return; }; _txt.appendText(_local2); _txt.scrollV = _txt.maxScrollV; _local3++; }; if (_mouth != null){ _local2 = _local2.toLowerCase(); if ((((((((((((((((((_local2 == "k")) || ((_local2 == "t")))) || ((_local2 == "y")))) || ((_local2 == "s")))) || ((_local2 == "q")))) || ((_local2 == "d")))) || ((_local2 == "g")))) || ((_local2 == "j")))) || ((_local2 == "z")))){ _local2 = "i"; }; if ((((_local2 == "w")) || ((_local2 == "r")))){ _local2 = "u"; }; if (_local2 == "h"){ _local2 = "a"; }; if ((((_local2 == "l")) || ((_local2 == "d")))){ _local2 = "o"; }; switch (_local2){ case "a": case "e": case "i": case "o": case "u": _mouth.gotoAndStop(("_" + _local2)); break; default: _mouth.gotoAndStop("_m"); }; }; if (_letter >= _phrase.length){ if (_mouth != null){ _mouth.gotoAndStop("_m"); }; dispatchEvent(new Event("speechFinished")); }; } else { if (_timer > 0){ _timer--; } else { clearSpeech(); dispatchEvent(new Event("speechCleared")); }; }; }; } public function set textSpeed(_arg1:int){ if (_arg1 < 0){ _arg1 = 0; }; _textSpeed = _arg1; } public function get interruptible():Boolean{ return (_interruptible); } public function get phrase():String{ return (_phrase); } public function listenTo(_arg1:Expansion){ if (_expansion){ _expansion.removeEventListener("checkpoint", _checkpoint); _expansion = null; }; if (!_arg1){ return; }; _expansion = _arg1; _expansion.addEventListener("checkpoint", _checkpoint, false, 0, true); } public function get timer():int{ return (_timer); } public function get mouth():MovieClip{ return (_mouth); } public function get speaking():Boolean{ return (((_txt.visible) && ((_letter < _phrase.length)))); } public function get pauseCharacter():String{ return (_pauseCharacter); } public function set pauseTime(_arg1:int){ _pauseTime = _arg1; } public function getCheckPoint(_arg1:MovieClip, _arg2:int, _arg3:int=1):Object{ var _local4:int; _local4 = 0; while (_local4 < _checkpoints.length) { if ((((((_checkpoints[_local4].part == _arg1)) && ((_checkpoints[_local4].size == _arg2)))) && ((_checkpoints[_local4].direction == _arg3)))){ return (_checkpoints[_local4]); }; _local4++; }; return (null); } public function get pauseTime():int{ return (_pauseTime); } public function get textField():TextField{ return (_txt); } public function set contained(_arg1:Boolean){ if (((_contained) && (_txt.parent))){ if (!_arg1){ _txt.parent.visible = true; } else { _txt.parent.visible = _txt.visible; }; }; _contained = _arg1; } public function setEvent(_arg1:EventDispatcher, _arg2:String, _arg3:String, _arg4:int=-1){ var _local5:Object; if (((((!(_arg1)) || (!(_arg2)))) || (!(_arg2.length)))){ return; }; _local5 = getEvent(_arg1, _arg2); if (_local5 != null){ _local5.phrase = phrase; _local5.time = _arg4; return; }; _events.push({object:_arg1, type:_arg2, phrase:_arg3, time:_arg4}); _arg1.addEventListener(_arg2, _event, false, 5, true); } public function set interruptible(_arg1:Boolean){ _interruptible = _arg1; } public function clearEvent(_arg1:EventDispatcher, _arg2:String){ var _local3:int; _local3 = 0; while (_local3 < _events.length) { if ((((_events[_local3].object == _arg1)) && ((_events[_local3].type == _arg2)))){ _arg1.removeEventListener(_arg2, _event); _events.splice(_local3, 1); return; }; _local3++; }; } public function get contained():Boolean{ return (_contained); } public function setCheckPoint(_arg1:MovieClip, _arg2:int, _arg3:int=1, _arg4:String="", _arg5:int=-1){ var _local6:Object; if (!_arg1){ return; }; _local6 = getCheckPoint(_arg1, _arg2, _arg3); if (_local6 != null){ _local6.phrase = _arg4; _local6.time = _arg5; return; }; _checkpoints.push({part:_arg1, size:_arg2, direction:_arg3, phrase:_arg4, time:_arg5}); } public function say(_arg1:String, _arg2:int=-1){ var _local3:String; var _local4:String; if (((speaking) && (!(_interruptible)))){ return; }; _paused = -1; if (!_txt){ throw ("ERROR: No TextField object found!"); }; if (_txt.length > 0){ _local3 = _phrase.charAt((_letter - 1)); _local4 = _phrase.charAt(_letter); if ((((((((_letter > 0)) && ((_letter < _phrase.length)))) && (isLetter(_local3)))) && (isLetter(_local4)))){ _txt.appendText(_interruptionText); }; _txt.appendText("\n\n"); _txt.scrollV = _txt.maxScrollV; }; if (((_contained) && (_txt.parent))){ _txt.parent.visible = true; }; if (_arg2 < 0){ _arg2 = (_arg1.length + 20); }; _phrase = _arg1; _letter = 0; _timer = _arg2; _txt.visible = true; _txt.addEventListener("enterFrame", _speaking); } public function getEvent(_arg1:EventDispatcher, _arg2:String):Object{ var _local3:int; _local3 = 0; while (_local3 < _events.length) { if ((((_events[_local3].object == _arg1)) && ((_events[_local3].type == _arg2)))){ return (_events[_local3]); }; _local3++; }; return (null); } public static function isLetter(_arg1:String){ var _local2:int; var _local3:Array; var _local4:int; _local2 = _arg1.charCodeAt(0); if ((((_local2 >= "a".charCodeAt(0))) && ((_local2 <= "z".charCodeAt(0))))){ return (true); }; if ((((_local2 >= "A".charCodeAt(0))) && ((_local2 <= "Z".charCodeAt(0))))){ return (true); }; if ((((_local2 >= "0".charCodeAt(0))) && ((_local2 <= "9".charCodeAt(0))))){ return (true); }; _local3 = ["á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú", "à", "è", "ì", "ò", "ù", "À", "È", "Ì", "Ò", "Ù", "ä", "ë", "ï", "ö", "ü", "Ä", "Ë", "Ï", "Ö", "Ü", "â", "ê", "î", "ô", "û", "Â", "Ê", "Î", "Ô", "Û", "ñ", "Ñ"]; _local4 = 0; while (_local4 < _local3.length) { if (_local3[_local4] == _arg1){ return (true); }; _local4++; }; return (false); } } }//package expansionSection 6//Color (fl.motion.Color) package fl.motion { import flash.display.*; import flash.geom.*; public class Color extends ColorTransform { private var _tintMultiplier:Number;// = 0 private var _tintColor:Number;// = 0 public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){ _tintColor = 0; _tintMultiplier = 0; super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function setTint(_arg1:uint, _arg2:Number):void{ var _local3:uint; var _local4:uint; var _local5:uint; this._tintColor = _arg1; this._tintMultiplier = _arg2; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2))); _local3 = ((_arg1 >> 16) & 0xFF); _local4 = ((_arg1 >> 8) & 0xFF); _local5 = (_arg1 & 0xFF); this.redOffset = Math.round((_local3 * _arg2)); this.greenOffset = Math.round((_local4 * _arg2)); this.blueOffset = Math.round((_local5 * _arg2)); } public function set tintColor(_arg1:uint):void{ this.setTint(_arg1, this.tintMultiplier); } public function get brightness():Number{ return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1)); } private function deriveTintColor():uint{ var _local1:Number; var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; _local1 = (1 / this.tintMultiplier); _local2 = Math.round((this.redOffset * _local1)); _local3 = Math.round((this.greenOffset * _local1)); _local4 = Math.round((this.blueOffset * _local1)); _local5 = (((_local2 << 16) | (_local3 << 8)) | _local4); return (_local5); } public function get tintMultiplier():Number{ return (this._tintMultiplier); } public function get tintColor():uint{ return (this._tintColor); } public function set brightness(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (_arg1 > 1){ _arg1 = 1; } else { if (_arg1 < -1){ _arg1 = -1; }; }; _local2 = (1 - Math.abs(_arg1)); _local3 = 0; if (_arg1 > 0){ _local3 = (_arg1 * 0xFF); }; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2)); this.redOffset = (this.greenOffset = (this.blueOffset = _local3)); } public function set tintMultiplier(_arg1:Number):void{ this.setTint(this.tintColor, _arg1); } private function parseXML(_arg1:XML=null):Color{ var _local2:XML; var _local3:XML; var _local4:String; var _local5:uint; if (!_arg1){ return (this); }; _local2 = _arg1.elements()[0]; if (!_local2){ return (this); }; for each (_local3 in _local2.attributes()) { _local4 = _local3.localName(); if (_local4 == "tintColor"){ _local5 = (Number(_local3.toString()) as uint); this.tintColor = _local5; } else { this[_local4] = Number(_local3.toString()); }; }; return (this); } public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{ var _local4:Number; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; var _local17:uint; _local4 = (1 - _arg3); _local5 = ((_arg1 >> 24) & 0xFF); _local6 = ((_arg1 >> 16) & 0xFF); _local7 = ((_arg1 >> 8) & 0xFF); _local8 = (_arg1 & 0xFF); _local9 = ((_arg2 >> 24) & 0xFF); _local10 = ((_arg2 >> 16) & 0xFF); _local11 = ((_arg2 >> 8) & 0xFF); _local12 = (_arg2 & 0xFF); _local13 = ((_local5 * _local4) + (_local9 * _arg3)); _local14 = ((_local6 * _local4) + (_local10 * _arg3)); _local15 = ((_local7 * _local4) + (_local11 * _arg3)); _local16 = ((_local8 * _local4) + (_local12 * _arg3)); _local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16); return (_local17); } public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{ var _local4:Number; var _local5:ColorTransform; _local4 = (1 - _arg3); _local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3))); return (_local5); } public static function fromXML(_arg1:XML):Color{ return (Color(new (Color).parseXML(_arg1))); } } }//package fl.motionSection 7//arm1_27 (rouge_fla.arm1_27) package rouge_fla { import flash.display.*; public dynamic class arm1_27 extends MovieClip { public function arm1_27(){ addFrameScript(1, frame2, 21, frame22, 37, frame38, 49, frame50, 64, frame65); } function frame65(){ this.gotoAndStop(this.currentLabel); } function frame22(){ this.gotoAndStop(this.currentLabel); } function frame2(){ this.gotoAndStop(this.currentLabel); } function frame38(){ this.gotoAndStop(this.currentLabel); } function frame50(){ this.gotoAndStop(this.currentLabel); } } }//package rouge_flaSection 8//background2_2 (rouge_fla.background2_2) package rouge_fla { import flash.display.*; public dynamic class background2_2 extends MovieClip { public var city:MovieClip; } }//package rouge_flaSection 9//door_5 (rouge_fla.door_5) package rouge_fla { import flash.display.*; public dynamic class door_5 extends MovieClip { public var marker:MovieClip; } }//package rouge_flaSection 10//eye1_24 (rouge_fla.eye1_24) package rouge_fla { import flash.display.*; public dynamic class eye1_24 extends MovieClip { public var pupil:MovieClip; public function eye1_24(){ addFrameScript(1, frame2, 3, frame4, 5, frame6, 7, frame8, 9, frame10, 11, frame12, 24, frame25); } function frame10(){ this.gotoAndPlay(this.currentLabel); } function frame12(){ this.gotoAndPlay(this.currentLabel); } function frame6(){ this.gotoAndPlay(this.currentLabel); } function frame8(){ this.gotoAndPlay(this.currentLabel); } function frame25(){ this.gotoAndPlay(this.currentLabel); } function frame4(){ this.gotoAndPlay(this.currentLabel); } function frame2(){ this.gotoAndPlay(this.currentLabel); } } }//package rouge_flaSection 11//eye2_22 (rouge_fla.eye2_22) package rouge_fla { import flash.display.*; public dynamic class eye2_22 extends MovieClip { public var pupil:MovieClip; public function eye2_22(){ addFrameScript(1, frame2, 3, frame4, 5, frame6, 7, frame8, 9, frame10, 11, frame12, 24, frame25); } function frame10(){ this.gotoAndPlay(this.currentLabel); } function frame12(){ this.gotoAndPlay(this.currentLabel); } function frame6(){ this.gotoAndPlay(this.currentLabel); } function frame8(){ this.gotoAndPlay(this.currentLabel); } function frame25(){ this.gotoAndPlay(this.currentLabel); } function frame4(){ this.gotoAndPlay(this.currentLabel); } function frame2(){ this.gotoAndPlay(this.currentLabel); } } }//package rouge_flaSection 12//head_7 (rouge_fla.head_7) package rouge_fla { import flash.display.*; public dynamic class head_7 extends MovieClip { public var ear1:MovieClip; public var ear2:MovieClip; } }//package rouge_flaSection 13//MainTimeline (rouge_fla.MainTimeline) package rouge_fla { import flash.display.*; import flash.geom.*; import fl.motion.*; import flash.events.*; import expansion.*; import flash.text.*; import as3.*; import flash.ui.*; import flash.filters.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.system.*; import flash.utils.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public const CLOUD_TOP:Number = 205; public const STORM_X:Number = 351; public const STORM_Y:Number = 0; public const STORM_WIDTH:Number = 432; public const INV_SQRT_2PI:Number; public const DEG_2_RAD:Number = 0.0174532925199433; public const GAUSS_RADIUS:Number = 3; public const STORM_HEIGHT:Number = 444; public const CLOUD_BOTTOM:Number = 300; public const BALLOON_COLORS:Array; public const IONOSPHERE:Number = 86; public var ELASTIC_LIST:Array; public var size:Number; public var reacting:Boolean; public var DOOR_DIRECTION:int; public var LIGHTNING_SPEECH:Array; public var MAX_SIZE:int; public var emerald:MovieClip; public var cloudID:int; public var balloons:Array; public var EM_E_ALPHA:Number; public var EAR1_ELASTIC:Object; public var EM_LIFE:int; public var balloon:MovieClip; public var PUPIL1_ID:int; public var DEFAULT_BODY_SPEED:Number; public var ATTACH_LIST:Array; public var cloudsGenerated:Boolean; public var SPEECH_DURATION:int; public var INHIBITOR:Boolean; public var lcd_stolen_bg:MovieClip; public var glowClip:Shape; public var BODY_RANGE:Number; public var SPRITE_CLIP:MovieClip; public var cMenu:ContextMenu; public var cMenuItem:ContextMenuItem; public var PUPIL2_ID:int; public var expression:Expression; public var glowMat:Matrix; public var bounds:Rectangle; public var rouge:MovieClip; public var EM_E_THICKNESS:Number; public var DEFAULT_BODY_ANGLE:Number; public var emeraldState:int; public var gX:int; public var LEG2_X:Number; public var LEG2_Y:Number; public var particlesPerCloud:int; public var speech:Speech; public var BODY_FLOOR_DIST:Number; public var ROUGE_X:Number; public var STAGE_COVER:Shape; public var ROUGE_Y:Number; public var bodyPhase:Number; public var STAGE_WIDTH:int; public var blurMatrix:Array; public var shineLife:int; public var LIGHTNING_PHRASE_ID:int; public var tmp:Array; public var DEFAULT_BODY_RANGE:Number; public var BODY_FLOOR_Y:Number; public var BODY_FLOOR_X:Number; public var EAR2_ELASTIC:Object; public var CLOUD_CLIP:MovieClip; public var conv:ConvolutionFilter; public var EM_S_THICKNESS:Number; public var BODY_SPEED:Number; public var slowmo:Boolean; public var EYE1_ID:int; public var EM_E_RADIUS:Number; public var DEFAULT_TEXT_SPEED:int; public var world:Object; public var ARM2_WIDTH:Number; public var emeraldShine:MovieClip; public var STAGE_HEIGHT:int; public var balloonState:int; public var tmpRect:Rectangle; public var MOUTH_ID:int; public var EM_S_RADIUS:Number; public var lcd_stolen_item:MovieClip; public var EM_S_ALPHA:Number; public var LEG2_HEIGHT:Number; public var LEG2_WIDTH:Number; public var LIGHTNING_CLIP:MovieClip; public var DEST_BODY_ANGLE:Number; public var growth:Number; public var curBalloon:MovieClip; public var numBalloons:int; public var ARM2_X:Number; public var currentPattern:int; public var lcd_stolen:String; public var SPEECH_LIST:Array; public var BODY_ANGLE:Number; public var EYE2_ID:int; public var HEAD_ID:int; public var speechPatterns:Array; public var balloonTaken:Boolean; public var CAN_BLINK:Boolean; public var WORLD_CLIP:Sprite; public function MainTimeline(){ BALLOON_COLORS = [0xFF, 39423, 0xFF9900, 0xFFFF00, 0xFF0000, 0xFF00, 0xFF00FF, 0xBB00BB, 16724889]; INV_SQRT_2PI = (1 / Math.sqrt((2 * Math.PI))); super(); addFrameScript(0, frame1); } public function createWorld(_arg1:Number, _arg2:Number):Object{ var _local3:Object; var _local4:Number; _local3 = {}; _local3.stable = true; _local3.width = _arg1; _local3.height = _arg2; _local3.groundHeight = _local3.height; _local3.cloudHeight = (_local3.height * 0.7); _local3.maxCloudHeight = (_local3.height * 0.5); _local3.ionosphereHeight = (_local3.height * 0.1); _local3.cloudFriction = 0.7; _local3.cloudFlattenForce = 1; _local3.cloudLife = 20; _local3.cloudLifeVariation = 10; _local3.cloudParticleRadius = 1; _local3.useRepulsion = true; _local3.cloudRepulsionRadius = 1; _local3.cloudRepulsionForce = 1; _local3.maxVortexSpin = (Math.PI * 0.25); _local3.maxVortexRadius = 1; _local3.vortexReverseRate = 0.05; _local3.cloudGravity = 1; _local3.cloudFloatForce = 1; _local3.cloudSpeed = 10; _local4 = (_local3.cloudHeight - _local3.groundHeight); _local3.groundRadius = (_local3.width * 0.1); _local3.lightningThreshold = (1 / (_local4 * _local4)); _local3.maxChargeIncrease = 0.01; _local3.groundLightningRadius = 10; _local3.groundLightningProbability = 0.1; _local3.clearChargeRadius = (_local3.width * 0.2); _local3.clearChargeMultiplier = 5; _local3.groundLightningSpeed = 1; _local3.cloudLightningSpeed = 1; _local3.groundRandomSpeed = 1; _local3.cloudRandomSpeed = 1; _local3.lightningFadeSpeed = 0.1; _local3.lightningMomentum = 0.5; _local3.spriteAlpha = 1; _local3.minSpriteSources = 4; _local3.maxSpriteSources = 8; _local3.spriteSourceRadius = (_local3.width * 0.05); _local3.spritePathRadius = 3; _local3.minSpritesPerSource = 6; _local3.maxSpritesPerSource = 10; _local3.spriteFadeSpeed = 0.1; _local3.childrenPerSprite = 3; _local3.spriteConvergeRate = 0.1; _local3.spriteDivergeRate = 0.02; _local3.spriteLife = 7; _local3.spriteLifeVariation = 5; _local3.minSpriteSpeed = 0.5; _local3.maxSpriteSpeed = 1; _local3.upSpriteAccel = 1.01; _local3.downSpriteAccel = 1.3; _local3.spriteAngleSize = (Math.PI * 0.7); _local3.downSpritesRatio = 0.5; _local3.cloudSeeds = []; _local3.clouds = []; _local3.ground = []; _local3.lightning = null; _local3.sprites = []; return (_local3); } public function eFrame(_arg1:Event){ if (growth > 0){ size = (size + growth); if (size >= MAX_SIZE){ size = MAX_SIZE; growth = 0; }; } else { if (growth < 0){ size = (size - growth); if (size < 1){ growth = 0; size = 1; }; }; }; if (DOOR_DIRECTION){ rouge.door.gotoAndStop((rouge.door.currentFrame + DOOR_DIRECTION)); if ((((rouge.door.currentFrame == 1)) || ((rouge.door.currentFrame == rouge.door.totalFrames)))){ DOOR_DIRECTION = 0; }; }; updateAttached(); updateBalloon(); updateEmerald(); } public function selectMenuItem(_arg1:ContextMenuEvent){ var _local2:ContextMenuItem; _local2 = (_arg1.currentTarget as ContextMenuItem); if (INHIBITOR){ return; }; stackSpeech("Yes, my name is Rouge.", "comment"); } public function unlockEmerald(){ if (emerald){ return; }; emeraldState = 1; emerald = new Emerald(); rouge.arm1.gotoAndPlay("give"); } public function dropBalloon(_arg1:Event){ stage.removeEventListener(MouseEvent.MOUSE_DOWN, dropBalloon, true); stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveBalloon, false); rouge.addChild(curBalloon); curBalloon = null; } public function updateCover(){ var _local1:Graphics; _local1 = STAGE_COVER.graphics; _local1.clear(); _local1.beginFill(0); _local1.drawRect((-((stage.stageWidth - STAGE_WIDTH)) * 0.5), (-((stage.stageHeight - STAGE_HEIGHT)) * 0.5), stage.stageWidth, stage.stageHeight); _local1.drawRect(0, 0, STAGE_WIDTH, STAGE_HEIGHT); } function frame1(){ lcd_stolen = new LocalConnection().domain; if (lcd_stolen.toLowerCase().indexOf("swfchan") != -1){ stop(); lcd_stolen_bg = new MovieClip(); while (numChildren) { removeChildAt(0); }; lcd_stolen_bg.graphics.beginFill(0xFFFFFF); lcd_stolen_bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); lcd_stolen_bg.graphics.endFill(); lcd_stolen_item = new MovieClip(); lcd_stolen_item.tF = new TextFormat(); lcd_stolen_item.tF.bold = true; lcd_stolen_item.tF.size = 64; lcd_stolen_item.tF.color = 0xFF2200; lcd_stolen_item.tF.font = "Trebuchet MS"; lcd_stolen_item.txt = new TextField(); lcd_stolen_item.txt.defaultTextFormat = lcd_stolen_item.tF; lcd_stolen_item.txt.text = "swfchan.com"; lcd_stolen_item.txt.width = (lcd_stolen_item.txt.textWidth + 5); lcd_stolen_item.txt.height = (lcd_stolen_item.txt.textHeight + 5); lcd_stolen_item.bmp = new Bitmap(new BitmapData((lcd_stolen_item.txt.textWidth + 5), (lcd_stolen_item.txt.textHeight + 5), true, 0)); lcd_stolen_item.bmp.bitmapData.draw(lcd_stolen_item.txt); lcd_stolen_item.bmp.x = (lcd_stolen_item.bmp.x - (lcd_stolen_item.bmp.width * 0.5)); lcd_stolen_item.bmp.y = (lcd_stolen_item.bmp.y - (lcd_stolen_item.bmp.height * 0.5)); lcd_stolen_item.addChild(lcd_stolen_item.bmp); delete lcd_stolen_item.txt; delete lcd_stolen_item.tF; lcd_stolen_item.x = (Math.random() * stage.stageWidth); lcd_stolen_item.y = (Math.random() * stage.stageWidth); lcd_stolen_item.vX = (5 + (Math.random() * 10)); lcd_stolen_item.vY = (5 + (Math.random() * 10)); lcd_stolen_item.vR = (1 + ((Math.random() * 5) * ((Math.random())<0.5) ? -1 : 1)); stage.addChild(lcd_stolen_bg); stage.addChild(lcd_stolen_item); stage.addEventListener(Event.RESIZE, function (_arg1:Event){ lcd_stolen_bg.graphics.clear(); lcd_stolen_bg.graphics.beginFill(0xFFFFFF); lcd_stolen_bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); lcd_stolen_bg.graphics.endFill(); }); stage.addEventListener(Event.ENTER_FRAME, function (_arg1:Event){ lcd_stolen_item.x = (lcd_stolen_item.x + lcd_stolen_item.vX); lcd_stolen_item.y = (lcd_stolen_item.y + lcd_stolen_item.vY); lcd_stolen_item.rotation = (lcd_stolen_item.rotation + lcd_stolen_item.vR); bounds = lcd_stolen_item.getBounds(stage); if ((((((bounds.left < 0)) && ((lcd_stolen_item.vX < 0)))) || ((((bounds.right > stage.stageWidth)) && ((lcd_stolen_item.vX > 0)))))){ lcd_stolen_item.vX = -(lcd_stolen_item.vX); }; if ((((((bounds.top < 0)) && ((lcd_stolen_item.vY < 0)))) || ((((bounds.bottom > stage.stageHeight)) && ((lcd_stolen_item.vY > 0)))))){ lcd_stolen_item.vY = -(lcd_stolen_item.vY); }; }); return; }; stage.scaleMode = StageScaleMode.NO_SCALE; STAGE_WIDTH = 800; STAGE_HEIGHT = 600; INHIBITOR = true; growth = 0; size = 0; MAX_SIZE = 600; blurMatrix = [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0]; conv = new ConvolutionFilter(9, 9, blurMatrix, 19, 8); rouge.bg2.city.filters = [conv]; rouge.bg2.city.cacheAsBitmap = true; rouge.bg2.cacheAsBitmap = true; STAGE_COVER = new Shape(); stage.addChild(STAGE_COVER); stage.addEventListener(Event.RESIZE, resize); resize(null); stage.addEventListener(Event.ENTER_FRAME, eFrame); DOOR_DIRECTION = 0; rouge.door.gotoAndStop(1); LIGHTNING_SPEECH = []; LIGHTNING_PHRASE_ID = -1; LIGHTNING_SPEECH[0] = [{phrase:"Hey,did you see that?", reaction:"question"}]; LIGHTNING_SPEECH[1] = [{phrase:"There's another one.", reaction:"comment"}]; LIGHTNING_SPEECH[2] = [{phrase:"No, not the lightning.", reaction:"lament"}, {phrase:"Look ontop of the clouds.", reaction:"tired"}]; LIGHTNING_SPEECH[3] = []; LIGHTNING_SPEECH[4] = []; LIGHTNING_SPEECH[5] = [{phrase:"Did you see it yet?", reaction:"question"}, {phrase:"Look for a red thing ontop of the clouds when the lightning strikes.", reaction:"statement"}, {phrase:"It only appears for a fraction of a second. Look carefully.", reaction:"lament"}]; LIGHTNING_SPEECH[6] = []; LIGHTNING_SPEECH[7] = []; LIGHTNING_SPEECH[8] = [{phrase:"Well?", reaction:"question"}, {phrase:"It's called a lightning sprite. It appears above powerful lightning strikes.", reaction:"explain"}, {phrase:"They can reach up to 40 miles tall, sometimes hitting the ionosphere.", reaction:"explain"}]; LIGHTNING_SPEECH[9] = []; LIGHTNING_SPEECH[10] = []; LIGHTNING_SPEECH[11] = [{phrase:"Here. Have this! It's a chaos emerald.", reaction:"comment"}, {phrase:"If you didn't catch it yet, try using Chaos Control to slow down time.", reaction:"interested"}]; LIGHTNING_SPEECH[12] = [{phrase:"You learn a lot of cool things when you're a secret agent.", reaction:"interested"}, {phrase:"If you wanna learn more about sprites, look for them on the network.", reaction:"nice"}]; glowClip = new Shape(); glowClip.visible = false; glowMat = new Matrix(); glowMat.createGradientBox(STAGE_WIDTH, STAGE_HEIGHT); glowClip.graphics.clear(); glowClip.graphics.beginGradientFill(GradientType.RADIAL, [39423, 0xFF], [0, 0.33], [200, 0xFF], glowMat); glowClip.graphics.drawRect(0, 0, STAGE_WIDTH, STAGE_HEIGHT); glowClip.graphics.endFill(); stage.addChild(glowClip); EM_S_THICKNESS = 1; EM_S_ALPHA = 1; EM_S_RADIUS = 0; EM_E_THICKNESS = 30; EM_E_ALPHA = 0; EM_E_RADIUS = 100; EM_LIFE = 30; emeraldState = 0; shineLife = 0; emerald = null; emeraldShine = null; CAN_BLINK = true; world = createWorld(STORM_WIDTH, STORM_HEIGHT); WORLD_CLIP = new Sprite(); CLOUD_CLIP = new MovieClip(); LIGHTNING_CLIP = new MovieClip(); SPRITE_CLIP = new MovieClip(); cloudID = 0; particlesPerCloud = 100; cloudsGenerated = false; slowmo = false; WORLD_CLIP.x = STORM_X; WORLD_CLIP.addChild(SPRITE_CLIP); WORLD_CLIP.addChild(LIGHTNING_CLIP); WORLD_CLIP.addChild(CLOUD_CLIP); rouge.addChildAt(WORLD_CLIP, rouge.getChildIndex(rouge.bg1)); addEventListener("enterFrame", worldFrame); world.cloudHeight = CLOUD_BOTTOM; world.maxCloudHeight = CLOUD_TOP; world.ionosphereHeight = IONOSPHERE; world.groundHeight = STORM_HEIGHT; world.cloudParticleRadius = 15; world.cloudRepulsionRadius = 4; world.cloudRepulsionForce = 4; world.useRepulsion = false; world.cloudGravity = -0.1; world.cloudFloatForce = 1; world.cloudLife = 20; world.cloudLifeVariation = 20; world.cloudSpeed = 13; world.maxVortexSpin = ((Math.PI * 0.5) * 0.1); world.maxVortexRadius = 2; world.vortexReverseRate = 0.25; world.maxChargeIncrease = 0.004; world.cloudRandomSpeed = 5; world.cloudLightningSpeed = 1; world.groundRandomSpeed = 1; world.groundLightningSpeed = 0.5; world.lightningMomentum = 0.1; world.groundLightningProbability = 1; world.groundLightningRadius = 30; world.maxSpriteSources = 12; world.spriteLife = 7; world.spriteAlpha = 0.5; world.spritePathRadius = 4; world.spriteFadeSpeed = 0.18; cloudID = (Math.random() * 0xFFFFFF); createCloud(world, cloudID, 50, 20, particlesPerCloud, 20); createCloud(world, (cloudID + 7502), 95, 20, particlesPerCloud, 20); createCloud(world, (cloudID + 25666), 180, 20, particlesPerCloud, 20); createCloud(world, (cloudID + 4564), 250, 20, particlesPerCloud, 20); createCloud(world, (cloudID + 825612), 330, 20, particlesPerCloud, 20); createCloud(world, (cloudID + 85612), 390, 20, particlesPerCloud, 20); gX = 0; while (gX < 150) { world.ground[gX] = {x:(gX * 3), y:world.groundHeight, charge:0}; gX++; }; balloon = null; curBalloon = null; balloons = []; balloonState = 0; numBalloons = 0; balloonTaken = false; expression = new Expression(stage); HEAD_ID = expression.addPart(rouge.head); MOUTH_ID = expression.addPart(rouge.mouth); EYE1_ID = expression.addPart(rouge.eye1, Expression.ANIMATED, true); EYE2_ID = expression.addPart(rouge.eye2, Expression.ANIMATED, true); PUPIL1_ID = expression.addPart(rouge.eye1.pupil); PUPIL2_ID = expression.addPart(rouge.eye2.pupil); tmp = []; expression.addStateAttributes(tmp, true, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 0, 2); expression.addPartToState(tmp, MOUTH_ID, "smile"); expression.addPartToState(tmp, EYE1_ID, "small2"); expression.addPartToState(tmp, EYE2_ID, "small2"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 0, 0); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 0, 0); expression.addState("normal", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, -5, 2); expression.addPartToState(tmp, MOUTH_ID, "happy"); expression.addPartToState(tmp, EYE1_ID, "medium"); expression.addPartToState(tmp, EYE2_ID, "medium"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 0, 0); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 0, 0); expression.addState("happy", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 8, 2); expression.addPartToState(tmp, MOUTH_ID, "teeth"); expression.addPartToState(tmp, EYE1_ID, "small"); expression.addPartToState(tmp, EYE2_ID, "small"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 0, 0); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 0, 0); expression.addState("interested", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 0, 2); expression.addPartToState(tmp, MOUTH_ID, "small"); expression.addPartToState(tmp, EYE1_ID, "small2"); expression.addPartToState(tmp, EYE2_ID, "medium"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 10, 0); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 6, 0); expression.addState("observe", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, -2, 2); expression.addPartToState(tmp, MOUTH_ID, "small"); expression.addPartToState(tmp, EYE1_ID, "medium"); expression.addPartToState(tmp, EYE2_ID, "medium"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, -2, -3); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, -2, -3); expression.addState("question", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, -2, 2); expression.addPartToState(tmp, MOUTH_ID, "happy"); expression.addPartToState(tmp, EYE1_ID, "small"); expression.addPartToState(tmp, EYE2_ID, "small"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 3, 0); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 3, 0); expression.addState("comment", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 5, 2); expression.addPartToState(tmp, MOUTH_ID, "small"); expression.addPartToState(tmp, EYE1_ID, "closed"); expression.addPartToState(tmp, EYE2_ID, "closed"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 3, 0); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 3, 0); expression.addState("lament", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 0, 2); expression.addPartToState(tmp, MOUTH_ID, "open"); expression.addPartToState(tmp, EYE1_ID, "medium"); expression.addPartToState(tmp, EYE2_ID, "small2"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, -2, -5); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, -2, -5); expression.addState("statement", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 4, 2); expression.addPartToState(tmp, MOUTH_ID, "open2"); expression.addPartToState(tmp, EYE1_ID, "medium"); expression.addPartToState(tmp, EYE2_ID, "medium"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 0, 0); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 0, 0); expression.addState("explain", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 4, 1); expression.addPartToState(tmp, MOUTH_ID, "small"); expression.addPartToState(tmp, EYE1_ID, "small"); expression.addPartToState(tmp, EYE2_ID, "small"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 0, 0); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 0, 0); expression.addState("tired", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 0, 1); expression.addPartToState(tmp, MOUTH_ID, "open"); expression.addPartToState(tmp, EYE1_ID, "open"); expression.addPartToState(tmp, EYE2_ID, "open"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, -3, 0); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, -1, 0); expression.addState("surprised", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 0, 1); expression.addPartToState(tmp, MOUTH_ID, "small"); expression.addPartToState(tmp, EYE1_ID, "small"); expression.addPartToState(tmp, EYE2_ID, "small2"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, -4, -2); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, -2, -2); expression.addState("mad", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 0, 1); expression.addPartToState(tmp, MOUTH_ID, "open"); expression.addPartToState(tmp, EYE1_ID, "medium"); expression.addPartToState(tmp, EYE2_ID, "medium"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, -4, -5); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, -2, -5); expression.addState("mad2", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 7, 1); expression.addPartToState(tmp, MOUTH_ID, "smile"); expression.addPartToState(tmp, EYE1_ID, "medium"); expression.addPartToState(tmp, EYE2_ID, "medium"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, -4, -2); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, -2, -2); expression.addState("nice", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 7, 1); expression.addPartToState(tmp, MOUTH_ID, "open2"); expression.addPartToState(tmp, EYE1_ID, "small"); expression.addPartToState(tmp, EYE2_ID, "small"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 6, 5); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 4, 5); expression.addState("lookright", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 7, 1); expression.addPartToState(tmp, MOUTH_ID, "teeth"); expression.addPartToState(tmp, EYE1_ID, "small2"); expression.addPartToState(tmp, EYE2_ID, "small2"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 5, -7); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, 5, -7); expression.addState("dreamy", tmp); tmp = []; expression.addStateAttributes(tmp, false, 0.1, 0.5); expression.addPartToState(tmp, HEAD_ID, null, 7, 1); expression.addPartToState(tmp, MOUTH_ID, "smile"); expression.addPartToState(tmp, EYE1_ID, "small"); expression.addPartToState(tmp, EYE2_ID, "small"); expression.addPartToState(tmp, PUPIL1_ID, null, 0, 0, 3, 3); expression.addPartToState(tmp, PUPIL2_ID, null, 0, 0, -3, 3); expression.addState("plot", tmp); expression.setState("normal"); expression.activate(); speech = new Speech(rouge.speech._txt); SPEECH_DURATION = 30; reacting = false; SPEECH_LIST = []; speechPatterns = []; currentPattern = 0; DEFAULT_TEXT_SPEED = 2; speech.textSpeed = DEFAULT_TEXT_SPEED; speech.interruptible = true; speech.addEventListener("speechCleared", endSpeech); speechPatterns[0] = [{phrase:"Hey there! Welcome to Carnival Night.", reaction:"happy"}, {phrase:"You want some of this... ?", reaction:"interested"}]; speechPatterns[1] = [{phrase:"What?! You want me to inflate MYSELF?", reaction:"surprised"}, {phrase:"No! Where'd you get that idea?", reaction:"mad"}]; speechPatterns[2] = [{phrase:"You think it's strange to see me working here?", reaction:"question"}, {phrase:"So do I. Not much work for a spy these days.", reaction:"tired"}, {phrase:"Gotta find a job somewhere. Treasure hunting doesn't pay.", reaction:"lament"}]; speechPatterns[3] = [{phrase:"Whadd'ya want?", reaction:"tired"}, {phrase:"Oh, \"Interactive Rouge balloon inflation\"", reaction:"lookright"}, {phrase:"You guys are hopeless.", reaction:"lament"}]; speechPatterns[4] = [{phrase:"The only treasure I know of is guarded by a certain echidna.", reaction:"dreamy"}, {phrase:"Can't get my hands on that one.", reaction:"plot"}]; speechPatterns[5] = [{phrase:"This is my work outfit. It has a lot of boxes.", reaction:"explain"}]; speechPatterns[6] = [{phrase:"Hey, there are a lot of places to explore, why not go somewhere else?", reaction:"question"}]; ROUGE_X = rouge.body.x; ROUGE_Y = rouge.body.y; ATTACH_LIST = []; ELASTIC_LIST = []; tmpRect = rouge.arm2.getRect(rouge); ARM2_X = rouge.arm2.x; ARM2_WIDTH = (tmpRect.right - ARM2_X); tmpRect = rouge.leg2.getRect(rouge); LEG2_X = rouge.leg2.x; LEG2_Y = rouge.leg2.y; LEG2_WIDTH = (tmpRect.right - rouge.leg2.x); LEG2_HEIGHT = (tmpRect.bottom - rouge.leg2.y); BODY_FLOOR_X = ROUGE_X; BODY_FLOOR_Y = tmpRect.bottom; BODY_FLOOR_DIST = Math.abs((BODY_FLOOR_Y - ROUGE_Y)); Physics.attach(ATTACH_LIST, rouge.breast1, rouge.body, ["rotation"]); Physics.attach(ATTACH_LIST, rouge.breast2, rouge.body, ["rotation"]); Physics.attach(ATTACH_LIST, rouge.top, rouge.body, ["rotation"]); Physics.attach(ATTACH_LIST, rouge.belt, rouge.body, ["rotation"]); Physics.attach(ATTACH_LIST, rouge.leg1, rouge.body); Physics.attach(ATTACH_LIST, rouge.leg2, rouge.body); Physics.attach(ATTACH_LIST, rouge.arm1, rouge.body); Physics.attach(ATTACH_LIST, rouge.arm2, rouge.body); Physics.attach(ATTACH_LIST, rouge.wing1, rouge.body); Physics.attach(ATTACH_LIST, rouge.wing2, rouge.body); Physics.attach(ATTACH_LIST, rouge.box2, rouge.body); Physics.attach(ATTACH_LIST, rouge.head, rouge.body); Physics.attach(ATTACH_LIST, rouge.mouth, rouge.head, ["rotation"]); Physics.attach(ATTACH_LIST, rouge.eye1, rouge.head, ["rotation"]); Physics.attach(ATTACH_LIST, rouge.eye2, rouge.head, ["rotation"]); Physics.setElastic(ELASTIC_LIST, rouge, rouge.wing1, ["scaleX"], [0.3], [1], [0.8], [1], [-2]); Physics.setElastic(ELASTIC_LIST, rouge, rouge.wing2, ["scaleX"], [0.3], [1], [0.8], [1], [2]); EAR1_ELASTIC = Physics.setElastic(ELASTIC_LIST, rouge, rouge.head.ear1, ["skewX", "skewY"], [0.3, 0.3], [0, 0], [0.8, 0.8], [2, 2], [1.5, 1.5]); EAR2_ELASTIC = Physics.setElastic(ELASTIC_LIST, rouge, rouge.head.ear2, ["skewX", "skewY"], [0.3, 0.3], [0, 0], [0.8, 0.8], [2, 2], [1.5, 1.5]); DEFAULT_BODY_SPEED = 0.05; DEFAULT_BODY_RANGE = (Math.PI * 0.02); DEFAULT_BODY_ANGLE = (-(Math.PI) * 0.5); BODY_SPEED = DEFAULT_BODY_SPEED; BODY_RANGE = DEFAULT_BODY_RANGE; BODY_ANGLE = DEFAULT_BODY_ANGLE; DEST_BODY_ANGLE = DEFAULT_BODY_ANGLE; bodyPhase = 0; cMenu = new ContextMenu(); cMenuItem = new ContextMenuItem("Rouge the bat"); cMenu.hideBuiltInItems(); cMenu.customItems = [cMenuItem]; cMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, selectMenuItem); contextMenu = cMenu; stage.addEventListener(MouseEvent.MOUSE_DOWN, setupAll); } public function createSpriteParticle(_arg1:Object, _arg2:Object, _arg3:Object):Object{ var _local4:Object; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local5 = _arg1.spriteLife; _local6 = _arg1.spriteLifeVariation; _local7 = _arg1.minSpriteSpeed; _local8 = _arg1.maxSpriteSpeed; _local9 = (_local8 - _local7); _local10 = _arg1.upSpriteAccel; _local11 = _arg1.downSpriteAccel; _local12 = _arg1.spriteAngleSize; _local13 = ((Math.PI - _local12) * 0.5); _local14 = _arg1.downSpritesRatio; _local16 = (_local13 + (Math.random() * _local12)); _local15 = (_local7 + (Math.random() * _local9)); if (_arg3){ _local18 = _arg3.x; _local19 = _arg3.y; _local20 = (Math.cos(_local16) * _local15); _local23 = _arg3.accelY; if (Math.random() < _local14){ _local17 = 0; _local21 = _arg3.vY; _local22 = ((_local23)>1) ? (1 / _local23) : _local23; } else { _local17 = _arg3.split; _local21 = (-(Math.sin(_local16)) * _local15); _local22 = _local10; }; } else { _local17 = (_arg1.childrenPerSprite + 1); _local18 = _arg2.x; _local19 = _arg2.y; _local20 = (Math.cos(_local16) * _local15); if (Math.random() < _local14){ _local21 = (Math.sin(_local16) * _local15); _local22 = _local11; } else { _local21 = (-(Math.sin(_local16)) * _local15); _local22 = _local10; }; }; _local4 = {x:_local18, y:_local19, vX:_local20, vY:_local21, accelY:_local22, life:int((_local5 + (((Math.random() * 2) - 1) * _local6))), split:int((Math.random() * _local17)), alpha:1, source:_arg2, path:[]}; return (_local4); } public function drawSprites(_arg1:Object, _arg2:Graphics){ var _local3:Array; var _local4:Array; var _local5:Array; var _local6:Object; var _local7:Object; var _local8:Object; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:Number; var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:Matrix; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local3 = _arg1.sprites; _local15 = _arg1.spritePathRadius; _local16 = (_local15 * 2); _local17 = [0xFF0000, 0xFF0000]; _local18 = [1, 0]; _local19 = [0, 0xFF]; _local20 = new Matrix(); _local20.createGradientBox(_local16, _local16); _local21 = _arg1.ionosphereHeight; _local22 = _arg1.maxCloudHeight; _local23 = (1 / (_local22 - _local21)); _local24 = _arg1.spriteAlpha; _local9 = _local3.length; _local12 = 0; while (_local12 < _local9) { _local6 = _local3[_local12]; _local4 = _local6.sprites; _local10 = _local4.length; _local18[0] = (_local6.alpha * _local24); _local13 = 0; while (_local13 < _local10) { _local7 = _local4[_local13]; _local5 = _local7.path; _local11 = _local5.length; _local14 = 0; while (_local14 < _local11) { _local8 = _local5[_local14]; _local25 = ((_local8.y - _local21) * _local23); _local25 = ((_local25)<0) ? 0 : ((_local25)>1) ? 1 : _local25; _local17[1] = (_local17[0] = Color.interpolateColor(0xFF0000, 0xFF, _local25)); _local20.tx = (_local8.x - _local15); _local20.ty = (_local8.y - _local15); _arg2.beginGradientFill("radial", _local17, _local18, _local19, _local20); _arg2.drawCircle(_local8.x, _local8.y, _local15); _arg2.endFill(); _local14++; }; _local13++; }; _local12++; }; } public function updateLightning(_arg1:Object){ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:Object; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; if (!_arg1.lightning){ return; }; _local7 = _arg1.lightning; _local28 = (Math.PI * 2); _local29 = _arg1.lightningFadeSpeed; _local30 = _arg1.cloudLightningSpeed; _local31 = _arg1.groundLightningSpeed; _local32 = (_local30 + _local31); _local33 = _arg1.cloudRandomSpeed; _local34 = _arg1.groundRandomSpeed; _local35 = _arg1.lightningMomentum; _local36 = (1 - _local35); _local10 = _local7.bolts; _local5 = _local10.length; _local6 = (_local5 - 1); if (_local7.isComplete){ _local7.alpha = (_local7.alpha - _local29); if (_local7.alpha <= 0){ _arg1.lightning = null; }; } else { _local8 = _local10[0]; _local16 = _local10[0][(_local8.length - 2)]; _local17 = _local8[(_local8.length - 1)]; _local22 = _local8.vX; _local23 = _local8.vY; _local15 = -1; _local3 = 1; while (_local3 < _local5) { _local9 = _local10[_local3]; _local18 = _local10[_local3][(_local9.length - 2)]; _local19 = _local9[(_local9.length - 1)]; _local11 = (_local16 - _local18); _local12 = (_local17 - _local19); _local13 = ((_local11 * _local11) + (_local12 * _local12)); if ((((_local15 < 0)) || ((_local13 < _local15)))){ _local15 = _local13; _local4 = _local3; }; _local3++; }; _local9 = _local10[_local4]; _local18 = _local10[_local4][(_local9.length - 2)]; _local19 = _local9[(_local9.length - 1)]; _local24 = _local9.vX; _local25 = _local9.vY; _local11 = (_local18 - _local16); _local12 = (_local19 - _local17); _local13 = ((_local11 * _local11) + (_local12 * _local12)); if (_local13 < ((((_local22 * _local22) + (_local23 * _local23)) + (_local24 * _local24)) + (_local25 * _local25))){ _local8[_local8.length] = _local18; _local8[_local8.length] = _local19; _local7.isComplete = true; createSprite(_arg1, _local8[0], _local8[1]); return; }; _local4 = (1 + (Math.random() * _local6)); _local9 = _local10[_local4]; _local18 = _local10[_local4][(_local9.length - 2)]; _local19 = _local9[(_local9.length - 1)]; _local11 = (_local18 - _local16); _local12 = (_local19 - _local17); _local13 = ((_local11 * _local11) + (_local12 * _local12)); _local14 = (1 / Math.sqrt(_local13)); _local11 = (_local11 * _local14); _local12 = (_local12 * _local14); _local26 = (Math.random() * _local28); _local20 = ((Math.random() * Math.cos(_local26)) * _local33); _local21 = ((Math.random() * Math.sin(_local26)) * _local33); _local8[_local8.length] = (_local16 + _local22); _local8[_local8.length] = (_local17 + _local23); _local8.vX = (((_local20 + (_local11 * _local30)) * _local36) + (_local22 * _local35)); _local8.vY = (((_local21 + (_local12 * _local30)) * _local36) + (_local23 * _local35)); _local26 = (Math.random() * _local28); _local20 = ((Math.random() * Math.cos(_local26)) * _local34); _local21 = ((Math.random() * Math.sin(_local26)) * _local34); _local9[_local9.length] = (_local18 + _local24); _local9[_local9.length] = (_local19 + _local25); _local9.vX = (((_local20 - (_local11 * _local31)) * _local36) + (_local24 * _local35)); _local9.vY = (((_local21 - (_local12 * _local31)) * _local36) + (_local25 * _local35)); }; } public function createCloud(_arg1:Object, _arg2:uint, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int){ var _local7:Array; var _local8:Object; var _local9:Array; var _local10:int; var _local11:int; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; _local7 = _arg1.cloudSeeds; _local9 = []; _arg1.stable = false; _local8 = (_local7[_local7.length] = {x:_arg3, y:_arg1.cloudHeight, radius:_arg4, numParticles:0, maxParticles:_arg5, vortices:_local9}); _local8.RANDOM_X = _arg2; _local8.RANDOM_Y = (((_arg2 << 1) + _arg2) + 1); _local8.RANDOM_Z = (((_arg2 << 2) + _arg2) + 2); _local8.RANDOM_W = (((_arg2 << 3) + _arg2) + 3); _local8.RANDOM_V = (((_arg2 << 4) + _arg2) + 4); _local16 = _arg1.cloudHeight; _local17 = _arg1.maxCloudHeight; _local18 = (_local17 - _local16); _local19 = (1 / _local18); _local20 = _arg1.maxVortexSpin; _local21 = (_arg4 * _arg1.maxVortexRadius); _local22 = _arg1.vortexReverseRate; _local11 = _arg6; _local23 = (1 / _local11); _local24 = 0; _local10 = 0; while (_local10 < _local11) { _local24 = (_local24 + _local23); _local13 = (_local16 + (_local18 * seedPseudoRandom(_local8))); _local12 = (_arg4 * ((seedPseudoRandom(_local8) * 2) - 1)); _local14 = ((_local21 * seedPseudoRandom(_local8)) * 0.5); _local12 = (_local12 + _arg3); _local15 = (seedPseudoRandom(_local8) * _local20); if (_local12 < _arg3){ _local15 = -(_local15); }; if (seedPseudoRandom(_local8) < _local22){ _local15 = -(_local15); }; _local9[_local9.length] = {x:_local12, y:_local13, radius:_local14, radius2:(_local14 * _local14), spin:_local15}; _local10++; }; } public function switchDoorDirection(_arg1:Event=null){ if (DOOR_DIRECTION){ DOOR_DIRECTION = -(DOOR_DIRECTION); } else { if (rouge.door.currentFrame == 1){ DOOR_DIRECTION = 1; } else { DOOR_DIRECTION = -1; }; }; } public function updateCloudSeeds(_arg1:Object){ var _local2:int; var _local3:int; var _local4:Array; var _local5:Array; var _local6:Object; var _local7:int; var _local8:int; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; _local4 = _arg1.clouds; _local5 = _arg1.cloudSeeds; _local7 = _arg1.cloudLife; _local8 = _arg1.cloudLifeVariation; _local3 = _local5.length; _local2 = 0; while (_local2 < _local3) { _local6 = _local5[_local2]; if (_local6.numParticles < _local6.maxParticles){ _local6.numParticles++; _local9 = (-(seedPseudoRandom(_local6)) * Math.PI); _local10 = seedPseudoRandom(_local6); _local11 = (-(seedPseudoRandom(_local6)) * Math.PI); _local12 = seedPseudoRandom(_local6); _local4[_local4.length] = {x:(_local6.x + (Math.cos(_local9) * _local10)), y:(_local6.y + (Math.sin(_local9) * _local10)), vX:((Math.cos(_local11) * _local12) * _arg1.cloudSpeed), vY:((Math.sin(_local11) * _local12) * _arg1.cloudSpeed), v:1, fX:0, fY:0, life:int((_local7 + (_local8 * ((seedPseudoRandom(_local6) * 2) - 1)))), lifeDecay:(1 / int((_local7 + (_local8 * ((seedPseudoRandom(_local6) * 2) - 1))))), charge:0, seed:_local6}; }; _local2++; }; } public function resize(_arg1:Event){ updateCover(); } public function pickEmerald(_arg1:Event){ emerald.x = (STAGE_WIDTH - 25); emerald.y = 25; stage.addChild(emerald); rouge.arm1.gotoAndPlay("take"); emeraldState = 3; emerald.removeEventListener(MouseEvent.MOUSE_DOWN, pickEmerald, false); emerald.addEventListener(MouseEvent.MOUSE_DOWN, activateEmerald, false, 0, true); } public function pickBalloon(_arg1:Event){ var _local2:int; var _local3:int; var _local4:int; if (slowmo){ return; }; curBalloon = (_arg1.currentTarget as MovieClip); curBalloon.removeEventListener(MouseEvent.MOUSE_DOWN, pickBalloon, false); stage.addEventListener(MouseEvent.MOUSE_DOWN, dropBalloon, true, 100, true); stage.addEventListener(MouseEvent.MOUSE_MOVE, moveBalloon, false, 0, true); curBalloon.scaleX = (curBalloon.scaleY = 1); curBalloon.x = stage.mouseX; curBalloon.y = stage.mouseY; _local4 = balloons.length; _local2 = 0; while (_local2 < _local4) { if (balloons[_local2] == curBalloon){ break; }; _local2++; }; _local3 = (_local2 + 1); while (_local3 < _local4) { if (balloons[_local3].parent != rouge){ balloons[_local3].y = (balloons[_local3].y - 50); }; _local3++; }; } public function createSprite(_arg1:Object, _arg2:Number, _arg3:Number){ var _local4:Array; var _local5:int; var _local6:int; var _local7:int; var _local8:Number; var _local9:Number; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:Object; _local4 = []; _local5 = _arg1.minSpriteSources; _local6 = _arg1.maxSpriteSources; _local7 = (_local5 + (Math.random() * (_local6 - _local5))); _local8 = _arg1.spriteSourceRadius; _local9 = _arg1.ionosphereHeight; _local11 = _arg1.minSpritesPerSource; _local12 = _arg1.maxSpritesPerSource; _local13 = (_local11 + (Math.random() * (_local12 - _local11))); _local10 = 0; while (_local10 < _local7) { _local4[_local4.length] = {x:(_arg2 + (((Math.random() * 2) - 1) * _local8)), y:_local9, numSprites:_local13}; _local10++; }; _local14 = {x:_arg2, y:_arg3, sources:_local4, sprites:[], count:0, isComplete:false, alpha:1}; _arg1.sprites[_arg1.sprites.length] = _local14; } public function clickThings(_arg1:MouseEvent){ var _local2:int; var _local3:int; _local2 = stage.mouseX; _local3 = stage.mouseY; if (slowmo){ return; }; if (rouge.head.ear1.hitTestPoint(_local2, _local3, true)){ if (Math.abs(EAR1_ELASTIC.values[0][1]) < 0.01){ EAR1_ELASTIC.values[0][1] = 0.05; }; if ((((Math.random() < 0.1)) && (((!(speech.phrase)) || (!(speech.phrase.length)))))){ sayAndReact("Hey! Stop that!", "mad2"); }; } else { if (rouge.head.ear2.hitTestPoint(_local2, _local3, true)){ EAR2_ELASTIC.values[0][1] = -0.05; if (Math.abs(EAR2_ELASTIC.values[0][1]) < 0.01){ EAR2_ELASTIC.values[0][1] = -0.05; }; if ((((Math.random() < 0.1)) && (((!(speech.phrase)) || (!(speech.phrase.length)))))){ sayAndReact("Hey! Stop that!", "mad2"); }; } else { if (rouge.head.hitTestPoint(_local2, _local3, true)){ if (((((balloonTaken) && (((!(speech.phrase)) || (!(speech.phrase.length)))))) && ((currentPattern > 1)))){ DEST_BODY_ANGLE = DEFAULT_BODY_ANGLE; loadPattern(currentPattern++); }; } else { if (rouge.tank.hitTestPoint(_local2, _local3, true)){ if (((balloonTaken) && ((currentPattern == 1)))){ DEST_BODY_ANGLE = DEFAULT_BODY_ANGLE; loadPattern(currentPattern++); } else { if (((((!(((balloon) || (balloonState)))) && (!(emeraldState)))) && (((!(speech.phrase)) || (!(speech.phrase.length)))))){ createBalloon(); }; }; } else { if (((((rouge.top.hitTestPoint(_local2, _local3, true)) || (rouge.breast1.hitTestPoint(_local2, _local3, true)))) || (rouge.breast2.hitTestPoint(_local2, _local3, true)))){ if (!((speech.phrase) && (speech.phrase.length))){ sayAndReact("Hey! No touching!", "mad"); }; } else { if (rouge.body.hitTestPoint(_local2, _local3, true)){ if (((!(slowmo)) && (!(((speech.phrase) && (speech.phrase.length)))))){ stackSpeech("What?", "tired"); stackSpeech("You like my outfit?", "comment"); }; } else { if (((rouge.wing1.hitTestPoint(_local2, _local3, true)) || (rouge.wing2.hitTestPoint(_local2, _local3, true)))){ if (!((speech.phrase) && (speech.phrase.length))){ stackSpeech("My wings are very powerful.", "interested"); }; }; }; }; }; }; }; }; } public function sayAndReact(_arg1:String, _arg2:String){ expression.endReact(); speech.say(_arg1, (_arg1.length + SPEECH_DURATION)); expression.react(_arg2, -1); reacting = true; } public function updateSprite(_arg1:Object, _arg2:Object){ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:Object; var _local12:Object; var _local13:Object; var _local14:Object; var _local15:Number; var _local16:Number; _local8 = _arg2.sources; _local9 = _arg2.sprites; _local5 = _local8.length; _local6 = _local9.length; _local15 = _arg1.spriteConvergeRate; _local16 = _arg1.spriteDivergeRate; _local3 = 0; while (_local3 < _local5) { _local11 = _local8[_local3]; if (_local11.numSprites){ _local11.numSprites--; _local12 = createSpriteParticle(_arg1, _local11, null); _local9[_local9.length] = _local12; _arg2.count++; }; _local3++; }; if (_arg2.count){ _local3 = 0; while (_local3 < _local6) { _local12 = _local9[_local3]; _local10 = _local12.path; if (_local12.life > 0){ _local12.life--; _local10[_local10.length] = {x:_local12.x, y:_local12.y}; _local12.x = (_local12.x + _local12.vX); _local12.y = (_local12.y + _local12.vY); _local12.vY = (_local12.vY * _local12.accelY); if (_local12.vY > 0){ _local12.x = (_local12.x + ((_arg2.x - _local12.x) * _local15)); } else { _local12.x = (_local12.x - ((_arg2.x - _local12.source.x) * _local16)); }; if (_local12.life == 0){ _local7 = _local12.split; _local4 = 0; while (_local4 < _local7) { _local13 = createSpriteParticle(_arg1, _local11, _local12); _local9[_local9.length] = _local13; _arg2.count++; _local4++; }; _arg2.count--; if (!_arg2.count){ _arg2.isComplete = true; }; }; }; _local3++; }; } else { if (_arg2.alpha > 0){ _arg2.alpha = (_arg2.alpha - _arg1.spriteFadeSpeed); if (_arg2.alpha <= 0){ _arg2.alpha = 0; }; }; }; } public function updateEmerald(){ var _local1:Graphics; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; switch (emeraldState){ case 0: break; case 1: if (rouge.arm1.currentLabel == "endgive"){ emeraldState = 2; rouge.addChild(emerald); emerald.x = (rouge.arm1.x + 30); emerald.y = (rouge.arm1.y - 10); emerald.addEventListener(MouseEvent.MOUSE_DOWN, pickEmerald, false, 0, true); emeraldShine = new MovieClip(); emeraldShine.x = emerald.x; emeraldShine.y = emerald.y; rouge.addChildAt(emeraldShine, rouge.getChildIndex(emerald)); }; break; case 2: break; case 3: if (rouge.arm1.currentLabel == "endtake"){ rouge.arm1.gotoAndStop(1); emeraldState = 0; }; break; }; if (emeraldShine){ _local1 = emeraldShine.graphics; _local2 = (shineLife / EM_LIFE); _local3 = (EM_S_THICKNESS + (_local2 * (EM_E_THICKNESS - EM_S_THICKNESS))); _local4 = (EM_S_RADIUS + (_local2 * (EM_E_RADIUS - EM_S_RADIUS))); _local5 = (EM_S_ALPHA + (_local2 * (EM_E_ALPHA - EM_S_ALPHA))); _local1.clear(); _local1.lineStyle(_local3, 0xFFFFFF, _local5); _local1.drawCircle(0, 0, _local4); shineLife++; if (shineLife > EM_LIFE){ emeraldShine.parent.removeChild(emeraldShine); emeraldShine = null; }; }; } public function moveBalloon(_arg1:Event){ curBalloon.x = rouge.mouseX; curBalloon.y = rouge.mouseY; } public function updateBalloon(){ var _local1:int; var _local2:int; var _local3:int; switch (balloonState){ case 0: break; case 1: rouge.arm1.gotoAndPlay("inflate"); if (balloonTaken){ sayAndReact("Have another one.", "happy"); } else { sayAndReact("Alright!", "happy"); }; balloonState = 2; DEST_BODY_ANGLE = DEFAULT_BODY_ANGLE; break; case 2: if (rouge.arm1.currentLabel == "endinflate"){ rouge.addChildAt(balloon, rouge.getChildIndex(rouge.arm1)); balloon.x = (rouge.tube.marker.x + rouge.tube.x); balloon.y = (rouge.tube.marker.y + rouge.tube.y); balloon.gotoAndPlay(1); balloonState = 3; }; break; case 3: if (balloon.currentFrame == balloon.totalFrames){ balloon.stop(); balloon.buttonMode = true; balloon.addEventListener(MouseEvent.MOUSE_DOWN, takeBalloon, false, 0, true); balloonState = 4; }; break; case 4: break; case 5: if (rouge.arm1.currentLabel == "endrelease"){ rouge.arm1.gotoAndStop(1); balloonState = 0; balloonTaken = true; DEST_BODY_ANGLE = NaN; }; break; }; if (!slowmo){ _local2 = balloons.length; _local1 = 0; while (_local1 < _local2) { if (balloons[_local1].parent == rouge){ balloons[_local1].y = (balloons[_local1].y - 6); if (balloons[_local1].y < -(balloons[_local1].height)){ balloons[_local1].parent.removeChild(balloons[_local1]); balloons.splice(_local1, 1); _local1--; _local2--; }; }; _local1++; }; }; } public function createLightning(_arg1:Object, _arg2:Object, _arg3:Object){ var _local4:Array; var _local5:Array; var _local6:int; var _local7:int; var _local8:Array; var _local9:Number; var _local10:Object; var _local11:Number; var _local12:Number; var _local13:Number; _local4 = _arg1.ground; _local5 = []; _local7 = _local4.length; _local8 = [_arg2.x, _arg2.y]; _local5[_local5.length] = _local8; _local8.vX = (_local8.vY = 0); _local8 = [_arg3.x, _arg3.y]; _local5[_local5.length] = _local8; _local8.vX = (_local8.vY = 0); _local9 = _arg1.groundLightningProbability; _local11 = (GAUSS_RADIUS / _arg1.groundLightningRadius); _local6 = 0; while (_local6 < _local7) { _local10 = _local4[_local6]; if (_local10 == _arg3){ } else { _local13 = ((_local10.x - _arg3.x) * _local11); _local12 = (INV_SQRT_2PI * Math.exp(((_local13 * _local13) * -0.5))); if (Math.random() < (_local12 * _local9)){ _local8 = [_local10.x, _local10.y]; _local5[_local5.length] = _local8; _local8.vX = (_local8.vY = 0); }; }; _local6++; }; _arg1.lightning = {bolts:_local5, isComplete:false, alpha:1}; clearCharge(_arg1, _arg2); } public function openDoor(_arg1:Event){ if (!world.stable){ return; }; if (((balloon) || (balloonState))){ return; }; rouge.door.marker.removeEventListener(MouseEvent.MOUSE_DOWN, openDoor, false); switchDoorDirection(); stackSpeech("Huh... It looks like it's storming over the city", "observe"); DEST_BODY_ANGLE = (DEFAULT_BODY_ANGLE - (Math.PI * 0.02)); LIGHTNING_PHRASE_ID = 0; } public function seedPseudoRandom(_arg1:Object):Number{ var _local2:uint; var _local3:Number; _local2 = (_arg1.RANDOM_X ^ (_arg1.RANDOM_X >> 7)); _arg1.RANDOM_X = _arg1.RANDOM_Y; _arg1.RANDOM_Y = _arg1.RANDOM_Z; _arg1.RANDOM_Z = _arg1.RANDOM_W; _arg1.RANDOM_W = _arg1.RANDOM_V; _arg1.RANDOM_V = ((_arg1.RANDOM_V ^ (_arg1.RANDOM_V << 6)) ^ (_local2 ^ (_local2 << 13))); _local3 = (uint((((_arg1.RANDOM_Y + _arg1.RANDOM_Y) + 1) * _arg1.RANDOM_V)) / Number(uint.MAX_VALUE)); return (_local3); } public function updateCharges(_arg1:Object){ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:Array; var _local7:Array; var _local8:Number; var _local9:Number; var _local10:Object; var _local11:Object; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; if (((_arg1.lightning) && (!(_arg1.lightning.isComplete)))){ return; }; _local6 = _arg1.clouds; _local7 = _arg1.ground; _local8 = _arg1.lightningThreshold; _local9 = _arg1.maxChargeIncrease; _local4 = _local6.length; _local5 = _local7.length; _local3 = 0; while (_local3 < _local5) { _local7[_local3].charge = (_local7[_local3].charge + (Math.random() * _local9)); _local3++; }; _local2 = 0; while (_local2 < _local4) { _local10 = _local6[_local2]; _local6[_local2].charge = (_local10.charge - (Math.random() * _local9)); _local12 = _local10.x; _local13 = _local10.y; _local14 = _local10.charge; _local3 = 0; while (_local3 < _local5) { (Math.random() * _local7.length); _local11 = _local7[_local3]; _local15 = (_local12 - _local11.x); _local16 = (_local13 - _local11.y); _local17 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local11.charge - _local14); if ((_local19 / _local17) >= _local8){ createLightning(_arg1, _local10, _local11); return; }; _local3++; }; _local2++; }; } public function drawClouds(_arg1:Object, _arg2:Graphics){ var _local3:Array; var _local4:Object; var _local5:Number; var _local6:Number; var _local7:int; var _local8:int; var _local9:Matrix; var _local10:String; var _local11:Array; var _local12:Array; var _local13:Array; var _local14:Number; var _local15:Number; _local3 = _arg1.clouds; _local5 = _arg1.cloudParticleRadius; _local6 = (_local5 * 2); _local7 = _local3.length; _local9 = new Matrix(); _local10 = "radial"; _local11 = [8939110, 8934741]; _local12 = [0.5, 0]; _local13 = [0, 0xFF]; _local9.createGradientBox(_local6, _local6, 0, 0, 0); _local14 = (2 / (CLOUD_TOP - CLOUD_BOTTOM)); _local8 = 0; while (_local8 < _local7) { _local4 = _local3[_local8]; _local9.tx = _local4.x; _local9.ty = _local4.y; _local15 = ((_local4.y - CLOUD_BOTTOM) * _local14); if (_local15 < 0){ _local15 = 0; }; if (_local15 > 1){ _local15 = 1; }; _local11[0] = Color.interpolateColor(13399927, 3351091, _local15); _local11[1] = Color.interpolateColor(12281446, 3153968, _local15); _arg2.beginGradientFill(_local10, _local11, _local12, _local13, _local9); _arg2.drawCircle(_local4.x, _local4.y, _local5); _arg2.endFill(); _local8++; }; } public function updateSprites(_arg1:Object){ var _local2:int; var _local3:int; var _local4:Array; var _local5:Object; _local4 = _arg1.sprites; _local3 = _local4.length; _local2 = 0; while (_local2 < _local3) { _local5 = _arg1.sprites[_local2]; updateSprite(_arg1, _local5); if (((_local5.isComplete) && ((_local5.alpha <= 0)))){ _arg1.sprites.splice(_local2, 1); _local3--; _local2--; }; _local2++; }; } public function updateClouds(_arg1:Object){ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:Array; var _local8:Array; var _local9:Array; var _local10:Object; var _local11:Object; var _local12:Object; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Object; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Object; var _local34:int; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; if (_arg1.stable){ return; }; _local7 = _arg1.clouds; _local8 = _arg1.cloudSeeds; _local4 = _local7.length; _local5 = (_local4 - 1); _local2 = 0; while (_local2 < _local4) { _local12 = _local7[_local2]; _local7[_local2].fX = (_local12.fY = 0); _local2++; }; _local26 = _arg1.cloudHeight; _local27 = _arg1.cloudGravity; _local28 = _arg1.cloudFloatForce; _local2 = 0; while (_local2 < _local4) { _local12 = _local7[_local2]; _local10 = _local12.seed; _local9 = _local10.vortices; if (!_local9){ } else { _local6 = _local9.length; _local13 = _local12.x; _local14 = _local12.y; _local16 = 0; _local15 = _local16; _local3 = 0; while (_local3 < _local6) { _local11 = _local9[_local3]; _local20 = (_local13 - _local11.x); _local21 = (_local14 - _local11.y); _local38 = ((_local20 * _local20) + (_local21 * _local21)); if (_local38 > _local11.radius2){ } else { _local19 = _local11.spin; _local38 = (1 / Math.sqrt(_local38)); _local36 = Math.cos(_local11.spin); _local37 = Math.sin(_local19); _local15 = (_local15 + (((_local20 * _local36) - (_local21 * _local37)) - _local20)); _local16 = (_local16 + (((_local20 * _local37) + (_local21 * _local36)) - _local21)); }; _local3++; }; if (_local14 < _local26){ _local16 = (_local16 + _local27); } else { _local16 = (_local16 - _local28); }; _local12.fX = (_local12.fX + _local15); _local12.fY = (_local12.fY + _local16); _local12.v = (_local12.v - _local12.lifeDecay); }; _local2++; }; _local29 = _arg1.cloudRepulsionRadius; _local29 = (_arg1.cloudRepulsionRadius * _local29); _local30 = (GAUSS_RADIUS / _arg1.cloudRepulsionRadius); _local31 = (_arg1.cloudRepulsionForce * 0.5); if (_arg1.useRepulsion){ _local2 = 0; while (_local2 < _local5) { _local12 = _local7[_local2]; if (!_local12.v){ } else { _local13 = _local12.x; _local14 = _local12.y; _local3 = (_local2 + 1); while (_local3 < _local4) { _local33 = _local7[_local3]; if (!_local33.v){ } else { _local20 = (_local13 - _local33.x); _local21 = (_local14 - _local33.y); _local22 = ((_local20 * _local20) + (_local21 * _local21)); if (_local22 > _local29){ } else { _local23 = Math.sqrt(_local22); _local24 = (1 / _local23); _local39 = (_local23 * _local30); _local32 = ((INV_SQRT_2PI * Math.exp(((_local39 * _local39) * -0.5))) * _local31); _local15 = ((_local32 * _local20) * _local24); _local16 = ((_local32 * _local21) * _local24); _local12.fX = (_local12.fX + _local15); _local12.fY = (_local12.fY + _local16); _local33.fX = (_local33.fX - _local15); _local33.fY = (_local33.fY - _local16); }; }; _local3++; }; }; _local2++; }; }; _local34 = 0; _local35 = _arg1.cloudFriction; _local2 = 0; while (_local2 < _local4) { _local12 = _local7[_local2]; if (((!(_local12.v)) || ((_local12.v <= 0)))){ _local10 = _local12.seed; if (_local10.numParticles < _local10.maxParticles){ _local34++; }; } else { _local12.vX = (_local12.vX + _local12.fX); _local12.vY = (_local12.vY + _local12.fY); _local12.x = (_local12.x + (_local12.vX * _local12.v)); _local12.y = (_local12.y + (_local12.vY * _local12.v)); _local12.vX = (_local12.vX * _local35); _local12.vY = (_local12.vY * _local35); _local34++; }; _local2++; }; if (!_local34){ _local2 = 0; while (_local2 < _local4) { _local12 = _local7[_local2]; delete _local12.v; delete _local12.vX; delete _local12.vY; delete _local12.fX; delete _local12.fY; _local2++; }; _local4 = _local8.length; _local2 = 0; while (_local2 < _local4) { _local10 = _local8[_local2]; _local10.vortices.length = 0; delete _local10.vortices; _local2++; }; _arg1.stable = true; }; } public function worldFrame(_arg1:Event=null){ var _local2:int; var _local3:int; var _local4:Graphics; var _local5:Object; var _local6:int; var _local7:int; var _local8:Array; if (!world.stable){ _local2 = getTimer(); _local3 = ((0.8 * 1000) / stage.frameRate); while (!(world.stable)) { updateCloudSeeds(world); updateClouds(world); break; }; _local4 = CLOUD_CLIP.graphics; _local4.clear(); drawClouds(world, _local4); if (world.stable){ cloudsGenerated = true; CLOUD_CLIP.cacheAsBitmap = true; }; } else { if (!world.lightning){ updateCharges(world); if (world.lightning){ handleLightning(); }; } else { _local5 = world.lightning; while (((!(_local5.isComplete)) && (!(slowmo)))) { updateLightning(world); }; updateLightning(world); }; if (world.sprites.length){ _local8 = world.sprites; _local7 = _local8.length; _local6 = 0; while (_local6 < _local7) { _local5 = _local8[_local6]; while (((!(_local5.isComplete)) && (!(slowmo)))) { updateSprite(world, _local5); }; updateSprite(world, _local5); if (!slowmo){ updateSprite(world, _local5); updateSprite(world, _local5); }; if (((_local5.isComplete) && ((_local5.alpha <= 0)))){ world.sprites.splice(_local6, 1); _local7--; _local6--; }; _local6++; }; }; LIGHTNING_CLIP.graphics.clear(); drawLightning(world, LIGHTNING_CLIP.graphics); SPRITE_CLIP.graphics.clear(); drawSprites(world, SPRITE_CLIP.graphics); }; } public function rotate(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:Number=0):Object{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; _local6 = (_arg2 - _arg4); _local7 = (_arg3 - _arg5); _local8 = Math.cos(_arg1); _local9 = Math.sin(_arg1); return ({x:((_arg4 + (_local6 * _local8)) - (_local7 * _local9)), y:((_arg5 + (_local6 * _local9)) + (_local7 * _local8))}); } public function clearCharge(_arg1:Object, _arg2:Object){ var _local3:Array; var _local4:Array; var _local5:int; var _local6:int; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local3 = _arg1.clouds; _local4 = _arg1.ground; _local5 = _local3.length; _local11 = _arg2.x; _local12 = _arg2.y; _local13 = (GAUSS_RADIUS / _arg1.clearChargeRadius); _local14 = INV_SQRT_2PI; _local15 = 0; _local6 = 0; while (_local6 < _local5) { _local16 = _local3[_local6].charge; _local15 = ((_local16)<_local15) ? _local16 : _local15; _local6++; }; _local15 = (-(_arg1.clearChargeMultiplier) * _local15); _local6 = 0; while (_local6 < _local5) { _local7 = (_local3[_local6].x - _local11); _local8 = (_local3[_local6].y - _local12); _local17 = (Math.sqrt(((_local7 * _local7) + (_local8 * _local8))) * _local13); _local18 = (INV_SQRT_2PI * Math.exp(((_local17 * _local17) * -0.5))); _local3[_local6].charge = (_local3[_local6].charge + ((_local15 * _local18) * _local14)); _local6++; }; _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local4[_local6].charge = 0; _local6++; }; } public function handleLightning(){ var _local1:Array; var _local2:int; var _local3:int; var _local4:Object; if ((((((((((rouge.door.currentFrame == rouge.door.totalFrames)) && (!(slowmo)))) && ((LIGHTNING_PHRASE_ID > -1)))) && ((LIGHTNING_PHRASE_ID < LIGHTNING_SPEECH.length)))) && (((!(speech.phrase)) || (!(speech.phrase.length)))))){ if (LIGHTNING_PHRASE_ID == 11){ unlockEmerald(); }; _local1 = LIGHTNING_SPEECH[LIGHTNING_PHRASE_ID++]; _local2 = _local1.length; if (_local2){ DEST_BODY_ANGLE = DEFAULT_BODY_ANGLE; }; _local3 = 0; while (_local3 < _local2) { _local4 = _local1[_local3]; stackSpeech(_local4.phrase, _local4.reaction); _local3++; }; }; } public function stackSpeech(_arg1:String, _arg2:String){ if (((speech.phrase) && (speech.phrase.length))){ SPEECH_LIST[SPEECH_LIST.length] = {phrase:_arg1, reaction:_arg2}; } else { sayAndReact(_arg1, _arg2); }; } public function endSpeech(_arg1:Event){ var _local2:Object; if (SPEECH_LIST.length){ _local2 = SPEECH_LIST.shift(); sayAndReact(_local2.phrase, _local2.reaction); } else { if (reacting){ expression.endReact(); reacting = false; if (((!(balloonState)) && (!(emeraldState)))){ DEST_BODY_ANGLE = NaN; }; }; }; } public function takeBalloon(_arg1:Event){ if (speech.speaking){ return; }; if (slowmo){ return; }; stage.addChild(balloon); balloon.x = (STAGE_WIDTH - 35); balloon.y = ((50 + 40) + (balloons.length * 50)); balloon.height = 50; balloon.scaleX = balloon.scaleY; sayAndReact("Here you go!", "nice"); balloonState = 5; rouge.arm1.gotoAndPlay("release"); balloon.removeEventListener(MouseEvent.MOUSE_DOWN, takeBalloon, false); balloon.addEventListener(MouseEvent.MOUSE_DOWN, pickBalloon, false, 0, true); balloons[balloons.length] = balloon; balloon = null; } public function activateEmerald(_arg1:Event){ slowmo = !(slowmo); glowClip.visible = slowmo; if (slowmo){ speech.textSpeed = 0; CAN_BLINK = expression.curState.canBlink; expression.curState.canBlink = false; } else { speech.textSpeed = DEFAULT_TEXT_SPEED; expression.curState.canBlink = CAN_BLINK; }; } public function createBalloon(){ var _local1:uint; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:ColorTransform; balloonState = 1; balloon = new Balloon(); balloon.gotoAndStop(1); _local1 = BALLOON_COLORS[int((Math.random() * BALLOON_COLORS.length))]; _local2 = (((_local1 >> 16) & 0xFF) / 0xFF); _local3 = (((_local1 >> 8) & 0xFF) / 0xFF); _local4 = ((_local1 & 0xFF) / 0xFF); _local5 = new ColorTransform(_local2, _local3, _local4); balloon.transform.colorTransform = _local5; } public function drawLightning(_arg1:Object, _arg2:Graphics){ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:Object; var _local9:Array; var _local10:Array; if (!_arg1.lightning){ return; }; _local8 = _arg1.lightning; _local9 = _local8.bolts; _local6 = _local9.length; _arg2.lineStyle(1, 10092543, _local8.alpha); _local4 = 0; while (_local4 < _local6) { _local10 = _local9[_local4]; _local7 = _local10.length; _arg2.moveTo(_local10[0], _local10[1]); _local5 = 2; while (_local5 < _local7) { var _temp1 = _local5; _local5 = (_local5 + 1); var _temp2 = _local5; _local5 = (_local5 + 1); _arg2.lineTo(_local10[_temp1], _local10[_temp2]); }; _local4++; }; } public function setupAll(_arg1:Event){ INHIBITOR = false; DEST_BODY_ANGLE = NaN; stage.removeEventListener(MouseEvent.MOUSE_DOWN, setupAll); loadPattern(0); currentPattern = 1; rouge.door.marker.addEventListener(MouseEvent.MOUSE_DOWN, openDoor, false, 0, true); rouge.tank.buttonMode = true; rouge.head.buttonMode = true; rouge.addEventListener(MouseEvent.MOUSE_DOWN, clickThings); } public function clearClouds(_arg1:Object){ delete _arg1.clouds; delete _arg1.cloudSeeds; _arg1.clouds = []; _arg1.cloudSeeds = []; } public function updateAttached(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Matrix; _local1 = ((-(Math.PI) * 0.5) + (Math.sin(bodyPhase) * BODY_RANGE)); if (!isNaN(DEST_BODY_ANGLE)){ _local1 = DEST_BODY_ANGLE; }; _local2 = ((_local1 - BODY_ANGLE) * 0.2); _local3 = 0.002; if (_local2 < -(_local3)){ _local2 = -(_local3); }; if (_local2 > _local3){ _local2 = _local3; }; if (!slowmo){ BODY_ANGLE = (BODY_ANGLE + _local2); }; bodyPhase = (bodyPhase + BODY_SPEED); rouge.body.x = (BODY_FLOOR_X + (Math.cos(BODY_ANGLE) * BODY_FLOOR_DIST)); rouge.body.y = (BODY_FLOOR_Y + (Math.sin(BODY_ANGLE) * BODY_FLOOR_DIST)); Physics.updateAttached(ATTACH_LIST); if (!slowmo){ Physics.updateElastic(ELASTIC_LIST); }; _local4 = rouge.leg2.transform.matrix; _local4.b = ((LEG2_Y - rouge.leg2.y) / LEG2_WIDTH); _local4.c = ((LEG2_X - rouge.leg2.x) / LEG2_HEIGHT); rouge.leg2.transform.matrix = _local4; _local4 = rouge.leg1.transform.matrix; _local4.b = ((LEG2_Y - rouge.leg2.y) / LEG2_WIDTH); _local4.c = ((0.8 * (LEG2_X - rouge.leg2.x)) / LEG2_HEIGHT); rouge.leg1.transform.matrix = _local4; rouge.arm2.scaleX = (1 - ((rouge.arm2.x - ARM2_X) / ARM2_WIDTH)); } public function loadPattern(_arg1:int){ var _local2:Array; var _local3:int; var _local4:int; var _local5:Object; if ((((_arg1 >= 0)) && ((_arg1 < speechPatterns.length)))){ _local2 = speechPatterns[_arg1]; _local3 = _local2.length; _local4 = 0; while (_local4 < _local3) { _local5 = _local2[_local4]; stackSpeech(_local5.phrase, _local5.reaction); _local4++; }; }; } } }//package rouge_flaSection 14//mouth_25 (rouge_fla.mouth_25) package rouge_fla { import flash.display.*; public dynamic class mouth_25 extends MovieClip { public function mouth_25(){ addFrameScript(1, frame2, 3, frame4, 5, frame6, 7, frame8, 9, frame10, 11, frame12); } function frame10(){ this.gotoAndPlay(this.currentLabel); } function frame12(){ this.gotoAndPlay(this.currentLabel); } function frame6(){ this.gotoAndPlay(this.currentLabel); } function frame8(){ this.gotoAndPlay(this.currentLabel); } function frame4(){ this.gotoAndPlay(this.currentLabel); } function frame2(){ this.gotoAndPlay(this.currentLabel); } } }//package rouge_flaSection 15//rouge_1 (rouge_fla.rouge_1) package rouge_fla { import flash.display.*; public dynamic class rouge_1 extends MovieClip { public var leg1:MovieClip; public var leg2:MovieClip; public var belt:MovieClip; public var eye1:MovieClip; public var eye2:MovieClip; public var arm2:MovieClip; public var top:MovieClip; public var arm1:MovieClip; public var breast1:MovieClip; public var wing2:MovieClip; public var tube:MovieClip; public var breast2:MovieClip; public var wing1:MovieClip; public var body:MovieClip; public var bg2:MovieClip; public var door:MovieClip; public var bg1:MovieClip; public var box2:MovieClip; public var mouth:MovieClip; public var head:MovieClip; public var speech:MovieClip; public var tank:MovieClip; } }//package rouge_flaSection 16//speech_28 (rouge_fla.speech_28) package rouge_fla { import flash.display.*; import flash.text.*; public dynamic class speech_28 extends MovieClip { public var _txt:TextField; } }//package rouge_flaSection 17//tube_26 (rouge_fla.tube_26) package rouge_fla { import flash.display.*; public dynamic class tube_26 extends MovieClip { public var marker:MovieClip; } }//package rouge_flaSection 18//Balloon (Balloon) package { import flash.display.*; public dynamic class Balloon extends MovieClip { } }//packageSection 19//Emerald (Emerald) package { import flash.display.*; public dynamic class Emerald extends MovieClip { } }//package
Library Items
Symbol 1 Graphic | Used by:2 | |
Symbol 2 MovieClip {Emerald} | Uses:1 | |
Symbol 3 ShapeTweening | Used by:6 | |
Symbol 4 ShapeTweening | Used by:6 | |
Symbol 5 Graphic | Used by:6 | |
Symbol 6 MovieClip {Balloon} | Uses:3 4 5 | |
Symbol 7 Graphic | Used by:10 | |
Symbol 8 Graphic | Used by:9 | |
Symbol 9 MovieClip | Uses:8 | Used by:10 |
Symbol 10 MovieClip {rouge_fla.background2_2} | Uses:7 9 | Used by:145 |
Symbol 11 Graphic | Used by:12 | |
Symbol 12 MovieClip | Uses:11 | Used by:145 |
Symbol 13 ShapeTweening | Used by:22 | |
Symbol 14 Graphic | Used by:22 | |
Symbol 15 Graphic | Used by:16 | |
Symbol 16 MovieClip | Uses:15 | Used by:22 86 |
Symbol 17 Graphic | Used by:22 | |
Symbol 18 Graphic | Used by:22 | |
Symbol 19 ShapeTweening | Used by:22 | |
Symbol 20 ShapeTweening | Used by:22 | |
Symbol 21 Graphic | Used by:22 | |
Symbol 22 MovieClip {rouge_fla.door_5} | Uses:13 14 16 17 18 19 20 21 | Used by:145 |
Symbol 23 Graphic | Used by:24 | |
Symbol 24 MovieClip | Uses:23 | Used by:28 |
Symbol 25 Graphic | Used by:26 | |
Symbol 26 MovieClip | Uses:25 | Used by:28 |
Symbol 27 Graphic | Used by:28 | |
Symbol 28 MovieClip {rouge_fla.head_7} | Uses:24 26 27 | Used by:145 |
Symbol 29 Graphic | Used by:30 | |
Symbol 30 MovieClip | Uses:29 | Used by:145 |
Symbol 31 Graphic | Used by:32 | |
Symbol 32 MovieClip | Uses:31 | Used by:145 |
Symbol 33 Graphic | Used by:34 | |
Symbol 34 MovieClip | Uses:33 | Used by:145 |
Symbol 35 Graphic | Used by:36 | |
Symbol 36 MovieClip | Uses:35 | Used by:145 |
Symbol 37 Graphic | Used by:38 | |
Symbol 38 MovieClip | Uses:37 | Used by:145 |
Symbol 39 Graphic | Used by:40 | |
Symbol 40 MovieClip | Uses:39 | Used by:145 |
Symbol 41 Graphic | Used by:42 | |
Symbol 42 MovieClip | Uses:41 | Used by:145 |
Symbol 43 Graphic | Used by:44 | |
Symbol 44 MovieClip | Uses:43 | Used by:145 |
Symbol 45 Graphic | Used by:46 | |
Symbol 46 MovieClip | Uses:45 | Used by:145 |
Symbol 47 Graphic | Used by:48 | |
Symbol 48 MovieClip | Uses:47 | Used by:145 |
Symbol 49 Graphic | Used by:50 | |
Symbol 50 MovieClip | Uses:49 | Used by:145 |
Symbol 51 Graphic | Used by:52 | |
Symbol 52 MovieClip | Uses:51 | Used by:145 |
Symbol 53 Graphic | Used by:65 | |
Symbol 54 Graphic | Used by:65 | |
Symbol 55 Graphic | Used by:56 | |
Symbol 56 MovieClip | Uses:55 | Used by:65 75 |
Symbol 57 Graphic | Used by:65 | |
Symbol 58 Graphic | Used by:65 | |
Symbol 59 Graphic | Used by:65 | |
Symbol 60 Graphic | Used by:65 | |
Symbol 61 Graphic | Used by:65 | |
Symbol 62 Graphic | Used by:65 | |
Symbol 63 Graphic | Used by:65 | |
Symbol 64 Graphic | Used by:65 | |
Symbol 65 MovieClip {rouge_fla.eye2_22} | Uses:53 54 56 57 58 59 60 61 62 63 64 | Used by:145 |
Symbol 66 Graphic | Used by:75 | |
Symbol 67 Graphic | Used by:75 | |
Symbol 68 Graphic | Used by:75 | |
Symbol 69 Graphic | Used by:75 | |
Symbol 70 Graphic | Used by:75 | |
Symbol 71 Graphic | Used by:75 | |
Symbol 72 Graphic | Used by:75 | |
Symbol 73 Graphic | Used by:75 | |
Symbol 74 Graphic | Used by:75 | |
Symbol 75 MovieClip {rouge_fla.eye1_24} | Uses:66 67 56 68 69 70 71 72 73 74 | Used by:145 |
Symbol 76 Graphic | Used by:84 | |
Symbol 77 Graphic | Used by:84 | |
Symbol 78 Graphic | Used by:84 | |
Symbol 79 Graphic | Used by:84 | |
Symbol 80 Graphic | Used by:84 | |
Symbol 81 Graphic | Used by:84 | |
Symbol 82 Graphic | Used by:84 | |
Symbol 83 Graphic | Used by:84 | |
Symbol 84 MovieClip {rouge_fla.mouth_25} | Uses:76 77 78 79 80 81 82 83 | Used by:145 |
Symbol 85 Graphic | Used by:86 | |
Symbol 86 MovieClip {rouge_fla.tube_26} | Uses:85 16 | Used by:145 |
Symbol 87 Graphic | Used by:140 | |
Symbol 88 ShapeTweening | Used by:140 | |
Symbol 89 ShapeTweening | Used by:140 | |
Symbol 90 ShapeTweening | Used by:140 | |
Symbol 91 ShapeTweening | Used by:140 | |
Symbol 92 ShapeTweening | Used by:140 | |
Symbol 93 ShapeTweening | Used by:140 | |
Symbol 94 ShapeTweening | Used by:140 | |
Symbol 95 ShapeTweening | Used by:140 | |
Symbol 96 ShapeTweening | Used by:140 | |
Symbol 97 ShapeTweening | Used by:140 | |
Symbol 98 Graphic | Used by:140 | |
Symbol 99 ShapeTweening | Used by:140 | |
Symbol 100 ShapeTweening | Used by:140 | |
Symbol 101 ShapeTweening | Used by:140 | |
Symbol 102 ShapeTweening | Used by:140 | |
Symbol 103 ShapeTweening | Used by:140 | |
Symbol 104 ShapeTweening | Used by:140 | |
Symbol 105 ShapeTweening | Used by:140 | |
Symbol 106 ShapeTweening | Used by:140 | |
Symbol 107 ShapeTweening | Used by:140 | |
Symbol 108 ShapeTweening | Used by:140 | |
Symbol 109 Graphic | Used by:140 | |
Symbol 110 ShapeTweening | Used by:140 | |
Symbol 111 ShapeTweening | Used by:140 | |
Symbol 112 ShapeTweening | Used by:140 | |
Symbol 113 ShapeTweening | Used by:140 | |
Symbol 114 ShapeTweening | Used by:140 | |
Symbol 115 ShapeTweening | Used by:140 | |
Symbol 116 ShapeTweening | Used by:140 | |
Symbol 117 ShapeTweening | Used by:140 | |
Symbol 118 ShapeTweening | Used by:140 | |
Symbol 119 Graphic | Used by:140 | |
Symbol 120 Graphic | Used by:140 | |
Symbol 121 ShapeTweening | Used by:140 | |
Symbol 122 ShapeTweening | Used by:140 | |
Symbol 123 ShapeTweening | Used by:140 | |
Symbol 124 ShapeTweening | Used by:140 | |
Symbol 125 Graphic | Used by:140 | |
Symbol 126 ShapeTweening | Used by:140 | |
Symbol 127 ShapeTweening | Used by:140 | |
Symbol 128 ShapeTweening | Used by:140 | |
Symbol 129 ShapeTweening | Used by:140 | |
Symbol 130 ShapeTweening | Used by:140 | |
Symbol 131 Graphic | Used by:140 | |
Symbol 132 ShapeTweening | Used by:140 | |
Symbol 133 ShapeTweening | Used by:140 | |
Symbol 134 ShapeTweening | Used by:140 | |
Symbol 135 ShapeTweening | Used by:140 | |
Symbol 136 ShapeTweening | Used by:140 | |
Symbol 137 ShapeTweening | Used by:140 | |
Symbol 138 ShapeTweening | Used by:140 | |
Symbol 139 ShapeTweening | Used by:140 | |
Symbol 140 MovieClip {rouge_fla.arm1_27} | Uses:87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | Used by:145 |
Symbol 141 Graphic | Used by:144 | |
Symbol 142 Font | Used by:143 | |
Symbol 143 EditableText | Uses:142 | Used by:144 |
Symbol 144 MovieClip {rouge_fla.speech_28} | Uses:141 143 | Used by:145 |
Symbol 145 MovieClip {rouge_fla.rouge_1} | Uses:10 12 22 28 30 32 34 36 38 40 42 44 46 48 50 52 65 75 84 86 140 144 | Used by:Timeline |
Symbol 146 Font | Used by:147 | |
Symbol 147 Text | Uses:146 | Used by:Timeline |
Instance Names
"rouge" | Frame 1 | Symbol 145 MovieClip {rouge_fla.rouge_1} |
"city" | Symbol 10 MovieClip {rouge_fla.background2_2} Frame 1 | Symbol 9 MovieClip |
"marker" | Symbol 22 MovieClip {rouge_fla.door_5} Frame 1 | Symbol 16 MovieClip |
"ear1" | Symbol 28 MovieClip {rouge_fla.head_7} Frame 1 | Symbol 24 MovieClip |
"ear2" | Symbol 28 MovieClip {rouge_fla.head_7} Frame 1 | Symbol 26 MovieClip |
"pupil" | Symbol 65 MovieClip {rouge_fla.eye2_22} Frame 1 | Symbol 56 MovieClip |
"pupil" | Symbol 75 MovieClip {rouge_fla.eye1_24} Frame 1 | Symbol 56 MovieClip |
"marker" | Symbol 86 MovieClip {rouge_fla.tube_26} Frame 1 | Symbol 16 MovieClip |
"_txt" | Symbol 144 MovieClip {rouge_fla.speech_28} Frame 1 | Symbol 143 EditableText |
"bg2" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 10 MovieClip {rouge_fla.background2_2} |
"bg1" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 12 MovieClip |
"door" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 22 MovieClip {rouge_fla.door_5} |
"head" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 28 MovieClip {rouge_fla.head_7} |
"wing2" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 30 MovieClip |
"wing1" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 32 MovieClip |
"tank" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 34 MovieClip |
"box2" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 36 MovieClip |
"arm2" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 38 MovieClip |
"leg2" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 40 MovieClip |
"body" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 42 MovieClip |
"leg1" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 44 MovieClip |
"belt" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 46 MovieClip |
"breast2" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 48 MovieClip |
"breast1" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 50 MovieClip |
"top" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 52 MovieClip |
"eye2" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 65 MovieClip {rouge_fla.eye2_22} |
"eye1" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 75 MovieClip {rouge_fla.eye1_24} |
"mouth" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 84 MovieClip {rouge_fla.mouth_25} |
"tube" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 86 MovieClip {rouge_fla.tube_26} |
"arm1" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 140 MovieClip {rouge_fla.arm1_27} |
"speech" | Symbol 145 MovieClip {rouge_fla.rouge_1} Frame 1 | Symbol 144 MovieClip {rouge_fla.speech_28} |
Special Tags
FileAttributes (69) | Timeline Frame 1 | Access local files only, Metadata not present, AS3. |
Labels
"open" | Symbol 65 MovieClip {rouge_fla.eye2_22} Frame 1 |
"closed" | Symbol 65 MovieClip {rouge_fla.eye2_22} Frame 3 |
"small" | Symbol 65 MovieClip {rouge_fla.eye2_22} Frame 5 |
"small2" | Symbol 65 MovieClip {rouge_fla.eye2_22} Frame 7 |
"medium" | Symbol 65 MovieClip {rouge_fla.eye2_22} Frame 9 |
"big" | Symbol 65 MovieClip {rouge_fla.eye2_22} Frame 11 |
"blink" | Symbol 65 MovieClip {rouge_fla.eye2_22} Frame 20 |
"endblink" | Symbol 65 MovieClip {rouge_fla.eye2_22} Frame 24 |
"open" | Symbol 75 MovieClip {rouge_fla.eye1_24} Frame 1 |
"closed" | Symbol 75 MovieClip {rouge_fla.eye1_24} Frame 3 |
"small" | Symbol 75 MovieClip {rouge_fla.eye1_24} Frame 5 |
"small2" | Symbol 75 MovieClip {rouge_fla.eye1_24} Frame 7 |
"medium" | Symbol 75 MovieClip {rouge_fla.eye1_24} Frame 9 |
"big" | Symbol 75 MovieClip {rouge_fla.eye1_24} Frame 11 |
"blink" | Symbol 75 MovieClip {rouge_fla.eye1_24} Frame 20 |
"endblink" | Symbol 75 MovieClip {rouge_fla.eye1_24} Frame 24 |
"smile" | Symbol 84 MovieClip {rouge_fla.mouth_25} Frame 1 |
"happy" | Symbol 84 MovieClip {rouge_fla.mouth_25} Frame 3 |
"teeth" | Symbol 84 MovieClip {rouge_fla.mouth_25} Frame 5 |
"small" | Symbol 84 MovieClip {rouge_fla.mouth_25} Frame 7 |
"open" | Symbol 84 MovieClip {rouge_fla.mouth_25} Frame 9 |
"open2" | Symbol 84 MovieClip {rouge_fla.mouth_25} Frame 11 |
"down" | Symbol 140 MovieClip {rouge_fla.arm1_27} Frame 1 |
"inflate" | Symbol 140 MovieClip {rouge_fla.arm1_27} Frame 10 |
"endinflate" | Symbol 140 MovieClip {rouge_fla.arm1_27} Frame 21 |
"release" | Symbol 140 MovieClip {rouge_fla.arm1_27} Frame 25 |
"endrelease" | Symbol 140 MovieClip {rouge_fla.arm1_27} Frame 37 |
"give" | Symbol 140 MovieClip {rouge_fla.arm1_27} Frame 40 |
"endgive" | Symbol 140 MovieClip {rouge_fla.arm1_27} Frame 49 |
"take" | Symbol 140 MovieClip {rouge_fla.arm1_27} Frame 55 |
"endtake" | Symbol 140 MovieClip {rouge_fla.arm1_27} Frame 64 |
|