STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228054
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5120

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/61411777?noj=FRM61411777-25DC" width="1" height="1"></div>

dangeresque.swf

This is the info page for
Flash #50789

(Click the ID number above for more basic data on this flash file.)


Text
Here you go,
Chiefy!

Sorry bout the
wait. Someone
stuck a barracuda
in my desk.

I KNEW YOU'D
COME THROUGH,
DANGERESQUE.

YOUR METHODS
MAY BE
QUESTIONABLE
BUT YOU ALWAYS
GET RESULTS!

Thanks The Chief.
I'll just get going
then.

WAITAMINUTE?!!
THIS ISN'T A
PICTURE OF THE
VICTIM!

WHO'S THE CRAP'S
THIS GRAYSCALE
SCHLUB?

Uh oh.

Whoa, look at that
shlump!

That guy's just a
victim waiting to
happen!

That sad sack is
definitely not the
"World's Best
Crooked Cop!"

I'm not takin' this
shot.

Watch out Lord
Fatmonger!

A giant rubber
stamp is trying to
assault you!

That saucy rubber
stamp is gonna get
saucy on you!

Well, one hideous
sack deserves
another.

Whoa! This is like
staring at infinity!

Fat, gray, lazy
infinity.

Now HERE's a shot
I can use!

It totally looks
like the Dragon
Man is kung-fuing
that fat slob!

<p align="center"></p>

<p align="left"><font face="4Mini" size="8" color="#000000" letterSpacing="0.000000" kerning="1">sample phrase</font></p>

<p align="left"><font face="4Mini" size="8" color="#000000" letterSpacing="0.000000" kerning="1">sample phrase</font></p>

CLICK SOMEWHERE TO START

MISSION INSTRUCTIONS:

Use the W,A,S,D keys to move
Dangeresque around. Click on
stuff with your MOUSE to bring up
the ACTION MENU! Click on your
INVENTORY in the bottom right and
select an item, then
click an item
in the world
to use them together.
CLICK ANYWHERE TO START

Dangeresque
Roomisode 1:
Behind the Dangerdesque

Dangeresque
Roomisode 1:
Behind the Dangerdesque

programmed by:
jonathan howe

programmed by:
jonathan howe

written by:
matt, jonathan, and mike

written by:
matt, jonathan, and mike

graphics by:
matt and mike

graphics by:
matt and mike

<p align="center"><font face="4Mini" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">Seriously, though...</font></p>

<p align="left"><font face="4Mini" size="8" color="#ffffff" letterSpacing="0.000000" kerning="1">score: 5/200</font></p>

<p align="center"></p>

ActionScript [AS3]

Section 1
//AuxFunctions (caurina.transitions.AuxFunctions) package caurina.transitions { public class AuxFunctions { public static function getObjectLength(_arg1:Object):uint{ var _local2:uint; var _local3:String; _local2 = 0; for (_local3 in _arg1) { _local2++; }; return (_local2); } public static function numberToG(_arg1:Number):Number{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToB(_arg1:Number):Number{ return ((_arg1 & 0xFF)); } public static function numberToR(_arg1:Number):Number{ return (((_arg1 & 0xFF0000) >> 16)); } public static function concatObjects(... _args):Object{ var _local2:Object; var _local3:Object; var _local4:int; var _local5:String; _local2 = {}; _local4 = 0; while (_local4 < _args.length) { _local3 = _args[_local4]; for (_local5 in _local3) { if (_local3[_local5] == null){ delete _local2[_local5]; } else { _local2[_local5] = _local3[_local5]; }; }; _local4++; }; return (_local2); } } }//package caurina.transitions
Section 2
//Equations (caurina.transitions.Equations) package caurina.transitions { public class Equations { public function Equations(){ trace("Equations is a static class and should not be instantiated."); } public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); }; --_arg1; return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2)); }; _arg1 = (_arg1 - 2); _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function init():void{ Tweener.registerTransition("easenone", easeNone); Tweener.registerTransition("linear", easeNone); Tweener.registerTransition("easeinquad", easeInQuad); Tweener.registerTransition("easeoutquad", easeOutQuad); Tweener.registerTransition("easeinoutquad", easeInOutQuad); Tweener.registerTransition("easeoutinquad", easeOutInQuad); Tweener.registerTransition("easeincubic", easeInCubic); Tweener.registerTransition("easeoutcubic", easeOutCubic); Tweener.registerTransition("easeinoutcubic", easeInOutCubic); Tweener.registerTransition("easeoutincubic", easeOutInCubic); Tweener.registerTransition("easeinquart", easeInQuart); Tweener.registerTransition("easeoutquart", easeOutQuart); Tweener.registerTransition("easeinoutquart", easeInOutQuart); Tweener.registerTransition("easeoutinquart", easeOutInQuart); Tweener.registerTransition("easeinquint", easeInQuint); Tweener.registerTransition("easeoutquint", easeOutQuint); Tweener.registerTransition("easeinoutquint", easeInOutQuint); Tweener.registerTransition("easeoutinquint", easeOutInQuint); Tweener.registerTransition("easeinsine", easeInSine); Tweener.registerTransition("easeoutsine", easeOutSine); Tweener.registerTransition("easeinoutsine", easeInOutSine); Tweener.registerTransition("easeoutinsine", easeOutInSine); Tweener.registerTransition("easeincirc", easeInCirc); Tweener.registerTransition("easeoutcirc", easeOutCirc); Tweener.registerTransition("easeinoutcirc", easeInOutCirc); Tweener.registerTransition("easeoutincirc", easeOutInCirc); Tweener.registerTransition("easeinexpo", easeInExpo); Tweener.registerTransition("easeoutexpo", easeOutExpo); Tweener.registerTransition("easeinoutexpo", easeInOutExpo); Tweener.registerTransition("easeoutinexpo", easeOutInExpo); Tweener.registerTransition("easeinelastic", easeInElastic); Tweener.registerTransition("easeoutelastic", easeOutElastic); Tweener.registerTransition("easeinoutelastic", easeInOutElastic); Tweener.registerTransition("easeoutinelastic", easeOutInElastic); Tweener.registerTransition("easeinback", easeInBack); Tweener.registerTransition("easeoutback", easeOutBack); Tweener.registerTransition("easeinoutback", easeInOutBack); Tweener.registerTransition("easeoutinback", easeOutInBack); Tweener.registerTransition("easeinbounce", easeInBounce); Tweener.registerTransition("easeoutbounce", easeOutBounce); Tweener.registerTransition("easeinoutbounce", easeInOutBounce); Tweener.registerTransition("easeoutinbounce", easeOutInBounce); } public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001))); } public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; --_arg1; return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005))); }; --_arg1; return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } } }//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj) package caurina.transitions { public class PropertyInfoObj { public var originalValueComplete:Object; public var modifierParameters:Array; public var isSpecialProperty:Boolean; public var hasModifier:Boolean; public var valueComplete:Number; public var extra:Object; public var valueStart:Number; public var modifierFunction:Function; public var arrayIndex:Number; public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){ valueStart = _arg1; valueComplete = _arg2; originalValueComplete = _arg3; arrayIndex = _arg4; extra = _arg5; isSpecialProperty = _arg6; hasModifier = Boolean(_arg7); modifierFunction = _arg7; modifierParameters = _arg8; } public function toString():String{ var _local1:String; _local1 = "\n[PropertyInfoObj "; _local1 = (_local1 + ("valueStart:" + String(valueStart))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("valueComplete:" + String(valueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("arrayIndex:" + String(arrayIndex))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("extra:" + String(extra))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("hasModifier:" + String(hasModifier))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierFunction:" + String(modifierFunction))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierParameters:" + String(modifierParameters))); _local1 = (_local1 + "]\n"); return (_local1); } public function clone():PropertyInfoObj{ var _local1:PropertyInfoObj; _local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters); return (_local1); } } }//package caurina.transitions
Section 4
//SpecialProperty (caurina.transitions.SpecialProperty) package caurina.transitions { public class SpecialProperty { public var parameters:Array; public var preProcess:Function; public var setValue:Function; public var getValue:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; preProcess = _arg4; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialProperty "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("setValue:" + String(setValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("preProcess:" + String(preProcess))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 5
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier) package caurina.transitions { public class SpecialPropertyModifier { public var getValue:Function; public var modifyValues:Function; public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){ modifyValues = _arg1; getValue = _arg2; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 6
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter) package caurina.transitions { public class SpecialPropertySplitter { public var parameters:Array; public var splitValues:Function; public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){ splitValues = _arg1; parameters = _arg2; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 7
//Tweener (caurina.transitions.Tweener) package caurina.transitions { import flash.display.*; import flash.events.*; import flash.utils.*; public class Tweener { private static var _timeScale:Number = 1; private static var _currentTimeFrame:Number; private static var _specialPropertySplitterList:Object; private static var _engineExists:Boolean = false; private static var _specialPropertyModifierList:Object; private static var _currentTime:Number; private static var _tweenList:Array; private static var _specialPropertyList:Object; private static var _transitionList:Object; private static var _inited:Boolean = false; private static var __tweener_controller__:MovieClip; public function Tweener(){ trace("Tweener is a static class and should not be instantiated."); } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{ var _local4:SpecialPropertyModifier; if (!_inited){ init(); }; _local4 = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{ var _local6:SpecialProperty; if (!_inited){ init(); }; _local6 = new SpecialProperty(_arg2, _arg3, _arg4, _arg5); _specialPropertyList[_arg1] = _local6; } public static function init(... _args):void{ _inited = true; _transitionList = new Object(); Equations.init(); _specialPropertyList = new Object(); _specialPropertyModifierList = new Object(); _specialPropertySplitterList = new Object(); } private static function updateTweens():Boolean{ var _local1:int; if (_tweenList.length == 0){ return (false); }; _local1 = 0; while (_local1 < _tweenList.length) { if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){ if (!updateTweenByIndex(_local1)){ removeTweenByIndex(_local1); }; if (_tweenList[_local1] == null){ removeTweenByIndex(_local1, true); _local1--; }; }; _local1++; }; return (true); } public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Array; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Function; var _local9:TweenListObj; var _local10:Number; var _local11:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local4 = _arg1.concat(); } else { _local4 = [_arg1]; }; _local5 = _arg2; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local6 = (isNaN(_local5.time)) ? 0 : _local5.time; _local7 = (isNaN(_local5.delay)) ? 0 : _local5.delay; if (typeof(_local5.transition) == "string"){ _local11 = _local5.transition.toLowerCase(); _local8 = _transitionList[_local11]; } else { _local8 = _local5.transition; }; if (!Boolean(_local8)){ _local8 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local4.length) { if (_local5.useFrames == true){ _local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams); } else { _local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams); }; _local9.properties = null; _local9.onStart = _local5.onStart; _local9.onUpdate = _local5.onUpdate; _local9.onComplete = _local5.onComplete; _local9.onOverwrite = _local5.onOverwrite; _local9.onStartParams = _local5.onStartParams; _local9.onUpdateParams = _local5.onUpdateParams; _local9.onCompleteParams = _local5.onCompleteParams; _local9.onOverwriteParams = _local5.onOverwriteParams; _local9.onStartScope = _local5.onStartScope; _local9.onUpdateScope = _local5.onUpdateScope; _local9.onCompleteScope = _local5.onCompleteScope; _local9.onOverwriteScope = _local5.onOverwriteScope; _local9.onErrorScope = _local5.onErrorScope; _local9.isCaller = true; _local9.count = _local5.count; _local9.waitFrames = _local5.waitFrames; _tweenList.push(_local9); if ((((_local6 == 0)) && ((_local7 == 0)))){ _local10 = (_tweenList.length - 1); updateTweenByIndex(_local10); removeTweenByIndex(_local10); }; _local3++; }; return (true); } public static function pauseAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function removeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; var _local5:SpecialPropertySplitter; var _local6:Array; var _local7:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ if (_specialPropertySplitterList[_args[_local4]]){ _local5 = _specialPropertySplitterList[_args[_local4]]; _local6 = _local5.splitValues(_arg1, null); _local7 = 0; while (_local7 < _local6.length) { _local3.push(_local6[_local7].name); _local7++; }; } else { _local3.push(_args[_local4]); }; }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local3:TweenListObj; var _local4:TweenListObj; var _local5:uint; var _local6:String; var _local7:Boolean; _local3 = _tweenList[_arg1]; _local4 = _local3.clone(false); _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (Boolean(_local3.properties[_local6])){ _local3.properties[_local6] = undefined; delete _local3.properties[_local6]; }; _local5++; }; for (_local6 in _local4.properties) { _local7 = false; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5] == _local6){ _local7 = true; break; }; _local5++; }; if (!_local7){ _local4.properties[_local6] = undefined; delete _local4.properties[_local6]; }; }; _tweenList.push(_local4); return ((_tweenList.length - 1)); } public static function updateFrame():void{ _currentTimeFrame++; } public static function resumeTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; var _local3:Number; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; _local3 = getCurrentTweeningTime(_local2); _local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } public static function getVersion():String{ return ("AS3 1.31.74"); } public static function onEnterFrame(_arg1:Event):void{ var _local2:Boolean; updateTime(); updateFrame(); _local2 = false; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function updateTime():void{ _currentTime = getTimer(); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var isOver:Boolean; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var eventScope:Object; var tScope:Object; var cTime:Number; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; isOver = false; cTime = getCurrentTweeningTime(tTweening); if (cTime >= tTweening.timeStart){ tScope = tTweening.scope; if (tTweening.isCaller){ do { t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1)); b = tTweening.timeStart; c = (tTweening.timeComplete - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); } while (!(cTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates))); if (cTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening.hasStarted){ if (Boolean(tTweening.onStart)){ eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope; try { tTweening.onStart.apply(eventScope, tTweening.onStartParams); } catch(e2:Error) { handleError(tTweening, e2, "onStart"); }; }; for (pName in tTweening.properties) { if (tTweening.properties[pName].isSpecialProperty){ if (Boolean(_specialPropertyList[pName].preProcess)){ tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra); }; pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { pv = tScope[pName]; }; tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv; }; mustUpdate = true; tTweening.hasStarted = true; }; if (mustUpdate){ for (pName in tTweening.properties) { tProperty = tTweening.properties[pName]; if (isOver){ nv = tProperty.valueComplete; } else { if (tProperty.hasModifier){ t = (cTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (cTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d, tTweening.transitionParams); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; if (tProperty.isSpecialProperty){ _specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { tScope[pName] = nv; }; }; tTweening.updatesSkipped = 0; if (Boolean(tTweening.onUpdate)){ eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope; try { tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams); } catch(e3:Error) { handleError(tTweening, e3, "onUpdate"); }; }; } else { tTweening.updatesSkipped++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope; try { tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams); } catch(e4:Error) { handleError(tTweening, e4, "onComplete"); }; }; return (!(isOver)); }; return (true); } public static function setTimeScale(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (isNaN(_arg1)){ _arg1 = 1; }; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; if (_arg1 != _timeScale){ if (_tweenList != null){ _local2 = 0; while (_local2 < _tweenList.length) { _local3 = getCurrentTweeningTime(_tweenList[_local2]); _tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1)); _tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1)); if (_tweenList[_local2].timePaused != undefined){ _tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1)); }; _local2++; }; }; _timeScale = _arg1; }; } public static function resumeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { resumeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{ var eventScope:Object; var pTweening = _arg1; var pError = _arg2; var pCallBackName = _arg3; if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){ eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope; try { pTweening.onError.apply(eventScope, [pTweening.scope, pError]); } catch(metaError:Error) { printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace())); }; } else { if (!Boolean(pTweening.onError)){ printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace())); }; }; } private static function startEngine():void{ _engineExists = true; _tweenList = new Array(); __tweener_controller__ = new MovieClip(); __tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); _currentTimeFrame = 0; updateTime(); } public static function removeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { removeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:Array; var _local7:Object; var _local8:Number; var _local9:Number; var _local10:Array; var _local11:Object; var _local12:Object; var _local13:Function; var _local14:Object; var _local15:TweenListObj; var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local6 = _arg1.concat(); } else { _local6 = [_arg1]; }; _local7 = TweenListObj.makePropertiesChain(_arg2); if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local8 = (isNaN(_local7.time)) ? 0 : _local7.time; _local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay; _local10 = new Array(); _local11 = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true}; _local12 = new Object(); for (_local5 in _local7) { if (!_local11[_local5]){ if (_specialPropertySplitterList[_local5]){ _local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters); _local3 = 0; while (_local3 < _local17.length) { if (_specialPropertySplitterList[_local17[_local3].name]){ _local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters); _local4 = 0; while (_local4 < _local18.length) { _local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false}; _local4++; }; } else { _local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false}; }; _local3++; }; } else { if (_specialPropertyModifierList[_local5] != undefined){ _local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]); _local3 = 0; while (_local3 < _local19.length) { _local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue}; _local3++; }; } else { _local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]}; }; }; }; }; for (_local5 in _local10) { if (_specialPropertyList[_local5] != undefined){ _local10[_local5].isSpecialProperty = true; } else { if (_local6[0][_local5] == undefined){ printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property.")); }; }; }; for (_local5 in _local12) { if (_local10[_local5] != undefined){ _local10[_local5].modifierParameters = _local12[_local5].modifierParameters; _local10[_local5].modifierFunction = _local12[_local5].modifierFunction; }; }; if (typeof(_local7.transition) == "string"){ _local20 = _local7.transition.toLowerCase(); _local13 = _transitionList[_local20]; } else { _local13 = _local7.transition; }; if (!Boolean(_local13)){ _local13 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local6.length) { _local14 = new Object(); for (_local5 in _local10) { _local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters); }; if (_local7.useFrames == true){ _local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams); } else { _local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams); }; _local15.properties = _local14; _local15.onStart = _local7.onStart; _local15.onUpdate = _local7.onUpdate; _local15.onComplete = _local7.onComplete; _local15.onOverwrite = _local7.onOverwrite; _local15.onError = _local7.onError; _local15.onStartParams = _local7.onStartParams; _local15.onUpdateParams = _local7.onUpdateParams; _local15.onCompleteParams = _local7.onCompleteParams; _local15.onOverwriteParams = _local7.onOverwriteParams; _local15.onStartScope = _local7.onStartScope; _local15.onUpdateScope = _local7.onUpdateScope; _local15.onCompleteScope = _local7.onCompleteScope; _local15.onOverwriteScope = _local7.onOverwriteScope; _local15.onErrorScope = _local7.onErrorScope; _local15.rounded = _local7.rounded; _local15.skipUpdates = _local7.skipUpdates; removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete); _tweenList.push(_local15); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local16 = (_tweenList.length - 1); updateTweenByIndex(_local16); removeTweenByIndex(_local16); }; _local3++; }; return (true); } public static function registerTransition(_arg1:String, _arg2:Function):void{ if (!_inited){ init(); }; _transitionList[_arg1] = _arg2; } public static function printError(_arg1:String):void{ trace(("## [Tweener] Error: " + _arg1)); } private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{ var _local4:Boolean; var _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; _local4 = false; if (!Boolean(_tweenList)){ return (false); }; _local5 = 0; while (_local5 < _tweenList.length) { if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){ if (_arg3.length == 0){ _arg1(_local5); _local4 = true; } else { _local6 = new Array(); _local7 = 0; while (_local7 < _arg3.length) { if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){ _local6.push(_arg3[_local7]); }; _local7++; }; if (_local6.length > 0){ _local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties); if (_local8 == _local6.length){ _arg1(_local5); _local4 = true; } else { _local9 = splitTweens(_local5, _local6); _arg1(_local9); _local4 = true; }; }; }; }; _local5++; }; return (_local4); } public static function getTweens(_arg1:Object):Array{ var _local2:uint; var _local3:String; var _local4:Array; if (!Boolean(_tweenList)){ return ([]); }; _local4 = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } public static function isTweening(_arg1:Object):Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ return (true); }; _local2++; }; return (false); } public static function pauseTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (_local2.isPaused))){ return (false); }; _local2.timePaused = getCurrentTweeningTime(_local2); _local2.isPaused = true; return (true); } public static function getCurrentTweeningTime(_arg1:Object):Number{ return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime); } public static function getTweenCount(_arg1:Object):Number{ var _local2:uint; var _local3:Number; if (!Boolean(_tweenList)){ return (0); }; _local3 = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ _local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties)); }; _local2++; }; return (_local3); } private static function stopEngine():void{ _engineExists = false; _tweenList = null; _currentTime = 0; _currentTimeFrame = 0; __tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); __tweener_controller__ = null; } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var removed:Boolean; var removedLocally:Boolean; var i:uint; var tl:uint; var pName:String; var eventScope:Object; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; removed = false; tl = _tweenList.length; i = 0; while (i < tl) { if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){ if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){ removedLocally = false; for (pName in _tweenList[i].properties) { if (Boolean(p_properties[pName])){ if (Boolean(_tweenList[i].onOverwrite)){ eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope; try { _tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams); } catch(e:Error) { handleError(_tweenList[i], e, "onOverwrite"); }; }; _tweenList[i].properties[pName] = undefined; delete _tweenList[i].properties[pName]; removedLocally = true; removed = true; }; }; if (removedLocally){ if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){ removeTweenByIndex(i); }; }; }; }; i = (i + 1); }; return (removed); } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{ var _local4:SpecialPropertySplitter; if (!_inited){ init(); }; _local4 = new SpecialPropertySplitter(_arg2, _arg3); _specialPropertySplitterList[_arg1] = _local4; } public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{ _tweenList[_arg1] = null; if (_arg2){ _tweenList.splice(_arg1, 1); }; return (true); } public static function resumeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } } }//package caurina.transitions
Section 8
//TweenListObj (caurina.transitions.TweenListObj) package caurina.transitions { public class TweenListObj { public var onUpdate:Function; public var useFrames:Boolean; public var hasStarted:Boolean; public var onOverwriteParams:Array; public var timeStart:Number; public var count:Number; public var timeComplete:Number; public var onStartParams:Array; public var onUpdateScope:Object; public var rounded:Boolean; public var onUpdateParams:Array; public var properties:Object; public var onComplete:Function; public var transitionParams:Object; public var updatesSkipped:Number; public var onStart:Function; public var onOverwriteScope:Object; public var skipUpdates:Number; public var onStartScope:Object; public var scope:Object; public var transition:Function; public var timePaused:Number; public var onCompleteParams:Array; public var timesCalled:Number; public var isCaller:Boolean; public var onError:Function; public var onErrorScope:Object; public var onOverwrite:Function; public var isPaused:Boolean; public var waitFrames:Boolean; public var onCompleteScope:Object; public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){ scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5; transitionParams = _arg6; properties = new Object(); isPaused = false; timePaused = undefined; isCaller = false; updatesSkipped = 0; timesCalled = 0; skipUpdates = 0; hasStarted = false; } public function clone(_arg1:Boolean):TweenListObj{ var _local2:TweenListObj; var _local3:String; _local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams); _local2.properties = new Array(); for (_local3 in properties) { _local2.properties[_local3] = properties[_local3].clone(); }; _local2.skipUpdates = skipUpdates; _local2.updatesSkipped = updatesSkipped; if (!_arg1){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onError = onError; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; _local2.onStartScope = onStartScope; _local2.onUpdateScope = onUpdateScope; _local2.onCompleteScope = onCompleteScope; _local2.onOverwriteScope = onOverwriteScope; _local2.onErrorScope = onErrorScope; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2.isCaller = isCaller; _local2.count = count; _local2.timesCalled = timesCalled; _local2.waitFrames = waitFrames; _local2.hasStarted = hasStarted; return (_local2); } public function toString():String{ var _local1:String; var _local2:Boolean; var _local3:String; _local1 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); _local2 = true; for (_local3 in properties) { if (!_local2){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local3].name)); _local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete)); _local1 = (_local1 + "]"); _local2 = false; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); _local1 = (_local1 + (", transitionParams:" + String(transitionParams))); if (skipUpdates){ _local1 = (_local1 + (", skipUpdates:" + String(skipUpdates))); }; if (updatesSkipped){ _local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped))); }; if (Boolean(onStart)){ _local1 = (_local1 + (", onStart:" + String(onStart))); }; if (Boolean(onUpdate)){ _local1 = (_local1 + (", onUpdate:" + String(onUpdate))); }; if (Boolean(onComplete)){ _local1 = (_local1 + (", onComplete:" + String(onComplete))); }; if (Boolean(onOverwrite)){ _local1 = (_local1 + (", onOverwrite:" + String(onOverwrite))); }; if (Boolean(onError)){ _local1 = (_local1 + (", onError:" + String(onError))); }; if (onStartParams){ _local1 = (_local1 + (", onStartParams:" + String(onStartParams))); }; if (onUpdateParams){ _local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams))); }; if (onCompleteParams){ _local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams))); }; if (onOverwriteParams){ _local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams))); }; if (onStartScope){ _local1 = (_local1 + (", onStartScope:" + String(onStartScope))); }; if (onUpdateScope){ _local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope))); }; if (onCompleteScope){ _local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope))); }; if (onOverwriteScope){ _local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope))); }; if (onErrorScope){ _local1 = (_local1 + (", onErrorScope:" + String(onErrorScope))); }; if (rounded){ _local1 = (_local1 + (", rounded:" + String(rounded))); }; if (isPaused){ _local1 = (_local1 + (", isPaused:" + String(isPaused))); }; if (timePaused){ _local1 = (_local1 + (", timePaused:" + String(timePaused))); }; if (isCaller){ _local1 = (_local1 + (", isCaller:" + String(isCaller))); }; if (count){ _local1 = (_local1 + (", count:" + String(count))); }; if (timesCalled){ _local1 = (_local1 + (", timesCalled:" + String(timesCalled))); }; if (waitFrames){ _local1 = (_local1 + (", waitFrames:" + String(waitFrames))); }; if (hasStarted){ _local1 = (_local1 + (", hasStarted:" + String(hasStarted))); }; _local1 = (_local1 + "]\n"); return (_local1); } public static function makePropertiesChain(_arg1:Object):Object{ var _local2:Object; var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; _local2 = _arg1.base; if (_local2){ _local3 = {}; if ((_local2 is Array)){ _local4 = []; _local8 = 0; while (_local8 < _local2.length) { _local4.push(_local2[_local8]); _local8++; }; } else { _local4 = [_local2]; }; _local4.push(_arg1); _local6 = _local4.length; _local7 = 0; while (_local7 < _local6) { if (_local4[_local7]["base"]){ _local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]); } else { _local5 = _local4[_local7]; }; _local3 = AuxFunctions.concatObjects(_local3, _local5); _local7++; }; if (_local3["base"]){ delete _local3["base"]; }; return (_local3); //unresolved jump }; return (_arg1); } } }//package caurina.transitions
Section 9
//CommBox (com.homestarrunner.dangeresque.bubble.CommBox) package com.homestarrunner.dangeresque.bubble { import flash.geom.*; import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import caurina.transitions.*; import com.homestarrunner.dangeresque.interfaces.*; import flash.utils.*; public class CommBox extends EventDispatcher { protected var speaker_mc:IAbleToSpeak; protected var text:String; protected var _mc:MovieClip; public static const PHRASE_COMPLETE:String = "PHRASE_COMPLETE"; protected static var parent_mc:MovieClip; public function CommBox(_arg1:IAbleToSpeak, _arg2:String, _arg3:String, _arg4:Boolean){ var _local5:Class; var _local6:Point; var _local7:Point; super(); speaker_mc = _arg1; text = _arg2; _local5 = (getDefinitionByName(_arg3) as Class); _mc = new (_local5); parent_mc.addChild(_mc); _local6 = speaker_mc.talkPoint; _local7 = parent_mc.globalToLocal(_local6); _mc.x = _local7.x; _mc.y = _local7.y; _mc._txt.wordWrap = true; _mc._txt.autoSize = "left"; _mc._txt.multiline = true; _mc._txt.selectable = false; _mc._txt.text = text; _mc.talkBoxBack_mc.width = (Math.round(_mc._txt.textWidth) + 6); if (_mc._txt.textHeight < 10){ _mc.talkBoxBack_mc.height = (Math.round(_mc._txt.textHeight) + 6); } else { _mc.talkBoxBack_mc.height = (Math.round((_mc._txt.textHeight - 6)) + 6); }; if (_arg4){ _mc.more_mc.x = (((_mc.talkBoxBack_mc.x + _mc.talkBoxBack_mc.width) - _mc.more_mc.width) - 1); _mc.more_mc.y = (((_mc.talkBoxBack_mc.y + _mc.talkBoxBack_mc.height) - _mc.more_mc.height) - 1); } else { _mc.more_mc.visible = false; }; _mc.stage.addEventListener(MouseEvent.MOUSE_DOWN, talkBoxClickListener); _mc.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener); } private function alignTalkMarkToOriginalSpeakerPoint():void{ var _local1:Point; var _local2:Point; _local1 = speaker_mc.talkPoint; _local2 = _mc.globalToLocal(_local1); _mc.talkBoxMark_mc.x = _local2.x; if (_mc.talkBoxMark_mc.x > ((_mc.talkBoxBack_mc.x + _mc.talkBoxBack_mc.width) - 15)){ _mc.talkBoxMark_mc.x = ((_mc.talkBoxBack_mc.x + _mc.talkBoxBack_mc.width) - 15); }; } public function destroy():void{ if (_mc.parent){ _mc.stage.removeEventListener(MouseEvent.MOUSE_DOWN, talkBoxClickListener); _mc.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener); _mc.removeChild(_mc._txt); _mc.parent.removeChild(_mc); }; _mc = null; } protected function showOutsizedItems():void{ _mc.addChild(_mc._txt); } protected function startTimer():void{ var _local1:Number; _local1 = ((text.length * 0.05) + 2); Tweener.addTween(_mc, {alpha:1, time:_local1, transition:"linear", onComplete:timerExpiredListener}); } protected function callCallback(_arg1:Boolean):void{ Tweener.removeTweens(_mc); dispatchEvent(new Event(PHRASE_COMPLETE)); } protected function talkBoxClickListener(_arg1:MouseEvent):void{ callCallback(true); } protected function offsetToRegistrationMark():void{ var _local1:Number; var _local2:Number; var _local3:int; _local1 = Math.floor(_mc.talkBoxMark_mc.x); _local2 = Math.floor((_mc.talkBoxMark_mc.y + _mc.talkBoxMark_mc.height)); _local3 = 0; while (_local3 < _mc.numChildren) { _mc.getChildAt(_local3).x = (_mc.getChildAt(_local3).x - _local1); _mc.getChildAt(_local3).y = (_mc.getChildAt(_local3).y - _local2); _local3++; }; keepFromExceedingStageBounds(); alignTalkMarkToOriginalSpeakerPoint(); } protected function hideOutsizedItems():void{ _mc.removeChild(_mc._txt); } protected function keepFromExceedingStageBounds():void{ var _local1:Rectangle; var _local2:Rectangle; hideOutsizedItems(); _local1 = new Rectangle(Game.SCREEN_PADDING, Game.SCREEN_PADDING, (Game.STAGE_WIDTH - Game.SCREEN_PADDING), (Game.STAGE_HEIGHT - Game.SCREEN_PADDING)); _local2 = _mc.getBounds(_mc.stage); if (!_local1.containsRect(_local2)){ if (_local2.x < _local1.x){ _mc.x = (_mc.x + (_local1.x - _local2.x)); } else { if (_local2.bottomRight.x > _local1.bottomRight.x){ _mc.x = (_mc.x + (_local1.bottomRight.x - _local2.bottomRight.x)); }; }; if (_local2.y < _local1.y){ _mc.y = (_mc.y + (_local1.y - _local2.y)); } else { if (_local2.bottomRight.y > _local1.bottomRight.y){ _mc.y = (_mc.y + (_local1.bottomRight.y - _local2.bottomRight.y)); }; }; }; showOutsizedItems(); trace("CommBox::keepFromExceedingStageBounds: ", _mc.x, _mc.y); } private function keyDownListener(_arg1:KeyboardEvent):void{ } protected function timerExpiredListener():void{ callCallback(false); } public static function initializeLayer(_arg1:MovieClip):void{ parent_mc = _arg1; } } }//package com.homestarrunner.dangeresque.bubble
Section 10
//TalkBox (com.homestarrunner.dangeresque.bubble.TalkBox) package com.homestarrunner.dangeresque.bubble { import com.homestarrunner.dangeresque.interfaces.*; public class TalkBox extends CommBox { public function TalkBox(_arg1:IAbleToSpeak, _arg2:String, _arg3:Boolean){ super(_arg1, _arg2, "com.homestarrunner.dangeresque.bubble.TalkBoxSymbol", _arg3); _mc.talkBoxB_mc.width = (_mc.talkBoxT_mc.width = (_mc.talkBoxBack_mc.width - 2)); _mc.talkBoxL_mc.height = (_mc.talkBoxR_mc.height = (_mc.talkBoxBack_mc.height - 2)); _mc.talkBoxR_mc.x = (_mc.talkBoxBack_mc.x + _mc.talkBoxBack_mc.width); _mc.talkBoxL_mc.x = (_mc.talkBoxBack_mc.x - 1); _mc.talkBoxT_mc.y = (_mc.talkBoxBack_mc.y - 1); _mc.talkBoxB_mc.y = (_mc.talkBoxBack_mc.y + _mc.talkBoxBack_mc.height); _mc.talkBoxTL_mc.x = (_mc.talkBoxBL_mc.x = _mc.talkBoxBack_mc.x); _mc.talkBoxTR_mc.x = (_mc.talkBoxBR_mc.x = ((_mc.talkBoxBack_mc.x + _mc.talkBoxBack_mc.width) - 1)); _mc.talkBoxTL_mc.y = (_mc.talkBoxTR_mc.y = _mc.talkBoxBack_mc.y); _mc.talkBoxBL_mc.y = (_mc.talkBoxBR_mc.y = ((_mc.talkBoxBack_mc.y + _mc.talkBoxBack_mc.height) - 1)); _mc.talkBoxMark_mc.x = (_mc.talkBoxB_mc.x + 10); _mc.talkBoxMark_mc.y = _mc.talkBoxB_mc.y; offsetToRegistrationMark(); startTimer(); } } }//package com.homestarrunner.dangeresque.bubble
Section 11
//TalkBoxSymbol (com.homestarrunner.dangeresque.bubble.TalkBoxSymbol) package com.homestarrunner.dangeresque.bubble { import flash.display.*; import flash.text.*; public dynamic class TalkBoxSymbol extends MovieClip { public var talkBoxTR_mc:MovieClip; public var talkBoxBack_mc:MovieClip; public var talkBoxL_mc:MovieClip; public var talkBoxT_mc:MovieClip; public var talkBoxR_mc:MovieClip; public var talkBoxTL_mc:MovieClip; public var _txt:TextField; public var talkBoxB_mc:MovieClip; public var talkBoxBL_mc:MovieClip; public var talkBoxMark_mc:MovieClip; public var talkBoxBR_mc:MovieClip; public var more_mc:MovieClip; } }//package com.homestarrunner.dangeresque.bubble
Section 12
//ThinkBox (com.homestarrunner.dangeresque.bubble.ThinkBox) package com.homestarrunner.dangeresque.bubble { import com.homestarrunner.dangeresque.interfaces.*; public class ThinkBox extends CommBox { public function ThinkBox(_arg1:IAbleToSpeak, _arg2:String, _arg3:Boolean){ super(_arg1, _arg2, "com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol", _arg3); _mc.talkBoxB_mc.mask_mc.width = (_mc.talkBoxT_mc.mask_mc.width = Math.round(_mc.talkBoxBack_mc.width)); _mc.talkBoxL_mc.mask_mc.width = (_mc.talkBoxR_mc.mask_mc.width = Math.round(_mc.talkBoxBack_mc.height)); _mc.talkBoxL_mc.y = (_mc.talkBoxR_mc.y = _mc.talkBoxBack_mc.y); _mc.talkBoxT_mc.x = (_mc.talkBoxB_mc.x = _mc.talkBoxBack_mc.x); _mc.talkBoxT_mc.y = _mc.talkBoxBack_mc.y; _mc.talkBoxB_mc.y = (_mc.talkBoxBack_mc.y + _mc.talkBoxBack_mc.height); _mc.talkBoxR_mc.x = (_mc.talkBoxBack_mc.x + _mc.talkBoxBack_mc.width); _mc.talkBoxL_mc.x = _mc.talkBoxBack_mc.x; _mc.talkBoxMark_mc.x = (_mc.talkBoxB_mc.x + 10); _mc.talkBoxMark_mc.y = _mc.talkBoxB_mc.y; _mc.talkBoxTL_mc.x = (_mc.talkBoxBL_mc.x = _mc.talkBoxBack_mc.x); _mc.talkBoxTR_mc.x = (_mc.talkBoxBR_mc.x = (_mc.talkBoxBack_mc.x + _mc.talkBoxBack_mc.width)); _mc.talkBoxTL_mc.y = (_mc.talkBoxTR_mc.y = _mc.talkBoxBack_mc.y); _mc.talkBoxBL_mc.y = (_mc.talkBoxBR_mc.y = (_mc.talkBoxBack_mc.y + _mc.talkBoxBack_mc.height)); offsetToRegistrationMark(); startTimer(); } override protected function showOutsizedItems():void{ _mc.addChild(_mc._txt); _mc.addChild(_mc.talkBoxB_mc); _mc.addChild(_mc.talkBoxT_mc); _mc.addChild(_mc.talkBoxL_mc); _mc.addChild(_mc.talkBoxR_mc); } override protected function hideOutsizedItems():void{ _mc.removeChild(_mc._txt); _mc.removeChild(_mc.talkBoxB_mc); _mc.removeChild(_mc.talkBoxT_mc); _mc.removeChild(_mc.talkBoxL_mc); _mc.removeChild(_mc.talkBoxR_mc); } } }//package com.homestarrunner.dangeresque.bubble
Section 13
//ThinkBoxSymbol (com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol) package com.homestarrunner.dangeresque.bubble { import flash.display.*; import flash.text.*; public dynamic class ThinkBoxSymbol extends MovieClip { public var talkBoxTR_mc:MovieClip; public var talkBoxBack_mc:MovieClip; public var talkBoxL_mc:MovieClip; public var talkBoxT_mc:MovieClip; public var talkBoxR_mc:MovieClip; public var talkBoxTL_mc:MovieClip; public var _txt:TextField; public var talkBoxB_mc:MovieClip; public var talkBoxBL_mc:MovieClip; public var talkBoxMark_mc:MovieClip; public var talkBoxBR_mc:MovieClip; public var more_mc:MovieClip; } }//package com.homestarrunner.dangeresque.bubble
Section 14
//Conversation (com.homestarrunner.dangeresque.conversations.Conversation) package com.homestarrunner.dangeresque.conversations { import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.props.*; import com.homestarrunner.dangeresque.customevent.*; import com.homestarrunner.dangeresque.bubble.*; public class Conversation extends EventDispatcher { private var currentPhrase:Number; private var commBox:CommBox; private var callback:Function; private var _successfulCombination:Boolean; private var _playerObj:Player; private var phrases:Array; private var _hasBeenReset:Boolean; public static const ANIMATE:String = "ANIMATE"; public static const CALLBACK:String = "CALLBACK"; public static const UPDATE_GAMESTATE:String = "UPDATE_GAMESTATE"; public static const FACE_DIR:String = "FACE_DIR"; public static const FACE_PROP:String = "FACE_PROP"; public static const THINK:String = "THINK"; public static const PAUSE:String = "PAUSE"; public static const ADD_ITEM:String = "ADD_ITEM"; public static const PROP_ANIMATE:String = "PROP_ANIMATE"; public static const WALK_TO_POINT:String = "WALK_TO_POINT"; public static const CREATE_OVERLAY:String = "CREATE_OVERLAY"; public static const OVERLAY:String = "OVERLAY"; public static const GOTO_FRAME:String = "GOTO_FRAME"; public static const SPEAK:String = "SPEAK"; public static const PLAY_SOUND:String = "PLAY_SOUND"; public static const ADD_SCORE:String = "ADD_SCORE"; public static const REMOVE_ITEM:String = "REMOVE_ITEM"; public static const WALK_TO_PROP:String = "WALK_TO_PROP"; public static const TALK_PHONE:String = "TALK_PHONE"; private static var defaultSpeaker_mc:MovieClip; public function Conversation(_arg1:Player){ phrases = new Array(); _playerObj = _arg1; _successfulCombination = false; } public function advance():void{ nextPhrase(); } public function addFaceDirection(_arg1:String):void{ phrases.push(new ConversationPhraseFaceDir(_playerObj, _arg1)); } private function nextPhrase():void{ var _local1:Boolean; var _local2:ConversationPhrase; var _local3:CreateOverlayEvent; if (commBox){ commBox.removeEventListener(CommBox.PHRASE_COMPLETE, nextPhraseListener); commBox.destroy(); commBox = null; }; currentPhrase++; _playerObj.stopCommunicating(); MousePointer.endDialog(); MousePointer.endWait(); if (currentPhrase == phrases.length){ dispatchEvent(new Event(Event.COMPLETE)); delete ??getglobalscope [this]; return; }; _local1 = (currentPhrase < (phrases.length - 1)); _local2 = ConversationPhrase(phrases[currentPhrase]); switch (_local2.type){ case THINK: commBox = new ThinkBox(phrases[currentPhrase].speaker_mc, phrases[currentPhrase].phrase, _local1); if (phrases[currentPhrase].speaker_mc == _playerObj._mc){ _playerObj.think(); }; commBox.addEventListener(CommBox.PHRASE_COMPLETE, nextPhraseListener); MousePointer.startDialog(); break; case SPEAK: commBox = new TalkBox(phrases[currentPhrase].speaker_mc, phrases[currentPhrase].phrase, _local1); if (phrases[currentPhrase].speaker_mc == _playerObj._mc){ _playerObj.talk(); }; MousePointer.startDialog(); commBox.addEventListener(CommBox.PHRASE_COMPLETE, nextPhraseListener); break; case TALK_PHONE: commBox = new TalkBox(phrases[currentPhrase].speaker_mc, phrases[currentPhrase].phrase, _local1); if (phrases[currentPhrase].speaker_mc == _playerObj._mc){ _playerObj.talkPhone(); }; MousePointer.startDialog(); commBox.addEventListener(CommBox.PHRASE_COMPLETE, nextPhraseListener); break; case OVERLAY: _local3 = new CreateOverlayEvent(CREATE_OVERLAY); _local3.overlayClass = ConversationPhraseOverlay(phrases[currentPhrase]).classname; dispatchEvent(_local3); break; default: _local2.addEventListener(Event.COMPLETE, nextPhraseListener); _local2.addEventListener(Player.WALK_TO_CANCELED, cancelWalkToListener); _local2.begin(); break; }; } public function addNonPlayerPhrase(_arg1:String, _arg2:MovieClip, _arg3:String="SPEAK"):void{ phrases.push(new ConversationPhraseCommunicate(_arg1, _arg2, _arg3)); } private function cancelWalkToListener(_arg1:Event):void{ phrases[currentPhrase].removeEventListener(Event.COMPLETE, nextPhraseListener); phrases[currentPhrase].removeEventListener(Player.WALK_TO_CANCELED, cancelWalkToListener); trace("Conversation::cancelWalkToListener phrases length before =", phrases.length, currentPhrase); clearEnding(); if (phrases[currentPhrase].prop){ Prop(phrases[currentPhrase].prop).appendFailedWalkToComment(this); }; trace("Conversation::cancelWalkToListener phrases length after =", phrases.length, currentPhrase); nextPhrase(); } public function addCallback(_arg1:Function, _arg2:Object, ... _args):void{ if (_args[0]){ phrases.push(new ConversationPhraseCallback(_arg1, _arg2, _args[0])); } else { phrases.push(new ConversationPhraseCallback(_arg1, _arg2)); }; } public function addFaceProp(_arg1:Prop):void{ phrases.push(new ConversationPhraseFaceProp(_playerObj, _arg1)); } public function addInventoryRemove(_arg1:String):void{ phrases.push(new ConversationPhraseRemoveFromInventory(_arg1)); } public function addGamestateUpdate(_arg1:String, _arg2:Object):void{ phrases.push(new ConversationPhraseGamestateUpdate(_arg1, _arg2)); } public function addWalkToProp(_arg1:Prop):void{ phrases.push(new ConversationPhraseWalkToProp(_playerObj, _arg1)); } public function addGotoFrame(_arg1:MovieClip, _arg2:String, _arg3:Boolean=false):void{ phrases.push(new ConversationPhraseGotoFrame(_arg1, _arg2, _arg3)); } public function set successfulCombination(_arg1:Boolean):void{ _successfulCombination = _arg1; } public function begin():void{ currentPhrase = -1; nextPhrase(); } public function addPhrase(_arg1:String, _arg2:String="SPEAK"):void{ phrases.push(new ConversationPhraseCommunicate(_arg1, defaultSpeaker_mc, _arg2)); } public function addPropAnimation(_arg1:Prop, _arg2:String="start", _arg3:String="end"):void{ phrases.push(new ConversationPhrasePropAnimation(_arg1, _arg2, _arg3)); } public function addPause(_arg1:Number):void{ phrases.push(new ConversationPhrasePause(_arg1)); } public function clearEnding():void{ phrases.splice((currentPhrase + 1)); } public function get successfulCombination():Boolean{ return (_successfulCombination); } private function nextPhraseListener(_arg1:Event):void{ phrases[currentPhrase].removeEventListener(Event.COMPLETE, nextPhraseListener); phrases[currentPhrase].removeEventListener(Event.CANCEL, nextPhraseListener); nextPhrase(); } public function addAnimation(_arg1:String, _arg2:String="start", _arg3:String="end"):void{ phrases.push(new ConversationPhraseAnimation(defaultSpeaker_mc, _arg2, _arg3, _arg1)); } public function addInventoryAdd(_arg1:String):void{ phrases.push(new ConversationPhraseAddToInventory(_arg1)); } public function addWalkToPoint(_arg1:Number, _arg2:Number):void{ phrases.push(new ConversationPhraseWalkToPoint(_playerObj, _arg1, _arg2)); } public function addSound(_arg1:String, _arg2:Boolean):void{ phrases.push(new ConversationPhrasePlaySound(_arg1, _arg2)); } public function addOverlay(_arg1:Class):void{ phrases.push(new ConversationPhraseOverlay(_arg1)); } private function cancelConversationListener(_arg1:Event):void{ phrases[currentPhrase].removeEventListener(Event.COMPLETE, nextPhraseListener); phrases[currentPhrase].removeEventListener(Event.CANCEL, nextPhraseListener); dispatchEvent(new Event(Event.COMPLETE)); } public function addScoreIncrement(_arg1:uint):void{ phrases.push(new ConversationPhraseAddScore(_arg1)); } public static function init(_arg1:MovieClip):void{ defaultSpeaker_mc = _arg1; } } }//package com.homestarrunner.dangeresque.conversations
Section 15
//ConversationPhrase (com.homestarrunner.dangeresque.conversations.ConversationPhrase) package com.homestarrunner.dangeresque.conversations { import flash.events.*; public class ConversationPhrase extends EventDispatcher { public var type:String; public function ConversationPhrase(_arg1:String){ type = _arg1; } public function begin():void{ } } }//package com.homestarrunner.dangeresque.conversations
Section 16
//ConversationPhraseAddScore (com.homestarrunner.dangeresque.conversations.ConversationPhraseAddScore) package com.homestarrunner.dangeresque.conversations { import flash.events.*; import com.homestarrunner.dangeresque.*; public class ConversationPhraseAddScore extends ConversationPhrase { private var _increment:uint; public function ConversationPhraseAddScore(_arg1:uint){ super(Conversation.ADD_SCORE); _increment = _arg1; } override public function begin():void{ trace("ConversationPhraseAddScore:begin"); GameState.scoreManager.add(_increment); dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 17
//ConversationPhraseAddToInventory (com.homestarrunner.dangeresque.conversations.ConversationPhraseAddToInventory) package com.homestarrunner.dangeresque.conversations { import flash.events.*; import com.homestarrunner.dangeresque.*; public class ConversationPhraseAddToInventory extends ConversationPhrase { private var _itemName:String; public function ConversationPhraseAddToInventory(_arg1:String){ super(Conversation.ADD_ITEM); _itemName = _arg1; } override public function begin():void{ GameState.inventoryObj.add(_itemName); dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 18
//ConversationPhraseAnimation (com.homestarrunner.dangeresque.conversations.ConversationPhraseAnimation) package com.homestarrunner.dangeresque.conversations { import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.util.*; public class ConversationPhraseAnimation extends ConversationPhrase { public var speaker_mc:MovieClip; public var endLabel:String; public var startLabel:String; public var parentClipLabel:String; public function ConversationPhraseAnimation(_arg1:MovieClip, _arg2:String, _arg3:String, _arg4:String){ super(Conversation.ANIMATE); speaker_mc = _arg1; startLabel = _arg2; parentClipLabel = _arg4; endLabel = _arg3; } private function enterFrameListener(_arg1:Event):void{ if (speaker_mc.subclip_mc.currentLabel == endLabel){ speaker_mc.subclip_mc.stop(); dispatchEvent(new Event(Event.COMPLETE)); speaker_mc.subclip_mc.removeEventListener(Event.ENTER_FRAME, enterFrameListener); }; } private function customWaitComplete():void{ speaker_mc.subclip_mc.gotoAndPlay(startLabel); speaker_mc.subclip_mc.addEventListener(Event.ENTER_FRAME, enterFrameListener); } override public function begin():void{ MousePointer.startWait(); if (speaker_mc.currentLabel != parentClipLabel){ CustomWait.stopFrameAndDo(speaker_mc, parentClipLabel, customWaitComplete, this); } else { customWaitComplete(); }; } } }//package com.homestarrunner.dangeresque.conversations
Section 19
//ConversationPhraseCallback (com.homestarrunner.dangeresque.conversations.ConversationPhraseCallback) package com.homestarrunner.dangeresque.conversations { import flash.events.*; public class ConversationPhraseCallback extends ConversationPhrase { private var _callback:Function; private var _args:Array; private var _scope:Object; public function ConversationPhraseCallback(_arg1:Function, _arg2:Object, ... _args){ super(Conversation.CALLBACK); _callback = _arg1; _scope = _arg2; if (_args.length > 0){ _args = _args; }; } override public function begin():void{ if (_args){ _callback.call(_scope, _args[0]); } else { _callback.call(_scope); }; dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 20
//ConversationPhraseCommunicate (com.homestarrunner.dangeresque.conversations.ConversationPhraseCommunicate) package com.homestarrunner.dangeresque.conversations { import flash.display.*; public class ConversationPhraseCommunicate extends ConversationPhrase { public var speaker_mc:MovieClip; public var phrase:String; public function ConversationPhraseCommunicate(_arg1:String, _arg2:MovieClip, _arg3:String){ super(_arg3); phrase = _arg1; speaker_mc = _arg2; } } }//package com.homestarrunner.dangeresque.conversations
Section 21
//ConversationPhraseFaceDir (com.homestarrunner.dangeresque.conversations.ConversationPhraseFaceDir) package com.homestarrunner.dangeresque.conversations { import flash.events.*; import com.homestarrunner.dangeresque.*; public class ConversationPhraseFaceDir extends ConversationPhrase { private var _directionString:String; private var _playerObj:Player; public function ConversationPhraseFaceDir(_arg1:Player, _arg2:String){ super(Conversation.FACE_DIR); _playerObj = _arg1; _directionString = _arg2; } override public function begin():void{ _playerObj.setWalkDir(_directionString, false, true); dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 22
//ConversationPhraseFaceProp (com.homestarrunner.dangeresque.conversations.ConversationPhraseFaceProp) package com.homestarrunner.dangeresque.conversations { import flash.geom.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.props.*; public class ConversationPhraseFaceProp extends ConversationPhrase { private var _propObj:Prop; private var _playerObj:Player; public function ConversationPhraseFaceProp(_arg1:Player, _arg2:Prop){ super(Conversation.FACE_DIR); _playerObj = _arg1; _propObj = _arg2; } override public function begin():void{ var propBoundingBox:Rectangle; var centerX:Number; var rightX:Number; var bottomY:Number; try { propBoundingBox = _propObj.getBounds(_propObj.parent); centerX = (propBoundingBox.x + (propBoundingBox.width / 2)); rightX = (propBoundingBox.x + propBoundingBox.width); bottomY = (propBoundingBox.y + propBoundingBox.height); if (_propObj.hasOwnProperty("z_test_mc")){ bottomY = _propObj["z_test_mc"].y; }; if (_playerObj._mc.x > rightX){ _playerObj.setWalkDir("l"); } else { if (_playerObj._mc.x < propBoundingBox.x){ _playerObj.setWalkDir("r"); } else { if (_playerObj._mc.y < bottomY){ _playerObj.setWalkDir("d"); } else { _playerObj.setWalkDir("u"); }; }; }; } catch(e:Error) { trace("WARNING: ConversationPhraseFaceProp::begin() attempted to face a prop that is not in the room", e); }; dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 23
//ConversationPhraseGamestateUpdate (com.homestarrunner.dangeresque.conversations.ConversationPhraseGamestateUpdate) package com.homestarrunner.dangeresque.conversations { import flash.events.*; import com.homestarrunner.dangeresque.*; public class ConversationPhraseGamestateUpdate extends ConversationPhrase { private var _value:Object; private var _propertyName:String; public function ConversationPhraseGamestateUpdate(_arg1:String, _arg2:Object){ super(Conversation.UPDATE_GAMESTATE); _propertyName = _arg1; _value = _arg2; } override public function begin():void{ GameState[_propertyName] = _value; dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 24
//ConversationPhraseGotoFrame (com.homestarrunner.dangeresque.conversations.ConversationPhraseGotoFrame) package com.homestarrunner.dangeresque.conversations { import flash.display.*; import flash.events.*; public class ConversationPhraseGotoFrame extends ConversationPhrase { public var frameLabel:String; public var _mc:MovieClip; public var playFromFrame:Boolean; public function ConversationPhraseGotoFrame(_arg1:MovieClip, _arg2:String, _arg3:Boolean=false){ super(Conversation.GOTO_FRAME); _mc = _arg1; frameLabel = _arg2; playFromFrame = _arg3; } override public function begin():void{ if (playFromFrame){ _mc.gotoAndPlay(frameLabel); } else { _mc.gotoAndStop(frameLabel); }; dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 25
//ConversationPhraseOverlay (com.homestarrunner.dangeresque.conversations.ConversationPhraseOverlay) package com.homestarrunner.dangeresque.conversations { public class ConversationPhraseOverlay extends ConversationPhrase { private var _classname:Class; public function ConversationPhraseOverlay(_arg1:Class){ super(Conversation.OVERLAY); _classname = _arg1; } override public function begin():void{ } public function get classname():Class{ return (_classname); } } }//package com.homestarrunner.dangeresque.conversations
Section 26
//ConversationPhrasePause (com.homestarrunner.dangeresque.conversations.ConversationPhrasePause) package com.homestarrunner.dangeresque.conversations { import flash.events.*; import caurina.transitions.*; public class ConversationPhrasePause extends ConversationPhrase { private var _duration:Number; public function ConversationPhrasePause(_arg1:Number){ super(Conversation.PAUSE); _duration = _arg1; } override public function begin():void{ Tweener.addCaller(this, {time:_duration, count:1, onUpdate:donePausing}); } public function donePausing():void{ dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 27
//ConversationPhrasePlaySound (com.homestarrunner.dangeresque.conversations.ConversationPhrasePlaySound) package com.homestarrunner.dangeresque.conversations { import flash.events.*; import flash.media.*; import flash.utils.*; public class ConversationPhrasePlaySound extends ConversationPhrase { private var _soundObj:Sound; private var _soundChannel:SoundChannel; private var _soundClassname:String; private var _waitForCompletion:Boolean; public function ConversationPhrasePlaySound(_arg1:String, _arg2:Boolean){ super(Conversation.PLAY_SOUND); _soundClassname = _arg1; _waitForCompletion = _arg2; } override public function begin():void{ var _local1:Class; trace("ConversationPhrasePlaySound:begin"); _local1 = Class(getDefinitionByName(_soundClassname)); _soundObj = new (_local1); _soundObj.addEventListener(Event.COMPLETE, soundCompleteListener); _soundChannel = _soundObj.play(); if (!_waitForCompletion){ dispatchEvent(new Event(Event.COMPLETE)); }; } private function soundCompleteListener(_arg1:Event):void{ if (_waitForCompletion){ dispatchEvent(new Event(Event.COMPLETE)); }; _soundChannel = null; _soundObj.removeEventListener(Event.COMPLETE, soundCompleteListener); _soundObj = null; } } }//package com.homestarrunner.dangeresque.conversations
Section 28
//ConversationPhrasePropAnimation (com.homestarrunner.dangeresque.conversations.ConversationPhrasePropAnimation) package com.homestarrunner.dangeresque.conversations { import flash.events.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.props.*; public class ConversationPhrasePropAnimation extends ConversationPhrase { private var _prop:Prop; private var _startLabel:String; private var _endLabel:String; public function ConversationPhrasePropAnimation(_arg1:Prop, _arg2:String, _arg3:String){ _prop = _arg1; _startLabel = _arg2; _endLabel = _arg3; super(Conversation.PROP_ANIMATE); } override public function begin():void{ MousePointer.startWait(); trace("ConversationPhrasePropAnimation::begin"); _prop.addEventListener(Prop.PROP_EVENT_FINISHED, propEventFinishedListener); _prop.playBetweenFrameLabels(_startLabel, _endLabel); } private function propEventFinishedListener(_arg1:Event):void{ MousePointer.startWait(); dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 29
//ConversationPhraseRemoveFromInventory (com.homestarrunner.dangeresque.conversations.ConversationPhraseRemoveFromInventory) package com.homestarrunner.dangeresque.conversations { import flash.events.*; import com.homestarrunner.dangeresque.*; public class ConversationPhraseRemoveFromInventory extends ConversationPhrase { private var _itemName:String; public function ConversationPhraseRemoveFromInventory(_arg1:String){ super(Conversation.REMOVE_ITEM); _itemName = _arg1; } override public function begin():void{ GameState.inventoryObj.remove(_itemName); dispatchEvent(new Event(Event.COMPLETE)); } } }//package com.homestarrunner.dangeresque.conversations
Section 30
//ConversationPhraseWalkToPoint (com.homestarrunner.dangeresque.conversations.ConversationPhraseWalkToPoint) package com.homestarrunner.dangeresque.conversations { import flash.events.*; import com.homestarrunner.dangeresque.*; public class ConversationPhraseWalkToPoint extends ConversationPhrase { protected var _playerObj:Player; private var _targetX:Number; private var _targetY:Number; public function ConversationPhraseWalkToPoint(_arg1:Player, _arg2:Number, _arg3:Number){ super(Conversation.WALK_TO_POINT); _playerObj = _arg1; _targetX = _arg2; _targetY = _arg3; } private function walkToCancelListener(_arg1:Event):void{ walkToEnd(); dispatchEvent(new Event(Event.CANCEL)); } private function walkToEnd():void{ MousePointer.endWait(); _playerObj.removeEventListener(Player.WALK_TO_COMPLETE, walkToCompleteListener); _playerObj.removeEventListener(Player.WALK_TO_CANCELED, walkToCancelListener); } protected function sendWalkToCommand():void{ MousePointer.startWait(); if (_playerObj.testWalkToTarget(_targetX, _targetY)){ _playerObj.walkTo(_targetX, _targetY); _playerObj.addEventListener(Player.WALK_TO_COMPLETE, walkToCompleteListener); _playerObj.addEventListener(Player.WALK_TO_CANCELED, walkToCancelListener); } else { trace("ConversationPhraseWalkTo____::sendWalkToCommand()", type, "testWalkToTarget failed."); dispatchEvent(new Event(Player.WALK_TO_CANCELED)); }; } private function walkToCompleteListener(_arg1:Event):void{ walkToEnd(); dispatchEvent(new Event(Event.COMPLETE)); } override public function begin():void{ sendWalkToCommand(); } } }//package com.homestarrunner.dangeresque.conversations
Section 31
//ConversationPhraseWalkToProp (com.homestarrunner.dangeresque.conversations.ConversationPhraseWalkToProp) package com.homestarrunner.dangeresque.conversations { import flash.geom.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.props.*; public class ConversationPhraseWalkToProp extends ConversationPhraseWalkToPoint { private var _propObj:Prop; public function ConversationPhraseWalkToProp(_arg1:Player, _arg2:Prop){ var pPlayerObj = _arg1; var propObj = _arg2; try { super(pPlayerObj, propObj.standSpot.x, propObj.standSpot.y); } catch(e:Error) { trace("ERROR: ConversationPhraseWalkToProp::instantiator. Prop", propObj.name, "may not have a standpoint defined"); }; _propObj = propObj; type = Conversation.WALK_TO_PROP; } override public function begin():void{ var _local1:Point; MousePointer.startWait(); if (_propObj.hasActableArea){ _local1 = new Point(_playerObj._mc.x, _playerObj._mc.y); _local1 = _playerObj._mc.parent.localToGlobal(_local1); _local1 = _propObj.parent.globalToLocal(_local1); if (_propObj.actableArea.hitTestPoint(_local1.x, _local1.y)){ dispatchEvent(new Event(Event.COMPLETE)); } else { sendWalkToCommand(); }; } else { sendWalkToCommand(); }; } public function get prop():Prop{ return (_propObj); } } }//package com.homestarrunner.dangeresque.conversations
Section 32
//CreateOverlayEvent (com.homestarrunner.dangeresque.customevent.CreateOverlayEvent) package com.homestarrunner.dangeresque.customevent { import flash.events.*; public class CreateOverlayEvent extends Event { public var overlayClass:Class; public function CreateOverlayEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("CreateOverlayEvent", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ var _local1:CreateOverlayEvent; _local1 = new CreateOverlayEvent(type, bubbles, cancelable); _local1.overlayClass = overlayClass; return (_local1); } } }//package com.homestarrunner.dangeresque.customevent
Section 33
//HotObjectEvent (com.homestarrunner.dangeresque.customevent.HotObjectEvent) package com.homestarrunner.dangeresque.customevent { import flash.events.*; import com.homestarrunner.dangeresque.*; public class HotObjectEvent extends Event { public var hotObject:HotObject; public function HotObjectEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } } }//package com.homestarrunner.dangeresque.customevent
Section 34
//InventoryButtonEvent (com.homestarrunner.dangeresque.customevent.InventoryButtonEvent) package com.homestarrunner.dangeresque.customevent { import flash.events.*; import com.homestarrunner.dangeresque.*; public class InventoryButtonEvent extends Event { public var inventoryObj:InventoryDefinitionStruct; public function InventoryButtonEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ var _local1:InventoryButtonEvent; _local1 = new InventoryButtonEvent(type, bubbles, cancelable); _local1.inventoryObj = inventoryObj; return (_local1); } } }//package com.homestarrunner.dangeresque.customevent
Section 35
//PlayerMoveInstructionEvent (com.homestarrunner.dangeresque.customevent.PlayerMoveInstructionEvent) package com.homestarrunner.dangeresque.customevent { import flash.events.*; public class PlayerMoveInstructionEvent extends Event { public var directionString:String; public function PlayerMoveInstructionEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } } }//package com.homestarrunner.dangeresque.customevent
Section 36
//IAbleToSpeak (com.homestarrunner.dangeresque.interfaces.IAbleToSpeak) package com.homestarrunner.dangeresque.interfaces { import flash.geom.*; public interface IAbleToSpeak { function get talkPoint():Point; } }//package com.homestarrunner.dangeresque.interfaces
Section 37
//invcamera (com.homestarrunner.dangeresque.inventory.invcamera) package com.homestarrunner.dangeresque.inventory { public dynamic class invcamera extends InventoryDisplayButton { } }//package com.homestarrunner.dangeresque.inventory
Section 38
//invcoffee (com.homestarrunner.dangeresque.inventory.invcoffee) package com.homestarrunner.dangeresque.inventory { public dynamic class invcoffee extends InventoryDisplayButton { } }//package com.homestarrunner.dangeresque.inventory
Section 39
//InventoryDisplay (com.homestarrunner.dangeresque.inventory.InventoryDisplay) package com.homestarrunner.dangeresque.inventory { import flash.display.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.customevent.*; import flash.utils.*; public class InventoryDisplay extends MovieClip { private var displayButtons:Array; public function InventoryDisplay(){ var _local1:Number; var _local2:Array; var _local3:int; var _local4:InventoryDefinitionStruct; var _local5:Class; var _local6:InventoryDisplayButton; super(); trace("InventoryDisplay::instantiated"); displayButtons = new Array(); mouseEnabled = false; _local1 = 30; _local2 = GameState.inventoryObj.getCollection(); _local3 = 0; while (_local3 < _local2.length) { _local4 = _local2[_local3]; _local5 = (getDefinitionByName(("com.homestarrunner.dangeresque.inventory." + _local4.symbolName)) as Class); _local6 = (new (_local5) as InventoryDisplayButton); _local6.inventoryDefinitionStruct = _local4; displayButtons.push(_local6); addChild(_local6); _local6.x = _local1; _local6.y = 8; _local6.mouseEnabled = true; _local6.addEventListener(InventoryDisplayButton.INVENTORY_BUTTON_OVER, buttonRollOverListener); _local6.addEventListener(InventoryDisplayButton.INVENTORY_BUTTON_OUT, buttonRollOutListener); _local6.addEventListener(InventoryDisplayButton.INVENTORY_BUTTON_CLICK, buttonClickListener); _local1 = (_local1 + (_local6.width + 10)); _local3++; }; } public function destroy():void{ var _local1:int; trace("InventoryDisplay::destroy()", displayButtons.length); _local1 = 0; while (_local1 < displayButtons.length) { removeChild(displayButtons[_local1]); displayButtons[_local1].removeEventListener(InventoryDisplayButton.INVENTORY_BUTTON_CLICK, buttonClickListener); displayButtons[_local1].removeEventListener(InventoryDisplayButton.INVENTORY_BUTTON_OVER, buttonRollOverListener); displayButtons[_local1].removeEventListener(InventoryDisplayButton.INVENTORY_BUTTON_OUT, buttonRollOutListener); displayButtons[_local1].destroy(); _local1++; }; displayButtons = new Array(); } private function buttonRollOverListener(_arg1:InventoryButtonEvent):void{ dispatchEvent(_arg1); } private function buttonClickListener(_arg1:InventoryButtonEvent):void{ dispatchEvent(_arg1); } private function buttonRollOutListener(_arg1:InventoryButtonEvent):void{ dispatchEvent(_arg1); } } }//package com.homestarrunner.dangeresque.inventory
Section 40
//InventoryDisplayButton (com.homestarrunner.dangeresque.inventory.InventoryDisplayButton) package com.homestarrunner.dangeresque.inventory { import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.customevent.*; import flash.filters.*; public class InventoryDisplayButton extends MovieClip { private var _inventoryDefinitionStruct:InventoryDefinitionStruct; private var _mc:MovieClip; public static const INVENTORY_BUTTON_OUT:String = "INVENTORY_BUTTON_OUT"; public static const INVENTORY_BUTTON_OVER:String = "INVENTORY_BUTTON_OVER"; public static const INVENTORY_BUTTON_CLICK:String = "INVENTORY_BUTTON_CLICK"; private static var _glowFilter:GlowFilter; public function InventoryDisplayButton(){ if (!_glowFilter){ _glowFilter = new GlowFilter(0xFFCC00, 0.5, 10, 10, 1, BitmapFilterQuality.LOW); }; addEventListener(MouseEvent.ROLL_OVER, rollOverListener); addEventListener(MouseEvent.ROLL_OUT, rollOutListener); addEventListener(MouseEvent.CLICK, clickListener); } public function destroy():void{ removeEventListener(MouseEvent.ROLL_OVER, rollOverListener); removeEventListener(MouseEvent.ROLL_OUT, rollOutListener); } public function set inventoryDefinitionStruct(_arg1:InventoryDefinitionStruct):void{ _inventoryDefinitionStruct = _arg1; } private function clickListener(_arg1:MouseEvent):void{ var _local2:InventoryButtonEvent; _local2 = new InventoryButtonEvent(INVENTORY_BUTTON_CLICK); _local2.inventoryObj = _inventoryDefinitionStruct; dispatchEvent(_local2); } public function get inventoryDefinitionStruct():InventoryDefinitionStruct{ return (_inventoryDefinitionStruct); } private function rollOutListener(_arg1:MouseEvent):void{ var _local2:InventoryButtonEvent; filters = []; _local2 = new InventoryButtonEvent(INVENTORY_BUTTON_OUT); _local2.inventoryObj = _inventoryDefinitionStruct; dispatchEvent(_local2); } private function rollOverListener(_arg1:MouseEvent):void{ var _local2:InventoryButtonEvent; filters = [_glowFilter]; _local2 = new InventoryButtonEvent(INVENTORY_BUTTON_OVER); _local2.inventoryObj = _inventoryDefinitionStruct; dispatchEvent(_local2); } } }//package com.homestarrunner.dangeresque.inventory
Section 41
//invphoto (com.homestarrunner.dangeresque.inventory.invphoto) package com.homestarrunner.dangeresque.inventory { public dynamic class invphoto extends InventoryDisplayButton { } }//package com.homestarrunner.dangeresque.inventory
Section 42
//invpuke (com.homestarrunner.dangeresque.inventory.invpuke) package com.homestarrunner.dangeresque.inventory { public dynamic class invpuke extends InventoryDisplayButton { } }//package com.homestarrunner.dangeresque.inventory
Section 43
//invstamp (com.homestarrunner.dangeresque.inventory.invstamp) package com.homestarrunner.dangeresque.inventory { public dynamic class invstamp extends InventoryDisplayButton { } }//package com.homestarrunner.dangeresque.inventory
Section 44
//invstampsauce (com.homestarrunner.dangeresque.inventory.invstampsauce) package com.homestarrunner.dangeresque.inventory { public dynamic class invstampsauce extends InventoryDisplayButton { } }//package com.homestarrunner.dangeresque.inventory
Section 45
//invtakeout (com.homestarrunner.dangeresque.inventory.invtakeout) package com.homestarrunner.dangeresque.inventory { public dynamic class invtakeout extends InventoryDisplayButton { } }//package com.homestarrunner.dangeresque.inventory
Section 46
//OffscreenChiefMasterMovieClip (com.homestarrunner.dangeresque.masterclips.OffscreenChiefMasterMovieClip) package com.homestarrunner.dangeresque.masterclips { import flash.geom.*; import flash.display.*; import com.homestarrunner.dangeresque.interfaces.*; public class OffscreenChiefMasterMovieClip extends MovieClip implements IAbleToSpeak { public var talkPoint_mc:MovieClip; public function OffscreenChiefMasterMovieClip(){ visible = false; } public function get talkPoint():Point{ var _local1:Point; _local1 = new Point(talkPoint_mc.x, talkPoint_mc.y); return (talkPoint_mc.parent.localToGlobal(_local1)); } } }//package com.homestarrunner.dangeresque.masterclips
Section 47
//PlayerMasterMovieClip (com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip) package com.homestarrunner.dangeresque.masterclips { import flash.geom.*; import flash.display.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.rooms.props.*; import com.homestarrunner.dangeresque.interfaces.*; import com.homestarrunner.dangeresque.conversations.*; public class PlayerMasterMovieClip extends Prop implements IAbleToSpeak { public var collide_mc:MovieClip; public var talkPoint_mc:MovieClip; public var hotArea_mc:MovieClip; public var z_test_mc:MovieClip; public var subclip_mc:MovieClip; public function PlayerMasterMovieClip(){ trace("PlayerMasterMovieClip(): instantiated"); } public function get talkPoint():Point{ var _local1:Point; _local1 = new Point(talkPoint_mc.x, talkPoint_mc.y); return (talkPoint_mc.parent.localToGlobal(_local1)); } override public function combineWithSubClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Boolean{ switch (_arg1.label){ case InventoryDefinitions.CAMERA: _arg2.addPhrase("I don't need a picture of myself! My wallet's already full of em."); break; case InventoryDefinitions.TAKEOUT: if (!GameState.hasEatenTakeout){ _arg2.addFaceDirection("d"); _arg2.addPhrase("Yeah, this takeout has seen too much over the years."); _arg2.addAnimation("eat_takeout"); _arg2.addGamestateUpdate("hasEatenTakeout", true); _arg2.addScoreIncrement(10); _arg2.addPhrase("Sorry, takeout. They said NO LOOSE ENDS!"); _arg2.addPhrase("That was definitely one of the worst things I ever done."); _arg2.addPhrase("Gonna keep the cool box though", Conversation.THINK); _arg2.successfulCombination = true; } else { _arg2.addPhrase("This box has a cool picture of a Dragon Man doing Kung-Fu on it."); _arg2.addPhrase("Wish he was real. He looks capable of some really cool-to-watch assault and battery.", Conversation.THINK); }; break; case InventoryDefinitions.MUG: _arg2.addFaceDirection("d"); _arg2.addPhrase("Dangeresque NEVER backs down from a really terrible, gross idea!"); _arg2.addAnimation("drink_coffee"); _arg2.addScoreIncrement(10); _arg2.addGamestateUpdate("hasDrankCoffee", true); _arg2.addInventoryRemove(InventoryDefinitions.MUG); _arg2.addPhrase("Ugh."); _arg2.addPhrase("THAT's gonna stick with me for a while.", Conversation.THINK); _arg2.successfulCombination = true; break; case InventoryDefinitions.STAMP: case InventoryDefinitions.STAMP_INKED: _arg2.addPhrase(" No way! The MAN's always tryin' to stamp me down! "); break; default: return (false); }; return (true); } } }//package com.homestarrunner.dangeresque.masterclips
Section 48
//ActionMenu (com.homestarrunner.dangeresque.menu.ActionMenu) package com.homestarrunner.dangeresque.menu { import flash.events.*; import com.homestarrunner.dangeresque.sprites.*; public class ActionMenu extends TimedMenu { public static const MENU_CLOSE_EVENT:String = "MENU_CLOSE_EVENT"; public static const ITEM_GET_EVENT:String = "ITEM_GET_EVENT"; public static const ITEM_LOOK_EVENT:String = "ITEM_LOOK_EVENT"; public static const ITEM_TALK_EVENT:String = "ITEM_TALK_EVENT"; public function ActionMenu(_arg1:Number, _arg2:Number){ var _local3:ActionMenu; super(); _mc = new ActionMenuSprite(); _mc.addEventListener(Event.ADDED_TO_STAGE, addedToStageListener); _mc.name = "actionMenu_mc"; trace(((("ActionMenu::instantiated " + _mc.name) + ",") + _mc.x)); _mc.x = Math.floor((_arg1 - (_mc.width / 2))); _mc.y = Math.floor((_arg2 - (_mc.height / 2))); _local3 = this; _mc.close_btn.addEventListener(MouseEvent.ROLL_OVER, closeButtonRollOver); _mc.close_btn.addEventListener(MouseEvent.CLICK, closeMenuListener); _mc.addEventListener(Event.ENTER_FRAME, update); _mc.actionMenu_look_btn.addEventListener(MouseEvent.ROLL_OVER, lookRollOverListener); _mc.actionMenu_look_btn.addEventListener(MouseEvent.CLICK, lookClickListener); _mc.actionMenu_talk_btn.addEventListener(MouseEvent.ROLL_OVER, talkRollOverListener); _mc.actionMenu_talk_btn.addEventListener(MouseEvent.CLICK, talkClickListener); _mc.actionMenu_getuse_btn.addEventListener(MouseEvent.ROLL_OVER, getRollOverListener); _mc.actionMenu_getuse_btn.addEventListener(MouseEvent.CLICK, getClickListener); buttons.push(_mc.close_btn); buttons.push(_mc.actionMenu_look_btn); buttons.push(_mc.actionMenu_talk_btn); buttons.push(_mc.actionMenu_getuse_btn); setAllButtonsToRolloutClearText(); parent_mc.addChild(_mc); } private function lookRollOverListener(_arg1:MouseEvent):void{ setText("look"); } protected function closeMenuListener(_arg1:MouseEvent):void{ closeMenu(); } private function talkClickListener(_arg1:MouseEvent):void{ dispatchEvent(new Event(ITEM_TALK_EVENT)); closeMenu(); } private function getRollOverListener(_arg1:MouseEvent):void{ setText("get/use"); } private function talkRollOverListener(_arg1:MouseEvent):void{ setText("talk to"); } private function getClickListener(_arg1:MouseEvent):void{ dispatchEvent(new Event(ITEM_GET_EVENT)); closeMenu(); } public function destroy():void{ closeMenu(); } private function lookClickListener(_arg1:MouseEvent):void{ dispatchEvent(new Event(ITEM_LOOK_EVENT)); closeMenu(); } override protected function closeMenu():void{ outTimerStarted = false; _mc.removeEventListener(Event.ENTER_FRAME, update); if (_mc.parent){ _mc.parent.removeChild(_mc); }; active = false; delete ??getglobalscope [this]; } } }//package com.homestarrunner.dangeresque.menu
Section 49
//InventoryMenu (com.homestarrunner.dangeresque.menu.InventoryMenu) package com.homestarrunner.dangeresque.menu { import flash.events.*; public class InventoryMenu extends TimedMenu { public function InventoryMenu(_arg1:Number=0, _arg2:Number=0){ _mc.x = Math.floor((_arg1 - (_mc.width / 2))); _mc.y = Math.floor((_arg2 - (_mc.height / 2))); _mc.visible = false; active = true; _mc.close_btn.addEventListener(MouseEvent.ROLL_OVER, closeButtonRollOver); _mc.backer_btn.enabled = false; _mc.addEventListener(Event.ENTER_FRAME, update); _mc.close_btn.addEventListener(MouseEvent.CLICK, closeMenu); buttons.push(_mc.close_btn); setAllButtonsToRolloutClearText(); } override protected function closeButtonRollOver(_arg1:MouseEvent):void{ setText("cancel"); } public function show():void{ trace("InventoryMenu::show() called"); _mc.visible = true; active = true; _mc.addEventListener(Event.ENTER_FRAME, update); } override protected function closeMenu():void{ outTimerStarted = false; _mc.removeEventListener(Event.ENTER_FRAME, update); _mc.visible = false; active = false; } } }//package com.homestarrunner.dangeresque.menu
Section 50
//TimedMenu (com.homestarrunner.dangeresque.menu.TimedMenu) package com.homestarrunner.dangeresque.menu { import flash.geom.*; import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import caurina.transitions.*; public class TimedMenu extends EventDispatcher { protected var buttons:Array; public var active:Boolean; protected var outTimerStarted:Boolean; protected var _mc:MovieClip; protected static var parent_mc:MovieClip; public function TimedMenu(){ buttons = new Array(); active = true; outTimerStarted = false; } public function update(_arg1:Event):void{ if (_mc.hitTestPoint(_mc.stage.mouseX, _mc.stage.mouseY, true)){ outTimerStarted = false; Tweener.removeTweens(_mc); } else { if (!outTimerStarted){ outTimerStarted = true; Tweener.addTween(_mc, {alpha:1, time:0.5, onComplete:closeMenuTimerListener}); }; }; } private function clearHintText(_arg1:MouseEvent):void{ setText(""); } protected function closeButtonRollOver(_arg1:MouseEvent):void{ setText("cancel"); } public function closeMenuTimerListener():void{ closeMenu(); } protected function setAllButtonsToRolloutClearText():void{ var _local1:Number; var _local2:DisplayObject; _local1 = 0; while (_local1 < buttons.length) { _local2 = (buttons[_local1] as DisplayObject); _local2.addEventListener(MouseEvent.ROLL_OUT, clearHintText); _local1++; }; } public function setText(_arg1:String):void{ _mc._txt.text = _arg1; } protected function addedToStageListener(_arg1:Event):void{ var _local2:Rectangle; var _local3:Rectangle; if (_mc.hitTestPoint(_mc.stage.mouseX, _mc.stage.mouseY, true)){ }; _local2 = new Rectangle(Game.SCREEN_PADDING, Game.SCREEN_PADDING, (Game.STAGE_WIDTH - Game.SCREEN_PADDING), (Game.STAGE_HEIGHT - Game.SCREEN_PADDING)); _local3 = _mc.getBounds(_mc.stage); if (!_local2.containsRect(_local3)){ if (_local3.x < _local2.x){ _mc.x = (_mc.x + (_local2.x - _local3.x)); } else { if (_local3.bottomRight.x > _local2.bottomRight.x){ _mc.x = (_mc.x + (_local2.bottomRight.x - _local3.bottomRight.x)); }; }; if (_local3.y < _local2.y){ _mc.y = (_mc.y + (_local2.y - _local3.y)); } else { if (_local3.bottomRight.y > _local2.bottomRight.y){ _mc.y = (_mc.y + (_local2.bottomRight.y - _local3.bottomRight.y)); }; }; }; } protected function closeMenu():void{ outTimerStarted = false; _mc.removeEventListener(Event.ENTER_FRAME, update); _mc.parent.removeChild(_mc); active = false; delete ??getglobalscope [this]; } public static function initializeLayer(_arg1:MovieClip):void{ parent_mc = _arg1; } } }//package com.homestarrunner.dangeresque.menu
Section 51
//CasefileOverlayScene (com.homestarrunner.dangeresque.overlay.CasefileOverlayScene) package com.homestarrunner.dangeresque.overlay { import flash.display.*; import com.homestarrunner.dangeresque.*; public class CasefileOverlayScene extends OverlayScene { public var check0_mc:MovieClip; public var check1_mc:MovieClip; public var casefileMask_mc:MovieClip; public var stampedMark_mc:MovieClip; public var check2_mc:MovieClip; public function CasefileOverlayScene(){ super(true, false); check0_mc.visible = GameState.isPhotoInCaseFile; check1_mc.visible = GameState.isSpewInCaseFile; check2_mc.visible = GameState.isFileStamped; stampedMark_mc.mask = casefileMask_mc; _hasOwnMusic = false; showStampedMark(); stop(); } protected function showStampedMark():void{ if (GameState.isFileStamped){ stampedMark_mc.visible = true; stampedMark_mc.x = GameState.fileStampX; stampedMark_mc.y = GameState.fileStampY; } else { stampedMark_mc.visible = false; }; } } }//package com.homestarrunner.dangeresque.overlay
Section 52
//CasefileOverlayStampingScene (com.homestarrunner.dangeresque.overlay.CasefileOverlayStampingScene) package com.homestarrunner.dangeresque.overlay { import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import caurina.transitions.*; public class CasefileOverlayStampingScene extends CasefileOverlayScene { public var stamp_mc:MovieClip; public var aim_mc:MovieClip; public function CasefileOverlayStampingScene(){ _hasOwnMusic = false; MousePointer.suspend(); stamp_mc.startDrag(true); stamp_mc.addEventListener(Event.ENTER_FRAME, updateAimListener); } private function completeStampCallback():void{ var _local1:SoundPlayer; aim_mc.visible = false; GameState.isFileStamped = true; GameState.fileStampX = aim_mc.x; GameState.fileStampY = aim_mc.y; showStampedMark(); _local1 = new SoundPlayer("desque_sfx_doorkick1"); Tweener.addTween(stamp_mc, {x:(aim_mc.x + 90), y:(aim_mc.y - 90), time:0.6, transition:"easeOutSine", onComplete:completeStampWithdrawalCallback}); Tweener.addTween(stamp_mc, {alpha:1, time:2, onComplete:dismiss}); } private function updateAimListener(_arg1:Event):void{ aim_mc.y = (stamp_mc.y + 40); aim_mc.x = (stamp_mc.x - 40); } override protected function mouseClickListener(_arg1:MouseEvent):void{ stamp_mc.stopDrag(); stamp_mc.removeEventListener(Event.ENTER_FRAME, updateAimListener); Tweener.addTween(stamp_mc, {x:aim_mc.x, y:aim_mc.y, time:0.4, transition:"easeInSine", onComplete:completeStampCallback}); } private function completeStampWithdrawalCallback():void{ stamp_mc.visible = false; } } }//package com.homestarrunner.dangeresque.overlay
Section 53
//ConclusionThruglassOverlayScene (com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene) package com.homestarrunner.dangeresque.overlay { import flash.events.*; import com.homestarrunner.dangeresque.*; public class ConclusionThruglassOverlayScene extends OverlayScene { public function ConclusionThruglassOverlayScene(){ super(true, true); _hasOwnMusic = false; compensateForCenterRegistration(); trace("ConclusionThruglassOverlayScene instantiated"); play(); MousePointer.startDialog(); } override protected function mouseClickListener(_arg1:MouseEvent):void{ trace("ConclusionThruglassOverlayScene::mouseClickListener", currentLabel); switch (currentLabel){ case "start": gotoAndPlay("line1_sb"); break; case "line1_sb": gotoAndPlay("line2_sb"); break; case "line2_sb": gotoAndPlay("line3_chief"); break; case "line3_chief": gotoAndPlay("line4_chief"); break; case "line4_chief": gotoAndPlay("line5_sb"); break; case "line5_sb": gotoAndPlay("line6_chief"); break; case "line6_chief": gotoAndPlay("line7_chief"); break; case "line7_chief": gotoAndPlay("line8_sb"); break; default: MousePointer.endDialog(); dismiss(); break; }; } } }//package com.homestarrunner.dangeresque.overlay
Section 54
//EndGameJailScene (com.homestarrunner.dangeresque.overlay.EndGameJailScene) package com.homestarrunner.dangeresque.overlay { public class EndGameJailScene extends OverlayScene { public function EndGameJailScene(){ super(true, false); compensateForCenterRegistration(); trace("EndGameJailScene instantiated"); play(); } } }//package com.homestarrunner.dangeresque.overlay
Section 55
//InstructionsOverlayScene (com.homestarrunner.dangeresque.overlay.InstructionsOverlayScene) package com.homestarrunner.dangeresque.overlay { public class InstructionsOverlayScene extends OverlayScene { public function InstructionsOverlayScene(){ super(true, false); trace("InstructionsOverlayScene instantiated"); stop(); } } }//package com.homestarrunner.dangeresque.overlay
Section 56
//IntroOverlayScene (com.homestarrunner.dangeresque.overlay.IntroOverlayScene) package com.homestarrunner.dangeresque.overlay { public class IntroOverlayScene extends OverlayScene { public function IntroOverlayScene(){ super(true); compensateForCenterRegistration(); trace("IntroOverlayScene instantiated"); play(); } } }//package com.homestarrunner.dangeresque.overlay
Section 57
//OverlayScene (com.homestarrunner.dangeresque.overlay.OverlayScene) package com.homestarrunner.dangeresque.overlay { import flash.display.*; import flash.events.*; public class OverlayScene extends MovieClip { protected var _skippable:Boolean; private var _endLabel:String; protected var _advanceWhenDone:Boolean; private var _coverup:Shape; protected var _hasOwnMusic:Boolean; public function OverlayScene(_arg1:Boolean=true, _arg2=true){ _skippable = _arg1; _advanceWhenDone = _arg2; _hasOwnMusic = true; if (_skippable){ createSkippableListeners(); }; addEventListener(Event.ENTER_FRAME, enterFrameListener); _coverup = new Shape(); _coverup.graphics.beginFill(0); _coverup.graphics.drawRect(0, 200, 320, 15); _coverup.graphics.endFill(); addChild(_coverup); } public function destroy():void{ removeEventListener(Event.ENTER_FRAME, enterFrameListener); } protected function endReached():void{ stop(); removeEventListener(Event.ENTER_FRAME, enterFrameListener); if (_advanceWhenDone){ dismiss(); }; } protected function playBetweenFrameLabels(_arg1:String, _arg2:String):void{ gotoAndPlay(_arg1); _endLabel = _arg2; addEventListener(Event.ENTER_FRAME, playBetweenEnterFrameListener); } protected function enterFrameListener(_arg1:Event):void{ if (currentFrame == totalFrames){ endReached(); }; } public function dismiss():void{ removeEventListener(Event.ENTER_FRAME, enterFrameListener); removeEventListener(MouseEvent.CLICK, mouseClickListener); removeEventListener(Event.ENTER_FRAME, playBetweenEnterFrameListener); dispatchEvent(new Event(Event.COMPLETE)); } protected function compensateForCenterRegistration():void{ x = 160; y = 100; _coverup.x = (_coverup.x - 160); _coverup.y = (_coverup.y - 100); } private function playBetweenEnterFrameListener(_arg1:Event):void{ if (this.currentLabel == _endLabel){ stop(); playBetweenFramesFinished(); removeEventListener(Event.ENTER_FRAME, playBetweenEnterFrameListener); }; } protected function playBetweenFramesFinished():void{ dismiss(); } public function get skippable():Boolean{ return (_skippable); } protected function mouseClickListener(_arg1:MouseEvent):void{ dismiss(); } protected function gotoAndStopAtFrameLabel(_arg1:String):void{ gotoAndStop(_arg1); _endLabel = _arg1; removeEventListener(Event.ENTER_FRAME, playBetweenEnterFrameListener); } public function get hasOwnMusic():Boolean{ return (_hasOwnMusic); } private function createSkippableListeners():void{ addEventListener(MouseEvent.CLICK, mouseClickListener); } } }//package com.homestarrunner.dangeresque.overlay
Section 58
//UndyingOverlayScene (com.homestarrunner.dangeresque.overlay.UndyingOverlayScene) package com.homestarrunner.dangeresque.overlay { import com.homestarrunner.dangeresque.*; import caurina.transitions.*; import flash.text.*; public class UndyingOverlayScene extends OverlayScene { public var _txt:TextField; private static var _phraseCounter:uint; public function UndyingOverlayScene(){ var _local1:Array; var _local2:SoundPlayer; super(true, false); if (!_phraseCounter){ _phraseCounter = 0; }; _local1 = new Array(); _local1.push("Moments earlier..."); _local1.push("Seriously, though..."); _local1.push("Previously on Dangeresque..."); _local1.push("It's almost as if it was a dream..."); _local1.push("We all make bad choices..."); _local1.push("Okay, trying harder this time..."); _local1.push("Reeeeewind-O..."); _txt.text = _local1[_phraseCounter]; _phraseCounter++; if (_phraseCounter == _local1.length){ _phraseCounter = 0; }; trace("UndyingOverlayScene instantiated"); _local2 = new SoundPlayer("desque_outro_sbline2"); Tweener.addTween(_txt, {alpha:1, time:3, delay:2, onComplete:fadeOutListener}); } private function fadeOutListener():void{ dismiss(); } } }//package com.homestarrunner.dangeresque.overlay
Section 59
//WindowPhotoOverlayScene (com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene) package com.homestarrunner.dangeresque.overlay { import flash.events.*; import com.homestarrunner.dangeresque.*; public class WindowPhotoOverlayScene extends OverlayScene { public function WindowPhotoOverlayScene(){ super(true, false); _hasOwnMusic = false; compensateForCenterRegistration(); trace("InstructionsOverlayScene instantiated"); if (GameState.windowsillHasItem){ playBetweenFrameLabels(GameState.windowsillItem, (GameState.windowsillItem + "_end")); } else { playBetweenFrameLabels("noitem", "noitem_end"); }; MousePointer.startDialog(); } override protected function mouseClickListener(_arg1:MouseEvent):void{ trace("ConclusionThruglassOverlayScene::mouseClickListener", currentLabel); switch (currentLabel){ case "noitem": gotoAndPlay("noitem_1"); break; case "noitem_1": gotoAndPlay("noitem_2"); break; case "mug": gotoAndPlay("mug_1"); break; case "mug_1": gotoAndPlay("mug_2"); break; case "stamp": gotoAndPlay("stamp_1"); break; case "stamp_1": gotoAndPlay("stamp_2"); break; case "stamp_2": gotoAndPlay("stamp_3"); break; case "stamp_inked": gotoAndPlay("stamp_inked_1"); break; case "stamp_inked_1": gotoAndPlay("stamp_inked_2"); break; case "stamp_inked_2": gotoAndPlay("stamp_inked_3"); break; case "vomit": gotoAndPlay("vomit_1"); break; case "vomit_1": gotoAndPlay("vomit_2"); break; case "photo": gotoAndPlay("photo_1"); break; case "photo_1": gotoAndPlay("photo_2"); break; case "takeout": gotoAndPlay("takeout_1"); break; case "takeout_1": gotoAndPlay("takeout_2"); break; case "takeout_2": gotoAndPlay("takeout_3"); break; default: MousePointer.endDialog(); dismiss(); break; }; } } }//package com.homestarrunner.dangeresque.overlay
Section 60
//WingameOverlayScene (com.homestarrunner.dangeresque.overlay.WingameOverlayScene) package com.homestarrunner.dangeresque.overlay { public class WingameOverlayScene extends OverlayScene { public function WingameOverlayScene(){ super(false, false); compensateForCenterRegistration(); trace("WingameOverlayScene instantiated"); play(); } } }//package com.homestarrunner.dangeresque.overlay
Section 61
//IOpenable (com.homestarrunner.dangeresque.rooms.props.propinterfaces.IOpenable) package com.homestarrunner.dangeresque.rooms.props.propinterfaces { public interface IOpenable { function set open(_arg1:Boolean):void; function get open():Boolean; function toggleOpen():Boolean; } }//package com.homestarrunner.dangeresque.rooms.props.propinterfaces
Section 62
//AshtrayProp (com.homestarrunner.dangeresque.rooms.props.AshtrayProp) package com.homestarrunner.dangeresque.rooms.props { public dynamic class AshtrayProp extends Prop { } }//package com.homestarrunner.dangeresque.rooms.props
Section 63
//BizcardProp (com.homestarrunner.dangeresque.rooms.props.BizcardProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import flash.display.*; public class BizcardProp extends Prop { private var _onSillPoint:Point; private var _homePoint:Point; public var z_test_mc:MovieClip; public function BizcardProp(){ stop(); visible = false; _standSpot = new Point(259, 192); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 64
//BlindsProp (com.homestarrunner.dangeresque.rooms.props.BlindsProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.conversations.*; import com.homestarrunner.dangeresque.rooms.props.propinterfaces.*; import com.homestarrunner.dangeresque.overlay.*; public class BlindsProp extends Prop implements IOpenable { private var _open:Boolean; public function BlindsProp(){ stop(); _open = false; _standSpot = new Point(142, 105); } public function get open():Boolean{ return (_open); } public function toggleOpen():Boolean{ if (_open){ playBetweenFrameLabels("startClose", "endClose"); } else { playBetweenFrameLabels("startOpen", "endOpen"); }; open = !(_open); return (_open); } public function set open(_arg1:Boolean):void{ _open = _arg1; GameState.areBlindsOpen = _arg1; } override public function combineWithSubClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Boolean{ switch (_arg1.label){ case InventoryDefinitions.CAMERA: if (GameState.areBlindsOpen){ if (((GameState.inventoryObj.has(InventoryDefinitions.PHOTO)) || (GameState.isPhotoInCaseFile))){ _arg2.addPhrase("I'm outta film. Plus I already got the money shot."); } else { _arg2.addPhrase("Let's see what degree murders I can witness today."); _arg2.addOverlay(WindowPhotoOverlayScene); _arg2.addCallback(Room_office(_arg3).photoAttempted, _arg3); _arg2.successfulCombination = true; }; } else { _arg2.addPhrase("I should open the blinds first. "); }; break; case InventoryDefinitions.PHOTO: if (GameState.windowsillHasItem){ _arg2.addPhrase("There's already something up there."); } else { if (GameState.areBlindsOpen){ _arg2.addPhrase("Let's see what degree murders I can witness today."); _arg2.addGamestateUpdate("windowsillHasItem", true); _arg2.addGamestateUpdate("windowsillItem", InventoryDefinitions.PHOTO); _arg2.addOverlay(WindowPhotoOverlayScene); _arg2.addGamestateUpdate("windowsillHasItem", false); _arg2.addGamestateUpdate("windowsillItem", ""); _arg2.successfulCombination = true; } else { _arg2.addPhrase("I should open the blinds first. "); }; }; break; case InventoryDefinitions.TAKEOUT: if (GameState.areBlindsOpen){ if (GameState.windowsillHasItem){ _arg2.addPhrase("There's already something up there."); } else { _arg2.addPhrase("Yeah, I should prolly air this stuff out a bit."); _arg2.addAnimation("put_u", "startPlace", "endPlace"); _arg2.addCallback(Room_office(_arg3).placeTakeoutOnSill, _arg3); _arg2.addAnimation("put_u", "startEnd", "end"); _arg2.successfulCombination = true; }; } else { _arg2.addPhrase("I should open the blinds first. "); }; break; case InventoryDefinitions.MUG: if (GameState.areBlindsOpen){ if (GameState.windowsillHasItem){ _arg2.addPhrase("There's already something up there."); } else { _arg2.addWalkToProp(this); _arg2.addPhrase("Sure. Maybe I can poison a few pigeons."); _arg2.addAnimation("put_u", "startPlace", "endPlace"); _arg2.addCallback(Room_office(_arg3).placeMugOnSill, _arg3); _arg2.addAnimation("put_u", "startEnd", "end"); _arg2.successfulCombination = true; }; } else { _arg2.addPhrase("I should open the blinds first. "); }; break; case InventoryDefinitions.STAMP: case InventoryDefinitions.STAMP_INKED: if (GameState.areBlindsOpen){ if (GameState.windowsillHasItem){ _arg2.addPhrase("There's already something up there."); } else { _arg2.addWalkToProp(this); _arg2.addAnimation("put_u", "startPlace", "endPlace"); _arg2.addCallback(Room_office(_arg3).callback_placeStampOnSill, _arg3, _arg1.label); _arg2.addAnimation("put_u", "startEnd", "end"); _arg2.successfulCombination = true; }; } else { _arg2.addPhrase("I should open the blinds first. "); }; break; case InventoryDefinitions.STAMP_INKED: if (GameState.areBlindsOpen){ if (GameState.windowsillHasItem){ _arg2.addPhrase("There's already something up there."); } else { _arg2.addWalkToProp(this); _arg2.addAnimation("put_u", "startPlace", "endPlace"); _arg2.addCallback(Room_office(_arg3).callback_placeStampOnSill, _arg3, _arg1.label); _arg2.addAnimation("put_u", "startEnd", "end"); _arg2.successfulCombination = true; }; } else { _arg2.addPhrase("I should open the blinds first. "); }; break; case InventoryDefinitions.VOMIT: if (GameState.areBlindsOpen){ if (GameState.windowsillHasItem){ _arg2.addPhrase("There's already something up there."); } else { _arg2.addWalkToProp(this); _arg2.addPhrase("Gramma used to do this to cool hers off."); _arg2.addAnimation("put_u", "startPlace", "endPlace"); _arg2.addCallback(Room_office(_arg3).callback_placeVomitOnSill, _arg3); _arg2.addAnimation("put_u", "startEnd", "end"); _arg2.successfulCombination = true; }; } else { _arg2.addPhrase("I should open the blinds first. "); }; break; default: return (false); }; return (true); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 65
//CameraProp (com.homestarrunner.dangeresque.rooms.props.CameraProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; public class CameraProp extends Prop { public function CameraProp(){ stop(); _standSpot = new Point(69, 130); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 66
//CasefileProp (com.homestarrunner.dangeresque.rooms.props.CasefileProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.conversations.*; import com.homestarrunner.dangeresque.overlay.*; public class CasefileProp extends Prop { public function CasefileProp(){ stop(); _standSpot = new Point(259, 128); } public function gotoTakeoutStain():void{ gotoAndStop(2); } public function gotoFreshCasefile():void{ gotoAndStop(1); } public function gotoCoffeeStain():void{ gotoAndStop(3); } override public function combineWithSubClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Boolean{ switch (_arg1.label){ case InventoryDefinitions.CAMERA: _arg2.addPhrase("I don't think that's what it meant by \"photographic evidence.\""); _arg2.addPhrase("I should take a photo with it.", Conversation.THINK); break; case InventoryDefinitions.PHOTO: _arg2.addWalkToProp(this); _arg2.addPhrase("This photographic evidence makes some pretty good photographic evidence!"); _arg2.successfulCombination = true; _arg2.addGamestateUpdate("isPhotoInCaseFile", true); _arg2.addInventoryRemove(InventoryDefinitions.PHOTO); _arg2.addScoreIncrement(10); _arg2.addCallback(Room_office(_arg3).callback_verifyEnding, _arg3, _arg2); break; case InventoryDefinitions.TAKEOUT: _arg2.successfulCombination = true; _arg2.addWalkToProp(this); _arg2.addPhrase("This takeout is basically puke waiting to happen, maybe it can be the physical evidence for The Chief's case."); _arg2.addFaceDirection("r"); _arg2.addAnimation("put_r"); _arg2.addCallback(gotoTakeoutStain, this); _arg2.addPause(1); _arg2.addPhrase("Aw Chunkblow! It just made it all gross and stuck together. Now I'll never pretend to solve it!"); _arg2.addNonPlayerPhrase("I HEARD THAT KOWALSKI! TURN IN YOUR BADGE!", Room_office(_arg3).chiefSpot_mc); _arg2.addFaceDirection("l"); _arg2.addPhrase("Um, who?"); _arg2.addNonPlayerPhrase("OH. I MEAN DANGERESQUE.", Room_office(_arg3).chiefSpot_mc); _arg2.addFaceDirection("d"); _arg2.addPhrase("Crap."); _arg2.addPause(1); _arg2.addOverlay(EndGameJailScene); _arg2.addOverlay(UndyingOverlayScene); _arg2.addCallback(gotoFreshCasefile, this); break; case InventoryDefinitions.MUG: _arg2.successfulCombination = true; _arg2.addWalkToProp(this); _arg2.addPhrase("Maybe if I spill coffee on The Chief's case file, he won't be able to read it and he'll think it's solved!"); _arg2.addFaceDirection("r"); _arg2.addAnimation("put_r"); _arg2.addCallback(gotoCoffeeStain, this); _arg2.addPause(1); _arg2.addPhrase("Or maybe it'll just ruin it and I'll go to jail."); _arg2.addPause(1); _arg2.addOverlay(EndGameJailScene); _arg2.addOverlay(UndyingOverlayScene); _arg2.addCallback(gotoFreshCasefile, this); break; case InventoryDefinitions.STAMP: _arg2.addPhrase("I could try and make this UNSOLVED stamp work, but I gots no ink! "); break; case InventoryDefinitions.VOMIT: _arg2.addWalkToProp(this); _arg2.successfulCombination = true; _arg2.addPhrase("Let's just tuck this in here... erm..."); _arg2.addAnimation("reach_r"); _arg2.addFaceDirection("d"); _arg2.addPhrase("Urp... almost made a second batch.", Conversation.THINK); _arg2.addScoreIncrement(10); _arg2.addPhrase("Good enough for crooked government work! I mean, who's to say whose whoosit is whose?"); _arg2.addGamestateUpdate("isSpewInCaseFile", true); _arg2.addInventoryRemove(InventoryDefinitions.VOMIT); _arg2.addCallback(Room_office(_arg3).callback_verifyEnding, _arg3, _arg2); break; case InventoryDefinitions.STAMP_INKED: if (!GameState.isFileStamped){ _arg2.addPhrase("Okay, let's see if I can make this work. I only got one shot at this."); _arg2.addOverlay(CasefileOverlayStampingScene); _arg2.successfulCombination = true; _arg2.addCallback(Room_office(_arg3).verifyStamping, this, _arg2); } else { _arg2.addPhrase("This sweet baby is already 'solved.'"); if (!GameState.hasSpewed){ _arg2.addPhrase("I still need to look deep inside myself to find some evidence...", Conversation.THINK); }; if (!GameState.isPhotoInCaseFile){ _arg2.addPhrase("But that's not enough. I need to picture this crime with my mind's eye. Its evil eye.", Conversation.THINK); }; }; break; default: return (false); }; return (true); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 67
//ChairProp (com.homestarrunner.dangeresque.rooms.props.ChairProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import flash.display.*; import com.homestarrunner.dangeresque.conversations.*; public class ChairProp extends Prop { public var z_test_mc:MovieClip; public function ChairProp(){ stop(); _standSpot = new Point(273, 172); } override public function appendFailedWalkToComment(_arg1:Conversation):void{ _arg1.addPhrase("I gotta WASD myself below that chair to get the jump on it.", Conversation.THINK); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 68
//DarknessProp (com.homestarrunner.dangeresque.rooms.props.DarknessProp) package com.homestarrunner.dangeresque.rooms.props { public dynamic class DarknessProp extends Prop { } }//package com.homestarrunner.dangeresque.rooms.props
Section 69
//DeskProp (com.homestarrunner.dangeresque.rooms.props.DeskProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import flash.display.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.conversations.*; import com.homestarrunner.dangeresque.rooms.props.propinterfaces.*; public class DeskProp extends Prop implements IOpenable { private var _open:Boolean; public var z_test_mc:MovieClip; public function DeskProp(){ stop(); _open = false; _standSpot = new Point(148, 163); } public function get open():Boolean{ return (_open); } public function toggleOpen():Boolean{ trace("DeskProp::toggleOpen", _open); if (_open){ playBetweenFrameLabels("startClose", "endClose"); } else { playBetweenFrameLabels("startOpen", "endOpen"); }; open = !(_open); return (_open); } public function set open(_arg1:Boolean):void{ _open = _arg1; GameState.isDeskOpen = _arg1; } override public function appendFailedWalkToComment(_arg1:Conversation):void{ _arg1.addPhrase("I need to WASD myself to the front of the desk for full dramatic effect.", Conversation.THINK); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 70
//DoorProp (com.homestarrunner.dangeresque.rooms.props.DoorProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import flash.display.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.props.propinterfaces.*; public class DoorProp extends Prop implements IOpenable { private var _z_openY:Number; private var _open:Boolean; private var _z_closedY:Number; public var hotArea_mc:MovieClip; public var z_test_mc:MovieClip; public function DoorProp(){ stop(); _open = false; _z_openY = 73; _z_closedY = -109; z_test_mc.y = _z_closedY; _standSpot = new Point(85, 150); } public function quickClose():void{ _open = false; gotoAndStop("closed"); z_test_mc.y = _z_closedY; GameState.isDoorOpen = false; } public function get open():Boolean{ return (_open); } public function toggleOpen():Boolean{ open = !(_open); return (_open); } public function set open(_arg1:Boolean):void{ _open = _arg1; if (_open){ z_test_mc.y = _z_openY; gotoAndStop("open"); } else { z_test_mc.y = _z_closedY; playBetweenFrameLabels("slamStart", "slamEnd"); }; GameState.isDoorOpen = _arg1; } } }//package com.homestarrunner.dangeresque.rooms.props
Section 71
//LampProp (com.homestarrunner.dangeresque.rooms.props.LampProp) package com.homestarrunner.dangeresque.rooms.props { public dynamic class LampProp extends Prop { } }//package com.homestarrunner.dangeresque.rooms.props
Section 72
//MugProp (com.homestarrunner.dangeresque.rooms.props.MugProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import flash.display.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.conversations.*; public class MugProp extends Prop { private var _onSillPoint:Point; private var _onDeskPoint:Point; public var z_test_mc:MovieClip; public function MugProp(){ _onDeskPoint = new Point(207, 103); _onSillPoint = new Point(112, 53); _standSpot = new Point(220, 112); if (((GameState.windowsillHasItem) && ((GameState.windowsillItem == "mug")))){ placeOnSill(); } else { placeOnDesk(); }; stop(); } public function placeOnDesk():void{ x = _onDeskPoint.x; y = _onDeskPoint.y; } public function placeOnSill():void{ x = _onSillPoint.x; y = _onSillPoint.y; } override public function combineWithSubClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Boolean{ if (!GameState.windowsillHasItem){ return (false); }; if (GameState.windowsillItem != InventoryDefinitions.MUG){ return (false); }; return (Room_office(_arg3).blinds_mc.combineWithSubClass(_arg1, _arg2, _arg3)); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 73
//PhoneBaseProp (com.homestarrunner.dangeresque.rooms.props.PhoneBaseProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; public class PhoneBaseProp extends Prop { public function PhoneBaseProp(){ stop(); _standSpot = new Point(203, 116); } public function offHook():void{ gotoAndStop(2); } public function onHook():void{ gotoAndStop(1); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 74
//PomPomAttackProp (com.homestarrunner.dangeresque.rooms.props.PomPomAttackProp) package com.homestarrunner.dangeresque.rooms.props { public class PomPomAttackProp extends Prop { public function PomPomAttackProp(){ stop(); visible = false; } } }//package com.homestarrunner.dangeresque.rooms.props
Section 75
//Prop (com.homestarrunner.dangeresque.rooms.props.Prop) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.conversations.*; public class Prop extends MovieClip { public var actableArea_mc:MovieClip; protected var _endLabel:String; protected var _standSpot:Point; public static const PROP_EVENT_FINISHED:String = "PROP_EVENT_FINISHED"; public function Prop(){ if (actableArea_mc){ actableArea_mc.visible = false; }; } public function destroy():void{ removeEventListener(Event.ENTER_FRAME, enterFrameListener); } public function appendFailedWalkToComment(_arg1:Conversation):void{ _arg1.addPhrase("I need to WASD myself closer.", Conversation.THINK); } public function playBetweenFrameLabels(_arg1:String, _arg2:String):void{ visible = true; gotoAndPlay(_arg1); _endLabel = _arg2; addEventListener(Event.ENTER_FRAME, enterFrameListener); } public function get standSpot():Point{ return (_standSpot); } private function enterFrameListener(_arg1:Event):void{ if (this.currentLabel == _endLabel){ stop(); dispatchEvent(new Event(PROP_EVENT_FINISHED)); removeEventListener(Event.ENTER_FRAME, enterFrameListener); }; } private function combineWithSuperClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation):Conversation{ switch (_arg1.label){ case InventoryDefinitions.CAMERA: _arg2.addPhrase("I'm not taking a picture of that. I only gots one instant shot left."); break; case InventoryDefinitions.PHOTO: _arg2.addPhrase("I really should put this in the case file."); break; case InventoryDefinitions.TAKEOUT: if (GameState.hasEatenTakeout){ _arg2.addPhrase("That doesn't need to feel the fury of a Dragon Man doing Kung-Fu."); } else { _arg2.addPhrase("Ancient Chinese Secret: ancient chinese takeout won't help here."); }; break; case InventoryDefinitions.MUG: _arg2.addPhrase("Naw. Pouring old coffee on that won't help. What a surprise."); break; case InventoryDefinitions.STAMP: _arg2.addPhrase("That's not UNSOLVED. Besides, I got no ink."); break; case InventoryDefinitions.STAMP_INKED: _arg2.addPhrase("I don't wanna get rancid sweet n' sour sauce all over that."); break; case InventoryDefinitions.VOMIT: _arg2.addPhrase("Most things are better without a bag of whoozit poured on them."); _arg2.addPhrase("Most...", Conversation.THINK); break; }; return (_arg2); } public function get actableArea():MovieClip{ return (actableArea_mc); } public function get hasActableArea():Boolean{ if (actableArea_mc){ return (true); }; return (false); } public function combineWith(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Conversation{ if (!combineWithSubClass(_arg1, _arg2, _arg3)){ combineWithSuperClass(_arg1, _arg2); }; return (_arg2); } public function hide():void{ visible = false; } protected function gotoAndStopAtFrameLabel(_arg1:String):void{ gotoAndStop(_arg1); _endLabel = _arg1; removeEventListener(Event.ENTER_FRAME, enterFrameListener); } public function combineWithSubClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Boolean{ return (false); } public function show():void{ visible = true; } } }//package com.homestarrunner.dangeresque.rooms.props
Section 76
//RugProp (com.homestarrunner.dangeresque.rooms.props.RugProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.props.propinterfaces.*; public class RugProp extends Prop implements IOpenable { private var _open:Boolean; public function RugProp(){ stop(); _open = false; _standSpot = new Point(123, 141); } public function get open():Boolean{ return (_open); } public function toggleOpen():Boolean{ if (_open){ playBetweenFrameLabels("startClose", "endClose"); } else { playBetweenFrameLabels("startOpen", "endOpen"); }; open = !(_open); trace("RugProp::toggleOpen", _open); return (_open); } public function set open(_arg1:Boolean):void{ _open = _arg1; GameState.isRugOpen = _arg1; } } }//package com.homestarrunner.dangeresque.rooms.props
Section 77
//SafeCodeProp (com.homestarrunner.dangeresque.rooms.props.SafeCodeProp) package com.homestarrunner.dangeresque.rooms.props { public class SafeCodeProp extends Prop { public function SafeCodeProp(){ stop(); mouseEnabled = false; } } }//package com.homestarrunner.dangeresque.rooms.props
Section 78
//SafeProp (com.homestarrunner.dangeresque.rooms.props.SafeProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.props.propinterfaces.*; public class SafeProp extends Prop implements IOpenable { private var _open:Boolean; public function SafeProp(){ stop(); _open = false; _standSpot = new Point(90, 128); } public function get open():Boolean{ return (_open); } public function toggleOpen():Boolean{ var _local1:SoundPlayer; if (_open){ gotoAndStop("endClose"); } else { gotoAndStop("endOpen"); }; _local1 = new SoundPlayer("desque_sfx_safeopenclose"); open = !(_open); return (_open); } public function set open(_arg1:Boolean):void{ _open = _arg1; GameState.isSafeOpen = _arg1; } } }//package com.homestarrunner.dangeresque.rooms.props
Section 79
//SauceProp (com.homestarrunner.dangeresque.rooms.props.SauceProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.conversations.*; public class SauceProp extends Prop { public function SauceProp(){ stop(); _standSpot = new Point(108, 112); } override public function combineWithSubClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Boolean{ switch (_arg1.label){ case InventoryDefinitions.STAMP: _arg2.addWalkToProp(this); _arg2.addAnimation("reach_l"); _arg2.addWalkToProp(this); _arg2.addPhrase("Hey, this rancid sweet n' sour sauce makes some nice red ink!"); _arg2.successfulCombination = true; _arg2.addInventoryAdd(InventoryDefinitions.STAMP_INKED); _arg2.addGamestateUpdate("isStampInked", true); _arg2.addInventoryRemove(InventoryDefinitions.STAMP); _arg2.addScoreIncrement(10); break; default: return (false); }; return (true); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 80
//StampProp (com.homestarrunner.dangeresque.rooms.props.StampProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import flash.display.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.conversations.*; public class StampProp extends Prop { private var _onSillPoint:Point; private var _homePoint:Point; public var z_test_mc:MovieClip; public function StampProp(){ stop(); _standSpot = new Point(248, 132); _homePoint = new Point(233, 114); _onSillPoint = new Point(105, 53); } public function placeHome():void{ x = _homePoint.x; y = _homePoint.y; if (GameState.isStampInked){ gotoAndStop(2); } else { gotoAndStop(1); }; } public function placeOnSill():void{ x = _onSillPoint.x; y = _onSillPoint.y; if (GameState.isStampInked){ gotoAndStop(2); } else { gotoAndStop(1); }; } override public function combineWithSubClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Boolean{ if (!GameState.windowsillHasItem){ return (false); }; if (((!((GameState.windowsillItem == InventoryDefinitions.STAMP))) && (!((GameState.windowsillItem == InventoryDefinitions.STAMP_INKED))))){ return (false); }; return (Room_office(_arg3).blinds_mc.combineWithSubClass(_arg1, _arg2, _arg3)); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 81
//SwitchProp (com.homestarrunner.dangeresque.rooms.props.SwitchProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import com.homestarrunner.dangeresque.*; public class SwitchProp extends Prop { private var _on:Boolean; public function SwitchProp(){ stop(); _on = true; updateDisplay(); _standSpot = new Point(245, 114); } public function toggleOn():Boolean{ on = !(on); updateDisplay(); return (on); } private function updateDisplay():void{ if (on){ gotoAndStop("on"); } else { gotoAndStop("off"); }; } public function set on(_arg1:Boolean):void{ _on = _arg1; GameState.areLightsOn = _arg1; } public function get on():Boolean{ return (_on); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 82
//TakeoutProp (com.homestarrunner.dangeresque.rooms.props.TakeoutProp) package com.homestarrunner.dangeresque.rooms.props { import flash.geom.*; import flash.display.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.conversations.*; public class TakeoutProp extends Prop { private var _onSillPoint:Point; private var _onSafePoint:Point; public var z_test_mc:MovieClip; public function TakeoutProp(){ stop(); _onSafePoint = new Point(73, 75); _onSillPoint = new Point(112, 47); _standSpot = new Point(108, 112); if (((GameState.windowsillHasItem) && ((GameState.windowsillItem == "takeout")))){ placeOnSill(); } else { placeOnSafe(); }; stop(); } public function placeOnSafe():void{ x = _onSafePoint.x; y = _onSafePoint.y; } public function setUpright():void{ gotoAndStop(1); } public function setSideways():void{ gotoAndStop(2); } public function placeOnSill():void{ x = _onSillPoint.x; y = _onSillPoint.y; setUpright(); } override public function combineWithSubClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Boolean{ if (!GameState.windowsillHasItem){ return (false); }; if (GameState.windowsillItem != InventoryDefinitions.TAKEOUT){ return (false); }; return (Room_office(_arg3).blinds_mc.combineWithSubClass(_arg1, _arg2, _arg3)); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 83
//VomitProp (com.homestarrunner.dangeresque.rooms.props.VomitProp) package com.homestarrunner.dangeresque.rooms.props { import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.conversations.*; public class VomitProp extends Prop { public function VomitProp(){ stop(); } override public function combineWithSubClass(_arg1:InventoryDefinitionStruct, _arg2:Conversation, _arg3:Room):Boolean{ if (!GameState.windowsillHasItem){ return (false); }; if (GameState.windowsillItem != InventoryDefinitions.VOMIT){ return (false); }; return (Room_office(_arg3).blinds_mc.combineWithSubClass(_arg1, _arg2, _arg3)); } } }//package com.homestarrunner.dangeresque.rooms.props
Section 84
//Room (com.homestarrunner.dangeresque.rooms.Room) package com.homestarrunner.dangeresque.rooms { import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.props.*; import com.homestarrunner.dangeresque.customevent.*; import com.homestarrunner.dangeresque.conversations.*; import flash.media.*; public class Room extends MovieClip { protected var hotObjects:Array; public var walk_area_mc:MovieClip; private var bottomDepthScore:int; public var playerObj:Player; private var everyOtherFrame:Boolean; protected var depthObjects:Array; private var topDepthScore:int; public var playerMarker_mc:MovieClip; private var cancelClicker_spr:Sprite; public function Room(_arg1:Player){ HotObject.initHotObjects(this); playerObj = _arg1; Conversation.init(playerObj._mc); cancelClicker_spr = new Sprite(); cancelClicker_spr.graphics.beginFill(0, 0); cancelClicker_spr.graphics.drawRect(0, 0, width, height); addChildAt(cancelClicker_spr, 0); cancelClicker_spr.addEventListener(MouseEvent.CLICK, cancelClickerListener); playerObj._mc.x = playerMarker_mc.x; playerObj._mc.y = playerMarker_mc.y; removeChild(playerMarker_mc); playerMarker_mc.stop(); playerMarker_mc = null; hotObjects = new Array(); everyOtherFrame = true; walk_area_mc.mouseEnabled = false; walk_area_mc.alpha = 0; depthObjects = new Array(); } public function getLook(_arg1:HotObject):Conversation{ return (null); } public function getTalk(_arg1:HotObject):Conversation{ return (null); } private function removeZHints():void{ var i:int; i = 0; while (i < depthObjects.length) { try { depthObjects[i].z_test_mc.visible = false; } catch(e:Error) { trace(e, "A depth object was created that doesn't have a z_test_mc.", depthObjects[i].name); }; i = (i + 1); }; } private function cancelClickerListener(_arg1:MouseEvent):void{ dispatchEvent(new Event(Game.CANCEL_COMBINE)); dispatchEvent(new Event(Game.CANCEL_INVENTORY)); } public function combine(_arg1:InventoryDefinitionStruct, _arg2:HotObject):Conversation{ var _local3:*; _local3 = new Conversation(playerObj); Prop(_arg2._mc).combineWith(_arg1, _local3, this); return (_local3); } private function updateDepths(_arg1:Event):void{ var _local2:Array; var _local3:*; var _local4:Number; var _local5:MovieClip; if (!everyOtherFrame){ everyOtherFrame = true; return; }; _local2 = new Array(); _local4 = 0; while (_local4 < depthObjects.length) { _local5 = depthObjects[_local4]; _local2.push({_mc:_local5, ds:(depthObjects[_local4].y + depthObjects[_local4].z_test_mc.y)}); _local4++; }; _local2.sortOn("ds", Array.NUMERIC); _local4 = 0; while (_local4 < _local2.length) { setChildIndex(_local2[_local4]._mc, (bottomDepthScore + _local4)); _local4++; }; } protected function hotObjectEventRedispatch(_arg1:HotObjectEvent):void{ var _local2:*; _local2 = new HotObjectEvent(_arg1.type); _local2.hotObject = _arg1.hotObject; dispatchEvent(_local2); } public function kill():void{ var _local1:Number; _local1 = 0; while (_local1 < hotObjects.length) { hotObjects[_local1].removeEventListener(HotObject.HOT_OBJECT_ROLL_OVER, hotObjectEventRedispatch); hotObjects[_local1].removeEventListener(HotObject.HOT_OBJECT_ROLL_OUT, hotObjectEventRedispatch); hotObjects[_local1].removeEventListener(HotObject.HOT_OBJECT_CLICKED, hotObjectEventRedispatch); delete hotObjects[_local1]; _local1++; }; hotObjects = new Array(); _local1 = 0; while (_local1 < depthObjects.length) { delete depthObjects[_local1]; _local1++; }; depthObjects = new Array(); removeEventListener(Event.ENTER_FRAME, updateDepths); cancelClicker_spr.removeEventListener(MouseEvent.CLICK, cancelClickerListener); } public function getTakeUse(_arg1:HotObject):Conversation{ return (null); } public function getNewBackgroundMusicObject():Sound{ return (null); } protected function addStageObject(_arg1:MovieClip, _arg2:String, _arg3:String, _arg4:Boolean=false):void{ hotObjects.push(new HotObject(_arg1, _arg2, _arg3)); if (_arg4){ depthObjects.push(_arg1); }; } protected function postInitialization():void{ removeZHints(); setUpDepthSwap(); initializeHotObjects(); addEventListener(Event.ENTER_FRAME, updateDepths); } private function initializeHotObjects():void{ var _local1:int; _local1 = 0; while (_local1 < hotObjects.length) { hotObjects[_local1].addEventListener(HotObject.HOT_OBJECT_ROLL_OVER, hotObjectEventRedispatch); hotObjects[_local1].addEventListener(HotObject.HOT_OBJECT_ROLL_OUT, hotObjectEventRedispatch); hotObjects[_local1].addEventListener(HotObject.HOT_OBJECT_CLICKED, hotObjectEventRedispatch); _local1++; }; } public function getOpeningConversation():Conversation{ return (null); } private function setUpDepthSwap():void{ var _local1:int; var _local2:int; bottomDepthScore = numChildren; topDepthScore = 0; _local1 = 0; while (_local1 < depthObjects.length) { _local2 = getChildIndex(depthObjects[_local1]); if (_local2 >= topDepthScore){ topDepthScore = _local2; }; if (_local2 < bottomDepthScore){ bottomDepthScore = _local2; }; _local1++; }; addStageObject(playerObj._mc, "dangeresque", "Dangeresque", true); addChildAt(playerObj._mc, (topDepthScore + 1)); topDepthScore++; } public function setHotObjectsEnabled(_arg1:Boolean=true):void{ var _local2:int; _local2 = 0; while (_local2 < hotObjects.length) { HotObject(hotObjects[_local2]).setEnabled(_arg1); _local2++; }; } } }//package com.homestarrunner.dangeresque.rooms
Section 85
//Room_office (com.homestarrunner.dangeresque.rooms.Room_office) package com.homestarrunner.dangeresque.rooms { import flash.display.*; import com.homestarrunner.dangeresque.*; import com.homestarrunner.dangeresque.rooms.props.*; import com.homestarrunner.dangeresque.conversations.*; import flash.media.*; import com.homestarrunner.dangeresque.sounds.*; import com.homestarrunner.dangeresque.overlay.*; public class Room_office extends Room { public var ashtray_mc:Prop; public var casefile_mc:Prop; public var mug_mc:MugProp; public var phone_mc:PhoneBaseProp; private var _talkSelfCounter:int; public var switch_mc:SwitchProp; public var darknessOverlay_mc:MovieClip; public var lightness_mc:MovieClip; private var _lookSelfCounter:int; public var bizcard_mc:BizcardProp; public var safeCode_mc:SafeCodeProp; public var camera_mc:CameraProp; public var desk_mc:DeskProp; public var sauce_mc:Prop; public var pomPom_mc:PomPomAttackProp; public var bag_mc:Prop; public var rug_mc:RugProp; public var chair_mc:Prop; public var lamp_mc:Prop; public var takeout_mc:TakeoutProp; public var safe_mc:SafeProp; public var stamp_mc:StampProp; public var blinds_mc:BlindsProp; public var door_mc:DoorProp; private var _talkPhoneCounter:int; public var chiefSpot_mc:MovieClip; public function Room_office(_arg1:Player){ super(_arg1); _lookSelfCounter = 0; _talkSelfCounter = 0; _talkPhoneCounter = 0; playerObj._mc.x = 53; playerObj._mc.y = 148; addStageObject(desk_mc, "desk", "Dangerdesque", true); addStageObject(lamp_mc, "lamp", "Lamp"); addStageObject(ashtray_mc, "ashtray", "Ashtray", true); addStageObject(blinds_mc, "blinds", "Blinds"); addStageObject(mug_mc, "mug", "Coffee", true); addStageObject(rug_mc, "rug", "Rug"); addStageObject(takeout_mc, "takeout", "Takeout", true); addStageObject(sauce_mc, "sauce", "Sweet/Sour sauce"); addStageObject(safe_mc, "safe", "Safe"); addStageObject(chair_mc, "chair", "Chair", true); addStageObject(switch_mc, "switch", "Switch"); addStageObject(camera_mc, "camera", "Camera"); addStageObject(phone_mc, "phone", "Phone"); addStageObject(door_mc, "door", "Door", true); addStageObject(casefile_mc, "casefile", "Casefile"); addStageObject(bizcard_mc, "bizcard", "Biz card"); addStageObject(bag_mc, "vomit", "Whoozit pie"); addStageObject(stamp_mc, "stamp", "UNSOLVED stamp", true); lightness_mc.mouseEnabled = false; darknessOverlay_mc.mouseEnabled = false; takeout_mc.visible = !(GameState.inventoryObj.has(InventoryDefinitions.TAKEOUT)); sauce_mc.visible = GameState.inventoryObj.has(InventoryDefinitions.TAKEOUT); bag_mc.visible = ((GameState.windowsillHasItem) && ((GameState.windowsillItem == InventoryDefinitions.VOMIT))); callback_showDarkness(); showSafeCode(); callback_showCamera(); callback_showBizcard(); showStamp(); showMug(); postInitialization(); } public function callback_takeStamp():void{ if (GameState.windowsillHasItem){ if (GameState.windowsillItem == InventoryDefinitions.STAMP_INKED){ GameState.inventoryObj.add(InventoryDefinitions.STAMP_INKED); GameState.windowsillHasItem = false; GameState.windowsillItem = null; } else { if (GameState.windowsillItem == InventoryDefinitions.STAMP){ GameState.inventoryObj.add(InventoryDefinitions.STAMP); GameState.windowsillHasItem = false; GameState.windowsillItem = null; } else { GameState.inventoryObj.add(InventoryDefinitions.STAMP); }; }; } else { GameState.inventoryObj.add(InventoryDefinitions.STAMP); }; showStamp(); } private function buildConv_bizcard(_arg1:Conversation):void{ _arg1.addWalkToProp(bizcard_mc); if (!GameState.hasReadBizCard){ _arg1.addPhrase("Hey! It's the number for Kung-Fu Dragon takeout! 555-KUFU. I can remember that."); _arg1.addGamestateUpdate("hasReadBizCard", true); _arg1.addScoreIncrement(10); } else { _arg1.addPhrase("I already got these digits memorized. And I like how it looks on the floor."); }; } public function placeMugOnSill():void{ GameState.inventoryObj.remove(InventoryDefinitions.MUG); GameState.windowsillHasItem = true; GameState.windowsillItem = InventoryDefinitions.MUG; mug_mc.placeOnSill(); showMug(); } public function photoAttempted():void{ if (((GameState.windowsillHasItem) && ((GameState.windowsillItem == "takeout")))){ GameState.scoreManager.add(30); GameState.inventoryObj.add("photo"); }; } private function buildConv_useChair(_arg1:Conversation):void{ if (GameState.isDeskOpen){ _arg1.addPhrase("I should close the drawer first to avoid sitting in the drawer instead."); } else { if (GameState.hasSpewed){ _arg1.addPhrase("No more turkish twist. I have my bag of whoozit"); } else { _arg1.addWalkToProp(chair_mc); if (((GameState.hasDrankCoffee) && (GameState.hasEatenTakeout))){ _arg1.addPhrase("Oooh I love this! Whee!"); buildConv_useChairInsertAnimation(_arg1); _arg1.addPhrase("Aw nuts. *hurk* Here comes trouble."); _arg1.addAnimation("puke"); _arg1.addGamestateUpdate("hasSpewed", true); _arg1.addScoreIncrement(25); _arg1.addInventoryAdd(InventoryDefinitions.VOMIT); _arg1.addPhrase("I'll just, uh, send this to the \"boys\" down at the, um, \"lab.\""); _arg1.addCallback(callback_verifyEnding, this, _arg1); } else { if (GameState.hasDrankCoffee){ _arg1.addPhrase("Oooh I love this! Whee!"); buildConv_useChairInsertAnimation(_arg1); _arg1.addPhrase("Oh jeez. *urp* Phew. The 2 year old creamer in that coffee doesn't fool around."); } else { if (GameState.hasEatenTakeout){ _arg1.addPhrase("Oooh I love this! Whee!"); buildConv_useChairInsertAnimation(_arg1); _arg1.addPhrase("Uh oh. *burp* That was close. Almost had the Return of the Kung-Fu Dragon there."); } else { _arg1.addPhrase("Oooh I love this! Whee!"); buildConv_useChairInsertAnimation(_arg1); _arg1.addPhrase("Whoa! Feelin' woozy."); }; }; }; }; }; } public function callback_placePlayerBehindDoor():void{ playerObj._mc.x = 53; playerObj._mc.y = 148; } private function buildConv_toggleBlinds(_arg1:Conversation):void{ if (((GameState.areBlindsOpen) && (GameState.windowsillHasItem))){ _arg1.addPhrase("I should pick that thing up first."); } else { _arg1.addWalkToProp(blinds_mc); _arg1.addPhrase("You got it, hoss."); _arg1.addAnimation("put_u", "start", "endPlace"); _arg1.addCallback(blinds_mc.toggleOpen, blinds_mc); _arg1.addCallback(callback_showDarkness, this); _arg1.addAnimation("put_u", "startEnd", "end"); }; } private function lookSelf(_arg1:Conversation):void{ switch (_lookSelfCounter){ case 0: _arg1.addPhrase("I look ready for love, a gunfight, a car chase, and a small salad all at once!"); break; case 1: _arg1.addPhrase("Who's the expensive action star with the cheapest costume ever-DANGERESQUE! Ooh, you dang right."); break; case 2: _arg1.addFaceDirection("u"); _arg1.addPhrase("Do these laces make my head look husky?"); break; }; _lookSelfCounter++; if (_lookSelfCounter > 2){ _lookSelfCounter = 0; }; } public function callback_showDarkness():void{ darknessOverlay_mc.visible = !(GameState.areLightsOn); lightness_mc.visible = ((!(GameState.areLightsOn)) && (GameState.areBlindsOpen)); if (GameState.areBlindsOpen){ darknessOverlay_mc.gotoAndStop(3); } else { if (GameState.isRugOpen){ darknessOverlay_mc.gotoAndStop(2); } else { darknessOverlay_mc.gotoAndStop(1); }; }; showSafeCode(); } private function callback_showCamera():void{ camera_mc.visible = ((!(GameState.inventoryObj.has(InventoryDefinitions.CAMERA))) && (GameState.isSafeOpen)); } override public function getOpeningConversation():Conversation{ var _local1:Conversation; _local1 = new Conversation(playerObj); _local1.addCallback(door_mc.toggleOpen, door_mc); _local1.addWalkToProp(door_mc); _local1.addAnimation("reach_l"); _local1.addCallback(door_mc.toggleOpen, door_mc); _local1.addPhrase("Man. That warehaus was full of action and suspense."); _local1.addNonPlayerPhrase("DANGERESQUE! YOU'RE OUTTA LINE!", chiefSpot_mc); _local1.addFaceDirection("l"); _local1.addPhrase("Oh crap! It's the Chief! I was supposed to solve a case for him months ago."); _local1.addNonPlayerPhrase("YOU'RE A LOOSE CANNON! A LONER! WHEN YOU'RE AROUND, PEOPLE GET HURT, DANGERESQUE!", chiefSpot_mc); _local1.addPhrase("Hey, that's what it says on my business cards!"); _local1.addNonPlayerPhrase("IF YOU DON'T WALK OUT THIS DOOR WITH MY CASE SOLVED, I'M LOCKIN' YOU UP!", chiefSpot_mc); _local1.addFaceDirection("d"); _local1.addPhrase("Sounds like he means it. Better try and \"solve\" his case quick."); _local1.addFaceDirection("r"); _local1.addPhrase("Now where'd I put that case file... ", Conversation.THINK); return (_local1); } public function showStamp():void{ if (((GameState.windowsillHasItem) && ((((GameState.windowsillItem == InventoryDefinitions.STAMP)) || ((GameState.windowsillItem == InventoryDefinitions.STAMP_INKED)))))){ stamp_mc.visible = true; } else { stamp_mc.visible = ((((!(GameState.inventoryObj.has(InventoryDefinitions.STAMP))) && (!(GameState.inventoryObj.has(InventoryDefinitions.STAMP_INKED))))) && (GameState.isDeskOpen)); }; } public function callback_verifyEnding(_arg1:Conversation):void{ if (((((GameState.isSpewInCaseFile) && (GameState.isPhotoInCaseFile))) && (GameState.isFileStamped))){ buildConv_conclusion(_arg1); }; } private function buildConv_talkPhone(_arg1:Conversation):void{ _arg1.addWalkToProp(phone_mc); _arg1.addFaceDirection("l"); _arg1.addCallback(phone_mc.offHook, phone_mc); if (((GameState.hasReadBizCard) && (!(GameState.hasLoosenedTakeout)))){ if (GameState.hasAttemptedTakeout){ _arg1.addPhrase("Hello? Kung-Fu Dragon? I have a takeout tech support issue. A Take Support issue if you will.", Conversation.TALK_PHONE); _arg1.addPhrase("Can you send a specialist right away?", Conversation.TALK_PHONE); _arg1.addPhrase("Thanks!", Conversation.TALK_PHONE); _arg1.addCallback(phone_mc.onHook, phone_mc); _arg1.addCallback(takeout_mc.hide, takeout_mc); _arg1.addPropAnimation(pomPom_mc); _arg1.addCallback(takeout_mc.show, takeout_mc); _arg1.addCallback(takeout_mc.setSideways, takeout_mc); _arg1.addGamestateUpdate("hasLoosenedTakeout", true); _arg1.addCallback(pomPom_mc.hide, pomPom_mc); _arg1.addScoreIncrement(15); _arg1.addPhrase("Nice!"); _arg1.addPhrase("Note to self: don't ever mess with the takeout delivery guy.", Conversation.THINK); } else { _arg1.addPhrase("Hello? Kung-Fu Dragon?", Conversation.TALK_PHONE); _arg1.addPhrase("I, uh, just wanted to say what a cool name you have. Okay, bye.", Conversation.TALK_PHONE); _arg1.addCallback(phone_mc.onHook, phone_mc); _arg1.addPhrase("Prolly should have a reason to call them first.", Conversation.THINK); }; } else { _arg1.addPhrase("We're sending help immediately, Mrs. Fletcher!", Conversation.TALK_PHONE); _arg1.addCallback(phone_mc.onHook, phone_mc); }; } public function verifyStamping(_arg1:Conversation):void{ trace("Room_office::verifyStamping", GameState.fileStampY, GameState.fileStampX); if ((((((GameState.fileStampY > 15)) && ((GameState.fileStampX > -11)))) && ((GameState.fileStampX < 12)))){ GameState.isFileStamped = true; _arg1.addPhrase("That was genius! Almost as good as that time I turned a 00% on that algebra test into a 1000%."); _arg1.addCallback(callback_verifyEnding, this, _arg1); } else { GameState.isFileStamped = false; _arg1.addPhrase("Oh crank. That was indelible sweet n' sour sauce."); _arg1.addPhrase("This does not look good for Dangeresque."); _arg1.addOverlay(EndGameJailScene); _arg1.addOverlay(UndyingOverlayScene); }; } private function buildConv_takeTakeout(_arg1:Conversation):void{ if (GameState.hasLoosenedTakeout){ if (((GameState.windowsillHasItem) && ((GameState.windowsillItem == "takeout")))){ _arg1.addWalkToProp(blinds_mc); _arg1.addAnimation("put_u", "start", "end"); } else { _arg1.addWalkToProp(takeout_mc); _arg1.addAnimation("reach_l", "start", "end"); _arg1.addScoreIncrement(5); }; _arg1.addCallback(callback_takeTakeout, this); _arg1.addFaceDirection("d"); _arg1.addPhrase("Good idea. Never know when you might need to make somebody puke."); } else { _arg1.addWalkToProp(takeout_mc); _arg1.addAnimation("reach_l", "start", "end"); _arg1.addPhrase("Nnnng! It's stuck to the top of the safe."); if (!GameState.hasAttemptedTakeout){ _arg1.addScoreIncrement(5); _arg1.addGamestateUpdate("hasAttemptedTakeout", true); }; _arg1.addPhrase("I'm gonna need to hire a Takeout-Stuck-To-Safe Cracker for this one."); }; } private function buildConv_toggleLights(_arg1:Conversation):void{ _arg1.addWalkToProp(switch_mc); _arg1.addAnimation("reach_r", "start", "end"); _arg1.addFaceDirection("r"); _arg1.addCallback(switch_mc.toggleOn, switch_mc); _arg1.addCallback(callback_showDarkness, this); if (GameState.areLightsOn){ if (!GameState.lightsSwitchedOffOnce){ _arg1.addPhrase("Better make it more romantic in here in case a leggy dame stops by."); _arg1.addNonPlayerPhrase("Hey! Don't discount my gams! I'm on the stairmaster all the time!", chiefSpot_mc); _arg1.addPhrase("Quiet you!"); _arg1.addGamestateUpdate("lightsSwitchedOffOnce", true); }; } else { if (!GameState.lightsSwitchedOnOnce){ _arg1.addPhrase("Yeah, it's kinda hard to see. My cool, cool nightvision goggles are in the shop."); _arg1.addGamestateUpdate("lightsSwitchedOffOnce", false); }; }; } private function buildConv_talkSelf(_arg1:Conversation):void{ switch (_talkSelfCounter){ case 0: _arg1.addPhrase("Oh Dangeresque! You're so manly and my husband The Chief is so balding and football watchy. Let's keep making out."); _arg1.addNonPlayerPhrase("I'M NOT FALLIN' FOR THAT CRAP AGAIN! GLADYS HAS BEEN DEAD FOR 30 YEARS!", chiefSpot_mc); _arg1.addPhrase("Oh jeez. Uh, sorry The Chief."); _arg1.addNonPlayerPhrase("HA! JUST KIDDING! NO WOMAN WILL COME WITHIN 20 FEET OF ME!", chiefSpot_mc); _arg1.addPhrase("Um, touche'?"); break; case 1: _arg1.addPhrase("Looks like I'm gonna have to juuuuuuump!"); _arg1.addNonPlayerPhrase("HE'S JUMPIN' OUT THE WINDOW! CALL FOR BACKUP! SEAL OFF THE BUILDING! TAKE THE SHOT!", chiefSpot_mc); _arg1.addPhrase("Heh heh. I love doin' that."); _arg1.addNonPlayerPhrase("HEY!", chiefSpot_mc); break; case 2: _arg1.addFaceDirection("l"); _arg1.addPhrase("You think you're real hot stuff around here don't you Dangeresque?"); _arg1.addFaceDirection("r"); _arg1.addPhrase("Hotter than you, Kowalski."); _arg1.addFaceDirection("l"); _arg1.addPhrase("You wanna go toe to toe with me?!"); _arg1.addFaceDirection("r"); _arg1.addPhrase("I'd probably get athlete's foot."); _arg1.addFaceDirection("l"); _arg1.addPhrase("Heh. You're alright Dangeresque. You're aaall riiiight."); break; }; _talkSelfCounter++; if (_talkSelfCounter > 2){ _talkSelfCounter = 0; }; } private function buildConv_useChairInsertAnimation(_arg1:Conversation):void{ var _local2:String; _local2 = "chairspin_withcard"; if (GameState.hasBizCardFallen){ _local2 = "chairspin"; }; _arg1.addAnimation(_local2, "start", "preSpin"); _arg1.addCallback(chair_mc.hide, chair_mc); _arg1.addAnimation(_local2, "spinStart", "preLeave"); _arg1.addCallback(chair_mc.show, chair_mc); if (!GameState.hasBizCardFallen){ _arg1.addGamestateUpdate("hasBizCardFallen", true); _arg1.addCallback(callback_showBizcard, this); }; _arg1.addAnimation(_local2, "startChairOut", "end"); _arg1.addFaceDirection("d"); } override public function getLook(_arg1:HotObject):Conversation{ var _local2:Conversation; _local2 = new Conversation(playerObj); _local2.addFaceProp(Prop(_arg1._mc)); switch (_arg1.id){ case "desk": _local2.addPhrase("The Dangerdesque is built to withstand gunshots, slammed-down badges,"); _local2.addPhrase("and impromptu makeouts with femme fatales."); break; case "blinds": _local2.addFaceDirection("u"); if (GameState.areBlindsOpen){ _local2.addPhrase("Man that city is SO at large."); _local2.addPhrase("And so is that fat guy watching TV in that apartment over there."); } else { _local2.addPhrase("These blinds are keeping me from seeing the city at large."); }; break; case "lamp": _local2.addPhrase("You just keep doing your swing thing, man."); _local2.addPhrase("Swing it out."); break; case "ashtray": _local2.addPhrase("It's an ashtray. The ash meter is on 'E'"); break; case "safe": _local2.addPhrase("Look safe? It looks safe."); if (((((GameState.isSafeOpen) && (!(GameState.inventoryObj.has(InventoryDefinitions.CAMERA))))) && (!(((GameState.windowsillHasItem) && ((GameState.windowsillItem == "camera"))))))){ _local2.addPhrase("There's a camera all up in there!"); }; break; case "rug": if (GameState.isRugOpen){ if (GameState.areLightsOn){ _local2.addPhrase("There's something faintly scribbled on the floorboards."); _local2.addPhrase("Can't make it out."); } else { if (GameState.areBlindsOpen){ _local2.addPhrase("I can't see anything under the rug in all this moonlight."); } else { _local2.addPhrase("Hey! It's the combination to my safe! 73!"); _local2.addPhrase("I forgot I wrote it in invisible, glow-in-the-dark ink!", Conversation.THINK); if (!GameState.hasSafeCombination){ _local2.addGamestateUpdate("hasSafeCombination", true); _local2.addScoreIncrement(20); }; }; }; } else { _local2.addPhrase("Got this for 10 bucks at a \"Rugs 4 Thugs\" auction."); _local2.addPhrase("All proceeds benefit underprivileged mid-level enforcers everywhere!"); }; break; case "chair": _local2.addPhrase("I've slept more hours in that office chair than I have in beds."); _local2.addPhrase("You just can't slouch properly in a bed."); break; case "mug": _local2.addPhrase("It's so old the creamer has formed a fuzzy little island in the middle."); break; case "switch": _local2.addPhrase("It was expensive but I finally upgraded to include the OFF package."); break; case "takeout": _local2.addPhrase("Some 5-year old takeout from Kung-Fu Dragon."); _local2.addPhrase("I keep it around cause there's a cool picture of a Dragon Man doing Kung-Fu on it."); break; case "sauce": _local2.addPhrase("Eww. Looks like some sweet n' sour sauce oozed onto my safe."); break; case "camera": _local2.addPhrase("Ooh! It's my Snoopeur 200 Telefoto Instant Camera. Oh, the things we've illegally surveilled."); break; case "phone": _local2.addPhrase("This phone helps me take a proverbial bite out of proverbial crime."); break; case "stamp": _local2.addPhrase("It's one o' them rubber stamps."); _local2.addPhrase("I mostly use it on Renaldo's forehead when he's asleep."); break; case "door": _local2.addPhrase("It says \"EUQSEREGNAD\"."); _local2.addPhrase("And there's a The Chief seething behind it."); _local2.addPhrase("Man, listen to that guy seethe.", Conversation.THINK); break; case "casefile": _local2.addPhrase("Let's see what I need to do to pretend-solve you..."); _local2.addOverlay(CasefileOverlayScene); _local2.addPhrase("That sounds easy enough. I've faked ID's harder than this."); break; case "dangeresque": lookSelf(_local2); break; case "bizcard": buildConv_bizcard(_local2); break; case "vomit": _local2.addPhrase("It looks so delicious steaming on the windowsill there... wait, what?"); break; default: trace("WARNING: Room_office::getTakeUse() nickname not found:", _arg1.id); break; }; return (_local2); } override public function getTalk(_arg1:HotObject):Conversation{ var _local2:Conversation; _local2 = new Conversation(playerObj); _local2.addFaceProp(Prop(_arg1._mc)); switch (_arg1.id){ case "blinds": if (GameState.areBlindsOpen){ _local2.addPhrase("HEY FAT GUY WATCHING TV!! Nope. Can't hear me."); } else { _local2.addPhrase("Thanks for providing the appropriate noir atmosphere, blinds."); }; break; case "ashtray": _local2.addPhrase("Your ash is grash!"); break; case "safe": _local2.addPhrase("Dangeresque NEVER plays it safe!"); break; case "rug": if (GameState.isRugOpen){ _local2.addPhrase("Freeze, dust mites!"); } else { _local2.addPhrase("Lookin' rectangulous, rug."); }; break; case "chair": _local2.addPhrase("GET BACK TO WORK, CHAIR!"); break; case "mug": _local2.addPhrase("You're gettin' too old for this job, coffee."); break; case "switch": _local2.addPhrase("Dangeresque doesn't RAVE, switchy."); break; case "takeout": _local2.addPhrase("And the Kung-Fu Dragon Chinese Takeout comes in the niiiight! (they're open late.)"); break; case "sauce": _local2.addPhrase("Don't gimme none o' your talk-sauce!"); break; case "camera": _local2.addPhrase("I'm gonna GET you!"); break; case "phone": buildConv_talkPhone(_local2); break; case "stamp": _local2.addPhrase("*grumble* Hi, stamp."); break; case "door": buildConv_talkDoor(_local2); break; case "casefile": _local2.addPhrase("The Chief's unsolved case file's not much of a talker. More of a LOOKer."); break; case "dangeresque": buildConv_talkSelf(_local2); break; case "bizcard": _local2.addPhrase("STAY DOWN!"); break; case "vomit": _local2.addPhrase("Bag of whoozit, there's something me and the guys need to tell you about hygiene."); break; default: _local2.addPhrase((("Excuse me my good " + _arg1.screenName) + "...")); _local2.addPhrase("Do you know the times?"); break; }; return (_local2); } private function showSafeCode():void{ safeCode_mc.visible = ((((!(GameState.areLightsOn)) && (GameState.isRugOpen))) && (!(GameState.areBlindsOpen))); } public function placeTakeoutOnSill():void{ GameState.inventoryObj.remove(InventoryDefinitions.TAKEOUT); GameState.windowsillHasItem = true; GameState.windowsillItem = InventoryDefinitions.TAKEOUT; takeout_mc.placeOnSill(); takeout_mc.visible = true; } private function buildConv_useDoor(_arg1:Conversation):void{ switch (GameState.doorAttemptsCount){ case 0: _arg1.addPhrase("I better solve The Chief's case first."); _arg1.addGamestateUpdate("doorAttemptsCount", 1); break; case 1: _arg1.addPhrase("I REALLY better solve The Chief's case first."); _arg1.addNonPlayerPhrase("YEAH YOU BETTER!", chiefSpot_mc); _arg1.addPhrase("I really better stop talking to myself so loud.", Conversation.THINK); _arg1.addNonPlayerPhrase("YEAH YOU BETTER!", chiefSpot_mc); _arg1.addGamestateUpdate("doorAttemptsCount", 2); break; case 2: _arg1.addPhrase("Yeah! Y'know what? Screw this! Dangeresque doesn't take orders from anybody!"); _arg1.addWalkToProp(door_mc); _arg1.addAnimation("reach_l"); _arg1.addCallback(door_mc.toggleOpen, door_mc); _arg1.addNonPlayerPhrase("IZZAT SO?", chiefSpot_mc); _arg1.addPhrase("Oh, hi giant SWAT team. What's up?"); _arg1.addAnimation("swat_death"); _arg1.addCallback(door_mc.toggleOpen, door_mc); _arg1.addPause(2); _arg1.addOverlay(EndGameJailScene); _arg1.addOverlay(UndyingOverlayScene); _arg1.addGamestateUpdate("doorAttemptsCount", 0); _arg1.addFaceDirection("r"); break; }; } override public function getTakeUse(_arg1:HotObject):Conversation{ var _local2:Conversation; _local2 = new Conversation(playerObj); _local2.addFaceProp(Prop(_arg1._mc)); switch (_arg1.id){ case "desk": _local2.addWalkToProp(desk_mc); if (GameState.isDeskOpen){ _local2.addPhrase("Policy?! How did policy help that poor innocent girl?!"); } else { _local2.addPhrase("This whole system is outta line!!"); }; _local2.addAnimation("jumpSlam", "jumpStart", "fistStrike"); _local2.addCallback(desk_mc.toggleOpen, desk_mc); _local2.addCallback(showStamp, this); _local2.addAnimation("jumpSlam", "downStart", "end"); break; case "blinds": buildConv_toggleBlinds(_local2); break; case "lamp": _local2.addPhrase("Prolly just use the switch, no?"); break; case "ashtray": _local2.addPhrase("No thanks. That would get me all ashen. Faced."); break; case "safe": buildConv_useSafe(_local2); break; case "rug": _local2.addWalkToProp(rug_mc); _local2.addAnimation("put_l"); _local2.addFaceDirection("l"); _local2.addCallback(toggleOpenRug, this); if (GameState.isRugOpen){ _local2.addPhrase("Go away, small part of floor!"); } else { _local2.addPhrase("Hands up, Floor!"); }; break; case "mug": if (((GameState.windowsillHasItem) && ((GameState.windowsillItem == "mug")))){ _local2.addWalkToProp(blinds_mc); _local2.addFaceDirection("u"); _local2.addPhrase("Yeah. I might accidentally drink it if it's just sittin' there."); _local2.addAnimation("put_u"); } else { _local2.addWalkToProp(mug_mc); _local2.addFaceDirection("l"); _local2.addPhrase("Yeah. I might accidentally drink it if it's just sittin' there."); _local2.addAnimation("put_l"); }; _local2.addCallback(callback_takeMug, this); break; case "switch": buildConv_toggleLights(_local2); break; case "takeout": buildConv_takeTakeout(_local2); break; case "sauce": _local2.addPhrase("I'm not layin' a glove on that stuff! It'd probably get stuck there."); break; case "camera": _local2.addPhrase("Bet I could take some seriously compromising photographs with this baby."); if (((GameState.windowsillHasItem) && ((GameState.windowsillItem == InventoryDefinitions.CAMERA)))){ _local2.addWalkToProp(blinds_mc); } else { _local2.addWalkToProp(camera_mc); }; _local2.addAnimation("put_u", "start", "endPlace"); _local2.addInventoryAdd(InventoryDefinitions.CAMERA); _local2.addCallback(callback_showCamera, this); if (!((GameState.windowsillHasItem) && ((GameState.windowsillItem == InventoryDefinitions.CAMERA)))){ _local2.addScoreIncrement(5); }; _local2.addAnimation("put_u", "startEnd", "end"); break; case "phone": buildConv_talkPhone(_local2); break; case "stamp": if (((GameState.windowsillHasItem) && ((((GameState.windowsillItem == InventoryDefinitions.STAMP)) || ((GameState.windowsillItem == InventoryDefinitions.STAMP_INKED)))))){ _local2.addWalkToProp(blinds_mc); _local2.addAnimation("put_u", "start", "endPlace"); _local2.addCallback(callback_takeStamp, this); _local2.addAnimation("put_u", "startEnd", "end"); _local2.addGamestateUpdate("windowsillHasItem", false); _local2.addGamestateUpdate("windowsillItem", ""); } else { _local2.addWalkToProp(stamp_mc); _local2.addAnimation("put_l"); _local2.addCallback(callback_takeStamp, this); _local2.addFaceDirection("l"); _local2.addScoreIncrement(5); _local2.addPhrase("An \"UNSOLVED\" stamp?"); _local2.addPhrase("Great, just what I needed today...sarcasm, sarcasm.", Conversation.THINK); }; break; case "chair": buildConv_useChair(_local2); break; case "door": buildConv_useDoor(_local2); break; case "casefile": _local2.addPhrase("Naw, I shouldn't take it until it's *ahem* solved."); break; case "dangeresque": _local2.addAnimation("jump_u", "start", "end"); _local2.addPhrase("Hee hee!"); break; case "bizcard": buildConv_bizcard(_local2); break; case "vomit": _local2.addWalkToProp(blinds_mc); _local2.addPhrase("Wish there was a better place for this."); _local2.addAnimation("put_u", "startPlace", "endPlace"); _local2.addCallback(bag_mc.hide, bag_mc); _local2.addGamestateUpdate("windowsillHasItem", false); _local2.addGamestateUpdate("windowsillItem", ""); _local2.addInventoryAdd(InventoryDefinitions.VOMIT); _local2.addAnimation("put_u", "startEnd", "end"); _local2.successfulCombination = true; _local2.addPhrase("Bag 'em up, Chuck."); break; default: trace("WARNING: Room_office::getTakeUse() nickname not found:", _arg1.id); break; }; return (_local2); } private function buildConv_talkDoor(_arg1:Conversation):void{ switch (GameState.doorTalkCount){ case 0: _arg1.addPhrase("What did you want again, The Chief?"); _arg1.addNonPlayerPhrase("YOU SOLVE MY FRIGGIN' CASE RIGHT NOW OR I'M TAKIN' YOU TO THE HOOSEGOW!", chiefSpot_mc); _arg1.addPhrase("Oh right. Forgot already."); _arg1.addGamestateUpdate("doorTalkCount", 1); break; case 1: _arg1.addPhrase("Hey, The Chief, do you respect me as an artist?"); _arg1.addNonPlayerPhrase("SOLVE MY FRIKKIN' CASE ALREADY!!", chiefSpot_mc); _arg1.addPhrase("Sorry. My bad. Admittedly, that was off-topic."); _arg1.addGamestateUpdate("doorTalkCount", 2); break; case 2: _arg1.addPhrase("What's a 7-letter word for \"to shamble one down\"?"); _arg1.addNonPlayerPhrase("I'LL SHAMBLE YOU DOWN IN THE STATE PEN!", chiefSpot_mc); _arg1.addPropAnimation(door_mc, "burstStart", "burstEnd"); _arg1.addFaceDirection("d"); _arg1.addPhrase("I bring-a this on-a myself."); _arg1.addOverlay(EndGameJailScene); _arg1.addOverlay(UndyingOverlayScene); _arg1.addCallback(door_mc.quickClose, door_mc); _arg1.addGamestateUpdate("doorTalkCount", 0); _arg1.addFaceDirection("r"); break; }; } override public function getNewBackgroundMusicObject():Sound{ return (new OfficeMusicLooper()); } private function buildConv_useSafe(_arg1:Conversation):void{ if (GameState.hasSafeCombination){ _arg1.addWalkToProp(safe_mc); if (!GameState.hasSafeBeenUnlocked){ _arg1.addPhrase("Dangcrapple! I remembered the combination!"); _arg1.addGamestateUpdate("hasSafeBeenUnlocked", true); } else { if (GameState.isSafeOpen){ _arg1.addPhrase("Close safe. Sounds like some kinda laundry detergent."); } else { _arg1.addPhrase("Open safe. Sounds like some kinda doorknob."); }; }; _arg1.addAnimation("put_l"); _arg1.addCallback(safe_mc.toggleOpen, safe_mc); _arg1.addCallback(callback_showCamera, this); } else { _arg1.addPhrase("Crapdangle! I forgot the 2-digit combination."); _arg1.addPhrase("Maybe I wrote it down somewhere.", Conversation.THINK); }; } private function showMug():void{ mug_mc.visible = !(GameState.inventoryObj.has(InventoryDefinitions.MUG)); } public function callback_placeStampOnSill(_arg1:String):void{ GameState.inventoryObj.remove(_arg1); GameState.windowsillHasItem = true; GameState.windowsillItem = _arg1; stamp_mc.placeOnSill(); stamp_mc.visible = true; } private function buildConv_conclusion(_arg1:Conversation):void{ _arg1.addPause(1); _arg1.addFaceDirection("d"); _arg1.addPhrase("Well, that's all the requirements. Let's see if The Chief buys this crap."); _arg1.addOverlay(ConclusionThruglassOverlayScene); _arg1.addCallback(callback_placePlayerBehindDoor, this); _arg1.addCallback(door_mc.toggleOpen, door_mc); _arg1.addWalkToProp(door_mc); _arg1.addWalkToProp(blinds_mc); _arg1.addFaceDirection("d"); _arg1.addSound("desque_outro_sbline", false); _arg1.addPhrase("Looks like I'm gonna have to juuuuuump..."); _arg1.addFaceDirection("d"); _arg1.addAnimation("jump_u", "start", "midAir"); _arg1.addOverlay(WingameOverlayScene); } public function callback_takeMug():void{ GameState.inventoryObj.add("mug"); showMug(); if (((GameState.windowsillHasItem) && ((GameState.windowsillItem == "mug")))){ GameState.windowsillHasItem = false; GameState.windowsillItem = null; }; } private function toggleOpenRug():void{ rug_mc.toggleOpen(); callback_showDarkness(); } public function callback_placeVomitOnSill():void{ GameState.inventoryObj.remove(InventoryDefinitions.VOMIT); GameState.windowsillHasItem = true; GameState.windowsillItem = InventoryDefinitions.VOMIT; bag_mc.visible = true; } public function callback_takeTakeout():void{ GameState.inventoryObj.add(InventoryDefinitions.TAKEOUT); sauce_mc.visible = true; takeout_mc.visible = false; if (((GameState.windowsillHasItem) && ((GameState.windowsillItem == InventoryDefinitions.TAKEOUT)))){ GameState.windowsillHasItem = false; GameState.windowsillItem = null; }; } public function callback_showBizcard():void{ if (((GameState.hasBizCardFallen) && (!(GameState.hasReadBizCard)))){ bizcard_mc.show(); } else { bizcard_mc.hide(); }; } } }//package com.homestarrunner.dangeresque.rooms
Section 86
//OfficeMusicLooper (com.homestarrunner.dangeresque.sounds.OfficeMusicLooper) package com.homestarrunner.dangeresque.sounds { import flash.media.*; public dynamic class OfficeMusicLooper extends Sound { } }//package com.homestarrunner.dangeresque.sounds
Section 87
//PointStinger (com.homestarrunner.dangeresque.sounds.PointStinger) package com.homestarrunner.dangeresque.sounds { import flash.media.*; public dynamic class PointStinger extends Sound { } }//package com.homestarrunner.dangeresque.sounds
Section 88
//ActionMenuSprite (com.homestarrunner.dangeresque.sprites.ActionMenuSprite) package com.homestarrunner.dangeresque.sprites { import flash.display.*; import flash.text.*; public dynamic class ActionMenuSprite extends MovieClip { public var actionMenu_look_btn:SimpleButton; public var actionMenu_getuse_btn:SimpleButton; public var close_btn:SimpleButton; public var actionMenu_talk_btn:SimpleButton; public var actionMenuBacker_mc:MovieClip; public var _txt:TextField; } }//package com.homestarrunner.dangeresque.sprites
Section 89
//CasefileStampDragger (com.homestarrunner.dangeresque.sprites.CasefileStampDragger) package com.homestarrunner.dangeresque.sprites { import flash.display.*; public dynamic class CasefileStampDragger extends MovieClip { } }//package com.homestarrunner.dangeresque.sprites
Section 90
//MouseIconArrow (com.homestarrunner.dangeresque.sprites.MouseIconArrow) package com.homestarrunner.dangeresque.sprites { import flash.display.*; public dynamic class MouseIconArrow extends MovieClip { } }//package com.homestarrunner.dangeresque.sprites
Section 91
//MouseIconArrowPlus (com.homestarrunner.dangeresque.sprites.MouseIconArrowPlus) package com.homestarrunner.dangeresque.sprites { import flash.display.*; public dynamic class MouseIconArrowPlus extends MovieClip { } }//package com.homestarrunner.dangeresque.sprites
Section 92
//MouseIconGlove (com.homestarrunner.dangeresque.sprites.MouseIconGlove) package com.homestarrunner.dangeresque.sprites { import flash.display.*; public dynamic class MouseIconGlove extends MovieClip { } }//package com.homestarrunner.dangeresque.sprites
Section 93
//MouseIconGlovePlus (com.homestarrunner.dangeresque.sprites.MouseIconGlovePlus) package com.homestarrunner.dangeresque.sprites { import flash.display.*; public dynamic class MouseIconGlovePlus extends MovieClip { } }//package com.homestarrunner.dangeresque.sprites
Section 94
//MouseIconSkip (com.homestarrunner.dangeresque.sprites.MouseIconSkip) package com.homestarrunner.dangeresque.sprites { import flash.display.*; public dynamic class MouseIconSkip extends MovieClip { } }//package com.homestarrunner.dangeresque.sprites
Section 95
//MouseIconWait (com.homestarrunner.dangeresque.sprites.MouseIconWait) package com.homestarrunner.dangeresque.sprites { import flash.display.*; public dynamic class MouseIconWait extends MovieClip { } }//package com.homestarrunner.dangeresque.sprites
Section 96
//unsolved_stampdown (com.homestarrunner.dangeresque.sprites.unsolved_stampdown) package com.homestarrunner.dangeresque.sprites { import flash.display.*; public dynamic class unsolved_stampdown extends MovieClip { } }//package com.homestarrunner.dangeresque.sprites
Section 97
//CustomWait (com.homestarrunner.dangeresque.util.CustomWait) package com.homestarrunner.dangeresque.util { import flash.display.*; import flash.events.*; public class CustomWait { private static var _callback:Function; private static var _parameters:Array; private static var _scope:Object; private static var _mcRef:MovieClip; private static function trc(_arg1):void{ trace(arguments.toString()); } public static function playFrameAndDo(_arg1:MovieClip, _arg2, _arg3:Function, _arg4:Object, ... _args):void{ _callback = _arg3; _scope = _arg4; _mcRef = _arg1; _parameters = _args; _arg1.gotoAndPlay(_arg2); _mcRef.addEventListener(Event.ENTER_FRAME, enterframe, false, 0, true); } private static function enterframe(_arg1:Event):void{ _mcRef.removeEventListener(Event.ENTER_FRAME, enterframe); _mcRef.addEventListener(Event.RENDER, render, false, 0, true); _mcRef.stage.invalidate(); } private static function render(_arg1:Event):void{ _mcRef.removeEventListener(Event.RENDER, render); _callback.apply(_scope, _parameters); } public static function stopFrameAndDo(_arg1:MovieClip, _arg2, _arg3:Function, _arg4:Object, ... _args):void{ _callback = _arg3; _scope = _arg4; _mcRef = _arg1; _parameters = _args; _arg1.gotoAndStop(_arg2); _mcRef.addEventListener(Event.ENTER_FRAME, enterframe, false, 0, true); } } }//package com.homestarrunner.dangeresque.util
Section 98
//Game (com.homestarrunner.dangeresque.Game) package com.homestarrunner.dangeresque { import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.masterclips.*; import fl.managers.*; import com.homestarrunner.dangeresque.customevent.*; import com.homestarrunner.dangeresque.conversations.*; import flash.media.*; import com.homestarrunner.dangeresque.util.*; import com.homestarrunner.dangeresque.bubble.*; import com.homestarrunner.dangeresque.menu.*; import com.homestarrunner.dangeresque.inventory.*; import com.homestarrunner.dangeresque.overlay.*; import flash.ui.*; public class Game extends MovieClip { private var _overlayScene:OverlayScene; public var popupLayer_mc:MovieClip; public var roomObj:Room; public var scene_mc:MovieClip; private var _isOverHotObject:Boolean; public var interface_mc:MovieClip; private var _inConversation:Boolean; public var stage_mc:MovieClip; private var _backgroundMusicChannel:SoundChannel; private var _mouseLeft:Boolean; public var iconLayer_mc:MovieClip; public var player:Player; private var interfaceObj:Interface; private var focusManagerObj:FocusManager; public var icon_mc:MovieClip; private var commBox:Object; private var _backgroundMusic:Sound; public var iMenu:InventoryMenu; public var inventory_mc:MovieClip; public var aMenu:ActionMenu; private var inputManagerObj:InputManager; public var currentlySelectedObj:HotObject; private var conversObj:Conversation; private var _isCombineMode:Boolean; private var _combinableObject:InventoryDefinitionStruct; public static const STAGE_WIDTH:int = 320; public static const STAGE_HEIGHT:int = 200; public static const debugMode:Boolean = false; public static const CANCEL_INVENTORY:String = "CANCEL_INVENTORY"; public static const CANCEL_COMBINE:String = "CANCEL_COMBINE"; public static const SCREEN_PADDING:int = 2; public function Game(){ stop(); this.addEventListener(Event.ADDED_TO_STAGE, addedToStageListener); } private function hotObjectRollOut(_arg1:HotObjectEvent):void{ _isOverHotObject = false; } private function mouseReturnListener(_arg1:MouseEvent):void{ Mouse.hide(); } public function initRoom():void{ roomObj = new Room_office(player); scene_mc.addChild(roomObj); roomObj.addEventListener(HotObject.HOT_OBJECT_CLICKED, hotObjectClicked); roomObj.addEventListener(HotObject.HOT_OBJECT_ROLL_OUT, hotObjectRollOut); roomObj.addEventListener(HotObject.HOT_OBJECT_ROLL_OVER, hotObjectRollOver); roomObj.addEventListener(CANCEL_COMBINE, cancelCombineModeListener); roomObj.addEventListener(CANCEL_INVENTORY, cancelInventoryModeListener); interfaceObj.initializeRoom(roomObj); _backgroundMusic = roomObj.getNewBackgroundMusicObject(); _backgroundMusicChannel = _backgroundMusic.play(0, int.MAX_VALUE); if (!debugMode){ createConversation(roomObj.getOpeningConversation()); }; } private function stopRoomMusic():void{ if (_backgroundMusicChannel){ _backgroundMusicChannel.stop(); }; } private function overlayCreateListener(_arg1:CreateOverlayEvent):void{ createOverlay(_arg1.overlayClass); } public function get isOverHotObject():Boolean{ return (_isOverHotObject); } private function cancelInventoryModeListener(_arg1:Event):void{ interfaceObj.inventoryCancelClicked(); } public function hotObjectClicked(_arg1:HotObjectEvent){ var _local2:Conversation; trace("Game::hotObjectClicked", _arg1.hotObject.id); currentlySelectedObj = _arg1.hotObject; interfaceObj.inventoryCancelClicked(); if (_isCombineMode){ _local2 = createConversation(roomObj.combine(_combinableObject, _arg1.hotObject)); if (_local2.successfulCombination){ _isCombineMode = false; MousePointer.isCombineMode = false; _combinableObject = null; }; } else { trace("Game::hotObjectClicked, create new ActionMenu"); if (aMenu != null){ aMenu.removeEventListener(ActionMenu.ITEM_GET_EVENT, takeUseObject); aMenu.removeEventListener(ActionMenu.ITEM_LOOK_EVENT, lookAtObject); aMenu.removeEventListener(ActionMenu.ITEM_TALK_EVENT, talkObject); aMenu.destroy(); aMenu = null; }; aMenu = new ActionMenu(mouseX, mouseY); aMenu.addEventListener(ActionMenu.ITEM_GET_EVENT, takeUseObject); aMenu.addEventListener(ActionMenu.ITEM_LOOK_EVENT, lookAtObject); aMenu.addEventListener(ActionMenu.ITEM_TALK_EVENT, talkObject); }; } private function overlaySceneEndedListener(_arg1:Event):void{ _overlayScene.removeEventListener(Event.COMPLETE, overlaySceneEndedListener); removeChild(_overlayScene); _overlayScene.stop(); _overlayScene = null; if ((_arg1.target is IntroOverlayScene)){ openingOverlaySceneEnded(); } else { if ((_arg1.target is InstructionsOverlayScene)){ instructionsOverlaySceneEnded(); } else { if ((_arg1.target is WingameOverlayScene)){ CustomWait.stopFrameAndDo(this, "reset", resetArrivedListener, this); } else { if (OverlayScene(_arg1.target).hasOwnMusic){ _backgroundMusicChannel = _backgroundMusic.play(0, int.MAX_VALUE); }; if (conversObj){ trace("Game::overlaySceneEndedListener(): next phrase"); conversObj.advance(); }; }; }; }; } public function keyMove(_arg1:PlayerMoveInstructionEvent):void{ if (!_inConversation){ player.setWalkDir((_arg1.directionString as String)); }; } public function instructionsOverlaySceneEnded():void{ var _local1:PlayerMasterMovieClip; interfaceObj = new Interface(interface_mc, this); interfaceObj.addEventListener(InventoryDisplayButton.INVENTORY_BUTTON_CLICK, InventoryDefinitionStructClicked); interfaceObj.addEventListener(CANCEL_COMBINE, cancelCombineModeListener); _local1 = new PlayerMasterMovieClip(); _local1.name = "playerClip"; player = new Player(_local1, this); inputManagerObj.setPlayer(player); initRoom(); } public function takeUseObject(_arg1:Event):void{ createConversation(roomObj.getTakeUse(currentlySelectedObj)); } private function resetArrivedListener():void{ CustomWait.stopFrameAndDo(this, "startGameplay", init, this); } private function hotObjectRollOver(_arg1:HotObjectEvent):void{ _isOverHotObject = true; } public function talkObject(_arg1:Event):void{ createConversation(roomObj.getTalk(currentlySelectedObj)); } private function init():void{ var _local1:ContextMenu; _isCombineMode = false; _isOverHotObject = false; _inConversation = false; _local1 = new ContextMenu(); _local1.hideBuiltInItems(); this.contextMenu = _local1; InventoryDefinitions.init(); GameState.init(); MousePointer.init(iconLayer_mc); inputManagerObj = new InputManager(); inputManagerObj.addEventListener(InputManager.KEY_MOVE_EVENT, keyMove); addChild(inputManagerObj); TimedMenu.initializeLayer(popupLayer_mc); CommBox.initializeLayer(popupLayer_mc); focusManagerObj = new FocusManager(this); focusManagerObj.showFocusIndicator = false; stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveListener); stage.addEventListener(MouseEvent.MOUSE_OVER, mouseReturnListener); createOverlay(IntroOverlayScene); if (debugMode){ GameState.inventoryObj.add(InventoryDefinitions.CAMERA); GameState.inventoryObj.add(InventoryDefinitions.TAKEOUT); GameState.inventoryObj.add(InventoryDefinitions.STAMP); GameState.inventoryObj.add(InventoryDefinitions.VOMIT); GameState.isFileStamped = true; GameState.hasReadBizCard = true; GameState.isSpewInCaseFile = true; GameState.hasSpewed = true; }; } public function lookAtObject(_arg1:Event):void{ createConversation(roomObj.getLook(currentlySelectedObj)); } private function InventoryDefinitionStructClicked(_arg1:InventoryButtonEvent):void{ MousePointer.isCombineMode = true; _isCombineMode = true; _combinableObject = _arg1.inventoryObj; } private function preloadEnterFrameListener(_arg1:Event):void{ if ((((this.loaderInfo.bytesTotal > 4)) && ((this.loaderInfo.bytesLoaded >= this.loaderInfo.bytesTotal)))){ trace("Game::preloadEnterFrameListener()", this.loaderInfo.bytesLoaded, this.loaderInfo.bytesTotal); this.loaderInfo.removeEventListener(Event.COMPLETE, loaderCompleteListener); this.removeEventListener(Event.ENTER_FRAME, preloadEnterFrameListener); CustomWait.stopFrameAndDo(this, "startGameplay", init, this); }; } public function get menuActive():Boolean{ return (((aMenu) && (aMenu.active))); } private function loaderCompleteListener(_arg1:Event):void{ trace("Game::loaderCompleteListener()", this.loaderInfo.bytesLoaded, this.loaderInfo.bytesTotal); this.removeEventListener(Event.ENTER_FRAME, preloadEnterFrameListener); this.loaderInfo.removeEventListener(Event.COMPLETE, loaderCompleteListener); CustomWait.stopFrameAndDo(this, "startGameplay", init, this); } public function sortArray(_arg1:Array, _arg2:String):Array{ var _local3:Number; var _local4:Number; var _local5:*; _local3 = 0; _local4 = _arg1.length; while (_local3 < _local4) { if ((((_local3 == 0)) || ((_arg1[(_local3 - 1)][_arg2] <= _arg1[_local3][_arg2])))){ _local3++; } else { _local5 = _arg1[_local3]; _arg1[_local3] = _arg1[(_local3 - 1)]; --_local3; var _local6 = _local3; _arg1[_local6] = _local5; }; }; return (_arg1); } private function cancelCombineModeListener(_arg1:Event):void{ if (_isCombineMode){ _combinableObject = null; _isCombineMode = false; MousePointer.isCombineMode = false; interfaceObj.hideObject(); }; } public function openingOverlaySceneEnded():void{ createOverlay(InstructionsOverlayScene); } private function createConversation(_arg1:Conversation):Conversation{ _inConversation = true; conversObj = _arg1; conversObj.addEventListener(Event.COMPLETE, conversationCompleteListener); conversObj.addEventListener(Conversation.CREATE_OVERLAY, overlayCreateListener); conversObj.begin(); roomObj.setHotObjectsEnabled(false); return (conversObj); } public function get combinableObject():InventoryDefinitionStruct{ return (_combinableObject); } private function conversationCompleteListener(_arg1:Event):void{ var _local2:Conversation; trace("Game::conversationCompleteListener()"); _inConversation = false; _local2 = (_arg1.target as Conversation); _local2.removeEventListener(Event.COMPLETE, conversationCompleteListener); _local2.removeEventListener(Conversation.CREATE_OVERLAY, overlayCreateListener); roomObj.setHotObjectsEnabled(true); focusManagerObj.setFocus(stage); _local2 = null; } private function createOverlay(_arg1:Class):void{ _overlayScene = (new (_arg1) as OverlayScene); trace("Game:: createOverlay()", _overlayScene.hasOwnMusic); if (_overlayScene.hasOwnMusic){ stopRoomMusic(); }; _overlayScene.addEventListener(Event.COMPLETE, overlaySceneEndedListener); addChildAt(_overlayScene, getChildIndex(iconLayer_mc)); } private function mouseLeaveListener(_arg1:Event):void{ Mouse.show(); } private function addedToStageListener(_arg1:Event):void{ init(); } public function get isCombineMode():Boolean{ return (_isCombineMode); } } }//package com.homestarrunner.dangeresque
Section 99
//GameState (com.homestarrunner.dangeresque.GameState) package com.homestarrunner.dangeresque { public class GameState { public static var isFileStamped:Boolean; public static var hasSafeCombination:Boolean; public static var hasDrankCoffee:Boolean; public static var isSpewInCaseFile:Boolean; public static var hasBizCardFallen:Boolean; public static var fileStampX:Number; public static var fileStampY:Number; public static var hasSafeBeenUnlocked:Boolean; public static var areBlindsOpen:Boolean; public static var windowsillHasItem:Boolean; public static var lightsSwitchedOnOnce:Boolean; public static var doorTalkCount:uint; public static var scoreManager:ScoreManager; public static var hasLoosenedTakeout:Boolean; public static var isSafeOpen:Boolean; public static var isStampInked:Boolean; public static var isDeskOpen:Boolean; public static var areLightsOn:Boolean; public static var hasReadBizCard:Boolean; public static var hasAttemptedTakeout:Boolean; public static var dialogueAccessibility:Boolean; public static var isPhotoInCaseFile:Boolean; public static var doorAttemptsCount:uint; public static var hasEatenTakeout:Boolean; public static var isDoorOpen:Boolean; public static var isRugOpen:Boolean; public static var lightsSwitchedOffOnce:Boolean; public static var hasSpewed:Boolean; public static var windowsillItem:String; public static var inventoryObj:Inventory; public static function init():void{ clear(); } public static function clear():void{ inventoryObj = new Inventory(); scoreManager = new ScoreManager(); dialogueAccessibility = false; hasSafeCombination = false; hasSafeBeenUnlocked = false; isSafeOpen = false; isRugOpen = false; areLightsOn = false; lightsSwitchedOffOnce = false; lightsSwitchedOnOnce = false; isDeskOpen = false; areBlindsOpen = false; windowsillHasItem = false; windowsillItem = ""; hasEatenTakeout = false; hasDrankCoffee = false; isDoorOpen = false; isFileStamped = false; isStampInked = false; fileStampX = 0; fileStampY = 0; isPhotoInCaseFile = false; hasSpewed = false; hasReadBizCard = false; hasLoosenedTakeout = false; hasAttemptedTakeout = false; hasBizCardFallen = false; doorAttemptsCount = 0; doorTalkCount = 0; isSpewInCaseFile = false; hasSafeCombination = false; hasSafeBeenUnlocked = false; isSafeOpen = false; isRugOpen = false; areLightsOn = true; isDeskOpen = false; lightsSwitchedOffOnce = false; lightsSwitchedOnOnce = false; areBlindsOpen = false; windowsillHasItem = false; windowsillItem = ""; isDoorOpen = false; isPhotoInCaseFile = false; isStampInked = false; isSpewInCaseFile = false; hasSpewed = false; hasReadBizCard = false; hasLoosenedTakeout = false; hasAttemptedTakeout = false; hasBizCardFallen = false; doorAttemptsCount = 0; doorTalkCount = 0; } } }//package com.homestarrunner.dangeresque
Section 100
//HotObject (com.homestarrunner.dangeresque.HotObject) package com.homestarrunner.dangeresque { import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.customevent.*; import com.homestarrunner.dangeresque.sprites.*; import flash.filters.*; public class HotObject extends EventDispatcher { public var screenName:String; public var id:String; private var _menuOpen:Boolean; public var _mc:MovieClip; public var hotArea_mc:MovieClip; public static const HOT_OBJECT_ROLL_OVER:String = "HOT_OBJECT_ROLL_OVER"; public static const HOT_OBJECT_CLICKED:String = "HOT_OBJECT_CLICKED"; public static const HOT_OBJECT_ROLL_OUT:String = "HOT_OBJECT_ROLL_OUT"; private static var _mouseIconLayer_mc:MovieClip; private static var _glowFilter:GlowFilter; private static var _roomObj:Room; public function HotObject(_arg1:MovieClip, _arg2:String, _arg3:String){ _mc = _arg1; id = _arg2; screenName = _arg3; _menuOpen = false; trace(("HotObject " + _mc.name)); hotArea_mc = _mc; if (_mc.hasOwnProperty("hotArea_mc")){ hotArea_mc = _mc.hotArea_mc; hotArea_mc.alpha = 0; _mc.mouseEnabled = false; hotArea_mc.mouseEnabled = true; hotArea_mc.mouseChildren = false; }; hotArea_mc.addEventListener(MouseEvent.MOUSE_OVER, rollOver); hotArea_mc.addEventListener(MouseEvent.MOUSE_OUT, rollOut, false); hotArea_mc.addEventListener(MouseEvent.CLICK, clicked, false); } public function rollOut(_arg1:MouseEvent):void{ var _local2:HotObjectEvent; MousePointer.isOverHotObject = false; _local2 = new HotObjectEvent(HOT_OBJECT_ROLL_OUT, true); _local2.hotObject = this; dispatchEvent(_local2); _mc.filters = []; } public function clicked(_arg1:MouseEvent):void{ var _local2:HotObjectEvent; _local2 = new HotObjectEvent(HOT_OBJECT_CLICKED, true); _local2.hotObject = this; dispatchEvent(_local2); trace("HotObject::clicked", _arg1.target.name, this.id, _local2.hotObject.id); } public function rollOver(_arg1:MouseEvent):void{ var _local2:HotObjectEvent; MousePointer.isOverHotObject = true; _local2 = new HotObjectEvent(HOT_OBJECT_ROLL_OVER, true); _local2.hotObject = this; dispatchEvent(_local2); _mc.filters = [_glowFilter]; } public function destroy():void{ hotArea_mc.removeEventListener(MouseEvent.MOUSE_OVER, rollOver); hotArea_mc.removeEventListener(MouseEvent.MOUSE_OUT, rollOut); hotArea_mc.removeEventListener(MouseEvent.CLICK, clicked); } public function setEnabled(_arg1:Boolean=true):void{ hotArea_mc.mouseEnabled = _arg1; } public static function initHotObjects(_arg1:Room){ _roomObj = _arg1; _glowFilter = new GlowFilter(0xFFCC00, 0.5, 10, 10, 1, BitmapFilterQuality.LOW); } } }//package com.homestarrunner.dangeresque
Section 101
//InputManager (com.homestarrunner.dangeresque.InputManager) package com.homestarrunner.dangeresque { import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.customevent.*; import flash.ui.*; public class InputManager extends Sprite { private var playerObj:Player; public static const KEY_MOVE_EVENT:String = "KEY_MOVE_EVENT"; public function InputManager(){ addEventListener(Event.ADDED_TO_STAGE, addedToStageListener); } public function setPlayer(_arg1:Player):void{ playerObj = _arg1; } private function reportKeyDown(_arg1:KeyboardEvent):void{ var _local2:PlayerMoveInstructionEvent; _local2 = new PlayerMoveInstructionEvent(KEY_MOVE_EVENT); switch (_arg1.keyCode){ case Keyboard.LEFT: case 65: _local2.directionString = "l"; break; case Keyboard.RIGHT: case 68: _local2.directionString = "r"; break; case Keyboard.UP: case 87: _local2.directionString = "u"; break; case Keyboard.DOWN: case 83: _local2.directionString = "d"; break; case Keyboard.HOME: _local2.directionString = "lu"; break; case Keyboard.END: _local2.directionString = "ld"; break; case Keyboard.PAGE_UP: _local2.directionString = "ru"; break; case Keyboard.PAGE_DOWN: _local2.directionString = "rd"; break; default: return; }; dispatchEvent(_local2); } private function addedToStageListener(_arg1:Event):void{ stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown); } } }//package com.homestarrunner.dangeresque
Section 102
//Interface (com.homestarrunner.dangeresque.Interface) package com.homestarrunner.dangeresque { import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.rooms.*; import com.homestarrunner.dangeresque.customevent.*; import com.homestarrunner.dangeresque.inventory.*; public class Interface extends Sprite { private var _mc:MovieClip; private var _gameObj:Game; private var inventoryDisplayObj:InventoryDisplay; private var _mouseOverInventoryIcon:Boolean; private var _inventoryOpen:Boolean; private static const TOP_SCORE:uint = 170; public function Interface(_arg1:MovieClip, _arg2:Game){ _mc = _arg1; _gameObj = _arg2; _mc.stop(); trace(("Interface instantiated" + _mc.name)); showScore(); GameState.scoreManager.addEventListener(Event.CHANGE, updateScoreListener); _mc.inventory_icon_mc.gotoAndStop(1); _mc.inventory_icon_mc.addEventListener(MouseEvent.CLICK, inventoryIconClicked); _mc.inventory_icon_mc.addEventListener(MouseEvent.ROLL_OVER, inventoryIconRollOver); _mc.inventory_icon_mc.addEventListener(MouseEvent.ROLL_OUT, inventoryIconRollOut); _inventoryOpen = false; _mouseOverInventoryIcon = false; } private function hotObjectRollOver(_arg1:HotObjectEvent):void{ showObject(_arg1.hotObject.screenName); } private function hotObjectRollOut(_arg1:HotObjectEvent):void{ hideObject(); } private function inventoryIconRollOver(_arg1:MouseEvent):void{ _mouseOverInventoryIcon = true; updateInventoryIcon(); } private function inventoryButtonRollOut(_arg1:InventoryButtonEvent):void{ hideObject(); } private function updateScoreListener(_arg1:Event):void{ showScore(); } private function openInventory():void{ inventoryDisplayObj = new InventoryDisplay(); _mc.addChildAt(inventoryDisplayObj, _mc.getChildIndex(_mc.inventory_icon_mc)); inventoryDisplayObj.addEventListener(InventoryDisplayButton.INVENTORY_BUTTON_OVER, inventoryButtonRollOver); inventoryDisplayObj.addEventListener(InventoryDisplayButton.INVENTORY_BUTTON_OUT, inventoryButtonRollOut); inventoryDisplayObj.addEventListener(InventoryDisplayButton.INVENTORY_BUTTON_CLICK, inventoryButtonClick); inventoryDisplayObj.x = -160; inventoryDisplayObj.y = 61; _inventoryOpen = true; updateInventoryIcon(); } private function toggleOpenInventory():void{ trace("Interface::toggleOpenInventory was", inventoryDisplayObj); if (_inventoryOpen){ closeInventory(); } else { openInventory(); }; dispatchEvent(new Event(Game.CANCEL_COMBINE)); } public function hideObject():void{ if (_gameObj.isCombineMode){ _mc.item_txt.text = (("CANCEL " + _gameObj.combinableObject.description) + " + "); } else { _mc.item_txt.text = ""; }; } private function closeInventory():void{ _mc.removeChild(inventoryDisplayObj); inventoryDisplayObj.removeEventListener(InventoryDisplayButton.INVENTORY_BUTTON_OVER, inventoryButtonRollOver); inventoryDisplayObj.removeEventListener(InventoryDisplayButton.INVENTORY_BUTTON_OUT, inventoryButtonRollOut); inventoryDisplayObj.removeEventListener(InventoryDisplayButton.INVENTORY_BUTTON_CLICK, inventoryButtonClick); inventoryDisplayObj.destroy(); inventoryDisplayObj = null; _inventoryOpen = false; updateInventoryIcon(); } private function inventoryIconClicked(_arg1:MouseEvent):void{ toggleOpenInventory(); } public function inventoryCancelClicked():void{ if (_inventoryOpen){ closeInventory(); }; } public function initializeRoom(_arg1:Room):void{ _arg1.addEventListener(HotObject.HOT_OBJECT_CLICKED, hotObjectClicked); _arg1.addEventListener(HotObject.HOT_OBJECT_ROLL_OUT, hotObjectRollOut); _arg1.addEventListener(HotObject.HOT_OBJECT_ROLL_OVER, hotObjectRollOver); } public function showScore():void{ _mc.score_txt.text = ((("score: " + GameState.scoreManager.score) + " out of ") + TOP_SCORE); } private function inventoryButtonClick(_arg1:InventoryButtonEvent):void{ toggleOpenInventory(); dispatchEvent(_arg1); } public function updateInventoryIcon():void{ if (((_inventoryOpen) || (_mouseOverInventoryIcon))){ _mc.inventory_icon_mc.gotoAndStop("open"); } else { _mc.inventory_icon_mc.gotoAndStop("closed"); }; } private function hotObjectClicked(_arg1:HotObjectEvent):void{ showObject(_arg1.hotObject.screenName); } public function showObject(_arg1:String):void{ if (_gameObj.isCombineMode){ _mc.item_txt.text = ((_gameObj.combinableObject.description + " + ") + _arg1); } else { _mc.item_txt.text = _arg1; }; } private function inventoryButtonRollOver(_arg1:InventoryButtonEvent):void{ showObject(_arg1.inventoryObj.description); } private function inventoryIconRollOut(_arg1:MouseEvent):void{ _mouseOverInventoryIcon = false; updateInventoryIcon(); } } }//package com.homestarrunner.dangeresque
Section 103
//Inventory (com.homestarrunner.dangeresque.Inventory) package com.homestarrunner.dangeresque { public class Inventory { private var definitionsArray:Array; public function Inventory(){ definitionsArray = new Array(); } private function removeObject(_arg1:InventoryDefinitionStruct):Boolean{ var _local2:int; _local2 = definitionsArray.indexOf(_arg1); if (_local2 == -1){ return (false); }; definitionsArray.splice(_local2, 1); return (true); } public function remove(_arg1:String):void{ removeObject(InventoryDefinitions.getDefinitionByName(_arg1)); } public function add(_arg1:String):void{ addObject(InventoryDefinitions.getDefinitionByName(_arg1)); } private function addObject(_arg1:InventoryDefinitionStruct):void{ if (!hasObject(_arg1)){ definitionsArray.push(_arg1); }; } public function getCollection():Array{ return (definitionsArray); } private function hasObject(_arg1:InventoryDefinitionStruct):Boolean{ return ((definitionsArray.indexOf(_arg1) > -1)); } public function has(_arg1:String):Boolean{ return (hasObject(InventoryDefinitions.getDefinitionByName(_arg1))); } } }//package com.homestarrunner.dangeresque
Section 104
//InventoryDefinitions (com.homestarrunner.dangeresque.InventoryDefinitions) package com.homestarrunner.dangeresque { public class InventoryDefinitions { public static const STAMP:String = "stamp"; public static const CAMERA:String = "camera"; public static const TAKEOUT:String = "takeout"; public static const STAMP_INKED:String = "stamp_inked"; public static const PHOTO:String = "photo"; public static const MUG:String = "mug"; public static const VOMIT:String = "vomit"; public static var objects:Array; public static function getDefinitionByName(_arg1:String):InventoryDefinitionStruct{ var _local2:int; _local2 = 0; while (_local2 < objects.length) { if (InventoryDefinitionStruct(objects[_local2]).label == _arg1){ return (InventoryDefinitionStruct(objects[_local2])); }; _local2++; }; trace("ERROR: InventoryDefinitions::getDefinitionByName", _arg1, "not found in possible objects list"); return (null); } public static function init():void{ objects = new Array(); objects.push(new InventoryDefinitionStruct(CAMERA, "Camera", "invcamera")); objects.push(new InventoryDefinitionStruct(TAKEOUT, "Dragon-man Takeout", "invtakeout")); objects.push(new InventoryDefinitionStruct(STAMP, "dry UNSOLVED stamp", "invstamp")); objects.push(new InventoryDefinitionStruct(VOMIT, "Bag of whoozit", "invpuke")); objects.push(new InventoryDefinitionStruct(PHOTO, "Photo of crime", "invphoto")); objects.push(new InventoryDefinitionStruct(MUG, "Mug", "invcoffee")); objects.push(new InventoryDefinitionStruct(STAMP_INKED, "inked UNSOLVED stamp", "invstampsauce")); } } }//package com.homestarrunner.dangeresque
Section 105
//InventoryDefinitionStruct (com.homestarrunner.dangeresque.InventoryDefinitionStruct) package com.homestarrunner.dangeresque { public class InventoryDefinitionStruct { public var symbolName:String; public var label:String; public var description:String; public function InventoryDefinitionStruct(_arg1:String, _arg2:String, _arg3:String){ label = _arg1; description = _arg2; symbolName = _arg3; } } }//package com.homestarrunner.dangeresque
Section 106
//MousePointer (com.homestarrunner.dangeresque.MousePointer) package com.homestarrunner.dangeresque { import flash.display.*; import com.homestarrunner.dangeresque.sprites.*; import flash.ui.*; public class MousePointer { public static const COMBINE:String = "COMBINE"; public static const NORMAL:String = "NORMAL"; public static const LOOK_FOR_COMBINE:String = "LOOK_FOR_COMBINE"; public static const WAIT:String = "WAIT"; public static const INTERACT:String = "INTERACT"; public static const SKIP:String = "SKIP"; private static var _isWaitingMode:Boolean; private static var _isSkippableMode:Boolean; private static var _pointerClip:MovieClip; private static var _isOverHotObject:Boolean; private static var _isCombineMode:Boolean; private static var _iconLayer_mc:MovieClip; public static function suspend():void{ _pointerClip.visible = false; } public static function set isCombineMode(_arg1:Boolean):void{ _isCombineMode = _arg1; updatePointer(); } public static function init(_arg1:MovieClip):void{ _iconLayer_mc = _arg1; _iconLayer_mc.mouseEnabled = false; Mouse.hide(); setPointerTo(NORMAL); } public static function startDialog():void{ _isSkippableMode = true; updatePointer(); } private static function setPointerTo(_arg1:String):void{ if (((_pointerClip) && (_iconLayer_mc.contains(_pointerClip)))){ _iconLayer_mc.removeChild(_pointerClip); }; switch (_arg1){ case NORMAL: _pointerClip = new MouseIconArrow(); break; case LOOK_FOR_COMBINE: _pointerClip = new MouseIconArrowPlus(); break; case WAIT: _pointerClip = new MouseIconWait(); break; case INTERACT: _pointerClip = new MouseIconGlove(); break; case COMBINE: _pointerClip = new MouseIconGlovePlus(); break; case SKIP: _pointerClip = new MouseIconSkip(); break; }; _iconLayer_mc.addChild(_pointerClip); _pointerClip.mouseEnabled = false; _pointerClip.x = _iconLayer_mc.mouseX; _pointerClip.y = _iconLayer_mc.mouseY; _pointerClip.startDrag(true); } public static function get isCombineMode():Boolean{ return (_isCombineMode); } public static function endDialog():void{ _isSkippableMode = false; updatePointer(); } public static function set isOverHotObject(_arg1:Boolean):void{ _isOverHotObject = _arg1; updatePointer(); } public static function endWait():void{ _isWaitingMode = false; updatePointer(); } public static function updatePointer():void{ if (_isSkippableMode){ setPointerTo(SKIP); return; }; if (_isWaitingMode){ setPointerTo(WAIT); return; }; if (_isCombineMode){ if (_isOverHotObject){ setPointerTo(COMBINE); } else { setPointerTo(LOOK_FOR_COMBINE); }; } else { if (_isOverHotObject){ setPointerTo(INTERACT); } else { setPointerTo(NORMAL); }; }; } public static function startWait():void{ _isWaitingMode = true; updatePointer(); } public static function get isOverHotObject():Boolean{ return (_isOverHotObject); } } }//package com.homestarrunner.dangeresque
Section 107
//Player (com.homestarrunner.dangeresque.Player) package com.homestarrunner.dangeresque { import flash.geom.*; import flash.display.*; import flash.events.*; import com.homestarrunner.dangeresque.masterclips.*; import com.homestarrunner.dangeresque.util.*; public class Player extends EventDispatcher { private const MOVE_SPEED_X = 3; private const MOVE_SPEED_Y = 2; private var _systematicWalking:Boolean; private var gameObj:Game; private var _targetX:Number; private var _targetY:Number; public var thinking:Boolean; public var _mc:PlayerMasterMovieClip; public var talking:Boolean; private var _walking:Boolean; public var phoneTalking:Boolean; public var faceDir:String; public static const WALK_TO_CANCELED:String = "WALK_TO_CANCELED"; public static const WALK_TO_COMPLETE:String = "WALK_TO_COMPLETE"; public function Player(_arg1:PlayerMasterMovieClip, _arg2:Game){ _mc = _arg1; gameObj = _arg2; CustomWait.stopFrameAndDo(_mc, "stop_r", onSubClipReadyStop, this); faceDir = "r"; _mc.z_test_mc.visible = false; _walking = false; talking = false; thinking = false; phoneTalking = false; _systematicWalking = false; _mc.addEventListener(Event.ENTER_FRAME, update); } public function set walking(_arg1:Boolean):void{ _walking = _arg1; } public function testWalkToTarget(_arg1:Number, _arg2:Number):Boolean{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:Boolean; var _local7:Boolean; var _local8:uint; var _local9:Point; trace("Player::testWalkToTarget begin attempt"); _local3 = _mc.x; _local4 = _mc.y; _local5 = faceDir; _local6 = false; _local8 = 1000; _systematicWalking = true; _targetX = _arg1; _targetY = _arg2; while (!(_local6)) { faceDir = getFaceDirForSystematic(); if (faceDir == ""){ trace("Player::testWalkToTarget succeeded", faceDir); _local7 = true; _local6 = true; break; } else { _local9 = singleFrameWalk(); trace("Player::testWalkToTarget stepping", _local9.x, _local9.y); if ((((_local9.x == 0)) && ((_local9.y == 0)))){ trace("Player::testWalkToTarget failed", _local9.x, _local9.y); _local7 = false; _local6 = true; }; }; --_local8; if (_local8 == 0){ _local7 = false; _local6 = true; }; }; _mc.x = _local3; _mc.y = _local4; _systematicWalking = false; setWalkDir(_local5); trace("Player::testWalkToTarget", _local7); return (_local7); } public function talkPhone():void{ _walking = false; CustomWait.stopFrameAndDo(_mc, "phonetalk", onSubClipReadyPlay, this); thinking = false; talking = false; phoneTalking = true; } public function walkTo(_arg1:Number, _arg2:Number):void{ trace("Player::walkTo", _arg1, _arg2); _systematicWalking = true; _targetX = _arg1; _targetY = _arg2; } public function talk():void{ trace("Player::talk()"); _walking = false; CustomWait.stopFrameAndDo(_mc, ("talk_" + faceDir), onSubClipReadyPlay, this); thinking = false; talking = true; } public function onSubClipReadyPlay():void{ trace("onSubClipReadyPlay()"); _mc.subclip_mc.mouseEnabled = false; _mc.subclip_mc.play(); } private function walkToArrived():void{ trace("walkToArrived", faceDir); _walking = false; _mc.x = _targetX; _mc.y = _targetY; _systematicWalking = false; dispatchEvent(new Event(WALK_TO_COMPLETE)); } public function setWalkDir(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):void{ if (((!(_walking)) && (!(_arg3)))){ _walking = true; faceDir = _arg1; CustomWait.stopFrameAndDo(_mc, ("walk_" + faceDir), onSubClipReadyAdvanceFrame, this); } else { if ((((((faceDir == _arg1)) && (_arg2))) || (_arg3))){ _walking = false; faceDir = _arg1; CustomWait.stopFrameAndDo(_mc, ("stop_" + faceDir.charAt(0)), onSubClipReadyStop, this); } else { faceDir = _arg1; CustomWait.stopFrameAndDo(_mc, ("walk_" + faceDir.charAt(0)), onSubClipReadyStop, this); }; }; } public function update(_arg1:Event):void{ var _local2:Point; var _local3:String; if (_systematicWalking){ _local3 = getFaceDirForSystematic(); if (_local3 == ""){ walkToArrived(); } else { setWalkDir(_local3, false); }; }; if (!_walking){ return; }; _local2 = singleFrameWalk(); if ((((_local2.x == 0)) && ((_local2.y == 0)))){ _walking = false; CustomWait.stopFrameAndDo(_mc, ("stop_" + faceDir.charAt(0)), onSubClipReadyStop, this); if (_systematicWalking){ walkToCanceled(); }; }; if (_mc.subclip_mc){ onSubClipReadyAdvanceFrame(); }; } private function getFaceDirForSystematic():String{ var _local1:String; _local1 = ""; if (_mc.x <= (_targetX - MOVE_SPEED_X)){ _local1 = (_local1 + "r"); } else { if (_mc.x >= (_targetX + MOVE_SPEED_X)){ _local1 = (_local1 + "l"); }; }; if (_mc.y <= (_targetY - MOVE_SPEED_Y)){ _local1 = (_local1 + "d"); } else { if (_mc.y >= (_targetY + MOVE_SPEED_Y)){ _local1 = (_local1 + "u"); }; }; return (_local1); } public function stopCommunicating():void{ if (thinking){ _mc.subclip_mc.gotoAndPlay("doneThink"); } else { if (((talking) || (phoneTalking))){ CustomWait.stopFrameAndDo(_mc, ("stop_" + faceDir), onSubClipReadyStop, this); }; }; thinking = false; talking = false; _walking = false; } private function testWalkable():Boolean{ var _local1:Point; _local1 = new Point(); _local1.x = _mc.collide_mc.x; _local1.y = _mc.collide_mc.y; _local1 = _mc.collide_mc.parent.localToGlobal(_local1); if (!gameObj.roomObj.walk_area_mc.hitTestPoint(_local1.x, _local1.y, true)){ return (false); }; _local1.x = (_mc.collide_mc.x + _mc.collide_mc.width); _local1.y = (_mc.collide_mc.y + _mc.collide_mc.height); _local1 = _mc.collide_mc.parent.localToGlobal(_local1); return (MovieClip(gameObj.roomObj.walk_area_mc).hitTestPoint(_local1.x, _local1.y, true)); } private function walkToCanceled():void{ _systematicWalking = false; _walking = false; dispatchEvent(new Event(WALK_TO_CANCELED)); } public function singleFrameWalk():Point{ var _local1:*; var _local2:*; var _local3:Boolean; var _local4:Boolean; _local1 = 0; _local2 = 0; switch (faceDir.charAt(0)){ case "r": _local1 = MOVE_SPEED_X; break; case "l": _local1 = -(MOVE_SPEED_X); break; case "u": _local2 = -(MOVE_SPEED_Y); break; case "d": _local2 = MOVE_SPEED_Y; break; default: trace("error in playerMove() - invalid direction"); break; }; switch (faceDir.charAt(1)){ case "u": _local2 = (-(MOVE_SPEED_Y) / 2); break; case "d": _local2 = (MOVE_SPEED_Y / 2); break; default: break; }; if ((((_local1 == 0)) && ((_local2 == 0)))){ return (new Point(0, 0)); }; _local3 = false; _local4 = false; if (_local1 != 0){ _mc.x = (_mc.x + _local1); _local3 = testWalkable(); _mc.x = (_mc.x - _local1); }; if (_local2 != 0){ _mc.y = (_mc.y + _local2); _local4 = testWalkable(); if (!_local4){ _mc.y = (_mc.y - _local2); _local2 = 0; }; }; if (_local1 != 0){ if (_local3){ _mc.x = (_mc.x + _local1); } else { _local1 = 0; }; }; return (new Point(_local1, _local2)); } public function think():void{ _walking = false; CustomWait.stopFrameAndDo(_mc, ("think_" + faceDir), onSubClipReadyPlay, this); thinking = true; talking = false; } public function get walking():Boolean{ return (_walking); } public function onSubClipReadyStop():void{ _mc.subclip_mc.mouseEnabled = false; _mc.subclip_mc.stop(); } public function onSubClipReadyAdvanceFrame():void{ _mc.subclip_mc.mouseEnabled = false; if (_mc.subclip_mc.currentFrame == _mc.subclip_mc.totalFrames){ _mc.subclip_mc.gotoAndStop(1); } else { _mc.subclip_mc.nextFrame(); }; } } }//package com.homestarrunner.dangeresque
Section 108
//ScoreManager (com.homestarrunner.dangeresque.ScoreManager) package com.homestarrunner.dangeresque { import flash.events.*; import flash.media.*; import com.homestarrunner.dangeresque.sounds.*; public class ScoreManager extends EventDispatcher { private var _score:int; private var _stingSound:Sound; public function ScoreManager(){ _score = 0; _stingSound = new PointStinger(); } public function add(_arg1:int):void{ _score = (_score + _arg1); _stingSound.play(); dispatchEvent(new Event(Event.CHANGE)); } public function get score():int{ return (_score); } } }//package com.homestarrunner.dangeresque
Section 109
//SoundPlayer (com.homestarrunner.dangeresque.SoundPlayer) package com.homestarrunner.dangeresque { import flash.events.*; import flash.media.*; import flash.utils.*; public class SoundPlayer { private var _soundChannel:SoundChannel; private var _soundObj:Sound; public function SoundPlayer(_arg1:String){ var _local2:Class; super(); _local2 = Class(getDefinitionByName(_arg1)); _soundObj = new (_local2); _soundObj.addEventListener(Event.COMPLETE, soundCompleteListener); _soundChannel = _soundObj.play(); } private function soundCompleteListener(_arg1:Event):void{ _soundChannel = null; _soundObj.removeEventListener(Event.COMPLETE, soundCompleteListener); _soundObj = null; } } }//package com.homestarrunner.dangeresque
Section 110
//interface_mc_2 (dangeresque_fla.interface_mc_2) package dangeresque_fla { import flash.display.*; import flash.text.*; public dynamic class interface_mc_2 extends MovieClip { public var score_txt:TextField; public var item_txt:TextField; public var inventory_icon_mc:MovieClip; } }//package dangeresque_fla
Section 111
//sb_chairspin_ani_65 (dangeresque_fla.sb_chairspin_ani_65) package dangeresque_fla { import flash.display.*; public dynamic class sb_chairspin_ani_65 extends MovieClip { public var cardFlyer_mc:MovieClip; } }//package dangeresque_fla
Section 112
//thinkBox_top_32 (dangeresque_fla.thinkBox_top_32) package dangeresque_fla { import flash.display.*; public dynamic class thinkBox_top_32 extends MovieClip { public var mask_mc:MovieClip; } }//package dangeresque_fla
Section 113
//BaseButton (fl.controls.BaseButton) package fl.controls { import flash.display.*; import flash.events.*; import fl.core.*; import flash.utils.*; import fl.events.*; public class BaseButton extends UIComponent { protected var _selected:Boolean;// = false private var unlockedMouseState:String; protected var pressTimer:Timer; protected var mouseState:String; protected var background:DisplayObject; private var _mouseStateLocked:Boolean;// = false protected var _autoRepeat:Boolean;// = false private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35}; public function BaseButton(){ _selected = false; _autoRepeat = false; _mouseStateLocked = false; super(); buttonMode = true; mouseChildren = false; useHandCursor = false; setupMouseEvents(); setMouseState("up"); pressTimer = new Timer(1, 0); pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true); } protected function endPress():void{ pressTimer.reset(); } public function set mouseStateLocked(_arg1:Boolean):void{ _mouseStateLocked = _arg1; if (_arg1 == false){ setMouseState(unlockedMouseState); } else { unlockedMouseState = mouseState; }; } public function get autoRepeat():Boolean{ return (_autoRepeat); } public function set autoRepeat(_arg1:Boolean):void{ _autoRepeat = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseEnabled = _arg1; } public function get selected():Boolean{ return (_selected); } protected function mouseEventHandler(_arg1:MouseEvent):void{ if (_arg1.type == MouseEvent.MOUSE_DOWN){ setMouseState("down"); startPress(); } else { if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){ setMouseState("over"); endPress(); } else { if (_arg1.type == MouseEvent.ROLL_OUT){ setMouseState("up"); endPress(); }; }; }; } public function setMouseState(_arg1:String):void{ if (_mouseStateLocked){ unlockedMouseState = _arg1; return; }; if (mouseState == _arg1){ return; }; mouseState = _arg1; invalidate(InvalidationType.STATE); } protected function startPress():void{ if (_autoRepeat){ pressTimer.delay = Number(getStyleValue("repeatDelay")); pressTimer.start(); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } protected function buttonDown(_arg1:TimerEvent):void{ if (!_autoRepeat){ endPress(); return; }; if (pressTimer.currentCount == 1){ pressTimer.delay = Number(getStyleValue("repeatInterval")); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } public function set selected(_arg1:Boolean):void{ if (_selected == _arg1){ return; }; _selected = _arg1; invalidate(InvalidationType.STATE); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } protected function setupMouseEvents():void{ addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true); } protected function drawLayout():void{ background.width = width; background.height = height; } protected function drawBackground():void{ var _local1:String; var _local2:DisplayObject; _local1 = (enabled) ? mouseState : "disabled"; if (selected){ _local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1)); }; _local1 = (_local1 + "Skin"); _local2 = background; background = getDisplayObjectInstance(getStyleValue(_local1)); addChildAt(background, 0); if (((!((_local2 == null))) && (!((_local2 == background))))){ removeChild(_local2); }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 114
//Button (fl.controls.Button) package fl.controls { import flash.display.*; import fl.core.*; import fl.managers.*; public class Button extends LabelButton implements IFocusManagerComponent { protected var emphasizedBorder:DisplayObject; protected var _emphasized:Boolean;// = false private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2}; public static var createAccessibilityImplementation:Function; public function Button(){ _emphasized = false; super(); } override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; var _local3:*; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("emphasizedPadding")); if ((((_local2 < 0)) || (!(_emphasized)))){ _local2 = 0; }; _local3 = getStyleValue("focusRectPadding"); _local3 = ((_local3)==null) ? 2 : _local3; _local3 = (_local3 + _local2); uiFocusRect.x = -(_local3); uiFocusRect.y = -(_local3); uiFocusRect.width = (width + (_local3 * 2)); uiFocusRect.height = (height + (_local3 * 2)); }; } public function set emphasized(_arg1:Boolean):void{ _emphasized = _arg1; invalidate(InvalidationType.STYLES); } override protected function draw():void{ if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){ drawEmphasized(); }; super.draw(); if (emphasizedBorder != null){ setChildIndex(emphasizedBorder, (numChildren - 1)); }; } public function get emphasized():Boolean{ return (_emphasized); } override protected function initializeAccessibility():void{ if (Button.createAccessibilityImplementation != null){ Button.createAccessibilityImplementation(this); }; } protected function drawEmphasized():void{ var _local1:Object; var _local2:Number; if (emphasizedBorder != null){ removeChild(emphasizedBorder); }; emphasizedBorder = null; if (!_emphasized){ return; }; _local1 = getStyleValue("emphasizedSkin"); if (_local1 != null){ emphasizedBorder = getDisplayObjectInstance(_local1); }; if (emphasizedBorder != null){ addChildAt(emphasizedBorder, 0); _local2 = Number(getStyleValue("emphasizedPadding")); emphasizedBorder.x = (emphasizedBorder.y = -(_local2)); emphasizedBorder.width = (width + (_local2 * 2)); emphasizedBorder.height = (height + (_local2 * 2)); }; } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles)); } } }//package fl.controls
Section 115
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement) package fl.controls { public class ButtonLabelPlacement { public static const TOP:String = "top"; public static const LEFT:String = "left"; public static const BOTTOM:String = "bottom"; public static const RIGHT:String = "right"; } }//package fl.controls
Section 116
//Label (fl.controls.Label) package fl.controls { import fl.core.*; import fl.events.*; import flash.text.*; public class Label extends UIComponent { protected var actualHeight:Number; protected var _html:Boolean;// = false protected var actualWidth:Number; protected var defaultLabel:String;// = "Label" protected var _savedHTML:String; public var textField:TextField; private static var defaultStyles:Object = {textFormat:null, embedFonts:false}; public function Label(){ defaultLabel = "Label"; _html = false; super(); text = defaultLabel; actualWidth = _width; actualHeight = _height; } public function get autoSize():String{ return (textField.autoSize); } public function get selectable():Boolean{ return (textField.selectable); } public function set text(_arg1:String):void{ if (_arg1 == text){ return; }; if (((componentInspectorSetting) && ((_arg1 == defaultLabel)))){ return; }; _html = false; textField.text = _arg1; if (textField.autoSize != TextFieldAutoSize.NONE){ invalidate(InvalidationType.SIZE); }; } public function get wordWrap():Boolean{ return (textField.wordWrap); } public function set condenseWhite(_arg1:Boolean):void{ textField.condenseWhite = _arg1; if (textField.autoSize != TextFieldAutoSize.NONE){ invalidate(InvalidationType.SIZE); }; } public function set selectable(_arg1:Boolean):void{ textField.selectable = _arg1; } public function set autoSize(_arg1:String):void{ textField.autoSize = _arg1; invalidate(InvalidationType.SIZE); } public function set wordWrap(_arg1:Boolean):void{ textField.wordWrap = _arg1; if (textField.autoSize != TextFieldAutoSize.NONE){ invalidate(InvalidationType.SIZE); }; } override public function get height():Number{ if (((!((textField.autoSize == TextFieldAutoSize.NONE))) && (wordWrap))){ return (_height); }; return (actualHeight); } public function set htmlText(_arg1:String):void{ if (_arg1 == htmlText){ return; }; if (((componentInspectorSetting) && ((_arg1 == "")))){ return; }; _html = true; _savedHTML = _arg1; textField.htmlText = _arg1; if (textField.autoSize != TextFieldAutoSize.NONE){ invalidate(InvalidationType.SIZE); }; } public function get text():String{ return (textField.text); } public function get condenseWhite():Boolean{ return (textField.condenseWhite); } override protected function draw():void{ var _local1:Object; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawTextFormat(); _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; if (textField.autoSize != TextFieldAutoSize.NONE){ invalidate(InvalidationType.SIZE, false); }; }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } override protected function configUI():void{ super.configUI(); textField = new TextField(); addChild(textField); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; textField.wordWrap = false; } public function get htmlText():String{ return (textField.htmlText); } override public function setSize(_arg1:Number, _arg2:Number):void{ actualWidth = _arg1; actualHeight = _arg2; super.setSize(_arg1, _arg2); } override public function set width(_arg1:Number):void{ actualWidth = _arg1; super.width = _arg1; } protected function drawLayout():void{ var _local1:Boolean; var _local2:Number; var _local3:Number; _local1 = false; textField.width = width; textField.height = height; if (textField.autoSize != TextFieldAutoSize.NONE){ _local2 = textField.width; _local3 = textField.height; _local1 = ((!((_width == _local2))) || (!((_height == _local3)))); _width = _local2; _height = _local3; switch (textField.autoSize){ case TextFieldAutoSize.CENTER: textField.x = ((actualWidth / 2) - (textField.width / 2)); break; case TextFieldAutoSize.LEFT: textField.x = 0; break; case TextFieldAutoSize.RIGHT: textField.x = -((textField.width - actualWidth)); break; }; } else { textField.width = actualWidth; textField.height = actualHeight; textField.x = 0; }; if (_local1){ dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, true)); }; } override public function get width():Number{ if (((!((textField.autoSize == TextFieldAutoSize.NONE))) && (!(wordWrap)))){ return (_width); }; return (actualWidth); } protected function drawTextFormat():void{ var _local1:TextFormat; var _local2:Object; _local1 = (getStyleValue("textFormat") as TextFormat); if (_local1 == null){ _local2 = UIComponent.getStyleDefinition(); _local1 = (enabled) ? (_local2.defaultTextFormat as TextFormat) : (_local2.defaultDisabledTextFormat as TextFormat); }; textField.defaultTextFormat = _local1; textField.setTextFormat(_local1); if (((_html) && (!((_savedHTML == null))))){ htmlText = _savedHTML; }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 117
//LabelButton (fl.controls.LabelButton) package fl.controls { import flash.display.*; import flash.events.*; import fl.core.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.ui.*; public class LabelButton extends BaseButton implements IFocusManagerComponent { protected var _labelPlacement:String;// = "right" protected var _toggle:Boolean;// = false protected var icon:DisplayObject; protected var oldMouseState:String; protected var mode:String;// = "center" public var textField:TextField; protected var _label:String;// = "Label" private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function LabelButton(){ _labelPlacement = ButtonLabelPlacement.RIGHT; _toggle = false; _label = "Label"; mode = "center"; super(); } protected function toggleSelected(_arg1:MouseEvent):void{ selected = !(selected); dispatchEvent(new Event(Event.CHANGE, true)); } public function get labelPlacement():String{ return (_labelPlacement); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ if (oldMouseState == null){ oldMouseState = mouseState; }; setMouseState("down"); startPress(); }; } protected function setEmbedFont(){ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ setMouseState(oldMouseState); oldMouseState = null; endPress(); dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } override public function get selected():Boolean{ return ((_toggle) ? _selected : false); } public function set labelPlacement(_arg1:String):void{ _labelPlacement = _arg1; invalidate(InvalidationType.SIZE); } public function set toggle(_arg1:Boolean):void{ if (((!(_arg1)) && (super.selected))){ selected = false; }; _toggle = _arg1; if (_toggle){ addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true); } else { removeEventListener(MouseEvent.CLICK, toggleSelected); }; invalidate(InvalidationType.STATE); } public function get label():String{ return (_label); } override public function set selected(_arg1:Boolean):void{ _selected = _arg1; if (_toggle){ invalidate(InvalidationType.STATE); }; } override protected function draw():void{ if (textField.text != _label){ label = _label; }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); drawIcon(); drawTextFormat(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } public function get toggle():Boolean{ return (_toggle); } override protected function configUI():void{ super.configUI(); textField = new TextField(); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; addChild(textField); } override protected function drawLayout():void{ var _local1:Number; var _local2:String; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local1 = Number(getStyleValue("textPadding")); _local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement; textField.height = (textField.textHeight + 4); _local3 = (textField.textWidth + 4); _local4 = (textField.textHeight + 4); _local5 = ((icon)==null) ? 0 : (icon.width + _local1); _local6 = ((icon)==null) ? 0 : (icon.height + _local1); textField.visible = (label.length > 0); if (icon != null){ icon.x = Math.round(((width - icon.width) / 2)); icon.y = Math.round(((height - icon.height) / 2)); }; if (textField.visible == false){ textField.width = 0; textField.height = 0; } else { if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){ _local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1)))); if ((height - 2) > _local4){ _local8 = _local4; } else { _local8 = (height - 2); }; _local3 = _local7; textField.width = _local3; _local4 = _local8; textField.height = _local4; textField.x = Math.round(((width - _local3) / 2)); textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0)); if (icon != null){ icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1)); }; } else { _local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1)))); _local3 = _local7; textField.width = _local3; textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0)); textField.y = Math.round(((height - textField.height) / 2)); if (icon != null){ icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1)); }; }; }; super.drawLayout(); } override protected function initializeAccessibility():void{ if (LabelButton.createAccessibilityImplementation != null){ LabelButton.createAccessibilityImplementation(this); }; } protected function drawIcon():void{ var _local1:DisplayObject; var _local2:String; var _local3:Object; _local1 = icon; _local2 = (enabled) ? mouseState : "disabled"; if (selected){ _local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1)); }; _local2 = (_local2 + "Icon"); _local3 = getStyleValue(_local2); if (_local3 == null){ _local3 = getStyleValue("icon"); }; if (_local3 != null){ icon = getDisplayObjectInstance(_local3); }; if (icon != null){ addChildAt(icon, 1); }; if (((!((_local1 == null))) && (!((_local1 == icon))))){ removeChild(_local1); }; } public function set label(_arg1:String):void{ _label = _arg1; if (textField.text != _label){ textField.text = _label; dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE)); }; invalidate(InvalidationType.SIZE); invalidate(InvalidationType.STYLES); } protected function drawTextFormat():void{ var _local1:Object; var _local2:TextFormat; var _local3:TextFormat; _local1 = UIComponent.getStyleDefinition(); _local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); _local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3; setEmbedFont(); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition())); } } }//package fl.controls
Section 118
//ComponentShim (fl.core.ComponentShim) package fl.core { import flash.display.*; public dynamic class ComponentShim extends MovieClip { } }//package fl.core
Section 119
//InvalidationType (fl.core.InvalidationType) package fl.core { public class InvalidationType { public static const SIZE:String = "size"; public static const ALL:String = "all"; public static const DATA:String = "data"; public static const SCROLL:String = "scroll"; public static const STATE:String = "state"; public static const STYLES:String = "styles"; public static const SELECTED:String = "selected"; public static const RENDERER_STYLES:String = "rendererStyles"; } }//package fl.core
Section 120
//UIComponent (fl.core.UIComponent) package fl.core { import flash.display.*; import flash.events.*; import fl.managers.*; import flash.utils.*; import fl.events.*; import flash.text.*; import flash.system.*; public class UIComponent extends Sprite { protected var _enabled:Boolean;// = true private var _mouseFocusEnabled:Boolean;// = true protected var startHeight:Number; protected var _height:Number; protected var _oldIMEMode:String;// = null protected var startWidth:Number; public var focusTarget:IFocusManagerComponent; protected var errorCaught:Boolean;// = false protected var uiFocusRect:DisplayObject; protected var _width:Number; public var version:String;// = "3.0.0.15" protected var isFocused:Boolean;// = false protected var callLaterMethods:Dictionary; private var _focusEnabled:Boolean;// = true private var tempText:TextField; protected var invalidateFlag:Boolean;// = false protected var _inspector:Boolean;// = false protected var sharedStyles:Object; protected var invalidHash:Object; protected var isLivePreview:Boolean;// = false protected var _imeMode:String;// = null protected var instanceStyles:Object; protected var _x:Number; protected var _y:Number; public static var inCallLaterPhase:Boolean = false; private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)}; public static var createAccessibilityImplementation:Function; private static var focusManagers:Dictionary = new Dictionary(false); public function UIComponent(){ version = "3.0.0.15"; isLivePreview = false; invalidateFlag = false; _enabled = true; isFocused = false; _focusEnabled = true; _mouseFocusEnabled = true; _imeMode = null; _oldIMEMode = null; errorCaught = false; _inspector = false; super(); instanceStyles = {}; sharedStyles = {}; invalidHash = {}; callLaterMethods = new Dictionary(); StyleManager.registerInstance(this); configUI(); invalidate(InvalidationType.ALL); tabEnabled = (this is IFocusManagerComponent); focusRect = false; if (tabEnabled){ addEventListener(FocusEvent.FOCUS_IN, focusInHandler); addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler); addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); }; initializeFocusManager(); addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true); } public function drawFocus(_arg1:Boolean):void{ var _local2:Number; isFocused = _arg1; if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){ removeChild(uiFocusRect); uiFocusRect = null; }; if (_arg1){ uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite); if (uiFocusRect == null){ return; }; _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = -(_local2); uiFocusRect.y = -(_local2); uiFocusRect.width = (width + (_local2 * 2)); uiFocusRect.height = (height + (_local2 * 2)); addChildAt(uiFocusRect, 0); }; } private function callLaterDispatcher(_arg1:Event):void{ var _local2:Dictionary; var _local3:Object; if (_arg1.type == Event.ADDED_TO_STAGE){ removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher); stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); return; }; _arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher); if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); return; }; inCallLaterPhase = true; _local2 = callLaterMethods; for (_local3 in _local2) { _local3(); delete _local2[_local3]; }; inCallLaterPhase = false; } private function addedHandler(_arg1:Event):void{ removeEventListener("addedToStage", addedHandler); initializeFocusManager(); } protected function getStyleValue(_arg1:String):Object{ return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]); } protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((_arg1 == this)); } override public function get scaleX():Number{ return ((width / startWidth)); } override public function get scaleY():Number{ return ((height / startHeight)); } override public function set height(_arg1:Number):void{ if (_height == _arg1){ return; }; setSize(width, _arg1); } protected function keyDownHandler(_arg1:KeyboardEvent):void{ } protected function focusInHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; if (isOurFocus((_arg1.target as DisplayObject))){ _local2 = focusManager; if (((_local2) && (_local2.showFocusIndicator))){ drawFocus(true); isFocused = true; }; }; } public function setStyle(_arg1:String, _arg2:Object):void{ if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; instanceStyles[_arg1] = _arg2; invalidate(InvalidationType.STYLES); } override public function get visible():Boolean{ return (super.visible); } public function get componentInspectorSetting():Boolean{ return (_inspector); } override public function get x():Number{ return ((isNaN(_x)) ? super.x : _x); } override public function get y():Number{ return ((isNaN(_y)) ? super.y : _y); } protected function setIMEMode(_arg1:Boolean){ var enabled = _arg1; if (_imeMode != null){ if (enabled){ IME.enabled = true; _oldIMEMode = IME.conversionMode; try { if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _imeMode; }; errorCaught = false; } catch(e:Error) { errorCaught = true; throw (new Error(("IME mode not supported: " + _imeMode))); }; } else { if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _oldIMEMode; }; IME.enabled = false; }; }; } public function set enabled(_arg1:Boolean):void{ if (_arg1 == _enabled){ return; }; _enabled = _arg1; invalidate(InvalidationType.STATE); } public function setSharedStyle(_arg1:String, _arg2:Object):void{ if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; sharedStyles[_arg1] = _arg2; if (instanceStyles[_arg1] == null){ invalidate(InvalidationType.STYLES); }; } protected function keyUpHandler(_arg1:KeyboardEvent):void{ } public function set focusEnabled(_arg1:Boolean):void{ _focusEnabled = _arg1; } override public function set scaleX(_arg1:Number):void{ setSize((startWidth * _arg1), height); } public function get mouseFocusEnabled():Boolean{ return (_mouseFocusEnabled); } override public function set scaleY(_arg1:Number):void{ setSize(width, (startHeight * _arg1)); } protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{ var classDef:Object; var skin = _arg1; classDef = null; if ((skin is Class)){ return ((new (skin) as DisplayObject)); }; if ((skin is DisplayObject)){ (skin as DisplayObject).x = 0; (skin as DisplayObject).y = 0; return ((skin as DisplayObject)); }; try { classDef = getDefinitionByName(skin.toString()); } catch(e:Error) { try { classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object); } catch(e:Error) { }; }; if (classDef == null){ return (null); }; return ((new (classDef) as DisplayObject)); } protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{ var _local3:String; for (_local3 in _arg2) { _arg1.setStyle(_local3, getStyleValue(_arg2[_local3])); }; } protected function beforeComponentParameters():void{ } protected function callLater(_arg1:Function):void{ if (inCallLaterPhase){ return; }; callLaterMethods[_arg1] = true; if (stage != null){ stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); } else { addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); }; } protected function createFocusManager():void{ if (focusManagers[stage] == null){ focusManagers[stage] = new FocusManager(stage); }; } override public function set visible(_arg1:Boolean):void{ var _local2:String; if (super.visible == _arg1){ return; }; super.visible = _arg1; _local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE; dispatchEvent(new ComponentEvent(_local2, true)); } protected function hookAccessibility(_arg1:Event):void{ removeEventListener(Event.ENTER_FRAME, hookAccessibility); initializeAccessibility(); } public function set componentInspectorSetting(_arg1:Boolean):void{ _inspector = _arg1; if (_inspector){ beforeComponentParameters(); } else { afterComponentParameters(); }; } override public function set x(_arg1:Number):void{ move(_arg1, _y); } public function drawNow():void{ draw(); } override public function set y(_arg1:Number):void{ move(_x, _arg1); } protected function checkLivePreview():Boolean{ var className:String; if (parent == null){ return (false); }; try { className = getQualifiedClassName(parent); } catch(e:Error) { }; return ((className == "fl.livepreview::LivePreviewParent")); } protected function focusOutHandler(_arg1:FocusEvent):void{ if (isOurFocus((_arg1.target as DisplayObject))){ drawFocus(false); isFocused = false; }; } public function set mouseFocusEnabled(_arg1:Boolean):void{ _mouseFocusEnabled = _arg1; } public function getFocus():InteractiveObject{ if (stage){ return (stage.focus); }; return (null); } protected function validate():void{ invalidHash = {}; } override public function get height():Number{ return (_height); } public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{ invalidHash[_arg1] = true; if (_arg2){ this.callLater(draw); }; } public function get enabled():Boolean{ return (_enabled); } protected function getScaleX():Number{ return (super.scaleX); } protected function getScaleY():Number{ return (super.scaleY); } public function get focusEnabled():Boolean{ return (_focusEnabled); } protected function afterComponentParameters():void{ } protected function draw():void{ if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } protected function configUI():void{ var _local1:Number; var _local2:Number; var _local3:Number; isLivePreview = checkLivePreview(); _local1 = rotation; rotation = 0; _local2 = super.width; _local3 = super.height; var _local4 = 1; super.scaleY = _local4; super.scaleX = _local4; setSize(_local2, _local3); move(super.x, super.y); rotation = _local1; startWidth = _local2; startHeight = _local3; if (numChildren > 0){ removeChildAt(0); }; } protected function setScaleX(_arg1:Number):void{ super.scaleX = _arg1; } protected function setScaleY(_arg1:Number):void{ super.scaleY = _arg1; } private function initializeFocusManager():void{ if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true); } else { createFocusManager(); }; } public function set focusManager(_arg1:IFocusManager):void{ UIComponent.focusManagers[this] = _arg1; } public function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } protected function isInvalid(_arg1:String, ... _args):Boolean{ if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){ return (true); }; while (_args.length > 0) { if (invalidHash[_args.pop()]){ return (true); }; }; return (false); } public function setSize(_arg1:Number, _arg2:Number):void{ _width = _arg1; _height = _arg2; invalidate(InvalidationType.SIZE); dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false)); } override public function set width(_arg1:Number):void{ if (_width == _arg1){ return; }; setSize(_arg1, height); } public function setFocus():void{ if (stage){ stage.focus = this; }; } protected function initializeAccessibility():void{ if (UIComponent.createAccessibilityImplementation != null){ UIComponent.createAccessibilityImplementation(this); }; } public function get focusManager():IFocusManager{ var _local1:DisplayObject; _local1 = this; while (_local1) { if (UIComponent.focusManagers[_local1] != null){ return (IFocusManager(UIComponent.focusManagers[_local1])); }; _local1 = _local1.parent; }; return (null); } override public function get width():Number{ return (_width); } public function move(_arg1:Number, _arg2:Number):void{ _x = _arg1; _y = _arg2; super.x = Math.round(_arg1); super.y = Math.round(_arg2); dispatchEvent(new ComponentEvent(ComponentEvent.MOVE)); } public function validateNow():void{ invalidate(InvalidationType.ALL, false); draw(); } public function getStyle(_arg1:String):Object{ return (instanceStyles[_arg1]); } public static function getStyleDefinition():Object{ return (defaultStyles); } public static function mergeStyles(... _args):Object{ var _local2:Object; var _local3:uint; var _local4:uint; var _local5:Object; var _local6:String; _local2 = {}; _local3 = _args.length; _local4 = 0; while (_local4 < _local3) { _local5 = _args[_local4]; for (_local6 in _local5) { if (_local2[_local6] != null){ } else { _local2[_local6] = _args[_local4][_local6]; }; }; _local4++; }; return (_local2); } } }//package fl.core
Section 121
//ComponentEvent (fl.events.ComponentEvent) package fl.events { import flash.events.*; public class ComponentEvent extends Event { public static const HIDE:String = "hide"; public static const BUTTON_DOWN:String = "buttonDown"; public static const MOVE:String = "move"; public static const RESIZE:String = "resize"; public static const ENTER:String = "enter"; public static const LABEL_CHANGE:String = "labelChange"; public static const SHOW:String = "show"; public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("ComponentEvent", "type", "bubbles", "cancelable")); } override public function clone():Event{ return (new ComponentEvent(type, bubbles, cancelable)); } } }//package fl.events
Section 122
//FocusManager (fl.managers.FocusManager) package fl.managers { import fl.controls.*; import flash.display.*; import flash.events.*; import fl.core.*; import flash.utils.*; import flash.text.*; import flash.ui.*; public class FocusManager implements IFocusManager { private var focusableObjects:Dictionary; private var _showFocusIndicator:Boolean;// = true private var defButton:Button; private var focusableCandidates:Array; private var _form:DisplayObjectContainer; private var _defaultButtonEnabled:Boolean;// = true private var activated:Boolean;// = false private var _defaultButton:Button; private var calculateCandidates:Boolean;// = true private var lastFocus:InteractiveObject; private var lastAction:String; public function FocusManager(_arg1:DisplayObjectContainer){ activated = false; calculateCandidates = true; _showFocusIndicator = true; _defaultButtonEnabled = true; super(); focusableObjects = new Dictionary(true); if (_arg1 != null){ _form = _arg1; addFocusables(DisplayObject(_arg1)); _arg1.addEventListener(Event.ADDED, addedHandler); _arg1.addEventListener(Event.REMOVED, removedHandler); activate(); }; } public function get showFocusIndicator():Boolean{ return (_showFocusIndicator); } private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{ var _local5:int; var _local6:int; var _local7:DisplayObject; var _local8:IFocusManagerGroup; var _local9:int; var _local10:DisplayObject; var _local11:IFocusManagerGroup; _local5 = focusableCandidates.length; _local6 = _arg1; while (true) { if (_arg2){ _arg1--; } else { _arg1++; }; if (_arg3){ if (((_arg2) && ((_arg1 < 0)))){ break; }; if (((!(_arg2)) && ((_arg1 == _local5)))){ break; }; } else { _arg1 = ((_arg1 + _local5) % _local5); if (_local6 == _arg1){ break; }; }; if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){ _local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1])); if ((_local7 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local7); _local9 = 0; while (_local9 < focusableCandidates.length) { _local10 = focusableCandidates[_local9]; if ((_local10 is IFocusManagerGroup)){ _local11 = IFocusManagerGroup(_local10); if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){ _arg1 = _local9; break; }; }; _local9++; }; }; return (_arg1); }; }; return (_arg1); } public function set form(_arg1:DisplayObjectContainer):void{ _form = _arg1; } private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{ var focusable:IFocusManagerComponent; var io:InteractiveObject; var doc:DisplayObjectContainer; var i:int; var child:DisplayObject; var o = _arg1; var skipTopLevel = _arg2; if (!skipTopLevel){ if ((o is IFocusManagerComponent)){ focusable = IFocusManagerComponent(o); if (focusable.focusEnabled){ if (((focusable.tabEnabled) && (isTabVisible(o)))){ focusableObjects[o] = true; calculateCandidates = true; }; o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; } else { if ((o is InteractiveObject)){ io = (o as InteractiveObject); if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){ focusableObjects[io] = true; calculateCandidates = true; }; io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; }; }; if ((o is DisplayObjectContainer)){ doc = DisplayObjectContainer(o); o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){ i = 0; while (i < doc.numChildren) { try { child = doc.getChildAt(i); if (child != null){ addFocusables(doc.getChildAt(i)); }; } catch(error:SecurityError) { }; i = (i + 1); }; }; }; } private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{ return (_arg1.getChildIndex(_arg2)); } private function mouseFocusChangeHandler(_arg1:FocusEvent):void{ if ((_arg1.relatedObject is TextField)){ return; }; _arg1.preventDefault(); } private function focusOutHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject; _local2 = (_arg1.target as InteractiveObject); } private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{ var _local3:IFocusManagerGroup; if (!isEnabledAndVisible(_arg1)){ return (false); }; if ((_arg1 is IFocusManagerGroup)){ _local3 = IFocusManagerGroup(_arg1); if (_arg2 == _local3.groupName){ return (false); }; }; return (true); } public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{ var _local2:InteractiveObject; _local2 = _arg1; while (_arg1) { if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){ return (_arg1); }; _arg1 = _arg1.parent; }; return (_local2); } private function sortFocusableObjectsTabIndex():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){ focusableCandidates.push(_local2); }; }; focusableCandidates.sort(sortByTabIndex); } private function removeFocusables(_arg1:DisplayObject):void{ var _local2:Object; var _local3:DisplayObject; if ((_arg1 is DisplayObjectContainer)){ _arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); _arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); for (_local2 in focusableObjects) { _local3 = DisplayObject(_local2); if (DisplayObjectContainer(_arg1).contains(_local3)){ if (_local3 == lastFocus){ lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local2]; calculateCandidates = true; }; }; }; } private function addedHandler(_arg1:Event):void{ var _local2:DisplayObject; _local2 = DisplayObject(_arg1.target); if (_local2.stage){ addFocusables(DisplayObject(_arg1.target)); }; } private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{ while (_arg1 != InteractiveObject(form)) { if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){ return (_arg1); }; _arg1 = _arg1.parent; if (_arg1 == null){ break; }; }; return (null); } private function tabChildrenChangeHandler(_arg1:Event):void{ var _local2:DisplayObjectContainer; if (_arg1.target != _arg1.currentTarget){ return; }; calculateCandidates = true; _local2 = DisplayObjectContainer(_arg1.target); if (_local2.tabChildren){ addFocusables(_local2, true); } else { removeFocusables(_local2); }; } public function sendDefaultButtonEvent():void{ defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } public function getFocus():InteractiveObject{ var _local1:InteractiveObject; _local1 = form.stage.focus; return (findFocusManagerComponent(_local1)); } private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; var _local3:TextField; var _local4:SimpleButton; _local2 = DisplayObject(form).parent; while (_arg1 != _local2) { if ((_arg1 is UIComponent)){ if (!UIComponent(_arg1).enabled){ return (false); }; } else { if ((_arg1 is TextField)){ _local3 = TextField(_arg1); if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){ return (false); }; } else { if ((_arg1 is SimpleButton)){ _local4 = SimpleButton(_arg1); if (!_local4.enabled){ return (false); }; }; }; }; if (!_arg1.visible){ return (false); }; _arg1 = _arg1.parent; }; return (true); } public function set defaultButton(_arg1:Button):void{ var _local2:Button; _local2 = (_arg1) ? Button(_arg1) : null; if (_local2 != _defaultButton){ if (_defaultButton){ _defaultButton.emphasized = false; }; if (defButton){ defButton.emphasized = false; }; _defaultButton = _local2; defButton = _local2; if (_local2){ _local2.emphasized = true; }; }; } private function deactivateHandler(_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); } public function setFocus(_arg1:InteractiveObject):void{ if ((_arg1 is IFocusManagerComponent)){ IFocusManagerComponent(_arg1).setFocus(); } else { form.stage.focus = _arg1; }; } private function setFocusToNextObject(_arg1:FocusEvent):void{ var _local2:InteractiveObject; if (!hasFocusableObjects()){ return; }; _local2 = getNextFocusManagerComponent(_arg1.shiftKey); if (_local2){ setFocus(_local2); }; } private function hasFocusableObjects():Boolean{ var _local1:Object; for (_local1 in focusableObjects) { return (true); }; return (false); } private function tabIndexChangeHandler(_arg1:Event):void{ calculateCandidates = true; } private function sortFocusableObjects():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){ sortFocusableObjectsTabIndex(); return; }; focusableCandidates.push(_local2); }; focusableCandidates.sort(sortByDepth); } private function keyFocusChangeHandler(_arg1:FocusEvent):void{ showFocusIndicator = true; if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){ setFocusToNextObject(_arg1); _arg1.preventDefault(); }; } private function getIndexOfFocusedObject(_arg1:DisplayObject):int{ var _local2:int; var _local3:int; _local2 = focusableCandidates.length; _local3 = 0; _local3 = 0; while (_local3 < _local2) { if (focusableCandidates[_local3] == _arg1){ return (_local3); }; _local3++; }; return (-1); } public function hideFocus():void{ } private function removedHandler(_arg1:Event):void{ var _local2:int; var _local3:DisplayObject; var _local4:InteractiveObject; _local3 = DisplayObject(_arg1.target); if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){ if (_local3 == lastFocus){ IFocusManagerComponent(lastFocus).drawFocus(false); lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local3]; calculateCandidates = true; } else { if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){ _local4 = (_local3 as InteractiveObject); if (_local4){ if (_local4 == lastFocus){ lastFocus = null; }; delete focusableObjects[_local4]; calculateCandidates = true; }; _local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); }; }; removeFocusables(_local3); } private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{ var _local3:String; var _local4:String; var _local5:int; var _local6:String; var _local7:String; var _local8:String; var _local9:DisplayObject; var _local10:DisplayObject; _local3 = ""; _local4 = ""; _local8 = "0000"; _local9 = DisplayObject(_arg1); _local10 = DisplayObject(_arg2); while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) { _local5 = getChildIndex(_local9.parent, _local9); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local3 = (_local7 + _local3); _local9 = _local9.parent; }; while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) { _local5 = getChildIndex(_local10.parent, _local10); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local4 = (_local7 + _local4); _local10 = _local10.parent; }; return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0); } public function get defaultButton():Button{ return (_defaultButton); } private function activateHandler(_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); if (lastFocus){ if ((lastFocus is IFocusManagerComponent)){ IFocusManagerComponent(lastFocus).setFocus(); } else { form.stage.focus = lastFocus; }; }; lastAction = "ACTIVATE"; } public function showFocus():void{ } public function set defaultButtonEnabled(_arg1:Boolean):void{ _defaultButtonEnabled = _arg1; } public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{ var _local2:DisplayObject; var _local3:String; var _local4:int; var _local5:Boolean; var _local6:int; var _local7:int; var _local8:IFocusManagerGroup; if (!hasFocusableObjects()){ return (null); }; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; _local2 = form.stage.focus; _local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2))); _local3 = ""; if ((_local2 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local2); _local3 = _local8.groupName; }; _local4 = getIndexOfFocusedObject(_local2); _local5 = false; _local6 = _local4; if (_local4 == -1){ if (_arg1){ _local4 = focusableCandidates.length; }; _local5 = true; }; _local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3); return (findFocusManagerComponent(focusableCandidates[_local7])); } private function mouseDownHandler(_arg1:MouseEvent):void{ var _local2:InteractiveObject; if (_arg1.isDefaultPrevented()){ return; }; _local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target)); if (!_local2){ return; }; showFocusIndicator = false; if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){ setFocus(_local2); }; lastAction = "MOUSEDOWN"; } private function isTabVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; _local2 = _arg1.parent; while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) { if (!_local2.tabChildren){ return (false); }; _local2 = _local2.parent; }; return (true); } public function get nextTabIndex():int{ return (0); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.TAB){ lastAction = "KEY"; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; }; if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){ sendDefaultButtonEvent(); }; } private function focusInHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject; var _local3:Button; _local2 = InteractiveObject(_arg1.target); if (form.contains(_local2)){ lastFocus = findFocusManagerComponent(InteractiveObject(_local2)); if ((lastFocus is Button)){ _local3 = Button(lastFocus); if (defButton){ defButton.emphasized = false; defButton = _local3; _local3.emphasized = true; }; } else { if (((defButton) && (!((defButton == _defaultButton))))){ defButton.emphasized = false; defButton = _defaultButton; _defaultButton.emphasized = true; }; }; }; } private function tabEnabledChangeHandler(_arg1:Event):void{ var _local2:InteractiveObject; var _local3:Boolean; calculateCandidates = true; _local2 = InteractiveObject(_arg1.target); _local3 = (focusableObjects[_local2] == true); if (_local2.tabEnabled){ if (((!(_local3)) && (isTabVisible(_local2)))){ if (!(_local2 is IFocusManagerComponent)){ _local2.focusRect = false; }; focusableObjects[_local2] = true; }; } else { if (_local3){ delete focusableObjects[_local2]; }; }; } public function set showFocusIndicator(_arg1:Boolean):void{ _showFocusIndicator = _arg1; } public function get form():DisplayObjectContainer{ return (_form); } private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{ return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2)); } public function activate():void{ if (activated){ return; }; form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true); form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true); form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true); form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true); form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = true; if (lastFocus){ setFocus(lastFocus); }; } public function deactivate():void{ form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler); form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.removeEventListener(Event.ACTIVATE, activateHandler); form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler); form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = false; } public function get defaultButtonEnabled():Boolean{ return (_defaultButtonEnabled); } } }//package fl.managers
Section 123
//IFocusManager (fl.managers.IFocusManager) package fl.managers { import fl.controls.*; import flash.display.*; public interface IFocusManager { function getFocus():InteractiveObject; function deactivate():void; function set defaultButton(_arg1:Button):void; function set showFocusIndicator(_arg1:Boolean):void; function get defaultButtonEnabled():Boolean; function get nextTabIndex():int; function get defaultButton():Button; function get showFocusIndicator():Boolean; function setFocus(_arg1:InteractiveObject):void; function activate():void; function showFocus():void; function set defaultButtonEnabled(_arg1:Boolean):void; function hideFocus():void; function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject; function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject; } }//package fl.managers
Section 124
//IFocusManagerComponent (fl.managers.IFocusManagerComponent) package fl.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package fl.managers
Section 125
//IFocusManagerGroup (fl.managers.IFocusManagerGroup) package fl.managers { public interface IFocusManagerGroup { function set groupName(_arg1:String):void; function set selected(_arg1:Boolean):void; function get groupName():String; function get selected():Boolean; } }//package fl.managers
Section 126
//StyleManager (fl.managers.StyleManager) package fl.managers { import fl.core.*; import flash.utils.*; import flash.text.*; public class StyleManager { private var globalStyles:Object; private var classToDefaultStylesDict:Dictionary; private var styleToClassesHash:Object; private var classToStylesDict:Dictionary; private var classToInstancesDict:Dictionary; private static var _instance:StyleManager; public function StyleManager(){ styleToClassesHash = {}; classToInstancesDict = new Dictionary(true); classToStylesDict = new Dictionary(true); classToDefaultStylesDict = new Dictionary(true); globalStyles = UIComponent.getStyleDefinition(); } public static function clearComponentStyle(_arg1:Object, _arg2:String):void{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){ delete _local4[_arg2]; invalidateComponentStyle(_local3, _arg2); }; } private static function getClassDef(_arg1:Object):Class{ var component = _arg1; if ((component is Class)){ return ((component as Class)); }; try { return ((getDefinitionByName(getQualifiedClassName(component)) as Class)); } catch(e:Error) { if ((component is UIComponent)){ try { return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class)); } catch(e:Error) { }; }; }; return (null); } public static function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Class; var _local5:Object; _local4 = getClassDef(_arg1); _local5 = getInstance().classToStylesDict[_local4]; if (_local5 == null){ _local5 = (getInstance().classToStylesDict[_local4] = {}); }; if (_local5 == _arg3){ return; }; _local5[_arg2] = _arg3; invalidateComponentStyle(_local4, _arg2); } private static function setSharedStyles(_arg1:UIComponent):void{ var _local2:StyleManager; var _local3:Class; var _local4:Object; var _local5:String; _local2 = getInstance(); _local3 = getClassDef(_arg1); _local4 = _local2.classToDefaultStylesDict[_local3]; for (_local5 in _local4) { _arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5)); }; } public static function getComponentStyle(_arg1:Object, _arg2:String):Object{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; return (((_local4)==null) ? null : _local4[_arg2]); } private static function getInstance(){ if (_instance == null){ _instance = new (StyleManager); }; return (_instance); } private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{ var _local3:Dictionary; var _local4:Object; var _local5:UIComponent; _local3 = getInstance().classToInstancesDict[_arg1]; if (_local3 == null){ return; }; for (_local4 in _local3) { _local5 = (_local4 as UIComponent); if (_local5 == null){ } else { _local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2)); }; }; } private static function invalidateStyle(_arg1:String):void{ var _local2:Dictionary; var _local3:Object; _local2 = getInstance().styleToClassesHash[_arg1]; if (_local2 == null){ return; }; for (_local3 in _local2) { invalidateComponentStyle(Class(_local3), _arg1); }; } public static function registerInstance(_arg1:UIComponent):void{ var inst:StyleManager; var classDef:Class; var target:Class; var defaultStyles:Object; var styleToClasses:Object; var n:String; var instance = _arg1; inst = getInstance(); classDef = getClassDef(instance); if (classDef == null){ return; }; if (inst.classToInstancesDict[classDef] == null){ inst.classToInstancesDict[classDef] = new Dictionary(true); target = classDef; while (defaultStyles == null) { if (target["getStyleDefinition"] != null){ defaultStyles = target["getStyleDefinition"](); break; }; try { target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class); } catch(err:Error) { try { target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class); } catch(e:Error) { defaultStyles = UIComponent.getStyleDefinition(); break; }; }; }; styleToClasses = inst.styleToClassesHash; for (n in defaultStyles) { if (styleToClasses[n] == null){ styleToClasses[n] = new Dictionary(true); }; styleToClasses[n][classDef] = true; }; inst.classToDefaultStylesDict[classDef] = defaultStyles; inst.classToStylesDict[classDef] = {}; }; inst.classToInstancesDict[classDef][instance] = true; setSharedStyles(instance); } public static function getStyle(_arg1:String):Object{ return (getInstance().globalStyles[_arg1]); } private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{ var _local3:Class; var _local4:StyleManager; var _local5:Object; _local3 = getClassDef(_arg1); _local4 = getInstance(); _local5 = _local4.classToStylesDict[_local3][_arg2]; if (_local5 != null){ return (_local5); }; _local5 = _local4.globalStyles[_arg2]; if (_local5 != null){ return (_local5); }; return (_local4.classToDefaultStylesDict[_local3][_arg2]); } public static function setStyle(_arg1:String, _arg2:Object):void{ var _local3:Object; _local3 = getInstance().globalStyles; if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; _local3[_arg1] = _arg2; invalidateStyle(_arg1); } } }//package fl.managers
Section 127
//desque_outro_sbline (desque_outro_sbline) package { import flash.media.*; public dynamic class desque_outro_sbline extends Sound { } }//package
Section 128
//desque_outro_sbline2 (desque_outro_sbline2) package { import flash.media.*; public dynamic class desque_outro_sbline2 extends Sound { } }//package
Section 129
//desque_sfx_doorkick1 (desque_sfx_doorkick1) package { import flash.media.*; public dynamic class desque_sfx_doorkick1 extends Sound { } }//package
Section 130
//desque_sfx_doorkick2 (desque_sfx_doorkick2) package { import flash.media.*; public dynamic class desque_sfx_doorkick2 extends Sound { } }//package
Section 131
//desque_sfx_draweropen (desque_sfx_draweropen) package { import flash.media.*; public dynamic class desque_sfx_draweropen extends Sound { } }//package
Section 132
//desque_sfx_safeopenclose (desque_sfx_safeopenclose) package { import flash.media.*; public dynamic class desque_sfx_safeopenclose extends Sound { } }//package
Section 133
//PhotoInterface (PhotoInterface) package { import flash.display.*; public dynamic class PhotoInterface extends MovieClip { } }//package
Section 134
//sbtalk_back (sbtalk_back) package { import flash.display.*; public dynamic class sbtalk_back extends MovieClip { } }//package
Section 135
//sbtalk_front (sbtalk_front) package { import flash.display.*; public dynamic class sbtalk_front extends MovieClip { } }//package
Section 136
//sbtalk_side (sbtalk_side) package { import flash.display.*; public dynamic class sbtalk_side extends MovieClip { } }//package
Section 137
//sbthink_back (sbthink_back) package { import flash.display.*; public dynamic class sbthink_back extends MovieClip { public function sbthink_back(){ addFrameScript(9, frame10, 15, frame16); } function frame10(){ stop(); } function frame16(){ stop(); } } }//package
Section 138
//sbthink_front (sbthink_front) package { import flash.display.*; public dynamic class sbthink_front extends MovieClip { public function sbthink_front(){ addFrameScript(7, frame8, 11, frame12); } function frame12(){ stop(); } function frame8(){ stop(); } } }//package
Section 139
//sbthink_side (sbthink_side) package { import flash.display.*; public dynamic class sbthink_side extends MovieClip { public function sbthink_side(){ addFrameScript(9, frame10, 15, frame16); } function frame10(){ stop(); } function frame16(){ stop(); } } }//package
Section 140
//sbwalk_back (sbwalk_back) package { import flash.display.*; public dynamic class sbwalk_back extends MovieClip { } }//package
Section 141
//sbwalk_front (sbwalk_front) package { import flash.display.*; public dynamic class sbwalk_front extends MovieClip { } }//package
Section 142
//sbwalk_side (sbwalk_side) package { import flash.display.*; public dynamic class sbwalk_side extends MovieClip { } }//package

Library Items

Symbol 1 Sound {com.homestarrunner.dangeresque.sounds.OfficeMusicLooper}
Symbol 2 Sound {desque_sfx_doorkick2}
Symbol 3 Sound {desque_sfx_doorkick1}
Symbol 4 Sound {com.homestarrunner.dangeresque.sounds.PointStinger}
Symbol 5 Sound {desque_outro_sbline2}
Symbol 6 Sound {desque_outro_sbline}
Symbol 7 Sound {desque_sfx_safeopenclose}Used by:295
Symbol 8 Sound {desque_sfx_draweropen}Used by:295
Symbol 9 BitmapUsed by:10
Symbol 10 GraphicUses:9Used by:42
Symbol 11 BitmapUsed by:12
Symbol 12 GraphicUses:11Used by:42
Symbol 13 BitmapUsed by:14
Symbol 14 GraphicUses:13Used by:42
Symbol 15 GraphicUsed by:42 90
Symbol 16 FontUsed by:17 26 30 36 37 38 39 41 50 57 61 62 65 66 69 73 77 78 82 83 143 619 629 825 826 873 877 878
Symbol 17 TextUses:16Used by:42
Symbol 18 BitmapUsed by:19
Symbol 19 GraphicUses:18Used by:20
Symbol 20 MovieClipUses:19Used by:42 90 620 630
Symbol 21 BitmapUsed by:23
Symbol 22 BitmapUsed by:23 24
Symbol 23 GraphicUses:21 22Used by:42
Symbol 24 GraphicUses:22Used by:42
Symbol 25 GraphicUsed by:42 90
Symbol 26 TextUses:16Used by:42
Symbol 27 BitmapUsed by:28
Symbol 28 GraphicUses:27Used by:42
Symbol 29 GraphicUsed by:42 90
Symbol 30 TextUses:16Used by:42
Symbol 31 BitmapUsed by:32
Symbol 32 GraphicUses:31Used by:42
Symbol 33 BitmapUsed by:34
Symbol 34 GraphicUses:33Used by:42
Symbol 35 GraphicUsed by:42
Symbol 36 TextUses:16Used by:42
Symbol 37 TextUses:16Used by:42
Symbol 38 TextUses:16Used by:42
Symbol 39 TextUses:16Used by:42
Symbol 40 GraphicUsed by:42
Symbol 41 TextUses:16Used by:42
Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene}Uses:10 12 14 15 17 20 23 24 25 26 28 29 30 32 34 35 36 37 38 39 40 41
Symbol 43 BitmapUsed by:44
Symbol 44 GraphicUses:43Used by:90 633 636
Symbol 45 BitmapUsed by:46
Symbol 46 GraphicUses:45Used by:90 633 636
Symbol 47 GraphicUsed by:90 636
Symbol 48 BitmapUsed by:49
Symbol 49 GraphicUses:48Used by:90 633
Symbol 50 TextUses:16Used by:90
Symbol 51 BitmapUsed by:52
Symbol 52 GraphicUses:51Used by:90 633
Symbol 53 BitmapUsed by:54
Symbol 54 GraphicUses:53Used by:90 633
Symbol 55 BitmapUsed by:56
Symbol 56 GraphicUses:55Used by:90 633
Symbol 57 TextUses:16Used by:90
Symbol 58 BitmapUsed by:59
Symbol 59 GraphicUses:58Used by:60
Symbol 60 MovieClipUses:59Used by:90 636
Symbol 61 TextUses:16Used by:90
Symbol 62 TextUses:16Used by:90
Symbol 63 BitmapUsed by:64
Symbol 64 GraphicUses:63Used by:90 634
Symbol 65 TextUses:16Used by:90
Symbol 66 TextUses:16Used by:90
Symbol 67 BitmapUsed by:68
Symbol 68 GraphicUses:67Used by:90 634
Symbol 69 TextUses:16Used by:90
Symbol 70 BitmapUsed by:71
Symbol 71 GraphicUses:70Used by:72
Symbol 72 MovieClipUses:71Used by:90 636
Symbol 73 TextUses:16Used by:90
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:76
Symbol 76 MovieClipUses:75Used by:90 636
Symbol 77 TextUses:16Used by:90
Symbol 78 TextUses:16Used by:90
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:81
Symbol 81 MovieClipUses:80Used by:90 636
Symbol 82 TextUses:16Used by:90
Symbol 83 TextUses:16Used by:90
Symbol 84 GraphicUsed by:90 636
Symbol 85 SoundUsed by:90
Symbol 86 GraphicUsed by:90 195 614 615 616 636 772 876
Symbol 87 GraphicUsed by:90 136 139 142 613 636 772
Symbol 88 ShapeTweeningUsed by:90
Symbol 89 GraphicUsed by:90 636
Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene}Uses:44 46 47 49 15 50 20 52 54 56 29 57 60 25 61 62 64 65 66 68 69 72 73 76 77 78 81 82 83 84 85 86 87 88 89
Symbol 91 BitmapUsed by:92
Symbol 92 GraphicUses:91Used by:93
Symbol 93 MovieClip {com.homestarrunner.dangeresque.sprites.MouseIconSkip}Uses:92
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:97 131
Symbol 96 GraphicUsed by:97 611
Symbol 97 MovieClip {com.homestarrunner.dangeresque.sprites.MouseIconArrowPlus}Uses:95 96
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClip {com.homestarrunner.dangeresque.inventory.invstampsauce}Uses:98
Symbol 100 GraphicUsed by:101
Symbol 101 MovieClip {com.homestarrunner.dangeresque.inventory.invphoto}Uses:100
Symbol 102 GraphicUsed by:103
Symbol 103 MovieClip {com.homestarrunner.dangeresque.inventory.invpuke}Uses:102
Symbol 104 GraphicUsed by:105
Symbol 105 MovieClip {com.homestarrunner.dangeresque.inventory.invcamera}Uses:104
Symbol 106 GraphicUsed by:107
Symbol 107 MovieClip {com.homestarrunner.dangeresque.inventory.invstamp}Uses:106
Symbol 108 GraphicUsed by:109
Symbol 109 MovieClip {com.homestarrunner.dangeresque.inventory.invcoffee}Uses:108
Symbol 110 BitmapUsed by:111
Symbol 111 GraphicUses:110Used by:112
Symbol 112 MovieClip {com.homestarrunner.dangeresque.inventory.invtakeout}Uses:111
Symbol 113 GraphicUsed by:114
Symbol 114 MovieClipUses:113Used by:116
Symbol 115 MovieClip {fl.core.ComponentShim}Used by:116
Symbol 116 MovieClip {fl.controls.Label}Uses:114 115
Symbol 117 BitmapUsed by:118 124
Symbol 118 GraphicUses:117Used by:130
Symbol 119 BitmapUsed by:120 123
Symbol 120 GraphicUses:119Used by:130
Symbol 121 BitmapUsed by:122
Symbol 122 GraphicUses:121Used by:130
Symbol 123 GraphicUses:119Used by:130
Symbol 124 GraphicUses:117Used by:130
Symbol 125 BitmapUsed by:126 129
Symbol 126 GraphicUses:125Used by:130
Symbol 127 BitmapUsed by:128
Symbol 128 GraphicUses:127Used by:130
Symbol 129 GraphicUses:125Used by:130
Symbol 130 MovieClip {com.homestarrunner.dangeresque.sprites.MouseIconWait}Uses:118 120 122 123 124 126 128 129
Symbol 131 MovieClip {com.homestarrunner.dangeresque.sprites.MouseIconArrow}Uses:95
Symbol 132 GraphicUsed by:133
Symbol 133 MovieClipUses:132Used by:148
Symbol 134 GraphicUsed by:136
Symbol 135 GraphicUsed by:136
Symbol 136 ButtonUses:134 135 87Used by:148
Symbol 137 GraphicUsed by:139
Symbol 138 GraphicUsed by:139
Symbol 139 ButtonUses:137 138 87Used by:148
Symbol 140 GraphicUsed by:142
Symbol 141 GraphicUsed by:142
Symbol 142 ButtonUses:140 141 87Used by:148
Symbol 143 EditableTextUses:16Used by:148
Symbol 144 GraphicUsed by:147
Symbol 145 GraphicUsed by:147
Symbol 146 GraphicUsed by:147 884
Symbol 147 ButtonUses:144 145 146Used by:148
Symbol 148 MovieClip {com.homestarrunner.dangeresque.sprites.ActionMenuSprite}Uses:133 136 139 142 143 147
Symbol 149 GraphicUsed by:152
Symbol 150 GraphicUsed by:152
Symbol 151 GraphicUsed by:152
Symbol 152 MovieClip {com.homestarrunner.dangeresque.rooms.props.DarknessProp}Uses:149 150 151Used by:608
Symbol 153 GraphicUsed by:195 211
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:195
Symbol 156 BitmapUsed by:157
Symbol 157 GraphicUses:156Used by:195
Symbol 158 BitmapUsed by:159
Symbol 159 GraphicUses:158Used by:195
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:195
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:195
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164Used by:195
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166Used by:195
Symbol 168 BitmapUsed by:169
Symbol 169 GraphicUses:168Used by:195
Symbol 170 BitmapUsed by:171
Symbol 171 GraphicUses:170Used by:195
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:195
Symbol 174 BitmapUsed by:175
Symbol 175 GraphicUses:174Used by:195
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:195
Symbol 178 BitmapUsed by:179
Symbol 179 GraphicUses:178Used by:195
Symbol 180 BitmapUsed by:181
Symbol 181 GraphicUses:180Used by:195
Symbol 182 GraphicUsed by:195
Symbol 183 BitmapUsed by:184
Symbol 184 GraphicUses:183Used by:195 772
Symbol 185 GraphicUsed by:195
Symbol 186 GraphicUsed by:195
Symbol 187 BitmapUsed by:188
Symbol 188 GraphicUses:187Used by:195
Symbol 189 BitmapUsed by:190
Symbol 190 GraphicUses:189Used by:195
Symbol 191 BitmapUsed by:192
Symbol 192 GraphicUses:191Used by:195
Symbol 193 BitmapUsed by:194
Symbol 194 GraphicUses:193Used by:195
Symbol 195 MovieClip {com.homestarrunner.dangeresque.rooms.props.PomPomAttackProp}Uses:153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 86 182 184 185 186 188 190 192 194 SS1Used by:608
Symbol 196 GraphicUsed by:199
Symbol 197 GraphicUsed by:199
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClip {com.homestarrunner.dangeresque.rooms.props.PhoneBaseProp}Uses:196 197 198Used by:608
Symbol 200 GraphicUsed by:201
Symbol 201 MovieClipUses:200Used by:208 210 239 253 268 275 286
Symbol 202 BitmapUsed by:203
Symbol 203 GraphicUses:202Used by:208
Symbol 204 GraphicUsed by:205
Symbol 205 MovieClipUses:204Used by:208 210 211 223 226 229 295 600
Symbol 206 BitmapUsed by:207
Symbol 207 GraphicUses:206Used by:208
Symbol 208 MovieClip {com.homestarrunner.dangeresque.rooms.props.StampProp}Uses:201 203 205 207Used by:608
Symbol 209 GraphicUsed by:210
Symbol 210 MovieClip {com.homestarrunner.dangeresque.rooms.props.MugProp}Uses:201 205 209Used by:608
Symbol 211 MovieClip {com.homestarrunner.dangeresque.rooms.props.TakeoutProp}Uses:205 153Used by:608
Symbol 212 GraphicUsed by:213
Symbol 213 MovieClipUses:212Used by:223
Symbol 214 BitmapUsed by:215
Symbol 215 GraphicUses:214Used by:223
Symbol 216 BitmapUsed by:217
Symbol 217 GraphicUses:216Used by:223
Symbol 218 BitmapUsed by:219
Symbol 219 GraphicUses:218Used by:223
Symbol 220 SoundUsed by:223
Symbol 221 SoundUsed by:223
Symbol 222 SoundUsed by:223
Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp}Uses:205 213 215 217 219 220 221 222Used by:608
Symbol 224 GraphicUsed by:226 535 539
Symbol 225 GraphicUsed by:226
Symbol 226 MovieClip {com.homestarrunner.dangeresque.rooms.props.ChairProp}Uses:205 224 225Used by:608
Symbol 227 GraphicUsed by:229
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClip {com.homestarrunner.dangeresque.rooms.props.AshtrayProp}Uses:227 205 228Used by:608
Symbol 230 BitmapUsed by:231
Symbol 231 GraphicUses:230Used by:232
Symbol 232 MovieClip {com.homestarrunner.dangeresque.rooms.props.CameraProp}Uses:231Used by:608
Symbol 233 GraphicUsed by:234
Symbol 234 MovieClip {com.homestarrunner.dangeresque.rooms.props.SauceProp}Uses:233Used by:608
Symbol 235 BitmapUsed by:236
Symbol 236 GraphicUses:235Used by:239
Symbol 237 BitmapUsed by:238
Symbol 238 GraphicUses:237Used by:239
Symbol 239 MovieClip {com.homestarrunner.dangeresque.rooms.props.SafeProp}Uses:201 236 238Used by:608
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:244
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:244
Symbol 244 MovieClip {com.homestarrunner.dangeresque.rooms.props.SwitchProp}Uses:241 243Used by:608
Symbol 245 GraphicUsed by:248
Symbol 246 GraphicUsed by:248
Symbol 247 GraphicUsed by:248
Symbol 248 MovieClip {com.homestarrunner.dangeresque.rooms.props.SafeCodeProp}Uses:245 246 247Used by:608
Symbol 249 BitmapUsed by:250
Symbol 250 GraphicUses:249Used by:253
Symbol 251 BitmapUsed by:252
Symbol 252 GraphicUses:251Used by:253
Symbol 253 MovieClip {com.homestarrunner.dangeresque.rooms.props.RugProp}Uses:250 201 252Used by:608
Symbol 254 GraphicUsed by:268
Symbol 255 GraphicUsed by:268
Symbol 256 GraphicUsed by:268
Symbol 257 GraphicUsed by:268
Symbol 258 GraphicUsed by:268
Symbol 259 GraphicUsed by:268
Symbol 260 GraphicUsed by:268
Symbol 261 GraphicUsed by:268
Symbol 262 GraphicUsed by:268
Symbol 263 GraphicUsed by:268
Symbol 264 GraphicUsed by:268
Symbol 265 GraphicUsed by:268
Symbol 266 GraphicUsed by:268
Symbol 267 GraphicUsed by:268
Symbol 268 MovieClip {com.homestarrunner.dangeresque.rooms.props.BlindsProp}Uses:201 254 255 256 257 258 259 260 261 262 263 264 265 266 267Used by:608
Symbol 269 BitmapUsed by:270
Symbol 270 GraphicUses:269Used by:275
Symbol 271 BitmapUsed by:272
Symbol 272 GraphicUses:271Used by:275
Symbol 273 BitmapUsed by:274
Symbol 274 GraphicUses:273Used by:275
Symbol 275 MovieClip {com.homestarrunner.dangeresque.rooms.props.CasefileProp}Uses:201 270 272 274Used by:608
Symbol 276 BitmapUsed by:278
Symbol 277 BitmapUsed by:278
Symbol 278 GraphicUses:276 277Used by:608
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:608
Symbol 281 BitmapUsed by:282
Symbol 282 GraphicUses:281Used by:283
Symbol 283 MovieClip {com.homestarrunner.dangeresque.rooms.props.VomitProp}Uses:282Used by:608
Symbol 284 GraphicUsed by:286
Symbol 285 GraphicUsed by:286 538
Symbol 286 MovieClip {com.homestarrunner.dangeresque.rooms.props.BizcardProp}Uses:284 201 285Used by:608
Symbol 287 GraphicUsed by:288
Symbol 288 MovieClipUses:287Used by:608
Symbol 289 GraphicUsed by:290
Symbol 290 MovieClipUses:289Used by:608
Symbol 291 BitmapUsed by:292
Symbol 292 GraphicUses:291Used by:295
Symbol 293 GraphicUsed by:295
Symbol 294 GraphicUsed by:295
Symbol 295 MovieClip {com.homestarrunner.dangeresque.rooms.props.DeskProp}Uses:205 292 293 294 8 7Used by:608
Symbol 296 BitmapUsed by:297
Symbol 297 GraphicUses:296Used by:312
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:312
Symbol 300 BitmapUsed by:301
Symbol 301 GraphicUses:300Used by:312
Symbol 302 BitmapUsed by:303
Symbol 303 GraphicUses:302Used by:312
Symbol 304 BitmapUsed by:305
Symbol 305 GraphicUses:304Used by:312
Symbol 306 BitmapUsed by:307
Symbol 307 GraphicUses:306Used by:312
Symbol 308 BitmapUsed by:309
Symbol 309 GraphicUses:308Used by:312
Symbol 310 BitmapUsed by:311
Symbol 311 GraphicUses:310Used by:312
Symbol 312 MovieClip {sbwalk_side}Uses:297 299 301 303 305 307 309 311Used by:600
Symbol 313 MovieClipUsed by:600 607  Timeline
Symbol 314 GraphicUsed by:315
Symbol 315 MovieClipUses:314Used by:600
Symbol 316 BitmapUsed by:317
Symbol 317 GraphicUses:316Used by:332
Symbol 318 BitmapUsed by:319
Symbol 319 GraphicUses:318Used by:332
Symbol 320 BitmapUsed by:321
Symbol 321 GraphicUses:320Used by:332
Symbol 322 BitmapUsed by:323
Symbol 323 GraphicUses:322Used by:332
Symbol 324 BitmapUsed by:325
Symbol 325 GraphicUses:324Used by:332
Symbol 326 BitmapUsed by:327
Symbol 327 GraphicUses:326Used by:332
Symbol 328 BitmapUsed by:329
Symbol 329 GraphicUses:328Used by:332
Symbol 330 BitmapUsed by:331
Symbol 331 GraphicUses:330Used by:332
Symbol 332 MovieClip {sbwalk_front}Uses:317 319 321 323 325 327 329 331Used by:600
Symbol 333 BitmapUsed by:334
Symbol 334 GraphicUses:333Used by:349
Symbol 335 BitmapUsed by:336
Symbol 336 GraphicUses:335Used by:349
Symbol 337 BitmapUsed by:338
Symbol 338 GraphicUses:337Used by:349
Symbol 339 BitmapUsed by:340
Symbol 340 GraphicUses:339Used by:349
Symbol 341 BitmapUsed by:342
Symbol 342 GraphicUses:341Used by:349
Symbol 343 BitmapUsed by:344
Symbol 344 GraphicUses:343Used by:349
Symbol 345 BitmapUsed by:346
Symbol 346 GraphicUses:345Used by:349
Symbol 347 BitmapUsed by:348
Symbol 348 GraphicUses:347Used by:349
Symbol 349 MovieClip {sbwalk_back}Uses:334 336 338 340 342 344 346 348Used by:600
Symbol 350 BitmapUsed by:351
Symbol 351 GraphicUses:350Used by:375 599
Symbol 352 BitmapUsed by:353 363 371
Symbol 353 GraphicUses:352Used by:375 599
Symbol 354 BitmapUsed by:355
Symbol 355 GraphicUses:354Used by:375 599
Symbol 356 BitmapUsed by:357 367 374
Symbol 357 GraphicUses:356Used by:375 599
Symbol 358 BitmapUsed by:359
Symbol 359 GraphicUses:358Used by:375 599
Symbol 360 BitmapUsed by:361
Symbol 361 GraphicUses:360Used by:375
Symbol 362 BitmapUsed by:363 367
Symbol 363 GraphicUses:362 352Used by:375
Symbol 364 BitmapUsed by:366
Symbol 365 BitmapUsed by:366
Symbol 366 GraphicUses:364 365Used by:375
Symbol 367 GraphicUses:362 356Used by:375
Symbol 368 BitmapUsed by:369
Symbol 369 GraphicUses:368Used by:375
Symbol 370 BitmapUsed by:371 374
Symbol 371 GraphicUses:352 370Used by:375
Symbol 372 BitmapUsed by:373
Symbol 373 GraphicUses:372Used by:375
Symbol 374 GraphicUses:356 370Used by:375
Symbol 375 MovieClip {sbtalk_side}Uses:351 353 355 357 359 361 363 366 367 369 371 373 374Used by:600
Symbol 376 BitmapUsed by:377
Symbol 377 GraphicUses:376Used by:391
Symbol 378 BitmapUsed by:379
Symbol 379 GraphicUses:378Used by:391
Symbol 380 BitmapUsed by:381
Symbol 381 GraphicUses:380Used by:391
Symbol 382 BitmapUsed by:383 387
Symbol 383 GraphicUses:382Used by:391
Symbol 384 BitmapUsed by:385
Symbol 385 GraphicUses:384Used by:391
Symbol 386 BitmapUsed by:387 388
Symbol 387 GraphicUses:386 382Used by:391
Symbol 388 GraphicUses:386Used by:391
Symbol 389 BitmapUsed by:390
Symbol 390 GraphicUses:389Used by:391
Symbol 391 MovieClip {sbtalk_back}Uses:377 379 381 383 385 387 388 390Used by:600
Symbol 392 BitmapUsed by:393
Symbol 393 GraphicUses:392Used by:413
Symbol 394 BitmapUsed by:395 399 412
Symbol 395 GraphicUses:394Used by:413
Symbol 396 BitmapUsed by:397 406
Symbol 397 GraphicUses:396Used by:413
Symbol 398 BitmapUsed by:399 406
Symbol 399 GraphicUses:394 398Used by:413
Symbol 400 BitmapUsed by:401
Symbol 401 GraphicUses:400Used by:413
Symbol 402 BitmapUsed by:403
Symbol 403 GraphicUses:402Used by:413
Symbol 404 BitmapUsed by:405
Symbol 405 GraphicUses:404Used by:413
Symbol 406 GraphicUses:396 398Used by:413
Symbol 407 BitmapUsed by:408
Symbol 408 GraphicUses:407Used by:413
Symbol 409 BitmapUsed by:410
Symbol 410 GraphicUses:409Used by:413
Symbol 411 BitmapUsed by:412
Symbol 412 GraphicUses:394 411Used by:413
Symbol 413 MovieClip {sbtalk_front}Uses:393 395 397 399 401 403 405 406 408 410 412Used by:600
Symbol 414 BitmapUsed by:415
Symbol 415 GraphicUses:414Used by:426
Symbol 416 BitmapUsed by:417
Symbol 417 GraphicUses:416Used by:426
Symbol 418 BitmapUsed by:419
Symbol 419 GraphicUses:418Used by:426
Symbol 420 BitmapUsed by:421
Symbol 421 GraphicUses:420Used by:426
Symbol 422 BitmapUsed by:423
Symbol 423 GraphicUses:422Used by:426
Symbol 424 BitmapUsed by:425
Symbol 425 GraphicUses:424Used by:426
Symbol 426 MovieClip {sbthink_side}Uses:415 417 419 421 423 425Used by:600
Symbol 427 BitmapUsed by:428
Symbol 428 GraphicUses:427Used by:437
Symbol 429 BitmapUsed by:430
Symbol 430 GraphicUses:429Used by:437
Symbol 431 BitmapUsed by:432
Symbol 432 GraphicUses:431Used by:437
Symbol 433 BitmapUsed by:434
Symbol 434 GraphicUses:433Used by:437
Symbol 435 BitmapUsed by:436
Symbol 436 GraphicUses:435Used by:437
Symbol 437 MovieClip {sbthink_back}Uses:428 430 432 434 436Used by:600
Symbol 438 BitmapUsed by:439
Symbol 439 GraphicUses:438Used by:446
Symbol 440 BitmapUsed by:441
Symbol 441 GraphicUses:440Used by:446
Symbol 442 BitmapUsed by:443
Symbol 443 GraphicUses:442Used by:446
Symbol 444 BitmapUsed by:445
Symbol 445 GraphicUses:444Used by:446
Symbol 446 MovieClip {sbthink_front}Uses:439 441 443 445Used by:600
Symbol 447 BitmapUsed by:448
Symbol 448 GraphicUses:447Used by:459 518
Symbol 449 BitmapUsed by:451
Symbol 450 BitmapUsed by:451 453 500 504 513
Symbol 451 GraphicUses:449 450Used by:459
Symbol 452 BitmapUsed by:453 458
Symbol 453 GraphicUses:452 450Used by:459
Symbol 454 BitmapUsed by:456
Symbol 455 BitmapUsed by:456 509
Symbol 456 GraphicUses:454 455Used by:459
Symbol 457 BitmapUsed by:458 501 517
Symbol 458 GraphicUses:452 457Used by:459
Symbol 459 MovieClipUses:448 451 453 456 458Used by:600
Symbol 460 BitmapUsed by:461
Symbol 461 GraphicUses:460Used by:472
Symbol 462 BitmapUsed by:463
Symbol 463 GraphicUses:462Used by:472
Symbol 464 BitmapUsed by:465
Symbol 465 GraphicUses:464Used by:472
Symbol 466 BitmapUsed by:467
Symbol 467 GraphicUses:466Used by:472
Symbol 468 BitmapUsed by:469
Symbol 469 GraphicUses:468Used by:472
Symbol 470 BitmapUsed by:471
Symbol 471 GraphicUses:470Used by:472
Symbol 472 MovieClipUses:461 463 465 467 469 471Used by:600
Symbol 473 BitmapUsed by:474
Symbol 474 GraphicUses:473Used by:487
Symbol 475 BitmapUsed by:476
Symbol 476 GraphicUses:475Used by:487
Symbol 477 BitmapUsed by:478
Symbol 478 GraphicUses:477Used by:487
Symbol 479 BitmapUsed by:480
Symbol 480 GraphicUses:479Used by:487
Symbol 481 BitmapUsed by:482
Symbol 482 GraphicUses:481Used by:487
Symbol 483 BitmapUsed by:484
Symbol 484 GraphicUses:483Used by:487
Symbol 485 BitmapUsed by:486
Symbol 486 GraphicUses:485Used by:487
Symbol 487 MovieClipUses:474 476 478 480 482 484 486Used by:600
Symbol 488 BitmapUsed by:489
Symbol 489 GraphicUses:488Used by:498
Symbol 490 BitmapUsed by:491
Symbol 491 GraphicUses:490Used by:498
Symbol 492 BitmapUsed by:493
Symbol 493 GraphicUses:492Used by:498
Symbol 494 BitmapUsed by:495
Symbol 495 GraphicUses:494Used by:498
Symbol 496 BitmapUsed by:497
Symbol 497 GraphicUses:496Used by:498
Symbol 498 MovieClipUses:489 491 493 495 497Used by:600
Symbol 499 BitmapUsed by:500 509 516
Symbol 500 GraphicUses:499 450Used by:518
Symbol 501 GraphicUses:457Used by:518
Symbol 502 BitmapUsed by:503
Symbol 503 GraphicUses:502Used by:518
Symbol 504 GraphicUses:450Used by:518
Symbol 505 BitmapUsed by:506 516
Symbol 506 GraphicUses:505Used by:518
Symbol 507 BitmapUsed by:508
Symbol 508 GraphicUses:507Used by:518
Symbol 509 GraphicUses:499 455Used by:518
Symbol 510 BitmapUsed by:511
Symbol 511 GraphicUses:510Used by:518
Symbol 512 BitmapUsed by:513 517
Symbol 513 GraphicUses:450 512Used by:518
Symbol 514 BitmapUsed by:515
Symbol 515 GraphicUses:514Used by:518
Symbol 516 GraphicUses:499 505Used by:518
Symbol 517 GraphicUses:457 512Used by:518
Symbol 518 MovieClipUses:448 500 501 503 504 506 508 509 511 513 515 516 517Used by:600
Symbol 519 BitmapUsed by:520
Symbol 520 GraphicUses:519Used by:529 535 539
Symbol 521 BitmapUsed by:522
Symbol 522 GraphicUses:521Used by:529 535 539
Symbol 523 BitmapUsed by:524
Symbol 524 GraphicUses:523Used by:529 535 539
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:529 535 539
Symbol 527 BitmapUsed by:528
Symbol 528 GraphicUses:527Used by:529 535 539
Symbol 529 MovieClipUses:520 522 524 526 528Used by:600
Symbol 530 GraphicUsed by:535 539
Symbol 531 SoundUsed by:535 539
Symbol 532 GraphicUsed by:535 539
Symbol 533 GraphicUsed by:535 539
Symbol 534 GraphicUsed by:535 539
Symbol 535 MovieClipUses:520 522 524 526 528 224 530 531 532 533 534Used by:600
Symbol 536 GraphicUsed by:538
Symbol 537 GraphicUsed by:538
Symbol 538 MovieClipUses:536 537 285Used by:539
Symbol 539 MovieClip {dangeresque_fla.sb_chairspin_ani_65}Uses:520 522 524 526 528 224 530 538 531 532 533 534Used by:600
Symbol 540 BitmapUsed by:541
Symbol 541 GraphicUses:540Used by:562
Symbol 542 BitmapUsed by:543
Symbol 543 GraphicUses:542Used by:562
Symbol 544 BitmapUsed by:545
Symbol 545 GraphicUses:544Used by:562
Symbol 546 BitmapUsed by:547
Symbol 547 GraphicUses:546Used by:562
Symbol 548 BitmapUsed by:549
Symbol 549 GraphicUses:548Used by:562
Symbol 550 BitmapUsed by:551
Symbol 551 GraphicUses:550Used by:562
Symbol 552 BitmapUsed by:553
Symbol 553 GraphicUses:552Used by:562
Symbol 554 BitmapUsed by:555
Symbol 555 GraphicUses:554Used by:562
Symbol 556 BitmapUsed by:557
Symbol 557 GraphicUses:556Used by:562
Symbol 558 BitmapUsed by:559
Symbol 559 GraphicUses:558Used by:562 571 582
Symbol 560 BitmapUsed by:561
Symbol 561 GraphicUses:560Used by:562 571 582
Symbol 562 MovieClipUses:541 543 545 547 549 551 553 555 557 559 561Used by:600
Symbol 563 BitmapUsed by:564
Symbol 564 GraphicUses:563Used by:571
Symbol 565 BitmapUsed by:566
Symbol 566 GraphicUses:565Used by:571
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:571
Symbol 569 BitmapUsed by:570
Symbol 570 GraphicUses:569Used by:571
Symbol 571 MovieClipUses:564 566 568 570 559 561Used by:600
Symbol 572 BitmapUsed by:573
Symbol 573 GraphicUses:572Used by:582
Symbol 574 BitmapUsed by:575
Symbol 575 GraphicUses:574Used by:582
Symbol 576 BitmapUsed by:577
Symbol 577 GraphicUses:576Used by:582
Symbol 578 BitmapUsed by:579
Symbol 579 GraphicUses:578Used by:582
Symbol 580 BitmapUsed by:581
Symbol 581 GraphicUses:580Used by:582
Symbol 582 MovieClipUses:573 575 577 579 581 559 561Used by:600
Symbol 583 BitmapUsed by:584
Symbol 584 GraphicUses:583Used by:599
Symbol 585 BitmapUsed by:586
Symbol 586 GraphicUses:585Used by:599
Symbol 587 BitmapUsed by:588
Symbol 588 GraphicUses:587Used by:599
Symbol 589 BitmapUsed by:590
Symbol 590 GraphicUses:589Used by:599
Symbol 591 BitmapUsed by:592
Symbol 592 GraphicUses:591Used by:599
Symbol 593 BitmapUsed by:594
Symbol 594 GraphicUses:593Used by:599
Symbol 595 BitmapUsed by:596
Symbol 596 GraphicUses:595Used by:599
Symbol 597 BitmapUsed by:598
Symbol 598 GraphicUses:597Used by:599
Symbol 599 MovieClipUses:351 357 355 584 353 359 586 588 590 592 594 596 598 SS2Used by:600
Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip}Uses:205 312 313 315 332 349 375 391 413 426 437 446 459 472 487 498 518 529 535 539 562 571 582 599Used by:608
Symbol 601 BitmapUsed by:602
Symbol 602 GraphicUses:601Used by:605
Symbol 603 GraphicUsed by:604
Symbol 604 MovieClipUses:603Used by:605
Symbol 605 MovieClip {com.homestarrunner.dangeresque.rooms.props.LampProp}Uses:602 604Used by:608
Symbol 606 GraphicUsed by:607
Symbol 607 MovieClip {com.homestarrunner.dangeresque.masterclips.OffscreenChiefMasterMovieClip}Uses:606 313Used by:608
Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office}Uses:278 280 275 268 283 253 248 244 239 234 232 286 288 290 295 229 226 223 211 210 208 600 199 605 195 152 607
Symbol 609 BitmapUsed by:610
Symbol 610 GraphicUses:609Used by:611 612
Symbol 611 MovieClip {com.homestarrunner.dangeresque.sprites.MouseIconGlovePlus}Uses:610 96
Symbol 612 MovieClip {com.homestarrunner.dangeresque.sprites.MouseIconGlove}Uses:610
Symbol 613 MovieClipUses:87Used by:620 630
Symbol 614 MovieClipUses:86Used by:620
Symbol 615 MovieClipUses:86Used by:620
Symbol 616 MovieClipUses:86Used by:620
Symbol 617 GraphicUsed by:618
Symbol 618 MovieClipUses:617Used by:620
Symbol 619 EditableTextUses:16Used by:620
Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol}Uses:613 614 615 616 618 619 20
Symbol 621 GraphicUsed by:622
Symbol 622 MovieClipUses:621Used by:630
Symbol 623 GraphicUsed by:624
Symbol 624 MovieClipUses:623Used by:626
Symbol 625 GraphicUsed by:626
Symbol 626 MovieClip {dangeresque_fla.thinkBox_top_32}Uses:624 625Used by:630
Symbol 627 GraphicUsed by:628
Symbol 628 MovieClipUses:627Used by:630
Symbol 629 EditableTextUses:16Used by:630
Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol}Uses:613 622 626 628 629 20
Symbol 631 GraphicUsed by:632
Symbol 632 MovieClip {com.homestarrunner.dangeresque.inventory.InventoryDisplay}Uses:631
Symbol 633 MovieClipUses:44 46 49 52 54 56Used by:636
Symbol 634 MovieClipUses:64 68Used by:636
Symbol 635 ShapeTweeningUsed by:636
Symbol 636 MovieClip {PhotoInterface}Uses:633 47 60 634 72 76 44 46 81 84 86 87 635 89
Symbol 637 BitmapUsed by:638
Symbol 638 GraphicUses:637Used by:772
Symbol 639 BitmapUsed by:640
Symbol 640 GraphicUses:639Used by:772
Symbol 641 BitmapUsed by:642
Symbol 642 GraphicUses:641Used by:772
Symbol 643 GraphicUsed by:772
Symbol 644 GraphicUsed by:772
Symbol 645 GraphicUsed by:772
Symbol 646 GraphicUsed by:772
Symbol 647 BitmapUsed by:648
Symbol 648 GraphicUses:647Used by:772
Symbol 649 BitmapUsed by:650
Symbol 650 GraphicUses:649Used by:772
Symbol 651 BitmapUsed by:652
Symbol 652 GraphicUses:651Used by:772
Symbol 653 BitmapUsed by:654
Symbol 654 GraphicUses:653Used by:772
Symbol 655 BitmapUsed by:656
Symbol 656 GraphicUses:655Used by:772
Symbol 657 BitmapUsed by:658
Symbol 658 GraphicUses:657Used by:772
Symbol 659 GraphicUsed by:772 803 872
Symbol 660 BitmapUsed by:661
Symbol 661 GraphicUses:660Used by:772
Symbol 662 BitmapUsed by:663
Symbol 663 GraphicUses:662Used by:772
Symbol 664 BitmapUsed by:665
Symbol 665 GraphicUses:664Used by:772
Symbol 666 BitmapUsed by:667
Symbol 667 GraphicUses:666Used by:772
Symbol 668 BitmapUsed by:669
Symbol 669 GraphicUses:668Used by:772
Symbol 670 BitmapUsed by:671
Symbol 671 GraphicUses:670Used by:772
Symbol 672 BitmapUsed by:673
Symbol 673 GraphicUses:672Used by:772
Symbol 674 BitmapUsed by:675
Symbol 675 GraphicUses:674Used by:772
Symbol 676 BitmapUsed by:677
Symbol 677 GraphicUses:676Used by:772
Symbol 678 GraphicUsed by:772
Symbol 679 BitmapUsed by:680
Symbol 680 GraphicUses:679Used by:772
Symbol 681 BitmapUsed by:682
Symbol 682 GraphicUses:681Used by:772
Symbol 683 BitmapUsed by:684
Symbol 684 GraphicUses:683Used by:772
Symbol 685 BitmapUsed by:686
Symbol 686 GraphicUses:685Used by:772
Symbol 687 BitmapUsed by:688
Symbol 688 GraphicUses:687Used by:772
Symbol 689 BitmapUsed by:690
Symbol 690 GraphicUses:689Used by:772
Symbol 691 BitmapUsed by:692
Symbol 692 GraphicUses:691Used by:772
Symbol 693 BitmapUsed by:694
Symbol 694 GraphicUses:693Used by:772
Symbol 695 BitmapUsed by:696
Symbol 696 GraphicUses:695Used by:772
Symbol 697 BitmapUsed by:698
Symbol 698 GraphicUses:697Used by:772
Symbol 699 BitmapUsed by:700
Symbol 700 GraphicUses:699Used by:772
Symbol 701 BitmapUsed by:702
Symbol 702 GraphicUses:701Used by:772
Symbol 703 BitmapUsed by:704
Symbol 704 GraphicUses:703Used by:772
Symbol 705 BitmapUsed by:706
Symbol 706 GraphicUses:705Used by:772
Symbol 707 BitmapUsed by:708
Symbol 708 GraphicUses:707Used by:772
Symbol 709 BitmapUsed by:710
Symbol 710 GraphicUses:709Used by:772
Symbol 711 BitmapUsed by:712 719
Symbol 712 GraphicUses:711Used by:772
Symbol 713 BitmapUsed by:714
Symbol 714 GraphicUses:713Used by:772
Symbol 715 BitmapUsed by:716
Symbol 716 GraphicUses:715Used by:772
Symbol 717 BitmapUsed by:719
Symbol 718 BitmapUsed by:719
Symbol 719 GraphicUses:717 718 711Used by:772
Symbol 720 BitmapUsed by:721
Symbol 721 GraphicUses:720Used by:772
Symbol 722 BitmapUsed by:723
Symbol 723 GraphicUses:722Used by:772
Symbol 724 BitmapUsed by:725
Symbol 725 GraphicUses:724Used by:772
Symbol 726 BitmapUsed by:727
Symbol 727 GraphicUses:726Used by:772
Symbol 728 BitmapUsed by:729
Symbol 729 GraphicUses:728Used by:772
Symbol 730 BitmapUsed by:731
Symbol 731 GraphicUses:730Used by:772
Symbol 732 BitmapUsed by:733
Symbol 733 GraphicUses:732Used by:772
Symbol 734 BitmapUsed by:735
Symbol 735 GraphicUses:734Used by:772
Symbol 736 BitmapUsed by:737
Symbol 737 GraphicUses:736Used by:772
Symbol 738 BitmapUsed by:739
Symbol 739 GraphicUses:738Used by:772
Symbol 740 BitmapUsed by:741
Symbol 741 GraphicUses:740Used by:772
Symbol 742 BitmapUsed by:743
Symbol 743 GraphicUses:742Used by:772
Symbol 744 BitmapUsed by:745
Symbol 745 GraphicUses:744Used by:772
Symbol 746 BitmapUsed by:747
Symbol 747 GraphicUses:746Used by:772
Symbol 748 GraphicUsed by:772
Symbol 749 GraphicUsed by:772
Symbol 750 GraphicUsed by:772
Symbol 751 GraphicUsed by:772
Symbol 752 GraphicUsed by:772
Symbol 753 GraphicUsed by:772
Symbol 754 GraphicUsed by:772
Symbol 755 GraphicUsed by:772
Symbol 756 GraphicUsed by:772
Symbol 757 GraphicUsed by:772
Symbol 758 GraphicUsed by:772
Symbol 759 GraphicUsed by:772
Symbol 760 BitmapUsed by:761
Symbol 761 GraphicUses:760Used by:772
Symbol 762 GraphicUsed by:772
Symbol 763 GraphicUsed by:772
Symbol 764 BitmapUsed by:765
Symbol 765 GraphicUses:764Used by:772
Symbol 766 BitmapUsed by:767
Symbol 767 GraphicUses:766Used by:772
Symbol 768 BitmapUsed by:769
Symbol 769 GraphicUses:768Used by:772
Symbol 770 FontUsed by:771
Symbol 771 TextUses:770Used by:772
Symbol 772 MovieClip {com.homestarrunner.dangeresque.overlay.IntroOverlayScene}Uses:86 638 640 642 643 644 645 646 648 650 652 654 656 658 659 661 663 665 667 669 671 673 675 677 678 680 682 684 686 688 690 692 694 696 698 700 702 704 706 708 710 712 714 716 719 721 723 725 727 729 731 733 735 737 739 741 743 745 747 748 749 750 751 752 753 754 755 756 87 757 758 759 184 761 762 763 765 767 769 771 SS3
Symbol 773 BitmapUsed by:774
Symbol 774 GraphicUses:773Used by:803
Symbol 775 BitmapUsed by:776
Symbol 776 GraphicUses:775Used by:803
Symbol 777 BitmapUsed by:778
Symbol 778 GraphicUses:777Used by:803
Symbol 779 BitmapUsed by:780
Symbol 780 GraphicUses:779Used by:803
Symbol 781 BitmapUsed by:782
Symbol 782 GraphicUses:781Used by:803
Symbol 783 BitmapUsed by:784
Symbol 784 GraphicUses:783Used by:803
Symbol 785 BitmapUsed by:786
Symbol 786 GraphicUses:785Used by:803
Symbol 787 BitmapUsed by:788
Symbol 788 GraphicUses:787Used by:803
Symbol 789 BitmapUsed by:790
Symbol 790 GraphicUses:789Used by:803
Symbol 791 ShapeTweeningUsed by:803
Symbol 792 ShapeTweeningUsed by:803
Symbol 793 ShapeTweeningUsed by:803
Symbol 794 GraphicUsed by:803
Symbol 795 GraphicUsed by:803
Symbol 796 GraphicUsed by:803
Symbol 797 GraphicUsed by:803
Symbol 798 BitmapUsed by:799
Symbol 799 GraphicUses:798Used by:803
Symbol 800 ShapeTweeningUsed by:803
Symbol 801 BitmapUsed by:802
Symbol 802 GraphicUses:801Used by:803
Symbol 803 MovieClip {com.homestarrunner.dangeresque.overlay.EndGameJailScene}Uses:774 776 778 780 782 784 786 788 790 791 792 793 794 795 796 797 799 800 802 659 SS4
Symbol 804 BitmapUsed by:805
Symbol 805 GraphicUses:804Used by:806
Symbol 806 MovieClipUses:805Used by:821 822
Symbol 807 BitmapUsed by:808
Symbol 808 GraphicUses:807Used by:809
Symbol 809 MovieClipUses:808Used by:821 822
Symbol 810 BitmapUsed by:811
Symbol 811 GraphicUses:810Used by:812
Symbol 812 MovieClipUses:811Used by:821
Symbol 813 BitmapUsed by:814
Symbol 814 GraphicUses:813Used by:815
Symbol 815 MovieClip {com.homestarrunner.dangeresque.sprites.unsolved_stampdown}Uses:814Used by:821 822
Symbol 816 BitmapUsed by:817
Symbol 817 GraphicUses:816Used by:818
Symbol 818 MovieClip {com.homestarrunner.dangeresque.sprites.CasefileStampDragger}Uses:817Used by:821
Symbol 819 GraphicUsed by:820
Symbol 820 MovieClipUses:819Used by:821 822
Symbol 821 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayStampingScene}Uses:806 809 812 815 818 820
Symbol 822 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayScene}Uses:806 809 815 820
Symbol 823 BitmapUsed by:824
Symbol 824 GraphicUses:823Used by:827
Symbol 825 TextUses:16Used by:827
Symbol 826 TextUses:16Used by:827
Symbol 827 MovieClip {com.homestarrunner.dangeresque.overlay.InstructionsOverlayScene}Uses:824 825 826
Symbol 828 GraphicUsed by:872
Symbol 829 GraphicUsed by:872
Symbol 830 GraphicUsed by:872
Symbol 831 GraphicUsed by:872
Symbol 832 GraphicUsed by:872
Symbol 833 GraphicUsed by:872
Symbol 834 GraphicUsed by:872
Symbol 835 GraphicUsed by:872
Symbol 836 GraphicUsed by:872
Symbol 837 GraphicUsed by:872
Symbol 838 GraphicUsed by:872
Symbol 839 GraphicUsed by:872
Symbol 840 GraphicUsed by:872
Symbol 841 GraphicUsed by:872
Symbol 842 GraphicUsed by:872
Symbol 843 GraphicUsed by:872
Symbol 844 GraphicUsed by:872
Symbol 845 GraphicUsed by:872
Symbol 846 GraphicUsed by:872
Symbol 847 GraphicUsed by:872
Symbol 848 GraphicUsed by:872
Symbol 849 ShapeTweeningUsed by:872
Symbol 850 FontUsed by:851 852 855 856 859 860 863 864
Symbol 851 TextUses:850Used by:872
Symbol 852 TextUses:850Used by:872
Symbol 853 ShapeTweeningUsed by:872
Symbol 854 ShapeTweeningUsed by:872
Symbol 855 TextUses:850Used by:872
Symbol 856 TextUses:850Used by:872
Symbol 857 ShapeTweeningUsed by:872
Symbol 858 ShapeTweeningUsed by:872
Symbol 859 TextUses:850Used by:872
Symbol 860 TextUses:850Used by:872
Symbol 861 ShapeTweeningUsed by:872
Symbol 862 ShapeTweeningUsed by:872
Symbol 863 TextUses:850Used by:872
Symbol 864 TextUses:850Used by:872
Symbol 865 ShapeTweeningUsed by:872
Symbol 866 ShapeTweeningUsed by:872
Symbol 867 GraphicUsed by:872
Symbol 868 BitmapUsed by:869
Symbol 869 GraphicUses:868Used by:872
Symbol 870 GraphicUsed by:872
Symbol 871 GraphicUsed by:872
Symbol 872 MovieClip {com.homestarrunner.dangeresque.overlay.WingameOverlayScene}Uses:828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 851 852 659 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 869 870 871 SS5
Symbol 873 EditableTextUses:16Used by:876
Symbol 874 BitmapUsed by:875
Symbol 875 GraphicUses:874Used by:876
Symbol 876 MovieClip {com.homestarrunner.dangeresque.overlay.UndyingOverlayScene}Uses:86 873 875
Symbol 877 EditableTextUses:16Used by:884
Symbol 878 EditableTextUses:16Used by:884
Symbol 879 BitmapUsed by:880 882
Symbol 880 GraphicUses:879Used by:883
Symbol 881 BitmapUsed by:882
Symbol 882 GraphicUses:881 879Used by:883
Symbol 883 MovieClipUses:880 882Used by:884
Symbol 884 MovieClip {dangeresque_fla.interface_mc_2}Uses:146 877 878 883Used by:Timeline
Symbol 885 GraphicUsed by:Timeline
Streaming Sound 1Used by:Symbol 195 MovieClip {com.homestarrunner.dangeresque.rooms.props.PomPomAttackProp}
Streaming Sound 2Used by:Symbol 599 MovieClip
Streaming Sound 3Used by:Symbol 772 MovieClip {com.homestarrunner.dangeresque.overlay.IntroOverlayScene}
Streaming Sound 4Used by:Symbol 803 MovieClip {com.homestarrunner.dangeresque.overlay.EndGameJailScene}
Streaming Sound 5Used by:Symbol 872 MovieClip {com.homestarrunner.dangeresque.overlay.WingameOverlayScene}

Instance Names

"scene_mc"Frame 1Symbol 313 MovieClip
"interface_mc"Frame 1Symbol 884 MovieClip {dangeresque_fla.interface_mc_2}
"popupLayer_mc"Frame 1Symbol 313 MovieClip
"iconLayer_mc"Frame 1Symbol 313 MovieClip
"actionMenuBacker_mc"Symbol 148 MovieClip {com.homestarrunner.dangeresque.sprites.ActionMenuSprite} Frame 1Symbol 133 MovieClip
"actionMenu_look_btn"Symbol 148 MovieClip {com.homestarrunner.dangeresque.sprites.ActionMenuSprite} Frame 1Symbol 136 Button
"actionMenu_getuse_btn"Symbol 148 MovieClip {com.homestarrunner.dangeresque.sprites.ActionMenuSprite} Frame 1Symbol 139 Button
"actionMenu_talk_btn"Symbol 148 MovieClip {com.homestarrunner.dangeresque.sprites.ActionMenuSprite} Frame 1Symbol 142 Button
"_txt"Symbol 148 MovieClip {com.homestarrunner.dangeresque.sprites.ActionMenuSprite} Frame 1Symbol 143 EditableText
"close_btn"Symbol 148 MovieClip {com.homestarrunner.dangeresque.sprites.ActionMenuSprite} Frame 1Symbol 147 Button
"actableArea_mc"Symbol 208 MovieClip {com.homestarrunner.dangeresque.rooms.props.StampProp} Frame 1Symbol 201 MovieClip
"z_test_mc"Symbol 208 MovieClip {com.homestarrunner.dangeresque.rooms.props.StampProp} Frame 1Symbol 205 MovieClip
"actableArea_mc"Symbol 210 MovieClip {com.homestarrunner.dangeresque.rooms.props.MugProp} Frame 1Symbol 201 MovieClip
"z_test_mc"Symbol 210 MovieClip {com.homestarrunner.dangeresque.rooms.props.MugProp} Frame 1Symbol 205 MovieClip
"z_test_mc"Symbol 211 MovieClip {com.homestarrunner.dangeresque.rooms.props.TakeoutProp} Frame 1Symbol 205 MovieClip
"z_test_mc"Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp} Frame 1Symbol 205 MovieClip
"hotArea_mc"Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp} Frame 1Symbol 213 MovieClip
"z_test_mc"Symbol 226 MovieClip {com.homestarrunner.dangeresque.rooms.props.ChairProp} Frame 1Symbol 205 MovieClip
"z_test_mc"Symbol 229 MovieClip {com.homestarrunner.dangeresque.rooms.props.AshtrayProp} Frame 1Symbol 205 MovieClip
"actableArea_mc"Symbol 239 MovieClip {com.homestarrunner.dangeresque.rooms.props.SafeProp} Frame 1Symbol 201 MovieClip
"actableArea_mc"Symbol 253 MovieClip {com.homestarrunner.dangeresque.rooms.props.RugProp} Frame 1Symbol 201 MovieClip
"actableArea_mc"Symbol 268 MovieClip {com.homestarrunner.dangeresque.rooms.props.BlindsProp} Frame 1Symbol 201 MovieClip
"actableArea_mc"Symbol 275 MovieClip {com.homestarrunner.dangeresque.rooms.props.CasefileProp} Frame 1Symbol 201 MovieClip
"actableArea_mc"Symbol 286 MovieClip {com.homestarrunner.dangeresque.rooms.props.BizcardProp} Frame 1Symbol 201 MovieClip
"z_test_mc"Symbol 295 MovieClip {com.homestarrunner.dangeresque.rooms.props.DeskProp} Frame 1Symbol 205 MovieClip
"cardFlyer_mc"Symbol 539 MovieClip {dangeresque_fla.sb_chairspin_ani_65} Frame 12Symbol 538 MovieClip
"collide_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 1Symbol 205 MovieClip
"z_test_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 1Symbol 205 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 1Symbol 312 MovieClip {sbwalk_side}
"talkPoint_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 1Symbol 313 MovieClip
"hotArea_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 1Symbol 315 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 20Symbol 332 MovieClip {sbwalk_front}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 30Symbol 349 MovieClip {sbwalk_back}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 40Symbol 375 MovieClip {sbtalk_side}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 56Symbol 391 MovieClip {sbtalk_back}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 63Symbol 413 MovieClip {sbtalk_front}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 72Symbol 375 MovieClip {sbtalk_side}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 88Symbol 391 MovieClip {sbtalk_back}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 96Symbol 413 MovieClip {sbtalk_front}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 104Symbol 426 MovieClip {sbthink_side}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 120Symbol 437 MovieClip {sbthink_back}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 127Symbol 446 MovieClip {sbthink_front}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 136Symbol 459 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 143Symbol 472 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 158Symbol 487 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 165Symbol 498 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 171Symbol 459 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 178Symbol 518 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 186Symbol 472 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 204Symbol 529 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 211Symbol 535 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 220Symbol 539 MovieClip {dangeresque_fla.sb_chairspin_ani_65}
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 228Symbol 562 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 236Symbol 571 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 245Symbol 582 MovieClip
"subclip_mc"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 253Symbol 599 MovieClip
"hotArea_mc"Symbol 605 MovieClip {com.homestarrunner.dangeresque.rooms.props.LampProp} Frame 1Symbol 604 MovieClip
"talkPoint_mc"Symbol 607 MovieClip {com.homestarrunner.dangeresque.masterclips.OffscreenChiefMasterMovieClip} Frame 1Symbol 313 MovieClip
"casefile_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 275 MovieClip {com.homestarrunner.dangeresque.rooms.props.CasefileProp}
"blinds_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 268 MovieClip {com.homestarrunner.dangeresque.rooms.props.BlindsProp}
"bag_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 283 MovieClip {com.homestarrunner.dangeresque.rooms.props.VomitProp}
"rug_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 253 MovieClip {com.homestarrunner.dangeresque.rooms.props.RugProp}
"safeCode_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 248 MovieClip {com.homestarrunner.dangeresque.rooms.props.SafeCodeProp}
"switch_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 244 MovieClip {com.homestarrunner.dangeresque.rooms.props.SwitchProp}
"safe_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 239 MovieClip {com.homestarrunner.dangeresque.rooms.props.SafeProp}
"sauce_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 234 MovieClip {com.homestarrunner.dangeresque.rooms.props.SauceProp}
"camera_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 232 MovieClip {com.homestarrunner.dangeresque.rooms.props.CameraProp}
"bizcard_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 286 MovieClip {com.homestarrunner.dangeresque.rooms.props.BizcardProp}
"lightness_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 288 MovieClip
"walk_area_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 290 MovieClip
"desk_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 295 MovieClip {com.homestarrunner.dangeresque.rooms.props.DeskProp}
"ashtray_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 229 MovieClip {com.homestarrunner.dangeresque.rooms.props.AshtrayProp}
"chair_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 226 MovieClip {com.homestarrunner.dangeresque.rooms.props.ChairProp}
"door_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp}
"takeout_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 211 MovieClip {com.homestarrunner.dangeresque.rooms.props.TakeoutProp}
"mug_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 210 MovieClip {com.homestarrunner.dangeresque.rooms.props.MugProp}
"stamp_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 208 MovieClip {com.homestarrunner.dangeresque.rooms.props.StampProp}
"playerMarker_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip}
"phone_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 199 MovieClip {com.homestarrunner.dangeresque.rooms.props.PhoneBaseProp}
"lamp_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 605 MovieClip {com.homestarrunner.dangeresque.rooms.props.LampProp}
"pomPom_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 195 MovieClip {com.homestarrunner.dangeresque.rooms.props.PomPomAttackProp}
"darknessOverlay_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 152 MovieClip {com.homestarrunner.dangeresque.rooms.props.DarknessProp}
"chiefSpot_mc"Symbol 608 MovieClip {com.homestarrunner.dangeresque.rooms.Room_office} Frame 1Symbol 607 MovieClip {com.homestarrunner.dangeresque.masterclips.OffscreenChiefMasterMovieClip}
"talkBoxBack_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 613 MovieClip
"talkBoxTL_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 614 MovieClip
"talkBoxBL_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 614 MovieClip
"talkBoxL_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 615 MovieClip
"talkBoxTR_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 614 MovieClip
"talkBoxBR_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 614 MovieClip
"talkBoxR_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 615 MovieClip
"talkBoxT_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 616 MovieClip
"talkBoxB_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 616 MovieClip
"talkBoxMark_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 618 MovieClip
"_txt"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 619 EditableText
"more_mc"Symbol 620 MovieClip {com.homestarrunner.dangeresque.bubble.TalkBoxSymbol} Frame 1Symbol 20 MovieClip
"mask_mc"Symbol 626 MovieClip {dangeresque_fla.thinkBox_top_32} Frame 1Symbol 624 MovieClip
"talkBoxBack_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 613 MovieClip
"talkBoxBR_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 622 MovieClip
"talkBoxTR_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 622 MovieClip
"talkBoxTL_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 622 MovieClip
"talkBoxBL_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 622 MovieClip
"talkBoxB_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 626 MovieClip {dangeresque_fla.thinkBox_top_32}
"talkBoxT_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 626 MovieClip {dangeresque_fla.thinkBox_top_32}
"talkBoxL_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 626 MovieClip {dangeresque_fla.thinkBox_top_32}
"talkBoxR_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 626 MovieClip {dangeresque_fla.thinkBox_top_32}
"talkBoxMark_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 628 MovieClip
"_txt"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 629 EditableText
"more_mc"Symbol 630 MovieClip {com.homestarrunner.dangeresque.bubble.ThinkBoxSymbol} Frame 1Symbol 20 MovieClip
"check2_mc"Symbol 821 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayStampingScene} Frame 1Symbol 809 MovieClip
"check1_mc"Symbol 821 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayStampingScene} Frame 1Symbol 809 MovieClip
"check0_mc"Symbol 821 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayStampingScene} Frame 1Symbol 809 MovieClip
"aim_mc"Symbol 821 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayStampingScene} Frame 1Symbol 812 MovieClip
"stampedMark_mc"Symbol 821 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayStampingScene} Frame 1Symbol 815 MovieClip {com.homestarrunner.dangeresque.sprites.unsolved_stampdown}
"stamp_mc"Symbol 821 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayStampingScene} Frame 1Symbol 818 MovieClip {com.homestarrunner.dangeresque.sprites.CasefileStampDragger}
"casefileMask_mc"Symbol 821 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayStampingScene} Frame 1Symbol 820 MovieClip
"check2_mc"Symbol 822 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayScene} Frame 1Symbol 809 MovieClip
"check1_mc"Symbol 822 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayScene} Frame 1Symbol 809 MovieClip
"check0_mc"Symbol 822 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayScene} Frame 1Symbol 809 MovieClip
"stampedMark_mc"Symbol 822 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayScene} Frame 1Symbol 815 MovieClip {com.homestarrunner.dangeresque.sprites.unsolved_stampdown}
"casefileMask_mc"Symbol 822 MovieClip {com.homestarrunner.dangeresque.overlay.CasefileOverlayScene} Frame 1Symbol 820 MovieClip
"_txt"Symbol 876 MovieClip {com.homestarrunner.dangeresque.overlay.UndyingOverlayScene} Frame 1Symbol 873 EditableText
"score_txt"Symbol 884 MovieClip {dangeresque_fla.interface_mc_2} Frame 1Symbol 877 EditableText
"item_txt"Symbol 884 MovieClip {dangeresque_fla.interface_mc_2} Frame 1Symbol 878 EditableText
"inventory_icon_mc"Symbol 884 MovieClip {dangeresque_fla.interface_mc_2} Frame 1Symbol 883 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1216 bytes "<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns ..."

Labels

"startGameplay"Frame 1
"start"Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene} Frame 1
"line1_sb"Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene} Frame 10
"line2_sb"Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene} Frame 80
"line3_chief"Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene} Frame 215
"line4_chief"Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene} Frame 305
"line5_sb"Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene} Frame 425
"line6_chief"Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene} Frame 501
"line7_chief"Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene} Frame 595
"line8_sb"Symbol 42 MovieClip {com.homestarrunner.dangeresque.overlay.ConclusionThruglassOverlayScene} Frame 675
"noitem"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 1
"noitem_1"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 25
"noitem_2"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 73
"noitem_end"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 169
"mug"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 170
"mug_1"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 194
"mug_2"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 272
"mug_end"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 355
"stamp"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 356
"stamp_1"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 381
"stamp_2"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 432
"stamp_3"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 497
"stamp_end"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 562
"stamp_inked"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 563
"stamp_inked_1"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 587
"stamp_inked_2"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 640
"stamp_inked_3"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 700
"stamp_inked_end"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 776
"vomit"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 777
"vomit_1"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 804
"vomit_2"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 876
"vomit_end"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 947
"photo"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 948
"photo_1"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 974
"photo_2"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 1022
"photo_end"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 1085
"takeout"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 1086
"takeout_1"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 1112
"takeout_2"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 1181
"takeout_3"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 1293
"takeout_end"Symbol 90 MovieClip {com.homestarrunner.dangeresque.overlay.WindowPhotoOverlayScene} Frame 1331
"start"Symbol 195 MovieClip {com.homestarrunner.dangeresque.rooms.props.PomPomAttackProp} Frame 1
"end"Symbol 195 MovieClip {com.homestarrunner.dangeresque.rooms.props.PomPomAttackProp} Frame 108
"closed"Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp} Frame 1
"open"Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp} Frame 9
"slamStart"Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp} Frame 15
"slamEnd"Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp} Frame 17
"burstStart"Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp} Frame 21
"burstEnd"Symbol 223 MovieClip {com.homestarrunner.dangeresque.rooms.props.DoorProp} Frame 75
"endClose"Symbol 239 MovieClip {com.homestarrunner.dangeresque.rooms.props.SafeProp} Frame 1
"startOpen"Symbol 239 MovieClip {com.homestarrunner.dangeresque.rooms.props.SafeProp} Frame 2
"endOpen"Symbol 239 MovieClip {com.homestarrunner.dangeresque.rooms.props.SafeProp} Frame 3
"startClose"Symbol 239 MovieClip {com.homestarrunner.dangeresque.rooms.props.SafeProp} Frame 4
"on"Symbol 244 MovieClip {com.homestarrunner.dangeresque.rooms.props.SwitchProp} Frame 1
"off"Symbol 244 MovieClip {com.homestarrunner.dangeresque.rooms.props.SwitchProp} Frame 5
"startOpen"Symbol 253 MovieClip {com.homestarrunner.dangeresque.rooms.props.RugProp} Frame 4
"endOpen"Symbol 253 MovieClip {com.homestarrunner.dangeresque.rooms.props.RugProp} Frame 5
"startClose"Symbol 253 MovieClip {com.homestarrunner.dangeresque.rooms.props.RugProp} Frame 10
"endClose"Symbol 253 MovieClip {com.homestarrunner.dangeresque.rooms.props.RugProp} Frame 11
"startOpen"Symbol 268 MovieClip {com.homestarrunner.dangeresque.rooms.props.BlindsProp} Frame 1
"endOpen"Symbol 268 MovieClip {com.homestarrunner.dangeresque.rooms.props.BlindsProp} Frame 12
"startClose"Symbol 268 MovieClip {com.homestarrunner.dangeresque.rooms.props.BlindsProp} Frame 13
"endClose"Symbol 268 MovieClip {com.homestarrunner.dangeresque.rooms.props.BlindsProp} Frame 24
"startOpen"Symbol 295 MovieClip {com.homestarrunner.dangeresque.rooms.props.DeskProp} Frame 4
"endOpen"Symbol 295 MovieClip {com.homestarrunner.dangeresque.rooms.props.DeskProp} Frame 6
"startClose"Symbol 295 MovieClip {com.homestarrunner.dangeresque.rooms.props.DeskProp} Frame 14
"endClose"Symbol 295 MovieClip {com.homestarrunner.dangeresque.rooms.props.DeskProp} Frame 16
"doneThink"Symbol 426 MovieClip {sbthink_side} Frame 11
"doneThink"Symbol 437 MovieClip {sbthink_back} Frame 11
"doneThink"Symbol 446 MovieClip {sbthink_front} Frame 9
"start"Symbol 459 MovieClip Frame 1
"end"Symbol 459 MovieClip Frame 14
"start"Symbol 472 MovieClip Frame 1
"end"Symbol 472 MovieClip Frame 26
"jumpStart"Symbol 487 MovieClip Frame 1
"fistStrike"Symbol 487 MovieClip Frame 14
"downStart"Symbol 487 MovieClip Frame 18
"end"Symbol 487 MovieClip Frame 30
"start"Symbol 498 MovieClip Frame 1
"endPlace"Symbol 498 MovieClip Frame 10
"startEnd"Symbol 498 MovieClip Frame 13
"end"Symbol 498 MovieClip Frame 22
"start"Symbol 529 MovieClip Frame 1
"midAir"Symbol 529 MovieClip Frame 12
"end"Symbol 529 MovieClip Frame 20
"start"Symbol 535 MovieClip Frame 1
"preSpin"Symbol 535 MovieClip Frame 11
"spinStart"Symbol 535 MovieClip Frame 12
"preLeave"Symbol 535 MovieClip Frame 100
"startChairOut"Symbol 535 MovieClip Frame 101
"end"Symbol 535 MovieClip Frame 108
"start"Symbol 539 MovieClip {dangeresque_fla.sb_chairspin_ani_65} Frame 1
"preSpin"Symbol 539 MovieClip {dangeresque_fla.sb_chairspin_ani_65} Frame 11
"spinStart"Symbol 539 MovieClip {dangeresque_fla.sb_chairspin_ani_65} Frame 12
"preLeave"Symbol 539 MovieClip {dangeresque_fla.sb_chairspin_ani_65} Frame 100
"startChairOut"Symbol 539 MovieClip {dangeresque_fla.sb_chairspin_ani_65} Frame 101
"end"Symbol 539 MovieClip {dangeresque_fla.sb_chairspin_ani_65} Frame 108
"start"Symbol 562 MovieClip Frame 1
"end"Symbol 562 MovieClip Frame 67
"start"Symbol 571 MovieClip Frame 1
"end"Symbol 571 MovieClip Frame 35
"start"Symbol 582 MovieClip Frame 1
"end"Symbol 582 MovieClip Frame 42
"start"Symbol 599 MovieClip Frame 1
"end"Symbol 599 MovieClip Frame 129
"walk_r"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 1
"walk_l"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 10
"walk_d"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 20
"walk_u"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 30
"talk_l"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 40
"talk_r"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 49
"talk_u"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 56
"talk_d"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 63
"stop_l"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 72
"stop_r"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 80
"stop_u"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 88
"stop_d"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 96
"think_l"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 104
"think_r"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 113
"think_u"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 120
"think_d"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 127
"put_r"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 136
"reach_r"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 143
"reach_l"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 150
"jumpSlam"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 158
"put_u"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 165
"put_l"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 171
"phonetalk"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 178
"puthigh_l"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 186
"puthigh_r"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 196
"jump_u"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 204
"chairspin"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 211
"chairspin_withcard"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 220
"puke"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 228
"drink_coffee"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 236
"eat_takeout"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 245
"swat_death"Symbol 600 MovieClip {com.homestarrunner.dangeresque.masterclips.PlayerMasterMovieClip} Frame 253
"surprised"Symbol 633 MovieClip Frame 39
"closed"Symbol 883 MovieClip Frame 1
"open"Symbol 883 MovieClip Frame 6




http://swfchan.com/11/50789/info.shtml
Created: 25/4 -2019 22:58:10 Last modified: 25/4 -2019 22:58:10 Server time: 25/04 -2024 16:51:21