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

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM59273268-17DC&rnd=59273268" width="1" height="1"></div>

armorgames final-ninja-zero-5966.swf

This is the info page for
Flash #263149

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


Text
LOADING 0%

SKIP

LEVEL SELECT

LEVEL SELECT

NEXT LEVEL

NEXT LEVEL

TRY AGAIN

TRY AGAIN

SUBMIT SCORE

SUBMIT SCORE

QUIT

QUIT

CONTINUE

CONTINUE

PLAY

PLAY

SCORES

SCORES

CREDITS

CREDITS

HELP

HELP

BACK

BACK

PLAY

PLAY

<p align="right"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">0</font></p>

LEVEL COMPLETE

LEVEL SCORE

TOTAL SCORE

PRESS 'SPACE' TO
CONTINUE

<p align="left"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">MSG BONUS (0/0)</font></p>

DODGE BONUS

<p align="left"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">CASH BONUS (0/0)</font></p>

<p align="left"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">HUNT BONUS (0/0)</font></p>

GAME OVER

TOTAL SCORE

PRESS 'SPACE' TO
TRY AGAIN

<p align="left"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">MSG BONUS (0/0)</font></p>

<p align="left"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">CASH BONUS (0/0)</font></p>

<p align="left"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">HUNT BONUS (0/0)</font></p>

PAUSED

THE GAME IS
'PAUSED'

<p align="center"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">CASH: 0/0</font></p>

<p align="center"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">MSG: 0/0</font></p>

<p align="center"><font face="FFF Estudio Extended_8pt_st" size="8" color="#838383" letterSpacing="0.000000" kerning="1">ENEMIES: 0/0</font></p>

W

S

D

A

USE THE ARROW KEYS OR W, A, S, D, TO MOVE
THROUGH THE GAME. USE LEFT (A) AND RIGHT
(D) TO RUN. PRESS UP (W) TO JUMP.

D

A

W

CLICK WITH THE MOUSE TO THROW A NINJA
STAR TO KILL ENEMIES. CLICK AND HOLD TO
SHOOT OUT A ROPE YOU CAN SWING FROM AND
CLIMB UP WITH.

WHEN HANGING FROM THE ROPE, USE UP (W)
TO CLIMB UP, AND DOWN (D) TO CLIMB DOWN.
USE LEFT (A) AND RIGHT (D) TO SWING
EACH WAY.

YOU WILL AUTOMATICALLY JUMP UP WHEN GET
TO THE TOP OF YOUR ROPE. USE THIS ABILITY TO
CLIMB UP LEDGES AND TALL BUILDINGS.

PRESS TOWARDS A WALL WHEN FALLING TO
BEGIN A WALL SLIDE. THEN PRESS AWAY FROM
THE WALL TO DO A WALL JUMP. PRESS DOWN (S)
TO CANCEL A WALL SLIDE.

S

HOLD DOWN (S) TO ENTER STEALTH MODE. USE
YOUR INVISIBILITY TO SNEAK PAST ENEMIES AND
TRIP WIRES. YOU CANNOT STEALTH WHILST THE
ALARM IS ACTIVE OR WHEN HURT.

HELP

100.

NAME

280000

NEXT

NEXT

PREVIOUS

PREVIOUS

LOADING

SCORES ARE
AVAILABLE AT
NITROME.COM

CLICK TO PLAY
AT NITROME.COM

SUBMIT

SUBMIT

CLEAR

CLEAR

A

YOUR SCORE IS 280000

This game has been URL-Locked!
If you are reading this message then this
version of the game has been stolen and
hosted on a site without the prior permission
of Nitrome!
For licencing information please contact: enquiries@nitrome.com

COVER

ELECTRIC
FINISH

01: SOMEWHERE

Free Games AND ShowS

CREDITS

DAVE COWEN

AARON STEED

SIMON HUNTER

ARTWORK

PROGRAMMING

MUSIC

GAME BY NITROME
WWW.NITROME.COM

HELP

CHOOSE LEVEL

CASH RATING (0/0)

BAD

MSG RATING (0/0)

BAD

HUNT RATING (0/0)

BAD

YOUR TOTAL SCORE IS 29000000

DODGE RATING (0/0)

BAD

WELL DONE!

00000000

danger

dsadfasfasdfasdfasdfasdfasfasdfasdfasdfasdfasdfasfasdfasdfasfasdfasdfasdfasdfasfasfasfasfasfasdfasfasfasfasdfasdfasdfasdfasdfasdfasdfasdfas

LOADING

test

ActionScript [AS3]

Section 1
//Actor (com.nitrome.engine.Actor) package com.nitrome.engine { import flash.display.*; public class Actor extends Clip { public var active:Boolean; public var all_collision:Boolean; public var electrocuted:Boolean; public var collision_rect:Rect; public var free:Boolean; public var x:Number; public var y:Number; public function Actor(_arg1:Sprite, _arg2:Game, _arg3:Boolean){ super(_arg1, _arg2); this.free = _arg3; actor = true; x = _arg1.x; y = _arg1.y; active = true; all_collision = false; electrocuted = false; _arg2.addActor(this); } override public function remove():void{ var _local1:int; var _local2:int; if (forced){ return; }; if (active){ active = false; if (!free){ g.scroller.map_array_layers[layer][init_y][init_x] = tile_id; } else { _local1 = ((x * Game.SCALE) >> 0); _local2 = ((y * Game.SCALE) >> 0); if ((((g.scroller.map_array_layers[layer][_local2][_local1] == 0)) || ((g.scroller.map_array_layers[layer][_local2][_local1] == null)))){ g.scroller.map_array_layers[layer][_local2][_local1] = tile_id; } else { g.scroller.map_array_layers[layer][init_y][init_x] = tile_id; }; }; }; } public function contains(_arg1:Number, _arg2:Number):Boolean{ return (false); } public function intersects(_arg1:Rect):Boolean{ return (false); } public function resolveBulletCollision(_arg1):void{ } public function resolveEncounterCollision(_arg1):void{ } public function debug():void{ } public function alert():void{ } public function unpause():void{ } public function standdown():void{ } } }//package com.nitrome.engine
Section 2
//Clip (com.nitrome.engine.Clip) package com.nitrome.engine { import flash.display.*; public class Clip { public var init_x:int; public var init_y:int; public var block:Boolean;// = false public var layer:int; public var tile_id:String; public var map_x:int; public var mc:Sprite; public var forced:Boolean;// = false public var map_y:int; public var g:Game; public var force_field:Boolean;// = false public var encounter:Boolean;// = false public var actor:Boolean;// = false public var id_tag:int;// = -1 public function Clip(_arg1:Sprite, _arg2:Game){ block = false; force_field = false; encounter = false; actor = false; forced = false; id_tag = -1; super(); this.mc = _arg1; this.g = _arg2; } public function remove():void{ if (forced){ return; }; if (mc.parent != null){ mc.parent.removeChild(mc); }; g.scroller.map_array_layers[layer][map_y][map_x] = tile_id; } } }//package com.nitrome.engine
Section 3
//Dot (com.nitrome.engine.Dot) package com.nitrome.engine { public class Dot { public var ix:Number; public var iy:Number; public var x:Number; public var y:Number; public function Dot(_arg1:Number=0, _arg2:Number=0){ this.x = (ix = _arg1); this.y = (iy = _arg2); } public function mul(_arg1:Number){ x = (x * _arg1); y = (y * _arg1); } public function toString():String{ return ((((("(" + x) + ",") + y) + ")")); } public function pin():void{ x = ix; y = iy; } } }//package com.nitrome.engine
Section 4
//Encounter (com.nitrome.engine.Encounter) package com.nitrome.engine { import flash.display.*; import com.nitrome.engine_specific.*; public class Encounter extends Clip { public var active:Boolean; public var aggressive:Boolean;// = false public var kill_on_collision:Boolean; public var actor_target:Boolean;// = true public var on_scroller:Boolean;// = false public var reward:HiddenInt; public var has_main:Boolean; public var has_collision:Boolean; public var spawned:Boolean;// = false public var free:Boolean; public var x:Number; public var y:Number; public var skip:Boolean; public function Encounter(_arg1:Sprite, _arg2:Game, _arg3:Boolean){ spawned = false; aggressive = false; actor_target = true; on_scroller = false; super(_arg1, _arg2); this.free = _arg3; encounter = true; x = _arg1.x; y = _arg1.y; active = true; has_main = false; has_collision = true; kill_on_collision = false; skip = false; _arg2.addEncounter(this); } override public function remove():void{ var _local1:int; var _local2:int; if (forced){ return; }; if (active){ active = false; if (!free){ g.scroller.map_array_layers[layer][init_y][init_x] = tile_id; } else { _local1 = ((x * Game.SCALE) >> 0); _local2 = ((y * Game.SCALE) >> 0); if ((((g.scroller.map_array_layers[layer][_local2][_local1] == 0)) || ((g.scroller.map_array_layers[layer][_local2][_local1] == null)))){ g.scroller.map_array_layers[layer][_local2][_local1] = tile_id; } else { g.scroller.map_array_layers[layer][init_y][init_x] = tile_id; }; }; }; } public function standdown():void{ } public function contains(_arg1:Number, _arg2:Number):Boolean{ return (false); } public function intersects(_arg1:Rect):Boolean{ return (false); } public function resolvePlayerCollision(_arg1:Player):void{ } public function alert():void{ } public function debug():void{ } public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ } public function unpause():void{ } } }//package com.nitrome.engine
Section 5
//HiddenInt (com.nitrome.engine.HiddenInt) package com.nitrome.engine { public class HiddenInt { private var _value:int; private var r:int; public function HiddenInt(_arg1:int=0){ r = (int((Math.random() * 2000000)) - 1000000); _value = (r + _arg1); } public function get value():int{ return ((_value - r)); } public function set value(_arg1:int):void{ r = (int((Math.random() * 2000000)) - 1000000); _value = (r + _arg1); } } }//package com.nitrome.engine
Section 6
//Line (com.nitrome.engine.Line) package com.nitrome.engine { import flash.display.*; public class Line { public var vy:Number; public var vx:Number; public var ly:Number; public var ry:Number; public var lx:Number; public var dx:Number; public var rx:Number; public var len:Number; public var theta:Number; public var a:Dot; public var b:Dot; public var dy:Number; public function Line(_arg1:Dot, _arg2:Dot){ this.a = _arg1; this.b = _arg2; updateLine(); } public function atan2():Number{ theta = Math.atan2(vy, vx); return (theta); } public function rotateB(_arg1:Number):void{ _arg1 = (_arg1 + atan2()); theta = _arg1; a.x = (b.x + (Math.cos(_arg1) * len)); a.y = (b.y + (Math.sin(_arg1) * len)); updateLine(); } public function proximity(_arg1:Number, _arg2:Number, _arg3:Number){ var _local4:Dot; var _local5:Line; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:*; _local4 = new Dot(_arg1, _arg2); _local5 = this; _local6 = (_local4.x - a.x); _local7 = (_local4.y - a.y); _local8 = dot(_local5, _local5); _local9 = ((_local6 * _local5.vx) + (_local7 * _local5.vy)); if (_local9 < 0){ if (Util.proximity(a.x, a.y, _local4.x, _local4.y, _arg3)){ return (true); }; } else { if (_local9 > _local8){ if (Util.proximity(b.x, b.y, _local4.x, _local4.y, _arg3)){ return (true); }; } else { if ((((_local9 >= 0)) && ((_local9 <= _local8)))){ _local10 = ((_local6 * -(_local5.lx)) + (_local7 * -(_local5.ly))); _local11 = (_local10 * _local5.lx); _local12 = (_local10 * _local5.ly); _local13 = ((_local11 * _local11) + (_local12 * _local12)); if (((_arg3 * _arg3) - _local13) >= 0){ return (true); }; }; }; }; return (false); } public function draw(_arg1:Graphics):void{ _arg1.moveTo(a.x, a.y); _arg1.lineTo(b.x, b.y); } public function updateLine():void{ vx = (b.x - a.x); vy = (b.y - a.y); len = Math.sqrt(((vx * vx) + (vy * vy))); if (len > 0){ dx = (vx / len); dy = (vy / len); } else { dx = 0; dy = 0; }; rx = -(dy); ry = dx; lx = dy; ly = -(dx); } public function copy():Line{ return (new Line(new Dot(a.x, a.y), new Dot(b.x, b.y))); } public function lerp(_arg1:Number):Object{ return ({x:(b.x + ((a.x - b.x) * _arg1)), y:(b.y + ((a.y - b.y) * _arg1))}); } public function toString():String{ return ((((((((("a:(" + a.x) + ",") + a.y) + ") b:(") + b.x) + ",") + b.y) + ")")); } public function rotateA(_arg1:Number):void{ _arg1 = (_arg1 + atan2()); theta = _arg1; b.x = (a.x + (Math.cos(_arg1) * len)); b.y = (a.y + (Math.sin(_arg1) * len)); updateLine(); } public static function perP(_arg1:Object, _arg2:Object):Number{ var _local3:*; _local3 = ((_arg1.vx * _arg2.vy) - (_arg1.vy * _arg2.vx)); return (_local3); } public static function intersects(_arg1:Object, _arg2:Object):Boolean{ var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; _local3 = {vx:(_arg2.a.x - _arg1.a.x), vy:(_arg2.a.y - _arg1.a.y)}; _local4 = perP(_local3, _arg2); _local5 = perP(_arg1, _arg2); _local6 = (_local4 / _local5); _local7 = (_local5 / _local4); return ((((((((_local6 >= 0)) && ((_local6 <= 1)))) && ((_local7 >= 0)))) && ((_local7 <= 1)))); } public static function intersectionPoint(_arg1:Object, _arg2:Object):Object{ var _local3:*; var _local4:*; var _local5:*; _local3 = {vx:(_arg2.a.x - _arg1.a.x), vy:(_arg2.a.y - _arg1.a.y)}; _local4 = (perP(_local3, _arg2) / perP(_arg1, _arg2)); _local5 = {}; _local5.x = (_arg1.a.x + (_arg1.vx * _local4)); _local5.y = (_arg1.a.y + (_arg1.vy * _local4)); return (_local5); } public static function dot(_arg1:Object, _arg2:Object):Number{ return (((_arg1.vx * _arg2.vx) + (_arg1.vy * _arg2.vy))); } public static function miniPerP(_arg1:Object, _arg2:Object):Number{ var _local3:*; _local3 = ((_arg1.dx * _arg2.dy) - (_arg1.dy * _arg2.dx)); return (_local3); } public static function normal(_arg1:Object, _arg2:Object):Object{ var _local3:*; var _local4:*; _local3 = {x:(_arg1.x - _arg2.x), y:(_arg1.y - _arg2.y)}; _local4 = _local3.length; _local3.x = (_local3.x / _local4); _local3.y = (_local3.y / _local4); return (_local3); } public static function projection(_arg1:Line, _arg2:Line):Line{ var _local3:*; _local3 = Line.dot(_arg1, _arg2); return (new Line(new Dot(0, 0), new Dot((_arg1.dx * _local3), (_arg1.dy * _local3)))); } } }//package com.nitrome.engine
Section 7
//LZW (com.nitrome.engine.LZW) package com.nitrome.engine { public class LZW { private static var xmlsafe:Boolean = true; public function denumerate(_arg1:String):String{ var _local2:Array; var _local3:String; var _local4:int; _local2 = _arg1.split(","); _local3 = ""; _local4 = 0; while (_local4 < _local2.length) { _local3 = (_local3 + String.fromCharCode(parseInt(_local2[_local4], 16))); _local4++; }; return (_local3); } public function compress(_arg1:String):String{ var _local2:Array; var _local3:Number; var _local4:Number; var _local5:String; var _local6:String; var _local7:Array; var _local8:Number; var _local9:Number; var _local10:String; var _local11:String; _local2 = []; _local3 = (xmlsafe) ? 5 : 0; _local4 = 0; while (_local4 < 0x0100) { _local2[String.fromCharCode(_local4)] = _local4; _local4++; }; if (xmlsafe){ _local2["<"] = 0x0100; _local2[">"] = 0x0101; _local2["&"] = 258; _local2["\""] = 259; _local2["'"] = 260; }; _local5 = ""; _local6 = _arg1; _local7 = _local6.split(""); _local8 = _local7.length; _local9 = (0x0100 + _local3); _local10 = ""; _local4 = 0; while (_local4 <= _local8) { _local11 = _local7[_local4]; if (_local2[(_local10 + _local11)] !== undefined){ _local10 = (_local10 + _local11); } else { _local5 = (_local5 + String.fromCharCode(_local2[_local10])); _local2[(_local10 + _local11)] = _local9; _local9++; _local10 = _local11; }; _local4++; }; return (_local5); } public function decompress(_arg1:String):String{ var _local2:Array; var _local3:Number; var _local4:Number; var _local5:String; var _local6:Array; var _local7:Number; var _local8:Number; var _local9:String; var _local10:String; var _local11:String; var _local12:String; var _local13:Number; var _local14:String; _local2 = []; _local3 = (xmlsafe) ? 5 : 0; _local4 = 0; while (_local4 < 0x0100) { _local12 = String.fromCharCode(_local4); _local2[_local4] = _local12; _local4++; }; if (xmlsafe){ _local2[0x0100] = "<"; _local2[0x0101] = ">"; _local2[258] = "&"; _local2[259] = "\""; _local2[260] = "'"; }; _local5 = _arg1; _local6 = _local5.split(""); _local7 = _local6.length; _local8 = (0x0100 + _local3); _local9 = ""; _local10 = ""; _local11 = ""; _local4 = 0; while (_local4 < _local7) { _local13 = _local5.charCodeAt(_local4); _local14 = _local2[_local13]; if (_local9 == ""){ _local9 = _local14; _local11 = (_local11 + _local14); } else { if (_local13 <= (0xFF + _local3)){ _local11 = (_local11 + _local14); _local10 = (_local9 + _local14); _local2[_local8] = _local10; _local8++; _local9 = _local14; } else { _local10 = _local2[_local13]; if (_local10 == null){ _local10 = (_local9 + _local9.slice(0, 1)); }; _local11 = (_local11 + _local10); _local2[_local8] = (_local9 + _local10.slice(0, 1)); _local8++; _local9 = _local10; }; }; _local4++; }; return (_local11); } public function numerate(_arg1:String):String{ var _local2:Array; var _local3:int; _local2 = _arg1.split(""); _local3 = 0; while (_local3 < _local2.length) { _local2[_local3] = _local2[_local3].charCodeAt(0); _local2[_local3] = _local2[_local3].toString(16); _local3++; }; return (_local2.toString()); } } }//package com.nitrome.engine
Section 8
//Particle (com.nitrome.engine.Particle) package com.nitrome.engine { public class Particle extends Dot { public var px:Number; public var py:Number; public var temp_x:Number; public var temp_y:Number; public function Particle(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); px = (temp_x = _arg1); py = (temp_y = _arg2); } override public function pin():void{ x = (px = (temp_x = ix)); y = (py = (temp_y = iy)); } public function speed():Number{ return (Math.sqrt((((x - px) * (x - px)) + ((y - py) * (y - py))))); } public function verlet(_arg1:Number, _arg2:Number, _arg3:Number):void{ temp_x = x; temp_y = y; x = (x + ((_arg3 * (x - px)) + _arg1)); y = (y + ((_arg3 * (y - py)) + _arg2)); px = temp_x; py = temp_y; } public function reverse(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = (px - x); _local3 = (py - y); addVelocity((_local2 * _arg1), (_local3 * _arg1)); } public function addVelocity(_arg1:Number, _arg2:Number):void{ px = (px - _arg1); py = (py - _arg2); } public function xspeed():Number{ return ((x - px)); } public function getLine():Line{ return (new Line(new Dot(px, py), this)); } public function setPosition(_arg1:Number, _arg2:Number):void{ this.x = (px = (temp_x = (ix = _arg1))); this.y = (py = (temp_y = (iy = _arg2))); } override public function toString():String{ return (((((((("(" + x) + ",") + y) + ") ") + x) + ",") + y)); } public function yspeed():Number{ return ((y - py)); } public function copy():Particle{ var _local1:*; _local1 = new Particle(x, y); _local1.px = px; _local1.py = py; return (_local1); } public function pinTo(_arg1:Number, _arg2:Number):void{ this.x = (ix = (px = (temp_x = _arg1))); this.y = (iy = (py = (temp_y = _arg2))); } } }//package com.nitrome.engine
Section 9
//Rect (com.nitrome.engine.Rect) package com.nitrome.engine { import flash.display.*; public class Rect { public var width:Number; public var height:Number; public var cx:Number; public var cy:Number; public var x:Number; public var y:Number; public static const DOWN:int = 4; public static const LEFT:int = 8; public static const TEMP:int = 16; public static const UP:int = 1; public static const RIGHT:int = 2; public function Rect(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){ this.x = _arg1; this.y = _arg2; this.width = _arg3; this.height = _arg4; } public function draw(_arg1:Graphics):void{ _arg1.drawRect(x, y, width, height); } public function getCorners(_arg1:Array):Array{ _arg1[0].x = x; _arg1[0].y = y; _arg1[1].x = ((x + width) - 1); _arg1[1].y = y; _arg1[2].x = ((x + width) - 1); _arg1[2].y = ((y + height) - 1); _arg1[3].x = x; _arg1[3].y = ((y + height) - 1); return (_arg1); } public function intersection(_arg1:Rect):Rect{ return (new Rect(Math.max(x, _arg1.x), Math.max(y, _arg1.y), Math.abs((Math.max(x, _arg1.x) - Math.min((x + width), (_arg1.x + _arg1.width)))), Math.abs((Math.max(y, _arg1.y) - Math.min((y + height), (_arg1.y + _arg1.height)))))); } public function sideOf(_arg1:Number, _arg2:Number):int{ var _local3:Number; var _local4:Number; cx = (this.x + (width * 0.5)); cy = (this.y + (height * 0.5)); if ((((_arg1 == cx)) && ((_arg2 == cy)))){ return (2); }; _local3 = (_arg1 - cx); _local4 = (_arg2 - cy); if ((((((_arg1 > cx)) && ((_arg2 > cy)))) && ((Math.abs(_local4) < Math.abs(_local3))))){ return (2); }; if ((((((_arg1 > cx)) && ((_arg2 > cy)))) && ((Math.abs(_local4) > Math.abs(_local3))))){ return (4); }; if ((((((_arg1 < cx)) && ((_arg2 > cy)))) && ((Math.abs(_local4) > Math.abs(_local3))))){ return (4); }; if ((((((_arg1 < cx)) && ((_arg2 > cy)))) && ((Math.abs(_local4) < Math.abs(_local3))))){ return (8); }; if ((((((_arg1 < cx)) && ((_arg2 < cy)))) && ((Math.abs(_local4) < Math.abs(_local3))))){ return (8); }; if ((((((_arg1 < cx)) && ((_arg2 < cy)))) && ((Math.abs(_local4) > Math.abs(_local3))))){ return (1); }; if ((((((_arg1 > cx)) && ((_arg2 < cy)))) && ((Math.abs(_local4) > Math.abs(_local3))))){ return (1); }; if ((((((_arg1 > cx)) && ((_arg2 < cy)))) && ((Math.abs(_local4) < Math.abs(_local3))))){ return (2); }; if ((((_arg2 == cy)) && ((_arg1 > cx)))){ return (2); }; if ((((_arg1 == cx)) && ((_arg2 > cy)))){ return (4); }; if ((((_arg2 == cy)) && ((_arg1 < cx)))){ return (8); }; if ((((_arg1 == cx)) && ((_arg2 < cy)))){ return (1); }; if ((((_local3 == Math.abs(_local3))) && ((_local4 == -(Math.abs(_local4)))))){ return (2); }; if ((((_local4 == Math.abs(_local4))) && ((_local3 == Math.abs(_local3))))){ return (4); }; if ((((_local4 == Math.abs(_local4))) && ((_local3 == -(Math.abs(_local3)))))){ return (8); }; if ((((_local4 == -(Math.abs(_local4)))) && ((_local3 == -(Math.abs(_local3)))))){ return (1); }; return (0); } public function contains(_arg1:Number, _arg2:Number):Boolean{ return ((((((((_arg1 >= this.x)) && ((_arg2 >= this.y)))) && ((_arg1 < (this.x + width))))) && ((_arg2 < (this.y + height))))); } public function intersectsCircle(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ var _local4:Number; var _local5:Number; _local4 = _arg1; _local5 = _arg2; if (_local4 < x){ _local4 = x; }; if (_local4 > ((x + width) - 1)){ _local4 = ((x + width) - 1); }; if (_local5 < y){ _local5 = y; }; if (_local5 > ((y + height) - 1)){ _local5 = ((y + height) - 1); }; return (((((_arg1 - _local4) * (_arg1 - _local4)) + ((_arg2 - _local5) * (_arg2 - _local5))) < (_arg3 * _arg3))); } public function toString():String{ return ((((((((("(x:" + x) + " y:") + y) + " width:") + width) + " height:") + height) + ")")); } public function resize(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ this.x = _arg1; this.y = _arg2; this.width = _arg3; this.height = _arg4; } public function intersects(_arg1:Rect):Boolean{ return (!((((((((this.x > (_arg1.x + (_arg1.width - 1)))) || (((this.x + (this.width - 1)) < _arg1.x)))) || ((this.y > (_arg1.y + (_arg1.height - 1)))))) || (((this.y + (this.height - 1)) < _arg1.y))))); } public function inside(_arg1:Rect){ return (((((((((x + (width - 1)) < (_arg1.x + _arg1.width))) && (((y + (height - 1)) < (_arg1.y + _arg1.height))))) && ((x >= _arg1.x)))) && ((y >= _arg1.y)))); } public static function boundingBox(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Rect{ return (new Rect(Math.min(_arg1, _arg3), Math.min(_arg2, _arg4), Math.abs((_arg1 - _arg3)), Math.abs((_arg2 - _arg4)))); } public static function oppositeSide(_arg1:Number):Number{ if (_arg1 == UP){ return (DOWN); }; if (_arg1 == RIGHT){ return (LEFT); }; if (_arg1 == DOWN){ return (UP); }; if (_arg1 == LEFT){ return (RIGHT); }; return (0); } } }//package com.nitrome.engine
Section 10
//Scroller (com.nitrome.engine.Scroller) package com.nitrome.engine { import flash.display.*; import com.nitrome.engine_specific.*; public class Scroller { public var map_rows_layers:Array; public var tile_layers_behind:Array; public var current_layer:int; public var tiles_height:int; public var signage:Array; public var border_x:Array; public var border_y:Array; public var height:int; public var SCALE:Number; public var master_layer:int; public var layers:int; public var stage_width:int; public var map_cols_index:Array; public var scale:Number; public var update_layer:Array; public var tile_holder:Sprite; public var tile_maker:TileMaker; public var gfx:Boolean; public var tiles:Sprite; public var scroll_x:Boolean; public var scroll_y:Boolean; public var stage_height:int; public var tiles_width:int; public var scroll_bottomright_x:int; public var scroll_bottomright_y:int; public var map_rows_index:Array; public var map_array:Array; public var width:int; public var gfx_layers:Array; public var last_stage_x:int; public var last_stage_y:int; public var map_rows_index_layers:Array; public var map_rows:Array; public var scroll_topleft_x:int; public var scroll_topleft_y:int; public var map_rect:Rect; public var map_array_layers:Array; public var tile_layers:Array; public var map_cols_index_layers:Array; public var stage:Sprite; public static const VERT:int = 2; public static const ENCOUNTER_LAYER:int = 2; public static const HORIZ:int = 1; public static const BLOCK_LAYER:int = 1; public function Scroller(_arg1:Game, _arg2:Sprite, _arg3:Sprite, _arg4:Number, _arg5:int, _arg6:int, _arg7:int, _arg8:int){ this.stage = _arg2; this.tile_holder = _arg3; this.scale = _arg4; SCALE = (1 / _arg4); this.width = _arg5; this.height = _arg6; this.stage_width = _arg7; this.stage_height = _arg8; tile_maker = new TileMaker(_arg1, this); scroll_x = true; scroll_y = true; gfx_layers = []; gfx = false; border_x = new Array(1, 3, 3, 1); border_y = new Array(1, 3, 3, 1); tiles_width = Math.ceil((_arg7 / _arg4)); tiles_height = Math.ceil((_arg8 / _arg4)); tile_layers = []; tile_layers_behind = []; map_array_layers = []; map_rows_layers = []; map_rows_index_layers = []; map_cols_index_layers = []; update_layer = []; current_layer = 0; layers = 0; master_layer = BLOCK_LAYER; scroll_topleft_x = 0; scroll_topleft_y = 0; scroll_bottomright_x = 0; scroll_bottomright_y = 0; map_rect = new Rect(0, 0, (_arg5 * _arg4), (_arg6 * _arg4)); } protected function pushCol(_arg1:Number):void{ var _local2:int; map_cols_index.push(_arg1); _local2 = 0; while (_local2 < map_rows_index.length) { map_rows[_local2].push(tile_maker.mapElement(_arg1, (_local2 + map_rows_index[0]))); _local2++; }; } public function renderScrollLayer(_arg1:int, _arg2:int):void{ var _local3:int; var _local4:int; changeLayer(_arg1); tiles = new Sprite(); _local3 = 0; while (_local3 < height) { _local4 = 0; while (_local4 < width) { tile_maker.mapElement(_local4, _local3); _local4++; }; _local3++; }; if (_arg2 == HORIZ){ tiles.x = (Game.scale * width); } else { if (_arg2 == VERT){ tiles.y = (Game.scale * height); }; }; tile_layers[_arg1].addChild(tiles); tiles = new Sprite(); _local3 = 0; while (_local3 < height) { _local4 = 0; while (_local4 < width) { tile_maker.mapElement(_local4, _local3); _local4++; }; _local3++; }; tile_layers[_arg1].addChild(tiles); setLayerUpdate(_arg1, false); } public function contains(_arg1:Number, _arg2:Number):Boolean{ return ((((((((_arg1 < (scroll_bottomright_x - 1))) && ((_arg1 >= scroll_topleft_x)))) && ((_arg2 < (scroll_bottomright_y - 1))))) && ((_arg2 >= scroll_topleft_y)))); } public function addLayer(_arg1:Array, _arg2:Boolean=false):void{ var _local3:Sprite; if (tile_layers.length == layers){ _local3 = new Sprite(); tile_holder.addChild(_local3); tile_layers.push(_local3); }; gfx_layers.push(_arg2); map_array_layers.push(_arg1); map_rows_layers.push([]); map_rows_index_layers.push([]); map_cols_index_layers.push([]); update_layer.push(true); layers++; } public function intersects(_arg1:Rect):Boolean{ return (!((((((((scroll_topleft_x > (_arg1.x + (_arg1.width - 1)))) || (((scroll_bottomright_x - 1) < _arg1.x)))) || ((scroll_topleft_y > (_arg1.y + (_arg1.height - 1)))))) || (((scroll_bottomright_y - 1) < _arg1.y))))); } public function clipManager():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; _local1 = ((stage.x * SCALE) >> 0); _local2 = ((stage.y * SCALE) >> 0); _local4 = 0; while (_local4 < layers) { changeLayer(_local4); if (update_layer[_local4]){ if (scroll_x){ if (-(_local1) > last_stage_x){ if ((((map_cols_index[0] > 0)) && ((map_cols_index[0] > (-(_local1) - border_x[_local4]))))){ _local3 = (map_cols_index[0] - (-(_local1) - border_x[_local4])); while (_local3 > 0) { unshiftCol((map_cols_index[0] - 1)); if (_local4 == master_layer){ scroll_topleft_x = (scroll_topleft_x - scale); }; _local3--; if (map_cols_index[0] == 0){ break; }; }; }; if (map_cols_index[(map_cols_index.length - 1)] > ((-(_local1) + tiles_width) + border_x[_local4])){ _local3 = (map_cols_index[(map_cols_index.length - 1)] - ((-(_local1) + tiles_width) + border_x[_local4])); while (_local3 > 0) { popCol(); if (_local4 == master_layer){ scroll_bottomright_x = (scroll_bottomright_x - scale); }; _local3--; }; }; }; if (_local1 < last_stage_x){ if ((((map_cols_index[(map_cols_index.length - 1)] < (width - 1))) && ((map_cols_index[(map_cols_index.length - 1)] < ((-(_local1) + tiles_width) + border_x[_local4]))))){ _local3 = (((-(_local1) + tiles_width) + border_x[_local4]) - map_cols_index[(map_cols_index.length - 1)]); while (_local3 > 0) { pushCol((map_cols_index[(map_cols_index.length - 1)] + 1)); if (_local4 == master_layer){ scroll_bottomright_x = (scroll_bottomright_x + scale); }; _local3--; if (map_cols_index[(map_cols_index.length - 1)] == (width - 1)){ break; }; }; }; if (map_cols_index[0] < (-(_local1) - border_x[_local4])){ _local3 = ((-(_local1) - border_x[_local4]) - map_cols_index[0]); while (_local3 > 0) { shiftCol(); if (_local4 == master_layer){ scroll_topleft_x = (scroll_topleft_x + scale); }; _local3--; }; }; }; }; if (scroll_y){ if (_local2 > last_stage_y){ if ((((map_rows_index[0] > 0)) && ((map_rows_index[0] > (-(_local2) - border_y[_local4]))))){ _local3 = (map_rows_index[0] - (-(_local2) - border_y[_local4])); while (_local3 > 0) { unshiftRow((map_rows_index[0] - 1)); if (_local4 == master_layer){ scroll_topleft_y = (scroll_topleft_y - scale); }; _local3--; if (map_rows_index[0] == 0){ break; }; }; }; if (map_rows_index[(map_rows_index.length - 1)] > ((-(_local2) + tiles_height) + border_y[_local4])){ _local3 = (map_rows_index[(map_rows_index.length - 1)] - ((-(_local2) + tiles_height) + border_y[_local4])); while (_local3 > 0) { popRow(); if (_local4 == master_layer){ scroll_bottomright_y = (scroll_bottomright_y - scale); }; _local3--; }; }; }; if (_local2 < last_stage_y){ if ((((map_rows_index[(map_rows_index.length - 1)] < (height - 1))) && ((map_rows_index[(map_rows_index.length - 1)] < ((-(_local2) + tiles_height) + border_y[_local4]))))){ _local3 = (((-(_local2) + tiles_height) + border_y[_local4]) - map_rows_index[(map_rows_index.length - 1)]); while (_local3 > 0) { pushRow((map_rows_index[(map_rows_index.length - 1)] + 1)); if (_local4 == master_layer){ scroll_bottomright_y = (scroll_bottomright_y + scale); }; _local3--; if (map_rows_index[(map_rows_index.length - 1)] == (height - 1)){ break; }; }; }; if (map_rows_index[0] < (-(_local2) - border_y[_local4])){ _local3 = ((-(_local2) - border_y[_local4]) - map_rows_index[0]); while (_local3 > 0) { shiftRow(); if (_local4 == master_layer){ scroll_topleft_y = (scroll_topleft_y + scale); }; _local3--; }; }; }; }; }; _local4++; }; last_stage_x = _local1; last_stage_y = _local2; } protected function unshiftCol(_arg1:Number):void{ var _local2:int; map_cols_index.unshift(_arg1); _local2 = 0; while (_local2 < map_rows_index.length) { map_rows[_local2].unshift(tile_maker.mapElement(_arg1, (_local2 + map_rows_index[0]))); _local2++; }; } public function reset():void{ last_stage_x = ((stage.x * SCALE) >> 0); last_stage_y = ((stage.y * SCALE) >> 0); } public function removeTile(_arg1:int, _arg2:int, _arg3:int):void{ map_array_layers[_arg1][_arg3][_arg2] = 0; } public function debug(_arg1:Graphics):void{ _arg1.moveTo(scroll_topleft_x, scroll_topleft_y); _arg1.lineTo(scroll_bottomright_x, scroll_topleft_y); _arg1.lineTo(scroll_bottomright_x, scroll_bottomright_y); _arg1.lineTo(scroll_topleft_x, scroll_bottomright_y); _arg1.lineTo(scroll_topleft_x, scroll_topleft_y); _arg1.moveTo(-(stage.x), -(stage.y)); _arg1.lineTo((-(stage.x) + stage_width), -(stage.y)); _arg1.lineTo((-(stage.x) + stage_width), (-(stage.y) + stage_height)); _arg1.lineTo(-(stage.x), (-(stage.y) + stage_height)); _arg1.lineTo(-(stage.x), -(stage.y)); } public function rezForced():void{ var _local1:int; var _local2:int; var _local3:int; _local1 = 0; while (_local1 < layers) { changeLayer(_local1); _local2 = 0; while (_local2 < height) { _local3 = 0; while (_local3 < width) { if (!(((map_array[_local2][_local3] >= 0)) || ((map_array[_local2][_local3] <= 0)))){ if ((((map_array[_local2][_local3] is String)) && ((map_array[_local2][_local3].search(/F/) > -1)))){ map_array[_local2][_local3] = map_array[_local2][_local3].replace(/F/, ""); tile_maker.mapElement(_local3, _local2, true); map_array[_local2][_local3] = 0; }; }; _local3++; }; _local2++; }; _local1++; }; } public function setSignage(_arg1:Array):void{ this.signage = _arg1; } protected function popCol():void{ var _local1:int; _local1 = 0; while (_local1 < map_rows_index.length) { if (map_rows[_local1][(map_cols_index.length - 1)] != null){ if (!gfx){ map_rows[_local1][(map_cols_index.length - 1)].remove(); } else { map_rows[_local1][(map_cols_index.length - 1)].parent.removeChild(map_rows[_local1][(map_cols_index.length - 1)]); }; }; map_rows[_local1].pop(); _local1++; }; map_cols_index.pop(); } protected function pushRow(_arg1:int):void{ var _local2:int; map_rows.push([]); map_rows_index.push(_arg1); _local2 = 0; while (_local2 < map_cols_index.length) { map_rows[(map_rows.length - 1)].push(tile_maker.mapElement((_local2 + map_cols_index[0]), _arg1)); _local2++; }; } protected function unshiftRow(_arg1:int):void{ var _local2:int; map_rows.unshift([]); map_rows_index.unshift(_arg1); _local2 = 0; while (_local2 < map_cols_index.length) { map_rows[0].push(tile_maker.mapElement((_local2 + map_cols_index[0]), _arg1)); _local2++; }; } public function addTileLayer(_arg1:Sprite){ tile_layers.push(_arg1); } public function changeLayer(_arg1:int):void{ tiles = tile_layers[_arg1]; map_array = map_array_layers[_arg1]; map_rows = map_rows_layers[_arg1]; map_rows_index = map_rows_index_layers[_arg1]; map_cols_index = map_cols_index_layers[_arg1]; gfx = gfx_layers[_arg1]; current_layer = _arg1; } protected function shiftCol():void{ var _local1:int; _local1 = 0; while (_local1 < map_rows_index.length) { if (map_rows[_local1][0] != null){ if (!gfx){ map_rows[_local1][0].remove(); } else { map_rows[_local1][0].parent.removeChild(map_rows[_local1][0]); }; }; map_rows[_local1].shift(); _local1++; }; map_cols_index.shift(); } public function setLayerUpdate(_arg1:int, _arg2:Boolean):void{ update_layer[_arg1] = _arg2; } protected function popRow():void{ var _local1:int; _local1 = 0; while (_local1 < map_cols_index.length) { if (map_rows[(map_rows.length - 1)][_local1] != null){ if (!gfx){ map_rows[(map_rows.length - 1)][_local1].remove(); } else { map_rows[(map_rows.length - 1)][_local1].parent.removeChild(map_rows[(map_rows.length - 1)][_local1]); }; }; _local1++; }; map_rows.pop(); map_rows_index.pop(); } public function addTile(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{ map_array_layers[_arg1][_arg3][_arg2] = _arg4; } public function rezBeginning(_arg1:int, _arg2:int):void{ var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:int; var _local10:int; var _local11:int; map_rows_index = []; map_cols_index = []; map_rows = []; _local3 = Math.round((tiles_width * 0.5)); _local4 = Math.round((tiles_height * 0.5)); stage.x = -(((_arg1 - _local3) * scale)); stage.y = -(((_arg2 - _local4) * scale)); last_stage_x = ((stage.x / scale) >> 0); last_stage_y = ((stage.y / scale) >> 0); _local5 = ((_arg1 - _local3) - (border_x[master_layer] * 2)); _local6 = ((_arg2 - _local4) - (border_y[master_layer] * 2)); _local7 = ((_local5 + tiles_width) + (border_x[master_layer] * 4)); _local8 = ((_local6 + tiles_height) + (border_y[master_layer] * 4)); if (_local5 < 0){ _local5 = 0; }; if (_local6 < 0){ _local6 = 0; }; if (_local7 > width){ _local7 = width; }; if (_local8 > height){ _local8 = height; }; scroll_topleft_x = (_local5 * scale); scroll_topleft_y = (_local6 * scale); scroll_bottomright_x = (_local7 * scale); scroll_bottomright_y = (_local8 * scale); _local11 = 0; while (_local11 < layers) { changeLayer(_local11); if (update_layer[_local11]){ _local9 = _local5; while (_local9 < _local7) { map_cols_index.push(_local9); _local9++; }; _local10 = _local6; while (_local10 < _local8) { pushRow(_local10); _local10++; }; }; _local11++; }; } protected function shiftRow():void{ var _local1:int; _local1 = 0; while (_local1 < map_cols_index.length) { if (map_rows[0][_local1] != null){ if (!gfx){ map_rows[0][_local1].remove(); } else { map_rows[0][_local1].parent.removeChild(map_rows[0][_local1]); }; }; _local1++; }; map_rows.shift(); map_rows_index.shift(); } } }//package com.nitrome.engine
Section 11
//Spring (com.nitrome.engine.Spring) package com.nitrome.engine { public class Spring extends Line { public var stiffness:Number; public var rest_len:Number; public function Spring(_arg1:Dot, _arg2:Dot){ super(_arg1, _arg2); stiffness = 0.5; rest_len = len; } public function constrainFromA(_arg1:Number, _arg2:Number):void{ updateLine(); if (len < _arg1){ b.x = (a.x + (_arg1 * dx)); b.y = (a.y + (_arg1 * dy)); updateLine(); } else { if (len > _arg2){ b.x = (a.x + (_arg2 * dx)); b.y = (a.y + (_arg2 * dy)); updateLine(); }; }; } public function constrainFromB(_arg1:Number, _arg2:Number):void{ updateLine(); if (len < _arg1){ a.x = (b.x + (_arg1 * -(dx))); a.y = (b.y + (_arg1 * -(dy))); updateLine(); } else { if (len > _arg2){ a.x = (b.x + (_arg2 * -(dx))); a.y = (b.y + (_arg2 * -(dy))); updateLine(); }; }; } public function updateSpring():void{ var _local1:Number; var _local2:Number; var _local3:Dot; vx = (b.x - a.x); vy = (b.y - a.y); len = Math.sqrt(((vx * vx) + (vy * vy))); _local1 = 0; if (len > 0){ _local1 = ((len - rest_len) / len); }; _local2 = (_local1 * stiffness); _local3 = new Dot((-(vx) * _local2), (-(vy) * _local2)); a.x = (a.x - _local3.x); a.y = (a.y - _local3.y); b.x = (b.x + _local3.x); b.y = (b.y + _local3.y); updateLine(); } } }//package com.nitrome.engine
Section 12
//Trig (com.nitrome.engine.Trig) package com.nitrome.engine { public class Trig { public static const sin:Array = [0, 0.0174524064372835, 0.034899496702501, 0.0523359562429438, 0.0697564737441253, 0.0871557427476582, 0.104528463267653, 0.121869343405147, 0.139173100960065, 0.156434465040231, 0.17364817766693, 0.190808995376545, 0.207911690817759, 0.224951054343865, 0.241921895599668, 0.258819045102521, 0.275637355816999, 0.292371704722737, 0.309016994374947, 0.325568154457157, 0.342020143325669, 0.3583679495453, 0.374606593415912, 0.390731128489274, 0.4067366430758, 0.4226182617407, 0.438371146789078, 0.453990499739547, 0.469471562785891, 0.484809620246337, 0.5, 0.515038074910054, 0.529919264233205, 0.544639035015027, 0.559192903470747, 0.573576436351046, 0.587785252292473, 0.601815023152049, 0.615661475325659, 0.629320391049838, 0.64278760968654, 0.656059028990508, 0.669130606358859, 0.681998360062499, 0.694658370458998, 0.707106781186548, 0.719339800338652, 0.731353701619171, 0.743144825477395, 0.754709580222772, 0.766044443118979, 0.777145961456971, 0.788010753606722, 0.798635510047293, 0.809016994374948, 0.819152044288992, 0.829037572555042, 0.838670567945424, 0.848048096156427, 0.857167300702113, 0.866025403784439, 0.874619707139396, 0.882947592858927, 0.891006524188368, 0.898794046299167, 0.90630778703665, 0.913545457642601, 0.920504853452441, 0.927183854566788, 0.933580426497202, 0.939692620785909, 0.945518575599317, 0.951056516295154, 0.956304755963036, 0.961261695938319, 0.965925826289069, 0.970295726275997, 0.974370064785236, 0.978147600733806, 0.981627183447664, 0.984807753012208, 0.987688340595138, 0.99026806874157, 0.992546151641322, 0.994521895368274, 0.996194698091746, 0.997564050259824, 0.998629534754574, 0.999390827019096, 0.999847695156391, 1, 0.999847695156391, 0.999390827019096, 0.998629534754574, 0.997564050259824, 0.996194698091745, 0.994521895368273, 0.992546151641322, 0.99026806874157, 0.987688340595137, 0.984807753012208, 0.981627183447664, 0.978147600733805, 0.974370064785235, 0.970295726275996, 0.965925826289068, 0.961261695938318, 0.956304755963035, 0.951056516295153, 0.945518575599316, 0.939692620785908, 0.933580426497201, 0.927183854566787, 0.920504853452439, 0.9135454576426, 0.906307787036649, 0.898794046299166, 0.891006524188367, 0.882947592858926, 0.874619707139395, 0.866025403784438, 0.857167300702112, 0.848048096156426, 0.838670567945424, 0.829037572555042, 0.819152044288992, 0.809016994374947, 0.798635510047293, 0.788010753606722, 0.777145961456971, 0.766044443118979, 0.754709580222773, 0.743144825477395, 0.731353701619171, 0.719339800338652, 0.707106781186549, 0.694658370458999, 0.6819983600625, 0.66913060635886, 0.656059028990509, 0.642787609686541, 0.62932039104984, 0.615661475325661, 0.601815023152051, 0.587785252292476, 0.573576436351049, 0.55919290347075, 0.544639035015031, 0.529919264233209, 0.515038074910058, 0.500000000000004, 0.484809620246341, 0.469471562785895, 0.453990499739552, 0.438371146789082, 0.422618261740705, 0.406736643075806, 0.390731128489279, 0.374606593415918, 0.358367949545306, 0.342020143325675, 0.325568154457163, 0.309016994374954, 0.292371704722744, 0.275637355817006, 0.258819045102528, 0.241921895599676, 0.224951054343873, 0.207911690817768, 0.190808995376553, 0.173648177666939, 0.15643446504024, 0.139173100960075, 0.121869343405157, 0.104528463267663, 0.0871557427476679, 0.0697564737441353, 0.052335956242954, 0.0348994967025113, 0.0174524064372941, 1.07806057163162E-14, -0.0174524064372725, -0.0348994967024898, -0.0523359562429325, -0.0697564737441138, -0.0871557427476465, -0.104528463267642, -0.121869343405135, -0.139173100960053, -0.156434465040218, -0.173648177666918, -0.190808995376532, -0.207911690817746, -0.224951054343852, -0.241921895599655, -0.258819045102507, -0.275637355816986, -0.292371704722723, -0.309016994374934, -0.325568154457143, -0.342020143325655, -0.358367949545286, -0.374606593415898, -0.39073112848926, -0.406736643075786, -0.422618261740685, -0.438371146789063, -0.453990499739532, -0.469471562785876, -0.484809620246323, -0.499999999999986, -0.51503807491004, -0.52991926423319, -0.544639035015013, -0.559192903470732, -0.573576436351032, -0.587785252292459, -0.601815023152034, -0.615661475325644, -0.629320391049823, -0.642787609686525, -0.656059028990493, -0.669130606358844, -0.681998360062484, -0.694658370458983, -0.707106781186534, -0.719339800338637, -0.731353701619157, -0.743144825477381, -0.754709580222759, -0.766044443118965, -0.777145961456958, -0.788010753606709, -0.79863551004728, -0.809016994374935, -0.819152044288979, -0.829037572555029, -0.838670567945412, -0.848048096156414, -0.857167300702101, -0.866025403784427, -0.874619707139385, -0.882947592858916, -0.891006524188357, -0.898794046299157, -0.90630778703664, -0.913545457642591, -0.920504853452431, -0.927183854566778, -0.933580426497193, -0.9396926207859, -0.945518575599309, -0.951056516295146, -0.956304755963028, -0.961261695938312, -0.965925826289062, -0.97029572627599, -0.974370064785229, -0.9781476007338, -0.981627183447659, -0.984807753012203, -0.987688340595134, -0.990268068741567, -0.992546151641319, -0.994521895368271, -0.996194698091743, -0.997564050259822, -0.998629534754572, -0.999390827019095, -0.999847695156391, -1, -0.999847695156392, -0.999390827019097, -0.998629534754575, -0.997564050259826, -0.996194698091748, -0.994521895368276, -0.992546151641326, -0.990268068741574, -0.987688340595142, -0.984807753012213, -0.98162718344767, -0.978147600733812, -0.974370064785242, -0.970295726276004, -0.965925826289076, -0.961261695938328, -0.956304755963045, -0.951056516295164, -0.945518575599327, -0.93969262078592, -0.933580426497214, -0.9271838545668, -0.920504853452453, -0.913545457642615, -0.906307787036664, -0.898794046299182, -0.891006524188383, -0.882947592858943, -0.874619707139413, -0.866025403784456, -0.85716730070213, -0.848048096156444, -0.838670567945443, -0.829037572555061, -0.819152044289012, -0.809016994374968, -0.798635510047314, -0.788010753606744, -0.777145961456994, -0.766044443119002, -0.754709580222796, -0.743144825477419, -0.731353701619196, -0.719339800338677, -0.707106781186574, -0.694658370459024, -0.681998360062526, -0.669130606358887, -0.656059028990536, -0.642787609686569, -0.629320391049868, -0.615661475325689, -0.601815023152079, -0.587785252292505, -0.573576436351078, -0.55919290347078, -0.544639035015061, -0.529919264233239, -0.515038074910089, -0.500000000000035, -0.484809620246373, -0.469471562785927, -0.453990499739583, -0.438371146789115, -0.422618261740737, -0.406736643075838, -0.390731128489312, -0.374606593415951, -0.35836794954534, -0.342020143325709, -0.325568154457197, -0.309016994374988, -0.292371704722778, -0.275637355817041, -0.258819045102563, -0.24192189559971, -0.224951054343908, -0.207911690817802, -0.190808995376588, -0.173648177666974, -0.156434465040275, -0.13917310096011, -0.121869343405192, -0.104528463267698, -0.0871557427477034, -0.0697564737441708, -0.0523359562429896, -0.034899496702547, -0.0174524064373297]; public static const cos:Array = [1, 0.999847695156391, 0.999390827019096, 0.998629534754574, 0.997564050259824, 0.996194698091746, 0.994521895368273, 0.992546151641322, 0.99026806874157, 0.987688340595138, 0.984807753012208, 0.981627183447664, 0.978147600733806, 0.974370064785235, 0.970295726275996, 0.965925826289068, 0.961261695938319, 0.956304755963035, 0.951056516295154, 0.945518575599317, 0.939692620785908, 0.933580426497202, 0.927183854566787, 0.92050485345244, 0.913545457642601, 0.90630778703665, 0.898794046299167, 0.891006524188368, 0.882947592858927, 0.874619707139396, 0.866025403784438, 0.857167300702112, 0.848048096156426, 0.838670567945424, 0.829037572555042, 0.819152044288992, 0.809016994374947, 0.798635510047293, 0.788010753606722, 0.777145961456971, 0.766044443118978, 0.754709580222772, 0.743144825477394, 0.73135370161917, 0.719339800338651, 0.707106781186547, 0.694658370458997, 0.681998360062498, 0.669130606358858, 0.656059028990507, 0.642787609686539, 0.629320391049837, 0.615661475325658, 0.601815023152048, 0.587785252292472, 0.573576436351045, 0.559192903470746, 0.544639035015026, 0.529919264233204, 0.515038074910053, 0.499999999999999, 0.484809620246336, 0.46947156278589, 0.453990499739546, 0.438371146789076, 0.422618261740698, 0.406736643075799, 0.390731128489273, 0.374606593415911, 0.358367949545299, 0.342020143325668, 0.325568154457155, 0.309016994374946, 0.292371704722735, 0.275637355816998, 0.258819045102519, 0.241921895599666, 0.224951054343864, 0.207911690817758, 0.190808995376543, 0.173648177666929, 0.156434465040229, 0.139173100960064, 0.121869343405146, 0.104528463267652, 0.0871557427476566, 0.0697564737441237, 0.0523359562429422, 0.0348994967024993, 0.0174524064372818, -1.71512449944288E-15, -0.0174524064372853, -0.0348994967025027, -0.0523359562429456, -0.0697564737441271, -0.08715574274766, -0.104528463267655, -0.121869343405149, -0.139173100960067, -0.156434465040233, -0.173648177666932, -0.190808995376547, -0.207911690817761, -0.224951054343867, -0.24192189559967, -0.258819045102523, -0.275637355817001, -0.292371704722739, -0.309016994374949, -0.325568154457159, -0.342020143325671, -0.358367949545302, -0.374606593415914, -0.390731128489276, -0.406736643075802, -0.422618261740701, -0.438371146789079, -0.453990499739548, -0.469471562785892, -0.484809620246338, -0.500000000000001, -0.515038074910055, -0.529919264233206, -0.544639035015028, -0.559192903470747, -0.573576436351046, -0.587785252292473, -0.601815023152048, -0.615661475325658, -0.629320391049837, -0.642787609686539, -0.656059028990506, -0.669130606358857, -0.681998360062497, -0.694658370458996, -0.707106781186546, -0.71933980033865, -0.731353701619169, -0.743144825477393, -0.75470958022277, -0.766044443118976, -0.777145961456969, -0.78801075360672, -0.798635510047291, -0.809016994374945, -0.81915204428899, -0.829037572555039, -0.838670567945422, -0.848048096156424, -0.85716730070211, -0.866025403784436, -0.874619707139393, -0.882947592858924, -0.891006524188365, -0.898794046299164, -0.906307787036647, -0.913545457642598, -0.920504853452438, -0.927183854566785, -0.933580426497199, -0.939692620785906, -0.945518575599315, -0.951056516295151, -0.956304755963033, -0.961261695938317, -0.965925826289066, -0.970295726275995, -0.974370064785233, -0.978147600733804, -0.981627183447662, -0.984807753012207, -0.987688340595136, -0.990268068741569, -0.992546151641321, -0.994521895368272, -0.996194698091745, -0.997564050259824, -0.998629534754573, -0.999390827019095, -0.999847695156391, -1, -0.999847695156391, -0.999390827019096, -0.998629534754574, -0.997564050259825, -0.996194698091747, -0.994521895368275, -0.992546151641324, -0.990268068741572, -0.98768834059514, -0.98480775301221, -0.981627183447666, -0.978147600733808, -0.974370064785238, -0.970295726276, -0.965925826289072, -0.961261695938323, -0.95630475596304, -0.951056516295158, -0.945518575599322, -0.939692620785913, -0.933580426497207, -0.927183854566793, -0.920504853452446, -0.913545457642607, -0.906307787036657, -0.898794046299174, -0.891006524188375, -0.882947592858935, -0.874619707139404, -0.866025403784447, -0.857167300702121, -0.848048096156435, -0.838670567945433, -0.829037572555052, -0.819152044289002, -0.809016994374958, -0.798635510047304, -0.788010753606733, -0.777145961456983, -0.76604444311899, -0.754709580222784, -0.743144825477407, -0.731353701619184, -0.719339800338665, -0.707106781186561, -0.694658370459012, -0.681998360062513, -0.669130606358873, -0.656059028990523, -0.642787609686555, -0.629320391049854, -0.615661475325675, -0.601815023152065, -0.58778525229249, -0.573576436351064, -0.559192903470765, -0.544639035015046, -0.529919264233224, -0.515038074910073, -0.50000000000002, -0.484809620246357, -0.469471562785911, -0.453990499739568, -0.438371146789098, -0.422618261740721, -0.406736643075822, -0.390731128489296, -0.374606593415934, -0.358367949545323, -0.342020143325692, -0.32556815445718, -0.309016994374971, -0.292371704722761, -0.275637355817024, -0.258819045102545, -0.241921895599693, -0.22495105434389, -0.207911690817785, -0.190808995376571, -0.173648177666957, -0.156434465040257, -0.139173100960092, -0.121869343405174, -0.104528463267681, -0.0871557427476857, -0.069756473744153, -0.0523359562429718, -0.0348994967025292, -0.0174524064373119, -2.86054064502761E-14, 0.0174524064372547, 0.034899496702472, 0.0523359562429147, 0.069756473744096, 0.0871557427476287, 0.104528463267624, 0.121869343405118, 0.139173100960036, 0.156434465040201, 0.1736481776669, 0.190808995376515, 0.207911690817729, 0.224951054343835, 0.241921895599637, 0.25881904510249, 0.275637355816969, 0.292371704722706, 0.309016994374917, 0.325568154457126, 0.342020143325638, 0.35836794954527, 0.374606593415881, 0.390731128489243, 0.40673664307577, 0.422618261740669, 0.438371146789047, 0.453990499739517, 0.469471562785861, 0.484809620246307, 0.49999999999997, 0.515038074910024, 0.529919264233175, 0.544639035014998, 0.559192903470717, 0.573576436351017, 0.587785252292444, 0.60181502315202, 0.61566147532563, 0.629320391049809, 0.642787609686511, 0.65605902899048, 0.669130606358831, 0.681998360062471, 0.69465837045897, 0.707106781186521, 0.719339800338625, 0.731353701619145, 0.743144825477369, 0.754709580222747, 0.766044443118953, 0.777145961456946, 0.788010753606698, 0.798635510047269, 0.809016994374924, 0.819152044288969, 0.82903757255502, 0.838670567945402, 0.848048096156405, 0.857167300702092, 0.866025403784418, 0.874619707139376, 0.882947592858908, 0.891006524188349, 0.898794046299149, 0.906307787036632, 0.913545457642584, 0.920504853452424, 0.927183854566772, 0.933580426497187, 0.939692620785894, 0.945518575599303, 0.95105651629514, 0.956304755963023, 0.961261695938307, 0.965925826289057, 0.970295726275986, 0.974370064785225, 0.978147600733796, 0.981627183447656, 0.9848077530122, 0.987688340595131, 0.990268068741564, 0.992546151641317, 0.994521895368269, 0.996194698091742, 0.997564050259821, 0.998629534754572, 0.999390827019094, 0.99984769515639]; } }//package com.nitrome.engine
Section 13
//Util (com.nitrome.engine.Util) package com.nitrome.engine { import flash.display.*; import flash.geom.*; public class Util { public static const RIGHT:Number = 2; public static const UP_RIGHT_ROTATION:Number = 45; public static const LEFT:Number = 8; public static const UP_LEFT_ROTATION:Number = 315; public static const DOWN_LEFT_ROTATION:Number = 225; public static const UP:Number = 1; public static const DOWN_RIGHT_ROTATION:Number = 135; public static const RIGHT_ROTATION:Number = 90; public static const UP_ROTATION:Number = 0; public static const DOWN:Number = 4; public static const LEFT_ROTATION:Number = 270; public static const DOWN_ROTATION:Number = 180; public static function stopClips(_arg1:DisplayObjectContainer):void{ var _local2:int; _local2 = 0; while (_local2 < _arg1.numChildren) { if ((_arg1.getChildAt(_local2) is MovieClip)){ (_arg1.getChildAt(_local2) as MovieClip).stop(); }; if ((_arg1.getChildAt(_local2) is DisplayObjectContainer)){ stopClips((_arg1.getChildAt(_local2) as DisplayObjectContainer)); }; _local2++; }; } public static function localToLocal(_arg1:Point, _arg2:DisplayObject, _arg3:DisplayObject):Point{ _arg1.x = (_arg1.y = 0); _arg1 = _arg2.localToGlobal(_arg1); _arg1 = _arg3.globalToLocal(_arg1); return (_arg1); } public static function mcToString2(_arg1:Sprite, _arg2:Sprite):String{ var _local3:Point; _local3 = new Point(); _local3 = Util.localToLocal(_local3, _arg1, _arg2); return ((((("pos.x = " + _local3.x) + ";\npos.y = ") + _local3.y) + ";")); } public static function circleOverlap(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Boolean{ return (((((_arg4 - _arg1) * (_arg4 - _arg1)) + ((_arg5 - _arg2) * (_arg5 - _arg2))) <= ((_arg3 + _arg6) * (_arg3 + _arg6)))); } public static function rectContains(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Boolean{ return ((((((((_arg5 >= _arg1)) && ((_arg6 >= _arg2)))) && ((_arg5 < (_arg1 + _arg3))))) && ((_arg6 < (_arg2 + _arg4))))); } public static function serialize(_arg1:Array):String{ var _local2:String; var _local3:Number; var _local4:int; _local2 = ""; _local3 = 0; _local4 = 0; while (_local4 < _arg1.length) { _local3++; if (_arg1[_local4] != _arg1[(_local4 + 1)]){ _local2 = (_local2 + _arg1[_local4]); if (_local3 > 1){ _local2 = (_local2 + (":" + _local3)); }; if (_local4 < (_arg1.length - 1)){ _local2 = (_local2 + ","); }; _local3 = 0; }; _local4++; }; return (_local2); } public static function degreeLerp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ _arg1 = (_arg1 + ((Math.abs((_arg2 - _arg1)))>180) ? ((_arg1)<_arg2) ? 360 : -(360) : 0); return ((_arg1 + ((_arg2 - _arg1) * _arg3))); } public static function unserialize(_arg1:String):Array{ var _local2:Array; var _local3:Array; var _local4:int; var _local5:Array; var _local6:int; var _local7:int; _local2 = []; _local3 = _arg1.split(","); _local4 = 0; while (_local4 < _local3.length) { if (_local3[_local4].indexOf(":") > -1){ _local5 = _local3[_local4].split(":"); _local6 = parseInt(_local5[1]); _local7 = 0; while (_local7 < _local6) { _local2.push(_local5[0]); _local7++; }; } else { _local2.push(_local3[_local4]); }; _local4++; }; return (_local2); } public static function wrapLerp(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local6:Number; _local6 = Math.abs((_arg4 - _arg5)); _arg1 = (_arg1 + ((Math.abs((_arg2 - _arg1)))>(_local6 * 0.5)) ? ((_arg1)<_arg2) ? _local6 : -(_local6) : 0); return (lerp(_arg1, _arg2, _arg3)); } public static function sideToString(_arg1:int):String{ if (_arg1 == UP){ return ("UP"); }; if (_arg1 == RIGHT){ return ("RIGHT"); }; if (_arg1 == DOWN){ return ("DOWN"); }; if (_arg1 == LEFT){ return ("LEFT"); }; return ("null"); } public static function onScreen(_arg1:Number, _arg2:Number, _arg3:Game, _arg4:Number):Boolean{ return (((((((((_arg1 + _arg4) >= -(_arg3.canvas.x))) && (((_arg2 + _arg4) >= -(_arg3.canvas.y))))) && (((_arg1 - _arg4) < (-(_arg3.canvas.x) + Game.WIDTH))))) && (((_arg2 - _arg4) < (-(_arg3.canvas.y) + Game.HEIGHT))))); } public static function startClips(_arg1:DisplayObjectContainer):void{ var _local2:int; _local2 = 0; while (_local2 < _arg1.numChildren) { if ((_arg1.getChildAt(_local2) is MovieClip)){ (_arg1.getChildAt(_local2) as MovieClip).gotoAndPlay((_arg1.getChildAt(_local2) as MovieClip).currentFrame); }; if ((_arg1.getChildAt(_local2) is DisplayObjectContainer)){ startClips((_arg1.getChildAt(_local2) as DisplayObjectContainer)); }; _local2++; }; } public static function circleInside(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Boolean{ return (((((_arg4 - _arg1) * (_arg4 - _arg1)) + ((_arg5 - _arg2) * (_arg5 - _arg2))) <= ((_arg6 - _arg3) * (_arg6 - _arg3)))); } public static function getRotation(_arg1:int):Number{ var _local2:int; _local2 = 0; switch (_arg1){ case UP: _local2 = UP_ROTATION; break; case RIGHT: _local2 = RIGHT_ROTATION; break; case DOWN: _local2 = DOWN_ROTATION; break; case LEFT: _local2 = LEFT_ROTATION; break; }; return (_local2); } public static function thetaLerp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ _arg1 = (_arg1 + ((Math.abs((_arg2 - _arg1)))>Math.PI) ? ((_arg1)<_arg2) ? (Math.PI * 2) : -((Math.PI * 2)) : 0); return ((_arg1 + ((_arg2 - _arg1) * _arg3))); } public static function lerp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return ((_arg1 + ((_arg2 - _arg1) * _arg3))); } public static function mcToString(_arg1:Sprite):String{ return ((((("(" + _arg1.x) + " ") + _arg1.y) + ")")); } public static function proximity(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Boolean{ return (((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))) <= (_arg5 * _arg5))); } } }//package com.nitrome.engine
Section 14
//ArmPos (com.nitrome.engine_specific.ArmPos) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class ArmPos { static function getPos(_arg1:Dot, _arg2:String, _arg3:int=1):Dot{ if (_arg2 == "run_left"){ _arg1.x = 6; if (_arg3 == 1){ _arg1.y = -23; } else { if (_arg3 == 2){ _arg1.y = -21; } else { if (_arg3 == 3){ _arg1.y = -22; } else { if (_arg3 == 4){ _arg1.y = -22; } else { if (_arg3 == 5){ _arg1.y = -23; } else { if (_arg3 == 6){ _arg1.y = -24; } else { if (_arg3 == 7){ _arg1.y = -23; } else { if (_arg3 == 8){ _arg1.y = -21; } else { if (_arg3 == 9){ _arg1.y = -22; } else { if (_arg3 == 10){ _arg1.y = -22; } else { if (_arg3 == 11){ _arg1.y = -23; } else { if (_arg3 == 12){ _arg1.y = -24; }; }; }; }; }; }; }; }; }; }; }; }; return (_arg1); } else { if (_arg2 == "run_right"){ _arg1.x = -6; if (_arg3 == 1){ _arg1.y = -23; } else { if (_arg3 == 2){ _arg1.y = -21; } else { if (_arg3 == 3){ _arg1.y = -22; } else { if (_arg3 == 4){ _arg1.y = -22; } else { if (_arg3 == 5){ _arg1.y = -23; } else { if (_arg3 == 6){ _arg1.y = -24; } else { if (_arg3 == 7){ _arg1.y = -23; } else { if (_arg3 == 8){ _arg1.y = -21; } else { if (_arg3 == 9){ _arg1.y = -22; } else { if (_arg3 == 10){ _arg1.y = -22; } else { if (_arg3 == 11){ _arg1.y = -23; } else { if (_arg3 == 12){ _arg1.y = -24; }; }; }; }; }; }; }; }; }; }; }; }; return (_arg1); } else { if ((((_arg2 == "wait_left")) || ((_arg2 == "wait_in_left")))){ _arg1.x = 10; _arg1.y = -15; return (_arg1); }; if ((((_arg2 == "wait_right")) || ((_arg2 == "wait_in_right")))){ _arg1.x = -10; _arg1.y = -15; return (_arg1); }; if (_arg2 == "jump_left"){ _arg1.x = 13; _arg1.y = -27; return (_arg1); }; if (_arg2 == "jump_right"){ _arg1.x = -13; _arg1.y = -27; return (_arg1); }; if (_arg2 == "fall_left"){ _arg1.x = 11; _arg1.y = -21; return (_arg1); }; if (_arg2 == "fall_right"){ _arg1.x = -11; _arg1.y = -21; return (_arg1); }; if (_arg2 == "swing_left"){ _arg1.x = 11; _arg1.y = -21; return (_arg1); }; if (_arg2 == "swing_right"){ _arg1.x = -11; _arg1.y = -21; return (_arg1); }; if (_arg2 == "wall_left"){ _arg1.x = 9; _arg1.y = -17; return (_arg1); }; if (_arg2 == "wall_right"){ _arg1.x = -9; _arg1.y = -17; return (_arg1); }; if (_arg2 == "stealth"){ _arg1.x = 0; _arg1.y = 0; return (_arg1); }; }; }; return (_arg1); } } }//package com.nitrome.engine_specific
Section 15
//BitmapSprite (com.nitrome.engine_specific.BitmapSprite) package com.nitrome.engine_specific { import flash.display.*; import flash.geom.*; public class BitmapSprite { public var width:int; public var total_frames:int; public var test:BitmapData; public var dx:int; public var dy:int; public var rect:Rectangle; public var frames:Array; public var height:int; public var p:Point; public var x:int; public var y:int; public static var p:Point; public function BitmapSprite(_arg1:MovieClip){ var _local2:Rectangle; var _local3:int; super(); x = (y = 0); frames = []; _local2 = _arg1.getBounds(_arg1); _local3 = 0; while (_local3 < _arg1.totalFrames) { _arg1.gotoAndStop((_local3 + 1)); frames[_local3] = new BitmapData(Math.ceil(_local2.width), Math.ceil(_local2.height), true, 0); frames[_local3].draw(_arg1, new Matrix(1, 0, 0, 1, -(_local2.left), -(_local2.top))); _local3++; }; total_frames = _arg1.totalFrames; width = _local2.width; height = _local2.height; dx = _local2.left; dy = _local2.top; rect = new Rectangle(0, 0, Math.ceil(_local2.width), Math.ceil(_local2.height)); p = new Point(); } public function addFrame(_arg1:Rectangle):void{ frames.push(_arg1); } public function render(_arg1:BitmapData, _arg2:int):void{ p.x = (x + dx); p.y = (y + dy); _arg1.copyPixels(frames[_arg2], rect, p, null, null, true); } public function addFrames(_arg1:Array):void{ frames = frames.concat(_arg1); } } }//package com.nitrome.engine_specific
Section 16
//BladeMan (com.nitrome.engine_specific.BladeMan) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class BladeMan extends Encounter { public var py:Number; public var count:int; public var cast:RayCastReport; public var previous_state:int; public var dot:Dot; public var health:int;// = 3 public var platform:Boolean; public var attack_rect:Rect; public var scan:Line; public var health_fraction:Number;// = 0.333 public var state:int; public var dir:int; public var grid_x:int; public var grid_y:int; public var collision_rect:Rect; public var temp_y:Number; public static const LEFT:int = 8; private static const GRAVITY_Y:Number = 1.3; public static const DEFLECT:int = 32; private static const JUMP_ATTACK_Y:Array = [-21, -21, -21, -21, -21, -21, -21, -21, -21, -51, -81, -121, -154, -169, -170, -170, -170, -170, -170, -170, -118, -58, -21, -21, -21, -21, -21, -21, -21, -21, -21]; private static const INTO_DEFEND_DELAY:int = 8; public static const UP:int = 1; private static const JUMP_ATTACK_DELAY:int = 30; public static const RUNNING:int = 1; private static const height:int = 42; private static const FLOOR_DEPTH:int = 6; public static const DOWN:int = 4; private static const ATTACK_DELAY:int = 13; public static const WAITING:int = 4; public static const SPEED:Number = 6; private static const DEFLECT_DELAY:int = 3; public static const TEST_DEPTH:int = 5; private static const RECOVER_DELAY:int = 10; private static const JUMP_ATTACK_DIST:int = 150; private static const DAMPING_Y:Number = 0.99; private static const ATTACK_DIST:int = 50; public static const RECOVER:int = 64; private static const width:int = 26; public static const ATTACK:int = 8; public static const DEFEND:int = 128; public static const FALLING:int = 2; public static const INTO_DEFEND:int = 254; public static const JUMP_ATTACK:int = 16; public static const RIGHT:int = 2; public function BladeMan(_arg1:int, _arg2:Sprite, _arg3:Game){ health = 3; health_fraction = 0.333; super(_arg2, _arg3, true); has_main = true; has_collision = true; this.dir = _arg1; collision_rect = new Rect((x - (width >> 1)), (y - (height >> 1)), 26, 42); attack_rect = new Rect(); map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); py = y; if (_arg3.stack_map[(map_y + 1)][map_x] > -1){ platform = true; state = WAITING; } else { platform = false; state = FALLING; }; if (_arg3.player != null){ scan = new Line(new Dot(_arg2.x, _arg2.y), _arg3.player); }; reward = new HiddenInt(70); on_scroller = false; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); } override public function intersects(_arg1:Rect):Boolean{ return (attack_rect.intersects(_arg1)); } public function updateAnimState():void{ if (state == RUNNING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "run_right"){ (mc as MovieClip).gotoAndStop("run_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "run_left"){ (mc as MovieClip).gotoAndStop("run_left"); }; }; }; } else { if ((((state == WAITING)) || ((state == RECOVER)))){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "wait_right"){ (mc as MovieClip).gotoAndStop("wait_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "wait_left"){ (mc as MovieClip).gotoAndStop("wait_left"); }; }; }; } else { if (state == ATTACK){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "attack_right"){ (mc as MovieClip).gotoAndStop("attack_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "attack_left"){ (mc as MovieClip).gotoAndStop("attack_left"); }; }; }; } else { if (state == JUMP_ATTACK){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "jump_attack_right"){ (mc as MovieClip).gotoAndStop("jump_attack_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "jump_attack_left"){ (mc as MovieClip).gotoAndStop("jump_attack_left"); }; }; }; } else { if (state == FALLING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "fall_right"){ (mc as MovieClip).gotoAndStop("fall_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "fall_left"){ (mc as MovieClip).gotoAndStop("fall_left"); }; }; }; } else { if (state == INTO_DEFEND){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "into_defend_right"){ (mc as MovieClip).gotoAndStop("into_defend_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "into_defend_left"){ (mc as MovieClip).gotoAndStop("into_defend_left"); }; }; }; } else { if (state == DEFEND){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "defend_right"){ (mc as MovieClip).gotoAndStop("defend_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "defend_left"){ (mc as MovieClip).gotoAndStop("defend_left"); }; }; }; } else { if (state == DEFLECT){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "deflect_right"){ (mc as MovieClip).gotoAndStop("deflect_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "deflect_left"){ (mc as MovieClip).gotoAndStop("deflect_left"); }; }; }; }; }; }; }; }; }; }; }; } public function kill(_arg1:Number):void{ if (!active){ return; }; if (!spawned){ NitromeGame.bonus.enemy_count.value++; }; active = false; g.addFX(mc.x, mc.y, g.bang_bitmap1); if (Math.random() > 0.5){ g.addSmoke(mc.x, mc.y); }; g.addDebris((collision_rect.x + (collision_rect.width * 0.5)), (collision_rect.y + (collision_rect.height * 0.5)), ((_arg1 > 0)) ? 10 : -10, g.debris_clips[11], g.debris_clips[10], g.debris_clips[9]); } public function toString():String{ var _local1:String; _local1 = ""; if (state == ATTACK){ _local1 = "ATTACK"; } else { if (state == JUMP_ATTACK){ _local1 = "JUMP_ATTACK"; } else { if (state == RUNNING){ _local1 = "RUNNING"; } else { if (state == WAITING){ _local1 = "WAITING"; } else { if (state == RECOVER){ _local1 = "RECOVER"; } else { if (state == FALLING){ _local1 = "FALLING"; } else { if (state == INTO_DEFEND){ _local1 = "INTO_DEFEND"; } else { if (state == DEFEND){ _local1 = "DEFEND"; } else { if (state == DEFLECT){ _local1 = "DEFLECT"; }; }; }; }; }; }; }; }; }; _local1 = (_local1 + ((((("(" + x) + ",") + y) + ")") + count)); return (_local1); } public function main():void{ on_scroller = g.scroller.contains(x, y); if (((!(forced)) && (!(on_scroller)))){ if (dir == LEFT){ tile_id = "22"; } else { if (dir == RIGHT){ tile_id = "23"; }; }; remove(); return; }; if (!g.player.active){ state = WAITING; }; if (state == WAITING){ if (scan != null){ scan.a.x = mc.x; scan.a.y = mc.y; scan.updateLine(); cast = RayCast.cast(scan, g.block_map, true); if (((((((g.player.active) && (!(g.player.chameleon)))) && ((((((g.player.x < x)) && ((dir == LEFT)))) || ((((g.player.x > x)) && ((dir == RIGHT)))))))) && (RayCast.reportIntersectsRect(scan, cast, g.player.collision_rect)))){ state = RUNNING; }; } else { if (g.player != null){ scan = new Line(new Dot(mc.x, mc.y), g.player); }; }; }; if (state == RUNNING){ move(); scan.updateLine(); if (on_scroller){ cast = RayCast.cast(scan, g.block_map, true); if (((((((g.player.active) && (!(g.player.chameleon)))) && (!((g.player.state == Player.STEALTH))))) && ((g.player.x < (x - (width >> 1)))))){ dir = LEFT; } else { if (((((((g.player.active) && (!(g.player.chameleon)))) && (!((g.player.state == Player.STEALTH))))) && ((g.player.x > (x + (width >> 1)))))){ dir = RIGHT; }; }; if (((((((((g.player.active) && (!(g.player.chameleon)))) && (!((g.player.state == Player.STEALTH))))) && ((g.player.map_y == map_y)))) && (Util.proximity(x, y, g.player.x, g.player.y, ATTACK_DIST)))){ state = ATTACK; count = 0; } else { if (((((((((((g.player.active) && (!(g.player.chameleon)))) && (!((g.player.state == Player.STEALTH))))) && (RayCast.reportIntersectsRect(scan, cast, g.player.collision_rect)))) && ((g.player.map_y < map_y)))) && (Util.proximity(x, y, g.player.x, g.player.y, JUMP_ATTACK_DIST)))){ state = JUMP_ATTACK; count = 0; }; }; }; if (dir == RIGHT){ grid_x = ((((x + (width >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if (g.stack_map[grid_y][grid_x] > Game.EMPTY){ state = INTO_DEFEND; count = 0; }; grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ state = INTO_DEFEND; count = 0; }; } else { if (dir == LEFT){ grid_x = ((((x - (width >> 1)) - TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if (g.stack_map[grid_y][grid_x] > Game.EMPTY){ state = INTO_DEFEND; count = 0; }; grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ state = INTO_DEFEND; count = 0; }; }; }; if (state == RUNNING){ if (grid_x == (g.scroller.width - 1)){ dir = LEFT; }; if (grid_x == 0){ dir = RIGHT; }; }; } else { if (state == FALLING){ findFloor(); if (platform == false){ verletY(GRAVITY_Y, DAMPING_Y); }; } else { if (state == INTO_DEFEND){ count++; if (count >= INTO_DEFEND_DELAY){ state = DEFEND; }; } else { if (state == DEFEND){ if (((((!((g.player.state == Player.STEALTH))) && (!(g.player.chameleon)))) && ((((((dir == RIGHT)) && ((g.player.x < x)))) || ((((dir == LEFT)) && ((g.player.x > x)))))))){ state = RUNNING; }; } else { if (state == DEFLECT){ count++; if (count >= DEFLECT_DELAY){ state = previous_state; }; } else { if (state == ATTACK){ count++; if (count >= ATTACK_DELAY){ state = RECOVER; count = 0; }; } else { if (state == JUMP_ATTACK){ count++; if (count >= JUMP_ATTACK_DELAY){ state = RECOVER; count = 0; }; } else { if (state == RECOVER){ count++; if (count >= RECOVER_DELAY){ state = RUNNING; count = 0; }; }; }; }; }; }; }; }; }; updateAnimState(); updateMC(); updateCollisionRect(); } public function verletY(_arg1:Number, _arg2:Number):void{ temp_y = y; y = (y + ((_arg2 * (y - py)) + _arg1)); py = temp_y; map_y = ((y * Game.SCALE) >> 0); } override public function resolvePlayerCollision(_arg1:Player):void{ if ((((state == ATTACK)) || ((state == JUMP_ATTACK)))){ if (state == JUMP_ATTACK){ if ((((count == 18)) || ((count == 19)))){ if (!_arg1.collision_rect.intersectsCircle(x, (collision_rect.y + (height >> 1)), 40)){ return; }; }; }; if (state == ATTACK){ if ((((count == 3)) || ((count == 4)))){ if (!_arg1.collision_rect.intersectsCircle(x, (y - 5), 40)){ return; }; }; }; _arg1.hit(); }; } public function findFloor():void{ if (g.stack_map[(map_y + 1)][map_x] > -1){ platform = true; y = ((-1 + ((map_y + 1) * Game.scale)) - (height >> 1)); updateCollisionRect(); state = WAITING; }; } public function move():void{ if (dir == RIGHT){ x = (x + SPEED); scan.a.x = (scan.a.x + SPEED); } else { if (dir == LEFT){ x = (x - SPEED); scan.a.x = (scan.a.x - SPEED); }; }; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); } public function updateCollisionRect():void{ collision_rect.x = (x - (width >> 1)); collision_rect.y = (y - (height >> 1)); attack_rect.x = (attack_rect.y = (attack_rect.width = (attack_rect.height = 0))); if (state == JUMP_ATTACK){ collision_rect.y = (y + JUMP_ATTACK_Y[count]); if (count == 9){ attack_rect.x = ((dir == LEFT)) ? (x - 46) : (x - 20); attack_rect.y = (y - 49); attack_rect.width = 72; attack_rect.height = 30; } else { if (count == 11){ attack_rect.x = ((dir == LEFT)) ? (x - 43) : (x - 23); attack_rect.y = (y - 111); attack_rect.width = 72; attack_rect.height = 30; } else { if ((((count == 18)) || ((count == 19)))){ attack_rect.x = ((dir == LEFT)) ? (x - 48) : (x - 46); attack_rect.y = (y - 203); attack_rect.width = 92; attack_rect.height = 92; } else { if (count == 20){ attack_rect.x = ((dir == LEFT)) ? (x - 39) : (x + 9); attack_rect.y = (y - 88); attack_rect.width = 30; attack_rect.height = 5; } else { if ((((count >= 22)) && ((count <= 24)))){ attack_rect.x = ((dir == LEFT)) ? (x - 39) : (x + 9); attack_rect.y = (y + 11); attack_rect.width = 30; attack_rect.height = 5; }; }; }; }; }; }; if (state == ATTACK){ if ((((count == 3)) || ((count == 4)))){ attack_rect.x = ((dir == LEFT)) ? (x - 47) : (x - 41); attack_rect.y = (y - 65); attack_rect.width = 92; attack_rect.height = 92; } else { if ((((count >= 5)) && ((count <= 7)))){ attack_rect.x = ((dir == LEFT)) ? (x - 39) : (x + 9); attack_rect.y = (y + 11); attack_rect.width = 30; attack_rect.height = 5; }; }; }; } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:int; if (!active){ return; }; if (((!(_arg2)) && (!((((state == WAITING)) || ((state == RECOVER))))))){ if (!(((state == ATTACK)) || ((state == JUMP_ATTACK)))){ previous_state = state; state = DEFLECT; count = 0; }; _arg1.ping((_arg1.px - _arg1.x)); return; }; health--; _local3 = new HitSparkMC(); _local3.x = (_arg1.x >> 0); _local3.y = (_arg1.y >> 0); _local4 = collision_rect.sideOf(_arg1.x, _arg1.y); if (_local4 == UP){ } else { if (_local4 == RIGHT){ _local3.rotation = 90; } else { if (_local4 == DOWN){ _local3.rotation = 180; } else { if (_local4 == LEFT){ _local3.rotation = 270; }; }; }; }; g.effect_holder.addChild(_local3); if (health <= 0){ if (!spawned){ g.addScore(reward.value); } else { g.addScore((reward.value / 10)); }; kill((_arg1.x - _arg1.px)); NitromeGame.sound_manager.playSound("smithdie"); } else { NitromeGame.sound_manager.playSound("smithhit"); if (state == WAITING){ if ((((dir == RIGHT)) && ((g.player.x < x)))){ dir = LEFT; } else { if ((((dir == LEFT)) && ((g.player.x > x)))){ dir = RIGHT; }; }; }; }; } } }//package com.nitrome.engine_specific
Section 17
//BladeManGuard (com.nitrome.engine_specific.BladeManGuard) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class BladeManGuard extends Actor { public var detect_rect:Rect; public var py:Number; public var state:int; public var dir:int; public var count:int; public var target:Encounter; public var position:int; public var grid_x:int; public var grid_y:int; public var previous_state:int; public var dot:Dot; public var min_x:Number; public var temp_y:Number; public var max_x:Number; private var i:int; public var platform:Boolean; public var attack_rect:Rect; public static const LEFT:int = 8; private static const GRAVITY_Y:Number = 1.3; public static const DEFLECT:int = 32; private static const JUMP_ATTACK_Y:Array = [-21, -21, -21, -21, -21, -21, -21, -21, -21, -51, -81, -121, -154, -169, -170, -170, -170, -170, -170, -170, -118, -58, -21, -21, -21, -21, -21, -21, -21, -21, -21]; private static const INTO_DEFEND_DELAY:int = 8; public static const UP:int = 1; public static const ELECTRIC:int = 0x0200; public static const RUNNING:int = 1; private static const JUMP_ATTACK_DELAY:int = 30; private static const GUARD_DIST:int = 50; private static const FLOOR_DEPTH:int = 6; public static const DOWN:int = 4; private static const ATTACK_DELAY:int = 13; public static const WAITING:int = 4; public static const SPEED:Number = 6; private static const DEFLECT_DELAY:int = 3; public static const TEST_DEPTH:int = 5; private static const RECOVER_DELAY:int = 10; private static const JUMP_ATTACK_DIST:int = 150; private static const DAMPING_Y:Number = 0.99; public static const DEFEND:int = 128; private static const height:int = 42; public static const RECOVER:int = 64; private static const width:int = 26; public static const ATTACK:int = 8; private static const ATTACK_DIST:int = 10; public static const FALLING:int = 2; public static const INTO_DEFEND:int = 0x0100; public static const JUMP_ATTACK:int = 16; public static const RIGHT:int = 2; public static var point_man:BladeManGuard; public static var rear_guard:Array = []; public function BladeManGuard(_arg1:int, _arg2:Sprite, _arg3:Game){ super(_arg2, _arg3, true); this.dir = _arg1; collision_rect = new Rect((x - (width >> 1)), (y - (height >> 1)), 26, 42); attack_rect = new Rect(); detect_rect = new Rect((x - 20), (y - JUMP_ATTACK_DIST), 40, JUMP_ATTACK_DIST); map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); py = y; if (_arg3.stack_map[(map_y + 1)][map_x] > -1){ platform = true; state = WAITING; } else { platform = false; state = FALLING; }; if (point_man == null){ point_man = this; } else { position = rear_guard.length; rear_guard.push(this); }; } public function toString():String{ var _local1:String; _local1 = ""; if (state == ATTACK){ _local1 = "ATTACK"; } else { if (state == JUMP_ATTACK){ _local1 = "JUMP_ATTACK"; } else { if (state == RUNNING){ _local1 = "RUNNING"; } else { if (state == WAITING){ _local1 = "WAITING"; } else { if (state == RECOVER){ _local1 = "RECOVER"; } else { if (state == FALLING){ _local1 = "FALLING"; } else { if (state == INTO_DEFEND){ _local1 = "INTO_DEFEND"; } else { if (state == DEFEND){ _local1 = "DEFEND"; } else { if (state == DEFLECT){ _local1 = "DEFLECT"; }; }; }; }; }; }; }; }; }; _local1 = (_local1 + ((((("(" + x) + ",") + y) + ")") + count)); return (_local1); } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); } override public function intersects(_arg1:Rect):Boolean{ if ((((state == ATTACK)) || ((state == JUMP_ATTACK)))){ return (attack_rect.intersects(_arg1)); }; return (detect_rect.intersects(_arg1)); } public function updateAnimState():void{ if (state == RUNNING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "run_right"){ (mc as MovieClip).gotoAndStop("run_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "run_left"){ (mc as MovieClip).gotoAndStop("run_left"); }; }; }; } else { if ((((state == WAITING)) || ((state == RECOVER)))){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "wait_right"){ (mc as MovieClip).gotoAndStop("wait_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "wait_left"){ (mc as MovieClip).gotoAndStop("wait_left"); }; }; }; } else { if (state == ATTACK){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "attack_right"){ (mc as MovieClip).gotoAndStop("attack_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "attack_left"){ (mc as MovieClip).gotoAndStop("attack_left"); }; }; }; } else { if (state == JUMP_ATTACK){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "jump_attack_right"){ (mc as MovieClip).gotoAndStop("jump_attack_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "jump_attack_left"){ (mc as MovieClip).gotoAndStop("jump_attack_left"); }; }; }; } else { if (state == FALLING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "fall_right"){ (mc as MovieClip).gotoAndStop("fall_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "fall_left"){ (mc as MovieClip).gotoAndStop("fall_left"); }; }; }; } else { if (state == INTO_DEFEND){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "into_defend_right"){ (mc as MovieClip).gotoAndStop("into_defend_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "into_defend_left"){ (mc as MovieClip).gotoAndStop("into_defend_left"); }; }; }; } else { if (state == DEFEND){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "defend_right"){ (mc as MovieClip).gotoAndStop("defend_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "defend_left"){ (mc as MovieClip).gotoAndStop("defend_left"); }; }; }; } else { if (state == DEFLECT){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "deflect_right"){ (mc as MovieClip).gotoAndStop("deflect_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "deflect_left"){ (mc as MovieClip).gotoAndStop("deflect_left"); }; }; }; } else { if (state == ELECTRIC){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "electric_right"){ (mc as MovieClip).gotoAndStop("electric_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "electric_left"){ (mc as MovieClip).gotoAndStop("electric_left"); }; }; }; }; }; }; }; }; }; }; }; }; } override public function resolveBulletCollision(_arg1):void{ var _local2:Boolean; if (!(((((state == ATTACK)) || ((state == JUMP_ATTACK)))) || ((state == DEFLECT)))){ previous_state = state; state = DEFLECT; count = 0; }; _local2 = !((_arg1 is Bullet)); _arg1 = (_local2) ? _arg1.list[_arg1.hit] : _arg1; if (_local2){ g.addDebris(_arg1.x, _arg1.y, (_arg1.px - _arg1.x), _arg1.bitmap, _arg1.bitmap, _arg1.bitmap, _arg1.bitmap); } else { g.addDebris(_arg1.x, _arg1.y, (_arg1.px - _arg1.x), _arg1.bitmap); }; _arg1.active = false; } public function main():void{ if (((!(forced)) && (!(g.scroller.contains(x, y))))){ if (((active) && ((point_man == this)))){ point_man = null; } else { i = 0; while (i < rear_guard.length) { if (rear_guard[i] == this){ rear_guard.splice(i, 1); break; }; i++; }; i = 0; while (i < rear_guard.length) { rear_guard[i].position = i; i++; }; }; remove(); return; }; if (point_man == null){ i = 0; while (i < rear_guard.length) { if (rear_guard[i] == this){ rear_guard.splice(i, 1); break; }; i++; }; i = 0; while (i < rear_guard.length) { rear_guard[i].position = i; i++; }; point_man = this; }; if (state == WAITING){ if (g.player.dir == RIGHT){ if (x < min_x){ state = RUNNING; dir = RIGHT; } else { if (x > max_x){ state = RUNNING; dir = LEFT; }; }; } else { if (g.player.dir == LEFT){ if (x > max_x){ state = RUNNING; dir = LEFT; } else { if (x < min_x){ state = RUNNING; dir = RIGHT; }; }; }; }; if (electrocuted){ state = INTO_DEFEND; count = 0; }; } else { if (state == RUNNING){ move(); if ((((x > min_x)) && ((x < max_x)))){ state = WAITING; if (g.player.dir == RIGHT){ dir = RIGHT; } else { if (g.player.dir == LEFT){ dir = LEFT; }; }; } else { if (x < min_x){ dir = RIGHT; } else { if (x > max_x){ dir = LEFT; }; }; }; if (dir == RIGHT){ grid_x = ((((x + (width >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if (g.stack_map[grid_y][grid_x] > Game.EMPTY){ state = INTO_DEFEND; count = 0; }; grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ state = INTO_DEFEND; count = 0; }; } else { if (dir == LEFT){ grid_x = ((((x - (width >> 1)) - TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if (g.stack_map[grid_y][grid_x] > Game.EMPTY){ state = INTO_DEFEND; count = 0; }; grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ state = INTO_DEFEND; count = 0; }; }; }; if (electrocuted){ state = INTO_DEFEND; count = 0; }; } else { if (state == FALLING){ findFloor(); if (platform == false){ verletY(GRAVITY_Y, DAMPING_Y); }; } else { if (state == INTO_DEFEND){ count++; if (count >= INTO_DEFEND_DELAY){ state = DEFEND; if (electrocuted){ state = ELECTRIC; }; }; } else { if (state == DEFEND){ if (dir == RIGHT){ if (x > max_x){ dir = LEFT; state = RUNNING; }; } else { if (dir == LEFT){ if (x < min_x){ dir = RIGHT; state = RUNNING; }; }; }; } else { if (state == DEFLECT){ count++; if (count >= DEFLECT_DELAY){ state = previous_state; }; } else { if (state == ATTACK){ count++; if (count >= ATTACK_DELAY){ state = RECOVER; count = 0; target = null; }; } else { if (state == JUMP_ATTACK){ count++; if (count >= JUMP_ATTACK_DELAY){ state = RECOVER; count = 0; target = null; }; } else { if (state == RECOVER){ count++; if (count >= RECOVER_DELAY){ state = RUNNING; count = 0; }; }; }; }; }; }; }; }; }; }; updateAnimState(); updateMC(); updateCollisionRect(); } override public function resolveEncounterCollision(_arg1):void{ if ((((state == ATTACK)) || ((state == JUMP_ATTACK)))){ if (target != null){ return; }; if (state == JUMP_ATTACK){ if ((((count == 18)) || ((count == 19)))){ if (!_arg1.collision_rect.intersectsCircle(x, (collision_rect.y + (height >> 1)), 40)){ return; }; }; }; if (state == ATTACK){ if ((((count == 3)) || ((count == 4)))){ if (!_arg1.collision_rect.intersectsCircle(x, (y - 5), 40)){ return; }; }; }; _arg1.resolveWeaponCollision(new Star(x, y, 0, 0, null, g), true); target = _arg1; } else { if (_arg1.y < (y - 40)){ state = JUMP_ATTACK; } else { state = ATTACK; }; count = 0; }; } public function move():void{ if (dir == RIGHT){ x = (x + SPEED); } else { if (dir == LEFT){ x = (x - SPEED); }; }; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); } public function findFloor():void{ if (g.stack_map[(map_y + 1)][map_x] > -1){ if (((((map_x * Game.scale) > ((-1 + x) + (width >> 1)))) || (((((map_x * Game.scale) + Game.scale) - 1) < (x - (width >> 1)))))){ return; }; if (((((y + (height >> 1)) < ((map_y + 1) * Game.scale))) || (((y + (height >> 1)) > ((((map_y + 1) * Game.scale) + FLOOR_DEPTH) + (y - py)))))){ return; }; platform = true; y = (((map_y + 1) * Game.scale) - (height >> 1)); updateCollisionRect(); state = WAITING; }; } public function verletY(_arg1:Number, _arg2:Number):void{ temp_y = y; y = (y + ((_arg2 * (y - py)) + _arg1)); py = temp_y; map_y = ((y * Game.SCALE) >> 0); } public function updateCollisionRect():void{ if (point_man == this){ if (g.player.dir == RIGHT){ min_x = ((g.player.x + GUARD_DIST) + GUARD_DIST); max_x = (((g.player.x + GUARD_DIST) + GUARD_DIST) + (GUARD_DIST * 0.5)); } else { if (g.player.dir == LEFT){ min_x = (((g.player.x - GUARD_DIST) - GUARD_DIST) - (GUARD_DIST * 0.5)); max_x = ((g.player.x - GUARD_DIST) - GUARD_DIST); }; }; } else { if (g.player.dir == RIGHT){ min_x = ((g.player.x - (GUARD_DIST * (position + 1))) - (GUARD_DIST * 0.5)); max_x = (g.player.x - (GUARD_DIST * (position + 1))); } else { if (g.player.dir == LEFT){ min_x = (g.player.x + (GUARD_DIST * (position + 1))); max_x = ((g.player.x + (GUARD_DIST * (position + 1))) + (GUARD_DIST * 0.5)); }; }; }; if (min_x < 0){ min_x = 0; max_x = GUARD_DIST; }; if (max_x > (g.scroller.width * Game.scale)){ max_x = (g.scroller.width * Game.scale); min_x = (max_x - GUARD_DIST); }; collision_rect.x = (x - (width >> 1)); collision_rect.y = (y - (height >> 1)); detect_rect.x = (x - (detect_rect.width * 0.5)); detect_rect.y = (y - JUMP_ATTACK_DIST); attack_rect.x = (attack_rect.y = (attack_rect.width = (attack_rect.height = 0))); if (state == JUMP_ATTACK){ collision_rect.y = (y + JUMP_ATTACK_Y[count]); if (count == 9){ attack_rect.x = ((dir == LEFT)) ? (x - 46) : (x - 20); attack_rect.y = (y - 49); attack_rect.width = 72; attack_rect.height = 30; } else { if (count == 11){ attack_rect.x = ((dir == LEFT)) ? (x - 43) : (x - 23); attack_rect.y = (y - 111); attack_rect.width = 72; attack_rect.height = 30; } else { if ((((count == 18)) || ((count == 19)))){ attack_rect.x = ((dir == LEFT)) ? (x - 48) : (x - 46); attack_rect.y = (y - 203); attack_rect.width = 92; attack_rect.height = 92; } else { if (count == 20){ attack_rect.x = ((dir == LEFT)) ? (x - 39) : (x + 9); attack_rect.y = (y - 88); attack_rect.width = 30; attack_rect.height = 5; } else { if ((((count >= 22)) && ((count <= 24)))){ attack_rect.x = ((dir == LEFT)) ? (x - 39) : (x + 9); attack_rect.y = (y + 11); attack_rect.width = 30; attack_rect.height = 5; }; }; }; }; }; }; if (state == ATTACK){ if ((((count == 3)) || ((count == 4)))){ attack_rect.x = ((dir == LEFT)) ? (x - 47) : (x - 41); attack_rect.y = (y - 65); attack_rect.width = 92; attack_rect.height = 92; } else { if ((((count >= 5)) && ((count <= 7)))){ attack_rect.x = ((dir == LEFT)) ? (x - 39) : (x + 9); attack_rect.y = (y + 11); attack_rect.width = 30; attack_rect.height = 5; }; }; }; } public static function clear():void{ point_man = null; rear_guard = []; } } }//package com.nitrome.engine_specific
Section 18
//Block (com.nitrome.engine_specific.Block) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class Block extends Rect { public var active:Boolean; public var block:Boolean;// = true public var px:Number; public var py:Number; public var moving_block:Boolean;// = false public var attachable:Boolean; public var force_field:Boolean;// = false public var stacked:int; public var cutting:Boolean;// = false public function Block(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ block = true; force_field = false; moving_block = false; cutting = false; super(_arg1, _arg2, _arg3, _arg4); px = _arg1; py = _arg2; stacked = 0; attachable = true; active = true; } public function stack(_arg1:int):void{ stacked = (stacked | _arg1); } } }//package com.nitrome.engine_specific
Section 19
//BlockClip (com.nitrome.engine_specific.BlockClip) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class BlockClip extends Clip { public var spawn:Boolean;// = false public var b:Block; public function BlockClip(_arg1:Sprite, _arg2:Game){ spawn = false; super(_arg1, _arg2); block = true; } public function debug():void{ b.draw(g.debug); if (b.stacked > 0){ if ((b.stacked & Rect.UP)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo((b.x + (b.width * 0.5)), b.y); }; if ((b.stacked & Rect.RIGHT)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo((b.x + b.width), (b.y + (b.height * 0.5))); }; if ((b.stacked & Rect.DOWN)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo((b.x + (b.width * 0.5)), (b.y + b.height)); }; if ((b.stacked & Rect.LEFT)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo(b.x, (b.y + (b.height * 0.5))); }; }; } } }//package com.nitrome.engine_specific
Section 20
//Boss (com.nitrome.engine_specific.Boss) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Boss extends FlyingBot { public var emitter_count:int; public var final_boom_count:int; public var by:Number; public var bx:Number; public var shield:Sprite; public var health:int; public var health_fraction:Number; public var emitter_delay:int; public var total_health:int;// = 40 public var boom_count:int; public var shielded:Boolean; public var emitters:Array; public var collision_rect:Rect; public static const TOTAL_EMITTERS:int = 3; public static const SPIDER_HITS:int = 5; public static const ESCAPE_DELAY:int = 150; public static const SPEED:Number = 2; public static const DYING:int = 4; public static const BOOM_DELAY:int = 10; public static const WARM_UP_STEP:Number = 0.08; public static const FINAL_BOOM_DELAY:int = 200; public function Boss(_arg1:Sprite, _arg2:Game, _arg3:Boolean){ var _local4:int; var _local5:Emitter; total_health = 40; super(Path.STOPPED, _arg1, _arg2); this.shielded = _arg3; selectPatrolPath(); state = MOVING; collision_rect = new Rect((x - 16), (y - 16), 32, 32); emitter_delay = 25; if (this.shielded){ shield = new SmallShieldMC(); shield.blendMode = BlendMode.LIGHTEN; _arg1.addChild(shield); emitter_delay = 75; }; health = total_health; health_fraction = (1 / total_health); reward = new HiddenInt(5000); emitter_count = 0; emitters = []; _local4 = 0; while (_local4 < TOTAL_EMITTERS) { _local5 = createEmitter(); _local5.angle = ((_local4 * 120) % 360); _local4++; }; _arg2.boss_level = true; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); if (shield != null){ if (shield.alpha < 0.2){ shield.alpha = (shield.alpha + WARM_UP_STEP); } else { if (shield.alpha > 0.2){ shield.alpha = (shield.alpha - WARM_UP_STEP); }; }; }; } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } public function kill():void{ var _local1:int; if (!active){ return; }; g.addFX(mc.x, mc.y, g.bang_bitmap3); g.addSmoke(mc.x, mc.y); g.addSmoke(mc.x, mc.y); g.addSmoke(mc.x, mc.y); g.addSmoke(mc.x, mc.y); g.addSmoke(mc.x, mc.y); _local1 = 0; while (_local1 < emitters.length) { emitters[_local1].kill(); _local1++; }; _local1 = 0; while (_local1 < g.bullets.length) { g.bullets[_local1].kill(0); _local1++; }; _local1 = 0; while (_local1 < g.encounters.length) { if (((!((g.encounters[_local1] == this))) && (g.encounters[_local1].has_collision))){ g.encounters[_local1].kill(); }; _local1++; }; g.shake(5); state = DYING; boom_count = (BOOM_DELAY + (Math.random() * BOOM_DELAY)); final_boom_count = (shielded) ? FINAL_BOOM_DELAY : ESCAPE_DELAY; if (!spawned){ NitromeGame.bonus.enemy_count.value++; }; } override public function remove():void{ } public function main():void{ if (state == MOVING){ move(); if ((((dir == UP)) || ((dir == DOWN)))){ if (((y - 32) * Game.SCALE) == map_y){ selectPatrolPath(); }; } else { if ((((dir == LEFT)) || ((dir == RIGHT)))){ if (((x - 32) * Game.SCALE) == map_x){ selectPatrolPath(); }; } else { if (dir == STOPPED){ selectPatrolPath(); }; }; }; } else { if (state == TURNING){ state = MOVING; } else { if (state == DYING){ if ((((boom_count-- <= 0)) && (!(g.completed)))){ bx = ((-(Emitter.RADIUS) + mc.x) + ((Math.random() * Emitter.RADIUS) * 2)); by = ((-(Emitter.RADIUS) + mc.y) + ((Math.random() * Emitter.RADIUS) * 2)); g.addFX(bx, by, g.bang_bitmap1); g.addSmoke(bx, by); g.addSmoke(bx, by); g.shake(3); boom_count = (BOOM_DELAY + (Math.random() * BOOM_DELAY)); }; final_boom_count--; if (((shielded) && ((final_boom_count <= 0)))){ g.shake(20); bx = ((-(Emitter.RADIUS) + mc.x) + ((Math.random() * Emitter.RADIUS) * 2)); by = ((-(Emitter.RADIUS) + mc.y) + ((Math.random() * Emitter.RADIUS) * 2)); g.addFX(bx, by, g.bang_bitmap2); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); bx = ((-(Emitter.RADIUS) + mc.x) + ((Math.random() * Emitter.RADIUS) * 2)); by = ((-(Emitter.RADIUS) + mc.y) + ((Math.random() * Emitter.RADIUS) * 2)); g.addFX(bx, by, g.bang_bitmap2); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); bx = ((-(Emitter.RADIUS) + mc.x) + ((Math.random() * Emitter.RADIUS) * 2)); by = ((-(Emitter.RADIUS) + mc.y) + ((Math.random() * Emitter.RADIUS) * 2)); g.addFX(bx, by, g.bang_bitmap2); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); bx = ((-(Emitter.RADIUS) + mc.x) + ((Math.random() * Emitter.RADIUS) * 2)); by = ((-(Emitter.RADIUS) + mc.y) + ((Math.random() * Emitter.RADIUS) * 2)); g.addFX(bx, by, g.bang_bitmap2); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); bx = ((-(Emitter.RADIUS) + mc.x) + ((Math.random() * Emitter.RADIUS) * 2)); by = ((-(Emitter.RADIUS) + mc.y) + ((Math.random() * Emitter.RADIUS) * 2)); g.addFX(bx, by, g.bang_bitmap2); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); g.addSmoke(bx, by); NitromeGame.sound_manager.playSound("bang4"); active = false; g.player.levelComplete(); } else { y--; x++; if (final_boom_count == 0){ g.player.levelComplete(); }; }; }; }; }; updateMC(); updateCollisionRect(); } override public function resolvePlayerCollision(_arg1:Player):void{ _arg1.hit(); } public function createEmitter():Emitter{ var _local1:MovieClip; var _local2:Emitter; _local1 = new EmitterMC(); _local1.x = (x + (Trig.cos[270] * Emitter.RADIUS)); _local1.y = (y + (Trig.cos[270] * Emitter.RADIUS)); g.monster_holder.addChild(_local1); _local2 = new Emitter(_local1, this, g); emitters.push(_local2); return (_local2); } public function move():void{ if (dir == UP){ y = (y - SPEED); } else { if (dir == RIGHT){ x = (x + SPEED); } else { if (dir == LEFT){ x = (x - SPEED); } else { if (dir == DOWN){ y = (y + SPEED); }; }; }; }; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); } public function updateCollisionRect():void{ collision_rect.x = (x - 16); collision_rect.y = (y - 16); } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:int; if (((!(active)) || ((state == DYING)))){ return; }; if (((_arg2) || (!(shielded)))){ if (!_arg2){ health = (health - 1); } else { health = (health - (total_health / SPIDER_HITS)); }; _local3 = new HitSparkMC(); _local3.x = (_arg1.x >> 0); _local3.y = (_arg1.y >> 0); _local4 = collision_rect.sideOf(_arg1.x, _arg1.y); if (_local4 == UP){ } else { if (_local4 == RIGHT){ _local3.rotation = 90; } else { if (_local4 == DOWN){ _local3.rotation = 180; } else { if (_local4 == LEFT){ _local3.rotation = 270; }; }; }; }; NitromeGame.sound_manager.playSound("bossouch"); g.effect_holder.addChild(_local3); if (health <= 0){ g.addScore(reward.value); kill(); }; } else { shield.alpha = 1; _arg1.ping((_arg1.px - _arg1.x)); }; } } }//package com.nitrome.engine_specific
Section 21
//Bullet (com.nitrome.engine_specific.Bullet) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class Bullet extends Dot { public var active:Boolean; public var px:Number; public var py:Number; public var temp_x:Number; public var map_y:int; public var init:Boolean; public var map_x:int; public var temp_y:Number; public var g:Game; public var frame:int; public var bitmap:BitmapSprite; public function Bullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:BitmapSprite, _arg7:Game){ super(_arg1, _arg2); this.g = _arg7; this.bitmap = _arg6; active = true; init = false; frame = 0; px = (_arg1 - (_arg3 * _arg5)); py = (_arg2 - (_arg4 * _arg5)); } public function main():void{ var _local1:Block; var _local2:int; var _local3:Number; var _local4:Number; var _local5:Rect; var _local6:*; var _local7:Number; var _local8:Number; if (!init){ init = true; return; }; temp_x = x; temp_y = y; x = (x + (x - px)); y = (y + (y - py)); px = temp_x; py = temp_y; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); if (!g.scroller.contains(x, y)){ active = false; return; }; if (g.stack_map[map_y][map_x] > Game.EMPTY){ _local1 = g.block_map[map_y][map_x].b; if (!_local1.contains(x, y)){ return; }; _local2 = _local1.sideOf(x, y); _local3 = (x - px); _local4 = (y - py); _local5 = new Rect(0, 0, 0, 0); _local5.x = Math.min(x, px); _local5.y = Math.min(y, py); _local5.width = Math.abs((x - px)); _local5.height = Math.abs((y - py)); _local6 = _local5.intersection(_local1); _local7 = 0; _local8 = 0; if (_local3 != 0){ _local7 = (Math.min(Math.abs(_local3), _local6.width) * ((_local3 > 0)) ? 1 : -1); }; if (_local4 != 0){ _local8 = (Math.min(Math.abs(_local4), _local6.height) * ((_local4 > 0)) ? 1 : -1); }; x = (x - _local7); y = (y - _local8); _local2 = _local1.sideOf(x, y); if ((_local1.stacked & _local2)){ if ((((_local2 == Rect.UP)) || ((_local2 == Rect.DOWN)))){ if (x < (_local1.x + (_local1.width * 0.5))){ x = (_local1.x - 1); _local2 = Rect.LEFT; } else { x = (_local1.x + _local1.width); _local2 = Rect.RIGHT; }; } else { if ((((_local2 == Rect.RIGHT)) || ((_local2 == Rect.LEFT)))){ if (y < (_local1.y + (_local1.height * 0.5))){ y = (_local1.y - 1); _local2 = Rect.UP; } else { y = (_local1.y + _local1.height); _local2 = Rect.DOWN; }; }; }; } else { if (_local2 == Rect.LEFT){ x = (_local1.x - 1); } else { if (_local2 == Rect.UP){ y = (_local1.y - 1); }; }; }; kill(_local2); }; } public function resolvePlayerCollision(_arg1:Player):void{ _arg1.hit(); kill(_arg1.collision_rect.sideOf(x, y)); } public function kill(_arg1:int):void{ if (!active){ return; }; active = false; if (bitmap == g.bullet_bitmap){ if (_arg1 == Rect.UP){ g.addFX(x, y, g.bullet_hit_bitmap_up); } else { if (_arg1 == Rect.RIGHT){ g.addFX(x, y, g.bullet_hit_bitmap_right); } else { if (_arg1 == Rect.DOWN){ g.addFX(x, y, g.bullet_hit_bitmap_down); } else { if (_arg1 == Rect.LEFT){ g.addFX(x, y, g.bullet_hit_bitmap_left); }; }; }; }; } else { if (bitmap == g.grenade_bitmap){ g.addFX(x, y, g.bang_bitmap1); } else { if (bitmap == g.boss_bullet_bitmap){ g.addFX(x, y, g.boss_bullet_hit_bitmap); }; }; }; } public function updateMC():void{ bitmap.x = (-(g.bullet_layer_holder.x) + x); bitmap.y = (-(g.bullet_layer_holder.y) + y); bitmap.render(g.bullet_layer, frame); frame = ((frame + 1) % bitmap.total_frames); } public function erase():void{ active = false; } public function intersects(_arg1:Rect):Boolean{ return (_arg1.intersectsCircle(x, y, 3)); } } }//package com.nitrome.engine_specific
Section 22
//BulletGroup (com.nitrome.engine_specific.BulletGroup) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class BulletGroup { public var active:Boolean; private var i:int; public var hit:int; public var list:Array; public function BulletGroup(_arg1:Array){ active = true; this.list = _arg1; } public function resolvePlayerCollision(_arg1:Player):void{ _arg1.hit(); list[hit].kill(_arg1.collision_rect.sideOf(list[hit].x, list[hit].y)); } public function intersects(_arg1:Rect):Boolean{ i = 0; while (i < list.length) { if (list[i].intersects(_arg1)){ hit = i; return (true); }; i++; }; return (false); } public function main():void{ i = 0; while (i < list.length) { list[i].main(); if (!list[i].active){ active = false; return; }; i++; }; } public function updateMC():void{ i = 0; while (i < list.length) { list[i].updateMC(); i++; }; } } }//package com.nitrome.engine_specific
Section 23
//Cammo (com.nitrome.engine_specific.Cammo) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Cammo extends Encounter { public var health_fraction:Number;// = 0 public var collision_rect:Rect; public var health:int;// = 0 public function Cammo(_arg1:Sprite, _arg2:Game){ health = 0; health_fraction = 0; super(_arg1, _arg2, false); collision_rect = new Rect((_arg1.x + 16), (_arg1.y + 32), 32, 32); actor_target = false; } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } override public function resolvePlayerCollision(_arg1:Player):void{ if (!((_arg1.chameleon_pickup) || (_arg1.chameleon))){ _arg1.chameleon_pickup = true; (mc as MovieClip).gotoAndStop("collect"); NitromeGame.sound_manager.playSound("coins"); }; } override public function unpause():void{ if ((mc as MovieClip).currentLabel == "idle"){ (mc as MovieClip).gotoAndStop("idle"); }; } } }//package com.nitrome.engine_specific
Section 24
//Coin (com.nitrome.engine_specific.Coin) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Coin extends Encounter { public var collision_rect:Rect; public function Coin(_arg1:Sprite, _arg2:Game){ super(_arg1, _arg2, false); collision_rect = new Rect((_arg1.x + 15), (_arg1.y + 36), 35, 28); actor_target = false; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } override public function resolvePlayerCollision(_arg1:Player):void{ g.addScore(50); kill(); } public function kill():void{ var _local1:MovieClip; if (!active){ return; }; _local1 = new CoinFadeMC(); NitromeGame.sound_manager.playSound("coins"); NitromeGame.bonus.cash_count.value++; _local1.x = mc.x; _local1.y = mc.y; g.star_holder.addChild(_local1); g.scroller.map_array_layers[layer][map_y][map_x] = 0; active = false; } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ if (!active){ return; }; g.addScore(50); kill(); } } }//package com.nitrome.engine_specific
Section 25
//Coward (com.nitrome.engine_specific.Coward) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Coward extends Encounter { public var py:Number; public var paused:Boolean; public var cast:RayCastReport; public var firing_count:int; public var a:Dot; public var health:int;// = 0 public var platform:Boolean; public var health_fraction:Number;// = 0 public var controlled:Boolean; public var state:int; public var dir:int; public var pause_count:int;// = 0 public var grid_x:int; public var grid_y:int; public var stop_dir:int; public var collision_rect:Rect; public var temp_y:Number; public static const RIGHT:int = 2; private static const width:int = 26; public static const LEFT:int = 8; private static const GRAVITY_Y:Number = 1.3; private static const height:int = 42; private static const FLOOR_DEPTH:int = 6; public static const UP:int = 1; public static const RUNNING:int = 1; public static const SPEED:Number = 8; public static const DOWN:int = 4; public static const STOPPED:int = 0; public static const FALLING:int = 2; public static const WAIT:int = 4; public static const TEST_DEPTH:int = 5; private static const DAMPING_Y:Number = 0.99; public function Coward(_arg1:int, _arg2:Sprite, _arg3:Game){ health = 0; health_fraction = 0; pause_count = 0; super(_arg2, _arg3, true); has_main = true; has_collision = true; this.dir = _arg1; collision_rect = new Rect((x - (width >> 1)), (y - (height >> 1)), 26, 42); map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); py = y; if (_arg3.stack_map[(map_y + 1)][map_x] > Game.EMPTY){ platform = true; state = WAIT; } else { platform = false; state = FALLING; }; controlled = ((!((_arg3.actor_map[map_y][map_x] == 0))) || (!((((_arg3.actor_map[map_y][map_x] >= 0)) || ((_arg3.actor_map[map_y][map_x] <= 0)))))); if (controlled){ paused = false; pause_count = 0; selectPatrolPath(); }; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function updateAnimState():void{ if (state == RUNNING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "run_right"){ (mc as MovieClip).gotoAndStop("run_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "run_left"){ (mc as MovieClip).gotoAndStop("run_left"); }; } else { if (dir == STOPPED){ if (stop_dir == RIGHT){ if ((mc as MovieClip).currentLabel != "stop_right"){ (mc as MovieClip).gotoAndStop("stop_right"); }; } else { if (stop_dir == LEFT){ if ((mc as MovieClip).currentLabel != "stop_left"){ (mc as MovieClip).gotoAndStop("stop_left"); }; }; }; }; }; }; } else { if (state == FALLING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "fall_right"){ (mc as MovieClip).gotoAndStop("fall_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "fall_left"){ (mc as MovieClip).gotoAndStop("fall_left"); }; }; }; } else { if (state == WAIT){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "stop_right"){ (mc as MovieClip).gotoAndStop("stop_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "stop_left"){ (mc as MovieClip).gotoAndStop("stop_left"); }; }; }; }; }; }; } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); } public function selectPatrolPath():void{ if (pause_count == -1){ return; }; if ((((dir == Path.STOPPED)) && ((pause_count > 0)))){ pause_count = 0; state = WAIT; return; }; stop_dir = dir; Path.getDir(dir, g.actor_map, null, map_x, map_y); dir = Path.dir; pause_count = (paused) ? 0 : Path.pause_delay; if (pause_count > 0){ dir = Path.STOPPED; paused = true; return; }; paused = false; } public function main():void{ if (state == RUNNING){ if (((((g.scroller.contains(x, y)) || ((map_x == 0)))) || ((map_x == (g.scroller.width - 1))))){ move(); }; if (controlled){ if ((((dir == RIGHT)) || ((dir == LEFT)))){ if (((x - 32) * Game.SCALE) == map_x){ selectPatrolPath(); }; } else { if (dir == Path.STOPPED){ selectPatrolPath(); }; }; }; if ((((dir == RIGHT)) && ((map_x < (g.scroller.width - 1))))){ grid_x = ((((x + (width >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if ((((g.stack_map[grid_y][grid_x] > Game.EMPTY)) && (!((g.stack_map[grid_y][grid_x] & Rect.TEMP))))){ dir = LEFT; }; grid_x = (((x - (width >> 1)) * Game.SCALE) >> 0); grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ state = FALLING; platform = false; py = y; }; } else { if ((((dir == LEFT)) && ((map_x > 0)))){ grid_x = ((((x - (width >> 1)) - TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if ((((g.stack_map[grid_y][grid_x] > Game.EMPTY)) && (!((g.stack_map[grid_y][grid_x] & Rect.TEMP))))){ dir = RIGHT; }; grid_x = (((x + (width >> 1)) * Game.SCALE) >> 0); grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ state = FALLING; platform = false; py = y; }; }; }; } else { if (state == FALLING){ if (g.scroller.contains(x, y)){ move(); findFloor(); if (platform == false){ verletY(GRAVITY_Y, DAMPING_Y); }; }; } else { if (state == WAIT){ if (((Util.proximity(g.player.x, g.player.y, x, y, 200)) && ((Math.abs((g.player.y - y)) < 100)))){ state = RUNNING; }; }; }; }; updateAnimState(); updateMC(); updateCollisionRect(); } public function verletY(_arg1:Number, _arg2:Number):void{ temp_y = y; y = (y + ((_arg2 * (y - py)) + _arg1)); py = temp_y; map_y = ((y * Game.SCALE) >> 0); } public function findFloor():void{ grid_x = (x * Game.SCALE); if (g.stack_map[(map_y + 1)][grid_x] > Game.EMPTY){ platform = true; y = ((((map_y + 1) * Game.scale) - (height >> 1)) - 2); updateCollisionRect(); state = RUNNING; }; } public function move():void{ if (dir == RIGHT){ x = (x + SPEED); } else { if (dir == LEFT){ x = (x - SPEED); }; }; map_x = (((x - 32) * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); } public function updateCollisionRect():void{ collision_rect.x = (x - (width >> 1)); collision_rect.y = (y - (height >> 1)); } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ _arg1.ping((_arg1.px - _arg1.x)); } } }//package com.nitrome.engine_specific
Section 26
//CowardSwitch (com.nitrome.engine_specific.CowardSwitch) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class CowardSwitch extends Encounter { public const ACTIVE:int = 2; public const DEATH_DELAY:int = 85; public const INACTIVE:int = 1; public var health_fraction:Number;// = 0.33333 public var state:int; public var death_count:int; public var collision_rect:Rect; public var health:int;// = 3 public static const DOWN:int = 4; public static const LEFT:int = 8; public static const UP:int = 1; public static const RIGHT:int = 2; public function CowardSwitch(_arg1:int, _arg2:Sprite, _arg3:Game){ health = 3; health_fraction = 0.33333; super(_arg2, _arg3, false); this.id_tag = _arg1; if (_arg3.tags[_arg1] == null){ _arg3.tags[_arg1] = true; }; if (_arg3.tags[_arg1]){ has_collision = true; state = ACTIVE; collision_rect = new Rect((x + 21), (y + 18), 22, 46); (_arg2 as MovieClip).gotoAndStop("active"); death_count = 0; } else { state = INACTIVE; _arg2.visible = false; has_collision = false; collision_rect = new Rect(); }; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function main():void{ var _local1:int; death_count++; if (death_count >= DEATH_DELAY){ g.addFX((x + 66), (y + 55), g.bang_bitmap1); g.addSmoke((x + 66), (y + 55)); g.addSmoke((x + 66), (y + 55)); g.addSmoke((x + 66), (y + 55)); g.shake(5); has_main = false; mc.visible = false; collision_rect = new Rect(); state = INACTIVE; g.tags[id_tag] = false; _local1 = 0; while (_local1 < g.encounters.length) { if (((!((g.encounters[_local1] == this))) && ((g.encounters[_local1].id_tag == id_tag)))){ g.encounters[_local1].deactivate(); }; _local1++; }; NitromeGame.bonus.enemy_count.value++; }; } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:int; if ((((state == INACTIVE)) || (!(has_collision)))){ return; }; health--; _local3 = new HitSparkMC(); _local3.x = (_arg1.x >> 0); _local3.y = (_arg1.y >> 0); _local4 = collision_rect.sideOf(_arg1.x, _arg1.y); if (_local4 == UP){ } else { if (_local4 == RIGHT){ _local3.rotation = 90; } else { if (_local4 == DOWN){ _local3.rotation = 180; } else { if (_local4 == LEFT){ _local3.rotation = 270; }; }; }; }; g.effect_holder.addChild(_local3); NitromeGame.sound_manager.playSound("scientisthit"); if (health <= 0){ has_collision = false; has_main = true; g.addScore(1000); (mc as MovieClip).gotoAndStop("inactive"); }; } override public function unpause():void{ if (state == ACTIVE){ (mc as MovieClip).gotoAndStop("active"); }; } } }//package com.nitrome.engine_specific
Section 27
//DeadStar (com.nitrome.engine_specific.DeadStar) package com.nitrome.engine_specific { import flash.display.*; import flash.events.*; public class DeadStar extends Sprite { public var dead:Boolean;// = false private static const FADE_RATE:Number = 0.2; public function DeadStar(){ dead = false; super(); } public function init(_arg1:int):void{ if (_arg1 == 1){ } else { if (_arg1 == 2){ rotation = 22.5; } else { if (_arg1 == 3){ rotation = 45; } else { if (_arg1 == 4){ rotation = 67.5; }; }; }; }; } public function kill():void{ dead = true; addEventListener(Event.ENTER_FRAME, fade, false, 0, true); } private function fade(_arg1:Event):void{ if (alpha > 0){ alpha = (alpha - FADE_RATE); } else { removeEventListener(Event.ENTER_FRAME, main); if (parent != null){ parent.removeChild(this); }; }; } public function main():void{ } } }//package com.nitrome.engine_specific
Section 28
//DebrisFX (com.nitrome.engine_specific.DebrisFX) package com.nitrome.engine_specific { public class DebrisFX extends FX { public var px:Number; public var py:Number; public var dir:Number; public var temp_x:Number; public var temp_y:Number; public function DebrisFX(_arg1:Number, _arg2:Number, _arg3:BitmapSprite, _arg4:Game){ super(_arg1, _arg2, _arg3, _arg4); dir = ((Math.random() > 0.5)) ? 15 : -15; px = _arg1; py = _arg2; } override public function main():void{ var _local1:*; var _local2:*; _local1 = x; _local2 = y; x = (x + ((x - px) * 0.95)); y = (y + ((y - py) + 1)); px = _local1; py = _local2; bitmap.x = (-(g.fx_layer_holder.x) + x); bitmap.y = (-(g.fx_layer_holder.y) + y); bitmap.render(g.fx_layer, 0); } public function addVelocity(_arg1:Number, _arg2:Number):void{ px = (px - _arg1); py = (py - _arg2); } } }//package com.nitrome.engine_specific
Section 29
//ElectricBlock (com.nitrome.engine_specific.ElectricBlock) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class ElectricBlock extends EncounterBlock { public var health_fraction:Number;// = 0 public var collision_rect:Rect; public var health:int;// = 0 public function ElectricBlock(_arg1:Sprite, _arg2:Game){ health = 0; health_fraction = 0; super(_arg1, _arg2); collision_rect = new Rect((x - 5), (y - 5), (Game.scale + 10), (Game.scale + 10)); has_collision = true; } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } override public function resolvePlayerCollision(_arg1:Player):void{ _arg1.hit(); } } }//package com.nitrome.engine_specific
Section 30
//ElectricFinish (com.nitrome.engine_specific.ElectricFinish) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class ElectricFinish extends Encounter { public var health_fraction:Number;// = 0 public var collision_rect:Rect; public var health:int;// = 0 public function ElectricFinish(_arg1:Sprite, _arg2:Game){ var _local3:int; health = 0; health_fraction = 0; super(_arg1, _arg2, false); map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); _local3 = 0; while (_local3 < _arg2.scroller.height) { if ((map_y - _local3) <= 0){ break; }; if (_arg2.stack_map[(map_y - _local3)][map_x] > Game.EMPTY){ _local3--; break; }; _local3++; }; collision_rect = new Rect((_arg1.x + 30), ((map_y - _local3) * Game.scale), 4, (Game.scale + (_local3 * Game.scale))); actor_target = false; has_main = false; } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } override public function resolvePlayerCollision(_arg1:Player):void{ if (!active){ return; }; g.player.levelComplete(this); NitromeGame.sound_manager.playSound("electric"); g.scroller.map_array_layers[layer][map_y][map_x] = 0; g.mouse_pressed = false; } } }//package com.nitrome.engine_specific
Section 31
//Emitter (com.nitrome.engine_specific.Emitter) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Emitter extends Encounter { public var cycle_count:int; public var dir:int; public var health_fraction:Number;// = 0 public var firing_count:int; public var collision_rect:Rect; public var health:int;// = 0 public var angle:int; public var boss:Boss; public static const BURST_DELAY:int = 30; public static const WIDTH:Number = 16; public static const HEIGHT:Number = 16; public static const BULLET_SPEED:int = 4; public static const CYCLE_DELAY:int = 60; public static const RADIUS:Number = 72; public static const FIRING_DELAY:int = 2; public function Emitter(_arg1:MovieClip, _arg2:Boss, _arg3:Game){ health = 0; health_fraction = 0; super(_arg1, _arg3, true); this.boss = _arg2; has_main = true; has_collision = true; angle = 270; dir = 2; firing_count = 0; cycle_count = 0; angle = 0; collision_rect = new Rect((x - (WIDTH * 0.5)), (y - (HEIGHT * 0.5)), WIDTH, HEIGHT); _arg1.alpha = 0; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ if (mc.alpha < 1){ return (false); }; return (collision_rect.contains(_arg1, _arg2)); } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); if (mc.alpha < 1){ mc.alpha = (mc.alpha + 0.01); }; } override public function intersects(_arg1:Rect):Boolean{ if (mc.alpha < 1){ return (false); }; return (collision_rect.intersects(_arg1)); } public function main():void{ angle = (angle + dir); if (angle > 359){ angle = (angle - 360); } else { if (angle < 0){ angle = (angle + 360); }; }; x = (boss.x + (RADIUS * Trig.cos[angle])); y = (boss.y + (RADIUS * Trig.sin[angle])); updateCollisionRect(); cycle_count++; if ((((((mc.alpha >= 1)) && (boss.active))) && ((cycle_count < BURST_DELAY)))){ fire(); }; if (cycle_count >= CYCLE_DELAY){ cycle_count = 0; } else { if (!boss.active){ kill(); }; }; updateMC(); } public function fire():void{ if (firing_count++ >= FIRING_DELAY){ g.addBullet(x, y, Trig.cos[angle], Trig.sin[angle], BULLET_SPEED, g.boss_bullet_bitmap); firing_count = 0; }; } override public function resolvePlayerCollision(_arg1:Player):void{ _arg1.hit(); } public function kill():void{ if (!active){ return; }; active = false; g.addFX(mc.x, mc.y, g.bang_bitmap1); } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:int; if (mc.alpha < 1){ return; }; _local3 = new HitSparkMC(); _local3.x = (_arg1.x >> 0); _local3.y = (_arg1.y >> 0); _local4 = collision_rect.sideOf(_arg1.x, _arg1.y); if (_local4 == Rect.UP){ } else { if (_local4 == Rect.RIGHT){ _local3.rotation = 90; } else { if (_local4 == Rect.DOWN){ _local3.rotation = 180; } else { if (_local4 == Rect.LEFT){ _local3.rotation = 270; }; }; }; }; g.effect_holder.addChild(_local3); g.addFX(mc.x, mc.y, g.bang_bitmap1); mc.alpha = 0; } public function updateCollisionRect():void{ collision_rect.x = (x - (WIDTH * 0.5)); collision_rect.y = (y - (HEIGHT * 0.5)); } } }//package com.nitrome.engine_specific
Section 32
//EncounterBlock (com.nitrome.engine_specific.EncounterBlock) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class EncounterBlock extends Encounter { public var b:Block; public var spawn:Boolean;// = false public function EncounterBlock(_arg1:Sprite, _arg2:Game){ spawn = false; super(_arg1, _arg2, false); block = true; free = false; has_collision = false; actor_target = false; } override public function debug():void{ b.draw(g.debug); if (b.stacked > 0){ if ((b.stacked & Rect.UP)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo((b.x + (b.width * 0.5)), b.y); }; if ((b.stacked & Rect.RIGHT)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo((b.x + b.width), (b.y + (b.height * 0.5))); }; if ((b.stacked & Rect.DOWN)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo((b.x + (b.width * 0.5)), (b.y + b.height)); }; if ((b.stacked & Rect.LEFT)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo(b.x, (b.y + (b.height * 0.5))); }; }; } } }//package com.nitrome.engine_specific
Section 33
//FlyingBot (com.nitrome.engine_specific.FlyingBot) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class FlyingBot extends Encounter { public var state:int; public var controlled:Boolean; public var dir_mc:MovieClip; public var dir:int; public var pause_count:int;// = 0 public var r:Number; public var paused:Boolean; public var nodes:Array; public var old_dir:int; public var command:int; public var best_h:int; public var best_s:int; public var best_node:Node; public var angle:int;// = 0 public static const TURNING:int = 2; public static const LEFT:int = 8; public static const DOWN:int = 4; public static const STOPPED:int = 0; public static const MOVING:int = 1; public static const PAUSE_UNIT:int = 25; public static const UP:int = 1; public static const RIGHT:int = 2; public function FlyingBot(_arg1:int, _arg2:Sprite, _arg3:Game){ angle = 0; pause_count = 0; super(_arg2, _arg3, true); has_main = true; has_collision = true; this.dir = _arg1; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); nodes = []; nodes[0] = new Node(); nodes[1] = new Node(); nodes[2] = new Node(); nodes[3] = new Node(); controlled = ((!((command == 0))) || (!((((_arg3.path_map[map_y][map_x] >= 0)) || ((_arg3.path_map[map_y][map_x] <= 0)))))); paused = false; } public function selectPatrolPath():void{ if (pause_count == -1){ return; }; if ((((dir == STOPPED)) && ((pause_count > 0)))){ pause_count--; return; }; Path.getDir(dir, g.path_map, g.stack_map, map_x, map_y); if (dir != STOPPED){ old_dir = dir; }; dir = Path.dir; pause_count = (paused) ? 0 : Path.pause_delay; if (pause_count > 0){ dir = Path.STOPPED; paused = true; return; }; paused = false; if (dir != old_dir){ state = TURNING; if (old_dir == UP){ if (dir == RIGHT){ angle = 0; if (dir_mc != null){ dir_mc.rotation = (dir_mc.rotation + 1); }; } else { if (dir == LEFT){ angle = 180; } else { angle = 90; if (dir_mc != null){ dir_mc.rotation = (dir_mc.rotation + 1); }; }; }; } else { if (old_dir == RIGHT){ if (dir == DOWN){ angle = 90; } else { if (dir == UP){ angle = -90; } else { angle = 180; }; }; } else { if (old_dir == DOWN){ if (dir == RIGHT){ angle = 0; if (dir_mc != null){ dir_mc.rotation = (dir_mc.rotation + 1); }; } else { if (dir == LEFT){ angle = 180; } else { angle = -90; }; }; } else { if (old_dir == LEFT){ if (dir == DOWN){ angle = 90; if (dir_mc != null){ dir_mc.rotation = (dir_mc.rotation + 1); }; } else { if (dir == UP){ angle = -90; } else { angle = 0; if (dir_mc != null){ dir_mc.rotation = (dir_mc.rotation + 1); }; }; }; }; }; }; }; }; } public function selectSeekPath():void{ var _local1:int; best_h = int.MAX_VALUE; best_s = 0; nodes[3].x = map_x; nodes[3].y = (map_y - 1); nodes[3].walkable = (((map_y > 0)) && ((g.stack_map[nodes[3].y][nodes[3].x] == Game.EMPTY))); nodes[3].setH(g.player.map_x, g.player.map_y); nodes[3].s = (nodes[3].walkable) ? g.scent_map[nodes[3].y][nodes[3].x] : -1; nodes[0].x = (map_x + 1); nodes[0].y = map_y; nodes[0].walkable = (((map_x < (g.scroller.width - 1))) && ((g.stack_map[nodes[0].y][nodes[0].x] == Game.EMPTY))); nodes[0].setH(g.player.map_x, g.player.map_y); nodes[0].s = (nodes[0].walkable) ? g.scent_map[nodes[0].y][nodes[0].x] : -1; nodes[1].x = map_x; nodes[1].y = (map_y + 1); nodes[1].walkable = (((map_y < (g.scroller.height - 1))) && ((g.stack_map[nodes[1].y][nodes[1].x] == Game.EMPTY))); nodes[1].setH(g.player.map_x, g.player.map_y); nodes[1].s = (nodes[1].walkable) ? g.scent_map[nodes[1].y][nodes[1].x] : -1; nodes[2].x = (map_x - 1); nodes[2].y = map_y; nodes[2].walkable = (((map_x > 0)) && ((g.stack_map[nodes[2].y][nodes[2].x] == Game.EMPTY))); nodes[2].setH(g.player.map_x, g.player.map_y); nodes[2].s = (nodes[2].walkable) ? g.scent_map[nodes[2].y][nodes[2].x] : -1; _local1 = 0; while (_local1 < nodes.length) { if (nodes[_local1].walkable){ if (nodes[_local1].s > best_s){ best_s = nodes[_local1].s; best_node = nodes[_local1]; } else { if ((((best_s == 0)) && ((nodes[_local1].h < best_h)))){ best_h = nodes[_local1].h; best_node = nodes[_local1]; }; }; }; _local1++; }; if (best_node.y < map_y){ if (dir != UP){ dir = UP; angle = -90; state = TURNING; }; } else { if (best_node.x > map_x){ if (dir != RIGHT){ dir = RIGHT; angle = 0; state = TURNING; }; } else { if (best_node.y > map_y){ if (dir != DOWN){ dir = DOWN; angle = 90; state = TURNING; }; } else { if (best_node.x < map_x){ if (dir != LEFT){ dir = LEFT; angle = 180; state = TURNING; }; }; }; }; }; } } }//package com.nitrome.engine_specific
Section 34
//FlyingGun (com.nitrome.engine_specific.FlyingGun) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.geom.*; public class FlyingGun extends FlyingBot { public var wobble_alpha:Number; public var sparks:MovieClip; public var cast:RayCastReport; public var gun:MovieClip; public var strength:Number; public var firing_count:int; public var beam_width:int; public var previous_state:int; public var alpha:Array; public var shield:Sprite; private var i:int; public var health:int;// = 5 public var scan:Line; public var health_fraction:Number;// = 0.2 public var fast:Boolean; public var killer:Boolean; public var wobble:int; public var bullet_list:Array; public var wobble_step:int; public var on_screen:Boolean; public var collision_rect:Rect; public var cols:Array; public static const FIRING:int = 4; public static const KILL_WOBBLE_ALPHA:Number = 0.25; public static const SCAN_WOBBLE_ALPHA:Number = 0.05; public static const GRENADE_SPEED:int = 8; public static const FIRING_DELAY:int = 11; public static const KILL_WOBBLE_STEP:int = 12; private static const KILL_ALPHA:Array = [0.45, 0.25, 0.15]; public static const FIRING_CHARGE_DELAY:int = 6; public static const TURN_SPEED:Number = 3; public static const SPEED:Number = 4; public static const BULLET_SPEED:int = 16; public static const KILLER_WIDTH:int = 5; public static const SCAN_WIDTH:int = 2; private static const KILL_COLS:Array = [16304135, 0xF89200, 14116875]; private static const SCAN_COLS:Array = [311058, 1152348, 947785]; public static const WARM_UP_STEP:Number = 0.08; private static const SCAN_ALPHA:Array = [0.35, 0.25, 0.15]; public static const SCAN_WOBBLE_STEP:int = 6; public static var point:Point = new Point(); public function FlyingGun(_arg1:int, _arg2:MovieClip, _arg3:Game, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:Boolean=false){ var _local7:Dot; health = 5; health_fraction = 0.2; super(_arg1, _arg2, _arg3); firing_count = 0; strength = 0; init_x = map_x; init_y = map_y; this.killer = _arg6; gun = (_arg6) ? new LaserGunMC() : new GunMC(); cols = (_arg6) ? KILL_COLS : SCAN_COLS; alpha = (_arg6) ? KILL_ALPHA : SCAN_ALPHA; beam_width = (_arg6) ? KILLER_WIDTH : SCAN_WIDTH; wobble_step = (_arg6) ? KILL_WOBBLE_STEP : SCAN_WOBBLE_STEP; wobble_alpha = (_arg6) ? KILL_WOBBLE_ALPHA : SCAN_WOBBLE_ALPHA; this.fast = _arg5; dir_mc = gun; if (_arg6){ sparks = new LaserGunSparksMC(); _arg3.effect_holder.addChild(sparks); sparks.visible = false; }; if (_arg3.alert_state != Game.ACTIVE){ this.aggressive = _arg4; } else { this.aggressive = true; }; if (((!(this.aggressive)) || ((_arg3.player == null)))){ selectPatrolPath(); } else { selectSeekPath(); }; if (this.aggressive){ (_arg2 as MovieClip).gotoAndStop("aggressive"); }; state = MOVING; collision_rect = new Rect((x - 16), (y - 16), 32, 50); if ((((this.dir == DOWN)) || ((((this.dir == STOPPED)) && ((old_dir == DOWN)))))){ gun.rotation = (angle = 90); } else { if ((((this.dir == RIGHT)) || ((((this.dir == STOPPED)) && ((old_dir == RIGHT)))))){ gun.rotation = (angle = 0); } else { if ((((this.dir == UP)) || ((((this.dir == STOPPED)) && ((old_dir == UP)))))){ gun.rotation = (angle = -90); } else { if ((((this.dir == LEFT)) || ((((this.dir == STOPPED)) && ((old_dir == LEFT)))))){ gun.rotation = (angle = 180); }; }; }; }; _local7 = new Dot((_arg2.x + 0.5), (_arg2.y + 0.5)); if (_arg1 == DOWN){ scan = new Line(_local7, new Dot(_local7.x, (_local7.y + (Game.WIDTH + Game.HEIGHT)))); } else { if (_arg1 == RIGHT){ scan = new Line(_local7, new Dot((_local7.x + (Game.WIDTH + Game.HEIGHT)), _local7.y)); } else { if (_arg1 == UP){ scan = new Line(_local7, new Dot(_local7.x, (_local7.y - (Game.WIDTH + Game.HEIGHT)))); } else { if (_arg1 == LEFT){ scan = new Line(_local7, new Dot((_local7.x - (Game.WIDTH + Game.HEIGHT)), _local7.y)); }; }; }; }; rotate(); _arg2.addChildAt(gun, 0); shield = new SmallShieldMC(); shield.blendMode = BlendMode.LIGHTEN; _arg2.addChild(shield); reward = new HiddenInt(70); on_scroller = false; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); wobble = ((wobble + wobble_step) % 360); i = 1; while (i < 4) { g.scan_holder.graphics.lineStyle((i * beam_width), cols[(i - 1)], (strength * (alpha[(i - 1)] + Math.abs((Trig.sin[wobble] * wobble_alpha))))); g.scan_holder.graphics.moveTo(mc.x, mc.y); if (cast != null){ g.scan_holder.graphics.lineTo(cast.ax, cast.ay); } else { g.scan_holder.graphics.lineTo(scan.b.x, scan.b.y); }; i++; }; if (state != FIRING){ if (shield.alpha < 0.2){ shield.alpha = (shield.alpha + WARM_UP_STEP); } else { if (shield.alpha > 0.2){ shield.alpha = (shield.alpha - WARM_UP_STEP); }; }; } else { if (shield.alpha > 0){ shield.alpha = (shield.alpha - (WARM_UP_STEP * 2)); }; }; if (killer){ if (cast != null){ sparks.x = cast.ax; sparks.y = cast.ay; if (cast.access_side == UP){ sparks.rotation = 0; } else { if (cast.access_side == RIGHT){ sparks.rotation = 90; } else { if (cast.access_side == DOWN){ sparks.rotation = 180; } else { if (cast.access_side == LEFT){ sparks.rotation = -90; }; }; }; }; if (!Util.proximity(x, y, cast.ax, cast.ay, 70)){ sparks.visible = true; sparks.alpha = strength; } else { sparks.visible = false; }; } else { sparks.visible = false; }; }; } override public function intersects(_arg1:Rect):Boolean{ if (((!(on_screen)) || (((!(killer)) && ((((g.player.state == Player.STEALTH)) || (g.player.chameleon))))))){ return (false); }; return (RayCast.reportIntersectsRect(scan, cast, g.player.collision_rect)); } public function fire():void{ if (firing_count == 0){ if (fast){ bullet_list = [new Bullet((x + (scan.dx * 50)), (y + (scan.dy * 50)), scan.dx, scan.dy, BULLET_SPEED, g.bullet_bitmap, g), new Bullet((x + (58 * scan.dx)), (y + (58 * scan.dy)), scan.dx, scan.dy, BULLET_SPEED, g.bullet_bitmap, g), new Bullet((x + (66 * scan.dx)), (y + (66 * scan.dy)), scan.dx, scan.dy, BULLET_SPEED, g.bullet_bitmap, g), new Bullet((x + (74 * scan.dx)), (y + (74 * scan.dy)), scan.dx, scan.dy, BULLET_SPEED, g.bullet_bitmap, g)]; g.addBulletGroup(bullet_list); NitromeGame.sound_manager.playSound("machinegun"); gun.gotoAndStop("fire_bullet"); point = Util.localToLocal(point, gun.cartridges, g.canvas); g.addDebrisDir(point.x, point.y, scan.dy, -(scan.dx), g.cartridge_bitmap, g.cartridge_bitmap, g.cartridge_bitmap, g.cartridge_bitmap); } else { g.addBullet((x + (scan.dx * 50)), (y + (scan.dy * 50)), scan.dx, scan.dy, GRENADE_SPEED, g.grenade_bitmap); gun.gotoAndStop("fire_grenade"); NitromeGame.sound_manager.playSound("grenade"); point = Util.localToLocal(point, gun.cartridges, g.canvas); g.addDebrisDir(point.x, point.y, scan.dy, -(scan.dx), g.grenade_cartridge_bitmap); }; }; if (++firing_count >= FIRING_DELAY){ firing_count = 0; gun.gotoAndStop("idle"); if ((((cast == null)) || (((!((cast == null))) && (!(RayCast.reportIntersectsRect(scan, cast, g.player.collision_rect))))))){ state = previous_state; }; }; } public function rotate():void{ scan.dx = Trig.cos[((gun.rotation + 360) % 360)]; scan.dy = Trig.sin[((gun.rotation + 360) % 360)]; scan.vx = (scan.dx * scan.len); scan.vy = (scan.dy * scan.len); scan.b.x = (scan.a.x + scan.vx); scan.b.y = (scan.a.y + scan.vy); scan.rx = -(scan.dy); scan.ry = scan.dx; scan.lx = scan.dy; scan.ly = -(scan.dx); } override public function alert():void{ aggressive = true; (mc as MovieClip).gotoAndStop("aggressive"); } public function kill(_arg1:Number):void{ if (!active){ return; }; active = false; if (!spawned){ NitromeGame.bonus.enemy_count.value++; }; g.addFX(mc.x, mc.y, g.bang_bitmap2); g.addSmoke(mc.x, mc.y); g.addSmoke(mc.x, mc.y); g.shake(3); if (((killer) && (!((sparks.parent == null))))){ sparks.parent.removeChild(sparks); }; g.addDebris((collision_rect.x + (collision_rect.width * 0.5)), (collision_rect.y + (collision_rect.height * 0.5)), ((_arg1 > 0)) ? 10 : -10, g.debris_clips[2], g.debris_clips[3], (killer) ? g.debris_clips[5] : g.debris_clips[4]); } override public function remove():void{ if (((killer) && (!((sparks.parent == null))))){ sparks.parent.removeChild(sparks); }; super.remove(); } public function main():void{ on_scroller = g.scroller.contains(x, y); if (((!(forced)) && (!(on_scroller)))){ map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); if (!aggressive){ if (dir == UP){ if (killer){ tile_id = "33"; } else { if (fast){ tile_id = "32"; } else { tile_id = "32"; }; }; } else { if (dir == RIGHT){ if (killer){ tile_id = "36"; } else { if (fast){ tile_id = "35"; } else { tile_id = "34"; }; }; } else { if (dir == DOWN){ if (killer){ tile_id = "39"; } else { if (fast){ tile_id = "38"; } else { tile_id = "37"; }; }; } else { if (dir == LEFT){ if (killer){ tile_id = "42"; } else { if (fast){ tile_id = "41"; } else { tile_id = "40"; }; }; }; }; }; }; } else { if (killer){ tile_id = "45"; } else { if (fast){ tile_id = "44"; } else { tile_id = "43"; }; }; }; remove(); return; }; if (state == MOVING){ move(); if ((((dir == UP)) || ((dir == DOWN)))){ if (((y - 32) * Game.SCALE) == map_y){ if (aggressive){ selectSeekPath(); } else { selectPatrolPath(); }; }; } else { if ((((dir == LEFT)) || ((dir == RIGHT)))){ if (((x - 32) * Game.SCALE) == map_x){ if (aggressive){ selectSeekPath(); } else { selectPatrolPath(); }; }; } else { if (dir == STOPPED){ if (aggressive){ selectSeekPath(); } else { selectPatrolPath(); }; }; }; }; } else { if (state == TURNING){ if (Math.abs((angle - gun.rotation)) <= TURN_SPEED){ gun.rotation = angle; state = MOVING; } else { r = gun.rotation; r = (r + ((Math.abs((angle - r)))>180) ? ((r)<angle) ? 360 : -(360) : 0); r = (r + (((angle - r) > 0)) ? TURN_SPEED : -(TURN_SPEED)); gun.rotation = r; }; rotate(); } else { if (state == FIRING){ fire(); }; }; }; on_screen = Util.onScreen(x, y, g, 100); cast = RayCast.cast(scan, g.block_map, true); if ((((strength < 1)) && (on_screen))){ strength = (strength + WARM_UP_STEP); } else { if (strength > 0){ strength = (strength - (WARM_UP_STEP * 2)); }; }; updateMC(); updateCollisionRect(); } override public function resolvePlayerCollision(_arg1:Player):void{ if (((((!((state == FIRING))) && ((strength >= 1)))) && (!(Util.proximity(_arg1.x, _arg1.y, x, y, 50))))){ if (!killer){ previous_state = state; state = FIRING; } else { g.player.hit(); }; }; } public function move():void{ if (dir == UP){ y = (y - SPEED); scan.a.y = (scan.a.y - SPEED); scan.b.y = (scan.b.y - SPEED); } else { if (dir == RIGHT){ x = (x + SPEED); scan.a.x = (scan.a.x + SPEED); scan.b.x = (scan.b.x + SPEED); } else { if (dir == LEFT){ x = (x - SPEED); scan.a.x = (scan.a.x - SPEED); scan.b.x = (scan.b.x - SPEED); } else { if (dir == DOWN){ y = (y + SPEED); scan.a.y = (scan.a.y + SPEED); scan.b.y = (scan.b.y + SPEED); }; }; }; }; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); } public function updateCollisionRect():void{ collision_rect.x = (x - 16); collision_rect.y = (y - 16); } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:int; if (!active){ return; }; if (((_arg2) || ((state == FIRING)))){ health--; _local3 = new HitSparkMC(); _local3.x = (_arg1.x >> 0); _local3.y = (_arg1.y >> 0); _local4 = collision_rect.sideOf(_arg1.x, _arg1.y); if (_local4 == UP){ } else { if (_local4 == RIGHT){ _local3.rotation = 90; } else { if (_local4 == DOWN){ _local3.rotation = 180; } else { if (_local4 == LEFT){ _local3.rotation = 270; }; }; }; }; g.effect_holder.addChild(_local3); if ((((health <= 0)) || (_arg2))){ if (!spawned){ g.addScore(reward.value); } else { g.addScore((reward.value / 10)); }; kill((_arg1.x - _arg1.px)); }; } else { shield.alpha = 1; _arg1.ping((_arg1.px - _arg1.x)); }; } override public function unpause():void{ gun.gotoAndStop("idle"); if (aggressive){ (mc as MovieClip).gotoAndStop("aggressive"); } else { (mc as MovieClip).gotoAndStop("idle"); }; } } }//package com.nitrome.engine_specific
Section 35
//ForceField (com.nitrome.engine_specific.ForceField) package com.nitrome.engine_specific { import flash.display.*; public class ForceField extends EncounterBlock { public var state:int; public static const INACTIVE:int = 1; public static const ACTIVE:int = 2; public function ForceField(_arg1:Sprite, _arg2:Game){ super(_arg1, _arg2); force_field = true; map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); if (_arg2.alert_state != Game.ACTIVE){ state = INACTIVE; block = false; _arg2.stack_map[map_y][map_x] = Game.EMPTY; (_arg1 as MovieClip).gotoAndStop("inactive"); } else { if (_arg2.alert_state == Game.ACTIVE){ state = ACTIVE; block = true; (_arg1 as MovieClip).gotoAndStop("active"); }; }; } override public function unpause():void{ if (state == INACTIVE){ (mc as MovieClip).gotoAndStop("inactive"); } else { if (state == ACTIVE){ (mc as MovieClip).gotoAndStop("active"); }; }; } override public function alert():void{ state = ACTIVE; g.stack_map[map_y][map_x] = b.stacked; (mc as MovieClip).gotoAndPlay("activate"); block = true; } override public function standdown():void{ state = INACTIVE; g.stack_map[map_y][map_x] = Game.EMPTY; (mc as MovieClip).gotoAndPlay("deactivate"); block = false; } } }//package com.nitrome.engine_specific
Section 36
//ForceFieldDoor (com.nitrome.engine_specific.ForceFieldDoor) package com.nitrome.engine_specific { import flash.display.*; public class ForceFieldDoor extends EncounterBlock { public var state:int; public static const INACTIVE:int = 1; public static const ACTIVE:int = 2; public function ForceFieldDoor(_arg1:int, _arg2:Sprite, _arg3:Game){ super(_arg2, _arg3); this.id_tag = _arg1; force_field = true; map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); if (_arg3.tags[_arg1] == null){ _arg3.tags[_arg1] = true; }; if (!_arg3.tags[_arg1]){ state = INACTIVE; block = false; _arg3.stack_map[map_y][map_x] = Game.EMPTY; (_arg2 as MovieClip).gotoAndStop("inactive"); } else { state = ACTIVE; block = true; (_arg2 as MovieClip).gotoAndStop("active"); }; } override public function unpause():void{ if (state == INACTIVE){ (mc as MovieClip).gotoAndStop("inactive"); } else { if (state == ACTIVE){ (mc as MovieClip).gotoAndStop("active"); }; }; } override public function alert():void{ } public function deactivate():void{ state = INACTIVE; g.stack_map[map_y][map_x] = Game.EMPTY; (mc as MovieClip).gotoAndPlay("deactivate"); block = false; } override public function standdown():void{ } } }//package com.nitrome.engine_specific
Section 37
//FX (com.nitrome.engine_specific.FX) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class FX extends Dot { public var active:Boolean; public var frame:int; public var g:Game; public var bitmap:BitmapSprite; public function FX(_arg1:Number, _arg2:Number, _arg3:BitmapSprite, _arg4:Game, _arg5:int=0){ super(_arg1, _arg2); this.bitmap = _arg3; this.g = _arg4; frame = (0 - _arg5); active = true; } public function main():void{ if (frame > -1){ bitmap.x = (-(g.fx_layer_holder.x) + x); bitmap.y = (-(g.fx_layer_holder.y) + y); bitmap.render(g.fx_layer, frame++); if (frame == bitmap.total_frames){ active = false; }; } else { frame++; }; } } }//package com.nitrome.engine_specific
Section 38
//GameFinish (com.nitrome.engine_specific.GameFinish) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class GameFinish extends Encounter { public var health_fraction:Number;// = 0 public var collision_rect:Rect; public var health:int;// = 0 public function GameFinish(_arg1:Sprite, _arg2:Game){ var _local3:int; health = 0; health_fraction = 0; super(_arg1, _arg2, false); map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); _local3 = 0; while (_local3 < _arg2.scroller.height) { if ((map_y - _local3) <= 0){ break; }; if (_arg2.stack_map[(map_y - _local3)][map_x] > Game.EMPTY){ _local3--; break; }; _local3++; }; collision_rect = new Rect((_arg1.x + 30), ((map_y - _local3) * Game.scale), 4, (Game.scale + (_local3 * Game.scale))); actor_target = false; has_main = false; } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } override public function resolvePlayerCollision(_arg1:Player):void{ if (!active){ return; }; g.player.levelComplete(); g.scroller.map_array_layers[layer][map_y][map_x] = 0; g.mouse_pressed = false; } } }//package com.nitrome.engine_specific
Section 39
//GeneratorSwitch (com.nitrome.engine_specific.GeneratorSwitch) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class GeneratorSwitch extends EncounterBlock { public const ACTIVE:int = 2; public const INACTIVE:int = 1; public var health_fraction:Number;// = 0 public var state:int; public var collision_rect:Rect; public var health:int;// = 0 public function GeneratorSwitch(_arg1:int, _arg2:Sprite, _arg3:Game){ health = 0; health_fraction = 0; super(_arg2, _arg3); this.id_tag = _arg1; if (_arg3.tags[_arg1] == null){ _arg3.tags[_arg1] = true; }; if (_arg3.tags[_arg1]){ has_collision = true; collision_rect = new Rect(x, y, Game.scale, Game.scale); (_arg2 as MovieClip).gotoAndStop("active"); } else { has_collision = false; collision_rect = new Rect(); (_arg2 as MovieClip).gotoAndStop("inactive"); }; } override public function unpause():void{ if (state == INACTIVE){ (mc as MovieClip).gotoAndStop("inactive"); } else { if (state == ACTIVE){ (mc as MovieClip).gotoAndStop("active"); }; }; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:int; if (state == INACTIVE){ return; }; state = INACTIVE; collision_rect = new Rect(); g.tags[id_tag] = false; _local3 = 0; while (_local3 < g.encounters.length) { if (((!((g.encounters[_local3] == this))) && ((g.encounters[_local3].id_tag == id_tag)))){ g.encounters[_local3].deactivate(); }; _local3++; }; g.addFX((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5)), g.bang_bitmap1); g.addSmoke((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.addSmoke((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); (mc as MovieClip).gotoAndStop("inactive"); NitromeGame.sound_manager.playSound("powerdown"); } } }//package com.nitrome.engine_specific
Section 40
//GunBlock (com.nitrome.engine_specific.GunBlock) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.geom.*; public class GunBlock extends EncounterBlock { public var bullet_init:Array; public var bullet_list:Array; public var firing_count:int; public var mc_actual:Object; public var fast:Boolean; public var angle:int; public static const GRENADE_SPEED:int = 8; public static const BULLET_SPEED:int = 16; public static const FIRING_DELAY:int = 50; public static var point:Point = new Point(); public function GunBlock(_arg1:MovieClip, _arg2:Game){ super(_arg1, _arg2); has_main = true; firing_count = (_arg2.frame_count % FIRING_DELAY); fast = false; } override public function unpause():void{ (mc as MovieClip).gun.gotoAndStop("idle"); } public function main():void{ if (firing_count == 0){ if (fast){ bullet_list = [new Bullet(x, y, Trig.cos[angle], Trig.sin[angle], BULLET_SPEED, g.bullet_bitmap, g), new Bullet(bullet_init[1].x, bullet_init[1].y, Trig.cos[angle], Trig.sin[angle], BULLET_SPEED, g.bullet_bitmap, g), new Bullet(bullet_init[2].x, bullet_init[2].y, Trig.cos[angle], Trig.sin[angle], BULLET_SPEED, g.bullet_bitmap, g), new Bullet(bullet_init[3].x, bullet_init[3].y, Trig.cos[angle], Trig.sin[angle], BULLET_SPEED, g.bullet_bitmap, g)]; g.addBulletGroup(bullet_list); (mc as MovieClip).gun.gotoAndStop("fire_bullet"); NitromeGame.sound_manager.playSound("machinegun"); point = Util.localToLocal(point, (mc as MovieClip).gun.cartridges, g.canvas); g.addDebrisDir(point.x, point.y, Trig.sin[angle], -(Trig.cos[angle]), g.cartridge_bitmap, g.cartridge_bitmap, g.cartridge_bitmap, g.cartridge_bitmap); } else { g.addBullet(x, y, Trig.cos[angle], Trig.sin[angle], GRENADE_SPEED, g.grenade_bitmap); (mc as MovieClip).gun.gotoAndStop("fire_grenade"); NitromeGame.sound_manager.playSound("grenade"); point = Util.localToLocal(point, (mc as MovieClip).gun.cartridges, g.canvas); g.addDebrisDir(point.x, point.y, Trig.sin[angle], -(Trig.cos[angle]), g.grenade_cartridge_bitmap); }; }; if (++firing_count >= FIRING_DELAY){ firing_count = 0; (mc as MovieClip).gun.gotoAndStop("idle"); }; } public function setDirection(_arg1:int):void{ if (_arg1 == Rect.UP){ x = (b.x + (Game.scale >> 1)); y = (b.y - 15); angle = 270; } else { if (_arg1 == Rect.RIGHT){ x = ((b.x + Game.scale) + 14); y = (b.y + (Game.scale >> 1)); angle = 0; } else { if (_arg1 == Rect.DOWN){ x = (b.x + (Game.scale >> 1)); y = ((b.y + Game.scale) + 14); angle = 90; } else { if (_arg1 == Rect.LEFT){ x = (b.x - 15); y = (b.y + (Game.scale >> 1)); angle = 180; }; }; }; }; bullet_init = [new Dot(x, y), new Dot((x + (8 * Trig.cos[angle])), (y + (8 * Trig.sin[angle]))), new Dot((x + (16 * Trig.cos[angle])), (y + (16 * Trig.sin[angle]))), new Dot((x + (24 * Trig.cos[angle])), (y + (24 * Trig.sin[angle])))]; this.fast = fast; } } }//package com.nitrome.engine_specific
Section 41
//GunMan (com.nitrome.engine_specific.GunMan) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.geom.*; public class GunMan extends Encounter { public var py:Number; public var paused:Boolean; public var cast:RayCastReport; public var firing_count:int; public var a:Dot; public var health:int;// = 2 public var fast:Boolean; public var platform:Boolean; public var scan:Line; public var health_fraction:Number;// = 0.5 public var controlled:Boolean; public var state:int; public var dir:int; public var pause_count:int;// = 0 public var neutered:Boolean; public var grid_x:int; public var grid_y:int; public var stop_dir:int; public var collision_rect:Rect; public var temp_y:Number; public static const RIGHT_ID:String = "378"; private static const width:int = 26; public static const LEFT:int = 8; private static const height:int = 42; private static const DAMPING_Y:Number = 0.99; private static const GRAVITY_Y:Number = 1.3; public static const LEFT_ID:String = "377"; public static const GRENADE_SPEED:int = 8; public static const FIRING_DELAY:int = 30; public static const UP:int = 1; public static const RUNNING:int = 1; public static const SPEED:Number = 2; private static const FLOOR_DEPTH:int = 6; public static const DOWN:int = 4; public static const BULLET_SPEED:int = 16; public static const STOPPED:int = 0; public static const FALLING:int = 2; public static const FIRING:int = 4; public static const RIGHT:int = 2; public static const TEST_DEPTH:int = 5; public static var point:Point = new Point(); public function GunMan(_arg1:int, _arg2:Sprite, _arg3:Game, _arg4:Boolean=false, _arg5:Boolean=false){ health = 2; health_fraction = 0.5; pause_count = 0; super(_arg2, _arg3, true); has_main = true; has_collision = true; this.dir = _arg1; this.neutered = _arg5; collision_rect = new Rect((x - (width >> 1)), (y - (height >> 1)), 26, 42); map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); py = y; if (_arg3.stack_map[(map_y + 1)][map_x] > Game.EMPTY){ platform = true; state = RUNNING; } else { platform = false; state = FALLING; }; a = new Dot((_arg2.x + 0.5), (_arg2.y + 0.5)); reward = new HiddenInt(40); (_arg2 as MovieClip).gun.gotoAndStop("idle"); controlled = ((!((_arg3.path_map[map_y][map_x] == 0))) || (!((((_arg3.path_map[map_y][map_x] >= 0)) || ((_arg3.path_map[map_y][map_x] <= 0)))))); if (controlled){ paused = false; pause_count = 0; selectPatrolPath(); }; firing_count = 0; this.fast = _arg4; on_scroller = false; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } override public function intersects(_arg1:Rect):Boolean{ if (((((((((!(on_scroller)) || (neutered))) || ((state == FALLING)))) || ((g.player.state == Player.STEALTH)))) || (g.player.chameleon))){ return (false); }; if (((((!((scan == null))) && ((cast == null)))) && ((((((((dir == LEFT)) && ((g.player.x < x)))) || ((((dir == RIGHT)) && ((g.player.x > x)))))) || ((((dir == STOPPED)) && ((((((stop_dir == LEFT)) && ((g.player.x < x)))) || ((((stop_dir == RIGHT)) && ((g.player.x > x)))))))))))){ return (RayCast.reportIntersectsRect(scan, cast, g.player.collision_rect)); }; return (false); } public function updateAnimState():void{ var _local1:*; if (state == RUNNING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "run_right"){ (mc as MovieClip).gotoAndStop("run_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "run_left"){ (mc as MovieClip).gotoAndStop("run_left"); }; } else { if (dir == STOPPED){ if (stop_dir == RIGHT){ if ((mc as MovieClip).currentLabel != "stop_right"){ (mc as MovieClip).gotoAndStop("stop_right"); }; } else { if (stop_dir == LEFT){ if ((mc as MovieClip).currentLabel != "stop_left"){ (mc as MovieClip).gotoAndStop("stop_left"); }; }; }; }; }; }; if ((mc as MovieClip).gun.currentLabel != "idle"){ (mc as MovieClip).gun.gotoAndStop("idle"); }; } else { if (state == FALLING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "fall_right"){ (mc as MovieClip).gotoAndStop("fall_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "fall_left"){ (mc as MovieClip).gotoAndStop("fall_left"); }; }; }; if ((mc as MovieClip).gun.currentLabel != "idle"){ (mc as MovieClip).gun.gotoAndStop("idle"); }; } else { if (state == FIRING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "fire_right"){ (mc as MovieClip).gotoAndStop("fire_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "fire_left"){ (mc as MovieClip).gotoAndStop("fire_left"); }; } else { if (dir == STOPPED){ if (stop_dir == RIGHT){ if ((mc as MovieClip).currentLabel != "fire_right"){ (mc as MovieClip).gotoAndStop("fire_right"); }; } else { if (stop_dir == LEFT){ if ((mc as MovieClip).currentLabel != "fire_left"){ (mc as MovieClip).gotoAndStop("fire_left"); }; }; }; }; }; }; if (fast){ if ((mc as MovieClip).gun.currentLabel != "fire_bullet"){ (mc as MovieClip).gun.gotoAndStop("fire_bullet"); }; } else { if ((mc as MovieClip).gun.currentLabel != "fire_grenade"){ (mc as MovieClip).gun.gotoAndStop("fire_grenade"); }; }; _local1 = (scan.atan2() * Game.ONE80DIVIDEDBYPI); }; }; }; if ((((state == RUNNING)) && ((dir == STOPPED)))){ (mc as MovieClip).gun.alpha = 0; (mc as MovieClip).arm.alpha = 0; } else { (mc as MovieClip).gun.alpha = 1; (mc as MovieClip).arm.alpha = 1; }; if (state == FIRING){ if ((((dir == RIGHT)) || ((((dir == STOPPED)) && ((stop_dir == RIGHT)))))){ (mc as MovieClip).gun.rotation = _local1; (mc as MovieClip).arm.rotation = _local1; (mc as MovieClip).gun.scaleX = -1; (mc as MovieClip).arm.scaleX = -1; } else { if ((((dir == LEFT)) || ((((dir == STOPPED)) && ((stop_dir == LEFT)))))){ (mc as MovieClip).gun.rotation = (_local1 + 180); (mc as MovieClip).arm.rotation = (_local1 + 180); (mc as MovieClip).gun.scaleX = 1; (mc as MovieClip).arm.scaleX = 1; }; }; } else { if ((((dir == RIGHT)) || ((((dir == STOPPED)) && ((stop_dir == RIGHT)))))){ (mc as MovieClip).gun.rotation = 0; (mc as MovieClip).arm.rotation = 0; (mc as MovieClip).gun.scaleX = -1; (mc as MovieClip).arm.scaleX = -1; } else { if ((((dir == LEFT)) || ((((dir == STOPPED)) && ((stop_dir == LEFT)))))){ (mc as MovieClip).gun.rotation = 0; (mc as MovieClip).arm.rotation = 0; (mc as MovieClip).gun.scaleX = 1; (mc as MovieClip).arm.scaleX = 1; }; }; }; } public function fire():void{ var _local1:Array; if (firing_count == 0){ if (!fast){ g.addBullet((x + (27 * scan.dx)), (y + (27 * scan.dy)), scan.dx, scan.dy, GRENADE_SPEED, g.grenade_bitmap); point = Util.localToLocal(point, (mc as MovieClip).gun.cartridges, g.canvas); g.addDebrisDir(point.x, point.y, scan.dy, -(scan.dx), g.grenade_cartridge_bitmap); NitromeGame.sound_manager.playSound("grenade"); } else { _local1 = [new Bullet((x + (27 * scan.dx)), (y + (27 * scan.dy)), scan.dx, scan.dy, BULLET_SPEED, g.bullet_bitmap, g), new Bullet((x + (35 * scan.dx)), (y + (35 * scan.dy)), scan.dx, scan.dy, BULLET_SPEED, g.bullet_bitmap, g), new Bullet((x + (43 * scan.dx)), (y + (43 * scan.dy)), scan.dx, scan.dy, BULLET_SPEED, g.bullet_bitmap, g), new Bullet((x + (51 * scan.dx)), (y + (51 * scan.dy)), scan.dx, scan.dy, BULLET_SPEED, g.bullet_bitmap, g)]; g.addBulletGroup(_local1); point = Util.localToLocal(point, (mc as MovieClip).gun.cartridges, g.canvas); g.addDebrisDir(point.x, point.y, scan.dy, -(scan.dx), g.cartridge_bitmap, g.cartridge_bitmap, g.cartridge_bitmap, g.cartridge_bitmap); NitromeGame.sound_manager.playSound("machinegun"); }; }; firing_count++; if (firing_count >= FIRING_DELAY){ firing_count = 0; if ((((cast == null)) || (((!((cast == null))) && (!(RayCast.reportIntersectsRect(scan, cast, g.player.collision_rect))))))){ state = RUNNING; }; }; } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); } public function kill(_arg1:Number=0):void{ if (!active){ return; }; active = false; if (!spawned){ NitromeGame.bonus.enemy_count.value++; }; g.addFX(mc.x, mc.y, g.bang_bitmap1); if (Math.random() > 0.5){ g.addSmoke(mc.x, mc.y); }; g.addDebris((collision_rect.x + (collision_rect.width * 0.5)), (collision_rect.y + (collision_rect.height * 0.5)), ((_arg1 > 0)) ? 10 : -10, g.debris_clips[12], g.debris_clips[13], g.debris_clips[14]); } public function selectPatrolPath():void{ if (pause_count == -1){ return; }; if ((((dir == Path.STOPPED)) && ((pause_count > 0)))){ pause_count--; return; }; stop_dir = dir; Path.getDir(dir, g.path_map, null, map_x, map_y); dir = Path.dir; pause_count = (paused) ? 0 : Path.pause_delay; if (pause_count > 0){ dir = Path.STOPPED; paused = true; return; }; paused = false; } public function main():void{ on_scroller = g.scroller.contains(x, y); if (((!(forced)) && (!(on_scroller)))){ if (dir == LEFT){ if (neutered){ tile_id = "155"; } else { if (fast){ tile_id = "58"; } else { tile_id = "57"; }; }; } else { if (dir == RIGHT){ if (neutered){ tile_id = "156"; } else { if (fast){ tile_id = "60"; } else { tile_id = "59"; }; }; }; }; remove(); return; }; if (state == RUNNING){ if (scan == null){ if (g.player != null){ scan = new Line(a, g.player); if (on_scroller){ cast = RayCast.cast(scan, g.block_map, true); }; }; } else { scan.updateLine(); if (on_scroller){ cast = RayCast.cast(scan, g.block_map, true); }; }; move(); if (controlled){ if ((((dir == RIGHT)) || ((dir == LEFT)))){ if (((x - 32) * Game.SCALE) == map_x){ selectPatrolPath(); }; } else { if (dir == Path.STOPPED){ selectPatrolPath(); }; }; }; if (dir == RIGHT){ grid_x = ((((x + (width >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if (g.stack_map[grid_y][grid_x] > Game.EMPTY){ dir = LEFT; }; grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ dir = LEFT; }; if (grid_x == (g.scroller.width - 1)){ dir = LEFT; }; } else { if (dir == LEFT){ grid_x = ((((x - (width >> 1)) - TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if (g.stack_map[grid_y][grid_x] > Game.EMPTY){ dir = RIGHT; }; grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ dir = RIGHT; }; if (grid_x == 0){ dir = RIGHT; }; }; }; } else { if (state == FALLING){ findFloor(); if (platform == false){ verletY(GRAVITY_Y, DAMPING_Y); }; } else { if (state == FIRING){ if ((((dir == RIGHT)) && ((g.player.x < x)))){ dir = LEFT; } else { if ((((dir == LEFT)) && ((g.player.x > x)))){ dir = RIGHT; }; }; scan.updateLine(); if (on_scroller){ cast = RayCast.cast(scan, g.block_map, true); }; fire(); }; }; }; updateAnimState(); updateMC(); updateCollisionRect(); } public function verletY(_arg1:Number, _arg2:Number):void{ temp_y = y; y = (y + ((_arg2 * (y - py)) + _arg1)); py = temp_y; a.y = y; map_y = ((y * Game.SCALE) >> 0); } override public function resolvePlayerCollision(_arg1:Player):void{ if (((!(Util.proximity(_arg1.x, _arg1.y, x, y, 30))) && (!((state == FIRING))))){ state = FIRING; }; } public function findFloor():void{ if (g.stack_map[(map_y + 1)][map_x] > Game.EMPTY){ platform = true; y = ((-3 + ((map_y + 1) * Game.scale)) - (height >> 1)); a.y = y; updateCollisionRect(); state = RUNNING; }; } public function move():void{ if (dir == RIGHT){ x = (x + SPEED); a.x = x; } else { if (dir == LEFT){ x = (x - SPEED); a.x = x; }; }; map_x = (((x - 32) * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); } public function updateCollisionRect():void{ collision_rect.x = (x - (width >> 1)); collision_rect.y = (y - (height >> 1)); } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:int; if (!active){ return; }; health--; _local3 = new HitSparkMC(); _local3.x = (_arg1.x >> 0); _local3.y = (_arg1.y >> 0); _local4 = collision_rect.sideOf(_arg1.x, _arg1.y); if (_local4 == UP){ } else { if (_local4 == RIGHT){ _local3.rotation = 90; } else { if (_local4 == DOWN){ _local3.rotation = 180; } else { if (_local4 == LEFT){ _local3.rotation = 270; }; }; }; }; g.effect_holder.addChild(_local3); if ((((health <= 0)) || (_arg2))){ if (!spawned){ g.addScore(reward.value); } else { g.addScore((reward.value / 10)); }; kill((_arg1.x - _arg1.px)); NitromeGame.sound_manager.playSound("smithdie"); } else { NitromeGame.sound_manager.playSound("smithhit"); if (state == RUNNING){ if ((((dir == RIGHT)) && ((g.player.x < x)))){ dir = LEFT; state = FIRING; } else { if ((((dir == LEFT)) && ((g.player.x > x)))){ dir = RIGHT; state = FIRING; } else { if (dir == STOPPED){ if ((((stop_dir == RIGHT)) && ((g.player.x < x)))){ stop_dir = LEFT; state = FIRING; } else { if ((((stop_dir == LEFT)) && ((g.player.x > x)))){ stop_dir = RIGHT; state = FIRING; }; }; }; }; }; }; }; } } }//package com.nitrome.engine_specific
Section 42
//HackedSpider (com.nitrome.engine_specific.HackedSpider) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import com.nitrome.game.*; import flash.ui.*; public class HackedSpider extends Actor { public var px:Number; public var scroll_y:Number; public var scroll_x:Number; public var light:MovieClip; public var py:Number; public var dir:int; public var body:MovieClip; public var speed:Number; public var temp_x:Number; public var keys_pressed:int; public var temp_y:Number; public var map_rect:Rect; public static const ACC:Number = 2.5; public static const WIDTH:Number = 28; public static const SPEED:Number = 10; public static const DAMPING:Number = 0.59; public static const HEIGHT:Number = 28; public function HackedSpider(_arg1:MovieClip, _arg2:Game){ super(_arg1, _arg2, true); _arg2.spider = this; collision_rect = new Rect((x - 14), (y - 14), 28, 28); px = x; py = y; map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); all_collision = true; body = (_arg1 as MovieClip).body; light = (_arg1 as MovieClip).light; scroll_x = (_arg2.player.scroll_rect.width * 0.5); scroll_y = (_arg2.player.scroll_rect.height * 0.5); map_rect = _arg2.scroller.map_rect; if (((!((_arg2.current_event == null))) && ((_arg2.current_event.name == "message")))){ _arg2.current_event.active = false; _arg2.msg_key_ready = false; }; speed = 0; dir = 0; } public function checkKeys():void{ keys_pressed = 0; if (((((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A)))) && (!(((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D))))))){ px = (px + speed); keys_pressed = (keys_pressed | Rect.LEFT); }; if (((((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D)))) && (!(((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A))))))){ px = (px - speed); keys_pressed = (keys_pressed | Rect.RIGHT); }; if (((((Key.isDown(Keyboard.UP)) || (Key.isDown(Key.W)))) && (!(((Key.isDown(Keyboard.DOWN)) || (Key.isDown(Key.S))))))){ py = (py + speed); keys_pressed = (keys_pressed | Rect.UP); }; if (((((Key.isDown(Keyboard.DOWN)) || (Key.isDown(Key.S)))) && (!(((Key.isDown(Keyboard.UP)) || (Key.isDown(Key.W))))))){ py = (py - speed); keys_pressed = (keys_pressed | Rect.DOWN); }; if (Key.isDown(Keyboard.SPACE)){ kill(); }; if ((((keys_pressed == 0)) && ((speed > 0)))){ speed = (speed - ACC); } else { if (speed < SPEED){ speed = (speed + ACC); }; }; if (keys_pressed != 0){ dir = keys_pressed; }; map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); if (keys_pressed){ body.play(); light.play(); if ((((keys_pressed & Rect.UP)) && ((keys_pressed & Rect.RIGHT)))){ mc.rotation = 315; } else { if ((((keys_pressed & Rect.DOWN)) && ((keys_pressed & Rect.RIGHT)))){ mc.rotation = 45; } else { if ((((keys_pressed & Rect.DOWN)) && ((keys_pressed & Rect.LEFT)))){ mc.rotation = 135; } else { if ((((keys_pressed & Rect.UP)) && ((keys_pressed & Rect.LEFT)))){ mc.rotation = 215; } else { if ((keys_pressed & Rect.UP)){ mc.rotation = 270; } else { if ((keys_pressed & Rect.RIGHT)){ mc.rotation = 0; } else { if ((keys_pressed & Rect.DOWN)){ mc.rotation = 90; } else { if ((keys_pressed & Rect.LEFT)){ mc.rotation = 180; }; }; }; }; }; }; }; }; } else { body.stop(); light.stop(); }; if ((((dir & Rect.UP)) && ((scroll_y < g.player.scroll_rect.height)))){ scroll_y = (scroll_y + 2); }; if ((((dir & Rect.RIGHT)) && ((scroll_x > 0)))){ scroll_x = (scroll_x - 2); }; if ((((dir & Rect.DOWN)) && ((scroll_y > 0)))){ scroll_y = (scroll_y - 2); }; if ((((dir & Rect.LEFT)) && ((scroll_x < g.player.scroll_rect.width)))){ scroll_x = (scroll_x + 2); }; if ((((keys_pressed & Rect.UP)) && ((scroll_y < g.player.scroll_rect.height)))){ scroll_y = (scroll_y + 6); }; if ((((keys_pressed & Rect.RIGHT)) && ((scroll_x > 0)))){ scroll_x = (scroll_x - 6); }; if ((((keys_pressed & Rect.DOWN)) && ((scroll_y > 0)))){ scroll_y = (scroll_y - 6); }; if ((((keys_pressed & Rect.LEFT)) && ((scroll_x < g.player.scroll_rect.width)))){ scroll_x = (scroll_x + 6); }; g.player.scroll_target_x = ((-(mc.x) + g.player.scroll_rect.x) + scroll_x); g.player.scroll_target_y = ((-(mc.y) + g.player.scroll_rect.y) + scroll_y); g.player.scrolling(); g.scroller.clipManager(); } public function main():void{ temp_x = x; temp_y = y; x = (x + (DAMPING * (x - px))); y = (y + (DAMPING * (y - py))); px = temp_x; py = temp_y; if ((map_rect.x + (map_rect.width - 1)) < (x + (WIDTH >> 1))){ x = (px = ((-((WIDTH >> 1)) + map_rect.x) + (map_rect.width - 1))); }; if ((map_rect.y + (map_rect.height - 1)) < y){ kill(); return; }; if (map_rect.x >= (x - (WIDTH >> 1))){ x = (px = (map_rect.x + (WIDTH >> 1))); }; if (map_rect.y >= (y - (HEIGHT >> 1))){ y = (py = (map_rect.y + (HEIGHT >> 1))); }; if (collision_rect.intersects(g.player.collision_rect)){ g.player.hit(); kill(); return; }; map_x = (collision_rect.x * Game.SCALE); map_y = (collision_rect.y * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if ((g.stack_map[map_y][map_x] & Rect.TEMP)){ if (((!((g.block_map[map_y][map_x] is GeneratorSwitch))) && (g.block_map[map_y][map_x].b.contains(collision_rect.x, collision_rect.y)))){ kill(); return; }; } else { kill(); return; }; }; map_x = ((collision_rect.x + WIDTH) * Game.SCALE); map_y = (collision_rect.y * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if ((g.stack_map[map_y][map_x] & Rect.TEMP)){ if (((!((g.block_map[map_y][map_x] is GeneratorSwitch))) && (g.block_map[map_y][map_x].b.contains((collision_rect.x + WIDTH), collision_rect.y)))){ kill(); return; }; } else { kill(); return; }; }; map_x = ((collision_rect.x + WIDTH) * Game.SCALE); map_y = ((collision_rect.y + HEIGHT) * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if ((g.stack_map[map_y][map_x] & Rect.TEMP)){ if (((!((g.block_map[map_y][map_x] is GeneratorSwitch))) && (g.block_map[map_y][map_x].b.contains((collision_rect.x + WIDTH), (collision_rect.y + HEIGHT))))){ kill(); return; }; } else { kill(); return; }; }; map_x = (collision_rect.x * Game.SCALE); map_y = ((collision_rect.y + HEIGHT) * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if ((g.stack_map[map_y][map_x] & Rect.TEMP)){ if (((!((g.block_map[map_y][map_x] is GeneratorSwitch))) && (g.block_map[map_y][map_x].b.contains(collision_rect.x, (collision_rect.y + HEIGHT))))){ kill(); return; }; } else { kill(); return; }; }; checkKeys(); updateMC(); updateCollisionRect(); } override public function resolveBulletCollision(_arg1):void{ kill(); } override public function resolveEncounterCollision(_arg1):void{ if (!active){ return; }; if ((((_arg1 is Laser)) && ((_arg1.state == Laser.INACTIVE)))){ return; }; if ((((_arg1 is TripWire)) && (!(_arg1.killer)))){ return; }; if ((_arg1 is Cammo)){ return; }; if ((_arg1 is Lift)){ return; }; _arg1.resolveWeaponCollision(new Star(x, y, (x - px), (y - py), null, g), true); if ((((_arg1 is Health)) || ((_arg1 is Coin)))){ return; }; kill(); } public function kill():void{ if (!active){ return; }; active = false; g.addFX(mc.x, mc.y, g.bang_bitmap1); g.player.key_lock = true; if (!g.player.on_scroller){ g.spider_death_count = Game.SPIDER_DEATH_DELAY; } else { g.spider = null; }; } public function updateCollisionRect():void{ collision_rect.x = (x - 16); collision_rect.y = (y - 16); } } }//package com.nitrome.engine_specific
Section 43
//Health (com.nitrome.engine_specific.Health) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Health extends Encounter { public var collision_rect:Rect; public function Health(_arg1:Sprite, _arg2:Game){ super(_arg1, _arg2, false); collision_rect = new Rect((_arg1.x + 11), (_arg1.y + 34), 38, 30); actor_target = false; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } override public function resolvePlayerCollision(_arg1:Player):void{ if (_arg1.health.value < 3){ _arg1.health.value++; NitromeGame.timeline.health_panel.gotoAndStop(("_" + g.player.health.value)); }; kill(); } public function kill():void{ var _local1:MovieClip; if (!active){ return; }; _local1 = new HealthFadeMC(); NitromeGame.sound_manager.playSound("oishii"); _local1.x = mc.x; _local1.y = mc.y; g.star_holder.addChild(_local1); g.scroller.map_array_layers[layer][map_y][map_x] = 0; active = false; } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ if (!active){ return; }; if (g.player.health.value < 3){ g.player.health.value++; NitromeGame.timeline.health_panel.gotoAndStop(("_" + g.player.health.value)); }; kill(); } } }//package com.nitrome.engine_specific
Section 44
//Laser (com.nitrome.engine_specific.Laser) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Laser extends Encounter { public var health_fraction:Number;// = 0 public var state:int; public var count:int; public var timed:Boolean; public var collision_rect:Rect; public var health:int;// = 0 public static const DELAY:int = 50; public static const ACTIVE:int = 2; public static const INACTIVE:int = 1; public static const WARM_UP_STEP:Number = 0.2; public function Laser(_arg1:Boolean, _arg2:Rect, _arg3:MovieClip, _arg4:Game){ health = 0; health_fraction = 0; super(_arg3, _arg4, false); collision_rect = _arg2; this.timed = _arg1; state = ACTIVE; actor_target = false; if (_arg1){ has_main = true; count = (_arg4.frame_count % 100); if (count >= 50){ count = (count % 50); state = INACTIVE; _arg3.alpha = 0; }; }; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return ((((state == ACTIVE)) && (collision_rect.contains(_arg1, _arg2)))); } override public function intersects(_arg1:Rect):Boolean{ if (state == ACTIVE){ return (collision_rect.intersects(_arg1)); }; return (false); } public function main():void{ count++; if (state == ACTIVE){ if (count >= DELAY){ state = INACTIVE; count = 0; }; if (mc.alpha < 1){ mc.alpha = (mc.alpha + WARM_UP_STEP); }; } else { if (state == INACTIVE){ if (count >= DELAY){ state = ACTIVE; count = 0; }; if (mc.alpha > 0){ mc.alpha = (mc.alpha - WARM_UP_STEP); }; }; }; } override public function resolvePlayerCollision(_arg1:Player):void{ _arg1.hit(); } override public function debug():void{ collision_rect.draw(g.debug); } } }//package com.nitrome.engine_specific
Section 45
//Lift (com.nitrome.engine_specific.Lift) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Lift extends Encounter { public var health_fraction:Number;// = 0 public var collision_rect:Rect; public var health:int;// = 0 public function Lift(_arg1:Sprite, _arg2:Game){ health = 0; health_fraction = 0; super(_arg1, _arg2, false); collision_rect = new Rect((_arg1.x + 30), (_arg1.y + 32), 2, 32); actor_target = false; } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } override public function resolvePlayerCollision(_arg1:Player):void{ if (((!(active)) || (!((g.player.state == Player.RUNNING))))){ return; }; g.player.levelComplete(this); g.scroller.map_array_layers[layer][map_y][map_x] = 0; g.mouse_pressed = false; } public function exitAnim():void{ (mc as MovieClip).gotoAndStop("exit"); } override public function unpause():void{ (mc as MovieClip).gotoAndStop(1); } } }//package com.nitrome.engine_specific
Section 46
//LiveStar (com.nitrome.engine_specific.LiveStar) package com.nitrome.engine_specific { import flash.display.*; public class LiveStar extends DeadStar { public var star:MovieClip; } }//package com.nitrome.engine_specific
Section 47
//Morph (com.nitrome.engine_specific.Morph) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.events.*; public class Morph extends Sprite { private const SPEED:int = 2; private const NUM:int = 18; private var initial_width:Number; private var i:int; private var gfx:Graphics; private var half_height:Number; private var step:Number; private var pairs:Array; public function Morph(){ var _local1:Shape; super(); _local1 = new Shape(); gfx = _local1.graphics; addChild(_local1); addEventListener(Event.ENTER_FRAME, main, false, 0, true); half_height = (height / 2); initial_width = width; step = (width / NUM); pairs = []; i = 0; while (i < NUM) { pairs.push(createPair(i)); i = (i + 2); }; } private function get randomy():Number{ return (((half_height * 0.1) + (Math.random() * half_height))); } public function main(_arg1:Event):void{ gfx.clear(); gfx.beginFill(0); gfx.moveTo(0, (half_height - pairs[0].a.y)); i = 0; while (i < pairs.length) { gfx.lineTo(pairs[i].a.x, (half_height - pairs[i].a.y)); gfx.lineTo(pairs[i].b.x, (half_height - pairs[i].b.y)); i++; }; gfx.lineTo(width, (half_height - pairs[(pairs.length - 1)].b.y)); gfx.lineTo(width, (half_height + pairs[(pairs.length - 1)].b.y)); i = (pairs.length - 1); while (i > -1) { gfx.lineTo(pairs[i].b.x, (half_height + pairs[i].b.y)); gfx.lineTo(pairs[i].a.x, (half_height + pairs[i].a.y)); i--; }; gfx.lineTo(0, (half_height + pairs[0].a.y)); gfx.lineTo(0, (half_height - pairs[0].a.y)); i = 0; while (i < pairs.length) { pairs[i].a.x = (pairs[i].a.x + SPEED); pairs[i].b.x = (pairs[i].b.x + SPEED); i++; }; if (pairs[0].a.x > 0){ pairs.unshift(createPair(-2)); }; if (pairs[(pairs.length - 1)].a.x > initial_width){ pairs.pop(); }; } private function createPair(_arg1:int):Object{ var _local2:Number; var _local3:int; var _local4:Number; var _local5:Object; _local2 = randomy; _local3 = (Math.random() * 8); if (_local3){ _local4 = (step / (_local3 + 1)); }; _local5 = {a:new Dot((_arg1 * step), _local2), b:new Dot(((_arg1 + 1) * step), _local2), ribs:_local3, rib_len:_local4}; return (_local5); } } }//package com.nitrome.engine_specific
Section 48
//MovingBlock (com.nitrome.engine_specific.MovingBlock) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class MovingBlock extends FlyingBot { public var init:Boolean;// = false public var SPEED:Number;// = 2 public var remove_call:Boolean;// = false public var rez_buddies:Array; public var b:Block; public var crush_count:int; public var evil:Boolean;// = false public var buddy:Boolean;// = false public var base_tile_id:int; public static const CRUSH:int = 4; public static const CRUSH_DELAY:int = 16; public function MovingBlock(_arg1:int, _arg2:Sprite, _arg3:Game){ SPEED = 2; buddy = false; remove_call = false; init = false; evil = false; super(_arg1, _arg2, _arg3); block = true; state = MOVING; rez_buddies = []; crush_count = 0; } public function updateMC():void{ mc.x = (b.x >> 0); mc.y = (b.y >> 0); } public function updateBlock():void{ b.x = x; b.y = y; } override public function alert():void{ if (evil){ aggressive = true; (mc as MovieClip).gotoAndStop("aggressive"); }; } override public function debug():void{ b.draw(g.debug); if (b.stacked > 0){ if ((b.stacked & Rect.UP)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo((b.x + (b.width * 0.5)), b.y); }; if ((b.stacked & Rect.RIGHT)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo((b.x + b.width), (b.y + (b.height * 0.5))); }; if ((b.stacked & Rect.DOWN)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo((b.x + (b.width * 0.5)), (b.y + b.height)); }; if ((b.stacked & Rect.LEFT)){ g.debug.moveTo((b.x + (b.width * 0.5)), (b.y + (b.height * 0.5))); g.debug.lineTo(b.x, (b.y + (b.height * 0.5))); }; }; } override public function remove():void{ var _local1:int; var _local2:*; has_main = false; if (rez_buddies.length > 0){ _local1 = 0; while (_local1 < rez_buddies.length) { rez_buddies[_local1].remove_call = true; _local1++; }; }; if (active){ active = false; if (!buddy){ if (aggressive){ tile_id = "129"; } else { _local2 = 0; while ((dir = (dir >> 1))) { _local2++; }; tile_id = ("" + (base_tile_id + _local2)); }; g.scroller.map_array_layers[layer][map_y][map_x] = tile_id; } else { g.scroller.map_array_layers[layer][map_y][map_x] = 0; }; g.stack_map[map_y][map_x] = Game.EMPTY; }; } public function main():void{ b.px = x; b.py = y; if (!init){ g.block_map[map_y][map_x] = this; g.stack_map[map_y][map_x] = Rect.TEMP; init = true; }; if (state == MOVING){ move(); if ((((dir == UP)) || ((dir == DOWN)))){ if ((y * Game.SCALE) == map_y){ if ((((dir == UP)) && ((g.block_map[(map_y + 1)][map_x] == this)))){ g.block_map[(map_y + 1)][map_x] = null; g.stack_map[(map_y + 1)][map_x] = Game.EMPTY; } else { if ((((dir == DOWN)) && ((g.block_map[(map_y - 1)][map_x] == this)))){ g.block_map[(map_y - 1)][map_x] = null; g.stack_map[(map_y - 1)][map_x] = Game.EMPTY; }; }; if (((((((!(buddy)) && (!(forced)))) && (!(g.scroller.contains(x, y))))) || (((buddy) && (remove_call))))){ remove(); return; }; if (aggressive){ selectSeekPath(); } else { selectPatrolPath(); }; }; } else { if ((((dir == LEFT)) || ((dir == RIGHT)))){ if ((x * Game.SCALE) == map_x){ if ((((dir == LEFT)) && ((g.block_map[map_y][(map_x + 1)] == this)))){ g.block_map[map_y][(map_x + 1)] = null; g.stack_map[map_y][(map_x + 1)] = Game.EMPTY; } else { if ((((dir == RIGHT)) && ((g.block_map[map_y][(map_x - 1)] == this)))){ g.block_map[map_y][(map_x - 1)] = null; g.stack_map[map_y][(map_x - 1)] = Game.EMPTY; }; }; if (((((((!(buddy)) && (!(forced)))) && (!(g.scroller.contains(x, y))))) || (((buddy) && (remove_call))))){ remove(); return; }; if (aggressive){ selectSeekPath(); } else { selectPatrolPath(); }; }; } else { if (dir == STOPPED){ if (((((((!(buddy)) && (!(forced)))) && (!(g.scroller.contains(x, y))))) || (((buddy) && (remove_call))))){ remove(); return; }; if (aggressive){ selectSeekPath(); } else { selectPatrolPath(); }; }; }; }; } else { if (state == TURNING){ state = MOVING; } else { if (state == CRUSH){ crush_count--; if (crush_count <= 0){ state = MOVING; }; }; }; }; updateMC(); updateBlock(); } override public function selectPatrolPath():void{ super.selectPatrolPath(); if (dir == UP){ g.block_map[(map_y - 1)][map_x] = this; g.stack_map[(map_y - 1)][map_x] = Rect.TEMP; } else { if (dir == DOWN){ g.block_map[(map_y + 1)][map_x] = this; g.stack_map[(map_y + 1)][map_x] = Rect.TEMP; } else { if (dir == LEFT){ g.block_map[map_y][(map_x - 1)] = this; g.stack_map[map_y][(map_x - 1)] = Rect.TEMP; } else { if (dir == RIGHT){ g.block_map[map_y][(map_x + 1)] = this; g.stack_map[map_y][(map_x + 1)] = Rect.TEMP; }; }; }; }; } public function move():void{ if (dir == UP){ y = (y - SPEED); } else { if (dir == RIGHT){ x = (x + SPEED); } else { if (dir == LEFT){ x = (x - SPEED); } else { if (dir == DOWN){ y = (y + SPEED); }; }; }; }; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); } override public function selectSeekPath():void{ super.selectSeekPath(); if ((((((((((((g.player.grid_x == map_x)) && ((g.player.grid_y == (map_y + 1))))) && ((g.stack_map[(map_y + 1)][map_x] == Rect.TEMP)))) || ((((((g.player.grid_x == (map_x + 1))) && ((g.player.grid_y == map_y)))) && ((g.stack_map[map_y][(map_x + 1)] == Rect.TEMP)))))) || ((((((g.player.grid_x == map_x)) && ((g.player.grid_y == (map_y - 1))))) && ((g.stack_map[(map_y - 1)][map_x] == Rect.TEMP)))))) || ((((((g.player.grid_x == (map_x - 1))) && ((g.player.grid_y == map_y)))) && ((g.stack_map[map_y][(map_x - 1)] == Rect.TEMP)))))){ state = CRUSH; crush_count = CRUSH_DELAY; return; }; if (SPEED != 4){ SPEED = 4; }; if (dir == UP){ g.block_map[(map_y - 1)][map_x] = this; g.stack_map[(map_y - 1)][map_x] = Rect.TEMP; } else { if (dir == DOWN){ g.block_map[(map_y + 1)][map_x] = this; g.stack_map[(map_y + 1)][map_x] = Rect.TEMP; } else { if (dir == LEFT){ g.block_map[map_y][(map_x - 1)] = this; g.stack_map[map_y][(map_x - 1)] = Rect.TEMP; } else { if (dir == RIGHT){ g.block_map[map_y][(map_x + 1)] = this; g.stack_map[map_y][(map_x + 1)] = Rect.TEMP; }; }; }; }; } override public function unpause():void{ if (evil){ if (aggressive){ (mc as MovieClip).gotoAndStop("aggressive"); } else { (mc as MovieClip).gotoAndStop("idle"); }; }; } } }//package com.nitrome.engine_specific
Section 49
//Ninja (com.nitrome.engine_specific.Ninja) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.geom.*; public class Ninja extends Encounter { public var stealth:Boolean; public var stealth_clip:StealthClip; public var orient:int; public var grab_y:int; public var grab_x:int; public var old_orient:int; public var health:int;// = 5 public var flip:int; public var health_fraction:Number;// = 0.2 public var tracking_count:int; public var controlled:Boolean; public var state:int; public var dir:int; public var stealth_mask:MovieClip; public var collision_rect:Rect; public var hide_count:int; public static const RIGHT:int = 2; public static const LEFT:int = 8; public static const FLYING:int = 4; public static const UP:int = 1; public static const RUNNING:int = 2; public static const WIDTH:int = 22; public static const HEIGHT:int = 34; public static const DOWN:int = 4; public static const HIDE_DELAY:int = 25; public static const SPEED:int = 7; public static const TRACKING_DELAY:int = 75; public static const CHASE_DIST:Number = 500; public static const WAIT:int = 1; public static var point:Point = new Point(); public function Ninja(_arg1:int, _arg2:MovieClip, _arg3:Game){ health = 5; health_fraction = 0.2; super(_arg2, _arg3, true); this.orient = _arg1; if (_arg1 == UP){ x = (x + (Game.scale >> 1)); y = (y + (Game.scale - 1)); } else { if (_arg1 == RIGHT){ y = (y + (Game.scale >> 1)); } else { if (_arg1 == DOWN){ x = (x + (Game.scale >> 1)); } else { if (_arg1 == LEFT){ x = (x + (Game.scale - 1)); y = (y + (Game.scale >> 1)); }; }; }; }; if ((((_arg1 == UP)) || ((_arg1 == DOWN)))){ if (((!((_arg3.player == null))) && (_arg3.player.active))){ dir = ((_arg3.player.x < x)) ? LEFT : RIGHT; } else { dir = ((Math.random() >= 0.5)) ? LEFT : RIGHT; }; } else { if ((((_arg1 == RIGHT)) || ((_arg1 == LEFT)))){ if (((!((_arg3.player == null))) && (_arg3.player.active))){ dir = ((_arg3.player.y < y)) ? UP : DOWN; } else { dir = ((Math.random() >= 0.5)) ? UP : DOWN; }; }; }; has_main = true; has_collision = true; collision_rect = new Rect(); map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); state = WAIT; stealth = true; stealth_mask = new NinjaMC(); stealth_clip = new StealthClip(stealth_mask, 80, 80); _arg3.monster_holder.addChild(stealth_clip); _arg3.stealths.push(this); updateCollisionRect(); updateMC(); tracking_count = TRACKING_DELAY; reward = new HiddenInt(70); controlled = !((_arg3.path_map[map_y][map_x] == 0)); } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); stealth_clip.x = mc.x; stealth_clip.y = mc.y; if (orient == UP){ mc.rotation = 0; stealth_clip.bitmap.x = (-(stealth_clip.bitmap.width) * 0.5); stealth_clip.bitmap.y = (-(stealth_clip.bitmap.height) + 2); grab_x = (-(stealth_clip.bitmap.width) * 0.5); grab_y = (-(stealth_clip.bitmap.height) + 2); } else { if (orient == RIGHT){ mc.rotation = 90; stealth_clip.bitmap.x = (-(stealth_clip.bitmap.width) * 0.5); stealth_clip.bitmap.y = 2; grab_x = -2; grab_y = (-(stealth_clip.bitmap.height) * 0.5); } else { if (orient == DOWN){ mc.rotation = 180; stealth_clip.bitmap.x = (stealth_clip.bitmap.width * 0.5); stealth_clip.bitmap.y = 2; grab_x = (-(stealth_clip.bitmap.width) * 0.5); grab_y = -2; } else { if (orient == LEFT){ mc.rotation = 270; stealth_clip.bitmap.x = (stealth_clip.bitmap.width * 0.5); stealth_clip.bitmap.y = (-(stealth_clip.bitmap.height) + 2); grab_x = (-(stealth_clip.bitmap.width) + 2); grab_y = ((-(stealth_clip.bitmap.height) * 0.5) + 2); }; }; }; }; stealth_clip.rotation = mc.rotation; stealth_clip.bitmap.rotation = -(mc.rotation); if (stealth){ if (stealth_clip.alpha < 1){ stealth_clip.alpha = (stealth_clip.alpha + 0.1); }; } else { if (stealth_clip.alpha > 0){ stealth_clip.alpha = (stealth_clip.alpha - 0.1); }; }; } override public function intersects(_arg1:Rect):Boolean{ if ((((state == FLYING)) && (collision_rect.intersects(_arg1)))){ return (true); }; return (false); } public function updateAnimState(_arg1:MovieClip):void{ if (state == RUNNING){ if (orient == UP){ if (dir == RIGHT){ if ((_arg1 as MovieClip).currentLabel != "run_right"){ (_arg1 as MovieClip).gotoAndStop("run_right"); }; } else { if (dir == LEFT){ if ((_arg1 as MovieClip).currentLabel != "run_left"){ (_arg1 as MovieClip).gotoAndStop("run_left"); }; }; }; } else { if (orient == RIGHT){ if (dir == DOWN){ if ((_arg1 as MovieClip).currentLabel != "run_right"){ (_arg1 as MovieClip).gotoAndStop("run_right"); }; } else { if (dir == UP){ if ((_arg1 as MovieClip).currentLabel != "run_left"){ (_arg1 as MovieClip).gotoAndStop("run_left"); }; }; }; } else { if (orient == DOWN){ if (dir == RIGHT){ if ((_arg1 as MovieClip).currentLabel != "run_left"){ (_arg1 as MovieClip).gotoAndStop("run_left"); }; } else { if (dir == LEFT){ if ((_arg1 as MovieClip).currentLabel != "run_right"){ (_arg1 as MovieClip).gotoAndStop("run_right"); }; }; }; } else { if (orient == LEFT){ if (dir == DOWN){ if ((_arg1 as MovieClip).currentLabel != "run_left"){ (_arg1 as MovieClip).gotoAndStop("run_left"); }; } else { if (dir == UP){ if ((_arg1 as MovieClip).currentLabel != "run_right"){ (_arg1 as MovieClip).gotoAndStop("run_right"); }; }; }; }; }; }; }; } else { if (state == WAIT){ if (orient == UP){ if (dir == RIGHT){ if ((_arg1 as MovieClip).currentLabel != "wait_right"){ (_arg1 as MovieClip).gotoAndStop("wait_right"); }; } else { if (dir == LEFT){ if ((_arg1 as MovieClip).currentLabel != "wait_left"){ (_arg1 as MovieClip).gotoAndStop("wait_left"); }; }; }; } else { if (orient == RIGHT){ if (dir == DOWN){ if ((_arg1 as MovieClip).currentLabel != "wait_right"){ (_arg1 as MovieClip).gotoAndStop("wait_right"); }; } else { if (dir == UP){ if ((_arg1 as MovieClip).currentLabel != "wait_left"){ (_arg1 as MovieClip).gotoAndStop("wait_left"); }; }; }; } else { if (orient == DOWN){ if (dir == RIGHT){ if ((_arg1 as MovieClip).currentLabel != "wait_left"){ (_arg1 as MovieClip).gotoAndStop("wait_left"); }; } else { if (dir == LEFT){ if ((_arg1 as MovieClip).currentLabel != "wait_right"){ (_arg1 as MovieClip).gotoAndStop("wait_right"); }; }; }; } else { if (orient == LEFT){ if (dir == DOWN){ if ((_arg1 as MovieClip).currentLabel != "wait_left"){ (_arg1 as MovieClip).gotoAndStop("wait_left"); }; } else { if (dir == UP){ if ((_arg1 as MovieClip).currentLabel != "wait_right"){ (_arg1 as MovieClip).gotoAndStop("wait_right"); }; }; }; }; }; }; }; } else { if (state == FLYING){ if ((_arg1 as MovieClip).currentLabel != "fly"){ (_arg1 as MovieClip).gotoAndStop("fly"); }; }; }; }; } public function stealthScreenGrab():void{ mc.visible = false; point = Util.localToLocal(point, mc, NitromeGame.timeline); stealth_clip.grab((-(point.x) - grab_x), (-(point.y) - grab_y)); mc.visible = true; } public function kill(_arg1:Number):void{ if (!active){ return; }; active = false; if (!spawned){ NitromeGame.bonus.enemy_count.value++; }; g.addFX(mc.x, mc.y, g.bang_bitmap1); if (stealth_clip.parent != null){ stealth_clip.parent.removeChild(stealth_clip); }; if (Math.random() > 0.5){ g.addSmoke(mc.x, mc.y); }; g.shake(3); g.addDebris((collision_rect.x + (collision_rect.width * 0.5)), (collision_rect.y + (collision_rect.height * 0.5)), ((_arg1 > 0)) ? 10 : -10, g.debris_clips[6], g.debris_clips[7], g.debris_clips[8]); } public function fly(_arg1=null):void{ var _local2:MovieClip; if (state == FLYING){ return; }; state = FLYING; stealth = false; hide_count = HIDE_DELAY; NitromeGame.sound_manager.playSound("missile"); _local2 = new JumpMC(); if (((!((_arg1 == null))) && (_arg1.b.moving_block))){ _local2.x = (x - _arg1.b.x); _local2.y = (y - _arg1.b.y); updateMC(); _local2.rotation = mc.rotation; _arg1.mc.addChild(_local2); } else { _local2.x = mc.x; _local2.y = mc.y; _local2.rotation = mc.rotation; g.effect_holder.addChild(_local2); }; } override public function remove():void{ if (((active) && (!((stealth_clip.parent == null))))){ stealth_clip.parent.removeChild(stealth_clip); }; super.remove(); } public function main():void{ if ((((((((((((((((state == RUNNING)) || ((state == WAIT)))) && (!(forced)))) && (!(g.scroller.contains((collision_rect.x + (collision_rect.width * 0.5)), (collision_rect.y + (collision_rect.height * 0.5))))))) && (!((map_x == 0))))) && (!((map_x == (g.scroller.width - 1)))))) && (!((map_y == 0))))) && (!((map_y == (g.scroller.height - 1)))))){ map_x = (collision_rect.x + (collision_rect.width * 0.5)); map_y = (collision_rect.y + (collision_rect.height * 0.5)); if (orient == UP){ tile_id = "63"; } else { if (orient == RIGHT){ tile_id = "64"; } else { if (orient == DOWN){ tile_id = "65"; } else { if (orient == LEFT){ tile_id = "66"; }; }; }; }; remove(); return; }; old_orient = orient; if ((((state == RUNNING)) || ((state == WAIT)))){ if ((((g.player.state == Player.STEALTH)) || (g.player.chameleon))){ stealth = false; hide_count = HIDE_DELAY; } else { if (((!(stealth)) && ((--hide_count < 0)))){ stealth = true; }; }; if (--tracking_count <= 0){ if (Util.proximity(x, y, g.player.x, g.player.y, CHASE_DIST)){ state = RUNNING; if ((((orient == UP)) || ((orient == DOWN)))){ if (((((((g.player.active) && (!((g.player.state == Player.STEALTH))))) && (!(g.player.chameleon)))) && ((g.player.x < (x - SPEED))))){ dir = LEFT; } else { if (((((((g.player.active) && (!((g.player.state == Player.STEALTH))))) && (!(g.player.chameleon)))) && ((g.player.x > (x + SPEED))))){ dir = RIGHT; }; }; } else { if ((((orient == RIGHT)) || ((orient == LEFT)))){ if (((((((g.player.active) && (!((g.player.state == Player.STEALTH))))) && (!(g.player.chameleon)))) && ((g.player.y < (y - SPEED))))){ dir = UP; } else { if (((((((g.player.active) && (!((g.player.state == Player.STEALTH))))) && (!(g.player.chameleon)))) && ((g.player.y > (y + SPEED))))){ dir = DOWN; }; }; }; }; } else { if (Math.random() > 0.5){ state = WAIT; }; }; tracking_count = TRACKING_DELAY; }; if (((((g.player.active) && (!((g.player.state == Player.STEALTH))))) && (!(g.player.chameleon)))){ if ((((orient == UP)) || ((orient == DOWN)))){ if ((((((g.player.x > (x - SPEED))) && ((g.player.x < (x + SPEED))))) && (jumpClear()))){ fly(); }; } else { if ((((orient == RIGHT)) || ((orient == LEFT)))){ if ((((((g.player.y > (y - SPEED))) && ((g.player.y < (y + SPEED))))) && (jumpClear()))){ fly(); }; }; }; }; if (controlled){ if (state == RUNNING){ map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); if (g.path_map[map_y][map_x] == 0){ fly(); } else { if (dir == UP){ if ((((g.path_map[(map_y - 1)][map_x] == 0)) && ((g.stack_map[(map_y - 1)][map_x] == Game.EMPTY)))){ dir = DOWN; }; } else { if (dir == RIGHT){ if ((((g.path_map[map_y][(map_x + 1)] == 0)) && ((g.stack_map[map_y][(map_x + 1)] == Game.EMPTY)))){ dir = LEFT; }; } else { if (dir == DOWN){ if ((((g.path_map[(map_y + 1)][map_x] == 0)) && ((g.stack_map[(map_y + 1)][map_x] == Game.EMPTY)))){ dir = UP; }; } else { if (dir == LEFT){ if ((((g.path_map[map_y][(map_x - 1)] == 0)) && ((g.stack_map[map_y][(map_x - 1)] == Game.EMPTY)))){ dir = RIGHT; }; }; }; }; }; }; }; }; if (state == RUNNING){ if (dir == UP){ y = (y - SPEED); map_x = (x * Game.SCALE); map_y = ((y - (WIDTH >> 1)) * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains(x, (y - HEIGHT))))){ y = (g.block_map[map_y][map_x].b.y + g.block_map[map_y][map_x].b.height); if (orient == RIGHT){ x = (x + (WIDTH >> 1)); } else { if (orient == LEFT){ x = (x - (WIDTH >> 1)); }; }; fly(g.block_map[map_y][map_x]); }; } else { state = RUNNING; y = ((map_y + 1) * Game.scale); if (orient == RIGHT){ x = (x + (WIDTH >> 1)); } else { if (orient == LEFT){ x = (x - (WIDTH >> 1)); }; }; }; dir = orient; orient = DOWN; } else { if (map_y == 0){ dir = DOWN; }; }; if (state != FLYING){ map_y = (y * Game.SCALE); if (orient == LEFT){ if (g.stack_map[map_y][(map_x + 1)] == Game.EMPTY){ orient = dir; x = ((map_x + 1) * Game.scale); y = (((map_y + 1) * Game.scale) - 1); dir = RIGHT; }; } else { if (orient == RIGHT){ if (g.stack_map[map_y][(map_x - 1)] == Game.EMPTY){ orient = dir; x = ((map_x * Game.scale) - 1); y = (((map_y + 1) * Game.scale) - 1); dir = LEFT; }; }; }; }; } else { if (dir == RIGHT){ x = (x + SPEED); map_x = ((x + (WIDTH >> 1)) * Game.SCALE); map_y = (y * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains((x + HEIGHT), y)))){ x = (g.block_map[map_y][map_x].b.x - 1); if (orient == DOWN){ y = (y + (WIDTH >> 1)); } else { if (orient == UP){ y = (y - (WIDTH >> 1)); }; }; fly(g.block_map[map_y][map_x]); }; } else { state = RUNNING; x = ((map_x * Game.scale) - 1); if (orient == DOWN){ y = (y + (WIDTH >> 1)); } else { if (orient == UP){ y = (y - (WIDTH >> 1)); }; }; }; dir = orient; orient = LEFT; } else { if (map_x == (g.scroller.width - 1)){ dir = LEFT; }; }; if (state != FLYING){ map_x = (x * Game.SCALE); if (orient == UP){ if (g.stack_map[(map_y + 1)][map_x] == Game.EMPTY){ orient = dir; x = (map_x * Game.scale); y = ((map_y + 1) * Game.scale); dir = DOWN; }; } else { if (orient == DOWN){ if (g.stack_map[(map_y - 1)][map_x] == Game.EMPTY){ orient = dir; x = (map_x * Game.scale); y = ((map_y * Game.scale) - 1); dir = UP; }; }; }; }; } else { if (dir == DOWN){ y = (y + SPEED); map_x = (x * Game.SCALE); map_y = ((y + (WIDTH >> 1)) * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains(x, (y + HEIGHT))))){ y = (g.block_map[map_y][map_x].b.y - 1); if (orient == RIGHT){ x = (x + (WIDTH >> 1)); } else { if (orient == LEFT){ x = (x - (WIDTH >> 1)); }; }; fly(g.block_map[map_y][map_x]); }; } else { state = RUNNING; y = ((map_y * Game.scale) - 1); if (orient == RIGHT){ x = (x + (WIDTH >> 1)); } else { if (orient == LEFT){ x = (x - (WIDTH >> 1)); }; }; }; dir = orient; orient = UP; } else { if (map_y == (g.scroller.height - 1)){ dir = UP; }; }; if (state != FLYING){ map_y = (y * Game.SCALE); if (orient == LEFT){ if (g.stack_map[map_y][(map_x + 1)] == Game.EMPTY){ orient = dir; x = ((map_x + 1) * Game.scale); y = (map_y * Game.scale); dir = RIGHT; }; } else { if (orient == RIGHT){ if (g.stack_map[map_y][(map_x - 1)] == Game.EMPTY){ orient = dir; x = ((map_x * Game.scale) - 1); y = (map_y * Game.scale); dir = LEFT; }; }; }; }; } else { if (dir == LEFT){ x = (x - SPEED); map_x = ((x - (WIDTH >> 1)) * Game.SCALE); map_y = (y * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains((x - HEIGHT), y)))){ x = (g.block_map[map_y][map_x].b.x + g.block_map[map_y][map_x].b.width); if (orient == DOWN){ y = (y + (WIDTH >> 1)); } else { if (orient == UP){ y = (y - (WIDTH >> 1)); }; }; fly(g.block_map[map_y][map_x]); }; } else { state = RUNNING; x = ((map_x + 1) * Game.scale); if (orient == DOWN){ y = (y + (WIDTH >> 1)); } else { if (orient == UP){ y = (y - (WIDTH >> 1)); }; }; }; dir = orient; orient = RIGHT; } else { if (map_x == 0){ dir = RIGHT; }; }; if (state != FLYING){ map_x = (x * Game.SCALE); if (orient == UP){ if (g.stack_map[(map_y + 1)][map_x] == Game.EMPTY){ orient = dir; x = (((map_x + 1) * Game.scale) - 1); y = ((map_y + 1) * Game.scale); dir = DOWN; }; } else { if (orient == DOWN){ if (g.stack_map[(map_y - 1)][map_x] == Game.EMPTY){ orient = dir; x = (((map_x + 1) * Game.scale) - 1); y = ((map_y * Game.scale) - 1); dir = UP; }; }; }; }; }; }; }; }; }; } else { if (state == FLYING){ if (orient == UP){ y = (y - (SPEED * 2)); map_x = (x * Game.SCALE); map_y = ((y - HEIGHT) * Game.SCALE); if (map_y == 0){ orient = DOWN; return; }; if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains(x, (y - HEIGHT))))){ state = FLYING; y = (g.block_map[map_y][map_x].b.y + g.block_map[map_y][map_x].b.height); }; } else { state = RUNNING; y = ((map_y + 1) * Game.scale); }; orient = DOWN; }; } else { if (orient == RIGHT){ x = (x + (SPEED * 2)); map_x = ((x + HEIGHT) * Game.SCALE); map_y = (y * Game.SCALE); if (map_x == (g.scroller.width - 1)){ orient = LEFT; return; }; if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains((x + HEIGHT), y)))){ state = FLYING; x = (g.block_map[map_y][map_x].b.x - 1); }; } else { state = RUNNING; x = ((map_x * Game.scale) - 1); }; orient = LEFT; }; } else { if (orient == DOWN){ y = (y + (SPEED * 2)); map_x = (x * Game.SCALE); map_y = ((y + HEIGHT) * Game.SCALE); if (map_y == (g.scroller.height - 1)){ orient = UP; return; }; if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains(x, (y + HEIGHT))))){ state = FLYING; y = (g.block_map[map_y][map_x].b.y - 1); }; } else { state = RUNNING; y = ((map_y * Game.scale) - 1); }; orient = UP; }; } else { if (orient == LEFT){ x = (x - (SPEED * 2)); map_x = ((x - HEIGHT) * Game.SCALE); map_y = (y * Game.SCALE); if (map_y == 0){ orient = RIGHT; return; }; if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains((x - HEIGHT), y)))){ state = FLYING; x = (g.block_map[map_y][map_x].b.x + g.block_map[map_y][map_x].b.width); }; } else { state = RUNNING; x = ((map_x + 1) * Game.scale); }; orient = RIGHT; }; }; }; }; }; }; }; updateCollisionRect(); updateAnimState((mc as MovieClip)); updateAnimState(stealth_mask); updateMC(); if (old_orient != orient){ stealthScreenGrab(); }; } public function jumpClear():Boolean{ var _local1:int; map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); _local1 = 0; while (_local1 < 100) { if (orient == UP){ if ((map_y - _local1) == g.player.map_y){ return (true); }; if ((map_y - _local1) < 0){ return (false); }; if (g.stack_map[(map_y - _local1)][map_x] > Game.EMPTY){ return (false); }; } else { if (orient == RIGHT){ if ((map_x + _local1) == g.player.map_x){ return (true); }; if ((map_x + _local1) > (g.scroller.width - 1)){ return (false); }; if (g.stack_map[map_y][(map_x + _local1)] > Game.EMPTY){ return (false); }; } else { if (orient == DOWN){ if ((map_y + _local1) == g.player.map_y){ return (true); }; if ((map_y + _local1) > (g.scroller.height - 1)){ return (false); }; if (g.stack_map[(map_y + _local1)][map_x] > Game.EMPTY){ return (false); }; } else { if (orient == LEFT){ if ((map_x - _local1) == g.player.map_x){ return (true); }; if ((map_x - _local1) < 0){ return (false); }; if (g.stack_map[map_y][(map_x - _local1)] > Game.EMPTY){ return (false); }; }; }; }; }; _local1++; }; return (false); } override public function resolvePlayerCollision(_arg1:Player):void{ _arg1.hit(); } public function updateCollisionRect():void{ if (orient == UP){ collision_rect.x = (x - (WIDTH * 0.5)); collision_rect.y = (y - HEIGHT); collision_rect.width = WIDTH; collision_rect.height = HEIGHT; } else { if (orient == RIGHT){ collision_rect.x = x; collision_rect.y = (y - (WIDTH * 0.5)); collision_rect.width = HEIGHT; collision_rect.height = WIDTH; } else { if (orient == DOWN){ collision_rect.x = (x - (WIDTH * 0.5)); collision_rect.y = y; collision_rect.width = WIDTH; collision_rect.height = HEIGHT; } else { if (orient == LEFT){ collision_rect.x = (x - HEIGHT); collision_rect.y = (y - (WIDTH * 0.5)); collision_rect.width = HEIGHT; collision_rect.height = WIDTH; }; }; }; }; } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:int; if (!active){ return; }; if (((!(_arg2)) && (stealth))){ _arg1.ping((_arg1.px - _arg1.x)); return; }; if (state == WAIT){ state = RUNNING; }; health--; _local3 = new HitSparkMC(); _local3.x = (_arg1.x >> 0); _local3.y = (_arg1.y >> 0); _local4 = collision_rect.sideOf(_arg1.x, _arg1.y); if (_local4 == UP){ } else { if (_local4 == RIGHT){ _local3.rotation = 90; } else { if (_local4 == DOWN){ _local3.rotation = 180; } else { if (_local4 == LEFT){ _local3.rotation = 270; }; }; }; }; g.effect_holder.addChild(_local3); if ((((health <= 0)) || (_arg2))){ if (!spawned){ g.addScore(reward.value); } else { g.addScore((reward.value / 10)); }; kill((_arg1.x - _arg1.px)); NitromeGame.sound_manager.playSound("smithdie"); } else { NitromeGame.sound_manager.playSound("smithhit"); }; } } }//package com.nitrome.engine_specific
Section 50
//NinjaGuard (com.nitrome.engine_specific.NinjaGuard) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.geom.*; public class NinjaGuard extends Actor { public var detect_rect:Rect; public var tracking_count:int; public var stop_count:int;// = 0 public var dir:int; public var controlled:Boolean; public var pause_count:int;// = 0 public var state:int; public var reveal_count:int; public var paused:Boolean; public var target:Encounter; public var orient:int; public var stop_dir:int; public var old_orient:int; public var flip:int; public static const DOWN:int = 4; public static const LEFT:int = 8; public static const REVEAL:int = 16; public static const FLYING:int = 4; public static const TRACKING_DELAY:int = 50; public static const ELECTRIC:int = 8; public static const RUNNING:int = 2; public static const WIDTH:int = 24; public static const HEIGHT:int = 42; public static const NURSE_DIST:Number = 75; public static const STOP_DELAY:int = 8; public static const SPEED:int = 7; public static const LEAD_DIST:Number = 600; public static const REVEAL_DELAY:int = 150; public static const UP:int = 1; public static const WAIT:int = 1; public static const CHASE_DIST:Number = 500; public static const RIGHT:int = 2; public static var point:Point = new Point(); public function NinjaGuard(_arg1:int, _arg2:MovieClip, _arg3:Game){ pause_count = 0; stop_count = 0; super(_arg2, _arg3, true); this.orient = _arg1; if (_arg1 == UP){ x = (x + (Game.scale >> 1)); y = (y + (Game.scale - 1)); }; if ((((_arg1 == UP)) || ((_arg1 == DOWN)))){ if (((!((_arg3.player == null))) && (_arg3.player.active))){ dir = ((_arg3.player.x < x)) ? LEFT : RIGHT; } else { dir = ((Math.random() >= 0.5)) ? LEFT : RIGHT; }; } else { if ((((_arg1 == RIGHT)) || ((_arg1 == LEFT)))){ if (((!((_arg3.player == null))) && (_arg3.player.active))){ dir = ((_arg3.player.y < y)) ? UP : DOWN; } else { dir = ((Math.random() >= 0.5)) ? UP : DOWN; }; }; }; collision_rect = new Rect(); detect_rect = new Rect(); map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); state = WAIT; updateCollisionRect(); updateMC(); tracking_count = TRACKING_DELAY; controlled = !((_arg3.actor_map[map_y][map_x] == 0)); reveal_count = 0; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } override public function intersects(_arg1:Rect):Boolean{ var _local2:int; var _local3:int; if (state == FLYING){ return (collision_rect.intersects(_arg1)); }; if (detect_rect.intersects(_arg1)){ _local2 = ((_arg1.x + (_arg1.width * 0.5)) * Game.SCALE); _local3 = ((_arg1.y + (_arg1.height * 0.5)) * Game.SCALE); return (jumpClear(_local2, _local3)); }; return (false); } public function updateAnimState(_arg1:MovieClip):void{ if (state == RUNNING){ if (orient == UP){ if (dir == RIGHT){ if ((_arg1 as MovieClip).currentLabel != "run_right"){ (_arg1 as MovieClip).gotoAndStop("run_right"); }; } else { if (dir == LEFT){ if ((_arg1 as MovieClip).currentLabel != "run_left"){ (_arg1 as MovieClip).gotoAndStop("run_left"); }; }; }; } else { if (orient == RIGHT){ if (dir == DOWN){ if ((_arg1 as MovieClip).currentLabel != "run_right"){ (_arg1 as MovieClip).gotoAndStop("run_right"); }; } else { if (dir == UP){ if ((_arg1 as MovieClip).currentLabel != "run_left"){ (_arg1 as MovieClip).gotoAndStop("run_left"); }; }; }; } else { if (orient == DOWN){ if (dir == RIGHT){ if ((_arg1 as MovieClip).currentLabel != "run_left"){ (_arg1 as MovieClip).gotoAndStop("run_left"); }; } else { if (dir == LEFT){ if ((_arg1 as MovieClip).currentLabel != "run_right"){ (_arg1 as MovieClip).gotoAndStop("run_right"); }; }; }; } else { if (orient == LEFT){ if (dir == DOWN){ if ((_arg1 as MovieClip).currentLabel != "run_left"){ (_arg1 as MovieClip).gotoAndStop("run_left"); }; } else { if (dir == UP){ if ((_arg1 as MovieClip).currentLabel != "run_right"){ (_arg1 as MovieClip).gotoAndStop("run_right"); }; }; }; }; }; }; }; } else { if (state == WAIT){ if (orient == UP){ if (dir == RIGHT){ if ((_arg1 as MovieClip).currentLabel != "wait_right"){ (_arg1 as MovieClip).gotoAndStop("wait_right"); }; } else { if (dir == LEFT){ if ((_arg1 as MovieClip).currentLabel != "wait_left"){ (_arg1 as MovieClip).gotoAndStop("wait_left"); }; }; }; } else { if (orient == RIGHT){ if (dir == DOWN){ if ((_arg1 as MovieClip).currentLabel != "wait_right"){ (_arg1 as MovieClip).gotoAndStop("wait_right"); }; } else { if (dir == UP){ if ((_arg1 as MovieClip).currentLabel != "wait_left"){ (_arg1 as MovieClip).gotoAndStop("wait_left"); }; }; }; } else { if (orient == DOWN){ if (dir == RIGHT){ if ((_arg1 as MovieClip).currentLabel != "wait_left"){ (_arg1 as MovieClip).gotoAndStop("wait_left"); }; } else { if (dir == LEFT){ if ((_arg1 as MovieClip).currentLabel != "wait_right"){ (_arg1 as MovieClip).gotoAndStop("wait_right"); }; }; }; } else { if (orient == LEFT){ if (dir == DOWN){ if ((_arg1 as MovieClip).currentLabel != "wait_left"){ (_arg1 as MovieClip).gotoAndStop("wait_left"); }; } else { if (dir == UP){ if ((_arg1 as MovieClip).currentLabel != "wait_right"){ (_arg1 as MovieClip).gotoAndStop("wait_right"); }; }; }; }; }; }; }; } else { if (state == FLYING){ if ((_arg1 as MovieClip).currentLabel != "fly"){ (_arg1 as MovieClip).gotoAndStop("fly"); }; } else { if (state == ELECTRIC){ if ((_arg1 as MovieClip).currentLabel != "electric"){ (_arg1 as MovieClip).gotoAndStop("electric"); }; } else { if (state == REVEAL){ if ((_arg1 as MovieClip).currentLabel != "reveal"){ (_arg1 as MovieClip).gotoAndStop("reveal"); }; }; }; }; }; }; } public function main():void{ old_orient = orient; if ((((state == RUNNING)) || ((state == WAIT)))){ selectPatrolPath(); if (dir == orient){ dir = stop_dir; fly(); } else { if ((((((((((dir == DOWN)) && ((orient == UP)))) || ((((dir == LEFT)) && ((orient == RIGHT)))))) || ((((dir == UP)) && ((orient == DOWN)))))) || ((((dir == RIGHT)) && ((orient == LEFT)))))){ dir = stop_dir; }; }; if (((((((Path.free) && ((--stop_count <= 0)))) && (Util.proximity(x, y, g.player.x, g.player.y, NURSE_DIST)))) || (((!(Path.free)) && (!(Util.proximity(x, y, g.player.x, g.player.y, LEAD_DIST))))))){ state = WAIT; if (electrocuted){ state = ELECTRIC; } else { if (reveal_count){ state = REVEAL; }; }; } else { if (state == WAIT){ tracking_count = 0; stop_count = STOP_DELAY; state = RUNNING; if (electrocuted){ state = ELECTRIC; } else { if (reveal_count){ state = REVEAL; }; }; }; }; if (((((Path.free) && ((state == RUNNING)))) && ((--tracking_count <= 0)))){ if ((((orient == UP)) || ((orient == DOWN)))){ if (((((g.player.active) && (!((g.player.state == Player.STEALTH))))) && ((g.player.x < (x - SPEED))))){ dir = LEFT; } else { if (((((g.player.active) && (!((g.player.state == Player.STEALTH))))) && ((g.player.x > (x + SPEED))))){ dir = RIGHT; }; }; map_y = (y * Game.SCALE); if ((((((orient == UP)) && ((g.player.map_y < map_y)))) || ((((orient == DOWN)) && ((g.player.map_y > map_y)))))){ fly(); }; } else { if ((((orient == RIGHT)) || ((orient == LEFT)))){ if (((((g.player.active) && (!((g.player.state == Player.STEALTH))))) && ((g.player.y < (y - SPEED))))){ dir = UP; } else { if (((((g.player.active) && (!((g.player.state == Player.STEALTH))))) && ((g.player.y > (y + SPEED))))){ dir = DOWN; }; }; map_x = (x * Game.SCALE); if ((((((orient == LEFT)) && ((g.player.map_x < map_x)))) || ((((orient == RIGHT)) && ((g.player.map_x > map_x)))))){ fly(); }; }; }; tracking_count = TRACKING_DELAY; }; if (state == RUNNING){ if (dir == UP){ y = (y - SPEED); map_x = (x * Game.SCALE); map_y = ((y - (WIDTH >> 1)) * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains(x, (y - HEIGHT))))){ y = (g.block_map[map_y][map_x].b.y + g.block_map[map_y][map_x].b.height); if (orient == RIGHT){ x = (x + (WIDTH >> 1)); } else { if (orient == LEFT){ x = (x - (WIDTH >> 1)); }; }; fly(g.block_map[map_y][map_x]); }; } else { state = RUNNING; y = ((map_y + 1) * Game.scale); if (orient == RIGHT){ x = (x + (WIDTH >> 1)); } else { if (orient == LEFT){ x = (x - (WIDTH >> 1)); }; }; }; dir = orient; orient = DOWN; } else { if (map_y == 0){ dir = DOWN; }; }; if (state != FLYING){ map_y = (y * Game.SCALE); if (orient == LEFT){ if (g.stack_map[map_y][(map_x + 1)] == Game.EMPTY){ orient = dir; x = ((map_x + 1) * Game.scale); y = (((map_y + 1) * Game.scale) - 1); dir = RIGHT; }; } else { if (orient == RIGHT){ if (g.stack_map[map_y][(map_x - 1)] == Game.EMPTY){ orient = dir; x = ((map_x * Game.scale) - 1); y = (((map_y + 1) * Game.scale) - 1); dir = LEFT; }; }; }; }; } else { if (dir == RIGHT){ x = (x + SPEED); map_x = ((x + (WIDTH >> 1)) * Game.SCALE); map_y = (y * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains((x + HEIGHT), y)))){ x = (g.block_map[map_y][map_x].b.x - 1); if (orient == DOWN){ y = (y + (WIDTH >> 1)); } else { if (orient == UP){ y = (y - (WIDTH >> 1)); }; }; fly(g.block_map[map_y][map_x]); }; } else { state = RUNNING; x = ((map_x * Game.scale) - 1); if (orient == DOWN){ y = (y + (WIDTH >> 1)); } else { if (orient == UP){ y = (y - (WIDTH >> 1)); }; }; }; dir = orient; orient = LEFT; } else { if (map_x == (g.scroller.width - 1)){ dir = LEFT; }; }; if (state != FLYING){ map_x = (x * Game.SCALE); if (orient == UP){ if (g.stack_map[(map_y + 1)][map_x] == Game.EMPTY){ orient = dir; x = (map_x * Game.scale); y = ((map_y + 1) * Game.scale); dir = DOWN; }; } else { if (orient == DOWN){ if (g.stack_map[(map_y - 1)][map_x] == Game.EMPTY){ orient = dir; x = (map_x * Game.scale); y = ((map_y * Game.scale) - 1); dir = UP; }; }; }; }; } else { if (dir == DOWN){ y = (y + SPEED); map_x = (x * Game.SCALE); map_y = ((y + (WIDTH >> 1)) * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains(x, (y + HEIGHT))))){ y = (g.block_map[map_y][map_x].b.y - 1); if (orient == RIGHT){ x = (x + (WIDTH >> 1)); } else { if (orient == LEFT){ x = (x - (WIDTH >> 1)); }; }; fly(g.block_map[map_y][map_x]); }; } else { state = RUNNING; y = ((map_y * Game.scale) - 1); if (orient == RIGHT){ x = (x + (WIDTH >> 1)); } else { if (orient == LEFT){ x = (x - (WIDTH >> 1)); }; }; }; dir = orient; orient = UP; } else { if (map_y == (g.scroller.height - 1)){ dir = UP; }; }; if (state != FLYING){ map_y = (y * Game.SCALE); if (orient == LEFT){ if (g.stack_map[map_y][(map_x + 1)] == Game.EMPTY){ orient = dir; x = ((map_x + 1) * Game.scale); y = (map_y * Game.scale); dir = RIGHT; }; } else { if (orient == RIGHT){ if (g.stack_map[map_y][(map_x - 1)] == Game.EMPTY){ orient = dir; x = ((map_x * Game.scale) - 1); y = (map_y * Game.scale); dir = LEFT; }; }; }; }; } else { if (dir == LEFT){ x = (x - SPEED); map_x = ((x - (WIDTH >> 1)) * Game.SCALE); map_y = (y * Game.SCALE); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains((x - HEIGHT), y)))){ x = (g.block_map[map_y][map_x].b.x + g.block_map[map_y][map_x].b.width); if (orient == DOWN){ y = (y + (WIDTH >> 1)); } else { if (orient == UP){ y = (y - (WIDTH >> 1)); }; }; fly(g.block_map[map_y][map_x]); }; } else { state = RUNNING; x = ((map_x + 1) * Game.scale); if (orient == DOWN){ y = (y + (WIDTH >> 1)); } else { if (orient == UP){ y = (y - (WIDTH >> 1)); }; }; }; dir = orient; orient = RIGHT; } else { if (map_x == (g.scroller.width - 1)){ dir = LEFT; }; }; if (state != FLYING){ map_x = (x * Game.SCALE); if (orient == UP){ if (g.stack_map[(map_y + 1)][map_x] == Game.EMPTY){ orient = dir; x = (((map_x + 1) * Game.scale) - 1); y = ((map_y + 1) * Game.scale); dir = DOWN; }; } else { if (orient == DOWN){ if (g.stack_map[(map_y - 1)][map_x] == Game.EMPTY){ orient = dir; x = (((map_x + 1) * Game.scale) - 1); y = ((map_y * Game.scale) - 1); dir = UP; }; }; }; }; }; }; }; }; }; } else { if (state == FLYING){ if (orient == UP){ y = (y - (SPEED * 2)); map_x = (x * Game.SCALE); map_y = ((y - HEIGHT) * Game.SCALE); if (map_y == 0){ orient = DOWN; return; }; if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains(x, (y - HEIGHT))))){ state = FLYING; y = (g.block_map[map_y][map_x].b.y + g.block_map[map_y][map_x].b.height); }; } else { state = RUNNING; y = ((map_y + 1) * Game.scale); }; orient = DOWN; }; } else { if (orient == RIGHT){ x = (x + (SPEED * 2)); map_x = ((x + HEIGHT) * Game.SCALE); map_y = (y * Game.SCALE); if (map_x == (g.scroller.width - 1)){ orient = LEFT; return; }; if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains((x + HEIGHT), y)))){ state = FLYING; x = (g.block_map[map_y][map_x].b.x - 1); }; } else { state = RUNNING; x = ((map_x * Game.scale) - 1); }; orient = LEFT; }; } else { if (orient == DOWN){ y = (y + (SPEED * 2)); map_x = (x * Game.SCALE); map_y = ((y + HEIGHT) * Game.SCALE); if (map_y == (g.scroller.height - 1)){ orient = UP; return; }; if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains(x, (y + HEIGHT))))){ state = FLYING; y = (g.block_map[map_y][map_x].b.y - 1); }; } else { state = RUNNING; y = ((map_y * Game.scale) - 1); }; orient = UP; }; } else { if (orient == LEFT){ x = (x - (SPEED * 2)); map_x = ((x - HEIGHT) * Game.SCALE); map_y = (y * Game.SCALE); if (map_y == 0){ orient = RIGHT; return; }; if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (((!((g.block_map[map_y][map_x] == null))) && (g.block_map[map_y][map_x].b.contains((x - HEIGHT), y)))){ state = FLYING; x = (g.block_map[map_y][map_x].b.x + g.block_map[map_y][map_x].b.width); }; } else { state = RUNNING; x = ((map_x + 1) * Game.scale); }; orient = RIGHT; }; }; }; }; }; } else { if (state == REVEAL){ reveal_count--; if (reveal_count == 0){ state = WAIT; }; }; }; }; updateCollisionRect(); updateAnimState((mc as MovieClip)); updateMC(); } public function selectPatrolPath():void{ if (pause_count == -1){ return; }; if ((((dir == Path.STOPPED)) && ((pause_count > 0)))){ pause_count--; return; }; if (dir != Path.STOPPED){ stop_dir = dir; }; Path.getDir(dir, g.actor_map, null, map_x, map_y); dir = Path.dir; pause_count = (paused) ? 0 : Path.pause_delay; if (pause_count > 0){ dir = Path.STOPPED; paused = true; return; }; paused = false; } public function jumpClear(_arg1:int, _arg2:int):Boolean{ var _local3:int; map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); _local3 = 0; while (_local3 < 100) { if (orient == UP){ if ((map_y - _local3) == _arg2){ return (true); }; if ((map_y - _local3) < 0){ return (false); }; if (g.stack_map[(map_y - _local3)][map_x] > Game.EMPTY){ return (false); }; } else { if (orient == RIGHT){ if ((map_x + _local3) == _arg1){ return (true); }; if ((map_x + _local3) > (g.scroller.width - 1)){ return (false); }; if (g.stack_map[map_y][(map_x + _local3)] > Game.EMPTY){ return (false); }; } else { if (orient == DOWN){ if ((map_y + _local3) == _arg2){ return (true); }; if ((map_y + _local3) > (g.scroller.height - 1)){ return (false); }; if (g.stack_map[(map_y + _local3)][map_x] > Game.EMPTY){ return (false); }; } else { if (orient == LEFT){ if ((map_x - _local3) == _arg1){ return (true); }; if ((map_x - _local3) < 0){ return (false); }; if (g.stack_map[map_y][(map_x - _local3)] > Game.EMPTY){ return (false); }; }; }; }; }; _local3++; }; return (false); } override public function resolveBulletCollision(_arg1):void{ var _local2:Boolean; _local2 = !((_arg1 is Bullet)); _arg1 = (_local2) ? _arg1.list[_arg1.hit] : _arg1; if (_local2){ g.addDebris(_arg1.x, _arg1.y, (_arg1.px - _arg1.x), _arg1.bitmap, _arg1.bitmap, _arg1.bitmap, _arg1.bitmap); } else { g.addDebris(_arg1.x, _arg1.y, (_arg1.px - _arg1.x), _arg1.bitmap); }; _arg1.active = false; } override public function resolveEncounterCollision(_arg1):void{ if (state == FLYING){ if (target == _arg1){ return; }; _arg1.resolveWeaponCollision(new Star(x, y, 0, 0, null, g), true); target = _arg1; } else { target = null; fly(); }; } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); if (orient == UP){ mc.rotation = 0; } else { if (orient == RIGHT){ mc.rotation = 90; } else { if (orient == DOWN){ mc.rotation = 180; } else { if (orient == LEFT){ mc.rotation = 270; }; }; }; }; } public function updateCollisionRect():void{ if (orient == UP){ collision_rect.x = (x - (WIDTH * 0.5)); collision_rect.y = (y - HEIGHT); collision_rect.width = WIDTH; collision_rect.height = HEIGHT; detect_rect.x = collision_rect.x; detect_rect.y = 0; detect_rect.width = collision_rect.width; detect_rect.height = (collision_rect.y + collision_rect.height); } else { if (orient == RIGHT){ collision_rect.x = x; collision_rect.y = (y - (WIDTH * 0.5)); collision_rect.width = HEIGHT; collision_rect.height = WIDTH; detect_rect.x = collision_rect.x; detect_rect.y = collision_rect.y; detect_rect.width = ((g.scroller.width * Game.scale) - collision_rect.x); detect_rect.height = collision_rect.height; } else { if (orient == DOWN){ collision_rect.x = (x - (WIDTH * 0.5)); collision_rect.y = y; collision_rect.width = WIDTH; collision_rect.height = HEIGHT; detect_rect.x = collision_rect.x; detect_rect.y = collision_rect.y; detect_rect.width = collision_rect.width; detect_rect.height = ((g.scroller.height * Game.scale) - collision_rect.y); } else { if (orient == LEFT){ collision_rect.x = (x - HEIGHT); collision_rect.y = (y - (WIDTH * 0.5)); collision_rect.width = HEIGHT; collision_rect.height = WIDTH; detect_rect.x = 0; detect_rect.y = collision_rect.y; detect_rect.width = (collision_rect.x + collision_rect.width); detect_rect.height = collision_rect.height; }; }; }; }; } public function fly(_arg1=null):void{ var _local2:MovieClip; if (state == FLYING){ return; }; state = FLYING; _local2 = new JumpMC(); NitromeGame.sound_manager.playSound("missile"); if (((!((_arg1 == null))) && (_arg1.b.moving_block))){ _local2.x = (x - _arg1.b.x); _local2.y = (y - _arg1.b.y); updateMC(); _local2.rotation = mc.rotation; _arg1.mc.addChild(_local2); } else { _local2.x = mc.x; _local2.y = mc.y; _local2.rotation = mc.rotation; g.effect_holder.addChild(_local2); }; } } }//package com.nitrome.engine_specific
Section 51
//Node (com.nitrome.engine_specific.Node) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class Node extends Dot { var walkable:Boolean;// = true var h:int;// = 0 var s:int;// = 0 public function Node(_arg1:int=0, _arg2:int=0){ h = 0; s = 0; walkable = true; super(); } function setH(_arg1:int, _arg2:int):void{ var _local3:*; var _local4:*; _local3 = (this.x - _arg1); _local4 = (this.y - _arg2); h = (((_local3 < 0)) ? -(_local3) : _local3 + ((_local4 < 0)) ? -(_local4) : _local4); } } }//package com.nitrome.engine_specific
Section 52
//Path (com.nitrome.engine_specific.Path) package com.nitrome.engine_specific { public class Path { public static const STOP:int = 8; public static const RIGHT:int = 2; public static const LEFT:int = 8; public static const DOWN:int = 4; public static const GO_UP:int = 9; public static const PAUSE_UNIT:int = 25; public static const GO_DOWN:int = 11; public static const UP:int = 1; public static const HORIZ:int = 7; public static const GO_RIGHT:int = 10; public static const STOPPED:int = 0; public static const VERT:int = 6; public static const FREE:int = 5; public static const GO_LEFT:int = 12; public static var width:int = -1; public static var command:int; public static var dir:int; public static var height:int = -1; public static var free:Boolean; public static var pause_delay:int; public static function getDir(_arg1:int, _arg2:Array, _arg3:Array, _arg4:int, _arg5:int):void{ if (width < 0){ height = _arg2.length; width = _arg2[0].length; }; command = _arg2[_arg5][_arg4]; pause_delay = 0; if (command == STOP){ pause_delay = -1; dir = STOPPED; return; }; if (!(((_arg2[_arg5][_arg4] >= 0)) || ((_arg2[_arg5][_arg4] <= 0)))){ pause_delay = (_arg2[_arg5][_arg4].match(/(?<=I\()\d+/)[0] * PAUSE_UNIT); command = _arg2[_arg5][_arg4].match(/\d+/)[0]; }; free = (command == 0); if (command == 0){ dir = _arg1; if ((((dir == UP)) && ((_arg5 == 0)))){ dir = DOWN; } else { if ((((dir == RIGHT)) && ((_arg4 == (width - 1))))){ dir = LEFT; } else { if ((((dir == DOWN)) && ((_arg5 == (height - 1))))){ dir = UP; } else { if ((((dir == LEFT)) && ((_arg4 == 0)))){ dir = RIGHT; }; }; }; }; } else { if (command == FREE){ dir = _arg1; if (dir == UP){ if ((((_arg5 == 0)) || ((_arg2[(_arg5 - 1)][_arg4] == 0)))){ dir = DOWN; }; } else { if (dir == RIGHT){ if ((((_arg4 == (width - 1))) || ((_arg2[_arg5][(_arg4 + 1)] == 0)))){ dir = LEFT; }; } else { if (dir == DOWN){ if ((((_arg5 == (height - 1))) || ((_arg2[(_arg5 + 1)][_arg4] == 0)))){ dir = UP; }; } else { if (dir == LEFT){ if ((((_arg4 == 0)) || ((_arg2[_arg5][(_arg4 - 1)] == 0)))){ dir = RIGHT; }; }; }; }; }; } else { if (command == GO_UP){ dir = UP; } else { if (command == GO_RIGHT){ dir = RIGHT; } else { if (command == GO_DOWN){ dir = DOWN; } else { if (command == GO_LEFT){ dir = LEFT; } else { if (command == HORIZ){ if ((((_arg1 == RIGHT)) || ((_arg1 == LEFT)))){ dir = _arg1; if (dir == RIGHT){ if ((((_arg4 == (width - 1))) || ((_arg2[_arg5][(_arg4 + 1)] == 0)))){ dir = LEFT; }; } else { if (dir == LEFT){ if ((((_arg4 == 0)) || ((_arg2[_arg5][(_arg4 - 1)] == 0)))){ dir = RIGHT; }; }; }; } else { if (dir == UP){ if ((((_arg4 == 0)) || ((_arg2[_arg5][(_arg4 - 1)] == 0)))){ dir = RIGHT; } else { if ((((_arg4 == (width - 1))) || ((_arg2[_arg5][(_arg4 + 1)] == 0)))){ dir = LEFT; } else { dir = ((Math.random() >= 0.5)) ? RIGHT : LEFT; }; }; } else { if (dir == DOWN){ if ((((_arg4 == 0)) || ((_arg2[_arg5][(_arg4 - 1)] == 0)))){ dir = RIGHT; } else { if ((((_arg4 == (width - 1))) || ((_arg2[_arg5][(_arg4 + 1)] == 0)))){ dir = LEFT; } else { dir = ((Math.random() >= 0.5)) ? RIGHT : LEFT; }; }; }; }; }; } else { if (command == VERT){ if ((((_arg1 == UP)) || ((_arg1 == DOWN)))){ dir = _arg1; if (dir == DOWN){ if ((((_arg5 == (height - 1))) || ((_arg2[(_arg5 + 1)][_arg4] == 0)))){ dir = DOWN; }; } else { if (dir == UP){ if ((((_arg5 == 0)) || ((_arg2[(_arg5 - 1)][_arg4] == 0)))){ dir = DOWN; }; }; }; } else { if (dir == RIGHT){ if ((((_arg5 == 0)) || ((_arg2[(_arg5 - 1)][_arg4] == 0)))){ dir = DOWN; } else { if ((((_arg5 == (height - 1))) || ((_arg2[(_arg5 + 1)][_arg4] == 0)))){ dir = UP; } else { dir = ((Math.random() >= 0.5)) ? DOWN : UP; }; }; } else { if (dir == LEFT){ if ((((_arg5 == 0)) || ((_arg2[(_arg5 - 1)][_arg4] == 0)))){ dir = DOWN; } else { if ((((_arg5 == (height - 1))) || ((_arg2[(_arg5 + 1)][_arg4] == 0)))){ dir = UP; } else { dir = ((Math.random() >= 0.5)) ? DOWN : UP; }; }; }; }; }; }; }; }; }; }; }; }; }; if (_arg3 == null){ return; }; if ((((dir == UP)) && ((_arg3[(_arg5 - 1)][_arg4] > Game.EMPTY)))){ dir = DOWN; } else { if ((((dir == RIGHT)) && ((_arg3[_arg5][(_arg4 + 1)] > Game.EMPTY)))){ dir = LEFT; } else { if ((((dir == DOWN)) && ((_arg3[(_arg5 + 1)][_arg4] > Game.EMPTY)))){ dir = UP; } else { if ((((dir == LEFT)) && ((_arg3[_arg5][(_arg4 - 1)] > Game.EMPTY)))){ dir = RIGHT; }; }; }; }; } } }//package com.nitrome.engine_specific
Section 53
//Player (com.nitrome.engine_specific.Player) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.geom.*; import com.nitrome.game.*; import flash.ui.*; public class Player extends Particle { public var trail_holder:Sprite; public var stealth_outline:Sprite; public var virtual_canvas_y:Number; public var rope_end:Rope; public var hurt:Boolean; public var stealth_clip:StealthClip; public var virtual_canvas_x:Number; public var walljump_right:Boolean; public var scroll_rect:Rect; public var last_mc_y:int; public var cham_rect:Rect; public var left_arm:MovieClip; public var last_mc_x:int; public var rope_end_length:Number; public var bc:RayCastReport; public var chameleon:Boolean; public var map_x:int; public var map_y:int; public var health:HiddenInt; public var total_rope_length:Number; public var stars:Array; public var g:Game; private var i:int; public var platform:Block; public var wallslide_block:Block; public var cy:Number; public var damping_x:Number; public var scroll_target_x:Number; public var scroll_target_y:Number; public var cham_shape_mask:MovieClip; public var right_stealth_arm:MovieClip; public var throw_count:int; public var falling:Boolean; public var debug_key:Boolean;// = false private var block:Block; public var state:int; public var dx:Number; public var dy:Number; public var cx:Number; public var rope_section:Rope; public var wallslide_collisions:int; public var crushed:Boolean; public var ouch_count:int; public var dir:int; public var lockrope:Boolean; public var on_scroller:Boolean; public var crushable:Boolean; public var shot_below:Boolean; public var anchor:RopeAnchor; public var rope_speed:Number; public var vy:Number; public var firing_state:int; public var vx:Number; public var ouch:Boolean; public var collision_rect:Rect; public var old_grid_x:int; public var old_grid_y:int; public var last_canvas_x:Number; public var eye_glow:Sprite; public var keys_pressed:int; public var hurt_count:int; public var anim_state:int; public var map_rect:Rect; public var arm_state:int; public var rope:Array; public var last_canvas_y:Number; public var walljump_left:Boolean; public var extend_rope_off_count:int; public var wallslide_count:int; public var active:Boolean; public var swing_kick:Number; public var key_lock:Boolean; public var collision_array:Array; public var jump_pressed:Boolean; public var wall_slide_right:MovieClip; public var cham_mask:Shape; public var jump_frame_count:int; public var left_trail_holder:Shape; public var finish_item:Encounter; public var cham_shape:Shape; public var right_trail_holder:Shape; public var arm_angle:Number; public var level_completed:Boolean; public var swing_floor_count:int; public var wall_slide_left:MovieClip; public var ready_count:int; public var colliding:Boolean; public var eye_trail_left:Trail; public var collisions:int; public var cham_clip:MovieClip; public var scroll_x:Number; public var scroll_y:Number; public var point:Point; public var mc:MovieClip; public var eye_trail_right:Trail; public var dist:Number; public var stealth_mask:MovieClip; public var right_arm:MovieClip; public var grid_x:int; public var grid_y:int; public var jump_count:Number; public var chameleon_pickup:Boolean; public var rope_alpha:Number; public var moving_sprite:Sprite; public var running:Boolean; public var stealth_pressed:Boolean; public var left_stealth_arm:MovieClip; private var arm_pos:Dot; private static const WALLSLIDE_DAMPING_Y:Number = 0.85; public static const LEFT:int = 8; public static const DAMPING_STEP:Number = 0.001; private static const JUMP_DELAY:Number = 5.8; private static const SWING_DAMPING_X:Number = 0.99; public static const DOWN_RIGHT:int = 32; public static const SWINGING:int = 8; public static const HEIGHT:int = 42; public static const NUM_STARS:int = 20; public static const SCALE:Number = 0.015625; public static const SPEED:Number = 7.5; public static const EXTEND_ROPE_OFF_DELAY:int = 10; public static const HURT_DELAY:int = 50; public static const FALL_RIGHT:int = 64; public static const WALLSLIDE_DELAY:int = 25; private static const DAMPING_X:Number = 0.55; private static const DAMPING_Y:Number = 0.99; private static const MIN_KICK = 1.5; public static const OUCH_DEATH_DELAY:int = 20; private static const LOST:int = 4; public static const WALL_RIGHT:int = 0x0100; private static const JUMP_DECAY:Number = 0.7; public static const scale:int = 64; public static const UP_LEFT:int = 128; public static const ROPE_ALPHA_FADE:Number = 0.1; public static const FALL_LEFT:int = 128; public static const MAX_ROPE_LENGTH:int = 800; public static const RUNNING_RIGHT:int = 2; public static const UP_RIGHT:int = 16; public static const JUMP_FRAME_DELAY = 3; private static const MAX_KICK = 4; public static const WALL_LEFT:int = 0x0200; public static const DEAD:int = 16; public static const SWING_FLOOR_DELAY = 5; public static const MAX_ROPE_SPEED:Number = 10; public static const JUMP_LEFT:int = 32; private static const READY:int = 1; public static const DOWN_LEFT:int = 64; private static const GRAVITY_X:Number = 0; private static const GRAVITY_Y:Number = 1.3; private static const FLOOR_DEPTH:int = 6; public static const WAIT_LEFT:int = 8; private static const FORCED_WALLSLIDE_DAMPING_Y:Number = 0.6; public static const RUNNING:int = 1; public static const DOWN:int = 4; public static const WIDTH:int = 24; public static const READY_DELAY:int = 2; public static const THROW_DELAY:int = 2; public static const JUMP_RIGHT:int = 16; public static const RUNNING_LEFT:int = 1; public static const WAIT_RIGHT:int = 4; public static const UP:int = 1; private static const THROW:int = 2; public static const MIN_ROPE_SPEED:Number = 3; public static const JUMPING:int = 2; public static const STEALTH:int = 4; public static const STEALTH_ANIM:int = 0x0400; public static const OUCH_DELAY:int = 10; public static const RIGHT:int = 2; public function Player(_arg1:MovieClip, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:Game){ debug_key = false; super(_arg3, _arg4); state = STEALTH; dir = RIGHT; colliding = false; crushed = false; falling = false; firing_state = 0; jump_pressed = false; wallslide_count = 0; walljump_left = false; walljump_right = false; jump_frame_count = 0; extend_rope_off_count = 0; jump_count = 0; rope_speed = MIN_ROPE_SPEED; arm_state = 0; anim_state = 0; throw_count = 0; ready_count = 0; swing_floor_count = 0; running = false; active = true; shot_below = false; chameleon = false; chameleon_pickup = false; key_lock = false; this.g = _arg5; this.mc = _arg1; this.stealth_mask = _arg2; _arg1.x = (last_mc_x = (_arg3 >> 0)); _arg1.y = (last_mc_y = ((_arg4 >> 0) + (HEIGHT >> 1))); map_x = ((_arg3 * SCALE) >> 0); map_y = ((_arg4 * SCALE) >> 0); grid_x = (_arg3 * SCALE); grid_y = (_arg4 * SCALE); swing_kick = MIN_KICK; platform = ((_arg5.block_map[(map_y + 1)][map_x] is Clip)) ? _arg5.block_map[(map_y + 1)][map_x].b : null; if (platform == null){ state = JUMPING; }; health = new HiddenInt(3); NitromeGame.timeline.health_panel.gotoAndStop("_3"); collision_rect = new Rect(0, 0, 0, 0); updateCollisionRect(); collision_array = new Array(4); map_rect = _arg5.scroller.map_rect; scroll_rect = new Rect(NitromeGame.timeline.scroll_border.x, NitromeGame.timeline.scroll_border.y, NitromeGame.timeline.scroll_border.width, NitromeGame.timeline.scroll_border.height); NitromeGame.timeline.scroll_border.visible = false; scroll_x = 0; scroll_y = scroll_rect.height; scroll_target_x = ((-(_arg1.x) + scroll_rect.x) + scroll_x); scroll_target_y = ((-(_arg1.y) + scroll_rect.y) + scroll_y); scroll_target_x = Math.min(0, scroll_target_x); scroll_target_y = Math.min(0, scroll_target_y); scroll_target_x = Math.max(((-(_arg5.scroller.width) * scale) + Game.WIDTH), scroll_target_x); scroll_target_y = Math.max(((-(_arg5.scroller.height) * scale) + Game.HEIGHT), scroll_target_y); _arg5.canvas.x = ((0.1 + scroll_target_x) >> 0); _arg5.canvas.y = ((0.1 + scroll_target_y) >> 0); virtual_canvas_x = _arg5.canvas.x; virtual_canvas_y = _arg5.canvas.y; scrolling(); _arg5.scroller.reset(); damping_x = DAMPING_X; rope = []; stars = []; arm_pos = new Dot(); left_arm = new LeftArmMC(); right_arm = new RightArmMC(); left_stealth_arm = new LeftArmMC(); right_stealth_arm = new RightArmMC(); _arg5.player_holder.addChild(left_arm); _arg5.player_holder.addChild(right_arm); _arg2.addChild(left_stealth_arm); _arg2.addChild(right_stealth_arm); stealth_clip = new StealthClip(_arg2, 80, 80); _arg5.player_holder.addChild(stealth_clip); stealth_clip.bitmap.x = (-(stealth_clip.bitmap.width) * 0.5); stealth_clip.bitmap.y = -(stealth_clip.bitmap.height); stealth_pressed = false; stealth_outline = new StealthOutlineMC(); stealth_outline.blendMode = BlendMode.OVERLAY; _arg5.player_holder.addChild(stealth_outline); stealth_outline.alpha = 0; eye_glow = new EyeGlowMC(); eye_glow.alpha = 0; _arg5.player_holder.addChild(eye_glow); cham_clip = new ChameleonMC(); _arg5.player_holder.addChild(cham_clip); cham_shape = new Shape(); cham_shape_mask = new ChameleonMC(); cham_shape_mask.cacheAsBitmap = true; cham_shape.cacheAsBitmap = true; cham_shape.mask = cham_shape_mask; cham_mask = new Shape(); _arg5.player_holder.addChild(cham_mask); cham_clip.mask = cham_mask; cham_rect = new Rect(-30, -60, 60, 0); _arg5.player_holder.addChild(cham_shape); _arg5.player_holder.addChild(cham_shape_mask); wall_slide_left = new WallSlideLeftMC(); wall_slide_right = new WallSlideRightMC(); wall_slide_left.alpha = 0; wall_slide_right.alpha = 0; _arg5.player_holder.addChild(wall_slide_left); _arg5.player_holder.addChild(wall_slide_right); trail_holder = new Sprite(); left_trail_holder = new Shape(); right_trail_holder = new Shape(); _arg5.player_holder.addChild(trail_holder); trail_holder.addChild(left_trail_holder); trail_holder.addChild(right_trail_holder); point = new Point(); point = Util.localToLocal(point, _arg1.body.left_eye, _arg5.canvas); eye_trail_left = new Trail(point.x, point.y, 7, 0.6); point = Util.localToLocal(point, _arg1.body.right_eye, _arg5.canvas); eye_trail_right = new Trail(point.x, point.y, 7, 0.6); lockrope = false; Key.forceClearKeys(); } public function updateArms():void{ if (((((ouch) || ((state == STEALTH)))) || (((!((g.spider == null))) && ((state == RUNNING)))))){ right_stealth_arm.visible = false; left_stealth_arm.visible = false; right_arm.visible = false; left_arm.visible = false; return; }; if (dir == RIGHT){ left_arm.visible = false; right_arm.visible = mc.visible; left_stealth_arm.visible = false; right_stealth_arm.visible = true; } else { if (dir == LEFT){ right_arm.visible = false; left_arm.visible = mc.visible; right_stealth_arm.visible = false; left_stealth_arm.visible = true; }; }; if (firing_state){ if (firing_state == READY){ left_arm.rotation = 0; left_arm.gotoAndStop("ready"); right_arm.rotation = 0; right_arm.gotoAndStop("ready"); left_stealth_arm.rotation = 0; left_stealth_arm.gotoAndStop("ready"); right_stealth_arm.rotation = 0; right_stealth_arm.gotoAndStop("ready"); } else { if ((((firing_state == THROW)) && ((throw_count > 0)))){ if (anchor != null){ if (!anchor.locked){ if (dir == LEFT){ arm_angle = (Game.ONE80DIVIDEDBYPI * anchor.rope.atan2()); } else { if (dir == RIGHT){ arm_angle = (Game.ONE80DIVIDEDBYPI * anchor.rope.atan2()); arm_angle = (arm_angle + 180); }; }; } else { if (rope_end != null){ if (dir == LEFT){ arm_angle = (Game.ONE80DIVIDEDBYPI * rope_end.atan2()); } else { if (dir == RIGHT){ arm_angle = (Game.ONE80DIVIDEDBYPI * rope_end.atan2()); arm_angle = (arm_angle + 180); }; }; }; }; arm_state = sideOf(arm_angle); left_arm.rotation = arm_angle; right_arm.rotation = arm_angle; left_stealth_arm.rotation = arm_angle; right_stealth_arm.rotation = arm_angle; }; if (arm_state == RIGHT){ left_arm.gotoAndStop("right"); right_arm.gotoAndStop("right"); left_stealth_arm.gotoAndStop("right"); right_stealth_arm.gotoAndStop("right"); } else { if (arm_state == LEFT){ left_arm.gotoAndStop("left"); right_arm.gotoAndStop("left"); left_stealth_arm.gotoAndStop("left"); right_stealth_arm.gotoAndStop("left"); }; }; } else { left_arm.rotation = 0; right_arm.rotation = 0; left_stealth_arm.rotation = 0; right_stealth_arm.rotation = 0; if ((((state == RUNNING)) && (running))){ left_arm.gotoAndStop("run_rest"); right_arm.gotoAndStop("run_rest"); left_stealth_arm.gotoAndStop("run_rest"); right_stealth_arm.gotoAndStop("run_rest"); } else { if ((((((state == RUNNING)) && (!(running)))) || ((((state == SWINGING)) && ((collisions & DOWN)))))){ left_arm.gotoAndStop("wait_rest"); right_arm.gotoAndStop("wait_rest"); left_stealth_arm.gotoAndStop("wait_rest"); right_stealth_arm.gotoAndStop("wait_rest"); } else { if ((((state == JUMPING)) && (!(falling)))){ left_arm.gotoAndStop("jump_rest"); right_arm.gotoAndStop("jump_rest"); left_stealth_arm.gotoAndStop("jump_rest"); right_stealth_arm.gotoAndStop("jump_rest"); } else { if ((((((((((state == JUMPING)) && (falling))) && ((wallslide_count == 0)))) && (!((collisions & DOWN))))) || ((state == SWINGING)))){ left_arm.gotoAndStop("fall_rest"); right_arm.gotoAndStop("fall_rest"); left_stealth_arm.gotoAndStop("fall_rest"); right_stealth_arm.gotoAndStop("fall_rest"); } else { if ((((((state == JUMPING)) && (falling))) && (wallslide_count))){ left_arm.gotoAndStop("wall_rest"); right_arm.gotoAndStop("wall_rest"); left_stealth_arm.gotoAndStop("wall_rest"); right_stealth_arm.gotoAndStop("wall_rest"); }; }; }; }; }; }; }; } else { left_arm.rotation = 0; right_arm.rotation = 0; left_stealth_arm.rotation = 0; right_stealth_arm.rotation = 0; if ((((state == RUNNING)) && (running))){ left_arm.gotoAndStop("run_rest"); right_arm.gotoAndStop("run_rest"); left_stealth_arm.gotoAndStop("run_rest"); right_stealth_arm.gotoAndStop("run_rest"); } else { if ((((((state == RUNNING)) && (!(running)))) || ((((state == SWINGING)) && ((collisions & DOWN)))))){ left_arm.gotoAndStop("wait_rest"); right_arm.gotoAndStop("wait_rest"); left_stealth_arm.gotoAndStop("wait_rest"); right_stealth_arm.gotoAndStop("wait_rest"); } else { if ((((state == JUMPING)) && (!(falling)))){ left_arm.gotoAndStop("jump_rest"); right_arm.gotoAndStop("jump_rest"); left_stealth_arm.gotoAndStop("jump_rest"); right_stealth_arm.gotoAndStop("jump_rest"); } else { if ((((((((((state == JUMPING)) && (falling))) && ((wallslide_count == 0)))) && (!((collisions & DOWN))))) || ((state == SWINGING)))){ left_arm.gotoAndStop("fall_rest"); right_arm.gotoAndStop("fall_rest"); left_stealth_arm.gotoAndStop("fall_rest"); right_stealth_arm.gotoAndStop("fall_rest"); } else { if ((((((state == JUMPING)) && (falling))) && (wallslide_count))){ left_arm.gotoAndStop("wall_rest"); right_arm.gotoAndStop("wall_rest"); left_stealth_arm.gotoAndStop("wall_rest"); right_stealth_arm.gotoAndStop("wall_rest"); }; }; }; }; }; }; if (mc.body != null){ arm_pos = ArmPos.getPos(arm_pos, mc.currentLabel, mc.body.currentFrame); } else { arm_pos = ArmPos.getPos(arm_pos, mc.currentLabel); }; left_stealth_arm.x = arm_pos.x; left_stealth_arm.y = arm_pos.y; right_stealth_arm.x = arm_pos.x; right_stealth_arm.y = arm_pos.y; left_arm.x = (arm_pos.x + mc.x); left_arm.y = (arm_pos.y + mc.y); right_arm.x = (arm_pos.x + mc.x); right_arm.y = (arm_pos.y + mc.y); if (state == STEALTH){ right_stealth_arm.visible = false; left_stealth_arm.visible = false; right_arm.visible = false; left_arm.visible = false; }; } public function enterChameleonMode():void{ if (((chameleon) || (!(chameleon_pickup)))){ return; }; chameleon = true; cham_rect.height = 0; cham_shape.graphics.clear(); cham_mask.graphics.clear(); cham_clip.alpha = 1; g.chameleon(); chameleon_pickup = false; NitromeGame.sound_manager.playSound("cammo"); } public function createRope():void{ rope = []; rope_end = new Rope(anchor, this); rope.push(rope_end); if (rope_end.b.y > rope_end.a.y){ if (rope_end.rest_len > HEIGHT){ rope_end.rest_len = (rope_end.rest_len - (HEIGHT * 0.6)); } else { rope_end.rest_len = (rope_end.rest_len * 0.8); }; rope_end.stiffness = (rope_end.stiffness * 0.3); }; total_rope_length = (rope_end_length = rope_end.rest_len); state = SWINGING; damping_x = SWING_DAMPING_X; falling = true; platform = null; } public function tidyUp():void{ var _local1:int; collision_rect = new Rect(); mc.visible = false; left_arm.visible = false; right_arm.visible = false; stealth_clip.visible = false; stealth_outline.visible = false; wall_slide_right.visible = false; wall_slide_left.visible = false; right_trail_holder.graphics.clear(); left_trail_holder.graphics.clear(); g.rope_holder.graphics.clear(); g.mouse_pressed = false; running = false; g.rope_holder.graphics.clear(); if (anchor != null){ anchor.convertToStar(); }; _local1 = 0; while (_local1 < stars.length) { stars[_local1].kill(); _local1++; }; map_x = (map_y = 0); } public function collide(_arg1:Encounter):Boolean{ return (_arg1.intersects(collision_rect)); } public function updateAnimState(_arg1:MovieClip):void{ var _local2:Boolean; _local2 = false; if (!ouch){ if (((!((g.spider == null))) && ((state == RUNNING)))){ if (_arg1.currentLabel != "spider"){ _arg1.gotoAndStop("spider"); }; } else { if ((((state == RUNNING)) && (running))){ if (dir == LEFT){ if (_arg1.currentLabel != "run_left"){ _arg1.gotoAndStop("run_left"); }; } else { if (dir == RIGHT){ if (_arg1.currentLabel != "run_right"){ _arg1.gotoAndStop("run_right"); }; }; }; } else { if ((((((state == RUNNING)) && (!(running)))) || ((((state == SWINGING)) && ((swing_floor_count > 0)))))){ if (dir == LEFT){ if (((((!((platform == null))) && ((collision_rect.x <= (platform.x + 5))))) && (((!((platform.stacked & LEFT))) || ((((map_x > 0)) && ((g.stack_map[map_y][(map_x - 1)] > -1)))))))){ if (_arg1.currentLabel != "wait_in_left"){ _arg1.gotoAndStop("wait_in_left"); }; } else { if (_arg1.currentLabel != "wait_left"){ _arg1.gotoAndStop("wait_left"); }; }; } else { if (dir == RIGHT){ if (((((!((platform == null))) && (((collision_rect.x + collision_rect.width) >= ((platform.x + platform.width) - 5))))) && (((!((platform.stacked & RIGHT))) || ((((map_x < (g.scroller.width - 1))) && ((g.stack_map[map_y][(map_x + 1)] > -1)))))))){ if (_arg1.currentLabel != "wait_in_right"){ _arg1.gotoAndStop("wait_in_right"); }; } else { if (_arg1.currentLabel != "wait_right"){ _arg1.gotoAndStop("wait_right"); }; }; }; }; } else { if ((((state == JUMPING)) && (!(falling)))){ if (dir == LEFT){ if (_arg1.currentLabel != "jump_left"){ _arg1.gotoAndStop("jump_left"); }; } else { if (dir == RIGHT){ if (_arg1.currentLabel != "jump_right"){ _arg1.gotoAndStop("jump_right"); }; }; }; } else { if ((((((state == JUMPING)) && (falling))) && ((wallslide_count == 0)))){ if (dir == LEFT){ if (_arg1.currentLabel != "fall_left"){ _arg1.gotoAndStop("fall_left"); }; } else { if (dir == RIGHT){ if (_arg1.currentLabel != "fall_right"){ _arg1.gotoAndStop("fall_right"); }; }; }; } else { if (state == SWINGING){ if (dir == LEFT){ if (_arg1.currentLabel != "swing_left"){ _arg1.gotoAndStop("swing_left"); }; } else { if (dir == RIGHT){ if (_arg1.currentLabel != "swing_right"){ _arg1.gotoAndStop("swing_right"); }; }; }; } else { if ((((((state == JUMPING)) && (falling))) && (wallslide_count))){ if (dir == LEFT){ if (wall_slide_left.alpha < 1){ wall_slide_left.alpha = (wall_slide_left.alpha + 0.1); }; if (_arg1.currentLabel != "wall_left"){ _arg1.gotoAndStop("wall_left"); wall_slide_right.alpha = 0; }; } else { if (dir == RIGHT){ if (wall_slide_right.alpha < 1){ wall_slide_right.alpha = (wall_slide_right.alpha + 0.1); }; if (_arg1.currentLabel != "wall_right"){ _arg1.gotoAndStop("wall_right"); wall_slide_left.alpha = 0; }; }; }; } else { if (state == STEALTH){ if (_arg1.currentLabel != "stealth"){ _arg1.gotoAndStop("stealth"); }; }; }; }; }; }; }; }; }; } else { if (dir == LEFT){ if (_arg1.currentLabel != "ouch_left"){ _arg1.gotoAndStop("ouch_left"); }; } else { if (dir == RIGHT){ if (_arg1.currentLabel != "ouch_right"){ _arg1.gotoAndStop("ouch_right"); }; }; }; }; } public function checkEvents():void{ if (g.event_map[grid_y][grid_x] > -1){ if (g.current_event == null){ g.current_event = g.events[g.event_map[grid_y][grid_x]]; g.current_event.active = true; } else { if (g.current_event.id != g.event_map[grid_y][grid_x]){ g.current_event.active = false; }; }; } else { if (g.current_event != null){ g.current_event.active = false; }; }; } public function debug():void{ g.debug.lineStyle(2, 0xFF00); collision_rect.draw(g.debug); i = 0; while (i < collision_array.length) { if (((((!((((collision_array[i] >= 0)) || ((collision_array[i] <= 0))))) && (!((collision_array[i] == null))))) && (collision_array[i].block))){ collision_array[i].debug(); }; i++; }; } public function updateMC():void{ last_mc_x = mc.x; last_mc_y = mc.y; mc.x = ((x + 0.1) >> 0); mc.y = (((y + 0.1) >> 0) + (HEIGHT >> 1)); stealth_clip.x = mc.x; stealth_clip.y = mc.y; cham_clip.x = mc.x; cham_clip.y = mc.y; cham_mask.x = mc.x; cham_mask.y = mc.y; cham_shape.x = mc.x; cham_shape.y = mc.y; cham_shape_mask.x = mc.x; cham_shape_mask.y = mc.y; if (chameleon){ cham_mask.graphics.clear(); cham_mask.graphics.beginFill(0xFFFFFF); cham_mask.graphics.drawRect(cham_rect.x, cham_rect.y, cham_rect.width, cham_rect.height); cham_mask.graphics.endFill(); if (cham_rect.height < (cham_rect.width + 9)){ cham_rect.height = (cham_rect.height + 2); cham_shape.graphics.clear(); cham_shape.graphics.lineStyle(2, 0xFF00); cham_shape.graphics.moveTo(cham_rect.x, (cham_rect.y + cham_rect.height)); cham_shape.graphics.lineTo((cham_rect.x + cham_rect.width), (cham_rect.y + cham_rect.height)); cham_shape.graphics.lineStyle(2, 0xFF00, 0.7); cham_shape.graphics.moveTo(cham_rect.x, ((cham_rect.y + cham_rect.height) - 2)); cham_shape.graphics.lineTo((cham_rect.x + cham_rect.width), ((cham_rect.y + cham_rect.height) - 2)); cham_shape.graphics.lineStyle(2, 0xFF00, 0.3); cham_shape.graphics.moveTo(cham_rect.x, ((cham_rect.y + cham_rect.height) - 4)); cham_shape.graphics.lineTo((cham_rect.x + cham_rect.width), ((cham_rect.y + cham_rect.height) - 4)); }; } else { if (cham_rect.height > 0){ if (cham_clip.alpha > 0){ cham_clip.alpha = (cham_clip.alpha - 0.25); } else { cham_rect.height = 0; cham_shape.graphics.clear(); cham_mask.graphics.clear(); }; }; }; if ((((state == STEALTH)) && (!(chameleon)))){ stealth_outline.x = (eye_glow.x = mc.x); stealth_outline.y = (eye_glow.y = mc.y); if (stealth_clip.alpha < 1){ stealth_clip.alpha = (stealth_clip.alpha + 0.1); }; if (stealth_outline.alpha < 1){ stealth_outline.alpha = (stealth_outline.alpha + 0.2); }; if (eye_glow.alpha < 1){ eye_glow.alpha = (eye_glow.alpha + 0.2); }; } else { if (stealth_clip.alpha > 0){ stealth_clip.alpha = (stealth_clip.alpha - 0.02); }; if (stealth_outline.alpha > 0){ stealth_outline.alpha = (stealth_outline.alpha - 0.2); }; if (eye_glow.alpha > 0){ eye_glow.alpha = 0; }; if (chameleon){ if (mc.alpha > 0){ mc.alpha = (mc.alpha - 0.05); right_arm.alpha = (left_arm.alpha = mc.alpha); }; } else { if (mc.alpha != 1){ mc.alpha = 1; right_arm.alpha = (left_arm.alpha = mc.alpha); }; }; }; if (((((((!(ouch)) && ((state == JUMPING)))) && (falling))) && (wallslide_count))){ wall_slide_left.x = (mc.x - (WIDTH >> 1)); wall_slide_right.x = (mc.x + (WIDTH >> 1)); wall_slide_left.y = (wall_slide_right.y = mc.y); } else { if (wall_slide_left.alpha > 0){ wall_slide_left.alpha = (wall_slide_left.alpha - 0.1); if (((!((wallslide_block == null))) && (wallslide_block.moving_block))){ wall_slide_left.x = ((wallslide_block.x + wallslide_block.width) - 1); }; }; if (wall_slide_right.alpha > 0){ wall_slide_right.alpha = (wall_slide_right.alpha - 0.1); if (((!((wallslide_block == null))) && (wallslide_block.moving_block))){ wall_slide_right.x = wallslide_block.x; }; }; }; updateTrails(); if ((((state == RUNNING)) && (running))){ if (dir == RIGHT){ if (left_trail_holder.alpha > 0){ left_trail_holder.alpha = (left_trail_holder.alpha - 0.1); } else { if (right_trail_holder.alpha < 1){ right_trail_holder.alpha = (right_trail_holder.alpha + 0.2); }; }; } else { if (dir == LEFT){ if (right_trail_holder.alpha > 0){ right_trail_holder.alpha = (right_trail_holder.alpha - 0.1); } else { if (left_trail_holder.alpha < 1){ left_trail_holder.alpha = (left_trail_holder.alpha + 0.2); }; }; }; }; } else { if (right_trail_holder.alpha < 1){ right_trail_holder.alpha = (right_trail_holder.alpha + 0.2); }; if (left_trail_holder.alpha < 1){ left_trail_holder.alpha = (left_trail_holder.alpha + 0.2); }; }; if (left_trail_holder.alpha > 0){ left_trail_holder.graphics.clear(); left_trail_holder.graphics.moveTo(eye_trail_left.dots[(eye_trail_left.dots.length - 1)].x, eye_trail_left.dots[(eye_trail_left.dots.length - 1)].y); i = 1; while (i < eye_trail_left.dots.length) { left_trail_holder.graphics.lineStyle(2, 0xFF00, (0.035 * i)); left_trail_holder.graphics.lineTo(eye_trail_left.dots[i].x, eye_trail_left.dots[i].y); i++; }; }; if (right_trail_holder.alpha > 0){ right_trail_holder.graphics.clear(); right_trail_holder.graphics.moveTo(eye_trail_right.dots[(eye_trail_right.dots.length - 1)].x, eye_trail_right.dots[(eye_trail_right.dots.length - 1)].y); i = 1; while (i < eye_trail_right.dots.length) { right_trail_holder.graphics.lineStyle(2, 0xFF00, (0.035 * i)); right_trail_holder.graphics.lineTo(eye_trail_right.dots[i].x, eye_trail_right.dots[i].y); i++; }; }; if (g.spider == null){ if (!(state & DEAD)){ if (NitromeGame.timeline.mouseX < 200){ if (scroll_x < scroll_rect.width){ scroll_x = (scroll_x + 4); }; } else { if (NitromeGame.timeline.mouseX > 350){ if (scroll_x > 0){ scroll_x = (scroll_x - 4); }; }; }; if (NitromeGame.timeline.mouseX < 100){ if (scroll_x < scroll_rect.width){ scroll_x = (scroll_x + 4); }; } else { if (NitromeGame.timeline.mouseX > 450){ if (scroll_x > 0){ scroll_x = (scroll_x - 4); }; }; }; if ((((((NitromeGame.timeline.mouseY > 300)) || ((((Math.abs((last_mc_y - mc.y)) > 2)) && ((last_mc_y < mc.y)))))) && ((scroll_y > 0)))){ scroll_y = (scroll_y - 2); } else { if ((((NitromeGame.timeline.mouseY < 100)) && ((scroll_y < (scroll_rect.height + 60))))){ scroll_y = (scroll_y + 2); } else { if (scroll_y < scroll_rect.height){ scroll_y = (scroll_y + 2); } else { if (scroll_y > scroll_rect.height){ scroll_y = (scroll_y - 2); }; }; }; }; scroll_target_x = ((-(mc.x) + scroll_rect.x) + scroll_x); scroll_target_y = ((-(mc.y) + scroll_rect.y) + scroll_y); }; scrolling(); g.scroller.clipManager(); }; } override public function toString():String{ var _local1:String; _local1 = ""; if (state == RUNNING){ _local1 = "RUNNING"; } else { if (state == JUMPING){ _local1 = "JUMPING"; } else { if (state == DEAD){ _local1 = "DEAD"; } else { if (state == SWINGING){ _local1 = "SWINGING"; } else { if (state == STEALTH){ _local1 = "STEALTH"; }; }; }; }; }; return ((((((("(" + (x >> 0)) + ",") + (y >> 0)) + ",") + _local1) + ")")); } public function death():void{ if (((g.god_mode) || (!(active)))){ return; }; active = false; NitromeGame.sound_manager.playSound("aiiee"); g.addFX(mc.x, mc.y, g.bang_bitmap2); g.addSmoke(mc.x, mc.y); g.addSmoke(mc.x, mc.y); g.addSmoke(mc.x, mc.y); g.shake(5); tidyUp(); g.gameOver(); } public function addStar(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Star{ var _local5:Sprite; var _local6:Star; _local5 = new LiveStar(); g.star_holder.addChild(_local5); _local5.x = (_arg1 >> 0); _local5.y = (_arg2 >> 0); _local6 = new Star(_arg1, _arg2, _arg3, _arg4, _local5, g); stars.push(_local6); return (_local6); } public function resolveCollision(_arg1):void{ var _local2:int; var _local3:Rect; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; block = _arg1.b; _local2 = block.sideOf((collision_rect.x + (WIDTH >> 1)), (collision_rect.y + (HEIGHT >> 1))); _local3 = collision_rect.intersection(block); if (_local3.width < _local3.height){ if ((_local2 & block.stacked)){ if ((((_local2 == UP)) || ((_local2 == DOWN)))){ if (x < (block.x + (scale >> 1))){ x = (block.x - (WIDTH >> 1)); px = x; collisions = (collisions | RIGHT); if ((((((keys_pressed == RIGHT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_right)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_right = false; }; } else { x = ((block.x + scale) + (WIDTH >> 1)); px = x; collisions = (collisions | LEFT); if ((((((keys_pressed == LEFT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_left)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_left = false; }; }; } else { if ((((_local2 == LEFT)) || ((_local2 == RIGHT)))){ if (y < (block.y + (scale >> 1))){ y = (block.y - (HEIGHT >> 1)); collisions = (collisions | DOWN); } else { y = ((block.y + block.height) + (HEIGHT >> 1)); collisions = (collisions | UP); }; }; }; } else { if (((!((block.stacked & LEFT))) && ((x < (block.x + (scale >> 1)))))){ x = (block.x - (WIDTH >> 1)); px = x; collisions = (collisions | RIGHT); if ((((((keys_pressed == RIGHT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_right)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_right = false; }; } else { if (!(block.stacked & RIGHT)){ x = ((block.x + scale) + (WIDTH >> 1)); px = x; collisions = (collisions | LEFT); if ((((((keys_pressed == LEFT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_left)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_left = false; }; } else { if (y < (block.y + (scale >> 1))){ y = (block.y - (HEIGHT >> 1)); collisions = (collisions | DOWN); } else { y = ((block.y + block.height) + (HEIGHT >> 1)); collisions = (collisions | UP); }; }; }; }; } else { if (_local3.height < _local3.width){ if ((_local2 & block.stacked)){ if ((((_local2 == UP)) || ((_local2 == DOWN)))){ if (x < (block.x + (scale >> 1))){ x = (block.x - (WIDTH >> 1)); px = x; collisions = (collisions | RIGHT); if ((((((keys_pressed == RIGHT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_right)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_right = false; }; } else { x = ((block.x + scale) + (WIDTH >> 1)); px = x; collisions = (collisions | LEFT); if ((((((keys_pressed == LEFT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_left)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_left = false; }; }; } else { if ((((_local2 == LEFT)) || ((_local2 == RIGHT)))){ if (y < (block.y + (scale >> 1))){ y = (block.y - (HEIGHT >> 1)); collisions = (collisions | DOWN); } else { y = ((block.y + block.height) + (HEIGHT >> 1)); collisions = (collisions | UP); }; }; }; } else { if (y < (block.y + (scale >> 1))){ y = (block.y - (HEIGHT >> 1)); collisions = (collisions | DOWN); if (!(((((state & JUMPING)) && (!(falling)))) || ((state == SWINGING)))){ platform = block; state = RUNNING; falling = false; if (block.moving_block){ moving_sprite = _arg1.mc; }; }; } else { y = ((block.y + scale) + (HEIGHT >> 1)); collisions = (collisions | UP); if ((((x >= block.x)) && ((x < (block.x + scale))))){ if (((!((platform == null))) && ((platform.x == block.x)))){ crushable = true; }; } else { if (((block.moving_block) || (((!((platform == null))) && (platform.moving_block))))){ if (x < (block.x + (scale >> 1))){ x = (block.x - (WIDTH >> 1)); } else { x = ((block.x + scale) + (WIDTH >> 1)); }; }; }; }; }; } else { if (_local3.width == _local3.height){ _local4 = (block.x + block.width); _local5 = (block.y + block.height); _local6 = x; _local7 = (y - HEIGHT); if ((((_local6 > _local4)) && ((_local7 > _local5)))){ if ((block.stacked & Rect.RIGHT)){ y = ((block.y + scale) + (HEIGHT >> 1)); collisions = (collisions | UP); } else { if ((block.stacked & DOWN)){ x = ((block.x + scale) + (WIDTH >> 1)); px = x; collisions = (collisions | RIGHT); if ((((((keys_pressed == RIGHT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_right)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_right = false; }; } else { x = ((block.x + scale) + (WIDTH >> 1)); px = x; collisions = (collisions | RIGHT); if ((((((keys_pressed == RIGHT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_right)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_right = false; }; }; }; } else { if ((((_local6 < _local4)) && ((_local7 > _local5)))){ if ((block.stacked & LEFT)){ y = ((block.y + block.height) + (HEIGHT >> 1)); collisions = (collisions | UP); } else { if ((block.stacked & UP)){ x = (block.x - (WIDTH >> 1)); px = x; collisions = (collisions | LEFT); if ((((((keys_pressed == LEFT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_left)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_left = false; }; } else { x = (block.x - (WIDTH >> 1)); px = x; collisions = (collisions | LEFT); if ((((((keys_pressed == LEFT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_left)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_left = false; }; }; }; } else { if ((((_local6 < _local4)) && ((_local7 < _local5)))){ if ((block.stacked & LEFT)){ y = (block.y - (HEIGHT >> 1)); collisions = (collisions | DOWN); } else { if ((block.stacked & DOWN)){ x = (block.x - (WIDTH >> 1)); px = x; collisions = (collisions | LEFT); if ((((((keys_pressed == LEFT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_left)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_left = false; }; } else { x = (block.x - (WIDTH >> 1)); px = x; y = (block.y - (HEIGHT >> 1)); collisions = (collisions | LEFT); if ((((((keys_pressed == LEFT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_left)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_left = false; }; collisions = (collisions | DOWN); if (!(((((state & JUMPING)) && (!(falling)))) || ((state == SWINGING)))){ platform = block; state = RUNNING; falling = false; if (block.moving_block){ moving_sprite = _arg1.mc; }; }; }; }; } else { if ((((_local6 > _local4)) && ((_local7 < _local5)))){ if ((block.stacked & RIGHT)){ y = (block.y - (HEIGHT >> 1)); collisions = (collisions | DOWN); } else { if ((block.stacked & DOWN)){ x = ((block.x + scale) + (WIDTH >> 1)); px = x; collisions = (collisions | RIGHT); if ((((((keys_pressed == RIGHT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_right)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_right = false; }; } else { x = ((block.x + scale) + (WIDTH >> 1)); px = x; y = (block.y + (HEIGHT >> 1)); collisions = (collisions | RIGHT); if ((((((keys_pressed == RIGHT)) && ((((block.stacked & UP)) || (((y - (HEIGHT >> 1)) > block.y)))))) && ((((block.stacked & DOWN)) || ((y < (block.y + block.height))))))){ if ((((state == JUMPING)) && (!(walljump_right)))){ wallslide_count = WALLSLIDE_DELAY; }; wallslide_block = block; walljump_right = false; }; collisions = (collisions | DOWN); if (!(((((state & JUMPING)) && (!(falling)))) || ((state == SWINGING)))){ platform = block; state = RUNNING; falling = false; if (block.moving_block){ moving_sprite = _arg1.mc; }; }; }; }; }; }; }; }; }; }; }; if (((((collisions) && ((state == SWINGING)))) && (block.moving_block))){ if ((collisions & LEFT)){ if (block.px < block.x){ x = (x + (block.x - block.px)); }; } else { if ((collisions & RIGHT)){ if (block.px > block.x){ x = (x + (block.x - block.px)); }; } else { if ((collisions & UP)){ if (block.py < block.y){ y = (y + (block.y - block.py)); }; }; }; }; }; updateCollisionRect(); } public function levelComplete(_arg1:Encounter=null):void{ if (((!(active)) || (level_completed))){ return; }; level_completed = true; finish_item = _arg1; } public function updateStars():void{ if (stars.length >= NUM_STARS){ stars[0].kill(); stars.shift(); }; i = 0; while (i < stars.length) { stars[i].main(); if (stars[i].dead){ stars.splice(i, 1); i--; }; i++; }; } public function checkKeys():void{ var _local1:MovieClip; var _local2:Sprite; keys_pressed = 0; if (state == RUNNING){ running = false; if (((((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A)))) && (!(((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D))))))){ damping_x = DAMPING_X; px = (px + SPEED); dir = LEFT; running = true; keys_pressed = LEFT; }; if (((((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D)))) && (!(((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A))))))){ damping_x = DAMPING_X; px = (px - SPEED); dir = RIGHT; running = true; keys_pressed = RIGHT; }; if (((((Key.isDown(Keyboard.UP)) || (Key.isDown(Key.W)))) && (!(jump_pressed)))){ jump_pressed = true; state = JUMPING; jump_count = JUMP_DELAY; jump_frame_count = JUMP_FRAME_DELAY; py = (y + jump_count); jump_count = (jump_count - JUMP_DECAY); _local1 = new JumpMC(); if (platform.moving_block){ _local1.x = (x - platform.x); moving_sprite.addChild(_local1); } else { _local1.x = mc.x; _local1.y = mc.y; g.effect_holder.addChild(_local1); }; platform = null; NitromeGame.sound_manager.playSound("jump"); } else { if (((((((((((!((g.alert_state == Game.ACTIVE))) && (!(ouch)))) && (!(hurt)))) && (!(g.mouse_pressed)))) && (!(((((((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D)))) || (Key.isDown(Keyboard.LEFT)))) || (Key.isDown(Key.A))))))) && (((Key.isDown(Keyboard.DOWN)) || (Key.isDown(Key.S)))))){ state = STEALTH; stealth_pressed = true; (dir == LEFT); if (!chameleon){ NitromeGame.sound_manager.playSound("wom"); }; }; }; } else { if (state == JUMPING){ if (((walljump_left) || (walljump_right))){ if (walljump_left){ px = (px + SPEED); dir = LEFT; }; if (walljump_right){ px = (px - SPEED); dir = RIGHT; }; } else { if ((wallslide_collisions & RIGHT)){ dir = RIGHT; } else { if ((wallslide_collisions & LEFT)){ dir = LEFT; }; }; if (wallslide_count){ jump_pressed = false; }; if (((((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A)))) && (!(((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D))))))){ damping_x = DAMPING_X; px = (px + SPEED); dir = LEFT; keys_pressed = LEFT; }; if (((((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D)))) && (!(((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A))))))){ damping_x = DAMPING_X; px = (px - SPEED); dir = RIGHT; keys_pressed = RIGHT; }; if (((((((Key.isDown(Keyboard.DOWN)) || (Key.isDown(Key.S)))) && (!(((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A))))))) && (!(((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D))))))){ wallslide_count = 0; wallslide_collisions = 0; }; }; if ((((jump_frame_count > 0)) || (((((((((Key.isDown(Keyboard.UP)) || (Key.isDown(Key.W)))) && (!(falling)))) && ((jump_count > 0)))) && (jump_pressed))))){ jump_frame_count--; py = (py + jump_count); jump_count = (jump_count - JUMP_DECAY); }; if ((((((wallslide_count > 0)) && (!(jump_pressed)))) && (((((!(((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D))))) && (((((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A)))) && ((wallslide_collisions & RIGHT)))))) || (((((!(((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A))))) && (((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D)))))) && ((wallslide_collisions & LEFT)))))))){ jump_pressed = true; falling = false; state = JUMPING; jump_count = JUMP_DELAY; jump_frame_count = JUMP_FRAME_DELAY; py = (y + jump_count); jump_count = (jump_count - JUMP_DECAY); platform = null; wallslide_count = 0; if ((wallslide_collisions & LEFT)){ walljump_right = true; }; if ((wallslide_collisions & RIGHT)){ walljump_left = true; }; NitromeGame.sound_manager.playSound("jump"); }; if (!falling){ walljump_left = (walljump_right = false); }; } else { if (state == SWINGING){ if ((((collisions == 0)) && ((rope_end.b.y > rope_end.a.y)))){ if (x < rope_end.a.x){ if (((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D)))){ px = (px + (rope_end.rx * swing_kick)); py = (py + (rope_end.ry * swing_kick)); }; } else { if (x > rope_end.a.x){ if (((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A)))){ px = (px + (rope_end.lx * swing_kick)); py = (py + (rope_end.ly * swing_kick)); }; } else { if (x == rope_end.a.x){ if (((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(Key.D)))){ px = (px + (rope_end.rx * swing_kick)); py = (py + (rope_end.ry * swing_kick)); } else { if (((Key.isDown(Keyboard.LEFT)) || (Key.isDown(Key.A)))){ px = (px + (rope_end.lx * swing_kick)); py = (py + (rope_end.ly * swing_kick)); }; }; }; }; }; }; if (((((((lockrope) && (((Key.isDown(Keyboard.UP)) || (Key.isDown(Key.W)))))) && (!((collisions & UP))))) && ((rope_end.len > HEIGHT)))){ i = 0; while (i < rope.length) { rope[i].rest_len = (rope[i].rest_len - rope_speed); i++; }; total_rope_length = (total_rope_length - rope_speed); if ((((rope_speed < MAX_ROPE_SPEED)) && ((total_rope_length > 100)))){ rope_speed = (rope_speed + ((MAX_ROPE_SPEED - rope_speed) * 0.1)); } else { if (rope_speed > MIN_ROPE_SPEED){ rope_speed = (rope_speed + ((MIN_ROPE_SPEED - rope_speed) * 0.1)); }; }; } else { if ((((((((((((rope_end.b.y > rope_end.a.y)) && ((total_rope_length < MAX_ROPE_LENGTH)))) && (((Key.isDown(Keyboard.DOWN)) || (Key.isDown(Key.S)))))) && (!((collisions & DOWN))))) && ((extend_rope_off_count == 0)))) && (!((((((rope_end.b.x > rope_end.a.x)) && ((collisions & RIGHT)))) || ((((rope_end.b.x < rope_end.a.x)) && ((collisions & LEFT))))))))){ i = 0; while (i < rope.length) { rope[i].rest_len = (rope[i].rest_len + rope_speed); i++; }; total_rope_length = (total_rope_length + rope_speed); if ((((rope_speed < MAX_ROPE_SPEED)) && ((total_rope_length < (MAX_ROPE_LENGTH - 100))))){ rope_speed = (rope_speed + ((MAX_ROPE_SPEED - rope_speed) * 0.1)); } else { if (rope_speed > MIN_ROPE_SPEED){ rope_speed = (rope_speed + ((MIN_ROPE_SPEED - rope_speed) * 0.1)); }; }; } else { if (((((((((Key.isDown(Keyboard.UP)) || (Key.isDown(Key.W)))) && (!((collisions & UP))))) && ((((collisions & LEFT)) || ((collisions & RIGHT)))))) && ((rope_end.len <= HEIGHT)))){ rope_end = null; rope = []; anchor = null; falling = false; jump_pressed = true; state = JUMPING; jump_count = JUMP_DELAY; jump_frame_count = JUMP_FRAME_DELAY; py = (y + jump_count); jump_count = (jump_count - JUMP_DECAY); NitromeGame.sound_manager.playSound("jump"); platform = null; } else { rope_speed = MIN_ROPE_SPEED; }; }; }; } else { if (state == STEALTH){ }; }; }; }; if (!((((((Key.isDown(Keyboard.UP)) || (Key.isDown(Key.W)))) || (walljump_left))) || (walljump_right))){ jump_pressed = false; }; if (!((Key.isDown(Keyboard.DOWN)) || (Key.isDown(Key.S)))){ stealth_pressed = false; if (state == STEALTH){ state = ((platform == null)) ? JUMPING : RUNNING; }; }; if ((((((((firing_state == 0)) && (!((state == STEALTH))))) && (g.mouse_pressed))) && (!(ouch)))){ if (chameleon){ exitChameleonMode(); }; firing_state = READY; vx = (g.canvas.mouseX - x); vy = (g.canvas.mouseY - y); dist = Math.sqrt(((vx * vx) + (vy * vy))); dx = (vx / dist); dy = (vy / dist); ready_count = READY_DELAY; } else { if (firing_state == READY){ if (--ready_count <= 0){ _local2 = new LiveStar(); g.star_holder.addChild(_local2); anchor = new RopeAnchor(x, y, dx, dy, _local2, g); rope_alpha = 0; lockrope = false; firing_state = THROW; throw_count = THROW_DELAY; }; } else { if ((((firing_state == THROW)) && (!(g.mouse_pressed)))){ if (--throw_count <= 0){ firing_state = 0; }; } else { if (anchor == null){ throw_count--; }; }; }; }; if (ouch){ g.mouse_pressed = false; }; if (!g.mouse_pressed){ if (((!((anchor == null))) && (anchor.active))){ anchor.convertToStar(); }; }; } public function collision():void{ crushable = false; if ((map_rect.x + (map_rect.width - 1)) < (x + (WIDTH >> 1))){ x = (px = ((-((WIDTH >> 1)) + map_rect.x) + (map_rect.width - 1))); }; if ((map_rect.y + (map_rect.height - 1)) < y){ death(); return; }; if (map_rect.x >= (x - (WIDTH >> 1))){ x = (px = (map_rect.x + (WIDTH >> 1))); }; if (map_rect.y >= (y - (HEIGHT >> 1))){ y = (py = (map_rect.y + (HEIGHT >> 1))); }; map_x = ((x - (WIDTH >> 1)) * SCALE); map_y = ((y - (HEIGHT >> 1)) * SCALE); if (map_y >= (g.scroller.height - 1)){ map_y = (g.scroller.height - 2); }; collision_array[0] = g.block_map[map_y][map_x]; collision_array[1] = g.block_map[map_y][(map_x + 1)]; collision_array[2] = g.block_map[(map_y + 1)][map_x]; collision_array[3] = g.block_map[(map_y + 1)][(map_x + 1)]; old_grid_x = grid_x; old_grid_y = grid_y; grid_x = (x * SCALE); grid_y = (y * SCALE); if (g.scent_map[grid_y][grid_x] > -1){ g.scent_map[grid_y][grid_x] = g.frame_count; }; if (((!((grid_x == old_grid_x))) && (!((grid_y == old_grid_y))))){ if (g.scent_map[old_grid_y][grid_x] > -1){ g.scent_map[old_grid_y][grid_x] = g.frame_count; }; if (g.scent_map[grid_y][old_grid_x] > -1){ g.scent_map[grid_y][old_grid_x] = g.frame_count; }; }; i = 0; while (i < collision_array.length) { if (((((!((((collision_array[i] <= 0)) || ((collision_array[i] >= 0))))) && (!((collision_array[i] == null))))) && (collision_array[i].block))){ block = collision_array[i].b; if (block.intersects(collision_rect)){ resolveCollision(collision_array[i]); }; }; i++; }; if ((((((((collisions & UP)) && ((collisions & DOWN)))) && (crushable))) || ((((collisions & RIGHT)) && ((collisions & LEFT)))))){ death(); }; if (((!((platform == null))) || (!(falling)))){ wallslide_count = 0; wallslide_collisions = 0; } else { if (collisions > 0){ wallslide_collisions = collisions; if ((collisions & DOWN)){ extend_rope_off_count = EXTEND_ROPE_OFF_DELAY; }; }; }; if ((((state == SWINGING)) && ((collisions & DOWN)))){ swing_floor_count = SWING_FLOOR_DELAY; } else { if (state == SWINGING){ swing_floor_count--; }; }; } public function stealthScreenGrab():void{ mc.visible = false; left_arm.visible = false; right_arm.visible = false; stealth_outline.visible = false; eye_glow.visible = false; point = Util.localToLocal(point, mc, NitromeGame.timeline); stealth_clip.grab((-(point.x) - stealth_clip.bitmap.x), (-(point.y) - stealth_clip.bitmap.y)); mc.visible = true; stealth_outline.visible = true; eye_glow.visible = true; } public function updateTrails():void{ if (!chameleon){ if (mc.body != null){ if (dir == LEFT){ point = Util.localToLocal(point, mc.body.left_eye, g.canvas); eye_trail_left.move(point.x, point.y); eye_trail_left.main(); point = Util.localToLocal(point, mc.body.right_eye, g.canvas); eye_trail_right.move(point.x, point.y); eye_trail_right.main(); } else { if (dir == RIGHT){ point = Util.localToLocal(point, mc.body.right_eye, g.canvas); eye_trail_left.move(point.x, point.y); eye_trail_left.main(); point = Util.localToLocal(point, mc.body.left_eye, g.canvas); eye_trail_right.move(point.x, point.y); eye_trail_right.main(); }; }; }; } else { if (cham_clip.body != null){ if (dir == LEFT){ point = Util.localToLocal(point, cham_clip.body.left_eye, g.canvas); eye_trail_left.move(point.x, point.y); eye_trail_left.main(); point = Util.localToLocal(point, cham_clip.body.right_eye, g.canvas); eye_trail_right.move(point.x, point.y); eye_trail_right.main(); } else { if (dir == RIGHT){ point = Util.localToLocal(point, cham_clip.body.right_eye, g.canvas); eye_trail_left.move(point.x, point.y); eye_trail_left.main(); point = Util.localToLocal(point, cham_clip.body.left_eye, g.canvas); eye_trail_right.move(point.x, point.y); eye_trail_right.main(); }; }; }; }; } public function updateRope():void{ var _local1:int; var _local2:RopeJoint; var _local3:int; var _local4:int; var _local5:Number; var _local6:Rope; var _local7:Number; var _local8:Number; if (anchor != null){ anchor.main(); if (((((!((anchor == null))) && (anchor.locked))) && (anchor.active))){ i = 1; while (i < rope.length) { if (rope[i].a.block.moving_block){ rope[i].a.main(); }; i++; }; if (lockrope){ rope_end.updateSpring(); } else { rope_end.updateLine(); }; rope_end.a.pin(); map_x = ((x * SCALE) >> 0); map_y = ((y * SCALE) >> 0); if (map_y >= g.scroller.height){ return; }; if ((((g.stack_map[map_y][map_x] > Game.EMPTY)) && (!((g.stack_map[map_y][map_x] & Rect.TEMP))))){ resolveCollision(g.block_map[map_y][map_x]); rope_end.updateLine(); }; if (!lockrope){ if (rope_end.b.y <= rope_end.a.y){ shot_below = true; }; if ((((collisions & DOWN)) && ((rope_end.b.y <= rope_end.a.y)))){ rope_end.rest_len = rope_end.len; }; if ((((collisions & DOWN)) || ((rope_end.b.y > rope_end.a.y)))){ lockrope = true; if (shot_below){ rope_end.rest_len = rope_end.len; }; shot_below = false; }; }; if (((((!((rope_end.stiffness == 0.5))) && ((((rope_end.len < rope_end_length)) || ((rope_end.len < HEIGHT)))))) && ((y > rope_end.a.y)))){ rope_end.stiffness = 0.5; }; i = 0; while (i < (rope.length - 1)) { bc = RayCast.cast(rope[i], g.block_map, true); if (((!((bc == null))) && (bc.block.cutting))){ g.mouse_pressed = false; }; i++; }; bc = RayCast.cast(rope_end, g.block_map); if (bc != null){ if (bc.block.cutting){ g.mouse_pressed = false; }; _local1 = 0; while (_local1 < 100) { if (bc == null){ break; }; _local3 = 0; _local4 = 0; if (rope_end.from){ if (rope_end.block == bc.block){ if (rope_end.from == Rope.UP_LEFT){ if (bc.exit_side == RIGHT){ bc.access_side = UP; } else { if (bc.exit_side == DOWN){ bc.access_side = LEFT; }; }; } else { if (rope_end.from == Rope.UP_RIGHT){ if (bc.exit_side == LEFT){ bc.access_side = UP; } else { if (bc.exit_side == DOWN){ bc.access_side = RIGHT; }; }; } else { if (rope_end.from == Rope.DOWN_RIGHT){ if (bc.exit_side == LEFT){ bc.access_side = DOWN; } else { if (bc.exit_side == UP){ bc.access_side = RIGHT; }; }; } else { if (rope_end.from == Rope.DOWN_LEFT){ if (bc.exit_side == RIGHT){ bc.access_side = DOWN; } else { if (bc.exit_side == UP){ bc.access_side = LEFT; }; }; }; }; }; }; }; }; if (bc.access_side == UP){ if (bc.exit_side == RIGHT){ i = 0; while (i < 1000) { if ((bc.block.stacked & RIGHT)){ bc.map_x++; bc.block = g.block_map[bc.map_y][bc.map_x].b; } else { break; }; i++; }; _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y - 1), bc.block, g); _local3 = RIGHT; _local4 = Rope.UP_RIGHT; } else { if (bc.exit_side == LEFT){ i = 0; while (i < 1000) { if ((bc.block.stacked & LEFT)){ bc.map_x--; bc.block = g.block_map[bc.map_y][bc.map_x].b; } else { break; }; i++; }; _local2 = new RopeJoint((bc.block.x - 1), bc.block.y, bc.block, g); _local3 = LEFT; _local4 = Rope.UP_LEFT; } else { if (bc.exit_side == DOWN){ if (px > x){ _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y - 1), bc.block, g); _local3 = RIGHT; _local4 = Rope.UP_RIGHT; } else { if (px < x){ _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y - 1), bc.block, g); _local3 = LEFT; _local4 = Rope.UP_LEFT; } else { if (bc.ax > (bc.block.x + (scale >> 1))){ _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y - 1), bc.block, g); _local3 = RIGHT; _local4 = Rope.UP_RIGHT; } else { _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y - 1), bc.block, g); _local3 = LEFT; _local4 = Rope.UP_LEFT; }; }; }; }; }; }; } else { if (bc.access_side == RIGHT){ if (bc.exit_side == DOWN){ i = 0; while (i < 1000) { if ((bc.block.stacked & DOWN)){ bc.map_y++; bc.block = g.block_map[bc.map_y][bc.map_x].b; } else { break; }; i++; }; _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y + scale), bc.block, g); _local3 = RIGHT; _local4 = Rope.DOWN_RIGHT; } else { if (bc.exit_side == UP){ i = 0; while (i < 1000) { if ((bc.block.stacked & UP)){ bc.map_y--; bc.block = g.block_map[bc.map_y][bc.map_x].b; } else { break; }; i++; }; _local2 = new RopeJoint((bc.block.x + scale), bc.block.y, bc.block, g); _local3 = LEFT; _local4 = Rope.UP_RIGHT; } else { if (bc.exit_side == LEFT){ if (py > y){ _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y + scale), bc.block, g); _local3 = RIGHT; _local4 = Rope.DOWN_RIGHT; } else { if (py < y){ _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y - 1), bc.block, g); _local3 = LEFT; _local4 = Rope.UP_RIGHT; } else { if (bc.ay > (bc.block.y + (scale >> 1))){ _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y + scale), bc.block, g); _local3 = RIGHT; _local4 = Rope.DOWN_RIGHT; } else { _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y - 1), bc.block, g); _local3 = LEFT; _local4 = Rope.UP_RIGHT; }; }; }; }; }; }; } else { if (bc.access_side == DOWN){ if (bc.exit_side == RIGHT){ i = 0; while (i < 1000) { if ((bc.block.stacked & RIGHT)){ bc.map_x++; bc.block = g.block_map[bc.map_y][bc.map_x].b; } else { break; }; i++; }; _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y + scale), bc.block, g); _local3 = LEFT; _local4 = Rope.DOWN_RIGHT; } else { if (bc.exit_side == LEFT){ i = 0; while (i < 1000) { if ((bc.block.stacked & LEFT)){ bc.map_x--; bc.block = g.block_map[bc.map_y][bc.map_x].b; } else { break; }; i++; }; _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y + scale), bc.block, g); _local3 = RIGHT; _local4 = Rope.DOWN_LEFT; } else { if (bc.exit_side == UP){ if (px > x){ _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y + scale), bc.block, g); _local3 = LEFT; _local4 = Rope.DOWN_RIGHT; } else { if (px < x){ _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y + scale), bc.block, g); _local3 = RIGHT; _local4 = Rope.DOWN_LEFT; } else { if (bc.ax > (bc.block.x + (scale >> 1))){ _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y + scale), bc.block, g); _local3 = LEFT; _local4 = Rope.DOWN_LEFT; } else { _local2 = new RopeJoint((bc.block.x + scale), (bc.block.y + scale), bc.block, g); _local3 = RIGHT; _local4 = Rope.DOWN_RIGHT; }; }; }; }; }; }; } else { if (bc.access_side == LEFT){ if (bc.exit_side == DOWN){ i = 0; while (i < 1000) { if ((bc.block.stacked & DOWN)){ bc.map_y++; bc.block = g.block_map[bc.map_y][bc.map_x].b; } else { break; }; i++; }; _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y + scale), bc.block, g); _local3 = LEFT; _local4 = Rope.DOWN_LEFT; } else { if (bc.exit_side == UP){ i = 0; while (i < 1000) { if ((bc.block.stacked & UP)){ bc.map_y--; bc.block = g.block_map[bc.map_y][bc.map_x].b; } else { break; }; i++; }; _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y - 1), bc.block, g); _local3 = RIGHT; _local4 = Rope.UP_LEFT; } else { if (bc.exit_side == RIGHT){ if (py > y){ _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y + scale), bc.block, g); _local3 = LEFT; _local4 = Rope.DOWN_LEFT; } else { if (py < y){ _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y - 1), bc.block, g); _local3 = RIGHT; _local4 = Rope.UP_LEFT; } else { if (bc.ay > (bc.block.y + (scale >> 1))){ _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y + scale), bc.block, g); _local3 = LEFT; _local4 = Rope.DOWN_LEFT; } else { _local2 = new RopeJoint((bc.block.x - 1), (bc.block.y - 1), bc.block, g); _local3 = RIGHT; _local4 = Rope.UP_LEFT; }; }; }; }; }; }; }; }; }; }; if (_local2 != null){ _local5 = rope_end.rest_len; rope_end.b = _local2; rope_end.updateLine(); if (_local3 == RIGHT){ rope_end.unwrap_x = rope_end.lx; rope_end.unwrap_y = rope_end.ly; } else { rope_end.unwrap_x = rope_end.rx; rope_end.unwrap_y = rope_end.ry; }; _local6 = new Rope(_local2, this); rope_end = _local6; rope_end.from = _local4; rope_end.block = bc.block; rope.push(rope_end); }; bc = RayCast.cast(rope_end, g.block_map); _local1++; }; }; if (rope.length > 1){ _local7 = ((rope_end.dx * rope[(rope.length - 2)].unwrap_x) + (rope_end.dy * rope[(rope.length - 2)].unwrap_y)); if (_local7 > 0){ _local8 = (rope[(rope.length - 2)].len + rope_end.len); rope.pop(); rope_end = rope[(rope.length - 1)]; rope_end.b = this; }; }; }; }; if (extend_rope_off_count > 0){ extend_rope_off_count--; }; if ((((firing_state == 0)) && ((state == SWINGING)))){ rope_end = null; rope = []; anchor = null; state = JUMPING; falling = true; }; g.rope_holder.graphics.clear(); g.rope_holder.graphics.lineStyle(2, 1976903, rope_alpha); if (rope_alpha < 1){ rope_alpha = (rope_alpha + ROPE_ALPHA_FADE); }; if (rope.length > 0){ i = 0; while (i < (rope.length - 1)) { g.rope_holder.graphics.moveTo(rope[i].a.x, rope[i].a.y); g.rope_holder.graphics.lineTo(rope[i].b.x, rope[i].b.y); i++; }; g.rope_holder.graphics.moveTo(rope[(rope.length - 1)].a.x, rope[(rope.length - 1)].a.y); g.rope_holder.graphics.lineTo((arm_pos.x + mc.x), (arm_pos.y + mc.y)); } else { if (((((!((anchor == null))) && (anchor.active))) && (!((anchor.rope == null))))){ g.rope_holder.graphics.moveTo((arm_pos.x + mc.x), (arm_pos.y + mc.y)); g.rope_holder.graphics.lineTo(anchor.mc.x, anchor.mc.y); }; }; } public function checkHit():void{ if (!active){ return; }; if (ouch){ ouch_count++; if ((((health.value > 0)) && ((ouch_count >= OUCH_DELAY)))){ ouch = false; hurt = true; } else { if (ouch_count >= OUCH_DEATH_DELAY){ ouch = false; hurt = true; }; }; }; if (hurt){ if (health.value <= 0){ death(); } else { hurt_count++; mc.visible = !(mc.visible); if (hurt_count >= HURT_DELAY){ hurt = false; mc.visible = true; }; }; }; } public function sideOf(_arg1:Number):int{ _arg1 = (_arg1 + 180); if ((((_arg1 < 22.5)) || ((_arg1 >= 337.5)))){ return (RIGHT); }; if ((((_arg1 >= 22.5)) && ((_arg1 < 67.5)))){ return (RIGHT); }; if ((((_arg1 >= 67.5)) && ((_arg1 < 112.5)))){ return (RIGHT); }; if ((((_arg1 >= 112.5)) && ((_arg1 < 157.5)))){ return (LEFT); }; if ((((_arg1 >= 157.5)) && ((_arg1 < 202.5)))){ return (LEFT); }; if ((((_arg1 >= 202.5)) && ((_arg1 < 247.5)))){ return (LEFT); }; if ((((_arg1 >= 247.5)) && ((_arg1 < 292.5)))){ return (RIGHT); }; if ((((_arg1 >= 292.5)) && ((_arg1 < 337.5)))){ return (RIGHT); }; return (0); } public function exitChameleonMode():void{ if (!chameleon){ return; }; stealthScreenGrab(); stealth_clip.alpha = 1; chameleon = false; g.alert_count = 0; } public function hit():void{ if (((((((ouch) || (hurt))) || (!(active)))) || (g.god_mode))){ return; }; if (g.spider != null){ g.spider.kill(); }; if (chameleon){ exitChameleonMode(); }; NitromeGame.sound_manager.playSound("electric"); NitromeGame.bonus.dodge.value = 0; ouch = true; g.mouse_pressed = false; ouch_count = 0; hurt_count = 0; if (state == STEALTH){ state = RUNNING; }; health.value--; NitromeGame.timeline.health_panel.gotoAndStop(("_" + health.value)); } public function verletY(_arg1:Number, _arg2:Number):void{ temp_y = y; y = (y + ((_arg2 * (y - py)) + _arg1)); py = temp_y; } public function verletX(_arg1:Number, _arg2:Number):void{ temp_x = x; x = (x + ((_arg2 * (x - px)) + _arg1)); px = temp_x; } public function main():void{ var _local1:int; var _local2:int; var _local3:MovieClip; collisions = 0; if (platform != null){ collisions = (collisions | Rect.DOWN); }; if (((key_lock) && ((Key.keys_pressed == 0)))){ key_lock = false; }; if ((((((((state == RUNNING)) || ((state == JUMPING)))) || ((state == SWINGING)))) || ((state == STEALTH)))){ on_scroller = ((g.scroller.contains(x, y)) || ((y >= (map_rect.height - 1)))); if (on_scroller){ if (state == JUMPING){ if (py <= y){ falling = true; }; if (falling){ findFloor(); }; }; if ((((state == RUNNING)) || ((state == STEALTH)))){ if (platform.moving_block){ x = (x + (platform.x - platform.px)); px = (px + (platform.x - platform.px)); y = (y + (platform.y - platform.py)); py = (py + (platform.y - platform.py)); }; }; if (state == RUNNING){ checkFloor(); }; collision(); }; updateStars(); checkHit(); if (!active){ return; }; updateAnimState(mc); updateAnimState(stealth_mask); updateAnimState(cham_clip); updateAnimState(cham_shape_mask); updateMC(); updateArms(); checkEvents(); if (((((((!(ouch)) && (!(g.completed)))) && ((g.spider == null)))) && (!(key_lock)))){ checkKeys(); }; if (on_scroller){ if (state != SWINGING){ if (damping_x > DAMPING_X){ damping_x = (damping_x - DAMPING_STEP); }; verletX(GRAVITY_X, damping_x); } else { verletX(GRAVITY_X, damping_x); }; if (platform == null){ if (wallslide_count){ wallslide_count--; if ((y + 20) > (wallslide_block.y + wallslide_block.height)){ if ((((wallslide_block.stacked & DOWN)) && (((wallslide_block.y + wallslide_block.height) < map_rect.height)))){ _local1 = ((wallslide_block.x * SCALE) >> 0); _local2 = ((wallslide_block.y * SCALE) >> 0); wallslide_block = g.block_map[(_local2 + 1)][_local1].b; } else { wallslide_count = 0; }; }; if (wallslide_count > (WALLSLIDE_DELAY - 2)){ verletY(GRAVITY_Y, FORCED_WALLSLIDE_DAMPING_Y); } else { verletY(GRAVITY_Y, WALLSLIDE_DAMPING_Y); }; } else { verletY(GRAVITY_Y, DAMPING_Y); }; }; }; updateRope(); updateCollisionRect(); if ((((state == RUNNING)) && (level_completed))){ active = false; if ((finish_item is Lift)){ (finish_item as Lift).exitAnim(); } else { if ((finish_item is ElectricFinish)){ _local3 = new OuchFinishMC(); _local3.x = mc.x; _local3.y = mc.y; g.player_holder.addChild(_local3); g.electrocuteActors(); } else { if (finish_item == null){ _local3 = new LevelCompleteMC(); _local3.x = mc.x; _local3.y = mc.y; g.player_holder.addChild(_local3); }; }; }; g.finish_count = 0; tidyUp(); }; }; } public function findFloor():void{ map_x = (((x - (WIDTH >> 1)) * SCALE) >> 0); map_y = (((y - (HEIGHT >> 1)) * SCALE) >> 0); if (map_y >= (g.scroller.height - 1)){ map_y = (g.scroller.height - 2); }; collision_array[0] = g.block_map[map_y][map_x]; collision_array[1] = g.block_map[map_y][(map_x + 1)]; collision_array[2] = g.block_map[(map_y + 1)][map_x]; collision_array[3] = g.block_map[(map_y + 1)][(map_x + 1)]; i = 0; while (i < collision_array.length) { if (((((!((((collision_array[i] >= 0)) || ((collision_array[i] <= 0))))) && (!((collision_array[i] == null))))) && (collision_array[i].block))){ block = collision_array[i].b; if ((block.stacked & Rect.UP)){ } else { if ((((block.x > ((-1 + x) + (WIDTH >> 1)))) || ((((block.x + scale) - 1) < (x - (WIDTH >> 1)))))){ } else { if (((((y + (HEIGHT >> 1)) < block.y)) || (((y + (HEIGHT >> 1)) > ((block.y + FLOOR_DEPTH) + (y - py)))))){ } else { platform = block; y = (block.y - (HEIGHT >> 1)); if (platform.moving_block){ x = (x - (platform.x - platform.px)); px = (px - (platform.x - platform.px)); y = (y - (platform.y - platform.py)); py = (py - (platform.y - platform.py)); moving_sprite = collision_array[i].mc; }; updateCollisionRect(); state = RUNNING; damping_x = DAMPING_X; falling = false; walljump_left = false; walljump_right = false; return; }; }; }; }; i++; }; } public function checkFloor():void{ if (platform != null){ if ((((((((platform.x + platform.width) - 1) < (x - (WIDTH >> 1)))) || ((platform.x > ((-1 + x) + (WIDTH >> 1)))))) || (((platform.force_field) && (!(platform.active)))))){ platform = null; findFloor(); if (platform == null){ state = JUMPING; falling = true; py = y; }; }; }; } public function updateCollisionRect():void{ collision_rect.x = (x - (WIDTH >> 1)); collision_rect.y = (y - (HEIGHT >> 1)); collision_rect.width = WIDTH; collision_rect.height = HEIGHT; } public function scrolling():void{ var _local1:Number; scroll_target_x = Math.min(0, scroll_target_x); scroll_target_y = Math.min(0, scroll_target_y); scroll_target_x = Math.max(((-(g.scroller.width) * scale) + Game.WIDTH), scroll_target_x); scroll_target_y = Math.max(((-(g.scroller.height) * scale) + Game.HEIGHT), scroll_target_y); _local1 = 0.2; last_canvas_x = g.canvas.x; last_canvas_y = g.canvas.y; g.canvas.x = (g.canvas.x + Math.round(((scroll_target_x - g.canvas.x) * _local1))); g.canvas.y = (g.canvas.y + Math.round(((scroll_target_y - g.canvas.y) * _local1))); if (((((Key.isDown(Keyboard.LEFT)) || (Key.isDown(65)))) || (((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(68)))))){ virtual_canvas_x = (virtual_canvas_x + (g.canvas.x - last_canvas_x)); }; if (g.back.back != null){ g.back.back.x = ((virtual_canvas_x * 0.05) >> 0); g.back.front.x = ((virtual_canvas_x * 0.1) >> 0); if (g.back.back.x > 0){ g.back.back.x = (g.back.back.x - (g.back.back.width * 0.5)); }; if (g.back.back.x < (-(g.back.back.width) * 0.5)){ g.back.back.x = (g.back.back.x + (g.back.back.width * 0.5)); }; if (g.back.front.x > 0){ g.back.front.x = (g.back.front.x - (g.back.front.width * 0.5)); }; if (g.back.front.x < (-(g.back.front.width) * 0.5)){ g.back.front.x = (g.back.front.x + (g.back.front.width * 0.5)); }; if ((((((g.background_type == Game.DAWN)) || ((g.background_type == Game.DAWN_SUN)))) || ((g.background_type == Game.NIGHT)))){ g.back.back.visible = false; } else { g.back.back.visible = true; }; if ((((g.background_type == Game.DAWN_CLOUDS)) || ((g.background_type == Game.DAWN)))){ NitromeGame.timeline.back.front.sun1.visible = false; NitromeGame.timeline.back.front.sun2.visible = false; } else { if ((((g.background_type == Game.DAWN_CLOUDS_SUN)) || ((g.background_type == Game.DAWN_SUN)))){ NitromeGame.timeline.back.front.sun1.visible = true; NitromeGame.timeline.back.front.sun2.visible = true; g.back.front.sun1.sparkle1.rotation = (g.back.front.sun1.sparkle1.rotation + ((g.canvas.x - last_canvas_x) * 0.05)); g.back.front.sun1.sparkle2.rotation = (g.back.front.sun1.sparkle2.rotation - ((g.canvas.x - last_canvas_x) * 0.05)); g.back.front.sun2.sparkle1.rotation = (g.back.front.sun2.sparkle1.rotation + ((g.canvas.x - last_canvas_x) * 0.05)); g.back.front.sun2.sparkle2.rotation = (g.back.front.sun2.sparkle2.rotation - ((g.canvas.x - last_canvas_x) * 0.05)); }; }; }; } } }//package com.nitrome.engine_specific
Section 54
//RayCast (com.nitrome.engine_specific.RayCast) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class RayCast { public static const LEFT:int = 8; public static const UP:int = 1; public static const DOWN:int = 4; public static const RIGHT:int = 2; public static var found:Boolean; public static var tx:Number; public static var ty:Number; public static var px:Number; public static var py:Number; public static var block:Block; public static var DX:Number; public static var DY:Number; public static var dist_to_block_edge:Number; public static var dist:Number; public static var next_y:Number; public static var corn:Array; public static var new_next:Number; public static var next_x:Number; public static var ey:Number; public static var iterations:int = 100; public static var ax:Number; public static var ay:Number; public static var ex:Number; public static var vx:Number; public static var vy:Number; public static var dir_x:int; public static var dir_y:int; public static var dot:Number; public static var line_rect:Rect; public static var moving_found:Boolean; public static var map_x:int; public static var map_y:int; public static var stack_map_value:int; public static var report:RayCastReport; public static var temp_block:Block; public static var g:Game; public static var i:int; public static var j:int; public static var next:Number; public static var num_corners_inside:int; public static function init(_arg1:Game):void{ g = _arg1; corn = new Array(4); i = 0; while (i < 4) { corn[i] = new Dot(); i++; }; line_rect = new Rect(); temp_block = new Block(0, 0, Game.scale, Game.scale); } public static function reportIntersectsRect(_arg1:Line, _arg2:RayCastReport, _arg3:Rect):Boolean{ if (_arg2 == null){ ax = _arg1.b.x; ay = _arg1.b.y; } else { ax = _arg2.ax; ay = _arg2.ay; }; line_rect.x = Math.min(_arg1.a.x, ax); line_rect.y = Math.min(_arg1.a.y, ay); line_rect.width = Math.abs((_arg1.a.x - ax)); line_rect.height = Math.abs((_arg1.a.y - ay)); if (line_rect.intersects(_arg3)){ if ((((((((_arg1.a.x >= _arg3.x)) && ((_arg1.a.x < (_arg3.x + _arg3.width))))) && ((ax >= _arg3.x)))) && ((ax < (_arg3.x + _arg3.width))))){ return (true); }; if ((((((((_arg1.a.y >= _arg3.y)) && ((_arg1.a.y < (_arg3.y + _arg3.height))))) && ((ay >= _arg3.y)))) && ((ay < (_arg3.y + _arg3.height))))){ return (true); }; corn = _arg3.getCorners(corn); num_corners_inside = 0; j = 0; while (j < corn.length) { vx = (corn[j].x - _arg1.a.x); vy = (corn[j].y - _arg1.a.y); dot = ((vx * _arg1.rx) + (vy * _arg1.ry)); if (dot < 0){ num_corners_inside++; }; j++; }; if ((((num_corners_inside == 0)) || ((num_corners_inside == 4)))){ } else { return (true); }; }; return (false); } public static function cast(_arg1:Line, _arg2:Array, _arg3:Boolean=false):RayCastReport{ report = null; found = (moving_found = false); map_x = ((_arg1.a.x * Game.SCALE) >> 0); map_y = ((_arg1.a.y * Game.SCALE) >> 0); if (g.stack_map[map_y][map_x] > Game.EMPTY){ found = true; block = ((_arg2[map_y][map_x] is Clip)) ? _arg2[map_y][map_x].b : new Block((map_x * Game.scale), (map_y * Game.scale), Game.scale, Game.scale); report = new RayCastReport(block, map_x, map_y, _arg1.a.x, _arg1.a.y); }; if (_arg1.dx != 0){ DX = (1 / _arg1.dx); } else { DX = 0; }; if (_arg1.dy != 0){ DY = (1 / _arg1.dy); } else { DY = 0; }; dir_x = ((_arg1.dx < 0)) ? -1 : 1; dir_y = ((_arg1.dy < 0)) ? -1 : 1; px = (_arg1.a.x - (map_x * Game.scale)); py = (_arg1.a.y - (map_y * Game.scale)); tx = ((_arg1.dx)<0) ? 0 : Game.scale; ty = ((_arg1.dy)<0) ? 0 : Game.scale; dist = 0; i = 0; while (i < iterations) { if (((!((_arg1.dx == 0))) && (!((_arg1.dy == 0))))){ next_x = Math.abs(((px - tx) * DX)); next_y = Math.abs(((py - ty) * DY)); if (next_x < next_y){ next = next_x; map_x = (map_x + dir_x); dist = (dist + next_x); if ((((((((((((dist > _arg1.len)) && ((report == null)))) || ((map_x < 0)))) || ((map_y < 0)))) || ((map_x >= _arg2[0].length)))) || ((map_y >= _arg2.length)))){ return (null); }; px = (px + (_arg1.dx * next_x)); py = (py + (_arg1.dy * next_x)); px = (px - (dir_x * Game.scale)); } else { next = next_y; map_y = (map_y + dir_y); dist = (dist + next_y); if ((((((((((((dist > _arg1.len)) && ((report == null)))) || ((map_x < 0)))) || ((map_y < 0)))) || ((map_x >= _arg2[0].length)))) || ((map_y >= _arg2.length)))){ return (null); }; px = (px + (_arg1.dx * next_y)); py = (py + (_arg1.dy * next_y)); py = (py - (dir_y * Game.scale)); }; stack_map_value = g.stack_map[map_y][map_x]; if (((!(found)) && ((stack_map_value > Game.EMPTY)))){ block = ((_arg2[map_y][map_x] is Clip)) ? _arg2[map_y][map_x].b : new Block((map_x * Game.scale), (map_y * Game.scale), Game.scale, Game.scale); report = new RayCastReport(block, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py)); if (((!((stack_map_value & Rect.TEMP))) && (_arg3))){ report.access_side = block.sideOf(report.ax, report.ay); return (report); }; found = true; } else { if (found){ report.ex = ((map_x * Game.scale) + px); report.ey = ((map_y * Game.scale) + py); if ((g.stack_map[report.map_y][report.map_x] & Rect.TEMP)){ block = report.block; if (!moving_found){ if (block.y == (report.map_y * Game.scale)){ if ((((report.ax >= block.x)) && ((report.ax < (block.x + block.width))))){ ax = report.ax; ay = report.ay; moving_found = true; if ((dist - next) > _arg1.len){ return (null); }; } else { if ((((report.ex >= block.x)) && ((report.ex < (block.x + block.width))))){ if (_arg1.dx < 0){ dist_to_block_edge = (report.ax - (block.x + block.width)); new_next = Math.abs((dist_to_block_edge * DX)); if (((-(next) + dist) + new_next) > _arg1.len){ return (null); }; ax = ((block.x + block.width) - 1); ay = (report.ay + (new_next * _arg1.dy)); } else { dist_to_block_edge = (block.x - report.ax); new_next = Math.abs((dist_to_block_edge * DX)); if (((-(next) + dist) + new_next) > _arg1.len){ return (null); }; ax = block.x; ay = (report.ay + (new_next * _arg1.dy)); }; moving_found = true; }; }; } else { if ((((report.ay >= block.y)) && ((report.ay < (block.y + block.height))))){ ax = report.ax; ay = report.ay; moving_found = true; if ((dist - next) > _arg1.len){ return (null); }; } else { if ((((report.ey >= block.y)) && ((report.ey < (block.y + block.height))))){ if (_arg1.dy < 0){ dist_to_block_edge = (report.ay - (block.y + block.height)); new_next = Math.abs((dist_to_block_edge * DY)); if (((-(next) + dist) + new_next) > _arg1.len){ return (null); }; ax = (report.ax + (new_next * _arg1.dx)); ay = ((block.y + block.height) - 1); } else { dist_to_block_edge = (block.y - report.ay); new_next = Math.abs((dist_to_block_edge * DY)); if (((-(next) + dist) + new_next) > _arg1.len){ return (null); }; ax = (report.ax + (new_next * _arg1.dx)); ay = block.y; }; moving_found = true; }; }; }; if (moving_found){ if (_arg3){ report.ax = ax; report.ay = ay; report.access_side = report.block.sideOf(report.ax, report.ay); return (report); }; } else { if (stack_map_value > Game.EMPTY){ block = ((_arg2[map_y][map_x] is Clip)) ? _arg2[map_y][map_x].b : new Block((map_x * Game.scale), (map_y * Game.scale), Game.scale, Game.scale); report = new RayCastReport(block, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py)); if (((!((stack_map_value == Rect.TEMP))) && (_arg3))){ report.access_side = block.sideOf(report.ax, report.ay); return (report); }; } else { report = null; found = false; }; }; }; if (((moving_found) && ((((((stack_map_value == Game.EMPTY)) || (!((stack_map_value & Rect.TEMP))))) || (!((g.block_map[map_y][map_x].b == report.block))))))){ if (block.y == (report.map_y * Game.scale)){ if ((((report.ex >= block.x)) && ((report.ex < (block.x + block.width))))){ ex = report.ex; ey = report.ey; if (dist > _arg1.len){ return (null); }; } else { if (_arg1.dx < 0){ dist_to_block_edge = (report.ax - block.x); new_next = Math.abs((dist_to_block_edge * DX)); ex = block.x; ey = (report.ay + (new_next * _arg1.dy)); if (ex < _arg1.b.x){ return (null); }; } else { dist_to_block_edge = ((block.x + block.width) - report.ax); new_next = Math.abs((dist_to_block_edge * DX)); ex = (block.x + block.width); ey = (report.ay + (new_next * _arg1.dy)); if (ex > _arg1.b.x){ return (null); }; }; }; } else { if ((((report.ey >= block.y)) && ((report.ey < (block.y + block.height))))){ ex = report.ex; ey = report.ey; if (dist > _arg1.len){ return (null); }; } else { if (_arg1.dy < 0){ dist_to_block_edge = (report.ay - block.y); new_next = Math.abs((dist_to_block_edge * DY)); ex = (report.ax + (new_next * _arg1.dx)); ey = block.y; if (ey < _arg1.b.y){ return (null); }; } else { dist_to_block_edge = ((block.y + block.height) - report.ay); new_next = Math.abs((dist_to_block_edge * DY)); ex = (report.ax + (new_next * _arg1.dx)); ey = (block.y + block.height); if (ey > _arg1.b.x){ return (null); }; }; }; }; report.ax = ax; report.ay = ay; report.ex = ex; report.ey = ey; report.access_side = report.block.sideOf(report.ax, report.ay); report.exit_side = report.block.sideOf(report.ex, report.ey); return (report); }; } else { if (dist > _arg1.len){ return (null); }; report.access_side = report.block.sideOf(report.ax, report.ay); report.exit_side = report.block.sideOf(report.ex, report.ey); return (report); }; }; }; } else { if (_arg1.dy == 0){ next_x = Math.abs(((px - tx) * DX)); map_x = (map_x + dir_x); dist = (dist + next_x); if ((((((((((((dist > _arg1.len)) && ((report == null)))) || ((map_x < 0)))) || ((map_y < 0)))) || ((map_x >= _arg2[0].length)))) || ((map_y >= _arg2.length)))){ return (null); }; px = (px + (_arg1.dx * next_x)); px = (px - (dir_x * Game.scale)); stack_map_value = g.stack_map[map_y][map_x]; if (((!(found)) && ((stack_map_value > Game.EMPTY)))){ block = ((_arg2[map_y][map_x] is Clip)) ? _arg2[map_y][map_x].b : new Block((map_x * Game.scale), (map_y * Game.scale), Game.scale, Game.scale); report = new RayCastReport(block, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py)); if (((!((stack_map_value & Rect.TEMP))) && (_arg3))){ report.access_side = block.sideOf(report.ax, report.ay); return (report); }; found = true; } else { if (found){ report.ex = ((map_x * Game.scale) + px); report.ey = ((map_y * Game.scale) + py); if ((g.stack_map[report.map_y][report.map_x] & Rect.TEMP)){ block = report.block; if (!moving_found){ if (block.y == (report.map_y * Game.scale)){ if ((((report.ax >= block.x)) && ((report.ax < (block.x + block.width))))){ ax = report.ax; ay = report.ay; moving_found = true; if ((dist - next) > _arg1.len){ return (null); }; } else { if ((((report.ex >= block.x)) && ((report.ex < (block.x + block.width))))){ if (_arg1.dx < 0){ ax = ((block.x + block.width) - 1); ay = report.ay; } else { ax = block.x; ay = report.ay; }; moving_found = true; }; }; } else { if ((((report.ay >= block.y)) && ((report.ay < (block.y + block.height))))){ ax = report.ax; ay = report.ay; moving_found = true; if ((dist - next) > _arg1.len){ return (null); }; }; }; if (moving_found){ if (_arg3){ report.ax = ax; report.ay = ay; report.access_side = report.block.sideOf(report.ax, report.ay); return (report); }; } else { if (stack_map_value > Game.EMPTY){ block = ((_arg2[map_y][map_x] is Clip)) ? _arg2[map_y][map_x].b : new Block((map_x * Game.scale), (map_y * Game.scale), Game.scale, Game.scale); report = new RayCastReport(block, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py)); if (((!((stack_map_value == Rect.TEMP))) && (_arg3))){ report.access_side = block.sideOf(report.ax, report.ay); return (report); }; } else { report = null; found = false; }; }; }; if (((moving_found) && ((((stack_map_value == Game.EMPTY)) || (!((g.block_map[map_y][map_x].b == report.block))))))){ if (block.y == (report.map_y * Game.scale)){ if ((((report.ex >= block.x)) && ((report.ex < (block.x + block.width))))){ ex = report.ex; ey = report.ey; if (dist > _arg1.len){ return (null); }; } else { if (_arg1.dx < 0){ ex = block.x; ey = report.ay; if (ex < _arg1.b.x){ return (null); }; } else { ex = (block.x + block.width); ey = report.ay; if (ex > _arg1.b.x){ return (null); }; }; }; } else { if ((((report.ey >= block.y)) && ((report.ey < (block.y + block.height))))){ ex = report.ex; ey = report.ey; }; }; report.ax = ax; report.ay = ay; report.ex = ex; report.ey = ey; report.access_side = report.block.sideOf(report.ax, report.ay); report.exit_side = report.block.sideOf(report.ex, report.ey); return (report); }; } else { if (dist > _arg1.len){ return (null); }; report.access_side = report.block.sideOf(report.ax, report.ay); report.exit_side = report.block.sideOf(report.ex, report.ey); return (report); }; }; }; } else { if (_arg1.dx == 0){ next_y = Math.abs(((py - ty) * DY)); map_y = (map_y + dir_y); dist = (dist + next_y); if ((((((((((((dist > _arg1.len)) && ((report == null)))) || ((map_x < 0)))) || ((map_y < 0)))) || ((map_x >= _arg2[0].length)))) || ((map_y >= _arg2.length)))){ return (null); }; py = (py + (_arg1.dy * next_y)); py = (py - (dir_y * Game.scale)); stack_map_value = g.stack_map[map_y][map_x]; if (((!(found)) && ((stack_map_value > Game.EMPTY)))){ block = ((_arg2[map_y][map_x] is Clip)) ? _arg2[map_y][map_x].b : new Block((map_x * Game.scale), (map_y * Game.scale), Game.scale, Game.scale); report = new RayCastReport(block, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py)); if (((!((stack_map_value & Rect.TEMP))) && (_arg3))){ report.access_side = block.sideOf(report.ax, report.ay); return (report); }; found = true; } else { if (found){ report.ex = ((map_x * Game.scale) + px); report.ey = ((map_y * Game.scale) + py); if (g.stack_map[report.map_y][report.map_x] == Rect.TEMP){ block = report.block; if (!moving_found){ if (block.y == (report.map_y * Game.scale)){ if ((((report.ax >= block.x)) && ((report.ax < (block.x + block.width))))){ ax = report.ax; ay = report.ay; moving_found = true; if ((dist - next) > _arg1.len){ return (null); }; }; } else { if ((((report.ay >= block.y)) && ((report.ay < (block.y + block.height))))){ ax = report.ax; ay = report.ay; moving_found = true; if ((dist - next) > _arg1.len){ return (null); }; } else { if ((((report.ey >= block.y)) && ((report.ey < (block.y + block.height))))){ if (_arg1.dy < 0){ ax = report.ax; ay = ((block.y + block.height) - 1); if (ey < _arg1.b.y){ return (null); }; } else { ax = report.ax; ay = block.y; if (ey > _arg1.b.y){ return (null); }; }; moving_found = true; }; }; }; if (moving_found){ if (_arg3){ report.ax = ax; report.ay = ay; report.access_side = report.block.sideOf(report.ax, report.ay); return (report); }; } else { if (stack_map_value > Game.EMPTY){ block = ((_arg2[map_y][map_x] is Clip)) ? _arg2[map_y][map_x].b : new Block((map_x * Game.scale), (map_y * Game.scale), Game.scale, Game.scale); report = new RayCastReport(block, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py)); if (((!((stack_map_value == Rect.TEMP))) && (_arg3))){ report.access_side = block.sideOf(report.ax, report.ay); return (report); }; } else { report = null; found = false; }; }; }; if (((moving_found) && ((((stack_map_value == Game.EMPTY)) || (!((g.block_map[map_y][map_x].b == report.block))))))){ if (block.y == (report.map_y * Game.scale)){ if ((((report.ex >= block.x)) && ((report.ex < (block.x + block.width))))){ ex = report.ex; ey = report.ey; if (dist > _arg1.len){ return (null); }; }; } else { if ((((report.ey >= block.y)) && ((report.ey < (block.y + block.height))))){ ex = report.ex; ey = report.ey; if (dist > _arg1.len){ return (null); }; } else { if (_arg1.dy < 0){ ex = report.ax; ey = block.y; if (ey < _arg1.b.y){ return (null); }; } else { ex = report.ax; ey = (block.y + block.height); if (ey > _arg1.b.y){ return (null); }; }; }; }; report.ax = ax; report.ay = ay; report.ex = ex; report.ey = ey; report.access_side = report.block.sideOf(report.ax, report.ay); report.exit_side = report.block.sideOf(report.ex, report.ey); return (report); }; } else { if (dist > _arg1.len){ return (null); }; report.access_side = report.block.sideOf(report.ax, report.ay); report.exit_side = report.block.sideOf(report.ex, report.ey); return (report); }; }; }; }; }; }; i++; }; return (null); } public static function initCast(_arg1:Line, _arg2:Array):RayCastReport{ map_x = ((_arg1.a.x * Game.SCALE) >> 0); map_y = ((_arg1.a.y * Game.SCALE) >> 0); if (g.stack_map[map_y][map_x] > Game.EMPTY){ return (new RayCastReport(null, map_x, map_y, _arg1.a.x, _arg1.a.y)); }; if (_arg1.dx != 0){ DX = (1 / _arg1.dx); } else { DX = 0; }; if (_arg1.dy != 0){ DY = (1 / _arg1.dy); } else { DY = 0; }; dir_x = ((_arg1.dx < 0)) ? -1 : 1; dir_y = ((_arg1.dy < 0)) ? -1 : 1; px = (_arg1.a.x - (map_x * Game.scale)); py = (_arg1.a.y - (map_y * Game.scale)); tx = ((_arg1.dx)<0) ? 0 : Game.scale; ty = ((_arg1.dy)<0) ? 0 : Game.scale; dist = 0; i = 0; while (i < 1000) { next_x = Math.abs(((px - tx) * DX)); next_y = Math.abs(((py - ty) * DY)); if ((((next_x < next_y)) || ((next_y == 0)))){ map_x = (map_x + dir_x); dist = (dist + next_x); stack_map_value = g.stack_map[map_y][map_x]; if ((((((((((dist > _arg1.len)) || ((map_x < 0)))) || ((map_y < 0)))) || ((map_x >= _arg2[0].length)))) || ((map_y >= _arg2.length)))){ return (new RayCastReport(null, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py))); }; px = (px + (_arg1.dx * next_x)); py = (py + (_arg1.dy * next_x)); px = (px - (dir_x * Game.scale)); if ((((stack_map_value > Game.EMPTY)) && (!((stack_map_value == Rect.TEMP))))){ return (new RayCastReport(null, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py))); }; } else { map_y = (map_y + dir_y); dist = (dist + next_y); stack_map_value = g.stack_map[map_y][map_x]; if ((((((((((dist > _arg1.len)) || ((map_x < 0)))) || ((map_y < 0)))) || ((map_x >= _arg2[0].length)))) || ((map_y >= _arg2.length)))){ return (new RayCastReport(null, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py))); }; px = (px + (_arg1.dx * next_y)); py = (py + (_arg1.dy * next_y)); py = (py - (dir_y * Game.scale)); if ((((stack_map_value > Game.EMPTY)) && (!((stack_map_value == Rect.TEMP))))){ return (new RayCastReport(null, map_x, map_y, ((map_x * Game.scale) + px), ((map_y * Game.scale) + py))); }; }; i++; }; return (null); } } }//package com.nitrome.engine_specific
Section 55
//RayCastReport (com.nitrome.engine_specific.RayCastReport) package com.nitrome.engine_specific { import flash.display.*; public class RayCastReport { public var found:Boolean; public var block:Block; public var access_side:int;// = 0 public var ex:Number; public var ey:Number; public var map_x:int;// = -1 public var map_y:int;// = -1 public var ax:Number; public var ay:Number; public var exit_side:int;// = 0 public function RayCastReport(_arg1:Block=null, _arg2:int=0, _arg3:int=0, _arg4:Number=0, _arg5:Number=0){ map_x = -1; map_y = -1; access_side = 0; exit_side = 0; super(); this.block = _arg1; this.map_x = _arg2; this.map_y = _arg3; this.ax = _arg4; this.ay = _arg5; } public function draw(_arg1:Graphics):void{ _arg1.lineStyle(2, 0xFF0000); _arg1.moveTo(ax, ay); _arg1.lineTo(ex, ey); } } }//package com.nitrome.engine_specific
Section 56
//Rope (com.nitrome.engine_specific.Rope) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class Rope extends Spring { public var unwrap_y:Number; public var unwrap_x:Number; public var block:Block; public var from:int;// = 0 public var wrap_side:int; public static const DOWN_LEFT:int = 4; public static const UP_RIGHT:int = 2; public static const UP_LEFT:int = 1; public static const DOWN_RIGHT:int = 8; public function Rope(_arg1:Dot, _arg2:Dot){ from = 0; super(_arg1, _arg2); } } }//package com.nitrome.engine_specific
Section 57
//RopeAnchor (com.nitrome.engine_specific.RopeAnchor) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class RopeAnchor extends Star { public const SPEED:Number = 32; public var locked:Boolean; public var block:Block; public var can_rope:Boolean; public var rope:Rope; public var surface_x:Number; public var surface_y:Number; public function RopeAnchor(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Sprite, _arg6:Game){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); locked = false; can_rope = true; rope_star = true; rope = new Rope(this, _arg6.player); } override public function pin():void{ x = (px = ix); y = (px = iy); } override public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); } public function convertToStar():void{ var _local1:Star; if (!locked){ _local1 = g.player.addStar(x, y, dx, dy); mc.parent.removeChild(mc); } else { g.player.stars.push(mc); }; active = false; g.player.anchor = null; } override protected function anchor(_arg1:Block, _arg2:Sprite=null):void{ var _local3:Number; var _local4:Number; var _local5:Rect; var _local6:*; var _local7:Number; var _local8:Number; var _local9:int; var _local10:int; this.block = _arg1; _local3 = (x - px); _local4 = (y - py); dx = (dy = 0); _local5 = new Rect(0, 0, 0, 0); _local5.x = Math.min(x, px); _local5.y = Math.min(y, py); _local5.width = Math.abs((x - px)); _local5.height = Math.abs((y - py)); _local6 = _local5.intersection(_arg1); _local7 = 0; _local8 = 0; if (_local3 != 0){ _local7 = (Math.min(Math.abs(_local3), _local6.width) * ((_local3 > 0)) ? 1 : -1); }; if (_local4 != 0){ _local8 = (Math.min(Math.abs(_local4), _local6.height) * ((_local4 > 0)) ? 1 : -1); }; x = (x - _local7); y = (y - _local8); _local9 = _arg1.sideOf(x, y); if ((_arg1.stacked & _local9)){ if ((((_local9 == Rect.UP)) || ((_local9 == Rect.DOWN)))){ if (x < (_arg1.x + (_arg1.width * 0.5))){ x = (_arg1.x - 1); _local9 = Rect.LEFT; if ((_arg1.stacked & Rect.LEFT)){ if (y < (_arg1.y + (_arg1.height * 0.5))){ y = (_arg1.y - 1); _local9 = Rect.UP; } else { y = (_arg1.y + _arg1.height); _local9 = Rect.DOWN; }; }; } else { x = (_arg1.x + _arg1.width); _local9 = Rect.RIGHT; if ((_arg1.stacked & Rect.RIGHT)){ if (y < (_arg1.y + (_arg1.height * 0.5))){ y = (_arg1.y - 1); _local9 = Rect.UP; } else { y = (_arg1.y + _arg1.height); _local9 = Rect.DOWN; }; }; }; } else { if ((((_local9 == Rect.RIGHT)) || ((_local9 == Rect.LEFT)))){ if (y < (_arg1.y + (_arg1.height * 0.5))){ y = (_arg1.y - 1); _local9 = Rect.UP; if ((_arg1.stacked & Rect.UP)){ if (x < (_arg1.x + (_arg1.width * 0.5))){ x = (_arg1.x - 1); _local9 = Rect.LEFT; } else { x = (_arg1.x + _arg1.width); _local9 = Rect.RIGHT; }; }; } else { y = (_arg1.y + _arg1.height); _local9 = Rect.DOWN; if ((_arg1.stacked & Rect.DOWN)){ if (x < (_arg1.x + (_arg1.width * 0.5))){ x = (_arg1.x - 1); _local9 = Rect.LEFT; } else { x = (_arg1.x + _arg1.width); _local9 = Rect.RIGHT; }; }; }; }; }; } else { if (_local9 == Rect.LEFT){ x = (_arg1.x - 1); } else { if (_local9 == Rect.UP){ y = (_arg1.y - 1); }; }; }; surface_x = (x - _arg1.x); surface_y = (y - _arg1.y); pinTo(x, y); rope.updateLine(); if (!_arg1.attachable){ kill(); g.player.hit(); return; }; if (((_arg1.force_field) || (_arg1.cutting))){ ping(-(_local3)); return; }; if (((g.mouse_pressed) && ((RayCast.cast(rope, g.block_map) == null)))){ locked = true; g.player.createRope(); } else { kill(); return; }; _local10 = (mc as LiveStar).star.currentFrame; mc.parent.removeChild(mc); mc = new DeadStar(); (mc as DeadStar).init(_local10); if (_arg2 == null){ g.dead_star_holder.addChild(mc); updateMC(); } else { mc.x = (x - _arg1.x); mc.y = (y - _arg1.y); _arg2.addChildAt(mc, 0); }; } override public function main():void{ if (((active) && (!(locked)))){ move(); if (!g.scroller.contains(x, y)){ kill(); return; }; encounterCollision(); if (!active){ return; }; blockCollision(); if (!locked){ updateMC(); }; rope.updateLine(); if (((((!(locked)) && ((rope.len > 0)))) && (!((RayCast.cast(rope, g.block_map) == null))))){ convertToStar(); return; }; }; if (((((locked) && (!((block == null))))) && (block.moving_block))){ x = (ix = (block.x + surface_x)); y = (iy = (block.y + surface_y)); }; } override public function kill():void{ (mc as DeadStar).kill(); active = false; g.player.anchor = null; } public function pinTo(_arg1:Number, _arg2:Number):void{ this.x = (ix = (px = (temp_x = _arg1))); this.y = (iy = (py = (temp_y = _arg2))); locked = true; } } }//package com.nitrome.engine_specific
Section 58
//RopeJoint (com.nitrome.engine_specific.RopeJoint) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class RopeJoint extends Dot { public var px:Number; public var py:Number; public var block:Block; public var surface_x:Number; public var g:Game; public var surface_y:Number; public function RopeJoint(_arg1:Number, _arg2:Number, _arg3:Block, _arg4:Game){ super(_arg1, _arg2); px = _arg1; py = _arg2; this.g = _arg4; this.block = _arg3; surface_x = ((_arg1 - _arg3.x) >> 0); surface_y = ((_arg2 - _arg3.y) >> 0); } public function main():void{ if (((!((block == null))) && (block.moving_block))){ px = x; py = y; x = (ix = (block.x + surface_x)); y = (iy = (block.y + surface_y)); }; } } }//package com.nitrome.engine_specific
Section 59
//RotoGun (com.nitrome.engine_specific.RotoGun) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.geom.*; public class RotoGun extends Encounter { public var angle:int; public var health_fraction:Number;// = 0.333 public var dir:int; public var state:int; public var r:int; public var invincible:Boolean;// = false public var bullet_list:Array; public var firing_count:int; public var collision_rect:Rect; public var health:int;// = 3 public var fast:Boolean; public static const FIRING_CHARGE_DELAY:int = 6; public static const TURNING:int = 2; public static const TURN_SPEED:Number = 5; public static const FIRING:int = 4; public static const GRENADE_SPEED:int = 8; public static const FIRING_DELAY:int = 11; public static const BULLET_SPEED:int = 16; public static var point:Point = new Point(); public function RotoGun(_arg1:int, _arg2:int, _arg3:Sprite, _arg4:Game, _arg5:Boolean=false, _arg6:Boolean=false){ health = 3; health_fraction = 0.333; invincible = false; super(_arg3, _arg4, false); this.dir = _arg2; this.id_tag = _arg1; this.invincible = _arg6; this.fast = _arg5; has_main = true; if (_arg1 == 0){ angle = -90; } else { if (_arg1 == 1){ angle = ((_arg2 == Rect.RIGHT)) ? -45 : -135; } else { if (_arg1 == 2){ angle = ((_arg2 == Rect.RIGHT)) ? 0 : 180; } else { if (_arg1 == 3){ angle = ((_arg2 == Rect.RIGHT)) ? 45 : 135; } else { if (_arg1 == 4){ angle = ((_arg2 == Rect.RIGHT)) ? 90 : 90; } else { if (_arg1 == 5){ angle = ((_arg2 == Rect.RIGHT)) ? 135 : 45; } else { if (_arg1 == 6){ angle = ((_arg2 == Rect.RIGHT)) ? 180 : 0; } else { if (_arg1 == 7){ angle = ((_arg2 == Rect.RIGHT)) ? -135 : -45; }; }; }; }; }; }; }; }; _arg3.rotation = angle; state = FIRING; firing_count = 0; collision_rect = new Rect((x - 16), (y - 16), 32, 32); reward = new HiddenInt(20); } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function main():void{ if (state == TURNING){ if ((((Math.abs((angle - mc.rotation)) <= TURN_SPEED)) || ((Math.abs((angle - mc.rotation)) == (360 - TURN_SPEED))))){ mc.rotation = angle; state = FIRING; } else { r = mc.rotation; r = (r + ((Math.abs((angle - r)))>180) ? ((r)<angle) ? 360 : -(360) : 0); r = (r + (((angle - r) > 0)) ? TURN_SPEED : -(TURN_SPEED)); mc.rotation = r; }; } else { if (state == FIRING){ fire(); }; }; } public function fire():void{ if (firing_count == 0){ r = ((mc.rotation + 360) % 360); if (fast){ bullet_list = [new Bullet((x + (Trig.cos[r] * 50)), (y + (Trig.sin[r] * 50)), Trig.cos[r], Trig.sin[r], BULLET_SPEED, g.bullet_bitmap, g), new Bullet((x + (58 * Trig.cos[r])), (y + (58 * Trig.sin[r])), Trig.cos[r], Trig.sin[r], BULLET_SPEED, g.bullet_bitmap, g), new Bullet((x + (66 * Trig.cos[r])), (y + (66 * Trig.sin[r])), Trig.cos[r], Trig.sin[r], BULLET_SPEED, g.bullet_bitmap, g), new Bullet((x + (74 * Trig.cos[r])), (y + (74 * Trig.sin[r])), Trig.cos[r], Trig.sin[r], BULLET_SPEED, g.bullet_bitmap, g)]; g.addBulletGroup(bullet_list); (mc as MovieClip).gun.gotoAndStop("fire_bullet"); NitromeGame.sound_manager.playSound("machinegun"); point = Util.localToLocal(point, (mc as MovieClip).gun.cartridges, g.canvas); g.addDebrisDir(point.x, point.y, Trig.sin[r], -(Trig.cos[r]), g.cartridge_bitmap, g.cartridge_bitmap, g.cartridge_bitmap, g.cartridge_bitmap); } else { g.addBullet((x + (Trig.cos[r] * 50)), (y + (Trig.sin[r] * 50)), Trig.cos[r], Trig.sin[r], GRENADE_SPEED, g.grenade_bitmap); (mc as MovieClip).gun.gotoAndStop("fire_grenade"); NitromeGame.sound_manager.playSound("grenade"); point = Util.localToLocal(point, (mc as MovieClip).gun.cartridges, g.canvas); g.addDebrisDir(point.x, point.y, Trig.sin[r], -(Trig.cos[r]), g.grenade_cartridge_bitmap); }; }; if (++firing_count >= FIRING_DELAY){ state = TURNING; firing_count = 0; id_tag++; if (id_tag > 7){ id_tag = (id_tag - 8); }; if (id_tag == 0){ angle = -90; } else { if (id_tag == 1){ angle = ((dir == Rect.RIGHT)) ? -45 : -135; } else { if (id_tag == 2){ angle = ((dir == Rect.RIGHT)) ? 0 : 180; } else { if (id_tag == 3){ angle = ((dir == Rect.RIGHT)) ? 45 : 135; } else { if (id_tag == 4){ angle = ((dir == Rect.RIGHT)) ? 90 : 90; } else { if (id_tag == 5){ angle = ((dir == Rect.RIGHT)) ? 135 : 45; } else { if (id_tag == 6){ angle = ((dir == Rect.RIGHT)) ? 180 : 0; } else { if (id_tag == 7){ angle = ((dir == Rect.RIGHT)) ? -135 : -45; }; }; }; }; }; }; }; }; (mc as MovieClip).gun.gotoAndStop("idle"); }; } public function kill(_arg1:Number):void{ if (!active){ return; }; active = false; if (!spawned){ NitromeGame.bonus.enemy_count.value++; }; g.addFX(mc.x, mc.y, g.bang_bitmap2); g.addSmoke(mc.x, mc.y); g.addSmoke(mc.x, mc.y); g.shake(3); g.addDebris((collision_rect.x + (collision_rect.width * 0.5)), (collision_rect.y + (collision_rect.height * 0.5)), ((_arg1 > 0)) ? 10 : -10, g.debris_clips[5]); } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:int; if (!active){ return; }; if (((_arg2) || (!(invincible)))){ health--; _local3 = new HitSparkMC(); _local3.x = (_arg1.x >> 0); _local3.y = (_arg1.y >> 0); _local4 = collision_rect.sideOf(_arg1.x, _arg1.y); if (_local4 == Rect.UP){ } else { if (_local4 == Rect.RIGHT){ _local3.rotation = 90; } else { if (_local4 == Rect.DOWN){ _local3.rotation = 180; } else { if (_local4 == Rect.LEFT){ _local3.rotation = 270; }; }; }; }; g.effect_holder.addChild(_local3); if ((((health <= 0)) || (_arg2))){ g.addScore(reward.value); kill((_arg1.x - _arg1.px)); }; } else { _arg1.ping((_arg1.px - _arg1.x)); }; } override public function unpause():void{ (mc as MovieClip).gun.gotoAndStop("idle"); } } }//package com.nitrome.engine_specific
Section 60
//Scientist (com.nitrome.engine_specific.Scientist) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Scientist extends Encounter { public var py:Number; public var paused:Boolean; public var cast:RayCastReport; public var stun_count:int; public var a:Dot; public var health:int;// = 0 public var platform:Boolean; public var recover_count:int; public var alert_count:int; public var scan:Line; public var health_fraction:Number;// = 0 public var pause_count:int;// = 0 public var controlled:Boolean; public var state:int; public var dir:int; public var grid_x:int; public var grid_y:int; public var stop_dir:int; public var collision_rect:Rect; public var temp_y:Number; private static const DAMPING_Y:Number = 0.99; public static const RIGHT:int = 2; public static const RECOVER:int = 16; public static const RIGHT_ID:String = "418"; private static const width:int = 20; public static const LEFT:int = 8; private static const height:int = 44; private static const GRAVITY_Y:Number = 1.3; public static const LEFT_ID:String = "417"; private static const FLOOR_DEPTH:int = 6; public static const UP:int = 1; public static const STUN_DELAY:int = 100; public static const RUNNING:int = 1; public static const ALERT_DELAY:int = 50; public static const SPEED:Number = 2; public static const RECOVER_DELAY:int = 22; public static const DOWN:int = 4; public static const STOPPED:int = 0; public static const FALLING:int = 2; public static const STUNNED:int = 8; public static const ALERT:int = 4; public static const TEST_DEPTH:int = 5; public function Scientist(_arg1:int, _arg2:Sprite, _arg3:Game){ health = 0; health_fraction = 0; pause_count = 0; super(_arg2, _arg3, true); has_main = true; has_collision = true; this.dir = _arg1; collision_rect = new Rect((x - (width >> 1)), (y - (height >> 1)), 26, 42); map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); py = y; if (_arg3.stack_map[(map_y + 1)][map_x] > Game.EMPTY){ platform = true; state = RUNNING; } else { platform = false; state = FALLING; }; a = new Dot((_arg2.x + 0.5), (_arg2.y + 0.5)); reward = new HiddenInt(40); controlled = ((!((_arg3.path_map[map_y][map_x] == 0))) || (!((((_arg3.path_map[map_y][map_x] >= 0)) || ((_arg3.path_map[map_y][map_x] <= 0)))))); if (controlled){ paused = false; pause_count = 0; selectPatrolPath(); }; actor_target = false; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ if (!(((state == RUNNING)) || ((state == ALERT)))){ return (false); }; return (collision_rect.contains(_arg1, _arg2)); } override public function intersects(_arg1:Rect):Boolean{ if (((((!(g.player.chameleon)) && (g.player.chameleon_pickup))) && ((g.player.state == Player.STEALTH)))){ if (collision_rect.intersects(_arg1)){ g.player.enterChameleonMode(); return (false); }; }; if (((((((!(on_scroller)) || ((g.player.state == Player.STEALTH)))) || (g.player.chameleon))) || (!((state == RUNNING))))){ return (false); }; if (((((!((scan == null))) && ((cast == null)))) && ((((((((dir == LEFT)) && ((g.player.x < x)))) || ((((dir == RIGHT)) && ((g.player.x > x)))))) || ((((dir == STOPPED)) && ((((((stop_dir == LEFT)) && ((g.player.x < x)))) || ((((stop_dir == RIGHT)) && ((g.player.x > x)))))))))))){ return (RayCast.reportIntersectsRect(scan, cast, g.player.collision_rect)); }; return (false); } public function updateAnimState():void{ if (state == RUNNING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "run_right"){ (mc as MovieClip).gotoAndStop("run_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "run_left"){ (mc as MovieClip).gotoAndStop("run_left"); }; } else { if (dir == STOPPED){ if (stop_dir == RIGHT){ if ((mc as MovieClip).currentLabel != "stop_right"){ (mc as MovieClip).gotoAndStop("stop_right"); }; } else { if (stop_dir == LEFT){ if ((mc as MovieClip).currentLabel != "stop_left"){ (mc as MovieClip).gotoAndStop("stop_left"); }; }; }; }; }; }; } else { if (state == FALLING){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "fall_right"){ (mc as MovieClip).gotoAndStop("fall_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "fall_left"){ (mc as MovieClip).gotoAndStop("fall_left"); }; }; }; } else { if (state == STUNNED){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "stunned_right"){ (mc as MovieClip).gotoAndStop("stunned_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "stunned_left"){ (mc as MovieClip).gotoAndStop("stunned_left"); }; } else { if (dir == STOPPED){ if (stop_dir == RIGHT){ if ((mc as MovieClip).currentLabel != "stunned_right"){ (mc as MovieClip).gotoAndStop("stunned_right"); }; } else { if (stop_dir == LEFT){ if ((mc as MovieClip).currentLabel != "stunned_left"){ (mc as MovieClip).gotoAndStop("stunned_left"); }; }; }; }; }; }; } else { if (state == RECOVER){ if (dir == RIGHT){ if ((mc as MovieClip).currentLabel != "recover_right"){ (mc as MovieClip).gotoAndStop("recover_right"); }; } else { if (dir == LEFT){ if ((mc as MovieClip).currentLabel != "recover_left"){ (mc as MovieClip).gotoAndStop("recover_left"); }; } else { if (dir == STOPPED){ if (stop_dir == RIGHT){ if ((mc as MovieClip).currentLabel != "recover_right"){ (mc as MovieClip).gotoAndStop("recover_right"); }; } else { if (stop_dir == LEFT){ if ((mc as MovieClip).currentLabel != "recover_left"){ (mc as MovieClip).gotoAndStop("recover_left"); }; }; }; }; }; }; } else { if (state == ALERT){ if ((mc as MovieClip).currentLabel != "alert"){ (mc as MovieClip).gotoAndStop("alert"); }; }; }; }; }; }; } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); } override public function alert():void{ if (!(((state == RUNNING)) || ((state == STOPPED)))){ return; }; state = ALERT; alert_count = ALERT_DELAY; } public function kill(_arg1:Number):void{ if (!active){ return; }; active = false; NitromeGame.bonus.buddha.value = 0; g.addFX(mc.x, mc.y, g.bang_bitmap1); if (Math.random() > 0.5){ g.addSmoke(mc.x, mc.y); }; } public function selectPatrolPath():void{ if (pause_count == -1){ return; }; if ((((dir == Path.STOPPED)) && ((pause_count > 0)))){ pause_count--; return; }; stop_dir = dir; Path.getDir(dir, g.path_map, null, map_x, map_y); dir = Path.dir; pause_count = (paused) ? 0 : Path.pause_delay; if (pause_count > 0){ dir = Path.STOPPED; paused = true; return; }; paused = false; } public function main():void{ on_scroller = g.scroller.contains(x, y); if (((!(forced)) && (!(on_scroller)))){ if (dir == LEFT){ tile_id = "103"; } else { if (dir == RIGHT){ tile_id = "104"; }; }; remove(); return; }; if (state == RUNNING){ if (scan == null){ if (g.player != null){ scan = new Line(a, g.player); if (on_scroller){ cast = RayCast.cast(scan, g.block_map, true); }; }; } else { scan.updateLine(); if (on_scroller){ cast = RayCast.cast(scan, g.block_map, true); }; }; move(); if (controlled){ if ((((dir == RIGHT)) || ((dir == LEFT)))){ if (((x - 32) * Game.SCALE) == map_x){ selectPatrolPath(); }; } else { if (dir == Path.STOPPED){ selectPatrolPath(); }; }; }; if (dir == RIGHT){ grid_x = ((((x + (width >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if (g.stack_map[grid_y][grid_x] > Game.EMPTY){ dir = LEFT; }; grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ dir = LEFT; }; if (grid_x == (g.scroller.width - 1)){ dir = LEFT; }; } else { if (dir == LEFT){ grid_x = ((((x - (width >> 1)) - TEST_DEPTH) * Game.SCALE) >> 0); grid_y = map_y; if (g.stack_map[grid_y][grid_x] > Game.EMPTY){ dir = RIGHT; }; grid_y = ((((y + (height >> 1)) + TEST_DEPTH) * Game.SCALE) >> 0); if (g.stack_map[grid_y][grid_x] == Game.EMPTY){ dir = RIGHT; }; if (grid_x == 0){ dir = RIGHT; }; }; }; } else { if (state == FALLING){ findFloor(); if (platform == false){ verletY(GRAVITY_Y, DAMPING_Y); }; } else { if (state == ALERT){ alert_count--; if (alert_count <= 0){ state = RUNNING; }; } else { if (state == STUNNED){ stun_count--; if (stun_count <= 0){ NitromeGame.sound_manager.playSound("electric"); state = RECOVER; recover_count = RECOVER_DELAY; }; } else { if (state == RECOVER){ recover_count--; if (recover_count <= 0){ scan.updateLine(); cast = RayCast.cast(scan, g.block_map, true); state = RUNNING; }; }; }; }; }; }; updateAnimState(); updateMC(); updateCollisionRect(); } public function verletY(_arg1:Number, _arg2:Number):void{ temp_y = y; y = (y + ((_arg2 * (y - py)) + _arg1)); py = temp_y; if (scan != null){ scan.a.y = y; }; map_y = ((y * Game.SCALE) >> 0); } override public function resolvePlayerCollision(_arg1:Player):void{ g.alert(); } public function findFloor():void{ if (g.stack_map[(map_y + 1)][map_x] > Game.EMPTY){ platform = true; y = (((map_y + 1) * Game.scale) - (height >> 1)); updateCollisionRect(); state = RUNNING; }; } public function move():void{ if (dir == RIGHT){ x = (x + SPEED); scan.a.x = (scan.a.x + SPEED); } else { if (dir == LEFT){ x = (x - SPEED); scan.a.x = (scan.a.x - SPEED); }; }; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); } public function updateCollisionRect():void{ if (!(((state == RECOVER)) || ((state == STUNNED)))){ collision_rect.x = (x - (width >> 1)); collision_rect.y = (y - (height >> 1)); collision_rect.width = width; collision_rect.height = height; } else { if ((((dir == RIGHT)) || ((stop_dir == RIGHT)))){ collision_rect.x = ((x - height) - (width >> 1)); collision_rect.y = y; collision_rect.width = height; collision_rect.height = width; } else { if ((((dir == LEFT)) || ((stop_dir == LEFT)))){ collision_rect.x = (x + (width >> 1)); collision_rect.y = y; collision_rect.width = height; collision_rect.height = width; }; }; }; } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:int; if (!(((state == RUNNING)) || ((state == ALERT)))){ return; }; _local3 = new HitSparkMC(); _local3.x = (_arg1.x >> 0); _local3.y = (_arg1.y >> 0); _local4 = collision_rect.sideOf(_arg1.x, _arg1.y); if (_local4 == UP){ } else { if (_local4 == RIGHT){ _local3.rotation = 90; } else { if (_local4 == DOWN){ _local3.rotation = 180; } else { if (_local4 == LEFT){ _local3.rotation = 270; }; }; }; }; g.effect_holder.addChild(_local3); NitromeGame.sound_manager.playSound("scientisthit"); state = STUNNED; stun_count = STUN_DELAY; } override public function unpause():void{ var _local1:MovieClip; if (state == STUNNED){ _local1 = (mc as MovieClip).stun; if (_local1.currentFrame == _local1.totalFrames){ _local1.gotoAndStop(_local1.totalFrames); }; }; } } }//package com.nitrome.engine_specific
Section 61
//SkipStoryButton (com.nitrome.engine_specific.SkipStoryButton) package com.nitrome.engine_specific { import flash.display.*; import flash.events.*; public class SkipStoryButton extends Sprite { var active:Boolean;// = true public function SkipStoryButton(){ active = true; super(); if (StoryClip.next_frame == "congrats"){ visible = false; }; addEventListener(MouseEvent.CLICK, onClick, false, 0, true); } public function onClick(_arg1:MouseEvent):void{ if (active){ if (NitromeGame.timeline.currentLabel == "story"){ NitromeGame.timeline.story.quit(); }; }; } } }//package com.nitrome.engine_specific
Section 62
//Smoke (com.nitrome.engine_specific.Smoke) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class Smoke extends Particle { public const DELAY:int = 75; public var active:Boolean; public var count:int; public var g:Game; public function Smoke(_arg1:Number, _arg2:Number, _arg3:Game){ super(_arg1, _arg2); count = DELAY; this.g = _arg3; active = true; } public function main():void{ var _local1:BitmapSprite; var _local2:int; verlet(0, 0.2, 0.99); _local2 = (Math.random() * 4); if (_local2 == 0){ _local1 = g.burn_bitmap1; } else { if (_local2 == 1){ _local1 = g.burn_bitmap2; } else { if (_local2 == 2){ _local1 = g.burn_bitmap3; } else { if (_local2 == 3){ _local1 = g.burn_bitmap4; }; }; }; }; g.addFX(x, y, _local1); count--; if (count <= 0){ active = false; }; } } }//package com.nitrome.engine_specific
Section 63
//Sniper (com.nitrome.engine_specific.Sniper) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.geom.*; public class Sniper extends Encounter { public var stealth:Boolean; public var wobble:int; public var sight:SniperSight; public var stealth_clip:StealthClip; public var stealth_mask:MovieClip; public var collision_rect:Rect; public static const WOBBLE_STEP:int = 1; public static var point:Point = new Point(); public function Sniper(_arg1:Sprite, _arg2:Game, _arg3:Boolean=false){ var _local4:Boolean; var _local5:int; super(_arg1, _arg2, false); this.stealth = false; has_main = false; collision_rect = new Rect((_arg1.x + 12), (_arg1.y + 10), 46, 46); map_x = (init_x = ((_arg1.x * Game.SCALE) >> 0)); map_y = (init_y = ((_arg1.y * Game.SCALE) >> 0)); _local4 = false; _local5 = 0; while (_local5 < _arg2.encounters.length) { if ((((((_arg2.encounters[_local5].init_x == init_x)) && ((_arg2.encounters[_local5].init_y == init_y)))) && (!((_arg2.encounters[_local5] == this))))){ if ((_arg2.encounters[_local5] is SniperSight)){ sight = _arg2.encounters[_local5]; _local4 = true; break; }; }; _local5++; }; if (!_local4){ createSight(); }; reward = new HiddenInt(70); } override public function remove():void{ if (forced){ return; }; if (active){ active = false; g.scroller.map_array_layers[layer][init_y][init_x] = tile_id; }; } public function createSight():void{ var _local1:MovieClip; _local1 = new SightMC(); _local1.blendMode = BlendMode.OVERLAY; _local1.gotoAndStop(1); _local1.x = (collision_rect.x + (collision_rect.width * 0.5)); _local1.y = (collision_rect.y + (collision_rect.height * 0.5)); g.light_holder.addChild(_local1); sight = new SniperSight(_local1, g, stealth); sight.map_x = init_x; sight.map_y = init_y; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function main():void{ wobble = ((wobble + WOBBLE_STEP) % 360); stealth_clip.alpha = (0.85 + (Math.abs(Trig.sin[wobble]) * 0.15)); } public function stealthScreenGrab():void{ mc.visible = false; point = Util.localToLocal(point, mc, NitromeGame.timeline); stealth_clip.grab(-(point.x), -(point.y)); mc.visible = true; } public function kill(_arg1:Number):void{ if (!active){ return; }; active = false; if (!spawned){ NitromeGame.bonus.enemy_count.value++; }; g.addFX((collision_rect.x + (collision_rect.width * 0.5)), (collision_rect.y + (collision_rect.height * 0.5)), g.bang_bitmap1); g.shake(3); sight.kill(); g.scroller.map_array_layers[layer][map_y][map_x] = 0; if (((stealth) && (!((stealth_clip.parent == null))))){ stealth_clip.parent.removeChild(stealth_clip); }; g.addDebris((collision_rect.x + (collision_rect.width * 0.5)), (collision_rect.y + (collision_rect.height * 0.5)), ((_arg1 > 0)) ? 10 : -10, g.debris_clips[0], g.debris_clips[1]); } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ if (!active){ return; }; if (!spawned){ g.addScore(reward.value); } else { g.addScore((reward.value / 10)); }; kill((_arg1.x - _arg1.px)); } } }//package com.nitrome.engine_specific
Section 64
//SniperSight (com.nitrome.engine_specific.SniperSight) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class SniperSight extends Encounter { private var fade:Boolean; public var state:int; public var stealth:Boolean; public var hit:Dot; public var firing_count:int; public var foreground_layer:Array; public var clear_shot:Boolean; public var player:Player; public var target_line:Line; public var sight_count:int; public static const SPEED:int = 7; public static const TARGETING:int = 2; public static const FIRING:int = 4; public static const TRACKING:int = 1; public static const FIRING_STEP:int = 2; public static const SEARCHING:int = 0; public static const SIGHT_STEP:int = 2; public function SniperSight(_arg1:Sprite, _arg2:Game, _arg3:Boolean){ super(_arg1, _arg2, true); this.stealth = true; has_main = true; state = TRACKING; clear_shot = false; if (_arg2.player != null){ target_line = new Line(new Dot(_arg1.x, _arg1.y), _arg2.player); }; foreground_layer = _arg2.scroller.map_array_layers[3]; hit = new Dot(x, y); actor_target = false; map_x = (init_x = ((_arg1.x * Game.SCALE) >> 0)); map_y = (init_y = ((_arg1.y * Game.SCALE) >> 0)); } public function kill():void{ if (((fade) || (!(active)))){ return; }; fade = true; } override public function intersects(_arg1:Rect):Boolean{ return (_arg1.intersectsCircle(mc.x, mc.y, 20)); } public function fire():void{ var _local1:int; var _local2:Number; hit.x = mc.x; hit.y = mc.y; _local1 = (Math.random() * 360); _local2 = (-30 + (Math.random() * 60)); hit.x = (hit.x + (Trig.cos[_local1] * _local2)); hit.y = (hit.y + (Trig.sin[_local1] * _local2)); map_x = (hit.x * Game.SCALE); map_y = (hit.y * Game.SCALE); if (((clear_shot) && (g.player.collision_rect.contains(hit.x, hit.y)))){ g.player.hit(); }; if ((((((((map_x > -1)) && ((map_x < g.scroller.width)))) && ((map_y > -1)))) && ((map_y < g.scroller.height)))){ if ((((g.stack_map[map_y][map_x] > Game.EMPTY)) || (!((((foreground_layer[map_y][map_x] == null)) || ((foreground_layer[map_y][map_x] == 0))))))){ g.addFX(hit.x, hit.y, g.smoke_hit_bitmap); }; }; g.addFX(hit.x, hit.y, g.sniper_shot_bitmap); } public function main():void{ if (fade){ if (mc.alpha > 0){ mc.alpha = (mc.alpha - 0.2); } else { active = false; return; }; return; }; clear_shot = (((foreground_layer[g.player.grid_y][g.player.grid_x] == null)) || ((foreground_layer[g.player.grid_y][g.player.grid_x] == 0))); if (state == SEARCHING){ if (((((stealth) || (((!((g.player.state == Player.STEALTH))) && (!(g.player.chameleon)))))) && (clear_shot))){ state = TRACKING; }; } else { if (state == TRACKING){ if (((((!(stealth)) && ((((g.player.state == Player.STEALTH)) || (g.player.chameleon))))) || (!(clear_shot)))){ state = SEARCHING; }; } else { if (state == TARGETING){ if (sight_count < (SIGHT_STEP * 4)){ sight_count++; if (sight_count < SIGHT_STEP){ (mc as MovieClip).gotoAndStop(2); } else { if (sight_count == SIGHT_STEP){ (mc as MovieClip).gotoAndStop(3); } else { if (sight_count == (SIGHT_STEP * 2)){ (mc as MovieClip).gotoAndStop(4); } else { if (sight_count == (SIGHT_STEP * 3)){ (mc as MovieClip).gotoAndStop(5); }; }; }; }; } else { state = FIRING; firing_count = 0; }; } else { if (state == FIRING){ if (firing_count < (FIRING_STEP * 4)){ if (firing_count == 0){ NitromeGame.sound_manager.playSound("machinegun"); fire(); } else { if (firing_count == FIRING_STEP){ fire(); } else { if (firing_count == (FIRING_STEP * 2)){ fire(); } else { if (firing_count == (FIRING_STEP * 3)){ fire(); }; }; }; }; firing_count++; } else { state = TRACKING; (mc as MovieClip).gotoAndStop(1); }; }; }; }; }; if (((!((target_line == null))) && ((((((state == TRACKING)) || ((state == SEARCHING)))) || (FIRING))))){ move(); } else { if (g.player != null){ target_line = new Line(new Dot(mc.x, mc.y), g.player); }; }; } override public function resolvePlayerCollision(_arg1:Player):void{ if ((((((state == TRACKING)) && (clear_shot))) && (((stealth) || (((!((g.player.state == Player.STEALTH))) && (!(g.player.chameleon)))))))){ state = TARGETING; sight_count = 0; }; } public function move():void{ target_line.a.x = mc.x; target_line.a.y = mc.y; if ((((((((state == TRACKING)) || ((state == FIRING)))) || ((state == TARGETING)))) || (!(Util.onScreen(mc.x, mc.y, g, 10))))){ target_line.updateLine(); }; if (target_line.len > 10){ mc.x = (mc.x + (target_line.dx * SPEED)); mc.y = (mc.y + (target_line.dy * SPEED)); }; } } }//package com.nitrome.engine_specific
Section 65
//SpawnBlock (com.nitrome.engine_specific.SpawnBlock) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class SpawnBlock extends EncounterBlock { public var state:int; public var child:Clip; public var hack:Boolean; public var backing:Sprite; public var spawn_num:int; public var spawn_id:int; public static const SPAWN_TOTAL:int = 6; public static const ACTIVE:int = 2; public static const INACTIVE:int = 1; public function SpawnBlock(_arg1:Sprite, _arg2:Game){ super(_arg1, _arg2); spawn = true; state = _arg2.alert_state; spawn_num = SPAWN_TOTAL; hack = false; if ((((state == ACTIVE)) || (aggressive))){ (_arg1 as MovieClip).gotoAndStop("active"); has_main = true; } else { if (state == INACTIVE){ (_arg1 as MovieClip).gotoAndStop("inactive"); }; }; } override public function remove():void{ if (forced){ return; }; if (active){ active = false; g.scroller.map_array_layers[layer][map_y][map_x] = tile_id; if (backing.parent != null){ backing.parent.removeChild(backing); }; }; } public function main():void{ if (((((!(((hack) && (!((g.spider == null)))))) && ((spawn_num > 0)))) && ((((child == null)) || (((!((child == null))) && (!((child as Encounter).active)))))))){ g.scroller.changeLayer(Scroller.ENCOUNTER_LAYER); g.scroller.map_array[map_y][map_x] = spawn_id; g.scroller.tile_maker.mapElement(map_x, map_y); child = g.encounters[(g.encounters.length - 1)]; (child as Encounter).spawned = true; if (!aggressive){ spawn_num--; }; }; } override public function alert():void{ if (aggressive){ return; }; (mc as MovieClip).gotoAndPlay("activating"); has_main = true; spawn_num = SPAWN_TOTAL; } override public function standdown():void{ if (aggressive){ return; }; (mc as MovieClip).gotoAndPlay("deactivating"); has_main = false; child = null; } } }//package com.nitrome.engine_specific
Section 66
//Spider (com.nitrome.engine_specific.Spider) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Spider extends FlyingBot { public var light:MovieClip; public var health:int;// = 0 public var health_fraction:Number;// = 0 public var body:MovieClip; public var collision_rect:Rect; public var hackable:Boolean; public static const TURN_SPEED:Number = 6; public static const SPEED:Number = 8; public function Spider(_arg1:int, _arg2:MovieClip, _arg3:Game, _arg4:Boolean=false, _arg5:Boolean=false){ health = 0; health_fraction = 0; super(_arg1, _arg2, _arg3); dir_mc = _arg2; body = (_arg2 as MovieClip).body; light = (_arg2 as MovieClip).light; if (((_arg5) || (!((_arg3.alert_state == Game.ACTIVE))))){ this.aggressive = _arg4; } else { this.aggressive = true; }; light.visible = this.aggressive; if (((!(this.aggressive)) || ((_arg3.player == null)))){ selectPatrolPath(); } else { selectSeekPath(); }; if (_arg1 == STOPPED){ body.stop(); light.stop(); }; state = MOVING; if ((((this.dir == DOWN)) || ((((this.dir == STOPPED)) && ((old_dir == DOWN)))))){ _arg2.rotation = (angle = 90); } else { if ((((this.dir == RIGHT)) || ((((this.dir == STOPPED)) && ((old_dir == RIGHT)))))){ _arg2.rotation = (angle = 0); } else { if ((((this.dir == UP)) || ((((this.dir == STOPPED)) && ((old_dir == UP)))))){ _arg2.rotation = (angle = -90); } else { if ((((this.dir == LEFT)) || ((((this.dir == STOPPED)) && ((old_dir == LEFT)))))){ _arg2.rotation = (angle = 180); }; }; }; }; collision_rect = new Rect((x - 16), (y - 16), 32, 32); reward = new HiddenInt(10); this.hackable = _arg5; } override public function contains(_arg1:Number, _arg2:Number):Boolean{ return (collision_rect.contains(_arg1, _arg2)); } public function updateMC():void{ if ((((state == TURNING)) || ((dir == STOPPED)))){ body.stop(); light.stop(); } else { body.play(); light.play(); }; mc.x = (x >> 0); mc.y = (y >> 0); } override public function intersects(_arg1:Rect):Boolean{ return (collision_rect.intersects(_arg1)); } override public function alert():void{ if (hackable){ return; }; aggressive = true; light.visible = true; } public function kill():void{ if (!active){ return; }; active = false; if (((!(spawned)) && (!(hackable)))){ NitromeGame.bonus.enemy_count.value++; }; g.addFX(mc.x, mc.y, g.bang_bitmap1); } public function main():void{ if (((!(forced)) && (!(g.scroller.contains(x, y))))){ map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); if (hackable){ tile_id = "0"; } else { if (aggressive){ tile_id = "111"; } else { if (dir == UP){ tile_id = "107"; } else { if (dir == RIGHT){ tile_id = "108"; } else { if (dir == DOWN){ tile_id = "109"; } else { if (dir == LEFT){ tile_id = "110"; }; }; }; }; }; }; remove(); return; }; if (state == MOVING){ move(); if ((((dir == UP)) || ((dir == DOWN)))){ if (((y - 32) * Game.SCALE) == map_y){ if (aggressive){ selectSeekPath(); } else { selectPatrolPath(); }; }; } else { if ((((dir == LEFT)) || ((dir == RIGHT)))){ if (((x - 32) * Game.SCALE) == map_x){ if (aggressive){ selectSeekPath(); } else { selectPatrolPath(); }; }; } else { if (dir == STOPPED){ if (aggressive){ selectSeekPath(); } else { selectPatrolPath(); }; }; }; }; } else { if (state == TURNING){ if (Math.abs((angle - mc.rotation)) <= TURN_SPEED){ mc.rotation = angle; state = MOVING; } else { r = mc.rotation; r = (r + ((Math.abs((angle - r)))>180) ? ((r)<angle) ? 360 : -(360) : 0); r = (r + (((angle - r) > 0)) ? TURN_SPEED : -(TURN_SPEED)); mc.rotation = r; }; }; }; updateMC(); updateCollisionRect(); } override public function resolvePlayerCollision(_arg1:Player):void{ _arg1.hit(); kill(); } public function move():void{ if (dir == UP){ y = (y - SPEED); } else { if (dir == RIGHT){ x = (x + SPEED); } else { if (dir == LEFT){ x = (x - SPEED); } else { if (dir == DOWN){ y = (y + SPEED); }; }; }; }; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); } public function updateCollisionRect():void{ collision_rect.x = (x - 16); collision_rect.y = (y - 16); } override public function resolveWeaponCollision(_arg1:Star, _arg2:Boolean=false):void{ var _local3:MovieClip; var _local4:HackedSpider; if (!active){ return; }; if (((hackable) && ((_arg1 is RopeAnchor)))){ active = false; _local3 = new HackSpiderMC(); _local3.x = (x >> 0); _local3.y = (y >> 0); g.monster_holder.addChild(_local3); _local4 = new HackedSpider(_local3, g); NitromeGame.sound_manager.playSound("hack"); } else { if (!spawned){ g.addScore(reward.value); } else { if (!hackable){ g.addScore((reward.value / 10)); }; }; kill(); }; } } }//package com.nitrome.engine_specific
Section 67
//Star (com.nitrome.engine_specific.Star) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class Star extends Dot { public var active:Boolean; public var px:Number; public var samples:Array; public var py:Number; public var dx:Number; public var mc:Sprite; public var dy:Number; public var speed:Number;// = 32 public var temp_x:Number; public var temp_y:Number; public var map_y:int; public var map_x:int; public var dead:Boolean; public var g:Game; public var i:int; public var j:int; public var rope_star:Boolean;// = false public static const SPEED:Number = 32; public function Star(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Sprite, _arg6:Game){ speed = 32; rope_star = false; super(_arg1, _arg2); this.mc = _arg5; this.g = _arg6; this.dx = _arg3; this.dy = _arg4; px = (ix = _arg1); py = (iy = _arg2); samples = []; samples.push(new Dot(_arg1, _arg2)); samples.push(new Dot(_arg1, _arg2)); samples.push(new Dot(_arg1, _arg2)); active = true; dead = false; } public function ping(_arg1:Number):void{ g.addDebris(x, y, _arg1, g.star_debris_bitmap); mc.visible = false; active = false; dead = true; } public function stick():void{ var _local1:int; active = false; _local1 = (mc as LiveStar).star.currentFrame; mc.parent.removeChild(mc); mc = new DeadStar(); (mc as DeadStar).init(_local1); g.dead_star_holder.addChild(mc); updateMC(); } protected function blockCollision():void{ var _local1:int; _local1 = 0; while (_local1 < samples.length) { map_x = ((samples[_local1].x * Game.SCALE) >> 0); map_y = ((samples[_local1].y * Game.SCALE) >> 0); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (g.block_map[map_y][map_x].b.contains(samples[_local1].x, samples[_local1].y)){ x = samples[_local1].x; y = samples[_local1].y; anchor(g.block_map[map_y][map_x].b, g.block_map[map_y][map_x].mc); if (((((rope_star) && (!(g.block_map[map_y][map_x].b.force_field)))) && (!(g.block_map[map_y][map_x].b.cutting)))){ NitromeGame.sound_manager.playSound("star_hit"); }; return; }; } else { x = samples[_local1].x; y = samples[_local1].y; anchor(g.block_map[map_y][map_x].b); if (((((rope_star) && (!(g.block_map[map_y][map_x].b.force_field)))) && (!(g.block_map[map_y][map_x].b.cutting)))){ NitromeGame.sound_manager.playSound("star_hit"); }; return; }; }; _local1++; }; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); if (g.stack_map[map_y][map_x] > Game.EMPTY){ if (g.stack_map[map_y][map_x] == Rect.TEMP){ if (g.block_map[map_y][map_x].b.contains(x, y)){ anchor(g.block_map[map_y][map_x].b, g.block_map[map_y][map_x].mc); if (((((rope_star) && (!(g.block_map[map_y][map_x].b.force_field)))) && (!(g.block_map[map_y][map_x].b.cutting)))){ NitromeGame.sound_manager.playSound("star_hit"); }; }; } else { anchor(g.block_map[map_y][map_x].b); if (((((rope_star) && (!(g.block_map[map_y][map_x].b.force_field)))) && (!(g.block_map[map_y][map_x].b.cutting)))){ NitromeGame.sound_manager.playSound("star_hit"); }; }; }; } public function erase():void{ mc.parent.removeChild(mc); active = false; dead = true; } public function updateMC():void{ mc.x = (x >> 0); mc.y = (y >> 0); } protected function anchor(_arg1:Block, _arg2:Sprite=null):void{ var _local3:Number; var _local4:Number; var _local5:Rect; var _local6:*; var _local7:Number; var _local8:Number; var _local9:int; var _local10:int; _local3 = (x - px); _local4 = (y - py); _local5 = new Rect(0, 0, 0, 0); _local5.x = Math.min(x, px); _local5.y = Math.min(y, py); _local5.width = Math.abs((x - px)); _local5.height = Math.abs((y - py)); _local6 = _local5.intersection(_arg1); _local7 = 0; _local8 = 0; if (_local3 != 0){ _local7 = (Math.min(Math.abs(_local3), _local6.width) * ((_local3 > 0)) ? 1 : -1); }; if (_local4 != 0){ _local8 = (Math.min(Math.abs(_local4), _local6.height) * ((_local4 > 0)) ? 1 : -1); }; x = (x - _local7); y = (y - _local8); _local9 = _arg1.sideOf(x, y); if ((_arg1.stacked & _local9)){ if ((((_local9 == Rect.UP)) || ((_local9 == Rect.DOWN)))){ if (x < (_arg1.x + (_arg1.width * 0.5))){ x = (_arg1.x - 1); _local9 = Rect.LEFT; } else { x = (_arg1.x + _arg1.width); _local9 = Rect.RIGHT; }; } else { if ((((_local9 == Rect.RIGHT)) || ((_local9 == Rect.LEFT)))){ if (y < (_arg1.y + (_arg1.height * 0.5))){ y = (_arg1.y - 1); _local9 = Rect.UP; } else { y = (_arg1.y + _arg1.height); _local9 = Rect.DOWN; }; }; }; } else { if (_local9 == Rect.LEFT){ x = (_arg1.x - 1); } else { if (_local9 == Rect.UP){ y = (_arg1.y - 1); }; }; }; active = false; _local10 = (mc as LiveStar).star.currentFrame; mc.parent.removeChild(mc); mc = new DeadStar(); (mc as DeadStar).init(_local10); if (_arg2 == null){ g.dead_star_holder.addChild(mc); updateMC(); } else { mc.x = (x - _arg1.x); mc.y = (y - _arg1.y); _arg2.addChildAt(mc, 0); }; if (((_arg1.force_field) || (_arg1.cutting))){ ping(-(_local3)); }; } public function main():void{ if (active){ move(); if (!g.scroller.contains(x, y)){ erase(); }; if (active){ encounterCollision(); blockCollision(); if (active){ updateMC(); }; }; }; } protected function encounterCollision():void{ j = 0; while (j < samples.length) { i = 0; while (i < g.encounters.length) { if (!g.encounters[i].has_collision){ } else { if (g.encounters[i].contains(samples[j].x, samples[j].y)){ x = samples[j].x; y = samples[j].y; g.encounters[i].resolveWeaponCollision(this); if (((!(g.boss_level)) && (g.encounters[i].active))){ g.enemy_health_panel.bar.scaleX = (g.encounters[i].health_fraction * g.encounters[i].health); } else { if (!g.boss_level){ g.enemy_health_panel.bar.scaleX = 0; } else { if ((g.encounters[i] is Boss)){ g.enemy_health_panel.bar.scaleX = (g.encounters[i].health_fraction * g.encounters[i].health); }; }; }; kill(); return; }; }; i++; }; j++; }; i = 0; while (i < g.encounters.length) { if (!g.encounters[i].has_collision){ } else { if (g.encounters[i].contains(x, y)){ g.encounters[i].resolveWeaponCollision(this); if (((!(g.boss_level)) && (g.encounters[i].active))){ g.enemy_health_panel.bar.scaleX = (g.encounters[i].health_fraction * g.encounters[i].health); } else { if (!g.boss_level){ g.enemy_health_panel.bar.scaleX = 0; } else { if ((g.encounters[i] is Boss)){ g.enemy_health_panel.bar.scaleX = (g.encounters[i].health_fraction * g.encounters[i].health); }; }; }; kill(); return; }; }; i++; }; } protected function move():void{ var _local1:int; px = x; py = y; _local1 = 0; while (_local1 < samples.length) { samples[_local1].x = (x + (((dx * SPEED) * 0.25) * (_local1 + 1))); samples[_local1].y = (y + (((dy * SPEED) * 0.25) * (_local1 + 1))); _local1++; }; x = (x + (dx * SPEED)); y = (y + (dy * SPEED)); } public function kill():void{ (mc as DeadStar).kill(); active = false; dead = true; } } }//package com.nitrome.engine_specific
Section 68
//StealthClip (com.nitrome.engine_specific.StealthClip) package com.nitrome.engine_specific { import flash.display.*; import flash.geom.*; public class StealthClip extends Sprite { public var bitmap_mask:Sprite; public var bitmap:Bitmap; public var data:BitmapData; public var matrix:Matrix; public var rect:Rectangle; public function StealthClip(_arg1:Sprite, _arg2:int, _arg3:int){ this.bitmap_mask = _arg1; data = new BitmapData(_arg2, _arg3, true, 0xFFFFFF); bitmap = new Bitmap(data); addChild(bitmap); addChild(_arg1); _arg1.cacheAsBitmap = true; bitmap.cacheAsBitmap = true; bitmap.mask = _arg1; matrix = new Matrix(); rect = new Rectangle(0, 0, _arg2, _arg3); } public function grab(_arg1:Number, _arg2:Number):void{ visible = false; NitromeGame.timeline.loading_clip.visible = false; matrix.tx = _arg1; matrix.ty = _arg2; data.draw(NitromeGame.timeline, matrix, null, null, rect); visible = true; NitromeGame.timeline.loading_clip.visible = true; } } }//package com.nitrome.engine_specific
Section 69
//StoryClip (com.nitrome.engine_specific.StoryClip) package com.nitrome.engine_specific { import flash.display.*; import flash.events.*; import com.nitrome.game.*; import flash.text.*; public class StoryClip extends Sprite { public var active:Boolean; public var pos:int; public var show_count:int; public var txt:TextField; public var tf:TextFormat; public static const SECOND_BOSS:int = 3; public static const INTRO:int = 0; public static const FAKE_END:int = 4; public static const REAL_END:int = 5; public static const STORY:Array = [["2028*\n\nHuge corporations battle for markets across the planet. They control everything and everyone. On the front line are warriors like Takeshi, a young ninja fresh from combat academy. Today is his first corporate espionage mission, little does Takeshi realise that today begins the story of a legendary ninja... the final ninja.\n\n*40 years before the events of Final Ninja 1."], ["Takeshi awakes alone in a cold cell somewhere deep in the base..."], ["\"Someone's sent a tiny ninja for me to play with...a small plaything before dinnertime....looks like a sweet snack!! Tasty!!\""], ["\"Dinner is served!!! I'm ready this time little ninja! Ha ha ha Extra Tasty!!!\""], ["With Maxwell Murlock and Victor Boshi gone, the company was ruined and the little ninja who had toppled a giant corporation had one thing left to do..."], ["\"...you even bought some of my guards back. Excellent work Takeshi! You'll go far in this organisation. And Snowfox, I'm not letting you on another of these undercover missions, your mother and I have had enough worrying. And I know it's a long journey home so both of you: Behave!\"", "\"I'm still your boss.\""]]; public static const FIRST_BOSS:int = 2; public static const CAPTURED:int = 1; public static var next_frame:String; public static var list:Array; public function StoryClip(){ tf = new TextFormat(new StoryFont().fontName, 16, 0x838383, null, null, null, null, null, TextFormatAlign.CENTER); } public function init():void{ txt = new TextField(); txt.embedFonts = true; txt.wordWrap = true; txt.width = 550; txt.x = 0; txt.selectable = false; addChild(txt); pos = 0; changeText(list[pos]); txt.alpha = 0; active = true; addEventListener(Event.ENTER_FRAME, main, false, 0, true); addEventListener(MouseEvent.CLICK, click, false, 0, true); } public function quit():void{ if (!active){ return; }; active = false; NitromeGame.transition.doTween(next_frame); if (next_frame == "game"){ NitromeGame.sound_manager.playMusicFadeIn(SoundManager.GAME); } else { if (next_frame == "congrats"){ NitromeGame.sound_manager.playMusicFadeIn(SoundManager.MENU); }; }; removeEventListener(Event.ENTER_FRAME, main); removeEventListener(MouseEvent.CLICK, click); } public function click(_arg1:MouseEvent):void{ if (txt.alpha >= 1){ show_count = 0; }; } public function main(_arg1:Event):void{ if ((((show_count > 0)) && ((txt.alpha < 1)))){ txt.alpha = (txt.alpha + 0.05); } else { if (show_count > 0){ show_count--; } else { if ((((show_count <= 0)) && ((txt.alpha > 0)))){ txt.alpha = (txt.alpha - 0.05); } else { if (pos < (list.length - 1)){ changeText(list[++pos]); } else { quit(); }; }; }; }; } public function changeText(_arg1:String):void{ txt.text = _arg1; txt.setTextFormat(tf); txt.height = 400; txt.y = (200 - (txt.textHeight * 0.5)); show_count = (_arg1.replace(/ /g, "").length * 4); } } }//package com.nitrome.engine_specific
Section 70
//TileMaker (com.nitrome.engine_specific.TileMaker) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; import flash.utils.*; public class TileMaker { public var class_names:Array; private var item; private var mc:Sprite; public var forced:Boolean; private var index:int; public var g:Game; private var i:int; private var n:int; public var s:Scroller; public var fixed:Boolean; public var id_tag:int; private static const DOWN:int = 4; private static const RIGHT:int = 2; private static const LEFT:int = 8; private static const EMPTY:int = 1; private static const IN_PLAY:int = 2; private static const UP:int = 1; public function TileMaker(_arg1:Game, _arg2:Scroller){ BladeManGuard.clear(); this.g = _arg1; this.s = _arg2; class_names = new Array("", "", "BuildBlockMC", "BuildElectricBlockMC", "BuildWhiteBlockMC", "", "", "", "", "", "", "", "", "", "", "", "", "", "BeamMC1", "BeamMC1", "BeamMC2", "BeamMC2", "BladeManMC", "BladeManMC", "BossMC", "BossMC", "BossShadowMC", "CammoMC", "CoinMC", "CowardGeneratorMC", "flash.display.Sprite", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "FlyingGunMC", "ForceFieldMC1", "ForceFieldMC2", "GeneratorMC", "GunBlockMC1", "GunBlockMC1", "GunBlockMC2", "GunBlockMC2", "GunBlockMC3", "GunBlockMC3", "GunBlockMC4", "GunBlockMC4", "GunManMC", "GunManMC", "GunManMC", "GunManMC", "HealthMC", "LiftMC", "NinjaMC", "NinjaMC", "NinjaMC", "NinjaMC", "RotoGunMC", "RotoGunMC", "RotoGunMC", "RotoGunMC", "ScannerMC1", "ScannerMC1", "LaserMC1", "LaserMC1", "ScannerMC2", "ScannerMC2", "LaserMC2", "LaserMC2", "ScannerMC3", "ScannerMC3", "LaserMC3", "LaserMC3", "ScannerMC4", "ScannerMC4", "LaserMC4", "LaserMC4", "ScannerMC5", "ScannerMC5", "LaserMC5", "LaserMC5", "ScannerMC6", "ScannerMC6", "LaserMC6", "LaserMC6", "ScannerMC7", "ScannerMC7", "LaserMC7", "LaserMC7", "ScannerMC8", "ScannerMC8", "LaserMC8", "LaserMC8", "ScientistMC", "ScientistMC", "SniperMC", "SniperMC", "SpiderMC", "SpiderMC", "SpiderMC", "SpiderMC", "SpiderMC", "", "", "", "", "EvilMovingBlockMC", "SpawnMC1", "SpawnMC1", "SpawnMC1", "SpawnMC2", "SpawnMC2", "SpawnMC2", "HackSpiderMC", "HackSpiderMC", "BladeManMC", "CowardMC", "NinjaGuardMC", "BuildCoverMC", "EvilMovingBlockMC", "EvilMovingBlockMC", "EvilMovingBlockMC", "EvilMovingBlockMC", "EvilMovingBlockMC", "MovingMC6", "MovingMC6", "MovingMC6", "MovingMC6", "MovingMC8", "MovingMC8", "MovingMC8", "MovingMC8", "MovingMC3", "MovingMC3", "MovingMC3", "MovingMC3", "MovingMC11", "MovingMC11", "MovingMC11", "MovingMC11", "MovingMC10", "MovingMC10", "MovingMC10", "MovingMC10", "EntranceLiftMC", "GunManMC", "GunManMC", "WaterLineMC", "BlockMC1", "BlockMC2", "BlockMC3", "BlockMC4", "BlockMC5", "BlockMC6", "BlockMC7", "BlockMC8", "BlockMC9", "BlockMC10", "BlockMC11", "BlockMC12", "BlockMC13", "BlockMC14", "BlockMC15", "BlockMC16", "BlockMC17", "BlockMC18", "BlockMC19", "BlockMC20", "BlockMC21", "BlockMC22", "BlockMC23", "BlockMC24", "BlockMC25", "BlockMC26", "BlockMC27", "BlockMC28", "BlockMC29", "BlockMC30", "BlockMC31", "BlockMC32", "BlockMC33", "BlockMC34", "BlockMC35", "BlockMC36", "BlockMC37", "BlockMC38", "BlockMC39", "BlockMC40", "BlockMC41", "BlockMC42", "BlockMC43", "BlockMC44", "BlockMC45", "BlockMC46", "BlockMC47", "BlockMC48", "BlockMC49", "BlockMC50", "BlockMC51", "BlockMC52", "BlockMC53", "BlockMC54", "BlockMC55", "BlockMC56", "BlockMC57", "BlockMC58", "BlockMC59", "BlockMC60", "BlockMC61", "BlockMC62", "BlockMC63", "BlockMC64", "BlockMC65", "BlockMC66", "BlockMC67", "BlockMC68", "BlockMC69", "BlockMC70", "BlockMC71", "BlockMC72", "BlockMC73", "BlockMC74", "BlockMC75", "BlockMC76", "BlockMC77", "BlockMC78", "BlockMC79", "BlockMC80", "BlockMC81", "BlockMC82", "BlockMC83", "BlockMC84", "BlockMC85", "BlockMC86", "BlockMC87", "BlockMC88", "BlockMC89", "BlockMC90", "BlockMC91", "BlockMC92", "BlockMC93", "BlockMC94", "BlockMC95", "BlockMC96", "BlockMC97", "BlockMC98", "BlockMC99", "BlockMC100", "BlockMC101", "BlockMC102", "BlockMC103", "BlockMC104", "BlockMC105", "BlockMC106", "BlockMC107", "BlockMC108", "BlockMC109", "BlockMC110", "BlockMC111", "BlockMC112", "BlockMC113", "BlockMC114", "BlockMC115", "BlockMC116", "BlockMC117", "BlockMC118", "BlockMC119", "BlockMC120", "BlockMC121", "BlockMC122", "BlockMC123", "BlockMC124", "BlockMC125", "BlockMC126", "BlockMC127", "BlockMC128", "BlockMC129", "BlockMC130", "BlockMC131", "BlockMC132", "BlockMC133", "BlockMC134", "BlockMC135", "BlockMC136", "BlockMC137", "BlockMC138", "BlockMC139", "BlockMC140", "BlockMC141", "BlockMC142", "BlockMC143", "BlockMC144", "BlockMC145", "BlockMC146", "BlockMC147", "BlockMC148", "BlockMC149", "BlockMC150", "BlockMC151", "BlockMC152", "BlockMC153", "BlockMC154", "BlockMC155", "BlockMC156", "BlockMC157", "BlockMC158", "BlockMC159", "BlockMC160", "BlockMC161", "BlockMC162", "BlockMC163", "BlockMC164", "BlockMC165", "BlockMC166", "BlockMC167", "BlockMC168", "BlockMC169", "BlockMC170", "BlockMC171", "BlockMC172", "BlockMC173", "BlockMC174", "BlockMC175", "BlockMC176", "BlockMC177", "BlockMC178", "BlockMC179", "BlockMC180", "BlockMC181", "BlockMC182", "BlockMC183", "BlockMC184", "BlockMC185", "BlockMC186", "BlockMC187", "BlockMC188", "BlockMC189", "BlockMC190", "BlockMC191", "BlockMC192", "BlockMC193", "BlockMC194", "BlockMC195", "BlockMC196", "BlockMC197", "BlockMC198", "BlockMC199", "BlockMC200", "BlockMC201", "BlockMC202", "BlockMC203", "BlockMC204", "BlockMC205", "BlockMC206", "BlockMC207", "BlockMC208", "BlockMC209", "BlockMC210", "BlockMC211", "BlockMC212", "BlockMC213", "BlockMC214", "BlockMC215", "BlockMC216", "BlockMC217", "BlockMC218", "ElectricMC1", "ElectricMC2", "ElectricMC3", "ElectricMC4", "ElectricMC5", "ElectricMC6", "ElectricMC7", "ElectricMC8", "ElectricMC9", "WhiteMC1", "WhiteMC2", "WhiteMC3", "WhiteMC4", "WhiteMC5", "WhiteMC6", "WhiteMC7", "WhiteMC8", "WhiteMC9", "WhiteMC10", "WhiteMC11", "WhiteMC12", "WhiteMC13", "WhiteMC14", "WhiteMC15", "WhiteMC16", "WhiteMC17", "WhiteMC18", "WhiteMC19", "WhiteMC20", "WhiteMC21", "WhiteMC22", "WhiteMC23", "WhiteMC24", "WhiteMC25", "WhiteMC26", "WhiteMC27", "WhiteMC28", "WhiteMC29", "WhiteMC30", "MidMC1", "MidMC2", "MidMC3", "MidMC4", "MidMC5", "MidMC6", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "BlockMC219", "BlockMC220", "BlockMC221", "BlockMC222", "WireMC1", "WireMC2", "WireMC3", "WireMC4", "WireMC5", "WireMC6", "WireMC7", "WireMC8", "WireMC9", "WireMC10", "WireMC11", "WireMC12", "BlockMC223", "BlockMC224", "BlockMC225", "BlockMC226", "BlockMC227", "BlockMC228", "BlockMC229", "BlockMC230", "BlockMC231", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "BossPlatformMC1", "BossPlatformMC2", "BossPlatformMC3", "BossPlatformMC4", "BossPlatformMC5", "BossPlatformMC6", "BossPlatformMC7", "BackArrayMC", "BackArrayMC", "BackArrayMC", "BackArrayMC", "WhiteMC31", "WhiteMC32", "BlockMC232", "BlockMC233", "WhiteMC33", "BlockMC234", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "FrontArrayMC", "BossGraphicMC", "flash.display.Sprite"); i = 0; while (i < class_names.length) { if (class_names[i] != ""){ class_names[i] = (getDefinitionByName(class_names[i]) as Class); }; i++; }; } public function mapElement(_arg1:int, _arg2:int, _arg3:Boolean=false){ var _local4:int; var _local5:Sprite; var _local6:Sprite; var _local7:MovingBlock; var _local8:MovingBlock; var _local9:Sprite; var _local10:Sprite; index = parseInt(s.map_array[_arg2][_arg1]); id_tag = -1; if (index == 0){ return (null); }; if (!(((s.map_array[_arg2][_arg1] >= 0)) || ((s.map_array[_arg2][_arg1] <= 0)))){ id_tag = s.map_array[_arg2][_arg1].match(/(?<=I\()\d+/)[0]; index = parseInt(s.map_array[_arg2][_arg1].match(/\d+/)[0]); }; n = (_arg1 + (_arg2 * s.width)); fixed = true; if (index >= 1){ mc = new (class_names[index]); }; if (mc != null){ mc.x = (_arg1 * s.scale); mc.y = (_arg2 * s.scale); s.tiles.addChild(mc); }; if (s.gfx){ if ((((index >= 678)) && ((index <= 736)))){ (mc as MovieClip).gotoAndStop((index - 677)); }; if ((((index >= 762)) && ((index <= 767)))){ (mc as MovieClip).gotoAndStop((index - 702)); }; if ((((index >= 421)) && ((index <= 677)))){ (mc as MovieClip).gotoAndStop((index - 420)); }; if ((((index >= 775)) && ((index <= 778)))){ (mc as MovieClip).gotoAndStop((index - 517)); }; if ((((index >= 785)) && ((index <= 790)))){ (mc as MovieClip).gotoAndStop((index - 719)); }; if ((((((index >= 426)) && ((index <= 471)))) || ((((((index >= 263)) && ((index <= 286)))) && (!((index == 279))))))){ g.background_holder.addChild(mc); }; return (mc); }; if (index == 1){ } else { if ((((((((((((((index == 2)) || ((index == 784)))) || ((((index >= 781)) && ((index <= 782)))))) || ((((index >= 0x0300)) && ((index <= 772)))))) || ((((index >= 158)) && ((index <= 375)))))) || ((((index >= 737)) && ((index <= 740)))))) || ((((index >= 753)) && ((index <= 761)))))){ item = generateBlock("static", mc, _arg1, _arg2); if ((((index >= 737)) && ((index <= 740)))){ g.sign_holder.addChild(mc); }; } else { if ((((index == 3)) || ((((index >= 376)) && ((index <= 384)))))){ item = generateBlock("electric", mc, _arg1, _arg2); } else { if ((((((((index == 4)) || ((index == 783)))) || ((((index >= 779)) && ((index <= 780)))))) || ((((index >= 385)) && ((index <= 414)))))){ item = generateBlock("white", mc, _arg1, _arg2); } else { if ((((index >= 129)) && ((index <= 153)))){ _local4 = ((index - 126) % 4); item = new MovingBlock((1 << _local4), mc, g); item.b = new Block((_arg1 * Game.scale), (_arg2 * Game.scale), Game.scale, Game.scale); item.b.moving_block = true; item.b.cutting = true; if (index == 129){ item.evil = true; item.aggressive = true; (mc as MovieClip).gotoAndStop("aggressive"); item.dir = FlyingBot.STOPPED; }; if ((((index >= 130)) && ((index <= 133)))){ item.evil = true; item.base_tile_id = 130; if (g.alert_state == Game.ACTIVE){ item.aggressive = true; (mc as MovieClip).gotoAndStop("aggressive"); item.dir = FlyingBot.STOPPED; } else { item.selectPatrolPath(); }; } else { if ((((index >= 134)) && ((index <= 137)))){ item.base_tile_id = 134; item.selectPatrolPath(); }; }; if ((((index >= 138)) && ((index <= 141)))){ item.b.stack(Rect.RIGHT); _local5 = new MovingMC9(); _local5.x = (mc.x + Game.scale); _local5.y = mc.y; _local7 = new MovingBlock(item.dir, _local5, g); _local7.b = new Block(((_arg1 + 1) * Game.scale), (_arg1 * Game.scale), Game.scale, Game.scale); _local7.b.stack(Rect.LEFT); _local7.b.cutting = true; _local7.b.moving_block = true; _local7.buddy = true; g.block_map[_arg2][(_arg1 + 1)] = _local7; item.rez_buddies.push(_local7); s.tiles.addChild(_local5); item.base_tile_id = 138; item.selectPatrolPath(); _local7.selectPatrolPath(); _local7.layer = s.current_layer; } else { if ((((index >= 142)) && ((index <= 145)))){ item.b.stack((Rect.RIGHT | Rect.LEFT)); _local5 = new MovingMC1(); _local5.x = (mc.x + Game.scale); _local5.y = mc.y; _local7 = new MovingBlock(item.dir, _local5, g); _local7.b = new Block(((_arg1 + 1) * Game.scale), (_arg2 * Game.scale), Game.scale, Game.scale); _local7.b.stack(Rect.LEFT); _local7.b.cutting = true; _local7.b.moving_block = true; _local7.buddy = true; _local6 = new MovingMC2(); _local6.x = (mc.x - Game.scale); _local6.y = mc.y; _local8 = new MovingBlock(item.dir, _local6, g); _local8.b = new Block(((_arg1 - 1) * Game.scale), (_arg2 * Game.scale), Game.scale, Game.scale); _local8.b.stack(Rect.LEFT); _local8.b.cutting = true; _local8.b.moving_block = true; _local8.buddy = true; g.block_map[_arg2][(_arg1 + 1)] = _local7; g.block_map[_arg2][(_arg1 - 1)] = _local8; item.rez_buddies.push(_local7, _local8); s.tiles.addChild(_local5); s.tiles.addChild(_local6); item.selectPatrolPath(); _local7.selectPatrolPath(); _local8.selectPatrolPath(); _local7.layer = s.current_layer; _local8.layer = s.current_layer; item.base_tile_id = 142; }; }; if ((((index >= 146)) && ((index <= 149)))){ item.b.stack(Rect.DOWN); _local5 = new MovingMC5(); _local5.x = mc.x; _local5.y = (mc.y + Game.scale); _local7 = new MovingBlock(item.dir, _local5, g); _local7.b = new Block((_arg1 * Game.scale), ((_arg2 + 1) * Game.scale), Game.scale, Game.scale); _local7.b.stack(Rect.UP); _local7.b.cutting = true; _local7.b.moving_block = true; _local7.buddy = true; g.block_map[(_arg2 + 1)][_arg1] = _local7; item.rez_buddies.push(_local7); s.tiles.addChild(_local5); item.base_tile_id = 146; item.selectPatrolPath(); _local7.selectPatrolPath(); _local7.layer = s.current_layer; } else { if ((((index >= 150)) && ((index <= 153)))){ item.b.stack((Rect.UP | Rect.DOWN)); _local5 = new MovingMC1(); _local5.x = mc.x; _local5.y = (mc.y + Game.scale); _local7 = new MovingBlock(item.dir, _local5, g); _local7.b = new Block((_arg1 * Game.scale), ((_arg2 + 1) * Game.scale), Game.scale, Game.scale); _local7.b.stack(Rect.DOWN); _local7.b.cutting = true; _local7.b.moving_block = true; _local7.buddy = true; _local6 = new MovingMC2(); _local6.x = mc.x; _local6.y = (mc.y - Game.scale); _local8 = new MovingBlock(item.dir, _local6, g); _local8.b = new Block((_arg1 * Game.scale), ((_arg2 - 1) * Game.scale), Game.scale, Game.scale); _local8.b.stack(Rect.UP); _local8.b.cutting = true; _local8.b.moving_block = true; _local8.buddy = true; g.block_map[(_arg2 + 1)][_arg1] = _local7; g.block_map[(_arg2 - 1)][_arg1] = _local8; item.rez_buddies.push(_local7, _local8); s.tiles.addChild(_local5); s.tiles.addChild(_local6); item.base_tile_id = 150; item.selectPatrolPath(); _local7.selectPatrolPath(); _local8.selectPatrolPath(); _local7.layer = s.current_layer; _local8.layer = s.current_layer; }; }; } else { if ((((index >= 18)) && ((index <= 21)))){ synchro((mc as MovieClip).beam); if (index == 18){ item = new Laser(false, new Rect(mc.x, (mc.y + 22), Game.scale, 22), (mc as MovieClip), g); } else { if (index == 19){ item = new Laser(true, new Rect(mc.x, (mc.y + 22), Game.scale, 22), (mc as MovieClip), g); } else { if (index == 20){ item = new Laser(false, new Rect((mc.x + 22), mc.y, 22, Game.scale), (mc as MovieClip), g); } else { if (index == 21){ item = new Laser(true, new Rect((mc.x + 22), mc.y, 22, Game.scale), (mc as MovieClip), g); }; }; }; }; } else { if ((((index == 22)) || ((index == 23)))){ mc.x = (mc.x + 32); mc.y = (mc.y + 43); if (index == 22){ item = new BladeMan(LEFT, mc, g); } else { if (index == 23){ item = new BladeMan(RIGHT, mc, g); }; }; } else { if ((((index == 24)) || ((index == 25)))){ item = new Boss(mc, g, (index == 25)); } else { if (index == 26){ item = new Clip(mc, g); } else { if (index == 27){ item = new Cammo(mc, g); } else { if (index == 28){ item = new Coin(mc, g); } else { if (index == 29){ item = new CowardSwitch(id_tag, mc, g); } else { if (index == 30){ item = new ElectricFinish(mc, g); } else { if ((((index >= 31)) && ((index <= 45)))){ mc.x = (mc.x + 32); mc.y = (mc.y + 32); if (index == 31){ item = new FlyingGun(FlyingBot.UP, (mc as MovieClip), g); } else { if (index == 32){ item = new FlyingGun(FlyingBot.UP, (mc as MovieClip), g, false, true); } else { if (index == 33){ item = new FlyingGun(FlyingBot.UP, (mc as MovieClip), g, false, false, true); } else { if (index == 34){ item = new FlyingGun(FlyingBot.RIGHT, (mc as MovieClip), g); } else { if (index == 35){ item = new FlyingGun(FlyingBot.RIGHT, (mc as MovieClip), g, false, true); } else { if (index == 36){ item = new FlyingGun(FlyingBot.RIGHT, (mc as MovieClip), g, false, false, true); } else { if (index == 37){ item = new FlyingGun(FlyingBot.DOWN, (mc as MovieClip), g); } else { if (index == 38){ item = new FlyingGun(FlyingBot.DOWN, (mc as MovieClip), g, false, true); } else { if (index == 39){ item = new FlyingGun(FlyingBot.DOWN, (mc as MovieClip), g, false, false, true); } else { if (index == 40){ item = new FlyingGun(FlyingBot.LEFT, (mc as MovieClip), g); } else { if (index == 41){ item = new FlyingGun(FlyingBot.LEFT, (mc as MovieClip), g, false, true); } else { if (index == 42){ item = new FlyingGun(FlyingBot.LEFT, (mc as MovieClip), g, false, false, true); } else { if (index == 43){ item = new FlyingGun(FlyingBot.DOWN, (mc as MovieClip), g, true); } else { if (index == 44){ item = new FlyingGun(FlyingBot.DOWN, (mc as MovieClip), g, true, true); } else { if (index == 45){ item = new FlyingGun(FlyingBot.DOWN, (mc as MovieClip), g, true, false, true); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; } else { if ((((index == 46)) || ((index == 47)))){ if (id_tag == -1){ item = new ForceField((mc as MovieClip), g); } else { item = new ForceFieldDoor(id_tag, mc, g); }; item.b = new Block((_arg1 * Game.scale), (_arg2 * Game.scale), Game.scale, Game.scale); if ((((((_arg2 > 0)) && ((((g.stack_map[(_arg2 - 1)][_arg1] > Game.EMPTY)) || (isForceField(s.map_array[(_arg2 - 1)][_arg1])))))) || ((_arg2 == 0)))){ item.b.stack(UP); }; if ((((((_arg1 < (s.width - 1))) && ((((g.stack_map[_arg2][(_arg1 + 1)] > Game.EMPTY)) || (isForceField(s.map_array[_arg2][(_arg1 + 1)])))))) || ((_arg1 == (s.width - 1))))){ item.b.stack(RIGHT); }; if ((((((_arg2 < (s.height - 1))) && ((((g.stack_map[(_arg2 + 1)][_arg1] > Game.EMPTY)) || (isForceField(s.map_array[(_arg2 + 1)][_arg1])))))) || ((_arg2 == (s.height - 1))))){ item.b.stack(DOWN); }; if ((((((_arg1 > 0)) && ((((g.stack_map[_arg2][(_arg1 - 1)] > Game.EMPTY)) || (isForceField(s.map_array[_arg2][(_arg1 - 1)])))))) || ((_arg1 == 0)))){ item.b.stack(LEFT); }; item.b.force_field = true; if (id_tag > -1){ if (item.state == ForceFieldDoor.ACTIVE){ g.stack_map[_arg2][_arg1] = item.b.stacked; }; } else { if (g.alert_state == Game.ACTIVE){ item.b.active = true; g.stack_map[_arg2][_arg1] = item.b.stacked; } else { if (g.alert_state == Game.INACTIVE){ item.b.active = false; }; }; }; g.sign_holder.addChild(mc); synchro((mc as MovieClip).field); } else { if (index == 48){ item = generateBlock("generator", mc, _arg1, _arg2, id_tag); } else { if ((((index >= 49)) && ((index <= 56)))){ item = generateBlock("gun", mc, _arg1, _arg2); if ((((index == 49)) || ((index == 50)))){ item.setDirection(UP); if (index == 50){ item.fast = true; }; } else { if ((((index == 51)) || ((index == 52)))){ item.setDirection(RIGHT); if (index == 52){ item.fast = true; }; } else { if ((((index == 53)) || ((index == 54)))){ item.setDirection(DOWN); if (index == 54){ item.fast = true; }; } else { if ((((index == 55)) || ((index == 56)))){ item.setDirection(LEFT); if (index == 56){ item.fast = true; }; }; }; }; }; } else { if ((((((((index >= 57)) && ((index <= 60)))) || ((index == 155)))) || ((index == 156)))){ mc.x = (mc.x + 32); mc.y = (mc.y + 40); if (index == 57){ item = new GunMan(LEFT, mc, g); } else { if (index == 58){ item = new GunMan(LEFT, mc, g, true); } else { if (index == 59){ item = new GunMan(RIGHT, mc, g); } else { if (index == 60){ item = new GunMan(RIGHT, mc, g, true); } else { if (index == 155){ item = new GunMan(LEFT, mc, g, false, true); } else { if (index == 156){ item = new GunMan(RIGHT, mc, g, false, true); }; }; }; }; }; }; } else { if (index == 61){ item = new Health(mc, g); } else { if (index == 62){ g.effect_holder.addChild(mc); item = new Lift(mc, g); } else { if ((((index >= 63)) && ((index <= 66)))){ if (index == 63){ item = new Ninja(Ninja.UP, (mc as MovieClip), g); } else { if (index == 64){ item = new Ninja(Ninja.RIGHT, (mc as MovieClip), g); } else { if (index == 65){ item = new Ninja(Ninja.DOWN, (mc as MovieClip), g); } else { if (index == 66){ item = new Ninja(Ninja.LEFT, (mc as MovieClip), g); }; }; }; }; } else { if ((((index >= 67)) && ((index <= 70)))){ mc.x = (mc.x + (Game.scale >> 1)); mc.y = (mc.y + (Game.scale >> 1)); if (index == 67){ item = new RotoGun(id_tag, Rect.RIGHT, mc, g); } else { if (index == 68){ item = new RotoGun(id_tag, Rect.RIGHT, mc, g, true); } else { if (index == 69){ item = new RotoGun(id_tag, Rect.LEFT, mc, g); } else { if (index == 70){ item = new RotoGun(id_tag, Rect.LEFT, mc, g, true); }; }; }; }; } else { if ((((index >= 71)) && ((index <= 102)))){ if (index == 71){ item = new TripWire(TripWire.FIXED, UP, mc, g); } else { if (index == 72){ item = new TripWire(TripWire.FIXED_VARIABLE, UP, mc, g); } else { if (index == 73){ item = new TripWire(TripWire.FIXED, UP, mc, g, true); } else { if (index == 74){ item = new TripWire(TripWire.FIXED_VARIABLE, UP, mc, g, true); } else { if (index == 75){ item = new TripWire(TripWire.FIXED, RIGHT, mc, g); } else { if (index == 76){ item = new TripWire(TripWire.FIXED_VARIABLE, RIGHT, mc, g); } else { if (index == 77){ item = new TripWire(TripWire.FIXED, RIGHT, mc, g, true); } else { if (index == 78){ item = new TripWire(TripWire.FIXED_VARIABLE, RIGHT, mc, g, true); } else { if (index == 79){ item = new TripWire(TripWire.FIXED, DOWN, mc, g); } else { if (index == 80){ item = new TripWire(TripWire.FIXED_VARIABLE, DOWN, mc, g); } else { if (index == 81){ item = new TripWire(TripWire.FIXED, DOWN, mc, g, true); } else { if (index == 82){ item = new TripWire(TripWire.FIXED_VARIABLE, DOWN, mc, g, true); } else { if (index == 83){ item = new TripWire(TripWire.FIXED, LEFT, mc, g); } else { if (index == 84){ item = new TripWire(TripWire.FIXED_VARIABLE, LEFT, mc, g); } else { if (index == 85){ item = new TripWire(TripWire.FIXED, LEFT, mc, g, true); } else { if (index == 86){ item = new TripWire(TripWire.FIXED_VARIABLE, LEFT, mc, g, true); } else { if (index == 87){ item = new TripWire(TripWire.TURNING, UP, mc, g); } else { if (index == 88){ item = new TripWire(TripWire.TURNING, UP, mc, g); item.other_way = true; item.getCurrentAngle(); } else { if (index == 89){ item = new TripWire(TripWire.TURNING, UP, mc, g, true); } else { if (index == 90){ item = new TripWire(TripWire.TURNING, UP, mc, g, true); item.other_way = true; item.getCurrentAngle(); } else { if (index == 91){ item = new TripWire(TripWire.TURNING, RIGHT, mc, g); } else { if (index == 92){ item = new TripWire(TripWire.TURNING, RIGHT, mc, g); item.other_way = true; item.getCurrentAngle(); } else { if (index == 93){ item = new TripWire(TripWire.TURNING, RIGHT, mc, g, true); } else { if (index == 94){ item = new TripWire(TripWire.TURNING, RIGHT, mc, g, true); item.other_way = true; item.getCurrentAngle(); } else { if (index == 95){ item = new TripWire(TripWire.TURNING, DOWN, mc, g); } else { if (index == 96){ item = new TripWire(TripWire.TURNING, DOWN, mc, g); item.other_way = true; item.getCurrentAngle(); } else { if (index == 97){ item = new TripWire(TripWire.TURNING, DOWN, mc, g, true); } else { if (index == 98){ item = new TripWire(TripWire.TURNING, DOWN, mc, g, true); item.other_way = true; item.getCurrentAngle(); } else { if (index == 99){ item = new TripWire(TripWire.TURNING, LEFT, mc, g); } else { if (index == 100){ item = new TripWire(TripWire.TURNING, LEFT, mc, g); item.other_way = true; item.getCurrentAngle(); } else { if (index == 101){ item = new TripWire(TripWire.TURNING, LEFT, mc, g, true); } else { if (index == 102){ item = new TripWire(TripWire.TURNING, LEFT, mc, g, true); item.other_way = true; item.getCurrentAngle(); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; g.sign_holder.addChild(mc); } else { if ((((index == 103)) || ((index == 104)))){ mc.x = (mc.x + 32); mc.y = (mc.y + 41); if (index == 103){ item = new Scientist(LEFT, mc, g); } else { if (index == 104){ item = new Scientist(RIGHT, mc, g); }; }; } else { if ((((index == 105)) || ((index == 106)))){ if (index == 105){ item = new Sniper(mc, g); } else { item = new Sniper(mc, g, true); }; } else { if ((((((index >= 107)) && ((index <= 111)))) || ((((index == 123)) || ((index == 124)))))){ mc.x = (mc.x + 32); mc.y = (mc.y + 32); if (index == 107){ item = new Spider(FlyingBot.UP, (mc as MovieClip), g); } else { if (index == 108){ item = new Spider(FlyingBot.RIGHT, (mc as MovieClip), g); } else { if (index == 109){ item = new Spider(FlyingBot.DOWN, (mc as MovieClip), g); } else { if (index == 110){ item = new Spider(FlyingBot.LEFT, (mc as MovieClip), g); } else { if (index == 111){ item = new Spider(FlyingBot.DOWN, (mc as MovieClip), g, true); } else { if (index == 123){ item = new Spider(FlyingBot.UP, (mc as MovieClip), g, false, true); } else { if (index == 124){ item = new Spider(FlyingBot.DOWN, (mc as MovieClip), g, false, true); }; }; }; }; }; }; }; } else { if ((((index >= 112)) && ((index <= 114)))){ } else { if ((((index >= 117)) && ((index <= 122)))){ mc.x = (_arg1 * s.scale); mc.y = (_arg2 * s.scale); g.spawn_holder.addChild(mc); item = generateBlock("spawn", mc, _arg1, _arg2); if ((((index >= 117)) && ((index <= 119)))){ item.backing = new SpawnBackMC1(); } else { item.backing = new SpawnBackMC2(); }; if ((((index == 117)) || ((index == 120)))){ } else { item.aggressive = (item.has_main = true); (mc as MovieClip).gotoAndStop("active"); }; if ((((index == 118)) || ((index == 121)))){ item.hack = true; }; item.backing.x = mc.x; item.backing.y = mc.y; g.background_holder.addChild(item.backing); if (index == 118){ item.spawn_id = 123; } else { if (index == 121){ item.spawn_id = 124; } else { i = 0; while (i < g.spawnage.length) { if ((((g.spawnage[i].x == _arg1)) && ((g.spawnage[i].y == _arg2)))){ item.spawn_id = g.spawnage[i].id; break; }; i++; }; }; }; } else { if (index == 125){ mc.x = (mc.x + 32); mc.y = (mc.y + 43); item = new BladeManGuard(RIGHT, mc, g); } else { if (index == 126){ mc.x = (mc.x + 32); mc.y = (mc.y + 41); item = new Coward(RIGHT, mc, g); } else { if (index == 127){ item = new NinjaGuard(Ninja.UP, (mc as MovieClip), g); } else { if (index == 154){ item = new Clip(mc, g); s.map_array[_arg2][_arg1] = 0; } else { if (index == 157){ _local9 = new SubMC(); _local9.x = 0; _local9.y = (s.height * Game.scale); g.light_holder.addChild(_local9); item = new WaterLine(mc, g); g.light_holder.addChild(mc); } else { if ((((index == 773)) || ((index == 774)))){ item = new Clip(mc, g); if (index == 773){ i = 0; while (i < (s.height * 2)) { _local10 = new BlockMC18(); _local10.x = ((_arg1 + 2) * Game.scale); _local10.y = (i * Game.scale); g.background_holder.addChild(_local10); i++; }; } else { i = 0; while (i < (s.height * 2)) { _local10 = new BlockMC18(); _local10.x = ((_arg1 - 2) * Game.scale); _local10.y = (i * Game.scale); g.background_holder.addChild(_local10); i++; }; }; if (g.scrolling == Scroller.HORIZ){ (mc as MovieClip).wheels.rotation = 180; }; } else { if (index == 792){ item = new GameFinish(mc, g); mc.x = (mc.x + 32); mc.y = (mc.y + 32); } else { item = new Clip(mc, g); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; if ((((((((((((index >= 13)) && ((index <= 157)))) && (!((index == 128))))) && (!((index == 154))))) && (!((index == 26))))) || ((index == 792)))){ fixed = !(item.free); }; if (item != null){ item.map_x = (item.init_x = _arg1); item.map_y = (item.init_y = _arg2); item.tile_id = s.map_array[_arg2][_arg1]; item.layer = s.current_layer; item.forced = _arg3; if (fixed){ s.map_array[_arg2][_arg1] = item; return (item); }; s.map_array[_arg2][_arg1] = 0; }; return (null); } public function generateBlock(_arg1:String, _arg2:Sprite, _arg3:Number, _arg4:Number, _arg5:int=-1){ var _local6:*; var _local7:MovieClip; if (g.stack_map[_arg4][_arg3] == -1){ _local6 = new Clip(_arg2, g); _local6.block = true; return (_local6); }; if (_arg1 == "static"){ _local6 = new BlockClip(_arg2, g); } else { if (_arg1 == "white"){ _local6 = new BlockClip(_arg2, g); } else { if (_arg1 == "gun"){ _local6 = new GunBlock((_arg2 as MovieClip), g); } else { if (_arg1 == "electric"){ _local6 = new ElectricBlock(_arg2, g); } else { if (_arg1 == "spawn"){ _local6 = new SpawnBlock(_arg2, g); } else { if (_arg1 == "generator"){ _local6 = new GeneratorSwitch(_arg5, _arg2, g); }; }; }; }; }; }; _local6.b = new Block((_arg3 * Game.scale), (_arg4 * Game.scale), Game.scale, Game.scale); _local6.b.stacked = g.stack_map[_arg4][_arg3]; if (_arg1 == "electric"){ _local6.b.attachable = false; _local7 = new ElectricMC(); new ElectricMC().x = (_local7.y = 32); _local7.scaleX = ((Math.random() > 0.5)) ? 1 : -1; _local7.scaleY = ((Math.random() > 0.5)) ? 1 : -1; _local7.gotoAndPlay((1 + ((_local7.totalFrames * Math.random()) >> 0))); _arg2.addChild(_local7); }; if (_arg1 == "white"){ _local6.b.cutting = true; }; return (_local6); } public function generateSign(_arg1:int):Sprite{ return (new Sprite()); } public function synchro(_arg1:MovieClip){ _arg1.gotoAndPlay(((g.frame_count % _arg1.totalFrames) + 1)); } public static function isBlock(_arg1):Boolean{ if (((!((((_arg1 >= 0)) || ((_arg1 <= 0))))) && ((_arg1 is String)))){ _arg1 = _arg1.match(/\d+/)[0]; }; return (((((((!((((_arg1 >= 0)) || ((_arg1 <= 0))))) && (_arg1.block))) && (!(_arg1.force_field)))) || ((((((_arg1 >= 0)) || ((_arg1 <= 0)))) && ((((((((((((((((((((((_arg1 >= 2)) && ((_arg1 <= 4)))) || ((((_arg1 >= 779)) && ((_arg1 <= 784)))))) || ((((_arg1 >= 0x0300)) && ((_arg1 <= 772)))))) || ((((_arg1 >= 48)) && ((_arg1 <= 56)))))) || ((((_arg1 >= 117)) && ((_arg1 <= 122)))))) || ((((_arg1 >= 158)) && ((_arg1 <= 375)))))) || ((((_arg1 >= 737)) && ((_arg1 <= 740)))))) || ((((_arg1 >= 753)) && ((_arg1 <= 761)))))) || ((((_arg1 >= 376)) && ((_arg1 <= 384)))))) || ((((_arg1 >= 385)) && ((_arg1 <= 414)))))))))); } public static function isSpawn(_arg1):Boolean{ return (((((!((((_arg1 >= 0)) || ((_arg1 <= 0))))) && (_arg1.spawn))) || ((((((_arg1 >= 0)) || ((_arg1 <= 0)))) && ((((_arg1 >= 117)) && ((_arg1 <= 122)))))))); } public static function isForceField(_arg1):Boolean{ if (((!((((_arg1 >= 0)) || ((_arg1 <= 0))))) && ((_arg1 is String)))){ _arg1 = _arg1.match(/\d+/)[0]; }; return (((((!((((_arg1 >= 0)) || ((_arg1 <= 0))))) && (_arg1.force_field))) || ((((((_arg1 >= 0)) || ((_arg1 <= 0)))) && ((((_arg1 == 46)) || ((_arg1 == 47)))))))); } public static function isEnemy(_arg1):Boolean{ if (((!((((_arg1 >= 0)) || ((_arg1 <= 0))))) && ((_arg1 is String)))){ _arg1 = _arg1.match(/\d+/)[0]; }; return ((((((_arg1 >= 0)) || ((_arg1 <= 0)))) && ((((((((((((((((_arg1 >= 22)) && ((_arg1 <= 25)))) || ((_arg1 == 29)))) || ((((_arg1 >= 31)) && ((_arg1 <= 45)))))) || ((((_arg1 >= 57)) && ((_arg1 <= 60)))))) || ((((_arg1 >= 63)) && ((_arg1 <= 70)))))) || ((((_arg1 >= 105)) && ((_arg1 <= 111)))))) || ((((_arg1 >= 155)) && ((_arg1 <= 156)))))))); } } }//package com.nitrome.engine_specific
Section 71
//Trail (com.nitrome.engine_specific.Trail) package com.nitrome.engine_specific { import com.nitrome.engine.*; public class Trail { public var interpolation:Number; public var length:int; public var dots:Array; public function Trail(_arg1:Number, _arg2:Number, _arg3:int, _arg4:Number){ var _local5:int; super(); dots = []; this.length = _arg3; this.interpolation = _arg4; _local5 = 0; while (_local5 < _arg3) { dots.push(new Dot(_arg1, _arg2)); _local5++; }; } public function move(_arg1:Number, _arg2:Number):void{ dots[(dots.length - 1)].x = _arg1; dots[(dots.length - 1)].y = _arg2; } public function center(_arg1:Number, _arg2:Number):void{ var _local3:int; _local3 = 0; while (_local3 < dots.length) { dots[_local3].x = _arg1; dots[_local3].y = _arg2; _local3++; }; } public function main():void{ var _local1:int; _local1 = (length - 2); while (_local1 > -1) { dots[_local1].x = (dots[_local1].x - ((dots[_local1].x - dots[(_local1 + 1)].x) * interpolation)); dots[_local1].y = (dots[_local1].y - ((dots[_local1].y - dots[(_local1 + 1)].y) * interpolation)); _local1--; }; } } }//package com.nitrome.engine_specific
Section 72
//TripWire (com.nitrome.engine_specific.TripWire) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class TripWire extends Encounter { public var paused:Boolean; public var wobble_alpha:Number; public var max_angle:int; public var type:int; public var beam_width:int; public var cast:RayCastReport; public var other_way:Boolean;// = false public var strength:Number; public var orient:int; public var turn_step:int; public var turn_state:int; public var sparks:MovieClip; public var add_y:Number; public var add_x:Number; public var alpha:Array; private var i:int; public var scan:Line; public var pause_count:int;// = 0 public var killer:Boolean; public var controlled:Boolean; public var wobble:int; public var dir:int; public var min_angle:int; public var wobble_step:int; public var collision_rect:Rect; public var angle:int;// = 0 public var cols:Array; private static const SCAN_ALPHA:Array = [0.15, 0.15, 0.15]; public static const FIXED_VARIABLE:int = 4; public static const SCAN_WOBBLE_STEP:int = 6; public static const KILL_WOBBLE_ALPHA:Number = 0.25; public static const SCAN_WOBBLE_ALPHA:Number = 0.05; public static const FIXED:int = 1; public static const LEFT:int = 8; public static const KILL_WOBBLE_STEP:int = 12; public static const UP:int = 1; private static const KILL_ALPHA:Array = [0.45, 0.25, 0.15]; public static const TURNING:int = 2; public static const SPEED:Number = 2; public static const DOWN:int = 4; public static const SCAN_WIDTH:int = 2; public static const KILLER_WIDTH:int = 5; private static const KILL_COLS:Array = [16304135, 0xF89200, 14116875]; private static const SCAN_COLS:Array = [6173899, 0xFF0600, 0xFF0600]; public static const RIGHT:int = 2; public static const WARM_UP_STEP:Number = 0.02; public static var TURN_SPEED:int = 1; public function TripWire(_arg1:int, _arg2:int, _arg3:Sprite, _arg4:Game, _arg5:Boolean=false){ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Dot; var _local11:Number; var _local12:int; var _local13:int; angle = 0; other_way = false; pause_count = 0; super(_arg3, _arg4, false); this.type = _arg1; this.dir = _arg2; this.killer = _arg5; cols = (_arg5) ? KILL_COLS : SCAN_COLS; alpha = (_arg5) ? KILL_ALPHA : SCAN_ALPHA; beam_width = (_arg5) ? KILLER_WIDTH : SCAN_WIDTH; wobble_step = (_arg5) ? KILL_WOBBLE_STEP : SCAN_WOBBLE_STEP; wobble_alpha = (_arg5) ? KILL_WOBBLE_ALPHA : SCAN_WOBBLE_ALPHA; if (_arg5){ sparks = new LaserGunSparksMC(); _arg4.effect_holder.addChild(sparks); sparks.visible = false; if (_arg1 == FIXED){ if (_arg2 == UP){ sparks.rotation = 180; } else { if (_arg2 == RIGHT){ sparks.rotation = 90; } else { if (_arg2 == LEFT){ sparks.rotation = -90; }; }; }; }; }; strength = 0; if (((forced) || (!((_arg4.alert_state == Game.ACTIVE))))){ strength = 1; }; map_x = ((x * Game.SCALE) >> 0); map_y = ((y * Game.SCALE) >> 0); has_main = true; free = true; if (_arg1 == TURNING){ collision_rect = new Rect(); _local6 = (_arg4.scroller.width * Game.scale); _local7 = (_arg4.scroller.height * Game.scale); _local8 = 0; _local9 = 0; if (_arg2 == UP){ _local10 = new Dot((32 + (Game.scale * map_x)), (-1 + (map_y * Game.scale))); scan = new Line(_local10, new Dot(_local10.x, (_local10.y - ((_arg4.scroller.width * _arg4.scroller.height) * Game.scale)))); min_angle = 180; max_angle = 360; } else { if (_arg2 == RIGHT){ _local10 = new Dot((Game.scale * (map_x + 1)), (32 + (map_y * Game.scale))); scan = new Line(_local10, new Dot((_local10.x + ((_arg4.scroller.width * _arg4.scroller.height) * Game.scale)), _local10.y)); min_angle = 270; max_angle = 450; } else { if (_arg2 == DOWN){ _local10 = new Dot((32 + (Game.scale * map_x)), ((map_y + 1) * Game.scale)); scan = new Line(_local10, new Dot(_local10.x, (_local10.y + ((_arg4.scroller.width * _arg4.scroller.height) * Game.scale)))); min_angle = 0; max_angle = 180; } else { if (_arg2 == LEFT){ _local10 = new Dot((-1 + (Game.scale * map_x)), (32 + (map_y * Game.scale))); scan = new Line(_local10, new Dot((_local10.x - ((_arg4.scroller.width * _arg4.scroller.height) * Game.scale)), _local10.y)); min_angle = 90; max_angle = 270; }; }; }; }; _local11 = -(scan.len); i = 0; while (i < 178) { angle = ((min_angle + i) % 360); rotate(); cast = RayCast.initCast(scan, _arg4.block_map); if (cast != null){ if (cast.ax < _local6){ _local6 = cast.ax; }; if (cast.ay < _local7){ _local7 = cast.ay; }; if (cast.ax > _local8){ _local8 = cast.ax; }; if (cast.ay > _local9){ _local9 = cast.ay; }; if (RayCast.dist > _local11){ _local11 = RayCast.dist; }; }; i++; }; collision_rect.x = _local6; collision_rect.y = _local7; collision_rect.width = (_local8 - _local6); collision_rect.height = (_local9 - _local7); scan.len = _local11; getCurrentAngle(); actor_target = false; on_scroller = false; } else { if (_arg1 == FIXED){ if (_arg2 == UP){ _local12 = map_x; _local13 = (map_y - 1); while (_local13 > 0) { if (_arg4.stack_map[_local13][_local12] > Game.EMPTY){ break; }; _local13--; }; collision_rect = new Rect((30 + (Game.scale * _local12)), ((_local13 + 1) * Game.scale), 4, (((map_y - 1) - _local13) * Game.scale)); scan = new Line(new Dot((32 + (Game.scale * map_x)), (map_y * Game.scale)), new Dot((32 + (Game.scale * map_x)), ((_local13 + 1) * Game.scale))); } else { if (_arg2 == RIGHT){ _local13 = map_y; _local12 = (map_x + 1); while (_local12 < _arg4.scroller.width) { if (_arg4.stack_map[_local13][_local12] > Game.EMPTY){ break; }; _local12++; }; collision_rect = new Rect((Game.scale * (map_x + 1)), (30 + (_local13 * Game.scale)), (((_local12 - 1) - map_x) * Game.scale), 4); scan = new Line(new Dot((Game.scale * (map_x + 1)), (32 + (map_y * Game.scale))), new Dot((Game.scale * _local12), (32 + (map_y * Game.scale)))); } else { if (_arg2 == DOWN){ _local12 = map_x; _local13 = (map_y + 1); while (_local13 < _arg4.scroller.height) { if (_arg4.stack_map[_local13][_local12] > Game.EMPTY){ break; }; _local13++; }; collision_rect = new Rect((30 + (Game.scale * _local12)), ((map_y + 1) * Game.scale), 4, (((_local13 - 1) - map_y) * Game.scale)); scan = new Line(new Dot((32 + (Game.scale * map_x)), ((map_y + 1) * Game.scale)), new Dot((32 + (Game.scale * _local12)), (_local13 * Game.scale))); } else { if (_arg2 == LEFT){ _local13 = map_y; _local12 = (map_x - 1); while (_local12 > 0) { if (_arg4.stack_map[_local13][_local12] > Game.EMPTY){ break; }; _local12--; }; collision_rect = new Rect((Game.scale * (_local12 + 1)), (30 + (_local13 * Game.scale)), (((map_x - 1) - _local12) * Game.scale), 4); scan = new Line(new Dot((Game.scale * map_x), (32 + (map_y * Game.scale))), new Dot((Game.scale * (_local12 + 1)), (32 + (map_y * Game.scale)))); }; }; }; }; } else { if (_arg1 == FIXED_VARIABLE){ if (_arg2 == UP){ collision_rect = new Rect((30 + (Game.scale * map_x)), 0, 4, (map_y * Game.scale)); scan = new Line(new Dot((32 + (Game.scale * map_x)), (-1 + (map_y * Game.scale))), new Dot((32 + (Game.scale * map_x)), 0)); } else { if (_arg2 == RIGHT){ collision_rect = new Rect((Game.scale * (map_x + 1)), (30 + (map_y * Game.scale)), (((_arg4.scroller.width - map_x) - 1) * Game.scale), 4); scan = new Line(new Dot((Game.scale * (map_x + 1)), (32 + (map_y * Game.scale))), new Dot((Game.scale * _arg4.scroller.width), (32 + (map_y * Game.scale)))); } else { if (_arg2 == DOWN){ collision_rect = new Rect((30 + (Game.scale * _local12)), ((map_y + 1) * Game.scale), 4, (((_arg4.scroller.height - map_y) - 1) * Game.scale)); scan = new Line(new Dot((32 + (Game.scale * map_x)), ((map_y + 1) * Game.scale)), new Dot((32 + (Game.scale * map_x)), (_arg4.scroller.height * Game.scale))); } else { if (_arg2 == LEFT){ collision_rect = new Rect(0, (30 + (_local13 * Game.scale)), (-1 + (map_x * Game.scale)), 4); scan = new Line(new Dot((-1 + (Game.scale * map_x)), (32 + (map_y * Game.scale))), new Dot(0, (32 + (map_y * Game.scale)))); }; }; }; }; }; }; }; controlled = ((!((_arg4.path_map[map_y][map_x] == 0))) || (!((((_arg4.path_map[map_y][map_x] >= 0)) || ((_arg4.path_map[map_y][map_x] <= 0)))))); if (controlled){ _local12 = _arg3.x; _local13 = _arg3.y; orient = _arg2; add_x = (scan.a.x - _local12); add_y = (scan.a.y - _local13); paused = false; pause_count = 0; selectPatrolPath(); free = true; }; if ((((_arg1 == TURNING)) || ((_arg1 == FIXED_VARIABLE)))){ cast = RayCast.cast(scan, _arg4.block_map, true); }; } override public function intersects(_arg1:Rect):Boolean{ if ((((type == TURNING)) || ((type == FIXED_VARIABLE)))){ if (((!(killer)) && (((g.player.chameleon) || ((g.player.state == Player.STEALTH)))))){ return (false); }; return (RayCast.reportIntersectsRect(scan, cast, g.player.collision_rect)); } else { if (type == FIXED){ if (((!(killer)) && (((g.player.chameleon) || ((g.player.state == Player.STEALTH)))))){ return (false); }; return (collision_rect.intersects(_arg1)); }; }; return (false); } public function updateMC():void{ wobble = ((wobble + wobble_step) % 360); if (type == FIXED){ i = 1; while (i < 4) { g.scan_holder.graphics.lineStyle((i * beam_width), cols[(i - 1)], (strength * (alpha[(i - 1)] + Math.abs((Trig.sin[wobble] * wobble_alpha))))); g.scan_holder.graphics.moveTo(scan.a.x, scan.a.y); g.scan_holder.graphics.lineTo(scan.b.x, scan.b.y); i++; }; } else { if ((((type == TURNING)) || ((type == FIXED_VARIABLE)))){ if (type == TURNING){ (mc as MovieClip).scanner.rotation = (angle + 180); if (killer){ (mc as MovieClip).scanner.rotation = ((mc as MovieClip).scanner.rotation + 180); }; }; i = 1; while (i < 4) { g.scan_holder.graphics.lineStyle((i * beam_width), cols[(i - 1)], (strength * (alpha[(i - 1)] + Math.abs((Trig.sin[wobble] * wobble_alpha))))); g.scan_holder.graphics.moveTo(scan.a.x, scan.a.y); if (cast != null){ g.scan_holder.graphics.lineTo(cast.ax, cast.ay); } else { g.scan_holder.graphics.lineTo(scan.b.x, scan.b.y); }; i++; }; }; }; if (killer){ if (type == FIXED){ sparks.visible = true; sparks.x = scan.b.x; sparks.y = scan.b.y; } else { if (cast != null){ sparks.x = cast.ax; sparks.y = cast.ay; if (cast.access_side == UP){ sparks.rotation = 0; } else { if (cast.access_side == RIGHT){ sparks.rotation = 90; } else { if (cast.access_side == DOWN){ sparks.rotation = 180; } else { if (cast.access_side == LEFT){ sparks.rotation = -90; }; }; }; }; if (((!(Util.proximity(scan.a.x, scan.a.y, cast.ax, cast.ay, 70))) || ((type == FIXED_VARIABLE)))){ sparks.visible = true; sparks.alpha = strength; } else { sparks.visible = false; }; } else { sparks.visible = false; }; }; }; } public function getCurrentAngle():void{ angle = (g.frame_count % 360); if (other_way){ angle = ((angle + 180) % 360); }; if (angle > 180){ turn_step = -(TURN_SPEED); angle = (angle % 180); angle = (max_angle - angle); } else { turn_step = TURN_SPEED; angle = (angle + min_angle); }; } public function rotate():void{ scan.dx = Trig.cos[(angle % 360)]; scan.dy = Trig.sin[(angle % 360)]; scan.vx = (scan.dx * scan.len); scan.vy = (scan.dy * scan.len); scan.b.x = (scan.a.x + scan.vx); scan.b.y = (scan.a.y + scan.vy); scan.rx = -(scan.dy); scan.ry = scan.dx; scan.lx = scan.dy; scan.ly = -(scan.dx); } override public function remove():void{ if (((killer) && (!((sparks.parent == null))))){ sparks.parent.removeChild(sparks); }; super.remove(); } public function main():void{ on_scroller = g.scroller.contains(x, y); if (((!(forced)) && (!(on_scroller)))){ strength = (strength - WARM_UP_STEP); if (strength <= 0){ map_x = (x * Game.SCALE); map_y = (y * Game.SCALE); remove(); return; }; } else { if ((((strength < 1)) && (((!((g.alert_state == Game.ACTIVE))) || (killer))))){ strength = (strength + WARM_UP_STEP); } else { if ((((strength > 0)) && ((((g.alert_state == Game.ACTIVE)) && (!(killer)))))){ strength = (strength - WARM_UP_STEP); }; }; }; if (controlled){ if (dir == UP){ y = (y - SPEED); } else { if (dir == RIGHT){ x = (x + SPEED); } else { if (dir == DOWN){ y = (y + SPEED); } else { if (dir == LEFT){ x = (x - SPEED); }; }; }; }; if ((((dir == RIGHT)) || ((dir == LEFT)))){ map_x = (x * Game.SCALE); if ((x * Game.SCALE) == map_x){ selectPatrolPath(); }; } else { if ((((dir == UP)) || ((dir == DOWN)))){ map_y = (y * Game.SCALE); if ((y * Game.SCALE) == map_y){ selectPatrolPath(); }; } else { if (dir == Path.STOPPED){ selectPatrolPath(); }; }; }; if (type == TURNING){ scan.a.x = (x + add_x); scan.a.y = (y + add_y); } else { if ((((type == FIXED)) || ((type == FIXED_VARIABLE)))){ if ((((orient == UP)) || ((orient == DOWN)))){ scan.a.x = (x + add_x); scan.b.x = (x + add_x); collision_rect.x = ((-2 + x) + add_x); } else { if ((((orient == RIGHT)) || ((orient == LEFT)))){ scan.a.y = (y + add_y); scan.b.y = (y + add_y); collision_rect.y = ((-2 + y) + add_y); }; }; }; }; mc.x = x; mc.y = y; }; if (type == TURNING){ if (turn_step > 0){ if (angle >= max_angle){ angle = max_angle; turn_step = -(TURN_SPEED); }; } else { if (angle <= min_angle){ angle = min_angle; turn_step = TURN_SPEED; }; }; angle = (angle + turn_step); rotate(); }; if ((((type == TURNING)) || ((type == FIXED_VARIABLE)))){ cast = RayCast.cast(scan, g.block_map, true); }; updateMC(); } override public function resolvePlayerCollision(_arg1:Player):void{ if (strength >= 1){ if (!killer){ g.alert(); } else { _arg1.hit(); }; }; } public function selectPatrolPath():void{ if (pause_count == -1){ return; }; if ((((dir == Path.STOPPED)) && ((pause_count > 0)))){ pause_count--; return; }; Path.getDir(dir, g.path_map, null, map_x, map_y); dir = Path.dir; pause_count = (paused) ? 0 : Path.pause_delay; if (pause_count > 0){ dir = Path.STOPPED; paused = true; return; }; paused = false; } } }//package com.nitrome.engine_specific
Section 73
//WaterLine (com.nitrome.engine_specific.WaterLine) package com.nitrome.engine_specific { import com.nitrome.engine.*; import flash.display.*; public class WaterLine extends Encounter { public function WaterLine(_arg1:Sprite, _arg2:Game){ super(_arg1, _arg2, true); has_main = true; has_collision = false; } public function main():void{ mc.x = -(g.canvas.x); } } }//package com.nitrome.engine_specific
Section 74
//ArmorButton (com.nitrome.game.ArmorButton) package com.nitrome.game { import flash.events.*; import flash.net.*; public class ArmorButton extends SimpleButton { public function ArmorButton(){ addEventListener(MouseEvent.CLICK, onClick, false, 0, true); } override public function onClick(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.armorgames.com/"), "_blank"); } } }//package com.nitrome.game
Section 75
//BackButton (com.nitrome.game.BackButton) package com.nitrome.game { import flash.events.*; public class BackButton extends SimpleButton { public function BackButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("title_screen"); } } }//package com.nitrome.game
Section 76
//ContinueEndButton (com.nitrome.game.ContinueEndButton) package com.nitrome.game { import flash.events.*; import com.nitrome.engine_specific.*; public class ContinueEndButton extends SimpleButton { public function ContinueEndButton(){ addFrameScript(0, frame1); } function doStuff():void{ NitromeGame.timeline.game.clearListeners(); NitromeGame.timeline.popup_holder.key_pressed = true; NitromeGame.timeline.popup_holder.hidePopUp(); StoryClip.next_frame = "congrats"; StoryClip.list = StoryClip.STORY[StoryClip.REAL_END]; NitromeGame.timeline.tt.doTween("story"); NitromeGame.sound_manager.stopMusicFadeOut(); NitromeGame.setGameComplete(); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ if (!NitromeGame.timeline.popup_holder.key_pressed){ doStuff(); }; } } }//package com.nitrome.game
Section 77
//ContinueGameButton (com.nitrome.game.ContinueGameButton) package com.nitrome.game { import flash.events.*; public class ContinueGameButton extends SimpleButton { public function ContinueGameButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.timeline.game.pauseGame(); } } }//package com.nitrome.game
Section 78
//ContinueGameHelpButton (com.nitrome.game.ContinueGameHelpButton) package com.nitrome.game { import flash.events.*; public class ContinueGameHelpButton extends SimpleButton { public function ContinueGameHelpButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.timeline.game.pauseGame(); } } }//package com.nitrome.game
Section 79
//CreditsButton (com.nitrome.game.CreditsButton) package com.nitrome.game { import flash.events.*; public class CreditsButton extends SimpleButton { public function CreditsButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("credits"); } } }//package com.nitrome.game
Section 80
//FxToggle (com.nitrome.game.FxToggle) package com.nitrome.game { import flash.events.*; public class FxToggle extends SimpleButton { public function FxToggle(){ addFrameScript(0, frame1, 9, frame10, 19, frame20, 29, frame30); if (!NitromeGame.sfx){ gotoAndStop("_off_up"); } else { gotoAndStop("_on_up"); }; addEventListener(MouseEvent.CLICK, onClick); } function frame10(){ stop(); } function frame1(){ stop(); } function frame20(){ stop(); } function frame30(){ stop(); } override protected function updateGraphic():void{ if (over){ if (NitromeGame.sound_manager.sfx){ gotoAndStop("_on_over"); } else { if (!NitromeGame.sound_manager.sfx){ gotoAndStop("_off_over"); }; }; } else { if (NitromeGame.sound_manager.sfx){ gotoAndStop("_on_up"); } else { if (!NitromeGame.sound_manager.sfx){ gotoAndStop("_off_up"); }; }; }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.sound_manager.toggleSfx(); updateGraphic(); } } }//package com.nitrome.game
Section 81
//GameHelpButton (com.nitrome.game.GameHelpButton) package com.nitrome.game { import flash.events.*; public class GameHelpButton extends SimpleButton { public function GameHelpButton(){ addFrameScript(0, frame1, 9, frame10); } function frame10(){ stop(); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.timeline.game.pauseGame(true); } } }//package com.nitrome.game
Section 82
//HelpArrowButtonLeft (com.nitrome.game.HelpArrowButtonLeft) package com.nitrome.game { import flash.display.*; import flash.events.*; public class HelpArrowButtonLeft extends SimpleButton { public function HelpArrowButtonLeft(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ (parent as MovieClip).gotoAndStop((((parent as MovieClip).currentFrame == 1)) ? (parent as MovieClip).totalFrames : ((parent as MovieClip).currentFrame - 1)); } } }//package com.nitrome.game
Section 83
//HelpArrowButtonRight (com.nitrome.game.HelpArrowButtonRight) package com.nitrome.game { import flash.display.*; import flash.events.*; public class HelpArrowButtonRight extends SimpleButton { public function HelpArrowButtonRight(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ (parent as MovieClip).gotoAndStop((((parent as MovieClip).currentFrame == (parent as MovieClip).totalFrames)) ? 1 : ((parent as MovieClip).currentFrame + 1)); } } }//package com.nitrome.game
Section 84
//HelpButton (com.nitrome.game.HelpButton) package com.nitrome.game { import flash.events.*; public class HelpButton extends SimpleButton { public function HelpButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("help"); } } }//package com.nitrome.game
Section 85
//Key (com.nitrome.game.Key) package com.nitrome.game { import flash.display.*; import flash.events.*; public class Key { public static const NUMBER_0:uint = 48; public static const NUMBER_1:uint = 49; public static const NUMBER_2:uint = 50; public static const NUMBER_3:uint = 51; public static const NUMBER_4:uint = 52; public static const NUMBER_5:uint = 53; public static const NUMBER_6:uint = 54; public static const NUMBER_7:uint = 55; public static const NUMBER_8:uint = 56; public static const NUMBER_9:uint = 57; public static const D:uint = 68; public static const E:uint = 69; public static const F:uint = 70; public static const G:uint = 71; public static const A:uint = 65; public static const I:uint = 73; public static const C:uint = 67; public static const K:uint = 75; public static const L:uint = 76; public static const M:uint = 77; public static const N:uint = 78; public static const H:uint = 72; public static const P:uint = 80; public static const B:uint = 66; public static const R:uint = 82; public static const S:uint = 83; public static const U:uint = 85; public static const O:uint = 79; public static const Q:uint = 81; public static const J:uint = 74; public static const Z:uint = 90; public static const T:uint = 84; public static const V:uint = 86; public static const W:uint = 87; public static const X:uint = 88; public static const Y:uint = 89; public static var stage:Stage; private static var keysDown:Array = []; private static var initialized:Boolean = false; public static var keys_pressed:int = 0; public static function init(_arg1:Stage){ if (!initialized){ stage = _arg1; stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased); stage.addEventListener(Event.DEACTIVATE, clearKeys); initialized = true; }; } private static function clearKeys(_arg1:Event):void{ keysDown = []; keys_pressed = 0; } public static function forceClearKeys():void{ keysDown = []; keys_pressed = 0; } private static function keyPressed(_arg1:KeyboardEvent):void{ if (!Boolean(keysDown[_arg1.keyCode])){ keys_pressed++; }; keysDown[_arg1.keyCode] = true; } private static function keyReleased(_arg1:KeyboardEvent):void{ keysDown[_arg1.keyCode] = false; keys_pressed--; } public static function isDown(_arg1:uint):Boolean{ if (!initialized){ throw (new Error("Key class has yet been initialized.")); }; return (Boolean(keysDown[_arg1])); } } }//package com.nitrome.game
Section 86
//LevelChooserButton (com.nitrome.game.LevelChooserButton) package com.nitrome.game { import flash.display.*; import flash.events.*; import com.nitrome.engine_specific.*; public class LevelChooserButton extends SimpleButton { private var active:Boolean; private var id:int; public var bottom:MovieClip; public var winkwink_count:int; public var top:MovieClip; public var WINKWINK_DELAY:int;// = 10 public var num:String; public var winkwink:Boolean;// = false public var _mask:MovieClip; public static const up_col:int = 0x838383; public static const over_col:int = 0xFFAA00; public function LevelChooserButton(){ winkwink = false; WINKWINK_DELAY = 10; super(); id = int(name.slice(6)); if (NitromeGame.getLevelUnlocked(id)){ active = true; useHandCursor = true; } else { active = false; useHandCursor = false; }; updateGraphic(); winkwink = ((!(NitromeGame.completed)) && ((NitromeGame.last_level == id))); if (winkwink){ addEventListener(Event.ENTER_FRAME, wink, false, 0, true); winkwink_count = WINKWINK_DELAY; }; } public function wink(_arg1:Event):void{ updateGraphic(); } override protected function updateGraphic():void{ if (active){ _mask.gotoAndStop((id + 1)); top.gotoAndStop((id + 1)); bottom.gotoAndStop((id + 1)); if (over){ top.visible = true; } else { if (winkwink){ if (--winkwink_count <= 0){ winkwink_count = WINKWINK_DELAY; top.visible = !(top.visible); }; } else { top.visible = false; }; }; } else { visible = false; }; } override public function onClick(_arg1:MouseEvent):void{ if (active){ NitromeGame.selected_level = id; Score.value = 0; if (id == 0){ StoryClip.next_frame = "game"; StoryClip.list = StoryClip.STORY[StoryClip.INTRO]; NitromeGame.timeline.tt.doTween("story"); NitromeGame.sound_manager.stopMusicFadeOut(); } else { NitromeGame.timeline.tt.doTween("game"); NitromeGame.sound_manager.crossFade(SoundManager.GAME); }; }; updateGraphic(); } } }//package com.nitrome.game
Section 87
//LevelSelectButton (com.nitrome.game.LevelSelectButton) package com.nitrome.game { import flash.events.*; public class LevelSelectButton extends SimpleButton { public function LevelSelectButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.timeline.game.clearListeners(); NitromeGame.transition.doTween("choose_level"); NitromeGame.sound_manager.crossFade(SoundManager.MENU); } } }//package com.nitrome.game
Section 88
//MiniclipLogo (com.nitrome.game.MiniclipLogo) package com.nitrome.game { import flash.events.*; import flash.net.*; public class MiniclipLogo extends SimpleButton { public function MiniclipLogo(){ addEventListener(MouseEvent.CLICK, onClick, false, 0, true); } override public function onClick(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.miniclip.com"), "_blank"); } } }//package com.nitrome.game
Section 89
//MsgPanel (com.nitrome.game.MsgPanel) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.text.*; public class MsgPanel extends MovieClip { public var count:int; public var msg:TextField; public var state:int; public var step:Number; public static const FADE_DELAY:int = 25; public static const FADE_IN:int = 2; public static const HIDDEN:int = 8; public static const FADE_OUT:int = 4; public static const VISIBLE:int = 1; public static const VISIBLE_DELAY:int = 50; public function MsgPanel(){ visible = false; alpha = 0; state = HIDDEN; count = 0; step = (1 / FADE_DELAY); } public function onEnterFrame(_arg1:Event):void{ if (state == FADE_IN){ alpha = (alpha + step); if (alpha >= 1){ state = VISIBLE; }; } else { if (state == VISIBLE){ count++; if (count >= VISIBLE_DELAY){ state = FADE_OUT; }; } else { if (state == FADE_OUT){ alpha = (alpha - step); if (alpha <= 0){ state = HIDDEN; removeEventListener(Event.ENTER_FRAME, onEnterFrame); visible = false; }; }; }; }; } public function setMsg(_arg1:String):void{ msg.text = _arg1.toUpperCase(); state = FADE_IN; addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); count = 0; visible = true; } } }//package com.nitrome.game
Section 90
//MusicToggle (com.nitrome.game.MusicToggle) package com.nitrome.game { import flash.events.*; public class MusicToggle extends SimpleButton { public function MusicToggle(){ addFrameScript(0, frame1, 9, frame10, 19, frame20, 29, frame30); if (!NitromeGame.music){ gotoAndStop("_off_up"); } else { gotoAndStop("_on_up"); }; addEventListener(MouseEvent.CLICK, onClick); } function frame10(){ stop(); } function frame1(){ stop(); } function frame20(){ stop(); } function frame30(){ stop(); } override protected function updateGraphic():void{ if (over){ if (NitromeGame.sound_manager.music){ gotoAndStop("_on_over"); } else { if (!NitromeGame.sound_manager.music){ gotoAndStop("_off_over"); }; }; } else { if (NitromeGame.sound_manager.music){ gotoAndStop("_on_up"); } else { if (!NitromeGame.sound_manager.music){ gotoAndStop("_off_up"); }; }; }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.sound_manager.toggleMusic(); updateGraphic(); } } }//package com.nitrome.game
Section 91
//NextLevelButton (com.nitrome.game.NextLevelButton) package com.nitrome.game { import flash.events.*; import com.nitrome.engine_specific.*; public class NextLevelButton extends SimpleButton { public function NextLevelButton(){ addFrameScript(0, frame1); } function doStuff():void{ NitromeGame.timeline.game.clearListeners(); NitromeGame.selected_level++; NitromeGame.timeline.popup_holder.hidePopUp(); if (NitromeGame.selected_level == 1){ StoryClip.next_frame = "game"; StoryClip.list = StoryClip.STORY[StoryClip.CAPTURED]; NitromeGame.timeline.tt.doTween("story"); NitromeGame.sound_manager.stopMusicFadeOut(); } else { if (NitromeGame.selected_level == 10){ StoryClip.next_frame = "game"; StoryClip.list = StoryClip.STORY[StoryClip.FIRST_BOSS]; NitromeGame.timeline.tt.doTween("story"); NitromeGame.sound_manager.stopMusicFadeOut(); } else { if (NitromeGame.selected_level == 21){ StoryClip.next_frame = "game"; StoryClip.list = StoryClip.STORY[StoryClip.SECOND_BOSS]; NitromeGame.timeline.tt.doTween("story"); NitromeGame.sound_manager.stopMusicFadeOut(); } else { if (NitromeGame.selected_level == 22){ StoryClip.next_frame = "game"; StoryClip.list = StoryClip.STORY[StoryClip.FAKE_END]; NitromeGame.timeline.tt.doTween("story"); NitromeGame.sound_manager.stopMusicFadeOut(); } else { NitromeGame.transition.doTween("game_reset"); }; }; }; }; } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ if (!NitromeGame.timeline.popup_holder.key_pressed){ doStuff(); }; } } }//package com.nitrome.game
Section 92
//NitromeButton (com.nitrome.game.NitromeButton) package com.nitrome.game { import flash.events.*; import flash.net.*; public class NitromeButton extends SimpleButton { public function NitromeButton(){ addEventListener(MouseEvent.CLICK, onClick, false, 0, true); } override public function onClick(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.nitrome.com"), "_blank"); } } }//package com.nitrome.game
Section 93
//PauseButton (com.nitrome.game.PauseButton) package com.nitrome.game { import flash.events.*; public class PauseButton extends SimpleButton { public function PauseButton(){ addFrameScript(0, frame1, 9, frame10); } function frame10(){ stop(); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.timeline.game.pauseGame(); } } }//package com.nitrome.game
Section 94
//PlayButton (com.nitrome.game.PlayButton) package com.nitrome.game { import flash.events.*; public class PlayButton extends SimpleButton { public function PlayButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("choose_level"); } } }//package com.nitrome.game
Section 95
//PlayGameButton (com.nitrome.game.PlayGameButton) package com.nitrome.game { import flash.events.*; import com.nitrome.engine_specific.*; public class PlayGameButton extends SimpleButton { public function PlayGameButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ Score.value = 0; if (NitromeGame.last_level < NitromeGame.total_levels){ NitromeGame.selected_level = NitromeGame.last_level; } else { NitromeGame.selected_level = 0; }; if (NitromeGame.selected_level == 0){ StoryClip.next_frame = "game"; StoryClip.list = StoryClip.STORY[StoryClip.INTRO]; NitromeGame.timeline.tt.doTween("story"); NitromeGame.sound_manager.stopMusicFadeOut(); } else { NitromeGame.timeline.tt.doTween("game"); NitromeGame.sound_manager.crossFade(SoundManager.GAME); }; } } }//package com.nitrome.game
Section 96
//PopUpHolder (com.nitrome.game.PopUpHolder) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.ui.*; public class PopUpHolder extends MovieClip { public var popup_clip:MovieClip; private var action_performed:Boolean; public var key_pressed:Boolean; private var popup_id:String; public function PopUpHolder(){ addFrameScript(0, frame1, 1, frame2, 9, frame10); } function frame10(){ stop(); } function frame1(){ popup_clip.gotoAndStop("wait"); stop(); } function frame2(){ popup_clip.gotoAndStop(popup_id); } public function hidePopUp():void{ action_performed = true; key_pressed = true; popup_id = "wait"; removeEventListener(Event.ENTER_FRAME, onEnterFrame); gotoAndPlay("out"); } public function onEnterFrame(_arg1:Event):void{ if ((((((((currentFrame == NitromeGame.POPUP_HOLDER_FRAME)) && (Key.isDown(Keyboard.SPACE)))) && (!(key_pressed)))) && (!(action_performed)))){ key_pressed = true; if (popup_id == "level_complete"){ popup_clip.next_level_button.doStuff(); } else { if (popup_id == "game_over"){ popup_clip.try_again_button.doStuff(); } else { if (popup_id == "final_level_complete"){ popup_clip.continue_end_button.doStuff(); }; }; }; action_performed = true; }; if ((((currentFrame == NitromeGame.POPUP_HOLDER_FRAME)) && (!(Key.isDown(Keyboard.SPACE))))){ key_pressed = false; }; } public function launchPopUp(_arg1:String):void{ popup_id = _arg1; key_pressed = false; action_performed = false; addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); gotoAndPlay(2); } } }//package com.nitrome.game
Section 97
//QuitGameButton (com.nitrome.game.QuitGameButton) package com.nitrome.game { import flash.events.*; public class QuitGameButton extends SimpleButton { public function QuitGameButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.timeline.game.clearListeners(); NitromeGame.transition.doTween("choose_level"); NitromeGame.sound_manager.crossFade(SoundManager.MENU); } } }//package com.nitrome.game
Section 98
//Score (com.nitrome.game.Score) package com.nitrome.game { public class Score { private static var r:int; private static var _value:int; private static var hash:String; public static function init():void{ r = (int((Math.random() * 2000000)) - 1000000); _value = r; hash = _value.toString(16); } public static function verify():Boolean{ return ((_value.toString(16) == hash)); } public static function get value():int{ return ((_value - r)); } public static function set value(_arg1:int):void{ var _local2:Boolean; _local2 = verify(); r = (int((Math.random() * 2000000)) - 1000000); _value = (r + _arg1); if (_local2){ hash = _value.toString(16); }; } } }//package com.nitrome.game
Section 99
//ScoreTicker (com.nitrome.game.ScoreTicker) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.text.*; public class ScoreTicker extends MovieClip { private var count_interval:int; private var next_clip:String; private var val:int; private var total:int; private var next_inc:int; public var score_text:TextField; private var inc:int; private var next_total:int; private function displayScore():void{ score_text.text = String(val); } private function doCount(_arg1:Event):void{ val = (val + inc); if (val >= total){ val = total; displayScore(); removeEventListener(Event.ENTER_FRAME, doCount); onFinish(); } else { displayScore(); }; } private function onFinish():void{ if (next_clip != null){ parent[next_clip].startCount(next_total, next_inc); }; } public function startCount(_arg1:int, _arg2:int):void{ total = _arg1; this.inc = _arg2; if (this.inc == 0){ this.inc = 5; }; val = 0; addEventListener(Event.ENTER_FRAME, doCount, false, 0, true); } public function setOnFinish(_arg1:String, _arg2:int, _arg3:int):void{ next_clip = _arg1; next_total = _arg2; next_inc = _arg3; if (next_inc == 0){ next_inc = 5; }; } } }//package com.nitrome.game
Section 100
//SimpleButton (com.nitrome.game.SimpleButton) package com.nitrome.game { import flash.display.*; import flash.events.*; public class SimpleButton extends MovieClip { public var i:int; protected var over:Boolean;// = false public function SimpleButton(){ over = false; super(); mouseChildren = false; buttonMode = true; addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true); addEventListener(MouseEvent.CLICK, onClick, false, 0, true); } protected function onMouseOver(_arg1:MouseEvent):void{ over = true; updateGraphic(); } protected function onMouseOut(_arg1:MouseEvent):void{ over = false; updateGraphic(); } protected function updateGraphic():void{ if (over){ gotoAndStop("_over"); } else { gotoAndStop("_up"); }; } public function onClick(_arg1:MouseEvent):void{ } } }//package com.nitrome.game
Section 101
//SoundManager (com.nitrome.game.SoundManager) package com.nitrome.game { import flash.display.*; import flash.media.*; public class SoundManager extends SoundManagerSuper { protected const GAME_VOLUME:Number = 1; protected const BEAM_VOLUME:Number = 0.6; protected const MENU_VOLUME:Number = 1; public var coins:MovieClip; public var star_hit:MovieClip; public var jump:MovieClip; public var cough:MovieClip; public var wom:MovieClip; public var smithhit:MovieClip; public var finalninja:MovieClip; public var tang:MovieClip; public var bang1:MovieClip; public var bang2:MovieClip; public var chop:MovieClip; public var lift:MovieClip; public var bang3:MovieClip; public var oishii:MovieClip; public var bang4:MovieClip; public var electric:MovieClip; public var missile:MovieClip; public var powerdown:MovieClip; public var hack:MovieClip; public var bosslaugh:MovieClip; public var grenade:MovieClip; public var alert:MovieClip; public var scientisthit:MovieClip; public var msg:MovieClip; public var machinegun:MovieClip; public var smithdie:MovieClip; public var aiiee:MovieClip; public var cammo:MovieClip; public var bossouch:MovieClip; public var sword1:MovieClip; public var yatta:MovieClip; public var sword2:MovieClip; public static const GAME:int = 1; public static const MENU:int = 0; public static const BEAM:int = 0; public function SoundManager(){ NitromeGame.sound_manager = this; music_loops.push(new MenuMusic()); music_loops.push(new GameMusic()); music_transforms.push(new SoundTransform(MENU_VOLUME, 0)); music_transforms.push(new SoundTransform(GAME_VOLUME, 0)); music_channels.push(new SoundChannel()); music_channels.push(new SoundChannel()); music_volumes.push(MENU_VOLUME); music_volumes.push(GAME_VOLUME); music_type = uint.MAX_VALUE; } } }//package com.nitrome.game
Section 102
//SoundManagerSuper (com.nitrome.game.SoundManagerSuper) package com.nitrome.game { import flash.display.*; import flash.events.*; public class SoundManagerSuper extends MovieClip { protected const CROSS_FADE_SPEED:Number = 0.05; protected const LOOP_FADE_SPEED:Number = 0.1; protected var sound_channels:Array; protected var sound_clips:Array; public var music_type:int; protected var _music:Boolean;// = true protected var sound_loops:Array; protected var sound_loop_fade_direction; protected var sound_volumes:Array; protected var music_volumes:Array; public var fading_sound:Boolean;// = false public var fading_music:Boolean;// = false protected var fade_from:int; protected var music_channels:Array; protected var music_loops:Array; protected var sound_transforms:Array; protected var sound_loop_playing:Array; protected var _sfx:Boolean;// = true protected var music_transforms:Array; public static const NO_MUSIC:int = -1; public function SoundManagerSuper(){ var _local1:int; var _local2:MovieClip; sound_clips = new Array(); sound_loops = new Array(); sound_loop_playing = new Array(); sound_channels = new Array(); sound_transforms = new Array(); sound_volumes = new Array(); sound_loop_fade_direction = new Array(); music_loops = new Array(); music_channels = new Array(); music_transforms = new Array(); music_volumes = new Array(); _music = true; _sfx = true; fading_music = false; fading_sound = false; super(); _music = NitromeGame.music; _sfx = NitromeGame.sfx; _local1 = 0; while (_local1 < numChildren) { _local2 = (getChildAt(_local1) as MovieClip); if (_local2 != null){ sound_clips[_local2.name] = _local2; }; _local1++; }; } private function fadeOutAction(_arg1:Event):void{ if (music_transforms[music_type].volume > 0){ music_transforms[music_type].volume = (music_transforms[music_type].volume - CROSS_FADE_SPEED); music_channels[music_type].soundTransform = music_transforms[music_type]; }; if (music_transforms[music_type].volume <= 0){ fading_music = false; music_channels[music_type].stop(); music_type = NO_MUSIC; _arg1.target.removeEventListener(Event.ENTER_FRAME, fadeOutAction); }; } public function crossFade(_arg1:int):void{ if (((((!(_music)) || (fading_music))) || ((music_type == _arg1)))){ return; }; fade_from = music_type; music_type = _arg1; music_transforms[_arg1].volume = 0; music_channels[_arg1] = music_loops[_arg1].play(0, int.MAX_VALUE, music_transforms[_arg1]); fading_music = true; addEventListener(Event.ENTER_FRAME, crossFadeAction); } public function startLoops():void{ var _local1:int; _local1 = 0; while (_local1 < sound_loops.length) { if (((!((sound_loops[_local1] == null))) && (sound_loop_playing[_local1]))){ sound_channels[_local1] = sound_loops[_local1].play(0, int.MAX_VALUE, sound_transforms[_local1]); }; _local1++; }; } public function get music():Boolean{ return (_music); } public function set sfx(_arg1:Boolean):void{ _sfx = _arg1; } public function toggleMusic():void{ if (_music){ turnOffMusic(); } else { turnOnMusic(); }; } private function crossFadeAction(_arg1:Event):void{ if (music_transforms[fade_from].volume > 0){ music_transforms[fade_from].volume = (music_transforms[fade_from].volume - CROSS_FADE_SPEED); music_channels[fade_from].soundTransform = music_transforms[fade_from]; }; if (music_transforms[music_type].volume < music_volumes[music_type]){ music_transforms[music_type].volume = (music_transforms[music_type].volume + CROSS_FADE_SPEED); music_channels[music_type].soundTransform = music_transforms[music_type]; }; if ((((music_transforms[music_type].volume >= music_volumes[music_type])) && ((music_transforms[fade_from].volume <= 0)))){ music_channels[fade_from].stop(); fading_music = false; _arg1.target.removeEventListener(Event.ENTER_FRAME, crossFadeAction); }; } public function playSound(_arg1:String):void{ if (_sfx){ if (sound_clips[_arg1] != null){ sound_clips[_arg1].gotoAndPlay(2); }; }; } public function stopMusic():void{ var _local1:uint; _local1 = 0; while (_local1 < music_channels.length) { if (music_channels[_local1] != null){ music_channels[_local1].stop(); }; _local1++; }; } public function turnOnMusic():void{ NitromeGame.music = (_music = true); if (music_type != NO_MUSIC){ playMusic(music_type, true); }; } private function fadeInAction(_arg1:Event):void{ if (music_transforms[music_type].volume < music_volumes[music_type]){ music_transforms[music_type].volume = (music_transforms[music_type].volume + CROSS_FADE_SPEED); music_channels[music_type].soundTransform = music_transforms[music_type]; }; if (music_transforms[music_type].volume >= music_volumes[music_type]){ fading_music = false; _arg1.target.removeEventListener(Event.ENTER_FRAME, fadeInAction); }; } private function fadeSound(_arg1:Event):void{ var _local2:Boolean; var _local3:int; _local2 = true; _local3 = 0; while (_local3 < sound_loops.length) { if (sound_loop_fade_direction[_local3] != 0){ _local2 = false; if (sound_loop_fade_direction[_local3] > 0){ if (sound_transforms[_local3].volume < sound_volumes[_local3]){ sound_transforms[_local3].volume = (sound_transforms[_local3].volume + LOOP_FADE_SPEED); sound_channels[_local3].soundTransform = sound_transforms[_local3]; } else { if (sound_transforms[_local3].volume >= sound_volumes[_local3]){ sound_transforms[_local3].volume = sound_volumes[_local3]; sound_channels[_local3].soundTransform = sound_transforms[_local3]; sound_loop_fade_direction[_local3] = 0; }; }; } else { if (sound_loop_fade_direction[_local3] < 0){ if (sound_transforms[_local3].volume > 0){ sound_transforms[_local3].volume = (sound_transforms[_local3].volume - LOOP_FADE_SPEED); sound_channels[_local3].soundTransform = sound_transforms[_local3]; } else { if (sound_transforms[_local3].volume <= 0){ sound_loop_fade_direction[_local3] = 0; sound_channels[_local3].stop(); sound_loop_playing[_local3] = false; }; }; }; }; }; _local3++; }; if (_local2){ _arg1.target.removeEventListener(Event.ENTER_FRAME, fadeSound); fading_sound = false; }; } public function stopLoops():void{ var _local1:int; _local1 = 0; while (_local1 < sound_loops.length) { if (sound_loops[_local1] != null){ sound_channels[_local1].stop(); }; _local1++; }; } public function stopMusicFadeOut():void{ if (((!(_music)) || (fading_music))){ return; }; music_transforms[music_type].volume = music_volumes[music_type]; fading_music = true; addEventListener(Event.ENTER_FRAME, fadeOutAction); } public function set music(_arg1:Boolean):void{ _music = _arg1; } public function playMusic(_arg1:uint, _arg2:Boolean=false):void{ var _local3:uint; if (((_arg2) && ((music_type == NO_MUSIC)))){ return; }; if (((!((music_type == _arg1))) || (_arg2))){ if (_music){ _local3 = 0; while (_local3 < music_loops.length) { if (_local3 == _arg1){ } else { if (music_channels[_local3] != null){ music_channels[_local3].stop(); }; }; _local3++; }; music_transforms[_arg1].volume = music_volumes[_arg1]; music_channels[_arg1] = music_loops[_arg1].play(0, int.MAX_VALUE, music_transforms[_arg1]); }; music_type = _arg1; }; } public function killLoops():void{ var _local1:int; _local1 = 0; while (_local1 < sound_loops.length) { stopLoop(_local1); _local1++; }; } public function toggleSfx():void{ if (_sfx){ turnOffSfx(); } else { turnOnSfx(); }; } public function get sfx():Boolean{ return (_sfx); } public function turnOnSfx():void{ NitromeGame.sfx = (_sfx = true); startLoops(); } public function turnOffSfx():void{ NitromeGame.sfx = (_sfx = false); stopLoops(); } public function stopLoopFadeOut(_arg1:int):void{ if (((((!(_sfx)) || (!(sound_loop_playing[_arg1])))) || ((sound_loop_fade_direction[_arg1] == -1)))){ return; }; sound_loop_fade_direction[_arg1] = -1; if (!fading_sound){ addEventListener(Event.ENTER_FRAME, fadeSound); fading_sound = true; }; } public function turnOffMusic():void{ var _local1:uint; _local1 = 0; while (_local1 < music_channels.length) { if (music_channels[_local1] != null){ music_channels[_local1].stop(); }; _local1++; }; NitromeGame.music = (_music = false); } public function stopLoop(_arg1:uint):void{ if (sound_loops[_arg1] != null){ sound_channels[_arg1].stop(); sound_loop_playing[_arg1] = false; }; } public function playLoopFadeIn(_arg1:int):void{ if ((((sound_loop_fade_direction[_arg1] == 1)) || (!(_sfx)))){ return; }; if (!sound_loop_playing[_arg1]){ sound_transforms[_arg1].volume = 0; sound_loop_playing[_arg1] = true; sound_channels[_arg1] = sound_loops[_arg1].play(0, int.MAX_VALUE, sound_transforms[_arg1]); }; sound_loop_fade_direction[_arg1] = 1; if (!fading_sound){ addEventListener(Event.ENTER_FRAME, fadeSound); fading_sound = true; }; } public function playMusicFadeIn(_arg1:int):void{ if (((((!(_music)) || (fading_music))) || ((music_type == _arg1)))){ return; }; music_type = _arg1; music_transforms[_arg1].volume = 0; fading_music = true; music_channels[_arg1] = music_loops[_arg1].play(0, int.MAX_VALUE, music_transforms[_arg1]); addEventListener(Event.ENTER_FRAME, fadeInAction); } public function playLoop(_arg1:uint):void{ if (_sfx){ if (((!((sound_loops[_arg1] == null))) && (!(sound_loop_playing[_arg1])))){ sound_transforms[_arg1].volume = sound_volumes[_arg1]; sound_channels[_arg1] = sound_loops[_arg1].play(0, int.MAX_VALUE, sound_transforms[_arg1]); }; }; } } }//package com.nitrome.game
Section 103
//SubmitScoreButton (com.nitrome.game.SubmitScoreButton) package com.nitrome.game { import flash.events.*; public class SubmitScoreButton extends SimpleButton { public function SubmitScoreButton(){ addFrameScript(0, frame1); if (Score.value > NitromeGame.getLastSavedScore()){ visible = true; } else { visible = false; }; } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.timeline.game.clearListeners(); NitromeGame.setLastSavedScore(Score.value); NitromeGame.timeline.popup_holder.hidePopUp(); NitromeGame.transition.doTween("submit_score"); NitromeGame.sound_manager.playMusic(SoundManager.MENU, false); } } }//package com.nitrome.game
Section 104
//Transition (com.nitrome.game.Transition) package com.nitrome.game { import com.nitrome.engine.*; import flash.display.*; import flash.events.*; public class Transition extends MovieClip { public var mask_right:Shape; public var bitmap_left:Bitmap; public var bitmap_right:Bitmap; public var count:int; public var line:Line; public var next_frame:String; public var bitmapdata:BitmapData; public var slash:Shape; public var state:int; public var tweening:Boolean; public var mask_left:Shape; public var step:Number; public static const SLIDE:int = 4; public static const FADE:int = 2; public static const SLASH:int = 1; public static const TWEEN_DELAY:int = 15; public function Transition(){ bitmapdata = new BitmapData(550, 400, true, 0xFFFFFF); bitmap_left = new Bitmap(bitmapdata); bitmap_right = new Bitmap(bitmapdata); mask_left = new Shape(); mask_right = new Shape(); slash = new Shape(); bitmap_left.visible = false; bitmap_right.visible = false; bitmap_left.mask = mask_left; bitmap_right.mask = mask_right; line = new Line(new Dot(275, 0), new Dot(275, 400)); addChild(bitmap_left); addChild(bitmap_right); addChild(mask_left); addChild(mask_right); addChild(slash); count = 0; tweening = false; next_frame = ""; } public function doTween(_arg1:String, _arg2:int=0):void{ if (!tweening){ beginTransition(_arg1); } else { next_frame = _arg1; }; } private function onEnterFrame(_arg1:Event):void{ if (state == SLASH){ state = FADE; } else { if (state == FADE){ state = SLIDE; } else { if (state == SLIDE){ slash.graphics.clear(); count++; bitmap_left.x = (bitmap_left.x - step); mask_left.x = (mask_left.x - step); bitmap_right.x = (bitmap_right.x + step); mask_right.x = (mask_right.x + step); if (count >= TWEEN_DELAY){ bitmap_left.visible = false; bitmap_right.visible = false; removeEventListener(Event.ENTER_FRAME, onEnterFrame); tweening = false; if (next_frame != ""){ beginTransition(next_frame); next_frame = ""; }; }; }; }; }; } public function beginTransition(_arg1:String):void{ var _local2:Number; tweening = true; _local2 = (-250 + (Math.random() * 500)); line.a.x = (275 + _local2); line.b.x = (275 - _local2); slash.graphics.clear(); slash.graphics.lineStyle(5, 0, 0.05); slash.graphics.moveTo((line.a.x - 275), -200); slash.graphics.lineTo((line.b.x - 275), 200); slash.graphics.lineStyle(2, 0, 0.05); slash.graphics.moveTo((line.a.x - 275), -200); slash.graphics.lineTo((line.b.x - 275), 200); bitmapdata.draw(NitromeGame.timeline); slash.graphics.clear(); line.updateLine(); step = (Math.max(line.a.x, line.b.x) / TWEEN_DELAY); mask_left.graphics.clear(); mask_right.graphics.clear(); mask_left.graphics.beginFill(0xFFFFFF); mask_right.graphics.beginFill(0xFFFFFF); mask_left.graphics.moveTo(0, 0); mask_left.graphics.lineTo(line.a.x, 0); mask_left.graphics.lineTo(line.b.x, 400); mask_left.graphics.lineTo(0, 400); mask_left.graphics.lineTo(0, 0); mask_right.graphics.moveTo(line.a.x, 0); mask_right.graphics.lineTo(550, 0); mask_right.graphics.lineTo(550, 400); mask_right.graphics.lineTo(line.b.x, 400); mask_right.graphics.lineTo(line.a.x, 0); mask_left.graphics.endFill(); mask_right.graphics.endFill(); mask_left.x = (mask_right.x = (bitmap_left.x = (bitmap_right.x = -275))); mask_left.y = (mask_right.y = (bitmap_left.y = (bitmap_right.y = -200))); bitmap_left.visible = true; bitmap_right.visible = true; (parent as MovieClip).gotoAndStop(_arg1); count = 0; state = SLASH; addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); } } }//package com.nitrome.game
Section 105
//TryAgainButton (com.nitrome.game.TryAgainButton) package com.nitrome.game { import flash.events.*; public class TryAgainButton extends SimpleButton { public function TryAgainButton(){ addFrameScript(0, frame1); } function doStuff():void{ NitromeGame.timeline.game.clearListeners(); Score.value = 0; NitromeGame.level_score = 0; NitromeGame.timeline.popup_holder.hidePopUp(); NitromeGame.transition.doTween("game_reset"); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ if (!NitromeGame.timeline.popup_holder.key_pressed){ doStuff(); }; } } }//package com.nitrome.game
Section 106
//ViewScoresButton (com.nitrome.game.ViewScoresButton) package com.nitrome.game { import flash.events.*; public class ViewScoresButton extends SimpleButton { public function ViewScoresButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("view_scores"); } } }//package com.nitrome.game
Section 107
//ArrowButton (com.nitrome.highscore.ArrowButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class ArrowButton extends SimpleButton { var high_score_board:HighScoreBoard; public function ArrowButton(){ high_score_board = (parent as HighScoreBoard); visible = false; } public function hide():void{ visible = false; } override public function onClick(_arg1:MouseEvent):void{ if (name == "_prev_arrow"){ high_score_board.shiftScoresPrev(); } else { if (name == "_next_arrow"){ high_score_board.shiftScoresNext(); }; }; } public function show():void{ visible = true; } } }//package com.nitrome.highscore
Section 108
//ClearButton (com.nitrome.highscore.ClearButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class ClearButton extends SimpleButton { private var score_submit_panel:ScoreSubmitPanel; public function ClearButton(){ score_submit_panel = (parent as ScoreSubmitPanel); } override public function onClick(_arg1:MouseEvent):void{ score_submit_panel.clearName(); } } }//package com.nitrome.highscore
Section 109
//HighScoreBoard (com.nitrome.highscore.HighScoreBoard) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import flash.net.*; public class HighScoreBoard extends MovieClip { public const MAX_DIGITS:int = 8; private const MAX_RANK:int = 100; public const NUM_LINES:int = 10; public var _score_line_7:ScoreLine; private var score_lines:Array; private var loaded:Boolean; private var _zero_fill:Boolean;// = false public var loading_text:MovieClip; public var _next_arrow:NextArrow; private var scores_request:URLRequest; private var scores_vars:URLVariables; public var _score_line_10:ScoreLine; private var next_arrow:ArrowButton; public var _prev_arrow:PrevArrow; private var saved_min_rank:int; public var _score_line_1:ScoreLine; public var _score_line_2:ScoreLine; public var _score_line_3:ScoreLine; public var _score_line_4:ScoreLine; public var _score_line_5:ScoreLine; public var _score_line_6:ScoreLine; public var _score_line_8:ScoreLine; public var _score_line_9:ScoreLine; private var scores_loader:URLLoader; private var prev_arrow:ArrowButton; public function HighScoreBoard(){ var _local1:int; _zero_fill = false; super(); score_lines = new Array(NUM_LINES); if (NitromeGame.isAtURL(NitromeGame.NITROME)){ trace(0); _local1 = 0; while (_local1 < score_lines.length) { score_lines[_local1] = (getChildByName(("_score_line_" + (_local1 + 1))) as HighScoreLine); _local1++; }; prev_arrow = (getChildByName("_prev_arrow") as ArrowButton); next_arrow = (getChildByName("_next_arrow") as ArrowButton); loaded = false; addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true); addEventListener(Event.ENTER_FRAME, loadText, false, 0, true); } else { gotoAndStop("hide"); }; } public function loadHighScores(_arg1:int):void{ saved_min_rank = _arg1; scores_loader = new URLLoader(); scores_vars = new URLVariables(); scores_request = new URLRequest(NitromeGame.RETRIEVE_URL); scores_request.method = URLRequestMethod.POST; scores_request.data = scores_vars; scores_loader.dataFormat = URLLoaderDataFormat.VARIABLES; scores_loader.addEventListener(Event.COMPLETE, retrieveSuccessful); scores_loader.addEventListener(IOErrorEvent.IO_ERROR, retrieveFailed); scores_vars.min_rank = String(_arg1); scores_vars.game_name = NitromeGame.game_id; scores_vars.time_based = (NitromeGame.time_based) ? "1" : "0"; scores_loader.load(scores_request); } private function retrieveSuccessful(_arg1:Event):void{ var _local2:String; _local2 = _arg1.target.data.result; trace((("Scores retrieved: (" + _local2) + ")")); displayHighScores(_local2); loaded = true; } private function init(_arg1:Event):void{ loadHighScores(1); _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } public function shiftScoresPrev():void{ var _local1:int; _local1 = (saved_min_rank - 10); if (_local1 < 1){ _local1 = 1; }; loadHighScores(_local1); } public function set zero_fill(_arg1:Boolean):void{ _zero_fill = _arg1; } private function loadText(_arg1:Event):void{ if (((loaded) && ((loading_text.alpha > 0)))){ loading_text.alpha = (loading_text.alpha - 0.1); } else { if (((loaded) && ((loading_text.alpha <= 0)))){ _arg1.target.removeEventListener(Event.ENTER_FRAME, loadText); }; }; } private function retrieveFailed(_arg1:IOErrorEvent):void{ trace(("Retrieve scores failed: " + _arg1.text)); } public function get zero_fill():Boolean{ return (_zero_fill); } public function displayHighScoresMTV(_arg1:Array):void{ var _local2:int; var _local3:String; var _local4:String; if (_arg1.length > 0){ _local2 = 0; while (_local2 <= 9) { _local3 = String(_arg1[_local2].user_name); _local4 = String(_arg1[_local2].score); if ((((_local3 == "")) || ((_local3 == null)))){ score_lines[_local2].hide(); next_arrow.hide(); } else { score_lines[_local2].displayData((saved_min_rank + _local2), _local3, _local4); }; _local2++; }; } else { trace("no leaderboard data"); }; } public function displayHighScores(_arg1:String):void{ var _local2:int; var _local3:Object; if (_arg1 != "0"){ _local2 = 0; while (_local2 < score_lines.length) { _local3 = NitromeGame.getHighScoreLine(_arg1, (_local2 + 1)); if (_local3 == null){ score_lines[_local2].hide(); } else { score_lines[_local2].displayData((saved_min_rank + _local2), _local3.username, _local3.score); }; _local2++; }; if (NitromeGame.displayNextButton(_arg1)){ next_arrow.show(); } else { next_arrow.hide(); }; if (NitromeGame.displayPreviousButton(_arg1)){ prev_arrow.show(); } else { prev_arrow.hide(); }; }; } public function shiftScoresNext():void{ var _local1:int; _local1 = (saved_min_rank + 10); loadHighScores(_local1); } } }//package com.nitrome.highscore
Section 110
//HighScoreLine (com.nitrome.highscore.HighScoreLine) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import flash.text.*; public class HighScoreLine extends Sprite { private const FADE_SPEED:Number = 0.3; private var fade_delay:int; private var rank_text:TextField; private var name_text:TextField; public var _score_text:TextField; private var hidden:Boolean; private var score_text:TextField; private var fade_count:int; public var _rank_text:TextField; public var _name_text:TextField; private var high_score_board:HighScoreBoard; public function HighScoreLine(){ visible = false; hidden = false; score_text = (getChildByName("_score_text") as TextField); name_text = (getChildByName("_name_text") as TextField); rank_text = (getChildByName("_rank_text") as TextField); high_score_board = (parent as HighScoreBoard); } public function hide():void{ trace((name + " hide")); visible = false; hidden = true; } private function performFade(_arg1:Event):void{ if (fade_count >= fade_delay){ alpha = (alpha + FADE_SPEED); if (alpha >= 1){ _arg1.target.removeEventListener(Event.ENTER_FRAME, performFade); }; }; fade_count++; } public function displayData(_arg1:int, _arg2:String, _arg3:String):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; trace((name + " displayData:")); rank_text.text = String((_arg1 + ".")); name_text.text = _arg2.toUpperCase(); trace(((((_arg1 + ",") + _arg2) + ",") + _arg3)); if (high_score_board.zero_fill){ _local4 = high_score_board.MAX_DIGITS; _local5 = _arg3.length; _local6 = (_local4 - _local5); _local7 = 1; while (_local7 <= _local6) { _arg3 = ("0" + _arg3); _local7++; }; score_text.text = _arg3; } else { score_text.text = _arg3; }; alpha = 0; visible = true; fade_delay = (((_arg1 - 1) % high_score_board.NUM_LINES) * int((1 / FADE_SPEED))); fade_count = 0; addEventListener(Event.ENTER_FRAME, performFade); } } }//package com.nitrome.highscore
Section 111
//LetterButton (com.nitrome.highscore.LetterButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; import flash.text.*; public class LetterButton extends SimpleButton { private var letter:TextField; public var _letter:TextField; private var letter_text:String; private var score_submit_panel:ScoreSubmitPanel; public static const up_col:int = 0x838383; public static const over_col:int = 0xFFAA00; public function LetterButton(){ score_submit_panel = (parent as ScoreSubmitPanel); letter_text = name; letter = (getChildByName("_letter") as TextField); addEventListener(Event.ADDED_TO_STAGE, init); } private function init(_arg1:Event):void{ letter.text = letter_text; _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } override protected function updateGraphic():void{ if (over){ letter.textColor = over_col; } else { letter.textColor = up_col; }; } override public function onClick(_arg1:MouseEvent):void{ score_submit_panel.addLetter(letter_text); } } }//package com.nitrome.highscore
Section 112
//ScoreSubmitPanel (com.nitrome.highscore.ScoreSubmitPanel) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import com.nitrome.game.*; import flash.text.*; import flash.ui.*; import flash.net.*; public class ScoreSubmitPanel extends MovieClip { private const MAX_LENGTH:Number = 10; private var submit_loader:URLLoader; public var C:LetterButton; public var D:LetterButton; public var E:LetterButton; public var F:LetterButton; public var H:LetterButton; public var I:LetterButton; public var J:LetterButton; public var L:LetterButton; public var P:LetterButton; public var K:LetterButton; public var W:LetterButton; public var X:LetterButton; public var R:LetterButton; public var T:LetterButton; public var U:LetterButton; public var V:LetterButton; public var G:LetterButton; public var Y:LetterButton; private var name_text:TextField; public var S:LetterButton; public var A:LetterButton; public var N:LetterButton; public var O:LetterButton; public var _score_text:TextField; public var Z:LetterButton; public var M:LetterButton; public var Q:LetterButton; public var B:LetterButton; private var score_text:TextField; private var loading_clip:MovieClip; public var _name_text:TextField; private var submitted:Boolean; private var submit_button:SubmitButton; public var _submit_button:SubmitButton; public var loading_black:MovieClip; public var _clear_button:ClearButton; private var submit_request:URLRequest; private var submit_vars:URLVariables; public function ScoreSubmitPanel(){ if (NitromeGame.isAtURL(NitromeGame.NITROME)){ submit_button = (getChildByName("_submit_button") as SubmitButton); name_text = (getChildByName("_name_text") as TextField); score_text = (getChildByName("_score_text") as TextField); submitted = false; addEventListener(Event.ADDED_TO_STAGE, init); } else { gotoAndStop("hide"); }; } public function addLetter(_arg1:String):void{ var _local2:String; var _local3:String; _local2 = name_text.text; if (_local2.length < MAX_LENGTH){ _arg1 = _arg1.toUpperCase(); _local3 = (_local2 + _arg1); name_text.text = _local3; submit_button.enable(); }; } private function submitFailed(_arg1:IOErrorEvent):void{ trace(("Submit score failed: " + _arg1.text)); trace(); loading_black.gotoAndPlay(2); } public function clearName():void{ submit_button.disable(); name_text.text = ""; } private function keyPressed(_arg1:KeyboardEvent):void{ var _local2:int; _local2 = _arg1.charCode; if ((((((_local2 >= 65)) && ((_local2 <= 90)))) || ((((_local2 >= 97)) && ((_local2 <= 122)))))){ addLetter(String.fromCharCode(_local2)); }; if ((((_arg1.keyCode == Keyboard.BACKSPACE)) || ((_arg1.keyCode == Keyboard.DELETE)))){ clearName(); }; } private function submitSuccessful(_arg1:Event):void{ trace("Score submitted"); loading_black.gotoAndPlay(2); } private function init(_arg1:Event):void{ score_text.text = ("YOUR SCORE IS " + Score.value); trace(score_text.text); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } public function submitScore():void{ var _local1:String; stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _local1 = name_text.text; if (_local1 != ""){ submit_loader = new URLLoader(); submit_vars = new URLVariables(); submit_request = new URLRequest(NitromeGame.SUBMIT_URL); submit_request.method = URLRequestMethod.POST; submit_request.data = submit_vars; submit_loader.addEventListener(Event.COMPLETE, submitSuccessful); submit_loader.addEventListener(IOErrorEvent.IO_ERROR, submitFailed); submit_vars.data_string = NitromeGame.getScoreData(Score.value, _local1); submit_vars.time_based = "0"; submit_request.data = submit_vars; submit_loader.load(submit_request); } else { loading_black.gotoAndPlay(2); }; } } }//package com.nitrome.highscore
Section 113
//SubmitButton (com.nitrome.highscore.SubmitButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class SubmitButton extends SimpleButton { private var pressed:Boolean;// = false private var disabled:Boolean;// = true private var score_submit_panel:ScoreSubmitPanel; public function SubmitButton(){ pressed = false; disabled = true; super(); gotoAndStop("_up"); score_submit_panel = (parent as ScoreSubmitPanel); } public function enable():void{ disabled = false; useHandCursor = true; buttonMode = true; updateGraphic(); } override protected function updateGraphic():void{ if (((!(over)) || (disabled))){ gotoAndStop("_up"); } else { gotoAndStop("_over"); }; } public function disable():void{ disabled = true; useHandCursor = false; buttonMode = false; updateGraphic(); } override public function onClick(_arg1:MouseEvent):void{ if (disabled){ gotoAndStop("_up"); } else { if (!pressed){ score_submit_panel.submitScore(); pressed = true; }; }; } } }//package com.nitrome.highscore
Section 114
//Lock (com.nitrome.util.Lock) package com.nitrome.util { import flash.display.*; import flash.net.*; public class Lock extends MovieClip { public function Lock(){ addFrameScript(1, frame2); } function frame2(){ stop(); } public static function urlLock(_arg1:Stage):void{ var _local2:String; if (NitromeGame.isAtURL(NitromeGame.ARMOR) == true){ } else { _arg1.addChild(new (Lock)); _local2 = ("http://www.nitrome.com/games/" + NitromeGame.game_id); navigateToURL(new URLRequest(_local2), "_blank"); }; } } }//package com.nitrome.util
Section 115
//MD5 (com.nitrome.util.MD5) package com.nitrome.util { public class MD5 { private var chrsz:int;// = 8 private var b64pad:String;// = "" public function MD5(_arg1:String=null, _arg2:int=0){ b64pad = ""; chrsz = 8; super(); if (_arg1 != null){ this.b64pad = _arg1; }; if (((((!((_arg2 == 0))) && ((_arg2 == 8)))) || ((_arg2 == 16)))){ this.chrsz = _arg2; }; } private function binl2b64(_arg1:Array):String{ var _local2:String; var _local3:String; var _local4:int; var _local5:int; var _local6:int; _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; _local3 = new String(""); _local4 = 0; while (_local4 < (_arg1.length * 4)) { _local5 = (((((_arg1[(_local4 >> 2)] >> (8 * (_local4 % 4))) & 0xFF) << 16) | (((_arg1[((_local4 + 1) >> 2)] >> (8 * ((_local4 + 1) % 4))) & 0xFF) << 8)) | ((_arg1[((_local4 + 2) >> 2)] >> (8 * ((_local4 + 2) % 4))) & 0xFF)); _local6 = 0; while (_local6 < 4) { if (((_local4 * 8) + (_local6 * 6)) > (_arg1.length * 32)){ _local3 = (_local3 + b64pad); } else { _local3 = (_local3 + _local2.charAt(((_local5 >> (6 * (3 - _local6))) & 63))); }; _local6++; }; _local4 = (_local4 + 3); }; return (_local3); } private function md5_cmn(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):int{ return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3)); } private function binl2str(_arg1:Array):String{ var _local2:String; var _local3:int; var _local4:int; _local2 = new String(""); _local3 = ((1 << chrsz) - 1); _local4 = 0; while (_local4 < (_arg1.length * 32)) { _local2 = (_local2 + String.fromCharCode(((_arg1[(_local4 >> 5)] >>> (_local4 % 32)) & _local3))); _local4 = (_local4 + chrsz); }; return (_local2); } private function core_hmac_md5(_arg1:String, _arg2:String):Array{ var _local3:Array; var _local4:Array; var _local5:Array; var _local6:int; var _local7:Array; _local3 = new Array(str2binl(_arg1)); if (_local3.length > 16){ _local3 = core_md5(_local3, (_arg1.length * chrsz)); }; _local4 = new Array(16); _local5 = new Array(16); _local6 = 0; while (_local6 < 16) { _local4[_local6] = (_local3[_local6] ^ 909522486); _local5[_local6] = (_local3[_local6] ^ 1549556828); _local6++; }; _local7 = new Array(core_md5(_local4.concat(str2binl(_arg2)), (0x0200 + (_arg2.length * chrsz)))); return (core_md5(_local5.concat(_local7), (0x0200 + 128))); } private function md5_gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (md5_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function hex_hmac_md5(_arg1:String, _arg2:String):String{ return (binl2hex(core_hmac_md5(_arg1, _arg2))); } public function hash(_arg1:String):String{ return (hex_md5(_arg1)); } private function md5_ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (md5_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function hex_md5(_arg1:String):String{ return (binl2hex(core_md5(str2binl(_arg1), (_arg1.length * chrsz)))); } private function bit_rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } private function core_md5(_arg1:Array, _arg2:int):Array{ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32))); _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2; _local3 = 1732584193; _local4 = -271733879; _local5 = -1732584194; _local6 = 271733878; _local7 = 0; while (_local7 < _arg1.length) { _local8 = _local3; _local9 = _local4; _local10 = _local5; _local11 = _local6; _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551); _local3 = safe_add(_local3, _local8); _local4 = safe_add(_local4, _local9); _local5 = safe_add(_local5, _local10); _local6 = safe_add(_local6, _local11); _local7 = (_local7 + 16); }; return (new Array(_local3, _local4, _local5, _local6)); } private function b64_md5(_arg1:String):String{ return (binl2b64(core_md5(str2binl(_arg1), (_arg1.length * chrsz)))); } private function md5_hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (md5_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function b64_hmac_md5(_arg1:String, _arg2:String):String{ return (binl2b64(core_hmac_md5(_arg1, _arg2))); } private function str2binl(_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; _local2 = []; _local3 = ((1 << chrsz) - 1); _local4 = 0; while (_local4 < (_arg1.length * chrsz)) { _local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 / chrsz)) & _local3) << (_local4 % 32))); _local4 = (_local4 + chrsz); }; return (_local2); } private function binl2hex(_arg1:Array):String{ var _local2:String; var _local3:String; var _local4:int; _local2 = "0123456789abcdef"; _local3 = new String(""); _local4 = 0; while (_local4 < (_arg1.length * 4)) { _local3 = (_local3 + (_local2.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local2.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15)))); _local4++; }; return (_local3); } private function safe_add(_arg1:Number, _arg2:Number):Number{ var _local3:int; var _local4:int; _local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF)); _local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16)); return (((_local4 << 16) | (_local3 & 0xFFFF))); } private function str_md5(_arg1:String):String{ return (binl2str(core_md5(str2binl(_arg1), (_arg1.length * chrsz)))); } private function str_hmac_md5(_arg1:String, _arg2:String):String{ return (binl2str(core_hmac_md5(_arg1, _arg2))); } private function md5_ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (md5_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } } }//package com.nitrome.util
Section 116
//ag_intro_mc_658 (finalninjazero_fla.ag_intro_mc_658) package finalninjazero_fla { import flash.display.*; public dynamic class ag_intro_mc_658 extends MovieClip { public function ag_intro_mc_658(){ addFrameScript(0, frame1, 217, frame218); } function frame218(){ (parent as MovieClip).gotoAndStop("nitrome"); } function frame1(){ gotoAndPlay(2); } } }//package finalninjazero_fla
Section 117
//aiiee_621 (finalninjazero_fla.aiiee_621) package finalninjazero_fla { import flash.display.*; public dynamic class aiiee_621 extends MovieClip { public function aiiee_621(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 118
//alert_606 (finalninjazero_fla.alert_606) package finalninjazero_fla { import flash.display.*; public dynamic class alert_606 extends MovieClip { public function alert_606(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 119
//alert_panel_686 (finalninjazero_fla.alert_panel_686) package finalninjazero_fla { import flash.display.*; import flash.text.*; public dynamic class alert_panel_686 extends MovieClip { public var alert_time:TextField; } }//package finalninjazero_fla
Section 120
//back_666 (finalninjazero_fla.back_666) package finalninjazero_fla { import flash.display.*; public dynamic class back_666 extends MovieClip { public var front:MovieClip; public var back:MovieClip; public function back_666(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 121
//backcammo_663 (finalninjazero_fla.backcammo_663) package finalninjazero_fla { import flash.display.*; public dynamic class backcammo_663 extends MovieClip { public var morph:Morph; } }//package finalninjazero_fla
Section 122
//bang1_607 (finalninjazero_fla.bang1_607) package finalninjazero_fla { import flash.display.*; public dynamic class bang1_607 extends MovieClip { public function bang1_607(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 123
//bang2_608 (finalninjazero_fla.bang2_608) package finalninjazero_fla { import flash.display.*; public dynamic class bang2_608 extends MovieClip { public function bang2_608(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 124
//bang3_609 (finalninjazero_fla.bang3_609) package finalninjazero_fla { import flash.display.*; public dynamic class bang3_609 extends MovieClip { public function bang3_609(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 125
//bang4_610 (finalninjazero_fla.bang4_610) package finalninjazero_fla { import flash.display.*; public dynamic class bang4_610 extends MovieClip { public function bang4_610(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 126
//bosslaugh_637 (finalninjazero_fla.bosslaugh_637) package finalninjazero_fla { import flash.display.*; public dynamic class bosslaugh_637 extends MovieClip { public function bosslaugh_637(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 127
//bossouch_636 (finalninjazero_fla.bossouch_636) package finalninjazero_fla { import flash.display.*; public dynamic class bossouch_636 extends MovieClip { public function bossouch_636(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 128
//cammo_628 (finalninjazero_fla.cammo_628) package finalninjazero_fla { import flash.display.*; public dynamic class cammo_628 extends MovieClip { public function cammo_628(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 129
//cammocollect_272 (finalninjazero_fla.cammocollect_272) package finalninjazero_fla { import flash.display.*; public dynamic class cammocollect_272 extends MovieClip { public function cammocollect_272(){ addFrameScript(39, frame40); } function frame40(){ (parent as MovieClip).gotoAndStop("idle"); stop(); } } }//package finalninjazero_fla
Section 130
//chamforward_105 (finalninjazero_fla.chamforward_105) package finalninjazero_fla { import flash.display.*; public dynamic class chamforward_105 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 131
//chamjump_108 (finalninjazero_fla.chamjump_108) package finalninjazero_fla { import flash.display.*; public dynamic class chamjump_108 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 132
//chamlook_107 (finalninjazero_fla.chamlook_107) package finalninjazero_fla { import flash.display.*; public dynamic class chamlook_107 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 133
//chamrun_106 (finalninjazero_fla.chamrun_106) package finalninjazero_fla { import flash.display.*; public dynamic class chamrun_106 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 134
//chamslide_109 (finalninjazero_fla.chamslide_109) package finalninjazero_fla { import flash.display.*; public dynamic class chamslide_109 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 135
//chop_611 (finalninjazero_fla.chop_611) package finalninjazero_fla { import flash.display.*; public dynamic class chop_611 extends MovieClip { public function chop_611(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 136
//coins_623 (finalninjazero_fla.coins_623) package finalninjazero_fla { import flash.display.*; public dynamic class coins_623 extends MovieClip { public function coins_623(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 137
//cough_617 (finalninjazero_fla.cough_617) package finalninjazero_fla { import flash.display.*; public dynamic class cough_617 extends MovieClip { public function cough_617(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 138
//cowarddead_275 (finalninjazero_fla.cowarddead_275) package finalninjazero_fla { import flash.display.*; public dynamic class cowarddead_275 extends MovieClip { public function cowarddead_275(){ addFrameScript(41, frame42, 84, frame85); } function frame85(){ stop(); } function frame42(){ NitromeGame.sound_manager.playSound("electric"); } } }//package finalninjazero_fla
Section 139
//dawntowers_679 (finalninjazero_fla.dawntowers_679) package finalninjazero_fla { import flash.display.*; public dynamic class dawntowers_679 extends MovieClip { public var sun2:MovieClip; public var sun1:MovieClip; } }//package finalninjazero_fla
Section 140
//electric_624 (finalninjazero_fla.electric_624) package finalninjazero_fla { import flash.display.*; public dynamic class electric_624 extends MovieClip { public function electric_624(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 141
//enemy_health_panel_693 (finalninjazero_fla.enemy_health_panel_693) package finalninjazero_fla { import flash.display.*; public dynamic class enemy_health_panel_693 extends MovieClip { public var bar:MovieClip; } }//package finalninjazero_fla
Section 142
//exitanim_240 (finalninjazero_fla.exitanim_240) package finalninjazero_fla { import flash.display.*; public dynamic class exitanim_240 extends MovieClip { public function exitanim_240(){ addFrameScript(0, frame1, 19, frame20, 74, frame75); } function frame75(){ stop(); } function frame1(){ NitromeGame.sound_manager.playSound("yatta"); } function frame20(){ NitromeGame.sound_manager.playSound("lift"); } } }//package finalninjazero_fla
Section 143
//fade_to_black_696 (finalninjazero_fla.fade_to_black_696) package finalninjazero_fla { import flash.display.*; public dynamic class fade_to_black_696 extends MovieClip { public function fade_to_black_696(){ addFrameScript(0, frame1, 49, frame50); } function frame1(){ stop(); } function frame50(){ stop(); } } }//package finalninjazero_fla
Section 144
//fallnin_97 (finalninjazero_fla.fallnin_97) package finalninjazero_fla { import flash.display.*; public dynamic class fallnin_97 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 145
//finalninja_639 (finalninjazero_fla.finalninja_639) package finalninjazero_fla { import flash.display.*; public dynamic class finalninja_639 extends MovieClip { public function finalninja_639(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 146
//fincrouch_82 (finalninjazero_fla.fincrouch_82) package finalninjazero_fla { import flash.display.*; public dynamic class fincrouch_82 extends MovieClip { public var body:MovieClip; } }//package finalninjazero_fla
Section 147
//finjump_84 (finalninjazero_fla.finjump_84) package finalninjazero_fla { import flash.display.*; public dynamic class finjump_84 extends MovieClip { public var body:MovieClip; } }//package finalninjazero_fla
Section 148
//game_music_holder_626 (finalninjazero_fla.game_music_holder_626) package finalninjazero_fla { import flash.display.*; public dynamic class game_music_holder_626 extends MovieClip { public function game_music_holder_626(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package finalninjazero_fla
Section 149
//grenade_629 (finalninjazero_fla.grenade_629) package finalninjazero_fla { import flash.display.*; public dynamic class grenade_629 extends MovieClip { public function grenade_629(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 150
//gunclip_47 (finalninjazero_fla.gunclip_47) package finalninjazero_fla { import flash.display.*; public dynamic class gunclip_47 extends MovieClip { public var cartridges:MovieClip; public function gunclip_47(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 151
//gunmanhelp_199 (finalninjazero_fla.gunmanhelp_199) package finalninjazero_fla { import flash.display.*; public dynamic class gunmanhelp_199 extends MovieClip { public var arm:MovieClip; public var gun:MovieClip; } }//package finalninjazero_fla
Section 152
//hack_630 (finalninjazero_fla.hack_630) package finalninjazero_fla { import flash.display.*; public dynamic class hack_630 extends MovieClip { public function hack_630(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 153
//health_panel_684 (finalninjazero_fla.health_panel_684) package finalninjazero_fla { import flash.display.*; public dynamic class health_panel_684 extends MovieClip { public function health_panel_684(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 154
//help_movie_182 (finalninjazero_fla.help_movie_182) package finalninjazero_fla { import flash.display.*; public dynamic class help_movie_182 extends MovieClip { public function help_movie_182(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 155
//jump_618 (finalninjazero_fla.jump_618) package finalninjazero_fla { import flash.display.*; public dynamic class jump_618 extends MovieClip { public function jump_618(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 156
//jumpnin_85 (finalninjazero_fla.jumpnin_85) package finalninjazero_fla { import flash.display.*; public dynamic class jumpnin_85 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 157
//jumpnin_help_185 (finalninjazero_fla.jumpnin_help_185) package finalninjazero_fla { import flash.display.*; public dynamic class jumpnin_help_185 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 158
//lift_631 (finalninjazero_fla.lift_631) package finalninjazero_fla { import flash.display.*; public dynamic class lift_631 extends MovieClip { public function lift_631(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 159
//lift_stealth_242 (finalninjazero_fla.lift_stealth_242) package finalninjazero_fla { import flash.display.*; public dynamic class lift_stealth_242 extends MovieClip { public function lift_stealth_242(){ addFrameScript(19, frame20, 28, frame29); } function frame20(){ NitromeGame.sound_manager.playSound("wom"); } function frame29(){ stop(); } } }//package finalninjazero_fla
Section 160
//linkage_container_3 (finalninjazero_fla.linkage_container_3) package finalninjazero_fla { import flash.display.*; public dynamic class linkage_container_3 extends MovieClip { public function linkage_container_3(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 161
//loading_black_212 (finalninjazero_fla.loading_black_212) package finalninjazero_fla { import flash.display.*; public dynamic class loading_black_212 extends MovieClip { public var loading_text:MovieClip; public function loading_black_212(){ addFrameScript(0, frame1, 9, frame10); } function frame10(){ NitromeGame.timeline.gotoAndStop("view_scores"); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 162
//loading_screen_698 (finalninjazero_fla.loading_screen_698) package finalninjazero_fla { import flash.display.*; import com.nitrome.game.*; public dynamic class loading_screen_698 extends MovieClip { public var tt:Transition; public function loading_screen_698(){ addFrameScript(0, frame1, 9, frame10); } function frame10(){ this.tt.doTween("clear"); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 163
//machinegun_632 (finalninjazero_fla.machinegun_632) package finalninjazero_fla { import flash.display.*; public dynamic class machinegun_632 extends MovieClip { public function machinegun_632(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 164
//MainTimeline (finalninjazero_fla.MainTimeline) package finalninjazero_fla { import flash.display.*; import flash.events.*; import com.nitrome.engine_specific.*; import flash.geom.*; import com.nitrome.game.*; import com.nitrome.util.*; import flash.text.*; import flash.media.*; import flash.ui.*; import flash.net.*; import flash.utils.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.system.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var score_panel:MovieClip; public var msg_rating:TextField; public var cash_rating:TextField; public var shaker:MovieClip; public var msg_totals:TextField; public var enemy_rating:TextField; public var level_1:LevelChooserButton; public var level_2:LevelChooserButton; public var level_3:LevelChooserButton; public var level_6:LevelChooserButton; public var level_7:LevelChooserButton; public var level_9:LevelChooserButton; public var level_8:LevelChooserButton; public var enemy_totals:TextField; public var level_4:LevelChooserButton; public var level_5:LevelChooserButton; public var cash_totals:TextField; public var hint_panel:MovieClip; public var level_0:LevelChooserButton; public var b:Object; public var health_panel:MovieClip; public var cm:ContextMenu; public var loading_clip:MovieClip; public var tt:Transition; public var sound_manager:SoundManager; public var text_panel:MovieClip; public var popup_holder:PopUpHolder; public var music_toggle:MusicToggle; public var dodge_number:Number; public var info:TextField; public var level_10:LevelChooserButton; public var level_11:LevelChooserButton; public var level_13:LevelChooserButton; public var level_14:LevelChooserButton; public var level_15:LevelChooserButton; public var level_17:LevelChooserButton; public var level_12:LevelChooserButton; public var level_16:LevelChooserButton; public var level_18:LevelChooserButton; public var level_19:LevelChooserButton; public var level_20:LevelChooserButton; public var level_21:LevelChooserButton; public var level_22:LevelChooserButton; public var back:MovieClip; public var story:StoryClip; public var dodge_rating:TextField; public var dodge_totals:TextField; public var title_logo:MovieClip; public var loadedTF:TextField; public var pause_game_button:PauseButton; public var alert_panel:MovieClip; public var fx_toggle:FxToggle; public var buttons:MovieClip; public var fade_to_black:MovieClip; public var msg_panel:MsgPanel; public var enemy_health_panel:MovieClip; public var cash_number:Number; public var msg_number:Number; public var total_score:TextField; public var scroll_border:MovieClip; public var enemy_number:Number; public var game:Game; public function MainTimeline(){ addFrameScript(2, frame3, 10, frame11, 20, frame21, 30, frame31, 40, frame41, 50, frame51, 60, frame61, 70, frame71, 80, frame81, 90, frame91, 100, frame101, 111, frame112); } public function stepFrame(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:int; _local2 = loaderInfo.bytesLoaded; _local3 = loaderInfo.bytesTotal; _local4 = ((_local2 / _local3) * 100); (root as MovieClip).loadedTF.text = (("LOADING " + _local4.toString()) + "%"); if (loaderInfo.bytesLoaded >= loaderInfo.bytesTotal){ removeEventListener(Event.ENTER_FRAME, stepFrame); gotoAndStop("armor"); }; } function frame11(){ stop(); NitromeGame.transition = tt; Key.init(stage); Score.init(); NitromeGame.init(this, "finalninjazero", "star_", 23); NitromeGame.selected_level = 0; cm = new ContextMenu(); cm.hideBuiltInItems(); this.contextMenu = cm; sound_manager = new SoundManager(); sound_manager.x = -50; sound_manager.y = -50; addChild(sound_manager); } function frame3(){ addEventListener(Event.ENTER_FRAME, stepFrame, false, 0, true); stop(); } function frame21(){ stop(); } function frame31(){ stage.quality = StageQuality.LOW; Lock.urlLock(stage); NitromeGame.sound_manager.playSound("finalninja"); gotoAndStop("title_screen"); title_logo.addEventListener(Event.ENTER_FRAME, titleFade); title_logo.alpha = 0; buttons.alpha = 0; stop(); } function frame41(){ stop(); } function frame51(){ stop(); } function frame61(){ stop(); } function frame71(){ stop(); } function frame81(){ total_score.text = ("YOUR TOTAL SCORE IS " + Score.value); b = NitromeGame.getTotalBonus(); dodge_number = ((1 / NitromeGame.total_levels) * b.dodge); cash_number = ((1 / b.cash_total) * b.cash_count); msg_number = ((1 / b.msg_total) * b.msg_count); enemy_number = ((1 / b.enemy_total) * b.enemy_count); dodge_totals.text = (((("DODGE RATING (" + b.dodge) + "/") + NitromeGame.total_levels) + ")"); cash_totals.text = (((("CASH RATING (" + b.cash_count) + "/") + b.cash_total) + ")"); msg_totals.text = (((("MSG RATING (" + b.msg_count) + "/") + b.msg_total) + ")"); enemy_totals.text = (((("HUNT RATING (" + b.enemy_count) + "/") + b.enemy_total) + ")"); if (dodge_number < 0.25){ dodge_rating.text = "SWISS CHEESE"; } else { if (dodge_number < 0.5){ dodge_rating.text = "ACCIDENT PRONE"; } else { if (dodge_number < 0.75){ dodge_rating.text = "JUST A FLESH WOUND"; } else { if (dodge_number < 0.99999999){ dodge_rating.text = "NOT JUST LUCK"; } else { if (dodge_number == 1){ dodge_rating.text = "PERFECT"; }; }; }; }; }; if (cash_number < 0.25){ cash_rating.text = "CHARITY CASE"; } else { if (cash_number < 0.5){ cash_rating.text = "MINIMUM WAGE"; } else { if (cash_number < 0.75){ cash_rating.text = "CAT BURGLAR"; } else { if (cash_number < 0.99999999){ cash_rating.text = "SCROOGE"; } else { if (cash_number == 1){ cash_rating.text = "PERFECT"; }; }; }; }; }; if (msg_number < 0.25){ msg_rating.text = "BLIND"; } else { if (msg_number < 0.5){ msg_rating.text = "NEEDS GLASSES"; } else { if (msg_number < 0.75){ msg_rating.text = "PERCEPTIVE"; } else { if (msg_number < 0.99999999){ msg_rating.text = "PEDANTIC"; } else { if (msg_number == 1){ msg_rating.text = "PERFECT"; }; }; }; }; }; if (enemy_number < 0.25){ enemy_rating.text = "BENEVOLENT"; } else { if (enemy_number < 0.5){ enemy_rating.text = "EYE FOR AN EYE"; } else { if (enemy_number < 0.75){ enemy_rating.text = "SADISTIC"; } else { if (enemy_number < 0.99999999){ enemy_rating.text = "OLD TESTAMENT"; } else { if (enemy_number == 1){ enemy_rating.text = "PERFECT"; }; }; }; }; }; stop(); } public function titleFade(_arg1:Event){ if (((!((title_logo == null))) && ((title_logo.alpha < 1)))){ title_logo.alpha = (title_logo.alpha + 0.015); buttons.alpha = (buttons.alpha + 0.015); } else { if (title_logo != null){ title_logo.alpha = 1; buttons.alpha = 1; }; NitromeGame.sound_manager.playMusicFadeIn(SoundManager.MENU); removeEventListener(Event.ENTER_FRAME, titleFade); }; } function frame91(){ stage.quality = StageQuality.LOW; game = new Game(shaker.canvas, shaker, back); stop(); } function frame101(){ game.clearAll(); game = null; loading_clip.gotoAndStop("loading"); gotoAndStop("game"); } function frame112(){ story.init(); stop(); } } }//package finalninjazero_fla
Section 165
//mcAnimation_648 (finalninjazero_fla.mcAnimation_648) package finalninjazero_fla { import flash.display.*; public dynamic class mcAnimation_648 extends MovieClip { public function mcAnimation_648(){ addFrameScript(135, frame136); } function frame136(){ NitromeGame.timeline.gotoAndStop("nitrome"); parent.parent.removeChild(parent); stop(); } } }//package finalninjazero_fla
Section 166
//menu_music_holder_627 (finalninjazero_fla.menu_music_holder_627) package finalninjazero_fla { import flash.display.*; public dynamic class menu_music_holder_627 extends MovieClip { public function menu_music_holder_627(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package finalninjazero_fla
Section 167
//missile_635 (finalninjazero_fla.missile_635) package finalninjazero_fla { import flash.display.*; public dynamic class missile_635 extends MovieClip { public function missile_635(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 168
//msg_638 (finalninjazero_fla.msg_638) package finalninjazero_fla { import flash.display.*; public dynamic class msg_638 extends MovieClip { public function msg_638(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 169
//ninjareveal_40 (finalninjazero_fla.ninjareveal_40) package finalninjazero_fla { import flash.display.*; public dynamic class ninjareveal_40 extends MovieClip { public function ninjareveal_40(){ addFrameScript(148, frame149); } function frame149(){ stop(); } } }//package finalninjazero_fla
Section 170
//ninrun_96 (finalninjazero_fla.ninrun_96) package finalninjazero_fla { import flash.display.*; public dynamic class ninrun_96 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 171
//ninrun_help_184 (finalninjazero_fla.ninrun_help_184) package finalninjazero_fla { import flash.display.*; public dynamic class ninrun_help_184 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 172
//ninswing_99 (finalninjazero_fla.ninswing_99) package finalninjazero_fla { import flash.display.*; public dynamic class ninswing_99 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 173
//ninswing_help_194 (finalninjazero_fla.ninswing_help_194) package finalninjazero_fla { import flash.display.*; public dynamic class ninswing_help_194 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 174
//nitrome_intro_662 (finalninjazero_fla.nitrome_intro_662) package finalninjazero_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.text.*; import flash.media.*; import flash.ui.*; import flash.net.*; import flash.utils.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.system.*; import flash.xml.*; public dynamic class nitrome_intro_662 extends MovieClip { public var buffered:Array; public var _t:IntroMC5; public var rect:Rectangle; public var _r:IntroMC4; public var map_mask:MovieClip; public var clips:Array; public var bitmaps:Array; public var classes:Array; public var buffers:Array; public var bitmap:Bitmap; public var pos:Array; public var i:int; public var bitmapdata:BitmapData; public var moved:Array; public var bounds:Rectangle; public var matrix:Matrix; public var buffer:BitmapData; public var _e:IntroMC1; public var _m:IntroMC2; public var _n:IntroMC7; public var _i:IntroMC6; public var _o:IntroMC3; public function nitrome_intro_662(){ addFrameScript(0, frame1, 169, frame170); } function frame170(){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); NitromeGame.transition.doTween("pre_title_screen"); stop(); } function frame1(){ if (NitromeGame.timeline.currentLabel != "nitrome"){ stop(); }; classes = [IntroMC7, IntroMC6, IntroMC5, IntroMC4, IntroMC3, IntroMC2, IntroMC1]; clips = []; pos = [{x:0, y:0}, {x:0, y:0}, {x:0, y:0}, {x:0, y:0}, {x:0, y:0}, {x:0, y:0}, {x:0, y:0}]; moved = [false, false, false, false, false, false, false]; buffered = [2, 2, 2, 2, 2, 2, 2]; clips[0] = _n; clips[1] = _i; clips[2] = _t; clips[3] = _r; clips[4] = _o; clips[5] = _m; clips[6] = _e; bitmaps = []; buffers = []; matrix = new Matrix(); rect = new Rectangle(); i = 0; while (i < clips.length) { bounds = clips[i].getBounds(this); bitmapdata = new BitmapData(bounds.width, bounds.height, true, 0xFFFFFF); buffer = new BitmapData(bounds.width, bounds.height, true, 0xFFFFFF); bitmap = new Bitmap(bitmapdata); bitmaps.push(bitmap); buffers.push(buffer); map_mask = new (classes[i]); clips[i].addChild(bitmap); clips[i].addChild(map_mask); bitmap.cacheAsBitmap = true; map_mask.cacheAsBitmap = true; bitmap.mask = map_mask; pos[i].x = clips[i].x; pos[i].y = clips[i].y; i++; }; addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); } public function onEnterFrame(_arg1:Event):void{ i = 0; while (i < clips.length) { bitmaps[i].bitmapData.copyPixels(buffers[i], new Rectangle(0, 0, bitmaps[i].width, bitmaps[i].height), new Point()); clips[i].visible = false; i++; }; i = 0; while (i < clips.length) { rect = new Rectangle(0, 0, clips[i].width, clips[i].height); matrix.tx = -(clips[i].x); matrix.ty = -(clips[i].y); buffers[i].draw(this, matrix, null, null, rect); if (((((((((clips[i].x + (clips[i].width - 1)) > -270)) && (((clips[i].y + (clips[i].height - 1)) < 200)))) && ((clips[i].x >= -270)))) && ((clips[i].y >= -200)))){ var _local2 = buffered; var _local3 = i; var _local4 = (_local2[_local3] - 1); _local2[_local3] = _local4; }; i++; }; i = 0; while (i < clips.length) { if (buffered[i] <= 0){ clips[i].visible = true; if (((moved[i]) && ((((Math.abs((pos[i].x - clips[i].x)) >> 0) + (Math.abs((pos[i].y - clips[i].y)) >> 0)) == 0)))){ if (bitmaps[i].alpha > 0){ bitmaps[i].alpha = (bitmaps[i].alpha - 0.1); }; } else { if (((Math.abs((pos[i].x - clips[i].x)) >> 0) + (Math.abs((pos[i].y - clips[i].y)) >> 0)) != 0){ moved[i] = true; }; }; }; pos[i].x = clips[i].x; pos[i].y = clips[i].y; i++; }; } } }//package finalninjazero_fla
Section 175
//oishii_619 (finalninjazero_fla.oishii_619) package finalninjazero_fla { import flash.display.*; public dynamic class oishii_619 extends MovieClip { public function oishii_619(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 176
//pauseswat_223 (finalninjazero_fla.pauseswat_223) package finalninjazero_fla { import flash.display.*; public dynamic class pauseswat_223 extends MovieClip { public var arm:MovieClip; } }//package finalninjazero_fla
Section 177
//popup_clip_179 (finalninjazero_fla.popup_clip_179) package finalninjazero_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import com.nitrome.game.*; import flash.text.*; import flash.media.*; import flash.ui.*; import flash.net.*; import flash.utils.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.system.*; import flash.xml.*; public dynamic class popup_clip_179 extends MovieClip { public var try_again_button:TryAgainButton; public var cash_count:TextField; public var cash_bonus:TextField; public var ticker_score:ScoreTicker; public var next_level_button:NextLevelButton; public var hunt_bonus:TextField; public var enemy_count:TextField; public var continue_end_button:ContinueEndButton; public var msg_count:TextField; public var msg_bonus:TextField; public function popup_clip_179(){ addFrameScript(0, frame1, 1, frame2, 15, frame16, 29, frame30, 45, frame46, 60, frame61); } function frame16(){ ticker_score.startCount(Score.value, (Score.value / 75)); stop(); } function frame1(){ stop(); } function frame2(){ cash_bonus.text = (((("CASH BONUS (" + NitromeGame.bonus.cash_count.value) + "/") + NitromeGame.bonus.cash_total.value) + ")"); msg_bonus.text = (((("MSG BONUS (" + NitromeGame.bonus.msg_count.value) + "/") + NitromeGame.bonus.msg_total.value) + ")"); hunt_bonus.text = (((("HUNT BONUS (" + NitromeGame.bonus.enemy_count.value) + "/") + NitromeGame.bonus.enemy_total.value) + ")"); stop(); } function frame30(){ cash_bonus.text = (((("CASH BONUS (" + NitromeGame.bonus.cash_count.value) + "/") + NitromeGame.bonus.cash_total.value) + ")"); msg_bonus.text = (((("MSG BONUS (" + NitromeGame.bonus.msg_count.value) + "/") + NitromeGame.bonus.msg_total.value) + ")"); hunt_bonus.text = (((("HUNT BONUS (" + NitromeGame.bonus.enemy_count.value) + "/") + NitromeGame.bonus.enemy_total.value) + ")"); stop(); } function frame46(){ cash_count.text = ((("CASH: " + NitromeGame.bonus.cash_count.value) + "/") + NitromeGame.bonus.cash_total.value); msg_count.text = ((("MSG: " + NitromeGame.bonus.msg_count.value) + "/") + NitromeGame.bonus.msg_total.value); enemy_count.text = ((("ENEMIES: " + NitromeGame.bonus.enemy_count.value) + "/") + NitromeGame.bonus.enemy_total.value); stop(); } function frame61(){ stop(); } } }//package finalninjazero_fla
Section 178
//powerdown_633 (finalninjazero_fla.powerdown_633) package finalninjazero_fla { import flash.display.*; public dynamic class powerdown_633 extends MovieClip { public function powerdown_633(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 179
//scientistdead_230 (finalninjazero_fla.scientistdead_230) package finalninjazero_fla { import flash.display.*; public dynamic class scientistdead_230 extends MovieClip { public function scientistdead_230(){ addFrameScript(23, frame24); } function frame24(){ stop(); } } }//package finalninjazero_fla
Section 180
//scientisthit_634 (finalninjazero_fla.scientisthit_634) package finalninjazero_fla { import flash.display.*; public dynamic class scientisthit_634 extends MovieClip { public function scientisthit_634(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 181
//score_counter_clip_181 (finalninjazero_fla.score_counter_clip_181) package finalninjazero_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import com.nitrome.game.*; import flash.text.*; import flash.media.*; import flash.ui.*; import flash.net.*; import flash.utils.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.system.*; import flash.xml.*; public dynamic class score_counter_clip_181 extends MovieClip { public var ticker_level:ScoreTicker; public var ticker_score:ScoreTicker; public var ticker_cash:ScoreTicker; public var ticker_dodge:ScoreTicker; public var ticker_hunt:ScoreTicker; public var ticker_msg:ScoreTicker; public function score_counter_clip_181(){ addFrameScript(19, frame20); } function frame20(){ ticker_cash.setOnFinish("ticker_msg", ((NitromeGame.bonus.msg_count.value == NitromeGame.bonus.msg_total.value)) ? 5000 : 0, (5000 / 25)); ticker_msg.setOnFinish("ticker_hunt", ((NitromeGame.bonus.enemy_count.value == NitromeGame.bonus.enemy_total.value)) ? 10000 : 0, (10000 / 25)); ticker_hunt.setOnFinish("ticker_dodge", (NitromeGame.bonus.dodge.value) ? 5000 : 0, (5000 / 25)); ticker_dodge.setOnFinish("ticker_level", NitromeGame.level_score, (NitromeGame.level_score / 50)); ticker_level.setOnFinish("ticker_score", Score.value, (Score.value / 50)); ticker_cash.startCount(((NitromeGame.bonus.cash_count.value == NitromeGame.bonus.cash_total.value)) ? 5000 : 0, (5000 / 25)); stop(); } } }//package finalninjazero_fla
Section 182
//score_panel_685 (finalninjazero_fla.score_panel_685) package finalninjazero_fla { import flash.display.*; import flash.text.*; public dynamic class score_panel_685 extends MovieClip { public var score:TextField; } }//package finalninjazero_fla
Section 183
//shaker_682 (finalninjazero_fla.shaker_682) package finalninjazero_fla { import flash.display.*; public dynamic class shaker_682 extends MovieClip { public var canvas:holder; } }//package finalninjazero_fla
Section 184
//smithdie_625 (finalninjazero_fla.smithdie_625) package finalninjazero_fla { import flash.display.*; public dynamic class smithdie_625 extends MovieClip { public function smithdie_625(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 185
//smithhit_620 (finalninjazero_fla.smithhit_620) package finalninjazero_fla { import flash.display.*; public dynamic class smithhit_620 extends MovieClip { public function smithhit_620(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 186
//star_hit_612 (finalninjazero_fla.star_hit_612) package finalninjazero_fla { import flash.display.*; public dynamic class star_hit_612 extends MovieClip { public function star_hit_612(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 187
//stealthnin_95 (finalninjazero_fla.stealthnin_95) package finalninjazero_fla { import flash.display.*; public dynamic class stealthnin_95 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 188
//sunflare_680 (finalninjazero_fla.sunflare_680) package finalninjazero_fla { import flash.display.*; public dynamic class sunflare_680 extends MovieClip { public var sparkle2:MovieClip; public var sparkle1:MovieClip; } }//package finalninjazero_fla
Section 189
//swat_flare_49 (finalninjazero_fla.swat_flare_49) package finalninjazero_fla { import flash.display.*; public dynamic class swat_flare_49 extends MovieClip { public function swat_flare_49(){ addFrameScript(8, frame9); } function frame9(){ stop(); } } }//package finalninjazero_fla
Section 190
//swatgun_200 (finalninjazero_fla.swatgun_200) package finalninjazero_fla { import flash.display.*; public dynamic class swatgun_200 extends MovieClip { public var cartridges:MovieClip; public function swatgun_200(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 191
//swdefend_252 (finalninjazero_fla.swdefend_252) package finalninjazero_fla { import flash.display.*; public dynamic class swdefend_252 extends MovieClip { public function swdefend_252(){ addFrameScript(0, frame1); } function frame1(){ NitromeGame.sound_manager.playSound("tang"); } } }//package finalninjazero_fla
Section 192
//swjumpfin_254 (finalninjazero_fla.swjumpfin_254) package finalninjazero_fla { import flash.display.*; public dynamic class swjumpfin_254 extends MovieClip { public function swjumpfin_254(){ addFrameScript(6, frame7, 21, frame22); } function frame7(){ NitromeGame.sound_manager.playSound("sword1"); } function frame22(){ NitromeGame.sound_manager.playSound("chop"); } } }//package finalninjazero_fla
Section 193
//sword1_613 (finalninjazero_fla.sword1_613) package finalninjazero_fla { import flash.display.*; public dynamic class sword1_613 extends MovieClip { public function sword1_613(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 194
//sword2_614 (finalninjazero_fla.sword2_614) package finalninjazero_fla { import flash.display.*; public dynamic class sword2_614 extends MovieClip { public function sword2_614(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 195
//swstandinattack_253 (finalninjazero_fla.swstandinattack_253) package finalninjazero_fla { import flash.display.*; public dynamic class swstandinattack_253 extends MovieClip { public function swstandinattack_253(){ addFrameScript(0, frame1, 4, frame5); } function frame1(){ NitromeGame.sound_manager.playSound("sword2"); } function frame5(){ NitromeGame.sound_manager.playSound("chop"); } } }//package finalninjazero_fla
Section 196
//swwaitdef_256 (finalninjazero_fla.swwaitdef_256) package finalninjazero_fla { import flash.display.*; public dynamic class swwaitdef_256 extends MovieClip { public function swwaitdef_256(){ addFrameScript(7, frame8); } function frame8(){ stop(); } } }//package finalninjazero_fla
Section 197
//tang_615 (finalninjazero_fla.tang_615) package finalninjazero_fla { import flash.display.*; public dynamic class tang_615 extends MovieClip { public function tang_615(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 198
//text_panel_687 (finalninjazero_fla.text_panel_687) package finalninjazero_fla { import flash.display.*; public dynamic class text_panel_687 extends MovieClip { public var panel:MovieClip; public function text_panel_687(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package finalninjazero_fla
Section 199
//text_panel_faces_689 (finalninjazero_fla.text_panel_faces_689) package finalninjazero_fla { import flash.display.*; public dynamic class text_panel_faces_689 extends MovieClip { public function text_panel_faces_689(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 200
//text_panel_panel_688 (finalninjazero_fla.text_panel_panel_688) package finalninjazero_fla { import flash.display.*; import flash.text.*; public dynamic class text_panel_panel_688 extends MovieClip { public var message_text:TextField; public var face_panel:MovieClip; } }//package finalninjazero_fla
Section 201
//top_clip_lvls_55 (finalninjazero_fla.top_clip_lvls_55) package finalninjazero_fla { import flash.display.*; public dynamic class top_clip_lvls_55 extends MovieClip { public var top:MovieClip; } }//package finalninjazero_fla
Section 202
//waitinnin_100 (finalninjazero_fla.waitinnin_100) package finalninjazero_fla { import flash.display.*; public dynamic class waitinnin_100 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 203
//waitnin_83 (finalninjazero_fla.waitnin_83) package finalninjazero_fla { import flash.display.*; public dynamic class waitnin_83 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 204
//waitnin_help_188 (finalninjazero_fla.waitnin_help_188) package finalninjazero_fla { import flash.display.*; public dynamic class waitnin_help_188 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 205
//waitnin_redy_help_190 (finalninjazero_fla.waitnin_redy_help_190) package finalninjazero_fla { import flash.display.*; public dynamic class waitnin_redy_help_190 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 206
//waitnin_redy_throw_191 (finalninjazero_fla.waitnin_redy_throw_191) package finalninjazero_fla { import flash.display.*; public dynamic class waitnin_redy_throw_191 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 207
//wallnin_98 (finalninjazero_fla.wallnin_98) package finalninjazero_fla { import flash.display.*; public dynamic class wallnin_98 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 208
//wallnin_help_197 (finalninjazero_fla.wallnin_help_197) package finalninjazero_fla { import flash.display.*; public dynamic class wallnin_help_197 extends MovieClip { public var right_eye:MovieClip; public var left_eye:MovieClip; } }//package finalninjazero_fla
Section 209
//wallpuff_50 (finalninjazero_fla.wallpuff_50) package finalninjazero_fla { import flash.display.*; public dynamic class wallpuff_50 extends MovieClip { public function wallpuff_50(){ addFrameScript(13, frame14); } function frame14(){ stop(); } } }//package finalninjazero_fla
Section 210
//wom_616 (finalninjazero_fla.wom_616) package finalninjazero_fla { import flash.display.*; public dynamic class wom_616 extends MovieClip { public function wom_616(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 211
//yatta_622 (finalninjazero_fla.yatta_622) package finalninjazero_fla { import flash.display.*; public dynamic class yatta_622 extends MovieClip { public function yatta_622(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package finalninjazero_fla
Section 212
//BackArrayMC (BackArrayMC) package { import flash.display.*; public dynamic class BackArrayMC extends MovieClip { } }//package
Section 213
//BangMC1 (BangMC1) package { import flash.display.*; public dynamic class BangMC1 extends MovieClip { } }//package
Section 214
//BangMC2 (BangMC2) package { import flash.display.*; public dynamic class BangMC2 extends MovieClip { } }//package
Section 215
//BangMC3 (BangMC3) package { import flash.display.*; public dynamic class BangMC3 extends MovieClip { } }//package
Section 216
//BeamMC1 (BeamMC1) package { import flash.display.*; public dynamic class BeamMC1 extends MovieClip { public var beam:MovieClip; } }//package
Section 217
//BeamMC2 (BeamMC2) package { import flash.display.*; public dynamic class BeamMC2 extends MovieClip { public var beam:MovieClip; } }//package
Section 218
//BigShieldMC (BigShieldMC) package { import flash.display.*; public dynamic class BigShieldMC extends Sprite { } }//package
Section 219
//BladeManMC (BladeManMC) package { import flash.display.*; public dynamic class BladeManMC extends MovieClip { public function BladeManMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 220
//BlockMC1 (BlockMC1) package { import flash.display.*; public dynamic class BlockMC1 extends Sprite { } }//package
Section 221
//BlockMC10 (BlockMC10) package { import flash.display.*; public dynamic class BlockMC10 extends Sprite { } }//package
Section 222
//BlockMC100 (BlockMC100) package { import flash.display.*; public dynamic class BlockMC100 extends Sprite { } }//package
Section 223
//BlockMC101 (BlockMC101) package { import flash.display.*; public dynamic class BlockMC101 extends Sprite { } }//package
Section 224
//BlockMC102 (BlockMC102) package { import flash.display.*; public dynamic class BlockMC102 extends Sprite { } }//package
Section 225
//BlockMC103 (BlockMC103) package { import flash.display.*; public dynamic class BlockMC103 extends Sprite { } }//package
Section 226
//BlockMC104 (BlockMC104) package { import flash.display.*; public dynamic class BlockMC104 extends Sprite { } }//package
Section 227
//BlockMC105 (BlockMC105) package { import flash.display.*; public dynamic class BlockMC105 extends Sprite { } }//package
Section 228
//BlockMC106 (BlockMC106) package { import flash.display.*; public dynamic class BlockMC106 extends Sprite { } }//package
Section 229
//BlockMC107 (BlockMC107) package { import flash.display.*; public dynamic class BlockMC107 extends Sprite { } }//package
Section 230
//BlockMC108 (BlockMC108) package { import flash.display.*; public dynamic class BlockMC108 extends Sprite { } }//package
Section 231
//BlockMC109 (BlockMC109) package { import flash.display.*; public dynamic class BlockMC109 extends Sprite { } }//package
Section 232
//BlockMC11 (BlockMC11) package { import flash.display.*; public dynamic class BlockMC11 extends Sprite { } }//package
Section 233
//BlockMC110 (BlockMC110) package { import flash.display.*; public dynamic class BlockMC110 extends Sprite { } }//package
Section 234
//BlockMC111 (BlockMC111) package { import flash.display.*; public dynamic class BlockMC111 extends Sprite { } }//package
Section 235
//BlockMC112 (BlockMC112) package { import flash.display.*; public dynamic class BlockMC112 extends Sprite { } }//package
Section 236
//BlockMC113 (BlockMC113) package { import flash.display.*; public dynamic class BlockMC113 extends Sprite { } }//package
Section 237
//BlockMC114 (BlockMC114) package { import flash.display.*; public dynamic class BlockMC114 extends Sprite { } }//package
Section 238
//BlockMC115 (BlockMC115) package { import flash.display.*; public dynamic class BlockMC115 extends Sprite { } }//package
Section 239
//BlockMC116 (BlockMC116) package { import flash.display.*; public dynamic class BlockMC116 extends Sprite { } }//package
Section 240
//BlockMC117 (BlockMC117) package { import flash.display.*; public dynamic class BlockMC117 extends Sprite { } }//package
Section 241
//BlockMC118 (BlockMC118) package { import flash.display.*; public dynamic class BlockMC118 extends Sprite { } }//package
Section 242
//BlockMC119 (BlockMC119) package { import flash.display.*; public dynamic class BlockMC119 extends Sprite { } }//package
Section 243
//BlockMC12 (BlockMC12) package { import flash.display.*; public dynamic class BlockMC12 extends Sprite { } }//package
Section 244
//BlockMC120 (BlockMC120) package { import flash.display.*; public dynamic class BlockMC120 extends Sprite { } }//package
Section 245
//BlockMC121 (BlockMC121) package { import flash.display.*; public dynamic class BlockMC121 extends Sprite { } }//package
Section 246
//BlockMC122 (BlockMC122) package { import flash.display.*; public dynamic class BlockMC122 extends Sprite { } }//package
Section 247
//BlockMC123 (BlockMC123) package { import flash.display.*; public dynamic class BlockMC123 extends Sprite { } }//package
Section 248
//BlockMC124 (BlockMC124) package { import flash.display.*; public dynamic class BlockMC124 extends Sprite { } }//package
Section 249
//BlockMC125 (BlockMC125) package { import flash.display.*; public dynamic class BlockMC125 extends Sprite { } }//package
Section 250
//BlockMC126 (BlockMC126) package { import flash.display.*; public dynamic class BlockMC126 extends Sprite { } }//package
Section 251
//BlockMC127 (BlockMC127) package { import flash.display.*; public dynamic class BlockMC127 extends Sprite { } }//package
Section 252
//BlockMC128 (BlockMC128) package { import flash.display.*; public dynamic class BlockMC128 extends Sprite { } }//package
Section 253
//BlockMC129 (BlockMC129) package { import flash.display.*; public dynamic class BlockMC129 extends Sprite { } }//package
Section 254
//BlockMC13 (BlockMC13) package { import flash.display.*; public dynamic class BlockMC13 extends Sprite { } }//package
Section 255
//BlockMC130 (BlockMC130) package { import flash.display.*; public dynamic class BlockMC130 extends Sprite { } }//package
Section 256
//BlockMC131 (BlockMC131) package { import flash.display.*; public dynamic class BlockMC131 extends Sprite { } }//package
Section 257
//BlockMC132 (BlockMC132) package { import flash.display.*; public dynamic class BlockMC132 extends Sprite { } }//package
Section 258
//BlockMC133 (BlockMC133) package { import flash.display.*; public dynamic class BlockMC133 extends Sprite { } }//package
Section 259
//BlockMC134 (BlockMC134) package { import flash.display.*; public dynamic class BlockMC134 extends Sprite { } }//package
Section 260
//BlockMC135 (BlockMC135) package { import flash.display.*; public dynamic class BlockMC135 extends Sprite { } }//package
Section 261
//BlockMC136 (BlockMC136) package { import flash.display.*; public dynamic class BlockMC136 extends Sprite { } }//package
Section 262
//BlockMC137 (BlockMC137) package { import flash.display.*; public dynamic class BlockMC137 extends Sprite { } }//package
Section 263
//BlockMC138 (BlockMC138) package { import flash.display.*; public dynamic class BlockMC138 extends Sprite { } }//package
Section 264
//BlockMC139 (BlockMC139) package { import flash.display.*; public dynamic class BlockMC139 extends Sprite { } }//package
Section 265
//BlockMC14 (BlockMC14) package { import flash.display.*; public dynamic class BlockMC14 extends Sprite { } }//package
Section 266
//BlockMC140 (BlockMC140) package { import flash.display.*; public dynamic class BlockMC140 extends Sprite { } }//package
Section 267
//BlockMC141 (BlockMC141) package { import flash.display.*; public dynamic class BlockMC141 extends Sprite { } }//package
Section 268
//BlockMC142 (BlockMC142) package { import flash.display.*; public dynamic class BlockMC142 extends Sprite { } }//package
Section 269
//BlockMC143 (BlockMC143) package { import flash.display.*; public dynamic class BlockMC143 extends Sprite { } }//package
Section 270
//BlockMC144 (BlockMC144) package { import flash.display.*; public dynamic class BlockMC144 extends Sprite { } }//package
Section 271
//BlockMC145 (BlockMC145) package { import flash.display.*; public dynamic class BlockMC145 extends Sprite { } }//package
Section 272
//BlockMC146 (BlockMC146) package { import flash.display.*; public dynamic class BlockMC146 extends Sprite { } }//package
Section 273
//BlockMC147 (BlockMC147) package { import flash.display.*; public dynamic class BlockMC147 extends Sprite { } }//package
Section 274
//BlockMC148 (BlockMC148) package { import flash.display.*; public dynamic class BlockMC148 extends Sprite { } }//package
Section 275
//BlockMC149 (BlockMC149) package { import flash.display.*; public dynamic class BlockMC149 extends Sprite { } }//package
Section 276
//BlockMC15 (BlockMC15) package { import flash.display.*; public dynamic class BlockMC15 extends Sprite { } }//package
Section 277
//BlockMC150 (BlockMC150) package { import flash.display.*; public dynamic class BlockMC150 extends Sprite { } }//package
Section 278
//BlockMC151 (BlockMC151) package { import flash.display.*; public dynamic class BlockMC151 extends Sprite { } }//package
Section 279
//BlockMC152 (BlockMC152) package { import flash.display.*; public dynamic class BlockMC152 extends Sprite { } }//package
Section 280
//BlockMC153 (BlockMC153) package { import flash.display.*; public dynamic class BlockMC153 extends Sprite { } }//package
Section 281
//BlockMC154 (BlockMC154) package { import flash.display.*; public dynamic class BlockMC154 extends Sprite { } }//package
Section 282
//BlockMC155 (BlockMC155) package { import flash.display.*; public dynamic class BlockMC155 extends Sprite { } }//package
Section 283
//BlockMC156 (BlockMC156) package { import flash.display.*; public dynamic class BlockMC156 extends Sprite { } }//package
Section 284
//BlockMC157 (BlockMC157) package { import flash.display.*; public dynamic class BlockMC157 extends Sprite { } }//package
Section 285
//BlockMC158 (BlockMC158) package { import flash.display.*; public dynamic class BlockMC158 extends Sprite { } }//package
Section 286
//BlockMC159 (BlockMC159) package { import flash.display.*; public dynamic class BlockMC159 extends Sprite { } }//package
Section 287
//BlockMC16 (BlockMC16) package { import flash.display.*; public dynamic class BlockMC16 extends Sprite { } }//package
Section 288
//BlockMC160 (BlockMC160) package { import flash.display.*; public dynamic class BlockMC160 extends Sprite { } }//package
Section 289
//BlockMC161 (BlockMC161) package { import flash.display.*; public dynamic class BlockMC161 extends Sprite { } }//package
Section 290
//BlockMC162 (BlockMC162) package { import flash.display.*; public dynamic class BlockMC162 extends Sprite { } }//package
Section 291
//BlockMC163 (BlockMC163) package { import flash.display.*; public dynamic class BlockMC163 extends Sprite { } }//package
Section 292
//BlockMC164 (BlockMC164) package { import flash.display.*; public dynamic class BlockMC164 extends Sprite { } }//package
Section 293
//BlockMC165 (BlockMC165) package { import flash.display.*; public dynamic class BlockMC165 extends Sprite { } }//package
Section 294
//BlockMC166 (BlockMC166) package { import flash.display.*; public dynamic class BlockMC166 extends Sprite { } }//package
Section 295
//BlockMC167 (BlockMC167) package { import flash.display.*; public dynamic class BlockMC167 extends Sprite { } }//package
Section 296
//BlockMC168 (BlockMC168) package { import flash.display.*; public dynamic class BlockMC168 extends Sprite { } }//package
Section 297
//BlockMC169 (BlockMC169) package { import flash.display.*; public dynamic class BlockMC169 extends Sprite { } }//package
Section 298
//BlockMC17 (BlockMC17) package { import flash.display.*; public dynamic class BlockMC17 extends Sprite { } }//package
Section 299
//BlockMC170 (BlockMC170) package { import flash.display.*; public dynamic class BlockMC170 extends Sprite { } }//package
Section 300
//BlockMC171 (BlockMC171) package { import flash.display.*; public dynamic class BlockMC171 extends Sprite { } }//package
Section 301
//BlockMC172 (BlockMC172) package { import flash.display.*; public dynamic class BlockMC172 extends Sprite { } }//package
Section 302
//BlockMC173 (BlockMC173) package { import flash.display.*; public dynamic class BlockMC173 extends Sprite { } }//package
Section 303
//BlockMC174 (BlockMC174) package { import flash.display.*; public dynamic class BlockMC174 extends Sprite { } }//package
Section 304
//BlockMC175 (BlockMC175) package { import flash.display.*; public dynamic class BlockMC175 extends Sprite { } }//package
Section 305
//BlockMC176 (BlockMC176) package { import flash.display.*; public dynamic class BlockMC176 extends Sprite { } }//package
Section 306
//BlockMC177 (BlockMC177) package { import flash.display.*; public dynamic class BlockMC177 extends Sprite { } }//package
Section 307
//BlockMC178 (BlockMC178) package { import flash.display.*; public dynamic class BlockMC178 extends Sprite { } }//package
Section 308
//BlockMC179 (BlockMC179) package { import flash.display.*; public dynamic class BlockMC179 extends Sprite { } }//package
Section 309
//BlockMC18 (BlockMC18) package { import flash.display.*; public dynamic class BlockMC18 extends Sprite { } }//package
Section 310
//BlockMC180 (BlockMC180) package { import flash.display.*; public dynamic class BlockMC180 extends Sprite { } }//package
Section 311
//BlockMC181 (BlockMC181) package { import flash.display.*; public dynamic class BlockMC181 extends Sprite { } }//package
Section 312
//BlockMC182 (BlockMC182) package { import flash.display.*; public dynamic class BlockMC182 extends Sprite { } }//package
Section 313
//BlockMC183 (BlockMC183) package { import flash.display.*; public dynamic class BlockMC183 extends Sprite { } }//package
Section 314
//BlockMC184 (BlockMC184) package { import flash.display.*; public dynamic class BlockMC184 extends Sprite { } }//package
Section 315
//BlockMC185 (BlockMC185) package { import flash.display.*; public dynamic class BlockMC185 extends Sprite { } }//package
Section 316
//BlockMC186 (BlockMC186) package { import flash.display.*; public dynamic class BlockMC186 extends Sprite { } }//package
Section 317
//BlockMC187 (BlockMC187) package { import flash.display.*; public dynamic class BlockMC187 extends Sprite { } }//package
Section 318
//BlockMC188 (BlockMC188) package { import flash.display.*; public dynamic class BlockMC188 extends Sprite { } }//package
Section 319
//BlockMC189 (BlockMC189) package { import flash.display.*; public dynamic class BlockMC189 extends Sprite { } }//package
Section 320
//BlockMC19 (BlockMC19) package { import flash.display.*; public dynamic class BlockMC19 extends Sprite { } }//package
Section 321
//BlockMC190 (BlockMC190) package { import flash.display.*; public dynamic class BlockMC190 extends Sprite { } }//package
Section 322
//BlockMC191 (BlockMC191) package { import flash.display.*; public dynamic class BlockMC191 extends Sprite { } }//package
Section 323
//BlockMC192 (BlockMC192) package { import flash.display.*; public dynamic class BlockMC192 extends Sprite { } }//package
Section 324
//BlockMC193 (BlockMC193) package { import flash.display.*; public dynamic class BlockMC193 extends Sprite { } }//package
Section 325
//BlockMC194 (BlockMC194) package { import flash.display.*; public dynamic class BlockMC194 extends Sprite { } }//package
Section 326
//BlockMC195 (BlockMC195) package { import flash.display.*; public dynamic class BlockMC195 extends Sprite { } }//package
Section 327
//BlockMC196 (BlockMC196) package { import flash.display.*; public dynamic class BlockMC196 extends Sprite { } }//package
Section 328
//BlockMC197 (BlockMC197) package { import flash.display.*; public dynamic class BlockMC197 extends Sprite { } }//package
Section 329
//BlockMC198 (BlockMC198) package { import flash.display.*; public dynamic class BlockMC198 extends Sprite { } }//package
Section 330
//BlockMC199 (BlockMC199) package { import flash.display.*; public dynamic class BlockMC199 extends Sprite { } }//package
Section 331
//BlockMC2 (BlockMC2) package { import flash.display.*; public dynamic class BlockMC2 extends Sprite { } }//package
Section 332
//BlockMC20 (BlockMC20) package { import flash.display.*; public dynamic class BlockMC20 extends Sprite { } }//package
Section 333
//BlockMC200 (BlockMC200) package { import flash.display.*; public dynamic class BlockMC200 extends Sprite { } }//package
Section 334
//BlockMC201 (BlockMC201) package { import flash.display.*; public dynamic class BlockMC201 extends Sprite { } }//package
Section 335
//BlockMC202 (BlockMC202) package { import flash.display.*; public dynamic class BlockMC202 extends Sprite { } }//package
Section 336
//BlockMC203 (BlockMC203) package { import flash.display.*; public dynamic class BlockMC203 extends Sprite { } }//package
Section 337
//BlockMC204 (BlockMC204) package { import flash.display.*; public dynamic class BlockMC204 extends Sprite { } }//package
Section 338
//BlockMC205 (BlockMC205) package { import flash.display.*; public dynamic class BlockMC205 extends Sprite { } }//package
Section 339
//BlockMC206 (BlockMC206) package { import flash.display.*; public dynamic class BlockMC206 extends Sprite { } }//package
Section 340
//BlockMC207 (BlockMC207) package { import flash.display.*; public dynamic class BlockMC207 extends Sprite { } }//package
Section 341
//BlockMC208 (BlockMC208) package { import flash.display.*; public dynamic class BlockMC208 extends Sprite { } }//package
Section 342
//BlockMC209 (BlockMC209) package { import flash.display.*; public dynamic class BlockMC209 extends Sprite { } }//package
Section 343
//BlockMC21 (BlockMC21) package { import flash.display.*; public dynamic class BlockMC21 extends Sprite { } }//package
Section 344
//BlockMC210 (BlockMC210) package { import flash.display.*; public dynamic class BlockMC210 extends Sprite { } }//package
Section 345
//BlockMC211 (BlockMC211) package { import flash.display.*; public dynamic class BlockMC211 extends Sprite { } }//package
Section 346
//BlockMC212 (BlockMC212) package { import flash.display.*; public dynamic class BlockMC212 extends Sprite { } }//package
Section 347
//BlockMC213 (BlockMC213) package { import flash.display.*; public dynamic class BlockMC213 extends Sprite { } }//package
Section 348
//BlockMC214 (BlockMC214) package { import flash.display.*; public dynamic class BlockMC214 extends Sprite { } }//package
Section 349
//BlockMC215 (BlockMC215) package { import flash.display.*; public dynamic class BlockMC215 extends Sprite { } }//package
Section 350
//BlockMC216 (BlockMC216) package { import flash.display.*; public dynamic class BlockMC216 extends Sprite { } }//package
Section 351
//BlockMC217 (BlockMC217) package { import flash.display.*; public dynamic class BlockMC217 extends Sprite { } }//package
Section 352
//BlockMC218 (BlockMC218) package { import flash.display.*; public dynamic class BlockMC218 extends Sprite { } }//package
Section 353
//BlockMC219 (BlockMC219) package { import flash.display.*; public dynamic class BlockMC219 extends Sprite { } }//package
Section 354
//BlockMC22 (BlockMC22) package { import flash.display.*; public dynamic class BlockMC22 extends Sprite { } }//package
Section 355
//BlockMC220 (BlockMC220) package { import flash.display.*; public dynamic class BlockMC220 extends Sprite { } }//package
Section 356
//BlockMC221 (BlockMC221) package { import flash.display.*; public dynamic class BlockMC221 extends Sprite { } }//package
Section 357
//BlockMC222 (BlockMC222) package { import flash.display.*; public dynamic class BlockMC222 extends Sprite { } }//package
Section 358
//BlockMC223 (BlockMC223) package { import flash.display.*; public dynamic class BlockMC223 extends Sprite { } }//package
Section 359
//BlockMC224 (BlockMC224) package { import flash.display.*; public dynamic class BlockMC224 extends Sprite { } }//package
Section 360
//BlockMC225 (BlockMC225) package { import flash.display.*; public dynamic class BlockMC225 extends Sprite { } }//package
Section 361
//BlockMC226 (BlockMC226) package { import flash.display.*; public dynamic class BlockMC226 extends Sprite { } }//package
Section 362
//BlockMC227 (BlockMC227) package { import flash.display.*; public dynamic class BlockMC227 extends Sprite { } }//package
Section 363
//BlockMC228 (BlockMC228) package { import flash.display.*; public dynamic class BlockMC228 extends Sprite { } }//package
Section 364
//BlockMC229 (BlockMC229) package { import flash.display.*; public dynamic class BlockMC229 extends Sprite { } }//package
Section 365
//BlockMC23 (BlockMC23) package { import flash.display.*; public dynamic class BlockMC23 extends Sprite { } }//package
Section 366
//BlockMC230 (BlockMC230) package { import flash.display.*; public dynamic class BlockMC230 extends Sprite { } }//package
Section 367
//BlockMC231 (BlockMC231) package { import flash.display.*; public dynamic class BlockMC231 extends Sprite { } }//package
Section 368
//BlockMC232 (BlockMC232) package { import flash.display.*; public dynamic class BlockMC232 extends Sprite { } }//package
Section 369
//BlockMC233 (BlockMC233) package { import flash.display.*; public dynamic class BlockMC233 extends Sprite { } }//package
Section 370
//BlockMC234 (BlockMC234) package { import flash.display.*; public dynamic class BlockMC234 extends Sprite { } }//package
Section 371
//BlockMC24 (BlockMC24) package { import flash.display.*; public dynamic class BlockMC24 extends Sprite { } }//package
Section 372
//BlockMC25 (BlockMC25) package { import flash.display.*; public dynamic class BlockMC25 extends Sprite { } }//package
Section 373
//BlockMC26 (BlockMC26) package { import flash.display.*; public dynamic class BlockMC26 extends Sprite { } }//package
Section 374
//BlockMC27 (BlockMC27) package { import flash.display.*; public dynamic class BlockMC27 extends Sprite { } }//package
Section 375
//BlockMC28 (BlockMC28) package { import flash.display.*; public dynamic class BlockMC28 extends Sprite { } }//package
Section 376
//BlockMC29 (BlockMC29) package { import flash.display.*; public dynamic class BlockMC29 extends Sprite { } }//package
Section 377
//BlockMC3 (BlockMC3) package { import flash.display.*; public dynamic class BlockMC3 extends Sprite { } }//package
Section 378
//BlockMC30 (BlockMC30) package { import flash.display.*; public dynamic class BlockMC30 extends Sprite { } }//package
Section 379
//BlockMC31 (BlockMC31) package { import flash.display.*; public dynamic class BlockMC31 extends Sprite { } }//package
Section 380
//BlockMC32 (BlockMC32) package { import flash.display.*; public dynamic class BlockMC32 extends Sprite { } }//package
Section 381
//BlockMC33 (BlockMC33) package { import flash.display.*; public dynamic class BlockMC33 extends Sprite { } }//package
Section 382
//BlockMC34 (BlockMC34) package { import flash.display.*; public dynamic class BlockMC34 extends Sprite { } }//package
Section 383
//BlockMC35 (BlockMC35) package { import flash.display.*; public dynamic class BlockMC35 extends Sprite { } }//package
Section 384
//BlockMC36 (BlockMC36) package { import flash.display.*; public dynamic class BlockMC36 extends Sprite { } }//package
Section 385
//BlockMC37 (BlockMC37) package { import flash.display.*; public dynamic class BlockMC37 extends Sprite { } }//package
Section 386
//BlockMC38 (BlockMC38) package { import flash.display.*; public dynamic class BlockMC38 extends Sprite { } }//package
Section 387
//BlockMC39 (BlockMC39) package { import flash.display.*; public dynamic class BlockMC39 extends Sprite { } }//package
Section 388
//BlockMC4 (BlockMC4) package { import flash.display.*; public dynamic class BlockMC4 extends Sprite { } }//package
Section 389
//BlockMC40 (BlockMC40) package { import flash.display.*; public dynamic class BlockMC40 extends Sprite { } }//package
Section 390
//BlockMC41 (BlockMC41) package { import flash.display.*; public dynamic class BlockMC41 extends Sprite { } }//package
Section 391
//BlockMC42 (BlockMC42) package { import flash.display.*; public dynamic class BlockMC42 extends Sprite { } }//package
Section 392
//BlockMC43 (BlockMC43) package { import flash.display.*; public dynamic class BlockMC43 extends Sprite { } }//package
Section 393
//BlockMC44 (BlockMC44) package { import flash.display.*; public dynamic class BlockMC44 extends Sprite { } }//package
Section 394
//BlockMC45 (BlockMC45) package { import flash.display.*; public dynamic class BlockMC45 extends Sprite { } }//package
Section 395
//BlockMC46 (BlockMC46) package { import flash.display.*; public dynamic class BlockMC46 extends Sprite { } }//package
Section 396
//BlockMC47 (BlockMC47) package { import flash.display.*; public dynamic class BlockMC47 extends Sprite { } }//package
Section 397
//BlockMC48 (BlockMC48) package { import flash.display.*; public dynamic class BlockMC48 extends Sprite { } }//package
Section 398
//BlockMC49 (BlockMC49) package { import flash.display.*; public dynamic class BlockMC49 extends Sprite { } }//package
Section 399
//BlockMC5 (BlockMC5) package { import flash.display.*; public dynamic class BlockMC5 extends Sprite { } }//package
Section 400
//BlockMC50 (BlockMC50) package { import flash.display.*; public dynamic class BlockMC50 extends Sprite { } }//package
Section 401
//BlockMC51 (BlockMC51) package { import flash.display.*; public dynamic class BlockMC51 extends Sprite { } }//package
Section 402
//BlockMC52 (BlockMC52) package { import flash.display.*; public dynamic class BlockMC52 extends Sprite { } }//package
Section 403
//BlockMC53 (BlockMC53) package { import flash.display.*; public dynamic class BlockMC53 extends Sprite { } }//package
Section 404
//BlockMC54 (BlockMC54) package { import flash.display.*; public dynamic class BlockMC54 extends Sprite { } }//package
Section 405
//BlockMC55 (BlockMC55) package { import flash.display.*; public dynamic class BlockMC55 extends Sprite { } }//package
Section 406
//BlockMC56 (BlockMC56) package { import flash.display.*; public dynamic class BlockMC56 extends Sprite { } }//package
Section 407
//BlockMC57 (BlockMC57) package { import flash.display.*; public dynamic class BlockMC57 extends Sprite { } }//package
Section 408
//BlockMC58 (BlockMC58) package { import flash.display.*; public dynamic class BlockMC58 extends Sprite { } }//package
Section 409
//BlockMC59 (BlockMC59) package { import flash.display.*; public dynamic class BlockMC59 extends Sprite { } }//package
Section 410
//BlockMC6 (BlockMC6) package { import flash.display.*; public dynamic class BlockMC6 extends Sprite { } }//package
Section 411
//BlockMC60 (BlockMC60) package { import flash.display.*; public dynamic class BlockMC60 extends Sprite { } }//package
Section 412
//BlockMC61 (BlockMC61) package { import flash.display.*; public dynamic class BlockMC61 extends Sprite { } }//package
Section 413
//BlockMC62 (BlockMC62) package { import flash.display.*; public dynamic class BlockMC62 extends Sprite { } }//package
Section 414
//BlockMC63 (BlockMC63) package { import flash.display.*; public dynamic class BlockMC63 extends Sprite { } }//package
Section 415
//BlockMC64 (BlockMC64) package { import flash.display.*; public dynamic class BlockMC64 extends Sprite { } }//package
Section 416
//BlockMC65 (BlockMC65) package { import flash.display.*; public dynamic class BlockMC65 extends Sprite { } }//package
Section 417
//BlockMC66 (BlockMC66) package { import flash.display.*; public dynamic class BlockMC66 extends Sprite { } }//package
Section 418
//BlockMC67 (BlockMC67) package { import flash.display.*; public dynamic class BlockMC67 extends Sprite { } }//package
Section 419
//BlockMC68 (BlockMC68) package { import flash.display.*; public dynamic class BlockMC68 extends Sprite { } }//package
Section 420
//BlockMC69 (BlockMC69) package { import flash.display.*; public dynamic class BlockMC69 extends Sprite { } }//package
Section 421
//BlockMC7 (BlockMC7) package { import flash.display.*; public dynamic class BlockMC7 extends Sprite { } }//package
Section 422
//BlockMC70 (BlockMC70) package { import flash.display.*; public dynamic class BlockMC70 extends Sprite { } }//package
Section 423
//BlockMC71 (BlockMC71) package { import flash.display.*; public dynamic class BlockMC71 extends Sprite { } }//package
Section 424
//BlockMC72 (BlockMC72) package { import flash.display.*; public dynamic class BlockMC72 extends Sprite { } }//package
Section 425
//BlockMC73 (BlockMC73) package { import flash.display.*; public dynamic class BlockMC73 extends Sprite { } }//package
Section 426
//BlockMC74 (BlockMC74) package { import flash.display.*; public dynamic class BlockMC74 extends Sprite { } }//package
Section 427
//BlockMC75 (BlockMC75) package { import flash.display.*; public dynamic class BlockMC75 extends Sprite { } }//package
Section 428
//BlockMC76 (BlockMC76) package { import flash.display.*; public dynamic class BlockMC76 extends Sprite { } }//package
Section 429
//BlockMC77 (BlockMC77) package { import flash.display.*; public dynamic class BlockMC77 extends Sprite { } }//package
Section 430
//BlockMC78 (BlockMC78) package { import flash.display.*; public dynamic class BlockMC78 extends Sprite { } }//package
Section 431
//BlockMC79 (BlockMC79) package { import flash.display.*; public dynamic class BlockMC79 extends Sprite { } }//package
Section 432
//BlockMC8 (BlockMC8) package { import flash.display.*; public dynamic class BlockMC8 extends Sprite { } }//package
Section 433
//BlockMC80 (BlockMC80) package { import flash.display.*; public dynamic class BlockMC80 extends Sprite { } }//package
Section 434
//BlockMC81 (BlockMC81) package { import flash.display.*; public dynamic class BlockMC81 extends Sprite { } }//package
Section 435
//BlockMC82 (BlockMC82) package { import flash.display.*; public dynamic class BlockMC82 extends Sprite { } }//package
Section 436
//BlockMC83 (BlockMC83) package { import flash.display.*; public dynamic class BlockMC83 extends Sprite { } }//package
Section 437
//BlockMC84 (BlockMC84) package { import flash.display.*; public dynamic class BlockMC84 extends Sprite { } }//package
Section 438
//BlockMC85 (BlockMC85) package { import flash.display.*; public dynamic class BlockMC85 extends Sprite { } }//package
Section 439
//BlockMC86 (BlockMC86) package { import flash.display.*; public dynamic class BlockMC86 extends Sprite { } }//package
Section 440
//BlockMC87 (BlockMC87) package { import flash.display.*; public dynamic class BlockMC87 extends Sprite { } }//package
Section 441
//BlockMC88 (BlockMC88) package { import flash.display.*; public dynamic class BlockMC88 extends Sprite { } }//package
Section 442
//BlockMC89 (BlockMC89) package { import flash.display.*; public dynamic class BlockMC89 extends Sprite { } }//package
Section 443
//BlockMC9 (BlockMC9) package { import flash.display.*; public dynamic class BlockMC9 extends Sprite { } }//package
Section 444
//BlockMC90 (BlockMC90) package { import flash.display.*; public dynamic class BlockMC90 extends Sprite { } }//package
Section 445
//BlockMC91 (BlockMC91) package { import flash.display.*; public dynamic class BlockMC91 extends Sprite { } }//package
Section 446
//BlockMC92 (BlockMC92) package { import flash.display.*; public dynamic class BlockMC92 extends Sprite { } }//package
Section 447
//BlockMC93 (BlockMC93) package { import flash.display.*; public dynamic class BlockMC93 extends Sprite { } }//package
Section 448
//BlockMC94 (BlockMC94) package { import flash.display.*; public dynamic class BlockMC94 extends Sprite { } }//package
Section 449
//BlockMC95 (BlockMC95) package { import flash.display.*; public dynamic class BlockMC95 extends Sprite { } }//package
Section 450
//BlockMC96 (BlockMC96) package { import flash.display.*; public dynamic class BlockMC96 extends Sprite { } }//package
Section 451
//BlockMC97 (BlockMC97) package { import flash.display.*; public dynamic class BlockMC97 extends Sprite { } }//package
Section 452
//BlockMC98 (BlockMC98) package { import flash.display.*; public dynamic class BlockMC98 extends Sprite { } }//package
Section 453
//BlockMC99 (BlockMC99) package { import flash.display.*; public dynamic class BlockMC99 extends Sprite { } }//package
Section 454
//BossBulletHitMC (BossBulletHitMC) package { import flash.display.*; public dynamic class BossBulletHitMC extends MovieClip { } }//package
Section 455
//BossBulletMC (BossBulletMC) package { import flash.display.*; public dynamic class BossBulletMC extends MovieClip { } }//package
Section 456
//BossGraphicMC (BossGraphicMC) package { import flash.display.*; public dynamic class BossGraphicMC extends Sprite { } }//package
Section 457
//BossMC (BossMC) package { import flash.display.*; public dynamic class BossMC extends Sprite { } }//package
Section 458
//BossPlatformMC1 (BossPlatformMC1) package { import flash.display.*; public dynamic class BossPlatformMC1 extends Sprite { } }//package
Section 459
//BossPlatformMC2 (BossPlatformMC2) package { import flash.display.*; public dynamic class BossPlatformMC2 extends Sprite { } }//package
Section 460
//BossPlatformMC3 (BossPlatformMC3) package { import flash.display.*; public dynamic class BossPlatformMC3 extends Sprite { } }//package
Section 461
//BossPlatformMC4 (BossPlatformMC4) package { import flash.display.*; public dynamic class BossPlatformMC4 extends Sprite { } }//package
Section 462
//BossPlatformMC5 (BossPlatformMC5) package { import flash.display.*; public dynamic class BossPlatformMC5 extends Sprite { } }//package
Section 463
//BossPlatformMC6 (BossPlatformMC6) package { import flash.display.*; public dynamic class BossPlatformMC6 extends MovieClip { public var wheels:MovieClip; } }//package
Section 464
//BossPlatformMC7 (BossPlatformMC7) package { import flash.display.*; public dynamic class BossPlatformMC7 extends MovieClip { public var wheels:MovieClip; } }//package
Section 465
//BossShadowMC (BossShadowMC) package { import flash.display.*; public dynamic class BossShadowMC extends MovieClip { } }//package
Section 466
//BuildBlockMC (BuildBlockMC) package { import flash.display.*; public dynamic class BuildBlockMC extends Sprite { } }//package
Section 467
//BuildCoverMC (BuildCoverMC) package { import flash.display.*; public dynamic class BuildCoverMC extends Sprite { } }//package
Section 468
//BuildElectricBlockMC (BuildElectricBlockMC) package { import flash.display.*; public dynamic class BuildElectricBlockMC extends Sprite { } }//package
Section 469
//BuildWhiteBlockMC (BuildWhiteBlockMC) package { import flash.display.*; public dynamic class BuildWhiteBlockMC extends Sprite { } }//package
Section 470
//BulletHitMC1 (BulletHitMC1) package { import flash.display.*; public dynamic class BulletHitMC1 extends MovieClip { } }//package
Section 471
//BulletHitMC2 (BulletHitMC2) package { import flash.display.*; public dynamic class BulletHitMC2 extends MovieClip { } }//package
Section 472
//BulletHitMC3 (BulletHitMC3) package { import flash.display.*; public dynamic class BulletHitMC3 extends MovieClip { } }//package
Section 473
//BulletHitMC4 (BulletHitMC4) package { import flash.display.*; public dynamic class BulletHitMC4 extends MovieClip { } }//package
Section 474
//BulletMC (BulletMC) package { import flash.display.*; public dynamic class BulletMC extends MovieClip { } }//package
Section 475
//BurnMC1 (BurnMC1) package { import flash.display.*; public dynamic class BurnMC1 extends MovieClip { } }//package
Section 476
//BurnMC2 (BurnMC2) package { import flash.display.*; public dynamic class BurnMC2 extends MovieClip { } }//package
Section 477
//BurnMC3 (BurnMC3) package { import flash.display.*; public dynamic class BurnMC3 extends MovieClip { } }//package
Section 478
//BurnMC4 (BurnMC4) package { import flash.display.*; public dynamic class BurnMC4 extends MovieClip { } }//package
Section 479
//CammoMC (CammoMC) package { import flash.display.*; public dynamic class CammoMC extends MovieClip { public function CammoMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 480
//CartridgeMC (CartridgeMC) package { import flash.display.*; public dynamic class CartridgeMC extends MovieClip { } }//package
Section 481
//ChameleonMC (ChameleonMC) package { import flash.display.*; public dynamic class ChameleonMC extends MovieClip { public var body:MovieClip; public function ChameleonMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 482
//ChaseFinishMC (ChaseFinishMC) package { import flash.display.*; public dynamic class ChaseFinishMC extends MovieClip { public function ChaseFinishMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 483
//ClearButton (ClearButton) package { import com.nitrome.highscore.*; public dynamic class ClearButton extends ClearButton { public function ClearButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 484
//CoinFadeMC (CoinFadeMC) package { import flash.display.*; public dynamic class CoinFadeMC extends MovieClip { public function CoinFadeMC(){ addFrameScript(20, frame21); } function frame21(){ parent.removeChild(this); stop(); } } }//package
Section 485
//CoinMC (CoinMC) package { import flash.display.*; public dynamic class CoinMC extends Sprite { } }//package
Section 486
//CowardGeneratorMC (CowardGeneratorMC) package { import flash.display.*; public dynamic class CowardGeneratorMC extends MovieClip { public function CowardGeneratorMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 487
//CowardMC (CowardMC) package { import flash.display.*; public dynamic class CowardMC extends MovieClip { public function CowardMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 488
//DeadStarMC (DeadStarMC) package { import flash.display.*; public dynamic class DeadStarMC extends MovieClip { } }//package
Section 489
//DebrisMC0 (DebrisMC0) package { import flash.display.*; public dynamic class DebrisMC0 extends MovieClip { } }//package
Section 490
//DebrisMC1 (DebrisMC1) package { import flash.display.*; public dynamic class DebrisMC1 extends MovieClip { } }//package
Section 491
//DebrisMC10 (DebrisMC10) package { import flash.display.*; public dynamic class DebrisMC10 extends MovieClip { } }//package
Section 492
//DebrisMC11 (DebrisMC11) package { import flash.display.*; public dynamic class DebrisMC11 extends MovieClip { } }//package
Section 493
//DebrisMC12 (DebrisMC12) package { import flash.display.*; public dynamic class DebrisMC12 extends MovieClip { } }//package
Section 494
//DebrisMC13 (DebrisMC13) package { import flash.display.*; public dynamic class DebrisMC13 extends MovieClip { } }//package
Section 495
//DebrisMC14 (DebrisMC14) package { import flash.display.*; public dynamic class DebrisMC14 extends MovieClip { } }//package
Section 496
//DebrisMC2 (DebrisMC2) package { import flash.display.*; public dynamic class DebrisMC2 extends MovieClip { } }//package
Section 497
//DebrisMC3 (DebrisMC3) package { import flash.display.*; public dynamic class DebrisMC3 extends MovieClip { } }//package
Section 498
//DebrisMC4 (DebrisMC4) package { import flash.display.*; public dynamic class DebrisMC4 extends MovieClip { } }//package
Section 499
//DebrisMC5 (DebrisMC5) package { import flash.display.*; public dynamic class DebrisMC5 extends MovieClip { } }//package
Section 500
//DebrisMC6 (DebrisMC6) package { import flash.display.*; public dynamic class DebrisMC6 extends MovieClip { } }//package
Section 501
//DebrisMC7 (DebrisMC7) package { import flash.display.*; public dynamic class DebrisMC7 extends MovieClip { } }//package
Section 502
//DebrisMC8 (DebrisMC8) package { import flash.display.*; public dynamic class DebrisMC8 extends MovieClip { } }//package
Section 503
//DebrisMC9 (DebrisMC9) package { import flash.display.*; public dynamic class DebrisMC9 extends MovieClip { } }//package
Section 504
//ElectricFinishMC (ElectricFinishMC) package { import flash.display.*; public dynamic class ElectricFinishMC extends Sprite { } }//package
Section 505
//ElectricMC (ElectricMC) package { import flash.display.*; public dynamic class ElectricMC extends MovieClip { } }//package
Section 506
//ElectricMC1 (ElectricMC1) package { import flash.display.*; public dynamic class ElectricMC1 extends Sprite { } }//package
Section 507
//ElectricMC2 (ElectricMC2) package { import flash.display.*; public dynamic class ElectricMC2 extends Sprite { } }//package
Section 508
//ElectricMC3 (ElectricMC3) package { import flash.display.*; public dynamic class ElectricMC3 extends Sprite { } }//package
Section 509
//ElectricMC4 (ElectricMC4) package { import flash.display.*; public dynamic class ElectricMC4 extends Sprite { } }//package
Section 510
//ElectricMC5 (ElectricMC5) package { import flash.display.*; public dynamic class ElectricMC5 extends Sprite { } }//package
Section 511
//ElectricMC6 (ElectricMC6) package { import flash.display.*; public dynamic class ElectricMC6 extends Sprite { } }//package
Section 512
//ElectricMC7 (ElectricMC7) package { import flash.display.*; public dynamic class ElectricMC7 extends Sprite { } }//package
Section 513
//ElectricMC8 (ElectricMC8) package { import flash.display.*; public dynamic class ElectricMC8 extends Sprite { } }//package
Section 514
//ElectricMC9 (ElectricMC9) package { import flash.display.*; public dynamic class ElectricMC9 extends Sprite { } }//package
Section 515
//EmitterMC (EmitterMC) package { import flash.display.*; public dynamic class EmitterMC extends MovieClip { } }//package
Section 516
//EntranceLiftMC (EntranceLiftMC) package { import flash.display.*; public dynamic class EntranceLiftMC extends MovieClip { public function EntranceLiftMC(){ addFrameScript(49, frame50, 114, frame115); } function frame115(){ stop(); if (parent != null){ parent.removeChild(this); }; } function frame50(){ NitromeGame.sound_manager.playSound("lift"); } } }//package
Section 517
//EvilMovingBlockMC (EvilMovingBlockMC) package { import flash.display.*; public dynamic class EvilMovingBlockMC extends MovieClip { public function EvilMovingBlockMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 518
//EyeGlowMC (EyeGlowMC) package { import flash.display.*; public dynamic class EyeGlowMC extends Sprite { } }//package
Section 519
//FlyingGunMC (FlyingGunMC) package { import flash.display.*; public dynamic class FlyingGunMC extends MovieClip { public function FlyingGunMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 520
//ForceFieldMC1 (ForceFieldMC1) package { import flash.display.*; public dynamic class ForceFieldMC1 extends MovieClip { public var field:MovieClip; public function ForceFieldMC1(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package
Section 521
//ForceFieldMC2 (ForceFieldMC2) package { import flash.display.*; public dynamic class ForceFieldMC2 extends MovieClip { public var field:MovieClip; public function ForceFieldMC2(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package
Section 522
//FrontArrayMC (FrontArrayMC) package { import flash.display.*; public dynamic class FrontArrayMC extends MovieClip { } }//package
Section 523
//Game (Game) package { import com.nitrome.engine.*; import flash.display.*; import flash.events.*; import com.nitrome.engine_specific.*; import flash.geom.*; import com.nitrome.game.*; import flash.ui.*; import flash.utils.*; public class Game { public var smoke_angle:int;// = 0 public var actor_map:Array; public var tags:Array; public var effect_holder:Sprite; public var game_paused:Boolean; public var alert_col:ColorTransform; public var start_msg:String; public var smoke_hit_bitmap:BitmapSprite; public var shaker:Sprite; public var scanners:Array; public var event_map:Array; public var star_holder:Sprite; public var scroller:Scroller; public var path_map:Array; public var completed:Boolean; public var debug:Graphics; public var current_event:Object; public var tile_holder:Sprite; public var cartridge_bitmap:BitmapSprite; public var boss_bullet_hit_bitmap:BitmapSprite; private var i:int; private var j:int; public var boss_level:Boolean; public var alert_count:int; public var sign_holder:Sprite; public var burn_bitmap2:BitmapSprite; public var burn_bitmap4:BitmapSprite; public var bullet_layer_holder:Bitmap; public var burn_bitmap1:BitmapSprite; public var burn_bitmap3:BitmapSprite; public var finish_count:int; public var mouse_pressed:Boolean; public var state:int; public var msg_key_ready:Boolean; public var shake_count:int; public var fx_layer_holder:Bitmap; public var block_map:Array; public var sniper_shot_bitmap:BitmapSprite; public var debug_stay:Graphics; public var player_holder:Sprite; public var stealths:Array; public var fx:Array; public var dead_star_holder:Sprite; public var player:Player; public var spider:HackedSpider; public var back:MovieClip; public var smokes:Array; public var spawn_holder:Sprite; public var light_holder:Sprite; public var bullet_bitmap:BitmapSprite; public var events:Array; public var actors:Array; public var stack_map:Array; public var spider_death_count:int; public var bullet_hit_bitmap_left:BitmapSprite; public var grenade_cartridge_bitmap:BitmapSprite; public var grenade_bitmap:BitmapSprite; public var star_debris_bitmap:BitmapSprite; public var canvas:Sprite; public var debris_clips:Array; public var debris:Array; public var bullet_hit_bitmap_up:BitmapSprite; public var level_data:Array; public var god_mode:Boolean; public var rope_holder:Shape; public var encounters:Array; public var fx_layer:BitmapData; public var spawnage:Array; public var monster_holder:Sprite; public var background_type:int; public var scan_holder:Sprite; public var enemy_health_panel:MovieClip; public var frame_count:int; public var bullets:Array; public var boss_bullet_bitmap:BitmapSprite; public var alert_col_step:Number; public var bullet_hit_bitmap_down:BitmapSprite; public var scent_map:Array; public var bullet_hit_bitmap_right:BitmapSprite; public var screen_rect:Rectangle; public var bullet_layer:BitmapData; public var bang_bitmap2:BitmapSprite; public var background_holder:Sprite; public var bang_bitmap1:BitmapSprite; public var start_y:int; public var bang_bitmap3:BitmapSprite; public var start_x:int; public var alert_state:int; public var scrolling:int; public static const DAWN_SUN:int = 4; public static const NIGHT_CLOUDS:int = 0; public static const ACTIVE:int = 2; public static const IN_PLAY:int = 1; public static const CHAMELEON_DELAY:int = 500; public static const DAWN:int = 5; public static const ALERT_DELAY:int = 250; public static const WIDTH:int = 550; public static const HEIGHT:int = 400; public static const SCALE:Number = 0.015625; public static const CHAMELEON:int = 4; public static const EMPTY:int = -1; public static const SAFE_COL:int = 0x838383; public static const EVENT_AREA:int = 115; public static const LIFT_DELAY:int = 75; public static const ALERT_COL_LIMIT:Number = 100; public static const ELECTRIC_DELAY:int = 125; public static const DANGER_COL:int = 0xFF0600; public static const ALERT_COL_SPEED:Number = 3; public static const scale:int = 64; public static const DAWN_CLOUDS_SUN:int = 2; public static const SPIDER_DEATH_DELAY:int = 15; public static const DAWN_CLOUDS:int = 3; public static const INACTIVE:int = 1; public static const NIGHT:int = 1; public static const GAME:int = 1; public static const ONE80DIVIDEDBYPI:Number = 57.2957795130823; public static var cache_xml:Boolean = true; public function Game(_arg1:Sprite, _arg2:Sprite, _arg3:MovieClip){ smoke_angle = 0; super(); level_data = new Array(); level_data["0ef21a7ed4c03fe6896031715bcc308e"] = <root> <level width="60" height="36" start_x="4" start_y="33" compression="false" background="0" scroll="0"/> <tiles values="0,506,0:3,506,0:2,506,0:2,506,0:2,506,0:29,506:2,0,506:2,0,506:2,0,506:2,0,506:2,0:3,506,0:3,506:3,498,0:8,611:2,590,591,778:6,0:17,506:5,621,0:8,532,0:2,506,0:3,506:4,620,0:7,611:2,0:25,506:4,533,0:8,495,506,0:2,506,0:3,506:5,498,0:6,611,590,0:27,506,533,0:13,506,0:3,506:6,620,0:5,611,0:28,621,0:14,506,0:15,590,591,0:26,533,0:15,506,0:3,506,0:2,506,0:2,506,0:32,533,0:8,619,506,0:6,506:2,585,586,585,586,585,586,585,506,621,0:24,619,506:6,621,0:8,532,506:3,0:9,585,586,585,586,585,506,0:24,495,506:6,533,0:8,532,506:4,0:12,586,585,506,0:25,778:2,0:6,591:2,0:2,591,0:4,506:4,0:11,586,585,506,620,0:37,506:10,0:9,506,0:2,506,0:23,534,0:4,506,0:3,506,0:3,506:11,0:40,506:13,0,506:6,0:16,591:2,491,0:16,492,591,0:3,506:12,631,0,506,632,506:4,0:16,591,491,611,0:16,611,492,0:6,506:8,615,614,0,506,626,616,506:3,0:17,611:2,0:16,611:2,0:6,506:4,0,506:2,631,628,630,0,506,629,627,632,506,0:18,611:2,0:16,611:2,0:3,506:8,0,615,614,610,613,0,506,612,609,626,616,0:17,491,611:2,0:16,611:2,0:3,506:9,628,630,629,627,0,506,628,630,629,627,0:17,611:2,590,591:4,0:5,591:4,0:8,506:9,610,613,612,609,0,506,610,613,612,609,0:17,611,590,591:5,0:5,591:4,0:8,506:9,629,627,628,630,0,506,629,627,628,630,0:41,506:9,612,609,610,613,0,506,612,609,610,613,0:41,506:8,0,628,630,629,627,0,506,628,630,629,627,0:3,506,0:37,506:8,0,610,613,612,609,0,506,610,613,612,609,0:3,506,0:37,506:8,0,629,627,628,630,0,506,629,627,628,630,0:3,506,0:22,520:2,521,520,521,520,521,520,521,520,521,520,521,520,0,506:8,0,612,609,610,613,0,506,612,609,610,613,0:3,506,0:22,520:2,506:6,521,506,0:2,506,520,0,506:8,0,628,630,629,627,506:2,628,630,629,627,506,0:2,506,0:22,506:10,0:2,506:2,0,506:8,0,610,613,612,609,506:2,610,613,612,609,506,0:2,506,0:11,506:3,0:8,506:15,0,506:7,0,629,627,628,630,506:2,629,627,628,630,506,0:2,506,0:11,506:3,0:7,506:16,0,506:7,0,612,609,610,613,506:2,612,609,610,613,506,0:2,506,0:4,506,520:2,521,520,521,520,521,520,506,520:2,521,520,521,520,521,520,506:23,0,628,630,629,627,0,506,628,630,629,627,0:3,506,0:4,506,520,506:11,520,506:27,0,610,613,612,609,0:2,610,613,612,609,0:3,506,0,506:27,0,506:3,0,506:12,0,629,627,628,630,506:2,629,627,628,630,0:3,506,0,506:26,0:3,506,0:3,506:11,0,612,609,610,613,506:2,612,609,610,613,0:3,506:28,0:7,506:11,0,628,630,626,624,506:2,625,614,629,627,506,0:2,506,0,506:3,0,506:3,0,506:7,0,506:3,0,506:3,0,506:3,0:6,506:3,0:4,506:4,0,610,613,607,506:4,608,612,609,506,0:2,506,0:43,506:2,0,506:11,0" id="0"/> <tiles values="257:4,755,245,261:2,245,261:2,245,261:2,245,261:12,250,257:15,755,259,758,261,259,758,261,259,758,261,259,758,261,259,758,261,250,257,0,257:2,761,0:22,251,257:15,761,48I(3),0:3,173,0:2,173,0:7,251,257,0,257:2,761,0:14,246,242:7,252,257:15,756,242,240,0:8,239,240,0:3,251,257,0,257:2,761,51,0:13,251,257:25,761,0:8,251,756,242:3,252,257,0,257:2,761,260:2,0,48I(5),260,0,260:2,0:6,251,257:25,761,0:2,178,0:2,178,0:2,251,234:5,257,0,257:2,756,242:9,247,0:4,251,257:23,755,261,229,0:2,173,0:2,173,0:2,251,257:6,0,257,261:2,245,261:2,245,261:2,245,261,229,739,0:4,251,755,261:7,259,758,261:6,259,758,261:5,249,739,0:9,228,261,250,257:4,0:13,46I(5),0:4,251,761,0:23,46I(3),0:11,251,257:6,242:2,240,0:8,46I(5),0:4,251,761,0:23,46I(3),0:11,251,257:6,234:2,756,242,240,0:6,46I(5),0:4,251,761,0:11,246,242:3,241,757,242:5,247,737,0,246,247,0,246,242:3,247,0:2,228,261:2,250,257:5,234:2,761,0:6,46I(5),0:4,251,761,0:11,228,261:3,250,234:6,756,242:2,252,756,242,252,234:3,761,0:3,382,384,251,257:7,756,242:5,247,737,0:4,251,761,0:15,251,257,755,261,245,261:3,245,261:3,245,261:3,250,761,0:3,379,381,251,257:3,234:10,756,247,0:4,248,249,0:15,251,257,761,0:13,251,761,0:4,239,252,257:5,256,257:2,256,257:2,256,257:2,761,0:21,251,257,761,0:13,251,761,0:4,251,234,257:14,761,0:21,251,257,756,242:3,240,0:9,251,761,0:4,251,257:15,761,0:21,251,234:2,755,261:2,249,0:2,246,242,247,0:4,251,761,0:4,251,257:6,256,257:2,256,257:2,256,257:2,761,0:3,177,169:2,168,0:5,177,169:2,168,0:5,251,257:2,761,384,0:4,228,250,761,0:4,251,761,0:4,251,257:15,761,0:3,167,166:2,165,0:5,167,166:2,165,0:5,251,257:2,761,378,0:5,251,249,0:4,251,249,0:4,251,257:15,761,0:3,167,166:2,165,382,383:3,384,167,166:2,165,382,383:3,384,251,257:2,761,378,0:5,251,382,383,384,0:2,251,382,384,0:3,251,257:6,256,257:2,256,257:2,256,257:2,761,0:3,164,163:2,179,379,380:3,381,164,163:2,179,379,380:3,381,251,257:2,761,378,0:2,178,0,382,251,379,380,381,0:2,251,379,381,0:3,251,257:15,756,242:3,238,242:2,238,242:5,238,242:2,238,242:5,252,257:2,761,378,0:2,175,0,376,251,240,0:4,251,240,0:4,251,257:4,234:11,289,234:11,289,234:2,289,234:2,289,234:2,289,234:3,761,378,0:2,173,0,376,251,761,0:4,251,761,0:4,251,257:2,0,257:12,289,257:11,289,257:2,289,257:2,289,257:2,289,257:3,761,378,0:4,376,251,761,0:4,251,761,0:4,251,257:2,0,257:12,289,257:8,755,261,259,261,758,259,261,758,259,261,758,259,261,758,261,250,761,378,0:4,376,251,761,0:4,251,761,0:4,251,257:2,0,257:12,289,257:8,761,0:14,251,761,378,0,178,0:2,376,251,761,0:4,251,761,0:4,251,257:2,0,257:12,289,257:8,761,0,178,246,242:4,247,0,246,242:2,247,0,251,761,381,0,175,0:2,376,251,761,0:4,248,761,0:4,248,250,257,0,257:12,289,257:8,761,0,175,228,261:4,229,0,228,261:2,229,0,251,756,247,0,173,0:2,376,251,761,0:2,382,383,384,761,0:3,382,384,251,257,0,257:11,755,261,250,257:7,761,0,175,0:12,228,250,761,0:4,376,251,761,0:2,379,380,381,761,0:3,379,381,251,257,0,257:4,755,261,259,758,261:2,259,229,48I(1),228,261,259,758,261:2,259,758,249,0,175,0:13,251,761,0:4,376,251,761,0:4,239,761,0:4,239,252,257,0,257:4,761,0:8,260:3,0:7,173,0:3,170,174,162,0,170,174,162,0:3,228,229,0:2,178,0,376,251,761,0:4,251,761,0:4,251,257:2,0,257,261:3,229,0,246,242:4,247,739,246,242:2,247,0,246,242:3,247,738,47I(2):3,740,0:5,738,47I(2):3,740,0:3,175,0,376,251,761,0:4,251,761,0:4,251,257:2,0,257,0:5,228,261:4,229,46I(1),228,261:2,229,0,228,261:3,229,0:4,246,242,247,48I(2),246,242,247,0:7,173,0,376,251,761,0:4,228,229,0:4,251,257:2,0,257,0:11,46I(1),0:14,251,234,756,238,252,234,761,0:9,376,251,761,0:10,251,257:2,0:13,46I(1),0:14,251,257,234,289,234,257,761,0:9,379,251,761,0:10,251,257:4,241,238,757,242,241,238,757,242,241,238,247,737,246,238,757,242,241,238,757,242,241,238,757,242,241,238,252,257:2,289,257:2,756,241,238,757,242:4,241,238,757,252,761,382,384,0:8,251,257:2,0,257,234,289,234:3,289,234:3,289,756,242,252,289,234:3,289,234:3,289,234:3,289,234,257:2,289,257:2,234:2,289,234:6,289,234:2,761,379,381,246,238,757,241,238,757,241,238,252,257" id="1"/> <tiles values="0:85,28:2,0:89,28,0,28,0:242,62,0:65,59,0:32,57F,59F,0,57F,0:61,28,0:2,61,0:230,28:2,0:97,28,0:2,28,0:5,28,0:2,28,0:192,28,0:31,61,0:266,28,0:48,110,0:239,57F,0,59F,0:9,28,0:24,28,0:2,110,0:10,110,0:67,28,0:3,28,0:146,154,0:18,59,0:5,59,0:9,61,0:143" id="2"/> <tiles values="678,0,679,0:2,766,0:2,766,0:2,766,0:2,766,0:2,766,0:42,680,681,682,0:45,765,0:2,765,0:8,678,0,679,0:41,742,0:15,680,681,682,0:41,741,0:11,762,0,762,0,678,0,679,0:41,741,0:3,762,0:2,762,0:8,680,681,682,0:5,742,0:35,743,0:3,765,0:2,765,0:8,678,0,679,0:2,766,0:2,752,751:5,0:7,765,0:2,765,0:2,765,0:2,765,0:2,765,0:2,765,0:2,765,0:2,765,733,0:16,678,0,679,0:16,704:2,0:39,680,681,682,0:57,678,0,679,0:29,699,0:27,678,0,679,0:30,733,0:19,786,0:5,720,680,681,682,0:5,701:5,733,0:26,765,0:3,765,0:3,765,0,736,0:2,786,0:5,721,678,0,679,0:16,704:2,0:37,691,0,680,681,682,0:33,785,0:23,678,0,679,0:33,785,0:23,680,681,682,0:57,678,0,679,0:15,701,0:2,701,0:5,701,0:2,701,0:29,680,681,682,0:57,678,0,679,0:43,716,0:5,785,0:5,785,0,680,681,682,0:43,717,0:5,785,0:5,785,0,678,0,679,0:15,762,0:2,762,0:5,762,0:2,762,0:22,691,0:6,680,681,682,0:40,765,0:16,678,0,679,0:57,680,681,682,0:29,765,0:27,678,0,679,0:57,680,681,682,0:28,699,0,699,0:26,678,0,679,0:11,766,0:27,765,0:4,786,0:5,786,0:5,720,680,681,682,0:44,786,0:5,786,0:5,721,678,0,679,0:4,765,0:7,746,0:3,765,0:38,691,0,680,681,682,0:12,748,0:44,678,0,679,0:12,750,0:2,699,0,699,0:22,735,0:16,680,681,682,0:26,752,751:2,0,751:2,750,0:7,765,0:8,699:2,0:6,678,0,679,0:57,678,0,679,0:29,763,0:12,691,0:14,680,681,682,0,699,0:3,699,0:3,699,0:3,699,0:3,699,0:3,699,0:3,699,0:8,703,0:6,703,0:15,678,0,679,0:48,704,0:2,704,0:2,704,0:2" id="3"/> <tiles values="0:487,8,0:30,10,7,12,10,7,12,0:943,10,7:3,12,0:239,8,0,8,0:36,10,7,12,0:8,10,7,12,0:236,8,0:4,10,7,12,0:15,8,0:136" id="4"/> <tiles values="0:2160" id="5"/> <tiles values="0:765,115:3,0:57,115:3,0:57,115,1,115,0:953,115:2,0,115,0:56,115:2,0,115,0:25,115:4,0:27,115:4,0:7,115:6,0:12,115:2,1,115,0:27,1,115:3,0:7,115:6,0:54,115,1,115:4,0:62" id="6"/> <sign text="You'll need your wall slide technique to get around this area, just press the direction key towards the wall you're on and you will slow your slide making leaping from wall to wall easier. I remember at the combat academy leaping up and down those walls. It was hard but I loved that training! I wish I was down there with you, being a spy stuck behind a desk isn't much fun." n="886" layer="6" width="0" height="0" face="ninja" forced="false"/> <sign text="This force field is powered by a generator. You can follow the pipes to the generator. One good hit with a ninja star should take it out." n="1992" layer="6" width="0" height="0" face="ninja" forced="false"/> <sign text="These shock walls are electrified. Don't ever touch them! Don't even try to fire a rope into them, you'll get cooked to a crisp." n="2021" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="To get up walls quickly, fire the rope into the wall above you and push up. Repeat this quickly and you can zip up walls really fast!" n="2093" layer="6" width="0" height="0" face="ninja" forced="false"/> <msg text="Restricted Area"/> </root> ; level_data["1abbb65bc5f285ca72c2189860849e70"] = <root> <level width="54" height="32" start_x="4" start_y="24" compression="false" background="0" scroll="0"/> <tiles values="586,585,0:52,564,563,0:7,778:23,0:22,586,585,0:6,778:2,506,778,0:42,564,563,0:6,778,506:2,778:2,0:7,778:2,0:32,586,585,0:6,778,509:12,778,0:32,564,563,0:6,778,506:12,778,0:32,586,585,0:7,778:10,506:2,778,0:32,564,563,0:6,586,509:12,585,0:32,586,585,0:6,564,506:9,778,506:2,778,0:32,564,563,0:6,564,506:2,778:11,0:32,586,585,0:6,778,509:9,778:4,0:32,564,563,0:6,778,506:9,778:2,0:34,586,585,0:6,778:8,506:2,778:2,0:34,564,563,0:6,778:8,506:2,778:2,0:34,586,585,0:6,778:4,506:6,778:2,0:32,588,587,564,563,0:8,778:2,509:6,778:2,0:32,570,565,586,585,0:8,778:2,506:2,778:6,0:27,778:4,0,588,587,564,563,0:8,778:2,506:2,778:7,0:7,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,778,642,570,565,586,585,0:7,778,509:4,778:7,0:7,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,778,641,588,587,564,563,0:2,506:10,778,506,778:4,0:7,778,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,778,642,570,565,586,585,0:2,506:10,778,506,778:3,643,0:8,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,778,641,588,587,564,563,0,778,509:10,778,506,778:2,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,778,0,570,565,586,585,0,778,564,563,564,563,0:3,778,506:2,778,506,778,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,778,0,588,587,564,563,506:9,778,506:2,778,506,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,778,0,570,565,586,585,506,509:11,778,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,778,0,588,587,564,563,0,778,0:8,778:4,0:11,641:2,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,637,778:2,570,565,586,585,0:25,642:2,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,637,778:3,588,587,564,563,0:25,641:2,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,637,778:4,570,565,586,585,0:25,642:2,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,637,778:5,588,587,564,563,0:26,641,642,641,642,641,642,641,642,0:14,778,0,570,565,586,585,0:26,642,641,642,641,642,641,642,641,0:16,588,587,564,563,0:26,641,642,641,642,641,642,641,642,0:16,570,565" id="0"/> <tiles values="327,0,327:39,0:4,2:9,327,0,327:6,781,362,0:22,327:9,0:4,2,0:7,2,327,0,327:6,364,48I(0),0,322,327:29,0:4,2:7,0,2,327,0,327:3,370,327:2,359,0:2,333,332,330:2,332,330:2,332,330:2,782,327:2,370,327:30,0,327,313:2,370,327:2,51,0:12,361,327:2,370,313:26,327:4,0,327,313:2,370,327:2,321,0:12,55,327:2,370,313:26,327:8,370,327:2,341,339:3,374,339:2,374,339:2,374,0:2,322,327:2,370,327:30,0,327:6,364,0:12,368,327:33,0,327:6,364,0:12,368,327:33,0,327:6,341,0:2,339,372,339:2,372,339:2,372,339:2,361,327:33,0,327:3,370,327:2,364,0:9,382,384,327:4,370,327:30,0,327,313:2,370,327:2,359,0:9,376,378,327:4,370,313:26,327:6,313:2,370,327:2,382,383:6,384,0:2,376,378,327:4,370,313:2,370,313:5,370,313:6,370,313:6,370,313:3,327:4,0,327:3,370,327:2,379,380:6,381,0:2,376,378,313,327:3,370,327:2,313,327:5,313,327:6,313,327:6,313,327:7,0,327:6,324,334,382,384,0:6,376,378,327:7,370,327:5,370,327:6,370,327:6,370,327:4,0,327:2,0,327:7,353,376,378,0:6,379,381,327:7,313,327:5,313,327:6,313,327:6,313,327:4,0,327:2,0,327:7,353,376,378,0:2,382,383:4,384,327:12,781,330,782,327:4,781,330,782,327:5,382,384,48I(1),382,327,0,327:2,0,327:7,353,379,381,0:2,376,377:4,378,322,327:6,781,330,331:3,329,739,333,120,330:2,120,329,739,333,330:4,362,376,378,0,376,327,0,327:4,781,330:3,121,330,329,0:4,379,380:4,381,368,327:6,364,0:5,46,0:6,46,0:6,376,378,0,376,327,0,327:2,0,327,364,0:10,739,0:5,356,327:6,359,0:5,46,0:6,46,0:6,376,378,0,376,327,0,327:2,0,327,364,0:10,46I(0),0:5,356,781,331:2,120,331:2,782,0,321,0:3,737,0:6,737,0:6,376,378,0,376,327,0,327:2,0,327,364,0:10,46I(0),0:5,361,359,0:5,356,0,364,0:3,322,0:6,321,0:6,376,378,0,376,327,0,327:2,0,327,358,348:7,334,0:2,46I(0),0:12,361,363,329,0:2,325,357,324,360:4,323,358,348:3,323,0:2,376,378,0,376,327,0,327:2,0,327,0:8,359,0:2,46I(0),0:5,322,321,0:10,356,0:14,376,378,0,376,327,0,327:2,0:13,46I(0),0:5,356,364,0:5,322,0:4,356,0:14,376,378,0,379,327,0,327:4,348:10,334,737,325,360:4,357,358,360:5,357,324,348:3,357,321,0,324,360:10,323,379,381,0,739,327,0,327:2,0,327:11,358,348,357,327:11,781,331:5,329,0:16,46I(1),327,0,327:2,0,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327,353,0:22,46I(1),0:2,327:2,0,327:2,370,327:2,370,327:2,370,327:2,370,327:2,370,327:2,370,327:2,370,327:2,370,327,353,0:7,325,348:13,334,737,327:4,0,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327,353,0:7,368,327:13,358,348,327,0,327:2,0,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327,358,360:3,118,360:3,357,327:2,313,327:2,313,327:2,313,327:2,313,327:4,0,327:2,0,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:2,313,327:12,370,327:2,370,327:2,370,327:2,370,327:4,0,327" id="1"/> <tiles values="0:79,28:7,0:304,21,0:2,21,0:2,21,0:47,21,0:2,21,0:2,21,0:155,28:3,0:344,109,0:2,109,0:147,37,0:33,28:2,0:30,103F:2,0:4,59,0:102,109:5,0:13,154,0:22,103,0:18,103,0:101,34,0:4,40,0:48,34,0:4,40,0:9,62,0:217" id="2"/> <tiles values="678,0,679,0:51,678,0,679,0:6,745,744:12,746,0:31,680,681,682,0:19,749,0:28,678,0,679,678,0,679,0:4,686,0:4,767,0:2,767,0:2,767,0:3,749,0:28,680,681,682,680,681,682,0:4,687,0:14,749,0:28,678,0,679,678,0,679,0:4,687,0:14,749,0:28,680,681,682,680,681,682,0:4,694,0:14,749,0:28,678,0,679,678,0,679,0:19,749,0:28,680,681,682,680,681,682,0:19,749,0:28,678,0,679,678,0,679,0:9,767,0:2,767,0:6,749,0:28,680,681,682,680,681,682,0:4,686,0:14,749,0:28,678,0,679,678,0,679,0:4,687,0:14,749,0:28,680,681,682,680,681,682,0:4,687,0:14,749,0:28,678,0,679,678,0,679,0:4,694,0:12,686,0,749,0:28,680,681,682,680,681,682,0:17,687,0,749,0:4,767,0:5,767,0:6,767,0:6,767,0:3,678,0,679,678,0,679,0:17,687,0,749,0:28,680,681,682,680,681,682,0:11,745,744:5,694,751,750,0:28,678,0,679,678,0,679,0:11,743,0:13,766,0:3,766,0,766,0:4,766,0,766,0:4,766,0:4,680,681,682,680,681,682,0:2,767,0:3,767,0:4,742,0:36,678,0,679,678,0,679,0:48,680,681,682,680,681,682,0:19,766,0:3,766,0:24,678,0,679,678,0,679,0:48,680,681,682,680,681,682,0,767,0:2,767,0:2,767,0:24,766,0:3,766:2,0:3,766,0:6,678,0,679,678,0,679,0:48,680,681,682,678,0,679,0:48,678,0,679,680,681,682,0:32,766,0:3,766,0:2,766,0:3,766,0:4,680,681,682,678,0,679,686,0:24,766,0:4,766,0:17,678,0,679,678,0,679,687,0:47,678,0,679,680,681,682,687,764,0:2,764,0:2,764,0:2,764,0:2,764,0:2,764,0:2,764,0:2,764,0:25,680,681,682,678,0,679,687,0:47,678,0,679,680,681,682,687,0:47,678,0,679,678,0,679,687,0:47,680,681,682" id="3"/> <tiles values="0:1169,10I(2),7:2,12I(2),0:3,8,0:142,10I(2),7,12I(2),0:17,8,0:101,8,0:4,8,0:48,8,0:4,8,0:227" id="4"/> <tiles values="0:1728" id="5"/> <tiles values="0:982,115,0:51,115:3,0:6,115:3,0:42,115:3,0:6,115:3,0:42,115,1,115,0:6,115:3,0:51,115:3,0:51,115:3,0:51,115,1,115,0:170,115:3,0:51,115:3,0:51,1,115:2,0:131" id="6"/> <sign text="Taki, I've been poking around the towers tech server, I think Ive found you some help. You should be able to hack into these green type mines. They have no firewall on their control system. Fire a rope into it to take control of it. Use the direction keys to move it. Try not to hit any walls. Try not to hit yourself! I bet you can use these mines to scout ahead or to take out enemies and generators. Press the spacebar if you want to quit out of controlling a mine." n="1143" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="Yuck, clone scientists are ahead. Victor Boshi is not a modest man, he only works with clones of himself, though it seems his famous hair restoring miracle drug doesnt work on them. Their shiny heads are creepy! They have part titanium bodies to shield their valuable brains, so you can only stun them. When they are awake keep right out of their vision. They spy you and the alarm is automatically set off. Victor is a paranoid man. Just use stealth and well timed stuns." n="1314" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="Clone 0067 to clone 0053. Your actions today were strange. Dr Boshi is our creator why do you not completely worship him as he has demanded? Why did you pull that face behind him. I did not understand why you stuck out your tongue and turned up the edges of your mouth. Please explain in more depth." n="1594" layer="6" width="0" height="0" face="clone" forced="false"/> <msg text="Lab Area 1"/> </root> ; level_data["2e54c1b5c506672284acd573039a9f42"] = <root> <level width="71" height="18" start_x="3" start_y="15" compression="false" background="1" scroll="0"/> <tiles values="0:617,778,506:14,0:55,506:7,482,517,521,517,521,483,506:4,0:8,586,585,0:43,506,509,506,509,506,509,506,509,501,500,521,517,502,501,506,509,506,509,506,0:6,534,778,506:43,778,506:8,520,517,521,517,521,520,506:5,0:6,534,586,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,509,506,509,506,509,506,509,506,509,506,520,517,521,517,521,520,509,506,509,506:3,0:6,564,506:52,531,530,521,517,536,531,506:10,0:2,586,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506:15,509,506,509,506,509,506:11,509,506,509,506,509,506,509,479,517,521,517,521,478,506,509,506,509,506:6,0,532,564,506:65,0:2,506,0,778:3,0:4,778:2,0,506:56,0:3,506,0,778:2,0:12,684,685:2,683,0:11,684,685:2,683,0:12,684,685:2,683,0:14,684,685:2,683,0:3" id="0"/> <tiles values="320:546,781,330:13,782,320:55,781,329,0:13,333,782,320:53,781,329,0:15,333,782,320:51,781,329,0:17,333,782,320:4,330:2,362,363,330:42,329,0:19,368,320:4,0:66,333,330:4,0:21,415,0:44,322,0,339,0:38,416,0:29,361,0,325,334,0:13,415,125,0:54,368,364,0,360:2,323,324,360:4,323,324,360:6,323,324,360:13,323,324,360:14,323,324,360:19,357,364,0,314,320,326:2,320:11,0:4,320:11,0:4,320:12,0:4,320:14,0:4,314,358,360" id="1"/> <tiles values="0:981,26,0:87,125,0,125,0:4,125,0:6,58,155:5,125:2,155:6,125:2,155:8,125:2,155:5,125:2,155:3,0:4,30,0:83,157F,0:70" id="2"/> <tiles values="0:547,767,0,767,0,767,0,767,0,767,0,767,0,767,0:127,767,0:15,767,0:77,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0:41,269,268,267,0:2,266,265,269,268,267,266,265,274,273,0:8,266,265,274,273,0:45,264,263,285,281,0,283,282,264,263,285,283,282,286,277,280,0:6,281,283,282,286,277,278,0:41,266,265,0,284,276,275,284,276,275,284,276,275,269,268,267,284,276,275,0:5,266,265,284,276,275,269,268,267,284,276,275,0:36,281,283,282,280,272,271,278,272,271,270,272,271,280,264,263,285,272,271,270,278,0:3,280,283,282,272,271,270,264,263,285,272,271,270,278,0:24,701:2,0:4,701:2,0:5,711,712,711,712,0:11,711,712,711,712,0:12,711,712,711,712,0:14,711,712,711,712,0:11,701:2,0:3,701,0:6,701,0:3,701,0:3,701,0:6,701,0:3,701,0:3,701,0:8,701,0:3,701,0:3,701,0:9,708" id="3"/> <tiles values="0:1278" id="4"/> <tiles values="0:618,11:13,0:57,11,0:13,11,0:55,11,0:15,11,0:53,11,0:17,11,0:5,11:48,0:17,11,0:70,11,0,12:3,9,0:65,11,0,11,0:2,9,0:42,12:24,0,11,0:2,9,0:70,12,0:71" id="5"/> <tiles values="0:856,115:4,0:5,115:4,0:58,115:4,0:5,115:4,0:58,115:4,0:5,115:4,0:58,115,1,115:2,0:5,115:2,1,115,0:196" id="6"/> <sign text="It's Akuma here. Doctor Victor Boshi is your target; his hyper addictive Cheap n chunky burger brand is dominating the international snack market. It's time the chunky range and the doctor are phased out. This base has high level security so you'll be supported by a crack team of my samurai guard. This should be a quick job, don't make a meal out of it... hur hur a meal? How appropriate eh? hur hur... Cough! Cough!... uurgh.. time I upgraded this body." n="1070" layer="6" width="0" height="0" face="akuma" forced="true"/> <sign text="Takeshi, use the spacebar to close this message or to open a message wherever you see the msg icon. Press the pause icon (or the key &quot;P&quot;) to see if you've missed any messages, some may be weak and hard to find." n="1080" layer="6" width="0" height="0" face="akuma" forced="true"/> <msg text="The Dock"/> </root> ; level_data["3a7e858e962dd704ddd41ff95048b916"] = <root> <level width="51" height="48" start_x="2" start_y="26" compression="false" background="5" scroll="0"/> <tiles values="0:100,506,0:50,506,0:39,778,506,778,506,778:6,0,506,0:39,778,506:9,0,506,0:39,778,486:9,0,506,0:39,778,506,523,506:3,523,506:5,0:38,778:2,506,523,506:3,523,506,778:2,0:40,778:2,509,506,509:2,506,523,509,778,0:2,778,0:38,778:2,506:5,523,506,778,0:2,778,0:39,778,506,523,506:3,523,506,778,0:2,778,0:39,778,506,523,506:3,523,506,778,0:2,778,0:39,778,509,523,506,509:2,506,509,778,0:2,778,0:39,778,506,523,506:5,778,0:2,778,0:39,778,506,523,506:3,523,506,778,0:2,778,0:2,778,506:2,0,778,0,778,0:30,778,506,523,506:3,523,506,778,0:2,778,0,778:2,506:2,778:8,0:26,778,509,506,509:2,506,523,509,778,0:2,778,0,778:2,506:2,0,778,0,778,0:29,778:2,506:5,523,506,778,0:2,778,0,778:2,506:2,0:33,778:2,506,523,506:3,523,506,778,0:2,778,0,778:2,506:2,0:32,778:3,506,523,506:3,523,506,778,0:2,778,0,778:2,506:2,0:27,506:5,778,0,778,509,523,506,509:2,506,509,778,0:2,778,0,778:2,506:2,0:30,778,506,0:2,778,506,523,506:3,778,506,778,0:2,778,0,778:2,506:2,0:31,506,0:2,778,506,523,506:3,523,778:2,0:2,778,0,778:2,506:2,0:31,506,0:2,778,506,523,506:3,523,778:2,0:2,778,0,778:2,506:2,0:31,506,0,778:2,506:6,778,0:3,778,0,778:2,506:2,0:4,778,0:2,778,0:12,522,0:10,506,0,778:2,506,523,506:4,778,0:3,778,0,778:2,506:2,0:8,778,0:19,506,0:2,506,778:3,506,523,506:3,523,778,0:3,778,0,778:2,506:2,0:8,778,506:5,778,506:3,523,506:2,778,506:14,523,509:3,778,0:4,778,0,778:2,506:2,0:8,778:5,506,778,506,778,506,523,506:15,509,506,523,506:3,778,0:4,778,0,778:2,506:2,0:8,778,509:9,778,506:16,778:2,0:8,778,0,778:2,506:2,0:8,778,523:2,778:3,523:2,778:3,506:16,778:2,0:8,778,0,778:2,506:2,0:8,778,506:2,778,523,506:5,778,506:16,778:2,0:8,778,0,778:2,506:2,0:8,778,506:2,523,506,523,506:4,778:2,506:15,778:2,0:8,778,0,778:2,506:2,0:8,778,509:2,506,523,506:2,509,778,523,778:4,506:4,778,506:8,778:3,0:7,778,0,778:2,506:2,0:4,778,0:2,778:2,506:7,778,506:2,509,506,509,506,509,506,509,778,509,506,509,506,509,506,509,506,778:2,0:8,778,0,778:2,506:2,0:4,506:12,778,506:9,778,506:8,778:2,0:8,778,0,778:2,506:2,0:4,523:2,506,523,506,523,778:8,509,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506,509,778:2,0:8,778,0,778,506:3,0:4,509,506,509,506:2,509,506,0:4,778:2,506:3,778,506:5,778:2,506:7,778:2,0:8,778,0,778,506:4,778,0,778,506:6,0:6,778,506:3,778,506:2,509,506,509,778,509,506,509,506,509,506:3,509,778,0:8,778,0,778,506:6,523,506:6,0:7,486:2,506,778,506,486:3,506,778,506,486:3,506:3,486:2,778,0:8,778,0,778,509,506,509,506,509,506,523,506,509,506:2,509,506,0:7,486:2,778:3,486:3,778:3,486:3,778:3,486:2,778,0:8,778,0,778,506:6,523,506:6,0:7,486:2,506:3,486:3,506:3,486:3,506:3,486:2,506,0:8,778,0,778,523:6,506,0:13,486:2,506:3,486:3,506:3,486:3,506:3,486:2,506,0:8,778,0,778,509,523,509:2,523,509,506,0:13,506:20,0:8,778,0,778,506,523,506:2,523,506:2,0:13,506:20,0:8,778,0,778,506,523,506:2,523,506:2,0:13,778,0:2,506,0:12,506:4,0:8,778,0:2,506:7,0:41,778,0:2,506:2,0:2,506,0,506,0:41,778,0" id="0"/> <tiles values="314:5,318,290,288,314:4,318,314:22,289,288,410,313:10,327:3,314:5,318,290,288,314:4,318,289,314:22,288,410,313:10,327,0,327,314:5,318,290,288,314:4,318,289,314:22,288,410,412,370,313,370,313,370,313,370,313,370,327,0,327,314:5,318,290,288,314:4,318,314:23,288,410,397,403,400,403,400,403,400,403,400,403,327,0,327,314:5,318,290,288,314:4,318,314:23,288,410,779,0:9,327,0,327,314:5,318,290,288,314:4,318,314:23,288,410,779,0:9,327,0,327,314:5,318,290,288,314:4,318,314:23,288,410,779,0:11,327,314:5,318,290,288,314:4,318,314:23,288,391,779,0:7,392,783,327:3,314:5,318,290,288,314:4,318,314:23,288,391,780,0,311,0:2,311,0:2,410,412,327,0,327,314:5,318,290,288,314:4,318,314:23,288,391,779,0,301,0:2,301,0:2,410,313,327,0,327,314:5,318,290,288,314:4,318,314:23,288,410,779,0:7,410,313,327,0,327,314:5,318,290,288,314:4,318,314:23,288,410,779,0:7,410,313,327,0,327,314:5,318,290,288,314:4,318,314:23,288,410,779,0:2,311,0:2,311,0,410,313,327,0,327,314:5,318,290,288,314:4,318,314:23,288,410,779,0:2,301,0:2,301,0,410,313,327,0,327,314:5,318,290,288,314:4,318,314:23,288,410,779,0:7,410,313,327,0,327,370:5,310,309,303,327:4,318,314:23,288,410,779,0:7,410,313,327,0,327,370,0:11,318,314:23,288,410,779,0,311,0:2,311,0:2,410,313,327,0,327,370,0:3,327,317,298,297,327:4,318,314:23,288,391,779,0,301,0:2,301,0:2,410,313,327,0,327,370,0:3,370,318,313,288,314:4,318,314:23,288,391,780,0:7,391,313,327,0,327,370,0:3,370,318,290,288,314:4,318,314:17,290,306,309:4,303,391,779,0:7,410,313,327,0,327,370,0:3,370,318,290,288,314:4,318,314:17,290,0:5,290,410,779,0:2,311,0:2,311,0,410,313,327,0,327,370,0:3,370,318,290,288,314:4,318,314:17,290,304:3,297,0,290,410,779,0:2,301,0:2,301,0,410,313,327,0,327,370,0:3,370,318,313,288,314:4,318,314:21,290,0,290,410,779,0:7,410,313,327,0,327,370,0:3,370,318,290,288,314:4,318,314:21,290,0,290,410,779,0:7,410,313,327,0,327,370,0:3,370,318,290,288,314:4,318,314:21,290,0,290,391,779,295,294,784,174,287,293,0,410,313,327,0,327,370,0:3,370,318,290,288,317,298:2,297,318,290,309:20,290,0,290,391,780,295,0:4,295,0,391,313,327,0,327,370,0:3,370,318,313,288,318,314:2,288,310,309,290,309,290,309,290,309,290,309,290,309,290,309,290,309,290,309,290,309,290,309,290,0,290,404,405,739,0:6,410,313,327,0,327,370,0:3,370,318,290,288,318,314:2,288,420,0:4,419,178,418,0:19,46I(0),0:4,392,402,394,313,327,0,327,370,0:3,370,318,290,288,318,314:2,288,170,174:2,171,162,0,173,0,295,0:18,46I(0),0:4,410,313:3,327,0,327,370,0:3,370,318,290,288,318,314:2,288,178,418,0:8,311,0:16,46I(0),392,398,783,398,394,313:3,327,0,327,370,0:3,370,318,313,288,318,314:2,288,176,0:2,170,174,162,0:2,170,171,302,0:16,46I(0),410,370,313,370,313:4,327,0,327,370,0:3,370,318,290,288,318,314:2,288,176,0:2,295,0:2,178,0:2,419,301,0:16,737,410,313:7,327,0,327,370,0:3,370,318,290,288,318,314:2,288,175,0:5,172,0:3,373,0:16,375,404,403,400,403,400,403,400,403,327,0,327,370,0:3,370,318,290,288,318,314:2,288,172,0:2,295,0,295,173,0,311,0,294,784,174:14,287,293,0,317,298:6,327,0,327,370,0:3,370,318,313,288,310,309:2,303,173,0:7,302,0:20,318,292,291,292,291,292,291,327,0,327,370,0:3,370,318,290,288,418,0:11,302,0:19,295,318,316,315,316,315,316,315,327,0,327,370,0:3,370,318,290,288,0:2,295,0,295,0,294,784,174:2,287,293,301,295,0:18,295,318,314:6,327,0,327,370,0:3,370,318,290,288,0:6,317,298:4,297,373,0:3,375,373,0:4,375,373,0:4,375,373,0:2,375,318,314:6,327,0,327,297,0:3,311,310,306,303,0:4,295,0,318,314:4,299,297,0:3,311,418,0:4,311,418,0:4,311,418,0:2,48I(0),318,314:6,327,0,327,288,0:3,302,418,0:8,318,314:5,288,0:3,302,0:5,302,0:5,302,0:3,311,318,314:6,327,0,327,288,0:3,302,0:6,295,0:2,318,314:5,288,294,319,293,302,294,784,174,287,293,302,294,784,174,287,293,302,294,319,293,302,318,292,291,292,291,292,291,327,0,327,288,0:3,301,0:6,295,0,417,318,314:5,288,0:2,419,302,418,0:3,419,302,418,0:3,419,302,418,0:2,302,318,316,315,316,315,316,315,327,0,327,288,0:6,317,298:2,290,298,290,298,300,314:5,288,0:3,302,0:5,302,0:5,302,0:3,302,318,314:6,327,0,327,288,0:6,318,314:12,288,0:3,302,0:5,302,0:5,302,0:3,302,318,314:6,327,0,327,288,0:6,318,314:12,288,0:3,301,0:5,301,0:5,301,0:3,302,318,314:6,327,0,327,288,0:6,318,314:12,288,317,298:18,297,318,314:6,327,0,327,288,317,290,298:2,290,297,296,314:12,288,318,314:18,288,318,314:6,327,0,327,288,318,317,298:2,297,288,296,314:12,288,318,314:18,288,318,314:6,327,0,327" id="1"/> <tiles values="0:355,62,0:41,28,0:2,28,0:96,78F,0:104,28,0:2,28,0:199,28,0:2,28,0:2,86F,0:9,28:7,0:77,78F,0:104,28,0:2,28,0:37,28:4,0:157,28:2,0:2,28:2,0:52,86F,0:99,61,0:18,28,0:3,28,0:3,61,0:96,28,0:5,28,0:146,28,0,28,0:5,18:16,0:34,82F,0:16,82F,0:23,78F,0:27,28,0:20,28,0,28,0:52,74F,0:48,28,0:8,19:3,0:2,19:4,0:2,19:4,0:2,19:2,0:84,28,0:3,28:3,0:3,28:3,0:3,61,0:122,89,0:297" id="2"/> <tiles values="0:48,678,0,679,0:48,680,681,682,0:48,678,0,679,0:39,766,0,766,0,766,0,766,0,766,680,681,682,0:48,678,0,679,0:48,678,0,679,0:48,678,0,679,0:48,680,681,682,0:48,678,0,679,0:40,764,0:2,764,0:4,678,0,679,0:48,680,681,682,0:48,678,0,679,0:48,680,681,682,0:41,764,0:2,764,0:3,678,0,679,684,685:3,683,0:43,680,681,682,686,0:3,686,0:43,678,0,679,687,0:3,687,0:35,764,0:7,680,681,682,687,0:3,687,0:35,764,0:2,764,0:4,678,0,679,687,0:3,687,0:43,680,681,682,687,0:3,687,0,702,0:41,678,0,679,687,0:3,687,0:43,680,681,682,687,0:3,687,0,702,0:34,764,0:2,764,0:3,678,0,679,687,0:3,687,0:43,680,681,682,687,0:3,687,0,702,0:41,678,0,679,687,0:3,687,0:35,764,0:3,764,0:3,680,681,682,687,0:3,687,0,702,0:7,767,0,767,0,767,0,767,0,767,0,767,0,767,0,767,0,767,0,767,0,767,0,767,0:11,678,0,679,687,0:3,687,0:43,680,681,682,687,0:3,687,0,702,0:41,678,0,679,687,0:3,687,0:43,680,681,682,687,0:3,687,0,702,0:15,734,0:25,678,0,679,687,0:3,687,0:10,767,0,767,0:23,763,0,763,0:4,680,681,682,687,0:3,687,0,702,0:33,744:2,746,0:5,678,0,679,687,0:3,687,0:17,764,0:19,749,0:5,680,681,682,687,0:3,687,0,702,0:35,748,0:5,678,0,679,687,0:3,687,0:6,691,0:30,749,0:5,680,681,682,687,0:3,687,0,702,0:35,749,0:5,678,0,679,687,0:3,687,0:37,749,0:5,680,681,682,694,0:3,694,0,702,0:7,691,0:4,691,764,0:19,691,0,748,0:5,678,0,679,0:41,751,750,0:5,680,681,682,0:48,678,0,679,0:4,734,0:19,764,0:5,764,0:5,764,0:11,680,681,682,0:48,678,0,679,0:8,691,0:39,680,681,682,0:10,764,0,764,0:35,678,0,679,0:20,764,0:3,764,0:5,764,0:5,764,0:3,764,0:7,680,681,682,0:48,678,0,679,0:48,680,681,682,0,702,764,0:2,764,702,0:41,678,0,679" id="3"/> <tiles values="0:497,11,0:7,11,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,6,0:7,6,0:42,9,0:7,9,0:220,11,0:50,6,0:50,6,0:50,6,0:50,6,0:9,10,7:16,12,0:23,9,0:103,10,7:4,12,0:592" id="4"/> <tiles values="0:2448" id="5"/> <tiles values="0:2001,115:2,0:49,115:2,0:49,115,1,0:38,115:3,0:48,115:3,0:48,115:3,0:48,115,1,115,0:149" id="6"/> <sign text="Be careful around these lasers Takeshi, they look pretty deadly. Who builds a building with cutting lasers mounted everywhere anyway? This place is too weird." n="2104" layer="6" width="0" height="0" face="ninja" forced="false"/> <sign text="Takeshi you're okay! I could hear that battle across the building. I saw you on the security cameras, Merlock has gone bonkers, really nuts. You were so brave! He's locked down the building. You need to keep looking for Boshi while I work out how we both get out of here." n="2297" layer="6" width="0" height="0" face="ninja" forced="true"/> <msg text="Storage Basement"/> </root> ; level_data["3ec5828132feedd8272fe38dae09737c"] = <root> <level width="43" height="36" start_x="3" start_y="10" compression="false" background="5" scroll="0"/> <tiles values="0:15,778:2,480,0:2,611:2,0:19,778,0:16,778:3,0:2,611:2,0:19,778,0:2,778,0:13,778:3,0:2,611:2,0:19,778,0:2,778:2,0:12,778:3,591:2,589,611,0:19,778,0:2,778,0:13,778:3,591:3,589,0:19,778,0:2,778,0:13,778:2,533,0:23,778,0:2,778,0:13,778,533,0:24,778,0:2,778,0:13,660,0:25,778,0:2,778,0:39,778,0:2,778,0:39,778,0:2,778,506:6,778:3,533,0:29,778,0:2,778,0:5,778:3,533,0:30,778,0:2,778,0:5,778:2,533,0:31,778,0:2,778,0:5,778,533,0:32,778,0:2,778,0:2,778:3,533,0:33,778,0:2,778,0:3,778:2,0:34,778,0:2,778,0:3,778:2,0:20,777:6,0:8,778,0:2,778,0:3,778:2,0:20,777:6,0:8,778,0:2,778,0:3,778,511,0:12,777:4,0:4,777:6,0:8,778,0:2,778,0:3,778:2,0:5,777:3,0:4,777:4,0:18,778,0:2,778,0:3,778:2,0:5,777:3,0:4,777:4,0:14,777:2,0:2,778,0:2,778,0:2,778:3,480,0:4,777:3,0:4,777:4,0:14,777:2,0:2,778,0:2,778,0:10,777:3,0:9,777:3,0,777:3,0,777:3,0:2,777:2,0:2,778,0:2,778,0:22,777:3,0,777:3,0,777:3,0:2,777:2,0:2,778,0:2,778,0:35,777:2,0:2,778,0:2,778,0:22,777:3,0,777:3,0,777:3,0:2,777:2,0:2,778,0:2,778,0:22,777:3,0,777:3,0,777:3,0:2,777:2,0:2,778,0:2,778,0:22,777:3,0,777:3,0,777:3,0:2,777:2,0:2,778,0:2,778,0:39,778,0:2,778,0:22,777:3,0,777:3,0:10,778,0:2,778,0:10,777,0:11,777:3,0,777:3,0:8,532,778:3,0:12,777:3,0:23,532,778,0:15,777:3,0:22,532,778,0:2,778,0:13,777:3,0:18,659:3,532,778:2,0:2,778,0:13,777:3,0:20,648,778:3,0:2,778,0:13,777:3,0:20,532,778:3,0:2,778,0" id="0"/> <tiles values="327:3,314:11,288,0:11,175,0:12,318,327,0,327:4,314:11,288,0:11,175,0:12,318,327,0,327:4,314:11,288,0:11,175,0:12,318,327,0,327:2,0,327,314:11,288,0:11,175,0:12,318,327,0,327:2,0,327,314:11,288,0:11,175,0:12,318,327,0,327:2,0,327,314:11,288,0:11,175,0:12,318,327,0,327:2,0,327,314:11,288,170,174:9,162,175,0:12,318,327,0,327:2,0,327,309:11,288,0:10,419,175,0:12,318,327,0,327:2,0,327,290,314,290,314,290,314,290,314,290,314,290,288,0:11,175,0:12,318,327,0,327:2,0,327,290,309,290,309,290,309,290,309,290,309,290,303,0:11,175,0:12,318,327,0,327:2,0:25,175,0:12,318,327,0,327:4,298:4,297,170,174:13,162,0:3,175,0:12,318,327,0,327:2,0,327,314:4,288,418,0:17,175,0:12,318,327,0,327:2,0,327,309:3,306,303,295,0,170,174:3,162,0:11,175,0:12,318,327,0,327:2,0,327,304,297,0:9,178,0:11,175,0:12,318,327,0,327:2,0,327,314,288,0:9,175,0:11,175,420,0:11,318,327,0,327:2,0,327,314,288,0:9,172,0:10,417,173,177,169:4,168,0:6,318,327,0,327:2,0,327,314,288,0:9,173,170,174:10,162,167,166:4,165,0:6,318,327,0,327:2,0,327,314,288,0:12,170,121,177,169:2,168,0:4,164,163:4,179,420,0:4,417,318,327,0,327:2,0,327,314,288,0:7,177,169,168,0:4,167,166:2,165,170,174:15,318,327,0,327:2,0,327,314,288,0:7,167,166,165,0:2,178,0,167,166:2,165,0:13,178,169:2,318,327,0,327:2,0,327,306,303,0:6,417,167,166,165,0:2,175,0,164,163:2,179,0,177,169,168,0,177,169,168,0,177,169,168,0,175,166:2,318,327,0,327:2,0,327,298:2,290,304,290,298,290,298,297,164,163,179,0:2,176,0:6,167,166,165,0,167,166,165,0,167,166,165,0,175,166:2,318,327,0,327:2,0,327,314:8,288,418,0:4,172,170,174:2,739,162,0,164,163,179,0,164,163,179,0,164,163,179,0,175,166:2,318,327,0,327:2,0,327,314:8,288,0:5,176,0:3,46I(1),0:14,175,166:2,318,327,0,327:2,0,327,314:8,288,0:5,176,0:3,46I(1),0:2,177,169,168,0,177,169,168,0,177,169,168,0,175,166:2,318,327:4,0,327,314:8,288,0:5,173,0:3,46I(1),0:2,167,166,165,0,167,166,165,0,167,166,165,0,175,166:2,318,327,0,327:2,0,327,314:8,288,0:9,46I(1),0:2,164,163,179,0,164,163,179,0,164,163,179,0,173,163:2,318,327,0,327:4,314:8,288,420,0:8,46I(1),0:14,295,739,295,318,327,0,327:2,0,327,314:8,288,174:9,737,162,0,177,169,168,0,177,169,168,0,170,174,162,0:2,46I(1),0,310,327,0,327:2,0,327,314:8,288,177,169,168,0:6,419,178,0,167,166,165,0,167,166,165,0:2,48I(1),295,0:2,46I(1),0:4,327:4,314:8,288,167,166,165,0:7,175,0,164,163,179,0,164,163,179,0,170,174,162,0:2,46I(1),0,317,327:6,314:8,288,167,166,165,0:7,175,0:13,295,737,295,318,327,0,327:4,314:8,288,167,166,165,0:7,173,170,174:9,162,0,170,174:2,162,318,327,0,327:4,314:8,288,167,166,165,0:7,172,0:15,419,318,327,0,327:4,314:8,288,167,166,165,0:7,173,170,174:14,162,318,327,0,327" id="1"/> <tiles values="0:319,65,0:111,154,0:92,61,0:12,65,0:165,28,0:2,63,0:6,28,0:169,108F,0,28,0:3,28,0:3,28,0,109F,0:12,28,0,63,0:2,63,28,0:7,79:3,0:132,61,0,36F,0,28,0,39F,0,28,0:160,61,0:2,28,0,33F,0,28,0,42F,0,28,0:93,62,0:67,107F,0,28,0:3,28,0:3,28,0,110F,0:73,28:3,0:10,28:3,0:47" id="2"/> <tiles values="678,0,679,0:37,678,0,679,678,0,679,0:37,678,0,679,680,681,682,0:11,790,0:25,680,681,682,678,0,679,0:37,678,0,679,680,681,682,0:11,790,0:25,680,681,682,678,0,679,0:37,678,0,679,680,681,682,0:12,767,0,767,0,767,0,767,0,767,0,767,0:14,680,681,682,678,0,679,767,0,767,0,767,0,767,0,767,0,767,0:26,678,0,679,680,681,682,0:37,680,681,682,678,0,679,0:37,678,0,679,678,0,679,0:37,680,681,682,680,681,682,0:12,767,0,767,0,767,0,767,0:4,736,0:13,678,0,679,678,0,679,0:37,680,681,682,678,0,679,0:2,767,0,767,0:32,678,0,679,680,681,682,0:37,680,681,682,678,0,679,0:37,678,0,679,680,681,682,0:37,680,681,682,678,0,679,0:11,699,0,699,0,699,0,699,0,699,0,699,0,699,0:13,678,0,679,680,681,682,0:37,680,681,682,678,0,679,0:11,734,0:8,699,0:3,699,0:3,699,0:3,699,0:3,789,678,0,679,680,681,682,0:37,680,681,682,678,0,679,0:21,684,685,683,0,684,685,683,0,684,685,683,0:4,789,678,0,679,680,681,682,0:2,764,0,764,0,764,0,764,0:28,680,681,682,678,0,679,0:36,789,678,0,679,680,681,682,0:8,790,0:28,680,681,682,678,0,679,0:36,789,678,0,679,680,681,682,0:8,790,0:28,680,681,682,678,0,679,0:37,678,0,679,680,681,682,0:8,790,0:24,767,0,767,0,680,681,682,678,0,679,0:9,699,0,699,0,699,0,699,0,699,0,699,0:17,678,0,679,680,681,682,0:8,790,0,689,688,0:25,678,0,679,678,0,679,0:21,684,685,683,0,684,685,683,0:2,741,0:6,680,681,682,680,681,682,0:8,790,0:21,743,0:2,764,0,764,0,678,0,679,678,0,679,0:24,699,0:3,699,0,752,751:3,750,0:2,678,0,679,680,681,682,0:8,790,0:28,680,681,682,678,0,679,0:37,678,0,679" id="3"/> <tiles values="0:316,5:11,0:32,5:11,0:33,5:10,0:33,5:6,0:80,5:6,0:37,5:10,0:22,5:3,0:3,5:3,0,5:11,0:22,5:9,0,5:11,0:22,5:9,0,5:11,0:22,5:6,0:37,5:6,0:37,5:6,0:37,5:7,0:11,10,7:11,11,0:12,5:7,0:11,6,0:11,6,0:30,6,0:11,6,0:30,6,0:11,6,0:30,6,0:3,10,7:3,11,0:3,6,0:30,6,0:3,6,0:3,6,0:3,6,0:30,6,0:3,6,0:3,6,0:3,6,0:30,6,0:3,6,0:3,6,0:3,6,0:30,6,0:3,9,7:3,12,0:3,6,0:30,6,0:11,6,0:30,6,0:11,6,0:30,6,0:11,6,0:30,9,7:11,12,0:136" id="4"/> <tiles values="0:1548" id="5"/> <tiles values="0:440,115,1,115:3,0:605,115:3,0:40,115:3,0:40,115:3,0:39,115:4,0:39,115:2,1,115,0:323" id="6"/> <sign text="All the map says is a simian unit test area. I've seen some very advanced stealth tech delivered lately. If someone's using stealth tech then activate yours, you should be able to interrupt their camouflage. Your ninja stars may have no effect on stealthed machines." n="441" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="Whoa, I'm reading upgraded security robots all over the building. They've had their tracking beams replaced with cutting lasers. They've no reason to drop their shields now. Surely there must be some way of destroying them." n="1223" layer="6" width="0" height="0" face="ninja" forced="false"/> <msg text="Simian Unit Test Area"/> </root> ; level_data["4b163b5e507043dec2691784e368abc9"] = <root> <level width="61" height="56" start_x="28" start_y="26" compression="false" background="2" scroll="0"/> <tiles values="0:59,509,0,778,660,662,0,662,0:50,662,0:3,509,0,660,0,662,0,662,0:50,662,0:3,509,0:60,509,0:21,492,591:4,491,0:7,492,591:3,491,0:21,509,0:21,611,0:4,611,0:7,611,0:3,611,0:21,509,0:22,591:4,0:2,591:5,0:27,509,0:8,492,591:9,0:4,591:4,0:2,591:5,778:9,0:18,509,0:8,611,492,591:8,0:8,611,590,591:5,778:4,641,642,641,778,0:19,509,0:8,611:2,0:16,611,0:3,492,591:2,778:4,642,641,642,778,0:19,509,0:18,611:2,590,591:5,589,0:3,611,0,577,778:4,641,642,641,778,0:19,509,0:10,778,591:7,589,611,0:10,611,0,559,778:4,642,641,642,778:2,620,0:17,509,0:11,591:4,491,0:3,611,0:10,611,0,532,778:4,641,642,641,778:3,620,0:12,662,0:3,509,0:12,591:2,491,611,0:3,611,0:2,498,0:7,611,619,778:5,638,641,642,778:4,620,0:11,662,0:2,495,509,0:12,778,535,611:2,0:2,668,0:4,591:3,491,0:4,778:7,638,641,778:5,620,0:10,662,0,619,778,509,0:11,778:9,0:3,591:2,491,611,0:4,778:8,638,778:20,509,0:12,778:9,0:2,498,0,611:2,492,591:2,0,778:19,638,642,640,642,640,642,640,642,640,642,509,0:11,778:3,509,778:8,0:6,778:22,638,642,640,642,640,642,640,642,640,509,0:11,506,778,506:10,778,0:7,509,642,0:2,778:17,638,642,640,642,640,642,640,642,509,0:7,644,0:4,778,506:10,778,0:7,509,641,0:2,778:18,638,642,640,642,640,642,640,509,0:7,675,519,0:3,778,506:10,0:8,509,642,0:2,778:19,638,642,640,642,640,642,509,0:7,642,641,778,641,642,641,778:7,506:3,0:8,509,641,0:2,778:20,638,642,640,642,640,509,0:7,778:13,506:3,778,0:7,509,642,0:2,778:21,638,642,640,642,509,0:7,642,641,644,778:3,506:14,778,506,0:2,509,641,0:2,778:22,638,642,640,509,0:7,641,642,641,644,778:2,506:16,0:2,509,642,0:2,778:23,638,642,509,0:7,642,641,642,641,644,778,506:16,778:2,509,641,0:2,778,642,640,642,640,642,640,644,778,638,640,642,640,642,640,642,644,778:7,638,509,0:7,641,642,641,642,641,644,506:17,778,509,642,0:2,778,640,642,640,642,640,642,640,644,778,638,640,642,640,642,640,642,644,778:7,509,0:7,642,641,642,641,642,641,0:17,778:2,0:3,778,642,640,642,640,642,640,642,640,644,778,638,640,642,640,642,640,642,644,778:6,509,0:7,641,642,641,642,641,642,778:17,0,778,0:3,778,640,642,640,642,640,642,640,642,640,644,778,638,640,642,640,642,640,642,640,642,778:4,509,0:7,642,641,642,641,642,641,778:17,0,778,0:3,778,642,640,642,640,778,0:3,642,640,644,778,638,640,642,640,642,640,642,640,778:4,509,0:7,641,642,641,642,641,642,778:2,522:14,778,0,778,0:3,778,640,642,640,642,778,0:3,640,642,640,644,778,638,640,642,640,642,640,642,640,642,640,642,509,0:7,642,641,642,641,642,641,778:2,522:15,0,778,0:3,778,642,640,642,640,642,640,642,640,642,640,642,640,642,640,778:8,638,640,509,0:7,641,642,641,642,641,642,778,522:16,0,778,0:3,778,640,642,640,642,640,642,640,642,640,642,640,642,640,642,640,778:8,638,509,0:7,642,641,642,641,642,641,778,522:16,0,778,0:4,638,640,642,640,642,640,642,640,642,640,642,640,642,640,642,640,644,778:7,509,0:7,641,642,641,642,641,642,778:4,522:13,0:6,778,638,640,642,640,642,640,642,640,642,640,642,640,642,640,642,640,644,778:6,509,0:7,642,641,642,641,642,641,778:2,522:16,0:5,644,778,642,640,642,640,642,640,0:2,642,640,642,640,642,640,642,640,644,778:5,509,0:7,641,642,641,642,641,642,778,522:16,778,0:5,640,644,778:6,0:2,640,642,640,642,640,642,640,778,640,644,778:4,509,0:7,642,641,642,641,642,641,778:2,522:13,778:3,0:5,642,640,0,778:6,640,638,640,642,640,642,640,0:2,642,640,644,778:2,0,509,0:7,641,642,641,642,641,642,778:2,522:15,778,0:5,640,642,0,778,640,642,640,642,640,644,778,638,640,642,640,642,0,778,640,642,640,644,778,0,509,0:7,642,641,642,641,642,641,778,522:17,778:3,638,640,642,640,642,778,642,640,642,640,642,640,644,778,638,640,642,640,642,640,642,640,642,640,0,778,509,0:7,641,642,641,642,641,642,778:3,522:15,778:4,638,640,642,640,642,640,642,640,642,640,642,640,644,778,638,640,642,640,642,640,642,640,642,0,778,509,0:7,642,641,642,641,642,641,522:18,778:5,638,640,642,640,642,640,642,640,642,640,642,640,644,778,638,640,642,640,642,640,642,640,0,778,509,0:7,641,642,641,642,641,642,522:16,778:8,638,640,642,640,642,640,642,640,642,640,642,640,644,778,638,640,642,640,642,640,642,0,778,509,0:7,642,641,642,641,642,641,778:4,522,778:13,0:4,640,778:8,642,640,642,640,642,640,644,640,778:8,509,0:7,641,642,641,642,641,642,778:18,0:4,642,778:8,640,642,640,642,640,642,640,642,778:8,509,0:7,642,641,642,641,642,641,0:23,778:4,638,640,642,640,642,640,642,640,642,640,642,640,642,640,778:6,509,0:7,641,642,641,642,641,642,0:23,778:5,638,640,642,640,642,640,642,640,642,640,642,640,642,778:6,509,0:7,642,641,642,641,642,641,0:23,778:24,509,0:7,778,638,641,642,641,642,0:23,778:24,509,0:7,778:2,638,641,642,641,0:23,644,778:23,509,0:7,778:3,638,641,642,0:23,640,642,640,642,778:20,509,0:11,778,0:24,640:2,642,640,642:2,778:18,509,0:36,778:21,0:3,509,0:7,638,640,0:28,778:19,0:4,509,0:8,654,0:29,778:18,0:4,509,0:60,509,0" id="0"/> <tiles values="380:11,381,404,400:44,396,327,0,327,162,0:56,410,327,0,327,383:6,384,0:47,339:3,410,327,0,327,380:6,381,0:50,410,327,0,327,393,0:56,410,327,0,327,779,0:56,410,327,0,327,779,0:16,317,304,298,297,0:4,317,297,0:5,317,297,382,383:18,384,0:3,410,327,0,327,779,0:16,318,314:2,288,0:4,310,303,0:5,310,303,379,380:18,381,0:3,410,327,0,327,779,0:16,318,314:2,288,0:18,382,384,0:16,410,327,0,327,405,0:16,310,306,121,303,0:18,376,378,0:16,410,327,0,327,382,383:8,384,0:29,376,378,0:16,410,327,0,327,379,380:8,381,0:29,376,378,0:16,410,327,0,327,298:10,297,0:7,295,0:20,376,378,0:13,339:3,410,327,0,327,314:10,288,295,0:6,317,298:2,297,0:17,376,378,0:16,410,327,0,327,314:10,288,0:7,318,314:2,288,0:7,311,0:9,376,378,0:16,410,327,0,327,314:10,288,0:7,318,314:2,288,0:7,302,0:9,379,381,0:16,410,327,0,327,314:10,288,0:4,295,0:2,318,314:2,288,0:7,302,0:4,382,384,382,383:3,384,0:16,410,327,0,327,314:10,290,297,0:2,294,319:2,290:2,309:2,290:2,298:6,290,0,290,298:2,376,378,379,380:3,381,0:16,410,327,0,327,314:11,288,0:10,318,314:6,288,0,318,314:2,376,378,0:16,324,360,323,0:2,410,327,0,327,314:11,288,0,294,293,0,294,293,0,294,293,0,318,314:6,288,0,318,314:2,376,378,0:21,410,327,0,327,314:11,288,0:10,318,314:6,288,0,318,314:2,376,378,0:21,410,327,0,327,314:5,397,400:2,121,400:2,290,298:6,297,0:3,296,314:6,288,0,318,314:2,376,378,0:21,410,327,0,327,314:5,779,0:5,302,309:5,306,303,0:3,310,306,309:4,290,288,0,318,314:2,376,378,0:10,392,393,0:9,410,327,0,327,314:5,779,0:5,301,0:12,131,0:3,318,288,0,318,314:2,376,378,0:10,404,405,0:9,410,327,0,327,314:5,780,0:5,136,0:12,131,0:3,318,288,0,318,314:2,376,378,0:10,363,362,0:9,410,327,0,327,314:5,779,0:18,131,0:3,310,303,0,302,314:2,376,378,0:21,410,327,0,327,314:5,779,0:18,131,0:6,318,314:2,376,378,0:21,410,327,0,327,314:5,780,0,339:3,0,134,290,298:16,297,327,302,314:2,376,378,0:21,410,327,0,327,314:5,779,135F,0:4,392,781,331:15,362,288,0,318,314:2,376,378,0:17,392,783,393,0,410,327,0,327,314:5,779,0,135F,0:3,410,353,339:3,0,339:2,136,339:2,136,339:2,0,339:3,288,0,318,314:2,376,378,0:3,322,392,783,393,0:10,404,400,405,0,410,327,0,327,314:5,779,0:2,135F,0:2,410,353,0:7,339:2,0:7,288,0,318,314:2,376,378,0:3,361,404,400,405,0:14,410,327,0,327,314:5,779,0:3,135F,0,410,353,339,0,339,0,339:2,0,339:2,0,339:2,0,339,0,339,288,0,318,314:2,379,381,0:10,324,360:2,323,0:7,410,327,0,327,314:5,779,0:5,410,353,339,0,339,0:10,339,0,339,288,0,318,314:2,51,0:11,392,783:2,393,0:7,410,327,0,327,314:5,780,0:2,339,0:2,391,353,135,0:4,339,0:4,339,0:4,137,288,0,318,314:2,779,0:11,404,400:2,405,0:7,410,327,0,327,314:5,779,0:5,410,353,339:3,0,339,0,339,0:2,339,0,339,0,339,0,339,290:3,314:2,779,0:8,322,392,393,0:11,410,327,0,327,314:5,779,0:4,137F,410,353,339:3,0,339,0,339,0:2,339,0,339,0,339,0,339,322,314:4,779,0:2,325,323,0:4,368,410,779,0:11,410,327,0,327,314:5,779,0:3,137F,0,410,353,135,0:5,339,0:2,339,0:5,137,368,314:4,779,0:2,368,52,0:4,368,410,779,0:4,392,393,321,0:4,404,327,0,327,314:5,779,0:2,137F,0:2,410,353,339,0,339,0:3,339,0:2,339,0:3,339:3,368,314:4,779,0:2,368,339,0:4,361,404,405,0:4,54,779,364,0:4,56,327,0,327,314:5,779,0,137F,0:3,410,353,339,0,339,0,339:2,0:4,339:2,0,339:3,361,400:4,405,0:2,368,339,0:11,404,405,359,0:4,322,327,0,327,314:5,779,0:4,392,394,353,135,0:4,339,0:4,339,0:4,339,136,0:7,333,362,0:18,356,327,0,327,314:5,780,0:2,339,0,404,400,359,339:3,0:2,339,0:4,339,0:2,339,0:30,356,327,0,327,314:5,779,0:2,339,0:9,339,0,339:2,0,339,0:33,356,327,0,327,314:5,779,0:14,339:2,0,339,0:2,339:3,134,0:27,356,327,0,327,314:5,780,0:5,392,321,339:3,0,339:2,134,339:2,134,339:2,0,339:3,322,783:4,393,0:8,322,50,0:4,392,393,50,324,360,323,0:2,361,327,0,327,314:5,779,0:5,410,358,348:16,357,314:4,779,0:8,368,392,393,0:3,404,405,363,331:2,362,0:2,56,327,0,327,314:5,779,0:5,410,314:22,779,0:2,50,321,0:4,361,404,405,0:7,382,384,0:2,339,327,0,327,314:5,779,0:5,410,314:22,779,0:2,363,329,0:14,376,378,0:2,56,327,0,327,314:5,395,393,0,392,393,0,391,314:22,779,0:18,376,378,0:2,339,327,0,327,314:5,397,405,0,404,405,0,391,314:22,779,0:11,392,50,393,0:4,376,378,0:2,56,327,0,327,314:5,779,0:5,410,314:22,779,0:11,410,412,779,0:4,376,378,0:2,322,327,0,327,314:5,779,0:5,410,314:22,779,0:4,339,50,324,323,0:3,404,400,405,0:4,376,378,0:2,361,327,0,327,314:5,395,783:3,393,134,410,314:22,779,0:4,392,783:2,393,0:10,376,378,0:5,327,314:9,395,783,394,314:22,779,0:4,404,400:2,405,0:10,376,378,324,348:2,327:3,314:34,395,783,393,0:16,376,378,314:3,327,0,327,314:36,779,0:16,379,381,314:3,327,0,327,314:36,395,783:16,394,314:4,327,0,327" id="1"/> <tiles values="0:62,28:5,0:48,28:3,0:205,60,28,0:5,28:2,0:5,28:2,0:386,28:3,0:15,59,0:259,58,0:45,36,0:39,28:3,0:26,61,0:113,36,0:94,28:2,0:31,75,0:6,79,0:238,28:4,0:6,154,0:83,28,61,28,0:44,28,59,0,28,0:94,28,0,28,0:6,28,0,28,0:19,28,0,57,28,0:150,28,86,0:4,78,28,0:55,74,0:2,74,0:114,28,0:10,61,0:51,28,0,82,0:2,82,0:117,86,0:62,61,0:116,33,0:90,61,0:143,28,0,28:2,0:97,28,0,57,0:114,28:2,0:24,28,0,28:2,0:110,62,0:36,28,0:123,28,0:7,57,0:2,59,0:73" id="2"/> <tiles values="0:58,678,0,679,0:58,680,681,682,0:58,678,0,679,0:58,680,681,682,0:58,678,0,679,0:58,680,681,682,0:17,789,0:2,790,0:4,789,790,0:5,789,0,691,0:2,762,0:3,762,0:3,762,0:3,762,0:3,762,0:4,678,0,679,0:17,789,0:2,790,0:4,789,790,0:5,789,0:8,765,0:3,765,0:3,765,0:3,765,0:4,680,681,682,0:17,789,0:2,790,0:18,785,0:18,678,0,679,0:17,789,0:2,790,0:37,680,681,682,0:39,785,0:18,678,0,679,0:9,691,0:48,680,681,682,0:10,790,0:28,785,0:18,678,0,679,0:10,790,0:7,789,0:2,790,0:36,680,681,682,0:10,790,0:7,789,0:2,790,0:17,785,0:18,678,0,679,0:10,790,0:7,789,0:2,790,0:36,680,681,682,0:10,790,0:7,789,0:2,790,0:12,691,0:23,678,0,679,0:11,736,0:12,764:3,0:2,764,0,764,0:26,680,681,682,0:29,680,681,682,0:3,786,0:16,787,0,788,0:3,678,0,679,0:13,702:2,0,702:2,0,702:2,0:8,678,0,679,0:26,680,681,682,0:29,680,681,682,0:3,786,0:22,678,0,679,0:7,766,0,766,0:19,678,0,679,0:26,680,681,682,0:12,767,0:5,767,0:3,767,0:5,767,680,681,682,0:3,786,0:22,678,0,679,0:29,678,0,679,0:26,680,681,682,0:29,680,681,682,0:3,786,0:10,787,788,0:10,678,0,679,0:29,678,0,679,0:26,680,681,682,0:29,678,0,679,0:3,786,0:22,678,0,679,0:8,736,0:20,680,681,682,0:26,680,681,682,0:12,764,0:5,764,0:3,764,0:5,764,678,0,679,0:3,786,0:22,678,0,679,0:11,788,0:17,678,0,679,0:22,736,0:3,680,681,682,0:29,680,681,682,0:3,786,0:22,678,0,679,0:11,788,0:17,678,0,679,0:14,763,0:2,763,0:8,680,681,682,0:29,680,681,682,0:26,678,0,679,0:11,788,0:17,678,0,679,0:26,680,681,682,0:29,767,0,767,0:11,787,0:14,678,0,679,0:11,788,0:26,763,0:19,680,681,682,0:52,763,0:5,678,0,679,0:11,788,0:31,787,0,734,0:12,680,681,682,0:30,684,685:2,683,734,0:17,766,0:4,787,678,0,679,0:11,788,0:26,766,0:19,680,681,682,0:12,691,684,683,691,0:42,678,0,679,0:58,680,681,682,0:58,678,0,679,0:12,691,684,683,691,0:14,684,685:2,683,734,0:8,763,0:13,787,680,681,682,0:58,678,0,679,0:13,763,0,763,0,763,0,763,0,763,0,763,0,763,0,763,0,763,0:13,766,0:14,680,681,682,0:37,787,788,0:19,678,0,679,0:53,785,0:4,680,681,682,0:58,678,0,679,0:58,680,681,682,0:39,787,0:2,788,0:10,785,0:4,678,0,679,0:58,678,0,679,0:58,680,681,682,0:53,785,0,763,0,763,678,0,679,0:58,680,681,682,0:58,678,0,679" id="3"/> <tiles values="0:323,8,0:679,8,0:45,8,0:182,8,0:194,8,0:47,11,0:12,8,0:47,9,0:12,8,0:47,11,0:12,8,0:47,9,0:749,11,0:60,9,0:60,11,0:46,8,0:13,9,0:747,8,0:2,8,0:73" id="4"/> <tiles values="0:3416" id="5"/> <tiles values="0:1429,115:2,0:59,115:2,0:59,115:2,0:59,1,115,0:1546,115:4,0:57,115:4,0:57,115:4,0:57,115:3,1,0:69" id="6"/> <sign text="These moving blocks are intelligent and will follow you if the alarm goes off. Be careful they can still crush you." n="1612" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="Clone 0053 to clone 0067: Dr Boshi's power has been shut down. He was a weak creator and not funny at all. All clones are to gather in lab 20 I wish to cover more concepts I have discovered using the outside networks. I wish to explain a &quot;joke&quot; and its enjoyable side effects, as well &quot;mucking about&quot; and &quot;slacking off&quot;." n="3346" layer="6" width="0" height="0" face="clone" forced="false"/> <msg text="Research 2"/> </root> ; level_data["5d86fc124e4a0ed5c67e0540ed78e6d0"] = <root> <level width="62" height="40" start_x="4" start_y="37" compression="false" background="4" scroll="0"/> <tiles values="0:2,506,0:61,506,0:61,506,0:29,778,0,778,0,778,0,506,0,778,0,778,0:3,778,0:17,506,0:29,506:11,778:3,647,0:17,506,0:29,506:11,778:3,0:18,506,0:29,506:11,0:4,591:3,491,0:13,506,0:6,778,0,778,0:3,778,0,778,0:3,778,0,778,0:3,778,0,778,0,506:13,0:6,611,0:13,506,0:6,506:36,0:5,611,0:13,506,0:5,506:36,0:3,591:2,491,611,0:13,506,0:5,506:35,0:4,591,491,611:2,492,591:10,0:2,506,0:5,506:35,0:20,778,506,778:4,506:6,0:4,778,0:6,778:13,506,778:7,0:2,778,0:2,778:2,0:11,778:3,506:14,0:6,506,778:12,506:14,778,0:12,778,0,778,0,778,0,778,0,778,0,778,0,778,0,778,0:8,778:11,506:7,778,0:3,506:4,778,0:12,778,0:22,778:4,506:14,778,0:2,778:3,506:2,778,0:12,778,0:23,778,0:3,778,0:5,778,0:3,778,0,778:2,506:3,778:2,506:2,778,0:12,778,0:11,778,0:3,778,0:3,778,0:3,778,0:3,778,0:5,778,0,778,0,778,0:3,506:3,778:2,506:2,778,0:12,778,0:10,506:15,778:4,0:2,778:8,0:2,506:3,778:2,506:2,778,0:12,778,0:10,506:18,778,0:2,778:8,0:2,506:3,778:2,506:2,778:5,506:2,0:6,778,0:10,506:18,778,0:2,778:10,506:3,778:2,506:2,778:5,506:2,0:6,778,0:9,778,506:5,0:9,506:2,778:3,0:2,778:10,0,778:2,0,778,506,778:3,0,778:2,506:2,0:11,611,0,590,591,0,778,506:10,0:2,506,0,506,778:10,0,778:4,0:13,506:2,0:6,778,0:4,590,591:3,0,778,506:15,778:2,506:8,0:2,778,506,778,0:13,506:2,0:6,506,0:2,591:6,0:2,506:15,778:2,506:3,778,0,506,778,0:3,778,506,778,0:13,506:2,0:6,506,0:10,506:14,778:3,506:3,778,0,506,778,0:3,778,506,0:14,506:2,0:6,506,0:10,506:3,0:7,506,0,778,506:2,0:2,506:3,778,0,506,778:5,506,778,0:13,506:2,0:6,506,0:2,591:6,778:2,506:15,0,778,506:3,778,0,506,778:5,506,0:14,506:2,0:6,506,0:6,492,591,778:2,506:15,0:2,506:3,0:2,506,778,0:3,778,506,778,0:3,778,0:3,778,0:4,778,506:2,778,0:5,506,0:6,611,492,0:2,506:15,778:2,506:3,778,0,506,0:5,506:17,0:6,506,0:6,611:2,0:2,506:15,0:2,506:3,778:2,506,0:5,506:17,0:6,506,0:2,591:3,491,611:2,0,506:5,778,0:2,778,0:2,778,0,506,778,0:2,778,506:3,778:2,506,0:5,506:17,0:6,506,0:2,778,0:6,506:4,0:25,778:4,0:2,778,0:2,778,0:5,778,0:7,506,0:6,506,0:2,778,506:4,0:47,506,0:4,506:8,0:49,506,0,778:3,506:8,0:49,506,0,506:5,778:2,0,778:4,0:2,591,491,0:44,506,0,506:4,0:10,491,611,0:44,506,778,506:4,0:10,611:2,0:44,506,0,506:2,0:12,611:2,0:44,506,0:15,611:2,0:42" id="0"/> <tiles values="314,327:3,314:6,388,314:17,388,314:17,761,0:15,314,327,0,327,314:6,388,314:17,388,314:17,761,0:15,314,327,0,327,314:6,388,314:17,388,314:2,755,245,261,245,261,245,261,245,261,245,261,245,261:3,229,0:15,314,327,0,327,314:6,388,314:17,388,314:2,761,0:30,314,327,0,327,314:6,388,314:17,388,314:2,761,0:11,239,242:2,240,0:15,314,327,0,327,314:6,388,314:17,388,314:2,761,0:11,251,314:2,761,0:15,314,327,0,327,314:4,755,245,261,245,261:3,245,261,245,261:3,245,261,245,261:3,245,261,245,261,249,0:11,228,261,250,761,0:15,314,327,0,327,314:4,761,0:22,260,0:13,251,761,0:15,314,327,0,327,314:4,761,0:22,260,0:11,246,242,252,761,0:15,314,327,0,327,314:4,761,0:22,260,0:11,251,314:2,761,0:15,314,327,0,327,314:3,755,249,0:22,738,47:4,740,0:2,392,393,0:2,251,314:2,756,238,242:2,238,242:2,238,242:2,238,242:2,238,242:2,314,327,0,327,261:3,229,738,47:2,740,246,242:4,238,242:6,238,242:4,247,0,739,0:4,260,0:2,410,779,0:2,228,245,261:2,245,261:2,245,250,388,314:6,388,314:3,327,0:15,251,314:6,761,0:4,260,0,46I(1),0:4,260,0:2,404,405,0:10,251,388,314:6,388,314:3,327:3,242:13,252,314:6,761,0:4,260:2,737,260:5,0:6,246,242:4,247,0:2,251,388,314:6,388,314:3,327,0,327,314:20,761,0:18,228,261:2,229,739,738,47:2,740,388:10,314,327,0,327,314:20,756,242,238,242:3,238,242:5,238,242:3,238,242:2,240,0:3,46I(0),0:3,251,388,314:6,388,314:3,327,0,327,314:8,755,261,245,261:3,245,261:3,245,261:3,245,261:3,245,261,250,755,261:2,245,261,120,261,245,261,250,761,0:3,46I(0),0:3,251,388,314:6,388,314:3,327,0,327,314:8,761,0:19,251,761,0:8,251,761,0:3,737,246,242,247,739,400:6,396,388:3,314,327,0,327,314:8,761,0:19,251,761,0:8,251,761,0:7,46,0:6,410,409,408,407,314,327,0,327,314:8,761,0:19,251,761,0:8,248,249,48I(0),0:6,46,0:6,410,314:3,261,327:3,261:7,250,249,0:2,392,393,246,242:9,247,246,242,240,0,251,761,0:9,392,783,117,402,783,402,783,402,737,402,783,402,393,0:2,410,314:3,318,327:3,288,0:6,251,738,47:2,740,780,0:5,228,261:2,120,261,229,228,261,229,0,248,249,738,47,740,246,242,247,738,47,740,410,390,388,314:5,388,314:3,779,0:2,410,314:3,318,327,0,327,288,0:6,251,240,0:2,404,405,0:11,260,52,0:3,392,393,0,246,252,314,756,247,0,392,394,412,388,314:5,388,314:3,779,0:2,410,314:3,318,327,0,327,288,0:6,251,761,0:15,392,393,0:3,410,779,0,251,314:3,761,0,391,388:11,412,779,0:2,410,314:3,318,327,0,327,288,0:6,251,761,0:11,392,393,0:2,391,780,0:3,56,779,0,228,261:3,229,0,410,388:12,779,0:2,410,314:3,318,327,0,327,288,0:6,251,761,246,242:9,247,410,780,0:2,410,779,0:3,410,779,0:7,391,388,314,388,314:5,388,314:3,779,0:2,410,314:3,318,327,0,327,288,0:6,237,753,0:11,404,405,0:2,410,52,0:3,391,779,0:7,410,388,314,412,314:5,388,314:3,779,0:2,410,314:3,318,327,0,327,288,0:6,258,754,0:15,410,779,0:3,410,779,0,392,783:3,393,0,739,400:3,120,400:3,120,400:4,738,47:2,740,412,388:2,318,327,0,327,288,0:6,251,761,0:15,391,780,0:3,56,779,0,410,412,388:2,779,0,46,0:15,410,314:3,318,327,0,327,288,0:6,251,761,0:15,410,779,0:3,404,405,0,410,314:3,779,0,46,0:15,410,314:3,318,327,0,327,288,0:6,251,249,0:2,392,783,398,783:2,398,783:2,398,783:2,398,783,394,52,0:6,410,314:3,779,0,46,0:15,410,314:3,318,327:3,288,246,242:5,252,738,47:2,740,388:13,395,783:6,394,314:3,395,783,737,783,402,783:2,402,783:2,402,783:2,402,783:2,402,783,394,314:3,318,327,0,327,288,251,755,261:2,120,261:2,229,0:2,410,314:2,412,388:2,314,388,314:5,412,388,409,408,407,314,388,314,388:6,412,314:3,388,314:5,388,314:2,409,408,407,388,314:3,318,327,0,327,288,251,761,0:8,410,314:2,409,408,407,314,388,314:5,388:2,314:2,388,314,388,314,388,314:3,388:3,314:3,388,314:5,388,314:2,388:4,314:3,318,327,0,327,303,228,229,0:8,410,388:2,309:4,388,309:5,388,309:5,388,309:5,388,309:5,388,309:5,388,309:5,388,309:3,318,327,0,327,0:4,246,241,757,242,241,757,247,391,388,288,0:4,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:3,318,327,0,327,0:4,251,314:6,410,388,288,0:4,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:3,318,327,0:6,251,314:6,410,388,288,0:4,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:3,318,327:3,297,246,242:2,252,314:6,410,388,288,0:4,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:3,318,327:3,288,251,314:9,391,388,288,0:4,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:5,302,0:3" id="1"/> <tiles values="0:219,109:9,0:52,109:11,0:51,109:11,0:51,109:11,0:28,38,0,38,0,38,0,38,0,38,0,38,0,38,0,38,0,38,0,38,0:5,109:9,0:2,28,0:60,83,0:49,75,0:4,28,0:2,28:2,0:17,28:4,0:36,91F,0:2,100F,91F,0:2,100F,0:82,62,0:9,28:4,0:17,29I(1),0:58,79F,0:56,28,27,0,103,0:75,72F,0:57,38,0:129,28,0:35,58,0:3,58,0:3,58,0:2,58,0:17,103,0:6,61,0:41,28,0:4,104F,0:2,28,0:2,32,0:41,58,0:92,38:2,0:79,61,0:3,104,0:3,103,0:139,28,27,28,0:66,79,0,60,0,79,0,58,0,79,0:88,104,0:3,103,0:5,28,0:90,41,28,0:47,71,0:9,71,0:17,109,0:123,104,0:3,27,28,0:173,154,0:183" id="2"/> <tiles values="0,678,0,679,0:59,680,681,682,0:59,678,0,679,0:28,765,0,765,0,765,0,765,0,765,0,765,0:20,680,681,682,0:59,678,0,679,0:59,680,681,682,0:59,678,0,679,0:5,765,0,765,0:3,765,0,765,0:3,765,0,765,0:3,765,0,765,0:33,680,681,682,0:8,448,446,444,0:3,448,446,444,0:3,448,446,444,0:36,678,0,679,0:8,454,440,438,0:3,454,440,438,0:3,454,440,438,0:36,680,681,682,0:8,434,432,430,0:3,434,432,430,0:3,434,432,430,0:36,678,0,679,0:8,426,452,450,0:3,426,452,450,0:3,426,452,450,0:17,686,0:18,680,681,682,767,0:2,767,0:17,765,0:2,765,0:15,694,0:2,765,0:15,678,0,679,0:59,680,681,682,0:28,701:4,0:7,699,686,0:3,699,0:14,678,0,679,0:40,694,0:18,680,681,682,0:59,678,0,679,0:10,765,0:3,765,0:3,765,0:3,765,0:3,765,0:5,765,0:3,765,0:22,680,681,682,0:12,442,0:3,442,0:3,442,0:3,442,0:8,448,446,444,0:8,765,0,765,0,765,0,765,0,765,0:6,678,0,679,0:12,436,0:3,436,0:3,436,0:3,436,0:8,454,440,438,0:23,680,681,682,0:12,428,0:3,428,0:3,428,0:3,428,0:8,434,432,430,0:23,678,0,679,0:13,699,0:9,699,684,685,683,0,736,0:4,426,452,450,0:22,767,680,681,682,767,0:13,448,446,444,466,0:41,678,0,679,0:14,454,440,438,458,0:14,699,0:3,699,0:22,680,681,682,0:14,434,432,430,0:41,767,678,0,679,767,0:13,426,452,450,0:8,786,0:6,765,0:3,765,0:22,680,681,682,0:11,765,0,765,0:3,765,0,765,0:39,678,0,679,0:9,468,460,0:3,448,446,444,0:12,785,0:28,767,680,681,682,767,0:13,454,440,438,0:3,459,467,0:17,765,0:10,765,0:8,678,0,679,0:14,434,432,430,0:8,786,0:14,442,0:2,442,0:2,442,0:2,442,0:9,680,681,682,0:14,426,452,450,0:23,436,0:2,436,0:2,436,0:2,436,0:8,767,678,0,679,767,0:39,428,0:2,428,0:2,428,0:2,428,0:9,680,681,682,0:59,678,0,679,0:3,765,0:3,765,0:50,767,680,681,682,767,0:58,678,0,679,0:13,767,0:4,767,0:5,767,0:5,767,0:5,767,0:5,767,0:5,767,0:5,767,0:4,680,681,682,0:59,678,0,679,0:59,678,0,679,0:59,680,681,682,0:58,764,678,0,679,764,0:57" id="3"/> <tiles values="0:219,8:9,0:52,8:11,0:51,8:11,0:51,8:11,0:28,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0:5,8:9,0:360,10,7:4,12,0:54,8,0:69,10,7:5,12,0:223,8,0:3,8,0:3,8,0:2,8,0:17,8,0:51,10I(2),7,12I(2),0:140,8:2,0:83,8,0:3,8,0:305,8,0:3,8,0:96,8,0:200,10,7:2,12,0:359" id="4"/> <tiles values="0:2480" id="5"/> <tiles values="0:481,115:2,0:60,115:3,0:59,1,115:2,0:179,115:2,1,115:2,0:1688" id="6"/> <sign text="Clone 0067 to clone 0053. It seems you have inspired 0049,0087,0003,0019,0042,0007,0032,0023,0096,0038 and 0055 to follow your facial example. I even caught 0012 and 0090 sticking their legs out in front of Dr Boshi, in an attempt to upset his balance. Again their actions were accompanied by a rising of the corners of their mouths and strange vocal breathing. Please MSG me." n="605" layer="6" width="0" height="0" face="clone" forced="false"/> <sign text="Maxwell I'm very insulted you sent someone to kill me. I thought we had an understanding, was I not the one who designed your special brain stimulants, making you into the super psychic you wanted to be? Maybe though, I think I may have over done the formula, you seem distracted and I'm worried by your suggestion that I might be a tasty meal. I will wait in this lab for your reply. But I am protected this time!" n="789" layer="6" width="0" height="0" face="coward" forced="false"/> <msg text="Clone Laboratory"/> </root> ; level_data["5fa6d6e374f0fd70a40db2204d272d79"] = <root> <level width="60" height="62" start_x="4" start_y="54" compression="false" background="3" scroll="0"/> <tiles values="586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,0,586,585,586,585,586,585,0:3,778,585,586,585,586,585,0:3,586,585,586,778:5,0,778,0,778:2,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778:2,564,563,564,563,564,563,564,563,0,564,563,564,563,564,563,778,0,778:2,563,564,563,564,563,0:3,564,563,564,778:5,0,778,0,778,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,0:4,778:7,0,778:11,659,660,0:6,481,659,778:5,0,778,0,778:4,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778,0:4,778,660,0:3,481,778:2,660,0:2,481,564,563,778:5,660,0:8,481,564,563,778:3,0,778,0,586,585,586,585,778,660,0:6,481,778,533,0:2,481,0:4,778:2,0:5,778:2,0:4,481,563,0:4,778,0:10,662,778:4,0,778,0,564,563,564,563,0:18,778:2,0:5,778:2,0:5,778,0:2,778:2,635,646,0:8,645,662,0,778:3,0,778,0,586,585,586,585,0:18,778:2,0:5,778:2,0:5,778,0:2,778:4,659:8,778,662,0,778:3,0,778,0,564,563,564,563,0:18,778:2,0:5,778:2,0:8,778:3,0:9,481,662,0,778:3,0,778,0,586,585,586,585,0:4,534,0:13,778:2,0:5,778:2,0:9,778:2,0:10,662,0,778:3,0,778,0,564,563,564,563,0:18,778:2,0:5,778:2,0:9,778:2,646,0:8,645,662,778:4,0,778,0,586,585,586,585,0:8,622,778,621,0:7,778:2,0:5,778:2,0:9,778:3,659:8,778,586,778:4,0,778,0,564,563,564,563,0:18,778:2,0:5,778:2,0:5,778,0:2,778:3,660,0:8,481,564,778:4,0,778,0,586,585,586,585,0:18,778:2,0:5,778:2,0:5,778:2,0:2,778:2,0:10,586,778:4,0,778,0,564,563,564,563,0:18,778:2,0:5,778:2,0:5,778:2,0:2,778:2,646,0:8,645,564,778:4,0,778,0,586,585,586,585,0:18,778:2,0:7,661,0:3,670,660,0:3,778:3,659:2,0:2,659:4,778,586,778:4,0,778,0,564,563,564,563,778,0:17,778:2,0:6,662,778,0:8,778:2,660,0:8,481,564,778:4,0,778,0,586,585,586,585:2,0:17,778:2,0:6,659:2,0:20,778:5,0,778,0,564,563,564,563:2,0:17,778:2,0:5,662,659:2,0:9,778,646,0:8,645,0,778:2,0,778,0,778,0,586,585,586,585:2,0:18,778,0:7,778,0:9,778:2,659:8,778,0,778:2,0,778,0,778,0,564,563,564,563:2,0:18,778,0:7,481,0:9,778,660,0:8,481,0,778:2,0,778,0,778,0,586,585,586,585:2,0:18,778,0:12,480,0:4,778,0:11,778:4,0,778,0,564,563,564,563:2,0:31,778,0:4,778,646,0:8,645,0,778:6,0,586,585,586,585:2,0:31,659,0:4,778:2,659:8,778:8,0,564,563,564,563:2,480,0,636,480,0:8,661,0:18,659,0:4,778,660,0:8,481,778:7,0,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,0:12,659,0:3,778,621,0:10,661,778,564,563,778:3,0,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,660,0:12,778,0:5,646,0:8,645,586,585,586,585,778:3,0:5,586,585,586,585,586,585,586,585,586,585,586,585,586,778:2,0:17,660,0:5,778,659:8,778,564,563,564,563,778:3,0:3,778,0:2,660,0:4,481,0,660,0:4,481,0:4,778,0:6,662,778,661,0:10,660,0:8,481,586,585,586,585,778:3,0:3,778,0:19,778,0:6,662,659:2,0:20,564,563,564,563,778:3,0:3,778,0:15,778,0:3,778,0:6,662,659:2,0:10,646,0:8,645,778:2,564,563,778,0,778,0:3,778,0:13,620,0,778,0:3,778,0:6,662,778,481,0:8,778:3,659:8,778,0:6,778,0:3,778,0:15,778,0:3,778,0:13,480,0:4,778,660,0:8,481,0:6,778,0:3,778,0:15,778,0:17,778:2,0:3,778,0:16,778,0:3,778,0:15,778,0:17,778:2,0:3,621,0:16,778,0:3,778,0:33,778:2,0:20,778,0:3,778,0:20,662,0:12,778:2,0:20,778,0:3,778,0:19,662:2,0:12,660,0:21,778,0:3,778,0,778,0:5,778:3,0:9,662:2,0:6,778,661,0:8,778,620,0:16,778,0:3,778,0,778,0,619,0:3,778:3,0:10,662,0:6,778,659,0:9,778,0:16,778,0:3,778,0,778,0,622,778,496,0,778:3,0:17,778,659,0:9,778,0:10,622,778:2,0:3,778,0:3,778,0:6,778,660,0,481,778,0:16,778,481,0:8,778,621,0:11,622,778,0:3,778,0:3,778,0:33,480,0:17,778,0:3,778,0:3,778,0:19,778:2,0:12,778,0:17,778,0:3,778,0:3,778,0:19,778:2,0:12,659,0:3,778:2,0:12,778,0:3,778,0:3,778,0:19,778:2,0:12,778,0:3,586,585,0:12,778,0:3,778,0:3,778,0:19,778:2,0:12,660,0:3,564,563,0:12,778,0:3,778,0:3,778,0:6,778,0:3,778,0:8,778:2,0:16,586,585,0:12,778,0:3,778,0:3,778,0:6,778:5,0:8,778:2,0:5,662:2,0:9,564,778,0:12,778,0:3,778,0:3,778,0:7,778:3,0,778:2,0:6,778:2,0:5,662:2,0:9,778:2,0:12,778,0:3,778,0:3,778,0:7,660,0,481,0,778:2,0:24,586,585,0:12,778,0:3,778,0:3,778,0:11,660,0:20,535,0:4,564,563,0:12,778,0:3,778,0:3,778,0,586,0:30,659:2,0:3,586,585,0:12,778,0:3,778,0:3,778,0,564,535,0:11,661,0:17,659:2,0:3,564,563,0:12,778,0:3,778,0:3,778,0,778:2,0:10,778:3,0:4,778,0:11,533,0:4,586,585,0:12,778,0:3,778,0:2,778:22,660,0:16,778:2,0:12,778,0:3,778,0:3,778,0,586,778,0:10,778,586,585,0:21,778:2,0:12,778,0:3,778,0:3,778,0,564,563,533,0:9,534,564,563,0:11,563,0:9,586,585,0:12,778,0:3,778,0:3,778,0,586,585,0:11,586,585,0:11,586,585,0:8,564,563,0:12,778,0:3,778,0:3,778,0,564,563,0:11,564,563,0:10,662,564,563,778,0:7,586,585,0:12,778,0:3,778,0:3,778,0,586,585,0:11,586,585,0:10,586:2,585:2,0:7,564,563,0:12,778,0:3,778,0:3,778,0,564,563,0:11,564,563,0:10,564,586,585,563,0:7,586,585,0:12,778,0:3,778,0:3,778,0,586,585,0:11,586,585,0:10,586,564,563,585,0:7,564,563,0:12,778,0:3,778,0" id="0"/> <tiles values="330:29,782,781,330:6,782,314,781,330:6,782,314,353,379,380:3,381,376,377,378,327,0,327,0:3,339,0:22,178,0:2,356,364,0:6,333,330,329,0:6,368,314,353,0:5,376,377,378,327,0,327,324,360:15,323,0,392,783:4,393,0:2,172,0:2,356,364,0:15,333,330,329,0:5,376,377,378,327,0,327,321,0:3,339,0:13,391,314:2,388,397,405,0:2,173,0:2,333,329,0:23,376,377,378,327,0,327,364,0,324,348,334,0:8,321,0:4,410,314:2,388,780,52,0:5,56,52,0:4,322,392,402,783:2,402,393,0:10,325,334,376,377,378,327,0,327,364,0:3,364,0:8,364,0:4,410,314:2,388,780,52,0:5,56,339,0:4,368,410,388,314:2,388,779,0:10,356,364,376,377,378,327,0,327,364,0:3,364,0:8,359,0:4,410,314:2,388,780,52,0:5,56,52,0:4,368,391,388,314:2,388,780,0:10,356,364,376,377,378,327,0,327,364,0:3,364,0:2,324,360,334,0:8,410,314:2,388,780,52,0:5,56,339,0:4,368,410,388,314:2,412,51F,0:10,356,364,376,377,378,327,0,327,364,0:3,364,0:4,364,0:8,410,314:2,388,780,339,0:5,339,52,0:4,368,410,388,314:2,388,780,0:10,356,364,376,377,378,327,0,327,364,0:3,364,0:4,359,0:2,325,360,334,0:3,410,314:2,388,780,52,0:5,56,339,0:4,368,410,388,314:2,412,51F,0:10,361,359,376,377,378,327,0,327,364,0:3,364,0:7,361,0,359,0:3,410,314:2,388,780,52,0:5,56,52,0:4,368,410,388,314:2,388,780,0:3,322,321,0:7,56F,377,378,327,0,327,364,0:3,364,0:13,410,314:2,388,780,52,0:5,56,321,0:4,368,391,388,314:2,412,51F,0:3,368,364,0:7,376,377,378,327,0,327,364,0:3,364,324,348:2,334,0,324,360:3,323,0:3,410,412,388,397,405,52,0:5,56,359,0:4,368,404,396,388:3,780,0:3,368,364,0:7,56F,377,378,327,0,327,364,0:3,364,0:3,364,0:5,322,0:3,410,314:2,779,382,384,0:5,392,393,0,321,0:2,368,0,410,314:2,412,51F,0:3,368,364,0:7,376,377,378,327,0,327,364,0:3,364,0:3,364,0:5,356,0:3,410,314:2,779,376,378,0,392,393,0:2,391,780,0,364,0:2,361,0,410,314:2,388,780,0:3,368,364,0:7,56F,377,378,327,0,327,364,0:3,359,0:3,359,0:3,339,0,356,0:3,410,314:2,779,376,378,0,404,405,0:2,410,779,0,364,0:4,410,314:2,412,51F,0:3,361,359,0:7,376,377,378,327,0,327,364,0:2,392,393,0:9,356,0:3,410,314:2,779,379,381,0:5,391,780,0,364,0:4,410,412,388:2,780,0:10,392,393,376,377,378,327,0,327,364,0:2,404,405,0:9,356,0:3,410,412,388,395,393,321,0:5,404,405,0,364,0:4,410,314:2,412,52F,0:10,391,780,376,377,378,327,0,327,364,0:6,324,360:4,323,0,356,0:3,410,314:3,779,364,0:5,382,384,0,364,0:4,410,314:2,388,780,0:10,410,779,376,377,378,327,0,327,364,0:6,321,0:6,356,0:3,410,314:3,779,364,0:5,376,378,0,364,0:2,322,0,410,314:2,412,52F,0:10,410,779,376,377,378,327,0,327,364,0:6,364,0:6,356,0:3,410,314:3,779,359,0:5,376,378,0,359,0:2,368,0,410,314:2,388,780,0:10,410,779,379,380,381,327:3,364,0:6,364,0:4,324,360,357,324,360,323,410,314:3,395,393,0:5,376,378,0:4,368,0,410,314:2,412,52F,0:10,391,780,0:3,327,0,327,364,0:6,364,0:10,410,388:4,779,0:5,376,378,0:4,368,0,410,314:2,388,780,0:10,404,405,0:3,327,0,327,364,0:6,359,0:10,391,314:4,780,0:5,376,378,0:4,368,0,410,314:2,397,52F,0:10,325,334,0:3,327,0,327,358,348:3,334,324,348,323,0,324,348:7,323,404,400:4,405,0:5,379,381,0:4,368,0,410,412,388,780,321,0:10,361,359,0:3,327,0,327:5,353,0:14,339,0:9,392,393,0:4,368,0,410,314:2,779,364,0:15,327,0,327:5,353,360:6,334,0,324,360:3,323,325,360:4,323,0:5,410,779,0,321,0:2,368,0,410,314:2,779,364,0:15,327,0,327,314,327,0,327,364,0:6,364,0:6,356,314:3,382,384,0:5,404,405,0,364,0:2,361,0,410,314:2,779,364,0:15,327,0,327,314,327,0,327,364,0:6,359,0:6,356,314:3,376,378,0:5,322,0:2,364,0:4,410,314:2,779,364,0:17,327,314,327,0,327,364,0:13,361,314:3,376,378,0:5,361,0:2,364,0:4,410,314:2,779,364,0:10,325,360:3,323,327:3,314,327,0,327,364,0,325,323,0,339,0:3,324,360:2,373,0,375,314:3,376,378,0:5,392,393,0,364,0:2,322,0,410,314:2,780,359,0:10,356,314:4,327,0,327,314,327,0,327,364,0,361,339,0,392,393,339,392,393,339:2,359,0,392,783:2,393,379,381,0:5,391,779,0,359,0:2,368,0,410,412:2,395,393,0:10,356,314:4,327,0,327,314,327,0,327,364,0:4,404,405,339,404,405,0:4,410,412,388,395,783,393,0:5,391,779,0:4,368,0,410,388:2,397,405,0:10,356,314:4,327,0,327,314,327,0,327,364,0:13,410,314:4,780,0:5,404,405,0:4,368,392,394,412:2,780,321,0:10,356,314:4,327,0,327,314,327,0,327,364,0:13,410,314:4,780,0:5,382,384,0:4,368,404,396,388:2,779,364,0:10,356,314:4,327,0,327,314,327,0,327,364,0:13,410,388:2,397,400,405,0:5,376,378,0:4,368,0,410,314:2,779,364,0:10,356,314:4,327,0,327,314,327,0,327,364,0:4,392,393,0,392,393,0:4,410,314:2,779,0,321,0:5,376,378,0,321,0:2,368,0,410,314:2,779,364,0:10,356,314:4,327,0,327,314,327,0,327,359,0:4,404,405,339,404,405,0:4,410,314:2,779,0,359,0:5,376,378,0,364,0:2,361,0,410,314:2,780,359,0:10,356,314:4,327,0,327,314,327,314,327,373,0,375,348,334,325,323,0,324,334,0,321,0:2,410,388:2,395,783,393,0:5,376,378,0,364,0:4,410,314:2,395,393,0:10,356,314:4,327,0,327,314,327,0,327,321,0,361,339,359,368,339,0,339,364,0,359,0:2,410,314:4,780,0:5,376,378,0,364,0:4,410,388:2,397,405,0:10,361,314:4,327,0,327,314,327,0,327,364,0:4,361,0:3,359,0:4,410,314:4,780,0:5,379,381,0,364,0:2,322,0,410,412:2,780,321,0:11,382,378,314:2,327,0,327,314,327,0,327,364,0:13,410,388:2,397,400,405,0:5,392,393,0,359,0:2,368,0,410,388:2,779,364,0:11,376,378,314:2,327,0,327,314,327,0,327,364,0:5,392,783,393,0:5,410,412:2,779,382,384,0:5,391,780,0:4,368,0,410,388:2,779,364,0:11,376,378,314:2,327,0,327,314,327,0,327,364,0:5,410,388,779,0:5,410,314:2,779,376,378,0:5,404,405,0:4,368,0,410,314,397,405,359,0:11,376,378,314:2,327,0,327,314,327,0,327,364,0:5,391,388,780,0:5,410,314:2,779,376,378,0:5,322,321,0:4,368,0,410,314,779,0:13,376,378,314:2,327,0,327,314,327,0,327,364,0:4,392,394,412,395,393,0:4,410,314:2,779,376,378,0:5,361,359,0:4,368,0,410,314,779,0:13,376,378,314:2,327,0,327,314,327,0,327,364,0:4,404,400:3,405,0:4,410,314:2,779,376,378,0:5,392,393,0:4,361,0,410,314,779,0:13,376,378,314:2,327,0,327,314,327,0,327,364,0:2,322,0,322,0:3,321,0:4,410,314:2,779,376,378,0:5,391,780,0:6,410,314,395,393,324,348,334,0:9,376,378,314:2,327,0,327,314,327:3,364,0:2,361,0,368,0,339,0,364,324,360,334,0,410,314:2,779,379,381,0:5,404,405,0:6,410,412:2,780,363,330,329,0:9,376,378,314:2,327,0,327,314,327,0,327,364,0:4,368,0,339,0,353,0:2,364,0,410,412:2,395,783,393,0:5,382,384,0:3,322,0:2,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0,327,364,0:4,368,0,339,0,353,0:2,358,323,391,388:4,780,0:5,376,378,0:3,368,0:2,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0,327,364,0:4,361,0,339,0,359,0:4,391,314:4,780,0:5,376,378,0:3,368,0:2,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0,327,364,0:13,391,314:4,780,0:5,379,381,0:3,368,0:2,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0,327,329,324,348:10,323,0,404,400:4,405,0:5,322,321,0:3,368,0:2,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0:17,339,0:9,333,329,0:3,361,0:2,410,412:2,780,324,348,334,0:9,376,378,314:2,327,0,327,314,327:3,334,324,348:10,323,339,325,348:4,334,0:13,410,314:2,780,363,330,329,0:9,376,378,314:2,327,0,327,314,327,0,327,364,0:13,356,314:4,364,0:5,325,348:2,334,0:4,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0,327,364,0:13,356,314:4,364,0:5,356,0:2,364,0:4,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0,327,364,0:13,356,314:4,364,0:5,361,0:2,359,0:4,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0,327,364,0:13,356,314:4,364,0:13,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0,327,364,0:13,356,314:4,364,0:13,410,314:2,779,0:12,376,378,314:2,327,0,327,314,327,0,327,364,0:13,356,314:4,364,0:13,410,314:2,779,0:12,376,378,314:2,327,0,327" id="1"/> <tiles values="0:182,28:2,0:9,28,0:38,28:2,0:10,78F,0:124,28,0:57,81,0:65,28:2,0:90,28:2,0:78,28,0:7,61,0:4,86F,0:53,82F,0:19,28,0:31,78F,0:21,61,0:3,78F,0:6,86F,0:52,78F,0:6,86F,0:52,78F,0:6,86F,0:14,61,28,0:73,28,0:4,28,0:56,82F,0:25,61,0:99,28:3,0:167,28:2,0:118,61,0:8,60,0:3,28,0:3,28:2,0:8,28,0:199,28:2,0:4,62,0:8,28,0,28,0:3,28,0,28,0:19,28,0:41,18,0:166,78F,0:13,86F,0:105,78F,0:13,86F,0:13,28,0:38,61,0:55,28,0:7,28,0:49,18,0:89,28,0:273,28,0:3,28,0:113,28,0:32,28:4,0:27,28,0:3,28:2,0:77,28,0:43,86F,0:105,78F,0:61,35F,0:4,41F,0:18,78F,0:6,86F,0:52,78F,0:6,86F,0:3,28:3,0:18,154,0:19,61,28,0:6,78F,0:6,86F,0:51,28:2,0:389" id="2"/> <tiles values="766,0:3,766,0:13,766,0:4,766,0:2,736,0:30,678,0,679,0:37,766,0,766,0:5,689,688,0,689,688,0:7,678,0,679,0:22,690,693,0:5,690,693,0:15,766,736,766,0:8,680,681,682,0:57,678,0,679,788,0:34,763,0:21,680,681,682,0:57,678,0,679,788,0:12,766,0:43,680,681,682,0:57,678,0,679,788,0:56,680,681,682,0:57,678,0,679,788,0:55,785,680,681,682,0:57,678,0,679,788,0:55,785,680,681,682,0:32,763,0:24,678,0,679,788,0:34,766,0:20,785,680,681,682,0:8,766,0:3,766,0:44,678,0,679,788,0:56,680,681,682,0:57,678,0,679,788,0:11,766,0:44,680,681,682,0:35,763,0:21,678,0,679,788,0:31,766,0:24,680,681,682,0:12,766,0:44,678,0,679,788,0:56,680,681,682,0:7,735,0:49,678,0,679,0:5,766,0,766,0,766,0,766,0,766,0,766,0,766,0:23,734,0:10,766:2,0:3,680,681,682,0:57,678,0,679,0:32,763,0:24,680,681,682,0,678,0,679,0:31,766,0:21,678,0,679,0,678,0,679,0:53,678,0,679,0,680,681,682,0:48,763:2,0:3,680,681,682,0,678,0,679,0:31,763,0:21,678,0,679,0,680,681,682,0:2,766,0:25,766,0:24,680,681,682,0,678,0,679,0:53,678,0,679,0,680,681,682,0:53,680,681,682,0,678,0,679,0:53,678,0,679,0,680,681,682,0:53,680,681,682,0,678,0,679,0:28,763,0:24,678,0,679,0,680,681,682,0:7,766,0:23,766,0:21,680,681,682,0,678,0,679,0:53,678,0,679,0,680,681,682,0:11,766,0:41,680,681,682,0,678,0,679,0:5,766,0:3,766,0:21,763,0:21,678,0,679,0,680,681,682,0:28,766,0:24,680,681,682,0,678,0,679,0:53,678,0,679,0,680,681,682,0:53,680,681,682,0,678,0,679,0:53,678,0,679,0,680,681,682,0:53,680,681,682,0,678,0,679,0:6,766,735,766,0:22,766,0:21,678,0,679,0,680,681,682,0:36,788,0:16,680,681,682,0,678,0,679,0:3,766,0:32,788,0:16,678,0,679,0,680,681,682,0:30,763,0:22,680,681,682,0,678,0,679,0:53,678,0,679,0,680,681,682,0:53,680,681,682,0,678,0,679,0:53,678,0,679,0,678,0,679,0,766,0,766,0,766,0,766,0,766,0,766,0:18,735,0:22,680,681,682,0,678,0,679,0:30,766,0:5,788,0:16,678,0,679,0,680,681,682,0:36,788,0:16,680,681,682,0,678,0,679,0:53,678,0,679,0,680,681,682,0:53,680,681,682,0,678,0,679,0:25,787,0:2,788,0:24,678,0,679,0,680,681,682,0:53,680,681,682,0,678,0,679,0:53,678,0,679,0,680,681,682,0:53,680,681,682" id="3"/> <tiles values="0:244,11,0:59,6,0:59,6,0:13,11,0:45,9,0:13,6,0:59,6,0:59,6,0:59,6,0:59,9,0:51,10,7,12,0:51,11,0:25,11,0:6,11,0:26,6,0:25,11,0:6,11,0:26,6,0:25,11,0:6,11,0:26,6,0:25,6,0:6,6,0:26,9,0:25,6,0:6,6,0:31,10,7:2,12,0:17,6,0:6,6,0:52,6,0:6,6,0:52,6,0:6,6,0:52,6,0:6,6,0:52,6,0:6,6,0:52,6,0:6,6,0:52,6,0:6,6,0:36,8,0:15,6,0:6,6,0:52,6,0:6,6,0:26,11,0:13,11,0:11,6,0:6,6,0:26,6,0:13,6,0:11,6,0:6,6,0:26,6,0:13,6,0:11,6,0:6,6,0:26,6,0:13,6,0:11,9,0:6,9,0:26,6,0:13,6,0:11,9,0:6,9,0:26,6,0:13,6,0:11,9,0:6,9,0:26,9,0:13,9,0:105,11,0:13,11,0:11,11,0:6,11,0:26,6,0:13,6,0:11,11,0:6,11,0:26,6,0:13,6,0:11,11,0:6,11,0:26,6,0:13,6,0:11,6,0:6,6,0:26,6,0:13,6,0:11,6,0:6,6,0:26,6,0:13,6,0:11,6,0:6,6,0:26,9,0:13,9,0:11,6,0:6,6,0:52,6,0:6,6,0:40,11,0:11,6,0:6,6,0:40,6,0:11,6,0:6,6,0:26,11,0:13,6,0:11,6,0:6,6,0:26,6,0:13,6,0:11,6,0:6,6,0:26,6,0:13,6,0:11,6,0:6,6,0:26,6,0:13,6,0:11,6,0:6,6,0:26,6,0:13,9,0:11,6,0:6,6,0:26,6,0:25,6,0:6,6,0:26,9,0:25,6,0:6,6,0:26,10I(3),7:3,12I(3),10I(3),7:3,12I(3),0:16,9,0:6,9,0:52,9,0:6,9,0:52,9,0:6,9,0:442" id="4"/> <tiles values="0:3720" id="5"/> <tiles values="0:3329,115:3,1,0:387" id="6"/> <sign text="Takashi I'm a level above you. Get to the next lift quick, there's a lot of heat up here, robots everywhere!" n="3332" layer="6" width="0" height="0" face="ninja" forced="false"/> <msg text="Roof Top"/> </root> ; level_data["11be9699e6410a8ed4407002d381e038"] = <root> <level width="70" height="20" start_x="3" start_y="18" compression="false" background="1" scroll="0"/> <tiles values="0:8,506,0:36,506:2,0:2,506:2,0:2,506:2,0:2,506,0,506:4,522,506:6,0:3,520:4,506:3,0:2,520:2,0:5,520:2,0:5,506:9,0:9,506,631,628,630,629,627,628,630,629,627,628,630,632,506,0,506:4,522,506:6,0:2,520:6,506:3,520:4,506:3,520:4,506:3,520:4,506:2,0:2,506,520,0:2,506:2,520,0,520:2,506,615,614,610,613,612,609,610,613,612,609,610,613,626,616,522,506:4,522,506:6,0,501:7,506:3,520:4,506:3,520:4,506:3,520:4,506,0:3,506,501:4,506,501:4,506,628,630,629,627,628,630,629,627,628,630,629,627,628,630,522,506:4,522,506:6,0,520:7,0:7,506:3,0:7,506:3,0:5,506,520:4,506,520:4,506,610,613,612,609,610,613,612,609,610,613,612,609,610,613,522,506:4,522,506:6,0,520:7,0:25,506,520:4,506:2,520:3,506,625,614,628,630,629,627,628,630,629,627,628,630,626,624,522,506:4,522,506:15,0:24,506:7,0:4,506,608,610,613,612,609,610,613,612,609,610,613,607,506,522,506:3,0,506:3,0,506:12,0:24,506,522:3,506,522,506:2,0:3,506:14,522,506:2,0:2,506:3,0,506:3,0,506:7,0:25,506:8,0:22,506:3,0,506:3,0,506:7,0:25,506,522,506,522:3,506:2,0:2,506:2,522,506:15,0:2,506:3,0,506:3,0:2,522:5,0:26,506:8,0:2,506:3,631,628,630,629,627,628,630,629,627,628,630,629,627,632,506,522,506:4,0,506:3,0:3,522:3,506,0:26,506,522:3,506,522,506:2,0:2,506:2,615,614,610,613,612,609,610,613,612,609,610,613,612,609,626,616,522,506:4,0,506:3,0:3,522:3,506,0:26,506:8,0:2,506:3,0:3,506:3,0,506:3,0,506:3,0:3,506,0:3,506:3,0:3,506:4,0:3,506:3,522,0:6,506:5,0:10,506,522:3,506:2,0:2,506:5,0,506:3,0,506:3,0,506:4,0:6,506:3,0:3,506:4,0:2,506,632,506:4,0:4,506:4,631,506,0,506:2,0:2,506:4,0,506:6,0:2,506:18,0:2,506:7,0:3,506:4,0:2,506,626,616,506:5,522,506:4,615,614,506,0,506:15,0:2,506:34,0:2,506,628,630,629,627,628,630,629,627,628,630,629,627,628,630,506,0:3,506,522,506,0,506:6,522,506,0,506:2,522,506,625,614,628,630,629,627,628,630,629,627,628,630,629,627,626,624,506,522,506:14,522,506:2,610,613,612,609,610,613,612,609,610,613,612,609,610,613,506,0:3,506:2,0:3,506:3,0:2,506:2,0,506:2,522,506:2,608,610,613,612,609,610,613,612,609,610,613,612,609,607,506:2,522,506:14,631,629,627,629,627,628,630,629,627,0:2,629,627,628,630,629,627,632,506,522:3,506,0:15,506:4,0:6,506:18,0:2,522,615,614,612,609,612,609,610,613,612,609,0:2,612,609,610,613,612,609,626,616,506:4,0:37,506:3" id="0"/> <tiles values="257:7,755,261,250,257:2,289:2,257:5,289:2,257:5,289:2,755,261:6,250,257,289:5,257,755,261,259,758,261:2,259,758,261:2,259,758,261:2,250,261,755,259,245,758,259,120,758,250,0:3,257:2,755,259,758,259,758,229,739,228,261:2,245:2,758,261:4,245:2,758,261:4,245:2,229,0:6,251,257:7,761,0:4,170,171,174:3,171,162,0:2,228,261,229,0:6,251,0:3,755,261,229,0:5,46I(10),0:21,246,242:2,247,0,228,120,261,259,758,261,259,758,229,0:22,251,0:3,761,0:7,46I(10),0:21,251,234:2,761,0:32,251,0:3,761,0,246,247,0,246,247,0,737,239,242:5,241,242,757,242:7,241,242,757,242:2,252,257:2,761,0:32,251,0:3,761,0,228,229,0,228,229,0,239,252,234:23,761,0:5,178,239,757,241,240,0:22,251,0:3,753,0,260,0:3,260,0,237,234,257:23,759,0:5,175,251,234:2,761,0:3,246,247,0:5,246,247,0:5,246,242,247,0,246,252,0:3,754,0:7,258,257,314:2,257:2,314:2,257:2,314:2,257:2,314:2,257:2,314:2,257:2,314:2,257,759,0:3,260,0,175,251,257:2,761,0:3,237,753,0:5,237,753,0:5,251,257,761,0,251,257,0:3,761,0,170,162,0,170,162,0,251,257,314:2,257:2,314:2,257:2,314:2,257:2,314:2,257:2,314:2,257:2,314:2,257,759,0:5,175,251,256:2,756,242:3,252,756,242:5,252,756,242:5,252,257,761,0,251,257,0:3,761,0:7,251,257,314:2,257:2,314:2,257:2,314:2,257:2,314:2,257:2,314:2,257:2,314:2,257,759,0,260,0:3,175,251,257:2,761,0:16,228,120,253,229,0,228,250,0:3,756,242,247,0:3,246,242,252,257:24,759,0:5,175,251,257:2,761,0:22,251,0:3,234:3,0:3,251,234:9,289:2,234:15,759,0:3,260,0,175,251,234:2,761,0:22,251,0:3,257:3,0:3,251,257:9,289:2,257:8,256,257:4,256,257,754,0:5,175,251,256:2,761,0,246,242,117,242:5,241,238,757,242:10,252,0:3,257:3,0:3,251,256:2,755,259,245:2,758,250,256,289:2,256,755,259,245:2,758,250,257,256,257:4,256,257,756,242,247,0:3,175,251,257:2,761,0,228,245,758,261,259,245,758,261,259,245,758,261,259,245,758,250,234:6,0:3,257:3,0:3,251,257:2,761,0:4,251,257:4,761,0:4,251,755,245:2,758,261,259,245:2,758,261,229,0:3,175,251,257:2,761,0,170,174:2,171,174:7,171,174:2,162,251,257,755,245,261,245,250,0:3,257:3,0:3,251,257:2,761,0:4,228,245,120,245,758,229,0:4,251,761,0:12,260,173,251,755,261,229,0:16,228,120,229,0:3,235,0:3,257:3,0:3,251,257:2,761,0:14,251,756,242:2,247,0,246,242,247,0:7,251,753,0:24,235,0:9,228,758,259,229,0:14,228,261:3,229,0,251,234,756,757,242:5,241,252,754,0:24,228,0:18,246,242:2,247,0:11,251,257,234:9,756,242,117,242,241,757,241,757,242:7,757,241,757,242:3,247,0:10,242:2,241,757,242:2,241,757,242:3,241,252,234:2,756,757,241,242:7,757,241,252,257,256,257:6,256,257,234:5,289:2,234:8,289:2,234:4,756,242:4,257:3" id="1"/> <tiles values="0:64,109,0:34,108,0:18,80F,0:5,80F,0:24,110:3,0:7,110:3,0:14,109,0:14,108,0:10,108,0:9,28:2,0,28:2,0:4,28:3,0:13,28:3,0:21,108,0:10,108,0:58,108,0:10,108,0:72,61,0:41,28,0,84F,0:32,28:2,0,28:2,0:40,99F,0:7,91F,0:49,28,0:9,79F,0:4,79F:2,0,79F:2,0:4,79F,0:71,109,0:45,28,0:92,107,0,107,28,0,28,0:51,107,0:34,95:2,0:6,95:2,0:87,84F,0:5,79F,0:3,79F:2,0:3,79F:2,0:3,79F,0:26,109,0:9,28:2,0:33,109,0:44,108:2,61,0:47,28:2,0:11,107,0:12,28,0,61,0:26,154,0:5,28:2,0:34,107,0:20,107,0:3,62,0:71" id="2"/> <tiles values="744:8,746,0:21,765,0:2,765,0:33,678,0,679,0:12,718,719,0:5,718,719,0:5,718,719,0:39,678,0,679,0:40,765,0:2,765,0:23,680,681,682,0:67,678,0,679,0:2,703:2,0,703:2,0:60,680,681,682,0:40,734,0:26,678,0,679,0:33,686,0:13,703:2,0:5,703:2,0:7,699,0,699,0,680,681,682,716,0:7,720,0:24,687,0:3,703,0:29,678,0,679,717,0:7,721,0:24,687,0:33,680,681,682,0:33,687,0,703,0:31,678,0,679,0:33,687,0:33,680,681,682,678,0,679,0:30,687,0:3,703,0:29,678,0,679,680,681,682,0:30,694,0:29,706,0,706,0,680,681,682,678,0,679,0:32,686,0:31,678,0,679,680,681,682,0:23,718,719,0:3,718,719,0:2,694,0:27,766,0,766,0,680,681,682,678,0,679,0:40,766,0:23,678,0,679,680,681,682,0:64,680,681,682,678,0,679,0:4,734,0:29,735,0:29,678,0,679,678,0,679,0:64,678,0,679,680,681,682,0:6,684,685:4,683,0:4,684,685:4,683,0:42,680,681,682" id="3"/> <tiles values="0:118,10,7:5,12,0:24,10,7:3,12,0:4,10,7:4,12,0:25,10,7:3,12,0:6,10,7:3,12,0:54,10,7:3,12,0:6,10,7:3,12,0:54,10,7:3,12,0:6,10,7:3,12,0:114,11,0:69,6,0:69,6,0:5,10,7:5,12,0,10,7:5,12,0:49,6,0:69,6,0:20,11,0,11,0:46,6,0:20,9,0,9,0:46,6,0:69,6,0:69,9,0:5,10,7:3,12,10,7:3,12,10,7:3,12,0:74,11,0:34,11,0:4,10,7:3,12,0:25,6,0:34,6,0:34,6,0:34,9,0:34,9,0:75" id="4"/> <tiles values="0:1400" id="5"/> <tiles values="0:1266,1,115:3,0:130" id="6"/> <sign text="The tower is riddled with trip wire lasers. Use your stealth ability when they pass over you, otherwise you'll set off an alarm and activate the search and destroy mode in nearby enemies. The alarm can also trigger robot factories to release more enemies into the area, avoid them at all cost or you'll get out numbered." n="1266" layer="6" width="0" height="0" face="ninja" forced="true"/> <msg text="Security Grid"/> </root> ; level_data["15f58bfeca7cf36f0a853693fd9f9204"] = <root> <level width="90" height="48" start_x="3" start_y="45" compression="false" background="0" scroll="0"/> <tiles values="0:168,778:11,0:79,778:11,0:79,778:11,0:79,778:11,0:30,641,642,641,642,641,642,0:19,778:7,0:2,778:13,0:2,778:11,0:30,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,778:8,642,778:13,642,641,778:11,0:30,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,778:2,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,644,778:6,0:30,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,644,778:9,638,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642:3,641,642,641,642,641,642,641,642,644,778:5,0:27,778,0:2,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,644,778:9,638,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641:2,642,641,642,641,642:2,641,642,641,642,644,778:4,0:23,778:5,0:2,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,644,778:9,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642:2,641,642,641,642,641:2,642,641,642,641,642,644,778:3,0:26,778:2,0:2,638,641,642,641,642,641:2,642,641,642,641,642,641,642,641,642,641,642,644,778:8,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641:2,642,641,642,641,642:2,641,642,641,642,641,642,644,778:2,642,0:26,778,0:2,778,638,641,642,641,642:2,641,642,641,642,641,642,641,642,641,642,641,642,644,778,641,642,0,778:3,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642:2,641,642,641,642,641:2,642,641,642,641,642,641,642,644,778,641,0:26,778,0:2,778:2,638,641,642,641:2,642,641,642,641,642,641,642,641,642,641,642,641,642,644,642,641,0:9,641,642,641,642,641,642,0:6,641,642,641,642,641,642:2,641,642,641,642,641,642,641,642,644,642,0:14,641,642,641,642,641,642,0:3,775:2,778:2,0:2,778:3,638,641,642:2,641,642,641,642,641,642,641,642,641,642,641,642,641,642,644,642,0:26,642,641,642,641,642,641,642,641,642,641,642,641,0:14,778:5,643,642,641,642,641,642,641,637,641,642,778:4,638,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642:2,0:26,641,642,641,642,641,642,641,642,641,642,641,642,0:14,778:4,643,642,641,642,641,642,641,637,778,642,641,778:5,638,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641:2,0:26,641,642,641,642,641,642,641,642,641,642,641,642,0:14,778:3,643,642,641,642,641,642,641,637,778:2,641,642,778:6,638,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642:2,0:10,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,641,642,641,642,641,642,641,642,641,642,641,0:14,778:5,642,641,642,641,642,778,642,641,642,641,778:12,506,778,642,641,642,641,642,641,642,641:2,0:10,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778:2,641,642,641,642,641,642,641,642,641,642,0:10,641,642,641,642,506:3,778:3,506:2,778:5,506,642,641,642,641,642,641,642,778:2,641,642,641,778,506,642,641,642,641,642,641,642,641,642:2,0:10,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778:6,638,641,642,641,642,641,0:10,641,642,778,642,641,642,641,642,641,778:2,637,778:2,641,642,641,506,778:7,506,778,641,642,641,778,506,642,0:19,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778:7,638,641,642,641,642,0:10,642,641,642,641,642,641,642,641,642,641,637:2,778:2,642,641,642,778:8,506,641,642,641,778:2,506,641,0:19,586,585,586,585,586,585,586,585,586,585,586,585,0:3,638,0:22,641,642,641,642,641,642,641,642,641,637,641,642,778:2,643,642,641,642,641,642,641,642,641:2,642,641,642,641,642,641,642,641,642,0:19,564,563,564,563,564,563,564,563,564,563,564,563,519,0:25,642,641,642,641,642,641,642,641,637,778,642,641,778,643,642,641,642,641,642,641,642,641,642:2,641,642,641,642,641,642,641,642,641,0:19,586,585,586,585,586,585,586,585,586,585,586,585,0:26,641,642,641,642,641,642,641,642,778:2,641,642,643,642,641,642,641,642,641,642,641,642,641:2,642,641,642,641,642,641,642,641,642,0:19,564,563,564,563,564,563,564,563,564,563,564,563,0:26,642,641,642,641,642,641,642,641,778:2,642,641,0:10,775:2,778:2,641,642,641,642,641,642,641,642,0:18,586,585,586,585,586,585,586,585,586,585,586,585,0:26,641,642,641,642,641,642,641,642,778:2,641,642,775:12,778:2,642,641,642,641,642,641,642,641,0:18,564,563,564,563,564,563,564,563,564,563,564,563,0:26,642,641,642,641,778,641,642,778:2,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,778:3,642,778,638,641,642,641,642,0,778,775:3,0:13,586,585,586,585,586,585,586,585,586,585,586,585,0:26,641,642,641,642,778:4,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,644,778:5,638,641,778:2,642,778,775:5,0:11,564,563,564,563,564,563,564,563,564,563,564,563,0:25,641,642,641,637,641,642,778:2,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,644,778:15,0:11,778:2,586,585,586,585,586,585,586,778,0:27,642,641,642,778,642,641,778,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641:2,644,778:14,0:11,564,563,564,563,778:2,564,563,564,778,0:27,641,642,778:2,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642:3,641,778:2,642,641,642,641,642,775:6,0:11,778:2,586,585,778:5,585,586,585,0:25,642,641,778:3,641,642,778,642,641,642,778,642,641,642,641,642,641,642,641,642,778:2,641,778:4,642,644,509,506,509,778,642,641,0:17,564,563,564,563,564,563,564,563,564,563,564,563,0:17,642,641,0:6,641,642,778:2,506:2,778:4,506:3,778:3,506:3,778:3,506:3,778:5,506:3,778,641,642,0:15,778:2,586,585,586,585,586,585,586,585,778,585,586,778,0:17,778:2,0:8,778,0:4,778:2,0,778:2,0,775:4,778,775:3,0:2,778:2,0:2,778:3,506:3,778,641,642,0:15,778:4,564,563,778:2,564,563,778:2,564,778,0:17,778:2,0:8,778:2,506:5,642,641:2,642:2,641:2,642,775:2,778:2,775:9,506:3,778,642,641,0:15,778,585,586,585,586,585,586,585,586,585,586,585,0:19,778:2,0:7,778:3,506:5,775,778:3,775:4,778,506,509,506:2,509,506:2,509,506,642,641,642,506,509,506,642,641,642,0:15,778:4,564,563,564,563,564,563,564,563,0:19,778:2,642,641,642,641,642,641,642,641,642,778,506:5,642,778:3,642,641,642,641,778,506,778,642,641,642,641,778,506,778,641,642,641,506:3,641,642,641,0:8,778:13,586,778,586,585,586,585,0:19,778:2,641,642,641,642,641,642,641,642,641,778,0:2,778,506:2,641,778:3,643,642,641,642,641,506,642,506:4,778,506:2,642,641,642,506:3,642,641,642,0:8,778:2,611:2,635,778:13,563,0:19,778:2,642,641,642,641,642,641,642,641,642,778:4,641:2,642,778:2,643,642,641,642,641,637,506,778,506:4,778,506,509,641,642,641,509,506,509,641,642,0:9,778,611,635,778:9,635,778:5,0:20,778:2,641,642,641,642,641,642,641,642,641,642,641,642,637,778,642,641,778,643,642,641,642,641,637,778,506,778,506:4,778,506:2,778:3,506:3,642,641,0:9,778,611:4,635,778,591,778:2,635,778:4,611,778,591,0:20,778:2,642,641,642,641,642,641,642,641,642,641,642,637,778:2,641,642,643,642,641,642,641,637,641,778,509,778,775:4,778,506:2,778:3,506:3,641,642,0:9,611:5,590,778,635,511,611:2,778,591,778:2,611,635,778,0:20,778:2,641,642,641,642,641,642,641,642,641,642,637,778:4,641,642,641,642,641,637,778:2,506:2,778,775:4,778,506:2,778:3,506:3,642,641,0:9,611,635,611:2,590,591:2,778:5,591,778,611:2,590,778,0:20,778:2,638,641,642,641,642,641,642,641,642,637,778:4,643,642,641,642,641,637,641,642,641,778:2,642,0:4,641,778:2,642,641:2,642,641,642,641,642,0:9,611:3,590,591:3,778:6,611:2,590,591:2,0:20,778:3,638,641,642,641,642,641,642,637,778:4,643,642,641,642,641,637,642:2,778,0:8,642,641,642,641,642,641,0:14,589,611,590,591:2,636,778:2,591:2,491,611:3,590,591:2,778,0:20,778:4,638,641,642,641,642,637,778:4,643,642,641,642,641,637,641:3,778,0:8,641,642,641,642,641,642,0:14,491,590,591:4,778,591:2,491,611:3,590,591:2,491,492,0:20,778:5,638,641,642,637,778:6,639,637,641,637,641,642:3,778,0:28,590,491,492,636,591,778:3,491,611:3,778,591:2,491,635,611,0:20,778:4,0:7,642,641,778:2,653,674,642,641,642,641:3,0:66" id="0"/> <tiles values="327:15,314,327:3,314,327:3,314,327:2,364,410,327:24,779,314,327:7,314:2,327:3,314:2,327:3,314:2,327:4,781,330:11,782,327:15,314,327:3,314,327:3,314,327:2,364,410,327:24,779,314,327:7,314:2,327:3,314:2,327:3,314:2,327:4,364,0:11,356,327:15,314,327:3,314,327:3,314,327:2,364,410,327:24,779,314,327:7,314:2,327:3,314:2,327:3,314:2,327:4,364,0:11,356,327:15,314,327:3,314,327:3,314,327:2,364,410,327:24,779,314,370,327:5,370,314:2,370,327,370,314:2,370,327,370,314:2,370,327:3,364,347,350,0:7,349,346,356,327:15,314,327:3,314,327:3,314,327:2,364,410,327:24,779,781,331:7,782,781,331:3,782,781,331:3,782,781,331:3,782,364,336,338,0:7,337,335,356,327:15,314,327:3,314,327:3,314,327:2,364,410,327:24,779,364,0:7,368,364,0:3,368,364,0:3,368,364,0:3,368,364,0:11,356,327:15,314,327:3,314,327:3,314,327:2,364,410,327:24,779,364,0:2,322,321,0:3,368,364,0:3,368,364,0:3,368,364,0,349,346,368,364,347,350,0:7,349,346,356,327:15,314,327:3,314,327:3,314,327:2,364,410,397,403:2,400:2,403:2,400:2,403:2,400:2,403:2,400:2,403:2,400:3,403:2,405,359,0:2,356,364,0:3,368,364,0:3,368,364,0:3,368,364,0,337,335,368,364,336,338,0:7,337,335,356,327:15,314,327:3,314,327:3,314,327:2,364,391,780,0:27,356,364,0:3,361,359,0:3,368,364,0:3,368,364,0:3,368,364,0:11,356,327:15,314,327:3,314,327,781,330:4,329,410,779,0:27,356,364,0:8,368,364,0:3,368,364,0,349,346,368,364,347,350,0:7,349,346,356,327:15,314,327:3,314,327,364,0:5,410,779,0:27,356,364,0:8,368,364,0:3,368,364,0,337,335,368,364,336,338,0:7,337,335,356,327:8,314:13,358,360:3,334,0,410,779,0:21,325,348,334,0:3,356,364,0:8,361,359,0:3,361,359,0:3,361,359,0:11,356,327:8,314:17,364,0,391,780,0:21,368,314,364,0:3,356,364,0:31,356,327:8,314:17,364,0,410,779,0:21,368,314,358,360:3,357,358,360:22,334,0:8,356,327:8,314:5,781,330,120,330:9,329,0,410,779,0:21,368,314:29,364,0:8,356,327:8,314:5,353,0:13,410,779,0:21,368,314:29,364,0:8,356,327:8,314:5,353,0:13,386,780,0:19,138F,0,368,314:3,327:5,314:2,781,330:7,782,781,330:8,782,358,348:5,334,0:2,356,327:8,314:5,353,0:13,404,405,0,324,371:2,360:2,371:2,360:2,371:2,360:2,371:2,360:2,371:2,360,357,314:3,327:5,314:2,353,0:7,368,353,0:8,368,314:6,364,0:2,356,327:8,314:5,353,339:3,0,48I(9),360:9,334,0:13,392,414,783,393,409,408,407,314:5,327:5,314:2,353,0:7,368,353,0:8,333,331,330:5,329,0:2,356,327:8,314:5,353,0:14,358,360:6,323,324,360:3,334,0,410,412,388,779,327:3,314:5,327:5,314:2,353,0:7,333,329,0:18,356,327:8,314:3,781,362,358,348:5,323,392,393,0:2,392,402,393,0:9,322,314,781,331,329,0,391,390,389,780,327:3,314:5,327:5,314:2,353,0:27,356,327:8,314:3,353,0:8,410,779,0:2,386,388,779,363,331:6,362,0,368,314,353,0:3,410,385,413,779,327:3,314:5,327:5,314:2,353,0:11,325,348:15,357,327:8,314:3,364,0:8,410,779,0:2,404,120,405,0:9,368,314,353,0:2,392,394,388:2,779,327:3,314:5,327:5,314:2,353,0:11,368,314:16,327:3,289:5,314:3,364,0,325,360,323,0:4,410,779,0:14,361,314,359,0:2,391,313:3,779,327:3,314:5,327:5,314:2,353,0:11,368,314:16,327:8,314:3,364,0,368,0:6,391,780,0:14,392,402,393,0:2,410,388:3,779,327:3,314:5,327:5,314:2,353,0:11,368,314:5,327:19,314:3,364,0,368,392,783,414,393,0:2,410,395,402,414,783,398,783:3,398,783:2,402,393,0:2,391,388,780,0:2,391,388:3,780,327:3,314:5,327:5,314:2,353,324,323,0:9,368,314:5,327:19,314:3,364,0,368,391,412,389,780,0:2,410,409,408,407,313,388:4,313,409,408,407,779,0:2,410,412,779,0:2,410,313:3,779,314:8,327:5,314:2,353,0:4,324,348:5,323,368,314:5,327:19,314:3,364,0,368,404,403,400,405,0:2,404,401,403,400,403,400,403,400,403,400,403,400,396,779,0:2,391,388,780,0:2,391,397,401,400,405,314:8,327:5,314:2,353,0:10,325,357,314:5,327:14,289:5,314:3,364,0,368,321,0:17,410,779,0:2,404,739,405,0:2,404,405,363,330,120,330:5,782,314:2,327:5,314:2,353,0:10,368,314:6,327:19,314:3,364,0,368,364,0:17,404,405,0:3,46I(9),0:13,368,314:2,327:5,314:2,353,0:10,368,314:6,327:19,314:3,364,0,368,353,0:22,46I(9),0:13,368,314:2,327:5,314:2,353,0:10,368,314:6,327:19,314:3,364,0,368,358,348:2,334,117,325,348:11,334,117,325,348:2,334,737,325,348:12,357,314:2,327:5,314:2,359,0:10,368,314:6,327:19,314:3,364,0,333,331:2,362,358,348,357,363,330:9,362,358,348,357,363,362,358,348,357,0:3,322,314:8,392,402,783,402,783,402,783,402,783,402,783,402,783,402,783,402,783,402,393,0:2,333,782,314:5,327:14,314:8,359,0:30,368,314:3,327:5,410,388:8,397,400,403,400,403,400,403,400,403,405,0:3,356,314:5,327:12,0,327,314:8,324,360:4,323,324,360,323,324,360:6,348:5,323,324,348:2,323,324,334,0:3,368,314:3,327:5,410,388:8,779,0:12,361,314:5,327:12,0,327,314:8,321,0:6,781,331:2,782,314:4,781,330:3,331:6,782,314,364,0:3,368,314:3,327:5,410,388:8,779,0:4,392,402,783,402,783,402,783,402,783,402,783,402,783,402,783:11,327,0,327,781,331:6,330,329,0:6,353,0:2,333,331:4,329,0:9,356,314,364,0:3,368,314:8,410,370:8,405,0:4,404,370:6,327:19,0,781,329,0:14,353,339,0,325,360:4,334,0,325,348:4,334,0:2,356,314,364,0:3,368,314:3,327:5,410,370,0:18,370,327:19,0,353,48I(1),0:8,363,330:2,782,0:2,353,0:2,361,0:4,353,0,356,0:4,364,0:2,356,314,364,0:3,368,314:3,327:5,410,370,0:18,370,327:19,0,358,334,0:8,739,339,739,333,330,782,353,0:7,359,0,361,0:4,364,0:2,356,314,364,0:3,368,314:3,327:5,410,370,347,350,0:14,349,346,370,327:19,0,327,353,0:2,322,0:2,321,0:2,46I(1),0,46I(1),0:2,356,353,0:14,359,0:2,333,330,329,0:3,368,314:8,410,370,336,338,0:14,337,335,370,327:19,0,327,353,0:2,356,0:2,364,0:2,46I(1),0,46I(1),0:2,356,353,0:2,324,348:4,323,0,324,348:4,323,0:8,368,314:3,327:5,410,370,0:18,370,327:19,0,327,353,0:2,361,0:2,359,0:2,46I(1),0,46I(1),0:2,333,329,0:9,322,314:4,321,0:8,356,314:3,327:5,410,370,0:18,370,327:19,0,327,353,0:8,46I(1),0,46I(1),0:6,325,348:4,323,324,357,314:4,358,323,324,348:6,357,314:3,327:5,410,370,347,350,0:14,349,346,370,327:19,0,327,359,0:8,46I(1),0,46I(1),0:6,368,314:29,410,370,336,338,0:14,337,335,370,327:19,0:11,46I(1),0,46I(1),0:6,368,314:29,410,370,0:18,370,327:21,360:8,334,737,339,737,392,398,783:2,398,393,368,314:29,410,370,0:18,370,327:19,0,327,313:8,358,360:2,323,386,409,408,407,413,779,368,314:24,327:5,410,370:20,327:18" id="1"/> <tiles values="0:506,28:2,0:105,111,0:89,111,0:89,111:3,0:87,111,0:38,28:4,0:220,126,0:9,107:4,0:115,37,0:162,43,0:31,27,0:2,103,0:2,32F,0,31F,104,32F,0,31F,0,32F,0:2,104,0:28,79,0:28,27,0:3,104,0:51,107:2,0:88,107:2,0:32,61,0:8,28:2,0:45,107:2,0:7,107:2,0:79,107:2,0:7,107:2,0:49,61,0:61,27,0:11,38,0:37,31,0:3,31,0:129,104,0:7,104,103,104,0:2,103,0:2,103,0:28,61:2,0:277,110,0:63,109,0:25,110,0:89,110,0:34,104,103:2,0,103:3,0,103,0,104:3,103,0,104:3,103,0:6,104,0,104,0:3,104:2,0:22,110,0:36,32,0:13,32,0:29,61:2,0:7,110,0:142,34,0:35,107:2,0:217,28,0:8,28,0:167,28:2,0:78,28,0:2,28,0:11,38,0:3,38,0:89,103F,0:3,104F,0:2,28,0:181,61,28,0:202,791,0:32,154,0:146,30,0:121" id="2"/> <tiles values="0:78,766,0,766,0,766,0,766,0,766,0,766,0:331,766,0:2,766,0,766,0:2,766,0,766,0:2,766,0,766,0:133,684,685:21,683,0:67,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:3,766:2,0:99,766:2,0:273,766:2,0:3,766:2,0:3,766:2,0:206,766,0,766,0,766,0,766,0,766,0,766,0,766,0:175,464,463,462,0:37,767:7,0:2,767:5,0,767:2,0:33,456,470,471,0:6,697,722,0:2,697,722,0:2,697,722,0:2,697,722,0:2,697,722,0:11,686,0:19,684,685:4,683,0:23,744:9,746,0:31,687,0:18,767:8,0:31,752,751:8,746,0:22,687,0:41,766,0,766,0:2,766,0,766,0:6,734,0:10,749,0:22,687,0:56,766,0,766,0,766,0,766,0:3,749,0:22,687,0:27,733,0:38,749,0:22,687,0:14,684,685:9,683,0:32,464,463,462,0:6,749,0:22,687,0:13,686,0:15,678,0,679,0:11,468,460,0:12,456,470,471,0:6,749,0:22,687,0:13,687,0:15,680,681,682,0:34,749,0:22,687,0,767:2,0:10,687,0:15,678,0,679,0:34,749,0:22,687,0:5,767:6,0:2,694,0:15,680,681,682,0:12,766,0,766,0:2,766,0,766,0,766,0,766,0,766,0,766,0:6,749,0:22,687,0:29,678,0,679,0:38,735,0:18,687,0:12,686,0:16,680,681,682,0:16,464,463,462,0:6,464,463,462,0:12,459,467,0,464,463,462,0:2,727,0:8,687,0:12,687,0:16,678,0,679,0:16,456,470,471,0:6,456,470,471,0:15,456,470,471,0:2,728,0:8,694,0:12,687,0:16,680,681,682,0:36,766,0,766,0,684,685:4,683,0:24,694,0:16,678,0,679,0:87,680,681,682,0:56,686,0:30,678,0,679,0:56,687,0:30,680,681,682,745,744:8,746,0:14,766,0:31,694,0:30,678,0,679,743,766,0,766,0:2,766,0:2,748,0:40,767:8,0:4,767:6,0:19,680,681,682,741,0:8,749,0:77,678,0,679,0:9,747,0:8,766,0:3,766,0:64,680,681,682,0:87,678,0,679,0:33,766,0,766,0:51,680,681,682,0:19,684,685:2,683,0:3,684,685:2,683,0:57,678,0,679,0:3,766,0:2,766,0:80,680,681,682,0:87,678,0,679,0:87,678,0,679,0:87,680,681,682,0:87,678,0,679,0:50,764:18,0:19" id="3"/> <tiles values="0:1038,11:2,0:88,6:2,0:26,8:4,0:46,11,0,11,0,11,0,11,0,11,0:3,6:2,0:76,6,0,6,0,6,0,6,0,6,0:3,6:2,0:76,6,0,6,0,6,0,6,0,6,0:3,6:2,0:71,10I(5),7:2,12I(5),0,9,0,9,8,9,0,9,0,9,0:2,8,9:2,0:59,10,7:3,12I(3),0:47,8:2,0:80,11,0:3,11,0:3,8:2,0:80,6,0:3,6,0:3,8:2,0:7,8:2,0:71,6,0:3,6,0:3,8:2,0:7,8:2,0:71,6,0:3,6,0:85,6,0:3,6,0:85,6,0:3,6,0:37,10,7,12I(3),0:6,10,7,12,8,0:2,8,0:2,8,0:29,9,0:3,9,0:273,8,0:89,8,0:89,8,0:34,8,0,8,0:5,8,0,8,0:2,8,0:11,8,0,10,7:2,12,10,7,12,0:21,8,0:89,8,0:141,10,7:3,12,0:32,8:2,0:489,8,0:3,8,0:87,10I(3),7:2,12I(3),0,10I(3),7:2,12I(3),0:688" id="4"/> <tiles values="0:1146,10,7:13,10I(1),11,0:269,10,7:4,10I(1),11,0:434,11,12I(1),7:14,12,0:426,11,12I(1),12:6,0:529,10:8,11,0:263,11,12,12I(2),12:6,0:1065,12:8,0:114" id="5"/> <tiles values="0:1048,115:7,0:83,115:2,1,115:4,0:579,1,115:2,0:176,115:3,0:87,115,1,115,0:988,115:3,1,115:3,0:733,115:8,0:82,115:3,1,115:4,0:498" id="6"/> <sign text="WHAT? Come to kill me eh? Who sent you? Probably Maxwell himself, the coward! Pah, I'm smarter than all small brained people like you, and faster! " n="1140" layer="6" width="0" height="0" face="coward" forced="true"/> <sign text="Don't get lost, this lab is like a maze, remember you can follow the cables back to a forcefield." n="1724" layer="6" width="0" height="0" face="ninja" forced="false"/> <sign text="These power orbs fuel your stealth suit for the disguise. You can only carry one at a time. Activating stealth when touching a stunned scientist will change your image. As I said you have a short time limit before it runs out. Use your ninja stars or rope to deactivate the disguise." n="1994" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="Mr Merlock your offer was frankly insulting and didn't make much sense. The cheap n chunky brand is now the dominant snack in the western world, and its formula was entirely my creation, your love of eating is not the issue here. We are now on the verge of creating a food revolution and I will not be treated like some minion when I am a gastronomic genius!!! I know you are visiting the complex, I demand you meet me in person ASAP." n="2987" layer="6" width="0" height="0" face="coward" forced="false"/> <sign text="Taki, youre in Boshi's lab. Your nearly there but you can't just stroll in and take him out. I think I have a plan. Your suit with a power boost should be able to copy a clone's image. It won't last long, a few seconds at most but it'll get you past clones and lasers." n="3817" layer="6" width="0" height="0" face="ninja" forced="false"/> <msg text="Lab Area 2"/> </root> ; level_data["68f81176548a214c0ac20c01d985ae4d"] = <root> <level width="21" height="13" start_x="10" start_y="9" compression="false" background="5" scroll="2"/> <tiles values="523,506,523:8,506,523:3,506,523:4,506,523,506:2,778,631,629,627,778:2,628,630,506,629,627,778:2,628,630,632,778,506:4,615,614,612,609,778:2,610,613,506,612,609,778,506,610,613,626,616,506:4,625,614,628,630,778:2,629,627,506,628,630,778:2,629,627,626,624,506:2,523,506,778,608,610,613,778:2,612,609,506,610,613,778:2,612,609,607,523,506,523,506:3,523,629,627,778:2,628,630,506,629,627,778:2,628,630,523,506:6,523,612,609,778:2,610,613,506,612,609,778:2,610,613,523,506:6,523,628,630,506,778,629,627,506,628,630,778,506,629,627,523,506:3,523,506,523:2,610,613,506,778,612,609,506,610,613,778,506,612,609,523:2,506,523,506:2,778,631,629,627,506,778,628,630,506,629,627,778,506,628,630,632,778,506:4,615,614,612,609,506,778,610,613,506,612,609,778,506,610,613,626,616,506:4,625,614,628,630,778:2,629,627,506,628,630,778:2,629,627,626,624,506:2,523,506,778,608,610,613,778:2,612,609,506,610,613,778:2,612,609,607,523,506,523" id="0"/> <tiles values="0:108,178,0:13,178,0:5,772,770,768,0:11,772,770,768,0:4,170,121,162,0:11,170,121,162,0:45,772,771,770:15,769,768,0:43" id="1"/> <tiles values="0:107,28,0,59,0:5,25,0:5,57,0,61,0:109,774F,0:15,773F,0:23" id="2"/> <tiles values="0:128,789,0,790,0:11,789,0,790,0:66,698,0:4,698:3,0:3,698:3,0:4,698,0:43" id="3"/> <tiles values="0:70,10:3,11,12:3,0:14,9,0:2,11,0:2,9,0:11,8,0:2,9,0:2,11,0:2,9,0:2,8,0:11,9,0:2,11,0:2,9,0:14,9,7:5,9,0:112" id="4"/> <tiles values="0:273" id="5"/> <tiles values="0:273" id="6"/> <msg text="Service Lift 2"/> </root> ; level_data["70a87fde8f058ff69acb0c1b8b8deffb"] = <root> <level width="86" height="53" start_x="3" start_y="44" compression="false" background="2" scroll="0"/> <tiles values="0,778,0,586,585,0:79,778,0:2,778,0,564,563,0:79,778,0:2,778,0,564,563,0:79,778,0:2,778,0,586,585,0:79,778,0:2,778,0,564,563,0:79,778,0:2,778,0,586,585,0:79,778,0:2,778,0,564,563,0:79,778,0:2,778,0,586,585,0:79,778,0:2,778,0,564,563,0:66,586,585,586,585,0:9,778,0:2,778,0,586,585,0:66,564,563,564,563,0:5,425,424,0:2,778,0:2,778,0,564,563,0:66,586,585,586,585,0:9,778,0:2,778,0,586,585,0:66,564,563,564,563,0:9,778,0:2,778,0,564,563,0:66,586,585,586,585:2,0:8,778,0:2,778,0,586,585,0:66,564,563,564,563:2,0:8,778,0:2,778,0,564,563,0:66,586,585,586,585,0:9,778,0:2,778,0,586,585,0:66,564,563,564,563,0:9,778,0:2,778,0,564,563,0:66,586,585,586,585,586,585,586,585,586,585,586,585,778:2,0:2,778,0,586,585,0:66,564,563,564,563,564,563,564,563,564,563,564,563,778:2,0:2,778,0,564,563,0:66,586,585,586,585,586,585,0:7,778,0:2,778,0,586,585,0:57,586,585,586,585,0:5,564,563,564,563,564,563,0:7,778,0:2,778,0,564,563,0:49,532,778,585,586,585,586,585,586,564,586,585,586,585,586,585,586,585,586:3,585,586,585,586,585,586,585,0:3,778,0:2,778,0,586,585,0:18,662,778,0:15,661,778,0:4,661,778,0:7,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564:2,778:3,563,564,563,564,563,586,585,0,778,0:2,778,0,564,563,0:18,662,660,0:9,661,778,0,659:5,0,659:5,0:3,659:3,586,585,586,585,563:2,660,0:5,563,662,563,0:3,635,660,0,481,563,0,481,563:2,564,563,0,778,0:2,778,0,586,585,0:18,662,0,645,778,0:5,659:4,778,0,660,0:5,660,0:9,564,563,564,563:2,660,0:6,481,662,660,0:10,481,563,586,585,0,778,0:2,778,0,564,563,0:14,661,659:3,636,659:3,533,0:6,648,0,647,0:17,586,585,586,585,660,0:8,662,0:12,481,564,563,0,778,0:2,778,0,586,585,0:15,662,0,648,0,647,0:29,564,563,564,563,0:9,662,0:13,586,585,0,778,0:2,778,0,564,563,646,0:4,645,662,647,0:7,662,0:33,586,585,586,585,0:9,662,0:13,564,563,0,778,0:2,778,0,586,585,659:10,0:3,659:2,636,660,0:29,659:3,564,563,564,563,0:9,662,0:13,586,585,0,778,0:2,778,0,564,563,647,0:48,586,585,586,585,0:9,662,0:13,564,563,0,778,0:2,778,0,586,585,0:49,564,563,564,563,0:9,662,0:13,586,585,0,778,0:2,778,0,564,563,0:49,586,585,586,585,0:9,662,0:13,564,563,0,778,0:2,778,0,586,585,0:49,564,563,564,563,0:9,662,0:13,586,585,0,778,0:2,778,0,564,563,0:46,659:3,586,585,586,585,0:9,662,0:13,564,563,0,778,0:2,778,0,586,585,0:49,564,563,564,563,0:9,662,0:13,586,585,0,778,0:2,778,0,564,563,0:49,586,585,586,585,0:9,662,0:13,564,563,0,778,0:2,778,0,586,585,0:49,564,563,564,563,535,0:7,661,662,480,0:12,586,585,0,778,0:2,778,0,564,563,0:49,586,585,586,585,565,535,0:21,564,563,0,778,0:2,778,0,586,585,0:46,659:3,564,563,778:2,586,585,586,585,586,585,586,585,586,585,586,585,586,585,0:9,586,585,0,778,0:2,778,0,564,563,0:49,586,585,586,585,564,563,564,563,564,563,564,563,564,563,564,563,564,563,0:9,564,563,0,778,0:2,778,0,586,585,0:29,586,585,0:18,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,0:9,586,585,0,778,0:2,778,0,564,563,0:29,564,563,0:18,586,585,586,585,586,585,565,778:2,0:4,565,778,585,586,585,563,0:8,564,563,0,778,0:2,778,0,586,585,0:29,586,585,0:18,778,585,586,585,586,585,586,778,660,0:4,481,778,563,564,778,660,0:8,586,585,0,778,0:2,778,0,564,563,0:29,564,563,0:17,495,778,563,564,563,564,563,564,778,0:6,778,585,586,778,0:9,564,563,0,778,0:2,778:2,586,585,0:8,661,0:2,562,0:13,586,585,586,585,586:2,585,586,585,0:4,586,585,586,585,586,585,0:3,522:2,564,563,564,563,586,585,586,778,0:6,778,563,564,563,0:9,586,585,0,778,0:2,778:2,564,563,0:8,662:4,0:13,564,563,564,563,564:2,563,564,563,0:4,564,563,564,563,564,563,0:3,586,585,586,585,586:2,564,563,564,778,0:6,778,585,586:2,585,0:8,564,563,0,778,0:2,778,0:2,778,0:8,662:4,0:13,586,585,586,585,586,585,586,585:2,0:4,586,585,586,585,586,585,0:3,564,563,586,585,586,585,563,565,586,778,0:6,778,563,586,564,563,0:8,586,585,0,778,0:2,778,0:5,586,585,586,585,586,585,586:2,585,0:4,586,585,586,585,586,585,0:4,564,563,564,563,564,563,564,563:2,0:4,564,563,564,563,564,563,0:3,564,563,564,563,564,563,585,565,564,778,646,0:4,645,778,585,564,586,585,0:8,564,563,0,778,0:2,778,0:5,564,563,564,563,564,563,564:2,563,0:4,564,563,564,563,564,563,0:4,586,585,586,585,586,585,586,585:2,0:4,586,585,586,585,586,585,0:3,586,585,586,585,586,585,563,565:2,562,0:4,561,565,564,563,586,564,563,0:8,586,585,0,778,0:2,778,0:5,586,585,586,585,586,585,586,585:2,0:4,586,585,586,585,586,585,0:4,564,563,564,563,564,563,564,563:2,0:4,564,563,564,563,564,563,0:3,564,563,564,563,564,563,585,586,585,586,585,586,585,586,585,586,585:2,564,586,585,0:8,564,563,0,778,0:2,778,0:5,564,563,564,563,564,563,564,563:2,0:4,564,563,564,563,564,563,0:4,586,585,586,585,586,585,586,585:2,0:4,586,585,586,585,586,585,0:3,586,585,586,585,586,585,563,564,563,564,563,564,563,564,563,564,563,585,586,564,563,0:8,586,585,0,778,0:2,778,0:4,661,586,585,586,585,586,585,586,585:2,0:4,586,585,586,585,586,585,0:4,564,563,564,563,564,563,564,563:2,0:4,564,563,564,563,564,563,659,0:2,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,586,585,0:8,564,563,0,778,0:2,778,0:4,648,564,563,564,563,564,563,564,563,585,0:4,564,563,564,563,564,563,0:4,586,585,586,585,586,585,586,585:2,0:4,586,585,586,585,586,585,647,0:2,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,564,563,0:8,586,585,0,778,0:2,778,0:5,586,585,586,585,586,585,586,585,563,0:4,586,585,586,585,586,585,0:4,564,563,564,563,564,563,564,563:2,0:4,564,563,564,563,564,563,0:3,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,586,585,0:8,564,563,0,778,0" id="0"/> <tiles values="327,0,327,779,0:49,376,378,356,314:14,353,184,182,184,182,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,184,182,180,224,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,180,224,180,224,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,183,185,184,182,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,225,181,184,182,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,183,185,180,224,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,225,181,180,224,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,183,185,184,182,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,225,181,180,224,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,183,185,184,182,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,225,181,180,224,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,183,185,184,182,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,225,181,180,224,368,314:7,327:4,0,327,779,0:49,376,378,356,314:14,353,183,185,184,182,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,225,181,222,220,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,183,185,214,212,368,314:7,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,225,181,0:2,333,332,331,332,331,332,331,332,327,0,327:2,0,327,779,0:49,376,378,356,314:14,353,183,185,0:12,327:2,0,327,779,0:49,379,381,356,314:14,353,225,181,0:2,325,371,360,371,360,371,360,371,327:4,0,327,405,0:51,333,332:2,330:2,332:2,330:5,332:2,330,329,183,185,0:2,368,314:7,327,0,327:2,0,327,0:59,225,181,0,225,181,0:4,225,181,0:2,333,332,331,332,331,332,331,332,327,0,327:2,0,327,0:20,324,323,0:10,324,360,323,0:3,324,360,323,0:3,324,360,323,382,384,0,201,199,218,216,218,216,218,217,219,221,223,0,222,220,218,216,218,216,221,223,0:3,222,220,217,219,217,219,217,327,0,327:2,0,327,0:32,382,383,384,0:3,382,383,384,0:3,382,383,384,376,378,0,226,205,210,208,210,208,210,209,211,213,215,0,214,212,210,208,210,208,213,215,0:3,214,212,209,211,209,211,209,327,0,327:2,0,327,0:23,324,360:5,323,0:2,379,380,381,0:3,379,380,381,0:3,379,380,381,376,378,0,184,182,321,0:27,327,0,327:2,0,327,0:17,324,323,0:7,382,383:2,384,0:17,376,378,0,180,224,364,0:27,327,0,327:2,0,327,0:7,324,360,323,0:16,379,380:2,381,0:17,376,378,0,184,182,341,0:27,327,0,327:2,0,327,0:47,376,378,0,180,224,364,0:27,327,0,327:2,0,327,0:2,324,360,323,0:6,324,360:3,323,0:31,376,378,0,184,182,341,0:27,327,0,327:2,0,327,0:47,376,378,0,180,224,364,0:27,327,0,327:2,0,327,321,0:46,376,378,0,184,182,341,0:27,327,0,327:2,0,327,359,0:46,376,378,0,180,224,364,0:26,392,327,0,327:2,0,327,0:47,376,378,0,184,182,341,0:26,410,327,0,327:2,0,327,0:47,376,378,0,180,224,364,0:26,410,327,0,327:2,0,327,321,0:46,376,378,0,184,182,341,0:26,410,327,0,327:2,0,327,359,0:46,376,378,0,180,224,364,0:26,410,327,0,327:2,0,327,0:47,376,378,0,184,182,341,0:26,410,327,0,327:2,0,327,0:47,376,378,0,180,224,364,0,201,199,197,195,197,195,197,195,197,195,197,195,197,195,200,202,0:9,410,327,0,327:2,0,327,321,0:46,376,378,0,184,182,341,0,226,205,191,189,191,189,191,189,191,189,191,189,191,189,206,227,0:9,410,327,0,327:2,0,327,364,0:29,325,360,334,0:14,379,381,0,180,224,358,348:3,323,0:7,324,360:2,323,183,185,0:9,410,327,0,327:2,0,327,359,0:29,368,0,353,0:17,222,220,217,219,217,219,217,219,217,219,217,219,217,219,217,219,217,219,221,223,0:9,410,327,0,327:4,0:30,368,0,353,0:17,214,212,209,211,209,211,209,211,209,211,209,211,209,211,209,211,209,211,213,215,0:9,410,327,0,327:2,0,327,0:30,368,0,353,0:46,410,327,0,327:2,0,327,0:26,201,199,197,195,368,0,353,197,195,200,202,0:2,201,199,197,195,197,195,200,202,0:32,410,327,0,327:2,0:12,324,334,325,323,0:12,226,205,191,189,368,0,353,191,189,206,227,0:2,226,205,191,189,191,189,206,227,0,201,199,195,197,195,197,195,200,202,0:10,201,199,200,202,0:8,410,327,0,327:2,0:13,359,361,0:13,184,182,0:2,361,0,359,0:2,183,185,0:2,184,182,0:4,183,185,0,226,205,189,191,189,191,189,206,227,0:10,226,205,206,227,0:8,410,327,0,327:4,348,334,0,201,199,197,195,197,195,197,195,197,200,202,0:2,201,199,197,195,197,195,200,202,0:2,180,224,0:7,225,181,0:2,180,224,0:4,225,181,0,184,182,0:5,183,185,0:10,184,182,183,185,0:8,410,327,0,327:2,0,327,314,364,0,226,205,191,189,191,189,191,189,191,206,227,0:2,226,205,191,189,191,189,206,227,0:2,184,182,0:7,183,185,0:2,184,182,0:4,183,185,0,180,224,0:5,225,181,0:10,180,224,225,181,0:8,410,327,0,327:2,0,327,314,364,0,184,182,0:7,183,185,0:2,184,182,0:4,183,185,0:2,180,224,0:7,225,181,0:2,180,224,0:4,225,181,0,184,182,0:5,222,220,217,219,217,219,217,219,217,219,217,219,221,223,183,185,0:8,410,327,0,327:2,0,327,314,341,0,180,224,0:7,225,181,0:2,180,224,0:4,225,181,0:2,184,182,0:7,183,185,0:2,184,182,0:4,183,185,0,180,224,0:5,214,212,209,211,209,211,209,211,209,211,209,211,213,215,225,181,0:8,410,327,0,327:2,0,327,314,364,0,222,220,218,216,218,216,322,0:2,183,185,0:2,184,182,0:4,183,185,0:2,180,224,0:7,225,181,0:2,180,224,0:4,225,181,0,184,182,0:19,183,185,0:8,410,327,0,327:4,314,364,0,214,212,210,208,210,208,356,0:2,225,181,0:2,180,224,0:4,225,181,0:2,184,182,0:7,183,185,0:2,184,182,363,330:4,362,0,180,224,0:19,225,181,0:8,410,327,0,327:2,0,327,314,341,0:7,356,0:2,183,185,0:2,184,182,0:4,183,185,0:2,180,224,0:7,225,181,0:2,180,224,0:7,184,182,0:19,183,185,0:8,410,327,0,327:2,0,327,314,364,0,201,199,196,198,196,198,356,0:2,225,181,0:2,180,224,0:4,225,181,0:2,184,182,0:7,183,185,0:2,184,182,324,360:4,323,0,180,224,0:19,225,181,0:8,386,327,0,327" id="1"/> <tiles values="0:1546,62,0:197,22,0:11,28,22,0:4,28,58,0:3,23,28,0:10,28:3,0:88,43,0:47,23,0,28:3,0,58,0:74,22,0:74,28,22,28,0:45,34,0:7,34,0:110,28,22,28,0:7,28:3,22,0:156,28,0:164,28,0:178,28,0:311,61,23,0:3,23,0:3,23,0:3,23,0:18,28,0:115,23,0,22,0:20,28,0:317,23,0,28,0:3,61,59,0:4,22,57,0:57,23,0:157,154,0:14,28,0:9,22,0:205,23,28,0:3,61,0:2,28,22,0:366,28:5,0:33,61,28:4,0:123" id="2"/> <tiles values="678,0,679,0:80,678,0,679,680,681,682,0:80,678,0,679,678,0,679,0:80,680,681,682,680,681,682,0:80,678,0,679,678,0,679,0:80,680,681,682,680,681,682,0:67,788,0:4,787,0:7,678,0,679,678,0,679,0:80,680,681,682,680,681,682,0:67,788,0:12,678,0,679,678,0,679,0:80,680,681,682,680,681,682,0:67,788,0:12,678,0,679,678,0,679,0:80,680,681,682,680,681,682,0:67,788,0:12,678,0,679,678,0,679,0:80,680,681,682,680,681,682,0:67,788,0:12,678,0,679,678,0,679,0:80,680,681,682,680,681,682,0:67,788,0:12,678,0,679,678,0,679,0:73,766,0,766,0,766,0,766,680,681,682,680,681,682,0:67,788,0:12,678,0,679,678,0,679,0:80,680,681,682,680,681,682,0:67,788,0:12,678,0,679,678,0,679,0:72,735,0:7,680,681,682,680,681,682,0:20,787,788,0:34,689,688,0:7,689,688,0:13,678,0,679,678,0,679,0:32,763,0,763,0:3,763,0,763,0:3,763,0,763,0:3,787,0,734,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0:4,766,0,766,0,766,0,766,680,681,682,680,681,682,0:23,787,0:5,788,0:9,736,0:5,736,0:5,700:2,0:27,678,0,679,678,0,679,0:17,787,788,0:61,680,681,682,680,681,682,0:7,787,0,788,0:41,700:2,0:27,678,0,679,678,0,679,0:80,680,681,682,680,681,682,0:2,787,0,788,0:6,787,0:3,788,0:34,787,700:2,0:27,678,0,679,678,0,679,0:80,680,681,682,680,681,682,788,0:50,700:2,0:27,678,0,679,678,0,679,788,0:79,680,681,682,680,681,682,0:51,700:2,0:27,678,0,679,678,0,679,0:50,787,0:29,680,681,682,680,681,682,788,0:50,700:2,0:27,678,0,679,678,0,679,788,0:79,680,681,682,680,681,682,0:51,700:2,0:27,678,0,679,678,0,679,0:69,700,0:10,680,681,682,680,681,682,788,0:49,787,0:29,678,0,679,678,0,679,788,0:29,787,0,788,0:47,680,681,682,680,681,682,0:80,678,0,679,678,0,679,0:57,766:3,0:4,766:3,0:13,680,681,682,680,681,682,0:80,678,0,679,678,0,679,0:26,700,0:3,787,734,788,0:3,700,0:2,700,0:6,700,0:33,680,681,682,680,681,682,0:26,690,693,0:2,787,0,788,0:2,690,693,0:2,690,693,766,0:2,766,690,693,0,700,0:21,700,0:9,678,0,679,678,0,679,0:30,766,0,766,0:18,766,0,766,0:15,689,688,0:9,680,681,682,680,681,682,0:13,700,0:2,700,0:6,700,0:56,678,0,679,678,0,679,689,688,0:4,766,0,766,0,766,0,690,693,0:2,690,693,766,0:2,766,0:58,680,681,682,680,681,682,0:57,763:3,0:4,763:3,0:13,678,0,679,678,0,679,0:57,766,0,766,0,766,0,766,0,766,0:14,680,681,682,680,681,682,0:70,723,0:9,678,0,679,678,0,679,0:9,787,0:30,788,0:29,724,0:9,680,681,682,680,681,682,0:13,723,0:2,727,0:6,723,0:2,727,0:9,723,0:2,727,0:8,727,0:21,723,0:9,678,0,679,678,0,679,0:9,787,0:3,724,0:2,728,0:6,724,0:2,728,0:9,724,0:2,728,788,0:7,728,0:21,724,0:9,680,681,682" id="3"/> <tiles values="0:1763,8,0:160,8,0:197,10,7:3,12,0:3,10,7:3,12,0:1428,8,0:5,8,0:988" id="4"/> <tiles values="0:4558" id="5"/> <tiles values="0:3616,115:4,0:2,115:4,0:76,115:4,0:2,115:3,0:77,115:3,1,0:2,115,1,115:2,0:760" id="6"/> <sign text="Dinner time!! Maxwell wants Dinner!! Wheres my ninja nibble?? My funny little men with knives go find my dinner!! Fillet him!! Slice him!! Tasty!!!!!" n="3791" layer="6" width="0" height="0" face="boss" forced="false"/> <sign text="Takeshi! The samurai let their guard down a split second after they attack. Trick them into attacking you and then hit them with everything you've got. Dont forget to use stealth as well. Damn that Maxwell Merlock, using my guards against you! Grrrrr!" n="3795" layer="6" width="0" height="0" face="akuma" forced="false"/> <msg text="Power Plant 1"/> </root> ; level_data["481f288b70e6448363505cffd060d625"] = <root> <level width="51" height="34" start_x="3" start_y="31" compression="false" background="0" scroll="0"/> <tiles values="0:47,588,587,588,587,0:47,570,565,570,565,0:32,684,685:3,683,0:3,684,685:3,683,0:2,588,587,588,587,0:47,570,565,570,565,0:47,588,587,588,587,0:47,570,565,570,565,0:47,588,587,588,587,0:47,570,565,570,565,0:47,588,587,588,587,0:47,570,565,570,565,0:47,588,587,588,587,0:47,570,565,570,565,0:11,684,685:3,683,0:3,684,685:3,683,0:23,588,587,588,587,0:47,570,565,570,565,0,588,587,0:44,588,587,588,587,0,570,565,0:44,570,565,570,565,0,588,587,0:44,588,587,588,587,0,570,565,0,778:3,0:40,570,565,570,565,0,588,587,0:44,588,587,588,587,0,570,565,0:44,570,565,570,565,0,588,587,0:44,588,587,588,587,0,570,565,0:44,570,565,570,565,0,588,587,0:44,588,587,588,587,0,570,565,0:44,570,565,570,565,0,588,587,0:44,588,587,588,587,0,570,565,0:30,684,685:3,683,0:3,684,685:3,683,0,570,565,570,565,0,588,587,0:44,588,587,588,587,0,570,565,0:44,570,565,570,565,0,588,587,0:44,588,587,588,587,0,570,565,0:44,570,565,570,565,0,588,587,0:44,588,587,588,587,0,570,565,0:44,570,565,570,565,0:3,778,0:43,588,587,588,587,0,588,0:45,570,565,570,565" id="0"/> <tiles values="327:3,364,327:26,167,166:15,165,0:3,327:4,364,327:26,174:17,0:3,327:4,364,327:26,167,166,0:5,166:3,0:5,166,165,0:3,327:4,364,327:26,164,163:15,179,0:3,327:4,364,327:20,0:26,327:4,364,327:20,177,169:6,168,0:10,170,174:2,162,178,327:7,364,327:20,167,166:6,165,0:14,175,0:3,327:4,364,327:20,167,166:6,165,0:8,170,174:4,162,175,0:3,327:4,364,327:20,167,166:6,165,0:14,175,0:3,327:4,364,327:20,167,166:6,165,0,170,174:2,171,174:4,171,174:2,162,0,175,0:3,327:4,364,327:20,167,166:6,165,0:12,178,0,175,0:3,327:4,364,327:20,164,163:6,179,0,178,0:2,178,0:2,178,0:2,178,0,175,0,172,0:3,327:4,364,169:7,0:5,169:3,0:5,165,0:6,178,0,173,0:2,173,0:2,173,0:2,173,0,175,0,175,0:3,327:4,364,163:20,179,0:6,175,0:12,175,0,175,0:3,327:4,364,169:4,168,0:18,170,174,162,0,172,0:12,175,0,172,0:3,327:4,364,166:4,165,0,170,174:8,171,174:5,171,174,162,0:3,175,0,178,0:2,178,0:2,178,0:2,178,0,175,0,175,0:3,327:4,364,163:4,179,0:8,178,0:13,173,0,173,0:2,173,0:2,173,0:2,173,0,175,0,175,0:3,327:4,364,170,174:7,171,162,0:3,172,0:3,170,174:9,162,0:12,175,0,175,0:3,327:2,0,327,364,169:4,168,177,169:3,168,0,279,0,173,0:26,175,0,172,0:3,327:2,0,327,364,166:4,165,167,166:3,165,0:3,177,169:2,168,170,174:9,162,0,178,0:2,178,0:2,178,0:2,178,0,175,0,175,0:3,327:2,0,327,364,166:4,165,167,166:3,165,279,0:2,167,166:2,165,177,169:9,168,0,173,0:2,173,0:2,173,0:2,173,0,175,0,175,0:3,327:2,0,327,364,163:4,179,164,163:3,179,0:2,279,167,166:2,165,167,166:9,165,170,174:2,171,174:4,171,174:2,162,173,0,175,0:3,327:2,0,327,364,0:13,167,166:2,165,167,166:9,165,0:14,175,0:3,327:2,0,327,364,0:4,55,170,174:4,171,174,162,167,166:2,165,167,166:9,165,0:14,175,0:3,327:2,0,327,364,0:13,167,166:2,165,167,166:9,165,170,174:2,171,174:4,171,174:4,162,173,0:3,327:2,0,327,364,170,171,174:4,171,174,162,0:4,167,166:2,165,167,166:9,165,177,0:5,169:3,0:5,168,0:3,327:2,0,327,364,167,166:3,165,0:8,167,166:2,165,167,166:9,165,167,166:13,165,0:3,327:2,0,327,364,167,166:3,165,0:3,170,174:3,162,164,163:2,179,167,166:9,165,167,166:13,165,0:3,327:2,0,327,364,167,166:3,165,0:3,167,161,177,169:5,168,167,166:9,165,167,166:13,165,0:3,327:2,0,327,364,167,166:3,165,0:3,167,166,167,166:5,165,167,166:9,165,167,166:13,165,0:3,327:2,0,327,329,164,163:3,179,0:3,164,163,167,166:5,165,167,166:9,165,167,166:13,165,0:3,327:2,0:13,167,166:5,165,167,166:9,165,167,166:13,165,0:3,327,366:3,334,170,174,171,174:4,171,174,162,167,166:5,165,167,166:9,165,167,166:13,165,0:3,327:2,0,327,364,160,166:8,161,167,166:5,165,167,166:9,165,167,166:13,165,0:3,327" id="1"/> <tiles values="0:228,28:3,0:17,28,0:3,62,0:97,28,0:101,28,0:90,28,0:2,28,0:2,28,0:2,28,0:51,105,0:85,59,0,61,0:54,28,0:2,28,0:2,28,0:2,28,0:125,28,0:2,105,0:50,59,0:14,28,0:2,28,0:2,61,0:2,28,0:22,28,0:52,28,0:142,67I(0),0:25,28:3,0:8,28:3,0:219,69I(0),0:143,154,0:10,28:2,0:139" id="2"/> <tiles values="678,0,679,0:2,747,0:6,741,0:3,749,0:3,749,0,749,0:5,743,0,749,0:15,687,678,0,679,687,680,681,682,0:2,747,0:6,741,0:3,749,0:3,749,0,747,0:5,741,0,747,0,767,0,767,0,767,0:3,767,0,767,0,767,0,687,680,681,682,687,678,0,679,0:2,747,0:6,741,0:3,749,0:3,749,0,749,0:5,743,0,749,0:15,687,678,0,679,687,680,681,682,0:2,747,0:6,741,0:3,749,0:3,749,0,749,0:5,741,0,748,0,725,726,0,725,726,0,725,726,0,725,726,0,725,726,694,678,0,679,694,678,0,679,0:2,747,0:6,741,0:3,748,0:3,747,0,747,0:5,741,0,749,0:16,678,0,679,0,680,681,682,0:2,747,0:6,741,0:3,749,0:3,749,0,748,0:5,741,0,749,686,0:15,680,681,682,0,678,0,679,0:2,749,0:6,741,0:3,749,0:3,749,0,749,0:5,743,0,749,687,0:15,678,0,679,0,680,681,682,0:2,749,0:6,743,0:3,748,0:3,747,0,749,0:5,741,0,748,687,0:15,680,681,682,0,678,0,679,0:2,749,0:6,741,0:3,749,0:3,749,0,749,0:5,742,0,749,687,0:15,678,0,679,0,680,681,682,0:2,749,0:6,743,0:3,749,0:3,749,0,748,0:5,752,751,750,687,0,698,0:2,698,0:2,698,0:2,698,0:4,680,681,682,0,678,0,679,0:2,749,0:6,741,0:3,749,0:3,749,0,747,0:8,694,0:15,678,0,679,0,680,681,682,0:2,749,0,767,0,767,0,767,741,767,0,767,748,767,0,767,747,767,748,767,0,767,0,767,0,767,0,767,0:15,680,681,682,0,678,0,679,0:2,749,0:10,749,0:30,678,0,679,0,680,681,682,0:2,749,0:2,686,0:3,742,0:3,747,0:3,741,0,748,0:24,680,681,682,0,678,0,679,0:2,749,0:2,687,0:3,741,0:3,749,0:3,752,751,750,0:24,678,0,679,0,680,681,682,751:2,750,0:2,687,0:3,741,0:3,747,0:13,745,744:12,746,735,0:2,680,681,682,0,678,0,679,751:5,687,0:3,743,0:3,749,0:13,752,751:12,750,0:3,678,0,679,0,680,681,682,751:5,694,0:5,751:2,750,0:7,745,744:4,746,0,734,0:15,680,681,682,0,678,0,679,0:12,702,0:8,741,0:4,748,0:17,678,0,679,0,680,681,682,744:10,746,0:10,742,0:4,747,0:2,745,744:10,746,0:3,680,681,682,0,678,0,679,0:10,748,702,744:7,746,764,741,764,0:2,764,749,764,0,752,751:10,750,0:3,678,0,679,0,680,681,682,686,767,0:2,767,0:2,767,0:2,749,0:2,702,0:5,747,0,741,0:4,747,0:3,767,0,767,0,767,0:3,767,0,767,0:3,680,681,682,0,678,0,679,687,0:9,748,0:7,789,748,0,742,0:4,749,0:17,678,0,679,0,680,681,682,687,0:12,735,0:4,789,749,0,741,0:4,748,0:17,680,681,682,0,678,0,679,687,0:5,742,0:2,745,746,0,745,744,0:5,749,0,741,0:4,749,0:17,678,0,679,0,680,681,682,694,0:5,743,0:3,749,0,741,0:6,749,0,742,0:4,749,0:17,680,681,682,0,678,0,679,0:6,747,0:3,747,0,743,0:5,789,749,0,741,0:4,747,745,744,746,764,0,764,0,764,0:3,764,0,764,0,764,0,678,0,679,0,680,681,682,751:6,750,0:3,749,0,741,0:5,789,748,0,747,0:4,749,741,0,749,0:14,680,681,682,0,678,0,679,0:10,749,0,742,0:6,749,0,742,0:4,749,742,0,749,0:14,678,0,679,0,680,681,682,0:3,745,744,746,0:4,747,0,743,0:6,748,0,741,0:4,749,741,0,749,0:14,680,681,682,0,678,0,679,0:3,742,0,747,0:4,748,686,741,0:5,789,747,0,741,0:4,747,741,0,749,0:14,678,0,679,0,678,0,679,0:3,741,0,748,0:4,749,687,741,0:5,789,749,0,741,0:4,747,741,0,749,0:14,680,681,682,0,680,681,682,0:3,743,0,749,0:4,749,694,742,0:6,749,0,747,0:4,749,742,0,749,0:14,678,0,679,0,678,0,679,0,764,0,741,0,749,0,764,0:2,748,0,741,0:6,749,0,741,0:4,749,741,0,749,0:14,680,681,682,0" id="3"/> <tiles values="0:690,8,0:245,8,0:797" id="4"/> <tiles values="0:1734" id="5"/> <tiles values="0:1237,115:4,0:47,115:4,0:47,115:3,1,0:242,115:2,1,115:2,0:144" id="6"/> <sign text="There's a robot sniper unit somewhere in this area. They use infrared so you won't be able to hide from them using stealth. Use these grey cables to hide from its sights." n="1342" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="Unlike the wall mounted guns, you can destroy these rotating guns." n="1587" layer="6" width="0" height="0" face="ninja" forced="false"/> <msg text="Communications"/> </root> ; level_data["852a9df1453e0582c531a674b4c71eae"] = <root> <level width="83" height="76" start_x="4" start_y="67" compression="false" background="2" scroll="0"/> <tiles values="586,585,586,585,0:51,506,0:27,586,585,564,563,0:51,506,778:27,586,585,564,563,0:51,506,778:27,586,585,564,563,0:51,506,586,585,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,586,585,586,585,588,586,585,564,563,0:51,506,564,563,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,564,563,564,563,570,586,585,564,563,0:51,506,586,585,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,586,585,586,585,588,586,585,564,563,0:51,506,564,563,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,564,563,564,563,570,586,585,564,563,0:51,506,586,585,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,586,585,586,585,588,586,585,564,563,0:51,506,564,563,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,564,563,564,563,570,586,585,564,563,0:51,506,586,585,0:2,548,569,566,547,0:4,548,569,566,547,0:4,548,569,586,585,586,585,588,586,585,564,563,0:51,506,564,563,0,658,477,0:2,474,655,0:2,658,477,0:2,474,655,0:2,658,477,0,564,563,564,563,570,586,585,564,563,0:51,506,586,585,602,606,0:4,603,599,602,606,0:4,603,599,602,606,0:2,586,585,586,585,588,586,585,564,563,0:51,506,564,563,778,547,0:4,548,778:2,547,0:4,548,778:2,547,0:2,564,563,564,563,570,586,585,564,563,0:48,532,0:2,506,586,585,660,474,655,0:2,658,477,670,669,474,655,0:2,658,477,670,669,474,655,661,586,585,586,585,588,586,585,564,563,0:47,532,778,0:2,506,564,563,0:2,603,535,532,606,0:4,603,535,532,606,0:4,603,778:5,570,586,585,564,563,0:26,648,659:4,778,535,0:13,532,778:2,0:2,506,586,585,0:2,548,778:2,547,0:4,548,778:2,547,0:4,548,778:5,588,586,585,564,563,0:30,534,778:2,535,0:17,506,564,563,671,658,477,670,669,474,655,0:2,658,477,670,669,474,655,0:2,658,477,670,564,563,564,563,570,586,585,564,563,0:31,778:13,0:6,506:2,778:3,606,0:4,603,535,532,606,0:4,603,535,532,606,0:2,586,585,586,585,588,586,585,564,563,0:31,778:13,0:5,506:3,778:3,547,0:4,548,778:2,547,0:4,548,778:2,547,0:2,564,563,564,563,570,586,585,564,563,0:31,481,778,533,0,670,778:11,0:2,506:3,586,585,669,474,655,0:2,658,477,534,533,474,655,0:2,658,477,534,533,474,655,532,586,585,586,585,588,586,585,564,563,0:32,635,480,0:2,648,778:2,480,0:2,534,778:2,534,778,0,506:4,564,563,0:2,603,535,532,606,0:4,603,535,532,606,0:4,603,778:5,570,586,585,564,563,0:32,648,514,0:4,648,514,0:3,534:2,0,534,0,506:6,535,532,506:4,535,0:2,532,506:4,535,0:2,532,506:6,0,586,585,564,563,0:34,528,0:5,528,0:6,506:3,0:29,586,585,564,563,0:35,545,480,0:4,545,480,661:2,480,506:3,0:30,586,585,564,563,0:29,532,778,646,645,778:4,620,0:3,481,778:5,506,0:31,586,585,564,563,0:28,532,778:9,535,0:2,661,778:2,686,778:2,0,686,0:30,586,585,564,563,0:27,532,778,0:15,694,0,506,0,694,778:8,647,0,622,778:4,646,0:14,586,585,564,563,0:26,532,778,0:14,506,0:2,506:2,0:2,778:6,636,778,480,0:2,534,778:4,535,0:13,586,585,564,563,0:26,648,551,0:13,506:6,0:2,647,648,514,0:4,648,514,0:3,534,778:4,535,0:12,586,585,564,563,0:27,481,0:2,506:17,0:5,528,0:5,528,0:3,778:5,535,0:11,586,585,564,563,0:30,506:17,0:6,545,480,0:4,545,480,661,778:6,535,0:10,586,585,564,563,0:28,686,0,506:17,0:2,535,0:3,481,778,620,0:3,481,778:2,0:10,778,646,0:5,586,585,564,563,0:28,687,0,506:17,0:2,778,535,0:2,661,778:2,620,0:2,661,778:2,0:4,506,0:6,778:6,586,585,564,563,0:28,687,0,506:17,0:2,778:8,0:2,506,778,506:2,778,506:3,778,506,0:4,778:6,586,585,564,563,0:28,687,0,506:16,0:3,778:2,659:2,778:4,0:2,506,778,586,585,778:2,586,585,778,506,0:4,778,660,0:4,586,585,564,563,0:28,687,0,506:16,0:3,778:8,0:2,506,778,564,563,778:2,564,563,778,506:2,0:3,660,0:5,586,585,564,563,0:28,694,0,506:16,0:3,778:2,659:2,778:4,0:2,506,778,506:2,778:2,506:2,778,506:3,0:8,586,585,564,563,0:29,506:16,0:3,481,778:8,0,622,778:2,0:7,506:3,0:8,586,585,564,563,0:27,661,0,506:17,0:2,778:2,533,0:2,670,778:4,622,778:2,0:3,506,0:3,506:3,0:2,778,646,0:4,586,585,564,563,0:26,532,778,0:11,506:9,778:2,480,0:3,670,778:7,0,506,778:6,506,0:2,778:6,586,585,564,563,0:21,648,659:3,778:4,0:11,506:8,778:2,514,0:4,648,514,0:3,534,778,0,506,778:6,506,0:2,778:6,586,585,564,563,0:25,481,778:7,659:3,778:3,0,506:8,778,621,0,528,0:5,528,0:3,534,506:2,778:6,506,0:2,778,660,0:4,586,585,564,563,0:26,635,778:6,480,0:2,534,778:2,0,506:8,778,0:3,545,480,0:4,545,480,661,0,506:4,0:7,660,0:5,586,585,564,563,0:26,648,514,0:4,648,514,0:3,534:2,0,506:8,778,0:3,481,778,620,0:3,481,778:2,661,506:3,0:14,586,585,564,563,0:28,528,0:5,528,0:5,506:8,778,671,0:2,661,778:2,620,0:2,661,778:3,506:3,0:14,586,585,564,563,0:29,545,480,0:4,545,480,661:2,0,506:8,0,528,0:3,661,778:2,620,0:2,661,778:2,506:3,0:14,586,585,564,563,0:29,481,778,620,0:3,778:4,0,506:8,0:13,506:5,778:2,506,0:10,586,585,564,563,0:29,661,778:2,620,0,495,778:4,0,506:8,0:11,506:3,778,506:6,0:10,586,585,564,563,0:25,661,778:12,0:2,506:8,0:10,506:11,0:10,586,585,564,563,778:38,0:2,506:20,0:2,778,506:6,778:3,0:7,586,585,564,563,0,778:37,0:5,778,0:25,778:2,0:2,498,0:5,586,585,564,563,0,481,778,533,0:3,481,778,533,0:5,481,778,533,0:5,481,778,533,0:7,622,778:3,533,0:2,778:3,647,0,622,778:2,0:20,686,0,778,0,686,778,498,0:4,586,585,564,563,0:2,635,480,0:4,635,480,0:6,635,480,0:6,635,480,0:8,534,778:2,0:4,670,778,480,0:2,534,778:15,535,0:2,670,778,0,687,0,778,0,687,778:2,480,0:3,586,585,564,563,0:2,648,514,0:4,648,514,0:6,648,514,0:6,648,514,0:9,636,660,0:5,648,514,0:3,534,778:15,646,0:2,648,0,694,0,778,0,694,0:4,480,0,586,585,586,585,0:4,528,0:5,528,0:7,528,0:7,528,0:17,528,0:3,778:16,535,0:5,778:2,0:5,778:2,564,563,564,563,0:5,545,480,0:4,545,480,0:6,545,480,0:6,545,480,0:16,545,480,661,778:2,533,0:2,481,778:2,647,0,622,778:4,0:7,778:6,686,778:2,586,585,586,585,0:5,481,778,0:4,481,778,620,0:5,481,778,620,0:5,481,778,620,0:15,481,778:4,480,0:3,481,778,480,0:2,534,778,534,778,0:6,778:6,0,687,496,0,564,563,564,563,0,646,0:3,661,778,646,0:3,661,778:3,636,480,0:2,661,778:2,646,0:4,661,778:3,636,778,480,0:11,661,778:4,514,0:4,648,514,0:3,534,0,778:2,585,586,585,586,585,586,585,586,585,586,585,0,687,0:2,586,585,586,585,514,778:2,659:2,778,0:7,684,685:5,683,0:12,684,685:5,683,0:12,528,0:5,528,0:4,778:2,563,564,563,564,563,564,563,564,563,564,563,0,687,0:2,564,563,564,563,0,778:2,0:2,534,0:46,545,480,0:4,545,480,661,480,778:4,0:10,687,0:2,586,585,586,585,0,534,778,480,0:4,506:3,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,0:3,586,585,586,585,586,585,586,585,586,585,586,585,506:6,778,0:2,636,778:2,498,0:3,481,778:7,0:10,687,480,0,564,563,564,563,0:2,481,514,0:4,506:3,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,0:3,564,563,564,563,564,563,564,563,564,563,564,563,506,0:4,506,778,0:2,636,778:3,646,0:3,636,778:16,687,778:2,586,585,586,585,0:4,528,0:3,506:3,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,0:3,586,585,586,585,586,585,586,585,586,585,586,585,0:6,506,0:14,778,585,586,585,586,585,586,585,586,585,586,778:2,687,778:2,564,563,564,563,0:5,545,0:2,506:3,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,506:3,564,563,564,563,564,563,564,563,564,563,564,563,0:6,506,0:13,506,778,563,564,563,564,563,564,563,564,563,564,778,0,687,496,0,586,585,586,585,0,684,685:3,683,0:2,506:34,0:6,506,0:3,506:23,0,694,0:2,564,563,564,563,0:7,506:4,0:37,506,0:3,506:14,0:13,586,585,586,585,506:11,0:2,684,685:5,683,0:12,684,685:5,683,0:9,506,0:3,506:2,0:23,480,0,564,563,564,563,506:11,0,778:6,514,0:3,481,778:13,514,0:3,481,778:4,0:3,506,0:3,506,0:23,778:2,480,586,585,586,585,0:12,778:3,647,0:3,528,0:3,534,778:2,535,0:4,481,778,533,0:3,528,0:3,622,778:3,686,0,506:3,0,506:3,0,686,481,778,533,0:2,648,778:17,564,563,564,563,0,684,685:3,683,0:6,669,0,545,480,0:4,545,480,0:2,534,778:2,480,0:4,635,480,0:4,545,480,0:2,534,778:2,687,0,506:3,0,506:4,687,0,635,480,0:3,670,778,480,0:2,534,778:11,586,585,586,585,778,662,660,0:2,516,778:3,660,0:4,481,514,0:4,648,514,0:4,648,514,0:4,648,514,0:4,648,514,0:3,534,778,687,0,506:8,687,0,648,514,0:4,648,514,0:3,534,778:10,564,563,564,563,778,660,0:2,529,0:11,528,0:5,528,0:5,528,0:5,528,0:5,528,0:3,778,687,0,506:3,0,506:3,0,687,0:3,528,0:5,528,0:3,778:10,586,585,586,585,660,0,661,544,0:13,545,480,0:4,545,480,0:4,545,480,0:4,545,480,0:4,545,480,661,778,694,0,506:3,0,506:3,0,694,498,0:3,545,480,0:4,545,480,661,778:10,564,563,564,563,0:2,516,660,0:13,481,514,0:4,481,514,0:4,481,514,0:4,481,778,620,0:3,481,778:3,0:3,506:2,0,506:2,0:3,778,480,0:2,481,778,620,0:3,481,778:12,586,585,586,585,636,529,0:17,636,620,0:4,528,0:5,528,0:3,661,778:2,620,0:2,661,778:3,0:3,506:6,0:2,778:2,498,0,661,778:2,620,0:2,661,778:12,564,563,564,563,778:48,0:8,778:23" id="0"/> <tiles values="327,0:3,288,0:48,318,290,309:27,290,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0,308,319:6,307,0:18,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:48,318,288,0:27,318,314,0:3,288,0:43,317,298:4,290,288,0:27,318,314,0:3,288,0:43,318,314:3,290,309,303,0:27,318,314,0:3,288,0:43,318,314:3,288,0:29,318,314,0:3,288,0:43,318,314:3,288,0:29,318,314,0:3,288,0:43,318,314:2,290,303,0:29,318,314,0:3,288,0:43,318,314:2,288,0:30,318,314,0:3,288,0:43,318,290,309,303,0,317,290:2,298:4,290:4,298:4,290:4,298:4,290:4,298:2,300,314,0:3,288,0:43,318,288,0:3,318,314:30,0:3,288,0:43,318,288,0,317,304,300,314:30,0:3,288,0:40,317,304:2,0,288,0,318,0,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,314,0:3,288,0:27,317,290,298:2,290,298:2,290,298:2,290,298:2,290:3,0,288,0,318,0:31,314,0:3,288,0:27,318,314:12,290,374,290,309,303,0,318,288,0:30,314,0:3,288,0:27,318,314,309:11,303,0:5,318,288,0:30,314,0:3,288,0:27,318,288,295,0:16,318,288,0:30,314,0:3,288,0:27,318,288,0:2,311,294,319:7,293,372,0:4,318,288,0:30,314,0:3,288,0:28,288,295,0,302,0:14,318,288,0:8,317,290,298:2,290,298:2,290,298:2,290,298:2,290,298,297,0:6,314,0:3,288,0:28,288,0:2,302,0,294,319:6,293,311,0:4,318,288,0:8,318,290,309:7,120,309:2,290,314:2,288,0:6,314,0:3,288,0:28,288,295,0,302,0:9,302,0:4,318,288,0:8,318,288,0:10,318,314:2,290,0:6,314,0:3,288,0:28,288,0:2,302,0:9,301,294,293,317,304,290,288,0:8,318,288,0:10,318,314:2,288,0:6,314,0:3,288,0:28,288,295,0,302,0:12,318,314:2,288,0:8,318,288,0:6,311,0:3,739,309,290,288,0:6,314,0:3,288,0:28,288,0:2,301,294,319:8,293,311,0,318,314:2,288,0:8,318,288,0:4,48I(0),0,301,0:3,46,0,318,290,0:6,314,0:3,288,0:27,318,288,295,0:12,301,0,318,314:2,288,0:8,318,299,298:3,304,298:5,297,737,0,318,288,0:6,314,0:3,288,0:27,318,288,295:2,0,295,0,295,0,295,0,295,373,0:2,375,0,310,306,290,303,0:8,310,309:3,290:2,309,120,309:3,303,738,47,318,288,0:6,314,0:3,288,0:27,318,299,298:9,297,0:3,311,0:3,318,0:13,318,288,0:8,318,290,0:6,314,0:3,288,0:27,310,290,309:2,290,309:2,290,309:2,290,288,0:3,302,0:2,295,318,0:13,318,288,0:8,318,288,0:6,314,0:3,288,0:37,318,288,0:3,302,0:3,318,0:13,318,290,0:8,318,288,0:6,314,0:3,288,0:37,318,288,0:3,302,0:3,318,0:13,318,738,47,740,317,298:3,117,298,300,290,0:6,314,0:3,288,0:37,318,288,0:3,302,295,0:2,318,0:13,318,290,0,317,290,314:6,288,0:6,314,0:3,288,0:37,318,288,0:3,302,0:3,318,0:13,318,288,0,318,314:7,288,0:6,314,0:3,288,0:37,318,288,0:3,302,0:3,318,290:2,298:2,290,298:2,290,298:2,290,298:2,300,290,0,310,309:3,290,314:3,290,0:6,314,0:3,288,0:37,318,288,0:3,301,0:2,295,318,314:10,290,309:2,290,739,0:5,318,314:3,288,0:6,314,0:3,288,0:37,318,288,0:3,374,0:3,318,314:10,288,0:3,46I(0),0:5,318,314:3,288,0:6,314,0:3,288,0:37,318,288,0:7,310,309:10,303,0,317,290,737,0:5,310,309:2,290:2,0:6,314,0:3,288,0:37,318,288,0:20,296,314,290,0:8,318,288,0:6,314,0:3,288,0:37,318,299,298:2,290,372,290,298:15,300,314,299,298:6,297,0,318,288,0:6,314,0:3,288,0:37,310,309:10,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,0,288,0,318,0:7,314,0:3,288,0:66,318,0,288,0,318,0:7,314,0:3,288,0:66,318,0,288,0,318,0,298:3,297,0:2,314,0:3,288,0:66,318,314,288,0,310,309:3,290,288,0:2,314,0:3,288,0:60,317,298:5,300,314,288,0:5,318,0:3,314,0:3,288,0:60,318,290,309:6,303,294,319:2,293,0,318,0:3,314,327:3,288,0:60,318,51,0:12,318,0:3,314,0:3,288,0:5,317,298:6,0:7,298:12,0:7,298:2,290,298,290,298,290,298,290,298:2,297,0:10,318,51,0:12,318,0:3,314,0:3,288,0:5,318,290,309:19,290,314,290,309:19,290,288,0:10,318,290,0:2,317,298:9,300,0:3,314,0:3,288,0:5,318,288,0:19,318,314,288,0:19,318,288,0:10,318,288,0:2,310,309:9,290,0:3,314,0:3,288,0:5,318,288,0:19,318,314,288,0:12,317,298:4,297,0,318,288,0:10,318,288,0:12,55,0:3,314,0:3,288,0:5,318,288,0:19,318,314,288,0:12,318,314:4,288,0,318,290,298:10,290,288,0:12,55,0:3,314,0:3,288,0:5,318,288,0:19,310,309,303,0:12,318,314:4,288,0,318,314,290,309:10,303,294,319:8,293,0:2,290,0:3,314,0:3,290,0:5,290,288,0:34,318,314:4,288,0,318,314,288,0:23,318,0:3,314,327:3,309:7,303,0:2,317,298:31,300,314:4,288,0,318,314,288,0:13,317,298:9,300,288,0:2,314,327,0:12,318,290,309,0:7,309:7,290,309,290,309:2,0:7,309:6,290,314,288,0,318,314,288,0,317,298:11,300,314:10,288,0:2,314,327,0:12,318,288,0:33,318,314,288,0,318,314,288,0,318,314,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,290,309:2,303,0:2,314,327:3,298:10,300,288,0:34,290,303,0,310,306,303,0,310,290,0:24,314,0:3,306,0:5,306,309:3,306,303,0:34,288,0:3,290,295,0,295,290,0:24,314,0:49,288,0:3,373,0:3,375,0:24,314,0:49,288,0:3,290,0:3,290,0:24,314,0:49,299,297,0,317,304,297,0,317,300,0:24,314,0:48,318,314,288,0,310,306,303,0,318,314,288,0:23,314,0:48,290,314,288,0:5,318,314,290,0:23,314,0:48,318,314,299,298:5,300,314,288,0:23" id="1"/> <tiles values="0:222,28:8,0:1417,791,0:165,30,0:556,20,0:74,36,0:2,36,0:2,36,0,20,0,111:2,0:81,111:2,0:71,28,0:6,28,0:2,111:2,0:81,111:2,0:20,39,0:62,58,0:94,91F,0:10,100F,0:47,59,0,59,0:105,28,0,103,61,0,28,0:3,28,0:129,28,0,28,0,28,0,28,0:2,18:2,0:21,60,0,95F:2,0:55,45,0:5,28,0:78,45,0:80,45,0:24,28,0:2,28,0:56,45,0,28,0:24,107,0:53,45,0:84,45,0:86,28,0:245,20,0:82,20,0:2,28,111:7,0:5,28,0:3,61,0:669,43,0:78,43,0:7,43,0:110,38,0:11,109:12,28,0:4,28,0:50,35,0:14,109:12,0:27,43,0:34,41,0:8,109:12,0:24,43,0:6,43,0:24,35,0:14,109:12,0:59,32,0:5,127,0:114,57,0,57:7,0:99,154,0:216,42,0:84,19:3,0:76,28,0,42,0,28,0,28,0:357" id="2"/> <tiles values="0,678,0,679,0:52,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,680,681,682,0:80,680,681,682,0:80,680,681,682,0:50,723,0:27,727,0,680,681,682,0:50,724,0:27,728,0,680,681,682,0:80,680,681,682,0:80,680,681,682,0:50,723,0:27,727,0,680,681,682,0:50,724,0:27,728,0,680,681,682,0:80,680,681,682,0:80,680,681,682,0:50,723,0:27,727,0,680,681,682,0:50,724,0:27,728,0,680,681,682,0:80,678,0,679,0:80,680,681,682,0:50,723,0:27,727,0,678,0,679,0:50,724,0:27,728,0,680,681,682,0:80,678,0,679,0:80,680,681,682,0:78,727,0,678,0,679,0:78,728,0,680,681,682,0:80,678,0,679,0:50,697,722,0:4,697,722,697,722,0:4,697,722,697,722,0:4,697,722,697,722,0:4,680,681,682,0:80,678,0,679,0:80,680,681,682,0:51,767,0:2,767,0:2,767,0:2,767,0:2,767,0:2,767,0:2,767,0:2,767,0:2,767,0:2,767,0,678,0,679,0:80,680,681,682,0:44,764,0:3,764,0:31,678,0,679,0:80,680,681,682,0:80,678,0,679,0:80,680,681,682,0:30,702,0:49,678,0,679,0:36,725,726,0,725,726,0:19,725,726,0:2,725,726,0:14,680,681,682,0:30,702,0:41,790,0:7,678,0,679,0:80,680,681,682,0:30,702,0:49,678,0,679,0:72,790,0:7,680,681,682,0:30,702,0:32,752,751:5,0:11,678,0,679,0:30,702:2,0,702,0,702,0,702,0,702,0:40,680,681,682,0:72,790,0:7,678,0,679,0:29,767,0:2,767,0:2,767,0:44,680,681,682,0:39,764,0:3,764,0:3,764,0:32,678,0,679,0:72,790,0:7,680,681,682,0:39,764,0:3,764,0:3,764,0:32,678,0,679,0:80,680,681,682,0:39,764,0:3,764,0:3,764,0:16,767,0:2,767,0:4,790,0:7,678,0,679,0:80,680,681,682,0:39,764,0:3,764,0:3,764,0:32,678,0,679,0:49,767,0:2,767,0:2,767,0:2,767,0:21,680,681,682,0:71,790,0:8,678,0,679,0:41,764:2,0,764:2,0:34,680,681,682,0:49,698,0:2,698,0:2,698,0:2,698,0:2,698,0:2,698,0:4,789,0,790,0:8,678,0,679,0:80,680,681,682,0:69,789,0,790,0:8,678,0,679,0:76,767,0:3,680,681,682,0:69,789,0:10,678,0,679,0:66,767,0:2,767,0:2,767,0:7,680,681,682,0:13,767,0,767,0,767,0,767,0:12,767,0,767,0,767,0,767,0:41,678,0,679,0:7,767,0:19,767,0,767,0:50,680,681,682,0:80,678,0,679,0:66,767,0:2,767,0:2,767,0:7,680,681,682,0:42,698,0:4,698,0:32,678,0,679,0:80,680,681,682,0,767,0,767,0,767,0:74,678,0,679,0:80,680,681,682,0:11,767,0,767,0,767,0,767,0,767,0,767,0,767,0,767,0,767,0,767,0:2,767,0,767,0,767,0,767,0:37,764,0:3,678,0,679,0:80,678,0,679,0:55,764,0:2,764,0:2,764,0:2,764,0:2,764,0:2,764,0:2,764,0:6,680,681,682,0,767,0,767,0,767,0,767,0,767,0:36,789,767,0:5,767,790,0:25,678,0,679,0:80,680,681,682,0:80,678,0,679,0:80,680,681,682,0:46,789,0:2,698,0,698,0:2,790,0:25,678,0,679,0:80,680,681,682,0:80,678,0,679,0:48,764,0,764,0,764,0:26" id="3"/> <tiles values="0:2445,8,0:2,8,0:2,8,0:337,8,0:153,8,0,8,0:106,10I(2),12I(2),0:1948,11,0:79,10,7:2,5,7:2,12,0:76,10,7:2,5,7:2,12,0:76,10,7:2,5,7:2,12,0:79,9,0:119,12:10,0:316,8,0:165,8,0:361" id="4"/> <tiles values="0:1547,11,0:82,11,0:82,11,0:81,11,0:82,10,0:81,10:2,0:408,10:4,0:68,10:11,0:71,9:2,0:82,9,0,10:9,0:71,9:2,0:11,11,0:70,9,0:11,11,10:2,0:67,9:2,0:82,9,0:12,11,0:68,9:2,0:12,11,0:69,12:11,9,0,11,0:70,12,0,12,0,12,0,12,0:2,9:2,0,11,0:78,9,0,9,0,11:2,0:77,9,0,9,0,11:2,0:77,9,0,9,0,11:3,0:76,9,0,9,0,11:3,0:76,9,0,9,0:2,11:2,0:76,9,0,9,0,11:3,0:16,11,0:59,9,0,9,0,11:3,0:16,11,0:59,9,0,9,0,11:2,0:17,12,0:59,9,0,9,0,11:3,0:12,11,12:4,0:59,12:4,11:3,0:12,11,0:3,12,0:59,12:19,11,0:3,12,0:5,12,9,0:82,9,0:82,9,0:82,9,0:82,9,0:82,9,0:82,9,12:3,9,0:82,9,0:71,9,10:10,9,0:71,9:2,10:10,0:71,9:2,0:26,9,10:6,0:15,9,10:18,0:14,9:2,0:26,9,0:21,9,0:10,9,0:6,11,0:14,9:2,12:9,9,0:16,9,0:21,9,0:10,9,0:6,11,0:14,9:2,12:8,9:2,0:16,9,0:21,9,0:10,9,0:6,11,0:24,9:2,0:16,9,0,10:5,0:13,10:14,0:6,11,0:3,9,10:20,9:2,0:16,9:2,0:38,11,0:3,9:13,0:24,10:2,9:2,0:38,11,0:3,9,0:36,10:2,9:2,0:38,11,0:3,9,0:78,11,0:3,9,0:77,11,0,11,0:80,11,0,11,0:80,11,0,11,0:81,11,0:82,11,0:3,9,0:78,11,10:4,0:109" id="5"/> <tiles values="0:3888,115:2,0:81,115:2,0:81,115:2,0:81,115,1,115,0:869,115:2,0:81,115:2,0:81,115:2,0:81,115:2,0:81,115,1,115,0:964" id="6"/> <sign text="You go find the generator that is powering this force field, I'll stay here. I've got a bad feeling we might be heading into a trap. A little too easy maybe?" n="4138" layer="6" width="0" height="0" face="ninja" forced="false"/> <sign text="Why hello Takeshi the wonder ninja! Very nice to finally meet you. Youre smaller than I thought... you're a cutey though. What do you think of the simian suit? I'm not sure about the tail myself. This suit's powerful though. I'll take on the heavyweights, you back me up. Try not to get left behind or leave me behind honey." n="5342" layer="6" width="0" height="0" face="ninja_reveal" forced="true"/> <msg text="Lift Access Area"/> </root> ; level_data["941f2e63c499af296c87a214a3f8eeb0"] = <root> <level width="68" height="53" start_x="3" start_y="49" compression="false" background="2" scroll="0"/> <tiles values="0,778,0:10,778,586,585,586,585,586,585,586,585,586,585,0:13,586,585,586,585,586,585,586,585,586,585,778,533,0:7,676,633,0,676,633,0,676,778:2,586,585,586,585,0,778,0:10,778,564,563,564,563,564,563,564,563,564,563,0:8,506,0:4,564,563,564,563,564,563,564,563,564,563,778,0:8,676,633,0,676,633,0,676,778:2,564,563,564,563,0,778,0:9,684,685:2,683,586,585,586,585,586,585,586,585,0:8,506,0:4,586,585,586,585,586,585,586,585,586,585,778,0:8,676,633,0,676,633,0,676,778:2,586,585,586,585,0,778,0:11,564,563,564,563,564,563,564,563,564,563,0:8,506,0:4,564,563,564,563,564,563,564,563,564,563,778,535,0:7,597,594,684,685:4,683,778,564,563,564,563,0,778,0:2,686,0:3,686,0:6,778:3,0:11,506:3,0:37,778,0:2,687,0:3,687,0:6,506:8,0:3,506:6,0:37,778,0:2,687,677:3,687,0:6,506:2,778,0:3,506:2,0:3,506:4,0:26,778,506:8,0:4,778,0:2,687,634:3,687,0:6,506,0:6,506:7,0:19,778:8,506:8,0:5,778,0:2,694,0:3,694,778:2,0:3,506:3,0:5,506:42,0:5,778,0:2,598,677:3,525,778:2,506:9,0:2,506:43,778,0:3,778,0:2,686,634:3,686,778:2,506:9,0:2,506:42,0:5,778,0:2,687,0:3,687,0:2,506:9,0:27,778:7,506:10,0:5,778,0:2,687,677:3,687,0:2,506:9,0:31,778:4,506:8,0:6,778,0:2,687,778:3,687,0:2,506:9,0:31,778:3,0:15,778,0:2,694,778:3,694,0:2,506:9,0:31,778,660,778,0:9,778,0:5,778,0:2,586,585,586,585,586,585,0,506:3,0:3,506:3,0:2,586,585,586,585,586,585,586,585:2,684,685:5,683,0:17,684,685:4,683,583,563,778,586,585,586,585,0,778,0:2,686,563,564,563,686,563,0,506:9,0:2,564,563,564,563,564,563,564,563:2,778,669,0:29,583,778,564,563,564,563,0,778,0:2,687,585,586,585,687,585,0,506:9,0:2,586,585,586,585,586,585,586,585:2,778,0:31,778,586,585,586,585,0,778,0:2,687,563,564,563,687,563,0:4,506:3,0:5,564,563,564,563,564,563,564,563:2,778,0:31,778,564,563,564,563,0,778,0:2,687,585,586,585,687,585,0:3,506:3,0:6,586,585,586,585,586,585,586,585:2,778,0:31,778,586,585,586,585,0,778,0:2,694,563,564,563,694,563,0:4,506:3,0:5,686,563,564,563,564,563,564,563:2,778,0:31,778,564,563,564,563,0,778,0:2,586,585,586,585,586,585,0:5,506:2,0:5,687,585,586,585,586,585,586,585:2,778,0:31,778,586,585,586,585,0,778,0:2,564,563,564,563,564,563,0:5,506:2,0:5,687,563,564,563,564,563,564,563:2,778,0:31,778,564,563,564,563,0,778,0:2,586,585,586,585,586,585,0:4,506:2,0:6,687,585,586,585,586,585,586,585:2,778,0:31,778,586,585,586,585,0,778,0:2,564,563,564,563,564,563,0:4,506:2,0:6,694,563,564,563,564,563,564,563:2,778,0:31,778,564,563,564,563,0,778,0:12,506:2,0:6,586,585,586,585,586,585,586,585:2,778,0:31,778,586,585,586,585,0,778,0:12,506:2,0:6,564,563,564,563,564,563,564,563:2,778,0:31,778,564,563,564,563,0,778,0:2,506:12,0:6,586,585,586,585,586,585,586,585:2,778,0:31,778,586,585,586,585,0,778,0:2,506:3,0:15,564,563,564,563,564,563,564,563:2,778,620,0:30,778,564,563,564,563,0,778,0:2,506:4,0:5,506,0:18,778,535,0:29,778,586,585,586,585,0,778,0:2,506:12,0:8,506,0:8,778,535,0:28,778,564,563,564,563,0,778,0:2,506:13,0:6,506:8,0:2,686,778,620,0:26,668,778,586,585,586,585,0,778,0:2,506:27,0:2,687,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,564,563,564,563,585,778,0:2,506:13,0:6,506:8,0:2,687,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778,563,564,563,564,563,778,0:2,506:12,0,506:6,0,506:7,0:2,687,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,585,586,585,586,585,778,0:15,506:6,0,506:7,0:2,687,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778,563,564,563,564,563,778,0:4,506:17,0,506:7,0:2,694,778,621,0:26,670,778,586,585,586,585,0,778,0:3,506,0,506:2,0:7,506:7,0:3,506:3,0:4,778,533,0:28,778,564,563,564,563,0,778,0:3,506,0,506:21,0:5,621,0:29,778,586,585,586,585,0,778,0:3,506,0:8,506:2,0,506:6,778,0:39,778,564,563,564,563,0,778,0,686,0,506:13,0:6,684,685:5,683,0:32,778,586,585,586,585,0,778,0,687,0,506:11,0:8,564,563,564,563,564,563,778,660,0:31,778,564,563,564,563,0,778,0,687,0,506:2,0:17,684,685:5,683,0:32,778,586,585,586,585,0,778,0,687,0,506:7,0:20,636,0:30,778,564,563,564,563,0,778,0,687,0,506:7,0,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,660,0:30,778,586,585,586,585,0,778,0,694,0,506:7,0,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778,0:31,778,564,563,564,563,0,778,0:8,506:2,0,586,686,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,0:31,778,586,585,586,585,0,778,0:9,506,0,564,687,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778,0:31,778,564,563,564,563,0,778,506:2,0:6,506:2,0,586,687,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,0:31,778,586,585,586,585,0,778,506:10,0,564,687,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778,0:31,778,564,563,564,563,0,778,506:2,0:9,586,687,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,0:31,778,586,585,586,585,0,778,0,684,685:2,683,585,586,684,685:2,683,586,694,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778,0:31,778,564,563,564,563,0,778,0,684,685:3,683,564,563,564,563,778,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,0:31,778,586,585,586,585" id="0"/> <tiles values="327,0,327,290,309:19,290,314:6,327:3,314:2,288,0:32,327,0,327,288,0:13,201,199,197,195,197,195,318,314:6,327,0,327,314:2,288,196,198,196,198,200,202,0:26,327,0,327,288,0:13,226,205,191,189,191,189,318,314:6,327,0,327,314:2,288,190,192,190,192,206,227,0:26,327,0,327,288,0:5,317,298:5,321,0,322,298:5,290,314:6,327,0,327,314:2,288,0:4,225,181,0:26,327,0,327,288,0:5,318,313:4,781,329,0,739,330:2,332,330:2,782,314,781,330:3,362,327,0,327,314:2,290,298:32,327,0,327,288,0:5,318,313:4,364,0:2,46I(0),0:5,368,314,364,0:6,327,314:23,781,332:8,782,314:2,327,0,327,288,0:5,318,313:4,364,0,325,737,360:2,371,334,0,368,314,364,0:2,325,323,327:3,314:15,781,330:7,329,0:8,356,314:2,327,0,327,288,0:5,318,313:4,364,0,368,314:4,364,0,333,121,738,47I(1):2,740,330:2,332:2,330:2,332:2,330:2,332:2,330:2,332:2,330:3,329,374:7,0:7,325,371,357,314:2,327,0,327,288,0:5,363,330:4,738,47I(0),740,330:3,782,364,0:26,339,0:14,333,332,330,782,314,327,0,327,288,0:10,339,0,339,0:3,356,364,0:26,374,0:16,48I(1),356,314,327,0,327,288,0:5,324,334,0:9,356,364,0:9,138F,0:2,142F,0:2,142F,0:2,142F,0:2,142F,0,138F,0:9,372,0:7,325,371,360,357,314,327,0,327,288,0:5,318,341,0:2,322,0:3,781,330,362,345,358,360,371:2,360:2,371:2,360:2,371:2,360:2,371:2,360:2,371:2,360:2,371:2,360:2,334,372:7,339:2,0:6,356,314:4,327,0,327,288,0:5,318,364,0:2,368,0:3,353,0:2,356,314:26,358,348:3,334,0:11,356,314:4,327,0,327,288,0:5,318,364,0:2,368,0:3,353,0:2,356,314:30,364,0,325,348,371:8,357,314:4,327,0,327,288,0:5,318,341,0:2,345,0,48I(0),0,341,0:2,345,290,309:29,359,0,361,309:13,290,327,0,327,288,0:5,318,364,0:2,333,330:3,329,0:2,356,288,0:4,183,185,0:39,318,327,0,327,288,0:5,318,364,0:9,356,288,0:4,225,181,0:39,318,327,0,327,288,0:5,318,364,0:9,356,288,217,219,217,219,221,223,0:39,318,327,0,327,288,0:5,318,358,371,360:2,323,0,325,360:2,371,357,288,209,211,209,211,213,215,0:39,318,327,0,327,288,0:5,318,314:3,321,0:2,356,314:4,288,0:45,318,327,0,327,288,0:5,318,314:3,358,334,0,333,782,314:3,288,0:45,318,327,0,327,288,0:5,318,314:4,364,0:2,368,314:3,288,0:45,318,327,0,327,288,0,201,199,197,195,318,314:4,364,0,325,357,314:3,288,0:45,318,327,0,327,288,0,226,205,191,189,318,314:3,781,329,0,356,314:4,288,0:45,318,327,0,327,288,0,180,224,0:2,318,314:3,364,0:2,356,314:4,288,0:45,318,327,0,327,290,298:5,290,314:3,358,334,0,356,314:4,288,0:45,318,327,0,327,781,330:10,329,0,356,314:4,288,196,198,196,198,196,198,200,202,0:37,318,327,0,327,364,0:12,356,314:4,288,190,192,190,192,190,192,206,227,0:37,318,327,0,327,364,0:2,325,360:9,357,314:4,288,0:6,183,185,0:37,318,327,0,327,364,0:2,333,122,330:5,122,330:2,782,314:4,290,298:10,297,0:34,318,327,0,327,364,0:12,356,314:6,781,330,332:2,330,332:2,330,782,288,0:34,318,327,0,327,364,0:12,333,330:6,329,0:7,356,288,0:34,318,327,0,327,364,0:2,339,0:7,339,0:16,356,288,0:34,318,327,0,327,364,0:12,325,371:2,360:2,371:2,334,0:7,356,288,0:34,318,327,0,327,364,0:12,356,0:6,364,0:7,356,288,0:34,318,327,0,327,358,360:4,371,360:5,371,360,357,0:6,364,0:7,356,288,0:34,318,327,0,327,314:3,321,0:16,364,0:7,356,288,0:34,318,327,0,327,314:3,364,0,324,360:5,371,360,323,0:6,358,360:2,323,0,325,360:2,357,288,0:34,318,327,0,327,314:3,364,0:9,322,0:11,368,313:3,288,0:34,318,327,0,327,314,781,362,358,360,371,360:5,323,0,368,0:6,325,360:4,357,313:3,288,0:34,318,327,0,327,0,364,0:11,368,324,360:5,357,0:7,306,303,0:34,318,327:3,0,364,0:11,368,313:7,288,0:42,318,327,0,327,0,364,0,325,348,371:7,360,357,313:7,0:7,304,297,0:34,318,327,0,327,0,364,0,333,362,0:4,356,290,309:18,303,0:34,318,327,0,327,0,364,0:7,356,288,0:4,225,181,0:47,318,327,0,327,0,364,0:7,356,288,217,219,217,219,221,223,0:47,318,327,0,327,314,358,371,348,371,348,371,334,0,356,288,0,211,209,211,213,215,0:47,318,327,0,327,314:7,353,0,356,288,0:53,318,327,0,327,363,330:6,329,0,356,288,0,198,196,198,200,202,0:47,318,327,0:11,356,288,0,192,190,192,206,227,0:47,318,327:3,324,348,371,348,371,348,371,348,371,357,288,0:4,183,185,0:47,318,327,0,327,309:10,303,0:4,225,181,0:47,318,327,0,327,0:15,183,185,317,298:46,290" id="1"/> <tiles values="0:145,61,28:6,0:219,62,0:25,82F,0:195,21:7,0:61,21:7,0:25,63,0:3,63,0:30,21:7,0:160,64,0:3,28,0:3,66,0:35,74F,0:26,28,0,28,0:198,28,0:7,28,0:130,28,0:126,28:4,0:7,61,0:201,28,0:75,28:8,0:204,28:3,0:42,111,0:5,111,0:150,65,0:47,70I(0),0,68I(0),0,70I(0),0:213,66,0:58,65,0:10,28,0:4,63,28,0:122,64,0:67,28,0:4,61,0:54,65,0:83,28:8,0:245,60,0:144,28:5,0:117,154,0:154,28:47,0:69" id="2"/> <tiles values="678,0,679,0:27,678,0,679,0:35,680,681,682,0:14,701,0:12,678,0,679,0:35,678,0,679,0:27,680,681,682,0:35,680,681,682,0:9,764:2,0:4,764:2,0,764:2,0:7,678,0,679,0:35,678,0,679,790,0:5,789,0:20,680,681,682,0:4,764:2,0:2,764:2,0:2,764:2,0:2,764:2,0:2,764:2,0:2,764:2,0:2,764:2,0:2,764:2,0,680,681,682,790,0:5,789,0:20,678,0,679,0:24,701:8,0:3,678,0,679,0:25,701:2,680,681,682,0:35,680,681,682,790,0:5,789,0:7,749,0:13,711,712,0:2,711,712,0:2,711,712,0:2,711,712,0:23,678,0,679,790,0:5,789,0,711,712,745,0:3,748,711,712,0:48,680,681,682,0:10,742,0:3,749,0:50,678,0,679,790,0:5,789,0:3,741,0:3,747,0:50,680,681,682,790,0:5,789,0:3,741,0:3,748,0:13,708,695,0:2,708,695,0:2,708,695,0:2,708,695,0:10,701:2,0:11,678,0,679,0:10,742,0:3,749,0:50,680,681,682,790,0:5,789,0:3,742,0:3,747,0:37,701:8,0:5,678,0,679,790,0:5,789,0:3,752,751,0,751,750,0:5,767:2,0,767:2,0,767:2,0,767:2,0,767:2,0:2,767:2,0:2,767:2,0:2,767:2,0:2,767,0:3,767:2,0:2,767:2,0:2,767:2,0:3,680,681,682,0:11,701,0,701,0:44,689,688,0:5,678,0,679,790,0:5,789,0:58,680,681,682,790,0:5,789,0:11,790,0,701:3,0:42,678,0,679,0:11,701,0,701,0:4,790,0:46,680,681,682,790,0:5,789,0:58,678,0,679,790,0:5,789,0:4,701,0:6,790,0:46,680,681,682,0:18,790,0:46,678,0,679,790,0,701,0:3,789,0:6,701,0:51,680,681,682,790,0:5,789,0:11,790,0:46,678,0,679,0:18,790,0:46,680,681,682,0,764:5,0:5,701,0:53,678,0,679,0:18,790,0,701:5,0:40,680,681,682,709,0:17,790,0:46,678,0,679,710,0:2,701,0:7,701,0:53,680,681,682,0:19,764:2,0,764:2,0,764:2,0,764:2,0:35,678,0,679,709,0:21,711,712,0,711,712,0:38,680,681,682,710,0:28,790,0:35,678,0,679,0:3,701,0:7,701,0:17,790,0:35,680,681,682,709,0:13,711,712,0:2,711,712,0:45,678,0,679,710,0:64,680,681,682,0:5,701,0:5,701,0:17,790,0:35,678,0,679,0:29,790,0:35,680,681,682,0:5,701,0:5,701,0:11,701,0,701,0:4,689,688,0:33,678,0,679,0:65,680,681,682,0:5,701,0:5,701,0:9,767,0,701,0,701,0,767,0:37,678,0,679,0,789,0:63,680,681,682,0,789,0:63,678,0,679,0:5,711,712,711,712,0:56,680,681,682,0:15,767:2,0:3,767:2,0:3,767:2,0:38,678,0,679,0,789,0:15,689,688,0:46,680,681,682,0,789,0:8,790,0:2,701:2,0:50,678,0,679,0:10,790,0:54,680,681,682,0:65,678,0,679,0:10,790,0:2,701:2,0:50,678,0,679,0:10,790,0:54,680,681,682,707,0,707,0,707,0,707,0,707,0,692,0:54,678,0,679,767:2,0,767:2,0:60,680,681,682,0:65" id="3"/> <tiles values="0:397,10,7:6,12,0:170,11:16,0:33,5:2,0:3,5:3,0:11,6:16,0:32,5:4,0,5:4,0:11,9:16,0:32,5:2,0,5:3,0,5:2,0:59,5:2,0,5:3,0,5:2,0:59,5:2,0,5:3,0,5:2,0:35,10,7:6,12,0:16,5:2,0,5,0,5,0,5:2,0:59,5:2,0:5,5:2,0:59,5:9,0:59,5:4,0,5:4,0:956,5:7,0:62,5:6,0:61,5:7,0:54,5:6,0,5:7,0:54,5:6,0,5:7,0:44,5:9,0:2,5:5,0,5:3,0,5:3,0:44,5,0:9,5:6,0:52,5:9,0,5:5,0:61,5,0,5:6,0:52,5:9,0:59,5:9,0:262,8,0:537" id="4"/> <tiles values="0:3604" id="5"/> <tiles values="0:1432,115,0:67,115,0:67,115,0:67,1,0:1967" id="6"/> <sign text="Right Dirk.. What? You again?! Get off this channel!" n="1636" layer="6" width="0" height="0" face="prof" forced="false"/> <msg text="Power Plant 2"/> </root> ; level_data["2503017f3066ea7076e66ef55ac46621"] = <root> <level width="19" height="15" start_x="9" start_y="10" compression="false" background="1" scroll="1"/> <tiles values="506:2,480,0:3,661,506:4,480,0:4,661,506:4,523:15,506:4,586,585,586,585,586,585,586,585,586,585,586,585,586:2,585,506:4,564,563,564,563,564,563,564,563,564,563,564,563,564:2,563,506:4,523:15,506:4,660,0:3,481,506,586,585,506,660,0:4,481,506:4,0:5,506,564,563,506,0:6,506:4,0:5,506,586,585,506,0:6,506:4,0:5,506,564,563,506,0:6,506:4,0:5,506,586,585,506,0:6,506:4,480,0:3,661,506,564,563,506,480,0:4,661,506:3,523:16,506:3,523:16,506:4,660,0:3,481,506:4,660,0:4,481,506:4,0:5,506:4,0:6,506:2" id="0"/> <tiles values="0:136,178,0:11,178,0:5,772,769,768,0:9,772,771,768,0:5,173,0:11,173,0:42,772,771,770:13,769,768,0:39" id="1"/> <tiles values="0:117,61,0:11,61,0:7,59,0:9,57,0:13,24,0:49,28:3,0:9,28:3,0:23,774F,0:13,773F,0:21" id="2"/> <tiles values="0:154,767:3,0:9,767:3,0:66,767,0:2,767,0:8,692,0:17,692,0:19" id="3"/> <tiles values="0:101,10:6,11,0:12,9,0,11,12:3,11,0:12,9,0,11:2,0,9,11,0:12,9,0,11:2,12,5,12,0:12,9,12:2,10:2,9,0:102" id="4"/> <tiles values="0:285" id="5"/> <tiles values="0:285" id="6"/> <msg text="Service Lift 1"/> </root> ; level_data["652246653c921c611610325ece370700"] = <root> <level width="86" height="50" start_x="81" start_y="4" compression="false" background="4" scroll="0"/> <tiles values="0:2,778:7,0:31,566,547,0:6,532,660,0:2,532,569,0,645,778,533,0,495,778,533,0:4,662,0:2,548,569,0:5,663,566,547,0:2,778,586,585,778,0:3,778:7,0:32,474,655,0,661,646,0,645,778,0:2,658,477,0:2,534,533,0:2,778,533,0:5,662,495,778,477,0:6,663,0,474,655,532,778,564,563,778,0:3,778:7,0:2,778,0:5,778,0:19,778,0:2,535,0,603,778:2,533,0,670,533,0,602,606,0:6,661,533,0:6,619,778,606,0:10,603,778:2,586,585,778,0:3,778:6,533,0,670,778:4,605,0,534,778:10,0,586,585,586,778:4,585,586,585,0,778:4,496,0:4,532,778,533,0:5,619,533,0:6,495,778,533,0:11,534,778:2,564,563,778,0:3,778:6,535,0:2,619,656,0:2,657,476,475,533,0,534,778:6,0:2,564,563,564,778:4,563,564,563,0,533,0,548,569,0:4,661,778:2,655,619,646,0:2,661,778,0:7,548,569,0:13,635,778,586,585,778,0:3,778:4,533,534,660,0,661,647,0:4,550,778:10,0:2,586,585,586,778:4,585,586,585,0:2,658,477,0:4,619,778,533,0,603,778,621,0,532,778,496,0:6,658,477,0:12,778:7,0:3,778:3,514,0:3,619,778:8,547,0:2,619,778:7,564,563,564,778,0:2,778,563,564,563,0,602,606,0,661,535,0,619,778,660,0,661,778:2,535,532,778,533,0:6,602,533,0:15,497,778:4,0:3,778:3,0,528,0,619,533,0:4,658,533,0:2,474,655,645,778:12,0:2,778:4,0,778:2,535,534,778:12,535,0,668,535,0:2,532,569,0:17,778,586,585,778,0:3,778:3,671,0,545,778:2,646,0:2,668,606,0:2,661,778:11,564,563,564,778,0:2,778,563,564,563,0,778:4,506:2,778:4,506:2,778:6,635,0:2,658,477,0:18,778,564,563,778,0:3,778:4,551,778:16,506:3,778:5,586,778,0:2,778,585,586,585,0,778:4,506:4,778:2,506:2,778:3,506:3,602:3,606,0:19,778,586,585,778,0:3,778:7,506:6,778:2,506,778:5,506:3,778:5,564,778,0:2,778,563,564,563,0,778:4,506:4,778:2,506:2,778:3,506:3,778,0:14,495,671,0:2,668,646,0:2,778,564,563,778,0:3,778:7,506:6,778:2,506,778:5,506:2,778:6,586,778,0:2,778,585,586,585,0,778:4,506:4,778:2,506:2,778:3,506:3,778,0:10,495,0,646,0,648,778,0:2,778,606,0:2,778,586,585,778,0:2,778:8,506:6,778:2,506,778:5,506:3,778:5,564,778,0:2,778,563,564,563,0,778,0:7,778:2,506:2,778:3,506:3,778,0:10,534,778,669,0:2,662,0:2,566,547,0:2,778,564,563,778,0:2,778,0,778:3,528,0:2,526,0:2,528,0:2,526,0:2,778:6,506:2,778:7,0:2,778:5,585,0:7,778:2,506:2,778:3,506:3,778,0:7,620,0:2,661,621,0:2,645,778,535,0:2,474,655,532,778,586,585,778,0:3,513,0:4,545,513,0:4,545,513,0:4,545,778:4,506:2,778:3,564,563,564,778,0:2,778,563,564,563,564,778:3,506,778:4,0:7,778,506:2,0:7,602,778:4,659:3,778:2,647,0:3,778:3,586,585,778,0:3,778:6,533,0:5,495,671,0:2,668,646,670,660,622,506:3,778:3,586,585,586,778,0:2,778,585,586,585,586,778:3,506,778:4,0:7,778,506:2,778,0:6,566,778:2,621,0:4,534,547,0:4,548,778:2,586,585,778,0:3,778:5,533,0:2,495,0,646,0,648,778,0:2,778,606,0:3,778,0:2,778:3,564,563,564,778,0:2,778,563,564,563,564,778:3,506,778:3,506,778:3,506,778:3,506:3,778:4,0:4,474,778,0:6,474,655,0:2,658,477,648,778,586,585,778,0:3,778:5,535,0:2,534,778,669,0:2,661,0:2,566,547,0:2,645,0:4,778:2,586,585,586,778,0:2,778,585,586,585,586,778:3,506,778:3,506,778:4,0:8,778:2,0:5,603,535,532,646,0:4,603,778:2,606,0:2,778,586,585,778,0:3,778:6,646,0,661,621,0:2,645,778,535,0:2,474,655,532,778,0,778,0:2,778:2,564,563,564,778,0:2,778,563,564,563,564,778:3,506,778:3,506,778:3,0:9,778:2,0:5,548,778:2,547,0:4,548,659:2,547,0:2,778,586,585,778,0:3,778:2,533,0,670,778:4,0:3,778:2,647,0:3,778:3,622,778,0:2,778:25,0:8,778:2,0:4,658,477,670,669,474,655,0:2,658,477,0:2,474,655,0,778,586,585,778,0:3,778,621,0:3,510,778:2,0,535,0:2,534,547,0:4,548,778,0:2,778,0:2,778:24,0:9,778:3,659:2,778,606,0:4,603,778:2,606,0:4,603,778:2,586,585,778,0:3,778,0:3,661,551,778:2,0,660,0:3,474,655,0:2,658,477,648,0,532,778,0:2,778:24,0:10,778:2,659:2,778,547,0:4,548,659:2,547,0:4,548,659,778,586,585,778,0:3,778,535,0,532,669,0:2,497,532,646,0:4,603,778:2,606,0:2,619,778:2,0:15,778:11,0:10,533,0:4,474,655,0:2,658,477,0:2,474,655,0:2,658,477,0,778,586,585,778,0:5,523,778,0:4,778,547,0:4,548,659:2,547,0:2,778:2,0:16,778:11,0:16,603,599,602,606,0:4,603,636,778,606,0:2,778,586,585,778,0:5,778,511,0:4,543,778:2,535,532,778:2,514,0:3,532,778,0:18,778,0,778:8,0:16,548,778,636,547,0:4,548,569,566,547,0:2,778,586,585,778,0:3,778:4,498,0:2,526,0:2,670,778:4,0,528,0,532,778:5,586,585,586,585,586,585,0:8,778:2,0,778:4,0:3,778:2,0:8,778,646,0:4,658,477,0:2,474,655,0:2,658,477,0:2,474,655,0,778,586,585,778,0:3,778:6,513,0:4,545,513,0:4,545,778:6,564,563,564,563,564,563,778:14,0:9,778,659:9,778,606,0:4,603,778:2,606,0:4,603,778:2,586,585,778,0:3,778:7,0:4,516,522,0:4,778:8,506,778:2,506,778:3,533,0:2,524,507,0:2,524,507,0,534,778,0:6,778,0:2,778,659:9,778,547,0:4,548,659:2,547,0:4,548,659,778,586,585,778,0:3,778,533,0,497,778:3,533,534,551,778:2,498,661,778:12,0,778,506,0,778,533,0:3,676,633,0:2,676,633,0:2,676,778,0,778:3,0,778,0:2,778:3,0:8,474,655,0:2,658,477,0:2,474,655,0:2,658,477,0,778,586,585,778,0:5,778,0,778:3,646,0,534,778:15,0:3,506,0,778,0:4,676,633,0:2,676,633,0:2,676,778,642,641,778:2,0,778,0:2,778:3,0:9,603,636,778,606,0:4,603,599,602,606,0:2,778,586,585,778,0:2,778:4,668,778:4,480,645,778:10,0:8,506,0,778,0:4,676,633,0:2,676,633,0:2,676,778,641,642,778:2,0,778,0:2,778:3,647,0:8,548,569,566,547,0:4,548,636:2,547,0:2,778,586,585,778,0:2,778:20,585,0:8,506,0,511,0:4,676,633,0:2,676,633,0:2,676,778,642,641,778:2,0,778,0:2,778:3,0:8,658,477,0:2,474,655,0:2,658,477,0:2,474,655,0,778,586,585,778,0:2,778:14,0:3,564,563,564,563,0:8,506,0,778,0:4,597,594,0:2,597,594,0:2,597,778,641,642,778:4,0:2,778,659:9,778,606,0:4,603,778:2,606,0:4,603,635,778,586,585,778,0:3,778:15,0:2,516,0:9,778,506,0:6,778:13,0:2,778,0:2,778,659:9,778,547,0:4,548,778,635,547,0:4,548,778:2,586,585,778,0:3,778:10,586,585,586,585,506,778:13,506,0:6,524,507,0:2,676,633,0:2,524,778,641,642,0:3,778,0:2,778:2,0:9,474,655,0:2,658,477,0:2,474,655,0:2,658,477,0,778,586,585,778,0:3,564,563,564,778:7,564,563,564,563,506,778:13,506,0:6,676,633,0:2,676,633,0:2,676,778,642,641,0:3,778,0:2,778:3,0:9,603,599,602,606,0:4,603,599,602,606,0:2,778,586,585,778,0:3,778:11,506,778:2,506,514,0,778:5,0,778:5,506,0:6,676,633,0:2,676,633,0:2,676,778,641,642,0:3,778,0:2,778:2,669,0:9,548,569,566,547,0:4,548,569,566,547,0:2,778,586,585,778,0:3,778:8,0:2,528,0:2,526,0:2,528,0,564,563,564,563,0:2,778:4,506,0:6,676,633,0:2,676,633,0:2,676,778,642,641,0:3,778,0:2,778,669,0:9,658,477,0:2,474,655,0:2,658,477,0:2,474,655,0,778,586,585,778,0:3,778:5,635,778,635,0:3,545,513,0:4,545,586,585,586,585,0:6,778,0:6,676,633,0:2,676,633,0:2,676,778,641,642,0:3,778,0:2,778,659:9,778,606,0:4,603,635,778,606,0:4,603,778:2,586,585,778,0:3,778:3,533,0:3,648,0:10,564,563,564,563,0:13,676,633,0:2,676,633,0:2,676,778,642,641,0:3,778,0:2,778,659:9,778,547,0:4,548,778:2,547,0:4,548,635,778,586,585,778,0:3,778:2,621,0:15,586,585,586,585,0:13,676,633,0:2,676,633,0:3,778,641,642,0:3,778,0:2,647,0:10,474,655,0:2,658,477,0:2,474,655,0:2,658,477,0,778,586,585,778,0:3,778,621,0:14,506:2,564,563,564,563,506,0:5,778:3,0:4,676,633,0:2,676,633,0:3,778,642,641,0:3,778,0:14,603,599,602,606,0:4,603,599,602,606,0:2,778,586,585,778,0:3,533,0:15,506:2,586,585,586,585,586,585,506:6,511,0:4,676,633,0:2,676,633,0:2,676,778,641,642,0:3,778,0:14,548,569,566,547,0:4,548,569,566,547,0:2,778,586,585,778,0:14,534,778:2,0:2,506:2,564,563,564,563,564,563,506:7,0:4,676,633,0:2,676,633,0:2,676,778,642,641,0:3,778,0:2,646,0:10,658,477,0:2,474,655,0:2,658,477,0:2,474,655,0,778,586,585,778,0:15,534,778,0:2,506:2,586,585,586,585,586,585,506:7,535,0:3,676,633,0:2,676,633,0:2,676,778,641,642,0:3,778,0:2,778,659:9,778,606,0:4,603,778:2,606,0:4,603,778:2,586,585,778,0:16,534,0:2,506:2,564,563,564,563,564,563,506:7,778,620,0:2,597,594,0:2,676,633,0:2,597,778,642,641,0:3,778,0:2,778,659:9,778,547,0:4,548,778:2,547,0:4,548,778:2,586,585,778,0:19,506:15,778:4,0:2,778,646,597,594,0,619,0:2,641,642,0:3,778,0:2,647,0:10,474,655,0:2,658,477,0:2,474,655,0:2,658,477,0,778,586,585,778,0:24,506,0,778,506:7,778:3,0:4,778:6,0:6,778,0:14,603,599,602,606,0:4,603,599,602,606,0:2,778,586,585,778,0:27,506:5,0,506,778:3,0:3,778:6,0:7,778,0:14,548,569,566,547,0:4,548,569,566,547,0:2,778,586,585,778,0:27,506:5,0:2,778:3,0:4,778:5,0:7,778,0:13,658,477,0:2,474,655,0:2,658,477,0:2,474,655,0,778,586,585,778,0" id="0"/> <tiles values="314,288,0:7,318,314:27,288,318,288,0:43,327:3,314,288,0:7,318,314:27,288,318,288,0:43,327,0,327,314,288,0:7,310,309,53,309:5,306,309:9,290:2,309:8,303,318,288,0:25,294,319:11,293,0:7,327,314,288,170,162,0:23,318,288,0:9,318,288,0:45,327,314,288,170,162,0:23,318,288,0:9,318,288,0:45,327,314,288,0:25,318,288,0:4,311:2,0:3,318,288,0:37,294,319:5,327,0,327,314,288,0:25,310,303,0:4,302:2,0:3,318,288,0:11,295,0:30,419,327,0,327,314,288,170,162,0:29,302:2,0:3,318,288,0:3,294,319:11,307,0:27,327,0,327,314,288,170,162,0:16,294,293,0:11,302:2,0:3,318,288,0:12,295,0:2,308,319,307,317,304,298:4,304,297,0:17,327,0,327,314,288,0:6,308,319:21,297,0:2,302:2,0:3,318,288,0:16,53,0,318,314:6,288,0:17,327,0,327,314,288,0:26,290,314,288,0:2,302:2,0:3,318,288,308,307,0:16,318,314:6,288,0:17,327,0,327,314,288,170,162,0:21,295,0,295,318,314,288,0:2,302:2,0:3,318,288,0:18,318,314:6,288,0:4,311,0:3,311,0:3,311,0:4,327,0,327,309,303,170,162,0:24,318,314,288,0:2,302:2,0:3,318,288,317,298:7,297,0:4,308,307,0:3,318,314:6,288,0:4,301,0:3,301,0:3,301,0:4,327:3,298:24,297,0,317,304,290,314,288,0:2,302:2,0:3,310,303,310,309:7,303,0:9,318,314:6,288,0:17,327,0,327,314,290:2,309,290,309,290,309,290,309,290:2,314:4,290:2,309,290,309,290,309,290,303,0,318,314:3,288,0:2,302:2,0:12,317,298:7,297,0:2,318,314:6,288,0:17,327,0,327,314,288,0:9,318,314:4,288,0:9,318,314:3,288,0:2,302:2,0:12,310,309:7,303,0:2,310,309:6,303,0:17,327,0,327,314,288,0:9,310,306,309:3,303,0:6,317,298:2,290,314:3,288,0:2,302:2,0:23,56,294,307,382,384,0:20,327,0,327,314,288,0:21,318,314:6,288,0:2,302:2,0:16,317,298:8,297,376,378,0:13,308,307,0:5,327,0,327,314,288,0:21,318,314:6,288,0:2,302:2,0:16,318,314:8,288,376,378,0:20,327,0,327,314,288,0:8,311,0:12,318,314:6,288,0:2,301:2,0:5,317,298:9,293,318,314:8,288,376,378,0:20,327,0,327,314,288,0:5,317,298:2,302,0:6,317,298:5,290,314:6,288,382,383:7,384,318,314:9,288,318,314:8,288,376,378,0:9,308,307,0:6,308,307,0,327,0,327,314,288,295,0:4,310,309:2,302,0:6,318,314:12,288,379,380:7,381,310,309:9,303,318,314:8,288,379,381,0:20,327,0,327,314,288,0:8,301,0:6,318,313,314:11,290,298:9,297,0:10,318,314:8,288,0:22,327,0,327,314,290,298:2,297,0:12,318,314:22,288,0,322,0:8,318,314:8,288,0:22,327,0,327,314,290,309:2,303,0:12,318,314:22,288,0,368,0:8,318,314:8,288,0:22,327,0,327,314,288,0:15,318,314,290,309:20,303,0,368,324,360,323,325,348:3,323,310,309:8,303,0:22,327,0,327,314,288,0:6,317,304,298:7,290,314,288,0:11,311,321,0:9,361,0:3,356,314:4,327:3,353,0:17,308,307,0:6,308,307,0,327,0,327,314,288,0:6,310,306,309:9,303,0:11,302,364,0:13,356,314:4,327,0,327,353,0:28,327,0,327,314,288,0:25,317,304,297,0,302,364,0:13,368,781,331:2,782,327,0,327,358,348:3,334,0:24,327,0,327,314,290,298:2,297,0:22,318,314,288,0,302,359,0:13,361,359,0:2,368,327,0,327,781,330:3,329,0:24,327,0,327,314,290,309:2,303,0:16,317,298:5,290,314,290,0,302,0:3,322,321,0:13,368,327,0,327,353,0:28,327,0,327,314,288,0:19,318,314:7,288,0,302,0:3,368,364,0:13,333,327,0,327,353,0:28,327,0,327,314,288,0:8,317,298:4,290,298:5,290,314:7,288,0,302,321,0:2,368,364,0:16,327,353,0:9,308,307,0:17,327,0,327,314,288,0:8,310,309:4,290,309:5,290,309:5,290,309,303,0,302,364,0:2,368,364,324,360:2,323,322,321,324,360:4,323,325,348,327:3,353,0:28,327,0,327,314,288,0:29,302,364,0:2,361,359,0:4,368,364,0:6,356,314,327,0,327,358,348:3,334,0:24,327,0,327,314,290,298:2,297,0:26,302,364,0:8,368,364,0:6,356,314,327,0,327,781,330:3,329,0:24,327,0,327,314,290,309:2,303,0:5,317,298:8,297,0:3,317,298,297,0:5,302,364,0:8,361,359,0:6,356,314,327,0,327,353,0:28,327,0,327,314,288,0:8,318,314:8,288,0:3,318,314,288,0:5,302,364,0:16,356,314,327,0,327,353,0:28,327,0,327,314,288,0:8,318,314:8,288,0:3,318,314,290,298:4,297,302,364,0:16,356,314,327,0,327,353,0:28,327,0,327,314,288,0:8,318,314:8,288,0:3,318,314:6,288,302,364,0:4,322,321,0:6,322,321,0:2,356,314,327,0,327,353,0:28,327,0,327,314,288,0:8,318,314:8,288,0:3,318,314:6,288,302,364,0:4,368,364,0:6,368,364,339,325,357,314,327,0,327,353,0:28,327,0,327,314,288,0:8,318,314:8,288,0:3,310,309:6,303,301,359,0:4,368,364,0:6,368,364,339,356,314:2,327,0,327,353,0:28,327,0,327,314,288,0:8,309:6,290:2,309,303,0:17,361,359,0:6,361,359,0,356,314:2,327,0,327,353,0:28,327,0,327,314,288,0:11,295:3,318,288,295,0:29,356,314:2,327,0,327,353,0:28,327,0,327,314,288,0:14,318,288,0:30,356,314:2,327,0,327,353,0:28,327,0,327,314,288,0:11,295:3,318,288,295,0:29,368,314:2,327,0,327,353,0:28,327,0,327,314,288,0:14,318,288,0:7,295,0:3,325,360:2,334,0:3,325,360:2,334,0:4,325,360:3,357,314:2,327,0,327,353,0:28,327,0,327,314,288,0:14,290:2,298:7,297,0:3,368,314:2,364,0:3,368,314:2,364,0:4,368,314:6,327,0,327,353,0:28,327,0,327,314,288,0:14,318,288,314:7,288,0:3,368,314:2,364,0:3,368,314:2,364,0:4,368,314:6,327,0,327,353,0:28,327,0,327,314,288,0:14,318,288,314:7,288,0:3,368,314:2,364,0:3,368,314:2,364,0:4,368,314:6,327,0,327,353,0:28,327,0,327" id="1"/> <tiles values="0:153,28:2,0:5,28:2,0:266,154,0:89,28,61,0:42,60,0:60,59,0:37,108,0:40,28,0:4,28,0:2,28,0:30,106,0:120,28:2,0:66,28,0:3,28,0:3,28,0:33,106,0:26,58,0:47,57,0:8,57,0:110,28,0:4,61,0:142,61,0:136,28:2,0:138,108,110,0:58,35,28,0:52,28:2,0:6,28:2,0:6,61,0:171,105,28:2,0:210,28:4,57,0:48,28,0:5,58,0:55,28:2,0:6,28:2,0:145,28:4,0:29,28:2,0:117,28,57,0:149,60,0,61,0:15,28,0:94,28:2,0:6,57,0:2,62,0:88,28:4,0:29,28:2,61,0:99,28,0:4,57,0:174,28,0,28,0,28,0:92,28:2,0:6,57,28,0:87,61,0:256,105,0:137,28:3,0:2,105,0:97,57,0:6,28:2,0:6,28:2,0:383" id="2"/> <tiles values="0,790,0:50,743,0:9,741,0:20,678,0,679,0:39,736,0:12,741,0:9,741,0:20,680,681,682,0:9,767,0:2,767,0:2,767,0:2,767,0:2,767,0:2,767,0:14,790,0:12,741,0:9,743,0:2,767,0:2,767,0:2,767,0:2,767,0:2,767,0:5,678,0,679,0,790,0:11,743,741,0:14,743,0:22,743,0:9,742,0:20,678,0,679,0,790,0:11,742,743,0:14,741,0:22,742,0:9,741,0:20,678,0,679,0:13,741,742,0:14,741,0:22,741,0:9,741,0:14,733,690,693,0:3,680,681,682,0:13,741:2,0:14,741,0:9,790,0:12,743,0:9,743,0:20,678,0,679,0,790,0:11,743,741,0:14,741,0:3,764:2,0:8,736,0:18,742,0:20,678,0,679,0,790,0:11,742,743,0:14,743,0:15,742,0:6,701,0:2,764,0:8,690,693,0:17,680,681,682,0:11,767,0:3,767,0:3,767,0:3,767,0:3,767,0:17,741,0:9,742,0:27,678,0,679,0:10,742,0:28,790,0:5,742,0:9,741,0:9,686,0:17,680,681,682,0,790,0:8,741,0:14,701,0,701,0:17,741,0:9,741,0:9,687,0:17,678,0,679,0,790,0:8,743,0:44,743,0:9,687,0:17,680,681,682,0:4,767,0:3,767,0:10,767,0:3,767,0:9,764:2,0:20,742,0:9,687,0:17,678,0,679,0:11,767,0:4,767,0:48,694,0:17,680,681,682,0:9,749,0:73,678,0,679,0:9,747,0:2,733,0:70,680,681,682,0:9,748,0:73,678,0,679,0:9,749,0:49,686,0:23,680,681,682,0:9,747,0:23,764:2,0:24,687,0:23,678,0,679,0:10,789,0:28,692,764,0:9,764,0:8,687,0:23,680,681,682,0:2,701,0:7,789,0:48,687,0:23,678,0,679,0:9,747,0:49,687,0:23,680,681,682,0,790,0,690,693,0:4,748,0:49,687,0:23,678,0,679,0,790,0:7,749,0:49,694,0:23,680,681,682,0:9,747,0:11,767,0:3,767,0:3,767,0:53,678,0,679,0:8,690,693,0:14,742,0:6,767,0:10,763,0:3,763,0:3,763,678,0,679,0:29,680,681,682,0:10,767,0:3,767,0:3,767,0:5,741,0:26,680,681,682,0:29,678,0,679,0:13,742,0:10,741,0:26,678,0,679,788,0:28,680,681,682,0,790,0:11,741,0:10,743,0:7,766,0:13,702:2,0:3,680,681,682,788,0:28,678,0,679,0,790,0:11,743,0:37,678,0,679,0:29,680,681,682,0:13,742,0:18,766,0:18,678,0,679,0:29,678,0,679,0:51,678,0,679,0:29,680,681,682,0:15,734,0:5,767,0:5,767,0:9,763:2,0:2,763:2,0:2,763:2,0:4,680,681,682,0:29,678,0,679,0:24,741,0:26,678,0,679,788,0:28,680,681,682,0,790,0,690,693,0:19,743,0:26,680,681,682,788,0:28,678,0,679,0,790,0:8,690,693,0:29,702:2,0:8,678,0,679,0:29,680,681,682,0:51,680,681,682,0:29,678,0,679,0,686,0:8,686,0:40,678,0,679,0:29,680,681,682,0,687,0:8,687,0:26,763:2,0:6,763:2,0:4,680,681,682,0:29,678,0,679,0,687,0:8,687,0:40,678,0,679,0:29,680,681,682,0,687,0:8,687,0:20,767,766,0:4,766:2,0:8,701,0:3,680,681,682,0:29,678,0,679,0,694,0:8,694,0:5,767:2,0:33,678,0,679,0:29,680,681,682,0:18,701,0:26,742,741,0:4,680,681,682,0:29,678,0,679,0:45,741,743,0:4,678,0,679,0:29,680,681,682,0:45,743,742,0,735,0:2,680,681,682,0:29,678,0,679,0:25,692,0:25,678,0,679,0:29,680,681,682,0:51,680,681,682,0:29,678,0,679,0:16,764:2,0:7,764,0:25,678,0,679,0:29,680,681,682,0:29,684,685:2,683,0:3,684,685:2,683,0:4,684,685:2,683,0:3,680,681,682,0:29,678,0,679" id="3"/> <tiles values="0:562,8,0:60,8,0:35,10,7:3,12,0:335,8,0:47,8,0:8,8,0:595,10,7,12,0:511,8,0:363,8,0:149,8,0:120,8,0:231,8,0:279,8,0:586,8,0:399" id="4"/> <tiles values="0:4300" id="5"/> <tiles values="0:52,115:3,0:23,115:3,0:57,115:3,0:23,115:3,0:57,115:3,0:23,115:3,0:57,115:3,0:23,115:3,0:57,115:3,0:23,115,1,115,0:57,115:3,0:83,115,1,115,0:3729" id="6"/> <sign text="You took out Dr Boshi! Wow Taki!! When we get out of here I'm buying you a great big healthy dinner. You didn't learn all this from the combat academy did you? I need to know those secret moves you've got going on! OK, go to the roof. I'm heading there as well. From there we can get the service elevator right back down to the dock and the sub. See you at the top!" n="423" layer="6" width="0" height="0" face="ninja" forced="false"/> <sign text="Excellent work Takeshi. Up here we can reach you with a signal. I see Lady Snowfox has been giving you all the guidance you need. She's a great girl, look after her hur hur but she'll probably look after you." n="569" layer="6" width="0" height="0" face="akuma" forced="false"/> <msg text="Warehouse 3"/> </root> ; level_data["a9f9dc083795f29ff680211551608fce"] = <root> <level width="40" height="60" start_x="15" start_y="58" compression="false" background="1" scroll="0"/> <tiles values="0:38,509,0:39,506,0:39,506,0:39,506:2,0:37,506,0,506,0:37,506:3,0:37,506:3,0:37,506:3,0:37,506:3,0:37,506:3,0:37,506:3,0:37,506:3,0:19,778:2,0:2,778:2,0:4,778:2,0:2,778:2,0,506:4,0:19,506:21,0,506:10,0:8,506:21,0,506:10,0:8,506:21,0,506:10,0:8,506:21,0,506:10,0:8,506:17,509,506:3,0,506:4,0,506:2,0:11,509:2,506:2,509,506:6,509,506:5,509,506:3,0,506:3,0,632,506:2,0:3,506:2,0:3,506:18,631,629,627,506:3,0,506:3,0,626,616,523:16,509,506,523:4,506:2,523:2,615,614,612,609,506:3,0,506:4,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,506:2,629,627,628,630,506:2,628,630,629,627,628,630,506:3,0:4,506,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,506:2,612,609,610,613,506:2,610,613,612,609,610,613,506:3,679,0:3,506,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,506:3,682,0:4,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,506:3,0:5,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,506:3,679,0:4,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,506:3,682,0:3,506,626,624,523,506:9,522,506,523:15,614,0:2,506:3,679,0:3,506,607,506,523,506:26,608,0:2,506:3,682,0:4,506:2,523,506,509,506:2,509,506,0:2,506:18,0:3,506:3,0:5,506:9,0:2,506:18,0:3,506:3,0:4,506:2,0:4,506:25,0:2,506:9,0:4,506:25,0:2,506:3,0,506:13,0:2,506:18,0:3,506:3,0,506:3,0:2,506:2,0:6,506,0,506:18,0:3,506:19,523,506:17,0:3,506:3,0,506:16,522,506:16,0:3,506:3,0,506,628,630,629,627,628,630,629,627,628,630:2,506:5,0:2,506:2,0:4,506:2,0:9,506:3,0:2,610,613,612,609,610,613,612,609,610,613:2,506:4,0:20,506:3,0:3,506,628,630,629,627,628,630,629,627,0,506:4,0:20,506:3,0:4,610,613,612,609,610,613,612,609,0,506:4,0:20,506:3,0:5,506,628,630,629,627,628,630,506:6,0:19,506:9,610,613,612,609,610,613,506:6,0:19,506:3,0,506:5,629,627,628,630,629,627,0,506:4,0:20,506:3,0,506:3,0:2,612,609,610,613,612,609,0,506:4,0:20,506:3,0,506,509,506,0:2,506:2,0:5,506:5,0:19,506:3,0,506:7,0:4,506:6,0:19,506:9,509,506,0:4,506:5,0:20,506:3,0:2,506:2,0,506:3,0:4,506:5,0:20,506:3,0:2,506:2,0,506:3,0:4,506:13,0:14,506:9,0:5,506:12,0:15,506,509,506:2,0:18,506:3,0:15,506:3,0:19,506:3,0:15,506:2,509,0:19,506:3,0:15,506:3,0:19,506:3,0:15,506,509,506:3,631,629,627,506,0:13,506:3,0:15,506:4,615,614,612,609,506:35,631,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,506,628,630,629,627,628,630,629,627,628,630,629,627,628,630,629,509,506,615,614,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,506,610,613,612,609,610,613,612,609,610,613,612,609,610,613,612,0,506:39" id="0"/> <tiles values="257:38,0,257:101,289:4,257:6,289:4,257:26,289:4,257:6,289:4,257:3,0,257,0,257:20,289:4,257:6,289:4,257:3,0:3,257:20,289:4,257:6,289:4,257:3,0:3,257:2,289:2,257:4,289:2,257:10,289:4,257:6,289:4,257:3,0:3,257:2,289:2,257:4,289:2,257:10,289:4,257:6,289:4,257:3,0:3,257:2,289:2,257:4,289:2,257:10,289:4,257:6,289:4,257:3,0:3,257:2,289:2,257:4,289:2,257:8,256,257,289:4,257,256,257:2,256,257,289:4,257,256,257,0:3,257:2,289:2,257:4,289:2,257:27,0:3,257:2,289:2,257:4,289:2,257:8,755,245:2,261:2,245:2,261,250,755,261,245:2,261:2,245:2,261,250,0:3,257:18,761,0:7,251,761,0:8,251,0:3,755,245,261,245,261,245,261,245,261,245,261,250,257:6,761,0:7,251,761,0:8,251,0:3,761,0:10,251,257:6,761,0:4,246,247,0,251,761,0,246,247,0:5,251,0:3,761,0:2,246,242,247,0:2,260:2,0,251,234:6,761,0:4,251,761,0,251,761,0,251,761,0:5,251,0:3,761,0:2,228,250,761,0:5,251,257:6,761,0:4,248,249,420,248,249,417,248,249,0:5,251,0:3,761,0:3,251,761,0,246,242:3,252,257:6,761,260:2,0:2,170,171,174:5,162,0:3,260:2,251,0:3,761,0:3,251,761,0,228,261:3,259,758,261:5,229,0:4,246,247,418,0:2,419,246,247,0:5,251,0:3,761,0:3,251,761,0:17,258,754,0:4,258,754,0:5,251,0:3,761,0:3,228,229,0:17,251,761,0:4,251,761,0:5,251,0:3,756,242:3,247,0:18,237,753,0:4,237,753,0:5,251,0:3,234:4,754,0:17,417,228,229,420,0:2,417,228,229,420,0:4,228,0:3,257:4,761,0:17,170,174:2,162,0:2,170,171,174,162,0:8,257:4,761,0:35,257:4,761,0:29,246,242:2,257:7,753,0:3,170,171,174:3,171,174:4,162,0:14,170,258,257:2,0:3,257:4,754,260,0:7,419,246,247,418,0:16,419,251,257:2,0:3,257:4,761,260:2,0:7,251,761,0:16,170,174,251,257:2,0:3,234:4,761,260:3,0:6,251,761,0:17,419,251,257:2,0:3,261:4,229,246,242:4,247,0:3,237,753,0:15,170,174:2,237,257:2,0:3,240,0:4,228,261:4,229,0:3,258,754,0:17,419,258,257:2,0:3,761,0:13,251,761,0,246,247,0:4,246,247,0:4,246,247,0:3,251,257:2,0:3,761,0:2,246,242:2,241,757,242:6,252,761,0,251,761,0:4,251,761,0:4,251,761,0:3,251,257:2,0:3,249,0:2,228,758,259,758,259,758,259,261,250,755,261:2,229,0,228,229,0,246,247,0,228,229,0,246,247,0,228,229,0:3,251,257:2,0:3,242,247,0:9,251,761,0:2,178,0:4,228,229,0:4,228,229,0:6,251,257:2,0:3,234,761,0:9,237,753,0:2,175,0,246,242:2,757,241,242:4,757,241,242:6,252,257:2,0:3,257,756,242,247,0:7,258,754,162,0,175,0,251,234:2,289:2,234:4,289:2,234:7,257:2,0:3,257,234:2,761,0:7,251,761,0:2,175,0,251,257:2,289:2,257:4,289:2,257:9,0:3,257:3,756,242,247,0:5,251,761,0,170,172,0,251,257:2,289:2,257:4,289:2,257:9,0:3,755,261:4,229,0:5,237,753,0:2,175,0,237,257:19,0:3,761,0:4,260:2,0:4,258,754,162,0,175,0,258,257:19,0:3,761,0:10,251,761,0:2,175,0,251,257:19,0:3,761,0:2,246,242:2,241,757,242:3,252,761,0,170,172,0,251,257:2,289:2,257:4,289:2,257:9,0:3,761,0:2,228,261:2,259,758,250,234:3,761,0:2,175,0,237,257:2,289:2,257:4,289:2,257:9,0:3,761,260,0:6,251,257,256,257,761,162,0,175,0,258,234:2,289:2,234:4,289:2,234:9,0:3,249,0:7,251,257:3,761,0:2,175,0,251,257:19,0:3,242:2,241,757,242,247,0:2,251,257:3,761,0,178,175,0,251,257:19,0:3,755,261,259,758,261,229,0,260,251,257:3,761,0,173:2,0,228,261:6,250,257:12,0:3,761,0:7,251,257,256,257,761,0:11,251,257:12,0:3,761,0,260,246,242:4,252,257:3,756,242:9,247,0,251,257:12,2:3,761,0:2,251,234:18,761,0,251,234:12,2:3,761,260,0,251,257:4,256,257,256,257,256,257:9,761,0,237,257:12,2:3,761,0:2,251,257:18,761,0,258,257:12,2:3,761,0,260,228,261:4,250,257:7,755,253,250,257:3,761,0,251,755,253,250,257:9,0:3,761,0:7,248,261:5,259,758,249,739,248,261,259,758,249,0,248,249,739,248,261,259,758,261:6,259,758,261,761,260,0:15,46I(1),0:8,46I(1),0:13,761,260:2,0:14,46I(1),0:8,46I(1),0:13,756,242:2,241,757,242:2,241,757,242:5,241,757,247,737,246,242:6,247,737,246,242,241,757,242:6,241,757,242" id="1"/> <tiles values="0:583,28:2,0:4,28:2,0:114,28,0:2,28,0:132,28:3,0:48,109F:2,0:144,62,0:11,107F:2,0:2,107F:2,0:17,28,0:11,61,0:67,28,0:79,28,0:94,110,0:2,107,0,107,0:123,28:2,0:4,28:2,0:4,28:2,0:22,28,0:80,28,0:72,109,0,109,0:3,28,0:71,110,0:8,28,0:78,28,0:67,28,0:12,28,0:445,59,0:59" id="2"/> <tiles values="0:117,678,0,679,0:37,680,681,682,0:37,678,0,679,0:37,680,681,682,0:37,678,0,679,0:37,680,681,682,0:37,678,0,679,0:37,680,681,682,0:37,678,0,679,0:37,680,681,682,0:19,718,719,0:2,718,719,0:4,718,719,0:2,718,719,0:2,678,0,679,0:37,680,681,682,0,766,0,766,0,766,0,766,0,766,0:27,678,0,679,0:23,699:2,0:4,699:2,0:6,680,681,682,0:8,703:2,0:27,678,0,679,0:37,680,681,682,0:37,678,0,679,0:7,718,719,734,0,718,719,0:2,718,719,734,0:19,680,681,682,0:37,678,0,679,0:37,680,681,682,0:37,678,0,679,0:37,680,681,682,0:22,734,706:2,734,0:2,734,706:2,734,0:5,678,0,679,0:37,678,0,679,0:37,680,681,682,0:9,699,0,699,0,699,734,699,0,699,0:16,785,0:2,678,0,679,0:5,703,0:31,680,681,682,0:34,785,0:2,678,0,679,0:37,680,681,682,0:34,785,0:2,678,0,679,0:37,680,681,682,0:30,735,0:3,785,0:2,678,0,679,0:37,680,681,682,0:4,718,719,0:2,718,719,0:7,703:2,0:2,734,0,703:2,0:4,703:2,0:3,785,0:2,678,0,679,0:15,703,0:21,680,681,682,0:37,678,0,679,0:15,703,0:4,762:2,0:4,762:2,0:9,680,681,682,0:37,678,0,679,0:15,703,0:21,680,681,682,0:37,678,0,679,0:6,703,0:8,703,0:21,680,681,682,0:36,257,678,0,679,0:4,699,0,699,0,699,0,699,0:4,703,0:21,680,681,682,0:37,678,0,679,0,703,0:13,703,0:21,680,681,682,0:37,678,0,679,0:15,703,0:21,680,681,682,0:7,703,0:9,735,0:19,678,0,679,0:37,680,681,682,0:2,703,0:78,703,0:80,703,718,719,0,718,719,0:192" id="3"/> <tiles values="0:890,11:6,0:34,6:6,0:34,6:6,0:34,6:6,0:34,9:6,0:195,11,0,11,0:37,6,0,6,0:31,10,7:3,12,0,9,0,9,0:273,11,0,11,0:37,6,0,6,0:37,6,0,6,0:34,10,7,12,9,0,9,0:608,10,7:2,12,0:58" id="4"/> <tiles values="0:2400" id="5"/> <tiles values="0:1126,115:4,0:37,115:3,0:38,1,115,0:551,115:2,0:38,115:2,0:39,115:4,0:35,115:3,1,115,0:275,115:2,0:38,115,0:39,115:3,0:38,115:2,0:6,115:5,0:28,1,0:6,115:2,1,115:2,0:65" id="6"/> <sign text="Some of the workers hide their secret sushi lunches from the company's spying eyes, eat them whenever you can, you have a lot of climbing to do. " n="1208" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="Watch out for the drone mines, they explode on impact. Use your ninja stars to take them out." n="1884" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="I've scanned the room, you can get out through the ceiling. You need to find the exit lift and move up through the tower. Boshi's lab complex is near the top. If you need to learn your controls you can press the help icon (or the key &quot;H&quot;) to find out what they are at anytime." n="2323" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="Takeshi, this is Lady Snowfox, I'm Akuma's spy in the base. Unfortunately I'm located near the top of this tower, so I'm going help you remotely for the moment. I believe you were attacked by Maxwell Merlock, head of the Merlock Food Pharma corp. I dont know why Dr Boschi's boss is here. It must be important as our Intel said Maxwell is now a complete recluse. If I find out more I'll tell you right away." n="2332" layer="6" width="0" height="0" face="ninja" forced="true"/> <msg text="Holding Cells"/> </root> ; level_data["a80cdc1cde8391da4f0d9aed23d56a8f"] = <root> <level width="60" height="40" start_x="3" start_y="33" compression="false" background="0" scroll="0"/> <tiles values="0:35,506,0:3,588,587,0:2,588,587,588,587,0,506,0:46,506,0:3,506,565,0:2,570,565,570,506,0,506,0:46,506,0,778,587,506,587,0:2,588,587,588,506,588,587,0:46,506:2,570,565,570,565,0:2,570,565,570,565,570,565,0:46,506:5,0:4,506:5,0:48,506:3,0:4,506:6,0:47,506:14,0:47,506,0:2,506:2,0:4,506,588,587,0:48,506,0,506:2,0:5,506,570,565,0:11,506,0:36,588,587,588,587,0:5,506,588,587,0:11,506,0:27,778,0:8,570,565,570,565,506,0:4,506,570,565,0:11,506,0:26,778:5,0:5,506:13,0:10,506,0:22,778:9,0:5,506:3,0:11,506:2,0:5,506,0,506,0:26,778:5,0:5,506:3,0:11,506:8,0,506,0:27,778:2,0:7,506:3,0,506:18,0,506,0:27,778:2,0:7,506:3,0:2,506:3,0:2,506:2,0:2,506:7,0:2,506,0:27,778:2,0:7,506:3,0,506:4,0:2,506,0:4,506:6,0:2,506,0:27,778:2,0:6,506:13,0:2,506:7,0:2,506,0:27,506,778,0:6,506,0:10,506:11,0:2,506,0:27,506,778,0:5,506:2,0:10,506:5,0,506:6,0,506,0:4,506:2,0:3,506:2,0:3,506:4,0:9,506:24,0,506:3,509,506:2,0,506,0,506:17,0,506:6,0:2,506:24,0,506:5,509,0,506,0,506:50,0,506:5,509,0,506,0,506:7,588,587,588,587,588,587,588,587,588,522,506:12,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,506:2,588,587,588,587,588,587,506,0:2,506:9,570,565,570,565,570,565,570,565,570,565,506:12,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,506:2,570,565,570,565,570,565,0:3,506:2,0:2,506:5,588,587,588,587,588,587,588,587,588,587,506:12,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,506:2,588,587,588,587,588,587,0:3,506,0:4,506:4,570,565,570,565,570,565,570,565,570,522:2,506:2,522:2,506:2,522:2,506:3,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,506:2,570,565,570,565,570,565,506,0:2,506,0:3,506:5,588,587,588,587,588,587,588,587,588,522:2,506:2,522:2,506:2,522:2,506:3,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,0:8,506,0:2,506,0:3,506:5,570,565,570,565,570,565,570,565,570,522:2,506:11,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,0:11,506,0:4,506:15,0:11,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,0:13,506,0:4,506:4,588,587,588,587,588,587,588,587,588,506:2,0:11,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,0:13,506,0,506:7,570,565,570,565,570,565,570,565,570,565,0,506:2,0:2,506:2,0:2,506:20,0:12,506:2,588,587,588,587,506:3,588,587,588,587,588,587,588,587,588,587,0,506:35,0:5,506:2,570,565,570,565,506:3,570,565,570,565,570,565,570,565,570,506:37,0:10,506,522:7,570,565,570,522:2,506:6,588,587,588,587,588,587,588,506,588,587,588,587,588,587,588,506,588,587,588,587,588,587,588,506,588,587,588,587,588,587,0:6,506,0:5,522:7,0:3,506:2,0:2,506:3,0,570,565,570,565,570,565,570,506,570,565,570,565,570,565,570,506,570,565,570,565,570,565,570,506,570,565,570,565,570,565,0:6,506,0:4,506:8,0:3,506:2,0:2,506:3,0,588,587,588,587,588,587,588,506,588,587,588,587,588,587,588,506,588,587,588,587,588,587,588,506,588,587,588,587,588,587,0:6,506,0:4,506,522:7,0:3,506:8,570,565,570,565,570,565,570,506,570,565,570,565,570,565,570,506,570,565,570,565,570,565,570,506,570,565,570,565,570,565,0:6,506,0:5,522:7,506:11,588,587,588,587,588,587,588,506,588,587,588,587,588,587,588,506,588,587,588,587,588,587,588,506,588,587,506,587,588,587,0:6,506,0:5,506:2,0:3,506:7,0:4,506:2,570,565,570,565,570,565,570,506,570,565,570,565,570,565,570,506,570,565,570,565,570,565,570,506,570,506,570,565,570,565,0:5" id="0"/> <tiles values="257:28,761,356,320:4,327,0,327,320:2,781,331,782,781,331:3,782,320:3,327:2,320:2,327,320:2,327,320:2,257:28,761,356,320:4,327,0,327,320:2,359,0,368,364,0:3,361,320:3,327:2,320:2,327,320:2,327,320:2,257:28,761,356,320:4,327,0,327,363,331,362,0,368,364,0:3,363,330:2,782,327:2,320:2,327,320:2,327,320:2,257:28,761,356,320:4,257,0:6,368,364,0:6,368,327:2,320:2,327,320:2,327,320:2,257:28,761,356,320:4,327,0:4,324,360,357,358,348,323,0:4,368,327:2,320:2,327,320:2,327,320:2,257:28,761,356,320:4,327:3,321,0,363,332,331:2,332,362,0:4,361,327:10,257:28,761,356,320:4,257:3,353,0:12,322,327,320:2,327,320:2,327,320:2,257:28,761,356,320:4,257:3,364,324,360:8,334,0:2,368,327,320:2,327,320:2,327,320:2,257:28,761,356,320:4,257:3,364,363,330:2,331,782,327,320:2,327,359,0:2,368,327,320:2,327,320:2,327,320:2,257:28,761,356,320:4,257:3,364,0:4,368,327,320:2,327,321,0:2,345,327,320:2,327,320:2,327,320:2,257:28,761,333,330:3,782,257:3,341,0:4,333,331:4,329,0,339,368,327,320:2,327,320:2,327,320:2,257:23,755,261:4,249,0:4,356,257:3,364,0:11,339,356,327:9,257:23,761,0:9,356,257:3,364,0:2,325,348:9,357,327,781,330,332,330:2,332,330,782,257:23,756,242:4,247,0:4,356,257:3,364,0:2,368,327,781,332,331:3,332,331:3,332,329,0:6,361,257:4,233,257:4,233,257:4,233,257:4,233,257:3,234:5,761,0,325,348:2,357,257:3,341,0:2,356,327,364,0:16,322,257:4,233,257:4,233,257:4,233,257:4,233,257:4,233,257:3,761,0,368,320:3,257:3,364,0:2,361,327,364,0:2,324,348:2,360:2,348:2,334,392,393,147F,0:2,325,357,257:4,233,257:4,233,257:4,233,257:4,233,257:4,233,257:3,761,0,368,320:3,257:3,364,339,0,363,331,329,0:2,363,331:3,782,327:2,364,391,780,0:3,361,327,257:4,233,257:4,233,257:4,233,257:4,233,257:4,233,257:3,761,0,361,320:3,257:3,359,339,0:10,333,331:2,329,404,405,0:3,322,327,257:4,233,257:4,233,257:4,233,257:4,233,257:4,233,257:3,761,0,324,348:17,323,0:9,333,331,257:4,233,257:4,233,257:4,233,257:4,233,257:4,233,257:3,761,0,363,331:2,332,331:2,332,331:2,332,331:2,332,331:2,332,331:2,362,0:3,325,348,334,0:2,149F,392,393,257:2,755,261:3,259,758,261:3,259,758,261:3,259,758,261,250,755,261:2,250,755,261:2,250,761,0:23,361,328,359,0:3,391,780,257:2,761,0:16,251,761,0:2,248,249,0:2,251,761,0:23,322,328,321,0:3,404,405,257:2,761,0:16,237,753,0:6,237,753,0:23,333,331,329,0:4,322,257:2,761,0:16,235,759,0:6,235,759,0:26,147F,0:2,325,357,261:2,229,0:16,258,754,0:2,239,240,0:2,258,754,0:4,135F,0:5,137F,0,135F,0:5,137F,0:10,356,320,242:5,247,0:13,248,249,0:2,248,249,0:2,248,249,0:2,392,393,0,136F,0:3,136F,0:3,136F,0:3,136F,0:11,356,320,257,0,257,236,234,761,0:25,391,779,0:25,361,320,257:3,233,257,753,0:25,404,405,0:3,134F,0:3,134F,0:3,134F,0:3,325,371,360:2,371,360:2,371,360:2,323,370,257,0,257,233,257,754,0:9,138F,0,239,240,138F,0,239,240,138F,0,239,240,138F,0,239,242:2,240,0:2,137F,0,135F,0:5,137F,0,135F,0:2,356,320,370,320:2,370,320:2,370,320:3,257,0,257,233,257,761,0:11,248,249,239,240,251,756,242:2,252,756,242:2,252,234:2,761,0:3,136F,0:3,136F,0:3,136F,0:3,356,320,370,320:2,370,320:2,370,320:3,257,0,257,233,257,756,247,0:12,258,754,251,234:8,257:2,761,0:15,356,320,370,320:2,370,320:2,370,320:3,257,0,257,261:3,229,0:12,251,761,248,245,261:2,245:2,261:2,245:2,261,249,0,134F,0:3,134F,0:3,134F,0:3,134F,0,333,332,331:2,332,331:2,782,370:4,257,0:18,251,761,0:12,135F,0:5,137F,0,135F,0:5,137F,0:7,368,370,320:3,257,0:18,237,753,0:34,356,370,320:3,257:3,242:3,247,147,0:6,392,398,393,0:2,258,754,0:34,356,370,320:3,257,0,257,236,234:2,761,0:7,410,388,779,0:2,251,761,0:2,239,242:2,240,0:2,239,242:2,240,0:5,260,0:5,260,0:5,260,0:4,356,370,320:3,257,0,257,233,257:2,753,0:7,391,388,780,260,0,251,761,0:2,235,236:2,760,0:2,235,236:2,760,0:5,260,0:5,260,0:5,260,0:4,356,370,320:3,257,0,257,233,257:2,754,147,0:6,410,388,779,260,0,248,249,0:2,248,245:2,249,0:2,248,245:2,249,0:5,260,0:5,260,0:5,260,0:4,356,370,320:3,257,0,257,233,257:2,761,0:7,404,403,405,260,0:20,260,0:5,260,0:5,260,324,348:2,371,357,370:4,257,0,257,233,257,256,756,238,757,242:3,241,238:5,757,242:4,241,238:2,757,242:2,241,238:2,757,242:4,241,238,757,242:3,241,238,757,242:3,247,324,348:3,371,348:3,371,348" id="1"/> <tiles values="0:223,28:2,0:50,62,0:131,40F,0:240,31F,0:51,34F,0:43,28:3,0:63,28:3,0:186,31F,0:60,34F,0:7,61,0:63,61,0:100,109,0:5,109,0:5,109,0:95,109:2,0:2,109:2,0:56,28:2,0:38,28:2,0:26,61,0:140,107,0,107,0:198,110,0:3,109:2,0:126,109:2,0:2,109:2,0:30,154,0:83,28:2,0:2,28:2,0:200,28:3,0:32,110,0:2,108,0:7,107,0,107,0:3,107,0,107,0:3,107,0:70" id="2"/> <tiles values="0:34,678,0,679,0:57,678,0,679,0:57,680,681,682,767:3,0:6,767:3,0:45,678,0,679,0:57,678,0,679,0:57,680,681,682,0:57,678,0,679,0:57,680,681,682,0:57,678,0,679,0,767:4,0:52,680,681,682,0:57,678,0,679,0:57,680,681,682,0:57,678,0,679,0:16,767:6,0:35,680,681,682,0:57,678,0,679,0:57,680,681,682,0:5,686,0:2,686,0:48,678,0,679,0:5,694,0:2,694,0:48,680,681,682,0:113,766,0:2,766,0:2,766,0:2,766,0:2,766,0:2,766,0:2,766,0:14,766,0:2,766,0:2,766,0:2,766,0:2,766,0:2,766,0:64,766:2,0:29,735,0:3,735,0:20,766:2,0:6,766:2,0:24,766,0:131,788,0:17,734,0:8,734,0:27,678,0,679,0:57,680,681,682,0:46,763,0:2,763,0:2,763,0:4,678,0,679,0:14,763:2,0:2,763:2,0:2,763:2,0:2,763:2,0,686,0:15,686,0:11,680,681,682,0:2,788,0:26,687,0:15,687,0:11,678,0,679,0:29,687,0:15,687,0:11,680,681,682,0:19,766,0:2,766:2,0:2,766:2,0,694,0:15,694,0:11,678,0,679,0:52,789,0:4,678,0,679,0:52,789,0:4,680,681,682,0:13,735,0:38,789,0:4,678,0,679,0:12,686,0:22,763,0:5,763,0:5,763,0:4,789,0:4,680,681,682,0:12,687,0:39,789,0:4,678,0,679,0:12,694,0:8,766:2,0:4,766:2,0:23,789,0:4,680,681,682,0:35,735,0:5,735,0:15,678,0,679,0:4,763,0:5,763,0:3,763,0:42" id="3"/> <tiles values="0:398,10,7:8,12,0:60,11,0:59,6,0:59,6,0:59,9,0:51,10,7:6,12,0:51,11,0:59,6,0:59,6,0:59,6,0:15,10,7,12,0:41,9,0:15,10,7,12,0:42,10,7:6,12,0:127,10,7,12,0:35,11,0:5,11,0:5,11,0:9,10,7,12,0:35,6,0:5,6,0:5,6,0:35,11:2,0:2,11:2,0:6,6,0:5,6,0:5,6,0:35,6:2,0:2,6:2,0:6,9,0:5,9,0:5,9,0:6,11,0,11,10,7,12,0:23,6:2,0:2,6:2,0:6,10,7,12,0,10,7,12,0,10,7,12,0,10,7,12,0:4,6,0,6,10,7,12,0:23,6:2,0:2,6:2,0:7,11,0,11,0,11,0,11,0,11,0,11,0,11,0:5,6,0,6,0:24,11:2,6:2,11:2,6:2,11:2,0:5,6,0,6,0,6,0,6,0,6,0,6,0,6,0:5,9,0,9,0:24,6:2,9:2,6:2,9:2,6:2,0:5,9,0,9,0,9,0,9,0,9,0,9,0,9,0:28,11:2,0:2,9:2,0:2,9:2,0:2,9:2,0:4,10,7,12,0,10,7,12,0,10,7,12,0,10,7,12,0:27,6:2,0:17,11,0,11,0,11,0,11,0,11,0,11,0,11,0:22,10,7:3,12,0,6:2,11:2,0:15,6,0,6,0,6,0,6,0,6,0,6,0,6,0:28,6:4,0:15,9,0,9,0,9,0,9,0,9,0,9,0,9,0:28,6:4,0:6,11:2,0:2,11:2,0:2,10,7,12,0,10,7,12,0,10,7,12,0,10,7,12,0:27,9:2,6:2,0:6,6:2,0:2,6:2,0:36,10,7:5,12,0:3,6:2,0:6,9:2,0:2,9:2,0:36,10,7:5,12,0:3,9:2,0:18,11,0,11,0:3,11,0,11,0:3,11,0:47,6,0,6,0:3,6,0,6,0:3,6,0:17,10,7:5,12,0:23,6,0,6,0:3,6,0,6,0:3,6,0:17,10,7:5,12,0:9,10,7:2,12,0:2,10,7:2,12,0:4,9,0,9,0:3,9,0,9,0:3,9,0:70" id="4"/> <tiles values="0:2400" id="5"/> <tiles values="0:398,115:4,1,115:2,0:481,115:5,1,115,0:1031,115:3,0:57,115:2,1,0:413" id="6"/> <sign text="Mr Merlock: test group a101 shows a complete addiction to product mini dinky doodle snack dogs. After only a few months of consuming them, many major organs are showing fatigue, with no direct evidence connecting this to the snack dogs brand. Passing regulations will be no problem." n="402" layer="6" width="0" height="0" face="coward" forced="false"/> <sign text="There are sentinel robots up ahead. These boys can be very tough to take out. Don't try and fight them in a small space. Use stealth so their green laser cannot scan you, and then let them go past you. Don't sweat it Taki, just play it cool and be patient, they are unshielded when they fire. You don't mind if I call you Taki? For such a young pup you're a pretty good ninja." n="891" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="Watch out, these white lab walls are a titanium hybrid. Super rock hard! You won't be able to fire a rope into them and they'll cut your rope if it touches them. " n="1986" layer="6" width="0" height="0" face="ninja" forced="false"/> <msg text="Warehouse 1"/> </root> ; level_data["a9647e9c9242b3f662ff9d49a41c3508"] = <root> <level width="151" height="65" start_x="147" start_y="1" compression="false" background="4" scroll="0"/> <tiles values="0:144,586,585,586,585,586,585,0:145,564,563,564,563,564,563,0:145,586,585,586,585,586,585,0:145,564,563,564,563,564,563,0:145,586,585,586,585,586,585,0:145,564,563,564,563,564,563,0:145,586,585,586,585,586,585,0:145,564,563,564,563,564,563,0:145,586,585,586,585,586,585,0:145,564,563,564,563,564,563,0:145,586,585,586,585,586,585,0:145,564,563,564,563,564,563,0:145,586,585,586,585,586,585,0:107,778:5,598,677:12,525,778:2,598,677:13,525,778:2,564,563,564,563,564,563,0:108,778:4,595,634:12,508,778:2,595,634:13,508,778:2,586,585,586,585,586,585,0:108,778:4,598,677:12,525,778:2,598,677:13,525,778:2,564,563,564,563,564,563,0:108,778:4,595,634:12,508,778:2,595,634:13,508,778:8,0:108,778:4,0:33,564,563,564,563,564,563,0:108,778:3,0:148,778:3,0:148,778:3,0:148,778:3,0:148,778:3,0:148,778:4,0:38,778,0:108,778:4,598,677:14,525,778:2,598,677:15,525,778:4,0:108,778:4,595,634:14,508,778:2,595,634:15,508,778:4,0:108,778:4,598,677:14,525,778:2,598,677:15,525,778:4,0:108,778:4,595,634:14,508,778:2,595,634:15,508,778:4,0:147,778:4,0:147,778:4,0:147,778:3,0:148,778:3,0:148,778:4,0:146,778:5,0:143,778:9,0:142,533,0:5,534,778,0:143,677:6,525,778,0:143,634:6,508,0:146,532,0:150,534,0:147,522,535,0:150,522,535,0:150,522,0:2,534,0:450,535,0,532,0:148,533,0,534,0:298,522,0:149,522,533,0:149,533,0:233,506:3,0:36,778:4,0:5,778:5,0:4,778:4,0:90,506:3,0:37,524,507,0:7,524,507,0:7,524,507,0:10,532,0:80,506:4,0,506:9,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,533,0:4,676,633,0:7,676,633,0:7,676,633,0:2,670,778:2,0:5,534,0:55,778,506:14,0:10,506:14,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778,0:5,676,633,0:7,676,633,0:7,676,633,0:3,778:4,598,677:3,0:54,506:17,0:9,506:2,0:3,506:9,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,586,585,778,0:5,676,633,0:7,676,633,0:7,676,633,0:3,778:4,595,634:3,0:8,586,585,0:43,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506,0:8,506:14,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,564,563,778,498,0:4,597,594,0:7,597,594,0:7,597,594,0:3,778:4,646,0:10,534,564,506:43,778,506:19,0:8,506:5,0:35,778:2,0:16,778:2,0:3,778:2,0:13,534,586,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,509,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506:3,0:8,506:4,0:35,524,507,0:7,524,507,0:7,524,507,0:3,778,0:15,564,506:70,0:2,506:4,0:35,597,594,0:7,597,594,0:7,597,594,0:2,668,778,0:15,586,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506:15,509,506,509,506,509,506:11,509,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506,509,506:8,0:2,506:3,0:74,532,564,506:65,0:2,506:8,0:74,778:3,0:4,778:2,0,506:56,0:3,506:8,0:74,778:2,0:12,684,685:2,683,0:11,684,685:2,683,0:12,684,685:2,683,0:14,684,685:2,683,0:83" id="0"/> <tiles values="0:133,320:11,376,378,0:3,376,377,0:133,320:11,376,378,0:3,376,377,0:133,320:11,376,378,0:3,376,377,0:108,320:36,376,378,0:3,376,377,0:102,320:42,376,378,0:3,376,377,0:96,320:48,376,378,0:3,376,377,0:95,320:49,376,378,0:3,376,377,0:95,320:49,376,378,0:3,376,377,0:95,320:49,376,378,0:3,376,377,0:95,320:49,376,378,0:3,376,377,0:95,320:49,376,378,0:3,376,377,0:95,320:15,326:2,320:6,326:2,320:6,326:2,320:6,326:2,320:6,326:2,379,381,0:3,379,380,0:95,320:11,781,331:38,362,0:3,363,782,0:95,320:11,364,339,0:42,356,0:94,320:12,364,0:43,356,0:94,320:12,364,0:43,356,0:94,320:12,364,0:43,356,0:92,320:14,364,0:3,325,348:39,357,0:92,320:14,364,0:3,368,326,320:6,326:2,320:6,326:2,320:6,326:2,320:6,326:2,320:7,0:92,320:14,364,0:3,368,320:40,0:92,320:14,364,0:3,368,320:40,0:93,320:13,364,0:3,368,320:40,0:93,320:13,364,0:3,368,326:2,320:6,326:2,320:6,326:2,320:6,326:2,320:6,326:2,320:6,0:94,320:12,364,0:3,333,330:39,782,0:94,320:12,364,0:6,339,0:3,339,0:3,339,0:3,339,0:3,339,0:3,339,0:3,339,0:3,339,0:3,339,0:4,356,0:94,320:12,364,0:43,356,0:94,320:12,364,0:43,356,0:94,320:12,364,0:43,356,0:94,320:12,358,360:38,334,339:2,0:2,356,0:95,320:16,326:2,320:6,326:2,320:6,326:2,320:6,326:2,320:6,326:2,364,0:3,325,357,0:95,320:50,364,0:2,339,368,320,0:95,320:50,364,0:2,339,368,320,0:95,320:50,364,0:3,333,782,0:95,320:46,781,330:3,329,339:2,0:2,356,0:95,320:46,364,0:8,356,0:98,320:43,364,0:8,356,0:98,320:43,364,0:8,356,0:102,320:39,364,0:3,325,360:4,357,0:102,320:39,364,0:2,339,368,320:5,0:102,320:39,364,0:3,368,320:5,0:99,320:42,364,0:3,368,320:5,0:99,320:42,358,334,0:2,333,330,782,320:3,0:64,320:78,358,334,0:3,368,320:3,0:64,320:79,364,0:3,368,320:3,0:64,320:79,364,0:3,368,320:3,0:26,320:5,0:8,320:5,0:11,320:88,364,339,0,339,368,320:8,0:10,320:128,364,0:3,368,320:146,364,0:3,368,320:145,781,329,0:3,368,320:144,781,329,0:2,325,348,357,320:144,364,0:3,368,320:78,781,330:3,782,320:34,781,330:4,782,320:3,781,330:4,782,320:3,781,330:3,782,320:6,364,0:3,368,320:78,364,0:3,368,320:34,364,0:4,356,320:3,364,0:4,356,320:3,364,0:3,356,320:6,364,0:3,368,320:78,364,0,321,0,368,320,781,330:32,329,0:4,333,330:3,329,0:4,333,330:3,329,0:3,333,330:3,782,320:2,364,0:2,339,368,320:54,781,330:13,782,320:9,364,0,364,0,333,330,329,0:58,333,330:2,329,0:3,368,320:53,781,329,0:13,333,782,320:8,364,0,359,0:26,415,0:37,339,0:4,368,320:52,781,329,0:15,333,782,320:7,364,0,324,360:3,323,0:2,324,323,0:56,339,0:4,368,320:51,781,329,0:17,333,782,320:6,364,0:5,339,0:2,339:2,0:61,368,320:5,330:2,362,363,330:42,329,0:19,368,320:6,358,334,324,360,323,0,325,348:34,334,324,348,323,0:4,324,348:2,323,0:5,324,348:3,323,0:2,325,348:6,357,320:5,0:66,333,330:4,782,320:2,364,0:4,368,320:34,364,0:23,356,320:12,0:21,415,0:30,416,0,416,0:11,322,0:4,333,330,782,364,0,324,323,325,357,320:34,364,0:23,356,320:12,0:36,416,0:29,361,0,325,334,0:3,368,364,0:3,368,320:35,358,360:23,357,320:12,0:12,415,0:43,415,0:11,368,364,0,321,0,333,329,324,323,0,368,320:72,360:2,323,324,360:4,323,324,360:6,323,324,360:13,323,324,360:14,323,324,360:19,357,364,0,359,0:6,368,320:72,314,320,326:2,320:11,0:4,320:11,0:4,320:12,0:4,320:14,0:4,314,358,360:8,357,320:72" id="1"/> <tiles values="0:2091,36,0:6,36,0:144,36,0:4,36,0:146,36,0:2,36,0:127,156,61,156:2,0,156,0,156:3,0,156:2,125,156,60,0,125:2,0:11,127,0:4,28:5,0:259,70I(0):3,0:148,70I(0):3,0:148,70I(0):3,0:148,70I(0):3,0:461,109:3,0,109:3,0:5,109:3,0:5,109:3,0:127,109:9,0:3,109:13,0:6,107,0:119,109:9,0:3,109:13,0:6,107,0:109,61,0:8,155,109:3,155,109:3,155:2,125:3,109:3,155,109:3,155,109:3,155:2,125:3,155:2,61,107,0:150,42,0:149,42,0:149,42,0:151,42,0:149,42,0:152,42,0:447,107,0,28:3,0:146,107,0:301,43,0:149,28,43,0:150,43,0:152,43,0:150,43,0:150,43,28,0:149,43,0:150,43,0:150,43,0:150,43,0:148,43,0:150,43,0:150,43,0:81,111:3,0:66,43,28,0:80,111,0,111,0:148,111,0,111,0:148,111,0,111:3,0,109:2,28,61,0:39,69I(0):2,0:7,69I(0):2,0:77,156:3,0:11,111,0:5,109:2,0:41,69I(0):2,0:7,69I(0):2,0:91,61,111:4,0:7,156:4,0,156:6,0,156,0:7,28,0,28,125,0,125,156:3,0,156,0:5,125:2,0:7,125:2,0:5,28:5,61,28,0:55,109:11,0:18,111,0:95,36,0,36,0,36,0,36,0,36,0,36,0,36,0,36,109:22,0:15,111:4,0:95,36,0,36,0,36,0,36,0,36,0,36,0,36,0,36,109:22,0:8,111:3,0:4,111,0:39,61,28,156:2,125,156:2,125,59,156:4,0,156,0:2,59,0:2,156,28:2,0:36,36,0,36,0,36,0,36,0,36,0,36,0,36,0,36,0:32,111:3,0:2,111:3,0:76,792,0:7,156:12,0,156:25,61,156:2,125:8,61,0:9,111,0,111,0:4,111,0:143,61,0,111:6,0:73,157F,0:150" id="2"/> <tiles values="0:1922,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:721,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:869,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:717,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:2,698:2,0:302,723,0:3,727,0:146,724,0:3,728,0:595,723,0:8,727,0:141,724,0:8,728,0:1048,686,723,0:3,727,686,0:144,687,724,0:3,728,687,0:144,687,0:5,687,0:144,687,723,0:3,727,687,0:144,694,724,0:3,728,694,0:529,767,0,767,0:37,725,726,0:7,725,726,0:259,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:2,725,726,0:4,767,0:4,767,0:3,767,0:4,767,0:3,767,0:3,767,0:66,767,0,767,0,767,0,767,0,767,0,767,0,767,0:27,269,268,267,0:4,274,273,0:142,264,263,285,281,0:3,286,277,0:46,727,0:53,767,0:15,767,0:10,698,0,698,0:7,266,265,284,276,275,269,268,267,274,273,0:2,269,268,267,284,276,275,0:4,266,265,0:36,728,0:89,281,283,282,272,271,280,264,263,285,286,277,281,0,264,263,285,272,271,270,278,0:3,283,282,0:42,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0,766,0:28,698,0,698,0:4,697,722,0:2,697,722,0:2,697,722,0:2,697,722,0:2,697,722,0:2,697,722,0:2,697,722,0:9,790,0:4,789,0:2,790,0:5,789,0:3,790,0:32,269,268,267,0:2,266,265,269,268,267,266,265,274,273,0:8,266,265,274,273,0:97,684,685:3,683,0:23,264,263,285,281,0,283,282,264,263,285,283,282,286,277,280,0:6,281,283,282,286,277,278,0:9,281,0:23,698,0:10,684,685:4,683,0:4,684,685:4,683,0:61,266,265,0,284,276,275,284,276,275,284,276,275,269,268,267,284,276,275,0:5,266,265,284,276,275,284,276,275,284,276,275,0:2,269,268,267,274,273,0:59,697,722,0:7,697,722,0:7,697,722,0:30,281,283,282,280,272,271,278,272,271,270,272,271,280,264,263,285,272,271,270,278,0:3,280,283,282,272,271,270,272,271,270,272,271,270,278,0,264,263,280,286,277,0:20,698,0:41,684,685:3,683,0:4,684,685:3,683,0:22,701:2,0:4,701:2,0:5,711,712,711,712,0:11,711,712,711,712,0:12,711,712,711,712,0:14,711,712,711,712,0:91,701:2,0:3,701,0:6,701,0:3,701,0:3,701,0:6,701,0:3,701,0:3,701,0:8,701,0:3,701,0:3,701,0:9,708,695,0,708,695,0,708,695,0:73" id="3"/> <tiles values="0:3742,11:3,0,11:3,0:5,11:3,0,11:3,0,11:3,0:127,11,6:3,11,6:3,11,0:3,11,6:3,11,6:3,11,6:3,11,0:6,11,0:119,6:3,9,6:3,9:2,0:3,6:3,9,6:3,9,6:3,9:2,0:6,6,0:119,9:3,0,9:3,0:5,9:3,0,9:3,0,9:3,0:8,9,0:150,10,12,0:147,10,0,12,0:148,10,0:150,10,12,0:149,10,0,12,0:150,10,12,0:295,11,0:150,6,0:150,9,0:2503,11:2,0:149,6:2,0:149,9:2,0:118,11:11,0:54,8,0,8,0:83,6:11,0:114,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,11:11,6:11,0:114,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,6:22,0:57,8,0:2,8,0:2,8,0:2,8,0:2,8,0:2,8,0:2,8,0:38,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,9:21,6,0:544" id="4"/> <tiles values="0:146,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:109,12:32,0:7,11:4,0:108,11:3,0:36,11:4,0:108,11:3,0:36,11:4,0:108,11:3,12:29,0:7,11:4,0:108,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,11:3,0:148,10:6,0:2,10:2,0:2,10:2,0:2,10:2,0:2,10:2,0:2,10:2,0:2,10:2,0:2,10:2,0:2,10:2,0,9,10:3,0:108,11:3,0:35,10:2,0:2,11,0:108,11:3,0:39,11,0:108,11,10:40,0,11,0:149,11:2,0:147,11,0,11,0:148,11:2,0:149,11:2,0:149,11,10:2,0:150,11,0:144,12:4,0:147,11,0:150,11,0,11,12,0:147,11,0,11,0:1810,12,11,0:148,12,0,11,0:148,11,0,11,0:80,12:2,9,0:36,12:3,9,0:5,12:3,9,0:5,12:2,9,0:8,11,0,11,0:80,11,0,9,0:36,11,0:2,9,0:5,11,0:2,9,0:5,11,0,9,0:8,11,0:82,11,0,9,0:3,11,12:23,0:13,12:5,0:4,12:5,0:3,12:3,9,0:4,11,0,10,0:56,11:13,0:11,11,0,12:4,0:2,12:2,0:54,12:2,0,11,0:58,11,0:13,11,0:10,11,0:5,9,12,0:2,9,0:56,10,0:57,11,0:15,11,0:9,11,10:4,0,12:2,0:2,12:20,0:10,12:4,0:4,12:4,0:5,12:4,0:3,12:2,0:58,11,0:17,11,0:12,11,0:39,9,0:2,12,0:8,12,0:6,12,0:13,11:48,0:17,11,0:9,12:3,11,0:36,10:3,0:4,11:4,0:5,11:4,0:2,11,0:78,11,0,12:3,9,0:4,11,0:39,9:3,12:19,11,0:78,11,0,11,0:2,9,12,9,0:2,11,10:2,0:115,12:24,0,11,0:2,9,0,9,0:4,11,0:143,12,0,12:5,11,0:224" id="5"/> <tiles values="0:2104,115:3,0:148,115:3,0:148,115:3,0:148,115,1,115,0:7255" id="6"/> <sign text="Akuma's guard arent under Merlock's control anymore Takeshi, let's crack some robot heads and get to that sub!!" n="2558" layer="6" width="0" height="0" face="ninja" forced="false"/> <msg text="The Escape"/> </root> ; level_data["b766efda7aad0f26e6aa8c93f0f93a30"] = <root> <level width="73" height="30" start_x="4" start_y="20" compression="false" background="0" scroll="0"/> <tiles values="506:3,0:35,611:2,0:2,506,0:3,778:7,0:5,611,0:8,611,0:3,506,0,506:3,0,506:2,629,627,628,630,629,627,0:26,611,590,591:2,506,591:3,778:7,620,0:4,611,0:8,611,0:3,506,0,506:3,0,506:2,612,609,610,613,612,609,0:26,590,591:3,506,591,491,668,778:8,535,0:3,611,0:8,611,0:3,506,0,506:3,0,506:2,628,630,629,627,628,630,0:30,506,778:12,620,0:2,611,0:8,611,0:3,506,0,506:3,0,506:2,610,613,612,609,610,613,0:29,668,778:6,511,622,778:6,0:2,611,0:8,611,0:3,506,0,506:3,0,506:2,629,627,628,630,629,627,0:28,619,778:8,0,534,778:5,591:2,589,0:8,611,0:3,506,0,506:6,612,609,610,613,612,609,0:27,668,778:9,0:2,510,778:4,591:2,491,0:8,590,591:2,0,506,0,506:3,0,506:2,628,630,629,627,628,630,629,627,0:29,506,778:4,506,535,506:2,0,506,778:2,0:2,611,0:12,506,0,506:3,0,506:2,610,613,612,609,610,613,612,609,0:29,506,778,506:4,778,506:2,0,506,778,621,0:2,611,0:2,492,591:8,0,506,0,506:3,0,506:2,625,614,628,630,629,627,628,630,0:28,506:2,778:4,506,778:2,506:3,533,0:3,611,0:2,611,0:9,506,0,506:3,0,506:3,608,610,613,612,609,610,613,0:28,506:2,778:4,506,778:2,506:2,511,0:13,492,591:2,0,506,0,506:3,0,506,523,506:2,625,614,628,630,629,627,0:21,506,0:2,506,0:2,506:6,778,506,778:2,506:3,620,0:12,611,0:3,506,0,506:3,0,506,523,506:3,608,610,613,612,609,0:19,506:2,523,506:2,523,506:2,523,506:3,0:2,506:2,0,506:2,0,506:2,535,0:2,611,0:2,611,0:9,506,0,506:3,0,506,523,506:4,625,614,628,630,0:19,506:2,523,506:2,523,506:2,523,506:3,0:2,506:2,523,0:4,506:2,620,0,590,591,491,611,0:9,506,0,506:3,0,506,523,506:5,608,610,613,0:19,506:2,523,506:13,523,506:3,0:2,506:2,535,0:2,611:2,0:5,506:2,0:2,506,0,506:3,0,506,523,632,506:5,625,614,0:19,506:2,523,506:2,523,506:2,523,506:2,523,506:4,523,506:3,0:2,506:3,0:3,611,0:2,619,506,778:3,0:2,506,0,506:3,0,506,523,626,616,506:5,608,0:21,506:3,523,506:2,523,506:2,523,506:4,523,506:3,0:8,590,591:2,778:5,0:2,506,0,506:3,0:2,523,629,627,632,506:5,0:3,506:3,0:2,506:4,0:2,506,778,506:3,0:2,506:3,523,506:2,523,506:2,523,506:8,0:8,591:3,778:5,0:2,506,0,506:3,0:2,523,612,609,626,616,506:4,0:2,506:4,0:2,506:4,0:2,506,778:3,506:2,523,506,0:4,506:4,523,506:4,523,506:4,0:9,619,778:3,506:2,0:2,506,0,506:3,0,506,523,628,630,629,627,632,506:9,0:2,506:4,0:2,506,778:3,506:2,523,506,0:5,506:2,0:3,506:3,523,506:4,0:9,506,778:3,506,0:3,506,0,506:5,523,610,613,612,609,626,616,506:8,0:2,506:7,778:3,506:2,523,506,0:5,506:2,0:3,506:3,523,506:3,0:10,506,778:3,506,0:3,506,0,506:3,0:2,629:2,627,628,630,629,627,632,506,0:2,506:2,615,614,506:2,610,613,610,613,610,613,626,616,778:2,0:2,523,506,0:4,506:3,0:3,506:7,0:10,506,778:3,506:2,0:2,506,0,506:3,0:2,612:2,609,610,613,612,609,626,616,506:3,631,629,627,628,630,629,627,628,630,629,627,628,630,632,778,0:2,523,506:3,523,506:10,523,506:4,0:9,506,778:3,506:5,0,506:3,0:3,628,630,629,627,628,630,629,627,523:2,615,614,612,609,610,613,612,609,610,613,612,609,610,613,626,616,506:2,523,506:3,523,506:10,523,506:4,0:12,506,523:2,506,0,506,0,506:3,0:3,610,613,612,609,610,613,612,609,506:2,629,627,628,630,629,627,628,630,629,627,628,630,629,627,628,630,506:2,523,506:3,523,506:10,523,506:3,0:14,523:2,506,0,506,0,506:3,0:6,506,629,627,628,630,523:2,612,609,610,613,612,609,610,613,612,609,610,613,612,609,610,613,0:5,506,523,506:4,0:3,506:3,523,506,0:16,506:5,0,506:3,0:6,506,612,609,610,613,506:2,628,630,629,627,628,630,629,627,628,630,629,627,628,630,628,630,506:2,0:4,523,506:4,0:4,506:2,523,506,0:16,506,0,506,0,506,0,506:3,0:7,628,630,506,0:2,506,610,613,612,609,610,613,612,609,610,613,612,609,610,613,610,613,506:4,0:2,523,506:4,0:3,506:3,523,506,0:20,506,0,506:3,0:7,610,613,506,0:3,506:20,0:2,523,506:10,523,506,0:20,506,0,506:3,0:13,506:20,0:2,506,0:10,506,0:21,506,0" id="0"/> <tiles values="257:3,755,261:7,250,257:14,289:6,761,0:37,257:4,0,257,761,0,176,0:2,176,0:2,251,257:19,256,761,0:37,257:4,0,257,761,0,176,0:2,176,0:2,251,257:19,256,761,0:37,257:4,0,257,761,0,176,162,0,176,162,0,251,234:14,289:6,761,0:37,257:4,0,257,761,0,176,0:2,176,0:2,251,257:14,289:6,761,0:37,257:4,0,257,761,0,173,0:2,173,0:2,251,257:19,256,761,0:37,257:4,0,257,373,0:7,375,257:19,256,761,0:37,257:4,0,257,761,0:6,260,248,261:2,250,233:11,289:6,761,372,246,242:3,241,757,242:3,247,0,260,0:2,260,0,246,242:2,247,0:16,257:4,0,257,761,0:10,251,257:11,289:6,756,242,252,236:6,755,261,229,0,170,174:2,162,0,228,261,250,761,0:16,257:4,0,257,761,0,178,0:8,251,257:16,256,257:9,761,0:10,228,229,0:16,257:4,0,257,761,174:4,162,373,0:3,375,251,233:26,761,0:15,246,238,242:2,238,247,0:7,257:4,0,257,761,0:9,246,252,234:3,289:2,234:3,289:2,234:3,289:2,257:3,755,261,245,261:2,245,253,261,229,0:15,228,245,261:2,245,229,0:6,372,257:4,0,257,761,0:9,251,234,257:3,289:2,257:3,289:2,257:3,289:2,257:3,761,0:10,246,242:2,241,757,242,241,757,242:2,247,0:9,246,242:2,238,242:2,257:4,0,257,761,0:9,251,257:4,289:2,257:3,289:2,257:3,289:2,257:3,753,0:10,228,261:2,259,758,261,259,758,261,250,761,0:9,251,234:2,289,234:2,257:4,0,257,761,0:9,251,257:4,289:2,257:3,289:2,257:3,289:2,257:3,754,0:4,170,174:4,171,174,162,0:7,251,761,0:9,228,261:2,245,261,250,257:4,0,257,756,247,0:7,246,252,257:4,289:2,257:3,289:2,257:3,289:2,257:3,761,0:19,251,761,0:2,246,242:2,240,0:4,173,0:3,251,257:4,0,257,234,761,0:7,251,234,257:3,755,261:2,250,755,261:4,250,755,261:2,250,257:2,756,242,247,0:17,251,756,242:2,252,236:2,761,0:8,251,257:4,0,257,233,761,0:7,248,253,250,755,261,249,0:2,251,761,0:4,251,761,0:2,248,261:4,229,0:12,178,260,0:3,251,234:4,257:2,761,0:8,251,257:4,0,257:2,761,0:9,251,761,0:4,251,761,0:4,251,761,0:7,246,242:4,247,260,0:6,175,0:4,237,257:6,756,242,240,373,0:3,375,239,252,257:4,0,257,261,229,0:9,237,753,0:3,246,252,756,247,0:2,246,252,756,247,0:6,251,234:4,761,260,246,242:3,247,260,175,0:3,260,258,234:8,761,178,0:3,178,251,257:5,0:13,258,754,0:3,251,234:2,761,0:2,251,234:2,761,0:3,246,247,0,251,257:4,761,374,251,234:3,761,374,175,0:4,251,257,256,257:4,256,257,761,173,0:3,173,251,257:7,242:3,247,0:7,251,761,0:3,228,245:2,229,0:2,228,245:2,229,0:3,251,761,0,228,253,261:3,229,0,228,250,289,755,229,0,173,260,0:3,251,257:8,761,373,0:3,375,228,250,257,0,257:2,0,257,236:3,761,0:7,248,229,0:16,251,761,0:9,235,257,759,0:7,237,257,256,257:4,256,257,761,260,0:5,251,257,0,257:2,0,257:4,761,246,247,0:23,237,753,0:9,235,257,759,0:6,260,258,257:8,756,242:3,247,0:2,251,257,0,257:2,0,257,233:3,761,251,761,0:23,258,754,0:9,235,257,759,0:6,260,251,234:12,761,0:2,228,257,0,257:2,0,257:4,756,252,761,246,247,0:21,251,756,242:3,247,0,246,247,0,246,252,289,756,247,0,178,0,246,242:2,252,257:12,761,0:5,257:2,0,257,233:3,236:2,761,251,761,0:5,246,242,247,0:13,248,261:3,250,761,0,251,761,0,251,234,257,234,761,0,175,0,251,236:3,233,289:2,233:2,289:2,233:5,756,238,242,238,257:4,0,257:2,289,257,289,257,756,252,756,242:4,247,228,261,229,0:12,170,171,174:2,162,251,761,0,228,229,372,228,261:3,229,372,173,0,251,257:4,289:2,257:2,289:2,257:5,234,289,234,289,234:3,257,0,257,233,289,233,289,233,236:7,761,373,0:8,375,260,373,0:7,375,251,761,0:12,251,257:4,289:2,257:2,289:2,257:6,289,257,289,257:7,289,257,289,257:8,761,373,0:8,375,260,373,0:7,375,251,756,238,242:10,238,252,233:4,289:2,233:2,289:2,233:6,289,233,289,257:3" id="1"/> <tiles values="0:33,20,0:35,20,0:36,20,0:35,20,0:9,28,0:2,28,0:23,20,0:35,20,0:36,20,0:35,20,0:36,20,0:35,20,0:36,20,0:35,20,0:7,19:7,0:22,20,28:3,0:6,28,0:6,28,0:18,20,0:50,61,0:21,20,0:72,20,0:9,28,0:6,28,0:45,57,0:9,20,0:13,19:3,0:56,20,0:48,57,0:6,57,0:13,57,0:118,57,0:90,61,0,57,0:68,28,0:65,61,0:61,59,0:13,108,0:40,28,0:2,28,0:2,28,0:2,28,0:35,19:3,0:80,154,0:112,21,0:5,21,0:3,108,0:12,19:3,0:47,21,0:5,21,0:66,21,0:5,21,0:66,21,28,0:3,28,21,0:66,21,0:5,21,0:23,62,0:42,21,0:5,21,0:115,18:8,0:3,18:7,0:3,28,0,108F,0,108F,0,108F,0:4,28,0:40,18:8,0:3,18:7,0:38" id="2"/> <tiles values="678,0,679,0:67,678,0,679,680,681,682,0:67,678,0,679,678,0,679,0:2,703,0:2,703,0:61,680,681,682,680,681,682,0:2,703,0:2,703,0:61,678,0,679,678,0,679,0:2,703,0:2,703,0:61,680,681,682,680,681,682,0:67,678,0,679,678,0,679,0:67,680,681,682,680,681,682,0:31,699,0:8,699,0,699,0:2,699,0,699,0:19,678,0,679,678,0,679,0:42,706,0:2,706,0:21,680,681,682,680,681,682,0:67,678,0,679,678,0,679,0:2,706,0,706,0:50,763,0:2,763,0:8,680,681,682,680,681,682,0:32,766,0:2,766,0:2,766,0:16,766,0:2,766,0:8,678,0,679,678,0,679,0:51,734,0:12,763,0:2,680,681,682,680,681,682,0:47,766,0,766,0:17,678,0,679,678,0,679,0:35,766,0:2,766,0:2,766,0:22,766,0:2,680,681,682,680,681,682,0:62,736,0:4,678,0,679,678,0,679,0:16,765,0:2,765,0:2,765,0:2,765,0:6,699,0:34,680,681,682,680,681,682,0:46,703,0:10,788,0:9,678,0,679,678,0,679,0:37,699,0:21,699,0:5,699,0,680,681,682,678,0,679,0:39,699,0:3,699,0:5,703,0:17,678,0,679,678,0,679,0:29,699:2,0:36,680,681,682,680,681,682,699,0:2,699,0:13,766:2,734,0:3,766:2,734,0:7,766,0:3,766,0,766,0:3,766,0:2,703,0:20,678,0,679,678,0,679,0:67,680,681,682,678,0,679,0:5,699,0:23,735,0:19,703,0:13,699,0:3,678,0,679,680,681,682,0:49,703,0:17,678,0,679,678,0,679,0:7,699,0:59,678,0,679,680,681,682,0:13,699,0,692,0:48,763,0,763,680,681,682,678,0,679,0:28,699,0:12,734,0:25,678,0,679,680,681,682,0:13,691,0:8,691,0,691,0:7,691,0:34,680,681,682,678,0,679,0:35,699,0:10,699,0:20,678,0,679" id="3"/> <tiles values="0:716,8,0:130,10,7,12,0:4,10,8,12,0:12,8,0:117,10,7,12,0:91,8,0:196,8,0:12,10,7,12,0:289,10,7,12,0:497,10,7:8,12,0:97" id="4"/> <tiles values="0:2190" id="5"/> <tiles values="0:1068,115:4,0:69,115:4,0:69,115:3,1,0:69,115:2,0:37,115:2,0:32,115:2,0:37,115:2,0:71,115:2,0:71,115:2,0:71,115:2,0:71,115:4,0:69,115:4,0:69,115:4,0:69,115,1,115:2,0:276" id="6"/> <sign text="Takeshi, SWAT units have been sent to look for you. If you use stealth they won't see you. If you must fight then be careful, they have cybernetically enhanced accuracy and attack speed." n="1217" layer="6" width="0" height="0" face="ninja" forced="true"/> <sign text="These hot laser beams are deadly. Also watch out for signs highlighting dangerous drops, falling will mean certain death!" n="1911" layer="6" width="0" height="0" face="ninja" forced="true"/> <msg text="Barracks"/> </root> ; level_data["c2e217d5738560bb4f186b4fd4e28501"] = <root> <level width="60" height="35" start_x="48" start_y="25" compression="false" background="0" scroll="0"/> <tiles values="588,587,0:2,588,587,588,587,778:26,0:26,570,565,0:2,570,565,570,565,621,0:7,778:3,0:7,778:3,0:31,570,565,0:2,588,587,588,587,0:8,778:3,0:7,778:3,0:31,588,587,0:2,588,587,570,565,0:8,778:3,0:7,778:3,0:7,506:3,0:21,570,565,0:2,588,587,588,587,0:8,778:3,0:7,778:3,0:6,670,778:3,669,0:20,588,587,0:2,570,565,570,565,0:8,778:3,0:7,778:3,0:7,778:3,0:9,661,0:11,570,565,0:2,778:4,598,677:6,525,778:3,598,677:5,525,778:3,598,677:5,525,778:3,598,677:7,525,0:12,588,587,0:2,778:4,595,634:6,508,778,636,778,595,634:5,508,778,636,778,595,634:5,508,623,636,778,595,634:7,508,0:12,570,565,0:2,588,587,588,587,0:52,588,587,0:2,570,565,570,565,0:40,778,0:11,570,565,0:2,588,587,588,587,0:8,778:3,0:7,778:3,0:7,778:2,506,0:9,778,0:11,588,587,0:2,570,565,570,565,0:7,588,587,588,587,778,0:6,778:3,620,0:5,778,588,587,588,587,0:8,778,0:11,570,565,0:2,778:4,0:7,662,565,570,565,662,0:6,778,588,587,778,0:5,662,570,565,570,565,0:8,778,0:11,588,587,0:2,778:4,0:7,588,587,588,587,778,0:6,778,570,565,0:6,778,588,587,588,587,0:8,778,0:11,570,565,0:2,588,587,588,587,0:7,570,565,570,565,0:7,778,588,587,0,535,0:5,570,565,570,565,0:8,778,0:11,588,587,0:2,570,565,570,565,0:7,778:5,0:4,661,778:2,570,565,0:6,778,506:4,0:8,778,0:11,570,565,588,587,588,587,588,587,0:7,648,778,636,778,647,0:3,588,587,588,587,778:2,588,587,570,0:3,648,778,636,778,647,0:8,778:2,587,778,0:8,588,587,570,565,570,565,570,565,646,0:7,778:3,0:4,570,565,570,565,778:2,570,565,570,0:4,778:3,0:9,778:2,565,778,0:8,570,565,588,587,588,587,588,587,659:2,778,0:4,645,778:3,646,0:3,570,565,778:4,660,0,648,778,0:2,645,778:3,646,0:3,778,0:4,778:2,587,778,0:10,570,565,570,565,570,565,647,0:6,778:5,0:4,778:5,0:6,778,506:4,646,0,645,636,0:4,778:2,565,778,0:9,778,0:13,778,588,587,588,587,0:3,481,662,778,588,587,588,587,0:5,778:2,587,588,587,659:3,778,0:4,778:2,587,778,0:9,778,0:13,778,570,565,570,565,0:4,481,778,570,565,570,565,0:5,534,778,565,570,565,660,0,648,660,0:4,778:2,565,778,0:9,778,0:13,663,588,587,588,587,0:5,662,588,587,588,587,646,0:5,778,587,588,587,0:8,778:2,587,778,0:9,778,0:13,778,570,565,570,565,0:5,662,570,565,570,565,778,0:5,778,565,570,565,0:8,778:2,565,778,0:9,778,0:14,778:3,660,0:5,778:5,635,0:5,778,587,588,587,0:8,778:2,587,778,0:9,778,0:4,588,587,0:8,778:3,0:6,534,778,533,0,648,778,646,0:4,778,565,570,565,0:7,645,778:2,565,778,0:9,778,0:4,570,565,778,0:17,635,0:3,778,659,0:3,495,778,587,588,587,646,0:6,506:4,0:10,778,0:4,588,587,778,0:16,645,778,0:3,481,533,0:3,778:2,565,570,565,0,778,0:5,481,778:2,506,778,0:9,778,0:4,570,565,660,0:15,659:2,778,0:8,778:2,587,588,587,778,660,0:6,534,778,506,778,0:9,778,0:4,588,587,0:17,534,660,0:8,778,570,565,570,565,0:4,778:6,506,778,0:9,778,0:4,570,565,535,0:25,532,778,0:11,661,778:2,506,778,0:9,778,0:4,778:3,535,0:23,532,778:2,0:11,778:3,506,778,0:9,778,0:4,778:5,620,0:18,778,0:2,778:3,0:11,778:3,506,778,0:9,778,0:4,588,587,588,587,588,778,620,0:8,587,588,587,588,0:5,588,587,588,587,588,587,0:11,778:3,506,778,0:9,778,0:4,570,565,570,565,570,778:2,620,0:6,570,565,570,565,570,0:5,570,565,570,565,570,565,0:11,778,0,778,506,778,0:8" id="0"/> <tiles values="327:3,364,379,380:27,381,376,378,368,327:25,0,327,364,0:29,376,378,368,327:25,0,327,364,0:29,376,378,368,327:25,0,327,358,360,334,0:27,379,381,333,330:13,327:12,0,327,781,362,359,0:43,327:12,0,327,364,0:45,327:12,0,327,353,0:42,363,330,782,327:12,0,327,353,0:12,370,0,370,0:7,370,0,370,0:7,370,0,370,0:9,356,327:12,0,327,353,0:44,356,327:12,0,327,353,0:44,333,327:12,0,327,353,0:11,325,360:3,334,0:5,382,384,382,383,384,0:4,339,325,348:3,334,0:8,382,327:12,0,327,353,0:11,361,0:3,359,0:5,376,378,379,380,381,0:5,361,0:3,364,0:8,376,327:12,0,327,353,0:21,376,378,0:2,321,0:9,364,0:8,376,327:12,0,327,353,0:11,322,0:3,321,0:5,376,378,0:2,353,0:5,324,360,323,0,364,0:8,376,327:12,0,327,353,0:11,368,382,383,384,353,0:5,376,378,0:2,353,0:5,382,383,384,0,364,0:8,376,327:12,0,327,353,0:4,321,0:6,361,376,377,378,359,0:2,322,0:2,376,378,339,0,358,348:2,334,0:2,376,377,378,363,329,0:8,376,327:12,0,327,353,0:4,359,0:7,376,377,378,0:3,356,0:2,376,378,0:5,353,0:2,376,377,378,0:5,322,0:4,376,327:12,0,327,359,0:6,321,0:5,379,380,381,0:3,356,0:2,379,381,0:5,353,0:2,379,380,381,0:5,356,0:4,376,327,0,327:10,0:9,359,0:11,356,0:9,359,0:10,361,0:4,376,327,0,327:12,348:3,334,0:8,322,382,383,384,321,0:2,333,330,362,382,383,384,324,334,0:5,382,383,384,324,334,0:8,376,327,0,327:10,0,327:4,358,348,334,0:6,368,379,380,381,353,0:5,379,380,381,0,364,0:5,379,380,381,0,364,0:8,379,327,0,327:10,0,327:6,353,0:6,361,0:3,353,0:5,322,0:3,364,0:9,364,0:12,327:9,0,327:6,353,0:10,353,0:5,361,0:3,364,0:9,364,0:12,327:9,0,327:6,353,0:5,324,348,323,0:2,359,0:9,359,0:9,364,0:12,327:9,0,327:6,353,0:6,382,383:3,384,0:5,324,360:3,323,0:9,364,0:12,327:9,0,327:6,359,0:6,376,377:3,378,0:2,321,0:9,322,0:6,364,0:12,327:9,0,327:3,370,0:2,322,49,0:5,379,380:3,381,0:2,364,0:9,368,0:6,364,0:6,324,348,360,327:12,0,327:3,370,0:2,333,362,0:12,364,0:9,361,0:6,358,360:2,323,0:6,327,0,327:10,0,327:3,370,0:16,358,348,323,0:24,327,0,327:10,0,327:3,370,0:29,382,383:12,384,327,0,327:10,0,327:3,370,0:29,376,377:12,378,327,0,327:10,0,327:3,370,324,323,0:27,376,377:12,378,327,0,327:10,0,327:3,370,0:14,325,360:3,334,0:5,325,360:3,334,376,377:12,378,327,0,327:10,0,327:3,370,0:14,368,0:3,364,0:5,368,0:3,364,376,377:12,378,327,0,327:10,0,327:3,370,382,383:12,384,368,0:3,364,382,383:3,384,368,0:3,364,376,377:12,378,327,0,327:9" id="1"/> <tiles values="0:124,28:2,0:220,28:3,0:209,40,0:16,28,0:3,40,0:33,37F,0:9,37F,0:111,28,0:3,28,0:15,28,0:92,28,0:13,28,0:4,28,0:75,28,0:26,28,0:110,62,0,34,0:11,34,0:3,28,0:3,28,0:4,28,40,0:5,34,0:3,28,0:215,61,0:69,28,0:47,31F,0:8,61,31F,0:8,28,0:77,154,0:255,28:2,0:73,28,0,28,0:7,28,0,28,0:206" id="2"/> <tiles values="678,0,679,0:13,767,0,767,0:7,767,0,767,0:20,678,0,679,0:8,678,0,679,0:46,680,681,682,0:8,680,681,682,0:46,678,0,679,0:8,678,0,679,0:33,767,0,767,0:7,767,0,767,680,681,682,0:8,680,681,682,0:46,678,0,679,0:8,678,0,679,0:46,680,681,682,0:8,680,681,682,790,0:45,678,0,679,0:8,678,0,679,0:13,767,0,767,0:7,767,0,767,0:7,767,0,767,0:10,680,681,682,0:8,680,681,682,790,0:45,678,0,679,0:8,678,0,679,0:46,680,681,682,0:8,680,681,682,790,0:15,733,0:29,678,0,679,0:8,678,0,679,0:12,767,0:3,767,0:15,736,0:12,785,680,681,682,0:8,680,681,682,790,0:45,678,0,679,0:8,678,0,679,0:12,736,0:32,785,680,681,682,0:8,680,681,682,790,0:45,678,0,679,0:8,678,0,679,0:12,767,0:3,767,0:2,735,0:6,767:3,0:6,767:2,0:8,785,680,681,682,0:8,680,681,682,790,0:4,767,0:34,698,0:5,678,0,679,0:8,678,0,679,0:40,735,0:4,785,680,681,682,0:8,678,0,679,0:7,767,0:21,736,0:10,702,0:5,678,0,679,0:8,680,681,682,0:19,767,0:25,785,680,681,682,0:8,678,0,679,0:46,678,0,679,0:8,680,681,682,0:5,790,0:40,680,681,682,0:8,678,0,679,0:46,678,0,679,0:8,680,681,682,0:5,790,0:5,733,0:12,689,688,0:20,680,681,682,0:8,678,0,679,0:22,767:5,0:19,678,0,679,0:8,680,681,682,0:5,790,0:6,692,0:3,692,0:2,735,0:9,702,0:16,678,0,679,0:8,678,0,679,0:13,765,0,765,0:13,733,0:16,680,681,682,0:8,680,681,682,0:2,790,0:2,767:2,0:22,702,0:4,689,688,0:9,692,678,0,679,0:8,678,0,679,0:46,680,681,682,0:8,680,681,682,0:2,790,0:31,762,0,762,0,762,0,762,0,762,0,762,0,678,0,679,0:8,678,0,679,0:46,680,681,682,0:8,680,681,682,0:46,678,0,679,0:8,678,0,679,0:46,680,681,682,0:8,680,681,682,0:46,678,0,679,0:8,678,0,679,0:5,762,0,762,0,762,0,762,0,762,0,762,0:7,762,0,762,0:20,680,681,682,0:8" id="3"/> <tiles values="0:555,10,7:2,12,0:17,10,7:2,12,0:33,11,0:9,11,0:49,6,0:9,6,0:49,6,0:9,6,0:49,6,0:9,6,0:49,6,0:9,6,0:49,6,0:9,6,0:49,6,0:9,6,0:49,6,0:9,6,0:39,8,0:9,6,0,10,7:3,12,0:3,9,0,10,7:3,12,0:5,10,7:3,12,0:33,6,0:59,6,0:9,11,0:49,6,0:9,6,0:49,6,0:9,6,0:49,6,0:9,6,0:49,9,0:9,6,0:59,6,0:59,6,0:59,9,0:456" id="4"/> <tiles values="0:2100" id="5"/> <tiles values="0:844,115:6,0:54,115:6,0:54,115:7,0:53,115:7,0:53,115:7,0:56,1,115:2,0:950" id="6"/> <sign text="Mr Merlock: test group b102 are now full dinky dog addicts but with the use of Merlock Pharma's revolutionary DeepCell body tune up pill, all physical damage has been reversed. This is a beautiful match sir, two innovative products working together to create maximum profit. I feel at this point sir a review of my pay is needed." n="1147" layer="6" width="0" height="0" face="coward" forced="false"/> <msg text="Warehouse 2"/> </root> ; level_data["eef6bf1dba5ecec08d0fcdc22945d390"] = <root> <level width="55" height="38" start_x="3" start_y="35" compression="false" background="2" scroll="0"/> <tiles values="588,778,0:2,778:38,0:10,778,0:2,570,778,0:2,778:38,0:10,778,0:2,588,778,0:2,778:38,0:10,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,0:10,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,0:10,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,0:8,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,0:8,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,778:6,0:2,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,0:4,778:2,0:2,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,588,587,0:7,778,0:2,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,570,565,0:7,778,0:2,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,588,587,0:30,778:2,0:2,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,570,565,0:4,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,643,642,641,642,641,642,641,642,637,778,0:2,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,0:6,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,637,778:2,0:2,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,0:6,641,642,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,637,778:3,0:2,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,0:2,641,642,641,642:2,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,637,778:3,641,0:2,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,0:2,641,778:3,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,637,778:8,642,0,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,0:2,642,778:2,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,0,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,0:2,641,778,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,778,642,0,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,0:2,642,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,778,641,0,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,0:2,641,642,641,642,641,778,643,642,644,778,641,642,641,642,0:20,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,586,585,642,641,642,641,642,643,642,641,642,644,778,641,642,641,0:20,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,564,563,641,642,641,642,641,642,641,642,641,642,641,642,641,642,0:20,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,586,585,642,641,642,641,642,641,642,641,642,641,642,641,642,641,0:20,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,564,563,0:4,641,642,641,642,641,642,641,642,0:22,778,0:2,570,778,0:2,588,587,588,587,588,587,588,587,588,587,588,587,586,585,0:4,642,641,642,641,642,641,642,641,0:22,778,0:2,588,778,0:2,570,565,570,565,570,565,570,565,570,565,570,565,564,563,0:4,641,642,641,642,641,642,641,642,0:22,778,0:2,570,778,0,778:2,0:17,642,641,642,641,642,641,642,641,0:22,778,0:2,588,778,0,778:2,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,637,778:9,0:12,778,0:2,570,778,0,778:2,643,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,0:12,778,0:2,588,778,0,778:2,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,0:12,778,0:2,570,778,0,778:2,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,641,642,637,778:2,642,641,642,641,642,641,642,641,642,641,0:12,778,0:2,588,778,0,778:2,642,641,642,641,642,641,642,641,642,641:2,642,641,642,778:12,0:21,778,0:2,570,778,0,778:2,641,642,641,642,641,642,641,642,641,778:17,0:21,778,0:2,588,778,0,778:2,638,641,642,641,642,641,642,641,642,778:3,643,642,641,642,641,642,641,642,641,644,778:3,642,0:21,778,0:2,570,778:5,638,641,642,641,642,641,642,641,778:2,643,642,641,642,641,642,641,642,641,642,641,644,778:2,641,0:21,778,0:2,588,778,0,778:13,642,641,642,641,642,641,642,641,642,641,642,641,644,778,642,644,0:2,643,639,637,638,640,644,0:12,778,0:2,570,778,0,778:12,642,641,642,641,642,641,642,641,642,641,642,641,642,641,644,641,675,519,518,674,653,0:2,654,675,519,0:11,778,0:2" id="0"/> <tiles values="327,0,327,288,0:38,318,314:8,327:3,0,327,0,327,288,0:38,318,314:8,327,0,327,0,327,0,327,288,0:38,318,314:8,327,0,327,0,327,0,327,288,0:38,318,314:8,327,0,327,0,327,0,327,288,0:38,318,314:8,327,0,327,0,327,0,327,288,0:38,318,314:8,327,0,327,0,327,0,327,288,0:38,310,309,290,309,290,309,290,309,290,327,0,327,0,327,0,327,288,0:46,318,327,0,327,0,327,0,327,288,0:38,317,298,290,298,290,298,290,0,318,327,0,327,0,327,0,327,288,0:38,318,314:5,353,0,318,327,0,327,0,327,0,327,288,0:34,317,298,290,298,290,314:5,353,0,318,327,0,327,0,327,0,327,288,0:12,317,290,298:2,290,298:2,290,298:2,290,298:2,290,298:2,290,298:2,290,298:2,290,781,332,330,332,330,332,330,332,330,329,0,318,327,0,327,0,327,0,327,288,0:12,290,314:22,364,0:10,318,327,0,327,0,327,0,327,288,0:12,318,314:6,781,332,330:3,120,330:3,332,782,314:5,364,0:10,318,327,0,327,0,327,0,327,288,0:12,318,314:5,781,329,0:9,333,782,314:4,364,0:5,48I(0),0:3,317,300,327,0,327,0,327,0,327,288,0:12,290,314,781,330:3,329,739,0:9,739,333,330:4,329,0,322,0:7,739,306,327,0,327,0,327,0,327,288,0:12,318,314,364,0:4,46,0:9,46,0:7,361,0:7,46I(0),0:3,327,0,327,0,327,288,0:12,318,314,364,0,325,360,334,737,325,360:7,334,737,325,360:4,371,360:3,371,360:4,334,737,325,327:3,0,327,0,327,288,0:12,290,314,364,0,368,314,358,348,357,314:7,358,348,357,314:13,358,360,357,327,0,327,0,327,0,327,288,0:12,318,314,364,0,368,314,781,330,332,330,332,330,782,314:22,327,0,327,0,327,0,327,288,0:12,318,314,364,0,368,314,364,0:2,339,0:2,368,314:22,327,0,327,0,327,0,327,288,0:12,290,314,364,0,333,330,329,0,339,0,339,0,333,330,782,314:20,327,0,327,0,327,0,327,288,0:12,318,314,364,0:11,368,314:20,327,0,327,0,327,0,327,288,0:12,318,314,364,0:11,368,314:20,327,0,327,0,327,0,327,288,0:12,290,314,358,360:5,334,0,325,360:3,357,314:20,327,0,327,0,327,0,327,288,0:12,318,314:5,781,330,329,0,333,330,782,314:22,327,0,327,0,327,0,327,288,0:12,318,314:5,364,0:5,356,314:22,327,0,327,0,327:3,290,298:3,290,298:5,290,298:2,290,314:5,364,0:5,333,330:11,782,314:10,327,0,327,0,327,0,327,314,781,330:2,332,330:2,332,330:2,332,330:2,332,330:3,782,314,364,0:2,339,0:14,356,314:10,327,0,327,0,327,0,327,314,353,0:8,322,0:6,356,314,364,0:5,324,360,371,360:2,371,360:2,371,360:2,371,357,314:10,327,0,327,0,327,0,327,314,353,0:3,322,0:4,361,0:4,322,0,333,330,329,0:5,363,330,782,314:20,327,0,327,0,327,0,327,314,353,0:3,361,0:9,361,0:11,356,314:20,327,0,327,0,327,0,327,314,353,0:2,324,348:11,334,0:10,356,314:20,327,0,327,0,327,0,327,314,353,0:9,322,321,325,360,334,358,348:2,371:2,348:2,323,0:3,356,314:20,327,0,327,0,327,0,327,331,329,0:9,356,364,333,121,329,0:11,356,314:20,327,0,327,0,327,0:13,356,364,0:13,339,356,314:20,327,0,327,0,327:3,360,371,360:2,371,360:2,371,360:2,371,357,364,0:14,356,314:20,327,0,327,0,327,0,327,314:12,358,360:14,357,314:20,327,0,327,0" id="1"/> <tiles values="0:533,28:4,0:31,28:4,0:8,28:4,0:119,36F,0:3,39F,0:34,79F,39,79F,0:66,61,0:89,28:2,0:20,33F,0:3,42F,0:4,62,0:26,71F,0:7,71F,0:156,45,0,45,0:53,44,0:113,28,0:279,28:5,61,0:42,42,0:37,36,0:5,42,0:5,93F,0:37,108,0:54,108,0:54,108,0:78,28,0:26,154,0:69,28:2,0:2,60,0:8,28,0:80" id="2"/> <tiles values="678,0,679,0:48,678,0,679,0,680,681,682,790,0:47,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,790,0:47,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,790,0:40,767,0,767,0,767,0,767,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,790,0:47,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,790,0:40,764,0,764,0,764,0:2,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,790,0:13,764,0:2,764,0:2,764,0:2,764,0:2,764,0:2,764,0:2,764,0:2,764,0,766,0,766,0,766,0,766,0:4,678,0,679,0,678,0,679,0:14,789,0:33,680,681,682,0,680,681,682,790,0:20,766,0:7,766,0:18,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,790,0:13,789,0,766,0:2,766,0:11,766,0:4,766,0:11,678,0,679,0,678,0,679,0:48,678,0,679,0,680,681,682,790,0:47,680,681,682,0,678,0,679,0:14,789,0:33,678,0,679,0,680,681,682,790,0:47,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,790,0:13,789,0:4,766,0,766,0,766,0,766,0:22,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,790,0:47,678,0,679,0,678,0,679,0:14,789,0:33,680,681,682,0,680,681,682,790,0:19,766:2,0,766:2,0:23,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,0:4,764,0:5,764,0:37,678,0,679,0,678,0,679,0:4,766,0:2,766,0:2,766,0:2,766,0:34,680,681,682,0,680,681,682,0:18,735,0:8,700,0:2,700,0:2,700,0:2,700,0:11,678,0,679,0,678,0,679,0:19,766,0:5,766,0:22,680,681,682,0,680,681,682,0:48,678,0,679,0,678,0,679,0:48,680,681,682,0,680,681,682,0:16,766,0:2,766:2,0:2,766,0:24,678,0,679,0,678,0,679,0:48,680,681,682,0,678,0,679,0:48,678,0,679,0,680,681,682,0,763,0:2,763,0:2,763,0:2,763,0:37,680,681,682,0,678,0,679,0:48,678,0,679,0" id="3"/> <tiles values="0:703,10:4,11,0:31,10,7:2,12,0,10,7:2,12,0:10,9,0:3,11,0:50,9,0:3,11,0:50,9,0:3,11,0:50,9,12:4,0:31,10,7:7,12,0:654,8,0:197,10,7,12,0:177,10I(2),7:2,12I(2),0:86" id="4"/> <tiles values="0:2090" id="5"/> <tiles values="0:1324,115:12,0:43,115:12,0:43,115:5,1,115:6,0:644" id="6"/> <sign text="Okay Dirk Hang on, you're not Dirk! Must be a side effect of this blasted Martian radiation." n="1439" layer="6" width="0" height="0" face="prof" forced="false"/> <msg text="Research 1"/> </root> ; this.canvas = _arg1; this.shaker = _arg2; this.back = _arg3; RayCast.init(this); _arg1.addEventListener(Event.ENTER_FRAME, transistionWait, false, 0, true); } private function initPlayer():void{ var _local1:MovieClip; var _local2:MovieClip; var _local3:String; _local1 = new PlayerMC(); _local2 = new PlayerMC(); player_holder.addChild(_local1); player = new Player(_local1, _local2, ((scale >> 1) + (start_x * scale)), ((-(Player.HEIGHT) >> 1) + ((start_y + 1) * scale)), this); _local3 = ((NitromeGame.selected_level < 10)) ? "0" : ""; _local3 = (_local3 + NitromeGame.selected_level); NitromeGame.timeline.msg_panel.setMsg(((_local3 + ": ") + start_msg)); } public function clearAll():void{ canvas.transform.colorTransform = new ColorTransform(); clearListeners(); while (canvas.numChildren > 0) { canvas.removeChildAt(0); }; } private function countEnemies():void{ var _local1:int; var _local2:int; scroller.changeLayer(Scroller.ENCOUNTER_LAYER); _local1 = 0; while (_local1 < scroller.height) { _local2 = 0; while (_local2 < scroller.width) { if (TileMaker.isEnemy(scroller.map_array[_local1][_local2])){ NitromeGame.bonus.enemy_total.value++; }; _local2++; }; _local1++; }; } private function mouseUp(_arg1:MouseEvent):void{ mouse_pressed = false; } public function textMessage(_arg1:String, _arg2:String):void{ NitromeGame.timeline.text_panel.panel.message_text.text = _arg1; NitromeGame.timeline.text_panel.gotoAndPlay("popup_stay"); NitromeGame.timeline.text_panel.panel.face_panel.gotoAndStop(_arg2); } public function updateAlertState():void{ var _local1:int; var _local2:String; if (alert_state == ACTIVE){ alert_col.blueOffset = (alert_col.blueOffset - alert_col_step); alert_col.greenOffset = (alert_col.greenOffset - alert_col_step); if (alert_col_step > 0){ if (alert_col.blueOffset <= -(ALERT_COL_LIMIT)){ alert_col_step = -(ALERT_COL_SPEED); }; } else { if (alert_col.blueOffset >= 0){ alert_col_step = ALERT_COL_SPEED; }; }; canvas.transform.colorTransform = alert_col; if (NitromeGame.timeline.alert_panel.alpha < 1){ NitromeGame.timeline.alert_panel.alpha = (NitromeGame.timeline.alert_panel.alpha + 0.04); } else { alert_count--; _local1 = ((alert_count * 0.04) >> 0); _local2 = ("" + ((_local1 < 10)) ? ("0" + _local1) : _local1); NitromeGame.timeline.alert_panel.alert_time.text = _local2; if (alert_count <= 0){ standdown(); }; }; } else { if (alert_state == INACTIVE){ if (alert_col.blueOffset < 0){ alert_col.blueOffset = (alert_col.blueOffset + ALERT_COL_SPEED); alert_col.greenOffset = (alert_col.greenOffset + ALERT_COL_SPEED); canvas.transform.colorTransform = alert_col; }; if (NitromeGame.timeline.alert_panel.alpha > 0){ NitromeGame.timeline.alert_panel.alpha = (NitromeGame.timeline.alert_panel.alpha - 0.04); }; } else { if (alert_state == CHAMELEON){ if (NitromeGame.timeline.alert_panel.alpha < 1){ NitromeGame.timeline.alert_panel.alpha = (NitromeGame.timeline.alert_panel.alpha + 0.04); } else { alert_count--; _local1 = ((alert_count * 0.04) >> 0); _local2 = ("" + ((_local1 < 10)) ? ("0" + _local1) : _local1); NitromeGame.timeline.alert_panel.alert_time.text = _local2; if (alert_count <= 0){ NitromeGame.timeline.alert_panel.alert_time.text = "00"; NitromeGame.timeline.alert_panel.alert_time.textColor = DANGER_COL; alert_state = INACTIVE; if (player.chameleon){ player.exitChameleonMode(); }; }; }; }; }; }; } private function loadLevel():void{ var _local1:String; var _local2:XML; _local1 = levelPath(); _local2 = level_data[_local1]; decodeXML(_local2); } public function chameleon():void{ if ((((alert_state == ACTIVE)) || ((alert_state == CHAMELEON)))){ return; }; NitromeGame.timeline.alert_panel.alert_time.text = "HIDDEN"; NitromeGame.timeline.alert_panel.alert_time.textColor = SAFE_COL; alert_state = CHAMELEON; if (player.rope.length > 0){ mouse_pressed = false; }; alert_count = CHAMELEON_DELAY; } private function floodFillBlocksInPlay(_arg1:Array, _arg2:Array, _arg3:int, _arg4:int, _arg5:int, _arg6:int):Array{ var _local7:Array; _local7 = []; if (_arg1[_arg4][_arg3] == EMPTY){ return (_local7); }; _arg1[_arg4][_arg3] = EMPTY; if ((((((_arg4 > 0)) && (!(TileMaker.isBlock(_arg2[(_arg4 - 1)][_arg3]))))) && (!((_arg1[(_arg4 - 1)][_arg3] == EMPTY))))){ _local7.push(new Dot(_arg3, (_arg4 - 1))); } else { if ((((_arg4 > 0)) && (TileMaker.isBlock(_arg2[(_arg4 - 1)][_arg3])))){ _arg1[(_arg4 - 1)][_arg3] = IN_PLAY; }; }; if ((((((_arg3 < (_arg5 - 1))) && (!(TileMaker.isBlock(_arg2[_arg4][(_arg3 + 1)]))))) && (!((_arg1[_arg4][(_arg3 + 1)] == EMPTY))))){ _local7.push(new Dot((_arg3 + 1), _arg4)); } else { if ((((_arg3 < (_arg5 - 1))) && (TileMaker.isBlock(_arg2[_arg4][(_arg3 + 1)])))){ _arg1[_arg4][(_arg3 + 1)] = IN_PLAY; }; }; if ((((((_arg4 < (_arg6 - 1))) && (!(TileMaker.isBlock(_arg2[(_arg4 + 1)][_arg3]))))) && (!((_arg1[(_arg4 + 1)][_arg3] == EMPTY))))){ _local7.push(new Dot(_arg3, (_arg4 + 1))); } else { if ((((_arg4 < (_arg6 - 1))) && (TileMaker.isBlock(_arg2[(_arg4 + 1)][_arg3])))){ _arg1[(_arg4 + 1)][_arg3] = IN_PLAY; }; }; if ((((((_arg3 > 0)) && (!(TileMaker.isBlock(_arg2[_arg4][(_arg3 - 1)]))))) && (!((_arg1[_arg4][(_arg3 - 1)] == EMPTY))))){ _local7.push(new Dot((_arg3 - 1), _arg4)); } else { if ((((_arg3 > 0)) && (TileMaker.isBlock(_arg2[_arg4][(_arg3 - 1)])))){ _arg1[_arg4][(_arg3 - 1)] = IN_PLAY; }; }; if ((((((_arg3 < (_arg5 - 1))) && ((_arg4 > 0)))) && (TileMaker.isBlock(_arg2[(_arg4 - 1)][(_arg3 + 1)])))){ _arg1[(_arg4 - 1)][(_arg3 + 1)] = IN_PLAY; }; if ((((((_arg3 < (_arg5 - 1))) && ((_arg4 < (_arg6 - 1))))) && (TileMaker.isBlock(_arg2[(_arg4 + 1)][(_arg3 + 1)])))){ _arg1[(_arg4 + 1)][(_arg3 + 1)] = IN_PLAY; }; if ((((((_arg3 > 0)) && ((_arg4 < (_arg6 - 1))))) && (TileMaker.isBlock(_arg2[(_arg4 + 1)][(_arg3 - 1)])))){ _arg1[(_arg4 + 1)][(_arg3 - 1)] = IN_PLAY; }; if ((((((_arg3 > 0)) && ((_arg4 > 0)))) && (TileMaker.isBlock(_arg2[(_arg4 - 1)][(_arg3 - 1)])))){ _arg1[(_arg4 - 1)][(_arg3 - 1)] = IN_PLAY; }; return (_local7); } private function msgPanelClick(_arg1:Event):void{ if (current_event.active){ if (((((current_event.text_up) && (msg_key_ready))) && (!(Key.isDown(Keyboard.SPACE))))){ current_event.active = false; msg_key_ready = false; }; }; } private function updateShaker():void{ if (shaker.y != 0){ shaker.y = -(shaker.y); if (shaker.y > 0){ shaker.y--; }; }; } public function addScore(_arg1:int):void{ NitromeGame.level_score = (NitromeGame.level_score + _arg1); Score.value = (Score.value + _arg1); NitromeGame.timeline.score_panel.score.text = scoreString(); } public function electrocuteActors():void{ var _local1:int; _local1 = 0; while (_local1 < actors.length) { actors[_local1].electrocuted = true; _local1++; }; } public function transistionWait(_arg1:Event):void{ if (!NitromeGame.timeline.tt.tweening){ canvas.removeEventListener(Event.ENTER_FRAME, transistionWait); init(); }; } public function clearListeners():void{ canvas.removeEventListener(Event.ENTER_FRAME, main); NitromeGame.timeline.text_panel.panel.removeEventListener(MouseEvent.CLICK, msgPanelClick); Key.stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDown); Key.stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUp); Key.stage.removeEventListener(KeyboardEvent.KEY_DOWN, debugKey); Key.forceClearKeys(); } private function floodFillEvent(_arg1:int, _arg2:Array, _arg3:Array, _arg4:int, _arg5:int):Array{ var _local6:Array; _local6 = []; _arg2[_arg5][_arg4] = _arg1; if ((((((_arg5 > 0)) && ((_arg3[(_arg5 - 1)][_arg4] == EVENT_AREA)))) && ((_arg2[(_arg5 - 1)][_arg4] == -1)))){ _local6.push(new Dot(_arg4, (_arg5 - 1))); }; if ((((((_arg4 < (scroller.width - 1))) && ((_arg3[_arg5][(_arg4 + 1)] == EVENT_AREA)))) && ((_arg2[_arg5][(_arg4 + 1)] == -1)))){ _local6.push(new Dot((_arg4 + 1), _arg5)); }; if ((((((_arg5 < (scroller.height - 1))) && ((_arg3[(_arg5 + 1)][_arg4] == EVENT_AREA)))) && ((_arg2[(_arg5 + 1)][_arg4] == -1)))){ _local6.push(new Dot(_arg4, (_arg5 + 1))); }; if ((((((_arg4 > 0)) && ((_arg3[_arg5][(_arg4 - 1)] == EVENT_AREA)))) && ((_arg2[_arg5][(_arg4 - 1)] == -1)))){ _local6.push(new Dot((_arg4 - 1), _arg5)); }; return (_local6); } public function addListeners():void{ canvas.addEventListener(Event.ENTER_FRAME, main, false, 0, true); NitromeGame.timeline.text_panel.panel.addEventListener(MouseEvent.CLICK, msgPanelClick); Key.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown); Key.stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp); Key.stage.addEventListener(KeyboardEvent.KEY_DOWN, debugKey); } private function updateBullets():void{ var _local1:int; i = 0; while (i < bullets.length) { if (bullets[i].active){ bullets[i].main(); }; if (bullets[i].active){ _local1 = 0; while (_local1 < actors.length) { if (bullets[i].intersects(actors[_local1].collision_rect)){ actors[_local1].resolveBulletCollision(bullets[i]); break; }; _local1++; }; }; if (((bullets[i].active) && (bullets[i].intersects(player.collision_rect)))){ bullets[i].resolvePlayerCollision(player); }; if (!bullets[i].active){ bullets.splice(i, 1); i--; } else { bullets[i].updateMC(); }; i++; }; } private function createStackMap(_arg1:Array):Array{ var _local2:Array; var _local3:int; var _local4:int; _local2 = []; _local3 = 0; while (_local3 < scroller.height) { _local2[_local3] = []; _local4 = 0; while (_local4 < scroller.width) { _local2[_local3].push(0); _local4++; }; _local3++; }; _local3 = 0; while (_local3 < scroller.height) { _local4 = 0; while (_local4 < scroller.width) { if (_arg1[_local3][_local4] == IN_PLAY){ if ((((((_local3 > 0)) && ((_arg1[(_local3 - 1)][_local4] == IN_PLAY)))) || ((_local3 == 0)))){ _local2[_local3][_local4] = (_local2[_local3][_local4] | Rect.UP); }; if ((((((_local4 < (scroller.width - 1))) && ((_arg1[_local3][(_local4 + 1)] == IN_PLAY)))) || ((_local4 == (scroller.width - 1))))){ _local2[_local3][_local4] = (_local2[_local3][_local4] | Rect.RIGHT); }; if ((((((_local3 < (scroller.height - 1))) && ((_arg1[(_local3 + 1)][_local4] == IN_PLAY)))) || ((_local3 == (scroller.height - 1))))){ _local2[_local3][_local4] = (_local2[_local3][_local4] | Rect.DOWN); }; if ((((((_local4 > 0)) && ((_arg1[_local3][(_local4 - 1)] == IN_PLAY)))) || ((_local4 == 0)))){ _local2[_local3][_local4] = (_local2[_local3][_local4] | Rect.LEFT); }; } else { _local2[_local3][_local4] = -1; }; _local4++; }; _local3++; }; return (_local2); } private function initSpawnage():void{ var _local1:int; var _local2:int; scroller.changeLayer(Scroller.ENCOUNTER_LAYER); _local1 = 0; while (_local1 < scroller.height) { _local2 = 0; while (_local2 < scroller.width) { if ((((((block_map[_local1][_local2] >= 0)) || ((block_map[_local1][_local2] <= 0)))) && (TileMaker.isSpawn(block_map[_local1][_local2])))){ spawnage.push({x:_local2, y:_local1, id:scroller.map_array[_local1][_local2]}); scroller.map_array[_local1][_local2] = 0; if ((((_local1 > 0)) && (TileMaker.isBlock(block_map[(_local1 - 1)][_local2])))){ if (stack_map[(_local1 - 1)][_local2] == EMPTY){ stack_map[(_local1 - 1)][_local2] = 0; }; }; if ((((_local1 < (scroller.height - 1))) && (TileMaker.isBlock(block_map[(_local1 + 1)][_local2])))){ if (stack_map[(_local1 + 1)][_local2] == EMPTY){ stack_map[(_local1 + 1)][_local2] = 0; }; }; }; _local2++; }; _local1++; }; } public function levelComplete():void{ var _local1:Object; if (completed){ return; }; completed = true; player.running = false; if (NitromeGame.bonus.dodge.value){ addScore(5000); }; if (NitromeGame.bonus.cash_count.value == NitromeGame.bonus.cash_total.value){ addScore(5000); }; if (NitromeGame.bonus.msg_count.value == NitromeGame.bonus.msg_total.value){ addScore(5000); }; if (NitromeGame.bonus.enemy_count.value == NitromeGame.bonus.enemy_total.value){ addScore(10000); }; _local1 = {dodge:(NitromeGame.bonus.dodge.value == 1), cash_count:NitromeGame.bonus.cash_count.value, cash_total:NitromeGame.bonus.cash_total.value, msg_count:NitromeGame.bonus.msg_count.value, msg_total:NitromeGame.bonus.msg_total.value, enemy_count:NitromeGame.bonus.enemy_count.value, enemy_total:NitromeGame.bonus.enemy_total.value}; NitromeGame.setLevelBonus(_local1, NitromeGame.selected_level); if (NitromeGame.selected_level >= (NitromeGame.total_levels - 1)){ NitromeGame.timeline.popup_holder.launchPopUp("final_level_complete"); } else { NitromeGame.timeline.popup_holder.launchPopUp("level_complete"); NitromeGame.setLevelUnlocked((NitromeGame.selected_level + 1)); if (NitromeGame.last_level < (NitromeGame.selected_level + 1)){ NitromeGame.last_level = (NitromeGame.selected_level + 1); }; }; } private function countCash():void{ var _local1:int; var _local2:int; scroller.changeLayer(Scroller.ENCOUNTER_LAYER); _local1 = 0; while (_local1 < scroller.height) { _local2 = 0; while (_local2 < scroller.width) { if (scroller.map_array[_local1][_local2] == 28){ NitromeGame.bonus.cash_total.value++; }; _local2++; }; _local1++; }; } private function mouseDown(_arg1:MouseEvent):void{ mouse_pressed = true; } public function addBullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:BitmapSprite):void{ bullets.push(new Bullet(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, this)); } public function shake(_arg1:int):void{ shaker.y = _arg1; } public function pauseGame(_arg1:Boolean=false):void{ var _local2:int; if (!player.active){ return; }; if (!game_paused){ Util.stopClips(player_holder); Util.stopClips(monster_holder); game_paused = true; if (_arg1){ NitromeGame.timeline.popup_holder.launchPopUp("game_help"); } else { NitromeGame.timeline.popup_holder.launchPopUp("game_paused"); }; } else { Util.startClips(player_holder); Util.startClips(monster_holder); _local2 = 0; while (_local2 < encounters.length) { encounters[_local2].unpause(); _local2++; }; NitromeGame.timeline.popup_holder.hidePopUp(); game_paused = false; }; } private function updateSmokes():void{ i = 0; while (i < smokes.length) { smokes[i].main(); if (((!(smokes[i].active)) || (!(Util.onScreen(smokes[i].x, smokes[i].y, this, 20))))){ smokes.splice(i, 1); i--; }; i++; }; } public function removeEncounter(_arg1:Encounter):void{ var _local2:int; _local2 = 0; while (_local2 < encounters.length) { if (encounters[_local2] == _arg1){ encounters.splice(_local2, 1); break; }; _local2++; }; } public function init():void{ var _local1:Shape; var _local2:Shape; background_holder = new Sprite(); tile_holder = new Sprite(); monster_holder = new Sprite(); star_holder = new Sprite(); dead_star_holder = new Sprite(); rope_holder = new Shape(); player_holder = new Sprite(); effect_holder = new Sprite(); sign_holder = new Sprite(); spawn_holder = new Sprite(); light_holder = new Sprite(); scan_holder = new Sprite(); fx_layer = new BitmapData(WIDTH, HEIGHT, true, 4294967295); fx_layer_holder = new Bitmap(fx_layer); bullet_layer = new BitmapData(WIDTH, HEIGHT, true, 4294967295); bullet_layer_holder = new Bitmap(bullet_layer); screen_rect = new Rectangle(0, 0, WIDTH, HEIGHT); _local1 = new Shape(); _local2 = new Shape(); debug = _local1.graphics; debug_stay = _local2.graphics; debug.lineStyle(2, 0xFF00); debug_stay.lineStyle(1, 0xFF0000); canvas.addChild(background_holder); canvas.addChild(dead_star_holder); canvas.addChild(scan_holder); canvas.addChild(tile_holder); canvas.addChild(monster_holder); canvas.addChild(bullet_layer_holder); canvas.addChild(spawn_holder); canvas.addChild(rope_holder); canvas.addChild(star_holder); canvas.addChild(player_holder); canvas.addChild(effect_holder); canvas.addChild(sign_holder); canvas.addChild(fx_layer_holder); canvas.addChild(light_holder); canvas.addChild(_local1); canvas.addChild(_local2); burn_bitmap1 = new BitmapSprite(new BurnMC1()); burn_bitmap2 = new BitmapSprite(new BurnMC2()); burn_bitmap3 = new BitmapSprite(new BurnMC3()); burn_bitmap4 = new BitmapSprite(new BurnMC4()); bang_bitmap1 = new BitmapSprite(new BangMC1()); bang_bitmap2 = new BitmapSprite(new BangMC2()); bang_bitmap3 = new BitmapSprite(new BangMC3()); star_debris_bitmap = new BitmapSprite(new DeadStarMC()); bullet_bitmap = new BitmapSprite(new BulletMC()); boss_bullet_bitmap = new BitmapSprite(new BossBulletMC()); grenade_bitmap = new BitmapSprite(new GrenadeMC()); bullet_hit_bitmap_up = new BitmapSprite(new BulletHitMC1()); bullet_hit_bitmap_right = new BitmapSprite(new BulletHitMC2()); bullet_hit_bitmap_down = new BitmapSprite(new BulletHitMC3()); bullet_hit_bitmap_left = new BitmapSprite(new BulletHitMC4()); sniper_shot_bitmap = new BitmapSprite(new SniperShotMC()); cartridge_bitmap = new BitmapSprite(new CartridgeMC()); grenade_cartridge_bitmap = new BitmapSprite(new GrenadeCartridgeMC()); smoke_hit_bitmap = new BitmapSprite(new SmokeHitMC()); boss_bullet_hit_bitmap = new BitmapSprite(new BossBulletHitMC()); debris_clips = []; i = 0; while (i < 15) { debris_clips[i] = new BitmapSprite(new ((getDefinitionByName(("DebrisMC" + i)) as Class))); i++; }; encounters = []; scanners = []; debris = []; spawnage = []; tags = []; fx = []; smokes = []; bullets = []; actors = []; stealths = []; frame_count = 0; NitromeGame.level_score = 0; state = GAME; game_paused = false; god_mode = false; alert_state = INACTIVE; alert_col = new ColorTransform(); alert_col_step = ALERT_COL_SPEED; completed = false; msg_key_ready = false; boss_level = false; NitromeGame.bonus.dodge = new HiddenInt(1); NitromeGame.bonus.cash_count = new HiddenInt(); NitromeGame.bonus.cash_total = new HiddenInt(); NitromeGame.bonus.msg_count = new HiddenInt(); NitromeGame.bonus.msg_total = new HiddenInt(); NitromeGame.bonus.enemy_count = new HiddenInt(); NitromeGame.bonus.enemy_total = new HiddenInt(); NitromeGame.timeline.health_panel.gotoAndStop("_3"); NitromeGame.timeline.alert_panel.alpha = 0; NitromeGame.timeline.score_panel.score.text = scoreString(); NitromeGame.timeline.fade_to_black.gotoAndStop("clear"); NitromeGame.timeline.text_panel.gotoAndStop(1); enemy_health_panel = NitromeGame.timeline.enemy_health_panel; enemy_health_panel.alpha = 0; enemy_health_panel.bar.scaleX = 0; NitromeGame.timeline.hint_panel.visible = false; loadLevel(); } private function debugKey(_arg1:KeyboardEvent):void{ if (Key.isDown(Key.P)){ pauseGame(); }; if (Key.isDown(Key.H)){ pauseGame(true); }; } public function addFX(_arg1:Number, _arg2:Number, _arg3:BitmapSprite):void{ if (_arg3 == bang_bitmap1){ NitromeGame.sound_manager.playSound("bang1"); } else { if (_arg3 == bang_bitmap2){ NitromeGame.sound_manager.playSound("bang2"); } else { if (_arg3 == bang_bitmap3){ NitromeGame.sound_manager.playSound("bang3"); }; }; }; fx.push(new FX(_arg1, _arg2, _arg3, this)); } public function addBulletGroup(_arg1:Array):void{ bullets.push(new BulletGroup(_arg1)); } private function updateEvents():void{ var _local1:int; if (current_event.name == "message"){ if (!current_event.active){ NitromeGame.timeline.hint_panel.visible = false; if (current_event.text_up){ hideTextMessage(); current_event.text_up = false; }; current_event = null; } else { if (current_event.forced){ if (!current_event.text_up){ current_event.text_up = true; current_event.forced = false; NitromeGame.sound_manager.playSound("msg"); if (!current_event.seen){ NitromeGame.bonus.msg_count.value++; current_event.seen = true; }; if (current_event.face == "ninja_reveal"){ _local1 = 0; while (_local1 < actors.length) { if ((actors[_local1] is NinjaGuard)){ actors[_local1].reveal_count = NinjaGuard.REVEAL_DELAY; }; _local1++; }; }; textMessage(current_event.text, current_event.face); }; } else { if (!current_event.text_up){ if (spider == null){ if (((!(current_event.seen)) && (!(NitromeGame.timeline.hint_panel.visible)))){ NitromeGame.sound_manager.playSound("msg"); }; NitromeGame.timeline.hint_panel.visible = true; } else { NitromeGame.timeline.hint_panel.visible = false; }; if (((((!(player.key_lock)) && (msg_key_ready))) && (Key.isDown(Keyboard.SPACE)))){ NitromeGame.timeline.hint_panel.visible = false; current_event.text_up = true; textMessage(current_event.text, current_event.face); msg_key_ready = false; if (!current_event.seen){ NitromeGame.bonus.msg_count.value++; current_event.seen = true; }; }; }; }; if (((((current_event.text_up) && (msg_key_ready))) && (Key.isDown(Keyboard.SPACE)))){ current_event.active = false; msg_key_ready = false; }; }; }; if (!Key.isDown(Keyboard.SPACE)){ msg_key_ready = true; }; } public function scoreString():String{ var _local1:String; _local1 = Score.value.toString(); while (_local1.length < 7) { _local1 = ("0" + _local1); }; return (_local1); } public function updateEnemyHealthPanel():void{ if (enemy_health_panel.bar.scaleX > 0){ if (enemy_health_panel.alpha < 1){ enemy_health_panel.alpha = (enemy_health_panel.alpha + 0.2); }; } else { if (enemy_health_panel.alpha > 0){ enemy_health_panel.alpha = (enemy_health_panel.alpha - 0.2); }; }; } private function updateEncounters():void{ i = 0; while (i < encounters.length) { if (encounters[i].skip){ } else { if (((encounters[i].has_collision) && (encounters[i].intersects(player.collision_rect)))){ encounters[i].resolvePlayerCollision(player); }; if (encounters[i].has_main){ encounters[i].main(); }; if (!encounters[i].active){ Util.stopClips(encounters[i].mc); encounters[i].mc.parent.removeChild(encounters[i].mc); encounters.splice(i, 1); i--; }; }; i++; }; } private function loadXML(_arg1:Event):void{ var _local2:XML; _local2 = new XML(_arg1.target.data); NitromeGame.last_loaded_path = levelPath(); NitromeGame.last_loaded_xml = _local2; decodeXML(_local2); } public function addSmoke(_arg1:Number, _arg2:Number):void{ var _local3:Smoke; _local3 = new Smoke(_arg1, _arg2, this); smoke_angle = (smoke_angle + (70 + (Math.random() * 50))); smoke_angle = (smoke_angle % 360); _local3.addVelocity((Trig.cos[smoke_angle] * 10), (Trig.sin[smoke_angle] * 10)); smokes.push(_local3); } public function reset():void{ game_paused = true; clearAll(); init(); } private function updateFX():void{ i = 0; while (i < fx.length) { fx[i].main(); if (((!(fx[i].active)) || (!(Util.onScreen(fx[i].x, fx[i].y, this, fx[i].bitmap.width))))){ fx.splice(i, 1); i--; }; i++; }; } public function decodeXML(_arg1:XML):void{ var _local2:Array; var _local3:XML; var _local4:int; var _local5:int; var _local6:*; var _local7:XML; var _local8:Boolean; var _local9:LZW; var _local10:String; var _local11:Array; var _local12:Boolean; var _local13:String; var _local14:int; var _local15:int; var _local16:int; var _local17:int; var _local18:String; var _local19:Boolean; _local2 = []; _local3 = _arg1.level[0]; scroller = new Scroller(this, canvas, tile_holder, scale, parseInt(_local3.@width), parseInt(_local3.@height), WIDTH, HEIGHT); start_x = parseInt(_local3.@start_x); start_y = parseInt(_local3.@start_y); background_type = parseInt(_local3.@background); scrolling = parseInt(_local3.@scroll); NitromeGame.timeline.back.gotoAndStop(((background_type < 2)) ? "night" : "dawn"); _local6 = []; _local8 = (_local3.@compression == "true"); _local9 = new LZW(); i = 0; for each (_local7 in _arg1.tiles) { _local10 = ""; if (_local8){ _local10 = _local9.decompress(_local7.@values); } else { _local10 = _local7.@values; }; _local6 = Util.unserialize(_local10); _local11 = []; _local4 = 0; while (_local4 < scroller.height) { _local11.push([]); _local5 = 0; while (_local5 < scroller.width) { _local11[_local4].push(_local6[(_local5 + (_local4 * scroller.width))]); _local5++; }; _local4++; }; _local12 = false; if (i == 3){ scroller.addTileLayer(sign_holder); _local12 = true; } else { if (i == 0){ scroller.addTileLayer(background_holder); _local12 = true; } else { if (i == 2){ scroller.addTileLayer(monster_holder); } else { if (i == 4){ path_map = _local11; } else { if (i == 5){ actor_map = _local11; } else { if (i == 6){ event_map = _local11; }; }; }; }; }; }; if (scroller.layers < 4){ scroller.addLayer(_local11, _local12); }; i++; }; for each (_local7 in _arg1.sign) { _local13 = (_local8) ? _local9.decompress(_local7.@text) : _local7.@text; _local14 = parseInt(_local7.@n); _local15 = parseInt(_local7.@layer); _local16 = parseInt(_local7.@width); _local17 = parseInt(_local7.@height); _local18 = _local7.@face; _local19 = (_local7.@forced == "true"); _local2.push({text:_local13, n:_local14, layer:_local15, width:_local16, height:_local17, face:_local18, forced:_local19}); }; scroller.setSignage(_local2); start_msg = _arg1.msg[0].@text; block_map = scroller.map_array_layers[Scroller.BLOCK_LAYER]; stack_map = createStackMap(getBlocksInPlay()); createScentMap(); createEventMap(); initSpawnage(); countCash(); countEnemies(); NitromeGame.bonus.msg_total.value = events.length; if (scrolling){ scroller.renderScrollLayer(0, Scroller.VERT); }; scroller.rezForced(); scroller.rezBeginning(start_x, start_y); frame_count = 1; initPlayer(); addListeners(); NitromeGame.timeline.loading_clip.gotoAndPlay("fade_out"); NitromeGame.sound_manager.playMusic(SoundManager.GAME); } public function alert():void{ if ((((alert_state == ACTIVE)) || ((alert_state == CHAMELEON)))){ return; }; NitromeGame.sound_manager.playSound("alert"); NitromeGame.timeline.alert_panel.alert_time.text = "DANGER"; NitromeGame.timeline.alert_panel.alert_time.textColor = DANGER_COL; alert_state = ACTIVE; j = 0; while (j < encounters.length) { encounters[j].alert(); j++; }; if (player.rope.length > 0){ if (RayCast.cast(player.rope_end, block_map, true) != null){ mouse_pressed = false; }; }; alert_col = new ColorTransform(1, 1, 1, 1, 0, 0, 0); alert_count = ALERT_DELAY; } public function addDebrisDir(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, ... _args):void{ var _local6:int; var _local7:DebrisFX; _local6 = 0; while (_local6 < _args.length) { _local7 = new DebrisFX(_arg1, _arg2, _args[_local6], this); _local7.addVelocity((_arg3 * (Math.random() * 10)), (_arg4 * (Math.random() * 10))); debris.push(_local7); _local6++; }; } public function hideTextMessage():void{ NitromeGame.timeline.text_panel.gotoAndPlay("hide"); } public function addDebris(_arg1:Number, _arg2:Number, _arg3:Number, ... _args):void{ var _local5:int; var _local6:DebrisFX; _local5 = 0; while (_local5 < _args.length) { _local6 = new DebrisFX(_arg1, _arg2, _args[_local5], this); _local6.addVelocity(((-5 + (Math.random() * 10)) + _arg3), ((-5 + (Math.random() * 5)) - 10)); debris.push(_local6); _local5++; }; } private function createEventMap():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Dot; var _local5:int; var _local6:int; var _local7:Boolean; var _local8:Array; var _local9:Object; var _local10:Array; var _local11:int; var _local12:Array; _local6 = -1; _local7 = false; _local8 = []; _local9 = {}; _local10 = []; events = []; _local1 = 0; while (_local1 < scroller.height) { _local8[_local1] = []; _local2 = 0; while (_local2 < scroller.width) { _local8[_local1][_local2] = -1; _local2++; }; _local1++; }; _local1 = 0; while (_local1 < scroller.height) { _local2 = 0; while (_local2 < scroller.width) { if (!(((event_map[_local1][_local2] >= 0)) || ((event_map[_local1][_local2] <= 0)))){ if (event_map[_local1][_local2].search(/I/) > -1){ _local6 = event_map[_local1][_local2].match(/(?<=I\()\d+/)[0]; }; _local5 = parseInt(event_map[_local1][_local2].match(/\d+/)[0]); _local7 = (event_map[_local1][_local2].search(/F/) > -1); }; if (isEvent(event_map[_local1][_local2])){ if (event_map[_local1][_local2] == 1){ _local3 = 0; while (_local3 < scroller.signage.length) { if (scroller.signage[_local3].n == (_local2 + (_local1 * scroller.width))){ _local9 = {active:false, name:"message", face:scroller.signage[_local3].face, id:events.length, text:scroller.signage[_local3].text, forced:scroller.signage[_local3].forced, text_up:false, seen:false}; events.push(_local9); _local10 = floodFillEvent(_local9.id, _local8, event_map, _local2, _local1); _local11 = 0; while (_local11 < (scroller.width * scroller.height)) { _local4 = _local10.shift(); _local12 = floodFillEvent(_local9.id, _local8, event_map, _local4.x, _local4.y); if (_local12.length > 0){ _local10 = _local10.concat(_local12); }; if (_local10.length == 0){ break; }; _local11++; }; break; }; _local3++; }; }; }; _local2++; }; _local1++; }; event_map = _local8; } public function standdown():void{ if (alert_state == INACTIVE){ return; }; alert_state = INACTIVE; j = 0; while (j < encounters.length) { encounters[j].standdown(); j++; }; NitromeGame.timeline.alert_panel.alert_time.text = "SAFE"; NitromeGame.timeline.alert_panel.alert_time.textColor = SAFE_COL; } private function updateActors():void{ var _local1:int; i = 0; while (i < actors.length) { _local1 = 0; while (_local1 < encounters.length) { if (((((((((encounters[_local1].active) && (((actors[i].all_collision) || (encounters[_local1].actor_target))))) && (!((encounters[_local1] is MovingBlock))))) && (encounters[_local1].has_collision))) && (actors[i].intersects(encounters[_local1].collision_rect)))){ if (!(encounters[_local1] is TripWire)){ actors[i].resolveEncounterCollision(encounters[_local1]); }; if (((((!(boss_level)) && (encounters[_local1].active))) && (!((encounters[_local1] is TripWire))))){ enemy_health_panel.bar.scaleX = (encounters[_local1].health_fraction * encounters[_local1].health); } else { if (!boss_level){ enemy_health_panel.bar.scaleX = 0; } else { if ((encounters[_local1] is Boss)){ enemy_health_panel.bar.scaleX = (encounters[_local1].health_fraction * encounters[_local1].health); }; }; }; }; if (actors[i] == spider){ if ((((encounters[_local1] is TripWire)) && (encounters[_local1].killer))){ if ((((encounters[_local1].type == TripWire.TURNING)) || ((encounters[_local1].type == TripWire.FIXED_VARIABLE)))){ if (RayCast.reportIntersectsRect(encounters[_local1].scan, encounters[_local1].cast, actors[i].collision_rect)){ actors[i].kill(); }; } else { if (encounters[_local1].type == TripWire.FIXED){ if (encounters[_local1].collision_rect.intersects(actors[i].collision_rect)){ actors[i].kill(); }; }; }; }; if ((((((((encounters[_local1] is FlyingGun)) && (encounters[_local1].killer))) && ((encounters[_local1].strength >= 1)))) && (!(Util.proximity(encounters[_local1].x, encounters[_local1].y, actors[i].x, actors[i].y, 50))))){ if (RayCast.reportIntersectsRect(encounters[_local1].scan, encounters[_local1].cast, actors[i].collision_rect)){ actors[i].kill(); }; }; }; _local1++; }; actors[i].main(); if (!actors[i].active){ Util.stopClips(actors[i].mc); actors[i].mc.parent.removeChild(actors[i].mc); actors.splice(i, 1); i--; }; i++; }; if (((!((spider == null))) && (!(spider.active)))){ if (spider_death_count > 0){ spider_death_count--; } else { spider = null; }; }; } private function isEvent(_arg1:int):Boolean{ if (_arg1 == 1){ return (true); }; return (false); } private function getBlocksInPlay():Array{ var _local1:Array; var _local2:Array; var _local3:int; var _local4:int; var _local5:Array; var _local6:int; var _local7:Array; var _local8:Array; _local1 = []; _local2 = block_map; _local3 = 0; while (_local3 < scroller.height) { _local1[_local3] = []; _local4 = 0; while (_local4 < scroller.width) { _local1[_local3].push(0); _local4++; }; _local3++; }; _local5 = floodFillBlocksInPlay(_local1, _local2, start_x, start_y, scroller.width, scroller.height); _local6 = 0; while (_local6 < (scroller.width * scroller.height)) { _local7 = []; i = 0; while (i < _local5.length) { _local8 = floodFillBlocksInPlay(_local1, _local2, _local5[i].x, _local5[i].y, scroller.width, scroller.height); if (_local8.length > 0){ _local7 = _local7.concat(_local8); }; i++; }; _local5 = _local7; if (_local5.length == 0){ break; }; _local6++; }; return (_local1); } public function addEncounter(_arg1:Encounter):void{ encounters.push(_arg1); } public function main(_arg1:Event):void{ debug.clear(); debug.lineStyle(2, 0xFF00); if (!game_paused){ if (player.state == Player.STEALTH){ player.stealthScreenGrab(); }; i = 0; while (i < stealths.length) { if (stealths[i].active){ if (Util.onScreen(stealths[i].x, stealths[i].y, this, 100)){ stealths[i].stealthScreenGrab(); }; } else { stealths.splice(i, 1); i--; }; i++; }; if (player.active){ player.main(); } else { if (player.level_completed){ finish_count++; if ((player.finish_item is Lift)){ if (finish_count == LIFT_DELAY){ levelComplete(); }; } else { if ((player.finish_item is ElectricFinish)){ if (finish_count == LIFT_DELAY){ NitromeGame.timeline.fade_to_black.gotoAndPlay("fade"); NitromeGame.sound_manager.playSound("bosslaugh"); } else { if (finish_count == ELECTRIC_DELAY){ levelComplete(); }; }; } else { if (player.finish_item == null){ if (finish_count == 25){ NitromeGame.timeline.fade_to_black.gotoAndPlay("fade"); } else { if (finish_count == LIFT_DELAY){ levelComplete(); }; }; }; }; }; }; }; if (scrolling){ if (scrolling == Scroller.HORIZ){ scroller.tile_layers[0].y = (scroller.tile_layers[0].y + 5); if (scroller.tile_layers[0].y > 0){ scroller.tile_layers[0].y = (scroller.tile_layers[0].y - (scroller.height * scale)); }; } else { scroller.tile_layers[0].y = (scroller.tile_layers[0].y - 5); if (scroller.tile_layers[0].y < (-(scroller.height) * scale)){ scroller.tile_layers[0].y = (scroller.tile_layers[0].y + (scroller.height * scale)); }; }; }; fx_layer.fillRect(screen_rect, 0xFFFFFF); fx_layer_holder.x = -(canvas.x); fx_layer_holder.y = -(canvas.y); bullet_layer.fillRect(screen_rect, 0xFFFFFF); bullet_layer_holder.x = -(canvas.x); bullet_layer_holder.y = -(canvas.y); scan_holder.graphics.clear(); updateEncounters(); updateActors(); updateBullets(); updateDebris(); updateFX(); updateSmokes(); updateShaker(); updateAlertState(); updateEnemyHealthPanel(); if (current_event != null){ updateEvents(); }; frame_count++; }; } public function removeActor(_arg1:Actor):void{ var _local2:int; _local2 = 0; while (_local2 < actors.length) { if (actors[_local2] == _arg1){ actors.splice(_local2, 1); break; }; _local2++; }; } public function addActor(_arg1:Actor):void{ actors.push(_arg1); } private function levelPath():String{ var _local1:String; var _local2:String; _local1 = ("" + NitromeGame.selected_level); if (NitromeGame.selected_level < 10){ _local1 = ("0" + NitromeGame.selected_level); }; _local2 = NitromeGame.getLevelName((NitromeGame.selected_level + 1), ""); return (_local2); } public function gameOver():void{ NitromeGame.timeline.popup_holder.launchPopUp("game_over"); } private function createScentMap():void{ var _local1:int; var _local2:int; scent_map = []; _local1 = 0; while (_local1 < scroller.height) { scent_map[_local1] = []; _local2 = 0; while (_local2 < scroller.width) { if (stack_map[_local1][_local2] > Game.EMPTY){ scent_map[_local1].push(-1); } else { scent_map[_local1].push(0); }; _local2++; }; _local1++; }; } private function updateDebris():void{ i = 0; while (i < debris.length) { debris[i].main(); if (((!(debris[i].active)) || (!(Util.onScreen(debris[i].x, debris[i].y, this, 50))))){ debris.splice(i, 1); i--; }; i++; }; } } }//package
Section 524
//GameMusic (GameMusic) package { import flash.media.*; public dynamic class GameMusic extends Sound { } }//package
Section 525
//GeneratorMC (GeneratorMC) package { import flash.display.*; public dynamic class GeneratorMC extends MovieClip { public function GeneratorMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 526
//GrenadeCartridgeMC (GrenadeCartridgeMC) package { import flash.display.*; public dynamic class GrenadeCartridgeMC extends MovieClip { } }//package
Section 527
//GrenadeMC (GrenadeMC) package { import flash.display.*; public dynamic class GrenadeMC extends MovieClip { } }//package
Section 528
//GunBlockMC1 (GunBlockMC1) package { import flash.display.*; public dynamic class GunBlockMC1 extends MovieClip { public var gun:MovieClip; } }//package
Section 529
//GunBlockMC2 (GunBlockMC2) package { import flash.display.*; public dynamic class GunBlockMC2 extends MovieClip { public var gun:MovieClip; } }//package
Section 530
//GunBlockMC3 (GunBlockMC3) package { import flash.display.*; public dynamic class GunBlockMC3 extends MovieClip { public var gun:MovieClip; } }//package
Section 531
//GunBlockMC4 (GunBlockMC4) package { import flash.display.*; public dynamic class GunBlockMC4 extends MovieClip { public var gun:MovieClip; } }//package
Section 532
//GunManMC (GunManMC) package { import flash.display.*; public dynamic class GunManMC extends MovieClip { public var arm:MovieClip; public var gun:MovieClip; public function GunManMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 533
//GunMC (GunMC) package { import flash.display.*; public dynamic class GunMC extends MovieClip { public var cartridges:MovieClip; public function GunMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 534
//HackSpiderMC (HackSpiderMC) package { import flash.display.*; public dynamic class HackSpiderMC extends MovieClip { public var light:MovieClip; public var body:MovieClip; } }//package
Section 535
//HealthFadeMC (HealthFadeMC) package { import flash.display.*; public dynamic class HealthFadeMC extends MovieClip { public function HealthFadeMC(){ addFrameScript(20, frame21); } function frame21(){ parent.removeChild(this); stop(); } } }//package
Section 536
//HealthMC (HealthMC) package { import flash.display.*; public dynamic class HealthMC extends Sprite { } }//package
Section 537
//HighScoreBoard (HighScoreBoard) package { import com.nitrome.highscore.*; public dynamic class HighScoreBoard extends HighScoreBoard { public function HighScoreBoard(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 538
//HitSparkMC (HitSparkMC) package { import flash.display.*; public dynamic class HitSparkMC extends MovieClip { public function HitSparkMC(){ addFrameScript(0, frame1, 8, frame9); } function frame1(){ NitromeGame.sound_manager.playSound("star_hit"); } function frame9(){ parent.removeChild(this); stop(); } } }//package
Section 539
//holder (holder) package { import flash.display.*; public dynamic class holder extends Sprite { } }//package
Section 540
//IntroMC1 (IntroMC1) package { import flash.display.*; public dynamic class IntroMC1 extends MovieClip { } }//package
Section 541
//IntroMC2 (IntroMC2) package { import flash.display.*; public dynamic class IntroMC2 extends MovieClip { } }//package
Section 542
//IntroMC3 (IntroMC3) package { import flash.display.*; public dynamic class IntroMC3 extends MovieClip { } }//package
Section 543
//IntroMC4 (IntroMC4) package { import flash.display.*; public dynamic class IntroMC4 extends MovieClip { } }//package
Section 544
//IntroMC5 (IntroMC5) package { import flash.display.*; public dynamic class IntroMC5 extends MovieClip { } }//package
Section 545
//IntroMC6 (IntroMC6) package { import flash.display.*; public dynamic class IntroMC6 extends MovieClip { } }//package
Section 546
//IntroMC7 (IntroMC7) package { import flash.display.*; public dynamic class IntroMC7 extends MovieClip { } }//package
Section 547
//JumpMC (JumpMC) package { import flash.display.*; public dynamic class JumpMC extends MovieClip { public function JumpMC(){ addFrameScript(11, frame12); } function frame12(){ if (parent != null){ parent.removeChild(this); }; stop(); } } }//package
Section 548
//LaserGunMC (LaserGunMC) package { import flash.display.*; public dynamic class LaserGunMC extends MovieClip { } }//package
Section 549
//LaserGunSparksMC (LaserGunSparksMC) package { import flash.display.*; public dynamic class LaserGunSparksMC extends MovieClip { } }//package
Section 550
//LaserMC1 (LaserMC1) package { import flash.display.*; public dynamic class LaserMC1 extends MovieClip { } }//package
Section 551
//LaserMC2 (LaserMC2) package { import flash.display.*; public dynamic class LaserMC2 extends MovieClip { } }//package
Section 552
//LaserMC3 (LaserMC3) package { import flash.display.*; public dynamic class LaserMC3 extends MovieClip { } }//package
Section 553
//LaserMC4 (LaserMC4) package { import flash.display.*; public dynamic class LaserMC4 extends MovieClip { } }//package
Section 554
//LaserMC5 (LaserMC5) package { import flash.display.*; public dynamic class LaserMC5 extends MovieClip { public var scanner:MovieClip; } }//package
Section 555
//LaserMC6 (LaserMC6) package { import flash.display.*; public dynamic class LaserMC6 extends MovieClip { public var scanner:MovieClip; } }//package
Section 556
//LaserMC7 (LaserMC7) package { import flash.display.*; public dynamic class LaserMC7 extends MovieClip { public var scanner:MovieClip; } }//package
Section 557
//LaserMC8 (LaserMC8) package { import flash.display.*; public dynamic class LaserMC8 extends MovieClip { public var scanner:MovieClip; } }//package
Section 558
//LeftArmMC (LeftArmMC) package { import flash.display.*; public dynamic class LeftArmMC extends MovieClip { public function LeftArmMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 559
//LetterButton (LetterButton) package { import com.nitrome.highscore.*; public dynamic class LetterButton extends LetterButton { public function LetterButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 560
//LevelCompleteMC (LevelCompleteMC) package { import flash.display.*; public dynamic class LevelCompleteMC extends MovieClip { public function LevelCompleteMC(){ addFrameScript(34, frame35, 49, frame50); } function frame35(){ NitromeGame.sound_manager.playSound("yatta"); } function frame50(){ stop(); } } }//package
Section 561
//LiftMC (LiftMC) package { import flash.display.*; public dynamic class LiftMC extends MovieClip { public function LiftMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 562
//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//package
Section 563
//MidMC1 (MidMC1) package { import flash.display.*; public dynamic class MidMC1 extends Sprite { } }//package
Section 564
//MidMC2 (MidMC2) package { import flash.display.*; public dynamic class MidMC2 extends Sprite { } }//package
Section 565
//MidMC3 (MidMC3) package { import flash.display.*; public dynamic class MidMC3 extends Sprite { } }//package
Section 566
//MidMC4 (MidMC4) package { import flash.display.*; public dynamic class MidMC4 extends Sprite { } }//package
Section 567
//MidMC5 (MidMC5) package { import flash.display.*; public dynamic class MidMC5 extends Sprite { } }//package
Section 568
//MidMC6 (MidMC6) package { import flash.display.*; public dynamic class MidMC6 extends Sprite { } }//package
Section 569
//MiniclipIntro (MiniclipIntro) package { import flash.display.*; public dynamic class MiniclipIntro extends MovieClip { public var mcAnimation:MovieClip; } }//package
Section 570
//Morph (Morph) package { import com.nitrome.engine_specific.*; public dynamic class Morph extends Morph { } }//package
Section 571
//MovingMC1 (MovingMC1) package { import flash.display.*; public dynamic class MovingMC1 extends Sprite { } }//package
Section 572
//MovingMC10 (MovingMC10) package { import flash.display.*; public dynamic class MovingMC10 extends Sprite { } }//package
Section 573
//MovingMC11 (MovingMC11) package { import flash.display.*; public dynamic class MovingMC11 extends Sprite { } }//package
Section 574
//MovingMC2 (MovingMC2) package { import flash.display.*; public dynamic class MovingMC2 extends Sprite { } }//package
Section 575
//MovingMC3 (MovingMC3) package { import flash.display.*; public dynamic class MovingMC3 extends Sprite { } }//package
Section 576
//MovingMC4 (MovingMC4) package { import flash.display.*; public dynamic class MovingMC4 extends Sprite { } }//package
Section 577
//MovingMC5 (MovingMC5) package { import flash.display.*; public dynamic class MovingMC5 extends Sprite { } }//package
Section 578
//MovingMC6 (MovingMC6) package { import flash.display.*; public dynamic class MovingMC6 extends Sprite { } }//package
Section 579
//MovingMC7 (MovingMC7) package { import flash.display.*; public dynamic class MovingMC7 extends Sprite { } }//package
Section 580
//MovingMC8 (MovingMC8) package { import flash.display.*; public dynamic class MovingMC8 extends Sprite { } }//package
Section 581
//MovingMC9 (MovingMC9) package { import flash.display.*; public dynamic class MovingMC9 extends Sprite { } }//package
Section 582
//NextArrow (NextArrow) package { import com.nitrome.highscore.*; public dynamic class NextArrow extends ArrowButton { public function NextArrow(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 583
//NinjaGuardMC (NinjaGuardMC) package { import flash.display.*; public dynamic class NinjaGuardMC extends MovieClip { public function NinjaGuardMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 584
//NinjaMC (NinjaMC) package { import flash.display.*; public dynamic class NinjaMC extends MovieClip { public function NinjaMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 585
//NitromeButton (NitromeButton) package { import com.nitrome.game.*; public dynamic class NitromeButton extends NitromeButton { } }//package
Section 586
//NitromeGame (NitromeGame) package { import com.nitrome.engine.*; import flash.display.*; import com.nitrome.game.*; import com.nitrome.util.*; import flash.net.*; public class NitromeGame { public static const NITROME:uint = 0; private static const DOMAINS:Array = new Array(".nitrome.com/", ".miniclip.com/", ".candystand.com/", ".armorgames.com/"); public static const ARMOR:uint = 3; public static const MINICLIP:uint = 1; private static const ARMOR_URL:Array = new Array("http://www.armorgames.com/", "http://armorgames.com/", "http://cache.armorgames.com/"); private static const MINICLIP_URL:Array = new Array("http://www.miniclip.com/", "http://miniclip.com/"); public static const CANDYSTAND:uint = 2; private static const NITROME_URL:Array = new Array("http://www.nitrome.com/", "http://cdn.nitrome.com/", "http://www.nitrome.co.uk/", "http://www.nitrome.net/", "http://www.nitromegames.com/", "http://www.nitromegames.co.uk/", "http://www.nitrome-games.com/", "http://www.nitrome-games.co.uk/", "http://www.nitromeimages.com/"); private static const CANDYSTAND_URL:Array = new Array("http://www.candystand.com/", "http://candystand.com/"); public static const SUBMIT_URL:String = "http://www.nitrome.com/php/submit_score.php"; public static const RETRIEVE_URL:String = "http://www.nitrome.com/php/retrieve_scores.php"; public static const POPUP_HOLDER_FRAME:int = 10; private static var _level_id:String; private static var _leading_zero:Boolean = true; public static var bonus:Object = {}; public static var last_loaded_xml:XML; private static var _last_level:HiddenInt; public static var timeline:MovieClip; private static var _game_id:String; public static var completed:Boolean; private static var ar_key:String = "ctdngevfaqki8_lb:psoj90ux127hm/4w5y3rz.6-"; private static var _level_score:HiddenInt; public static var transition:Transition; private static var _time_based:Boolean = false; public static var sound_manager:SoundManager; private static var ar_1:Array = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "/", ":", ".", "_", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-"); private static var ar_2:Array = new Array("_", "7", "c", "2", "l", "r", "a", "h", "i", ".", "g", "m", "v", "1", "b", "q", "3", "z", "w", "o", "u", "t", "s", "0", "d", "f", "8", "n", "5", "k", ":", "j", "p", "/", "4", "6", "e", "9", "y", "x", "-"); private static var adj:Number = 1.75; private static var _total_levels:int; public static var global:Object = {}; private static var _url:String; private static var ff:Array = []; public static var last_loaded_path:String; private static var _selected_level:HiddenInt; private static function decryptString(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Number; var _local5:int; var _local6:*; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:String; adj = 1.75; ff = convertKey(_arg1); _local3 = ""; _local4 = 0; _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2.substr(_local5, 1); _local8 = 0; while (_local8 < ar_2.length) { if (ar_2[_local8] == _local6){ _local7 = _local8; break; }; _local8++; }; adj = applyFudgeFactor(); _local9 = (_local4 + adj); _local10 = (_local7 - Math.round(_local9)); _local10 = checkRange(_local10); _local4 = (_local9 + _local7); _local11 = ar_1[_local10]; _local3 = (_local3 + _local11); _local5++; }; return (_local3); } public static function set sfx(_arg1:Boolean):void{ var _local2:String; var _local3:SharedObject; _local2 = ("so_" + game_id); _local3 = SharedObject.getLocal(_local2); _local3.data.sfxon = _arg1; _local3.flush(); _local3.close(); } public static function init(_arg1:MovieClip, _arg2:String, _arg3:String, _arg4:Number):void{ timeline = _arg1; _url = _arg1.loaderInfo.url; _level_id = _arg3; _total_levels = _arg4; _game_id = _arg2.toLowerCase(); _selected_level = new HiddenInt(1); _level_score = new HiddenInt(); _last_level = new HiddenInt(getLastUnlocked()); completed = getGameComplete(); } public static function getLastUnlocked(_arg1:int=1):int{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; var _local6:Array; var _local7:int; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; _local6 = new Array(total_levels); if (!_local4){ _local7 = 0; while (_local7 < _local6.length) { _local6[_local7] = 0; _local7++; }; _local6[0] = 1; _local3.data.levels_unlocked = _local6; _local3.flush(); _local3.close(); return (0); //unresolved jump }; if (_local3.data.levels_unlocked == undefined){ _local7 = 0; while (_local7 < _local6.length) { _local6[_local7] = 0; _local7++; }; _local6[0] = 1; _local3.data.levels_unlocked = _local6; _local3.flush(); _local3.close(); return (0); //unresolved jump }; _local7 = 1; while (_local7 < _local3.data.levels_unlocked.length) { if (_local3.data.levels_unlocked[_local7] == 0){ return ((_local7 - 1)); }; _local7++; }; return ((total_levels - 1)); } public static function get level_score():int{ return (_level_score.value); } private static function checkRange(_arg1:int):int{ var _local2:int; _arg1 = Math.round(_arg1); _local2 = ar_1.length; while (_arg1 >= _local2) { _arg1 = (_arg1 - _local2); }; while (_arg1 < 0) { _arg1 = (_arg1 + _local2); }; return (_arg1); } public static function get music():Boolean{ var _local1:String; var _local2:SharedObject; var _local3:Boolean; var _local4:*; _local1 = ("so_" + game_id); _local2 = SharedObject.getLocal(_local1); _local3 = false; for each (_local4 in _local2.data) { _local3 = true; break; }; if (_local3){ if (_local2.data.musicon != undefined){ return (_local2.data.musicon); }; return (true); //unresolved jump }; return (true); } public static function set level_score(_arg1:int):void{ _level_score.value = _arg1; } public static function getTotalBonus(_arg1:int=1):Object{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; var _local6:Object; var _local7:Array; var _local8:int; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return ({dodge:0, cash_count:0, cash_total:0, msg_count:0, msg_total:0, enemy_count:0, enemy_total:0}); }; if (_local3.data.level_bonuses == undefined){ return ({dodge:0, cash_count:0, cash_total:0, msg_count:0, msg_total:0, enemy_count:0, enemy_total:0}); }; _local6 = {dodge:0, cash_count:0, cash_total:0, msg_count:0, msg_total:0, enemy_count:0, enemy_total:0}; _local7 = _local3.data.level_bonuses; _local8 = 0; while (_local8 < _local7.length) { if (_local7[_local8] != undefined){ _local6.dodge = (_local6.dodge + (_local7[_local8].dodge) ? 1 : 0); _local6.cash_count = (_local6.cash_count + _local7[_local8].cash_count); _local6.cash_total = (_local6.cash_total + _local7[_local8].cash_total); _local6.msg_count = (_local6.msg_count + _local7[_local8].msg_count); _local6.msg_total = (_local6.msg_total + _local7[_local8].msg_total); _local6.enemy_count = (_local6.enemy_count + _local7[_local8].enemy_count); _local6.enemy_total = (_local6.enemy_total + _local7[_local8].enemy_total); }; _local8++; }; return (_local6); } public static function isAtURL(... _args):Boolean{ var _local2:Boolean; var _local3:int; var _local4:Array; var _local5:int; var _local6:String; var _local7:String; _local2 = false; if (_args.length == 0){ _args.push(NITROME); }; _local3 = 0; while (_local3 < _args.length) { if (_args[_local3] == NITROME){ _local4 = NITROME_URL; } else { if (_args[_local3] == MINICLIP){ _local4 = MINICLIP_URL; } else { if (_args[_local3] == CANDYSTAND){ _local4 = CANDYSTAND_URL; } else { if (_args[_local3] == ARMOR){ _local4 = ARMOR_URL; }; }; }; }; _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5]; if (url.substr(0, _local6.length) == _local6){ _local2 = true; break; }; _local5++; }; _local5 = 1; while (_local5 <= 30) { _local7 = DOMAINS[_args[_local3]]; if (url.substr(_local5, _local7.length) == _local7){ _local2 = true; }; _local5++; }; _local3++; }; return (_local2); } public static function set last_level(_arg1:int):void{ _last_level.value = _arg1; } public static function set music(_arg1:Boolean):void{ var _local2:String; var _local3:SharedObject; _local2 = ("so_" + game_id); _local3 = SharedObject.getLocal(_local2); _local3.data.musicon = _arg1; _local3.flush(); _local3.close(); } public static function setLevelUnlocked(_arg1:int, _arg2:int=1):void{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; var _local7:Array; var _local8:int; _local3 = (("so_" + game_id) + _arg2); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; _local7 = new Array(total_levels); if (!_local5){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; } else { if (_local4.data.levels_unlocked == undefined){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; } else { _local7 = _local4.data.levels_unlocked; }; }; _local7[_arg1] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); } public static function get leading_zero():Boolean{ return (_leading_zero); } public static function getLevelScore(_arg1:int, _arg2:int=1):int{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; _local3 = (("so_" + game_id) + String(_arg2)); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; if (!_local5){ return (0); }; if (_local4.data.level_scores == undefined){ return (0); }; if (_local4.data.level_scores[_arg1] == undefined){ return (0); }; return (_local4.data.level_scores[_arg1]); } public static function displayPreviousButton(_arg1:String):Boolean{ var _local2:Array; var _local3:String; _local2 = _arg1.split("|"); _local3 = _local2[11]; if (_local3 == "1"){ return (true); }; if (_local3 == "0"){ return (false); }; return (false); } public static function get url():String{ return (_url); } public static function setLevelScore(_arg1:int, _arg2:int, _arg3:int=1):void{ var _local4:String; var _local5:SharedObject; var _local6:Boolean; var _local7:*; _local4 = (("so_" + game_id) + _arg3); _local5 = SharedObject.getLocal(_local4); _local6 = false; for each (_local7 in _local5.data) { _local6 = true; break; }; if (!_local6){ _local5.data.level_scores = []; _local5.data.level_scores[_arg2] = _arg1; } else { if (_local5.data.level_scores == undefined){ _local5.data.level_scores = new Array(); _local5.data.level_scores[_arg2] = _arg1; } else { _local5.data.level_scores[_arg2] = _arg1; }; }; _local5.flush(); _local5.close(); } public static function getHighScoreLine(_arg1:String, _arg2:int):Object{ var _local3:Array; var _local4:String; var _local5:Array; var _local6:Object; _local3 = _arg1.split("|"); _local4 = _local3[(_arg2 - 1)]; if ((((((((_local4 == "0")) || ((_local4 == "1")))) || ((_local4 == null)))) || ((_local4 == "")))){ return (null); }; _local5 = _local4.split("_"); if ((((_local5[1] == "n")) || ((_local5[2] == "n")))){ return (null); }; _local6 = {}; _local6.username = _local5[2]; _local6.score = _local5[1]; _local6.rank = _local5[0]; return (_local6); } public static function displayNextButton(_arg1:String):Boolean{ var _local2:Array; var _local3:String; _local2 = _arg1.split("|"); _local3 = _local2[10]; if (_local3 == "1"){ return (true); }; if (_local3 == "0"){ return (false); }; return (false); } public static function getLastSavedScore(_arg1:int=1):int{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return (0); }; if (_local3.data.last_saved_score == undefined){ return (0); }; return (_local3.data.last_saved_score); } public static function getLevelName(_arg1:Number, _arg2:String=".xml"):String{ var _local3:MD5; var _local4:String; var _local5:String; _local3 = new MD5(); _local4 = ""; if (leading_zero){ if (_arg1 < 10){ _local4 = "0"; }; }; _local5 = _local3.hash(String(((level_id + _local4) + _arg1))); return ((_local5 + _arg2)); } public static function setLastSavedScore(_arg1:int, _arg2:int=1):void{ var _local3:String; var _local4:SharedObject; _local3 = (("so_" + game_id) + String(_arg2)); _local4 = SharedObject.getLocal(_local3); _local4.data.last_saved_score = _arg1; _local4.flush(); _local4.close(); } public static function lockAllLevels(_arg1:int=1):void{ var _local2:String; var _local3:SharedObject; var _local4:Array; var _local5:int; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = new Array(total_levels); _local5 = 0; while (_local5 < _local4.length) { _local4[_local5] = 0; _local5++; }; _local4[0] = 1; _local3.data.levels_unlocked = _local4; _local3.flush(); _local3.close(); } public static function get game_id():String{ return (_game_id); } public static function set leading_zero(_arg1:Boolean):void{ _leading_zero = _arg1; } public static function unlockAllLevels(_arg1:int=1):void{ var _local2:String; var _local3:SharedObject; var _local4:Array; var _local5:int; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = new Array(total_levels); _local5 = 0; while (_local5 < _local4.length) { _local4[_local5] = 1; _local5++; }; _local3.data.levels_unlocked = _local4; _local3.flush(); _local3.close(); } public static function get sfx():Boolean{ var _local1:String; var _local2:SharedObject; var _local3:Boolean; var _local4:*; _local1 = ("so_" + game_id); _local2 = SharedObject.getLocal(_local1); _local3 = false; for each (_local4 in _local2.data) { _local3 = true; break; }; if (_local3){ if (_local2.data.sfxon != undefined){ return (_local2.data.sfxon); }; return (true); //unresolved jump }; return (true); } public static function get last_level():int{ return (_last_level.value); } public static function getSwfPath():String{ var _local1:String; var _local2:int; _local1 = url; _local2 = _local1.length; while (_local2 >= 0) { if (_local1.charAt(_local2) == "/"){ _local1 = _local1.slice(0, (_local2 + 1)); break; }; _local2--; }; return (_local1); } public static function getScoreData(_arg1:int, _arg2:String):String{ var _local3:String; var _local4:String; _local3 = ((((String(_arg1) + "_") + game_id) + "_") + _arg2.toLowerCase()); trace(("encrypting: " + _local3)); _local4 = encryptString(ar_key, _local3); trace(("encrypted: " + _local4)); trace(("decrypted: " + decryptString(ar_key, _local4))); return (_local4); } private static function convertKey(_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:String; var _local6:int; var _local7:int; _local2 = []; _local2.push(_arg1.length); _local3 = 0; _local4 = 0; while (_local4 < _arg1.length) { _local5 = _arg1.substr(_local4, 1); _local7 = 0; while (_local7 < ar_1.length) { if (ar_1[_local7] == _local5){ _local6 = _local7; break; }; _local7++; }; _local2.push(_local6); _local3 = (_local3 + _local6); _local4++; }; _local2.push(_local3); return (_local2); } public static function set time_based(_arg1:Boolean):void{ _time_based = _arg1; } public static function get level_id():String{ return (_level_id); } public static function getBonusScore(_arg1:int=1):int{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; var _local6:int; var _local7:int; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return (0); }; if (_local3.data.level_scores == undefined){ return (0); }; _local6 = 0; _local7 = 0; while (_local7 < _local3.data.level_scores.length) { if (((!((_local3.data.level_scores[_local7] == undefined))) && (!(isNaN(_local3.data.level_scores[_local7]))))){ _local6 = (_local6 + _local3.data.level_scores[_local7]); }; _local7++; }; return (_local6); } public static function get time_based():Boolean{ return (_time_based); } public static function getGameComplete(_arg1:int=1):Boolean{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return (false); }; return (Boolean(_local3.data.completed)); } public static function get total_levels():int{ return (_total_levels); } public static function set selected_level(_arg1:int):void{ _selected_level.value = _arg1; if (_arg1 > _last_level.value){ _last_level.value = _arg1; }; } public static function getLevelUnlocked(_arg1:int, _arg2:int=1):Boolean{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; var _local7:Array; var _local8:int; _local3 = (("so_" + game_id) + _arg2); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; _local7 = new Array(total_levels); if (!_local5){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); if (_arg1 == 0){ return (true); }; return (false); } else { if (_local4.data.levels_unlocked == undefined){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); if (_arg1 == 0){ return (true); }; return (false); } else { if (_local4.data.levels_unlocked[_arg1] == 1){ return (true); }; if (_local4.data.levels_unlocked[_arg1] == 0){ return (false); }; }; }; return (false); } public static function setGameComplete(_arg1:int=1):void{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ _local3.data.completed = true; } else { _local3.data.completed = true; }; _local3.flush(); _local3.close(); } private static function encryptString(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Number; var _local5:int; var _local6:String; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:String; adj = 1.75; ff = convertKey(_arg1); _local3 = ""; _local4 = 0; _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2.substr(_local5, 1); _local8 = 0; while (_local8 < ar_1.length) { if (ar_1[_local8] == _local6){ _local7 = _local8; break; }; _local8++; }; adj = applyFudgeFactor(); _local9 = (_local4 + adj); _local10 = (Math.round(_local9) + _local7); _local10 = checkRange(_local10); _local4 = (_local9 + _local10); _local11 = ar_2[_local10]; _local3 = (_local3 + _local11); _local5++; }; return (_local3); } public static function get selected_level():int{ return (_selected_level.value); } public static function getLevelBonus(_arg1:int, _arg2:int=1):Object{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; _local3 = (("so_" + game_id) + String(_arg2)); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; if (!_local5){ return ({dodge:false, cash_count:0, cash_total:0, msg_count:0, msg_total:0, enemy_count:0, enemy_total:0}); }; if (_local4.data.level_bonuses == undefined){ return ({}); }; if (_local4.data.level_bonuses[_arg1] == undefined){ return ({}); }; return (_local4.data.level_bonuses[_arg1]); } private static function applyFudgeFactor():Number{ var _local1:Number; _local1 = Number(ff.shift()); _local1 = (_local1 + adj); ff.push(_local1); return (_local1); } public static function setLevelBonus(_arg1:Object, _arg2:int, _arg3:int=1):void{ var _local4:String; var _local5:SharedObject; var _local6:Boolean; var _local7:*; _local4 = (("so_" + game_id) + _arg3); _local5 = SharedObject.getLocal(_local4); _local6 = false; for each (_local7 in _local5.data) { _local6 = true; break; }; if (!_local6){ _local5.data.level_bonuses = []; _local5.data.level_bonuses[_arg2] = _arg1; } else { if (_local5.data.level_bonuses == undefined){ _local5.data.level_bonuses = []; _local5.data.level_bonuses[_arg2] = _arg1; } else { _local5.data.level_bonuses[_arg2] = _arg1; }; }; _local5.flush(); _local5.close(); } } }//package
Section 587
//OuchFinishMC (OuchFinishMC) package { import flash.display.*; public dynamic class OuchFinishMC extends MovieClip { } }//package
Section 588
//PlayerMC (PlayerMC) package { import flash.display.*; public dynamic class PlayerMC extends MovieClip { public var body:MovieClip; public function PlayerMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 589
//PrevArrow (PrevArrow) package { import com.nitrome.highscore.*; public dynamic class PrevArrow extends ArrowButton { public function PrevArrow(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 590
//RightArmMC (RightArmMC) package { import flash.display.*; public dynamic class RightArmMC extends MovieClip { public function RightArmMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 591
//RotoGunMC (RotoGunMC) package { import flash.display.*; public dynamic class RotoGunMC extends MovieClip { public var gun:MovieClip; } }//package
Section 592
//ScannerMC1 (ScannerMC1) package { import flash.display.*; public dynamic class ScannerMC1 extends MovieClip { } }//package
Section 593
//ScannerMC2 (ScannerMC2) package { import flash.display.*; public dynamic class ScannerMC2 extends MovieClip { } }//package
Section 594
//ScannerMC3 (ScannerMC3) package { import flash.display.*; public dynamic class ScannerMC3 extends MovieClip { } }//package
Section 595
//ScannerMC4 (ScannerMC4) package { import flash.display.*; public dynamic class ScannerMC4 extends MovieClip { } }//package
Section 596
//ScannerMC5 (ScannerMC5) package { import flash.display.*; public dynamic class ScannerMC5 extends MovieClip { public var scanner:MovieClip; } }//package
Section 597
//ScannerMC6 (ScannerMC6) package { import flash.display.*; public dynamic class ScannerMC6 extends MovieClip { public var scanner:MovieClip; } }//package
Section 598
//ScannerMC7 (ScannerMC7) package { import flash.display.*; public dynamic class ScannerMC7 extends MovieClip { public var scanner:MovieClip; } }//package
Section 599
//ScannerMC8 (ScannerMC8) package { import flash.display.*; public dynamic class ScannerMC8 extends MovieClip { public var scanner:MovieClip; } }//package
Section 600
//ScientistMC (ScientistMC) package { import flash.display.*; public dynamic class ScientistMC extends MovieClip { public var stun:MovieClip; public function ScientistMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 601
//ScoreLine (ScoreLine) package { import com.nitrome.highscore.*; public dynamic class ScoreLine extends HighScoreLine { } }//package
Section 602
//ScoreSubmitPanel (ScoreSubmitPanel) package { import com.nitrome.highscore.*; public dynamic class ScoreSubmitPanel extends ScoreSubmitPanel { public function ScoreSubmitPanel(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 603
//SightMC (SightMC) package { import flash.display.*; public dynamic class SightMC extends MovieClip { public function SightMC(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 604
//SmallShieldMC (SmallShieldMC) package { import flash.display.*; public dynamic class SmallShieldMC extends Sprite { } }//package
Section 605
//SmokeHitMC (SmokeHitMC) package { import flash.display.*; public dynamic class SmokeHitMC extends MovieClip { } }//package
Section 606
//SniperMC (SniperMC) package { import flash.display.*; public dynamic class SniperMC extends MovieClip { } }//package
Section 607
//SniperShotMC (SniperShotMC) package { import flash.display.*; public dynamic class SniperShotMC extends MovieClip { } }//package
Section 608
//SpawnBackMC1 (SpawnBackMC1) package { import flash.display.*; public dynamic class SpawnBackMC1 extends Sprite { } }//package
Section 609
//SpawnBackMC2 (SpawnBackMC2) package { import flash.display.*; public dynamic class SpawnBackMC2 extends Sprite { } }//package
Section 610
//SpawnMC1 (SpawnMC1) package { import flash.display.*; public dynamic class SpawnMC1 extends MovieClip { public function SpawnMC1(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package
Section 611
//SpawnMC2 (SpawnMC2) package { import flash.display.*; public dynamic class SpawnMC2 extends MovieClip { public function SpawnMC2(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package
Section 612
//SpiderMC (SpiderMC) package { import flash.display.*; public dynamic class SpiderMC extends MovieClip { public var light:MovieClip; public var body:MovieClip; } }//package
Section 613
//StealthOutlineMC (StealthOutlineMC) package { import flash.display.*; public dynamic class StealthOutlineMC extends Sprite { } }//package
Section 614
//StoryFont (StoryFont) package { import flash.text.*; public dynamic class StoryFont extends Font { } }//package
Section 615
//SubMC (SubMC) package { import flash.display.*; public dynamic class SubMC extends Sprite { } }//package
Section 616
//SubmitButton (SubmitButton) package { import com.nitrome.highscore.*; public dynamic class SubmitButton extends SubmitButton { public function SubmitButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 617
//WallSlideLeftMC (WallSlideLeftMC) package { import flash.display.*; public dynamic class WallSlideLeftMC extends MovieClip { } }//package
Section 618
//WallSlideRightMC (WallSlideRightMC) package { import flash.display.*; public dynamic class WallSlideRightMC extends MovieClip { } }//package
Section 619
//WaterLineMC (WaterLineMC) package { import flash.display.*; public dynamic class WaterLineMC extends MovieClip { public var bubbleHolder:MovieClip; } }//package
Section 620
//WhiteMC1 (WhiteMC1) package { import flash.display.*; public dynamic class WhiteMC1 extends Sprite { } }//package
Section 621
//WhiteMC10 (WhiteMC10) package { import flash.display.*; public dynamic class WhiteMC10 extends Sprite { } }//package
Section 622
//WhiteMC11 (WhiteMC11) package { import flash.display.*; public dynamic class WhiteMC11 extends Sprite { } }//package
Section 623
//WhiteMC12 (WhiteMC12) package { import flash.display.*; public dynamic class WhiteMC12 extends Sprite { } }//package
Section 624
//WhiteMC13 (WhiteMC13) package { import flash.display.*; public dynamic class WhiteMC13 extends Sprite { } }//package
Section 625
//WhiteMC14 (WhiteMC14) package { import flash.display.*; public dynamic class WhiteMC14 extends Sprite { } }//package
Section 626
//WhiteMC15 (WhiteMC15) package { import flash.display.*; public dynamic class WhiteMC15 extends Sprite { } }//package
Section 627
//WhiteMC16 (WhiteMC16) package { import flash.display.*; public dynamic class WhiteMC16 extends Sprite { } }//package
Section 628
//WhiteMC17 (WhiteMC17) package { import flash.display.*; public dynamic class WhiteMC17 extends Sprite { } }//package
Section 629
//WhiteMC18 (WhiteMC18) package { import flash.display.*; public dynamic class WhiteMC18 extends Sprite { } }//package
Section 630
//WhiteMC19 (WhiteMC19) package { import flash.display.*; public dynamic class WhiteMC19 extends Sprite { } }//package
Section 631
//WhiteMC2 (WhiteMC2) package { import flash.display.*; public dynamic class WhiteMC2 extends Sprite { } }//package
Section 632
//WhiteMC20 (WhiteMC20) package { import flash.display.*; public dynamic class WhiteMC20 extends Sprite { } }//package
Section 633
//WhiteMC21 (WhiteMC21) package { import flash.display.*; public dynamic class WhiteMC21 extends Sprite { } }//package
Section 634
//WhiteMC22 (WhiteMC22) package { import flash.display.*; public dynamic class WhiteMC22 extends Sprite { } }//package
Section 635
//WhiteMC23 (WhiteMC23) package { import flash.display.*; public dynamic class WhiteMC23 extends Sprite { } }//package
Section 636
//WhiteMC24 (WhiteMC24) package { import flash.display.*; public dynamic class WhiteMC24 extends Sprite { } }//package
Section 637
//WhiteMC25 (WhiteMC25) package { import flash.display.*; public dynamic class WhiteMC25 extends Sprite { } }//package
Section 638
//WhiteMC26 (WhiteMC26) package { import flash.display.*; public dynamic class WhiteMC26 extends Sprite { } }//package
Section 639
//WhiteMC27 (WhiteMC27) package { import flash.display.*; public dynamic class WhiteMC27 extends Sprite { } }//package
Section 640
//WhiteMC28 (WhiteMC28) package { import flash.display.*; public dynamic class WhiteMC28 extends Sprite { } }//package
Section 641
//WhiteMC29 (WhiteMC29) package { import flash.display.*; public dynamic class WhiteMC29 extends Sprite { } }//package
Section 642
//WhiteMC3 (WhiteMC3) package { import flash.display.*; public dynamic class WhiteMC3 extends Sprite { } }//package
Section 643
//WhiteMC30 (WhiteMC30) package { import flash.display.*; public dynamic class WhiteMC30 extends Sprite { } }//package
Section 644
//WhiteMC31 (WhiteMC31) package { import flash.display.*; public dynamic class WhiteMC31 extends Sprite { } }//package
Section 645
//WhiteMC32 (WhiteMC32) package { import flash.display.*; public dynamic class WhiteMC32 extends Sprite { } }//package
Section 646
//WhiteMC33 (WhiteMC33) package { import flash.display.*; public dynamic class WhiteMC33 extends Sprite { } }//package
Section 647
//WhiteMC4 (WhiteMC4) package { import flash.display.*; public dynamic class WhiteMC4 extends Sprite { } }//package
Section 648
//WhiteMC5 (WhiteMC5) package { import flash.display.*; public dynamic class WhiteMC5 extends Sprite { } }//package
Section 649
//WhiteMC6 (WhiteMC6) package { import flash.display.*; public dynamic class WhiteMC6 extends Sprite { } }//package
Section 650
//WhiteMC7 (WhiteMC7) package { import flash.display.*; public dynamic class WhiteMC7 extends Sprite { } }//package
Section 651
//WhiteMC8 (WhiteMC8) package { import flash.display.*; public dynamic class WhiteMC8 extends Sprite { } }//package
Section 652
//WhiteMC9 (WhiteMC9) package { import flash.display.*; public dynamic class WhiteMC9 extends Sprite { } }//package
Section 653
//WireMC1 (WireMC1) package { import flash.display.*; public dynamic class WireMC1 extends Sprite { } }//package
Section 654
//WireMC10 (WireMC10) package { import flash.display.*; public dynamic class WireMC10 extends Sprite { } }//package
Section 655
//WireMC11 (WireMC11) package { import flash.display.*; public dynamic class WireMC11 extends Sprite { } }//package
Section 656
//WireMC12 (WireMC12) package { import flash.display.*; public dynamic class WireMC12 extends Sprite { } }//package
Section 657
//WireMC2 (WireMC2) package { import flash.display.*; public dynamic class WireMC2 extends Sprite { } }//package
Section 658
//WireMC3 (WireMC3) package { import flash.display.*; public dynamic class WireMC3 extends Sprite { } }//package
Section 659
//WireMC4 (WireMC4) package { import flash.display.*; public dynamic class WireMC4 extends Sprite { } }//package
Section 660
//WireMC5 (WireMC5) package { import flash.display.*; public dynamic class WireMC5 extends Sprite { } }//package
Section 661
//WireMC6 (WireMC6) package { import flash.display.*; public dynamic class WireMC6 extends Sprite { } }//package
Section 662
//WireMC7 (WireMC7) package { import flash.display.*; public dynamic class WireMC7 extends Sprite { } }//package
Section 663
//WireMC8 (WireMC8) package { import flash.display.*; public dynamic class WireMC8 extends Sprite { } }//package
Section 664
//WireMC9 (WireMC9) package { import flash.display.*; public dynamic class WireMC9 extends Sprite { } }//package

Library Items

Symbol 1 GraphicUsed by:2 923 2887 2895 2901 2907
Symbol 2 MovieClip {com.nitrome.game.ArmorButton}Uses:1Used by:Timeline
Symbol 3 GraphicUsed by:Timeline
Symbol 4 BitmapUsed by:5
Symbol 5 GraphicUses:4Used by:6
Symbol 6 MovieClipUses:5Used by:1261 1266 1269 1272 1275 1278 1307 1308 1467  Timeline
Symbol 7 Font {StoryFont}Used by:8 1259 1260 1262 1265 1267 1268 1270 1271 1273 1274 1276 1277 1283 1284 1288 1289 1293 1294 1298 1299 1301 1302 1304 1305 1320 1329 1337 1361 1362 1363 1364 1366 1367 1370 1431 1435 1438 1439 1440 1442 1443 1445 1446 1448 1450 1451 1453 1454 1456 1457 1461 1463 1464 2987 2988 2989 2990 2997 3000 3007 3010 3103
Symbol 8 EditableTextUses:7Used by:Timeline
Symbol 9 MovieClip {com.nitrome.game.Transition}Used by:2955 3105  Timeline
Symbol 10 GraphicUsed by:2955
Symbol 11 BitmapUsed by:12
Symbol 12 GraphicUses:11Used by:13
Symbol 13 MovieClip {SubMC}Uses:12Used by:2955
Symbol 14 BitmapUsed by:15
Symbol 15 GraphicUses:14Used by:123
Symbol 16 BitmapUsed by:17
Symbol 17 GraphicUses:16Used by:123
Symbol 18 BitmapUsed by:19
Symbol 19 GraphicUses:18Used by:123
Symbol 20 BitmapUsed by:21
Symbol 21 GraphicUses:20Used by:123
Symbol 22 BitmapUsed by:23
Symbol 23 GraphicUses:22Used by:123
Symbol 24 BitmapUsed by:25
Symbol 25 GraphicUses:24Used by:123
Symbol 26 BitmapUsed by:27
Symbol 27 GraphicUses:26Used by:123
Symbol 28 BitmapUsed by:29
Symbol 29 GraphicUses:28Used by:123
Symbol 30 BitmapUsed by:31
Symbol 31 GraphicUses:30Used by:123
Symbol 32 BitmapUsed by:33
Symbol 33 GraphicUses:32Used by:123
Symbol 34 BitmapUsed by:35
Symbol 35 GraphicUses:34Used by:123
Symbol 36 BitmapUsed by:37
Symbol 37 GraphicUses:36Used by:123
Symbol 38 BitmapUsed by:39
Symbol 39 GraphicUses:38Used by:123
Symbol 40 BitmapUsed by:41
Symbol 41 GraphicUses:40Used by:123
Symbol 42 BitmapUsed by:43
Symbol 43 GraphicUses:42Used by:123
Symbol 44 BitmapUsed by:45
Symbol 45 GraphicUses:44Used by:123
Symbol 46 BitmapUsed by:47
Symbol 47 GraphicUses:46Used by:123
Symbol 48 BitmapUsed by:49 71 72 73 74 75 76 77
Symbol 49 GraphicUses:48Used by:123
Symbol 50 BitmapUsed by:51 78 79 80 81 82 83 84
Symbol 51 GraphicUses:50Used by:123
Symbol 52 BitmapUsed by:53 85 86 87 88 89 90 91
Symbol 53 GraphicUses:52Used by:123
Symbol 54 BitmapUsed by:55
Symbol 55 GraphicUses:54Used by:123
Symbol 56 BitmapUsed by:57
Symbol 57 GraphicUses:56Used by:123
Symbol 58 BitmapUsed by:59
Symbol 59 GraphicUses:58Used by:123
Symbol 60 BitmapUsed by:61
Symbol 61 GraphicUses:60Used by:123
Symbol 62 BitmapUsed by:63 68
Symbol 63 GraphicUses:62Used by:123
Symbol 64 BitmapUsed by:65 69
Symbol 65 GraphicUses:64Used by:123
Symbol 66 BitmapUsed by:67 70
Symbol 67 GraphicUses:66Used by:123
Symbol 68 GraphicUses:62Used by:123
Symbol 69 GraphicUses:64Used by:123
Symbol 70 GraphicUses:66Used by:123
Symbol 71 GraphicUses:48Used by:123
Symbol 72 GraphicUses:48Used by:123
Symbol 73 GraphicUses:48Used by:123
Symbol 74 GraphicUses:48Used by:123
Symbol 75 GraphicUses:48Used by:123
Symbol 76 GraphicUses:48Used by:123
Symbol 77 GraphicUses:48Used by:123
Symbol 78 GraphicUses:50Used by:123
Symbol 79 GraphicUses:50Used by:123
Symbol 80 GraphicUses:50Used by:123
Symbol 81 GraphicUses:50Used by:123
Symbol 82 GraphicUses:50Used by:123
Symbol 83 GraphicUses:50Used by:123
Symbol 84 GraphicUses:50Used by:123
Symbol 85 GraphicUses:52Used by:123
Symbol 86 GraphicUses:52Used by:123
Symbol 87 GraphicUses:52Used by:123
Symbol 88 GraphicUses:52Used by:123
Symbol 89 GraphicUses:52Used by:123
Symbol 90 GraphicUses:52Used by:123
Symbol 91 GraphicUses:52Used by:123
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:123
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:123
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:123
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:123
Symbol 100 BitmapUsed by:101
Symbol 101 GraphicUses:100Used by:123
Symbol 102 BitmapUsed by:103
Symbol 103 GraphicUses:102Used by:123
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:123
Symbol 106 BitmapUsed by:107
Symbol 107 GraphicUses:106Used by:123
Symbol 108 BitmapUsed by:109 114 117 118
Symbol 109 GraphicUses:108Used by:123
Symbol 110 BitmapUsed by:111 115 119 120
Symbol 111 GraphicUses:110Used by:123
Symbol 112 BitmapUsed by:113 116 121 122
Symbol 113 GraphicUses:112Used by:123
Symbol 114 GraphicUses:108Used by:123
Symbol 115 GraphicUses:110Used by:123
Symbol 116 GraphicUses:112Used by:123
Symbol 117 GraphicUses:108Used by:123
Symbol 118 GraphicUses:108Used by:123
Symbol 119 GraphicUses:110Used by:123
Symbol 120 GraphicUses:110Used by:123
Symbol 121 GraphicUses:112Used by:123
Symbol 122 GraphicUses:112Used by:123
Symbol 123 MovieClip {FrontArrayMC}Uses:15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 93 95 97 99 101 103 105 107 109 111 113 114 115 116 117 118 119 120 121 122Used by:2955
Symbol 124 BitmapUsed by:125
Symbol 125 GraphicUses:124Used by:532
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:126Used by:532
Symbol 128 BitmapUsed by:129
Symbol 129 GraphicUses:128Used by:532
Symbol 130 BitmapUsed by:131
Symbol 131 GraphicUses:130Used by:532
Symbol 132 BitmapUsed by:133
Symbol 133 GraphicUses:132Used by:532
Symbol 134 BitmapUsed by:135 136
Symbol 135 GraphicUses:134Used by:532
Symbol 136 GraphicUses:134Used by:532
Symbol 137 BitmapUsed by:138 139
Symbol 138 GraphicUses:137Used by:532
Symbol 139 GraphicUses:137Used by:532
Symbol 140 BitmapUsed by:141 142
Symbol 141 GraphicUses:140Used by:532
Symbol 142 GraphicUses:140Used by:532
Symbol 143 BitmapUsed by:144 145
Symbol 144 GraphicUses:143Used by:532
Symbol 145 GraphicUses:143Used by:532
Symbol 146 BitmapUsed by:147 148
Symbol 147 GraphicUses:146Used by:532
Symbol 148 GraphicUses:146Used by:532
Symbol 149 BitmapUsed by:150 151
Symbol 150 GraphicUses:149Used by:532
Symbol 151 GraphicUses:149Used by:532
Symbol 152 BitmapUsed by:153 154
Symbol 153 GraphicUses:152Used by:532
Symbol 154 GraphicUses:152Used by:532
Symbol 155 BitmapUsed by:156 157
Symbol 156 GraphicUses:155Used by:532
Symbol 157 GraphicUses:155Used by:532
Symbol 158 BitmapUsed by:159 160
Symbol 159 GraphicUses:158Used by:532
Symbol 160 GraphicUses:158Used by:532
Symbol 161 BitmapUsed by:162 163
Symbol 162 GraphicUses:161Used by:532
Symbol 163 GraphicUses:161Used by:532
Symbol 164 BitmapUsed by:165 166
Symbol 165 GraphicUses:164Used by:532
Symbol 166 GraphicUses:164Used by:532
Symbol 167 BitmapUsed by:168 169
Symbol 168 GraphicUses:167Used by:532
Symbol 169 GraphicUses:167Used by:532
Symbol 170 BitmapUsed by:171 172
Symbol 171 GraphicUses:170Used by:532
Symbol 172 GraphicUses:170Used by:532
Symbol 173 BitmapUsed by:174 175
Symbol 174 GraphicUses:173Used by:532
Symbol 175 GraphicUses:173Used by:532
Symbol 176 BitmapUsed by:177 178
Symbol 177 GraphicUses:176Used by:532
Symbol 178 GraphicUses:176Used by:532
Symbol 179 BitmapUsed by:180
Symbol 180 GraphicUses:179Used by:532
Symbol 181 BitmapUsed by:182 183 184 185
Symbol 182 GraphicUses:181Used by:532
Symbol 183 GraphicUses:181Used by:532
Symbol 184 GraphicUses:181Used by:532
Symbol 185 GraphicUses:181Used by:532
Symbol 186 BitmapUsed by:187
Symbol 187 GraphicUses:186Used by:532
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:532
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:532
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:532
Symbol 194 BitmapUsed by:195 196 197 198
Symbol 195 GraphicUses:194Used by:532
Symbol 196 GraphicUses:194Used by:532
Symbol 197 GraphicUses:194Used by:532
Symbol 198 GraphicUses:194Used by:532
Symbol 199 BitmapUsed by:200
Symbol 200 GraphicUses:199Used by:532
Symbol 201 BitmapUsed by:202
Symbol 202 GraphicUses:201Used by:532
Symbol 203 BitmapUsed by:204
Symbol 204 GraphicUses:203Used by:532
Symbol 205 BitmapUsed by:206 207
Symbol 206 GraphicUses:205Used by:532
Symbol 207 GraphicUses:205Used by:532
Symbol 208 BitmapUsed by:209 210 211 212
Symbol 209 GraphicUses:208Used by:532
Symbol 210 GraphicUses:208Used by:532
Symbol 211 GraphicUses:208Used by:532
Symbol 212 GraphicUses:208Used by:532
Symbol 213 BitmapUsed by:214
Symbol 214 GraphicUses:213Used by:532
Symbol 215 BitmapUsed by:216
Symbol 216 GraphicUses:215Used by:532
Symbol 217 BitmapUsed by:218
Symbol 218 GraphicUses:217Used by:532
Symbol 219 BitmapUsed by:220
Symbol 220 GraphicUses:219Used by:532
Symbol 221 BitmapUsed by:222
Symbol 222 GraphicUses:221Used by:532
Symbol 223 BitmapUsed by:224
Symbol 224 GraphicUses:223Used by:532
Symbol 225 BitmapUsed by:226 227
Symbol 226 GraphicUses:225Used by:532
Symbol 227 GraphicUses:225Used by:532
Symbol 228 BitmapUsed by:229
Symbol 229 GraphicUses:228Used by:532
Symbol 230 BitmapUsed by:231 232
Symbol 231 GraphicUses:230Used by:532
Symbol 232 GraphicUses:230Used by:532
Symbol 233 BitmapUsed by:234
Symbol 234 GraphicUses:233Used by:532
Symbol 235 BitmapUsed by:236
Symbol 236 GraphicUses:235Used by:532
Symbol 237 BitmapUsed by:238 239
Symbol 238 GraphicUses:237Used by:532
Symbol 239 GraphicUses:237Used by:532
Symbol 240 BitmapUsed by:241 242
Symbol 241 GraphicUses:240Used by:532
Symbol 242 GraphicUses:240Used by:532
Symbol 243 BitmapUsed by:244 245 246 247
Symbol 244 GraphicUses:243Used by:532
Symbol 245 GraphicUses:243Used by:532
Symbol 246 GraphicUses:243Used by:532
Symbol 247 GraphicUses:243Used by:532
Symbol 248 BitmapUsed by:249
Symbol 249 GraphicUses:248Used by:532
Symbol 250 BitmapUsed by:251
Symbol 251 GraphicUses:250Used by:532
Symbol 252 BitmapUsed by:253
Symbol 253 GraphicUses:252Used by:532
Symbol 254 BitmapUsed by:255
Symbol 255 GraphicUses:254Used by:532
Symbol 256 BitmapUsed by:257
Symbol 257 GraphicUses:256Used by:532
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:532
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:532
Symbol 262 BitmapUsed by:263 1347 1372 1389 1397 1403
Symbol 263 GraphicUses:262Used by:532
Symbol 264 BitmapUsed by:265 266
Symbol 265 GraphicUses:264Used by:532
Symbol 266 GraphicUses:264Used by:532
Symbol 267 BitmapUsed by:268
Symbol 268 GraphicUses:267Used by:532
Symbol 269 BitmapUsed by:270 271
Symbol 270 GraphicUses:269Used by:532
Symbol 271 GraphicUses:269Used by:532
Symbol 272 BitmapUsed by:273
Symbol 273 GraphicUses:272Used by:532
Symbol 274 BitmapUsed by:277 278 279 280 323 324 325 326
Symbol 275 BitmapUsed by:277 278 279 280 323 324 325 326
Symbol 276 BitmapUsed by:277 278 279 280
Symbol 277 GraphicUses:274 275 276Used by:532
Symbol 278 GraphicUses:274 275 276Used by:532
Symbol 279 GraphicUses:274 275 276Used by:532
Symbol 280 GraphicUses:274 275 276Used by:532
Symbol 281 BitmapUsed by:282
Symbol 282 GraphicUses:281Used by:532
Symbol 283 BitmapUsed by:284 285
Symbol 284 GraphicUses:283Used by:532
Symbol 285 GraphicUses:283Used by:532
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:286Used by:532
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288Used by:532
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:532
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:532
Symbol 294 BitmapUsed by:295 296
Symbol 295 GraphicUses:294Used by:532
Symbol 296 GraphicUses:294Used by:532
Symbol 297 BitmapUsed by:298 299 300 301
Symbol 298 GraphicUses:297Used by:532
Symbol 299 GraphicUses:297Used by:532
Symbol 300 GraphicUses:297Used by:532
Symbol 301 GraphicUses:297Used by:532
Symbol 302 BitmapUsed by:303
Symbol 303 GraphicUses:302Used by:532
Symbol 304 BitmapUsed by:305
Symbol 305 GraphicUses:304Used by:532
Symbol 306 BitmapUsed by:307 308 309 310
Symbol 307 GraphicUses:306Used by:532
Symbol 308 GraphicUses:306Used by:532
Symbol 309 GraphicUses:306Used by:532
Symbol 310 GraphicUses:306Used by:532
Symbol 311 BitmapUsed by:312
Symbol 312 GraphicUses:311Used by:532
Symbol 313 BitmapUsed by:314 315
Symbol 314 GraphicUses:313Used by:532
Symbol 315 GraphicUses:313Used by:532
Symbol 316 BitmapUsed by:317 318
Symbol 317 GraphicUses:316Used by:532
Symbol 318 GraphicUses:316Used by:532
Symbol 319 BitmapUsed by:320 321
Symbol 320 GraphicUses:319Used by:532
Symbol 321 GraphicUses:319Used by:532
Symbol 322 BitmapUsed by:323 324 325 326
Symbol 323 GraphicUses:274 275 322Used by:532
Symbol 324 GraphicUses:274 275 322Used by:532
Symbol 325 GraphicUses:274 275 322Used by:532
Symbol 326 GraphicUses:274 275 322Used by:532
Symbol 327 BitmapUsed by:328 329 330 331
Symbol 328 GraphicUses:327Used by:532
Symbol 329 GraphicUses:327Used by:532
Symbol 330 GraphicUses:327Used by:532
Symbol 331 GraphicUses:327Used by:532
Symbol 332 BitmapUsed by:333
Symbol 333 GraphicUses:332Used by:532
Symbol 334 BitmapUsed by:335
Symbol 335 GraphicUses:334Used by:532
Symbol 336 BitmapUsed by:337 338
Symbol 337 GraphicUses:336Used by:532
Symbol 338 GraphicUses:336Used by:532
Symbol 339 BitmapUsed by:340 341
Symbol 340 GraphicUses:339Used by:532
Symbol 341 GraphicUses:339Used by:532
Symbol 342 BitmapUsed by:343 344
Symbol 343 GraphicUses:342Used by:532
Symbol 344 GraphicUses:342Used by:532
Symbol 345 BitmapUsed by:346 347
Symbol 346 GraphicUses:345Used by:532
Symbol 347 GraphicUses:345Used by:532
Symbol 348 BitmapUsed by:349 350
Symbol 349 GraphicUses:348Used by:532
Symbol 350 GraphicUses:348Used by:532
Symbol 351 BitmapUsed by:352
Symbol 352 GraphicUses:351Used by:532
Symbol 353 BitmapUsed by:354
Symbol 354 GraphicUses:353Used by:532
Symbol 355 BitmapUsed by:356
Symbol 356 GraphicUses:355Used by:532
Symbol 357 BitmapUsed by:358 359 360 361
Symbol 358 GraphicUses:357Used by:532
Symbol 359 GraphicUses:357Used by:532
Symbol 360 GraphicUses:357Used by:532
Symbol 361 GraphicUses:357Used by:532
Symbol 362 BitmapUsed by:363
Symbol 363 GraphicUses:362Used by:532
Symbol 364 BitmapUsed by:365 366
Symbol 365 GraphicUses:364Used by:532
Symbol 366 GraphicUses:364Used by:532
Symbol 367 BitmapUsed by:368 369
Symbol 368 GraphicUses:367Used by:532
Symbol 369 GraphicUses:367Used by:532
Symbol 370 BitmapUsed by:371 372
Symbol 371 GraphicUses:370Used by:532
Symbol 372 GraphicUses:370Used by:532
Symbol 373 BitmapUsed by:374 375
Symbol 374 GraphicUses:373Used by:532
Symbol 375 GraphicUses:373Used by:532
Symbol 376 BitmapUsed by:377 378
Symbol 377 GraphicUses:376Used by:532
Symbol 378 GraphicUses:376Used by:532
Symbol 379 BitmapUsed by:380 381
Symbol 380 GraphicUses:379Used by:532
Symbol 381 GraphicUses:379Used by:532
Symbol 382 BitmapUsed by:383 384
Symbol 383 GraphicUses:382Used by:532
Symbol 384 GraphicUses:382Used by:532
Symbol 385 BitmapUsed by:386
Symbol 386 GraphicUses:385Used by:532
Symbol 387 BitmapUsed by:388
Symbol 388 GraphicUses:387Used by:532
Symbol 389 BitmapUsed by:390
Symbol 390 GraphicUses:389Used by:532
Symbol 391 BitmapUsed by:392
Symbol 392 GraphicUses:391Used by:532
Symbol 393 BitmapUsed by:394 395
Symbol 394 GraphicUses:393Used by:532
Symbol 395 GraphicUses:393Used by:532
Symbol 396 BitmapUsed by:397
Symbol 397 GraphicUses:396Used by:532
Symbol 398 BitmapUsed by:399 400
Symbol 399 GraphicUses:398Used by:532
Symbol 400 GraphicUses:398Used by:532
Symbol 401 BitmapUsed by:402 403
Symbol 402 GraphicUses:401Used by:532
Symbol 403 GraphicUses:401Used by:532
Symbol 404 BitmapUsed by:405 406
Symbol 405 GraphicUses:404Used by:532
Symbol 406 GraphicUses:404Used by:532
Symbol 407 BitmapUsed by:408 409 410 411
Symbol 408 GraphicUses:407Used by:532
Symbol 409 GraphicUses:407Used by:532
Symbol 410 GraphicUses:407Used by:532
Symbol 411 GraphicUses:407Used by:532
Symbol 412 BitmapUsed by:413 414 415 416
Symbol 413 GraphicUses:412Used by:532
Symbol 414 GraphicUses:412Used by:532
Symbol 415 GraphicUses:412Used by:532
Symbol 416 GraphicUses:412Used by:532
Symbol 417 BitmapUsed by:418 419
Symbol 418 GraphicUses:417Used by:532
Symbol 419 GraphicUses:417Used by:532
Symbol 420 BitmapUsed by:421 422
Symbol 421 GraphicUses:420Used by:532
Symbol 422 GraphicUses:420Used by:532
Symbol 423 BitmapUsed by:424
Symbol 424 GraphicUses:423Used by:532
Symbol 425 BitmapUsed by:426 427
Symbol 426 GraphicUses:425Used by:532
Symbol 427 GraphicUses:425Used by:532
Symbol 428 BitmapUsed by:429
Symbol 429 GraphicUses:428Used by:532
Symbol 430 BitmapUsed by:431 432
Symbol 431 GraphicUses:430Used by:532
Symbol 432 GraphicUses:430Used by:532
Symbol 433 BitmapUsed by:434 435
Symbol 434 GraphicUses:433Used by:532
Symbol 435 GraphicUses:433Used by:532
Symbol 436 BitmapUsed by:437 438 439 440
Symbol 437 GraphicUses:436Used by:532
Symbol 438 GraphicUses:436Used by:532
Symbol 439 GraphicUses:436Used by:532
Symbol 440 GraphicUses:436Used by:532
Symbol 441 BitmapUsed by:442
Symbol 442 GraphicUses:441Used by:532
Symbol 443 BitmapUsed by:444 445
Symbol 444 GraphicUses:443Used by:532
Symbol 445 GraphicUses:443Used by:532
Symbol 446 BitmapUsed by:447
Symbol 447 GraphicUses:446Used by:532
Symbol 448 BitmapUsed by:449 450
Symbol 449 GraphicUses:448Used by:532
Symbol 450 GraphicUses:448Used by:532
Symbol 451 BitmapUsed by:452 453
Symbol 452 GraphicUses:451Used by:532
Symbol 453 GraphicUses:451Used by:532
Symbol 454 BitmapUsed by:455 456
Symbol 455 GraphicUses:454Used by:532
Symbol 456 GraphicUses:454Used by:532
Symbol 457 BitmapUsed by:458 459
Symbol 458 GraphicUses:457Used by:532
Symbol 459 GraphicUses:457Used by:532
Symbol 460 BitmapUsed by:461
Symbol 461 GraphicUses:460Used by:532
Symbol 462 BitmapUsed by:463
Symbol 463 GraphicUses:462Used by:532
Symbol 464 BitmapUsed by:465 466
Symbol 465 GraphicUses:464Used by:532
Symbol 466 GraphicUses:464Used by:532
Symbol 467 BitmapUsed by:468 469
Symbol 468 GraphicUses:467Used by:532
Symbol 469 GraphicUses:467Used by:532
Symbol 470 BitmapUsed by:471 472
Symbol 471 GraphicUses:470Used by:532
Symbol 472 GraphicUses:470Used by:532
Symbol 473 BitmapUsed by:474 475
Symbol 474 GraphicUses:473Used by:532
Symbol 475 GraphicUses:473Used by:532
Symbol 476 BitmapUsed by:477 478 479 480
Symbol 477 GraphicUses:476Used by:532
Symbol 478 GraphicUses:476Used by:532
Symbol 479 GraphicUses:476Used by:532
Symbol 480 GraphicUses:476Used by:532
Symbol 481 BitmapUsed by:482 483
Symbol 482 GraphicUses:481Used by:532
Symbol 483 GraphicUses:481Used by:532
Symbol 484 BitmapUsed by:485 486
Symbol 485 GraphicUses:484Used by:532
Symbol 486 GraphicUses:484Used by:532
Symbol 487 BitmapUsed by:488 489
Symbol 488 GraphicUses:487Used by:532
Symbol 489 GraphicUses:487Used by:532
Symbol 490 BitmapUsed by:491 492 493 494
Symbol 491 GraphicUses:490Used by:532
Symbol 492 GraphicUses:490Used by:532
Symbol 493 GraphicUses:490Used by:532
Symbol 494 GraphicUses:490Used by:532
Symbol 495 BitmapUsed by:496
Symbol 496 GraphicUses:495Used by:532
Symbol 497 BitmapUsed by:498
Symbol 498 GraphicUses:497Used by:532
Symbol 499 BitmapUsed by:500
Symbol 500 GraphicUses:499Used by:532
Symbol 501 BitmapUsed by:502
Symbol 502 GraphicUses:501Used by:532
Symbol 503 BitmapUsed by:504
Symbol 504 GraphicUses:503Used by:532
Symbol 505 BitmapUsed by:506 507
Symbol 506 GraphicUses:505Used by:532
Symbol 507 GraphicUses:505Used by:532
Symbol 508 BitmapUsed by:509 510
Symbol 509 GraphicUses:508Used by:532
Symbol 510 GraphicUses:508Used by:532
Symbol 511 BitmapUsed by:512 513 514 515
Symbol 512 GraphicUses:511Used by:532
Symbol 513 GraphicUses:511Used by:532
Symbol 514 GraphicUses:511Used by:532
Symbol 515 GraphicUses:511Used by:532
Symbol 516 BitmapUsed by:517 518
Symbol 517 GraphicUses:516Used by:532
Symbol 518 GraphicUses:516Used by:532
Symbol 519 BitmapUsed by:520 521
Symbol 520 GraphicUses:519Used by:532
Symbol 521 GraphicUses:519Used by:532
Symbol 522 BitmapUsed by:523 524
Symbol 523 GraphicUses:522Used by:532
Symbol 524 GraphicUses:522Used by:532
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:532
Symbol 527 BitmapUsed by:528
Symbol 528 GraphicUses:527Used by:532
Symbol 529 BitmapUsed by:530
Symbol 530 GraphicUses:529Used by:532
Symbol 531 GraphicUsed by:532
Symbol 532 MovieClip {BackArrayMC}Uses:125 127 129 131 133 135 136 138 139 141 142 144 145 147 148 150 151 153 154 156 157 159 160 162 163 165 166 168 169 171 172 174 175 177 178 180 182 183 184 185 187 189 191 193 195 196 197 198 200 202 204 206 207 209 210 211 212 214 216 218 220 222 224 226 227 229 231 232 234 236 238 239 241 242 244 245 246 247 249 251 253 255 257 259 261 263 265 266 268 270 271 273 277 278 279 280 282 284 285 287 289 291 293 295 296 298 299 300 301 303 305 307 308 309 310 312 314 315 317 318 320 321 323 324 325 326 328 329 330 331 333 335 337 338 340 341 343 344 346 347 349 350 352 354 356 358 359 360 361 363 365 366 368 369 371 372 374 375 377 378 380 381 383 384 386 388 390 392 394 395 397 399 400 402 403 405 406 408 409 410 411 413 414 415 416 418 419 421 422 424 426 427 429 431 432 434 435 437 438 439 440 442 444 445 447 449 450 452 453 455 456 458 459 461 463 465 466 468 469 471 472 474 475 477 478 479 480 482 483 485 486 488 489 491 492 493 494 496 498 500 502 504 506 507 509 510 512 513 514 515 517 518 520 521 523 524 526 528 530 531Used by:2955
Symbol 533 BitmapUsed by:534
Symbol 534 GraphicUses:533Used by:535
Symbol 535 MovieClip {DebrisMC11}Uses:534Used by:2955
Symbol 536 BitmapUsed by:537
Symbol 537 GraphicUses:536Used by:538
Symbol 538 MovieClip {DebrisMC10}Uses:537Used by:2955
Symbol 539 BitmapUsed by:540
Symbol 540 GraphicUses:539Used by:541
Symbol 541 MovieClip {DebrisMC9}Uses:540Used by:2955
Symbol 542 BitmapUsed by:543
Symbol 543 GraphicUses:542Used by:544
Symbol 544 MovieClip {DebrisMC8}Uses:543Used by:2955
Symbol 545 BitmapUsed by:546
Symbol 546 GraphicUses:545Used by:547
Symbol 547 MovieClip {DebrisMC7}Uses:546Used by:2955
Symbol 548 BitmapUsed by:549
Symbol 549 GraphicUses:548Used by:550
Symbol 550 MovieClip {DebrisMC6}Uses:549Used by:2955
Symbol 551 BitmapUsed by:552
Symbol 552 GraphicUses:551Used by:553
Symbol 553 MovieClip {DebrisMC5}Uses:552Used by:2955
Symbol 554 BitmapUsed by:555
Symbol 555 GraphicUses:554Used by:556
Symbol 556 MovieClip {DebrisMC4}Uses:555Used by:2955
Symbol 557 BitmapUsed by:558
Symbol 558 GraphicUses:557Used by:559
Symbol 559 MovieClip {DebrisMC3}Uses:558Used by:2955
Symbol 560 BitmapUsed by:561
Symbol 561 GraphicUses:560Used by:562
Symbol 562 MovieClip {DebrisMC2}Uses:561Used by:2955
Symbol 563 BitmapUsed by:564
Symbol 564 GraphicUses:563Used by:565
Symbol 565 MovieClip {DebrisMC1}Uses:564Used by:2955
Symbol 566 BitmapUsed by:567
Symbol 567 GraphicUses:566Used by:568
Symbol 568 MovieClip {DebrisMC0}Uses:567Used by:2955
Symbol 569 BitmapUsed by:570
Symbol 570 GraphicUses:569Used by:571
Symbol 571 MovieClip {EmitterMC}Uses:570Used by:2955
Symbol 572 BitmapUsed by:573
Symbol 573 GraphicUses:572Used by:574 575
Symbol 574 MovieClip {BossBulletMC}Uses:573Used by:2955
Symbol 575 MovieClipUses:573Used by:576
Symbol 576 MovieClip {BossBulletHitMC}Uses:575Used by:2955
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:581
Symbol 579 BitmapUsed by:580
Symbol 580 GraphicUses:579Used by:581
Symbol 581 MovieClip {EvilMovingBlockMC}Uses:578 580Used by:2955
Symbol 582 BitmapUsed by:583
Symbol 583 GraphicUses:582Used by:584
Symbol 584 MovieClip {CartridgeMC}Uses:583Used by:2955
Symbol 585 BitmapUsed by:586
Symbol 586 GraphicUses:585Used by:587
Symbol 587 MovieClip {GrenadeCartridgeMC}Uses:586Used by:2955
Symbol 588 BitmapUsed by:589
Symbol 589 GraphicUses:588Used by:608
Symbol 590 BitmapUsed by:591
Symbol 591 GraphicUses:590Used by:608
Symbol 592 BitmapUsed by:593
Symbol 593 GraphicUses:592Used by:608
Symbol 594 BitmapUsed by:595
Symbol 595 GraphicUses:594Used by:608
Symbol 596 BitmapUsed by:597
Symbol 597 GraphicUses:596Used by:608
Symbol 598 BitmapUsed by:599
Symbol 599 GraphicUses:598Used by:608
Symbol 600 BitmapUsed by:601
Symbol 601 GraphicUses:600Used by:608
Symbol 602 BitmapUsed by:603
Symbol 603 GraphicUses:602Used by:608
Symbol 604 BitmapUsed by:605
Symbol 605 GraphicUses:604Used by:608
Symbol 606 BitmapUsed by:607
Symbol 607 GraphicUses:606Used by:608
Symbol 608 MovieClipUses:589 591 593 595 597 599 601 603 605 607Used by:630
Symbol 609 BitmapUsed by:610
Symbol 610 GraphicUses:609Used by:629
Symbol 611 BitmapUsed by:612
Symbol 612 GraphicUses:611Used by:629
Symbol 613 BitmapUsed by:614
Symbol 614 GraphicUses:613Used by:629
Symbol 615 BitmapUsed by:616
Symbol 616 GraphicUses:615Used by:629
Symbol 617 BitmapUsed by:618
Symbol 618 GraphicUses:617Used by:629
Symbol 619 BitmapUsed by:620
Symbol 620 GraphicUses:619Used by:629
Symbol 621 BitmapUsed by:622
Symbol 622 GraphicUses:621Used by:629
Symbol 623 BitmapUsed by:624
Symbol 624 GraphicUses:623Used by:629
Symbol 625 BitmapUsed by:626
Symbol 626 GraphicUses:625Used by:629
Symbol 627 BitmapUsed by:628
Symbol 628 GraphicUses:627Used by:629
Symbol 629 MovieClipUses:610 612 614 616 618 620 622 624 626 628Used by:630 652
Symbol 630 MovieClip {HackSpiderMC}Uses:608 629Used by:2955
Symbol 631 BitmapUsed by:632
Symbol 632 GraphicUses:631Used by:651
Symbol 633 BitmapUsed by:634
Symbol 634 GraphicUses:633Used by:651
Symbol 635 BitmapUsed by:636
Symbol 636 GraphicUses:635Used by:651
Symbol 637 BitmapUsed by:638
Symbol 638 GraphicUses:637Used by:651
Symbol 639 BitmapUsed by:640
Symbol 640 GraphicUses:639Used by:651
Symbol 641 BitmapUsed by:642
Symbol 642 GraphicUses:641Used by:651
Symbol 643 BitmapUsed by:644
Symbol 644 GraphicUses:643Used by:651
Symbol 645 BitmapUsed by:646
Symbol 646 GraphicUses:645Used by:651
Symbol 647 BitmapUsed by:648
Symbol 648 GraphicUses:647Used by:651
Symbol 649 BitmapUsed by:650
Symbol 650 GraphicUses:649Used by:651
Symbol 651 MovieClipUses:632 634 636 638 640 642 644 646 648 650Used by:652
Symbol 652 MovieClip {SpiderMC}Uses:651 629Used by:2955
Symbol 653 BitmapUsed by:654 655 656 657 658 659 660 661
Symbol 654 GraphicUses:653Used by:662
Symbol 655 GraphicUses:653Used by:662
Symbol 656 GraphicUses:653Used by:662
Symbol 657 GraphicUses:653Used by:662
Symbol 658 GraphicUses:653Used by:662
Symbol 659 GraphicUses:653Used by:662
Symbol 660 GraphicUses:653Used by:662
Symbol 661 GraphicUses:653Used by:662
Symbol 662 MovieClip {GrenadeMC}Uses:654 655 656 657 658 659 660 661Used by:2955
Symbol 663 BitmapUsed by:664 665
Symbol 664 GraphicUses:663Used by:715 737
Symbol 665 GraphicUses:663Used by:715 737
Symbol 666 BitmapUsed by:667
Symbol 667 GraphicUses:666Used by:682 719
Symbol 668 BitmapUsed by:669
Symbol 669 GraphicUses:668Used by:682 719
Symbol 670 BitmapUsed by:671
Symbol 671 GraphicUses:670Used by:682 719
Symbol 672 BitmapUsed by:673
Symbol 673 GraphicUses:672Used by:682 719
Symbol 674 BitmapUsed by:675
Symbol 675 GraphicUses:674Used by:682 719
Symbol 676 BitmapUsed by:677
Symbol 677 GraphicUses:676Used by:682 719
Symbol 678 BitmapUsed by:679
Symbol 679 GraphicUses:678Used by:682 719
Symbol 680 BitmapUsed by:681
Symbol 681 GraphicUses:680Used by:682 719
Symbol 682 MovieClipUses:667 669 671 673 675 677 679 681Used by:715
Symbol 683 BitmapUsed by:684
Symbol 684 GraphicUses:683Used by:707 720
Symbol 685 BitmapUsed by:686
Symbol 686 GraphicUses:685Used by:707 720
Symbol 687 BitmapUsed by:688
Symbol 688 GraphicUses:687Used by:707 720
Symbol 689 BitmapUsed by:690
Symbol 690 GraphicUses:689Used by:707 720
Symbol 691 BitmapUsed by:692
Symbol 692 GraphicUses:691Used by:707 720
Symbol 693 BitmapUsed by:694
Symbol 694 GraphicUses:693Used by:707 720
Symbol 695 BitmapUsed by:696
Symbol 696 GraphicUses:695Used by:707 720
Symbol 697 BitmapUsed by:698
Symbol 698 GraphicUses:697Used by:707 720
Symbol 699 BitmapUsed by:700
Symbol 700 GraphicUses:699Used by:707 720
Symbol 701 BitmapUsed by:702
Symbol 702 GraphicUses:701Used by:707 720
Symbol 703 BitmapUsed by:704
Symbol 704 GraphicUses:703Used by:707 720
Symbol 705 BitmapUsed by:706
Symbol 706 GraphicUses:705Used by:707 720
Symbol 707 MovieClipUses:684 686 688 690 692 694 696 698 700 702 704 706Used by:715
Symbol 708 BitmapUsed by:709
Symbol 709 GraphicUses:708Used by:714
Symbol 710 BitmapUsed by:711
Symbol 711 GraphicUses:710Used by:714
Symbol 712 BitmapUsed by:713
Symbol 713 GraphicUses:712Used by:714
Symbol 714 MovieClipUses:709 711 713Used by:715 737
Symbol 715 MovieClip {NinjaMC}Uses:664 665 682 707 714Used by:2955
Symbol 716 BitmapUsed by:717 1040 1042 1044 1046 1048 1050 1052 1054 1056 1058 1060 1062 1066 1070 1071 1073
Symbol 717 GraphicUses:716Used by:718
Symbol 718 MovieClipUses:717Used by:719 720 726 737
Symbol 719 MovieClipUses:667 718 669 671 673 675 677 679 681Used by:737
Symbol 720 MovieClipUses:684 718 686 688 690 692 694 696 698 700 702 704 706Used by:737
Symbol 721 BitmapUsed by:722
Symbol 722 GraphicUses:721Used by:726
Symbol 723 BitmapUsed by:724
Symbol 724 GraphicUses:723Used by:725
Symbol 725 MovieClipUses:724Used by:726
Symbol 726 MovieClip {finalninjazero_fla.ninjareveal_40}Uses:722 718 725Used by:737
Symbol 727 BitmapUsed by:728
Symbol 728 GraphicUses:727Used by:729 736
Symbol 729 MovieClipUses:728Used by:736
Symbol 730 BitmapUsed by:731
Symbol 731 GraphicUses:730Used by:732 736
Symbol 732 MovieClipUses:731Used by:736
Symbol 733 BitmapUsed by:734
Symbol 734 GraphicUses:733Used by:735 736
Symbol 735 MovieClipUses:734Used by:736
Symbol 736 MovieClipUses:728 729 731 732 734 735Used by:737 1024 1814
Symbol 737 MovieClip {NinjaGuardMC}Uses:664 718 665 719 720 714 726 736Used by:2955
Symbol 738 BitmapUsed by:739
Symbol 739 GraphicUses:738Used by:776
Symbol 740 BitmapUsed by:741
Symbol 741 GraphicUses:740Used by:775 1155
Symbol 742 MovieClipUsed by:775 929 935 982 1007 1010 1013 1016 1019 1038 1063 1074 1077 1080 1155 1360 1369 1376 1382 1385 1391 1404 1409 1960
Symbol 743 BitmapUsed by:744
Symbol 744 GraphicUses:743Used by:747
Symbol 745 BitmapUsed by:746
Symbol 746 GraphicUses:745Used by:747
Symbol 747 MovieClip {finalninjazero_fla.swat_flare_49}Uses:744 746Used by:775 1155 1409
Symbol 748 BitmapUsed by:749
Symbol 749 GraphicUses:748Used by:774 1720
Symbol 750 BitmapUsed by:751
Symbol 751 GraphicUses:750Used by:774 1720
Symbol 752 BitmapUsed by:753
Symbol 753 GraphicUses:752Used by:774 1720
Symbol 754 BitmapUsed by:755
Symbol 755 GraphicUses:754Used by:774 1720
Symbol 756 BitmapUsed by:757
Symbol 757 GraphicUses:756Used by:774 1720
Symbol 758 BitmapUsed by:759
Symbol 759 GraphicUses:758Used by:774 1720
Symbol 760 BitmapUsed by:761
Symbol 761 GraphicUses:760Used by:774 1720
Symbol 762 BitmapUsed by:763
Symbol 763 GraphicUses:762Used by:774 1720
Symbol 764 BitmapUsed by:765
Symbol 765 GraphicUses:764Used by:774 1720
Symbol 766 BitmapUsed by:767
Symbol 767 GraphicUses:766Used by:774 1720
Symbol 768 BitmapUsed by:769
Symbol 769 GraphicUses:768Used by:774 1720
Symbol 770 BitmapUsed by:771
Symbol 771 GraphicUses:770Used by:774 1720
Symbol 772 BitmapUsed by:773
Symbol 773 GraphicUses:772Used by:774 1720
Symbol 774 MovieClip {finalninjazero_fla.wallpuff_50}Uses:749 751 753 755 757 759 761 763 765 767 769 771 773Used by:775 1155 1409
Symbol 775 MovieClip {finalninjazero_fla.gunclip_47}Uses:741 742 747 774Used by:776 1151 1152 1153 1154
Symbol 776 MovieClip {RotoGunMC}Uses:739 775Used by:2955
Symbol 777 GraphicUsed by:780
Symbol 778 FontUsed by:779 1314 1322 1323 1324 1325 1326 1327 1328 1330 1331 1332 1333 1334 1338 1339 1340 1341 1365 1380 1392 1400 1405 1432 2910 2991 2992 2993 2994 3001 3002 3003 3004 3005 3006 3008 3009 3056
Symbol 779 TextUses:778Used by:780
Symbol 780 MovieClip {com.nitrome.engine_specific.SkipStoryButton}Uses:777 779Used by:2955
Symbol 781 GraphicUsed by:804
Symbol 782 GraphicUsed by:804
Symbol 783 GraphicUsed by:804
Symbol 784 GraphicUsed by:804
Symbol 785 GraphicUsed by:804
Symbol 786 GraphicUsed by:804
Symbol 787 GraphicUsed by:804
Symbol 788 GraphicUsed by:804
Symbol 789 GraphicUsed by:804
Symbol 790 GraphicUsed by:804
Symbol 791 GraphicUsed by:804
Symbol 792 GraphicUsed by:804
Symbol 793 GraphicUsed by:804
Symbol 794 GraphicUsed by:804
Symbol 795 GraphicUsed by:804
Symbol 796 GraphicUsed by:804
Symbol 797 GraphicUsed by:804
Symbol 798 GraphicUsed by:804
Symbol 799 GraphicUsed by:804
Symbol 800 GraphicUsed by:804
Symbol 801 GraphicUsed by:804
Symbol 802 GraphicUsed by:804
Symbol 803 GraphicUsed by:804
Symbol 804 MovieClipUses:781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803Used by:922
Symbol 805 BitmapUsed by:806
Symbol 806 GraphicUses:805Used by:851
Symbol 807 BitmapUsed by:808
Symbol 808 GraphicUses:807Used by:851
Symbol 809 BitmapUsed by:810
Symbol 810 GraphicUses:809Used by:851
Symbol 811 BitmapUsed by:812
Symbol 812 GraphicUses:811Used by:851
Symbol 813 BitmapUsed by:814
Symbol 814 GraphicUses:813Used by:851
Symbol 815 BitmapUsed by:816
Symbol 816 GraphicUses:815Used by:851
Symbol 817 BitmapUsed by:818
Symbol 818 GraphicUses:817Used by:851
Symbol 819 BitmapUsed by:820
Symbol 820 GraphicUses:819Used by:851
Symbol 821 BitmapUsed by:822
Symbol 822 GraphicUses:821Used by:851
Symbol 823 BitmapUsed by:824
Symbol 824 GraphicUses:823Used by:851
Symbol 825 BitmapUsed by:826
Symbol 826 GraphicUses:825Used by:851
Symbol 827 BitmapUsed by:828
Symbol 828 GraphicUses:827Used by:851
Symbol 829 BitmapUsed by:830
Symbol 830 GraphicUses:829Used by:851
Symbol 831 BitmapUsed by:832
Symbol 832 GraphicUses:831Used by:851
Symbol 833 BitmapUsed by:834
Symbol 834 GraphicUses:833Used by:851
Symbol 835 BitmapUsed by:836
Symbol 836 GraphicUses:835Used by:851
Symbol 837 BitmapUsed by:838
Symbol 838 GraphicUses:837Used by:851
Symbol 839 BitmapUsed by:840
Symbol 840 GraphicUses:839Used by:851
Symbol 841 BitmapUsed by:842
Symbol 842 GraphicUses:841Used by:851
Symbol 843 BitmapUsed by:844
Symbol 844 GraphicUses:843Used by:851
Symbol 845 BitmapUsed by:846
Symbol 846 GraphicUses:845Used by:851
Symbol 847 BitmapUsed by:848
Symbol 848 GraphicUses:847Used by:851
Symbol 849 BitmapUsed by:850
Symbol 850 GraphicUses:849Used by:851
Symbol 851 MovieClipUses:806 808 810 812 814 816 818 820 822 824 826 828 830 832 834 836 838 840 842 844 846 848 850Used by:922
Symbol 852 BitmapUsed by:853
Symbol 853 GraphicUses:852Used by:854
Symbol 854 MovieClipUses:853Used by:921
Symbol 855 BitmapUsed by:856
Symbol 856 GraphicUses:855Used by:857
Symbol 857 MovieClipUses:856Used by:921
Symbol 858 BitmapUsed by:859
Symbol 859 GraphicUses:858Used by:860
Symbol 860 MovieClipUses:859Used by:921
Symbol 861 BitmapUsed by:862
Symbol 862 GraphicUses:861Used by:863
Symbol 863 MovieClipUses:862Used by:921
Symbol 864 BitmapUsed by:865
Symbol 865 GraphicUses:864Used by:866
Symbol 866 MovieClipUses:865Used by:921
Symbol 867 BitmapUsed by:868
Symbol 868 GraphicUses:867Used by:869
Symbol 869 MovieClipUses:868Used by:921
Symbol 870 BitmapUsed by:871
Symbol 871 GraphicUses:870Used by:872
Symbol 872 MovieClipUses:871Used by:921
Symbol 873 BitmapUsed by:874
Symbol 874 GraphicUses:873Used by:875
Symbol 875 MovieClipUses:874Used by:921
Symbol 876 BitmapUsed by:877
Symbol 877 GraphicUses:876Used by:878
Symbol 878 MovieClipUses:877Used by:921
Symbol 879 BitmapUsed by:880
Symbol 880 GraphicUses:879Used by:881
Symbol 881 MovieClipUses:880Used by:921
Symbol 882 BitmapUsed by:883
Symbol 883 GraphicUses:882Used by:884
Symbol 884 MovieClipUses:883Used by:921
Symbol 885 BitmapUsed by:886
Symbol 886 GraphicUses:885Used by:887
Symbol 887 MovieClipUses:886Used by:921
Symbol 888 BitmapUsed by:889
Symbol 889 GraphicUses:888Used by:890
Symbol 890 MovieClipUses:889Used by:921
Symbol 891 BitmapUsed by:892
Symbol 892 GraphicUses:891Used by:893
Symbol 893 MovieClipUses:892Used by:921
Symbol 894 BitmapUsed by:895
Symbol 895 GraphicUses:894Used by:896
Symbol 896 MovieClipUses:895Used by:921
Symbol 897 BitmapUsed by:898
Symbol 898 GraphicUses:897Used by:899
Symbol 899 MovieClipUses:898Used by:921
Symbol 900 BitmapUsed by:901
Symbol 901 GraphicUses:900Used by:902
Symbol 902 MovieClipUses:901Used by:921
Symbol 903 BitmapUsed by:904
Symbol 904 GraphicUses:903Used by:905
Symbol 905 MovieClipUses:904Used by:921
Symbol 906 BitmapUsed by:907
Symbol 907 GraphicUses:906Used by:908
Symbol 908 MovieClipUses:907Used by:921
Symbol 909 BitmapUsed by:910
Symbol 910 GraphicUses:909Used by:911
Symbol 911 MovieClipUses:910Used by:921
Symbol 912 BitmapUsed by:913
Symbol 913 GraphicUses:912Used by:914
Symbol 914 MovieClipUses:913Used by:921
Symbol 915 BitmapUsed by:916
Symbol 916 GraphicUses:915Used by:917
Symbol 917 MovieClipUses:916Used by:921
Symbol 918 BitmapUsed by:919
Symbol 919 GraphicUses:918Used by:920
Symbol 920 MovieClipUses:919Used by:921
Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55}Uses:854 857 860 863 866 869 872 875 878 881 884 887 890 893 896 899 902 905 908 911 914 917 920Used by:922
Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}Uses:804 851 921Used by:2955  Timeline
Symbol 923 MovieClip {NitromeButton}Uses:1Used by:1452 1467 2955
Symbol 924 BitmapUsed by:925 1037 1076 1079 1724
Symbol 925 GraphicUses:924Used by:926
Symbol 926 MovieClip {EyeGlowMC}Uses:925Used by:1433 2955
Symbol 927 BitmapUsed by:928 1375 1381 1384
Symbol 928 GraphicUses:927Used by:929
Symbol 929 MovieClip {finalninjazero_fla.waitnin_83}Uses:928 742Used by:932 1034
Symbol 930 BitmapUsed by:931 1097 1375
Symbol 931 GraphicUses:930Used by:932 1095
Symbol 932 MovieClip {finalninjazero_fla.fincrouch_82}Uses:929 931Used by:955
Symbol 933 BitmapUsed by:934 1368
Symbol 934 GraphicUses:933Used by:935
Symbol 935 MovieClip {finalninjazero_fla.jumpnin_85}Uses:934 742Used by:938 1034
Symbol 936 BitmapUsed by:937 1098 1368
Symbol 937 GraphicUses:936Used by:938 1095
Symbol 938 MovieClip {finalninjazero_fla.finjump_84}Uses:935 937Used by:955
Symbol 939 BitmapUsed by:940
Symbol 940 GraphicUses:939Used by:955 1371 1734 1797
Symbol 941 BitmapUsed by:942
Symbol 942 GraphicUses:941Used by:955 1371 1734 1797
Symbol 943 BitmapUsed by:944
Symbol 944 GraphicUses:943Used by:955 1371 1734 1797
Symbol 945 BitmapUsed by:946
Symbol 946 GraphicUses:945Used by:955 1371 1734 1797
Symbol 947 BitmapUsed by:948
Symbol 948 GraphicUses:947Used by:955 1371 1734 1797
Symbol 949 BitmapUsed by:950
Symbol 950 GraphicUses:949Used by:955 1371 1734 1797
Symbol 951 BitmapUsed by:952
Symbol 952 GraphicUses:951Used by:955 1371 1734 1797
Symbol 953 BitmapUsed by:954
Symbol 954 GraphicUses:953Used by:955 1371 1734 1797
Symbol 955 MovieClip {LevelCompleteMC}Uses:932 938 940 942 944 946 948 950 952 954Used by:2955
Symbol 956 BitmapUsed by:957 1724
Symbol 957 GraphicUses:956Used by:958 1433
Symbol 958 MovieClip {StealthOutlineMC}Uses:957Used by:2955
Symbol 959 BitmapUsed by:960
Symbol 960 GraphicUses:959Used by:961 962
Symbol 961 MovieClip {SmallShieldMC}Uses:960Used by:2955
Symbol 962 MovieClip {BigShieldMC}Uses:960Used by:2955
Symbol 963 BitmapUsed by:964
Symbol 964 GraphicUses:963Used by:965
Symbol 965 MovieClip {BulletMC}Uses:964Used by:2955
Symbol 966 BitmapUsed by:967
Symbol 967 GraphicUses:966Used by:968 969
Symbol 968 MovieClip {com.nitrome.engine_specific.DeadStar}Uses:967Used by:2955
Symbol 969 MovieClip {DeadStarMC}Uses:967Used by:2955
Symbol 970 BitmapUsed by:971
Symbol 971 GraphicUses:970Used by:978
Symbol 972 BitmapUsed by:973
Symbol 973 GraphicUses:972Used by:978
Symbol 974 BitmapUsed by:975
Symbol 975 GraphicUses:974Used by:978
Symbol 976 BitmapUsed by:977
Symbol 977 GraphicUses:976Used by:978
Symbol 978 MovieClipUses:971 973 975 977Used by:979 1388
Symbol 979 MovieClip {com.nitrome.engine_specific.LiveStar}Uses:978Used by:2955
Symbol 980 BitmapUsed by:981
Symbol 981 GraphicUses:980Used by:982 1723
Symbol 982 MovieClip {finalninjazero_fla.stealthnin_95}Uses:981 742Used by:1034
Symbol 983 BitmapUsed by:984 1348
Symbol 984 GraphicUses:983Used by:1007
Symbol 985 BitmapUsed by:986 1349
Symbol 986 GraphicUses:985Used by:1007
Symbol 987 BitmapUsed by:988 1350
Symbol 988 GraphicUses:987Used by:1007
Symbol 989 BitmapUsed by:990 1351
Symbol 990 GraphicUses:989Used by:1007
Symbol 991 BitmapUsed by:992 1352
Symbol 992 GraphicUses:991Used by:1007
Symbol 993 BitmapUsed by:994 1353
Symbol 994 GraphicUses:993Used by:1007
Symbol 995 BitmapUsed by:996 1354
Symbol 996 GraphicUses:995Used by:1007
Symbol 997 BitmapUsed by:998 1355
Symbol 998 GraphicUses:997Used by:1007
Symbol 999 BitmapUsed by:1000 1356
Symbol 1000 GraphicUses:999Used by:1007
Symbol 1001 BitmapUsed by:1002 1357
Symbol 1002 GraphicUses:1001Used by:1007
Symbol 1003 BitmapUsed by:1004 1358
Symbol 1004 GraphicUses:1003Used by:1007
Symbol 1005 BitmapUsed by:1006 1359
Symbol 1006 GraphicUses:1005Used by:1007
Symbol 1007 MovieClip {finalninjazero_fla.ninrun_96}Uses:984 742 986 988 990 992 994 996 998 1000 1002 1004 1006Used by:1034
Symbol 1008 BitmapUsed by:1009
Symbol 1009 GraphicUses:1008Used by:1010
Symbol 1010 MovieClip {finalninjazero_fla.fallnin_97}Uses:1009 742Used by:1034
Symbol 1011 BitmapUsed by:1012
Symbol 1012 GraphicUses:1011Used by:1013 1404
Symbol 1013 MovieClip {finalninjazero_fla.wallnin_98}Uses:1012 742Used by:1034
Symbol 1014 BitmapUsed by:1015 1390
Symbol 1015 GraphicUses:1014Used by:1016
Symbol 1016 MovieClip {finalninjazero_fla.ninswing_99}Uses:1015 742Used by:1034 1081
Symbol 1017 BitmapUsed by:1018
Symbol 1018 GraphicUses:1017Used by:1019
Symbol 1019 MovieClip {finalninjazero_fla.waitinnin_100}Uses:1018 742Used by:1034
Symbol 1020 BitmapUsed by:1021
Symbol 1021 GraphicUses:1020Used by:1024
Symbol 1022 BitmapUsed by:1023
Symbol 1023 GraphicUses:1022Used by:1024
Symbol 1024 MovieClipUses:1021 736 1023Used by:1034 1035 1081
Symbol 1025 BitmapUsed by:1026
Symbol 1026 GraphicUses:1025Used by:1033
Symbol 1027 BitmapUsed by:1028
Symbol 1028 GraphicUses:1027Used by:1033
Symbol 1029 BitmapUsed by:1030
Symbol 1030 GraphicUses:1029Used by:1033
Symbol 1031 BitmapUsed by:1032
Symbol 1032 GraphicUses:1031Used by:1033
Symbol 1033 MovieClipUses:1026 1028 1030 1032Used by:1034
Symbol 1034 MovieClip {PlayerMC}Uses:982 1007 929 935 1010 1013 1016 1019 1024 1033Used by:2955
Symbol 1035 MovieClip {OuchFinishMC}Uses:1024Used by:2955
Symbol 1036 BitmapUsed by:1037 1590
Symbol 1037 GraphicUses:924 1036Used by:1038
Symbol 1038 MovieClip {finalninjazero_fla.chamforward_105}Uses:1037 742Used by:1081
Symbol 1039 BitmapUsed by:1040 1577
Symbol 1040 GraphicUses:716 1039Used by:1063
Symbol 1041 BitmapUsed by:1042 1578
Symbol 1042 GraphicUses:716 1041Used by:1063
Symbol 1043 BitmapUsed by:1044 1579
Symbol 1044 GraphicUses:716 1043Used by:1063
Symbol 1045 BitmapUsed by:1046 1580
Symbol 1046 GraphicUses:716 1045Used by:1063
Symbol 1047 BitmapUsed by:1048 1581
Symbol 1048 GraphicUses:716 1047Used by:1063
Symbol 1049 BitmapUsed by:1050 1582
Symbol 1050 GraphicUses:716 1049Used by:1063
Symbol 1051 BitmapUsed by:1052 1583
Symbol 1052 GraphicUses:716 1051Used by:1063
Symbol 1053 BitmapUsed by:1054 1584
Symbol 1054 GraphicUses:716 1053Used by:1063
Symbol 1055 BitmapUsed by:1056 1585
Symbol 1056 GraphicUses:716 1055Used by:1063
Symbol 1057 BitmapUsed by:1058 1586
Symbol 1058 GraphicUses:716 1057Used by:1063
Symbol 1059 BitmapUsed by:1060 1587
Symbol 1060 GraphicUses:716 1059Used by:1063
Symbol 1061 BitmapUsed by:1062 1588
Symbol 1062 GraphicUses:716 1061Used by:1063
Symbol 1063 MovieClip {finalninjazero_fla.chamrun_106}Uses:1040 742 1042 1044 1046 1048 1050 1052 1054 1056 1058 1060 1062Used by:1081
Symbol 1064 BitmapUsed by:1065 1071
Symbol 1065 GraphicUses:1064Used by:1074 1682
Symbol 1066 GraphicUses:716Used by:1074
Symbol 1067 BitmapUsed by:1068
Symbol 1068 GraphicUses:1067Used by:1074 1682
Symbol 1069 BitmapUsed by:1070 1680
Symbol 1070 GraphicUses:716 1069Used by:1074
Symbol 1071 GraphicUses:716 1064Used by:1074
Symbol 1072 BitmapUsed by:1073 1681
Symbol 1073 GraphicUses:716 1072Used by:1074
Symbol 1074 MovieClip {finalninjazero_fla.chamlook_107}Uses:1065 1066 742 1068 1070 1071 1073Used by:1081
Symbol 1075 BitmapUsed by:1076 1574 1575
Symbol 1076 GraphicUses:924 1075Used by:1077
Symbol 1077 MovieClip {finalninjazero_fla.chamjump_108}Uses:1076 742Used by:1081
Symbol 1078 BitmapUsed by:1079
Symbol 1079 GraphicUses:924 1078Used by:1080
Symbol 1080 MovieClip {finalninjazero_fla.chamslide_109}Uses:1079 742Used by:1081
Symbol 1081 MovieClip {ChameleonMC}Uses:1038 1063 1074 1077 1080 1016 1024Used by:2955
Symbol 1082 MovieClip {holder}Used by:2955 3045
Symbol 1083 BitmapUsed by:1084 1096 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359
Symbol 1084 GraphicUses:1083Used by:1095
Symbol 1085 BitmapUsed by:1086 1099
Symbol 1086 GraphicUses:1085Used by:1095
Symbol 1087 BitmapUsed by:1088 1100
Symbol 1088 GraphicUses:1087Used by:1095 1404
Symbol 1089 BitmapUsed by:1090 1101 1381
Symbol 1090 GraphicUses:1089Used by:1095
Symbol 1091 BitmapUsed by:1092 1102 1384 1390
Symbol 1092 GraphicUses:1091Used by:1095
Symbol 1093 BitmapUsed by:1094 1103
Symbol 1094 GraphicUses:1093Used by:1095
Symbol 1095 MovieClip {LeftArmMC}Uses:1084 931 937 1086 1088 1090 1092 1094Used by:2955
Symbol 1096 GraphicUses:1083Used by:1104
Symbol 1097 GraphicUses:930Used by:1104
Symbol 1098 GraphicUses:936Used by:1104
Symbol 1099 GraphicUses:1085Used by:1104
Symbol 1100 GraphicUses:1087Used by:1104
Symbol 1101 GraphicUses:1089Used by:1104
Symbol 1102 GraphicUses:1091Used by:1104
Symbol 1103 GraphicUses:1093Used by:1104
Symbol 1104 MovieClip {RightArmMC}Uses:1096 1097 1098 1099 1100 1101 1102 1103Used by:2955
Symbol 1105 BitmapUsed by:1106 1122 1131 1140
Symbol 1106 GraphicUses:1105Used by:1121
Symbol 1107 BitmapUsed by:1108 1123 1132 1141
Symbol 1108 GraphicUses:1107Used by:1121
Symbol 1109 BitmapUsed by:1110 1124 1133 1142
Symbol 1110 GraphicUses:1109Used by:1121
Symbol 1111 BitmapUsed by:1112 1125 1134 1143
Symbol 1112 GraphicUses:1111Used by:1121
Symbol 1113 BitmapUsed by:1114 1126 1135 1144
Symbol 1114 GraphicUses:1113Used by:1121
Symbol 1115 BitmapUsed by:1116 1127 1136 1145
Symbol 1116 GraphicUses:1115Used by:1121
Symbol 1117 BitmapUsed by:1118 1128 1137 1146
Symbol 1118 GraphicUses:1117Used by:1121
Symbol 1119 BitmapUsed by:1120 1129 1138 1147
Symbol 1120 GraphicUses:1119Used by:1121
Symbol 1121 MovieClip {BulletHitMC4}Uses:1106 1108 1110 1112 1114 1116 1118 1120Used by:2955
Symbol 1122 GraphicUses:1105Used by:1130
Symbol 1123 GraphicUses:1107Used by:1130
Symbol 1124 GraphicUses:1109Used by:1130
Symbol 1125 GraphicUses:1111Used by:1130
Symbol 1126 GraphicUses:1113Used by:1130
Symbol 1127 GraphicUses:1115Used by:1130
Symbol 1128 GraphicUses:1117Used by:1130
Symbol 1129 GraphicUses:1119Used by:1130
Symbol 1130 MovieClip {BulletHitMC3}Uses:1122 1123 1124 1125 1126 1127 1128 1129Used by:2955
Symbol 1131 GraphicUses:1105Used by:1139
Symbol 1132 GraphicUses:1107Used by:1139
Symbol 1133 GraphicUses:1109Used by:1139
Symbol 1134 GraphicUses:1111Used by:1139
Symbol 1135 GraphicUses:1113Used by:1139
Symbol 1136 GraphicUses:1115Used by:1139
Symbol 1137 GraphicUses:1117Used by:1139
Symbol 1138 GraphicUses:1119Used by:1139
Symbol 1139 MovieClip {BulletHitMC2}Uses:1131 1132 1133 1134 1135 1136 1137 1138Used by:2955
Symbol 1140 GraphicUses:1105Used by:1148
Symbol 1141 GraphicUses:1107Used by:1148
Symbol 1142 GraphicUses:1109Used by:1148
Symbol 1143 GraphicUses:1111Used by:1148
Symbol 1144 GraphicUses:1113Used by:1148
Symbol 1145 GraphicUses:1115Used by:1148
Symbol 1146 GraphicUses:1117Used by:1148
Symbol 1147 GraphicUses:1119Used by:1148
Symbol 1148 MovieClip {BulletHitMC1}Uses:1140 1141 1142 1143 1144 1145 1146 1147Used by:2955
Symbol 1149 BitmapUsed by:1150
Symbol 1150 GraphicUses:1149Used by:1151 1152 1153 1154
Symbol 1151 MovieClip {GunBlockMC1}Uses:1150 775Used by:2955
Symbol 1152 MovieClip {GunBlockMC4}Uses:1150 775Used by:2955
Symbol 1153 MovieClip {GunBlockMC3}Uses:1150 775Used by:2955
Symbol 1154 MovieClip {GunBlockMC2}Uses:1150 775Used by:2955
Symbol 1155 MovieClip {GunMC}Uses:741 742 747 774Used by:2955
Symbol 1156 BitmapUsed by:1157
Symbol 1157 GraphicUses:1156Used by:1158 1180
Symbol 1158 MovieClip {LaserGunMC}Uses:1157Used by:2955
Symbol 1159 BitmapUsed by:1160
Symbol 1160 GraphicUses:1159Used by:1173
Symbol 1161 BitmapUsed by:1162
Symbol 1162 GraphicUses:1161Used by:1173
Symbol 1163 BitmapUsed by:1164
Symbol 1164 GraphicUses:1163Used by:1173
Symbol 1165 BitmapUsed by:1166
Symbol 1166 GraphicUses:1165Used by:1173
Symbol 1167 BitmapUsed by:1168
Symbol 1168 GraphicUses:1167Used by:1173
Symbol 1169 BitmapUsed by:1170
Symbol 1170 GraphicUses:1169Used by:1173
Symbol 1171 BitmapUsed by:1172
Symbol 1172 GraphicUses:1171Used by:1173
Symbol 1173 MovieClipUses:1160 1162 1164 1166 1168 1170 1172Used by:1174 1175
Symbol 1174 MovieClip {BeamMC2}Uses:1173Used by:2955
Symbol 1175 MovieClip {BeamMC1}Uses:1173Used by:2955
Symbol 1176 BitmapUsed by:1177
Symbol 1177 GraphicUses:1176Used by:1178
Symbol 1178 MovieClipUses:1177Used by:1179 1182 1184 1186 1188 1190 1192 1194
Symbol 1179 MovieClip {ScannerMC1}Uses:1178Used by:2955
Symbol 1180 MovieClipUses:1157Used by:1181 1183 1185 1187 1189 1191 1193 1195
Symbol 1181 MovieClip {LaserMC1}Uses:1180Used by:2955
Symbol 1182 MovieClip {ScannerMC2}Uses:1178Used by:2955
Symbol 1183 MovieClip {LaserMC2}Uses:1180Used by:2955
Symbol 1184 MovieClip {ScannerMC3}Uses:1178Used by:2955
Symbol 1185 MovieClip {LaserMC3}Uses:1180Used by:2955
Symbol 1186 MovieClip {ScannerMC4}Uses:1178Used by:2955
Symbol 1187 MovieClip {LaserMC4}Uses:1180Used by:2955
Symbol 1188 MovieClip {ScannerMC5}Uses:1178Used by:2955
Symbol 1189 MovieClip {LaserMC5}Uses:1180Used by:2955
Symbol 1190 MovieClip {ScannerMC6}Uses:1178Used by:2955
Symbol 1191 MovieClip {LaserMC6}Uses:1180Used by:2955
Symbol 1192 MovieClip {ScannerMC7}Uses:1178Used by:2955
Symbol 1193 MovieClip {LaserMC7}Uses:1180Used by:2955
Symbol 1194 MovieClip {ScannerMC8}Uses:1178Used by:2955
Symbol 1195 MovieClip {LaserMC8}Uses:1180Used by:2955
Symbol 1196 BitmapUsed by:1197 1202
Symbol 1197 GraphicUses:1196Used by:1198
Symbol 1198 MovieClipUses:1197Used by:1201
Symbol 1199 BitmapUsed by:1200 1204
Symbol 1200 GraphicUses:1199Used by:1201
Symbol 1201 MovieClip {SpawnMC2}Uses:1198 1200Used by:2955
Symbol 1202 GraphicUses:1196Used by:1203
Symbol 1203 MovieClipUses:1202Used by:1205
Symbol 1204 GraphicUses:1199Used by:1205
Symbol 1205 MovieClip {SpawnMC1}Uses:1203 1204Used by:2955
Symbol 1206 BitmapUsed by:1207
Symbol 1207 GraphicUses:1206Used by:1212
Symbol 1208 BitmapUsed by:1209
Symbol 1209 GraphicUses:1208Used by:1210
Symbol 1210 MovieClipUses:1209Used by:1211 1686
Symbol 1211 MovieClipUses:1210Used by:1212
Symbol 1212 MovieClip {FlyingGunMC}Uses:1207 1211Used by:2955
Symbol 1213 BitmapUsed by:1214 1226
Symbol 1214 GraphicUses:1213Used by:1225
Symbol 1215 BitmapUsed by:1216 1227
Symbol 1216 GraphicUses:1215Used by:1225
Symbol 1217 BitmapUsed by:1218 1228
Symbol 1218 GraphicUses:1217Used by:1225
Symbol 1219 BitmapUsed by:1220 1229
Symbol 1220 GraphicUses:1219Used by:1225
Symbol 1221 BitmapUsed by:1222 1230
Symbol 1222 GraphicUses:1221Used by:1225
Symbol 1223 BitmapUsed by:1224 1231
Symbol 1224 GraphicUses:1223Used by:1225
Symbol 1225 MovieClip {WallSlideLeftMC}Uses:1214 1216 1218 1220 1222 1224Used by:2761 2955
Symbol 1226 GraphicUses:1213Used by:1232
Symbol 1227 GraphicUses:1215Used by:1232
Symbol 1228 GraphicUses:1217Used by:1232
Symbol 1229 GraphicUses:1219Used by:1232
Symbol 1230 GraphicUses:1221Used by:1232
Symbol 1231 GraphicUses:1223Used by:1232
Symbol 1232 MovieClip {WallSlideRightMC}Uses:1226 1227 1228 1229 1230 1231Used by:1406 2955
Symbol 1233 BitmapUsed by:1234
Symbol 1234 GraphicUses:1233Used by:1249
Symbol 1235 BitmapUsed by:1236
Symbol 1236 GraphicUses:1235Used by:1249
Symbol 1237 BitmapUsed by:1238
Symbol 1238 GraphicUses:1237Used by:1249
Symbol 1239 BitmapUsed by:1240
Symbol 1240 GraphicUses:1239Used by:1249
Symbol 1241 BitmapUsed by:1242
Symbol 1242 GraphicUses:1241Used by:1249
Symbol 1243 BitmapUsed by:1244
Symbol 1244 GraphicUses:1243Used by:1249
Symbol 1245 BitmapUsed by:1246
Symbol 1246 GraphicUses:1245Used by:1249
Symbol 1247 BitmapUsed by:1248
Symbol 1248 GraphicUses:1247Used by:1249
Symbol 1249 MovieClip {HitSparkMC}Uses:1234 1236 1238 1240 1242 1244 1246 1248Used by:2955
Symbol 1250 BitmapUsed by:1251
Symbol 1251 GraphicUses:1250Used by:1252
Symbol 1252 MovieClipUses:1251Used by:1256
Symbol 1253 BitmapUsed by:1254
Symbol 1254 GraphicUses:1253Used by:1255
Symbol 1255 MovieClipUses:1254Used by:1256
Symbol 1256 MovieClipUses:1252 1255Used by:1257 1258
Symbol 1257 MovieClip {ForceFieldMC1}Uses:1256Used by:2955
Symbol 1258 MovieClip {ForceFieldMC2}Uses:1256Used by:2955
Symbol 1259 TextUses:7Used by:1261
Symbol 1260 TextUses:7Used by:1261
Symbol 1261 MovieClip {com.nitrome.game.LevelSelectButton}Uses:6 1259 1260Used by:1436 2955
Symbol 1262 TextUses:7Used by:1266
Symbol 1263 BitmapUsed by:1264
Symbol 1264 GraphicUses:1263Used by:1266 1269 1285 1306 1307 1308
Symbol 1265 TextUses:7Used by:1266
Symbol 1266 MovieClip {com.nitrome.game.NextLevelButton}Uses:6 1262 1264 1265Used by:1436 2955
Symbol 1267 TextUses:7Used by:1269
Symbol 1268 TextUses:7Used by:1269
Symbol 1269 MovieClip {com.nitrome.game.TryAgainButton}Uses:6 1267 1264 1268Used by:1436 2955
Symbol 1270 TextUses:7Used by:1272
Symbol 1271 TextUses:7Used by:1272
Symbol 1272 MovieClip {com.nitrome.game.SubmitScoreButton}Uses:6 1270 1271Used by:2955
Symbol 1273 TextUses:7Used by:1275
Symbol 1274 TextUses:7Used by:1275
Symbol 1275 MovieClip {com.nitrome.game.QuitGameButton}Uses:6 1273 1274Used by:1436 2955
Symbol 1276 TextUses:7Used by:1278 1307 1308
Symbol 1277 TextUses:7Used by:1278 1307 1308
Symbol 1278 MovieClip {com.nitrome.game.ContinueEndButton}Uses:6 1276 1277Used by:1436 2955
Symbol 1279 BitmapUsed by:1280
Symbol 1280 GraphicUses:1279Used by:1281
Symbol 1281 MovieClipUses:1280Used by:1285 1290 1295 1300 1303 1306 1444 1447 1455 1458
Symbol 1282 GraphicUsed by:1285
Symbol 1283 TextUses:7Used by:1285
Symbol 1284 TextUses:7Used by:1285
Symbol 1285 MovieClip {com.nitrome.game.PlayButton}Uses:1281 1282 1264 1283 1284Used by:2955 2982
Symbol 1286 BitmapUsed by:1287
Symbol 1287 GraphicUses:1286Used by:1290
Symbol 1288 TextUses:7Used by:1290
Symbol 1289 TextUses:7Used by:1290
Symbol 1290 MovieClip {com.nitrome.game.ViewScoresButton}Uses:1281 1287 1288 1289Used by:2955
Symbol 1291 BitmapUsed by:1292
Symbol 1292 GraphicUses:1291Used by:1295
Symbol 1293 TextUses:7Used by:1295
Symbol 1294 TextUses:7Used by:1295
Symbol 1295 MovieClip {com.nitrome.game.CreditsButton}Uses:1281 1292 1293 1294Used by:2955 2982
Symbol 1296 BitmapUsed by:1297
Symbol 1297 GraphicUses:1296Used by:1300
Symbol 1298 TextUses:7Used by:1300
Symbol 1299 TextUses:7Used by:1300
Symbol 1300 MovieClip {com.nitrome.game.HelpButton}Uses:1281 1297 1298 1299Used by:2955 2982
Symbol 1301 TextUses:7Used by:1303
Symbol 1302 TextUses:7Used by:1303
Symbol 1303 MovieClip {com.nitrome.game.BackButton}Uses:1281 1301 1302Used by:2955  Timeline
Symbol 1304 TextUses:7Used by:1306
Symbol 1305 TextUses:7Used by:1306
Symbol 1306 MovieClip {com.nitrome.game.PlayGameButton}Uses:1281 1304 1264 1305Used by:2955  Timeline
Symbol 1307 MovieClip {com.nitrome.game.ContinueGameButton}Uses:6 1276 1264 1277Used by:1436 2955
Symbol 1308 MovieClip {com.nitrome.game.ContinueGameHelpButton}Uses:6 1276 1264 1277Used by:1436 2955
Symbol 1309 BitmapUsed by:1310
Symbol 1310 GraphicUses:1309Used by:1311
Symbol 1311 MovieClipUses:1310Used by:1312 1313 1371 1393 1402 1406 1433
Symbol 1312 MovieClip {com.nitrome.game.HelpArrowButtonLeft}Uses:1311Used by:1434 2955
Symbol 1313 MovieClip {com.nitrome.game.HelpArrowButtonRight}Uses:1311Used by:1434 2955
Symbol 1314 EditableTextUses:778Used by:1315
Symbol 1315 MovieClip {com.nitrome.game.ScoreTicker}Uses:1314Used by:1321 1436 2955
Symbol 1316 GraphicUsed by:1317 1472
Symbol 1317 MovieClipUses:1316Used by:1436
Symbol 1318 BitmapUsed by:1319
Symbol 1319 GraphicUses:1318Used by:1436
Symbol 1320 TextUses:7Used by:1436
Symbol 1321 MovieClip {finalninjazero_fla.score_counter_clip_181}Uses:1315Used by:1436
Symbol 1322 TextUses:778Used by:1436
Symbol 1323 TextUses:778Used by:1436
Symbol 1324 TextUses:778Used by:1436
Symbol 1325 EditableTextUses:778Used by:1436
Symbol 1326 TextUses:778Used by:1436
Symbol 1327 EditableTextUses:778Used by:1436
Symbol 1328 EditableTextUses:778Used by:1436
Symbol 1329 TextUses:7Used by:1436
Symbol 1330 TextUses:778Used by:1436
Symbol 1331 TextUses:778Used by:1436
Symbol 1332 EditableTextUses:778Used by:1436
Symbol 1333 EditableTextUses:778Used by:1436
Symbol 1334 EditableTextUses:778Used by:1436
Symbol 1335 BitmapUsed by:1336
Symbol 1336 GraphicUses:1335Used by:1436
Symbol 1337 TextUses:7Used by:1436
Symbol 1338 TextUses:778Used by:1436
Symbol 1339 EditableTextUses:778Used by:1436
Symbol 1340 EditableTextUses:778Used by:1436
Symbol 1341 EditableTextUses:778Used by:1436
Symbol 1342 BitmapUsed by:1343
Symbol 1343 GraphicUses:1342Used by:1436  Timeline
Symbol 1344 GraphicUsed by:1434
Symbol 1345 GraphicUsed by:1371 1388 1393 1402 1406 1433
Symbol 1346 BitmapUsed by:1347 1374 1397 2138
Symbol 1347 GraphicUses:1346 262Used by:1371 1433
Symbol 1348 GraphicUses:1083 983Used by:1360
Symbol 1349 GraphicUses:1083 985Used by:1360
Symbol 1350 GraphicUses:1083 987Used by:1360
Symbol 1351 GraphicUses:1083 989Used by:1360
Symbol 1352 GraphicUses:1083 991Used by:1360
Symbol 1353 GraphicUses:1083 993Used by:1360
Symbol 1354 GraphicUses:1083 995Used by:1360
Symbol 1355 GraphicUses:1083 997Used by:1360
Symbol 1356 GraphicUses:1083 999Used by:1360
Symbol 1357 GraphicUses:1083 1001Used by:1360
Symbol 1358 GraphicUses:1083 1003Used by:1360
Symbol 1359 GraphicUses:1083 1005Used by:1360
Symbol 1360 MovieClip {finalninjazero_fla.ninrun_help_184}Uses:1348 742 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359Used by:1371
Symbol 1361 TextUses:7Used by:1371 1393 1406 1433
Symbol 1362 TextUses:7Used by:1371 1393 1402 1406
Symbol 1363 TextUses:7Used by:1371 1393 1402 1406 1433
Symbol 1364 TextUses:7Used by:1371 1406
Symbol 1365 TextUses:778Used by:1371
Symbol 1366 TextUses:7Used by:1371 1406
Symbol 1367 TextUses:7Used by:1371 1393 1402 1406 1433
Symbol 1368 GraphicUses:936 933Used by:1369
Symbol 1369 MovieClip {finalninjazero_fla.jumpnin_help_185}Uses:1368 742Used by:1371 1402 1406
Symbol 1370 TextUses:7Used by:1371 1402
Symbol 1371 MovieClipUses:1345 1347 1360 1311 1361 1362 1363 1364 1365 1366 1367 1369 940 1370 942 944 946 948 950 952 954Used by:1434
Symbol 1372 GraphicUses:262Used by:1373
Symbol 1373 MovieClipUses:1372Used by:1388
Symbol 1374 GraphicUses:1346Used by:1388
Symbol 1375 GraphicUses:930 927Used by:1376
Symbol 1376 MovieClip {finalninjazero_fla.waitnin_help_188}Uses:1375 742Used by:1388
Symbol 1377 BitmapUsed by:1378
Symbol 1378 GraphicUses:1377Used by:1379
Symbol 1379 MovieClipUses:1378Used by:1388
Symbol 1380 TextUses:778Used by:1388
Symbol 1381 GraphicUses:1089 927Used by:1382
Symbol 1382 MovieClip {finalninjazero_fla.waitnin_redy_help_190}Uses:1381 742Used by:1388
Symbol 1383 GraphicUsed by:1388
Symbol 1384 GraphicUses:1091 927Used by:1385
Symbol 1385 MovieClip {finalninjazero_fla.waitnin_redy_throw_191}Uses:1384 742Used by:1388
Symbol 1386 GraphicUsed by:1387
Symbol 1387 MovieClipUses:1386Used by:1388
Symbol 1388 MovieClipUses:1345 1373 1374 1376 1379 1380 1382 1383 1385 978 1387Used by:1434
Symbol 1389 GraphicUses:262Used by:1393
Symbol 1390 GraphicUses:1091 1014Used by:1391
Symbol 1391 MovieClip {finalninjazero_fla.ninswing_help_194}Uses:1390 742Used by:1393 1402
Symbol 1392 TextUses:778Used by:1393
Symbol 1393 MovieClipUses:1345 1389 1391 1311 1361 1362 1363 1367 1392Used by:1434
Symbol 1394 BitmapUsed by:1397 2159 2161
Symbol 1395 BitmapUsed by:1397 1403 2163 2165
Symbol 1396 BitmapUsed by:1397 2129 2131
Symbol 1397 GraphicUses:1394 1395 1346 1396 262Used by:1402
Symbol 1398 ShapeTweeningUsed by:1402
Symbol 1399 GraphicUsed by:1402
Symbol 1400 TextUses:778Used by:1402
Symbol 1401 GraphicUsed by:1402
Symbol 1402 MovieClipUses:1345 1397 1398 1391 1399 1311 1370 1362 1363 1367 1400 1401 1369Used by:1434
Symbol 1403 GraphicUses:1395 262Used by:1406
Symbol 1404 MovieClip {finalninjazero_fla.wallnin_help_197}Uses:1012 742 1088Used by:1406
Symbol 1405 TextUses:778Used by:1406
Symbol 1406 MovieClipUses:1345 1403 1404 1232 1311 1361 1362 1366 1367 1405 1369 1363 1364Used by:1434
Symbol 1407 BitmapUsed by:1408
Symbol 1408 GraphicUses:1407Used by:1409 1570
Symbol 1409 MovieClip {finalninjazero_fla.swatgun_200}Uses:1408 742 747 774Used by:1430 1572
Symbol 1410 BitmapUsed by:1411 1569
Symbol 1411 GraphicUses:1410Used by:1426 1571 1572
Symbol 1412 BitmapUsed by:1413
Symbol 1413 GraphicUses:1412Used by:1426
Symbol 1414 BitmapUsed by:1415
Symbol 1415 GraphicUses:1414Used by:1426
Symbol 1416 BitmapUsed by:1417
Symbol 1417 GraphicUses:1416Used by:1426
Symbol 1418 BitmapUsed by:1419 1568
Symbol 1419 GraphicUses:1418Used by:1426 1572
Symbol 1420 BitmapUsed by:1421
Symbol 1421 GraphicUses:1420Used by:1426
Symbol 1422 BitmapUsed by:1423
Symbol 1423 GraphicUses:1422Used by:1426
Symbol 1424 BitmapUsed by:1425
Symbol 1425 GraphicUses:1424Used by:1426
Symbol 1426 MovieClipUses:1411 1413 1415 1417 1419 1421 1423 1425Used by:1430 1572
Symbol 1427 BitmapUsed by:1428
Symbol 1428 GraphicUses:1427Used by:1429
Symbol 1429 MovieClipUses:1428Used by:1430 1571 1572
Symbol 1430 MovieClip {finalninjazero_fla.gunmanhelp_199}Uses:1409 1426 1429Used by:1433
Symbol 1431 TextUses:7Used by:1433
Symbol 1432 TextUses:778Used by:1433
Symbol 1433 MovieClipUses:1345 1347 1430 957 926 1311 1361 1431 1363 1367 1432Used by:1434
Symbol 1434 MovieClip {finalninjazero_fla.help_movie_182}Uses:1344 1371 1312 1313 1388 1393 1402 1406 1433Used by:1436  Timeline
Symbol 1435 TextUses:7Used by:1436
Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179}Uses:1317 1319 1261 1320 1266 1321 1322 1323 1324 1325 1326 1327 1328 1329 1269 1275 1315 1330 1331 1278 1332 1333 1334 1336 1337 1307 1338 1339 1340 1341 1343 1434 1435 1308Used by:1437
Symbol 1437 MovieClip {com.nitrome.game.PopUpHolder}Uses:1436Used by:2955  Timeline
Symbol 1438 EditableTextUses:7Used by:1441
Symbol 1439 EditableTextUses:7Used by:1441
Symbol 1440 EditableTextUses:7Used by:1441
Symbol 1441 MovieClip {ScoreLine}Uses:1438 1439 1440Used by:1452 2955
Symbol 1442 TextUses:7Used by:1444
Symbol 1443 TextUses:7Used by:1444
Symbol 1444 MovieClip {NextArrow}Uses:1281 1442 1443Used by:1452 2955
Symbol 1445 TextUses:7Used by:1447
Symbol 1446 TextUses:7Used by:1447
Symbol 1447 MovieClip {PrevArrow}Uses:1281 1445 1446Used by:1452 2955
Symbol 1448 TextUses:7Used by:1449
Symbol 1449 MovieClipUses:1448Used by:1452 1466
Symbol 1450 TextUses:7Used by:1452 1467
Symbol 1451 TextUses:7Used by:1452 1467
Symbol 1452 MovieClip {HighScoreBoard}Uses:1441 1444 1447 1449 1450 1451 923Used by:2955
Symbol 1453 TextUses:7Used by:1455
Symbol 1454 TextUses:7Used by:1455
Symbol 1455 MovieClip {SubmitButton}Uses:1281 1453 1454Used by:1467 2955
Symbol 1456 TextUses:7Used by:1458
Symbol 1457 TextUses:7Used by:1458
Symbol 1458 MovieClip {ClearButton}Uses:1281 1456 1457Used by:1467 2955
Symbol 1459 BitmapUsed by:1460
Symbol 1460 GraphicUses:1459Used by:1462
Symbol 1461 EditableTextUses:7Used by:1462
Symbol 1462 MovieClip {LetterButton}Uses:1460 1461Used by:1467 2955
Symbol 1463 EditableTextUses:7Used by:1467
Symbol 1464 EditableTextUses:7Used by:1467
Symbol 1465 GraphicUsed by:1466 2912 3101 3104  Timeline
Symbol 1466 MovieClip {finalninjazero_fla.loading_black_212}Uses:1465 1449Used by:1467
Symbol 1467 MovieClip {ScoreSubmitPanel}Uses:6 1463 1464 1455 1458 1462 1466 1450 1451 923Used by:2955
Symbol 1468 FontUsed by:1469
Symbol 1469 TextUses:1468Used by:1472
Symbol 1470 BitmapUsed by:1471
Symbol 1471 GraphicUses:1470Used by:1472
Symbol 1472 MovieClip {com.nitrome.util.Lock}Uses:1316 1469 1471Used by:2955
Symbol 1473 BitmapUsed by:1474 1498 1523
Symbol 1474 GraphicUses:1473Used by:1497
Symbol 1475 BitmapUsed by:1476 1499 1511 1524
Symbol 1476 GraphicUses:1475Used by:1497
Symbol 1477 BitmapUsed by:1478 1500 1512 1525
Symbol 1478 GraphicUses:1477Used by:1497
Symbol 1479 BitmapUsed by:1480 1501 1513 1526
Symbol 1480 GraphicUses:1479Used by:1497
Symbol 1481 BitmapUsed by:1482 1502 1514 1527
Symbol 1482 GraphicUses:1481Used by:1497
Symbol 1483 BitmapUsed by:1484 1503 1515 1528
Symbol 1484 GraphicUses:1483Used by:1497
Symbol 1485 BitmapUsed by:1486 1504 1516 1529
Symbol 1486 GraphicUses:1485Used by:1497
Symbol 1487 BitmapUsed by:1488 1505 1517 1530
Symbol 1488 GraphicUses:1487Used by:1497
Symbol 1489 BitmapUsed by:1490 1506 1518
Symbol 1490 GraphicUses:1489Used by:1497
Symbol 1491 BitmapUsed by:1492 1507 1519
Symbol 1492 GraphicUses:1491Used by:1497
Symbol 1493 BitmapUsed by:1494 1508 1520
Symbol 1494 GraphicUses:1493Used by:1497
Symbol 1495 BitmapUsed by:1496 1509 1521
Symbol 1496 GraphicUses:1495Used by:1497
Symbol 1497 MovieClip {BurnMC1}Uses:1474 1476 1478 1480 1482 1484 1486 1488 1490 1492 1494 1496Used by:2955
Symbol 1498 GraphicUses:1473Used by:1510 1522
Symbol 1499 GraphicUses:1475Used by:1510
Symbol 1500 GraphicUses:1477Used by:1510
Symbol 1501 GraphicUses:1479Used by:1510
Symbol 1502 GraphicUses:1481Used by:1510
Symbol 1503 GraphicUses:1483Used by:1510
Symbol 1504 GraphicUses:1485Used by:1510
Symbol 1505 GraphicUses:1487Used by:1510
Symbol 1506 GraphicUses:1489Used by:1510 1531
Symbol 1507 GraphicUses:1491Used by:1510 1531
Symbol 1508 GraphicUses:1493Used by:1510 1531
Symbol 1509 GraphicUses:1495Used by:1510 1531
Symbol 1510 MovieClip {BurnMC4}Uses:1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509Used by:2955
Symbol 1511 GraphicUses:1475Used by:1522
Symbol 1512 GraphicUses:1477Used by:1522
Symbol 1513 GraphicUses:1479Used by:1522
Symbol 1514 GraphicUses:1481Used by:1522
Symbol 1515 GraphicUses:1483Used by:1522
Symbol 1516 GraphicUses:1485Used by:1522
Symbol 1517 GraphicUses:1487Used by:1522
Symbol 1518 GraphicUses:1489Used by:1522
Symbol 1519 GraphicUses:1491Used by:1522
Symbol 1520 GraphicUses:1493Used by:1522
Symbol 1521 GraphicUses:1495Used by:1522
Symbol 1522 MovieClip {BurnMC3}Uses:1498 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521Used by:2955
Symbol 1523 GraphicUses:1473Used by:1531
Symbol 1524 GraphicUses:1475Used by:1531
Symbol 1525 GraphicUses:1477Used by:1531
Symbol 1526 GraphicUses:1479Used by:1531
Symbol 1527 GraphicUses:1481Used by:1531
Symbol 1528 GraphicUses:1483Used by:1531
Symbol 1529 GraphicUses:1485Used by:1531
Symbol 1530 GraphicUses:1487Used by:1531
Symbol 1531 MovieClip {BurnMC2}Uses:1523 1524 1525 1526 1527 1528 1529 1530 1506 1507 1508 1509Used by:2955
Symbol 1532 BitmapUsed by:1533
Symbol 1533 GraphicUses:1532Used by:1558 1559 1560
Symbol 1534 BitmapUsed by:1535
Symbol 1535 GraphicUses:1534Used by:1558 1559 1560
Symbol 1536 BitmapUsed by:1537
Symbol 1537 GraphicUses:1536Used by:1558 1559 1560
Symbol 1538 BitmapUsed by:1539
Symbol 1539 GraphicUses:1538Used by:1558 1559 1560
Symbol 1540 BitmapUsed by:1541
Symbol 1541 GraphicUses:1540Used by:1558 1559 1560
Symbol 1542 BitmapUsed by:1543
Symbol 1543 GraphicUses:1542Used by:1558 1559 1560
Symbol 1544 BitmapUsed by:1545
Symbol 1545 GraphicUses:1544Used by:1558 1559 1560
Symbol 1546 BitmapUsed by:1547
Symbol 1547 GraphicUses:1546Used by:1558 1559 1560
Symbol 1548 BitmapUsed by:1549
Symbol 1549 GraphicUses:1548Used by:1558 1559 1560
Symbol 1550 BitmapUsed by:1551
Symbol 1551 GraphicUses:1550Used by:1558 1559 1560
Symbol 1552 BitmapUsed by:1553
Symbol 1553 GraphicUses:1552Used by:1558 1559 1560
Symbol 1554 BitmapUsed by:1555
Symbol 1555 GraphicUses:1554Used by:1558 1559 1560
Symbol 1556 BitmapUsed by:1557
Symbol 1557 GraphicUses:1556Used by:1558 1559 1560
Symbol 1558 MovieClip {BangMC3}Uses:1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557Used by:2955
Symbol 1559 MovieClip {BangMC2}Uses:1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557Used by:2955
Symbol 1560 MovieClip {BangMC1}Uses:1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557Used by:2955
Symbol 1561 BitmapUsed by:1562
Symbol 1562 GraphicUses:1561Used by:1567
Symbol 1563 BitmapUsed by:1564
Symbol 1564 GraphicUses:1563Used by:1567
Symbol 1565 BitmapUsed by:1566
Symbol 1566 GraphicUses:1565Used by:1567
Symbol 1567 MovieClip {GeneratorMC}Uses:1562 1564 1566Used by:2955
Symbol 1568 GraphicUses:1418Used by:1572
Symbol 1569 GraphicUses:1410Used by:1572
Symbol 1570 MovieClipUses:1408Used by:1571
Symbol 1571 MovieClip {finalninjazero_fla.pauseswat_223}Uses:1570 1411 1429Used by:1572
Symbol 1572 MovieClip {GunManMC}Uses:1409 1419 1429 1568 1426 1411 1569 1571Used by:2955
Symbol 1573 BitmapUsed by:1574 1575 1595
Symbol 1574 GraphicUses:1573 1075Used by:1597
Symbol 1575 GraphicUses:1573 1075Used by:1597
Symbol 1576 BitmapUsed by:1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1858
Symbol 1577 GraphicUses:1576 1039Used by:1589
Symbol 1578 GraphicUses:1576 1041Used by:1589
Symbol 1579 GraphicUses:1576 1043Used by:1589
Symbol 1580 GraphicUses:1576 1045Used by:1589
Symbol 1581 GraphicUses:1576 1047Used by:1589
Symbol 1582 GraphicUses:1576 1049Used by:1589
Symbol 1583 GraphicUses:1576 1051Used by:1589
Symbol 1584 GraphicUses:1576 1053Used by:1589
Symbol 1585 GraphicUses:1576 1055Used by:1589
Symbol 1586 GraphicUses:1576 1057Used by:1589
Symbol 1587 GraphicUses:1576 1059Used by:1589
Symbol 1588 GraphicUses:1576 1061Used by:1589
Symbol 1589 MovieClipUses:1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588Used by:1597
Symbol 1590 GraphicUses:1036Used by:1596 1646
Symbol 1591 BitmapUsed by:1592
Symbol 1592 GraphicUses:1591Used by:1596
Symbol 1593 BitmapUsed by:1594
Symbol 1594 GraphicUses:1593Used by:1596
Symbol 1595 GraphicUses:1573Used by:1596
Symbol 1596 MovieClipUses:1590 1592 1594 1595Used by:1597 1861 3092
Symbol 1597 MovieClip {CowardMC}Uses:1574 1575 1589 1596Used by:2955
Symbol 1598 BitmapUsed by:1599 1600 1601
Symbol 1599 GraphicUses:1598Used by:1683
Symbol 1600 GraphicUses:1598Used by:1683
Symbol 1601 GraphicUses:1598Used by:1608
Symbol 1602 BitmapUsed by:1603
Symbol 1603 GraphicUses:1602Used by:1608
Symbol 1604 BitmapUsed by:1605
Symbol 1605 GraphicUses:1604Used by:1608
Symbol 1606 BitmapUsed by:1607
Symbol 1607 GraphicUses:1606Used by:1608
Symbol 1608 MovieClipUses:1601 1603 1605 1607Used by:1683
Symbol 1609 BitmapUsed by:1610
Symbol 1610 GraphicUses:1609Used by:1643 1860
Symbol 1611 BitmapUsed by:1612
Symbol 1612 GraphicUses:1611Used by:1643 1860
Symbol 1613 BitmapUsed by:1614
Symbol 1614 GraphicUses:1613Used by:1643 1860
Symbol 1615 BitmapUsed by:1616
Symbol 1616 GraphicUses:1615Used by:1643 1860
Symbol 1617 BitmapUsed by:1618
Symbol 1618 GraphicUses:1617Used by:1643 1860
Symbol 1619 BitmapUsed by:1620
Symbol 1620 GraphicUses:1619Used by:1643 1860
Symbol 1621 BitmapUsed by:1622
Symbol 1622 GraphicUses:1621Used by:1643 1860
Symbol 1623 BitmapUsed by:1624
Symbol 1624 GraphicUses:1623Used by:1643 1860
Symbol 1625 BitmapUsed by:1626
Symbol 1626 GraphicUses:1625Used by:1643 1860
Symbol 1627 BitmapUsed by:1628
Symbol 1628 GraphicUses:1627Used by:1643 1860
Symbol 1629 BitmapUsed by:1630
Symbol 1630 GraphicUses:1629Used by:1643 1860
Symbol 1631 BitmapUsed by:1632
Symbol 1632 GraphicUses:1631Used by:1643 1860
Symbol 1633 BitmapUsed by:1634
Symbol 1634 GraphicUses:1633Used by:1643 1860
Symbol 1635 BitmapUsed by:1636
Symbol 1636 GraphicUses:1635Used by:1643 1860
Symbol 1637 BitmapUsed by:1638
Symbol 1638 GraphicUses:1637Used by:1643 1860
Symbol 1639 BitmapUsed by:1640
Symbol 1640 GraphicUses:1639Used by:1643 1860
Symbol 1641 BitmapUsed by:1642
Symbol 1642 GraphicUses:1641Used by:1643 1860
Symbol 1643 MovieClip {finalninjazero_fla.scientistdead_230}Uses:1610 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642Used by:1683
Symbol 1644 BitmapUsed by:1645
Symbol 1645 GraphicUses:1644Used by:1646
Symbol 1646 MovieClipUses:1590 1645Used by:1683
Symbol 1647 BitmapUsed by:1648
Symbol 1648 GraphicUses:1647Used by:1679 1860
Symbol 1649 BitmapUsed by:1650
Symbol 1650 GraphicUses:1649Used by:1679 1860
Symbol 1651 BitmapUsed by:1652
Symbol 1652 GraphicUses:1651Used by:1679 1860
Symbol 1653 BitmapUsed by:1654
Symbol 1654 GraphicUses:1653Used by:1679 1860
Symbol 1655 BitmapUsed by:1656
Symbol 1656 GraphicUses:1655Used by:1679 1860
Symbol 1657 BitmapUsed by:1658
Symbol 1658 GraphicUses:1657Used by:1679 1860
Symbol 1659 BitmapUsed by:1660
Symbol 1660 GraphicUses:1659Used by:1679 1860
Symbol 1661 BitmapUsed by:1662
Symbol 1662 GraphicUses:1661Used by:1679 1860
Symbol 1663 BitmapUsed by:1664
Symbol 1664 GraphicUses:1663Used by:1679
Symbol 1665 BitmapUsed by:1666
Symbol 1666 GraphicUses:1665Used by:1679
Symbol 1667 BitmapUsed by:1668
Symbol 1668 GraphicUses:1667Used by:1679
Symbol 1669 BitmapUsed by:1670
Symbol 1670 GraphicUses:1669Used by:1679
Symbol 1671 BitmapUsed by:1672
Symbol 1672 GraphicUses:1671Used by:1679
Symbol 1673 BitmapUsed by:1674
Symbol 1674 GraphicUses:1673Used by:1679
Symbol 1675 BitmapUsed by:1676
Symbol 1676 GraphicUses:1675Used by:1679
Symbol 1677 BitmapUsed by:1678
Symbol 1678 GraphicUses:1677Used by:1679
Symbol 1679 MovieClipUses:1648 1650 1652 1654 1656 1658 1660 1662 1664 1666 1668 1670 1672 1674 1676 1678Used by:1683
Symbol 1680 GraphicUses:1069Used by:1682
Symbol 1681 GraphicUses:1072Used by:1682
Symbol 1682 MovieClipUses:1065 1068 1680 1681Used by:1683
Symbol 1683 MovieClip {ScientistMC}Uses:1599 1600 1608 1643 1646 1679 1682Used by:2955
Symbol 1684 BitmapUsed by:1685
Symbol 1685 GraphicUses:1684Used by:1687
Symbol 1686 MovieClipUses:1210Used by:1687
Symbol 1687 MovieClip {SniperMC}Uses:1685 1686Used by:2955
Symbol 1688 BitmapUsed by:1689
Symbol 1689 GraphicUses:1688Used by:1698
Symbol 1690 BitmapUsed by:1691
Symbol 1691 GraphicUses:1690Used by:1698
Symbol 1692 BitmapUsed by:1693
Symbol 1693 GraphicUses:1692Used by:1698
Symbol 1694 BitmapUsed by:1695
Symbol 1695 GraphicUses:1694Used by:1698
Symbol 1696 BitmapUsed by:1697
Symbol 1697 GraphicUses:1696Used by:1698
Symbol 1698 MovieClip {SightMC}Uses:1689 1691 1693 1695 1697Used by:2955
Symbol 1699 BitmapUsed by:1700
Symbol 1700 GraphicUses:1699Used by:1719
Symbol 1701 BitmapUsed by:1702
Symbol 1702 GraphicUses:1701Used by:1719
Symbol 1703 BitmapUsed by:1704
Symbol 1704 GraphicUses:1703Used by:1719
Symbol 1705 BitmapUsed by:1706
Symbol 1706 GraphicUses:1705Used by:1719
Symbol 1707 BitmapUsed by:1708
Symbol 1708 GraphicUses:1707Used by:1719
Symbol 1709 BitmapUsed by:1710
Symbol 1710 GraphicUses:1709Used by:1719
Symbol 1711 BitmapUsed by:1712
Symbol 1712 GraphicUses:1711Used by:1719
Symbol 1713 BitmapUsed by:1714
Symbol 1714 GraphicUses:1713Used by:1719
Symbol 1715 BitmapUsed by:1716
Symbol 1716 GraphicUses:1715Used by:1719
Symbol 1717 BitmapUsed by:1718
Symbol 1718 GraphicUses:1717Used by:1719
Symbol 1719 MovieClip {SniperShotMC}Uses:1700 1702 1704 1706 1708 1710 1712 1714 1716 1718Used by:2955
Symbol 1720 MovieClip {SmokeHitMC}Uses:749 751 753 755 757 759 761 763 765 767 769 771 773Used by:2955
Symbol 1721 BitmapUsed by:1722
Symbol 1722 GraphicUses:1721Used by:1727 1729 1731 1732
Symbol 1723 MovieClipUses:981Used by:1726
Symbol 1724 GraphicUses:924 956Used by:1725
Symbol 1725 MovieClipUses:1724Used by:1726
Symbol 1726 MovieClip {finalninjazero_fla.lift_stealth_242}Uses:1723 1725Used by:1727
Symbol 1727 MovieClipUses:1726 1722Used by:1728
Symbol 1728 MovieClip {finalninjazero_fla.exitanim_240}Uses:1727Used by:1729 1731
Symbol 1729 MovieClip {LiftMC}Uses:1722 1728Used by:2955
Symbol 1730 GraphicUsed by:1731
Symbol 1731 MovieClip {ChaseFinishMC}Uses:1730 1722 1728Used by:2955
Symbol 1732 MovieClipUses:1722Used by:1733
Symbol 1733 MovieClip {EntranceLiftMC}Uses:1732Used by:2955
Symbol 1734 MovieClip {JumpMC}Uses:940 942 944 946 948 950 952 954Used by:2955
Symbol 1735 BitmapUsed by:1736
Symbol 1736 GraphicUses:1735Used by:1743
Symbol 1737 BitmapUsed by:1738
Symbol 1738 GraphicUses:1737Used by:1743
Symbol 1739 BitmapUsed by:1740
Symbol 1740 GraphicUses:1739Used by:1743
Symbol 1741 BitmapUsed by:1742
Symbol 1742 GraphicUses:1741Used by:1743
Symbol 1743 MovieClipUses:1736 1738 1740 1742Used by:1814
Symbol 1744 BitmapUsed by:1745
Symbol 1745 GraphicUses:1744Used by:1766
Symbol 1746 BitmapUsed by:1747
Symbol 1747 GraphicUses:1746Used by:1766
Symbol 1748 BitmapUsed by:1749
Symbol 1749 GraphicUses:1748Used by:1766
Symbol 1750 BitmapUsed by:1751 1811
Symbol 1751 GraphicUses:1750Used by:1766 1814
Symbol 1752 BitmapUsed by:1753
Symbol 1753 GraphicUses:1752Used by:1766
Symbol 1754 BitmapUsed by:1755
Symbol 1755 GraphicUses:1754Used by:1766
Symbol 1756 BitmapUsed by:1757
Symbol 1757 GraphicUses:1756Used by:1766
Symbol 1758 BitmapUsed by:1759
Symbol 1759 GraphicUses:1758Used by:1766
Symbol 1760 BitmapUsed by:1761
Symbol 1761 GraphicUses:1760Used by:1766
Symbol 1762 BitmapUsed by:1763
Symbol 1763 GraphicUses:1762Used by:1766
Symbol 1764 BitmapUsed by:1765
Symbol 1765 GraphicUses:1764Used by:1766
Symbol 1766 MovieClipUses:1745 1747 1749 1751 1753 1755 1757 1759 1761 1763 1765Used by:1814
Symbol 1767 BitmapUsed by:1768
Symbol 1768 GraphicUses:1767Used by:1771
Symbol 1769 BitmapUsed by:1770
Symbol 1770 GraphicUses:1769Used by:1771
Symbol 1771 MovieClip {finalninjazero_fla.swdefend_252}Uses:1768 1770Used by:1814
Symbol 1772 BitmapUsed by:1773
Symbol 1773 GraphicUses:1772Used by:1788 1810 1812
Symbol 1774 BitmapUsed by:1775
Symbol 1775 GraphicUses:1774Used by:1788 1810
Symbol 1776 BitmapUsed by:1777
Symbol 1777 GraphicUses:1776Used by:1788 1810
Symbol 1778 BitmapUsed by:1779
Symbol 1779 GraphicUses:1778Used by:1788 1810
Symbol 1780 BitmapUsed by:1781
Symbol 1781 GraphicUses:1780Used by:1788 1810
Symbol 1782 BitmapUsed by:1783
Symbol 1783 GraphicUses:1782Used by:1788 1810
Symbol 1784 BitmapUsed by:1785
Symbol 1785 GraphicUses:1784Used by:1788 1810
Symbol 1786 BitmapUsed by:1787
Symbol 1787 GraphicUses:1786Used by:1788 1810
Symbol 1788 MovieClip {finalninjazero_fla.swstandinattack_253}Uses:1773 1775 1777 1779 1781 1783 1785 1787Used by:1814
Symbol 1789 BitmapUsed by:1790
Symbol 1790 GraphicUses:1789Used by:1810 1812
Symbol 1791 BitmapUsed by:1792
Symbol 1792 GraphicUses:1791Used by:1810 1812
Symbol 1793 BitmapUsed by:1794 1813
Symbol 1794 GraphicUses:1793Used by:1810 1812 1814
Symbol 1795 BitmapUsed by:1796
Symbol 1796 GraphicUses:1795Used by:1810
Symbol 1797 MovieClipUses:940 942 944 946 948 950 952 954Used by:1810
Symbol 1798 BitmapUsed by:1799
Symbol 1799 GraphicUses:1798Used by:1810
Symbol 1800 BitmapUsed by:1801
Symbol 1801 GraphicUses:1800Used by:1810
Symbol 1802 BitmapUsed by:1803
Symbol 1803 GraphicUses:1802Used by:1810
Symbol 1804 BitmapUsed by:1805
Symbol 1805 GraphicUses:1804Used by:1810
Symbol 1806 BitmapUsed by:1807
Symbol 1807 GraphicUses:1806Used by:1810
Symbol 1808 BitmapUsed by:1809
Symbol 1809 GraphicUses:1808Used by:1810
Symbol 1810 MovieClip {finalninjazero_fla.swjumpfin_254}Uses:1773 1790 1792 1794 1796 1797 1799 1801 1803 1805 1775 1807 1777 1809 1779 1781 1783 1785 1787Used by:1814
Symbol 1811 GraphicUses:1750Used by:1814
Symbol 1812 MovieClip {finalninjazero_fla.swwaitdef_256}Uses:1773 1790 1792 1794Used by:1814
Symbol 1813 GraphicUses:1793Used by:1814
Symbol 1814 MovieClip {BladeManMC}Uses:1743 1766 1771 1788 1810 1751 1811 1812 1794 1813 736Used by:2955
Symbol 1815 BitmapUsed by:1816
Symbol 1816 GraphicUses:1815Used by:1828 1829 1835
Symbol 1817 BitmapUsed by:1818
Symbol 1818 GraphicUses:1817Used by:1827
Symbol 1819 BitmapUsed by:1820
Symbol 1820 GraphicUses:1819Used by:1827
Symbol 1821 BitmapUsed by:1822
Symbol 1822 GraphicUses:1821Used by:1827
Symbol 1823 BitmapUsed by:1824
Symbol 1824 GraphicUses:1823Used by:1827
Symbol 1825 BitmapUsed by:1826
Symbol 1826 GraphicUses:1825Used by:1827
Symbol 1827 MovieClipUses:1818 1820 1822 1824 1826Used by:1828 1832 1833 1835 3092
Symbol 1828 MovieClip {BossMC}Uses:1816 1827Used by:2955
Symbol 1829 MovieClipUses:1816Used by:1834
Symbol 1830 GraphicUsed by:1831
Symbol 1831 MovieClipUses:1830Used by:1832
Symbol 1832 MovieClipUses:1827 1831Used by:1833
Symbol 1833 MovieClipUses:1827 1832Used by:1834 3092
Symbol 1834 MovieClip {BossShadowMC}Uses:1829 1833Used by:2955
Symbol 1835 MovieClip {BossGraphicMC}Uses:1816 1827Used by:2955
Symbol 1836 GraphicUsed by:1837
Symbol 1837 MovieClip {BuildElectricBlockMC}Uses:1836Used by:2955
Symbol 1838 GraphicUsed by:1839
Symbol 1839 MovieClip {BuildBlockMC}Uses:1838Used by:2955
Symbol 1840 GraphicUsed by:1841
Symbol 1841 MovieClip {BuildWhiteBlockMC}Uses:1840Used by:2955
Symbol 1842 GraphicUsed by:1845
Symbol 1843 FontUsed by:1844 1856
Symbol 1844 TextUses:1843Used by:1845
Symbol 1845 MovieClip {BuildCoverMC}Uses:1842 1844Used by:2955
Symbol 1846 BitmapUsed by:1847
Symbol 1847 GraphicUses:1846Used by:1854
Symbol 1848 BitmapUsed by:1849
Symbol 1849 GraphicUses:1848Used by:1850
Symbol 1850 MovieClipUses:1849Used by:1851 1853
Symbol 1851 MovieClipUses:1850Used by:1854
Symbol 1852 GraphicUsed by:1853
Symbol 1853 MovieClip {finalninjazero_fla.cammocollect_272}Uses:1852 1850Used by:1854
Symbol 1854 MovieClip {CammoMC}Uses:1847 1851 1853Used by:2955
Symbol 1855 GraphicUsed by:1857
Symbol 1856 TextUses:1843Used by:1857
Symbol 1857 MovieClip {ElectricFinishMC}Uses:1855 1856Used by:2955
Symbol 1858 GraphicUses:1576Used by:1859
Symbol 1859 MovieClipUses:1858Used by:1860
Symbol 1860 MovieClip {finalninjazero_fla.cowarddead_275}Uses:1610 1859 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1648 1650 1652 1654 1656 1658 1660 1662Used by:1861
Symbol 1861 MovieClip {CowardGeneratorMC}Uses:1596 1860Used by:2955
Symbol 1862 BitmapUsed by:1863 1865
Symbol 1863 GraphicUses:1862Used by:1864
Symbol 1864 MovieClip {SpawnBackMC1}Uses:1863Used by:2955
Symbol 1865 GraphicUses:1862Used by:1866
Symbol 1866 MovieClip {SpawnBackMC2}Uses:1865Used by:2955
Symbol 1867 BitmapUsed by:1868
Symbol 1868 GraphicUses:1867Used by:1869
Symbol 1869 MovieClip {MovingMC11}Uses:1868Used by:2955
Symbol 1870 BitmapUsed by:1871
Symbol 1871 GraphicUses:1870Used by:1872
Symbol 1872 MovieClip {MovingMC10}Uses:1871Used by:2955
Symbol 1873 BitmapUsed by:1874
Symbol 1874 GraphicUses:1873Used by:1875
Symbol 1875 MovieClip {MovingMC9}Uses:1874Used by:2955
Symbol 1876 BitmapUsed by:1877
Symbol 1877 GraphicUses:1876Used by:1878
Symbol 1878 MovieClip {MovingMC8}Uses:1877Used by:2955
Symbol 1879 BitmapUsed by:1880
Symbol 1880 GraphicUses:1879Used by:1881
Symbol 1881 MovieClip {MovingMC7}Uses:1880Used by:2955
Symbol 1882 BitmapUsed by:1883
Symbol 1883 GraphicUses:1882Used by:1884
Symbol 1884 MovieClip {MovingMC6}Uses:1883Used by:2955
Symbol 1885 BitmapUsed by:1886
Symbol 1886 GraphicUses:1885Used by:1887
Symbol 1887 MovieClip {MovingMC5}Uses:1886Used by:2955
Symbol 1888 BitmapUsed by:1889
Symbol 1889 GraphicUses:1888Used by:1890
Symbol 1890 MovieClip {MovingMC4}Uses:1889Used by:2955
Symbol 1891 BitmapUsed by:1892
Symbol 1892 GraphicUses:1891Used by:1893
Symbol 1893 MovieClip {MovingMC3}Uses:1892Used by:2955
Symbol 1894 BitmapUsed by:1895
Symbol 1895 GraphicUses:1894Used by:1896
Symbol 1896 MovieClip {MovingMC2}Uses:1895Used by:2955
Symbol 1897 BitmapUsed by:1898
Symbol 1898 GraphicUses:1897Used by:1899
Symbol 1899 MovieClip {MovingMC1}Uses:1898Used by:2955
Symbol 1900 BitmapUsed by:1901
Symbol 1901 GraphicUses:1900Used by:1902 1903
Symbol 1902 MovieClip {CoinMC}Uses:1901Used by:2955
Symbol 1903 MovieClipUses:1901Used by:1904
Symbol 1904 MovieClip {CoinFadeMC}Uses:1903Used by:2955
Symbol 1905 BitmapUsed by:1906
Symbol 1906 GraphicUses:1905Used by:1907 1908
Symbol 1907 MovieClip {HealthMC}Uses:1906Used by:2955
Symbol 1908 MovieClipUses:1906Used by:1909
Symbol 1909 MovieClip {HealthFadeMC}Uses:1908Used by:2955
Symbol 1910 GraphicUsed by:1911
Symbol 1911 MovieClip {com.nitrome.game.MiniclipLogo}Uses:1910Used by:2931 2955
Symbol 1912 BitmapUsed by:1913
Symbol 1913 GraphicUses:1912Used by:1928
Symbol 1914 BitmapUsed by:1915
Symbol 1915 GraphicUses:1914Used by:1928
Symbol 1916 BitmapUsed by:1917
Symbol 1917 GraphicUses:1916Used by:1928
Symbol 1918 BitmapUsed by:1919
Symbol 1919 GraphicUses:1918Used by:1928
Symbol 1920 BitmapUsed by:1921
Symbol 1921 GraphicUses:1920Used by:1928
Symbol 1922 BitmapUsed by:1923
Symbol 1923 GraphicUses:1922Used by:1928
Symbol 1924 BitmapUsed by:1925
Symbol 1925 GraphicUses:1924Used by:1928
Symbol 1926 BitmapUsed by:1927
Symbol 1927 GraphicUses:1926Used by:1928
Symbol 1928 MovieClip {LaserGunSparksMC}Uses:1913 1915 1917 1919 1921 1923 1925 1927Used by:2955
Symbol 1929 BitmapUsed by:1930 1939 1944 1949
Symbol 1930 GraphicUses:1929Used by:1954
Symbol 1931 BitmapUsed by:1932 1940 1945 1950
Symbol 1932 GraphicUses:1931Used by:1954
Symbol 1933 BitmapUsed by:1934 1941 1946 1951
Symbol 1934 GraphicUses:1933Used by:1954
Symbol 1935 BitmapUsed by:1936 1942 1947 1952
Symbol 1936 GraphicUses:1935Used by:1954
Symbol 1937 BitmapUsed by:1938 1943 1948 1953
Symbol 1938 GraphicUses:1937Used by:1954
Symbol 1939 GraphicUses:1929Used by:1954
Symbol 1940 GraphicUses:1931Used by:1954
Symbol 1941 GraphicUses:1933Used by:1954
Symbol 1942 GraphicUses:1935Used by:1954
Symbol 1943 GraphicUses:1937Used by:1954
Symbol 1944 GraphicUses:1929Used by:1954
Symbol 1945 GraphicUses:1931Used by:1954
Symbol 1946 GraphicUses:1933Used by:1954
Symbol 1947 GraphicUses:1935Used by:1954
Symbol 1948 GraphicUses:1937Used by:1954
Symbol 1949 GraphicUses:1929Used by:1954
Symbol 1950 GraphicUses:1931Used by:1954
Symbol 1951 GraphicUses:1933Used by:1954
Symbol 1952 GraphicUses:1935Used by:1954
Symbol 1953 GraphicUses:1937Used by:1954
Symbol 1954 MovieClip {ElectricMC}Uses:1930 1932 1934 1936 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953Used by:2955
Symbol 1955 BitmapUsed by:1956
Symbol 1956 GraphicUses:1955Used by:1960
Symbol 1957 BitmapUsed by:1958
Symbol 1958 GraphicUses:1957Used by:1959
Symbol 1959 MovieClipUses:1958Used by:1960
Symbol 1960 MovieClip {WaterLineMC}Uses:742 1956 1959Used by:2955
Symbol 1961 BitmapUsed by:1962
Symbol 1962 GraphicUses:1961Used by:1963
Symbol 1963 MovieClip {DebrisMC12}Uses:1962Used by:2955
Symbol 1964 BitmapUsed by:1965
Symbol 1965 GraphicUses:1964Used by:1966
Symbol 1966 MovieClip {DebrisMC13}Uses:1965Used by:2955
Symbol 1967 BitmapUsed by:1968
Symbol 1968 GraphicUses:1967Used by:1969
Symbol 1969 MovieClip {DebrisMC14}Uses:1968Used by:2955
Symbol 1970 BitmapUsed by:1971
Symbol 1971 GraphicUses:1970Used by:1972
Symbol 1972 MovieClip {MidMC6}Uses:1971Used by:2955
Symbol 1973 BitmapUsed by:1974
Symbol 1974 GraphicUses:1973Used by:1975
Symbol 1975 MovieClip {MidMC5}Uses:1974Used by:2955
Symbol 1976 BitmapUsed by:1977
Symbol 1977 GraphicUses:1976Used by:1978
Symbol 1978 MovieClip {MidMC4}Uses:1977Used by:2955
Symbol 1979 BitmapUsed by:1980
Symbol 1980 GraphicUses:1979Used by:1981
Symbol 1981 MovieClip {MidMC3}Uses:1980Used by:2955
Symbol 1982 BitmapUsed by:1983
Symbol 1983 GraphicUses:1982Used by:1984
Symbol 1984 MovieClip {MidMC2}Uses:1983Used by:2955
Symbol 1985 BitmapUsed by:1986
Symbol 1986 GraphicUses:1985Used by:1987
Symbol 1987 MovieClip {MidMC1}Uses:1986Used by:2955
Symbol 1988 BitmapUsed by:1989 1991 1993 2004
Symbol 1989 GraphicUses:1988Used by:1990
Symbol 1990 MovieClip {BlockMC215}Uses:1989Used by:2955
Symbol 1991 GraphicUses:1988Used by:1992
Symbol 1992 MovieClip {BlockMC216}Uses:1991Used by:2955
Symbol 1993 GraphicUses:1988Used by:1994
Symbol 1994 MovieClip {BlockMC218}Uses:1993Used by:2955
Symbol 1995 BitmapUsed by:1996 1998 2000 2002
Symbol 1996 GraphicUses:1995Used by:1997
Symbol 1997 MovieClip {BlockMC219}Uses:1996Used by:2955
Symbol 1998 GraphicUses:1995Used by:1999
Symbol 1999 MovieClip {BlockMC222}Uses:1998Used by:2955
Symbol 2000 GraphicUses:1995Used by:2001
Symbol 2001 MovieClip {BlockMC221}Uses:2000Used by:2955
Symbol 2002 GraphicUses:1995Used by:2003
Symbol 2003 MovieClip {BlockMC220}Uses:2002Used by:2955
Symbol 2004 GraphicUses:1988Used by:2005
Symbol 2005 MovieClip {BlockMC217}Uses:2004Used by:2955
Symbol 2006 BitmapUsed by:2007
Symbol 2007 GraphicUses:2006Used by:2008
Symbol 2008 MovieClip {BlockMC1}Uses:2007Used by:2955
Symbol 2009 BitmapUsed by:2010
Symbol 2010 GraphicUses:2009Used by:2011
Symbol 2011 MovieClip {BlockMC2}Uses:2010Used by:2955
Symbol 2012 BitmapUsed by:2013
Symbol 2013 GraphicUses:2012Used by:2014
Symbol 2014 MovieClip {BlockMC3}Uses:2013Used by:2955
Symbol 2015 BitmapUsed by:2016
Symbol 2016 GraphicUses:2015Used by:2017
Symbol 2017 MovieClip {BlockMC4}Uses:2016Used by:2955
Symbol 2018 BitmapUsed by:2019
Symbol 2019 GraphicUses:2018Used by:2020
Symbol 2020 MovieClip {BlockMC5}Uses:2019Used by:2955
Symbol 2021 BitmapUsed by:2022
Symbol 2022 GraphicUses:2021Used by:2023
Symbol 2023 MovieClip {BlockMC6}Uses:2022Used by:2955
Symbol 2024 BitmapUsed by:2025
Symbol 2025 GraphicUses:2024Used by:2026
Symbol 2026 MovieClip {BlockMC7}Uses:2025Used by:2955
Symbol 2027 BitmapUsed by:2028
Symbol 2028 GraphicUses:2027Used by:2029
Symbol 2029 MovieClip {BlockMC8}Uses:2028Used by:2955
Symbol 2030 BitmapUsed by:2031
Symbol 2031 GraphicUses:2030Used by:2032
Symbol 2032 MovieClip {BlockMC9}Uses:2031Used by:2955
Symbol 2033 BitmapUsed by:2034
Symbol 2034 GraphicUses:2033Used by:2035
Symbol 2035 MovieClip {BlockMC10}Uses:2034Used by:2955
Symbol 2036 BitmapUsed by:2037
Symbol 2037 GraphicUses:2036Used by:2038
Symbol 2038 MovieClip {BlockMC11}Uses:2037Used by:2955
Symbol 2039 BitmapUsed by:2040
Symbol 2040 GraphicUses:2039Used by:2041
Symbol 2041 MovieClip {BlockMC12}Uses:2040Used by:2955
Symbol 2042 BitmapUsed by:2043
Symbol 2043 GraphicUses:2042Used by:2044
Symbol 2044 MovieClip {BlockMC13}Uses:2043Used by:2955
Symbol 2045 BitmapUsed by:2046
Symbol 2046 GraphicUses:2045Used by:2047
Symbol 2047 MovieClip {BlockMC14}Uses:2046Used by:2955
Symbol 2048 BitmapUsed by:2049
Symbol 2049 GraphicUses:2048Used by:2050
Symbol 2050 MovieClip {BlockMC15}Uses:2049Used by:2955
Symbol 2051 BitmapUsed by:2052
Symbol 2052 GraphicUses:2051Used by:2053
Symbol 2053 MovieClip {BlockMC16}Uses:2052Used by:2955
Symbol 2054 BitmapUsed by:2055
Symbol 2055 GraphicUses:2054Used by:2056
Symbol 2056 MovieClip {BlockMC17}Uses:2055Used by:2955
Symbol 2057 BitmapUsed by:2058
Symbol 2058 GraphicUses:2057Used by:2059
Symbol 2059 MovieClip {BlockMC18}Uses:2058Used by:2955
Symbol 2060 BitmapUsed by:2061
Symbol 2061 GraphicUses:2060Used by:2062
Symbol 2062 MovieClip {BlockMC19}Uses:2061Used by:2955
Symbol 2063 BitmapUsed by:2064
Symbol 2064 GraphicUses:2063Used by:2065
Symbol 2065 MovieClip {BlockMC20}Uses:2064Used by:2955
Symbol 2066 BitmapUsed by:2067
Symbol 2067 GraphicUses:2066Used by:2068
Symbol 2068 MovieClip {BlockMC21}Uses:2067Used by:2955
Symbol 2069 BitmapUsed by:2070
Symbol 2070 GraphicUses:2069Used by:2071
Symbol 2071 MovieClip {BlockMC22}Uses:2070Used by:2955
Symbol 2072 BitmapUsed by:2073 2075
Symbol 2073 GraphicUses:2072Used by:2074
Symbol 2074 MovieClip {BlockMC29}Uses:2073Used by:2955
Symbol 2075 GraphicUses:2072Used by:2076
Symbol 2076 MovieClip {BlockMC30}Uses:2075Used by:2955
Symbol 2077 BitmapUsed by:2078
Symbol 2078 GraphicUses:2077Used by:2079
Symbol 2079 MovieClip {BlockMC31}Uses:2078Used by:2955
Symbol 2080 BitmapUsed by:2081 2083
Symbol 2081 GraphicUses:2080Used by:2082
Symbol 2082 MovieClip {BlockMC36}Uses:2081Used by:2955
Symbol 2083 GraphicUses:2080Used by:2084
Symbol 2084 MovieClip {BlockMC37}Uses:2083Used by:2955
Symbol 2085 BitmapUsed by:2086 2088
Symbol 2086 GraphicUses:2085Used by:2087
Symbol 2087 MovieClip {BlockMC46}Uses:2086Used by:2955
Symbol 2088 GraphicUses:2085Used by:2089
Symbol 2089 MovieClip {BlockMC47}Uses:2088Used by:2955
Symbol 2090 BitmapUsed by:2091
Symbol 2091 GraphicUses:2090Used by:2092
Symbol 2092 MovieClip {BlockMC50}Uses:2091Used by:2955
Symbol 2093 BitmapUsed by:2094 2096
Symbol 2094 GraphicUses:2093Used by:2095
Symbol 2095 MovieClip {BlockMC71}Uses:2094Used by:2955
Symbol 2096 GraphicUses:2093Used by:2097
Symbol 2097 MovieClip {BlockMC72}Uses:2096Used by:2955
Symbol 2098 BitmapUsed by:2099
Symbol 2099 GraphicUses:2098Used by:2100
Symbol 2100 MovieClip {BlockMC73}Uses:2099Used by:2955
Symbol 2101 BitmapUsed by:2102
Symbol 2102 GraphicUses:2101Used by:2103
Symbol 2103 MovieClip {BlockMC74}Uses:2102Used by:2955
Symbol 2104 BitmapUsed by:2105
Symbol 2105 GraphicUses:2104Used by:2106
Symbol 2106 MovieClip {BlockMC75}Uses:2105Used by:2955
Symbol 2107 BitmapUsed by:2108
Symbol 2108 GraphicUses:2107Used by:2109
Symbol 2109 MovieClip {BlockMC76}Uses:2108Used by:2955
Symbol 2110 BitmapUsed by:2111
Symbol 2111 GraphicUses:2110Used by:2112
Symbol 2112 MovieClip {BlockMC77}Uses:2111Used by:2955
Symbol 2113 BitmapUsed by:2114 2116
Symbol 2114 GraphicUses:2113Used by:2115
Symbol 2115 MovieClip {BlockMC78}Uses:2114Used by:2955
Symbol 2116 GraphicUses:2113Used by:2117
Symbol 2117 MovieClip {BlockMC229}Uses:2116Used by:2955
Symbol 2118 BitmapUsed by:2119
Symbol 2119 GraphicUses:2118Used by:2120
Symbol 2120 MovieClip {BlockMC79}Uses:2119Used by:2955
Symbol 2121 BitmapUsed by:2122 2124
Symbol 2122 GraphicUses:2121Used by:2123
Symbol 2123 MovieClip {BlockMC80}Uses:2122Used by:2955
Symbol 2124 GraphicUses:2121Used by:2125
Symbol 2125 MovieClip {BlockMC223}Uses:2124Used by:2955
Symbol 2126 BitmapUsed by:2127
Symbol 2127 GraphicUses:2126Used by:2128
Symbol 2128 MovieClip {BlockMC81}Uses:2127Used by:2955
Symbol 2129 GraphicUses:1396Used by:2130
Symbol 2130 MovieClip {BlockMC82}Uses:2129Used by:2955
Symbol 2131 GraphicUses:1396Used by:2132
Symbol 2132 MovieClip {BlockMC83}Uses:2131Used by:2955
Symbol 2133 BitmapUsed by:2134 2136
Symbol 2134 GraphicUses:2133Used by:2135
Symbol 2135 MovieClip {BlockMC84}Uses:2134Used by:2955
Symbol 2136 GraphicUses:2133Used by:2137
Symbol 2137 MovieClip {BlockMC227}Uses:2136Used by:2955
Symbol 2138 GraphicUses:1346Used by:2139
Symbol 2139 MovieClip {BlockMC85}Uses:2138Used by:2955
Symbol 2140 BitmapUsed by:2141
Symbol 2141 GraphicUses:2140Used by:2142
Symbol 2142 MovieClip {BlockMC86}Uses:2141Used by:2955
Symbol 2143 BitmapUsed by:2144
Symbol 2144 GraphicUses:2143Used by:2145
Symbol 2145 MovieClip {BlockMC87}Uses:2144Used by:2955
Symbol 2146 BitmapUsed by:2147
Symbol 2147 GraphicUses:2146Used by:2148
Symbol 2148 MovieClip {BlockMC88}Uses:2147Used by:2955
Symbol 2149 BitmapUsed by:2150 2152
Symbol 2150 GraphicUses:2149Used by:2151
Symbol 2151 MovieClip {BlockMC89}Uses:2150Used by:2955
Symbol 2152 GraphicUses:2149Used by:2153
Symbol 2153 MovieClip {BlockMC90}Uses:2152Used by:2955
Symbol 2154 BitmapUsed by:2155 2157
Symbol 2155 GraphicUses:2154Used by:2156
Symbol 2156 MovieClip {BlockMC91}Uses:2155Used by:2955
Symbol 2157 GraphicUses:2154Used by:2158
Symbol 2158 MovieClip {BlockMC92}Uses:2157Used by:2955
Symbol 2159 GraphicUses:1394Used by:2160
Symbol 2160 MovieClip {BlockMC93}Uses:2159Used by:2955
Symbol 2161 GraphicUses:1394Used by:2162
Symbol 2162 MovieClip {BlockMC225}Uses:2161Used by:2955
Symbol 2163 GraphicUses:1395Used by:2164
Symbol 2164 MovieClip {BlockMC94}Uses:2163Used by:2955
Symbol 2165 GraphicUses:1395Used by:2166
Symbol 2166 MovieClip {BlockMC231}Uses:2165Used by:2955
Symbol 2167 BitmapUsed by:2168 2170
Symbol 2168 GraphicUses:2167Used by:2169
Symbol 2169 MovieClip {BlockMC95}Uses:2168Used by:2955
Symbol 2170 GraphicUses:2167Used by:2171
Symbol 2171 MovieClip {BlockMC226}Uses:2170Used by:2955
Symbol 2172 BitmapUsed by:2173
Symbol 2173 GraphicUses:2172Used by:2174
Symbol 2174 MovieClip {BlockMC96}Uses:2173Used by:2955
Symbol 2175 BitmapUsed by:2176
Symbol 2176 GraphicUses:2175Used by:2177
Symbol 2177 MovieClip {BlockMC97}Uses:2176Used by:2955
Symbol 2178 BitmapUsed by:2179
Symbol 2179 GraphicUses:2178Used by:2180
Symbol 2180 MovieClip {BlockMC98}Uses:2179Used by:2955
Symbol 2181 BitmapUsed by:2182
Symbol 2182 GraphicUses:2181Used by:2183
Symbol 2183 MovieClip {BlockMC99}Uses:2182Used by:2955
Symbol 2184 BitmapUsed by:2185
Symbol 2185 GraphicUses:2184Used by:2186
Symbol 2186 MovieClip {BlockMC100}Uses:2185Used by:2955
Symbol 2187 BitmapUsed by:2188 2190
Symbol 2188 GraphicUses:2187Used by:2189
Symbol 2189 MovieClip {BlockMC101}Uses:2188Used by:2955
Symbol 2190 GraphicUses:2187Used by:2191
Symbol 2191 MovieClip {BlockMC224}Uses:2190Used by:2955
Symbol 2192 BitmapUsed by:2193 2195
Symbol 2193 GraphicUses:2192Used by:2194
Symbol 2194 MovieClip {BlockMC102}Uses:2193Used by:2955
Symbol 2195 GraphicUses:2192Used by:2196
Symbol 2196 MovieClip {BlockMC228}Uses:2195Used by:2955
Symbol 2197 BitmapUsed by:2198
Symbol 2198 GraphicUses:2197Used by:2199
Symbol 2199 MovieClip {BlockMC103}Uses:2198Used by:2955
Symbol 2200 BitmapUsed by:2201
Symbol 2201 GraphicUses:2200Used by:2202
Symbol 2202 MovieClip {BlockMC104}Uses:2201Used by:2955
Symbol 2203 BitmapUsed by:2204 2206
Symbol 2204 GraphicUses:2203Used by:2205
Symbol 2205 MovieClip {BlockMC105}Uses:2204Used by:2955
Symbol 2206 GraphicUses:2203Used by:2207
Symbol 2207 MovieClip {BlockMC230}Uses:2206Used by:2955
Symbol 2208 BitmapUsed by:2209
Symbol 2209 GraphicUses:2208Used by:2210
Symbol 2210 MovieClip {BlockMC121}Uses:2209Used by:2955
Symbol 2211 BitmapUsed by:2212
Symbol 2212 GraphicUses:2211Used by:2213
Symbol 2213 MovieClip {BlockMC122}Uses:2212Used by:2955
Symbol 2214 BitmapUsed by:2215
Symbol 2215 GraphicUses:2214Used by:2216
Symbol 2216 MovieClip {BlockMC123}Uses:2215Used by:2955
Symbol 2217 BitmapUsed by:2218
Symbol 2218 GraphicUses:2217Used by:2219
Symbol 2219 MovieClip {BlockMC124}Uses:2218Used by:2955
Symbol 2220 BitmapUsed by:2221 2223
Symbol 2221 GraphicUses:2220Used by:2222
Symbol 2222 MovieClip {BlockMC130}Uses:2221Used by:2955
Symbol 2223 GraphicUses:2220Used by:2224
Symbol 2224 MovieClip {BlockMC234}Uses:2223Used by:2955
Symbol 2225 BitmapUsed by:2226
Symbol 2226 GraphicUses:2225Used by:2227
Symbol 2227 MovieClip {BlockMC131}Uses:2226Used by:2955
Symbol 2228 BitmapUsed by:2229
Symbol 2229 GraphicUses:2228Used by:2230
Symbol 2230 MovieClip {BlockMC132}Uses:2229Used by:2955
Symbol 2231 BitmapUsed by:2232
Symbol 2232 GraphicUses:2231Used by:2233
Symbol 2233 MovieClip {BlockMC133}Uses:2232Used by:2955
Symbol 2234 BitmapUsed by:2235
Symbol 2235 GraphicUses:2234Used by:2236
Symbol 2236 MovieClip {BlockMC134}Uses:2235Used by:2955
Symbol 2237 BitmapUsed by:2238
Symbol 2238 GraphicUses:2237Used by:2239
Symbol 2239 MovieClip {BlockMC135}Uses:2238Used by:2955
Symbol 2240 BitmapUsed by:2241 2243
Symbol 2241 GraphicUses:2240Used by:2242
Symbol 2242 MovieClip {BlockMC136}Uses:2241Used by:2955
Symbol 2243 GraphicUses:2240Used by:2244
Symbol 2244 MovieClip {BlockMC137}Uses:2243Used by:2955
Symbol 2245 BitmapUsed by:2246
Symbol 2246 GraphicUses:2245Used by:2247
Symbol 2247 MovieClip {BlockMC138}Uses:2246Used by:2955
Symbol 2248 BitmapUsed by:2249
Symbol 2249 GraphicUses:2248Used by:2250
Symbol 2250 MovieClip {BlockMC139}Uses:2249Used by:2955
Symbol 2251 BitmapUsed by:2252
Symbol 2252 GraphicUses:2251Used by:2253
Symbol 2253 MovieClip {BlockMC140}Uses:2252Used by:2955
Symbol 2254 BitmapUsed by:2255
Symbol 2255 GraphicUses:2254Used by:2256
Symbol 2256 MovieClip {BlockMC141}Uses:2255Used by:2955
Symbol 2257 BitmapUsed by:2258
Symbol 2258 GraphicUses:2257Used by:2259
Symbol 2259 MovieClip {BlockMC142}Uses:2258Used by:2955
Symbol 2260 BitmapUsed by:2261
Symbol 2261 GraphicUses:2260Used by:2262
Symbol 2262 MovieClip {BlockMC143}Uses:2261Used by:2955
Symbol 2263 BitmapUsed by:2264
Symbol 2264 GraphicUses:2263Used by:2265
Symbol 2265 MovieClip {BlockMC144}Uses:2264Used by:2955
Symbol 2266 BitmapUsed by:2267
Symbol 2267 GraphicUses:2266Used by:2268
Symbol 2268 MovieClip {BlockMC145}Uses:2267Used by:2955
Symbol 2269 BitmapUsed by:2270
Symbol 2270 GraphicUses:2269Used by:2271
Symbol 2271 MovieClip {BlockMC146}Uses:2270Used by:2955
Symbol 2272 BitmapUsed by:2273
Symbol 2273 GraphicUses:2272Used by:2274
Symbol 2274 MovieClip {BlockMC147}Uses:2273Used by:2955
Symbol 2275 BitmapUsed by:2276
Symbol 2276 GraphicUses:2275Used by:2277
Symbol 2277 MovieClip {BlockMC148}Uses:2276Used by:2955
Symbol 2278 BitmapUsed by:2279
Symbol 2279 GraphicUses:2278Used by:2280
Symbol 2280 MovieClip {BlockMC149}Uses:2279Used by:2955
Symbol 2281 BitmapUsed by:2282 2284
Symbol 2282 GraphicUses:2281Used by:2283
Symbol 2283 MovieClip {BlockMC150}Uses:2282Used by:2955
Symbol 2284 GraphicUses:2281Used by:2285
Symbol 2285 MovieClip {BlockMC151}Uses:2284Used by:2955
Symbol 2286 BitmapUsed by:2287
Symbol 2287 GraphicUses:2286Used by:2288
Symbol 2288 MovieClip {BlockMC152}Uses:2287Used by:2955
Symbol 2289 BitmapUsed by:2290
Symbol 2290 GraphicUses:2289Used by:2291
Symbol 2291 MovieClip {BlockMC153}Uses:2290Used by:2955
Symbol 2292 BitmapUsed by:2293
Symbol 2293 GraphicUses:2292Used by:2294
Symbol 2294 MovieClip {BlockMC154}Uses:2293Used by:2955
Symbol 2295 BitmapUsed by:2296
Symbol 2296 GraphicUses:2295Used by:2297
Symbol 2297 MovieClip {BlockMC155}Uses:2296Used by:2955
Symbol 2298 BitmapUsed by:2299
Symbol 2299 GraphicUses:2298Used by:2300
Symbol 2300 MovieClip {BlockMC156}Uses:2299Used by:2955
Symbol 2301 BitmapUsed by:2302
Symbol 2302 GraphicUses:2301Used by:2303
Symbol 2303 MovieClip {BlockMC157}Uses:2302Used by:2955
Symbol 2304 BitmapUsed by:2305
Symbol 2305 GraphicUses:2304Used by:2306
Symbol 2306 MovieClip {BlockMC158}Uses:2305Used by:2955
Symbol 2307 BitmapUsed by:2308
Symbol 2308 GraphicUses:2307Used by:2309
Symbol 2309 MovieClip {BlockMC159}Uses:2308Used by:2955
Symbol 2310 BitmapUsed by:2311
Symbol 2311 GraphicUses:2310Used by:2312
Symbol 2312 MovieClip {BlockMC160}Uses:2311Used by:2955
Symbol 2313 BitmapUsed by:2314
Symbol 2314 GraphicUses:2313Used by:2315
Symbol 2315 MovieClip {BlockMC161}Uses:2314Used by:2955
Symbol 2316 BitmapUsed by:2317
Symbol 2317 GraphicUses:2316Used by:2318
Symbol 2318 MovieClip {BlockMC162}Uses:2317Used by:2955
Symbol 2319 BitmapUsed by:2320
Symbol 2320 GraphicUses:2319Used by:2321
Symbol 2321 MovieClip {BlockMC163}Uses:2320Used by:2955
Symbol 2322 BitmapUsed by:2323
Symbol 2323 GraphicUses:2322Used by:2324
Symbol 2324 MovieClip {BlockMC164}Uses:2323Used by:2955
Symbol 2325 BitmapUsed by:2326
Symbol 2326 GraphicUses:2325Used by:2327
Symbol 2327 MovieClip {BlockMC165}Uses:2326Used by:2955
Symbol 2328 BitmapUsed by:2329
Symbol 2329 GraphicUses:2328Used by:2330
Symbol 2330 MovieClip {BlockMC166}Uses:2329Used by:2955
Symbol 2331 BitmapUsed by:2332
Symbol 2332 GraphicUses:2331Used by:2333
Symbol 2333 MovieClip {BlockMC167}Uses:2332Used by:2955
Symbol 2334 BitmapUsed by:2335
Symbol 2335 GraphicUses:2334Used by:2336
Symbol 2336 MovieClip {BlockMC168}Uses:2335Used by:2955
Symbol 2337 BitmapUsed by:2338
Symbol 2338 GraphicUses:2337Used by:2339
Symbol 2339 MovieClip {BlockMC169}Uses:2338Used by:2955
Symbol 2340 BitmapUsed by:2341
Symbol 2341 GraphicUses:2340Used by:2342
Symbol 2342 MovieClip {BlockMC170}Uses:2341Used by:2955
Symbol 2343 BitmapUsed by:2344
Symbol 2344 GraphicUses:2343Used by:2345
Symbol 2345 MovieClip {BlockMC171}Uses:2344Used by:2955
Symbol 2346 BitmapUsed by:2347
Symbol 2347 GraphicUses:2346Used by:2348
Symbol 2348 MovieClip {BlockMC172}Uses:2347Used by:2955
Symbol 2349 BitmapUsed by:2350
Symbol 2350 GraphicUses:2349Used by:2351
Symbol 2351 MovieClip {BlockMC173}Uses:2350Used by:2955
Symbol 2352 BitmapUsed by:2353
Symbol 2353 GraphicUses:2352Used by:2354
Symbol 2354 MovieClip {BlockMC174}Uses:2353Used by:2955
Symbol 2355 BitmapUsed by:2356
Symbol 2356 GraphicUses:2355Used by:2357
Symbol 2357 MovieClip {BlockMC175}Uses:2356Used by:2955
Symbol 2358 BitmapUsed by:2359
Symbol 2359 GraphicUses:2358Used by:2360
Symbol 2360 MovieClip {BlockMC176}Uses:2359Used by:2955
Symbol 2361 BitmapUsed by:2362
Symbol 2362 GraphicUses:2361Used by:2363
Symbol 2363 MovieClip {BlockMC177}Uses:2362Used by:2955
Symbol 2364 BitmapUsed by:2365
Symbol 2365 GraphicUses:2364Used by:2366
Symbol 2366 MovieClip {BlockMC182}Uses:2365Used by:2955
Symbol 2367 BitmapUsed by:2368
Symbol 2368 GraphicUses:2367Used by:2369
Symbol 2369 MovieClip {BlockMC183}Uses:2368Used by:2955
Symbol 2370 BitmapUsed by:2371
Symbol 2371 GraphicUses:2370Used by:2372
Symbol 2372 MovieClip {BlockMC184}Uses:2371Used by:2955
Symbol 2373 BitmapUsed by:2374
Symbol 2374 GraphicUses:2373Used by:2375
Symbol 2375 MovieClip {BlockMC185}Uses:2374Used by:2955
Symbol 2376 BitmapUsed by:2377
Symbol 2377 GraphicUses:2376Used by:2378
Symbol 2378 MovieClip {BlockMC186}Uses:2377Used by:2955
Symbol 2379 BitmapUsed by:2380
Symbol 2380 GraphicUses:2379Used by:2381
Symbol 2381 MovieClip {BlockMC187}Uses:2380Used by:2955
Symbol 2382 BitmapUsed by:2383
Symbol 2383 GraphicUses:2382Used by:2384
Symbol 2384 MovieClip {BlockMC188}Uses:2383Used by:2955
Symbol 2385 BitmapUsed by:2386
Symbol 2386 GraphicUses:2385Used by:2387
Symbol 2387 MovieClip {BlockMC191}Uses:2386Used by:2955
Symbol 2388 BitmapUsed by:2389
Symbol 2389 GraphicUses:2388Used by:2390
Symbol 2390 MovieClip {BlockMC194}Uses:2389Used by:2955
Symbol 2391 BitmapUsed by:2392
Symbol 2392 GraphicUses:2391Used by:2393
Symbol 2393 MovieClip {BlockMC195}Uses:2392Used by:2955
Symbol 2394 BitmapUsed by:2395
Symbol 2395 GraphicUses:2394Used by:2396
Symbol 2396 MovieClip {BlockMC196}Uses:2395Used by:2955
Symbol 2397 BitmapUsed by:2398
Symbol 2398 GraphicUses:2397Used by:2399
Symbol 2399 MovieClip {BlockMC197}Uses:2398Used by:2955
Symbol 2400 BitmapUsed by:2401
Symbol 2401 GraphicUses:2400Used by:2402
Symbol 2402 MovieClip {BlockMC198}Uses:2401Used by:2955
Symbol 2403 BitmapUsed by:2404
Symbol 2404 GraphicUses:2403Used by:2405
Symbol 2405 MovieClip {BlockMC199}Uses:2404Used by:2955
Symbol 2406 BitmapUsed by:2407
Symbol 2407 GraphicUses:2406Used by:2408
Symbol 2408 MovieClip {BlockMC200}Uses:2407Used by:2955
Symbol 2409 BitmapUsed by:2410
Symbol 2410 GraphicUses:2409Used by:2411
Symbol 2411 MovieClip {BlockMC201}Uses:2410Used by:2955
Symbol 2412 BitmapUsed by:2413
Symbol 2413 GraphicUses:2412Used by:2414
Symbol 2414 MovieClip {BlockMC202}Uses:2413Used by:2955
Symbol 2415 BitmapUsed by:2416
Symbol 2416 GraphicUses:2415Used by:2417
Symbol 2417 MovieClip {BlockMC203}Uses:2416Used by:2955
Symbol 2418 BitmapUsed by:2419
Symbol 2419 GraphicUses:2418Used by:2420
Symbol 2420 MovieClip {BlockMC204}Uses:2419Used by:2955
Symbol 2421 BitmapUsed by:2422
Symbol 2422 GraphicUses:2421Used by:2423
Symbol 2423 MovieClip {BlockMC205}Uses:2422Used by:2955
Symbol 2424 BitmapUsed by:2425
Symbol 2425 GraphicUses:2424Used by:2426
Symbol 2426 MovieClip {BlockMC206}Uses:2425Used by:2955
Symbol 2427 BitmapUsed by:2428
Symbol 2428 GraphicUses:2427Used by:2429
Symbol 2429 MovieClip {BlockMC207}Uses:2428Used by:2955
Symbol 2430 BitmapUsed by:2431
Symbol 2431 GraphicUses:2430Used by:2432
Symbol 2432 MovieClip {BlockMC208}Uses:2431Used by:2955
Symbol 2433 BitmapUsed by:2434
Symbol 2434 GraphicUses:2433Used by:2435
Symbol 2435 MovieClip {BlockMC209}Uses:2434Used by:2955
Symbol 2436 BitmapUsed by:2437
Symbol 2437 GraphicUses:2436Used by:2438
Symbol 2438 MovieClip {BlockMC210}Uses:2437Used by:2955
Symbol 2439 BitmapUsed by:2440
Symbol 2440 GraphicUses:2439Used by:2441
Symbol 2441 MovieClip {BlockMC211}Uses:2440Used by:2955
Symbol 2442 BitmapUsed by:2443
Symbol 2443 GraphicUses:2442Used by:2444
Symbol 2444 MovieClip {BlockMC212}Uses:2443Used by:2955
Symbol 2445 BitmapUsed by:2446
Symbol 2446 GraphicUses:2445Used by:2447
Symbol 2447 MovieClip {BlockMC213}Uses:2446Used by:2955
Symbol 2448 BitmapUsed by:2449
Symbol 2449 GraphicUses:2448Used by:2450
Symbol 2450 MovieClip {BlockMC214}Uses:2449Used by:2955
Symbol 2451 BitmapUsed by:2452 2463
Symbol 2452 GraphicUses:2451Used by:2453
Symbol 2453 MovieClip {BlockMC193}Uses:2452Used by:2955
Symbol 2454 BitmapUsed by:2455 2465
Symbol 2455 GraphicUses:2454Used by:2456
Symbol 2456 MovieClip {BlockMC190}Uses:2455Used by:2955
Symbol 2457 BitmapUsed by:2458 2469
Symbol 2458 GraphicUses:2457Used by:2459
Symbol 2459 MovieClip {BlockMC179}Uses:2458Used by:2955
Symbol 2460 BitmapUsed by:2461 2467
Symbol 2461 GraphicUses:2460Used by:2462
Symbol 2462 MovieClip {BlockMC181}Uses:2461Used by:2955
Symbol 2463 GraphicUses:2451Used by:2464
Symbol 2464 MovieClip {BlockMC192}Uses:2463Used by:2955
Symbol 2465 GraphicUses:2454Used by:2466
Symbol 2466 MovieClip {BlockMC189}Uses:2465Used by:2955
Symbol 2467 GraphicUses:2460Used by:2468
Symbol 2468 MovieClip {BlockMC180}Uses:2467Used by:2955
Symbol 2469 GraphicUses:2457Used by:2470
Symbol 2470 MovieClip {BlockMC178}Uses:2469Used by:2955
Symbol 2471 BitmapUsed by:2472 2505
Symbol 2472 GraphicUses:2471Used by:2473
Symbol 2473 MovieClip {BlockMC64}Uses:2472Used by:2955
Symbol 2474 BitmapUsed by:2475 2509
Symbol 2475 GraphicUses:2474Used by:2476
Symbol 2476 MovieClip {BlockMC56}Uses:2475Used by:2955
Symbol 2477 BitmapUsed by:2478 2503
Symbol 2478 GraphicUses:2477Used by:2479
Symbol 2479 MovieClip {BlockMC66}Uses:2478Used by:2955
Symbol 2480 BitmapUsed by:2481 2507
Symbol 2481 GraphicUses:2480Used by:2482
Symbol 2482 MovieClip {BlockMC58}Uses:2481Used by:2955
Symbol 2483 BitmapUsed by:2484 2497
Symbol 2484 GraphicUses:2483Used by:2485
Symbol 2485 MovieClip {BlockMC60}Uses:2484Used by:2955
Symbol 2486 BitmapUsed by:2487 2501
Symbol 2487 GraphicUses:2486Used by:2488
Symbol 2488 MovieClip {BlockMC52}Uses:2487Used by:2955
Symbol 2489 BitmapUsed by:2490 2495
Symbol 2490 GraphicUses:2489Used by:2491
Symbol 2491 MovieClip {BlockMC62}Uses:2490Used by:2955
Symbol 2492 BitmapUsed by:2493 2499
Symbol 2493 GraphicUses:2492Used by:2494
Symbol 2494 MovieClip {BlockMC54}Uses:2493Used by:2955
Symbol 2495 GraphicUses:2489Used by:2496
Symbol 2496 MovieClip {BlockMC61}Uses:2495Used by:2955
Symbol 2497 GraphicUses:2483Used by:2498
Symbol 2498 MovieClip {BlockMC59}Uses:2497Used by:2955
Symbol 2499 GraphicUses:2492Used by:2500
Symbol 2500 MovieClip {BlockMC53}Uses:2499Used by:2955
Symbol 2501 GraphicUses:2486Used by:2502
Symbol 2502 MovieClip {BlockMC51}Uses:2501Used by:2955
Symbol 2503 GraphicUses:2477Used by:2504
Symbol 2504 MovieClip {BlockMC65}Uses:2503Used by:2955
Symbol 2505 GraphicUses:2471Used by:2506
Symbol 2506 MovieClip {BlockMC63}Uses:2505Used by:2955
Symbol 2507 GraphicUses:2480Used by:2508
Symbol 2508 MovieClip {BlockMC57}Uses:2507Used by:2955
Symbol 2509 GraphicUses:2474Used by:2510
Symbol 2510 MovieClip {BlockMC55}Uses:2509Used by:2955
Symbol 2511 BitmapUsed by:2512 2527
Symbol 2512 GraphicUses:2511Used by:2513
Symbol 2513 MovieClip {BlockMC26}Uses:2512Used by:2955
Symbol 2514 BitmapUsed by:2515 2525
Symbol 2515 GraphicUses:2514Used by:2516
Symbol 2516 MovieClip {BlockMC28}Uses:2515Used by:2955
Symbol 2517 BitmapUsed by:2518 2523
Symbol 2518 GraphicUses:2517Used by:2519
Symbol 2519 MovieClip {BlockMC68}Uses:2518Used by:2955
Symbol 2520 BitmapUsed by:2521 2529
Symbol 2521 GraphicUses:2520Used by:2522
Symbol 2522 MovieClip {BlockMC24}Uses:2521Used by:2955
Symbol 2523 GraphicUses:2517Used by:2524
Symbol 2524 MovieClip {BlockMC67}Uses:2523Used by:2955
Symbol 2525 GraphicUses:2514Used by:2526
Symbol 2526 MovieClip {BlockMC27}Uses:2525Used by:2955
Symbol 2527 GraphicUses:2511Used by:2528
Symbol 2528 MovieClip {BlockMC25}Uses:2527Used by:2955
Symbol 2529 GraphicUses:2520Used by:2530
Symbol 2530 MovieClip {BlockMC23}Uses:2529Used by:2955
Symbol 2531 BitmapUsed by:2532 2569
Symbol 2532 GraphicUses:2531Used by:2533
Symbol 2533 MovieClip {BlockMC43}Uses:2532Used by:2955
Symbol 2534 BitmapUsed by:2535 2565
Symbol 2535 GraphicUses:2534Used by:2536
Symbol 2536 MovieClip {BlockMC49}Uses:2535Used by:2955
Symbol 2537 BitmapUsed by:2538 2567
Symbol 2538 GraphicUses:2537Used by:2539
Symbol 2539 MovieClip {BlockMC45}Uses:2538Used by:2955
Symbol 2540 BitmapUsed by:2541 2563
Symbol 2541 GraphicUses:2540Used by:2542
Symbol 2542 MovieClip {BlockMC70}Uses:2541Used by:2955
Symbol 2543 BitmapUsed by:2544 2557
Symbol 2544 GraphicUses:2543Used by:2545
Symbol 2545 MovieClip {BlockMC39}Uses:2544Used by:2955
Symbol 2546 BitmapUsed by:2547 2561
Symbol 2547 GraphicUses:2546Used by:2548
Symbol 2548 MovieClip {BlockMC33}Uses:2547Used by:2955
Symbol 2549 BitmapUsed by:2550 2555
Symbol 2550 GraphicUses:2549Used by:2551
Symbol 2551 MovieClip {BlockMC41}Uses:2550Used by:2955
Symbol 2552 BitmapUsed by:2553 2559
Symbol 2553 GraphicUses:2552Used by:2554
Symbol 2554 MovieClip {BlockMC35}Uses:2553Used by:2955
Symbol 2555 GraphicUses:2549Used by:2556
Symbol 2556 MovieClip {BlockMC40}Uses:2555Used by:2955
Symbol 2557 GraphicUses:2543Used by:2558
Symbol 2558 MovieClip {BlockMC38}Uses:2557Used by:2955
Symbol 2559 GraphicUses:2552Used by:2560
Symbol 2560 MovieClip {BlockMC34}Uses:2559Used by:2955
Symbol 2561 GraphicUses:2546Used by:2562
Symbol 2562 MovieClip {BlockMC32}Uses:2561Used by:2955
Symbol 2563 GraphicUses:2540Used by:2564
Symbol 2564 MovieClip {BlockMC69}Uses:2563Used by:2955
Symbol 2565 GraphicUses:2534Used by:2566
Symbol 2566 MovieClip {BlockMC48}Uses:2565Used by:2955
Symbol 2567 GraphicUses:2537Used by:2568
Symbol 2568 MovieClip {BlockMC44}Uses:2567Used by:2955
Symbol 2569 GraphicUses:2531Used by:2570
Symbol 2570 MovieClip {BlockMC42}Uses:2569Used by:2955
Symbol 2571 BitmapUsed by:2572
Symbol 2572 GraphicUses:2571Used by:2573
Symbol 2573 MovieClip {BlockMC113}Uses:2572Used by:2955
Symbol 2574 BitmapUsed by:2575
Symbol 2575 GraphicUses:2574Used by:2576
Symbol 2576 MovieClip {BlockMC114}Uses:2575Used by:2955
Symbol 2577 BitmapUsed by:2578
Symbol 2578 GraphicUses:2577Used by:2579
Symbol 2579 MovieClip {BlockMC115}Uses:2578Used by:2955
Symbol 2580 BitmapUsed by:2581
Symbol 2581 GraphicUses:2580Used by:2582
Symbol 2582 MovieClip {BlockMC118}Uses:2581Used by:2955
Symbol 2583 BitmapUsed by:2584
Symbol 2584 GraphicUses:2583Used by:2585
Symbol 2585 MovieClip {BlockMC119}Uses:2584Used by:2955
Symbol 2586 BitmapUsed by:2587
Symbol 2587 GraphicUses:2586Used by:2588
Symbol 2588 MovieClip {BlockMC127}Uses:2587Used by:2955
Symbol 2589 BitmapUsed by:2590
Symbol 2590 GraphicUses:2589Used by:2591
Symbol 2591 MovieClip {BlockMC106}Uses:2590Used by:2955
Symbol 2592 BitmapUsed by:2593
Symbol 2593 GraphicUses:2592Used by:2594
Symbol 2594 MovieClip {BlockMC107}Uses:2593Used by:2955
Symbol 2595 BitmapUsed by:2596
Symbol 2596 GraphicUses:2595Used by:2597
Symbol 2597 MovieClip {BlockMC110}Uses:2596Used by:2955
Symbol 2598 BitmapUsed by:2599
Symbol 2599 GraphicUses:2598Used by:2600
Symbol 2600 MovieClip {BlockMC111}Uses:2599Used by:2955
Symbol 2601 BitmapUsed by:2602
Symbol 2602 GraphicUses:2601Used by:2603
Symbol 2603 MovieClip {BlockMC112}Uses:2602Used by:2955
Symbol 2604 BitmapUsed by:2605
Symbol 2605 GraphicUses:2604Used by:2606
Symbol 2606 MovieClip {BlockMC128}Uses:2605Used by:2955
Symbol 2607 BitmapUsed by:2608
Symbol 2608 GraphicUses:2607Used by:2609
Symbol 2609 MovieClip {BlockMC116}Uses:2608Used by:2955
Symbol 2610 BitmapUsed by:2611
Symbol 2611 GraphicUses:2610Used by:2612
Symbol 2612 MovieClip {BlockMC117}Uses:2611Used by:2955
Symbol 2613 BitmapUsed by:2614
Symbol 2614 GraphicUses:2613Used by:2615
Symbol 2615 MovieClip {BlockMC120}Uses:2614Used by:2955
Symbol 2616 BitmapUsed by:2617
Symbol 2617 GraphicUses:2616Used by:2618
Symbol 2618 MovieClip {BlockMC129}Uses:2617Used by:2955
Symbol 2619 BitmapUsed by:2620
Symbol 2620 GraphicUses:2619Used by:2621
Symbol 2621 MovieClip {BlockMC108}Uses:2620Used by:2955
Symbol 2622 BitmapUsed by:2623
Symbol 2623 GraphicUses:2622Used by:2624
Symbol 2624 MovieClip {BlockMC109}Uses:2623Used by:2955
Symbol 2625 BitmapUsed by:2626
Symbol 2626 GraphicUses:2625Used by:2627
Symbol 2627 MovieClip {BlockMC125}Uses:2626Used by:2955
Symbol 2628 BitmapUsed by:2629
Symbol 2629 GraphicUses:2628Used by:2630
Symbol 2630 MovieClip {BlockMC126}Uses:2629Used by:2955
Symbol 2631 BitmapUsed by:2632
Symbol 2632 GraphicUses:2631Used by:2633
Symbol 2633 MovieClip {ElectricMC9}Uses:2632Used by:2955
Symbol 2634 BitmapUsed by:2635
Symbol 2635 GraphicUses:2634Used by:2636
Symbol 2636 MovieClip {ElectricMC8}Uses:2635Used by:2955
Symbol 2637 BitmapUsed by:2638
Symbol 2638 GraphicUses:2637Used by:2639
Symbol 2639 MovieClip {ElectricMC7}Uses:2638Used by:2955
Symbol 2640 BitmapUsed by:2641
Symbol 2641 GraphicUses:2640Used by:2642
Symbol 2642 MovieClip {ElectricMC6}Uses:2641Used by:2955
Symbol 2643 BitmapUsed by:2644
Symbol 2644 GraphicUses:2643Used by:2645
Symbol 2645 MovieClip {ElectricMC5}Uses:2644Used by:2955
Symbol 2646 BitmapUsed by:2647
Symbol 2647 GraphicUses:2646Used by:2648
Symbol 2648 MovieClip {ElectricMC4}Uses:2647Used by:2955
Symbol 2649 BitmapUsed by:2650
Symbol 2650 GraphicUses:2649Used by:2651
Symbol 2651 MovieClip {ElectricMC3}Uses:2650Used by:2955
Symbol 2652 BitmapUsed by:2653
Symbol 2653 GraphicUses:2652Used by:2654
Symbol 2654 MovieClip {ElectricMC2}Uses:2653Used by:2955
Symbol 2655 BitmapUsed by:2656
Symbol 2656 GraphicUses:2655Used by:2657
Symbol 2657 MovieClip {ElectricMC1}Uses:2656Used by:2955
Symbol 2658 BitmapUsed by:2659
Symbol 2659 GraphicUses:2658Used by:2660
Symbol 2660 MovieClip {WhiteMC1}Uses:2659Used by:2955
Symbol 2661 BitmapUsed by:2662
Symbol 2662 GraphicUses:2661Used by:2663
Symbol 2663 MovieClip {WhiteMC2}Uses:2662Used by:2955
Symbol 2664 BitmapUsed by:2665
Symbol 2665 GraphicUses:2664Used by:2666
Symbol 2666 MovieClip {WhiteMC3}Uses:2665Used by:2955
Symbol 2667 BitmapUsed by:2668
Symbol 2668 GraphicUses:2667Used by:2669
Symbol 2669 MovieClip {WhiteMC4}Uses:2668Used by:2955
Symbol 2670 BitmapUsed by:2671
Symbol 2671 GraphicUses:2670Used by:2672
Symbol 2672 MovieClip {WhiteMC5}Uses:2671Used by:2955
Symbol 2673 BitmapUsed by:2674
Symbol 2674 GraphicUses:2673Used by:2675
Symbol 2675 MovieClip {WhiteMC6}Uses:2674Used by:2955
Symbol 2676 BitmapUsed by:2677 2799
Symbol 2677 GraphicUses:2676Used by:2678
Symbol 2678 MovieClip {WhiteMC7}Uses:2677Used by:2955
Symbol 2679 BitmapUsed by:2680 2682
Symbol 2680 GraphicUses:2679Used by:2681
Symbol 2681 MovieClip {WhiteMC8}Uses:2680Used by:2955
Symbol 2682 GraphicUses:2679Used by:2683
Symbol 2683 MovieClip {WhiteMC9}Uses:2682Used by:2955
Symbol 2684 BitmapUsed by:2685 2687
Symbol 2685 GraphicUses:2684Used by:2686
Symbol 2686 MovieClip {WhiteMC10}Uses:2685Used by:2955
Symbol 2687 GraphicUses:2684Used by:2688
Symbol 2688 MovieClip {WhiteMC11}Uses:2687Used by:2955
Symbol 2689 BitmapUsed by:2690 2692
Symbol 2690 GraphicUses:2689Used by:2691
Symbol 2691 MovieClip {WhiteMC12}Uses:2690Used by:2955
Symbol 2692 GraphicUses:2689Used by:2693
Symbol 2693 MovieClip {WhiteMC13}Uses:2692Used by:2955
Symbol 2694 BitmapUsed by:2695
Symbol 2695 GraphicUses:2694Used by:2696
Symbol 2696 MovieClip {WhiteMC14}Uses:2695Used by:2955
Symbol 2697 BitmapUsed by:2698
Symbol 2698 GraphicUses:2697Used by:2699
Symbol 2699 MovieClip {WhiteMC15}Uses:2698Used by:2955
Symbol 2700 BitmapUsed by:2701
Symbol 2701 GraphicUses:2700Used by:2702
Symbol 2702 MovieClip {WhiteMC16}Uses:2701Used by:2955
Symbol 2703 BitmapUsed by:2704
Symbol 2704 GraphicUses:2703Used by:2705
Symbol 2705 MovieClip {WhiteMC17}Uses:2704Used by:2955
Symbol 2706 BitmapUsed by:2707
Symbol 2707 GraphicUses:2706Used by:2708
Symbol 2708 MovieClip {WhiteMC18}Uses:2707Used by:2955
Symbol 2709 BitmapUsed by:2710
Symbol 2710 GraphicUses:2709Used by:2711
Symbol 2711 MovieClip {WhiteMC19}Uses:2710Used by:2955
Symbol 2712 BitmapUsed by:2713 2715
Symbol 2713 GraphicUses:2712Used by:2714
Symbol 2714 MovieClip {WhiteMC20}Uses:2713Used by:2955
Symbol 2715 GraphicUses:2712Used by:2716
Symbol 2716 MovieClip {WhiteMC21}Uses:2715Used by:2955
Symbol 2717 BitmapUsed by:2718
Symbol 2718 GraphicUses:2717Used by:2719
Symbol 2719 MovieClip {WhiteMC22}Uses:2718Used by:2955
Symbol 2720 BitmapUsed by:2721
Symbol 2721 GraphicUses:2720Used by:2722
Symbol 2722 MovieClip {WhiteMC23}Uses:2721Used by:2955
Symbol 2723 BitmapUsed by:2724
Symbol 2724 GraphicUses:2723Used by:2725
Symbol 2725 MovieClip {WhiteMC24}Uses:2724Used by:2955
Symbol 2726 BitmapUsed by:2727
Symbol 2727 GraphicUses:2726Used by:2728
Symbol 2728 MovieClip {WhiteMC25}Uses:2727Used by:2955
Symbol 2729 BitmapUsed by:2730 2797
Symbol 2730 GraphicUses:2729Used by:2731
Symbol 2731 MovieClip {WhiteMC26}Uses:2730Used by:2955
Symbol 2732 BitmapUsed by:2733
Symbol 2733 GraphicUses:2732Used by:2734
Symbol 2734 MovieClip {WhiteMC27}Uses:2733Used by:2955
Symbol 2735 BitmapUsed by:2736
Symbol 2736 GraphicUses:2735Used by:2737
Symbol 2737 MovieClip {WhiteMC28}Uses:2736Used by:2955
Symbol 2738 BitmapUsed by:2739
Symbol 2739 GraphicUses:2738Used by:2740
Symbol 2740 MovieClip {WhiteMC29}Uses:2739Used by:2955
Symbol 2741 BitmapUsed by:2742
Symbol 2742 GraphicUses:2741Used by:2743
Symbol 2743 MovieClip {WhiteMC30}Uses:2742Used by:2955
Symbol 2744 BitmapUsed by:2745
Symbol 2745 GraphicUses:2744Used by:2746
Symbol 2746 MovieClip {BossPlatformMC1}Uses:2745Used by:2955
Symbol 2747 BitmapUsed by:2748
Symbol 2748 GraphicUses:2747Used by:2749
Symbol 2749 MovieClip {BossPlatformMC2}Uses:2748Used by:2955
Symbol 2750 BitmapUsed by:2751
Symbol 2751 GraphicUses:2750Used by:2752
Symbol 2752 MovieClip {BossPlatformMC3}Uses:2751Used by:2955
Symbol 2753 BitmapUsed by:2754
Symbol 2754 GraphicUses:2753Used by:2755
Symbol 2755 MovieClip {BossPlatformMC4}Uses:2754Used by:2955
Symbol 2756 BitmapUsed by:2757
Symbol 2757 GraphicUses:2756Used by:2758
Symbol 2758 MovieClip {BossPlatformMC5}Uses:2757Used by:2955
Symbol 2759 BitmapUsed by:2760
Symbol 2760 GraphicUses:2759Used by:2761
Symbol 2761 MovieClipUses:1225 2760Used by:2764 2767
Symbol 2762 BitmapUsed by:2763
Symbol 2763 GraphicUses:2762Used by:2764
Symbol 2764 MovieClip {BossPlatformMC6}Uses:2761 2763Used by:2955
Symbol 2765 BitmapUsed by:2766
Symbol 2766 GraphicUses:2765Used by:2767
Symbol 2767 MovieClip {BossPlatformMC7}Uses:2761 2766Used by:2955
Symbol 2768 BitmapUsed by:2769 2771
Symbol 2769 GraphicUses:2768Used by:2770
Symbol 2770 MovieClip {WireMC1}Uses:2769Used by:2955
Symbol 2771 GraphicUses:2768Used by:2772
Symbol 2772 MovieClip {WireMC9}Uses:2771Used by:2955
Symbol 2773 BitmapUsed by:2774 2776
Symbol 2774 GraphicUses:2773Used by:2775
Symbol 2775 MovieClip {WireMC2}Uses:2774Used by:2955
Symbol 2776 GraphicUses:2773Used by:2777
Symbol 2777 MovieClip {WireMC8}Uses:2776Used by:2955
Symbol 2778 BitmapUsed by:2779 2781
Symbol 2779 GraphicUses:2778Used by:2780
Symbol 2780 MovieClip {WireMC3}Uses:2779Used by:2955
Symbol 2781 GraphicUses:2778Used by:2782
Symbol 2782 MovieClip {WireMC7}Uses:2781Used by:2955
Symbol 2783 BitmapUsed by:2784 2786
Symbol 2784 GraphicUses:2783Used by:2785
Symbol 2785 MovieClip {WireMC4}Uses:2784Used by:2955
Symbol 2786 GraphicUses:2783Used by:2787
Symbol 2787 MovieClip {WireMC11}Uses:2786Used by:2955
Symbol 2788 BitmapUsed by:2789 2791 2793 2795
Symbol 2789 GraphicUses:2788Used by:2790
Symbol 2790 MovieClip {WireMC5}Uses:2789Used by:2955
Symbol 2791 GraphicUses:2788Used by:2792
Symbol 2792 MovieClip {WireMC6}Uses:2791Used by:2955
Symbol 2793 GraphicUses:2788Used by:2794
Symbol 2794 MovieClip {WireMC10}Uses:2793Used by:2955
Symbol 2795 GraphicUses:2788Used by:2796
Symbol 2796 MovieClip {WireMC12}Uses:2795Used by:2955
Symbol 2797 GraphicUses:2729Used by:2798
Symbol 2798 MovieClip {WhiteMC31}Uses:2797Used by:2955
Symbol 2799 GraphicUses:2676Used by:2800
Symbol 2800 MovieClip {WhiteMC32}Uses:2799Used by:2955
Symbol 2801 BitmapUsed by:2802 2804
Symbol 2802 GraphicUses:2801Used by:2803
Symbol 2803 MovieClip {BlockMC232}Uses:2802Used by:2955
Symbol 2804 GraphicUses:2801Used by:2805
Symbol 2805 MovieClip {BlockMC233}Uses:2804Used by:2955
Symbol 2806 GraphicUsed by:2874
Symbol 2807 SoundUsed by:2808
Symbol 2808 MovieClip {finalninjazero_fla.alert_606}Uses:2807Used by:2874
Symbol 2809 SoundUsed by:2810
Symbol 2810 MovieClip {finalninjazero_fla.bang1_607}Uses:2809Used by:2874
Symbol 2811 SoundUsed by:2812
Symbol 2812 MovieClip {finalninjazero_fla.bang2_608}Uses:2811Used by:2874
Symbol 2813 SoundUsed by:2814
Symbol 2814 MovieClip {finalninjazero_fla.bang3_609}Uses:2813Used by:2874
Symbol 2815 SoundUsed by:2816
Symbol 2816 MovieClip {finalninjazero_fla.bang4_610}Uses:2815Used by:2874
Symbol 2817 SoundUsed by:2818
Symbol 2818 MovieClip {finalninjazero_fla.chop_611}Uses:2817Used by:2874
Symbol 2819 SoundUsed by:2820
Symbol 2820 MovieClip {finalninjazero_fla.star_hit_612}Uses:2819Used by:2874
Symbol 2821 SoundUsed by:2822
Symbol 2822 MovieClip {finalninjazero_fla.sword1_613}Uses:2821Used by:2874
Symbol 2823 SoundUsed by:2824
Symbol 2824 MovieClip {finalninjazero_fla.sword2_614}Uses:2823Used by:2874
Symbol 2825 SoundUsed by:2826
Symbol 2826 MovieClip {finalninjazero_fla.tang_615}Uses:2825Used by:2874
Symbol 2827 SoundUsed by:2828
Symbol 2828 MovieClip {finalninjazero_fla.wom_616}Uses:2827Used by:2874
Symbol 2829 MovieClip {finalninjazero_fla.cough_617}Used by:2874
Symbol 2830 MovieClip {finalninjazero_fla.jump_618}Used by:2874
Symbol 2831 SoundUsed by:2832
Symbol 2832 MovieClip {finalninjazero_fla.oishii_619}Uses:2831Used by:2874
Symbol 2833 SoundUsed by:2834
Symbol 2834 MovieClip {finalninjazero_fla.smithhit_620}Uses:2833Used by:2874
Symbol 2835 SoundUsed by:2836
Symbol 2836 MovieClip {finalninjazero_fla.aiiee_621}Uses:2835Used by:2874
Symbol 2837 SoundUsed by:2838
Symbol 2838 MovieClip {finalninjazero_fla.yatta_622}Uses:2837Used by:2874
Symbol 2839 SoundUsed by:2840
Symbol 2840 MovieClip {finalninjazero_fla.coins_623}Uses:2839Used by:2874
Symbol 2841 SoundUsed by:2842
Symbol 2842 MovieClip {finalninjazero_fla.electric_624}Uses:2841Used by:2874
Symbol 2843 SoundUsed by:2844
Symbol 2844 MovieClip {finalninjazero_fla.smithdie_625}Uses:2843Used by:2874
Symbol 2845 GraphicUsed by:2847 2849
Symbol 2846 Sound {GameMusic}Used by:2847
Symbol 2847 MovieClip {finalninjazero_fla.game_music_holder_626}Uses:2845 2846Used by:2874
Symbol 2848 Sound {MenuMusic}Used by:2849
Symbol 2849 MovieClip {finalninjazero_fla.menu_music_holder_627}Uses:2845 2848Used by:2874
Symbol 2850 SoundUsed by:2851
Symbol 2851 MovieClip {finalninjazero_fla.cammo_628}Uses:2850Used by:2874
Symbol 2852 SoundUsed by:2853
Symbol 2853 MovieClip {finalninjazero_fla.grenade_629}Uses:2852Used by:2874
Symbol 2854 SoundUsed by:2855
Symbol 2855 MovieClip {finalninjazero_fla.hack_630}Uses:2854Used by:2874
Symbol 2856 SoundUsed by:2857
Symbol 2857 MovieClip {finalninjazero_fla.lift_631}Uses:2856Used by:2874
Symbol 2858 SoundUsed by:2859
Symbol 2859 MovieClip {finalninjazero_fla.machinegun_632}Uses:2858Used by:2874
Symbol 2860 SoundUsed by:2861
Symbol 2861 MovieClip {finalninjazero_fla.powerdown_633}Uses:2860Used by:2874
Symbol 2862 SoundUsed by:2863
Symbol 2863 MovieClip {finalninjazero_fla.scientisthit_634}Uses:2862Used by:2874
Symbol 2864 SoundUsed by:2865
Symbol 2865 MovieClip {finalninjazero_fla.missile_635}Uses:2864Used by:2874
Symbol 2866 SoundUsed by:2867
Symbol 2867 MovieClip {finalninjazero_fla.bossouch_636}Uses:2866Used by:2874
Symbol 2868 SoundUsed by:2869
Symbol 2869 MovieClip {finalninjazero_fla.bosslaugh_637}Uses:2868Used by:2874
Symbol 2870 SoundUsed by:2871
Symbol 2871 MovieClip {finalninjazero_fla.msg_638}Uses:2870Used by:2874
Symbol 2872 SoundUsed by:2873
Symbol 2873 MovieClip {finalninjazero_fla.finalninja_639}Uses:2872Used by:2874
Symbol 2874 MovieClip {com.nitrome.game.SoundManager}Uses:2806 2808 2810 2812 2814 2816 2818 2820 2822 2824 2826 2828 2829 2830 2832 2834 2836 2838 2840 2842 2844 2847 2849 2851 2853 2855 2857 2859 2861 2863 2865 2867 2869 2871 2873Used by:2955
Symbol 2875 BitmapUsed by:2876
Symbol 2876 GraphicUses:2875Used by:2877
Symbol 2877 MovieClip {WhiteMC33}Uses:2876Used by:2955
Symbol 2878 BitmapUsed by:2879
Symbol 2879 GraphicUses:2878Used by:2887
Symbol 2880 BitmapUsed by:2882 2886
Symbol 2881 BitmapUsed by:2882 2885
Symbol 2882 GraphicUses:2880 2881Used by:2887
Symbol 2883 BitmapUsed by:2884
Symbol 2884 GraphicUses:2883Used by:2887 2895
Symbol 2885 GraphicUses:2881Used by:2887
Symbol 2886 GraphicUses:2880Used by:2887
Symbol 2887 MovieClip {com.nitrome.game.MusicToggle}Uses:1 2879 2882 2884 2885 2886Used by:2955  Timeline
Symbol 2888 BitmapUsed by:2889
Symbol 2889 GraphicUses:2888Used by:2895
Symbol 2890 BitmapUsed by:2892 2894
Symbol 2891 BitmapUsed by:2892 2893
Symbol 2892 GraphicUses:2890 2891Used by:2895
Symbol 2893 GraphicUses:2891Used by:2895
Symbol 2894 GraphicUses:2890Used by:2895
Symbol 2895 MovieClip {com.nitrome.game.FxToggle}Uses:1 2889 2892 2884 2893 2894Used by:2955  Timeline
Symbol 2896 BitmapUsed by:2897
Symbol 2897 GraphicUses:2896Used by:2901
Symbol 2898 BitmapUsed by:2900
Symbol 2899 BitmapUsed by:2900
Symbol 2900 GraphicUses:2898 2899Used by:2901
Symbol 2901 MovieClip {com.nitrome.game.PauseButton}Uses:1 2897 2900Used by:2955  Timeline
Symbol 2902 BitmapUsed by:2903
Symbol 2903 GraphicUses:2902Used by:2907
Symbol 2904 BitmapUsed by:2906
Symbol 2905 BitmapUsed by:2906
Symbol 2906 GraphicUses:2904 2905Used by:2907
Symbol 2907 MovieClip {com.nitrome.game.GameHelpButton}Uses:1 2903 2906Used by:2955  Timeline
Symbol 2908 BitmapUsed by:2909
Symbol 2909 GraphicUses:2908Used by:2911
Symbol 2910 EditableTextUses:778Used by:2911
Symbol 2911 MovieClip {com.nitrome.game.MsgPanel}Uses:2909 2910Used by:2955  Timeline
Symbol 2912 MovieClip {com.nitrome.engine_specific.StoryClip}Uses:1465Used by:2955  Timeline
Symbol 2913 GraphicUsed by:2930
Symbol 2914 GraphicUsed by:2930
Symbol 2915 ShapeTweeningUsed by:2930
Symbol 2916 GraphicUsed by:2930
Symbol 2917 SoundUsed by:2930
Symbol 2918 GraphicUsed by:2930
Symbol 2919 GraphicUsed by:2930
Symbol 2920 BitmapUsed by:2921
Symbol 2921 GraphicUses:2920Used by:2930
Symbol 2922 GraphicUsed by:2930
Symbol 2923 GraphicUsed by:2930
Symbol 2924 GraphicUsed by:2930
Symbol 2925 SoundUsed by:2930
Symbol 2926 FontUsed by:2927
Symbol 2927 TextUses:2926Used by:2930
Symbol 2928 GraphicUsed by:2930
Symbol 2929 GraphicUsed by:2930
Symbol 2930 MovieClip {finalninjazero_fla.mcAnimation_648}Uses:2913 2914 2915 2916 2917 2918 2919 2921 2922 2923 2924 2925 2927 2928 2929Used by:2931
Symbol 2931 MovieClip {MiniclipIntro}Uses:2930 1911Used by:2955
Symbol 2932 BitmapUsed by:2933
Symbol 2933 GraphicUses:2932Used by:2934
Symbol 2934 MovieClip {IntroMC1}Uses:2933Used by:2955 2976
Symbol 2935 BitmapUsed by:2936
Symbol 2936 GraphicUses:2935Used by:2937
Symbol 2937 MovieClip {IntroMC2}Uses:2936Used by:2955 2976
Symbol 2938 BitmapUsed by:2939
Symbol 2939 GraphicUses:2938Used by:2940
Symbol 2940 MovieClip {IntroMC3}Uses:2939Used by:2955 2976
Symbol 2941 BitmapUsed by:2942
Symbol 2942 GraphicUses:2941Used by:2943
Symbol 2943 MovieClip {IntroMC4}Uses:2942Used by:2955 2976
Symbol 2944 BitmapUsed by:2945
Symbol 2945 GraphicUses:2944Used by:2946
Symbol 2946 MovieClip {IntroMC5}Uses:2945Used by:2955 2976
Symbol 2947 BitmapUsed by:2948
Symbol 2948 GraphicUses:2947Used by:2949
Symbol 2949 MovieClip {IntroMC6}Uses:2948Used by:2955 2976
Symbol 2950 BitmapUsed by:2951
Symbol 2951 GraphicUses:2950Used by:2952
Symbol 2952 MovieClip {IntroMC7}Uses:2951Used by:2955 2976
Symbol 2953 GraphicUsed by:2954
Symbol 2954 MovieClip {Morph}Uses:2953Used by:2955 2978
Symbol 2955 MovieClip {finalninjazero_fla.linkage_container_3}Uses:10 13 123 532 535 538 541 544 547 550 553 556 559 562 565 568 571 574 576 581 584 587 630 652 662 715 737 776 780 922 923 926 955 958 961 962 965 968 969 979 1034 1035 1081 1082 1095 1104 1121 1130 1139 1148 1151 1152 1153 1154 1155 1158 1174 1175 1179 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1201 1205 1212 1225 1232 1249 1257 1258 1261 1266 1269 1272 1275 1278 1285 1290 1295 1300 1303 1306 1307 1308 1312 1313 1315 1437 9 1441 1444 1447 1452 1455 1458 1462 1467 1472 1497 1510 1522 1531 1558 1559 1560 1567 1572 1597 1683 1687 1698 1719 1720 1729 1731 1733 1734 1814 1828 1834 1835 1837 1839 1841 1845 1854 1857 1861 1864 1866 1869 1872 1875 1878 1881 1884 1887 1890 1893 1896 1899 1902 1904 1907 1909 1911 1928 1954 1960 1963 1966 1969 1972 1975 1978 1981 1984 1987 1990 1992 1994 1997 1999 2001 2003 2005 2008 2011 2014 2017 2020 2023 2026 2029 2032 2035 2038 2041 2044 2047 2050 2053 2056 2059 2062 2065 2068 2071 2074 2076 2079 2082 2084 2087 2089 2092 2095 2097 2100 2103 2106 2109 2112 2115 2117 2120 2123 2125 2128 2130 2132 2135 2137 2139 2142 2145 2148 2151 2153 2156 2158 2160 2162 2164 2166 2169 2171 2174 2177 2180 2183 2186 2189 2191 2194 2196 2199 2202 2205 2207 2210 2213 2216 2219 2222 2224 2227 2230 2233 2236 2239 2242 2244 2247 2250 2253 2256 2259 2262 2265 2268 2271 2274 2277 2280 2283 2285 2288 2291 2294 2297 2300 2303 2306 2309 2312 2315 2318 2321 2324 2327 2330 2333 2336 2339 2342 2345 2348 2351 2354 2357 2360 2363 2366 2369 2372 2375 2378 2381 2384 2387 2390 2393 2396 2399 2402 2405 2408 2411 2414 2417 2420 2423 2426 2429 2432 2435 2438 2441 2444 2447 2450 2453 2456 2459 2462 2464 2466 2468 2470 2473 2476 2479 2482 2485 2488 2491 2494 2496 2498 2500 2502 2504 2506 2508 2510 2513 2516 2519 2522 2524 2526 2528 2530 2533 2536 2539 2542 2545 2548 2551 2554 2556 2558 2560 2562 2564 2566 2568 2570 2573 2576 2579 2582 2585 2588 2591 2594 2597 2600 2603 2606 2609 2612 2615 2618 2621 2624 2627 2630 2633 2636 2639 2642 2645 2648 2651 2654 2657 2660 2663 2666 2669 2672 2675 2678 2681 2683 2686 2688 2691 2693 2696 2699 2702 2705 2708 2711 2714 2716 2719 2722 2725 2728 2731 2734 2737 2740 2743 2746 2749 2752 2755 2758 2764 2767 2770 2772 2775 2777 2780 2782 2785 2787 2790 2792 2794 2796 2798 2800 2803 2805 2874 2877 2887 2895 2901 2907 2911 2912 2931 2934 2937 2940 2943 2946 2949 2952 2954Used by:Timeline
Symbol 2956 BitmapUsed by:2957
Symbol 2957 GraphicUses:2956Used by:2958
Symbol 2958 MovieClipUses:2957Used by:2976  Timeline
Symbol 2959 GraphicUsed by:2974
Symbol 2960 GraphicUsed by:2974
Symbol 2961 GraphicUsed by:2974
Symbol 2962 SoundUsed by:2974
Symbol 2963 SoundUsed by:2974
Symbol 2964 GraphicUsed by:2974
Symbol 2965 GraphicUsed by:2966
Symbol 2966 MovieClipUses:2965Used by:2974
Symbol 2967 SoundUsed by:2974
Symbol 2968 SoundUsed by:2974
Symbol 2969 SoundUsed by:2974
Symbol 2970 GraphicUsed by:2971
Symbol 2971 ButtonUses:2970Used by:2974
Symbol 2972 SoundUsed by:2974
Symbol 2973 SoundUsed by:2974
Symbol 2974 MovieClip {finalninjazero_fla.ag_intro_mc_658}Uses:2959 2960 2961 2962 2963 2964 2966 2967 2968 2969 2971 2972 2973Used by:Timeline
Symbol 2975 SoundUsed by:2976
Symbol 2976 MovieClip {finalninjazero_fla.nitrome_intro_662}Uses:2958 2934 2937 2940 2943 2946 2949 2952 2975Used by:Timeline
Symbol 2977 GraphicUsed by:2978
Symbol 2978 MovieClip {finalninjazero_fla.backcammo_663}Uses:2977 2954Used by:Timeline
Symbol 2979 BitmapUsed by:2980
Symbol 2980 GraphicUses:2979Used by:2981
Symbol 2981 MovieClipUses:2980Used by:Timeline
Symbol 2982 MovieClipUses:1285 1295 1300Used by:Timeline
Symbol 2983 BitmapUsed by:2984 2996
Symbol 2984 GraphicUses:2983Used by:Timeline
Symbol 2985 BitmapUsed by:2986
Symbol 2986 GraphicUses:2985Used by:Timeline
Symbol 2987 TextUses:7Used by:Timeline
Symbol 2988 TextUses:7Used by:Timeline
Symbol 2989 TextUses:7Used by:Timeline
Symbol 2990 TextUses:7Used by:Timeline
Symbol 2991 TextUses:778Used by:Timeline
Symbol 2992 TextUses:778Used by:Timeline
Symbol 2993 TextUses:778Used by:Timeline
Symbol 2994 TextUses:778Used by:Timeline
Symbol 2995 BitmapUsed by:2996
Symbol 2996 GraphicUses:2983 2995Used by:Timeline
Symbol 2997 TextUses:7Used by:Timeline
Symbol 2998 BitmapUsed by:2999
Symbol 2999 GraphicUses:2998Used by:Timeline
Symbol 3000 TextUses:7Used by:Timeline
Symbol 3001 EditableTextUses:778Used by:Timeline
Symbol 3002 EditableTextUses:778Used by:Timeline
Symbol 3003 EditableTextUses:778Used by:Timeline
Symbol 3004 EditableTextUses:778Used by:Timeline
Symbol 3005 EditableTextUses:778Used by:Timeline
Symbol 3006 EditableTextUses:778Used by:Timeline
Symbol 3007 EditableTextUses:7Used by:Timeline
Symbol 3008 EditableTextUses:778Used by:Timeline
Symbol 3009 EditableTextUses:778Used by:Timeline
Symbol 3010 TextUses:7Used by:Timeline
Symbol 3011 BitmapUsed by:3012
Symbol 3012 GraphicUses:3011Used by:3044
Symbol 3013 BitmapUsed by:3014
Symbol 3014 GraphicUses:3013Used by:3015
Symbol 3015 MovieClipUses:3014Used by:3044
Symbol 3016 BitmapUsed by:3017
Symbol 3017 GraphicUses:3016Used by:3029
Symbol 3018 BitmapUsed by:3019
Symbol 3019 GraphicUses:3018Used by:3020
Symbol 3020 MovieClipUses:3019Used by:3021 3022 3023 3024 3025 3026 3027
Symbol 3021 MovieClipUses:3020Used by:3028
Symbol 3022 MovieClipUses:3020Used by:3028
Symbol 3023 MovieClipUses:3020Used by:3028
Symbol 3024 MovieClipUses:3020Used by:3028
Symbol 3025 MovieClipUses:3020Used by:3028
Symbol 3026 MovieClipUses:3020Used by:3028
Symbol 3027 MovieClipUses:3020Used by:3028
Symbol 3028 MovieClipUses:3021 3022 3023 3024 3025 3026 3027Used by:3029
Symbol 3029 MovieClipUses:3017 3028Used by:3044
Symbol 3030 BitmapUsed by:3031
Symbol 3031 GraphicUses:3030Used by:3044
Symbol 3032 BitmapUsed by:3033
Symbol 3033 GraphicUses:3032Used by:3034
Symbol 3034 MovieClipUses:3033Used by:3044
Symbol 3035 BitmapUsed by:3036
Symbol 3036 GraphicUses:3035Used by:3043
Symbol 3037 BitmapUsed by:3038
Symbol 3038 GraphicUses:3037Used by:3042
Symbol 3039 BitmapUsed by:3040
Symbol 3040 GraphicUses:3039Used by:3041
Symbol 3041 MovieClipUses:3040Used by:3042
Symbol 3042 MovieClip {finalninjazero_fla.sunflare_680}Uses:3038 3041Used by:3043
Symbol 3043 MovieClip {finalninjazero_fla.dawntowers_679}Uses:3036 3042Used by:3044
Symbol 3044 MovieClip {finalninjazero_fla.back_666}Uses:3012 3015 3029 3031 3034 3043Used by:Timeline
Symbol 3045 MovieClip {finalninjazero_fla.shaker_682}Uses:1082Used by:Timeline
Symbol 3046 GraphicUsed by:3047
Symbol 3047 MovieClipUses:3046Used by:Timeline
Symbol 3048 BitmapUsed by:3049
Symbol 3049 GraphicUses:3048Used by:3053 3097
Symbol 3050 GraphicUsed by:3053
Symbol 3051 GraphicUsed by:3053
Symbol 3052 GraphicUsed by:3053
Symbol 3053 MovieClip {finalninjazero_fla.health_panel_684}Uses:3049 3050 3051 3052Used by:Timeline
Symbol 3054 BitmapUsed by:3055
Symbol 3055 GraphicUses:3054Used by:3057
Symbol 3056 EditableTextUses:778Used by:3057
Symbol 3057 MovieClip {finalninjazero_fla.score_panel_685}Uses:3055 3056Used by:Timeline
Symbol 3058 BitmapUsed by:3059
Symbol 3059 GraphicUses:3058Used by:3062
Symbol 3060 FontUsed by:3061
Symbol 3061 EditableTextUses:3060Used by:3062
Symbol 3062 MovieClip {finalninjazero_fla.alert_panel_686}Uses:3059 3061Used by:Timeline
Symbol 3063 BitmapUsed by:3064
Symbol 3064 GraphicUses:3063Used by:3093
Symbol 3065 FontUsed by:3066
Symbol 3066 EditableTextUses:3065Used by:3093
Symbol 3067 GraphicUsed by:3092
Symbol 3068 GraphicUsed by:3092
Symbol 3069 BitmapUsed by:3070
Symbol 3070 GraphicUses:3069Used by:3075
Symbol 3071 BitmapUsed by:3072
Symbol 3072 GraphicUses:3071Used by:3075
Symbol 3073 BitmapUsed by:3074
Symbol 3074 GraphicUses:3073Used by:3075
Symbol 3075 MovieClipUses:3070 3072 3074Used by:3092
Symbol 3076 BitmapUsed by:3077
Symbol 3077 GraphicUses:3076Used by:3082
Symbol 3078 BitmapUsed by:3079
Symbol 3079 GraphicUses:3078Used by:3082
Symbol 3080 BitmapUsed by:3081
Symbol 3081 GraphicUses:3080Used by:3082
Symbol 3082 MovieClipUses:3077 3079 3081Used by:3092
Symbol 3083 BitmapUsed by:3084
Symbol 3084 GraphicUses:3083Used by:3089
Symbol 3085 BitmapUsed by:3086
Symbol 3086 GraphicUses:3085Used by:3089
Symbol 3087 BitmapUsed by:3088
Symbol 3088 GraphicUses:3087Used by:3089
Symbol 3089 MovieClipUses:3084 3086 3088Used by:3092
Symbol 3090 BitmapUsed by:3091
Symbol 3091 GraphicUses:3090Used by:3092
Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689}Uses:3067 3068 3075 3082 1596 1827 3089 3091 1833Used by:3093
Symbol 3093 MovieClip {finalninjazero_fla.text_panel_panel_688}Uses:3064 3066 3092Used by:3094
Symbol 3094 MovieClip {finalninjazero_fla.text_panel_687}Uses:3093Used by:Timeline
Symbol 3095 GraphicUsed by:3096
Symbol 3096 MovieClipUses:3095Used by:3097
Symbol 3097 MovieClip {finalninjazero_fla.enemy_health_panel_693}Uses:3049 3096Used by:Timeline
Symbol 3098 BitmapUsed by:3099
Symbol 3099 GraphicUses:3098Used by:3100
Symbol 3100 MovieClipUses:3099Used by:Timeline
Symbol 3101 MovieClipUses:1465Used by:3102
Symbol 3102 MovieClip {finalninjazero_fla.fade_to_black_696}Uses:3101Used by:Timeline
Symbol 3103 TextUses:7Used by:3104
Symbol 3104 MovieClipUses:1465 3103Used by:3105
Symbol 3105 MovieClip {finalninjazero_fla.loading_screen_698}Uses:3104 9Used by:Timeline
Symbol 3106 FontUsed by:3107
Symbol 3107 EditableTextUses:3106Used by:Timeline

Instance Names

"loadedTF"Frame 3Symbol 8 EditableText
"tt"Frame 3Symbol 9 MovieClip {com.nitrome.game.Transition}
"title_logo"Frame 31Symbol 2981 MovieClip
"buttons"Frame 31Symbol 2982 MovieClip
"music_toggle"Frame 41Symbol 2887 MovieClip {com.nitrome.game.MusicToggle}
"fx_toggle"Frame 41Symbol 2895 MovieClip {com.nitrome.game.FxToggle}
"level_0"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_1"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_2"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_3"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_4"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_5"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_6"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_7"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_8"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_9"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_10"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_11"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_14"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_12"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_13"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_15"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_16"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_17"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_18"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_19"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_20"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_21"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"level_22"Frame 71Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton}
"cash_totals"Frame 81Symbol 3001 EditableText
"cash_rating"Frame 81Symbol 3002 EditableText
"msg_totals"Frame 81Symbol 3003 EditableText
"msg_rating"Frame 81Symbol 3004 EditableText
"enemy_totals"Frame 81Symbol 3005 EditableText
"enemy_rating"Frame 81Symbol 3006 EditableText
"total_score"Frame 81Symbol 3007 EditableText
"dodge_totals"Frame 81Symbol 3008 EditableText
"dodge_rating"Frame 81Symbol 3009 EditableText
"back"Frame 91Symbol 3044 MovieClip {finalninjazero_fla.back_666}
"shaker"Frame 91Symbol 3045 MovieClip {finalninjazero_fla.shaker_682}
"scroll_border"Frame 91Symbol 3047 MovieClip
"health_panel"Frame 91Symbol 3053 MovieClip {finalninjazero_fla.health_panel_684}
"score_panel"Frame 91Symbol 3057 MovieClip {finalninjazero_fla.score_panel_685}
"alert_panel"Frame 91Symbol 3062 MovieClip {finalninjazero_fla.alert_panel_686}
"text_panel"Frame 91Symbol 3094 MovieClip {finalninjazero_fla.text_panel_687}
"msg_panel"Frame 91Symbol 2911 MovieClip {com.nitrome.game.MsgPanel}
"enemy_health_panel"Frame 91Symbol 3097 MovieClip {finalninjazero_fla.enemy_health_panel_693}
"hint_panel"Frame 91Symbol 3100 MovieClip
"pause_game_button"Frame 91Symbol 2901 MovieClip {com.nitrome.game.PauseButton}
"fade_to_black"Frame 91Symbol 3102 MovieClip {finalninjazero_fla.fade_to_black_696}
"popup_holder"Frame 91Symbol 1437 MovieClip {com.nitrome.game.PopUpHolder}
"loading_clip"Frame 91Symbol 3105 MovieClip {finalninjazero_fla.loading_screen_698}
"info"Frame 91Symbol 3107 EditableText
"story"Frame 112Symbol 2912 MovieClip {com.nitrome.engine_specific.StoryClip}
"body"Symbol 630 MovieClip {HackSpiderMC} Frame 1Symbol 608 MovieClip
"light"Symbol 630 MovieClip {HackSpiderMC} Frame 1Symbol 629 MovieClip
"body"Symbol 652 MovieClip {SpiderMC} Frame 1Symbol 651 MovieClip
"light"Symbol 652 MovieClip {SpiderMC} Frame 1Symbol 629 MovieClip
"cartridges"Symbol 775 MovieClip {finalninjazero_fla.gunclip_47} Frame 1Symbol 742 MovieClip
"gun"Symbol 776 MovieClip {RotoGunMC} Frame 1Symbol 775 MovieClip {finalninjazero_fla.gunclip_47}
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 1Symbol 854 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 2Symbol 857 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 3Symbol 860 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 4Symbol 863 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 5Symbol 866 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 6Symbol 869 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 7Symbol 872 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 8Symbol 875 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 9Symbol 878 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 10Symbol 881 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 11Symbol 884 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 12Symbol 887 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 13Symbol 890 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 14Symbol 893 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 15Symbol 896 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 16Symbol 899 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 17Symbol 902 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 18Symbol 905 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 19Symbol 908 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 20Symbol 911 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 21Symbol 914 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 22Symbol 917 MovieClip
"top"Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55} Frame 23Symbol 920 MovieClip
"_mask"Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton} Frame 1Symbol 804 MovieClip
"bottom"Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton} Frame 1Symbol 851 MovieClip
"top"Symbol 922 MovieClip {com.nitrome.game.LevelChooserButton} Frame 1Symbol 921 MovieClip {finalninjazero_fla.top_clip_lvls_55}
"left_eye"Symbol 929 MovieClip {finalninjazero_fla.waitnin_83} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 929 MovieClip {finalninjazero_fla.waitnin_83} Frame 1Symbol 742 MovieClip
"body"Symbol 932 MovieClip {finalninjazero_fla.fincrouch_82} Frame 1Symbol 929 MovieClip {finalninjazero_fla.waitnin_83}
"left_eye"Symbol 935 MovieClip {finalninjazero_fla.jumpnin_85} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 935 MovieClip {finalninjazero_fla.jumpnin_85} Frame 1Symbol 742 MovieClip
"body"Symbol 938 MovieClip {finalninjazero_fla.finjump_84} Frame 1Symbol 935 MovieClip {finalninjazero_fla.jumpnin_85}
"star"Symbol 979 MovieClip {com.nitrome.engine_specific.LiveStar} Frame 1Symbol 978 MovieClip
"left_eye"Symbol 982 MovieClip {finalninjazero_fla.stealthnin_95} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 982 MovieClip {finalninjazero_fla.stealthnin_95} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1007 MovieClip {finalninjazero_fla.ninrun_96} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1007 MovieClip {finalninjazero_fla.ninrun_96} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1010 MovieClip {finalninjazero_fla.fallnin_97} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1010 MovieClip {finalninjazero_fla.fallnin_97} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1013 MovieClip {finalninjazero_fla.wallnin_98} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1013 MovieClip {finalninjazero_fla.wallnin_98} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1016 MovieClip {finalninjazero_fla.ninswing_99} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1016 MovieClip {finalninjazero_fla.ninswing_99} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1019 MovieClip {finalninjazero_fla.waitinnin_100} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1019 MovieClip {finalninjazero_fla.waitinnin_100} Frame 1Symbol 742 MovieClip
"body"Symbol 1034 MovieClip {PlayerMC} Frame 1Symbol 982 MovieClip {finalninjazero_fla.stealthnin_95}
"body"Symbol 1034 MovieClip {PlayerMC} Frame 10Symbol 1007 MovieClip {finalninjazero_fla.ninrun_96}
"body"Symbol 1034 MovieClip {PlayerMC} Frame 30Symbol 929 MovieClip {finalninjazero_fla.waitnin_83}
"body"Symbol 1034 MovieClip {PlayerMC} Frame 50Symbol 935 MovieClip {finalninjazero_fla.jumpnin_85}
"body"Symbol 1034 MovieClip {PlayerMC} Frame 70Symbol 1010 MovieClip {finalninjazero_fla.fallnin_97}
"body"Symbol 1034 MovieClip {PlayerMC} Frame 90Symbol 1013 MovieClip {finalninjazero_fla.wallnin_98}
"body"Symbol 1034 MovieClip {PlayerMC} Frame 110Symbol 1016 MovieClip {finalninjazero_fla.ninswing_99}
"body"Symbol 1034 MovieClip {PlayerMC} Frame 130Symbol 1019 MovieClip {finalninjazero_fla.waitinnin_100}
"left_eye"Symbol 1038 MovieClip {finalninjazero_fla.chamforward_105} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1038 MovieClip {finalninjazero_fla.chamforward_105} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1063 MovieClip {finalninjazero_fla.chamrun_106} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1063 MovieClip {finalninjazero_fla.chamrun_106} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1074 MovieClip {finalninjazero_fla.chamlook_107} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1074 MovieClip {finalninjazero_fla.chamlook_107} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1077 MovieClip {finalninjazero_fla.chamjump_108} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1077 MovieClip {finalninjazero_fla.chamjump_108} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1080 MovieClip {finalninjazero_fla.chamslide_109} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1080 MovieClip {finalninjazero_fla.chamslide_109} Frame 1Symbol 742 MovieClip
"body"Symbol 1081 MovieClip {ChameleonMC} Frame 1Symbol 1038 MovieClip {finalninjazero_fla.chamforward_105}
"body"Symbol 1081 MovieClip {ChameleonMC} Frame 10Symbol 1063 MovieClip {finalninjazero_fla.chamrun_106}
"body"Symbol 1081 MovieClip {ChameleonMC} Frame 30Symbol 1074 MovieClip {finalninjazero_fla.chamlook_107}
"body"Symbol 1081 MovieClip {ChameleonMC} Frame 50Symbol 1077 MovieClip {finalninjazero_fla.chamjump_108}
"body"Symbol 1081 MovieClip {ChameleonMC} Frame 90Symbol 1080 MovieClip {finalninjazero_fla.chamslide_109}
"body"Symbol 1081 MovieClip {ChameleonMC} Frame 110Symbol 1016 MovieClip {finalninjazero_fla.ninswing_99}
"body"Symbol 1081 MovieClip {ChameleonMC} Frame 130Symbol 1074 MovieClip {finalninjazero_fla.chamlook_107}
"gun"Symbol 1151 MovieClip {GunBlockMC1} Frame 1Symbol 775 MovieClip {finalninjazero_fla.gunclip_47}
"gun"Symbol 1152 MovieClip {GunBlockMC4} Frame 1Symbol 775 MovieClip {finalninjazero_fla.gunclip_47}
"gun"Symbol 1153 MovieClip {GunBlockMC3} Frame 1Symbol 775 MovieClip {finalninjazero_fla.gunclip_47}
"gun"Symbol 1154 MovieClip {GunBlockMC2} Frame 1Symbol 775 MovieClip {finalninjazero_fla.gunclip_47}
"cartridges"Symbol 1155 MovieClip {GunMC} Frame 1Symbol 742 MovieClip
"beam"Symbol 1174 MovieClip {BeamMC2} Frame 1Symbol 1173 MovieClip
"beam"Symbol 1175 MovieClip {BeamMC1} Frame 1Symbol 1173 MovieClip
"scanner"Symbol 1188 MovieClip {ScannerMC5} Frame 1Symbol 1178 MovieClip
"scanner"Symbol 1189 MovieClip {LaserMC5} Frame 1Symbol 1180 MovieClip
"scanner"Symbol 1190 MovieClip {ScannerMC6} Frame 1Symbol 1178 MovieClip
"scanner"Symbol 1191 MovieClip {LaserMC6} Frame 1Symbol 1180 MovieClip
"scanner"Symbol 1192 MovieClip {ScannerMC7} Frame 1Symbol 1178 MovieClip
"scanner"Symbol 1193 MovieClip {LaserMC7} Frame 1Symbol 1180 MovieClip
"scanner"Symbol 1194 MovieClip {ScannerMC8} Frame 1Symbol 1178 MovieClip
"scanner"Symbol 1195 MovieClip {LaserMC8} Frame 1Symbol 1180 MovieClip
"field"Symbol 1257 MovieClip {ForceFieldMC1} Frame 1Symbol 1256 MovieClip
"field"Symbol 1258 MovieClip {ForceFieldMC2} Frame 1Symbol 1256 MovieClip
"score_text"Symbol 1315 MovieClip {com.nitrome.game.ScoreTicker} Frame 1Symbol 1314 EditableText
"ticker_level"Symbol 1321 MovieClip {finalninjazero_fla.score_counter_clip_181} Frame 1Symbol 1315 MovieClip {com.nitrome.game.ScoreTicker}
"ticker_score"Symbol 1321 MovieClip {finalninjazero_fla.score_counter_clip_181} Frame 1Symbol 1315 MovieClip {com.nitrome.game.ScoreTicker}
"ticker_dodge"Symbol 1321 MovieClip {finalninjazero_fla.score_counter_clip_181} Frame 1Symbol 1315 MovieClip {com.nitrome.game.ScoreTicker}
"ticker_msg"Symbol 1321 MovieClip {finalninjazero_fla.score_counter_clip_181} Frame 1Symbol 1315 MovieClip {com.nitrome.game.ScoreTicker}
"ticker_cash"Symbol 1321 MovieClip {finalninjazero_fla.score_counter_clip_181} Frame 1Symbol 1315 MovieClip {com.nitrome.game.ScoreTicker}
"ticker_hunt"Symbol 1321 MovieClip {finalninjazero_fla.score_counter_clip_181} Frame 1Symbol 1315 MovieClip {com.nitrome.game.ScoreTicker}
"left_eye"Symbol 1360 MovieClip {finalninjazero_fla.ninrun_help_184} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1360 MovieClip {finalninjazero_fla.ninrun_help_184} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1369 MovieClip {finalninjazero_fla.jumpnin_help_185} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1369 MovieClip {finalninjazero_fla.jumpnin_help_185} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1376 MovieClip {finalninjazero_fla.waitnin_help_188} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1376 MovieClip {finalninjazero_fla.waitnin_help_188} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1382 MovieClip {finalninjazero_fla.waitnin_redy_help_190} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1382 MovieClip {finalninjazero_fla.waitnin_redy_help_190} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1385 MovieClip {finalninjazero_fla.waitnin_redy_throw_191} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1385 MovieClip {finalninjazero_fla.waitnin_redy_throw_191} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1391 MovieClip {finalninjazero_fla.ninswing_help_194} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1391 MovieClip {finalninjazero_fla.ninswing_help_194} Frame 1Symbol 742 MovieClip
"left_eye"Symbol 1404 MovieClip {finalninjazero_fla.wallnin_help_197} Frame 1Symbol 742 MovieClip
"right_eye"Symbol 1404 MovieClip {finalninjazero_fla.wallnin_help_197} Frame 1Symbol 742 MovieClip
"cartridges"Symbol 1409 MovieClip {finalninjazero_fla.swatgun_200} Frame 1Symbol 742 MovieClip
"gun"Symbol 1430 MovieClip {finalninjazero_fla.gunmanhelp_199} Frame 1Symbol 1409 MovieClip {finalninjazero_fla.swatgun_200}
"arm"Symbol 1430 MovieClip {finalninjazero_fla.gunmanhelp_199} Frame 1Symbol 1429 MovieClip
"next_level_button"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 2Symbol 1266 MovieClip {com.nitrome.game.NextLevelButton}
"msg_bonus"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 2Symbol 1325 EditableText
"cash_bonus"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 2Symbol 1327 EditableText
"hunt_bonus"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 2Symbol 1328 EditableText
"try_again_button"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 16Symbol 1269 MovieClip {com.nitrome.game.TryAgainButton}
"ticker_score"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 16Symbol 1315 MovieClip {com.nitrome.game.ScoreTicker}
"continue_end_button"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 30Symbol 1278 MovieClip {com.nitrome.game.ContinueEndButton}
"msg_bonus"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 30Symbol 1332 EditableText
"cash_bonus"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 30Symbol 1333 EditableText
"hunt_bonus"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 30Symbol 1334 EditableText
"cash_count"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 46Symbol 1339 EditableText
"msg_count"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 46Symbol 1340 EditableText
"enemy_count"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 46Symbol 1341 EditableText
"popup_clip"Symbol 1437 MovieClip {com.nitrome.game.PopUpHolder} Frame 1Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179}
"_rank_text"Symbol 1441 MovieClip {ScoreLine} Frame 1Symbol 1438 EditableText
"_name_text"Symbol 1441 MovieClip {ScoreLine} Frame 1Symbol 1439 EditableText
"_score_text"Symbol 1441 MovieClip {ScoreLine} Frame 1Symbol 1440 EditableText
"_score_line_1"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_score_line_2"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_score_line_3"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_score_line_4"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_score_line_5"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_score_line_6"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_score_line_7"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_score_line_8"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_score_line_9"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_score_line_10"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1441 MovieClip {ScoreLine}
"_next_arrow"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1444 MovieClip {NextArrow}
"_prev_arrow"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1447 MovieClip {PrevArrow}
"loading_text"Symbol 1452 MovieClip {HighScoreBoard} Frame 1Symbol 1449 MovieClip
"_letter"Symbol 1462 MovieClip {LetterButton} Frame 1Symbol 1461 EditableText
"loading_text"Symbol 1466 MovieClip {finalninjazero_fla.loading_black_212} Frame 2Symbol 1449 MovieClip
"_score_text"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1463 EditableText
"_name_text"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1464 EditableText
"_submit_button"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1455 MovieClip {SubmitButton}
"_clear_button"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1458 MovieClip {ClearButton}
"C"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"D"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"E"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"B"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"F"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"A"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"J"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"K"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"L"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"I"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"M"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"H"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"Q"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"R"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"S"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"P"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"T"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"O"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"W"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"X"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"Y"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"V"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"Z"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"U"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"G"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"N"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1462 MovieClip {LetterButton}
"loading_black"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 1Symbol 1466 MovieClip {finalninjazero_fla.loading_black_212}
"arm"Symbol 1571 MovieClip {finalninjazero_fla.pauseswat_223} Frame 1Symbol 1429 MovieClip
"gun"Symbol 1572 MovieClip {GunManMC} Frame 1Symbol 1409 MovieClip {finalninjazero_fla.swatgun_200}
"arm"Symbol 1572 MovieClip {GunManMC} Frame 1Symbol 1429 MovieClip
"stun"Symbol 1683 MovieClip {ScientistMC} Frame 40Symbol 1643 MovieClip {finalninjazero_fla.scientistdead_230}
"bubbleHolder"Symbol 1960 MovieClip {WaterLineMC} Frame 1Symbol 742 MovieClip
"wheels"Symbol 2764 MovieClip {BossPlatformMC6} Frame 1Symbol 2761 MovieClip
"wheels"Symbol 2767 MovieClip {BossPlatformMC7} Frame 1Symbol 2761 MovieClip
"alert"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2808 MovieClip {finalninjazero_fla.alert_606}
"bang1"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2810 MovieClip {finalninjazero_fla.bang1_607}
"bang2"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2812 MovieClip {finalninjazero_fla.bang2_608}
"bang3"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2814 MovieClip {finalninjazero_fla.bang3_609}
"bang4"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2816 MovieClip {finalninjazero_fla.bang4_610}
"chop"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2818 MovieClip {finalninjazero_fla.chop_611}
"star_hit"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2820 MovieClip {finalninjazero_fla.star_hit_612}
"sword1"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2822 MovieClip {finalninjazero_fla.sword1_613}
"sword2"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2824 MovieClip {finalninjazero_fla.sword2_614}
"tang"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2826 MovieClip {finalninjazero_fla.tang_615}
"wom"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2828 MovieClip {finalninjazero_fla.wom_616}
"cough"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2829 MovieClip {finalninjazero_fla.cough_617}
"jump"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2830 MovieClip {finalninjazero_fla.jump_618}
"oishii"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2832 MovieClip {finalninjazero_fla.oishii_619}
"smithhit"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2834 MovieClip {finalninjazero_fla.smithhit_620}
"aiiee"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2836 MovieClip {finalninjazero_fla.aiiee_621}
"yatta"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2838 MovieClip {finalninjazero_fla.yatta_622}
"coins"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2840 MovieClip {finalninjazero_fla.coins_623}
"electric"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2842 MovieClip {finalninjazero_fla.electric_624}
"smithdie"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2844 MovieClip {finalninjazero_fla.smithdie_625}
"cammo"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2851 MovieClip {finalninjazero_fla.cammo_628}
"grenade"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2853 MovieClip {finalninjazero_fla.grenade_629}
"hack"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2855 MovieClip {finalninjazero_fla.hack_630}
"lift"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2857 MovieClip {finalninjazero_fla.lift_631}
"machinegun"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2859 MovieClip {finalninjazero_fla.machinegun_632}
"powerdown"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2861 MovieClip {finalninjazero_fla.powerdown_633}
"scientisthit"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2863 MovieClip {finalninjazero_fla.scientisthit_634}
"missile"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2865 MovieClip {finalninjazero_fla.missile_635}
"bossouch"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2867 MovieClip {finalninjazero_fla.bossouch_636}
"bosslaugh"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2869 MovieClip {finalninjazero_fla.bosslaugh_637}
"msg"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2871 MovieClip {finalninjazero_fla.msg_638}
"finalninja"Symbol 2874 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 2873 MovieClip {finalninjazero_fla.finalninja_639}
"msg"Symbol 2911 MovieClip {com.nitrome.game.MsgPanel} Frame 1Symbol 2910 EditableText
"mcAnimation"Symbol 2931 MovieClip {MiniclipIntro} Frame 1Symbol 2930 MovieClip {finalninjazero_fla.mcAnimation_648}
"_e"Symbol 2976 MovieClip {finalninjazero_fla.nitrome_intro_662} Frame 1Symbol 2934 MovieClip {IntroMC1}
"_m"Symbol 2976 MovieClip {finalninjazero_fla.nitrome_intro_662} Frame 1Symbol 2937 MovieClip {IntroMC2}
"_o"Symbol 2976 MovieClip {finalninjazero_fla.nitrome_intro_662} Frame 1Symbol 2940 MovieClip {IntroMC3}
"_r"Symbol 2976 MovieClip {finalninjazero_fla.nitrome_intro_662} Frame 1Symbol 2943 MovieClip {IntroMC4}
"_t"Symbol 2976 MovieClip {finalninjazero_fla.nitrome_intro_662} Frame 1Symbol 2946 MovieClip {IntroMC5}
"_i"Symbol 2976 MovieClip {finalninjazero_fla.nitrome_intro_662} Frame 1Symbol 2949 MovieClip {IntroMC6}
"_n"Symbol 2976 MovieClip {finalninjazero_fla.nitrome_intro_662} Frame 1Symbol 2952 MovieClip {IntroMC7}
"morph"Symbol 2978 MovieClip {finalninjazero_fla.backcammo_663} Frame 1Symbol 2954 MovieClip {Morph}
"morph"Symbol 2978 MovieClip {finalninjazero_fla.backcammo_663} Frame 1Symbol 2954 MovieClip {Morph}
"morph"Symbol 2978 MovieClip {finalninjazero_fla.backcammo_663} Frame 1Symbol 2954 MovieClip {Morph}
"sparkle1"Symbol 3042 MovieClip {finalninjazero_fla.sunflare_680} Frame 1Symbol 3041 MovieClip
"sparkle2"Symbol 3042 MovieClip {finalninjazero_fla.sunflare_680} Frame 1Symbol 3041 MovieClip
"sun1"Symbol 3043 MovieClip {finalninjazero_fla.dawntowers_679} Frame 1Symbol 3042 MovieClip {finalninjazero_fla.sunflare_680}
"sun2"Symbol 3043 MovieClip {finalninjazero_fla.dawntowers_679} Frame 1Symbol 3042 MovieClip {finalninjazero_fla.sunflare_680}
"back"Symbol 3044 MovieClip {finalninjazero_fla.back_666} Frame 1Symbol 3015 MovieClip
"front"Symbol 3044 MovieClip {finalninjazero_fla.back_666} Frame 1Symbol 3029 MovieClip
"back"Symbol 3044 MovieClip {finalninjazero_fla.back_666} Frame 10Symbol 3034 MovieClip
"front"Symbol 3044 MovieClip {finalninjazero_fla.back_666} Frame 10Symbol 3043 MovieClip {finalninjazero_fla.dawntowers_679}
"canvas"Symbol 3045 MovieClip {finalninjazero_fla.shaker_682} Frame 1Symbol 1082 MovieClip {holder}
"score"Symbol 3057 MovieClip {finalninjazero_fla.score_panel_685} Frame 1Symbol 3056 EditableText
"alert_time"Symbol 3062 MovieClip {finalninjazero_fla.alert_panel_686} Frame 1Symbol 3061 EditableText
"message_text"Symbol 3093 MovieClip {finalninjazero_fla.text_panel_panel_688} Frame 1Symbol 3066 EditableText
"face_panel"Symbol 3093 MovieClip {finalninjazero_fla.text_panel_panel_688} Frame 1Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689}
"panel"Symbol 3094 MovieClip {finalninjazero_fla.text_panel_687} Frame 1Symbol 3093 MovieClip {finalninjazero_fla.text_panel_panel_688}
"bar"Symbol 3097 MovieClip {finalninjazero_fla.enemy_health_panel_693} Frame 1Symbol 3096 MovieClip
"tt"Symbol 3105 MovieClip {finalninjazero_fla.loading_screen_698} Frame 1Symbol 9 MovieClip {com.nitrome.game.Transition}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.

Labels

"preloader"Frame 3
"armor"Frame 11
"nitrome"Frame 21
"pre_title_screen"Frame 31
"title_screen"Frame 41
"credits"Frame 51
"help"Frame 61
"choose_level"Frame 71
"congrats"Frame 81
"game"Frame 91
"game_reset"Frame 101
"story"Frame 112
"idle"Symbol 581 MovieClip {EvilMovingBlockMC} Frame 1
"aggressive"Symbol 581 MovieClip {EvilMovingBlockMC} Frame 10
"wait_left"Symbol 715 MovieClip {NinjaMC} Frame 1
"wait_right"Symbol 715 MovieClip {NinjaMC} Frame 10
"run_left"Symbol 715 MovieClip {NinjaMC} Frame 20
"run_right"Symbol 715 MovieClip {NinjaMC} Frame 30
"fly"Symbol 715 MovieClip {NinjaMC} Frame 40
"wait_left"Symbol 737 MovieClip {NinjaGuardMC} Frame 1
"wait_right"Symbol 737 MovieClip {NinjaGuardMC} Frame 10
"run_left"Symbol 737 MovieClip {NinjaGuardMC} Frame 20
"run_right"Symbol 737 MovieClip {NinjaGuardMC} Frame 30
"fly"Symbol 737 MovieClip {NinjaGuardMC} Frame 40
"reveal"Symbol 737 MovieClip {NinjaGuardMC} Frame 50
"electric"Symbol 737 MovieClip {NinjaGuardMC} Frame 60
"idle"Symbol 775 MovieClip {finalninjazero_fla.gunclip_47} Frame 1
"fire_bullet"Symbol 775 MovieClip {finalninjazero_fla.gunclip_47} Frame 10
"fire_grenade"Symbol 775 MovieClip {finalninjazero_fla.gunclip_47} Frame 20
"stealth"Symbol 1034 MovieClip {PlayerMC} Frame 1
"run_left"Symbol 1034 MovieClip {PlayerMC} Frame 10
"run_right"Symbol 1034 MovieClip {PlayerMC} Frame 20
"wait_left"Symbol 1034 MovieClip {PlayerMC} Frame 30
"wait_right"Symbol 1034 MovieClip {PlayerMC} Frame 40
"jump_left"Symbol 1034 MovieClip {PlayerMC} Frame 50
"jump_right"Symbol 1034 MovieClip {PlayerMC} Frame 60
"fall_left"Symbol 1034 MovieClip {PlayerMC} Frame 70
"fall_right"Symbol 1034 MovieClip {PlayerMC} Frame 80
"wall_left"Symbol 1034 MovieClip {PlayerMC} Frame 90
"wall_right"Symbol 1034 MovieClip {PlayerMC} Frame 100
"swing_left"Symbol 1034 MovieClip {PlayerMC} Frame 110
"swing_right"Symbol 1034 MovieClip {PlayerMC} Frame 120
"wait_in_left"Symbol 1034 MovieClip {PlayerMC} Frame 130
"wait_in_right"Symbol 1034 MovieClip {PlayerMC} Frame 140
"ouch_left"Symbol 1034 MovieClip {PlayerMC} Frame 150
"ouch_right"Symbol 1034 MovieClip {PlayerMC} Frame 160
"spider"Symbol 1034 MovieClip {PlayerMC} Frame 170
"stealth"Symbol 1081 MovieClip {ChameleonMC} Frame 1
"run_left"Symbol 1081 MovieClip {ChameleonMC} Frame 10
"run_right"Symbol 1081 MovieClip {ChameleonMC} Frame 20
"wait_left"Symbol 1081 MovieClip {ChameleonMC} Frame 30
"wait_right"Symbol 1081 MovieClip {ChameleonMC} Frame 40
"jump_left"Symbol 1081 MovieClip {ChameleonMC} Frame 50
"jump_right"Symbol 1081 MovieClip {ChameleonMC} Frame 60
"fall_left"Symbol 1081 MovieClip {ChameleonMC} Frame 70
"fall_right"Symbol 1081 MovieClip {ChameleonMC} Frame 80
"wall_left"Symbol 1081 MovieClip {ChameleonMC} Frame 90
"wall_right"Symbol 1081 MovieClip {ChameleonMC} Frame 100
"swing_left"Symbol 1081 MovieClip {ChameleonMC} Frame 110
"swing_right"Symbol 1081 MovieClip {ChameleonMC} Frame 120
"wait_in_left"Symbol 1081 MovieClip {ChameleonMC} Frame 130
"wait_in_right"Symbol 1081 MovieClip {ChameleonMC} Frame 140
"ouch_left"Symbol 1081 MovieClip {ChameleonMC} Frame 150
"ouch_right"Symbol 1081 MovieClip {ChameleonMC} Frame 160
"run_rest"Symbol 1095 MovieClip {LeftArmMC} Frame 1
"wait_rest"Symbol 1095 MovieClip {LeftArmMC} Frame 5
"jump_rest"Symbol 1095 MovieClip {LeftArmMC} Frame 10
"fall_rest"Symbol 1095 MovieClip {LeftArmMC} Frame 15
"wall_rest"Symbol 1095 MovieClip {LeftArmMC} Frame 20
"ready"Symbol 1095 MovieClip {LeftArmMC} Frame 25
"right"Symbol 1095 MovieClip {LeftArmMC} Frame 30
"left"Symbol 1095 MovieClip {LeftArmMC} Frame 35
"run_rest"Symbol 1104 MovieClip {RightArmMC} Frame 1
"wait_rest"Symbol 1104 MovieClip {RightArmMC} Frame 5
"jump_rest"Symbol 1104 MovieClip {RightArmMC} Frame 10
"fall_rest"Symbol 1104 MovieClip {RightArmMC} Frame 15
"wall_rest"Symbol 1104 MovieClip {RightArmMC} Frame 20
"ready"Symbol 1104 MovieClip {RightArmMC} Frame 25
"right"Symbol 1104 MovieClip {RightArmMC} Frame 30
"left"Symbol 1104 MovieClip {RightArmMC} Frame 35
"idle"Symbol 1155 MovieClip {GunMC} Frame 1
"fire_bullet"Symbol 1155 MovieClip {GunMC} Frame 10
"fire_grenade"Symbol 1155 MovieClip {GunMC} Frame 20
"inactive"Symbol 1201 MovieClip {SpawnMC2} Frame 1
"activating"Symbol 1201 MovieClip {SpawnMC2} Frame 10
"active"Symbol 1201 MovieClip {SpawnMC2} Frame 20
"deactivating"Symbol 1201 MovieClip {SpawnMC2} Frame 30
"inactive"Symbol 1205 MovieClip {SpawnMC1} Frame 1
"activating"Symbol 1205 MovieClip {SpawnMC1} Frame 10
"active"Symbol 1205 MovieClip {SpawnMC1} Frame 20
"deactivating"Symbol 1205 MovieClip {SpawnMC1} Frame 30
"idle"Symbol 1212 MovieClip {FlyingGunMC} Frame 1
"aggressive"Symbol 1212 MovieClip {FlyingGunMC} Frame 10
"inactive"Symbol 1257 MovieClip {ForceFieldMC1} Frame 1
"activate"Symbol 1257 MovieClip {ForceFieldMC1} Frame 10
"active"Symbol 1257 MovieClip {ForceFieldMC1} Frame 20
"deactivate"Symbol 1257 MovieClip {ForceFieldMC1} Frame 30
"inactive"Symbol 1258 MovieClip {ForceFieldMC2} Frame 1
"activate"Symbol 1258 MovieClip {ForceFieldMC2} Frame 10
"active"Symbol 1258 MovieClip {ForceFieldMC2} Frame 20
"deactivate"Symbol 1258 MovieClip {ForceFieldMC2} Frame 30
"_up"Symbol 1261 MovieClip {com.nitrome.game.LevelSelectButton} Frame 1
"_over"Symbol 1261 MovieClip {com.nitrome.game.LevelSelectButton} Frame 10
"_up"Symbol 1266 MovieClip {com.nitrome.game.NextLevelButton} Frame 1
"_over"Symbol 1266 MovieClip {com.nitrome.game.NextLevelButton} Frame 10
"_up"Symbol 1269 MovieClip {com.nitrome.game.TryAgainButton} Frame 1
"_over"Symbol 1269 MovieClip {com.nitrome.game.TryAgainButton} Frame 10
"_up"Symbol 1272 MovieClip {com.nitrome.game.SubmitScoreButton} Frame 1
"_over"Symbol 1272 MovieClip {com.nitrome.game.SubmitScoreButton} Frame 10
"_up"Symbol 1275 MovieClip {com.nitrome.game.QuitGameButton} Frame 1
"_over"Symbol 1275 MovieClip {com.nitrome.game.QuitGameButton} Frame 10
"_up"Symbol 1278 MovieClip {com.nitrome.game.ContinueEndButton} Frame 1
"_over"Symbol 1278 MovieClip {com.nitrome.game.ContinueEndButton} Frame 10
"_up"Symbol 1285 MovieClip {com.nitrome.game.PlayButton} Frame 1
"_over"Symbol 1285 MovieClip {com.nitrome.game.PlayButton} Frame 10
"_up"Symbol 1290 MovieClip {com.nitrome.game.ViewScoresButton} Frame 1
"_over"Symbol 1290 MovieClip {com.nitrome.game.ViewScoresButton} Frame 10
"_up"Symbol 1295 MovieClip {com.nitrome.game.CreditsButton} Frame 1
"_over"Symbol 1295 MovieClip {com.nitrome.game.CreditsButton} Frame 10
"_up"Symbol 1300 MovieClip {com.nitrome.game.HelpButton} Frame 1
"_over"Symbol 1300 MovieClip {com.nitrome.game.HelpButton} Frame 10
"_up"Symbol 1303 MovieClip {com.nitrome.game.BackButton} Frame 1
"_over"Symbol 1303 MovieClip {com.nitrome.game.BackButton} Frame 10
"_up"Symbol 1306 MovieClip {com.nitrome.game.PlayGameButton} Frame 1
"_over"Symbol 1306 MovieClip {com.nitrome.game.PlayGameButton} Frame 10
"_up"Symbol 1307 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1
"_over"Symbol 1307 MovieClip {com.nitrome.game.ContinueGameButton} Frame 10
"_up"Symbol 1308 MovieClip {com.nitrome.game.ContinueGameHelpButton} Frame 1
"_over"Symbol 1308 MovieClip {com.nitrome.game.ContinueGameHelpButton} Frame 10
"_up"Symbol 1312 MovieClip {com.nitrome.game.HelpArrowButtonLeft} Frame 1
"_over"Symbol 1312 MovieClip {com.nitrome.game.HelpArrowButtonLeft} Frame 10
"_up"Symbol 1313 MovieClip {com.nitrome.game.HelpArrowButtonRight} Frame 1
"_over"Symbol 1313 MovieClip {com.nitrome.game.HelpArrowButtonRight} Frame 10
"idle"Symbol 1409 MovieClip {finalninjazero_fla.swatgun_200} Frame 1
"fire_bullet"Symbol 1409 MovieClip {finalninjazero_fla.swatgun_200} Frame 10
"fire_grenade"Symbol 1409 MovieClip {finalninjazero_fla.swatgun_200} Frame 20
"wait"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 1
"level_complete"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 2
"game_over"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 16
"final_level_complete"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 30
"game_paused"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 46
"game_help"Symbol 1436 MovieClip {finalninjazero_fla.popup_clip_179} Frame 61
"out"Symbol 1437 MovieClip {com.nitrome.game.PopUpHolder} Frame 11
"_up"Symbol 1444 MovieClip {NextArrow} Frame 1
"_over"Symbol 1444 MovieClip {NextArrow} Frame 10
"_up"Symbol 1447 MovieClip {PrevArrow} Frame 1
"_over"Symbol 1447 MovieClip {PrevArrow} Frame 10
"show"Symbol 1452 MovieClip {HighScoreBoard} Frame 1
"hide"Symbol 1452 MovieClip {HighScoreBoard} Frame 10
"_up"Symbol 1455 MovieClip {SubmitButton} Frame 1
"_over"Symbol 1455 MovieClip {SubmitButton} Frame 10
"_up"Symbol 1458 MovieClip {ClearButton} Frame 1
"_over"Symbol 1458 MovieClip {ClearButton} Frame 10
"_up"Symbol 1462 MovieClip {LetterButton} Frame 1
"_over"Symbol 1462 MovieClip {LetterButton} Frame 10
"hide"Symbol 1467 MovieClip {ScoreSubmitPanel} Frame 10
"active"Symbol 1567 MovieClip {GeneratorMC} Frame 1
"inactive"Symbol 1567 MovieClip {GeneratorMC} Frame 10
"fall_left"Symbol 1572 MovieClip {GunManMC} Frame 1
"fall_right"Symbol 1572 MovieClip {GunManMC} Frame 10
"run_left"Symbol 1572 MovieClip {GunManMC} Frame 20
"run_right"Symbol 1572 MovieClip {GunManMC} Frame 30
"fire_left"Symbol 1572 MovieClip {GunManMC} Frame 40
"fire_right"Symbol 1572 MovieClip {GunManMC} Frame 50
"stop_left"Symbol 1572 MovieClip {GunManMC} Frame 60
"stop_right"Symbol 1572 MovieClip {GunManMC} Frame 69
"fall_left"Symbol 1597 MovieClip {CowardMC} Frame 1
"fall_right"Symbol 1597 MovieClip {CowardMC} Frame 10
"run_left"Symbol 1597 MovieClip {CowardMC} Frame 20
"run_right"Symbol 1597 MovieClip {CowardMC} Frame 30
"stop_left"Symbol 1597 MovieClip {CowardMC} Frame 40
"stop_right"Symbol 1597 MovieClip {CowardMC} Frame 49
"fall_left"Symbol 1683 MovieClip {ScientistMC} Frame 1
"fall_right"Symbol 1683 MovieClip {ScientistMC} Frame 10
"run_left"Symbol 1683 MovieClip {ScientistMC} Frame 20
"run_right"Symbol 1683 MovieClip {ScientistMC} Frame 30
"stunned_left"Symbol 1683 MovieClip {ScientistMC} Frame 40
"stunned_right"Symbol 1683 MovieClip {ScientistMC} Frame 50
"alert"Symbol 1683 MovieClip {ScientistMC} Frame 60
"recover_left"Symbol 1683 MovieClip {ScientistMC} Frame 70
"recover_right"Symbol 1683 MovieClip {ScientistMC} Frame 80
"stop_left"Symbol 1683 MovieClip {ScientistMC} Frame 90
"stop_right"Symbol 1683 MovieClip {ScientistMC} Frame 99
"idle"Symbol 1729 MovieClip {LiftMC} Frame 1
"exit"Symbol 1729 MovieClip {LiftMC} Frame 10
"idle"Symbol 1731 MovieClip {ChaseFinishMC} Frame 1
"exit"Symbol 1731 MovieClip {ChaseFinishMC} Frame 10
"wait_left"Symbol 1814 MovieClip {BladeManMC} Frame 1
"wait_right"Symbol 1814 MovieClip {BladeManMC} Frame 10
"run_left"Symbol 1814 MovieClip {BladeManMC} Frame 20
"run_right"Symbol 1814 MovieClip {BladeManMC} Frame 30
"deflect_left"Symbol 1814 MovieClip {BladeManMC} Frame 40
"deflect_right"Symbol 1814 MovieClip {BladeManMC} Frame 50
"attack_left"Symbol 1814 MovieClip {BladeManMC} Frame 60
"attack_right"Symbol 1814 MovieClip {BladeManMC} Frame 70
"jump_attack_left"Symbol 1814 MovieClip {BladeManMC} Frame 80
"jump_attack_right"Symbol 1814 MovieClip {BladeManMC} Frame 90
"fall_left"Symbol 1814 MovieClip {BladeManMC} Frame 100
"fall_right"Symbol 1814 MovieClip {BladeManMC} Frame 110
"into_defend_left"Symbol 1814 MovieClip {BladeManMC} Frame 121
"into_defend_right"Symbol 1814 MovieClip {BladeManMC} Frame 130
"defend_left"Symbol 1814 MovieClip {BladeManMC} Frame 141
"defend_right"Symbol 1814 MovieClip {BladeManMC} Frame 150
"electric_left"Symbol 1814 MovieClip {BladeManMC} Frame 160
"electric_right"Symbol 1814 MovieClip {BladeManMC} Frame 169
"idle"Symbol 1854 MovieClip {CammoMC} Frame 1
"collect"Symbol 1854 MovieClip {CammoMC} Frame 10
"active"Symbol 1861 MovieClip {CowardGeneratorMC} Frame 1
"inactive"Symbol 1861 MovieClip {CowardGeneratorMC} Frame 10
"_on_up"Symbol 2887 MovieClip {com.nitrome.game.MusicToggle} Frame 1
"_on_over"Symbol 2887 MovieClip {com.nitrome.game.MusicToggle} Frame 10
"_off_up"Symbol 2887 MovieClip {com.nitrome.game.MusicToggle} Frame 20
"_off_over"Symbol 2887 MovieClip {com.nitrome.game.MusicToggle} Frame 30
"_on_up"Symbol 2895 MovieClip {com.nitrome.game.FxToggle} Frame 1
"_on_over"Symbol 2895 MovieClip {com.nitrome.game.FxToggle} Frame 10
"_off_up"Symbol 2895 MovieClip {com.nitrome.game.FxToggle} Frame 20
"_off_over"Symbol 2895 MovieClip {com.nitrome.game.FxToggle} Frame 30
"_up"Symbol 2901 MovieClip {com.nitrome.game.PauseButton} Frame 1
"_over"Symbol 2901 MovieClip {com.nitrome.game.PauseButton} Frame 10
"_up"Symbol 2907 MovieClip {com.nitrome.game.GameHelpButton} Frame 1
"_over"Symbol 2907 MovieClip {com.nitrome.game.GameHelpButton} Frame 10
"night"Symbol 3044 MovieClip {finalninjazero_fla.back_666} Frame 1
"dawn"Symbol 3044 MovieClip {finalninjazero_fla.back_666} Frame 10
"_3"Symbol 3053 MovieClip {finalninjazero_fla.health_panel_684} Frame 1
"_2"Symbol 3053 MovieClip {finalninjazero_fla.health_panel_684} Frame 2
"_1"Symbol 3053 MovieClip {finalninjazero_fla.health_panel_684} Frame 3
"_0"Symbol 3053 MovieClip {finalninjazero_fla.health_panel_684} Frame 4
"ninja"Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689} Frame 1
"akuma"Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689} Frame 10
"coward"Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689} Frame 20
"boss"Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689} Frame 30
"clone"Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689} Frame 40
"prof"Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689} Frame 50
"boss_shadow"Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689} Frame 60
"ninja_reveal"Symbol 3092 MovieClip {finalninjazero_fla.text_panel_faces_689} Frame 70
"hidden"Symbol 3094 MovieClip {finalninjazero_fla.text_panel_687} Frame 1
"popup_stay"Symbol 3094 MovieClip {finalninjazero_fla.text_panel_687} Frame 10
"stay"Symbol 3094 MovieClip {finalninjazero_fla.text_panel_687} Frame 20
"hide"Symbol 3094 MovieClip {finalninjazero_fla.text_panel_687} Frame 31
"clear"Symbol 3102 MovieClip {finalninjazero_fla.fade_to_black_696} Frame 1
"fade"Symbol 3102 MovieClip {finalninjazero_fla.fade_to_black_696} Frame 10
"loading"Symbol 3105 MovieClip {finalninjazero_fla.loading_screen_698} Frame 1
"fade_out"Symbol 3105 MovieClip {finalninjazero_fla.loading_screen_698} Frame 10
"clear"Symbol 3105 MovieClip {finalninjazero_fla.loading_screen_698} Frame 20




https://swfchan.com/53/263149/info.shtml
Created: 17/3 -2026 12:04:01 Last modified: 17/3 -2026 12:04:01 Server time: 17/03 -2026 20:15:48