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