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

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

Superfighters.swf

This is the info page for
Flash #96849

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


Text
Newgrounds API Connector

Connecting to the Newgrounds Gateway...

Connection Established!

YOU ARE NOT LOGGED IN!

You will not be able to use any
members-only features!

Some features may be
temporarily unavailable.

API CONNECTION FAILED

NOTICE!

A new version is now available!
Click the button below to check it out.

View latest version

UNAUTHORIZED USE!!

This website is hosting this file without proper consent!
Click the button below to view a legal version.

View authorized version

MythoLogic Interactive presents

mythologicinteractive.com

mythologicinteractive.com

<p align="center"><font face="04b03" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1">0 %</font></p>

PLAY

Container

error

JOHAN HJÄRPE
Design, Art
ALEXANDER SIIGUR
Program
HZLANCER
Music
mythologicinteractive.com

JOHAN HJÄRPE
Design, Art
ALEXANDER SIIGUR
Program
HZLANCER
Music
mythologicinteractive.com

New to Superfighters?
Start here!

FUNNYMAN

MAC

JEFF

TUTORIAL

STORAGE

ROOFTOP

POLICE STATION

HAZARDOUS

FIRST

TO

3

5

10

BEST OF

LEVEL PIC

DELETE PROGRESS

Finishing all challenges unlocks a new player skin.

New player skin unlocked!

ARE YOU SURE?

YES

NO

GRAPHIC QUALITY

EFFECT QUALITY

SOUND VOLUME

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1">HIGH</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1">MEDIUM</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1">100 %</font></p>

EDIT CONTROLS

UP

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

LEFT

DOWN

RIGHT

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

MELEE

SHOOT

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

GRENADE

POWERUP

CONFIG

SIMPLE

<p align="center"><font face="04b03_26pt_st" size="26" color="#ffffff" letterSpacing="0.000000" kerning="1">1</font></p>

RESET TO DEFAULT

AIM/CLIMB UP

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

AIM/CLIMB DOWN

JUMP

KNEEL/ROLL/DIVE

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

AIM/RUN LEFT

AIM/RUN RIGHT

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

TOGGLE SPRINT

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>

ADVANCED

You can drop through
platforms by double-tapping
the down direction key.

TIP 1 OF 18

You can kick objects in
front of you by pressing
the melee key. You will also
kick enemies that are
located slightly below you.

TIP 2 OF 18

You can carry one melee
weapon, one gun, and one
type of grenades at a time.
To replace a weapon in one
of these slots, duck and
press the melee key when
near a weapon.

TIP 3 OF 18

The bullet time powerup
comes in a 5 second
variant and a 10 second
variant. You can cancel
bullet time by pressing the
powerup key again.

TIP 4 OF 18

The player who activates
bullet time is slowed down
less than the other
players. The same goes for
bullets fired by that player.

TIP 5 OF 18

When on fire, roll on the
ground before you turn
into a ball of flame!

TIP 6 OF 18

If you punch an enemy with
his gun out, he will be
disarmed and the gun will
disappear.

TIP 7 OF 18

Use your environment to
your advantage! Try
throwing objects at
enemies or shooting
flammable objects near
them.

TIP 8 OF 18

Melee weapons like axes
and machetes improve the
reach and damage of your
melee attacks.

TIP 9 OF 18

Powerful weapons, like the
sniper rifle, can destroy
several wooden objects
with a single bullet.

TIP 10 OF 18

When riding a bazooka
rocket (as result of a
direct hit), you can use the
left and right direction
keys to steer it for a few
seconds.

TIP 11 OF 18

Your melee attacks do not
hurt teammates, but bullets
do!

TIP 12 OF 18

You can perform a jump
kick by pressing the melee
key in mid-air.

TIP 13 OF 18

Your stamina regenerates
faster while standing still.

TIP 14 OF 18

Your shots have a random
chance to knock enemies
back or off their feet.
Sniper shots and short-
range shotgun blasts are
extra effective.

TIP 15 OF 18

Health items are picked up
by walking over them. Pills
restore 25% of your
maximum health, medkits
restore 50%.

TIP 16 OF 18

The multi-purpose dive
maneuver lets you knock
down enemies, dodge
bullets, take no damage
from falling and crash
through sheets of glass
with grace.

TIP 17 OF 18

You are invulnerable for a
few moments after being
knocked down.

TIP 18 OF 18

ROUNDS PLAYED:

<p align="left"><font face="04b03_16pt_st" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1">000000</font></p>

Use the left and right direction keys to move.

WARM-UP

Press the up key to jump and hold the down
key to crouch.

JUMPING AND CROUCHING

To roll on the ground, press the down key
while moving. You will dodge bullets fired at
you.

ROLLING

To run faster, double-tap and hold the left or
right direction key. Sprinting drains your
stamina (the white bar).

SPRINTING

To perform a dive, press down while sprinting.
This stunt allows you to knock enemies down
and avoid taking damage from falling. You will
dodge bullets fired at you aswell.

DIVING

To swing your fists, press the melee key (N
by default). You can perform a combo by
attacking several times quickly.
Destroy the dummy to continue.

UNARMED COMBAT

Move close to the gun to pick it up.

AIMING AND SHOOTING

To aim your gun, press and hold the shoot
key (M by default). While aiming, the up and
down keys adjust your aim. Releasing the
shoot key fires your weapon, while pressing
the melee key cancels the action.
Shoot the targets to continue.

To replace your current weapon, move close
to a new one and press the melee key while
crouching.
Pick up the assault rifle.

Now shoot the targets.

Next move over the grenades to pick them
up.

GRENADES

To aim with grenades or molotov cocktails,
press the grenade key (, by default). Adjust
your aim with the up and down keys (after 3
seconds the grenade will explode so don't
take too long!) and release to throw. The
melee key cancels the action.
Destroy the targets with grenades to
continue.

To take cover behind any chest-high obstacle,
move close to the cover and press that
direction key once more. While using an object
as cover you can shoot and throw grenades
through that object.

COVER

Pick up the clock symbol to continue.

BULLET TIME

You now have a bullet time powerup. Press
the powerup key (. by default) to slow
everything down for ten seconds.

You now know the basics! Press space bar to
exit the tutorial.

CONGRATULATIONS!

SoundContainer

ActionScript [AS3]

Section 1
//NewgroundsAPIAsset_API_Conencted_4 (APIConnector_fla.NewgroundsAPIAsset_API_Conencted_4) package APIConnector_fla { import com.newgrounds.components.*; import flash.display.*; public dynamic class NewgroundsAPIAsset_API_Conencted_4 extends MovieClip { public function NewgroundsAPIAsset_API_Conencted_4(){ addFrameScript(36, this.frame37); } function frame37(){ APIConnector(parent).clear(); } } }//package APIConnector_fla
Section 2
//NewgroundsAPIAsset_ConnectingAPI_2 (APIConnector_fla.NewgroundsAPIAsset_ConnectingAPI_2) package APIConnector_fla { import flash.display.*; public dynamic class NewgroundsAPIAsset_ConnectingAPI_2 extends MovieClip { public function NewgroundsAPIAsset_ConnectingAPI_2(){ addFrameScript(9, this.frame10); } function frame10(){ stop(); } } }//package APIConnector_fla
Section 3
//NewgroundsAPIAsset_Connection_Error_7 (APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7) package APIConnector_fla { import com.newgrounds.components.*; import flash.display.*; public dynamic class NewgroundsAPIAsset_Connection_Error_7 extends MovieClip { public function NewgroundsAPIAsset_Connection_Error_7(){ addFrameScript(9, this.frame10, 20, this.frame21); } function frame10(){ stop(); } function frame21(){ APIConnector(parent).clear(); } } }//package APIConnector_fla
Section 4
//NewgroundsAPIAsset_Load_Indicator_3 (APIConnector_fla.NewgroundsAPIAsset_Load_Indicator_3) package APIConnector_fla { import flash.events.*; import flash.display.*; public dynamic class NewgroundsAPIAsset_Load_Indicator_3 extends MovieClip { public function NewgroundsAPIAsset_Load_Indicator_3(){ addFrameScript(0, this.frame1); } public function onEnterFrame(_arg1:Event):void{ if (((visible) && (stage))){ rotation = (rotation + 30); } else { removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); }; } function frame1(){ addEventListener(Event.ENTER_FRAME, this.onEnterFrame); } } }//package APIConnector_fla
Section 5
//NewgroundsAPIAsset_Login_Warning_5 (APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5) package APIConnector_fla { import com.newgrounds.components.*; import flash.display.*; public dynamic class NewgroundsAPIAsset_Login_Warning_5 extends MovieClip { public function NewgroundsAPIAsset_Login_Warning_5(){ addFrameScript(9, this.frame10, 20, this.frame21); } function frame10(){ stop(); } function frame21(){ APIConnector(parent).clear(); } } }//package APIConnector_fla
Section 6
//b2CircleDef (Code.Box2D.Collision.Shapes.b2CircleDef) package Code.Box2D.Collision.Shapes { import Code.Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var localPosition:b2Vec2; public var radius:Number; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Code.Box2D.Collision.Shapes
Section 7
//b2CircleShape (Code.Box2D.Collision.Shapes.b2CircleShape) package Code.Box2D.Collision.Shapes { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; public class b2CircleShape extends b2Shape { public var m_radius:Number; public var m_localPosition:b2Vec2; public function b2CircleShape(_arg1:b2ShapeDef){ var _local2:b2CircleDef; m_localPosition = new b2Vec2(); super(_arg1); _local2 = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg1.R; _local4 = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } public function GetLocalPosition():b2Vec2{ return (m_localPosition); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg1.R; _local7 = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); _local8 = (_arg1.position.y + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); _local9 = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); _local11 = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; _local12 = (_arg4.p2.x - _arg4.p1.x); _local13 = (_arg4.p2.y - _arg4.p1.y); _local14 = ((_local9 * _local12) + (_local10 * _local13)); _local15 = ((_local12 * _local12) + (_local13 * _local13)); _local16 = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; _local17 = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = _arg2.R; _local5 = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local6 = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; _local7 = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local8 = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } public function GetRadius():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number; var _local3:Number; _local2 = (m_localPosition.x - _arg1.x); _local3 = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg2.R; _local4 = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } } }//package Code.Box2D.Collision.Shapes
Section 8
//b2FilterData (Code.Box2D.Collision.Shapes.b2FilterData) package Code.Box2D.Collision.Shapes { import Code.Box2D.Common.Math.*; public class b2FilterData { public var categoryBits:uint;// = 1 public var isGhost:Boolean;// = false public var isCloud:Boolean;// = false public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var isElevator:Boolean;// = false public function b2FilterData(){ categoryBits = 1; maskBits = 0xFFFF; groupIndex = 0; isCloud = false; isElevator = false; isGhost = false; super(); } public function Copy():b2FilterData{ var _local1:b2FilterData; _local1 = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; _local1.isCloud = isCloud; _local1.isElevator = isElevator; _local1.isGhost = isGhost; return (_local1); } } }//package Code.Box2D.Collision.Shapes
Section 9
//b2MassData (Code.Box2D.Collision.Shapes.b2MassData) package Code.Box2D.Collision.Shapes { import Code.Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ mass = 0; center = new b2Vec2(0, 0); I = 0; super(); } } }//package Code.Box2D.Collision.Shapes
Section 10
//b2PolygonDef (Code.Box2D.Collision.Shapes.b2PolygonDef) package Code.Box2D.Collision.Shapes { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertexCount:int; public var vertices:Array; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ var _local1:int; vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; _local1 = 0; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ var _local5:b2Vec2; var _local6:b2Mat22; var _local7:int; vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); if (_arg3){ _local5 = _arg3; _local6 = s_mat; _local6.Set(_arg4); _local7 = 0; while (_local7 < vertexCount) { _arg3 = vertices[_local7]; _arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y))); _arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y))); _arg3.x = _arg1; _local7++; }; }; } public function SetAsBox(_arg1:Number, _arg2:Number):void{ vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); } } }//package Code.Box2D.Collision.Shapes
Section 11
//b2PolygonShape (Code.Box2D.Collision.Shapes.b2PolygonShape) package Code.Box2D.Collision.Shapes { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; public class b2PolygonShape extends b2Shape { public var m_vertices:Array; public var m_normals:Array; private var s_supportVec:b2Vec2; public var m_obb:b2OBB; public var m_coreVertices:Array; public var m_centroid:b2Vec2; public var m_vertexCount:int; private static var s_computeMat:b2Mat22 = new b2Mat22(); private static var s_sweptAABB1:b2AABB = new b2AABB(); private static var s_sweptAABB2:b2AABB = new b2AABB(); public function b2PolygonShape(_arg1:b2ShapeDef){ var _local2:b2PolygonDef; var _local3:int; var _local4:int; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; s_supportVec = new b2Vec2(); m_obb = new b2OBB(); m_vertices = new Array(b2Settings.b2_maxPolygonVertices); m_normals = new Array(b2Settings.b2_maxPolygonVertices); m_coreVertices = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; _local2 = (_arg1 as b2PolygonDef); m_vertexCount = _local2.vertexCount; _local4 = _local3; _local5 = _local3; _local3 = 0; while (_local3 < m_vertexCount) { m_vertices[_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 < m_vertexCount) { _local4 = _local3; _local5 = (((_local3 + 1) < m_vertexCount)) ? (_local3 + 1) : 0; _local6 = (m_vertices[_local5].x - m_vertices[_local4].x); _local7 = (m_vertices[_local5].y - m_vertices[_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); m_normals[_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; }; m_centroid = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB(m_obb, m_vertices, m_vertexCount); _local3 = 0; while (_local3 < m_vertexCount) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : (m_vertexCount - 1); _local5 = _local3; _local9 = m_normals[_local4].x; _local10 = m_normals[_local4].y; _local11 = m_normals[_local5].x; _local12 = m_normals[_local5].y; _local13 = (m_vertices[_local3].x - m_centroid.x); _local14 = (m_vertices[_local3].y - m_centroid.y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11))); m_coreVertices[_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + m_centroid.x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + m_centroid.y)); _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Number; _local4 = _arg1.R; _local5 = (_arg2.x - _arg1.position.x); _local6 = (_arg2.y - _arg1.position.y); _local7 = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); _local8 = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); _local9 = 0; while (_local9 < m_vertexCount) { _local3 = m_vertices[_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 = m_normals[_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } public function GetCoreVertices():Array{ return (m_coreVertices); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:Number; var _local21:Number; _local6 = 0; _local7 = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; _local12 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local13 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; _local14 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local15 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local18 = -1; _local19 = 0; while (_local19 < m_vertexCount) { _local11 = m_vertices[_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 = m_normals[_local19]; _local20 = ((_local11.x * _local8) + (_local11.y * _local9)); _local21 = ((_local11.x * _local16) + (_local11.y * _local17)); if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){ _local6 = (_local20 / _local21); _local18 = _local19; } else { if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){ _local7 = (_local20 / _local21); }; }; if (_local7 < _local6){ return (false); }; _local19++; }; if (_local18 >= 0){ _arg2[0] = _local6; _local10 = _arg1.R; _local11 = m_normals[_local18]; _arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); return (true); }; return (false); } public function GetCentroid():b2Vec2{ return (m_centroid); } override public function ComputeMass(_arg1:b2MassData):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local2 = 0; _local3 = 0; _local4 = 0; _local5 = 0; _local6 = 0; _local7 = 0; _local8 = (1 / 3); _local9 = 0; while (_local9 < m_vertexCount) { _local10 = m_vertices[_local9]; _local11 = (((_local9 + 1) < m_vertexCount)) ? m_vertices[int((_local9 + 1))] : m_vertices[0]; _local12 = (_local10.x - _local6); _local13 = (_local10.y - _local7); _local14 = (_local11.x - _local6); _local15 = (_local11.y - _local7); _local16 = ((_local12 * _local15) - (_local13 * _local14)); _local17 = (0.5 * _local16); _local4 = (_local4 + _local17); _local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x))); _local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y))); _local18 = _local6; _local19 = _local7; _local20 = _local12; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18)); _local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local5 = (_local5 + (_local16 * (_local24 + _local25))); _local9++; }; _arg1.mass = (m_density * _local4); _local2 = (_local2 * (1 / _local4)); _local3 = (_local3 * (1 / _local4)); _arg1.center.Set(_local2, _local3); _arg1.I = (m_density * _local5); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local6:Number; var _local7:Number; var _local8:int; var _local9:Number; var _local10:int; var _local11:Number; _local5 = _arg1.R; _local6 = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); _local7 = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); _local8 = 0; _local4 = m_coreVertices[0]; _local9 = ((_local4.x * _local6) + (_local4.y * _local7)); _local10 = 1; while (_local10 < m_vertexCount) { _local4 = m_coreVertices[_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 = m_coreVertices[_local8]; s_supportVec.x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y))); s_supportVec.y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return (s_supportVec); } public function GetVertexCount():int{ return (m_vertexCount); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB; var _local5:b2AABB; _local4 = s_sweptAABB1; _local5 = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y); _arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y); } public function GetVertices():Array{ return (m_vertices); } public function GetNormals():Array{ return (m_normals); } public function GetOBB():b2OBB{ return (m_obb); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_coreVertices[0])); } public function Centroid(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_centroid)); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local3:int; var _local4:Number; var _local5:Number; m_sweepRadius = 0; _local3 = 0; while (_local3 < m_vertexCount) { _local2 = m_coreVertices[_local3]; _local4 = (_local2.x - _arg1.x); _local5 = (_local2.y - _arg1.y); _local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); if (_local4 > m_sweepRadius){ m_sweepRadius = _local4; }; _local3++; }; } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local5 = s_computeMat; _local3 = _arg2.R; _local4 = m_obb.R.col1; _local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local4 = m_obb.R.col2; _local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local5.Abs(); _local6 = _local5; _local4 = m_obb.extents; _local7 = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); _local8 = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = m_obb.center; _local9 = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); _local10 = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8)); _arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8)); } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); _local4 = 0; _local5 = 0; _local6 = 0; _local7 = (1 / 3); _local8 = 0; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local5:Array; var _local6:Number; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; _local5 = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; _local6 = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Code.Box2D.Collision.Shapes
Section 12
//b2Shape (Code.Box2D.Collision.Shapes.b2Shape) package Code.Box2D.Collision.Shapes { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; public class b2Shape { public var m_type:int; public var m_sweepRadius:Number; public var m_density:Number; public var m_filter:b2FilterData; public var m_friction:Number; public var m_next:b2Shape; public var m_restitution:Number; public var m_userData; public var m_isSensor:Boolean; public var m_proxyId:uint; public var m_body:b2Body; public static const e_polygonShape:int = 1; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_shapeTypeCount:int = 2; private static var s_resetAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_proxyAABB:b2AABB = new b2AABB(); public function b2Shape(_arg1:b2ShapeDef){ m_userData = _arg1.userData; m_friction = _arg1.friction; m_restitution = _arg1.restitution; m_density = _arg1.density; m_body = null; m_sweepRadius = 0; m_next = null; m_proxyId = b2Pair.b2_nullProxy; m_filter = _arg1.filter.Copy(); m_isSensor = _arg1.isSensor; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public function GetSweepRadius():Number{ return (m_sweepRadius); } public function GetNext():b2Shape{ return (m_next); } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function GetType():int{ return (m_type); } public function GetRestitution():Number{ return (m_restitution); } public function GetFriction():Number{ return (m_friction); } public function GetFilterData():b2FilterData{ return (m_filter.Copy()); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; if (m_proxyId == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(m_proxyId); _local3 = s_resetAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function SetFilterData(_arg1:b2FilterData):void{ m_filter = _arg1.Copy(); } public function GetUserData(){ return (m_userData); } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ var _local4:b2AABB; if (m_proxyId == b2Pair.b2_nullProxy){ return (false); }; _local4 = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy(m_proxyId, _local4); return (true); }; return (false); } public function ComputeMass(_arg1:b2MassData):void{ } public function IsSensor():Boolean{ return (m_isSensor); } public function DestroyProxy(_arg1:b2BroadPhase):void{ if (m_proxyId != b2Pair.b2_nullProxy){ _arg1.DestroyProxy(m_proxyId); m_proxyId = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function GetBody():b2Body{ return (m_body); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; _local3 = s_proxyAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public static function Destroy(_arg1:b2Shape, _arg2):void{ } public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{ switch (_arg1.type){ case e_circleShape: return (new b2CircleShape(_arg1)); case e_polygonShape: return (new b2PolygonShape(_arg1)); default: return (null); }; } } }//package Code.Box2D.Collision.Shapes
Section 13
//b2ShapeDef (Code.Box2D.Collision.Shapes.b2ShapeDef) package Code.Box2D.Collision.Shapes { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; public class b2ShapeDef { public var isSensor:Boolean;// = false public var density:Number;// = 0 public var type:int; public var restitution:Number;// = 0 public var userData;// = null public var filter:b2FilterData; public var friction:Number;// = 0.2 public function b2ShapeDef(){ type = b2Shape.e_unknownShape; userData = null; friction = 0.2; restitution = 0; density = 0; isSensor = false; filter = new b2FilterData(); super(); } } }//package Code.Box2D.Collision.Shapes
Section 14
//b2AABB (Code.Box2D.Collision.b2AABB) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; public class b2AABB { public var upperBound:b2Vec2; public var lowerBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number; var _local2:Number; var _local3:Boolean; _local1 = (upperBound.x - lowerBound.x); _local2 = (upperBound.y - lowerBound.y); _local3 = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Code.Box2D.Collision
Section 15
//b2Bound (Code.Box2D.Collision.b2Bound) package Code.Box2D.Collision { public class b2Bound { public var proxyId:uint; public var stabbingCount:uint; public var value:uint; public function Swap(_arg1:b2Bound):void{ var _local2:uint; var _local3:uint; var _local4:uint; _local2 = value; _local3 = proxyId; _local4 = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } } }//package Code.Box2D.Collision
Section 16
//b2BoundValues (Code.Box2D.Collision.b2BoundValues) package Code.Box2D.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package Code.Box2D.Collision
Section 17
//b2BroadPhase (Code.Box2D.Collision.b2BroadPhase) package Code.Box2D.Collision { import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; public class b2BroadPhase { public var m_quantizationFactor:b2Vec2; public var m_worldAABB:b2AABB; public var m_bounds:Array; public var m_freeProxy:uint; public var m_proxyCount:int; public var m_proxyPool:Array; public var m_queryResultCount:int; public var m_pairManager:b2PairManager; public var m_timeStamp:uint; public var m_queryResults:Array; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local4:Number; var _local5:Number; var _local6:b2Proxy; var _local7:int; m_pairManager = new b2PairManager(); m_proxyPool = new Array(b2Settings.b2_maxPairs); m_bounds = new Array((2 * b2Settings.b2_maxProxies)); m_queryResults = new Array(b2Settings.b2_maxProxies); m_quantizationFactor = new b2Vec2(); super(); m_pairManager.Initialize(this, _arg2); m_worldAABB = _arg1; m_proxyCount = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) { m_queryResults[_local3] = 0; _local3++; }; m_bounds = new Array(2); _local3 = 0; while (_local3 < 2) { m_bounds[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { m_bounds[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; _local4 = (_arg1.upperBound.x - _arg1.lowerBound.x); _local5 = (_arg1.upperBound.y - _arg1.lowerBound.y); m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4); m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new b2Proxy(); m_proxyPool[_local3] = _local6; _local6.SetNext((_local3 + 1)); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; _local3++; }; _local6 = new b2Proxy(); m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6.SetNext(b2Pair.b2_nullProxy); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; m_freeProxy = 0; m_timeStamp = 1; m_queryResultCount = 0; } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local4:Array; var _local5:Array; var _local6:uint; var _local7:uint; var _local8:Array; var _local9:Array; var _local10:int; var _local11:int; var _local12:b2Proxy; _local4 = new Array(); _local5 = new Array(); ComputeBounds(_local4, _local5, _arg1); _local8 = [_local6]; _local9 = [_local7]; Query(_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0); Query(_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); _local10 = 0; _local11 = 0; while ((((_local11 < m_queryResultCount)) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[m_queryResults[_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; }; m_queryResultCount = 0; IncrementTimeStamp(); return (_local10); } public function Commit():void{ m_pairManager.Commit(); } public function GetProxy(_arg1:int):b2Proxy{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } private function IncrementTimeStamp():void{ var _local1:uint; if (m_timeStamp == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; }; m_timeStamp = 1; } else { m_timeStamp++; }; } private function Query(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local11:uint; var _local12:int; var _local13:int; var _local14:b2Proxy; _local8 = BinarySearch(_arg5, _arg6, _arg3); _local9 = BinarySearch(_arg5, _arg6, _arg4); _local11 = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){ IncrementOverlapCount(_local10.proxyId); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10.stabbingCount; while (_local13) { _local10 = _arg5[_local12]; if (_local10.IsLower()){ _local14 = m_proxyPool[_local10.proxyId]; if (_local8 <= _local14.upperBounds[_arg7]){ IncrementOverlapCount(_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function TestOverlapValidate(_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2.upperBounds[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1.upperBounds[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } private function ComputeBounds(_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = _arg3.lowerBound.x; _local5 = _arg3.lowerBound.y; _local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x); _local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y); _local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x); _local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y); _local6 = _arg3.upperBound.x; _local7 = _arg3.upperBound.y; _local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x); _local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y); _local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x); _local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y); _arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1); _arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local5:uint; var _local6:uint; var _local7:Array; var _local8:Array; var _local9:int; var _local10:int; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:b2Proxy; _local5 = m_freeProxy; _local4 = m_proxyPool[_local5]; m_freeProxy = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; _local6 = (2 * m_proxyCount); _local7 = new Array(); _local8 = new Array(); ComputeBounds(_local7, _local8, _arg1); _local9 = 0; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13]; Query(_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9); _local12 = _local14[0]; _local13 = _local15[0]; _local16 = new Array(); _local18 = (_local6 - _local13); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local13 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local13 + 2); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local16 = new Array(); _local18 = (_local13 - _local12); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local12 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local12 + 1); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19.proxyId = _local5; _local20.value = _local8[_local9]; _local20.proxyId = _local5; _local21 = _local11[int((_local12 - 1))]; _local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount; _local21 = _local11[int((_local13 - 1))]; _local20.stabbingCount = _local21.stabbingCount; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21.stabbingCount++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = m_proxyPool[_local19.proxyId]; if (_local19.IsLower()){ _local23.lowerBounds[_local9] = _local3; } else { _local23.upperBounds[_local9] = _local3; }; _local3++; }; _local9++; }; m_proxyCount++; _local10 = 0; while (_local10 < m_queryResultCount) { m_pairManager.AddBufferedPair(_local5, m_queryResults[_local10]); _local10++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local4:b2Proxy; var _local5:int; var _local6:int; var _local7:int; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:b2Proxy; _local4 = m_proxyPool[_arg1]; _local5 = (2 * m_proxyCount); _local6 = 0; while (_local6 < 2) { _local8 = m_bounds[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4.upperBounds[_local6]; _local2 = _local8[_local9]; _local11 = _local2.value; _local3 = _local8[_local10]; _local12 = _local3.value; _local13 = new Array(); _local15 = ((_local10 - _local9) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local9 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local13 = new Array(); _local15 = ((_local5 - _local10) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local10 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = (_local10 - 1); _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = m_proxyPool[_local2.proxyId]; if (_local2.IsLower()){ _local19.lowerBounds[_local6] = _local17; } else { _local19.upperBounds[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2.stabbingCount--; _local18++; }; Query([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; _local7 = 0; while (_local7 < m_queryResultCount) { m_pairManager.RemoveBufferedPair(_arg1, m_queryResults[_local7]); _local7++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); _local4.userData = null; _local4.overlapCount = b2_invalid; _local4.lowerBounds[0] = b2_invalid; _local4.lowerBounds[1] = b2_invalid; _local4.upperBounds[0] = b2_invalid; _local4.upperBounds[1] = b2_invalid; _local4.SetNext(m_freeProxy); m_freeProxy = _arg1; m_proxyCount--; } public function TestOverlap(_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg2.upperBounds[_local3]]; if (_arg1.lowerValues[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1.upperValues[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local5:int; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; _local5 = 0; while (_local5 < 2) { _local6 = m_bounds[_local5]; _local7 = (2 * m_proxyCount); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10.IsLower() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function IncrementOverlapCount(_arg1:uint):void{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if (_local2.timeStamp < m_timeStamp){ _local2.timeStamp = m_timeStamp; _local2.overlapCount = 1; } else { _local2.overlapCount = 2; m_queryResults[m_queryResultCount] = _arg1; m_queryResultCount++; }; } public function InRange(_arg1:b2AABB):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = _arg1.lowerBound.x; _local3 = _arg1.lowerBound.y; _local2 = (_local2 - m_worldAABB.upperBound.x); _local3 = (_local3 - m_worldAABB.upperBound.y); _local4 = m_worldAABB.lowerBound.x; _local5 = m_worldAABB.lowerBound.y; _local4 = (_local4 - _arg1.upperBound.x); _local5 = (_local5 - _arg1.upperBound.y); _local2 = b2Math.b2Max(_local2, _local4); _local3 = b2Math.b2Max(_local3, _local5); return ((b2Math.b2Max(_local2, _local3) < 0)); } public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{ var _local3:Array; var _local4:int; var _local5:uint; var _local6:uint; var _local7:b2Bound; var _local8:b2Bound; var _local9:b2Bound; var _local10:uint; var _local11:b2Proxy; var _local12:uint; var _local13:b2Proxy; var _local14:b2BoundValues; var _local15:b2BoundValues; var _local16:Array; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:int; var _local22:int; var _local23:uint; var _local24:b2Proxy; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; _local12 = (2 * m_proxyCount); _local13 = m_proxyPool[_arg1]; _local14 = new b2BoundValues(); ComputeBounds(_local14.lowerValues, _local14.upperValues, _arg2); _local15 = new b2BoundValues(); _local5 = 0; while (_local5 < 2) { _local7 = m_bounds[_local5][_local13.lowerBounds[_local5]]; _local15.lowerValues[_local5] = _local7.value; _local7 = m_bounds[_local5][_local13.upperBounds[_local5]]; _local15.upperValues[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = m_bounds[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13.upperBounds[_local5]; _local19 = _local14.lowerValues[_local5]; _local20 = _local14.upperValues[_local5]; _local7 = _local16[_local17]; _local21 = (_local19 - _local7.value); _local7.value = _local19; _local7 = _local16[_local18]; _local22 = (_local20 - _local7.value); _local7.value = _local20; if (_local21 < 0){ _local6 = _local17; while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local8.proxyId]; _local8.stabbingCount++; if (_local8.IsUpper() == true){ if (TestOverlap(_local14, _local24)){ m_pairManager.AddBufferedPair(_arg1, _local23); }; _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; if (_local22 > 0){ _local6 = _local18; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount++; if (_local9.IsLower() == true){ if (TestOverlap(_local14, _local11)){ m_pairManager.AddBufferedPair(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local21 > 0){ _local6 = _local17; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount--; if (_local9.IsUpper()){ if (TestOverlap(_local15, _local11)){ m_pairManager.RemoveBufferedPair(_arg1, _local10); }; _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local22 < 0){ _local6 = _local18; while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local23]; _local8.stabbingCount--; if (_local8.IsLower() == true){ if (TestOverlap(_local15, _local24)){ m_pairManager.RemoveBufferedPair(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; _local5++; }; } public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local4:int; var _local5:int; var _local6:int; var _local7:b2Bound; _local4 = 0; _local5 = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Code.Box2D.Collision
Section 18
//b2BufferedPair (Code.Box2D.Collision.b2BufferedPair) package Code.Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Code.Box2D.Collision
Section 19
//b2Collision (Code.Box2D.Collision.b2Collision) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Collision.Shapes.*; public class b2Collision { public static const b2_nullFeature:uint = 0xFF; private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:Array; var _local9:int; var _local10:Array; var _local11:b2Mat22; var _local12:b2Vec2; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local6 = _arg1.m_vertexCount; _local7 = _arg1.m_vertices; _local8 = _arg1.m_normals; _local9 = _arg4.m_vertexCount; _local10 = _arg4.m_vertices; _local11 = _arg2.R; _local12 = _local8[_arg3]; _local13 = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); _local14 = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; _local15 = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); _local16 = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; _local20 = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local21 = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; _local22 = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local23 = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); _local24 = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local3 = _arg2.lowerBound; _local4 = _arg1.upperBound; _local5 = (_local3.x - _local4.x); _local6 = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; _local7 = (_local3.x - _local4.x); _local8 = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local7:int; var _local8:Array; var _local9:int; var _local10:Array; var _local11:Array; var _local12:b2Mat22; var _local13:b2Vec2; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:ClipVertex; var _local21:int; var _local22:int; var _local23:Number; _local7 = _arg2.m_vertexCount; _local8 = _arg2.m_normals; _local9 = _arg5.m_vertexCount; _local10 = _arg5.m_vertices; _local11 = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; _local14 = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); _local15 = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; _local16 = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; _local21 = _local17; _local22 = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local21; _local20.id.features.incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local22; _local20.id.features.incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local7:int; var _local8:Array; var _local9:Number; var _local10:int; var _local11:Array; var _local12:Number; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local15:b2XForm; var _local16:b2XForm; var _local17:int; var _local18:uint; var _local19:Number; var _local20:Number; var _local21:Array; var _local22:int; var _local23:Array; var _local24:b2Vec2; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:b2Vec2; var _local28:b2Vec2; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Array; var _local33:Array; var _local34:int; var _local35:int; var _local36:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; _local7 = 0; _local8 = [_local7]; _local9 = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; _local10 = 0; _local11 = [_local10]; _local12 = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; _local15 = new b2XForm(); _local16 = new b2XForm(); _local19 = 0.98; _local20 = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; _local21 = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); _local22 = _local13.m_vertexCount; _local23 = _local13.m_vertices; _local24 = _local23[_local17]; _local25 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; _local26 = b2Math.SubtractVV(_local37, _local25); _local27 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); _local28 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); _local29 = b2Math.b2Dot(_local28, _local25); _local30 = -(b2Math.b2Dot(_local27, _local25)); _local31 = b2Math.b2Dot(_local27, _local37); _local32 = [new ClipVertex(), new ClipVertex()]; _local33 = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.Negative(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy(); _local35 = 0; _local36 = 0; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v); _local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v); _local39.id.key = _local6.id._key; _local39.id.features.flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:b2Vec2; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:int; var _local15:Number; var _local16:int; var _local17:Number; var _local18:int; var _local19:Number; var _local20:int; var _local21:Number; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; _local6 = _arg2.m_vertexCount; _local7 = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; _local10 = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); _local11 = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.m_centroid; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); _local12 = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); _local13 = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); _local14 = 0; _local15 = -(Number.MAX_VALUE); _local16 = 0; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; _local18 = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); _local19 = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; _local20 = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; _local21 = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); if (_local21 > 0){ return (_local21); }; if ((((_local19 > _local17)) && ((_local19 > _local21)))){ _local24 = -1; _local22 = _local18; _local23 = _local19; } else { if (_local21 > _local17){ _local24 = 1; _local22 = _local20; _local23 = _local21; } else { _arg1[0] = _local14; return (_local17); }; }; while (true) { if (_local24 == -1){ _local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1); } else { _local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; if (_local17 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); _local10 = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:b2ManifoldPoint; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; _local8 = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local9 = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; _local10 = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local11 = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local12 = (_local10 - _local8); _local13 = (_local11 - _local9); _local14 = ((_local12 * _local12) + (_local13 * _local13)); _local15 = _arg2.m_radius; _local16 = _arg4.m_radius; _local17 = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; _local19 = _arg1.points[0]; _local19.id.key = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); _local20 = (0.5 * (_local8 + _local10)); _local21 = (0.5 * (_local9 + _local11)); _local22 = (_local20 - _arg3.position.x); _local23 = (_local21 - _arg3.position.y); _local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:Number; var _local20:Number; var _local21:int; var _local22:Array; var _local23:Array; var _local24:int; var _local25:int; var _local26:int; var _local27:b2Vec2; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; _local13 = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); _local14 = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; _local15 = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local16 = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local18 = 0; _local19 = -(Number.MAX_VALUE); _local20 = _arg4.m_radius; _local21 = _arg2.m_vertexCount; _local22 = _arg2.m_vertices; _local23 = _arg2.m_normals; _local24 = 0; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = b2_nullFeature; _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; _local25 = _local18; _local26 = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; _local27 = _local22[_local26]; _local28 = (_local27.x - _local11.x); _local29 = (_local27.y - _local11.y); _local30 = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local31 = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = b2_nullFeature; }; }; _local7 = (_local15 - _local32); _local8 = (_local16 - _local33); _local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local7 / _local17); _local8 = (_local8 / _local17); if (_local17 > _local20){ return; }; _arg1.pointCount = 1; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8)); _arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8)); _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; } } }//package Code.Box2D.Collision
Section 20
//b2ContactID (Code.Box2D.Collision.b2ContactID) package Code.Box2D.Collision { public class b2ContactID { public var _key:uint; public var features:Features; public function b2ContactID(){ features = new Features(); super(); features._m_id = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID; _local1 = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; features._referenceEdge = (_key & 0xFF); features._incidentEdge = (((_key & 0xFF00) >> 8) & 0xFF); features._incidentVertex = (((_key & 0xFF0000) >> 16) & 0xFF); features._flip = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Code.Box2D.Collision
Section 21
//b2ContactPoint (Code.Box2D.Collision.b2ContactPoint) package Code.Box2D.Collision { import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; public class b2ContactPoint { public var separation:Number; public var normal:b2Vec2; public var position:b2Vec2; public var restitution:Number; public var shape1:b2Shape; public var shape2:b2Shape; public var id:b2ContactID; public var friction:Number; public var velocity:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Code.Box2D.Collision
Section 22
//b2Distance (Code.Box2D.Collision.b2Distance) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Collision.Shapes.*; public class b2Distance { private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_points:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var gPoint:b2Point = new b2Point(); public static var g_GJK_Iterations:int = 0; public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local4:Number; var _local5:int; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = (100 * Number.MIN_VALUE); _local5 = 0; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:int; var _local12:Number; var _local13:int; var _local14:int; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; _local8 = s_p1s; _local9 = s_p2s; _local10 = s_points; _local11 = 0; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); _local12 = 0; _local13 = 20; _local14 = 0; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - _local21) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; g_GJK_Iterations = _local14; return (Math.sqrt(_local12)); }; switch (_local11){ case 0: _local7 = _local8[0]; _local7.SetV(_local17); _local7 = _local9[0]; _local7.SetV(_local18); _local7 = _local10[0]; _local7.x = _local19; _local7.y = _local20; _arg1.SetV(_local8[0]); _arg2.SetV(_local9[0]); _local11++; break; case 1: _local7 = _local8[1]; _local7.SetV(_local17); _local7 = _local9[1]; _local7.SetV(_local18); _local7 = _local10[1]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10); break; case 2: _local7 = _local8[2]; _local7.SetV(_local17); _local7 = _local9[2]; _local7.SetV(_local18); _local7 = _local10[2]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ g_GJK_Iterations = _local14; return (0); }; _local22 = -(Number.MAX_VALUE); _local23 = 0; while (_local23 < _local11) { _local7 = _local10[_local23]; _local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local23++; }; if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){ g_GJK_Iterations = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; g_GJK_Iterations = _local13; return (Math.sqrt(_local12)); } public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; _local9 = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local10 = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; _local11 = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local12 = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = ((_local13 * _local13) + (_local14 * _local14)); _local16 = (_arg3.m_radius - b2Settings.b2_toiSlop); _local17 = (_arg5.m_radius - b2Settings.b2_toiSlop); _local18 = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(_local15); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _local20 = (_local19 - _local18); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = (_local11 - (_local17 * _local13)); _arg2.y = (_local12 - (_local17 * _local14)); return (_local20); }; if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local19 = Math.sqrt(_local15); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); }; _arg1.x = _local9; _arg1.y = _local10; _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); } public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local14:b2Vec2; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; _local14 = _arg4[2]; _local15 = _local6.x; _local16 = _local6.y; _local17 = _local7.x; _local18 = _local7.y; _local19 = _local8.x; _local20 = _local8.y; _local21 = (_local17 - _local15); _local22 = (_local18 - _local16); _local23 = (_local19 - _local15); _local24 = (_local20 - _local16); _local25 = (_local19 - _local17); _local26 = (_local20 - _local18); _local27 = -(((_local15 * _local21) + (_local16 * _local22))); _local28 = ((_local17 * _local21) + (_local18 * _local22)); _local29 = -(((_local15 * _local23) + (_local16 * _local24))); _local30 = ((_local19 * _local23) + (_local20 * _local24)); _local31 = -(((_local17 * _local25) + (_local18 * _local26))); _local32 = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; _local33 = ((_local21 * _local24) - (_local22 * _local23)); _local34 = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); _local36 = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; _local37 = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; _local38 = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); _local39 = (_local36 * _local38); _local40 = (_local37 * _local38); _local41 = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:b2Point; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local9 = gPoint; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local10 = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); _local11 = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int; var _local8:int; _local7 = _arg3.m_type; _local8 = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } public static function ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; _local12 = -(_local7.x); _local13 = -(_local7.y); _local14 = (_local6.x - _local7.x); _local15 = (_local6.y - _local7.y); _local16 = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } } }//package Code.Box2D.Collision
Section 23
//b2Manifold (Code.Box2D.Collision.b2Manifold) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; public class b2Manifold { public var points:Array; public var pointCount:int;// = 0 public var normal:b2Vec2; public function b2Manifold(){ var _local1:int; pointCount = 0; super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:b2Manifold):void{ var _local2:int; pointCount = _arg1.pointCount; _local2 = 0; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } public function Reset():void{ var _local1:int; _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package Code.Box2D.Collision
Section 24
//b2ManifoldPoint (Code.Box2D.Collision.b2ManifoldPoint) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; public class b2ManifoldPoint { public var separation:Number; public var localPoint2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var localPoint1:b2Vec2; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } public function Set(_arg1:b2ManifoldPoint):void{ localPoint1.SetV(_arg1.localPoint1); localPoint2.SetV(_arg1.localPoint2); separation = _arg1.separation; normalImpulse = _arg1.normalImpulse; tangentImpulse = _arg1.tangentImpulse; id.key = _arg1.id.key; } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } } }//package Code.Box2D.Collision
Section 25
//b2OBB (Code.Box2D.Collision.b2OBB) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; public class b2OBB { public var R:b2Mat22; public var center:b2Vec2; public var extents:b2Vec2; public function b2OBB(){ R = new b2Mat22(); center = new b2Vec2(); extents = new b2Vec2(); super(); } } }//package Code.Box2D.Collision
Section 26
//b2Pair (Code.Box2D.Collision.b2Pair) package Code.Box2D.Collision { import Code.Box2D.Common.*; public class b2Pair { public var userData;// = null public var proxyId1:uint; public var proxyId2:uint; public var status:uint; public var next:uint; public static var e_pairFinal:uint = 4; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairRemoved:uint = 2; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public function b2Pair(){ userData = null; super(); } public function SetBuffered():void{ status = (status | e_pairBuffered); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } } }//package Code.Box2D.Collision
Section 27
//b2PairCallback (Code.Box2D.Collision.b2PairCallback) package Code.Box2D.Collision { public class b2PairCallback { public function PairRemoved(_arg1, _arg2, _arg3):void{ } public function PairAdded(_arg1, _arg2){ return (null); } } }//package Code.Box2D.Collision
Section 28
//b2PairManager (Code.Box2D.Collision.b2PairManager) package Code.Box2D.Collision { import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; public class b2PairManager { public var m_pairCount:int; public var m_pairBuffer:Array; public var m_callback:b2PairCallback; public var m_pairs:Array; public var m_pairBufferCount:int; public var m_hashTable:Array; public var m_broadPhase:b2BroadPhase; public var m_freePair:uint; public function b2PairManager(){ var _local1:uint; super(); m_hashTable = new Array(b2Pair.b2_tableCapacity); _local1 = 0; while (_local1 < b2Pair.b2_tableCapacity) { m_hashTable[_local1] = b2Pair.b2_nullPair; _local1++; }; m_pairs = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1] = new b2Pair(); _local1++; }; m_pairBuffer = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairBuffer[_local1] = new b2BufferedPair(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy; m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy; m_pairs[_local1].userData = null; m_pairs[_local1].status = 0; m_pairs[_local1].next = (_local1 + 1); _local1++; }; m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair; m_pairCount = 0; m_pairBufferCount = 0; } private function FindHash(_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint; _local5 = m_hashTable[_arg3]; _local4 = m_pairs[_local5]; while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = m_pairs[_local5]; }; if (_local5 == b2Pair.b2_nullPair){ return (null); }; return (_local4); } private function Find(_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return (FindHash(_arg1, _arg2, _local3)); } private function ValidateBuffer():void{ } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local3:int; var _local4:Array; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; _local3 = 0; _local4 = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 < m_pairBufferCount) { _local1 = m_pairBuffer[_local2]; _local5 = Find(_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){ m_callback.PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 = m_pairBuffer[_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData = m_callback.PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = m_pairBuffer[_local2]; RemovePair(_local1.proxyId1, _local1.proxyId2); _local2++; }; m_pairBufferCount = 0; if (b2BroadPhase.s_validate){ ValidateTable(); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 = Find(_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } private function RemovePair(_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local4:uint; var _local5:uint; var _local6:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; _local4 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local5 = m_hashTable[_local4]; _local6 = null; while (_local5 != b2Pair.b2_nullPair) { if (Equals(m_pairs[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = m_pairs[_local5]; if (_local6){ _local6.next = _local3.next; } else { m_hashTable[_local4] = _local3.next; }; _local3 = m_pairs[_local8]; _local9 = _local3.userData; _local3.next = m_freePair; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0; m_freePair = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1; m_callback = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 = AddPair(_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } private function AddPair(_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:b2Pair; var _local5:uint; var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local4 = FindHash(_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; _local5 = m_freePair; _local4 = m_pairs[_local5]; m_freePair = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = m_hashTable[_local3]; m_hashTable[_local3] = _local5; m_pairCount++; return (_local4); } private function ValidateTable():void{ } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint; _local3 = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } } }//package Code.Box2D.Collision
Section 29
//b2Point (Code.Box2D.Collision.b2Point) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; public class b2Point { public var p:b2Vec2; public function b2Point(){ p = new b2Vec2(); super(); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } } }//package Code.Box2D.Collision
Section 30
//b2Proxy (Code.Box2D.Collision.b2Proxy) package Code.Box2D.Collision { public class b2Proxy { public var overlapCount:uint; public var lowerBounds:Array; public var upperBounds:Array; public var userData;// = null public var timeStamp:uint; public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; userData = null; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } } }//package Code.Box2D.Collision
Section 31
//b2Segment (Code.Box2D.Collision.b2Segment) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local5 = _arg3.p1; _local6 = (_arg3.p2.x - _local5.x); _local7 = (_arg3.p2.y - _local5.y); _local8 = (p2.x - p1.x); _local9 = (p2.y - p1.y); _local10 = _local9; _local11 = -(_local8); _local12 = (100 * Number.MIN_VALUE); _local13 = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local6) * _local15) + (_local7 * _local14)); if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){ _local16 = (_local16 / _local13); _local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local18); _local11 = (_local11 / _local18); _arg1[0] = _local16; _arg2.Set(_local10, _local11); return (true); }; }; }; return (false); } } }//package Code.Box2D.Collision
Section 32
//b2TimeOfImpact (Code.Box2D.Collision.b2TimeOfImpact) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Collision.Shapes.*; public class b2TimeOfImpact { public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static var s_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:int; var _local20:int; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; _local7 = _arg1.m_sweepRadius; _local8 = _arg3.m_sweepRadius; _local9 = _arg2.t0; _local10 = (_arg2.c.x - _arg2.c0.x); _local11 = (_arg2.c.y - _arg2.c0.y); _local12 = (_arg4.c.x - _arg4.c0.x); _local13 = (_arg4.c.y - _arg4.c0.y); _local14 = (_arg2.a - _arg2.a0); _local15 = (_arg4.a - _arg4.a0); _local16 = 0; _local17 = s_p1; _local18 = s_p2; _local19 = 20; _local20 = 0; _local21 = 0; _local22 = 0; _local23 = 0; _local24 = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = s_xf1; _local27 = s_xf2; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27); if (_local20 == 0){ if (_local23 > (2 * b2Settings.b2_toiSlop)){ _local24 = (1.5 * b2Settings.b2_toiSlop); } else { _local5 = (0.05 * b2Settings.b2_toiSlop); _local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop)); _local24 = ((_local5 > _local6)) ? _local5 : _local6; }; }; if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){ break; }; _local21 = (_local18.x - _local17.x); _local22 = (_local18.y - _local17.y); _local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22))); _local21 = (_local21 / _local28); _local22 = (_local22 / _local28); _local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8)); if (_local29 == 0){ _local16 = 1; break; }; _local30 = ((_local23 - _local24) / _local29); _local31 = (_local16 + _local30); if ((((_local31 < 0)) || ((1 < _local31)))){ _local16 = 1; break; }; if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){ break; }; _local16 = _local31; _local20++; }; return (_local16); } } }//package Code.Box2D.Collision
Section 33
//ClipVertex (Code.Box2D.Collision.ClipVertex) package Code.Box2D.Collision { import Code.Box2D.Common.Math.*; public class ClipVertex { public var v:b2Vec2; public var id:b2ContactID; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Code.Box2D.Collision
Section 34
//Features (Code.Box2D.Collision.Features) package Code.Box2D.Collision { public class Features { public var _referenceEdge:int; public var _incidentEdge:int; public var _flip:int; public var _incidentVertex:int; public var _m_id:b2ContactID; public function get referenceEdge():int{ return (_referenceEdge); } public function set incidentVertex(_arg1:int):void{ _incidentVertex = _arg1; _m_id._key = ((_m_id._key & 4278255615) | ((_incidentVertex << 16) & 0xFF0000)); } public function get flip():int{ return (_flip); } public function get incidentEdge():int{ return (_incidentEdge); } public function set referenceEdge(_arg1:int):void{ _referenceEdge = _arg1; _m_id._key = ((_m_id._key & 4294967040) | (_referenceEdge & 0xFF)); } public function set flip(_arg1:int):void{ _flip = _arg1; _m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080)); } public function get incidentVertex():int{ return (_incidentVertex); } public function set incidentEdge(_arg1:int):void{ _incidentEdge = _arg1; _m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00)); } } }//package Code.Box2D.Collision
Section 35
//b2Mat22 (Code.Box2D.Common.Math.b2Mat22) package Code.Box2D.Common.Math { import Code.Box2D.Common.*; public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function Set(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.cos(_arg1); _local3 = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function Abs():void{ col1.Abs(); col2.Abs(); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = col1.x; _local3 = col2.x; _local4 = col1.y; _local5 = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = col1.x; _local5 = col2.x; _local6 = col1.y; _local7 = col2.y; _local8 = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package Code.Box2D.Common.Math
Section 36
//b2Math (Code.Box2D.Common.Math.b2Math) package Code.Box2D.Common.Math { public class b2Math { public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity); public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = b2MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:*; _local3 = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22; _local2 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; _local2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Mat22; _local3 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); _local4 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); _local5 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean; _local2 = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2NextPowerOfTwo(_arg1:uint):uint{ _arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647)); _arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823)); _arg1 = (_arg1 | ((_arg1 >> 4) & 268435455)); _arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF)); _arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF)); return ((_arg1 + 1)); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } } }//package Code.Box2D.Common.Math
Section 37
//b2Sweep (Code.Box2D.Common.Math.b2Sweep) package Code.Box2D.Common.Math { import Code.Box2D.Common.*; public class b2Sweep { public var localCenter:b2Vec2; public var c:b2Vec2; public var a:Number; public var c0:b2Vec2; public var a0:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; _local3 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } } }//package Code.Box2D.Common.Math
Section 38
//b2Vec2 (Code.Box2D.Common.Math.b2Vec2) package Code.Box2D.Common.Math { import Code.Box2D.Common.*; public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function SetZero():void{ x = 0; y = 0; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function MaxV(_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function Negative():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function CrossVF(_arg1:Number):void{ var _local2:Number; _local2 = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number; _local2 = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function MulM(_arg1:b2Mat22):void{ var _local2:Number; _local2 = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function Normalize():Number{ var _local1:Number; var _local2:Number; _local1 = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; _local2 = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function CrossFV(_arg1:Number):void{ var _local2:Number; _local2 = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Code.Box2D.Common.Math
Section 39
//b2XForm (Code.Box2D.Common.Math.b2XForm) package Code.Box2D.Common.Math { import Code.Box2D.Common.*; public class b2XForm { public var R:b2Mat22; public var position:b2Vec2; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } } }//package Code.Box2D.Common.Math
Section 40
//b2Color (Code.Box2D.Common.b2Color) package Code.Box2D.Common { import Code.Box2D.Common.Math.*; public class b2Color { private var _g:uint;// = 0 private var _b:uint;// = 0 private var _r:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _r = 0; _g = 0; _b = 0; super(); _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function get color():uint{ return (((_r | (_g << 8)) | (_b << 16))); } public function set r(_arg1:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{ _b = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{ _g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } } }//package Code.Box2D.Common
Section 41
//b2Settings (Code.Box2D.Common.b2Settings) package Code.Box2D.Common { import Code.Box2D.Common.Math.*; public class b2Settings { public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSlop:Number = ((2 / 180) * b2_pi); public static const b2_linearSlop:Number = 0.005; public static const b2_pi:Number = Math.PI; public static const b2_maxProxies:int = 0x0800; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_maxPolygonVertices:int = 8; public static const b2_velocityThreshold:Number = 1; public static const b2_contactBaumgarte:Number = 0.4; public static const b2_maxPairs:int = 16384; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_timeToSleep:Number = 0.5; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularCorrection:Number = ((8 / 180) * b2_pi); public static const USHRT_MAX:int = 0xFFFF; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_toiSlop:Number = 0.04; public static const b2_maxLinearVelocitySquared:Number = 40000; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!(_arg1)){ _local2.x++; }; } } }//package Code.Box2D.Common
Section 42
//b2CircleContact (Code.Box2D.Dynamics.Contacts.b2CircleContact) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Collision.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; public class b2CircleContact extends b2Contact { private var m_manifolds:Array; private var m0:b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint; m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return (m_manifolds); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:b2ManifoldPoint; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if (m0.pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Add(_local7); }; } else { _local4 = m0.points[0]; _local8.normalImpulse = _local4.normalImpulse; _local8.tangentImpulse = _local4.tangentImpulse; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Persist(_local7); }; }; } else { m_manifoldCount = 0; if ((((m0.pointCount > 0)) && (_arg1))){ _local4 = m0.points[0]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package Code.Box2D.Dynamics.Contacts
Section 43
//b2Contact (Code.Box2D.Dynamics.Contacts.b2Contact) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; public class b2Contact { public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_prev:b2Contact; public var m_toi:Number; public var m_next:b2Contact; public var m_friction:Number; public var m_manifoldCount:int; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_restitution:Number; public var m_flags:uint; public static var e_toiFlag:uint = 8; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var s_registers:Array; public static var s_initialized:Boolean = false; public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){ m_node1 = new b2ContactEdge(); m_node2 = new b2ContactEdge(); super(); m_flags = 0; if (((!(_arg1)) || (!(_arg2)))){ m_shape1 = null; m_shape2 = null; return; }; if (((_arg1.IsSensor()) || (_arg2.IsSensor()))){ m_flags = (m_flags | e_nonSolidFlag); }; m_shape1 = _arg1; m_shape2 = _arg2; m_manifoldCount = 0; m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction)); m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution); m_prev = null; m_next = null; m_node1.contact = null; m_node1.prev = null; m_node1.next = null; m_node1.other = null; m_node2.contact = null; m_node2.prev = null; m_node2.next = null; m_node2.other = null; } public function GetShape1():b2Shape{ return (m_shape1); } public function IsSolid():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetManifolds():Array{ return (null); } public function GetShape2():b2Shape{ return (m_shape2); } public function GetManifoldCount():int{ return (m_manifoldCount); } public function Update(_arg1:b2ContactListener):void{ var _local2:int; var _local3:int; var _local4:b2Body; var _local5:b2Body; _local2 = m_manifoldCount; Evaluate(_arg1); _local3 = m_manifoldCount; _local4 = m_shape1.m_body; _local5 = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:b2ContactListener):void{ } public static function InitializeRegisters():void{ var _local1:int; var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); _local1 = 0; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Destroy(_arg1:b2Contact, _arg2):void{ var _local3:int; var _local4:int; var _local5:b2ContactRegister; var _local6:Function; if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; _local3 = _arg1.m_shape1.m_type; _local4 = _arg1.m_shape2.m_type; _local5 = s_registers[_local3][_local4]; _local6 = _local5.destroyFcn; _local6(_arg1, _arg2); } public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ s_registers[_arg3][_arg4].createFcn = _arg1; s_registers[_arg3][_arg4].destroyFcn = _arg2; s_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ s_registers[_arg4][_arg3].createFcn = _arg1; s_registers[_arg4][_arg3].destroyFcn = _arg2; s_registers[_arg4][_arg3].primary = false; }; } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local4:int; var _local5:int; var _local6:b2ContactRegister; var _local7:Function; var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; _local4 = _arg1.m_type; _local5 = _arg2.m_type; _local6 = s_registers[_local4][_local5]; _local7 = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local10.normal = _local10.normal.Negative(); _local9++; }; return (_local8); //unresolved jump }; return (null); } } }//package Code.Box2D.Dynamics.Contacts
Section 44
//b2ContactConstraint (Code.Box2D.Dynamics.Contacts.b2ContactConstraint) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Common.Math.*; import Code.Box2D.Collision.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var restitution:Number; public var body1:b2Body; public var manifold:b2Manifold; public var normal:b2Vec2; public var body2:b2Body; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ var _local1:int; normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Code.Box2D.Dynamics.Contacts
Section 45
//b2ContactConstraintPoint (Code.Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var equalizedMass:Number; public var tangentMass:Number; public var tangentImpulse:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var normalMass:Number; public var velocityBias:Number; public var r1:b2Vec2; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Code.Box2D.Dynamics.Contacts
Section 46
//b2ContactEdge (Code.Box2D.Dynamics.Contacts.b2ContactEdge) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Dynamics.*; public class b2ContactEdge { public var next:b2ContactEdge; public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; } }//package Code.Box2D.Dynamics.Contacts
Section 47
//b2ContactRegister (Code.Box2D.Dynamics.Contacts.b2ContactRegister) package Code.Box2D.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package Code.Box2D.Dynamics.Contacts
Section 48
//b2ContactResult (Code.Box2D.Dynamics.Contacts.b2ContactResult) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; public class b2ContactResult { public var normal:b2Vec2; public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Code.Box2D.Dynamics.Contacts
Section 49
//b2ContactSolver (Code.Box2D.Dynamics.Contacts.b2ContactSolver) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; public class b2ContactSolver { public var m_constraintCount:int; public var m_constraints:Array; public var m_allocator; public var m_step:b2TimeStep; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local9:int; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Array; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:b2Manifold; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:b2ManifoldPoint; var _local29:b2ContactConstraintPoint; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number; m_step = new b2TimeStep(); m_constraints = new Array(); super(); m_step.dt = _arg1.dt; m_step.inv_dt = _arg1.inv_dt; m_step.maxIterations = _arg1.maxIterations; m_allocator = _arg4; m_constraintCount = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; m_constraintCount = (m_constraintCount + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 < m_constraintCount) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; _local9 = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10.m_linearVelocity.x; _local17 = _local10.m_linearVelocity.y; _local18 = _local11.m_linearVelocity.x; _local19 = _local11.m_linearVelocity.y; _local20 = _local10.m_angularVelocity; _local21 = _local11.m_angularVelocity; _local22 = 0; while (_local22 < _local12) { _local23 = _local13[_local22]; _local24 = _local23.normal.x; _local25 = _local23.normal.y; _local26 = m_constraints[_local9]; _local26.body1 = _local10; _local26.body2 = _local11; _local26.manifold = _local23; _local26.normal.x = _local24; _local26.normal.y = _local25; _local26.pointCount = _local23.pointCount; _local26.friction = _local14; _local26.restitution = _local15; _local27 = 0; while (_local27 < _local26.pointCount) { _local28 = _local23.points[_local27]; _local29 = _local26.points[_local27]; _local29.normalImpulse = _local28.normalImpulse; _local29.tangentImpulse = _local28.tangentImpulse; _local29.separation = _local28.separation; _local29.positionImpulse = 0; _local29.localAnchor1.SetV(_local28.localPoint1); _local29.localAnchor2.SetV(_local28.localPoint2); _local8 = _local10.m_xf.R; _local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x); _local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33)); _local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33)); _local32 = _local30; _local29.r1.Set(_local32, _local33); _local8 = _local11.m_xf.R; _local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x); _local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35)); _local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35)); _local34 = _local30; _local29.r2.Set(_local34, _local35); _local36 = ((_local32 * _local32) + (_local33 * _local33)); _local37 = ((_local34 * _local34) + (_local35 * _local35)); _local38 = ((_local32 * _local24) + (_local33 * _local25)); _local39 = ((_local34 * _local24) + (_local35 * _local25)); _local40 = (_local10.m_invMass + _local11.m_invMass); _local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass)); _local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10.m_invMass + _local11.m_invMass); _local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45))))); _local29.tangentMass = (1 / _local46); _local29.velocityBias = 0; if (_local29.separation > 0){ _local29.velocityBias = (-60 * _local29.separation); }; _local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33)); _local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32)); _local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47)); }; _local27++; }; _local9++; _local22++; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; _local5 = 0; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_invMass; _local10 = _local7.m_invI; _local11 = _local8.m_invMass; _local12 = _local8.m_invI; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1.warmStarting){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local20.normalImpulse = (_local20.normalImpulse * _arg1.dtRatio); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio); _local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15)); _local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16)); _local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21)))); _local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21)); _local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; _local2 = 0; _local5 = 0; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_sweep.c; _local10 = _local7.m_sweep.a; _local11 = _local8.m_sweep.c; _local12 = _local8.m_sweep.a; _local13 = (_local7.m_mass * _local7.m_invMass); _local14 = (_local7.m_mass * _local7.m_invI); _local15 = (_local8.m_mass * _local8.m_invMass); _local16 = (_local8.m_mass * _local8.m_invI); _local17 = _local6.normal.x; _local18 = _local6.normal.y; _local19 = _local6.pointCount; _local20 = 0; while (_local20 < _local19) { _local21 = _local6.points[_local20]; _local3 = _local7.m_xf.R; _local4 = _local7.m_sweep.localCenter; _local22 = (_local21.localAnchor1.x - _local4.x); _local23 = (_local21.localAnchor1.y - _local4.y); _local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23)); _local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23)); _local22 = _local26; _local3 = _local8.m_xf.R; _local4 = _local8.m_sweep.localCenter; _local24 = (_local21.localAnchor2.x - _local4.x); _local25 = (_local21.localAnchor2.y - _local4.y); _local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25)); _local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25)); _local24 = _local26; _local27 = (_local9.x + _local22); _local28 = (_local9.y + _local23); _local29 = (_local11.x + _local24); _local30 = (_local11.y + _local25); _local31 = (_local29 - _local27); _local32 = (_local30 - _local28); _local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation); _local2 = b2Math.b2Min(_local2, _local33); _local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0)); _local35 = (-(_local21.equalizedMass) * _local34); _local36 = _local21.positionImpulse; _local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0); _local35 = (_local21.positionImpulse - _local36); _local37 = (_local35 * _local17); _local38 = (_local35 * _local18); _local9.x = (_local9.x - (_local13 * _local37)); _local9.y = (_local9.y - (_local13 * _local38)); _local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37)))); _local7.m_sweep.a = _local10; _local7.SynchronizeTransform(); _local11.x = (_local11.x + (_local15 * _local37)); _local11.y = (_local11.y + (_local15 * _local38)); _local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37)))); _local8.m_sweep.a = _local12; _local8.SynchronizeTransform(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Mat22; var _local18:b2Vec2; var _local19:int; var _local20:b2ContactConstraint; var _local21:b2Body; var _local22:b2Body; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:int; var _local38:Number; _local19 = 0; while (_local19 < m_constraintCount) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21.m_linearVelocity; _local26 = _local22.m_linearVelocity; _local27 = _local21.m_invMass; _local28 = _local21.m_invI; _local29 = _local22.m_invMass; _local30 = _local22.m_invI; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; _local1 = 0; while (_local1 < m_constraintCount) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.points[_local4]; _local6 = _local2.points[_local4]; _local5.normalImpulse = _local6.normalImpulse; _local5.tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } } }//package Code.Box2D.Dynamics.Contacts
Section 50
//b2NullContact (Code.Box2D.Dynamics.Contacts.b2NullContact) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function GetManifolds():Array{ return (null); } override public function Evaluate(_arg1:b2ContactListener):void{ } } }//package Code.Box2D.Dynamics.Contacts
Section 51
//b2PolyAndCircleContact (Code.Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Collision.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; public class b2PolyAndCircleContact extends b2Contact { private var m_manifolds:Array; private var m0:b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint; m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return (m_manifolds); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local6:b2Body; var _local7:b2Body; var _local8:Array; var _local9:b2ContactPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local6 = m_shape1.m_body; _local7 = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); _local8 = [false, false]; _local9 = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local8[_local13] == true){ } else { _local5 = m0.points[_local13]; if (_local5.id._key == _local12){ _local8[_local13] = true; _local10.normalImpulse = _local5.normalImpulse; _local10.tangentImpulse = _local5.tangentImpulse; _local11 = true; if (_arg1 != null){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Persist(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Add(_local9); }; _local2++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local2 = 0; while (_local2 < m0.pointCount) { if (_local8[_local2]){ } else { _local5 = m0.points[_local2]; _local9.position = _local6.GetWorldPoint(_local5.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m0.normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package Code.Box2D.Dynamics.Contacts
Section 52
//b2PolygonContact (Code.Box2D.Dynamics.Contacts.b2PolygonContact) package Code.Box2D.Dynamics.Contacts { import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Collision.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; public class b2PolygonContact extends b2Contact { private var m_manifolds:Array; private var m0:b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{ m0 = new b2Manifold(); m_manifolds = [new b2Manifold()]; super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; } override public function GetManifolds():Array{ return (m_manifolds); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:int; var _local9:Array; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); _local9 = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local9[_local13] == true){ } else { _local4 = m0.points[_local13]; if (_local4.id._key == _local12){ _local9[_local13] = true; _local10.normalImpulse = _local4.normalImpulse; _local10.tangentImpulse = _local4.tangentImpulse; _local11 = true; if (_arg1 != null){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Persist(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Add(_local7); }; _local8++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local8 = 0; while (_local8 < m0.pointCount) { if (_local9[_local8]){ } else { _local4 = m0.points[_local8]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package Code.Box2D.Dynamics.Contacts
Section 53
//b2DistanceJoint (Code.Box2D.Dynamics.Joints.b2DistanceJoint) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.*; public class b2DistanceJoint extends b2Joint { public var m_mass:Number; public var m_u:b2Vec2; public var m_impulse:Number; public var m_dampingRatio:Number; public var m_frequencyHz:Number; public var m_localAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_bias:Number; public var m_gamma:Number; public var m_length:Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_length = _arg1.length; m_frequencyHz = _arg1.frequencyHz; m_dampingRatio = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0; m_bias = 0; m_inv_dt = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2(); _local1.SetV(m_u); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; if (m_frequencyHz > 0){ return (true); }; _local2 = m_body1; _local3 = m_body2; _local1 = _local2.m_xf.R; _local4 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; _local7 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; _local9 = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); _local10 = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); _local11 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); _local12 = (_local11 - m_length); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local13 = (-(m_mass) * _local12); m_u.Set(_local9, _local10); _local14 = (_local13 * m_u.x); _local15 = (_local13 * m_u.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1.inv_dt; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3; m_u.x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); m_u.y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); _local10 = Math.sqrt(((m_u.x * m_u.x) + (m_u.y * m_u.y))); if (_local10 > b2Settings.b2_linearSlop){ m_u.Multiply((1 / _local10)); } else { m_u.SetZero(); }; _local11 = ((_local6 * m_u.y) - (_local7 * m_u.x)); _local12 = ((_local8 * m_u.y) - (_local9 * m_u.x)); _local13 = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if (m_frequencyHz > 0){ _local14 = (_local10 - m_length); _local15 = ((2 * Math.PI) * m_frequencyHz); _local16 = (((2 * m_mass) * m_dampingRatio) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17)))); m_bias = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * m_u.x); _local19 = (m_impulse * m_u.y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function GetReactionTorque():Number{ return (0); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local3 = m_body1; _local4 = m_body2; _local2 = _local3.m_xf.R; _local5 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; _local8 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; _local10 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); _local11 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); _local12 = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); _local13 = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); _local14 = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); _local15 = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); _local16 = (_local15 * m_u.x); _local17 = (_local15 * m_u.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } } }//package Code.Box2D.Dynamics.Joints
Section 54
//b2DistanceJointDef (Code.Box2D.Dynamics.Joints.b2DistanceJointDef) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var length:Number; public var dampingRatio:Number; public var frequencyHz:Number; public var localAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ var _local5:Number; var _local6:Number; body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); _local5 = (_arg4.x - _arg3.x); _local6 = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Code.Box2D.Dynamics.Joints
Section 55
//b2GearJoint (Code.Box2D.Dynamics.Joints.b2GearJoint) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.*; public class b2GearJoint extends b2Joint { public var m_force:Number; public var m_mass:Number; public var m_prismatic1:b2PrismaticJoint; public var m_prismatic2:b2PrismaticJoint; public var m_ground1:b2Body; public var m_ground2:b2Body; public var m_constant:Number; public var m_revolute1:b2RevoluteJoint; public var m_revolute2:b2RevoluteJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_ratio:Number; public var m_J:b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_J = new b2Jacobian(); super(_arg1); _local2 = _arg1.joint1.m_type; _local3 = _arg1.joint2.m_type; m_revolute1 = null; m_prismatic1 = null; m_revolute2 = null; m_prismatic2 = null; m_ground1 = _arg1.joint1.m_body1; m_body1 = _arg1.joint1.m_body2; if (_local2 == b2Joint.e_revoluteJoint){ m_revolute1 = (_arg1.joint1 as b2RevoluteJoint); m_groundAnchor1.SetV(m_revolute1.m_localAnchor1); m_localAnchor1.SetV(m_revolute1.m_localAnchor2); _local4 = m_revolute1.GetJointAngle(); } else { m_prismatic1 = (_arg1.joint1 as b2PrismaticJoint); m_groundAnchor1.SetV(m_prismatic1.m_localAnchor1); m_localAnchor1.SetV(m_prismatic1.m_localAnchor2); _local4 = m_prismatic1.GetJointTranslation(); }; m_ground2 = _arg1.joint2.m_body1; m_body2 = _arg1.joint2.m_body2; if (_local3 == b2Joint.e_revoluteJoint){ m_revolute2 = (_arg1.joint2 as b2RevoluteJoint); m_groundAnchor2.SetV(m_revolute2.m_localAnchor1); m_localAnchor2.SetV(m_revolute2.m_localAnchor2); _local5 = m_revolute2.GetJointAngle(); } else { m_prismatic2 = (_arg1.joint2 as b2PrismaticJoint); m_groundAnchor2.SetV(m_prismatic2.m_localAnchor1); m_localAnchor2.SetV(m_prismatic2.m_localAnchor2); _local5 = m_prismatic2.GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_force = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local1 = 0; _local2 = m_body1; _local3 = m_body2; if (m_revolute1){ _local4 = m_revolute1.GetJointAngle(); } else { _local4 = m_prismatic1.GetJointTranslation(); }; if (m_revolute2){ _local5 = m_revolute2.GetJointAngle(); } else { _local5 = m_prismatic2.GetJointTranslation(); }; _local6 = (m_constant - (_local4 + (m_ratio * _local5))); _local7 = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * m_J.linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * m_J.linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * m_J.angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * m_J.linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * m_J.linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * m_J.angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; _local2 = m_ground1; _local3 = m_ground2; _local4 = m_body1; _local5 = m_body2; _local14 = 0; m_J.SetZero(); if (m_revolute1){ m_J.angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 = m_prismatic1.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear1.Set(-(_local6), -(_local7)); m_J.angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (m_revolute2){ m_J.angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 = m_prismatic2.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); m_J.angular2 = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1.warmStarting){ _local15 = (_arg1.dt * m_force); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) * m_J.linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * m_J.linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * m_J.angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * m_J.linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * m_J.linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * m_J.angular2)); } else { m_force = 0; }; } override public function GetReactionTorque():Number{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = m_body2.m_xf.R; _local2 = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); _local3 = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); _local4 = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * m_J.angular2) - ((_local2 * (m_force * m_J.linear2.y)) - (_local3 * (m_force * m_J.linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = m_body1; _local3 = m_body2; _local4 = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local5 = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); _local6 = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * m_J.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * m_J.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * m_J.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * m_J.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * m_J.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * m_J.angular2)); } } }//package Code.Box2D.Dynamics.Joints
Section 56
//b2GearJointDef (Code.Box2D.Dynamics.Joints.b2GearJointDef) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; public class b2GearJointDef extends b2JointDef { public var joint2:b2Joint; public var joint1:b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint; joint1 = null; joint2 = null; ratio = 1; } } }//package Code.Box2D.Dynamics.Joints
Section 57
//b2Jacobian (Code.Box2D.Dynamics.Joints.b2Jacobian) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var linear2:b2Vec2; public var angular2:Number; public var angular1:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4))); } } }//package Code.Box2D.Dynamics.Joints
Section 58
//b2Joint (Code.Box2D.Dynamics.Joints.b2Joint) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.*; public class b2Joint { public var m_islandFlag:Boolean; public var m_body1:b2Body; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_type:int; public var m_collideConnected:Boolean; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_inv_dt:Number; public var m_userData; public var m_body2:b2Body; public static const e_unknownJoint:int = 0; public static const e_inactiveLimit:int = 0; public static const e_atUpperLimit:int = 2; public static const e_atLowerLimit:int = 1; public static const e_gearJoint:int = 6; public static const e_revoluteJoint:int = 1; public static const e_equalLimits:int = 3; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_prismaticJoint:int = 2; public static const e_mouseJoint:int = 5; public function b2Joint(_arg1:b2JointDef){ m_node1 = new b2JointEdge(); m_node2 = new b2JointEdge(); super(); m_type = _arg1.type; m_prev = null; m_next = null; m_body1 = _arg1.body1; m_body2 = _arg1.body2; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function GetType():int{ return (m_type); } public function GetBody2():b2Body{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetReactionTorque():Number{ return (0); } public function GetUserData(){ return (m_userData); } public function GetReactionForce():b2Vec2{ return (null); } public function SolvePositionConstraints():Boolean{ return (false); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetBody1():b2Body{ return (m_body1); } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public static function Destroy(_arg1:b2Joint, _arg2):void{ } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; _local3 = null; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } } }//package Code.Box2D.Dynamics.Joints
Section 59
//b2JointDef (Code.Box2D.Dynamics.Joints.b2JointDef) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; public class b2JointDef { public var collideConnected:Boolean; public var body1:b2Body; public var body2:b2Body; public var userData; public var type:int; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Code.Box2D.Dynamics.Joints
Section 60
//b2JointEdge (Code.Box2D.Dynamics.Joints.b2JointEdge) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Dynamics.*; public class b2JointEdge { public var joint:b2Joint; public var other:b2Body; public var next:b2JointEdge; public var prev:b2JointEdge; } }//package Code.Box2D.Dynamics.Joints
Section 61
//b2MouseJoint (Code.Box2D.Dynamics.Joints.b2MouseJoint) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.*; public class b2MouseJoint extends b2Joint { public var m_beta:Number; public var m_mass:b2Mat22; public var m_target:b2Vec2; public var m_impulse:b2Vec2; public var m_localAnchor:b2Vec2; private var K1:b2Mat22; private var K2:b2Mat22; private var K:b2Mat22; public var m_gamma:Number; public var m_C:b2Vec2; public var m_maxForce:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local2:Number; var _local3:Number; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); m_localAnchor = new b2Vec2(); m_target = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22(); m_C = new b2Vec2(); super(_arg1); m_target.SetV(_arg1.target); _local2 = (m_target.x - m_body2.m_xf.position.x); _local3 = (m_target.y - m_body2.m_xf.position.y); _local4 = m_body2.m_xf.R; m_localAnchor.x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y)); m_localAnchor.y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y)); m_maxForce = _arg1.maxForce; m_impulse.SetZero(); _local5 = m_body2.m_mass; _local6 = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); _local7 = (((2 * _local5) * _arg1.dampingRatio) * _local6); _local8 = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); m_beta = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return (m_target); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor)); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2.m_invMass; _local8 = _local2.m_invI; K1.col1.x = _local7; K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = _local7; K2.col1.x = ((_local8 * _local5) * _local5); K2.col2.x = ((-(_local8) * _local4) * _local5); K2.col1.y = ((-(_local8) * _local4) * _local5); K2.col2.y = ((_local8 * _local4) * _local4); K.SetM(K1); K.AddM(K2); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.Invert(m_mass); m_C.x = ((_local2.m_sweep.c.x + _local4) - m_target.x); m_C.y = ((_local2.m_sweep.c.y + _local5) - m_target.y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); _local9 = (_arg1.dt * m_impulse.x); _local10 = (_arg1.dt * m_impulse.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function GetReactionTorque():Number{ return (0); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; m_target = _arg1; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local6 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; _local8 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); _local9 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + ((m_beta * _arg1.inv_dt) * m_C.x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + ((m_beta * _arg1.inv_dt) * m_C.y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); _local10 = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); _local11 = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); _local12 = m_impulse.x; _local13 = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); _local14 = m_impulse.Length(); if (_local14 > m_maxForce){ m_impulse.Multiply((m_maxForce / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); _local15 = (_arg1.dt * _local10); _local16 = (_arg1.dt * _local11); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); } } }//package Code.Box2D.Dynamics.Joints
Section 62
//b2MouseJointDef (Code.Box2D.Dynamics.Joints.b2MouseJointDef) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var frequencyHz:Number; public var dampingRatio:Number; public var maxForce:Number; public var target:b2Vec2; public var timeStep:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package Code.Box2D.Dynamics.Joints
Section 63
//b2PrismaticJoint (Code.Box2D.Dynamics.Joints.b2PrismaticJoint) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; public class b2PrismaticJoint extends b2Joint { public var m_limitForce:Number; public var m_refAngle:Number; public var m_lowerTranslation:Number; public var m_localXAxis1:b2Vec2; public var m_torque:Number; public var m_enableLimit:Boolean; public var m_motorForce:Number; public var m_force:Number; public var m_localYAxis1:b2Vec2; public var m_motorMass:Number; public var m_maxMotorForce:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_angularMass:Number; public var m_limitState:int; public var m_linearMass:Number; public var m_upperTranslation:Number; public var m_motorJacobian:b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var m_linearJacobian:b2Jacobian; public var m_enableMotor:Boolean; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); m_localYAxis1 = new b2Vec2(); m_linearJacobian = new b2Jacobian(); m_motorJacobian = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1.localAxis1); m_localYAxis1.x = -(m_localXAxis1.y); m_localYAxis1.y = m_localXAxis1.x; m_refAngle = _arg1.referenceAngle; m_linearJacobian.SetZero(); m_linearMass = 0; m_force = 0; m_angularMass = 0; m_torque = 0; m_motorJacobian.SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerTranslation = _arg1.lowerTranslation; m_upperTranslation = _arg1.upperTranslation; m_maxMotorForce = _arg1.maxMotorForce; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function GetJointTranslation():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:b2Vec2; var _local9:Number; _local1 = m_body1; _local2 = m_body2; _local4 = _local1.GetWorldPoint(m_localAnchor1); _local5 = _local2.GetWorldPoint(m_localAnchor2); _local6 = (_local5.x - _local4.x); _local7 = (_local5.y - _local4.y); _local8 = _local1.GetWorldVector(m_localXAxis1); _local9 = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.m_xf.R; _local2 = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); _local3 = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); _local4 = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y))); _local5 = (m_force * ((_local1.col1.y * m_localYAxis1.x) + (_local1.col2.y * m_localYAxis1.y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; _local3 = m_body1; _local4 = m_body2; _local5 = _local3.m_invMass; _local6 = _local4.m_invMass; _local7 = _local3.m_invI; _local8 = _local4.m_invI; _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local21 = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y)); _local22 = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y)); _local23 = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local24 = (-(m_linearMass) * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * m_linearJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * m_linearJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * m_linearJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * m_linearJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * m_linearJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * m_linearJacobian.angular2)); _local25 = b2Math.b2Abs(_local23); _local26 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local27 = (-(m_angularMass) * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local28 = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 - m_lowerTranslation); _local25 = b2Math.b2Max(_local25, -(_local1)); _local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); } else { if (m_limitState == e_atUpperLimit){ _local1 = (_local31 - m_upperTranslation); _local25 = b2Math.b2Max(_local25, _local1); _local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); }; }; }; _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * m_motorJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * m_motorJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * m_motorJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * m_motorJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * m_motorJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * m_motorJacobian.angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2Vec2; var _local18:Number; var _local19:Number; var _local20:Number; _local1 = m_body1; _local2 = m_body2; _local3 = _local1.m_xf.R; _local4 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; _local7 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; _local9 = (_local1.m_sweep.c.x + _local4); _local10 = (_local1.m_sweep.c.y + _local5); _local11 = (_local2.m_sweep.c.x + _local7); _local12 = (_local2.m_sweep.c.y + _local8); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = _local1.GetWorldVector(m_localXAxis1); _local16 = _local1.m_linearVelocity; _local17 = _local2.m_linearVelocity; _local18 = _local1.m_angularVelocity; _local19 = _local2.m_angularVelocity; _local20 = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; _local4 = _local2.m_xf.R; _local14 = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y)); _local15 = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y)); _local16 = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); _local17 = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); m_linearJacobian.linear1.x = -(_local14); m_linearJacobian.linear1.y = -(_local15); m_linearJacobian.linear2.x = _local14; m_linearJacobian.linear2.y = _local15; m_linearJacobian.angular1 = -(((_local16 * _local15) - (_local17 * _local14))); m_linearJacobian.angular2 = ((_local8 * _local15) - (_local9 * _local14)); m_linearMass = (((_local10 + ((_local12 * m_linearJacobian.angular1) * m_linearJacobian.angular1)) + _local11) + ((_local13 * m_linearJacobian.angular2) * m_linearJacobian.angular2)); m_linearMass = (1 / m_linearMass); m_angularMass = (_local12 + _local13); if (m_angularMass > Number.MIN_VALUE){ m_angularMass = (1 / m_angularMass); }; if (((m_enableLimit) || (m_enableMotor))){ _local4 = _local2.m_xf.R; _local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y)); _local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y)); m_motorJacobian.linear1.x = -(_local18); m_motorJacobian.linear1.y = -(_local19); m_motorJacobian.linear2.x = _local18; m_motorJacobian.linear2.y = _local19; m_motorJacobian.angular1 = -(((_local16 * _local19) - (_local17 * _local18))); m_motorJacobian.angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 * m_motorJacobian.angular1) * m_motorJacobian.angular1)) + _local11) + ((_local13 * m_motorJacobian.angular2) * m_motorJacobian.angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <= m_lowerTranslation){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >= m_upperTranslation){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; }; }; if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit == false){ m_limitForce = 0; }; if (_arg1.warmStarting){ _local23 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.x))); _local24 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.y))); _local25 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.x))); _local26 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.y))); _local27 = (_arg1.dt * (((m_force * m_linearJacobian.angular1) - m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular1))); _local28 = (_arg1.dt * (((m_force * m_linearJacobian.angular2) + m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular2))); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28)); } else { m_force = 0; m_torque = 0; m_limitForce = 0; m_motorForce = 0; }; m_limitPositionImpulse = 0; } public function GetMotorForce():Number{ return (m_motorForce); } public function SetMaxMotorForce(_arg1:Number):void{ m_maxMotorForce = _arg1; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_invMass; _local5 = _local3.m_invMass; _local6 = _local2.m_invI; _local7 = _local3.m_invI; _local9 = m_linearJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local10 = ((-(_arg1.inv_dt) * m_linearMass) * _local9); m_force = (m_force + _local10); _local11 = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_linearJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_linearJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_linearJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_linearJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_linearJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_linearJacobian.angular2)); _local12 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local13 = ((-(_arg1.inv_dt) * m_angularMass) * _local12); m_torque = (m_torque + _local13); _local14 = (_arg1.dt * _local13); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14)); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local15 = (m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -(m_maxMotorForce), m_maxMotorForce); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local19); } else { if (m_limitState == e_atLowerLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); } else { if (m_limitState == e_atUpperLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); }; }; }; _local11 = (_arg1.dt * _local19); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; } } }//package Code.Box2D.Dynamics.Joints
Section 64
//b2PrismaticJointDef (Code.Box2D.Dynamics.Joints.b2PrismaticJointDef) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var localAxis1:b2Vec2; public var referenceAngle:Number; public var maxMotorForce:Number; public var motorSpeed:Number; public var upperTranslation:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public var lowerTranslation:Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); localAxis1 = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint; localAxis1.Set(1, 0); referenceAngle = 0; enableLimit = false; lowerTranslation = 0; upperTranslation = 0; enableMotor = false; maxMotorForce = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); localAxis1 = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Code.Box2D.Dynamics.Joints
Section 65
//b2PulleyJoint (Code.Box2D.Dynamics.Joints.b2PulleyJoint) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.*; public class b2PulleyJoint extends b2Joint { public var m_ground:b2Body; public var m_maxLength2:Number; public var m_limitForce1:Number; public var m_maxLength1:Number; public var m_limitState1:int; public var m_limitState2:int; public var m_limitPositionImpulse2:Number; public var m_force:Number; public var m_limitPositionImpulse1:Number; public var m_constant:Number; public var m_state:int; public var m_ratio:Number; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_positionImpulse:Number; public var m_limitMass2:Number; public var m_limitMass1:Number; public var m_pulleyMass:Number; public var m_u1:b2Vec2; public var m_u2:b2Vec2; public var m_limitForce2:Number; public static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u1 = new b2Vec2(); m_u2 = new b2Vec2(); super(_arg1); m_ground = m_body1.m_world.m_groundBody; m_groundAnchor1.x = (_arg1.groundAnchor1.x - m_ground.m_xf.position.x); m_groundAnchor1.y = (_arg1.groundAnchor1.y - m_ground.m_xf.position.y); m_groundAnchor2.x = (_arg1.groundAnchor2.x - m_ground.m_xf.position.x); m_groundAnchor2.y = (_arg1.groundAnchor2.y - m_ground.m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1.length1 + (m_ratio * _arg1.length2)); m_maxLength1 = b2Math.b2Min(_arg1.maxLength1, (m_constant - (m_ratio * b2_minPulleyLength))); m_maxLength2 = b2Math.b2Min(_arg1.maxLength2, ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2; _local1 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = m_u2.Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local1 = m_body1; _local2 = m_body2; _local4 = (m_ground.m_xf.position.x + m_groundAnchor1.x); _local5 = (m_ground.m_xf.position.y + m_groundAnchor1.y); _local6 = (m_ground.m_xf.position.x + m_groundAnchor2.x); _local7 = (m_ground.m_xf.position.y + m_groundAnchor2.y); _local23 = 0; if (m_state == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u1.Set((_local12 - _local4), (_local13 - _local5)); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local16 = m_u1.Length(); _local17 = m_u2.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local16)); } else { m_u1.SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local17)); } else { m_u2.SetZero(); }; _local18 = ((m_constant - _local16) - (m_ratio * _local17)); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_pulleyMass) * _local18); _local20 = m_positionImpulse; m_positionImpulse = b2Math.b2Max(0, (m_positionImpulse + _local19)); _local19 = (m_positionImpulse - _local20); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local14 = ((-(m_ratio) * _local19) * m_u2.x); _local15 = ((-(m_ratio) * _local19) * m_u2.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local1.SynchronizeTransform(); _local2.SynchronizeTransform(); }; if (m_limitState1 == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); m_u1.Set((_local12 - _local4), (_local13 - _local5)); _local16 = m_u1.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.x = (m_u1.x * (1 / _local16)); m_u1.y = (m_u1.y * (1 / _local16)); } else { m_u1.SetZero(); }; _local18 = (m_maxLength1 - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass1) * _local18); _local21 = m_limitPositionImpulse1; m_limitPositionImpulse1 = b2Math.b2Max(0, (m_limitPositionImpulse1 + _local19)); _local19 = (m_limitPositionImpulse1 - _local21); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local1.SynchronizeTransform(); }; if (m_limitState2 == e_atUpperLimit){ _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local17 = m_u2.Length(); if (_local17 > b2Settings.b2_linearSlop){ m_u2.x = (m_u2.x * (1 / _local17)); m_u2.y = (m_u2.y * (1 / _local17)); } else { m_u2.SetZero(); }; _local18 = (m_maxLength2 - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass2) * _local18); _local21 = m_limitPositionImpulse2; m_limitPositionImpulse2 = b2Math.b2Max(0, (m_limitPositionImpulse2 + _local19)); _local19 = (m_limitPositionImpulse2 - _local21); _local14 = (-(_local19) * m_u2.x); _local15 = (-(_local19) * m_u2.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local2.SynchronizeTransform(); }; return ((_local23 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; _local10 = (_local2.m_sweep.c.x + _local5); _local11 = (_local2.m_sweep.c.y + _local6); _local12 = (_local3.m_sweep.c.x + _local8); _local13 = (_local3.m_sweep.c.y + _local9); _local14 = (m_ground.m_xf.position.x + m_groundAnchor1.x); _local15 = (m_ground.m_xf.position.y + m_groundAnchor1.y); _local16 = (m_ground.m_xf.position.x + m_groundAnchor2.x); _local17 = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); _local18 = m_u1.Length(); _local19 = m_u2.Length(); if (_local18 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local18)); } else { m_u1.SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local19)); } else { m_u2.SetZero(); }; _local20 = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){ m_state = e_inactiveLimit; m_force = 0; } else { m_state = e_atUpperLimit; m_positionImpulse = 0; }; if (_local18 < m_maxLength1){ m_limitState1 = e_inactiveLimit; m_limitForce1 = 0; } else { m_limitState1 = e_atUpperLimit; m_limitPositionImpulse1 = 0; }; if (_local19 < m_maxLength2){ m_limitState2 = e_inactiveLimit; m_limitForce2 = 0; } else { m_limitState2 = e_atUpperLimit; m_limitPositionImpulse2 = 0; }; _local21 = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); _local22 = ((_local8 * m_u2.y) - (_local9 * m_u2.x)); m_limitMass1 = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21)); m_limitMass2 = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22)); m_pulleyMass = (m_limitMass1 + ((m_ratio * m_ratio) * m_limitMass2)); m_limitMass1 = (1 / m_limitMass1); m_limitMass2 = (1 / m_limitMass2); m_pulleyMass = (1 / m_pulleyMass); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.x); _local24 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; }; } override public function GetReactionTorque():Number{ return (0); } public function GetRatio():Number{ return (m_ratio); } public function GetLength2():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body2.GetWorldPoint(m_localAnchor2); _local2 = (m_ground.m_xf.position.x + m_groundAnchor2.x); _local3 = (m_ground.m_xf.position.y + m_groundAnchor2.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if (m_state == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((m_u1.x * _local10) + (m_u1.y * _local11))) - (m_ratio * ((m_u2.x * _local12) + (m_u2.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * m_pulleyMass) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if (m_limitState1 == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11))); _local19 = ((-(_arg1.inv_dt) * m_limitMass1) * _local18); _local20 = m_limitForce1; m_limitForce1 = b2Math.b2Max(0, (m_limitForce1 + _local19)); _local19 = (m_limitForce1 - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if (m_limitState2 == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13))); _local19 = ((-(_arg1.inv_dt) * m_limitMass2) * _local18); _local20 = m_limitForce2; m_limitForce2 = b2Math.b2Max(0, (m_limitForce2 + _local19)); _local19 = (m_limitForce2 - _local20); _local16 = ((-(_arg1.dt) * _local19) * m_u2.x); _local17 = ((-(_arg1.dt) * _local19) * m_u2.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } public function GetLength1():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.GetWorldPoint(m_localAnchor1); _local2 = (m_ground.m_xf.position.x + m_groundAnchor1.x); _local3 = (m_ground.m_xf.position.y + m_groundAnchor1.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2; _local1 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } } }//package Code.Box2D.Dynamics.Joints
Section 66
//b2PulleyJointDef (Code.Box2D.Dynamics.Joints.b2PulleyJointDef) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var maxLength2:Number; public var length1:Number; public var length2:Number; public var maxLength1:Number; public var ratio:Number; public var groundAnchor1:b2Vec2; public var groundAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public function b2PulleyJointDef(){ groundAnchor1 = new b2Vec2(); groundAnchor2 = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; groundAnchor1.Set(-1, 1); groundAnchor2.Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0); length1 = 0; maxLength1 = 0; length2 = 0; maxLength2 = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; body1 = _arg1; body2 = _arg2; groundAnchor1.SetV(_arg3); groundAnchor2.SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); _local8 = (_arg5.x - _arg3.x); _local9 = (_arg5.y - _arg3.y); length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local10 = (_arg6.x - _arg4.x); _local11 = (_arg6.y - _arg4.y); length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; _local12 = (length1 + (ratio * length2)); maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Code.Box2D.Dynamics.Joints
Section 67
//b2RevoluteJoint (Code.Box2D.Dynamics.Joints.b2RevoluteJoint) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.*; public class b2RevoluteJoint extends b2Joint { public var m_limitForce:Number; public var m_motorForce:Number; public var m_pivotMass:b2Mat22; public var m_enableLimit:Boolean; public var m_limitState:int; public var m_motorMass:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; private var K1:b2Mat22; private var K2:b2Mat22; private var K3:b2Mat22; private var K:b2Mat22; public var m_pivotForce:b2Vec2; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_limitPositionImpulse:Number; public var m_maxMotorTorque:Number; public var m_referenceAngle:Number; public var m_lowerAngle:Number; public var m_upperAngle:Number; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); K3 = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_pivotForce = new b2Vec2(); m_pivotMass = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_referenceAngle = _arg1.referenceAngle; m_pivotForce.Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerAngle = _arg1.lowerAngle; m_upperAngle = _arg1.upperAngle; m_maxMotorTorque = _arg1.maxMotorTorque; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (m_upperAngle); } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ return (m_pivotForce); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local3 = m_body1; _local4 = m_body2; _local5 = 0; _local6 = _local3.m_xf.R; _local7 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; _local10 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; _local12 = (_local3.m_sweep.c.x + _local7); _local13 = (_local3.m_sweep.c.y + _local8); _local14 = (_local4.m_sweep.c.x + _local10); _local15 = (_local4.m_sweep.c.y + _local11); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); _local18 = _local3.m_invMass; _local19 = _local4.m_invMass; _local20 = _local3.m_invI; _local21 = _local4.m_invI; K1.col1.x = (_local18 + _local19); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local18 + _local19); K2.col1.x = ((_local20 * _local8) * _local8); K2.col2.x = ((-(_local20) * _local7) * _local8); K2.col1.y = ((-(_local20) * _local7) * _local8); K2.col2.y = ((_local20 * _local7) * _local7); K3.col1.x = ((_local21 * _local11) * _local11); K3.col2.x = ((-(_local21) * _local10) * _local11); K3.col1.y = ((-(_local21) * _local10) * _local11); K3.col2.y = ((_local21 * _local10) * _local10); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Solve(tImpulse, -(_local16), -(_local17)); _local22 = tImpulse.x; _local23 = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local24 = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_referenceAngle); _local26 = 0; if (m_limitState == e_equalLimits){ _local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local24 = b2Math.b2Abs(_local2); } else { if (m_limitState == e_atLowerLimit){ _local2 = (_local25 - m_lowerAngle); _local24 = b2Math.b2Max(0, -(_local2)); _local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); } else { if (m_limitState == e_atUpperLimit){ _local2 = (_local25 - m_upperAngle); _local24 = b2Math.b2Max(0, _local2); _local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); }; }; }; _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function SetMaxMotorTorque(_arg1:Number):void{ m_maxMotorTorque = _arg1; } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - m_referenceAngle)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; K1.col1.x = (_local10 + _local11); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local10 + _local11); K2.col1.x = ((_local12 * _local7) * _local7); K2.col2.x = ((-(_local12) * _local6) * _local7); K2.col1.y = ((-(_local12) * _local6) * _local7); K2.col2.y = ((_local12 * _local6) * _local6); K3.col1.x = ((_local13 * _local9) * _local9); K3.col2.x = ((-(_local13) * _local8) * _local9); K3.col1.y = ((-(_local13) * _local8) * _local9); K3.col2.y = ((_local13 * _local8) * _local8); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Invert(m_pivotMass); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - m_referenceAngle); if (b2Math.b2Abs((m_upperAngle - m_lowerAngle)) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <= m_lowerAngle){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >= m_upperAngle){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; } else { m_limitForce = 0; }; if (_arg1.warmStarting){ _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) * m_pivotForce.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) * m_pivotForce.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 * m_pivotForce.y) - (_local7 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) * m_pivotForce.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) * m_pivotForce.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 * m_pivotForce.y) - (_local9 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); } else { m_pivotForce.SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function GetMotorTorque():Number{ return (m_motorForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local11 = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); _local12 = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); _local13 = (-(_arg1.inv_dt) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12))); _local14 = (-(_arg1.inv_dt) * ((m_pivotMass.col1.y * _local11) + (m_pivotMass.col2.y * _local12))); m_pivotForce.x = (m_pivotForce.x + _local13); m_pivotForce.y = (m_pivotForce.y + _local14); _local15 = (_arg1.dt * _local13); _local16 = (_arg1.dt * _local14); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17); _local19 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(m_maxMotorTorque), m_maxMotorTorque); _local18 = (m_motorForce - _local19); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local21); } else { if (m_limitState == e_atLowerLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); } else { if (m_limitState == e_atUpperLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); }; }; }; _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21)); }; } } }//package Code.Box2D.Dynamics.Joints
Section 68
//b2RevoluteJointDef (Code.Box2D.Dynamics.Joints.b2RevoluteJointDef) package Code.Box2D.Dynamics.Joints { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var referenceAngle:Number; public var upperAngle:Number; public var lowerAngle:Number; public var motorSpeed:Number; public var maxMotorTorque:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0; lowerAngle = 0; upperAngle = 0; maxMotorTorque = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Code.Box2D.Dynamics.Joints
Section 69
//b2Body (Code.Box2D.Dynamics.b2Body) package Code.Box2D.Dynamics { import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; public class b2Body { public var m_next:b2Body; public var m_contactList:b2ContactEdge; public var m_angularVelocity:Number; public var m_shapeList:b2Shape; public var m_force:b2Vec2; public var m_mass:Number; public var m_sweep:b2Sweep; public var m_xf:b2XForm; public var m_torque:Number; public var m_userData; public var m_flags:uint; public var m_forceSleep:Boolean;// = false public var m_world:b2World; public var m_linearVelocity:b2Vec2; public var m_prev:b2Body; public var m_invMass:Number; public var m_linearDamping:Number; public var m_type:int; public var m_angularDamping:Number; public var m_sleepTime:Number; public var m_shapeCount:int; public var m_jointList:b2JointEdge; public var m_invI:Number; public var m_I:Number; public static var e_fixedRotationFlag:uint = 64; public static var e_frozenFlag:uint = 2; public static var e_maxTypes:uint = 3; public static var e_sleepFlag:uint = 8; private static var s_massData:b2MassData = new b2MassData(); public static var e_bulletFlag:uint = 32; public static var e_staticType:uint = 1; public static var e_islandFlag:uint = 4; public static var e_allowSleepFlag:uint = 16; private static var s_xf1:b2XForm = new b2XForm(); public static var e_dynamicType:uint = 2; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ var _local3:b2Mat22; var _local4:b2Vec2; m_forceSleep = false; m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1.isBullet){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.fixedRotation){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1.allowSleep){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1.isSleeping){ m_flags = (m_flags | e_sleepFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.angle); m_sweep.localCenter.SetV(_arg1.massData.center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_contactList = null; m_prev = null; m_next = null; m_linearDamping = _arg1.linearDamping; m_angularDamping = _arg1.angularDamping; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.massData.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.massData.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; m_userData = _arg1.userData; m_shapeList = null; m_shapeCount = 0; } public function GetLinearVelocityFromWorldPoint(_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x - (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.y + (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function WakeUp():void{ if (!(m_forceSleep)){ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; }; } public function GetLocalCenter():b2Vec2{ return (m_sweep.localCenter); } public function ApplyTorque(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function IsFrozen():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function IsDynamic():Boolean{ return ((m_type == e_dynamicType)); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function SynchronizeTransform():void{ var _local1:b2Mat22; var _local2:b2Vec2; m_xf.R.Set(m_sweep.a); _local1 = m_xf.R; _local2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function GetInertia():Number{ return (m_I); } public function PutToSleep():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function SetMassFromShapes():void{ var _local1:b2Shape; var _local2:Number; var _local3:Number; var _local4:b2MassData; var _local5:b2Mat22; var _local6:b2Vec2; var _local7:int; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0; m_I = 0; m_invI = 0; _local2 = 0; _local3 = 0; _local4 = s_massData; _local1 = m_shapeList; while (_local1) { _local1.ComputeMass(_local4); m_mass = (m_mass + _local4.mass); _local2 = (_local2 + (_local4.mass * _local4.center.x)); _local3 = (_local3 + (_local4.mass * _local4.center.y)); m_I = (m_I + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if ((((m_I > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ m_I = (m_I - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / m_I); } else { m_I = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); _local5 = m_xf.R; _local6 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = m_shapeList; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; _local7 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local7 != m_type){ _local1 = m_shapeList; while (_local1) { _local1.RefilterProxy(m_world.m_broadPhase, m_xf); _local1 = _local1.m_next; }; }; } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function GetJointList():b2JointEdge{ return (m_jointList); } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local4:b2Mat22; var _local5:b2Vec2; var _local6:Boolean; var _local7:Boolean; if (m_world.m_lock == true){ return (true); }; if (IsFrozen()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); _local4 = m_xf.R; _local5 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); _local6 = false; _local3 = m_shapeList; while (_local3) { _local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local3 = m_shapeList; while (_local3) { _local3.DestroyProxy(m_world.m_broadPhase); _local3 = _local3.m_next; }; return (false); }; m_world.m_broadPhase.Commit(); return (true); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function SynchronizeShapes():Boolean{ var _local1:b2XForm; var _local2:b2Mat22; var _local3:b2Vec2; var _local4:b2Shape; var _local5:Boolean; _local1 = s_xf1; _local1.R.Set(m_sweep.a0); _local2 = _local1.R; _local3 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); _local5 = true; _local4 = m_shapeList; while (_local4) { _local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local4 = m_shapeList; while (_local4) { _local4.DestroyProxy(m_world.m_broadPhase); _local4 = _local4.m_next; }; return (false); }; return (true); } public function GetAngle():Number{ return (m_sweep.a); } public function GetXForm():b2XForm{ return (m_xf); } public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_linearVelocity.x = (m_linearVelocity.x + (m_invMass * _arg1.x)); m_linearVelocity.y = (m_linearVelocity.y + (m_invMass * _arg1.y)); m_angularVelocity = (m_angularVelocity + (m_invI * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)))); } public function GetNext():b2Body{ return (m_next); } public function GetMass():Number{ return (m_mass); } public function ForceSleep():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; m_forceSleep = true; } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; if (m_world.m_lock == true){ return; }; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; m_sweep.localCenter.SetV(_arg1.center); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = m_shapeList; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; _local5 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local5 != m_type){ _local2 = m_shapeList; while (_local2) { _local2.RefilterProxy(m_world.m_broadPhase, m_xf); _local2 = _local2.m_next; }; }; } public function IsStatic():Boolean{ return ((m_type == e_staticType)); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetShapeList():b2Shape{ return (m_shapeList); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } public function SetBullet(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function CreateShape(_arg1:b2ShapeDef):b2Shape{ var _local2:b2Shape; if (m_world.m_lock == true){ return (null); }; _local2 = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = m_shapeList; m_shapeList = _local2; m_shapeCount++; _local2.m_body = this; _local2.CreateProxy(m_world.m_broadPhase, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge; _local2 = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function DestroyShape(_arg1:b2Shape):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:Boolean; if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); _local2 = m_shapeList; _local3 = null; _local4 = false; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_shapeList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; m_shapeCount--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function GetUserData(){ return (m_userData); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function AllowSleeping(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function GetWorld():b2World{ return (m_world); } public function GetPosition():b2Vec2{ return (m_xf.position); } } }//package Code.Box2D.Dynamics
Section 70
//b2BodyDef (Code.Box2D.Dynamics.b2BodyDef) package Code.Box2D.Dynamics { import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; public class b2BodyDef { public var isSleeping:Boolean; public var position:b2Vec2; public var isBullet:Boolean; public var allowSleep:Boolean; public var userData; public var angularDamping:Number; public var fixedRotation:Boolean; public var angle:Number; public var linearDamping:Number; public var massData:b2MassData; public function b2BodyDef(){ massData = new b2MassData(); position = new b2Vec2(); super(); massData.center.SetZero(); massData.mass = 0; massData.I = 0; userData = null; position.Set(0, 0); angle = 0; linearDamping = 0; angularDamping = 0; allowSleep = true; isSleeping = false; fixedRotation = false; isBullet = false; } } }//package Code.Box2D.Dynamics
Section 71
//b2BoundaryListener (Code.Box2D.Dynamics.b2BoundaryListener) package Code.Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Code.Box2D.Dynamics
Section 72
//b2ContactFilter (Code.Box2D.Dynamics.b2ContactFilter) package Code.Box2D.Dynamics { import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Collision.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData; var _local4:b2FilterData; var _local5:Boolean; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; _local3 = _arg1.GetFilterData(); _local4 = _arg2.GetFilterData(); if (_local3.isCloud){ if (_arg1.m_body.GetAngle() != 0){ _local6 = (_arg1.m_body.GetPosition().x - _arg2.m_body.GetPosition().x); _local7 = (_arg1.m_body.GetPosition().y - _arg2.m_body.GetPosition().y); _local8 = Math.cos(-(_arg1.m_body.GetAngle())); _local9 = Math.sin(-(_arg1.m_body.GetAngle())); _local10 = ((_local6 * _local8) + (_local7 * -(_local9))); _local11 = ((_local6 * _local9) + (_local7 * _local8)); _local12 = Math.atan2(_local11, _local10); if ((((_local12 < -0.35)) && ((_local12 > -2.79)))){ return (false); }; } else { if (_arg2.m_body.GetLinearVelocity().y < 0){ if (_arg1.m_body.GetPosition().y < (_arg2.m_body.GetPosition().y - _arg2.m_body.GetLinearVelocity().y)){ return (false); }; }; }; } else { if (_local3.isElevator){ if (_arg2.m_body.GetPosition().y >= _arg1.m_body.GetPosition().y){ return (false); }; } else { if (_local4.isGhost){ if (_arg1.m_body.IsStatic()){ return (false); }; }; }; }; if (((!(_arg1.m_body.IsStatic())) && (!(_arg2.m_body.IsStatic())))){ if (((_arg1.m_body.GetUserData().objectData.IsThrowableFragile) && (_arg2.m_body.GetUserData().objectData.IsThrowableObject))){ _arg1.m_body.GetUserData().objectData.ForceDestruction(); return (false); }; if (((_arg2.m_body.GetUserData().objectData.IsThrowableFragile) && (_arg1.m_body.GetUserData().objectData.IsThrowableObject))){ _arg2.m_body.GetUserData().objectData.ForceDestruction(); return (false); }; }; if (!(_arg1.m_body.IsStatic())){ if (_arg1.m_body.GetUserData().objectData.IgnoreCoverID != -1){ if (_arg2.m_body.GetUserData().IDNumber == _arg1.m_body.GetUserData().objectData.IgnoreCoverID){ return (false); }; }; }; if (!(_arg2.m_body.IsStatic())){ if (_arg2.m_body.GetUserData().objectData.IgnoreCoverID != -1){ if (_arg1.m_body.GetUserData().IDNumber == _arg2.m_body.GetUserData().objectData.IgnoreCoverID){ return (false); }; }; }; if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; _local5 = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Code.Box2D.Dynamics
Section 73
//b2ContactListener (Code.Box2D.Dynamics.b2ContactListener) package Code.Box2D.Dynamics { import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Data.*; import Code.Particles.*; public class b2ContactListener { private var _ContactData:ContactData; private var vec:b2Vec2; public function Remove(_arg1:b2ContactPoint):void{ } private function CheckConveyorBelt(_arg1:b2ContactPoint):void{ var _local2:Number; var _local3:Number; if (_arg1.shape1.GetBody().GetUserData().isConveyorBelt == true){ if (!(_arg1.shape2.GetBody().IsStatic())){ if (Math.abs(_arg1.shape2.GetBody().GetLinearVelocity().x) < Math.abs(_arg1.shape1.GetBody().GetUserData().conveyorBeltSpeedX)){ _local2 = ((_ContactData.game_speed * _arg1.shape1.GetBody().GetUserData().conveyorBeltSpeedX) * _arg1.shape2.GetBody().GetMass()); _local3 = ((_ContactData.game_speed * _arg1.shape1.GetBody().GetUserData().conveyorBeltSpeedY) * _arg1.shape2.GetBody().GetMass()); _arg1.shape2.GetBody().ApplyImpulse(new b2Vec2(_local2, _local3), new b2Vec2(_arg1.position.x, _arg1.position.y)); }; }; }; } public function SetHandler(_arg1:ContactData){ _ContactData = _arg1; vec = new b2Vec2(); } public function Add(_arg1:b2ContactPoint):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:Number; _local2 = _arg1.shape1.GetBody().GetLinearVelocityFromWorldPoint(_arg1.position); _local3 = _arg1.shape2.GetBody().GetLinearVelocityFromWorldPoint(_arg1.position); vec = _local2.Copy(); vec.Subtract(_local3); _local4 = vec.Length(); if (_local4 >= 2){ CheckBodyImpact(_arg1.shape1.GetBody(), _arg1.shape2.GetBody(), _arg1, _local2, _local4); }; if (((!(_arg1.shape1.GetBody().IsStatic())) && (!(_arg1.shape2.GetBody().IsStatic())))){ if (_arg1.shape1.GetBody().GetUserData().objectData.IsGlass){ _arg1.shape1.GetBody().GetUserData().objectData.ForceDestruction(); }; if (_arg1.shape2.GetBody().GetUserData().objectData.IsGlass){ _arg1.shape2.GetBody().GetUserData().objectData.ForceDestruction(); }; }; } public function Persist(_arg1:b2ContactPoint):void{ CheckConveyorBelt(_arg1); } private function CheckBodyImpact(_arg1:b2Body, _arg2:b2Body, _arg3:b2ContactPoint, _arg4:b2Vec2, _arg5:Number):void{ if (!(_arg1.IsStatic())){ _arg1.WakeUp(); _ContactData.Handler_Sounds.PlaySoundAt_Box2DScale(_arg1.GetUserData().material.BounceImpactSound, _arg1.GetPosition().x, _arg1.GetPosition().y); _arg1.GetUserData().objectData.Damage_Impact(_arg5); }; if (!(_arg2.IsStatic())){ _arg2.WakeUp(); _ContactData.Handler_Sounds.PlaySoundAt_Box2DScale(_arg2.GetUserData().material.BounceImpactSound, _arg2.GetPosition().x, _arg2.GetPosition().y); _arg2.GetUserData().objectData.Damage_Impact(_arg5); }; if (((!(_arg2.IsStatic())) && (!(_arg1.IsStatic())))){ if (_arg1.GetUserData().material.ImpactEffectConditionFullfilled(_arg2.GetUserData().material.Type)){ _ContactData.Handler_Effects.AddParticle_Box2DScale(new particle_data(_arg1.GetUserData().material.ImpactEffect, _arg3.position.x, _arg3.position.y, _arg4)); }; } else { if (_arg1.GetUserData().material.ImpactEffectConditionFullfilled(_arg2.GetUserData().material.Type)){ _ContactData.Handler_Effects.AddParticle_Box2DScale(new particle_data(_arg1.GetUserData().material.ImpactEffect, _arg3.position.x, _arg3.position.y, _arg4)); }; if (_arg2.GetUserData().material.ImpactEffectConditionFullfilled(_arg1.GetUserData().material.Type)){ _ContactData.Handler_Effects.AddParticle_Box2DScale(new particle_data(_arg2.GetUserData().material.ImpactEffect, _arg3.position.x, _arg3.position.y, _arg4)); }; }; } public function Result(_arg1:b2ContactResult):void{ } } }//package Code.Box2D.Dynamics
Section 74
//b2ContactManager (Code.Box2D.Dynamics.b2ContactManager) package Code.Box2D.Dynamics { import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var m_destroyImmediate:Boolean; public var m_nullContact:b2NullContact; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){ m_nullContact = new b2NullContact(); super(); m_world = null; m_destroyImmediate = false; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2Contact; _local3 = (_arg1 as b2Shape); _local4 = (_arg2 as b2Shape); _local5 = _local3.m_body; _local6 = _local4.m_body; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (m_nullContact); }; if (_local3.m_body == _local4.m_body){ return (m_nullContact); }; if (_local6.IsConnected(_local5)){ return (m_nullContact); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return (m_nullContact); }; _local7 = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (m_nullContact); }; _local3 = _local7.m_shape1; _local4 = _local7.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local7.m_prev = null; _local7.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local7; }; m_world.m_contactList = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local7.m_node1; }; _local5.m_contactList = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local7.m_node2; }; _local6.m_contactList = _local7.m_node2; m_world.m_contactCount++; return (_local7); } override public function PairRemoved(_arg1, _arg2, _arg3):void{ var _local4:b2Contact; if (_arg3 == null){ return; }; _local4 = (_arg3 as b2Contact); if (_local4 == m_nullContact){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:int; var _local5:b2Body; var _local6:b2Body; var _local7:b2Body; var _local8:b2Body; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2Vec2; var _local16:b2Vec2; _local2 = _arg1.m_shape1; _local3 = _arg1.m_shape2; _local4 = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world.m_contactListener))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape2; _local10.friction = _arg1.m_friction; _local10.restitution = _arg1.m_restitution; _local11 = 0; while (_local11 < _local4) { _local12 = _local9[_local11]; _local10.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local10.position = _local7.GetWorldPoint(_local14.localPoint1); _local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1); _local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2); _local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id.key = _local14.id._key; m_world.m_contactListener.Remove(_local10); _local13++; }; _local11++; }; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_world.m_contactList){ m_world.m_contactList = _arg1.m_next; }; _local5 = _local2.m_body; _local6 = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5.m_contactList){ _local5.m_contactList = _arg1.m_node1.next; }; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local6.m_contactList){ _local6.m_contactList = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world.m_contactCount--; } public function Collide():void{ var _local1:b2Contact; var _local2:b2Body; var _local3:b2Body; _local1 = m_world.m_contactList; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world.m_contactListener); }; _local1 = _local1.m_next; }; } } }//package Code.Box2D.Dynamics
Section 75
//b2DebugDraw (Code.Box2D.Dynamics.b2DebugDraw) package Code.Box2D.Dynamics { import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import flash.display.*; public class b2DebugDraw { public var m_xformScale:Number;// = 1 public var m_fillAlpha:Number;// = 1 public var m_alpha:Number;// = 1 public var m_lineThickness:Number;// = 1 public var m_drawFlags:uint; public var m_sprite:Sprite; public var m_drawScale:Number;// = 1 public static var e_coreShapeBit:uint = 4; public static var e_shapeBit:uint = 1; public static var e_centerOfMassBit:uint = 64; public static var e_aabbBit:uint = 8; public static var e_obbBit:uint = 16; public static var e_pairBit:uint = 32; public static var e_jointBit:uint = 2; public function b2DebugDraw(){ m_drawScale = 1; m_lineThickness = 1; m_alpha = 1; m_fillAlpha = 1; m_xformScale = 1; super(); m_drawFlags = 0; } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha, false, "none"); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.beginFill(_arg3.color, m_fillAlpha); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha, false, "none"); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, m_alpha, false, "none"); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col1.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col1.y)) * m_drawScale)); m_sprite.graphics.lineStyle(m_lineThickness, 0xFF00, m_alpha, false, "none"); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col2.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col2.y)) * m_drawScale)); } public function ClearFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg4.color, m_alpha, false, "none"); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color, m_fillAlpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * m_drawScale), ((_arg1.y + (_arg3.y * _arg2)) * m_drawScale)); } public function SetFlags(_arg1:uint):void{ m_drawFlags = _arg1; } public function AppendFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags | _arg1); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo((_arg2.x * m_drawScale), (_arg2.y * m_drawScale)); } public function GetFlags():uint{ return (m_drawFlags); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha, false, "none"); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); } } }//package Code.Box2D.Dynamics
Section 76
//b2DestructionListener (Code.Box2D.Dynamics.b2DestructionListener) package Code.Box2D.Dynamics { import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Collision.Shapes.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeShape(_arg1:b2Shape):void{ } } }//package Code.Box2D.Dynamics
Section 77
//b2Island (Code.Box2D.Dynamics.b2Island) package Code.Box2D.Dynamics { import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Collision.*; public class b2Island { public var m_joints:Array; public var m_fallasleepbody:Function; public var m_listener:b2ContactListener; public var m_positionIterationCount:int; public var m_bodyCapacity:int; public var m_bodies:Array; public var m_jointCapacity:int; public var m_contactCount:int; public var m_contacts:Array; public var m_contactCapacity:int; public var m_jointCount:int; public var m_allocator; public var m_bodyCount:int; private static var s_reportCR:b2ContactResult = new b2ContactResult(); public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener, _arg6:Function){ var _local7:int; m_fallasleepbody = function (_arg1:b2Body):void{ }; super(); m_bodyCapacity = _arg1; m_contactCapacity = _arg2; m_jointCapacity = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_fallasleepbody = _arg6; m_allocator = _arg4; m_listener = _arg5; m_bodies = new Array(_arg1); _local7 = 0; while (_local7 < _arg1) { m_bodies[_local7] = null; _local7++; }; m_contacts = new Array(_arg2); _local7 = 0; while (_local7 < _arg2) { m_contacts[_local7] = null; _local7++; }; m_joints = new Array(_arg3); _local7 = 0; while (_local7 < _arg3) { m_joints[_local7] = null; _local7++; }; m_positionIterationCount = 0; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++; m_joints[_local2] = _arg1; } public function Report(_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local4:int; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:b2Body; var _local9:int; var _local10:Array; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2ContactConstraintPoint; if (m_listener == null){ return; }; _local4 = 0; while (_local4 < m_contactCount) { _local5 = m_contacts[_local4]; _local6 = _arg1[_local4]; _local7 = s_reportCR; _local7.shape1 = _local5.m_shape1; _local7.shape2 = _local5.m_shape2; _local8 = _local7.shape1.m_body; _local9 = _local5.m_manifoldCount; _local10 = _local5.GetManifolds(); _local11 = 0; while (_local11 < _local9) { _local12 = _local10[_local11]; _local7.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local15 = _local6.points[_local13]; _local7.position = _local8.GetWorldPoint(_local14.localPoint1); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id.key = _local14.id.key; m_listener.Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local8:b2ContactSolver; var _local9:int; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Number; var _local14:Number; var _local15:Number; _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_arg2.x + (_local6.m_invMass * _local6.m_force.x)))); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_arg2.y + (_local6.m_invMass * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; _local8 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local8.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local8.SolveVelocityConstraints(); _local9 = 0; while (_local9 < m_jointCount) { _local7 = m_joints[_local9]; _local7.SolveVelocityConstraints(_arg1); _local9++; }; _local5++; }; _local8.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_sweep.c0.SetV(_local6.m_sweep.c); _local6.m_sweep.a0 = _local6.m_sweep.a; _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity)); _local6.SynchronizeTransform(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitPositionConstraints(); _local5++; }; m_positionIterationCount = 0; while (m_positionIterationCount < _arg1.maxIterations) { _local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local11 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local12 = _local7.SolvePositionConstraints(); _local11 = ((_local11) && (_local12)); _local5++; }; if (((_local10) && (_local11))){ break; }; m_positionIterationCount++; }; }; Report(_local8.m_constraints); if (_arg4){ _local13 = Number.MAX_VALUE; _local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.m_invMass == 0){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local13 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local14)))){ _local6.m_sleepTime = 0; _local13 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local13 = b2Math.b2Min(_local13, _local6.m_sleepTime); }; }; _local5++; }; if (_local13 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; _local6.m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; m_fallasleepbody(_local6); _local5++; }; }; }; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local3:b2ContactSolver; var _local4:Number; var _local5:b2Body; var _local6:Boolean; _local3 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local2 = 0; while (_local2 < _arg1.maxIterations) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local5 = m_bodies[_local2]; if (_local5.IsStatic()){ } else { _local5.m_sweep.c0.SetV(_local5.m_sweep.c); _local5.m_sweep.a0 = _local5.m_sweep.a; _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity)); _local5.SynchronizeTransform(); }; _local2++; }; _local4 = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; Report(_local3.m_constraints); } } }//package Code.Box2D.Dynamics
Section 78
//b2TimeStep (Code.Box2D.Dynamics.b2TimeStep) package Code.Box2D.Dynamics { public class b2TimeStep { public var warmStarting:Boolean; public var positionCorrection:Boolean; public var dt:Number; public var maxIterations:int; public var dtRatio:Number; public var inv_dt:Number; } }//package Code.Box2D.Dynamics
Section 79
//b2World (Code.Box2D.Dynamics.b2World) package Code.Box2D.Dynamics { import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Dynamics.Joints.*; public class b2World { private var _laser_solid_list:Array; private var _aim_solid_list:Array; public var m_contactList:b2Contact; private var _weapon_list:Array; private var _stair_object_list:Array; public var m_broadPhase:b2BroadPhase; public var m_allowSleep:Boolean; public var m_contactListener:b2ContactListener; public var m_blockAllocator; public var m_bodyCount:int; private var _hazards_list:Array; public var m_contactCount:int; public var m_contactFilter:b2ContactFilter; private var _fire_carrier_list:Array; private var _part_of_static_world:Array; public var m_contactManager:b2ContactManager; public var m_gravity:b2Vec2; public var m_stackAllocator; private var _molotov_list:Array; public var m_inv_dt0:Number; private var _burn_object_list:Array; private var _static_covers:Array; private var _bullet_solid_list:Array; private var _conveyor_list:Array; public var m_boundaryListener:b2BoundaryListener; public var m_destructionListener:b2DestructionListener; private var _is_glass_list:Array; private var _all_dynamic_object_list:Array; public var m_lock:Boolean; private var _button_list:Array; public var m_positionIterationCount:int; public var m_jointCount:int; private var _dynamic_hitbox_object_list:Array; public var FallAsleepBody:Function; public var m_groundBody:b2Body; private var _ladder_list:Array; private var _dynamic_object_list:Array; private var _static_object_list:Array; private var _can_take_fire_damage_list:Array; private var _static_rotated_cloud_list:Array; public var m_bodyList:b2Body; public var m_jointList:b2Joint; public var m_debugDraw:b2DebugDraw; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); public static var m_continuousPhysics:Boolean; public static var m_warmStarting:Boolean; private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); public static var m_positionCorrection:Boolean; private static var s_xf:b2XForm = new b2XForm(); public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ var _local4:b2BodyDef; _dynamic_object_list = new Array(); _all_dynamic_object_list = new Array(); _dynamic_hitbox_object_list = new Array(); _static_object_list = new Array(); _stair_object_list = new Array(); _conveyor_list = new Array(); _weapon_list = new Array(); _button_list = new Array(); _ladder_list = new Array(); _burn_object_list = new Array(); _fire_carrier_list = new Array(); _bullet_solid_list = new Array(); _laser_solid_list = new Array(); _aim_solid_list = new Array(); _molotov_list = new Array(); _can_take_fire_damage_list = new Array(); _static_covers = new Array(); _hazards_list = new Array(); _static_rotated_cloud_list = new Array(); _is_glass_list = new Array(); _part_of_static_world = new Array(); FallAsleepBody = function (_arg1:b2Body):void{ }; m_contactManager = new b2ContactManager(); super(); m_destructionListener = null; m_boundaryListener = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null; m_debugDraw = null; m_bodyList = null; m_contactList = null; m_jointList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_positionCorrection = true; m_warmStarting = true; m_continuousPhysics = true; m_allowSleep = _arg3; m_gravity = _arg2; m_lock = false; m_inv_dt0 = 0; m_contactManager.m_world = this; m_broadPhase = new b2BroadPhase(_arg1, m_contactManager); _local4 = new b2BodyDef(); m_groundBody = CreateBody(_local4); } public function get LadderList():Array{ return (_ladder_list); } private function RemoveObject(_arg1:b2Body, _arg2:Array):void{ var _local3:*; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3].GetUserData().IDNumber == _arg1.GetUserData().IDNumber){ _arg2.splice(_local3, 1); }; _local3++; }; } public function GetStairBodyAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:b2Body; var _local4:*; _local4 = 0; while (_local4 < _stair_object_list.length) { _local3 = _stair_object_list[_local4]; if (_local3.GetUserData().shapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local3); }; _local4++; }; return (null); } public function get ButtonList():Array{ return (_button_list); } public function get DynamicHitBoxObjectList():Array{ return (_dynamic_hitbox_object_list); } public function SetDebugDraw(_arg1:b2DebugDraw):void{ m_debugDraw = _arg1; } public function SetContinuousPhysics(_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function GetProxyCount():int{ return (m_broadPhase.m_proxyCount); } public function GetAimSolidAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:b2Body; var _local4:*; _local4 = 0; while (_local4 < AimSolidList.length) { _local3 = AimSolidList[_local4]; if (_local3.GetUserData().objectData.ShapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local3); }; _local4++; }; return (null); } public function GetFireCarrierAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:Array; var _local4:b2Body; var _local5:*; _local3 = FireCarrierList; _local5 = 0; while (_local5 < _local3.length) { _local4 = _local3[_local5]; if (_local4.GetUserData().objectData.ShapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local4); }; _local5++; }; return (null); } public function GetContactCount():int{ return (m_contactCount); } public function get IsGlassList():Array{ return (_is_glass_list); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Island; var _local4:b2Contact; var _local5:b2Joint; var _local6:int; var _local7:Array; var _local8:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; _local3 = new b2Island(m_bodyCount, m_contactCount, m_jointCount, m_stackAllocator, m_contactListener, FallAsleepBody); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; _local4 = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; _local5 = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; _local6 = m_bodyCount; _local7 = new Array(_local6); _local8 = m_bodyList; while (_local8) { if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){ } else { if (_local8.IsStatic()){ } else { _local3.Clear(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local12 = _local2.m_contactList; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.AddContact(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2.m_jointList; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3.AddJoint(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1, m_gravity, m_positionCorrection, m_allowSleep); if (_local3.m_positionIterationCount > m_positionIterationCount){ m_positionIterationCount = _local3.m_positionIterationCount; }; _local10 = 0; while (_local10 < _local3.m_bodyCount) { _local2 = _local3.m_bodies[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = m_bodyList; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function get ConveyorList():Array{ return (_conveyor_list); } public function get MolotovList():Array{ return (_molotov_list); } public function Validate():void{ m_broadPhase.Validate(); } public function GetBulletSolidAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:b2Body; var _local4:*; _local4 = 0; while (_local4 < BulletSolidList.length) { _local3 = BulletSolidList[_local4]; if (_local3.GetUserData().objectData.ShapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local3); }; _local4++; }; return (null); } public function SetWarmStarting(_arg1:Boolean):void{ m_warmStarting = _arg1; } public function RemoveObjectFromLists(_arg1:b2Body):void{ if (_arg1.IsDynamic()){ if (!(_arg1.GetUserData().objectData.DrawShapeMC)){ return; }; RemoveObject(_arg1, _all_dynamic_object_list); if (_arg1.GetUserData().isWeapon == true){ RemoveObject(_arg1, _weapon_list); } else { if (_arg1.GetUserData().isButton == true){ RemoveObject(_arg1, _button_list); } else { if (_arg1.GetUserData().isLadder == true){ RemoveObject(_arg1, _ladder_list); } else { RemoveObject(_arg1, _dynamic_object_list); if (!(_arg1.GetUserData().objectData.BulletTransparent)){ RemoveObject(_arg1, _bullet_solid_list); }; if (((!(_arg1.GetUserData().objectData.LaserTransparent)) || (_arg1.GetUserData().objectData.LaserVisibleOnObject))){ RemoveObject(_arg1, _laser_solid_list); }; if (!(_arg1.GetUserData().objectData.AimTransparent)){ RemoveObject(_arg1, _aim_solid_list); }; if (((_arg1.GetUserData().objectData.DrawHitBox) || (_arg1.GetUserData().objectData.DrawCloudBox))){ RemoveObject(_arg1, _dynamic_hitbox_object_list); }; if (_arg1.GetUserData().objectData.IsGlass){ RemoveObject(_arg1, _is_glass_list); }; if (_arg1.GetUserData().objectData.CanBurn){ RemoveObject(_arg1, _burn_object_list); } else { if (_arg1.GetUserData().objectData.ResistanceFire > 0){ RemoveObject(_arg1, _can_take_fire_damage_list); }; }; if (_arg1.GetUserData().objectData.CanBeHazard){ RemoveObject(_arg1, _hazards_list); }; if (_arg1.GetUserData().objectData.PartOfStaticWorld){ RemoveObject(_arg1, _part_of_static_world); }; if (_arg1.GetUserData().objectData.CanCarryFire){ RemoveObject(_arg1, _fire_carrier_list); }; if (_arg1.GetUserData().tiltValue != 0){ RemoveObject(_arg1, _stair_object_list); }; if (_arg1.GetUserData().isMolotov == true){ RemoveObject(_arg1, _molotov_list); }; }; }; }; } else { RemoveObject(_arg1, _static_object_list); if (_arg1.GetUserData().tiltValue != 0){ RemoveObject(_arg1, _stair_object_list); }; if (_arg1.GetUserData().isConveyorBelt == true){ RemoveObject(_arg1, _conveyor_list); }; if (_arg1.GetUserData().isLadder == true){ RemoveObject(_arg1, _ladder_list); }; if (_arg1.GetUserData().allowCover == true){ RemoveObject(_arg1, _static_covers); }; if ((((_arg1.GetUserData().isCloud == true)) && (!((_arg1.GetAngle() == 0))))){ RemoveObject(_arg1, _static_rotated_cloud_list); }; }; } public function SetPositionCorrection(_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function get AimSolidList():Array{ return (_aim_solid_list); } public function GetLaserSolidAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:b2Body; var _local4:*; _local4 = 0; while (_local4 < LaserSolidList.length) { _local3 = LaserSolidList[_local4]; if (_local3.GetUserData().objectData.ShapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local3); }; _local4++; }; return (null); } public function SetContactListener(_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function SetBoundaryListener(_arg1:b2BoundaryListener):void{ m_boundaryListener = _arg1; } public function GetStaticCoverAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:b2Body; var _local4:*; _local4 = 0; while (_local4 < StaticCovers.length) { _local3 = StaticCovers[_local4]; if (_local3.GetUserData().shapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local3); }; _local4++; }; return (null); } public function GetRotatedCloudAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:Array; var _local4:b2Body; var _local5:*; _local3 = _static_rotated_cloud_list; _local5 = 0; while (_local5 < _local3.length) { _local4 = _local3[_local5]; if (_local4.GetUserData().shapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local4); }; _local5++; }; return (null); } public function GetJointCount():int{ return (m_jointCount); } public function get LaserSolidList():Array{ return (_laser_solid_list); } public function get FireCarrierList():Array{ return (_fire_carrier_list); } public function Refilter(_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function GetLadderBodyAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:b2Body; var _local4:*; _local4 = 0; while (_local4 < _ladder_list.length) { _local3 = _ladder_list[_local4]; if (_local3.GetUserData().shapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local3); }; _local4++; }; return (null); } public function get StairObjectList():Array{ return (_stair_object_list); } public function SetContactFilter(_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function DrawDebugData():void{ var _local1:uint; var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2XForm; var _local12:b2AABB; var _local13:b2AABB; var _local14:Array; var _local15:Boolean; if (m_debugDraw == null){ return; }; m_debugDraw.m_sprite.graphics.clear(); _local1 = m_debugDraw.GetFlags(); _local7 = new b2Vec2(); _local8 = new b2Vec2(); _local9 = new b2Vec2(); _local10 = new b2Color(0, 0, 0); _local12 = new b2AABB(); _local13 = new b2AABB(); _local14 = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){ DrawShape(_local4, _local11, new b2Color(0, 0, 0), _local15); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; } public function AddObjectToLists(_arg1:b2Body):void{ if (_arg1.IsDynamic()){ if (!(_arg1.GetUserData().objectData.DrawShapeMC)){ return; }; _all_dynamic_object_list.push(_arg1); if (_arg1.GetUserData().isWeapon == true){ _weapon_list.push(_arg1); } else { if (_arg1.GetUserData().isButton == true){ _button_list.push(_arg1); } else { if (_arg1.GetUserData().isLadder == true){ _ladder_list.push(_arg1); } else { _dynamic_object_list.push(_arg1); if (!(_arg1.GetUserData().objectData.BulletTransparent)){ _bullet_solid_list.push(_arg1); }; if (((!(_arg1.GetUserData().objectData.LaserTransparent)) || (_arg1.GetUserData().objectData.LaserVisibleOnObject))){ _laser_solid_list.push(_arg1); }; if (!(_arg1.GetUserData().objectData.AimTransparent)){ _aim_solid_list.push(_arg1); }; if (((_arg1.GetUserData().objectData.DrawHitBox) || (_arg1.GetUserData().objectData.DrawCloudBox))){ _dynamic_hitbox_object_list.push(_arg1); }; if (_arg1.GetUserData().objectData.IsGlass){ _is_glass_list.push(_arg1); }; if (_arg1.GetUserData().objectData.CanBurn){ _burn_object_list.push(_arg1); } else { if (_arg1.GetUserData().objectData.ResistanceFire > 0){ _can_take_fire_damage_list.push(_arg1); }; }; if (_arg1.GetUserData().objectData.CanBeHazard){ _hazards_list.push(_arg1); }; if (_arg1.GetUserData().objectData.PartOfStaticWorld){ _part_of_static_world.push(_arg1); }; if (_arg1.GetUserData().objectData.CanCarryFire){ _fire_carrier_list.push(_arg1); }; if (_arg1.GetUserData().tiltValue != 0){ _stair_object_list.push(_arg1); }; if (_arg1.GetUserData().isMolotov == true){ _molotov_list.push(_arg1); }; }; }; }; } else { if (_arg1.GetUserData() != null){ _static_object_list.push(_arg1); if (_arg1.GetUserData().tiltValue != 0){ _stair_object_list.push(_arg1); }; if (_arg1.GetUserData().isConveyorBelt == true){ _conveyor_list.push(_arg1); }; if (_arg1.GetUserData().isLadder == true){ _ladder_list.push(_arg1); }; if (_arg1.GetUserData().allowCover == true){ _static_covers.push(_arg1); }; if ((((_arg1.GetUserData().isCloud == true)) && (!((_arg1.GetAngle() == 0))))){ _static_rotated_cloud_list.push(_arg1); }; }; }; } public function get AllDynamicObjectList():Array{ return (_all_dynamic_object_list); } public function DestroyBody(_arg1:b2Body):void{ var _local2:b2JointEdge; var _local3:b2Shape; var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; _local2 = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if (m_destructionListener){ m_destructionListener.SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; _local3 = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if (m_destructionListener){ m_destructionListener.SayGoodbyeShape(_local5); }; _local5.DestroyProxy(m_broadPhase); b2Shape.Destroy(_local5, m_blockAllocator); }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_bodyList){ m_bodyList = _arg1.m_next; }; m_bodyCount--; } public function DrawShape(_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local5:b2Color; var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; _local5 = s_coreColor; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local6 = (_arg1 as b2CircleShape); _local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition); _local8 = _local6.m_radius; _local9 = _arg2.R.col1; m_debugDraw.DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){ m_debugDraw.DrawCircle(_local7, (_local8 - b2Settings.b2_toiSlop), _local5); }; break; case b2Shape.e_polygonShape: _local11 = (_arg1 as b2PolygonShape); _local12 = _local11.GetVertexCount(); _local13 = _local11.GetVertices(); _local14 = new Array(b2Settings.b2_maxPolygonVertices); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]); _local10++; }; m_debugDraw.DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; }; m_debugDraw.DrawPolygon(_local14, _local12, _local5); }; break; }; } public function DrawJoint(_arg1:b2Joint):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2XForm; var _local5:b2XForm; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; _local2 = _arg1.m_body1; _local3 = _arg1.m_body2; _local4 = _local2.m_xf; _local5 = _local3.m_xf; _local6 = _local4.position; _local7 = _local5.position; _local8 = _arg1.GetAnchor1(); _local9 = _arg1.GetAnchor2(); _local10 = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2(); m_debugDraw.DrawSegment(_local12, _local8, _local10); m_debugDraw.DrawSegment(_local13, _local9, _local10); m_debugDraw.DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; default: if (_local2 != m_groundBody){ m_debugDraw.DrawSegment(_local6, _local8, _local10); }; m_debugDraw.DrawSegment(_local8, _local9, _local10); if (_local3 != m_groundBody){ m_debugDraw.DrawSegment(_local7, _local9, _local10); }; }; } public function GetGroundBody():b2Body{ return (m_groundBody); } public function ResetLists():void{ _dynamic_hitbox_object_list = new Array(); _dynamic_object_list = new Array(); _all_dynamic_object_list = new Array(); _static_object_list = new Array(); _stair_object_list = new Array(); _conveyor_list = new Array(); _weapon_list = new Array(); _button_list = new Array(); _ladder_list = new Array(); _burn_object_list = new Array(); _fire_carrier_list = new Array(); _bullet_solid_list = new Array(); _aim_solid_list = new Array(); _laser_solid_list = new Array(); _molotov_list = new Array(); _can_take_fire_damage_list = new Array(); _static_covers = new Array(); _hazards_list = new Array(); _static_rotated_cloud_list = new Array(); _is_glass_list = new Array(); _part_of_static_world = new Array(); } public function Query(_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array; var _local5:int; var _local6:int; _local4 = new Array(_arg3); _local5 = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); _local6 = 0; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function get StaticObjectList():Array{ return (_static_object_list); } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local8:b2Island; var _local9:int; var _local10:Array; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:b2TimeStep; var _local17:int; var _local18:Number; var _local19:Number; var _local20:b2Body; var _local21:Boolean; _local8 = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, m_stackAllocator, m_contactListener, FallAsleepBody); _local9 = m_bodyCount; _local10 = new Array(_local9); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){ } else { _local18 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local18 = _local11.m_toi; } else { _local3 = _local11.m_shape1; _local4 = _local11.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){ continue; }; _local19 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local19 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local19); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local19 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local19); }; }; _local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep); if ((((_local18 > 0)) && ((_local18 < 1)))){ _local18 = (((1 - _local18) * _local19) + _local18); if (_local18 > 1){ _local18 = 1; }; }; _local11.m_toi = _local18; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){ _local12 = _local11; _local13 = _local18; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_shape1; _local4 = _local12.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8.Clear(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local8.m_contactCount == _local8.m_contactCapacity){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & b2Body.e_islandFlag)){ } else { if (_local20.IsStatic() == false){ _local20.Advance(_local13); _local20.WakeUp(); }; var _temp2 = _local15; _local15 = (_local15 + 1); var _local23 = _temp2; _local10[_local23] = _local20; _local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new b2TimeStep(); _local16.dt = ((1 - _local13) * _arg1.dt); _local16.inv_dt = (1 / _local16.dt); _local16.maxIterations = _arg1.maxIterations; _local8.SolveTOI(_local16); _local17 = 0; while (_local17 < _local8.m_bodyCount) { _local2 = _local8.m_bodies[_local17]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.SynchronizeShapes(); if ((((_local21 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8.m_contactCount) { _local11 = _local8.m_contacts[_local17]; _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function GetJointList():b2Joint{ return (m_jointList); } public function SetGravity(_arg1:b2Vec2):void{ m_gravity = _arg1; } public function GetBodyList():b2Body{ return (m_bodyList); } public function GetGlassAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:Array; var _local4:b2Body; var _local5:*; _local3 = _is_glass_list; _local5 = 0; while (_local5 < _local3.length) { _local4 = _local3[_local5]; if (_local4.GetUserData().objectData.ShapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local4); }; _local5++; }; return (null); } public function get CanTakeFireDamageList():Array{ return (_can_take_fire_damage_list); } public function GetPairCount():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function get HazardsList():Array{ return (_hazards_list); } public function get StaticRotatedCloudList():Array{ return (_static_rotated_cloud_list); } public function get StaticCovers():Array{ return (_static_covers); } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local2:b2Joint; var _local3:b2Body; var _local4:b2Shape; _local2 = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1.m_jointList; if (_local2.m_body1.m_jointList){ _local2.m_body1.m_jointList.prev = _local2.m_node1; }; _local2.m_body1.m_jointList = _local2.m_node1; _local2.m_node2.joint = _local2; _local2.m_node2.other = _local2.m_body1; _local2.m_node2.prev = null; _local2.m_node2.next = _local2.m_body2.m_jointList; if (_local2.m_body2.m_jointList){ _local2.m_body2.m_jointList.prev = _local2.m_node2; }; _local2.m_body2.m_jointList = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2; _local4 = _local3.m_shapeList; while (_local4) { _local4.RefilterProxy(m_broadPhase, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function DestroyJoint(_arg1:b2Joint):void{ var _local2:Boolean; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2Shape; _local2 = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; _local3 = _arg1.m_body1; _local4 = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3.m_jointList){ _local3.m_jointList = _arg1.m_node1.next; }; _arg1.m_node1.prev = null; _arg1.m_node1.next = null; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local4.m_jointList){ _local4.m_jointList = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); m_jointCount--; if (_local2 == false){ _local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4; _local6 = _local5.m_shapeList; while (_local6) { _local6.RefilterProxy(m_broadPhase, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function get BurnObjectList():Array{ return (_burn_object_list); } public function GetStaticBodyAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:b2Body; var _local4:*; _local4 = 0; while (_local4 < _static_object_list.length) { _local3 = _static_object_list[_local4]; if (_local3.GetUserData().shapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local3); }; _local4++; }; return (null); } public function GetPartWorldAt(_arg1:Number, _arg2:Number):b2Body{ var _local3:Array; var _local4:b2Body; var _local5:*; _local3 = _part_of_static_world; _local5 = 0; while (_local5 < _local3.length) { _local4 = _local3[_local5]; if (_local4.GetUserData().objectData.ShapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local4); }; _local5++; }; return (null); } public function SetDestructionListener(_arg1:b2DestructionListener):void{ m_destructionListener = _arg1; } public function CreateBody(_arg1:b2BodyDef):b2Body{ var _local2:b2Body; if (m_lock == true){ return (null); }; _local2 = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = m_bodyList; if (m_bodyList){ m_bodyList.m_prev = _local2; }; m_bodyList = _local2; m_bodyCount++; return (_local2); } public function get BulletSolidList():Array{ return (_bullet_solid_list); } public function Step(_arg1:Number, _arg2:int):void{ var _local3:b2TimeStep; m_lock = true; _local3 = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = (m_inv_dt0 * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting; m_contactManager.Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); }; m_inv_dt0 = _local3.inv_dt; m_lock = false; } public function UpdateObjectLists():void{ var _local1:b2Body; ResetLists(); _local1 = m_bodyList; while (_local1) { AddObjectToLists(_local1); _local1 = _local1.m_next; }; } public function GetBodyCount():int{ return (m_bodyCount); } public function get WeaponList():Array{ return (_weapon_list); } public function get DynamicObjectList():Array{ return (_dynamic_object_list); } public function GetDynamicBodyAt(_arg1:Number, _arg2:Number, _arg3:Boolean):b2Body{ var _local4:Array; var _local5:b2Body; var _local6:*; if (_arg3){ _local4 = DynamicObjectList; } else { _local4 = DynamicHitBoxObjectList; }; _local6 = 0; while (_local6 < _local4.length) { _local5 = _local4[_local6]; if (_local5.GetUserData().objectData.ShapeMC.hitTestPoint(_arg1, _arg2, true)){ return (_local5); }; _local6++; }; return (null); } } }//package Code.Box2D.Dynamics
Section 80
//bot_plate (Code.Data.Menu.bot_plate) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; import flash.geom.*; import Code.Data.Players.*; public class bot_plate extends submenu_base { private var _allChoicesDone:Boolean;// = false private var _curr_choice:int;// = -1 private var _must_not_team:int;// = 0 private var _difficulty:int;// = 2 private var _character:int;// = 0 private var _team:int;// = 0 public function bot_plate(_arg1:MovieClip, _arg2:Sounds):void{ _allChoicesDone = false; _curr_choice = -1; _character = 0; _team = 0; _difficulty = 2; _must_not_team = 0; super(); _this = _arg1; _Handler_Sounds = _arg2; _this.empty_cover.visible = true; UpdateMarker(); ShowCharacter(); ShowTeam(); ShowDifficulty(); } override public function UpdateMarker():void{ HideMarker(); if (_curr_choice == 0){ _this.marker_0.visible = true; _this.marker_1.visible = true; _this.highlight_0.visible = true; } else { if (_curr_choice == 1){ _this.marker_2.visible = true; _this.marker_3.visible = true; _this.highlight_1.visible = true; UncolorTeam(); } else { if (_curr_choice == 2){ _this.marker_4.visible = true; _this.marker_5.visible = true; _this.highlight_2.visible = true; }; }; }; } public function get Team():int{ return (_team); } private function ChangeCharacter(_arg1:int):void{ _character = (_character + _arg1); if (_character < 0){ _character = PlayerCharacter.TOTAL_CHARACTERS; }; if (_character > PlayerCharacter.TOTAL_CHARACTERS){ _character = 0; }; if (!(PlayerCharacter.CharacterAvailable(_character))){ ChangeCharacter(_arg1); }; ShowCharacter(); } public function get Character():int{ return (_character); } private function HideMarker():void{ _this.highlight_0.visible = false; _this.highlight_1.visible = false; _this.highlight_2.visible = false; _this.marker_0.visible = false; _this.marker_1.visible = false; _this.marker_2.visible = false; _this.marker_3.visible = false; _this.marker_4.visible = false; _this.marker_5.visible = false; ColorTeam(); } private function ShowCharacter():void{ if (_character == 0){ _this.character_name.gotoAndStop("RANDOM"); _this.character_pic.gotoAndStop("RANDOM"); } else { _this.character_name.gotoAndStop(_character); _this.character_pic.gotoAndStop(_character); }; } private function ChangeTeam(_arg1:int):void{ _team = (_team + _arg1); if (_team < 0){ _team = 4; }; if (_team > 4){ _team = 0; }; if ((((_team == _must_not_team)) && (!((_must_not_team == 0))))){ ChangeTeam(_arg1); return; }; ShowTeam(); } private function UncolorTeam():void{ var _local1:ColorTransform; _local1 = _this.team.transform.colorTransform; _local1.redOffset = (PlayerTeamColor.SOLO[0] - 0xFF); _local1.greenOffset = (PlayerTeamColor.SOLO[1] - 0xFF); _local1.blueOffset = (PlayerTeamColor.SOLO[2] - 0xFF); _this.team.transform.colorTransform = _local1; } public function get CurrChoice():int{ return (_curr_choice); } public function get Difficulty():int{ return (_difficulty); } public function SetStartItems(_arg1:int, _arg2:int):void{ if (_this.empty_cover.visible == true){ if (_arg1 != _must_not_team){ _team = _arg1; }; _difficulty = _arg2; }; } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_LEFT: if (_curr_choice == 0){ ChangeCharacter(-1); } else { if (_curr_choice == 1){ ChangeTeam(-1); } else { if (_curr_choice == 2){ ChangeDifficulty(-1); }; }; }; break; case MenuKey.KEY_RIGHT: if (_curr_choice == 0){ ChangeCharacter(1); } else { if (_curr_choice == 1){ ChangeTeam(1); } else { if (_curr_choice == 2){ ChangeDifficulty(1); }; }; }; break; case MenuKey.KEY_DOWN: if (_curr_choice < 2){ _curr_choice++; } else { _curr_choice = 0; }; UpdateMarker(); break; case MenuKey.KEY_ENTER: HideMarker(); _canReturn = false; _allChoicesDone = true; break; case MenuKey.KEY_UP: if (_curr_choice > 0){ _curr_choice--; } else { _curr_choice = 2; }; UpdateMarker(); break; case MenuKey.KEY_BACKSPACE: HideMarker(); _canReturn = true; _allChoicesDone = false; break; }; } private function ShowDifficulty():void{ _this.difficulty.gotoAndStop(_difficulty); } public function set CurrChoice(_arg1:int):void{ _curr_choice = _arg1; _this.empty_cover.visible = false; UpdateMarker(); ShowCharacter(); ShowTeam(); ShowDifficulty(); } private function ShowTeam():void{ if (_team == 0){ _this.team.gotoAndStop("SOLO"); } else { _this.team.gotoAndStop(_team); }; } public function set MusntTeam(_arg1:int):void{ _must_not_team = _arg1; if (_arg1 != 0){ if (_team == _arg1){ }; }; } private function ChangeDifficulty(_arg1:int):void{ _difficulty = (_difficulty + _arg1); if (_difficulty > 3){ _difficulty = 1; }; if (_difficulty < 1){ _difficulty = 3; }; ShowDifficulty(); } override public function GetChoice():String{ if (_allChoicesDone){ return ("done"); }; return (""); } private function ColorTeam():void{ var _local1:ColorTransform; if (_team == 0){ UncolorTeam(); return; }; _local1 = _this.team.transform.colorTransform; _local1.redOffset = (PlayerTeamColor.TEAM[(_team - 1)][0] - 0xFF); _local1.greenOffset = (PlayerTeamColor.TEAM[(_team - 1)][1] - 0xFF); _local1.blueOffset = (PlayerTeamColor.TEAM[(_team - 1)][2] - 0xFF); _this.team.transform.colorTransform = _local1; } } }//package Code.Data.Menu
Section 81
//bot_setup (Code.Data.Menu.bot_setup) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; public class bot_setup extends submenu_base { private var _all_plates_set:Boolean;// = false private var _must_not_team:int; private var _max_plates:int; private var _curr_plate:int;// = 0 private var _bots:int; private var _plates:Array; public function bot_setup(_arg1:MovieClip, _arg2:Sounds, _arg3:int, _arg4:int):void{ var i:int; var botPlate:MovieClip; var j:int; var mc = _arg1; var snd = _arg2; var nrOfBots = _arg3; var musntTeam = _arg4; _curr_plate = 0; _all_plates_set = false; super(); _this = mc; _Handler_Sounds = snd; _bots = nrOfBots; _must_not_team = musntTeam; _canReturn = true; _plates = new Array(); try { _this.cp_7.visible = true; _max_plates = 7; } catch(e:Error) { _max_plates = 6; }; i = 1; while (i <= _max_plates) { botPlate = MovieClip(_this.getChildByName(("cp_" + i))); botPlate.visible = true; _plates.push(new bot_plate(botPlate, _Handler_Sounds)); i = (i + 1); }; if (_bots < _max_plates){ j = (_bots + 1); while (j <= _max_plates) { MovieClip(_this.getChildByName(("cp_" + j))).visible = false; j = (j + 1); }; }; _plates[0].CurrChoice = 0; if (_bots == 1){ _plates[0].MusntTeam = _must_not_team; }; } private function CheckNextPlate():void{ var _local1:String; _canReturn = false; _local1 = _plates[_curr_plate].GetChoice(); if (_local1 == "done"){ if (_curr_plate < (_bots - 1)){ _curr_plate++; _plates[_curr_plate].MusntTeam = GetMustNotTeam(); _plates[_curr_plate].SetStartItems(_plates[(_curr_plate - 1)].Team, _plates[(_curr_plate - 1)].Difficulty); _plates[_curr_plate].CurrChoice = 0; _Handler_Sounds.PlayMightySound("ACCEPT"); } else { _all_plates_set = true; }; }; } override public function Show():void{ _this.visible = true; _plates[_curr_plate].CurrChoice = 0; } override public function KeyPressed(_arg1:int):void{ _plates[_curr_plate].KeyPressed(_arg1); switch (_arg1){ case MenuKey.KEY_ENTER: CheckNextPlate(); break; case MenuKey.KEY_BACKSPACE: CheckPrevPlate(); break; }; } public function get BotPlates():Array{ return (_plates); } private function CheckPrevPlate():void{ _all_plates_set = false; if (_plates[_curr_plate].CanReturn){ if (_curr_plate > 0){ _curr_plate--; _plates[_curr_plate].MusntTeam = GetMustNotTeam(); _plates[_curr_plate].CurrChoice = 0; _Handler_Sounds.PlayMightySound("CANCEL"); } else { _canReturn = true; }; }; } private function GetMustNotTeam():int{ var _local1:int; if (_must_not_team != 0){ _local1 = 0; while (_local1 < _bots) { if (_local1 != _curr_plate){ if (_plates[_local1].Team != _must_not_team){ return (0); }; }; _local1++; }; return (_must_not_team); }; return (0); } override public function GetChoice():String{ if (_all_plates_set){ return ("map_selection"); }; return (""); } } }//package Code.Data.Menu
Section 82
//challenge_selection (Code.Data.Menu.challenge_selection) package Code.Data.Menu { import Code.Data.*; import flash.display.*; import Code.Handler.*; import flash.net.*; public class challenge_selection extends submenu_base { private var _Handler_Keyboard:InputKeyboard; private var _stageLevelsFinished:Array; private var _nextChallenge:int; public function challenge_selection(_arg1:MovieClip, _arg2:Sounds, _arg3:InputKeyboard, _arg4:int):void{ var _local5:int; var _local6:int; super(); _this = _arg1; _canReturn = true; _Handler_Sounds = _arg2; _Handler_Keyboard = _arg3; _local5 = 0; while (_local5 < 12) { _local6 = Challenges.CHALLENGE[(_arg4 - 1)][_local5][0]; MovieClip(_this.getChildByName(("c_" + (_local5 + 1)))).map_pic.gotoAndStop(_local6); _local5++; }; LoadData(); UpdateMarker(); } override public function UpdateMarker():void{ var _local1:int; _local1 = 1; while (_local1 <= 12) { if (_stageLevelsFinished[(_local1 - 1)]){ MovieClip(_this.getChildByName(("c_" + _local1))).gotoAndStop(3); } else { MovieClip(_this.getChildByName(("c_" + _local1))).gotoAndStop(1); }; MovieClip(MovieClip(_this.getChildByName(("c_" + _local1))).getChildByName("selection")).visible = false; _local1++; }; if (_nextChallenge != 0){ MovieClip(_this.getChildByName(("c_" + _nextChallenge))).gotoAndStop(2); }; if (_nextChallenge == 0){ MovieClip(_this.getChildByName("funnyman_message")).gotoAndStop(2); } else { MovieClip(_this.getChildByName("funnyman_message")).gotoAndStop(1); }; _this.delete_marker.visible = false; if (_marker_pos <= 12){ MovieClip(MovieClip(_this.getChildByName(("c_" + _marker_pos))).getChildByName("selection")).visible = true; } else { _this.delete_marker.visible = true; }; } public function LoadData():void{ var _local1:SharedObject; var _local2:int; _local1 = SharedObject.getLocal("superfightersData_v1.0"); if (_local1.data.stageLevelsFinished != undefined){ _stageLevelsFinished = _local1.data.stageLevelsFinished; } else { _stageLevelsFinished = [false, false, false, false, false, false, false, false, false, false, false, false]; SaveData(); }; _nextChallenge = 0; _marker_pos = 1; _local2 = 0; while (_local2 < 12) { if (_stageLevelsFinished[_local2] == false){ _nextChallenge = (_local2 + 1); _marker_pos = (_local2 + 1); return; }; _local2++; }; } private function Change(_arg1:int):void{ if (_marker_pos == 13){ _marker_pos = 12; }; _marker_pos = (_marker_pos + _arg1); if (_marker_pos < 1){ _marker_pos = (_marker_pos + 12); }; if (_marker_pos > 12){ _marker_pos = (_marker_pos - 12); }; } override public function Show():void{ _this.visible = true; LoadData(); UpdateMarker(); } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_UP: if (_marker_pos == 13){ _marker_pos = 12; } else { Change(-4); }; break; case MenuKey.KEY_DOWN: if ((((_marker_pos == 11)) || ((_marker_pos == 12)))){ _marker_pos = 13; } else { if (_marker_pos == 13){ _marker_pos = 4; } else { Change(4); }; }; break; case MenuKey.KEY_LEFT: Change(-1); break; case MenuKey.KEY_RIGHT: Change(1); break; case MenuKey.KEY_ENTER: break; case MenuKey.KEY_BACKSPACE: break; }; UpdateMarker(); } public function SaveData():void{ var _local1:SharedObject; _local1 = SharedObject.getLocal("superfightersData_v1.0"); _local1.data.stageLevelsFinished = _stageLevelsFinished; _local1.flush(); } public function get SelectedChallenge():int{ return (_marker_pos); } override public function GetChoice():String{ if (_marker_pos == 13){ return ("confirm_delete"); }; if ((((_marker_pos <= _nextChallenge)) || ((_nextChallenge == 0)))){ return ("start_challenge"); }; return (""); } } }//package Code.Data.Menu
Section 83
//confirm_delete (Code.Data.Menu.confirm_delete) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; public class confirm_delete extends submenu_base { public function confirm_delete(_arg1:MovieClip, _arg2:Sounds):void{ _this = _arg1; _Handler_Sounds = _arg2; _canReturn = true; _marker_pos = 1; UpdateMarker(); } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_LEFT: Toggle(); break; case MenuKey.KEY_RIGHT: Toggle(); break; }; UpdateMarker(); } override public function UpdateMarker():void{ _this.marker_1.visible = false; _this.marker_2.visible = false; MovieClip(_this.getChildByName(("marker_" + _marker_pos))).visible = true; } private function Toggle():void{ _marker_pos++; if (_marker_pos > 2){ _marker_pos = 1; }; } override public function GetChoice():String{ if (_marker_pos == 1){ return ("delete_progress"); }; return ("not_delete_progress"); } } }//package Code.Data.Menu
Section 84
//first_choise (Code.Data.Menu.first_choise) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; import flash.net.*; public class first_choise extends submenu_base { private var _players:int;// = 1 public function first_choise(_arg1:MovieClip, _arg2:Sounds):void{ _players = 1; super(); _this = _arg1; _total_markers = 4; _Handler_Sounds = _arg2; _canReturn = true; LoadData(); UpdateMarker(); } private function LoadData():void{ var _local1:SharedObject; _local1 = SharedObject.getLocal("superfightersData_v1.0"); if (_local1.data.startedBefore == undefined){ _marker_pos = 2; _this.tutorial_promt.visible = true; SaveData(); } else { _this.tutorial_promt.visible = false; }; } public function get Players():int{ return (_players); } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_UP: _marker_pos--; if (_marker_pos < 0){ _marker_pos = (_total_markers - 1); }; break; case MenuKey.KEY_DOWN: _marker_pos++; if (_marker_pos >= _total_markers){ _marker_pos = 0; }; break; }; UpdateMarker(); } private function SaveData():void{ var _local1:SharedObject; _local1 = SharedObject.getLocal("superfightersData_v1.0"); _local1.data.startedBefore = true; _local1.flush(); } override public function GetChoice():String{ switch (_marker_pos){ case 0: _players = 1; return ("mode_selection"); case 1: _players = 2; return ("mode_selection"); case 2: _players = 1; return ("tutorial"); case 3: return ("set_up_main"); }; return (""); } } }//package Code.Data.Menu
Section 85
//map_selection (Code.Data.Menu.map_selection) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; public class map_selection extends submenu_base { public var Mode:int;// = 1 public var Level:int;// = 2 public function map_selection(_arg1:MovieClip, _arg2:Sounds):void{ Level = 2; Mode = 1; super(); _this = _arg1; _canReturn = true; _Handler_Sounds = _arg2; _canReturn = true; UpdateMarker(); } override public function UpdateMarker():void{ _this.highlight_0.visible = false; _this.highlight_1.visible = false; _this.marker_0.visible = false; _this.marker_1.visible = false; _this.marker_2.visible = false; _this.marker_3.visible = false; _this.marker_4.visible = false; _this.marker_5.visible = false; if (_marker_pos == 0){ _this.marker_0.visible = true; } else { if (_marker_pos == 1){ _this.highlight_0.visible = true; _this.marker_1.visible = true; _this.marker_2.visible = true; } else { if (_marker_pos == 2){ _this.highlight_1.visible = true; _this.marker_3.visible = true; _this.marker_4.visible = true; } else { if (_marker_pos == 3){ _this.marker_5.visible = true; }; }; }; }; _this.map.gotoAndStop(Level); _this.map_pic.gotoAndStop(Level); _this.game_mode.gotoAndStop(Mode); } private function ChangeMode(_arg1:int):void{ Mode = (Mode + _arg1); if (Mode < 1){ Mode = 7; }; if (Mode > 7){ Mode = 1; }; } private function ChangeLevel(_arg1:int):void{ Level = (Level + _arg1); if (Level > Maps.TOTAL_MAPS){ Level = 2; }; if (Level < 2){ Level = Maps.TOTAL_MAPS; }; } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_UP: _marker_pos--; if (_marker_pos < 0){ _marker_pos = 3; }; break; case MenuKey.KEY_DOWN: _marker_pos++; if (_marker_pos > 3){ _marker_pos = 0; }; break; case MenuKey.KEY_LEFT: if (_marker_pos == 1){ ChangeLevel(-1); }; if (_marker_pos == 2){ ChangeMode(-1); }; break; case MenuKey.KEY_RIGHT: if (_marker_pos == 1){ ChangeLevel(1); }; if (_marker_pos == 2){ ChangeMode(1); }; break; }; UpdateMarker(); } override public function GetChoice():String{ if (_marker_pos == 0){ return ("fight"); }; if (_marker_pos == 3){ return ("reset"); }; return (""); } } }//package Code.Data.Menu
Section 86
//MenuKey (Code.Data.Menu.MenuKey) package Code.Data.Menu { public class MenuKey { public static const KEY_DOWN:int = 1; public static const KEY_LEFT:int = 2; public static const KEY_ENTER:int = 4; public static const KEY_UP:int = 0; public static const KEY_RIGHT:int = 3; public static const KEY_BACKSPACE:int = 5; } }//package Code.Data.Menu
Section 87
//mode_selection (Code.Data.Menu.mode_selection) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; public class mode_selection extends submenu_base { public function mode_selection(_arg1:MovieClip, _arg2:Sounds):void{ _this = _arg1; _total_markers = 2; _canReturn = true; _Handler_Sounds = _arg2; UpdateMarker(); } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_UP: _marker_pos--; if (_marker_pos < 0){ _marker_pos = (_total_markers - 1); }; break; case MenuKey.KEY_DOWN: _marker_pos++; if (_marker_pos >= _total_markers){ _marker_pos = 0; }; break; }; UpdateMarker(); } override public function GetChoice():String{ switch (_marker_pos){ case 0: return ("vs_mode"); case 1: return ("stage_mode"); }; return (""); } } }//package Code.Data.Menu
Section 88
//no_bots (Code.Data.Menu.no_bots) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; public class no_bots extends submenu_base { private var _no_bots:int;// = 0 private var _max_bots:int;// = 0 private var _min_bots:int;// = 0 public function no_bots(_arg1:MovieClip, _arg2:Sounds, _arg3:int, _arg4:int):void{ var _local5:int; _max_bots = 0; _min_bots = 0; _no_bots = 0; super(); _max_bots = _arg4; _min_bots = _arg3; _this = _arg1; _local5 = 0; if (_min_bots == 1){ _local5 = (_local5 + 2); _no_bots = 1; }; if (_max_bots == 7){ _local5 = (_local5 + 1); } else { _local5 = (_local5 + 2); }; _this.gotoAndStop(_local5); _Handler_Sounds = _arg2; _canReturn = true; _total_markers = 8; _marker_pos = _no_bots; UpdateMarker(); } public function get NoBots():int{ return (_no_bots); } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_LEFT: ChangeBots(-1); break; case MenuKey.KEY_RIGHT: ChangeBots(1); break; case MenuKey.KEY_ENTER: Hide(); break; }; } private function ChangeBots(_arg1:int):void{ _no_bots = (_no_bots + _arg1); if (_no_bots < _min_bots){ _no_bots = _max_bots; }; if (_no_bots > _max_bots){ _no_bots = _min_bots; }; _marker_pos = _no_bots; UpdateMarker(); } override public function GetChoice():String{ return ("prepare_bots"); } } }//package Code.Data.Menu
Section 89
//player_plate (Code.Data.Menu.player_plate) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; import flash.geom.*; import Code.Data.Players.*; public class player_plate extends submenu_base { private var _allChoicesDone:Boolean;// = false private var _curr_choice:int;// = -1 private var _canSelectTeam:Boolean; private var _character:int;// = 0 private var _team:int;// = 0 public function player_plate(_arg1:MovieClip, _arg2:Sounds, _arg3:int, _arg4:Boolean):void{ _allChoicesDone = false; _curr_choice = -1; _character = 0; _team = 0; super(); _this = _arg1; _Handler_Sounds = _arg2; UpdateMarker(); _this.player_type.gotoAndStop(_arg3); _canSelectTeam = _arg4; if (_canSelectTeam){ _this.gotoAndStop(1); } else { _this.gotoAndStop(2); _team = 1; }; ShowCharacter(); ShowTeam(); } override public function UpdateMarker():void{ HideMarker(); if (_curr_choice == 0){ _this.marker_0.visible = true; _this.marker_1.visible = true; _this.highlight_0.visible = true; } else { if (_curr_choice == 1){ _this.marker_2.visible = true; _this.marker_3.visible = true; _this.highlight_1.visible = true; UncolorTeam(); }; }; } public function get Team():int{ return (_team); } public function get Character():int{ return (_character); } private function HideMarker():void{ _this.highlight_0.visible = false; _this.highlight_1.visible = false; _this.marker_0.visible = false; _this.marker_1.visible = false; _this.marker_2.visible = false; _this.marker_3.visible = false; ColorTeam(); } private function ShowCharacter():void{ if (_character == 0){ _this.character_name.gotoAndStop("RANDOM"); _this.character_pic.gotoAndStop("RANDOM"); } else { _this.character_name.gotoAndStop(_character); _this.character_pic.gotoAndStop(_character); }; } private function ChangeTeam(_arg1:int):void{ _team = (_team + _arg1); if (_team < 0){ _team = 4; }; if (_team > 4){ _team = 0; }; ShowTeam(); } private function UncolorTeam():void{ var _local1:ColorTransform; _local1 = _this.team.transform.colorTransform; _local1.redOffset = (PlayerTeamColor.SOLO[0] - 0xFF); _local1.greenOffset = (PlayerTeamColor.SOLO[1] - 0xFF); _local1.blueOffset = (PlayerTeamColor.SOLO[2] - 0xFF); _this.team.transform.colorTransform = _local1; } public function get CurrChoice():int{ return (_curr_choice); } private function ColorTeam():void{ var _local1:ColorTransform; if (_team == 0){ UncolorTeam(); return; }; _local1 = _this.team.transform.colorTransform; _local1.redOffset = (PlayerTeamColor.TEAM[(_team - 1)][0] - 0xFF); _local1.greenOffset = (PlayerTeamColor.TEAM[(_team - 1)][1] - 0xFF); _local1.blueOffset = (PlayerTeamColor.TEAM[(_team - 1)][2] - 0xFF); _this.team.transform.colorTransform = _local1; } private function ShowTeam():void{ if (_team == 0){ _this.team.gotoAndStop("SOLO"); } else { _this.team.gotoAndStop(_team); }; } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_LEFT: if (_curr_choice == 0){ ChangeCharacter(-1); } else { if (_curr_choice == 1){ ChangeTeam(-1); }; }; break; case MenuKey.KEY_RIGHT: if (_curr_choice == 0){ ChangeCharacter(1); } else { if (_curr_choice == 1){ ChangeTeam(1); }; }; break; case MenuKey.KEY_DOWN: if (!(_canSelectTeam)){ return; }; if (_curr_choice < 1){ _curr_choice++; } else { _curr_choice--; }; UpdateMarker(); break; case MenuKey.KEY_ENTER: HideMarker(); _canReturn = false; _allChoicesDone = true; break; case MenuKey.KEY_UP: if (!(_canSelectTeam)){ return; }; if (_curr_choice > 0){ _curr_choice--; } else { _curr_choice++; }; UpdateMarker(); break; case MenuKey.KEY_BACKSPACE: HideMarker(); _canReturn = true; _allChoicesDone = false; break; }; } public function set CurrChoice(_arg1:int):void{ _curr_choice = _arg1; UpdateMarker(); ShowCharacter(); ShowTeam(); } override public function GetChoice():String{ if (_allChoicesDone){ return ("done"); }; return (""); } private function ChangeCharacter(_arg1:int):void{ _character = (_character + _arg1); if (_character < 0){ _character = PlayerCharacter.TOTAL_CHARACTERS; }; if (_character > PlayerCharacter.TOTAL_CHARACTERS){ _character = 0; }; if (!(PlayerCharacter.CharacterAvailable(_character))){ ChangeCharacter(_arg1); }; ShowCharacter(); } } }//package Code.Data.Menu
Section 90
//set_up (Code.Data.Menu.set_up) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; import flash.utils.*; import flash.events.*; import Code.Data.Players.*; import flash.text.*; public class set_up extends submenu_base { private var _delay_key:Boolean;// = true private var _Handler_Options:Options; private var _lockKeys:Boolean;// = false private var _curr_player:int;// = 0 private var _key_edit_timer:Number; private var _Handler_Keyboard:InputKeyboard; private var _config:int; private var _update_delay:Boolean; private var _update_marker_timer:Number; private var _wait_for_key:Boolean;// = false private static var TOTAL_SELECTIONS:Array = [10, 13]; private static var SIMPLE:int = 0; private static var ADVANCED:int = 1; public function set_up(_arg1:MovieClip, _arg2:Sounds, _arg3:InputKeyboard, _arg4:Options):void{ _curr_player = 0; _config = SIMPLE; _wait_for_key = false; _delay_key = true; _lockKeys = false; super(); _this = _arg1; _marker_pos = 0; _canReturn = true; _Handler_Sounds = _arg2; _Handler_Keyboard = _arg3; _Handler_Options = _arg4; UpdateMarker(); _Handler_Keyboard.KeyDownFunction = keyDownHandler; } override public function UpdateMarker():void{ try { UpdateMarkerTick(null); } catch(e:Error) { _update_delay = false; _this.removeEventListener(Event.ENTER_FRAME, UpdateMarkerTick); _this.addEventListener(Event.ENTER_FRAME, UpdateMarkerTick, false, 0, true); }; } override public function GetChoice():String{ return (""); } private function EngageWaiting():void{ _delay_key = true; _wait_for_key = true; _canReturn = false; GetCurrentTextField().text = "PRESS"; MovieClip(_this.getChildByName(("highlight_" + (_marker_pos + 2)))).visible = true; _key_edit_timer = setInterval(function (){ clearInterval(_key_edit_timer); _delay_key = false; }, 100); } override public function Show():void{ _this.gotoAndStop(_config); _this.visible = true; UpdateMarker(); } public function PrintKeys():void{ if (_config == SIMPLE){ PrintKeyFor(_this.key_up, Player.KEY_JUMP, Player.KEY_UP); PrintKeyFor(_this.key_down, Player.KEY_KNEEL, Player.KEY_DOWN); PrintKeyFor(_this.key_left, Player.KEY_LEFT, Player.KEY_LEFT); PrintKeyFor(_this.key_right, Player.KEY_RIGHT, Player.KEY_RIGHT); PrintKeyFor(_this.key_melee, Player.KEY_MELEE, Player.KEY_MELEE); PrintKeyFor(_this.key_fire, Player.KEY_FIRE, Player.KEY_FIRE); PrintKeyFor(_this.key_throw, Player.KEY_THROW, Player.KEY_THROW); PrintKeyFor(_this.key_powerup, Player.KEY_POWERUP, Player.KEY_POWERUP); } else { PrintKeyFor(_this.key_up, Player.KEY_UP, Player.KEY_UP); PrintKeyFor(_this.key_jump, Player.KEY_JUMP, Player.KEY_JUMP); PrintKeyFor(_this.key_down, Player.KEY_DOWN, Player.KEY_DOWN); PrintKeyFor(_this.key_kneel, Player.KEY_KNEEL, Player.KEY_KNEEL); PrintKeyFor(_this.key_left, Player.KEY_LEFT, Player.KEY_LEFT); PrintKeyFor(_this.key_right, Player.KEY_RIGHT, Player.KEY_RIGHT); PrintKeyFor(_this.key_melee, Player.KEY_MELEE, Player.KEY_MELEE); PrintKeyFor(_this.key_fire, Player.KEY_FIRE, Player.KEY_FIRE); PrintKeyFor(_this.key_throw, Player.KEY_THROW, Player.KEY_THROW); PrintKeyFor(_this.key_powerup, Player.KEY_POWERUP, Player.KEY_POWERUP); PrintKeyFor(_this.key_sprint, Player.KEY_SPRINT, Player.KEY_SPRINT); }; } private function GetCurrentTextField():TextField{ if (_config == SIMPLE){ switch (_marker_pos){ case 2: return (_this.key_up); case 3: return (_this.key_down); case 4: return (_this.key_left); case 5: return (_this.key_right); case 6: return (_this.key_melee); case 7: return (_this.key_fire); case 8: return (_this.key_throw); case 9: return (_this.key_powerup); }; } else { switch (_marker_pos){ case 2: return (_this.key_up); case 3: return (_this.key_jump); case 4: return (_this.key_down); case 5: return (_this.key_kneel); case 6: return (_this.key_left); case 7: return (_this.key_right); case 8: return (_this.key_melee); case 9: return (_this.key_fire); case 10: return (_this.key_throw); case 11: return (_this.key_powerup); case 12: return (_this.key_sprint); }; }; return (null); } private function EditKeyBind():void{ if (!(_wait_for_key)){ EngageWaiting(); }; } private function SetDefaultKeys():void{ if (_curr_player == 0){ _Handler_Options.SetDefaultP1Keys(); } else { _Handler_Options.SetDefaultP2Keys(); }; _Handler_Sounds.PlayMightySound("ACCEPT"); PrintKeys(); } private function GetCurrentKeyIndex():Array{ if (_config == SIMPLE){ switch (_marker_pos){ case 2: return ([Player.KEY_UP, Player.KEY_JUMP]); case 3: return ([Player.KEY_DOWN, Player.KEY_KNEEL]); case 4: return ([Player.KEY_LEFT]); case 5: return ([Player.KEY_RIGHT]); case 6: return ([Player.KEY_MELEE]); case 7: return ([Player.KEY_FIRE]); case 8: return ([Player.KEY_THROW]); case 9: return ([Player.KEY_POWERUP]); }; } else { switch (_marker_pos){ case 2: return ([Player.KEY_UP]); case 3: return ([Player.KEY_JUMP]); case 4: return ([Player.KEY_DOWN]); case 5: return ([Player.KEY_KNEEL]); case 6: return ([Player.KEY_LEFT]); case 7: return ([Player.KEY_RIGHT]); case 8: return ([Player.KEY_MELEE]); case 9: return ([Player.KEY_FIRE]); case 10: return ([Player.KEY_THROW]); case 11: return ([Player.KEY_POWERUP]); case 12: return ([Player.KEY_SPRINT]); }; }; return ([0]); } private function UpdateMarkerTick(_arg1:Event):void{ var _local2:int; if (!(_update_delay)){ _update_delay = true; return; }; _this.removeEventListener(Event.ENTER_FRAME, UpdateMarkerTick); _local2 = 0; while (_local2 < 16) { MovieClip(_this.getChildByName(("marker_" + _local2))).visible = false; _local2++; }; _this.highlight_0.visible = false; _this.highlight_1.visible = false; _local2 = 4; while (_local2 < 16) { MovieClip(_this.getChildByName(("highlight_" + _local2))).visible = false; _local2++; }; switch (_marker_pos){ case 0: _this.highlight_0.visible = true; _this.marker_0.visible = true; _this.marker_1.visible = true; break; case 1: _this.highlight_1.visible = true; _this.marker_2.visible = true; _this.marker_3.visible = true; break; default: MovieClip(_this.getChildByName(("marker_" + (_marker_pos + 2)))).visible = true; break; }; PrintKeys(); } private function PrintKeyFor(_arg1:TextField, _arg2:int, _arg3:int):void{ if (_Handler_Options.PlayerKeys[_curr_player][_arg2] == _Handler_Options.PlayerKeys[_curr_player][_arg3]){ if (_Handler_Options.PlayerKeys[_curr_player][_arg2] == 0){ _arg1.text = "[ NONE ]"; } else { _arg1.text = _Handler_Keyboard.GetCharFromCode(_Handler_Options.PlayerKeys[_curr_player][_arg2]); }; } else { _arg1.text = ((_Handler_Keyboard.GetCharFromCode(_Handler_Options.PlayerKeys[_curr_player][_arg2]) + " / ") + _Handler_Keyboard.GetCharFromCode(_Handler_Options.PlayerKeys[_curr_player][_arg3])); }; } private function ToggleConfig():void{ if (_config == SIMPLE){ _config = ADVANCED; } else { _config = SIMPLE; }; _this.gotoAndStop((_config + 1)); } override public function KeyPressed(_arg1:int):void{ if (_wait_for_key){ return; }; switch (_arg1){ case MenuKey.KEY_UP: _marker_pos--; if (_marker_pos < 0){ _marker_pos = TOTAL_SELECTIONS[_config]; }; break; case MenuKey.KEY_DOWN: _marker_pos++; if (_marker_pos > TOTAL_SELECTIONS[_config]){ _marker_pos = 0; }; break; case MenuKey.KEY_LEFT: if (_marker_pos == 0){ TogglePlayer(); }; if (_marker_pos == 1){ ToggleConfig(); }; break; case MenuKey.KEY_RIGHT: if (_marker_pos == 0){ TogglePlayer(); }; if (_marker_pos == 1){ ToggleConfig(); }; break; case MenuKey.KEY_ENTER: if ((((_marker_pos > 1)) && ((_marker_pos < TOTAL_SELECTIONS[_config])))){ EditKeyBind(); return; }; if (_marker_pos == TOTAL_SELECTIONS[_config]){ SetDefaultKeys(); }; break; case MenuKey.KEY_BACKSPACE: if (!(_wait_for_key)){ _Handler_Keyboard.KeyDownFunction = null; }; break; }; UpdateMarker(); } private function ReleaseWaiting():void{ _wait_for_key = false; _canReturn = true; _lockKeys = false; clearInterval(_key_edit_timer); } private function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:Array; var _local3:int; var _local4:int; if (((((!(_lockKeys)) && (_wait_for_key))) && (!(_delay_key)))){ _lockKeys = true; _local2 = GetCurrentKeyIndex(); _local3 = _arg1.keyCode; if (_local3 == 27){ _local3 = 0; }; _local4 = 0; while (_local4 < _local2.length) { _Handler_Options.PlayerKeys[_curr_player][_local2[_local4]] = _local3; _local4++; }; _key_edit_timer = setInterval(ReleaseWaiting, 60); _Handler_Sounds.PlayMightySound("ACCEPT"); UpdateMarker(); }; } private function TogglePlayer():void{ if (_curr_player == 0){ _curr_player = 1; } else { _curr_player = 0; }; _this.player_nr.text = (_curr_player + 1).toString(); } } }//package Code.Data.Menu
Section 91
//set_up_main (Code.Data.Menu.set_up_main) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; import flash.events.*; public class set_up_main extends submenu_base { private var _Handler_Keyboard:InputKeyboard; private var _Handler_Options:Options; public function set_up_main(_arg1:MovieClip, _arg2:Sounds, _arg3:InputKeyboard, _arg4:Options):void{ _this = _arg1; _canReturn = true; _Handler_Sounds = _arg2; _Handler_Options = _arg4; _Handler_Keyboard = _arg3; _Handler_Keyboard.KeyDownFunctionRepeatable = keyDownHandler; UpdateMarker(); } override public function UpdateMarker():void{ var _local1:int; _local1 = 0; while (_local1 < 7) { MovieClip(_this.getChildByName(("marker_" + _local1))).visible = false; _local1++; }; _local1 = 0; while (_local1 < 3) { MovieClip(_this.getChildByName(("highlight_" + _local1))).visible = false; _local1++; }; switch (_marker_pos){ case 0: _this.marker_0.visible = true; _this.marker_1.visible = true; _this.highlight_0.visible = true; break; case 1: _this.marker_2.visible = true; _this.marker_3.visible = true; _this.highlight_1.visible = true; break; case 2: _this.marker_4.visible = true; _this.marker_5.visible = true; _this.highlight_2.visible = true; break; case 3: _this.marker_6.visible = true; break; }; UpdateText(); } private function UpdateText():void{ _this.graphic_text.text = _Handler_Options.GetStageQuality(); _this.effect_text.text = _Handler_Options.GetEffectQuality(); _this.volume_text.text = (Math.round((_Handler_Sounds.SoundEffectVolume * 100)) + " %"); } override public function Show():void{ _this.visible = true; UpdateMarker(); } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_UP: _marker_pos--; if (_marker_pos < 0){ _marker_pos = 3; }; break; case MenuKey.KEY_DOWN: _marker_pos++; if (_marker_pos > 3){ _marker_pos = 0; }; break; case MenuKey.KEY_LEFT: if (_marker_pos == 0){ _Handler_Options.ToggleGraphicQuality(-1); }; if (_marker_pos == 1){ _Handler_Options.ToggleEffectLevel(-1); }; if (_marker_pos == 2){ _Handler_Sounds.ChangeEffectVolume(0); }; break; case MenuKey.KEY_RIGHT: if (_marker_pos == 0){ _Handler_Options.ToggleGraphicQuality(1); }; if (_marker_pos == 1){ _Handler_Options.ToggleEffectLevel(1); }; if (_marker_pos == 2){ _Handler_Sounds.ChangeEffectVolume(0); }; break; case MenuKey.KEY_BACKSPACE: _Handler_Keyboard.KeyDownFunctionRepeatable = null; _Handler_Options.SaveData(); break; }; UpdateMarker(); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if (_marker_pos == 2){ if (_arg1.keyCode == 37){ _Handler_Sounds.ChangeEffectVolume(-0.01); }; if (_arg1.keyCode == 39){ _Handler_Sounds.ChangeEffectVolume(0.01); }; _this.volume_text.text = (Math.round((_Handler_Sounds.SoundEffectVolume * 100)) + " %"); }; } override public function GetChoice():String{ switch (_marker_pos){ case 3: return ("set_up"); }; return (""); } } }//package Code.Data.Menu
Section 92
//submenu_base (Code.Data.Menu.submenu_base) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; public class submenu_base { protected var _canReturn:Boolean;// = false protected var _marker_pos:int;// = 0 protected var _Handler_Sounds:Sounds; protected var _this:MovieClip; protected var _total_markers:int;// = 0 public function submenu_base(){ _total_markers = 0; _marker_pos = 0; _canReturn = false; super(); } public function get CanReturn():Boolean{ return (_canReturn); } public function KeyPressed(_arg1:int):void{ } public function Show():void{ _this.visible = true; } public function Hide():void{ _this.visible = false; } public function UpdateMarker():void{ var _local1:int; _local1 = 0; while (_local1 < _total_markers) { MovieClip(_this.getChildByName(("marker_" + _local1))).visible = false; _local1++; }; MovieClip(_this.getChildByName(("marker_" + _marker_pos))).visible = true; } public function GetChoice():String{ return (""); } } }//package Code.Data.Menu
Section 93
//vs_player_setup (Code.Data.Menu.vs_player_setup) package Code.Data.Menu { import flash.display.*; import Code.Handler.*; public class vs_player_setup extends submenu_base { private var _all_plates_set:Boolean;// = false private var _mode:int; private var _curr_plate:int;// = 0 private var _players:int; private var _plates:Array; public function vs_player_setup(_arg1:MovieClip, _arg2:Sounds, _arg3:int, _arg4:int):void{ var _local5:Boolean; var _local6:int; _curr_plate = 0; _all_plates_set = false; super(); _this = _arg1; _Handler_Sounds = _arg2; _players = _arg3; _plates = new Array(); _mode = _arg4; _local5 = true; if (_mode == 1){ _local5 = false; }; _local6 = 1; while (_local6 <= _players) { _plates.push(new player_plate(MovieClip(_this.getChildByName((("p" + _local6) + "_plate"))), _Handler_Sounds, _local6, _local5)); _local6++; }; _plates[0].CurrChoice = 0; } public function get PlayerPlateOne():player_plate{ return (_plates[0]); } public function get PlayerPlateTwo():player_plate{ return (_plates[1]); } private function CheckNextPlate():void{ var _local1:String; _canReturn = false; _local1 = _plates[_curr_plate].GetChoice(); if (_local1 == "done"){ if (_curr_plate < (_players - 1)){ _curr_plate++; _plates[_curr_plate].CurrChoice = 0; _Handler_Sounds.PlayMightySound("ACCEPT"); } else { _all_plates_set = true; }; }; } override public function Show():void{ _this.visible = true; _plates[_curr_plate].CurrChoice = 0; } override public function KeyPressed(_arg1:int):void{ _plates[_curr_plate].KeyPressed(_arg1); switch (_arg1){ case MenuKey.KEY_ENTER: CheckNextPlate(); break; case MenuKey.KEY_BACKSPACE: CheckPrevPlate(); break; }; } private function CheckPrevPlate():void{ _all_plates_set = false; if (_plates[_curr_plate].CanReturn){ if (_curr_plate > 0){ _curr_plate--; _plates[_curr_plate].CurrChoice = 0; _Handler_Sounds.PlayMightySound("CANCEL"); } else { _canReturn = true; }; }; } override public function GetChoice():String{ if (((_all_plates_set) && ((_mode == 0)))){ return ("no_bots"); }; if (((_all_plates_set) && ((_mode == 1)))){ return ("challenge_selection"); }; return (""); } } }//package Code.Data.Menu
Section 94
//BotState (Code.Data.Players.BotState) package Code.Data.Players { import Code.Box2D.Dynamics.*; import Code.Data.*; public class BotState { public var RandomFirePosition:Boolean;// = true public var GrabWeaponTimer:int;// = 0 private var _nextResNode:PathResultNode;// = null public var TargetInSight:Boolean;// = false public var DodgeBullet:Boolean;// = false public var _targetChooseTimer:Number; public var DoFireCheck:Boolean;// = false public var PreferJumpOverObstacle:Boolean;// = false public var CancelAimSoon:Boolean;// = false public var IgnoreDodgeBulletWhileAiming:Boolean;// = false public var UnavailableWeapons:Array; public var ActivateSprintCounter:int;// = 0 public var TargetHazardousObject:b2Body;// = null public var MeleeToAimMinimumChance:Number;// = 0.2 public var IgnoreObjectCheckingTimer:int;// = 0 public var RunOften:Boolean;// = true public var TargetInAim:Boolean;// = false public var RandomFireX:Number; public var RandomFireY:Number; public var FirstRocketTurnDone:Boolean;// = false public var Path:Array; public var PathGridCounter:int;// = 0 public var ResetTimer:int;// = 0 public var ActionShotFired:Boolean;// = true public var Difficulty:int; private var _phaseDelay:int;// = 0 public var UnavailablePlayers:Array; private var _targetWeapon:b2Body;// = null public var RunAwayFromHazards:Boolean;// = false public var FollowToAimMinimumDistance:Number;// = 50 public var _randomizTimer:Number; public var OpponentExist:Boolean;// = true private var _phase:int;// = 0 public var _targetInSightTimer:Number; private var targetPlayer:Player;// = null public static const DISTANCE_WALK_TOLERANCE:Number = 4; public static const EASY:int = 1; public static const DISTANCE_NODE_TOLERANCE_Y_MIN:Number = 8; public static const DISTANCE_NODE_TOLERANCE_X:Number = 6; public static const MELEE:int = 6; public static const DISTANCE_LADDER_TOLERANCE_X:Number = 2; public static const DISTANCE_NODE_TOLERANCE_Y_MAX:Number = -22; public static const IDLE:int = 0; public static const CANCEL_AIM:int = 3; public static const AIM:int = 1; public static const INTERRUPTED:int = -1; public static const HARD:int = 3; public static const GRAB_WEAPON:int = 5; public static const FOLLOW_PATH:int = 4; public static const MEDIUM:int = 2; public static const UNAVAILABLE_PLAYER_TIMER:int = 6; public static const FOLLOW_ONLY:Boolean = false; public static const DISTANCE_LADDER_TOLERANCE_Y:Number = 5; public static const SHOOT:int = 2; public function BotState(){ _phase = IDLE; _phaseDelay = 0; TargetInAim = false; TargetInSight = false; ActivateSprintCounter = 0; ResetTimer = 0; DoFireCheck = false; DodgeBullet = false; RunAwayFromHazards = false; OpponentExist = true; PreferJumpOverObstacle = false; ActionShotFired = true; IgnoreObjectCheckingTimer = 0; CancelAimSoon = false; FirstRocketTurnDone = false; RunOften = true; RandomFirePosition = true; UnavailablePlayers = new Array(); UnavailableWeapons = new Array(); FollowToAimMinimumDistance = 50; MeleeToAimMinimumChance = 0.2; IgnoreDodgeBulletWhileAiming = false; _nextResNode = null; PathGridCounter = 0; Path = new Array(); TargetHazardousObject = null; targetPlayer = null; GrabWeaponTimer = 0; _targetWeapon = null; super(); } public function IsPlayerUnavailable(_arg1:Player):Boolean{ var _local2:int; _local2 = 0; while (_local2 < UnavailablePlayers.length) { if (UnavailablePlayers[_local2][0] == _arg1){ return (true); }; _local2++; }; return (false); } public function UpdateUnavailableStuff():void{ var _local1:int; if (IgnoreObjectCheckingTimer > 0){ IgnoreObjectCheckingTimer = (IgnoreObjectCheckingTimer - 1); }; _local1 = (UnavailablePlayers.length - 1); while (_local1 >= 0) { UnavailablePlayers[_local1][1] = (UnavailablePlayers[_local1][1] + 1); if (UnavailablePlayers[_local1][1] >= UNAVAILABLE_PLAYER_TIMER){ UnavailablePlayers.splice(_local1, 1); }; _local1--; }; _local1 = (UnavailableWeapons.length - 1); while (_local1 >= 0) { UnavailableWeapons[_local1][1] = (UnavailableWeapons[_local1][1] + 1); if (UnavailableWeapons[_local1][1] >= 20){ UnavailableWeapons.splice(_local1, 1); }; _local1--; }; } public function get TargetWeapon():b2Body{ return (_targetWeapon); } public function set Phase(_arg1:int):void{ if (_phase != _arg1){ _phase = _arg1; if (((((((!((_phase == INTERRUPTED))) && (!((_phase == IDLE))))) && (!((_phase == SHOOT))))) && (!((_phase == CANCEL_AIM))))){ SetDelay(); } else { _phaseDelay = 0; }; }; } public function get NextResultNode():PathResultNode{ return (_nextResNode); } public function set PhaseDelay(_arg1:int):void{ _phaseDelay = _arg1; } public function get IgnoreObjectChecking():Boolean{ return ((IgnoreObjectCheckingTimer > 0)); } public function set TargetWeapon(_arg1:b2Body):void{ _targetWeapon = _arg1; if (_targetWeapon == null){ GrabWeaponTimer = 0; }; } public function get Phase():int{ return (_phase); } public function SetDelay():void{ switch (Difficulty){ case EASY: _phaseDelay = (6 + Math.floor((Math.random() * 1.99))); break; case MEDIUM: _phaseDelay = (3 + Math.floor((Math.random() * 1.99))); break; case HARD: _phaseDelay = Math.floor((Math.random() * 2.99)); break; }; } public function set NextResultNode(_arg1:PathResultNode):void{ _nextResNode = _arg1; } public function get PhaseDelay():int{ return (_phaseDelay); } public function IsWeaponUnavailable(_arg1:b2Body):Boolean{ var _local2:int; _local2 = 0; while (_local2 < UnavailableWeapons.length) { if (UnavailableWeapons[_local2][0] == _arg1){ return (true); }; _local2++; }; return (false); } public function set TargetPlayer(_arg1:Player):void{ targetPlayer = _arg1; if (targetPlayer == null){ TargetInAim = false; TargetInSight = false; TargetHazardousObject = null; }; } public function get TargetPlayer():Player{ return (targetPlayer); } } }//package Code.Data.Players
Section 95
//Player (Code.Data.Players.Player) package Code.Data.Players { import flash.display.*; import Code.Data.Weapons.*; import Code.Box2D.Dynamics.*; import Code.Handler.*; import flash.geom.*; import flash.utils.*; import Code.Data.*; import Code.Box2D.Common.Math.*; import Code.Particles.*; import fl.motion.*; public class Player extends MovieClip { private var _last_slowmotion:SlowmoData;// = null private var AFSUpdated:Boolean;// = false private var _staggerFragileObject:b2Body;// = null private var _char:MovieClip; private var _this_x:Number; private var _this_y:Number; private var _gui_mc:MovieClip; private var _static_objects_hitbox_mc:MovieClip; private var _button_in_melee_range:Boolean;// = false private var _static_players_area_mc:MovieClip; private var _PlayerState:PlayerState; private var _activated:Boolean;// = false private var _Handler_Slowmo:Slowmo; private var _flameAwayCounter:Number;// = 0 private var _slowmotion_timer:int;// = 0 private var b:b2Body; private var _players:Array; private var _static_objects_cloud_hitbox_mc:MovieClip; private var _BotState:BotState; private var _static_ladder_hitbox_mc:MovieClip; private var _Handler_Maps:Maps; private var _performJumpDownLevel:Boolean;// = false private var _flameAwayActivated:Boolean;// = false private var _Handler_ProjectilesUpdater; private var _static_world_hitbox_mc:MovieClip; private var _standingOnObject:b2Body;// = null private var _indicationWeapon:b2Body;// = null var _edgePositionL:Number; private var _bot:Boolean;// = false var _edgePositionR:Number; private var _flameAwayTimer:Number; private var _lazer_mc:MovieClip; private var m_world:b2World; private var _player_area_mc:MovieClip; private var _Handler_Fires:Fires; private var _lastBounceY:Number; private var _startAimASAP:Boolean;// = false private var _old_this_x:Number; private var _old_this_y:Number; private var _playerNr:int; private var _Handler_Output:OutputTrace; private var _char_gui:MovieClip; private var _player_mc:MovieClip; private var _Handler_Sounds:Sounds; private var _downTimer:Number; private var _cancelAimingASAP:Boolean;// = false private var _slowmotion_modifier:Number;// = 1 private var _keyPressed:Array; var _headColl:Boolean; var _sideColl:Boolean; private var _pathGrid:PathGrid; private var _static_world_cloud_hitbox_mc:MovieClip; private var _Handler_Effects:Effects; private var _bullet_game_speed:Number;// = 1 private var _MapArea:PlayerAreaData; private var _keys:Array; private var _smokeDelay:Number;// = 0 private var _PlayerBars:PlayerBars; private var RecalculateCamArea:Function; private var _botTimer:Number; private var _dynamic_mc:MovieClip; private var _team:Number; private var _PlayerAnimation:PlayerAnimation; private var _button_to_activate:b2Body;// = null private var _game_speed:Number;// = 1 private var _blood_mc:MovieClip; private var _static_players_hitbox_mc:MovieClip; private var _deathScreamDone:Boolean;// = false private var _lazer_rnd:Number;// = 0 private var _Handler_Shake:Shake; private var _static_mc:MovieClip; private var _collision_mc:MovieClip; private var objectImpactList:Array; private var _game_mc:MovieClip; private var _jumpDownPosYDisable:Number;// = 0 private var _Handler_Keyboard:InputKeyboard; var _edgePosition:Number; private var _aim_mc:MovieClip; private var _enableJumpDownLevel:Boolean;// = false private var _blood_gui:MovieClip; public static const KEY_POWERUP:int = 7; public static const TEAM_SOLO:int = 0; public static const KEY_THROW:int = 6; public static const KEY_LEFT:int = 2; public static const TEAM_2:int = 2; public static const TEAM_3:int = 3; public static const KEY_MELEE:int = 4; public static const AIM_SQUARE_DISTANCE:Number = 8; public static const TEAM_1:int = 1; public static const HAZARDOUS_DISTANCE:Number = 25; public static const KEY_SPRINT:int = 10; public static const KEY_UP:int = 0; public static const TEAM_4:int = 4; public static const KEY_DOWN:int = 1; public static const KEY_JUMP:int = 8; public static const HAZARDOUS_DISTANCE_AVOID:Number = 45; public static const KEY_KNEEL:int = 9; public static const KEY_RIGHT:int = 3; public static const KEY_FIRE:int = 5; public function Player(_arg1:int, _arg2:MovieClip, _arg3:b2World, _arg4:Maps, _arg5:Sounds, _arg6:Slowmo, _arg7:Shake, _arg8:Effects, _arg9:ProjectilesUpdater, _arg10:OutputTrace, _arg11:Point, _arg12:Number, _arg13:int, _arg14:Function, _arg15:Array, _arg16:PathGrid){ var _local17:MovieClip; var _local18:*; var _local19:MovieClip; _bot = false; _game_speed = 1; _last_slowmotion = null; _slowmotion_timer = 0; _slowmotion_modifier = 1; _bullet_game_speed = 1; _lazer_rnd = 0; _startAimASAP = false; _cancelAimingASAP = false; _smokeDelay = 0; _deathScreamDone = false; _activated = false; _indicationWeapon = null; _performJumpDownLevel = false; _jumpDownPosYDisable = 0; _enableJumpDownLevel = false; _standingOnObject = null; _flameAwayCounter = 0; _flameAwayActivated = false; AFSUpdated = false; _button_in_melee_range = false; _button_to_activate = null; _staggerFragileObject = null; super(); _game_mc = _arg2; m_world = _arg3; _Handler_Output = _arg10; _Handler_Effects = _arg8; _Handler_ProjectilesUpdater = _arg9; _Handler_Maps = _arg4; _Handler_Sounds = _arg5; _Handler_Slowmo = _arg6; _Handler_Shake = _arg7; _pathGrid = _arg16; PlayerNr = _arg13; RecalculateCamArea = _arg14; _static_mc = MovieClip(_game_mc.getChildByName("STATIC")); _local17 = MovieClip(_game_mc.getChildByName("GAME_WINDOW")); _dynamic_mc = MovieClip(MovieClip(_local17.getChildByName("DYNAMICHOLDER")).getChildByName("DYNAMIC")); _static_ladder_hitbox_mc = MovieClip(_static_mc.getChildByName("LADDER_HITBOX")); _static_world_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_HITBOX")); _static_world_cloud_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_CLOUD_HITBOX")); _static_objects_cloud_hitbox_mc = MovieClip(_static_world_cloud_hitbox_mc.getChildByName("OBJECTS_CLOUD_HITBOX")); _static_objects_hitbox_mc = MovieClip(_static_world_hitbox_mc.getChildByName("OBJECTS_HITBOX")); _static_players_hitbox_mc = MovieClip(_static_mc.getChildByName("PLAYERS_HITBOX")); _static_players_area_mc = MovieClip(_static_mc.getChildByName("PLAYERS_AREA")); _lazer_mc = new MovieClip(); _lazer_mc.visible = false; _aim_mc = new player_aim(); _aim_mc.visible = false; MovieClip(_dynamic_mc.getChildByName("LAZERS")).addChild(_lazer_mc); MovieClip(_dynamic_mc.getChildByName("LAZERS")).addChild(_aim_mc); _collision_mc = new player_hitarea(); _player_area_mc = new MovieClip(); _player_area_mc.graphics.lineStyle(1, 0xFF0000, 0.5); _player_area_mc.graphics.beginFill(0xFF0000, 0.5); _player_area_mc.graphics.moveTo(-6, 2); _player_area_mc.graphics.lineTo(-6, -18); _player_area_mc.graphics.lineTo(6, -18); _player_area_mc.graphics.lineTo(6, 2); _player_area_mc.graphics.lineTo(-6, 2); _player_area_mc.graphics.endFill(); _static_players_hitbox_mc.addChild(_collision_mc); _static_players_area_mc.addChild(_player_area_mc); _char = PlayerCharacter.Get(_arg1); _char.x = 0; _char.y = 0; this.addChild(_char); _blood_mc = new player_blood(); _blood_mc.visible = false; this.addChild(_blood_mc); _player_mc = MovieClip(_dynamic_mc.getChildByName("PLAYERS")); _player_mc.addChild(this); this.x = _arg11.x; this.y = _arg11.y; _team = _arg12; if (_team == 0){ _team = (-(PlayerNr) - 1); }; _keyPressed = new Array(20); _local18 = 0; while (_local18 < _keyPressed.length) { _keyPressed[_local18] = false; _local18++; }; _PlayerState = new PlayerState(); _PlayerState.Team = _team; _PlayerState.CharNr = _arg1; _PlayerState.StopStaggerFunc = StopStaggerFunc; _PlayerAnimation = new PlayerAnimation(_char, _blood_mc, _collision_mc, _PlayerState, _Handler_Output); _local19 = MovieClip(_dynamic_mc.parent.parent.getChildByName("GUI")); _PlayerBars = new PlayerBars(_PlayerState, _local19); _players = _arg15; _Handler_Output.Trace(("Player Constructed at: " + _arg11)); } public function ExplosionX():Number{ return (MidPosX()); } public function ExplosionY():Number{ return (MidPosY()); } private function KillPlayer():void{ } private function ThrowUp():void{ if (((_PlayerState.StuckToRocket) || (_PlayerState.Staggering))){ return; }; _startAimASAP = false; if (((((!(_PlayerState.Throwing)) && (_PlayerState.Aiming))) && (!(_PlayerState.AimTurningAroundDelay)))){ if (_PlayerState.AimMode == 1){ _PlayerState.Throwing = true; _PlayerState.Aiming = false; ReleaseThrowable(); }; }; } public function LinkToFire(_arg1:Fires):void{ _Handler_Fires = _arg1; } private function MainUpdate():void{ var _local1:int; var _local2:int; var _local3:Number; if ((((_PlayerState.HP > 0)) && (_PlayerState.ShowFlashEffect))){ if (_PlayerState.FlashEffectTimer > 0){ UpdateFlashEffect(); } else { StopFlashEffect(); }; } else { if (_PlayerState.ShowFlashEffect){ StopFlashEffect(); }; }; if (_PlayerState.GrabbedByPlayer){ return; }; if (_PlayerState.StuckToRocket){ AddSmokeTrace(1); _PlayerState.RocketRideTimer = (_PlayerState.RocketRideTimer + _game_speed); if (_PlayerState.RocketRideTimer > 150){ _PlayerState.RocketRideProjectile.Explode(); return; }; if (_keyPressed[3]){ _PlayerState.RocketRideProjectile.Angle = (_PlayerState.RocketRideProjectile.Angle + (20 * _game_speed)); }; if (_keyPressed[2]){ _PlayerState.RocketRideProjectile.Angle = (_PlayerState.RocketRideProjectile.Angle - (20 * _game_speed)); }; return; }; _old_this_x = _this_x; _old_this_y = _this_y; _PlayerState.MovingDirectionX = 0; UpdateInversedDirection(); if (_PlayerState.TakingCover){ if (!(CanTakeCover(_PlayerState.LastDirX))){ _PlayerState.TakingCover = false; }; }; if (_PlayerState.ControllAble){ if (_PlayerState.Aiming){ if (!(_PlayerState.AimTurningAroundDelay)){ if (_keyPressed[1]){ AimDown(); } else { if (_keyPressed[0]){ AimUp(); } else { AimIdle(); }; }; AimLazer(); if (PressingLeft()){ AimLeft(); } else { if (PressingRight()){ AimRight(); }; }; } else { if (_keyPressed[1]){ AimDown(); } else { if (_keyPressed[0]){ AimUp(); } else { AimIdle(); }; }; }; } else { if (!(_PlayerState.Sprinting)){ if (KeyPressed(KEY_SPRINT)){ if (_PlayerState.SprintEnergy > 10){ _PlayerState.Sprinting = true; }; }; }; if (_PlayerState.PlayerJumpPushActivated){ if (((_PlayerState.Jumping) && (_PlayerState.PlayerJumpPushEnabled))){ if (_keyPressed[KEY_JUMP]){ _PlayerState.JumpPushTimeLeft = (_PlayerState.JumpPushTimeLeft - _game_speed); if (_PlayerState.JumpPushTimeLeft <= 0){ _PlayerState.PlayerJumpPushEnabled = false; } else { if (_PlayerState.PlayerJumpPushLevelOut){ _local3 = (_PlayerState.JumpPushTimeLeft / _PlayerState.PlayerJumpPushTime); _PlayerState.AirVelocityY = (_PlayerState.AirVelocityY + ((_PlayerState.PlayerJumpPushPower * _local3) * _game_speed)); } else { _PlayerState.AirVelocityY = (_PlayerState.AirVelocityY + (_PlayerState.PlayerJumpPushPower * _game_speed)); }; }; } else { _PlayerState.PlayerJumpPushEnabled = false; }; }; }; if (_keyPressed[KEY_UP]){ if (_static_ladder_hitbox_mc.hitTestPoint(MidPosX(), MidPosY(), true)){ _PlayerState.Climbing = true; }; } else { if (_keyPressed[KEY_DOWN]){ if (!(_PlayerState.OnGround)){ if (_static_ladder_hitbox_mc.hitTestPoint(MidPosX(), MidPosY(), true)){ _PlayerState.Climbing = true; }; }; }; }; if (((_keyPressed[KEY_KNEEL]) && (!(_PlayerState.TakingCover)))){ if (_PlayerState.OnGround){ if (((!(_keyPressed[2])) && (!(_keyPressed[3])))){ if (!(_PlayerState.DisableKneel)){ _PlayerState.Kneeling = true; }; } else { if (!(CheckForceKneeling())){ _PlayerState.Kneeling = false; }; if (_PlayerState.Sprinting){ if (((_PlayerState.CanDive) || (_PlayerState.ShortDiveAvailable))){ Dive(); }; } else { if (_PlayerState.ShortDiveAvailable){ Dive(); } else { if (_PlayerState.CanRoll){ Roll(); }; }; }; }; }; } else { if (!(CheckForceKneeling())){ _PlayerState.Kneeling = false; }; }; if (!(_PlayerState.Climbing)){ if (PressingLeft(true)){ MoveDirection(-1); } else { if (PressingRight(true)){ MoveDirection(1); } else { if (_PlayerState.WallJumping){ MovePlayer(1, _PlayerState.WallJumpSpeed); }; }; }; }; }; UpdateWeaponGrab(); if (_PlayerState.QueueJumpKick){ if (_PlayerState.Jumping){ if (((((!(_PlayerState.JumpKickPerformed)) && ((_PlayerState.AirbornTimer >= 2.5)))) && (!(_PlayerState.Climbing)))){ _Handler_Sounds.PlaySoundAt("KICK_SWING", PosX(), PosY()); Kick(false, true); _PlayerState.JumpKickPerformed = true; }; }; }; } else { _lazer_mc.visible = false; _aim_mc.visible = false; if (_PlayerState.Staggering){ if (CanStagger()){ if (_staggerFragileObject != null){ _staggerFragileObject.ApplyImpulse(new b2Vec2((-(_PlayerState.LastDirX) * 0.5), 0), new b2Vec2(0, 0)); _staggerFragileObject.GetUserData().objectData.ForceDestruction(); _staggerFragileObject = null; }; MovePlayer(_PlayerState.LastDirX, (_PlayerState.LastDirX * _PlayerState.StaggerSpeed)); } else { if (_PlayerState.HP <= 0){ Fall(false); }; _PlayerState.Staggering = false; }; } else { if (_PlayerState.Rolling){ MovePlayer(_PlayerState.LastDirX, (_PlayerState.LastDirX * _PlayerState.RollSpeed)); UpdateWeaponGrab(); } else { if (!(_PlayerState.IsStunned)){ if (_PlayerState.Punching){ if (!(_PlayerState.PunchHitPerformed)){ if (_PlayerAnimation.NextFrame(_game_speed) < _PlayerState.HitPunchComboFrame){ if (PressingLeft()){ TurnLeft(); } else { if (PressingRight()){ TurnRight(); }; }; } else { if (_PlayerAnimation.NextFrame(_game_speed) == _PlayerState.HitPunchComboFrame){ MeleeStrike(); }; }; } else { if (_PlayerState.PunchComboNr == 3){ MovePlayer(_PlayerState.LastDirX, ((_PlayerState.PunchGlideSpeed * _PlayerState.LastDirX) * (1 - _PlayerAnimation.Progress))); }; }; }; }; }; }; }; if (((((((!(_PlayerState.ControllAble)) || (_PlayerState.Aiming))) || (((!(_keyPressed[2])) && (!(_keyPressed[3])))))) || (((_keyPressed[2]) && (_keyPressed[3]))))){ _PlayerState.Running = false; }; UpdateObjectImpacts(); UpdateStairBounce(); if (!(_PlayerState.OnGround)){ UpdateAirMovement(); } else { UpdateGroundMovement(); }; if (Stuck()){ _this_x = _old_this_x; _this_y = _old_this_y; }; this.x = _this_x; this.y = _this_y; _collision_mc.x = _this_x; _collision_mc.y = _this_y; _player_area_mc.x = _this_x; _player_area_mc.y = _this_y; _PlayerState.PortalSpeedX = (Math.abs((_this_x - _old_this_x)) / _game_speed); _local1 = ConvertToDirection((_this_x - _old_this_x)); if (_local1 != 0){ _PlayerState.PortalDirectionX = _local1; }; ProgressAFS(); AFSUpdated = false; _local2 = 0; while (_local2 < m_world.MolotovList.length) { b = m_world.MolotovList[_local2]; if (b.GetUserData().objectData.UserValues[0] != PlayerNr){ if (CollisionMC.hitTestObject(b.GetUserData().objectData.ShapeMC)){ if (CollisionMC.hitTestPoint((b.GetPosition().x * 30), (b.GetPosition().y * 30), true)){ b.GetUserData().objectData.ForceDestruction(); }; }; }; _local2++; }; if (_PlayerState.EmptyWeaponRecoilBack > 0){ _PlayerState.EmptyWeaponRecoilBack = (_PlayerState.EmptyWeaponRecoilBack - 1); if (_PlayerState.EmptyWeaponRecoilBack <= 0){ if (_char.ANIM_WPN != null){ _char.ANIM_WPN.x = _PlayerState.CharAnimWpnX; _char.ANIM_WPN.y = _PlayerState.CharAnimWpnY; }; }; }; if (_PlayerState.AddSmokeEffect){ AddSmokeTrace(2); }; } private function FireWeapon():void{ if ((((_PlayerState.CurrentWeaponCooldown > 0)) || ((_PlayerState.DrawDelay > 0)))){ return; }; if (_PlayerState.CurrentRangeWeapon.Ammo > 0){ _PlayerState.CurrentWeaponCooldown = _PlayerState.CurrentRangeWeapon.Properties.WeaponCooldown; _PlayerState.CurrentFireFrame = 1; ProgressAFS(true); } else { WeaponEmptyRecoil(); }; } private function CheckDeathBounce():void{ var _local1:Boolean; var _local2:Boolean; var _local3:Boolean; var _local4:int; var _local5:int; var _local6:Boolean; _local1 = true; _local2 = true; _local3 = true; if ((_lastBounceY + 5) > _this_y){ _local3 = false; _local1 = false; _local2 = false; } else { _local1 = DetectEdge(1); _local2 = DetectEdge(-1); }; if (((!(_local1)) && (!(_local2)))){ _local6 = true; _local5 = 0; while (_local5 < 6) { if (HitTestWorldOnly(_this_x, (_this_y + _local5))){ _local6 = false; }; _local5 = (_local5 + 2); }; if (_local6){ _local5 = 0; while (_local5 < 4) { if (_static_world_cloud_hitbox_mc.hitTestPoint(_this_x, (_this_y + _local5), true)){ _jumpDownPosYDisable = (_this_y + 10); _performJumpDownLevel = true; Fall(false); this.scaleX = (this.scaleX * -1); _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = (_PlayerState.LastDirX * -1); _PlayerState.AirVelocityX = ((Math.random() * 3) - 1.5); _PlayerState.AirVelocityY = -1.5; return; }; _local5 = (_local5 + 2); }; }; return; }; if (!(_local3)){ return; }; if (((_local1) && (_local2))){ if (Math.random() < 0.5){ _local1 = false; } else { _local2 = false; }; }; _local4 = 0; if (_local1){ _local4 = 1; } else { if (_local2){ _local4 = -1; }; }; Fall(false); this.scaleX = (this.scaleX * -1); _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = (_PlayerState.LastDirX * -1); _PlayerState.AirVelocityX = (_local4 * 1.5); _PlayerState.AirVelocityY = -1.5; } private function FireDown():void{ if (_game_speed == 0){ return; }; if (_PlayerState.StuckToRocket){ return; }; if (_PlayerState.Staggering){ return; }; if (((_PlayerState.ControllAble) && (!(_PlayerState.Jumping)))){ if (((!(_PlayerState.Throwing)) && (!(_PlayerState.Aiming)))){ if (!(_PlayerState.FireDelayActivated)){ _PlayerState.FireDelayActivated = true; _PlayerState.FireDelayUpdated = false; _PlayerState.FireDelayTimer = setInterval(FireDelay, 100); } else { if (_PlayerState.CurrentThrowableWeapon.Ammo > 0){ CancelFireDelay(); _PlayerState.Aiming = true; _PlayerState.AimMode = 1; _PlayerState.ThrowTimer = _PlayerState.CurrentThrowableWeapon.Properties.ThrowTimer; _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentThrowableWeapon.Properties.AimSound, PosX(), PosY()); } else { CancelFireDelay(); }; }; }; } else { _startAimASAP = true; }; } private function CollisionHead(_arg1:Number=0):Boolean{ var _local2:int; if (((_static_world_hitbox_mc.hitTestPoint(_this_x, ((_this_y - _PlayerState.PlayerHeight) + _arg1), true)) && (((_static_world_hitbox_mc.hitTestPoint((_this_x - _PlayerState.PlayerEdgeDistance), ((_this_y - _PlayerState.PlayerHeight) + _arg1), true)) || (_static_world_hitbox_mc.hitTestPoint((_this_x + _PlayerState.PlayerEdgeDistance), ((_this_y - _PlayerState.PlayerHeight) + _arg1), true)))))){ return (true); }; _local2 = 4; while (_local2 <= (_PlayerState.PlayerHeight - 2)) { if (((((_static_world_hitbox_mc.hitTestPoint((_this_x - _PlayerState.PlayerEdgeDistance), ((_this_y - _local2) + _arg1), true)) && (_static_world_hitbox_mc.hitTestPoint(_this_x, (_this_y - _local2), true)))) && (_static_world_hitbox_mc.hitTestPoint((_this_x + _PlayerState.PlayerEdgeDistance), ((_this_y - _local2) + _arg1), true)))){ return (true); }; _local2 = (_local2 + 2); }; return (false); } private function BotGoForReset(_arg1:Boolean=false):void{ _BotState.ResetTimer = (_BotState.ResetTimer + 1); if ((((_BotState.ResetTimer >= 4)) || (_arg1))){ _BotState.NextResultNode = null; _BotState.TargetPlayer = null; _BotState.TargetWeapon = null; _BotState.ResetTimer = 0; _BotState.RunAwayFromHazards = false; }; } private function StopFlashEffect():void{ var _local1:Color; if (_PlayerState.ShowFlashEffect){ _local1 = new Color(); _local1.brightness = 0; this.transform.colorTransform = _local1; }; _PlayerState.ShowFlashEffect = false; } public function Stop():void{ CancelFireDelay(); clearInterval(_flameAwayTimer); clearInterval(_downTimer); if (_bot){ clearInterval(_BotState._targetInSightTimer); clearInterval(_BotState._targetChooseTimer); clearInterval(_BotState._randomizTimer); clearInterval(_botTimer); }; } private function CloudCollisionUp(_arg1:Number, _arg2:Number, _arg3:Boolean):Boolean{ var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; if (_static_world_cloud_hitbox_mc.hitTestPoint(_arg1, _arg2, _arg3)){ _local4 = m_world.GetRotatedCloudAt(_arg1, _arg2); if (_local4 != null){ if (_local4.GetAngle() != 0){ _local5 = _PlayerState.AirVelocityX; _local6 = _PlayerState.AirVelocityY; if (((!(_PlayerState.Falling)) && (!(_PlayerState.Knockdowned)))){ _local5 = (_PlayerState.MovingDirectionX * _PlayerState.RunSpeed); }; _local7 = Math.cos(-(_local4.GetAngle())); _local8 = Math.sin(-(_local4.GetAngle())); _local9 = ((_local5 * _local7) + (_local6 * -(_local8))); _local10 = ((_local5 * _local8) + (_local6 * _local7)); _local11 = Math.atan2(_local10, _local9); if (_local11 > 0){ return (true); }; }; }; }; return (false); } private function ClearLazerPoints():void{ var _local1:int; _local1 = _lazer_mc.numChildren; while (_local1--) { _lazer_mc.removeChildAt(_local1); }; } private function BotObstacleAt(_arg1:int):Boolean{ var _local2:b2Body; var _local3:Number; var _local4:Number; _local3 = 0; while (_local3 <= 4) { _local4 = -12; while (_local4 <= 6) { _local2 = GetDynamicBodyAt(((_this_x + (_arg1 * _PlayerState.PlayerEdgeDistance)) + (_arg1 * _local3)), (MidPosY() + _local4), false); if (_local2 != null){ _BotState.PreferJumpOverObstacle = _local2.GetUserData().objectData.BotPreferJump; return (true); }; _local4 = (_local4 + 6); }; _local3 = (_local3 + 4); }; return (false); } private function BotCheckStandingOnObject():Boolean{ if (((BotStandingOnObjectAtX(0)) || (BotStandingOnObjectAtX((_PlayerState.LastDirX * 6))))){ if (_PlayerState.KickingCooldown <= 0){ SetBotKey(KEY_MELEE, !(_keyPressed[KEY_MELEE])); } else { SetBotKey(KEY_MELEE, false); }; return (true); }; if (BotStandingOnObjectAtX((-(_PlayerState.LastDirX) * 6))){ if (_PlayerState.LastDirX == 1){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_LEFT, true); SetBotKey(KEY_RIGHT, false); }; return (true); }; return (false); } private function BotWalkAroundJumpObstalce():void{ var _local1:int; var _local2:int; _local1 = 1; _local2 = _PlayerState.PlayerEdgeDistance; while (_local2 <= (_PlayerState.PlayerEdgeDistance * 5)) { if (BotCanJump(_local2)){ _local1 = 1; _local2 = 100; } else { if (BotCanJump(-(_local2))){ _local1 = -1; _local2 = 100; }; }; _local2 = (_local2 + _PlayerState.PlayerEdgeDistance); }; if (_local1 == 1){ SetBotKey(KEY_RIGHT, true); SetBotKey(KEY_LEFT, false); } else { SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, true); }; if (BotObstacleAt(_local1)){ if (((_BotState.PreferJumpOverObstacle) && (!(_PlayerState.Jumping)))){ SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); } else { SetBotKey(KEY_MELEE, !(_keyPressed[KEY_MELEE])); }; }; } private function RangedDown():void{ if (((((((_cancelAimingASAP) || ((_game_speed == 0)))) || (_PlayerState.StuckToRocket))) || (_PlayerState.Staggering))){ return; }; if (((_PlayerState.ControllAble) && (!(_PlayerState.Jumping)))){ if (((!(_PlayerState.Throwing)) && (!(_PlayerState.Aiming)))){ if (_PlayerState.CurrentRangeWeapon != null){ _PlayerState.FastTrigger = true; _PlayerState.Aiming = true; _cancelAimingASAP = false; _PlayerState.AimMode = 0; _PlayerState.AimTurningAround = true; _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentRangeWeapon.Properties.AimSound, PosX(), PosY()); _PlayerState.DrawDelay = 1; }; }; } else { _startAimASAP = true; }; } private function UpdateSimpleGroundMovement(_arg1:Boolean):void{ var _local2:int; if (CollisionFeetMid(0, 1)){ if (CollisionFeetMid(-1, 1)){ _local2 = 0; while (((((CollisionFeetMid(-1, 1)) && (!(WorldCollisionHead())))) && ((_local2 < 100)))) { _this_y = (_this_y - 0.1); _local2 = (_local2 + 1); }; if (_local2 > 0){ _this_y = (_this_y + 0.1); }; }; if (_arg1){ UpdateDynamicMovement(); }; } else { if (CanLandInMid()){ if (_PlayerState.OnGround){ while (!(CollisionFeetMid())) { _this_y = (_this_y + 0.1); }; if (_arg1){ UpdateDynamicMovement(); }; }; } else { if (CollisionFeetSides()){ if (_arg1){ UpdateDynamicMovement(); }; if (!(CollisionFeetSides())){ if (_PlayerState.Staggering){ Fall(false); } else { _PlayerState.Jumping = true; }; }; } else { CheckAimDrop(); if (_PlayerState.Staggering){ Fall(false); } else { if (_standingOnObject != null){ if (_standingOnObject.GetUserData().objectData.IsElevator){ UpdateDynamicMovement(); return; }; }; _PlayerState.Jumping = true; }; }; }; }; } public function get RemoveFromList():Boolean{ return (((_PlayerState.CameraIgnoreMe) && (_PlayerState.Gone))); } private function BotAutoPickupItem(_arg1:b2Body):Boolean{ if ((((_arg1.GetUserData().isRanged == true)) && ((_PlayerState.CurrentRangeWeapon == null)))){ return (true); }; if ((((_arg1.GetUserData().isThrowable == true)) && ((_PlayerState.CurrentThrowableWeapon == null)))){ return (true); }; if ((((_arg1.GetUserData().isMelee == true)) && ((_PlayerState.CurrentMeleeWeapon == null)))){ return (true); }; if ((((_arg1.GetUserData().isPowerup == true)) && ((_PlayerState.CurrentPowerupWeapon == null)))){ return (true); }; if ((((_arg1.GetUserData().isHealth == true)) && ((_PlayerState.HP < 100)))){ return (true); }; return (false); } public function get CollisionMC():MovieClip{ return (_collision_mc); } private function Jump():void{ if (!(_PlayerState.Aiming)){ if (_PlayerState.Climbing){ LadderJump(); } else { if (!(_PlayerState.Jumping)){ BeginJump(); }; }; }; } private function UpdateWeaponGrab():void{ var _local1:b2Body; _local1 = GetClosestReachableWeapon(); if (_local1 != null){ if ((((_local1.GetUserData().isRanged == true)) && ((_PlayerState.CurrentRangeWeapon == null)))){ _PlayerState.CurrentRangeWeapon = _local1.GetUserData().weaponData; _Handler_Effects.AddParticle(new particle_data(("PICKUP_" + _local1.GetUserData().weaponData.Properties.WeaponType), MidPosX(), (MidPosY() - 10))); _local1.GetUserData().objectData.ForceDestruction(); _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentRangeWeapon.Properties.PickupSound, PosX(), PosY()); UpdateGUI(); return; }; if ((((_local1.GetUserData().isThrowable == true)) && ((_PlayerState.CurrentThrowableWeapon.Ammo <= 0)))){ _PlayerState.CurrentThrowableWeapon = _local1.GetUserData().weaponData; _Handler_Effects.AddParticle(new particle_data(("PICKUP_" + _local1.GetUserData().weaponData.Properties.WeaponType), MidPosX(), (MidPosY() - 10))); _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentThrowableWeapon.Properties.PickupSound, PosX(), PosY()); _local1.GetUserData().objectData.ForceDestruction(); UpdateGUI(); return; }; if ((((_local1.GetUserData().isMelee == true)) && ((_PlayerState.CurrentMeleeWeapon == null)))){ _PlayerState.CurrentMeleeWeapon = _local1.GetUserData().weaponData; _Handler_Effects.AddParticle(new particle_data(("PICKUP_" + _local1.GetUserData().weaponData.Properties.WeaponType), MidPosX(), (MidPosY() - 10))); _Handler_Sounds.PlaySoundAt(_PlayerState.GetMeleeWeapon().Properties.PickupSound, PosX(), PosY()); _local1.GetUserData().objectData.ForceDestruction(); UpdateGUI(); return; }; if ((((_local1.GetUserData().isPowerup == true)) && ((_PlayerState.CurrentPowerupWeapon == null)))){ _PlayerState.CurrentPowerupWeapon = _local1.GetUserData().weaponData; _Handler_Effects.AddParticle(new particle_data(("PICKUP_" + _local1.GetUserData().weaponData.Properties.WeaponType), MidPosX(), (MidPosY() - 10))); _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentPowerupWeapon.Properties.PickupSound, PosX(), PosY()); _local1.GetUserData().objectData.ForceDestruction(); UpdateGUI(); return; }; if ((((_local1.GetUserData().isHealth == true)) && ((_PlayerState.HP < 100)))){ _PlayerState.HP = (_PlayerState.HP + _local1.GetUserData().weaponData.Ammo); _Handler_Sounds.PlaySoundAt(_local1.GetUserData().weaponData.Properties.PickupSound, PosX(), PosY()); _local1.GetUserData().objectData.ForceDestruction(); StartFlashEffect(); return; }; if (_indicationWeapon != _local1){ if (_indicationWeapon != null){ _indicationWeapon.GetUserData().objectData.MC.indicator.gotoAndStop(1); }; _indicationWeapon = _local1; _indicationWeapon.GetUserData().objectData.MC.indicator.gotoAndStop(2); }; } else { if (_indicationWeapon != null){ _indicationWeapon.GetUserData().objectData.MC.indicator.gotoAndStop(1); _indicationWeapon = null; }; }; } private function CheckObjectHeadImpactSpeeds():void{ var _local1:int; _local1 = -(_PlayerState.PlayerEdgeDistance); while (_local1 <= _PlayerState.PlayerEdgeDistance) { b = GetDynamicBodyAt((_this_x + _local1), (_this_y - _PlayerState.PlayerHeight), false); if (b != null){ if (b.GetUserData().objectData.CanKnockDownPlayer){ if ((b.GetLinearVelocity().y + 1) > _PlayerState.AirVelocityY){ _PlayerState.AirVelocityY = (b.GetLinearVelocity().y + 1); break; }; }; }; _local1 = (_local1 + _PlayerState.PlayerEdgeDistance); }; } public function EnemiesInMeleeRange():Array{ var _local1:Array; var _local2:*; _local1 = new Array(); _local2 = 0; while (_local2 < _players.length) { if (_local2 != PlayerNr){ if (Team != _players[_local2].Team){ if (_players[_local2].CanBePunched){ if (CheckCollisionTowardsPlayer(_this_x, _players[_local2].PosX(), _PlayerState.LastDirX)){ if (InMeleeRange(_players[_local2])){ _local1.push(_local2); }; }; }; }; }; _local2++; }; return (_local1); } public function SetCoordinates(_arg1:Number, _arg2:Number, _arg3:Boolean=false):void{ _this_x = _arg1; _this_y = _arg2; _PlayerState.PortalDirectionX = 0; if (_arg3){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX * -1); _PlayerState.MovingDirectionInversed = _PlayerState.MovingDirectionX; _PlayerState.MovingDirectionX = (_PlayerState.MovingDirectionX * -1); _PlayerState.LastDirX = (_PlayerState.LastDirX * -1); if (!(_PlayerState.StuckToRocket)){ this.scaleX = (this.scaleX * -1); _collision_mc.scaleX = this.scaleX; if (_PlayerState.GrabbedPlayer){ _players[_PlayerState.GrabbedPlayerNr].SetCoordinates(_this_x, _this_y, _arg3); }; } else { _PlayerAnimation.ShowAnimation("ROCKET_RIDE", true); _PlayerState.RocketRideProjectile.DirectionX = (_PlayerState.RocketRideProjectile.DirectionX * -1); }; }; _collision_mc.x = _this_x; _collision_mc.y = _this_y; _player_area_mc.x = _this_x; _player_area_mc.y = _this_y; this.x = _this_x; this.y = _this_y; if (_PlayerState.StuckToRocket){ _PlayerState.RocketRideProjectile.PosX = _this_x; _PlayerState.RocketRideProjectile.PosY = _this_y; }; } private function BotStateCancelAim():void{ var _local1:int; if (_PlayerState.Aiming){ SetBotKey(KEY_UP, false); SetBotKey(KEY_DOWN, false); SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_MELEE, !(_keyPressed[KEY_MELEE])); } else { SetBotKey(KEY_MELEE, false); SetBotKey(KEY_FIRE, false); _BotState.CancelAimSoon = false; if (_BotState.RunAwayFromHazards){ _BotState.Phase = BotState.FOLLOW_PATH; } else { if (BotTargetInMelee()){ _BotState.Phase = BotState.MELEE; } else { _BotState.Phase = BotState.IDLE; }; }; }; } public function ExplosionHit(_arg1:Number, _arg2:Number, _arg3:Number):void{ var _local4:int; if (_PlayerState.IsImmune){ return; }; _PlayerState.CritSmokeTimer = 48; _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX + (Math.cos(_arg1) * _arg2)); _PlayerState.AirVelocityY = (_PlayerState.AirVelocityY + (Math.sin(_arg1) * _arg2)); if (_PlayerState.AirVelocityY > -2){ if (!(_PlayerState.Falling)){ _PlayerState.AirVelocityY = -2; }; }; DropGrabbedPlayer(); if (_PlayerState.HP > 0){ _PlayerState.HP = (_PlayerState.HP - _arg3); if (_PlayerState.HP <= 0){ Disarm(); if (ActivateSlowmotion(PlayerNr)){ _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * 2), (24 * 1), 0.2)); }; }; } else { if (_arg3 >= 20){ GibPlayer(); return; }; }; if (_arg3 <= 10){ if (_PlayerState.HP > 0){ StartStagger(ConvertToDirection(-(_PlayerState.AirVelocityX))); } else { _local4 = EdgeStaggerDistance(); if (_local4 > 6){ StartStagger(ConvertToDirection(-(_PlayerState.AirVelocityX))); _PlayerState.StaggerTimer = (_local4 - 4); } else { CheckAimDrop(); if (!(_PlayerState.CantRise)){ _PlayerState.Falling = true; }; _PlayerAnimation.ShowAnimation("knockdown", true); }; }; } else { CheckAimDrop(); if (!(_PlayerState.CantRise)){ _PlayerState.Falling = true; }; _PlayerAnimation.ShowAnimation("knockdown", true); }; } private function BeginJump():void{ if (((((CheckForceKneeling()) || (!(_PlayerState.ControllAble)))) || (CollisionHead(-2)))){ return; }; if (PressingLeft(true)){ this.scaleX = -1; }; if (PressingRight(true)){ this.scaleX = 1; }; _PlayerState.LastDirX = this.scaleX; _collision_mc.scaleX = this.scaleX; if (_PlayerState.SprintEnergy <= 0){ _PlayerState.Sprinting = false; }; _Handler_Sounds.PlaySoundAt("JUMP", PosX(), PosY()); _PlayerAnimation.ShowAnimation("jump", true); UpdateDynamicMovement(true); _PlayerState.AirVelocityY = (_PlayerState.AirVelocityY + _PlayerState.PlayerJumpPower); _PlayerState.Jumping = true; _PlayerState.JumpPushTimeLeft = _PlayerState.PlayerJumpPushTime; _PlayerState.PlayerJumpPushEnabled = true; if (_PlayerState.Sprinting){ DrainEnergy("SPRINT_JUMP"); } else { DrainEnergy("JUMP"); }; } private function GetStaticCoverAt(_arg1:Number, _arg2:Number):b2Body{ if (_static_world_hitbox_mc.hitTestPoint(_arg1, _arg2, true)){ return (m_world.GetStaticCoverAt(_arg1, _arg2)); }; return (null); } private function BotCanJump(_arg1:Number=0):Boolean{ var _local2:b2Body; var _local3:Number; var _local4:Number; _local3 = -(_PlayerState.PlayerEdgeDistance); while (_local3 <= _PlayerState.PlayerEdgeDistance) { _local4 = 0; while (_local4 <= 20) { _local2 = GetDynamicBodyAt(((_this_x + _local3) + _arg1), ((_this_y - 16) - _local4), false); if (_local2 != null){ return (false); }; _local4 = (_local4 + 4); }; _local3 = (_local3 + (_PlayerState.PlayerEdgeDistance * 2)); }; return (true); } private function PressingRight(_arg1:Boolean=false):Boolean{ if (_PlayerState.MovingDirectionInversed != 0){ if (_PlayerState.MovingDirectionInversed == 1){ return (false); }; if (_keyPressed[2]){ return (true); }; } else { if (((_keyPressed[3]) && (((!(_keyPressed[2])) || (!(_arg1)))))){ return (true); }; }; return (false); } private function AddSmokeTrace(_arg1:Number=0):void{ var _local2:Number; var _local3:Number; _smokeDelay = (_smokeDelay - _game_speed); if ((((_smokeDelay <= 0)) || ((_arg1 == 0)))){ _local2 = ((Math.random() * 10) - 5); _local3 = ((Math.random() * 14) - 8); _Handler_Effects.AddParticle(new particle_data("SMOKE_TRACE_EFFECT", (MidPosX() + (_local2 * 0.7)), (MidPosY() + (_local3 * 0.7)), new b2Vec2(), 0, 1, [1])); _smokeDelay = _arg1; }; } private function BotStateMelee():void{ var _local1:Number; var _local2:Boolean; var _local3:Number; if (_BotState.TargetPlayer == null){ BotGoForReset(true); _BotState.Phase = BotState.IDLE; SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); SetBotKey(KEY_MELEE, false); return; }; _local1 = (_BotState.TargetPlayer.MidPosX() - MidPosX()); BotCheckObstacle((_local1 / Math.abs(_local1)), true); _local2 = BotTargetInMelee(); if (_PlayerState.Climbing){ SetBotKey(KEY_UP, false); SetBotKey(KEY_DOWN, true); } else { SetBotKey(KEY_DOWN, false); if ((((Math.abs(_local1) >= 40)) || ((((Math.abs(_local1) < _PlayerState.MeleeWeaponRange)) && (!(_local2)))))){ if (((_BotState.TargetInSight) && (!((_PlayerState.CurrentRangeWeapon == null))))){ _BotState.Phase = BotState.AIM; } else { _BotState.Phase = BotState.FOLLOW_PATH; }; SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); SetBotKey(KEY_MELEE, false); return; }; }; if (_PlayerState.CurrentRangeWeapon != null){ if (Math.abs(_local1) >= 8){ if (_BotState.TargetPlayer.State.Knockdowned){ if (Math.random() < ((_PlayerState.CurrentRangeWeapon.TotalKnockdown / 100) + _BotState.MeleeToAimMinimumChance)){ if (_PlayerState.RangeWeaponCanShootDown){ _BotState.ActionShotFired = false; } else { _BotState.ActionShotFired = true; }; _BotState.Phase = BotState.AIM; }; }; }; }; SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); if (BotFacingEdgeMelee()){ if ((((_PlayerState.LastDirX < 0)) && ((_local1 > 0)))){ SetBotKey(KEY_RIGHT, true); SetBotKey(KEY_LEFT, false); } else { if ((((_PlayerState.LastDirX > 0)) && ((_local1 < 0)))){ SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, true); }; }; } else { if (_PlayerState.OnGround){ if ((((_local1 > 6)) || ((((_PlayerState.LastDirX < 0)) && ((_local1 > 0)))))){ SetBotKey(KEY_RIGHT, true); SetBotKey(KEY_LEFT, false); } else { if ((((_local1 < -6)) || ((((_PlayerState.LastDirX > 0)) && ((_local1 < 0)))))){ SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, true); }; }; } else { if (_local1 > 0.5){ SetBotKey(KEY_RIGHT, true); SetBotKey(KEY_LEFT, false); } else { if (_local1 < -0.5){ SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, true); }; }; }; }; if (_local1 != 0){ if (_PlayerState.CanRoll){ if (_BotState.TargetPlayer.State.Aiming){ SetBotKey(KEY_DOWN, true); } else { if (_PlayerState.Sprinting){ if (Math.random() <= 0.08){ if (!(BotFacingEdge())){ SetBotKey(KEY_DOWN, true); }; }; }; }; }; }; if (_local2){ if (((((((!(_keyPressed[KEY_MELEE])) && (_PlayerState.OnGround))) && ((Math.random() < 0.1)))) && ((_BotState.Difficulty > BotState.EASY)))){ SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); } else { if (_BotState.Difficulty == BotState.EASY){ if ((((Math.random() < 0.65)) || (_PlayerState.Jumping))){ return; }; }; if (_BotState.Difficulty == BotState.MEDIUM){ if (Math.random() < 0.55){ return; }; }; SetBotKey(KEY_MELEE, !(_keyPressed[KEY_MELEE])); }; } else { if (Math.abs(_local1) < 4){ if (((_PlayerState.OnGround) && (_BotState.TargetPlayer.State.OnGround))){ _local3 = (MidPosY() - _BotState.TargetPlayer.MidPosY()); if (Math.abs(_local3) > 10){ _BotState.Phase = BotState.FOLLOW_PATH; }; }; }; }; } private function KneelPressed():void{ if (!(_PlayerState.Jumping)){ if (_enableJumpDownLevel){ _enableJumpDownLevel = false; clearInterval(_downTimer); AbortAiming(); _jumpDownPosYDisable = (_this_y + 10); _performJumpDownLevel = true; _PlayerState.AirVelocityX = 0; _PlayerState.AirVelocityY = 0; _PlayerState.Jumping = true; } else { if (((!(_PlayerState.ControllAble)) || (_PlayerState.Aiming))){ return; }; clearInterval(_downTimer); _downTimer = setInterval(DisableJumpDownLevel, 250); _enableJumpDownLevel = true; }; }; } public function get State():PlayerState{ return (_PlayerState); } public function get BulletGameSpeed():Number{ return (_bullet_game_speed); } private function BotCheckCover():void{ if (_PlayerState.TakingCover){ SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); return; }; } private function ThrowDown():void{ if ((((((_game_speed == 0)) || (_PlayerState.StuckToRocket))) || (_PlayerState.Staggering))){ return; }; if (((_PlayerState.ControllAble) && (!(_PlayerState.Jumping)))){ if (((!(_PlayerState.Throwing)) && (!(_PlayerState.Aiming)))){ if (_PlayerState.CurrentThrowableWeapon.Ammo > 0){ _PlayerState.Aiming = true; _PlayerState.AimMode = 1; _PlayerState.ThrowTimer = _PlayerState.CurrentThrowableWeapon.Properties.ThrowTimer; _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentThrowableWeapon.Properties.AimSound, PosX(), PosY()); }; }; } else { _startAimASAP = true; }; } private function Roll():void{ _Handler_Sounds.PlaySoundAt("ROLL", PosX(), PosY()); DrainEnergy("ROLL"); _PlayerState.DecreaseBurnState(); _PlayerState.Rolling = true; } private function FlameAway():void{ var _local1:Number; var _local2:Number; var _local3:Number; if (_PlayerState.Staggering){ clearInterval(_flameAwayTimer); _flameAwayActivated = false; _flameAwayCounter = 0; return; }; _flameAwayCounter = (_flameAwayCounter - _game_speed); if (_char.ANIM_WPN == null){ return; }; if (_flameAwayCounter <= 0){ _local1 = ((_char.ANIM_WPN.x * _PlayerState.LastDirX) + PosX()); _local2 = (_char.ANIM_WPN.y + PosY()); _local1 = (_local1 + (Math.cos((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.FIRE_CENTER.x)); _local2 = (_local2 + (Math.sin((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.FIRE_CENTER.x)); _local2 = (_local2 + ((Math.sin(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.FIRE_CENTER.y) * _PlayerState.LastDirX)); _local1 = (_local1 + ((Math.cos(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.FIRE_CENTER.y) * _PlayerState.LastDirX)); _local3 = (((Math.random() * _PlayerState.CurrentRangeWeapon.Properties.AccuracyDeflection) * 2) - _PlayerState.CurrentRangeWeapon.Properties.AccuracyDeflection); _Handler_Fires.AddFlame(_local1, _local2, (_PlayerState.CurrentAimAngle + _local3), PlayerNr); _flameAwayCounter = 2; }; } private function CheckDivePlayerImpact():void{ var _local1:*; if (!(_PlayerState.GrabbedPlayer)){ _local1 = 0; while (_local1 < _players.length) { if (((!((_local1 == PlayerNr))) && (!(_players[_local1].State.IsImmune)))){ if (this.hitTestObject(_players[_local1].MC)){ if (CheckCollisionTowardsPlayer(PosX(), _players[_local1].PosX(), _PlayerState.LastDirX)){ if (Math.sqrt(((_this_x - _players[_local1].MidPosX()) * (_this_x - _players[_local1].MidPosX()))) <= 8){ if (Math.sqrt(((MidPosY() - _players[_local1].MidPosY()) * (MidPosY() - _players[_local1].MidPosY()))) <= 10){ if (_players[_local1].State.Diving){ _Handler_Sounds.PlaySoundAt("DIVE_CATCH", PosX(), PosY()); _Handler_Effects.AddEffectAt("DIVE_IMPACT", (MidPosX() + (_PlayerState.LastDirX * 12)), (MidPosY() - 4)); _players[_local1].DiveCollision(); DiveCollision(); } else { if (((_players[_local1].CanBeCatched) && (!(_PlayerState.GrabbedPlayer)))){ _Handler_Sounds.PlaySoundAt("DIVE_CATCH", PosX(), PosY()); _Handler_Effects.AddEffectAt("DIVE_IMPACT", (MidPosX() + (_PlayerState.LastDirX * 12)), (MidPosY() - 4)); if (this.parent.getChildIndex(this) < _players[_local1].parent.getChildIndex(_players[_local1])){ this.parent.swapChildren(this, _players[_local1]); }; _PlayerState.GrabbedPlayerNr = _local1; _PlayerState.GrabbedPlayerCharNr = _players[_PlayerState.GrabbedPlayerNr].State.CharNr; _players[_PlayerState.GrabbedPlayerNr].GrabbedByOtherPlayer(true, _PlayerState.LastDirX); }; }; }; }; }; }; }; _local1++; }; }; } public function GrabbedByOtherPlayer(_arg1:Boolean, _arg2:int=0):void{ if (_arg2 != 0){ _PlayerState.LastDirX = -(_arg2); this.scaleX = _PlayerState.LastDirX; _collision_mc.scaleX = this.scaleX; }; _PlayerState.GrabbedByPlayer = _arg1; if (!(_arg1)){ _PlayerState.AirVelocityY = 0; _PlayerState.AirVelocityX = 0; _PlayerState.Knockdowned = true; _PlayerState.Jumping = true; if (_PlayerState.IgnoreMe){ this.visible = false; }; } else { CheckAimDrop(); CancelAFS(); _PlayerAnimation.ShowAnimation("GRABBED"); }; } private function UpdateGroundMovement():void{ if (CollisionFeetBothSides()){ if (CollisionFeetMid()){ _this_y = (_this_y - 0.1); }; }; UpdateSides(); if (((!(_PlayerState.Knockdowned)) && (!(_PlayerState.Falling)))){ if (CheckForceKnockdown()){ Fall(); _PlayerState.Falling = false; _PlayerState.Knockdowned = true; _PlayerState.CantRise = true; _PlayerAnimation.ShowAnimation("knockdown", true); if (CheckGibPlayer()){ return; }; } else { if (CheckForceKneeling()){ _PlayerState.Kneeling = true; }; }; } else { if (_PlayerState.CantRise){ if (!(CheckForceKnockdown())){ _PlayerState.CantRise = false; } else { if (CheckGibPlayer()){ return; }; }; } else { if (CheckForceKnockdown()){ if (CheckForceKnockdown()){ _PlayerState.CantRise = true; if (CheckGibPlayer()){ return; }; }; }; }; }; UpdateSimpleGroundMovement(true); } public function PosX():Number{ return (this.x); } public function get PortalSpeedX():Number{ return (_PlayerState.PortalSpeedX); } private function CanKickPlayer(_arg1:Player, _arg2:Boolean=false):Boolean{ var _local3:Number; var _local4:Number; var _local5:int; var _local6:int; if (_arg1.State.CanBeKicked){ if (CheckCollisionTowardsPlayer(_this_x, _arg1.PosX(), _PlayerState.LastDirX)){ _local3 = (PosX() - _arg1.PosX()); if (Math.abs(_local3) <= 16){ _local4 = (PosY() - _arg1.PosY()); _local5 = -4; _local6 = -16; if (_arg1.State.Knockdowned){ _local6 = -8; if (_arg2){ _local5 = 8; } else { _local5 = 2; }; } else { if (_arg2){ _local5 = 16; }; }; if ((((_local4 <= _local5)) && ((_local4 >= _local6)))){ return (true); }; }; }; }; return (false); } public function PosY():Number{ return (this.y); } private function UpdateInversedDirection():void{ if (_PlayerState.MovingDirectionInversed != 0){ if (((!(_keyPressed[3])) && ((_PlayerState.MovingDirectionInversed == 1)))){ _PlayerState.MovingDirectionInversed = 0; }; if (((!(_keyPressed[2])) && ((_PlayerState.MovingDirectionInversed == -1)))){ _PlayerState.MovingDirectionInversed = 0; }; }; } private function SimpleMove(_arg1:Number, _arg2:Number):void{ var _local3:int; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; _this_x = (_this_x + _arg1); _this_y = (_this_y + _arg2); return; } public function get PlayerNr():int{ return (_playerNr); } private function BotTargetThreat_Weapon(_arg1:Player):Number{ return ((_arg1.State.RangeWeaponTotalDamage / 100)); } public function RocketWillHit():Boolean{ if (_PlayerState.IsImmune){ return (false); }; if (((_PlayerState.Rolling) || (_PlayerState.Diving))){ if (Math.random() < 0.5){ return (false); }; }; return (true); } private function CheckCollisionWithBody(_arg1:Array):void{ var _local2:b2Body; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Boolean; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Boolean; var _local15:Boolean; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:b2Vec2; var _local20:int; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:b2Vec2; var _local25:Number; _local2 = _arg1[0]; if (_local2.GetLinearVelocity().Length() < 2){ return; }; _local3 = _local2.GetLinearVelocity().Length(); _local4 = _arg1[1]; _local5 = _arg1[2]; _local6 = false; _local7 = new b2Vec2((_local4 / 30), (_local5 / 30)); _local8 = _local2.GetLinearVelocityFromWorldPoint(_local7); _local9 = new b2Vec2(_PlayerState.AirVelocityX, _PlayerState.AirVelocityY); _local10 = new b2Vec2(_local8.x, _local8.y); _local11 = new b2Vec2(_local9.x, _local9.y); _local12 = _local2.GetMass(); _local13 = _PlayerState.Mass; if (_local5 < (_this_y - 1)){ _local14 = CheckCollisionTowardsPlayer(_local4, MidPosX(), ConvertToDirection(_local8.x)); _local15 = CheckCollisionTowardsPlayer(_local5, MidPosY(), ConvertToDirection(_local8.y)); if (((_local14) && (_local15))){ _local10.y = (((_local8.y * (_local12 - _local13)) + ((2 * _local13) * _local9.y)) / (_local12 + _local13)); _local11.y = (((_local9.y * (_local13 - _local12)) + ((2 * _local12) * _local8.y)) / (_local12 + _local13)); if (((_PlayerState.OnGround) && (!(_PlayerState.Knockdowned)))){ if (_local2.GetUserData().objectData.CrushDamage > 0){ if (((((_local14) || ((_local8.x == 0)))) && (_local15))){ _PlayerState.HP = (_PlayerState.HP - _local2.GetUserData().objectData.CrushDamage); _local10.y = -2; _local6 = true; if (_PlayerState.HP <= 0){ Fall(false); }; }; } else { _local6 = true; }; if ((((_local10.x > -1)) && ((_local10.x < 1)))){ _local10.x = ConvertToDirection(_local10.x); if (_local10.x == 0){ _local10.x = ConvertToDirection((_local4 - MidPosX())); }; }; } else { if (!(_local2.GetUserData().objectData.CanGibb)){ _local6 = true; }; }; }; } else { if (((_local14) || (_local15))){ if (((_PlayerState.OnGround) && (!(_PlayerState.Knockdowned)))){ if (_local2.GetUserData().objectData.CrushDamage > 0){ if (((((_local14) || ((_local8.x == 0)))) && (_local15))){ _local11.y = (((_local9.y * (_local13 - _local12)) + ((2 * _local12) * _local8.y)) / (_local12 + _local13)); _PlayerState.HP = (_PlayerState.HP - _local2.GetUserData().objectData.CrushDamage); _local10.y = -2; _local6 = true; if (_PlayerState.HP <= 0){ Fall(false); }; }; }; }; }; }; if (_local6){ if (!(_local2.GetUserData().objectData.CanGibb)){ _local20 = 0; _local21 = ((_local2.m_linearVelocity.x / _local2.m_linearVelocity.Length()) / 30); _local22 = ((_local2.m_linearVelocity.y / _local2.m_linearVelocity.Length()) / 30); while ((((_local20 < 0)) && (_local2.m_userData.objectData.CollisionMC.hitTestPoint(_local4, _local5, true)))) { _local2.SetXForm(new b2Vec2((_local2.GetPosition().x - _local21), (_local2.GetPosition().y - _local22)), _local2.GetAngle()); _local2.m_userData.objectData.ShapeMC.x = (_local2.GetPosition().x * 30); _local2.m_userData.objectData.ShapeMC.y = (_local2.GetPosition().y * 30); _local2.m_userData.objectData.ShapeMC.rotation = (_local2.GetAngle() * (180 / Math.PI)); _local2.m_userData.objectData.CollisionMC.x = _local2.m_userData.objectData.ShapeMC.x; _local2.m_userData.objectData.CollisionMC.y = _local2.m_userData.objectData.ShapeMC.y; _local2.m_userData.objectData.CollisionMC.rotation = _local2.m_userData.objectData.ShapeMC.rotation; _local20 = (_local20 + 1); }; }; UpdateSides(); _local2.SetLinearVelocity(_local10); _local16 = (_local4 - MidPosX()); _local17 = (_local5 - MidPosY()); _local18 = Math.atan2(_local17, _local16); _local19 = new b2Vec2((Math.cos(_local18) * 2), (Math.sin(_local18) * 4)); if (_local2.GetUserData().objectData.CanGibb){ _local19 = new b2Vec2((Math.cos(_local18) * 0.5), (Math.sin(_local18) * 1)); }; _local2.ApplyImpulse(_local19, _local7); _Handler_Sounds.PlaySoundAt("MELEE_HIT", _this_x, _this_y); _PlayerState.AirVelocityX = _local11.x; _PlayerState.AirVelocityY = _local11.y; if (_PlayerState.AirVelocityY > -2){ _PlayerState.AirVelocityY = -2; }; if (_local4 < MidPosX()){ if (_local2.GetLinearVelocity().x > _PlayerState.AirVelocityX){ _PlayerState.AirVelocityX = (_local2.GetLinearVelocity().x + 1); }; } else { if (_local2.GetLinearVelocity().x < _PlayerState.AirVelocityX){ _PlayerState.AirVelocityX = (_local2.GetLinearVelocity().x - 1); }; }; _this_y = (_this_y - 0.5); Fall(); _local2.GetUserData().objectData.Damage_Impact(5); if (_local2.GetLinearVelocity().Length() > _local3){ _local23 = (_local3 / _local2.GetLinearVelocity().Length()); _local24 = _local2.GetLinearVelocity(); _local24.x = (_local24.x * (_local23 * 0.8)); _local24.y = (_local24.y * (_local23 * 0.8)); _local2.SetLinearVelocity(_local24); }; if (_PlayerState.TotalAirVelocity > _local3){ _local25 = (_local3 / _PlayerState.TotalAirVelocity); _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX * _local25); _PlayerState.AirVelocityY = (_PlayerState.AirVelocityY * _local25); }; }; } private function FireDelay():void{ CancelFireDelay(); if (KeyPressed(5)){ if (_PlayerState.CurrentRangeWeapon != null){ if (((_PlayerState.ControllAble) && (!(_PlayerState.Jumping)))){ _PlayerState.Aiming = true; _cancelAimingASAP = false; _PlayerState.AimMode = 0; _PlayerState.AimTurningAround = true; _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentRangeWeapon.Properties.AimSound, PosX(), PosY()); _PlayerState.DrawDelay = 1; }; }; }; } private function KeyPressed(_arg1:int):Boolean{ if (_bot){ return (_keyPressed[_arg1]); }; return (_Handler_Keyboard.KeyIsDown(_keys[_arg1])); } private function UpPressed():void{ if (_PlayerState.ControllAble){ if (_PlayerState.Aiming){ if (!(_PlayerState.AimTurningAroundDelay)){ AimUp(0.5); }; }; }; } public function Update(_arg1:Number):void{ if (_slowmotion_timer > 0){ _slowmotion_timer = (_slowmotion_timer - 1); _game_speed = (_arg1 * _slowmotion_modifier); _bullet_game_speed = ((_arg1 * _slowmotion_modifier) * 0.75); if (_game_speed > 1){ _game_speed = 1; }; if (_bullet_game_speed > 1){ _bullet_game_speed = 1; }; } else { _game_speed = _arg1; _bullet_game_speed = _arg1; if (_arg1 < 1){ _bullet_game_speed = (_bullet_game_speed * 0.5); }; }; if ((((_PlayerState.HP <= 0)) && (!(_deathScreamDone)))){ if (Math.random() < 0.02){ _Handler_Sounds.PlaySoundAt("WILHELM", PosX(), PosY()); }; _deathScreamDone = true; }; if (_PlayerState.IgnoreMe){ _PlayerState.UpdateCameraIgnoreTimer(); return; }; if (RemoveFromList){ return; }; if (!(_bot)){ UpdateEventPC(); }; if (_game_speed != 0){ if (!(_PlayerState.Gone)){ MainUpdate(); _PlayerState.Update(_game_speed); _char_gui.scaleX = this.scaleX; _blood_gui.scaleX = this.scaleX; }; }; _PlayerAnimation.ProgressAnimation(_game_speed); _PlayerBars.Update(this.x, this.y, _dynamic_mc.scaleX); } public function FireContact(_arg1:Boolean=false, _arg2:Number=1):void{ var _local3:MovieClip; if (_PlayerState.IsImmune){ return; }; if (_PlayerState.StuckToRocket){ return; }; _PlayerState.BurnState = (_PlayerState.BurnState + (_game_speed * _arg2)); if (((_arg1) && ((_PlayerState.BurnState < 100)))){ _PlayerState.InWorldFire = true; }; if (_PlayerState.BurnState < _PlayerState.FireRank1Minimum){ return; }; if (_PlayerState.HP <= 0){ if (!(_PlayerState.Burned)){ DropGrabbedPlayer(); StopFlashEffect(); this.removeChild(_char); _char = new player_burnt(); this.addChild(_char); _PlayerAnimation.NewSkin(_char); _local3 = MovieClip(_char_gui.parent); _local3.removeChild(_char_gui); _char_gui = new player_burnt(); _local3.addChild(_char_gui); _PlayerAnimation.SetGUISkin(_char_gui, _blood_gui); _Handler_Effects.AddEffectAt("PLAYER_BURNED", MidPosX(), MidPosY()); _PlayerState.BurnState = 100; _PlayerState.Burned = true; if (((((!(_PlayerState.Knockdowned)) && (!(_PlayerState.DeathKneel)))) && (!(_PlayerState.Staggering)))){ if (((((DetectEdge(_PlayerState.LastDirX)) || ((Math.random() < 0.5)))) && (_PlayerState.OnGround))){ if (_PlayerState.Sprinting){ Fall(false); } else { _PlayerState.DeathKneel = true; _PlayerState.CameraIgnoreTimer = (3 * 24); }; } else { Fall(false); }; _Handler_Shake.Add(2, 2); }; }; return; }; if (_arg1){ _PlayerState.HP = (_PlayerState.HP - ((_PlayerState.FireRankWorldExtraDamage * _game_speed) * _arg2)); }; if (_PlayerState.BurnState >= _PlayerState.FireRank2Minimum){ _PlayerState.HP = (_PlayerState.HP - ((_PlayerState.FireRank2Damage * _game_speed) * _arg2)); } else { _PlayerState.HP = (_PlayerState.HP - ((_PlayerState.FireRank1Damage * _game_speed) * _arg2)); }; if (_PlayerState.HP <= 0){ _PlayerState.AirVelocityY = (_PlayerState.AirVelocityY - 1); Disarm(); Fall(true); if (ActivateSlowmotion(PlayerNr)){ _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * 2), (24 * 1), 0.2)); }; }; } private function CheckCollisionHeight(_arg1:Number, _arg2:Number):Boolean{ var _local3:int; var _local4:int; var _local5:b2Body; var _local6:b2Vec2; var _local7:int; _headColl = false; _sideColl = false; _local3 = _arg2; while (_local3 >= _arg1) { if (((_static_world_hitbox_mc.hitTestPoint(_this_x, (_this_y - _local3), true)) && (((_static_world_hitbox_mc.hitTestPoint((_this_x - _PlayerState.PlayerEdgeDistance), (_this_y - _local3), true)) || (_static_world_hitbox_mc.hitTestPoint((_this_x + _PlayerState.PlayerEdgeDistance), (_this_y - _local3), true)))))){ _headColl = true; break; }; _local3 = (_local3 - 2); }; if (!(_headColl)){ _local4 = -(_PlayerState.PlayerEdgeDistance); while (_local4 <= _PlayerState.PlayerEdgeDistance) { _local5 = GetDynamicBodyAt((_this_x + _local4), (_this_y - _arg2), false); if (_local5 != null){ if (_local5.GetUserData().objectData.CanGibb){ _local6 = _local5.GetLinearVelocity(); if (Math.abs(_local6.x) > 0.01){ if (CheckCollisionTowardsPlayer((_this_x + _local4), _this_x, ConvertToDirection(_local6.x))){ _headColl = true; _sideColl = true; break; }; }; }; }; _local4 = (_local4 + (_PlayerState.PlayerEdgeDistance * 2)); }; }; if (!(_sideColl)){ _edgePositionL = (_this_x - _PlayerState.PlayerEdgeDistance); _edgePositionR = (_this_x + _PlayerState.PlayerEdgeDistance); _local7 = _arg2; while (_local7 >= _arg1) { if (((_static_world_hitbox_mc.hitTestPoint(_edgePositionL, (_this_y - _local7), true)) || (_static_world_hitbox_mc.hitTestPoint(_edgePositionR, (_this_y - _local7), true)))){ _sideColl = true; break; }; _local7 = (_local7 - 2); }; }; if (((_headColl) && (_sideColl))){ return (true); }; return (false); } private function UpdateEventPC():void{ var _local1:*; if (!(_activated)){ return; }; _local1 = 0; while (_local1 < _keys.length) { if (_Handler_Keyboard.KeyIsDown(_keys[_local1])){ _keyPressed[_local1] = true; } else { _keyPressed[_local1] = false; }; _local1++; }; } private function UpdateFlashEffect():void{ var _local1:Color; _local1 = new Color(); _local1.brightness = ((_PlayerState.FlashEffectTimer / 8) * 1); this.transform.colorTransform = _local1; } private function UpdateGUIRanged():void{ if (_PlayerState.CurrentRangeWeapon == null){ _gui_mc.ranged.gotoAndStop("EMPTY"); _gui_mc.ranged_num.visible = false; } else { _gui_mc.ranged.gotoAndStop(_PlayerState.CurrentRangeWeapon.Properties.WeaponType); _gui_mc.ranged_num.visible = true; if (_PlayerState.CurrentRangeWeapon.Properties.WeaponType == "SHOTGUN"){ SetNumTo(_gui_mc.ranged_num, (_PlayerState.CurrentRangeWeapon.Ammo / 4)); } else { SetNumTo(_gui_mc.ranged_num, _PlayerState.CurrentRangeWeapon.Ammo); }; }; } private function CheckHeadToObjectImpacts(_arg1:Number):void{ var _local2:int; var _local3:b2Vec2; _local2 = -(_PlayerState.PlayerEdgeDistance); while (_local2 <= _PlayerState.PlayerEdgeDistance) { b = GetDynamicBodyAt((_this_x + _local2), ((_this_y - _PlayerState.PlayerHeight) - 2), false); if (b != null){ _local3 = new b2Vec2(((_this_x + _local2) / 30), (((_this_y - _PlayerState.PlayerHeight) - 2) / 30)); b.ApplyImpulse(new b2Vec2(0, -(_arg1)), _local3); }; _local2 = (_local2 + _PlayerState.PlayerEdgeDistance); }; } private function DownPressed():void{ if (_PlayerState.ControllAble){ if (_PlayerState.Aiming){ if (!(_PlayerState.AimTurningAroundDelay)){ AimDown(0.5); }; }; }; } private function GetClosestReachableWeapon():b2Body{ var _local1:b2Body; var _local2:Number; var _local3:int; var _local4:Number; var _local5:Number; _local1 = null; _local3 = 0; while (_local3 < m_world.WeaponList.length) { b = m_world.WeaponList[_local3]; if (b.GetUserData().weaponData.Ammo > 0){ _local4 = (MidPosX() - (b.GetPosition().x * 30)); if (Math.sqrt((_local4 * _local4)) <= b.GetUserData().weaponData.Properties.PickupRadius){ _local5 = ((MidPosY() + 4) - (b.GetPosition().y * 30)); if (Math.sqrt((_local5 * _local5)) <= 10){ if (_local1 != null){ if (Math.sqrt(((_local4 * _local4) + (_local5 * _local5))) < _local2){ _local1 = b; _local2 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); }; } else { _local1 = b; _local2 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); }; }; }; }; _local3++; }; return (_local1); } public function StartStagger(_arg1:int=0):void{ if (_PlayerState.Aiming){ if (_PlayerState.AimMode == 1){ DropThrowable(); }; }; _PlayerState.CurrentFireFrame = 0; _PlayerState.LastFireFrame = 0; if (_arg1 != 0){ _PlayerState.LastDirX = _arg1; }; this.scaleX = _PlayerState.LastDirX; _collision_mc.scaleX = this.scaleX; if (((_PlayerState.OnGround) && (CanStagger()))){ _PlayerState.Staggering = true; if (_PlayerState.StaggerTimer < 6){ _PlayerState.StaggerTimer = (6 + (Math.random() * 8)); }; } else { Fall(false); }; } private function ActivateSprint():void{ if (_PlayerState.SprintEnergy > 0){ _Handler_Output.Trace("Sprint On"); _PlayerState.Sprinting = true; }; } private function Punch(_arg1:Boolean=false):void{ _PlayerState.Punching = true; _PlayerAnimation.ShowAnimation(((_PlayerState.MeleeAnimation + "_0") + _PlayerState.PunchComboNr), true); } public function Activate():void{ _activated = true; if (_bot){ _botTimer = setInterval(function (){ clearInterval(_botTimer); _BotState._targetChooseTimer = setInterval(BotChooseTarget_Tick, 200); _botTimer = setInterval(function (){ clearInterval(_botTimer); _botTimer = setInterval(UpdateEventNPC, (1000 / 24)); _BotState._targetInSightTimer = setInterval(BotInSightCheck_Tick, 300); _BotState._randomizTimer = setInterval(BotRandomize, 4000); }, 25); }, (10 + ((PlayerNr * 3) % 20))); } else { _Handler_Keyboard.AddHandler(_keys[KEY_POWERUP], UsePowerup); _Handler_Keyboard.AddHandler(_keys[KEY_THROW], ThrowDown, ThrowUp); _Handler_Keyboard.AddHandler(_keys[KEY_FIRE], RangedDown, RangedUp); _Handler_Keyboard.AddHandler(_keys[KEY_MELEE], Melee); _Handler_Keyboard.AddHandler(_keys[KEY_JUMP], Jump); _Handler_Keyboard.AddHandler(_keys[KEY_KNEEL], KneelPressed, KneelReleased); _Handler_Keyboard.AddHandler(_keys[KEY_SPRINT], ActivateSprint, DeactivateSprint); _Handler_Keyboard.AddHandler(_keys[KEY_UP], UpPressed); _Handler_Keyboard.AddHandler(_keys[KEY_DOWN], DownPressed); }; } public function SetControls(_arg1:InputKeyboard, _arg2:Array):void{ _Handler_Keyboard = _arg1; _keys = _arg2; _Handler_Output.Trace(("Controls set to: " + _keys)); } private function ReleaseThrowable():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:b2Body; _local1 = ((MidPosX() - (_PlayerState.LastDirX * 4.5)) / 30); _local2 = ((MidPosY() - 7.5) / 30); _local3 = (_PlayerState.CurrentAimAngle * (Math.PI / 180)); _local4 = (Math.cos(_local3) * 5.5); _local5 = ((Math.sin(_local3) * 5.5) - 2); _local6 = _Handler_Maps.Handler_WorldItems.AddPolygon((_PlayerState.CurrentThrowableWeapon.Properties.ThrowType + "_thrown"), _local1, _local2, 0, new b2Vec2(_local4, _local5), (_PlayerState.LastDirX * 10), new Array(_PlayerState.ThrowTimer, PlayerNr)); _local6.SetBullet(true); _local6.GetUserData().objectData.IgnoreCoverID = _PlayerState.CoverObjectID; _PlayerState.ThrowTimer = 0; _PlayerState.CurrentThrowableWeapon.Ammo = (_PlayerState.CurrentThrowableWeapon.Ammo - 1); UpdateGUI(); } public function SetSign(_arg1:int):void{ _PlayerBars.SetSign(_arg1); } public function get CanBeCatched():Boolean{ if (_PlayerState.IsImmune){ return (false); }; if (_PlayerState.StuckToRocket){ return (false); }; if (_PlayerState.Knockdowned){ if (_PlayerAnimation.CurrentFrame < 10){ return (false); }; }; if (_PlayerState.GrabbedPlayer){ return (false); }; if (_PlayerState.Gone){ return (false); }; return (!(_PlayerState.GrabbedByPlayer)); } public function UpdatePositionToProjectile():void{ _this_x = _PlayerState.RocketRideProjectile.PosX; _this_y = _PlayerState.RocketRideProjectile.PosY; this.x = _this_x; this.y = _this_y; _collision_mc.x = _this_x; _collision_mc.y = _this_y; _player_area_mc.x = _this_x; _player_area_mc.y = _this_y; } private function BackToOldPosition():void{ _this_x = _old_this_x; _this_y = _old_this_y; } private function HitTestWorldOnly(_arg1:Number, _arg2:Number):Boolean{ if (_static_world_hitbox_mc.hitTestPoint(_arg1, _arg2, true)){ if (!(_static_objects_hitbox_mc.hitTestPoint(_arg1, _arg2, true))){ return (true); }; }; return (false); } private function Walljump():void{ var _local1:*; var _local2:int; var _local3:b2Vec2; _edgePosition = (_this_x + (_PlayerState.PlayerEdgeDistance * _PlayerState.LastDirX)); _local1 = 0; while (_local1 < m_world.DynamicHitBoxObjectList.length) { b = m_world.DynamicHitBoxObjectList[_local1]; _local2 = 0; while (_local2 <= 8) { if (b.GetUserData().objectData.CollisionMC.hitTestPoint(_edgePosition, (_this_y - _local2), true)){ _local3 = new b2Vec2(((_this_x + (_PlayerState.PlayerEdgeDistance * _PlayerState.LastDirX)) / 30), (_this_y / 30)); b.ApplyImpulse(new b2Vec2(_PlayerState.LastDirX, 0), _local3); break; }; _local2 = (_local2 + 2); }; _local1++; }; this.scaleX = (this.scaleX * -1); _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = (_PlayerState.LastDirX * -1); _PlayerState.MovingDirectionX = _PlayerState.LastDirX; _PlayerState.Sprinting = false; _PlayerState.WallJumping = true; _PlayerState.AirVelocityY = _PlayerState.PlayerWallJumpPower; _PlayerAnimation.ShowAnimation("jump", true); _Handler_Effects.AddParticle(new particle_data("DUST", (_this_x - (_PlayerState.LastDirX * 5)), _this_y, new b2Vec2(_PlayerState.LastDirX, 1))); } private function BotTargetThreat_Weakness(_arg1:Player):Number{ return (((100 - _arg1.State.HP) / 100)); } public function PunchReady():Boolean{ if (_PlayerState.Punching){ if (!(_PlayerState.PunchHitPerformed)){ if (_PlayerAnimation.NextFrame(_game_speed) == _PlayerState.HitPunchComboFrame){ return (true); }; }; }; return (false); } private function BotInSightCheck_Tick():void{ if (_BotState.TargetPlayer != null){ _BotState.TargetInSight = BotPositionInSight(((_BotState.TargetPlayer.MidPosX() + (Math.random() * 6)) - 3), ((_BotState.TargetPlayer.MidPosY() + (Math.random() * 4)) - 2), _BotState.TargetPlayer.PlayerNr); }; } public function set PlayerNr(_arg1:int):void{ _playerNr = _arg1; } private function UpdateObjectImpacts():void{ var _local1:int; var _local2:Boolean; var _local3:MovieClip; var _local4:int; var _local5:int; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:int; if (_PlayerState.Knockdowned){ if (_PlayerState.HP > 0){ if (_PlayerState.OnGround){ b = GetDynamicBodyAt(MidPosX(), (MidPosY() - 4), false); if (b == null){ b = GetDynamicBodyAt(MidPosX(), (MidPosY() - 8), false); }; if (b == null){ b = GetDynamicBodyAt(MidPosX(), (MidPosY() - 12), false); }; if (b != null){ if (b.GetLinearVelocity().Length() < 0.5){ if (((((b.GetUserData().objectData.CanGibb) && (b.IsSleeping()))) || (!(b.GetUserData().objectData.CanGibb)))){ _local6 = new b2Vec2((_PlayerState.LastDirX * b.GetMass()), -(b.GetMass())); _local7 = new b2Vec2(MidPosX(), (MidPosY() - 8)); _local7.x = (_local7.x / 30); _local7.y = (_local7.y / 30); b.ApplyImpulse(_local6, _local7); b.GetUserData().objectData.Damage_Impact(1); }; }; }; }; }; return; }; objectImpactList = new Array(); _local1 = 0; while (_local1 < m_world.DynamicHitBoxObjectList.length) { b = m_world.DynamicHitBoxObjectList[_local1]; if (_standingOnObject != b){ if (b.GetUserData().objectData.CanKnockDownPlayer){ if (b.GetUserData().objectData.CollisionMC.hitTestObject(CollisionMC)){ objectImpactList.push([b, 0, 0]); }; }; }; _local1++; }; if (objectImpactList.length <= 0){ return; }; _local4 = 0; while (_local4 < objectImpactList.length) { _local2 = false; _local3 = objectImpactList[_local4][0].GetUserData().objectData.CollisionMC; _local8 = 0; while (_local8 <= _PlayerState.PlayerHeight) { if (_local3.hitTestPoint((_this_x - 5), (_this_y - _local8), true)){ _local2 = true; objectImpactList[_local4][1] = (_this_x - 4); objectImpactList[_local4][2] = (_this_y - _local8); break; } else { if (_local3.hitTestPoint((_this_x + 5), (_this_y - _local8), true)){ _local2 = true; objectImpactList[_local4][1] = (_this_x + 4); objectImpactList[_local4][2] = (_this_y - _local8); break; }; }; _local8 = (_local8 + 2); }; if (!(_local2)){ if (_local3.hitTestPoint(_this_x, _this_y, true)){ objectImpactList[_local4][1] = _this_x; objectImpactList[_local4][2] = _this_y; } else { if (_local3.hitTestPoint(_this_x, (_this_y - _PlayerState.PlayerHeight), true)){ objectImpactList[_local4][1] = _this_x; objectImpactList[_local4][2] = (_this_y - _PlayerState.PlayerHeight); } else { objectImpactList.splice(_local4, 1); }; }; }; _local4++; }; if (objectImpactList.length <= 0){ return; }; _local5 = 0; while (_local5 < objectImpactList.length) { CheckCollisionWithBody(objectImpactList[_local5]); _local5++; }; } public function CanBeKnockedByFlyingPlayer():Boolean{ if (_PlayerState.IsImmune){ return (false); }; if (_PlayerState.Falling){ return (false); }; if (_PlayerState.Knockdowned){ if (_PlayerAnimation.CurrentFrame >= 10){ return (true); }; return (false); }; return (true); } private function BotCheckObstacle(_arg1:int, _arg2:Boolean=false):void{ if (BotObstacleAt(_arg1)){ if (!(_PlayerState.Jumping)){ SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); } else { if (((!(_PlayerState.JumpKickPerformed)) && ((((Math.abs(_PlayerState.AirVelocityY) < 2)) || (_arg2))))){ SetBotKey(KEY_MELEE, !(_keyPressed[KEY_MELEE])); }; }; }; } private function WorldCollisionSide(_arg1:Number, _arg2:Number=-1):Boolean{ var _local3:int; if (_arg2 < 0){ _arg2 = _PlayerState.PlayerEdgeDistance; }; _edgePosition = (_this_x + (_arg2 * ConvertToDirection(_arg1))); _local3 = 4; while (_local3 <= (_PlayerState.PlayerHeight - 2)) { if (HitTestWorldOnly(_edgePosition, (_this_y - _local3))){ return (true); }; _local3 = (_local3 + 2); }; return (false); } public function LadderKnockdown(_arg1:int){ if (_arg1 == 0){ if ((Math.random() * 10) < 5){ _arg1 = 1; } else { _arg1 = -1; }; }; _PlayerState.AirVelocityX = _arg1; _PlayerState.AirVelocityY = -1; Fall(); } public function SetDirection(_arg1:int):void{ this.scaleX = _arg1; _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = _arg1; } private function Melee():void{ if (_game_speed == 0){ return; }; if (_PlayerState.AFSInProgress){ _cancelAimingASAP = true; return; }; if (_PlayerState.Aiming){ AbortAiming(); return; }; if (_PlayerState.CanGrabWeapon){ if (KeyPressed(KEY_KNEEL)){ if (GrabWeapon()){ UpdateGUI(); return; }; }; }; if (((_PlayerState.ControllAble) && (!(_PlayerState.Jumping)))){ _button_in_melee_range = false; if (EnemiesInMeleeRange().length > 0){ Punch(true); } else { if (ButtonInMeleeRange()){ Punch(); } else { if (!(Kick())){ Punch(); }; }; }; } else { if (_PlayerState.ControllAble){ _PlayerState.QueueJumpKick = true; } else { if (_PlayerState.Punching){ if (_PlayerAnimation.CurrentFrame >= _PlayerState.MinPunchComboFrame){ if (_PlayerState.PunchComboNr < 3){ _PlayerState.PunchComboNr = (_PlayerState.PunchComboNr + 1); }; if (EnemiesInMeleeRange().length > 0){ _button_in_melee_range = false; }; }; }; }; }; } private function BotDodgeRocket():Boolean{ if (_BotState.Difficulty == BotState.EASY){ return (false); }; if (_BotState.Difficulty == BotState.MEDIUM){ if (Math.random() < 0.5){ return (false); }; }; if (!(_PlayerState.OnGround)){ return (false); }; if (_PlayerState.Aiming){ if (_Handler_ProjectilesUpdater.RocketImpactFrameTime(this, 0.1, 16)){ return (true); }; } else { if (_Handler_ProjectilesUpdater.RocketImpactFrameTime(this, 0.1, 16)){ return (true); }; }; return (false); } private function KeyTurnPlayer():void{ if (PressingLeft()){ if (_PlayerState.LastDirX != -1){ _PlayerState.LastDirX = -1; this.scaleX = _PlayerState.LastDirX; _collision_mc.scaleX = this.scaleX; }; } else { if (PressingRight()){ if (_PlayerState.LastDirX != 1){ _PlayerState.LastDirX = 1; this.scaleX = _PlayerState.LastDirX; _collision_mc.scaleX = this.scaleX; }; }; }; } private function PlayerLands():void{ var _local1:Number; var _local2:Boolean; var _local3:int; var _local4:int; var _local5:Boolean; var _local6:Boolean; var _local7:int; _PlayerState.Climbing = false; _performJumpDownLevel = false; if (_PlayerState.Falling){ _local1 = Math.abs(_PlayerState.AirVelocityY); _local1 = (_local1 - 3); _local1 = (_local1 * 1.5); if (_local1 < 3){ _local1 = 0; }; _local2 = false; _local3 = 0; while (_local3 <= 2) { if (HitTestWorldOnly(_this_x, (_this_y + _local3))){ _local2 = true; break; }; _local3++; }; _local4 = 0; while (_local4 <= 6) { b = m_world.GetStairBodyAt(_this_x, (_this_y + _local4)); if (b != null){ if (CanBounceAtDirection(ConvertToDirection(b.GetUserData().tiltValue))){ _PlayerState.StairBounce = true; _PlayerState.LastDirX = (_PlayerState.LastDirX * -1); _PlayerState.StairVelocityY = (_PlayerState.StairVelocityY * -0.7); if (_PlayerState.StairVelocityY < -4){ _PlayerState.StairVelocityY = -4; } else { if (_PlayerState.StairVelocityY > -1){ _PlayerState.StairVelocityY = -1; }; }; _PlayerState.StairVelocityX = b.GetUserData().tiltValue; _Handler_Sounds.PlaySoundAt("BODYFALL", _this_x, _this_y); BodyDust(); _PlayerState.IncreaseKnockdownGrade(); _lastBounceY = _this_y; return; }; }; _local4++; }; if (!(_local2)){ _local5 = false; _local6 = false; _local7 = -4; while (_local7 <= _PlayerState.PlayerEdgeDistance) { b = GetDynamicBodyAt((_this_x + _local7), (_this_y + 2), false); if (b != null){ if (b.GetUserData().objectData.PlayerFragile){ b.GetUserData().objectData.ForceDestruction(); _PlayerState.AirVelocityY = (_PlayerState.AirVelocityY * 0.6); _PlayerState.LastDirX = (_PlayerState.LastDirX * -1); _local5 = true; }; }; _local7 = (_local7 + 2); }; }; if (((!(_local6)) && (!(_local5)))){ _local6 = SidewayBounce(); }; if (_local1 != 0){ _PlayerState.HP = (_PlayerState.HP - _local1); }; if (_local6){ _PlayerState.DecreaseBurnState(); _lastBounceY = _this_y; return; }; if (_local5){ _lastBounceY = _this_y; return; }; _Handler_Sounds.PlaySoundAt("BODYFALL", _this_x, _this_y); BodyDust(); _PlayerState.IncreaseKnockdownGrade(); _PlayerState.Falling = false; _PlayerState.Knockdowned = true; this.scaleX = _PlayerState.LastDirX; _collision_mc.scaleX = this.scaleX; _PlayerState.DecreaseBurnState(); if (_PlayerState.HP <= 0){ CheckDeathBounce(); _lastBounceY = _this_y; }; } else { if (_PlayerState.Diving){ b = m_world.GetGlassAt(_this_x, _this_y); if (b == null){ b = m_world.GetGlassAt(_this_x, (_this_y + 2)); }; if (b != null){ b.GetUserData().objectData.ForceDestruction(); return; }; DropGrabbedPlayer(); _PlayerState.Jumping = false; Roll(); return; }; }; if (_PlayerState.Jumping){ _PlayerState.Jumping = false; if (_keyPressed[KEY_JUMP]){ Jump(); }; } else { UpdateDynamicMovement(); }; } public function BotPositionInSight(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:b2Body=null):Boolean{ var _local5:Point; var _local6:Point; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Number; var _local14:Number; var _local15:int; var _local16:Point; var _local17:b2Body; var _local18:int; var _local19:int; var _local20:Boolean; _local5 = new Point((PosX() - (_PlayerState.LastDirX * 4)), (PosY() - 14)); _local6 = new Point(_arg1, _arg2); _local7 = (_local5.x - _local6.x); _local8 = (_local5.y - _local6.y); _local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); if (_local9 > _PlayerState.RangeWeaponRange){ return (false); }; _local10 = null; _local11 = null; _local12 = (_local9 / 4); _local13 = (-(_local7) / _local12); _local14 = (-(_local8) / _local12); _local15 = 1; while (_local15 <= _local12) { _local5.x = (_local5.x + _local13); _local5.y = (_local5.y + _local14); _local6.x = (_local6.x - _local13); _local6.y = (_local6.y - _local14); _local17 = null; _local18 = -1; while (_local18 <= 1) { if (_local18 == 1){ _local16 = _local5; _local17 = _local10; } else { _local16 = _local6; _local17 = _local11; }; if (_local17 != null){ if (!(_local17.GetUserData().objectData.ShapeMC.hitTestPoint(_local16.x, _local16.y, true))){ _local17 = null; }; }; if (_local17 == null){ if (_static_objects_hitbox_mc.hitTestPoint(_local16.x, _local16.y, true)){ _local17 = m_world.GetBulletSolidAt(_local16.x, _local16.y); if (_local17 == _arg4){ _local17 = null; }; } else { if (_static_world_hitbox_mc.hitTestPoint(_local16.x, _local16.y, true)){ return (false); }; if ((((_local14 > 0)) && (!(_PlayerState.RangeWeaponCanShootDown)))){ if (_static_world_cloud_hitbox_mc.hitTestPoint(_local16.x, _local16.y, true)){ return (false); }; }; }; }; if (_local17 != null){ if (!(_PlayerState.RangeWeaponIsFlamethrower)){ if (((!(_BotState.IgnoreObjectChecking)) || (!(_PlayerState.RangeWeaponIsBazooka)))){ if (_local17.GetUserData().objectData.Indestructible){ return (false); }; }; if (_PlayerState.CurrentRangeWeapon != null){ _local20 = false; if (_local17.GetUserData().objectData.IsBulletHazard){ if (Math.sqrt((Math.pow(((_local17.GetPosition().x * 30) - MidPosX()), 2) + Math.pow(((_local17.GetPosition().y * 30) - MidPosY()), 2))) > HAZARDOUS_DISTANCE_AVOID){ _local20 = true; } else { return (false); }; }; if (((!(_local20)) && (!(_BotState.IgnoreObjectChecking)))){ if (_PlayerState.CurrentRangeWeapon.Properties.Projectile.StrengthLeft < _local17.GetUserData().objectData.Strength){ return (false); }; }; }; }; }; if (_local18 == 1){ _local10 = _local17; } else { _local11 = _local17; }; _local19 = 0; while (_local19 < _players.length) { if (_players[_local19].State.HP <= 0){ if ((_local15 + 2) <= _local12){ if (_players[_local19].CollisionMC.hitTestPoint(_local16.x, _local16.y, true)){ return (false); }; }; } else { if (_players[_local19].PlayerNr != PlayerNr){ if (_players[_local19].PlayerNr != _arg3){ if (_players[_local19].Team == Team){ if (_players[_local19].AreaMC.hitTestPoint(_local16.x, _local16.y, true)){ return (false); }; }; }; }; }; _local19++; }; _local18 = (_local18 + 2); }; _local15 = (_local15 + 2); }; return (true); } public function Revive(_arg1:Number, _arg2:Number):void{ _PlayerBars.Show(); this.visible = true; _PlayerState.ForceHP = 100; _collision_mc.visible = true; _collision_mc.x = _arg1; _collision_mc.y = _arg2; _player_area_mc.x = _arg1; _player_area_mc.y = _arg2; _this_x = _arg1; _this_y = _arg2; _PlayerState.IgnoreMe = false; _char_gui.visible = true; _blood_gui.visible = true; _gui_mc.gib_pic.alpha = 0; _PlayerState.Gone = false; _PlayerState.AirVelocityX = 0; _PlayerState.AirVelocityY = 0; _PlayerState.Falling = false; _PlayerState.Knockdowned = false; _PlayerState.Jumping = true; } public function get CameraIgnore():Boolean{ return (_PlayerState.CameraIgnoreMe); } private function SetNumTo(_arg1:MovieClip, _arg2:int):void{ var _local3:int; var _local4:int; _local3 = (_arg2 % 10); _local4 = int(((_arg2 - _local3) / 10)); if (_local3 == 0){ _arg1.dig_1.gotoAndStop(10); } else { _arg1.dig_1.gotoAndStop(_local3); }; if (_local4 == 0){ _arg1.dig_10.gotoAndStop(10); } else { _arg1.dig_10.gotoAndStop(_local4); }; } private function Stuck():Boolean{ if (HitTestWorldOnly(_this_x, (_this_y - 2))){ if (HitTestWorldOnly(_this_x, (_this_y + 2))){ return (true); }; }; return (false); } public function GiveDefaultMelee(_arg1:WeaponMeleeData):void{ _PlayerState.DefaultMeleeWeapon = _arg1; } private function StandingOnCloud():Boolean{ var _local1:int; _local1 = 0; while (_local1 <= 4) { if (_static_world_cloud_hitbox_mc.hitTestPoint(_this_x, (_this_y + _local1), true)){ return (true); }; _local1 = (_local1 + 1); }; return (false); } private function PunchPlayer(_arg1:int):void{ var _local2:Boolean; var _local3:int; var _local4:int; _local2 = false; if (_players[_arg1].State.HP <= 0){ _local2 = true; }; _players[_arg1].SetDirection(-(_PlayerState.LastDirX)); _players[_arg1].Disarm(); if (_players[_arg1].State.Jumping){ _players[_arg1].State.AirVelocityX = (_players[_arg1].State.AirVelocityX + (_PlayerState.LastDirX * 2)); _players[_arg1].Fall(); } else { _players[_arg1].State.StunTimer = _PlayerState.HitPunchStunTime; }; if (_players[_arg1].State.HP > 0){ _players[_arg1].State.HP = (_players[_arg1].State.HP - _PlayerState.HitPunchDamage); if (_players[_arg1].State.HP <= 0){ if (ActivateSlowmotion(_arg1)){ _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * 2), (24 * 1), 0.2)); }; }; }; if (_PlayerState.CurrentMeleeWeapon != null){ if (!(_players[_arg1].State.Burned)){ _local3 = 0; while (_local3 < 3) { _Handler_Effects.AddParticle(new particle_data("PARTICLE_BLOOD", (_players[_arg1].PosX() - (_PlayerState.LastDirX * 2)), ((_players[_arg1].PosY() - 12) - (Math.random() * 2)), new b2Vec2(_PlayerState.LastDirX, 0), 0, 1, [Math.floor((Math.random() * 1.99))])); _local3++; }; _Handler_Effects.AddEffectAt("BLOOD", (_players[_arg1].PosX() - (_PlayerState.LastDirX * 2)), (_players[_arg1].PosY() - 12)); } else { _Handler_Effects.AddEffectAt("PLAYER_BURNED_HITDEFAULT", (_players[_arg1].PosX() - (_PlayerState.LastDirX * 2)), (_players[_arg1].PosY() - 12)); }; } else { _Handler_Effects.AddEffectAt("FIST_IMPACT", (_players[_arg1].PosX() - (_PlayerState.LastDirX * 2)), (_players[_arg1].PosY() - 12)); if (_PlayerState.PunchComboNr >= 2){ if (!(_players[_arg1].State.Burned)){ _local4 = 0; while (_local4 < _PlayerState.PunchComboNr) { _Handler_Effects.AddParticle(new particle_data("PARTICLE_BLOOD", (_players[_arg1].PosX() - (_PlayerState.LastDirX * 2)), ((_players[_arg1].PosY() - 12) - (Math.random() * 2)), new b2Vec2(_PlayerState.LastDirX, 0), 0, 1, [Math.floor((Math.random() * 1.99))])); _local4++; }; } else { _Handler_Effects.AddEffectAt("PLAYER_BURNED_HITDEFAULT", (_players[_arg1].PosX() - (_PlayerState.LastDirX * 2)), (_players[_arg1].PosY() - 12)); }; }; }; if ((((((_players[_arg1].State.HP <= 0)) && (!(_local2)))) && (((_players[_arg1].State.Running) || (_players[_arg1].State.Sprinting))))){ _players[_arg1].State.AirVelocityX = (_players[_arg1].State.LastDirX * 3); _players[_arg1].State.AirVelocityY = -2.5; _players[_arg1].Fall(); } else { if ((((_PlayerState.PunchComboNr == 3)) || ((_players[_arg1].State.HP <= 0)))){ _players[_arg1].State.AirVelocityX = (_PlayerState.LastDirX * 3); _players[_arg1].State.AirVelocityY = -2.5; _players[_arg1].Fall(); }; }; if ((((((_players[_arg1].State.HP <= 0)) && (!(_players[_arg1].State.Knockdowned)))) && (!(_PlayerState.Falling)))){ _players[_arg1].State.AirVelocityX = (_PlayerState.LastDirX * 2); _players[_arg1].State.AirVelocityY = -2.5; _players[_arg1].Fall(); }; } private function DisableJumpDownLevel():void{ _enableJumpDownLevel = false; clearInterval(_downTimer); } private function PressingLeft(_arg1:Boolean=false):Boolean{ if (_PlayerState.MovingDirectionInversed != 0){ if (_PlayerState.MovingDirectionInversed == -1){ return (false); }; if (_keyPressed[3]){ return (true); }; } else { if (((_keyPressed[2]) && (((!(_keyPressed[3])) || (!(_arg1)))))){ return (true); }; }; return (false); } public function get MC():MovieClip{ return (this); } public function SetGUI(_arg1:MovieClip):void{ var _local2:MovieClip; _gui_mc = _arg1; _gui_mc.visible = true; _local2 = new MovieClip(); _char_gui = PlayerCharacter.Get(_PlayerState.CharNr); _blood_gui = new player_blood(); _local2.addChild(_char_gui); _local2.scaleX = 1; _local2.scaleY = 1; _gui_mc.addChild(_local2); _gui_mc.addChild(_blood_gui); _local2.x = _gui_mc.player_mc.x; _local2.y = _gui_mc.player_mc.y; _blood_gui.x = _gui_mc.player_mc.x; _blood_gui.y = _gui_mc.player_mc.y; _PlayerAnimation.SetGUISkin(_char_gui, _blood_gui); _PlayerAnimation.ShowAnimation("aim_pistol"); _PlayerBars.SetGUI(_gui_mc); } private function CanTakeCover(_arg1:int):Boolean{ var _local2:Number; var _local3:int; _local2 = ((_arg1 * _PlayerState.PlayerEdgeDistance) + (_arg1 * 4)); if (_static_world_hitbox_mc.hitTestPoint((_this_x + _local2), MidPosY(), true)){ if (!(_PlayerState.TakingCover)){ b = m_world.GetStairBodyAt((_this_x + _local2), MidPosY()); if (b != null){ return (false); }; }; _local3 = 0; while (_local3 <= 12) { if (!(_static_world_hitbox_mc.hitTestPoint((_this_x + _local2), ((_this_y - 22) + _local3), true))){ return (true); }; _local3 = (_local3 + 4); }; }; return (false); } public function get Bot():Boolean{ return (_bot); } private function SwapDepths(_arg1:int):void{ if (this.parent.getChildIndex(this) < _players[_arg1].parent.getChildIndex(_players[_arg1])){ this.parent.swapChildren(this, _players[_arg1]); }; } private function AbleToWalljump():Boolean{ var _local1:int; if (!(_PlayerState.WallJumping)){ if (Math.sqrt((_PlayerState.AirVelocityY * _PlayerState.AirVelocityY)) <= 3){ _edgePosition = (_this_x + ((_PlayerState.PlayerEdgeDistance + 1) * _PlayerState.LastDirX)); _local1 = 0; while (_local1 <= 8) { if (_static_world_hitbox_mc.hitTestPoint(_edgePosition, (_this_y - _local1), true)){ return (true); }; _local1 = (_local1 + 2); }; }; }; return (false); } private function BotStateAim():void{ var _local1:Number; if (((_PlayerState.Jumping) || ((_PlayerState.CurrentRangeWeapon == null)))){ _BotState.Phase = BotState.CANCEL_AIM; return; }; if (_PlayerState.CurrentRangeWeapon.Ammo <= 0){ _BotState.Phase = BotState.CANCEL_AIM; return; }; if (_BotState.TargetHazardousObject == null){ if (_BotState.ActionShotFired){ if (!(_BotState.TargetInSight)){ _BotState.Phase = BotState.CANCEL_AIM; return; }; if (((BotTargetInMelee()) && (!(_BotState.TargetPlayer.State.Knockdowned)))){ _BotState.Phase = BotState.CANCEL_AIM; return; }; } else { if (_BotState.TargetPlayer == null){ _BotState.Phase = BotState.CANCEL_AIM; return; }; }; }; SetBotKey(2, false); SetBotKey(3, false); if (_BotState.TargetHazardousObject != null){ _local1 = ((_BotState.TargetHazardousObject.GetPosition().x * 30) - MidPosX()); } else { _local1 = (_BotState.TargetPlayer.MidPosX() - MidPosX()); }; if (Math.abs(_local1) > 5){ if ((_PlayerState.LastDirX * _local1) <= 0){ if (_PlayerState.LastDirX > 0){ SetBotKey(2, true); } else { SetBotKey(3, true); }; return; }; }; if (!(_PlayerState.Aiming)){ SetBotKey(KEY_FIRE, !(_keyPressed[KEY_FIRE])); }; BotAimY(); if (_BotState.TargetInAim){ if ((((_PlayerState.CurrentWeaponCooldown <= 0)) && (!(_PlayerState.AimTurningAround)))){ if (_BotState.TargetHazardousObject == null){ if (((_BotState.TargetPlayer.State.IsImmune) && ((_BotState.Difficulty == BotState.HARD)))){ return; }; if (((_BotState.TargetPlayer.State.StuckToRocket) && ((_PlayerState.CurrentRangeWeapon.Properties.WeaponType == "BAZOOKA")))){ return; }; }; if (_BotState.Difficulty == BotState.EASY){ if (Math.random() < 0.85){ return; }; }; if (_BotState.Difficulty == BotState.MEDIUM){ if (Math.random() < 0.7){ return; }; }; _BotState.SetDelay(); _BotState.Phase = BotState.SHOOT; SetBotKey(5, false); _BotState.RandomFirePosition = true; _BotState.ActionShotFired = true; }; }; } private function BotFacingEdge(_arg1:int=1):Boolean{ return (DetectEdge((_PlayerState.LastDirX * _arg1), 45, true)); } private function BotTargetThreat_Aim(_arg1:Player):Number{ if (_arg1.State.Aiming){ return (_arg1.PlayerInSightPercentage(this)); }; return (0); } private function CanDive():Boolean{ if (CollisionHead()){ return (false); }; return (true); } private function BotChooseTarget(_arg1:Boolean=true):void{ var _local2:int; var _local3:Number; var _local4:Player; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Boolean; var _local10:Number; var _local11:b2Body; var _local12:Number; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:PathNode; var _local17:Number; var _local18:PathNode; var _local19:Number; var _local20:Number; var _local21:PathNode; var _local22:PathNode; var _local23:Array; _local2 = -1; _local3 = 99999; _local4 = _BotState.TargetPlayer; _BotState.DoFireCheck = true; _local9 = false; if (_arg1){ _BotState.UpdateUnavailableStuff(); }; _local5 = 0; while (_local5 < _players.length) { if (PlayerNr != _local5){ if ((((_players[_local5].State.HP > 0)) && (!((_players[_local5].Team == _team))))){ _local9 = true; if (!(_BotState.IsPlayerUnavailable(_players[_local5]))){ _local6 = (_players[_local5].MidPosX() - MidPosX()); _local7 = (_players[_local5].MidPosY() - MidPosY()); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); _local8 = (_local8 * (1 - (0.33 * BotTargetThreat_Aim(_players[_local5])))); _local8 = (_local8 * (1 - (0.25 * BotTargetThreat_Weapon(_players[_local5])))); _local8 = (_local8 * (1 - (0.4 * BotTargetThreat_Weakness(_players[_local5])))); _local10 = (_local8 * 0.33); if ((((_local8 < 50)) && ((Math.abs(_local7) < 20)))){ _local8 = _local10; } else { if (_local10 < _local3){ if (_PlayerState.RangeWeaponRange < _local10){ if (BotPositionInSight(((_players[_local5].MidPosX() + (Math.random() * 6)) - 3), ((_players[_local5].MidPosY() + (Math.random() * 4)) - 2), _players[_local5].PlayerNr)){ _local8 = _local10; }; }; }; }; if (_local8 < _local3){ _local2 = _local5; _local3 = _local8; }; }; }; }; _local5++; }; _BotState.OpponentExist = _local9; if (!(_BotState.OpponentExist)){ BotCalculatePathGrid(_pathGrid.GetNodeAt(MidPosX(), MidPosY())); return; }; if ((((((((((_BotState.Difficulty > BotState.EASY)) && (_PlayerState.OnGround))) && (!((_local2 == -1))))) && (!((_PlayerState.CurrentRangeWeapon == null))))) && (!(BotState.FOLLOW_ONLY)))){ _local5 = 0; while (_local5 < m_world.HazardsList.length) { _local11 = m_world.HazardsList[_local5]; if (_local11.GetUserData().objectData.IsBulletHazard){ _local12 = (_local11.GetPosition().x * 30); _local13 = (_local11.GetPosition().y * 30); _local6 = (_local12 - _players[_local2].MidPosX()); _local7 = (_local13 - _players[_local2].MidPosY()); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); if (_local8 <= HAZARDOUS_DISTANCE){ _local6 = (_local12 - MidPosX()); _local7 = (_local13 - MidPosY()); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); if (_local8 > HAZARDOUS_DISTANCE_AVOID){ if (BotPositionInSight(_local12, _local13, 9999, _local11)){ _BotState.TargetHazardousObject = _local11; _BotState.TargetPlayer = _players[_local2]; _BotState.Phase = BotState.AIM; return; }; }; }; }; _local5++; }; }; _BotState.TargetHazardousObject = null; if (!(BotState.FOLLOW_ONLY)){ if ((((_PlayerState.CurrentRangeWeapon == null)) || (!(_BotState.TargetInSight)))){ _local14 = _BotState.TargetWeapon; _local15 = -1; _local5 = 0; while (_local5 < m_world.WeaponList.length) { b = m_world.WeaponList[_local5]; _local16 = _pathGrid.GetNodeAt((b.GetPosition().x * 30), (b.GetPosition().y * 30)); if (_local16 != null){ if (!(_local16.Avoid)){ if (b.GetUserData().weaponData.Ammo > 0){ if (!(_BotState.IsWeaponUnavailable(b))){ _local6 = (MidPosX() - (b.GetPosition().x * 30)); _local7 = ((MidPosY() + 4) - (b.GetPosition().y * 30)); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); if ((((b.GetUserData().isRanged == true)) && ((b.GetUserData().weaponData.TotalDamage > (_PlayerState.RangeWeaponTotalDamage * 1.2))))){ _local8 = (_local8 - (0.25 * (b.GetUserData().weaponData.TotalDamage - _PlayerState.RangeWeaponTotalDamage))); } else { if ((((b.GetUserData().isMelee == true)) && ((b.GetUserData().weaponData.TotalDamage > _PlayerState.MeleeWeaponTotalDamage)))){ _local8 = (_local8 - (0.25 * (b.GetUserData().weaponData.TotalDamage - _PlayerState.MeleeWeaponTotalDamage))); } else { if ((((((b.GetUserData().isHealth == true)) && ((_PlayerState.HP < 100)))) && ((_BotState.Difficulty > BotState.EASY)))){ _local17 = (100 - _PlayerState.HP); if (_local17 > b.GetUserData().weaponData.Ammo){ _local17 = b.GetUserData().weaponData.Ammo; }; _local8 = (_local8 - (0.5 * _local17)); if (_PlayerState.HP <= 25){ _local8 = (_local8 * 0.7); }; } else { _local8 = 9999; }; }; }; if (b == _local14){ _local8 = (_local8 * 0.8); }; if (_local8 < _local3){ _local15 = _local5; _local3 = _local8; _local2 = -1; }; }; }; }; }; _local5++; }; if (_local15 >= 0){ _BotState.TargetWeapon = m_world.WeaponList[_local15]; _BotState.PathGridCounter = (_BotState.PathGridCounter - 1); if (((!((_local14 == _BotState.TargetWeapon))) && ((_BotState.Phase == BotState.GRAB_WEAPON)))){ _BotState.Phase = BotState.IDLE; }; if (((!((_local14 == _BotState.TargetWeapon))) || ((_BotState.PathGridCounter <= 0)))){ _BotState.PathGridCounter = 2; _local18 = _pathGrid.GetNodeAt((_BotState.TargetWeapon.GetPosition().x * 30), (_BotState.TargetWeapon.GetPosition().y * 30)); BotCalculatePathGrid(_local18); if (_BotState.Path.length <= 0){ if (_pathGrid.GetNodeAt(MidPosX(), MidPosY()) != _local18){ _BotState.UnavailableWeapons.push([_BotState.TargetWeapon, 0]); _BotState.TargetWeapon = null; }; }; }; } else { _BotState.TargetWeapon = null; }; }; }; if (_local2 >= 0){ _BotState.TargetPlayer = _players[_local2]; _BotState.PathGridCounter = (_BotState.PathGridCounter - 1); if (((!((_local4 == _BotState.TargetPlayer))) || ((_BotState.PathGridCounter <= 0)))){ _BotState.PathGridCounter = 2; _local19 = _BotState.TargetPlayer.MidPosX(); _local20 = _BotState.TargetPlayer.MidPosY(); _local21 = _pathGrid.GetNodeAt(_local19, _local20); BotCalculatePathGrid(_local21); if (_BotState.Path.length <= 0){ _local22 = _pathGrid.GetNodeAt(MidPosX(), MidPosY()); if (_local22 != null){ if (((!((_local22.GetBindTo(_local21) == null))) || ((_local22 == _local21)))){ return; }; if (BotPositionShootableFrom(_local19, _local20, _local22.PosX, (_local22.PosY - 2))){ _BotState.IgnoreObjectCheckingTimer = BotState.UNAVAILABLE_PLAYER_TIMER; return; }; _local23 = _pathGrid.GetConnectedNodes(); _local5 = 2; while (_local5 < _local23.length) { if (BotPositionShootableFrom(_local19, _local20, _local23[_local5].PosX, (_local23[_local5].PosY - 2))){ _BotState.IgnoreObjectCheckingTimer = BotState.UNAVAILABLE_PLAYER_TIMER; BotCalculatePathGrid(_local23[_local5]); return; }; _local5 = (_local5 + 2); }; _BotState.UnavailablePlayers.push([_BotState.TargetPlayer, 0]); _BotState.TargetPlayer = null; BotChooseTarget(false); }; }; }; } else { _BotState.TargetPlayer = null; }; if ((((_local2 == -1)) && ((_local15 == -1)))){ BotCalculatePathGrid(_pathGrid.GetNodeAt(MidPosX(), MidPosY())); }; } private function ThrowTimerEnded():void{ if (((_PlayerState.Aiming) && ((_PlayerState.AimMode == 1)))){ DropThrowable(); }; } private function CanStagger():Boolean{ if ((((_PlayerState.HP <= 0)) && (_PlayerState.Knockdowned))){ return (false); }; return (!(StaggerCollision(-(_PlayerState.LastDirX)))); } private function WorldCollisionHead():Boolean{ var _local1:int; if (((HitTestWorldOnly(_this_x, (_this_y - _PlayerState.PlayerHeight))) && (((HitTestWorldOnly((_this_x - _PlayerState.PlayerEdgeDistance), (_this_y - _PlayerState.PlayerHeight))) || (HitTestWorldOnly((_this_x + _PlayerState.PlayerEdgeDistance), (_this_y - _PlayerState.PlayerHeight))))))){ return (true); }; _local1 = 4; while (_local1 <= (_PlayerState.PlayerHeight - 2)) { if (((((HitTestWorldOnly((_this_x - _PlayerState.PlayerEdgeDistance), (_this_y - _local1))) && (HitTestWorldOnly(_this_x, (_this_y - _local1))))) && (HitTestWorldOnly((_this_x + _PlayerState.PlayerEdgeDistance), (_this_y - _local1))))){ return (true); }; _local1 = (_local1 + 2); }; return (false); } private function UpdateDynamicMovement(_arg1:Boolean=false):void{ var _local2:Array; var _local3:int; var _local4:int; var _local5:b2Vec2; var _local6:b2Vec2; var _local7:Number; if (_PlayerState.KickingTimer > 0){ return; }; if (_PlayerState.OnGround){ _local2 = new Array(); _local3 = 0; while (_local3 < m_world.DynamicHitBoxObjectList.length) { b = m_world.DynamicHitBoxObjectList[_local3]; if (b.GetUserData().objectData.ShapeMC.hitTestObject(_player_area_mc)){ _local2.push(b); }; _local3++; }; _local4 = 0; while (_local4 <= (_PlayerState.PlayerEdgeDistance + 2)) { _local3 = 0; while (_local3 < _local2.length) { b = _local2[_local3]; if (((b.GetUserData().objectData.ShapeMC.hitTestPoint((_this_x + _local4), (_this_y + 2), true)) || (b.GetUserData().objectData.ShapeMC.hitTestPoint((_this_x - _local4), (_this_y + 2), true)))){ _local5 = new b2Vec2((_this_x / 30), (_this_y / 30)); if (b.GetUserData().objectData.IsElevator){ _local6 = b.GetLinearVelocity(); } else { _local6 = b.GetLinearVelocityFromWorldPoint(_local5); }; if (_arg1){ if (b.GetUserData().isConveyorBelt == true){ _PlayerState.AirVelocityX = (b.GetLinearVelocity().x + b.GetUserData().conveyorBeltSpeedX); _PlayerState.AirVelocityY = (b.GetLinearVelocity().y + b.GetUserData().conveyorBeltSpeedY); } else { _PlayerState.AirVelocityX = b.GetLinearVelocity().x; _PlayerState.AirVelocityY = b.GetLinearVelocity().y; }; } else { _PlayerState.AirVelocityX = _local6.x; _PlayerState.AirVelocityY = _local6.y; if (b.GetUserData().objectData.ShapeMC.hitTestPoint(_this_x, (_this_y + 2), true)){ SimpleMove((_local6.x * _game_speed), ((_local6.y * _game_speed) * 0.66)); } else { SimpleMove((_local6.x * _game_speed), ((_local6.y * _game_speed) * 1.01)); }; if (_game_speed >= 0.01){ _local7 = (b.GetMass() / 10); b.ApplyImpulse(new b2Vec2(0, (_local7 * _game_speed)), _local5); }; }; _standingOnObject = b; return; }; _local3++; }; _local4 = (_local4 + 2); }; _PlayerState.AirVelocityX = 0; _PlayerState.AirVelocityY = 0; }; _standingOnObject = null; } private function CanLandInMid():Boolean{ var _local1:int; _local1 = 0; while (_local1 <= _PlayerState.PlayerEdgeDistance) { if (!(_performJumpDownLevel)){ if (_static_world_cloud_hitbox_mc.hitTestPoint(_this_x, (_this_y + _local1), true)){ return (true); }; }; if (_static_world_hitbox_mc.hitTestPoint(_this_x, (_this_y + _local1), true)){ return (true); }; _local1 = (_local1 + 2); }; return (false); } private function UpdateEventNPC():void{ var _local1:int; var _local2:Number; var _local3:int; var _local4:*; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Boolean; var _local13:Boolean; if (_PlayerState.HP <= 0){ clearInterval(_botTimer); clearInterval(_BotState._targetChooseTimer); clearInterval(_BotState._targetInSightTimer); clearInterval(_BotState._randomizTimer); return; }; if (_PlayerState.StuckToRocket){ clearInterval(_BotState._targetChooseTimer); clearInterval(_BotState._targetInSightTimer); clearInterval(_BotState._randomizTimer); SetBotKey(KEY_UP, false); SetBotKey(KEY_DOWN, false); if (_BotState.Difficulty < BotState.HARD){ SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); return; }; _local2 = 99999; _local3 = -1; _local1 = 0; while (_local1 < _players.length) { if ((((((_players[_local1].State.HP > 0)) && (!((_players[_local1].Team == Team))))) && (!((_local1 == PlayerNr))))){ _local4 = Math.sqrt((Math.pow((_players[_local1].MidPosX() - MidPosX()), 2) + Math.pow((_players[_local1].MidPosY() - MidPosY()), 2))); if (_local4 < _local2){ _local2 = _local4; _local3 = _local1; }; }; _local1++; }; if (_local3 == -1){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, false); return; }; _BotState.TargetPlayer = _players[_local3]; if (((!(_BotState.FirstRocketTurnDone)) && ((((((_PlayerState.RocketRideProjectile.DirectionX > 0)) && ((_BotState.TargetPlayer.MidPosX() < MidPosX())))) || ((((_PlayerState.RocketRideProjectile.DirectionX < 0)) && ((_BotState.TargetPlayer.MidPosX() > MidPosX())))))))){ if (_PlayerState.RocketRideProjectile.DirectionX < 0){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, true); }; } else { _BotState.FirstRocketTurnDone = true; _local5 = Math.atan2((_BotState.TargetPlayer.MidPosY() - MidPosY()), (_BotState.TargetPlayer.MidPosX() - MidPosX())); _local6 = Math.atan2(_PlayerState.RocketRideProjectile.DirectionY, _PlayerState.RocketRideProjectile.DirectionX); _local7 = (_local5 * (180 / Math.PI)); _local8 = (_local6 * (180 / Math.PI)); _local9 = 10; _local10 = _local8; _local11 = _local8; _local1 = 0; while (_local1 < 180) { _local10 = (_local10 - 4); _local11 = (_local11 + 4); if (_local10 < -180){ _local10 = (_local10 + 360); }; if (_local11 > 180){ _local11 = (_local11 - 360); }; _local12 = (Math.abs((_local10 - _local7)) < _local9); _local13 = (Math.abs((_local11 - _local7)) < _local9); if (((_local12) && (_local13))){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, false); } else { if (_local12){ SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, true); } else { if (_local13){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); }; }; }; _local1 = (_local1 + 4); }; return; }; return; }; if (_BotState.TargetPlayer != null){ if (_BotState.TargetPlayer.State.HP <= 0){ _BotState.TargetPlayer = null; }; }; if (_PlayerState.BotInterrupt){ _local1 = 0; while (_local1 <= 9) { SetBotKey(_local1, false); _local1++; }; _BotState.Phase = BotState.INTERRUPTED; return; } else { if (_BotState.Phase == BotState.INTERRUPTED){ BotGoForReset(true); BotChooseTarget(); _BotState.Phase = BotState.IDLE; }; }; if (_BotState.PhaseDelay > 0){ _BotState.PhaseDelay = (_BotState.PhaseDelay - 1); return; }; if (BotDodgeRocket()){ if (_PlayerState.Aiming){ _BotState.Phase = BotState.CANCEL_AIM; } else { if ((((((Math.random() < 0.7)) || (!(_PlayerState.CanRoll)))) || (BotFacingEdge()))){ SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); } else { if (((_keyPressed[KEY_LEFT]) && (_keyPressed[KEY_RIGHT]))){ if (_PlayerState.LastDirX == 1){ SetBotKey(KEY_LEFT, false); } else { SetBotKey(KEY_RIGHT, false); }; } else { if (((!(_keyPressed[KEY_LEFT])) && (!(_keyPressed[KEY_RIGHT])))){ if (_PlayerState.LastDirX == 1){ SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_LEFT, true); }; }; }; SetBotKey(KEY_DOWN, true); }; }; }; if (((BotDodgeBullet()) || (_BotState.DodgeBullet))){ if (_PlayerState.Aiming){ _BotState.DodgeBullet = true; _BotState.Phase = BotState.CANCEL_AIM; } else { BotCheckCover(); if (_PlayerState.CanRoll){ if (((_keyPressed[KEY_LEFT]) && (_keyPressed[KEY_RIGHT]))){ if (_PlayerState.LastDirX == 1){ SetBotKey(KEY_LEFT, false); } else { SetBotKey(KEY_RIGHT, false); }; } else { if (((!(_keyPressed[KEY_LEFT])) && (!(_keyPressed[KEY_RIGHT])))){ if (_PlayerState.LastDirX == 1){ SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_LEFT, true); }; }; }; if (BotFacingEdge()){ if (BotFacingEdge(-1)){ SetBotKey(KEY_UP, false); SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); _BotState.Phase = BotState.FOLLOW_PATH; _BotState.DodgeBullet = false; return; }; if (_keyPressed[KEY_LEFT]){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, true); }; }; DisableJumpDownLevel(); SetBotKey(KEY_DOWN, true); } else { if (_BotState.NextResultNode != null){ if (_BotState.NextResultNode.PrevBind != null){ switch (_BotState.NextResultNode.PrevBind.MovementType){ case PathBind.SPRINTJUMP: case PathBind.JUMP: case PathBind.DIVE: case PathBind.CLOUDDOWN: _BotState.DodgeBullet = false; return; }; }; }; SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); }; _BotState.DodgeBullet = false; return; }; }; if ((((((_PlayerState.BurnState >= 60)) || (((((!(_PlayerState.InWorldFire)) && ((_PlayerState.BurnState > 20)))) && (!(_BotState.RunAwayFromHazards)))))) || (((((((!(_PlayerState.InWorldFire)) && (_PlayerState.FireRank1Attached))) && ((_PlayerState.HP < 10)))) && (!(_BotState.RunAwayFromHazards)))))){ if (_PlayerState.Aiming){ if (_PlayerState.HP < 10){ SetBotKey(KEY_MELEE, !(_keyPressed[KEY_MELEE])); _BotState.Phase = BotState.FOLLOW_PATH; return; }; _BotState.CancelAimSoon = true; } else { if (_PlayerState.CanRoll){ BotCheckCover(); if (_PlayerState.Sprinting){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, false); return; }; SetBotKey(KEY_MELEE, false); SetBotKey(KEY_UP, false); if (_PlayerState.OnGround){ if (_PlayerState.Rolling){ SetBotKey(KEY_DOWN, false); } else { if (_PlayerState.LastDirX == 1){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, true); }; DisableJumpDownLevel(); SetBotKey(KEY_DOWN, true); return; }; }; if ((((_BotState.Phase == BotState.MELEE)) && ((_PlayerState.BurnState >= 45)))){ return; }; }; }; }; if (((!(_PlayerState.Sprinting)) && ((_PlayerState.SprintEnergy > 40)))){ if (_PlayerState.OnGround){ if (_BotState.RunOften){ if (_PlayerState.Running){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, false); return; }; }; }; }; if (_BotState.Phase == BotState.IDLE){ SetBotKey(KEY_DOWN, false); if (_PlayerState.ControllAble){ if (((((!((_BotState.TargetPlayer == null))) || (!((_BotState.TargetWeapon == null))))) || (_BotState.RunAwayFromHazards))){ _BotState.Phase = BotState.FOLLOW_PATH; } else { if (((((_BotState.TargetInSight) && (!((_PlayerState.CurrentRangeWeapon == null))))) && (!(BotState.FOLLOW_ONLY)))){ _BotState.Phase = BotState.AIM; }; }; }; }; if (_BotState.Phase == BotState.MELEE){ BotStateMelee(); } else { if (_BotState.Phase == BotState.GRAB_WEAPON){ BotStateGrabWeapon(); } else { if (_BotState.Phase == BotState.FOLLOW_PATH){ BotStateFollowPath(); } else { if (_BotState.Phase == BotState.CANCEL_AIM){ BotStateCancelAim(); } else { if (_BotState.Phase == BotState.AIM){ BotStateAim(); } else { if (_BotState.Phase == BotState.SHOOT){ BotStateShoot(); }; }; }; }; }; }; } public function get Ignore():Boolean{ return (_PlayerState.IgnoreMe); } private function SetBotKey(_arg1:int, _arg2:Boolean):void{ switch (_arg2){ case true: switch (_arg1){ case 0: if (!(_keyPressed[0])){ _keyPressed[0] = true; _keyPressed[8] = true; UpPressed(); Jump(); }; break; case 1: if (!(_keyPressed[1])){ _keyPressed[1] = true; _keyPressed[9] = true; DownPressed(); KneelPressed(); }; break; case 2: _keyPressed[2] = true; break; case 3: _keyPressed[3] = true; break; case 4: if (!(_keyPressed[4])){ _keyPressed[4] = true; Melee(); }; break; case 5: if (!(_keyPressed[5])){ _keyPressed[5] = true; RangedDown(); }; break; case 6: if (!(_keyPressed[6])){ _keyPressed[6] = true; ThrowDown(); }; break; case 7: if (!(_keyPressed[7])){ _keyPressed[7] = true; UsePowerup(); }; break; }; break; case false: switch (_arg1){ case 0: _keyPressed[0] = false; _keyPressed[8] = false; break; case 1: if (_keyPressed[1]){ _keyPressed[1] = false; _keyPressed[9] = false; KneelReleased(); }; break; case 2: _keyPressed[2] = false; break; case 3: _keyPressed[3] = false; break; case 4: _keyPressed[4] = false; break; case 5: if (_keyPressed[5]){ _keyPressed[5] = false; RangedUp(); }; break; case 6: if (_keyPressed[6]){ _keyPressed[6] = false; ThrowUp(); }; break; case 7: _keyPressed[7] = false; break; }; break; }; } private function BotAimY():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; if (_BotState.TargetPlayer == null){ return; }; if (_BotState.TargetHazardousObject != null){ _local3 = ((PosX() - (_PlayerState.LastDirX * 4)) - (_BotState.TargetHazardousObject.GetPosition().x * 30)); _local4 = ((PosY() - 14) - (_BotState.TargetHazardousObject.GetPosition().y * 30)); } else { _local3 = ((PosX() - (_PlayerState.LastDirX * 4)) - _BotState.TargetPlayer.MidPosX()); _local7 = -1; if (Math.abs(_local3) < 100){ if (((((!(_BotState.TargetPlayer.State.Kneeling)) && (!(_BotState.TargetPlayer.State.TakingCover)))) && (!(_BotState.TargetPlayer.State.Knockdowned)))){ _local7 = (_local7 - 2); }; }; _local4 = ((PosY() - 14) - (_BotState.TargetPlayer.MidPosY() + _local7)); }; _local5 = Math.sqrt((Math.pow(_local3, 2) + Math.pow(_local4, 2))); if (_BotState.RandomFirePosition){ if (_BotState.Difficulty == BotState.EASY){ _local9 = (14 * (Math.PI / 180)); _local8 = (_local5 * Math.tan(_local9)); if (_local8 > 20){ _local8 = 20; }; } else { if (_BotState.Difficulty == BotState.MEDIUM){ _local9 = (9 * (Math.PI / 180)); _local8 = (_local5 * Math.tan(_local9)); if (_local8 > 12){ _local8 = 12; }; } else { if (_BotState.Difficulty == BotState.HARD){ _local8 = 2; }; }; }; _local10 = ((Math.random() * Math.PI) * 2); _BotState.RandomFireX = (Math.cos(_local10) * _local8); _BotState.RandomFireY = (Math.sin(_local10) * _local8); _BotState.RandomFirePosition = false; }; _local3 = (_local3 + _BotState.RandomFireX); _local4 = (_local4 + _BotState.RandomFireY); if (_PlayerState.LastDirX == -1){ _local1 = (_PlayerState.CurrentAimAngle - 180); _local2 = (Math.atan2(_local4, _local3) * (180 / Math.PI)); } else { _local1 = ((Math.atan2(-(_local4), -(_local3)) * (180 / Math.PI)) + 180); _local2 = (_PlayerState.CurrentAimAngle + 180); }; _local6 = (Math.atan((5 / _local5)) * (180 / Math.PI)); if (_local4 != 0){ _local11 = (Math.abs(_local3) / Math.abs(_local4)); if (_local11 < 1){ _local6 = (_local6 * _local11); }; }; if (_local6 < 1.5){ _local6 = 1.5; }; _BotState.TargetInAim = false; if ((_local1 + _local6) < _local2){ SetBotKey(1, false); SetBotKey(0, true); } else { if ((_local1 - _local6) > _local2){ SetBotKey(0, false); SetBotKey(1, true); } else { SetBotKey(1, false); SetBotKey(0, false); _BotState.TargetInAim = true; }; }; } private function CollisionFeetSides(_arg1:Number=0, _arg2:Number=0):Boolean{ var _local3:int; if (_arg2 == 0){ _arg2 = _PlayerState.PlayerEdgeDistance; }; _local3 = 2; while (_local3 <= _arg2) { if (((_static_world_hitbox_mc.hitTestPoint((_this_x - _local3), (_this_y + _arg1), true)) || (_static_world_hitbox_mc.hitTestPoint((_this_x + _local3), (_this_y + _arg1), true)))){ return (true); }; if (!(_performJumpDownLevel)){ if (((_static_world_cloud_hitbox_mc.hitTestPoint((_this_x - _local3), (_this_y + _arg1), true)) || (_static_world_cloud_hitbox_mc.hitTestPoint((_this_x + _local3), (_this_y + _arg1), true)))){ return (true); }; }; _local3 = (_local3 + 2); }; return (false); } private function BotTargetInMelee():Boolean{ if (_BotState.TargetPlayer == null){ return (false); }; if (_PlayerState.Jumping){ return (CanKickPlayer(_BotState.TargetPlayer, _PlayerState.Jumping)); }; if (CanKickPlayer(_BotState.TargetPlayer, false)){ return (true); }; return (InMeleeRange(_BotState.TargetPlayer)); } private function Dive():void{ if (!(CanDive())){ return; }; KeyTurnPlayer(); if (!(_PlayerState.ShortDiveAvailable)){ _PlayerState.DiveSpeed = 3.5; } else { _PlayerState.DiveSpeed = 1; }; _Handler_Sounds.PlaySoundAt("JUMP", PosX(), PosY()); _PlayerState.Diving = true; _PlayerState.Jumping = true; _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX + (_PlayerState.LastDirX * _PlayerState.DiveSpeed)); _PlayerState.AirVelocityY = (_PlayerState.AirVelocityY - 3); _this_y = (_this_y - 6); _this_x = (_this_x + _PlayerState.MovingDirectionX); DrainEnergy("SPRINT_DIVE"); } private function StaggerCollision(_arg1:int):Boolean{ var _local2:int; _local2 = 2; while (_local2 <= 6) { if (_static_world_hitbox_mc.hitTestPoint((_this_x + ((_local2 - 1) * _arg1)), ((_this_y - 3) - _local2), true)){ _staggerFragileObject = m_world.GetGlassAt((_this_x + ((_local2 - 1) * _arg1)), ((_this_y - 3) - _local2)); if (_staggerFragileObject == null){ return (true); }; return (false); }; _local2 = (_local2 + 2); }; return (false); } private function MeleeStrike():void{ var _local1:particle_data; var _local2:Number; var _local3:Number; var _local4:Boolean; var _local5:Number; var _local6:Array; var _local7:Array; var _local8:int; var _local9:int; var _local10:Boolean; var _local11:Array; var _local12:int; var _local13:Number; _Handler_Sounds.PlaySoundAt(_PlayerState.MeleeSwingSound, MidPosX(), MidPosY()); _local1 = new particle_data(_PlayerState.MeleeSwingEffect, _this_x, _this_y); _local1.ScaleX = _PlayerState.LastDirX; _Handler_Effects.AddParticle(_local1); _local3 = (MidPosY() - 4); _local4 = false; _local5 = 4; while (_local5 <= _PlayerState.MeleeWeaponRange) { _local2 = (MidPosX() + (_PlayerState.LastDirX * _local5)); if (HitTestWorldOnly(_local2, _local3)){ _local4 = true; _local2 = (MidPosX() + (_PlayerState.LastDirX * (_local5 + 2))); _local5 = (_PlayerState.MeleeWeaponRange + 1); }; _local5++; }; if (_local4){ _Handler_Effects.AddParticle(new particle_data("DUST", _local2, _local3, new b2Vec2(((Math.random() * 4) - 2), (-(Math.random()) * 4)))); _Handler_Effects.AddEffectAt("FIST_IMPACT", _local2, _local3); }; Kick(true); _PlayerState.PunchHitPerformed = true; if (_PlayerState.CurrentMeleeWeapon != null){ DeflectBullets(); }; _local6 = new Array(); _local7 = EnemiesInMeleeRange(); _local8 = 0; while (_local8 < _local7.length) { SwapDepths(_local7[_local8]); _local10 = false; if (_local7[_local8] > PlayerNr){ if (_players[_local7[_local8]].PunchReady()){ _local11 = _players[_local7[_local8]].EnemiesInMeleeRange(); _local12 = 0; while (_local12 < _local11.length) { if (_local11[_local12] == PlayerNr){ _local10 = true; _local6.push(_local7[_local8]); }; _local12++; }; }; }; if (!(_local10)){ PunchPlayer(_local7[_local8]); }; _local8++; }; _local9 = 0; while (_local9 < _local6.length) { _local13 = Math.random(); if (_local13 < 0.5){ PunchPlayer(_local6[_local9]); } else { _PlayerState.StunTimer = 2; _PlayerState.StunTimer = 2; }; _local9++; }; if (_local7.length > 0){ _Handler_Sounds.PlaySoundAt(_PlayerState.MeleeWeaponHitSound, _this_x, _this_y); _PlayerAnimation.DelayAnimation(_PlayerState.HitPunchComboFrame, 1); } else { if (_button_in_melee_range){ _Handler_Output.Trace("Pressing Button"); _Handler_Sounds.PlaySoundAt(_button_to_activate.GetUserData().buttonData.OnActivationSound, MidPosX(), MidPosY()); _button_to_activate.GetUserData().buttonData.Activate(); }; }; } private function BotChooseTarget_Tick():void{ BotChooseTarget(); } private function MovePlayer(_arg1:int, _arg2:Number):void{ var _local3:int; var _local4:Number; var _local5:int; if (!(_PlayerState.Staggering)){ if (((!(_PlayerState.WallJumping)) && (_PlayerState.Jumping))){ _PlayerState.MovingDirectionX = _arg1; } else { if (!(_PlayerState.WallJumping)){ this.scaleX = _arg1; _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = this.scaleX; _PlayerState.MovingDirectionX = _PlayerState.LastDirX; } else { _PlayerState.LastDirX = this.scaleX; _PlayerState.MovingDirectionX = _PlayerState.LastDirX; }; }; } else { _PlayerState.MovingDirectionX = -(_PlayerState.LastDirX); }; if (((_PlayerState.Kneeling) && (!(_PlayerState.Rolling)))){ if (_PlayerState.CanRoll){ Roll(); }; return; }; _local3 = Math.abs((_arg2 * 10)); _local4 = (_PlayerState.MovingDirectionX * 0.1); _local5 = 1; while (_local5 <= _local3) { if (!(WalkCollision(_PlayerState.MovingDirectionX, _PlayerState.Jumping))){ _this_x = (_this_x + (_local4 * _game_speed)); if (_PlayerState.OnGround){ UpdateSimpleGroundMovement(false); }; } else { return; }; _local5++; }; } private function CollisionFeetMid(_arg1:Number=0, _arg2:Number=0, _arg3:Boolean=false):Boolean{ if (((_static_world_cloud_hitbox_mc.hitTestPoint(_this_x, (_this_y + _arg1), true)) && (!(_performJumpDownLevel)))){ return (true); }; if (_static_world_hitbox_mc.hitTestPoint(_this_x, (_this_y + _arg1), true)){ return (true); }; if (_arg2 != 0){ if (((_static_world_cloud_hitbox_mc.hitTestPoint((_this_x + _arg2), (_this_y + _arg1), true)) && (!(_performJumpDownLevel)))){ return (true); }; if (_static_world_hitbox_mc.hitTestPoint((_this_x + _arg2), (_this_y + _arg1), true)){ return (true); }; if (((_static_world_cloud_hitbox_mc.hitTestPoint((_this_x - _arg2), (_this_y + _arg1), true)) && (!(_performJumpDownLevel)))){ return (true); }; if (_static_world_hitbox_mc.hitTestPoint((_this_x - _arg2), (_this_y + _arg1), true)){ return (true); }; }; return (false); } private function TurnLeft():void{ if (_PlayerState.LastDirX == 1){ this.scaleX = -1; _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = -1; }; } private function BotStateFollowPath():void{ var _local1:Boolean; var _local2:PathResultNode; var _local3:int; var _local4:Boolean; var _local5:PathNode; var _local6:*; var _local7:Number; var _local8:PathNode; if (_PlayerState.BurnState <= 0){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_UP, false); SetBotKey(KEY_DOWN, false); }; if (_PlayerState.Aiming){ _BotState.Phase = BotState.AIM; return; }; if ((((((_BotState.TargetPlayer == null)) && ((_BotState.TargetWeapon == null)))) && (!(_BotState.RunAwayFromHazards)))){ _BotState.Phase = BotState.IDLE; BotGoForReset(); return; }; if (_BotState.Path.length <= 0){ _BotState.RunAwayFromHazards = false; _BotState.NextResultNode = null; _local1 = false; if (!(BotState.FOLLOW_ONLY)){ if (_BotState.TargetWeapon != null){ BotCalculatePathGrid(_pathGrid.GetNodeAt((_BotState.TargetWeapon.GetPosition().x * 30), (_BotState.TargetWeapon.GetPosition().y * 30))); if (_BotState.Path.length <= 1){ _BotState.Phase = BotState.GRAB_WEAPON; SetBotKey(KEY_UP, false); } else { _local1 = true; }; return; }; if (_BotState.TargetPlayer != null){ BotCalculatePathGrid(_pathGrid.GetNodeAt(_BotState.TargetPlayer.MidPosX(), _BotState.TargetPlayer.MidPosY())); if (_BotState.Path.length <= 1){ _BotState.Phase = BotState.MELEE; } else { _local1 = true; }; return; }; }; if (!(_local1)){ BotGoForReset(true); return; }; }; if (_BotState.Path.length > 0){ BotCheckPathProgress(); if (_BotState.Path.length <= 0){ return; }; _BotState.NextResultNode = _BotState.Path[(_BotState.Path.length - 1)]; if (((((!(_PlayerState.Climbing)) && (!(_BotState.RunAwayFromHazards)))) && (!(BotState.FOLLOW_ONLY)))){ if (BotTargetInMelee()){ if (!(BotFacingEdgeMelee())){ _BotState.Phase = BotState.MELEE; } else { if (_PlayerState.Jumping){ SetBotKey(KEY_MELEE, true); SetBotKey(KEY_MELEE, false); }; }; } else { if (((((_PlayerState.OnGround) && (_BotState.TargetInSight))) && (!((_PlayerState.CurrentRangeWeapon == null))))){ if (Math.sqrt((Math.pow((_BotState.TargetPlayer.MidPosX() - MidPosX()), 2) + Math.pow((_BotState.TargetPlayer.MidPosY() - MidPosY()), 2))) >= _BotState.FollowToAimMinimumDistance){ _BotState.Phase = BotState.AIM; return; }; }; }; }; _local2 = _BotState.NextResultNode; if (((_BotState.DoFireCheck) && (!(_BotState.RunAwayFromHazards)))){ if (_PlayerState.BurnState <= 0){ if (_Handler_Fires.PlayerPosInFire(_local2.Node.PosX, (_local2.Node.PosY + 4))){ return; }; }; _BotState.DoFireCheck = false; }; if (_PlayerState.MovingDirectionInversed != 0){ _BotState.Path.splice((_BotState.Path.length - 1), 1); _PlayerState.MovingDirectionInversed = 0; return; }; _local3 = 0; if (PosX() > (_local2.Node.PosX + BotState.DISTANCE_WALK_TOLERANCE)){ _local3 = -1; } else { if (PosX() < (_local2.Node.PosX - BotState.DISTANCE_WALK_TOLERANCE)){ _local3 = 1; }; }; BotCheckCover(); _local4 = true; if (_local2.PrevBind != null){ if (((!(_local2.PrevBind.TargetNodeCloseEnough())) && (_PlayerState.OnGround))){ _local3 = 0; if (PosX() > (_local2.PrevBind.SourceNode.PosX + BotState.DISTANCE_WALK_TOLERANCE)){ _local3 = -1; } else { if (PosX() < (_local2.PrevBind.SourceNode.PosX - BotState.DISTANCE_WALK_TOLERANCE)){ _local3 = 1; }; }; if (_local3 == 0){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, false); } else { if (_local3 == 1){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_LEFT, true); SetBotKey(KEY_RIGHT, false); }; }; SetBotKey(KEY_UP, false); SetBotKey(KEY_DOWN, false); return; }; switch (_local2.PrevBind.MovementType){ case PathBind.ROAD: break; case PathBind.JUMP: if (_local2.Node.PosY < MidPosY()){ BotGoForReset(); }; if (!(_PlayerState.Jumping)){ SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); } else { SetBotKey(KEY_UP, false); }; BotWalkAroundJumpObstalce(); break; case PathBind.CLOUDDOWN: _local4 = false; if (!(_keyPressed[KEY_DOWN])){ if (!(_PlayerState.Jumping)){ if (BotCheckStandingOnObject()){ return; }; SetBotKey(KEY_DOWN, true); SetBotKey(KEY_DOWN, false); SetBotKey(KEY_DOWN, true); SetBotKey(KEY_DOWN, false); return; } else { SetBotKey(KEY_DOWN, false); }; }; break; case PathBind.DIVE: if (!(_PlayerState.Running)){ if (_local3 == -1){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_LEFT, true); SetBotKey(KEY_RIGHT, false); }; } else { if (!(_PlayerState.Sprinting)){ _BotState.ActivateSprintCounter = (_BotState.ActivateSprintCounter - 1); if (_BotState.ActivateSprintCounter <= 0){ _BotState.ActivateSprintCounter = 2; SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); return; }; } else { if (((!(_PlayerState.Diving)) && (!(_PlayerState.ShortDiveAvailable)))){ SetBotKey(KEY_DOWN, true); } else { if (_PlayerState.Diving){ SetBotKey(KEY_DOWN, false); }; }; }; }; break; case PathBind.SPRINTJUMP: if (!(_PlayerState.Sprinting)){ _BotState.ActivateSprintCounter = (_BotState.ActivateSprintCounter - 1); if (_BotState.ActivateSprintCounter <= 0){ _BotState.ActivateSprintCounter = 2; SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); return; }; } else { if (!(_PlayerState.Jumping)){ SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); } else { if (BotObstacleAt(_local3)){ SetBotKey(KEY_MELEE, true); SetBotKey(KEY_MELEE, false); }; }; }; break; case PathBind.ROLL: SetBotKey(KEY_DOWN, true); break; case PathBind.LADDER: if ((((_local2.Node.PosY < _local2.PrevBind.SourceNode.PosY)) && (!(_local2.PrevBind.Blocked)))){ if (((_PlayerState.Climbing) && (!(_static_ladder_hitbox_mc.hitTestPoint(MidPosX(), (MidPosY() - 1), true))))){ SetBotKey(KEY_UP, false); SetBotKey(KEY_UP, true); }; if (_BotState.TargetPlayer != null){ if ((_BotState.TargetPlayer.MidPosY() < MidPosY())){ _local6 = false; _local7 = Math.abs((MidPosX() - _BotState.TargetPlayer.MidPosX())); if (_local7 < 35){ if (_PlayerState.Climbing){ SetBotKey(KEY_UP, false); SetBotKey(KEY_DOWN, true); } else { BotGoForReset(true); SetBotKey(KEY_UP, false); SetBotKey(KEY_DOWN, false); return; }; }; }; }; SetBotKey(KEY_UP, true); _local5 = _local2.PrevBind.SourceNode; if ((_local2.Node.PosY - MidPosY()) >= BotState.DISTANCE_LADDER_TOLERANCE_Y){ _local5 = _local2.Node; }; if (PosX() > (_local5.PosX + BotState.DISTANCE_LADDER_TOLERANCE_X)){ SetBotKey(KEY_LEFT, true); SetBotKey(KEY_RIGHT, false); } else { if (PosX() < (_local5.PosX - BotState.DISTANCE_LADDER_TOLERANCE_X)){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, false); }; }; return; } else { _local8 = _local2.Node; SetBotKey(KEY_DOWN, true); if (PosX() > (_local8.PosX + BotState.DISTANCE_LADDER_TOLERANCE_X)){ SetBotKey(KEY_LEFT, true); SetBotKey(KEY_RIGHT, false); } else { if (PosX() < (_local8.PosX - BotState.DISTANCE_LADDER_TOLERANCE_X)){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); } else { SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, false); }; }; if (((_PlayerState.OnGround) && (_static_ladder_hitbox_mc.hitTestPoint(MidPosX(), (MidPosY() - 1), true)))){ BotGoForReset(); }; return; }; }; } else { BotGoForReset(); }; if ((((((_PlayerState.AirVelocityY >= 0)) && (!(_PlayerState.OnGround)))) && (_static_ladder_hitbox_mc.hitTestPoint(MidPosX(), (MidPosY() - 1), true)))){ SetBotKey(KEY_DOWN, true); SetBotKey(KEY_UP, false); return; }; if (_local4){ if (((((BotCloudAbove()) && (_PlayerState.OnGround))) && ((Math.random() < 0.5)))){ if (BotObstacleAt(_local3)){ if (((_BotState.PreferJumpOverObstacle) && (!(_PlayerState.Jumping)))){ SetBotKey(KEY_UP, true); SetBotKey(KEY_UP, false); } else { SetBotKey(KEY_MELEE, true); SetBotKey(KEY_MELEE, false); }; }; } else { BotCheckObstacle(_local3); }; }; if (_PlayerState.Climbing){ SetBotKey(KEY_DOWN, true); SetBotKey(KEY_UP, false); return; }; if (_local3 == -1){ SetBotKey(KEY_LEFT, true); SetBotKey(KEY_RIGHT, false); } else { if (_local3 == 1){ SetBotKey(KEY_LEFT, false); SetBotKey(KEY_RIGHT, true); } else { if ((MidPosY() - _local2.Node.PosY) >= 22){ _BotState.NextResultNode = null; BotChooseTarget(); } else { if (((_PlayerState.OnGround) || (_PlayerState.Climbing))){ if ((MidPosY() - _local2.Node.PosY) >= 0){ if (!(_PlayerState.Jumping)){ SetBotKey(KEY_UP, false); SetBotKey(KEY_UP, true); }; } else { BotCheckStandingOnObject(); }; BotGoForReset(); }; }; }; }; }; } private function BotStateGrabWeapon():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Boolean; if (_BotState.TargetWeapon == null){ SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); SetBotKey(KEY_DOWN, false); SetBotKey(KEY_MELEE, false); BotGoForReset(true); _BotState.Phase = BotState.IDLE; return; }; _local1 = ((_BotState.TargetWeapon.GetPosition().x * 30) - MidPosX()); _local2 = ((_BotState.TargetWeapon.GetPosition().y * 30) - MidPosY()); _local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2))); _local4 = 2; if (_PlayerState.OnGround){ _local4 = (_BotState.TargetWeapon.GetUserData().weaponData.Properties.PickupRadius * 0.5); }; SetBotKey(KEY_UP, false); _local5 = false; if (_local1 > _local4){ SetBotKey(KEY_RIGHT, true); SetBotKey(KEY_LEFT, false); BotCheckObstacle((_local1 / Math.abs(_local1))); } else { if (_local1 < -(_local4)){ SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, true); BotCheckObstacle((_local1 / Math.abs(_local1))); } else { _local5 = true; SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); if (_PlayerState.OnGround){ if (BotCheckStandingOnObject()){ return; }; }; }; }; if (_PlayerState.Climbing){ SetBotKey(KEY_UP, false); SetBotKey(KEY_DOWN, true); return; }; if (_PlayerState.OnGround){ if (_local3 <= (_BotState.TargetWeapon.GetUserData().weaponData.Properties.PickupRadius * 0.7)){ SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); if (!(_PlayerState.Kneeling)){ DisableJumpDownLevel(); SetBotKey(KEY_DOWN, true); return; }; SetBotKey(KEY_MELEE, true); BotGoForReset(); } else { if (_local5){ SetBotKey(KEY_RIGHT, false); SetBotKey(KEY_LEFT, false); SetBotKey(KEY_DOWN, false); SetBotKey(KEY_MELEE, false); BotGoForReset(true); _BotState.Phase = BotState.IDLE; return; }; }; }; } private function BotFacingEdgeMelee(_arg1:int=1):Boolean{ return (DetectEdge((_PlayerState.LastDirX * _arg1), 18, true)); } public function get PortalDirectionX():int{ return (_PlayerState.PortalDirectionX); } private function Kick(_arg1:Boolean=false, _arg2:Boolean=false):Boolean{ var _local3:Boolean; var _local4:Number; var _local5:b2Body; var _local6:int; var _local7:Boolean; var _local8:*; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:int; if (((!(_arg1)) && (!(_arg2)))){ if (_PlayerState.KickingCooldown > 0){ return (false); }; }; _local3 = false; _local6 = 0; while (_local6 < m_world.DynamicObjectList.length) { _local5 = m_world.DynamicObjectList[_local6]; if (_local5.m_userData.objectData.Kickable){ if (KickHit(_local5, _arg1, _arg2)){ if (_local5.m_userData.objectData.KickPower == 0){ if (_local5.m_userData.objectData.KickWeightCalculation){ _local4 = (_PlayerState.KickPower * _local5.GetMass()); } else { _local4 = _PlayerState.KickPower; }; } else { if (_local5.m_userData.objectData.KickWeightCalculation){ _local4 = (_local5.m_userData.objectData.KickPower * _local5.GetMass()); } else { _local4 = _local5.m_userData.objectData.KickPower; }; }; _local9 = new b2Vec2((_PlayerState.LastDirX * _local4), -(_local4)); _local10 = _local5.GetPosition(); _local5.ApplyImpulse(_local9, _local10); _local10 = new b2Vec2(((_this_x + (_PlayerState.LastDirX * 4)) / 30), ((_this_y - 4) / 30)); if (_local5.GetMass() < 1){ _local9 = new b2Vec2(0, (-0.4 * _local5.GetMass())); } else { _local9 = new b2Vec2(0, -0.4); }; _local5.ApplyImpulse(_local9, _local10); _local11 = (_local5.GetPosition().x * 30); if (Math.abs((_this_x - _local11)) > _PlayerState.MeleeWeaponRange){ _local11 = (MidPosX() + (_PlayerState.LastDirX * _PlayerState.MeleeWeaponRange)); }; if (_arg1){ _local5.GetUserData().objectData.Damage_Impact(_PlayerState.HitPunchDamage); _Handler_Sounds.PlaySoundAt(_PlayerState.GetMeleeMaterialHitSound(_local5.GetUserData().material.Type), MidPosX(), MidPosY()); _local12 = 4; while (_local12 <= _PlayerState.MeleeWeaponRange) { if (_local5.m_userData.objectData.ShapeMC.hitTestPoint((MidPosX() + (_PlayerState.LastDirX * _local12)), (_this_y - 12), true)){ _local11 = (MidPosX() + (_PlayerState.LastDirX * _local12)); _local12 = (_PlayerState.MeleeWeaponRange + 1); }; _local12++; }; _Handler_Effects.AddEffectAt("FIST_IMPACT", _local11, (_this_y - 12)); _Handler_Effects.AddEffectAt(_PlayerState.GetMeleeMaterialHitEffect(_local5.GetUserData().material.Type), _local11, (_this_y - 12)); } else { if (_arg2){ _local5.GetUserData().objectData.Damage_Impact(_PlayerState.JumpKickDamage); } else { _local5.GetUserData().objectData.Damage_Impact(_PlayerState.KickDamage); }; _Handler_Sounds.PlaySoundAt(_PlayerState.GetKickMaterialHitSound(_local5.GetUserData().material.Type), MidPosX(), MidPosY()); _local12 = 4; while (_local12 <= _PlayerState.MeleeWeaponRange) { if (_local5.m_userData.objectData.ShapeMC.hitTestPoint((MidPosX() + (_PlayerState.LastDirX * _local12)), (_this_y - 6), true)){ _local11 = (MidPosX() + (_PlayerState.LastDirX * _local12)); _local12 = (_PlayerState.MeleeWeaponRange + 1); }; _local12++; }; _Handler_Effects.AddEffectAt(_PlayerState.GetKickMaterialHitEffect(_local5.GetUserData().material.Type), _local11, (_this_y - 6)); _Handler_Effects.AddEffectAt("KICK_IMPACT", _local11, (_this_y - 6)); _local3 = true; }; }; }; _local6++; }; if (_local3){ if (_arg1){ _local13 = 1; while (_local13 <= 2) { _Handler_Effects.AddParticle(new particle_data("DUST", (_this_x + (_PlayerState.LastDirX * (6 + (Math.random() * 2)))), ((_this_y - 10) - (Math.random() * 2)), new b2Vec2(((_PlayerState.LastDirX * Math.random()) * 4), (-(Math.random()) * 4)))); _local13++; }; } else { _local13 = 1; while (_local13 <= 2) { _Handler_Effects.AddParticle(new particle_data("DUST", (_this_x + (_PlayerState.LastDirX * (6 + (Math.random() * 2)))), ((_this_y - 3) - (Math.random() * 2)), new b2Vec2(((_PlayerState.LastDirX * Math.random()) * 4), (-(Math.random()) * 4)))); _local13++; }; }; }; if (_arg1){ return (false); }; _local7 = false; _local8 = 0; while (_local8 < _players.length) { if (_local8 != PlayerNr){ if (Team != _players[_local8].Team){ if (CanKickPlayer(_players[_local8], _arg2)){ _local7 = true; SwapDepths(_local8); if (_players[_local8].State.HP > 0){ if (_arg2){ _players[_local8].State.HP = (_players[_local8].State.HP - _PlayerState.JumpKickDamage); } else { _players[_local8].State.HP = (_players[_local8].State.HP - _PlayerState.KickDamage); }; if (_players[_local8].State.HP <= 0){ if (ActivateSlowmotion(_local8)){ _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * 2), (24 * 1), 0.2)); }; _players[_local8].BeingKicked(_PlayerState.LastDirX); } else { _players[_local8].BeingKicked(_PlayerState.LastDirX, _arg2); }; } else { _players[_local8].BeingKicked(_PlayerState.LastDirX); }; }; }; }; _local8++; }; if (_local7){ _Handler_Sounds.PlaySoundAt("kick", _this_x, _this_y); _Handler_Effects.AddEffectAt("KICK_IMPACT", (_this_x + (_PlayerState.LastDirX * 6)), (_this_y - 2)); }; if (((_local3) || (_local7))){ _PlayerAnimation.ShowAnimation("kick", true); _PlayerState.Kicking = true; if (((!(_arg1)) && (!(_arg2)))){ _Handler_Sounds.PlaySoundAt("KICK_SWING", PosX(), PosY()); }; return (true); //unresolved jump }; return (false); } public function StuckToProjectile(_arg1:ProjectileData):void{ if (!(_PlayerState.StuckToRocket)){ DropGrabbedPlayer(); Disarm(); CancelAFS(); _PlayerState.StuckToRocket = true; _PlayerState.BurnState = 0; }; _PlayerState.LastDirX = 1; this.scaleX = 1; _collision_mc.scaleX = 1; _PlayerState.RocketRideTimer = 0; _PlayerState.RocketRideProjectile = _arg1; _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, 12, 6, 0.01)); } public function ActivateSlowmotion(_arg1:Number):Boolean{ var _local2:int; var _local3:Array; var _local4:int; var _local5:Boolean; var _local6:int; _local2 = 0; _local3 = new Array(); _local4 = 0; while (_local4 < _players.length) { if (_players[_local4].State.HP > 0){ if (_players[_local4].Team != _players[_arg1].Team){ _local5 = false; _local6 = 0; while (_local6 < _local3.length) { if (_local3[_local6] == _players[_local4].Team){ _local5 = true; _local6 = _local3.length; }; _local6++; }; if (!(_local5)){ _local2++; _local3.push(_players[_local4].Team); if (_local2 >= 2){ return (false); }; }; } else { if (_playerNr != _local4){ return (false); }; }; }; _local4++; }; return (true); } private function DrainEnergy(_arg1:String):void{ switch (_arg1){ case "SPRINT_JUMP": _PlayerState.SprintEnergy = (_PlayerState.SprintEnergy - 12); break; case "JUMP": _PlayerState.SprintEnergy = (_PlayerState.SprintEnergy - 5); break; case "SPRINT_DIVE": _PlayerState.SprintEnergy = (_PlayerState.SprintEnergy - 12); break; case "ROLL": _PlayerState.SprintEnergy = (_PlayerState.SprintEnergy - 5); break; }; } public function get Team():int{ return (_team); } private function BotStandingOnObjectAtX(_arg1:Number):Boolean{ var _local2:Number; _local2 = 0; while (_local2 <= 2) { if (_static_objects_hitbox_mc.hitTestPoint((_this_x + _arg1), (_this_y + _local2), true)){ return (true); }; _local2 = (_local2 + 2); }; return (false); } public function GiveStartItems(_arg1:WeaponData=null, _arg2:WeaponThrowableData=null, _arg3:WeaponMeleeData=null, _arg4:WeaponPowerupData=null):void{ _PlayerState.CurrentRangeWeapon = _arg1; _PlayerState.CurrentThrowableWeapon = _arg2; _PlayerState.CurrentMeleeWeapon = _arg3; _PlayerState.CurrentPowerupWeapon = _arg4; } private function UpdateStairBounce():void{ if (_PlayerState.StairBounce){ _PlayerState.AirVelocityX = _PlayerState.StairVelocityX; _PlayerState.AirVelocityY = _PlayerState.StairVelocityY; _Handler_Sounds.PlaySoundAt("STAIRBOUNCE", _this_x, _this_y); _PlayerState.Knockdowned = false; _PlayerState.Jumping = true; _PlayerState.Falling = true; _PlayerState.StairBounce = false; _PlayerState.DecreaseBurnState(); if (_PlayerState.HP > 0){ _PlayerState.HP = (_PlayerState.HP - _PlayerState.StairBounceDamage); if (_PlayerState.HP <= 0){ if (ActivateSlowmotion(PlayerNr)){ _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * 2), (24 * 1), 0.2)); }; }; }; }; } private function UpdateSides(_arg1:Boolean=true):void{ var _local2:Boolean; var _local3:Boolean; var _local4:int; var _local5:b2Vec2; var _local6:int; if (CanLandInMid()){ _local4 = (-(_PlayerState.PlayerEdgeDistance) - 1); while (_local4 <= (_PlayerState.PlayerEdgeDistance + 1)) { b = GetDynamicBodyAt((_this_x + _local4), (_this_y - _PlayerState.PlayerHeight), false); if (b != null){ if (b.GetUserData().objectData.CanGibb){ _local5 = b.GetLinearVelocity(); if (Math.abs(_local5.x) > 0.1){ if (CheckCollisionTowardsPlayer((b.GetPosition().x * 30), _this_x, ConvertToDirection(_local5.x))){ return; }; }; }; }; _local4 = (_local4 + (_PlayerState.PlayerEdgeDistance + 1)); }; }; _local2 = CollisionSide(1); _local3 = CollisionSide(-1); if (((_local2) || (_local3))){ _local6 = 1; while (_local6 <= (_PlayerState.PlayerEdgeDistance * 10)) { _local2 = CollisionSide(1, (_local6 / 10)); _local3 = CollisionSide(-1, (_local6 / 10)); if (!(((_local3) && (_local2)))){ if (_local2){ if (!(WorldCollisionSide(-1, _PlayerState.PlayerEdgeDistance))){ _this_x = (_this_x - 0.1); if (_arg1){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX - 0.02); }; } else { _this_x = (_this_x + 0.1); if (_arg1){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX + 0.02); }; }; } else { if (_local3){ if (!(WorldCollisionSide(1, _PlayerState.PlayerEdgeDistance))){ _this_x = (_this_x + 0.1); if (_arg1){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX + 0.02); }; } else { _this_x = (_this_x - 0.1); if (_arg1){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX - 0.02); }; }; }; }; }; _local6++; }; _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX * 0.9); }; } private function MoveDirection(_arg1:int):void{ if (_PlayerState.TakingCover){ if (_PlayerState.LastDirX != _arg1){ _PlayerState.TakingCover = false; } else { _PlayerState.Running = false; return; }; }; if (((!(_PlayerState.Running)) && (_PlayerState.OnGround))){ if (CanTakeCover(_arg1)){ _PlayerState.TakingCover = true; b = GetDynamicBodyAt(((_this_x + (_arg1 * _PlayerState.PlayerEdgeDistance)) + (_arg1 * 4)), MidPosY(), false); if (b != null){ _PlayerState.Box2DCover = b; _PlayerState.CoverObjectID = b.GetUserData().IDNumber; } else { b = GetStaticCoverAt(((_this_x + (_arg1 * _PlayerState.PlayerEdgeDistance)) + (_arg1 * 4)), MidPosY()); if (b != null){ _PlayerState.Box2DCover = null; _PlayerState.CoverObjectID = b.GetUserData().IDNumber; }; }; }; }; _PlayerState.Running = true; if (_PlayerState.WallJumping){ MovePlayer(_arg1, ((_PlayerState.WallJumpSpeed * _arg1) + _PlayerState.LastDirX)); } else { MovePlayer(_arg1, (_PlayerState.RunSpeed * _arg1)); }; } private function StopStaggerFunc():void{ if (_PlayerState.HP <= 0){ Fall(false); return; }; b = m_world.GetStairBodyAt(_this_x, (_this_y + 2)); if (b == null){ b = m_world.GetStairBodyAt(_this_x, (_this_y + 4)); }; if (b != null){ if (CanBounceAtDirection(ConvertToDirection(b.GetUserData().tiltValue))){ Fall(false); _PlayerState.StairBounce = true; if (_PlayerState.StairVelocityY < -4){ _PlayerState.StairVelocityY = -4; } else { if (_PlayerState.StairVelocityY > -1){ _PlayerState.StairVelocityY = -1; }; }; _PlayerState.StairVelocityX = b.GetUserData().tiltValue; }; }; } private function AimIdle():void{ _PlayerState.ResetChangePitchSpeed(); } private function PlayerOutsideLevel():Boolean{ if ((((((_this_x < _MapArea.Left)) || ((_this_x > _MapArea.Right)))) || ((_this_y > _MapArea.Bottom)))){ return (true); }; return (false); } private function AimUp(_arg1:Number=0):void{ if (_PlayerState.CurrentAimPitch > -(_PlayerState.UpperAimPitch)){ if (_arg1 != 0){ _PlayerState.CurrentChangePitchSpeed = -(_arg1); }; if (_PlayerState.CurrentChangePitchSpeed > 0){ _PlayerState.CurrentChangePitchSpeed = 0; }; _PlayerState.CurrentAimPitch = (_PlayerState.CurrentAimPitch + (_PlayerState.CurrentChangePitchSpeed * _game_speed)); _PlayerState.CurrentChangePitchSpeed = (_PlayerState.CurrentChangePitchSpeed - 2); if (_PlayerState.CurrentAimPitch < -(_PlayerState.UpperAimPitch)){ _PlayerState.CurrentAimPitch = -(_PlayerState.UpperAimPitch); }; }; } public function GibPlayer():void{ if (ActivateSlowmotion(PlayerNr)){ _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * 2), (24 * 1), 0.2)); }; Disarm(); CancelAFS(); _Handler_Maps.Handler_WorldItems.AddBox("char_gib_01", (((_this_x + (Math.random() * 8)) - 4) / 30), ((_this_y - 1) / 30), (Math.random() * Math.PI), new b2Vec2(((Math.random() * 6) - 3), ((-(Math.random()) * 4) + 3)), ((Math.random() * Math.PI) - (Math.PI / 2))); _Handler_Maps.Handler_WorldItems.AddBox("char_gib_02", (((_this_x + (Math.random() * 8)) - 4) / 30), ((_this_y - 2) / 30), (Math.random() * Math.PI), new b2Vec2(((Math.random() * 6) - 3), ((-(Math.random()) * 4) + 3)), ((Math.random() * Math.PI) - (Math.PI / 2))); _Handler_Maps.Handler_WorldItems.AddBox("char_gib_03", (((_this_x + (Math.random() * 8)) - 4) / 30), ((_this_y - 5) / 30), (Math.random() * Math.PI), new b2Vec2(((Math.random() * 6) - 3), ((-(Math.random()) * 4) + 3)), ((Math.random() * Math.PI) - (Math.PI / 2))); _Handler_Maps.Handler_WorldItems.AddBox("char_gib_04", (((_this_x + (Math.random() * 8)) - 4) / 30), ((_this_y - 7) / 30), (Math.random() * Math.PI), new b2Vec2(((Math.random() * 6) - 3), ((-(Math.random()) * 4) + 3)), ((Math.random() * Math.PI) - (Math.PI / 2))); _Handler_Maps.Handler_WorldItems.AddBox("char_gib_05", (((_this_x + (Math.random() * 8)) - 4) / 30), ((_this_y - 8) / 30), (Math.random() * Math.PI), new b2Vec2(((Math.random() * 6) - 3), ((-(Math.random()) * 4) + 3)), ((Math.random() * Math.PI) - (Math.PI / 2))); _Handler_Effects.AddEffectAt("gib", _this_x, _this_y); _Handler_Sounds.PlaySoundAt("gib", _this_x, _this_y); IgnorePlayer(); _PlayerState.CameraIgnoreTimer = (24 * 2); _PlayerState.Gone = true; _char_gui.visible = false; _blood_gui.visible = false; _gui_mc.gib_pic.alpha = 1; _PlayerState.BurnState = 0; _Handler_Output.Trace("Gib player"); } private function CheckGibPlayer():Boolean{ var _local1:int; if (((_PlayerState.OnGround) && (_PlayerState.Knockdowned))){ b = GetDynamicBodyAt(_this_x, (_this_y - 6), false); if (b != null){ if (b.GetUserData().objectData.CanGibb){ _local1 = 4; while (_local1 >= 1) { if (((_static_world_hitbox_mc.hitTestPoint(_this_x, (_this_y + _local1), true)) || (_static_world_cloud_hitbox_mc.hitTestPoint(_this_x, (_this_y + _local1), true)))){ if (!(b.GetUserData().objectData.CollisionMC.hitTestPoint(_this_x, (_this_y + _local1), true))){ GibPlayer(); return (true); }; }; _local1--; }; }; }; }; return (false); } public function get CanBePunched():Boolean{ if (_PlayerState.IsImmune){ return (false); }; if (_PlayerState.Gone){ return (false); }; if ((((_PlayerState.KnockdownGrade >= 3)) && (_PlayerState.Falling))){ return (false); }; if (((_PlayerState.Knockdowned) && (_PlayerState.OnGround))){ if (_PlayerAnimation.CurrentFrame < 10){ return (false); }; }; return (!(_PlayerState.GrabbedByPlayer)); } private function UpdatePlayerFallingOnPlayer():void{ var _local1:*; var _local2:Number; var _local3:Number; var _local4:Number; if ((((_PlayerState.TotalAirVelocity >= 6)) && (_PlayerState.Falling))){ _local1 = 0; while (_local1 < _players.length) { if (_local1 != PlayerNr){ if (_players[_local1].CanBeKnockedByFlyingPlayer()){ if (this.hitTestObject(_players[_local1].MC)){ _local2 = (_players[_local1].MidPosX() - MidPosX()); _local3 = (_players[_local1].MidPosY() - MidPosY()); if (Math.sqrt(((_local2 * _local2) + (_local3 * _local3))) <= 12){ _local4 = _players[_local1].State.AirVelocityY; _players[_local1].State.AirVelocityY = (_PlayerState.AirVelocityY * 0.9); _PlayerState.AirVelocityY = (_local4 * 0.9); _local4 = _players[_local1].State.AirVelocityX; _players[_local1].State.AirVelocityX = (_PlayerState.AirVelocityX * 0.9); _PlayerState.AirVelocityX = (_local4 * 0.9); _players[_local1].Fall(false); }; }; }; }; _local1++; }; }; } private function SidewayBounce():Boolean{ var _local1:Number; if ((((Math.abs(_PlayerState.AirVelocityX) >= 4)) && ((Math.abs(_PlayerState.AirVelocityX) > Math.abs(_PlayerState.AirVelocityY))))){ _Handler_Sounds.PlaySoundAt("BODYFALL", _this_x, _this_y); BodyDust(); _local1 = _PlayerState.TotalAirVelocity; _PlayerState.AirVelocityY = (-(_local1) * 0.3); _PlayerState.AirVelocityX = ((_local1 * 0.5) * ConvertToDirection(_PlayerState.AirVelocityX)); _PlayerState.LastDirX = (_PlayerState.LastDirX * -1); if (_PlayerState.AirVelocityY > -2){ _PlayerState.AirVelocityY = -2; }; return (true); }; return (false); } public function MidPosY():Number{ if (_PlayerState.Diving){ return (_this_y); }; if (_PlayerState.Knockdowned){ return ((_this_y - 3)); }; if (((_PlayerState.Kneeling) || (_PlayerState.Falling))){ return ((_this_y - 6)); }; return ((_this_y - 8)); } private function CheckCollisionTowardsPlayer(_arg1:Number, _arg2:Number, _arg3:int):Boolean{ if ((((_arg3 == 1)) && ((_arg1 < (_arg2 + 4))))){ return (true); }; if ((((_arg3 == -1)) && ((_arg1 > (_arg2 - 4))))){ return (true); }; return (false); } private function AimLeft():void{ if (_PlayerState.LastDirX == 1){ _PlayerState.FastTrigger = false; _lazer_mc.visible = false; _aim_mc.visible = false; CancelAFS(); _PlayerState.AimTurningAround = true; this.scaleX = -1; _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = -1; _PlayerState.CurrentAimPitch = 0; _PlayerState.CurrentChangePitchSpeed = 0; }; } private function BeingKicked(_arg1:int, _arg2:Boolean=false):void{ var _local3:int; DropGrabbedPlayer(); _local3 = _PlayerState.LastDirX; _PlayerState.LastDirX = -(_arg1); CheckAimDrop(true); if (!(_PlayerState.Burned)){ _Handler_Effects.AddParticle(new particle_data("PARTICLE_BLOOD", PosX(), (PosY() - 13), new b2Vec2(_arg1, -0.5), 0, 1, [Math.floor((Math.random() * 1.99))])); } else { _Handler_Effects.AddEffectAt("PLAYER_BURNED_HITDEFAULT", PosX(), (PosY() - 13)); }; if ((((Math.random() < 0.5)) || (!(_arg2)))){ _PlayerState.LastDirX = _local3; Fall(); } else { this.scaleX = _PlayerState.LastDirX; StartStagger(); }; _PlayerState.AirVelocityX = (_arg1 * 4); _PlayerState.AirVelocityY = -2; } public function BulletWillHit():Boolean{ if (_PlayerState.IsImmune){ return (false); }; if (((_PlayerState.Rolling) || (_PlayerState.Diving))){ if (Math.random() < 0.9){ return (false); }; }; return (true); } private function AimLazer():void{ var _local1:Number; var _local2:Number; var _local3:Point; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Array; var _local8:int; if (_char.ANIM_WPN == null){ return; }; if (!(_bot)){ _local1 = ((_char.ANIM_WPN.x * _PlayerState.LastDirX) + PosX()); _local2 = (_char.ANIM_WPN.y + PosY()); _local1 = (_local1 + (Math.cos((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.AIM_POSITION.x)); _local2 = (_local2 + (Math.sin((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.AIM_POSITION.x)); _local2 = (_local2 + ((Math.sin(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.AIM_POSITION.y) * _PlayerState.LastDirX)); _local1 = (_local1 + ((Math.cos(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.AIM_POSITION.y) * _PlayerState.LastDirX)); _local3 = _Handler_ProjectilesUpdater.CalculateAimSquare(new Point(_local1, _local2), _PlayerState.CurrentAimAngle, _PlayerState.CoverObjectID, AIM_SQUARE_DISTANCE, CollisionMC); _aim_mc.x = _local3.x; _aim_mc.y = _local3.y; _aim_mc.visible = true; }; if (_PlayerState.AimMode == 0){ if (_PlayerState.CurrentRangeWeapon.Properties.LaserSight){ ClearLazerPoints(); _local4 = ((_char.ANIM_WPN.x * _PlayerState.LastDirX) + PosX()); _local5 = (_char.ANIM_WPN.y + PosY()); _local4 = (_local4 + (Math.cos((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.LAZER_CENTER.x)); _local5 = (_local5 + (Math.sin((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.LAZER_CENTER.x)); _local5 = (_local5 + ((Math.sin(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.LAZER_CENTER.y) * _PlayerState.LastDirX)); _local4 = (_local4 + ((Math.cos(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.LAZER_CENTER.y) * _PlayerState.LastDirX)); _lazer_rnd = ((Math.random() * Math.PI) * 2); _local6 = (Math.sin(_lazer_rnd) * _PlayerState.CurrentRangeWeapon.Properties.LaserDeflection); _local7 = _Handler_ProjectilesUpdater.CalculateLazer(new Point(_local4, _local5), (_PlayerState.CurrentAimAngle + _local6), _PlayerState.CoverObjectID, CollisionMC); _local8 = 0; while (_local8 < _local7.length) { AddLazerPoint(_local7[_local8]); _local8++; }; _lazer_mc.visible = true; }; }; } public function MidPosX():Number{ return (_this_x); } private function DropThrowable():void{ var _local1:Number; var _local2:Number; if (_PlayerState.Throwing){ _PlayerState.Aiming = false; _PlayerState.Throwing = false; return; }; _local1 = ((MidPosX() - (_PlayerState.LastDirX * 6)) / 30); _local2 = ((MidPosY() - 6) / 30); _Handler_Maps.Handler_WorldItems.AddPolygon((_PlayerState.CurrentThrowableWeapon.Properties.ThrowType + "_thrown"), _local1, _local2, 0, new b2Vec2(), (_PlayerState.LastDirX * 10), [_PlayerState.ThrowTimer]); _PlayerState.Aiming = false; _PlayerState.Throwing = false; _PlayerState.ThrowTimer = 0; _PlayerState.CurrentThrowableWeapon.Ammo = (_PlayerState.CurrentThrowableWeapon.Ammo - 1); } private function UsePowerup():void{ if (_PlayerState.HP <= 0){ return; }; if (_PlayerState.CurrentPowerupWeapon != null){ _PlayerState.SlowmotionDelay = 24; _Handler_Output.Trace((("Activating Slowmotion (" + _PlayerState.CurrentPowerupWeapon.Ammo) + ")")); _slowmotion_timer = ((24 * _PlayerState.CurrentPowerupWeapon.Ammo) + (24 * 2)); _slowmotion_modifier = 1.2; _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * _PlayerState.CurrentPowerupWeapon.Ammo), (24 * 1), 0.2), true, PlayerNr); _PlayerState.CurrentPowerupWeapon = null; UpdateGUI(); } else { if (_PlayerState.SlowmotionDelay <= 0){ _Handler_Slowmo.RemoveSlowmotion(PlayerNr); }; }; } private function CollisionFeetBothSides():Boolean{ var _local1:int; _local1 = 2; while (_local1 <= _PlayerState.PlayerEdgeDistance) { if (((((_static_world_cloud_hitbox_mc.hitTestPoint((_this_x - _local1), _this_y, true)) && (_static_world_cloud_hitbox_mc.hitTestPoint((_this_x + _local1), _this_y, true)))) && (!(_performJumpDownLevel)))){ return (true); }; if (((_static_world_hitbox_mc.hitTestPoint((_this_x - _local1), _this_y, true)) && (_static_world_hitbox_mc.hitTestPoint((_this_x + _local1), _this_y, true)))){ return (true); }; _local1 = (_local1 + 2); }; return (false); } private function CollisionFeetMidUp(_arg1:Number=0, _arg2:Number=0):Boolean{ if (((CloudCollisionUp(_this_x, (_this_y + _arg1), true)) && (!(_performJumpDownLevel)))){ return (true); }; if (_static_world_hitbox_mc.hitTestPoint(_this_x, (_this_y + _arg1), true)){ return (true); }; if (_arg2 != 0){ if (((CloudCollisionUp((_this_x + _arg2), (_this_y + _arg1), true)) && (!(_performJumpDownLevel)))){ return (true); }; if (_static_world_hitbox_mc.hitTestPoint((_this_x + _arg2), (_this_y + _arg1), true)){ return (true); }; if (((CloudCollisionUp((_this_x - _arg2), (_this_y + _arg1), true)) && (!(_performJumpDownLevel)))){ return (true); }; if (_static_world_hitbox_mc.hitTestPoint((_this_x - _arg2), (_this_y + _arg1), true)){ return (true); }; }; return (false); } private function GetDynamicBodyAt(_arg1:Number, _arg2:Number, _arg3:Boolean):b2Body{ if (_static_objects_hitbox_mc.hitTestPoint(_arg1, _arg2, true)){ return (m_world.GetDynamicBodyAt(_arg1, _arg2, _arg3)); }; return (null); } private function AddLazerPoint(_arg1:Point):void{ var _local2:MovieClip; var _local3:Number; _local2 = new lazersight(); _local2.x = _arg1.x; _local2.y = _arg1.y; _local2.alpha = 0.7; _local3 = (0.7 + (0.7 / _dynamic_mc.scaleX)); _local2.scaleX = _local3; _local2.scaleY = _local3; _lazer_mc.addChild(_local2); } private function WeaponEmptyRecoil():void{ var _local1:Number; var _local2:Number; if (_PlayerState.EmptyWeaponRecoilBack <= 0){ _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentRangeWeapon.Properties.EmptySound, PosX(), PosY()); _PlayerState.CharAnimWpnX = _char.ANIM_WPN.x; _PlayerState.CharAnimWpnY = _char.ANIM_WPN.y; _local1 = _PlayerState.CharAnimWpnX; _local2 = _PlayerState.CharAnimWpnY; _local1 = (_local1 - ((Math.cos((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * 0.5) * _PlayerState.LastDirX)); _local2 = (_local2 - (Math.sin((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * 0.5)); _char.ANIM_WPN.x = _local1; _char.ANIM_WPN.y = _local2; _PlayerState.EmptyWeaponRecoilBack = 2; }; } private function CanBounceAtDirection(_arg1:Number):Boolean{ var _local2:int; var _local3:int; _local2 = 2; while (_local2 <= 12) { _edgePosition = (_this_x + (_arg1 * _local2)); _local3 = 2; while (_local3 <= 20) { if (_static_world_hitbox_mc.hitTestPoint(_edgePosition, (_this_y - _local3), true)){ return (false); }; _local3 = (_local3 + 4); }; _local2 = (_local2 + 2); }; return (true); } private function BotStateShoot():void{ if (_PlayerState.AFSInProgress){ if (_char.ANIM_WPN == null){ _BotState.Phase = BotState.CANCEL_AIM; } else { SetBotKey(5, true); BotAimY(); }; } else { if (_PlayerState.CurrentRangeWeapon != null){ if (_PlayerState.CurrentRangeWeapon.Ammo <= 0){ _BotState.Phase = BotState.CANCEL_AIM; } else { if (_BotState.CancelAimSoon){ _BotState.Phase = BotState.CANCEL_AIM; } else { SetBotKey(KEY_UP, false); SetBotKey(KEY_DOWN, false); _BotState.Phase = BotState.AIM; }; }; } else { _BotState.Phase = BotState.CANCEL_AIM; }; }; } public function get AreaMC():MovieClip{ return (_player_area_mc); } private function DetectEdge(_arg1:int, _arg2:int=14, _arg3:Boolean=false):Boolean{ var _local4:int; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Boolean; _local4 = 0; _local5 = _this_y; _local7 = 4; while (_local7 <= _arg2) { _local4 = (_this_x + (_arg1 * _local7)); _local8 = 4; while (_local8 < 12) { _local6 = (_local5 - _local8); if (((_static_world_hitbox_mc.hitTestPoint(_local4, _local6, true)) || (_static_world_cloud_hitbox_mc.hitTestPoint(_local4, _local6, true)))){ if (m_world.GetPartWorldAt(_local4, _local6) == null){ return (false); }; }; _local8 = (_local8 + 2); }; _local10 = true; _local9 = -2; while (_local9 <= 10) { _local6 = (_local5 + _local9); if (((_static_world_hitbox_mc.hitTestPoint(_local4, _local6, true)) || (_static_world_cloud_hitbox_mc.hitTestPoint(_local4, _local6, true)))){ _local10 = false; _local9 = 12; }; _local9 = (_local9 + 1); }; if (_local10){ _Handler_Output.Trace(("Edge Found: " + _local7)); if (_arg3){ _local9 = 12; while (_local9 <= 40) { _local6 = (_local5 + _local9); if (((_static_world_hitbox_mc.hitTestPoint(_local4, _local6, true)) || (_static_world_cloud_hitbox_mc.hitTestPoint(_local4, _local6, true)))){ return (false); }; _local9 = (_local9 + 4); }; }; return (true); }; _local7 = (_local7 + 2); }; return (false); } private function EdgeStaggerDistance():int{ var _local1:int; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Boolean; var _local7:Number; var _local8:Boolean; _local1 = 0; _local2 = _this_y; _local4 = 0; while (_local4 <= 36) { _local1 = (_this_x - ((_PlayerState.LastDirX * _PlayerState.StaggerSpeed) * _local4)); _local5 = 4; while (_local5 < 12) { _local3 = (_local2 - _local5); if (_static_world_hitbox_mc.hitTestPoint(_local1, _local3, true)){ if (m_world.GetGlassAt(_local1, _local3) == null){ return (0); }; }; _local5 = (_local5 + 2); }; _local6 = true; _local7 = -2; while (_local7 <= 10) { _local3 = (_local2 + _local7); _local8 = _static_world_cloud_hitbox_mc.hitTestPoint(_local1, _local3, true); if (((_static_world_hitbox_mc.hitTestPoint(_local1, _local3, true)) || (_local8))){ if (((((HitTestWorldOnly(_local1, _local3)) || ((m_world.GetGlassAt(_local1, _local3) == null)))) || (_local8))){ _local2 = _local3; _local6 = false; _local7 = 12; }; }; _local7 = (_local7 + 1); }; if (_local6){ _Handler_Output.Trace(("Edge Found: " + _local4)); return (_local4); }; _local4 = (_local4 + 2); }; return (0); } private function DropGrabbedPlayer():void{ if (_PlayerState.GrabbedPlayer){ UpdateGrabbedPlayer(true); _players[_PlayerState.GrabbedPlayerNr].GrabbedByOtherPlayer(false, _PlayerState.LastDirX); _PlayerState.GrabbedPlayer = false; }; } public function Disarm():void{ CheckAimDrop(true); } public function PlayerInSightPercentage(_arg1:Player):Number{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local4 = ((PosX() - (_PlayerState.LastDirX * 4)) - _arg1.MidPosX()); _local5 = ((PosY() - 14) - _arg1.MidPosY()); if (_PlayerState.LastDirX == -1){ _local2 = (_PlayerState.CurrentAimAngle - 180); _local3 = (Math.atan2(_local5, _local4) * (180 / Math.PI)); } else { _local2 = ((Math.atan2(-(_local5), -(_local4)) * (180 / Math.PI)) + 180); _local3 = (_PlayerState.CurrentAimAngle + 180); }; if (_local2 < _local3){ _local6 = (Math.round((_local3 - _local2)) / 90); } else { _local6 = (Math.round((_local2 - _local3)) / 90); }; if (_local6 > 1){ _local6 = 1; }; return ((1 - _local6)); } public function BotPositionShootableFrom(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{ var _local5:Point; var _local6:Point; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Number; var _local14:Number; var _local15:int; var _local16:Point; var _local17:b2Body; var _local18:int; _local5 = new Point(_arg3, _arg4); _local6 = new Point(_arg1, _arg2); _local7 = (_local5.x - _local6.x); _local8 = (_local5.y - _local6.y); _local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); if (_local9 > _PlayerState.RangeWeaponRange){ return (false); }; _local10 = null; _local11 = null; _local12 = (_local9 / 4); _local13 = (-(_local7) / _local12); _local14 = (-(_local8) / _local12); _local15 = 1; while (_local15 <= _local12) { _local5.x = (_local5.x + _local13); _local5.y = (_local5.y + _local14); _local6.x = (_local6.x - _local13); _local6.y = (_local6.y - _local14); _local17 = null; _local18 = -1; while (_local18 <= 1) { if (_local18 == 1){ _local16 = _local5; _local17 = _local10; } else { _local16 = _local6; _local17 = _local11; }; if (_local17 != null){ if (!(_local17.GetUserData().objectData.ShapeMC.hitTestPoint(_local16.x, _local16.y, true))){ _local17 = null; }; }; if (_local17 == null){ if (_static_objects_hitbox_mc.hitTestPoint(_local16.x, _local16.y, true)){ _local17 = m_world.GetBulletSolidAt(_local16.x, _local16.y); } else { if (_static_world_hitbox_mc.hitTestPoint(_local16.x, _local16.y, true)){ return (false); }; if ((((_local14 > 0)) && (!(_PlayerState.RangeWeaponCanShootDown)))){ if (_static_world_cloud_hitbox_mc.hitTestPoint(_local16.x, _local16.y, true)){ return (false); }; }; }; }; if (_local17 != null){ if (((!(_PlayerState.RangeWeaponIsFlamethrower)) && (!(_PlayerState.RangeWeaponIsBazooka)))){ if (_local17.GetUserData().objectData.Indestructible){ return (false); }; }; }; if (_local18 == 1){ _local10 = _local17; } else { _local11 = _local17; }; _local18 = (_local18 + 2); }; _local15 = (_local15 + 2); }; return (true); } public function BulletDamage(_arg1:ProjectileData):void{ var _local2:Boolean; var _local3:Boolean; var _local4:int; if (_PlayerState.IsImmune){ return; }; if (_PlayerState.DeathKneel){ return; }; _local2 = false; if (_PlayerState.HP <= 0){ _local2 = true; }; _local3 = false; if ((Math.random() * 100) <= _arg1.Properties.CriticalChance){ _local3 = true; }; if (_PlayerState.StuckToRocket){ if (_local3){ _PlayerState.RocketRideProjectile.Explode(); if (ActivateSlowmotion(PlayerNr)){ _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * 2), (24 * 1), 0.2)); }; }; return; }; _PlayerState.CurrentPushbackPower = (_PlayerState.CurrentPushbackPower + _arg1.Properties.PushbackPower); if (_local3){ _PlayerState.HP = (_PlayerState.HP - _arg1.Properties.CriticalDamage); } else { _PlayerState.HP = (_PlayerState.HP - _arg1.Properties.Damage); }; if (_PlayerState.GrabbedByPlayer){ return; }; if (((((_local3) || (((!(_local2)) && ((_PlayerState.HP <= 0)))))) || ((_PlayerState.CurrentPushbackPower >= 100)))){ _PlayerState.CritSmokeTimer = 36; _Handler_Effects.AddEffectAt("HITDEFAULT_01", _arg1.PosX, _arg1.PosY); if (_PlayerState.OnGround){ _this_y = (_this_y - 1); }; if ((((_PlayerState.HP > 0)) || (_local2))){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX + (_arg1.DirectionX * 2)); _PlayerState.AirVelocityY = -2; } else { if (((_PlayerState.OnGround) && ((Math.random() < 0.5)))){ _PlayerState.AirVelocityX = (_PlayerState.LastDirX * _PlayerState.RunSpeed); _PlayerState.AirVelocityY = -2; } else { _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX + (_arg1.DirectionX * 2)); _PlayerState.AirVelocityY = -2; }; }; _PlayerState.LastDirX = -(ConvertToDirection(_arg1.DirectionX)); if (_PlayerState.LastDirX == 0){ _PlayerState.LastDirX = 1; }; _PlayerState.CurrentPushbackPower = 0; this.scaleX = _PlayerState.LastDirX; _collision_mc.scaleX = this.scaleX; if (_PlayerState.HP <= 0){ Disarm(); if (((((((!(_local2)) && (_PlayerState.OnGround))) && (!(_PlayerState.Knockdowned)))) || (_PlayerState.Staggering))){ _local4 = EdgeStaggerDistance(); if (_local4 > 6){ StartStagger(); _PlayerState.StaggerTimer = (_local4 - 4); } else { if (DetectEdge(_PlayerState.LastDirX)){ _PlayerState.DeathKneel = true; _PlayerState.CameraIgnoreTimer = (3 * 24); } else { if (Math.random() < 0.5){ Fall(false); } else { if (Math.random() < 0.5){ StartStagger(); } else { _PlayerState.DeathKneel = true; _PlayerState.CameraIgnoreTimer = (3 * 24); }; }; _Handler_Shake.Add(2, 2); }; }; } else { Fall(false); _Handler_Shake.Add(2, 2); }; } else { if ((((Math.random() < 0.25)) || (_PlayerState.Knockdowned))){ Fall(false); _Handler_Shake.Add(2, 2); } else { StartStagger(); }; }; }; if (((!(_local2)) && ((_PlayerState.HP <= 0)))){ if (ActivateSlowmotion(PlayerNr)){ _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * 2), (24 * 1), 0.2)); }; if (((((_PlayerState.OnGround) && (!(_PlayerState.Staggering)))) && (!(_PlayerState.DeathKneel)))){ Fall(false); }; }; } public function SetGrabRotation(_arg1:Number):void{ _PlayerAnimation.GrabRotation = _arg1; } private function InMeleeRange(_arg1:Player):Boolean{ var _local2:Number; var _local3:Number; _local2 = (_this_x - _arg1.PosX()); if (Math.abs(_local2) <= (_PlayerState.MeleeWeaponRange + 4)){ _local3 = (MidPosY() - _arg1.MidPosY()); if ((((_local3 >= -7)) && ((_local3 <= 12.5)))){ return (true); }; }; return (false); } private function WalkCollision(_arg1:int, _arg2:Boolean):Boolean{ var _local3:int; _local3 = 2; while (_local3 <= 4) { if (_static_world_hitbox_mc.hitTestPoint((_this_x + ((_local3 - 1) * _arg1)), ((_this_y - 2) - _local3), true)){ return (true); }; _local3 = (_local3 + 2); }; return (false); } private function KickHit(_arg1:b2Body, _arg2:Boolean, _arg3:Boolean=false):Boolean{ var _local4:int; var _local5:int; var _local6:int; if (_arg2){ if (_standingOnObject == _arg1){ return (false); }; }; _local6 = _PlayerState.LastDirX; if (_arg2){ _local4 = 0; while (_local4 <= _PlayerState.MeleeWeaponRange) { _local5 = -16; while (_local5 <= 0) { if (_arg1.m_userData.objectData.ShapeMC.hitTestPoint((_this_x + (_local4 * _local6)), (_this_y + _local5), true)){ return (true); }; _local5 = (_local5 + 2); }; _local4 = (_local4 + 2); }; } else { if (_arg3){ _local4 = 0; while (_local4 <= 16) { _local5 = -16; while (_local5 <= 0) { if (_arg1.m_userData.objectData.ShapeMC.hitTestPoint((_this_x + (_local4 * _local6)), (_this_y + _local5), true)){ return (true); }; _local5 = (_local5 + 2); }; _local4 = (_local4 + 2); }; } else { _local4 = 0; while (_local4 <= 8) { _local5 = -8; while (_local5 <= 4) { if (_arg1.m_userData.objectData.ShapeMC.hitTestPoint((_this_x + (_local4 * _local6)), (_this_y + _local5), true)){ return (true); }; _local5 = (_local5 + 2); }; _local4 = (_local4 + 2); }; }; }; return (false); } private function AimDown(_arg1:Number=0):void{ if (_PlayerState.CurrentAimPitch < _PlayerState.LowerAimPitch){ if (_arg1 != 0){ _PlayerState.CurrentChangePitchSpeed = _arg1; }; if (_PlayerState.CurrentChangePitchSpeed < 0){ _PlayerState.CurrentChangePitchSpeed = 0; }; _PlayerState.CurrentAimPitch = (_PlayerState.CurrentAimPitch + (_PlayerState.CurrentChangePitchSpeed * _game_speed)); _PlayerState.CurrentChangePitchSpeed = (_PlayerState.CurrentChangePitchSpeed + 2); if (_PlayerState.CurrentAimPitch > _PlayerState.LowerAimPitch){ _PlayerState.CurrentAimPitch = _PlayerState.LowerAimPitch; }; }; } private function ProgressAFS(_arg1:Boolean=false):void{ var pd:particle_data; var realFrame:int; var posX:Number; var posY:Number; var shellPosX:Number; var shellPosY:Number; var muzzlePosX:Number; var muzzlePosY:Number; var speedVec:b2Vec2; var randomDeflection:Number; var i:int; var firstUpdate = _arg1; try { if (_PlayerState.Staggering){ return; }; if (_startAimASAP){ if (((_PlayerState.ControllAble) && (_PlayerState.OnGround))){ if (KeyPressed(5)){ RangedDown(); } else { if (KeyPressed(6)){ ThrowDown(); }; }; }; }; if (_PlayerState.Aiming){ if (_PlayerState.AimMode == 1){ if (_PlayerState.CurrentThrowableWeapon.Properties.ThrowType == "MOLOTOV"){ if (Math.random() < 0.35){ pd = new particle_data("FIRE", (MidPosX() - (_PlayerState.LastDirX * 8)), (MidPosY() - 4.5)); pd.ScaleX = 0.5; pd.ScaleY = 0.5; _Handler_Effects.AddParticle(pd); }; }; if (_PlayerState.ThrowTimer > 0){ _PlayerState.ThrowTimer = (_PlayerState.ThrowTimer - _game_speed); if (_PlayerState.ThrowTimer <= 0){ _PlayerState.ThrowTimer = 0; ThrowTimerEnded(); }; }; }; }; if (AFSUpdated){ return; } else { AFSUpdated = true; }; if (_PlayerState.CurrentFireFrame > 0){ if (!(firstUpdate)){ _PlayerState.CurrentFireFrame = (_PlayerState.CurrentFireFrame + _game_speed); }; if (_char.ANIM_WPN == null){ return; }; realFrame = Math.floor(_PlayerState.CurrentFireFrame); if (_PlayerState.LastFireFrame != realFrame){ _PlayerState.LastFireFrame = realFrame; if (_PlayerState.CurrentRangeWeapon.Properties.FireSequence[(realFrame - 1)].End){ _PlayerState.CurrentFireFrame = 0; _PlayerState.LastFireFrame = 0; if (_flameAwayActivated){ clearInterval(_flameAwayTimer); _flameAwayActivated = false; }; } else { if (_PlayerState.BackToIdleTimer < 6){ _PlayerState.BackToIdleTimer = 6; }; }; _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentRangeWeapon.Properties.FireSequence[(realFrame - 1)].FrameSound, PosX(), PosY()); posX = ((_char.ANIM_WPN.x * _PlayerState.LastDirX) + PosX()); posY = (_char.ANIM_WPN.y + PosY()); if (_PlayerState.CurrentRangeWeapon.Properties.FireSequence[(realFrame - 1)].UseShellEffect){ shellPosX = posX; shellPosY = posY; shellPosX = (shellPosX + (Math.cos((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.SHELL_CENTER.x)); shellPosY = (shellPosY + (Math.sin((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.SHELL_CENTER.x)); shellPosY = (shellPosY + ((Math.sin(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.SHELL_CENTER.y) * _PlayerState.LastDirX)); shellPosX = (shellPosX + ((Math.cos(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.SHELL_CENTER.y) * _PlayerState.LastDirX)); _Handler_Effects.AddParticle(new particle_data(_PlayerState.CurrentRangeWeapon.Properties.ShellEffect, shellPosX, shellPosY, new b2Vec2((((-(_PlayerState.LastDirX) * Math.random()) * 1) - _PlayerState.LastDirX), ((-(Math.random()) * 1) - 1)), _PlayerState.CurrentAimAngleRad)); }; if (_PlayerState.CurrentRangeWeapon.Properties.FireSequence[(realFrame - 1)].UseMuzzleEffect){ muzzlePosX = posX; muzzlePosY = posY; muzzlePosX = (muzzlePosX + (Math.cos((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.MUZZLE_CENTER.x)); muzzlePosY = (muzzlePosY + (Math.sin((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.MUZZLE_CENTER.x)); muzzlePosY = (muzzlePosY + ((Math.sin(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.MUZZLE_CENTER.y) * _PlayerState.LastDirX)); muzzlePosX = (muzzlePosX + ((Math.cos(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.MUZZLE_CENTER.y) * _PlayerState.LastDirX)); speedVec = new b2Vec2(); _Handler_Effects.AddParticle(new particle_data(_PlayerState.CurrentRangeWeapon.Properties.MuzzleFlashEffect, muzzlePosX, muzzlePosY, speedVec, _PlayerState.CurrentAimAngle)); }; if (_PlayerState.CurrentRangeWeapon.Properties.FireSequence[(realFrame - 1)].Bullets > 0){ posX = (posX + (Math.cos((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.FIRE_CENTER.x)); posY = (posY + (Math.sin((_PlayerState.CurrentAimAngle * (Math.PI / 180))) * _char.ANIM_WPN.FIRE_CENTER.x)); posY = (posY + ((Math.sin(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.FIRE_CENTER.y) * _PlayerState.LastDirX)); posX = (posX + ((Math.cos(((_PlayerState.CurrentAimAngle + 90) * (Math.PI / 180))) * _char.ANIM_WPN.FIRE_CENTER.y) * _PlayerState.LastDirX)); i = 0; while (i < _PlayerState.CurrentRangeWeapon.Properties.FireSequence[(realFrame - 1)].Bullets) { if (_PlayerState.CurrentRangeWeapon.Ammo > 0){ randomDeflection = (((Math.random() * _PlayerState.CurrentRangeWeapon.Properties.AccuracyDeflection) * 2) - _PlayerState.CurrentRangeWeapon.Properties.AccuracyDeflection); switch (_PlayerState.CurrentRangeWeapon.Properties.BulletType){ case "FLAME": if (!(_flameAwayActivated)){ FlameAway(); _flameAwayTimer = setInterval(FlameAway, 10); _flameAwayActivated = true; }; break; case "BAZOOKA_ROCKET": _Handler_ProjectilesUpdater.NewRocket("BAZOOKA_ROCKET", posX, posY, (_PlayerState.CurrentAimAngle + randomDeflection), this); break; default: _Handler_ProjectilesUpdater.NewProjectile(_PlayerState.CurrentRangeWeapon.Properties.BulletType, posX, posY, (_PlayerState.CurrentAimAngle + randomDeflection), this); break; }; _PlayerState.CurrentRangeWeapon.Ammo = (_PlayerState.CurrentRangeWeapon.Ammo - 1); } else { WeaponEmptyRecoil(); _PlayerState.CurrentFireFrame = (_PlayerState.CurrentRangeWeapon.Properties.FireSequence.length - 1); _PlayerState.LastFireFrame = _PlayerState.CurrentFireFrame; i = _PlayerState.CurrentRangeWeapon.Properties.FireSequence[(realFrame - 1)].Bullets; }; UpdateGUIRanged(); i = (i + 1); }; }; }; }; if (!(_PlayerState.AFSInProgress)){ if (_PlayerState.CurrentWeaponCooldown > 0){ _PlayerState.CurrentWeaponCooldown = (_PlayerState.CurrentWeaponCooldown - (1 - ((1 - _game_speed) / 2))); }; if (_PlayerState.Aiming){ if (((((!(KeyPressed(5))) && (!(KeyPressed(6))))) || (_cancelAimingASAP))){ if (_PlayerState.FastTrigger){ if (!(_PlayerState.AimTurningAroundDelay)){ _PlayerState.FastTrigger = false; AFSUpdated = false; FireWeapon(); }; } else { if ((((_PlayerState.BackToIdleTimer <= 0)) || (_cancelAimingASAP))){ _cancelAimingASAP = false; AbortAiming(); }; }; }; }; }; } catch(e:Error) { }; } private function BotCloudAbove():Boolean{ var _local1:int; _local1 = 0; while (_local1 < 20) { if (_static_world_cloud_hitbox_mc.hitTestPoint(_this_x, (_this_y - _local1), true)){ return (true); }; _local1 = (_local1 + 2); }; return (false); } private function UpdateAirMovement():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:int; var _local7:Number; var _local8:Boolean; var _local9:int; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Boolean; var _local13:b2Vec2; var _local14:b2Vec2; var _local15:Number; if (_PlayerState.AirVelocityY == 0){ _PlayerState.AirVelocityY = 0.1; }; if (_this_y > _jumpDownPosYDisable){ _performJumpDownLevel = false; }; if (_PlayerState.Climbing){ if (((_keyPressed[1]) && (!(_keyPressed[0])))){ _PlayerState.AirVelocityY = _PlayerState.SlideSpeed; _PlayerState.AirVelocityX = 0; if (_PlayerState.CurrentLadder == null){ _PlayerState.CurrentLadder = m_world.GetLadderBodyAt(MidPosX(), MidPosY()); }; if (_PlayerState.CurrentLadder != null){ _PlayerState.DisableKneel = true; _this_x = (_PlayerState.CurrentLadder.GetPosition().x * 30); }; LadderSliding(); } else { if (_keyPressed[0]){ _PlayerState.AirVelocityY = -(_PlayerState.ClimbSpeed); } else { _PlayerState.AirVelocityY = 0; }; if (PressingLeft()){ _PlayerState.AirVelocityX = -(_PlayerState.ClimbSpeed); this.scaleX = -1; _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = -1; } else { if (PressingRight()){ _PlayerState.AirVelocityX = _PlayerState.ClimbSpeed; this.scaleX = 1; _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = 1; } else { _PlayerState.AirVelocityX = 0; }; }; }; } else { if (((!(_PlayerState.Knockdowned)) && ((_PlayerState.HP <= 0)))){ Fall(false); }; }; _local1 = Math.ceil(_PlayerState.TotalAirVelocity); if (_local1 <= 1){ _local1 = 1; }; _local2 = (_PlayerState.AirVelocityY * _game_speed); _local3 = (_PlayerState.AirVelocityX * _game_speed); if (_PlayerState.ControllAble){ if (PressingLeft()){ TurnLeft(); } else { if (PressingRight()){ TurnRight(); }; }; }; _local4 = _this_x; _local5 = _this_y; _local6 = 1; while (_local6 <= _local1) { _local4 = _this_x; _local5 = _this_y; _this_x = (_this_x + (_local3 / _local1)); _this_y = (_this_y + (_local2 / _local1)); if (PlayerOutsideLevel()){ IgnorePlayer(); return; }; if (_PlayerState.Climbing){ if (!(_static_ladder_hitbox_mc.hitTestPoint(MidPosX(), MidPosY(), true))){ if (_local2 < 0){ _this_y = _local5; if (!(_static_ladder_hitbox_mc.hitTestPoint(MidPosX(), MidPosY(), true))){ _PlayerState.Climbing = false; _PlayerState.AirVelocityX = 0; } else { _PlayerState.AirVelocityY = 0; }; } else { _PlayerState.Climbing = false; _PlayerState.AirVelocityX = 0; }; } else { if (_local2 > 0){ _PlayerState.NextLadderEffect = (_PlayerState.NextLadderEffect - _local2); if (_PlayerState.NextLadderEffect <= 0){ if (_PlayerState.LadderEffectRightSide){ _local7 = 1; } else { _local7 = -1; }; if ((Math.random() * 10) < 5){ _Handler_Effects.AddParticle(new particle_data("METAL", (PosX() + (6 * _local7)), (PosY() - 16), new b2Vec2(((Math.random() * _local7) * 0.5), (-(Math.random()) * 0.5)))); } else { _Handler_Effects.AddParticle(new particle_data("METAL", (PosX() + (6 * _local7)), PosY(), new b2Vec2(((Math.random() * _local7) * 0.5), (Math.random() * 0.5)))); }; _PlayerState.LadderEffectRightSide = !(_PlayerState.LadderEffectRightSide); _PlayerState.NextLadderEffect = (14 + (Math.random() * 4)); }; }; }; }; if (_PlayerState.Falling){ if (CollisionSide(_local3)){ _local8 = false; _local9 = ConvertToDirection(_PlayerState.AirVelocityX); b = GetDynamicBodyAt((MidPosX() + ((_PlayerState.PlayerEdgeDistance + 2) * _local9)), MidPosY(), false); if (b != null){ _local10 = new b2Vec2(_PlayerState.LastDirX, 0); _local11 = new b2Vec2((MidPosX() + ((_PlayerState.PlayerEdgeDistance + 2) * _local9)), MidPosY()); _local11.x = (_local11.x / 30); _local11.y = (_local11.y / 30); b.ApplyImpulse(_local10, _local11); if (b.GetUserData().objectData.PlayerFragile){ _local8 = true; b.GetUserData().objectData.ForceDestruction(); _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX * 0.6); return; }; b.GetUserData().objectData.Damage_Impact(2); }; _Handler_Sounds.PlaySoundAt("MELEE_HIT", _this_x, _this_y); _this_x = _local4; if (CanLandInMid()){ _PlayerState.AirVelocityX = 0; } else { if (!(CollisionHead())){ _PlayerState.AirVelocityX = (-(_PlayerState.AirVelocityX) * 0.5); _PlayerState.AirVelocityY = (-(Math.abs(_PlayerState.AirVelocityY)) * 0.7); if (Math.abs(_PlayerState.AirVelocityX) > 2){ _PlayerState.AirVelocityX = (-(_local9) * 2); }; if (_PlayerState.AirVelocityY < -2.5){ _PlayerState.AirVelocityY = -2.5; }; return; }; }; }; } else { _local12 = false; if (CollisionSide(_local3)){ if (_PlayerState.Diving){ b = GetDynamicBodyAt((MidPosX() + (6 * _PlayerState.LastDirX)), MidPosY(), false); if (b != null){ _local13 = new b2Vec2(_PlayerState.LastDirX, 0); _local14 = new b2Vec2((MidPosX() + (6 * _PlayerState.LastDirX)), MidPosY()); _local14.x = (_local14.x / 30); _local14.y = (_local14.y / 30); b.ApplyImpulse(_local13, _local14); b.GetUserData().objectData.Damage_Impact(2); if (b.GetUserData().objectData.HP > 0){ _local12 = true; _PlayerState.Diving = false; _PlayerState.Sprinting = false; _PlayerState.AirVelocityY = 0; _PlayerState.AirVelocityX = 0; _local3 = 0; }; } else { _local12 = true; _PlayerState.Diving = false; _PlayerState.Sprinting = false; _PlayerState.AirVelocityY = 0; _PlayerState.AirVelocityX = 0; _local3 = 0; }; } else { _PlayerState.AirVelocityX = 0; _local3 = 0; }; }; UpdateSides(false); if (_local12){ DropGrabbedPlayer(); }; }; if (_PlayerState.Diving){ CheckDivePlayerImpact(); }; if (_local2 > 0){ if (!(_PlayerState.Climbing)){ if (((!(_PlayerState.Falling)) && (!(_PlayerState.Diving)))){ if (_PlayerState.AirVelocityY >= _PlayerState.FallTriggerSpeed){ if (_PlayerState.MovingDirectionInversed != 0){ if (((_keyPressed[2]) && (!(CollisionSide(1, (_PlayerState.PlayerEdgeDistance + 1)))))){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX + (_PlayerState.RunSpeed * 0.8)); }; if (((_keyPressed[3]) && (!(CollisionSide(-1, (_PlayerState.PlayerEdgeDistance + 1)))))){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX - (_PlayerState.RunSpeed * 0.8)); }; } else { if (((_keyPressed[2]) && (!(CollisionSide(-1, (_PlayerState.PlayerEdgeDistance + 1)))))){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX - (_PlayerState.RunSpeed * 0.8)); }; if (((_keyPressed[3]) && (!(CollisionSide(1, (_PlayerState.PlayerEdgeDistance + 1)))))){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX + (_PlayerState.RunSpeed * 0.8)); }; }; _PlayerState.Falling = true; }; }; }; if (CollisionHead()){ CheckObjectHeadImpactSpeeds(); }; if (CollisionFeetSides()){ if (CanLandInMid()){ if (CollisionFeetMid()){ PlayerLands(); return; }; } else { if (!(CollisionFeetSides(-2))){ if (CollisionFeetSides(1, (_PlayerState.PlayerEdgeDistance - 1))){ PlayerLands(); return; }; } else { if (!(CollisionFeetBothSides())){ UpdateSides(); } else { PlayerLands(); return; }; }; }; }; } else { if (_local2 < 0){ if (((CollisionHead()) || (WorldCollisionHead()))){ _local15 = _PlayerState.AirVelocityY; _this_y = _local5; _PlayerState.AirVelocityY = 0; CheckObjectHeadImpactSpeeds(); CheckHeadToObjectImpacts((Math.abs(_local15) * 0.1)); return; }; if (_PlayerState.AirVelocityY != _PlayerState.PlayerJumpPower){ if (CollisionFeetSides()){ if (CanLandInMid()){ if (CollisionFeetMidUp(-2, 0)){ PlayerLands(); return; }; }; }; }; }; }; UpdateGrabbedPlayer(); UpdatePlayerFallingOnPlayer(); if (!(_PlayerState.Climbing)){ _PlayerState.AirVelocityY = (_PlayerState.AirVelocityY + ((_PlayerState.PlayerGravity * _game_speed) / _local1)); _local3 = (_PlayerState.AirVelocityX * _game_speed); _local2 = (_PlayerState.AirVelocityY * _game_speed); }; _local6++; }; } private function CancelFireDelay():void{ clearInterval(_PlayerState.FireDelayTimer); _PlayerState.FireDelayActivated = false; _PlayerState.FireDelayUpdated = false; _startAimASAP = false; } public function IgnorePlayer():void{ if (_PlayerState.GrabbedPlayer){ _players[_PlayerState.GrabbedPlayerNr].SetCoordinates(_this_x, _this_y); _players[_PlayerState.GrabbedPlayerNr].GrabbedByOtherPlayer(false, _PlayerState.LastDirX); _PlayerState.GrabbedPlayer = false; }; _PlayerBars.Hide(); _PlayerState.TakingCover = false; _PlayerState.CoverObjectID = -1; _PlayerState.HP = 0; _char_gui.visible = false; _blood_gui.visible = false; _gui_mc.gib_pic.alpha = 1; _PlayerState.CameraIgnoreTimer = (24 * 2); this.visible = false; _collision_mc.visible = false; _collision_mc.x = 9999; _collision_mc.y = 9999; _player_area_mc.x = 9999; _player_area_mc.y = 9999; _PlayerState.IgnoreMe = true; } private function TurnRight():void{ if (_PlayerState.LastDirX == -1){ this.scaleX = 1; _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = 1; }; } public function DiveCollision():void{ DropGrabbedPlayer(); _PlayerState.AirVelocityX = (_PlayerState.LastDirX * 3.5); _PlayerState.LastDirX = (_PlayerState.LastDirX * -1); _PlayerState.Falling = true; } private function CollisionSide(_arg1:Number, _arg2:Number=-1):Boolean{ var _local3:int; if (_arg1 == 0){ return (false); }; if (_arg2 <= 0){ _arg2 = _PlayerState.PlayerEdgeDistance; }; _edgePosition = (_this_x + (_arg2 * ConvertToDirection(_arg1))); _local3 = 6; while (_local3 <= (_PlayerState.PlayerHeight - 2)) { if (_static_world_hitbox_mc.hitTestPoint(_edgePosition, (_this_y - _local3), true)){ return (true); }; _local3 = (_local3 + 2); }; return (false); } private function UpdateGrabbedPlayer(_arg1:Boolean=false):void{ var center = _arg1; if (_PlayerState.GrabbedPlayer){ if (center){ _players[_PlayerState.GrabbedPlayerNr].SetCoordinates(_this_x, _this_y); } else { _players[_PlayerState.GrabbedPlayerNr].SetCoordinates((_this_x + (_PlayerState.LastDirX * 6)), (_this_y - 2)); }; try { _players[_PlayerState.GrabbedPlayerNr].SetGrabRotation(-(_PlayerAnimation.GrabRotation)); } catch(e:Error) { }; }; } private function LadderJump():void{ if (!(_static_ladder_hitbox_mc.hitTestPoint(MidPosX(), (MidPosY() - 1), true))){ _PlayerState.Climbing = false; _this_y = (_this_y - 1); BeginJump(); }; } private function FireUp():void{ if (_PlayerState.StuckToRocket){ return; }; if (_PlayerState.Staggering){ return; }; _startAimASAP = false; if (((_PlayerState.FireDelayActivated) && (!(_PlayerState.FireDelayUpdated)))){ clearInterval(_PlayerState.FireDelayTimer); _PlayerState.FireDelayUpdated = true; _PlayerState.FireDelayTimer = setInterval(CancelFireDelay, 100); return; }; if (((((!(_PlayerState.Throwing)) && (_PlayerState.Aiming))) && (!(_PlayerState.AimTurningAroundDelay)))){ if (_PlayerState.AimMode == 0){ _PlayerState.BackToIdleTimer = 6; FireWeapon(); } else { if (_PlayerState.AimMode == 1){ _PlayerState.Throwing = true; _PlayerState.Aiming = false; ReleaseThrowable(); }; }; }; } private function LadderSliding():void{ var _local1:*; _local1 = 0; while (_local1 < _players.length) { if (_local1 != PlayerNr){ if (_players[_local1].State.Climbing){ if (_players[_local1].PosY() > PosY()){ if (this.hitTestObject(_players[_local1].MC)){ _players[_local1].LadderKnockdown(ConvertToDirection((_players[_local1].PosX() - PosX()))); }; }; }; }; _local1++; }; } private function BodyDust():void{ var _local1:int; _local1 = -2; while (_local1 < 3) { _Handler_Effects.AddEffectAt("BODYFALL", (_this_x + (_local1 * 3)), _this_y); _local1++; }; } public function UpdateGUI():void{ _gui_mc.melee.gotoAndStop(_PlayerState.GetMeleeWeapon().Properties.WeaponType); if (_PlayerState.CurrentThrowableWeapon.Ammo <= 0){ _gui_mc.throwable.gotoAndStop("EMPTY"); _gui_mc.throwable_num.visible = false; } else { _gui_mc.throwable.gotoAndStop(_PlayerState.CurrentThrowableWeapon.Properties.WeaponType); _gui_mc.throwable_num.visible = true; SetNumTo(_gui_mc.throwable_num, _PlayerState.CurrentThrowableWeapon.Ammo); }; UpdateGUIRanged(); if (_PlayerState.CurrentPowerupWeapon == null){ _gui_mc.powerup.gotoAndStop("EMPTY"); } else { _gui_mc.powerup.gotoAndStop(_PlayerState.CurrentPowerupWeapon.Properties.WeaponType); }; } public function Fall(_arg1:Boolean=true):void{ if (!(_PlayerState.Falling)){ _lastBounceY = _this_y; DropGrabbedPlayer(); CheckAimDrop(); if (_PlayerState.Knockdowned){ if (_PlayerState.AirVelocityY > -0.1){ _PlayerState.AirVelocityY = -0.1; }; }; if (_arg1){ if (PressingRight()){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX + (_PlayerState.RunSpeed - 1)); }; if (PressingLeft()){ _PlayerState.AirVelocityX = (_PlayerState.AirVelocityX - (_PlayerState.RunSpeed - 1)); }; } else { if (_PlayerState.Staggering){ _PlayerState.AirVelocityX = (-(_PlayerState.LastDirX) * _PlayerState.StaggerSpeed); _PlayerState.AirVelocityY = -2; }; }; _PlayerState.Falling = true; }; } private function ButtonInMeleeRange():Boolean{ var _local1:int; var _local2:Number; var _local3:Number; _local1 = 0; while (_local1 < m_world.ButtonList.length) { b = m_world.ButtonList[_local1]; if (b.GetUserData().buttonData.Enabled){ if (CheckCollisionTowardsPlayer(MidPosX(), (b.GetPosition().x * 30), _PlayerState.LastDirX)){ _local2 = (MidPosX() - (b.GetPosition().x * 30)); _local2 = Math.abs(_local2); if ((((_local2 <= 14)) && ((_local2 > 4)))){ _local3 = (MidPosY() - (b.GetPosition().y * 30)); if (Math.abs(_local3) <= 10){ _button_in_melee_range = true; _button_to_activate = m_world.ButtonList[_local1]; return (true); }; }; }; }; _local1++; }; return (false); } private function BotDodgeBullet():Boolean{ var _local1:Number; var _local2:Number; var _local3:Number; if (_BotState.Difficulty == BotState.EASY){ return (false); }; if (_BotState.DodgeBullet){ return (true); }; if (_BotState.Difficulty == BotState.MEDIUM){ if (Math.random() < 0.7){ return (false); }; }; if (((!(_PlayerState.OnGround)) || (_PlayerState.Punching))){ return (false); }; if (((!(_PlayerState.CanRoll)) && (_PlayerState.Aiming))){ return (false); }; if (((((!(_PlayerState.CanRoll)) && (!(_PlayerState.Aiming)))) && ((Math.random() < 0.7)))){ return (false); }; if (_PlayerState.Aiming){ if (_BotState.IgnoreDodgeBulletWhileAiming){ return (false); }; if (_Handler_ProjectilesUpdater.BulletImpactFrameTime(this, 3.1, 8)){ return (true); }; } else { if (_Handler_ProjectilesUpdater.BulletImpactFrameTime(this, 0, 8)){ return (true); }; if (_BotState.TargetPlayer != null){ if (_BotState.TargetPlayer.State.Aiming){ _local1 = (_BotState.TargetPlayer.MidPosX() - MidPosX()); _local2 = (_BotState.TargetPlayer.MidPosY() - MidPosY()); _local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2))); if (_local3 <= 25){ return (true); }; }; }; }; return (false); } private function DeflectBullets():void{ _Handler_ProjectilesUpdater.DeflectBullets(this); } private function BotCalculatePathGrid(_arg1:PathNode):void{ var _local2:PathNode; var _local3:PathBind; var _local4:int; var _local5:int; _local2 = null; _local3 = null; if (_BotState.NextResultNode != null){ if (!(_PlayerState.OnGround)){ _local2 = _BotState.NextResultNode.Node; }; if (_BotState.NextResultNode.PrevBind != null){ _local3 = _BotState.NextResultNode.PrevBind; if (((_PlayerState.Climbing) && ((_local3.MovementType == PathBind.LADDER)))){ return; }; if (((_PlayerState.Jumping) && ((_local3.MovementType == PathBind.SPRINTJUMP)))){ return; }; if (((_PlayerState.Diving) && ((_local3.MovementType == PathBind.DIVE)))){ return; }; }; }; if (_local2 == null){ _local2 = _pathGrid.GetNodeAt(MidPosX(), MidPosY()); }; _BotState.Path = _pathGrid.GetPath(_local2, _arg1); if (_local2 != null){ if (_local2.Avoid){ _BotState.RunAwayFromHazards = true; if (_PlayerState.Aiming){ _BotState.Phase = BotState.CANCEL_AIM; } else { _BotState.Phase = BotState.FOLLOW_PATH; }; }; }; if (_BotState.Path.length > 0){ _BotState.Path[(_BotState.Path.length - 1)].PrevBind = _local3; }; if (_BotState.NextResultNode != null){ _local4 = 0; _local5 = (_BotState.Path.length - 2); while (_local5 > _local4) { if (_BotState.Path[_local5].Node == _BotState.NextResultNode.Node){ _BotState.Path.splice((_local5 + 1), (_BotState.Path.length - (_local5 + 1))); }; _local5--; }; }; } private function AbortAiming(_arg1:Boolean=false):void{ var _local2:b2Vec2; var _local3:b2Body; _PlayerState.Aiming = false; _startAimASAP = false; _lazer_mc.visible = false; _aim_mc.visible = false; CancelAFS(); if (_PlayerState.CurrentRangeWeapon != null){ if ((((_PlayerState.CurrentRangeWeapon.Ammo <= 0)) || (_arg1))){ if (_arg1){ _local2 = new b2Vec2((_PlayerState.LastDirX * -2), -((2 + (Math.random() * 2)))); } else { _local2 = new b2Vec2((_PlayerState.LastDirX * 2), -1); }; _local3 = _Handler_Maps.Handler_WorldItems.AddPolygon(("wpn_" + _PlayerState.CurrentRangeWeapon.Properties.WeaponType), ((MidPosX() + (_PlayerState.LastDirX * 5)) / 30), ((MidPosY() - 3) / 30), 0, _local2, ((Math.random() * 30) - 15), null, !((_PlayerState.LastDirX == 1))); _local3.GetUserData().weaponData = _PlayerState.CurrentRangeWeapon; _local3.GetUserData().weaponData.Ammo = 0; _local3.GetUserData().objectData.MC.indicator.visible = false; _PlayerState.CurrentRangeWeapon = null; UpdateGUIRanged(); }; }; } private function GrabWeapon():Boolean{ var _local1:b2Body; _local1 = GetClosestReachableWeapon(); if (_local1 != null){ if (_local1.GetUserData().isRanged == true){ _PlayerState.CurrentRangeWeapon = _local1.GetUserData().weaponData; _Handler_Effects.AddParticle(new particle_data(("PICKUP_" + _local1.GetUserData().weaponData.Properties.WeaponType), MidPosX(), (MidPosY() - 10))); _local1.GetUserData().objectData.ForceDestruction(); _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentRangeWeapon.Properties.PickupSound, PosX(), PosY()); return (true); }; if (_local1.GetUserData().isThrowable == true){ _PlayerState.CurrentThrowableWeapon = _local1.GetUserData().weaponData; _Handler_Effects.AddParticle(new particle_data(("PICKUP_" + _local1.GetUserData().weaponData.Properties.WeaponType), MidPosX(), (MidPosY() - 10))); _local1.GetUserData().objectData.ForceDestruction(); _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentThrowableWeapon.Properties.PickupSound, PosX(), PosY()); return (true); }; if (_local1.GetUserData().isMelee == true){ _PlayerState.CurrentMeleeWeapon = _local1.GetUserData().weaponData; _Handler_Effects.AddParticle(new particle_data(("PICKUP_" + _local1.GetUserData().weaponData.Properties.WeaponType), MidPosX(), (MidPosY() - 10))); _local1.GetUserData().objectData.ForceDestruction(); _Handler_Sounds.PlaySoundAt(_PlayerState.GetMeleeWeapon().Properties.PickupSound, PosX(), PosY()); return (true); }; if (_local1.GetUserData().isPowerup == true){ _PlayerState.CurrentPowerupWeapon = _local1.GetUserData().weaponData; _Handler_Effects.AddParticle(new particle_data(("PICKUP_" + _local1.GetUserData().weaponData.Properties.WeaponType), MidPosX(), (MidPosY() - 10))); _local1.GetUserData().objectData.ForceDestruction(); _Handler_Sounds.PlaySoundAt(_PlayerState.CurrentPowerupWeapon.Properties.PickupSound, PosX(), PosY()); return (true); }; if (_local1.GetUserData().isHealth == true){ _PlayerState.HP = (_PlayerState.HP + _local1.GetUserData().weaponData.Ammo); _Handler_Sounds.PlaySoundAt(_local1.GetUserData().weaponData.Properties.PickupSound, PosX(), PosY()); _local1.GetUserData().objectData.ForceDestruction(); StartFlashEffect(); return (true); }; }; return (false); } public function Initialize(_arg1:PlayerAreaData):void{ var _local2:Number; var _local3:*; _MapArea = _arg1; _local2 = 1; if (_static_world_hitbox_mc.hitTestPoint(this.x, this.y, true)){ _local2 = -1; }; _local3 = 0; for (;_local3 < 100;_local3++) { if (((!(_static_world_hitbox_mc.hitTestPoint(this.x, this.y, true))) && (!(_static_world_cloud_hitbox_mc.hitTestPoint(this.x, this.y, true))))){ this.y = (this.y + _local2); } else { continue; }; }; _this_x = this.x; _this_y = this.y; _PlayerAnimation.ShowAnimation("idle"); } private function ConvertToDirection(_arg1:Number):int{ if (_arg1 == 0){ return (0); }; return ((_arg1 / Math.sqrt((_arg1 * _arg1)))); } private function BotCheckPathProgress():void{ var _local1:PathResultNode; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = _BotState.Path[(_BotState.Path.length - 1)]; _local2 = (MidPosX() - _local1.Node.PosX); _local3 = (MidPosY() - _local1.Node.PosY); if (Math.abs(_local2) <= BotState.DISTANCE_NODE_TOLERANCE_X){ if ((((_local3 >= BotState.DISTANCE_NODE_TOLERANCE_Y_MAX)) && ((_local3 <= BotState.DISTANCE_NODE_TOLERANCE_Y_MIN)))){ if (_local1.NextBind != null){ if (!(_PlayerState.OnGround)){ if (_local1.NextBind.MovementType == PathBind.DIVE){ return; }; if ((((_local1.NextBind.MovementType == PathBind.SPRINTJUMP)) || ((_local1.NextBind.MovementType == PathBind.JUMP)))){ if (_PlayerState.AirVelocityY > (_PlayerState.PlayerJumpPower + 2)){ return; }; }; }; }; _BotState.Path.splice((_BotState.Path.length - 1), 1); _BotState.DoFireCheck = true; return; } else { if (_local3 < 0){ if (_local1.NextBind != null){ if (_local1.NextBind.MovementType == PathBind.ROAD){ _local4 = Math.abs(_local3); while (_local4 >= 2) { if (_static_objects_hitbox_mc.hitTestPoint(_this_x, (MidPosY() + _local4), true)){ _BotState.Path.splice((_BotState.Path.length - 1), 1); _BotState.DoFireCheck = true; return; }; _local4 = (_local4 - 2); }; }; }; }; }; }; } private function GetGibBodyNearPlayer():b2Body{ var _local1:b2Body; var _local2:int; _local2 = -4; while (_local2 <= 4) { _local1 = GetDynamicBodyAt((_this_x + _local2), (_this_y - 4), false); if (_local1 != null){ if (_local1.GetUserData().objectData.CanGibb){ if (((_static_world_hitbox_mc.hitTestPoint(_this_x, (_this_y + 2), true)) && (!(_local1.GetUserData().objectData.CollisionMC.hitTestPoint(_this_x, (_this_y + 2), true))))){ return (_local1); }; if (((_static_world_hitbox_mc.hitTestPoint((_this_x + _local2), (_this_y + 2), true)) && (!(_local1.GetUserData().objectData.CollisionMC.hitTestPoint((_this_x + _local2), (_this_y + 2), true))))){ return (_local1); }; }; }; _local2 = (_local2 + 4); }; return (null); } private function CheckForceKneeling():Boolean{ return (CheckCollisionHeight(12, _PlayerState.MaxPlayerHeight)); } private function KneelReleased():void{ _PlayerState.DisableKneel = false; } private function BotRandomize():void{ switch (Math.floor((Math.random() * 3.999))){ case 0: _BotState.FollowToAimMinimumDistance = 10; break; case 1: _BotState.FollowToAimMinimumDistance = 30; break; case 2: _BotState.FollowToAimMinimumDistance = 60; break; case 3: _BotState.FollowToAimMinimumDistance = 100; break; }; switch (_BotState.Difficulty){ case BotState.EASY: _BotState.RunOften = false; break; case BotState.MEDIUM: _BotState.RunOften = (Math.random() < 0.4); break; case BotState.HARD: _BotState.RunOften = true; break; }; if (_BotState.Difficulty == BotState.EASY){ _BotState.FollowToAimMinimumDistance = (_BotState.FollowToAimMinimumDistance + 40); }; if ((((_BotState.Difficulty == BotState.MEDIUM)) && ((Math.random() < 0.5)))){ _BotState.FollowToAimMinimumDistance = (_BotState.FollowToAimMinimumDistance + 20); }; _BotState.MeleeToAimMinimumChance = (0.2 + (Math.random() * 0.7)); if (Math.random() < 0.4){ _BotState.IgnoreDodgeBulletWhileAiming = true; } else { _BotState.IgnoreDodgeBulletWhileAiming = false; }; } private function CheckAimDrop(_arg1:Boolean=false):void{ if (_PlayerState.Aiming){ if (_PlayerState.AimMode == 1){ DropThrowable(); }; if (_PlayerState.AimMode == 0){ AbortAiming(_arg1); }; }; } private function GetBodyAbovePlayer():b2Body{ var _local1:b2Body; _local1 = GetDynamicBodyAt(_this_x, (_this_y - _PlayerState.PlayerHeight), false); if (_local1 != null){ return (_local1); }; _local1 = GetDynamicBodyAt((_this_x - 4), (_this_y - _PlayerState.PlayerHeight), false); if (_local1 != null){ return (_local1); }; _local1 = GetDynamicBodyAt((_this_x + 4), (_this_y - _PlayerState.PlayerHeight), false); if (_local1 != null){ return (_local1); }; return (null); } private function DeactivateSprint():void{ _Handler_Output.Trace("Sprint Off"); _PlayerState.Sprinting = false; } private function CheckForceKnockdown():Boolean{ return (CheckCollisionHeight(6, 12)); } private function GetStaticBodyAt(_arg1:Number, _arg2:Number):b2Body{ if (HitTestWorldOnly(_arg1, _arg2)){ return (m_world.GetStaticBodyAt(_arg1, _arg2)); }; return (null); } private function RangedUp():void{ if (((_PlayerState.StuckToRocket) || (_PlayerState.Staggering))){ return; }; _startAimASAP = false; if (((((!(_PlayerState.Throwing)) && (_PlayerState.Aiming))) && (!(_PlayerState.AimTurningAroundDelay)))){ if (_PlayerState.AimMode == 0){ _PlayerState.BackToIdleTimer = 6; FireWeapon(); }; }; } private function HitTestWorld(_arg1:Number, _arg2:Number):Boolean{ if (_static_world_hitbox_mc.hitTestPoint(_arg1, _arg2, true)){ return (true); }; if (_static_world_cloud_hitbox_mc.hitTestPoint(_arg1, _arg2, true)){ return (true); }; return (false); } private function CancelAFS():void{ _PlayerState.CancelAFS(); _cancelAimingASAP = false; if (_flameAwayActivated){ clearInterval(_flameAwayTimer); _flameAwayActivated = false; }; } public function SetAI(_arg1:Number):void{ _bot = true; _BotState = new BotState(); _BotState.Difficulty = _arg1; if (_BotState.Difficulty == BotState.EASY){ _PlayerState.ImmunityDisabled = true; }; _Handler_Output.Trace(("Bot difficulty set to: " + _BotState.Difficulty)); } private function AimRight():void{ if (_PlayerState.LastDirX == -1){ _PlayerState.FastTrigger = false; _lazer_mc.visible = false; _aim_mc.visible = false; CancelAFS(); _PlayerState.AimTurningAround = true; this.scaleX = 1; _collision_mc.scaleX = this.scaleX; _PlayerState.LastDirX = 1; _PlayerState.CurrentAimPitch = 0; _PlayerState.CurrentChangePitchSpeed = 0; }; } private function StartFlashEffect():void{ var _local1:Color; _local1 = new Color(); _local1.brightness = 1; this.transform.colorTransform = _local1; _PlayerState.ShowFlashEffect = true; } } }//package Code.Data.Players
Section 96
//PlayerAnimation (Code.Data.Players.PlayerAnimation) package Code.Data.Players { import flash.display.*; import Code.Handler.*; public class PlayerAnimation { private var _this_gui:MovieClip; private var _animation_done:Boolean;// = false private var _disable_slowmotion_modifier:Boolean;// = false private var _aim_animation:Boolean;// = false private var _is_rocket_ride:Boolean;// = false private var _collision_mc:MovieClip; private var _help_animation:Boolean;// = false private var _animation_done_func:Function; private var _current_frame:Number;// = 1 private var _next_blink_timer:Number;// = 0 private var _current_animation:String;// = "" private var _rotate_speed:Number;// = 0 private var _grabbed_player_updated:Boolean;// = false private var _loop_animation:Boolean;// = false private var _PlayerState:PlayerState; private var _delay_timer:Number;// = 0 private var _rotate_increase:Number;// = 0 private var _delay_frame:int;// = -1 private var _Handler_Output:OutputTrace; private var _blood_gui:MovieClip; private var _blood:MovieClip; private var _blink_duration_timer:Number;// = 0 private var _this:MovieClip; public function PlayerAnimation(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip, _arg4:PlayerState, _arg5:OutputTrace){ _current_frame = 1; _loop_animation = false; _animation_done = false; _help_animation = false; _aim_animation = false; _disable_slowmotion_modifier = false; _grabbed_player_updated = false; _current_animation = ""; _is_rocket_ride = false; _rotate_speed = 0; _rotate_increase = 0; _delay_frame = -1; _delay_timer = 0; _next_blink_timer = 0; _blink_duration_timer = 0; super(); _this = _arg1; _blood = _arg2; _collision_mc = _arg3; _PlayerState = _arg4; _Handler_Output = _arg5; } private function AnimationDone():void{ if (_PlayerState.Knockdowned){ _PlayerState.Knockdowned = false; }; if (_PlayerState.Rolling){ _PlayerState.Rolling = false; }; if (_PlayerState.Kicking){ _PlayerState.Kicking = false; }; if (_PlayerState.Throwing){ _PlayerState.Throwing = false; }; if (_PlayerState.Punching){ _PlayerState.Punching = false; }; if (_PlayerState.AimTurningAround){ _PlayerState.AimTurningAround = false; }; if (_PlayerState.DeathKneel){ _PlayerState.Falling = true; _PlayerState.AirVelocityX = (_PlayerState.LastDirX * 1.7); _PlayerState.AirVelocityY = -1.5; }; } public function get GrabRotation():Number{ return (_this.ANIM.HELPMC.rotation); } private function FallingFoward():Boolean{ if ((((((_PlayerState.LastDirX == 1)) && ((_PlayerState.AirVelocityX >= 0)))) || ((((_PlayerState.LastDirX == -1)) && ((_PlayerState.AirVelocityX < 0)))))){ return (true); }; return (false); } private function UpdateAnimation():void{ _blood.visible = _PlayerState.BloodVisible; _blood_gui.visible = _PlayerState.BloodVisible; if (_PlayerState.IsImmune){ _next_blink_timer = (_next_blink_timer - 1); if (_next_blink_timer <= 0){ _this.alpha = 0.2; _this_gui.alpha = 0.2; _blink_duration_timer = (_blink_duration_timer - 1); if (_blink_duration_timer <= 0){ _blink_duration_timer = 1; _next_blink_timer = 3; }; } else { _this.alpha = 1; _this_gui.alpha = 1; }; } else { _this.alpha = 1; _this_gui.alpha = 1; _next_blink_timer = 0; _blink_duration_timer = 1; }; if (_PlayerState.IgnoreMe){ ShowAnimation("EMPTY"); } else { if (_PlayerState.StuckToRocket){ if (_PlayerState.RocketRideProjectile.DirectionX > 0){ ShowAnimation("ROCKET_RIDE_R"); } else { ShowAnimation("ROCKET_RIDE_L"); }; } else { if (_PlayerState.DeathKneel){ ShowAnimation("DEATH_KNEEL"); } else { if (_PlayerState.GrabbedByPlayer){ ShowAnimation("GRABBED"); } else { if (_PlayerState.Staggering){ ShowAnimation("STAGGER"); } else { if (_PlayerState.Climbing){ if (_PlayerState.ClimbingDirection == 1){ ShowAnimation("SLIDE"); } else { ShowAnimation("CLIMB"); }; } else { if (_PlayerState.Knockdowned){ ShowAnimation("KNOCKDOWN"); } else { if (_PlayerState.Falling){ if (FallingFoward()){ ShowAnimation("FALL_F"); } else { ShowAnimation("FALL_B"); }; } else { if (_PlayerState.IsStunned){ ShowAnimation(("STUN_0" + _PlayerState.StunAnimation)); } else { if (_PlayerState.Aiming){ if (_PlayerState.AimMode == 0){ if (_PlayerState.AimTurningAround){ ShowAnimation(("start_" + _PlayerState.CurrentRangeWeapon.Properties.AnimType)); } else { ShowAnimation(("aim_" + _PlayerState.CurrentRangeWeapon.Properties.AnimType)); }; } else { if (_PlayerState.AimMode == 1){ if (_PlayerState.AimTurningAround){ ShowAnimation("aim_turn"); } else { ShowAnimation(("aim_" + _PlayerState.CurrentThrowableWeapon.Properties.AnimType)); }; }; }; } else { if (_PlayerState.Throwing){ ShowAnimation("THROW"); } else { if (_PlayerState.Diving){ ShowAnimation("DIVE"); } else { if (_PlayerState.Jumping){ if (_PlayerState.JumpKickPerformed){ ShowAnimation("JUMPKICK"); } else { ShowAnimation("JUMP"); }; } else { if (_PlayerState.Rolling){ if (((_current_animation) && (_animation_done))){ ShowAnimation("ROLL", true); } else { ShowAnimation("ROLL"); }; } else { if (_PlayerState.Kicking){ ShowAnimation("KICK"); } else { if (_PlayerState.Punching){ ShowAnimation(((_PlayerState.MeleeAnimation + "_0") + _PlayerState.PunchComboNr)); } else { if (_PlayerState.Kneeling){ ShowAnimation("KNEEL"); } else { if (_PlayerState.TakingCover){ ShowAnimation("COVER"); } else { if (_PlayerState.MovingDirectionX == 0){ ShowAnimation("IDLE"); } else { if (_PlayerState.Sprinting){ ShowAnimation("SPRINT"); } else { ShowAnimation("RUN"); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; } public function NewSkin(_arg1:MovieClip):void{ _this = _arg1; ShowAnimation(_current_animation, true); } public function ShowAnimation(_arg1:String, _arg2:Boolean=false):void{ if (((!((_current_animation == _arg1.toUpperCase()))) || (_arg2))){ _current_animation = _arg1.toUpperCase(); if (_arg2){ _this.gotoAndStop("IDLE"); _this_gui.gotoAndStop("IDLE"); _collision_mc.gotoAndStop("IDLE"); _blood.gotoAndStop("IDLE"); _blood_gui.gotoAndStop("IDLE"); }; _this.gotoAndStop(_arg1.toUpperCase()); _this_gui.gotoAndStop(_arg1.toUpperCase()); _collision_mc.gotoAndStop(_arg1.toUpperCase()); _blood.gotoAndStop(_arg1.toUpperCase()); _blood_gui.gotoAndStop(_arg1.toUpperCase()); _current_frame = 0; _aim_animation = false; _animation_done = false; _loop_animation = false; _help_animation = false; _grabbed_player_updated = false; _disable_slowmotion_modifier = false; _is_rocket_ride = false; switch (_arg1.toUpperCase()){ case "ROCKET_RIDE_L": case "ROCKET_RIDE_R": _is_rocket_ride = true; _loop_animation = true; break; case "AIM_TURN": _disable_slowmotion_modifier = true; break; case "CLIMB": case "IDLE": case "STAGGER": case "SPRINT": case "GRABBED": case "RUN": _loop_animation = true; break; case "DIVE": _help_animation = true; _loop_animation = true; _rotate_speed = 1.5; _rotate_increase = 0; break; case "FALL_B": case "FALL_F": _help_animation = true; _loop_animation = true; if (_arg1.toUpperCase() == "FALL_B"){ _rotate_speed = -10; _rotate_increase = -2; } else { _rotate_speed = 10; _rotate_increase = 2; }; break; default: if (_arg1.toUpperCase().substr(0, 3) == "AIM"){ _aim_animation = true; _loop_animation = true; }; if (_arg1.toUpperCase().substr(0, 5) == "START"){ _disable_slowmotion_modifier = true; }; break; }; }; } public function NextFrame(_arg1:Number):int{ return (Math.floor((_current_frame + _arg1))); } public function set GrabRotation(_arg1:Number):void{ _this.ANIM.DOLL.rotation = _arg1; _collision_mc.ANIM.DOLL.rotation = _arg1; _blood.ANIM.DOLL.rotation = _arg1; } public function get CurrentFrame():int{ return (Math.floor(_current_frame)); } public function SetGUISkin(_arg1:MovieClip, _arg2:MovieClip):void{ _this_gui = _arg1; _blood_gui = _arg2; ShowAnimation(_current_animation, true); } public function ProgressAnimation(_arg1:Number):void{ var _local2:int; var _local3:MovieClip; var _local4:MovieClip; var _local5:MovieClip; var _local6:MovieClip; var _local7:MovieClip; var _local8:int; UpdateAnimation(); if (!(_animation_done)){ if (_delay_frame == CurrentFrame){ if (_delay_timer > 0){ _delay_timer = (_delay_timer - _arg1); if (_delay_timer <= 0){ _delay_frame = -1; }; return; }; }; if (_current_frame == 0){ _current_frame = 1; return; }; if (_is_rocket_ride){ _PlayerState.LastDirX = 1; _this.ANIM.rotation = _PlayerState.RocketRideProjectile.Angle; _this_gui.ANIM.rotation = _PlayerState.RocketRideProjectile.Angle; _collision_mc.ANIM.rotation = _PlayerState.RocketRideProjectile.Angle; _blood.ANIM.rotation = _PlayerState.RocketRideProjectile.Angle; _blood_gui.ANIM.rotation = _PlayerState.RocketRideProjectile.Angle; _current_frame = (_current_frame + 1); } else { if (_help_animation){ _current_frame = (_current_frame + 1); } else { if (_aim_animation){ _this.ANIM_WPN.rotation = _PlayerState.CurrentAimPitch; _this_gui.ANIM_WPN.rotation = _PlayerState.CurrentAimPitch; _collision_mc.ANIM_WPN.rotation = _PlayerState.CurrentAimPitch; _blood.ANIM_WPN.rotation = _PlayerState.CurrentAimPitch; _blood_gui.ANIM_WPN.rotation = _PlayerState.CurrentAimPitch; if (_PlayerState.AFSInProgress){ _local2 = _PlayerState.CurrentRangeWeapon.Properties.FireSequence[(_PlayerState.LastFireFrame - 1)].FrameNr; } else { _local2 = 1; }; _this.ANIM_WPN.gotoAndStop(_local2); _this_gui.ANIM_WPN.gotoAndStop(_local2); _collision_mc.ANIM_WPN.gotoAndStop(_local2); _blood.ANIM_WPN.gotoAndStop(_local2); _blood_gui.ANIM_WPN.gotoAndStop(_local2); return; } else { if ((((_current_animation == "CLIMB")) && (!(_PlayerState.ClimbingAround)))){ _local2 = Math.floor(_current_frame); _this.ANIM.gotoAndStop(_local2); _this_gui.ANIM.gotoAndStop(_local2); _collision_mc.ANIM.gotoAndStop(_local2); _blood.ANIM.gotoAndStop(_local2); _blood_gui.ANIM.gotoAndStop(_local2); return; }; if ((((((_current_frame >= 4)) && ((_current_animation == "KNOCKDOWN")))) && (((_PlayerState.CantRise) || ((_PlayerState.HP <= 0)))))){ _current_frame = 4; } else { if (!(_disable_slowmotion_modifier)){ if (_current_animation == "KNOCKDOWN"){ if (_current_frame < 9){ _current_frame = (_current_frame + (_arg1 * _PlayerState.KnockdownRiseSpeed)); if (_current_frame >= 9){ _PlayerState.ImmunityTimer = PlayerState.KNOCKDOWN_IMMUNITY_TIME; }; } else { _current_frame = (_current_frame + (_arg1 * _PlayerState.KnockdownRiseSpeed)); }; } else { _current_frame = (_current_frame + _arg1); }; } else { _current_frame = (_current_frame + 1); }; }; }; }; }; if (_help_animation){ _local3 = _this.ANIM.HELPMC; _local4 = _collision_mc.ANIM.HELPMC; _local5 = _blood.ANIM.HELPMC; _local6 = _this_gui.ANIM.HELPMC; _local7 = _blood_gui.ANIM.HELPMC; _local3.rotation = (_local3.rotation + (_rotate_speed * _arg1)); _local4.rotation = _local3.rotation; _local5.rotation = _local3.rotation; _local6.rotation = _local3.rotation; _local7.rotation = _local3.rotation; if (Math.sqrt((_rotate_speed * _rotate_speed)) < 36){ _rotate_speed = (_rotate_speed + (_rotate_increase * _arg1)); }; if (_current_animation == "DIVE"){ if (_PlayerState.GrabbedPlayer){ if (!(_grabbed_player_updated)){ _grabbed_player_updated = true; }; }; }; } else { _local3 = _this.ANIM; _local4 = _collision_mc.ANIM; _local5 = _blood.ANIM; _local6 = _this_gui.ANIM; _local7 = _blood_gui.ANIM; }; _local8 = Math.floor(_current_frame); if (_local8 > _local3.totalFrames){ AnimationDone(); if (_loop_animation){ _current_frame = 1; _local8 = 1; } else { _animation_done = true; }; }; if (!(_grabbed_player_updated)){ _local3.gotoAndStop(_local8); _local4.gotoAndStop(_local8); _local5.gotoAndStop(_local8); _local6.gotoAndStop(_local8); _local7.gotoAndStop(_local8); }; if (_collision_mc.currentFrame != _this.currentFrame){ } else { if (_local4.currentFrame != _local3.currentFrame){ } else { if (_local5.currentFrame != _local3.currentFrame){ }; }; }; } else { AnimationDone(); }; } public function get Progress():Number{ return ((CurrentFrame / LastFrame)); } public function get LastFrame():int{ return (_this.ANIM.totalFrames); } public function DelayAnimation(_arg1:int, _arg2:Number):void{ _delay_frame = _arg1; _delay_timer = _arg2; } } }//package Code.Data.Players
Section 97
//PlayerAreaData (Code.Data.Players.PlayerAreaData) package Code.Data.Players { import flash.geom.*; public class PlayerAreaData { private var _left:Number; private var _bottom:Number; private var _top:Number; private var _right:Number; public function PlayerAreaData(_arg1:Rectangle){ _top = _arg1.y; _left = _arg1.x; _bottom = (_arg1.y + _arg1.height); _right = (_arg1.x + _arg1.width); } public function get Bottom():Number{ return (_bottom); } public function get Left():Number{ return (_left); } public function get Top():Number{ return (_top); } public function get Right():Number{ return (_right); } } }//package Code.Data.Players
Section 98
//PlayerBars (Code.Data.Players.PlayerBars) package Code.Data.Players { import flash.display.*; import flash.geom.*; public class PlayerBars { private var _gui_mc:MovieClip; private var _sprint_bar:MovieClip; private var _health_bar:MovieClip; private var _PlayerState:PlayerState; private var _player_sign:MovieClip; private var _health_energy_bar:MovieClip; private var _sprint_energy_bar:MovieClip; private var _gui_bars_mc:MovieClip; private var _showBars:Boolean; public static var PLAYER_COM:int = 0; public static var PLAYER_2:int = 2; public static var PLAYER_1:int = 1; public function PlayerBars(_arg1:PlayerState, _arg2:MovieClip){ var _local3:Sprite; var _local4:Sprite; var _local5:ColorTransform; super(); _PlayerState = _arg1; _health_bar = new MovieClip(); _local3 = new Sprite(); _local3.graphics.lineStyle(0.25, 0, 0); _local3.graphics.beginFill(0, 1); _local3.graphics.moveTo(-10, 0); _local3.graphics.lineTo(-10, -2); _local3.graphics.lineTo(10, -2); _local3.graphics.lineTo(10, 0); _local3.graphics.lineTo(-10, 0); _local3.graphics.endFill(); _health_energy_bar = new MovieClip(); _health_energy_bar.graphics.lineStyle(1, GetColor(0xFF, 0xFF, 0xFF), 0); _health_energy_bar.graphics.beginFill(GetColor(0xFF, 0xFF, 0xFF), 1); _health_energy_bar.graphics.moveTo(0, 0); _health_energy_bar.graphics.lineTo(0, -2); _health_energy_bar.graphics.lineTo(20, -2); _health_energy_bar.graphics.lineTo(20, 0); _health_energy_bar.graphics.lineTo(0, 0); _health_energy_bar.graphics.endFill(); _health_energy_bar.x = -10; _health_bar.addChild(_local3); _health_bar.addChild(_health_energy_bar); _health_bar.alpha = 0.5; _sprint_bar = new MovieClip(); _local4 = new Sprite(); _local4.graphics.lineStyle(0.25, 0, 0); _local4.graphics.beginFill(0, 1); _local4.graphics.moveTo(-10, 0); _local4.graphics.lineTo(-10, -2); _local4.graphics.lineTo(10, -2); _local4.graphics.lineTo(10, 0); _local4.graphics.lineTo(-10, 0); _local4.graphics.endFill(); _sprint_energy_bar = new MovieClip(); _sprint_energy_bar.graphics.lineStyle(1, GetColor(0xFF, 0xFF, 0xFF), 0); _sprint_energy_bar.graphics.beginFill(GetColor(0xFF, 0xFF, 0xFF), 1); _sprint_energy_bar.graphics.moveTo(0, 0); _sprint_energy_bar.graphics.lineTo(0, -2); _sprint_energy_bar.graphics.lineTo(20, -2); _sprint_energy_bar.graphics.lineTo(20, 0); _sprint_energy_bar.graphics.lineTo(0, 0); _sprint_energy_bar.graphics.endFill(); _sprint_energy_bar.x = -10; _sprint_bar.addChild(_local4); _sprint_bar.addChild(_sprint_energy_bar); _sprint_bar.alpha = 0.5; _arg2.addChild(_sprint_bar); _arg2.addChild(_health_bar); _health_bar.visible = false; _player_sign = new player_sign(); _local5 = _player_sign.transform.colorTransform; if (_PlayerState.Team < 0){ _local5.redOffset = (PlayerTeamColor.SOLO[0] - 0xFF); _local5.greenOffset = (PlayerTeamColor.SOLO[1] - 0xFF); _local5.blueOffset = (PlayerTeamColor.SOLO[2] - 0xFF); } else { _local5.redOffset = (PlayerTeamColor.TEAM[(_PlayerState.Team - 1)][0] - 0xFF); _local5.greenOffset = (PlayerTeamColor.TEAM[(_PlayerState.Team - 1)][1] - 0xFF); _local5.blueOffset = (PlayerTeamColor.TEAM[(_PlayerState.Team - 1)][2] - 0xFF); }; _player_sign.transform.colorTransform = _local5; _arg2.addChild(_player_sign); _showBars = true; } private function GetColor(_arg1:Number, _arg2:Number, _arg3:Number):uint{ var _local4:uint; _local4 = (((_arg1 << 16) | (_arg2 << 8)) | _arg3); return (_local4); } public function DrawGUIBars():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = (_gui_mc.bars_end.x - _gui_mc.bars_start.x); _local2 = 4; _local3 = 6; _local4 = (_PlayerState.BarHP / 100); _gui_bars_mc.graphics.clear(); _gui_bars_mc.graphics.lineStyle(1, 0xFFFFFF, 0); _gui_bars_mc.graphics.beginFill(GetColor((0xFF - Math.round((0xFF * _local4))), Math.round((0xFF * _local4)), 40)); _gui_bars_mc.graphics.moveTo(0, 0); _gui_bars_mc.graphics.lineTo(0, _local2); _gui_bars_mc.graphics.lineTo((_local1 * _local4), _local2); _gui_bars_mc.graphics.lineTo((_local1 * _local4), 0); _gui_bars_mc.graphics.lineTo(0, 0); _gui_bars_mc.graphics.endFill(); if (_local4 == 0){ return; }; _local4 = (_PlayerState.SprintEnergy / 100); _gui_bars_mc.graphics.lineStyle(1, 0xFFFFFF, 0); _gui_bars_mc.graphics.beginFill(0xFFFFFF); _gui_bars_mc.graphics.moveTo(0, _local3); _gui_bars_mc.graphics.lineTo(0, (_local3 + _local2)); _gui_bars_mc.graphics.lineTo((_local1 * _local4), (_local3 + _local2)); _gui_bars_mc.graphics.lineTo((_local1 * _local4), _local3); _gui_bars_mc.graphics.lineTo(0, _local3); _gui_bars_mc.graphics.endFill(); } public function SetGUI(_arg1:MovieClip):void{ _gui_mc = _arg1; _gui_bars_mc = new MovieClip(); _gui_bars_mc.x = _gui_mc.bars_start.x; _gui_bars_mc.y = _gui_mc.bars_start.y; _gui_mc.addChild(_gui_bars_mc); } public function Show():void{ _showBars = true; } public function SetSign(_arg1:int):void{ switch (_arg1){ case PLAYER_COM: _player_sign.gotoAndStop(3); _gui_mc.sign.gotoAndStop(3); break; case PLAYER_1: _player_sign.gotoAndStop(1); _gui_mc.sign.gotoAndStop(1); break; case PLAYER_2: _player_sign.gotoAndStop(2); _gui_mc.sign.gotoAndStop(2); break; }; _gui_mc.sign.transform.colorTransform = _player_sign.transform.colorTransform; } public function Update(_arg1:Number, _arg2:Number, _arg3:Number):void{ var _local4:Number; var _local5:Number; if (_PlayerState.HP <= 0){ _sprint_bar.visible = false; _health_bar.visible = false; _player_sign.visible = false; _gui_bars_mc.visible = false; return; }; DrawGUIBars(); if (((((!(_PlayerState.ShowHealthBar)) && ((_PlayerState.SprintEnergy >= 100)))) || (_PlayerState.StuckToRocket))){ _sprint_bar.visible = false; _health_bar.visible = false; }; _arg2 = (_arg2 + 30); if (_PlayerState.Diving){ _arg2 = (_arg2 - 14); } else { _arg2 = (_arg2 - 22); }; _local4 = (0.5 + (0.5 / _arg3)); _player_sign.x = _arg1; _player_sign.y = (_arg2 - 30); _player_sign.scaleX = _local4; _player_sign.scaleY = _local4; _player_sign.visible = true; if (!(_showBars)){ return; }; if (_PlayerState.ShowHealthBar){ _health_bar.visible = true; _health_bar.scaleX = _local4; _health_bar.scaleY = _local4; _local5 = (_PlayerState.BarHP / 100); _health_energy_bar.graphics.clear(); _health_energy_bar.graphics.lineStyle(1, 0xFFFFFF, 0); _health_energy_bar.graphics.beginFill(GetColor((0xFF - Math.round((0xFF * _local5))), Math.round((0xFF * _local5)), 40)); _health_energy_bar.graphics.moveTo(0, 0); _health_energy_bar.graphics.lineTo(0, -2); _health_energy_bar.graphics.lineTo((20 * _local5), -2); _health_energy_bar.graphics.lineTo((20 * _local5), 0); _health_energy_bar.graphics.lineTo(0, 0); _health_energy_bar.graphics.endFill(); _health_energy_bar.x = -10; _health_bar.x = _arg1; _health_bar.y = _arg2; _arg2 = (_arg2 + 3); } else { _health_bar.visible = false; }; if (_PlayerState.SprintEnergy >= 100){ _sprint_bar.visible = false; return; }; _sprint_bar.visible = true; _sprint_bar.scaleX = _local4; _sprint_bar.scaleY = _local4; _local5 = (_PlayerState.SprintEnergy / 100); _sprint_energy_bar.graphics.clear(); _sprint_energy_bar.graphics.lineStyle(1, 0xFFFFFF, 0); _sprint_energy_bar.graphics.beginFill(0xFFFFFF); _sprint_energy_bar.graphics.moveTo(0, 0); _sprint_energy_bar.graphics.lineTo(0, -2); _sprint_energy_bar.graphics.lineTo((20 * _local5), -2); _sprint_energy_bar.graphics.lineTo((20 * _local5), 0); _sprint_energy_bar.graphics.lineTo(0, 0); _sprint_energy_bar.graphics.endFill(); _sprint_energy_bar.x = -10; _sprint_bar.x = _arg1; _sprint_bar.y = _arg2; } public function Hide():void{ _showBars = false; _sprint_bar.visible = false; _health_bar.visible = false; _player_sign.visible = false; _gui_bars_mc.visible = false; } } }//package Code.Data.Players
Section 99
//PlayerCharacter (Code.Data.Players.PlayerCharacter) package Code.Data.Players { import flash.net.*; import flash.display.*; import flash.geom.*; public class PlayerCharacter { public static const RANDOM:int = 0; public static const AGENT:int = 3; public static const MAC:int = 7; public static const BORIS:int = 2; public static const FUNNYMAN:int = 6; public static const BILLY:int = 4; public static const TOTAL_CHARACTERS:int = 8; public static const JOHNNY:int = 1; public static const JEFF:int = 8; public static const SCOTT:int = 5; public static function Get(_arg1:int):MovieClip{ var _local2:MovieClip; var _local3:ColorTransform; switch (_arg1){ case JOHNNY: _local2 = new player_johnny(); break; case BORIS: _local2 = new player_boris(); break; case AGENT: _local2 = new player_agent(); break; case BILLY: _local2 = new player_billy(); break; case SCOTT: _local2 = new player_scott(); break; case FUNNYMAN: _local2 = new player_funnyman(); break; case MAC: _local2 = new player_mac(); break; case JEFF: _local2 = new player_jeff(); break; default: _local2 = new player_boris(); _local3 = _local2.transform.colorTransform; _local3.color = 0; _local3.alphaMultiplier = 0.5; _local2.transform.colorTransform = _local3; break; }; return (_local2); } public static function GetRandomCharacter():int{ var _local1:int; _local1 = Math.floor((1 + (Math.random() * (_slot1.TOTAL_CHARACTERS - 0.001)))); while (_local1 == FUNNYMAN) { _local1 = Math.floor((1 + (Math.random() * (_slot1.TOTAL_CHARACTERS - 0.001)))); }; return (_local1); } public static function CharacterAvailable(_arg1:int):Boolean{ var _local2:SharedObject; var _local3:Array; var _local4:int; if (_arg1 == FUNNYMAN){ _local2 = SharedObject.getLocal("superfightersData_v1.0"); if (_local2.data.stageLevelsFinished != undefined){ _local3 = _local2.data.stageLevelsFinished; _local4 = 0; while (_local4 < _local3.length) { if (!(_local3[_local4])){ return (false); }; _local4++; }; return (true); }; return (false); }; return (true); } } }//package Code.Data.Players
Section 100
//PlayerSetupData (Code.Data.Players.PlayerSetupData) package Code.Data.Players { import Code.Handler.*; public class PlayerSetupData { public var aiDifficulty:Array; public var ot:OutputTrace; public var ai:Array; public var characters:Array; public var totalPlayers:Number; public var teams:Array; public var keys:Array; public var playerSpawnPositions:Array; } }//package Code.Data.Players
Section 101
//PlayersKeeperData (Code.Data.Players.PlayersKeeperData) package Code.Data.Players { import Code.Box2D.Dynamics.*; import flash.display.*; import Code.Data.Weapons.*; import Code.Handler.*; public class PlayersKeeperData { public var m_world:b2World; public var game_mc:MovieClip; public var meleeStartWeapon:WeaponMeleeData; public var pathGrid:PathGrid; public var Handler_Effects:Effects; public var Handler_Shake:Shake; public var rangedStartWeapon:WeaponData; public var Handler_Sounds:Sounds; public var Handler_Output:OutputTrace; public var stg; public var defaultMeleeWeapon:WeaponMeleeData; public var Handler_Maps:Maps; public var Handler_Projectiles:ProjectilesUpdater; public var pSetupData:PlayerSetupData; public var Handler_Keyboard:InputKeyboard; public var throwableStartWeapon:WeaponThrowableData; public var Handler_Slowmo:Slowmo; } }//package Code.Data.Players
Section 102
//PlayerState (Code.Data.Players.PlayerState) package Code.Data.Players { import Code.Data.Weapons.*; import Code.Box2D.Dynamics.*; import Code.Data.*; public class PlayerState { public var PlayerJumpPushPower:Number;// = -0.7 public var ImmunityDisabled:Boolean;// = false public var PlayerGravity:Number;// = 0.6 private var _jumpKickPerformed:Boolean;// = false public var ThrowTimer:Number;// = 0 private var _knockdownGrade:int;// = 0 private var _showFlashEffect:Boolean;// = false public var CurrentChangePitchSpeed:Number;// = 0 public var FireRank1Minimum:Number;// = 15 public var JumpKickDamage:Number;// = 4 private var _grabbed_by_player:Boolean;// = false private var _grabbed_player_nr:int;// = 0 public var FireRank2Damage:Number;// = 0.4 public var AimMode:int;// = 0 private var _currentPushbackPower:Number;// = 0 public var FireRankWorldExtraDamage:Number;// = 0.2 public var PlayerJumpPushEnabled:Boolean;// = false private var _running:Boolean;// = false private var _flashEffectTimer:int;// = 0 private var _decreaseKnockdownGradeTimer:Number;// = 0 private var _healthBarSpeed:Number;// = 4 private var _box2D_cover:b2Body; public var RocketRideTimer:Number;// = 0 private var _canDive:Boolean;// = true public var FallTriggerSpeed:Number;// = 8.5 private var _portalDirectionX:int;// = 1 public var CritSmokeTimer:Number;// = 0 public var StaggerSpeed:Number;// = 1 public var Gone:Boolean;// = false private var _punchComboNr:int;// = 1 private var _showHealthTimer:Number;// = -24 private var _knockdowned:Boolean;// = false public var CurrentThrowableWeapon:WeaponThrowableData; public var PlayerJumpPushTime:Number;// = 4 public var PlayerFeetSize:Number;// = 4 private var _rolling:Boolean;// = false public var RocketRideProjectile:ProjectileData;// = null private var _kneeling:Boolean;// = false private var _aimTurningAroundTimer:int;// = 0 private var _taking_cover:Boolean;// = false public var JumpPushTimeLeft:Number;// = 0 public var FireRank1Damage:Number;// = 0.2 private var _drawDelay:int;// = 0 public var FireRank2Minimum:Number;// = 100 private var _stunTimer:Number;// = 0 private var _kickingCooldown:Number;// = 0 public var SlideSpeed:Number;// = 3 public var ImmunityTimer:Number;// = 0 public var PlayerJumpPushActivated:Boolean;// = false public var PlayerWallJumpPower:Number;// = -5 private var _falling:Boolean;// = false private var _punching:Boolean;// = false private var _cover_object_id:int; public var CurrentAimPitch:Number;// = 0 public var KickDamage:Number;// = 4 public var CheckForCover:Boolean;// = false private var _staggerTimer:Number;// = 0 private var _reSprintActivationDuration:int;// = 0 public var CharAnimWpnX:Number; public var CharAnimWpnY:Number; private var _aimTurningAround:Boolean;// = false public var LockRocketSteering:Boolean;// = false public var CurrentMeleeWeapon:WeaponMeleeData; public var FastTrigger:Boolean;// = false public var DisableKneel:Boolean;// = false public var RollSpeed:Number;// = 2 private var _aiming:Boolean;// = false public var UsingMeleeWeapon:Boolean;// = false private var _hp:Number;// = 100 private var game_speed:Number;// = 1 private var _doPunchCombo:Boolean;// = false public var EmptyWeaponRecoilBack:int;// = 0 private var _grabbed_player_char_nr:int;// = 0 private var _runSpeed:Number;// = 1.7 private var _actionCooldown:Number;// = 0 private var _grabbed_player:Boolean;// = false private var _movingDirectionInversed:int;// = 0 private var _stunAnimation:int;// = 1 public var StairBounceDamage:Number;// = 4 private var _backToIdleTimer:int;// = 0 private var _movingDirectionX:int;// = 1 private var _sprinting:Boolean;// = false private var _wallJumping:Boolean;// = false private var _hp_damage_timer:Number;// = 0 private var _char_nr:int;// = 0 private var kickHitMaterialSounds:Array; public var KickPower:Number;// = 1.6 public var LadderEffectRightSide:Boolean;// = false private var _portalSpeedX:Number;// = 0 public var PlayerEdgeDistance:Number;// = 4 public var FireDelayTimer:Number; private var _climbing:Boolean;// = false public var Team:int; private var _burnState:Number;// = 0 public var StopStaggerFunc:Function; public var DiveSpeed:Number;// = 3.5 public var FireRank2Attached:Boolean;// = false private var _kicking:Boolean;// = false public var CurrentRangeWeapon:WeaponData; public var SlowmotionDelay:Number;// = 0 private var kickHitMaterialEffects:Array; private var _kickingTimer:Number;// = 0 public var ClimbSpeed:Number;// = 1.5 private var _staggering:Boolean;// = false private var _shortDiveTimer:Number;// = 0 private var _shortDiveAvailable:Boolean;// = false public var LastFireFrame:int;// = 0 public var StuckToRocket:Boolean;// = false public var Burned:Boolean;// = false private var _diving:Boolean;// = false private var _airVelocityY:Number;// = 0 public var PlayerJumpPushLevelOut:Boolean;// = false public var CurrentLadder:b2Body;// = null private var _airVelocityX:Number;// = 0 private var _actionAvailable:Boolean;// = true private var _puchbackDecreaseDelay:Number;// = 0 public var NextLadderEffect:Number;// = 4 public var StairBounce:Boolean;// = false public var Mass:Number;// = 0.7 private var _sprintEnergy:Number;// = 100 private var _deathKneel:Boolean;// = false public var IgnoreMe:Boolean;// = false public var FireDelayUpdated:Boolean;// = false private var _punchHitPerformed:Boolean;// = false private var _canRoll:Boolean;// = true public var PunchGlideSpeed:Number;// = 2 public var Throwing:Boolean;// = false private var _barHP:Number;// = 100 public var UpdateYAxisDistance:Number;// = 3 public var CurrentWeaponCooldown:Number;// = 0 public var PlayerJumpPower:Number;// = -5 public var CurrentFireFrame:Number;// = 0 public var FireDelayActivated:Boolean;// = false private var _inFireDelay:Number;// = 0 private var _inWorldFire:Number;// = 0 public var AirbornTimer:Number;// = 0 public var FireRank1Attached:Boolean;// = false public var QueueJumpKick:Boolean;// = false public var CantRise:Boolean;// = false private var _camera_ignore_me_timer:Number;// = 0 private var _jumping:Boolean;// = false public var CurrentPowerupWeapon:WeaponPowerupData; public var DefaultMeleeWeapon:WeaponMeleeData; private var _sprintActivationDuration:int;// = 0 private var _stairVelocityX:Number;// = 0 private var _stairVelocityY:Number;// = 0 private var _last_dir_x:int;// = 1 public static var KNOCKDOWN_IMMUNITY_TIME:Number = 10; public function PlayerState(){ PlayerGravity = 0.6; UpdateYAxisDistance = 3; PlayerEdgeDistance = 4; PlayerFeetSize = 4; PlayerJumpPower = -5; PlayerJumpPushActivated = false; PlayerJumpPushPower = -0.7; PlayerJumpPushLevelOut = false; PlayerJumpPushEnabled = false; PlayerJumpPushTime = 4; JumpPushTimeLeft = 0; PlayerWallJumpPower = -5; FallTriggerSpeed = 8.5; StaggerSpeed = 1; RollSpeed = 2; DiveSpeed = 3.5; StuckToRocket = false; RocketRideProjectile = null; Mass = 0.7; KickPower = 1.6; CantRise = false; CheckForCover = false; FireRank1Attached = false; FireRank2Attached = false; StairBounce = false; UsingMeleeWeapon = false; CurrentAimPitch = 0; CurrentChangePitchSpeed = 0; ClimbSpeed = 1.5; SlideSpeed = 3; CurrentLadder = null; DisableKneel = false; CurrentWeaponCooldown = 0; NextLadderEffect = 4; LadderEffectRightSide = false; FireDelayActivated = false; FireDelayUpdated = false; SlowmotionDelay = 0; CurrentFireFrame = 0; LastFireFrame = 0; AimMode = 0; FastTrigger = false; Throwing = false; ThrowTimer = 0; Burned = false; CritSmokeTimer = 0; Gone = false; FireRankWorldExtraDamage = 0.2; FireRank1Damage = 0.2; FireRank2Damage = 0.4; FireRank1Minimum = 15; FireRank2Minimum = 100; StairBounceDamage = 4; KickDamage = 4; JumpKickDamage = 4; AirbornTimer = 0; QueueJumpKick = false; LockRocketSteering = false; RocketRideTimer = 0; EmptyWeaponRecoilBack = 0; IgnoreMe = false; ImmunityTimer = 0; ImmunityDisabled = false; game_speed = 1; kickHitMaterialSounds = new Array(["WOOD", "BULLET_HITDEFAULT"]); kickHitMaterialEffects = new Array(["WOOD", "HITDEFAULT_01"]); _hp_damage_timer = 0; _showFlashEffect = false; _flashEffectTimer = 0; _aimTurningAroundTimer = 0; _aimTurningAround = false; PunchGlideSpeed = 2; _runSpeed = 1.7; _aiming = false; _climbing = false; _camera_ignore_me_timer = 0; _diving = false; _jumpKickPerformed = false; _jumping = false; _wallJumping = false; _canRoll = true; _canDive = true; _inWorldFire = 0; _stunAnimation = 1; _stunTimer = 0; _puchbackDecreaseDelay = 0; _currentPushbackPower = 0; _drawDelay = 0; _backToIdleTimer = 0; _falling = false; _kneeling = false; _actionCooldown = 0; _actionAvailable = true; _rolling = false; _sprintEnergy = 100; _taking_cover = false; _staggerTimer = 0; _staggering = false; _deathKneel = false; _knockdowned = false; _knockdownGrade = 0; _decreaseKnockdownGradeTimer = 0; _kickingCooldown = 0; _kickingTimer = 0; _kicking = false; _doPunchCombo = false; _punchComboNr = 1; _punching = false; _punchHitPerformed = false; _sprinting = false; _running = false; _shortDiveTimer = 0; _shortDiveAvailable = false; _sprintActivationDuration = 0; _reSprintActivationDuration = 0; _airVelocityY = 0; _airVelocityX = 0; _stairVelocityY = 0; _stairVelocityX = 0; _movingDirectionInversed = 0; _last_dir_x = 1; _inFireDelay = 0; _burnState = 0; _hp = 100; _showHealthTimer = -24; _healthBarSpeed = 4; _barHP = 100; _movingDirectionX = 1; _portalSpeedX = 0; _portalDirectionX = 1; _grabbed_by_player = false; _grabbed_player = false; _grabbed_player_nr = 0; _grabbed_player_char_nr = 0; _char_nr = 0; super(); } public function ResetChangePitchSpeed():void{ CurrentChangePitchSpeed = 0; } public function get DoPunchCombo():Boolean{ return (_doPunchCombo); } public function get BackToIdleTimer():int{ return (_backToIdleTimer); } public function get Punching():Boolean{ return (_punching); } public function set DoPunchCombo(_arg1:Boolean):void{ _doPunchCombo = _arg1; } public function set BackToIdleTimer(_arg1:int):void{ _backToIdleTimer = _arg1; } public function set CameraIgnoreTimer(_arg1:Number):void{ _camera_ignore_me_timer = _arg1; } public function set Punching(_arg1:Boolean):void{ if (!(_arg1)){ PunchComboNr = 1; }; _punching = _arg1; } public function get ShortDiveAvailable():Boolean{ return (false); } public function get MeleeSwingEffect():String{ return (GetMeleeWeapon().Properties.SwingComboEffects[(_punchComboNr - 1)]); } public function get BarHP():Number{ return (_barHP); } public function get KnockdownRiseSpeed():Number{ return (1); } public function get CanRoll():Boolean{ if (!(_actionAvailable)){ return (false); }; return (_canRoll); } public function set Rolling(_arg1:Boolean):void{ _rolling = _arg1; if (_rolling){ _diving = false; _sprinting = false; } else { _kneeling = false; _actionCooldown = 12; _actionAvailable = false; }; } public function get HitPunchComboFrame():int{ switch (_punchComboNr){ case 1: return (4); case 2: return (5); case 3: return (6); default: return (0); }; } public function get OnGround():Boolean{ if (((((_falling) || (_jumping))) || (_climbing))){ return (false); }; return (true); } public function set ShortDiveAvailable(_arg1:Boolean):void{ _shortDiveAvailable = _arg1; } public function set GrabbedPlayerNr(_arg1:int):void{ _grabbed_player = true; _grabbed_player_nr = _arg1; } public function get Box2DCover():b2Body{ return (_box2D_cover); } public function get BotInterrupt():Boolean{ if (((((_falling) || (_knockdowned))) || (_grabbed_by_player))){ return (true); }; if (((IsStunned) || (_staggering))){ return (true); }; return (false); } public function set ShowFlashEffect(_arg1:Boolean):void{ _showFlashEffect = _arg1; if (_arg1){ _flashEffectTimer = 8; } else { _flashEffectTimer = 0; }; } public function get RangeWeaponTotalDamage():Number{ if (CurrentRangeWeapon != null){ return (CurrentRangeWeapon.TotalDamage); }; return (0); } public function get MeleeAnimation():String{ return (GetMeleeWeapon().Properties.Animation); } public function set CanRoll(_arg1:Boolean):void{ _canRoll = _arg1; } public function get RunSpeed():Number{ if (_sprinting){ return ((_runSpeed * 2)); }; return (_runSpeed); } public function get Aiming():Boolean{ return (_aiming); } public function get AddSmokeEffect():Boolean{ if (_burnState > 0){ if (!(FireRank1Attached)){ return (true); }; }; if (CritSmokeTimer > 0){ return (true); }; return (false); } public function get PortalSpeedX():Number{ if (StuckToRocket){ return (RocketRideProjectile.VelocityX); }; if (_staggering){ return ((-(LastDirX) * 10)); }; return (_portalSpeedX); } public function get ControllAble():Boolean{ if ((((((((((_hp <= 0)) || (_falling))) || (_knockdowned))) || (_rolling))) || (_diving))){ return (false); }; if (((((((((_grabbed_by_player) || (_kicking))) || (Punching))) || (Throwing))) || (_staggering))){ return (false); }; if (((IsStunned) || (DeathKneel))){ return (false); }; return (true); } public function get HitPunchDamage():Number{ return (GetMeleeWeapon().Properties.HitPunchFrameDamage[(_punchComboNr - 1)]); } public function set Falling(_arg1:Boolean):void{ _falling = _arg1; if (_falling){ _camera_ignore_me_timer = (24 * 3); CancelAFS(); _stunTimer = 0; Throwing = false; _diving = false; _jumping = false; JumpKickPerformed = false; _knockdowned = false; _staggering = false; Punching = false; _rolling = false; TakingCover = false; _kicking = false; _wallJumping = false; Aiming = false; _climbing = false; DeathKneel = false; } else { AirVelocityX = 0; AirVelocityY = 0; }; } public function set PortalDirectionX(_arg1:int):void{ _portalDirectionX = _arg1; } public function get ClimbingDirection():int{ if (AirVelocityY < 0){ return (-1); }; if (AirVelocityY > 0){ return (1); }; return (0); } public function get Jumping():Boolean{ return (_jumping); } public function set JumpKickPerformed(_arg1:Boolean):void{ _jumpKickPerformed = _arg1; } public function DecreaseBurnState():void{ if ((((((BurnState < 100)) && (!(Burned)))) && (!(InWorldFire)))){ BurnState = 0; } else { BurnState = (BurnState - 50); if (BurnState < 50){ BurnState = 50; }; }; } public function Update(_arg1:Number):void{ game_speed = _arg1; if (_flashEffectTimer > 0){ _flashEffectTimer = (_flashEffectTimer - 1); }; if (SlowmotionDelay > 0){ SlowmotionDelay = (SlowmotionDelay - 1); }; if (ImmunityTimer > 0){ ImmunityTimer = (ImmunityTimer - game_speed); }; if ((((HP < 100)) && ((_hp_damage_timer <= 0)))){ HP = (HP + (_arg1 * 0.1)); } else { if (_hp_damage_timer > 0){ _hp_damage_timer = (_hp_damage_timer - game_speed); }; }; if (CritSmokeTimer > 0){ CritSmokeTimer = (CritSmokeTimer - game_speed); }; if (_inFireDelay > 0){ _inFireDelay = (_inFireDelay - game_speed); }; if (AddSmokeEffect){ if (_inFireDelay <= 0){ _burnState = (_burnState - game_speed); }; if (_burnState < 0){ _burnState = 0; }; }; if (_kickingTimer > 0){ _kickingTimer = (_kickingTimer - game_speed); }; if (_kickingCooldown > 0){ _kickingCooldown = (_kickingCooldown - game_speed); }; if (_drawDelay > 0){ _drawDelay = (_drawDelay - 1); }; if (_aimTurningAroundTimer > 0){ _aimTurningAroundTimer = (_aimTurningAroundTimer - 1); if (_aimTurningAroundTimer <= 0){ if (AimTurningAround){ AimTurningAround = false; }; }; }; if (_backToIdleTimer > 0){ _backToIdleTimer = (_backToIdleTimer - 1); }; if (_reSprintActivationDuration > 0){ _reSprintActivationDuration = (_reSprintActivationDuration - 1); }; if (_sprintActivationDuration > 0){ _sprintActivationDuration = (_sprintActivationDuration - 1); if (_sprintActivationDuration <= 0){ _sprinting = false; }; }; if (_shortDiveTimer > 0){ _shortDiveTimer = (_shortDiveTimer - 1); if (_shortDiveTimer <= 0){ _shortDiveAvailable = false; }; }; if (_actionCooldown > 0){ _actionCooldown = (_actionCooldown - game_speed); if (_actionCooldown <= 0){ _actionAvailable = true; }; }; if (_showHealthTimer > -24){ _showHealthTimer = (_showHealthTimer - 1); if (_showHealthTimer >= 0){ _barHP = (_barHP + _healthBarSpeed); }; if (_showHealthTimer <= -24){ _showHealthTimer = -24; }; }; if (((OnGround) && (!(Rolling)))){ if (((_sprinting) && (_running))){ _sprintEnergy = (_sprintEnergy - (game_speed * 1.2)); if (_sprintEnergy <= 0){ _sprintEnergy = 0; _sprinting = false; }; } else { if (_sprintEnergy < 100){ if (_running){ _sprintEnergy = (_sprintEnergy + game_speed); } else { _sprintEnergy = (_sprintEnergy + (game_speed + game_speed)); }; if (_sprintEnergy > 100){ _sprintEnergy = 100; }; }; }; } else { if (Climbing){ _sprintEnergy = (_sprintEnergy + game_speed); if (_sprintEnergy > 100){ _sprintEnergy = 100; }; }; }; if (_puchbackDecreaseDelay > 0){ _puchbackDecreaseDelay = (_puchbackDecreaseDelay - game_speed); } else { if (_currentPushbackPower > 0){ _currentPushbackPower = (_currentPushbackPower - (10 * game_speed)); }; }; if (_stunTimer > 0){ _stunTimer = (_stunTimer - game_speed); }; if (_camera_ignore_me_timer > 0){ if (OnGround){ _camera_ignore_me_timer = (_camera_ignore_me_timer - 1); }; }; if (Jumping){ AirbornTimer = (AirbornTimer + game_speed); }; if (Staggering){ StaggerTimer = (StaggerTimer - game_speed); if (StaggerTimer <= 0){ StopStaggerFunc(); Staggering = false; StaggerTimer = 0; }; }; if (Burned){ if (_burnState > 0){ if (OnGround){ _burnState = (_burnState - (game_speed * 1.5)); if (_burnState <= 0){ _burnState = 0; } else { if (_burnState >= 90){ _burnState = 90; }; }; }; }; }; if (_inWorldFire > 0){ _inWorldFire = (_inWorldFire - game_speed); }; if (((!(Knockdowned)) || ((HP <= 0)))){ if (_decreaseKnockdownGradeTimer > 0){ _decreaseKnockdownGradeTimer = (_decreaseKnockdownGradeTimer - game_speed); if (_decreaseKnockdownGradeTimer <= 0){ _knockdownGrade = (_knockdownGrade - 1); if (_knockdownGrade > 0){ _decreaseKnockdownGradeTimer = 12; }; }; }; }; } public function set Knockdowned(_arg1:Boolean):void{ _knockdowned = _arg1; if (_knockdowned){ _stunTimer = 0; _staggering = false; DeathKneel = false; }; } public function set TakingCover(_arg1:Boolean):void{ _taking_cover = _arg1; if (!(_taking_cover)){ if (Box2DCover != null){ Box2DCover.GetUserData().objectData.PlayerCoverLevel = (Box2DCover.GetUserData().objectData.PlayerCoverLevel - 1); Box2DCover = null; }; }; } public function set Box2DCover(_arg1:b2Body):void{ _box2D_cover = _arg1; if (_box2D_cover != null){ _box2D_cover.GetUserData().objectData.PlayerCoverLevel = (_box2D_cover.GetUserData().objectData.PlayerCoverLevel + 1); }; } public function get KickingTimer():Number{ return (_kickingTimer); } public function set DrawDelay(_arg1:int):void{ _drawDelay = _arg1; } public function IncreaseKnockdownGrade():void{ if (HP <= 0){ return; }; if (_knockdownGrade < 3){ _knockdownGrade = (_knockdownGrade + 1); _decreaseKnockdownGradeTimer = 12; }; } public function get MovingDirectionInversed():int{ return (_movingDirectionInversed); } public function get HP():Number{ return (_hp); } public function get AirVelocityX():Number{ return (_airVelocityX); } public function get AirVelocityY():Number{ return (_airVelocityY); } public function set StunTimer(_arg1:Number):void{ _stunTimer = _arg1; if (_stunTimer > 0){ CancelAFS(); Punching = false; DoPunchCombo = false; }; if (_stunAnimation < 2){ _stunAnimation++; } else { _stunAnimation = 1; }; } public function get InWorldFire():Boolean{ return ((_inWorldFire > 0)); } public function get MeleeWeaponTotalDamage():Number{ return (GetMeleeWeapon().TotalDamage); } public function get Climbing():Boolean{ return (_climbing); } public function get GrabbedPlayerCharNr():int{ return (_grabbed_player_char_nr); } public function get MeleeSwingSound():String{ return (GetMeleeWeapon().Properties.SwingComboSounds[(_punchComboNr - 1)]); } public function get Staggering():Boolean{ return (_staggering); } public function get BloodVisible():Boolean{ return ((((_hp <= 25)) && (!(Burned)))); } public function set Aiming(_arg1:Boolean):void{ _aiming = _arg1; if (_arg1){ CurrentAimPitch = 0; ResetChangePitchSpeed(); Kneeling = false; } else { _backToIdleTimer = 0; }; } public function get HitPunchStunTime():Number{ switch (_punchComboNr){ case 1: return ((3 + (Math.random() * 5))); case 2: return ((4 + (Math.random() * 5))); case 3: return ((5 + (Math.random() * 5))); default: return (0); }; } public function set PortalSpeedX(_arg1:Number):void{ _portalSpeedX = _arg1; } public function get CoverObjectID():int{ if (!(TakingCover)){ return (-1); }; return (_cover_object_id); } public function get LastDirX():int{ return (_last_dir_x); } public function get ClimbingAround():Boolean{ if (((!((AirVelocityX == 0))) || (!((AirVelocityY == 0))))){ return (true); }; return (false); } public function GetMeleeMaterialHitEffect(_arg1:String):String{ var _local2:WeaponMeleeData; var _local3:int; _arg1 = _arg1.toUpperCase(); _local2 = GetMeleeWeapon(); _local3 = 0; while (_local3 < _local2.Properties.HitMaterialEffects.length) { if (_local2.Properties.HitMaterialEffects[_local3][0] == _arg1){ return (_local2.Properties.HitMaterialEffects[_local3][1]); }; _local3++; }; return (""); } public function get SprintEnergy():Number{ return (_sprintEnergy); } public function get CameraIgnoreMe():Boolean{ if (_hp > 0){ return (false); }; if (_camera_ignore_me_timer > 0){ return (false); }; if (_staggering){ return (false); }; return (true); } public function get ShowHealthBar():Boolean{ if (_showHealthTimer > -24){ return (true); }; return (false); } public function get DeathKneel():Boolean{ return (_deathKneel); } public function get PunchHitPerformed():Boolean{ return (_punchHitPerformed); } public function get Running():Boolean{ return (_running); } public function set Jumping(_arg1:Boolean):void{ _jumping = _arg1; if (!(_jumping)){ JumpKickPerformed = false; _airVelocityY = 0; _wallJumping = false; } else { AirbornTimer = 0; _rolling = false; TakingCover = false; DeathKneel = false; if (_knockdowned){ Falling = true; }; }; QueueJumpKick = false; } public function get CurrentPushbackPower():Number{ return (_currentPushbackPower); } public function get CanDive():Boolean{ if (!(_actionAvailable)){ return (false); }; return (_canDive); } public function get Diving():Boolean{ return (_diving); } public function get GrabbedPlayer():Boolean{ return (_grabbed_player); } public function set KickingTimer(_arg1:Number):void{ _kickingTimer = _arg1; } public function get IsStunned():Boolean{ return ((_stunTimer > 0)); } public function get StairVelocityX():Number{ return (_stairVelocityX); } public function get MeleeWeaponHitSound():String{ return (GetMeleeWeapon().Properties.HitSound); } public function get WallJumpSpeed():Number{ return (_runSpeed); } public function get AFSInProgress():Boolean{ return ((CurrentFireFrame > 0)); } public function get CurrentAimAngleThrowable():Number{ if (LastDirX == 1){ return ((CurrentAimPitch - 25)); }; return (((180 - CurrentAimPitch) + 25)); } public function get StairVelocityY():Number{ return (_stairVelocityY); } public function set PunchComboNr(_arg1:int):void{ PunchHitPerformed = false; _punchComboNr = _arg1; } public function set MovingDirectionInversed(_arg1:int):void{ _movingDirectionInversed = _arg1; } public function set HP(_arg1:Number):void{ if (_hp <= 0){ return; }; if (_hp > _arg1){ _hp_damage_timer = (24 * 3); }; _barHP = _hp; _hp = _arg1; if (_hp <= 0){ _hp = 0; }; if (_hp > 100){ _hp = 100; }; _healthBarSpeed = ((_hp - _barHP) / 6); _showHealthTimer = 6; } public function get KnockdownGrade():int{ return (_knockdownGrade); } public function set AirVelocityY(_arg1:Number):void{ _airVelocityY = _arg1; } public function get Rolling():Boolean{ return (_rolling); } public function set ForceHP(_arg1:Number):void{ _barHP = _arg1; _hp = _arg1; } public function set AirVelocityX(_arg1:Number):void{ _airVelocityX = _arg1; } public function get AimTurningAroundDelay():Boolean{ if (((_aimTurningAround) || ((_aimTurningAroundTimer > 0)))){ return (true); }; return (false); } public function get GrabbedPlayerNr():int{ return (_grabbed_player_nr); } public function get ShowFlashEffect():Boolean{ return (_showFlashEffect); } public function UpdateCameraIgnoreTimer():void{ if (_camera_ignore_me_timer > 0){ _camera_ignore_me_timer = (_camera_ignore_me_timer - 1); }; } public function GetKickMaterialHitSound(_arg1:String):String{ var _local2:int; _arg1 = _arg1.toUpperCase(); _local2 = 0; while (_local2 < kickHitMaterialSounds.length) { if (kickHitMaterialSounds[_local2][0] == _arg1){ return (kickHitMaterialSounds[_local2][1]); }; _local2++; }; return (""); } public function get FlashEffectTimer():int{ return (_flashEffectTimer); } public function set InWorldFire(_arg1:Boolean):void{ if (_arg1){ _inWorldFire = 2.5; } else { _inWorldFire = 0; }; } public function set Climbing(_arg1:Boolean):void{ _climbing = _arg1; if (!(_arg1)){ CurrentLadder = null; QueueJumpKick = false; JumpKickPerformed = false; AirbornTimer = 0; }; } public function GetKickMaterialHitEffect(_arg1:String):String{ var _local2:int; _arg1 = _arg1.toUpperCase(); _local2 = 0; while (_local2 < kickHitMaterialEffects.length) { if (kickHitMaterialEffects[_local2][0] == _arg1){ return (kickHitMaterialEffects[_local2][1]); }; _local2++; }; return (""); } public function get PortalDirectionX():int{ if (StuckToRocket){ return (ConvertToDirection(RocketRideProjectile.VelocityX)); }; return (_portalDirectionX); } public function get Falling():Boolean{ return (_falling); } public function set Staggering(_arg1:Boolean):void{ _staggering = _arg1; if (!(_arg1)){ _staggerTimer = 0; } else { Punching = false; _knockdowned = false; _falling = false; _jumping = false; }; } public function get IsImmune():Boolean{ return ((((ImmunityTimer > 0)) && (!(ImmunityDisabled)))); } public function set GrabbedPlayerCharNr(_arg1:int):void{ _grabbed_player_char_nr = _arg1; } public function get Knockdowned():Boolean{ return (_knockdowned); } public function get TakingCover():Boolean{ return (_taking_cover); } public function get DrawDelay():int{ return (_drawDelay); } public function set LastDirX(_arg1:int):void{ _last_dir_x = _arg1; } public function get TotalAirVelocity():Number{ return (Math.sqrt(((_airVelocityX * _airVelocityX) + (_airVelocityY * _airVelocityY)))); } public function get JumpKickPerformed():Boolean{ return (_jumpKickPerformed); } public function get StunTimer():Number{ return (_stunTimer); } public function get MeleeWeaponRange():Number{ return (GetMeleeWeapon().Properties.Range[(_punchComboNr - 1)]); } public function set KickingCooldown(_arg1:Number):void{ _kickingCooldown = _arg1; } public function get RangeWeaponTotalAmmo():Number{ if (CurrentRangeWeapon != null){ if (CurrentRangeWeapon.Properties.WeaponType == "FLAMETHROWER"){ return ((CurrentRangeWeapon.Ammo / 10)); }; return (CurrentRangeWeapon.Ammo); }; return (0); } public function set AimTurningAround(_arg1:Boolean):void{ _aimTurningAround = _arg1; if (!(_arg1)){ _aimTurningAroundTimer = 2; } else { BackToIdleTimer = 0; }; } public function set CoverObjectID(_arg1:int):void{ _cover_object_id = _arg1; } public function set SprintEnergy(_arg1:Number):void{ _sprintEnergy = _arg1; if (_sprintEnergy < 0){ _sprintEnergy = 0; }; } public function set Sprinting(_arg1:Boolean):void{ _sprinting = _arg1; } public function get MaxPlayerHeight():Number{ return (18); } public function get LowerAimPitch():int{ switch (AimMode){ case 0: return (90); case 1: return (90); default: return (45); }; } public function get PunchComboNr():int{ return (_punchComboNr); } public function get CurrentAimAngle():Number{ if (LastDirX == 1){ return (CurrentAimPitch); }; return ((180 - CurrentAimPitch)); } public function get RangeWeaponRange():Number{ if (CurrentRangeWeapon != null){ return (CurrentRangeWeapon.Properties.ShootRange); }; return (40); } public function set DeathKneel(_arg1:Boolean):void{ _deathKneel = _arg1; if (_arg1){ Staggering = false; Punching = false; CancelAFS(); }; } public function set PunchHitPerformed(_arg1:Boolean):void{ _punchHitPerformed = _arg1; } public function set Running(_arg1:Boolean):void{ if (!(_arg1)){ if (_sprinting){ _sprinting = false; _reSprintActivationDuration = 2; } else { if (((((_running) && (!(_jumping)))) && (!(TakingCover)))){ _sprintActivationDuration = 3; }; }; } else { if (_reSprintActivationDuration > 0){ _reSprintActivationDuration = 0; _sprintActivationDuration = 0; _sprinting = true; } else { if (_sprintActivationDuration > 0){ _shortDiveAvailable = true; _shortDiveTimer = 3; _sprintActivationDuration = 0; _sprinting = true; }; }; }; _running = _arg1; } public function get KickingCooldown():Number{ return (_kickingCooldown); } public function get AimTurningAround():Boolean{ return (_aimTurningAround); } public function set CurrentPushbackPower(_arg1:Number):void{ _currentPushbackPower = _arg1; _puchbackDecreaseDelay = 3; } public function set WallJumping(_arg1:Boolean):void{ _wallJumping = _arg1; } public function get CanGrabWeapon():Boolean{ if (((((((((((((_falling) || (_knockdowned))) || (_grabbed_by_player))) || (_climbing))) || (Throwing))) || (_kicking))) || (Punching))){ return (false); }; if (((((IsStunned) || (_staggering))) || (DeathKneel))){ return (false); }; return (true); } public function get Sprinting():Boolean{ return (_sprinting); } public function set StaggerTimer(_arg1:Number):void{ _staggerTimer = _arg1; } public function set Kicking(_arg1:Boolean):void{ _kicking = _arg1; if (_kicking){ KickingTimer = 8; _kickingCooldown = 8; TakingCover = false; }; } public function get CanBeKicked():Boolean{ if (IsImmune){ return (false); }; if (_knockdownGrade >= 2){ return (false); }; if (GrabbedByPlayer){ return (false); }; if (IgnoreMe){ return (false); }; return (true); } public function GetMeleeMaterialHitSound(_arg1:String):String{ var _local2:WeaponMeleeData; var _local3:int; _arg1 = _arg1.toUpperCase(); _local2 = GetMeleeWeapon(); _local3 = 0; while (_local3 < _local2.Properties.HitMaterialSounds.length) { if (_local2.Properties.HitMaterialSounds[_local3][0] == _arg1){ return (_local2.Properties.HitMaterialSounds[_local3][1]); }; _local3++; }; return (""); } public function get PlayerHeight():Number{ if (_diving){ return (8); }; if (_knockdowned){ return (10); }; if (_falling){ return (12); }; if (_rolling){ return (14); }; if (((_kneeling) || (TakingCover))){ return (12); }; return (18); } public function get CurrentAimAngleRad():Number{ return ((CurrentAimAngle * (Math.PI / 180))); } public function set CanDive(_arg1:Boolean):void{ _canDive = _arg1; } public function set MovingDirectionX(_arg1:int):void{ _movingDirectionX = _arg1; } public function GetMeleeWeapon():WeaponMeleeData{ if (CurrentMeleeWeapon != null){ return (CurrentMeleeWeapon); }; return (DefaultMeleeWeapon); } public function get UpperAimPitch():int{ switch (AimMode){ case 0: return (90); case 1: return (90); default: return (90); }; } public function set GrabbedByPlayer(_arg1:Boolean):void{ _grabbed_by_player = _arg1; } public function set Diving(_arg1:Boolean):void{ _diving = _arg1; } public function get WallJumping():Boolean{ return (_wallJumping); } public function set GrabbedPlayer(_arg1:Boolean):void{ _grabbed_player = _arg1; } public function get RangeWeaponIsBazooka():Boolean{ if (CurrentRangeWeapon != null){ if (CurrentRangeWeapon.Properties.WeaponType == "BAZOOKA"){ return (true); }; }; return (false); } public function get RangeWeaponCanShootDown():Boolean{ if (CurrentRangeWeapon != null){ return (CurrentRangeWeapon.CanShootDown); }; return (false); } public function set Kneeling(_arg1:Boolean):void{ _kneeling = _arg1; if (_kneeling){ _sprinting = false; if (TakingCover){ _kneeling = false; }; }; } public function set CharNr(_arg1:int):void{ _char_nr = _arg1; } public function get StaggerTimer():Number{ return (_staggerTimer); } public function get MinPunchComboFrame():int{ switch (_punchComboNr){ case 1: return (6); case 2: return (7); case 3: return (8); default: return (0); }; } public function get Kicking():Boolean{ return (_kicking); } public function set BurnState(_arg1:Number):void{ if (!(Burned)){ _burnState = _arg1; _inFireDelay = 3.5; if (_burnState > 100){ _burnState = 100; } else { if (_burnState < 0){ _burnState = 0; }; }; }; } private function ConvertToDirection(_arg1:Number):int{ if (_arg1 == 0){ return (0); }; return ((_arg1 / Math.sqrt((_arg1 * _arg1)))); } public function get StunAnimation():int{ return (_stunAnimation); } public function get GrabbedByPlayer():Boolean{ return (_grabbed_by_player); } public function get MovingDirectionX():int{ return (_movingDirectionX); } public function get RangeWeaponIsFlamethrower():Boolean{ if (CurrentRangeWeapon != null){ if (CurrentRangeWeapon.Properties.WeaponType == "FLAMETHROWER"){ return (true); }; }; return (false); } public function get Kneeling():Boolean{ return (_kneeling); } public function get CharNr():int{ return (_char_nr); } public function set StairVelocityX(_arg1:Number):void{ _stairVelocityX = _arg1; } public function set StairVelocityY(_arg1:Number):void{ _stairVelocityY = _arg1; } public function get BurnState():Number{ if (Gone){ return (0); }; return (_burnState); } public function CancelAFS():void{ CurrentFireFrame = 0; LastFireFrame = 0; if (BackToIdleTimer < 6){ BackToIdleTimer = 6; }; } } }//package Code.Data.Players
Section 103
//PlayerTeamColor (Code.Data.Players.PlayerTeamColor) package Code.Data.Players { public class PlayerTeamColor { public static var TEAM:Array = [[0, 64, 0xFF], [0xFF, 0, 0], [0xFF, 0xFF, 0], [0, 0xFF, 0]]; public static var SOLO:Array = [230, 230, 230]; } }//package Code.Data.Players
Section 104
//WeaponData (Code.Data.Weapons.WeaponData) package Code.Data.Weapons { public class WeaponData { private var w_infinite_ammo:Boolean; private var w_ammo:int; private var w_properties:WeaponProperties; public function WeaponData(_arg1:int, _arg2:WeaponProperties, _arg3:Boolean=false){ w_ammo = _arg1; w_properties = _arg2; w_infinite_ammo = _arg3; } public function set InfiniteAmmo(_arg1:Boolean):void{ w_infinite_ammo = _arg1; } public function get Properties():WeaponProperties{ return (w_properties); } public function get Ammo():int{ if (w_infinite_ammo){ return (99); }; return (w_ammo); } public function get TotalKnockdown():Number{ if (Properties.WeaponType == "FLAMETHROWER"){ return (0); }; return (((Ammo * Properties.Projectile.Properties.PushbackPower) + Properties.Projectile.Properties.CriticalChance)); } public function Copy():WeaponData{ return (new WeaponData(w_ammo, w_properties, w_infinite_ammo)); } public function get CanShootDown():Boolean{ switch (Properties.WeaponType){ case "FLAMETHROWER": return (false); }; return (true); } public function get TotalDamage():Number{ if (Properties.WeaponType == "FLAMETHROWER"){ return ((Ammo * 1)); }; return ((Ammo * Properties.Projectile.AverageDamage)); } public function set Ammo(_arg1:int):void{ if (!(w_infinite_ammo)){ w_ammo = _arg1; }; } } }//package Code.Data.Weapons
Section 105
//WeaponMeleeData (Code.Data.Weapons.WeaponMeleeData) package Code.Data.Weapons { public class WeaponMeleeData { private var t_charges:int; private var t_properties:WeaponMeleeProperties; public function WeaponMeleeData(_arg1:int, _arg2:WeaponMeleeProperties){ t_charges = _arg1; t_properties = _arg2; } public function get TotalDamage():Number{ return (((Properties.HitPunchFrameDamage[0] + Properties.HitPunchFrameDamage[1]) + Properties.HitPunchFrameDamage[2])); } public function get Ammo():int{ return (t_charges); } public function get Properties():WeaponMeleeProperties{ return (t_properties); } public function Copy():WeaponMeleeData{ return (new WeaponMeleeData(t_charges, t_properties)); } public function set Ammo(_arg1:int):void{ t_charges = _arg1; } } }//package Code.Data.Weapons
Section 106
//WeaponMeleeProperties (Code.Data.Weapons.WeaponMeleeProperties) package Code.Data.Weapons { public class WeaponMeleeProperties { public var HitPunchFrameDamage:Array; public var PickupRadius:Number; public var SwingComboEffects:Array; public var PickupSound:String; public var WeaponType:String; public var HitSound:String; public var Range:Array; public var HitMaterialSounds:Array; public var Animation:String; public var HitMaterialEffects:Array; public var SwingComboSounds:Array; } }//package Code.Data.Weapons
Section 107
//WeaponPowerupData (Code.Data.Weapons.WeaponPowerupData) package Code.Data.Weapons { public class WeaponPowerupData { private var t_time:int; private var t_properties:WeaponPowerupProperties; public function WeaponPowerupData(_arg1:int, _arg2:WeaponPowerupProperties){ t_time = _arg1; t_properties = _arg2; } public function get TotalDamage():Number{ return (10); } public function get Ammo():int{ return (t_time); } public function get Properties():WeaponPowerupProperties{ return (t_properties); } public function Copy():WeaponPowerupData{ return (new WeaponPowerupData(t_time, t_properties)); } public function set Ammo(_arg1:int):void{ t_time = _arg1; } } }//package Code.Data.Weapons
Section 108
//WeaponPowerupProperties (Code.Data.Weapons.WeaponPowerupProperties) package Code.Data.Weapons { public class WeaponPowerupProperties { public var PickupSound:String; public var WeaponType:String; public var PickupRadius:Number; } }//package Code.Data.Weapons
Section 109
//WeaponProperties (Code.Data.Weapons.WeaponProperties) package Code.Data.Weapons { import Code.Data.*; public class WeaponProperties { public var BulletType:String; public var Projectile:ProjectileData; public var AnimType:String; public var ShellEffect:String; public var PickupSound:String; public var PickupRadius:Number; public var WeaponType:String; public var WeaponCooldown:int; public var MuzzleFlashEffect:String; public var EmptySound:String; public var AimSound:String; public var LaserDeflection:Number; public var AccuracyDeflection:Number; public var FireSequence:Array; public var LaserSight:Boolean; public var ShootRange:Number; public function WeaponProperties(){ FireSequence = new Array(); super(); } } }//package Code.Data.Weapons
Section 110
//WeaponSequencePart (Code.Data.Weapons.WeaponSequencePart) package Code.Data.Weapons { public class WeaponSequencePart { public var FrameSound:String; public var End:Boolean; public var FrameNr:int; public var Bullets:int; public var UseMuzzleEffect:Boolean; public var UseShellEffect:Boolean; public function WeaponSequencePart(_arg1:int=0, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String="NONE", _arg5:int=1, _arg6:Boolean=false){ Bullets = _arg1; UseMuzzleEffect = _arg2; UseShellEffect = _arg3; FrameSound = _arg4; FrameNr = _arg5; End = _arg6; } } }//package Code.Data.Weapons
Section 111
//WeaponThrowableData (Code.Data.Weapons.WeaponThrowableData) package Code.Data.Weapons { public class WeaponThrowableData { private var t_amount:int; private var t_infinite_ammo:Boolean; private var t_properties:WeaponThrowableProperties; public function WeaponThrowableData(_arg1:int, _arg2:WeaponThrowableProperties, _arg3:Boolean=false){ t_amount = _arg1; t_properties = _arg2; t_infinite_ammo = _arg3; } public function get Properties():WeaponThrowableProperties{ return (t_properties); } public function set InfiniteAmmo(_arg1:Boolean):void{ t_infinite_ammo = _arg1; } public function Copy():WeaponThrowableData{ return (new WeaponThrowableData(t_amount, t_properties, t_infinite_ammo)); } public function get TotalDamage():Number{ switch (Properties.WeaponType){ case "GRENADE": return (20); case "MOLOTOV": return (15); }; return (0); } public function set Ammo(_arg1:int):void{ if (!(t_infinite_ammo)){ t_amount = _arg1; }; } public function get Ammo():int{ if (t_infinite_ammo){ return (99); }; return (t_amount); } } }//package Code.Data.Weapons
Section 112
//WeaponThrowableProperties (Code.Data.Weapons.WeaponThrowableProperties) package Code.Data.Weapons { public class WeaponThrowableProperties { public var ThrowType:String; public var AimSound:String; public var AnimType:String; public var PickupRadius:Number; public var PickupSound:String; public var WeaponType:String; public var ThrowTimer:int; } }//package Code.Data.Weapons
Section 113
//BodyData (Code.Data.BodyData) package Code.Data { import Code.Box2D.Dynamics.*; import Code.Handler.*; import flash.display.*; public class BodyData { private var _can_crush:Boolean;// = false private var _isBulletHazard:Boolean;// = false private var _playerCoverLevel:int;// = 0 protected var _Handler_Deconstructer:Deconstructer; protected var _mc:MovieClip; protected var _resistance_fire:Number; private var _canBlockFire:Boolean;// = false private var _shape_mc:MovieClip; private var _isBurningHazard:Boolean;// = false private var _bulletTransparent:Boolean;// = false private var _isExplosionHazard:Boolean;// = false private var _canBurn:Boolean;// = false protected var _body:b2Body; private var _kickWeightCalculation:Boolean;// = false private var _drawCloudBox:Boolean;// = false private var _onlyBurnWhileWake:Boolean;// = false private var _fireLifeSpan:Number;// = 0 protected var _indestructible:Boolean; private var _objectSmokeGrade:int;// = 0 private var _objectOnFire:Boolean;// = false private var _canKnockDownPlayer:Boolean;// = true protected var _hp_max:Number; private var _canSmoke:Boolean;// = false private var _kickPower:Number;// = 0 private var _ignoreCoverID:int;// = -1 private var _aimTransparent:Boolean;// = false private var _isThrowableFragile:Boolean;// = false public var UserValues:Array;// = null private var _can_gibb:Boolean;// = false private var _isActiveHazard:Boolean;// = false private var _laserVisibleOnObject:Boolean;// = false public var ObjectTimer:Number;// = 0 private var _affectedByExplosions:Boolean;// = false private var _canBlockExplosions:Boolean;// = false private var _player_fragile:Boolean;// = false private var _drawHitBox:Boolean;// = false private var _isHazard:Boolean;// = false protected var _resistance_bullet:Number; private var _lastDamage:int; private var _inPortal:Boolean;// = false private var _crush_damage:Number;// = 0 private var _drawShapeMC:Boolean;// = true private var _isImpactHazard:Boolean;// = false protected var _resistance_explosion:Number; private var _is_glass:Boolean;// = false protected var _resistance_impact:Number; private var _throughPortal:Boolean;// = false private var _botPreferJump:Boolean;// = false private var _isThrowableObject:Boolean;// = false private var _strength:int;// = 10 private var _collision_mc:MovieClip; protected var _hp:Number; private var _player_bounce:Boolean;// = false private var _partOfStaticWorld:Boolean;// = false private var _isElevator:Boolean;// = false private var _canCarryFire:Boolean;// = false private var _laserTransparent:Boolean;// = false public var UpdateFunction:Function; private var _kickable:Boolean;// = false public static var DAMAGE_BULLET:int = 2; public static var DAMAGE_EXPLOSION:int = 3; public static var DAMAGE_FIRE:int = 1; public static var DAMAGE_IMPACT:int = 0; public function BodyData(_arg1:MovieClip, _arg2:Deconstructer, _arg3:Number=50, _arg4:Number=1, _arg5:Number=1, _arg6:Number=1, _arg7:Number=1, _arg8:Boolean=false){ var mc = _arg1; var dec = _arg2; var h = _arg3; var ri = _arg4; var rf = _arg5; var rb = _arg6; var re = _arg7; var ind = _arg8; _drawHitBox = false; _drawCloudBox = false; _drawShapeMC = true; _player_bounce = false; _player_fragile = false; _is_glass = false; _kickable = false; _kickPower = 0; _kickWeightCalculation = false; _can_gibb = false; _can_crush = false; _crush_damage = 0; _canBlockExplosions = false; _affectedByExplosions = false; _canBlockFire = false; _canBurn = false; _canCarryFire = false; _canSmoke = false; _objectOnFire = false; _objectSmokeGrade = 0; _canKnockDownPlayer = true; _playerCoverLevel = 0; _bulletTransparent = false; _aimTransparent = false; _laserTransparent = false; _laserVisibleOnObject = false; _onlyBurnWhileWake = false; _fireLifeSpan = 0; _strength = 10; _inPortal = false; _throughPortal = false; _isHazard = false; _isBurningHazard = false; _isBulletHazard = false; _isImpactHazard = false; _isExplosionHazard = false; _isActiveHazard = false; _isThrowableFragile = false; _isThrowableObject = false; _botPreferJump = false; _partOfStaticWorld = false; _ignoreCoverID = -1; UserValues = null; ObjectTimer = 0; _isElevator = false; super(); _mc = mc; _mc.stop(); _Handler_Deconstructer = dec; _hp = h; _hp_max = hp; _resistance_impact = ri; _resistance_fire = rf; _resistance_bullet = rb; _resistance_explosion = re; _indestructible = ind; _drawHitBox = false; _lastDamage = 0; UserValues = new Array(); UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ }; } public function get CanBeHazard():Boolean{ return (((((((((_isActiveHazard) || (_isBurningHazard))) || (_isBulletHazard))) || (_isImpactHazard))) || (_isExplosionHazard))); } public function set HP(_arg1:Number):void{ _hp = _arg1; } public function get InPortal():Boolean{ return (_inPortal); } public function Damage_Impact(_arg1:Number):void{ _lastDamage = DAMAGE_IMPACT; Damage((_arg1 * _resistance_impact)); } public function SetResistance(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1):void{ _resistance_impact = _arg1; _resistance_fire = _arg2; _resistance_bullet = _arg3; _resistance_explosion = _arg4; } public function get IsBulletHazard():Boolean{ return (_isBulletHazard); } public function get CanCarryFire():Boolean{ return (_canCarryFire); } public function set InPortal(_arg1:Boolean):void{ _inPortal = _arg1; } public function get CollisionMC():MovieClip{ return (_collision_mc); } public function get PartOfStaticWorld():Boolean{ return (_partOfStaticWorld); } public function get ResistanceFire():Number{ return (_resistance_fire); } public function set PartOfStaticWorld(_arg1:Boolean):void{ _partOfStaticWorld = _arg1; } public function set IsBulletHazard(_arg1:Boolean):void{ _isBulletHazard = _arg1; } public function get PlayerFragile():Boolean{ return (_player_fragile); } public function get KickPower():Number{ return (_kickPower); } public function set IsActiveHazard(_arg1:Boolean):void{ _isActiveHazard = _arg1; } public function Damage_Explosion(_arg1:Number):void{ _lastDamage = DAMAGE_EXPLOSION; Damage((_arg1 * _resistance_explosion)); } public function get CanKnockDownPlayer():Boolean{ return (_canKnockDownPlayer); } public function set CanCarryFire(_arg1:Boolean):void{ _canCarryFire = _arg1; } public function set CollisionMC(_arg1:MovieClip):void{ _collision_mc = _arg1; } public function get IsElevator():Boolean{ return (_isElevator); } public function get IsGlass():Boolean{ return (_is_glass); } public function get Strength():int{ return (_strength); } public function get LaserVisibleOnObject():Boolean{ return (_laserVisibleOnObject); } public function get ObjectSmokeGrade():int{ return (_objectSmokeGrade); } public function get AffectedByExplosions():Boolean{ return (_affectedByExplosions); } public function set PlayerFragile(_arg1:Boolean):void{ _player_fragile = _arg1; } public function get CanGibb():Boolean{ return (_can_gibb); } public function get IsBurningHazard():Boolean{ return (_isBurningHazard); } public function set KickPower(_arg1:Number):void{ _kickPower = _arg1; } public function get IsThrowableFragile():Boolean{ return (_isThrowableFragile); } public function set CanKnockDownPlayer(_arg1:Boolean):void{ _canKnockDownPlayer = _arg1; } public function get CanBlockFire():Boolean{ return (_canBlockFire); } public function get CanBlockExplosions():Boolean{ return (_canBlockExplosions); } public function set IsElevator(_arg1:Boolean):void{ _isElevator = _arg1; } public function get Indestructible():Boolean{ return (_indestructible); } public function set IsGlass(_arg1:Boolean):void{ _is_glass = _arg1; } public function get Kickable():Boolean{ return (_kickable); } public function set IsImpactHazard(_arg1:Boolean):void{ _isImpactHazard = _arg1; } public function get IgnoreCoverID():Number{ return (_ignoreCoverID); } public function set Strength(_arg1:int):void{ _strength = _arg1; } public function set BotPreferJump(_arg1:Boolean):void{ _botPreferJump = _arg1; } public function set ObjectSmokeGrade(_arg1:int):void{ _objectSmokeGrade = _arg1; } public function get BulletTransparent():Boolean{ return (_bulletTransparent); } public function set LaserVisibleOnObject(_arg1:Boolean):void{ _laserVisibleOnObject = _arg1; } public function set AffectedByExplosions(_arg1:Boolean):void{ _affectedByExplosions = _arg1; } public function set KickWeightCalculation(_arg1:Boolean):void{ _kickWeightCalculation = _arg1; } public function get ShapeMC():MovieClip{ return (_shape_mc); } public function get DrawCloudBox():Boolean{ return (_drawCloudBox); } public function get IsExplosionHazard():Boolean{ return (_isExplosionHazard); } public function get FireLifeSpan():Number{ return (_fireLifeSpan); } public function set CanGibb(_arg1:Boolean):void{ _can_gibb = _arg1; } public function ForceDestruction():void{ _Handler_Deconstructer.AddBody(_body); _hp = 0; } public function set ThroughPortal(_arg1:Boolean):void{ _throughPortal = _arg1; } public function get AimTransparent():Boolean{ return (_aimTransparent); } public function get PlayerBounce():Boolean{ return (_player_bounce); } public function get DrawShapeMC():Boolean{ return (_drawShapeMC); } public function get ObjectOnFire():Boolean{ return (_objectOnFire); } public function set IsBurningHazard(_arg1:Boolean):void{ _isBurningHazard = _arg1; } public function get OnlyBurnWhileWake():Boolean{ return (_onlyBurnWhileWake); } public function set IsThrowableFragile(_arg1:Boolean):void{ _isThrowableFragile = _arg1; } public function Damage_Fire(_arg1:Number):void{ _lastDamage = DAMAGE_FIRE; Damage((_arg1 * _resistance_fire)); } public function get hp():Number{ return (_hp); } public function get HP():Number{ return (_hp); } public function get IsActiveHazard():Boolean{ return (_isActiveHazard); } public function set CanBlockFire(_arg1:Boolean):void{ _canBlockFire = _arg1; } public function set MC(_arg1:MovieClip):void{ _mc = _arg1; } public function set CanBurn(_arg1:Boolean):void{ _canBurn = _arg1; } public function set CanSmoke(_arg1:Boolean):void{ _canSmoke = _arg1; } public function set Indestructible(_arg1:Boolean):void{ _indestructible = _arg1; } public function set LaserTransparent(_arg1:Boolean):void{ _laserTransparent = _arg1; } public function get IsImpactHazard():Boolean{ return (_isImpactHazard); } public function set CanBlockExplosions(_arg1:Boolean):void{ _canBlockExplosions = _arg1; } public function get BotPreferJump():Boolean{ return (_botPreferJump); } public function get KickWeightCalculation():Boolean{ return (_kickWeightCalculation); } public function get ThroughPortal():Boolean{ return (_throughPortal); } public function set DrawHitBox(_arg1:Boolean):void{ _drawHitBox = _arg1; } public function set IgnoreCoverID(_arg1:Number):void{ _ignoreCoverID = _arg1; } public function set Body(_arg1:b2Body):void{ _body = _arg1; } public function set Kickable(_arg1:Boolean):void{ _kickable = _arg1; } protected function Damage(_arg1:Number):void{ if (!(_indestructible)){ _hp = (_hp - _arg1); if (_hp <= 0){ _Handler_Deconstructer.AddBody(_body); }; }; } public function get MC():MovieClip{ return (_mc); } public function get CanBurn():Boolean{ return (_canBurn); } public function get CanSmoke():Boolean{ return (_canSmoke); } public function set BulletTransparent(_arg1:Boolean):void{ _bulletTransparent = _arg1; } public function set DrawCloudBox(_arg1:Boolean):void{ _drawCloudBox = _arg1; } public function get LaserTransparent():Boolean{ return (_laserTransparent); } public function set FireLifeSpan(_arg1:Number):void{ _fireLifeSpan = _arg1; } public function set IsExplosionHazard(_arg1:Boolean):void{ _isExplosionHazard = _arg1; } public function set ShapeMC(_arg1:MovieClip):void{ _shape_mc = _arg1; } public function get DrawHitBox():Boolean{ return (_drawHitBox); } public function get LastDamage():int{ return (_lastDamage); } public function get Body():b2Body{ return (_body); } public function set PlayerBounce(_arg1:Boolean):void{ _player_bounce = _arg1; } public function set CrushDamage(_arg1:Number):void{ _crush_damage = _arg1; } public function Damage_Bullet(_arg1:Number):void{ _lastDamage = DAMAGE_BULLET; Damage((_arg1 * _resistance_bullet)); } public function set AimTransparent(_arg1:Boolean):void{ _aimTransparent = _arg1; } public function set PlayerCoverLevel(_arg1:int):void{ _playerCoverLevel = _arg1; } public function set IsThrowableObject(_arg1:Boolean):void{ _isThrowableObject = _arg1; } public function set DrawShapeMC(_arg1:Boolean):void{ _drawShapeMC = _arg1; } public function get PlayerCoverLevel():int{ return (_playerCoverLevel); } public function set ObjectOnFire(_arg1:Boolean):void{ _objectOnFire = _arg1; if (_objectOnFire){ _objectSmokeGrade = 0; }; } public function get CrushDamage():Number{ return (_crush_damage); } public function set OnlyBurnWhileWake(_arg1:Boolean):void{ _onlyBurnWhileWake = _arg1; } public function get IsThrowableObject():Boolean{ return (_isThrowableObject); } public function get IsHazard():Boolean{ if (_isActiveHazard){ return (true); }; if (((_isBurningHazard) && (_objectOnFire))){ return (true); }; if (((_isImpactHazard) && (!(_body.IsSleeping())))){ return (true); }; return (false); } } }//package Code.Data
Section 114
//BodyDataExplosiveBarrel (Code.Data.BodyDataExplosiveBarrel) package Code.Data { import flash.display.*; import Code.Handler.*; import Code.Box2D.Dynamics.*; public class BodyDataExplosiveBarrel extends BodyData { public function BodyDataExplosiveBarrel(_arg1:MovieClip, _arg2:Deconstructer, _arg3:Number=50, _arg4:Number=1, _arg5:Number=1, _arg6:Number=1, _arg7:Number=1, _arg8:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); UserValues = new Array(0, 0); } override protected function Damage(_arg1:Number):void{ var dmg = _arg1; if (!(_indestructible)){ HP = (HP - dmg); if ((((HP <= 0)) && ((UserValues[0] == 0)))){ _mc.gotoAndStop(2); UserValues[0] = 1; UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ UserValues[1] = (UserValues[1] + _arg2); if (UserValues[1] >= 1){ _Handler_Deconstructer.AddBody(_body); }; }; }; }; } override public function ForceDestruction():void{ HP = 0; if ((((HP <= 0)) && ((UserValues[0] == 0)))){ _mc.gotoAndStop(2); UserValues[0] = 1; UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ UserValues[1] = (UserValues[1] + _arg2); if (UserValues[1] >= 1){ _Handler_Deconstructer.AddBody(_body); }; }; }; } } }//package Code.Data
Section 115
//ButtonData (Code.Data.ButtonData) package Code.Data { public class ButtonData { public var OnActivation:Function; public var Enabled:Boolean;// = true public var OnActivationSound:String;// = "" public function ButtonData(){ OnActivationSound = ""; Enabled = true; super(); OnActivation = function ():void{ }; } public function Activate():void{ OnActivation(); } } }//package Code.Data
Section 116
//Challenges (Code.Data.Challenges) package Code.Data { import Code.Data.Players.*; public class Challenges { public static var CHALLENGE_1P:Array = [[3, BotState.EASY], [2, BotState.MEDIUM], [4, BotState.EASY, BotState.EASY], [5, BotState.MEDIUM, BotState.EASY], [3, BotState.MEDIUM, BotState.EASY], [2, BotState.HARD], [4, BotState.MEDIUM, BotState.MEDIUM], [5, BotState.EASY, BotState.EASY, BotState.EASY], [3, BotState.MEDIUM, BotState.EASY, BotState.EASY], [2, BotState.HARD, BotState.EASY], [4, BotState.HARD, BotState.MEDIUM, BotState.EASY], [5, BotState.HARD, BotState.MEDIUM, BotState.MEDIUM, BotState.EASY]]; public static var CHALLENGE:Array = [CHALLENGE_1P, CHALLENGE_1P]; } }//package Code.Data
Section 117
//ContactData (Code.Data.ContactData) package Code.Data { import Code.Handler.*; public class ContactData { public var Handler_Effects:Effects; public var Handler_Deconstructer:Deconstructer; public var Handler_Output:OutputTrace; public var Handler_Sounds:Sounds; public var game_speed:Number;// = 1 public function ContactData(){ game_speed = 1; super(); } } }//package Code.Data
Section 118
//ExplosionData (Code.Data.ExplosionData) package Code.Data { import Code.Box2D.Dynamics.*; import flash.display.*; import Code.Handler.*; public class ExplosionData { public var m_world:b2World; public var dynamic_mc:MovieClip; public var Handler_Effects:Effects; public var static_mc:MovieClip; public var Handler_Shake:Shake; public var Handler_Camera:Cam; public var Handler_Output:OutputTrace; public var Handler_Slowmo:Slowmo; public var Handler_Sounds:Sounds; public var Handler_Players:PlayersKeeper; } }//package Code.Data
Section 119
//FireNodeData (Code.Data.FireNodeData) package Code.Data { import Code.Box2D.Dynamics.*; import Code.Box2D.Common.Math.*; import flash.display.*; import Code.Handler.*; import Code.Particles.*; import Code.Data.Players.*; public class FireNodeData { private var _b2BodyBurning:b2Body;// = null private var _Handler_Effects:Effects; private var _ownerResetTimer:Number; private var _passCloud:Number;// = 0 private var _onlyBurnWakeTimer:Number;// = 0 private var _lastEffectX:Number; private var _lastEffectY:Number; private var _owner:int;// = -1 private var _velX:Number; private var _velY:Number; private var _b2BodyLocalPosition:b2Vec2; private var _slowingDown:Boolean;// = true private var _lifeSpan:Number;// = 10 private var _air_mc:MovieClip; private var _currentFrame:Number; private var _playerBurnLevel:int;// = 0 private var _fire_area_mc:MovieClip; private var _playerBurnTarget:Player;// = null private var _posX:Number; private var _playerNr:int;// = -1 private var _inAir:Boolean;// = true private var _posY:Number; private var _b2Body:b2Body;// = null private var _air_mc_removed:Boolean;// = false private var _burn_timer:Number; private var _fire_node_done:Boolean;// = false private var _effect_timer:Number;// = 0 private var _fireType:int;// = 0 public function FireNodeData(_arg1:Effects, _arg2:MovieClip, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:int=-1, _arg9:int=0){ _fire_node_done = false; _inAir = true; _air_mc_removed = false; _effect_timer = 0; _b2Body = null; _b2BodyBurning = null; _playerBurnTarget = null; _playerNr = -1; _playerBurnLevel = 0; _lifeSpan = 10; _slowingDown = true; _owner = -1; _fireType = 0; _onlyBurnWakeTimer = 0; _passCloud = 0; super(); _Handler_Effects = _arg1; _burn_timer = _arg3; _posX = _arg4; _posY = _arg5; _velX = _arg6; _velY = _arg7; _lastEffectX = _posX; _lastEffectY = _posY; _owner = _arg8; _ownerResetTimer = 24; _fireType = _arg9; _currentFrame = 0; _effect_timer = (Math.random() * 3); _fire_area_mc = new MovieClip(); _fire_area_mc.graphics.lineStyle(1, 0xFFFF00, 1, false, "none"); _fire_area_mc.graphics.beginFill(0xFFFF00, 0.4); _fire_area_mc.graphics.drawCircle(0, 0, 5); _fire_area_mc.graphics.endFill(); _arg2.addChild(_fire_area_mc); _fire_area_mc.x = _posX; _fire_area_mc.y = _posY; _passCloud = 0; switch (_fireType){ case 0: _air_mc = new fire_effect_air(); break; case 1: _air_mc = new fire_effect_flamethrower_air(); _passCloud = 8; break; default: _air_mc = new fire_effect_air(); break; }; _Handler_Effects.EffectMCFront.addChild(_air_mc); _air_mc_removed = false; } public function get VelY():Number{ return (_velY); } public function get SlowingDown():Boolean{ return (_slowingDown); } public function get PassCloud():Boolean{ return ((_passCloud > 0)); } public function get PlayerNR():int{ return (_playerNr); } public function set PosY(_arg1:Number):void{ _posY = _arg1; } public function get FireArea():MovieClip{ if (_lifeSpan > 6){ return (_fire_area_mc); }; return (new MovieClip()); } public function FollowBody(_arg1:b2Body, _arg2:b2Vec2):void{ var _local3:b2Vec2; _b2Body = _arg1; _b2BodyLocalPosition = _arg2; _b2BodyBurning = null; _playerBurnTarget = null; _playerNr = -1; _local3 = _b2Body.GetWorldPoint(_b2BodyLocalPosition); _posX = (_local3.x * 30); _posY = (_local3.y * 30); _lastEffectX = _posX; _lastEffectY = _posY; _inAir = false; if (!(_air_mc_removed)){ _air_mc.parent.removeChild(_air_mc); _air_mc_removed = true; }; } public function get BurnTimer():Number{ return (_burn_timer); } public function set VelX(_arg1:Number):void{ _velX = _arg1; } private function AddEffectGround(_arg1:Boolean=false):void{ var _local2:Number; var _local3:Number; _lastEffectX = _posX; _lastEffectY = _posY; if ((((_fireType == 1)) && ((_currentFrame <= (_air_mc.totalFrames - 2))))){ _Handler_Effects.AddParticle(new particle_data("FIRE_FLAMETHROWER", ((_posX + (Math.random() * 6)) - 3), (_posY + Math.random()), new b2Vec2(_velX, _velY))); } else { _Handler_Effects.AddParticle(new particle_data("fire", ((_posX + (Math.random() * 6)) - 3), (_posY + Math.random()))); }; if (_arg1){ if (Math.random() < 0.4){ _local2 = ((_posX + (Math.random() * 6)) - 3); _local3 = (_posY + Math.random()); _Handler_Effects.AddParticle(new particle_data("fireground", _local2, _local3)); if (Math.random() <= 0.5){ _Handler_Effects.AddParticle(new particle_data("smoke_fire", _local2, _local3)); }; }; }; } public function get Owner():int{ return (_owner); } public function get VelX():Number{ return (_velX); } public function get CanBeMerged():Boolean{ if (_inAir){ return (false); }; if (_playerBurnTarget != null){ return (false); }; return (true); } public function set InAir(_arg1:Boolean):void{ _inAir = _arg1; } public function get PosX():Number{ return (_posX); } public function set BurnTimer(_arg1:Number):void{ _burn_timer = _arg1; } public function BurnPlayer(_arg1:Player, _arg2:int, _arg3:int):void{ _b2Body = null; _b2BodyBurning = null; _playerBurnTarget = _arg1; _playerNr = _arg2; _playerBurnLevel = _arg3; _inAir = false; if (!(_air_mc_removed)){ _air_mc.parent.removeChild(_air_mc); _air_mc_removed = true; }; if (_playerBurnLevel == 1){ _fire_area_mc.graphics.clear(); _fire_area_mc.graphics.lineStyle(1, 0xFFFF00, 1, false, "none"); _fire_area_mc.graphics.beginFill(0xFFFF00, 0.4); _fire_area_mc.graphics.moveTo(-4, 8); _fire_area_mc.graphics.lineTo(-4, -8); _fire_area_mc.graphics.lineTo(4, -8); _fire_area_mc.graphics.lineTo(4, 8); _fire_area_mc.graphics.lineTo(4, 8); _fire_area_mc.graphics.endFill(); } else { if (_playerBurnLevel == 2){ _fire_area_mc.graphics.clear(); _fire_area_mc.addChild(new fire_big()); }; }; _posX = _playerBurnTarget.MidPosX(); _posY = _playerBurnTarget.MidPosY(); _lastEffectX = _posX; _lastEffectY = _posY; UpdateMC(); } public function BurnBody(_arg1:b2Body):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:b2Vec2; _b2BodyBurning = _arg1; _b2Body = null; _playerBurnTarget = null; _playerNr = -1; _local2 = _arg1.m_userData.objectData.ShapeMC.width; _local3 = _arg1.m_userData.objectData.ShapeMC.height; _local4 = (Math.sqrt(((_local2 * _local2) + (_local3 * _local3))) / 2); if (_local4 < 5){ _local4 = 5; }; _fire_area_mc.graphics.clear(); _fire_area_mc.graphics.lineStyle(1, 0xFFFF00, 1, false, "none"); _fire_area_mc.graphics.beginFill(0xFFFF00, 0.4); _fire_area_mc.graphics.drawCircle(0, 0, _local4); _fire_area_mc.graphics.endFill(); _local5 = _b2BodyBurning.GetWorldPoint(new b2Vec2(0, 0)); _posX = (_local5.x * 30); _posY = (_local5.y * 30); _lastEffectX = _posX; _lastEffectY = _posY; UpdateMC(); _lifeSpan = 0; _inAir = false; if (!(_air_mc_removed)){ _air_mc.parent.removeChild(_air_mc); _air_mc_removed = true; }; } public function get PosY():Number{ return (_posY); } public function UpdateMC():void{ _fire_area_mc.x = _posX; _fire_area_mc.y = _posY; } public function get FireNodeCompleted():Boolean{ return (_fire_node_done); } public function set SlowingDown(_arg1:Boolean):void{ _slowingDown = _arg1; } public function get InAir():Boolean{ return (_inAir); } public function set PosX(_arg1:Number):void{ _posX = _arg1; } public function get TotalVel():Number{ return (Math.sqrt(((_velY * _velY) + (_velX * _velX)))); } public function End():void{ if (!(_air_mc_removed)){ _air_mc.parent.removeChild(_air_mc); _air_mc_removed = true; }; _fire_area_mc.parent.removeChild(_fire_area_mc); _fire_node_done = true; } public function Update(_arg1:Number):void{ var _local2:b2Vec2; if (_passCloud > 0){ _passCloud = (_passCloud - _arg1); }; if (_playerBurnTarget != null){ if (_playerBurnTarget.State.IgnoreMe){ _burn_timer = 0; }; if ((((_playerBurnLevel == 1)) && ((_playerBurnTarget.State.BurnState < _playerBurnTarget.State.FireRank1Minimum)))){ _playerBurnTarget.State.FireRank1Attached = false; _burn_timer = 0; }; if ((((_playerBurnLevel == 2)) && ((_playerBurnTarget.State.BurnState < _playerBurnTarget.State.FireRank2Minimum)))){ _playerBurnTarget.State.FireRank2Attached = false; _burn_timer = 0; }; if (_playerBurnTarget.State.BurnState > 0){ _playerBurnTarget.FireContact(); _posX = _playerBurnTarget.MidPosX(); _posY = _playerBurnTarget.MidPosY(); UpdateMC(); _effect_timer = (_effect_timer - _arg1); if (_effect_timer <= 0){ AddEffectPlayer(); _effect_timer = 3; } else { if (EffectDistancePass(4)){ AddEffectPlayer(); _effect_timer = 3; }; }; }; } else { if (_b2BodyBurning != null){ _local2 = _b2BodyBurning.GetWorldPoint(new b2Vec2(0, 0)); _posX = (_local2.x * 30); _posY = (_local2.y * 30); UpdateMC(); _lifeSpan = (_lifeSpan + _arg1); _effect_timer = (_effect_timer - _arg1); if (_effect_timer <= 0){ AddEffectDynamic(); _effect_timer = (2 + Math.random()); } else { if (EffectDistancePass(4)){ AddEffectDynamic(4); _effect_timer = (3 + (Math.random() * 2)); }; }; if (_b2BodyBurning.m_userData.destroyed == true){ _burn_timer = 0; } else { _b2BodyBurning.m_userData.objectData.Damage_Fire(_arg1); if (_b2BodyBurning.m_userData.objectData.OnlyBurnWhileWake){ if (_b2BodyBurning.IsSleeping()){ _burn_timer = 0; _b2BodyBurning.m_userData.objectData.ObjectOnFire = false; } else { if (_onlyBurnWakeTimer < 10){ if (Math.abs(_b2BodyBurning.GetLinearVelocity().LengthSquared()) < 0.1){ _onlyBurnWakeTimer = (_onlyBurnWakeTimer + _arg1); if (_onlyBurnWakeTimer >= 10){ _burn_timer = 0; _b2BodyBurning.m_userData.objectData.ObjectOnFire = false; }; }; } else { _onlyBurnWakeTimer = 0; }; }; } else { if ((((_lifeSpan > _b2BodyBurning.m_userData.objectData.FireLifeSpan)) && ((_b2BodyBurning.m_userData.objectData.FireLifeSpan > 0)))){ _burn_timer = 0; _b2BodyBurning.m_userData.objectData.ObjectOnFire = false; }; }; }; } else { _burn_timer = (_burn_timer - _arg1); if (_b2Body != null){ _local2 = _b2Body.GetWorldPoint(_b2BodyLocalPosition); _posX = (_local2.x * 30); _posY = (_local2.y * 30); UpdateMC(); _effect_timer = (_effect_timer - _arg1); if (_effect_timer <= 0){ AddEffectGround(!(_inAir)); _effect_timer = (3 + (Math.random() * 2)); } else { if (EffectDistancePass(5)){ AddEffectGround(); _effect_timer = (3 + (Math.random() * 2)); }; }; } else { _effect_timer = (_effect_timer - _arg1); if (_effect_timer <= 0){ AddEffectGround(!(_inAir)); _effect_timer = (3 + (Math.random() * 2)); } else { if (_inAir){ if (EffectDistancePass(4)){ AddEffectGround(); }; }; }; }; }; }; if (!(_air_mc_removed)){ if (!(_inAir)){ _air_mc.parent.removeChild(_air_mc); _air_mc_removed = true; _fireType = 0; _ownerResetTimer = 0; _owner = -1; } else { _air_mc.x = _posX; _air_mc.y = _posY; if (_fireType == 1){ _currentFrame = (_currentFrame + _arg1); _air_mc.gotoAndStop(Math.ceil(_currentFrame)); }; }; } else { if (_ownerResetTimer > 0){ _ownerResetTimer = (_ownerResetTimer - _arg1); if (_ownerResetTimer <= 0){ _ownerResetTimer = 0; _owner = -1; }; }; }; if (_burn_timer <= 0){ End(); }; } private function EffectDistancePass(_arg1:Number):Boolean{ var _local2:Number; var _local3:Number; _local2 = (_lastEffectX - _posX); _local3 = (_lastEffectY - _posY); if (Math.sqrt(((_local2 * _local2) + (_local3 * _local3))) > _arg1){ return (true); }; return (false); } public function set VelY(_arg1:Number):void{ _velY = _arg1; } public function get IsFlamethrower():Boolean{ return ((_fireType == 1)); } private function AddEffectPlayer():void{ _lastEffectX = _posX; _lastEffectY = _posY; _Handler_Effects.AddParticle(new particle_data("fire", ((_playerBurnTarget.MidPosX() + (Math.random() * 8)) - 4), ((_playerBurnTarget.MidPosY() + (Math.random() * 12)) - 6))); } private function AddEffectDynamic(_arg1:int=0):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; if (_arg1 == 0){ _local2 = ((Math.random() * _b2BodyBurning.m_userData.objectData.ShapeMC.width) - (_b2BodyBurning.m_userData.objectData.ShapeMC.width / 2)); _local3 = ((Math.random() * _b2BodyBurning.m_userData.objectData.ShapeMC.height) - (_b2BodyBurning.m_userData.objectData.ShapeMC.height / 2)); _Handler_Effects.AddParticle(new particle_data("fire", (_posX + (_local2 * 0.9)), (_posY + (_local3 * 0.9)))); } else { if (!(_b2BodyBurning.m_userData.objectData.ThroughPortal)){ _local4 = (_posX - _lastEffectX); _local5 = (_posY - _lastEffectY); _local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); _local7 = (_local4 / _local6); _local8 = (_local5 / _local6); _local9 = _arg1; while (_local9 <= _local6) { _local2 = ((Math.random() * _b2BodyBurning.m_userData.objectData.ShapeMC.width) - (_b2BodyBurning.m_userData.objectData.ShapeMC.width / 2)); _local3 = ((Math.random() * _b2BodyBurning.m_userData.objectData.ShapeMC.height) - (_b2BodyBurning.m_userData.objectData.ShapeMC.height / 2)); _Handler_Effects.AddParticle(new particle_data("fire", ((_posX + (_local7 * _local9)) + (_local2 * 0.9)), ((_posY + (_local8 * _local9)) + (_local3 * 0.9)))); _local9 = (_local9 + _arg1); }; } else { _b2BodyBurning.m_userData.objectData.ThroughPortal = false; }; }; _lastEffectX = _posX; _lastEffectY = _posY; } } }//package Code.Data
Section 120
//GameMainData (Code.Data.GameMainData) package Code.Data { import flash.display.*; import Code.Handler.*; public class GameMainData { public var game_mc:MovieClip; public var Handler_Options:Options; public var stage_temp; public var Handler_Output:OutputTrace; public var Handler_Sounds:Sounds; } }//package Code.Data
Section 121
//MapGraphic (Code.Data.MapGraphic) package Code.Data { import flash.display.*; public class MapGraphic { private var clips:Array; public function MapGraphic(){ clips = new Array(); } public function Update(_arg1:Number):void{ var _local2:int; _local2 = 0; while (_local2 < clips.length) { clips[_local2][1] = (clips[_local2][1] + _arg1); if (clips[_local2][1] >= (MovieClip(clips[_local2][0]).totalFrames + 1)){ clips[_local2][1] = (clips[_local2][1] - MovieClip(clips[_local2][0]).totalFrames); }; MovieClip(clips[_local2][0]).gotoAndStop(Math.floor(clips[_local2][1])); _local2++; }; } public function AddMC(_arg1:MovieClip):void{ clips.push([_arg1, 1]); } } }//package Code.Data
Section 122
//MapLogic (Code.Data.MapLogic) package Code.Data { import flash.utils.*; public class MapLogic { public var OnUpdate:Function; private var refireInterval:int;// = 1000 private var started:Boolean;// = false private var updateTimer:Number; public function MapLogic(){ started = false; refireInterval = 1000; super(); OnUpdate = function ():void{ }; } public function Start():void{ if (started){ Stop(); }; updateTimer = setInterval(OnUpdate, refireInterval); started = true; } public function set RefireInterval(_arg1:int):void{ refireInterval = _arg1; if (started){ Start(); }; } public function Stop():void{ clearInterval(updateTimer); started = false; } public function get RefireInterval():int{ return (refireInterval); } } }//package Code.Data
Section 123
//MaterialData (Code.Data.MaterialData) package Code.Data { public class MaterialData { private var _bullet_hit_sound:String;// = "" private var _material_type:String;// = "" private var _impact_conditions:Array; private var _bullet_hit_effect:String;// = "" private var _friction:Number;// = 0 private var _density:Number;// = 0 private var _impact_effect:String;// = "" private var _bounce_impact_sound:String;// = "" private var _restitution:Number;// = 0 public function MaterialData(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Array, _arg7:String, _arg8:String, _arg9:String){ _material_type = ""; _density = 0; _friction = 0; _restitution = 0; _impact_effect = ""; _bullet_hit_effect = ""; _bullet_hit_sound = ""; _bounce_impact_sound = ""; super(); _material_type = _arg1.toUpperCase(); _density = _arg2; _friction = _arg3; _restitution = _arg4; _impact_effect = _arg5.toUpperCase(); _impact_conditions = _arg6; _bullet_hit_effect = _arg7.toUpperCase(); _bullet_hit_sound = _arg8.toUpperCase(); _bounce_impact_sound = _arg9.toUpperCase(); } public function get BulletHitEffect():String{ return (_bullet_hit_effect); } public function set BulletHitEffect(_arg1:String):void{ _bullet_hit_effect = _arg1; } public function get Density():Number{ return (_density); } public function set BounceImpactSound(_arg1:String):void{ _bounce_impact_sound = _arg1; } public function set Density(_arg1:Number):void{ _density = _arg1; } public function get Restitution():Number{ return (_restitution); } public function set Restitution(_arg1:Number):void{ _restitution = _arg1; } public function ImpactEffectConditionFullfilled(_arg1:String):Boolean{ var _local2:int; if (_impact_conditions[0] == "ANYTHING"){ return (true); }; _local2 = 0; while (_local2 < _impact_conditions.length) { if (_impact_conditions[_local2] == _arg1){ return (true); }; _local2++; }; return (false); } public function get ImpactEffect():String{ return (_impact_effect); } public function get Type():String{ return (_material_type); } public function get Friction():Number{ return (_friction); } public function get BounceImpactSound():String{ return (_bounce_impact_sound); } public function Copy():MaterialData{ return (new MaterialData(_material_type, _density, _friction, _restitution, _impact_effect, _impact_conditions, _bullet_hit_effect, _bullet_hit_sound, _bounce_impact_sound)); } public function set Type(_arg1:String):void{ _material_type = _arg1; } public function set ImpactEffect(_arg1:String):void{ _impact_effect = _arg1; } public function set Friction(_arg1:Number):void{ _friction = _arg1; } public function set BulletHitSound(_arg1:String):void{ _bullet_hit_sound = _arg1; } public function get BulletHitSound():String{ return (_bullet_hit_sound); } } }//package Code.Data
Section 124
//MaterialsData (Code.Data.MaterialsData) package Code.Data { public class MaterialsData { private var _metal:MaterialData; private var _wood:MaterialData; private var _paper:MaterialData; private var _spark:MaterialData; private var _beachball:MaterialData; private var _ragdoll:MaterialData; private var _ground:MaterialData; private var _shell:MaterialData; private var _electric_lamp:MaterialData; private var _glass:MaterialData; public function MaterialsData(){ _wood = new MaterialData("wood", 3, 0.6, 0.3, "wood", ["ANYTHING"], "BULLET_HITDEFAULT", "BULLET_HITWOOD", ""); _metal = new MaterialData("metal", 10, 0.4, 0.1, "metal", ["METAL"], "BULLET_HITMETAL", "BULLET_HITMETAL", ""); _paper = new MaterialData("paper", 5, 0.6, 0.1, "PAPER_HIT", ["ANYTHING"], "PAPER_HIT", "BULLET_HITDEFAULT", ""); _shell = new MaterialData("shell", 10, 0.4, 0.1, "", [""], "", "", "SHELLBOUNCE"); _ground = new MaterialData("ground", 1, 0.5, 0.2, "", [""], "BULLET_HITDEFAULT", "BULLET_HITDEFAULT", ""); _ragdoll = new MaterialData("ragdoll", 10, 0.4, 0.1, "PARTICLE_BLOOD", ["ANYTHING"], "PARTICLE_BLOOD", "BULLET_HITFLESH", ""); _glass = new MaterialData("glass", 3, 0.4, 0.2, "", [""], "", "", ""); _beachball = new MaterialData("beachball", 0.6, 0.4, 0.7, "", [""], "BULLET_HITDEFAULT", "BULLET_HITDEFAULT", ""); _electric_lamp = new MaterialData("electric_lamp", 3, 0.4, 0.2, "", [""], "ELECTRIC_SPARK", "ELECTRIC_SPARK", ""); _spark = new MaterialData("spark", 1, 0.1, 1, "", [""], "", "", ""); super(); } public function get Beachball():MaterialData{ return (_beachball.Copy()); } public function get Ragdoll():MaterialData{ return (_ragdoll.Copy()); } public function get Spark():MaterialData{ return (_spark.Copy()); } public function get Wood():MaterialData{ return (_wood.Copy()); } public function get Glass():MaterialData{ return (_glass.Copy()); } public function get Shell():MaterialData{ return (_shell.Copy()); } public function get Metal():MaterialData{ return (_metal.Copy()); } public function get Paper():MaterialData{ return (_paper.Copy()); } public function get Ground():MaterialData{ return (_ground.Copy()); } public function get ElectricLamp():MaterialData{ return (_electric_lamp.Copy()); } } }//package Code.Data
Section 125
//MenuMainData (Code.Data.MenuMainData) package Code.Data { import Code.Handler.*; import flash.display.*; public class MenuMainData { public var Handler_GameMain:GameMain; public var game_mc:MovieClip; public var Handler_Options:Options; public var stage_temp; public var Handler_Output:OutputTrace; public var Handler_Sounds:Sounds; } }//package Code.Data
Section 126
//NewGameData (Code.Data.NewGameData) package Code.Data { import Code.Data.Players.*; public class NewGameData { public var newScore:Boolean; public var showTips:Boolean; public var gamePosX:Number; public var gamePosY:Number; public var challengeNr:int; public var lvl:Number; public var isTutorial:Boolean; public var isMenuDemo:Boolean; public var gameMode:int; public var pSetupData:PlayerSetupData; public var gameScale:Number; } }//package Code.Data
Section 127
//PathBind (Code.Data.PathBind) package Code.Data { public class PathBind { private var _id:String; private var _targetNode:PathNode; private var _distance:Number; private var _sourceNode:PathNode; private var _movementType:int; private var _blocked:Boolean; private var _bindType:int; public static const ROAD:int = 3; public static const SPRINTJUMP:int = 5; public static const LADDER:int = 8; public static const ROLL:int = 10; public static const PORTAL:int = 9; public static const STATIC:int = 0; public static const DIVE:int = 7; public static const JUMP:int = 4; public static const CLOUDDOWN:int = 6; public static const DYNAMIC:int = 1; public function PathBind(_arg1:String, _arg2:PathNode, _arg3:PathNode, _arg4:int, _arg5:int){ _id = _arg1; _sourceNode = _arg2; _targetNode = _arg3; _bindType = _arg4; _movementType = _arg5; _blocked = false; CalcDistance(); } private function CalcDistance():void{ if (_movementType == PORTAL){ _distance = 0; return; }; _distance = Math.sqrt((Math.pow((SourceNode.PosY - TargetNode.PosY), 2) + Math.pow((SourceNode.PosX - TargetNode.PosX), 2))); if (_movementType == LADDER){ _distance = (_distance * 1.5); }; } public function get Blocked():Boolean{ return (_blocked); } public function get TargetNode():PathNode{ return (_targetNode); } public function get Distance():Number{ if (_bindType == DYNAMIC){ CalcDistance(); }; return (_distance); } public function set Blocked(_arg1:Boolean):void{ _blocked = _arg1; } public function set MovementType(_arg1:int):void{ _movementType = _arg1; } public function get ID():String{ return (_id); } public function get SourceNode():PathNode{ return (_sourceNode); } public function set TargetNode(_arg1:PathNode):void{ _targetNode = _arg1; CalcDistance(); } public function set SourceNode(_arg1:PathNode):void{ _sourceNode = _arg1; CalcDistance(); } public function get MovementType():int{ return (_movementType); } public function set BindType(_arg1:int):void{ _bindType = _arg1; if (_bindType == STATIC){ CalcDistance(); }; } public function TargetNodeCloseEnough():Boolean{ var _local1:Boolean; var _local2:Number; var _local3:Number; if (_bindType == STATIC){ return (true); }; _local1 = true; _local2 = Math.abs((SourceNode.PosX - (TargetNode.PosX + (TargetNode.SpeedX * 2)))); _local3 = Math.abs((SourceNode.PosY - TargetNode.PosY)); if ((((TargetNode.SpeedY < 0)) && (((TargetNode.PosY + 4) < SourceNode.PosY)))){ _local1 = false; }; if ((((((SourceNode.SpeedX > 0.1)) && ((TargetNode.PosX < SourceNode.PosX)))) || ((((SourceNode.SpeedX < -0.1)) && ((TargetNode.PosX > SourceNode.PosX)))))){ _local1 = false; }; switch (_movementType){ case ROAD: if (!(_local1)){ return (false); }; if ((((_local2 < 20)) && ((_local3 < 20)))){ return (true); }; break; case JUMP: if (!(_local1)){ return (false); }; if ((((_local2 < 20)) && ((_local3 <= 22)))){ return (true); }; break; case SPRINTJUMP: if (!(_local1)){ return (false); }; if ((((_local2 < 60)) && ((_local3 <= 22)))){ return (true); }; break; case CLOUDDOWN: if ((((_local2 < 20)) && ((_local3 < 30)))){ return (true); }; break; case DIVE: if ((((_local2 < 100)) && ((_local3 < 100)))){ return (true); }; break; case LADDER: if ((((_local2 < 20)) && ((_local3 < 20)))){ return (true); }; break; case PORTAL: if ((((_local2 < 20)) && ((_local3 < 20)))){ return (true); }; break; case ROLL: if ((((_local2 < 20)) && ((_local3 < 20)))){ return (true); }; break; }; return (false); } public function get BindType():int{ return (_bindType); } } }//package Code.Data
Section 128
//PathNode (Code.Data.PathNode) package Code.Data { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; public class PathNode { private var _parentBody:b2Body; private var _inFire:Boolean; private var _locked:Boolean; private var _activatorID:String; private var _isHazard:Boolean; private var _id:String; private var _listIndex:int;// = -1 private var _binds:Array; private var _parentBodyLocation:b2Vec2; private var _posX:Number; private var _posY:Number; private var _isEndNode:Boolean; public function PathNode(_arg1:String, _arg2:Number, _arg3:Number, _arg4:String, _arg5:b2Body){ var _local6:b2Vec2; _listIndex = -1; super(); _id = _arg1.toUpperCase(); _posX = _arg2; _posY = _arg3; _activatorID = _arg4; _parentBody = _arg5; _inFire = false; _isHazard = false; _locked = false; _isEndNode = true; _binds = new Array(); if (_parentBody != null){ _local6 = new b2Vec2((_arg2 / 30), (_arg3 / 30)); _parentBodyLocation = _parentBody.GetLocalPoint(_local6); }; } public function RemoveBind(_arg1:PathBind):void{ var _local2:int; _local2 = (_binds.length - 1); while (_local2 >= 0) { if (_binds[_local2] == _arg1){ _binds.splice(_local2, 1); }; _local2--; }; } public function UpdateIsEndNode():void{ var _local1:int; _isEndNode = false; _local1 = (_binds.length - 1); while (_local1 >= 0) { if (_binds[_local1].MovementType != PathBind.PORTAL){ _isEndNode = true; return; }; _local1--; }; } public function get ParentBody():b2Body{ return (_parentBody); } public function get SpeedX():Number{ if (_parentBody != null){ return (_parentBody.GetLinearVelocity().x); }; return (0); } public function get SpeedY():Number{ if (_parentBody != null){ return (_parentBody.GetLinearVelocity().y); }; return (0); } public function set ParentBody(_arg1:b2Body):void{ _parentBody = _arg1; } public function get ID():String{ return (_id); } public function set ActivatorID(_arg1:String):void{ _activatorID = _arg1; } public function get InFire():Boolean{ return (_inFire); } public function get PosX():Number{ return (_posX); } public function get PosY():Number{ return (_posY); } public function GetDistanceTo(_arg1:Number, _arg2:Number):Number{ var _local3:Number; var _local4:Number; _local3 = (_posX - _arg1); _local4 = (_posY - _arg2); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public function get Speed():b2Vec2{ if (_parentBody != null){ return (_parentBody.GetLinearVelocity()); }; return (new b2Vec2(0, 0)); } public function set IsEndNode(_arg1:Boolean):void{ _isEndNode = _arg1; } public function set InFire(_arg1:Boolean):void{ _inFire = _arg1; } public function get Locked():Boolean{ return (_locked); } public function get Binds():Array{ return (_binds); } public function get ListIndex():int{ return (_listIndex); } public function get ActivatorID():String{ return (_activatorID); } public function get IsEndNode():Boolean{ return (_isEndNode); } public function set Locked(_arg1:Boolean):void{ _locked = _arg1; } public function get Avoid():Boolean{ return (((_isHazard) || (_inFire))); } public function CalculateParentLocation():void{ _posX = (_parentBody.GetWorldPoint(_parentBodyLocation).x * 30); _posY = (_parentBody.GetWorldPoint(_parentBodyLocation).y * 30); } public function set Binds(_arg1:Array):void{ _binds = _arg1; } public function GetBindTo(_arg1:PathNode):PathBind{ var _local2:int; _local2 = 0; while (_local2 < _binds.length) { if (_binds[_local2].TargetNode == _arg1){ return (_binds[_local2]); }; _local2++; }; return (null); } public function set ListIndex(_arg1:int):void{ _listIndex = _arg1; } public function set IsHazard(_arg1:Boolean):void{ _isHazard = _arg1; } public function get IsHazard():Boolean{ return (_isHazard); } } }//package Code.Data
Section 129
//PathResultNode (Code.Data.PathResultNode) package Code.Data { public class PathResultNode { private var _pathNode:PathNode; private var _nextBind:PathBind; private var _prevBind:PathBind; public function PathResultNode(_arg1:PathNode){ _prevBind = null; _pathNode = _arg1; _nextBind = null; } public function set PrevBind(_arg1:PathBind):void{ _prevBind = _arg1; } public function get Node():PathNode{ return (_pathNode); } public function get PrevBind():PathBind{ return (_prevBind); } public function get NextBind():PathBind{ return (_nextBind); } public function set NextBind(_arg1:PathBind):void{ _nextBind = _arg1; } } }//package Code.Data
Section 130
//PathWebNode (Code.Data.PathWebNode) package Code.Data { public class PathWebNode { public var Distance:Number; public var SourceNode:PathNode; public function Clear():void{ SourceNode = null; Distance = 9999; } } }//package Code.Data
Section 131
//PortalData (Code.Data.PortalData) package Code.Data { import flash.geom.*; import Code.Box2D.Common.Math.*; public class PortalData { private var _inverseY:Boolean;// = false private var _portal:Rectangle; private var _targetPortal:Rectangle; private var _triggerVelocity:Point; private var _inverseX:Boolean;// = false public function PortalData(_arg1:Rectangle, _arg2:Rectangle, _arg3:Point, _arg4:Boolean, _arg5:Boolean){ _inverseX = false; _inverseY = false; super(); _portal = _arg1; _targetPortal = _arg2; _triggerVelocity = _arg3; _inverseX = _arg4; _inverseY = _arg5; } public function GetTargetPositionFromCurrent(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(((_targetPortal.x + (_targetPortal.width / 2)) / 30), (((_targetPortal.y + _arg2) - _portal.y) / 30))); } public function get InverseY():Boolean{ return (_inverseY); } public function get TriggerVelocity():Point{ return (_triggerVelocity); } public function get InverseX():Boolean{ return (_inverseX); } public function PointInsidePortal(_arg1:Number, _arg2:Number):Boolean{ if ((((_arg1 > _portal.x)) && ((_arg1 < (_portal.x + _portal.width))))){ if ((((_arg2 > _portal.y)) && ((_arg2 < (_portal.y + _portal.height))))){ return (true); }; }; return (false); } } }//package Code.Data
Section 132
//ProjectileData (Code.Data.ProjectileData) package Code.Data { import flash.display.*; import Code.Data.Players.*; public class ProjectileData { private var _bullet_slomo_trace:Number;// = 5 private var penetratingCloud:Boolean;// = false private var mc:MovieClip; private var p_angle_rad:Number; private var isRocket:Boolean;// = false private var p_owner:Player; private var penetrating:Boolean;// = false private var p_strength:int; private var normal_effect_mc:MovieClip; private var p_current_penetration:Number; private var playerStuck:Player;// = null private var p_total_penetration:Number; private var players_avoided:Array; private var p_angle:Number; private var effect_length:Number;// = 0 private var explode:Boolean;// = false private var p_properties:ProjectileProperties; private var p_directionY:Number; private var p_directionX:Number; private var p_posX:Number; private var p_posY:Number; private var bullet_mc:MovieClip; public function ProjectileData(_arg1:ProjectileProperties){ effect_length = 0; isRocket = false; playerStuck = null; explode = false; penetrating = false; penetratingCloud = false; _bullet_slomo_trace = 5; super(); p_posX = 0; p_posY = 0; p_angle = 0; p_angle_rad = 0; p_directionX = 1; p_directionY = 0; p_owner = null; p_properties = _arg1; p_strength = p_properties.Strength; p_total_penetration = p_properties.TotalPenetrationDepth; p_current_penetration = p_properties.SinglePenetrationDepth; switch (p_properties.BulletMC.toUpperCase()){ case "PISTOL_BULLET": bullet_mc = new bullet_pistol(); break; case "RIFLE_BULLET": bullet_mc = new bullet_rifle(); break; case "UZI_BULLET": bullet_mc = new bullet_uzi(); break; case "SHOTGUN_BULLET": bullet_mc = new bullet_shotgun(); break; case "SNIPER_BULLET": bullet_mc = new bullet_sniper(); break; case "MAGNUM_BULLET": bullet_mc = new bullet_magnum(); break; case "BAZOOKA_ROCKET": isRocket = true; bullet_mc = new bazooka_rocket(); break; default: bullet_mc = new bullet(); break; }; mc = new MovieClip(); mc.addChild(bullet_mc); players_avoided = new Array(); if (p_properties.BulletEffect == "BULLET_EFFECT_NORMAL"){ normal_effect_mc = new bullet_effect_normal(); } else { normal_effect_mc = new MovieClip(); }; normal_effect_mc.scaleX = effect_length; mc.addChild(normal_effect_mc); } public function ClearPenetrationCurrentLeft():void{ p_current_penetration = p_properties.SinglePenetrationDepth; if (p_current_penetration > p_total_penetration){ p_current_penetration = p_total_penetration; }; } public function get Penetrating():Boolean{ return (penetrating); } public function UpdateVisuals(_arg1:Number):void{ if (BulletGameSpeed >= 0.8){ bullet_mc.visible = false; normal_effect_mc.visible = true; } else { bullet_mc.visible = true; normal_effect_mc.visible = false; }; if (effect_length < 30){ effect_length = (effect_length + _arg1); if (effect_length > 30){ effect_length = 30; }; normal_effect_mc.alpha = (0.9 - (effect_length / 100)); normal_effect_mc.scaleX = (effect_length / 10); }; } public function get BulletGameSpeed():Number{ return (p_owner.BulletGameSpeed); } public function set Penetrating(_arg1:Boolean):void{ penetrating = _arg1; } public function PlayerAvoided(_arg1:int):Boolean{ var _local2:int; _local2 = 0; while (_local2 < players_avoided.length) { if (players_avoided[_local2] == _arg1){ return (true); }; _local2++; }; return (false); } public function get StrengthLeft():int{ return (p_strength); } public function get PenetrationTotalLeft():Number{ return (p_total_penetration); } public function get PlayerStuck():Player{ return (playerStuck); } public function Copy():ProjectileData{ return (new ProjectileData(p_properties)); } public function Show():void{ mc.visible = true; } public function set StrengthLeft(_arg1:int):void{ p_strength = _arg1; } public function AddBulletTrace(_arg1:Number):Boolean{ if (isRocket){ if (_bullet_slomo_trace <= 0){ _bullet_slomo_trace = 2; return (true); }; _bullet_slomo_trace = (_bullet_slomo_trace - _arg1); } else { if (BulletGameSpeed < 0.8){ if (_bullet_slomo_trace <= 0){ _bullet_slomo_trace = 12; return (true); }; _bullet_slomo_trace = (_bullet_slomo_trace - _arg1); }; }; return (false); } public function set Owner(_arg1:Player):void{ p_owner = _arg1; } public function get Owner():Player{ return (p_owner); } public function set PenetrationTotalLeft(_arg1:Number):void{ p_total_penetration = _arg1; } public function get MC():MovieClip{ return (mc); } public function AddPlayerAvoided(_arg1:int):void{ players_avoided.push(_arg1); } public function get PenetratingCloud():Boolean{ return (penetratingCloud); } public function set DirectionX(_arg1:Number):void{ p_directionX = _arg1; p_angle_rad = Math.atan2(DirectionY, DirectionX); Angle = (p_angle_rad * (180 / Math.PI)); } public function get DoExplode():Boolean{ return (explode); } public function set DirectionY(_arg1:Number):void{ p_directionY = _arg1; p_angle_rad = Math.atan2(DirectionY, DirectionX); Angle = (p_angle_rad * (180 / Math.PI)); } public function set PlayerStuck(_arg1:Player):void{ playerStuck = _arg1; } public function get PosX():Number{ return (p_posX); } public function get AverageDamage():Number{ return ((Properties.Damage + ((Properties.CriticalChance / 100) * Properties.CriticalDamage))); } public function set MC(_arg1:MovieClip):void{ mc = _arg1; } public function set PosX(_arg1:Number):void{ p_posX = _arg1; mc.x = p_posX; } public function ResetPlayersAvoided():void{ players_avoided = new Array(); } public function get Properties():ProjectileProperties{ return (p_properties); } public function get AngleRad():Number{ return (p_angle_rad); } public function Explode():void{ explode = true; } public function get DirectionY():Number{ return (p_directionY); } public function get PosY():Number{ return (p_posY); } public function set PenetratingCloud(_arg1:Boolean):void{ penetratingCloud = _arg1; } public function set PenetrationCurrentLeft(_arg1:Number):void{ p_current_penetration = _arg1; } public function get VelocityX():Number{ return ((p_directionX * p_properties.Speed)); } public function Hide():void{ mc.visible = false; } public function get PenetrationCurrentLeft():Number{ return (p_current_penetration); } public function set PosY(_arg1:Number):void{ p_posY = _arg1; mc.y = p_posY; } public function get Angle():Number{ return (p_angle); } public function get DirectionX():Number{ return (p_directionX); } public function get VelocityY():Number{ return ((p_directionY * p_properties.Speed)); } public function set Angle(_arg1:Number):void{ p_angle = _arg1; p_angle_rad = (p_angle * (Math.PI / 180)); p_directionX = Math.cos(p_angle_rad); p_directionY = Math.sin(p_angle_rad); mc.rotation = p_angle; } } }//package Code.Data
Section 133
//ProjectileProperties (Code.Data.ProjectileProperties) package Code.Data { public class ProjectileProperties { public var SinglePenetrationDepth:Number; public var CriticalChance:Number; public var CriticalDamage:Number; public var BulletSlomoEffect:String; public var BulletEffect:String; public var Damage:Number; public var Strength:int; public var PushbackPower:Number; public var Speed:Number; public var ImpulseForce:Number; public var TotalPenetrationDepth:Number; public var BulletMC:String; } }//package Code.Data
Section 134
//ProjectilesUpdaterData (Code.Data.ProjectilesUpdaterData) package Code.Data { import Code.Box2D.Dynamics.*; import Code.Handler.*; import flash.display.*; public class ProjectilesUpdaterData { public var m_world:b2World; public var Handler_Effects:Effects; public var static_mc:MovieClip; public var Handler_Explosions:Explosions; public var dynamic_mc:MovieClip; public var Handler_Sounds:Sounds; public var Handler_Output:OutputTrace; public var object_shape_container_mc:MovieClip; public var Handler_Projectiles:Projectiles; public var Handler_Camera:Cam; public var Handler_Players:PlayersKeeper; } }//package Code.Data
Section 135
//Rope (Code.Data.Rope) package Code.Data { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import flash.display.*; public class Rope { var _local1:b2Vec2; var _local2:b2Vec2; var _removed:Boolean; var _body1:b2Body; var _body2:b2Body; var _mc:MovieClip; public function Rope(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2){ BuildRope(_arg1, _arg2, _arg3, _arg4); } public function Remove():void{ if (!(_removed)){ _mc.parent.removeChild(_mc); _removed = true; }; } public function get MC():MovieClip{ return (_mc); } public function BuildRope(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2){ var _local5:Number; var _local6:int; var _local7:rope_segment_01; _body1 = _arg1; _body2 = _arg2; _local1 = _body1.GetLocalPoint(_arg3); _local2 = _body2.GetLocalPoint(_arg4); _local5 = Math.sqrt((Math.pow(((_arg3.x * 30) - (_arg4.x * 30)), 2) + Math.pow(((_arg3.y * 30) - (_arg4.y * 30)), 2))); _mc = new MovieClip(); _local6 = 0; while (_local6 < _local5) { _local7 = new rope_segment_01(); _local7.y = -(_local6); _mc.addChild(_local7); _local6 = (_local6 + 3); }; _removed = false; UpdateMC(); } public function UpdateMC():void{ var _local1:b2Vec2; var _local2:b2Vec2; var _local3:Number; if (_removed){ return; }; _local1 = _body1.GetWorldPoint(_local1); _local2 = _body2.GetWorldPoint(_local2); _mc.x = (_local1.x * 30); _mc.y = (_local1.y * 30); _local3 = Math.atan2((_local1.y - _local2.y), (_local1.x - _local2.x)); _mc.rotation = ((_local3 * (180 / Math.PI)) - 90); } } }//package Code.Data
Section 136
//ScoreboardTeam (Code.Data.ScoreboardTeam) package Code.Data { import Code.Data.Players.*; import flash.display.*; import flash.geom.*; import flash.utils.*; public class ScoreboardTeam { public var Loss:int; private var _team:int; private var _team_graphic:MovieClip; private var _players:Array; public var Wins:int; private var _build_timer:Number; public function ScoreboardTeam(_arg1:Player){ Wins = 0; Loss = 0; _team = _arg1.Team; _players = new Array(); _players.push(_arg1); } public function AddPlayer(_arg1:Player):void{ _players.push(_arg1); } public function SetPics():void{ var _local1:int; clearInterval(_build_timer); _local1 = 0; while (_local1 < TotalPlayers) { MovieClip(_team_graphic.pics.getChildByName(("pic_" + (_local1 + 1)))).gotoAndStop(_players[_local1].State.CharNr); _local1++; }; } public function Build(_arg1:int):void{ var _local2:int; var _local3:ColorTransform; _team_graphic = new score_team_plate(); _team_graphic.gotoAndStop(_arg1); _team_graphic.pics.gotoAndStop(TotalPlayers); if ((((TotalPlayers <= 4)) && ((_arg1 > 4)))){ _team_graphic.pics.x = (25 * (_arg1 - 4)); }; _local2 = _players[0].Team; if (_local2 < 0){ _local2 = 5; }; _team_graphic.pics.team.gotoAndStop(_local2); _local3 = _team_graphic.pics.team.transform.colorTransform; if (_players[0].Team < 0){ _local3.redOffset = (PlayerTeamColor.SOLO[0] - 0xFF); _local3.greenOffset = (PlayerTeamColor.SOLO[1] - 0xFF); _local3.blueOffset = (PlayerTeamColor.SOLO[2] - 0xFF); } else { _local3.redOffset = (PlayerTeamColor.TEAM[(_players[0].Team - 1)][0] - 0xFF); _local3.greenOffset = (PlayerTeamColor.TEAM[(_players[0].Team - 1)][1] - 0xFF); _local3.blueOffset = (PlayerTeamColor.TEAM[(_players[0].Team - 1)][2] - 0xFF); }; _team_graphic.pics.team.transform.colorTransform = _local3; _build_timer = setInterval(SetPics, 100); Update(); } public function get FirstPlayer():Player{ return (_players[0]); } public function get MC():MovieClip{ return (_team_graphic); } public function Update():void{ SetNumTo(_team_graphic.score.wins, Wins); SetNumTo(_team_graphic.score.loss, Loss); } public function get TotalPlayers():int{ return (_players.length); } public function get Team():int{ return (_team); } private function SetNumTo(_arg1:MovieClip, _arg2:int):void{ var _local3:int; var _local4:int; _local3 = (_arg2 % 10); _local4 = int(((_arg2 - _local3) / 10)); if (_local3 == 0){ _arg1.dig_1.gotoAndStop(10); } else { _arg1.dig_1.gotoAndStop(_local3); }; if (_local4 == 0){ _arg1.dig_10.gotoAndStop(10); } else { _arg1.dig_10.gotoAndStop(_local4); }; } } }//package Code.Data
Section 137
//SlowmoData (Code.Data.SlowmoData) package Code.Data { public class SlowmoData { private var _currentSlowmotion:Number; private var _timeStay:int; private var _timeFadeOut:int; private var _timeTotalDuration:int; private var _timeFadeIn:int; private var _elapsedTime:int; private var _slowmotion:Number; public function SlowmoData(_arg1:int, _arg2:int, _arg3:int, _arg4:Number){ _timeFadeIn = _arg1; _timeStay = _arg2; _timeFadeOut = _arg3; _timeTotalDuration = ((_arg1 + _arg2) + _arg3); _slowmotion = _arg4; _elapsedTime = 0; } public function ProgressTime(_arg1:int=1):void{ _elapsedTime = (_elapsedTime + _arg1); if (_elapsedTime < _timeFadeIn){ _currentSlowmotion = (1 - ((_elapsedTime / _timeFadeIn) * (1 - _slowmotion))); } else { if ((_elapsedTime <= (_timeFadeIn + _timeStay))){ _currentSlowmotion = _slowmotion; } else { _currentSlowmotion = (_slowmotion + (((_elapsedTime - (_timeFadeIn + _timeStay)) / _timeFadeOut) * (1 - _slowmotion))); }; }; } public function get CurrentSlowmotion():Number{ return (_currentSlowmotion); } public function get Completed():Boolean{ return ((_elapsedTime >= _timeTotalDuration)); } } }//package Code.Data
Section 138
//SmokePackageDataDynamic (Code.Data.SmokePackageDataDynamic) package Code.Data { import Code.Box2D.Dynamics.*; import Code.Box2D.Common.Math.*; import Code.Handler.*; import Code.Particles.*; public class SmokePackageDataDynamic { private var _smokePoint:b2Vec2; private var _body:b2Body; private var _smoke_tick:Number; private var _Handler_Effects:Effects; private var _speed:Number; private var _smoke_pack_done:Boolean;// = false private var xDiff:Number; private var yDiff:Number; private var _still_timer:Number;// = 0 private var _smoke_timer:Number; private var _init_smoke_grade:int;// = 0 private var _lastSmokePoint:b2Vec2; public function SmokePackageDataDynamic(_arg1:Effects){ _smoke_pack_done = false; _init_smoke_grade = 0; _still_timer = 0; super(); _Handler_Effects = _arg1; _smoke_timer = (72 + (Math.random() * 5)); _smokePoint = new b2Vec2(); _lastSmokePoint = new b2Vec2(); } public function SetSmokeElementAt(_arg1:b2Body):void{ _body = _arg1; _init_smoke_grade = _arg1.GetUserData().objectData.ObjectSmokeGrade; UpdatePosition(); _smoke_tick = (Math.random() * 2); } private function AddEffect():void{ var _local1:Number; var _local2:Number; _lastSmokePoint.x = _smokePoint.x; _lastSmokePoint.y = _smokePoint.y; _local1 = ((Math.random() * _body.m_userData.objectData.ShapeMC.width) - (_body.m_userData.objectData.ShapeMC.width / 2)); _local2 = ((Math.random() * _body.m_userData.objectData.ShapeMC.height) - (_body.m_userData.objectData.ShapeMC.height / 2)); _Handler_Effects.AddParticle(new particle_data("SMOKE_TRACE_EFFECT", (_smokePoint.x + (_local1 * 0.7)), (_smokePoint.y + (_local2 * 0.7)), _body.GetLinearVelocity(), 0, 1, [_init_smoke_grade])); } public function get SmokePackageCompleted():Boolean{ return (_smoke_pack_done); } public function Update(_arg1:Number):void{ if (((((!((_init_smoke_grade == _body.GetUserData().objectData.ObjectSmokeGrade))) || (_body.GetUserData().objectData.ObjectOnFire))) || ((_body.GetUserData().destroyed == true)))){ _smoke_pack_done = true; return; }; UpdatePosition(); _smoke_tick = (_smoke_tick - _arg1); if (_smoke_tick <= 0){ AddEffect(); _smoke_tick = 3; } else { xDiff = (_lastSmokePoint.x - _smokePoint.x); yDiff = (_lastSmokePoint.y - _smokePoint.y); _speed = Math.sqrt(((xDiff * xDiff) + (yDiff * yDiff))); if (_speed > 5){ AddEffect(); _smoke_tick = 3; } else { if (_speed < 0.5){ _still_timer = (_still_timer + _arg1); if (_still_timer > 3){ _smoke_timer = 0; }; } else { _still_timer = 0; }; }; }; _smoke_timer = (_smoke_timer - _arg1); if (_smoke_timer <= 0){ _body.GetUserData().objectData.ObjectSmokeGrade = 0; _smoke_pack_done = true; }; } private function UpdatePosition():void{ _smokePoint.x = (_body.GetPosition().x * 30); _smokePoint.y = (_body.GetPosition().y * 30); } } }//package Code.Data
Section 139
//WeaponSpawnData (Code.Data.WeaponSpawnData) package Code.Data { import Code.Box2D.Dynamics.*; public class WeaponSpawnData { private var blinkTimer:Number; private var positionY:Number; private var linkedWeapon:b2Body; private var positionX:Number; private var startBlink:int; private var weaponArray:Array; private var weaponDespawnTimer:Number; private var wpnHidden:Boolean; public function WeaponSpawnData(_arg1:Number, _arg2:Number, _arg3:Array){ positionX = _arg1; positionY = _arg2; weaponArray = _arg3; weaponDespawnTimer = 0; blinkTimer = 0; wpnHidden = false; startBlink = (8 * 24); linkedWeapon = null; } public function Update(_arg1:Number):void{ if (linkedWeapon != null){ if (weaponDespawnTimer > 0){ weaponDespawnTimer = (weaponDespawnTimer - _arg1); if (weaponDespawnTimer <= 0){ linkedWeapon.GetUserData().objectData.ForceDestruction(); linkedWeapon = null; } else { if (weaponDespawnTimer <= startBlink){ blinkTimer = (blinkTimer - 1); if (blinkTimer <= 0){ if (wpnHidden){ linkedWeapon.GetUserData().objectData.MC.gotoAndStop(1); } else { linkedWeapon.GetUserData().objectData.MC.gotoAndStop(2); }; wpnHidden = !(wpnHidden); blinkTimer = 8; }; }; }; }; }; } public function get PositionX():Number{ return (positionX); } public function get PositionY():Number{ return (positionY); } public function set LinkedWeapon(_arg1:b2Body):void{ linkedWeapon = _arg1; weaponDespawnTimer = (20 * 24); } public function get LinkedWeapon():b2Body{ return (linkedWeapon); } public function get WeaponArray():Array{ return (weaponArray); } } }//package Code.Data
Section 140
//BasicOverlays (Code.Handler.BasicOverlays) package Code.Handler { import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; import flash.display.*; public class BasicOverlays { private var _overlayLayer:MovieClip; private var _list:Array; public function BasicOverlays(_arg1:MovieClip){ _overlayLayer = _arg1; _list = new Array(); } public function AddOverlay(_arg1:b2Body, _arg2:MovieClip):void{ var _local3:Array; _arg2.x = (_arg1.GetPosition().x * 30); _arg2.y = (_arg1.GetPosition().y * 30); _overlayLayer.addChild(_arg2); _local3 = new Array(); _local3.push(_arg1); _local3.push(_arg2); _list.push(_local3); } public function Update():void{ var _local1:int; if (_list.length <= 0){ return; }; _local1 = (_list.length - 1); while (_local1 >= 0) { if (_list[_local1][0].GetUserData().destroyed == true){ _overlayLayer.removeChild(_list[_local1][1]); _list.splice(_local1, 1); } else { _list[_local1][1].x = (_list[_local1][0].GetPosition().x * 30); _list[_local1][1].y = (_list[_local1][0].GetPosition().y * 30); }; _local1--; }; } } }//package Code.Handler
Section 141
//Box2DMouse (Code.Handler.Box2DMouse) package Code.Handler { import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; import flash.display.*; import flash.geom.*; public class Box2DMouse { private var m_world:b2World; private var mousePVec:b2Vec2; private var m_timeStep:Number; private var mouseYWorldPhys:Number; private var mouseYWorld:Number; private var _Handler_Mouse:InputMouse; private var m_body:b2Body; private var m_mouseJoint:b2MouseJoint; private var mouseXWorldPhys:Number; private var mouseXWorld:Number; public function Box2DMouse(_arg1:InputMouse, _arg2:b2World, _arg3:MovieClip){ mousePVec = new b2Vec2(); super(); _Handler_Mouse = _arg1; m_world = _arg2; } public function MouseDrag():void{ var _local1:b2MouseJointDef; var _local2:b2Vec2; if (((_Handler_Mouse.MouseIsDown()) && (!(m_mouseJoint)))){ m_body = GetBodyAtMouse(); if (m_body){ _local1 = new b2MouseJointDef(); _local1.body1 = m_world.GetGroundBody(); _local1.body2 = m_body; _local1.target.Set(mouseXWorldPhys, mouseYWorldPhys); _local1.maxForce = (300 * m_body.GetMass()); _local1.timeStep = m_timeStep; m_mouseJoint = (m_world.CreateJoint(_local1) as b2MouseJoint); m_body.GetUserData().locked = true; m_body.WakeUp(); }; }; if (!(_Handler_Mouse.MouseIsDown())){ if (m_mouseJoint){ m_body.GetUserData().locked = false; m_world.DestroyJoint(m_mouseJoint); m_mouseJoint = null; m_body = null; }; }; if (m_mouseJoint){ _local2 = new b2Vec2(mouseXWorldPhys, mouseYWorldPhys); m_mouseJoint.SetTarget(_local2); }; } private function GetBodyAtMouse(_arg1:Boolean=false):b2Body{ var _local2:b2AABB; var _local3:int; var _local4:Array; var _local5:int; var _local6:b2Body; var _local7:int; var _local8:b2Shape; var _local9:Boolean; mousePVec.Set(mouseXWorldPhys, mouseYWorldPhys); _local2 = new b2AABB(); _local2.lowerBound.Set((mouseXWorldPhys - 0.001), (mouseYWorldPhys - 0.001)); _local2.upperBound.Set((mouseXWorldPhys + 0.001), (mouseYWorldPhys + 0.001)); _local3 = 10; _local4 = new Array(); _local5 = m_world.Query(_local2, _local4, _local3); _local6 = null; _local7 = 0; while (_local7 < _local5) { if ((((_local4[_local7].GetBody().IsStatic() == false)) || (_arg1))){ _local8 = (_local4[_local7] as b2Shape); _local9 = _local8.TestPoint(_local8.GetBody().GetXForm(), mousePVec); if (_local9){ _local6 = _local8.GetBody(); break; }; }; _local7++; }; return (_local6); } public function MouseInteract():void{ var _local1:b2Body; var _local2:b2Vec2; var _local3:b2Vec2; _local1 = GetBodyAtMouse(false); if (_local1){ _local2 = new b2Vec2(); _local3 = new b2Vec2(); _local2.Set(0, (-6 * _local1.GetMass())); _local3.x = GetMouseXWorldPhys(); _local3.y = GetMouseYWorldPhys(); _local1.WakeUp(); _local1.ApplyImpulse(_local2, _local3); }; } public function GetMouseXWorldPhys():Number{ return (mouseXWorldPhys); } public function MouseDestroy(_arg1:Boolean=false):void{ var _local2:b2Body; if (!(_Handler_Mouse.MouseIsDown())){ _local2 = GetBodyAtMouse(false); if (_local2){ if (_arg1){ if (_local2.m_userData.objectData.DrawHitBox){ _local2.m_userData.objectData.CollisionMC.parent.removeChild(_local2.m_userData.objectData.CollisionMC); }; _local2.m_userData.parent.removeChild(_local2.m_userData); m_world.DestroyBody(_local2); } else { _local2.GetUserData().objectData.ForceDestruction(); }; return; }; }; } public function UpdateMouseWorld(_arg1:Point, _arg2:Number, _arg3:Number):void{ m_timeStep = _arg3; _Handler_Mouse.UpdateMouse(_arg1, _arg2); mouseXWorldPhys = (_Handler_Mouse.MouseX() / 30); mouseYWorldPhys = (_Handler_Mouse.MouseY() / 30); mouseXWorld = _Handler_Mouse.MouseX(); mouseYWorld = _Handler_Mouse.MouseY(); } public function GetMouseYWorldPhys():Number{ return (mouseYWorldPhys); } } }//package Code.Handler
Section 142
//Cam (Code.Handler.Cam) package Code.Handler { import flash.geom.*; import flash.display.*; public class Cam { private var _gui_holder_mc:MovieClip; private var _posTarget:Point; private var _stage; private var _speedX:Number;// = 0 private var _speedY:Number;// = 0 private var _screenHeight:Number; private var _showAll:Boolean;// = false private var _posSpeed:Point; private var _dynamic_mc:MovieClip; private var _menu_mc:MovieClip; private var _scaleTarget:Number;// = 1 private var _fullScreenMode:Boolean;// = false private var _Handler_Players:PlayersKeeper; private var _fullScreenDivider:Number;// = 0 private var _scaleSpeed:Number;// = 0 private var __cam_override_done:Boolean;// = true private var _mapArea:Rectangle; private var _zoomStepsLeft:Number;// = 0 private var _camArea:Rectangle; private var _extraScreenToVanish:Number;// = 0 private var _Handler_Keyboard:InputKeyboard; private var _Handler_Output:OutputTrace; private var _screenWidth:Number; public static const sizeIncrease:Number = 40; public function Cam(_arg1, _arg2:MovieClip, _arg3:MovieClip, _arg4:MovieClip, _arg5:OutputTrace, _arg6:PlayersKeeper){ _speedX = 0; _speedY = 0; _scaleTarget = 1; _posTarget = new Point(0, 0); _scaleSpeed = 0; _posSpeed = new Point(0, 0); _zoomStepsLeft = 0; _camArea = new Rectangle(); _showAll = false; _extraScreenToVanish = 0; _fullScreenMode = false; _fullScreenDivider = 0; __cam_override_done = true; super(); _stage = _arg1; _dynamic_mc = _arg2; _gui_holder_mc = _arg3; _menu_mc = _arg4; _Handler_Output = _arg5; _Handler_Players = _arg6; } public function set ShowAll(_arg1:Boolean):void{ _showAll = _arg1; } public function RecalculateCamArea(_arg1:int=8, _arg2:Boolean=false):void{ var _local3:Rectangle; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; if (!(_arg2)){ if (!(__cam_override_done)){ return; }; } else { __cam_override_done = false; }; if (!(_showAll)){ _local3 = _Handler_Players.GetCamArea(); } else { _local3 = new Rectangle(_mapArea.x, _mapArea.y, _mapArea.width, _mapArea.height); }; _local4 = (sizeIncrease * 4); _local5 = (sizeIncrease * 3); _local3.x = (_local3.x - (_local4 / 2)); _local3.y = (_local3.y - (_local5 / 2)); _local3.width = (_local3.width + _local4); _local3.height = (_local3.height + _local5); if (_local3.width > _mapArea.width){ _local3.width = _mapArea.width; }; if (_local3.height > _mapArea.height){ _local3.height = _mapArea.height; }; if (_local3.x < _mapArea.x){ _local3.x = _mapArea.x; }; if ((_local3.x + _local3.width) > (_mapArea.x + _mapArea.width)){ _local3.x = ((_mapArea.x + _mapArea.width) - _local3.width); }; if (_local3.y < _mapArea.y){ _local3.y = _mapArea.y; }; if ((_local3.y + _local3.height) > (_mapArea.y + _mapArea.height)){ _local3.y = ((_mapArea.y + _mapArea.height) - _local3.height); }; _local6 = (1 / (_local3.height / 600)); if (_fullScreenMode){ _local7 = (_extraScreenToVanish * (1 / _local6)); _local4 = ((_local7 / 3) * 4); _local5 = _local7; _local3.x = (_local3.x + (_local4 / 4)); _local3.y = (_local3.y + (_local5 / 4)); _local3.width = (_local3.width - _local4); _local3.height = (_local3.height - _local5); _local6 = (1 / (_local3.height / _fullScreenDivider)); }; _scaleTarget = _local6; _posTarget.x = (-(_local3.x) * _local6); _posTarget.y = (-(_local3.y) * _local6); _camArea = _local3; _zoomStepsLeft = _arg1; _posSpeed.x = ((_posTarget.x - _dynamic_mc.x) / _zoomStepsLeft); _posSpeed.y = ((_posTarget.y - _dynamic_mc.y) / _zoomStepsLeft); _scaleSpeed = ((_scaleTarget - _dynamic_mc.scaleX) / _zoomStepsLeft); } public function SetScreenResulotion(_arg1:Number=800, _arg2:Number=600):void{ _screenWidth = _arg1; _screenHeight = _arg2; if (_arg2 < 0x0300){ _fullScreenMode = false; } else { _fullScreenMode = true; switch (_arg2){ case 0x0300: _fullScreenDivider = 500; break; case 1050: _fullScreenDivider = 250; break; default: _fullScreenDivider = (250 + ((1050 - _arg2) * (1 / 1.128))); break; }; }; _extraScreenToVanish = (_arg2 - 600); _gui_holder_mc.scaleX = (_arg1 / 800); _gui_holder_mc.scaleY = (_arg2 / 600); _gui_holder_mc.x = (-((_arg1 - 800)) / 2); _gui_holder_mc.y = (-((_arg2 - 600)) / 2); _menu_mc.scaleX = (_arg1 / 800); _menu_mc.scaleY = (_arg2 / 600); _menu_mc.x = (-((_arg1 - 800)) / 2); _menu_mc.y = (-((_arg2 - 600)) / 2); _Handler_Output.Trace(((("Your resulotion: " + _arg1) + "x") + _arg2)); RecalculateCamArea(1); } public function Initialize():void{ SetScreenResulotion(_stage.stageWidth, _stage.stageHeight); } public function get ShowAll():Boolean{ return (_showAll); } public function IsInside(_arg1:Point):Boolean{ return (true); } public function SetMapArea(_arg1:Rectangle):void{ _mapArea = _arg1; _Handler_Players.SetMapArea(_arg1); RecalculateCamArea(); } public function get MapArea():Rectangle{ return (_mapArea); } public function Update(_arg1:Number):void{ if (_zoomStepsLeft > 0){ _dynamic_mc.x = (_dynamic_mc.x + (_posSpeed.x * _arg1)); _dynamic_mc.y = (_dynamic_mc.y + (_posSpeed.y * _arg1)); _dynamic_mc.scaleX = (_dynamic_mc.scaleX + (_scaleSpeed * _arg1)); _dynamic_mc.scaleY = (_dynamic_mc.scaleY + (_scaleSpeed * _arg1)); _zoomStepsLeft = (_zoomStepsLeft - (1 * _arg1)); if (_zoomStepsLeft <= 0){ __cam_override_done = true; }; }; } } }//package Code.Handler
Section 143
//CommandList (Code.Handler.CommandList) package Code.Handler { import Code.Box2D.Common.Math.*; public class CommandList { private var _Handler_Box2DMouse:Box2DMouse; private var _menu:Array; private var _Handler_Fires:Fires; private var _Handler_Maps:Maps; private var _curr_menu:int;// = 0 private var _Handler_Effects:Effects; private var _Handler_Keyboard:InputKeyboard; private var _Handler_Weapons:Weapons; private var _Handler_Explosions:Explosions; private var _Handler_Output:OutputTrace; private var _Restart:Function; private var _Handler_Players:PlayersKeeper; private var _Handler_Sounds:Sounds; public function CommandList(_arg1:OutputTrace){ _curr_menu = 0; _menu = new Array([["", function (){ }]], [["Prev", function (){ _curr_menu = 3; PrintMenu(); }], ["Next", function (){ _curr_menu = 2; PrintMenu(); }], ["Pistol", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_pistol", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Pistol; }], ["Rifle", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_rifle", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Rifle; }], ["Shotgun", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_shotgun", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Shotgun; }], ["Sniper", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_sniper", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Sniper; }], ["Bazooka", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_bazooka", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Bazooka; }], ["Flamethrower", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_flamethrower", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Flamethrower; }]], [["Prev", function (){ _curr_menu = 1; PrintMenu(); }], ["Next", function (){ _curr_menu = 3; PrintMenu(); }], ["Grenades", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_grenades", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Grenades; }], ["Molotovs", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_molotovs", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Molotovs; }], ["Axe", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_axe", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Axe; }], ["Machete", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_machete", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Machete; }], ["Sword", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_sword", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Sword; }], ["Slowmotion (5)", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_slowmo_05", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Slowmo05; }], ["Slowmotion (10)", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_slowmo_10", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Slowmo10; }]], [["Prev", function (){ _curr_menu = 2; PrintMenu(); }], ["Next", function (){ _curr_menu = 1; PrintMenu(); }], ["Pills", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_pills", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Pills; }], ["Medkit", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_medkit", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Medkit; }], ["Magnum", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_magnum", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Magnum; }], ["Uzi", function (){ var _local1:*; _local1 = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_uzi", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); _local1.GetUserData().weaponData = _Handler_Weapons.Uzi; }]], [["Prev", function (){ _curr_menu = 5; PrintMenu(); }], ["Next", function (){ _curr_menu = 5; PrintMenu(); }], ["Barrel", function (){ _Handler_Maps.Handler_WorldItems.AddObject("barrel", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Barrel Explosive", function (){ _Handler_Maps.Handler_WorldItems.AddObject("barrel_explosive", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Barrel Wreck", function (){ _Handler_Maps.Handler_WorldItems.AddObject("barrel_wreck", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Crate", function (){ _Handler_Maps.Handler_WorldItems.AddObject("crate", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Table", function (){ _Handler_Maps.Handler_WorldItems.AddObject("table", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Comfy Chair", function (){ _Handler_Maps.Handler_WorldItems.AddObject("comfy_chair", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Trashcan", function (){ _Handler_Maps.Handler_WorldItems.AddObject("Trashcan", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }]], [["Prev", function (){ _curr_menu = 4; PrintMenu(); }], ["Next", function (){ _curr_menu = 4; PrintMenu(); }], ["Gascan", function (){ _Handler_Maps.Handler_WorldItems.AddObject("gascan", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Filecab", function (){ _Handler_Maps.Handler_WorldItems.AddObject("filecab", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Pool Table", function (){ _Handler_Maps.Handler_WorldItems.AddObject("pool_table", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Beachball", function (){ _Handler_Maps.Handler_WorldItems.AddObject("beachball", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Rolling Pipe", function (){ _Handler_Maps.Handler_WorldItems.AddObject("rolling_pipe", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys(), 0, new b2Vec2(), 0); }], ["Statue Globe", function (){ var _local1:*; var _local2:*; _local1 = _Handler_Maps.Handler_WorldItems.AddObject("statue_globe", _Handler_Box2DMouse.GetMouseXWorldPhys(), (_Handler_Box2DMouse.GetMouseYWorldPhys() - (30 / 30)), 0, new b2Vec2(), 0); _local1.PutToSleep(); _local2 = _Handler_Maps.Handler_WorldItems.AddObject("statue", _Handler_Box2DMouse.GetMouseXWorldPhys(), (_Handler_Box2DMouse.GetMouseYWorldPhys() - (9 / 30)), 0, new b2Vec2(), 0); _local2.PutToSleep(); }]], [["Holder", function (){ }], ["Holder", function (){ }]], [["Holder", function (){ }], ["Holder", function (){ }]], [["Holder", function (){ }], ["Holder", function (){ }]], [["Holder", function (){ }], ["Holder", function (){ }]]); super(); _Handler_Output = _arg1; } public function PrintMenu():void{ var _local1:int; _Handler_Output.Clear(); _local1 = (_menu[_curr_menu].length - 1); while (_local1 >= 0) { if (_menu[_curr_menu][_local1][0] != ""){ _Handler_Output.Trace((((_local1 + 1) + " - ") + _menu[_curr_menu][_local1][0])); }; _local1--; }; } private function CallMethod():void{ var _local1:int; if (_Handler_Keyboard.KeyIsDown(16)){ _local1 = 0; while (_local1 < _menu[_curr_menu].length) { if (_Handler_Keyboard.KeyIsDown((49 + _local1))){ var _local2 = _menu[_curr_menu][_local1]; _local2[1](); }; _local1++; }; }; } public function LinkFunctions(_arg1:Function):void{ _Restart = _arg1; } private function ShowList():void{ _curr_menu = 0; _Handler_Output.Show(); PrintMenu(); } private function HideList():void{ _Handler_Output.Hide(); } public function LinkHandlers(_arg1:Maps, _arg2:Box2DMouse, _arg3:InputKeyboard, _arg4:Effects, _arg5:Sounds, _arg6:Explosions, _arg7:Fires, _arg8:Weapons, _arg9:PlayersKeeper):void{ var _local10:int; _Handler_Maps = _arg1; _Handler_Box2DMouse = _arg2; _Handler_Keyboard = _arg3; _Handler_Effects = _arg4; _Handler_Sounds = _arg5; _Handler_Explosions = _arg6; _Handler_Fires = _arg7; _Handler_Weapons = _arg8; _Handler_Players = _arg9; _Handler_Keyboard.AddHandler(16, ShowList, HideList); _local10 = 49; while (_local10 < 58) { _Handler_Keyboard.AddHandler(_local10, CallMethod); _local10++; }; } } }//package Code.Handler
Section 144
//Deconstructer (Code.Handler.Deconstructer) package Code.Handler { import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; public class Deconstructer { private var m_world:b2World; private var _deconstructListener:Array; public function Deconstructer(){ _deconstructListener = new Array(); } public function AddBody(_arg1:b2Body):void{ if (((!((_arg1.GetUserData().destroyed == true))) && (!((_arg1.GetUserData().locked == true))))){ if (((_arg1.m_userData.objectData.DrawHitBox) || (_arg1.m_userData.objectData.DrawCloudBox))){ _arg1.m_userData.objectData.CollisionMC.parent.removeChild(_arg1.m_userData.objectData.CollisionMC); }; if (_arg1.m_userData.objectData.DrawShapeMC){ _arg1.m_userData.objectData.ShapeMC.parent.removeChild(_arg1.m_userData.objectData.ShapeMC); }; _arg1.GetUserData().destroyed = true; m_world.RemoveObjectFromLists(_arg1); _deconstructListener.push(_arg1); }; } public function set Setb2World(_arg1:b2World):void{ m_world = _arg1; } public function set DeconstructList(_arg1:Array):void{ _deconstructListener = _arg1; } public function Update():void{ var i:int; if (_deconstructListener.length > 0){ i = 0; while (i < _deconstructListener.length) { try { _deconstructListener[i].m_userData.parent.removeChild(_deconstructListener[i].m_userData); _deconstructListener[i].m_userData.onDestruction(_deconstructListener[i]); m_world.DestroyBody(_deconstructListener[i]); } catch(e:Error) { }; i = (i + 1); }; _deconstructListener = new Array(); }; } public function get DeconstructList():Array{ return (_deconstructListener); } } }//package Code.Handler
Section 145
//Effects (Code.Handler.Effects) package Code.Handler { import Code.Particles.*; import flash.display.*; public class Effects extends MovieClip { private var _Handler_Output:OutputTrace; private var _effect_behind_mc:MovieClip; private var _Handler_Options:Options; private var _effect_mc_primary:MovieClip; private var _game_speed:Number;// = 1 private var _Handler_Maps:Maps; private var _effect_mc:MovieClip; private var _effect_mc_secondary:MovieClip; private var _effect_behind_mc_primary:MovieClip; private var _effect_behind_mc_secondary:MovieClip; private static var EFFECT_LAYER_BACK:int = 0; private static var EFFECT_PRIMARY:int = 0; private static var EFFECT_SECONDARY:int = 1; private static var EFFECT_LAYER_FRONT:int = 1; public function Effects(_arg1:OutputTrace, _arg2:MovieClip, _arg3:MovieClip, _arg4:Options, _arg5:Maps){ _game_speed = 1; super(); _Handler_Output = _arg1; _effect_behind_mc = _arg2; _effect_mc = _arg3; _Handler_Options = _arg4; _Handler_Maps = _arg5; _effect_mc_primary = new MovieClip(); _effect_mc_secondary = new MovieClip(); _effect_behind_mc_primary = new MovieClip(); _effect_behind_mc_secondary = new MovieClip(); _effect_mc.addChild(_effect_mc_primary); _effect_mc.addChild(_effect_mc_secondary); _effect_behind_mc.addChild(_effect_behind_mc_primary); _effect_behind_mc.addChild(_effect_behind_mc_secondary); } private function CanAddSecondaryEffect():Boolean{ if (TotalEffects >= _Handler_Options.GetTotalEffects()){ return (RemoveRandomSecondaryEffect()); }; return (true); } public function Stop():void{ StopParticlesIn(_effect_mc_primary); StopParticlesIn(_effect_mc_secondary); StopParticlesIn(_effect_behind_mc_primary); StopParticlesIn(_effect_behind_mc_secondary); } public function AddParticle_Box2DScale(_arg1:particle_data):void{ _arg1.PosX = Math.round((_arg1.PosX * 30)); _arg1.PosY = Math.round((_arg1.PosY * 30)); AddParticle(_arg1); } public function AddParticle(_arg1:particle_data):void{ var _local2:MovieClip; var _local3:*; var _local4:*; var _local5:MovieClip; var _local6:MovieClip; var _local7:Number; var _local8:Number; var _local9:int; var _local10:MovieClip; var _local11:Number; var _local12:Number; var _local13:MovieClip; var _local14:Number; if (_arg1.Effect != ""){ _local3 = EFFECT_PRIMARY; _local4 = EFFECT_LAYER_FRONT; switch (_arg1.Effect){ case "PROJECTILE_LIGHT_TRACE": _local2 = new simple_effect(new bullet_effect_normal()); break; case "GIB": _local2 = new simple_effect(new gib_effect()); break; case "TRACE_AXE_01": _local2 = new simple_effect(new trace_axe_01()); break; case "TRACE_AXE_02": _local2 = new simple_effect(new trace_axe_02()); break; case "TRACE_AXE_03": _local2 = new simple_effect(new trace_axe_03()); break; case "TRACE_MACHETE_01": _local2 = new simple_effect(new trace_machete_01()); break; case "TRACE_MACHETE_02": _local2 = new simple_effect(new trace_machete_02()); break; case "TRACE_MACHETE_03": _local2 = new simple_effect(new trace_machete_03()); break; case "TRACE_SWORD_01": _local2 = new simple_effect(new trace_sword_01()); break; case "TRACE_SWORD_02": _local2 = new simple_effect(new trace_sword_02()); break; case "TRACE_SWORD_03": _local2 = new simple_effect(new trace_sword_03()); break; case "TRACE_BAZOOKA_ROCKET": _local2 = new fire_effect_bazooka_rocket(_arg1); break; case "BULLET_TRACE_SLOMO": _local2 = new simple_effect(new bullet_trace_slomo()); break; case "BUBBLE": if ((((_Handler_Options.GetEffectLevel() >= 3)) || ((((_Handler_Options.GetEffectLevel() == 2)) && ((Math.random() < 0.5)))))){ _local2 = new simple_effect(new bubble()); _local3 = EFFECT_SECONDARY; } else { return; }; break; case "DUST": case "WOOD": _local2 = new particle_impact_wood(_arg1); _local3 = EFFECT_SECONDARY; break; case "METAL": _local2 = new particle_impact_metal(_arg1); _local3 = EFFECT_SECONDARY; break; case "SMOKE_TRACE_EFFECT": _local2 = new smoke_trace_effect(_arg1); _local3 = EFFECT_SECONDARY; break; case "SMOKE_FIRE": if (_Handler_Options.GetEffectLevel() >= 3){ _local2 = new smoke_fire(_arg1); _local3 = EFFECT_SECONDARY; _local4 = EFFECT_LAYER_BACK; } else { return; }; break; case "EXPLOSION_CIRCLE": _local5 = new explosion_circle(); _local5.gotoAndPlay(2); _local2 = new simple_effect(_local5); break; case "FILECAB_HIT": _arg1.Effect = "PAPER_HIT"; AddParticle(_arg1); _arg1.Effect = "BULLET_HITMETAL"; AddParticle(_arg1); return; case "EXPLOSION_CENTRUM": _local6 = new explosion_circle(); _local6.gotoAndPlay(3); _local2 = new simple_effect(_local6); _local9 = 0; while (_local9 < 360) { _local11 = (12 + (Math.random() * 7)); _local12 = (((_local9 + (Math.random() * 40)) - 20) * (Math.PI / 180)); _local13 = new explosion_circle(); _local10 = new simple_effect(_local13); _local10.CurrentFrame = Math.round((0.51 + (Math.random() * 2.98))); _local10.x = (_arg1.PosX + (Math.cos(_local12) * _local11)); _local10.y = (_arg1.PosY + (Math.sin(_local12) * _local11)); _local10.rotation = _arg1.Rotation; _local10.alpha = _arg1.Alpha; _local10.scaleX = (_arg1.ScaleX * _local10.scaleX); _local10.scaleY = (_arg1.ScaleY * _local10.scaleY); _effect_mc_primary.addChild(_local10); _local10.game_speed = _game_speed; _local9 = (_local9 + 60); }; break; case "BULLET_HITMETAL": _arg1.Alpha = 0.8; switch (Math.floor((Math.random() * 4.99))){ case 0: _local2 = new simple_effect(new hit_metal_1_1()); break; case 1: _local2 = new simple_effect(new hit_metal_1_2()); break; case 2: _local2 = new simple_effect(new hit_metal_2_1()); break; case 3: _local2 = new simple_effect(new hit_metal_2_2()); break; case 4: _local2 = new simple_effect(new hit_metal_3_1()); break; }; break; case "HITDEFAULT_01": _local2 = new bullet_hitdefault(_arg1); _local3 = EFFECT_SECONDARY; break; case "PLAYER_BURNED": _arg1.Effect = "HITDEFAULT_01"; _local7 = _arg1.PosX; _local8 = _arg1.PosY; AddParticle(_arg1); _local14 = 0; while (_local14 < (Math.PI * 2)) { _arg1.PosX = (_local7 + (Math.cos(_local14) * 6)); _arg1.PosY = (_local8 + (Math.sin(_local14) * 6)); AddParticle(_arg1); _local14 = (_local14 + (Math.PI / 4)); }; return; case "ELECTRIC_SPARK": _arg1.Alpha = 0.8; switch (Math.floor((Math.random() * 2.99))){ case 0: _local2 = new simple_effect(new electric_1()); break; case 1: _local2 = new simple_effect(new electric_2()); break; case 2: _local2 = new simple_effect(new electric_3()); break; }; break; case "PLAYER_BURNED_HITDEFAULT": case "BULLET_HITDEFAULT": _arg1.Effect = "HITDEFAULT_01"; AddParticle(_arg1); AddParticle(_arg1); if (_Handler_Options.GetEffectLevel() >= 2){ AddParticle(_arg1); }; return; case "PARTICLE_BLOOD": if (_arg1.DataArray == null){ _arg1.DataArray = new Array(); if (Math.random() < 0.5){ _arg1.DataArray.push(0); } else { _arg1.DataArray.push(1); }; }; _local2 = new particle_blood(_arg1); _local3 = EFFECT_SECONDARY; break; case "BLOOD": switch (Math.round((Math.random() * 2))){ case 0: _local2 = new simple_effect(new blood_1()); break; case 1: _local2 = new simple_effect(new blood_2()); break; case 2: _local2 = new simple_effect(new blood_3()); break; }; break; case "BLOOD_GIB_TRACE": if (_Handler_Options.GetEffectLevel() >= 2){ _local2 = new blood_gib_trace(_arg1); _local3 = EFFECT_SECONDARY; } else { return; }; break; case "FIRE": _local2 = new fire_effect(_arg1); break; case "BODYFALL": _local2 = new particle_bodyfall(_arg1); break; case "FIRE_FLAMETHROWER": _local2 = new fire_effect_flamethrower(_arg1); break; case "FIREGROUND": if (_Handler_Options.GetEffectLevel() >= 2){ _local2 = new fire_effect_ground(_arg1); _local3 = EFFECT_SECONDARY; } else { return; }; break; case "DIVE_IMPACT": case "KICK_IMPACT": case "FIST_IMPACT": case "BULLET_IMPACT": case "BULLET_WHITE_SQUARE": _local2 = new simple_effect(new bullet_impact()); break; case "MUZZLE_WEAPON_SMOKE": if (_Handler_Options.GetEffectLevel() >= 2){ _local2 = new muzzle_weapon_smoke(_arg1); _local3 = EFFECT_SECONDARY; _local4 = EFFECT_LAYER_BACK; } else { return; }; break; case "MUZZLE_FLASH_PISTOL": _arg1.Effect = "MUZZLE_WEAPON_SMOKE"; AddParticle(_arg1); AddParticle(_arg1); _local2 = new simple_effect(new muzzle_flash_pistol()); break; case "MUZZLE_FLASH_SNIPER": _arg1.Effect = "MUZZLE_WEAPON_SMOKE"; AddParticle(_arg1); AddParticle(_arg1); AddParticle(_arg1); _local2 = new simple_effect(new muzzle_flash_sniper()); break; case "MUZZLE_FLASH_RIFLE": _arg1.Effect = "MUZZLE_WEAPON_SMOKE"; AddParticle(_arg1); _local2 = new simple_effect(new muzzle_flash_rifle()); break; case "MUZZLE_FLASH_BAZOOKA": _local2 = new simple_effect(new muzzle_flash_bazooka()); break; case "MUZZLE_FLASH_SHOTGUN": _arg1.Effect = "MUZZLE_WEAPON_SMOKE"; AddParticle(_arg1); AddParticle(_arg1); AddParticle(_arg1); AddParticle(_arg1); _local2 = new simple_effect(new muzzle_flash_shotgun()); break; case "SPARK": if (_Handler_Options.GetEffectLevel() >= 3){ _Handler_Maps.Handler_WorldItems.AddBox("spark", (_arg1.PosX / 30), (_arg1.PosY / 30), 0, _arg1.ParticleVec, 0); }; return; case "EMPTY_SHELL_SMALL": if (_Handler_Options.GetEffectLevel() >= 3){ _Handler_Maps.Handler_WorldItems.AddBox("EMPTY_SHELL_SMALL", (_arg1.PosX / 30), (_arg1.PosY / 30), _arg1.Rotation, _arg1.ParticleVec, ((Math.random() * 10) - 5)); }; return; case "EMPTY_SHELL_SHOTGUN": if (_Handler_Options.GetEffectLevel() >= 3){ _Handler_Maps.Handler_WorldItems.AddBox("EMPTY_SHELL_SHOTGUN", (_arg1.PosX / 30), (_arg1.PosY / 30), _arg1.Rotation, _arg1.ParticleVec, ((Math.random() * 10) - 5)); }; return; case "EMPTY_SHELL_BIG": if (_Handler_Options.GetEffectLevel() >= 3){ _Handler_Maps.Handler_WorldItems.AddBox("EMPTY_SHELL_BIG", (_arg1.PosX / 30), (_arg1.PosY / 30), _arg1.Rotation, _arg1.ParticleVec, ((Math.random() * 10) - 5)); }; return; case "PAPER_HIT": _local2 = new simple_effect(new hit_paper()); if (Math.random() < 0.5){ _arg1.ScaleX = 1; } else { _arg1.ScaleX = -1; }; break; case "PICKUP_AXE": case "PICKUP_BAZOOKA": case "PICKUP_FLAMETHROWER": case "PICKUP_SHOTGUN": case "PICKUP_PISTOL": case "PICKUP_MAGNUM": case "PICKUP_RIFLE": case "PICKUP_SNIPER": case "PICKUP_MACHETE": case "PICKUP_SWORD": case "PICKUP_GRENADE": case "PICKUP_MOLOTOV": case "PICKUP_UZI": case "PICKUP_SLOMO05": case "PICKUP_SLOMO10": _arg1.ScaleX = 0.75; _arg1.ScaleY = 0.75; _local2 = new pickup_sign(_arg1); break; default: _local2 = new error_mc(); return; }; if (_local3 == EFFECT_SECONDARY){ if (!(CanAddSecondaryEffect())){ _local2.EndParticle(); return; }; }; _local2.x = _arg1.PosX; _local2.y = _arg1.PosY; _local2.rotation = _arg1.Rotation; _local2.alpha = _arg1.Alpha; _local2.scaleX = (_arg1.ScaleX * _local2.scaleX); _local2.scaleY = (_arg1.ScaleY * _local2.scaleY); if (_local4 == EFFECT_LAYER_FRONT){ if (_local3 == EFFECT_PRIMARY){ _effect_mc_primary.addChild(_local2); } else { _effect_mc_secondary.addChild(_local2); }; } else { if (_local3 == EFFECT_PRIMARY){ _effect_behind_mc_primary.addChild(_local2); } else { _effect_behind_mc_secondary.addChild(_local2); }; }; _local2.game_speed = _game_speed; }; } private function StopParticlesIn(_arg1:MovieClip):void{ var _local2:int; _local2 = _arg1.numChildren; while (_local2 > 0) { _local2--; MovieClip(_arg1.getChildAt(_local2)).EndParticle(); }; } public function get TotalEffects():int{ return ((((_effect_mc_primary.numChildren + _effect_mc_secondary.numChildren) + _effect_behind_mc_primary.numChildren) + _effect_behind_mc_secondary.numChildren)); } public function AddEffectAt(_arg1:String, _arg2:Number, _arg3:Number):void{ AddParticle(new particle_data(_arg1, _arg2, _arg3)); } public function AddEffectAt_Box2DScale(_arg1:String, _arg2:Number, _arg3:Number):void{ AddEffectAt(_arg1, (_arg2 * 30), (_arg3 * 30)); } public function get EffectMCFront():MovieClip{ return (_effect_mc); } public function get EffectMCBack():MovieClip{ return (_effect_behind_mc); } private function RemoveRandomEffectFrom(_arg1:MovieClip):Boolean{ var _local2:*; if (_arg1.numChildren <= 0){ return (false); }; _local2 = Math.floor((Math.random() * (_arg1.numChildren - 0.0001))); if (_local2 < 0){ _local2 = 0; }; MovieClip(_arg1.getChildAt(_local2)).EndParticle(); return (true); } public function RemoveRandomSecondaryEffect():Boolean{ if (_effect_mc_secondary.numChildren <= 0){ return (RemoveRandomEffectFrom(_effect_behind_mc_secondary)); }; if (_effect_behind_mc_secondary.numChildren <= 0){ return (RemoveRandomEffectFrom(_effect_mc_secondary)); }; if (Math.random() < 0.5){ return (RemoveRandomEffectFrom(_effect_behind_mc_secondary)); }; return (RemoveRandomEffectFrom(_effect_mc_secondary)); } public function SetSlowmotion(_arg1:Number):void{ _game_speed = _arg1; SetSlowmotionIn(_effect_mc_primary); SetSlowmotionIn(_effect_mc_secondary); SetSlowmotionIn(_effect_behind_mc_primary); SetSlowmotionIn(_effect_behind_mc_secondary); } private function SetSlowmotionIn(_arg1:MovieClip):void{ var _local2:int; _local2 = _arg1.numChildren; while (_local2 > 0) { _local2--; MovieClip(_arg1.getChildAt(_local2)).game_speed = _game_speed; }; } } }//package Code.Handler
Section 146
//Explosions (Code.Handler.Explosions) package Code.Handler { import flash.display.*; import Code.Data.*; import Code.Box2D.Dynamics.*; import flash.geom.*; import Code.Box2D.Common.Math.*; import Code.Particles.*; public class Explosions { private var _sp:Array; private var explosionPowerObjects:Number;// = 5 private var _static_mc:MovieClip; private var _Handler_Fires:Fires; private var _Handler_Effects:Effects; private var _object_mc:MovieClip; private var _Handler_Camera:Cam; private var _Handler_Shake:Shake; private var explosionPowerPlayers:Number;// = 5 private var _dynamic_mc:MovieClip; private var _Handler_Sounds:Sounds; private var explosionPosX:Number; private var explosionPosY:Number; private var explosionBuffer:Array; private var _Handler_Players:PlayersKeeper; private var _static_objects_hitbox_mc:MovieClip; private var explosionDamagePlayers:Number;// = 20 private var m_world:b2World; private var _static_world_hitbox_mc:MovieClip; private var _Handler_Slowmo:Slowmo; private var _explosion_mc:MovieClip; private var explosionDamage:Number;// = 25 private var _m:Number; private var _n:int;// = 36 private var _p:int; private var _r:Number;// = 0 private var _static_world_cloud_hitbox_mc:MovieClip; private var _Handler_Output:OutputTrace; private var _static_objects_cloud_hitbox_mc:MovieClip; private var _powerForEachPin:Number; public function Explosions(){ _explosion_mc = new MovieClip(); _n = 36; _r = 0; explosionPowerObjects = 5; explosionPowerPlayers = 5; explosionDamage = 25; explosionDamagePlayers = 20; explosionBuffer = new Array(); super(); } public function LinkToFire(_arg1:Fires):void{ _Handler_Fires = _arg1; } public function Update(_arg1:Number):void{ var _local2:int; var _local3:b2Body; if (explosionBuffer.length > 0){ _local2 = 0; while (_local2 < explosionBuffer.length) { explosionBuffer[_local2][0] = (explosionBuffer[_local2][0] - 1); if (explosionBuffer[_local2][0] <= 0){ _local3 = explosionBuffer[_local2][1]; _local3.m_userData.objectData.Damage_Explosion(explosionBuffer[_local2][2]); explosionBuffer.splice(_local2, 1); }; _local2++; }; }; } public function TriggerExplosionAt_Box2DScale(_arg1:String, _arg2:Number, _arg3:Number):void{ _arg2 = Math.round((_arg2 * 30)); _arg3 = Math.round((_arg3 * 30)); TriggerExplosionAt(_arg1, _arg2, _arg3); } public function BuildClass(_arg1:ExplosionData):void{ var _local2:*; _Handler_Output = _arg1.Handler_Output; _Handler_Camera = _arg1.Handler_Camera; _Handler_Shake = _arg1.Handler_Shake; _Handler_Players = _arg1.Handler_Players; _Handler_Effects = _arg1.Handler_Effects; _Handler_Sounds = _arg1.Handler_Sounds; _Handler_Slowmo = _arg1.Handler_Slowmo; _static_mc = _arg1.static_mc; _dynamic_mc = _arg1.dynamic_mc; m_world = _arg1.m_world; _static_world_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_HITBOX")); _static_objects_hitbox_mc = MovieClip(_static_world_hitbox_mc.getChildByName("OBJECTS_HITBOX")); _static_world_cloud_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_CLOUD_HITBOX")); _static_objects_cloud_hitbox_mc = MovieClip(_static_world_cloud_hitbox_mc.getChildByName("OBJECTS_CLOUD_HITBOX")); _static_mc.addChild(_explosion_mc); _sp = new Array(); _local2 = 0; while (_local2 < _n) { _sp.push(new Array(Math.cos(GradToRad((_local2 * (360 / _n)))), Math.sin(GradToRad((_local2 * (360 / _n)))), 2, 3, 0, 0)); _local2++; }; _Handler_Output.Trace("Explosion Handler Created"); } private function GradToRad(_arg1:Number):Number{ return (((Math.PI / 180) * _arg1)); } public function TriggerExplosionAt(_arg1:String, _arg2:Number, _arg3:Number):Boolean{ var _local4:int; var _local5:b2Body; var _local6:Number; var _local7:int; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:int; var _local14:int; var _local15:b2Body; var _local16:Boolean; var _local17:Number; var _local18:Number; var _local19:*; var _local20:int; var _local21:*; _Handler_Output.Trace((((("Explosion Triggered At (" + _arg2) + ", ") + _arg3) + ")")); if (_static_world_hitbox_mc.hitTestPoint(_arg2, _arg3, true)){ if (!(_static_objects_hitbox_mc.hitTestPoint(_arg2, _arg3, true))){ _local16 = true; _local17 = (_arg2 - 5); while (_local17 <= (_arg2 + 5)) { _local18 = (_arg3 - 5); while (_local18 <= (_arg3 + 5)) { if (((_static_world_hitbox_mc.hitTestPoint(_local17, _local18, true)) && (!(_static_objects_hitbox_mc.hitTestPoint(_local17, _local18, true))))){ } else { _arg2 = _local17; _arg3 = _local18; _local16 = false; _local17 = (_arg2 + 10); _local18 = (_arg3 + 10); _Handler_Output.Trace((((("Explosion Triggered At Updated Position (" + _arg2) + ", ") + _arg3) + ")")); }; _local18 = (_local18 + 5); }; _local17 = (_local17 + 5); }; if (_local16){ _Handler_Output.Trace("Explosion triggered inside a static object. Aborting explosion"); return (false); }; }; }; explosionPosX = _arg2; explosionPosY = _arg3; if (_Handler_Camera.IsInside(new Point(_arg2, _arg3))){ _Handler_Shake.Add(5, 4); }; _r = 33; _m = 0; _p = _n; _local4 = 3; _local7 = 0; while (_local7 < _n) { _sp[_local7][2] = _arg2; _sp[_local7][3] = _arg3; _sp[_local7][4] = 0; _local19 = 0; while (_local19 <= _r) { _sp[_local7][2] = (_sp[_local7][2] + (_sp[_local7][0] * _local4)); _sp[_local7][3] = (_sp[_local7][3] + (_sp[_local7][1] * _local4)); if (((_static_world_hitbox_mc.hitTestPoint(_sp[_local7][2], _sp[_local7][3], true)) || (_static_world_cloud_hitbox_mc.hitTestPoint(_sp[_local7][2], _sp[_local7][3], true)))){ if (((!(_static_objects_hitbox_mc.hitTestPoint(_sp[_local7][2], _sp[_local7][3], true))) && (!(_static_objects_cloud_hitbox_mc.hitTestPoint(_sp[_local7][2], _sp[_local7][3], true))))){ _sp[_local7][2] = (_sp[_local7][2] + (_sp[_local7][0] * _local4)); _sp[_local7][3] = (_sp[_local7][3] + (_sp[_local7][1] * _local4)); _sp[_local7][4] = 1; _sp[_local7][5] = _local19; _m = (_m + (_r - _local19)); _p = (_p - 1); break; } else { _local5 = m_world.GetDynamicBodyAt(_sp[_local7][2], _sp[_local7][3], true); if (_local5 == null){ _Handler_Output.Trace((("Error 2: Object '" + _local5) + "' doesn't exist")); } else { if (_local5.m_userData.objectData.CanBlockExplosions){ _sp[_local7][2] = (_sp[_local7][2] + (_sp[_local7][0] * _local4)); _sp[_local7][3] = (_sp[_local7][3] + (_sp[_local7][1] * _local4)); _sp[_local7][4] = 1; _sp[_local7][5] = _local19; _m = (_m + (_r - _local19)); _p = (_p - 1); if (_local5.m_userData.objectData.AffectedByExplosions){ _local6 = (1 - (_local19 / _r)); _local6 = (_local6 * 4); if (_local6 > 1){ _local6 = 1; }; _local6 = (_local6 * (0.01 * _local5.GetMass())); _local5.ApplyImpulse(new b2Vec2(((_sp[_local7][2] - _arg2) * _local6), (((_sp[_local7][3] - _arg3) - 10) * _local6)), new b2Vec2((_sp[_local7][2] / 30), (_sp[_local7][3] / 30))); _local5.GetUserData().objectData.Damage_Explosion((explosionDamage * 0.1)); }; break; }; }; }; }; _local19 = (_local19 + _local4); }; if (_sp[_local7][4] == 0){ _sp[_local7][5] = _r; }; _local7++; }; if (_m > 0){ _powerForEachPin = ((_m / _p) * 0.25); if (_powerForEachPin > (_r * 0.5)){ _powerForEachPin = (_r * 0.5); }; _local7 = 0; while (_local7 < _n) { if (_sp[_local7][4] == 0){ _local21 = 1; while (_local21 <= _powerForEachPin) { _sp[_local7][2] = (_sp[_local7][2] + (_sp[_local7][0] * _local4)); _sp[_local7][3] = (_sp[_local7][3] + (_sp[_local7][1] * _local4)); if (((_static_world_hitbox_mc.hitTestPoint(_sp[_local7][2], _sp[_local7][3], true)) || (_static_world_cloud_hitbox_mc.hitTestPoint(_sp[_local7][2], _sp[_local7][3], true)))){ if (((!(_static_objects_hitbox_mc.hitTestPoint(_sp[_local7][2], _sp[_local7][3], true))) && (!(_static_objects_cloud_hitbox_mc.hitTestPoint(_sp[_local7][2], _sp[_local7][3], true))))){ _sp[_local7][2] = (_sp[_local7][2] + (_sp[_local7][0] * _local4)); _sp[_local7][3] = (_sp[_local7][3] + (_sp[_local7][1] * _local4)); _sp[_local7][4] = 1; _sp[_local7][5] = (_sp[_local7][5] + _local21); break; } else { _local5 = m_world.GetDynamicBodyAt(_sp[_local7][2], _sp[_local7][3], true); if (_local5 == null){ _Handler_Output.Trace((("Error 3: Object '" + _local5) + "' doesn't exist")); } else { if (_local5.m_userData.objectData.CanBlockExplosions){ _sp[_local7][4] = 1; _sp[_local7][5] = (_sp[_local7][5] + _local21); break; }; }; }; }; _local21 = (_local21 + _local4); }; if (_sp[_local7][4] == 0){ _sp[_local7][5] = (_sp[_local7][5] + _powerForEachPin); }; }; _local7++; }; _r = (_r + _powerForEachPin); _explosion_mc.graphics.clear(); _explosion_mc.graphics.lineStyle(1, 0xFF0000, 1, false, "none"); _explosion_mc.graphics.beginFill(0xFF0000, 0); _explosion_mc.graphics.moveTo(_sp[0][2], _sp[0][3]); _local20 = 1; while (_local20 < _n) { _explosion_mc.graphics.lineTo(_sp[_local20][2], _sp[_local20][3]); _local20++; }; _explosion_mc.graphics.lineTo(_sp[0][2], _sp[0][3]); _explosion_mc.graphics.endFill(); } else { _explosion_mc.graphics.clear(); _explosion_mc.graphics.lineStyle(1, 0xFF0000, 1, false, "none"); _explosion_mc.graphics.beginFill(0xFF0000, 0); _explosion_mc.graphics.drawCircle(_arg2, _arg3, (_r + 1)); _explosion_mc.graphics.endFill(); }; _local13 = 0; _local14 = 0; while (_local14 < _Handler_Players.Players.length) { if (!(_Handler_Players.Players[_local14].State.Gone)){ if (_explosion_mc.hitTestPoint(_Handler_Players.Players[_local14].ExplosionX(), _Handler_Players.Players[_local14].ExplosionY(), true)){ _local10 = (_Handler_Players.Players[_local14].ExplosionX() - explosionPosX); _local11 = (_Handler_Players.Players[_local14].ExplosionY() - explosionPosY); _local12 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); if (_local12 <= (_r / 2)){ _local9 = 1; } else { _local9 = (1 - ((_local12 - (_r / 2)) / (_r / 2))); if (_local9 < 0){ _local9 = 0; }; }; if (_local9 > 0){ _local8 = Math.atan2(_local11, _local10); _Handler_Players.Players[_local14].ExplosionHit(_local8, (explosionPowerPlayers * _local9), (explosionDamagePlayers * _local9)); if (((!(_Handler_Players.Players[_local14].Ignore)) && ((_Handler_Players.Players[_local14].State.HP > 0)))){ _local13 = (_local13 + 1); }; }; }; }; _local14++; }; if (_local13 >= 2){ _Handler_Slowmo.AddSlowmotion(new SlowmoData(0, (24 * 1), (24 * 0.5), 0.25)); }; if (_local13 >= 1){ _Handler_Shake.Add(2, 2); }; _local15 = m_world.m_bodyList; while (_local15) { if ((_local15.m_userData is Sprite)){ if (_explosion_mc.hitTestPoint(_local15.m_userData.x, _local15.m_userData.y, true)){ if (_local15.m_userData.objectData.AffectedByExplosions){ _local10 = (_local15.m_userData.x - explosionPosX); _local11 = ((_local15.m_userData.y - 4) - explosionPosY); _local12 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); if (_local12 <= (_r / 2)){ _local9 = 1; } else { _local9 = (1 - (((_local12 * 2) - _r) / _r)); if (_local9 < 0){ _local9 = 0; }; }; if (_local9 > 0){ _Handler_Fires.AddSmokeToObject(_local15, 2); _local8 = Math.atan2(_local11, _local10); explosionBuffer.push([1, _local15, explosionDamage]); _local15.ApplyImpulse(new b2Vec2((((Math.cos(_local8) * _local15.GetMass()) * explosionPowerObjects) * _local9), (((Math.sin(_local8) * _local15.GetMass()) * explosionPowerObjects) * _local9)), _local15.GetWorldPoint(new b2Vec2((-(Math.cos(_local8)) * 0.2), (-(Math.sin(_local8)) * 0.1)))); }; }; }; }; _local15 = _local15.m_next; }; _Handler_Effects.AddParticle(new particle_data("explosion_centrum", _arg2, _arg3)); return (true); } } }//package Code.Handler
Section 147
//Fires (Code.Handler.Fires) package Code.Handler { import Code.Box2D.Dynamics.*; import Code.Box2D.Common.Math.*; import flash.display.*; import flash.utils.*; import Code.Data.*; import flash.geom.*; public class Fires { private var _burn_timer:Number;// = 96 private var _in_fire_test_mc:MovieClip; private var _static_mc:MovieClip; private var _Handler_Effects:Effects; private var _fire_nodes:Array; private var _firePlayerObjectTimer:Number; private var _fire_mc:MovieClip; private var _Handler_Camera:Cam; private var _fireObjectFireDamageTimer:Number; private var _fireTimer:Number; private var _dynamic_mc:MovieClip; private var _update_sequence:int;// = 1 private var game_speed:Number;// = 1 private var _Handler_Players:PlayersKeeper; private var _Handler_Sounds:Sounds; private var _static_objects_hitbox_mc:MovieClip; private var _letFireDrop:Boolean;// = false private var _static_world_hitbox_mc:MovieClip; private var m_world:b2World; private var _smoke_packages:Array; private var _object_shape_container_mc:MovieClip; private var _Handler_Output:OutputTrace; private var _static_objects_cloud_hitbox_mc:MovieClip; private var _static_world_cloud_hitbox_mc:MovieClip; public function Fires(_arg1:ExplosionData, _arg2:MovieClip){ _burn_timer = 96; _update_sequence = 1; _letFireDrop = false; game_speed = 1; super(); _Handler_Output = _arg1.Handler_Output; _Handler_Camera = _arg1.Handler_Camera; _Handler_Players = _arg1.Handler_Players; _Handler_Effects = _arg1.Handler_Effects; _Handler_Sounds = _arg1.Handler_Sounds; _static_mc = _arg1.static_mc; _dynamic_mc = _arg1.dynamic_mc; m_world = _arg1.m_world; _object_shape_container_mc = _arg2; _static_world_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_HITBOX")); _static_objects_hitbox_mc = MovieClip(_static_world_hitbox_mc.getChildByName("OBJECTS_HITBOX")); _static_world_cloud_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_CLOUD_HITBOX")); _static_objects_cloud_hitbox_mc = MovieClip(_static_world_cloud_hitbox_mc.getChildByName("OBJECTS_CLOUD_HITBOX")); _fire_mc = new MovieClip(); _static_mc.addChild(_fire_mc); _smoke_packages = new Array(); _fire_nodes = new Array(); _in_fire_test_mc = new MovieClip(); _in_fire_test_mc.graphics.lineStyle(0.5, 0xFF0000, 1); _in_fire_test_mc.graphics.beginFill(0xFF0000, 0.5); _in_fire_test_mc.graphics.moveTo(-4, 0); _in_fire_test_mc.graphics.lineTo(-4, -16); _in_fire_test_mc.graphics.lineTo(4, -16); _in_fire_test_mc.graphics.lineTo(4, 0); _in_fire_test_mc.graphics.lineTo(4, 0); _in_fire_test_mc.graphics.endFill(); _fireTimer = setInterval(UpdateFires, (1000 / 24)); _firePlayerObjectTimer = setInterval(PlayerObjectOverlap, 42); _fireObjectFireDamageTimer = setInterval(ObjectFireDamage, 84); _Handler_Output.Trace("Fire Handler Created"); } private function CollisionFireBlock(_arg1:Point):Boolean{ var _local2:b2Body; if (((CollisionStatic(_arg1)) || (CollisionStaticCloud(_arg1)))){ return (true); }; _local2 = m_world.GetDynamicBodyAt(_arg1.x, _arg1.y, true); if (_local2 != null){ if (_local2.GetUserData().objectData.CanBlockFire){ return (true); }; }; return (false); } private function PlayerOverlap():void{ var _local1:int; var _local2:int; _local1 = 0; while (_local1 < _Handler_Players.Players.length) { if (!(_Handler_Players.Players[_local1].State.Gone)){ if (_fire_mc.hitTestObject(_Handler_Players.Players[_local1].CollisionMC)){ _local2 = (_fire_nodes.length - 1); while (_local2 >= 0) { if (_fire_nodes[_local2].Owner != _local1){ if (_fire_nodes[_local2].PlayerNR != _local1){ if (_fire_nodes[_local2].FireArea.hitTestObject(_Handler_Players.Players[_local1].CollisionMC)){ if (_fire_nodes[_local2].IsFlamethrower){ _Handler_Players.Players[_local1].State.BurnState = (_Handler_Players.Players[_local1].State.BurnState + 20); }; _Handler_Players.Players[_local1].FireContact(true, 3); _local2 = -1; }; }; }; _local2--; }; }; PlayerInFire(_local1); }; _local1++; }; } private function ObjectOverlap():void{ var _local1:b2Body; var _local2:int; var _local3:int; _local2 = 0; while (_local2 < m_world.BurnObjectList.length) { _local1 = m_world.BurnObjectList[_local2]; if (!(_local1.GetUserData().objectData.ObjectOnFire)){ if (_fire_mc.hitTestObject(_local1.GetUserData().objectData.ShapeMC)){ _local3 = (_fire_nodes.length - 1); while (_local3 >= 0) { if (_fire_nodes[_local3].FireArea.hitTestObject(_local1.GetUserData().objectData.ShapeMC)){ AddFireToObject(_local1); _local3 = -1; }; _local3--; }; }; }; _local2++; }; } private function CollisionStaticCloud(_arg1:Point):Boolean{ if (((_static_world_cloud_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true)) && (!(_static_objects_cloud_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true))))){ return (true); }; return (false); } public function AddFireToObject(_arg1:b2Body):void{ var _local2:FireNodeData; if (_arg1.GetUserData().objectData.CanBurn){ if (!(_arg1.GetUserData().objectData.ObjectOnFire)){ _local2 = new FireNodeData(_Handler_Effects, _fire_mc, _burn_timer, 0, 0, 0, 0); _local2.BurnBody(_arg1); _fire_nodes.push(_local2); _arg1.GetUserData().objectData.ObjectOnFire = true; }; }; } private function ObjectFireDamage():void{ var _local1:b2Body; var _local2:int; var _local3:int; _local2 = 0; while (_local2 < m_world.CanTakeFireDamageList.length) { _local1 = m_world.CanTakeFireDamageList[_local2]; if (_fire_mc.hitTestObject(_local1.GetUserData().objectData.ShapeMC)){ _local3 = (_fire_nodes.length - 1); while (_local3 >= 0) { if (_fire_nodes[_local3].FireArea.hitTestObject(_local1.GetUserData().objectData.ShapeMC)){ if (_fire_nodes[_local3].IsFlamethrower){ _local1.GetUserData().objectData.Damage_Fire((game_speed * 6)); } else { _local1.GetUserData().objectData.Damage_Fire((game_speed * 2)); }; _local3 = -1; }; _local3--; }; }; _local2++; }; } private function UpdateFires():void{ var _local1:b2Body; var _local2:int; var _local3:int; var _local4:Number; var _local5:int; var _local6:Boolean; var _local7:Point; var _local8:int; var _local9:int; var _local10:FireNodeData; if (_smoke_packages.length > 0){ _local3 = 0; while (_local3 < _smoke_packages.length) { _smoke_packages[_local3].Update(game_speed); if (_smoke_packages[_local3].SmokePackageCompleted){ _smoke_packages.splice(_local3, 1); }; _local3++; }; }; _local2 = (_fire_nodes.length - 1); while (_local2 >= 0) { _fire_nodes[_local2].Update(game_speed); if (_fire_nodes[_local2].InAir){ if (!(_fire_nodes[_local2].IsFlamethrower)){ _fire_nodes[_local2].VelX = (_fire_nodes[_local2].VelX * (0.9 + (0.1 * (1 - game_speed)))); } else { _fire_nodes[_local2].VelX = (_fire_nodes[_local2].VelX * (0.93 + (0.07 * (1 - game_speed)))); }; if (_fire_nodes[_local2].SlowingDown){ if (!(_fire_nodes[_local2].IsFlamethrower)){ _fire_nodes[_local2].VelY = (_fire_nodes[_local2].VelY * (0.9 + (0.1 * (1 - game_speed)))); } else { _fire_nodes[_local2].VelY = (_fire_nodes[_local2].VelY * (0.95 + (0.05 * (1 - game_speed)))); }; if (Math.abs(_fire_nodes[_local2].TotalVel) <= 2){ _fire_nodes[_local2].SlowingDown = false; }; } else { _fire_nodes[_local2].VelY = (_fire_nodes[_local2].VelY + (0.2 * game_speed)); }; _local4 = 1; _local4 = Math.round((_fire_nodes[_local2].TotalVel / 4)); if (_local4 < 1){ _local4 = 1; }; _local5 = 0; while (_local5 < _local4) { _fire_nodes[_local2].PosX = (_fire_nodes[_local2].PosX + ((_fire_nodes[_local2].VelX * game_speed) / _local4)); _fire_nodes[_local2].PosY = (_fire_nodes[_local2].PosY + ((_fire_nodes[_local2].VelY * game_speed) / _local4)); _local6 = (_fire_nodes[_local2].VelY < 0); if (_fire_nodes[_local2].PassCloud){ _local6 = true; }; _local7 = new Point(_fire_nodes[_local2].PosX, _fire_nodes[_local2].PosY); if (((CollisionStatic(_local7)) || (((CollisionStaticCloud(_local7)) && (!(_local6)))))){ _local8 = 0; while (_local8 < 10) { _fire_nodes[_local2].PosX = (_fire_nodes[_local2].PosX - ((_fire_nodes[_local2].VelX * game_speed) / (_local4 * 4))); _fire_nodes[_local2].PosY = (_fire_nodes[_local2].PosY - ((_fire_nodes[_local2].VelY * game_speed) / (_local4 * 4))); _local7 = new Point(_fire_nodes[_local2].PosX, _fire_nodes[_local2].PosY); if (((!(CollisionStatic(_local7))) && (!(CollisionStaticCloud(_local7))))){ _local8 = 10; }; _local8++; }; if (_letFireDrop){ _local7 = new Point(_fire_nodes[_local2].PosX, (_fire_nodes[_local2].PosY + 2)); if (((CollisionStatic(_local7)) || (((CollisionStaticCloud(_local7)) && (!(_local6)))))){ _fire_nodes[_local2].InAir = false; } else { _fire_nodes[_local2].VelY = 0; if (_fire_nodes[_local2].VelX < 0){ _fire_nodes[_local2].VelX = 0.1; } else { if (_fire_nodes[_local2].VelX > 0){ _fire_nodes[_local2].VelX = -0.1; }; }; }; } else { _fire_nodes[_local2].InAir = false; }; } else { if (_object_shape_container_mc.hitTestPoint(_fire_nodes[_local2].PosX, _fire_nodes[_local2].PosY, true)){ _local1 = m_world.GetFireCarrierAt(_fire_nodes[_local2].PosX, _fire_nodes[_local2].PosY); if (_local1 != null){ _local9 = 0; while (_local9 < 10) { _fire_nodes[_local2].PosX = (_fire_nodes[_local2].PosX - ((_fire_nodes[_local2].VelX * game_speed) / (_local4 * 4))); _fire_nodes[_local2].PosY = (_fire_nodes[_local2].PosY - ((_fire_nodes[_local2].VelY * game_speed) / (_local4 * 4))); if (!(_local1.m_userData.objectData.ShapeMC.hitTestPoint(_fire_nodes[_local2].PosX, _fire_nodes[_local2].PosY, true))){ _local9 = 10; }; _local9++; }; if (_letFireDrop){ if (_local1.m_userData.objectData.ShapeMC.hitTestPoint(_fire_nodes[_local2].PosX, (_fire_nodes[_local2].PosY + 2), true)){ _fire_nodes[_local2].InAir = false; } else { _fire_nodes[_local2].VelY = 0; if (_fire_nodes[_local2].VelX < 0){ _fire_nodes[_local2].VelX = 0.1; } else { if (_fire_nodes[_local2].VelX > 0){ _fire_nodes[_local2].VelX = -0.1; }; }; }; } else { _fire_nodes[_local2].InAir = false; }; if (!(_fire_nodes[_local2].InAir)){ _fire_nodes[_local2].FollowBody(_local1, _local1.GetLocalPoint(new b2Vec2((_fire_nodes[_local2].PosX / 30), (_fire_nodes[_local2].PosY / 30)))); }; }; }; }; _local5++; }; _fire_nodes[_local2].UpdateMC(); if (!(_fire_nodes[_local2].InAir)){ _local10 = GetNearbyFireNode(_fire_nodes[_local2]); if (_local10 != null){ if (_fire_nodes[_local2].BurnTimer > _local10.BurnTimer){ _local10.BurnTimer = _fire_nodes[_local2].BurnTimer; }; _fire_nodes[_local2].End(); }; }; }; if (_fire_nodes[_local2].FireNodeCompleted){ _fire_nodes.splice(_local2, 1); }; _local2--; }; } private function PlayerObjectOverlap():void{ _update_sequence = (_update_sequence + 1); if (_update_sequence > 2){ _update_sequence = 1; }; if (_update_sequence == 1){ ObjectOverlap(); } else { if (_update_sequence == 2){ PlayerOverlap(); }; }; } private function CollisionStatic(_arg1:Point):Boolean{ if (((_static_world_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true)) && (!(_static_objects_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true))))){ return (true); }; return (false); } public function AddSmokeToObject(_arg1:b2Body, _arg2:Number):void{ var _local3:SmokePackageDataDynamic; if (_arg1.GetUserData().objectData.CanSmoke){ if (_arg2 > _arg1.GetUserData().objectData.ObjectSmokeGrade){ _arg1.GetUserData().objectData.ObjectSmokeGrade = _arg2; _local3 = new SmokePackageDataDynamic(_Handler_Effects); _local3.SetSmokeElementAt(_arg1); _smoke_packages.push(_local3); }; }; } public function Stop():void{ clearInterval(_fireTimer); clearInterval(_firePlayerObjectTimer); clearInterval(_fireObjectFireDamageTimer); } public function AddFlame(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:int):void{ var _local5:Number; var _local6:Number; var _local7:b2Vec2; _local5 = (_arg3 * (Math.PI / 180)); _local6 = (9 + (Math.random() * 1)); _local7 = new b2Vec2((Math.cos(_local5) * _local6), (Math.sin(_local5) * _local6)); _fire_nodes.push(new FireNodeData(_Handler_Effects, _fire_mc, _burn_timer, _arg1, _arg2, _local7.x, _local7.y, _arg4, 1)); } public function TriggerFireAt(_arg1:String, _arg2:Number, _arg3:Number):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:int; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Boolean; var _local19:Point; var _local20:int; _Handler_Output.Trace((((("Fire Triggered At (" + _arg2) + ", ") + _arg3) + ")")); if (_static_world_hitbox_mc.hitTestPoint(_arg2, _arg3, true)){ if (!(_static_objects_hitbox_mc.hitTestPoint(_arg2, _arg3, true))){ _Handler_Output.Trace("Fire triggered inside a static object. Aborting fire"); return; }; }; _local8 = 3; _local9 = 0.5; _local10 = 22; _local11 = 20; switch (_arg1.toUpperCase()){ case "GASCAN": case "BARREL": _local11 = 16; _local8 = 2.2; _local9 = 0.4; _local10 = 18; break; }; _local12 = 0; while (_local12 < _local10) { _local4 = ((Math.PI / (_local10 / 2)) * _local12); _local7 = (_local8 + (Math.random() * _local9)); _local5 = (Math.cos(_local4) * _local7); _local6 = ((Math.sin(_local4) * _local7) - (Math.random() * 0.5)); _fire_nodes.push(new FireNodeData(_Handler_Effects, _fire_mc, _burn_timer, (_arg2 + (Math.cos(_local4) * 3)), (_arg3 + (Math.sin(_local4) * 3)), _local5, _local6)); _local12++; }; _local17 = 0; while (_local17 < _Handler_Players.Players.length) { _local13 = _arg2; _local14 = _arg3; _local15 = (_Handler_Players.Players[_local17].MidPosX() - _arg2); _local16 = (_Handler_Players.Players[_local17].MidPosY() - _arg3); if (Math.sqrt(((_local15 * _local15) + (_local16 * _local16))) <= _local11){ _local5 = (_local15 / _local11); _local6 = (_local16 / _local11); _local18 = false; _local19 = new Point(_arg2, _arg3); _local20 = 1; while (_local20 <= _local11) { _local19.x = (_local19.x + _local5); _local19.y = (_local19.y + _local6); if (CollisionFireBlock(_local19)){ _local18 = true; _local20 = (_local11 + 1); }; _local20++; }; if (!(_local18)){ _Handler_Players.Players[_local17].State.BurnState = 100; PlayerInFire(_local17); }; }; _local17++; }; } public function TriggerFireAt_Box2DScale(_arg1:String, _arg2:Number, _arg3:Number):void{ _arg2 = Math.round((_arg2 * 30)); _arg3 = Math.round((_arg3 * 30)); TriggerFireAt(_arg1, _arg2, _arg3); } private function GradToRad(_arg1:Number):Number{ return (((Math.PI / 180) * _arg1)); } private function GetNearbyFireNode(_arg1:FireNodeData):FireNodeData{ var _local2:FireNodeData; var _local3:Number; var _local4:int; var _local5:Number; var _local6:Number; var _local7:Number; _local2 = null; _local3 = 3; _local4 = 0; while (_local4 < _fire_nodes.length) { if (_fire_nodes[_local4].CanBeMerged){ if (_fire_nodes[_local4] != _arg1){ _local5 = (_fire_nodes[_local4].PosX - _arg1.PosX); _local6 = (_fire_nodes[_local4].PosY - _arg1.PosY); _local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); if (_local7 < _local3){ _local3 = _local7; _local2 = _fire_nodes[_local4]; }; }; }; _local4++; }; return (_local2); } private function PlayerInFire(_arg1:int):void{ var _local2:FireNodeData; if (_Handler_Players.Players[_arg1].State.BurnState > 0){ if (((!(_Handler_Players.Players[_arg1].State.FireRank1Attached)) && ((_Handler_Players.Players[_arg1].State.BurnState >= _Handler_Players.Players[_arg1].State.FireRank1Minimum)))){ _local2 = new FireNodeData(_Handler_Effects, _fire_mc, _burn_timer, 0, 0, 0, 0); _local2.BurnPlayer(_Handler_Players.Players[_arg1], _arg1, 1); _Handler_Players.Players[_arg1].State.FireRank1Attached = true; _fire_nodes.push(_local2); }; if (((!(_Handler_Players.Players[_arg1].State.FireRank2Attached)) && ((_Handler_Players.Players[_arg1].State.BurnState >= _Handler_Players.Players[_arg1].State.FireRank2Minimum)))){ _local2 = new FireNodeData(_Handler_Effects, MovieClip(_dynamic_mc.getChildByName("EFFECTS2")), _burn_timer, 0, 0, 0, 0); _local2.BurnPlayer(_Handler_Players.Players[_arg1], _arg1, 2); _Handler_Players.Players[_arg1].State.FireRank2Attached = true; _fire_nodes.push(_local2); }; }; } public function Update(_arg1:Number):void{ game_speed = _arg1; } public function PlayerPosInFire(_arg1:Number, _arg2:Number):Boolean{ var _local3:int; if (_fire_nodes.length <= 0){ return (false); }; _in_fire_test_mc.x = _arg1; _in_fire_test_mc.y = _arg2; if (_fire_mc.hitTestObject(_in_fire_test_mc)){ _local3 = (_fire_nodes.length - 1); while (_local3 >= 0) { if (_fire_nodes[_local3].FireArea.hitTestObject(_in_fire_test_mc)){ return (true); }; _local3--; }; }; return (false); } } }//package Code.Handler
Section 148
//GameMain (Code.Handler.GameMain) package Code.Handler { import flash.filters.*; import Code.Data.*; import Code.Data.Players.*; import Code.Data.Weapons.*; import Code.Particles.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Box2D.Common.*; import Code.Box2D.Common.Math.*; import flash.display.*; import flash.events.*; import flash.net.*; import flash.ui.*; public class GameMain { private var _roundOver:Boolean; private var _ContactData:ContactData; private var _usingScore:Boolean; private var _Handler_Portals:Portals; private var _tips:MovieClip; private var _Handler_Camera:Cam; var fullcolour:ColorMatrixFilter; private var _game_window:MovieClip; private var _victory_text:MovieClip; private var _last_bgNoiseFrame:int;// = 1 private var _Handler_Options:Options; private var _round_initialized:int; private var _box2D_speed:Number;// = 100 private var _Handler_Deconstructer:Deconstructer; private var _Handler_Mouse:InputMouse; private var _dynamic_mc:MovieClip; private var _Handler_Projectiles:Projectiles; private var _Handler_Sounds:Sounds; private var _Handler_Box2DMouse:Box2DMouse; private var _Handler_Players:PlayersKeeper; private var _static_objects_hitbox_mc:MovieClip; private var _countdown_mc:MovieClip; private var _player_speed:Number;// = 1 private var _shake_container:MovieClip; private var _Handler_WeaponSpawn:WeaponSpawn; private var _dynamic_gui_mc:MovieClip; private var _Handler_Slowmo:Slowmo; public var m_iterations:int;// = 20 private var _Handler_Weapons:Weapons; private var _static_players_hitbox_mc:MovieClip; private var _gameModeWinnerShown:Boolean; private var _object_shape_container_mc:MovieClip; private var _static_world_cloud_hitbox_mc:MovieClip; private var _static_objects_cloud_hitbox_mc:MovieClip; private var _static_ladder_hitbox_mc:MovieClip; private var _Handler_Fires:Fires; private var _Handler_Maps:Maps; private var _camera_speed:Number;// = 1 private var _Handler_Effects:Effects; private var _static_mc:MovieClip; private var _Handler_Shake:Shake; private var _score:Scoreboard; private var _Handler_Commands:CommandList; private var _tipsOver:Boolean; private var _bgNoise:MovieClip; public var m_world:b2World; private var _countdownOver:Boolean; private var _Handler_MenuMain:MenuMain; private var _countdown:int;// = 0 private var _Handler_ProjectilesUpdater:ProjectilesUpdater; private var _static_world_hitbox_mc:MovieClip; private var _game_mc:MovieClip; var greyscale:ColorMatrixFilter; var colour:Array; var nocolour:Array; private var _press_space_indication:MovieClip; private var _bodyIndex:int; public var m_timeStep:Number;// = 0.0333333333333333 private var _Handler_Keyboard:InputKeyboard; private var _prevGameData:NewGameData; private var _Handler_Explosions:Explosions; private var _Handler_Output:OutputTrace; private var _Handler_BasicOverlays:BasicOverlays; private var _stage; public function GameMain(_arg1:GameMainData){ _box2D_speed = 100; _camera_speed = 1; _player_speed = 1; _countdown = 0; _last_bgNoiseFrame = 1; nocolour = [0.213, 0.715, 0.072, 0, 0, 0.213, 0.715, 0.072, 0, 0, 0.213, 0.715, 0.072, 0, 0, 0, 0, 0, 1, 0]; colour = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; greyscale = new ColorMatrixFilter(nocolour); fullcolour = new ColorMatrixFilter(colour); m_iterations = 20; m_timeStep = (1 / 30); super(); _game_mc = _arg1.game_mc; _stage = _arg1.stage_temp; _Handler_Output = _arg1.Handler_Output; _Handler_Options = _arg1.Handler_Options; _Handler_Sounds = _arg1.Handler_Sounds; _Handler_Sounds.ChangeVolume(1); _Handler_Weapons = new Weapons(_Handler_Output); _Handler_Projectiles = new Projectiles(_Handler_Output); _Handler_Maps = new Maps(_Handler_Output); _Handler_Mouse = new InputMouse(_stage); _Handler_Commands = new CommandList(_Handler_Output); _tips = new tips(); _tips.gotoAndStop(1); _press_space_indication = new press_space(); _victory_text = new round_winner(); _Handler_Output.Trace("Main Game Initialized"); } private function ShowVictoryText():void{ _victory_text.visible = true; } public function StartNewGame(_arg1:NewGameData):void{ var _static_players_area_mc:MovieClip; var slomo_rectangle:MovieClip; var gui_holder_mc:MovieClip; var level_mc:levels; var mc_effects_behind:MovieClip; var mc_objects:MovieClip; var mc_scrap:MovieClip; var mc_players:MovieClip; var mc_weapons:MovieClip; var mc_effects:MovieClip; var mc_effects2:MovieClip; var mc_projectiles:MovieClip; var mc_lazers:MovieClip; var level_front_mc:levels_front; var pData:PlayersKeeperData; var eData:ExplosionData; var puData:ProjectilesUpdaterData; var p:int; var gameData = _arg1; _prevGameData = gameData; _Handler_Keyboard = new InputKeyboard(_stage); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("P"), _Handler_Options.ToggleEffectLevel); _static_mc = new MovieClip(); _static_mc.name = "STATIC"; _static_world_hitbox_mc = new MovieClip(); _static_world_hitbox_mc.name = "WORLD_HITBOX"; _static_world_cloud_hitbox_mc = new MovieClip(); _static_world_cloud_hitbox_mc.name = "WORLD_CLOUD_HITBOX"; _static_objects_cloud_hitbox_mc = new MovieClip(); _static_objects_cloud_hitbox_mc.name = "OBJECTS_CLOUD_HITBOX"; _static_ladder_hitbox_mc = new MovieClip(); _static_ladder_hitbox_mc.name = "LADDER_HITBOX"; _static_objects_hitbox_mc = new MovieClip(); _static_objects_hitbox_mc.name = "OBJECTS_HITBOX"; _static_players_hitbox_mc = new MovieClip(); _static_players_hitbox_mc.name = "PLAYERS_HITBOX"; _static_players_area_mc = new MovieClip(); _static_players_area_mc.name = "PLAYERS_AREA"; _static_mc.addChild(_static_ladder_hitbox_mc); _static_mc.addChild(_static_players_hitbox_mc); _static_mc.addChild(_static_players_area_mc); _static_world_hitbox_mc.addChild(_static_objects_hitbox_mc); _static_mc.addChild(_static_world_hitbox_mc); _static_world_cloud_hitbox_mc.addChild(_static_objects_cloud_hitbox_mc); _static_mc.addChild(_static_world_cloud_hitbox_mc); _dynamic_mc = new MovieClip(); _dynamic_mc.name = "DYNAMIC"; _object_shape_container_mc = new MovieClip(); _object_shape_container_mc.name = "ALLOBJECTS"; HideStatic(); _game_mc.addChild(_static_mc); _game_mc.addChild(_object_shape_container_mc); _shake_container = new MovieClip(); _shake_container.name = "DYNAMICHOLDER"; _shake_container.addChild(_dynamic_mc); _game_window = new MovieClip(); _game_window.name = "GAME_WINDOW"; _game_window.addChild(_shake_container); _game_mc.addChild(_game_window); slomo_rectangle = new MovieClip(); _game_mc.addChild(slomo_rectangle); gui_holder_mc = new gui_holder(); gui_holder_mc.name = "GUI_HOLDER"; _game_mc.addChild(gui_holder_mc); if (gameData.pSetupData.totalPlayers > 4){ gui_holder_mc.gotoAndStop(2); } else { gui_holder_mc.gotoAndStop(1); }; _game_mc.addChild(_press_space_indication); _game_mc.addChild(_victory_text); HideSpaceIndication(); HideVictoryText(); level_mc = new levels(); level_mc.name = "LEVEL"; level_mc.gotoAndStop(gameData.lvl); _dynamic_mc.addChild(level_mc); mc_effects_behind = new MovieClip(); mc_effects_behind.name = "EFFECTSBEHIND"; _dynamic_mc.addChild(mc_effects_behind); mc_objects = new MovieClip(); mc_objects.name = "OBJECTS"; _dynamic_mc.addChild(mc_objects); mc_scrap = new MovieClip(); mc_scrap.name = "SCRAP"; _dynamic_mc.addChild(mc_scrap); mc_players = new MovieClip(); mc_players.name = "PLAYERS"; _dynamic_mc.addChild(mc_players); mc_weapons = new MovieClip(); mc_weapons.name = "WEAPONS"; _dynamic_mc.addChild(mc_weapons); mc_effects = new MovieClip(); mc_effects.name = "EFFECTS"; _dynamic_mc.addChild(mc_effects); mc_effects2 = new MovieClip(); mc_effects2.name = "EFFECTS2"; _dynamic_mc.addChild(mc_effects2); mc_projectiles = new MovieClip(); mc_projectiles.name = "PROJECTILES"; _dynamic_mc.addChild(mc_projectiles); mc_lazers = new MovieClip(); mc_lazers.name = "LAZERS"; _dynamic_mc.addChild(mc_lazers); level_front_mc = new levels_front(); level_front_mc.name = "LEVEL_FRONT"; level_front_mc.gotoAndStop(gameData.lvl); _dynamic_mc.addChild(level_front_mc); _dynamic_gui_mc = new MovieClip(); _dynamic_gui_mc.name = "GUI"; _game_window.addChild(_dynamic_gui_mc); _Handler_BasicOverlays = new BasicOverlays(mc_lazers); _Handler_Explosions = new Explosions(); _Handler_Deconstructer = new Deconstructer(); _Handler_Effects = new Effects(_Handler_Output, MovieClip(_dynamic_mc.getChildByName("EFFECTSBEHIND")), MovieClip(_dynamic_mc.getChildByName("EFFECTS")), _Handler_Options, _Handler_Maps); _Handler_Slowmo = new Slowmo(_Handler_Output, _Handler_Effects, _Handler_Sounds, slomo_rectangle, _stage); _Handler_Shake = new Shake(_Handler_Output, _shake_container); _Handler_Maps.UpdateMCs(_static_mc, _dynamic_mc, _object_shape_container_mc); _Handler_Maps.UpdateHandlers(_Handler_Effects, _Handler_Explosions, _Handler_Sounds, _Handler_BasicOverlays); _ContactData = new ContactData(); _ContactData.Handler_Output = _Handler_Output; _ContactData.Handler_Effects = _Handler_Effects; _ContactData.Handler_Sounds = _Handler_Sounds; _ContactData.Handler_Deconstructer = _Handler_Deconstructer; _Handler_Maps.ConstructContactListener(_ContactData); m_world = _Handler_Maps.GetMap(gameData.lvl); _Handler_WeaponSpawn = new WeaponSpawn(_Handler_Output, _Handler_Maps, _Handler_Weapons); _Handler_ProjectilesUpdater = new ProjectilesUpdater(); _Handler_Deconstructer.Setb2World = m_world; _Handler_Box2DMouse = new Box2DMouse(_Handler_Mouse, m_world, _dynamic_mc); pData = new PlayersKeeperData(); pData.stg = _stage; pData.game_mc = _game_mc; pData.Handler_Projectiles = _Handler_ProjectilesUpdater; pData.Handler_Output = _Handler_Output; pData.Handler_Keyboard = _Handler_Keyboard; pData.Handler_Effects = _Handler_Effects; pData.Handler_Maps = _Handler_Maps; pData.Handler_Shake = _Handler_Shake; pData.Handler_Sounds = _Handler_Sounds; pData.Handler_Slowmo = _Handler_Slowmo; pData.pathGrid = _Handler_Maps.GetPathGrid(gameData.lvl); pData.rangedStartWeapon = _Handler_Weapons.Pistol; pData.throwableStartWeapon = _Handler_Weapons.Grenades; pData.meleeStartWeapon = null; pData.defaultMeleeWeapon = _Handler_Weapons.Fists; pData.m_world = m_world; pData.pSetupData = gameData.pSetupData; pData.pSetupData.playerSpawnPositions = _Handler_Maps.GetPlayerSpawnPositions(gameData.lvl); _Handler_Players = new PlayersKeeper(pData); _Handler_Maps.LinkPlayers(_Handler_Players); _Handler_Maps.LinkWeapons(_Handler_Weapons); _Handler_Camera = new Cam(_stage, _dynamic_mc, gui_holder_mc, _Handler_MenuMain.MenuOverlay, _Handler_Output, _Handler_Players); _Handler_Camera.SetMapArea(_Handler_Maps.GetMinimumMapArea(gameData.lvl)); _Handler_Options.LinkToCam(_Handler_Camera); _Handler_Players.LinkToCam(_Handler_Camera); _Handler_Portals = new Portals(m_world, _Handler_Players, _Handler_Output); _Handler_Portals.SetMapPortals(_Handler_Maps.GetMapPortals(gameData.lvl)); eData = new ExplosionData(); eData.Handler_Output = _Handler_Output; eData.Handler_Camera = _Handler_Camera; eData.Handler_Shake = _Handler_Shake; eData.Handler_Players = _Handler_Players; eData.Handler_Effects = _Handler_Effects; eData.Handler_Sounds = _Handler_Sounds; eData.Handler_Slowmo = _Handler_Slowmo; eData.static_mc = _static_mc; eData.dynamic_mc = _dynamic_mc; eData.m_world = m_world; _Handler_Explosions.BuildClass(eData); _Handler_Fires = new Fires(eData, _object_shape_container_mc); _Handler_Explosions.LinkToFire(_Handler_Fires); _Handler_Players.LinkToFire(_Handler_Fires); _Handler_Maps.Handler_WorldItems.LinkToFire(_Handler_Fires); puData = new ProjectilesUpdaterData(); puData.Handler_Output = _Handler_Output; puData.Handler_Projectiles = _Handler_Projectiles; puData.Handler_Camera = _Handler_Camera; puData.Handler_Players = _Handler_Players; puData.Handler_Effects = _Handler_Effects; puData.Handler_Sounds = _Handler_Sounds; puData.Handler_Explosions = _Handler_Explosions; puData.static_mc = _static_mc; puData.dynamic_mc = _dynamic_mc; puData.object_shape_container_mc = _object_shape_container_mc; puData.m_world = m_world; _Handler_ProjectilesUpdater.BuildClass(puData); _stage.addEventListener(Event.ENTER_FRAME, Update, false, 0, true); m_world.DrawDebugData(); m_world.FallAsleepBody = function (_arg1:b2Body):void{ _Handler_Portals.CheckBodyInsidePortal(_arg1); }; _Handler_Commands.LinkHandlers(_Handler_Maps, _Handler_Box2DMouse, _Handler_Keyboard, _Handler_Effects, _Handler_Sounds, _Handler_Explosions, _Handler_Fires, _Handler_Weapons, _Handler_Players); _Handler_Commands.LinkFunctions(Restart); _Handler_Maps.GetPathGrid().UpdateHandlers(_Handler_Fires, m_world); _usingScore = false; _countdownOver = true; _bgNoise = null; if (gameData.isTutorial){ _countdown = 0; _Handler_Sounds.InMenu = false; _game_window.visible = false; _round_initialized = 2; _Handler_Keyboard.AddHandler(27, BackToMainMenu); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("SPACE"), SpacePressed); _Handler_Players.ActivatePlayers(); _Handler_Camera.ShowAll = true; } else { if (!(gameData.isMenuDemo)){ _countdown_mc = new get_ready_fight(); _countdown_mc.x = 400; _countdown_mc.y = 300; _countdown_mc.scaleX = 4; _countdown_mc.scaleY = 4; _game_window.addChild(_countdown_mc); _countdown = (_countdown_mc.totalFrames - 1); _Handler_Sounds.InMenu = false; _game_window.visible = false; _round_initialized = 2; _countdownOver = false; _Handler_Keyboard.AddHandler(27, BackToMainMenu); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("SPACE"), SpacePressed); _usingScore = true; if (_prevGameData.newScore){ _prevGameData.newScore = false; _score = new Scoreboard(_game_mc, _prevGameData.gameMode); p = 0; while (p < _Handler_Players.Players.length) { _score.AddPlayerToScore(_Handler_Players.Players[p]); p = (p + 1); }; _score.Build(); }; gui_holder_mc.addChild(_score.MC); _score.Hide(); } else { _countdown = 0; _game_window.visible = false; _round_initialized = 2; _Handler_Sounds.InMenu = true; _Handler_Players.ActivatePlayers(); _bgNoise = new bg_noise(); _bgNoise.EFFECT_MC.gotoAndPlay(_last_bgNoiseFrame); _game_window.addChild(_bgNoise); gui_holder_mc.visible = false; _game_window.removeChild(_dynamic_gui_mc); _game_window.addChild(_dynamic_gui_mc); }; }; if (gameData.showTips){ _tipsOver = false; _game_mc.addChild(_tips); _tips.gotoAndStop((1 + Math.floor((Math.random() * (_tips.totalFrames - 0.001))))); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("LEFT"), function (){ ChangeTips(-1); }); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("RIGHT"), function (){ ChangeTips(1); }); _countdown_mc.gotoAndStop(1); _countdown_mc.visible = false; ShowSpaceIndication(); } else { _tipsOver = true; }; _roundOver = false; _gameModeWinnerShown = false; _game_window.scaleX = gameData.gameScale; _game_window.scaleY = gameData.gameScale; _game_window.x = gameData.gamePosX; _game_window.y = gameData.gamePosY; _Handler_Output.Trace("New Game Created"); } private function ChangeTips(_arg1:int):void{ var _local2:int; if (!(_tipsOver)){ _local2 = (_tips.currentFrame + _arg1); if (_local2 <= 0){ _local2 = _tips.totalFrames; }; if (_local2 > _tips.totalFrames){ _local2 = 1; }; _tips.gotoAndStop(_local2); }; } public function Stop():void{ _Handler_Output.Trace(""); _Handler_Output.Trace("Stopping Game..."); _stage.removeEventListener(Event.ENTER_FRAME, Update); _Handler_Keyboard.Deconstruct(); _Handler_Effects.Stop(); _Handler_Maps.Stop(); _Handler_Slowmo.Stop(); _Handler_Fires.Stop(); _Handler_Players.Stop(); ClearMC(_game_mc); _Handler_Output.Trace("Game Stopped"); } private function ShowSpaceIndication():void{ _press_space_indication.visible = true; _press_space_indication.gotoAndPlay(1); } private function ShowStatic():void{ _dynamic_mc.alpha = 0.2; _object_shape_container_mc.visible = true; _static_mc.visible = true; } private function HideSpaceIndication():void{ _press_space_indication.visible = false; } private function SetBlackWhite(_arg1:MovieClip):void{ _arg1.filters = [greyscale]; } private function SpacePressed():void{ var _local1:ScoreboardTeam; var _local2:SharedObject; if (!(_tipsOver)){ _game_mc.removeChild(_tips); _tipsOver = true; _countdown_mc.visible = true; _countdown_mc.gotoAndPlay(1); HideSpaceIndication(); return; }; if (_roundOver){ if (_prevGameData.isTutorial){ BackToMainMenu(); } else { if (_score.GameFinished){ if (!(_gameModeWinnerShown)){ _Handler_Keyboard.RemoveHandler(Keyboard.TAB); TabPressed(); _local1 = _score.GetTeamWinner(); if (_local1 == null){ _victory_text.gotoAndStop("DRAW"); } else { if (_local1.Team > 0){ _victory_text.gotoAndStop(_local1.Team); } else { if (_local1.FirstPlayer.PlayerNr == 0){ _victory_text.gotoAndStop("PLAYER_1"); } else { if ((((_local1.FirstPlayer.PlayerNr == 1)) && (!(_local1.FirstPlayer.Bot)))){ _victory_text.gotoAndStop("PLAYER_2"); } else { _victory_text.gotoAndStop("COM"); }; }; }; }; ShowVictoryText(); _gameModeWinnerShown = true; _Handler_Sounds.PlaySound("GROOVY", 0, 0); if (_prevGameData.challengeNr != -1){ if (_local1.Team == 1){ _local2 = SharedObject.getLocal("superfightersData_v1.0"); if (_local2.data.stageLevelsFinished == undefined){ } else { _local2.data.stageLevelsFinished[_prevGameData.challengeNr] = true; _local2.flush(); }; }; }; } else { BackToMainMenu(); }; } else { HideVictoryText(); Restart(); }; }; }; } private function HideStatic():void{ _dynamic_mc.alpha = 1; _object_shape_container_mc.visible = false; _static_mc.visible = false; } private function ClearMC(_arg1:MovieClip):void{ var _local2:int; _local2 = _arg1.numChildren; while (_local2--) { _arg1.removeChildAt(_local2); }; } private function HideVictoryText():void{ _victory_text.visible = false; } public function set Handler_MenuMain(_arg1:MenuMain):void{ _Handler_MenuMain = _arg1; } private function BackToMainMenu():void{ _stage.removeEventListener(Event.ENTER_FRAME, Update); Stop(); _Handler_MenuMain.OpenMenu(); } private function Unfocus(_arg1:FocusEvent):void{ _stage.focus = null; } private function TabReleased():void{ _Handler_Slowmo.GamePaused = false; _score.Hide(); } private function Update(_arg1:Event):void{ var _local2:b2Body; var _local3:int; if (_round_initialized <= 0){ if ((((_countdown > 0)) && (_tipsOver))){ _countdown = (_countdown - 1); if (_countdown <= 0){ _countdown_mc.stop(); _game_window.removeChild(_countdown_mc); } else { if (_countdown == 15){ _countdownOver = true; _Handler_Players.ActivatePlayers(); if (!(_prevGameData.isMenuDemo)){ _Handler_Keyboard.AddHandler(Keyboard.TAB, TabPressed, TabReleased); }; }; }; }; }; _Handler_Slowmo.Update(); m_timeStep = (1 / (30 / _Handler_Slowmo.Slowmotion)); _ContactData.game_speed = _Handler_Slowmo.Slowmotion; _Handler_Maps.Handler_WorldItems.Lock(); m_world.Step(m_timeStep, m_iterations); _Handler_Maps.Handler_WorldItems.Unlock(); _bodyIndex = 0; while (_bodyIndex < m_world.AllDynamicObjectList.length) { _local2 = m_world.AllDynamicObjectList[_bodyIndex]; _local2.m_userData.x = (_local2.GetPosition().x * 30); _local2.m_userData.y = (_local2.GetPosition().y * 30); _local2.m_userData.rotation = (_local2.GetAngle() * (180 / Math.PI)); if (_local2.m_userData.objectData.DrawShapeMC){ _local2.m_userData.objectData.ShapeMC.x = (_local2.GetPosition().x * 30); _local2.m_userData.objectData.ShapeMC.y = (_local2.GetPosition().y * 30); _local2.m_userData.objectData.ShapeMC.rotation = (_local2.GetAngle() * (180 / Math.PI)); }; if (!(_local2.m_userData.objectData.InPortal)){ if (((_local2.m_userData.objectData.DrawHitBox) || (_local2.m_userData.objectData.DrawCloudBox))){ _local2.m_userData.objectData.CollisionMC.x = _local2.m_userData.objectData.ShapeMC.x; _local2.m_userData.objectData.CollisionMC.y = _local2.m_userData.objectData.ShapeMC.y; _local2.m_userData.objectData.CollisionMC.rotation = _local2.m_userData.objectData.ShapeMC.rotation; }; }; if (_local2.IsFrozen()){ _Handler_Output.Trace((("Object " + _local2.GetUserData().IDNumber) + " out of bounds. Removing object")); m_world.RemoveObjectFromLists(_local2); _local2.m_userData.destroyed = true; _local2.m_userData.objectData.HP = 0; if (((_local2.m_userData.objectData.DrawHitBox) || (_local2.m_userData.objectData.DrawCloudBox))){ _local2.m_userData.objectData.CollisionMC.parent.removeChild(_local2.m_userData.objectData.CollisionMC); }; if (_local2.m_userData.objectData.DrawShapeMC){ _local2.m_userData.objectData.ShapeMC.parent.removeChild(_local2.m_userData.objectData.ShapeMC); }; _local2.m_userData.parent.removeChild(_local2.m_userData); m_world.DestroyBody(_local2); } else { _local2.m_userData.objectData.UpdateFunction(_local2, _Handler_Slowmo.Slowmotion); }; _bodyIndex = (_bodyIndex + 1); }; _Handler_Maps.UpdatePathGrid(); _Handler_Shake.Update(_Handler_Slowmo.Slowmotion); if (_countdownOver){ _Handler_WeaponSpawn.Update(_Handler_Slowmo.Slowmotion); }; _Handler_Players.Update(_Handler_Slowmo.Slowmotion); _Handler_ProjectilesUpdater.Update(_Handler_Slowmo.Slowmotion); _Handler_Fires.Update(_Handler_Slowmo.Slowmotion); _Handler_Explosions.Update(_Handler_Slowmo.Slowmotion); _Handler_Deconstructer.Update(); _Handler_Portals.Update(); _Handler_Camera.Update(_camera_speed); _Handler_Maps.Update(_Handler_Slowmo.Slowmotion); _Handler_BasicOverlays.Update(); _Handler_Sounds.Update(_Handler_Slowmo.Slowmotion); _dynamic_gui_mc.x = _dynamic_mc.x; _dynamic_gui_mc.y = _dynamic_mc.y; _dynamic_gui_mc.scaleX = _dynamic_mc.scaleX; _dynamic_gui_mc.scaleY = _dynamic_mc.scaleY; _dynamic_gui_mc.x = (_dynamic_gui_mc.x + (_shake_container.x * (1 / _dynamic_mc.scaleX))); _dynamic_gui_mc.y = (_dynamic_gui_mc.y + (_shake_container.y * (1 / _dynamic_mc.scaleY))); if (_bgNoise != null){ _bgNoise.scaleX = (1 / _game_window.scaleX); _bgNoise.scaleY = (1 / _game_window.scaleY); _bgNoise.x = (-(_game_window.x) * _bgNoise.scaleX); _bgNoise.y = (-(_game_window.y) * _bgNoise.scaleY); _bgNoise.x = (_bgNoise.x - ((400 * (_Handler_MenuMain.MenuOverlay.scaleX - 1)) * _bgNoise.scaleX)); _bgNoise.y = (_bgNoise.y - ((300 * (_Handler_MenuMain.MenuOverlay.scaleY - 1)) * _bgNoise.scaleY)); _bgNoise.scaleX = (_bgNoise.scaleX * _Handler_MenuMain.MenuOverlay.scaleX); _bgNoise.scaleY = (_bgNoise.scaleY * _Handler_MenuMain.MenuOverlay.scaleY); _last_bgNoiseFrame = _bgNoise.EFFECT_MC.currentFrame; }; if (((_Handler_Players.RoundOver) && (!(_roundOver)))){ if (_prevGameData.isTutorial){ if (_Handler_Maps.TutorialOver){ _roundOver = true; }; return; }; _roundOver = true; if (_prevGameData.isMenuDemo){ Stop(); _Handler_MenuMain.StartMenuGame(); } else { _score.RoundsFinished = (_score.RoundsFinished + 1); _local3 = _Handler_Players.GetTeamWinner(); switch (_local3){ case -1: _victory_text.gotoAndStop("DRAW"); break; case 0: _score.ScoreTeam(_Handler_Players.GetSoloWinner()); switch (_Handler_Players.GetPlayerNrWinner()){ case 0: _victory_text.gotoAndStop("PLAYER_1"); break; case 1: if (_Handler_Players.Players[_Handler_Players.GetPlayerNrWinner()].Bot){ _victory_text.gotoAndStop("COM"); } else { _victory_text.gotoAndStop("PLAYER_2"); }; break; default: _victory_text.gotoAndStop("COM"); break; }; break; default: _score.ScoreTeam(_Handler_Players.GetTeamWinner()); _victory_text.gotoAndStop(_Handler_Players.GetTeamWinner()); break; }; ShowVictoryText(); ShowSpaceIndication(); }; }; if (_round_initialized > 0){ _round_initialized = (_round_initialized - 1); if (_round_initialized <= 0){ _game_window.visible = true; }; }; } private function TabPressed():void{ _Handler_Slowmo.GamePaused = true; _score.Update(); _score.Show(); } private function Restart(_arg1:Boolean=false):void{ Stop(); _Handler_Output.Trace(""); _Handler_Output.Trace("Restarting Game..."); if (_arg1){ _prevGameData.lvl = (_prevGameData.lvl + 1); if (_prevGameData.lvl > 5){ _prevGameData.lvl = 1; }; }; _prevGameData.showTips = false; StartNewGame(_prevGameData); } } }//package Code.Handler
Section 149
//InputKeyboard (Code.Handler.InputKeyboard) package Code.Handler { import flash.events.*; public class InputKeyboard { private var _keyBuffer:Array; public var KeyDownFunction:Function; public var KeyDownFunctionRepeatable:Function; private var _functionBuffer:Array; private var _modifierBuffer:Array; public var KeyUpFunction:Function; private var _stage; public function InputKeyboard(_arg1):void{ _keyBuffer = new Array(); _modifierBuffer = new Array(); _functionBuffer = new Array(); super(); _stage = _arg1; _stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); } public function GetCharFromCode(_arg1:int):String{ var _local2:String; switch (_arg1){ case 32: return ("SPACE"); case 38: return ("UP"); case 40: return ("DOWN"); case 37: return ("LEFT"); case 39: return ("RIGHT"); case 16: return ("SHIFT"); case 17: return ("CTRL"); case 20: return ("CAPS"); case 13: return ("ENTER"); case 8: return ("BACKSPACE"); case 27: return ("ESCAPE"); case 188: return (","); case 190: return ("."); }; _local2 = String.fromCharCode(_arg1); if (_arg1 >= 127){ _local2 = ("C" + _arg1); }; return (_local2); } private function RemoveKeyFromBuffer(_arg1:int):void{ var _local2:*; _local2 = 0; while (_local2 < _keyBuffer.length) { if (_keyBuffer[_local2] == _arg1){ _keyBuffer.splice(_local2, 1); }; _local2++; }; } public function RemoveHandler(_arg1:int, _arg2:int=-1):void{ var _local3:*; _local3 = 0; while (_local3 < _functionBuffer.length) { if ((((_arg1 == _functionBuffer[_local3][0])) && ((_functionBuffer[_local3][3] == _arg2)))){ _functionBuffer.splice(_local3, 1); }; _local3++; }; UpdateModifierBuffer(); } public function AddHandler(_arg1:int, _arg2:Function, _arg3:Function=undefined):void{ if (_arg2 == null){ _arg2 = Blank; }; if (_arg3 == null){ _arg3 = Blank; }; _functionBuffer.push([_arg1, _arg2, _arg3, -1]); } public function KeyIsDown(_arg1:int):Boolean{ var _local2:*; _local2 = 0; while (_local2 < _keyBuffer.length) { if (_keyBuffer[_local2] == _arg1){ return (true); }; _local2++; }; return (false); } private function keyUpHandler(_arg1:KeyboardEvent):void{ RemoveKeyFromBuffer(_arg1.keyCode); CheckKeyFunction(_arg1.keyCode, 2); if (KeyUpFunction != null){ KeyUpFunction(_arg1); }; } public function TraceKeys():void{ var _local1:String; var _local2:*; _local1 = "Keys Down: "; _local2 = 0; while (_local2 < _keyBuffer.length) { _local1 = (_local1 + (_keyBuffer[_local2] + ", ")); _local2++; }; } public function GetKeyCode(_arg1:String):int{ switch (_arg1.toUpperCase()){ case "SPACEBAR": case "SPACE": return (32); case "UP": return (38); case "DOWN": return (40); case "LEFT": return (37); case "RIGHT": return (39); case "SHIFT": return (16); case "CTRL": return (17); case "CAPS": case "CAPSLOCK": return (20); case "ENTER": return (13); case "BACKSPACE": return (8); case "ESCAPE": return (27); }; return (_arg1.charCodeAt(0)); } public function RemoveModifier(_arg1:int, _arg2:int):void{ var _local3:*; _local3 = 0; while (_local3 < _functionBuffer.length) { if ((((_arg1 == _functionBuffer[_local3][0])) && ((_functionBuffer[_local3][3] == _arg2)))){ _functionBuffer[_local3][3] = -1; UpdateModifierBuffer(); }; _local3++; }; } private function CheckKeyFunction(_arg1:int, _arg2:int):void{ var _local3:*; _local3 = 0; while (_local3 < _functionBuffer.length) { if (_arg1 == _functionBuffer[_local3][0]){ if ((((((_functionBuffer[_local3][3] == GetModifierPressed())) || (KeyIsDown(_functionBuffer[_local3][3])))) || (!((_arg2 == 1))))){ var _local4 = _functionBuffer[_local3]; _local4[_arg2](); }; }; _local3++; }; } private function UpdateModifierBuffer():void{ var _local1:*; _modifierBuffer = new Array(); _local1 = 0; while (_local1 < _functionBuffer.length) { if (_functionBuffer[_local1][3] != -1){ AddModifierToBuffer(_functionBuffer[_local1][3]); }; _local1++; }; } public function Deconstruct():void{ _stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _stage.removeEventListener(KeyboardEvent.KEY_UP, keyUpHandler); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if (KeyDownFunctionRepeatable != null){ KeyDownFunctionRepeatable(_arg1); }; if (KeyIsDown(_arg1.keyCode) == false){ _keyBuffer.push(_arg1.keyCode); CheckKeyFunction(_arg1.keyCode, 1); if (KeyDownFunction != null){ KeyDownFunction(_arg1); }; }; } private function Blank():void{ } private function GetModifierPressed():int{ var _local1:*; var _local2:*; _local1 = 0; while (_local1 < _modifierBuffer.length) { _local2 = 0; while (_local2 < _keyBuffer.length) { if (_modifierBuffer[_local1] == _keyBuffer[_local2]){ return (_modifierBuffer[_local1]); }; _local2++; }; _local1++; }; return (-1); } public function AddModifier(_arg1:int=-1):void{ _functionBuffer[(_functionBuffer.length - 1)][3] = _arg1; UpdateModifierBuffer(); } private function AddModifierToBuffer(_arg1:int):void{ var _local2:Boolean; var _local3:*; _local2 = true; _local3 = 0; while (_local3 < _modifierBuffer.length) { if (_modifierBuffer[_local3] == _arg1){ _local2 = false; }; _local3++; }; if (_local2){ _modifierBuffer.push(_arg1); }; } } }//package Code.Handler
Section 150
//InputMouse (Code.Handler.InputMouse) package Code.Handler { import flash.events.*; import flash.geom.*; public class InputMouse { private var _mouseDown:Boolean;// = false private var _mouseX:Number;// = 0 private var _mouseY:Number;// = 0 private var _stage; public function InputMouse(_arg1):void{ _mouseDown = false; _mouseX = 0; _mouseY = 0; super(); _stage = _arg1; _stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); _stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); } public function MouseX():Number{ return (_mouseX); } private function mouseDownHandler(_arg1:MouseEvent):void{ _mouseDown = true; } private function mouseUpHandler(_arg1:MouseEvent):void{ _mouseDown = false; } public function MouseIsDown():Boolean{ return (_mouseDown); } public function MouseY():Number{ return (_mouseY); } public function UpdateMouse(_arg1:Point, _arg2:Number):void{ var _local3:Number; _local3 = (1 / _arg2); _mouseX = (_local3 * (_stage.mouseX - _arg1.x)); _mouseY = (_local3 * (_stage.mouseY - _arg1.y)); } } }//package Code.Handler
Section 151
//MapPremadeItems (Code.Handler.MapPremadeItems) package Code.Handler { import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Data.*; import flash.display.*; import flash.geom.*; import Code.Particles.*; public class MapPremadeItems { private var _material:MaterialsData; private var _static_mc:MovieClip; private var _Handler_Fires:Fires; private var _Handler_Effects:Effects; private var _queue:Array; private var _weapon_mc:MovieClip; private var _scrap_mc:MovieClip; private var _ground:b2Body; private var _locked:Boolean;// = false private var _debrisFadeFunction:Function; private var _Handler_Deconstructer:Deconstructer; private var _dynamic_mc:MovieClip; private var _Handler_Sounds:Sounds; private var _static_world_hitbox_mc:MovieClip; private var m_world:b2World; private var _static_objects_hitbox_mc:MovieClip; private var _objects_mc:MovieClip; private var _nullUpdateFunction:Function; private var _idGiver:int;// = 0 private var _static_ladder_hitbox_mc:MovieClip; private var _object_shape_container_mc:MovieClip; private var _static_world_cloud_hitbox_mc:MovieClip; private var _Handler_Output:OutputTrace; private var _static_objects_cloud_hitbox_mc:MovieClip; private var _Handler_Explosions:Explosions; private var _debrisUpdateFunction:Function; private var _Handler_BasicOverlays:BasicOverlays; public function MapPremadeItems(_arg1:OutputTrace):void{ _material = new MaterialsData(); _locked = false; _queue = new Array(); _idGiver = 0; _debrisUpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ if (_arg1.GetUserData().objectData.ObjectTimer == 0){ _arg1.GetUserData().objectData.ObjectTimer = 5; } else { _arg1.GetUserData().objectData.ObjectTimer = (_arg1.GetUserData().objectData.ObjectTimer - _arg2); if (_arg1.GetUserData().objectData.ObjectTimer <= 0){ _arg1.GetUserData().objectData.BulletTransparent = false; m_world.RemoveObjectFromLists(_arg1); m_world.AddObjectToLists(_arg1); _arg1.GetUserData().objectData.UpdateFunction = _debrisFadeFunction; }; }; }; _debrisFadeFunction = function (_arg1:b2Body, _arg2:Number):void{ _arg1.GetUserData().objectData.ObjectTimer = (_arg1.GetUserData().objectData.ObjectTimer + _arg2); if (_arg1.GetUserData().objectData.ObjectTimer >= 240){ _arg1.GetUserData().alpha = (1 - ((_arg1.GetUserData().objectData.ObjectTimer - 240) / 50)); if (_arg1.GetUserData().objectData.ObjectTimer >= 290){ _arg1.GetUserData().objectData.ForceDestruction(); }; }; }; _nullUpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ }; super(); _Handler_Output = _arg1; _Handler_Output.Trace("Premade Items Created"); } public function CreateGroundCircle(_arg1:MaterialData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Array=null):b2Body{ var _local6:b2Body; var _local7:b2BodyDef; var _local8:b2CircleDef; _arg4 = (_arg4 + (0.5 / 30)); _local7 = new b2BodyDef(); _local7.position.Set(_arg2, _arg3); _local7.userData = new Object(); _local7.userData.IDNumber = GenerateID(); _local7.userData.material = _arg1; _local7.userData.tiltValue = 0; _local7.userData.allowCover = false; if (_arg5 == null){ _local7.userData.shapeMC = DrawCircleMC((_arg4 * 30), 0xFF00FF); } else { if (_arg5[0] == "CLOUD"){ _local7.userData.shapeMC = DrawCircleMC((_arg4 * 30), 0xFF0066); } else { if (_arg5[0] == "LADDER"){ _local7.userData.shapeMC = DrawCircleMC((_arg4 * 30), 16737894); } else { _local7.userData.shapeMC = DrawCircleMC((_arg4 * 30), 0xFF00FF); _arg5 = null; }; }; }; _local7.userData.shapeMC.x = (_arg2 * 30); _local7.userData.shapeMC.y = (_arg3 * 30); _local8 = new b2CircleDef(); _local8.radius = _arg4; _local8.friction = _local7.userData.material.Friction; _local8.restitution = _local7.userData.material.Restitution; _local8.density = 0; if (_arg5 != null){ if (_arg5[0] == "LADDER"){ _local8.filter.categoryBits = 2; _local8.filter.maskBits = 1; _local7.userData.isLadder = true; }; if (_arg5[0] == "CLOUD"){ _local8.filter.isCloud = true; _local8.userData.isCloud = true; }; }; _local6 = m_world.CreateBody(_local7); _local6.CreateShape(_local8); _local6.SetMassFromShapes(); _local6.SetUserData(_local7.userData); if (_arg5 == null){ _static_world_hitbox_mc.addChild(_local6.GetUserData().shapeMC); } else { if (_arg5[0] == "CLOUD"){ _static_world_cloud_hitbox_mc.addChild(_local6.GetUserData().shapeMC); } else { if (_arg5[0] == "LADDER"){ _static_ladder_hitbox_mc.addChild(_local6.GetUserData().shapeMC); }; }; }; return (_local6); } private function IncreaseCorners(_arg1:Array):Array{ var _local2:*; _local2 = 0; while (_local2 < _arg1.length) { if (_arg1[_local2][0] < 0){ _arg1[_local2][0] = (_arg1[_local2][0] - (0.5 / 30)); } else { if (_arg1[_local2][0] > 0){ _arg1[_local2][0] = (_arg1[_local2][0] + (0.5 / 30)); }; }; if (_arg1[_local2][1] < 0){ _arg1[_local2][1] = (_arg1[_local2][1] - (0.5 / 30)); } else { if (_arg1[_local2][1] > 0){ _arg1[_local2][1] = (_arg1[_local2][1] + (0.5 / 30)); }; }; _local2++; }; return (_arg1); } public function UpdateHandlers(_arg1:Effects, _arg2:Explosions, _arg3:Sounds, _arg4:BasicOverlays):void{ _Handler_Effects = _arg1; _Handler_Explosions = _arg2; _Handler_Sounds = _arg3; _Handler_BasicOverlays = _arg4; } public function LinkToFire(_arg1:Fires):void{ _Handler_Fires = _arg1; } public function Unlock():void{ var _local1:int; _locked = false; if (_queue.length > 0){ _local1 = 0; while (_local1 < _queue.length) { if (_queue[0] == "B"){ AddBox(_queue[1], _queue[2], _queue[3], _queue[4], _queue[5], _queue[6], _queue[7]); } else { if (_queue[0] == "C"){ AddCircle(_queue[1], _queue[2], _queue[3], _queue[4], _queue[5], _queue[6], _queue[7]); } else { if (_queue[0] == "P"){ AddPolygon(_queue[1], _queue[2], _queue[3], _queue[4], _queue[5], _queue[6], _queue[7]); }; }; }; _local1++; }; _queue = new Array(); }; } public function AddGlass(_arg1:Point, _arg2:Point):b2Body{ var _local3:Point; var _local4:Number; var _local5:Number; var _local6:b2Body; var _local7:Number; var _local8:Number; var _local9:MovieClip; _local3 = new Point((_arg1.x + ((_arg2.x - _arg1.x) * 0.5)), (_arg1.y + ((_arg2.y - _arg1.y) * 0.5))); _local4 = Math.sqrt((Math.pow((_arg2.x - _arg1.x), 2) + Math.pow((_arg2.y - _arg1.y), 2))); _local4 = (_local4 * 30); _local5 = Math.atan2((_arg2.y - _arg1.y), (_arg2.x - _arg1.x)); _local6 = AddBox("SOLID_GLASS_01", _local3.x, _local3.y, _local5, new b2Vec2(), 0, [_local4, 3]); _local7 = (((_local4 / 2) % 6) / 2); _local8 = (-(_local4) / 2); while (_local8 < ((_local4 / 2) - 6)) { _local9 = new window_seg(); _local9.x = (_local8 + _local7); _local9.rotation = 90; _local6.GetUserData().addChild(_local9); _local8 = (_local8 + 6); }; AddRevoluteJoint(Ground, _local6, new b2Vec2(_arg1.x, _arg1.y)); AddRevoluteJoint(Ground, _local6, new b2Vec2(_arg2.x, _arg2.y)); return (_local6); } public function UpdateMCs(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip):void{ _static_mc = _arg1; _dynamic_mc = _arg2; _object_shape_container_mc = _arg3; _objects_mc = MovieClip(_dynamic_mc.getChildByName("OBJECTS")); _scrap_mc = MovieClip(_dynamic_mc.getChildByName("SCRAP")); _weapon_mc = MovieClip(_dynamic_mc.getChildByName("WEAPONS")); _static_ladder_hitbox_mc = MovieClip(_static_mc.getChildByName("LADDER_HITBOX")); _static_world_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_HITBOX")); _static_world_cloud_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_CLOUD_HITBOX")); _static_objects_cloud_hitbox_mc = MovieClip(_static_world_cloud_hitbox_mc.getChildByName("OBJECTS_CLOUD_HITBOX")); _static_objects_hitbox_mc = MovieClip(_static_world_hitbox_mc.getChildByName("OBJECTS_HITBOX")); } public function CreateGroundBox(_arg1:MaterialData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Array=null):b2Body{ var _local8:b2Body; var _local9:b2BodyDef; var _local10:b2PolygonDef; _arg5 = (_arg5 + (0.5 / 30)); _arg6 = (_arg6 + (0.5 / 30)); _local9 = new b2BodyDef(); _local9.position.Set(_arg2, _arg3); _local9.angle = _arg4; _local9.userData = new Object(); _local9.userData.IDNumber = GenerateID(); _local9.userData.material = _arg1; _local9.userData.tiltValue = 0; _local9.userData.allowCover = false; if (_arg7 == null){ _local9.userData.shapeMC = DrawBoxMC((_arg5 * 30), (_arg6 * 30), 0xFF00FF); } else { if (_arg7[0] == "CLOUD"){ _local9.userData.shapeMC = DrawBoxMC((_arg5 * 30), (_arg6 * 30), 0xFF0066); } else { if (_arg7[0] == "LADDER"){ _local9.userData.shapeMC = DrawBoxMC((_arg5 * 30), (_arg6 * 30), 16737894); } else { _local9.userData.shapeMC = DrawBoxMC((_arg5 * 30), (_arg6 * 30), 0xFF00FF); _arg7 = null; }; }; }; _local9.userData.shapeMC.x = (_arg2 * 30); _local9.userData.shapeMC.y = (_arg3 * 30); _local9.userData.shapeMC.rotation = (_arg4 * (180 / Math.PI)); _local10 = new b2PolygonDef(); _local10.SetAsBox((_arg5 / 2), (_arg6 / 2)); _local10.friction = _local9.userData.material.Friction; _local10.restitution = _local9.userData.material.Restitution; _local10.density = 0; if (_arg7 != null){ if (_arg7[0] == "LADDER"){ _local10.filter.categoryBits = 2; _local10.filter.maskBits = 1; _local9.userData.isLadder = true; }; if (_arg7[0] == "CLOUD"){ _local10.filter.isCloud = true; _local9.userData.isCloud = true; }; }; _local8 = m_world.CreateBody(_local9); _local8.CreateShape(_local10); _local8.SetMassFromShapes(); _local8.SetUserData(_local9.userData); if (_arg7 == null){ _static_world_hitbox_mc.addChild(_local8.GetUserData().shapeMC); } else { if (_arg7[0] == "CLOUD"){ _static_world_cloud_hitbox_mc.addChild(_local8.GetUserData().shapeMC); } else { if (_arg7[0] == "LADDER"){ _static_ladder_hitbox_mc.addChild(_local8.GetUserData().shapeMC); }; }; }; return (_local8); } public function AddPolygon(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:b2Vec2, _arg6:Number, _arg7:Array=null, _arg8:Boolean=false):b2Body{ var addGrenadeIndicator:Boolean; var tmp_mc:MovieClip; var body:b2Body; var bodyDef:b2BodyDef; var boxDef:b2PolygonDef; var corners:Array; var shapeScale:Number; var i:*; var isRanged:Boolean; var isMelee:Boolean; var isThrowable:Boolean; var isPowerup:Boolean; var isHealth:Boolean; var type = _arg1; var PosX = _arg2; var PosY = _arg3; var Angle = _arg4; var Velocity = _arg5; var AngularVelocity = _arg6; var optionalValues = _arg7; var reversed = _arg8; if (_locked){ _queue.push("P", type, PosX, PosY, Angle, Velocity, AngularVelocity, optionalValues); return (null); }; addGrenadeIndicator = false; boxDef = new b2PolygonDef(); bodyDef = new b2BodyDef(); bodyDef.position.Set(PosX, PosY); bodyDef.angle = Angle; shapeScale = 1; switch (type.toUpperCase()){ case "WPN_SWORD": case "WPN_AXE": case "WPN_SLOWMO_05": case "WPN_SLOWMO_10": case "WPN_PILLS": case "WPN_MEDKIT": case "WPN_MACHETE": case "WPN_GRENADES": case "WPN_MOLOTOVS": case "WPN_SNIPER": case "WPN_MAGNUM": case "WPN_SHOTGUN": case "WPN_RIFLE": case "WPN_UZI": case "WPN_BAZOOKA": case "WPN_FLAMETHROWER": case "WPN_PISTOL": isRanged = false; isMelee = false; isThrowable = false; isPowerup = false; isHealth = false; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; switch (type.toUpperCase()){ case "WPN_PILLS": bodyDef.userData = new wpn_pills(); bodyDef.userData.gotoAndStop(1); isHealth = true; corners = new Array([(-4 / 30), (-4 / 30)], [(4 / 30), (-4 / 30)], [(4 / 30), (4 / 30)], [(-4 / 30), (4 / 30)]); break; case "WPN_MEDKIT": bodyDef.userData = new wpn_medkit(); bodyDef.userData.gotoAndStop(1); isHealth = true; corners = new Array([(-5 / 30), (-3 / 30)], [(5 / 30), (-3 / 30)], [(5 / 30), (3 / 30)], [(-5 / 30), (3 / 30)]); break; case "WPN_SLOWMO_10": bodyDef.userData = new wpn_slowmo_10(); bodyDef.userData.gotoAndStop(1); isPowerup = true; corners = new Array([(-4 / 30), (-4 / 30)], [(4 / 30), (-4 / 30)], [(4 / 30), (4 / 30)], [(-4 / 30), (4 / 30)]); break; case "WPN_SLOWMO_05": bodyDef.userData = new wpn_slowmo_05(); bodyDef.userData.gotoAndStop(1); isPowerup = true; corners = new Array([(-4 / 30), (-4 / 30)], [(4 / 30), (-4 / 30)], [(4 / 30), (4 / 30)], [(-4 / 30), (4 / 30)]); break; case "WPN_MACHETE": bodyDef.userData = new wpn_machete(); bodyDef.userData.gotoAndStop(1); isMelee = true; corners = new Array([(-7 / 30), (-1 / 30)], [(7 / 30), (-1 / 30)], [(7 / 30), (1 / 30)], [(-7 / 30), (1 / 30)]); break; case "WPN_SWORD": bodyDef.userData = new wpn_sword(); bodyDef.userData.gotoAndStop(1); isMelee = true; corners = new Array([(-10 / 30), (-1 / 30)], [(10 / 30), (-1 / 30)], [(10 / 30), (1 / 30)], [(-10 / 30), (1 / 30)]); break; case "WPN_AXE": bodyDef.userData = new wpn_axe(); bodyDef.userData.gotoAndStop(1); isMelee = true; corners = new Array([(-8 / 30), (-2 / 30)], [(8 / 30), (-3 / 30)], [(8 / 30), (3 / 30)], [(5 / 30), (3 / 30)], [(-8 / 30), (-1 / 30)]); break; case "WPN_MOLOTOVS": bodyDef.userData = new wpn_molotovs(); bodyDef.userData.gotoAndStop(1); isThrowable = true; corners = new Array([(-5.5 / 30), (-3 / 30)], [(5.5 / 30), (-3 / 30)], [(5.5 / 30), (3 / 30)], [(-5.5 / 30), (3 / 30)]); break; case "WPN_GRENADES": bodyDef.userData = new wpn_grenades(); bodyDef.userData.gotoAndStop(1); isThrowable = true; corners = new Array([(-5 / 30), (-2 / 30)], [(5 / 30), (-2 / 30)], [(5 / 30), (2 / 30)], [(-5 / 30), (2 / 30)]); break; case "WPN_FLAMETHROWER": bodyDef.userData = new wpn_flamethrower(); bodyDef.userData.gotoAndStop(1); isRanged = true; corners = new Array([(-3 / 30), (-3 / 30)], [(3 / 30), (-3 / 30)], [(3 / 30), (3 / 30)], [(-3 / 30), (3 / 30)]); break; case "WPN_MAGNUM": bodyDef.userData = new wpn_magnum(); isRanged = true; corners = new Array([(-3 / 30), (-1 / 30)], [(4 / 30), (-1 / 30)], [(4 / 30), (0 / 30)], [(-2 / 30), (2 / 30)], [(-3 / 30), (2 / 30)]); break; case "WPN_PISTOL": bodyDef.userData = new wpn_pistol(); isRanged = true; corners = new Array([(-2 / 30), (-1 / 30)], [(4 / 30), (-1 / 30)], [(4 / 30), (0 / 30)], [(-1 / 30), (2 / 30)], [(-2 / 30), (2 / 30)]); break; case "WPN_RIFLE": bodyDef.userData = new wpn_rifle(); isRanged = true; corners = new Array([(-10 / 30), (-1 / 30)], [(-3 / 30), (-2 / 30)], [(2 / 30), (-2 / 30)], [(9 / 30), (-1 / 30)], [(9 / 30), (1 / 30)], [(3 / 30), (3 / 30)], [(1 / 30), (3 / 30)], [(-10 / 30), (1 / 30)]); break; case "WPN_UZI": bodyDef.userData = new wpn_uzi(); isRanged = true; corners = new Array([(-3 / 30), (-2 / 30)], [(3 / 30), (-2 / 30)], [(4 / 30), (-1 / 30)], [(0 / 30), (4 / 30)], [(-1 / 30), (4 / 30)], [(-3 / 30), (0 / 30)]); break; case "WPN_SHOTGUN": bodyDef.userData = new wpn_shotgun(); isRanged = true; corners = new Array([(-7 / 30), (0 / 30)], [(-3 / 30), (-1 / 30)], [(9 / 30), (-1 / 30)], [(7 / 30), (1 / 30)], [(-5 / 30), (2 / 30)], [(-7 / 30), (2 / 30)]); break; case "WPN_SNIPER": bodyDef.userData = new wpn_sniper(); isRanged = true; corners = new Array([(-11 / 30), (-1 / 30)], [(-1 / 30), (-4 / 30)], [(1 / 30), (-4 / 30)], [(12 / 30), (-1 / 30)], [(12 / 30), (0 / 30)], [(1 / 30), (2 / 30)], [(-5 / 30), (2 / 30)], [(-11 / 30), (1 / 30)]); break; case "WPN_BAZOOKA": bodyDef.userData = new wpn_bazooka(); isRanged = true; corners = new Array([(-11 / 30), (-1 / 30)], [(10 / 30), (-1 / 30)], [(10 / 30), (1 / 30)], [(4 / 30), (3.5 / 30)], [(-11 / 30), (1 / 30)]); break; }; bodyDef.userData.indicator.gotoAndStop(1); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 0, 0, true); bodyDef.userData.isWeapon = true; bodyDef.userData.isRanged = isRanged; bodyDef.userData.isThrowable = isThrowable; bodyDef.userData.isMelee = isMelee; bodyDef.userData.isPowerup = isPowerup; bodyDef.userData.isHealth = isHealth; bodyDef.userData.objectData.Kickable = false; bodyDef.userData.weaponData = null; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; bodyDef.userData.objectData.UserValues = [0]; bodyDef.userData.objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ var b = _arg1; var game_speed = _arg2; if (b.GetUserData().objectData.UserValues[0] == 0){ b.GetUserData().objectData.MC.indicator.visible = false; if (b.IsSleeping()){ b.GetUserData().objectData.UserValues[0] = 1; }; if (b.GetUserData().weaponData.Ammo <= 0){ if (b.GetUserData().objectData.UserValues[1] == undefined){ b.GetUserData().objectData.UserValues[1] = 0; b.GetUserData().objectData.UserValues[2] = b.GetLinearVelocity().x; } else { if (b.GetUserData().objectData.UserValues[1] == 0){ if (b.GetLinearVelocity().x != b.GetUserData().objectData.UserValues[2]){ b.GetUserData().objectData.UserValues[1] = 1; }; } else { b.GetUserData().objectData.UserValues[1] = (b.GetUserData().objectData.UserValues[1] + 1); if (b.GetUserData().objectData.UserValues[1] > 12){ b.GetUserData().objectData.UpdateFunction = _debrisFadeFunction; b.GetUserData().objectData.ObjectTimer = 240; }; }; }; }; } else { if (b.GetUserData().objectData.UserValues[0] == 1){ b.GetUserData().objectData.MC.indicator.visible = true; b.SetXForm(new b2Vec2(b.GetPosition().x, (b.GetPosition().y - (4 / 30))), 0); b.PutToSleep(); b.GetUserData().objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ }; if (b.GetUserData().weaponData.Ammo <= 0){ b.GetUserData().objectData.ForceDestruction(); }; }; }; }; tmp_mc = _weapon_mc; break; case "GRENADE_THROWN": addGrenadeIndicator = true; shapeScale = 0.7; boxDef.filter.categoryBits = 2; bodyDef.userData = new wpn_grenade_thrown(); corners = new Array([(-2 / 30), (-1 / 30)], [(-1 / 30), (-2 / 30)], [(1 / 30), (-2 / 30)], [(2 / 30), (-1 / 30)], [(2 / 30), (1 / 30)], [(1 / 30), (2 / 30)], [(-1 / 30), (2 / 30)], [(-1 / 30), (2 / 30)]); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 10, 10, false); bodyDef.userData.objectData.IsActiveHazard = true; bodyDef.userData.objectData.IsBulletHazard = true; bodyDef.userData.objectData.IsThrowableObject = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 3.5; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.UserValues = optionalValues; bodyDef.userData.objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ _arg1.GetUserData().objectData.UserValues[0] = (_arg1.GetUserData().objectData.UserValues[0] - _arg2); if (_arg1.GetUserData().objectData.UserValues[0] <= 0){ _arg1.GetUserData().objectData.ForceDestruction(); }; }; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ _Handler_Sounds.PlaySoundAt_Box2DScale("barrel_explosion", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Explosions.TriggerExplosionAt_Box2DScale("", _arg1.GetPosition().x, _arg1.GetPosition().y); }; tmp_mc = _weapon_mc; break; case "MOLOTOV_THROWN": addGrenadeIndicator = true; boxDef.filter.categoryBits = 2; bodyDef.userData = new wpn_molotov_thrown(); corners = new Array([(-2 / 30), (-1 / 30)], [(-1 / 30), (-2 / 30)], [(1 / 30), (-2 / 30)], [(2 / 30), (-1 / 30)], [(2 / 30), (1 / 30)], [(1 / 30), (2 / 30)], [(-1 / 30), (2 / 30)], [(-1 / 30), (2 / 30)]); bodyDef.userData.material = _material.Metal; bodyDef.userData.isMolotov = true; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 0, 10, 0, 10, 10, false); bodyDef.userData.objectData.IsActiveHazard = true; bodyDef.userData.objectData.IsBulletHazard = true; bodyDef.userData.objectData.IsThrowableObject = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.UserValues = new Array(optionalValues[1], 0); bodyDef.userData.objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:particle_data; _arg1.GetUserData().objectData.UserValues[1] = (_arg1.GetUserData().objectData.UserValues[1] - _arg2); if (_arg1.GetUserData().objectData.UserValues[1] <= 0){ _local3 = new b2Vec2(); _local3.x = 0; _local3.y = (-5 / 30); _local4 = _arg1.GetWorldPoint(_local3); _local5 = new particle_data("FIRE", _local4.x, _local4.y); _local5.ScaleX = 0.75; _local5.ScaleY = 0.75; _Handler_Effects.AddParticle_Box2DScale(_local5); _arg1.GetUserData().objectData.UserValues[1] = 1; }; }; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ _Handler_Sounds.PlaySoundAt_Box2DScale("bustmolotov", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Sounds.PlaySoundAt_Box2DScale("fireburst", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Fires.TriggerFireAt_Box2DScale("MOLOTOV", _arg1.GetPosition().x, _arg1.GetPosition().y); }; tmp_mc = _weapon_mc; break; case "STATUE": boxDef.filter.categoryBits = 2; bodyDef.userData = new statue(); bodyDef.userData.material = _material.Ground; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 50, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBurn = false; bodyDef.userData.objectData.CanSmoke = false; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.CanBlockFire = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.Kickable = false; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(-6.5 / 30), (-3 / 30)], [(6 / 30), (-3 / 30)], [(8 / 30), (9 / 30)], [(-6.5 / 30), (9 / 30)]); tmp_mc = _objects_mc; break; case "HANGING_LAMP": boxDef.filter.categoryBits = 2; bodyDef.userData = new hanging_lamp(); bodyDef.userData.gotoAndStop(1); corners = new Array([(-5 / 30), (1 / 30)], [(-3.5 / 30), (-2 / 30)], [(0 / 30), (-3 / 30)], [(3.5 / 30), (-2 / 30)], [(5 / 30), (1 / 30)]); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 5, 10, 0.05, 10, 10); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "HANGING_LAMP_B": boxDef.filter.categoryBits = 2; bodyDef.userData = new hanging_lamp(); bodyDef.userData.gotoAndStop(2); corners = new Array([(-5 / 30), (1 / 30)], [(-3.5 / 30), (-2 / 30)], [(0 / 30), (-3 / 30)], [(3.5 / 30), (-2 / 30)], [(5 / 30), (1 / 30)]); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 5, 1, 1, 1, 1, true); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "COMP_SCREEN": boxDef.filter.categoryBits = 2; bodyDef.userData = new comp_screen(); corners = new Array([(-4.5 / 30), (-5 / 30)], [(4.5 / 30), (-5 / 30)], [(4.5 / 30), (3 / 30)], [(2.5 / 30), (5 / 30)], [(-2.5 / 30), (5 / 30)], [(-4.5 / 30), (3 / 30)]); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 10, 0); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.OnlyBurnWhileWake = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.Strength = 1; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ _Handler_Sounds.PlaySoundAt_Box2DScale("COMP_EXPLODE", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Effects.AddEffectAt_Box2DScale("EXPLOSION_CIRCLE", _arg1.GetPosition().x, _arg1.GetPosition().y); }; tmp_mc = _objects_mc; break; case "CHAIR": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new chair(); corners = new Array([(-2 / 30), (-6 / 30)], [(3.5 / 30), (0 / 30)], [(3.5 / 30), (4 / 30)], [(-3.5 / 30), (4 / 30)], [(-3.5 / 30), (-6 / 30)]); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerFragile = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 0.35; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:Number; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:b2Body; _Handler_Sounds.PlaySoundAt_Box2DScale("bustwood", _arg1.GetPosition().x, _arg1.GetPosition().y); _local2 = _arg1.GetUserData().objectData.ObjectSmokeGrade; if (_local2 < 2){ _local2 = 1; }; _local3 = _arg1.GetLinearVelocity(); _local4 = new b2Vec2(); _local4.x = (-6 / 30); _local4.y = (0 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("table_debris_01", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; _local4.x = (-0.5 / 30); _local4.y = (-3.5 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("table_debris_02", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; _local4.x = (6 / 30); _local4.y = (0 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("table_debris_03", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; }; tmp_mc = _objects_mc; break; case "TABLE_DEBRIS_01": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new table_debris_01(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 1, 30, 1); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(-1 / 30), (-4 / 30)], [(3 / 30), (-4 / 30)], [(0 / 30), (4 / 30)], [(-1 / 30), (4 / 30)]); tmp_mc = _scrap_mc; break; case "TABLE_DEBRIS_02": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new table_debris_02(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 1, 30, 1); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(-3.5 / 30), (-0.5 / 30)], [(3.5 / 30), (-0.5 / 30)], [(4.5 / 30), (0.5 / 30)], [(-4.5 / 30), (0.5 / 30)]); tmp_mc = _scrap_mc; break; case "TABLE_DEBRIS_03": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new table_debris_03(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 1, 30, 1); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(-2 / 30), (-4 / 30)], [(1 / 30), (-4 / 30)], [(1 / 30), (4 / 30)], [(0 / 30), (4 / 30)], [(-2 / 30), (-3 / 30)]); tmp_mc = _scrap_mc; break; case "GLASS_SHARD_1": corners = new Array([(-2 / 30), (2 / 30)], [(0 / 30), (-2 / 30)], [(2 / 30), (2 / 30)]); boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new glass_shard_1(); bodyDef.userData.material = _material.Glass; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 5, 0, 0, 1, 1); bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 0.1; bodyDef.userData.objectData.Strength = 1; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _scrap_mc; break; case "TUTORIAL_TARGET_DEBRIS_01": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new tutorial_target_debris_01(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 1, 30, 1); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(0 / 30), (-5 / 30)], [(2 / 30), (-5 / 30)], [(2 / 30), (1 / 30)], [(1 / 30), (2 / 30)], [(-2 / 30), (2 / 30)], [(-2 / 30), (0 / 30)]); tmp_mc = _scrap_mc; break; case "TUTORIAL_TARGET_DEBRIS_02": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new tutorial_target_debris_02(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 1, 30, 1); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(0 / 30), (-1 / 30)], [(3 / 30), (-1 / 30)], [(3 / 30), (1 / 30)], [(-3 / 30), (1 / 30)], [(-3 / 30), (0 / 30)]); tmp_mc = _scrap_mc; break; case "TUTORIAL_TARGET_DEBRIS_03": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new tutorial_target_debris_03(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 1, 30, 1); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(1 / 30), (-2 / 30)], [(3 / 30), (0 / 30)], [(0 / 30), (2 / 30)], [(-3 / 30), (-2 / 30)]); tmp_mc = _scrap_mc; break; case "CRATE_DEBRIS_01": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new crate_debris_01(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 1, 30, 1); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(-4 / 30), (-2 / 30)], [(4 / 30), (-2 / 30)], [(4 / 30), (2 / 30)], [(-2 / 30), (4 / 30)], [(-4 / 30), (4 / 30)]); tmp_mc = _scrap_mc; break; case "CRATE_DEBRIS_02": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new crate_debris_02(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 1, 30, 1); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(-4 / 30), (-1 / 30)], [(1 / 30), (-1 / 30)], [(4 / 30), (0 / 30)], [(4 / 30), (1 / 30)], [(-3 / 30), (1 / 30)], [(-4 / 30), (0 / 30)]); tmp_mc = _scrap_mc; break; case "CRATE_DEBRIS_03": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new crate_debris_03(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 1, 30, 1); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(-5 / 30), (-1 / 30)], [(6 / 30), (-1 / 30)], [(5 / 30), (1 / 30)], [(-6 / 30), (1 / 30)]); tmp_mc = _scrap_mc; break; case "BARREL_DEBRIS_02": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new barrel_debris_02(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 0, 30, 1); bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.OnlyBurnWhileWake = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(-2 / 30), (-2 / 30)], [(1 / 30), (-2 / 30)], [(1 / 30), (2 / 30)], [(-1 / 30), (2 / 30)]); tmp_mc = _scrap_mc; break; default: boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new error_mc(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 50); bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; corners = new Array([(-5 / 30), (-5 / 30)], [(5 / 30), (-5 / 30)], [(5 / 30), (5 / 30)], [(-5 / 30), (5 / 30)]); tmp_mc = _scrap_mc; break; }; if (reversed){ MovieClip(bodyDef.userData).scaleX = -1; corners = ReverseCorners(corners); }; bodyDef.userData.IDNumber = GenerateID(); bodyDef.userData.tiltValue = 0; corners = IncreaseCorners(corners); boxDef.vertexCount = corners.length; i = 0; while (i < corners.length) { boxDef.vertices[i] = new b2Vec2(corners[i][0], corners[i][1]); i = (i + 1); }; boxDef.friction = bodyDef.userData.material.Friction; boxDef.density = bodyDef.userData.material.Density; boxDef.restitution = bodyDef.userData.material.Restitution; if (bodyDef.userData.objectData.DrawHitBox){ bodyDef.userData.objectData.CollisionMC = DrawPolyMC(corners); bodyDef.userData.objectData.CollisionMC.x = (PosX * 30); bodyDef.userData.objectData.CollisionMC.y = (PosY * 30); _static_objects_hitbox_mc.addChild(bodyDef.userData.objectData.CollisionMC); }; if (bodyDef.userData.objectData.DrawShapeMC){ bodyDef.userData.objectData.ShapeMC = DrawPolyMC(corners, 0xFF00, 0.4); bodyDef.userData.objectData.ShapeMC.x = (PosX * 30); bodyDef.userData.objectData.ShapeMC.y = (PosY * 30); bodyDef.userData.objectData.ShapeMC.scaleX = shapeScale; bodyDef.userData.objectData.ShapeMC.scaleY = shapeScale; _object_shape_container_mc.addChild(bodyDef.userData.objectData.ShapeMC); }; bodyDef.userData.x = (PosX * 30); bodyDef.userData.y = (PosY * 30); tmp_mc.addChild(bodyDef.userData); body = m_world.CreateBody(bodyDef); body.CreateShape(boxDef); body.SetMassFromShapes(); body.SetUserData(bodyDef.userData); body.SetLinearVelocity(Velocity); body.SetAngularVelocity(AngularVelocity); body.GetUserData().objectData.Body = body; _Handler_Output.Trace((((((type.toUpperCase() + " created at (") + Math.round(bodyDef.userData.x)) + ", ") + Math.round(bodyDef.userData.y)) + ")")); m_world.AddObjectToLists(body); if (addGrenadeIndicator){ _Handler_BasicOverlays.AddOverlay(body, new grenade_marker()); }; return (body); } public function set SetdbgDraw(_arg1:MovieClip):void{ } public function AddObject(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:b2Vec2, _arg6:Number, _arg7:Array=null):b2Body{ var _local8:Array; var _local9:int; var _local10:Boolean; var _local11:String; _local8 = GetData(_arg1); _local9 = Math.floor((Math.random() * _local8.length)); _local10 = false; _local11 = _local8[_local9].toUpperCase(); if (_local11.substr((_local11.length - 2), 2) == "_R"){ _local11 = _local11.substr(0, (_local11.length - 2)); _local10 = true; }; switch (_local11){ case "BUTTON_01": case "SOLID_INVISIBLE_METAL_GIB": case "SOLID_INVISIBLE_METAL": case "SPARK": case "EMPTY_SHELL_SMALL": case "EMPTY_SHELL_SHOTGUN": case "EMPTY_SHELL_BIG": case "ELEVATOR_01": case "LIFT_01": case "LIFT_SMALL_01": case "BARREL_EXPLOSIVE": case "BARREL_WRECK": case "BARREL": case "GASCAN": case "CHAR_GIB_01": case "CHAR_GIB_02": case "CHAR_GIB_03": case "CHAR_GIB_04": case "CHAR_GIB_05": case "FILECAB": case "POOL_TABLE": case "CRATE_HANGING": case "CRATE_HANGING_HOLDER": case "COMP": case "DESK": case "DESK_1": case "LAMP_1": case "LAMP_1_B": case "BARREL_DEBRIS_03": case "BARREL_DEBRIS_01": case "BEACHBALL_FLAT": case "CRATE": case "PAPER": case "TABLE": case "TABLE_SMALL": return (AddBox(_local11, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _local10)); case "COMFY_CHAIR": case "ROLLING_PIPE": case "BEACHBALL": case "STATUE_GLOBE": case "TUTORIAL_TARGET": case "WINDMILL_PROPELLER": case "PLATFORM_MOTOR": return (AddCircle(_local11, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _local10)); case "WPN_SWORD": case "WPN_AXE": case "WPN_MACHETE": case "WPN_GRENADES": case "WPN_MOLOTOVS": case "WPN_SNIPER": case "WPN_SHOTGUN": case "WPN_RIFLE": case "WPN_UZI": case "WPN_MAGNUM": case "WPN_BAZOOKA": case "WPN_FLAMETHROWER": case "WPN_PISTOL": case "WPN_SLOWMO_05": case "WPN_SLOWMO_10": case "WPN_PILLS": case "WPN_MEDKIT": case "COMP_SCREEN": case "HANGING_LAMP": case "HANGING_LAMP_B": case "CHAIR": case "STATUE": case "GRENADE_THROWN": case "MOLOTOV_THROWN": case "TABLE_DEBRIS_01": case "TABLE_DEBRIS_02": case "TABLE_DEBRIS_03": case "CRATE_DEBRIS_01": case "CRATE_DEBRIS_02": case "CRATE_DEBRIS_03": case "TUTORIAL_TARGET_DEBRIS_01": case "TUTORIAL_TARGET_DEBRIS_02": case "TUTORIAL_TARGET_DEBRIS_03": case "BARREL_DEBRIS_02": return (AddPolygon(_local11, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _local10)); }; return (null); } private function GetData(_arg1:String):Array{ var _local2:Array; var _local3:String; var _local4:int; if (_arg1.charAt(_arg1.length) != ","){ _arg1 = (_arg1 + ","); }; _local2 = new Array(); _local3 = ""; _local4 = 0; while (_local4 < _arg1.length) { if (_arg1.charAt(_local4) == ","){ _local2.push(_local3); _local3 = ""; } else { _local3 = (_local3 + _arg1.charAt(_local4).toString()); }; _local4++; }; return (_local2); } public function get Ground():b2Body{ return (_ground); } private function ReverseCorners(_arg1:Array):Array{ var _local2:Array; var _local3:int; var _local4:Number; var _local5:Number; _local2 = new Array(); _local3 = (_arg1.length - 1); while (_local3 >= 0) { _local4 = -(_arg1[_local3][0]); _local5 = _arg1[_local3][1]; _local2.push([_local4, _local5]); _local3--; }; return (_local2); } public function AddBox(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:b2Vec2, _arg6:Number, _arg7:Array=null, _arg8:Boolean=false):b2Body{ var tmp_mc:MovieClip; var size:Point; var body:b2Body; var bodyDef:b2BodyDef; var boxDef:*; var type = _arg1; var PosX = _arg2; var PosY = _arg3; var Angle = _arg4; var Velocity = _arg5; var AngularVelocity = _arg6; var optionalValues = _arg7; var reversed = _arg8; if (_locked){ _queue.push("B", type, PosX, PosY, Angle, Velocity, AngularVelocity, optionalValues); return (null); }; size = new Point(0, 0); boxDef = new b2PolygonDef(); bodyDef = new b2BodyDef(); bodyDef.position.x = PosX; bodyDef.position.y = PosY; bodyDef.angle = Angle; switch (type.toUpperCase()){ case "BUTTON_01": size.x = 4; size.y = 4; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new blank_mc(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 0, 0, 0, true); bodyDef.userData.isButton = true; bodyDef.userData.buttonData = new ButtonData(); bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "SOLID_GLASS_01": size.x = optionalValues[0]; size.y = optionalValues[1]; boxDef.filter.categoryBits = 2; bodyDef.userData = new blank_mc(); bodyDef.userData.material = _material.Glass; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 5, 10, 0.05, 10, 10); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.PlayerFragile = true; bodyDef.userData.objectData.IsGlass = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.KickPower = 1.4; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.IsThrowableFragile = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.objectData.Strength = 0; bodyDef.userData.objectData.UserValues = optionalValues; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:Number; var _local6:int; _Handler_Sounds.PlaySoundAt_Box2DScale("bustglass", _arg1.GetPosition().x, _arg1.GetPosition().y); _local2 = _arg1.GetLinearVelocity(); _local3 = new b2Vec2(); _local5 = bodyDef.userData.objectData.UserValues[0]; _local6 = (-(_local5) / 2); while (_local6 < (_local5 / 2)) { _local3.x = (_local6 / 30); _local3.y = 0; _local4 = _arg1.GetWorldPoint(_local3); AddPolygon("GLASS_SHARD_1", _local4.x, _local4.y, (Math.random() * Math.PI), new b2Vec2(((_local2.x + Math.random()) - 0.5), ((_local2.y + Math.random()) - 0.5)), (Math.random() * Math.PI)); _local6 = (_local6 + 6); }; }; tmp_mc = _objects_mc; break; case "SOLID_INVISIBLE_METAL_GIB": size.x = optionalValues[0]; size.y = optionalValues[1]; boxDef.filter.categoryBits = 2; bodyDef.userData = new blank_mc(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanGibb = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.CanBlockFire = true; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.CanKnockDownPlayer = false; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "SOLID_INVISIBLE_METAL": size.x = optionalValues[0]; size.y = optionalValues[1]; boxDef.filter.categoryBits = 2; bodyDef.userData = new blank_mc(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.CanBlockFire = true; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.CanKnockDownPlayer = false; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "SPARK": size.x = 1; size.y = 1; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new spark(); bodyDef.userData.material = _material.Spark; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 0, 0, 0, true); bodyDef.userData.objectData.ObjectTimer = (18 + (Math.random() * 6)); bodyDef.userData.objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ _arg1.GetUserData().objectData.ObjectTimer = (_arg1.GetUserData().objectData.ObjectTimer - _arg2); if (_arg1.GetUserData().objectData.ObjectTimer <= 0){ _arg1.GetUserData().objectData.ForceDestruction(); }; }; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _scrap_mc; break; case "EMPTY_SHELL_SMALL": case "EMPTY_SHELL_SHOTGUN": case "EMPTY_SHELL_BIG": size.y = 1; size.x = 2; switch (type.toUpperCase()){ case "EMPTY_SHELL_SMALL": bodyDef.userData = new empty_shell_small(); break; case "EMPTY_SHELL_SHOTGUN": bodyDef.userData = new empty_shell_shotgun(); break; case "EMPTY_SHELL_BIG": bodyDef.userData = new empty_shell_big(); size.x = 3; break; default: bodyDef.userData = new error_mc(); break; }; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData.material = _material.Shell; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 0, 0, 0, true); bodyDef.userData.objectData.ObjectTimer = 24; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ _arg1.GetUserData().objectData.ObjectTimer = (_arg1.GetUserData().objectData.ObjectTimer - _arg2); if (_arg1.GetUserData().objectData.ObjectTimer <= 0){ _arg1.GetUserData().objectData.ForceDestruction(); }; }; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _Handler_Effects.EffectMCFront; break; case "ELEVATOR_01": size.x = 41; size.y = 44; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new elevator_01(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 0, 0, 0, true); bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "LIFT_SMALL_01": size.x = 25; size.y = 6; boxDef.filter.isElevator = true; boxDef.filter.isGhost = true; bodyDef.userData = new lift_small_01(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 0, 0, 0, true); bodyDef.userData.objectData.IsElevator = true; bodyDef.userData.objectData.DrawCloudBox = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.PartOfStaticWorld = true; bodyDef.userData.objectData.CanBlockFire = true; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.CanKnockDownPlayer = false; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "LIFT_01": size.x = 35; size.y = 7; boxDef.filter.isElevator = true; boxDef.filter.isGhost = true; bodyDef.userData = new lift_01(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 0, 0, 0, true); bodyDef.userData.objectData.IsElevator = true; bodyDef.userData.objectData.DrawCloudBox = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.CanBlockFire = true; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.PartOfStaticWorld = true; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.CanKnockDownPlayer = false; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "BEACHBALL_FLAT": size.x = 4; size.y = 2; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new beachball(); bodyDef.userData.gotoAndStop(2); bodyDef.fixedRotation = true; bodyDef.userData.material = _material.Beachball; bodyDef.userData.material.Restitution = 0.1; bodyDef.userData.material.Density = 50; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 20, 0, 1, 0, 0); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.2; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.UpdateFunction = _debrisFadeFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "CRATE_HANGING_HOLDER": size.x = 9; size.y = 6; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new crate_hanging_holder(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 6, 1, 0, 1, 1, false); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.Strength = 1; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "CRATE_HANGING": size.x = 27; size.y = 14; boxDef.filter.categoryBits = 2; bodyDef.userData = new crate_hanging(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.BotPreferJump = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.CanBlockFire = true; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.CanGibb = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "LAMP_1": size.x = 21; size.y = 5; boxDef.filter.categoryBits = 2; bodyDef.userData = new lamp_1(); bodyDef.userData.material = _material.ElectricLamp; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 1, 10, 10, 10, false); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerFragile = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:int; var _local5:b2Body; _Handler_Sounds.PlaySoundAt_Box2DScale("bustglass", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Sounds.PlaySoundAt_Box2DScale("ELECTRIC_SPARK", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Effects.AddEffectAt_Box2DScale("ELECTRIC_SPARK", _arg1.GetPosition().x, (_arg1.GetPosition().y + (5 / 30))); _local2 = new b2Vec2(); _local4 = -10; while (_local4 <= 10) { _local2.x = (_local4 / 30); _local2.y = 0; _local3 = _arg1.GetWorldPoint(_local2); AddPolygon("GLASS_SHARD_1", _local3.x, _local3.y, (Math.random() * Math.PI), new b2Vec2(((Math.random() * 2) - 1), Math.random()), (Math.random() * Math.PI)); AddBox("SPARK", _local3.x, (_local3.y + 0.1), 0, new b2Vec2(((Math.random() * 10) - 5), Math.random()), (Math.random() * Math.PI)); _local4 = (_local4 + 5); }; _local5 = AddObject("LAMP_1_B", _arg1.GetPosition().x, _arg1.GetPosition().y, 0, new b2Vec2(), 0); AddLimitedJoint(Ground, _local5, _local5.GetPosition(), 0, 0); }; tmp_mc = _objects_mc; break; case "LAMP_1_B": size.x = 21; size.y = 5; boxDef.filter.categoryBits = 2; bodyDef.userData = new lamp_1_b(); bodyDef.userData.material = _material.ElectricLamp; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "GASCAN": size.x = 7; size.y = 9; boxDef.filter.categoryBits = 2; bodyDef.userData = new gascan(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyDataExplosiveBarrel(bodyDef.userData, _Handler_Deconstructer, 50, 0, 0.7, 100, 100); bodyDef.userData.objectData.IsBurningHazard = true; bodyDef.userData.objectData.IsExplosionHazard = true; bodyDef.userData.objectData.IsBulletHazard = true; bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.FireLifeSpan = 6; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.8; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.PlayerBounce = true; bodyDef.userData.objectData.Strength = 5; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ _Handler_Sounds.PlaySoundAt_Box2DScale("fireburst", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Fires.TriggerFireAt_Box2DScale("GASCAN", _arg1.GetPosition().x, _arg1.GetPosition().y); }; tmp_mc = _objects_mc; break; case "BARREL_EXPLOSIVE": size.x = 9; size.y = 13; boxDef.filter.categoryBits = 2; bodyDef.userData = new barrel_01(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyDataExplosiveBarrel(bodyDef.userData, _Handler_Deconstructer, 50, 0, 0.7, 100, 100); bodyDef.userData.objectData.IsBurningHazard = true; bodyDef.userData.objectData.IsExplosionHazard = true; bodyDef.userData.objectData.IsBulletHazard = true; bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.FireLifeSpan = 6; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.8; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = true; bodyDef.userData.objectData.Strength = 30; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ _Handler_Sounds.PlaySoundAt_Box2DScale("barrel_explosion", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Sounds.PlaySoundAt_Box2DScale("fireburst", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Fires.AddFireToObject(AddBox("barrel_wreck", _arg1.GetPosition().x, _arg1.GetPosition().y, _arg1.GetAngle(), new b2Vec2(((_arg1.GetLinearVelocity().x + (Math.random() * 12)) - 6), (_arg1.GetLinearVelocity().y - 1)), ((_arg1.GetAngularVelocity() + (Math.random() * 4)) - 2))); _Handler_Fires.TriggerFireAt_Box2DScale("BARREL", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Explosions.TriggerExplosionAt_Box2DScale("", _arg1.GetPosition().x, _arg1.GetPosition().y); }; tmp_mc = _objects_mc; break; case "BARREL_WRECK": size.x = 9; size.y = 13; boxDef.filter.categoryBits = 2; bodyDef.userData = new barrel_03(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 50, 0, 0, 0, 0); bodyDef.userData.objectData.IsBurningHazard = true; bodyDef.userData.objectData.IsExplosionHazard = true; bodyDef.userData.objectData.IsImpactHazard = true; bodyDef.userData.objectData.IsBulletHazard = true; bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.8; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = true; bodyDef.userData.objectData.Strength = 30; bodyDef.userData.objectData.ObjectTimer = 6; bodyDef.userData.objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ if (_arg1.GetUserData().objectData.ObjectTimer > 0){ _arg1.GetUserData().objectData.ObjectTimer = (_arg1.GetUserData().objectData.ObjectTimer - _arg2); }; if (_arg1.GetUserData().objectData.ObjectTimer <= 0){ if (_arg1.IsSleeping()){ bodyDef.userData.objectData.SetResistance(100, 1, 100, 100); } else { bodyDef.userData.objectData.SetResistance(100, 0, 100, 100); }; }; }; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Body; _Handler_Sounds.PlaySoundAt_Box2DScale("barrel_explosion", _arg1.GetPosition().x, _arg1.GetPosition().y); _local2 = _arg1.GetLinearVelocity(); _local3 = new b2Vec2(); _local3.x = (-1.5 / 30); _local3.y = (-1.5 / 30); _local4 = _arg1.GetWorldPoint(_local3); _local5 = AddPolygon("barrel_debris_02", _local4.x, _local4.y, _arg1.GetAngle(), new b2Vec2(((_local2.x + (Math.random() * 2)) - 1), (_local2.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local5); }; _local3.x = (2.5 / 30); _local3.y = (-2.5 / 30); _local4 = _arg1.GetWorldPoint(_local3); _local5 = AddBox("barrel_debris_01", _local4.x, _local4.y, _arg1.GetAngle(), new b2Vec2(((_local2.x + (Math.random() * 2)) - 1), (_local2.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local5); }; _local3.x = (-0.5 / 30); _local3.y = (5 / 30); _local4 = _arg1.GetWorldPoint(_local3); _local5 = AddBox("barrel_debris_03", _local4.x, _local4.y, _arg1.GetAngle(), new b2Vec2(((_local2.x + (Math.random() * 2)) - 1), (_local2.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local5); }; _Handler_Explosions.TriggerExplosionAt_Box2DScale("", _arg1.GetPosition().x, _arg1.GetPosition().y); }; tmp_mc = _objects_mc; break; case "COMP": size.x = 5; size.y = 10; boxDef.filter.categoryBits = 2; bodyDef.userData = new comp(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 10, 0, false); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.OnlyBurnWhileWake = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.8; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.Strength = 1; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ _Handler_Sounds.PlaySoundAt_Box2DScale("COMP_EXPLODE", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Effects.AddEffectAt_Box2DScale("EXPLOSION_CIRCLE", _arg1.GetPosition().x, _arg1.GetPosition().y); }; tmp_mc = _objects_mc; break; case "BARREL": size.x = 9; size.y = 13; boxDef.filter.categoryBits = 2; bodyDef.userData = new barrel_02(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 50, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.8; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = true; bodyDef.userData.objectData.Strength = 30; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "TRASHCAN": size.x = 9; size.y = 13; boxDef.filter.categoryBits = 2; bodyDef.userData = new trashcan(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 50, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.8; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = true; bodyDef.userData.objectData.Strength = 30; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "CHAR_GIB_01": case "CHAR_GIB_02": case "CHAR_GIB_03": case "CHAR_GIB_04": case "CHAR_GIB_05": boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; switch (type.toUpperCase()){ case "CHAR_GIB_01": size.x = 5; size.y = 4; bodyDef.userData = new char_gib_01(); break; case "CHAR_GIB_02": size.x = 5; size.y = 3; bodyDef.userData = new char_gib_02(); break; case "CHAR_GIB_03": size.x = 3; size.y = 5; bodyDef.userData = new char_gib_03(); break; case "CHAR_GIB_04": size.x = 4; size.y = 3; bodyDef.userData = new char_gib_04(); break; case "CHAR_GIB_05": size.x = 4; size.y = 3; bodyDef.userData = new char_gib_05(); break; }; bodyDef.userData.material = _material.Ragdoll; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 0, 1, 0, 0); bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.8; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.Strength = 30; bodyDef.userData.objectData.UserValues = [40, PosX, PosY]; bodyDef.userData.objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1.GetUserData().objectData.UserValues[0] > 0){ _arg1.GetUserData().objectData.UserValues[0] = (_arg1.GetUserData().objectData.UserValues[0] - _arg2); if (!(_arg1.IsSleeping())){ if (!(_arg1.GetUserData().objectData.ThroughPortal)){ _local3 = (_arg1.GetPosition().x - _arg1.GetUserData().objectData.UserValues[1]); _local4 = (_arg1.GetPosition().y - _arg1.GetUserData().objectData.UserValues[2]); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); if (_local5 >= 0.2){ _local6 = (_local3 / _local5); _local7 = (_local4 / _local5); _local8 = 0; while (_local8 <= _local5) { _Handler_Effects.AddEffectAt_Box2DScale("BLOOD_GIB_TRACE", (_arg1.GetPosition().x - (_local6 * _local8)), (_arg1.GetPosition().y - (_local7 * _local8))); _local8 = (_local8 + 0.2); }; _arg1.GetUserData().objectData.UserValues[1] = _arg1.GetPosition().x; _arg1.GetUserData().objectData.UserValues[2] = _arg1.GetPosition().y; }; } else { _arg1.GetUserData().objectData.UserValues[1] = _arg1.GetPosition().x; _arg1.GetUserData().objectData.UserValues[2] = _arg1.GetPosition().y; _arg1.GetUserData().objectData.ThroughPortal = false; }; }; } else { _arg1.GetUserData().objectData.UpdateFunction = _debrisFadeFunction; }; }; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _scrap_mc; break; case "FILECAB": size.x = 11; size.y = 13; boxDef.filter.categoryBits = 2; bodyDef.userData = new filecab_01(); bodyDef.userData.material = _material.Metal; bodyDef.userData.material.BulletHitEffect = "FILECAB_HIT"; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 50, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CrushDamage = 35; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.PlayerBounce = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "DESK_1": size.x = 25; size.y = 12; boxDef.filter.categoryBits = 2; bodyDef.userData = new desk_1(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 100, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBurn = false; bodyDef.userData.objectData.CanGibb = true; bodyDef.userData.objectData.CrushDamage = 35; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 0.5; bodyDef.userData.objectData.BotPreferJump = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "DESK": size.x = 25; size.y = 12; boxDef.filter.categoryBits = 2; bodyDef.userData = new desk(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 100, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBurn = false; bodyDef.userData.objectData.CanGibb = true; bodyDef.userData.objectData.CrushDamage = 35; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 0.5; bodyDef.userData.objectData.BotPreferJump = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "POOL_TABLE": size.x = 40; size.y = 12; boxDef.filter.categoryBits = 2; bodyDef.userData = new pool_table_01(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 100, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBurn = false; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.CanGibb = true; bodyDef.userData.objectData.CrushDamage = 35; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 0.5; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "PAPER": size.x = 7; size.y = 7; boxDef.filter.categoryBits = 2; bodyDef.userData = new paper(); bodyDef.userData.material = _material.Paper; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 20, 0, 4, 1, 500); bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 1; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UserValues = [5]; bodyDef.userData.objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ if (_arg1.GetUserData().objectData.ObjectTimer == 0){ _arg1.GetUserData().objectData.ObjectTimer = 6; } else { _arg1.GetUserData().objectData.ObjectTimer = (_arg1.GetUserData().objectData.ObjectTimer - _arg2); if (_arg1.GetUserData().objectData.ObjectTimer <= 0){ _arg1.GetUserData().objectData.BulletTransparent = false; m_world.RemoveObjectFromLists(_arg1); m_world.AddObjectToLists(_arg1); }; }; }; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:b2Vec2; var _local3:b2Body; if ((((_arg1.GetUserData().objectData.UserValues[0] > 0)) && (!((_arg1.GetUserData().objectData.LastDamage == BodyData.DAMAGE_EXPLOSION))))){ _Handler_Effects.AddParticle_Box2DScale(new particle_data("PAPER_HIT", _arg1.GetPosition().x, _arg1.GetPosition().y)); _local2 = _arg1.GetLinearVelocity(); _local2.x = (_local2.x * 0.2); _local2.y = (_local2.y * 0.2); _local3 = AddObject("PAPER", _arg1.GetPosition().x, _arg1.GetPosition().y, _arg1.GetAngle(), _local2, _arg1.GetAngularVelocity()); _local3.GetUserData().objectData.UserValues[0] = (_arg1.GetUserData().objectData.UserValues[0] - 1); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local3); } else { _Handler_Fires.AddSmokeToObject(_local3, _arg1.GetUserData().objectData.ObjectSmokeGrade); }; } else { _Handler_Effects.AddParticle_Box2DScale(new particle_data("PAPER_HIT", (_arg1.GetPosition().x + (((Math.random() * 8) - 4) / 30)), (_arg1.GetPosition().y - (((Math.random() * 6) - 3) / 30)))); _Handler_Effects.AddParticle_Box2DScale(new particle_data("PAPER_HIT", (_arg1.GetPosition().x - (((Math.random() * 8) - 4) / 30)), (_arg1.GetPosition().y + (((Math.random() * 6) - 3) / 30)))); _Handler_Effects.AddParticle_Box2DScale(new particle_data("PAPER_HIT", (_arg1.GetPosition().x - (((Math.random() * 8) - 4) / 30)), (_arg1.GetPosition().y + (((Math.random() * 6) - 3) / 30)))); }; }; tmp_mc = _scrap_mc; break; case "BARREL_DEBRIS_03": size.x = 2; size.y = 3; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new barrel_debris_03(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 0, 30, 1); bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.OnlyBurnWhileWake = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _scrap_mc; break; case "BARREL_DEBRIS_01": size.x = 2; size.y = 5; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new barrel_debris_01(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 30, 0, 0, 30, 1); bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.OnlyBurnWhileWake = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.Strength = 3; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.objectData.UpdateFunction = _debrisUpdateFunction; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _scrap_mc; break; case "CRATE": size.x = 14; size.y = 14; boxDef.filter.categoryBits = 2; bodyDef.userData = new crate_01(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40, 1, 1, 0.8, 2); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerFragile = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.7; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:Number; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:b2Body; var _local7:Number; _Handler_Sounds.PlaySoundAt_Box2DScale("bustwood", _arg1.GetPosition().x, _arg1.GetPosition().y); _local2 = _arg1.GetUserData().objectData.ObjectSmokeGrade; if (_local2 < 2){ _local2 = 1; }; _local3 = _arg1.GetLinearVelocity(); _local4 = new b2Vec2(); _local4.x = (-3 / 30); _local4.y = (-5 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("crate_debris_01", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; _local4.x = (4 / 30); _local4.y = (-1 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("crate_debris_02", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 3))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; _local4.x = (-1 / 30); _local4.y = (5 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("crate_debris_03", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), ((_local3.y - (Math.random() * 3)) + 1)), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; if (Math.random() < 0.2){ _local4.x = 0; _local4.y = 0; _local5 = _arg1.GetWorldPoint(_local4); _local7 = Math.random(); if (_local7 < 0.25){ AddObject("BEACHBALL", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), ((_local3.y - (Math.random() * 3)) + 1)), (((Math.random() * Math.PI) * 2) - Math.PI)); } else { if (_local7 < 0.5){ AddObject("PAPER", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), ((_local3.y - (Math.random() * 3)) + 1)), (((Math.random() * Math.PI) * 2) - Math.PI)); AddObject("PAPER", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), ((_local3.y - (Math.random() * 3)) + 1)), (((Math.random() * Math.PI) * 2) - Math.PI)); } else { if (_local7 < 0.75){ AddObject("COMP", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), ((_local3.y - (Math.random() * 3)) + 1)), (((Math.random() * Math.PI) * 2) - Math.PI)); } else { if (_local7 <= 1){ AddObject("COMP_SCREEN", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), ((_local3.y - (Math.random() * 3)) + 1)), (((Math.random() * Math.PI) * 2) - Math.PI)); }; }; }; }; }; }; tmp_mc = _objects_mc; break; case "TABLE": size.x = 18; size.y = 10; boxDef.filter.categoryBits = 2; bodyDef.userData = new table_01(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerFragile = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 0.95; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:Number; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:b2Body; _Handler_Sounds.PlaySoundAt_Box2DScale("bustwood", _arg1.GetPosition().x, _arg1.GetPosition().y); _local2 = _arg1.GetUserData().objectData.ObjectSmokeGrade; if (_local2 < 2){ _local2 = 1; }; _local3 = _arg1.GetLinearVelocity(); _local4 = new b2Vec2(); _local4.x = (-6 / 30); _local4.y = (0 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("table_debris_01", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; _local4.x = (-0.5 / 30); _local4.y = (-3.5 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("table_debris_02", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; _local4.x = (6 / 30); _local4.y = (0 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("table_debris_03", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; }; tmp_mc = _objects_mc; break; case "TABLE_SMALL": size.x = 13; size.y = 7; boxDef.filter.categoryBits = 2; bodyDef.userData = new table_small_01(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 40); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerFragile = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 0.95; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:Number; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:b2Body; _Handler_Sounds.PlaySoundAt_Box2DScale("bustwood", _arg1.GetPosition().x, _arg1.GetPosition().y); _local2 = _arg1.GetUserData().objectData.ObjectSmokeGrade; if (_local2 < 2){ _local2 = 1; }; _local3 = _arg1.GetLinearVelocity(); _local4 = new b2Vec2(); _local4.x = (-5 / 30); _local4.y = (0 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("table_debris_01", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; _local4.x = (-0.5 / 30); _local4.y = (-3 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("table_debris_02", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; _local4.x = (5 / 30); _local4.y = (0 / 30); _local5 = _arg1.GetWorldPoint(_local4); _local6 = AddPolygon("table_debris_03", _local5.x, _local5.y, _arg1.GetAngle(), new b2Vec2(((_local3.x + (Math.random() * 4)) - 2), (_local3.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); if (_arg1.GetUserData().objectData.ObjectOnFire){ _Handler_Fires.AddFireToObject(_local6); } else { _Handler_Fires.AddSmokeToObject(_local6, _local2); }; }; tmp_mc = _objects_mc; break; default: size.x = 10; size.y = 10; boxDef.filter.categoryBits = 2; boxDef.filter.maskBits = 1; bodyDef.userData = new error_mc(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 50); bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _scrap_mc; break; }; if (reversed){ bodyDef.userData.scaleX = -1; }; bodyDef.userData.IDNumber = GenerateID(); bodyDef.userData.tiltValue = 0; size.x = (size.x + 1); size.y = (size.y + 1); boxDef.SetAsBox((size.x / 60), (size.y / 60)); boxDef.density = bodyDef.userData.material.Density; boxDef.friction = bodyDef.userData.material.Friction; boxDef.restitution = bodyDef.userData.material.Restitution; if (((bodyDef.userData.objectData.DrawHitBox) || (bodyDef.userData.objectData.DrawCloudBox))){ if (type.toUpperCase() == "TABLE"){ bodyDef.userData.objectData.CollisionMC = DrawBoxMC(size.x, 5, 0xFF, 1, 0, -2.5); } else { if (type.toUpperCase() == "TABLE_SMALL"){ bodyDef.userData.objectData.CollisionMC = DrawBoxMC(size.x, 5, 0xFF, 1, 0, -2); } else { bodyDef.userData.objectData.CollisionMC = DrawBoxMC(size.x, size.y); }; }; bodyDef.userData.objectData.CollisionMC.x = (PosX * 30); bodyDef.userData.objectData.CollisionMC.y = (PosY * 30); bodyDef.userData.objectData.CollisionMC.rotation = (Angle * (180 / Math.PI)); if (bodyDef.userData.isLadder == true){ _static_ladder_hitbox_mc.addChild(bodyDef.userData.objectData.CollisionMC); } else { if (bodyDef.userData.objectData.DrawHitBox){ _static_objects_hitbox_mc.addChild(bodyDef.userData.objectData.CollisionMC); } else { if (bodyDef.userData.objectData.DrawCloudBox){ _static_objects_cloud_hitbox_mc.addChild(bodyDef.userData.objectData.CollisionMC); }; }; }; }; if (bodyDef.userData.objectData.DrawShapeMC){ if (bodyDef.userData.isLadder == true){ bodyDef.userData.objectData.ShapeMC = DrawBoxMC(size.x, size.y, 16737894, 0.4); } else { if (type.toUpperCase() == "TABLE"){ bodyDef.userData.objectData.ShapeMC = DrawBoxMC(size.x, 5, 0xFF, 1, 0, -2.5); } else { if (type.toUpperCase() == "TABLE_SMALL"){ bodyDef.userData.objectData.ShapeMC = DrawBoxMC(size.x, 5, 0xFF, 1, 0, -2); } else { bodyDef.userData.objectData.ShapeMC = DrawBoxMC(size.x, size.y, 0xFF00, 0.4); }; }; }; bodyDef.userData.objectData.ShapeMC.x = (PosX * 30); bodyDef.userData.objectData.ShapeMC.y = (PosY * 30); bodyDef.userData.objectData.ShapeMC.rotation = (Angle * (180 / Math.PI)); _object_shape_container_mc.addChild(bodyDef.userData.objectData.ShapeMC); }; bodyDef.userData.x = (PosX * 30); bodyDef.userData.y = (PosY * 30); bodyDef.userData.rotation = (Angle * (180 / Math.PI)); tmp_mc.addChild(bodyDef.userData); body = m_world.CreateBody(bodyDef); body.CreateShape(boxDef); body.SetMassFromShapes(); body.SetUserData(bodyDef.userData); body.SetLinearVelocity(Velocity); body.SetAngularVelocity(AngularVelocity); body.GetUserData().objectData.Body = body; _Handler_Output.Trace((((((type.toUpperCase() + " created at (") + Math.round(bodyDef.userData.x)) + ", ") + Math.round(bodyDef.userData.y)) + ")")); if (type.toUpperCase() == "SPARK"){ body.SetBullet(true); if (Velocity.LengthSquared() == 0){ body.SetLinearVelocity(new b2Vec2(((Math.random() * 12) - 6), ((Math.random() * 10) - 8))); }; }; m_world.AddObjectToLists(body); return (body); } public function DrawCircleMC(_arg1:Number, _arg2:uint=0xFF, _arg3:Number=1):MovieClip{ var _local4:MovieClip; _local4 = new MovieClip(); _local4.graphics.lineStyle(0.5, 0, 1, false, "none"); _local4.graphics.beginFill(_arg2, _arg3); _local4.graphics.drawCircle(0, 0, _arg1); _local4.graphics.endFill(); return (_local4); } public function AddCircle(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:b2Vec2, _arg6:Number, _arg7:Array=null, _arg8:Boolean=false):b2Body{ var tmp_mc:MovieClip; var body:b2Body; var bodyDef:b2BodyDef; var circleDef:b2CircleDef; var radius:Number; var boxDef:*; var type = _arg1; var PosX = _arg2; var PosY = _arg3; var Angle = _arg4; var Velocity = _arg5; var AngularVelocity = _arg6; var optionalValues = _arg7; var reversed = _arg8; if (_locked){ _queue.push("C", type, PosX, PosY, Angle, Velocity, AngularVelocity, optionalValues); return (null); }; circleDef = new b2CircleDef(); radius = 1; bodyDef = new b2BodyDef(); bodyDef.position.x = PosX; bodyDef.position.y = PosY; switch (type.toUpperCase()){ case "ROLLING_PIPE": radius = 27; circleDef.filter.categoryBits = 2; bodyDef.userData = new rolling_pipe(); bodyDef.userData.material = _material.Metal; bodyDef.userData.material.Density = 9999; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanGibb = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.CanBlockFire = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "STATUE_GLOBE": radius = 17; circleDef.filter.categoryBits = 2; bodyDef.userData = new statue_globe(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanGibb = true; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.CanBlockFire = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "WINDMILL_PROPELLER": radius = 20.5; circleDef.filter.categoryBits = 2; bodyDef.userData = new windmill_propeller(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanGibb = true; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.CanBlockFire = true; bodyDef.userData.objectData.CanBlockExplosions = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "TUTORIAL_TARGET": radius = 5.5; circleDef.filter.categoryBits = 2; circleDef.filter.maskBits = 1; bodyDef.userData = new tutorial_target(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 5, 0, 1, 1, 1, false); bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Body; _Handler_Sounds.PlaySoundAt_Box2DScale("bustwood", _arg1.GetPosition().x, _arg1.GetPosition().y); _local2 = _arg1.GetLinearVelocity(); _local3 = new b2Vec2(); _local3.x = (-2.5 / 30); _local3.y = (-2.5 / 30); _local4 = _arg1.GetWorldPoint(_local3); _local5 = AddPolygon("tutorial_target_debris_01", _local4.x, _local4.y, _arg1.GetAngle(), new b2Vec2(((_local2.x + (Math.random() * 4)) - 2), (_local2.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); _local3.x = (3.5 / 30); _local3.y = (-0.5 / 30); _local4 = _arg1.GetWorldPoint(_local3); _local5 = AddPolygon("tutorial_target_debris_02", _local4.x, _local4.y, _arg1.GetAngle(), new b2Vec2(((_local2.x + (Math.random() * 4)) - 2), (_local2.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); _local3.x = (-0.5 / 30); _local3.y = (4.5 / 30); _local4 = _arg1.GetWorldPoint(_local3); _local5 = AddPolygon("tutorial_target_debris_03", _local4.x, _local4.y, _arg1.GetAngle(), new b2Vec2(((_local2.x + (Math.random() * 4)) - 2), (_local2.y - (Math.random() * 2))), (((Math.random() * Math.PI) * 2) - Math.PI)); }; tmp_mc = _objects_mc; break; case "BEACHBALL": radius = 6; circleDef.filter.categoryBits = 2; bodyDef.userData = new beachball(); bodyDef.userData.gotoAndStop(1); bodyDef.userData.material = _material.Beachball; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 20, 0, 1, 20, 50); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.CanGibb = false; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.objectData.KickPower = 1.3; bodyDef.userData.objectData.KickWeightCalculation = true; bodyDef.userData.objectData.CanCarryFire = true; bodyDef.userData.objectData.CanBlockFire = false; bodyDef.userData.objectData.CanBlockExplosions = false; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.PlayerBounce = false; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ var _local2:b2Vec2; _local2 = new b2Vec2((_arg1.GetLinearVelocity().x * 0.2), (_arg1.GetLinearVelocity().y * 0.2)); AddObject("BEACHBALL_FLAT", _arg1.GetPosition().x, _arg1.GetPosition().y, 0, _local2, 0); }; tmp_mc = _objects_mc; break; case "COMFY_CHAIR": radius = 6.5; circleDef.filter.categoryBits = 2; bodyDef.userData = new comfy_chair(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = true; bodyDef.userData.objectData.CanBurn = true; bodyDef.userData.objectData.OnlyBurnWhileWake = true; bodyDef.userData.objectData.CrushDamage = 25; bodyDef.userData.objectData.CanSmoke = true; bodyDef.userData.objectData.AffectedByExplosions = true; bodyDef.userData.objectData.LaserVisibleOnObject = true; bodyDef.userData.objectData.Kickable = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; case "PLATFORM_MOTOR": radius = 30; circleDef.filter.categoryBits = 8; circleDef.filter.maskBits = 8; bodyDef.userData = new blank_mc(); bodyDef.userData.material = _material.Metal; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 10, 0, 0, 0, 0, true); bodyDef.userData.objectData.DrawHitBox = false; bodyDef.userData.objectData.DrawShapeMC = false; bodyDef.userData.objectData.BulletTransparent = true; bodyDef.userData.objectData.LaserTransparent = true; bodyDef.userData.objectData.AimTransparent = true; bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _objects_mc; break; default: radius = 5; circleDef.filter.categoryBits = 2; circleDef.filter.maskBits = 1; bodyDef.userData = new error_mc(); bodyDef.userData.material = _material.Wood; bodyDef.userData.objectData = new BodyData(bodyDef.userData, _Handler_Deconstructer, 50); bodyDef.userData.onDestruction = function (_arg1:b2Body):void{ }; tmp_mc = _scrap_mc; break; }; if (reversed){ bodyDef.userData.scaleX = -1; }; bodyDef.userData.IDNumber = GenerateID(); bodyDef.userData.tiltValue = 0; radius = (radius + 0.5); circleDef.radius = (radius / 30); circleDef.density = bodyDef.userData.material.Density; circleDef.friction = bodyDef.userData.material.Friction; circleDef.restitution = bodyDef.userData.material.Restitution; if (bodyDef.userData.objectData.DrawHitBox){ bodyDef.userData.objectData.CollisionMC = DrawCircleMC((circleDef.radius * 30)); bodyDef.userData.objectData.CollisionMC.x = (PosX * 30); bodyDef.userData.objectData.CollisionMC.y = (PosY * 30); _static_objects_hitbox_mc.addChild(bodyDef.userData.objectData.CollisionMC); }; if (bodyDef.userData.objectData.DrawShapeMC){ bodyDef.userData.objectData.ShapeMC = DrawCircleMC((circleDef.radius * 30), 0xFF00, 0.4); bodyDef.userData.objectData.ShapeMC.x = (PosX * 30); bodyDef.userData.objectData.ShapeMC.y = (PosY * 30); _object_shape_container_mc.addChild(bodyDef.userData.objectData.ShapeMC); }; bodyDef.userData.x = (PosX * 30); bodyDef.userData.y = (PosY * 30); tmp_mc.addChild(bodyDef.userData); body = m_world.CreateBody(bodyDef); body.CreateShape(circleDef); if (type.toUpperCase() == "COMFY_CHAIR"){ boxDef = new b2PolygonDef(); boxDef.filter.categoryBits = 2; boxDef.SetAsOrientedBox((14 / 60), (9 / 60), new b2Vec2(0, (3.5 / 30)), 0); boxDef.density = bodyDef.userData.material.Density; boxDef.friction = bodyDef.userData.material.Friction; boxDef.restitution = bodyDef.userData.material.Restitution; body.CreateShape(boxDef); }; body.SetMassFromShapes(); body.SetUserData(bodyDef.userData); body.SetLinearVelocity(Velocity); body.SetAngularVelocity(AngularVelocity); body.GetUserData().objectData.Body = body; _Handler_Output.Trace((((((type.toUpperCase() + " created at (") + Math.round(bodyDef.userData.x)) + ", ") + Math.round(bodyDef.userData.y)) + ")")); m_world.AddObjectToLists(body); return (body); } public function AddDistanceJoint(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):b2DistanceJoint{ var _local5:b2DistanceJointDef; _local5 = new b2DistanceJointDef(); _local5.Initialize(_arg1, _arg2, _arg3, _arg4); return ((m_world.CreateJoint(_local5) as b2DistanceJoint)); } public function AddGearJoint(_arg1:b2Body, _arg2:b2Body, _arg3, _arg4, _arg5:Number):b2GearJoint{ var _local6:b2GearJointDef; _local6 = new b2GearJointDef(); _local6.body1 = _arg1; _local6.body2 = _arg2; _local6.joint1 = _arg3; _local6.joint2 = _arg4; _local6.ratio = _arg5; return ((m_world.CreateJoint(_local6) as b2GearJoint)); } public function AddPrismaticJoint(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):b2PrismaticJoint{ var _local5:b2PrismaticJointDef; _local5 = new b2PrismaticJointDef(); _local5.Initialize(_arg1, _arg2, _arg3, _arg4); return ((m_world.CreateJoint(_local5) as b2PrismaticJoint)); } public function DrawBoxMC(_arg1:Number, _arg2:Number, _arg3:uint=0xFF, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0):MovieClip{ var _local7:MovieClip; _local7 = new MovieClip(); _local7.graphics.lineStyle(0.5, 0, 1, false, "none"); _local7.graphics.beginFill(_arg3, _arg4); _local7.graphics.moveTo(((-(_arg1) / 2) + _arg5), ((-(_arg2) / 2) + _arg6)); _local7.graphics.lineTo(((_arg1 / 2) + _arg5), ((-(_arg2) / 2) + _arg6)); _local7.graphics.lineTo(((_arg1 / 2) + _arg5), ((_arg2 / 2) + _arg6)); _local7.graphics.lineTo(((-(_arg1) / 2) + _arg5), ((_arg2 / 2) + _arg6)); _local7.graphics.lineTo(((-(_arg1) / 2) + _arg5), ((-(_arg2) / 2) + _arg6)); _local7.graphics.endFill(); return (_local7); } public function AddRevoluteJoint(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):b2RevoluteJoint{ var _local4:b2RevoluteJointDef; _local4 = new b2RevoluteJointDef(); _local4.Initialize(_arg1, _arg2, _arg3); return ((m_world.CreateJoint(_local4) as b2RevoluteJoint)); } public function AddLimitedJoint(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:Number, _arg5:Number):b2RevoluteJoint{ var _local6:b2RevoluteJointDef; _local6 = new b2RevoluteJointDef(); _local6.lowerAngle = (-(_arg4) / (180 / Math.PI)); _local6.upperAngle = (_arg5 / (180 / Math.PI)); _local6.enableLimit = true; _local6.Initialize(_arg1, _arg2, _arg3); return ((m_world.CreateJoint(_local6) as b2RevoluteJoint)); } public function Lock():void{ _locked = true; } public function AddRevoluteMotor(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:Number, _arg5:Number):b2RevoluteJoint{ var _local6:b2RevoluteJointDef; _local6 = new b2RevoluteJointDef(); _local6.motorSpeed = _arg4; _local6.maxMotorTorque = _arg5; _local6.enableMotor = true; _local6.Initialize(_arg1, _arg2, _arg3); return ((m_world.CreateJoint(_local6) as b2RevoluteJoint)); } public function get Material():MaterialsData{ return (_material); } public function set Setb2World(_arg1:b2World):void{ m_world = _arg1; _ground = m_world.GetGroundBody(); } public function set LinkDeconstructer(_arg1:Deconstructer):void{ _Handler_Deconstructer = _arg1; } public function DrawPolyMC(_arg1:Array, _arg2:uint=0xFF, _arg3:Number=1):MovieClip{ var _local4:MovieClip; var _local5:*; _local4 = new MovieClip(); _local4.graphics.lineStyle(0.5, 0, 1, false, "none"); _local4.graphics.beginFill(_arg2, _arg3); _local4.graphics.moveTo((_arg1[0][0] * 30), (_arg1[0][1] * 30)); _local5 = 1; while (_local5 < _arg1.length) { _local4.graphics.lineTo((_arg1[_local5][0] * 30), (_arg1[_local5][1] * 30)); _local5++; }; _local4.graphics.lineTo((_arg1[0][0] * 30), (_arg1[0][1] * 30)); _local4.graphics.endFill(); return (_local4); } public function AddHangingLamp(_arg1:Point, _arg2:Number):Rope{ var lampPoint:Point; var lamp:b2Body; var rope:Rope; var layer_mc:MovieClip; var ceilPoint = _arg1; var lineLength = _arg2; lampPoint = new Point(ceilPoint.x, (ceilPoint.y + lineLength)); lamp = AddObject("HANGING_LAMP", (lampPoint.x / 30), ((lampPoint.y + 4) / 30), 0, new b2Vec2(0, 0), 0); AddDistanceJoint(Ground, lamp, new b2Vec2((ceilPoint.x / 30), (ceilPoint.y / 30)), new b2Vec2(lamp.GetPosition().x, (lamp.GetPosition().y - (4 / 30)))); lamp.ApplyForce(new b2Vec2(((Math.random() * 4) - 2), Math.random()), new b2Vec2(lamp.GetPosition().x, lamp.GetPosition().y)); rope = new Rope(Ground, lamp, new b2Vec2((ceilPoint.x / 30), (ceilPoint.y / 30)), new b2Vec2((lampPoint.x / 30), (lampPoint.y / 30))); layer_mc = MovieClip(_dynamic_mc.getChildByName("OBJECTS")); layer_mc.addChild(rope.MC); lamp.GetUserData().onDestruction = function (_arg1:b2Body):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Body; _Handler_Sounds.PlaySoundAt_Box2DScale("bustglass", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Sounds.PlaySoundAt_Box2DScale("ELECTRIC_SPARK", _arg1.GetPosition().x, _arg1.GetPosition().y); _Handler_Effects.AddEffectAt_Box2DScale("ELECTRIC_SPARK", _arg1.GetPosition().x, _arg1.GetPosition().y); _local2 = new b2Vec2(); _local2.x = 0; _local2.y = (4 / 30); _local3 = _arg1.GetWorldPoint(_local2); AddBox("SPARK", _local3.x, _local3.y, 0, new b2Vec2(((Math.random() * 10) - 5), Math.random()), (Math.random() * Math.PI)); AddBox("SPARK", (_local3.x - (1 / 30)), _local3.y, 0, new b2Vec2(((Math.random() * 10) - 5), Math.random()), (Math.random() * Math.PI)); AddBox("SPARK", (_local3.x + (1 / 30)), _local3.y, 0, new b2Vec2(((Math.random() * 10) - 5), Math.random()), (Math.random() * Math.PI)); AddBox("SPARK", (_local3.x - (2 / 30)), _local3.y, 0, new b2Vec2(((Math.random() * 10) - 5), Math.random()), (Math.random() * Math.PI)); AddBox("SPARK", (_local3.x + (2 / 30)), _local3.y, 0, new b2Vec2(((Math.random() * 10) - 5), Math.random()), (Math.random() * Math.PI)); rope.Remove(); _local4 = AddObject("HANGING_LAMP_B", _arg1.GetPosition().x, _arg1.GetPosition().y, _arg1.GetAngle(), _arg1.GetLinearVelocity(), _arg1.GetAngularVelocity()); _local2.x = 0; _local2.y = (-4 / 30); _local3 = _arg1.GetWorldPoint(_local2); AddDistanceJoint(Ground, _local4, new b2Vec2((ceilPoint.x / 30), (ceilPoint.y / 30)), new b2Vec2(_local3.x, _local3.y)); rope.BuildRope(Ground, _local4, new b2Vec2((ceilPoint.x / 30), (ceilPoint.y / 30)), new b2Vec2(_local3.x, _local3.y)); layer_mc.addChild(rope.MC); }; return (rope); } private function GenerateID():int{ _idGiver = (_idGiver + 1); return (_idGiver); } public function CreateGroundPolygon(_arg1:MaterialData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Array, _arg6:Array=null):b2Body{ var _local7:b2Body; var _local8:b2BodyDef; var _local9:*; var _local10:*; _arg5 = IncreaseCorners(_arg5); _local9 = new b2PolygonDef(); _local8 = new b2BodyDef(); _local8.position.Set(_arg2, _arg3); _local8.angle = _arg4; _local8.userData = new Object(); _local8.userData.IDNumber = GenerateID(); _local8.userData.material = _arg1; _local8.userData.tiltValue = 0; _local8.userData.allowCover = false; if (_arg6 == null){ _local8.userData.shapeMC = DrawPolyMC(_arg5, 0xFF00FF); } else { if (_arg6[0] == "CLOUD"){ _local8.userData.shapeMC = DrawPolyMC(_arg5, 0xFF0066); } else { if (_arg6[0] == "LADDER"){ _local8.userData.shapeMC = DrawPolyMC(_arg5, 16737894); } else { _local8.userData.shapeMC = DrawPolyMC(_arg5, 0xFF00FF); _arg6 = null; }; }; }; _local8.userData.shapeMC.x = (_arg2 * 30); _local8.userData.shapeMC.y = (_arg3 * 30); _local8.userData.shapeMC.rotation = (_arg4 * (180 / Math.PI)); _local9.vertexCount = _arg5.length; _local10 = 0; while (_local10 < _arg5.length) { _local9.vertices[_local10] = new b2Vec2(_arg5[_local10][0], _arg5[_local10][1]); _local10++; }; _local9.friction = _local8.userData.material.Friction; _local9.restitution = _local8.userData.material.Restitution; _local9.density = 0; if (_arg6 != null){ if (_arg6[0] == "LADDER"){ _local9.filter.categoryBits = 2; _local9.filter.maskBits = 1; _local8.userData.isLadder = true; }; if (_arg6[0] == "CLOUD"){ _local9.filter.isCloud = true; _local8.userData.isCloud = true; }; }; _local7 = m_world.CreateBody(_local8); _local7.CreateShape(_local9); _local7.SetMassFromShapes(); _local7.SetUserData(_local8.userData); if (_arg6 == null){ _static_world_hitbox_mc.addChild(_local7.GetUserData().shapeMC); } else { if (_arg6[0] == "CLOUD"){ _static_world_cloud_hitbox_mc.addChild(_local7.GetUserData().shapeMC); } else { if (_arg6[0] == "LADDER"){ _static_ladder_hitbox_mc.addChild(_local7.GetUserData().shapeMC); }; }; }; return (_local7); } } }//package Code.Handler
Section 152
//Maps (Code.Handler.Maps) package Code.Handler { import Code.Data.Weapons.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Collision.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import flash.display.*; import Code.Data.*; import flash.geom.*; import Code.Particles.*; public class Maps { private var MapStart:Function; private var _static_mc:MovieClip; private var mapArea:Rectangle; public var TutorialOver:Boolean;// = false private var pathGrid:PathGrid; private var _Handler_Effects:Effects; private var _mapStartTimer:int;// = 2 private var playerSpawns:Array; private var portals:Array; private var weaponSpawns:Array; public var MapUpdate:Function; private var m_contactListener:b2ContactListener; public var Handler_WorldItems:MapPremadeItems; private var _dynamic_mc:MovieClip; private var _Handler_Players:PlayersKeeper; private var _Handler_Sounds:Sounds; private var m_world:b2World; private var _Handler_Weapons:Weapons; private var mapGraphic:MapGraphic; private var _Handler_Output:OutputTrace; public var MapEnd:Function; public static var TOTAL_MAPS:int = 5; public function Maps(_arg1:OutputTrace):void{ TutorialOver = false; _mapStartTimer = 2; super(); Handler_WorldItems = new MapPremadeItems(_arg1); _Handler_Output = _arg1; _Handler_Output.Trace("Maps Handler Created"); } public function GetWeaponSpawns(_arg1:Number=0):Array{ return (weaponSpawns); } public function GetLevelMC(_arg1:String):MovieClip{ var _local2:MovieClip; _local2 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName(_arg1)); if (_local2 == null){ }; return (_local2); } private function GenerateMapTutorial():void{ var instructions:MovieClip; var t_1_logic:MapLogic; var t_1_initialized:Boolean; var t_1_moved_right:Boolean; var t_1_moved_left:Boolean; var t_1_p_prev_x:Number; var t_2_logic:MapLogic; var t_2_jumped:Boolean; var t_2_crouched:Boolean; var t_3_logic:MapLogic; var t_4_logic:MapLogic; var t_4_initialized:Boolean; var t_4_moved_right:Boolean; var t_4_moved_left:Boolean; var t_4_p_prev_x:Number; var t_5_logic:MapLogic; var wpnPosX:Number; var tutorial_weapon:b2Body; var t_6_logic:MapLogic; var t_8_targets:Array; var t_7_logic:MapLogic; var t_8_logic:MapLogic; var t_10_targets:Array; var t_9_logic:MapLogic; var t_10_logic:MapLogic; var t_12_targets:Array; var t_11_logic:MapLogic; var t_12_logic:MapLogic; var tutorial_crate:b2Body; var t_13_logic:MapLogic; var t_14_logic:MapLogic; var t_15_logic:MapLogic; mapArea = new Rectangle(1, -25, 347, 260); playerSpawns = new Array(new Point(169, 198)); weaponSpawns = new Array(); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-34 / 30), (105 / 30), 0, (110 / 30), (358 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (196 / 30), (-35 / 30), 0, (452 / 30), (104 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (183.5 / 30), (254 / 30), 0, (469 / 30), (92 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (389 / 30), (103 / 30), 0, (122 / 30), (381 / 30), new Array("NONE")); pathGrid.AddNode(new PathNode("", 26, 204, "", null)); pathGrid.AddNode(new PathNode("", 60, 204, "", null)); pathGrid.AddNode(new PathNode("", 94, 204, "", null)); pathGrid.AddNode(new PathNode("", 129, 204, "", null)); pathGrid.AddNode(new PathNode("", 163, 204, "", null)); pathGrid.AddNode(new PathNode("", 198, 204, "", null)); pathGrid.AddNode(new PathNode("", 231, 204, "", null)); pathGrid.AddNode(new PathNode("", 266, 204, "", null)); pathGrid.AddNode(new PathNode("", 298, 204, "", null)); pathGrid.AddNode(new PathNode("", 323, 204, "", null)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[8], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[7], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[6], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[4], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[4], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[6], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[7], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[8], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); TutorialOver = false; instructions = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("INSTRUCTIONS")); t_1_logic = new MapLogic(); t_1_logic.RefireInterval = 40; t_1_initialized = false; t_1_moved_right = false; t_1_moved_left = false; t_1_logic.OnUpdate = function ():void{ if (!(t_1_initialized)){ _Handler_Players.Players[0].State.CurrentRangeWeapon = null; _Handler_Players.Players[0].State.CurrentThrowableWeapon.Ammo = 0; _Handler_Players.Players[0].UpdateGUI(); t_1_initialized = true; } else { if ((t_1_p_prev_x - 1) > _Handler_Players.Players[0].MidPosX()){ t_1_moved_left = true; } else { if ((t_1_p_prev_x + 1) < _Handler_Players.Players[0].MidPosX()){ t_1_moved_right = true; }; }; if (((t_1_moved_left) && (t_1_moved_right))){ t_1_logic.Stop(); instructions.gotoAndStop(2); t_2_logic.Start(); }; }; t_1_p_prev_x = _Handler_Players.Players[0].MidPosX(); }; t_1_logic.Start(); t_2_logic = new MapLogic(); t_2_logic.RefireInterval = 40; t_2_jumped = false; t_2_crouched = false; t_2_logic.OnUpdate = function ():void{ if (_Handler_Players.Players[0].State.Jumping){ t_2_jumped = true; }; if (_Handler_Players.Players[0].State.Kneeling){ t_2_crouched = true; }; if (((t_2_jumped) && (t_2_crouched))){ t_2_logic.Stop(); instructions.gotoAndStop(3); t_3_logic.Start(); }; }; t_3_logic = new MapLogic(); t_3_logic.RefireInterval = 80; t_3_logic.OnUpdate = function ():void{ if (_Handler_Players.Players[0].State.Rolling){ t_3_logic.Stop(); instructions.gotoAndStop(4); t_4_logic.Start(); }; }; t_4_logic = new MapLogic(); t_4_logic.RefireInterval = 40; t_4_initialized = false; t_4_moved_right = false; t_4_moved_left = false; t_4_logic.OnUpdate = function ():void{ if (!(t_4_initialized)){ t_4_initialized = true; } else { if (_Handler_Players.Players[0].State.Sprinting){ if ((t_4_p_prev_x - 0.5) > _Handler_Players.Players[0].MidPosX()){ t_4_moved_left = true; } else { if ((t_4_p_prev_x + 0.5) < _Handler_Players.Players[0].MidPosX()){ t_4_moved_right = true; }; }; if (((t_4_moved_left) && (t_4_moved_right))){ t_4_logic.Stop(); instructions.gotoAndStop(5); t_5_logic.Start(); }; }; }; t_4_p_prev_x = _Handler_Players.Players[0].MidPosX(); }; t_5_logic = new MapLogic(); t_5_logic.RefireInterval = 80; t_5_logic.OnUpdate = function ():void{ if (_Handler_Players.Players[0].State.Diving){ t_5_logic.Stop(); instructions.gotoAndStop(6); if (_Handler_Players.Players[0].MidPosX() < 170){ playerSpawns = new Array(new Point((_Handler_Players.Players[0].MidPosX() + 60), 198)); } else { playerSpawns = new Array(new Point((_Handler_Players.Players[0].MidPosX() - 60), 198)); }; _Handler_Players.AddBot(3, 0, 1); _Handler_Players.Players[1].Stop(); t_6_logic.Start(); }; }; t_6_logic = new MapLogic(); t_6_logic.OnUpdate = function ():void{ if (_Handler_Players.Players[1].State.HP <= 0){ t_6_logic.Stop(); if (_Handler_Players.Players[0].MidPosX() < 170){ wpnPosX = (_Handler_Players.Players[0].MidPosX() + 60); } else { wpnPosX = (_Handler_Players.Players[0].MidPosX() - 60); }; tutorial_weapon = Handler_WorldItems.AddPolygon("wpn_pistol", (wpnPosX / 30), (203 / 30), 0, new b2Vec2(), 0); tutorial_weapon.GetUserData().weaponData = _Handler_Weapons.Pistol; tutorial_weapon.GetUserData().weaponData.InfiniteAmmo = true; tutorial_weapon.PutToSleep(); instructions.gotoAndStop(7); t_7_logic.Start(); }; }; t_8_targets = new Array(); t_7_logic = new MapLogic(); t_7_logic.OnUpdate = function ():void{ var _local1:MovieClip; if (tutorial_weapon.GetUserData().destroyed == true){ t_7_logic.Stop(); instructions.gotoAndStop(8); _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("TARGET_1")); t_8_targets.push(Handler_WorldItems.AddObject("TUTORIAL_TARGET", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0)); _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("TARGET_2")); t_8_targets.push(Handler_WorldItems.AddObject("TUTORIAL_TARGET", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0)); _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("TARGET_3")); t_8_targets.push(Handler_WorldItems.AddObject("TUTORIAL_TARGET", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0)); t_8_targets[0].PutToSleep(); t_8_targets[1].PutToSleep(); t_8_targets[2].PutToSleep(); t_8_logic.Start(); }; }; t_8_logic = new MapLogic(); t_8_logic.OnUpdate = function ():void{ var _local1:int; _local1 = 0; while (_local1 < t_8_targets.length) { if (t_8_targets[_local1].GetUserData().destroyed != true){ return; }; _local1++; }; t_8_logic.Stop(); if (_Handler_Players.Players[0].MidPosX() < 170){ wpnPosX = (_Handler_Players.Players[0].MidPosX() + 60); } else { wpnPosX = (_Handler_Players.Players[0].MidPosX() - 60); }; tutorial_weapon = Handler_WorldItems.AddPolygon("wpn_rifle", (wpnPosX / 30), (203 / 30), 0, new b2Vec2(), 0); tutorial_weapon.GetUserData().weaponData = _Handler_Weapons.Rifle; tutorial_weapon.GetUserData().weaponData.InfiniteAmmo = true; tutorial_weapon.PutToSleep(); instructions.gotoAndStop(9); t_9_logic.Start(); }; t_10_targets = new Array(); t_9_logic = new MapLogic(); t_9_logic.OnUpdate = function ():void{ var _local1:MovieClip; if (tutorial_weapon.GetUserData().destroyed == true){ t_9_logic.Stop(); _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("TARGET_1")); t_10_targets.push(Handler_WorldItems.AddObject("TUTORIAL_TARGET", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0)); _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("TARGET_3")); t_10_targets.push(Handler_WorldItems.AddObject("TUTORIAL_TARGET", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0)); _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("TARGET_4")); t_10_targets.push(Handler_WorldItems.AddObject("TUTORIAL_TARGET_R", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0)); _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("TARGET_5")); t_10_targets.push(Handler_WorldItems.AddObject("TUTORIAL_TARGET_R", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0)); t_10_targets[0].PutToSleep(); t_10_targets[1].PutToSleep(); t_10_targets[2].PutToSleep(); t_10_targets[3].PutToSleep(); instructions.gotoAndStop(10); t_10_logic.Start(); }; }; t_10_logic = new MapLogic(); t_10_logic.OnUpdate = function ():void{ var _local1:int; _local1 = 0; while (_local1 < t_10_targets.length) { if (t_10_targets[_local1].GetUserData().destroyed != true){ return; }; _local1++; }; t_10_logic.Stop(); if (_Handler_Players.Players[0].MidPosX() < 170){ wpnPosX = (170 + 40); } else { wpnPosX = (170 - 40); }; tutorial_weapon = Handler_WorldItems.AddPolygon("wpn_grenades", (wpnPosX / 30), (203 / 30), 0, new b2Vec2(), 0); tutorial_weapon.GetUserData().weaponData = _Handler_Weapons.Grenades; tutorial_weapon.GetUserData().weaponData.InfiniteAmmo = true; tutorial_weapon.PutToSleep(); instructions.gotoAndStop(11); t_11_logic.Start(); }; t_12_targets = new Array(); t_11_logic = new MapLogic(); t_11_logic.RefireInterval = 40; t_11_logic.OnUpdate = function ():void{ var _local1:MovieClip; if (((!((_Handler_Players.Players[0].State.CurrentRangeWeapon == null))) && (!(_Handler_Players.Players[0].State.Aiming)))){ _Handler_Players.Players[0].State.CurrentRangeWeapon = null; _Handler_Players.Players[0].UpdateGUI(); }; if (tutorial_weapon.GetUserData().destroyed == true){ t_11_logic.Stop(); _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("GRENADE_1")); t_12_targets.push(Handler_WorldItems.AddObject("TUTORIAL_TARGET", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0)); _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("GRENADE_2")); t_12_targets.push(Handler_WorldItems.AddObject("TUTORIAL_TARGET_R", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0)); t_12_targets[0].PutToSleep(); t_12_targets[1].PutToSleep(); instructions.gotoAndStop(12); t_12_logic.Start(); }; }; t_12_logic = new MapLogic(); t_12_logic.OnUpdate = function ():void{ var _local1:int; var _local2:MovieClip; _local1 = 0; while (_local1 < t_12_targets.length) { if (t_12_targets[_local1].GetUserData().destroyed != true){ return; }; _local1++; }; t_12_logic.Stop(); _local2 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("CRATE")); tutorial_crate = Handler_WorldItems.AddObject("CRATE", (_local2.x / 30), (_local2.y / 30), 0, new b2Vec2(), 0); instructions.gotoAndStop(13); t_13_logic.Start(); }; t_13_logic = new MapLogic(); t_13_logic.RefireInterval = 40; t_13_logic.OnUpdate = function ():void{ var _local1:MovieClip; if ((((_Handler_Players.Players[0].State.CurrentThrowableWeapon.Ammo > 0)) && (!(_Handler_Players.Players[0].State.Aiming)))){ _Handler_Players.Players[0].State.CurrentThrowableWeapon.InfiniteAmmo = false; _Handler_Players.Players[0].State.CurrentThrowableWeapon.Ammo = 0; _Handler_Players.Players[0].UpdateGUI(); }; if (tutorial_crate.GetUserData().destroyed){ _local1 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("CRATE")); tutorial_crate = Handler_WorldItems.AddObject("CRATE", (_local1.x / 30), (_local1.y / 30), 0, new b2Vec2(), 0); }; if (_Handler_Players.Players[0].State.TakingCover){ t_13_logic.Stop(); if (_Handler_Players.Players[0].MidPosX() < 170){ wpnPosX = (_Handler_Players.Players[0].MidPosX() + 65); } else { wpnPosX = (_Handler_Players.Players[0].MidPosX() - 65); }; tutorial_weapon = Handler_WorldItems.AddPolygon("wpn_rifle", ((wpnPosX - 15) / 30), (203 / 30), 0, new b2Vec2(), 0); tutorial_weapon.GetUserData().weaponData = _Handler_Weapons.Rifle; tutorial_weapon.PutToSleep(); tutorial_weapon = Handler_WorldItems.AddPolygon("WPN_SLOWMO_10", ((wpnPosX + 15) / 30), (203 / 30), 0, new b2Vec2(), 0); tutorial_weapon.GetUserData().weaponData = _Handler_Weapons.Slowmo10; tutorial_weapon.PutToSleep(); instructions.gotoAndStop(14); t_14_logic.Start(); }; }; t_14_logic = new MapLogic(); t_14_logic.OnUpdate = function ():void{ if (tutorial_weapon.GetUserData().destroyed == true){ t_14_logic.Stop(); instructions.gotoAndStop(15); t_15_logic.Start(); }; }; t_15_logic = new MapLogic(); t_15_logic.OnUpdate = function ():void{ if (_Handler_Players.Players[0].State.CurrentPowerupWeapon == null){ t_15_logic.Stop(); instructions.gotoAndStop(16); TutorialOver = true; }; }; MapUpdate = function (_arg1:Number):void{ var _local2:MovieClip; if (_Handler_Players.Players[0].State.HP <= 0){ _local2 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName("REVIVE")); _Handler_Players.Players[0].Revive(_local2.x, _local2.y); }; }; MapEnd = function ():void{ t_1_logic.Stop(); t_2_logic.Stop(); t_3_logic.Stop(); t_4_logic.Stop(); t_5_logic.Stop(); t_6_logic.Stop(); t_7_logic.Stop(); t_8_logic.Stop(); t_9_logic.Stop(); t_10_logic.Stop(); t_11_logic.Stop(); t_12_logic.Stop(); t_13_logic.Stop(); t_14_logic.Stop(); t_15_logic.Stop(); }; } public function UpdateWorldObjectList():void{ m_world.UpdateObjectLists(); } public function UpdateMCs(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip):void{ _static_mc = _arg1; _dynamic_mc = _arg2; Handler_WorldItems.UpdateMCs(_static_mc, _dynamic_mc, _arg3); } private function GenerateMap04Mall():void{ var rampL:b2Body; var rampR:b2Body; var mall_elevator_01_back:b2Body; var mall_elevator_01_part:b2Body; var mall_motor_1:b2Body; var mall_motor_1_joint:b2RevoluteJoint; var mall_elevator_1_anchor:b2Vec2; var mall_motor_1_anchor:b2Vec2; var btn_01:b2Body; var btn_02:b2Body; var btn_03:b2Body; var mall_elevator_logic_up:MapLogic; var mall_elevator_logic_down:MapLogic; mapArea = new Rectangle(-539, -424, 1098, 821); playerSpawns = new Array(new Point(403, 19), new Point(404, -44), new Point(309, 143), new Point(-114, 19), new Point(-241, -45), new Point(-272, 148), new Point(19, 149), new Point(-43, -45), new Point(70, -44), new Point(55, 20)); portals = new Array(new PortalData(new Rectangle(-177, 5, 12, 23), new Rectangle(-199, 91, 12, 23), new Point(-1, 0), false, false), new PortalData(new Rectangle(-199, 91, 12, 23), new Rectangle(-177, 5, 12, 23), new Point(1, 0), false, false), new PortalData(new Rectangle(463, 6, 11, 22), new Rectangle(463, -58, 11, 22), new Point(1, 0), true, false), new PortalData(new Rectangle(463, -58, 11, 22), new Rectangle(463, 6, 11, 22), new Point(1, 0), true, false)); Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (114 / 30), (-133 / 30), 0, new Array([(2 / 30), (2 / 30)], [(-3 / 30), (2 / 30)], [(-3 / 30), (0 / 30)], [(-1 / 30), (-2 / 30)], [(2 / 30), (-2 / 30)]), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (151.5 / 30), (-133 / 30), 0, (5 / 30), (4 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (221.5 / 30), (-133 / 30), 0, (5 / 30), (4 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (291.5 / 30), (-133 / 30), 0, (5 / 30), (4 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (329 / 30), (-133 / 30), 0, new Array([(-2 / 30), (2 / 30)], [(-2 / 30), (-2 / 30)], [(1 / 30), (-2 / 30)], [(3 / 30), (0 / 30)], [(3 / 30), (2 / 30)]), new Array("NONE")); Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (-295 / 30), (-133 / 30), 0, new Array([(-3 / 30), (2 / 30)], [(-3 / 30), (0 / 30)], [(-1 / 30), (-2 / 30)], [(2 / 30), (-2 / 30)], [(2 / 30), (2 / 30)]), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-257.5 / 30), (-133 / 30), 0, (5 / 30), (4 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (-220 / 30), (-133 / 30), 0, new Array([(-2 / 30), (2 / 30)], [(-2 / 30), (-2 / 30)], [(1 / 30), (-2 / 30)], [(3 / 30), (0 / 30)], [(3 / 30), (2 / 30)]), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-46.5 / 30), (-32 / 30), 0, (129 / 30), (8 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (69.5 / 30), (-32 / 30), 0, (39 / 30), (8 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-258.5 / 30), (-33 / 30), 0, (127 / 30), (6 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-182 / 30), (-15.5 / 30), 0, (34 / 30), (41 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-154.5 / 30), (-32 / 30), 0, (22 / 30), (8 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-188 / 30), (48 / 30), 0, (22 / 30), (86 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-182 / 30), (116 / 30), 0, (34 / 30), (4 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-176 / 30), (88.5 / 30), 0, (22 / 30), (59 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-105 / 30), (43.5 / 30), 0, (164 / 30), (31 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (22.5 / 30), (50.5 / 30), 0, (133 / 30), (45 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (22.5 / 30), (98.5 / 30), 0, (133 / 30), (9 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-36 / 30), (184.5 / 30), 0, (572 / 30), (51 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (447 / 30), (185 / 30), 0, (156 / 30), (52 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-345.5 / 30), (187 / 30), 0, (84 / 30), (46 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-403.5 / 30), (54.5 / 30), 0, (75 / 30), (311 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-366 / 30), (-134 / 30), 0, (80 / 30), (107 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-318 / 30), (-80 / 30), 0, (8 / 30), (39 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (-321 / 30), (-101 / 30), 0, new Array([(7 / 30), (21 / 30)], [(-15 / 30), (21 / 30)], [(-5 / 30), (-23 / 30)], [(7 / 30), (-11 / 30)]), new Array("NONE")); Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (-74 / 30), (-107 / 30), 0, new Array([(-123 / 30), (15 / 30)], [(-123 / 30), (-5 / 30)], [(-111 / 30), (-17 / 30)], [(155 / 30), (-17 / 30)], [(167 / 30), (-5 / 30)], [(167 / 30), (15 / 30)]), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-52 / 30), (-153 / 30), 0, (266 / 30), (68 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (426.5 / 30), (65.5 / 30), 0, (145 / 30), (75 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (480.5 / 30), (132 / 30), 0, (35 / 30), (70 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (422.5 / 30), (-32 / 30), 0, (137 / 30), (8 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (398 / 30), (-152 / 30), 0, (72 / 30), (70 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (394 / 30), (-105 / 30), 0, new Array([(-44 / 30), (13 / 30)], [(-44 / 30), (-7 / 30)], [(-32 / 30), (-19 / 30)], [(69 / 30), (-19 / 30)], [(69 / 30), (13 / 30)]), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (477 / 30), (-91 / 30), 0, (28 / 30), (65 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (483 / 30), (-47 / 30), 0, (17 / 30), (34 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (478 / 30), (-14 / 30), 0, (30 / 30), (38 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (483 / 30), (18 / 30), 0, (17 / 30), (37 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-318 / 30), (49 / 30), 0, (8 / 30), (170 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (345 / 30), (47.5 / 30), 0, (18 / 30), (207 / 30), new Array("LADDER")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (95 / 30), (99 / 30), 0, (8 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (123 / 30), (99 / 30), 0, (8 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (95 / 30), (129 / 30), 0, (8 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (123 / 30), (129 / 30), 0, (8 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (-212 / 30), (124 / 30), 0, new Array([(-7 / 30), (10 / 30)], [(-11 / 30), (10 / 30)], [(-11 / 30), (9 / 30)], [(8 / 30), (-10 / 30)], [(11 / 30), (-10 / 30)], [(11 / 30), (-8 / 30)]), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-200.5 / 30), (115 / 30), 0, (7 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-54.5 / 30), (101 / 30), 0, (21 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (317.5 / 30), (180.5 / 30), 0, (157 / 30), (59 / 30), new Array("NONE")); rampL = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (236 / 30), (156 / 30), 0, new Array([(-6 / 30), (3 / 30)], [(2 / 30), (-5 / 30)], [(3 / 30), (-5 / 30)], [(3 / 30), (3 / 30)]), new Array("NONE")); rampL.GetUserData().tiltValue = -2; rampR = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (399 / 30), (157 / 30), 0, new Array([(6 / 30), (2 / 30)], [(-3 / 30), (2 / 30)], [(-3 / 30), (-6 / 30)], [(-2 / 30), (-6 / 30)]), new Array("NONE")); rampR.GetUserData().tiltValue = 2; if (65 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("BARREL_EXPLOSIVE", (313 / 30), (146 / 30), 1.5707963267949, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("BARREL,BARREL_EXPLOSIVE", (387 / 30), (143 / 30), 0, new b2Vec2(), 0); }; if (20 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("CRATE", (249 / 30), (128 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (264 / 30), (128 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (249 / 30), (113 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (264 / 30), (113 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (0x0101 / 30), (98 / 30), 0, new b2Vec2(), 0); }; Handler_WorldItems.AddObject("CRATE", (249 / 30), (143 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (264 / 30), (143 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,CRATE", (279 / 30), (143 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (455 / 30), (152 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (440 / 30), (152 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,CRATE", (450 / 30), (137 / 30), -1.5707963267949, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE", (369 / 30), (146 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,BARREL,BARREL_WRECK", (140 / 30), (152 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE", (160 / 30), (154 / 30), 1.5707963267949, new b2Vec2(), 0); mall_elevator_01_back = Handler_WorldItems.AddBox("ELEVATOR_01", (-344.5 / 30), (-54 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddPrismaticJoint(Handler_WorldItems.Ground, mall_elevator_01_back, new b2Vec2((-344.5 / 30), (-54 / 30)), new b2Vec2(0, 1)); mall_elevator_01_part = Handler_WorldItems.AddBox("SOLID_INVISIBLE_METAL", (-363 / 30), (-54 / 30), 0, new b2Vec2(), 0, new Array(2, 42)); Handler_WorldItems.AddLimitedJoint(mall_elevator_01_part, mall_elevator_01_back, new b2Vec2((-363 / 30), (-54 / 30)), 0, 0); mall_elevator_01_part = Handler_WorldItems.AddBox("SOLID_INVISIBLE_METAL", (-360.5 / 30), (-73.5 / 30), 0, new b2Vec2(), 0, new Array(7, 3)); Handler_WorldItems.AddLimitedJoint(mall_elevator_01_part, mall_elevator_01_back, new b2Vec2((-360.5 / 30), (-73.5 / 30)), 0, 0); mall_elevator_01_part = Handler_WorldItems.AddBox("SOLID_INVISIBLE_METAL_GIB", (-344.5 / 30), (-34.5 / 30), 0, new b2Vec2(), 0, new Array(39, 3)); Handler_WorldItems.AddLimitedJoint(mall_elevator_01_part, mall_elevator_01_back, new b2Vec2((-344.5 / 30), (-34.5 / 30)), 0, 0); mall_elevator_01_part = Handler_WorldItems.AddBox("SOLID_INVISIBLE_METAL", (-328.5 / 30), (-73.5 / 30), 0, new b2Vec2(), 0, new Array(7, 3)); Handler_WorldItems.AddLimitedJoint(mall_elevator_01_part, mall_elevator_01_back, new b2Vec2((-328.5 / 30), (-73.5 / 30)), 0, 0); mall_elevator_01_part = Handler_WorldItems.AddBox("SOLID_INVISIBLE_METAL", (-326 / 30), (-68 / 30), 0, new b2Vec2(), 0, new Array(2, 14)); Handler_WorldItems.AddLimitedJoint(mall_elevator_01_part, mall_elevator_01_back, new b2Vec2((-326 / 30), (-68 / 30)), 0, 0); mall_motor_1 = Handler_WorldItems.AddCircle("PLATFORM_MOTOR", (-344.5 / 30), (-300 / 30), 0, new b2Vec2(), 0); mall_motor_1_joint = Handler_WorldItems.AddRevoluteMotor(Handler_WorldItems.Ground, mall_motor_1, new b2Vec2((-344.5 / 30), (-300 / 30)), -0.3, 1000); mall_elevator_1_anchor = new b2Vec2((-344.5 / 30), (-54 / 30)); mall_motor_1_anchor = new b2Vec2((-344.5 / 30), (-397.5 / 30)); Handler_WorldItems.AddDistanceJoint(mall_elevator_01_back, mall_motor_1, mall_elevator_1_anchor, mall_motor_1_anchor); btn_01 = Handler_WorldItems.AddBox("BUTTON_01", (-312 / 30), (-50 / 30), 0, new b2Vec2(), 0); btn_01.ForceSleep(); btn_01.GetUserData().buttonData.OnActivationSound = "SND_PLACEHOLDER"; btn_01.GetUserData().buttonData.Enabled = false; btn_02 = Handler_WorldItems.AddBox("BUTTON_01", (-312 / 30), (145 / 30), 0, new b2Vec2(), 0); btn_02.ForceSleep(); btn_02.GetUserData().buttonData.OnActivationSound = "SND_PLACEHOLDER"; btn_03 = Handler_WorldItems.AddBox("BUTTON_01", (-360 / 30), (-50 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddLimitedJoint(btn_03, mall_elevator_01_back, new b2Vec2((-360 / 30), (-50 / 30)), 0, 0); btn_03.GetUserData().buttonData.OnActivationSound = "SND_PLACEHOLDER"; mall_elevator_logic_up = new MapLogic(); mall_elevator_logic_down = new MapLogic(); btn_01.GetUserData().buttonData.OnActivation = function ():void{ if ((((mall_motor_1_joint.GetJointAngle() > 3.1)) && ((mall_motor_1_joint.GetJointAngle() < 3.2)))){ _Handler_Output.Trace("Elevator: Sending Up"); btn_01.GetUserData().buttonData.Enabled = false; btn_02.GetUserData().buttonData.Enabled = false; btn_03.GetUserData().buttonData.Enabled = false; mall_elevator_logic_up.Start(); mall_motor_1_joint.SetMotorSpeed(-0.3); mall_motor_1.WakeUp(); mall_elevator_01_back.WakeUp(); }; }; btn_02.GetUserData().buttonData.OnActivation = function ():void{ if ((((mall_motor_1_joint.GetJointAngle() > -0.1)) && ((mall_motor_1_joint.GetJointAngle() < 0.1)))){ _Handler_Output.Trace("Elevator: Sending Down"); btn_01.GetUserData().buttonData.Enabled = false; btn_02.GetUserData().buttonData.Enabled = false; btn_03.GetUserData().buttonData.Enabled = false; mall_elevator_logic_down.Start(); mall_motor_1_joint.SetMotorSpeed(0.3); mall_motor_1.WakeUp(); mall_elevator_01_back.WakeUp(); }; }; btn_03.GetUserData().buttonData.OnActivation = function ():void{ if ((((mall_motor_1_joint.GetJointAngle() > 3.1)) && ((mall_motor_1_joint.GetJointAngle() < 3.2)))){ _Handler_Output.Trace("Elevator: Sending Up"); btn_01.GetUserData().buttonData.Enabled = false; btn_02.GetUserData().buttonData.Enabled = false; btn_03.GetUserData().buttonData.Enabled = false; mall_elevator_logic_up.Start(); mall_motor_1_joint.SetMotorSpeed(-0.3); mall_motor_1.WakeUp(); mall_elevator_01_back.WakeUp(); }; if ((((mall_motor_1_joint.GetJointAngle() > -0.1)) && ((mall_motor_1_joint.GetJointAngle() < 0.1)))){ _Handler_Output.Trace("Elevator: Sending Down"); btn_01.GetUserData().buttonData.Enabled = false; btn_02.GetUserData().buttonData.Enabled = false; btn_03.GetUserData().buttonData.Enabled = false; mall_elevator_logic_down.Start(); mall_motor_1_joint.SetMotorSpeed(0.3); mall_motor_1.WakeUp(); mall_elevator_01_back.WakeUp(); }; }; mall_elevator_logic_down.OnUpdate = function ():void{ if ((((mall_motor_1_joint.GetJointAngle() > 3.1)) && ((mall_motor_1_joint.GetJointAngle() < 3.2)))){ _Handler_Output.Trace("Elevator: Destination Reached: Bottom"); btn_01.GetUserData().buttonData.Enabled = true; btn_03.GetUserData().buttonData.Enabled = true; mall_elevator_logic_down.Stop(); }; }; mall_elevator_logic_up.OnUpdate = function ():void{ if ((((mall_motor_1_joint.GetJointAngle() > -0.1)) && ((mall_motor_1_joint.GetJointAngle() < 0.1)))){ _Handler_Output.Trace("Elevator: Destination Reached: Top"); btn_02.GetUserData().buttonData.Enabled = true; btn_03.GetUserData().buttonData.Enabled = true; mall_elevator_logic_up.Stop(); }; }; mall_motor_1_joint.SetLimits(0, Math.PI); mall_motor_1_joint.EnableLimit(true); MapUpdate = function (_arg1:Number):void{ }; MapEnd = function ():void{ mall_elevator_logic_up.Stop(); mall_elevator_logic_down.Stop(); }; } public function UpdatePathGrid():void{ pathGrid.UpdatePathGrid(); } public function Stop():void{ pathGrid.Stop(); MapEnd(); } private function CreateElevator(_arg1:b2Body, _arg2:Number, _arg3:Number):void{ var _local4:b2Body; var _local5:b2RevoluteJoint; var _local6:b2Vec2; var _local7:b2Vec2; Handler_WorldItems.AddPrismaticJoint(Handler_WorldItems.Ground, _arg1, _arg1.GetPosition(), new b2Vec2(0, 1)); _local4 = Handler_WorldItems.AddCircle("PLATFORM_MOTOR", _arg1.GetPosition().x, (_arg1.GetPosition().y - ((_arg2 / 30) * 2)), 0, new b2Vec2(), 0); _local4.GetUserData().visible = false; _local5 = Handler_WorldItems.AddRevoluteMotor(Handler_WorldItems.Ground, _local4, _local4.GetPosition(), _arg3, 9999); _local6 = _arg1.GetPosition(); _local7 = new b2Vec2(_local4.GetPosition().x, (_local4.GetPosition().y + ((_arg2 / 30) * 0.5))); Handler_WorldItems.AddDistanceJoint(_arg1, _local4, _local6, _local7); } private function GenerateMapHazardous():void{ var stair:b2Body; var crate_hanging_2:b2Body; var crate_hanging_1:b2Body; var lamp1:b2Body; var lamp2:b2Body; var lamp3:b2Body; var lamp4:b2Body; var lift_small:b2Body; var lamp5:b2Body; var lamp6:b2Body; var lamp7:b2Body; var lamp8:b2Body; var crate_hanging_3:b2Body; var lift_1:b2Body; var lift_2:b2Body; var closness:Number; var holder1:b2Body; var holder2:b2Body; var holder3:b2Body; var ropeh1:Rope; var ropeh2:Rope; var ropeh3:Rope; var layer_mc:MovieClip; var rope1:Rope; var rope2:Rope; var rope3:Rope; var rope4:Rope; var rope5:Rope; var rope6:Rope; var rope7:Rope; var rope8:Rope; var rope9:Rope; var rope10:Rope; var nextBubble:int; mapArea = new Rectangle(0, -45, 600, 450); playerSpawns = new Array(new Point(402, 290), new Point(378, 290), new Point(320, 191), new Point(248, 123), new Point(326, 116), new Point(430, 168), new Point(558, 168), new Point(495, 168), new Point(104, 281), new Point(49, 114), new Point(157, 112), new Point(107, 215), new Point(159, 216), new Point(244, 191), new Point(388, 180)); weaponSpawns = new Array(new WeaponSpawnData(0x0101, 125, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(320, 195, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(389, 291, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(502, 169, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(137, 217, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(94, 125, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))); portals = new Array(new PortalData(new Rectangle(567, 276, 22, 24), new Rectangle(567, 150, 20, 24), new Point(1, 0), true, false), new PortalData(new Rectangle(567, 150, 20, 24), new Rectangle(567, 276, 22, 24), new Point(1, 0), true, false), new PortalData(new Rectangle(15, 226, 20, 24), new Rectangle(15, 106, 20, 24), new Point(-1, 0), true, false), new PortalData(new Rectangle(15, 106, 20, 24), new Rectangle(15, 226, 20, 24), new Point(-1, 0), true, false)); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (389.5 / 30), (305 / 30), 0, (73 / 30), (18 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (566 / 30), (307 / 30), 0, (106 / 30), (14 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (492 / 30), (180 / 30), 0, (150 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (592 / 30), (225 / 30), 0, (50 / 30), (102 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (603 / 30), (288 / 30), 0, (28 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (602 / 30), (162 / 30), 0, (30 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (592 / 30), (123.5 / 30), 0, (50 / 30), (53 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (517 / 30), (49 / 30), 0, (200 / 30), (96 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (423.5 / 30), (117.5 / 30), 0, (13 / 30), (41 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (296 / 30), (17.5 / 30), 0, (242 / 30), (33 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (168.5 / 30), (76.5 / 30), 0, (13 / 30), (35 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (88 / 30), (30 / 30), 0, (174 / 30), (58 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (18 / 30), (82.5 / 30), 0, (34 / 30), (47 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (8 / 30), (118 / 30), 0, (14 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (88 / 30), (136 / 30), 0, (174 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (18 / 30), (184 / 30), 0, (34 / 30), (84 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (8 / 30), (238 / 30), 0, (14 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (22 / 30), (282 / 30), 0, (42 / 30), (64 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (126 / 30), (300 / 30), 0, (58 / 30), (28 / 30), new Array("NONE")); stair = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (66 / 30), (289 / 30), 0, new Array([(-23 / 30), (-39 / 30)], [(-18 / 30), (-39 / 30)], [(31 / 30), (-3 / 30)], [(31 / 30), (24 / 30)], [(-23 / 30), (24 / 30)]), new Array("NONE")); stair.GetUserData().tiltValue = 2; Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (92.5 / 30), (235.5 / 30), -0.785398163397448, (34 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (137.5 / 30), (224 / 30), 0, (69 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (258 / 30), (132 / 30), 0, (66 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (320 / 30), (202 / 30), 0, (70 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (361.5 / 30), (229 / 30), 0, (13 / 30), (81 / 30), new Array("LADDER")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (297.5 / 30), (144.5 / 30), 0, (13 / 30), (59 / 30), new Array("LADDER")); if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (528 / 30), (293 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,CRATE", (544 / 30), (293 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,CRATE", (537 / 30), (277 / 30), 1.5707963267949, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("CRATE,BARREL", (533 / 30), (293 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (547 / 30), (293 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,GASCAN", (487 / 30), (293 / 30), 0, new b2Vec2(), 0); }; if (33 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (123 / 30), (279 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,BARREL", (139 / 30), (279 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("BARREL,BARREL_EXPLOSIVE,CRATE,NONE", (134 / 30), (281 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (120 / 30), (281 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL", (129 / 30), (266 / 30), 0, new b2Vec2(), 0); }; if (25 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("CRATE", (325 / 30), (289 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (343 / 30), (289 / 30), 0, new b2Vec2(), 0); }; if (40 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("CRATE", (61 / 30), (123 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (79 / 30), (123 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (120 / 30), (123 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,FILECAB,BARREL_EXPLOSIVE,BARREL", (139 / 30), (123 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (71 / 30), (108 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,GASCAN", (131 / 30), (108 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,BARREL,NONE,CRATE", (97 / 30), (123 / 30), 0, new b2Vec2(), 0); } else { if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("TABLE", (124 / 30), (125 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CHAIR_R", (139 / 30), (126 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE", (66.5 / 30), (125 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("FILECAB", (82.5 / 30), (123.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (63 / 30), (115.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (129 / 30), (115.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (118 / 30), (115.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (81.5 / 30), (112.5 / 30), 0, new b2Vec2(), 0); } else { if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("COMP_SCREEN", (119 / 30), (112 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMP", (140 / 30), (125 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("PAPER", (129 / 30), (113.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (119.5 / 30), (113.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("FILECAB", (144 / 30), (123 / 30), 0, new b2Vec2(), 0); }; Handler_WorldItems.AddObject("DESK_1", (69 / 30), (124 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMP_SCREEN", (64 / 30), (112 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMP", (84 / 30), (125 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (74 / 30), (113 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("DESK_1", (124 / 30), (124 / 30), 0, new b2Vec2(), 0); }; Handler_WorldItems.AddObject("CHAIR", (106 / 30), (126 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CHAIR", (49.5 / 30), (126 / 30), 0, new b2Vec2(), 0); }; if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("DESK", (538 / 30), (168 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR", (444 / 30), (166 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE_SMALL", (459 / 30), (171 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR,FILECAB", (474 / 30), (166 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR,CHAIR", (516 / 30), (166 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE,PAPER", (460 / 30), (164 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMP_SCREEN", (533 / 30), (156 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMP", (544 / 30), (156 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (451 / 30), (167 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,FILECAB", (469 / 30), (167 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (486 / 30), (167 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,CRATE", (525 / 30), (167 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,CRATE", (542 / 30), (167 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,CRATE,NONE", (477 / 30), (152 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (459 / 30), (152 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,GASCAN,NONE,CRATE", (533 / 30), (152 / 30), 0, new b2Vec2(), 0); }; crate_hanging_2 = Handler_WorldItems.AddObject("CRATE_HANGING", (388 / 30), (194 / 30), 0, new b2Vec2(), 0); crate_hanging_1 = Handler_WorldItems.AddObject("CRATE_HANGING", (326 / 30), (130 / 30), 0, new b2Vec2(), 0); lamp1 = Handler_WorldItems.AddObject("LAMP_1", (53.5 / 30), (61.5 / 30), 0, new b2Vec2(), 0); lamp2 = Handler_WorldItems.AddObject("LAMP_1", (84 / 30), (61.5 / 30), 0, new b2Vec2(), 0); lamp3 = Handler_WorldItems.AddObject("LAMP_1", (114.5 / 30), (61.5 / 30), 0, new b2Vec2(), 0); lamp4 = Handler_WorldItems.AddObject("LAMP_1", (144.5 / 30), (61.5 / 30), 0, new b2Vec2(), 0); lift_small = Handler_WorldItems.AddObject("LIFT_SMALL_01", (190.5 / 30), (228 / 30), 0, new b2Vec2(), 0); lamp5 = Handler_WorldItems.AddObject("LAMP_1", (450 / 30), (99.5 / 30), 0, new b2Vec2(), 0); lamp6 = Handler_WorldItems.AddObject("LAMP_1", (482 / 30), (99.5 / 30), 0, new b2Vec2(), 0); lamp7 = Handler_WorldItems.AddObject("LAMP_1", (515 / 30), (99.5 / 30), 0, new b2Vec2(), 0); lamp8 = Handler_WorldItems.AddObject("LAMP_1", (547.5 / 30), (99.5 / 30), 0, new b2Vec2(), 0); crate_hanging_3 = Handler_WorldItems.AddObject("CRATE_HANGING", (244 / 30), (206 / 30), 0, new b2Vec2(), 0); lift_1 = Handler_WorldItems.AddObject("LIFT_01", (334 / 30), (300.5 / 30), 0, new b2Vec2(), 0); lift_2 = Handler_WorldItems.AddObject("LIFT_01", (494 / 30), (304.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (415 / 30), (289 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE,GASCAN", (362 / 30), (289 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,CRATE,BARREL", (341 / 30), (191.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,BARREL_EXPLOSIVE,NONE,NONE", (341 / 30), (176 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (539 / 30), (278 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL", (124 / 30), (215 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE,NONE", (184 / 30), (217 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (293 / 30), (193 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (282 / 30), (123 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,BARREL,NONE,BARREL", (231.5 / 30), (123.5 / 30), 0, new b2Vec2(), 0); pathGrid.AddNode(new PathNode("", 361, 292, "", null)); pathGrid.AddNode(new PathNode("", 389, 292, "", null)); pathGrid.AddNode(new PathNode("", 418, 292, "", null)); pathGrid.AddNode(new PathNode("", 491, 296, "", lift_2)); pathGrid.AddNode(new PathNode("", 497, 296, "", lift_2)); pathGrid.AddNode(new PathNode("", 520, 296, "", null)); pathGrid.AddNode(new PathNode("", 563, 296, "", null)); pathGrid.AddNode(new PathNode("", 541, 296, "", null)); pathGrid.AddNode(new PathNode("", 622, 296, "", null)); pathGrid.AddNode(new PathNode("", 563, 170, "", null)); pathGrid.AddNode(new PathNode("", 621, 170, "", null)); pathGrid.AddNode(new PathNode("", 532, 170, "", null)); pathGrid.AddNode(new PathNode("", 502, 170, "", null)); pathGrid.AddNode(new PathNode("", 477, 170, "", null)); pathGrid.AddNode(new PathNode("", 452, 170, "", null)); pathGrid.AddNode(new PathNode("", 424, 170, "", null)); pathGrid.AddNode(new PathNode("CRATE_2", 382, 183, "", crate_hanging_2)); pathGrid.AddNode(new PathNode("CRATE_2", 394, 183, "", crate_hanging_2)); pathGrid.AddNode(new PathNode("", 347, 196, "", null)); pathGrid.AddNode(new PathNode("", 320, 196, "", null)); pathGrid.AddNode(new PathNode("", 297, 196, "", null)); pathGrid.AddNode(new PathNode("CRATE_3", 250, 195, "", crate_hanging_3)); pathGrid.AddNode(new PathNode("CRATE_3", 238, 195, "", crate_hanging_3)); pathGrid.AddNode(new PathNode("", 338, 292, "", lift_1)); pathGrid.AddNode(new PathNode("", 331, 292, "", lift_1)); pathGrid.AddNode(new PathNode("CRATE_1", 320, 119, "", crate_hanging_1)); pathGrid.AddNode(new PathNode("CRATE_1", 332, 119, "", crate_hanging_1)); pathGrid.AddNode(new PathNode("", 283, 126, "", null)); pathGrid.AddNode(new PathNode("", 186, 220, "", lift_small)); pathGrid.AddNode(new PathNode("", 195, 220, "", lift_small)); pathGrid.AddNode(new PathNode("", 165, 218, "", null)); pathGrid.AddNode(new PathNode("", 137, 218, "", null)); pathGrid.AddNode(new PathNode("", 107, 218, "", null)); pathGrid.AddNode(new PathNode("", 92, 229, "", null)); pathGrid.AddNode(new PathNode("", 82, 239, "", null)); pathGrid.AddNode(new PathNode("", 46, 246, "", null)); pathGrid.AddNode(new PathNode("", 67, 259, "", null)); pathGrid.AddNode(new PathNode("", 99, 282, "", null)); pathGrid.AddNode(new PathNode("", 83, 271, "", null)); pathGrid.AddNode(new PathNode("", 123, 282, "", null)); pathGrid.AddNode(new PathNode("", 146, 282, "", null)); pathGrid.AddNode(new PathNode("", 39, 246, "", null)); pathGrid.AddNode(new PathNode("", -19, 246, "", null)); pathGrid.AddNode(new PathNode("", 39, 126, "", null)); pathGrid.AddNode(new PathNode("", -25, 126, "", null)); pathGrid.AddNode(new PathNode("", 66, 126, "", null)); pathGrid.AddNode(new PathNode("", 94, 126, "", null)); pathGrid.AddNode(new PathNode("", 119, 126, "", null)); pathGrid.AddNode(new PathNode("", 145, 126, "", null)); pathGrid.AddNode(new PathNode("", 168, 126, "", null)); pathGrid.AddNode(new PathNode("", 232, 126, "", null)); pathGrid.AddNode(new PathNode("", 0x0101, 126, "", null)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[4], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[3], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[2], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[5], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[4], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[6], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[7], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[7], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[8], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[10], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[6], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[9], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[15], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[14], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[14], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[16], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[17], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[15], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[17], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[16], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[18], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[18], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[19], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[18], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[19], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[20], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[21], pathGrid.Nodes[22], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[21], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[21], pathGrid.Nodes[20], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[21], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[18], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[0], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[23], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[24], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[0], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[23], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[26], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[26], pathGrid.Nodes[25], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[25], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[27], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[20], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[27], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[29], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[22], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[29], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[28], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[30], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[31], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[30], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[31], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[32], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[32], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[34], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[37], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[38], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[36], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[38], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[35], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[36], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[36], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[40], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[39], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[37], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[39], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[24], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[40], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[35], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[41], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[44], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[41], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[42], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[43], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[43], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[45], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[46], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[47], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[47], pathGrid.Nodes[48], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[49], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], pathGrid.Nodes[48], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[47], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[47], pathGrid.Nodes[46], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[45], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], pathGrid.Nodes[28], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[49], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[51], pathGrid.Nodes[27], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[51], pathGrid.Nodes[50], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[50], pathGrid.Nodes[51], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[51], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[50], pathGrid.Nodes[29], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[50], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); closness = (0.5 / 30); holder1 = Handler_WorldItems.AddObject("CRATE_HANGING_HOLDER", crate_hanging_1.GetPosition().x, (crate_hanging_1.GetPosition().y - ((crate_hanging_1.GetUserData().height / 30) * 0.5)), 0, new b2Vec2(), 0); holder2 = Handler_WorldItems.AddObject("CRATE_HANGING_HOLDER", crate_hanging_2.GetPosition().x, (crate_hanging_2.GetPosition().y - ((crate_hanging_2.GetUserData().height / 30) * 0.5)), 0, new b2Vec2(), 0); holder3 = Handler_WorldItems.AddObject("CRATE_HANGING_HOLDER", crate_hanging_3.GetPosition().x, (crate_hanging_3.GetPosition().y - ((crate_hanging_3.GetUserData().height / 30) * 0.5)), 0, new b2Vec2(), 0); Handler_WorldItems.AddLimitedJoint(crate_hanging_1, holder1, holder1.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(crate_hanging_2, holder2, holder2.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(crate_hanging_3, holder3, holder3.GetPosition(), 0, 0); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder1, new b2Vec2(holder1.GetPosition().x, (34 / 30)), new b2Vec2((holder1.GetPosition().x + closness), (holder1.GetPosition().y - ((holder1.GetUserData().height / 30) * 0.5)))); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder1, new b2Vec2(holder1.GetPosition().x, (34 / 30)), new b2Vec2((holder1.GetPosition().x - closness), (holder1.GetPosition().y - ((holder1.GetUserData().height / 30) * 0.5)))); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder2, new b2Vec2(holder2.GetPosition().x, (128 / 30)), new b2Vec2((holder2.GetPosition().x + closness), (holder2.GetPosition().y - ((holder2.GetUserData().height / 30) * 0.5)))); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder2, new b2Vec2(holder2.GetPosition().x, (128 / 30)), new b2Vec2((holder2.GetPosition().x - closness), (holder2.GetPosition().y - ((holder2.GetUserData().height / 30) * 0.5)))); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder3, new b2Vec2(holder3.GetPosition().x, (134 / 30)), new b2Vec2((holder3.GetPosition().x + closness), (holder3.GetPosition().y - ((holder3.GetUserData().height / 30) * 0.5)))); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder3, new b2Vec2(holder3.GetPosition().x, (134 / 30)), new b2Vec2((holder3.GetPosition().x - closness), (holder3.GetPosition().y - ((holder3.GetUserData().height / 30) * 0.5)))); crate_hanging_1.ApplyForce(new b2Vec2(((Math.random() * 10) - 5), Math.random()), new b2Vec2(((crate_hanging_1.GetPosition().x + (Math.random() * 2)) - 1), crate_hanging_1.GetPosition().y)); crate_hanging_2.ApplyForce(new b2Vec2(((Math.random() * 10) - 5), Math.random()), new b2Vec2(((crate_hanging_2.GetPosition().x + (Math.random() * 2)) - 1), crate_hanging_2.GetPosition().y)); crate_hanging_3.ApplyForce(new b2Vec2(((Math.random() * 10) - 5), Math.random()), new b2Vec2(((crate_hanging_3.GetPosition().x + (Math.random() * 2)) - 1), crate_hanging_3.GetPosition().y)); ropeh1 = new Rope(Handler_WorldItems.Ground, holder1, new b2Vec2(holder1.GetPosition().x, (34 / 30)), new b2Vec2(holder1.GetPosition().x, (holder1.GetPosition().y - ((holder1.GetUserData().height / 30) * 0.5)))); ropeh2 = new Rope(Handler_WorldItems.Ground, holder2, new b2Vec2(holder2.GetPosition().x, (128 / 30)), new b2Vec2(holder2.GetPosition().x, (holder2.GetPosition().y - ((holder2.GetUserData().height / 30) * 0.5)))); ropeh3 = new Rope(Handler_WorldItems.Ground, holder3, new b2Vec2(holder3.GetPosition().x, (134 / 30)), new b2Vec2(holder3.GetPosition().x, (holder3.GetPosition().y - ((holder3.GetUserData().height / 30) * 0.5)))); layer_mc = MovieClip(_dynamic_mc.getChildByName("OBJECTS")); layer_mc.addChild(ropeh1.MC); layer_mc.addChild(ropeh2.MC); layer_mc.addChild(ropeh3.MC); holder1.GetUserData().onDestruction = function (_arg1:b2Body):void{ ropeh1.Remove(); pathGrid.RemoveNodes("CRATE_1"); pathGrid.UpdateSpecials(); pathGrid.AnalyzeGrid(); }; holder2.GetUserData().onDestruction = function (_arg1:b2Body):void{ ropeh2.Remove(); pathGrid.RemoveNodes("CRATE_2"); pathGrid.UpdateSpecials(); pathGrid.AnalyzeGrid(); }; holder3.GetUserData().onDestruction = function (_arg1:b2Body):void{ ropeh3.Remove(); pathGrid.RemoveNodes("CRATE_3"); pathGrid.UpdateSpecials(); pathGrid.AnalyzeGrid(); }; CreateElevator(lift_small, 95, 1); CreateHorizontalElevator(lift_1, 160, 0.8); CreateHorizontalElevator(lift_2, 49, 2); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp1, lamp1.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp2, lamp2.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp3, lamp3.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp4, lamp4.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp5, lamp5.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp6, lamp6.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp7, lamp7.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp8, lamp8.GetPosition(), 0, 0); rope1 = Handler_WorldItems.AddHangingLamp(new Point(68, 142), 25); rope2 = Handler_WorldItems.AddHangingLamp(new Point(105, 142), 25); rope3 = Handler_WorldItems.AddHangingLamp(new Point(140, 142), 25); rope4 = Handler_WorldItems.AddHangingLamp(new Point(434, 186.5), 30); rope5 = Handler_WorldItems.AddHangingLamp(new Point(471, 186.5), 30); rope6 = Handler_WorldItems.AddHangingLamp(new Point(506, 186.5), 30); rope7 = Handler_WorldItems.AddHangingLamp(new Point(541, 186.5), 30); rope8 = Handler_WorldItems.AddHangingLamp(new Point(234, 34), 35); rope9 = Handler_WorldItems.AddHangingLamp(new Point(295, 34), 35); rope10 = Handler_WorldItems.AddHangingLamp(new Point(356, 34), 35); Handler_WorldItems.AddGlass(new Point((172 / 30), (132 / 30)), new Point((172 / 30), (92 / 30))); Handler_WorldItems.AddGlass(new Point((419 / 30), (138 / 30)), new Point((419 / 30), (174 / 30))); nextBubble = 2; MapUpdate = function (_arg1:Number):void{ var _local2:int; var _local3:Number; rope1.UpdateMC(); rope2.UpdateMC(); rope3.UpdateMC(); rope4.UpdateMC(); rope5.UpdateMC(); rope6.UpdateMC(); rope7.UpdateMC(); rope8.UpdateMC(); rope9.UpdateMC(); rope10.UpdateMC(); ropeh1.UpdateMC(); ropeh2.UpdateMC(); ropeh3.UpdateMC(); nextBubble = (nextBubble - 1); if (nextBubble <= 0){ _local3 = (Math.random() * 269); _local3 = (_local3 + 158); if (_local3 > 349){ _local3 = (_local3 + 81); }; _Handler_Effects.AddParticle(new particle_data("BUBBLE", _local3, 312, new b2Vec2(0, 0))); nextBubble = 2; }; _local2 = 0; while (_local2 < _Handler_Players.Players.length) { if (!(_Handler_Players.Players[_local2].Ignore)){ if (_Handler_Players.Players[_local2].MidPosY() > 325){ _Handler_Players.Players[_local2].IgnorePlayer(); _Handler_Sounds.PlaySoundAt("gib", _Handler_Players.Players[_local2].MidPosX(), _Handler_Players.Players[_local2].MidPosY()); }; }; _local2++; }; }; MapStart = function ():void{ mapGraphic.AddMC(GetLevelMC("fan_1")); mapGraphic.AddMC(GetLevelMC("fan_2")); mapGraphic.AddMC(GetLevelMC("fan_3")); mapGraphic.AddMC(GetLevelMC("fan_4")); }; } public function LinkPlayers(_arg1:PlayersKeeper):void{ _Handler_Players = _arg1; } private function GenerateMapRooftops():void{ var stair:b2Body; var lift:b2Body; var lamp3:b2Body; var lamp2:b2Body; var lamp1:b2Body; var lamp4:b2Body; var lamp6:b2Body; var lamp5:b2Body; var rope1:Rope; var rope2:Rope; var rope3:Rope; mapArea = new Rectangle(-12, -110, 583, 510); playerSpawns = new Array(new Point(94, 89), new Point(162, 89), new Point(98, 271), new Point(144, 270), new Point(235, 74), new Point(285, 188), new Point(319, 295.5), new Point(392, 291), new Point(449.5, 290), new Point(463, 188), new Point(291, 74), new Point(258, 277)); weaponSpawns = new Array(new WeaponSpawnData(315, 77, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(259, 189, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(392, 297, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(274, 279, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(380, 189, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(159, 274, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(126, 90, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))); portals = new Array(new PortalData(new Rectangle(58, 73, 20, 22), new Rectangle(47, 0xFF, 20, 24), new Point(-1, 0), true, false), new PortalData(new Rectangle(47, 0xFF, 20, 24), new Rectangle(58, 73, 20, 22), new Point(-1, 0), true, false), new PortalData(new Rectangle(483, 172, 20, 22), new Rectangle(483, 279, 20, 23), new Point(1, 0), true, false), new PortalData(new Rectangle(483, 279, 20, 23), new Rectangle(483, 172, 20, 22), new Point(1, 0), true, false)); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (103.5 / 30), (157 / 30), 0, (167 / 30), (124 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (39 / 30), (74 / 30), 0, (38 / 30), (42 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (68 / 30), (63 / 30), 0, (20 / 30), (20 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (43.5 / 30), (237 / 30), 0, (47 / 30), (36 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (33.5 / 30), (267 / 30), 0, (27 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (103.5 / 30), (319 / 30), 0, (167 / 30), (82 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (265.5 / 30), (323 / 30), 0, (47 / 30), (78 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (429.5 / 30), (332 / 30), 0, (223 / 30), (60 / 30), new Array("NONE")); stair = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (304 / 30), (311 / 30), 0, new Array([(-15 / 30), (-27 / 30)], [(-10 / 30), (-27 / 30)], [(14 / 30), (-9 / 30)], [(14 / 30), (51 / 30)], [(-15 / 30), (51 / 30)]), new Array("NONE")); stair.GetUserData().tiltValue = 2; Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (180.5 / 30), (231 / 30), 0, (13 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (274.5 / 30), (200.5 / 30), 0, (65 / 30), (13 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (248.5 / 30), (228 / 30), 0, (13 / 30), (42 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (380 / 30), (200.5 / 30), 0, (24 / 30), (13 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (468 / 30), (200.5 / 30), 0, (30 / 30), (13 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (493 / 30), (162 / 30), 0, (20 / 30), (20 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (522 / 30), (173 / 30), 0, (38 / 30), (42 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (0x0200 / 30), (236.5 / 30), 0, (58 / 30), (85 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (522 / 30), (290.5 / 30), 0, (38 / 30), (23 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (200.5 / 30), (221 / 30), 0, (27 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (194 / 30), (143.5 / 30), 0, (14 / 30), (115 / 30), new Array("LADDER")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (265.5 / 30), (84 / 30), 0, (119 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (337.5 / 30), (197 / 30), 0, (13 / 30), (6 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (422.5 / 30), (197 / 30), 0, (13 / 30), (6 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (155 / 30), (380 / 30), 0, (64 / 30), (40 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (269 / 30), (381 / 30), 0, (54 / 30), (38 / 30), new Array("NONE")); if (50 >= (Math.random() * 100)){ if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,CRATE", (302 / 30), (74 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,BARREL", (224 / 30), (278 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("BARREL_EXPLOSIVE", (269 / 30), (187 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,BARREL_EXPLOSIVE,CRATE,NONE", (261 / 30), (73 / 30), 0, new b2Vec2(), 0); }; } else { if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("CRATE", (273 / 30), (187 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,BARREL,CRATE", (253 / 30), (186 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE,GASCAN", (263 / 30), (168 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,GASCAN", (144 / 30), (88 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("CRATE", (176 / 30), (88 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL", (178 / 30), (73 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE", (138 / 30), (88 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,BARREL_EXPLOSIVE,GASCAN", (179 / 30), (58 / 30), 0, new b2Vec2(), 0); }; }; if (33 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,BARREL,CRATE", (334 / 30), (295 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL", (352 / 30), (295 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,GASCAN,NONE,CRATE", (376 / 30), (295 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE", (344 / 30), (281 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL", (413 / 30), (295 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (431 / 30), (295 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (423 / 30), (281 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (283 / 30), (277 / 30), 0, new b2Vec2(), 0); } else { if (50 >= (Math.random() * 100)){ if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("COMP", (374 / 30), (284 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMP_SCREEN", (362 / 30), (284 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (416.5 / 30), (285.5 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("COMP", (405.5 / 30), (297 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMP_SCREEN", (419 / 30), (284 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (370.5 / 30), (285.5 / 30), 0, new b2Vec2(), 0); }; Handler_WorldItems.AddObject("DESK", (367.5 / 30), (296 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR", (342 / 30), (294.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("DESK", (422.5 / 30), (296 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR", (460.5 / 30), (294.5 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("COMFY_CHAIR", (342 / 30), (294 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE_SMALL", (358 / 30), (299 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR", (374 / 30), (294 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR", (407 / 30), (294 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE_SMALL", (422 / 30), (299 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR", (438 / 30), (294 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("DESK", (277 / 30), (278 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (273 / 30), (267.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (283 / 30), (268 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (358 / 30), (292 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (422 / 30), (291 / 30), 0, new b2Vec2(), 0); }; }; lift = Handler_WorldItems.AddObject("LIFT_SMALL_01", (229 / 30), (290 / 30), 0, new b2Vec2(), 0); lamp3 = Handler_WorldItems.AddObject("LAMP_1", (155 / 30), (221.5 / 30), 0, new b2Vec2(), 0); lamp2 = Handler_WorldItems.AddObject("LAMP_1", (119.5 / 30), (221.5 / 30), 0, new b2Vec2(), 0); lamp1 = Handler_WorldItems.AddObject("LAMP_1", (83 / 30), (221.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (531 / 30), (145 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE,GASCAN", (491 / 30), (145 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (511 / 30), (145 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (30 / 30), (46 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE", (49 / 30), (46 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE", (40 / 30), (32 / 30), 1.5707963267949, new b2Vec2(), 0); Handler_WorldItems.AddObject("GASCAN,NONE", (68 / 30), (49 / 30), 1.5707963267949, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (113 / 30), (88 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE", (122 / 30), (273 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CHAIR", (101 / 30), (274 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CHAIR_R", (141 / 30), (273 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,NONE", (82 / 30), (271 / 30), 0, new b2Vec2(), 0); lamp4 = Handler_WorldItems.AddObject("LAMP_1", (224 / 30), (33 / 30), 0, new b2Vec2(), 0); lamp6 = Handler_WorldItems.AddObject("LAMP_1", (307 / 30), (33 / 30), 0, new b2Vec2(), 0); lamp5 = Handler_WorldItems.AddObject("LAMP_1", (266 / 30), (33 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (118 / 30), (263.5 / 30), 0, new b2Vec2(), 0); pathGrid.AddNode(new PathNode("", 181, 91, "", null)); pathGrid.AddNode(new PathNode("", 144, 91, "", null)); pathGrid.AddNode(new PathNode("", 111, 91, "", null)); pathGrid.AddNode(new PathNode("", 77, 91, "", null)); pathGrid.AddNode(new PathNode("", 24, 49, "", null)); pathGrid.AddNode(new PathNode("", 49, 49, "", null)); pathGrid.AddNode(new PathNode("", 73, 49, "", null)); pathGrid.AddNode(new PathNode("", 27, 91, "", null)); pathGrid.AddNode(new PathNode("", 212, 77, "", null)); pathGrid.AddNode(new PathNode("", 238, 77, "", null)); pathGrid.AddNode(new PathNode("", 266, 77, "", null)); pathGrid.AddNode(new PathNode("", 294, 77, "", null)); pathGrid.AddNode(new PathNode("", 320, 77, "", null)); pathGrid.AddNode(new PathNode("", 159, 91, "", null)); pathGrid.AddNode(new PathNode("", 249, 190, "", null)); pathGrid.AddNode(new PathNode("", 422.5, 189.5, "", null)); pathGrid.AddNode(new PathNode("", 458, 190, "", null)); pathGrid.AddNode(new PathNode("", 388, 190, "", null)); pathGrid.AddNode(new PathNode("", 372, 190, "", null)); pathGrid.AddNode(new PathNode("", 302, 190, "", null)); pathGrid.AddNode(new PathNode("", 337.5, 190, "", null)); pathGrid.AddNode(new PathNode("", 277, 190, "", null)); pathGrid.AddNode(new PathNode("", 207, 215, "", null)); pathGrid.AddNode(new PathNode("", 194, 215, "", null)); pathGrid.AddNode(new PathNode("", 481, 190, "", null)); pathGrid.AddNode(new PathNode("", 534, 190, "", null)); pathGrid.AddNode(new PathNode("", 536, 148, "", null)); pathGrid.AddNode(new PathNode("", 487, 148, "", null)); pathGrid.AddNode(new PathNode("", 0x0200, 148, "", null)); pathGrid.AddNode(new PathNode("", 481, 298, "", null)); pathGrid.AddNode(new PathNode("", 534, 298, "", null)); pathGrid.AddNode(new PathNode("", 68, 274, "", null)); pathGrid.AddNode(new PathNode("", 24, 274, "", null)); pathGrid.AddNode(new PathNode("", 96, 274, "", null)); pathGrid.AddNode(new PathNode("", 123, 274, "", null)); pathGrid.AddNode(new PathNode("", 152, 274, "", null)); pathGrid.AddNode(new PathNode("", 179, 274, "", null)); pathGrid.AddNode(new PathNode("", 248.5, 280, "", null)); pathGrid.AddNode(new PathNode("", 270, 280, "", null)); pathGrid.AddNode(new PathNode("", 292, 280, "", null)); pathGrid.AddNode(new PathNode("", 323, 297, "", null)); pathGrid.AddNode(new PathNode("", 352, 297, "", null)); pathGrid.AddNode(new PathNode("", 383, 297, "", null)); pathGrid.AddNode(new PathNode("", 413.5, 297, "", null)); pathGrid.AddNode(new PathNode("", 449, 297, "", null)); pathGrid.AddNode(new PathNode("", 223, 282, "", lift)); pathGrid.AddNode(new PathNode("", 235, 282, "", lift)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[4], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[6], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[2], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[7], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[8], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[0], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[8], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[14], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[15], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[17], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[18], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[15], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[17], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[15], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[16], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[19], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[20], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[18], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[20], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[21], pathGrid.Nodes[14], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[21], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[21], pathGrid.Nodes[19], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[21], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[22], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[22], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[23], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[0], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[23], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[16], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[24], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[25], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[26], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[26], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[27], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[16], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[29], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[30], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[24], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[32], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[3], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[31], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[36], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[35], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[31], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[35], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[44], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[43], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[42], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[41], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[40], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[39], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[38], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[37], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[38], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[39], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[40], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[41], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[42], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[43], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[44], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[29], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[45], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[46], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[22], PathBind.DYNAMIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[37], PathBind.DYNAMIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[46], PathBind.DYNAMIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[36], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[45], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[14], PathBind.DYNAMIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[45], PathBind.DYNAMIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[46], PathBind.DYNAMIC, PathBind.ROAD)); CreateElevator(lift, 92, 1); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp1, lamp1.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp2, lamp2.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp3, lamp3.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp4, lamp4.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp5, lamp5.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp6, lamp6.GetPosition(), 0, 0); Handler_WorldItems.AddGlass(new Point((306 / 30), (196 / 30)), new Point((332 / 30), (196 / 30))); Handler_WorldItems.AddGlass(new Point((343 / 30), (196 / 30)), new Point((369 / 30), (196 / 30))); Handler_WorldItems.AddGlass(new Point((391 / 30), (196 / 30)), new Point((417 / 30), (196 / 30))); Handler_WorldItems.AddGlass(new Point((428 / 30), (196 / 30)), new Point((454 / 30), (196 / 30))); Handler_WorldItems.AddGlass(new Point((245 / 30), (285 / 30)), new Point((245 / 30), (247 / 30))); Handler_WorldItems.AddGlass(new Point((184 / 30), (241 / 30)), new Point((184 / 30), (280 / 30))); rope1 = Handler_WorldItems.AddHangingLamp(new Point(280, 206), 25); rope2 = Handler_WorldItems.AddHangingLamp(new Point(380, 206), 25); rope3 = Handler_WorldItems.AddHangingLamp(new Point(468, 206), 25); MapUpdate = function (_arg1:Number):void{ rope1.UpdateMC(); rope2.UpdateMC(); rope3.UpdateMC(); }; MapStart = function ():void{ mapGraphic.AddMC(GetLevelMC("background_clouds")); mapGraphic.AddMC(GetLevelMC("fan_1")); mapGraphic.AddMC(GetLevelMC("fan_2")); mapGraphic.AddMC(GetLevelMC("fan_3")); }; } private function GetGroundWorld():b2World{ var _local1:b2AABB; var _local2:b2Vec2; var _local3:Boolean; _local1 = new b2AABB(); _local1.lowerBound.Set(-100, -100); _local1.upperBound.Set(100, 100); _local2 = new b2Vec2(0, 10); _local3 = true; m_world = new b2World(_local1, _local2, _local3); m_world.SetContactListener(m_contactListener); Handler_WorldItems.Setb2World = m_world; Handler_WorldItems.SetdbgDraw = MovieClip(_static_mc.getChildByName("WORLD_HITBOX")); return (m_world); } public function ConstructContactListener(_arg1:ContactData):void{ m_contactListener = new b2ContactListener(); m_contactListener.SetHandler(_arg1); Handler_WorldItems.LinkDeconstructer = _arg1.Handler_Deconstructer; } public function GetPlayerSpawnPositions(_arg1:Number=0):Array{ return (playerSpawns); } public function LinkWeapons(_arg1:Weapons):void{ _Handler_Weapons = _arg1; } public function GetMap(_arg1:Number):b2World{ var lvl = _arg1; mapGraphic = new MapGraphic(); pathGrid = new PathGrid(); mapArea = new Rectangle(-3000, -3000, 9000, 9000); playerSpawns = new Array(new Point(0, 0), new Point(10, 0), new Point(20, 0), new Point(30, 0), new Point(40, 0), new Point(50, 0)); portals = new Array(); weaponSpawns = new Array(new WeaponSpawnData(420, 188, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(235, 188, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))); MapUpdate = function (_arg1:Number):void{ }; MapEnd = function ():void{ }; MapStart = function ():void{ }; _mapStartTimer = 2; m_world = GetGroundWorld(); switch (lvl){ case 1: GenerateMapTutorial(); break; case 2: GenerateMapStorage(); break; case 3: GenerateMapRooftops(); break; case 4: GenerateMapPoliceStation(); break; case 5: GenerateMapHazardous(); break; }; _static_mc.addChild(pathGrid.DebugGraphic); pathGrid.UpdateSpecials(); m_world.UpdateObjectLists(); return (m_world); } public function GetMapPortals(_arg1:Number=0):Array{ return (portals); } public function GetPathGrid(_arg1:Number=0):PathGrid{ return (pathGrid); } public function Update(_arg1:Number):void{ if (_mapStartTimer > 0){ _mapStartTimer = (_mapStartTimer - 1); if (_mapStartTimer <= 0){ MapStart(); }; }; MapUpdate(_arg1); mapGraphic.Update(_arg1); } private function CreateHorizontalElevator(_arg1:b2Body, _arg2:Number, _arg3:Number):void{ var _local4:b2Body; var _local5:b2RevoluteJoint; var _local6:b2Vec2; var _local7:b2Vec2; Handler_WorldItems.AddPrismaticJoint(Handler_WorldItems.Ground, _arg1, _arg1.GetPosition(), new b2Vec2(1, 0)); _local4 = Handler_WorldItems.AddCircle("PLATFORM_MOTOR", (_arg1.GetPosition().x - ((_arg2 / 30) * 2)), _arg1.GetPosition().y, 0, new b2Vec2(), 0); _local4.GetUserData().visible = false; _local5 = Handler_WorldItems.AddRevoluteMotor(Handler_WorldItems.Ground, _local4, _local4.GetPosition(), _arg3, 9999); _local6 = _arg1.GetPosition(); _local7 = new b2Vec2((_local4.GetPosition().x + ((_arg2 / 30) * 0.5)), _local4.GetPosition().y); Handler_WorldItems.AddDistanceJoint(_arg1, _local4, _local6, _local7); } private function GenerateMapPoliceStation():void{ var stair:b2Body; var perm_cover1:b2Body; var propeller:b2Body; var lamp1:b2Body; var lamp2:b2Body; var lamp3:b2Body; var lamp4:b2Body; var rope1:Rope; var rope2:Rope; var rope3:Rope; var rope4:Rope; var rope5:Rope; var ropea:Rope; var ropeb:Rope; var ropec:Rope; var roped:Rope; mapArea = new Rectangle(105, -81, 800, 600); playerSpawns = new Array(new Point(184, 369), new Point(272, 370), new Point(368, 370), new Point(443, 370), new Point(531, 356), new Point(571, 357), new Point(690, 358), new Point(750, 376), new Point(821, 375), new Point(828, 250), new Point(675, 251), new Point(738, 249), new Point(588, 250), new Point(600, 159), new Point(672, 160), new Point(782, 158)); weaponSpawns = new Array(new WeaponSpawnData(235, 266, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(193, 373, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(520, 361, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(803, 379, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(643, 253, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(619, 163, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))); portals = new Array(new PortalData(new Rectangle(848, 234, 20, 24), new Rectangle(848, 360, 20, 24), new Point(1, 0), true, false), new PortalData(new Rectangle(848, 360, 20, 24), new Rectangle(848, 234, 20, 24), new Point(1, 0), true, false)); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (302.5 / 30), (413 / 30), 0, (369 / 30), (70 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (590 / 30), (407 / 30), 0, (230 / 30), (82 / 30), new Array("NONE")); stair = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (719 / 30), (409 / 30), 0, new Array([(-14 / 30), (-43 / 30)], [(-10 / 30), (-43 / 30)], [(14 / 30), (-25 / 30)], [(14 / 30), (39 / 30)], [(-14 / 30), (39 / 30)]), new Array("NONE")); stair.GetUserData().tiltValue = 2; Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (818.5 / 30), (416 / 30), 0, (171 / 30), (64 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (886 / 30), (372 / 30), 0, (36 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (876 / 30), (309 / 30), 0, (56 / 30), (102 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (876 / 30), (117.5 / 30), 0, (56 / 30), (233 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (886 / 30), (246 / 30), 0, (36 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (822 / 30), (163 / 30), 0, (52 / 30), (34 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (777 / 30), (174 / 30), 0, (38 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (637.5 / 30), (174 / 30), 0, (171 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (716.5 / 30), (201 / 30), 0, (13 / 30), (42 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (558.5 / 30), (201 / 30), 0, (13 / 30), (42 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (733 / 30), (193 / 30), 0, (20 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (749.5 / 30), (216 / 30), 0, (45 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (749.5 / 30), (238 / 30), 0, (45 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (629 / 30), (276 / 30), 0, (154 / 30), (36 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (777 / 30), (282 / 30), 0, (142 / 30), (48 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (558.5 / 30), (312 / 30), 0, (13 / 30), (36 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (712.5 / 30), (321 / 30), 0, (13 / 30), (30 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (125 / 30), (341.5 / 30), 0, (14 / 30), (73 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (248 / 30), (273 / 30), 0, (38 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (299 / 30), (273 / 30), 0, (38 / 30), (4 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (273.5 / 30), (301 / 30), 0, (13 / 30), (118 / 30), new Array("LADDER")); Handler_WorldItems.CreateGroundCircle(Handler_WorldItems.Material.Metal, (125 / 30), (301 / 30), (7 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (663 / 30), (302.5 / 30), 0, (8 / 30), (17 / 30), new Array("NONE")); perm_cover1 = Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (662.5 / 30), (359.5 / 30), 0, (15 / 30), (13 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (876 / 30), (-36 / 30), 0, (56 / 30), (74 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (238 / 30), (317 / 30), 0, (58 / 30), (4 / 30), new Array("CLOUD")); if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("COMFY_CHAIR", (628 / 30), (358 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("CHAIR,NONE", (648 / 30), (362 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (612.5 / 30), (356.5 / 30), 0, new b2Vec2(), 0); }; if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("FILECAB", (614 / 30), (251.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (603.5 / 30), (254.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (603.5 / 30), (246.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (595.5 / 30), (254.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (617 / 30), (232.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (614.5 / 30), (240.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (627.5 / 30), (251 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("FILECAB", (627 / 30), (236.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (625.5 / 30), (225.5 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("CRATE", (610 / 30), (251 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (625 / 30), (251 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (611 / 30), (236 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (626 / 30), (236 / 30), 0, new b2Vec2(), 0); }; if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (388 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (404 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (397 / 30), (356 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,BARREL_EXPLOSIVE", (429 / 30), (371 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (422 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (403 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,BARREL_EXPLOSIVE,NONE", (390 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (456 / 30), (371 / 30), 0, new b2Vec2(), 0); }; Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (308 / 30), (264 / 30), 0, new b2Vec2(), 0); propeller = Handler_WorldItems.AddObject("WINDMILL_PROPELLER", (274 / 30), (191 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE,CRATE,NONE", (786 / 30), (379 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CHAIR_R", (677 / 30), (361.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR,NONE", (597 / 30), (358 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE_SMALL", (613 / 30), (363.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE_SMALL", (583 / 30), (363.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (219 / 30), (308 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,BARREL", (234 / 30), (308 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE", (228 / 30), (293 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (251 / 30), (264 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (292 / 30), (264 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (660 / 30), (251 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,FILECAB", (567 / 30), (251 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (578.5 / 30), (254.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (567 / 30), (239.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (690 / 30), (251 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (707 / 30), (251 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,GASCAN", (732 / 30), (229 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,FILECAB,CRATE,NONE", (766.5 / 30), (207 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE,CRATE,NONE,NONE", (804 / 30), (253 / 30), 0, new b2Vec2(), 0); lamp1 = Handler_WorldItems.AddObject("LAMP_1", (582 / 30), (297.5 / 30), 0, new b2Vec2(), 0); lamp2 = Handler_WorldItems.AddObject("LAMP_1", (612 / 30), (297.5 / 30), 0, new b2Vec2(), 0); lamp3 = Handler_WorldItems.AddObject("LAMP_1", (641 / 30), (297.5 / 30), 0, new b2Vec2(), 0); lamp4 = Handler_WorldItems.AddObject("LAMP_1", (686 / 30), (297.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (808 / 30), (139 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,BARREL_EXPLOSIVE", (832 / 30), (139 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE,BARREL_EXPLOSIVE", (704 / 30), (161 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (688 / 30), (161 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (565 / 30), (161 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (581 / 30), (161 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("GASCAN,CRATE,NONE", (637 / 30), (162.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (732 / 30), (207 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL", (499 / 30), (359 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,BARREL", (139 / 30), (371.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL", (154 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,CRATE", (142 / 30), (357 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (167 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (155 / 30), (357 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,BARREL_EXPLOSIVE", (304 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (331 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (219 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE", (237 / 30), (371 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,NONE,BARREL", (317.5 / 30), (371.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("GASCAN,NONE,NONE,NONE", (0x0100 / 30), (311 / 30), 0, new b2Vec2(), 0); pathGrid.AddNode(new PathNode("", 139, 374, "", null)); pathGrid.AddNode(new PathNode("", 165, 374, "", null)); pathGrid.AddNode(new PathNode("", 193, 374, "", null)); pathGrid.AddNode(new PathNode("", 220, 374, "", null)); pathGrid.AddNode(new PathNode("", 246, 374, "", null)); pathGrid.AddNode(new PathNode("", 274, 374, "", null)); pathGrid.AddNode(new PathNode("", 305, 374, "", null)); pathGrid.AddNode(new PathNode("", 336, 374, "", null)); pathGrid.AddNode(new PathNode("", 368, 374, "", null)); pathGrid.AddNode(new PathNode("", 403, 374, "", null)); pathGrid.AddNode(new PathNode("", 438, 374, "", null)); pathGrid.AddNode(new PathNode("", 469, 374, "", null)); pathGrid.AddNode(new PathNode("", 483, 362, "", null)); pathGrid.AddNode(new PathNode("", 520, 362, "", null)); pathGrid.AddNode(new PathNode("", 555, 362, "", null)); pathGrid.AddNode(new PathNode("", 586, 362, "", null)); pathGrid.AddNode(new PathNode("", 617, 362, "", null)); pathGrid.AddNode(new PathNode("", 647, 362, "", null)); pathGrid.AddNode(new PathNode("", 677, 362, "", null)); pathGrid.AddNode(new PathNode("", 710, 362, "", null)); pathGrid.AddNode(new PathNode("", 735, 380, "", null)); pathGrid.AddNode(new PathNode("", 767, 380, "", null)); pathGrid.AddNode(new PathNode("", 803, 380, "", null)); pathGrid.AddNode(new PathNode("", 844, 380, "", null)); pathGrid.AddNode(new PathNode("", 844, 254, "", null)); pathGrid.AddNode(new PathNode("", 810, 254, "", null)); pathGrid.AddNode(new PathNode("", 925, 254, "", null)); pathGrid.AddNode(new PathNode("", 925, 380, "", null)); pathGrid.AddNode(new PathNode("", 788, 254, "", null)); pathGrid.AddNode(new PathNode("", 767, 254, "", null)); pathGrid.AddNode(new PathNode("", 749, 254, "", null)); pathGrid.AddNode(new PathNode("", 731, 254, "", null)); pathGrid.AddNode(new PathNode("", 709, 254, "", null)); pathGrid.AddNode(new PathNode("", 731, 232, "", null)); pathGrid.AddNode(new PathNode("", 749, 232, "", null)); pathGrid.AddNode(new PathNode("", 0x0300, 232, "", null)); pathGrid.AddNode(new PathNode("", 731, 210, "", null)); pathGrid.AddNode(new PathNode("", 750, 210, "", null)); pathGrid.AddNode(new PathNode("", 767, 210, "", null)); pathGrid.AddNode(new PathNode("", 737, 187, "", null)); pathGrid.AddNode(new PathNode("", 717, 164, "", null)); pathGrid.AddNode(new PathNode("", 764, 164, "", null)); pathGrid.AddNode(new PathNode("", 684, 164, "", null)); pathGrid.AddNode(new PathNode("", 651, 164, "", null)); pathGrid.AddNode(new PathNode("", 619, 164, "", null)); pathGrid.AddNode(new PathNode("", 586, 164, "", null)); pathGrid.AddNode(new PathNode("", 559, 164, "", null)); pathGrid.AddNode(new PathNode("", 788, 164, "", null)); pathGrid.AddNode(new PathNode("", 806, 142, "", null)); pathGrid.AddNode(new PathNode("", 841, 142, "", null)); pathGrid.AddNode(new PathNode("", 676, 254, "", null)); pathGrid.AddNode(new PathNode("", 643, 254, "", null)); pathGrid.AddNode(new PathNode("", 613, 254, "", null)); pathGrid.AddNode(new PathNode("", 585, 254, "", null)); pathGrid.AddNode(new PathNode("", 559, 254, "", null)); pathGrid.AddNode(new PathNode("", 260, 267, "", null)); pathGrid.AddNode(new PathNode("", 287, 267, "", null)); pathGrid.AddNode(new PathNode("", 312, 267, "", null)); pathGrid.AddNode(new PathNode("", 235, 267, "", null)); pathGrid.AddNode(new PathNode("", 662, 348, "", null)); pathGrid.AddNode(new PathNode("", 259, 311, "", null)); pathGrid.AddNode(new PathNode("", 216, 311, "", null)); pathGrid.AddNode(new PathNode("", 238, 311, "", null)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[8], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[7], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[6], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[4], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[4], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[6], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[7], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[8], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[12], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[14], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[22], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[21], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[21], pathGrid.Nodes[20], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[19], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[18], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[16], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[15], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[14], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[15], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[16], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[17], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[19], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[20], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[21], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[21], pathGrid.Nodes[22], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[23], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[24], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[25], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[27], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[24], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[26], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[26], pathGrid.Nodes[23], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[31], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[30], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[29], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[25], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[29], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[30], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[31], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[32], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[35], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[35], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[33], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[34], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[35], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[33], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[34], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[33], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[34], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[35], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[30], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[29], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[31], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[38], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[37], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[36], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[37], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[36], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[37], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[38], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[33], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[34], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[35], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[37], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[38], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[37], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[36], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[25], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[39], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[39], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[36], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[37], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[41], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[40], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[45], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[44], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[43], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[43], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[40], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[42], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[42], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[44], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[45], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[46], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[10], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[41], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[40], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[47], pathGrid.Nodes[48], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[47], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[49], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], pathGrid.Nodes[48], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[47], pathGrid.Nodes[41], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[47], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[54], pathGrid.Nodes[53], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[52], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[52], pathGrid.Nodes[51], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[51], pathGrid.Nodes[50], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[50], pathGrid.Nodes[32], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[50], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[50], pathGrid.Nodes[51], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[51], pathGrid.Nodes[52], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[52], pathGrid.Nodes[53], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[54], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[54], pathGrid.Nodes[12], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[58], pathGrid.Nodes[55], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[58], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[56], pathGrid.Nodes[57], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[57], pathGrid.Nodes[56], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[5], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[56], pathGrid.Nodes[5], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[55], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[56], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[56], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[56], pathGrid.Nodes[55], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[58], pathGrid.Nodes[1], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[57], pathGrid.Nodes[8], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[59], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[59], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[59], pathGrid.Nodes[17], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[59], pathGrid.Nodes[18], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[38], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[39], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[61], pathGrid.Nodes[1], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[61], pathGrid.Nodes[62], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[62], pathGrid.Nodes[60], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[60], pathGrid.Nodes[62], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[62], pathGrid.Nodes[61], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[60], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[60], pathGrid.Nodes[5], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[60], pathGrid.Nodes[6], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[39], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[39], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[41], PathBind.STATIC, PathBind.SPRINTJUMP)); perm_cover1.GetUserData().allowCover = true; Handler_WorldItems.AddRevoluteJoint(Handler_WorldItems.Ground, propeller, propeller.GetPosition()); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp1, lamp1.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp2, lamp2.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp3, lamp3.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp4, lamp4.GetPosition(), 0, 0); rope1 = Handler_WorldItems.AddHangingLamp(new Point(588, 180), 20); rope2 = Handler_WorldItems.AddHangingLamp(new Point(635, 180), 20); rope3 = Handler_WorldItems.AddHangingLamp(new Point(686, 180), 20); rope4 = Handler_WorldItems.AddHangingLamp(new Point(795, 180), 20); rope5 = Handler_WorldItems.AddHangingLamp(new Point(823, 180), 20); ropea = Handler_WorldItems.AddHangingLamp(new Point(739, 306), 20); ropeb = Handler_WorldItems.AddHangingLamp(new Point(767, 306), 20); ropec = Handler_WorldItems.AddHangingLamp(new Point(796, 306), 20); roped = Handler_WorldItems.AddHangingLamp(new Point(825, 306), 20); Handler_WorldItems.AddGlass(new Point((553.5 / 30), (221 / 30)), new Point((553.5 / 30), (258 / 30))); Handler_WorldItems.AddGlass(new Point((661 / 30), (310 / 30)), new Point((661 / 30), (341 / 30))); MapStart = function ():void{ mapGraphic.AddMC(GetLevelMC("background_clouds")); mapGraphic.AddMC(GetLevelMC("fan_1")); mapGraphic.AddMC(GetLevelMC("fan_2")); mapGraphic.AddMC(GetLevelMC("fan_3")); mapGraphic.AddMC(GetLevelMC("fan_4")); }; MapUpdate = function (_arg1:Number):void{ rope1.UpdateMC(); rope2.UpdateMC(); rope3.UpdateMC(); rope4.UpdateMC(); rope5.UpdateMC(); ropea.UpdateMC(); ropeb.UpdateMC(); ropec.UpdateMC(); roped.UpdateMC(); }; } public function GetMinimumMapArea(_arg1:Number=0):Rectangle{ return (mapArea); } public function UpdateHandlers(_arg1:Effects, _arg2:Explosions, _arg3:Sounds, _arg4:BasicOverlays):void{ Handler_WorldItems.UpdateHandlers(_arg1, _arg2, _arg3, _arg4); _Handler_Sounds = _arg3; _Handler_Effects = _arg1; } private function GenerateMapStorage():void{ var stair02:b2Body; var stair01:b2Body; var stair03:b2Body; var lift:b2Body; var crate_hanging_1:b2Body; var crate_hanging_2:b2Body; var lamp2:b2Body; var lamp3:b2Body; var lamp1:b2Body; var lamp4:b2Body; var lamp5:b2Body; var lamp6:b2Body; var lamp7:b2Body; var lamp8:b2Body; var ropeLamp1:Rope; var ropeLamp2:Rope; var ropeLamp3:Rope; var closness:Number; var holder1:b2Body; var holder2:b2Body; var rope1:Rope; var rope2:Rope; var layer_mc:MovieClip; mapArea = new Rectangle(23, -26, 477, 365); playerSpawns = new Array(new Point(130, 247), new Point(336, 248), new Point(234, 266), new Point(244, 136), new Point(116, 175), new Point(423, 182), new Point(368, 132), new Point(272, 137), new Point(212, 135), new Point(84, 175), new Point(196, 198), new Point(245, 198), new Point(271, 265), new Point(192, 264), new Point(450, 132), new Point(394, 247), new Point(149, 175), new Point(368, 224), new Point(417, 223), new Point(417, 201), new Point(369, 200), new Point(197, 220), new Point(199, 241), new Point(246, 240), new Point(77, 248), new Point(395, 133)); weaponSpawns = new Array(new WeaponSpawnData(197, 161, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(125, 106, new Array(0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(366, 136, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(120, 250, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(385, 184, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(246, 224, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))); portals = new Array(new PortalData(new Rectangle(467, 117, 17, 24), new Rectangle(467, 165, 17, 24), new Point(1, 0), true, false), new PortalData(new Rectangle(467, 165, 17, 24), new Rectangle(467, 117, 17, 24), new Point(1, 0), true, false)); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (176.5 / 30), (26.5 / 30), 0, (351 / 30), (51 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (431 / 30), (41.5 / 30), 0, (184 / 30), (81 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (345 / 30), (94 / 30), 0, (12 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (495 / 30), (99.5 / 30), 0, (56 / 30), (35 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (411.5 / 30), (147 / 30), 0, (145 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (503.5 / 30), (153 / 30), 0, (39 / 30), (72 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (495 / 30), (259 / 30), 0, (56 / 30), (140 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (475.5 / 30), (159 / 30), 0, (17 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (27.5 / 30), (190.5 / 30), 0, (53 / 30), (277 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (104.5 / 30), (120 / 30), 0, (73 / 30), (18 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (90.5 / 30), (292 / 30), 0, (73 / 30), (74 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (230.5 / 30), (301 / 30), 0, (147 / 30), (56 / 30), new Array("NONE")); stair02 = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (143 / 30), (294 / 30), 0, new Array([(-16 / 30), (-39 / 30)], [(-10 / 30), (-39 / 30)], [(14 / 30), (-21 / 30)], [(14 / 30), (35 / 30)], [(-16 / 30), (35 / 30)]), new Array("NONE")); stair02.GetUserData().tiltValue = 2; Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (400.5 / 30), (292 / 30), 0, (133 / 30), (74 / 30), new Array("NONE")); stair01 = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (320 / 30), (292 / 30), 0, new Array([(-16 / 30), (-19 / 30)], [(8 / 30), (-37 / 30)], [(14 / 30), (-37 / 30)], [(14 / 30), (37 / 30)], [(-16 / 30), (37 / 30)]), new Array("NONE")); stair01.GetUserData().tiltValue = -2; Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (246 / 30), (145 / 30), 0, (102 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (197 / 30), (167 / 30), 0, (50 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (105 / 30), (184 / 30), 0, (102 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (221.5 / 30), (208 / 30), 0, (93 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (221.5 / 30), (230 / 30), 0, (93 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (221.5 / 30), (252 / 30), 0, (93 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (392.5 / 30), (212 / 30), 0, (93 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (392.5 / 30), (234 / 30), 0, (93 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (423 / 30), (190 / 30), 0, (88 / 30), (2 / 30), new Array("CLOUD")); stair03 = Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (167 / 30), (196 / 30), 0.785398163397448, (34 / 30), (3 / 30), new Array("CLOUD")); stair03.GetUserData().tiltValue = 2; Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (60 / 30), (139 / 30), 0, (12 / 30), (83 / 30), new Array("LADDER")); if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("TABLE", (420 / 30), (136 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CHAIR", (404 / 30), (137 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CHAIR_R", (436 / 30), (136 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (416 / 30), (126.5 / 30), 0, new b2Vec2(), 0); } else { if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("COMP_SCREEN", (426 / 30), (123 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMP", (436 / 30), (123 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("PAPER", (423.5 / 30), (124.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (433.5 / 30), (124.5 / 30), 0, new b2Vec2(), 0); }; Handler_WorldItems.AddObject("DESK_1", (431 / 30), (135 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR", (410 / 30), (133 / 30), 0, new b2Vec2(), 0); }; lift = Handler_WorldItems.AddObject("LIFT_01", (86.5 / 30), (260 / 30), 0, new b2Vec2(), 0); crate_hanging_1 = Handler_WorldItems.AddObject("CRATE_HANGING", (168 / 30), (131 / 30), 0, new b2Vec2(), 0); crate_hanging_2 = Handler_WorldItems.AddObject("CRATE_HANGING", (303 / 30), (95 / 30), 0, new b2Vec2(), 0); lamp2 = Handler_WorldItems.AddObject("LAMP_1", (367 / 30), (156.5 / 30), 0, new b2Vec2(), 0); lamp3 = Handler_WorldItems.AddObject("LAMP_1", (395 / 30), (84.5 / 30), 0, new b2Vec2(), 0); lamp1 = Handler_WorldItems.AddObject("LAMP_1", (423 / 30), (156.5 / 30), 0, new b2Vec2(), 0); lamp4 = Handler_WorldItems.AddObject("LAMP_1", (367 / 30), (84.5 / 30), 0, new b2Vec2(), 0); lamp5 = Handler_WorldItems.AddObject("LAMP_1", (423 / 30), (84.5 / 30), 0, new b2Vec2(), 0); lamp6 = Handler_WorldItems.AddObject("LAMP_1", (124 / 30), (131.5 / 30), 0, new b2Vec2(), 0); lamp7 = Handler_WorldItems.AddObject("LAMP_1", (85 / 30), (131.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,CRATE,BARREL,NONE", (281.5 / 30), (136 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE,NONE", (230 / 30), (137 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,CRATE,NONE", (351 / 30), (203 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (259 / 30), (137 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,BARREL,CRATE,NONE", (261 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,BARREL_EXPLOSIVE", (213 / 30), (200 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,CRATE", (183 / 30), (243 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (443.5 / 30), (248 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE", (431 / 30), (247 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,BARREL_EXPLOSIVE,CRATE", (96 / 30), (247 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (109 / 30), (103 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (94 / 30), (104 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,GASCAN", (429 / 30), (203 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,GASCAN,NONE,NONE", (404 / 30), (182 / 30), 1.5707963267949, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,NONE,GASCAN,BARREL_EXPLOSIVE", (260 / 30), (200 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,CRATE,BARREL", (132 / 30), (174 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE,BARREL", (101 / 30), (174 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("GASCAN,NONE", (215 / 30), (162 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (221 / 30), (221 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (211 / 30), (266 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,BARREL_EXPLOSIVE", (355 / 30), (247 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,BARREL,NONE,CRATE", (375 / 30), (247 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,GASCAN,NONE", (392 / 30), (226 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,CRATE", (390 / 30), (203 / 30), 0, new b2Vec2(), 0); lamp8 = Handler_WorldItems.AddObject("LAMP_1", (451 / 30), (84.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,NONE", (221 / 30), (243 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("FILECAB", (381.5 / 30), (134.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (382.5 / 30), (123.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (96.5 / 30), (92.5 / 30), 0, new b2Vec2(), 0); pathGrid.AddNode(new PathNode("", 161, 268, "", null)); pathGrid.AddNode(new PathNode("", 135, 250, "", null)); pathGrid.AddNode(new PathNode("", 180, 247, "", null)); pathGrid.AddNode(new PathNode("", 180, 225, "", null)); pathGrid.AddNode(new PathNode("", 222, 247, "", null)); pathGrid.AddNode(new PathNode("", 222, 225, "", null)); pathGrid.AddNode(new PathNode("", 221, 203, "", null)); pathGrid.AddNode(new PathNode("", 201, 225, "", null)); pathGrid.AddNode(new PathNode("", 201, 247, "", null)); pathGrid.AddNode(new PathNode("", 201, 269, "", null)); pathGrid.AddNode(new PathNode("", 180, 269, "", null)); pathGrid.AddNode(new PathNode("", 222, 269, "", null)); pathGrid.AddNode(new PathNode("", 243, 269, "", null)); pathGrid.AddNode(new PathNode("", 263, 269, "", null)); pathGrid.AddNode(new PathNode("", 262, 247, "", null)); pathGrid.AddNode(new PathNode("", 262, 225, "", null)); pathGrid.AddNode(new PathNode("", 243, 247, "", null)); pathGrid.AddNode(new PathNode("", 243, 225, "", null)); pathGrid.AddNode(new PathNode("", 242, 203, "", null)); pathGrid.AddNode(new PathNode("", 262, 203, "", null)); pathGrid.AddNode(new PathNode("", 201, 203, "", null)); pathGrid.AddNode(new PathNode("", 184, 203, "", null)); pathGrid.AddNode(new PathNode("", 154, 179, "", null)); pathGrid.AddNode(new PathNode("", 181, 162, "", null)); pathGrid.AddNode(new PathNode("diveT", 203, 139, "", null)); pathGrid.AddNode(new PathNode("", 197, 162, "", null)); pathGrid.AddNode(new PathNode("", 217, 162, "", null)); pathGrid.AddNode(new PathNode("", 221, 140, "", null)); pathGrid.AddNode(new PathNode("", 243, 140, "", null)); pathGrid.AddNode(new PathNode("", 268, 140, "", null)); pathGrid.AddNode(new PathNode("", 290, 140, "", null)); pathGrid.AddNode(new PathNode("", 347, 136, "", null)); pathGrid.AddNode(new PathNode("", 283, 269, "", null)); pathGrid.AddNode(new PathNode("", 301, 269, "", null)); pathGrid.AddNode(new PathNode("", 329, 251, "", null)); pathGrid.AddNode(new PathNode("", 350, 251, "", null)); pathGrid.AddNode(new PathNode("", 351, 229, "", null)); pathGrid.AddNode(new PathNode("", 351, 207, "", null)); pathGrid.AddNode(new PathNode("", 392, 207, "", null)); pathGrid.AddNode(new PathNode("", 392, 229, "", null)); pathGrid.AddNode(new PathNode("", 392, 251, "", null)); pathGrid.AddNode(new PathNode("", 434, 251, "", null)); pathGrid.AddNode(new PathNode("", 434, 229, "", null)); pathGrid.AddNode(new PathNode("", 434, 207, "", null)); pathGrid.AddNode(new PathNode("", 414, 251, "", null)); pathGrid.AddNode(new PathNode("", 413, 229, "", null)); pathGrid.AddNode(new PathNode("", 413, 207, "", null)); pathGrid.AddNode(new PathNode("", 371, 251, "", null)); pathGrid.AddNode(new PathNode("", 371, 229, "", null)); pathGrid.AddNode(new PathNode("", 371, 207, "", null)); pathGrid.AddNode(new PathNode("", 459, 251, "", null)); pathGrid.AddNode(new PathNode("", 385, 184, "", null)); pathGrid.AddNode(new PathNode("", 413, 185, "", null)); pathGrid.AddNode(new PathNode("", 434, 185, "", null)); pathGrid.AddNode(new PathNode("", 460, 185, "", null)); pathGrid.AddNode(new PathNode("", 511, 185, "", null)); pathGrid.AddNode(new PathNode("", 511, 137, "", null)); pathGrid.AddNode(new PathNode("", 460, 136, "", null)); pathGrid.AddNode(new PathNode("", 430, 136, "", null)); pathGrid.AddNode(new PathNode("", 399, 136, "", null)); pathGrid.AddNode(new PathNode("", 370, 136, "", null)); pathGrid.AddNode(new PathNode("", 109, 250, "", null)); pathGrid.AddNode(new PathNode("", 86, 250, "", null)); pathGrid.AddNode(new PathNode("", 60, 250, "", null)); pathGrid.AddNode(new PathNode("", 121, 178, "", null)); pathGrid.AddNode(new PathNode("", 87, 178, "", null)); pathGrid.AddNode(new PathNode("", 61, 178, "", null)); pathGrid.AddNode(new PathNode("", 72.5, 106, "", null)); pathGrid.AddNode(new PathNode("", 104, 106, "", null)); pathGrid.AddNode(new PathNode("diveS", 135, 106, "", null)); pathGrid.AddNode(new PathNode("crate", 158, 120, "", crate_hanging_1)); pathGrid.AddNode(new PathNode("crate", 178, 121, "", crate_hanging_1)); pathGrid.AddNode(new PathNode("", 86, 252, "", lift)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[56], pathGrid.Nodes[54], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[57], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[57], pathGrid.Nodes[56], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[54], pathGrid.Nodes[55], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[57], pathGrid.Nodes[58], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[58], pathGrid.Nodes[59], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[59], pathGrid.Nodes[60], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[60], pathGrid.Nodes[31], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[60], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[60], pathGrid.Nodes[59], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[59], pathGrid.Nodes[58], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[58], pathGrid.Nodes[57], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[54], pathGrid.Nodes[53], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[52], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[52], pathGrid.Nodes[51], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[51], pathGrid.Nodes[52], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[52], pathGrid.Nodes[53], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[54], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[49], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], pathGrid.Nodes[38], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[46], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[43], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[46], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[38], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[49], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], pathGrid.Nodes[37], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[48], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[39], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[45], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[42], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[45], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[39], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[48], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[36], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[50], pathGrid.Nodes[41], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[50], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[44], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[41], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[47], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[40], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[44], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[47], pathGrid.Nodes[40], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[47], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[47], pathGrid.Nodes[35], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[35], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[32], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[32], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[63], pathGrid.Nodes[62], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[62], pathGrid.Nodes[63], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[62], pathGrid.Nodes[61], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[61], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[61], pathGrid.Nodes[62], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[61], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[27], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[29], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[30], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[29], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[27], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[24], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[26], pathGrid.Nodes[25], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[23], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[25], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[26], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[18], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[6], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[20], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[21], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[21], pathGrid.Nodes[20], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[6], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[18], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[19], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[17], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[7], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[8], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[4], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[16], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[14], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[16], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[4], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[8], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[7], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[17], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[15], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[21], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[21], pathGrid.Nodes[22], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[64], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[64], pathGrid.Nodes[65], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[65], pathGrid.Nodes[66], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[66], pathGrid.Nodes[65], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[65], pathGrid.Nodes[64], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[64], pathGrid.Nodes[22], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[67], pathGrid.Nodes[68], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[68], pathGrid.Nodes[69], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[69], pathGrid.Nodes[68], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[68], pathGrid.Nodes[67], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[67], pathGrid.Nodes[66], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[66], pathGrid.Nodes[67], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[2], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[14], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[36], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[50], pathGrid.Nodes[42], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], pathGrid.Nodes[51], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[51], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[52], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[53], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[54], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[43], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[46], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[38], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[49], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[37], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[46], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[38], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[49], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[37], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[43], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[46], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[38], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[49], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[42], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[45], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[39], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[47], pathGrid.Nodes[48], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[36], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[45], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[39], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[48], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[47], pathGrid.Nodes[36], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[48], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[45], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[47], pathGrid.Nodes[39], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[42], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[33], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[33], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[33], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[26], pathGrid.Nodes[27], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[24], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[27], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[24], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[26], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[25], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[23], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[23], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[22], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[31], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[30], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[1], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[43], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[52], pathGrid.Nodes[46], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[51], pathGrid.Nodes[38], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[51], pathGrid.Nodes[37], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[51], pathGrid.Nodes[49], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[36], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], pathGrid.Nodes[48], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[39], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[45], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[42], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[41], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[50], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[44], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[40], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[48], pathGrid.Nodes[47], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[35], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[32], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[2], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[8], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[4], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[16], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[14], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[15], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[17], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[5], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[7], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[7], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[3], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[21], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[20], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[6], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[18], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[19], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[16], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[4], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[8], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[2], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[8], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[4], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[16], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[14], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[17], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[5], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[3], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[7], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[5], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[17], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[15], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[18], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[6], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[20], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[21], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[20], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[6], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[18], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[19], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[2], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[15], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[14], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[13], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[21], pathGrid.Nodes[3], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[2], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[10], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[7], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[8], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[9], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[5], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[4], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[11], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[17], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[16], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[12], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[26], pathGrid.Nodes[6], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[20], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[21], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[71], pathGrid.Nodes[24], PathBind.DYNAMIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[71], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[70], pathGrid.Nodes[71], PathBind.DYNAMIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[71], pathGrid.Nodes[70], PathBind.DYNAMIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[70], pathGrid.Nodes[69], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[69], pathGrid.Nodes[70], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[72], pathGrid.Nodes[62], PathBind.DYNAMIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[62], pathGrid.Nodes[72], PathBind.DYNAMIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[65], pathGrid.Nodes[72], PathBind.DYNAMIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[19], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[72], pathGrid.Nodes[65], PathBind.DYNAMIC, PathBind.JUMP)); ropeLamp1 = Handler_WorldItems.AddHangingLamp(new Point(139, 52), 20); ropeLamp2 = Handler_WorldItems.AddHangingLamp(new Point(267, 52), 20); ropeLamp3 = Handler_WorldItems.AddHangingLamp(new Point(203, 52), 20); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp1, lamp1.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp2, lamp2.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp3, lamp3.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp4, lamp4.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp5, lamp5.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp6, lamp6.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp7, lamp7.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(Handler_WorldItems.Ground, lamp8, lamp8.GetPosition(), 0, 0); closness = (0.5 / 30); holder1 = Handler_WorldItems.AddObject("CRATE_HANGING_HOLDER", crate_hanging_1.GetPosition().x, (crate_hanging_1.GetPosition().y - ((crate_hanging_1.GetUserData().height / 30) * 0.5)), 0, new b2Vec2(), 0); holder2 = Handler_WorldItems.AddObject("CRATE_HANGING_HOLDER", crate_hanging_2.GetPosition().x, (crate_hanging_2.GetPosition().y - ((crate_hanging_2.GetUserData().height / 30) * 0.5)), 0, new b2Vec2(), 0); Handler_WorldItems.AddLimitedJoint(crate_hanging_1, holder1, holder1.GetPosition(), 0, 0); Handler_WorldItems.AddLimitedJoint(crate_hanging_2, holder2, holder2.GetPosition(), 0, 0); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder1, new b2Vec2(holder1.GetPosition().x, (51 / 30)), new b2Vec2((holder1.GetPosition().x + closness), (holder1.GetPosition().y - ((holder1.GetUserData().height / 30) * 0.5)))); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder1, new b2Vec2(holder1.GetPosition().x, (51 / 30)), new b2Vec2((holder1.GetPosition().x - closness), (holder1.GetPosition().y - ((holder1.GetUserData().height / 30) * 0.5)))); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder2, new b2Vec2(holder2.GetPosition().x, (51 / 30)), new b2Vec2((holder2.GetPosition().x + closness), (holder2.GetPosition().y - ((holder2.GetUserData().height / 30) * 0.5)))); Handler_WorldItems.AddDistanceJoint(Handler_WorldItems.Ground, holder2, new b2Vec2(holder2.GetPosition().x, (51 / 30)), new b2Vec2((holder2.GetPosition().x - closness), (holder2.GetPosition().y - ((holder2.GetUserData().height / 30) * 0.5)))); crate_hanging_1.ApplyForce(new b2Vec2(((Math.random() * 10) - 5), Math.random()), new b2Vec2(((crate_hanging_1.GetPosition().x + (Math.random() * 2)) - 1), crate_hanging_1.GetPosition().y)); crate_hanging_2.ApplyForce(new b2Vec2(((Math.random() * 10) - 5), Math.random()), new b2Vec2(((crate_hanging_2.GetPosition().x + (Math.random() * 2)) - 1), crate_hanging_2.GetPosition().y)); Handler_WorldItems.AddGlass(new Point((341 / 30), (105 / 30)), new Point((341 / 30), (142 / 30))); CreateElevator(lift, 66, 1); rope1 = new Rope(Handler_WorldItems.Ground, holder1, new b2Vec2(holder1.GetPosition().x, (51 / 30)), new b2Vec2(holder1.GetPosition().x, (holder1.GetPosition().y - ((holder1.GetUserData().height / 30) * 0.5)))); rope2 = new Rope(Handler_WorldItems.Ground, holder2, new b2Vec2(holder2.GetPosition().x, (51 / 30)), new b2Vec2(holder2.GetPosition().x, (holder2.GetPosition().y - ((holder2.GetUserData().height / 30) * 0.5)))); layer_mc = MovieClip(_dynamic_mc.getChildByName("OBJECTS")); layer_mc.addChild(rope1.MC); layer_mc.addChild(rope2.MC); MapUpdate = function (_arg1:Number):void{ rope1.UpdateMC(); rope2.UpdateMC(); ropeLamp1.UpdateMC(); ropeLamp2.UpdateMC(); ropeLamp3.UpdateMC(); }; holder1.GetUserData().onDestruction = function (_arg1:b2Body):void{ rope1.Remove(); pathGrid.RemoveNodes("CRATE"); pathGrid.AddBind(new PathBind("", pathGrid.GetNode("diveS"), pathGrid.GetNode("diveT"), PathBind.STATIC, PathBind.DIVE)); pathGrid.UpdateSpecials(); pathGrid.AnalyzeGrid(); }; holder2.GetUserData().onDestruction = function (_arg1:b2Body):void{ rope2.Remove(); }; MapStart = function ():void{ mapGraphic.AddMC(GetLevelMC("fan_1")); mapGraphic.AddMC(GetLevelMC("fan_2")); mapGraphic.AddMC(GetLevelMC("fan_3")); }; } } }//package Code.Handler
Section 153
//MenuMain (Code.Handler.MenuMain) package Code.Handler { import Code.Data.Menu.*; import flash.events.*; import Code.Data.*; import flash.net.*; import flash.display.*; import Code.Data.Players.*; public class MenuMain { private var _game_mc:MovieClip; private var _Handler_GameMain:GameMain; private var _delay_timer:Number; private var _curr_menu:submenu_base; private var _menu_history:Array; private var _menu_overlay:MovieClip; private var _Handler_Keyboard:InputKeyboard; private var _lastChoise:String;// = "" private var _Handler_Options:Options; private var _Handler_Output:OutputTrace; private var _Handler_Sounds:Sounds; private var _stage; public function MenuMain(_arg1:MenuMainData){ _lastChoise = ""; super(); _game_mc = _arg1.game_mc; _stage = _arg1.stage_temp; _Handler_Output = _arg1.Handler_Output; _Handler_GameMain = _arg1.Handler_GameMain; _Handler_Sounds = _arg1.Handler_Sounds; _Handler_Options = _arg1.Handler_Options; _menu_overlay = new main_menu_overlay(); _menu_history = new Array(); _menu_overlay.link_1.addEventListener(MouseEvent.CLICK, Link1); _menu_overlay.link_2.addEventListener(MouseEvent.CLICK, Link2); _menu_overlay.link_3.addEventListener(MouseEvent.CLICK, Link3); _menu_overlay.link_4.addEventListener(MouseEvent.CLICK, Link4); } private function StartTutorial():void{ _stage.removeChild(_menu_overlay); _Handler_Keyboard.Deconstruct(); _Handler_GameMain.Stop(); StartTutorialGame(); } private function CheckPrevMenu():void{ if (_menu_history.length > 0){ if (_curr_menu.CanReturn){ _curr_menu.Hide(); _curr_menu = _menu_history[(_menu_history.length - 1)]; _curr_menu.Show(); _menu_history.splice((_menu_history.length - 1), 1); if (((!((_lastChoise == "delete_progress"))) && (!((_lastChoise == "not_delete_progress"))))){ if ((((_menu_history.length == 4)) && ((_menu_history[3].NoBots == 0)))){ KeyPressed(MenuKey.KEY_BACKSPACE); } else { if (_lastChoise != "reset"){ _Handler_Sounds.PlayMightySound("CANCEL"); }; }; }; if (_menu_history.length == 1){ _menu_history[0].Show(); }; }; }; } public function UserInpuOver():void{ _stage.removeChild(_menu_overlay); _Handler_Keyboard.Deconstruct(); _Handler_GameMain.Stop(); StartNewGame(); } public function StartNewGame():void{ var _local1:PlayerSetupData; var _local2:int; var _local3:int; var _local4:int; var _local5:NewGameData; _local1 = new PlayerSetupData(); _local1.ot = _Handler_Output; _local1.keys = _Handler_Options.GetPlayerKeys(); _local1.totalPlayers = (_menu_history[0].Players + _menu_history[3].NoBots); _local1.ai = new Array(1, 0, 0, 0, 0, 0, 0, 0); _local1.characters = new Array(_menu_history[2].PlayerPlateOne.Character, 0, 0, 0, 0, 0, 0, 0); _local1.teams = new Array(_menu_history[2].PlayerPlateOne.Team, 0, 0, 0, 0, 0, 0, 0); if (_menu_history[0].Players == 2){ _local1.ai[1] = 2; _local1.characters[1] = _menu_history[2].PlayerPlateTwo.Character; _local1.teams[1] = _menu_history[2].PlayerPlateTwo.Team; }; _local1.aiDifficulty = new Array(0, 0, 0, 0, 0, 0, 0, 0); _local2 = 0; _local3 = _menu_history[0].Players; while (_local3 < _local1.totalPlayers) { _local1.characters[_local3] = _menu_history[4].BotPlates[_local2].Character; _local1.teams[_local3] = _menu_history[4].BotPlates[_local2].Team; _local1.aiDifficulty[_local3] = _menu_history[4].BotPlates[_local2].Difficulty; _local2++; _local3++; }; _local4 = 0; while (_local4 < _local1.characters.length) { if (_local1.characters[_local4] == 0){ _local1.characters[_local4] = GetRndChar(); }; _local4++; }; _local5 = new NewGameData(); _local5.lvl = _menu_history[(_menu_history.length - 1)].Level; _local5.pSetupData = _local1; _local5.gamePosX = 0; if (_local1.totalPlayers > 4){ _local5.gameScale = 1; _local5.gamePosY = 75; } else { _local5.gameScale = 1.05; _local5.gamePosY = (75 / 2); }; _local5.challengeNr = -1; _local5.isMenuDemo = false; _local5.isTutorial = false; _local5.showTips = true; _local5.newScore = true; _local5.gameMode = _menu_history[(_menu_history.length - 1)].Mode; _Handler_GameMain.StartNewGame(_local5); } public function get MenuOverlay():MovieClip{ return (_menu_overlay); } public function StartTutorialGame():void{ var _local1:PlayerSetupData; var _local2:NewGameData; _local1 = new PlayerSetupData(); _local1.ot = _Handler_Output; _local1.keys = _Handler_Options.GetPlayerKeys(); _local1.characters = new Array(1, 2, 3, 3, 3, 3, 3, 3); _local1.totalPlayers = 1; _local1.teams = new Array(0, 0, 0, 0, 0, 0, 0, 0); _local1.ai = new Array(1, 2, 0, 0, 0, 0, 0, 0); _local1.aiDifficulty = new Array(3, 3, 3, 3, 3, 3, 3, 3); _local2 = new NewGameData(); _local2.lvl = 1; _local2.pSetupData = _local1; _local2.gameScale = 1; _local2.gamePosX = 0; _local2.gamePosY = 0; _local2.challengeNr = -1; _local2.isMenuDemo = false; _local2.isTutorial = true; _local2.showTips = false; _local2.newScore = true; _local2.gameMode = 1; _Handler_GameMain.StartNewGame(_local2); } private function Link1(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://johanhjarpe.newgrounds.com"); navigateToURL(_local2, "_blank"); } private function DeleteProgress():void{ var _local1:SharedObject; _local1 = SharedObject.getLocal("superfightersData_v1.0"); _local1.data.stageLevelsFinished = [false, false, false, false, false, false, false, false, false, false, false, false]; _local1.flush(); } private function Link3(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://hzlancer.newgrounds.com/"); navigateToURL(_local2, "_blank"); } private function Show(_arg1:Array):void{ var _local2:int; _local2 = 0; while (_local2 < _arg1.length) { MovieClip(_arg1[_local2]).visible = true; _local2++; }; } private function Link2(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://gurt.newgrounds.com/"); navigateToURL(_local2, "_blank"); } private function GetRndChar():int{ return (PlayerCharacter.GetRandomCharacter()); } private function Link4(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://mythologicinteractive.com/"); navigateToURL(_local2, "_blank"); } private function KeyPressed(_arg1:int):void{ _curr_menu.KeyPressed(_arg1); switch (_arg1){ case MenuKey.KEY_ENTER: CheckNextMenu(); break; case MenuKey.KEY_BACKSPACE: CheckPrevMenu(); break; }; } public function StartMenuGame():void{ var _local1:PlayerSetupData; var _local2:int; var _local3:NewGameData; _local1 = new PlayerSetupData(); _local1.ot = _Handler_Output; _local1.characters = new Array(GetRndChar(), GetRndChar(), GetRndChar(), GetRndChar(), GetRndChar(), GetRndChar(), GetRndChar(), GetRndChar()); _local2 = Math.floor((Math.random() * 4.9999)); switch (_local2){ case 0: _local1.totalPlayers = 3; _local1.teams = new Array(0, 0, 0, 0, 0, 0, 0, 0); break; case 1: _local1.totalPlayers = 4; _local1.teams = new Array(1, 1, 2, 2, 0, 0, 0, 0); break; case 2: _local1.totalPlayers = 5; _local1.teams = new Array(0, 0, 0, 4, 4, 0, 0, 0); break; case 3: _local1.totalPlayers = 6; _local1.teams = new Array(1, 1, 2, 2, 3, 3, 4, 4); break; default: _local1.characters = new Array(1, 2, 3, 3, 3, 3, 3, 3); _local1.totalPlayers = 2; _local1.teams = new Array(0, 0, 0, 0, 0, 0, 0, 0); break; }; _local1.ai = new Array(0, 0, 0, 0, 0, 0, 0, 0); _local1.aiDifficulty = new Array(3, 3, 3, 3, 3, 3, 3, 3); _local3 = new NewGameData(); _local3.lvl = (2 + Math.floor((Math.random() * 3.999))); _local3.pSetupData = _local1; _local3.gameScale = 0.95; _local3.gamePosX = 80; _local3.gamePosY = 110; _local3.challengeNr = -1; _local3.isMenuDemo = true; _local3.isTutorial = false; _local3.showTips = false; _local3.newScore = true; _local3.gameMode = 1; _Handler_GameMain.StartNewGame(_local3); } private function Hide(_arg1:Array):void{ var _local2:int; _local2 = 0; while (_local2 < _arg1.length) { MovieClip(_arg1[_local2]).visible = false; _local2++; }; } public function OpenMenu():void{ _Handler_Keyboard = new InputKeyboard(_stage); StartMenuGame(); if (_menu_history.length > 0){ _curr_menu.Show(); } else { _menu_history = new Array(); Hide([_menu_overlay.vs_1p_setup, _menu_overlay.vs_2p_setup, _menu_overlay.map_selection, _menu_overlay.mode_selection, _menu_overlay.no_bots, _menu_overlay.bot_7_setup, _menu_overlay.bot_6_setup, _menu_overlay.set_up, _menu_overlay.set_up_main, _menu_overlay.challenge_selection, _menu_overlay.confirm_delete]); _curr_menu = new first_choise(_menu_overlay.first_choise, _Handler_Sounds); }; _stage.addChild(_menu_overlay); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("UP"), function ():void{ KeyPressed(MenuKey.KEY_UP); }); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("DOWN"), function ():void{ KeyPressed(MenuKey.KEY_DOWN); }); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("LEFT"), function ():void{ KeyPressed(MenuKey.KEY_LEFT); }); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("RIGHT"), function ():void{ KeyPressed(MenuKey.KEY_RIGHT); }); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("ENTER"), function ():void{ KeyPressed(MenuKey.KEY_ENTER); }); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("SPACE"), function ():void{ KeyPressed(MenuKey.KEY_ENTER); }); _Handler_Keyboard.AddHandler(_Handler_Keyboard.GetKeyCode("BACKSPACE"), function ():void{ KeyPressed(MenuKey.KEY_BACKSPACE); }); _Handler_Keyboard.AddHandler(27, function ():void{ KeyPressed(MenuKey.KEY_BACKSPACE); }); } public function StartChallengeGame():void{ var _local1:int; var _local2:Array; var _local3:int; var _local4:PlayerSetupData; var _local5:int; var _local6:int; var _local7:int; var _local8:NewGameData; _local1 = (_menu_history[3].SelectedChallenge - 1); _local2 = Challenges.CHALLENGE[(_menu_history[0].Players - 1)][_local1]; _local3 = (_local2.length - 1); _local4 = new PlayerSetupData(); _local4.ot = _Handler_Output; _local4.keys = _Handler_Options.GetPlayerKeys(); _local4.totalPlayers = (_menu_history[0].Players + _local3); _local4.ai = new Array(1, 0, 0, 0, 0, 0, 0, 0); _local4.characters = new Array(_menu_history[2].PlayerPlateOne.Character, 0, 0, 0, 0, 0, 0, 0); _local4.teams = new Array(_menu_history[2].PlayerPlateOne.Team, 0, 0, 0, 0, 0, 0, 0); if (_menu_history[0].Players == 2){ _local4.ai[1] = 2; _local4.characters[1] = _menu_history[2].PlayerPlateTwo.Character; _local4.teams[1] = _menu_history[2].PlayerPlateTwo.Team; }; _local4.aiDifficulty = new Array(0, 0, 0, 0, 0, 0, 0, 0); _local5 = 1; _local6 = _menu_history[0].Players; while (_local6 < _local4.totalPlayers) { _local4.characters[_local6] = 0; _local4.teams[_local6] = 2; _local4.aiDifficulty[_local6] = _local2[_local5]; _local5++; _local6++; }; if (_local1 == 11){ _local4.characters[_menu_history[0].Players] = PlayerCharacter.FUNNYMAN; }; _local7 = 0; while (_local7 < _local4.characters.length) { if (_local4.characters[_local7] == 0){ _local4.characters[_local7] = GetRndChar(); }; _local7++; }; _local8 = new NewGameData(); _local8.lvl = _local2[0]; _local8.pSetupData = _local4; _local8.gamePosX = 0; if (_local4.totalPlayers > 4){ _local8.gameScale = 1; _local8.gamePosY = 75; } else { _local8.gameScale = 1.05; _local8.gamePosY = (75 / 2); }; _local8.challengeNr = _local1; _local8.isMenuDemo = false; _local8.isTutorial = false; _local8.showTips = true; _local8.newScore = true; _local8.gameMode = 5; _Handler_GameMain.StartNewGame(_local8); } private function StartChallenge():void{ _stage.removeChild(_menu_overlay); _Handler_Keyboard.Deconstruct(); _Handler_GameMain.Stop(); StartChallengeGame(); } private function OpenInstructions():void{ var targetURL:URLRequest; try { targetURL = new URLRequest("http://mythologicinteractive.com/?page_id=21#instructions"); navigateToURL(targetURL, "_blank"); } catch(e:Error) { }; } private function CheckNextMenu():void{ var _local1:String; var _local2:int; var _local3:int; var _local4:int; _local1 = _curr_menu.GetChoice(); if (_local1 != ""){ _lastChoise = _local1; _menu_history.push(_curr_menu); switch (_local1){ case "mode_selection": _Handler_Sounds.PlayMightySound("ACCEPT"); _curr_menu = new mode_selection(_menu_overlay.mode_selection, _Handler_Sounds); _curr_menu.Show(); break; case "vs_mode": _menu_history[0].Hide(); _menu_history[1].Hide(); _Handler_Sounds.PlayMightySound("ACCEPT"); _curr_menu = new vs_player_setup(MovieClip(_menu_overlay.getChildByName((("vs_" + _menu_history[0].Players) + "p_setup"))), _Handler_Sounds, _menu_history[0].Players, 0); _curr_menu.Show(); break; case "stage_mode": _menu_history[0].Hide(); _menu_history[1].Hide(); _Handler_Sounds.PlayMightySound("ACCEPT"); _curr_menu = new vs_player_setup(MovieClip(_menu_overlay.getChildByName((("vs_" + _menu_history[0].Players) + "p_setup"))), _Handler_Sounds, _menu_history[0].Players, 1); _curr_menu.Show(); break; case "challenge_selection": _Handler_Sounds.PlayMightySound("ACCEPT"); _curr_menu = new challenge_selection(MovieClip(_menu_overlay.getChildByName("challenge_selection")), _Handler_Sounds, _Handler_Keyboard, _menu_history[0].Players); _curr_menu.Show(); break; case "confirm_delete": _Handler_Sounds.PlayMightySound("ACCEPT"); _curr_menu = new confirm_delete(MovieClip(_menu_overlay.getChildByName("confirm_delete")), _Handler_Sounds); _curr_menu.Show(); break; case "delete_progress": _Handler_Sounds.PlayMightySound("CANCEL"); DeleteProgress(); KeyPressed(MenuKey.KEY_BACKSPACE); KeyPressed(MenuKey.KEY_BACKSPACE); _lastChoise = ""; break; case "not_delete_progress": _Handler_Sounds.PlayMightySound("CANCEL"); KeyPressed(MenuKey.KEY_BACKSPACE); KeyPressed(MenuKey.KEY_BACKSPACE); _lastChoise = ""; break; case "no_bots": _Handler_Sounds.PlayMightySound("ACCEPT"); _local2 = 0; if (_menu_history[0].Players == 1){ _local2 = 1; } else { if ((((_menu_history[2].PlayerPlateOne.Team == _menu_history[2].PlayerPlateTwo.Team)) && (!((_menu_history[2].PlayerPlateOne.Team == 0))))){ _local2 = 1; }; }; _local3 = (8 - _menu_history[0].Players); _curr_menu = new no_bots(MovieClip(_menu_overlay.getChildByName("no_bots")), _Handler_Sounds, _local2, _local3); _curr_menu.Show(); break; case "prepare_bots": _local4 = 0; if (_menu_history[0].Players == 1){ _local4 = _menu_history[2].PlayerPlateOne.Team; } else { if (_menu_history[2].PlayerPlateOne.Team == _menu_history[2].PlayerPlateTwo.Team){ _local4 = _menu_history[2].PlayerPlateOne.Team; }; }; if (_menu_history[0].Players == 1){ _curr_menu = new bot_setup(MovieClip(_menu_overlay.getChildByName("bot_7_setup")), _Handler_Sounds, _menu_history[3].NoBots, _local4); } else { _curr_menu = new bot_setup(MovieClip(_menu_overlay.getChildByName("bot_6_setup")), _Handler_Sounds, _menu_history[3].NoBots, _local4); }; _curr_menu.Show(); if (_menu_history[3].NoBots == 0){ KeyPressed(MenuKey.KEY_ENTER); } else { _Handler_Sounds.PlayMightySound("ACCEPT"); }; break; case "map_selection": _Handler_Sounds.PlayMightySound("ACCEPT"); _curr_menu = new map_selection(MovieClip(_menu_overlay.getChildByName("map_selection")), _Handler_Sounds); _curr_menu.Show(); break; case "reset": while (_menu_history.length > 2) { KeyPressed(MenuKey.KEY_BACKSPACE); }; _Handler_Sounds.PlayMightySound("CANCEL"); _lastChoise = ""; break; case "fight": UserInpuOver(); _menu_history.splice((_menu_history.length - 1), 1); break; case "tutorial": StartTutorial(); _menu_history.splice((_menu_history.length - 1), 1); OpenInstructions(); break; case "start_challenge": StartChallenge(); _menu_history.splice((_menu_history.length - 1), 1); break; case "set_up": _Handler_Sounds.PlayMightySound("ACCEPT"); _curr_menu = new set_up(MovieClip(_menu_overlay.getChildByName("set_up")), _Handler_Sounds, _Handler_Keyboard, _Handler_Options); _curr_menu.Show(); break; case "set_up_main": _Handler_Sounds.PlayMightySound("ACCEPT"); _curr_menu = new set_up_main(MovieClip(_menu_overlay.getChildByName("set_up_main")), _Handler_Sounds, _Handler_Keyboard, _Handler_Options); _curr_menu.Show(); break; }; }; } } }//package Code.Handler
Section 154
//Options (Code.Handler.Options) package Code.Handler { import flash.events.*; import flash.net.*; import flash.display.*; import flash.ui.*; public class Options extends MovieClip { private var _Handler_Output:OutputTrace; private var _lastQualityLvl:String;// = "" private var _Handler_Camera:Cam; private var _effectLvl:int;// = 3 private var _playerDefaultKeys:Array; private var _Handler_Keyboard:InputKeyboard; private var _totalEffects:int; private var _stage; public function Options(_arg1, _arg2:OutputTrace){ _effectLvl = 3; _totalEffects = (10 + (3 * 70)); _lastQualityLvl = ""; super(); _stage = _arg1; _Handler_Output = _arg2; _Handler_Keyboard = new InputKeyboard(_stage); _Handler_Keyboard.AddHandler(116, _Handler_Output.Show); _Handler_Keyboard.AddHandler(117, _Handler_Output.Hide); _Handler_Keyboard.AddHandler(123, ToggleFullscreen); _stage.quality = "HIGH"; _stage.scaleMode = "noScale"; _stage.addEventListener(Event.RESIZE, OnStageResize); _playerDefaultKeys = new Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); SetDefaultP1Keys(); SetDefaultP2Keys(); LoadData(); _Handler_Output.Trace("Options Created"); } public function linkClick(_arg1:ContextMenuEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://mythologicinteractive.com/"); navigateToURL(_local2, "_blank"); } public function set PlayerKeys(_arg1:Array):void{ _playerDefaultKeys = _arg1; } public function GetEffectLevel():int{ return (_effectLvl); } public function ToggleEffectLevel(_arg1:int=-1):void{ _effectLvl = (_effectLvl + _arg1); if (_effectLvl < 1){ _effectLvl = 4; }; if (_effectLvl > 4){ _effectLvl = 1; }; _totalEffects = (10 + (_effectLvl * 70)); _Handler_Output.Trace(("Effect Level: " + _effectLvl)); } public function GetPlayerKeys():Array{ return (_playerDefaultKeys); } public function LinkToCam(_arg1:Cam):void{ _Handler_Camera = _arg1; } public function SetDefaultP2Keys():void{ _playerDefaultKeys[1][0] = _Handler_Keyboard.GetKeyCode("W"); _playerDefaultKeys[1][1] = _Handler_Keyboard.GetKeyCode("S"); _playerDefaultKeys[1][2] = _Handler_Keyboard.GetKeyCode("A"); _playerDefaultKeys[1][3] = _Handler_Keyboard.GetKeyCode("D"); _playerDefaultKeys[1][4] = _Handler_Keyboard.GetKeyCode("1"); _playerDefaultKeys[1][5] = _Handler_Keyboard.GetKeyCode("2"); _playerDefaultKeys[1][6] = _Handler_Keyboard.GetKeyCode("3"); _playerDefaultKeys[1][7] = _Handler_Keyboard.GetKeyCode("4"); _playerDefaultKeys[1][8] = _Handler_Keyboard.GetKeyCode("W"); _playerDefaultKeys[1][9] = _Handler_Keyboard.GetKeyCode("S"); _playerDefaultKeys[1][10] = 0; } public function ToggleFullscreen():void{ if (_stage.displayState == StageDisplayState.FULL_SCREEN){ ExitFullscreen(); } else { EnterFullscreen(); }; } public function GetStageQuality():String{ return (_stage.quality); } public function GetTotalEffects():int{ return (_totalEffects); } public function get PlayerKeys():Array{ return (_playerDefaultKeys); } public function GetEffectQuality():String{ switch (_effectLvl){ case 1: return ("LOW"); case 2: return ("MEDIUM"); case 3: return ("HIGH"); case 4: return ("BEST"); }; return ("LOW"); } public function ExitFullscreen():void{ _Handler_Output.Trace("Normal Mode"); _stage.displayState = StageDisplayState.NORMAL; } public function ToggleGraphicQuality(_arg1:int=-1):void{ if (_arg1 < 0){ switch (_stage.quality){ case "HIGH": _stage.quality = "MEDIUM"; break; case "MEDIUM": _stage.quality = "LOW"; break; case "LOW": _stage.quality = "HIGH"; break; }; } else { switch (_stage.quality){ case "HIGH": _stage.quality = "LOW"; break; case "MEDIUM": _stage.quality = "HIGH"; break; case "LOW": _stage.quality = "MEDIUM"; break; }; }; } public function CustomizedContextMenu():ContextMenu{ var _local1:ContextMenu; var _local2:ContextMenuItem; var _local3:ContextMenuItem; _local1 = new ContextMenu(); _local1.hideBuiltInItems(); _local1.builtInItems.quality = true; _local2 = new ContextMenuItem("Superfighters"); _local2.enabled = false; _local3 = new ContextMenuItem("MythoLogic Interactive", true, true, true); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, linkClick); _local1.customItems.push(_local3); return (_local1); } public function EnterFullscreen():void{ _stage.displayState = StageDisplayState.FULL_SCREEN; if (_stage.displayState != StageDisplayState.FULL_SCREEN){ _Handler_Output.Trace("<b>Error</b>: Can't Enter Fullscreen Mode. To allow full-screen, allowFullScreen must be true in the object/embed tags."); } else { _Handler_Output.Trace("Fullscreen Mode"); }; } private function LoadData():void{ var _local1:SharedObject; _local1 = SharedObject.getLocal("superfightersData_v1.0"); if (_local1.data.playerKeys != undefined){ _playerDefaultKeys = _local1.data.playerKeys; }; if (_local1.data.graphicQuality != undefined){ _stage.quality = _local1.data.graphicQuality; }; if (_local1.data.effectLevel != undefined){ _effectLvl = _local1.data.effectLevel; }; } private function OnStageResize(_arg1:Event):void{ _Handler_Camera.SetScreenResulotion(_stage.stageWidth, _stage.stageHeight); } public function SetDefaultP1Keys():void{ _playerDefaultKeys[0][0] = _Handler_Keyboard.GetKeyCode("UP"); _playerDefaultKeys[0][1] = _Handler_Keyboard.GetKeyCode("DOWN"); _playerDefaultKeys[0][2] = _Handler_Keyboard.GetKeyCode("LEFT"); _playerDefaultKeys[0][3] = _Handler_Keyboard.GetKeyCode("RIGHT"); _playerDefaultKeys[0][4] = _Handler_Keyboard.GetKeyCode("N"); _playerDefaultKeys[0][5] = _Handler_Keyboard.GetKeyCode("M"); _playerDefaultKeys[0][6] = 188; _playerDefaultKeys[0][7] = 190; _playerDefaultKeys[0][8] = _Handler_Keyboard.GetKeyCode("UP"); _playerDefaultKeys[0][9] = _Handler_Keyboard.GetKeyCode("DOWN"); _playerDefaultKeys[0][10] = 0; } public function Update():void{ if (_stage.quality != _lastQualityLvl){ switch (_stage.quality){ case "HIGH": _effectLvl = 3; break; case "MEDIUM": _effectLvl = 2; break; case "LOW": _effectLvl = 1; break; case "BEST": _effectLvl = 4; break; default: _effectLvl = 0; break; }; _lastQualityLvl = _stage.quality; }; } public function SaveData():void{ var _local1:SharedObject; _local1 = SharedObject.getLocal("superfightersData_v1.0"); _local1.data.playerKeys = _playerDefaultKeys; _local1.data.graphicQuality = _stage.quality; _local1.data.effectLevel = _effectLvl; _local1.flush(); } } }//package Code.Handler
Section 155
//OutputTrace (Code.Handler.OutputTrace) package Code.Handler { import flash.text.*; import flash.display.*; public class OutputTrace extends MovieClip { private var _trace_txt:TextField; private var _message_string:String; public function OutputTrace(_arg1){ _message_string = new String(""); super(); Clear(); Trace("OutputTrace Created"); Hide(); } public function Trace(_arg1:String):void{ } public function Show():void{ Trace("Showing Output"); } public function Clear():void{ var _local1:*; _message_string = ""; _local1 = 0; while (_local1 < 39) { _message_string = (_message_string + "<br>"); _local1++; }; } public function Hide():void{ Trace("Hiding Output"); } public function Selectable(_arg1:Boolean):void{ Trace(("Output Selectable set to " + _arg1)); } } }//package Code.Handler
Section 156
//PathGrid (Code.Handler.PathGrid) package Code.Handler { import Code.Box2D.Dynamics.*; import flash.utils.*; import flash.display.*; import Code.Data.*; import flash.geom.*; public class PathGrid { private var _seekBalance:Number;// = 4 private var _visitedNodes:Array; private var _Handler_Fires:Fires; private var _analyzeGridTimer:Number; private var _ladderBinds:Array; private var _sprintJumpBinds:Array; private var _nodes:Array; private var m_world:b2World; private var _diveBinds:Array; private var _jumpBinds:Array; private var _binds:Array; private var _parentalNodes:Array; private var _debug_mc:MovieClip; private var _players:Array; public function PathGrid():void{ _seekBalance = 4; super(); _nodes = new Array(); _binds = new Array(); _debug_mc = new MovieClip(); _visitedNodes = new Array(); _parentalNodes = new Array(); _analyzeGridTimer = setInterval(function (){ clearInterval(_analyzeGridTimer); _analyzeGridTimer = setInterval(AnalyzeGrid, 500); }, 230); } public function get Nodes():Array{ return (_nodes); } public function GenerateGraphic():void{ var _local1:int; _debug_mc.graphics.clear(); _debug_mc.graphics.lineStyle(2, 0xFFFFFF, 0.2); _local1 = 0; while (_local1 < _nodes.length) { _debug_mc.graphics.drawCircle(_nodes[_local1].PosX, _nodes[_local1].PosY, 4); _local1++; }; _local1 = 0; while (_local1 < _binds.length) { _debug_mc.graphics.moveTo(_binds[_local1].SourceNode.PosX, _binds[_local1].SourceNode.PosY); _debug_mc.graphics.lineTo(_binds[_local1].TargetNode.PosX, _binds[_local1].TargetNode.PosY); _local1++; }; } public function UpdatePathGrid():void{ var _local1:int; _local1 = 0; while (_local1 < _parentalNodes.length) { _parentalNodes[_local1].CalculateParentLocation(); _local1++; }; } public function Stop():void{ clearInterval(_analyzeGridTimer); } public function AddNode(_arg1:PathNode):void{ _nodes.push(_arg1); _nodes[(_nodes.length - 1)].ListIndex = (_nodes.length - 1); _visitedNodes.push(new PathWebNode()); } public function set Nodes(_arg1:Array):void{ _nodes = _arg1; } public function GetNodeAt(_arg1:Number, _arg2:Number, _arg3:Number=200):PathNode{ var _local4:Number; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; _local4 = _arg3; _local5 = -1; _local9 = 0; while (_local9 < _nodes.length) { _local7 = (_nodes[_local9].PosY - _arg2); if (_arg2 < (_nodes[_local9].PosY + 20)){ _local6 = (_nodes[_local9].PosX - _arg1); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); if (_local8 < _local4){ _local5 = _local9; _local4 = _local8; }; }; _local9++; }; if (_local5 == -1){ return (null); }; return (_nodes[_local5]); } public function AnalyzeGrid():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Number; var _local5:int; var _local6:Number; var _local7:Number; _local1 = 0; while (_local1 < _ladderBinds.length) { _ladderBinds[_local1][0].Blocked = false; _local2 = 0; while (_local2 <= 24) { if (m_world.GetDynamicBodyAt((_ladderBinds[_local1][1].x - 4), (_ladderBinds[_local1][1].y + _local2), false) != null){ _ladderBinds[_local1][0].Blocked = true; _local2 = 99; } else { if (m_world.GetDynamicBodyAt((_ladderBinds[_local1][1].x + 4), (_ladderBinds[_local1][1].y + _local2), false) != null){ _ladderBinds[_local1][0].Blocked = true; _local2 = 99; }; }; _local2 = (_local2 + 8); }; _local3 = 0; while (_local3 < _players.length) { if (!(_players[_local3].Bot)){ if (_players[_local3].State.HP > 0){ if (_players[_local3].PosY() < (_ladderBinds[_local1][1].y + 40)){ _local4 = Math.pow((_ladderBinds[_local1][1].x - _players[_local3].PosX()), 2); if (_local4 < 4900){ _ladderBinds[_local1][0].Blocked = true; }; }; }; }; _local3++; }; _local1++; }; _local1 = 0; while (_local1 < _jumpBinds.length) { _jumpBinds[_local1].Blocked = false; if (JumpNodeBlocked(_jumpBinds[_local1].SourceNode, _jumpBinds[_local1].TargetNode)){ _jumpBinds[_local1].Blocked = true; }; _local1++; }; _local1 = 0; while (_local1 < _diveBinds.length) { _diveBinds[_local1].Blocked = false; if (NodeBlocked(_diveBinds[_local1].SourceNode)){ _diveBinds[_local1].Blocked = true; }; _local1++; }; _local1 = 0; while (_local1 < _sprintJumpBinds.length) { _sprintJumpBinds[_local1].Blocked = false; if (JumpNodeBlocked(_sprintJumpBinds[_local1].SourceNode, _sprintJumpBinds[_local1].TargetNode)){ _sprintJumpBinds[_local1].Blocked = true; } else { if (NodeBlocked(_sprintJumpBinds[_local1].SourceNode)){ _sprintJumpBinds[_local1].Blocked = true; }; }; _local1++; }; _local1 = 0; while (_local1 < _nodes.length) { if (_Handler_Fires.PlayerPosInFire(_nodes[_local1].PosX, _nodes[_local1].PosY)){ _nodes[_local1].InFire = true; } else { _nodes[_local1].InFire = false; }; _nodes[_local1].IsHazard = false; _local1++; }; _local1 = 0; while (_local1 < m_world.HazardsList.length) { if (m_world.HazardsList[_local1].GetUserData().objectData.IsHazard){ _local5 = 0; while (_local5 < _nodes.length) { _local6 = ((m_world.HazardsList[_local1].GetPosition().x * 30) - _nodes[_local5].PosX); if (Math.abs(_local6) <= 40){ _local7 = ((m_world.HazardsList[_local1].GetPosition().y * 30) - _nodes[_local5].PosY); if (Math.abs(_local7) <= 40){ _nodes[_local5].IsHazard = true; }; }; _local5++; }; }; _local1++; }; } public function get DebugGraphic():MovieClip{ return (_debug_mc); } public function get Binds():Array{ return (_binds); } public function LinkPlayers(_arg1:Array):void{ _players = _arg1; } private function ShortenPath(_arg1:PathNode, _arg2:Number, _arg3:PathNode=null):void{ var _local4:PathNode; var _local5:int; var _local6:PathBind; var _local7:Number; if (_arg3 != null){ _visitedNodes[_arg1.ListIndex].SourceNode = _arg3; }; _visitedNodes[_arg1.ListIndex].Distance = (_visitedNodes[_arg1.ListIndex].Distance - _arg2); _local4 = _arg1; _local5 = 0; while (_local5 < _arg1.Binds.length) { _local6 = _local4.Binds[_local5]; if (_visitedNodes[_local6.TargetNode.ListIndex].SourceNode == _local6.SourceNode){ ShortenPath(_local6.TargetNode, _arg2); } else { if (_visitedNodes[_local6.TargetNode.ListIndex].SourceNode != null){ _local7 = (_visitedNodes[_local4.ListIndex].Distance + _local6.Distance); if (_local7 < _visitedNodes[_local6.TargetNode.ListIndex].Distance){ ShortenPath(_local6.TargetNode, (_visitedNodes[_local6.TargetNode.ListIndex].Distance - _local7), _local4); }; }; }; _local5++; }; } public function GetNode(_arg1:String):PathNode{ var _local2:int; _arg1 = _arg1.toUpperCase(); _local2 = (_nodes.length - 1); while (_local2 > 0) { if (_nodes[_local2].ID == _arg1){ return (_nodes[_local2]); }; _local2--; }; return (null); } public function JumpNodeBlocked(_arg1:PathNode, _arg2:PathNode):Boolean{ var _local3:b2Body; var _local4:int; var _local5:int; if (Math.abs((_arg1.PosX - _arg2.PosX)) < 25){ _local4 = -3; while (_local4 <= 3) { _local5 = -3; while (_local5 <= 3) { _local3 = m_world.GetDynamicBodyAt((_arg2.PosX + _local4), (_arg2.PosY + _local5), false); if (_local3 != null){ return (true); }; _local5 = (_local5 + 6); }; _local4 = (_local4 + 6); }; } else { return (NodeBlocked(_arg2)); }; return (false); } public function AddBind(_arg1:PathBind):void{ _nodes[_arg1.SourceNode.ListIndex].Binds.push(_arg1); _binds.push(_arg1); } public function UpdateSpecials():void{ var _local1:int; var _local2:Number; var _local3:Number; _parentalNodes = new Array(); _local1 = 0; while (_local1 < _nodes.length) { _nodes[_local1].UpdateIsEndNode(); if (_nodes[_local1].ParentBody != null){ _parentalNodes.push(_nodes[_local1]); }; _local1++; }; _ladderBinds = new Array(); _jumpBinds = new Array(); _sprintJumpBinds = new Array(); _diveBinds = new Array(); _local1 = 0; while (_local1 < _binds.length) { if (_binds[_local1].MovementType == PathBind.LADDER){ if (_binds[_local1].SourceNode.PosY < _binds[_local1].TargetNode.PosY){ _local2 = _binds[_local1].TargetNode.PosX; _local3 = _binds[_local1].SourceNode.PosY; } else { _local2 = _binds[_local1].SourceNode.PosX; _local3 = _binds[_local1].TargetNode.PosY; }; _ladderBinds.push([_binds[_local1], new Point(_local2, _local3)]); } else { if (_binds[_local1].MovementType == PathBind.SPRINTJUMP){ _sprintJumpBinds.push(_binds[_local1]); } else { if (_binds[_local1].MovementType == PathBind.JUMP){ _jumpBinds.push(_binds[_local1]); } else { if (_binds[_local1].MovementType == PathBind.DIVE){ _diveBinds.push(_binds[_local1]); }; }; }; }; _local1++; }; } public function NodeBlocked(_arg1:PathNode):Boolean{ var _local2:b2Body; var _local3:int; var _local4:int; _local3 = -3; while (_local3 <= 3) { _local4 = -3; while (_local4 <= 3) { _local2 = m_world.GetDynamicBodyAt((_arg1.PosX + _local3), (_arg1.PosY + _local4), false); if (_local2 != null){ if (((!(_local2.GetUserData().objectData.IsGlass)) && (!(_local2.GetUserData().objectData.Kickable)))){ return (true); }; }; _local4 = (_local4 + 6); }; _local3 = (_local3 + 6); }; return (false); } public function set Binds(_arg1:Array):void{ _binds = _arg1; } public function RemoveNodes(_arg1:String):void{ var _local2:int; var _local3:int; _arg1 = _arg1.toUpperCase(); _local2 = (_nodes.length - 1); while (_local2 > 0) { if (_nodes[_local2].ID == _arg1){ _local3 = (_binds.length - 1); while (_local3 > 0) { if ((((_binds[_local3].SourceNode == _nodes[_local2])) || ((_binds[_local3].TargetNode == _nodes[_local2])))){ _binds[_local3].SourceNode.RemoveBind(_binds[_local3]); _binds[_local3].TargetNode.RemoveBind(_binds[_local3]); _binds.splice(_local3, 1); }; _local3--; }; _nodes.splice(_local2, 1); }; _local2--; }; } public function UpdateHandlers(_arg1:Fires, _arg2:b2World):void{ _Handler_Fires = _arg1; m_world = _arg2; } public function GetPath(_arg1:PathNode, _arg2:PathNode, _arg3:Boolean=false):Array{ var _local4:Array; var _local5:int; var _local6:Boolean; var _local7:Array; var _local8:Number; var _local9:PathNode; var _local10:int; var _local11:PathBind; var _local12:Number; var _local13:PathNode; var _local14:int; _local4 = new Array(); _local5 = 0; while (_local5 < _visitedNodes.length) { _visitedNodes[_local5].Clear(); _local5++; }; if (_arg1 == null){ return (_local4); }; _local6 = false; if (((_arg1.Avoid) && (!(_arg3)))){ _local6 = true; } else { if (_arg2 == null){ return (_local4); }; if (_arg1 == _arg2){ return (_local4); }; }; _local7 = new Array(); _local7.push(_arg1); _visitedNodes[_arg1.ListIndex].Distance = 0; _local8 = 0; while (true) { _local8 = (_local8 + _seekBalance); _seekBalance++; _local5 = (_local7.length - 1); while (_local5 >= 0) { _local9 = _local7[_local5]; if (_visitedNodes[_local9.ListIndex].Distance <= _local8){ _seekBalance--; if (_seekBalance < 1){ _seekBalance = 1; }; _local10 = 0; while (_local10 < _local9.Binds.length) { _local11 = _local9.Binds[_local10]; if (!(_local11.Blocked)){ _local12 = (_visitedNodes[_local9.ListIndex].Distance + _local11.Distance); if (_local12 < _visitedNodes[_local11.TargetNode.ListIndex].Distance){ if (_visitedNodes[_local11.TargetNode.ListIndex].SourceNode != null){ ShortenPath(_local11.TargetNode, (_visitedNodes[_local11.TargetNode.ListIndex].Distance - _local12), _local9); } else { _visitedNodes[_local11.TargetNode.ListIndex].SourceNode = _local9; _visitedNodes[_local11.TargetNode.ListIndex].Distance = _local12; if (((_local11.TargetNode.IsEndNode) && ((((_local11.TargetNode == _arg2)) || (((_local6) && (!(_local11.TargetNode.Avoid)))))))){ _local4.push(new PathResultNode(_local11.TargetNode)); _local13 = _visitedNodes[_local11.TargetNode.ListIndex].SourceNode; while (_local13 != null) { _local4.push(new PathResultNode(_local13)); _local13 = _visitedNodes[_local13.ListIndex].SourceNode; }; _local14 = 0; while (_local14 < _local4.length) { if ((_local14 + 1) < _local4.length){ _local4[_local14].PrevBind = _local4[(_local14 + 1)].Node.GetBindTo(_local4[_local14].Node); }; if (_local14 > 0){ _local4[_local14].NextBind = _local4[_local14].Node.GetBindTo(_local4[(_local14 - 1)].Node); }; _local14++; }; return (_local4); } else { if (((!(_local11.TargetNode.Avoid)) || (_local6))){ _local7.push(_local11.TargetNode); }; }; }; }; }; _local10++; }; _local7.splice(_local5, 1); if (_local7.length <= 0){ if (_local6){ return (GetPath(_arg1, _arg2, true)); }; return (_local4); }; }; _local5--; }; }; return (_local4); } public function GetConnectedNodes():Array{ var _local1:Array; var _local2:int; _local1 = new Array(); _local2 = 0; while (_local2 < _visitedNodes.length) { if (_visitedNodes[_local2].SourceNode != null){ _local1.push(_visitedNodes[_local2].SourceNode); }; _local2++; }; return (_local1); } } }//package Code.Handler
Section 157
//PlayersKeeper (Code.Handler.PlayersKeeper) package Code.Handler { import flash.geom.*; import flash.display.*; import Code.Data.Players.*; import Code.Box2D.Dynamics.*; public class PlayersKeeper { private var _roundOverTimer:Number;// = 36 private var _roundOver:Boolean;// = false private var gui_holder_mc:MovieClip; private var _Handler_Fires:Fires; private var _Handler_Maps:Maps; private var _Handler_Effects:Effects; private var _characters:Array; private var _Handler_Shake:Shake; private var _cameraUpdateTimer:Number;// = 12 private var _Handler_Camera:Cam; private var _cameraBounds:Array; private var _playerSetupData:PlayerSetupData; private var _RecalculateCamArea:Function; private var _MapArea:Rectangle; private var _lastCoveredPosition:Point; private var _Handler_ProjectilesUpdater:ProjectilesUpdater; private var _Handler_Sounds:Sounds; private var m_world:b2World; private var _game_mc:MovieClip; private var plrData:PlayersKeeperData; private var _playerSpawnPositions:Array; private var _players_left:Array; private var _Handler_Slowmo:Slowmo; private var _solo_nr_winner:int;// = -1 private var _Handler_Keyboard:InputKeyboard; private var _team_winner:int;// = -1 private var _pathGrid:PathGrid; private var _players:Array; private var _Handler_Output:OutputTrace; private var _playersInitialized:Boolean;// = false private var _stage; public function PlayersKeeper(_arg1:PlayersKeeperData):void{ var _local2:int; var _local3:int; var _local4:int; _cameraUpdateTimer = 12; _roundOverTimer = (24 * 1.5); _players = new Array(); _lastCoveredPosition = new Point(0, 0); _roundOver = false; _team_winner = -1; _solo_nr_winner = -1; _playersInitialized = false; super(); plrData = _arg1; _stage = plrData.stg; m_world = plrData.m_world; _game_mc = plrData.game_mc; _playerSetupData = plrData.pSetupData; _pathGrid = plrData.pathGrid; _pathGrid.LinkPlayers(_players); gui_holder_mc = MovieClip(_game_mc.getChildByName("GUI_HOLDER")); gui_holder_mc.player_1.visible = false; gui_holder_mc.player_2.visible = false; gui_holder_mc.com_no_players.visible = false; gui_holder_mc.com_0.visible = false; gui_holder_mc.com_1.visible = false; gui_holder_mc.com_2.visible = false; gui_holder_mc.com_3.visible = false; gui_holder_mc.com_4.visible = false; gui_holder_mc.com_5.visible = false; gui_holder_mc.com_6.visible = false; _Handler_Output = plrData.Handler_Output; _Handler_Keyboard = plrData.Handler_Keyboard; _Handler_Shake = plrData.Handler_Shake; _Handler_Effects = plrData.Handler_Effects; _Handler_ProjectilesUpdater = plrData.Handler_Projectiles; _Handler_Maps = plrData.Handler_Maps; _Handler_Sounds = plrData.Handler_Sounds; _Handler_Slowmo = plrData.Handler_Slowmo; _playerSpawnPositions = new Array(); _local2 = 0; while (_local2 < _playerSetupData.playerSpawnPositions.length) { _playerSpawnPositions.push(_playerSetupData.playerSpawnPositions[_local2]); _local2++; }; _local3 = -1; _local4 = 0; while (_local4 < _playerSetupData.totalPlayers) { ConstructPlayer(_local4, _playerSetupData.characters[_local4], _playerSetupData.teams[_local4]); if (_playerSetupData.ai[_local4] != 0){ _players[_local4].SetControls(_Handler_Keyboard, _playerSetupData.keys[_local4]); _players[_local4].SetGUI(MovieClip(gui_holder_mc.getChildByName(("player_" + _playerSetupData.ai[_local4])))); _players[_local4].SetSign(_playerSetupData.ai[_local4]); _local3++; } else { _players[_local4].SetAI(_playerSetupData.aiDifficulty[_local4]); if (_local3 == -1){ _players[_local4].SetGUI(MovieClip(gui_holder_mc.getChildByName("com_no_players"))); } else { _players[_local4].SetGUI(MovieClip(gui_holder_mc.getChildByName(("com_" + _local3)))); }; _players[_local4].SetSign(PlayerBars.PLAYER_COM); _local3++; }; _players[_local4].GiveStartItems(plrData.rangedStartWeapon.Copy(), plrData.throwableStartWeapon.Copy()); _players[_local4].GiveDefaultMelee(plrData.defaultMeleeWeapon.Copy()); _players[_local4].UpdateGUI(); _local4++; }; _players_left = new Array(false, false, false, false, false); } public function AddBot(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:int; var _local5:MovieClip; _local4 = _players.length; ConstructPlayer(_local4, _arg1, _arg2); _players[_local4].SetAI(_arg3); _local5 = MovieClip(gui_holder_mc.getChildByName("com_0")); _players[_local4].SetGUI(_local5); _local5.visible = false; _players[_local4].SetSign(PlayerBars.PLAYER_COM); _players[_local4].GiveStartItems(plrData.rangedStartWeapon.Copy(), plrData.throwableStartWeapon.Copy()); _players[_local4].GiveDefaultMelee(plrData.defaultMeleeWeapon.Copy()); _players[_local4].Initialize(new PlayerAreaData(_MapArea)); _players[_local4].LinkToFire(_Handler_Fires); _players[_local4].Activate(); } public function GetCamArea():Rectangle{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:*; var _local8:Rectangle; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:*; var _local13:Number; var _local14:Number; _local5 = 15; _local6 = 30; if (_players.length > 0){ _local12 = 0; for (;_local12 < _players.length;_local12++) { if (!(_players[_local12].CameraIgnore)){ _lastCoveredPosition.x = _players[_local12].PosX(); _lastCoveredPosition.y = _players[_local12].PosY(); continue; }; }; }; _local3 = (_lastCoveredPosition.x - _local5); _local4 = (_lastCoveredPosition.x + _local5); _local1 = (_lastCoveredPosition.y - _local6); _local2 = _lastCoveredPosition.y; _local7 = 0; while (_local7 < _players.length) { if (!(_players[_local7].CameraIgnore)){ if ((_players[_local7].PosX() + _local5) > _local4){ _local4 = (_players[_local7].PosX() + _local5); }; if ((_players[_local7].PosX() - _local5) < _local3){ _local3 = (_players[_local7].PosX() - _local5); }; if (_players[_local7].PosY() > _local2){ _local2 = _players[_local7].PosY(); }; if ((_players[_local7].PosY() - _local6) < _local1){ _local1 = (_players[_local7].PosY() - _local6); }; }; _local7++; }; _local8 = new Rectangle(_local3, _local1, (_local4 - _local3), (_local2 - _local1)); _local9 = (_local8.width / 4); _local10 = (_local8.height / 3); _local11 = 0; if (_local9 < _local10){ _local11 = (_local10 - _local9); _local13 = (_local11 * 4); _local8.x = (_local8.x - (_local13 / 2)); _local8.width = (_local8.width + _local13); } else { if (_local9 > _local10){ _local11 = (_local9 - _local10); _local14 = (_local11 * 3); _local8.y = (_local8.y - (_local14 / 2)); _local8.height = (_local8.height + _local14); }; }; return (_local8); } public function LinkToFire(_arg1:Fires):void{ var _local2:int; _Handler_Fires = _arg1; _local2 = 0; while (_local2 < _players.length) { _players[_local2].LinkToFire(_Handler_Fires); _local2++; }; } public function ActivatePlayers():void{ var _local1:int; _local1 = 0; while (_local1 < _playerSetupData.totalPlayers) { _players[_local1].Activate(); _local1++; }; } public function Stop():void{ var _local1:int; _local1 = 0; while (_local1 < _players.length) { _players[_local1].Stop(); _local1++; }; } private function GetRandomSpawnPosition():Point{ var _local1:Number; var _local2:Point; var _local3:int; if (_playerSpawnPositions.length <= 0){ _local3 = 0; while (_local3 < _playerSetupData.playerSpawnPositions.length) { _playerSpawnPositions.push(_playerSetupData.playerSpawnPositions[_local3]); _local3++; }; }; _local1 = Math.floor((Math.random() * (_playerSpawnPositions.length * 0.99))); _local2 = _playerSpawnPositions[_local1]; _playerSpawnPositions.splice(_local1, 1); return (_local2); } public function get Players():Array{ return (_players); } public function RecalculateCamArea(_arg1:int=8, _arg2:Boolean=false):void{ _Handler_Camera.RecalculateCamArea(_arg1, _arg2); } public function GetTeamWinner():int{ return (_team_winner); } public function LinkToCam(_arg1:Cam):void{ _Handler_Camera = _arg1; } public function SetCamArea(_arg1:Rectangle, _arg2:Rectangle, _arg3:Rectangle, _arg4:Rectangle):void{ _cameraBounds = new Array(); _cameraBounds.push(_arg1); _cameraBounds.push(_arg2); _cameraBounds.push(_arg3); _cameraBounds.push(_arg4); } public function get RoundOver():Boolean{ return (((_roundOver) && ((_roundOverTimer <= 0)))); } public function SetMapArea(_arg1:Rectangle):void{ _MapArea = _arg1; } public function Update(_arg1:Number):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; if (!(_playersInitialized)){ _local7 = 0; while (_local7 < _playerSetupData.totalPlayers) { _players[_local7].Initialize(new PlayerAreaData(_MapArea)); _local7++; }; _Handler_Camera.Initialize(); _playersInitialized = true; }; _local2 = 0; while (_local2 < _players_left.length) { _players_left[_local2] = false; _local2++; }; _local3 = 0; _local4 = -1; _local5 = -1; _local6 = 0; while (_local6 < _players.length) { _players[_local6].Update(_arg1); if (_players[_local6].State.HP > 0){ if (_players[_local6].Team < 0){ _players_left[0] = true; _local3++; _local5 = 0; _local4 = _local6; } else { _local5 = _players[_local6].Team; _players_left[_players[_local6].Team] = true; }; }; _local6++; }; if (!(_roundOver)){ if (_local3 <= 1){ _local8 = 0; _local2 = 0; while (_local2 < _players_left.length) { if (_players_left[_local2] == true){ _local8++; }; _local2++; }; if (_local8 <= 1){ _roundOver = true; }; }; } else { if (_roundOverTimer > 0){ _roundOverTimer = (_roundOverTimer - _arg1); if (_roundOverTimer <= 0){ _team_winner = _local5; _solo_nr_winner = _local4; }; }; }; _cameraUpdateTimer = (_cameraUpdateTimer - 1); if (_cameraUpdateTimer <= 0){ RecalculateCamArea(); _cameraUpdateTimer = 6; }; } public function GetSoloWinner():int{ return (_players[_solo_nr_winner].Team); } private function ConstructPlayer(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:Player; _local4 = new Player(_arg2, _game_mc, m_world, _Handler_Maps, _Handler_Sounds, _Handler_Slowmo, _Handler_Shake, _Handler_Effects, _Handler_ProjectilesUpdater, _Handler_Output, GetRandomSpawnPosition(), _arg3, _arg1, RecalculateCamArea, _players, _pathGrid); _players.push(_local4); } public function GetPlayerNrWinner():int{ return (_solo_nr_winner); } } }//package Code.Handler
Section 158
//Portals (Code.Handler.Portals) package Code.Handler { import Code.Box2D.Dynamics.*; import flash.geom.*; import Code.Box2D.Common.Math.*; public class Portals { private var m_world:b2World; private var tmpVel:b2Vec2; private var _portals:Array; private var _Handler_Output:OutputTrace; private var _bodyInPortals:Array; private var _Handler_Players:PlayersKeeper; public function Portals(_arg1:b2World, _arg2:PlayersKeeper, _arg3:OutputTrace){ m_world = _arg1; _Handler_Players = _arg2; _Handler_Output = _arg3; _portals = new Array(); _bodyInPortals = new Array(); _Handler_Output.Trace("Portals Handler Created"); } public function Update():void{ var _local1:int; var _local2:*; var _local3:Rectangle; var _local4:*; var _local5:*; var _local6:int; var _local7:b2Body; var _local8:int; var _local9:b2Vec2; _local1 = (_bodyInPortals.length - 1); while (_local1 >= 0) { _local7 = _bodyInPortals[_local1]; if (!(_local7.IsSleeping())){ _local3 = new Rectangle((_local7.GetUserData().objectData.ShapeMC.x - (_local7.GetUserData().objectData.ShapeMC.width / 2)), (_local7.GetUserData().objectData.ShapeMC.y - (_local7.GetUserData().objectData.ShapeMC.height / 2)), _local7.GetUserData().objectData.ShapeMC.width, _local7.GetUserData().objectData.ShapeMC.height); _local4 = false; _local5 = 0; while (_local5 < _portals.length) { if (((((((_portals[_local5].PointInsidePortal(_local3.x, _local3.y)) || (_portals[_local5].PointInsidePortal((_local3.x + _local3.width), _local3.y)))) || (_portals[_local5].PointInsidePortal(_local3.x, (_local3.y + _local3.height))))) || (_portals[_local5].PointInsidePortal((_local3.x + _local3.width), (_local3.y + _local3.height))))){ _local4 = true; _local5 = _portals.length; }; _local5++; }; if (!(_local4)){ _local7.GetUserData().objectData.InPortal = false; _bodyInPortals.splice(_local1, 1); }; }; _local1--; }; _local2 = 0; while (_local2 < _portals.length) { _local6 = 0; while (_local6 < _Handler_Players.Players.length) { if (_Handler_Players.Players[_local6].PortalSpeedX > 1){ if (_portals[_local2].PointInsidePortal(_Handler_Players.Players[_local6].PosX(), (_Handler_Players.Players[_local6].PosY() - 6))){ if ((((((_Handler_Players.Players[_local6].PortalDirectionX < 0)) && ((_portals[_local2].TriggerVelocity.x < 0)))) || ((((_Handler_Players.Players[_local6].PortalDirectionX > 0)) && ((_portals[_local2].TriggerVelocity.x > 0)))))){ _local9 = _portals[_local2].GetTargetPositionFromCurrent(_Handler_Players.Players[_local6].PosX(), _Handler_Players.Players[_local6].PosY()); _Handler_Players.Players[_local6].SetCoordinates((_local9.x * 30), (_local9.y * 30), _portals[_local2].InverseX); _Handler_Players.RecalculateCamArea(4, true); _Handler_Output.Trace((("Portal " + _local2) + " Activated")); }; }; }; _local6++; }; _local8 = 0; while (_local8 < m_world.AllDynamicObjectList.length) { _local7 = m_world.AllDynamicObjectList[_local8]; if (_portals[_local2].PointInsidePortal((_local7.GetPosition().x * 30), (_local7.GetPosition().y * 30))){ if (_local7.GetLinearVelocity().Length() > 1){ if ((((((((((_local7.GetLinearVelocity().x < -0.1)) && ((_portals[_local2].TriggerVelocity.x < 0)))) || ((((_local7.GetLinearVelocity().x > 0.1)) && ((_portals[_local2].TriggerVelocity.x > 0)))))) || ((((_local7.GetLinearVelocity().y < 0)) && ((_portals[_local2].TriggerVelocity.y < 0)))))) || ((((_local7.GetLinearVelocity().y > 0)) && ((_portals[_local2].TriggerVelocity.y > 0)))))){ _local7.GetUserData().objectData.ThroughPortal = true; _local7.SetXForm(_portals[_local2].GetTargetPositionFromCurrent((_local7.GetPosition().x * 30), (_local7.GetPosition().y * 30)), _local7.GetAngle()); if (_portals[_local2].InverseX){ tmpVel = _local7.GetLinearVelocity(); tmpVel.x = (tmpVel.x * -1); _local7.SetLinearVelocity(tmpVel); }; if (_portals[_local2].InverseY){ tmpVel = _local7.GetLinearVelocity(); tmpVel.y = (tmpVel.y * -1); _local7.SetLinearVelocity(tmpVel); }; _Handler_Output.Trace((("Portal " + _local2) + " Activated")); if (_local7.GetUserData().objectData.CanGibb){ if (!(_local7.GetUserData().objectData.InPortal)){ _Handler_Output.Trace(((("Object " + _local7.GetUserData().IDNumber) + " is overlapping portal ") + _local2)); _local7.GetUserData().objectData.CollisionMC.x = 9999; _local7.GetUserData().objectData.CollisionMC.y = 9999; _local7.GetUserData().objectData.InPortal = true; _bodyInPortals.push(_local7); }; }; }; }; }; _local8++; }; _local2++; }; } public function SetMapPortals(_arg1:Array):void{ _portals = _arg1; } public function CheckBodyInsidePortal(_arg1:b2Body):void{ var _local2:Rectangle; var _local3:*; if (_arg1.IsDynamic() == true){ if (((_arg1.GetUserData().objectData.DrawHitBox) || (_arg1.GetUserData().objectData.DrawCloudBox))){ _Handler_Output.Trace((("Checking Object " + _arg1.GetUserData().IDNumber) + " for portal overlapping")); _local2 = new Rectangle((_arg1.GetUserData().objectData.ShapeMC.x - (_arg1.GetUserData().objectData.ShapeMC.width / 2)), (_arg1.GetUserData().objectData.ShapeMC.y - (_arg1.GetUserData().objectData.ShapeMC.height / 2)), _arg1.GetUserData().objectData.ShapeMC.width, _arg1.GetUserData().objectData.ShapeMC.height); _local3 = 0; while (_local3 < _portals.length) { if (((((((_portals[_local3].PointInsidePortal(_local2.x, _local2.y)) || (_portals[_local3].PointInsidePortal((_local2.x + _local2.width), _local2.y)))) || (_portals[_local3].PointInsidePortal(_local2.x, (_local2.y + _local2.height))))) || (_portals[_local3].PointInsidePortal((_local2.x + _local2.width), (_local2.y + _local2.height))))){ _Handler_Output.Trace(((("Object " + _arg1.GetUserData().IDNumber) + " is overlapping portal ") + _local3)); _arg1.GetUserData().objectData.CollisionMC.x = 9999; _arg1.GetUserData().objectData.CollisionMC.y = 9999; _arg1.GetUserData().objectData.InPortal = true; _bodyInPortals.push(_arg1); return; }; _local3++; }; }; }; } } }//package Code.Handler
Section 159
//Projectiles (Code.Handler.Projectiles) package Code.Handler { import Code.Data.*; public class Projectiles { private var p_sniper_bullet:ProjectileProperties; private var p_rifle_bullet:ProjectileProperties; private var p_shotgun_bullet:ProjectileProperties; private var d_magnum_bullet:ProjectileData; private var d_rifle_bullet:ProjectileData; private var d_shotgun_bullet:ProjectileData; private var p_magnum_bullet:ProjectileProperties; private var p_uzi_bullet:ProjectileProperties; private var d_pistol_bullet:ProjectileData; private var p_bazooka_rocket:ProjectileProperties; private var _Handler_Output:OutputTrace; private var d_sniper_bullet:ProjectileData; private var d_uzi_bullet:ProjectileData; private var p_pistol_bullet:ProjectileProperties; private var d_bazooka_rocket:ProjectileData; public function Projectiles(_arg1:OutputTrace){ p_pistol_bullet = new ProjectileProperties(); p_shotgun_bullet = new ProjectileProperties(); p_rifle_bullet = new ProjectileProperties(); p_uzi_bullet = new ProjectileProperties(); p_sniper_bullet = new ProjectileProperties(); p_magnum_bullet = new ProjectileProperties(); p_bazooka_rocket = new ProjectileProperties(); super(); _Handler_Output = _arg1; p_bazooka_rocket.Speed = 18; p_bazooka_rocket.Damage = 100; p_bazooka_rocket.CriticalChance = 0; p_bazooka_rocket.CriticalDamage = 0; p_bazooka_rocket.PushbackPower = 0; p_bazooka_rocket.TotalPenetrationDepth = 0; p_bazooka_rocket.SinglePenetrationDepth = 0; p_bazooka_rocket.BulletMC = "BAZOOKA_ROCKET"; p_bazooka_rocket.BulletEffect = ""; p_bazooka_rocket.BulletSlomoEffect = ""; p_bazooka_rocket.Strength = 1; p_bazooka_rocket.ImpulseForce = 3; d_bazooka_rocket = new ProjectileData(p_bazooka_rocket); p_pistol_bullet.Speed = 30; p_pistol_bullet.Damage = 10; p_pistol_bullet.CriticalChance = 5; p_pistol_bullet.CriticalDamage = 15; p_pistol_bullet.PushbackPower = 15; p_pistol_bullet.TotalPenetrationDepth = 12; p_pistol_bullet.SinglePenetrationDepth = 5; p_pistol_bullet.BulletMC = "PISTOL_BULLET"; p_pistol_bullet.BulletEffect = "BULLET_EFFECT_NORMAL"; p_pistol_bullet.BulletSlomoEffect = "BULLET_EFFECT_SLOMO"; p_pistol_bullet.Strength = 5; p_pistol_bullet.ImpulseForce = 0.6; d_pistol_bullet = new ProjectileData(p_pistol_bullet); p_shotgun_bullet.Speed = 30; p_shotgun_bullet.Damage = 6; p_shotgun_bullet.CriticalChance = 0; p_shotgun_bullet.CriticalDamage = 6; p_shotgun_bullet.PushbackPower = 33; p_shotgun_bullet.TotalPenetrationDepth = 12; p_shotgun_bullet.SinglePenetrationDepth = 5; p_shotgun_bullet.BulletMC = "SHOTGUN_BULLET"; p_shotgun_bullet.BulletEffect = "BULLET_EFFECT_NORMAL"; p_shotgun_bullet.BulletSlomoEffect = "BULLET_EFFECT_SLOMO"; p_shotgun_bullet.Strength = 5; p_shotgun_bullet.ImpulseForce = 0.35; d_shotgun_bullet = new ProjectileData(p_shotgun_bullet); p_rifle_bullet.Speed = 35; p_rifle_bullet.Damage = 8; p_rifle_bullet.CriticalChance = 6; p_rifle_bullet.CriticalDamage = 10; p_rifle_bullet.PushbackPower = 20; p_rifle_bullet.TotalPenetrationDepth = 12; p_rifle_bullet.SinglePenetrationDepth = 5; p_rifle_bullet.BulletMC = "RIFLE_BULLET"; p_rifle_bullet.BulletEffect = "BULLET_EFFECT_NORMAL"; p_rifle_bullet.BulletSlomoEffect = "BULLET_EFFECT_SLOMO"; p_rifle_bullet.Strength = 5; p_rifle_bullet.ImpulseForce = 0.45; d_rifle_bullet = new ProjectileData(p_rifle_bullet); p_uzi_bullet.Speed = 30; p_uzi_bullet.Damage = 7; p_uzi_bullet.CriticalChance = 4; p_uzi_bullet.CriticalDamage = 10; p_uzi_bullet.PushbackPower = 10; p_uzi_bullet.TotalPenetrationDepth = 12; p_uzi_bullet.SinglePenetrationDepth = 5; p_uzi_bullet.BulletMC = "UZI_BULLET"; p_uzi_bullet.BulletEffect = "BULLET_EFFECT_NORMAL"; p_uzi_bullet.BulletSlomoEffect = "BULLET_EFFECT_SLOMO"; p_uzi_bullet.Strength = 5; p_uzi_bullet.ImpulseForce = 0.4; d_uzi_bullet = new ProjectileData(p_uzi_bullet); p_magnum_bullet.Speed = 40; p_magnum_bullet.Damage = 25; p_magnum_bullet.CriticalChance = 40; p_magnum_bullet.CriticalDamage = 35; p_magnum_bullet.PushbackPower = 50; p_magnum_bullet.TotalPenetrationDepth = 12; p_magnum_bullet.SinglePenetrationDepth = 5; p_magnum_bullet.BulletMC = "MAGNUM_BULLET"; p_magnum_bullet.BulletEffect = "BULLET_EFFECT_NORMAL"; p_magnum_bullet.BulletSlomoEffect = "BULLET_EFFECT_SLOMO"; p_magnum_bullet.Strength = 15; p_magnum_bullet.ImpulseForce = 1.05; d_magnum_bullet = new ProjectileData(p_magnum_bullet); p_sniper_bullet.Speed = 40; p_sniper_bullet.Damage = 30; p_sniper_bullet.CriticalChance = 75; p_sniper_bullet.CriticalDamage = 60; p_sniper_bullet.PushbackPower = 50; p_sniper_bullet.TotalPenetrationDepth = 12; p_sniper_bullet.SinglePenetrationDepth = 5; p_sniper_bullet.BulletMC = "SNIPER_BULLET"; p_sniper_bullet.BulletEffect = "BULLET_EFFECT_NORMAL"; p_sniper_bullet.BulletSlomoEffect = "BULLET_EFFECT_SLOMO"; p_sniper_bullet.Strength = 30; p_sniper_bullet.ImpulseForce = 1.25; d_sniper_bullet = new ProjectileData(p_sniper_bullet); _Handler_Output.Trace("Projectiles Created"); } public function get Uzi_Bullet():ProjectileData{ return (d_uzi_bullet.Copy()); } public function get Bazooka_Rocket():ProjectileData{ return (d_bazooka_rocket.Copy()); } public function get Pistol_Bullet():ProjectileData{ return (d_pistol_bullet.Copy()); } public function get Sniper_Bullet():ProjectileData{ return (d_sniper_bullet.Copy()); } public function get Rifle_Bullet():ProjectileData{ return (d_rifle_bullet.Copy()); } public function get Shotgun_Bullet():ProjectileData{ return (d_shotgun_bullet.Copy()); } public function get Magnum_Bullet():ProjectileData{ return (d_magnum_bullet.Copy()); } } }//package Code.Handler
Section 160
//ProjectilesUpdater (Code.Handler.ProjectilesUpdater) package Code.Handler { import flash.display.*; import Code.Data.*; import Code.Data.Players.*; import flash.geom.*; import Code.Particles.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; public class ProjectilesUpdater { private var _static_mc:MovieClip; private var _static_ladder_hitbox_mc:MovieClip; private var _Handler_Effects:Effects; private var _Handler_Camera:Cam; private var _rockets_list:Array; private var _dynamic_mc:MovieClip; private var _Handler_Projectiles:Projectiles; private var _Handler_Sounds:Sounds; private var _static_world_hitbox_mc:MovieClip; private var m_world:b2World; private var _Handler_Players:PlayersKeeper; private var _static_objects_hitbox_mc:MovieClip; private var _static_players_hitbox_mc:MovieClip; private var b:b2Body; private var _projectiles_mc:MovieClip; private var _projectiles_list:Array; private var _Handler_Output:OutputTrace; private var _static_objects_cloud_hitbox_mc:MovieClip; private var _Handler_Explosions:Explosions; private var _object_shape_container_mc:MovieClip; private var _static_world_cloud_hitbox_mc:MovieClip; public function NewProjectile(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Player):void{ var _local6:ProjectileData; switch (_arg1.toUpperCase()){ case "PISTOL_BULLET": _local6 = _Handler_Projectiles.Pistol_Bullet; break; case "RIFLE_BULLET": _local6 = _Handler_Projectiles.Rifle_Bullet; break; case "UZI_BULLET": _local6 = _Handler_Projectiles.Uzi_Bullet; break; case "SHOTGUN_BULLET": _local6 = _Handler_Projectiles.Shotgun_Bullet; break; case "MAGNUM_BULLET": _local6 = _Handler_Projectiles.Magnum_Bullet; break; case "SNIPER_BULLET": _local6 = _Handler_Projectiles.Sniper_Bullet; break; default: return; }; _projectiles_list.push(_local6); _local6.Angle = _arg4; _local6.PosX = _arg2; _local6.PosY = _arg3; _local6.Owner = _arg5; _local6.AddPlayerAvoided(_arg5.PlayerNr); _projectiles_mc.addChild(_local6.MC); } private function ProjectileImpactFrameTime(_arg1:Array, _arg2:Player, _arg3:Number, _arg4:Number):Boolean{ var _local5:ProjectileData; var _local6:int; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local6 = (_arg1.length - 1); while (_local6 >= 0) { _local5 = _arg1[_local6]; if (!(_local5.PlayerAvoided(_arg2.PlayerNr))){ _local7 = (_arg2.MidPosX() - _local5.PosX); _local8 = (_arg2.MidPosY() - _local5.PosY); _local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local10 = Math.atan2(_local8, _local7); _local11 = _local5.AngleRad; if ((((_local7 < 0)) && ((_local8 < 0)))){ _local10 = (_local10 + (Math.PI * 2)); }; _local12 = Math.atan((10 / _local9)); if ((((_local11 >= (_local10 - _local12))) && ((_local11 <= (_local10 + _local12))))){ _local13 = (_local5.Properties.Speed * _local5.BulletGameSpeed); _local14 = (_local9 / _local13); if ((((_local14 >= _arg3)) && ((_local14 <= _arg4)))){ return (true); }; }; }; _local6--; }; return (false); } private function CollisionPlayer(_arg1:Point):Boolean{ if (_static_players_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; return (false); } private function CollisionAimObject(_arg1:Point):Boolean{ if (_object_shape_container_mc.hitTestPoint(_arg1.x, _arg1.y, true)){ b = m_world.GetAimSolidAt(_arg1.x, _arg1.y); if (b != null){ return (true); }; }; return (false); } private function CollisionStaticCloud(_arg1:Point):Boolean{ if (((_static_world_cloud_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true)) && (!(_static_objects_cloud_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true))))){ return (true); }; return (false); } public function RocketImpactFrameTime(_arg1:Player, _arg2:Number, _arg3:Number):Boolean{ return (ProjectileImpactFrameTime(_rockets_list, _arg1, _arg2, _arg3)); } public function DeflectBullets(_arg1:Player):void{ var _local2:ProjectileData; var _local3:int; var _local4:Number; var _local5:Number; var _local6:Number; _local3 = (_projectiles_list.length - 1); while (_local3 >= 0) { _local2 = _projectiles_list[_local3]; _local4 = Math.abs((_local2.PosY - _arg1.MidPosY())); if (_local4 < 20){ _local5 = (_local2.PosX - _arg1.MidPosX()); if ((((((_local5 > 0)) && ((_arg1.State.LastDirX == 1)))) || ((((_local5 < 0)) && ((_arg1.State.LastDirX == -1)))))){ if (Math.abs(_local5) <= (_arg1.State.MeleeWeaponRange + ((_local2.BulletGameSpeed * _local2.Properties.Speed) * 0.5))){ _local6 = Math.sqrt((Math.pow(((_arg1.MidPosX() + (_arg1.State.LastDirX * 4)) - _local2.PosX), 2) + Math.pow(_local4, 2))); if (_local6 <= (_arg1.State.MeleeWeaponRange - 2)){ _Handler_Effects.AddEffectAt("BULLET_WHITE_SQUARE", _local2.PosX, _local2.PosY); _local2.Angle = ((-90 + (_arg1.State.LastDirX * 90)) + (80 - (Math.random() * 160))); _local2.ResetPlayersAvoided(); _Handler_Sounds.PlaySound("BULLET_HITMETAL", _arg1.MidPosX(), _arg1.MidPosY()); }; }; }; }; _local3--; }; } public function CalculateAimSquare(_arg1:Point, _arg2:Number, _arg3:int, _arg4:int, _arg5:MovieClip):Point{ var _local6:Point; var _local7:Number; var _local8:Point; var _local9:Boolean; var _local10:Boolean; var _local11:int; _local6 = new Point(_arg1.x, _arg1.y); _local7 = (_arg2 * (Math.PI / 180)); _local8 = new Point((Math.cos(_local7) * 2), (Math.sin(_local7) * 2)); _local9 = false; if (CollisionAimObject(_local6)){ if (b.GetUserData().IDNumber != _arg3){ return (_local6); }; } else { if (((((CollisionPlayer(_local6)) && (!(_arg5.hitTestPoint(_local6.x, _local6.y, true))))) || (OutsideTheWorld(_local6)))){ return (_local6); }; if (CollisionStatic(_local6)){ b = m_world.GetStaticCoverAt(_local6.x, _local6.y); if (b != null){ if (_arg3 == b.GetUserData().IDNumber){ _local9 = true; }; }; if (!(_local9)){ return (_local6); }; }; }; _local10 = false; _local11 = 1; while (_local11 <= _arg4) { _local6.x = (_local6.x + _local8.x); _local6.y = (_local6.y + _local8.y); _local10 = false; if (CollisionAimObject(_local6)){ _local10 = true; }; if (_local10){ if (b.GetUserData().IDNumber != _arg3){ _local8.x = (_local8.x * 0.1); _local8.y = (_local8.y * 0.1); while (true) { _local6.x = (_local6.x - _local8.x); _local6.y = (_local6.y - _local8.y); if (CollisionAimObject(_local6)){ if (b.GetUserData().IDNumber == _arg3){ return (_local6); }; } else { return (_local6); }; }; }; } else { if (((((((CollisionPlayer(_local6)) && (!(_arg5.hitTestPoint(_local6.x, _local6.y, true))))) || (OutsideTheWorld(_local6)))) || (CollisionStatic(_local6)))){ b = m_world.GetStaticCoverAt(_local6.x, _local6.y); _local9 = false; if (b != null){ if (_arg3 == b.GetUserData().IDNumber){ _local9 = true; }; }; if (!(_local9)){ _local8.x = (_local8.x * 0.1); _local8.y = (_local8.y * 0.1); while (true) { _local6.x = (_local6.x - _local8.x); _local6.y = (_local6.y - _local8.y); b = m_world.GetStaticCoverAt(_local6.x, _local6.y); _local9 = false; if (b != null){ if (_arg3 == b.GetUserData().IDNumber){ _local9 = true; }; }; if (((((((!(CollisionPlayer(_local6))) || (_arg5.hitTestPoint(_local6.x, _local6.y, true)))) && (!(OutsideTheWorld(_local6))))) && (((!(CollisionStatic(_local6))) || (_local9))))){ return (_local6); }; }; }; }; }; _local11++; }; return (_local6); } public function CalculateLazer(_arg1:Point, _arg2:Number, _arg3:int, _arg4:MovieClip):Array{ var _local5:Point; var _local6:Array; var _local7:Number; var _local8:Point; var _local9:Boolean; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Point; _local5 = new Point(_arg1.x, _arg1.y); _local6 = new Array(); _local7 = (_arg2 * (Math.PI / 180)); _local8 = new Point((Math.cos(_local7) * 2), (Math.sin(_local7) * 2)); _local9 = false; if (CollisionLaserObject(_local5)){ if (b.GetUserData().IDNumber != _arg3){ _local6.push(_local5); return (_local6); }; } else { if (((((CollisionPlayer(_local5)) && (!(_arg4.hitTestPoint(_local5.x, _local5.y, true))))) || (OutsideTheWorld(_local5)))){ _local6.push(_local5); return (_local6); }; if (CollisionStatic(_local5)){ b = m_world.GetStaticCoverAt(_local5.x, _local5.y); if (b != null){ if (_arg3 == b.GetUserData().IDNumber){ _local9 = true; }; }; if (!(_local9)){ _local6.push(_local5); return (_local6); }; }; }; _local10 = false; _local11 = false; _local12 = false; while (true) { _local5.x = (_local5.x + _local8.x); _local5.y = (_local5.y + _local8.y); _local10 = false; if (!(_local11)){ if (CollisionStaticCloud(_local5)){ _local13 = new Point(_local5.x, _local5.y); _local6.push(new Point(_local13.x, _local13.y)); _local11 = true; }; } else { if (!(CollisionStaticCloud(_local5))){ _local11 = false; }; }; if (CollisionLaserObject(_local5)){ if (b.GetUserData().objectData.LaserTransparent){ if (!(_local12)){ _local12 = true; _local6.push(new Point(_local5.x, _local5.y)); }; } else { _local10 = true; _local12 = false; }; } else { _local12 = false; }; if (_local10){ if (b.GetUserData().IDNumber != _arg3){ if (b.GetUserData().objectData.LaserVisibleOnObject){ _local8.x = (_local8.x * 0.1); _local8.y = (_local8.y * 0.1); while (true) { _local5.x = (_local5.x - _local8.x); _local5.y = (_local5.y - _local8.y); if (CollisionLaserObject(_local5)){ if (b.GetUserData().IDNumber == _arg3){ _local6.push(new Point(_local5.x, _local5.y)); return (_local6); }; } else { _local6.push(new Point(_local5.x, _local5.y)); return (_local6); }; }; } else { return (_local6); }; }; } else { if (((((((CollisionPlayer(_local5)) && (!(_arg4.hitTestPoint(_local5.x, _local5.y, true))))) || (OutsideTheWorld(_local5)))) || (CollisionStatic(_local5)))){ b = m_world.GetStaticCoverAt(_local5.x, _local5.y); _local9 = false; if (b != null){ if (_arg3 == b.GetUserData().IDNumber){ _local9 = true; }; }; if (!(_local9)){ _local8.x = (_local8.x * 0.1); _local8.y = (_local8.y * 0.1); while (true) { _local5.x = (_local5.x - _local8.x); _local5.y = (_local5.y - _local8.y); b = m_world.GetStaticCoverAt(_local5.x, _local5.y); _local9 = false; if (b != null){ if (_arg3 == b.GetUserData().IDNumber){ _local9 = true; }; }; if (((((((!(CollisionPlayer(_local5))) || (_arg4.hitTestPoint(_local5.x, _local5.y, true)))) && (!(OutsideTheWorld(_local5))))) && (((!(CollisionStatic(_local5))) || (_local9))))){ _local6.push(new Point(_local5.x, _local5.y)); return (_local6); }; }; }; }; }; }; _local6.push(_local5); return (_local6); } private function CollisionStatic(_arg1:Point):Boolean{ if (((_static_world_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true)) && (!(_static_objects_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true))))){ return (true); }; return (false); } private function CollisionObjectRocket(_arg1:Point):Boolean{ if (_object_shape_container_mc.hitTestPoint(_arg1.x, _arg1.y, true)){ b = m_world.GetDynamicBodyAt(_arg1.x, _arg1.y, false); if (b != null){ return (true); }; }; return (false); } public function BulletImpactFrameTime(_arg1:Player, _arg2:Number, _arg3:Number):Boolean{ return (ProjectileImpactFrameTime(_projectiles_list, _arg1, _arg2, _arg3)); } private function OutsideTheWorld(_arg1:Point):Boolean{ if ((((((((_arg1.x < _Handler_Camera.MapArea.x)) || ((_arg1.y < _Handler_Camera.MapArea.y)))) || ((_arg1.x > (_Handler_Camera.MapArea.x + _Handler_Camera.MapArea.width))))) || ((_arg1.y > (_Handler_Camera.MapArea.y + _Handler_Camera.MapArea.height))))){ return (true); }; return (false); } public function BuildClass(_arg1:ProjectilesUpdaterData):void{ _Handler_Output = _arg1.Handler_Output; _Handler_Camera = _arg1.Handler_Camera; _Handler_Players = _arg1.Handler_Players; _Handler_Effects = _arg1.Handler_Effects; _Handler_Explosions = _arg1.Handler_Explosions; _Handler_Sounds = _arg1.Handler_Sounds; _Handler_Projectiles = _arg1.Handler_Projectiles; _static_mc = _arg1.static_mc; _object_shape_container_mc = _arg1.object_shape_container_mc; _dynamic_mc = _arg1.dynamic_mc; m_world = _arg1.m_world; _static_world_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_HITBOX")); _static_objects_hitbox_mc = MovieClip(_static_world_hitbox_mc.getChildByName("OBJECTS_HITBOX")); _static_world_cloud_hitbox_mc = MovieClip(_static_mc.getChildByName("WORLD_CLOUD_HITBOX")); _static_objects_cloud_hitbox_mc = MovieClip(_static_world_cloud_hitbox_mc.getChildByName("OBJECTS_CLOUD_HITBOX")); _static_ladder_hitbox_mc = MovieClip(_static_mc.getChildByName("LADDER_HITBOX")); _static_players_hitbox_mc = MovieClip(_static_mc.getChildByName("PLAYERS_HITBOX")); _projectiles_mc = MovieClip(_dynamic_mc.getChildByName("PROJECTILES")); _projectiles_list = new Array(); _rockets_list = new Array(); _Handler_Output.Trace("Projectiles Handler Created"); } private function CollisionLadder(_arg1:Point):Boolean{ if (_static_ladder_hitbox_mc.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; return (false); } public function Update(_arg1:Number):void{ var _local2:ProjectileData; var _local3:Boolean; var _local4:int; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Point; var _local9:int; var _local10:Number; var _local11:Boolean; var _local12:Boolean; var _local13:Boolean; var _local14:int; var _local15:int; var _local16:Array; var _local17:Array; var _local18:Boolean; var _local19:particle_data; var _local20:Number; _local3 = false; _local4 = (_projectiles_list.length - 1); while (_local4 >= 0) { _local2 = _projectiles_list[_local4]; _local5 = (_local2.Properties.Speed * _local2.BulletGameSpeed); _local6 = (((_local2.DirectionX * _local2.Properties.Speed) * _local2.BulletGameSpeed) / Math.ceil(_local5)); _local7 = (((_local2.DirectionY * _local2.Properties.Speed) * _local2.BulletGameSpeed) / Math.ceil(_local5)); _local8 = new Point(); _local9 = 2; _local10 = (Math.sqrt(((_local6 * _local6) + (_local7 * _local7))) * _local9); _local2.UpdateVisuals(_local5); _local11 = false; _local12 = false; _local13 = true; _local14 = 0; while (_local14 < _local5) { _local2.PosX = (_local2.PosX + (_local6 * _local9)); _local2.PosY = (_local2.PosY + (_local7 * _local9)); _local8.x = _local2.PosX; _local8.y = _local2.PosY; if (_local2.AddBulletTrace(_local10)){ _Handler_Effects.AddParticle(new particle_data("bullet_trace_slomo", _local2.PosX, _local2.PosY, new b2Vec2(), _local2.Angle, 0.7)); }; if (CollisionObject(_local8)){ if (_local2.Owner.State.CoverObjectID != b.GetUserData().IDNumber){ if (b.GetUserData().objectData.PlayerCoverLevel <= 0){ b.ApplyImpulse(new b2Vec2((_local2.DirectionX * _local2.Properties.ImpulseForce), (_local2.DirectionY * _local2.Properties.ImpulseForce)), new b2Vec2((_local2.PosX / 30), (_local2.PosY / 30))); }; _Handler_Sounds.PlaySoundAt(b.GetUserData().material.BulletHitSound, _local2.PosX, _local2.PosY); if (((!(b.GetUserData().objectData.Indestructible)) && ((b.GetUserData().objectData.Strength <= _local2.StrengthLeft)))){ _local2.StrengthLeft = (_local2.StrengthLeft - b.GetUserData().objectData.Strength); b.ApplyImpulse(new b2Vec2((_local2.DirectionX * _local2.Properties.ImpulseForce), (_local2.DirectionY * _local2.Properties.ImpulseForce)), new b2Vec2((_local2.PosX / 30), (_local2.PosY / 30))); b.GetUserData().objectData.ForceDestruction(); if (_local2.StrengthLeft <= 0){ _local11 = true; }; } else { b.GetUserData().objectData.Damage_Bullet(_local2.Properties.Damage); _Handler_Effects.AddEffectAt(b.GetUserData().material.BulletHitEffect, _local2.PosX, _local2.PosY); _local11 = true; }; }; } else { if (CollisionPlayer(_local8)){ _local12 = true; _local15 = 0; while (_local15 < _Handler_Players.Players.length) { if (_Handler_Players.Players[_local15].CollisionMC.hitTestPoint(_local8.x, _local8.y, true)){ if (!(_local2.PlayerAvoided(_local15))){ if (_Handler_Players.Players[_local15].BulletWillHit()){ _Handler_Players.Players[_local15].BulletDamage(_local2); _Handler_Sounds.PlaySoundAt("BULLET_HITFLESH", _local2.PosX, _local2.PosY); if (!(_Handler_Players.Players[_local15].State.Burned)){ _Handler_Effects.AddEffectAt("BLOOD", _local2.PosX, _local2.PosY); _local16 = new Array(); _local16.push(0); _local17 = new Array(); _local17.push(1); _Handler_Effects.AddParticle(new particle_data("PARTICLE_BLOOD", _local2.PosX, _local2.PosY, new b2Vec2(_local2.DirectionX, _local2.DirectionY), 0, 1, _local16)); if (Math.random() < 0.5){ _Handler_Effects.AddParticle(new particle_data("PARTICLE_BLOOD", _local2.PosX, _local2.PosY, new b2Vec2(_local2.DirectionX, _local2.DirectionY), 0, 1, _local16)); }; if (Math.random() < 0.5){ _Handler_Effects.AddParticle(new particle_data("PARTICLE_BLOOD", _local2.PosX, _local2.PosY, new b2Vec2(_local2.DirectionX, _local2.DirectionY), 0, 1, _local17)); }; _Handler_Effects.AddParticle(new particle_data("PARTICLE_BLOOD", _local2.PosX, _local2.PosY, new b2Vec2(_local2.DirectionX, _local2.DirectionY), 0, 1, _local17)); } else { _Handler_Effects.AddEffectAt("PLAYER_BURNED_HITDEFAULT", _local2.PosX, _local2.PosY); }; _local11 = true; } else { _local2.AddPlayerAvoided(_local15); }; }; }; _local15++; }; } else { if (((CollisionStatic(_local8)) || (CollisionStaticCloud(_local8)))){ b = m_world.GetStaticCoverAt(_local8.x, _local8.y); _local18 = false; if (b != null){ if (_local2.Owner.State.CoverObjectID == b.GetUserData().IDNumber){ _local18 = true; }; }; if (!(_local18)){ if (CollisionStaticCloud(_local8)){ if (!(_local2.PenetratingCloud)){ b = m_world.GetStaticBodyAt(_local8.x, _local8.y); if (b != null){ _Handler_Sounds.PlaySoundAt(b.GetUserData().material.BulletHitSound, _local2.PosX, _local2.PosY); _Handler_Effects.AddEffectAt(b.GetUserData().material.BulletHitEffect, _local2.PosX, _local2.PosY); }; _local2.PenetratingCloud = true; }; }; if (((!(_local2.PenetratingCloud)) && (!(_local2.Penetrating)))){ b = m_world.GetStaticBodyAt(_local8.x, _local8.y); if (b != null){ _Handler_Sounds.PlaySoundAt(b.GetUserData().material.BulletHitSound, _local2.PosX, _local2.PosY); _Handler_Effects.AddEffectAt(b.GetUserData().material.BulletHitEffect, _local2.PosX, _local2.PosY); }; _local11 = true; }; }; } else { if (OutsideTheWorld(_local8)){ _local11 = true; _local13 = false; } else { if (_local2.PenetratingCloud){ if (!(CollisionStaticCloud(_local8))){ _local2.PenetratingCloud = false; }; } else { if (_local2.Penetrating){ if (!(CollisionStatic(_local8))){ _local2.Penetrating = false; }; }; }; }; }; }; }; if (_local11){ if (_arg1 >= 0.8){ _local19 = new particle_data("projectile_light_trace", _local2.PosX, _local2.PosY); _local19.Rotation = _local2.Angle; _local19.Alpha = (0.9 - (_local5 / 100)); _local20 = (_local14 / _local5); _local19.ScaleX = ((_local20 * _local5) / 10); _Handler_Effects.AddParticle(_local19); }; if (_local13){ _Handler_Effects.AddEffectAt("BULLET_WHITE_SQUARE", _local2.PosX, _local2.PosY); }; _local2.MC.parent.removeChild(_local2.MC); _projectiles_list.splice(_local4, 1); _local14 = _local5; _local11 = false; _local13 = true; }; _local14 = (_local14 + _local9); }; if (!(_local12)){ _local2.ResetPlayersAvoided(); }; _local4--; }; UpdateRockets(_arg1); } public function NewRocket(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Player):void{ var _local6:ProjectileData; _local6 = _Handler_Projectiles.Bazooka_Rocket; _rockets_list.push(_local6); _local6.Angle = _arg4; _local6.PosX = _arg2; _local6.PosY = _arg3; _local6.Owner = _arg5; _local6.AddPlayerAvoided(_arg5.PlayerNr); _projectiles_mc.addChild(_local6.MC); } private function CollisionObject(_arg1:Point):Boolean{ if (_object_shape_container_mc.hitTestPoint(_arg1.x, _arg1.y, true)){ b = m_world.GetBulletSolidAt(_arg1.x, _arg1.y); if (b != null){ return (true); }; }; return (false); } private function UpdateRockets(_arg1:Number):void{ var _local2:ProjectileData; var _local3:int; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Point; var _local8:int; var _local9:Number; var _local10:Boolean; var _local11:Boolean; var _local12:Point; var _local13:Boolean; var _local14:int; var _local15:Boolean; var _local16:int; _local3 = (_rockets_list.length - 1); while (_local3 >= 0) { _local2 = _rockets_list[_local3]; _local4 = (_local2.Properties.Speed * _local2.BulletGameSpeed); _local2.Angle = (_local2.Angle + (((Math.random() * 8) - 4) * _arg1)); _local5 = (((_local2.DirectionX * _local2.Properties.Speed) * _local2.BulletGameSpeed) / Math.ceil(_local4)); _local6 = (((_local2.DirectionY * _local2.Properties.Speed) * _local2.BulletGameSpeed) / Math.ceil(_local4)); if (_local2.PlayerStuck != null){ _local5 = (_local5 * 0.5); _local6 = (_local6 * 0.5); }; _local7 = new Point(); _local8 = 2; _local9 = (Math.sqrt(((_local5 * _local5) + (_local6 * _local6))) * _local8); _local10 = false; _local11 = false; _local12 = new Point(); _local14 = 0; while (_local14 < _local4) { _local12.x = _local2.PosX; _local12.y = _local2.PosY; _local2.PosX = (_local2.PosX + (_local5 * _local8)); _local2.PosY = (_local2.PosY + (_local6 * _local8)); _local7.x = _local2.PosX; _local7.y = _local2.PosY; if (_local2.PlayerStuck != null){ _local13 = _local2.AddBulletTrace(_local9); } else { _local13 = _local2.AddBulletTrace((_local9 * 2)); }; if (_local13){ _Handler_Effects.AddParticle(new particle_data("TRACE_BAZOOKA_ROCKET", (_local2.PosX - (_local2.DirectionX * 4)), (_local2.PosY - (_local2.DirectionY * 4)), new b2Vec2(_local2.DirectionX, _local2.DirectionY), _local2.Angle, 0.7)); if (Math.random() < 0.3){ _Handler_Effects.AddParticle(new particle_data("SMOKE_FIRE", (_local2.PosX - (_local2.DirectionX * 4)), (_local2.PosY - (_local2.DirectionY * 4)), new b2Vec2(_local2.DirectionX, _local2.DirectionY), 0, 0.7)); }; }; if (CollisionObjectRocket(_local7)){ if (_local2.Owner.State.CoverObjectID != b.GetUserData().IDNumber){ b.ApplyImpulse(new b2Vec2((_local2.DirectionX * _local2.Properties.ImpulseForce), (_local2.DirectionY * _local2.Properties.ImpulseForce)), new b2Vec2((_local2.PosX / 30), (_local2.PosY / 30))); if (((!(b.GetUserData().objectData.Indestructible)) && ((b.GetUserData().objectData.Strength <= _local2.StrengthLeft)))){ b.ApplyImpulse(new b2Vec2((_local2.DirectionX * _local2.Properties.ImpulseForce), (_local2.DirectionY * _local2.Properties.ImpulseForce)), new b2Vec2((_local2.PosX / 30), (_local2.PosY / 30))); b.GetUserData().objectData.ForceDestruction(); } else { b.GetUserData().objectData.Damage_Bullet(_local2.Properties.Damage); _local10 = true; _local11 = true; }; }; } else { if (CollisionStatic(_local7)){ b = m_world.GetStaticCoverAt(_local7.x, _local7.y); _local15 = false; if (b != null){ if (_local2.Owner.State.CoverObjectID == b.GetUserData().IDNumber){ _local15 = true; }; }; if (!(_local15)){ _local10 = true; _local11 = true; }; } else { if (CollisionPlayer(_local7)){ _local16 = 0; while (_local16 < _Handler_Players.Players.length) { if (_Handler_Players.Players[_local16].CollisionMC.hitTestPoint(_local7.x, _local7.y, true)){ if (!(_local2.PlayerAvoided(_local16))){ if (_Handler_Players.Players[_local16].RocketWillHit()){ if (_local2.PlayerStuck != null){ if (!(_Handler_Players.Players[_local16].State.StuckToRocket)){ _Handler_Players.Players[_local16].GibPlayer(); } else { _Handler_Players.Players[_local16].State.RocketRideProjectile.Explode(); }; _local10 = true; _local11 = true; } else { _local2.ResetPlayersAvoided(); if (_Handler_Players.Players[_local16].State.HP > 0){ if (_Handler_Players.Players[_local16].State.StuckToRocket){ _Handler_Players.Players[_local16].State.RocketRideProjectile.PlayerStuck = null; _Handler_Players.Players[_local16].State.RocketRideProjectile.Show(); }; _Handler_Players.Players[_local16].StuckToProjectile(_local2); _local2.PlayerStuck = _Handler_Players.Players[_local16]; _local2.PosX = _local2.PlayerStuck.MidPosX(); _local2.PosY = _local2.PlayerStuck.MidPosY(); _local2.AddPlayerAvoided(_local16); _local2.Hide(); } else { _Handler_Players.Players[_local16].GibPlayer(); _local10 = true; _local11 = true; }; }; } else { _local2.AddPlayerAvoided(_local16); }; }; }; _local16++; }; } else { if (OutsideTheWorld(_local7)){ _local10 = true; }; }; }; }; if (_local2.PlayerStuck != null){ _local2.PlayerStuck.UpdatePositionToProjectile(); }; if (((_local10) || (_local2.DoExplode))){ if (_local2.PlayerStuck != null){ _local2.PlayerStuck.GibPlayer(); _local2.PlayerStuck = null; }; if (((_local11) || (_local2.DoExplode))){ _Handler_Sounds.PlaySoundAt("ROCKET_EXPLOSION", _local2.PosX, _local2.PosY); if (!(_Handler_Explosions.TriggerExplosionAt("BAZOOKA_ROCKET", (_local12.x + (_local5 * 2)), (_local12.y + (_local6 * 2))))){ _Handler_Explosions.TriggerExplosionAt("BAZOOKA_ROCKET", (_local12.x - (_local5 * 2)), (_local12.y - (_local6 * 2))); }; }; _local2.MC.parent.removeChild(_local2.MC); _rockets_list.splice(_local3, 1); _local14 = _local4; _local10 = false; }; _local14 = (_local14 + _local8); }; _local3--; }; } private function CollisionLaserObject(_arg1:Point):Boolean{ if (_object_shape_container_mc.hitTestPoint(_arg1.x, _arg1.y, true)){ b = m_world.GetLaserSolidAt(_arg1.x, _arg1.y); if (b != null){ return (true); }; }; return (false); } } }//package Code.Handler
Section 161
//Scoreboard (Code.Handler.Scoreboard) package Code.Handler { import Code.Data.Players.*; import flash.display.*; import Code.Data.*; public class Scoreboard { private var _gameMode:int; public var RoundsFinished:int; private var _score_info:MovieClip; private var _mostPlayers:int; private var _teams:Array; private var _score_graphic:MovieClip; public function Scoreboard(_arg1:MovieClip, _arg2:int){ _score_graphic = new MovieClip(); _arg1.addChild(_score_graphic); _teams = new Array(); RoundsFinished = 0; _gameMode = _arg2; } private function FirstToReach(_arg1:int):Boolean{ var _local2:int; _local2 = 0; while (_local2 < _teams.length) { if (_teams[_local2].Wins >= _arg1){ return (true); }; _local2++; }; return (false); } public function Build():void{ var _local1:int; var _local2:int; _score_graphic = new MovieClip(); _mostPlayers = 0; _local1 = 0; while (_local1 < _teams.length) { if (_teams[_local1].TotalPlayers > _mostPlayers){ _mostPlayers = _teams[_local1].TotalPlayers; }; _local1++; }; _local2 = 0; while (_local2 < _teams.length) { _teams[_local2].Build(_mostPlayers); _score_graphic.addChild(_teams[_local2].MC); _local2++; }; _score_info = new score_info(); _score_graphic.addChild(_score_info); _score_info.game_mode.gotoAndStop(_gameMode); _score_info.rounds.text = "0"; } public function GetTeamWinner():ScoreboardTeam{ var _local1:int; var _local2:int; var _local3:int; _local1 = 0; _local3 = 1; while (_local3 < _teams.length) { if (_teams[_local3].Wins > _teams[_local1].Wins){ _local1 = _local3; }; _local3++; }; if (_local1 != 0){ _local2 = 0; } else { _local2 = 1; }; _local3 = 1; while (_local3 < _teams.length) { if ((((_teams[_local3].Wins > _teams[_local2].Wins)) && (!((_local3 == _local1))))){ _local2 = _local3; }; _local3++; }; if (_teams[_local1].Wins == _teams[_local2].Wins){ return (null); }; return (_teams[_local1]); } public function get MC():MovieClip{ return (_score_graphic); } public function Show():void{ _score_graphic.visible = true; } public function Hide():void{ _score_graphic.visible = false; } public function get GameFinished():Boolean{ var _local1:int; switch (_gameMode){ case 1: return (false); case 2: return (FirstToReach(3)); case 3: return (FirstToReach(5)); case 4: return (FirstToReach(10)); case 5: return (BestOfReach(3)); case 6: return (BestOfReach(5)); case 7: return (BestOfReach(10)); }; return (false); } public function Update():void{ var _local1:int; var _local2:Array; var _local3:Number; var _local4:int; _local2 = _teams.sortOn(["Wins", "Loss"], ((Array.NUMERIC | Array.DESCENDING) | Array.RETURNINDEXEDARRAY)); _score_info.rounds.text = RoundsFinished.toString(); _local3 = 45; _local1 = 0; while (_local1 < _local2.length) { _local4 = _local2[_local1]; if (_teams.length <= 4){ _teams[_local4].MC.x = (400 - (GetScoreWidth() / 2)); _teams[_local4].MC.y = (((300 - ((75 * _teams.length) / 2)) + (75 * _local1)) + _local3); } else { if (_local1 < 4){ _teams[_local4].MC.x = (400 - GetScoreWidth()); _teams[_local4].MC.y = (((300 - ((75 * 4) / 2)) + (75 * _local1)) + _local3); } else { _teams[_local4].MC.x = 400; _teams[_local4].MC.y = (((300 - ((75 * 4) / 2)) + (75 * (_local1 - 4))) + _local3); }; }; _local1++; }; _score_info.x = _teams[_local2[0]].MC.x; _score_info.y = (_teams[_local2[0]].MC.y - 20); _local1 = 0; while (_local1 < _teams.length) { _teams[_local1].Update(); _local1++; }; } private function GetScoreWidth():Number{ switch (_mostPlayers){ case 1: case 2: case 3: case 4: return (320); case 5: return (370); case 6: return (420); case 7: return (470); default: return (470); }; } public function ScoreTeam(_arg1:int):void{ var _local2:int; _local2 = 0; while (_local2 < _teams.length) { if (_teams[_local2].Team == _arg1){ _teams[_local2].Wins = (_teams[_local2].Wins + 1); } else { _teams[_local2].Loss = (_teams[_local2].Loss + 1); }; _local2++; }; } public function AddPlayerToScore(_arg1:Player):void{ var _local2:int; _local2 = 0; while (_local2 < _teams.length) { if (_teams[_local2].Team == _arg1.Team){ _teams[_local2].AddPlayer(_arg1); return; }; _local2++; }; _teams.push(new ScoreboardTeam(_arg1)); } private function BestOfReach(_arg1:int):Boolean{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; if (RoundsFinished >= _arg1){ return (true); }; _local2 = 0; _local4 = 1; while (_local4 < _teams.length) { if (_teams[_local4].Wins > _teams[_local2].Wins){ _local2 = _local4; }; _local4++; }; if (_local2 != 0){ _local3 = 0; } else { _local3 = 1; }; _local4 = 1; while (_local4 < _teams.length) { if ((((_teams[_local4].Wins > _teams[_local3].Wins)) && (!((_local4 == _local2))))){ _local3 = _local4; }; _local4++; }; _local5 = (_teams[_local2].Wins - _teams[_local3].Wins); _local6 = (_arg1 - RoundsFinished); if (_local5 > _local6){ return (true); }; return (false); } } }//package Code.Handler
Section 162
//Shake (Code.Handler.Shake) package Code.Handler { import flash.display.*; public class Shake { private var _speedX:Number;// = 0 private var _speedY:Number;// = 0 private var _tarX:Number;// = 0 private var _lastRnd:Number;// = 0 private var _Handler_Output:OutputTrace; private var _shakeMangitude:Number;// = 0 private var _tarY:Number;// = 0 private var _shake_mc:MovieClip; private var _shakeTimer:Number;// = 0 public function Shake(_arg1:OutputTrace, _arg2:MovieClip){ _shakeTimer = 0; _shakeMangitude = 0; _lastRnd = 0; _tarX = 0; _tarY = 0; _speedX = 0; _speedY = 0; super(); _Handler_Output = _arg1; _shake_mc = _arg2; } public function Add(_arg1:Number, _arg2:Number):void{ _shakeTimer = (_shakeTimer + _arg1); _shakeMangitude = (_shakeMangitude + _arg2); if (_shakeMangitude > 30){ _shakeMangitude = 30; }; if (_shakeTimer > 20){ _shakeTimer = 20; }; } public function Update(_arg1:Number):void{ if (_shakeTimer > 0){ if (_lastRnd != Math.floor(_shakeTimer)){ _tarX = ((Math.random() * _shakeMangitude) - (_shakeMangitude / 2)); _tarY = ((Math.random() * _shakeMangitude) - (_shakeMangitude / 2)); _speedX = (_tarX - _shake_mc.x); _speedY = (_tarY - _shake_mc.y); _lastRnd = Math.floor(_shakeTimer); }; _shake_mc.x = (_shake_mc.x + (_speedX * _arg1)); _shake_mc.y = (_shake_mc.y + (_speedY * _arg1)); _shakeTimer = (_shakeTimer - _arg1); if (_shakeTimer <= 0){ _shakeTimer = 0; _shake_mc.x = 0; _shake_mc.y = 0; _lastRnd = 0; _shakeTimer = 0; _shakeMangitude = 0; }; }; } } }//package Code.Handler
Section 163
//Slowmo (Code.Handler.Slowmo) package Code.Handler { import flash.events.*; import flash.display.*; import Code.Data.*; import fl.motion.*; public class Slowmo { private var _currSlowmoFactor:Number; private var _heartbeatTimer:int; private var _slomo_rectangle:MovieClip; private var _Handler_Effects:Effects; private var _stage; private var _gamePaused:Boolean;// = false private var _slowmotionArray:Array; private var _curve:Number;// = 0 private var _Handler_Output:OutputTrace; private var _Handler_Sounds:Sounds; private var _brightness:Number;// = 0 public function Slowmo(_arg1:OutputTrace, _arg2:Effects, _arg3:Sounds, _arg4:MovieClip, _arg5){ _brightness = 0; _curve = 0; _gamePaused = false; super(); _Handler_Output = _arg1; _Handler_Effects = _arg2; _Handler_Sounds = _arg3; _slomo_rectangle = _arg4; _stage = _arg5; _heartbeatTimer = 0; _stage.addEventListener(Event.RESIZE, OnStageResize); DrawRectangle(_stage.stageWidth, _stage.stageHeight); _slowmotionArray = new Array(); _currSlowmoFactor = 1; } public function set GamePaused(_arg1:Boolean):void{ _gamePaused = _arg1; if (_arg1){ _Handler_Effects.SetSlowmotion(0); } else { _Handler_Effects.SetSlowmotion(_currSlowmoFactor); }; } private function OnStageResize(_arg1:Event):void{ DrawRectangle(_stage.stageWidth, _stage.stageHeight); } public function AddSlowmotion(_arg1:SlowmoData, _arg2:Boolean=false, _arg3:int=-1):void{ _slowmotionArray.push([_arg1, _arg2, _arg3]); if (_arg2){ _brightness = 1; }; } public function get Slowmotion():Number{ if (_gamePaused){ return (0); }; return (_currSlowmoFactor); } public function Stop():void{ _stage.removeEventListener(Event.RESIZE, OnStageResize); } public function Update():void{ var _local1:Number; var _local2:int; var _local3:Boolean; var _local4:int; if (_gamePaused){ return; }; _local1 = _currSlowmoFactor; _local2 = (_slowmotionArray.length - 1); while (_local2 >= 0) { _slowmotionArray[_local2][0].ProgressTime(); if (_slowmotionArray[_local2][0].Completed){ _slowmotionArray.splice(_local2, 1); }; _local2--; }; _local3 = false; _currSlowmoFactor = 1; _local4 = 0; while (_local4 < _slowmotionArray.length) { if (_slowmotionArray[_local4][0].CurrentSlowmotion < _currSlowmoFactor){ _currSlowmoFactor = _slowmotionArray[_local4][0].CurrentSlowmotion; }; if (_slowmotionArray[_local4][1] == true){ _local3 = true; }; _local4++; }; if (_local3){ _heartbeatTimer = (_heartbeatTimer - 1); if (_heartbeatTimer <= 0){ _heartbeatTimer = 28; _Handler_Sounds.PlaySound("HEARTBEAT", 0, 0); }; if (_brightness > 0.18){ _brightness = (_brightness - 0.08); if (_brightness < 0.18){ _brightness = 0.18; _curve = (Math.PI / 2); }; } else { _curve = (_curve + 0.13); if (_curve > Math.PI){ _curve = 0; }; _brightness = (0.12 + (Math.sin(_curve) * 0.06)); }; SetAlpha(_slomo_rectangle, _brightness); } else { if (_brightness != 0){ if (_brightness > 0){ _brightness = (_brightness - 0.02); if (_brightness < 0){ _brightness = 0; }; } else { if (_brightness < 0){ _brightness = (_brightness + 0.02); if (_brightness > 0){ _brightness = 0; }; }; }; SetAlpha(_slomo_rectangle, _brightness); }; }; if (_local1 != _currSlowmoFactor){ _Handler_Output.Trace(("Slowmotion: " + (Math.round((_currSlowmoFactor * 100)) / 100))); _Handler_Effects.SetSlowmotion(_currSlowmoFactor); }; } private function DrawRectangle(_arg1:Number, _arg2:Number):void{ _slomo_rectangle.graphics.clear(); _slomo_rectangle.graphics.moveTo(0, 0); _slomo_rectangle.graphics.beginFill(0xFFFFFF); _slomo_rectangle.graphics.lineTo((_arg1 + 1), 0); _slomo_rectangle.graphics.lineTo((_arg1 + 1), (_arg2 + 1)); _slomo_rectangle.graphics.lineTo(0, (_arg2 + 1)); _slomo_rectangle.graphics.lineTo(0, 0); _slomo_rectangle.graphics.endFill(); SetAlpha(_slomo_rectangle, _brightness); _slomo_rectangle.x = (-((_arg1 - 800)) * 0.5); _slomo_rectangle.y = (-((_arg2 - 600)) * 0.5); } private function SetBrightness(_arg1:MovieClip, _arg2:Number):void{ var _local3:Color; _local3 = new Color(); _local3.brightness = _arg2; _arg1.transform.colorTransform = _local3; } public function RemoveSlowmotion(_arg1:int):void{ var _local2:int; _local2 = (_slowmotionArray.length - 1); while (_local2 >= 0) { if (_slowmotionArray[_local2][2] == _arg1){ _slowmotionArray.splice(_local2, 1); }; _local2--; }; } private function SetAlpha(_arg1:MovieClip, _arg2:Number):void{ _arg1.alpha = _arg2; } } }//package Code.Handler
Section 164
//Sounds (Code.Handler.Sounds) package Code.Handler { import flash.events.*; import flash.media.*; public class Sounds { private var _inMenu:Boolean;// = false private var menu_channelTransform:SoundTransform; private var _sound_effect_volume:Number;// = 1 private var ambient_channel:SoundChannel; private var _mighty_sounds:Array; private var _sounds:Array; private var ambient_song:Sound; private var _Handler_Output:OutputTrace; private var ambient_channelTransform:SoundTransform; private var _lastSlowmo:Number;// = 0 private var menu_channel:SoundChannel; private var menu_song:Sound; public function Sounds(_arg1:OutputTrace){ _sounds = new Array(); _mighty_sounds = new Array(); _sound_effect_volume = 1; _inMenu = false; _lastSlowmo = 0; super(); _Handler_Output = _arg1; menu_song = new superfighters_theme(); ambient_song = new ambient_loop_1(); playAmbient(); stopAmbient(); _sounds.push(["SHELLBOUNCE", 2, [new shellbounce00(), new shellbounce01()]]); _sounds.push(["BARREL_EXPLOSION", 1, [new explosion00(), new explosion01(), new explosion02(), new explosion03()]]); _sounds.push(["MELEE_HIT", 1, [new punch00(), new punch01(), new punch02(), new punch03()]]); _sounds.push(["MELEE_SWING", 4, [new svisch4(), new svisch6()]]); _sounds.push(["KICK_SWING", 4, [new svisch4(), new svisch6()]]); _sounds.push(["KATANA_HIT", 1, [new cut00(), new cut01(), new cut02()]]); _sounds.push(["KICK", 1, [new punch00(), new punch01(), new punch02(), new punch03()]]); _sounds.push(["STAIRBOUNCE", 1, [new punch00(), new punch01(), new punch02(), new punch03()]]); _sounds.push(["OBJECTBOUNCE", 1, [new punch00(), new punch01(), new punch02(), new punch03()]]); _sounds.push(["JUMP", 0.06, [new jump_00()]]); _sounds.push(["ROLL", 0.75, [new roll()]]); _sounds.push(["DIVE_CATCH", 0.7, [new dive_catch()]]); _sounds.push(["BODYFALL", 1, [new punch00(), new punch01(), new punch02(), new punch03()]]); _sounds.push(["PISTOL_AIM", 1, [new aim_small()]]); _sounds.push(["PISTOL_FIRE", 1, [new gun00(), new gun01(), new gun02(), new gun03()]]); _sounds.push(["RIFLE_AIM", 1, [new rifle_draw()]]); _sounds.push(["RIFLE_FIRE", 1, [new rifle00(), new rifle01()]]); _sounds.push(["UZI_AIM", 1, [new aim_small()]]); _sounds.push(["UZI_FIRE", 1, [new uzi00(), new uzi01()]]); _sounds.push(["MAGNUM_AIM", 1, [new aim_small()]]); _sounds.push(["MAGNUM_FIRE", 1, [new magnum()]]); _sounds.push(["BAZOOKA_AIM", 1, [new bazooka_aim()]]); _sounds.push(["BAZOOKA_FIRE", 1, [new bazooka()]]); _sounds.push(["FLAMETHROWER_AIM", 1, [new bazooka_aim()]]); _sounds.push(["FLAMETHROWER_FIRE", 1, [new fireplosion()]]); _sounds.push(["SHOTGUN_AIM", 1, [new shotgun_aim()]]); _sounds.push(["SHOTGUN_FIRE", 1, [new shotgun00(), new shotgun01(), new shotgun02()]]); _sounds.push(["SHOTGUN_PUMP_P1", 1, [new shotgun_pump_p1()]]); _sounds.push(["SHOTGUN_PUMP_P2", 1, [new shotgun_pump_p2()]]); _sounds.push(["SNIPER_AIM", 1, [new rifle_draw()]]); _sounds.push(["SNIPER_FIRE", 1, [new sniper00(), new sniper01()]]); _sounds.push(["COMP_EXPLODE", 0.6, [new comp_explode_01(), new comp_explode_02()]]); _sounds.push(["BULLET_HITWOOD", 1, [new wood_impact00()]]); _sounds.push(["BULLET_HITDEFAULT", 1, [new ric00()]]); _sounds.push(["BULLET_HITMETAL", 0.65, [new bullet_hitmetal_01(), new bullet_hitmetal_02(), new bullet_hitmetal_03(), new bullet_hitmetal_04(), new bullet_hitmetal_05()]]); _sounds.push(["BULLET_HITFLESH", 0.55, [new bullet_hit_1(), new bullet_hit_2(), new bullet_hit_3()]]); _sounds.push(["NOAMMO_LIGHT", 1, [new outofammo_light()]]); _sounds.push(["NOAMMO_HEAVY", 1, [new outofammo_heavy()]]); _sounds.push(["ROCKET_EXPLOSION", 1, [new explosion00(), new explosion01(), new explosion02(), new explosion03()]]); _sounds.push(["BUSTWOOD", 1, [new bustwood_1(), new bustwood_2()]]); _sounds.push(["FIREBURST", 1, [new fireplosion()]]); _sounds.push(["MELEE_GRAB", 1, [new katana_01()]]); _sounds.push(["GRENADE_SAFE", 1, [new grenade_safe()]]); _sounds.push(["HEARTBEAT", 1.5, [new heartbeat()]]); _sounds.push(["GIB", 1, [new gib_00()]]); _sounds.push(["GET_HEALTH", 0.5, [new getHealth_00()]]); _sounds.push(["BUSTGLASS", 1, [new glass_1()]]); _sounds.push(["BUSTMOLOTOV", 1, [new glass_2()]]); _sounds.push(["ELECTRIC_SPARK", 0.4, [new voltage_02()]]); _sounds.push(["GROOVY", 0.6, [new groovy00()]]); _sounds.push(["WILHELM", 1, [new wilhelm()]]); _mighty_sounds.push(["ACCEPT", 1, [new accept_02()]]); _mighty_sounds.push(["CANCEL", 1, [new cancel_02()]]); _Handler_Output.Trace("Sounds Created"); } public function ChangeEffectVolume(_arg1:Number):void{ _sound_effect_volume = (_sound_effect_volume + _arg1); if (_sound_effect_volume > 1){ _sound_effect_volume = 1; }; if (_sound_effect_volume < 0){ _sound_effect_volume = 0; }; menu_channelTransform = menu_channel.soundTransform; menu_channelTransform.volume = _sound_effect_volume; menu_channel.soundTransform = menu_channelTransform; } public function set InMenu(_arg1:Boolean):void{ if (_inMenu != _arg1){ _inMenu = _arg1; if (_arg1){ stopAmbient(); playMusic(); } else { stopMusic(); playAmbient(); }; }; } private function stopMusic():void{ menu_channel.stop(); menu_channel.removeEventListener(Event.SOUND_COMPLETE, loopMusic); } public function get InMenu():Boolean{ return (_inMenu); } private function setAmbientVolume():void{ ambient_channelTransform = ambient_channel.soundTransform; ambient_channelTransform.volume = ((_sound_effect_volume * _lastSlowmo) * 0.1); ambient_channel.soundTransform = ambient_channelTransform; } private function playMusic():void{ menu_channel = menu_song.play(); menu_channel.addEventListener(Event.SOUND_COMPLETE, loopMusic); menu_channelTransform = menu_channel.soundTransform; menu_channelTransform.volume = _sound_effect_volume; menu_channel.soundTransform = menu_channelTransform; } private function playAmbient():void{ ambient_channel = ambient_song.play(); ambient_channel.addEventListener(Event.SOUND_COMPLETE, loopAmbient); setAmbientVolume(); } private function loopAmbient(_arg1:Event):void{ stopAmbient(); playAmbient(); } public function PlaySound(_arg1:String, _arg2:Number, _arg3:Number):void{ var _local4:SoundChannel; var _local5:String; var _local6:int; var _local7:SoundTransform; if ((((((((_arg1 == "")) || ((_arg1.toUpperCase() == "NONE")))) || ((_sound_effect_volume <= 0)))) || (InMenu))){ return; }; _local5 = _arg1.toUpperCase(); _local6 = 0; while (_local6 < _sounds.length) { if (_sounds[_local6][0] == _local5){ if (_sounds[_local6][2].length > 1){ _local4 = _sounds[_local6][2][Math.round((Math.random() * (_sounds[_local6][2].length - 1)))].play(); } else { _local4 = _sounds[_local6][2][0].play(); }; _local7 = _local4.soundTransform; _local7.volume = (_sounds[_local6][1] * _sound_effect_volume); _local4.soundTransform = _local7; return; }; _local6++; }; _Handler_Output.Trace((("Sound '" + _arg1.toUpperCase()) + "' not found")); } private function loopMusic(_arg1:Event):void{ stopMusic(); playMusic(); } public function StopAllSounds():void{ SoundMixer.stopAll(); } public function Update(_arg1:Number):void{ if (!(_inMenu)){ if (_lastSlowmo != _arg1){ _lastSlowmo = _arg1; setAmbientVolume(); }; }; } public function ChangeVolume(_arg1:Number):void{ var _local2:SoundTransform; _local2 = new SoundTransform(); _local2.volume = _arg1; SoundMixer.soundTransform = _local2; } public function PlaySoundAt(_arg1:String, _arg2:Number, _arg3:Number):void{ PlaySound(_arg1, _arg2, _arg3); } public function set SoundEffectVolume(_arg1:Number):void{ _sound_effect_volume = _arg1; } private function stopAmbient():void{ ambient_channel.stop(); ambient_channel.removeEventListener(Event.SOUND_COMPLETE, loopAmbient); } public function PlayMightySound(_arg1:String):void{ var _local2:SoundChannel; var _local3:String; var _local4:int; var _local5:SoundTransform; _local3 = _arg1.toUpperCase(); _local4 = 0; while (_local4 < _mighty_sounds.length) { if (_mighty_sounds[_local4][0] == _local3){ if (_mighty_sounds[_local4][2].length > 1){ _local2 = _mighty_sounds[_local4][2][Math.round((Math.random() * (_mighty_sounds[_local4][2].length - 1)))].play(); } else { _local2 = _mighty_sounds[_local4][2][0].play(); }; _local5 = _local2.soundTransform; _local5.volume = (_mighty_sounds[_local4][1] * _sound_effect_volume); _local2.soundTransform = _local5; return; }; _local4++; }; _Handler_Output.Trace((("MightySound '" + _arg1.toUpperCase()) + "' not found")); } public function get SoundEffectVolume():Number{ return (_sound_effect_volume); } public function PlaySoundAt_Box2DScale(_arg1:String, _arg2:Number, _arg3:Number):void{ PlaySoundAt(_arg1, (_arg2 * 30), (_arg3 * 30)); } } }//package Code.Handler
Section 165
//Weapons (Code.Handler.Weapons) package Code.Handler { import Code.Data.Weapons.*; public class Weapons { private var w_rifle:WeaponData; private var p_magnum:WeaponProperties; private var p_bazooka:WeaponProperties; private var wt_grenades:WeaponThrowableData; private var w_bazooka:WeaponData; private var wm_machete:WeaponMeleeData; private var p_uzi:WeaponProperties; private var w_slowmo_05:WeaponPowerupData; private var w_magnum:WeaponData; private var w_uzi:WeaponData; private var p_sniper:WeaponProperties; private var w_pills:WeaponPowerupData; private var w_health_p:WeaponPowerupProperties; private var wm_axe:WeaponMeleeData; private var p_pistol:WeaponProperties; private var w_slowmo_10:WeaponPowerupData; private var w_sniper:WeaponData; private var p_rifle:WeaponProperties; private var pm_sword:WeaponMeleeProperties; private var w_shotgun:WeaponData; private var wt_molotovs:WeaponThrowableData; private var pt_grenades:WeaponThrowableProperties; private var pm_machete:WeaponMeleeProperties; private var p_shotgun:WeaponProperties; private var w_flamethrower:WeaponData; private var pm_fists:WeaponMeleeProperties; private var w_pistol:WeaponData; private var w_slowmo_p_05:WeaponPowerupProperties; private var w_medkit:WeaponPowerupData; private var pm_axe:WeaponMeleeProperties; private var wm_sword:WeaponMeleeData; private var w_slowmo_p_10:WeaponPowerupProperties; private var wm_fists:WeaponMeleeData; private var w_projectiles:Projectiles; private var p_flamethrower:WeaponProperties; private var _Handler_Output:OutputTrace; private var pt_molotovs:WeaponThrowableProperties; public function Weapons(_arg1:OutputTrace){ p_pistol = new WeaponProperties(); p_rifle = new WeaponProperties(); p_uzi = new WeaponProperties(); p_shotgun = new WeaponProperties(); p_sniper = new WeaponProperties(); p_magnum = new WeaponProperties(); p_bazooka = new WeaponProperties(); p_flamethrower = new WeaponProperties(); pt_grenades = new WeaponThrowableProperties(); pt_molotovs = new WeaponThrowableProperties(); pm_machete = new WeaponMeleeProperties(); pm_sword = new WeaponMeleeProperties(); pm_fists = new WeaponMeleeProperties(); pm_axe = new WeaponMeleeProperties(); w_slowmo_p_05 = new WeaponPowerupProperties(); w_slowmo_p_10 = new WeaponPowerupProperties(); w_health_p = new WeaponPowerupProperties(); super(); _Handler_Output = _arg1; w_projectiles = new Projectiles(_Handler_Output); pm_axe.WeaponType = "AXE"; pm_axe.PickupSound = "MELEE_GRAB"; pm_axe.PickupRadius = 10; pm_axe.HitPunchFrameDamage = new Array(11, 12, 13); pm_axe.Animation = "AXE"; pm_axe.HitSound = "KATANA_HIT"; pm_axe.Range = new Array(18, 18, 20); pm_axe.HitMaterialSounds = new Array(["WOOD", "BULLET_HITDEFAULT"], ["METAL", "BULLET_HITMETAL"]); pm_axe.HitMaterialEffects = new Array(["WOOD", "HITDEFAULT_01"]); pm_axe.SwingComboSounds = new Array("MELEE_SWING", "MELEE_SWING", "MELEE_SWING"); pm_axe.SwingComboEffects = new Array("TRACE_AXE_01", "TRACE_AXE_02", "TRACE_AXE_03"); wm_axe = new WeaponMeleeData(3, pm_axe); pm_sword.WeaponType = "SWORD"; pm_sword.PickupSound = "MELEE_GRAB"; pm_sword.PickupRadius = 10; pm_sword.HitPunchFrameDamage = new Array(13, 14, 15); pm_sword.Animation = "SWORD"; pm_sword.HitSound = "KATANA_HIT"; pm_sword.Range = new Array(18, 18, 23); pm_sword.HitMaterialSounds = new Array(["WOOD", "BULLET_HITDEFAULT"], ["METAL", "BULLET_HITMETAL"]); pm_sword.HitMaterialEffects = new Array(["WOOD", "HITDEFAULT_01"]); pm_sword.SwingComboSounds = new Array("MELEE_SWING", "MELEE_SWING", "MELEE_SWING"); pm_sword.SwingComboEffects = new Array("TRACE_SWORD_01", "TRACE_SWORD_02", "TRACE_SWORD_03"); wm_sword = new WeaponMeleeData(3, pm_sword); pm_machete.WeaponType = "MACHETE"; pm_machete.PickupSound = "MELEE_GRAB"; pm_machete.PickupRadius = 10; pm_machete.HitPunchFrameDamage = new Array(8, 9, 10); pm_machete.Animation = "MACHETE"; pm_machete.HitSound = "KATANA_HIT"; pm_machete.Range = new Array(13, 13, 19); pm_machete.HitMaterialSounds = new Array(["WOOD", "BULLET_HITDEFAULT"], ["METAL", "BULLET_HITMETAL"]); pm_machete.HitMaterialEffects = new Array(["WOOD", "HITDEFAULT_01"]); pm_machete.SwingComboSounds = new Array("MELEE_SWING", "MELEE_SWING", "MELEE_SWING"); pm_machete.SwingComboEffects = new Array("TRACE_MACHETE_01", "TRACE_MACHETE_02", "TRACE_MACHETE_03"); wm_machete = new WeaponMeleeData(3, pm_machete); pm_fists.WeaponType = "FISTS"; pm_fists.PickupSound = ""; pm_fists.PickupRadius = 0; pm_fists.HitPunchFrameDamage = new Array(6, 7, 8); pm_fists.Animation = "PUNCH"; pm_fists.HitSound = "MELEE_HIT"; pm_fists.Range = new Array(10, 11, 13); pm_fists.HitMaterialSounds = new Array(["WOOD", "BULLET_HITDEFAULT"]); pm_fists.HitMaterialEffects = new Array(["WOOD", "HITDEFAULT_01"]); pm_fists.SwingComboSounds = new Array("MELEE_SWING", "MELEE_SWING", "MELEE_SWING"); pm_fists.SwingComboEffects = new Array("", "", ""); wm_fists = new WeaponMeleeData(3, pm_fists); pt_grenades.WeaponType = "GRENADE"; pt_grenades.AnimType = "GRENADE"; pt_grenades.ThrowType = "GRENADE"; pt_grenades.ThrowTimer = (24 * 3); pt_grenades.AimSound = "GRENADE_SAFE"; pt_grenades.PickupSound = "GRENADE_SAFE"; pt_grenades.PickupRadius = 10; wt_grenades = new WeaponThrowableData(3, pt_grenades); pt_molotovs.WeaponType = "MOLOTOV"; pt_molotovs.AnimType = "MOLOTOV"; pt_molotovs.ThrowType = "MOLOTOV"; pt_molotovs.ThrowTimer = 0; pt_molotovs.AimSound = "SND_PLACEHOLDER"; pt_molotovs.PickupSound = "GRENADE_SAFE"; pt_molotovs.PickupRadius = 10; wt_molotovs = new WeaponThrowableData(3, pt_molotovs); p_pistol.WeaponType = "PISTOL"; p_pistol.AnimType = "PISTOL"; p_pistol.WeaponCooldown = 6; p_pistol.AccuracyDeflection = 1; p_pistol.AimSound = "PISTOL_AIM"; p_pistol.EmptySound = "NOAMMO_LIGHT"; p_pistol.PickupSound = "PISTOL_AIM"; p_pistol.BulletType = "PISTOL_BULLET"; p_pistol.PickupRadius = 10; p_pistol.LaserSight = false; p_pistol.MuzzleFlashEffect = "MUZZLE_FLASH_PISTOL"; p_pistol.ShellEffect = "EMPTY_SHELL_SMALL"; p_pistol.Projectile = w_projectiles.Pistol_Bullet; p_pistol.ShootRange = 900; p_pistol.FireSequence.push(new WeaponSequencePart(1, true, true, "PISTOL_FIRE", 2)); p_pistol.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 1, true)); w_pistol = new WeaponData(12, p_pistol); p_rifle.WeaponType = "RIFLE"; p_rifle.AnimType = "RIFLE"; p_rifle.WeaponCooldown = 6; p_rifle.AccuracyDeflection = 3; p_rifle.AimSound = "RIFLE_AIM"; p_rifle.EmptySound = "NOAMMO_HEAVY"; p_rifle.PickupSound = "RIFLE_AIM"; p_rifle.BulletType = "RIFLE_BULLET"; p_rifle.PickupRadius = 16; p_rifle.LaserSight = false; p_rifle.MuzzleFlashEffect = "MUZZLE_FLASH_RIFLE"; p_rifle.ShellEffect = "EMPTY_SHELL_SMALL"; p_rifle.Projectile = w_projectiles.Rifle_Bullet; p_rifle.ShootRange = 900; p_rifle.FireSequence.push(new WeaponSequencePart(1, true, true, "RIFLE_FIRE", 2)); p_rifle.FireSequence.push(new WeaponSequencePart()); p_rifle.FireSequence.push(new WeaponSequencePart(1, true, true, "RIFLE_FIRE", 2)); p_rifle.FireSequence.push(new WeaponSequencePart()); p_rifle.FireSequence.push(new WeaponSequencePart(1, true, true, "RIFLE_FIRE", 2)); p_rifle.FireSequence.push(new WeaponSequencePart()); p_rifle.FireSequence.push(new WeaponSequencePart(1, true, true, "RIFLE_FIRE", 2)); p_rifle.FireSequence.push(new WeaponSequencePart()); p_rifle.FireSequence.push(new WeaponSequencePart(1, true, true, "RIFLE_FIRE", 2)); p_rifle.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 1, true)); w_rifle = new WeaponData((5 * 5), p_rifle); p_uzi.WeaponType = "UZI"; p_uzi.AnimType = "UZI"; p_uzi.WeaponCooldown = 6; p_uzi.AccuracyDeflection = 6; p_uzi.AimSound = "UZI_AIM"; p_uzi.EmptySound = "NOAMMO_LIGHT"; p_uzi.PickupSound = "UZI_AIM"; p_uzi.BulletType = "UZI_BULLET"; p_uzi.PickupRadius = 16; p_uzi.LaserSight = false; p_uzi.MuzzleFlashEffect = "MUZZLE_FLASH_PISTOL"; p_uzi.ShellEffect = "EMPTY_SHELL_SMALL"; p_uzi.Projectile = w_projectiles.Uzi_Bullet; p_uzi.ShootRange = 900; p_uzi.FireSequence.push(new WeaponSequencePart(1, true, true, "UZI_FIRE", 2)); p_uzi.FireSequence.push(new WeaponSequencePart()); p_uzi.FireSequence.push(new WeaponSequencePart(1, true, true, "UZI_FIRE", 2)); p_uzi.FireSequence.push(new WeaponSequencePart()); p_uzi.FireSequence.push(new WeaponSequencePart(1, true, true, "UZI_FIRE", 2)); p_uzi.FireSequence.push(new WeaponSequencePart()); p_uzi.FireSequence.push(new WeaponSequencePart(1, true, true, "UZI_FIRE", 2)); p_uzi.FireSequence.push(new WeaponSequencePart()); p_uzi.FireSequence.push(new WeaponSequencePart(1, true, true, "UZI_FIRE", 2)); p_uzi.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 1, true)); w_uzi = new WeaponData((5 * 5), p_uzi); p_shotgun.WeaponType = "SHOTGUN"; p_shotgun.AnimType = "SHOTGUN"; p_shotgun.WeaponCooldown = 3; p_shotgun.AccuracyDeflection = 4.2; p_shotgun.AimSound = "SHOTGUN_AIM"; p_shotgun.EmptySound = "NOAMMO_HEAVY"; p_shotgun.PickupSound = "SHOTGUN_AIM"; p_shotgun.BulletType = "SHOTGUN_BULLET"; p_shotgun.PickupRadius = 14; p_shotgun.LaserSight = false; p_shotgun.MuzzleFlashEffect = "MUZZLE_FLASH_SHOTGUN"; p_shotgun.ShellEffect = "EMPTY_SHELL_SHOTGUN"; p_shotgun.Projectile = w_projectiles.Shotgun_Bullet; p_shotgun.ShootRange = 900; p_shotgun.FireSequence.push(new WeaponSequencePart(4, true, false, "SHOTGUN_FIRE", 2)); p_shotgun.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 2)); p_shotgun.FireSequence.push(new WeaponSequencePart()); p_shotgun.FireSequence.push(new WeaponSequencePart()); p_shotgun.FireSequence.push(new WeaponSequencePart()); p_shotgun.FireSequence.push(new WeaponSequencePart(0, false, true, "SHOTGUN_PUMP_P1", 3)); p_shotgun.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 3)); p_shotgun.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 3)); p_shotgun.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 3)); p_shotgun.FireSequence.push(new WeaponSequencePart()); p_shotgun.FireSequence.push(new WeaponSequencePart(0, false, false, "SHOTGUN_PUMP_P2", 1, true)); w_shotgun = new WeaponData((8 * 4), p_shotgun); p_magnum.WeaponType = "MAGNUM"; p_magnum.AnimType = "MAGNUM"; p_magnum.WeaponCooldown = 8; p_magnum.AccuracyDeflection = 0.5; p_magnum.AimSound = "MAGNUM_AIM"; p_magnum.EmptySound = "NOAMMO_HEAVY"; p_magnum.PickupSound = "MAGNUM_AIM"; p_magnum.BulletType = "MAGNUM_BULLET"; p_magnum.PickupRadius = 10; p_magnum.LaserSight = false; p_magnum.LaserDeflection = 0.5; p_magnum.MuzzleFlashEffect = "MUZZLE_FLASH_SHOTGUN"; p_magnum.ShellEffect = "EMPTY_SHELL_SMALL"; p_magnum.Projectile = w_projectiles.Magnum_Bullet; p_magnum.ShootRange = 900; p_magnum.FireSequence.push(new WeaponSequencePart(1, true, false, "MAGNUM_FIRE", 2)); p_magnum.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 1, true)); w_magnum = new WeaponData(6, p_magnum); p_sniper.WeaponType = "SNIPER"; p_sniper.AnimType = "SNIPER"; p_sniper.WeaponCooldown = 18; p_sniper.AccuracyDeflection = 0; p_sniper.AimSound = "SNIPER_AIM"; p_sniper.EmptySound = "NOAMMO_HEAVY"; p_sniper.PickupSound = "SNIPER_AIM"; p_sniper.BulletType = "SNIPER_BULLET"; p_sniper.PickupRadius = 16; p_sniper.LaserSight = true; p_sniper.LaserDeflection = 0.5; p_sniper.MuzzleFlashEffect = "MUZZLE_FLASH_SNIPER"; p_sniper.ShellEffect = "EMPTY_SHELL_BIG"; p_sniper.Projectile = w_projectiles.Sniper_Bullet; p_sniper.ShootRange = 900; p_sniper.FireSequence.push(new WeaponSequencePart(1, true, true, "SNIPER_FIRE", 2)); p_sniper.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 2)); p_sniper.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 1, true)); w_sniper = new WeaponData(5, p_sniper); p_bazooka.WeaponType = "BAZOOKA"; p_bazooka.AnimType = "BAZOOKA"; p_bazooka.WeaponCooldown = 10; p_bazooka.AccuracyDeflection = 2; p_bazooka.AimSound = "BAZOOKA_AIM"; p_bazooka.EmptySound = "NOAMMO_HEAVY"; p_bazooka.PickupSound = "BAZOOKA_AIM"; p_bazooka.BulletType = "BAZOOKA_ROCKET"; p_bazooka.PickupRadius = 16; p_bazooka.LaserSight = false; p_bazooka.MuzzleFlashEffect = "MUZZLE_FLASH_BAZOOKA"; p_bazooka.ShellEffect = ""; p_bazooka.Projectile = w_projectiles.Bazooka_Rocket; p_bazooka.ShootRange = 400; p_bazooka.FireSequence.push(new WeaponSequencePart(1, true, false, "BAZOOKA_FIRE", 2)); p_bazooka.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 2)); p_bazooka.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 1, true)); w_bazooka = new WeaponData(3, p_bazooka); p_flamethrower.WeaponType = "FLAMETHROWER"; p_flamethrower.AnimType = "FLAMETHROWER"; p_flamethrower.WeaponCooldown = 10; p_flamethrower.AccuracyDeflection = 6; p_flamethrower.AimSound = "FLAMETHROWER_AIM"; p_flamethrower.EmptySound = "NOAMMO_LIGHT"; p_flamethrower.PickupSound = "FLAMETHROWER_AIM"; p_flamethrower.BulletType = "FLAME"; p_flamethrower.PickupRadius = 16; p_flamethrower.LaserSight = false; p_flamethrower.MuzzleFlashEffect = ""; p_flamethrower.ShellEffect = ""; p_flamethrower.Projectile = null; p_flamethrower.ShootRange = 140; p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "FLAMETHROWER_FIRE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "NONE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "NONE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "NONE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "NONE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "NONE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "NONE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "NONE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "NONE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(1, false, false, "NONE", 1)); p_flamethrower.FireSequence.push(new WeaponSequencePart(0, false, false, "NONE", 1, true)); w_flamethrower = new WeaponData(60, p_flamethrower); w_slowmo_p_05.WeaponType = "SLOMO05"; w_slowmo_p_05.PickupSound = "SND_PLACEHOLDER"; w_slowmo_p_05.PickupRadius = 12; w_slowmo_p_10.WeaponType = "SLOMO10"; w_slowmo_p_10.PickupSound = "SND_PLACEHOLDER"; w_slowmo_p_10.PickupRadius = 12; w_slowmo_05 = new WeaponPowerupData(5, w_slowmo_p_05); w_slowmo_10 = new WeaponPowerupData(10, w_slowmo_p_10); w_health_p.PickupSound = "GET_HEALTH"; w_health_p.PickupRadius = 12; w_pills = new WeaponPowerupData(25, w_health_p); w_medkit = new WeaponPowerupData(50, w_health_p); _Handler_Output.Trace("Weapons Created"); } public function get Shotgun():WeaponData{ return (w_shotgun.Copy()); } public function get Grenades():WeaponThrowableData{ return (wt_grenades.Copy()); } public function get Fists():WeaponMeleeData{ return (wm_fists.Copy()); } public function get Sniper():WeaponData{ return (w_sniper.Copy()); } public function get Flamethrower():WeaponData{ return (w_flamethrower.Copy()); } public function get Axe():WeaponMeleeData{ return (wm_axe.Copy()); } public function get Molotovs():WeaponThrowableData{ return (wt_molotovs.Copy()); } public function get Bazooka():WeaponData{ return (w_bazooka.Copy()); } public function get Pistol():WeaponData{ return (w_pistol.Copy()); } public function get Rifle():WeaponData{ return (w_rifle.Copy()); } public function get Slowmo05():WeaponPowerupData{ return (w_slowmo_05.Copy()); } public function get Uzi():WeaponData{ return (w_uzi.Copy()); } public function get Sword():WeaponMeleeData{ return (wm_sword.Copy()); } public function get Medkit():WeaponPowerupData{ return (w_medkit.Copy()); } public function get Machete():WeaponMeleeData{ return (wm_machete.Copy()); } public function get Pills():WeaponPowerupData{ return (w_pills.Copy()); } public function get Slowmo10():WeaponPowerupData{ return (w_slowmo_10.Copy()); } public function get Magnum():WeaponData{ return (w_magnum.Copy()); } } }//package Code.Handler
Section 166
//WeaponSpawn (Code.Handler.WeaponSpawn) package Code.Handler { import Code.Box2D.Dynamics.*; import Code.Data.*; import Code.Box2D.Common.Math.*; public class WeaponSpawn { private var _Handler_Weapons:Weapons; private var _spawnTimer:Number; private var _Handler_Maps:Maps; private var _spawnInterval:Number;// = 36 private var _WeaponSpawns:Array; private var _weaponSpawnChance:Array; private var _Handler_Output:OutputTrace; public function WeaponSpawn(_arg1:OutputTrace, _arg2:Maps, _arg3:Weapons){ _spawnInterval = 36; super(); _Handler_Output = _arg1; _Handler_Maps = _arg2; _Handler_Weapons = _arg3; _WeaponSpawns = _Handler_Maps.GetWeaponSpawns(); _spawnTimer = _spawnInterval; _weaponSpawnChance = new Array(); _weaponSpawnChance.push(11); _weaponSpawnChance.push(9); _weaponSpawnChance.push(7); _weaponSpawnChance.push(2); _weaponSpawnChance.push(2); _weaponSpawnChance.push(4); _weaponSpawnChance.push(6); _weaponSpawnChance.push(5); _weaponSpawnChance.push(2); _weaponSpawnChance.push(3); _weaponSpawnChance.push(3); _weaponSpawnChance.push(4); _weaponSpawnChance.push(3); _weaponSpawnChance.push(2); _weaponSpawnChance.push(2); _weaponSpawnChance.push(2); _weaponSpawnChance.push(6); _Handler_Output.Trace("Weapon Spawn Created"); } public function Update(_arg1:Number):void{ var w:int; var tmpArr:Array; var i:int; var rndIndex:int; var wpnData:WeaponSpawnData; var wpnIndexes:Array; var j:int; var wpnToSpawn:Array; var spawnValue:int; var k:int; var rndWeapon:int; var wpn:b2Body; var l:int; var game_speed = _arg1; _spawnTimer = (_spawnTimer - game_speed); if (_spawnTimer <= 0){ _spawnTimer = _spawnInterval; tmpArr = new Array(); i = 0; while (i < _WeaponSpawns.length) { if (_WeaponSpawns[i].LinkedWeapon == null){ tmpArr.push(_WeaponSpawns[i]); }; i = (i + 1); }; if (tmpArr.length <= 0){ return; }; rndIndex = Math.floor((Math.random() * tmpArr.length)); wpnData = tmpArr[rndIndex]; wpnIndexes = new Array(); j = 0; while (j < wpnData.WeaponArray.length) { if (wpnData.WeaponArray[j] == 1){ wpnIndexes.push(j); }; j = (j + 1); }; if (wpnIndexes.length <= 0){ return; }; wpnToSpawn = new Array(); spawnValue = 0; k = 0; while (k < wpnIndexes.length) { spawnValue = _weaponSpawnChance[wpnIndexes[k]]; l = 0; while (l < spawnValue) { wpnToSpawn.push(wpnIndexes[k]); l = (l + 1); }; k = (k + 1); }; rndWeapon = Math.floor((Math.random() * wpnToSpawn.length)); switch (wpnToSpawn[rndWeapon]){ case 0: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_pistol", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Pistol; break; case 1: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_rifle", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Rifle; break; case 2: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_shotgun", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Shotgun; break; case 3: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_sniper", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Sniper; break; case 4: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_bazooka", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Bazooka; break; case 5: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_molotovs", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Molotovs; break; case 6: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_grenades", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Grenades; break; case 7: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_flamethrower", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Flamethrower; break; case 8: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_sword", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Sword; break; case 9: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_machete", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Machete; break; case 10: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_axe", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Axe; break; case 11: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_slowmo_05", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Slowmo05; break; case 12: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_slowmo_10", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Slowmo10; break; case 13: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_pills", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Pills; break; case 14: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_medkit", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Medkit; break; case 15: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_magnum", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Magnum; break; case 16: wpn = _Handler_Maps.Handler_WorldItems.AddPolygon("wpn_uzi", (wpnData.PositionX / 30), (wpnData.PositionY / 30), 0, new b2Vec2(), 0); wpn.GetUserData().weaponData = _Handler_Weapons.Uzi; break; }; if (wpn != null){ wpn.GetUserData().objectData.UpdateFunction = function (_arg1:b2Body, _arg2:Number):void{ }; wpn.PutToSleep(); wpnData.LinkedWeapon = wpn; }; }; w = 0; while (w < _WeaponSpawns.length) { _WeaponSpawns[w].Update(game_speed); w = (w + 1); }; } } }//package Code.Handler
Section 167
//blood_gib_trace (Code.Particles.blood_gib_trace) package Code.Particles { public class blood_gib_trace extends particle_base { private var _s:Number; private var _a:Number; public function blood_gib_trace(_arg1:particle_data){ _a = 1; _s = 1; SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _a = (_a - (game_speed * 0.07)); _s = (_s + (game_speed * 0.04)); this.alpha = _a; this.scaleX = _s; this.scaleY = _s; if (_a <= 0.4){ EndParticle(); }; } } }//package Code.Particles
Section 168
//bullet_hitdefault (Code.Particles.bullet_hitdefault) package Code.Particles { import flash.display.*; public class bullet_hitdefault extends particle_base { private var _speedX:Number; private var _speedY:Number; private var _s:Number; private var _mc:MovieClip; private var _posX:Number; private var _posY:Number; private var _a:Number; public function bullet_hitdefault(_arg1:particle_data){ _mc = new smoke_trace_light_01(); _a = 0.8; _mc.alpha = _a; _posX = 0; _posY = 0; _speedX = ((Math.random() * 1.2) - 0.6); _speedY = ((Math.random() * 1.2) - 0.6); _s = 1; this.addChild(_mc); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _posX = (_posX + (_speedX * game_speed)); _posY = (_posY + (_speedY * game_speed)); _a = (_a - (game_speed * 0.04)); _s = (_s + (game_speed * 0.01)); if (_a <= 0){ EndParticle(); } else { _mc.scaleX = _s; _mc.scaleY = _s; _mc.alpha = _a; _mc.x = _posX; _mc.y = _posY; }; } } }//package Code.Particles
Section 169
//fire_effect (Code.Particles.fire_effect) package Code.Particles { import flash.display.*; public class fire_effect extends particle_base { private var _mc:MovieClip; private var _percentage:Number; private var _posX:Number; private var _posY:Number; private var _velX:Number; private var _a:Number; public function fire_effect(_arg1:particle_data){ var _local2:Number; super(); this.scaleX = 1.25; this.scaleY = 1.25; _local2 = (Math.round((Math.random() * 2)) + 1); switch (_local2){ case 1: _mc = new fire_01(); break; case 2: _mc = new fire_02(); break; case 3: _mc = new fire_03(); break; }; this.addChild(_mc); _a = 1; _posX = _arg1.PosX; _posY = _arg1.PosY; _velX = (Math.random() - 0.5); _velX = (_velX * 0.7); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _posY = (_posY - (game_speed * 1.2)); _posX = (_posX + (game_speed * _velX)); _a = (_a - (game_speed * 0.04)); this.y = _posY; this.x = _posX; this.alpha = _a; if (_a <= 0.4){ EndParticle(); } else { _percentage = (1 - ((_a - 0.4) / 0.6)); _mc.gotoAndStop(Math.ceil((_mc.totalFrames * _percentage))); }; } } }//package Code.Particles
Section 170
//fire_effect_bazooka_rocket (Code.Particles.fire_effect_bazooka_rocket) package Code.Particles { import flash.display.*; public class fire_effect_bazooka_rocket extends particle_base { private var _s:Number; private var _mc:MovieClip; private var _velY:Number; private var _percentage:Number; private var _posX:Number; private var _posY:Number; private var _velX:Number; private var _a:Number; public function fire_effect_bazooka_rocket(_arg1:particle_data){ _mc = new trace_bazooka_rocket(); this.addChild(_mc); _a = 1; _s = 1; this.scaleX = _s; this.scaleY = _s; _posX = _arg1.PosX; _posY = _arg1.PosY; _velX = ((_arg1.ParticleVec.x + (Math.random() * 2)) - 1); _velX = (_velX * 0.4); _velY = (_arg1.ParticleVec.y - Math.random()); _velY = (_velY * 0.4); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _posY = (_posY + (game_speed * _velY)); _posX = (_posX + (game_speed * _velX)); _a = (_a - (game_speed * 0.04)); _velY = (_velY - (game_speed * 0.15)); _s = (_s + (game_speed * 0.03)); this.y = _posY; this.x = _posX; this.alpha = _a; this.scaleX = _s; this.scaleY = _s; if (_a <= 0.4){ EndParticle(); } else { _percentage = (1 - ((_a - 0.4) / 0.6)); _mc.gotoAndStop(Math.ceil((_mc.totalFrames * _percentage))); }; } } }//package Code.Particles
Section 171
//fire_effect_flamethrower (Code.Particles.fire_effect_flamethrower) package Code.Particles { import flash.display.*; public class fire_effect_flamethrower extends particle_base { private var _mc:MovieClip; private var _velY:Number; private var _percentage:Number; private var _posX:Number; private var _posY:Number; private var _velX:Number; private var _a:Number; public function fire_effect_flamethrower(_arg1:particle_data){ this.scaleX = 1; this.scaleY = 1; _mc = new fire_01_flamethrower(); this.addChild(_mc); _a = 1; _posX = _arg1.PosX; _posY = _arg1.PosY; _velX = _arg1.ParticleVec.x; _velX = (_velX * 0.16); _velY = (_arg1.ParticleVec.y - 0.4); _velY = (_velY * 0.16); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _posY = (_posY + (game_speed * _velY)); _posX = (_posX + (game_speed * _velX)); _a = (_a - (game_speed * 0.07)); _velY = (_velY - (game_speed * 0.2)); this.y = _posY; this.x = _posX; this.alpha = _a; if (_a <= 0.4){ EndParticle(); } else { _percentage = (1 - ((_a - 0.4) / 0.6)); _mc.gotoAndStop(Math.ceil((_mc.totalFrames * _percentage))); }; } } }//package Code.Particles
Section 172
//fire_effect_ground (Code.Particles.fire_effect_ground) package Code.Particles { public class fire_effect_ground extends particle_base { private var _posX:Number; private var _posY:Number; private var _velX:Number; private var _a:Number; public function fire_effect_ground(_arg1:particle_data){ this.gotoAndStop((Math.round((Math.random() * (this.totalFrames - 1))) + 1)); this.scaleX = 1.25; this.scaleY = 1.25; _a = 1; _posX = _arg1.PosX; _posY = (_arg1.PosY - 2); _velX = (Math.random() - 0.5); _velX = (_velX * 1.2); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _posX = (_posX + (game_speed * _velX)); _a = (_a - (game_speed * 0.04)); _posY = (_posY - (game_speed * 0.01)); this.x = _posX; this.y = _posY; this.alpha = _a; if (_a <= 0.4){ EndParticle(); }; } } }//package Code.Particles
Section 173
//muzzle_weapon_smoke (Code.Particles.muzzle_weapon_smoke) package Code.Particles { import flash.display.*; public class muzzle_weapon_smoke extends particle_base { private var _s:Number; private var _mc:MovieClip; private var _velY:Number; private var _posX:Number; private var _changeX:Number; private var _changeY:Number; private var _posY:Number; private var _velX:Number; private var _a:Number; public function muzzle_weapon_smoke(_arg1:particle_data){ _changeX = (Math.cos((_arg1.Rotation * (Math.PI / 180))) * 0.05); _changeY = (Math.sin((_arg1.Rotation * (Math.PI / 180))) * 0.07); _velX = (0.4 + (Math.random() * 0.3)); _velY = ((Math.random() * 0.6) - 0.3); _posX = 0; _posY = 0; _a = 0.7; _s = 1; _mc = new smoke_weapon_muzzle(); _mc.alpha = 0.6; this.addChild(_mc); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _velY = (_velY - (_changeX * game_speed)); _velX = (_velX - (_changeY * game_speed)); _posX = (_posX + (_velX * game_speed)); _posY = (_posY + (_velY * game_speed)); _mc.x = _posX; _mc.y = _posY; _a = (_a - (0.05 * game_speed)); _s = (_s + (0.04 * game_speed)); _mc.alpha = _a; _mc.scaleX = _s; _mc.scaleY = _s; if (_a <= 0.1){ EndParticle(); }; } } }//package Code.Particles
Section 174
//particle_base (Code.Particles.particle_base) package Code.Particles { import flash.events.*; import flash.utils.*; import flash.display.*; public class particle_base extends MovieClip { private var updateFunc:Function; private var _updateTimer:Number; private var _game_speed:Number;// = 1 private var _curr_frame:Number;// = 1 public function particle_base(){ _game_speed = 1; _curr_frame = 1; super(); } public function EndParticle():void{ if (isNaN(_updateTimer)){ this.removeEventListener(Event.ENTER_FRAME, Update); } else { clearInterval(_updateTimer); }; if (this.parent != null){ this.parent.removeChild(this); }; } public function set game_speed(_arg1:Number):void{ _game_speed = _arg1; } public function set CurrentFrame(_arg1:int):void{ _curr_frame = _arg1; } public function ProgressAnimationFor(_arg1:MovieClip):void{ _curr_frame = (_curr_frame + _game_speed); _arg1.gotoAndStop(CurrentFrame); } public function get CurrentFrame():int{ return (Math.round((_curr_frame + 0.001))); } public function SetUpdateEvent(_arg1:Function):void{ updateFunc = _arg1; this.addEventListener(Event.ENTER_FRAME, Update, false, 0, true); } public function get game_speed():Number{ return (_game_speed); } public function ProgressAnimation():void{ _curr_frame = (_curr_frame + _game_speed); this.gotoAndStop(CurrentFrame); } private function Update(_arg1:Event):void{ updateFunc(); this.removeEventListener(Event.ENTER_FRAME, Update); _updateTimer = setInterval(updateFunc, (1000 / 24)); } } }//package Code.Particles
Section 175
//particle_blood (Code.Particles.particle_blood) package Code.Particles { import flash.display.*; public class particle_blood extends particle_base { private var _mc:MovieClip; private var _velY:Number; private var _posX:Number; private var _posY:Number; private var _velX:Number; private var _a:Number; public function particle_blood(_arg1:particle_data){ _velX = (((Math.random() * 1) - 0.5) + _arg1.ParticleVec.x); _velY = ((Math.random() * 0.8) - 2); _posX = 0; _posY = 0; _a = 1; switch (_arg1.DataArray[0]){ case 0: _mc = new blood_particle_big(); break; case 1: _mc = new blood_particle_small(); break; default: _mc = new blood_particle_small(); break; }; this.addChild(_mc); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _velY = (_velY + (0.3 * game_speed)); _posX = (_posX + (_velX * game_speed)); _posY = (_posY + (_velY * game_speed)); _mc.x = _posX; _mc.y = _posY; _a = (_a - (0.04 * game_speed)); if (_a < 0.5){ _mc.alpha = (1 - ((0.5 - _a) / 0.3)); }; if (_a <= 0.2){ EndParticle(); }; } } }//package Code.Particles
Section 176
//particle_bodyfall (Code.Particles.particle_bodyfall) package Code.Particles { public class particle_bodyfall extends particle_base { private var Scale:Number;// = 0 private var speedX:Number;// = 0 private var speedY:Number;// = 0 public function particle_bodyfall(_arg1:particle_data){ Scale = 0; speedY = 0; speedX = 0; super(); speedX = ((Math.random() * 0.4) - 0.2); speedY = ((Math.random() * 0.6) - 0.4); Scale = 1; this.scaleX = Scale; this.scaleY = Scale; this.alpha = 0.5; SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ speedY = (speedY + (0.002 * game_speed)); this.y = (this.y + (speedY * game_speed)); this.x = (this.x + (speedX * game_speed)); this.alpha = (this.alpha - (0.04 * game_speed)); Scale = (Scale + (0.04 * game_speed)); this.scaleX = Scale; this.scaleY = Scale; if (this.alpha <= 0.1){ EndParticle(); }; } } }//package Code.Particles
Section 177
//particle_data (Code.Particles.particle_data) package Code.Particles { import Code.Box2D.Common.Math.*; public class particle_data { public var Alpha:Number; public var PosX:Number; public var PosY:Number; public var ParticleVec:b2Vec2; public var Effect:String; public var ScaleY:Number; public var ScaleX:Number; public var DataArray:Array; public var Rotation:Number; public function particle_data(_arg1:String="", _arg2:Number=0, _arg3:Number=0, _arg4:b2Vec2=null, _arg5:Number=0, _arg6:Number=1, _arg7:Array=null){ Effect = _arg1.toUpperCase(); PosX = _arg2; PosY = _arg3; if (_arg4 != null){ ParticleVec = _arg4; } else { ParticleVec = new b2Vec2(0, 0); }; Alpha = _arg6; Rotation = _arg5; DataArray = _arg7; ScaleX = 1; ScaleY = 1; } } }//package Code.Particles
Section 178
//particle_impact_metal (Code.Particles.particle_impact_metal) package Code.Particles { public class particle_impact_metal extends particle_base { private var Scale:Number;// = 0 private var speedX:Number;// = 0 private var speedY:Number;// = 0 public function particle_impact_metal(_arg1:particle_data){ var _local2:Number; Scale = 0; speedY = 0; speedX = 0; super(); speedX = _arg1.ParticleVec.x; speedY = _arg1.ParticleVec.y; _local2 = Math.sqrt(((speedX * speedX) + (speedY * speedY))); if (_local2 > 1){ speedX = (speedX * (1 / _local2)); speedY = (speedY * (1 / _local2)); }; Scale = 0.7; this.scaleX = Scale; this.scaleY = Scale; this.alpha = 0.7; SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ this.y = (this.y + (speedY * game_speed)); this.x = (this.x + (speedX * game_speed)); this.alpha = (this.alpha - (0.1 * game_speed)); if (this.alpha <= 0){ EndParticle(); }; } } }//package Code.Particles
Section 179
//particle_impact_wood (Code.Particles.particle_impact_wood) package Code.Particles { public class particle_impact_wood extends particle_base { private var Scale:Number;// = 0 private var speedX:Number;// = 0 private var speedY:Number;// = 0 public function particle_impact_wood(_arg1:particle_data){ Scale = 0; speedY = 0; speedX = 0; super(); speedX = (_arg1.ParticleVec.x * 0.1); if (Math.sqrt((speedX * speedX)) > 1){ speedX = (speedX / Math.sqrt((speedX * speedX))); }; speedY = -0.1; Scale = 0.7; this.scaleX = Scale; this.scaleY = Scale; this.alpha = 0.5; SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ speedY = (speedY + (0.025 * game_speed)); this.y = (this.y + (speedY * game_speed)); this.x = (this.x + (speedX * game_speed)); this.alpha = (this.alpha - (0.03 * game_speed)); this.scaleX = (this.scaleX + (0.03 * game_speed)); this.scaleY = (this.scaleY + (0.03 * game_speed)); if (this.alpha <= 0){ EndParticle(); }; } } }//package Code.Particles
Section 180
//pickup_sign (Code.Particles.pickup_sign) package Code.Particles { public class pickup_sign extends particle_base { var a:Number;// = 1 var time:int;// = 0 public function pickup_sign(_arg1:particle_data){ var _local2:String; time = 0; a = 1; super(); _local2 = _arg1.Effect.substr(7, (_arg1.Effect.length - 7)); this.gotoAndStop(_local2); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ this.y = (this.y - 0.5); a = (a - 0.04); this.alpha = a; time++; if (time >= 24){ EndParticle(); }; } } }//package Code.Particles
Section 181
//simple_effect (Code.Particles.simple_effect) package Code.Particles { import flash.display.*; public class simple_effect extends particle_base { private var _mc:MovieClip; public function simple_effect(_arg1:MovieClip){ _mc = _arg1; this.addChild(_mc); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ ProgressAnimationFor(_mc); if (CurrentFrame >= _mc.totalFrames){ EndParticle(); }; } } }//package Code.Particles
Section 182
//smoke_fire (Code.Particles.smoke_fire) package Code.Particles { import flash.display.*; public class smoke_fire extends particle_base { private var _speedX:Number; private var _speedY:Number; private var _s:Number; private var _mc:MovieClip; private var _posX:Number; private var _posY:Number; private var _a:Number; public function smoke_fire(_arg1:particle_data){ _mc = new smoke_trace_01(); _a = 0.8; _mc.alpha = _a; _posX = 0; _posY = 0; _speedX = 0; _speedY = -2; _s = 0.8; this.addChild(_mc); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _posX = (_posX + (_speedX * game_speed)); _posY = (_posY + (_speedY * game_speed)); _a = (_a - (game_speed * 0.04)); _s = (_s + (game_speed * 0.01)); if (_a <= 0){ EndParticle(); } else { _mc.scaleX = _s; _mc.scaleY = _s; _mc.alpha = _a; _mc.x = _posX; _mc.y = _posY; }; } } }//package Code.Particles
Section 183
//smoke_trace_effect (Code.Particles.smoke_trace_effect) package Code.Particles { import flash.display.*; public class smoke_trace_effect extends particle_base { private var _speedX:Number; private var _speedY:Number; private var _s:Number; private var _mc:MovieClip; private var _posX:Number; private var _posY:Number; private var _a:Number; public function smoke_trace_effect(_arg1:particle_data){ if (_arg1.DataArray[0] == 2){ _mc = new smoke_trace_01(); } else { if (_arg1.DataArray[0] == 1){ _mc = new smoke_trace_light_01(); } else { _mc = new error_mc(); }; }; _a = 0.6; _mc.alpha = _a; _posX = 0; _posY = 0; _speedX = (_arg1.ParticleVec.x * 0.1); _speedY = (_arg1.ParticleVec.y * 0.1); _s = 0.8; this.addChild(_mc); SetUpdateEvent(UpdateParticle); } private function UpdateParticle(){ _posX = (_posX + (_speedX * game_speed)); _posY = (_posY + ((_speedY - 0.5) * game_speed)); _a = (_a - (game_speed * 0.05)); _s = (_s + (game_speed * 0.02)); if (_a <= 0.1){ EndParticle(); } else { _mc.scaleX = _s; _mc.scaleY = _s; _mc.alpha = _a; _mc.x = _posX; _mc.y = _posY; }; } } }//package Code.Particles
Section 184
//Main (Code.Main) package Code { import Code.Data.*; import flash.display.*; import Code.Handler.*; public class Main extends MovieClip { private var _Handler_Output:OutputTrace; private var _Handler_Options:Options; private var _Handler_Sounds:Sounds; private var _this; private var _Handler_MenuMain:MenuMain; private var _Handler_GameMain:GameMain; private var _game_mc:MovieClip; private var _stage; public function Main(_arg1, _arg2){ var _local3:GameMainData; var _local4:MenuMainData; super(); _stage = _arg1; _this = _arg2; _game_mc = new MovieClip(); _stage.addChild(_game_mc); _Handler_Output = new OutputTrace(_stage); _Handler_Sounds = new Sounds(_Handler_Output); _Handler_Options = new Options(_stage, _Handler_Output); _this.contextMenu = _Handler_Options.CustomizedContextMenu(); _local3 = new GameMainData(); _local3.game_mc = _game_mc; _local3.stage_temp = _stage; _local3.Handler_Output = _Handler_Output; _local3.Handler_Options = _Handler_Options; _local3.Handler_Sounds = _Handler_Sounds; _Handler_GameMain = new GameMain(_local3); _local4 = new MenuMainData(); _local4.game_mc = _game_mc; _local4.stage_temp = _stage; _local4.Handler_Output = _Handler_Output; _local4.Handler_GameMain = _Handler_GameMain; _local4.Handler_Sounds = _Handler_Sounds; _local4.Handler_Options = _Handler_Options; _Handler_MenuMain = new MenuMain(_local4); _Handler_GameMain.Handler_MenuMain = _Handler_MenuMain; _Handler_MenuMain.OpenMenu(); _Handler_Output.Trace("Game Started Successfully"); _Handler_Output.Trace(""); } } }//package Code
Section 185
//MD5 (com.adobe.crypto.MD5) package com.adobe.crypto { import flash.utils.*; import com.adobe.utils.*; public class MD5 { public static var digest:ByteArray; public static function hash(_arg1:String):String{ var _local2:ByteArray = new ByteArray(); _local2.writeUTFBytes(_arg1); return (hashBinary(_local2)); } public static function hashBytes(_arg1:ByteArray):String{ return (hashBinary(_arg1)); } public static function hashBinary(_arg1:ByteArray):String{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local2:int = 1732584193; var _local3:int = -271733879; var _local4:int = -1732584194; var _local5:int = 271733878; var _local10:Array = createBlocks(_arg1); var _local11:int = _local10.length; var _local12:int; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; digest = new ByteArray(); digest.writeInt(_local2); digest.writeInt(_local3); digest.writeInt(_local4); digest.writeInt(_local5); digest.position = 0; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function createBlocks(_arg1:ByteArray):Array{ var _local2:Array = new Array(); var _local3:int = (_arg1.length * 8); var _local4:int = 0xFF; var _local5:int; while (_local5 < _local3) { _local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32))); _local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3; return (_local2); } } }//package com.adobe.crypto
Section 186
//PNGEncoder (com.adobe.images.PNGEncoder) package com.adobe.images { import flash.utils.*; import flash.display.*; import flash.geom.*; public class PNGEncoder { private static var crcTable:Array; private static var crcTableComputed:Boolean = false; public static function encode(_arg1:BitmapData):ByteArray{ var _local6:uint; var _local7:int; var _local2:ByteArray = new ByteArray(); _local2.writeUnsignedInt(2303741511); _local2.writeUnsignedInt(218765834); var _local3:ByteArray = new ByteArray(); _local3.writeInt(_arg1.width); _local3.writeInt(_arg1.height); _local3.writeUnsignedInt(134610944); _local3.writeByte(0); writeChunk(_local2, 1229472850, _local3); var _local4:ByteArray = new ByteArray(); var _local5:int; while (_local5 < _arg1.height) { _local4.writeByte(0); if (!(_arg1.transparent)){ _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF))); _local7++; }; } else { _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel32(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24)))); _local7++; }; }; _local5++; }; _local4.compress(); writeChunk(_local2, 1229209940, _local4); writeChunk(_local2, 1229278788, null); return (_local2); } private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{ var _local8:uint; var _local9:uint; var _local10:uint; if (!(crcTableComputed)){ crcTableComputed = true; crcTable = []; _local9 = 0; while (_local9 < 0x0100) { _local8 = _local9; _local10 = 0; while (_local10 < 8) { if ((_local8 & 1)){ _local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1)))); } else { _local8 = uint((_local8 >>> 1)); }; _local10++; }; crcTable[_local9] = _local8; _local9++; }; }; var _local4:uint; if (_arg3 != null){ _local4 = _arg3.length; }; _arg1.writeUnsignedInt(_local4); var _local5:uint = _arg1.position; _arg1.writeUnsignedInt(_arg2); if (_arg3 != null){ _arg1.writeBytes(_arg3); }; var _local6:uint = _arg1.position; _arg1.position = _local5; _local8 = 4294967295; var _local7:int; while (_local7 < (_local6 - _local5)) { _local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8)))); _local7++; }; _local8 = uint((_local8 ^ uint(4294967295))); _arg1.position = _local6; _arg1.writeUnsignedInt(_local8); } } }//package com.adobe.images
Section 187
//JSON (com.adobe.serialization.json.JSON) package com.adobe.serialization.json { public class JSON { public static function encode(_arg1:Object):String{ var _local2:JSONEncoder = new JSONEncoder(_arg1); return (_local2.getString()); } public static function decode(_arg1:String){ var _local2:JSONDecoder = new JSONDecoder(_arg1); return (_local2.getValue()); } } }//package com.adobe.serialization.json
Section 188
//JSONDecoder (com.adobe.serialization.json.JSONDecoder) package com.adobe.serialization.json { public class JSONDecoder { private var value; private var tokenizer:JSONTokenizer; private var token:JSONToken; public function JSONDecoder(_arg1:String){ this.tokenizer = new JSONTokenizer(_arg1); this.nextToken(); this.value = this.parseValue(); } public function getValue(){ return (this.value); } private function nextToken():JSONToken{ return ((this.token = this.tokenizer.getNextToken())); } private function parseArray():Array{ var _local1:Array = new Array(); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; while (true) { _local1.push(this.parseValue()); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; if (this.token.type == JSONTokenType.COMMA){ this.nextToken(); } else { this.tokenizer.parseError(("Expecting ] or , but found " + this.token.value)); }; }; return (null); } private function parseObject():Object{ var _local2:String; var _local1:Object = new Object(); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; while (true) { if (this.token.type == JSONTokenType.STRING){ _local2 = String(this.token.value); this.nextToken(); if (this.token.type == JSONTokenType.COLON){ this.nextToken(); _local1[_local2] = this.parseValue(); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; if (this.token.type == JSONTokenType.COMMA){ this.nextToken(); } else { this.tokenizer.parseError(("Expecting } or , but found " + this.token.value)); }; } else { this.tokenizer.parseError(("Expecting : but found " + this.token.value)); }; } else { this.tokenizer.parseError(("Expecting string but found " + this.token.value)); }; }; return (null); } private function parseValue():Object{ if (this.token == null){ this.tokenizer.parseError("Unexpected end of input"); }; switch (this.token.type){ case JSONTokenType.LEFT_BRACE: return (this.parseObject()); case JSONTokenType.LEFT_BRACKET: return (this.parseArray()); case JSONTokenType.STRING: case JSONTokenType.NUMBER: case JSONTokenType.TRUE: case JSONTokenType.FALSE: case JSONTokenType.NULL: return (this.token.value); default: this.tokenizer.parseError(("Unexpected " + this.token.value)); }; return (null); } } }//package com.adobe.serialization.json
Section 189
//JSONEncoder (com.adobe.serialization.json.JSONEncoder) package com.adobe.serialization.json { import flash.utils.*; public class JSONEncoder { private var jsonString:String; public function JSONEncoder(_arg1){ this.jsonString = this.convertToString(_arg1); } public function getString():String{ return (this.jsonString); } private function convertToString(_arg1):String{ if ((_arg1 is String)){ return (this.escapeString((_arg1 as String))); }; if ((_arg1 is Number)){ return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null"); } else { if ((_arg1 is Boolean)){ return ((_arg1) ? "true" : "false"); } else { if ((_arg1 is Array)){ return (this.arrayToString((_arg1 as Array))); }; if ((((_arg1 is Object)) && (!((_arg1 == null))))){ return (this.objectToString(_arg1)); }; }; }; return ("null"); } private function escapeString(_arg1:String):String{ var _local3:String; var _local6:String; var _local7:String; var _local2:String = ""; var _local4:Number = _arg1.length; var _local5:int; while (_local5 < _local4) { _local3 = _arg1.charAt(_local5); switch (_local3){ case "\"": _local2 = (_local2 + "\\\""); break; case "\\": _local2 = (_local2 + "\\\\"); break; case "\b": _local2 = (_local2 + "\\b"); break; case "\f": _local2 = (_local2 + "\\f"); break; case "\n": _local2 = (_local2 + "\\n"); break; case "\r": _local2 = (_local2 + "\\r"); break; case "\t": _local2 = (_local2 + "\\t"); break; default: if (_local3 < " "){ _local6 = _local3.charCodeAt(0).toString(16); _local7 = ((_local6.length == 2)) ? "00" : "000"; _local2 = (_local2 + (("\\u" + _local7) + _local6)); } else { _local2 = (_local2 + _local3); }; }; _local5++; }; return ((("\"" + _local2) + "\"")); } private function arrayToString(_arg1:Array):String{ var _local2:String = ""; var _local3:int; while (_local3 < _arg1.length) { if (_local2.length > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + this.convertToString(_arg1[_local3])); _local3++; }; return ((("[" + _local2) + "]")); } private function objectToString(_arg1:Object):String{ var value:Object; var key:String; var v:XML; var o = _arg1; var s:String = ""; var classInfo:XML = describeType(o); if (classInfo.@name.toString() == "Object"){ for (key in o) { value = o[key]; if ((value is Function)){ } else { if (s.length > 0){ s = (s + ","); }; s = (s + ((this.escapeString(key) + ":") + this.convertToString(value))); }; }; } else { for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) { if (s.length > 0){ s = (s + ","); }; s = (s + ((this.escapeString(v.@name.toString()) + ":") + this.convertToString(o[v.@name]))); }; }; return ((("{" + s) + "}")); } } }//package com.adobe.serialization.json
Section 190
//JSONParseError (com.adobe.serialization.json.JSONParseError) package com.adobe.serialization.json { public class JSONParseError extends Error { private var _location:int; private var _text:String; public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){ super(_arg1); name = "JSONParseError"; this._location = _arg2; this._text = _arg3; } public function get location():int{ return (this._location); } public function get text():String{ return (this._text); } } }//package com.adobe.serialization.json
Section 191
//JSONToken (com.adobe.serialization.json.JSONToken) package com.adobe.serialization.json { public class JSONToken { private var _type:int; private var _value:Object; public function JSONToken(_arg1:int=-1, _arg2:Object=null){ this._type = _arg1; this._value = _arg2; } public function get type():int{ return (this._type); } public function set type(_arg1:int):void{ this._type = _arg1; } public function get value():Object{ return (this._value); } public function set value(_arg1:Object):void{ this._value = _arg1; } } }//package com.adobe.serialization.json
Section 192
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer) package com.adobe.serialization.json { public class JSONTokenizer { private var obj:Object; private var jsonString:String; private var loc:int; private var ch:String; public function JSONTokenizer(_arg1:String){ this.jsonString = _arg1; this.loc = 0; this.nextChar(); } public function getNextToken():JSONToken{ var _local2:String; var _local3:String; var _local4:String; var _local1:JSONToken = new JSONToken(); this.skipIgnored(); switch (this.ch){ case "{": _local1.type = JSONTokenType.LEFT_BRACE; _local1.value = "{"; this.nextChar(); break; case "}": _local1.type = JSONTokenType.RIGHT_BRACE; _local1.value = "}"; this.nextChar(); break; case "[": _local1.type = JSONTokenType.LEFT_BRACKET; _local1.value = "["; this.nextChar(); break; case "]": _local1.type = JSONTokenType.RIGHT_BRACKET; _local1.value = "]"; this.nextChar(); break; case ",": _local1.type = JSONTokenType.COMMA; _local1.value = ","; this.nextChar(); break; case ":": _local1.type = JSONTokenType.COLON; _local1.value = ":"; this.nextChar(); break; case "t": _local2 = ((("t" + this.nextChar()) + this.nextChar()) + this.nextChar()); if (_local2 == "true"){ _local1.type = JSONTokenType.TRUE; _local1.value = true; this.nextChar(); } else { this.parseError(("Expecting 'true' but found " + _local2)); }; break; case "f": _local3 = (((("f" + this.nextChar()) + this.nextChar()) + this.nextChar()) + this.nextChar()); if (_local3 == "false"){ _local1.type = JSONTokenType.FALSE; _local1.value = false; this.nextChar(); } else { this.parseError(("Expecting 'false' but found " + _local3)); }; break; case "n": _local4 = ((("n" + this.nextChar()) + this.nextChar()) + this.nextChar()); if (_local4 == "null"){ _local1.type = JSONTokenType.NULL; _local1.value = null; this.nextChar(); } else { this.parseError(("Expecting 'null' but found " + _local4)); }; break; case "\"": _local1 = this.readString(); break; default: if (((this.isDigit(this.ch)) || ((this.ch == "-")))){ _local1 = this.readNumber(); } else { if (this.ch == ""){ return (null); }; this.parseError((("Unexpected " + this.ch) + " encountered")); }; }; return (_local1); } private function readString():JSONToken{ var _local3:String; var _local4:int; var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.STRING; var _local2:String = ""; this.nextChar(); while (((!((this.ch == "\""))) && (!((this.ch == ""))))) { if (this.ch == "\\"){ this.nextChar(); switch (this.ch){ case "\"": _local2 = (_local2 + "\""); break; case "/": _local2 = (_local2 + "/"); break; case "\\": _local2 = (_local2 + "\\"); break; case "b": _local2 = (_local2 + "\b"); break; case "f": _local2 = (_local2 + "\f"); break; case "n": _local2 = (_local2 + "\n"); break; case "r": _local2 = (_local2 + "\r"); break; case "t": _local2 = (_local2 + "\t"); break; case "u": _local3 = ""; _local4 = 0; while (_local4 < 4) { if (!(this.isHexDigit(this.nextChar()))){ this.parseError((" Excepted a hex digit, but found: " + this.ch)); }; _local3 = (_local3 + this.ch); _local4++; }; _local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16))); break; default: _local2 = (_local2 + ("\\" + this.ch)); }; } else { _local2 = (_local2 + this.ch); }; this.nextChar(); }; if (this.ch == ""){ this.parseError("Unterminated string literal"); }; this.nextChar(); _local1.value = _local2; return (_local1); } private function readNumber():JSONToken{ var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.NUMBER; var _local2:String = ""; if (this.ch == "-"){ _local2 = (_local2 + "-"); this.nextChar(); }; if (!(this.isDigit(this.ch))){ this.parseError("Expecting a digit"); }; if (this.ch == "0"){ _local2 = (_local2 + this.ch); this.nextChar(); if (this.isDigit(this.ch)){ this.parseError("A digit cannot immediately follow 0"); }; } else { while (this.isDigit(this.ch)) { _local2 = (_local2 + this.ch); this.nextChar(); }; }; if (this.ch == "."){ _local2 = (_local2 + "."); this.nextChar(); if (!(this.isDigit(this.ch))){ this.parseError("Expecting a digit"); }; while (this.isDigit(this.ch)) { _local2 = (_local2 + this.ch); this.nextChar(); }; }; if ((((this.ch == "e")) || ((this.ch == "E")))){ _local2 = (_local2 + "e"); this.nextChar(); if ((((this.ch == "+")) || ((this.ch == "-")))){ _local2 = (_local2 + this.ch); this.nextChar(); }; if (!(this.isDigit(this.ch))){ this.parseError("Scientific notation number needs exponent value"); }; while (this.isDigit(this.ch)) { _local2 = (_local2 + this.ch); this.nextChar(); }; }; var _local3:Number = Number(_local2); if (((isFinite(_local3)) && (!(isNaN(_local3))))){ _local1.value = _local3; return (_local1); }; this.parseError((("Number " + _local3) + " is not valid!")); return (null); } private function nextChar():String{ return ((this.ch = this.jsonString.charAt(this.loc++))); } private function skipIgnored():void{ var _local1:int; do { _local1 = this.loc; this.skipWhite(); this.skipComments(); } while (_local1 != this.loc); } private function skipComments():void{ if (this.ch == "/"){ this.nextChar(); switch (this.ch){ case "/": do { this.nextChar(); } while (((!((this.ch == "\n"))) && (!((this.ch == ""))))); this.nextChar(); break; case "*": this.nextChar(); while (true) { if (this.ch == "*"){ this.nextChar(); if (this.ch == "/"){ this.nextChar(); break; }; } else { this.nextChar(); }; if (this.ch == ""){ this.parseError("Multi-line comment not closed"); }; }; break; default: this.parseError((("Unexpected " + this.ch) + " encountered (expecting '/' or '*' )")); }; }; } private function skipWhite():void{ while (this.isWhiteSpace(this.ch)) { this.nextChar(); }; } private function isWhiteSpace(_arg1:String):Boolean{ return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r")))); } private function isDigit(_arg1:String):Boolean{ return ((((_arg1 >= "0")) && ((_arg1 <= "9")))); } private function isHexDigit(_arg1:String):Boolean{ var _local2:String = _arg1.toUpperCase(); return (((this.isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F")))))); } public function parseError(_arg1:String):void{ throw (new JSONParseError(_arg1, this.loc, this.jsonString)); } } }//package com.adobe.serialization.json
Section 193
//JSONTokenType (com.adobe.serialization.json.JSONTokenType) package com.adobe.serialization.json { public class JSONTokenType { public static const UNKNOWN:int = -1; public static const COMMA:int = 0; public static const LEFT_BRACE:int = 1; public static const RIGHT_BRACE:int = 2; public static const LEFT_BRACKET:int = 3; public static const RIGHT_BRACKET:int = 4; public static const COLON:int = 6; public static const TRUE:int = 7; public static const FALSE:int = 8; public static const NULL:int = 9; public static const STRING:int = 10; public static const NUMBER:int = 11; } }//package com.adobe.serialization.json
Section 194
//IntUtil (com.adobe.utils.IntUtil) package com.adobe.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local4:int; var _local5:int; var _local3:String = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } } }//package com.adobe.utils
Section 195
//APIConnector (com.newgrounds.components.APIConnector) package com.newgrounds.components { import flash.utils.*; import flash.events.*; import com.newgrounds.*; import flash.display.*; public class APIConnector extends MovieClip { public var errorDialog:MovieClip; public var background:MovieClip; public var viewLatestButton:SimpleButton; public var closeButton:SimpleButton; public var viewAuthorizedButton:SimpleButton; private var _initialized:Boolean; private var _movieId:String; private var _encryptionKey:String; private var _movieVersion:String; private var _showConnectingPopup:Boolean;// = true private var _useErrorPopup:Boolean;// = true private var _medalPopup:MedalPopup; private var _popDelay:Timer; public function APIConnector(){ this._popDelay = new Timer(3000, 1); super(); addFrameScript(0, this.frame1, 6, this.frame7, 7, this.frame8); if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){ return; }; this.useErrorPopup = true; this.useMedalPopup = true; this._popDelay.addEventListener(TimerEvent.TIMER, this.errorTimerHandler); addEventListener(Event.ENTER_FRAME, this.enterFrameHandler); if (stage){ addEventListener(Event.RENDER, this.renderHandler); stage.invalidate(); } else { this.clear(); }; } public function get movieId():String{ return (this._movieId); } public function set movieId(_arg1:String):void{ this._movieId = _arg1; } public function get encryptionKey():String{ return (this._encryptionKey); } public function set encryptionKey(_arg1:String):void{ this._encryptionKey = _arg1; } public function get movieVersion():String{ return (this._movieVersion); } public function set movieVersion(_arg1:String):void{ this._movieVersion = _arg1; } public function get debugMode():Boolean{ return (API.debugMode); } public function set debugMode(_arg1:Boolean):void{ API.debugMode = true; } public function get useFakeSession():Boolean{ return (API.getFakeSession()); } public function set useFakeSession(_arg1:Boolean):void{ API.setFakeSession(true); } public function get useMedalPopup():Boolean{ return (!((this._medalPopup == null))); } public function set useMedalPopup(_arg1:Boolean):void{ if (((_arg1) && (!(this._medalPopup)))){ this._medalPopup = new MedalPopup(); addChild(this._medalPopup); } else { if (((!(_arg1)) && (this._medalPopup))){ removeChild(this._medalPopup); this._medalPopup = null; }; }; } public function get useErrorPopup():Boolean{ return (this._useErrorPopup); } public function set useErrorPopup(_arg1:Boolean):void{ this._useErrorPopup = _arg1; API.addEventListener(APIEvent.API_CONNECTED, this.movieConnectedHandler); if (this._useErrorPopup){ API.addEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler); API.addEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler); } else { API.removeEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler); API.removeEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler); }; } public function get showConnectingPopup():Boolean{ return (this._showConnectingPopup); } public function set showConnectingPopup(_arg1:Boolean):void{ this._showConnectingPopup = _arg1; if (((!(_arg1)) && ((((currentLabel == "connecting")) || ((currentLabel == "connected")))))){ this.clear(); }; } public function clear():void{ gotoAndStop("idle"); } public function connect():void{ API.setVersion(this._movieVersion); API.connect(root.loaderInfo, this._movieId, this._encryptionKey); visible = true; if (this.showConnectingPopup){ gotoAndStop("connecting"); }; } private function renderHandler(_arg1:Event):void{ removeEventListener(Event.RENDER, this.renderHandler); this.clear(); this.connect(); } private function movieConnectedHandler(_arg1:APIEvent):void{ if (_arg1.success){ if (((((((API.isPublishedHost()) && (API.hostIsCompatible()))) && (!(API.hasUserSession())))) && (!(API.debugMode)))){ gotoAndStop("no_login"); this._popDelay.start(); visible = true; } else { if (this.showConnectingPopup){ gotoAndStop("connected"); }; }; } else { gotoAndStop("no_connect"); this._popDelay.start(); visible = true; }; } private function newVersionAvailableHandler(_arg1:APIEvent):void{ gotoAndStop("new_version"); visible = true; this.centerOnStage(); } private function hostBlockedHandler(_arg1:APIEvent):void{ gotoAndStop("bad_host"); visible = true; this.centerOnStage(); } private function closeButtonClickHandler(_arg1:Event):void{ this.clear(); } private function officialVersionClickHandler(_arg1:Event):void{ API.loadOfficialURL(); } private function enterFrameHandler(_arg1:Event):void{ this.forceAlwaysOnTop(); } private function initButtons():void{ if (this.viewLatestButton){ this.viewLatestButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler); }; if (this.viewAuthorizedButton){ this.viewAuthorizedButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler); }; if (this.closeButton){ this.closeButton.addEventListener(MouseEvent.CLICK, this.closeButtonClickHandler); }; } private function forceAlwaysOnTop():void{ var myIndex:uint; var topIndex:uint; if (((parent) && (visible))){ try { myIndex = parent.getChildIndex(this); topIndex = (parent.numChildren - 1); if (myIndex != topIndex){ parent.setChildIndex(this, topIndex); }; } catch(e:Error) { }; }; } private function centerOnStage():void{ if (stage){ x = (stage.stageWidth / 2); y = (stage.stageHeight / 2); }; } private function errorTimerHandler(_arg1:TimerEvent):void{ if (this.errorDialog){ this.errorDialog.gotoAndPlay("closeme"); } else { this.clear(); }; } function frame1(){ stop(); } function frame7(){ this.initButtons(); } function frame8(){ this.initButtons(); } } }//package com.newgrounds.components
Section 196
//FlashAd (com.newgrounds.components.FlashAd) package com.newgrounds.components { import flash.display.*; import flash.utils.*; import flash.system.*; import flash.events.*; import com.newgrounds.*; import flash.net.*; public class FlashAd extends Sprite { public var background:MovieClip; private var _showBackground:Boolean; private var _adURLLoader:URLLoader; private var _adRect:Sprite; private var _mask:Shape; private var _ad:Loader; private static const DEBUG_AD_URL:String = "http://www.ngads.com/adtest.php"; private static const REMOVED_FROM_STAGE:String = "removedFromStage"; private static var _adResetTime:uint = 0; private static var _adURL:URLRequest; public function FlashAd(_arg1:Boolean=true){ if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){ return; }; Security.allowDomain("server.cpmstar.com"); this._adRect = new Sprite(); this._adRect.graphics.beginFill(0); this._adRect.graphics.moveTo(0, 0); this._adRect.graphics.lineTo(300, 0); this._adRect.graphics.lineTo(300, 250); this._adRect.graphics.lineTo(0, 250); this._adRect.graphics.lineTo(0, 0); this._adRect.graphics.endFill(); this._mask = new Shape(); this._mask.graphics.beginFill(0); this._mask.graphics.moveTo(0, 0); this._mask.graphics.lineTo(300, 0); this._mask.graphics.lineTo(300, 250); this._mask.graphics.lineTo(0, 250); this._mask.graphics.lineTo(0, 0); this._mask.graphics.endFill(); addChild(this._adRect); this._adRect.addChild(this._mask); this._adRect.visible = false; x = Math.round(x); y = Math.round(y); scaleX = 1; scaleY = 1; if (this.background){ if (this.background.ngLinkButton){ this.background.ngLinkButton.addEventListener(MouseEvent.CLICK, this.linkClickHandler); }; if (this.background.loadingClip){ this.background.loadingClip.visible = false; }; }; if (API.isFlashVersion(9, 0, 28)){ addEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage); }; if (API.adsApproved){ this.loadAdFeed(API.adFeedURL); } else { API.addEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false, 0, true); }; this.showBackground = _arg1; } public function get showBackground():Boolean{ return (this._showBackground); } public function set showBackground(_arg1:Boolean):void{ this._showBackground = _arg1; if (this.background){ this.background.visible = _arg1; this._adRect.mask = (_arg1) ? this.background.adMask : null; }; } public function removeAd():void{ removeEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = false; }; if (this._adURLLoader){ try { this._adURLLoader.close(); } catch(e:Error) { }; }; if (this._adRect){ this._adRect.visible = false; }; if (this._ad){ trace("[NewgroundsAPI] :: Ad removed"); try { this._ad.close(); } catch(e:Error) { }; try { Object(this._ad).unloadAndStop(true); } catch(e:Error) { _ad.unload(); }; if (this._ad.parent){ this._ad.parent.removeChild(this._ad); }; }; this._ad = null; } private function onAdsApproved(_arg1:APIEvent):void{ API.removeEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false); if (_arg1.success){ this.loadAdFeed(API.adFeedURL); } else { trace("[NewgroundsAPI] :: No ad feed URL supplied to Newgrounds API ad!"); }; } private function loadAdFeed(_arg1:String):void{ var adFeedURL = _arg1; this._adURLLoader = new URLLoader(); this._adURLLoader.addEventListener(Event.COMPLETE, this.onAdFeedLoaded); this._adURLLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError); this._adURLLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onAdError); if (!(adFeedURL)){ trace("[Newgrounds API] :: Invalid feed URL!"); return; }; if (this.hasAdElapsed){ if (adFeedURL.indexOf("?") > -1){ _adURL = new URLRequest(((adFeedURL + "&random=") + Math.random())); } else { _adURL = new URLRequest(((adFeedURL + "?random=") + Math.random())); }; }; try { this._adURLLoader.load(_adURL); } catch(e:Error) { onAdError(null); }; if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = true; }; } private function loadAd(_arg1:String):void{ var url = _arg1; if (this._ad){ this.removeAd(); }; this._ad = new Loader(); this._ad.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onAdLoaded); this._ad.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError); try { Object(this._ad.contentLoaderInfo).uncaughtErrorEvents.addEventListener("uncaughtError", function (_arg1:Event):void{ }); } catch(error:Error) { }; this._ad.load(new URLRequest(url), new LoaderContext(false, new ApplicationDomain(null))); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = true; }; } private function onAdFeedLoaded(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); if (((_local2.data) && (!((_local2.data == ""))))){ this.loadAd((_local2.data as String)); } else { dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad"))); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = false; }; }; } private function onAdFeedError(_arg1:Event):void{ trace("[NewgroundsAPI] :: Unable to load ad feed!"); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = false; }; } private function onAdError(_arg1:Event):void{ dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad"))); this.removeAd(); } private function onAdLoaded(_arg1:Event):void{ this._adRect.addChild(this._ad); this._ad.mask = this._mask; this._adRect.visible = true; if (this.background){ if (this._showBackground){ this._adRect.mask = this.background.adMask; }; if (this.background.loadingClip){ this.background.loadingClip.visible = false; }; }; trace("[NewgroundsAPI] :: Ad loaded!"); dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, true)); } private function onRemovedFromStage(_arg1:Event):void{ this.removeAd(); } private function get hasAdElapsed():Boolean{ if (getTimer() >= _adResetTime){ _adResetTime = (getTimer() + ((1000 * 60) * 5)); return (true); }; return (false); } private function linkClickHandler(_arg1:MouseEvent):void{ API.loadNewgrounds(); } } }//package com.newgrounds.components
Section 197
//MedalPopup (com.newgrounds.components.MedalPopup) package com.newgrounds.components { import flash.utils.*; import flash.events.*; import com.newgrounds.*; import flash.text.*; import flash.display.*; public class MedalPopup extends MovieClip { public var medalNameText:TextField; public var medalValueText:TextField; public var medalContainer:Sprite; private var _initialized:Boolean; private var _medal:Medal; private var _medalIcon:Bitmap; private var _medalQueue:Array; private var _popDelay:Timer; public function MedalPopup(){ this._medalQueue = []; this._popDelay = new Timer(3000, 1); super(); addFrameScript(0, this.frame1, 9, this.frame10, 18, this.frame19); if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){ return; }; visible = false; addEventListener(Event.ENTER_FRAME, this.enterFrameHandler); stop(); API.addEventListener(APIEvent.MEDAL_UNLOCKED, this.onMedalUnlocked, false, 0, true); this._popDelay.addEventListener(TimerEvent.TIMER, this.timerHandler); } public function get popupTime():Number{ return ((this._popDelay.delay / 1000)); } public function set popupTime(_arg1:Number):void{ if (isNaN(_arg1)){ _arg1 = 3; }; this._popDelay.delay = (_arg1 * 1000); } private function enterFrameHandler(_arg1:Event):void{ var myIndex:uint; var topIndex:uint; var event = _arg1; if (((this._medalQueue.length) && (!(visible)))){ this._medal = this._medalQueue.pop(); this._popDelay.start(); gotoAndPlay("medal_show"); visible = true; }; if (((visible) && (parent))){ try { myIndex = parent.getChildIndex(this); topIndex = (parent.numChildren - 1); if (myIndex != topIndex){ parent.setChildIndex(this, topIndex); }; } catch(error:Error) { }; }; } private function onMedalUnlocked(_arg1:APIEvent):void{ if (((((_arg1.success) && (_arg1.data))) && ((_arg1.data.medal is Medal)))){ this._medalQueue.push(Medal(_arg1.data.medal)); }; } private function showMedalInfo():void{ if (!(this._medal)){ return; }; if (this.medalContainer){ this._medalIcon = this._medal.createIconBitmap(); this.medalContainer.addChild(this._medalIcon); }; if (this.medalNameText){ this.medalNameText.text = this._medal.name; }; if (this.medalValueText){ this.medalValueText.text = (this._medal.value.toString() + "pts"); }; this._popDelay.start(); stop(); } private function timerHandler(_arg1:TimerEvent):void{ if (((this._medalIcon) && (this._medalIcon.parent))){ this._medalIcon.parent.removeChild(this._medalIcon); this._medalIcon = null; }; gotoAndPlay("medal_hide"); this._popDelay.stop(); } function frame1(){ stop(); } function frame10(){ this.showMedalInfo(); stop(); } function frame19(){ stop(); visible = false; } } }//package com.newgrounds.components
Section 198
//API (com.newgrounds.API) package com.newgrounds { import flash.utils.*; import flash.events.*; import flash.display.*; import flash.net.*; import com.adobe.serialization.json.*; import com.adobe.images.*; import com.adobe.crypto.*; import flash.system.*; import com.newgrounds.components.*; public class API { public static const VERSION:String = "2.4.18"; private static const GATEWAY_URL:String = "http://www.ngads.com/gateway_v2.php"; private static const AD_TERMS_URL:String = "http://www.newgrounds.com/wiki/flashads/terms/"; private static const COMMANDS_WIKI_URL:String = "http://www.newgrounds.com/wiki/flashapi/commands/"; private static var do_echo:Boolean = false; private static var _debug:Boolean = true; private static var _connected:Boolean = false; private static var _isMetadataLoaded:Boolean = false; private static var _preloadComplete:Boolean = false; private static var _adsApproved:Boolean = false; private static var _saveGroupId:uint; private static var _saveFileId:uint; private static var _trackerId:uint; private static var _movieId:String; private static var _encryptionKey:String; private static var _url:String; private static var _host:String; private static var connected:Boolean; private static var version:String; private static var ad_url:String; private static var _fakeSession:Boolean = false; private static var publisher_id:uint; private static var session_id:String; private static var user_email:String; private static var user_name:String; private static var user_id:uint; private static var userpage_format:String; private static var _medals:Array; private static var timeoutTimer:Timer = new Timer(8000, 1); private static var _userpageFormat:String; private static var _scoreboards:Array = new Array(); private static var _bridge:Bridge; private static var save_file:SaveFile; private static var _imageFilePath:String; private static var _saveFilePath:String; private static var _saveGroups:Array = []; private static var root:DisplayObject; private static var _eventDispatcher:EventDispatcher = new EventDispatcher(); private static var score_page_counts:Object = new Object(); private static var compression_radix:String = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X"; private static var compressor:BaseN = new BaseN(compression_radix); public static var errors:Dictionary = APIError.init_codes(); private static var sharedObjects:Dictionary = new Dictionary(); private static var _preloadAssets:Array = []; public static var periods:Object = getPeriodAliases(); private static var period_aliases:Object = {t:{name:"Today", alias:"TODAY"}, p:{name:"Yesterday", alias:"YESTERDAY"}, w:{name:"This Week", alias:"THIS_WEEK"}, m:{name:"This Month", alias:"THIS_MONTH"}, y:{name:"This Year", alias:"THIS_YEAR"}, a:{name:"All-Time", alias:"ALL_TIME"}}; private static var secureCommand:String; public static function get adFeedURL():String{ return (ad_url); } public static function get preloadComplete():Boolean{ return (_preloadComplete); } private static function assertConnected():Boolean{ if (!(_connected)){ return (false); }; return (true); } public static function setVersion(_arg1:String):void{ if (((_arg1) && (!((_arg1 == ""))))){ version = _arg1; }; } public static function setUserEmail(_arg1:String):void{ user_email = _arg1; } public static function setFakeSession(_arg1:Boolean):void{ _fakeSession = _arg1; } public static function getFakeSession():Boolean{ return (_fakeSession); } public static function get debugMode():Boolean{ return (_debug); } public static function set debugMode(_arg1:Boolean):void{ _debug = _arg1; } public static function getTrackerID():uint{ return (_trackerId); } public static function getUserID():uint{ return (user_id); } public static function getUserName():String{ return (user_name); } public static function isConnected():Boolean{ return (_connected); } public static function getID():uint{ return (_trackerId); } public static function getOfficialURL():String{ var _local1:String = ((((((GATEWAY_URL + "?tracker_id=") + _movieId) + "&command_id=") + getCommandID("loadOfficalVersion")) + "&seed=") + Math.random()); if (debugMode){ _local1 = (_local1 + "&debug=1"); }; return (_local1); } public static function get adsApproved():Boolean{ return (_adsApproved); } public static function hasUserSession():Boolean{ return (((((!((session_id == null))) && (!((session_id == ""))))) && (!((publisher_id == 0))))); } public static function isNewgrounds():Boolean{ return ((((publisher_id == 1)) || (((_host) && ((_host.toLowerCase().indexOf("ungrounded.net") > -1)))))); } public static function hostIsCompatible():Boolean{ return (!((publisher_id == 0))); } public static function hasUserEmail():Boolean{ return (((!((user_email == null))) && (!((user_email == ""))))); } public static function connectionTimeOut(_arg1:Event=null):void{ dispatchEvent(new APIEvent(APIEvent.API_CONNECTED, false, new APIError("CONNECTION_FAILED", "Connection to NewgroundsAPI gateway timed out."))); } public static function connect(_arg1:LoaderInfo, _arg2:String, _arg3:String=null):void{ var loaderInfo = _arg1; var m_id = _arg2; var encrypt_key = _arg3; if (!(loaderInfo)){ fatalError("Null loaderInfo paremeter passed in to connectMovie!", ""); return; }; try { if (loaderInfo.loader){ loaderInfo = loaderInfo.loader.loaderInfo; }; } catch(error:Error) { }; _url = loaderInfo.url; _host = _url; if ((((_host.indexOf("http://") > -1)) || ((_host.indexOf("https://") > -1)))){ _host = _host.split("/")[2].toLowerCase(); } else { _host = "localhost"; }; var flashVars:Object = loaderInfo.parameters; if (isPublishedHost()){ debugMode = false; }; if (((!(debugMode)) && (flashVars))){ if (flashVars.NewgroundsAPI_UserName){ user_name = flashVars.NewgroundsAPI_UserName; }; if (flashVars.NewgroundsAPI_UserID){ user_id = flashVars.NewgroundsAPI_UserID; }; if (flashVars.NewgroundsAPI_PublisherID){ publisher_id = flashVars.NewgroundsAPI_PublisherID; } else { publisher_id = 0; }; if (flashVars.NewgroundsAPI_UserpageFormat){ _userpageFormat = flashVars.NewgroundsAPI_UserpageFormat; }; if (flashVars.NewgroundsAPI_SessionID){ session_id = flashVars.NewgroundsAPI_SessionID; }; if (flashVars.NewgroundsAPI_SaveGroupID){ _saveGroupId = flashVars.NewgroundsAPI_SaveGroupID; }; if (flashVars.NewgroundsAPI_SaveFileID){ _saveFileId = flashVars.NewgroundsAPI_SaveFileID; }; if (flashVars.NewgroundsAPI_SandboxID){ _bridge = new Bridge(flashVars.NewgroundsAPI_SandboxID); }; } else { publisher_id = 1; if (_fakeSession){ session_id = "D3bu64p1U53R"; user_id = 10; user_name = "API-Debugger"; }; }; if (connected){ fatalError("NewgroundsAPI.connect() - connection already in progress", "connect"); return; }; timeoutTimer.start(); if (!(m_id)){ fatalError("NewgroundsAPI.connectMovie() - missing required movieId parameter", "connectMovie"); }; _movieId = String(m_id); _trackerId = uint(_movieId.substring(0, _movieId.indexOf(":"))); _encryptionKey = encrypt_key; connected = true; sendCommand("connectMovie", {host:getHost(), movie_version:version}); } private static function getHost():String{ return (_host); } public static function isPublishedHost():Boolean{ return (((!((getHost() == "localhost"))) && ((getHost().indexOf("file://") == -1)))); } public static function loadUserPage(_arg1:uint=0, _arg2:String=null):Boolean{ var _local3:String; if ((((_arg1 == 0)) && ((_arg2 == null)))){ if (hasUserSession()){ _arg1 = user_id; _arg2 = user_name; } else { return (false); }; }; if (publisher_id == 1){ _local3 = (("http://" + _arg2.toLowerCase()) + ".newgrounds.com"); navigateToURL(new URLRequest(_local3), "_blank"); return (true); }; if (userpage_format){ _local3 = userpage_format; _local3 = _local3.split(":user_id:").join(_arg1.toString()); _local3 = _local3.split(":user_name:").join(escape(_arg2)); navigateToURL(new URLRequest(_local3), "_blank"); return (true); }; return (false); } public static function loadNewgrounds():void{ sendCommand("loadNewgrounds", {host:getHost()}, true); } public static function loadOfficialURL():void{ navigateToURL(new URLRequest(getOfficialURL())); } public static function loadMySite():void{ sendCommand("loadMySite", {host:getHost()}, true); } public static function loadCustomLink(_arg1:String):void{ sendCommand("loadCustomLink", {host:getHost(), link:_arg1}, true); } public static function logCustomEvent(_arg1:String):void{ sendCommand("logCustomEvent", {host:getHost(), event:_arg1}); } public static function getScoreBoard(_arg1:String):ScoreBoard{ var _local2:ScoreBoard; for each (_local2 in _scoreboards) { if (_local2.name == _arg1){ return (_local2); }; }; return (null); } public static function getScoreBoardById(_arg1:uint):ScoreBoard{ var _local2:ScoreBoard; for each (_local2 in _scoreboards) { if (_local2.id == _arg1){ return (_local2); }; }; return (null); } public static function postScore(_arg1:String, _arg2:uint, _arg3:String=""):void{ if (((!(_arg1)) || ((_arg1 == "")))){ sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)")); return; }; if (_arg3 == null){ _arg3 = ""; }; sendSecureCommand("postScore", {user_name:user_name, board:_arg1, value:_arg2, publisher_id:publisher_id, tag:_arg3}); } public static function loadScores(_arg1:String, _arg2:String=null, _arg3:String=null):void{ var _local4:String = "loadScores"; var _local5:ScoreBoard = getScoreBoard(_arg1); if (((!(_local5)) || (!(_local5.id)))){ sendError({command_id:getCommandID(_local4)}, new APIError("MISSING_PARAM", "missing required ScoreBoard instance")); return; }; var _local6:Object = {}; _local6.publisher_id = publisher_id; if (_arg2){ _local6.period = _arg2; } else { _local6.period = _local5.period; }; _local6.board = _local5.id; _local6.num_results = _local5.num_results; _local6.page = _local5.page; if (((!(_arg3)) || ((_arg3 == "")))){ _local6.tag = _local5.tag; } else { _local6.tag = _arg3; }; sendCommand(_local4, _local6); } public static function loadScoresInRange(_arg1:String, _arg2:String="All-Time", _arg3:uint=1, _arg4:uint=10):void{ if (((!(_arg1)) || ((_arg1 == "")))){ sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)")); return; }; var _local5:ScoreBoard = getScoreBoard(_arg1); if (_local5){ _local5.loadScoresInRange(_arg2, _arg3, _arg4); } else { sendWarning((("loadScoresInRange: Scoreboard " + _arg1) + " could not be found.")); }; } private static function populateMedals(_arg1:Array):void{ var _local2:uint; var _local3:Object; if (_medals === null){ _medals = new Array(); _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; _medals.push(Medal.createFromObject(_local3)); _local2++; }; }; sendMessage("Medals loaded!"); } private static function populateSaveGroups(_arg1:Array):void{ var _local3:SaveGroup; _saveGroups = []; var _local2:uint; while (_local2 < _arg1.length) { _local3 = SaveGroup.createFromObject(_arg1[_local2]); _saveGroups.push(_local3); _local2++; }; } private static function populateScoreBoards(_arg1:Array):void{ _scoreboards = []; var _local2:uint; while (_local2 < _arg1.length) { _scoreboards.push(new ScoreBoard(_arg1[_local2].id, _arg1[_local2].name, "")); _local2++; }; } public static function getMedals():Array{ return (_medals); } public static function getMedalById(_arg1:uint):Medal{ var _local2:Medal; for each (_local2 in _medals) { if (_local2.id == _arg1){ return (_local2); }; }; return (null); } public static function getMedal(_arg1:String):Medal{ var _local2:Medal; for each (_local2 in _medals) { if (_local2.name == _arg1){ return (_local2); }; }; return (null); } public static function unlockMedal(_arg1:String):void{ var _local3:Object; var _local4:Object; if (((!(_arg1)) || ((_arg1 == "")))){ sendError({command_id:getCommandID("unlockMedal")}, new APIError("MISSING_PARAM", "missing required medal name")); return; }; var _local2:Medal = getMedal(_arg1); if (!(_local2)){ sendMessage(("No medal with name: " + _arg1)); return; }; if (((hasUserSession()) || (debugMode))){ sendMessage((("Attempting to unlock '" + _local2.name) + "'")); if (_local2.unlocked){ sendWarning((("Medal '" + _local2.name) + "' is already unlocked!")); return; }; _local3 = new Object(); _local3.medal_id = _local2.id; sendSecureCommand("unlockMedal", _local3); } else { sendMessage(("Locally unlocking " + _local2.name)); if (_local2.unlocked){ sendWarning((("Medal '" + _local2.name) + "' is already unlocked!")); return; }; _local2.unlocked = true; _local4 = loadLocal("medals_unlocked"); if (!(_local4)){ _local4 = new Object(); }; _local4[_local2.id.toString()] = true; saveLocal("medals_unlocked", _local4); callListener(APIEvent.UNLOCK_MEDAL, true, {medal:_local2}); }; } public static function loadMedals():void{ if (_medals){ dispatchEvent(new APIEvent(APIEvent.MEDALS_LOADED, true, {medals:getMedals()})); return; }; var _local1:Object = new Object(); if (hasUserSession()){ _local1.publisher_id = publisher_id; _local1.user_id = user_id; }; sendCommand("getMedals", _local1); } public static function saveLocal(_arg1:String, _arg2:Object, _arg3:uint=0):void{ var sharedObj:SharedObject; var save_id = _arg1; var save_data = _arg2; var size_allocation = _arg3; try { if (!(sharedObjects[save_id])){ sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id)); }; sharedObj = sharedObjects[save_id]; sharedObj.data[save_id] = encodeData(save_data); sharedObj.flush(); } catch(e:Error) { sendWarning(("saveLocal ERROR: " + e)); }; } public static function loadLocal(_arg1:String):Object{ var sharedObj:SharedObject; var save_id = _arg1; try { if (!(sharedObjects[save_id])){ sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id)); }; sharedObj = sharedObjects[save_id]; if (((((sharedObj) && (sharedObj.data))) && (sharedObj.data[save_id]))){ return (decodeData(sharedObj.data[save_id])); } else { return (null); }; } catch(e:Error) { sendWarning(("loadLocal ERROR: " + e)); }; return (null); } public static function encodeData(_arg1:Object):String{ return (compressHex(RC4.encrypt(JSON.encode(_arg1), _encryptionKey))); } public static function decodeData(_arg1:String){ return (JSON.decode(RC4.decrypt(uncompressHex(_arg1), _encryptionKey))); } private static function compressHex(_arg1:String):String{ var _local2:uint = (_arg1.length % 6); var _local3:String = ""; var _local4:uint; while (_local4 < _arg1.length) { _local3 = (_local3 + compressor.encode(uint(("0x" + _arg1.substr(_local4, 6))), 4)); _local4 = (_local4 + 6); }; return ((_local2.toString() + _local3)); } private static function uncompressHex(_arg1:String):String{ var _local4:uint; var _local6:String; var _local7:uint; var _local8:String; var _local2:uint = uint(_arg1.charAt(0)); var _local3:String = ""; var _local5:uint = 1; while (_local5 < _arg1.length) { _local6 = _arg1.substr(_local5, 4); _local7 = uint(compressor.decode(_local6)); _local8 = _local7.toString(16); if ((_local5 + 4) < _arg1.length){ _local4 = 6; } else { _local4 = _local2; }; while (_local8.length < _local4) { _local8 = ("0" + _local8); }; _local3 = (_local3 + _local8); _local5 = (_local5 + 4); }; return (_local3); } public static function getSaveGroupById(_arg1:uint):SaveGroup{ if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){ sendWarning("No save groups found"); return (null); }; var _local2:uint; while (_local2 < _saveGroups.length) { if (_saveGroups[_local2].id == _arg1){ return (_saveGroups[_local2]); }; _local2++; }; return (null); } public static function getSaveGroup(_arg1:String):SaveGroup{ if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){ sendWarning("No save groups found"); return (null); }; var _local2:uint; while (_local2 < _saveGroups.length) { if (_saveGroups[_local2].name == _arg1){ return (_saveGroups[_local2]); }; _local2++; }; return (null); } public static function getCurrentSaveFile(){ return (save_file); } public static function setCurrentSaveFile(_arg1:SaveFile){ save_file = _arg1; } public static function newSaveQuery(_arg1:String):SaveGroupQuery{ var _local2:SaveGroup = getSaveGroup(_arg1); if (_local2){ return (_local2.newQuery()); }; return (null); } public static function executeSaveQuery(_arg1:SaveGroupQuery):void{ sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.groupId, query:JSON.encode(_arg1.toObject())}, false, null, _arg1); } public static function lookupSaveFiles(_arg1:SaveGroup):void{ var _local2:SaveGroupQuery = _arg1.getQuery(false); sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.id, query:_local2.toObject()}, false, null, _local2); } public static function checkFilePrivledges(_arg1:SaveFile):void{ sendCommand("checkFilePrivs", {group:_arg1.groupId, filename:_arg1.name, user_id:(user_id) ? user_id : 0, publisher_id:publisher_id}); } public static function newSaveFile(_arg1:String):SaveFile{ var _local2:SaveGroup = getSaveGroup(_arg1); if (_local2){ return (new SaveFile(_local2)); }; sendError({command_id:"newSaveFile"}, new APIError("INVALID_SAVE_GROUP", (("'" + _local2) + "' is not a valid save group."))); return (null); } public static function saveFile(_arg1:SaveFile, _arg2:Boolean=false, _arg3:Boolean=false):void{ var _local4:Object = _arg1.toObject(); _local4.user_name = user_name; if (_arg1.id){ _local4.save_id = _arg1.id; }; _local4.overwrite = (_arg2) ? 1 : 0; if (_arg3){ _local4.draft = 1; }; var _local5:ByteArray = new ByteArray(); if ((_arg1.contents is ByteArray)){ _local5.writeByte(0); _local5.writeBytes(_arg1.contents); } else { _local5.writeByte(1); _local5.writeObject(_arg1.contents); }; _local5.compress(); var _local6:Object = new Object(); _local6.file = _local5; if (_arg1.thumbnail){ _local6.thumbnail = PNGEncoder.encode(_arg1.thumbnail); }; save_file = _arg1; sendSecureCommand("saveFile", _local4, null, _local6, _arg1); } public static function rateSaveFile(_arg1:SaveFile, _arg2:SaveRating, _arg3:Number):void{ sendSecureCommand("rateSaveFile", {group:_arg1.groupId, save_id:_arg1.id, rating_id:_arg2.id, vote:_arg3, user_id:user_id}, null, null, _arg1); } public static function loadSaveFile(_arg1:Number, _arg2:Boolean=true){ var _local3:Object = {publisher_id:publisher_id, save_id:_arg1, get_contents:_arg2}; save_file = null; sendCommand("loadSaveFile", _local3); } public static function loadFilesByDate(_arg1:String, _arg2:Boolean=true, _arg3:String=null, _arg4=null):void{ var _local7:*; var _local5:SaveGroup = getSaveGroup(_arg1); if (!(_local5)){ _local7 = new APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name."); sendError({command_id:"loadFilesByDate"}, _local7); return; }; var _local6:SaveGroupQuery = _local5.newQuery(); if (_arg3){ _local6.addKeyCondition(_arg3, "=", _arg4); }; _local6.sortOn(SaveGroupQuery.CREATED_ON, _arg2); _local6.execute(); } public static function loadFilesByViews(_arg1:String, _arg2:Boolean=true, _arg3:String=null, _arg4=null):void{ var _local7:*; var _local5:SaveGroup = getSaveGroup(_arg1); if (!(_local5)){ _local7 = new APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name."); sendError({command_id:"loadFilesByViews"}, _local7); return; }; var _local6:SaveGroupQuery = _local5.newQuery(); if (_arg3){ _local6.addKeyCondition(_arg3, "=", _arg4); }; _local6.sortOn(SaveGroupQuery.TOTAL_VIEWS, _arg2); _local6.execute(); } public static function loadFilesByRating(_arg1:String, _arg2:String, _arg3:Boolean=true, _arg4:String=null, _arg5=null):void{ var _local8:*; var _local6:SaveGroup = getSaveGroup(_arg1); if (!(_local6)){ _local8 = new APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name."); sendError({command_id:"loadFilesByDate"}, _local8); return; }; var _local7:SaveGroupQuery = _local6.newQuery(); if (_arg4){ _local7.addKeyCondition(_arg4, "=", _arg5); }; _local7.sortOnRating(_arg2, _arg3); _local7.execute(); } public static function onRemoteAuthentication(_arg1:String){ var _local2:Object = JSON.decode(RC4.decrypt(_arg1, _encryptionKey)); user_id = _local2.NewgroundsAPI_UserID; user_name = _local2.NewgroundsAPI_UserName; session_id = _local2.NewgroundsAPI_SessionID; publisher_id = _local2.NewgroundsAPI_PublisherID; } private static function doEvent(_arg1:Object):void{ var _local2:String; var _local3:Object; var _local4:String; var _local5:Boolean; var _local6:ScoreBoard; var _local7:Array; var _local8:*; var _local9:String; var _local10:Medal; var _local11:SaveGroup; var _local12:Object; var _local13:Object; var _local14:Object; var _local15:SaveFile; var _local16:uint; var _local17:Object; var _local18:uint; var _local19:APIError; var _local20:Object; switch (getCommandName(_arg1.command_id)){ case "connectMovie": timeoutTimer.stop(); if (_arg1.success){ sendMessage("You have successfully connected to the Newgrounds API Gateway"); sendMessage((("Movie identified as \"" + _arg1.movie_name) + "\"")); callListener(APIEvent.API_CONNECTED, _arg1.success, {title:_arg1.movie_name}); } else { callListener(APIEvent.API_CONNECTED, _arg1.success, {}); return; }; _local5 = false; if (_arg1.ad_status === -1){ _local2 = "This movie was not approved to run Flash Ads."; sendWarning(_local2); sendWarning((("visit " + AD_TERMS_URL) + " to view our approval guidelines")); if (!(_arg1.ad_url)){ callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2)); } else { _local5 = true; }; } else { if (_arg1.ad_status === 0){ _local2 = "Flash Ads are currently awaiting approval."; sendNotice(_local2); if (!(_arg1.ad_url)){ callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2)); } else { _local5 = true; }; }; }; if (_arg1.ad_url){ ad_url = unescape(_arg1.ad_url); if (!(_local5)){ sendMessage("This movie has been approved to run Flash Ads!"); }; _adsApproved = true; callListener(APIEvent.ADS_APPROVED, true); }; if (_arg1.deny_host){ _local2 = (getHost() + " does not have permission to run this movie!"); sendWarning(_local2); sendWarning(("\tUpdate your API configuration to unblock " + getHost())); callListener(APIEvent.HOST_BLOCKED, true, {real_url:unescape(_arg1.movie_url), url:getOfficialURL()}); }; if (_arg1.movie_version){ sendWarning("According to your API Configuration, this version is out of date."); if (version){ sendWarning(("\tThe this movie is version " + version)); }; sendWarning(("\tThe most current version is " + _arg1.movie_version)); callListener(APIEvent.NEW_VERSION_AVAILABLE, true, {version:_arg1.movie_version, real_url:unescape(_arg1.movie_url), url:getOfficialURL()}); }; if (_arg1.request_portal_url){ sendCommand("setPortalID", {portal_url:_url}); }; sendCommand("preloadSettings", {publisher_id:publisher_id, user_id:user_id}); break; case "preloadSettings": if (_arg1.medals){ populateMedals(_arg1.medals); if (((!(hasUserSession())) && (!(debugMode)))){ echo("Checking for SharedObject Medals..."); _local8 = loadLocal("medals_unlocked"); if (_local8){ for (_local9 in _local8) { if (_local8[_local9]){ _local10 = getMedalById(uint(_local9)); echo(("Now unlocking " + _local10.name)); _local10.unlocked = true; }; }; }; }; }; if (_arg1.save_groups){ populateSaveGroups(_arg1.save_groups); }; if (_arg1.save_file_path){ _saveFilePath = (_arg1.save_file_path + "/"); }; if (_arg1.image_file_path){ _imageFilePath = (_arg1.image_file_path + "/"); }; if (_arg1.score_boards){ populateScoreBoards(_arg1.score_boards); }; sendMessage("Metadata loaded!"); callListener(APIEvent.METADATA_LOADED, _arg1.success); if (((_saveFileId) && (_saveGroupId))){ _local11 = getSaveGroupById(_saveGroupId); if (_local11){ callListener(APIEvent.FILE_REQUESTED, true, {save_id:_saveFileId, group:_local11}); }; }; _preloadComplete = true; break; case "logCustomEvent": if (_arg1.success){ sendMessage((("Event '" + _arg1.event) + "' was logged.")); }; callListener(APIEvent.EVENT_LOGGED, _arg1.success, {event:_arg1.event}); break; case "postScore": if (_arg1.success){ _local4 = "User"; if (user_email){ _local4 = user_email; } else { if (user_name){ _local4 = user_name; }; }; _local6 = getScoreBoardById(_arg1.board); if (_local6){ sendMessage((((((_local4 + " posted ") + _arg1.value) + " to '") + _local6.name) + "'")); }; if (_arg1.best_scores){ _local12 = {today:_arg1.best_scores.D, yesterday:_arg1.best_scores.P, week:_arg1.best_scores.W, year:_arg1.best_scores.Y, all_time:_arg1.best_scores.A}; } else { _local12 = {}; }; if (_arg1.best_ranks){ _local13 = {today:_arg1.best_ranks.D, yesterday:_arg1.best_ranks.P, week:_arg1.best_ranks.W, year:_arg1.best_ranks.Y, all_time:_arg1.best_ranks.A}; } else { _local13 = {}; }; if (_arg1.num_scores){ _local14 = {today:_arg1.num_scores.D, yesterday:_arg1.num_scores.P, week:_arg1.num_scores.W, year:_arg1.num_scores.Y, all_time:_arg1.num_scores.A}; } else { _local14 = {}; }; _local3 = {score:_arg1.score, value:_arg1.value, username:_local4, best_scores:_local12, best_ranks:_local13, num_scores:_local14}; }; callListener(APIEvent.SCORE_POSTED, _arg1.success, _local3); break; case "loadScores": _local3 = new Object(); _local6 = getScoreBoardById(_arg1.board); if (_local6){ _local6.setScores(_arg1.scores, _arg1.period, _arg1.page, _arg1.num_results, _arg1.num_scores); }; callListener(APIEvent.SCORES_LOADED, _arg1.success, {board:_local6}); break; case "unlockMedal": if (_medals){ _local10 = getMedal(_arg1.medal_name); if (_local10.unlocked){ return; }; _local10.unlocked = true; callListener(APIEvent.MEDAL_UNLOCKED, _arg1.success, {medal_id:_local10.id, medal:_local10}); }; break; case "getMedals": if (_arg1.success){ populateMedals(_arg1.medals); }; callListener(APIEvent.MEDALS_LOADED, _arg1.success, _local3); break; case "loadSaveFile": if (_arg1.success){ _local11 = getSaveGroupById(_arg1.group_id); _local15 = new SaveFile(_local11); _local15.id = _arg1.file.save_id; _local15.name = _arg1.file.filename; _local15.fileUrl = (_saveFilePath + _arg1.file.file); _local15.thumbnailUrl = (_imageFilePath + _arg1.file.thumb); _local15.authorName = _arg1.file.user_name; _local15.authorId = _arg1.file.user_id; _local15.setStatus(_arg1.file.status); _local15.description = _arg1.file.description; _local15.setFileSize(_arg1.file.file_size); if (((_arg1.file.keys) && (_arg1.file.keys.length))){ _local16 = 0; while (_local16 < _arg1.file.keys.length) { _local15.setKey(_arg1.file.keys[_local16].id, _arg1.file.keys[_local16].value); _local16++; }; }; if (((_arg1.file.ratings) && (_arg1.file.ratings.length))){ _local16 = 0; while (_local16 < _arg1.file.ratings.length) { _local15.setRating(_arg1.file.ratings[_local16].id, _arg1.file.ratings[_local16].votes, _arg1.file.ratings[_local16].score); _local16++; }; }; if (_arg1.get_contents){ _local15.loadContents(); }; }; save_file = _local15; callListener(APIEvent.FILE_INITIALIZED, _arg1.success, {save_id:_local15.id, file:_local15}); break; case "lookupSaveFiles": _local7 = []; if (((_arg1.success) && (_arg1.files))){ _local16 = 0; while (_local16 < _arg1.files.length) { _local17 = _arg1.files[_local16]; _local15 = new SaveFile(getSaveGroupById(_arg1.group_id)); _local15.name = _local17.filename; _local15.id = _local17.save_id; _local15.description = _local17.description; _local15.thumbnailUrl = (_imageFilePath + _local17.thumb); _local15.fileUrl = (_saveFilePath + _local17.file); _local15.authorName = _local17.user_name; _local15.authorId = _local17.user_id; _local15.setStatus(_local17.status); _local15.setFileSize(_local17.file_size); if (((_local17.keys) && (_local17.keys.length))){ _local18 = 0; while (_local18 < _local17.keys.length) { _local15.setKey(_local17.keys[_local18].id, _local17.keys[_local18].value); _local18++; }; }; if (((_local17.ratings) && (_local17.ratings.length))){ _local18 = 0; while (_local18 < _local17.ratings.length) { _local15.setRating(_local17.ratings[_local18].id, _local17.ratings[_local18].votes, _local17.ratings[_local18].score); _local18++; }; }; _local7.push(_local15); _local16++; }; }; _arg1.owner.setResults(_local7); _arg1.owner.dispatchEvent(new APIEvent(APIEvent.QUERY_COMPLETE, _arg1.success, {query:_arg1.owner})); callListener(APIEvent.QUERY_COMPLETE, _arg1.success, {query:_arg1.owner}); break; case "rateSaveFile": _local15 = _arg1.owner; _arg1.success = ((_arg1.success) && (!(_arg1.already_voted))); if (_arg1.success){ _local15.setRating(_arg1.rating_id, _arg1.votes, _arg1.score); }; _arg1.file = _local15; if (_arg1.already_voted){ _local19 = new APIError("PERMISSION_DENIED", "You have already voted on this item today"); _local15.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, {error:_local19, file:_local15, save_id:_local15.id})); callListener(APIEvent.VOTE_COMPLETE, _arg1.success, _arg1); } else { _local20 = _local15.getRating(_arg1.rating_id); _local15.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, {rating:_local20, file:_local15, save_id:_local15.id})); API.callListener(APIEvent.VOTE_COMPLETE, _arg1.success, {rating:_local20, file:_local15, save_id:_local15.id}); }; break; case "saveFile": _local3 = {}; if (_arg1.success){ _local3 = {save_id:_arg1.save_id, filename:_arg1.filename, file_url:_arg1.file_url, thumbnail:_arg1.thumbnail, icon:_arg1.icon}; SaveFile(_arg1.owner).fileSaved(_local3); }; _arg1.owner.dispatchEvent(new APIEvent(APIEvent.FILE_SAVED, _arg1.success, {save_id:save_file.id, file:save_file})); callListener(APIEvent.FILE_SAVED, _arg1.success, {save_id:save_file.id, file:save_file}); save_file = null; break; case "checkFilePrivs": _local3 = {filename:_arg1.filename, folder:_arg1.folder, can_read:_arg1.can_read, can_write:_arg1.can_write}; callListener(APIEvent.FILE_PRIVS_LOADED, _arg1.success, _local3); break; }; } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:uint=0, _arg5:Boolean=false):void{ _eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public static function hasEventListener(_arg1:String):Boolean{ return (_eventDispatcher.hasEventListener(_arg1)); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } private static function dispatchEvent(_arg1:Event):void{ _eventDispatcher.dispatchEvent(_arg1); echo(("Fired Event: " + _arg1.type)); } static function callListener(_arg1:String, _arg2:Boolean=true, _arg3=undefined):void{ dispatchEvent(new APIEvent(_arg1, _arg2, _arg3)); if (_bridge){ _bridge.sendEvent(_arg1, {success:_arg2, data:_arg3}); }; } private static function getCommandName(_arg1:String):String{ return (_arg1); } private static function getCommandID(_arg1:String):String{ return (_arg1); } private static function getPeriodAliases():Object{ var _local2:String; var _local1:Object = new Object(); for (_local2 in period_aliases) { _local1[period_aliases[_local2].alias] = _local2; }; return (_local1); } public static function getPeriodName(_arg1:String):String{ var _local2:String; for (_local2 in period_aliases) { if (_local2 == _arg1){ return (period_aliases[_local2].name); }; }; return (null); } public static function getPeriodAlias(_arg1:String):String{ var _local2:String; for (_local2 in period_aliases) { if (_local2 == _arg1){ return (period_aliases[_local2].alias); }; }; return (null); } private static function sendError(_arg1:Object, _arg2:APIError):void{ var _local3:String = ((((("[NewgroundsAPI ERROR] :: " + getCommandName(_arg1.command_id)) + "() - ") + _arg2.name) + ":\n\t\t\t\t") + _arg2.message); trace(_local3); if (_bridge){ _bridge.sendEvent("trace", {data:_local3}); }; } private static function sendWarning(_arg1:String, _arg2:String=null):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n[NewgroundsAPI WARNING] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; trace(_arg1); if (_bridge){ _bridge.sendEvent("trace", {data:_arg1}); }; } private static function sendNotice(_arg1:String, _arg2:String=null):void{ var _local3:String; if (_arg2){ _arg1 = (_arg1 + ((("\n[NewgroundsAPI NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; trace(_arg1); if (_bridge){ _bridge.sendEvent("trace", {data:_arg1}); }; } private static function fatalError(_arg1:String, _arg2:String):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n\tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; trace(("***ERROR*** class=API\n\n" + _arg1)); } public static function openLoginPage(){ if (hasUserSession()){ return; }; } public static function sendSecureCommand(_arg1:String, _arg2:Object, _arg3:Object=null, _arg4:Object=null, _arg5=null):void{ if (((((!(debugMode)) && (!(hasUserSession())))) && (!(hasUserEmail())))){ sendError({command_id:getCommandID(_arg1)}, new APIError("IDENTIFICATION_REQUIRED", (("You must be logged in or provide an e-mail address ( using NewgroundsAPI.setUserEmail(\"name@domain.com\"); ) to use " + _arg1) + "()."))); return; }; if (!(_arg1)){ fatalError("Missing command", "sendSecureCommand"); }; if (!(_arg2)){ fatalError("Missing secure_params", "sendSecureCommand"); }; if (!(_arg3)){ _arg3 = new Object(); }; var _local6:String = ""; var _local7:uint; while (_local7 < 16) { _local6 = (_local6 + compression_radix.charAt(Math.floor((Math.random() * compression_radix.length)))); _local7++; }; if (((debugMode) && (!(session_id)))){ _arg2.session_id = ""; } else { _arg2.session_id = session_id; }; _arg2.as_version = 3; _arg2.user_email = user_email; _arg2.publisher_id = publisher_id; _arg2.seed = _local6; _arg2.command_id = getCommandID(_arg1); var _local8:String = MD5.hash(_local6); var _local9:String = RC4.encrypt(JSON.encode(_arg2), _encryptionKey); var _local10:String = (_local8 + _local9); _arg3.secure = compressHex(_local10); secureCommand = _arg1; sendCommand("securePacket", _arg3, false, _arg4, _arg5); } public static function stopPendingCommands():void{ SmartURLLoader.closeAll(); } private static function onCommandComplete(_arg1:Event):void{ var response:Object; var error:APIError; var e = _arg1; var loader:SmartURLLoader = SmartURLLoader(e.target); echo((("INPUT: \n" + loader.response) + "\n")); var i:uint; while (i < _preloadAssets.length) { if (_preloadAssets[i] == loader){ _preloadAssets.splice(i, 1); break; }; i = (i + 1); }; try { response = JSON.decode(loader.response); } catch(error:Error) { }; if (!(response)){ response = {command_id:loader._command, success:false}; }; response.owner = loader.owner; if (((!(response)) || (!(response.success)))){ if (response.command_id == "connectMovie"){ connected = false; }; error = new APIError(response.error_code, response.error_msg); sendError(response, error); if (response.command_id){ doEvent(response); }; } else { doEvent(response); }; } private static function onCommandError(_arg1:Event):void{ var _local2:Object = {success:false}; var _local3:SmartURLLoader = SmartURLLoader(_arg1.target); _local2.owner = _local3.owner; var _local4:uint; while (_local4 < _preloadAssets.length) { if (_preloadAssets[_local4] == _local3){ _preloadAssets.splice(_local4, 1); break; }; _local4++; }; if (_local3._command){ _local2.command_id = _local3._command; if (_local2.command_id == "connectMovie"){ connected = false; }; doEvent(_local2); }; } private static function sendCommand(_arg1:String, _arg2:Object, _arg3:Boolean=false, _arg4:Object=null, _arg5=null):void{ var _local7:String; var _local8:String; var _local9:String; if (((!(connected)) && (!((_arg1 == "connectMovie"))))){ _local7 = (("NewgroundsAPI." + _arg1) + "() - NewgroundsAPI.connectMovie() must be called before this command can be called\n"); fatalError(_local7, "connectMovie"); }; var _local6:SmartURLLoader = new SmartURLLoader(); _local6.addVariable("command_id", getCommandID(_arg1)); _local6.addVariable("tracker_id", _movieId); if (debugMode){ _local6.addVariable("debug", 1); }; if (_arg2){ for (_local8 in _arg2) { _local6.addVariable(_local8, _arg2[_local8]); }; }; if (_arg4){ for (_local9 in _arg4) { _local6.addFile(_local9, _arg4[_local9], _local9); }; }; if (_arg3){ _local6.method = URLRequestMethod.GET; } else { _local6.method = URLRequestMethod.POST; }; _local6.preventCache = true; if (_arg3){ _local6.openBrowser = true; _local6.method = URLRequestMethod.GET; } else { _local6.addEventListener(Event.COMPLETE, onCommandComplete); _local6.addEventListener(IOErrorEvent.IO_ERROR, onCommandError); _local6.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onCommandError); _local6.method = URLRequestMethod.POST; }; if (_arg2.secure){ _local6._command = secureCommand; } else { _local6._command = getCommandID(_arg1); }; _local6.owner = _arg5; _local6.load(GATEWAY_URL); } public static function isFlashVersion(_arg1:uint, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0):Boolean{ var _local6:Array = Capabilities.version.split(" ")[1].split(","); var _local7:Array = arguments; var _local8:uint; while (_local8 < _local7.length) { _local6[_local8] = uint(_local6[_local8]); _local8++; }; _local8 = 0; while (_local8 < _local7.length) { if (_local6[_local8] > _local7[_local8]){ return (true); }; if (_local6[_local8] < _local7[_local8]){ return (false); }; _local8++; }; return (true); } public static function createAd():FlashAd{ sendMessage("You may see a security sandbox violation. This is normal!"); return (new FlashAd()); } public static function sendMessage(_arg1:String, _arg2:Boolean=false):void{ var _local3:String = ("[NewgroundsAPI] :: " + _arg1); trace(_local3); if (_bridge){ _bridge.sendEvent("trace", {data:_local3}); }; } private static function echo(_arg1:String):void{ if (do_echo){ trace(_arg1); }; } } }//package com.newgrounds
Section 199
//APIError (com.newgrounds.APIError) package com.newgrounds { import flash.utils.*; public class APIError { public var code:Number;// = 0 public var message:String; public var name:String; public var alias:String; public static const aliases:Array = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_FOLDER", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "CONNECTION_FAILED"); private static const always_caps:Array = new Array("API", "URL", "ID"); public static const error_codes:Object = init_codes(); public static const error_names:Object = init_names(); public function APIError(_arg1, _arg2:String){ if ((_arg1 is String)){ _arg1 = error_codes[_arg1]; } else { if (!((_arg1 is uint))){ _arg1 = 0; }; }; this.code = _arg1; this.message = _arg2; this.name = error_names[_arg1]; this.alias = aliases[_arg1]; } public function isError():Boolean{ return (true); } public static function init_codes():Dictionary{ var _local1:Dictionary = new Dictionary(); var _local2:uint; while (_local2 < aliases.length) { _local1[aliases[_local2]] = _local2; _local2++; }; return (_local1); } private static function init_names():Array{ var _local3:Array; var _local4:uint; var _local5:String; var _local1:Array = new Array(); var _local2:uint; while (_local2 < aliases.length) { _local3 = aliases[_local2].toLowerCase().split("_"); _local4 = 0; while (_local4 < _local3.length) { _local3[_local4] = (_local3[_local4].substr(0, 1).toUpperCase() + _local3[_local4].substr(1, _local3[_local4].length)); for each (_local5 in always_caps) { if (_local3[_local4].toUpperCase() == _local5){ _local3[_local4] = _local3[_local4].toUpperCase(); }; }; _local4++; }; _local1[_local2] = _local3.join(" "); _local2++; }; return (_local1); } } }//package com.newgrounds
Section 200
//APIEvent (com.newgrounds.APIEvent) package com.newgrounds { import flash.events.*; public class APIEvent extends Event { private var _data; private var _success:Boolean; private var _target; private var _error:APIError; public static const API_CONNECTED:String = "movieConnected"; public static const ADS_APPROVED:String = "adsApproved"; public static const AD_ATTACHED:String = "adAttached"; public static const HOST_BLOCKED:String = "hostBlocked"; public static const NEW_VERSION_AVAILABLE:String = "newVersionAvailable"; public static const EVENT_LOGGED:String = "eventLogged"; public static const SCORE_POSTED:String = "scorePosted"; public static const SCORES_LOADED:String = "scoresLoaded"; public static const UNLOCK_MEDAL:String = "unlockMedal"; public static const MEDAL_UNLOCKED:String = "medalUnlocked"; public static const MEDALS_LOADED:String = "medalsLoaded"; public static const METADATA_LOADED:String = "metadataLoaded"; public static const FILE_PRIVS_LOADED:String = "filePrivsLoaded"; public static const FILE_SAVED:String = "fileSaved"; public static const FILE_LOADED:String = "fileLoaded"; public static const FILE_INITIALIZED:String = "fileInitialized"; public static const FILE_REQUESTED:String = "fileRequested"; public static const QUERY_COMPLETE:String = "queryComplete"; public static const VOTE_COMPLETE:String = "voteComplete"; public function APIEvent(_arg1:String, _arg2:Boolean=true, _arg3=undefined){ super(_arg1); this._data = _arg3; this._success = _arg2; } public function get success():Boolean{ return (this._success); } public function get data(){ return (this._data); } } }//package com.newgrounds
Section 201
//BaseN (com.newgrounds.BaseN) package com.newgrounds { import flash.utils.*; public class BaseN { private var _hashIndex:String; private var _hashVal:Dictionary; private var _base:Number; public function BaseN(_arg1:String=null){ if (_arg1){ this._hashIndex = _arg1; } else { this._hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/"; }; this._base = this._hashIndex.length; this._hashVal = new Dictionary(); var _local2:uint; while (_local2 < this._base) { this._hashVal[this._hashIndex.charAt(_local2)] = _local2; _local2++; }; } public function encode(_arg1:Number, _arg2:uint=1):String{ var _local3:String = _arg1.toString(); var _local4:String = ""; if (_local3.charAt(0) == "-"){ _local4 = "-"; _local3 = _local3.substring(1); }; var _local5:Array = _local3.split(".", 2); _local4 = (_local4 + this.baseNEncoder(_local5[0], _arg2)); if (_local5.length > 1){ _local4 = (_local4 + ("." + this.baseNEncoder(_local5[1]))); }; return (_local4); } public function decode(_arg1:String):Number{ var _local2:String = ""; if (_arg1.charAt(0) == "-"){ _local2 = "-"; _arg1 = _arg1.substring(1); }; var _local3:Array = _arg1.split(".", 2); _local2 = (_local2 + this.baseNDecoder(_local3[0])); if (_local3.length > 1){ _local2 = (_local2 + "."); _local2 = (_local2 + this.baseNDecoder(_local3[1])); }; return (Number(_local2)); } private function baseNEncoder(_arg1:uint, _arg2:uint=1):String{ var _local3:String = ""; var _local4:uint = _arg1; while (_local4 != 0) { _local3 = (this._hashIndex.charAt((_local4 % this._base)) + _local3); _local4 = (_local4 / this._base); }; if (_arg2){ while (_local3.length < _arg2) { _local3 = (this._hashIndex.charAt(0) + _local3); }; }; return (_local3); } private function baseNDecoder(_arg1:String):uint{ var _local2:uint; var _local3:uint; while (_local3 < _arg1.length) { _local2 = (_local2 * this._base); _local2 = (_local2 + this._hashVal[_arg1.charAt(_local3)]); _local3++; }; return (_local2); } } }//package com.newgrounds
Section 202
//Bridge (com.newgrounds.Bridge) package com.newgrounds { import flash.net.*; import flash.events.*; public class Bridge { private var _inConnection:LocalConnection; private var _outConnection:LocalConnection; private var _widgetId:String; public function Bridge(_arg1:String){ this._widgetId = _arg1; this._inConnection = new LocalConnection(); this._outConnection = new LocalConnection(); this._inConnection.client = this; this._inConnection.connect(("rec_" + this._widgetId)); this._outConnection.addEventListener(StatusEvent.STATUS, this.onStatus); } public function sendCommand(_arg1:String, _arg2:Object):void{ if (this._outConnection){ this._outConnection.send(this._widgetId, "sendCommand", _arg1, this.scrubParameters(_arg2)); }; } public function sendEvent(_arg1:String, _arg2:Object):void{ if (this._outConnection){ this._outConnection.send(this._widgetId, "sendEvent", _arg1, this.scrubParameters(_arg2)); }; } public function receiveEvent(_arg1:String, _arg2:Object):void{ API.callListener(_arg1, _arg2.success, _arg2.data); } public function scrubParameters(_arg1:Object):Object{ var _local3:String; var _local2:Object = new Object(); for (_local3 in _arg1) { if ((((((((((_arg1[_local3] is String)) || ((_arg1[_local3] is Number)))) || ((_arg1[_local3] is uint)))) || ((_arg1[_local3] is int)))) || ((_arg1[_local3] is Boolean)))){ _local2[_local3] = _arg1[_local3]; }; }; return (_local2); } private function onStatus(_arg1:Event):void{ } } }//package com.newgrounds
Section 203
//Medal (com.newgrounds.Medal) package com.newgrounds { import flash.display.*; import flash.net.*; import flash.events.*; import flash.system.*; public class Medal { private var _id:uint; private var _name:String; private var _value:uint; private var _difficultyId:uint; private var _unlocked:Boolean;// = false private var _iconUrl:URLRequest; private var _iconLoader:Loader; private var _icon:BitmapData; private static const DEFAULT_ICON:BitmapData = new BitmapData(50, 50, false, 0); private static const DIFFICULT_NAMES:Array = [null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"]; public function Medal(_arg1:uint, _arg2:String, _arg3:uint, _arg4:uint, _arg5:Boolean, _arg6:String){ var id = _arg1; var name = _arg2; var value = _arg3; var difficulty = _arg4; var unlocked = _arg5; var iconUrl = _arg6; this._icon = DEFAULT_ICON; super(); this._id = id; this._name = name; this._value = value; this._difficultyId = difficulty; this._unlocked = unlocked; if (iconUrl){ this._iconUrl = new URLRequest(iconUrl); this._iconLoader = new Loader(); this._iconLoader.contentLoaderInfo.addEventListener(Event.INIT, this.onIconLoaderInit); this._iconLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onIconLoaderError); this._iconLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onIconLoaderError); this._iconLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onIconLoaderComplete); try { this._iconLoader.load(this._iconUrl, new LoaderContext(true)); } catch(e:Error) { onIconLoaderError(null); }; }; } public function get difficulty():String{ return (DIFFICULT_NAMES[this._difficultyId]); } public function get difficultyId():uint{ return (this._difficultyId); } public function get icon():BitmapData{ return (this._icon); } public function get id():uint{ return (this._id); } public function get name():String{ return (this._name); } public function get unlocked():Boolean{ return (this._unlocked); } public function isUnlocked():Boolean{ return (this._unlocked); } public function set unlocked(_arg1:Boolean):void{ this._unlocked = _arg1; } public function get value():uint{ return (this._value); } public function get bytesLoaded():uint{ return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesLoaded : 0); } public function get bytesTotal():uint{ return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesTotal : 0); } public function getID():uint{ return (this._id); } public function getName():String{ return (this._name); } public function getValue():uint{ return (this._value); } public function getDifficulty():String{ return (DIFFICULT_NAMES[this._difficultyId]); } private function onIconLoaderInit(_arg1:Event):void{ } private function onIconLoaderError(_arg1:IOErrorEvent):void{ trace((((("[NewgroundsAPI WARNING] :: Failed to load medal icon for " + this.name) + " (") + this._iconUrl.url.split("/").pop()) + ")")); this._iconLoader.unload(); this._iconLoader = null; } private function onIconLoaderComplete(_arg1:Event):void{ var _local2:Bitmap = (this._iconLoader.content as Bitmap); this._icon = _local2.bitmapData; this._iconLoader.unload(); this._iconLoader = null; } public function unlock():void{ if (!(this._unlocked)){ API.unlockMedal(this._name); }; } public function createIconBitmap():Bitmap{ return (new Bitmap(this.icon)); } public function toString():String{ return (this._name); } public static function createFromObject(_arg1:Object):Medal{ return (new Medal(_arg1.medal_id, _arg1.medal_name, _arg1.medal_value, _arg1.medal_difficulty, _arg1.medal_unlocked, _arg1.medal_icon)); } } }//package com.newgrounds
Section 204
//RC4 (com.newgrounds.RC4) package com.newgrounds { public class RC4 { private static var sbox:Array = new Array(0xFF); private static var mykey:Array = new Array(0xFF); public static function encrypt(_arg1:String, _arg2:String):String{ var _local3:Array = strToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (charsToHex(_local5)); } public static function encryptbin(_arg1:String, _arg2:String):Array{ var _local3:Array = strToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (_local5); } public static function decrypt(_arg1:String, _arg2:String):String{ var _local3:Array = hexToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (charsToStr(_local5)); } private static function initialize(_arg1:Array):void{ var _local3:uint; var _local2:uint; var _local4:uint = _arg1.length; var _local5:uint; while (_local5 <= 0xFF) { mykey[_local5] = _arg1[(_local5 % _local4)]; sbox[_local5] = _local5; _local5++; }; _local5 = 0; while (_local5 <= 0xFF) { _local2 = (((_local2 + sbox[_local5]) + mykey[_local5]) % 0x0100); _local3 = sbox[_local5]; sbox[_local5] = sbox[_local2]; sbox[_local2] = _local3; _local5++; }; } private static function calculate(_arg1:Array, _arg2:Array):Array{ var _local6:uint; var _local7:uint; var _local8:uint; var _local10:uint; initialize(_arg2); var _local3:uint; var _local4:uint; var _local5:Array = new Array(); var _local9:uint; while (_local9 < _arg1.length) { _local3 = ((_local3 + 1) % 0x0100); _local4 = ((_local4 + sbox[_local3]) % 0x0100); _local7 = sbox[_local3]; sbox[_local3] = sbox[_local4]; sbox[_local4] = _local7; _local10 = ((sbox[_local3] + sbox[_local4]) % 0x0100); _local6 = sbox[_local10]; _local8 = (_arg1[_local9] ^ _local6); _local5.push(_local8); _local9++; }; return (_local5); } private static function charsToHex(_arg1:Array):String{ var _local2:String = new String(""); var _local3:Array = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"); var _local4:uint; while (_local4 < _arg1.length) { _local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)])); _local4++; }; return (_local2); } private static function hexToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:uint = ((_arg1.substr(0, 2))=="0x") ? 2 : 0; while (_local3 < _arg1.length) { _local2.push(parseInt(_arg1.substr(_local3, 2), 16)); _local3 = (_local3 + 2); }; return (_local2); } private static function charsToStr(_arg1:Array):String{ var _local2:String = new String(""); var _local3:uint; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(_arg1[_local3])); _local3++; }; return (_local2); } private static function strToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:uint; while (_local3 < _arg1.length) { _local2.push(_arg1.charCodeAt(_local3)); _local3++; }; return (_local2); } } }//package com.newgrounds
Section 205
//SaveFile (com.newgrounds.SaveFile) package com.newgrounds { import flash.utils.*; import flash.display.*; import flash.net.*; import flash.events.*; public class SaveFile extends EventDispatcher { private var _filename:String; private var _id:uint; private var _description:String; private var _contents; private var _loader:SmartURLLoader; private var _group:SaveGroup; private var _keys:Dictionary; private var _ratings:Dictionary; private var _fileUrl:String; private var _thumbnail:BitmapData; private var _thumbnailUrl:String; private var _authorId:uint; private var _authorName:String; private var _contentSize:uint; private var _locked:Boolean; private var _status:uint; private var duplicate_id:uint; private var _draft:Boolean; public static const STATUS_PRIVATE = 1; public static const STATUS_SHARED = 2; public static const STATUS_UNAPPROVED = 3; public static const STATUS_APPROVED = 4; public function SaveFile(_arg1:SaveGroup){ this._keys = new Dictionary(); this._ratings = new Dictionary(); this._group = _arg1; this._description = ""; } public function get name():String{ return (this._filename); } public function set name(_arg1:String):void{ this._filename = _arg1; } public function get id():uint{ return (this._id); } public function set id(_arg1:uint):void{ this._id = _arg1; } public function get description():String{ return (this._description); } public function set description(_arg1:String):void{ this._description = _arg1; } public function get contents(){ return (this._contents); } public function set contents(_arg1):void{ this._contents = _arg1; this._contentSize = 0; } public function get thumbnailUrl():String{ return (this._thumbnailUrl); } public function set thumbnailUrl(_arg1:String):void{ this._thumbnailUrl = _arg1; } public function get fileUrl():String{ return (this._fileUrl); } public function set fileUrl(_arg1:String):void{ this._fileUrl = _arg1; } public function get thumbnail():BitmapData{ return (this._thumbnail); } public function set thumbnail(_arg1:BitmapData):void{ if (this._thumbnail){ this._thumbnail.dispose(); }; this._thumbnail = _arg1.clone(); } public function loadThumbnail():Loader{ var _local1:Loader = new Loader(); if (this._thumbnailUrl){ _local1.load(new URLRequest(this._thumbnailUrl)); }; return (_local1); } public function get bytesLoaded():uint{ return ((this._loader) ? this._loader.bytesLoaded : this._contentSize); } public function get bytesTotal():uint{ return (this._contentSize); } public function get status():uint{ return (this._status); } function setStatus(_arg1:uint):void{ this._status = _arg1; } public function get groupId():uint{ return (this._group.id); } public function get groupName():String{ return (this._group.name); } public function get groupType():uint{ return (this._group.type); } public function get authorName():String{ return (this._authorName); } public function set authorName(_arg1:String):void{ this._authorName = _arg1; } public function get authorId():uint{ return (this._authorId); } public function set authorId(_arg1:uint):void{ this._authorId = _arg1; } public function get draft():Boolean{ return (this._draft); } public function set draft(_arg1:Boolean):void{ this._draft = _arg1; } public function get locked():Boolean{ return (this._locked); } public function get shared():Boolean{ return ((this._status == STATUS_SHARED)); } public function get isPrivate():Boolean{ return ((this._status == STATUS_PRIVATE)); } public function get isPublic():Boolean{ if (this.isPrivate){ return (false); }; if (((this._group.isType("SYSTEM")) || (this._group.isType("PRIVATE")))){ return (false); }; if (this._group.isType("PUBLIC")){ return (true); }; if (this.approved){ return (true); }; return (false); } public function get approved():Boolean{ return ((this._status > STATUS_UNAPPROVED)); } public function get keys():Dictionary{ return (this._keys); } public function get ratings():Dictionary{ return (this._ratings); } function setPermissions(_arg1:uint, _arg2:Boolean){ _arg2 = this._locked; this._status = _arg1; } function setFileSize(_arg1:uint):void{ this._contentSize = _arg1; } public function isLocked():Boolean{ return (this._locked); } public function getDescription():String{ return (this._description); } public function getShared():Boolean{ return (this._draft); } public function getDuplicateID():uint{ return (this.duplicate_id); } public function getKeys():Dictionary{ return (this._keys); } public function getRatings():Dictionary{ return (this._ratings); } public function setKey(_arg1, _arg2):void{ var _local3:SaveKey; if ((_arg1 is String)){ _local3 = this._group.getKeyName(_arg1); } else { _local3 = this._group.getKeyID(_arg1); }; if (_local3){ switch (_local3.type){ case SaveKey.TYPE_BOOLEAN: this._keys[_local3] = {id:_local3.id, value:Boolean(int(_arg2))}; break; case SaveKey.TYPE_FLOAT: this._keys[_local3] = {id:_local3.id, value:Number(_arg2)}; break; case SaveKey.TYPE_INTEGER: this._keys[_local3] = {id:_local3.id, value:int(_arg2)}; break; case SaveKey.TYPE_STRING: default: this._keys[_local3] = {id:_local3.id, value:_arg2.toString()}; break; }; }; } public function getKey(_arg1){ var _local2:SaveKey; if ((_arg1 is String)){ _local2 = this._group.getKeyName(_arg1); } else { _local2 = this._group.getKeyID(_arg1); }; if (_local2){ return (this._keys[_local2]); }; return (null); } public function setRating(_arg1, _arg2:Number, _arg3:Number):void{ var _local4:SaveRating; if ((_arg1 is String)){ _local4 = this._group.getRatingName(_arg1); } else { _local4 = this._group.getRatingID(_arg1); }; if (_local4){ this._ratings[_local4] = {id:_local4.id, name:_local4.name, votes:_arg2, score:_arg3}; }; } public function getRating(_arg1):Object{ var _local2:SaveRating; if ((_arg1 is String)){ _local2 = this._group.getRatingName(_arg1); } else { _local2 = this._group.getRatingID(_arg1); }; if (_local2){ return (this._ratings[_local2]); }; return (null); } public function sendRating(_arg1:String, _arg2:Number):void{ var _local3:SaveRating = this._group.getRatingName(_arg1); if (!(_local3)){ trace((("[NewgroundsAPISaveFile] " + _arg1) + " is not a recognized save file")); return; }; if ((((_arg2 < _local3.minValue)) || ((_arg2 > _local3.maxValue)))){ trace(((("[NewgroundsAPISaveFile] Vote must be between " + _local3.minValue) + " and ") + _local3.maxValue)); return; }; _local3.voted = true; API.rateSaveFile(this, _local3, _arg2); } override public function toString():String{ var _local2:Object; var _local3:Object; var _local1:String = (((((("Save File " + this._filename) + " ID: ") + this._id) + "\n ") + this._description) + "\n"); for each (_local2 in this._keys) { _local1 = (_local1 + ((((" " + this._group.getKeyID(_local2.id).name) + ": ") + _local2.val) + "\n")); }; for each (_local3 in this._ratings) { _local1 = (_local1 + ((((((" " + this._group.getRatingID(_local3.id).name) + "\n Score: ") + _local3.score) + " Votes: ") + _local3.votes) + "\n")); }; return (_local1); } public function toObject():Object{ var _local2:Object; var _local1:Object = {group:this.groupId, filename:this.name, description:this.description, shared:true}; _local1.keys = []; for each (_local2 in this._keys) { _local1.keys.push({id:_local2.id, value:_local2.val}); }; return (_local1); } public function save(_arg1:Boolean=false, _arg2:Boolean=false):void{ API.saveFile(this, _arg1, _arg2); } public function loadContents():void{ if (this._fileUrl){ this._loader = new SmartURLLoader(); this._loader.responseFormat = URLLoaderDataFormat.BINARY; this._loader.addEventListener(Event.COMPLETE, this.onContentsLoaded); this._loader.addEventListener(IOErrorEvent.IO_ERROR, this.onContentsError); this._loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onContentsError); this._loader.load(this._fileUrl); }; } private function onContentsError(_arg1:Event):void{ this._loader = null; dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, false)); API.callListener(APIEvent.FILE_LOADED, false); } private function onContentsLoaded(_arg1:Event):void{ var _local2:ByteArray = _arg1.target.response; this._contentSize = _local2.length; _local2.uncompress(); var _local3:uint = _local2.readUnsignedByte(); if (_local3 == 0){ this._contents = new ByteArray(); this._contents.writeBytes(_local2, 1); } else { this._contents = _local2.readObject(); }; this._loader = null; dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, true, {file:this})); API.callListener(APIEvent.FILE_LOADED, true, {file:this}); } public function loadAuthorPage(){ API.loadUserPage(this._authorId, this._authorName); } function fileSaved(_arg1:Object):void{ this._id = _arg1.save_id; this._thumbnailUrl = _arg1.thumbnail; this._fileUrl = _arg1.file_url; } } }//package com.newgrounds
Section 206
//SaveGroup (com.newgrounds.SaveGroup) package com.newgrounds { public class SaveGroup { private var _name:String; private var _id:uint; private var _type:uint; private var _keys:Array; private var _ratings:Array; private var _files:Array; private var _query:SaveGroupQuery; public static const TYPE_SYSTEM:uint = 0; public static const TYPE_PRIVATE:uint = 1; public static const TYPE_PUBLIC:uint = 2; public static const TYPE_MODERATED:uint = 3; public static const KEY_TYPES:Array = [null, "float", "integer", "string", "boolean"]; public static const TYPES:Object = {SYSTEM:0, PRIVATE:1, PUBLIC:2, MODERATED:3}; public function SaveGroup(_arg1:uint, _arg2:String, _arg3:uint){ this._name = _arg2; this._id = _arg1; this._type = _arg3; this._ratings = []; this._keys = []; this._files = []; this._query = new SaveGroupQuery(this); } public function get name():String{ return (this._name); } public function get id():uint{ return (this._id); } public function get type():uint{ return (this._type); } public function get keys():Array{ return (this._keys); } public function get ratings():Array{ return (this._ratings); } public function get group_id():uint{ return (this._id); } public function get group_name():String{ return (this._name); } public function addRating(_arg1:SaveRating):void{ this._ratings.push(_arg1); } function getRating(_arg1):SaveRating{ var _local2:uint; while (_local2 < this._ratings.length) { if ((((((((_arg1 is uint)) || ((_arg1 is int)))) || ((_arg1 is Number)))) && ((this._ratings[_local2].rating_id == _arg1)))){ return (this._ratings[_local2]); }; if (this._ratings[_local2].name == _arg1){ return (this._ratings[_local2]); }; _local2++; }; return (null); } public function getRatingID(_arg1:uint):SaveRating{ var _local2:uint; while (_local2 < this._ratings.length) { if (this._ratings[_local2].id == _arg1){ return (this._ratings[_local2]); }; _local2++; }; return (null); } public function getRatingName(_arg1:String):SaveRating{ var _local2:uint; while (_local2 < this._ratings.length) { if (this._ratings[_local2].name == _arg1){ return (this._ratings[_local2]); }; _local2++; }; return (null); } public function addKey(_arg1:SaveKey):void{ this._keys.push(_arg1); } public function getKey(_arg1):SaveKey{ var _local2:uint; while (_local2 < this._keys.length) { if ((((((((_arg1 is Number)) || ((_arg1 is uint)))) || ((_arg1 is int)))) && ((this._keys[_local2].key_id == _arg1)))){ return (this._keys[_local2]); }; if (this._keys[_local2].key_name == _arg1){ return (this._keys[_local2]); }; _local2++; }; return (null); } public function getKeyID(_arg1:uint):SaveKey{ var _local2:uint; while (_local2 < this._keys.length) { if (this._keys[_local2].id == _arg1){ return (this._keys[_local2]); }; _local2++; }; return (null); } public function getKeyType(_arg1:String, _arg2:Boolean=false){ var _local3:SaveKey = this.getKey(_arg1); if (_local3){ return ((_arg2) ? KEY_TYPES[_local3.key_type] : _local3.key_type); }; return (null); } public function getKeyName(_arg1:String):SaveKey{ var _local2:uint; while (_local2 < this._keys.length) { if (this._keys[_local2].name == _arg1){ return (this._keys[_local2]); }; _local2++; }; return (null); } public function isType(_arg1:String):Boolean{ return ((TYPES[this._type] == _arg1)); } public function getID():uint{ return (this._id); } public function getName():String{ return (this._name); } public function getQuery(_arg1:Boolean=false){ return ((_arg1) ? this._query.toObject() : this._query); } public function newQuery():SaveGroupQuery{ return (new SaveGroupQuery(this)); } public function newFile():SaveFile{ return (new SaveFile(this)); } public function toString():String{ return ((((((("SaveGroup { name: " + this._name) + ", id: ") + this._id) + ", keys: ") + this._keys) + "}")); } public static function createFromObject(_arg1:Object):SaveGroup{ var _local4:Object; var _local5:Object; var _local2:SaveGroup = new SaveGroup(_arg1.group_id, _arg1.group_name, _arg1.group_type); var _local3:uint; while (_local3 < _arg1.keys.length) { _local4 = _arg1.keys[_local3]; _local2.addKey(new SaveKey(_local4.id, _local4.name, _local4.type)); _local3++; }; _local3 = 0; while (_local3 < _arg1.ratings.length) { _local5 = _arg1.ratings[_local3]; _local2.addRating(new SaveRating(_local5.id, _local5.name, _local5.float, _local5.min, _local5.max)); _local3++; }; return (_local2); } } }//package com.newgrounds
Section 207
//SaveGroupQuery (com.newgrounds.SaveGroupQuery) package com.newgrounds { import flash.events.*; public class SaveGroupQuery extends EventDispatcher { private var _group:SaveGroup; private var _groupBy:Array; private var _lookupKeys:Array; private var _lookupRatings:Array; private var _fileConditions:Array; private var _keyConditions:Array; private var _ratingConditions:Array; private var _sortConditions:Array; private var _page:uint; private var _resultsPerPage:uint; private var _randomizeResults:Boolean; private var _results:Array; public static const TABLE_FILES:uint = 1; public static const TABLE_KEYS:uint = 2; public static const TABLE_RATINGS:uint = 3; public static const FILE_ID:uint = 0; public static const AUTHOR_ID:uint = 1; public static const AUTHOR_NAME:uint = 2; public static const FILE_NAME:uint = 3; public static const CREATED_ON:uint = 4; public static const UPDATED_ON:uint = 5; public static const TOTAL_VIEWS:uint = 6; public static const FILE_STATUS:uint = 7; public static const SCORE:String = "score"; public static const TOTAL_VOTES:String = "votes"; public function SaveGroupQuery(_arg1:SaveGroup){ this._results = []; super(); this._group = _arg1; this.reset(); } public function clearCache():void{ this._results = []; } public function get group():SaveGroup{ return (this._group); } public function get groupId():uint{ return (this._group.id); } public function get resultsPerPage():uint{ return (this._resultsPerPage); } public function set resultsPerPage(_arg1:uint):void{ this._resultsPerPage = _arg1; } public function get page():uint{ return (this._page); } public function set page(_arg1:uint):void{ this._page = _arg1; } public function get randomized():Boolean{ return (this._randomizeResults); } public function set randomized(_arg1:Boolean):void{ this._randomizeResults = _arg1; } public function get results():Array{ return (this._results); } public function reset():void{ this._fileConditions = []; this._keyConditions = []; this._ratingConditions = []; this._sortConditions = []; this._groupBy = []; this._lookupKeys = []; this._lookupRatings = []; this._randomizeResults = false; this._resultsPerPage = 20; this._page = 1; this.clearCache(); } function getGroup():SaveGroup{ return (this._group); } function getGroupID():uint{ return (this._group.getID()); } public function includeKey(_arg1:String):void{ var _local2:SaveKey = this._group.getKeyName(_arg1); if (_local2){ this._lookupKeys.push(_local2.id); }; } public function isRandomized():Boolean{ return (this._randomizeResults); } public function includeRating(_arg1:String):void{ var _local2:SaveRating = this._group.getRatingName(_arg1); if (_local2){ this._lookupRatings.push(_local2.id); }; } public function excludeKey(_arg1:String):void{ var _local2:SaveKey = this._group.getKeyName(_arg1); var _local3:uint; while (_local3 < this._lookupKeys.length) { if (this._lookupKeys[_local3] == _local2.id){ this._lookupKeys.splice(_local3, 1); return; }; _local3++; }; } public function excludeRating(_arg1:String):void{ var _local2:SaveRating = this._group.getRatingName(_arg1); var _local3:uint; while (_local3 < this._lookupRatings.length) { if (this._lookupRatings[_local3] == _local2.id){ this._lookupRatings.splice(_local3, 1); return; }; _local3++; }; } public function groupBy(_arg1:uint):void{ this._groupBy.push({table:TABLE_FILES, field:_arg1}); } public function groupByRating(_arg1:String):void{ var _local2:SaveRating = this._group.getRatingName(_arg1); if (!(_local2)){ return; }; this._groupBy.push({table:TABLE_RATINGS, field:_local2.id}); } public function groupByKey(_arg1:String):void{ var _local2:SaveKey = this._group.getKeyName(_arg1); if (!(_local2)){ return; }; this._groupBy.push({table:TABLE_KEYS, field:_local2.id}); } public function addFileCondition(_arg1:uint, _arg2:String, _arg3):void{ this._fileConditions.push({field:_arg1, operator:_arg2, value:_arg3}); } public function addKeyCondition(_arg1:String, _arg2:String, _arg3):void{ var _local4:SaveKey = this._group.getKeyName(_arg1); if (!(_local4)){ return; }; if (!(this.checkValue(_arg3, _local4.type))){ return; }; this._keyConditions.push({key_id:_local4.id, operator:_arg2, value:_arg3}); } public function addRatingCondition(_arg1:String, _arg2:String, _arg3, _arg4:String="score"):void{ var _local5:SaveRating = this._group.getRatingName(_arg1); if (!(_local5)){ return; }; this._ratingConditions.push({rating_id:_local5.id, operator:_arg2, value:_arg3, column:_arg4}); } private function addSortCondition(_arg1:uint, _arg2:uint, _arg3:Boolean=false, _arg4=null):void{ var _local5:Object = {table:_arg1, field:_arg2, desc:_arg3}; if (_arg4){ _local5.extra = _arg4; }; this._sortConditions.push(_local5); } public function sortOn(_arg1:uint, _arg2:Boolean=false):void{ this.addSortCondition(TABLE_FILES, _arg1, _arg2); } public function sortOnKey(_arg1:String, _arg2:Boolean=false):void{ this.addSortCondition(TABLE_KEYS, this._group.getKeyName(_arg1).id, _arg2); } public function sortOnRating(_arg1:String, _arg2:Boolean=false, _arg3:String="score"):void{ this.addSortCondition(TABLE_RATINGS, this._group.getRatingName(_arg1).id, _arg2, _arg3); } public function sortOnRatingScore(_arg1:String, _arg2:Boolean){ this.sortOnRating(_arg1, _arg2, SCORE); } public function sortOnRatingVotes(_arg1:String, _arg2:Boolean){ this.sortOnRating(_arg1, _arg2, TOTAL_VOTES); } public function setResultsPerPage(_arg1:uint){ this._resultsPerPage = _arg1; this.clearCache(); } public function setPage(_arg1:Number){ this._page = _arg1; this.clearCache(); } public function setRandomize(_arg1:Boolean):void{ this._randomizeResults = _arg1; } public function execute():void{ API.executeSaveQuery(this); } private function checkValue(_arg1, _arg2:uint):Boolean{ return (true); } function setResults(_arg1:Array):void{ this._results = _arg1; } override public function toString():String{ return (""); } public function toObject():Object{ var _local1:Object = {page:this._page, num_results:this._resultsPerPage}; if (this.isRandomized()){ _local1.randomize = 1; }; if (((this._fileConditions) && ((this._fileConditions.length > 0)))){ _local1.file_conditions = this._fileConditions; }; if (((this._keyConditions) && ((this._keyConditions.length > 0)))){ _local1.key_conditions = this._keyConditions; }; if (((this._ratingConditions) && ((this._ratingConditions.length > 0)))){ _local1.rating_conditions = this._ratingConditions; }; if (((this._sortConditions) && ((this._sortConditions.length > 0)))){ _local1.sort_conditions = this._sortConditions; }; if (((this._lookupKeys) && ((this._lookupKeys.length > 0)))){ _local1.lookup_keys = this._lookupKeys; }; if (((this._lookupRatings) && ((this._lookupRatings.length > 0)))){ _local1.lookup_ratings = this._lookupRatings; }; if (((this._groupBy) && ((this._groupBy.length > 0)))){ _local1.group_by = this._groupBy; }; return (_local1); } } }//package com.newgrounds
Section 208
//SaveKey (com.newgrounds.SaveKey) package com.newgrounds { public class SaveKey { private var _id:uint; private var _name:String; private var _type:uint; public static const TYPE_FLOAT:uint = 1; public static const TYPE_INTEGER:uint = 2; public static const TYPE_STRING:uint = 3; public static const TYPE_BOOLEAN:uint = 4; public function SaveKey(_arg1:uint, _arg2:String, _arg3:uint){ this._id = _arg1; this._name = _arg2; this._type = _arg3; } public function get id():uint{ return (this._id); } public function get name():String{ return (this._name); } public function get type():uint{ return (this._type); } public function get key_id():uint{ return (this._id); } public function get key_name():String{ return (this._name); } public function get key_type():uint{ return (this._type); } public function isValueValid(_arg1):Boolean{ if (this._type == TYPE_INTEGER){ return ((((_arg1 is int)) || ((_arg1 is uint)))); }; if (this._type == TYPE_FLOAT){ return ((((((_arg1 is int)) || ((_arg1 is uint)))) || ((_arg1 is Number)))); }; if (this._type == TYPE_STRING){ return ((_arg1 is String)); }; if (this._type == TYPE_BOOLEAN){ return ((((((((_arg1 is Boolean)) || ((_arg1 === 0)))) || ((_arg1 === 1)))) || ((_arg1 == "")))); }; return (false); } public function toString():String{ return (this._name); } } }//package com.newgrounds
Section 209
//SaveRating (com.newgrounds.SaveRating) package com.newgrounds { public class SaveRating { private var _id:uint; private var _name:String; private var _minValue:Number; private var _maxValue:Number; private var _isFloat:Boolean; private var _voted:Boolean; public function SaveRating(_arg1:uint, _arg2:String, _arg3:Boolean, _arg4:Number=-INF, _arg5:Number=INF){ this._id = _arg1; this._name = _arg2; this._isFloat = _arg3; this._minValue = _arg4; this._maxValue = _arg5; } public function get rating_id():uint{ return (this._id); } public function get rating_name():String{ return (this._name); } public function get id():uint{ return (this._id); } public function get name():String{ return (this._name); } public function get minValue():Number{ return (this._minValue); } public function get maxValue():Number{ return (this._maxValue); } public function get isFloat():Boolean{ return (this._isFloat); } public function get voted():Boolean{ return (this._voted); } public function set voted(_arg1:Boolean):void{ this._voted = _arg1; } public function toString():String{ return (this._name); } } }//package com.newgrounds
Section 210
//Score (com.newgrounds.Score) package com.newgrounds { public class Score { private var _board:ScoreBoard; private var _position:uint; private var _username:String; private var _value:String; private var _numeric_value:uint; private var _tag:String; public function Score(_arg1:ScoreBoard, _arg2:Number, _arg3:String, _arg4:String, _arg5:uint, _arg6:String){ this._board = _arg1; this._position = _arg2; this._username = _arg3; this._value = _arg4; this._numeric_value = _arg5; this._tag = _arg6; } public function get board():ScoreBoard{ return (this._board); } public function get position():uint{ return (this._position); } public function get username():String{ return (this._username); } public function get value():String{ return (this._value); } public function get numeric_value():uint{ return (this._numeric_value); } public function get tag():String{ return (this._tag); } } }//package com.newgrounds
Section 211
//ScoreBoard (com.newgrounds.ScoreBoard) package com.newgrounds { import flash.events.*; public class ScoreBoard extends EventDispatcher { private var _name:String; private var _id:uint; private var _scores:Array; private var _period:String;// = "Today" private var _num_results:uint;// = 10 private var _numScores:uint; private var _desiredNumResults:uint; private var _startRank:uint; private var _endRank:uint; private var _page:uint;// = 1 private var _tag:String; public function ScoreBoard(_arg1:uint, _arg2:String, _arg3:String){ this._name = _arg2; this._id = _arg1; this._scores = []; this._tag = _arg3; } public function exists():Boolean{ return ((this._id > 0)); } public function get id():Number{ return (this._id); } public function get name():String{ return (this._name); } public function get period():String{ return (this._period); } public function get page():uint{ return (this._page); } public function get num_results():uint{ return (this._num_results); } public function get scores():Array{ return (this._scores); } public function get tag():String{ return (this._tag); } public function get num_scores():uint{ return (this._numScores); } public function postScore(_arg1:uint, _arg2:String=null):void{ if (_arg2){ this._tag = _arg2; }; API.postScore(this._name, _arg1); } public function loadScores(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{ this._period = _arg1; if (((!(this._period)) || ((this._period == "")))){ this._period = ScoreBoardPeriod.TODAY; }; this._page = _arg2; this._num_results = _arg3; this._desiredNumResults = 0; API.loadScores(this.name); } public function loadScoresInRange(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{ if (_arg2 == 0){ _arg2 = 1; }; if (_arg3 < _arg2){ _arg3 = _arg2; }; this._period = _arg1; if (((!(this._period)) || ((this._period == "")))){ this._period = ScoreBoardPeriod.TODAY; }; this._desiredNumResults = ((_arg3 - _arg2) + 1); this._num_results = this._desiredNumResults; while (int(((_arg2 - 1) / this._num_results)) != int(((_arg3 - 1) / this._num_results))) { this._num_results++; }; this._page = ((_arg2 - 1) / this._num_results); this._startRank = _arg2; this._endRank = _arg3; this._page++; API.loadScores(this.name); } function setScores(_arg1:Array, _arg2:String, _arg3:Number, _arg4:Number, _arg5:uint):void{ var _local7:uint; this._period = _arg2; this._page = _arg3; this._num_results = _arg4; this._numScores = _arg5; this._scores = []; var _local6:uint; while (_local6 < _arg1.length) { _local7 = (((this._num_results * (this._page - 1)) + 1) + _local6); if (((!(this._desiredNumResults)) || ((((_local7 >= this._startRank)) && ((_local7 <= this._endRank)))))){ this._scores.push(new Score(this, _local7, _arg1[_local6].username, _arg1[_local6].value, _arg1[_local6].numeric_value, _arg1[_local6].tag)); }; _local6++; }; this._num_results = this._scores.length; } } }//package com.newgrounds
Section 212
//ScoreBoardPeriod (com.newgrounds.ScoreBoardPeriod) package com.newgrounds { public class ScoreBoardPeriod { public static const TODAY:String = "Today"; public static const WEEK:String = "This Week"; public static const MONTH:String = "This Month"; public static const YEAR:String = "This Year"; public static const ALL_TIME:String = "All-Time"; } }//package com.newgrounds
Section 213
//SmartURLLoader (com.newgrounds.SmartURLLoader) package com.newgrounds { import flash.utils.*; import flash.net.*; import flash.errors.*; import flash.events.*; public class SmartURLLoader extends EventDispatcher { private var _variables:Dictionary; private var _files:Dictionary; private var _hasVariables:Boolean; private var _method:String;// = "GET" private var _urlRequest:URLRequest; private var _urlLoader:URLLoader; private var _dataFormat:String;// = "text" private var _openBrowser:Boolean;// = false private var _preventCache:Boolean;// = false var _command:String; public var owner; private static const CRLF:String = " "; private static var _loaders:Dictionary = new Dictionary(); public function SmartURLLoader(){ this._urlRequest = new URLRequest(); this._variables = new Dictionary(); } public function get responseFormat():String{ return (this._dataFormat); } public function set responseFormat(_arg1:String):void{ this._dataFormat = _arg1; } public function get response(){ return (this._urlLoader.data); } public function get hasFiles():Boolean{ return (Boolean(this._files)); } public function get method():String{ return (this._method); } public function set method(_arg1:String):void{ if (((this.hasFiles) && ((_arg1 == URLRequestMethod.GET)))){ throw (new IllegalOperationError("GET cannot be used to upload files.")); }; this._method = _arg1; } public function get openBrowser():Boolean{ return (this._openBrowser); } public function set openBrowser(_arg1:Boolean):void{ this._openBrowser = _arg1; } public function get preventCache():Boolean{ return (this._preventCache); } public function set preventCache(_arg1:Boolean):void{ this._preventCache = _arg1; } public function get bytesLoaded():uint{ return ((this._urlLoader) ? this._urlLoader.bytesLoaded : 0); } public function get bytesTotal():uint{ return ((this._urlLoader) ? this._urlLoader.bytesTotal : 0); } public function addVariable(_arg1:String, _arg2=""):void{ this._variables[_arg1] = _arg2; if (_arg2){ this._hasVariables = true; }; } public function addFile(_arg1:String, _arg2:ByteArray, _arg3:String, _arg4:String="application/octet-stream"):void{ this.method = URLRequestMethod.POST; if (!(this._files)){ this._files = new Dictionary(); }; this._files[_arg1] = new File(_arg1, _arg2, _arg3, _arg4); } public function clearVariables():void{ this._variables = new Dictionary(); } public function clearFiles():void{ this._files = null; } public function load(_arg1:String):void{ var urlVariables:URLVariables; var key:String; var boundary:String; var i:uint; var event:SecurityErrorEvent; var url = _arg1; this._urlRequest.url = url; if (this._preventCache){ url = (url + ("?seed=" + Math.random())); if (this._hasVariables){ url = (url + "&"); }; }; this._urlRequest.method = this._method; if ((((this._urlRequest.method == URLRequestMethod.GET)) || (!(this.hasFiles)))){ this._urlRequest.contentType = "application/x-www-form-urlencoded"; if (this._hasVariables){ urlVariables = new URLVariables(); for (key in this._variables) { urlVariables[key] = this._variables[key]; }; this._urlRequest.data = urlVariables; }; } else { boundary = ""; i = 0; while (i < 32) { boundary = (boundary + String.fromCharCode(uint((97 + (Math.random() * 25))))); i = (i + 1); }; this._urlRequest.contentType = (("multipart/form-data; boundary=\"" + boundary) + "\""); this._urlRequest.data = this.buildMultipartData(boundary); }; if (this.openBrowser){ navigateToURL(this._urlRequest, "_blank"); } else { this._urlLoader = new URLLoader(); this._urlLoader.dataFormat = this._dataFormat; this._urlLoader.addEventListener(Event.COMPLETE, this.onComplete); this._urlLoader.addEventListener(ProgressEvent.PROGRESS, this.onProgress); this._urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onIOError); this._urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus); this._urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError); _loaders[this._urlLoader] = this; try { this._urlLoader.load(this._urlRequest); } catch(error:Error) { event = new SecurityErrorEvent(SecurityErrorEvent.SECURITY_ERROR, false, false, error.message); onSecurityError(event); }; }; } public function close():void{ try { this._urlLoader.close(); } catch(e:Error) { }; } public function dispose():void{ this.close(); this._files = null; this._variables = null; if (this._urlLoader){ this._urlLoader.removeEventListener(Event.COMPLETE, this.onComplete); this._urlLoader.removeEventListener(ProgressEvent.PROGRESS, this.onProgress); this._urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOError); this._urlLoader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus); this._urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError); this._urlLoader = null; }; this._urlRequest = null; delete _loaders[this]; } private function buildMultipartData(_arg1:String):ByteArray{ var _local3:String; var _local4:File; var _local2:ByteArray = new ByteArray(); _local2.endian = Endian.BIG_ENDIAN; _arg1 = ("--" + _arg1); for (_local3 in this._variables) { _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(((("Content-Disposition: form-data; name=\"" + _local3) + "\"") + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeUTFBytes((this._variables[_local3] + CRLF)); }; if (this.hasFiles){ for each (_local4 in this._files) { _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Filename\"" + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeUTFBytes((_local4.fileName + CRLF)); _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(((((("Content-Disposition: form-data; name=\"" + _local4.dataField) + "\"; filename=\"") + _local4.fileName) + "\"") + CRLF)); _local2.writeUTFBytes((("Content-Type: " + _local4.contentType) + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeBytes(_local4.data); _local2.writeUTFBytes(CRLF); }; _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Upload\"" + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeUTFBytes(("Submit Query" + CRLF)); }; _local2.writeUTFBytes((_arg1 + "--")); _local2.position = 0; _local2.position = 0; return (_local2); } private function onComplete(_arg1:Event):void{ dispatchEvent(_arg1); this.dispose(); } private function onProgress(_arg1:ProgressEvent):void{ dispatchEvent(_arg1); } private function onIOError(_arg1:IOErrorEvent):void{ dispatchEvent(_arg1); this.dispose(); } private function onSecurityError(_arg1:SecurityErrorEvent):void{ dispatchEvent(_arg1); this.dispose(); } private function onHTTPStatus(_arg1:HTTPStatusEvent):void{ dispatchEvent(_arg1); } public static function closeAll():void{ var _local1:SmartURLLoader; for each (_local1 in _loaders) { if (_local1){ _local1.dispose(); }; }; _loaders = new Dictionary(); } } }//package com.newgrounds import flash.utils.*; class File { private var fileName:String; private var data:ByteArray; private var dataField:String; private var contentType:String; private function File(_arg1:String, _arg2:ByteArray, _arg3:String="Filedata", _arg4:String="application/octet-stream"){ this.fileName = _arg1; this.data = _arg2; this.dataField = _arg3; this.contentType = _arg4; } }
Section 214
//Color (fl.motion.Color) package fl.motion { import flash.display.*; import flash.geom.*; public class Color extends ColorTransform { private var _tintMultiplier:Number;// = 0 private var _tintColor:Number;// = 0 public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){ _tintColor = 0; _tintMultiplier = 0; super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function setTint(_arg1:uint, _arg2:Number):void{ var _local3:uint; var _local4:uint; var _local5:uint; this._tintColor = _arg1; this._tintMultiplier = _arg2; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2))); _local3 = ((_arg1 >> 16) & 0xFF); _local4 = ((_arg1 >> 8) & 0xFF); _local5 = (_arg1 & 0xFF); this.redOffset = Math.round((_local3 * _arg2)); this.greenOffset = Math.round((_local4 * _arg2)); this.blueOffset = Math.round((_local5 * _arg2)); } public function set tintColor(_arg1:uint):void{ this.setTint(_arg1, this.tintMultiplier); } public function get brightness():Number{ return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1)); } private function deriveTintColor():uint{ var _local1:Number; var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; _local1 = (1 / this.tintMultiplier); _local2 = Math.round((this.redOffset * _local1)); _local3 = Math.round((this.greenOffset * _local1)); _local4 = Math.round((this.blueOffset * _local1)); _local5 = (((_local2 << 16) | (_local3 << 8)) | _local4); return (_local5); } public function get tintMultiplier():Number{ return (this._tintMultiplier); } public function get tintColor():uint{ return (this._tintColor); } public function set brightness(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (_arg1 > 1){ _arg1 = 1; } else { if (_arg1 < -1){ _arg1 = -1; }; }; _local2 = (1 - Math.abs(_arg1)); _local3 = 0; if (_arg1 > 0){ _local3 = (_arg1 * 0xFF); }; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2)); this.redOffset = (this.greenOffset = (this.blueOffset = _local3)); } public function set tintMultiplier(_arg1:Number):void{ this.setTint(this.tintColor, _arg1); } private function parseXML(_arg1:XML=null):Color{ var _local2:XML; var _local3:XML; var _local4:String; var _local5:uint; if (!(_arg1)){ return (this); }; _local2 = _arg1.elements()[0]; if (!(_local2)){ return (this); }; for each (_local3 in _local2.attributes()) { _local4 = _local3.localName(); if (_local4 == "tintColor"){ _local5 = (Number(_local3.toString()) as uint); this.tintColor = _local5; } else { this[_local4] = Number(_local3.toString()); }; }; return (this); } public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{ var _local4:Number; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; var _local17:uint; _local4 = (1 - _arg3); _local5 = ((_arg1 >> 24) & 0xFF); _local6 = ((_arg1 >> 16) & 0xFF); _local7 = ((_arg1 >> 8) & 0xFF); _local8 = (_arg1 & 0xFF); _local9 = ((_arg2 >> 24) & 0xFF); _local10 = ((_arg2 >> 16) & 0xFF); _local11 = ((_arg2 >> 8) & 0xFF); _local12 = (_arg2 & 0xFF); _local13 = ((_local5 * _local4) + (_local9 * _arg3)); _local14 = ((_local6 * _local4) + (_local10 * _arg3)); _local15 = ((_local7 * _local4) + (_local11 * _arg3)); _local16 = ((_local8 * _local4) + (_local12 * _arg3)); _local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16); return (_local17); } public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{ var _local4:Number; var _local5:ColorTransform; _local4 = (1 - _arg3); _local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3))); return (_local5); } public static function fromXML(_arg1:XML):Color{ return (Color(new (Color).parseXML(_arg1))); } } }//package fl.motion
Section 215
//NewgroundsAPIAsset_FlashAd_Container_2 (FlashAd_fla.NewgroundsAPIAsset_FlashAd_Container_2) package FlashAd_fla { import com.newgrounds.*; import flash.events.*; import flash.display.*; public dynamic class NewgroundsAPIAsset_FlashAd_Container_2 extends MovieClip { public var adMask:MovieClip; public var ngLinkButton:SimpleButton; public function NewgroundsAPIAsset_FlashAd_Container_2(){ addFrameScript(0, this.frame1, 10, this.frame11); } public function onNGLinkClicked(_arg1:MouseEvent):void{ API.loadNewgrounds(); } function frame1(){ this.ngLinkButton.addEventListener(MouseEvent.CLICK, this.onNGLinkClicked); } function frame11(){ gotoAndPlay(1); } } }//package FlashAd_fla
Section 216
//NewgroundsAPIAsset_Load_Indicator_5 (FlashAd_fla.NewgroundsAPIAsset_Load_Indicator_5) package FlashAd_fla { import flash.events.*; import flash.display.*; public dynamic class NewgroundsAPIAsset_Load_Indicator_5 extends MovieClip { public function NewgroundsAPIAsset_Load_Indicator_5(){ addFrameScript(0, this.frame1); } public function onEnterFrame(_arg1:Event):void{ if (((visible) && (stage))){ rotation = (rotation + 30); } else { removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); }; } function frame1(){ addEventListener(Event.ENTER_FRAME, this.onEnterFrame); } } }//package FlashAd_fla
Section 217
//aim_bazooka_agent_428 (Superfighters_fla.aim_bazooka_agent_428) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_agent_428 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 218
//aim_bazooka_billy_505 (Superfighters_fla.aim_bazooka_billy_505) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_billy_505 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 219
//aim_bazooka_boris_283 (Superfighters_fla.aim_bazooka_boris_283) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_boris_283 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 220
//aim_bazooka_funnyman_634 (Superfighters_fla.aim_bazooka_funnyman_634) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_funnyman_634 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 221
//aim_bazooka_jeff_754 (Superfighters_fla.aim_bazooka_jeff_754) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_jeff_754 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 222
//aim_bazooka_johnny_202 (Superfighters_fla.aim_bazooka_johnny_202) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_johnny_202 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 223
//aim_bazooka_mac_694 (Superfighters_fla.aim_bazooka_mac_694) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_mac_694 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 224
//aim_bazooka_scott_565 (Superfighters_fla.aim_bazooka_scott_565) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_scott_565 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 225
//aim_flamethrower_agent_431 (Superfighters_fla.aim_flamethrower_agent_431) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_agent_431 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 226
//aim_flamethrower_billy_508 (Superfighters_fla.aim_flamethrower_billy_508) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_billy_508 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 227
//aim_flamethrower_boris_286 (Superfighters_fla.aim_flamethrower_boris_286) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_boris_286 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 228
//aim_flamethrower_funnyman_637 (Superfighters_fla.aim_flamethrower_funnyman_637) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_funnyman_637 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 229
//aim_flamethrower_jeff_757 (Superfighters_fla.aim_flamethrower_jeff_757) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_jeff_757 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 230
//aim_flamethrower_johnny_205 (Superfighters_fla.aim_flamethrower_johnny_205) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_johnny_205 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 231
//aim_flamethrower_mac_697 (Superfighters_fla.aim_flamethrower_mac_697) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_mac_697 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 232
//aim_flamethrower_scott_568 (Superfighters_fla.aim_flamethrower_scott_568) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_scott_568 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 233
//aim_magnum_agent_418 (Superfighters_fla.aim_magnum_agent_418) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_agent_418 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 234
//aim_magnum_billy_495 (Superfighters_fla.aim_magnum_billy_495) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_billy_495 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 235
//aim_magnum_boris_273 (Superfighters_fla.aim_magnum_boris_273) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_boris_273 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 236
//aim_magnum_funnyman_624 (Superfighters_fla.aim_magnum_funnyman_624) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_funnyman_624 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 237
//aim_magnum_jeff_744 (Superfighters_fla.aim_magnum_jeff_744) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_jeff_744 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 238
//aim_magnum_johnny_192 (Superfighters_fla.aim_magnum_johnny_192) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_johnny_192 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 239
//aim_magnum_mac_684 (Superfighters_fla.aim_magnum_mac_684) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_mac_684 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 240
//aim_magnum_scott_555 (Superfighters_fla.aim_magnum_scott_555) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_scott_555 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 241
//aim_pistol_agent_416 (Superfighters_fla.aim_pistol_agent_416) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_agent_416 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 242
//aim_pistol_billy_493 (Superfighters_fla.aim_pistol_billy_493) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_billy_493 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 243
//aim_pistol_boris_271 (Superfighters_fla.aim_pistol_boris_271) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_boris_271 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 244
//aim_pistol_funnyman_622 (Superfighters_fla.aim_pistol_funnyman_622) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_funnyman_622 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 245
//aim_pistol_jeff_742 (Superfighters_fla.aim_pistol_jeff_742) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_jeff_742 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 246
//aim_pistol_johnny_190 (Superfighters_fla.aim_pistol_johnny_190) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_johnny_190 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 247
//aim_pistol_mac_682 (Superfighters_fla.aim_pistol_mac_682) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_mac_682 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 248
//aim_pistol_scott_553 (Superfighters_fla.aim_pistol_scott_553) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_scott_553 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 249
//aim_rifle_agent_420 (Superfighters_fla.aim_rifle_agent_420) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_agent_420 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 250
//aim_rifle_billy_497 (Superfighters_fla.aim_rifle_billy_497) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_billy_497 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 251
//aim_rifle_boris_275 (Superfighters_fla.aim_rifle_boris_275) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_boris_275 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 252
//aim_rifle_funnyman_626 (Superfighters_fla.aim_rifle_funnyman_626) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_funnyman_626 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 253
//aim_rifle_jeff_746 (Superfighters_fla.aim_rifle_jeff_746) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_jeff_746 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 254
//aim_rifle_johnny_194 (Superfighters_fla.aim_rifle_johnny_194) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_johnny_194 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 255
//aim_rifle_mac_686 (Superfighters_fla.aim_rifle_mac_686) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_mac_686 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 256
//aim_rifle_scott_557 (Superfighters_fla.aim_rifle_scott_557) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_scott_557 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 257
//aim_shotgun_agent_424 (Superfighters_fla.aim_shotgun_agent_424) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_agent_424 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 258
//aim_shotgun_billy_501 (Superfighters_fla.aim_shotgun_billy_501) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_billy_501 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 259
//aim_shotgun_boris_279 (Superfighters_fla.aim_shotgun_boris_279) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_boris_279 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 260
//aim_shotgun_funnyman_630 (Superfighters_fla.aim_shotgun_funnyman_630) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_funnyman_630 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 261
//aim_shotgun_jeff_750 (Superfighters_fla.aim_shotgun_jeff_750) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_jeff_750 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 262
//aim_shotgun_johnny_198 (Superfighters_fla.aim_shotgun_johnny_198) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_johnny_198 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 263
//aim_shotgun_mac_690 (Superfighters_fla.aim_shotgun_mac_690) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_mac_690 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 264
//aim_shotgun_scott_561 (Superfighters_fla.aim_shotgun_scott_561) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_scott_561 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 265
//aim_sniper_agent_426 (Superfighters_fla.aim_sniper_agent_426) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_agent_426 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var LAZER_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 266
//aim_sniper_billy_503 (Superfighters_fla.aim_sniper_billy_503) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_billy_503 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var LAZER_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 267
//aim_sniper_boris_281 (Superfighters_fla.aim_sniper_boris_281) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_boris_281 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var LAZER_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 268
//aim_sniper_funnyman_632 (Superfighters_fla.aim_sniper_funnyman_632) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_funnyman_632 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var LAZER_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 269
//aim_sniper_jeff_752 (Superfighters_fla.aim_sniper_jeff_752) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_jeff_752 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var LAZER_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 270
//aim_sniper_johnny_200 (Superfighters_fla.aim_sniper_johnny_200) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_johnny_200 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var LAZER_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 271
//aim_sniper_mac_692 (Superfighters_fla.aim_sniper_mac_692) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_mac_692 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var LAZER_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 272
//aim_sniper_scott_563 (Superfighters_fla.aim_sniper_scott_563) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_scott_563 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var LAZER_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 273
//aim_throw_agent_433 (Superfighters_fla.aim_throw_agent_433) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_agent_433 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 274
//aim_throw_billy_510 (Superfighters_fla.aim_throw_billy_510) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_billy_510 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 275
//aim_throw_boris_288 (Superfighters_fla.aim_throw_boris_288) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_boris_288 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 276
//aim_throw_funnyman_639 (Superfighters_fla.aim_throw_funnyman_639) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_funnyman_639 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 277
//aim_throw_jeff_759 (Superfighters_fla.aim_throw_jeff_759) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_jeff_759 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 278
//aim_throw_johnny_207 (Superfighters_fla.aim_throw_johnny_207) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_johnny_207 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 279
//aim_throw_mac_699 (Superfighters_fla.aim_throw_mac_699) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_mac_699 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 280
//aim_throw_scott_570 (Superfighters_fla.aim_throw_scott_570) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_scott_570 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 281
//aim_uzi_agent_422 (Superfighters_fla.aim_uzi_agent_422) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_agent_422 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 282
//aim_uzi_billy_499 (Superfighters_fla.aim_uzi_billy_499) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_billy_499 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 283
//aim_uzi_boris_277 (Superfighters_fla.aim_uzi_boris_277) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_boris_277 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 284
//aim_uzi_funnyman_628 (Superfighters_fla.aim_uzi_funnyman_628) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_funnyman_628 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 285
//aim_uzi_jeff_748 (Superfighters_fla.aim_uzi_jeff_748) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_jeff_748 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 286
//aim_uzi_johnny_196 (Superfighters_fla.aim_uzi_johnny_196) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_johnny_196 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 287
//aim_uzi_mac_688 (Superfighters_fla.aim_uzi_mac_688) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_mac_688 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 288
//aim_uzi_scott_559 (Superfighters_fla.aim_uzi_scott_559) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_scott_559 extends MovieClip { public var AIM_POSITION:blank_mc; public var MUZZLE_CENTER:blank_mc; public var SHELL_CENTER:blank_mc; public var FIRE_CENTER:blank_mc; } }//package Superfighters_fla
Section 289
//billboard_804 (Superfighters_fla.billboard_804) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class billboard_804 extends MovieClip { public function billboard_804(){ addFrameScript(0, frame1); } function frame1(){ this.gotoAndStop((Math.floor((Math.random() * (this.totalFrames - 0.0001))) + 1)); } } }//package Superfighters_fla
Section 290
//challenge_map_808 (Superfighters_fla.challenge_map_808) package Superfighters_fla { import flash.display.*; public dynamic class challenge_map_808 extends MovieClip { public var map_pic:MovieClip; public var selection:MovieClip; } }//package Superfighters_fla
Section 291
//com_plate_792 (Superfighters_fla.com_plate_792) package Superfighters_fla { import flash.display.*; public dynamic class com_plate_792 extends MovieClip { public var empty_cover:MovieClip; public var team:MovieClip; public var highlight_1:MovieClip; public var marker_0:MovieClip; public var marker_2:MovieClip; public var marker_5:MovieClip; public var marker_3:MovieClip; public var marker_1:MovieClip; public var highlight_2:MovieClip; public var character_pic:MovieClip; public var highlight_0:MovieClip; public var marker_4:MovieClip; public var difficulty:MovieClip; public var character_name:MovieClip; } }//package Superfighters_fla
Section 292
//confirm_delete_812 (Superfighters_fla.confirm_delete_812) package Superfighters_fla { import flash.display.*; public dynamic class confirm_delete_812 extends MovieClip { public var marker_2:MovieClip; public var marker_1:MovieClip; } }//package Superfighters_fla
Section 293
//Container_4 (Superfighters_fla.Container_4) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class Container_4 extends MovieClip { public function Container_4(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 294
//dive_agent_400 (Superfighters_fla.dive_agent_400) package Superfighters_fla { import flash.display.*; public dynamic class dive_agent_400 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 295
//dive_billy_477 (Superfighters_fla.dive_billy_477) package Superfighters_fla { import flash.display.*; public dynamic class dive_billy_477 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 296
//dive_blood_321 (Superfighters_fla.dive_blood_321) package Superfighters_fla { import flash.display.*; public dynamic class dive_blood_321 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 297
//dive_boris_255 (Superfighters_fla.dive_boris_255) package Superfighters_fla { import flash.display.*; public dynamic class dive_boris_255 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 298
//dive_funnyman_606 (Superfighters_fla.dive_funnyman_606) package Superfighters_fla { import flash.display.*; public dynamic class dive_funnyman_606 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 299
//dive_hitclip_86 (Superfighters_fla.dive_hitclip_86) package Superfighters_fla { import flash.display.*; public dynamic class dive_hitclip_86 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 300
//dive_jeff_726 (Superfighters_fla.dive_jeff_726) package Superfighters_fla { import flash.display.*; public dynamic class dive_jeff_726 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 301
//dive_johnny_174 (Superfighters_fla.dive_johnny_174) package Superfighters_fla { import flash.display.*; public dynamic class dive_johnny_174 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 302
//dive_mac_666 (Superfighters_fla.dive_mac_666) package Superfighters_fla { import flash.display.*; public dynamic class dive_mac_666 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 303
//dive_scott_537 (Superfighters_fla.dive_scott_537) package Superfighters_fla { import flash.display.*; public dynamic class dive_scott_537 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 304
//fall_b_agent_392 (Superfighters_fla.fall_b_agent_392) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_agent_392 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 305
//fall_b_billy_469 (Superfighters_fla.fall_b_billy_469) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_billy_469 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 306
//fall_b_blood_313 (Superfighters_fla.fall_b_blood_313) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_blood_313 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 307
//fall_b_boris_247 (Superfighters_fla.fall_b_boris_247) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_boris_247 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 308
//fall_b_burnt_450 (Superfighters_fla.fall_b_burnt_450) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_burnt_450 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 309
//fall_b_funnyman_598 (Superfighters_fla.fall_b_funnyman_598) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_funnyman_598 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 310
//fall_b_hitclip_78 (Superfighters_fla.fall_b_hitclip_78) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_hitclip_78 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 311
//fall_b_jeff_718 (Superfighters_fla.fall_b_jeff_718) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_jeff_718 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 312
//fall_b_johnny_166 (Superfighters_fla.fall_b_johnny_166) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_johnny_166 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 313
//fall_b_mac_658 (Superfighters_fla.fall_b_mac_658) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_mac_658 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 314
//fall_b_scott_529 (Superfighters_fla.fall_b_scott_529) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_scott_529 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 315
//fall_f_agent_390 (Superfighters_fla.fall_f_agent_390) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_agent_390 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 316
//fall_f_billy_467 (Superfighters_fla.fall_f_billy_467) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_billy_467 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 317
//fall_f_blood_311 (Superfighters_fla.fall_f_blood_311) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_blood_311 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 318
//fall_f_boris_245 (Superfighters_fla.fall_f_boris_245) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_boris_245 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 319
//fall_f_burnt_448 (Superfighters_fla.fall_f_burnt_448) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_burnt_448 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 320
//fall_f_funnyman_596 (Superfighters_fla.fall_f_funnyman_596) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_funnyman_596 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 321
//fall_f_hitclip_76 (Superfighters_fla.fall_f_hitclip_76) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_hitclip_76 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 322
//fall_f_jeff_716 (Superfighters_fla.fall_f_jeff_716) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_jeff_716 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 323
//fall_f_johnny_164 (Superfighters_fla.fall_f_johnny_164) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_johnny_164 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 324
//fall_f_mac_656 (Superfighters_fla.fall_f_mac_656) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_mac_656 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 325
//fall_f_scott_527 (Superfighters_fla.fall_f_scott_527) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_scott_527 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 326
//grabbed_agent_440 (Superfighters_fla.grabbed_agent_440) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_agent_440 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 327
//grabbed_billy_517 (Superfighters_fla.grabbed_billy_517) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_billy_517 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 328
//grabbed_blood_361 (Superfighters_fla.grabbed_blood_361) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_blood_361 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 329
//grabbed_boris_295 (Superfighters_fla.grabbed_boris_295) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_boris_295 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 330
//grabbed_burnt_453 (Superfighters_fla.grabbed_burnt_453) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_burnt_453 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 331
//grabbed_funnyman_646 (Superfighters_fla.grabbed_funnyman_646) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_funnyman_646 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 332
//grabbed_hitclip_117 (Superfighters_fla.grabbed_hitclip_117) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_hitclip_117 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 333
//grabbed_jeff_766 (Superfighters_fla.grabbed_jeff_766) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_jeff_766 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 334
//grabbed_johnny_214 (Superfighters_fla.grabbed_johnny_214) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_johnny_214 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 335
//grabbed_mac_706 (Superfighters_fla.grabbed_mac_706) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_mac_706 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 336
//grabbed_scott_577 (Superfighters_fla.grabbed_scott_577) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_scott_577 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 337
//gui_player_817 (Superfighters_fla.gui_player_817) package Superfighters_fla { import flash.display.*; public dynamic class gui_player_817 extends MovieClip { public var bars_end:MovieClip; public var throwable_num:MovieClip; public var bars_start:MovieClip; public var ranged_num:MovieClip; public var throwable:MovieClip; public var melee:MovieClip; public var powerup:MovieClip; public var gib_pic:char_gib_05; public var player_mc:MovieClip; public var sign:player_sign; public var ranged:MovieClip; } }//package Superfighters_fla
Section 338
//MainTimeline (Superfighters_fla.MainTimeline) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import Code.*; import com.newgrounds.components.*; public dynamic class MainTimeline extends MovieClip { public var __id0_:APIConnector; public var myTextField:TextField; public var playBtn:SimpleButton; public var __setPropDict:Dictionary; public var loadTxt:TextField; public var mythologic_link:SimpleButton; public var _game:Main; public function MainTimeline(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 5, frame6); } function frame3(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 4))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Loader_LoaderVisuals_1(); }; gotoAndStop(1); } public function LoadingProgress(_arg1:ProgressEvent):void{ myTextField.text = (Math.round(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100)) + " %"); } function frame1(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 4))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Loader_LoaderVisuals_1(); }; stop(); myTextField = loadTxt; this.loaderInfo.addEventListener(Event.COMPLETE, LoadingDone); this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, LoadingProgress); mythologic_link.addEventListener(MouseEvent.CLICK, linkEvent); } function frame6(){ _game = new Main(stage, this); stop(); } function frame4(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 4))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Loader_LoaderVisuals_1(); }; playBtn.addEventListener(MouseEvent.CLICK, playBtnClick); } function frame2(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 4))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Loader_LoaderVisuals_1(); }; gotoAndStop(1); } public function LoadingDone(_arg1:Event):void{ gotoAndStop(4); } public function linkEvent(_arg1:MouseEvent):void{ var targetURL:URLRequest; var e = _arg1; try { targetURL = new URLRequest("http://mythologicinteractive.com"); navigateToURL(targetURL, "_blank"); } catch(e:Error) { }; } public function playBtnClick(_arg1:MouseEvent):void{ gotoAndStop("Game", "Game"); } function __setProp___id0__Loader_LoaderVisuals_1(){ try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.movieId = "19514:ooXYUlX0"; __id0_.debugMode = false; __id0_.encryptionKey = "Jp0oTAzeMyODj8FfcbtczVgSyokCAs6W"; __id0_.movieVersion = ""; __id0_.showConnectingPopup = false; __id0_.useErrorPopup = true; __id0_.useMedalPopup = true; __id0_.useFakeSession = true; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Superfighters_fla
Section 339
//menu_bot_6_setup_794 (Superfighters_fla.menu_bot_6_setup_794) package Superfighters_fla { import flash.display.*; public dynamic class menu_bot_6_setup_794 extends MovieClip { public var cp_5:MovieClip; public var cp_6:MovieClip; public var cp_2:MovieClip; public var cp_3:MovieClip; public var cp_1:MovieClip; public var cp_4:MovieClip; } }//package Superfighters_fla
Section 340
//menu_bot_7_setup_790 (Superfighters_fla.menu_bot_7_setup_790) package Superfighters_fla { import flash.display.*; public dynamic class menu_bot_7_setup_790 extends MovieClip { public var cp_5:MovieClip; public var cp_6:MovieClip; public var cp_2:MovieClip; public var cp_3:MovieClip; public var cp_7:MovieClip; public var cp_1:MovieClip; public var cp_4:MovieClip; } }//package Superfighters_fla
Section 341
//menu_first_choise_779 (Superfighters_fla.menu_first_choise_779) package Superfighters_fla { import flash.display.*; public dynamic class menu_first_choise_779 extends MovieClip { public var tutorial_promt:MovieClip; public var marker_0:MovieClip; public var marker_2:MovieClip; public var marker_3:MovieClip; public var marker_1:MovieClip; } }//package Superfighters_fla
Section 342
//menu_map_selection_797 (Superfighters_fla.menu_map_selection_797) package Superfighters_fla { import flash.display.*; public dynamic class menu_map_selection_797 extends MovieClip { public var map_pic:MovieClip; public var map:MovieClip; public var highlight_1:MovieClip; public var marker_0:MovieClip; public var marker_2:MovieClip; public var marker_5:MovieClip; public var marker_3:MovieClip; public var marker_4:MovieClip; public var marker_1:MovieClip; public var highlight_0:MovieClip; public var game_mode:MovieClip; } }//package Superfighters_fla
Section 343
//menu_mode_selection_782 (Superfighters_fla.menu_mode_selection_782) package Superfighters_fla { import flash.display.*; public dynamic class menu_mode_selection_782 extends MovieClip { public var marker_0:MovieClip; public var marker_1:MovieClip; } }//package Superfighters_fla
Section 344
//menu_no_bots_795 (Superfighters_fla.menu_no_bots_795) package Superfighters_fla { import flash.display.*; public dynamic class menu_no_bots_795 extends MovieClip { public var marker_0:MovieClip; public var marker_2:MovieClip; public var marker_5:MovieClip; public var marker_6:MovieClip; public var marker_3:MovieClip; public var marker_4:MovieClip; public var marker_1:MovieClip; public var marker_7:MovieClip; } }//package Superfighters_fla
Section 345
//menu_set_up_813 (Superfighters_fla.menu_set_up_813) package Superfighters_fla { import flash.text.*; import flash.display.*; public dynamic class menu_set_up_813 extends MovieClip { public var effect_text:TextField; public var graphic_text:TextField; public var volume_text:TextField; public var highlight_1:MovieClip; public var marker_0:MovieClip; public var marker_2:MovieClip; public var marker_5:MovieClip; public var marker_6:MovieClip; public var marker_3:MovieClip; public var highlight_2:MovieClip; public var marker_1:MovieClip; public var highlight_0:MovieClip; public var marker_4:MovieClip; } }//package Superfighters_fla
Section 346
//menu_set_up_814 (Superfighters_fla.menu_set_up_814) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class menu_set_up_814 extends MovieClip { public var key_jump:TextField; public var key_fire:TextField; public var key_right:TextField; public var marker_10:MovieClip; public var marker_11:MovieClip; public var marker_12:MovieClip; public var marker_14:MovieClip; public var marker_15:MovieClip; public var marker_13:MovieClip; public var key_up:TextField; public var key_powerup:TextField; public var key_down:TextField; public var key_throw:TextField; public var highlight_0:MovieClip; public var highlight_1:MovieClip; public var highlight_4:MovieClip; public var highlight_5:MovieClip; public var marker_0:MovieClip; public var marker_2:MovieClip; public var marker_3:MovieClip; public var marker_4:MovieClip; public var marker_5:MovieClip; public var marker_6:MovieClip; public var highlight_6:MovieClip; public var marker_1:MovieClip; public var highlight_9:MovieClip; public var marker_7:MovieClip; public var marker_8:MovieClip; public var highlight_7:MovieClip; public var highlight_8:MovieClip; public var marker_9:MovieClip; public var highlight_10:MovieClip; public var highlight_11:MovieClip; public var highlight_14:MovieClip; public var highlight_15:MovieClip; public var key_melee:TextField; public var highlight_13:MovieClip; public var highlight_12:MovieClip; public var key_kneel:TextField; public var player_nr:TextField; public var key_left:TextField; public var key_sprint:TextField; public function menu_set_up_814(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 347
//menu_stage_mode_807 (Superfighters_fla.menu_stage_mode_807) package Superfighters_fla { import flash.display.*; public dynamic class menu_stage_mode_807 extends MovieClip { public var c_3:MovieClip; public var c_7:MovieClip; public var delete_marker:MovieClip; public var funnyman_message:MovieClip; public var c_8:MovieClip; public var c_6:MovieClip; public var c_1:MovieClip; public var c_4:MovieClip; public var c_5:MovieClip; public var c_9:MovieClip; public var c_10:MovieClip; public var c_11:MovieClip; public var c_2:MovieClip; public var c_12:MovieClip; } }//package Superfighters_fla
Section 348
//menu_vs_1p_setup_783 (Superfighters_fla.menu_vs_1p_setup_783) package Superfighters_fla { import flash.display.*; public dynamic class menu_vs_1p_setup_783 extends MovieClip { public var p1_plate:MovieClip; } }//package Superfighters_fla
Section 349
//menu_vs_2p_setup_789 (Superfighters_fla.menu_vs_2p_setup_789) package Superfighters_fla { import flash.display.*; public dynamic class menu_vs_2p_setup_789 extends MovieClip { public var p1_plate:MovieClip; public var p2_plate:MovieClip; } }//package Superfighters_fla
Section 350
//number_00_819 (Superfighters_fla.number_00_819) package Superfighters_fla { import flash.display.*; public dynamic class number_00_819 extends MovieClip { public var dig_10:MovieClip; public var dig_1:MovieClip; } }//package Superfighters_fla
Section 351
//player_plate_784 (Superfighters_fla.player_plate_784) package Superfighters_fla { import flash.display.*; public dynamic class player_plate_784 extends MovieClip { public var player_type:MovieClip; public var team:MovieClip; public var highlight_1:MovieClip; public var marker_0:MovieClip; public var marker_2:MovieClip; public var marker_3:MovieClip; public var marker_1:MovieClip; public var character_pic:MovieClip; public var highlight_0:MovieClip; public var character_name:MovieClip; } }//package Superfighters_fla
Section 352
//score_team_pics_824 (Superfighters_fla.score_team_pics_824) package Superfighters_fla { import flash.display.*; public dynamic class score_team_pics_824 extends MovieClip { public var team:MovieClip; public var pic_2:MovieClip; public var pic_3:MovieClip; public var pic_6:MovieClip; public var pic_7:MovieClip; public var pic_1:MovieClip; public var pic_4:MovieClip; public var pic_5:MovieClip; } }//package Superfighters_fla
Section 353
//score_wins_loss_825 (Superfighters_fla.score_wins_loss_825) package Superfighters_fla { import flash.display.*; public dynamic class score_wins_loss_825 extends MovieClip { public var wins:MovieClip; public var loss:MovieClip; } }//package Superfighters_fla
Section 354
//SoundContainer_830 (Superfighters_fla.SoundContainer_830) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class SoundContainer_830 extends MovieClip { public function SoundContainer_830(){ addFrameScript(1, frame2); } function frame2(){ stop(); } } }//package Superfighters_fla
Section 355
//toggle_character_name_786 (Superfighters_fla.toggle_character_name_786) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class toggle_character_name_786 extends MovieClip { public function toggle_character_name_786(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 356
//toggle_character_pic_787 (Superfighters_fla.toggle_character_pic_787) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class toggle_character_pic_787 extends MovieClip { public function toggle_character_pic_787(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 357
//toggle_difficulty_793 (Superfighters_fla.toggle_difficulty_793) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class toggle_difficulty_793 extends MovieClip { public function toggle_difficulty_793(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 358
//toggle_game_mode_799 (Superfighters_fla.toggle_game_mode_799) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class toggle_game_mode_799 extends MovieClip { public function toggle_game_mode_799(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 359
//toggle_map_name_798 (Superfighters_fla.toggle_map_name_798) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class toggle_map_name_798 extends MovieClip { public function toggle_map_name_798(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 360
//toggle_map_pic_800 (Superfighters_fla.toggle_map_pic_800) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class toggle_map_pic_800 extends MovieClip { public var fan_1:MovieClip; public var fan_2:MovieClip; public var fan_4:MovieClip; public var fan_3:MovieClip; public var background_clouds:MovieClip; public var pouring:MovieClip; public function toggle_map_pic_800(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 361
//toggle_player_type_788 (Superfighters_fla.toggle_player_type_788) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class toggle_player_type_788 extends MovieClip { public function toggle_player_type_788(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 362
//toggle_team_785 (Superfighters_fla.toggle_team_785) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class toggle_team_785 extends MovieClip { public function toggle_team_785(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 363
//TutorialInstructions_828 (Superfighters_fla.TutorialInstructions_828) package Superfighters_fla { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class TutorialInstructions_828 extends MovieClip { public function TutorialInstructions_828(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 364
//accept_02 (accept_02) package { import flash.media.*; public dynamic class accept_02 extends Sound { } }//package
Section 365
//aim_big (aim_big) package { import flash.media.*; public dynamic class aim_big extends Sound { } }//package
Section 366
//aim_small (aim_small) package { import flash.media.*; public dynamic class aim_small extends Sound { } }//package
Section 367
//ambient_loop_1 (ambient_loop_1) package { import flash.media.*; public dynamic class ambient_loop_1 extends Sound { } }//package
Section 368
//barrel_01 (barrel_01) package { import flash.display.*; public dynamic class barrel_01 extends MovieClip { } }//package
Section 369
//barrel_02 (barrel_02) package { import flash.display.*; public dynamic class barrel_02 extends MovieClip { } }//package
Section 370
//barrel_03 (barrel_03) package { import flash.display.*; public dynamic class barrel_03 extends MovieClip { } }//package
Section 371
//barrel_debris_01 (barrel_debris_01) package { import flash.display.*; public dynamic class barrel_debris_01 extends MovieClip { } }//package
Section 372
//barrel_debris_02 (barrel_debris_02) package { import flash.display.*; public dynamic class barrel_debris_02 extends MovieClip { } }//package
Section 373
//barrel_debris_03 (barrel_debris_03) package { import flash.display.*; public dynamic class barrel_debris_03 extends MovieClip { } }//package
Section 374
//bazooka (bazooka) package { import flash.media.*; public dynamic class bazooka extends Sound { } }//package
Section 375
//bazooka_aim (bazooka_aim) package { import flash.media.*; public dynamic class bazooka_aim extends Sound { } }//package
Section 376
//bazooka_rocket (bazooka_rocket) package { import flash.display.*; public dynamic class bazooka_rocket extends MovieClip { } }//package
Section 377
//beachball (beachball) package { import flash.display.*; public dynamic class beachball extends MovieClip { } }//package
Section 378
//beat (beat) package { import flash.media.*; public dynamic class beat extends Sound { } }//package
Section 379
//bg_noise (bg_noise) package { import flash.display.*; public dynamic class bg_noise extends MovieClip { public var EFFECT_MC:MovieClip; } }//package
Section 380
//blank_mc (blank_mc) package { import flash.display.*; public dynamic class blank_mc extends MovieClip { } }//package
Section 381
//blood_1 (blood_1) package { import flash.display.*; public dynamic class blood_1 extends MovieClip { } }//package
Section 382
//blood_2 (blood_2) package { import flash.display.*; public dynamic class blood_2 extends MovieClip { } }//package
Section 383
//blood_3 (blood_3) package { import flash.display.*; public dynamic class blood_3 extends MovieClip { } }//package
Section 384
//blood_particle_big (blood_particle_big) package { import flash.display.*; public dynamic class blood_particle_big extends MovieClip { } }//package
Section 385
//blood_particle_small (blood_particle_small) package { import flash.display.*; public dynamic class blood_particle_small extends MovieClip { } }//package
Section 386
//bubble (bubble) package { import flash.display.*; public dynamic class bubble extends MovieClip { } }//package
Section 387
//bullet (bullet) package { import flash.display.*; public dynamic class bullet extends MovieClip { } }//package
Section 388
//bullet_effect_normal (bullet_effect_normal) package { import flash.display.*; public dynamic class bullet_effect_normal extends MovieClip { } }//package
Section 389
//bullet_hit_1 (bullet_hit_1) package { import flash.media.*; public dynamic class bullet_hit_1 extends Sound { } }//package
Section 390
//bullet_hit_2 (bullet_hit_2) package { import flash.media.*; public dynamic class bullet_hit_2 extends Sound { } }//package
Section 391
//bullet_hit_3 (bullet_hit_3) package { import flash.media.*; public dynamic class bullet_hit_3 extends Sound { } }//package
Section 392
//bullet_hitmetal_01 (bullet_hitmetal_01) package { import flash.media.*; public dynamic class bullet_hitmetal_01 extends Sound { } }//package
Section 393
//bullet_hitmetal_02 (bullet_hitmetal_02) package { import flash.media.*; public dynamic class bullet_hitmetal_02 extends Sound { } }//package
Section 394
//bullet_hitmetal_03 (bullet_hitmetal_03) package { import flash.media.*; public dynamic class bullet_hitmetal_03 extends Sound { } }//package
Section 395
//bullet_hitmetal_04 (bullet_hitmetal_04) package { import flash.media.*; public dynamic class bullet_hitmetal_04 extends Sound { } }//package
Section 396
//bullet_hitmetal_05 (bullet_hitmetal_05) package { import flash.media.*; public dynamic class bullet_hitmetal_05 extends Sound { } }//package
Section 397
//bullet_impact (bullet_impact) package { import flash.display.*; public dynamic class bullet_impact extends MovieClip { } }//package
Section 398
//bullet_magnum (bullet_magnum) package { import flash.display.*; public dynamic class bullet_magnum extends MovieClip { } }//package
Section 399
//bullet_pistol (bullet_pistol) package { import flash.display.*; public dynamic class bullet_pistol extends MovieClip { } }//package
Section 400
//bullet_rifle (bullet_rifle) package { import flash.display.*; public dynamic class bullet_rifle extends MovieClip { } }//package
Section 401
//bullet_shotgun (bullet_shotgun) package { import flash.display.*; public dynamic class bullet_shotgun extends MovieClip { } }//package
Section 402
//bullet_sniper (bullet_sniper) package { import flash.display.*; public dynamic class bullet_sniper extends MovieClip { } }//package
Section 403
//bullet_trace_slomo (bullet_trace_slomo) package { import flash.display.*; public dynamic class bullet_trace_slomo extends MovieClip { } }//package
Section 404
//bullet_uzi (bullet_uzi) package { import flash.display.*; public dynamic class bullet_uzi extends MovieClip { } }//package
Section 405
//bustwood_1 (bustwood_1) package { import flash.media.*; public dynamic class bustwood_1 extends Sound { } }//package
Section 406
//bustwood_2 (bustwood_2) package { import flash.media.*; public dynamic class bustwood_2 extends Sound { } }//package
Section 407
//button_01 (button_01) package { import flash.display.*; public dynamic class button_01 extends MovieClip { } }//package
Section 408
//cancel_02 (cancel_02) package { import flash.media.*; public dynamic class cancel_02 extends Sound { } }//package
Section 409
//chair (chair) package { import flash.display.*; public dynamic class chair extends MovieClip { } }//package
Section 410
//char_gib_01 (char_gib_01) package { import flash.display.*; public dynamic class char_gib_01 extends MovieClip { } }//package
Section 411
//char_gib_02 (char_gib_02) package { import flash.display.*; public dynamic class char_gib_02 extends MovieClip { } }//package
Section 412
//char_gib_03 (char_gib_03) package { import flash.display.*; public dynamic class char_gib_03 extends MovieClip { } }//package
Section 413
//char_gib_04 (char_gib_04) package { import flash.display.*; public dynamic class char_gib_04 extends MovieClip { } }//package
Section 414
//char_gib_05 (char_gib_05) package { import flash.display.*; public dynamic class char_gib_05 extends MovieClip { } }//package
Section 415
//comfy_chair (comfy_chair) package { import flash.display.*; public dynamic class comfy_chair extends MovieClip { } }//package
Section 416
//comp (comp) package { import flash.display.*; public dynamic class comp extends MovieClip { } }//package
Section 417
//comp_explode_01 (comp_explode_01) package { import flash.media.*; public dynamic class comp_explode_01 extends Sound { } }//package
Section 418
//comp_explode_02 (comp_explode_02) package { import flash.media.*; public dynamic class comp_explode_02 extends Sound { } }//package
Section 419
//comp_screen (comp_screen) package { import flash.display.*; public dynamic class comp_screen extends MovieClip { } }//package
Section 420
//crate_01 (crate_01) package { import flash.display.*; public dynamic class crate_01 extends MovieClip { } }//package
Section 421
//crate_debris_01 (crate_debris_01) package { import flash.display.*; public dynamic class crate_debris_01 extends MovieClip { } }//package
Section 422
//crate_debris_02 (crate_debris_02) package { import flash.display.*; public dynamic class crate_debris_02 extends MovieClip { } }//package
Section 423
//crate_debris_03 (crate_debris_03) package { import flash.display.*; public dynamic class crate_debris_03 extends MovieClip { } }//package
Section 424
//crate_hanging (crate_hanging) package { import flash.display.*; public dynamic class crate_hanging extends MovieClip { } }//package
Section 425
//crate_hanging_holder (crate_hanging_holder) package { import flash.display.*; public dynamic class crate_hanging_holder extends MovieClip { } }//package
Section 426
//cut00 (cut00) package { import flash.media.*; public dynamic class cut00 extends Sound { } }//package
Section 427
//cut01 (cut01) package { import flash.media.*; public dynamic class cut01 extends Sound { } }//package
Section 428
//cut02 (cut02) package { import flash.media.*; public dynamic class cut02 extends Sound { } }//package
Section 429
//desk (desk) package { import flash.display.*; public dynamic class desk extends MovieClip { } }//package
Section 430
//desk_1 (desk_1) package { import flash.display.*; public dynamic class desk_1 extends MovieClip { } }//package
Section 431
//dive_catch (dive_catch) package { import flash.media.*; public dynamic class dive_catch extends Sound { } }//package
Section 432
//electric_1 (electric_1) package { import flash.display.*; public dynamic class electric_1 extends MovieClip { } }//package
Section 433
//electric_2 (electric_2) package { import flash.display.*; public dynamic class electric_2 extends MovieClip { } }//package
Section 434
//electric_3 (electric_3) package { import flash.display.*; public dynamic class electric_3 extends MovieClip { } }//package
Section 435
//elevator_01 (elevator_01) package { import flash.display.*; public dynamic class elevator_01 extends MovieClip { } }//package
Section 436
//empty_shell_big (empty_shell_big) package { import flash.display.*; public dynamic class empty_shell_big extends MovieClip { } }//package
Section 437
//empty_shell_shotgun (empty_shell_shotgun) package { import flash.display.*; public dynamic class empty_shell_shotgun extends MovieClip { } }//package
Section 438
//empty_shell_small (empty_shell_small) package { import flash.display.*; public dynamic class empty_shell_small extends MovieClip { } }//package
Section 439
//error_mc (error_mc) package { import flash.display.*; public dynamic class error_mc extends MovieClip { } }//package
Section 440
//explosion_circle (explosion_circle) package { import flash.display.*; public dynamic class explosion_circle extends MovieClip { } }//package
Section 441
//explosion00 (explosion00) package { import flash.media.*; public dynamic class explosion00 extends Sound { } }//package
Section 442
//explosion01 (explosion01) package { import flash.media.*; public dynamic class explosion01 extends Sound { } }//package
Section 443
//explosion02 (explosion02) package { import flash.media.*; public dynamic class explosion02 extends Sound { } }//package
Section 444
//explosion03 (explosion03) package { import flash.media.*; public dynamic class explosion03 extends Sound { } }//package
Section 445
//filecab_01 (filecab_01) package { import flash.display.*; public dynamic class filecab_01 extends MovieClip { } }//package
Section 446
//fire_01 (fire_01) package { import flash.display.*; public dynamic class fire_01 extends MovieClip { } }//package
Section 447
//fire_01_flamethrower (fire_01_flamethrower) package { import flash.display.*; public dynamic class fire_01_flamethrower extends MovieClip { } }//package
Section 448
//fire_02 (fire_02) package { import flash.display.*; public dynamic class fire_02 extends MovieClip { } }//package
Section 449
//fire_03 (fire_03) package { import flash.display.*; public dynamic class fire_03 extends MovieClip { } }//package
Section 450
//fire_big (fire_big) package { import flash.display.*; public dynamic class fire_big extends MovieClip { } }//package
Section 451
//fire_circle (fire_circle) package { import flash.display.*; public dynamic class fire_circle extends MovieClip { } }//package
Section 452
//fire_effect_air (fire_effect_air) package { import flash.display.*; public dynamic class fire_effect_air extends MovieClip { } }//package
Section 453
//fire_effect_flamethrower_air (fire_effect_flamethrower_air) package { import flash.display.*; public dynamic class fire_effect_flamethrower_air extends MovieClip { } }//package
Section 454
//fireplosion (fireplosion) package { import flash.media.*; public dynamic class fireplosion extends Sound { } }//package
Section 455
//gascan (gascan) package { import flash.display.*; public dynamic class gascan extends MovieClip { } }//package
Section 456
//get_ready_fight (get_ready_fight) package { import flash.display.*; public dynamic class get_ready_fight extends MovieClip { } }//package
Section 457
//getHealth_00 (getHealth_00) package { import flash.media.*; public dynamic class getHealth_00 extends Sound { } }//package
Section 458
//gib_00 (gib_00) package { import flash.media.*; public dynamic class gib_00 extends Sound { } }//package
Section 459
//gib_effect (gib_effect) package { import flash.display.*; public dynamic class gib_effect extends MovieClip { } }//package
Section 460
//glass_1 (glass_1) package { import flash.media.*; public dynamic class glass_1 extends Sound { } }//package
Section 461
//glass_2 (glass_2) package { import flash.media.*; public dynamic class glass_2 extends Sound { } }//package
Section 462
//glass_shard_1 (glass_shard_1) package { import flash.display.*; public dynamic class glass_shard_1 extends MovieClip { } }//package
Section 463
//grenade_marker (grenade_marker) package { import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class grenade_marker extends MovieClip { public function grenade_marker(){ addFrameScript(4, frame5); } function frame5(){ stop(); } } }//package
Section 464
//grenade_safe (grenade_safe) package { import flash.media.*; public dynamic class grenade_safe extends Sound { } }//package
Section 465
//groovy00 (groovy00) package { import flash.media.*; public dynamic class groovy00 extends Sound { } }//package
Section 466
//gui_holder (gui_holder) package { import flash.display.*; public dynamic class gui_holder extends MovieClip { public var com_3:MovieClip; public var com_1:MovieClip; public var com_2:MovieClip; public var com_5:MovieClip; public var player_2:MovieClip; public var player_1:MovieClip; public var com_no_players:MovieClip; public var com_0:MovieClip; public var com_4:MovieClip; public var com_6:MovieClip; } }//package
Section 467
//gun00 (gun00) package { import flash.media.*; public dynamic class gun00 extends Sound { } }//package
Section 468
//gun01 (gun01) package { import flash.media.*; public dynamic class gun01 extends Sound { } }//package
Section 469
//gun02 (gun02) package { import flash.media.*; public dynamic class gun02 extends Sound { } }//package
Section 470
//gun03 (gun03) package { import flash.media.*; public dynamic class gun03 extends Sound { } }//package
Section 471
//hanging_lamp (hanging_lamp) package { import flash.display.*; public dynamic class hanging_lamp extends MovieClip { } }//package
Section 472
//heartbeat (heartbeat) package { import flash.media.*; public dynamic class heartbeat extends Sound { } }//package
Section 473
//hit_metal_1_1 (hit_metal_1_1) package { import flash.display.*; public dynamic class hit_metal_1_1 extends MovieClip { } }//package
Section 474
//hit_metal_1_2 (hit_metal_1_2) package { import flash.display.*; public dynamic class hit_metal_1_2 extends MovieClip { } }//package
Section 475
//hit_metal_2_1 (hit_metal_2_1) package { import flash.display.*; public dynamic class hit_metal_2_1 extends MovieClip { } }//package
Section 476
//hit_metal_2_2 (hit_metal_2_2) package { import flash.display.*; public dynamic class hit_metal_2_2 extends MovieClip { } }//package
Section 477
//hit_metal_3_1 (hit_metal_3_1) package { import flash.display.*; public dynamic class hit_metal_3_1 extends MovieClip { } }//package
Section 478
//hit_paper (hit_paper) package { import flash.display.*; public dynamic class hit_paper extends MovieClip { } }//package
Section 479
//jump_00 (jump_00) package { import flash.media.*; public dynamic class jump_00 extends Sound { } }//package
Section 480
//katana_01 (katana_01) package { import flash.media.*; public dynamic class katana_01 extends Sound { } }//package
Section 481
//lamp_1 (lamp_1) package { import flash.display.*; public dynamic class lamp_1 extends MovieClip { } }//package
Section 482
//lamp_1_b (lamp_1_b) package { import flash.display.*; public dynamic class lamp_1_b extends MovieClip { } }//package
Section 483
//lazersight (lazersight) package { import flash.display.*; public dynamic class lazersight extends MovieClip { } }//package
Section 484
//levels (levels) package { import flash.display.*; public dynamic class levels extends MovieClip { public var TARGET_2:MovieClip; public var fan_1:MovieClip; public var fan_2:MovieClip; public var fan_4:MovieClip; public var TARGET_4:MovieClip; public var fan_3:MovieClip; public var TARGET_1:MovieClip; public var TARGET_5:MovieClip; public var background_clouds:MovieClip; public var TARGET_3:MovieClip; public var REVIVE:MovieClip; public var GRENADE_2:MovieClip; public var pouring:MovieClip; public var GRENADE_1:MovieClip; public var INSTRUCTIONS:MovieClip; public var CRATE:MovieClip; } }//package
Section 485
//levels_front (levels_front) package { import flash.display.*; public dynamic class levels_front extends MovieClip { } }//package
Section 486
//lift_01 (lift_01) package { import flash.display.*; public dynamic class lift_01 extends MovieClip { } }//package
Section 487
//lift_small_01 (lift_small_01) package { import flash.display.*; public dynamic class lift_small_01 extends MovieClip { } }//package
Section 488
//magnum (magnum) package { import flash.media.*; public dynamic class magnum extends Sound { } }//package
Section 489
//main_menu_overlay (main_menu_overlay) package { import flash.display.*; public dynamic class main_menu_overlay extends MovieClip { public var first_choise:MovieClip; public var link_1:SimpleButton; public var set_up_main:MovieClip; public var link_3:SimpleButton; public var link_4:SimpleButton; public var link_2:SimpleButton; public var confirm_delete:MovieClip; public var map_selection:MovieClip; public var no_bots:MovieClip; public var set_up:MovieClip; public var challenge_selection:MovieClip; public var vs_2p_setup:MovieClip; public var bot_6_setup:MovieClip; public var vs_1p_setup:MovieClip; public var bot_7_setup:MovieClip; public var mode_selection:MovieClip; } }//package
Section 490
//muzzle_flash_bazooka (muzzle_flash_bazooka) package { import flash.display.*; public dynamic class muzzle_flash_bazooka extends MovieClip { } }//package
Section 491
//muzzle_flash_pistol (muzzle_flash_pistol) package { import flash.display.*; public dynamic class muzzle_flash_pistol extends MovieClip { } }//package
Section 492
//muzzle_flash_rifle (muzzle_flash_rifle) package { import flash.display.*; public dynamic class muzzle_flash_rifle extends MovieClip { } }//package
Section 493
//muzzle_flash_shotgun (muzzle_flash_shotgun) package { import flash.display.*; public dynamic class muzzle_flash_shotgun extends MovieClip { } }//package
Section 494
//muzzle_flash_sniper (muzzle_flash_sniper) package { import flash.display.*; public dynamic class muzzle_flash_sniper extends MovieClip { } }//package
Section 495
//NewgroundsAPIAsset_big_popup_background (NewgroundsAPIAsset_big_popup_background) package { import flash.display.*; public dynamic class NewgroundsAPIAsset_big_popup_background extends MovieClip { public var tl:MovieClip; public var br:MovieClip; public var tr:MovieClip; public var l:MovieClip; public var shadow:MovieClip; public var r:MovieClip; public var b:MovieClip; public var bl:MovieClip; public var t:MovieClip; public var c:MovieClip; } }//package
Section 496
//outofammo_heavy (outofammo_heavy) package { import flash.media.*; public dynamic class outofammo_heavy extends Sound { } }//package
Section 497
//outofammo_light (outofammo_light) package { import flash.media.*; public dynamic class outofammo_light extends Sound { } }//package
Section 498
//paper (paper) package { import flash.display.*; public dynamic class paper extends MovieClip { } }//package
Section 499
//platform_motor (platform_motor) package { import flash.display.*; public dynamic class platform_motor extends MovieClip { } }//package
Section 500
//player_agent (player_agent) package { import flash.display.*; public dynamic class player_agent extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 501
//player_aim (player_aim) package { import flash.display.*; public dynamic class player_aim extends MovieClip { } }//package
Section 502
//player_billy (player_billy) package { import flash.display.*; public dynamic class player_billy extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 503
//player_blood (player_blood) package { import flash.display.*; public dynamic class player_blood extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 504
//player_boris (player_boris) package { import flash.display.*; public dynamic class player_boris extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 505
//player_burnt (player_burnt) package { import flash.display.*; public dynamic class player_burnt extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 506
//player_funnyman (player_funnyman) package { import flash.display.*; public dynamic class player_funnyman extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 507
//player_hitarea (player_hitarea) package { import flash.display.*; public dynamic class player_hitarea extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 508
//player_jeff (player_jeff) package { import flash.display.*; public dynamic class player_jeff extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 509
//player_johnny (player_johnny) package { import flash.display.*; public dynamic class player_johnny extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 510
//player_mac (player_mac) package { import flash.display.*; public dynamic class player_mac extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 511
//player_scott (player_scott) package { import flash.display.*; public dynamic class player_scott extends MovieClip { public var ANIM:MovieClip; public var ANIM_WPN:MovieClip; } }//package
Section 512
//player_sign (player_sign) package { import flash.display.*; public dynamic class player_sign extends MovieClip { } }//package
Section 513
//pool_table_01 (pool_table_01) package { import flash.display.*; public dynamic class pool_table_01 extends MovieClip { } }//package
Section 514
//press_space (press_space) package { import flash.display.*; public dynamic class press_space extends MovieClip { } }//package
Section 515
//punch00 (punch00) package { import flash.media.*; public dynamic class punch00 extends Sound { } }//package
Section 516
//punch01 (punch01) package { import flash.media.*; public dynamic class punch01 extends Sound { } }//package
Section 517
//punch02 (punch02) package { import flash.media.*; public dynamic class punch02 extends Sound { } }//package
Section 518
//punch03 (punch03) package { import flash.media.*; public dynamic class punch03 extends Sound { } }//package
Section 519
//ric00 (ric00) package { import flash.media.*; public dynamic class ric00 extends Sound { } }//package
Section 520
//rifle_draw (rifle_draw) package { import flash.media.*; public dynamic class rifle_draw extends Sound { } }//package
Section 521
//rifle00 (rifle00) package { import flash.media.*; public dynamic class rifle00 extends Sound { } }//package
Section 522
//rifle01 (rifle01) package { import flash.media.*; public dynamic class rifle01 extends Sound { } }//package
Section 523
//roll (roll) package { import flash.media.*; public dynamic class roll extends Sound { } }//package
Section 524
//rolling_pipe (rolling_pipe) package { import flash.display.*; public dynamic class rolling_pipe extends MovieClip { } }//package
Section 525
//rope_segment_01 (rope_segment_01) package { import flash.display.*; public dynamic class rope_segment_01 extends MovieClip { } }//package
Section 526
//round_winner (round_winner) package { import flash.display.*; public dynamic class round_winner extends MovieClip { } }//package
Section 527
//score_info (score_info) package { import flash.text.*; import flash.display.*; public dynamic class score_info extends MovieClip { public var rounds:TextField; public var game_mode:MovieClip; } }//package
Section 528
//score_team_plate (score_team_plate) package { import flash.display.*; public dynamic class score_team_plate extends MovieClip { public var pics:MovieClip; public var score:MovieClip; } }//package
Section 529
//shellbounce00 (shellbounce00) package { import flash.media.*; public dynamic class shellbounce00 extends Sound { } }//package
Section 530
//shellbounce01 (shellbounce01) package { import flash.media.*; public dynamic class shellbounce01 extends Sound { } }//package
Section 531
//shotgun_aim (shotgun_aim) package { import flash.media.*; public dynamic class shotgun_aim extends Sound { } }//package
Section 532
//shotgun_pump_p1 (shotgun_pump_p1) package { import flash.media.*; public dynamic class shotgun_pump_p1 extends Sound { } }//package
Section 533
//shotgun_pump_p2 (shotgun_pump_p2) package { import flash.media.*; public dynamic class shotgun_pump_p2 extends Sound { } }//package
Section 534
//shotgun00 (shotgun00) package { import flash.media.*; public dynamic class shotgun00 extends Sound { } }//package
Section 535
//shotgun01 (shotgun01) package { import flash.media.*; public dynamic class shotgun01 extends Sound { } }//package
Section 536
//shotgun02 (shotgun02) package { import flash.media.*; public dynamic class shotgun02 extends Sound { } }//package
Section 537
//smoke_trace_01 (smoke_trace_01) package { import flash.display.*; public dynamic class smoke_trace_01 extends MovieClip { } }//package
Section 538
//smoke_trace_light_01 (smoke_trace_light_01) package { import flash.display.*; public dynamic class smoke_trace_light_01 extends MovieClip { } }//package
Section 539
//smoke_weapon_muzzle (smoke_weapon_muzzle) package { import flash.display.*; public dynamic class smoke_weapon_muzzle extends MovieClip { } }//package
Section 540
//sniper00 (sniper00) package { import flash.media.*; public dynamic class sniper00 extends Sound { } }//package
Section 541
//sniper01 (sniper01) package { import flash.media.*; public dynamic class sniper01 extends Sound { } }//package
Section 542
//spark (spark) package { import flash.display.*; public dynamic class spark extends MovieClip { } }//package
Section 543
//statue (statue) package { import flash.display.*; public dynamic class statue extends MovieClip { } }//package
Section 544
//statue_globe (statue_globe) package { import flash.display.*; public dynamic class statue_globe extends MovieClip { } }//package
Section 545
//superfighters_theme (superfighters_theme) package { import flash.media.*; public dynamic class superfighters_theme extends Sound { } }//package
Section 546
//svisch4 (svisch4) package { import flash.media.*; public dynamic class svisch4 extends Sound { } }//package
Section 547
//svisch6 (svisch6) package { import flash.media.*; public dynamic class svisch6 extends Sound { } }//package
Section 548
//table_01 (table_01) package { import flash.display.*; public dynamic class table_01 extends MovieClip { } }//package
Section 549
//table_debris_01 (table_debris_01) package { import flash.display.*; public dynamic class table_debris_01 extends MovieClip { } }//package
Section 550
//table_debris_02 (table_debris_02) package { import flash.display.*; public dynamic class table_debris_02 extends MovieClip { } }//package
Section 551
//table_debris_03 (table_debris_03) package { import flash.display.*; public dynamic class table_debris_03 extends MovieClip { } }//package
Section 552
//table_small_01 (table_small_01) package { import flash.display.*; public dynamic class table_small_01 extends MovieClip { } }//package
Section 553
//tips (tips) package { import flash.display.*; public dynamic class tips extends MovieClip { } }//package
Section 554
//trace_axe_01 (trace_axe_01) package { import flash.display.*; public dynamic class trace_axe_01 extends MovieClip { } }//package
Section 555
//trace_axe_02 (trace_axe_02) package { import flash.display.*; public dynamic class trace_axe_02 extends MovieClip { } }//package
Section 556
//trace_axe_03 (trace_axe_03) package { import flash.display.*; public dynamic class trace_axe_03 extends MovieClip { } }//package
Section 557
//trace_bazooka_rocket (trace_bazooka_rocket) package { import flash.display.*; public dynamic class trace_bazooka_rocket extends MovieClip { } }//package
Section 558
//trace_machete_01 (trace_machete_01) package { import flash.display.*; public dynamic class trace_machete_01 extends MovieClip { } }//package
Section 559
//trace_machete_02 (trace_machete_02) package { import flash.display.*; public dynamic class trace_machete_02 extends MovieClip { } }//package
Section 560
//trace_machete_03 (trace_machete_03) package { import flash.display.*; public dynamic class trace_machete_03 extends MovieClip { } }//package
Section 561
//trace_sword_01 (trace_sword_01) package { import flash.display.*; public dynamic class trace_sword_01 extends MovieClip { } }//package
Section 562
//trace_sword_02 (trace_sword_02) package { import flash.display.*; public dynamic class trace_sword_02 extends MovieClip { } }//package
Section 563
//trace_sword_03 (trace_sword_03) package { import flash.display.*; public dynamic class trace_sword_03 extends MovieClip { } }//package
Section 564
//trashcan (trashcan) package { import flash.display.*; public dynamic class trashcan extends MovieClip { } }//package
Section 565
//tutorial_target (tutorial_target) package { import flash.display.*; public dynamic class tutorial_target extends MovieClip { } }//package
Section 566
//tutorial_target_debris_01 (tutorial_target_debris_01) package { import flash.display.*; public dynamic class tutorial_target_debris_01 extends MovieClip { } }//package
Section 567
//tutorial_target_debris_02 (tutorial_target_debris_02) package { import flash.display.*; public dynamic class tutorial_target_debris_02 extends MovieClip { } }//package
Section 568
//tutorial_target_debris_03 (tutorial_target_debris_03) package { import flash.display.*; public dynamic class tutorial_target_debris_03 extends MovieClip { } }//package
Section 569
//uzi00 (uzi00) package { import flash.media.*; public dynamic class uzi00 extends Sound { } }//package
Section 570
//uzi01 (uzi01) package { import flash.media.*; public dynamic class uzi01 extends Sound { } }//package
Section 571
//wilhelm (wilhelm) package { import flash.media.*; public dynamic class wilhelm extends Sound { } }//package
Section 572
//windmill_propeller (windmill_propeller) package { import flash.display.*; public dynamic class windmill_propeller extends MovieClip { } }//package
Section 573
//window_seg (window_seg) package { import flash.display.*; public dynamic class window_seg extends MovieClip { } }//package
Section 574
//voltage_02 (voltage_02) package { import flash.media.*; public dynamic class voltage_02 extends Sound { } }//package
Section 575
//wood_impact00 (wood_impact00) package { import flash.media.*; public dynamic class wood_impact00 extends Sound { } }//package
Section 576
//wpn_axe (wpn_axe) package { import flash.display.*; public dynamic class wpn_axe extends MovieClip { public var indicator:MovieClip; } }//package
Section 577
//wpn_bazooka (wpn_bazooka) package { import flash.display.*; public dynamic class wpn_bazooka extends MovieClip { public var indicator:MovieClip; } }//package
Section 578
//wpn_flamethrower (wpn_flamethrower) package { import flash.display.*; public dynamic class wpn_flamethrower extends MovieClip { public var indicator:MovieClip; } }//package
Section 579
//wpn_grenade_thrown (wpn_grenade_thrown) package { import flash.display.*; public dynamic class wpn_grenade_thrown extends MovieClip { } }//package
Section 580
//wpn_grenades (wpn_grenades) package { import flash.display.*; public dynamic class wpn_grenades extends MovieClip { public var indicator:MovieClip; } }//package
Section 581
//wpn_machete (wpn_machete) package { import flash.display.*; public dynamic class wpn_machete extends MovieClip { public var indicator:MovieClip; } }//package
Section 582
//wpn_magnum (wpn_magnum) package { import flash.display.*; public dynamic class wpn_magnum extends MovieClip { public var indicator:MovieClip; } }//package
Section 583
//wpn_medkit (wpn_medkit) package { import flash.display.*; public dynamic class wpn_medkit extends MovieClip { public var indicator:MovieClip; } }//package
Section 584
//wpn_molotov_thrown (wpn_molotov_thrown) package { import flash.display.*; public dynamic class wpn_molotov_thrown extends MovieClip { } }//package
Section 585
//wpn_molotovs (wpn_molotovs) package { import flash.display.*; public dynamic class wpn_molotovs extends MovieClip { public var indicator:MovieClip; } }//package
Section 586
//wpn_pills (wpn_pills) package { import flash.display.*; public dynamic class wpn_pills extends MovieClip { public var indicator:MovieClip; } }//package
Section 587
//wpn_pistol (wpn_pistol) package { import flash.display.*; public dynamic class wpn_pistol extends MovieClip { public var indicator:MovieClip; } }//package
Section 588
//wpn_rifle (wpn_rifle) package { import flash.display.*; public dynamic class wpn_rifle extends MovieClip { public var indicator:MovieClip; } }//package
Section 589
//wpn_shotgun (wpn_shotgun) package { import flash.display.*; public dynamic class wpn_shotgun extends MovieClip { public var indicator:MovieClip; } }//package
Section 590
//wpn_slowmo_05 (wpn_slowmo_05) package { import flash.display.*; public dynamic class wpn_slowmo_05 extends MovieClip { public var indicator:MovieClip; } }//package
Section 591
//wpn_slowmo_10 (wpn_slowmo_10) package { import flash.display.*; public dynamic class wpn_slowmo_10 extends MovieClip { public var indicator:MovieClip; } }//package
Section 592
//wpn_sniper (wpn_sniper) package { import flash.display.*; public dynamic class wpn_sniper extends MovieClip { public var indicator:MovieClip; } }//package
Section 593
//wpn_sword (wpn_sword) package { import flash.display.*; public dynamic class wpn_sword extends MovieClip { public var indicator:MovieClip; } }//package
Section 594
//wpn_uzi (wpn_uzi) package { import flash.display.*; public dynamic class wpn_uzi extends MovieClip { public var indicator:MovieClip; } }//package

Library Items

Symbol 1 BitmapUsed by:2
Symbol 2 GraphicUses:1Used by:3
Symbol 3 MovieClip {crate_hanging}Uses:2Used by:2515
Symbol 4 MovieClip {blank_mc}Used by:206 210 214 635 639 643 647 652 656 660 666 670 795 799 803 807 812 816 819 825 828 859 1144 1148 1152 1156 1161 1165 1169 1175 1179 1354 1358 1362 1366 1371 1375 1379 1385 1389 1495 1499 1503 1507 1512 1516 1520 1526 1530 1668 1672 1676 1680 1685 1689 1693 1699 1703 1809 1813 1817 1821 1826 1830 1834 1840 1844 1950 1954 1958 1962 1967 1971 1975 1981 1985
Symbol 5 BitmapUsed by:6
Symbol 6 GraphicUses:5Used by:7
Symbol 7 MovieClip {crate_debris_03}Uses:6Used by:2515
Symbol 8 BitmapUsed by:9
Symbol 9 GraphicUses:8Used by:10
Symbol 10 MovieClip {crate_debris_02}Uses:9Used by:2515
Symbol 11 GraphicUsed by:25
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:12Used by:25
Symbol 14 GraphicUsed by:25
Symbol 15 GraphicUsed by:18
Symbol 16 GraphicUsed by:18
Symbol 17 GraphicUsed by:18
Symbol 18 ButtonUses:15 16 17Used by:25
Symbol 19 BitmapUsed by:20
Symbol 20 GraphicUses:19Used by:25
Symbol 21 GraphicUsed by:25
Symbol 22 GraphicUsed by:25
Symbol 23 GraphicUsed by:24 33
Symbol 24 MovieClip {FlashAd_fla.NewgroundsAPIAsset_Load_Indicator_5}Uses:23Used by:25
Symbol 25 MovieClip {FlashAd_fla.NewgroundsAPIAsset_FlashAd_Container_2}Uses:11 13 14 18 20 21 22 24Used by:26
Symbol 26 MovieClip {com.newgrounds.components.FlashAd}Uses:25Used by:Timeline
Symbol 27 GraphicUsed by:35 37 86
Symbol 28 GraphicUsed by:35 37 86
Symbol 29 GraphicUsed by:35 37 86
Symbol 30 GraphicUsed by:35 37 86
Symbol 31 FontUsed by:32 34 36 40 43 45 76 77 83 84
Symbol 32 TextUses:31Used by:86
Symbol 33 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Load_Indicator_3}Uses:23Used by:35
Symbol 34 TextUses:31Used by:35
Symbol 35 MovieClip {APIConnector_fla.NewgroundsAPIAsset_ConnectingAPI_2}Uses:27 28 29 30 33 34Used by:86
Symbol 36 TextUses:31Used by:37
Symbol 37 MovieClip {APIConnector_fla.NewgroundsAPIAsset_API_Conencted_4}Uses:27 28 29 30 36Used by:86
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClipUses:38Used by:44 48
Symbol 40 TextUses:31Used by:44
Symbol 41 BitmapUsed by:42
Symbol 42 GraphicUses:41Used by:44 48
Symbol 43 TextUses:31Used by:44
Symbol 44 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5}Uses:39 40 42 43Used by:86
Symbol 45 TextUses:31Used by:48
Symbol 46 FontUsed by:47 82 85
Symbol 47 TextUses:46Used by:48
Symbol 48 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7}Uses:39 45 47 42Used by:86
Symbol 49 GraphicUsed by:50 86
Symbol 50 MovieClipUses:49Used by:86
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:51Used by:71
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClipUses:53Used by:71
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:71
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClipUses:57Used by:71
Symbol 59 GraphicUsed by:60
Symbol 60 MovieClipUses:59Used by:71
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:71
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClipUses:63Used by:71
Symbol 65 GraphicUsed by:66
Symbol 66 MovieClipUses:65Used by:71
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:67Used by:71
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClipUses:69Used by:71
Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background}Uses:52 54 56 58 60 62 64 66 68 70Used by:86
Symbol 72 GraphicUsed by:86
Symbol 73 GraphicUsed by:75
Symbol 74 GraphicUsed by:75
Symbol 75 ButtonUses:73 74Used by:86
Symbol 76 TextUses:31Used by:86
Symbol 77 TextUses:31Used by:86
Symbol 78 GraphicUsed by:81
Symbol 79 GraphicUsed by:81
Symbol 80 GraphicUsed by:81
Symbol 81 ButtonUses:78 79 80Used by:86
Symbol 82 TextUses:46Used by:86
Symbol 83 TextUses:31Used by:86
Symbol 84 TextUses:31Used by:86
Symbol 85 TextUses:46Used by:86
Symbol 86 MovieClip {com.newgrounds.components.APIConnector}Uses:27 28 29 30 32 35 37 44 48 50 71 72 75 76 77 81 82 49 83 84 85Used by:Timeline
Symbol 87 BitmapUsed by:88 2157 2433
Symbol 88 GraphicUses:87Used by:Timeline
Symbol 89 BitmapUsed by:90 2039
Symbol 90 GraphicUses:89Used by:Timeline
Symbol 91 FontUsed by:92 93 94 97 99 2041 2042 2199 2200 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429
Symbol 92 TextUses:91Used by:Timeline
Symbol 93 TextUses:91Used by:Timeline
Symbol 94 TextUses:91Used by:Timeline
Symbol 95 GraphicUsed by:96
Symbol 96 ButtonUses:95Used by:2261  Timeline
Symbol 97 EditableTextUses:91Used by:Timeline
Symbol 98 GraphicUsed by:103 224 2055 2063 2105 2260
Symbol 99 TextUses:91Used by:103
Symbol 100 ShapeTweeningUsed by:102 103
Symbol 101 GraphicUsed by:102
Symbol 102 MovieClipUses:100 101Used by:103 2055 2105 2121 2187 2193 2196 2217 2260 2390
Symbol 103 ButtonUses:98 99 102 100Used by:Timeline
Symbol 104 FontUsed by:105 2441
Symbol 105 TextUses:104Used by:2515
Symbol 106 GraphicUsed by:2515
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:107Used by:109 249
Symbol 109 MovieClip {muzzle_flash_rifle}Uses:108Used by:2515
Symbol 110 BitmapUsed by:111
Symbol 111 GraphicUses:110Used by:113
Symbol 112 GraphicUsed by:113 2186
Symbol 113 MovieClip {barrel_01}Uses:111 112Used by:2515
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:116
Symbol 116 MovieClip {crate_01}Uses:115Used by:2515
Symbol 117 BitmapUsed by:118
Symbol 118 GraphicUses:117Used by:119
Symbol 119 MovieClip {filecab_01}Uses:118Used by:2515
Symbol 120 MovieClip {Code.Data.Players.Player}Used by:2515
Symbol 121 BitmapUsed by:122
Symbol 122 GraphicUses:121Used by:123
Symbol 123 MovieClip {rolling_pipe}Uses:122Used by:2515
Symbol 124 BitmapUsed by:125
Symbol 125 GraphicUses:124Used by:126
Symbol 126 MovieClip {crate_debris_01}Uses:125Used by:2515
Symbol 127 BitmapUsed by:128
Symbol 128 GraphicUses:127Used by:129
Symbol 129 MovieClip {pool_table_01}Uses:128Used by:2515
Symbol 130 BitmapUsed by:131
Symbol 131 GraphicUses:130Used by:132
Symbol 132 MovieClip {char_gib_01}Uses:131Used by:2515
Symbol 133 BitmapUsed by:134
Symbol 134 GraphicUses:133Used by:135
Symbol 135 MovieClip {char_gib_02}Uses:134Used by:2515
Symbol 136 BitmapUsed by:137
Symbol 137 GraphicUses:136Used by:138
Symbol 138 MovieClip {char_gib_03}Uses:137Used by:2515
Symbol 139 BitmapUsed by:140
Symbol 140 GraphicUses:139Used by:141
Symbol 141 MovieClip {barrel_02}Uses:140Used by:2515
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClip {platform_motor}Uses:142Used by:2515
Symbol 144 BitmapUsed by:145
Symbol 145 GraphicUses:144Used by:146
Symbol 146 MovieClip {barrel_03}Uses:145Used by:2515
Symbol 147 BitmapUsed by:148
Symbol 148 GraphicUses:147Used by:149
Symbol 149 MovieClip {barrel_debris_01}Uses:148Used by:2515
Symbol 150 BitmapUsed by:151
Symbol 151 GraphicUses:150Used by:152
Symbol 152 MovieClip {barrel_debris_02}Uses:151Used by:2515
Symbol 153 BitmapUsed by:154
Symbol 154 GraphicUses:153Used by:155
Symbol 155 MovieClip {barrel_debris_03}Uses:154Used by:2515
Symbol 156 MovieClip {Code.Particles.smoke_trace_effect}Used by:2515
Symbol 157 MovieClip {Code.Particles.fire_effect}Used by:2515
Symbol 158 BitmapUsed by:159 1044 1047 1048 1049 1050
Symbol 159 GraphicUses:158Used by:160 161 281 463 481 486 487 488 503 504 744 1009 1036
Symbol 160 MovieClip {smoke_trace_01}Uses:159Used by:2515
Symbol 161 MovieClip {smoke_trace_light_01}Uses:159Used by:2515
Symbol 162 GraphicUsed by:163
Symbol 163 MovieClip {Code.Particles.particle_impact_wood}Uses:162Used by:2515
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164Used by:168
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166Used by:168
Symbol 168 MovieClip {gib_effect}Uses:165 167Used by:2515
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:179
Symbol 171 BitmapUsed by:172
Symbol 172 GraphicUses:171Used by:179
Symbol 173 BitmapUsed by:174
Symbol 174 GraphicUses:173Used by:179
Symbol 175 BitmapUsed by:176
Symbol 176 GraphicUses:175Used by:179
Symbol 177 BitmapUsed by:178
Symbol 178 GraphicUses:177Used by:179
Symbol 179 MovieClip {fire_big}Uses:170 172 174 176 178Used by:2515
Symbol 180 FontUsed by:181
Symbol 181 TextUses:180Used by:182
Symbol 182 MovieClip {error_mc}Uses:181Used by:2515
Symbol 183 GraphicUsed by:184
Symbol 184 MovieClip {Code.Particles.particle_impact_metal}Uses:183Used by:2515
Symbol 185 BitmapUsed by:186
Symbol 186 GraphicUses:185Used by:187
Symbol 187 MovieClip {table_01}Uses:186Used by:2515
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:190
Symbol 190 MovieClip {table_debris_01}Uses:189Used by:2515
Symbol 191 BitmapUsed by:192
Symbol 192 GraphicUses:191Used by:193
Symbol 193 MovieClip {table_debris_02}Uses:192Used by:2515
Symbol 194 BitmapUsed by:195
Symbol 195 GraphicUses:194Used by:196
Symbol 196 MovieClip {table_debris_03}Uses:195Used by:2515
Symbol 197 BitmapUsed by:198 2329
Symbol 198 GraphicUses:197Used by:202
Symbol 199 BitmapUsed by:200
Symbol 200 GraphicUses:199Used by:201 205 209 213 230 255 262 266 270 473 477 507 747 751 755 858
Symbol 201 MovieClipUses:200Used by:202
Symbol 202 MovieClip {wpn_pistol}Uses:198 201Used by:2515
Symbol 203 BitmapUsed by:204 2271 2330
Symbol 204 GraphicUses:203Used by:206
Symbol 205 MovieClipUses:200Used by:206
Symbol 206 MovieClip {wpn_rifle}Uses:204 4 205Used by:2515
Symbol 207 BitmapUsed by:208 2331
Symbol 208 GraphicUses:207Used by:210
Symbol 209 MovieClipUses:200Used by:210
Symbol 210 MovieClip {wpn_shotgun}Uses:208 4 209Used by:2515
Symbol 211 BitmapUsed by:212 2332
Symbol 212 GraphicUses:211Used by:214
Symbol 213 MovieClipUses:200Used by:214
Symbol 214 MovieClip {wpn_sniper}Uses:212 4 213Used by:2515
Symbol 215 BitmapUsed by:216 217
Symbol 216 GraphicUses:215Used by:219
Symbol 217 GraphicUses:215Used by:218
Symbol 218 MovieClip {button_01}Uses:217Used by:219 2515
Symbol 219 MovieClip {elevator_01}Uses:216 218Used by:2515
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClip {lazersight}Uses:220Used by:2515
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClip {spark}Uses:222Used by:2515
Symbol 224 MovieClip {bullet}Uses:98Used by:2515
Symbol 225 BitmapUsed by:226
Symbol 226 GraphicUses:225Used by:227
Symbol 227 MovieClip {muzzle_flash_pistol}Uses:226Used by:2515
Symbol 228 BitmapUsed by:229 2323
Symbol 229 GraphicUses:228Used by:231
Symbol 230 MovieClipUses:200Used by:231
Symbol 231 MovieClip {wpn_bazooka}Uses:229 230Used by:2515
Symbol 232 BitmapUsed by:233
Symbol 233 GraphicUses:232Used by:234
Symbol 234 MovieClip {muzzle_flash_shotgun}Uses:233Used by:2515
Symbol 235 BitmapUsed by:236
Symbol 236 GraphicUses:235Used by:237
Symbol 237 MovieClip {bullet_effect_normal}Uses:236Used by:2515
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:248
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:248
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:248
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:248
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:248
Symbol 248 MovieClip {bullet_trace_slomo}Uses:239 241 243 245 247Used by:2515
Symbol 249 MovieClip {muzzle_flash_sniper}Uses:108Used by:2515
Symbol 250 BitmapUsed by:251
Symbol 251 GraphicUses:250Used by:252
Symbol 252 MovieClip {wpn_grenade_thrown}Uses:251Used by:2515
Symbol 253 BitmapUsed by:254 2325
Symbol 254 GraphicUses:253Used by:256
Symbol 255 MovieClipUses:200Used by:256
Symbol 256 MovieClip {wpn_grenades}Uses:254 255Used by:2515
Symbol 257 BitmapUsed by:258
Symbol 258 GraphicUses:257Used by:259
Symbol 259 MovieClip {wpn_molotov_thrown}Uses:258Used by:2515
Symbol 260 BitmapUsed by:261 2271 2328
Symbol 261 GraphicUses:260Used by:263
Symbol 262 MovieClipUses:200Used by:263
Symbol 263 MovieClip {wpn_molotovs}Uses:261 262Used by:2515
Symbol 264 BitmapUsed by:265 2333
Symbol 265 GraphicUses:264Used by:267
Symbol 266 MovieClipUses:200Used by:267
Symbol 267 MovieClip {wpn_sword}Uses:265 266Used by:2515
Symbol 268 BitmapUsed by:269 2271 2326
Symbol 269 GraphicUses:268Used by:271
Symbol 270 MovieClipUses:200Used by:271
Symbol 271 MovieClip {wpn_machete}Uses:269 270Used by:2515
Symbol 272 BitmapUsed by:273
Symbol 273 GraphicUses:272Used by:274
Symbol 274 MovieClip {empty_shell_big}Uses:273Used by:2515
Symbol 275 BitmapUsed by:276
Symbol 276 GraphicUses:275Used by:277
Symbol 277 MovieClip {empty_shell_shotgun}Uses:276Used by:2515
Symbol 278 BitmapUsed by:279
Symbol 279 GraphicUses:278Used by:280
Symbol 280 MovieClip {empty_shell_small}Uses:279Used by:2515
Symbol 281 MovieClip {Code.Particles.fire_effect_ground}Uses:159Used by:2515
Symbol 282 GraphicUsed by:289
Symbol 283 BitmapUsed by:284 286 288 294 296 298 301 303 315 318 320 326 333 335 338 340 343 345 348 350 351 355 356 359 361 362 365 367 368 371 373 374 377 379 380 383 385 386 389 391 392 395 397 398 401 406 418 421 426 429 441 444 447 450 452 454 457 459 758 763 766 767 768 773 774 777 793 796 798 800 802 804 806 808 810 811 813 815 817 820 822 824 827 829 833 834 835 837
Symbol 284 GraphicUses:283Used by:289 328 757 776
Symbol 285 GraphicUsed by:289
Symbol 286 GraphicUses:283Used by:289 757
Symbol 287 GraphicUsed by:289
Symbol 288 GraphicUses:283Used by:289 757
Symbol 289 MovieClipUses:282 284 285 286 287 288Used by:462
Symbol 290 GraphicUsed by:292
Symbol 291 GraphicUsed by:292
Symbol 292 MovieClipUses:290 291Used by:462
Symbol 293 GraphicUsed by:299
Symbol 294 GraphicUses:283Used by:299 760
Symbol 295 GraphicUsed by:299 321
Symbol 296 GraphicUses:283Used by:299 321 759 760 772
Symbol 297 GraphicUsed by:299
Symbol 298 GraphicUses:283Used by:299 760
Symbol 299 MovieClipUses:293 294 295 296 297 298Used by:462
Symbol 300 GraphicUsed by:304
Symbol 301 GraphicUses:283Used by:304 761
Symbol 302 GraphicUsed by:304
Symbol 303 GraphicUses:283Used by:304 761
Symbol 304 MovieClipUses:300 301 302 303Used by:305 439
Symbol 305 MovieClip {Superfighters_fla.fall_f_hitclip_76}Uses:304Used by:462
Symbol 306 GraphicUsed by:307
Symbol 307 MovieClipUses:306Used by:308
Symbol 308 MovieClip {Superfighters_fla.fall_b_hitclip_78}Uses:307Used by:462
Symbol 309 GraphicUsed by:312
Symbol 310 GraphicUsed by:312
Symbol 311 GraphicUsed by:312 313
Symbol 312 MovieClipUses:309 310 311Used by:462
Symbol 313 MovieClipUses:311Used by:462
Symbol 314 GraphicUsed by:316
Symbol 315 GraphicUses:283Used by:316 770 771
Symbol 316 MovieClipUses:314 315Used by:462
Symbol 317 GraphicUsed by:321
Symbol 318 GraphicUses:283Used by:321 772
Symbol 319 GraphicUsed by:321
Symbol 320 GraphicUses:283Used by:321 772
Symbol 321 MovieClipUses:317 318 295 296 319 320Used by:462
Symbol 322 GraphicUsed by:324
Symbol 323 GraphicUsed by:324
Symbol 324 MovieClipUses:322 323Used by:462
Symbol 325 GraphicUsed by:328
Symbol 326 GraphicUses:283Used by:328 776
Symbol 327 GraphicUsed by:328
Symbol 328 MovieClipUses:325 326 327 284Used by:462
Symbol 329 GraphicUsed by:330
Symbol 330 MovieClipUses:329Used by:331
Symbol 331 MovieClip {Superfighters_fla.dive_hitclip_86}Uses:330Used by:462
Symbol 332 GraphicUsed by:336
Symbol 333 GraphicUses:283Used by:336 780
Symbol 334 GraphicUsed by:336
Symbol 335 GraphicUses:283Used by:336 780
Symbol 336 MovieClipUses:332 333 334 335Used by:462
Symbol 337 GraphicUsed by:341
Symbol 338 GraphicUses:283Used by:341 781
Symbol 339 GraphicUsed by:341
Symbol 340 GraphicUses:283Used by:341 781
Symbol 341 MovieClipUses:337 338 339 340Used by:462
Symbol 342 GraphicUsed by:346
Symbol 343 GraphicUses:283Used by:346 782
Symbol 344 GraphicUsed by:346
Symbol 345 GraphicUses:283Used by:346 782
Symbol 346 MovieClipUses:342 343 344 345Used by:462
Symbol 347 GraphicUsed by:352
Symbol 348 GraphicUses:283Used by:352 783
Symbol 349 GraphicUsed by:352
Symbol 350 GraphicUses:283Used by:352
Symbol 351 GraphicUses:283Used by:352 357 783 784
Symbol 352 MovieClipUses:347 348 349 350 351Used by:462
Symbol 353 GraphicUsed by:357
Symbol 354 GraphicUsed by:357
Symbol 355 GraphicUses:283Used by:357
Symbol 356 GraphicUses:283Used by:357 784
Symbol 357 MovieClipUses:353 351 354 355 356Used by:462
Symbol 358 GraphicUsed by:363
Symbol 359 GraphicUses:283Used by:363 785
Symbol 360 GraphicUsed by:363
Symbol 361 GraphicUses:283Used by:363
Symbol 362 GraphicUses:283Used by:363 785
Symbol 363 MovieClipUses:358 359 360 361 362Used by:462
Symbol 364 GraphicUsed by:369
Symbol 365 GraphicUses:283Used by:369 786
Symbol 366 GraphicUsed by:369
Symbol 367 GraphicUses:283Used by:369
Symbol 368 GraphicUses:283Used by:369 786
Symbol 369 MovieClipUses:364 365 366 367 368Used by:462
Symbol 370 GraphicUsed by:375
Symbol 371 GraphicUses:283Used by:375 787
Symbol 372 GraphicUsed by:375
Symbol 373 GraphicUses:283Used by:375
Symbol 374 GraphicUses:283Used by:375 787
Symbol 375 MovieClipUses:370 371 372 373 374Used by:462
Symbol 376 GraphicUsed by:381
Symbol 377 GraphicUses:283Used by:381 788
Symbol 378 GraphicUsed by:381
Symbol 379 GraphicUses:283Used by:381
Symbol 380 GraphicUses:283Used by:381 788
Symbol 381 MovieClipUses:376 377 378 379 380Used by:462
Symbol 382 GraphicUsed by:387
Symbol 383 GraphicUses:283Used by:387 789
Symbol 384 GraphicUsed by:387
Symbol 385 GraphicUses:283Used by:387
Symbol 386 GraphicUses:283Used by:387 789
Symbol 387 MovieClipUses:382 383 384 385 386Used by:462
Symbol 388 GraphicUsed by:393
Symbol 389 GraphicUses:283Used by:393 790
Symbol 390 GraphicUsed by:393
Symbol 391 GraphicUses:283Used by:393
Symbol 392 GraphicUses:283Used by:393 790
Symbol 393 MovieClipUses:388 389 390 391 392Used by:462
Symbol 394 GraphicUsed by:399
Symbol 395 GraphicUses:283Used by:399 791
Symbol 396 GraphicUsed by:399
Symbol 397 GraphicUses:283Used by:399
Symbol 398 GraphicUses:283Used by:399 791
Symbol 399 MovieClipUses:394 395 396 397 398Used by:462
Symbol 400 GraphicUsed by:402
Symbol 401 GraphicUses:283Used by:402 792
Symbol 402 MovieClipUses:400 401Used by:462
Symbol 403 GraphicUsed by:404 408 414
Symbol 404 MovieClipUses:403Used by:462
Symbol 405 GraphicUsed by:407 411
Symbol 406 GraphicUses:283Used by:407 411 795
Symbol 407 MovieClipUses:405 406Used by:462
Symbol 408 MovieClipUses:403Used by:462
Symbol 409 GraphicUsed by:410
Symbol 410 MovieClipUses:409Used by:462
Symbol 411 MovieClipUses:405 406Used by:462
Symbol 412 GraphicUsed by:413
Symbol 413 MovieClipUses:412Used by:462
Symbol 414 MovieClipUses:403Used by:462
Symbol 415 GraphicUsed by:416
Symbol 416 MovieClipUses:415Used by:462
Symbol 417 GraphicUsed by:419
Symbol 418 GraphicUses:283Used by:419 819
Symbol 419 MovieClipUses:417 418Used by:462
Symbol 420 GraphicUsed by:422
Symbol 421 GraphicUses:283Used by:422 826
Symbol 422 MovieClipUses:420 421Used by:462
Symbol 423 GraphicUsed by:424
Symbol 424 MovieClipUses:423Used by:462
Symbol 425 GraphicUsed by:427
Symbol 426 GraphicUses:283Used by:427 831
Symbol 427 MovieClipUses:425 426Used by:462
Symbol 428 GraphicUsed by:430
Symbol 429 GraphicUses:283Used by:430 832
Symbol 430 MovieClipUses:428 429Used by:462
Symbol 431 GraphicUsed by:434
Symbol 432 GraphicUsed by:434
Symbol 433 GraphicUsed by:434
Symbol 434 MovieClipUses:431 432 433Used by:462
Symbol 435 GraphicUsed by:436
Symbol 436 MovieClipUses:435Used by:462
Symbol 437 GraphicUsed by:438 839
Symbol 438 MovieClipUses:437Used by:462
Symbol 439 MovieClip {Superfighters_fla.grabbed_hitclip_117}Uses:304Used by:462
Symbol 440 GraphicUsed by:442
Symbol 441 GraphicUses:283Used by:442 841
Symbol 442 MovieClipUses:440 441Used by:462
Symbol 443 GraphicUsed by:445
Symbol 444 GraphicUses:283Used by:445 842
Symbol 445 MovieClipUses:443 444Used by:462
Symbol 446 GraphicUsed by:448
Symbol 447 GraphicUses:283Used by:448 843
Symbol 448 MovieClipUses:446 447Used by:462
Symbol 449 GraphicUsed by:455
Symbol 450 GraphicUses:283Used by:455 844
Symbol 451 GraphicUsed by:455
Symbol 452 GraphicUses:283Used by:455 844
Symbol 453 GraphicUsed by:455
Symbol 454 GraphicUses:283Used by:455 844
Symbol 455 MovieClipUses:449 450 451 452 453 454Used by:462
Symbol 456 GraphicUsed by:460
Symbol 457 GraphicUses:283Used by:460 845
Symbol 458 GraphicUsed by:460
Symbol 459 GraphicUses:283Used by:460 845
Symbol 460 MovieClipUses:456 457 458 459Used by:462
Symbol 461 MovieClipUsed by:462 699 846 1003 1208 1255 1418 1559 1732 1873 2014 2360 2431
Symbol 462 MovieClip {player_hitarea}Uses:289 292 299 305 308 312 313 316 321 324 328 331 336 341 346 352 357 363 369 375 381 387 393 399 402 404 407 408 410 411 413 414 416 419 422 424 427 430 434 436 438 439 442 445 448 455 460 461Used by:2515
Symbol 463 MovieClip {fire_effect_air}Uses:159Used by:2515
Symbol 464 BitmapUsed by:465 466 467 468 469
Symbol 465 GraphicUses:464Used by:470
Symbol 466 GraphicUses:464Used by:470
Symbol 467 GraphicUses:464Used by:470
Symbol 468 GraphicUses:464Used by:470
Symbol 469 GraphicUses:464Used by:470
Symbol 470 MovieClip {grenade_marker}Uses:465 466 467 468 469Used by:2515
Symbol 471 BitmapUsed by:472 2322
Symbol 472 GraphicUses:471Used by:474
Symbol 473 MovieClipUses:200Used by:474
Symbol 474 MovieClip {wpn_axe}Uses:472 473Used by:2515
Symbol 475 BitmapUsed by:476 2324
Symbol 476 GraphicUses:475Used by:478
Symbol 477 MovieClipUses:200Used by:478
Symbol 478 MovieClip {wpn_flamethrower}Uses:476 477Used by:2515
Symbol 479 ShapeTweeningUsed by:481
Symbol 480 GraphicUsed by:481
Symbol 481 MovieClip {fire_effect_flamethrower_air}Uses:479 480 159Used by:2515
Symbol 482 MovieClip {Code.Particles.fire_effect_flamethrower}Used by:2515
Symbol 483 ShapeTweeningUsed by:485
Symbol 484 GraphicUsed by:485
Symbol 485 MovieClip {fire_01_flamethrower}Uses:483 484Used by:2515
Symbol 486 MovieClip {fire_01}Uses:159Used by:2515
Symbol 487 MovieClip {fire_02}Uses:159Used by:2515
Symbol 488 MovieClip {fire_03}Uses:159Used by:2515
Symbol 489 BitmapUsed by:490
Symbol 490 GraphicUses:489Used by:496 676 832 1185 1395 1536 1709 1850 1991
Symbol 491 BitmapUsed by:492 495
Symbol 492 GraphicUses:491Used by:496 676 832 1185 1395 1536 1709 1850 1991
Symbol 493 BitmapUsed by:494
Symbol 494 GraphicUses:493Used by:496 676 832 1185 1395 1536 1709 1850 1991
Symbol 495 GraphicUses:491Used by:496 676 832 1185 1395 1536 1709 1850 1991
Symbol 496 MovieClip {bazooka_rocket}Uses:490 492 494 495Used by:2515
Symbol 497 BitmapUsed by:498
Symbol 498 GraphicUses:497Used by:499
Symbol 499 MovieClip {char_gib_04}Uses:498Used by:2515
Symbol 500 BitmapUsed by:501
Symbol 501 GraphicUses:500Used by:502
Symbol 502 MovieClip {char_gib_05}Uses:501Used by:2360 2515
Symbol 503 MovieClip {trace_bazooka_rocket}Uses:159Used by:2515
Symbol 504 MovieClip {Code.Particles.particle_bodyfall}Uses:159Used by:2515
Symbol 505 BitmapUsed by:506 2275 2336
Symbol 506 GraphicUses:505Used by:508
Symbol 507 MovieClipUses:200Used by:508 849
Symbol 508 MovieClip {wpn_slowmo_10}Uses:506 507Used by:2515
Symbol 509 ShapeTweeningUsed by:512
Symbol 510 ShapeTweeningUsed by:512
Symbol 511 GraphicUsed by:512 515 518 521 852 862 2037
Symbol 512 MovieClip {bullet_pistol}Uses:509 510 511Used by:2515
Symbol 513 ShapeTweeningUsed by:515
Symbol 514 ShapeTweeningUsed by:515
Symbol 515 MovieClip {bullet_rifle}Uses:513 514 511Used by:2515
Symbol 516 ShapeTweeningUsed by:518
Symbol 517 ShapeTweeningUsed by:518
Symbol 518 MovieClip {bullet_shotgun}Uses:516 517 511Used by:2515
Symbol 519 ShapeTweeningUsed by:521
Symbol 520 ShapeTweeningUsed by:521
Symbol 521 MovieClip {bullet_sniper}Uses:519 520 511Used by:2515
Symbol 522 BitmapUsed by:523
Symbol 523 GraphicUses:522Used by:524
Symbol 524 MovieClip {hit_metal_1_1}Uses:523Used by:2515
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:527
Symbol 527 MovieClip {hit_metal_1_2}Uses:526Used by:2515
Symbol 528 BitmapUsed by:529
Symbol 529 GraphicUses:528Used by:530
Symbol 530 MovieClip {hit_metal_2_1}Uses:529Used by:2515
Symbol 531 BitmapUsed by:532
Symbol 532 GraphicUses:531Used by:533
Symbol 533 MovieClip {hit_metal_2_2}Uses:532Used by:2515
Symbol 534 BitmapUsed by:535
Symbol 535 GraphicUses:534Used by:536
Symbol 536 MovieClip {hit_metal_3_1}Uses:535Used by:2515
Symbol 537 BitmapUsed by:538
Symbol 538 GraphicUses:537Used by:539
Symbol 539 MovieClip {blood_1}Uses:538Used by:2515
Symbol 540 BitmapUsed by:541
Symbol 541 GraphicUses:540Used by:542
Symbol 542 MovieClip {blood_2}Uses:541Used by:2515
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:545
Symbol 545 MovieClip {blood_3}Uses:544Used by:2515
Symbol 546 BitmapUsed by:547
Symbol 547 GraphicUses:546Used by:548
Symbol 548 MovieClip {blood_particle_big}Uses:547Used by:2515
Symbol 549 BitmapUsed by:550
Symbol 550 GraphicUses:549Used by:551
Symbol 551 MovieClip {blood_particle_small}Uses:550Used by:2515
Symbol 552 MovieClip {Code.Particles.particle_blood}Used by:2515
Symbol 553 MovieClip {Code.Particles.bullet_hitdefault}Used by:2515
Symbol 554 BitmapUsed by:555
Symbol 555 GraphicUses:554Used by:558
Symbol 556 BitmapUsed by:557
Symbol 557 GraphicUses:556Used by:558
Symbol 558 MovieClip {beachball}Uses:555 557Used by:2515
Symbol 559 BitmapUsed by:560 561 562 564 565 567 568 570 571 574 577 578 579 581 584 585 587 588 590 592 595 596 598 599 601 602 604 605 607 609 610 612 613 615 616 618 619 621 622 624 625 627 628 630 632 634 636 638 640 642 644 646 648 650 651 653 655 657 659 661 663 665 667 669 671 673 675 677 678 679 681 686 688 690 692 693 694 696 697
Symbol 560 GraphicUses:559Used by:563 591
Symbol 561 GraphicUses:559Used by:563
Symbol 562 GraphicUses:559Used by:563
Symbol 563 MovieClipUses:560 561 562Used by:699 2097
Symbol 564 GraphicUses:559Used by:566 569 586
Symbol 565 GraphicUses:559Used by:566
Symbol 566 MovieClipUses:564 565Used by:699
Symbol 567 GraphicUses:559Used by:569
Symbol 568 GraphicUses:559Used by:569
Symbol 569 MovieClipUses:567 564 568Used by:699
Symbol 570 GraphicUses:559Used by:572
Symbol 571 GraphicUses:559Used by:572
Symbol 572 MovieClipUses:570 571Used by:573 685
Symbol 573 MovieClip {Superfighters_fla.fall_f_johnny_164}Uses:572Used by:699
Symbol 574 GraphicUses:559Used by:575
Symbol 575 MovieClipUses:574Used by:576
Symbol 576 MovieClip {Superfighters_fla.fall_b_johnny_166}Uses:575Used by:699
Symbol 577 GraphicUses:559Used by:580
Symbol 578 GraphicUses:559Used by:580
Symbol 579 GraphicUses:559Used by:580
Symbol 580 MovieClipUses:577 578 579Used by:699
Symbol 581 GraphicUses:559Used by:582 583
Symbol 582 MovieClipUses:581Used by:699
Symbol 583 MovieClipUses:581Used by:699
Symbol 584 GraphicUses:559Used by:586
Symbol 585 GraphicUses:559Used by:586
Symbol 586 MovieClipUses:584 564 585Used by:699
Symbol 587 GraphicUses:559Used by:589
Symbol 588 GraphicUses:559Used by:589
Symbol 589 MovieClipUses:587 588Used by:699
Symbol 590 GraphicUses:559Used by:591
Symbol 591 MovieClipUses:590 560Used by:699
Symbol 592 GraphicUses:559Used by:593
Symbol 593 MovieClipUses:592Used by:594
Symbol 594 MovieClip {Superfighters_fla.dive_johnny_174}Uses:593Used by:699
Symbol 595 GraphicUses:559Used by:597
Symbol 596 GraphicUses:559Used by:597
Symbol 597 MovieClipUses:595 596Used by:699
Symbol 598 GraphicUses:559Used by:600
Symbol 599 GraphicUses:559Used by:600
Symbol 600 MovieClipUses:598 599Used by:699
Symbol 601 GraphicUses:559Used by:603
Symbol 602 GraphicUses:559Used by:603
Symbol 603 MovieClipUses:601 602Used by:699
Symbol 604 GraphicUses:559Used by:606
Symbol 605 GraphicUses:559Used by:606 608
Symbol 606 MovieClipUses:604 605Used by:699
Symbol 607 GraphicUses:559Used by:608
Symbol 608 MovieClipUses:605 607Used by:699
Symbol 609 GraphicUses:559Used by:611
Symbol 610 GraphicUses:559Used by:611
Symbol 611 MovieClipUses:609 610Used by:699
Symbol 612 GraphicUses:559Used by:614
Symbol 613 GraphicUses:559Used by:614
Symbol 614 MovieClipUses:612 613Used by:699
Symbol 615 GraphicUses:559Used by:617
Symbol 616 GraphicUses:559Used by:617
Symbol 617 MovieClipUses:615 616Used by:699
Symbol 618 GraphicUses:559Used by:620
Symbol 619 GraphicUses:559Used by:620
Symbol 620 MovieClipUses:618 619Used by:699
Symbol 621 GraphicUses:559Used by:623
Symbol 622 GraphicUses:559Used by:623
Symbol 623 MovieClipUses:621 622Used by:699
Symbol 624 GraphicUses:559Used by:626
Symbol 625 GraphicUses:559Used by:626
Symbol 626 MovieClipUses:624 625Used by:699
Symbol 627 GraphicUses:559Used by:629
Symbol 628 GraphicUses:559Used by:629
Symbol 629 MovieClipUses:627 628Used by:699
Symbol 630 GraphicUses:559Used by:631
Symbol 631 MovieClipUses:630Used by:699
Symbol 632 GraphicUses:559Used by:633
Symbol 633 MovieClipUses:632Used by:699
Symbol 634 GraphicUses:559Used by:635
Symbol 635 MovieClip {Superfighters_fla.aim_pistol_johnny_190}Uses:634 4Used by:699
Symbol 636 GraphicUses:559Used by:637
Symbol 637 MovieClipUses:636Used by:699
Symbol 638 GraphicUses:559Used by:639
Symbol 639 MovieClip {Superfighters_fla.aim_magnum_johnny_192}Uses:638 4Used by:699
Symbol 640 GraphicUses:559Used by:641
Symbol 641 MovieClipUses:640Used by:699
Symbol 642 GraphicUses:559Used by:643
Symbol 643 MovieClip {Superfighters_fla.aim_rifle_johnny_194}Uses:642 4Used by:699
Symbol 644 GraphicUses:559Used by:645
Symbol 645 MovieClipUses:644Used by:699
Symbol 646 GraphicUses:559Used by:647
Symbol 647 MovieClip {Superfighters_fla.aim_uzi_johnny_196}Uses:646 4Used by:699
Symbol 648 GraphicUses:559Used by:649
Symbol 649 MovieClipUses:648Used by:699
Symbol 650 GraphicUses:559Used by:652
Symbol 651 GraphicUses:559Used by:652
Symbol 652 MovieClip {Superfighters_fla.aim_shotgun_johnny_198}Uses:650 4 651Used by:699
Symbol 653 GraphicUses:559Used by:654
Symbol 654 MovieClipUses:653Used by:699
Symbol 655 GraphicUses:559Used by:656
Symbol 656 MovieClip {Superfighters_fla.aim_sniper_johnny_200}Uses:655 4Used by:699
Symbol 657 GraphicUses:559Used by:658
Symbol 658 MovieClipUses:657Used by:699
Symbol 659 GraphicUses:559Used by:660
Symbol 660 MovieClip {Superfighters_fla.aim_bazooka_johnny_202}Uses:659 4Used by:699
Symbol 661 GraphicUses:559Used by:662
Symbol 662 MovieClipUses:661Used by:699
Symbol 663 GraphicUses:559Used by:664
Symbol 664 MovieClipUses:663Used by:699
Symbol 665 GraphicUses:559Used by:666
Symbol 666 MovieClip {Superfighters_fla.aim_flamethrower_johnny_205}Uses:665 4Used by:699
Symbol 667 GraphicUses:559Used by:668
Symbol 668 MovieClipUses:667Used by:699
Symbol 669 GraphicUses:559Used by:670
Symbol 670 MovieClip {Superfighters_fla.aim_throw_johnny_207}Uses:669 4Used by:699
Symbol 671 GraphicUses:559Used by:672
Symbol 672 MovieClipUses:671Used by:699
Symbol 673 GraphicUses:559Used by:674
Symbol 674 MovieClipUses:673Used by:699
Symbol 675 GraphicUses:559Used by:676
Symbol 676 MovieClipUses:490 675 492 494 495Used by:699
Symbol 677 GraphicUses:559Used by:680
Symbol 678 GraphicUses:559Used by:680
Symbol 679 GraphicUses:559Used by:680
Symbol 680 MovieClipUses:677 678 679Used by:699
Symbol 681 GraphicUses:559Used by:682
Symbol 682 MovieClipUses:681Used by:699
Symbol 683 GraphicUsed by:684
Symbol 684 MovieClipUses:683Used by:699
Symbol 685 MovieClip {Superfighters_fla.grabbed_johnny_214}Uses:572Used by:699
Symbol 686 GraphicUses:559Used by:687
Symbol 687 MovieClipUses:686Used by:699
Symbol 688 GraphicUses:559Used by:689
Symbol 689 MovieClipUses:688Used by:699
Symbol 690 GraphicUses:559Used by:691
Symbol 691 MovieClipUses:690Used by:699
Symbol 692 GraphicUses:559Used by:695
Symbol 693 GraphicUses:559Used by:695
Symbol 694 GraphicUses:559Used by:695
Symbol 695 MovieClipUses:692 693 694Used by:699
Symbol 696 GraphicUses:559Used by:698
Symbol 697 GraphicUses:559Used by:698
Symbol 698 MovieClipUses:696 697Used by:699
Symbol 699 MovieClip {player_johnny}Uses:563 566 569 573 576 580 582 583 586 589 591 594 597 600 603 606 608 611 614 617 620 623 626 629 631 633 635 637 639 641 643 645 647 649 652 654 656 658 660 662 664 666 668 670 672 674 676 680 682 684 685 687 689 691 695 698 461Used by:2515
Symbol 700 BitmapUsed by:701
Symbol 701 GraphicUses:700Used by:702
Symbol 702 MovieClip {statue_globe}Uses:701Used by:2515
Symbol 703 BitmapUsed by:704
Symbol 704 GraphicUses:703Used by:705
Symbol 705 MovieClip {statue}Uses:704Used by:2515
Symbol 706 BitmapUsed by:707
Symbol 707 GraphicUses:706Used by:708
Symbol 708 MovieClip {trashcan}Uses:707Used by:2515
Symbol 709 BitmapUsed by:710
Symbol 710 GraphicUses:709Used by:713
Symbol 711 BitmapUsed by:712
Symbol 712 GraphicUses:711Used by:713
Symbol 713 MovieClip {gascan}Uses:710 712Used by:2515
Symbol 714 BitmapUsed by:715
Symbol 715 GraphicUses:714Used by:716
Symbol 716 MovieClip {chair}Uses:715Used by:2515
Symbol 717 BitmapUsed by:718
Symbol 718 GraphicUses:717Used by:719
Symbol 719 MovieClip {trace_axe_01}Uses:718Used by:2515
Symbol 720 BitmapUsed by:721
Symbol 721 GraphicUses:720Used by:722
Symbol 722 MovieClip {trace_axe_02}Uses:721Used by:2515
Symbol 723 BitmapUsed by:724
Symbol 724 GraphicUses:723Used by:725
Symbol 725 MovieClip {trace_axe_03}Uses:724Used by:2515
Symbol 726 BitmapUsed by:727
Symbol 727 GraphicUses:726Used by:728
Symbol 728 MovieClip {trace_machete_01}Uses:727Used by:2515
Symbol 729 BitmapUsed by:730
Symbol 730 GraphicUses:729Used by:731
Symbol 731 MovieClip {trace_machete_02}Uses:730Used by:2515
Symbol 732 BitmapUsed by:733
Symbol 733 GraphicUses:732Used by:734
Symbol 734 MovieClip {trace_machete_03}Uses:733Used by:2515
Symbol 735 BitmapUsed by:736
Symbol 736 GraphicUses:735Used by:737
Symbol 737 MovieClip {trace_sword_01}Uses:736Used by:2515
Symbol 738 BitmapUsed by:739
Symbol 739 GraphicUses:738Used by:740
Symbol 740 MovieClip {trace_sword_02}Uses:739Used by:2515
Symbol 741 BitmapUsed by:742
Symbol 742 GraphicUses:741Used by:743
Symbol 743 MovieClip {trace_sword_03}Uses:742Used by:2515
Symbol 744 MovieClip {Code.Particles.blood_gib_trace}Uses:159Used by:2515
Symbol 745 BitmapUsed by:746 2311
Symbol 746 GraphicUses:745Used by:748
Symbol 747 MovieClipUses:200Used by:748
Symbol 748 MovieClip {wpn_medkit}Uses:746 747Used by:2515
Symbol 749 BitmapUsed by:750 2311
Symbol 750 GraphicUses:749Used by:752
Symbol 751 MovieClipUses:200Used by:752
Symbol 752 MovieClip {wpn_pills}Uses:750 751Used by:2515
Symbol 753 BitmapUsed by:754 2327
Symbol 754 GraphicUses:753Used by:756
Symbol 755 MovieClipUses:200Used by:756
Symbol 756 MovieClip {wpn_magnum}Uses:754 755Used by:2515
Symbol 757 MovieClipUses:284 286 288Used by:846 1255 2097
Symbol 758 GraphicUses:283Used by:759
Symbol 759 MovieClipUses:296 758Used by:846 1255
Symbol 760 MovieClipUses:294 296 298Used by:846 1255
Symbol 761 MovieClipUses:301 303Used by:762 840
Symbol 762 MovieClip {Superfighters_fla.fall_f_boris_245}Uses:761Used by:846
Symbol 763 GraphicUses:283Used by:764
Symbol 764 MovieClipUses:763Used by:765
Symbol 765 MovieClip {Superfighters_fla.fall_b_boris_247}Uses:764Used by:846
Symbol 766 GraphicUses:283Used by:769
Symbol 767 GraphicUses:283Used by:769
Symbol 768 GraphicUses:283Used by:769 1250
Symbol 769 MovieClipUses:766 767 768Used by:846
Symbol 770 MovieClipUses:315Used by:846 1255
Symbol 771 MovieClipUses:315Used by:846 1255
Symbol 772 MovieClipUses:318 296 320Used by:846 1255
Symbol 773 GraphicUses:283Used by:775
Symbol 774 GraphicUses:283Used by:775
Symbol 775 MovieClipUses:773 774Used by:846 1255
Symbol 776 MovieClipUses:326 284Used by:846 1255
Symbol 777 GraphicUses:283Used by:778
Symbol 778 MovieClipUses:777Used by:779
Symbol 779 MovieClip {Superfighters_fla.dive_boris_255}Uses:778Used by:846 1255
Symbol 780 MovieClipUses:333 335Used by:846 1255
Symbol 781 MovieClipUses:338 340Used by:846 1255
Symbol 782 MovieClipUses:343 345Used by:846 1255
Symbol 783 MovieClipUses:348 351Used by:846 1255
Symbol 784 MovieClipUses:351 356Used by:846 1255
Symbol 785 MovieClipUses:359 362Used by:846 1255
Symbol 786 MovieClipUses:365 368Used by:846 1255
Symbol 787 MovieClipUses:371 374Used by:846 1255
Symbol 788 MovieClipUses:377 380Used by:846 1255
Symbol 789 MovieClipUses:383 386Used by:846 1255
Symbol 790 MovieClipUses:389 392Used by:846 1255
Symbol 791 MovieClipUses:395 398Used by:846 1255
Symbol 792 MovieClipUses:401Used by:846 1255
Symbol 793 GraphicUses:283Used by:794
Symbol 794 MovieClipUses:793Used by:846 1255
Symbol 795 MovieClip {Superfighters_fla.aim_pistol_boris_271}Uses:406 4Used by:846 1255
Symbol 796 GraphicUses:283Used by:797
Symbol 797 MovieClipUses:796Used by:846 1255
Symbol 798 GraphicUses:283Used by:799
Symbol 799 MovieClip {Superfighters_fla.aim_magnum_boris_273}Uses:798 4Used by:846 1255
Symbol 800 GraphicUses:283Used by:801
Symbol 801 MovieClipUses:800Used by:846 1255
Symbol 802 GraphicUses:283Used by:803
Symbol 803 MovieClip {Superfighters_fla.aim_rifle_boris_275}Uses:802 4Used by:846 1255
Symbol 804 GraphicUses:283Used by:805
Symbol 805 MovieClipUses:804Used by:846 1255
Symbol 806 GraphicUses:283Used by:807
Symbol 807 MovieClip {Superfighters_fla.aim_uzi_boris_277}Uses:806 4Used by:846 1255
Symbol 808 GraphicUses:283Used by:809
Symbol 809 MovieClipUses:808Used by:846 1255
Symbol 810 GraphicUses:283Used by:812
Symbol 811 GraphicUses:283Used by:812
Symbol 812 MovieClip {Superfighters_fla.aim_shotgun_boris_279}Uses:810 4 811Used by:846 1255
Symbol 813 GraphicUses:283Used by:814
Symbol 814 MovieClipUses:813Used by:846 1255
Symbol 815 GraphicUses:283Used by:816
Symbol 816 MovieClip {Superfighters_fla.aim_sniper_boris_281}Uses:815 4Used by:846 1255
Symbol 817 GraphicUses:283Used by:818
Symbol 818 MovieClipUses:817Used by:846 1255
Symbol 819 MovieClip {Superfighters_fla.aim_bazooka_boris_283}Uses:418 4Used by:846 1255
Symbol 820 GraphicUses:283Used by:821
Symbol 821 MovieClipUses:820Used by:846 1255
Symbol 822 GraphicUses:283Used by:823
Symbol 823 MovieClipUses:822Used by:846 1255
Symbol 824 GraphicUses:283Used by:825
Symbol 825 MovieClip {Superfighters_fla.aim_flamethrower_boris_286}Uses:824 4Used by:846 1255
Symbol 826 MovieClipUses:421Used by:846 1255
Symbol 827 GraphicUses:283Used by:828
Symbol 828 MovieClip {Superfighters_fla.aim_throw_boris_288}Uses:827 4Used by:846 1255
Symbol 829 GraphicUses:283Used by:830
Symbol 830 MovieClipUses:829Used by:846 1255
Symbol 831 MovieClipUses:426Used by:846 1255
Symbol 832 MovieClipUses:490 429 492 494 495Used by:846 1255
Symbol 833 GraphicUses:283Used by:836
Symbol 834 GraphicUses:283Used by:836
Symbol 835 GraphicUses:283Used by:836
Symbol 836 MovieClipUses:833 834 835Used by:846 1255
Symbol 837 GraphicUses:283Used by:838
Symbol 838 MovieClipUses:837Used by:846 1255
Symbol 839 MovieClipUses:437Used by:846 1255
Symbol 840 MovieClip {Superfighters_fla.grabbed_boris_295}Uses:761Used by:846
Symbol 841 MovieClipUses:441Used by:846 1255
Symbol 842 MovieClipUses:444Used by:846 1255
Symbol 843 MovieClipUses:447Used by:846 1255
Symbol 844 MovieClipUses:450 452 454Used by:846 1255
Symbol 845 MovieClipUses:457 459Used by:846
Symbol 846 MovieClip {player_boris}Uses:757 759 760 762 765 769 770 771 772 775 776 779 780 781 782 783 784 785 786 787 788 789 790 791 792 794 795 797 799 801 803 805 807 809 812 814 816 818 819 821 823 825 826 828 830 831 832 836 838 839 840 841 842 843 844 845 461Used by:2515
Symbol 847 BitmapUsed by:848 2275 2335
Symbol 848 GraphicUses:847Used by:849
Symbol 849 MovieClip {wpn_slowmo_05}Uses:848 507Used by:2515
Symbol 850 ShapeTweeningUsed by:852
Symbol 851 ShapeTweeningUsed by:852
Symbol 852 MovieClip {bullet_magnum}Uses:850 851 511Used by:2515
Symbol 853 BitmapUsed by:854
Symbol 854 GraphicUses:853Used by:855
Symbol 855 MovieClip {player_aim}Uses:854Used by:2515
Symbol 856 BitmapUsed by:857 2334
Symbol 857 GraphicUses:856Used by:859
Symbol 858 MovieClipUses:200Used by:859
Symbol 859 MovieClip {wpn_uzi}Uses:857 4 858Used by:2515
Symbol 860 ShapeTweeningUsed by:862
Symbol 861 ShapeTweeningUsed by:862
Symbol 862 MovieClip {bullet_uzi}Uses:860 861 511Used by:2515
Symbol 863 BitmapUsed by:864 865 866 868 869 871 872 874 875 878 881 882 883 885 888 889 891 892 894 896 899 900 902 903 905 906 908 909 911 913 914 916 917 919 920 922 923 925 926 928 929 931 932 934 936 938 940 942 944 946 948 950 952 954 955 957 959 961 963 965 967 969 971 973 975 977 979 981 982 983 985 990 992 994 996 997 998 1000 1001
Symbol 864 GraphicUses:863Used by:867 895
Symbol 865 GraphicUses:863Used by:867
Symbol 866 GraphicUses:863Used by:867
Symbol 867 MovieClipUses:864 865 866Used by:1003
Symbol 868 GraphicUses:863Used by:870 873 890
Symbol 869 GraphicUses:863Used by:870
Symbol 870 MovieClipUses:868 869Used by:1003
Symbol 871 GraphicUses:863Used by:873
Symbol 872 GraphicUses:863Used by:873
Symbol 873 MovieClipUses:871 868 872Used by:1003
Symbol 874 GraphicUses:863Used by:876
Symbol 875 GraphicUses:863Used by:876
Symbol 876 MovieClipUses:874 875Used by:877 989
Symbol 877 MovieClip {Superfighters_fla.fall_f_blood_311}Uses:876Used by:1003
Symbol 878 GraphicUses:863Used by:879
Symbol 879 MovieClipUses:878Used by:880
Symbol 880 MovieClip {Superfighters_fla.fall_b_blood_313}Uses:879Used by:1003
Symbol 881 GraphicUses:863Used by:884
Symbol 882 GraphicUses:863Used by:884
Symbol 883 GraphicUses:863Used by:884
Symbol 884 MovieClipUses:881 882 883Used by:1003
Symbol 885 GraphicUses:863Used by:886 887
Symbol 886 MovieClipUses:885Used by:1003
Symbol 887 MovieClipUses:885Used by:1003
Symbol 888 GraphicUses:863Used by:890
Symbol 889 GraphicUses:863Used by:890
Symbol 890 MovieClipUses:888 868 889Used by:1003
Symbol 891 GraphicUses:863Used by:893
Symbol 892 GraphicUses:863Used by:893
Symbol 893 MovieClipUses:891 892Used by:1003
Symbol 894 GraphicUses:863Used by:895
Symbol 895 MovieClipUses:894 864Used by:1003
Symbol 896 GraphicUses:863Used by:897
Symbol 897 MovieClipUses:896Used by:898
Symbol 898 MovieClip {Superfighters_fla.dive_blood_321}Uses:897Used by:1003
Symbol 899 GraphicUses:863Used by:901
Symbol 900 GraphicUses:863Used by:901
Symbol 901 MovieClipUses:899 900Used by:1003
Symbol 902 GraphicUses:863Used by:904
Symbol 903 GraphicUses:863Used by:904
Symbol 904 MovieClipUses:902 903Used by:1003
Symbol 905 GraphicUses:863Used by:907
Symbol 906 GraphicUses:863Used by:907
Symbol 907 MovieClipUses:905 906Used by:1003
Symbol 908 GraphicUses:863Used by:910
Symbol 909 GraphicUses:863Used by:910 912
Symbol 910 MovieClipUses:908 909Used by:1003
Symbol 911 GraphicUses:863Used by:912
Symbol 912 MovieClipUses:909 911Used by:1003
Symbol 913 GraphicUses:863Used by:915
Symbol 914 GraphicUses:863Used by:915
Symbol 915 MovieClipUses:913 914Used by:1003
Symbol 916 GraphicUses:863Used by:918
Symbol 917 GraphicUses:863Used by:918
Symbol 918 MovieClipUses:916 917Used by:1003
Symbol 919 GraphicUses:863Used by:921
Symbol 920 GraphicUses:863Used by:921
Symbol 921 MovieClipUses:919 920Used by:1003
Symbol 922 GraphicUses:863Used by:924
Symbol 923 GraphicUses:863Used by:924
Symbol 924 MovieClipUses:922 923Used by:1003
Symbol 925 GraphicUses:863Used by:927
Symbol 926 GraphicUses:863Used by:927
Symbol 927 MovieClipUses:925 926Used by:1003
Symbol 928 GraphicUses:863Used by:930
Symbol 929 GraphicUses:863Used by:930
Symbol 930 MovieClipUses:928 929Used by:1003
Symbol 931 GraphicUses:863Used by:933
Symbol 932 GraphicUses:863Used by:933
Symbol 933 MovieClipUses:931 932Used by:1003
Symbol 934 GraphicUses:863Used by:935
Symbol 935 MovieClipUses:934Used by:1003
Symbol 936 GraphicUses:863Used by:937
Symbol 937 MovieClipUses:936Used by:1003
Symbol 938 GraphicUses:863Used by:939
Symbol 939 MovieClipUses:938Used by:1003
Symbol 940 GraphicUses:863Used by:941
Symbol 941 MovieClipUses:940Used by:1003
Symbol 942 GraphicUses:863Used by:943
Symbol 943 MovieClipUses:942Used by:1003
Symbol 944 GraphicUses:863Used by:945
Symbol 945 MovieClipUses:944Used by:1003
Symbol 946 GraphicUses:863Used by:947
Symbol 947 MovieClipUses:946Used by:1003
Symbol 948 GraphicUses:863Used by:949
Symbol 949 MovieClipUses:948Used by:1003
Symbol 950 GraphicUses:863Used by:951
Symbol 951 MovieClipUses:950Used by:1003
Symbol 952 GraphicUses:863Used by:953
Symbol 953 MovieClipUses:952Used by:1003
Symbol 954 GraphicUses:863Used by:956
Symbol 955 GraphicUses:863Used by:956
Symbol 956 MovieClipUses:954 955Used by:1003
Symbol 957 GraphicUses:863Used by:958
Symbol 958 MovieClipUses:957Used by:1003
Symbol 959 GraphicUses:863Used by:960
Symbol 960 MovieClipUses:959Used by:1003
Symbol 961 GraphicUses:863Used by:962
Symbol 962 MovieClipUses:961Used by:1003
Symbol 963 GraphicUses:863Used by:964
Symbol 964 MovieClipUses:963Used by:1003
Symbol 965 GraphicUses:863Used by:966
Symbol 966 MovieClipUses:965Used by:1003
Symbol 967 GraphicUses:863Used by:968
Symbol 968 MovieClipUses:967Used by:1003
Symbol 969 GraphicUses:863Used by:970
Symbol 970 MovieClipUses:969Used by:1003
Symbol 971 GraphicUses:863Used by:972
Symbol 972 MovieClipUses:971Used by:1003
Symbol 973 GraphicUses:863Used by:974
Symbol 974 MovieClipUses:973Used by:1003
Symbol 975 GraphicUses:863Used by:976
Symbol 976 MovieClipUses:975Used by:1003
Symbol 977 GraphicUses:863Used by:978
Symbol 978 MovieClipUses:977Used by:1003
Symbol 979 GraphicUses:863Used by:980
Symbol 980 MovieClipUses:979Used by:1003
Symbol 981 GraphicUses:863Used by:984
Symbol 982 GraphicUses:863Used by:984
Symbol 983 GraphicUses:863Used by:984
Symbol 984 MovieClipUses:981 982 983Used by:1003
Symbol 985 GraphicUses:863Used by:986
Symbol 986 MovieClipUses:985Used by:1003
Symbol 987 GraphicUsed by:988
Symbol 988 MovieClipUses:987Used by:1003
Symbol 989 MovieClip {Superfighters_fla.grabbed_blood_361}Uses:876Used by:1003
Symbol 990 GraphicUses:863Used by:991
Symbol 991 MovieClipUses:990Used by:1003
Symbol 992 GraphicUses:863Used by:993
Symbol 993 MovieClipUses:992Used by:1003
Symbol 994 GraphicUses:863Used by:995
Symbol 995 MovieClipUses:994Used by:1003
Symbol 996 GraphicUses:863Used by:999
Symbol 997 GraphicUses:863Used by:999
Symbol 998 GraphicUses:863Used by:999
Symbol 999 MovieClipUses:996 997 998Used by:1003
Symbol 1000 GraphicUses:863Used by:1002
Symbol 1001 GraphicUses:863Used by:1002
Symbol 1002 MovieClipUses:1000 1001Used by:1003
Symbol 1003 MovieClip {player_blood}Uses:867 870 873 877 880 884 886 887 890 893 895 898 901 904 907 910 912 915 918 921 924 927 930 933 935 937 939 941 943 945 947 949 951 953 956 958 960 962 964 966 968 970 972 974 976 978 980 984 986 988 989 991 993 995 999 1002 461Used by:2515
Symbol 1004 BitmapUsed by:1005
Symbol 1005 GraphicUses:1004Used by:1008
Symbol 1006 BitmapUsed by:1007
Symbol 1007 GraphicUses:1006Used by:1008
Symbol 1008 MovieClip {muzzle_flash_bazooka}Uses:1005 1007Used by:2515
Symbol 1009 MovieClip {smoke_weapon_muzzle}Uses:159Used by:2515
Symbol 1010 BitmapUsed by:1011
Symbol 1011 GraphicUses:1010Used by:1012
Symbol 1012 MovieClip {lift_01}Uses:1011Used by:2515
Symbol 1013 BitmapUsed by:1014
Symbol 1014 GraphicUses:1013Used by:1015
Symbol 1015 MovieClip {window_seg}Uses:1014Used by:2515
Symbol 1016 BitmapUsed by:1017
Symbol 1017 GraphicUses:1016Used by:1018
Symbol 1018 MovieClip {glass_shard_1}Uses:1017Used by:2515
Symbol 1019 BitmapUsed by:1020
Symbol 1020 GraphicUses:1019Used by:1021
Symbol 1021 MovieClip {lamp_1}Uses:1020Used by:2515
Symbol 1022 BitmapUsed by:1023
Symbol 1023 GraphicUses:1022Used by:1024
Symbol 1024 MovieClip {lamp_1_b}Uses:1023Used by:2515
Symbol 1025 BitmapUsed by:1026
Symbol 1026 GraphicUses:1025Used by:1027
Symbol 1027 MovieClip {comfy_chair}Uses:1026Used by:2515
Symbol 1028 BitmapUsed by:1029
Symbol 1029 GraphicUses:1028Used by:1030
Symbol 1030 MovieClip {crate_hanging_holder}Uses:1029Used by:2515
Symbol 1031 BitmapUsed by:1032
Symbol 1032 GraphicUses:1031Used by:1033
Symbol 1033 MovieClip {rope_segment_01}Uses:1032Used by:2515
Symbol 1034 BitmapUsed by:1035 1041 1042
Symbol 1035 GraphicUses:1034Used by:1036
Symbol 1036 MovieClip {bullet_impact}Uses:159 1035Used by:2515
Symbol 1037 BitmapUsed by:1038 1039 1040 1046
Symbol 1038 GraphicUses:1037Used by:1043 1045 1051
Symbol 1039 GraphicUses:1037Used by:1043 1045
Symbol 1040 GraphicUses:1037Used by:1043 1045
Symbol 1041 GraphicUses:1034Used by:1043
Symbol 1042 GraphicUses:1034Used by:1043 1045
Symbol 1043 MovieClip {explosion_circle}Uses:1038 1039 1040 1041 1042Used by:2515
Symbol 1044 GraphicUses:158Used by:1045
Symbol 1045 MovieClip {fire_circle}Uses:1044 1038 1039 1040 1042Used by:2515
Symbol 1046 GraphicUses:1037Used by:1051
Symbol 1047 GraphicUses:158Used by:1051
Symbol 1048 GraphicUses:158Used by:1051
Symbol 1049 GraphicUses:158Used by:1051
Symbol 1050 GraphicUses:158Used by:1051
Symbol 1051 MovieClipUses:1046 1038 1047 1048 1049 1050Used by:2515
Symbol 1052 BitmapUsed by:1053
Symbol 1053 GraphicUses:1052Used by:1058
Symbol 1054 BitmapUsed by:1055
Symbol 1055 GraphicUses:1054Used by:1058
Symbol 1056 BitmapUsed by:1057
Symbol 1057 GraphicUses:1056Used by:1058
Symbol 1058 MovieClip {player_sign}Uses:1053 1055 1057Used by:2360 2515
Symbol 1059 BitmapUsed by:1060
Symbol 1060 GraphicUses:1059Used by:1061
Symbol 1061 MovieClip {electric_1}Uses:1060Used by:2515
Symbol 1062 BitmapUsed by:1063
Symbol 1063 GraphicUses:1062Used by:1064
Symbol 1064 MovieClip {electric_2}Uses:1063Used by:2515
Symbol 1065 BitmapUsed by:1066
Symbol 1066 GraphicUses:1065Used by:1067
Symbol 1067 MovieClip {electric_3}Uses:1066Used by:2515
Symbol 1068 BitmapUsed by:1069 1070 1071 1073 1074 1076 1077 1079 1080 1083 1086 1087 1088 1090 1093 1094 1096 1097 1099 1101 1104 1105 1107 1108 1110 1111 1113 1114 1116 1118 1119 1121 1122 1124 1125 1127 1128 1130 1131 1133 1134 1136 1137 1139 1141 1143 1145 1147 1149 1151 1153 1155 1157 1159 1160 1162 1164 1166 1168 1170 1172 1174 1176 1178 1180 1182 1184 1186 1187 1188 1190 1195 1197 1199 1201 1202 1203 1205 1206
Symbol 1069 GraphicUses:1068Used by:1072 1100
Symbol 1070 GraphicUses:1068Used by:1072
Symbol 1071 GraphicUses:1068Used by:1072
Symbol 1072 MovieClipUses:1069 1070 1071Used by:1208 2097
Symbol 1073 GraphicUses:1068Used by:1075 1078 1095
Symbol 1074 GraphicUses:1068Used by:1075
Symbol 1075 MovieClipUses:1073 1074Used by:1208
Symbol 1076 GraphicUses:1068Used by:1078
Symbol 1077 GraphicUses:1068Used by:1078
Symbol 1078 MovieClipUses:1076 1073 1077Used by:1208
Symbol 1079 GraphicUses:1068Used by:1081
Symbol 1080 GraphicUses:1068Used by:1081
Symbol 1081 MovieClipUses:1079 1080Used by:1082 1194
Symbol 1082 MovieClip {Superfighters_fla.fall_f_agent_390}Uses:1081Used by:1208
Symbol 1083 GraphicUses:1068Used by:1084
Symbol 1084 MovieClipUses:1083Used by:1085
Symbol 1085 MovieClip {Superfighters_fla.fall_b_agent_392}Uses:1084Used by:1208
Symbol 1086 GraphicUses:1068Used by:1089
Symbol 1087 GraphicUses:1068Used by:1089
Symbol 1088 GraphicUses:1068Used by:1089
Symbol 1089 MovieClipUses:1086 1087 1088Used by:1208
Symbol 1090 GraphicUses:1068Used by:1091 1092
Symbol 1091 MovieClipUses:1090Used by:1208
Symbol 1092 MovieClipUses:1090Used by:1208
Symbol 1093 GraphicUses:1068Used by:1095
Symbol 1094 GraphicUses:1068Used by:1095
Symbol 1095 MovieClipUses:1093 1073 1094Used by:1208
Symbol 1096 GraphicUses:1068Used by:1098
Symbol 1097 GraphicUses:1068Used by:1098
Symbol 1098 MovieClipUses:1096 1097Used by:1208
Symbol 1099 GraphicUses:1068Used by:1100
Symbol 1100 MovieClipUses:1099 1069Used by:1208
Symbol 1101 GraphicUses:1068Used by:1102
Symbol 1102 MovieClipUses:1101Used by:1103
Symbol 1103 MovieClip {Superfighters_fla.dive_agent_400}Uses:1102Used by:1208
Symbol 1104 GraphicUses:1068Used by:1106
Symbol 1105 GraphicUses:1068Used by:1106
Symbol 1106 MovieClipUses:1104 1105Used by:1208
Symbol 1107 GraphicUses:1068Used by:1109
Symbol 1108 GraphicUses:1068Used by:1109
Symbol 1109 MovieClipUses:1107 1108Used by:1208
Symbol 1110 GraphicUses:1068Used by:1112
Symbol 1111 GraphicUses:1068Used by:1112
Symbol 1112 MovieClipUses:1110 1111Used by:1208
Symbol 1113 GraphicUses:1068Used by:1115
Symbol 1114 GraphicUses:1068Used by:1115 1117
Symbol 1115 MovieClipUses:1113 1114Used by:1208
Symbol 1116 GraphicUses:1068Used by:1117
Symbol 1117 MovieClipUses:1114 1116Used by:1208
Symbol 1118 GraphicUses:1068Used by:1120
Symbol 1119 GraphicUses:1068Used by:1120
Symbol 1120 MovieClipUses:1118 1119Used by:1208
Symbol 1121 GraphicUses:1068Used by:1123
Symbol 1122 GraphicUses:1068Used by:1123
Symbol 1123 MovieClipUses:1121 1122Used by:1208
Symbol 1124 GraphicUses:1068Used by:1126
Symbol 1125 GraphicUses:1068Used by:1126
Symbol 1126 MovieClipUses:1124 1125Used by:1208
Symbol 1127 GraphicUses:1068Used by:1129
Symbol 1128 GraphicUses:1068Used by:1129
Symbol 1129 MovieClipUses:1127 1128Used by:1208
Symbol 1130 GraphicUses:1068Used by:1132
Symbol 1131 GraphicUses:1068Used by:1132
Symbol 1132 MovieClipUses:1130 1131Used by:1208
Symbol 1133 GraphicUses:1068Used by:1135
Symbol 1134 GraphicUses:1068Used by:1135
Symbol 1135 MovieClipUses:1133 1134Used by:1208
Symbol 1136 GraphicUses:1068Used by:1138
Symbol 1137 GraphicUses:1068Used by:1138
Symbol 1138 MovieClipUses:1136 1137Used by:1208
Symbol 1139 GraphicUses:1068Used by:1140
Symbol 1140 MovieClipUses:1139Used by:1208
Symbol 1141 GraphicUses:1068Used by:1142
Symbol 1142 MovieClipUses:1141Used by:1208
Symbol 1143 GraphicUses:1068Used by:1144
Symbol 1144 MovieClip {Superfighters_fla.aim_pistol_agent_416}Uses:1143 4Used by:1208
Symbol 1145 GraphicUses:1068Used by:1146
Symbol 1146 MovieClipUses:1145Used by:1208
Symbol 1147 GraphicUses:1068Used by:1148
Symbol 1148 MovieClip {Superfighters_fla.aim_magnum_agent_418}Uses:1147 4Used by:1208
Symbol 1149 GraphicUses:1068Used by:1150
Symbol 1150 MovieClipUses:1149Used by:1208
Symbol 1151 GraphicUses:1068Used by:1152
Symbol 1152 MovieClip {Superfighters_fla.aim_rifle_agent_420}Uses:1151 4Used by:1208
Symbol 1153 GraphicUses:1068Used by:1154
Symbol 1154 MovieClipUses:1153Used by:1208
Symbol 1155 GraphicUses:1068Used by:1156
Symbol 1156 MovieClip {Superfighters_fla.aim_uzi_agent_422}Uses:1155 4Used by:1208
Symbol 1157 GraphicUses:1068Used by:1158
Symbol 1158 MovieClipUses:1157Used by:1208
Symbol 1159 GraphicUses:1068Used by:1161
Symbol 1160 GraphicUses:1068Used by:1161
Symbol 1161 MovieClip {Superfighters_fla.aim_shotgun_agent_424}Uses:1159 4 1160Used by:1208
Symbol 1162 GraphicUses:1068Used by:1163
Symbol 1163 MovieClipUses:1162Used by:1208
Symbol 1164 GraphicUses:1068Used by:1165
Symbol 1165 MovieClip {Superfighters_fla.aim_sniper_agent_426}Uses:1164 4Used by:1208
Symbol 1166 GraphicUses:1068Used by:1167
Symbol 1167 MovieClipUses:1166Used by:1208
Symbol 1168 GraphicUses:1068Used by:1169
Symbol 1169 MovieClip {Superfighters_fla.aim_bazooka_agent_428}Uses:1168 4Used by:1208
Symbol 1170 GraphicUses:1068Used by:1171
Symbol 1171 MovieClipUses:1170Used by:1208
Symbol 1172 GraphicUses:1068Used by:1173
Symbol 1173 MovieClipUses:1172Used by:1208
Symbol 1174 GraphicUses:1068Used by:1175
Symbol 1175 MovieClip {Superfighters_fla.aim_flamethrower_agent_431}Uses:1174 4Used by:1208
Symbol 1176 GraphicUses:1068Used by:1177
Symbol 1177 MovieClipUses:1176Used by:1208
Symbol 1178 GraphicUses:1068Used by:1179
Symbol 1179 MovieClip {Superfighters_fla.aim_throw_agent_433}Uses:1178 4Used by:1208
Symbol 1180 GraphicUses:1068Used by:1181
Symbol 1181 MovieClipUses:1180Used by:1208
Symbol 1182 GraphicUses:1068Used by:1183
Symbol 1183 MovieClipUses:1182Used by:1208
Symbol 1184 GraphicUses:1068Used by:1185
Symbol 1185 MovieClipUses:490 1184 492 494 495Used by:1208
Symbol 1186 GraphicUses:1068Used by:1189
Symbol 1187 GraphicUses:1068Used by:1189
Symbol 1188 GraphicUses:1068Used by:1189
Symbol 1189 MovieClipUses:1186 1187 1188Used by:1208
Symbol 1190 GraphicUses:1068Used by:1191
Symbol 1191 MovieClipUses:1190Used by:1208
Symbol 1192 GraphicUsed by:1193
Symbol 1193 MovieClipUses:1192Used by:1208
Symbol 1194 MovieClip {Superfighters_fla.grabbed_agent_440}Uses:1081Used by:1208
Symbol 1195 GraphicUses:1068Used by:1196
Symbol 1196 MovieClipUses:1195Used by:1208
Symbol 1197 GraphicUses:1068Used by:1198
Symbol 1198 MovieClipUses:1197Used by:1208
Symbol 1199 GraphicUses:1068Used by:1200
Symbol 1200 MovieClipUses:1199Used by:1208
Symbol 1201 GraphicUses:1068Used by:1204
Symbol 1202 GraphicUses:1068Used by:1204
Symbol 1203 GraphicUses:1068Used by:1204
Symbol 1204 MovieClipUses:1201 1202 1203Used by:1208
Symbol 1205 GraphicUses:1068Used by:1207
Symbol 1206 GraphicUses:1068Used by:1207
Symbol 1207 MovieClipUses:1205 1206Used by:1208
Symbol 1208 MovieClip {player_agent}Uses:1072 1075 1078 1082 1085 1089 1091 1092 1095 1098 1100 1103 1106 1109 1112 1115 1117 1120 1123 1126 1129 1132 1135 1138 1140 1142 1144 1146 1148 1150 1152 1154 1156 1158 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1189 1191 1193 1194 1196 1198 1200 1204 1207 461Used by:2515
Symbol 1209 BitmapUsed by:1210
Symbol 1210 GraphicUses:1209Used by:1239
Symbol 1211 BitmapUsed by:1212
Symbol 1212 GraphicUses:1211Used by:1239
Symbol 1213 BitmapUsed by:1214
Symbol 1214 GraphicUses:1213Used by:1239
Symbol 1215 BitmapUsed by:1216
Symbol 1216 GraphicUses:1215Used by:1239
Symbol 1217 BitmapUsed by:1218
Symbol 1218 GraphicUses:1217Used by:1239
Symbol 1219 BitmapUsed by:1220
Symbol 1220 GraphicUses:1219Used by:1239
Symbol 1221 BitmapUsed by:1222
Symbol 1222 GraphicUses:1221Used by:1239
Symbol 1223 BitmapUsed by:1224
Symbol 1224 GraphicUses:1223Used by:1239
Symbol 1225 BitmapUsed by:1226
Symbol 1226 GraphicUses:1225Used by:1239
Symbol 1227 BitmapUsed by:1228
Symbol 1228 GraphicUses:1227Used by:1239
Symbol 1229 BitmapUsed by:1230
Symbol 1230 GraphicUses:1229Used by:1239
Symbol 1231 BitmapUsed by:1232
Symbol 1232 GraphicUses:1231Used by:1239
Symbol 1233 BitmapUsed by:1234
Symbol 1234 GraphicUses:1233Used by:1239
Symbol 1235 BitmapUsed by:1236
Symbol 1236 GraphicUses:1235Used by:1239
Symbol 1237 BitmapUsed by:1238
Symbol 1238 GraphicUses:1237Used by:1239
Symbol 1239 MovieClip {Code.Particles.pickup_sign}Uses:1210 1212 1214 1216 1218 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238Used by:2515
Symbol 1240 BitmapUsed by:1241 1242 1245 1248 1249 1252 1253
Symbol 1241 GraphicUses:1240Used by:1243
Symbol 1242 GraphicUses:1240Used by:1243
Symbol 1243 MovieClipUses:1241 1242Used by:1244 1251
Symbol 1244 MovieClip {Superfighters_fla.fall_f_burnt_448}Uses:1243Used by:1255
Symbol 1245 GraphicUses:1240Used by:1246
Symbol 1246 MovieClipUses:1245Used by:1247
Symbol 1247 MovieClip {Superfighters_fla.fall_b_burnt_450}Uses:1246Used by:1255
Symbol 1248 GraphicUses:1240Used by:1250
Symbol 1249 GraphicUses:1240Used by:1250
Symbol 1250 MovieClipUses:1248 1249 768Used by:1255
Symbol 1251 MovieClip {Superfighters_fla.grabbed_burnt_453}Uses:1243Used by:1255
Symbol 1252 GraphicUses:1240Used by:1254
Symbol 1253 GraphicUses:1240Used by:1254
Symbol 1254 MovieClipUses:1252 1253Used by:1255
Symbol 1255 MovieClip {player_burnt}Uses:757 759 760 1244 1247 1250 770 771 772 775 776 779 780 781 782 783 784 785 786 787 788 789 790 791 792 794 795 797 799 801 803 805 807 809 812 814 816 818 819 821 823 825 826 828 830 831 832 836 838 839 1251 841 842 843 844 1254 461Used by:2515
Symbol 1256 BitmapUsed by:1257
Symbol 1257 GraphicUses:1256Used by:1258
Symbol 1258 MovieClipUses:1257Used by:1262
Symbol 1259 BitmapUsed by:1260
Symbol 1260 GraphicUses:1259Used by:1261
Symbol 1261 MovieClipUses:1260Used by:1262
Symbol 1262 MovieClip {get_ready_fight}Uses:1258 1261Used by:2515
Symbol 1263 BitmapUsed by:1264
Symbol 1264 GraphicUses:1263Used by:1265
Symbol 1265 MovieClip {tutorial_target}Uses:1264Used by:2515
Symbol 1266 BitmapUsed by:1267
Symbol 1267 GraphicUses:1266Used by:1268
Symbol 1268 MovieClip {tutorial_target_debris_01}Uses:1267Used by:2515
Symbol 1269 BitmapUsed by:1270
Symbol 1270 GraphicUses:1269Used by:1271
Symbol 1271 MovieClip {tutorial_target_debris_02}Uses:1270Used by:2515
Symbol 1272 BitmapUsed by:1273
Symbol 1273 GraphicUses:1272Used by:1274
Symbol 1274 MovieClip {tutorial_target_debris_03}Uses:1273Used by:2515
Symbol 1275 BitmapUsed by:1276
Symbol 1276 GraphicUses:1275Used by:1277
Symbol 1277 MovieClip {lift_small_01}Uses:1276Used by:2515
Symbol 1278 BitmapUsed by:1279 1280 1281 1283 1284 1286 1287 1289 1290 1293 1296 1297 1298 1300 1303 1304 1306 1307 1309 1311 1314 1315 1317 1318 1320 1321 1323 1324 1326 1328 1329 1331 1332 1334 1335 1337 1338 1340 1341 1343 1344 1346 1347 1349 1351 1353 1355 1357 1359 1361 1363 1365 1367 1369 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1390 1392 1394 1396 1397 1398 1400 1405 1407 1409 1411 1412 1413 1415 1416
Symbol 1279 GraphicUses:1278Used by:1282 1310
Symbol 1280 GraphicUses:1278Used by:1282
Symbol 1281 GraphicUses:1278Used by:1282
Symbol 1282 MovieClipUses:1279 1280 1281Used by:1418 2097
Symbol 1283 GraphicUses:1278Used by:1285 1288 1305
Symbol 1284 GraphicUses:1278Used by:1285
Symbol 1285 MovieClipUses:1283 1284Used by:1418
Symbol 1286 GraphicUses:1278Used by:1288
Symbol 1287 GraphicUses:1278Used by:1288
Symbol 1288 MovieClipUses:1286 1283 1287Used by:1418
Symbol 1289 GraphicUses:1278Used by:1291
Symbol 1290 GraphicUses:1278Used by:1291
Symbol 1291 MovieClipUses:1289 1290Used by:1292 1404
Symbol 1292 MovieClip {Superfighters_fla.fall_f_billy_467}Uses:1291Used by:1418
Symbol 1293 GraphicUses:1278Used by:1294
Symbol 1294 MovieClipUses:1293Used by:1295
Symbol 1295 MovieClip {Superfighters_fla.fall_b_billy_469}Uses:1294Used by:1418
Symbol 1296 GraphicUses:1278Used by:1299
Symbol 1297 GraphicUses:1278Used by:1299
Symbol 1298 GraphicUses:1278Used by:1299
Symbol 1299 MovieClipUses:1296 1297 1298Used by:1418
Symbol 1300 GraphicUses:1278Used by:1301 1302
Symbol 1301 MovieClipUses:1300Used by:1418
Symbol 1302 MovieClipUses:1300Used by:1418
Symbol 1303 GraphicUses:1278Used by:1305
Symbol 1304 GraphicUses:1278Used by:1305
Symbol 1305 MovieClipUses:1303 1283 1304Used by:1418
Symbol 1306 GraphicUses:1278Used by:1308
Symbol 1307 GraphicUses:1278Used by:1308
Symbol 1308 MovieClipUses:1306 1307Used by:1418
Symbol 1309 GraphicUses:1278Used by:1310
Symbol 1310 MovieClipUses:1309 1279Used by:1418
Symbol 1311 GraphicUses:1278Used by:1312
Symbol 1312 MovieClipUses:1311Used by:1313
Symbol 1313 MovieClip {Superfighters_fla.dive_billy_477}Uses:1312Used by:1418
Symbol 1314 GraphicUses:1278Used by:1316
Symbol 1315 GraphicUses:1278Used by:1316
Symbol 1316 MovieClipUses:1314 1315Used by:1418
Symbol 1317 GraphicUses:1278Used by:1319
Symbol 1318 GraphicUses:1278Used by:1319
Symbol 1319 MovieClipUses:1317 1318Used by:1418
Symbol 1320 GraphicUses:1278Used by:1322
Symbol 1321 GraphicUses:1278Used by:1322
Symbol 1322 MovieClipUses:1320 1321Used by:1418
Symbol 1323 GraphicUses:1278Used by:1325
Symbol 1324 GraphicUses:1278Used by:1325 1327
Symbol 1325 MovieClipUses:1323 1324Used by:1418
Symbol 1326 GraphicUses:1278Used by:1327
Symbol 1327 MovieClipUses:1324 1326Used by:1418
Symbol 1328 GraphicUses:1278Used by:1330
Symbol 1329 GraphicUses:1278Used by:1330
Symbol 1330 MovieClipUses:1328 1329Used by:1418
Symbol 1331 GraphicUses:1278Used by:1333
Symbol 1332 GraphicUses:1278Used by:1333
Symbol 1333 MovieClipUses:1331 1332Used by:1418
Symbol 1334 GraphicUses:1278Used by:1336
Symbol 1335 GraphicUses:1278Used by:1336
Symbol 1336 MovieClipUses:1334 1335Used by:1418
Symbol 1337 GraphicUses:1278Used by:1339
Symbol 1338 GraphicUses:1278Used by:1339
Symbol 1339 MovieClipUses:1337 1338Used by:1418
Symbol 1340 GraphicUses:1278Used by:1342
Symbol 1341 GraphicUses:1278Used by:1342
Symbol 1342 MovieClipUses:1340 1341Used by:1418
Symbol 1343 GraphicUses:1278Used by:1345
Symbol 1344 GraphicUses:1278Used by:1345
Symbol 1345 MovieClipUses:1343 1344Used by:1418
Symbol 1346 GraphicUses:1278Used by:1348
Symbol 1347 GraphicUses:1278Used by:1348
Symbol 1348 MovieClipUses:1346 1347Used by:1418
Symbol 1349 GraphicUses:1278Used by:1350
Symbol 1350 MovieClipUses:1349Used by:1418
Symbol 1351 GraphicUses:1278Used by:1352
Symbol 1352 MovieClipUses:1351Used by:1418
Symbol 1353 GraphicUses:1278Used by:1354
Symbol 1354 MovieClip {Superfighters_fla.aim_pistol_billy_493}Uses:1353 4Used by:1418
Symbol 1355 GraphicUses:1278Used by:1356
Symbol 1356 MovieClipUses:1355Used by:1418
Symbol 1357 GraphicUses:1278Used by:1358
Symbol 1358 MovieClip {Superfighters_fla.aim_magnum_billy_495}Uses:1357 4Used by:1418
Symbol 1359 GraphicUses:1278Used by:1360
Symbol 1360 MovieClipUses:1359Used by:1418
Symbol 1361 GraphicUses:1278Used by:1362
Symbol 1362 MovieClip {Superfighters_fla.aim_rifle_billy_497}Uses:1361 4Used by:1418
Symbol 1363 GraphicUses:1278Used by:1364
Symbol 1364 MovieClipUses:1363Used by:1418
Symbol 1365 GraphicUses:1278Used by:1366
Symbol 1366 MovieClip {Superfighters_fla.aim_uzi_billy_499}Uses:1365 4Used by:1418
Symbol 1367 GraphicUses:1278Used by:1368
Symbol 1368 MovieClipUses:1367Used by:1418
Symbol 1369 GraphicUses:1278Used by:1371
Symbol 1370 GraphicUses:1278Used by:1371
Symbol 1371 MovieClip {Superfighters_fla.aim_shotgun_billy_501}Uses:1369 4 1370Used by:1418
Symbol 1372 GraphicUses:1278Used by:1373
Symbol 1373 MovieClipUses:1372Used by:1418
Symbol 1374 GraphicUses:1278Used by:1375
Symbol 1375 MovieClip {Superfighters_fla.aim_sniper_billy_503}Uses:1374 4Used by:1418
Symbol 1376 GraphicUses:1278Used by:1377
Symbol 1377 MovieClipUses:1376Used by:1418
Symbol 1378 GraphicUses:1278Used by:1379
Symbol 1379 MovieClip {Superfighters_fla.aim_bazooka_billy_505}Uses:1378 4Used by:1418
Symbol 1380 GraphicUses:1278Used by:1381
Symbol 1381 MovieClipUses:1380Used by:1418
Symbol 1382 GraphicUses:1278Used by:1383
Symbol 1383 MovieClipUses:1382Used by:1418
Symbol 1384 GraphicUses:1278Used by:1385
Symbol 1385 MovieClip {Superfighters_fla.aim_flamethrower_billy_508}Uses:1384 4Used by:1418
Symbol 1386 GraphicUses:1278Used by:1387
Symbol 1387 MovieClipUses:1386Used by:1418
Symbol 1388 GraphicUses:1278Used by:1389
Symbol 1389 MovieClip {Superfighters_fla.aim_throw_billy_510}Uses:1388 4Used by:1418
Symbol 1390 GraphicUses:1278Used by:1391
Symbol 1391 MovieClipUses:1390Used by:1418
Symbol 1392 GraphicUses:1278Used by:1393
Symbol 1393 MovieClipUses:1392Used by:1418
Symbol 1394 GraphicUses:1278Used by:1395
Symbol 1395 MovieClipUses:490 1394 492 494 495Used by:1418
Symbol 1396 GraphicUses:1278Used by:1399
Symbol 1397 GraphicUses:1278Used by:1399
Symbol 1398 GraphicUses:1278Used by:1399
Symbol 1399 MovieClipUses:1396 1397 1398Used by:1418
Symbol 1400 GraphicUses:1278Used by:1401
Symbol 1401 MovieClipUses:1400Used by:1418
Symbol 1402 GraphicUsed by:1403
Symbol 1403 MovieClipUses:1402Used by:1418
Symbol 1404 MovieClip {Superfighters_fla.grabbed_billy_517}Uses:1291Used by:1418
Symbol 1405 GraphicUses:1278Used by:1406
Symbol 1406 MovieClipUses:1405Used by:1418
Symbol 1407 GraphicUses:1278Used by:1408
Symbol 1408 MovieClipUses:1407Used by:1418
Symbol 1409 GraphicUses:1278Used by:1410
Symbol 1410 MovieClipUses:1409Used by:1418
Symbol 1411 GraphicUses:1278Used by:1414
Symbol 1412 GraphicUses:1278Used by:1414
Symbol 1413 GraphicUses:1278Used by:1414
Symbol 1414 MovieClipUses:1411 1412 1413Used by:1418
Symbol 1415 GraphicUses:1278Used by:1417
Symbol 1416 GraphicUses:1278Used by:1417
Symbol 1417 MovieClipUses:1415 1416Used by:1418
Symbol 1418 MovieClip {player_billy}Uses:1282 1285 1288 1292 1295 1299 1301 1302 1305 1308 1310 1313 1316 1319 1322 1325 1327 1330 1333 1336 1339 1342 1345 1348 1350 1352 1354 1356 1358 1360 1362 1364 1366 1368 1371 1373 1375 1377 1379 1381 1383 1385 1387 1389 1391 1393 1395 1399 1401 1403 1404 1406 1408 1410 1414 1417 461Used by:2515
Symbol 1419 BitmapUsed by:1420 1421 1422 1424 1425 1427 1428 1430 1431 1434 1437 1438 1439 1441 1444 1445 1447 1448 1450 1452 1455 1456 1458 1459 1461 1462 1464 1465 1467 1469 1470 1472 1473 1475 1476 1478 1479 1481 1482 1484 1485 1487 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1511 1513 1515 1517 1519 1521 1523 1525 1527 1529 1531 1533 1535 1537 1538 1539 1541 1546 1548 1550 1552 1553 1554 1556 1557
Symbol 1420 GraphicUses:1419Used by:1423 1451
Symbol 1421 GraphicUses:1419Used by:1423
Symbol 1422 GraphicUses:1419Used by:1423
Symbol 1423 MovieClipUses:1420 1421 1422Used by:1559 2097
Symbol 1424 GraphicUses:1419Used by:1426 1429 1446
Symbol 1425 GraphicUses:1419Used by:1426
Symbol 1426 MovieClipUses:1424 1425Used by:1559
Symbol 1427 GraphicUses:1419Used by:1429
Symbol 1428 GraphicUses:1419Used by:1429
Symbol 1429 MovieClipUses:1427 1424 1428Used by:1559
Symbol 1430 GraphicUses:1419Used by:1432
Symbol 1431 GraphicUses:1419Used by:1432
Symbol 1432 MovieClipUses:1430 1431Used by:1433 1545
Symbol 1433 MovieClip {Superfighters_fla.fall_f_scott_527}Uses:1432Used by:1559
Symbol 1434 GraphicUses:1419Used by:1435
Symbol 1435 MovieClipUses:1434Used by:1436
Symbol 1436 MovieClip {Superfighters_fla.fall_b_scott_529}Uses:1435Used by:1559
Symbol 1437 GraphicUses:1419Used by:1440
Symbol 1438 GraphicUses:1419Used by:1440
Symbol 1439 GraphicUses:1419Used by:1440
Symbol 1440 MovieClipUses:1437 1438 1439Used by:1559
Symbol 1441 GraphicUses:1419Used by:1442 1443
Symbol 1442 MovieClipUses:1441Used by:1559
Symbol 1443 MovieClipUses:1441Used by:1559
Symbol 1444 GraphicUses:1419Used by:1446
Symbol 1445 GraphicUses:1419Used by:1446
Symbol 1446 MovieClipUses:1444 1424 1445Used by:1559
Symbol 1447 GraphicUses:1419Used by:1449
Symbol 1448 GraphicUses:1419Used by:1449
Symbol 1449 MovieClipUses:1447 1448Used by:1559
Symbol 1450 GraphicUses:1419Used by:1451
Symbol 1451 MovieClipUses:1450 1420Used by:1559
Symbol 1452 GraphicUses:1419Used by:1453
Symbol 1453 MovieClipUses:1452Used by:1454
Symbol 1454 MovieClip {Superfighters_fla.dive_scott_537}Uses:1453Used by:1559
Symbol 1455 GraphicUses:1419Used by:1457
Symbol 1456 GraphicUses:1419Used by:1457
Symbol 1457 MovieClipUses:1455 1456Used by:1559
Symbol 1458 GraphicUses:1419Used by:1460
Symbol 1459 GraphicUses:1419Used by:1460
Symbol 1460 MovieClipUses:1458 1459Used by:1559
Symbol 1461 GraphicUses:1419Used by:1463
Symbol 1462 GraphicUses:1419Used by:1463
Symbol 1463 MovieClipUses:1461 1462Used by:1559
Symbol 1464 GraphicUses:1419Used by:1466
Symbol 1465 GraphicUses:1419Used by:1466 1468
Symbol 1466 MovieClipUses:1464 1465Used by:1559
Symbol 1467 GraphicUses:1419Used by:1468
Symbol 1468 MovieClipUses:1465 1467Used by:1559
Symbol 1469 GraphicUses:1419Used by:1471
Symbol 1470 GraphicUses:1419Used by:1471
Symbol 1471 MovieClipUses:1469 1470Used by:1559
Symbol 1472 GraphicUses:1419Used by:1474
Symbol 1473 GraphicUses:1419Used by:1474
Symbol 1474 MovieClipUses:1472 1473Used by:1559
Symbol 1475 GraphicUses:1419Used by:1477
Symbol 1476 GraphicUses:1419Used by:1477
Symbol 1477 MovieClipUses:1475 1476Used by:1559
Symbol 1478 GraphicUses:1419Used by:1480
Symbol 1479 GraphicUses:1419Used by:1480
Symbol 1480 MovieClipUses:1478 1479Used by:1559
Symbol 1481 GraphicUses:1419Used by:1483
Symbol 1482 GraphicUses:1419Used by:1483
Symbol 1483 MovieClipUses:1481 1482Used by:1559
Symbol 1484 GraphicUses:1419Used by:1486
Symbol 1485 GraphicUses:1419Used by:1486
Symbol 1486 MovieClipUses:1484 1485Used by:1559
Symbol 1487 GraphicUses:1419Used by:1489
Symbol 1488 GraphicUses:1419Used by:1489
Symbol 1489 MovieClipUses:1487 1488Used by:1559
Symbol 1490 GraphicUses:1419Used by:1491
Symbol 1491 MovieClipUses:1490Used by:1559
Symbol 1492 GraphicUses:1419Used by:1493
Symbol 1493 MovieClipUses:1492Used by:1559
Symbol 1494 GraphicUses:1419Used by:1495
Symbol 1495 MovieClip {Superfighters_fla.aim_pistol_scott_553}Uses:1494 4Used by:1559
Symbol 1496 GraphicUses:1419Used by:1497
Symbol 1497 MovieClipUses:1496Used by:1559
Symbol 1498 GraphicUses:1419Used by:1499
Symbol 1499 MovieClip {Superfighters_fla.aim_magnum_scott_555}Uses:1498 4Used by:1559
Symbol 1500 GraphicUses:1419Used by:1501
Symbol 1501 MovieClipUses:1500Used by:1559
Symbol 1502 GraphicUses:1419Used by:1503
Symbol 1503 MovieClip {Superfighters_fla.aim_rifle_scott_557}Uses:1502 4Used by:1559
Symbol 1504 GraphicUses:1419Used by:1505
Symbol 1505 MovieClipUses:1504Used by:1559
Symbol 1506 GraphicUses:1419Used by:1507
Symbol 1507 MovieClip {Superfighters_fla.aim_uzi_scott_559}Uses:1506 4Used by:1559
Symbol 1508 GraphicUses:1419Used by:1509
Symbol 1509 MovieClipUses:1508Used by:1559
Symbol 1510 GraphicUses:1419Used by:1512
Symbol 1511 GraphicUses:1419Used by:1512
Symbol 1512 MovieClip {Superfighters_fla.aim_shotgun_scott_561}Uses:1510 4 1511Used by:1559
Symbol 1513 GraphicUses:1419Used by:1514
Symbol 1514 MovieClipUses:1513Used by:1559
Symbol 1515 GraphicUses:1419Used by:1516
Symbol 1516 MovieClip {Superfighters_fla.aim_sniper_scott_563}Uses:1515 4Used by:1559
Symbol 1517 GraphicUses:1419Used by:1518
Symbol 1518 MovieClipUses:1517Used by:1559
Symbol 1519 GraphicUses:1419Used by:1520
Symbol 1520 MovieClip {Superfighters_fla.aim_bazooka_scott_565}Uses:1519 4Used by:1559
Symbol 1521 GraphicUses:1419Used by:1522
Symbol 1522 MovieClipUses:1521Used by:1559
Symbol 1523 GraphicUses:1419Used by:1524
Symbol 1524 MovieClipUses:1523Used by:1559
Symbol 1525 GraphicUses:1419Used by:1526
Symbol 1526 MovieClip {Superfighters_fla.aim_flamethrower_scott_568}Uses:1525 4Used by:1559
Symbol 1527 GraphicUses:1419Used by:1528
Symbol 1528 MovieClipUses:1527Used by:1559
Symbol 1529 GraphicUses:1419Used by:1530
Symbol 1530 MovieClip {Superfighters_fla.aim_throw_scott_570}Uses:1529 4Used by:1559
Symbol 1531 GraphicUses:1419Used by:1532
Symbol 1532 MovieClipUses:1531Used by:1559
Symbol 1533 GraphicUses:1419Used by:1534
Symbol 1534 MovieClipUses:1533Used by:1559
Symbol 1535 GraphicUses:1419Used by:1536
Symbol 1536 MovieClipUses:490 1535 492 494 495Used by:1559
Symbol 1537 GraphicUses:1419Used by:1540
Symbol 1538 GraphicUses:1419Used by:1540
Symbol 1539 GraphicUses:1419Used by:1540
Symbol 1540 MovieClipUses:1537 1538 1539Used by:1559
Symbol 1541 GraphicUses:1419Used by:1542
Symbol 1542 MovieClipUses:1541Used by:1559
Symbol 1543 GraphicUsed by:1544
Symbol 1544 MovieClipUses:1543Used by:1559
Symbol 1545 MovieClip {Superfighters_fla.grabbed_scott_577}Uses:1432Used by:1559
Symbol 1546 GraphicUses:1419Used by:1547
Symbol 1547 MovieClipUses:1546Used by:1559
Symbol 1548 GraphicUses:1419Used by:1549
Symbol 1549 MovieClipUses:1548Used by:1559
Symbol 1550 GraphicUses:1419Used by:1551
Symbol 1551 MovieClipUses:1550Used by:1559
Symbol 1552 GraphicUses:1419Used by:1555
Symbol 1553 GraphicUses:1419Used by:1555
Symbol 1554 GraphicUses:1419Used by:1555
Symbol 1555 MovieClipUses:1552 1553 1554Used by:1559
Symbol 1556 GraphicUses:1419Used by:1558
Symbol 1557 GraphicUses:1419Used by:1558
Symbol 1558 MovieClipUses:1556 1557Used by:1559
Symbol 1559 MovieClip {player_scott}Uses:1423 1426 1429 1433 1436 1440 1442 1443 1446 1449 1451 1454 1457 1460 1463 1466 1468 1471 1474 1477 1480 1483 1486 1489 1491 1493 1495 1497 1499 1501 1503 1505 1507 1509 1512 1514 1516 1518 1520 1522 1524 1526 1528 1530 1532 1534 1536 1540 1542 1544 1545 1547 1549 1551 1555 1558 461Used by:2515
Symbol 1560 BitmapUsed by:1561
Symbol 1561 GraphicUses:1560Used by:1562
Symbol 1562 MovieClip {comp}Uses:1561Used by:2515
Symbol 1563 BitmapUsed by:1564
Symbol 1564 GraphicUses:1563Used by:1565
Symbol 1565 MovieClip {comp_screen}Uses:1564Used by:2515
Symbol 1566 BitmapUsed by:1567
Symbol 1567 GraphicUses:1566Used by:1568
Symbol 1568 MovieClip {desk}Uses:1567Used by:2515
Symbol 1569 BitmapUsed by:1570
Symbol 1570 GraphicUses:1569Used by:1571
Symbol 1571 MovieClip {desk_1}Uses:1570Used by:2515
Symbol 1572 BitmapUsed by:1573
Symbol 1573 GraphicUses:1572Used by:1576
Symbol 1574 BitmapUsed by:1575
Symbol 1575 GraphicUses:1574Used by:1576
Symbol 1576 MovieClip {hanging_lamp}Uses:1573 1575Used by:2515
Symbol 1577 BitmapUsed by:1578
Symbol 1578 GraphicUses:1577Used by:1579
Symbol 1579 MovieClip {paper}Uses:1578Used by:2515
Symbol 1580 BitmapUsed by:1581 1582
Symbol 1581 GraphicUses:1580Used by:1591
Symbol 1582 GraphicUses:1580Used by:1591
Symbol 1583 BitmapUsed by:1584
Symbol 1584 GraphicUses:1583Used by:1591
Symbol 1585 BitmapUsed by:1586
Symbol 1586 GraphicUses:1585Used by:1587
Symbol 1587 MovieClipUses:1586Used by:1591
Symbol 1588 BitmapUsed by:1589
Symbol 1589 GraphicUses:1588Used by:1590
Symbol 1590 MovieClipUses:1589Used by:1591
Symbol 1591 MovieClip {hit_paper}Uses:1581 1582 1584 1587 1590Used by:2515
Symbol 1592 BitmapUsed by:1593 1594 1595 1597 1598 1600 1601 1603 1604 1607 1610 1611 1612 1614 1617 1618 1620 1621 1623 1625 1628 1629 1631 1632 1634 1635 1637 1638 1640 1642 1643 1645 1646 1648 1649 1651 1652 1654 1655 1657 1658 1660 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1684 1686 1688 1690 1692 1694 1696 1698 1700 1702 1704 1706 1708 1710 1711 1712 1714 1719 1721 1723 1725 1726 1727 1729 1730
Symbol 1593 GraphicUses:1592Used by:1596 1624
Symbol 1594 GraphicUses:1592Used by:1596
Symbol 1595 GraphicUses:1592Used by:1596
Symbol 1596 MovieClipUses:1593 1594 1595Used by:1732 2097
Symbol 1597 GraphicUses:1592Used by:1599 1602 1619
Symbol 1598 GraphicUses:1592Used by:1599
Symbol 1599 MovieClipUses:1597 1598Used by:1732
Symbol 1600 GraphicUses:1592Used by:1602
Symbol 1601 GraphicUses:1592Used by:1602
Symbol 1602 MovieClipUses:1600 1597 1601Used by:1732
Symbol 1603 GraphicUses:1592Used by:1605
Symbol 1604 GraphicUses:1592Used by:1605
Symbol 1605 MovieClipUses:1603 1604Used by:1606 1718
Symbol 1606 MovieClip {Superfighters_fla.fall_f_funnyman_596}Uses:1605Used by:1732
Symbol 1607 GraphicUses:1592Used by:1608
Symbol 1608 MovieClipUses:1607Used by:1609
Symbol 1609 MovieClip {Superfighters_fla.fall_b_funnyman_598}Uses:1608Used by:1732
Symbol 1610 GraphicUses:1592Used by:1613
Symbol 1611 GraphicUses:1592Used by:1613
Symbol 1612 GraphicUses:1592Used by:1613
Symbol 1613 MovieClipUses:1610 1611 1612Used by:1732
Symbol 1614 GraphicUses:1592Used by:1615 1616
Symbol 1615 MovieClipUses:1614Used by:1732
Symbol 1616 MovieClipUses:1614Used by:1732
Symbol 1617 GraphicUses:1592Used by:1619
Symbol 1618 GraphicUses:1592Used by:1619
Symbol 1619 MovieClipUses:1617 1597 1618Used by:1732
Symbol 1620 GraphicUses:1592Used by:1622
Symbol 1621 GraphicUses:1592Used by:1622
Symbol 1622 MovieClipUses:1620 1621Used by:1732
Symbol 1623 GraphicUses:1592Used by:1624
Symbol 1624 MovieClipUses:1623 1593Used by:1732
Symbol 1625 GraphicUses:1592Used by:1626
Symbol 1626 MovieClipUses:1625Used by:1627
Symbol 1627 MovieClip {Superfighters_fla.dive_funnyman_606}Uses:1626Used by:1732
Symbol 1628 GraphicUses:1592Used by:1630
Symbol 1629 GraphicUses:1592Used by:1630
Symbol 1630 MovieClipUses:1628 1629Used by:1732
Symbol 1631 GraphicUses:1592Used by:1633
Symbol 1632 GraphicUses:1592Used by:1633
Symbol 1633 MovieClipUses:1631 1632Used by:1732
Symbol 1634 GraphicUses:1592Used by:1636
Symbol 1635 GraphicUses:1592Used by:1636
Symbol 1636 MovieClipUses:1634 1635Used by:1732
Symbol 1637 GraphicUses:1592Used by:1639
Symbol 1638 GraphicUses:1592Used by:1639 1641
Symbol 1639 MovieClipUses:1637 1638Used by:1732
Symbol 1640 GraphicUses:1592Used by:1641
Symbol 1641 MovieClipUses:1638 1640Used by:1732
Symbol 1642 GraphicUses:1592Used by:1644
Symbol 1643 GraphicUses:1592Used by:1644
Symbol 1644 MovieClipUses:1642 1643Used by:1732
Symbol 1645 GraphicUses:1592Used by:1647
Symbol 1646 GraphicUses:1592Used by:1647
Symbol 1647 MovieClipUses:1645 1646Used by:1732
Symbol 1648 GraphicUses:1592Used by:1650
Symbol 1649 GraphicUses:1592Used by:1650
Symbol 1650 MovieClipUses:1648 1649Used by:1732
Symbol 1651 GraphicUses:1592Used by:1653
Symbol 1652 GraphicUses:1592Used by:1653
Symbol 1653 MovieClipUses:1651 1652Used by:1732
Symbol 1654 GraphicUses:1592Used by:1656
Symbol 1655 GraphicUses:1592Used by:1656
Symbol 1656 MovieClipUses:1654 1655Used by:1732
Symbol 1657 GraphicUses:1592Used by:1659
Symbol 1658 GraphicUses:1592Used by:1659
Symbol 1659 MovieClipUses:1657 1658Used by:1732
Symbol 1660 GraphicUses:1592Used by:1662
Symbol 1661 GraphicUses:1592Used by:1662
Symbol 1662 MovieClipUses:1660 1661Used by:1732
Symbol 1663 GraphicUses:1592Used by:1664
Symbol 1664 MovieClipUses:1663Used by:1732
Symbol 1665 GraphicUses:1592Used by:1666
Symbol 1666 MovieClipUses:1665Used by:1732
Symbol 1667 GraphicUses:1592Used by:1668
Symbol 1668 MovieClip {Superfighters_fla.aim_pistol_funnyman_622}Uses:1667 4Used by:1732
Symbol 1669 GraphicUses:1592Used by:1670
Symbol 1670 MovieClipUses:1669Used by:1732
Symbol 1671 GraphicUses:1592Used by:1672
Symbol 1672 MovieClip {Superfighters_fla.aim_magnum_funnyman_624}Uses:1671 4Used by:1732
Symbol 1673 GraphicUses:1592Used by:1674
Symbol 1674 MovieClipUses:1673Used by:1732
Symbol 1675 GraphicUses:1592Used by:1676
Symbol 1676 MovieClip {Superfighters_fla.aim_rifle_funnyman_626}Uses:1675 4Used by:1732
Symbol 1677 GraphicUses:1592Used by:1678
Symbol 1678 MovieClipUses:1677Used by:1732
Symbol 1679 GraphicUses:1592Used by:1680
Symbol 1680 MovieClip {Superfighters_fla.aim_uzi_funnyman_628}Uses:1679 4Used by:1732
Symbol 1681 GraphicUses:1592Used by:1682
Symbol 1682 MovieClipUses:1681Used by:1732
Symbol 1683 GraphicUses:1592Used by:1685
Symbol 1684 GraphicUses:1592Used by:1685
Symbol 1685 MovieClip {Superfighters_fla.aim_shotgun_funnyman_630}Uses:1683 4 1684Used by:1732
Symbol 1686 GraphicUses:1592Used by:1687
Symbol 1687 MovieClipUses:1686Used by:1732
Symbol 1688 GraphicUses:1592Used by:1689
Symbol 1689 MovieClip {Superfighters_fla.aim_sniper_funnyman_632}Uses:1688 4Used by:1732
Symbol 1690 GraphicUses:1592Used by:1691
Symbol 1691 MovieClipUses:1690Used by:1732
Symbol 1692 GraphicUses:1592Used by:1693
Symbol 1693 MovieClip {Superfighters_fla.aim_bazooka_funnyman_634}Uses:1692 4Used by:1732
Symbol 1694 GraphicUses:1592Used by:1695
Symbol 1695 MovieClipUses:1694Used by:1732
Symbol 1696 GraphicUses:1592Used by:1697
Symbol 1697 MovieClipUses:1696Used by:1732
Symbol 1698 GraphicUses:1592Used by:1699
Symbol 1699 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_637}Uses:1698 4Used by:1732
Symbol 1700 GraphicUses:1592Used by:1701
Symbol 1701 MovieClipUses:1700Used by:1732
Symbol 1702 GraphicUses:1592Used by:1703
Symbol 1703 MovieClip {Superfighters_fla.aim_throw_funnyman_639}Uses:1702 4Used by:1732
Symbol 1704 GraphicUses:1592Used by:1705
Symbol 1705 MovieClipUses:1704Used by:1732
Symbol 1706 GraphicUses:1592Used by:1707
Symbol 1707 MovieClipUses:1706Used by:1732
Symbol 1708 GraphicUses:1592Used by:1709
Symbol 1709 MovieClipUses:490 1708 492 494 495Used by:1732
Symbol 1710 GraphicUses:1592Used by:1713
Symbol 1711 GraphicUses:1592Used by:1713
Symbol 1712 GraphicUses:1592Used by:1713
Symbol 1713 MovieClipUses:1710 1711 1712Used by:1732
Symbol 1714 GraphicUses:1592Used by:1715
Symbol 1715 MovieClipUses:1714Used by:1732
Symbol 1716 GraphicUsed by:1717
Symbol 1717 MovieClipUses:1716Used by:1732
Symbol 1718 MovieClip {Superfighters_fla.grabbed_funnyman_646}Uses:1605Used by:1732
Symbol 1719 GraphicUses:1592Used by:1720
Symbol 1720 MovieClipUses:1719Used by:1732
Symbol 1721 GraphicUses:1592Used by:1722
Symbol 1722 MovieClipUses:1721Used by:1732
Symbol 1723 GraphicUses:1592Used by:1724
Symbol 1724 MovieClipUses:1723Used by:1732
Symbol 1725 GraphicUses:1592Used by:1728
Symbol 1726 GraphicUses:1592Used by:1728
Symbol 1727 GraphicUses:1592Used by:1728
Symbol 1728 MovieClipUses:1725 1726 1727Used by:1732
Symbol 1729 GraphicUses:1592Used by:1731
Symbol 1730 GraphicUses:1592Used by:1731
Symbol 1731 MovieClipUses:1729 1730Used by:1732
Symbol 1732 MovieClip {player_funnyman}Uses:1596 1599 1602 1606 1609 1613 1615 1616 1619 1622 1624 1627 1630 1633 1636 1639 1641 1644 1647 1650 1653 1656 1659 1662 1664 1666 1668 1670 1672 1674 1676 1678 1680 1682 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1707 1709 1713 1715 1717 1718 1720 1722 1724 1728 1731 461Used by:2515
Symbol 1733 BitmapUsed by:1734 1735 1736 1738 1739 1741 1742 1744 1745 1748 1751 1752 1753 1755 1758 1759 1761 1762 1764 1766 1769 1770 1772 1773 1775 1776 1778 1779 1781 1783 1784 1786 1787 1789 1790 1792 1793 1795 1796 1798 1799 1801 1802 1804 1806 1808 1810 1812 1814 1816 1818 1820 1822 1824 1825 1827 1829 1831 1833 1835 1837 1839 1841 1843 1845 1847 1849 1851 1852 1853 1855 1860 1862 1864 1866 1867 1868 1870 1871
Symbol 1734 GraphicUses:1733Used by:1737 1765
Symbol 1735 GraphicUses:1733Used by:1737
Symbol 1736 GraphicUses:1733Used by:1737
Symbol 1737 MovieClipUses:1734 1735 1736Used by:1873 2097
Symbol 1738 GraphicUses:1733Used by:1740 1743 1760
Symbol 1739 GraphicUses:1733Used by:1740
Symbol 1740 MovieClipUses:1738 1739Used by:1873
Symbol 1741 GraphicUses:1733Used by:1743
Symbol 1742 GraphicUses:1733Used by:1743
Symbol 1743 MovieClipUses:1741 1738 1742Used by:1873
Symbol 1744 GraphicUses:1733Used by:1746
Symbol 1745 GraphicUses:1733Used by:1746
Symbol 1746 MovieClipUses:1744 1745Used by:1747 1859
Symbol 1747 MovieClip {Superfighters_fla.fall_f_mac_656}Uses:1746Used by:1873
Symbol 1748 GraphicUses:1733Used by:1749
Symbol 1749 MovieClipUses:1748Used by:1750
Symbol 1750 MovieClip {Superfighters_fla.fall_b_mac_658}Uses:1749Used by:1873
Symbol 1751 GraphicUses:1733Used by:1754
Symbol 1752 GraphicUses:1733Used by:1754
Symbol 1753 GraphicUses:1733Used by:1754
Symbol 1754 MovieClipUses:1751 1752 1753Used by:1873
Symbol 1755 GraphicUses:1733Used by:1756 1757
Symbol 1756 MovieClipUses:1755Used by:1873
Symbol 1757 MovieClipUses:1755Used by:1873
Symbol 1758 GraphicUses:1733Used by:1760
Symbol 1759 GraphicUses:1733Used by:1760
Symbol 1760 MovieClipUses:1758 1738 1759Used by:1873
Symbol 1761 GraphicUses:1733Used by:1763
Symbol 1762 GraphicUses:1733Used by:1763
Symbol 1763 MovieClipUses:1761 1762Used by:1873
Symbol 1764 GraphicUses:1733Used by:1765
Symbol 1765 MovieClipUses:1764 1734Used by:1873
Symbol 1766 GraphicUses:1733Used by:1767
Symbol 1767 MovieClipUses:1766Used by:1768
Symbol 1768 MovieClip {Superfighters_fla.dive_mac_666}Uses:1767Used by:1873
Symbol 1769 GraphicUses:1733Used by:1771
Symbol 1770 GraphicUses:1733Used by:1771
Symbol 1771 MovieClipUses:1769 1770Used by:1873
Symbol 1772 GraphicUses:1733Used by:1774
Symbol 1773 GraphicUses:1733Used by:1774
Symbol 1774 MovieClipUses:1772 1773Used by:1873
Symbol 1775 GraphicUses:1733Used by:1777
Symbol 1776 GraphicUses:1733Used by:1777
Symbol 1777 MovieClipUses:1775 1776Used by:1873
Symbol 1778 GraphicUses:1733Used by:1780
Symbol 1779 GraphicUses:1733Used by:1780 1782
Symbol 1780 MovieClipUses:1778 1779Used by:1873
Symbol 1781 GraphicUses:1733Used by:1782
Symbol 1782 MovieClipUses:1779 1781Used by:1873
Symbol 1783 GraphicUses:1733Used by:1785
Symbol 1784 GraphicUses:1733Used by:1785
Symbol 1785 MovieClipUses:1783 1784Used by:1873
Symbol 1786 GraphicUses:1733Used by:1788
Symbol 1787 GraphicUses:1733Used by:1788
Symbol 1788 MovieClipUses:1786 1787Used by:1873
Symbol 1789 GraphicUses:1733Used by:1791
Symbol 1790 GraphicUses:1733Used by:1791
Symbol 1791 MovieClipUses:1789 1790Used by:1873
Symbol 1792 GraphicUses:1733Used by:1794
Symbol 1793 GraphicUses:1733Used by:1794
Symbol 1794 MovieClipUses:1792 1793Used by:1873
Symbol 1795 GraphicUses:1733Used by:1797
Symbol 1796 GraphicUses:1733Used by:1797
Symbol 1797 MovieClipUses:1795 1796Used by:1873
Symbol 1798 GraphicUses:1733Used by:1800
Symbol 1799 GraphicUses:1733Used by:1800
Symbol 1800 MovieClipUses:1798 1799Used by:1873
Symbol 1801 GraphicUses:1733Used by:1803
Symbol 1802 GraphicUses:1733Used by:1803
Symbol 1803 MovieClipUses:1801 1802Used by:1873
Symbol 1804 GraphicUses:1733Used by:1805
Symbol 1805 MovieClipUses:1804Used by:1873
Symbol 1806 GraphicUses:1733Used by:1807
Symbol 1807 MovieClipUses:1806Used by:1873
Symbol 1808 GraphicUses:1733Used by:1809
Symbol 1809 MovieClip {Superfighters_fla.aim_pistol_mac_682}Uses:1808 4Used by:1873
Symbol 1810 GraphicUses:1733Used by:1811
Symbol 1811 MovieClipUses:1810Used by:1873
Symbol 1812 GraphicUses:1733Used by:1813
Symbol 1813 MovieClip {Superfighters_fla.aim_magnum_mac_684}Uses:1812 4Used by:1873
Symbol 1814 GraphicUses:1733Used by:1815
Symbol 1815 MovieClipUses:1814Used by:1873
Symbol 1816 GraphicUses:1733Used by:1817
Symbol 1817 MovieClip {Superfighters_fla.aim_rifle_mac_686}Uses:1816 4Used by:1873
Symbol 1818 GraphicUses:1733Used by:1819
Symbol 1819 MovieClipUses:1818Used by:1873
Symbol 1820 GraphicUses:1733Used by:1821
Symbol 1821 MovieClip {Superfighters_fla.aim_uzi_mac_688}Uses:1820 4Used by:1873
Symbol 1822 GraphicUses:1733Used by:1823
Symbol 1823 MovieClipUses:1822Used by:1873
Symbol 1824 GraphicUses:1733Used by:1826
Symbol 1825 GraphicUses:1733Used by:1826
Symbol 1826 MovieClip {Superfighters_fla.aim_shotgun_mac_690}Uses:1824 4 1825Used by:1873
Symbol 1827 GraphicUses:1733Used by:1828
Symbol 1828 MovieClipUses:1827Used by:1873
Symbol 1829 GraphicUses:1733Used by:1830
Symbol 1830 MovieClip {Superfighters_fla.aim_sniper_mac_692}Uses:1829 4Used by:1873
Symbol 1831 GraphicUses:1733Used by:1832
Symbol 1832 MovieClipUses:1831Used by:1873
Symbol 1833 GraphicUses:1733Used by:1834
Symbol 1834 MovieClip {Superfighters_fla.aim_bazooka_mac_694}Uses:1833 4Used by:1873
Symbol 1835 GraphicUses:1733Used by:1836
Symbol 1836 MovieClipUses:1835Used by:1873
Symbol 1837 GraphicUses:1733Used by:1838
Symbol 1838 MovieClipUses:1837Used by:1873
Symbol 1839 GraphicUses:1733Used by:1840
Symbol 1840 MovieClip {Superfighters_fla.aim_flamethrower_mac_697}Uses:1839 4Used by:1873
Symbol 1841 GraphicUses:1733Used by:1842
Symbol 1842 MovieClipUses:1841Used by:1873
Symbol 1843 GraphicUses:1733Used by:1844
Symbol 1844 MovieClip {Superfighters_fla.aim_throw_mac_699}Uses:1843 4Used by:1873
Symbol 1845 GraphicUses:1733Used by:1846
Symbol 1846 MovieClipUses:1845Used by:1873
Symbol 1847 GraphicUses:1733Used by:1848
Symbol 1848 MovieClipUses:1847Used by:1873
Symbol 1849 GraphicUses:1733Used by:1850
Symbol 1850 MovieClipUses:490 1849 492 494 495Used by:1873
Symbol 1851 GraphicUses:1733Used by:1854
Symbol 1852 GraphicUses:1733Used by:1854
Symbol 1853 GraphicUses:1733Used by:1854
Symbol 1854 MovieClipUses:1851 1852 1853Used by:1873
Symbol 1855 GraphicUses:1733Used by:1856
Symbol 1856 MovieClipUses:1855Used by:1873
Symbol 1857 GraphicUsed by:1858
Symbol 1858 MovieClipUses:1857Used by:1873
Symbol 1859 MovieClip {Superfighters_fla.grabbed_mac_706}Uses:1746Used by:1873
Symbol 1860 GraphicUses:1733Used by:1861
Symbol 1861 MovieClipUses:1860Used by:1873
Symbol 1862 GraphicUses:1733Used by:1863
Symbol 1863 MovieClipUses:1862Used by:1873
Symbol 1864 GraphicUses:1733Used by:1865
Symbol 1865 MovieClipUses:1864Used by:1873
Symbol 1866 GraphicUses:1733Used by:1869
Symbol 1867 GraphicUses:1733Used by:1869
Symbol 1868 GraphicUses:1733Used by:1869
Symbol 1869 MovieClipUses:1866 1867 1868Used by:1873
Symbol 1870 GraphicUses:1733Used by:1872
Symbol 1871 GraphicUses:1733Used by:1872
Symbol 1872 MovieClipUses:1870 1871Used by:1873
Symbol 1873 MovieClip {player_mac}Uses:1737 1740 1743 1747 1750 1754 1756 1757 1760 1763 1765 1768 1771 1774 1777 1780 1782 1785 1788 1791 1794 1797 1800 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1826 1828 1830 1832 1834 1836 1838 1840 1842 1844 1846 1848 1850 1854 1856 1858 1859 1861 1863 1865 1869 1872 461Used by:2515
Symbol 1874 BitmapUsed by:1875 1876 1877 1879 1880 1882 1883 1885 1886 1889 1892 1893 1894 1896 1899 1900 1902 1903 1905 1907 1910 1911 1913 1914 1916 1917 1919 1920 1922 1924 1925 1927 1928 1930 1931 1933 1934 1936 1937 1939 1940 1942 1943 1945 1947 1949 1951 1953 1955 1957 1959 1961 1963 1965 1966 1968 1970 1972 1974 1976 1978 1980 1982 1984 1986 1988 1990 1992 1993 1994 1996 2001 2003 2005 2007 2008 2009 2011 2012
Symbol 1875 GraphicUses:1874Used by:1878 1906
Symbol 1876 GraphicUses:1874Used by:1878
Symbol 1877 GraphicUses:1874Used by:1878
Symbol 1878 MovieClipUses:1875 1876 1877Used by:2014 2097
Symbol 1879 GraphicUses:1874Used by:1881 1884 1901
Symbol 1880 GraphicUses:1874Used by:1881
Symbol 1881 MovieClipUses:1879 1880Used by:2014
Symbol 1882 GraphicUses:1874Used by:1884
Symbol 1883 GraphicUses:1874Used by:1884
Symbol 1884 MovieClipUses:1882 1879 1883Used by:2014
Symbol 1885 GraphicUses:1874Used by:1887
Symbol 1886 GraphicUses:1874Used by:1887
Symbol 1887 MovieClipUses:1885 1886Used by:1888 2000
Symbol 1888 MovieClip {Superfighters_fla.fall_f_jeff_716}Uses:1887Used by:2014
Symbol 1889 GraphicUses:1874Used by:1890
Symbol 1890 MovieClipUses:1889Used by:1891
Symbol 1891 MovieClip {Superfighters_fla.fall_b_jeff_718}Uses:1890Used by:2014
Symbol 1892 GraphicUses:1874Used by:1895
Symbol 1893 GraphicUses:1874Used by:1895
Symbol 1894 GraphicUses:1874Used by:1895
Symbol 1895 MovieClipUses:1892 1893 1894Used by:2014
Symbol 1896 GraphicUses:1874Used by:1897 1898
Symbol 1897 MovieClipUses:1896Used by:2014
Symbol 1898 MovieClipUses:1896Used by:2014
Symbol 1899 GraphicUses:1874Used by:1901
Symbol 1900 GraphicUses:1874Used by:1901
Symbol 1901 MovieClipUses:1899 1879 1900Used by:2014
Symbol 1902 GraphicUses:1874Used by:1904
Symbol 1903 GraphicUses:1874Used by:1904
Symbol 1904 MovieClipUses:1902 1903Used by:2014
Symbol 1905 GraphicUses:1874Used by:1906
Symbol 1906 MovieClipUses:1905 1875Used by:2014
Symbol 1907 GraphicUses:1874Used by:1908
Symbol 1908 MovieClipUses:1907Used by:1909
Symbol 1909 MovieClip {Superfighters_fla.dive_jeff_726}Uses:1908Used by:2014
Symbol 1910 GraphicUses:1874Used by:1912
Symbol 1911 GraphicUses:1874Used by:1912
Symbol 1912 MovieClipUses:1910 1911Used by:2014
Symbol 1913 GraphicUses:1874Used by:1915
Symbol 1914 GraphicUses:1874Used by:1915
Symbol 1915 MovieClipUses:1913 1914Used by:2014
Symbol 1916 GraphicUses:1874Used by:1918
Symbol 1917 GraphicUses:1874Used by:1918
Symbol 1918 MovieClipUses:1916 1917Used by:2014
Symbol 1919 GraphicUses:1874Used by:1921
Symbol 1920 GraphicUses:1874Used by:1921 1923
Symbol 1921 MovieClipUses:1919 1920Used by:2014
Symbol 1922 GraphicUses:1874Used by:1923
Symbol 1923 MovieClipUses:1920 1922Used by:2014
Symbol 1924 GraphicUses:1874Used by:1926
Symbol 1925 GraphicUses:1874Used by:1926
Symbol 1926 MovieClipUses:1924 1925Used by:2014
Symbol 1927 GraphicUses:1874Used by:1929
Symbol 1928 GraphicUses:1874Used by:1929
Symbol 1929 MovieClipUses:1927 1928Used by:2014
Symbol 1930 GraphicUses:1874Used by:1932
Symbol 1931 GraphicUses:1874Used by:1932
Symbol 1932 MovieClipUses:1930 1931Used by:2014
Symbol 1933 GraphicUses:1874Used by:1935
Symbol 1934 GraphicUses:1874Used by:1935
Symbol 1935 MovieClipUses:1933 1934Used by:2014
Symbol 1936 GraphicUses:1874Used by:1938
Symbol 1937 GraphicUses:1874Used by:1938
Symbol 1938 MovieClipUses:1936 1937Used by:2014
Symbol 1939 GraphicUses:1874Used by:1941
Symbol 1940 GraphicUses:1874Used by:1941
Symbol 1941 MovieClipUses:1939 1940Used by:2014
Symbol 1942 GraphicUses:1874Used by:1944
Symbol 1943 GraphicUses:1874Used by:1944
Symbol 1944 MovieClipUses:1942 1943Used by:2014
Symbol 1945 GraphicUses:1874Used by:1946
Symbol 1946 MovieClipUses:1945Used by:2014
Symbol 1947 GraphicUses:1874Used by:1948
Symbol 1948 MovieClipUses:1947Used by:2014
Symbol 1949 GraphicUses:1874Used by:1950
Symbol 1950 MovieClip {Superfighters_fla.aim_pistol_jeff_742}Uses:1949 4Used by:2014
Symbol 1951 GraphicUses:1874Used by:1952
Symbol 1952 MovieClipUses:1951Used by:2014
Symbol 1953 GraphicUses:1874Used by:1954
Symbol 1954 MovieClip {Superfighters_fla.aim_magnum_jeff_744}Uses:1953 4Used by:2014
Symbol 1955 GraphicUses:1874Used by:1956
Symbol 1956 MovieClipUses:1955Used by:2014
Symbol 1957 GraphicUses:1874Used by:1958
Symbol 1958 MovieClip {Superfighters_fla.aim_rifle_jeff_746}Uses:1957 4Used by:2014
Symbol 1959 GraphicUses:1874Used by:1960
Symbol 1960 MovieClipUses:1959Used by:2014
Symbol 1961 GraphicUses:1874Used by:1962
Symbol 1962 MovieClip {Superfighters_fla.aim_uzi_jeff_748}Uses:1961 4Used by:2014
Symbol 1963 GraphicUses:1874Used by:1964
Symbol 1964 MovieClipUses:1963Used by:2014
Symbol 1965 GraphicUses:1874Used by:1967
Symbol 1966 GraphicUses:1874Used by:1967
Symbol 1967 MovieClip {Superfighters_fla.aim_shotgun_jeff_750}Uses:1965 4 1966Used by:2014
Symbol 1968 GraphicUses:1874Used by:1969
Symbol 1969 MovieClipUses:1968Used by:2014
Symbol 1970 GraphicUses:1874Used by:1971
Symbol 1971 MovieClip {Superfighters_fla.aim_sniper_jeff_752}Uses:1970 4Used by:2014
Symbol 1972 GraphicUses:1874Used by:1973
Symbol 1973 MovieClipUses:1972Used by:2014
Symbol 1974 GraphicUses:1874Used by:1975
Symbol 1975 MovieClip {Superfighters_fla.aim_bazooka_jeff_754}Uses:1974 4Used by:2014
Symbol 1976 GraphicUses:1874Used by:1977
Symbol 1977 MovieClipUses:1976Used by:2014
Symbol 1978 GraphicUses:1874Used by:1979
Symbol 1979 MovieClipUses:1978Used by:2014
Symbol 1980 GraphicUses:1874Used by:1981
Symbol 1981 MovieClip {Superfighters_fla.aim_flamethrower_jeff_757}Uses:1980 4Used by:2014
Symbol 1982 GraphicUses:1874Used by:1983
Symbol 1983 MovieClipUses:1982Used by:2014
Symbol 1984 GraphicUses:1874Used by:1985
Symbol 1985 MovieClip {Superfighters_fla.aim_throw_jeff_759}Uses:1984 4Used by:2014
Symbol 1986 GraphicUses:1874Used by:1987
Symbol 1987 MovieClipUses:1986Used by:2014
Symbol 1988 GraphicUses:1874Used by:1989
Symbol 1989 MovieClipUses:1988Used by:2014
Symbol 1990 GraphicUses:1874Used by:1991
Symbol 1991 MovieClipUses:490 1990 492 494 495Used by:2014
Symbol 1992 GraphicUses:1874Used by:1995
Symbol 1993 GraphicUses:1874Used by:1995
Symbol 1994 GraphicUses:1874Used by:1995
Symbol 1995 MovieClipUses:1992 1993 1994Used by:2014
Symbol 1996 GraphicUses:1874Used by:1997
Symbol 1997 MovieClipUses:1996Used by:2014
Symbol 1998 GraphicUsed by:1999
Symbol 1999 MovieClipUses:1998Used by:2014
Symbol 2000 MovieClip {Superfighters_fla.grabbed_jeff_766}Uses:1887Used by:2014
Symbol 2001 GraphicUses:1874Used by:2002
Symbol 2002 MovieClipUses:2001Used by:2014
Symbol 2003 GraphicUses:1874Used by:2004
Symbol 2004 MovieClipUses:2003Used by:2014
Symbol 2005 GraphicUses:1874Used by:2006
Symbol 2006 MovieClipUses:2005Used by:2014
Symbol 2007 GraphicUses:1874Used by:2010
Symbol 2008 GraphicUses:1874Used by:2010
Symbol 2009 GraphicUses:1874Used by:2010
Symbol 2010 MovieClipUses:2007 2008 2009Used by:2014
Symbol 2011 GraphicUses:1874Used by:2013
Symbol 2012 GraphicUses:1874Used by:2013
Symbol 2013 MovieClipUses:2011 2012Used by:2014
Symbol 2014 MovieClip {player_jeff}Uses:1878 1881 1884 1888 1891 1895 1897 1898 1901 1904 1906 1909 1912 1915 1918 1921 1923 1926 1929 1932 1935 1938 1941 1944 1946 1948 1950 1952 1954 1956 1958 1960 1962 1964 1967 1969 1971 1973 1975 1977 1979 1981 1983 1985 1987 1989 1991 1995 1997 1999 2000 2002 2004 2006 2010 2013 461Used by:2515
Symbol 2015 BitmapUsed by:2017
Symbol 2016 BitmapUsed by:2017
Symbol 2017 GraphicUses:2015 2016Used by:2018
Symbol 2018 MovieClip {windmill_propeller}Uses:2017Used by:2515
Symbol 2019 BitmapUsed by:2020
Symbol 2020 GraphicUses:2019Used by:2021
Symbol 2021 MovieClip {table_small_01}Uses:2020Used by:2515
Symbol 2022 GraphicUsed by:2027
Symbol 2023 GraphicUsed by:2027
Symbol 2024 GraphicUsed by:2027
Symbol 2025 GraphicUsed by:2027
Symbol 2026 GraphicUsed by:2027
Symbol 2027 MovieClip {bubble}Uses:2022 2023 2024 2025 2026Used by:2515
Symbol 2028 BitmapUsed by:2029 2030
Symbol 2029 ShapeTweeningUses:2028Used by:2031
Symbol 2030 GraphicUses:2028Used by:2031
Symbol 2031 MovieClipUses:2029 2030Used by:2038
Symbol 2032 GraphicUsed by:2037
Symbol 2033 ShapeTweeningUsed by:2037
Symbol 2034 GraphicUsed by:2037
Symbol 2035 ShapeTweeningUsed by:2037
Symbol 2036 ShapeTweeningUsed by:2037
Symbol 2037 MovieClipUses:2032 2033 2034 2035 511 2036Used by:2038
Symbol 2038 MovieClip {bg_noise}Uses:2031 2037Used by:2515
Symbol 2039 GraphicUses:89Used by:2261
Symbol 2040 FontUsed by:2041 2042
Symbol 2041 TextUses:91 2040Used by:2261
Symbol 2042 TextUses:91 2040Used by:2261
Symbol 2043 GraphicUsed by:2056
Symbol 2044 BitmapUsed by:2045
Symbol 2045 GraphicUses:2044Used by:2046
Symbol 2046 MovieClipUses:2045Used by:2056 2063 2105 2121 2187 2203 2208 2217 2260 2319
Symbol 2047 BitmapUsed by:2051
Symbol 2048 BitmapUsed by:2051
Symbol 2049 BitmapUsed by:2051
Symbol 2050 BitmapUsed by:2051 2240
Symbol 2051 GraphicUses:2047 2048 2049 2050Used by:2056
Symbol 2052 FontUsed by:2053 2205 2206 2207
Symbol 2053 TextUses:2052Used by:2055
Symbol 2054 GraphicUsed by:2055
Symbol 2055 MovieClipUses:98 2053 2054 102Used by:2056
Symbol 2056 MovieClip {Superfighters_fla.menu_first_choise_779}Uses:2043 2046 2051 2055Used by:2261
Symbol 2057 BitmapUsed by:2059
Symbol 2058 BitmapUsed by:2059
Symbol 2059 GraphicUses:2057 2058Used by:2261
Symbol 2060 BitmapUsed by:2062
Symbol 2061 BitmapUsed by:2062
Symbol 2062 GraphicUses:2060 2061Used by:2063
Symbol 2063 MovieClip {Superfighters_fla.menu_mode_selection_782}Uses:98 2046 2062Used by:2261
Symbol 2064 GraphicUsed by:2105
Symbol 2065 BitmapUsed by:2066
Symbol 2066 GraphicUses:2065Used by:2075
Symbol 2067 BitmapUsed by:2068
Symbol 2068 GraphicUses:2067Used by:2075
Symbol 2069 BitmapUsed by:2070
Symbol 2070 GraphicUses:2069Used by:2075
Symbol 2071 BitmapUsed by:2072
Symbol 2072 GraphicUses:2071Used by:2075
Symbol 2073 BitmapUsed by:2074
Symbol 2074 GraphicUses:2073Used by:2075
Symbol 2075 MovieClip {Superfighters_fla.toggle_team_785}Uses:2066 2068 2070 2072 2074Used by:2105 2121 2392
Symbol 2076 BitmapUsed by:2077
Symbol 2077 GraphicUses:2076Used by:2092
Symbol 2078 BitmapUsed by:2079
Symbol 2079 GraphicUses:2078Used by:2092
Symbol 2080 BitmapUsed by:2081
Symbol 2081 GraphicUses:2080Used by:2092
Symbol 2082 BitmapUsed by:2083
Symbol 2083 GraphicUses:2082Used by:2092
Symbol 2084 BitmapUsed by:2085
Symbol 2085 GraphicUses:2084Used by:2092
Symbol 2086 FontUsed by:2087 2088 2089
Symbol 2087 TextUses:2086Used by:2092
Symbol 2088 TextUses:2086Used by:2092
Symbol 2089 TextUses:2086Used by:2092
Symbol 2090 BitmapUsed by:2091
Symbol 2091 GraphicUses:2090Used by:2092
Symbol 2092 MovieClip {Superfighters_fla.toggle_character_name_786}Uses:2077 2079 2081 2083 2085 2087 2088 2089 2091Used by:2105 2121
Symbol 2093 BitmapUsed by:2094 2321
Symbol 2094 GraphicUses:2093Used by:2097
Symbol 2095 BitmapUsed by:2096
Symbol 2096 GraphicUses:2095Used by:2097
Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}Uses:2094 563 757 1072 1282 1423 1596 1737 1878 2096Used by:2105 2121 2392
Symbol 2098 BitmapUsed by:2099
Symbol 2099 GraphicUses:2098Used by:2104
Symbol 2100 BitmapUsed by:2101
Symbol 2101 GraphicUses:2100Used by:2104
Symbol 2102 BitmapUsed by:2103
Symbol 2103 GraphicUses:2102Used by:2104 2121
Symbol 2104 MovieClip {Superfighters_fla.toggle_player_type_788}Uses:2099 2101 2103Used by:2105
Symbol 2105 MovieClip {Superfighters_fla.player_plate_784}Uses:2064 2075 2092 2097 2046 102 2104 98Used by:2106 2107
Symbol 2106 MovieClip {Superfighters_fla.menu_vs_1p_setup_783}Uses:2105Used by:2261
Symbol 2107 MovieClip {Superfighters_fla.menu_vs_2p_setup_789}Uses:2105Used by:2261
Symbol 2108 GraphicUsed by:2109
Symbol 2109 MovieClipUses:2108Used by:2121 2122 2123
Symbol 2110 GraphicUsed by:2121
Symbol 2111 BitmapUsed by:2112
Symbol 2112 GraphicUses:2111Used by:2119
Symbol 2113 BitmapUsed by:2114
Symbol 2114 GraphicUses:2113Used by:2119
Symbol 2115 BitmapUsed by:2116
Symbol 2116 GraphicUses:2115Used by:2119
Symbol 2117 BitmapUsed by:2118
Symbol 2118 GraphicUses:2117Used by:2119
Symbol 2119 MovieClip {Superfighters_fla.toggle_difficulty_793}Uses:2112 2114 2116 2118Used by:2121
Symbol 2120 GraphicUsed by:2121
Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}Uses:2110 2119 2075 2120 2092 2097 2046 102 2103 2109Used by:2122 2123
Symbol 2122 MovieClip {Superfighters_fla.menu_bot_7_setup_790}Uses:2109 2121Used by:2261
Symbol 2123 MovieClip {Superfighters_fla.menu_bot_6_setup_794}Uses:2109 2121Used by:2261
Symbol 2124 BitmapUsed by:2125
Symbol 2125 GraphicUses:2124Used by:2132
Symbol 2126 GraphicUsed by:2132
Symbol 2127 BitmapUsed by:2128
Symbol 2128 GraphicUses:2127Used by:2129
Symbol 2129 MovieClipUses:2128Used by:2132
Symbol 2130 GraphicUsed by:2132
Symbol 2131 GraphicUsed by:2132
Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795}Uses:2125 2126 2129 2130 2131Used by:2261
Symbol 2133 BitmapUsed by:2137
Symbol 2134 BitmapUsed by:2137
Symbol 2135 BitmapUsed by:2137
Symbol 2136 BitmapUsed by:2137
Symbol 2137 GraphicUses:2133 2134 2135 2136Used by:2187
Symbol 2138 FontUsed by:2139 2140 2141 2142 2143 2147 2148 2149 2150 2151 2152 2155 2198 2210 2211 2212 2213 2214 2215 2216 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2239 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2263 2265 2266 2268 2269 2272 2274 2276 2277 2279 2280 2282 2283 2285 2286 2288 2289 2291 2292 2294 2295 2297 2298 2300 2301 2303 2304 2306 2307 2309 2310 2312 2313 2315 2316 2318 2397 2398
Symbol 2139 TextUses:2138Used by:2144
Symbol 2140 TextUses:2138Used by:2144
Symbol 2141 TextUses:2138Used by:2144
Symbol 2142 TextUses:2138Used by:2144
Symbol 2143 TextUses:2138Used by:2144
Symbol 2144 MovieClip {Superfighters_fla.toggle_map_name_798}Uses:2139 2140 2141 2142 2143Used by:2187
Symbol 2145 BitmapUsed by:2146
Symbol 2146 GraphicUses:2145Used by:2153
Symbol 2147 TextUses:2138Used by:2153
Symbol 2148 TextUses:2138Used by:2153
Symbol 2149 TextUses:2138Used by:2153
Symbol 2150 TextUses:2138Used by:2153
Symbol 2151 TextUses:2138Used by:2153
Symbol 2152 TextUses:2138Used by:2153
Symbol 2153 MovieClip {Superfighters_fla.toggle_game_mode_799}Uses:2146 2147 2148 2149 2150 2151 2152Used by:2187 2399
Symbol 2154 GraphicUsed by:2186
Symbol 2155 TextUses:2138Used by:2186
Symbol 2156 GraphicUsed by:2186
Symbol 2157 GraphicUses:87Used by:2186 2431
Symbol 2158 BitmapUsed by:2159
Symbol 2159 GraphicUses:2158Used by:2160
Symbol 2160 MovieClipUses:2159Used by:2161
Symbol 2161 MovieClipUses:2160Used by:2186 2431
Symbol 2162 GraphicUsed by:2186 2431
Symbol 2163 BitmapUsed by:2164 2165
Symbol 2164 ShapeTweeningUses:2163Used by:2166
Symbol 2165 GraphicUses:2163Used by:2166
Symbol 2166 MovieClipUses:2164 2165Used by:2186 2431
Symbol 2167 BitmapUsed by:2169 2435
Symbol 2168 BitmapUsed by:2169
Symbol 2169 GraphicUses:2167 2168Used by:2186 2431
Symbol 2170 GraphicUsed by:2171
Symbol 2171 MovieClip {Superfighters_fla.billboard_804}Uses:2170Used by:2186 2431
Symbol 2172 BitmapUsed by:2173
Symbol 2173 GraphicUses:2172Used by:2186 2431
Symbol 2174 BitmapUsed by:2175 2437
Symbol 2175 GraphicUses:2174Used by:2186 2431
Symbol 2176 BitmapUsed by:2177 2439
Symbol 2177 GraphicUses:2176Used by:2186 2431
Symbol 2178 BitmapUsed by:2179
Symbol 2179 GraphicUses:2178Used by:2184
Symbol 2180 BitmapUsed by:2181
Symbol 2181 GraphicUses:2180Used by:2184
Symbol 2182 BitmapUsed by:2183
Symbol 2183 GraphicUses:2182Used by:2184
Symbol 2184 MovieClipUses:2179 2181 2183Used by:2185
Symbol 2185 MovieClipUses:2184Used by:2186 2431
Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800}Uses:112 2154 2155 2156 2157 2161 2162 2166 2169 2171 2173 2175 2177 2185Used by:2187 2197
Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797}Uses:2137 2046 2144 2153 102 2186Used by:2261
Symbol 2188 BitmapUsed by:2191
Symbol 2189 BitmapUsed by:2191
Symbol 2190 BitmapUsed by:2191
Symbol 2191 GraphicUses:2188 2189 2190Used by:2203
Symbol 2192 GraphicUsed by:2193 2196
Symbol 2193 MovieClipUses:2192 102Used by:2197
Symbol 2194 BitmapUsed by:2195
Symbol 2195 GraphicUses:2194Used by:2197
Symbol 2196 MovieClipUses:2192 102Used by:2197
Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}Uses:2186 2193 2195 2196Used by:2203
Symbol 2198 TextUses:2138Used by:2203
Symbol 2199 TextUses:91Used by:2201
Symbol 2200 TextUses:91Used by:2201
Symbol 2201 MovieClipUses:2199 2200Used by:2203
Symbol 2202 GraphicUsed by:2203
Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807}Uses:2191 2197 2198 2046 2201 2202Used by:2261
Symbol 2204 GraphicUsed by:2208
Symbol 2205 TextUses:2052Used by:2208
Symbol 2206 TextUses:2052Used by:2208
Symbol 2207 TextUses:2052Used by:2208
Symbol 2208 MovieClip {Superfighters_fla.confirm_delete_812}Uses:2204 2205 2206 2207 2046Used by:2261
Symbol 2209 GraphicUsed by:2217
Symbol 2210 TextUses:2138Used by:2217
Symbol 2211 TextUses:2138Used by:2217
Symbol 2212 TextUses:2138Used by:2217
Symbol 2213 EditableTextUses:2138Used by:2217
Symbol 2214 EditableTextUses:2138Used by:2217
Symbol 2215 EditableTextUses:2138Used by:2217
Symbol 2216 TextUses:2138Used by:2217
Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813}Uses:2209 2210 2211 2212 2213 2214 2215 2216 2046 102Used by:2261
Symbol 2218 GraphicUsed by:2260
Symbol 2219 TextUses:2138Used by:2260
Symbol 2220 EditableTextUses:2138Used by:2260
Symbol 2221 EditableTextUses:2138Used by:2260
Symbol 2222 EditableTextUses:2138Used by:2260
Symbol 2223 EditableTextUses:2138Used by:2260
Symbol 2224 TextUses:2138Used by:2260
Symbol 2225 TextUses:2138Used by:2260
Symbol 2226 TextUses:2138Used by:2260
Symbol 2227 EditableTextUses:2138Used by:2260
Symbol 2228 EditableTextUses:2138Used by:2260
Symbol 2229 TextUses:2138Used by:2260
Symbol 2230 TextUses:2138Used by:2260
Symbol 2231 EditableTextUses:2138Used by:2260
Symbol 2232 EditableTextUses:2138Used by:2260
Symbol 2233 TextUses:2138Used by:2260
Symbol 2234 TextUses:2138Used by:2260
Symbol 2235 TextUses:2138Used by:2260
Symbol 2236 TextUses:2138Used by:2260
Symbol 2237 FontUsed by:2238
Symbol 2238 EditableTextUses:2237Used by:2260
Symbol 2239 TextUses:2138Used by:2260
Symbol 2240 GraphicUses:2050Used by:2260
Symbol 2241 TextUses:2138Used by:2260
Symbol 2242 EditableTextUses:2138Used by:2260
Symbol 2243 EditableTextUses:2138Used by:2260
Symbol 2244 EditableTextUses:2138Used by:2260
Symbol 2245 EditableTextUses:2138Used by:2260
Symbol 2246 TextUses:2138Used by:2260
Symbol 2247 TextUses:2138Used by:2260
Symbol 2248 TextUses:2138Used by:2260
Symbol 2249 EditableTextUses:2138Used by:2260
Symbol 2250 EditableTextUses:2138Used by:2260
Symbol 2251 TextUses:2138Used by:2260
Symbol 2252 TextUses:2138Used by:2260
Symbol 2253 EditableTextUses:2138Used by:2260
Symbol 2254 TextUses:2138Used by:2260
Symbol 2255 EditableTextUses:2138Used by:2260
Symbol 2256 EditableTextUses:2138Used by:2260
Symbol 2257 EditableTextUses:2138Used by:2260
Symbol 2258 EditableTextUses:2138Used by:2260
Symbol 2259 TextUses:2138Used by:2260
Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814}Uses:2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2046 98 2238 2239 2240 102 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259Used by:2261
Symbol 2261 MovieClip {main_menu_overlay}Uses:2039 2041 2042 2056 96 2059 2063 2106 2107 2122 2123 2132 2187 2203 2208 2217 2260Used by:2515
Symbol 2262 GraphicUsed by:2319
Symbol 2263 TextUses:2138Used by:2319
Symbol 2264 GraphicUsed by:2319
Symbol 2265 TextUses:2138Used by:2319
Symbol 2266 TextUses:2138Used by:2319
Symbol 2267 GraphicUsed by:2319
Symbol 2268 TextUses:2138Used by:2319
Symbol 2269 TextUses:2138Used by:2319
Symbol 2270 BitmapUsed by:2271 2273 2321
Symbol 2271 GraphicUses:268 260 203 2270Used by:2319
Symbol 2272 TextUses:2138Used by:2319
Symbol 2273 GraphicUses:2270Used by:2319
Symbol 2274 TextUses:2138Used by:2319
Symbol 2275 GraphicUses:505 847Used by:2319
Symbol 2276 TextUses:2138Used by:2319
Symbol 2277 TextUses:2138Used by:2319
Symbol 2278 GraphicUsed by:2319
Symbol 2279 TextUses:2138Used by:2319
Symbol 2280 TextUses:2138Used by:2319
Symbol 2281 GraphicUsed by:2319
Symbol 2282 TextUses:2138Used by:2319
Symbol 2283 TextUses:2138Used by:2319
Symbol 2284 GraphicUsed by:2319
Symbol 2285 TextUses:2138Used by:2319
Symbol 2286 TextUses:2138Used by:2319
Symbol 2287 GraphicUsed by:2319
Symbol 2288 TextUses:2138Used by:2319
Symbol 2289 TextUses:2138Used by:2319
Symbol 2290 GraphicUsed by:2319
Symbol 2291 TextUses:2138Used by:2319
Symbol 2292 TextUses:2138Used by:2319
Symbol 2293 GraphicUsed by:2319
Symbol 2294 TextUses:2138Used by:2319
Symbol 2295 TextUses:2138Used by:2319
Symbol 2296 GraphicUsed by:2319
Symbol 2297 TextUses:2138Used by:2319
Symbol 2298 TextUses:2138Used by:2319
Symbol 2299 GraphicUsed by:2319
Symbol 2300 TextUses:2138Used by:2319
Symbol 2301 TextUses:2138Used by:2319
Symbol 2302 GraphicUsed by:2319
Symbol 2303 TextUses:2138Used by:2319
Symbol 2304 TextUses:2138Used by:2319
Symbol 2305 GraphicUsed by:2319
Symbol 2306 TextUses:2138Used by:2319
Symbol 2307 TextUses:2138Used by:2319
Symbol 2308 GraphicUsed by:2319
Symbol 2309 TextUses:2138Used by:2319
Symbol 2310 TextUses:2138Used by:2319
Symbol 2311 GraphicUses:749 745Used by:2319
Symbol 2312 TextUses:2138Used by:2319
Symbol 2313 TextUses:2138Used by:2319
Symbol 2314 GraphicUsed by:2319
Symbol 2315 TextUses:2138Used by:2319
Symbol 2316 TextUses:2138Used by:2319
Symbol 2317 GraphicUsed by:2319
Symbol 2318 TextUses:2138Used by:2319
Symbol 2319 MovieClip {tips}Uses:2262 2263 2264 2265 2046 2266 2267 2268 2269 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318Used by:2515
Symbol 2320 GraphicUsed by:2362
Symbol 2321 GraphicUses:2270 2093Used by:2360
Symbol 2322 GraphicUses:471Used by:2337
Symbol 2323 GraphicUses:228Used by:2337
Symbol 2324 GraphicUses:475Used by:2337
Symbol 2325 GraphicUses:253Used by:2337
Symbol 2326 GraphicUses:268Used by:2337
Symbol 2327 GraphicUses:753Used by:2337
Symbol 2328 GraphicUses:260Used by:2337
Symbol 2329 GraphicUses:197Used by:2337
Symbol 2330 GraphicUses:203Used by:2337
Symbol 2331 GraphicUses:207Used by:2337
Symbol 2332 GraphicUses:211Used by:2337
Symbol 2333 GraphicUses:264Used by:2337
Symbol 2334 GraphicUses:856Used by:2337
Symbol 2335 GraphicUses:847Used by:2337
Symbol 2336 GraphicUses:505Used by:2337
Symbol 2337 MovieClipUses:2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336Used by:2360
Symbol 2338 BitmapUsed by:2339
Symbol 2339 GraphicUses:2338Used by:2358
Symbol 2340 BitmapUsed by:2341
Symbol 2341 GraphicUses:2340Used by:2358
Symbol 2342 BitmapUsed by:2343
Symbol 2343 GraphicUses:2342Used by:2358
Symbol 2344 BitmapUsed by:2345
Symbol 2345 GraphicUses:2344Used by:2358
Symbol 2346 BitmapUsed by:2347
Symbol 2347 GraphicUses:2346Used by:2358
Symbol 2348 BitmapUsed by:2349
Symbol 2349 GraphicUses:2348Used by:2358
Symbol 2350 BitmapUsed by:2351
Symbol 2351 GraphicUses:2350Used by:2358
Symbol 2352 BitmapUsed by:2353
Symbol 2353 GraphicUses:2352Used by:2358
Symbol 2354 BitmapUsed by:2355
Symbol 2355 GraphicUses:2354Used by:2358
Symbol 2356 BitmapUsed by:2357
Symbol 2357 GraphicUses:2356Used by:2358
Symbol 2358 MovieClipUses:2339 2341 2343 2345 2347 2349 2351 2353 2355 2357Used by:2359
Symbol 2359 MovieClip {Superfighters_fla.number_00_819}Uses:2358Used by:2360 2395
Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}Uses:2321 1058 2337 2359 461 502Used by:2362
Symbol 2361 GraphicUsed by:2362
Symbol 2362 MovieClip {gui_holder}Uses:2320 2360 2361Used by:2515
Symbol 2363 BitmapUsed by:2364
Symbol 2364 GraphicUses:2363Used by:2365
Symbol 2365 MovieClip {press_space}Uses:2364Used by:2515
Symbol 2366 GraphicUsed by:2390
Symbol 2367 BitmapUsed by:2368
Symbol 2368 GraphicUses:2367Used by:2390
Symbol 2369 GraphicUsed by:2390
Symbol 2370 BitmapUsed by:2371
Symbol 2371 GraphicUses:2370Used by:2390
Symbol 2372 GraphicUsed by:2390
Symbol 2373 BitmapUsed by:2374
Symbol 2374 GraphicUses:2373Used by:2390
Symbol 2375 GraphicUsed by:2390
Symbol 2376 BitmapUsed by:2377
Symbol 2377 GraphicUses:2376Used by:2390
Symbol 2378 GraphicUsed by:2390
Symbol 2379 BitmapUsed by:2380
Symbol 2380 GraphicUses:2379Used by:2390
Symbol 2381 GraphicUsed by:2390
Symbol 2382 BitmapUsed by:2383
Symbol 2383 GraphicUses:2382Used by:2390
Symbol 2384 GraphicUsed by:2390
Symbol 2385 BitmapUsed by:2386
Symbol 2386 GraphicUses:2385Used by:2390
Symbol 2387 GraphicUsed by:2390
Symbol 2388 BitmapUsed by:2389
Symbol 2389 GraphicUses:2388Used by:2390
Symbol 2390 MovieClip {round_winner}Uses:2366 2368 102 2369 2371 2372 2374 2375 2377 2378 2380 2381 2383 2384 2386 2387 2389Used by:2515
Symbol 2391 GraphicUsed by:2396 2399
Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824}Uses:2097 2075Used by:2396
Symbol 2393 BitmapUsed by:2394
Symbol 2394 GraphicUses:2393Used by:2395
Symbol 2395 MovieClip {Superfighters_fla.score_wins_loss_825}Uses:2394 2359Used by:2396
Symbol 2396 MovieClip {score_team_plate}Uses:2391 2392 2395Used by:2515
Symbol 2397 TextUses:2138Used by:2399
Symbol 2398 EditableTextUses:2138Used by:2399
Symbol 2399 MovieClip {score_info}Uses:2391 2153 2397 2398Used by:2515
Symbol 2400 BitmapUsed by:2401
Symbol 2401 GraphicUses:2400Used by:2431
Symbol 2402 GraphicUsed by:2430
Symbol 2403 TextUses:91Used by:2430
Symbol 2404 TextUses:91Used by:2430
Symbol 2405 TextUses:91Used by:2430
Symbol 2406 TextUses:91Used by:2430
Symbol 2407 TextUses:91Used by:2430
Symbol 2408 TextUses:91Used by:2430
Symbol 2409 TextUses:91Used by:2430
Symbol 2410 TextUses:91Used by:2430
Symbol 2411 TextUses:91Used by:2430
Symbol 2412 TextUses:91Used by:2430
Symbol 2413 TextUses:91Used by:2430
Symbol 2414 TextUses:91Used by:2430
Symbol 2415 TextUses:91Used by:2430
Symbol 2416 TextUses:91Used by:2430
Symbol 2417 TextUses:91Used by:2430
Symbol 2418 TextUses:91Used by:2430
Symbol 2419 TextUses:91Used by:2430
Symbol 2420 TextUses:91Used by:2430
Symbol 2421 TextUses:91Used by:2430
Symbol 2422 TextUses:91Used by:2430
Symbol 2423 TextUses:91Used by:2430
Symbol 2424 TextUses:91Used by:2430
Symbol 2425 TextUses:91Used by:2430
Symbol 2426 TextUses:91Used by:2430
Symbol 2427 TextUses:91Used by:2430
Symbol 2428 TextUses:91Used by:2430
Symbol 2429 TextUses:91Used by:2430
Symbol 2430 MovieClip {Superfighters_fla.TutorialInstructions_828}Uses:2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429Used by:2431
Symbol 2431 MovieClip {levels}Uses:2401 2430 461 2157 2161 2162 2166 2169 2171 2173 2175 2177 2185Used by:2515
Symbol 2432 GraphicUsed by:2440
Symbol 2433 GraphicUses:87Used by:2440
Symbol 2434 GraphicUsed by:2440
Symbol 2435 GraphicUses:2167Used by:2440
Symbol 2436 GraphicUsed by:2440
Symbol 2437 GraphicUses:2174Used by:2440
Symbol 2438 GraphicUsed by:2440
Symbol 2439 GraphicUses:2176Used by:2440
Symbol 2440 MovieClip {levels_front}Uses:2432 2433 2434 2435 2436 2437 2438 2439Used by:2515
Symbol 2441 TextUses:104Used by:2514
Symbol 2442 Sound {superfighters_theme}Used by:2514
Symbol 2443 Sound {ambient_loop_1}Used by:2514
Symbol 2444 Sound {bullet_hit_1}Used by:2514
Symbol 2445 Sound {bullet_hit_2}Used by:2514
Symbol 2446 Sound {bullet_hit_3}Used by:2514
Symbol 2447 Sound {wilhelm}Used by:2514
Symbol 2448 Sound {comp_explode_01}Used by:2514
Symbol 2449 Sound {comp_explode_02}Used by:2514
Symbol 2450 Sound {accept_02}Used by:2514
Symbol 2451 Sound {aim_big}Used by:2514
Symbol 2452 Sound {aim_small}Used by:2514
Symbol 2453 Sound {bazooka}Used by:2514
Symbol 2454 Sound {beat}Used by:2514
Symbol 2455 Sound {bustwood_1}Used by:2514
Symbol 2456 Sound {bustwood_2}Used by:2514
Symbol 2457 Sound {cancel_02}Used by:2514
Symbol 2458 Sound {cut00}Used by:2514
Symbol 2459 Sound {cut01}Used by:2514
Symbol 2460 Sound {cut02}Used by:2514
Symbol 2461 Sound {dive_catch}Used by:2514
Symbol 2462 Sound {explosion00}Used by:2514
Symbol 2463 Sound {explosion01}Used by:2514
Symbol 2464 Sound {explosion02}Used by:2514
Symbol 2465 Sound {explosion03}Used by:2514
Symbol 2466 Sound {fireplosion}Used by:2514
Symbol 2467 Sound {getHealth_00}Used by:2514
Symbol 2468 Sound {gib_00}Used by:2514
Symbol 2469 Sound {glass_1}Used by:2514
Symbol 2470 Sound {glass_2}Used by:2514
Symbol 2471 Sound {gun00}Used by:2514
Symbol 2472 Sound {gun01}Used by:2514
Symbol 2473 Sound {gun02}Used by:2514
Symbol 2474 Sound {gun03}Used by:2514
Symbol 2475 Sound {heartbeat}Used by:2514
Symbol 2476 Sound {jump_00}Used by:2514
Symbol 2477 Sound {magnum}Used by:2514
Symbol 2478 Sound {outofammo_heavy}Used by:2514
Symbol 2479 Sound {outofammo_light}Used by:2514
Symbol 2480 Sound {punch00}Used by:2514
Symbol 2481 Sound {punch01}Used by:2514
Symbol 2482 Sound {punch02}Used by:2514
Symbol 2483 Sound {punch03}Used by:2514
Symbol 2484 Sound {ric00}Used by:2514
Symbol 2485 Sound {rifle_draw}Used by:2514
Symbol 2486 Sound {rifle00}Used by:2514
Symbol 2487 Sound {rifle01}Used by:2514
Symbol 2488 Sound {roll}Used by:2514
Symbol 2489 Sound {shellbounce00}Used by:2514
Symbol 2490 Sound {shellbounce01}Used by:2514
Symbol 2491 Sound {shotgun_pump_p1}Used by:2514
Symbol 2492 Sound {shotgun_pump_p2}Used by:2514
Symbol 2493 Sound {shotgun00}Used by:2514
Symbol 2494 Sound {shotgun01}Used by:2514
Symbol 2495 Sound {shotgun02}Used by:2514
Symbol 2496 Sound {sniper00}Used by:2514
Symbol 2497 Sound {sniper01}Used by:2514
Symbol 2498 Sound {uzi00}Used by:2514
Symbol 2499 Sound {uzi01}Used by:2514
Symbol 2500 Sound {wood_impact00}Used by:2514
Symbol 2501 Sound {bazooka_aim}Used by:2514
Symbol 2502 Sound {bullet_hitmetal_01}Used by:2514
Symbol 2503 Sound {bullet_hitmetal_02}Used by:2514
Symbol 2504 Sound {bullet_hitmetal_03}Used by:2514
Symbol 2505 Sound {bullet_hitmetal_04}Used by:2514
Symbol 2506 Sound {bullet_hitmetal_05}Used by:2514
Symbol 2507 Sound {grenade_safe}Used by:2514
Symbol 2508 Sound {katana_01}Used by:2514
Symbol 2509 Sound {shotgun_aim}Used by:2514
Symbol 2510 Sound {svisch4}Used by:2514
Symbol 2511 Sound {svisch6}Used by:2514
Symbol 2512 Sound {voltage_02}Used by:2514
Symbol 2513 Sound {groovy00}Used by:2514
Symbol 2514 MovieClip {Superfighters_fla.SoundContainer_830}Uses:2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513Used by:2515
Symbol 2515 MovieClip {Superfighters_fla.Container_4}Uses:105 106 109 113 116 119 120 123 126 10 7 129 132 135 138 141 143 146 149 152 155 156 157 160 161 163 168 179 182 184 187 190 193 196 202 206 210 214 219 218 221 223 224 227 231 234 237 248 249 252 256 259 263 267 271 274 277 280 281 462 463 470 474 478 481 482 485 486 487 488 496 499 502 503 504 508 512 515 518 521 524 527 530 533 536 539 542 545 548 551 552 553 558 699 702 705 708 713 716 719 722 725 728 731 734 737 740 743 744 748 752 756 846 849 852 855 859 862 1003 1008 1009 1012 1015 1018 3 1021 1024 1027 1030 1033 1036 1043 1045 1051 1058 1061 1064 1067 1208 1239 1255 1262 1265 1268 1271 1274 1277 1418 1559 1562 1565 1568 1571 1576 1579 1591 1732 1873 2014 2018 2021 2027 2038 2261 2319 2362 2365 2390 2396 2399 2431 2440 2514Used by:Timeline

Instance Names

"__id0_"Frame 1Symbol 86 MovieClip {com.newgrounds.components.APIConnector}
"mythologic_link"Frame 1Symbol 96 Button
"loadTxt"Frame 1Symbol 97 EditableText
"playBtn"Frame 4Symbol 103 Button
"adMask"Symbol 25 MovieClip {FlashAd_fla.NewgroundsAPIAsset_FlashAd_Container_2} Frame 1Symbol 13 MovieClip
"ngLinkButton"Symbol 25 MovieClip {FlashAd_fla.NewgroundsAPIAsset_FlashAd_Container_2} Frame 1Symbol 18 Button
"background"Symbol 26 MovieClip {com.newgrounds.components.FlashAd} Frame 1Symbol 25 MovieClip {FlashAd_fla.NewgroundsAPIAsset_FlashAd_Container_2}
"shadow"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 52 MovieClip
"c"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 54 MovieClip
"b"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 56 MovieClip
"t"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 58 MovieClip
"l"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 60 MovieClip
"r"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 62 MovieClip
"tl"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 64 MovieClip
"tr"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 66 MovieClip
"bl"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 68 MovieClip
"br"Symbol 71 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 70 MovieClip
"errorDialog"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 5Symbol 44 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5}
"errorDialog"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 6Symbol 48 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7}
"background"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 7Symbol 50 MovieClip
"closeButton"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 7Symbol 75 Button
"viewLatestButton"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 7Symbol 81 Button
"viewAuthorizedButton"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 8Symbol 81 Button
"indicator"Symbol 202 MovieClip {wpn_pistol} Frame 1Symbol 201 MovieClip
"indicator"Symbol 206 MovieClip {wpn_rifle} Frame 1Symbol 205 MovieClip
"indicator"Symbol 210 MovieClip {wpn_shotgun} Frame 1Symbol 209 MovieClip
"indicator"Symbol 214 MovieClip {wpn_sniper} Frame 1Symbol 213 MovieClip
"indicator"Symbol 231 MovieClip {wpn_bazooka} Frame 1Symbol 230 MovieClip
"indicator"Symbol 256 MovieClip {wpn_grenades} Frame 1Symbol 255 MovieClip
"indicator"Symbol 263 MovieClip {wpn_molotovs} Frame 1Symbol 262 MovieClip
"indicator"Symbol 267 MovieClip {wpn_sword} Frame 1Symbol 266 MovieClip
"indicator"Symbol 271 MovieClip {wpn_machete} Frame 1Symbol 270 MovieClip
"HELPMC"Symbol 305 MovieClip {Superfighters_fla.fall_f_hitclip_76} Frame 1Symbol 304 MovieClip
"HELPMC"Symbol 308 MovieClip {Superfighters_fla.fall_b_hitclip_78} Frame 1Symbol 307 MovieClip
"HELPMC"Symbol 331 MovieClip {Superfighters_fla.dive_hitclip_86} Frame 1Symbol 330 MovieClip
"DOLL"Symbol 439 MovieClip {Superfighters_fla.grabbed_hitclip_117} Frame 1Symbol 304 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 1Symbol 289 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 2Symbol 292 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 3Symbol 299 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 4Symbol 305 MovieClip {Superfighters_fla.fall_f_hitclip_76}
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 5Symbol 308 MovieClip {Superfighters_fla.fall_b_hitclip_78}
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 6Symbol 312 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 7Symbol 313 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 8Symbol 316 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 9Symbol 321 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 10Symbol 324 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 11Symbol 328 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 12Symbol 331 MovieClip {Superfighters_fla.dive_hitclip_86}
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 13Symbol 336 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 14Symbol 341 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 15Symbol 346 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 16Symbol 352 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 17Symbol 357 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 18Symbol 363 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 19Symbol 369 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 20Symbol 375 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 21Symbol 381 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 22Symbol 387 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 23Symbol 393 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 24Symbol 399 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 25Symbol 404 MovieClip
"ANIM_WPN"Symbol 462 MovieClip {player_hitarea} Frame 26Symbol 407 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 27Symbol 404 MovieClip
"ANIM_WPN"Symbol 462 MovieClip {player_hitarea} Frame 28Symbol 407 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 29Symbol 408 MovieClip
"ANIM_WPN"Symbol 462 MovieClip {player_hitarea} Frame 30Symbol 410 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 31Symbol 408 MovieClip
"ANIM_WPN"Symbol 462 MovieClip {player_hitarea} Frame 32Symbol 411 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 33Symbol 408 MovieClip
"ANIM_WPN"Symbol 462 MovieClip {player_hitarea} Frame 34Symbol 413 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 35Symbol 414 MovieClip
"ANIM_WPN"Symbol 462 MovieClip {player_hitarea} Frame 36Symbol 416 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 37Symbol 414 MovieClip
"ANIM_WPN"Symbol 462 MovieClip {player_hitarea} Frame 38Symbol 419 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 39Symbol 414 MovieClip
"ANIM_WPN"Symbol 462 MovieClip {player_hitarea} Frame 40Symbol 419 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 41Symbol 422 MovieClip
"ANIM_WPN"Symbol 462 MovieClip {player_hitarea} Frame 41Symbol 424 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 43Symbol 427 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 44Symbol 430 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 46Symbol 430 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 47Symbol 434 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 48Symbol 436 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 49Symbol 438 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 50Symbol 439 MovieClip {Superfighters_fla.grabbed_hitclip_117}
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 51Symbol 442 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 52Symbol 445 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 53Symbol 448 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 54Symbol 455 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 55Symbol 460 MovieClip
"ANIM"Symbol 462 MovieClip {player_hitarea} Frame 56Symbol 461 MovieClip
"indicator"Symbol 474 MovieClip {wpn_axe} Frame 1Symbol 473 MovieClip
"indicator"Symbol 478 MovieClip {wpn_flamethrower} Frame 1Symbol 477 MovieClip
"indicator"Symbol 508 MovieClip {wpn_slowmo_10} Frame 1Symbol 507 MovieClip
"HELPMC"Symbol 573 MovieClip {Superfighters_fla.fall_f_johnny_164} Frame 1Symbol 572 MovieClip
"HELPMC"Symbol 576 MovieClip {Superfighters_fla.fall_b_johnny_166} Frame 1Symbol 575 MovieClip
"HELPMC"Symbol 594 MovieClip {Superfighters_fla.dive_johnny_174} Frame 1Symbol 593 MovieClip
"AIM_POSITION"Symbol 635 MovieClip {Superfighters_fla.aim_pistol_johnny_190} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 635 MovieClip {Superfighters_fla.aim_pistol_johnny_190} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 635 MovieClip {Superfighters_fla.aim_pistol_johnny_190} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 635 MovieClip {Superfighters_fla.aim_pistol_johnny_190} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 639 MovieClip {Superfighters_fla.aim_magnum_johnny_192} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 639 MovieClip {Superfighters_fla.aim_magnum_johnny_192} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 639 MovieClip {Superfighters_fla.aim_magnum_johnny_192} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 639 MovieClip {Superfighters_fla.aim_magnum_johnny_192} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 643 MovieClip {Superfighters_fla.aim_rifle_johnny_194} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 643 MovieClip {Superfighters_fla.aim_rifle_johnny_194} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 643 MovieClip {Superfighters_fla.aim_rifle_johnny_194} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 643 MovieClip {Superfighters_fla.aim_rifle_johnny_194} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 647 MovieClip {Superfighters_fla.aim_uzi_johnny_196} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 647 MovieClip {Superfighters_fla.aim_uzi_johnny_196} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 647 MovieClip {Superfighters_fla.aim_uzi_johnny_196} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 647 MovieClip {Superfighters_fla.aim_uzi_johnny_196} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 652 MovieClip {Superfighters_fla.aim_shotgun_johnny_198} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 652 MovieClip {Superfighters_fla.aim_shotgun_johnny_198} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 652 MovieClip {Superfighters_fla.aim_shotgun_johnny_198} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 652 MovieClip {Superfighters_fla.aim_shotgun_johnny_198} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 656 MovieClip {Superfighters_fla.aim_sniper_johnny_200} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 656 MovieClip {Superfighters_fla.aim_sniper_johnny_200} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 656 MovieClip {Superfighters_fla.aim_sniper_johnny_200} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 656 MovieClip {Superfighters_fla.aim_sniper_johnny_200} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 656 MovieClip {Superfighters_fla.aim_sniper_johnny_200} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 660 MovieClip {Superfighters_fla.aim_bazooka_johnny_202} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 660 MovieClip {Superfighters_fla.aim_bazooka_johnny_202} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 660 MovieClip {Superfighters_fla.aim_bazooka_johnny_202} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 660 MovieClip {Superfighters_fla.aim_bazooka_johnny_202} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 666 MovieClip {Superfighters_fla.aim_flamethrower_johnny_205} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 666 MovieClip {Superfighters_fla.aim_flamethrower_johnny_205} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 666 MovieClip {Superfighters_fla.aim_flamethrower_johnny_205} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 666 MovieClip {Superfighters_fla.aim_flamethrower_johnny_205} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 670 MovieClip {Superfighters_fla.aim_throw_johnny_207} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 685 MovieClip {Superfighters_fla.grabbed_johnny_214} Frame 1Symbol 572 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 1Symbol 563 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 2Symbol 566 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 3Symbol 569 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 4Symbol 573 MovieClip {Superfighters_fla.fall_f_johnny_164}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 5Symbol 576 MovieClip {Superfighters_fla.fall_b_johnny_166}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 6Symbol 580 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 7Symbol 582 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 8Symbol 583 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 9Symbol 586 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 10Symbol 589 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 11Symbol 591 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 12Symbol 594 MovieClip {Superfighters_fla.dive_johnny_174}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 13Symbol 597 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 14Symbol 600 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 15Symbol 603 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 16Symbol 606 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 17Symbol 608 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 18Symbol 611 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 19Symbol 614 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 20Symbol 617 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 21Symbol 620 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 22Symbol 623 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 23Symbol 626 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 24Symbol 629 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 25Symbol 633 MovieClip
"ANIM_WPN"Symbol 699 MovieClip {player_johnny} Frame 26Symbol 635 MovieClip {Superfighters_fla.aim_pistol_johnny_190}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 27Symbol 637 MovieClip
"ANIM_WPN"Symbol 699 MovieClip {player_johnny} Frame 28Symbol 639 MovieClip {Superfighters_fla.aim_magnum_johnny_192}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 29Symbol 641 MovieClip
"ANIM_WPN"Symbol 699 MovieClip {player_johnny} Frame 30Symbol 643 MovieClip {Superfighters_fla.aim_rifle_johnny_194}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 31Symbol 645 MovieClip
"ANIM_WPN"Symbol 699 MovieClip {player_johnny} Frame 32Symbol 647 MovieClip {Superfighters_fla.aim_uzi_johnny_196}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 33Symbol 649 MovieClip
"ANIM_WPN"Symbol 699 MovieClip {player_johnny} Frame 34Symbol 652 MovieClip {Superfighters_fla.aim_shotgun_johnny_198}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 35Symbol 654 MovieClip
"ANIM_WPN"Symbol 699 MovieClip {player_johnny} Frame 36Symbol 656 MovieClip {Superfighters_fla.aim_sniper_johnny_200}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 37Symbol 658 MovieClip
"ANIM_WPN"Symbol 699 MovieClip {player_johnny} Frame 38Symbol 660 MovieClip {Superfighters_fla.aim_bazooka_johnny_202}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 39Symbol 664 MovieClip
"ANIM_WPN"Symbol 699 MovieClip {player_johnny} Frame 40Symbol 666 MovieClip {Superfighters_fla.aim_flamethrower_johnny_205}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 41Symbol 668 MovieClip
"ANIM_WPN"Symbol 699 MovieClip {player_johnny} Frame 41Symbol 670 MovieClip {Superfighters_fla.aim_throw_johnny_207}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 42Symbol 672 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 43Symbol 674 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 44Symbol 676 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 46Symbol 676 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 47Symbol 680 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 48Symbol 682 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 49Symbol 684 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 50Symbol 685 MovieClip {Superfighters_fla.grabbed_johnny_214}
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 51Symbol 687 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 52Symbol 689 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 53Symbol 691 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 54Symbol 695 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 55Symbol 698 MovieClip
"ANIM"Symbol 699 MovieClip {player_johnny} Frame 56Symbol 461 MovieClip
"indicator"Symbol 748 MovieClip {wpn_medkit} Frame 1Symbol 747 MovieClip
"indicator"Symbol 752 MovieClip {wpn_pills} Frame 1Symbol 751 MovieClip
"indicator"Symbol 756 MovieClip {wpn_magnum} Frame 1Symbol 755 MovieClip
"HELPMC"Symbol 762 MovieClip {Superfighters_fla.fall_f_boris_245} Frame 1Symbol 761 MovieClip
"HELPMC"Symbol 765 MovieClip {Superfighters_fla.fall_b_boris_247} Frame 1Symbol 764 MovieClip
"HELPMC"Symbol 779 MovieClip {Superfighters_fla.dive_boris_255} Frame 1Symbol 778 MovieClip
"AIM_POSITION"Symbol 795 MovieClip {Superfighters_fla.aim_pistol_boris_271} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 795 MovieClip {Superfighters_fla.aim_pistol_boris_271} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 795 MovieClip {Superfighters_fla.aim_pistol_boris_271} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 795 MovieClip {Superfighters_fla.aim_pistol_boris_271} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 799 MovieClip {Superfighters_fla.aim_magnum_boris_273} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 799 MovieClip {Superfighters_fla.aim_magnum_boris_273} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 799 MovieClip {Superfighters_fla.aim_magnum_boris_273} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 799 MovieClip {Superfighters_fla.aim_magnum_boris_273} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 803 MovieClip {Superfighters_fla.aim_rifle_boris_275} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 803 MovieClip {Superfighters_fla.aim_rifle_boris_275} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 803 MovieClip {Superfighters_fla.aim_rifle_boris_275} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 803 MovieClip {Superfighters_fla.aim_rifle_boris_275} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 807 MovieClip {Superfighters_fla.aim_uzi_boris_277} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 807 MovieClip {Superfighters_fla.aim_uzi_boris_277} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 807 MovieClip {Superfighters_fla.aim_uzi_boris_277} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 807 MovieClip {Superfighters_fla.aim_uzi_boris_277} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 812 MovieClip {Superfighters_fla.aim_shotgun_boris_279} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 812 MovieClip {Superfighters_fla.aim_shotgun_boris_279} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 812 MovieClip {Superfighters_fla.aim_shotgun_boris_279} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 812 MovieClip {Superfighters_fla.aim_shotgun_boris_279} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 816 MovieClip {Superfighters_fla.aim_sniper_boris_281} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 816 MovieClip {Superfighters_fla.aim_sniper_boris_281} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 816 MovieClip {Superfighters_fla.aim_sniper_boris_281} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 816 MovieClip {Superfighters_fla.aim_sniper_boris_281} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 816 MovieClip {Superfighters_fla.aim_sniper_boris_281} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 819 MovieClip {Superfighters_fla.aim_bazooka_boris_283} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 819 MovieClip {Superfighters_fla.aim_bazooka_boris_283} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 819 MovieClip {Superfighters_fla.aim_bazooka_boris_283} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 819 MovieClip {Superfighters_fla.aim_bazooka_boris_283} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 825 MovieClip {Superfighters_fla.aim_flamethrower_boris_286} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 825 MovieClip {Superfighters_fla.aim_flamethrower_boris_286} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 825 MovieClip {Superfighters_fla.aim_flamethrower_boris_286} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 825 MovieClip {Superfighters_fla.aim_flamethrower_boris_286} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 828 MovieClip {Superfighters_fla.aim_throw_boris_288} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 840 MovieClip {Superfighters_fla.grabbed_boris_295} Frame 1Symbol 761 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 1Symbol 757 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 2Symbol 759 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 3Symbol 760 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 4Symbol 762 MovieClip {Superfighters_fla.fall_f_boris_245}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 5Symbol 765 MovieClip {Superfighters_fla.fall_b_boris_247}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 6Symbol 769 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 7Symbol 770 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 8Symbol 771 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 9Symbol 772 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 10Symbol 775 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 11Symbol 776 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 12Symbol 779 MovieClip {Superfighters_fla.dive_boris_255}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 13Symbol 780 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 14Symbol 781 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 15Symbol 782 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 16Symbol 783 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 17Symbol 784 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 18Symbol 785 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 19Symbol 786 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 20Symbol 787 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 21Symbol 788 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 22Symbol 789 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 23Symbol 790 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 24Symbol 791 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 25Symbol 794 MovieClip
"ANIM_WPN"Symbol 846 MovieClip {player_boris} Frame 26Symbol 795 MovieClip {Superfighters_fla.aim_pistol_boris_271}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 27Symbol 797 MovieClip
"ANIM_WPN"Symbol 846 MovieClip {player_boris} Frame 28Symbol 799 MovieClip {Superfighters_fla.aim_magnum_boris_273}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 29Symbol 801 MovieClip
"ANIM_WPN"Symbol 846 MovieClip {player_boris} Frame 30Symbol 803 MovieClip {Superfighters_fla.aim_rifle_boris_275}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 31Symbol 805 MovieClip
"ANIM_WPN"Symbol 846 MovieClip {player_boris} Frame 32Symbol 807 MovieClip {Superfighters_fla.aim_uzi_boris_277}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 33Symbol 809 MovieClip
"ANIM_WPN"Symbol 846 MovieClip {player_boris} Frame 34Symbol 812 MovieClip {Superfighters_fla.aim_shotgun_boris_279}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 35Symbol 814 MovieClip
"ANIM_WPN"Symbol 846 MovieClip {player_boris} Frame 36Symbol 816 MovieClip {Superfighters_fla.aim_sniper_boris_281}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 37Symbol 818 MovieClip
"ANIM_WPN"Symbol 846 MovieClip {player_boris} Frame 38Symbol 819 MovieClip {Superfighters_fla.aim_bazooka_boris_283}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 39Symbol 823 MovieClip
"ANIM_WPN"Symbol 846 MovieClip {player_boris} Frame 40Symbol 825 MovieClip {Superfighters_fla.aim_flamethrower_boris_286}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 41Symbol 826 MovieClip
"ANIM_WPN"Symbol 846 MovieClip {player_boris} Frame 41Symbol 828 MovieClip {Superfighters_fla.aim_throw_boris_288}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 42Symbol 830 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 43Symbol 831 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 44Symbol 832 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 46Symbol 832 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 47Symbol 836 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 48Symbol 838 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 49Symbol 839 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 50Symbol 840 MovieClip {Superfighters_fla.grabbed_boris_295}
"ANIM"Symbol 846 MovieClip {player_boris} Frame 51Symbol 841 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 52Symbol 842 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 53Symbol 843 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 54Symbol 844 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 55Symbol 845 MovieClip
"ANIM"Symbol 846 MovieClip {player_boris} Frame 56Symbol 461 MovieClip
"indicator"Symbol 849 MovieClip {wpn_slowmo_05} Frame 1Symbol 507 MovieClip
"indicator"Symbol 859 MovieClip {wpn_uzi} Frame 1Symbol 858 MovieClip
"HELPMC"Symbol 877 MovieClip {Superfighters_fla.fall_f_blood_311} Frame 1Symbol 876 MovieClip
"HELPMC"Symbol 880 MovieClip {Superfighters_fla.fall_b_blood_313} Frame 1Symbol 879 MovieClip
"HELPMC"Symbol 898 MovieClip {Superfighters_fla.dive_blood_321} Frame 1Symbol 897 MovieClip
"DOLL"Symbol 989 MovieClip {Superfighters_fla.grabbed_blood_361} Frame 1Symbol 876 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 1Symbol 867 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 2Symbol 870 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 3Symbol 873 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 4Symbol 877 MovieClip {Superfighters_fla.fall_f_blood_311}
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 5Symbol 880 MovieClip {Superfighters_fla.fall_b_blood_313}
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 6Symbol 884 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 7Symbol 886 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 8Symbol 887 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 9Symbol 890 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 10Symbol 893 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 11Symbol 895 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 12Symbol 898 MovieClip {Superfighters_fla.dive_blood_321}
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 13Symbol 901 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 14Symbol 904 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 15Symbol 907 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 16Symbol 910 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 17Symbol 912 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 18Symbol 915 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 19Symbol 918 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 20Symbol 921 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 21Symbol 924 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 22Symbol 927 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 23Symbol 930 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 24Symbol 933 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 25Symbol 937 MovieClip
"ANIM_WPN"Symbol 1003 MovieClip {player_blood} Frame 26Symbol 939 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 27Symbol 941 MovieClip
"ANIM_WPN"Symbol 1003 MovieClip {player_blood} Frame 28Symbol 943 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 29Symbol 945 MovieClip
"ANIM_WPN"Symbol 1003 MovieClip {player_blood} Frame 30Symbol 947 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 31Symbol 949 MovieClip
"ANIM_WPN"Symbol 1003 MovieClip {player_blood} Frame 32Symbol 951 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 33Symbol 953 MovieClip
"ANIM_WPN"Symbol 1003 MovieClip {player_blood} Frame 34Symbol 956 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 35Symbol 958 MovieClip
"ANIM_WPN"Symbol 1003 MovieClip {player_blood} Frame 36Symbol 960 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 37Symbol 962 MovieClip
"ANIM_WPN"Symbol 1003 MovieClip {player_blood} Frame 38Symbol 964 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 39Symbol 968 MovieClip
"ANIM_WPN"Symbol 1003 MovieClip {player_blood} Frame 40Symbol 970 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 41Symbol 972 MovieClip
"ANIM_WPN"Symbol 1003 MovieClip {player_blood} Frame 41Symbol 974 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 42Symbol 976 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 43Symbol 978 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 44Symbol 980 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 46Symbol 980 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 47Symbol 984 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 48Symbol 986 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 49Symbol 988 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 50Symbol 989 MovieClip {Superfighters_fla.grabbed_blood_361}
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 51Symbol 991 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 52Symbol 993 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 53Symbol 995 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 54Symbol 999 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 55Symbol 1002 MovieClip
"ANIM"Symbol 1003 MovieClip {player_blood} Frame 56Symbol 461 MovieClip
"HELPMC"Symbol 1082 MovieClip {Superfighters_fla.fall_f_agent_390} Frame 1Symbol 1081 MovieClip
"HELPMC"Symbol 1085 MovieClip {Superfighters_fla.fall_b_agent_392} Frame 1Symbol 1084 MovieClip
"HELPMC"Symbol 1103 MovieClip {Superfighters_fla.dive_agent_400} Frame 1Symbol 1102 MovieClip
"AIM_POSITION"Symbol 1144 MovieClip {Superfighters_fla.aim_pistol_agent_416} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1144 MovieClip {Superfighters_fla.aim_pistol_agent_416} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1144 MovieClip {Superfighters_fla.aim_pistol_agent_416} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1144 MovieClip {Superfighters_fla.aim_pistol_agent_416} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1148 MovieClip {Superfighters_fla.aim_magnum_agent_418} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1148 MovieClip {Superfighters_fla.aim_magnum_agent_418} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1148 MovieClip {Superfighters_fla.aim_magnum_agent_418} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1148 MovieClip {Superfighters_fla.aim_magnum_agent_418} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1152 MovieClip {Superfighters_fla.aim_rifle_agent_420} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1152 MovieClip {Superfighters_fla.aim_rifle_agent_420} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1152 MovieClip {Superfighters_fla.aim_rifle_agent_420} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1152 MovieClip {Superfighters_fla.aim_rifle_agent_420} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1156 MovieClip {Superfighters_fla.aim_uzi_agent_422} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1156 MovieClip {Superfighters_fla.aim_uzi_agent_422} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1156 MovieClip {Superfighters_fla.aim_uzi_agent_422} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1156 MovieClip {Superfighters_fla.aim_uzi_agent_422} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1161 MovieClip {Superfighters_fla.aim_shotgun_agent_424} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1161 MovieClip {Superfighters_fla.aim_shotgun_agent_424} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1161 MovieClip {Superfighters_fla.aim_shotgun_agent_424} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1161 MovieClip {Superfighters_fla.aim_shotgun_agent_424} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1165 MovieClip {Superfighters_fla.aim_sniper_agent_426} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1165 MovieClip {Superfighters_fla.aim_sniper_agent_426} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1165 MovieClip {Superfighters_fla.aim_sniper_agent_426} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1165 MovieClip {Superfighters_fla.aim_sniper_agent_426} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1165 MovieClip {Superfighters_fla.aim_sniper_agent_426} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1169 MovieClip {Superfighters_fla.aim_bazooka_agent_428} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1169 MovieClip {Superfighters_fla.aim_bazooka_agent_428} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1169 MovieClip {Superfighters_fla.aim_bazooka_agent_428} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1169 MovieClip {Superfighters_fla.aim_bazooka_agent_428} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1175 MovieClip {Superfighters_fla.aim_flamethrower_agent_431} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1175 MovieClip {Superfighters_fla.aim_flamethrower_agent_431} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1175 MovieClip {Superfighters_fla.aim_flamethrower_agent_431} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1175 MovieClip {Superfighters_fla.aim_flamethrower_agent_431} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1179 MovieClip {Superfighters_fla.aim_throw_agent_433} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1194 MovieClip {Superfighters_fla.grabbed_agent_440} Frame 1Symbol 1081 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 1Symbol 1072 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 2Symbol 1075 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 3Symbol 1078 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 4Symbol 1082 MovieClip {Superfighters_fla.fall_f_agent_390}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 5Symbol 1085 MovieClip {Superfighters_fla.fall_b_agent_392}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 6Symbol 1089 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 7Symbol 1091 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 8Symbol 1092 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 9Symbol 1095 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 10Symbol 1098 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 11Symbol 1100 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 12Symbol 1103 MovieClip {Superfighters_fla.dive_agent_400}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 13Symbol 1106 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 14Symbol 1109 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 15Symbol 1112 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 16Symbol 1115 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 17Symbol 1117 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 18Symbol 1120 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 19Symbol 1123 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 20Symbol 1126 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 21Symbol 1129 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 22Symbol 1132 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 23Symbol 1135 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 24Symbol 1138 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 25Symbol 1142 MovieClip
"ANIM_WPN"Symbol 1208 MovieClip {player_agent} Frame 26Symbol 1144 MovieClip {Superfighters_fla.aim_pistol_agent_416}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 27Symbol 1146 MovieClip
"ANIM_WPN"Symbol 1208 MovieClip {player_agent} Frame 28Symbol 1148 MovieClip {Superfighters_fla.aim_magnum_agent_418}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 29Symbol 1150 MovieClip
"ANIM_WPN"Symbol 1208 MovieClip {player_agent} Frame 30Symbol 1152 MovieClip {Superfighters_fla.aim_rifle_agent_420}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 31Symbol 1154 MovieClip
"ANIM_WPN"Symbol 1208 MovieClip {player_agent} Frame 32Symbol 1156 MovieClip {Superfighters_fla.aim_uzi_agent_422}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 33Symbol 1158 MovieClip
"ANIM_WPN"Symbol 1208 MovieClip {player_agent} Frame 34Symbol 1161 MovieClip {Superfighters_fla.aim_shotgun_agent_424}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 35Symbol 1163 MovieClip
"ANIM_WPN"Symbol 1208 MovieClip {player_agent} Frame 36Symbol 1165 MovieClip {Superfighters_fla.aim_sniper_agent_426}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 37Symbol 1167 MovieClip
"ANIM_WPN"Symbol 1208 MovieClip {player_agent} Frame 38Symbol 1169 MovieClip {Superfighters_fla.aim_bazooka_agent_428}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 39Symbol 1173 MovieClip
"ANIM_WPN"Symbol 1208 MovieClip {player_agent} Frame 40Symbol 1175 MovieClip {Superfighters_fla.aim_flamethrower_agent_431}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 41Symbol 1177 MovieClip
"ANIM_WPN"Symbol 1208 MovieClip {player_agent} Frame 41Symbol 1179 MovieClip {Superfighters_fla.aim_throw_agent_433}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 42Symbol 1181 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 43Symbol 1183 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 44Symbol 1185 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 46Symbol 1185 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 47Symbol 1189 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 48Symbol 1191 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 49Symbol 1193 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 50Symbol 1194 MovieClip {Superfighters_fla.grabbed_agent_440}
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 51Symbol 1196 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 52Symbol 1198 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 53Symbol 1200 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 54Symbol 1204 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 55Symbol 1207 MovieClip
"ANIM"Symbol 1208 MovieClip {player_agent} Frame 56Symbol 461 MovieClip
"HELPMC"Symbol 1244 MovieClip {Superfighters_fla.fall_f_burnt_448} Frame 1Symbol 1243 MovieClip
"HELPMC"Symbol 1247 MovieClip {Superfighters_fla.fall_b_burnt_450} Frame 1Symbol 1246 MovieClip
"DOLL"Symbol 1251 MovieClip {Superfighters_fla.grabbed_burnt_453} Frame 1Symbol 1243 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 1Symbol 757 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 2Symbol 759 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 3Symbol 760 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 4Symbol 1244 MovieClip {Superfighters_fla.fall_f_burnt_448}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 5Symbol 1247 MovieClip {Superfighters_fla.fall_b_burnt_450}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 6Symbol 1250 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 7Symbol 770 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 8Symbol 771 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 9Symbol 772 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 10Symbol 775 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 11Symbol 776 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 12Symbol 779 MovieClip {Superfighters_fla.dive_boris_255}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 13Symbol 780 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 14Symbol 781 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 15Symbol 782 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 16Symbol 783 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 17Symbol 784 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 18Symbol 785 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 19Symbol 786 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 20Symbol 787 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 21Symbol 788 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 22Symbol 789 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 23Symbol 790 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 24Symbol 791 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 25Symbol 794 MovieClip
"ANIM_WPN"Symbol 1255 MovieClip {player_burnt} Frame 26Symbol 795 MovieClip {Superfighters_fla.aim_pistol_boris_271}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 27Symbol 797 MovieClip
"ANIM_WPN"Symbol 1255 MovieClip {player_burnt} Frame 28Symbol 799 MovieClip {Superfighters_fla.aim_magnum_boris_273}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 29Symbol 801 MovieClip
"ANIM_WPN"Symbol 1255 MovieClip {player_burnt} Frame 30Symbol 803 MovieClip {Superfighters_fla.aim_rifle_boris_275}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 31Symbol 805 MovieClip
"ANIM_WPN"Symbol 1255 MovieClip {player_burnt} Frame 32Symbol 807 MovieClip {Superfighters_fla.aim_uzi_boris_277}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 33Symbol 809 MovieClip
"ANIM_WPN"Symbol 1255 MovieClip {player_burnt} Frame 34Symbol 812 MovieClip {Superfighters_fla.aim_shotgun_boris_279}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 35Symbol 814 MovieClip
"ANIM_WPN"Symbol 1255 MovieClip {player_burnt} Frame 36Symbol 816 MovieClip {Superfighters_fla.aim_sniper_boris_281}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 37Symbol 818 MovieClip
"ANIM_WPN"Symbol 1255 MovieClip {player_burnt} Frame 38Symbol 819 MovieClip {Superfighters_fla.aim_bazooka_boris_283}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 39Symbol 823 MovieClip
"ANIM_WPN"Symbol 1255 MovieClip {player_burnt} Frame 40Symbol 825 MovieClip {Superfighters_fla.aim_flamethrower_boris_286}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 41Symbol 826 MovieClip
"ANIM_WPN"Symbol 1255 MovieClip {player_burnt} Frame 41Symbol 828 MovieClip {Superfighters_fla.aim_throw_boris_288}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 42Symbol 830 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 43Symbol 831 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 44Symbol 832 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 46Symbol 832 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 47Symbol 836 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 48Symbol 838 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 49Symbol 839 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 50Symbol 1251 MovieClip {Superfighters_fla.grabbed_burnt_453}
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 51Symbol 841 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 52Symbol 842 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 53Symbol 843 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 54Symbol 844 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 55Symbol 1254 MovieClip
"ANIM"Symbol 1255 MovieClip {player_burnt} Frame 56Symbol 461 MovieClip
"HELPMC"Symbol 1292 MovieClip {Superfighters_fla.fall_f_billy_467} Frame 1Symbol 1291 MovieClip
"HELPMC"Symbol 1295 MovieClip {Superfighters_fla.fall_b_billy_469} Frame 1Symbol 1294 MovieClip
"HELPMC"Symbol 1313 MovieClip {Superfighters_fla.dive_billy_477} Frame 1Symbol 1312 MovieClip
"AIM_POSITION"Symbol 1354 MovieClip {Superfighters_fla.aim_pistol_billy_493} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1354 MovieClip {Superfighters_fla.aim_pistol_billy_493} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1354 MovieClip {Superfighters_fla.aim_pistol_billy_493} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1354 MovieClip {Superfighters_fla.aim_pistol_billy_493} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1358 MovieClip {Superfighters_fla.aim_magnum_billy_495} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1358 MovieClip {Superfighters_fla.aim_magnum_billy_495} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1358 MovieClip {Superfighters_fla.aim_magnum_billy_495} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1358 MovieClip {Superfighters_fla.aim_magnum_billy_495} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1362 MovieClip {Superfighters_fla.aim_rifle_billy_497} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1362 MovieClip {Superfighters_fla.aim_rifle_billy_497} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1362 MovieClip {Superfighters_fla.aim_rifle_billy_497} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1362 MovieClip {Superfighters_fla.aim_rifle_billy_497} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1366 MovieClip {Superfighters_fla.aim_uzi_billy_499} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1366 MovieClip {Superfighters_fla.aim_uzi_billy_499} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1366 MovieClip {Superfighters_fla.aim_uzi_billy_499} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1366 MovieClip {Superfighters_fla.aim_uzi_billy_499} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1371 MovieClip {Superfighters_fla.aim_shotgun_billy_501} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1371 MovieClip {Superfighters_fla.aim_shotgun_billy_501} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1371 MovieClip {Superfighters_fla.aim_shotgun_billy_501} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1371 MovieClip {Superfighters_fla.aim_shotgun_billy_501} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1375 MovieClip {Superfighters_fla.aim_sniper_billy_503} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1375 MovieClip {Superfighters_fla.aim_sniper_billy_503} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1375 MovieClip {Superfighters_fla.aim_sniper_billy_503} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1375 MovieClip {Superfighters_fla.aim_sniper_billy_503} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1375 MovieClip {Superfighters_fla.aim_sniper_billy_503} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1379 MovieClip {Superfighters_fla.aim_bazooka_billy_505} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1379 MovieClip {Superfighters_fla.aim_bazooka_billy_505} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1379 MovieClip {Superfighters_fla.aim_bazooka_billy_505} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1379 MovieClip {Superfighters_fla.aim_bazooka_billy_505} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1385 MovieClip {Superfighters_fla.aim_flamethrower_billy_508} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1385 MovieClip {Superfighters_fla.aim_flamethrower_billy_508} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1385 MovieClip {Superfighters_fla.aim_flamethrower_billy_508} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1385 MovieClip {Superfighters_fla.aim_flamethrower_billy_508} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1389 MovieClip {Superfighters_fla.aim_throw_billy_510} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1404 MovieClip {Superfighters_fla.grabbed_billy_517} Frame 1Symbol 1291 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 1Symbol 1282 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 2Symbol 1285 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 3Symbol 1288 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 4Symbol 1292 MovieClip {Superfighters_fla.fall_f_billy_467}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 5Symbol 1295 MovieClip {Superfighters_fla.fall_b_billy_469}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 6Symbol 1299 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 7Symbol 1301 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 8Symbol 1302 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 9Symbol 1305 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 10Symbol 1308 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 11Symbol 1310 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 12Symbol 1313 MovieClip {Superfighters_fla.dive_billy_477}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 13Symbol 1316 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 14Symbol 1319 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 15Symbol 1322 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 16Symbol 1325 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 17Symbol 1327 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 18Symbol 1330 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 19Symbol 1333 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 20Symbol 1336 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 21Symbol 1339 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 22Symbol 1342 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 23Symbol 1345 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 24Symbol 1348 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 25Symbol 1352 MovieClip
"ANIM_WPN"Symbol 1418 MovieClip {player_billy} Frame 26Symbol 1354 MovieClip {Superfighters_fla.aim_pistol_billy_493}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 27Symbol 1356 MovieClip
"ANIM_WPN"Symbol 1418 MovieClip {player_billy} Frame 28Symbol 1358 MovieClip {Superfighters_fla.aim_magnum_billy_495}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 29Symbol 1360 MovieClip
"ANIM_WPN"Symbol 1418 MovieClip {player_billy} Frame 30Symbol 1362 MovieClip {Superfighters_fla.aim_rifle_billy_497}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 31Symbol 1364 MovieClip
"ANIM_WPN"Symbol 1418 MovieClip {player_billy} Frame 32Symbol 1366 MovieClip {Superfighters_fla.aim_uzi_billy_499}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 33Symbol 1368 MovieClip
"ANIM_WPN"Symbol 1418 MovieClip {player_billy} Frame 34Symbol 1371 MovieClip {Superfighters_fla.aim_shotgun_billy_501}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 35Symbol 1373 MovieClip
"ANIM_WPN"Symbol 1418 MovieClip {player_billy} Frame 36Symbol 1375 MovieClip {Superfighters_fla.aim_sniper_billy_503}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 37Symbol 1377 MovieClip
"ANIM_WPN"Symbol 1418 MovieClip {player_billy} Frame 38Symbol 1379 MovieClip {Superfighters_fla.aim_bazooka_billy_505}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 39Symbol 1383 MovieClip
"ANIM_WPN"Symbol 1418 MovieClip {player_billy} Frame 40Symbol 1385 MovieClip {Superfighters_fla.aim_flamethrower_billy_508}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 41Symbol 1387 MovieClip
"ANIM_WPN"Symbol 1418 MovieClip {player_billy} Frame 41Symbol 1389 MovieClip {Superfighters_fla.aim_throw_billy_510}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 42Symbol 1391 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 43Symbol 1393 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 44Symbol 1395 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 46Symbol 1395 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 47Symbol 1399 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 48Symbol 1401 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 49Symbol 1403 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 50Symbol 1404 MovieClip {Superfighters_fla.grabbed_billy_517}
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 51Symbol 1406 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 52Symbol 1408 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 53Symbol 1410 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 54Symbol 1414 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 55Symbol 1417 MovieClip
"ANIM"Symbol 1418 MovieClip {player_billy} Frame 56Symbol 461 MovieClip
"HELPMC"Symbol 1433 MovieClip {Superfighters_fla.fall_f_scott_527} Frame 1Symbol 1432 MovieClip
"HELPMC"Symbol 1436 MovieClip {Superfighters_fla.fall_b_scott_529} Frame 1Symbol 1435 MovieClip
"HELPMC"Symbol 1454 MovieClip {Superfighters_fla.dive_scott_537} Frame 1Symbol 1453 MovieClip
"AIM_POSITION"Symbol 1495 MovieClip {Superfighters_fla.aim_pistol_scott_553} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1495 MovieClip {Superfighters_fla.aim_pistol_scott_553} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1495 MovieClip {Superfighters_fla.aim_pistol_scott_553} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1495 MovieClip {Superfighters_fla.aim_pistol_scott_553} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1499 MovieClip {Superfighters_fla.aim_magnum_scott_555} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1499 MovieClip {Superfighters_fla.aim_magnum_scott_555} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1499 MovieClip {Superfighters_fla.aim_magnum_scott_555} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1499 MovieClip {Superfighters_fla.aim_magnum_scott_555} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1503 MovieClip {Superfighters_fla.aim_rifle_scott_557} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1503 MovieClip {Superfighters_fla.aim_rifle_scott_557} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1503 MovieClip {Superfighters_fla.aim_rifle_scott_557} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1503 MovieClip {Superfighters_fla.aim_rifle_scott_557} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1507 MovieClip {Superfighters_fla.aim_uzi_scott_559} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1507 MovieClip {Superfighters_fla.aim_uzi_scott_559} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1507 MovieClip {Superfighters_fla.aim_uzi_scott_559} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1507 MovieClip {Superfighters_fla.aim_uzi_scott_559} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1512 MovieClip {Superfighters_fla.aim_shotgun_scott_561} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1512 MovieClip {Superfighters_fla.aim_shotgun_scott_561} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1512 MovieClip {Superfighters_fla.aim_shotgun_scott_561} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1512 MovieClip {Superfighters_fla.aim_shotgun_scott_561} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1516 MovieClip {Superfighters_fla.aim_sniper_scott_563} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1516 MovieClip {Superfighters_fla.aim_sniper_scott_563} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1516 MovieClip {Superfighters_fla.aim_sniper_scott_563} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1516 MovieClip {Superfighters_fla.aim_sniper_scott_563} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1516 MovieClip {Superfighters_fla.aim_sniper_scott_563} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1520 MovieClip {Superfighters_fla.aim_bazooka_scott_565} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1520 MovieClip {Superfighters_fla.aim_bazooka_scott_565} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1520 MovieClip {Superfighters_fla.aim_bazooka_scott_565} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1520 MovieClip {Superfighters_fla.aim_bazooka_scott_565} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1526 MovieClip {Superfighters_fla.aim_flamethrower_scott_568} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1526 MovieClip {Superfighters_fla.aim_flamethrower_scott_568} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1526 MovieClip {Superfighters_fla.aim_flamethrower_scott_568} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1526 MovieClip {Superfighters_fla.aim_flamethrower_scott_568} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1530 MovieClip {Superfighters_fla.aim_throw_scott_570} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1545 MovieClip {Superfighters_fla.grabbed_scott_577} Frame 1Symbol 1432 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 1Symbol 1423 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 2Symbol 1426 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 3Symbol 1429 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 4Symbol 1433 MovieClip {Superfighters_fla.fall_f_scott_527}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 5Symbol 1436 MovieClip {Superfighters_fla.fall_b_scott_529}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 6Symbol 1440 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 7Symbol 1442 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 8Symbol 1443 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 9Symbol 1446 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 10Symbol 1449 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 11Symbol 1451 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 12Symbol 1454 MovieClip {Superfighters_fla.dive_scott_537}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 13Symbol 1457 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 14Symbol 1460 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 15Symbol 1463 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 16Symbol 1466 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 17Symbol 1468 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 18Symbol 1471 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 19Symbol 1474 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 20Symbol 1477 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 21Symbol 1480 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 22Symbol 1483 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 23Symbol 1486 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 24Symbol 1489 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 25Symbol 1493 MovieClip
"ANIM_WPN"Symbol 1559 MovieClip {player_scott} Frame 26Symbol 1495 MovieClip {Superfighters_fla.aim_pistol_scott_553}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 27Symbol 1497 MovieClip
"ANIM_WPN"Symbol 1559 MovieClip {player_scott} Frame 28Symbol 1499 MovieClip {Superfighters_fla.aim_magnum_scott_555}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 29Symbol 1501 MovieClip
"ANIM_WPN"Symbol 1559 MovieClip {player_scott} Frame 30Symbol 1503 MovieClip {Superfighters_fla.aim_rifle_scott_557}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 31Symbol 1505 MovieClip
"ANIM_WPN"Symbol 1559 MovieClip {player_scott} Frame 32Symbol 1507 MovieClip {Superfighters_fla.aim_uzi_scott_559}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 33Symbol 1509 MovieClip
"ANIM_WPN"Symbol 1559 MovieClip {player_scott} Frame 34Symbol 1512 MovieClip {Superfighters_fla.aim_shotgun_scott_561}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 35Symbol 1514 MovieClip
"ANIM_WPN"Symbol 1559 MovieClip {player_scott} Frame 36Symbol 1516 MovieClip {Superfighters_fla.aim_sniper_scott_563}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 37Symbol 1518 MovieClip
"ANIM_WPN"Symbol 1559 MovieClip {player_scott} Frame 38Symbol 1520 MovieClip {Superfighters_fla.aim_bazooka_scott_565}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 39Symbol 1524 MovieClip
"ANIM_WPN"Symbol 1559 MovieClip {player_scott} Frame 40Symbol 1526 MovieClip {Superfighters_fla.aim_flamethrower_scott_568}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 41Symbol 1528 MovieClip
"ANIM_WPN"Symbol 1559 MovieClip {player_scott} Frame 41Symbol 1530 MovieClip {Superfighters_fla.aim_throw_scott_570}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 42Symbol 1532 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 43Symbol 1534 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 44Symbol 1536 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 46Symbol 1536 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 47Symbol 1540 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 48Symbol 1542 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 49Symbol 1544 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 50Symbol 1545 MovieClip {Superfighters_fla.grabbed_scott_577}
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 51Symbol 1547 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 52Symbol 1549 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 53Symbol 1551 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 54Symbol 1555 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 55Symbol 1558 MovieClip
"ANIM"Symbol 1559 MovieClip {player_scott} Frame 56Symbol 461 MovieClip
"HELPMC"Symbol 1606 MovieClip {Superfighters_fla.fall_f_funnyman_596} Frame 1Symbol 1605 MovieClip
"HELPMC"Symbol 1609 MovieClip {Superfighters_fla.fall_b_funnyman_598} Frame 1Symbol 1608 MovieClip
"HELPMC"Symbol 1627 MovieClip {Superfighters_fla.dive_funnyman_606} Frame 1Symbol 1626 MovieClip
"AIM_POSITION"Symbol 1668 MovieClip {Superfighters_fla.aim_pistol_funnyman_622} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1668 MovieClip {Superfighters_fla.aim_pistol_funnyman_622} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1668 MovieClip {Superfighters_fla.aim_pistol_funnyman_622} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1668 MovieClip {Superfighters_fla.aim_pistol_funnyman_622} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1672 MovieClip {Superfighters_fla.aim_magnum_funnyman_624} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1672 MovieClip {Superfighters_fla.aim_magnum_funnyman_624} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1672 MovieClip {Superfighters_fla.aim_magnum_funnyman_624} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1672 MovieClip {Superfighters_fla.aim_magnum_funnyman_624} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1676 MovieClip {Superfighters_fla.aim_rifle_funnyman_626} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1676 MovieClip {Superfighters_fla.aim_rifle_funnyman_626} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1676 MovieClip {Superfighters_fla.aim_rifle_funnyman_626} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1676 MovieClip {Superfighters_fla.aim_rifle_funnyman_626} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1680 MovieClip {Superfighters_fla.aim_uzi_funnyman_628} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1680 MovieClip {Superfighters_fla.aim_uzi_funnyman_628} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1680 MovieClip {Superfighters_fla.aim_uzi_funnyman_628} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1680 MovieClip {Superfighters_fla.aim_uzi_funnyman_628} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1685 MovieClip {Superfighters_fla.aim_shotgun_funnyman_630} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1685 MovieClip {Superfighters_fla.aim_shotgun_funnyman_630} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1685 MovieClip {Superfighters_fla.aim_shotgun_funnyman_630} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1685 MovieClip {Superfighters_fla.aim_shotgun_funnyman_630} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1689 MovieClip {Superfighters_fla.aim_sniper_funnyman_632} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1689 MovieClip {Superfighters_fla.aim_sniper_funnyman_632} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1689 MovieClip {Superfighters_fla.aim_sniper_funnyman_632} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1689 MovieClip {Superfighters_fla.aim_sniper_funnyman_632} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1689 MovieClip {Superfighters_fla.aim_sniper_funnyman_632} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1693 MovieClip {Superfighters_fla.aim_bazooka_funnyman_634} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1693 MovieClip {Superfighters_fla.aim_bazooka_funnyman_634} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1693 MovieClip {Superfighters_fla.aim_bazooka_funnyman_634} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1693 MovieClip {Superfighters_fla.aim_bazooka_funnyman_634} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1699 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_637} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1699 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_637} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1699 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_637} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1699 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_637} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1703 MovieClip {Superfighters_fla.aim_throw_funnyman_639} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1718 MovieClip {Superfighters_fla.grabbed_funnyman_646} Frame 1Symbol 1605 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 1Symbol 1596 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 2Symbol 1599 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 3Symbol 1602 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 4Symbol 1606 MovieClip {Superfighters_fla.fall_f_funnyman_596}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 5Symbol 1609 MovieClip {Superfighters_fla.fall_b_funnyman_598}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 6Symbol 1613 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 7Symbol 1615 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 8Symbol 1616 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 9Symbol 1619 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 10Symbol 1622 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 11Symbol 1624 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 12Symbol 1627 MovieClip {Superfighters_fla.dive_funnyman_606}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 13Symbol 1630 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 14Symbol 1633 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 15Symbol 1636 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 16Symbol 1639 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 17Symbol 1641 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 18Symbol 1644 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 19Symbol 1647 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 20Symbol 1650 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 21Symbol 1653 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 22Symbol 1656 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 23Symbol 1659 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 24Symbol 1662 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 25Symbol 1666 MovieClip
"ANIM_WPN"Symbol 1732 MovieClip {player_funnyman} Frame 26Symbol 1668 MovieClip {Superfighters_fla.aim_pistol_funnyman_622}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 27Symbol 1670 MovieClip
"ANIM_WPN"Symbol 1732 MovieClip {player_funnyman} Frame 28Symbol 1672 MovieClip {Superfighters_fla.aim_magnum_funnyman_624}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 29Symbol 1674 MovieClip
"ANIM_WPN"Symbol 1732 MovieClip {player_funnyman} Frame 30Symbol 1676 MovieClip {Superfighters_fla.aim_rifle_funnyman_626}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 31Symbol 1678 MovieClip
"ANIM_WPN"Symbol 1732 MovieClip {player_funnyman} Frame 32Symbol 1680 MovieClip {Superfighters_fla.aim_uzi_funnyman_628}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 33Symbol 1682 MovieClip
"ANIM_WPN"Symbol 1732 MovieClip {player_funnyman} Frame 34Symbol 1685 MovieClip {Superfighters_fla.aim_shotgun_funnyman_630}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 35Symbol 1687 MovieClip
"ANIM_WPN"Symbol 1732 MovieClip {player_funnyman} Frame 36Symbol 1689 MovieClip {Superfighters_fla.aim_sniper_funnyman_632}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 37Symbol 1691 MovieClip
"ANIM_WPN"Symbol 1732 MovieClip {player_funnyman} Frame 38Symbol 1693 MovieClip {Superfighters_fla.aim_bazooka_funnyman_634}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 39Symbol 1697 MovieClip
"ANIM_WPN"Symbol 1732 MovieClip {player_funnyman} Frame 40Symbol 1699 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_637}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 41Symbol 1701 MovieClip
"ANIM_WPN"Symbol 1732 MovieClip {player_funnyman} Frame 41Symbol 1703 MovieClip {Superfighters_fla.aim_throw_funnyman_639}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 42Symbol 1705 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 43Symbol 1707 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 44Symbol 1709 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 46Symbol 1709 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 47Symbol 1713 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 48Symbol 1715 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 49Symbol 1717 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 50Symbol 1718 MovieClip {Superfighters_fla.grabbed_funnyman_646}
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 51Symbol 1720 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 52Symbol 1722 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 53Symbol 1724 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 54Symbol 1728 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 55Symbol 1731 MovieClip
"ANIM"Symbol 1732 MovieClip {player_funnyman} Frame 56Symbol 461 MovieClip
"HELPMC"Symbol 1747 MovieClip {Superfighters_fla.fall_f_mac_656} Frame 1Symbol 1746 MovieClip
"HELPMC"Symbol 1750 MovieClip {Superfighters_fla.fall_b_mac_658} Frame 1Symbol 1749 MovieClip
"HELPMC"Symbol 1768 MovieClip {Superfighters_fla.dive_mac_666} Frame 1Symbol 1767 MovieClip
"AIM_POSITION"Symbol 1809 MovieClip {Superfighters_fla.aim_pistol_mac_682} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1809 MovieClip {Superfighters_fla.aim_pistol_mac_682} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1809 MovieClip {Superfighters_fla.aim_pistol_mac_682} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1809 MovieClip {Superfighters_fla.aim_pistol_mac_682} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1813 MovieClip {Superfighters_fla.aim_magnum_mac_684} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1813 MovieClip {Superfighters_fla.aim_magnum_mac_684} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1813 MovieClip {Superfighters_fla.aim_magnum_mac_684} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1813 MovieClip {Superfighters_fla.aim_magnum_mac_684} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1817 MovieClip {Superfighters_fla.aim_rifle_mac_686} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1817 MovieClip {Superfighters_fla.aim_rifle_mac_686} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1817 MovieClip {Superfighters_fla.aim_rifle_mac_686} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1817 MovieClip {Superfighters_fla.aim_rifle_mac_686} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1821 MovieClip {Superfighters_fla.aim_uzi_mac_688} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1821 MovieClip {Superfighters_fla.aim_uzi_mac_688} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1821 MovieClip {Superfighters_fla.aim_uzi_mac_688} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1821 MovieClip {Superfighters_fla.aim_uzi_mac_688} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1826 MovieClip {Superfighters_fla.aim_shotgun_mac_690} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1826 MovieClip {Superfighters_fla.aim_shotgun_mac_690} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1826 MovieClip {Superfighters_fla.aim_shotgun_mac_690} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1826 MovieClip {Superfighters_fla.aim_shotgun_mac_690} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1830 MovieClip {Superfighters_fla.aim_sniper_mac_692} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1830 MovieClip {Superfighters_fla.aim_sniper_mac_692} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1830 MovieClip {Superfighters_fla.aim_sniper_mac_692} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1830 MovieClip {Superfighters_fla.aim_sniper_mac_692} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1830 MovieClip {Superfighters_fla.aim_sniper_mac_692} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1834 MovieClip {Superfighters_fla.aim_bazooka_mac_694} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1834 MovieClip {Superfighters_fla.aim_bazooka_mac_694} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1834 MovieClip {Superfighters_fla.aim_bazooka_mac_694} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1834 MovieClip {Superfighters_fla.aim_bazooka_mac_694} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1840 MovieClip {Superfighters_fla.aim_flamethrower_mac_697} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1840 MovieClip {Superfighters_fla.aim_flamethrower_mac_697} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1840 MovieClip {Superfighters_fla.aim_flamethrower_mac_697} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1840 MovieClip {Superfighters_fla.aim_flamethrower_mac_697} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1844 MovieClip {Superfighters_fla.aim_throw_mac_699} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1859 MovieClip {Superfighters_fla.grabbed_mac_706} Frame 1Symbol 1746 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 1Symbol 1737 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 2Symbol 1740 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 3Symbol 1743 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 4Symbol 1747 MovieClip {Superfighters_fla.fall_f_mac_656}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 5Symbol 1750 MovieClip {Superfighters_fla.fall_b_mac_658}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 6Symbol 1754 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 7Symbol 1756 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 8Symbol 1757 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 9Symbol 1760 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 10Symbol 1763 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 11Symbol 1765 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 12Symbol 1768 MovieClip {Superfighters_fla.dive_mac_666}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 13Symbol 1771 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 14Symbol 1774 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 15Symbol 1777 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 16Symbol 1780 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 17Symbol 1782 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 18Symbol 1785 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 19Symbol 1788 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 20Symbol 1791 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 21Symbol 1794 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 22Symbol 1797 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 23Symbol 1800 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 24Symbol 1803 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 25Symbol 1807 MovieClip
"ANIM_WPN"Symbol 1873 MovieClip {player_mac} Frame 26Symbol 1809 MovieClip {Superfighters_fla.aim_pistol_mac_682}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 27Symbol 1811 MovieClip
"ANIM_WPN"Symbol 1873 MovieClip {player_mac} Frame 28Symbol 1813 MovieClip {Superfighters_fla.aim_magnum_mac_684}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 29Symbol 1815 MovieClip
"ANIM_WPN"Symbol 1873 MovieClip {player_mac} Frame 30Symbol 1817 MovieClip {Superfighters_fla.aim_rifle_mac_686}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 31Symbol 1819 MovieClip
"ANIM_WPN"Symbol 1873 MovieClip {player_mac} Frame 32Symbol 1821 MovieClip {Superfighters_fla.aim_uzi_mac_688}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 33Symbol 1823 MovieClip
"ANIM_WPN"Symbol 1873 MovieClip {player_mac} Frame 34Symbol 1826 MovieClip {Superfighters_fla.aim_shotgun_mac_690}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 35Symbol 1828 MovieClip
"ANIM_WPN"Symbol 1873 MovieClip {player_mac} Frame 36Symbol 1830 MovieClip {Superfighters_fla.aim_sniper_mac_692}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 37Symbol 1832 MovieClip
"ANIM_WPN"Symbol 1873 MovieClip {player_mac} Frame 38Symbol 1834 MovieClip {Superfighters_fla.aim_bazooka_mac_694}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 39Symbol 1838 MovieClip
"ANIM_WPN"Symbol 1873 MovieClip {player_mac} Frame 40Symbol 1840 MovieClip {Superfighters_fla.aim_flamethrower_mac_697}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 41Symbol 1842 MovieClip
"ANIM_WPN"Symbol 1873 MovieClip {player_mac} Frame 41Symbol 1844 MovieClip {Superfighters_fla.aim_throw_mac_699}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 42Symbol 1846 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 43Symbol 1848 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 44Symbol 1850 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 46Symbol 1850 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 47Symbol 1854 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 48Symbol 1856 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 49Symbol 1858 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 50Symbol 1859 MovieClip {Superfighters_fla.grabbed_mac_706}
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 51Symbol 1861 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 52Symbol 1863 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 53Symbol 1865 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 54Symbol 1869 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 55Symbol 1872 MovieClip
"ANIM"Symbol 1873 MovieClip {player_mac} Frame 56Symbol 461 MovieClip
"HELPMC"Symbol 1888 MovieClip {Superfighters_fla.fall_f_jeff_716} Frame 1Symbol 1887 MovieClip
"HELPMC"Symbol 1891 MovieClip {Superfighters_fla.fall_b_jeff_718} Frame 1Symbol 1890 MovieClip
"HELPMC"Symbol 1909 MovieClip {Superfighters_fla.dive_jeff_726} Frame 1Symbol 1908 MovieClip
"AIM_POSITION"Symbol 1950 MovieClip {Superfighters_fla.aim_pistol_jeff_742} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1950 MovieClip {Superfighters_fla.aim_pistol_jeff_742} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1950 MovieClip {Superfighters_fla.aim_pistol_jeff_742} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1950 MovieClip {Superfighters_fla.aim_pistol_jeff_742} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1954 MovieClip {Superfighters_fla.aim_magnum_jeff_744} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1954 MovieClip {Superfighters_fla.aim_magnum_jeff_744} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1954 MovieClip {Superfighters_fla.aim_magnum_jeff_744} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1954 MovieClip {Superfighters_fla.aim_magnum_jeff_744} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1958 MovieClip {Superfighters_fla.aim_rifle_jeff_746} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1958 MovieClip {Superfighters_fla.aim_rifle_jeff_746} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1958 MovieClip {Superfighters_fla.aim_rifle_jeff_746} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1958 MovieClip {Superfighters_fla.aim_rifle_jeff_746} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1962 MovieClip {Superfighters_fla.aim_uzi_jeff_748} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1962 MovieClip {Superfighters_fla.aim_uzi_jeff_748} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1962 MovieClip {Superfighters_fla.aim_uzi_jeff_748} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1962 MovieClip {Superfighters_fla.aim_uzi_jeff_748} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1967 MovieClip {Superfighters_fla.aim_shotgun_jeff_750} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1967 MovieClip {Superfighters_fla.aim_shotgun_jeff_750} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1967 MovieClip {Superfighters_fla.aim_shotgun_jeff_750} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1967 MovieClip {Superfighters_fla.aim_shotgun_jeff_750} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1971 MovieClip {Superfighters_fla.aim_sniper_jeff_752} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1971 MovieClip {Superfighters_fla.aim_sniper_jeff_752} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1971 MovieClip {Superfighters_fla.aim_sniper_jeff_752} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1971 MovieClip {Superfighters_fla.aim_sniper_jeff_752} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1971 MovieClip {Superfighters_fla.aim_sniper_jeff_752} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1975 MovieClip {Superfighters_fla.aim_bazooka_jeff_754} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1975 MovieClip {Superfighters_fla.aim_bazooka_jeff_754} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1975 MovieClip {Superfighters_fla.aim_bazooka_jeff_754} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1975 MovieClip {Superfighters_fla.aim_bazooka_jeff_754} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1981 MovieClip {Superfighters_fla.aim_flamethrower_jeff_757} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1981 MovieClip {Superfighters_fla.aim_flamethrower_jeff_757} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1981 MovieClip {Superfighters_fla.aim_flamethrower_jeff_757} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1981 MovieClip {Superfighters_fla.aim_flamethrower_jeff_757} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1985 MovieClip {Superfighters_fla.aim_throw_jeff_759} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 2000 MovieClip {Superfighters_fla.grabbed_jeff_766} Frame 1Symbol 1887 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 1Symbol 1878 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 2Symbol 1881 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 3Symbol 1884 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 4Symbol 1888 MovieClip {Superfighters_fla.fall_f_jeff_716}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 5Symbol 1891 MovieClip {Superfighters_fla.fall_b_jeff_718}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 6Symbol 1895 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 7Symbol 1897 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 8Symbol 1898 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 9Symbol 1901 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 10Symbol 1904 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 11Symbol 1906 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 12Symbol 1909 MovieClip {Superfighters_fla.dive_jeff_726}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 13Symbol 1912 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 14Symbol 1915 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 15Symbol 1918 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 16Symbol 1921 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 17Symbol 1923 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 18Symbol 1926 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 19Symbol 1929 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 20Symbol 1932 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 21Symbol 1935 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 22Symbol 1938 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 23Symbol 1941 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 24Symbol 1944 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 25Symbol 1948 MovieClip
"ANIM_WPN"Symbol 2014 MovieClip {player_jeff} Frame 26Symbol 1950 MovieClip {Superfighters_fla.aim_pistol_jeff_742}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 27Symbol 1952 MovieClip
"ANIM_WPN"Symbol 2014 MovieClip {player_jeff} Frame 28Symbol 1954 MovieClip {Superfighters_fla.aim_magnum_jeff_744}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 29Symbol 1956 MovieClip
"ANIM_WPN"Symbol 2014 MovieClip {player_jeff} Frame 30Symbol 1958 MovieClip {Superfighters_fla.aim_rifle_jeff_746}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 31Symbol 1960 MovieClip
"ANIM_WPN"Symbol 2014 MovieClip {player_jeff} Frame 32Symbol 1962 MovieClip {Superfighters_fla.aim_uzi_jeff_748}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 33Symbol 1964 MovieClip
"ANIM_WPN"Symbol 2014 MovieClip {player_jeff} Frame 34Symbol 1967 MovieClip {Superfighters_fla.aim_shotgun_jeff_750}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 35Symbol 1969 MovieClip
"ANIM_WPN"Symbol 2014 MovieClip {player_jeff} Frame 36Symbol 1971 MovieClip {Superfighters_fla.aim_sniper_jeff_752}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 37Symbol 1973 MovieClip
"ANIM_WPN"Symbol 2014 MovieClip {player_jeff} Frame 38Symbol 1975 MovieClip {Superfighters_fla.aim_bazooka_jeff_754}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 39Symbol 1979 MovieClip
"ANIM_WPN"Symbol 2014 MovieClip {player_jeff} Frame 40Symbol 1981 MovieClip {Superfighters_fla.aim_flamethrower_jeff_757}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 41Symbol 1983 MovieClip
"ANIM_WPN"Symbol 2014 MovieClip {player_jeff} Frame 41Symbol 1985 MovieClip {Superfighters_fla.aim_throw_jeff_759}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 42Symbol 1987 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 43Symbol 1989 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 44Symbol 1991 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 46Symbol 1991 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 47Symbol 1995 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 48Symbol 1997 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 49Symbol 1999 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 50Symbol 2000 MovieClip {Superfighters_fla.grabbed_jeff_766}
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 51Symbol 2002 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 52Symbol 2004 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 53Symbol 2006 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 54Symbol 2010 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 55Symbol 2013 MovieClip
"ANIM"Symbol 2014 MovieClip {player_jeff} Frame 56Symbol 461 MovieClip
"EFFECT_MC"Symbol 2038 MovieClip {bg_noise} Frame 1Symbol 2037 MovieClip
"marker_0"Symbol 2056 MovieClip {Superfighters_fla.menu_first_choise_779} Frame 1Symbol 2046 MovieClip
"marker_1"Symbol 2056 MovieClip {Superfighters_fla.menu_first_choise_779} Frame 1Symbol 2046 MovieClip
"marker_2"Symbol 2056 MovieClip {Superfighters_fla.menu_first_choise_779} Frame 1Symbol 2046 MovieClip
"marker_3"Symbol 2056 MovieClip {Superfighters_fla.menu_first_choise_779} Frame 1Symbol 2046 MovieClip
"tutorial_promt"Symbol 2056 MovieClip {Superfighters_fla.menu_first_choise_779} Frame 1Symbol 2055 MovieClip
"marker_0"Symbol 2063 MovieClip {Superfighters_fla.menu_mode_selection_782} Frame 1Symbol 2046 MovieClip
"marker_1"Symbol 2063 MovieClip {Superfighters_fla.menu_mode_selection_782} Frame 1Symbol 2046 MovieClip
"team"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 2075 MovieClip {Superfighters_fla.toggle_team_785}
"character_name"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 2092 MovieClip {Superfighters_fla.toggle_character_name_786}
"character_pic"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}
"marker_0"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 2046 MovieClip
"marker_1"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 2046 MovieClip
"marker_2"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 2046 MovieClip
"marker_3"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 2046 MovieClip
"highlight_1"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 102 MovieClip
"highlight_0"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 102 MovieClip
"player_type"Symbol 2105 MovieClip {Superfighters_fla.player_plate_784} Frame 1Symbol 2104 MovieClip {Superfighters_fla.toggle_player_type_788}
"p1_plate"Symbol 2106 MovieClip {Superfighters_fla.menu_vs_1p_setup_783} Frame 1Symbol 2105 MovieClip {Superfighters_fla.player_plate_784}
"p1_plate"Symbol 2107 MovieClip {Superfighters_fla.menu_vs_2p_setup_789} Frame 1Symbol 2105 MovieClip {Superfighters_fla.player_plate_784}
"p2_plate"Symbol 2107 MovieClip {Superfighters_fla.menu_vs_2p_setup_789} Frame 1Symbol 2105 MovieClip {Superfighters_fla.player_plate_784}
"difficulty"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2119 MovieClip {Superfighters_fla.toggle_difficulty_793}
"team"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2075 MovieClip {Superfighters_fla.toggle_team_785}
"character_name"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2092 MovieClip {Superfighters_fla.toggle_character_name_786}
"character_pic"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}
"marker_0"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2046 MovieClip
"marker_1"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2046 MovieClip
"marker_2"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2046 MovieClip
"marker_3"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2046 MovieClip
"marker_4"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2046 MovieClip
"marker_5"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2046 MovieClip
"highlight_0"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 102 MovieClip
"highlight_1"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 102 MovieClip
"highlight_2"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 102 MovieClip
"empty_cover"Symbol 2121 MovieClip {Superfighters_fla.com_plate_792} Frame 1Symbol 2109 MovieClip
"cp_1"Symbol 2122 MovieClip {Superfighters_fla.menu_bot_7_setup_790} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_2"Symbol 2122 MovieClip {Superfighters_fla.menu_bot_7_setup_790} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_3"Symbol 2122 MovieClip {Superfighters_fla.menu_bot_7_setup_790} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_4"Symbol 2122 MovieClip {Superfighters_fla.menu_bot_7_setup_790} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_5"Symbol 2122 MovieClip {Superfighters_fla.menu_bot_7_setup_790} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_6"Symbol 2122 MovieClip {Superfighters_fla.menu_bot_7_setup_790} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_7"Symbol 2122 MovieClip {Superfighters_fla.menu_bot_7_setup_790} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_1"Symbol 2123 MovieClip {Superfighters_fla.menu_bot_6_setup_794} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_2"Symbol 2123 MovieClip {Superfighters_fla.menu_bot_6_setup_794} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_3"Symbol 2123 MovieClip {Superfighters_fla.menu_bot_6_setup_794} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_4"Symbol 2123 MovieClip {Superfighters_fla.menu_bot_6_setup_794} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_5"Symbol 2123 MovieClip {Superfighters_fla.menu_bot_6_setup_794} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"cp_6"Symbol 2123 MovieClip {Superfighters_fla.menu_bot_6_setup_794} Frame 1Symbol 2121 MovieClip {Superfighters_fla.com_plate_792}
"marker_0"Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795} Frame 1Symbol 2129 MovieClip
"marker_7"Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795} Frame 1Symbol 2129 MovieClip
"marker_6"Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795} Frame 1Symbol 2129 MovieClip
"marker_5"Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795} Frame 1Symbol 2129 MovieClip
"marker_4"Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795} Frame 1Symbol 2129 MovieClip
"marker_3"Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795} Frame 1Symbol 2129 MovieClip
"marker_2"Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795} Frame 1Symbol 2129 MovieClip
"marker_1"Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795} Frame 1Symbol 2129 MovieClip
"fan_1"Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800} Frame 2Symbol 2161 MovieClip
"fan_2"Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800} Frame 2Symbol 2161 MovieClip
"fan_3"Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800} Frame 2Symbol 2161 MovieClip
"background_clouds"Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800} Frame 3Symbol 2166 MovieClip
"fan_2"Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800} Frame 3Symbol 2161 MovieClip
"fan_3"Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800} Frame 3Symbol 2161 MovieClip
"fan_4"Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800} Frame 4Symbol 2161 MovieClip
"fan_1"Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800} Frame 5Symbol 2161 MovieClip
"pouring"Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800} Frame 5Symbol 2185 MovieClip
"marker_1"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 2046 MovieClip
"marker_3"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 2046 MovieClip
"marker_4"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 2046 MovieClip
"marker_2"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 2046 MovieClip
"marker_0"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 2046 MovieClip
"marker_5"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 2046 MovieClip
"map"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 2144 MovieClip {Superfighters_fla.toggle_map_name_798}
"game_mode"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 2153 MovieClip {Superfighters_fla.toggle_game_mode_799}
"highlight_0"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 102 MovieClip
"highlight_1"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 102 MovieClip
"map_pic"Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797} Frame 1Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800}
"map_pic"Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808} Frame 1Symbol 2186 MovieClip {Superfighters_fla.toggle_map_pic_800}
"selection"Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808} Frame 1Symbol 2193 MovieClip
"c_1"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_2"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_3"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_4"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_5"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_6"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_7"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_8"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_9"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_10"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_11"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"c_12"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2197 MovieClip {Superfighters_fla.challenge_map_808}
"delete_marker"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2046 MovieClip
"funnyman_message"Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807} Frame 1Symbol 2201 MovieClip
"marker_1"Symbol 2208 MovieClip {Superfighters_fla.confirm_delete_812} Frame 1Symbol 2046 MovieClip
"marker_2"Symbol 2208 MovieClip {Superfighters_fla.confirm_delete_812} Frame 1Symbol 2046 MovieClip
"graphic_text"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2213 EditableText
"effect_text"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2214 EditableText
"volume_text"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2215 EditableText
"marker_0"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2046 MovieClip
"marker_1"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2046 MovieClip
"marker_2"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2046 MovieClip
"marker_3"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2046 MovieClip
"marker_4"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2046 MovieClip
"marker_5"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2046 MovieClip
"marker_6"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 2046 MovieClip
"highlight_0"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 102 MovieClip
"highlight_1"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 102 MovieClip
"highlight_2"Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813} Frame 1Symbol 102 MovieClip
"key_right"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2220 EditableText
"key_down"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2221 EditableText
"key_left"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2222 EditableText
"key_up"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2223 EditableText
"key_fire"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2227 EditableText
"key_melee"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2228 EditableText
"key_powerup"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2231 EditableText
"key_throw"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2232 EditableText
"marker_7"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_6"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_5"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_4"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_8"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_9"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_10"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_11"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_12"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_15"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_14"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_13"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"player_nr"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2238 EditableText
"marker_2"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_3"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_0"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"marker_1"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 2046 MovieClip
"highlight_1"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_0"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_4"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_5"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_6"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_7"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_8"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_9"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_10"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_11"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_12"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_15"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_13"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"highlight_14"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 1Symbol 102 MovieClip
"key_kneel"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2242 EditableText
"key_jump"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2243 EditableText
"key_down"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2244 EditableText
"key_up"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2245 EditableText
"key_right"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2249 EditableText
"key_left"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2250 EditableText
"key_sprint"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2253 EditableText
"key_fire"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2255 EditableText
"key_melee"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2256 EditableText
"key_powerup"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2257 EditableText
"key_throw"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2258 EditableText
"marker_13"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2046 MovieClip
"marker_14"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 2046 MovieClip
"highlight_15"Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814} Frame 2Symbol 102 MovieClip
"first_choise"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2056 MovieClip {Superfighters_fla.menu_first_choise_779}
"link_1"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 96 Button
"link_2"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 96 Button
"link_3"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 96 Button
"link_4"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 96 Button
"mode_selection"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2063 MovieClip {Superfighters_fla.menu_mode_selection_782}
"vs_1p_setup"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2106 MovieClip {Superfighters_fla.menu_vs_1p_setup_783}
"vs_2p_setup"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2107 MovieClip {Superfighters_fla.menu_vs_2p_setup_789}
"bot_7_setup"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2122 MovieClip {Superfighters_fla.menu_bot_7_setup_790}
"bot_6_setup"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2123 MovieClip {Superfighters_fla.menu_bot_6_setup_794}
"no_bots"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2132 MovieClip {Superfighters_fla.menu_no_bots_795}
"map_selection"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2187 MovieClip {Superfighters_fla.menu_map_selection_797}
"challenge_selection"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2203 MovieClip {Superfighters_fla.menu_stage_mode_807}
"confirm_delete"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2208 MovieClip {Superfighters_fla.confirm_delete_812}
"set_up_main"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2217 MovieClip {Superfighters_fla.menu_set_up_813}
"set_up"Symbol 2261 MovieClip {main_menu_overlay} Frame 1Symbol 2260 MovieClip {Superfighters_fla.menu_set_up_814}
"dig_10"Symbol 2359 MovieClip {Superfighters_fla.number_00_819} Frame 1Symbol 2358 MovieClip
"dig_1"Symbol 2359 MovieClip {Superfighters_fla.number_00_819} Frame 1Symbol 2358 MovieClip
"sign"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 1058 MovieClip {player_sign}
"melee"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 2337 MovieClip
"ranged_num"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 2359 MovieClip {Superfighters_fla.number_00_819}
"throwable_num"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 2359 MovieClip {Superfighters_fla.number_00_819}
"ranged"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 2337 MovieClip
"throwable"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 2337 MovieClip
"powerup"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 2337 MovieClip
"player_mc"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 461 MovieClip
"bars_start"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 461 MovieClip
"bars_end"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 461 MovieClip
"gib_pic"Symbol 2360 MovieClip {Superfighters_fla.gui_player_817} Frame 1Symbol 502 MovieClip {char_gib_05}
"player_2"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"player_1"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"com_6"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"com_5"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"com_4"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"com_3"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"com_no_players"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"com_2"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"com_1"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"com_0"Symbol 2362 MovieClip {gui_holder} Frame 1Symbol 2360 MovieClip {Superfighters_fla.gui_player_817}
"pic_1"Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824} Frame 1Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}
"team"Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824} Frame 1Symbol 2075 MovieClip {Superfighters_fla.toggle_team_785}
"pic_2"Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824} Frame 2Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}
"pic_3"Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824} Frame 3Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}
"pic_4"Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824} Frame 4Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}
"pic_5"Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824} Frame 5Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}
"pic_6"Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824} Frame 6Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}
"pic_7"Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824} Frame 7Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787}
"loss"Symbol 2395 MovieClip {Superfighters_fla.score_wins_loss_825} Frame 1Symbol 2359 MovieClip {Superfighters_fla.number_00_819}
"wins"Symbol 2395 MovieClip {Superfighters_fla.score_wins_loss_825} Frame 1Symbol 2359 MovieClip {Superfighters_fla.number_00_819}
"pics"Symbol 2396 MovieClip {score_team_plate} Frame 1Symbol 2392 MovieClip {Superfighters_fla.score_team_pics_824}
"score"Symbol 2396 MovieClip {score_team_plate} Frame 1Symbol 2395 MovieClip {Superfighters_fla.score_wins_loss_825}
"game_mode"Symbol 2399 MovieClip {score_info} Frame 1Symbol 2153 MovieClip {Superfighters_fla.toggle_game_mode_799}
"rounds"Symbol 2399 MovieClip {score_info} Frame 1Symbol 2398 EditableText
"INSTRUCTIONS"Symbol 2431 MovieClip {levels} Frame 1Symbol 2430 MovieClip {Superfighters_fla.TutorialInstructions_828}
"TARGET_1"Symbol 2431 MovieClip {levels} Frame 1Symbol 461 MovieClip
"TARGET_2"Symbol 2431 MovieClip {levels} Frame 1Symbol 461 MovieClip
"TARGET_3"Symbol 2431 MovieClip {levels} Frame 1Symbol 461 MovieClip
"TARGET_4"Symbol 2431 MovieClip {levels} Frame 1Symbol 461 MovieClip
"TARGET_5"Symbol 2431 MovieClip {levels} Frame 1Symbol 461 MovieClip
"GRENADE_2"Symbol 2431 MovieClip {levels} Frame 1Symbol 461 MovieClip
"GRENADE_1"Symbol 2431 MovieClip {levels} Frame 1Symbol 461 MovieClip
"CRATE"Symbol 2431 MovieClip {levels} Frame 1Symbol 461 MovieClip
"REVIVE"Symbol 2431 MovieClip {levels} Frame 1Symbol 461 MovieClip
"fan_1"Symbol 2431 MovieClip {levels} Frame 2Symbol 2161 MovieClip
"fan_2"Symbol 2431 MovieClip {levels} Frame 2Symbol 2161 MovieClip
"fan_3"Symbol 2431 MovieClip {levels} Frame 2Symbol 2161 MovieClip
"background_clouds"Symbol 2431 MovieClip {levels} Frame 3Symbol 2166 MovieClip
"fan_2"Symbol 2431 MovieClip {levels} Frame 3Symbol 2161 MovieClip
"fan_3"Symbol 2431 MovieClip {levels} Frame 3Symbol 2161 MovieClip
"fan_4"Symbol 2431 MovieClip {levels} Frame 4Symbol 2161 MovieClip
"fan_1"Symbol 2431 MovieClip {levels} Frame 5Symbol 2161 MovieClip
"pouring"Symbol 2431 MovieClip {levels} Frame 5Symbol 2185 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 131 bytes "..$1$GO$fvmAsuzD6KDmfYpQR5Rhm.."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 256, ScriptTimeout: 4 seconds

Labels

"Game"Frame 6
"closeme"Symbol 44 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5} Frame 11
"closeme"Symbol 48 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7} Frame 11
"idle"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 2
"connecting"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 3
"connected"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 4
"no_login"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 5
"no_connect"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 6
"new_version"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 7
"bad_host"Symbol 86 MovieClip {com.newgrounds.components.APIConnector} Frame 8
"IDLE"Symbol 462 MovieClip {player_hitarea} Frame 1
"JUMP"Symbol 462 MovieClip {player_hitarea} Frame 2
"RUN"Symbol 462 MovieClip {player_hitarea} Frame 3
"FALL_F"Symbol 462 MovieClip {player_hitarea} Frame 4
"FALL_B"Symbol 462 MovieClip {player_hitarea} Frame 5
"KNOCKDOWN"Symbol 462 MovieClip {player_hitarea} Frame 6
"KNEEL"Symbol 462 MovieClip {player_hitarea} Frame 7
"COVER"Symbol 462 MovieClip {player_hitarea} Frame 8
"SPRINT"Symbol 462 MovieClip {player_hitarea} Frame 9
"ROLL"Symbol 462 MovieClip {player_hitarea} Frame 10
"KICK"Symbol 462 MovieClip {player_hitarea} Frame 11
"DIVE"Symbol 462 MovieClip {player_hitarea} Frame 12
"PUNCH_01"Symbol 462 MovieClip {player_hitarea} Frame 13
"PUNCH_02"Symbol 462 MovieClip {player_hitarea} Frame 14
"PUNCH_03"Symbol 462 MovieClip {player_hitarea} Frame 15
"MACHETE_01"Symbol 462 MovieClip {player_hitarea} Frame 16
"MACHETE_02"Symbol 462 MovieClip {player_hitarea} Frame 17
"MACHETE_03"Symbol 462 MovieClip {player_hitarea} Frame 18
"AXE_01"Symbol 462 MovieClip {player_hitarea} Frame 19
"AXE_02"Symbol 462 MovieClip {player_hitarea} Frame 20
"AXE_03"Symbol 462 MovieClip {player_hitarea} Frame 21
"SWORD_01"Symbol 462 MovieClip {player_hitarea} Frame 22
"SWORD_02"Symbol 462 MovieClip {player_hitarea} Frame 23
"SWORD_03"Symbol 462 MovieClip {player_hitarea} Frame 24
"START_PISTOL"Symbol 462 MovieClip {player_hitarea} Frame 25
"AIM_PISTOL"Symbol 462 MovieClip {player_hitarea} Frame 26
"START_MAGNUM"Symbol 462 MovieClip {player_hitarea} Frame 27
"AIM_MAGNUM"Symbol 462 MovieClip {player_hitarea} Frame 28
"START_RIFLE"Symbol 462 MovieClip {player_hitarea} Frame 29
"AIM_RIFLE"Symbol 462 MovieClip {player_hitarea} Frame 30
"START_UZI"Symbol 462 MovieClip {player_hitarea} Frame 31
"AIM_UZI"Symbol 462 MovieClip {player_hitarea} Frame 32
"START_SHOTGUN"Symbol 462 MovieClip {player_hitarea} Frame 33
"AIM_SHOTGUN"Symbol 462 MovieClip {player_hitarea} Frame 34
"START_SNIPER"Symbol 462 MovieClip {player_hitarea} Frame 35
"AIM_SNIPER"Symbol 462 MovieClip {player_hitarea} Frame 36
"START_BAZOOKA"Symbol 462 MovieClip {player_hitarea} Frame 37
"AIM_BAZOOKA"Symbol 462 MovieClip {player_hitarea} Frame 38
"START_FLAMETHROWER"Symbol 462 MovieClip {player_hitarea} Frame 39
"AIM_FLAMETHROWER"Symbol 462 MovieClip {player_hitarea} Frame 40
"AIM_GRENADE"Symbol 462 MovieClip {player_hitarea} Frame 41
"AIM_MOLOTOV"Symbol 462 MovieClip {player_hitarea} Frame 42
"THROW"Symbol 462 MovieClip {player_hitarea} Frame 43
"ROCKET_RIDE_R"Symbol 462 MovieClip {player_hitarea} Frame 44
"ROCKET_RIDE_L"Symbol 462 MovieClip {player_hitarea} Frame 46
"CLIMB"Symbol 462 MovieClip {player_hitarea} Frame 47
"SLIDE"Symbol 462 MovieClip {player_hitarea} Frame 48
"AIM_TURN"Symbol 462 MovieClip {player_hitarea} Frame 49
"GRABBED"Symbol 462 MovieClip {player_hitarea} Frame 50
"STUN_01"Symbol 462 MovieClip {player_hitarea} Frame 51
"STUN_02"Symbol 462 MovieClip {player_hitarea} Frame 52
"JUMPKICK"Symbol 462 MovieClip {player_hitarea} Frame 53
"STAGGER"Symbol 462 MovieClip {player_hitarea} Frame 54
"DEATH_KNEEL"Symbol 462 MovieClip {player_hitarea} Frame 55
"EMPTY"Symbol 462 MovieClip {player_hitarea} Frame 56
"IDLE"Symbol 699 MovieClip {player_johnny} Frame 1
"JUMP"Symbol 699 MovieClip {player_johnny} Frame 2
"RUN"Symbol 699 MovieClip {player_johnny} Frame 3
"FALL_F"Symbol 699 MovieClip {player_johnny} Frame 4
"FALL_B"Symbol 699 MovieClip {player_johnny} Frame 5
"KNOCKDOWN"Symbol 699 MovieClip {player_johnny} Frame 6
"KNEEL"Symbol 699 MovieClip {player_johnny} Frame 7
"COVER"Symbol 699 MovieClip {player_johnny} Frame 8
"SPRINT"Symbol 699 MovieClip {player_johnny} Frame 9
"ROLL"Symbol 699 MovieClip {player_johnny} Frame 10
"KICK"Symbol 699 MovieClip {player_johnny} Frame 11
"DIVE"Symbol 699 MovieClip {player_johnny} Frame 12
"PUNCH_01"Symbol 699 MovieClip {player_johnny} Frame 13
"PUNCH_02"Symbol 699 MovieClip {player_johnny} Frame 14
"PUNCH_03"Symbol 699 MovieClip {player_johnny} Frame 15
"MACHETE_01"Symbol 699 MovieClip {player_johnny} Frame 16
"MACHETE_02"Symbol 699 MovieClip {player_johnny} Frame 17
"MACHETE_03"Symbol 699 MovieClip {player_johnny} Frame 18
"AXE_01"Symbol 699 MovieClip {player_johnny} Frame 19
"AXE_02"Symbol 699 MovieClip {player_johnny} Frame 20
"AXE_03"Symbol 699 MovieClip {player_johnny} Frame 21
"SWORD_01"Symbol 699 MovieClip {player_johnny} Frame 22
"SWORD_02"Symbol 699 MovieClip {player_johnny} Frame 23
"SWORD_03"Symbol 699 MovieClip {player_johnny} Frame 24
"START_PISTOL"Symbol 699 MovieClip {player_johnny} Frame 25
"AIM_PISTOL"Symbol 699 MovieClip {player_johnny} Frame 26
"START_MAGNUM"Symbol 699 MovieClip {player_johnny} Frame 27
"AIM_MAGNUM"Symbol 699 MovieClip {player_johnny} Frame 28
"START_RIFLE"Symbol 699 MovieClip {player_johnny} Frame 29
"AIM_RIFLE"Symbol 699 MovieClip {player_johnny} Frame 30
"START_UZI"Symbol 699 MovieClip {player_johnny} Frame 31
"AIM_UZI"Symbol 699 MovieClip {player_johnny} Frame 32
"START_SHOTGUN"Symbol 699 MovieClip {player_johnny} Frame 33
"AIM_SHOTGUN"Symbol 699 MovieClip {player_johnny} Frame 34
"START_SNIPER"Symbol 699 MovieClip {player_johnny} Frame 35
"AIM_SNIPER"Symbol 699 MovieClip {player_johnny} Frame 36
"START_BAZOOKA"Symbol 699 MovieClip {player_johnny} Frame 37
"AIM_BAZOOKA"Symbol 699 MovieClip {player_johnny} Frame 38
"START_FLAMETHROWER"Symbol 699 MovieClip {player_johnny} Frame 39
"AIM_FLAMETHROWER"Symbol 699 MovieClip {player_johnny} Frame 40
"AIM_GRENADE"Symbol 699 MovieClip {player_johnny} Frame 41
"AIM_MOLOTOV"Symbol 699 MovieClip {player_johnny} Frame 42
"THROW"Symbol 699 MovieClip {player_johnny} Frame 43
"ROCKET_RIDE_R"Symbol 699 MovieClip {player_johnny} Frame 44
"ROCKET_RIDE_L"Symbol 699 MovieClip {player_johnny} Frame 46
"CLIMB"Symbol 699 MovieClip {player_johnny} Frame 47
"SLIDE"Symbol 699 MovieClip {player_johnny} Frame 48
"AIM_TURN"Symbol 699 MovieClip {player_johnny} Frame 49
"GRABBED"Symbol 699 MovieClip {player_johnny} Frame 50
"STUN_01"Symbol 699 MovieClip {player_johnny} Frame 51
"STUN_02"Symbol 699 MovieClip {player_johnny} Frame 52
"JUMPKICK"Symbol 699 MovieClip {player_johnny} Frame 53
"STAGGER"Symbol 699 MovieClip {player_johnny} Frame 54
"DEATH_KNEEL"Symbol 699 MovieClip {player_johnny} Frame 55
"EMPTY"Symbol 699 MovieClip {player_johnny} Frame 56
"IDLE"Symbol 846 MovieClip {player_boris} Frame 1
"JUMP"Symbol 846 MovieClip {player_boris} Frame 2
"RUN"Symbol 846 MovieClip {player_boris} Frame 3
"FALL_F"Symbol 846 MovieClip {player_boris} Frame 4
"FALL_B"Symbol 846 MovieClip {player_boris} Frame 5
"KNOCKDOWN"Symbol 846 MovieClip {player_boris} Frame 6
"KNEEL"Symbol 846 MovieClip {player_boris} Frame 7
"COVER"Symbol 846 MovieClip {player_boris} Frame 8
"SPRINT"Symbol 846 MovieClip {player_boris} Frame 9
"ROLL"Symbol 846 MovieClip {player_boris} Frame 10
"KICK"Symbol 846 MovieClip {player_boris} Frame 11
"DIVE"Symbol 846 MovieClip {player_boris} Frame 12
"PUNCH_01"Symbol 846 MovieClip {player_boris} Frame 13
"PUNCH_02"Symbol 846 MovieClip {player_boris} Frame 14
"PUNCH_03"Symbol 846 MovieClip {player_boris} Frame 15
"MACHETE_01"Symbol 846 MovieClip {player_boris} Frame 16
"MACHETE_02"Symbol 846 MovieClip {player_boris} Frame 17
"MACHETE_03"Symbol 846 MovieClip {player_boris} Frame 18
"AXE_01"Symbol 846 MovieClip {player_boris} Frame 19
"AXE_02"Symbol 846 MovieClip {player_boris} Frame 20
"AXE_03"Symbol 846 MovieClip {player_boris} Frame 21
"SWORD_01"Symbol 846 MovieClip {player_boris} Frame 22
"SWORD_02"Symbol 846 MovieClip {player_boris} Frame 23
"SWORD_03"Symbol 846 MovieClip {player_boris} Frame 24
"START_PISTOL"Symbol 846 MovieClip {player_boris} Frame 25
"AIM_PISTOL"Symbol 846 MovieClip {player_boris} Frame 26
"START_MAGNUM"Symbol 846 MovieClip {player_boris} Frame 27
"AIM_MAGNUM"Symbol 846 MovieClip {player_boris} Frame 28
"START_RIFLE"Symbol 846 MovieClip {player_boris} Frame 29
"AIM_RIFLE"Symbol 846 MovieClip {player_boris} Frame 30
"START_UZI"Symbol 846 MovieClip {player_boris} Frame 31
"AIM_UZI"Symbol 846 MovieClip {player_boris} Frame 32
"START_SHOTGUN"Symbol 846 MovieClip {player_boris} Frame 33
"AIM_SHOTGUN"Symbol 846 MovieClip {player_boris} Frame 34
"START_SNIPER"Symbol 846 MovieClip {player_boris} Frame 35
"AIM_SNIPER"Symbol 846 MovieClip {player_boris} Frame 36
"START_BAZOOKA"Symbol 846 MovieClip {player_boris} Frame 37
"AIM_BAZOOKA"Symbol 846 MovieClip {player_boris} Frame 38
"START_FLAMETHROWER"Symbol 846 MovieClip {player_boris} Frame 39
"AIM_FLAMETHROWER"Symbol 846 MovieClip {player_boris} Frame 40
"AIM_GRENADE"Symbol 846 MovieClip {player_boris} Frame 41
"AIM_MOLOTOV"Symbol 846 MovieClip {player_boris} Frame 42
"THROW"Symbol 846 MovieClip {player_boris} Frame 43
"ROCKET_RIDE_R"Symbol 846 MovieClip {player_boris} Frame 44
"ROCKET_RIDE_L"Symbol 846 MovieClip {player_boris} Frame 46
"CLIMB"Symbol 846 MovieClip {player_boris} Frame 47
"SLIDE"Symbol 846 MovieClip {player_boris} Frame 48
"AIM_TURN"Symbol 846 MovieClip {player_boris} Frame 49
"GRABBED"Symbol 846 MovieClip {player_boris} Frame 50
"STUN_01"Symbol 846 MovieClip {player_boris} Frame 51
"STUN_02"Symbol 846 MovieClip {player_boris} Frame 52
"JUMPKICK"Symbol 846 MovieClip {player_boris} Frame 53
"STAGGER"Symbol 846 MovieClip {player_boris} Frame 54
"DEATH_KNEEL"Symbol 846 MovieClip {player_boris} Frame 55
"EMPTY"Symbol 846 MovieClip {player_boris} Frame 56
"IDLE"Symbol 1003 MovieClip {player_blood} Frame 1
"JUMP"Symbol 1003 MovieClip {player_blood} Frame 2
"RUN"Symbol 1003 MovieClip {player_blood} Frame 3
"FALL_F"Symbol 1003 MovieClip {player_blood} Frame 4
"FALL_B"Symbol 1003 MovieClip {player_blood} Frame 5
"KNOCKDOWN"Symbol 1003 MovieClip {player_blood} Frame 6
"KNEEL"Symbol 1003 MovieClip {player_blood} Frame 7
"COVER"Symbol 1003 MovieClip {player_blood} Frame 8
"SPRINT"Symbol 1003 MovieClip {player_blood} Frame 9
"ROLL"Symbol 1003 MovieClip {player_blood} Frame 10
"KICK"Symbol 1003 MovieClip {player_blood} Frame 11
"DIVE"Symbol 1003 MovieClip {player_blood} Frame 12
"PUNCH_01"Symbol 1003 MovieClip {player_blood} Frame 13
"PUNCH_02"Symbol 1003 MovieClip {player_blood} Frame 14
"PUNCH_03"Symbol 1003 MovieClip {player_blood} Frame 15
"MACHETE_01"Symbol 1003 MovieClip {player_blood} Frame 16
"MACHETE_02"Symbol 1003 MovieClip {player_blood} Frame 17
"MACHETE_03"Symbol 1003 MovieClip {player_blood} Frame 18
"AXE_01"Symbol 1003 MovieClip {player_blood} Frame 19
"AXE_02"Symbol 1003 MovieClip {player_blood} Frame 20
"AXE_03"Symbol 1003 MovieClip {player_blood} Frame 21
"SWORD_01"Symbol 1003 MovieClip {player_blood} Frame 22
"SWORD_02"Symbol 1003 MovieClip {player_blood} Frame 23
"SWORD_03"Symbol 1003 MovieClip {player_blood} Frame 24
"START_PISTOL"Symbol 1003 MovieClip {player_blood} Frame 25
"AIM_PISTOL"Symbol 1003 MovieClip {player_blood} Frame 26
"START_MAGNUM"Symbol 1003 MovieClip {player_blood} Frame 27
"AIM_MAGNUM"Symbol 1003 MovieClip {player_blood} Frame 28
"START_RIFLE"Symbol 1003 MovieClip {player_blood} Frame 29
"AIM_RIFLE"Symbol 1003 MovieClip {player_blood} Frame 30
"START_UZI"Symbol 1003 MovieClip {player_blood} Frame 31
"AIM_UZI"Symbol 1003 MovieClip {player_blood} Frame 32
"START_SHOTGUN"Symbol 1003 MovieClip {player_blood} Frame 33
"AIM_SHOTGUN"Symbol 1003 MovieClip {player_blood} Frame 34
"START_SNIPER"Symbol 1003 MovieClip {player_blood} Frame 35
"AIM_SNIPER"Symbol 1003 MovieClip {player_blood} Frame 36
"START_BAZOOKA"Symbol 1003 MovieClip {player_blood} Frame 37
"AIM_BAZOOKA"Symbol 1003 MovieClip {player_blood} Frame 38
"START_FLAMETHROWER"Symbol 1003 MovieClip {player_blood} Frame 39
"AIM_FLAMETHROWER"Symbol 1003 MovieClip {player_blood} Frame 40
"AIM_GRENADE"Symbol 1003 MovieClip {player_blood} Frame 41
"AIM_MOLOTOV"Symbol 1003 MovieClip {player_blood} Frame 42
"THROW"Symbol 1003 MovieClip {player_blood} Frame 43
"ROCKET_RIDE_R"Symbol 1003 MovieClip {player_blood} Frame 44
"ROCKET_RIDE_L"Symbol 1003 MovieClip {player_blood} Frame 46
"CLIMB"Symbol 1003 MovieClip {player_blood} Frame 47
"SLIDE"Symbol 1003 MovieClip {player_blood} Frame 48
"AIM_TURN"Symbol 1003 MovieClip {player_blood} Frame 49
"GRABBED"Symbol 1003 MovieClip {player_blood} Frame 50
"STUN_01"Symbol 1003 MovieClip {player_blood} Frame 51
"STUN_02"Symbol 1003 MovieClip {player_blood} Frame 52
"JUMPKICK"Symbol 1003 MovieClip {player_blood} Frame 53
"STAGGER"Symbol 1003 MovieClip {player_blood} Frame 54
"DEATH_KNEEL"Symbol 1003 MovieClip {player_blood} Frame 55
"EMPTY"Symbol 1003 MovieClip {player_blood} Frame 56
"IDLE"Symbol 1208 MovieClip {player_agent} Frame 1
"JUMP"Symbol 1208 MovieClip {player_agent} Frame 2
"RUN"Symbol 1208 MovieClip {player_agent} Frame 3
"FALL_F"Symbol 1208 MovieClip {player_agent} Frame 4
"FALL_B"Symbol 1208 MovieClip {player_agent} Frame 5
"KNOCKDOWN"Symbol 1208 MovieClip {player_agent} Frame 6
"KNEEL"Symbol 1208 MovieClip {player_agent} Frame 7
"COVER"Symbol 1208 MovieClip {player_agent} Frame 8
"SPRINT"Symbol 1208 MovieClip {player_agent} Frame 9
"ROLL"Symbol 1208 MovieClip {player_agent} Frame 10
"KICK"Symbol 1208 MovieClip {player_agent} Frame 11
"DIVE"Symbol 1208 MovieClip {player_agent} Frame 12
"PUNCH_01"Symbol 1208 MovieClip {player_agent} Frame 13
"PUNCH_02"Symbol 1208 MovieClip {player_agent} Frame 14
"PUNCH_03"Symbol 1208 MovieClip {player_agent} Frame 15
"MACHETE_01"Symbol 1208 MovieClip {player_agent} Frame 16
"MACHETE_02"Symbol 1208 MovieClip {player_agent} Frame 17
"MACHETE_03"Symbol 1208 MovieClip {player_agent} Frame 18
"AXE_01"Symbol 1208 MovieClip {player_agent} Frame 19
"AXE_02"Symbol 1208 MovieClip {player_agent} Frame 20
"AXE_03"Symbol 1208 MovieClip {player_agent} Frame 21
"SWORD_01"Symbol 1208 MovieClip {player_agent} Frame 22
"SWORD_02"Symbol 1208 MovieClip {player_agent} Frame 23
"SWORD_03"Symbol 1208 MovieClip {player_agent} Frame 24
"START_PISTOL"Symbol 1208 MovieClip {player_agent} Frame 25
"AIM_PISTOL"Symbol 1208 MovieClip {player_agent} Frame 26
"START_MAGNUM"Symbol 1208 MovieClip {player_agent} Frame 27
"AIM_MAGNUM"Symbol 1208 MovieClip {player_agent} Frame 28
"START_RIFLE"Symbol 1208 MovieClip {player_agent} Frame 29
"AIM_RIFLE"Symbol 1208 MovieClip {player_agent} Frame 30
"START_UZI"Symbol 1208 MovieClip {player_agent} Frame 31
"AIM_UZI"Symbol 1208 MovieClip {player_agent} Frame 32
"START_SHOTGUN"Symbol 1208 MovieClip {player_agent} Frame 33
"AIM_SHOTGUN"Symbol 1208 MovieClip {player_agent} Frame 34
"START_SNIPER"Symbol 1208 MovieClip {player_agent} Frame 35
"AIM_SNIPER"Symbol 1208 MovieClip {player_agent} Frame 36
"START_BAZOOKA"Symbol 1208 MovieClip {player_agent} Frame 37
"AIM_BAZOOKA"Symbol 1208 MovieClip {player_agent} Frame 38
"START_FLAMETHROWER"Symbol 1208 MovieClip {player_agent} Frame 39
"AIM_FLAMETHROWER"Symbol 1208 MovieClip {player_agent} Frame 40
"AIM_GRENADE"Symbol 1208 MovieClip {player_agent} Frame 41
"AIM_MOLOTOV"Symbol 1208 MovieClip {player_agent} Frame 42
"THROW"Symbol 1208 MovieClip {player_agent} Frame 43
"ROCKET_RIDE_R"Symbol 1208 MovieClip {player_agent} Frame 44
"ROCKET_RIDE_L"Symbol 1208 MovieClip {player_agent} Frame 46
"CLIMB"Symbol 1208 MovieClip {player_agent} Frame 47
"SLIDE"Symbol 1208 MovieClip {player_agent} Frame 48
"AIM_TURN"Symbol 1208 MovieClip {player_agent} Frame 49
"GRABBED"Symbol 1208 MovieClip {player_agent} Frame 50
"STUN_01"Symbol 1208 MovieClip {player_agent} Frame 51
"STUN_02"Symbol 1208 MovieClip {player_agent} Frame 52
"JUMPKICK"Symbol 1208 MovieClip {player_agent} Frame 53
"STAGGER"Symbol 1208 MovieClip {player_agent} Frame 54
"DEATH_KNEEL"Symbol 1208 MovieClip {player_agent} Frame 55
"EMPTY"Symbol 1208 MovieClip {player_agent} Frame 56
"AXE"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 1
"BAZOOKA"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 2
"FLAMETHROWER"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 3
"GRENADE"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 4
"MACHETE"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 5
"MAGNUM"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 6
"MOLOTOV"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 7
"PISTOL"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 8
"RIFLE"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 9
"SHOTGUN"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 10
"SLOMO05"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 11
"SLOMO10"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 12
"SNIPER"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 13
"SWORD"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 14
"UZI"Symbol 1239 MovieClip {Code.Particles.pickup_sign} Frame 15
"IDLE"Symbol 1255 MovieClip {player_burnt} Frame 1
"JUMP"Symbol 1255 MovieClip {player_burnt} Frame 2
"RUN"Symbol 1255 MovieClip {player_burnt} Frame 3
"FALL_F"Symbol 1255 MovieClip {player_burnt} Frame 4
"FALL_B"Symbol 1255 MovieClip {player_burnt} Frame 5
"KNOCKDOWN"Symbol 1255 MovieClip {player_burnt} Frame 6
"KNEEL"Symbol 1255 MovieClip {player_burnt} Frame 7
"COVER"Symbol 1255 MovieClip {player_burnt} Frame 8
"SPRINT"Symbol 1255 MovieClip {player_burnt} Frame 9
"ROLL"Symbol 1255 MovieClip {player_burnt} Frame 10
"KICK"Symbol 1255 MovieClip {player_burnt} Frame 11
"DIVE"Symbol 1255 MovieClip {player_burnt} Frame 12
"PUNCH_01"Symbol 1255 MovieClip {player_burnt} Frame 13
"PUNCH_02"Symbol 1255 MovieClip {player_burnt} Frame 14
"PUNCH_03"Symbol 1255 MovieClip {player_burnt} Frame 15
"MACHETE_01"Symbol 1255 MovieClip {player_burnt} Frame 16
"MACHETE_02"Symbol 1255 MovieClip {player_burnt} Frame 17
"MACHETE_03"Symbol 1255 MovieClip {player_burnt} Frame 18
"AXE_01"Symbol 1255 MovieClip {player_burnt} Frame 19
"AXE_02"Symbol 1255 MovieClip {player_burnt} Frame 20
"AXE_03"Symbol 1255 MovieClip {player_burnt} Frame 21
"SWORD_01"Symbol 1255 MovieClip {player_burnt} Frame 22
"SWORD_02"Symbol 1255 MovieClip {player_burnt} Frame 23
"SWORD_03"Symbol 1255 MovieClip {player_burnt} Frame 24
"START_PISTOL"Symbol 1255 MovieClip {player_burnt} Frame 25
"AIM_PISTOL"Symbol 1255 MovieClip {player_burnt} Frame 26
"START_MAGNUM"Symbol 1255 MovieClip {player_burnt} Frame 27
"AIM_MAGNUM"Symbol 1255 MovieClip {player_burnt} Frame 28
"START_RIFLE"Symbol 1255 MovieClip {player_burnt} Frame 29
"AIM_RIFLE"Symbol 1255 MovieClip {player_burnt} Frame 30
"START_UZI"Symbol 1255 MovieClip {player_burnt} Frame 31
"AIM_UZI"Symbol 1255 MovieClip {player_burnt} Frame 32
"START_SHOTGUN"Symbol 1255 MovieClip {player_burnt} Frame 33
"AIM_SHOTGUN"Symbol 1255 MovieClip {player_burnt} Frame 34
"START_SNIPER"Symbol 1255 MovieClip {player_burnt} Frame 35
"AIM_SNIPER"Symbol 1255 MovieClip {player_burnt} Frame 36
"START_BAZOOKA"Symbol 1255 MovieClip {player_burnt} Frame 37
"AIM_BAZOOKA"Symbol 1255 MovieClip {player_burnt} Frame 38
"START_FLAMETHROWER"Symbol 1255 MovieClip {player_burnt} Frame 39
"AIM_FLAMETHROWER"Symbol 1255 MovieClip {player_burnt} Frame 40
"AIM_GRENADE"Symbol 1255 MovieClip {player_burnt} Frame 41
"AIM_MOLOTOV"Symbol 1255 MovieClip {player_burnt} Frame 42
"THROW"Symbol 1255 MovieClip {player_burnt} Frame 43
"ROCKET_RIDE_R"Symbol 1255 MovieClip {player_burnt} Frame 44
"ROCKET_RIDE_L"Symbol 1255 MovieClip {player_burnt} Frame 46
"CLIMB"Symbol 1255 MovieClip {player_burnt} Frame 47
"SLIDE"Symbol 1255 MovieClip {player_burnt} Frame 48
"AIM_TURN"Symbol 1255 MovieClip {player_burnt} Frame 49
"GRABBED"Symbol 1255 MovieClip {player_burnt} Frame 50
"STUN_01"Symbol 1255 MovieClip {player_burnt} Frame 51
"STUN_02"Symbol 1255 MovieClip {player_burnt} Frame 52
"JUMPKICK"Symbol 1255 MovieClip {player_burnt} Frame 53
"STAGGER"Symbol 1255 MovieClip {player_burnt} Frame 54
"DEATH_KNEEL"Symbol 1255 MovieClip {player_burnt} Frame 55
"EMPTY"Symbol 1255 MovieClip {player_burnt} Frame 56
"IDLE"Symbol 1418 MovieClip {player_billy} Frame 1
"JUMP"Symbol 1418 MovieClip {player_billy} Frame 2
"RUN"Symbol 1418 MovieClip {player_billy} Frame 3
"FALL_F"Symbol 1418 MovieClip {player_billy} Frame 4
"FALL_B"Symbol 1418 MovieClip {player_billy} Frame 5
"KNOCKDOWN"Symbol 1418 MovieClip {player_billy} Frame 6
"KNEEL"Symbol 1418 MovieClip {player_billy} Frame 7
"COVER"Symbol 1418 MovieClip {player_billy} Frame 8
"SPRINT"Symbol 1418 MovieClip {player_billy} Frame 9
"ROLL"Symbol 1418 MovieClip {player_billy} Frame 10
"KICK"Symbol 1418 MovieClip {player_billy} Frame 11
"DIVE"Symbol 1418 MovieClip {player_billy} Frame 12
"PUNCH_01"Symbol 1418 MovieClip {player_billy} Frame 13
"PUNCH_02"Symbol 1418 MovieClip {player_billy} Frame 14
"PUNCH_03"Symbol 1418 MovieClip {player_billy} Frame 15
"MACHETE_01"Symbol 1418 MovieClip {player_billy} Frame 16
"MACHETE_02"Symbol 1418 MovieClip {player_billy} Frame 17
"MACHETE_03"Symbol 1418 MovieClip {player_billy} Frame 18
"AXE_01"Symbol 1418 MovieClip {player_billy} Frame 19
"AXE_02"Symbol 1418 MovieClip {player_billy} Frame 20
"AXE_03"Symbol 1418 MovieClip {player_billy} Frame 21
"SWORD_01"Symbol 1418 MovieClip {player_billy} Frame 22
"SWORD_02"Symbol 1418 MovieClip {player_billy} Frame 23
"SWORD_03"Symbol 1418 MovieClip {player_billy} Frame 24
"START_PISTOL"Symbol 1418 MovieClip {player_billy} Frame 25
"AIM_PISTOL"Symbol 1418 MovieClip {player_billy} Frame 26
"START_MAGNUM"Symbol 1418 MovieClip {player_billy} Frame 27
"AIM_MAGNUM"Symbol 1418 MovieClip {player_billy} Frame 28
"START_RIFLE"Symbol 1418 MovieClip {player_billy} Frame 29
"AIM_RIFLE"Symbol 1418 MovieClip {player_billy} Frame 30
"START_UZI"Symbol 1418 MovieClip {player_billy} Frame 31
"AIM_UZI"Symbol 1418 MovieClip {player_billy} Frame 32
"START_SHOTGUN"Symbol 1418 MovieClip {player_billy} Frame 33
"AIM_SHOTGUN"Symbol 1418 MovieClip {player_billy} Frame 34
"START_SNIPER"Symbol 1418 MovieClip {player_billy} Frame 35
"AIM_SNIPER"Symbol 1418 MovieClip {player_billy} Frame 36
"START_BAZOOKA"Symbol 1418 MovieClip {player_billy} Frame 37
"AIM_BAZOOKA"Symbol 1418 MovieClip {player_billy} Frame 38
"START_FLAMETHROWER"Symbol 1418 MovieClip {player_billy} Frame 39
"AIM_FLAMETHROWER"Symbol 1418 MovieClip {player_billy} Frame 40
"AIM_GRENADE"Symbol 1418 MovieClip {player_billy} Frame 41
"AIM_MOLOTOV"Symbol 1418 MovieClip {player_billy} Frame 42
"THROW"Symbol 1418 MovieClip {player_billy} Frame 43
"ROCKET_RIDE_R"Symbol 1418 MovieClip {player_billy} Frame 44
"ROCKET_RIDE_L"Symbol 1418 MovieClip {player_billy} Frame 46
"CLIMB"Symbol 1418 MovieClip {player_billy} Frame 47
"SLIDE"Symbol 1418 MovieClip {player_billy} Frame 48
"AIM_TURN"Symbol 1418 MovieClip {player_billy} Frame 49
"GRABBED"Symbol 1418 MovieClip {player_billy} Frame 50
"STUN_01"Symbol 1418 MovieClip {player_billy} Frame 51
"STUN_02"Symbol 1418 MovieClip {player_billy} Frame 52
"JUMPKICK"Symbol 1418 MovieClip {player_billy} Frame 53
"STAGGER"Symbol 1418 MovieClip {player_billy} Frame 54
"DEATH_KNEEL"Symbol 1418 MovieClip {player_billy} Frame 55
"EMPTY"Symbol 1418 MovieClip {player_billy} Frame 56
"IDLE"Symbol 1559 MovieClip {player_scott} Frame 1
"JUMP"Symbol 1559 MovieClip {player_scott} Frame 2
"RUN"Symbol 1559 MovieClip {player_scott} Frame 3
"FALL_F"Symbol 1559 MovieClip {player_scott} Frame 4
"FALL_B"Symbol 1559 MovieClip {player_scott} Frame 5
"KNOCKDOWN"Symbol 1559 MovieClip {player_scott} Frame 6
"KNEEL"Symbol 1559 MovieClip {player_scott} Frame 7
"COVER"Symbol 1559 MovieClip {player_scott} Frame 8
"SPRINT"Symbol 1559 MovieClip {player_scott} Frame 9
"ROLL"Symbol 1559 MovieClip {player_scott} Frame 10
"KICK"Symbol 1559 MovieClip {player_scott} Frame 11
"DIVE"Symbol 1559 MovieClip {player_scott} Frame 12
"PUNCH_01"Symbol 1559 MovieClip {player_scott} Frame 13
"PUNCH_02"Symbol 1559 MovieClip {player_scott} Frame 14
"PUNCH_03"Symbol 1559 MovieClip {player_scott} Frame 15
"MACHETE_01"Symbol 1559 MovieClip {player_scott} Frame 16
"MACHETE_02"Symbol 1559 MovieClip {player_scott} Frame 17
"MACHETE_03"Symbol 1559 MovieClip {player_scott} Frame 18
"AXE_01"Symbol 1559 MovieClip {player_scott} Frame 19
"AXE_02"Symbol 1559 MovieClip {player_scott} Frame 20
"AXE_03"Symbol 1559 MovieClip {player_scott} Frame 21
"SWORD_01"Symbol 1559 MovieClip {player_scott} Frame 22
"SWORD_02"Symbol 1559 MovieClip {player_scott} Frame 23
"SWORD_03"Symbol 1559 MovieClip {player_scott} Frame 24
"START_PISTOL"Symbol 1559 MovieClip {player_scott} Frame 25
"AIM_PISTOL"Symbol 1559 MovieClip {player_scott} Frame 26
"START_MAGNUM"Symbol 1559 MovieClip {player_scott} Frame 27
"AIM_MAGNUM"Symbol 1559 MovieClip {player_scott} Frame 28
"START_RIFLE"Symbol 1559 MovieClip {player_scott} Frame 29
"AIM_RIFLE"Symbol 1559 MovieClip {player_scott} Frame 30
"START_UZI"Symbol 1559 MovieClip {player_scott} Frame 31
"AIM_UZI"Symbol 1559 MovieClip {player_scott} Frame 32
"START_SHOTGUN"Symbol 1559 MovieClip {player_scott} Frame 33
"AIM_SHOTGUN"Symbol 1559 MovieClip {player_scott} Frame 34
"START_SNIPER"Symbol 1559 MovieClip {player_scott} Frame 35
"AIM_SNIPER"Symbol 1559 MovieClip {player_scott} Frame 36
"START_BAZOOKA"Symbol 1559 MovieClip {player_scott} Frame 37
"AIM_BAZOOKA"Symbol 1559 MovieClip {player_scott} Frame 38
"START_FLAMETHROWER"Symbol 1559 MovieClip {player_scott} Frame 39
"AIM_FLAMETHROWER"Symbol 1559 MovieClip {player_scott} Frame 40
"AIM_GRENADE"Symbol 1559 MovieClip {player_scott} Frame 41
"AIM_MOLOTOV"Symbol 1559 MovieClip {player_scott} Frame 42
"THROW"Symbol 1559 MovieClip {player_scott} Frame 43
"ROCKET_RIDE_R"Symbol 1559 MovieClip {player_scott} Frame 44
"ROCKET_RIDE_L"Symbol 1559 MovieClip {player_scott} Frame 46
"CLIMB"Symbol 1559 MovieClip {player_scott} Frame 47
"SLIDE"Symbol 1559 MovieClip {player_scott} Frame 48
"AIM_TURN"Symbol 1559 MovieClip {player_scott} Frame 49
"GRABBED"Symbol 1559 MovieClip {player_scott} Frame 50
"STUN_01"Symbol 1559 MovieClip {player_scott} Frame 51
"STUN_02"Symbol 1559 MovieClip {player_scott} Frame 52
"JUMPKICK"Symbol 1559 MovieClip {player_scott} Frame 53
"STAGGER"Symbol 1559 MovieClip {player_scott} Frame 54
"DEATH_KNEEL"Symbol 1559 MovieClip {player_scott} Frame 55
"EMPTY"Symbol 1559 MovieClip {player_scott} Frame 56
"IDLE"Symbol 1732 MovieClip {player_funnyman} Frame 1
"JUMP"Symbol 1732 MovieClip {player_funnyman} Frame 2
"RUN"Symbol 1732 MovieClip {player_funnyman} Frame 3
"FALL_F"Symbol 1732 MovieClip {player_funnyman} Frame 4
"FALL_B"Symbol 1732 MovieClip {player_funnyman} Frame 5
"KNOCKDOWN"Symbol 1732 MovieClip {player_funnyman} Frame 6
"KNEEL"Symbol 1732 MovieClip {player_funnyman} Frame 7
"COVER"Symbol 1732 MovieClip {player_funnyman} Frame 8
"SPRINT"Symbol 1732 MovieClip {player_funnyman} Frame 9
"ROLL"Symbol 1732 MovieClip {player_funnyman} Frame 10
"KICK"Symbol 1732 MovieClip {player_funnyman} Frame 11
"DIVE"Symbol 1732 MovieClip {player_funnyman} Frame 12
"PUNCH_01"Symbol 1732 MovieClip {player_funnyman} Frame 13
"PUNCH_02"Symbol 1732 MovieClip {player_funnyman} Frame 14
"PUNCH_03"Symbol 1732 MovieClip {player_funnyman} Frame 15
"MACHETE_01"Symbol 1732 MovieClip {player_funnyman} Frame 16
"MACHETE_02"Symbol 1732 MovieClip {player_funnyman} Frame 17
"MACHETE_03"Symbol 1732 MovieClip {player_funnyman} Frame 18
"AXE_01"Symbol 1732 MovieClip {player_funnyman} Frame 19
"AXE_02"Symbol 1732 MovieClip {player_funnyman} Frame 20
"AXE_03"Symbol 1732 MovieClip {player_funnyman} Frame 21
"SWORD_01"Symbol 1732 MovieClip {player_funnyman} Frame 22
"SWORD_02"Symbol 1732 MovieClip {player_funnyman} Frame 23
"SWORD_03"Symbol 1732 MovieClip {player_funnyman} Frame 24
"START_PISTOL"Symbol 1732 MovieClip {player_funnyman} Frame 25
"AIM_PISTOL"Symbol 1732 MovieClip {player_funnyman} Frame 26
"START_MAGNUM"Symbol 1732 MovieClip {player_funnyman} Frame 27
"AIM_MAGNUM"Symbol 1732 MovieClip {player_funnyman} Frame 28
"START_RIFLE"Symbol 1732 MovieClip {player_funnyman} Frame 29
"AIM_RIFLE"Symbol 1732 MovieClip {player_funnyman} Frame 30
"START_UZI"Symbol 1732 MovieClip {player_funnyman} Frame 31
"AIM_UZI"Symbol 1732 MovieClip {player_funnyman} Frame 32
"START_SHOTGUN"Symbol 1732 MovieClip {player_funnyman} Frame 33
"AIM_SHOTGUN"Symbol 1732 MovieClip {player_funnyman} Frame 34
"START_SNIPER"Symbol 1732 MovieClip {player_funnyman} Frame 35
"AIM_SNIPER"Symbol 1732 MovieClip {player_funnyman} Frame 36
"START_BAZOOKA"Symbol 1732 MovieClip {player_funnyman} Frame 37
"AIM_BAZOOKA"Symbol 1732 MovieClip {player_funnyman} Frame 38
"START_FLAMETHROWER"Symbol 1732 MovieClip {player_funnyman} Frame 39
"AIM_FLAMETHROWER"Symbol 1732 MovieClip {player_funnyman} Frame 40
"AIM_GRENADE"Symbol 1732 MovieClip {player_funnyman} Frame 41
"AIM_MOLOTOV"Symbol 1732 MovieClip {player_funnyman} Frame 42
"THROW"Symbol 1732 MovieClip {player_funnyman} Frame 43
"ROCKET_RIDE_R"Symbol 1732 MovieClip {player_funnyman} Frame 44
"ROCKET_RIDE_L"Symbol 1732 MovieClip {player_funnyman} Frame 46
"CLIMB"Symbol 1732 MovieClip {player_funnyman} Frame 47
"SLIDE"Symbol 1732 MovieClip {player_funnyman} Frame 48
"AIM_TURN"Symbol 1732 MovieClip {player_funnyman} Frame 49
"GRABBED"Symbol 1732 MovieClip {player_funnyman} Frame 50
"STUN_01"Symbol 1732 MovieClip {player_funnyman} Frame 51
"STUN_02"Symbol 1732 MovieClip {player_funnyman} Frame 52
"JUMPKICK"Symbol 1732 MovieClip {player_funnyman} Frame 53
"STAGGER"Symbol 1732 MovieClip {player_funnyman} Frame 54
"DEATH_KNEEL"Symbol 1732 MovieClip {player_funnyman} Frame 55
"EMPTY"Symbol 1732 MovieClip {player_funnyman} Frame 56
"IDLE"Symbol 1873 MovieClip {player_mac} Frame 1
"JUMP"Symbol 1873 MovieClip {player_mac} Frame 2
"RUN"Symbol 1873 MovieClip {player_mac} Frame 3
"FALL_F"Symbol 1873 MovieClip {player_mac} Frame 4
"FALL_B"Symbol 1873 MovieClip {player_mac} Frame 5
"KNOCKDOWN"Symbol 1873 MovieClip {player_mac} Frame 6
"KNEEL"Symbol 1873 MovieClip {player_mac} Frame 7
"COVER"Symbol 1873 MovieClip {player_mac} Frame 8
"SPRINT"Symbol 1873 MovieClip {player_mac} Frame 9
"ROLL"Symbol 1873 MovieClip {player_mac} Frame 10
"KICK"Symbol 1873 MovieClip {player_mac} Frame 11
"DIVE"Symbol 1873 MovieClip {player_mac} Frame 12
"PUNCH_01"Symbol 1873 MovieClip {player_mac} Frame 13
"PUNCH_02"Symbol 1873 MovieClip {player_mac} Frame 14
"PUNCH_03"Symbol 1873 MovieClip {player_mac} Frame 15
"MACHETE_01"Symbol 1873 MovieClip {player_mac} Frame 16
"MACHETE_02"Symbol 1873 MovieClip {player_mac} Frame 17
"MACHETE_03"Symbol 1873 MovieClip {player_mac} Frame 18
"AXE_01"Symbol 1873 MovieClip {player_mac} Frame 19
"AXE_02"Symbol 1873 MovieClip {player_mac} Frame 20
"AXE_03"Symbol 1873 MovieClip {player_mac} Frame 21
"SWORD_01"Symbol 1873 MovieClip {player_mac} Frame 22
"SWORD_02"Symbol 1873 MovieClip {player_mac} Frame 23
"SWORD_03"Symbol 1873 MovieClip {player_mac} Frame 24
"START_PISTOL"Symbol 1873 MovieClip {player_mac} Frame 25
"AIM_PISTOL"Symbol 1873 MovieClip {player_mac} Frame 26
"START_MAGNUM"Symbol 1873 MovieClip {player_mac} Frame 27
"AIM_MAGNUM"Symbol 1873 MovieClip {player_mac} Frame 28
"START_RIFLE"Symbol 1873 MovieClip {player_mac} Frame 29
"AIM_RIFLE"Symbol 1873 MovieClip {player_mac} Frame 30
"START_UZI"Symbol 1873 MovieClip {player_mac} Frame 31
"AIM_UZI"Symbol 1873 MovieClip {player_mac} Frame 32
"START_SHOTGUN"Symbol 1873 MovieClip {player_mac} Frame 33
"AIM_SHOTGUN"Symbol 1873 MovieClip {player_mac} Frame 34
"START_SNIPER"Symbol 1873 MovieClip {player_mac} Frame 35
"AIM_SNIPER"Symbol 1873 MovieClip {player_mac} Frame 36
"START_BAZOOKA"Symbol 1873 MovieClip {player_mac} Frame 37
"AIM_BAZOOKA"Symbol 1873 MovieClip {player_mac} Frame 38
"START_FLAMETHROWER"Symbol 1873 MovieClip {player_mac} Frame 39
"AIM_FLAMETHROWER"Symbol 1873 MovieClip {player_mac} Frame 40
"AIM_GRENADE"Symbol 1873 MovieClip {player_mac} Frame 41
"AIM_MOLOTOV"Symbol 1873 MovieClip {player_mac} Frame 42
"THROW"Symbol 1873 MovieClip {player_mac} Frame 43
"ROCKET_RIDE_R"Symbol 1873 MovieClip {player_mac} Frame 44
"ROCKET_RIDE_L"Symbol 1873 MovieClip {player_mac} Frame 46
"CLIMB"Symbol 1873 MovieClip {player_mac} Frame 47
"SLIDE"Symbol 1873 MovieClip {player_mac} Frame 48
"AIM_TURN"Symbol 1873 MovieClip {player_mac} Frame 49
"GRABBED"Symbol 1873 MovieClip {player_mac} Frame 50
"STUN_01"Symbol 1873 MovieClip {player_mac} Frame 51
"STUN_02"Symbol 1873 MovieClip {player_mac} Frame 52
"JUMPKICK"Symbol 1873 MovieClip {player_mac} Frame 53
"STAGGER"Symbol 1873 MovieClip {player_mac} Frame 54
"DEATH_KNEEL"Symbol 1873 MovieClip {player_mac} Frame 55
"EMPTY"Symbol 1873 MovieClip {player_mac} Frame 56
"IDLE"Symbol 2014 MovieClip {player_jeff} Frame 1
"JUMP"Symbol 2014 MovieClip {player_jeff} Frame 2
"RUN"Symbol 2014 MovieClip {player_jeff} Frame 3
"FALL_F"Symbol 2014 MovieClip {player_jeff} Frame 4
"FALL_B"Symbol 2014 MovieClip {player_jeff} Frame 5
"KNOCKDOWN"Symbol 2014 MovieClip {player_jeff} Frame 6
"KNEEL"Symbol 2014 MovieClip {player_jeff} Frame 7
"COVER"Symbol 2014 MovieClip {player_jeff} Frame 8
"SPRINT"Symbol 2014 MovieClip {player_jeff} Frame 9
"ROLL"Symbol 2014 MovieClip {player_jeff} Frame 10
"KICK"Symbol 2014 MovieClip {player_jeff} Frame 11
"DIVE"Symbol 2014 MovieClip {player_jeff} Frame 12
"PUNCH_01"Symbol 2014 MovieClip {player_jeff} Frame 13
"PUNCH_02"Symbol 2014 MovieClip {player_jeff} Frame 14
"PUNCH_03"Symbol 2014 MovieClip {player_jeff} Frame 15
"MACHETE_01"Symbol 2014 MovieClip {player_jeff} Frame 16
"MACHETE_02"Symbol 2014 MovieClip {player_jeff} Frame 17
"MACHETE_03"Symbol 2014 MovieClip {player_jeff} Frame 18
"AXE_01"Symbol 2014 MovieClip {player_jeff} Frame 19
"AXE_02"Symbol 2014 MovieClip {player_jeff} Frame 20
"AXE_03"Symbol 2014 MovieClip {player_jeff} Frame 21
"SWORD_01"Symbol 2014 MovieClip {player_jeff} Frame 22
"SWORD_02"Symbol 2014 MovieClip {player_jeff} Frame 23
"SWORD_03"Symbol 2014 MovieClip {player_jeff} Frame 24
"START_PISTOL"Symbol 2014 MovieClip {player_jeff} Frame 25
"AIM_PISTOL"Symbol 2014 MovieClip {player_jeff} Frame 26
"START_MAGNUM"Symbol 2014 MovieClip {player_jeff} Frame 27
"AIM_MAGNUM"Symbol 2014 MovieClip {player_jeff} Frame 28
"START_RIFLE"Symbol 2014 MovieClip {player_jeff} Frame 29
"AIM_RIFLE"Symbol 2014 MovieClip {player_jeff} Frame 30
"START_UZI"Symbol 2014 MovieClip {player_jeff} Frame 31
"AIM_UZI"Symbol 2014 MovieClip {player_jeff} Frame 32
"START_SHOTGUN"Symbol 2014 MovieClip {player_jeff} Frame 33
"AIM_SHOTGUN"Symbol 2014 MovieClip {player_jeff} Frame 34
"START_SNIPER"Symbol 2014 MovieClip {player_jeff} Frame 35
"AIM_SNIPER"Symbol 2014 MovieClip {player_jeff} Frame 36
"START_BAZOOKA"Symbol 2014 MovieClip {player_jeff} Frame 37
"AIM_BAZOOKA"Symbol 2014 MovieClip {player_jeff} Frame 38
"START_FLAMETHROWER"Symbol 2014 MovieClip {player_jeff} Frame 39
"AIM_FLAMETHROWER"Symbol 2014 MovieClip {player_jeff} Frame 40
"AIM_GRENADE"Symbol 2014 MovieClip {player_jeff} Frame 41
"AIM_MOLOTOV"Symbol 2014 MovieClip {player_jeff} Frame 42
"THROW"Symbol 2014 MovieClip {player_jeff} Frame 43
"ROCKET_RIDE_R"Symbol 2014 MovieClip {player_jeff} Frame 44
"ROCKET_RIDE_L"Symbol 2014 MovieClip {player_jeff} Frame 46
"CLIMB"Symbol 2014 MovieClip {player_jeff} Frame 47
"SLIDE"Symbol 2014 MovieClip {player_jeff} Frame 48
"AIM_TURN"Symbol 2014 MovieClip {player_jeff} Frame 49
"GRABBED"Symbol 2014 MovieClip {player_jeff} Frame 50
"STUN_01"Symbol 2014 MovieClip {player_jeff} Frame 51
"STUN_02"Symbol 2014 MovieClip {player_jeff} Frame 52
"JUMPKICK"Symbol 2014 MovieClip {player_jeff} Frame 53
"STAGGER"Symbol 2014 MovieClip {player_jeff} Frame 54
"DEATH_KNEEL"Symbol 2014 MovieClip {player_jeff} Frame 55
"EMPTY"Symbol 2014 MovieClip {player_jeff} Frame 56
"SOLO"Symbol 2075 MovieClip {Superfighters_fla.toggle_team_785} Frame 5
"RANDOM"Symbol 2092 MovieClip {Superfighters_fla.toggle_character_name_786} Frame 15
"RANDOM"Symbol 2097 MovieClip {Superfighters_fla.toggle_character_pic_787} Frame 15
"COM"Symbol 2104 MovieClip {Superfighters_fla.toggle_player_type_788} Frame 3
"AXE"Symbol 2337 MovieClip Frame 1
"BAZOOKA"Symbol 2337 MovieClip Frame 2
"FLAMETHROWER"Symbol 2337 MovieClip Frame 3
"GRENADE"Symbol 2337 MovieClip Frame 4
"MACHETE"Symbol 2337 MovieClip Frame 5
"MAGNUM"Symbol 2337 MovieClip Frame 6
"MOLOTOV"Symbol 2337 MovieClip Frame 7
"PISTOL"Symbol 2337 MovieClip Frame 8
"RIFLE"Symbol 2337 MovieClip Frame 9
"SHOTGUN"Symbol 2337 MovieClip Frame 10
"SNIPER"Symbol 2337 MovieClip Frame 11
"SWORD"Symbol 2337 MovieClip Frame 12
"UZI"Symbol 2337 MovieClip Frame 13
"EMPTY"Symbol 2337 MovieClip Frame 14
"SLOMO05"Symbol 2337 MovieClip Frame 15
"SLOMO10"Symbol 2337 MovieClip Frame 16
"FISTS"Symbol 2337 MovieClip Frame 17
"PLAYER_1"Symbol 2390 MovieClip {round_winner} Frame 5
"PLAYER_2"Symbol 2390 MovieClip {round_winner} Frame 6
"COM"Symbol 2390 MovieClip {round_winner} Frame 7
"DRAW"Symbol 2390 MovieClip {round_winner} Frame 8




http://swfchan.com/20/96849/info.shtml
Created: 20/3 -2019 12:21:24 Last modified: 20/3 -2019 12:21:24 Server time: 25/04 -2024 11:10:23