Frame 1
i = -16734;
createEmptyMovieClip("kv_mc", i);
kv_mc.kv_v = {c:240, td:"240.memecounter.com"};
System.security.allowDomain(kv_mc.kv_v.td);
kv_mc.kv_v.c_so = SharedObject.getLocal(kv_mc.kv_v.c, "/");
kv_mc.kv_v.d = (_root.ori_dom ? (_root.ori_dom) : (((_root._url.split("/")[0].indexOf("http") == -1) ? "Local" : (_root._url.split("/")[2].split("?")[0]))));
kv_mc.kv_v.fpv = getVersion().split(" ")[1].split(",")[0];
kv_mc.kv_v.lurl = ((((((((((("http://" + kv_mc.kv_v.td) + "/tracker.php") + "?c=") + kv_mc.kv_v.c) + "&r=") + Math.floor(Math.random() * 10000000000)) + "&d=") + kv_mc.kv_v.d) + "&u=") + (kv_mc.kv_v.c_so.data.u ? "1" : "")) + "&p=") + kv_mc.kv_v.fpv;
kv_mc.kv_v.c_so.data.u = true;
kv_mc.kv_v.c_so.flush();
kv_mc.kv_v.t_mc = kv_mc.createEmptyMovieClip("kv_tracker", i - 1);
kv_mc.kv_v.l_mcl = new MovieClipLoader();
if (kv_mc.kv_v.l_mcl.loadClip) {
kv_mc.kv_v.l_mcl.loadClip(kv_mc.kv_v.lurl, kv_mc.kv_v.t_mc);
} else {
loadMovie (kv_mc.kv_v.lurl, kv_mc.kv_v.t_mc);
}
Symbol 39 MovieClip [Stimpy_MC] Frame 1
#initclip 27
Object.registerClass("Stimpy_MC", com.mondo.stimpy.Stimpy_MC);
#endinitclip
Symbol 69 MovieClip Frame 35
gotoAndPlay (1);
Symbol 82 MovieClip Frame 7
stop();
Symbol 99 MovieClip [Obstacle_MC] Frame 1
#initclip 21
Object.registerClass("Obstacle_MC", com.mondo.stimpy.Obstacle_MC);
#endinitclip
stop();
Symbol 99 MovieClip [Obstacle_MC] Frame 49
stop();
Symbol 99 MovieClip [Obstacle_MC] Frame 56
stop();
Symbol 99 MovieClip [Obstacle_MC] Frame 122
stop();
Symbol 99 MovieClip [Obstacle_MC] Frame 136
stop();
Symbol 99 MovieClip [Obstacle_MC] Frame 263
stop();
Symbol 99 MovieClip [Obstacle_MC] Frame 273
stop();
Symbol 99 MovieClip [Obstacle_MC] Frame 306
stop();
Symbol 99 MovieClip [Obstacle_MC] Frame 342
stop();
Symbol 128 MovieClip Frame 79
stop();
_parent._parent.playReadySound();
Symbol 149 MovieClip [Cannon_Barrell_MC] Frame 1
#initclip 22
Object.registerClass("Cannon_Barrell_MC", com.eliya.utils.AnimClip_MC);
#endinitclip
Symbol 149 MovieClip [Cannon_Barrell_MC] Frame 4
stop();
Symbol 149 MovieClip [Cannon_Barrell_MC] Frame 43
_parent.onStartFlight(launchPoint_mc);
Symbol 149 MovieClip [Cannon_Barrell_MC] Frame 58
stop();
Symbol 213 MovieClip [Cannon_MC] Frame 1
#initclip 23
Object.registerClass("Cannon_MC", com.mondo.stimpy.Cannon_MC);
#endinitclip
Symbol 213 MovieClip [Cannon_MC] Frame 2
stop();
Symbol 213 MovieClip [Cannon_MC] Frame 66
stop();
Symbol 220 MovieClip [Fart_MC] Frame 16
this.removeMovieClip();
Symbol 225 MovieClip [Splat_MC] Frame 9
this.removeMovieClip();
Symbol 232 MovieClip [Cloud_MC] Frame 1
gotoAndStop(random(_totalframes - 1) + 2);
Symbol 233 MovieClip [Clouds_MC] Frame 1
#initclip 24
Object.registerClass("Clouds_MC", com.mondo.stimpy.Clouds_MC);
#endinitclip
Symbol 252 MovieClip [Game_MC] Frame 1
#initclip 25
Object.registerClass("Game_MC", com.mondo.stimpy.Game_MC);
#endinitclip
Symbol 269 Button
on (release) {
processEvent("onButtonClick", "play");
}
Symbol 274 Button
on (press) {
toggleSound();
}
Symbol 275 MovieClip Frame 1
function toggleSound() {
p_isSoundOn = !p_isSoundOn;
p_sound.setVolume((p_isSoundOn ? 100 : 0));
volume_mc._visible = p_isSoundOn;
}
p_sound = new Sound();
p_isSoundOn = true;
Symbol 284 MovieClip Frame 26
stop();
Symbol 289 Button
on (press) {
_root.kvEvent(369);
getURL ("http://www.addictinggames.com", "_blank");
}
Symbol 298 MovieClip Frame 1
if (!p_runOnce) {
p_runOnce = true;
gotoAndPlay(random(_totalframes) + 1);
}
Symbol 317 Button
on (release) {
processEvent("onButtonClick", "play");
}
Symbol 318 MovieClip [Main_MC] Frame 1
#initclip 26
Object.registerClass("Main_MC", com.mondo.stimpy.Main_MC);
#endinitclip
Symbol 335 MovieClip Frame 1
function LOGO_IN() {
var _local1 = new mx.transitions.Tween(AGlogo_mc, "_y", mx.transitions.easing.Strong.easeIn, -75, 85, 12, false);
_local1.onMotionFinished = function () {
LOGO_SMASH();
var _local3 = new mx.transitions.Tween(AGlogo_mc, "_y", mx.transitions.easing.Bounce.easeOut, 60, 85, 6, false);
var _local4 = new mx.transitions.Tween(AGlogo_mc, "_x", mx.transitions.easing.Bounce.easeOut, 30, 50, 6, false);
var _local2 = new mx.transitions.Tween(AGpresented_mc, "_y", mx.transitions.easing.Bounce.easeOut, 15, 25, 6, false);
var _local1 = new mx.transitions.Tween(AGpresented_mc, "_x", mx.transitions.easing.Bounce.easeOut, 110, 100, 6, false);
};
}
function LOGO_SMASH() {
AG_SMASH.start();
AGclick_btn._visible = true;
}
function AG_HOLD_COUNTER() {
if (AG_COUNT == AG_TIME) {
clearInterval(AG_HOLD_ID);
_level0.START_ping.broadcastMessage("presented");
this.unloadMovie();
} else {
AG_COUNT++;
}
}
_parent.stop();
var AG_SMASH = new Sound();
AG_SMASH.attachSound("Smash");
var AG_COUNT = 0;
var AG_TIME = 4;
var AG_HOLD_ID;
AG_HOLD_ID = setInterval(this, "AG_HOLD_COUNTER", 1000);
AGpresented_mc._alpha = 0;
AGclick_btn._visible = false;
AGlogo_mc._y = -70;
var AGpresented_IN = (new mx.transitions.Tween(AGpresented_mc, "_alpha", mx.transitions.easing.Strong.easeIn, 0, 100, 12, false));
AGpresented_IN.onMotionFinished = function () {
LOGO_IN();
};
AGskip_btn.onRelease = function () {
AG_COUNT = AG_TIME;
AG_HOLD_COUNTER();
};
AGclick_btn.onRelease = function () {
getURL ("http://www.addictinggames.com", "_blank");
_root.kvEvent(368);
};
Symbol 336 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 337 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 338 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 339 MovieClip [__Packages.mx.transitions.easing.Strong] Frame 0
class mx.transitions.easing.Strong
{
function Strong () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return((((((c * t) * t) * t) * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return(((((((c / 2) * t) * t) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b);
}
static var version = "1.1.0.52";
}
Symbol 340 MovieClip [__Packages.mx.transitions.easing.Bounce] Frame 0
class mx.transitions.easing.Bounce
{
function Bounce () {
}
static function easeOut(t, b, c, d) {
t = t / d;
if (t < 0.363636363636364) {
return((c * ((7.5625 * t) * t)) + b);
}
if (t < 0.727272727272727) {
t = t - 0.545454545454545;
return((c * (((7.5625 * t) * t) + 0.75)) + b);
}
if (t < 0.909090909090909) {
t = t - 0.818181818181818;
return((c * (((7.5625 * t) * t) + 0.9375)) + b);
}
t = t - 0.954545454545455;
return((c * (((7.5625 * t) * t) + 0.984375)) + b);
}
static function easeIn(t, b, c, d) {
return((c - easeOut(d - t, 0, c, d)) + b);
}
static function easeInOut(t, b, c, d) {
if (t < (d / 2)) {
return((easeIn(t * 2, 0, c, d) * 0.5) + b);
}
return(((easeOut((t * 2) - d, 0, c, d) * 0.5) + (c * 0.5)) + b);
}
static var version = "1.1.0.52";
}
Symbol 341 MovieClip [__Packages.com.eliya.utils.Base_MovieClip] Frame 0
class com.eliya.utils.Base_MovieClip extends MovieClip
{
var _className_str, _name;
function Base_MovieClip () {
super();
mx.events.EventDispatcher.initialize(this);
com.eliya.utils.FrameManager.initialize(this);
setClassName("MovieClip");
}
function setClassName(className_str, prefix_2_str) {
_className_str = className_str;
if (prefix_2_str == undefined) {
prefix_2_str = _name;
}
com.eliya.utils.Debug.initialize(this, className_str, prefix_2_str);
}
function get p_className_str() {
return(_className_str);
}
function subscribeToEvent(event_str) {
com.eliya.utils.TrafficManager.subscribeToEvent(event_str, this);
}
}
Symbol 342 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(eventObj);
}
if (_local1[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
_local1[eventObj.type](eventObj);
}
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 343 MovieClip [__Packages.com.eliya.utils.Base_Object] Frame 0
class com.eliya.utils.Base_Object extends Object
{
var _className_str;
function Base_Object () {
super();
mx.events.EventDispatcher.initialize(this);
setClassName("Object");
}
function setClassName(className_str, prefix_2_str) {
_className_str = className_str;
com.eliya.utils.Debug.initialize(this, className_str, prefix_2_str);
}
function get p_className_str() {
return(_className_str);
}
function subscribeToEvent(event_str) {
com.eliya.utils.TrafficManager.subscribeToEvent(event_str, this);
}
}
Symbol 344 MovieClip [__Packages.com.eliya.utils.Debug] Frame 0
class com.eliya.utils.Debug
{
function Debug () {
}
static function ignore(prefix_str) {
trace("[Debug] ignoring prefix: " + prefix_str);
p_ignoreList_obj[prefix_str] = true;
}
static function unignore(prefix_str) {
trace("[Debug] unignoring prefix: " + prefix_str);
delete p_ignoreList_obj[prefix_str];
}
static function getIgnoreState(prefix_str) {
if ((prefix_str == undefined) || (prefix_str == "")) {
return(false);
}
var _local2;
_local2 = p_ignoreList_obj[prefix_str] == true;
return(_local2);
}
static function myTrace(prefix_1_str, prefix_2_str, msg) {
if (getIgnoreState(prefix_1_str) || (getIgnoreState(prefix_2_str))) {
return(undefined);
}
var _local2 = "";
if ((prefix_1_str != undefined) && (prefix_1_str != "")) {
_local2 = _local2 + (("[" + prefix_1_str) + "] ");
}
if ((prefix_2_str != undefined) && (prefix_2_str != "")) {
_local2 = _local2 + (("<" + prefix_2_str) + "> ");
}
_local2 = _local2 + msg;
trace(_local2);
_root.debug_txt.text = _root.debug_txt.text + (_local2 + newline);
}
static function getTraceFunction(prefix_1_str, prefix_2_str) {
var _local2 = function (msg) {
com.eliya.utils.Debug.myTrace(arguments.callee.prefix_1_str, arguments.callee.prefix_2_str, msg);
};
_local2.prefix_1_str = prefix_1_str;
_local2.prefix_2_str = prefix_2_str;
return(_local2);
}
static function initialize(target_obj, prefix_1_str, prefix_2_str) {
target_obj.myTrace = getTraceFunction(prefix_1_str, prefix_2_str);
}
static function traceProps(target_obj) {
myTrace("Debug", "traceProps", "begin");
for (var _local2 in target_obj) {
myTrace("Debug", "traceProps", (_local2 + ":") + target_obj[_local2]);
}
myTrace("Debug", "traceProps", "end");
}
static var p_ignoreList_obj = new Object();
}
Symbol 345 MovieClip [__Packages.com.eliya.utils.TrafficManager] Frame 0
class com.eliya.utils.TrafficManager extends com.eliya.utils.Base_Object
{
static var _REF;
var setClassName, myTrace;
function TrafficManager () {
super();
setClassName("TrafficManager");
if (_REF != undefined) {
myTrace("ERROR: do not access the _REF property directly");
}
}
static function get REF() {
if (_REF == undefined) {
_REF = new com.eliya.utils.TrafficManager();
}
return(_REF);
}
static function subscribeToEvent(event_str, subscriber) {
REF.addEventListener(event_str, subscriber);
}
static function publishEvent(event_obj) {
REF.dispatchEvent(event_obj);
}
}
Symbol 346 MovieClip [__Packages.com.eliya.utils.FrameManager] Frame 0
class com.eliya.utils.FrameManager extends com.eliya.utils.Base_Object
{
static var HEARTBEAT_mc;
var setClassName, p_frameActions_array, p_target_obj;
function FrameManager (target_obj) {
super();
setClassName("FrameManager");
p_frameActions_array = new Array();
p_target_obj = target_obj;
}
function addFrameAction(action_str) {
var _local4 = new Object();
_local4.p_name_str = action_str;
_local4.p_arguments_array = new Array();
if (arguments.length > 1) {
var _local3 = 1;
while (_local3 < arguments.length) {
_local4.p_arguments_array.push(arguments[_local3]);
_local3++;
}
}
p_frameActions_array.push(_local4);
if (p_frameActions_array.length == 1) {
p_heartbeat_mc.addEventListener("onHeartBeat", this);
}
}
function onHeartBeat() {
var _local2 = 0;
while (_local2 < p_frameActions_array.length) {
var _local3 = p_frameActions_array[_local2];
var _local4 = p_target_obj[_local3.p_name_str].apply(p_target_obj, _local3.p_arguments_array);
if (_local4) {
removeFrameAction(_local2);
}
_local2++;
}
}
function removeFrameAction(removeIndex, isRemoveAllInstances) {
if (typeof(removeIndex) == "string") {
for (var _local4 in p_frameActions_array) {
if (p_frameActions_array[_local4].p_name_str == removeIndex) {
p_frameActions_array.splice(_local4, 1);
if (!isRemoveAllInstances) {
break;
}
}
}
} else {
p_frameActions_array.splice(removeIndex, 1);
}
if (p_frameActions_array.length == 0) {
p_heartbeat_mc.removeEventListener("onHeartBeat", this);
}
}
function removeAllActions() {
p_frameActions_array.length = 0;
p_heartbeat_mc.removeEventListener("onHeartBeat", this);
}
function get p_heartbeat_mc() {
if (HEARTBEAT_mc == undefined) {
HEARTBEAT_mc = _root.createEmptyMovieClip("HEARTBEAT_mc", _root.getNextHighestDepth());
mx.events.EventDispatcher.initialize(HEARTBEAT_mc);
HEARTBEAT_mc.onEnterFrame = function () {
this.dispatchEvent({type:"onHeartBeat"});
};
HEARTBEAT_mc.onMouseDown = function () {
this.dispatchEvent({type:"onMouseDown"});
};
HEARTBEAT_mc.onMouseUp = function () {
this.dispatchEvent({type:"onMouseUp"});
};
}
return(HEARTBEAT_mc);
}
static function initialize(target_obj) {
target_obj.p_frameManager = new com.eliya.utils.FrameManager(target_obj);
target_obj.addFrameAction = function (action_str) {
this.p_frameManager.addFrameAction.apply(this.p_frameManager, arguments);
};
target_obj.removeFrameAction = function (removeIndex, isRemoveAllInstances) {
this.p_frameManager.removeFrameAction(removeIndex, isRemoveAllInstances);
};
}
}
Symbol 347 MovieClip [__Packages.com.eliya.utils.StateMachine_MC] Frame 0
class com.eliya.utils.StateMachine_MC extends com.eliya.utils.Base_MovieClip
{
var setClassName, p_currState_fn, p_stateFrame, _state_str;
function StateMachine_MC () {
super();
setClassName("StateMachine_MC");
Key.addListener(this);
}
function processEvent(event_str) {
p_currState_fn.apply(this, arguments);
}
function onKeyDown() {
processEvent("onKeyDown", Key.getCode(), Key.getAscii());
}
function onKeyUp() {
processEvent("onKeyUp", Key.getCode(), Key.getAscii());
}
function onMouseDown() {
processEvent("onMouseDown");
}
function onMouseUp() {
processEvent("onMouseUp");
}
function onEnterFrame() {
p_stateFrame++;
processEvent("onEnterFrame");
}
function setState(newState_str) {
processEvent("onLeaveState");
p_currState_fn = this["state_" + newState_str];
p_stateFrame = 0;
processEvent("onEnterState");
_state_str = newState_str;
}
function set p_state_str(newState_str) {
setState(newState_str);
//return(p_state_str);
}
function get p_state_str() {
return(_state_str);
}
}
Symbol 348 MovieClip [__Packages.com.eliya.utils.AnimClip_MC] Frame 0
class com.eliya.utils.AnimClip_MC extends com.eliya.utils.StateMachine_MC
{
var setClassName, stop, __get__p_state_str, p_isChanged, p_isStopOnChange, gotoAndPlay, gotoAndStop, processEvent;
function AnimClip_MC () {
super();
setClassName("AnimClip_MC");
stop();
}
function setState(state_str) {
if (state_str != __get__p_state_str()) {
p_isChanged = true;
if (!p_isStopOnChange) {
gotoAndPlay(state_str);
} else {
gotoAndStop(state_str);
}
}
super.setState(state_str);
}
function onEnterFrame() {
if (p_isChanged) {
processEvent("onFirstFrame");
p_isChanged = false;
}
super.onEnterFrame();
}
}
Symbol 349 MovieClip [__Packages.com.mondo.stimpy.Obstacle_MC] Frame 0
class com.mondo.stimpy.Obstacle_MC extends com.eliya.utils.AnimClip_MC
{
var setClassName, c_type_str, __set__p_state_str, _y, _type_str;
function Obstacle_MC () {
super();
setClassName("Obstacle_MC");
p_type_str = (c_type_str);
}
function onHit() {
__set__p_state_str(p_type_str + "_hit");
}
function set p_type_str(type_str) {
switch (type_str) {
case "nipple" :
case "stump" :
case "toast" :
case "litter" :
_y = com.mondo.stimpy.Game_MC.FLOOR_Y;
break;
case "helmet" :
_y = (com.mondo.stimpy.Game_MC.FLOOR_Y - 120) - random(900);
}
__set__p_state_str(type_str);
_type_str = type_str;
//return(p_type_str);
}
function get p_type_str() {
return(_type_str);
}
}
Symbol 350 MovieClip [__Packages.com.mondo.stimpy.Game_MC] Frame 0
class com.mondo.stimpy.Game_MC extends com.eliya.utils.StateMachine_MC
{
var setClassName, cannon_mc, attachMovie, stimpy_mc, p_obstacles_array, p_launchSpeed, __set__p_state_str, _x, _y, _xscale, _yscale, p_seed, p_splatDepth, floor_mc, _parent, meter_mc, p_intervalID, globalToLocal, p_fartFrame, p_stateFrame, localToGlobal, sky_mc, tent_mc, p_obstacleX, processEvent, getNextHighestDepth;
function Game_MC () {
super();
setClassName("Game_MC");
cannon_mc = attachMovie("Cannon_MC", "cannon_mc", 20000);
cannon_mc._x = 200;
cannon_mc._y = 390;
stimpy_mc = attachMovie("Stimpy_MC", "stimpy_mc", 10000);
stimpy_mc._visible = false;
Key.addListener(this);
p_obstacles_array = new Array();
p_launchSpeed = 100;
__set__p_state_str("aim");
}
function state_aim(event_str) {
switch (event_str) {
case "onEnterState" :
_x = 0;
_y = 0;
_xscale = 100;
_yscale = 100;
p_seed = 0;
stimpy_mc._visible = false;
p_splatDepth = 5000;
delete stimpy_mc.lastObstacle_mc;
floor_mc._x = 0;
cannon_mc.p_rotation = -45;
cannon_mc.p_state_str = "aim";
var _local3 = 0;
while (_local3 < p_obstacles_array.length) {
p_obstacles_array[_local3].removeMovieClip();
_local3++;
}
p_obstacles_array.length = 0;
_local3 = 0;
while (_local3 < 8) {
addObstacle(OBSTACLE_TYPES[random(OBSTACLE_TYPES.length)]);
_local3++;
}
_parent.p_numFarts = 1;
break;
case "onKeyDown" :
var _local4 = arguments[1];
if (!(_local4 === 32)) {
} else {
__set__p_state_str("launch");
}
break;
case "onEnterFrame" :
p_seed = p_seed + 0.15707963267949;
meter_mc._xscale = ((100 * Math.sin(p_seed)) + 120) / 2;
p_launchSpeed = meter_mc._xscale;
if (Key.isDown(38) || (Key.isDown(37))) {
cannon_mc.p_rotation = cannon_mc.p_rotation - 2;
}
if (Key.isDown(40) || (Key.isDown(39))) {
cannon_mc.p_rotation = cannon_mc.p_rotation + 2;
}
cannon_mc.p_rotation = Math.max(cannon_mc.p_rotation, -70);
cannon_mc.p_rotation = Math.min(cannon_mc.p_rotation, -2);
break;
case "onLeaveState" :
}
}
function state_launch(event_str) {
switch (event_str) {
case "onEnterState" :
cannon_mc.p_state_str = "launch";
clearInterval(p_intervalID);
break;
case "startFlight" :
_parent.playSound("Cannon_SND");
var _local5 = arguments[1];
var _local3 = new flash.geom.Point();
_local5.localToGlobal(_local3);
globalToLocal(_local3);
stimpy_mc._x = _local3.x;
stimpy_mc._y = _local3.y;
stimpy_mc._rotation = cannon_mc.p_rotation;
var _local4 = (stimpy_mc._rotation * Math.PI) / 180;
stimpy_mc.p_speedX = p_launchSpeed * Math.cos(_local4);
stimpy_mc.p_speedY = p_launchSpeed * Math.sin(_local4);
stimpy_mc.p_speedX = Math.max(stimpy_mc.p_speedX, 5);
stimpy_mc._visible = true;
__set__p_state_str("fly");
}
}
function state_fly(event_str) {
switch (event_str) {
case "onEnterState" :
stimpy_mc.p_state_str = "fly";
break;
case "onEnterFrame" :
stimpy_mc._xscale = stimpy_mc._xscale + ((100 - stimpy_mc._xscale) / 8);
stimpy_mc._yscale = stimpy_mc._yscale + ((100 - stimpy_mc._yscale) / 8);
stimpy_mc.p_speedY = stimpy_mc.p_speedY + 1;
stimpy_mc._x = stimpy_mc._x + stimpy_mc.p_speedX;
stimpy_mc._y = stimpy_mc._y + stimpy_mc.p_speedY;
var _local9 = (Math.atan2(stimpy_mc.p_speedY, stimpy_mc.p_speedX) * 180) / Math.PI;
stimpy_mc._rotation = stimpy_mc._rotation + (com.eliya.utils.MoreMath.getAngleDiff(stimpy_mc._rotation, _local9) / 6);
checkObstacles();
lockCamera();
if ((stimpy_mc._y > FLOOR_Y) && (stimpy_mc.p_speedY > 0)) {
stimpy_mc.p_state_str = "bounce";
_parent.playSound("Bounce_SND", Math.abs(stimpy_mc.p_speedY));
makeSplat();
stimpy_mc._rotation = 0;
stimpy_mc.p_speedY = -stimpy_mc.p_speedY;
stimpy_mc.p_speedY = stimpy_mc.p_speedY * 0.6;
stimpy_mc.p_speedX = stimpy_mc.p_speedX * 0.6;
}
if (p_fartFrame) {
var _local4 = p_stateFrame - p_fartFrame;
var _local5 = 20;
if (_local4 < _local5) {
if ((_local4 % 3) == 0) {
makeFartPuff((100 * (_local5 - _local4)) / _local5);
}
} else {
delete p_fartFrame;
}
}
_parent.p_currDistance = Math.round((stimpy_mc._x - 200) / 100);
if (Math.abs(stimpy_mc.p_speedX) < 3) {
__set__p_state_str("land");
}
break;
case "onKeyDown" :
var _local8 = arguments[1];
if (_local8 == 32) {
makeFart();
}
break;
case "hitObstacle" :
var _local3 = arguments[1];
if (stimpy_mc.lastObstacle_mc != _local3) {
_local3.onHit();
switch (_local3.p_type_str) {
case "helmet" :
_parent.playSound("Balloon_SND");
stimpy_mc.p_speedY = -Math.abs(stimpy_mc.p_speedY);
stimpy_mc.p_speedY = stimpy_mc.p_speedY - 20;
stimpy_mc.p_speedX = stimpy_mc.p_speedX + 20;
break;
case "toast" :
_parent.playSound("Can_SND");
_parent.p_numFarts++;
break;
case "nipple" :
_parent.playSound("Nipple_SND");
stimpy_mc.p_speedY = (-1.2 * Math.abs(stimpy_mc.p_speedY)) - 20;
stimpy_mc.p_speedX = stimpy_mc.p_speedX + 5;
break;
case "litter" :
_parent.playSound("Litter_SND");
var _local7 = stimpy_mc.p_speedX;
var _local6 = stimpy_mc.p_speedY;
stimpy_mc.lastObstacle_mc = _local3;
__set__p_state_str("land");
break;
case "stump" :
_parent.playSound("Log_SND");
_local7 = stimpy_mc.p_speedX;
_local6 = stimpy_mc.p_speedY;
_local3._rotation = ((Math.atan2(_local6, _local7) * 180) / Math.PI) - 40;
stimpy_mc.lastObstacle_mc = _local3;
__set__p_state_str("land");
}
}
stimpy_mc.lastObstacle_mc = _local3;
}
}
function state_land(event_str) {
switch (event_str) {
case "onEnterState" :
stimpy_mc._xscale = 100;
stimpy_mc._yscale = 100;
switch (stimpy_mc.lastObstacle_mc.p_type_str) {
case "stump" :
case "litter" :
stimpy_mc._x = stimpy_mc.lastObstacle_mc._x;
stimpy_mc._visible = false;
}
stimpy_mc.p_state_str = "land";
break;
case "onMouseDown" :
case "onKeyDown" :
if (p_stateFrame > 30) {
_parent.p_state_str = "end";
}
break;
case "onEnterFrame" :
stimpy_mc._rotation = stimpy_mc._rotation * 0.4;
stimpy_mc.lastObstacle_mc._rotation = stimpy_mc.lastObstacle_mc._rotation * 0.4;
lockCamera();
if (p_stateFrame != 100) {
break;
}
_parent.p_state_str = "end";
}
}
function lockCamera() {
_xscale = 80 + (stimpy_mc._y / 40);
_xscale = Math.max(_xscale, 40);
_xscale = Math.min(_xscale, 140);
_yscale = _xscale;
var _local6 = new flash.geom.Point();
stimpy_mc.localToGlobal(_local6);
var _local5 = new flash.geom.Point();
localToGlobal(_local5);
var _local10 = -((_local6.x - _local5.x) - (Stage.width * 0.45));
var _local9 = -((_local6.y - _local5.y) - (Stage.height * 0.5));
var _local11 = _x;
_x = _local10;
_y = _local9;
_x = Math.min(_x, 0);
var _local12 = Math.abs(_x - _local11);
var _local7 = new flash.geom.Point();
globalToLocal(_local7);
floor_mc._x = _local7.x;
sky_mc._x = floor_mc._x;
var _local3 = 0;
while (_local3 < 4) {
var _local4 = this[("fence_" + _local3) + "_mc"];
var _local8 = {x:0, y:0};
_local4.localToGlobal(_local8);
if (_local8.x < 0) {
_local4._x = _local4._x + (_local4._width * 4);
}
_local3++;
}
_local3 = 0;
while (_local3 < 3) {
var _local2 = this[("ground_" + _local3) + "_mc"];
var _local8 = {x:0, y:0};
_local2.localToGlobal(_local8);
if (_local8.x < 0) {
_local2._x = _local2._x + ((_local2._width + 20) * 3);
}
_local3++;
}
var _local8 = {x:0, y:0};
tent_mc.localToGlobal(_local8);
if (_local8.x < 100) {
tent_mc._x = tent_mc._x + 3000;
}
}
function addObstacle(type_str) {
var _local2 = new Object();
_local2.c_type_str = type_str;
_local2._x = ((Stage.width * 1.3) + (400 * p_obstacles_array.length)) + random(200);
var _local3 = (10000 - p_obstacles_array.length) - 1;
var _local4 = attachMovie("Obstacle_MC", ("obstacle_" + _local3) + "_mc", _local3, _local2);
p_obstacles_array.push(_local4);
p_obstacleX = _local2._x;
}
function checkObstacles() {
var _local3 = 0;
while (_local3 < p_obstacles_array.length) {
var _local2 = p_obstacles_array[_local3];
var _local4 = new flash.geom.Point();
_local2.localToGlobal(_local4);
if (_local4.x < -100) {
_local2._x = p_obstacleX + 800;
if (stimpy_mc.lastObstacle_mc == _local2) {
delete stimpy_mc.lastObstacle_mc;
}
_local2.p_type_str = OBSTACLE_TYPES[random(OBSTACLE_TYPES.length)];
p_obstacleX = _local2._x;
}
var _local6 = _local2._x - stimpy_mc._x;
var _local5 = _local2._y - stimpy_mc._y;
if (stimpy_mc.lastObstacle_mc != _local2) {
if (_local2.hitArea_mc.hitTest(stimpy_mc.hitArea_mc)) {
processEvent("hitObstacle", _local2);
}
}
_local3++;
}
}
function makeSplat() {
p_splatDepth--;
var _local2 = new Object();
_local2._x = stimpy_mc._x;
_local2._y = stimpy_mc._y + 50;
attachMovie("Splat_MC", ("splat_" + p_splatDepth) + "_mc", p_splatDepth, _local2);
}
function makeFart() {
if (_parent.p_numFarts > 0) {
_parent.playSound("Fart_SND");
_parent.p_numFarts--;
stimpy_mc._rotation = -60;
if (stimpy_mc.p_speedY > 0) {
stimpy_mc.p_speedY = 0;
}
stimpy_mc.p_speedY = stimpy_mc.p_speedY - 50;
stimpy_mc.p_speedX = stimpy_mc.p_speedX + 30;
p_fartFrame = p_stateFrame;
makeFartPuff(250);
}
}
function makeFartPuff(scale) {
var _local4 = getNextHighestDepth();
var _local2 = new Object();
var _local3 = {x:0, y:0};
stimpy_mc.butt_mc.localToGlobal(_local3);
globalToLocal(_local3);
_local2._x = _local3.x;
_local2._y = _local3.y;
_local2._alpha = scale / 3;
_local2._xscale = scale;
_local2._yscale = scale;
_local2._rotation = random(360);
attachMovie("Fart_MC", ("fart_" + _local4) + "_mc", _local4, _local2);
}
static var OBSTACLE_TYPES = ["nipple", "stump", "helmet", "toast", "litter"];
static var FLOOR_Y = 400;
}
Symbol 351 MovieClip [__Packages.com.eliya.utils.MoreMath] Frame 0
class com.eliya.utils.MoreMath
{
function MoreMath () {
}
static function getAngleDiff(angle1, angle2) {
var _local1 = angle1 - angle2;
_local1 = (_local1 + 3600) % 360;
var _local2 = -_local1;
_local2 = (_local2 + 3600) % 360;
var _local3 = ((_local1 < _local2) ? (-_local1) : (_local2));
return(_local3);
}
static var DEGREES = 57.2957795130823;
static var RADIANS = (Math.PI/180);
}
Symbol 352 MovieClip [__Packages.com.mondo.stimpy.Cannon_MC] Frame 0
class com.mondo.stimpy.Cannon_MC extends com.eliya.utils.AnimClip_MC
{
var setClassName, _parent, barrell_mc, stop;
function Cannon_MC () {
super();
setClassName("Cannon_MC");
}
function onStartFlight(launchPoint_mc) {
_parent.processEvent("startFlight", launchPoint_mc);
}
function set p_rotation(rot) {
barrell_mc._rotation = rot;
//return(p_rotation);
}
function get p_rotation() {
return(barrell_mc._rotation);
}
function setState(state_str) {
barrell_mc.setState(state_str);
super.setState(state_str);
}
function playReadySound() {
_parent._parent.playSound("GiveLove_SND");
}
function state_aim(event_str) {
if (event_str == "onFirstFrame") {
stop();
barrell_mc.stop();
}
}
}
Symbol 353 MovieClip [__Packages.com.mondo.stimpy.Clouds_MC] Frame 0
class com.mondo.stimpy.Clouds_MC extends com.eliya.utils.Base_MovieClip
{
var setClassName, p_clouds_array, attachMovie;
function Clouds_MC () {
super();
setClassName("Clouds_MC");
p_clouds_array = new Array();
var _local4 = 0;
while (_local4 < 7) {
var _local3 = new Object();
_local3._x = (400 + (_local4 * 300)) + random(100);
_local3._y = 200 - random(3500);
_local3._xscale = 70 + random(40);
_local3._yscale = 70 + random(40);
var _local5 = attachMovie("Cloud_MC", ("cloud_" + _local4) + "_mc", _local4, _local3);
p_clouds_array.push(_local5);
_local4++;
}
}
function onEnterFrame() {
var _local3 = 0;
while (_local3 < p_clouds_array.length) {
var _local2 = p_clouds_array[_local3];
var _local4 = {x:0, y:0};
_local2.localToGlobal(_local4);
if (_local4.x < 10) {
_local2._x = _local2._x + ((300 * p_clouds_array.length) + random(100));
_local2._y = 200 - random(3500);
_local2._xscale = 70 + random(40);
_local2._yscale = 70 + random(40);
_local2.gotoAndStop(1);
}
_local3++;
}
}
}
Symbol 354 MovieClip [__Packages.com.mondo.stimpy.Main_MC] Frame 0
class com.mondo.stimpy.Main_MC extends com.eliya.utils.AnimClip_MC
{
var setClassName, p_isStopOnChange, p_currDistance, p_so, p_longestDistance, sfx_mc, sfx2_mc, __set__p_state_str, stop, music_mc, p_distanceDisplay_str, currDist_mc, longestDist_mc;
function Main_MC () {
super();
setClassName("Main_MC");
p_isStopOnChange = true;
p_currDistance = 0;
p_so = SharedObject.getLocal("stimpy_SO");
if (p_so.data.distRecord) {
p_longestDistance = p_so.data.distRecord;
} else {
p_longestDistance = 0;
}
sfx_mc.p_sound = new Sound(sfx_mc);
sfx2_mc.p_sound = new Sound(sfx2_mc);
__set__p_state_str("intro");
stop();
}
function playSound(id, vol) {
if (vol == undefined) {
sfx_mc.p_sound.attachSound(id);
sfx_mc.p_sound.start();
} else {
sfx2_mc.p_sound.setVolume(vol);
sfx2_mc.p_sound.attachSound(id);
sfx2_mc.p_sound.start();
}
}
function musicEvent(event_str) {
switch (event_str) {
case "init" :
music_mc.p_sound.stop();
music_mc.p_sound = new Sound(music_mc);
music_mc.p_sound.attachSound("Music_SND");
music_mc.p_sound.onSoundComplete = function () {
this.start(0);
};
break;
case "start" :
music_mc.p_sound.setVolume(50);
music_mc.p_sound.start(0);
break;
case "fade" :
var _local2 = music_mc.p_sound.getVolume();
music_mc.p_sound.setVolume(Math.max(0, _local2 - 3));
}
}
function state_intro(event_str) {
switch (event_str) {
case "onFirstFrame" :
musicEvent("init");
musicEvent("start");
break;
case "onKeyDown" :
var _local3 = arguments[1];
switch (_local3) {
case 13 :
case 32 :
__set__p_state_str("game");
}
break;
case "onButtonClick" :
if (arguments[1] != "play") {
break;
}
__set__p_state_str("game");
}
}
function state_game(event_str) {
switch (event_str) {
case "onFirstFrame" :
sfx_mc.p_sound.stop();
p_currDistance = 0;
p_distanceDisplay_str = "Distance: " + p_currDistance;
break;
case "onEnterFrame" :
p_distanceDisplay_str = "Distance: " + p_currDistance;
}
}
function state_end(event_str) {
switch (event_str) {
case "onFirstFrame" :
playSound("Senses_SND");
p_longestDistance = Math.max(p_longestDistance, p_currDistance);
p_so.data.distRecord = p_longestDistance;
p_so.flush();
currDist_mc._width = Math.min(p_currDistance / 5, 400);
longestDist_mc._width = Math.min(p_longestDistance / 5, 400);
break;
case "onEnterFrame" :
break;
case "onKeyDown" :
var _local3 = arguments[1];
switch (_local3) {
case 13 :
case 32 :
__set__p_state_str("game");
}
break;
case "onButtonClick" :
if (arguments[1] != "play") {
break;
}
__set__p_state_str("game");
}
}
}
Symbol 355 MovieClip [__Packages.com.mondo.stimpy.Stimpy_MC] Frame 0
class com.mondo.stimpy.Stimpy_MC extends com.eliya.utils.AnimClip_MC
{
var setClassName, p_isStopOnChange, anim_mc, p_stateFrame, __set__p_state_str;
function Stimpy_MC () {
super();
setClassName("Stimpy_MC");
p_isStopOnChange = true;
}
function state_bounce(event_str) {
if (!(event_str === "onEnterFrame")) {
} else if (p_stateFrame == anim_mc._totalframes) {
__set__p_state_str("fly");
}
}
}