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

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

575163_Superfighters202c.swf

This is the info page for
Flash #208165

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


Text
Medal Popup
Place this clip on the root of your movie,
spanning any frames where medals are
called. (this clip is hidden)

MEDAL GET!

100pts

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

v 1.3

<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

BACKSTREETS

TESTING FLOOR

RANDOM

TESTING FLOOR

FIRST

TO

3

5

10

BEST OF

1

SURVIVAL

LEVEL PIC

DELETE PROGRESS

Finishing all challenges unlocks a new player skin.

New player skin unlocked!

CONGRATULATIONS!
STAGE MODE COMPLETED
NEW PLAYER SKIN UNLOCKED

FUNNYMAN

- PRESS SPACE BAR -

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>

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

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

WAVE:

TIME:

PERSONAL BEST

SURVIVAL

PLAYER

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

NEW PERSONAL BEST!

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).
You can also bind sprint to a button in the
Set Up.

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! You can at any
time change the default keybindings in the
Set Up.
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 flash.display.*; import com.newgrounds.components.*; 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 flash.display.*; import com.newgrounds.components.*; 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 flash.display.*; import com.newgrounds.components.*; 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.Collision.*; import Code.Box2D.Common.*; 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 { 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.Dynamics.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; 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.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 { public class b2ShapeDef { public var isSensor:Boolean;// = false public var density:Number;// = 0 public var type:int;// = -1 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.Math.*; import Code.Box2D.Common.*; 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.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; 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.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; 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 { 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 = 0xFFFF; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = 0xFFFF; public static var b2_tableCapacity:int = 16384; 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.Math.*; import Code.Box2D.Common.*; 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.*; 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.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Common.*; 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 { 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 { 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 { 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 { 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 = 0.0349065850398866; public static const b2_linearSlop:Number = 0.005; public static const b2_pi:Number = 3.14159265358979; 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 = 0.139626340159546; 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.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; 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.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; 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]; _local8.GetManifolds()[_local9].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.Dynamics.*; import Code.Box2D.Collision.*; 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.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Collision.*; 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]; _local6.points[_local18].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.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; 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.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; 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.Dynamics.*; import Code.Box2D.Common.*; 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.Dynamics.*; import Code.Box2D.Common.*; 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 { 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.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.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.Dynamics.*; import Code.Box2D.Common.*; 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.Math.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Common.*; 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.Dynamics.*; import Code.Box2D.Common.*; 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.Dynamics.*; import Code.Box2D.Common.*; 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.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.Contacts.*; 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.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.Common.Math.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.Contacts.*; 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.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Data.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.Contacts.*; 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.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Collision.*; import Code.Box2D.Dynamics.Contacts.*; 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.Shapes.*; import Code.Box2D.Common.Math.*; import flash.display.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.Contacts.*; 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.Collision.Shapes.*; import Code.Box2D.Dynamics.Joints.*; 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.Math.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.Contacts.*; 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]; m_bodies[_local5].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.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.Contacts.*; 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]; _local8.m_contacts[_local17].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.geom.*; import Code.Handler.*; import Code.Data.Players.*; import flash.display.*; 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 Code.Handler.*; import flash.display.*; 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.Handler.*; import flash.display.*; import Code.Data.*; import com.newgrounds.*; import flash.net.*; public class challenge_selection extends submenu_base { private var _skipChoiseOnce:Boolean;// = false 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; _skipChoiseOnce = false; super(); _this = _arg1; _this.win_message.visible = false; _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 SaveWinData():void{ var _local1:SharedObject; _local1 = SharedObject.getLocal("superfightersData_v1.0"); _local1.data.stageModeWinMessageShown = true; _local1.flush(); } 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++; }; if (_nextChallenge == 0){ if (_local1.data.stageModeWinMessageShown == undefined){ _this.win_message.visible = true; _canReturn = false; _skipChoiseOnce = true; SaveWinData(); }; }; } public function SaveData():void{ var _local1:SharedObject; _local1 = SharedObject.getLocal("superfightersData_v1.0"); _local1.data.stageLevelsFinished = _stageLevelsFinished; _local1.flush(); } 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(); if (_nextChallenge == 0){ API.unlockMedal("Superfighter"); }; } override public function KeyPressed(_arg1:int):void{ if (!_this.win_message.visible){ 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(); } else { if ((((_arg1 == MenuKey.KEY_ENTER)) || ((_arg1 == MenuKey.KEY_BACKSPACE)))){ _this.win_message.visible = false; _canReturn = true; }; }; } public function get SelectedChallenge():int{ return (_marker_pos); } override public function GetChoice():String{ if (_skipChoiseOnce){ _skipChoiseOnce = false; } else { 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 Code.Handler.*; import flash.display.*; 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 Code.Handler.*; import flash.display.*; 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 Code.Handler.*; import flash.display.*; public class map_selection extends submenu_base { private var _mode:int; public var Mode:int;// = 1 public var Level:int; public function map_selection(_arg1:MovieClip, _arg2:Sounds, _arg3:int):void{ Level = Maps.RANDOM_MAP; Mode = 1; super(); _mode = _arg3; _this = _arg1; _canReturn = true; _Handler_Sounds = _arg2; _canReturn = true; if (_mode == 0){ _this.gotoAndStop(1); } else { if (_mode == 2){ _this.gotoAndStop(2); Level = 10; }; }; 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); if (_mode == 0){ _this.game_mode.gotoAndStop(Mode); } else { if (_mode == 2){ _this.game_mode.gotoAndStop(10); }; }; } 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{ if (_mode == 0){ Level = (Level + _arg1); if (Level > Maps.TOTAL_MAPS){ Level = 2; }; if (Level < 2){ Level = Maps.TOTAL_MAPS; }; } else { if (_mode == 2){ Level = (Level + _arg1); if ((Level - 9) > Maps.TOTAL_SURVIVAL_MAPS){ Level = 10; }; if ((Level - 9) < 1){ Level = (9 + Maps.TOTAL_SURVIVAL_MAPS); }; }; }; } override public function KeyPressed(_arg1:int):void{ switch (_arg1){ case MenuKey.KEY_UP: _marker_pos--; if ((((_mode == 2)) && ((_marker_pos == 2)))){ _marker_pos--; }; if (_marker_pos < 0){ _marker_pos = 3; }; break; case MenuKey.KEY_DOWN: _marker_pos++; if ((((_mode == 2)) && ((_marker_pos == 2)))){ _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){ if (_mode == 0){ return ("fight"); }; if (_mode == 2){ return ("start_survival"); }; } else { 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 Code.Handler.*; import flash.display.*; public class mode_selection extends submenu_base { public function mode_selection(_arg1:MovieClip, _arg2:Sounds):void{ _this = _arg1; _total_markers = 3; _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"); case 2: return ("survival_mode"); }; return (""); } } }//package Code.Data.Menu
Section 88
//no_bots (Code.Data.Menu.no_bots) package Code.Data.Menu { import Code.Handler.*; import flash.display.*; 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.geom.*; import Code.Handler.*; import Code.Data.Players.*; import flash.display.*; 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.events.*; import Code.Handler.*; import Code.Data.Players.*; import flash.display.*; import flash.utils.*; 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.events.*; import Code.Handler.*; import flash.display.*; 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 Code.Handler.*; import flash.display.*; 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 Code.Handler.*; import flash.display.*; 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)) || ((_mode == 2)))){ _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"); }; if (((_all_plates_set) && ((_mode == 2)))){ return ("start_survival"); }; 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.geom.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Handler.*; import Code.Data.Weapons.*; import flash.display.*; import Code.Data.*; import flash.utils.*; import fl.motion.*; import Code.Particles.*; 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; public var CameraFocus:Boolean;// = true 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 _despawnTimer:int;// = 96 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 _static_mc:MovieClip; private var _Handler_Shake:Shake; 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; _despawnTimer = (24 * 4); CameraFocus = true; _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(); } else { if (((!(_activated)) && (!(_bot)))){ _PlayerState.ShowFlashEffect = true; }; }; }; 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, _arg4:Boolean=true):void{ if (!_arg4){ if (_PlayerState.GrabbedPlayer){ if (!_players[_PlayerState.GrabbedPlayerNr].Bot){ DropGrabbedPlayer(); }; }; }; _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.8){ return; }; }; if (_BotState.Difficulty == BotState.MEDIUM){ if (Math.random() < 0.6){ return; }; }; if (_BotState.Difficulty == BotState.HARD){ if (Math.random() < 0.3){ 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 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 Remove():void{ Disarm(); CancelAFS(); IgnorePlayer(); _PlayerState.CameraIgnoreTimer = 0; _PlayerState.Gone = true; if (_PlayerAnimation.UseGUI){ _char_gui.visible = false; _blood_gui.visible = false; _gui_mc.gib_pic.alpha = 1; }; _PlayerState.BurnState = 0; } public function get PortalSpeedX():Number{ return (_PlayerState.PortalSpeedX); } public function get State():PlayerState{ return (_PlayerState); } 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 PosX():Number{ return (this.x); } 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(); _local2.GetLinearVelocity().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){ if (_despawnTimer > 0){ _despawnTimer = (_despawnTimer - 1); }; if (!_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 (!_PlayerAnimation.UseGUI){ return; }; 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)); new b2Vec2(MidPosX(), (MidPosY() - 8)).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{ if (!CameraFocus){ return (true); }; 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 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 SwapDepths(_arg1:int):void{ if (this.parent.getChildIndex(this) < _players[_arg1].parent.getChildIndex(_players[_arg1])){ this.parent.swapChildren(this, _players[_arg1]); }; } 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)))){ if (Math.random() < 0.9){ return; }; }; if (((_BotState.TargetPlayer.State.StuckToRocket) && ((_PlayerState.CurrentRangeWeapon.Properties.WeaponType == "BAZOOKA")))){ if ((((((_BotState.TargetPlayer.State.RocketRideProjectile.DirectionX < 0)) && ((MidPosX() > _BotState.TargetPlayer.MidPosX())))) || ((((_BotState.TargetPlayer.State.RocketRideProjectile.DirectionX > 0)) && ((MidPosX() < _BotState.TargetPlayer.MidPosX())))))){ return; }; }; }; if (_BotState.Difficulty == BotState.EASY){ if (Math.random() < 0.85){ return; }; }; if (_BotState.Difficulty == BotState.MEDIUM){ if (Math.random() < 0.75){ return; }; }; if (_BotState.Difficulty == BotState.HARD){ if (Math.random() < 0.5){ 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); } public function get CanDespawn():Boolean{ return ((_despawnTimer <= 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 = (16 * (Math.PI / 180)); _local8 = (_local5 * Math.tan(_local9)); if (_local8 > 22){ _local8 = 22; }; } else { if (_BotState.Difficulty == BotState.MEDIUM){ _local9 = (11 * (Math.PI / 180)); _local8 = (_local5 * Math.tan(_local9)); if (_local8 > 16){ _local8 = 16; }; } else { if (_BotState.Difficulty == BotState.HARD){ _local9 = (6 * (Math.PI / 180)); _local8 = (_local5 * Math.tan(_local9)); if (_local8 > 8){ _local8 = 8; }; }; }; }; _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()){ _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; if (_PlayerAnimation.UseGUI){ _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); } public function set ShowBars(_arg1:Boolean):void{ if (_arg1){ _PlayerBars.Show(); } else { _PlayerBars.Hide(); }; } 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()); new b2Vec2((MidPosX() + ((_PlayerState.PlayerEdgeDistance + 2) * _local9)), MidPosY()).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()); new b2Vec2((MidPosX() + (6 * _PlayerState.LastDirX)), MidPosY()).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; if (_PlayerAnimation.UseGUI){ _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 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 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 NoGUI():void{ _PlayerAnimation.UseGUI = false; } 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); } public function UpdateGUI():void{ if (!_PlayerAnimation.UseGUI){ return; }; _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); }; } 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; _local3.GetUserData().objectData.MC.shine.gotoAndStop("EMPTY"); _local3.GetUserData().objectData.MC.shine.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 Code.Handler.*; import flash.display.*; 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; public var UseGUI:Boolean;// = true 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; UseGUI = true; 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; if (UseGUI){ _blood_gui.visible = _PlayerState.BloodVisible; }; if (_PlayerState.IsImmune){ _next_blink_timer = (_next_blink_timer - 1); if (_next_blink_timer <= 0){ _this.alpha = 0.2; if (UseGUI){ _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; if (UseGUI){ _this_gui.alpha = 1; }; }; } else { _this.alpha = 1; if (UseGUI){ _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"); if (UseGUI){ _this_gui.gotoAndStop("IDLE"); _blood_gui.gotoAndStop("IDLE"); }; _collision_mc.gotoAndStop("IDLE"); _blood.gotoAndStop("IDLE"); }; _this.gotoAndStop(_arg1.toUpperCase()); if (UseGUI){ _this_gui.gotoAndStop(_arg1.toUpperCase()); _blood_gui.gotoAndStop(_arg1.toUpperCase()); }; _collision_mc.gotoAndStop(_arg1.toUpperCase()); _blood.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{ if (!UseGUI){ return; }; _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; if (UseGUI){ _this_gui.ANIM.rotation = _PlayerState.RocketRideProjectile.Angle; _blood_gui.ANIM.rotation = _PlayerState.RocketRideProjectile.Angle; }; _collision_mc.ANIM.rotation = _PlayerState.RocketRideProjectile.Angle; _blood.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; if (UseGUI){ _this_gui.ANIM_WPN.rotation = _PlayerState.CurrentAimPitch; _blood_gui.ANIM_WPN.rotation = _PlayerState.CurrentAimPitch; }; _collision_mc.ANIM_WPN.rotation = _PlayerState.CurrentAimPitch; _blood.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); if (UseGUI){ _this_gui.ANIM_WPN.gotoAndStop(_local2); _blood_gui.ANIM_WPN.gotoAndStop(_local2); }; _collision_mc.ANIM_WPN.gotoAndStop(_local2); _blood.ANIM_WPN.gotoAndStop(_local2); return; } else { if ((((_current_animation == "CLIMB")) && (!(_PlayerState.ClimbingAround)))){ _local2 = Math.floor(_current_frame); _this.ANIM.gotoAndStop(_local2); if (UseGUI){ _this_gui.ANIM.gotoAndStop(_local2); _blood_gui.ANIM.gotoAndStop(_local2); }; _collision_mc.ANIM.gotoAndStop(_local2); _blood.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; if (UseGUI){ _local7 = _blood_gui.ANIM.HELPMC; _local6 = _this_gui.ANIM.HELPMC; }; _local3.rotation = (_local3.rotation + (_rotate_speed * _arg1)); _local4.rotation = _local3.rotation; _local5.rotation = _local3.rotation; if (UseGUI){ _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; if (UseGUI){ _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); if (UseGUI){ _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.geom.*; import flash.display.*; 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 _player_sign_text:Boolean;// = false 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; _player_sign_text = false; 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; } 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); if (_player_sign_text){ _player_sign.scaleX = (_local4 * 1.3); _player_sign.scaleY = (_local4 * 1.3); } else { _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; } 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); _player_sign_text = false; break; case PLAYER_1: _player_sign.gotoAndStop(1); _gui_mc.sign.gotoAndStop(1); _player_sign_text = true; break; case PLAYER_2: _player_sign.gotoAndStop(2); _gui_mc.sign.gotoAndStop(2); _player_sign_text = true; break; }; _gui_mc.sign.transform.colorTransform = _player_sign.transform.colorTransform; } 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.geom.*; import flash.display.*; import fl.motion.*; import flash.net.*; public class PlayerCharacter { public static const RANDOM:int = 0; public static const BORIS:int = 2; public static const FUNNYMAN:int = 6; public static const JOHNNY:int = 1; public static const BRIGHTNESS:Number = 0.05; public static const AGENT:int = 3; public static const MAC:int = 7; public static const BILLY:int = 4; public static const TOTAL_CHARACTERS:int = 8; public static const JEFF:int = 8; public static const SCOTT:int = 5; 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); } public static function GetRandomCharacter():int{ var _local1:int; _local1 = Math.floor((1 + (Math.random() * (PlayerCharacter.TOTAL_CHARACTERS - 0.001)))); while (_local1 == FUNNYMAN) { _local1 = Math.floor((1 + (Math.random() * (PlayerCharacter.TOTAL_CHARACTERS - 0.001)))); }; return (_local1); } public static function Get(_arg1:int):MovieClip{ var _local2:MovieClip; var _local3:Color; var _local4: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(); _local4 = _local2.transform.colorTransform; _local4.color = 0; _local4.alphaMultiplier = 0.5; _local2.transform.colorTransform = _local4; break; }; _local3 = new Color(); _local3.brightness = BRIGHTNESS; _local2.transform.colorTransform = _local3; return (_local2); } } }//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 Code.Handler.*; import Code.Data.Weapons.*; import flash.display.*; 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.Box2D.Dynamics.*; import Code.Data.Weapons.*; 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 Code.Box2D.Dynamics.*; import Code.Handler.*; import flash.display.*; 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 Code.Handler.*; import flash.display.*; 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.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Handler.*; import Code.Data.Players.*; import flash.display.*; import Code.Particles.*; 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 Code.Handler.*; import flash.display.*; 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 isSurvival:Boolean; 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 pSetupData:PlayerSetupData; public var gameScale:Number; public var gameMode:int; } }//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 _allowPlayers:Boolean;// = true 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; _allowPlayers = true; super(); _portal = _arg1; _targetPortal = _arg2; _triggerVelocity = _arg3; _inverseX = _arg4; _inverseY = _arg5; } public function get InverseX():Boolean{ return (_inverseX); } public function get AllowPlayers():Boolean{ return (_allowPlayers); } public function GetSideOfPortal(_arg1:int):Number{ if (_arg1 == -1){ return (_portal.x); }; return ((_portal.x + _portal.width)); } 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 set AllowPlayers(_arg1:Boolean):void{ _allowPlayers = _arg1; } 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 Code.Data.Players.*; import flash.display.*; 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 flash.geom.*; import Code.Data.Players.*; import flash.display.*; 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.Common.Math.*; import Code.Box2D.Dynamics.*; 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
//SurvivalTimePackage (Code.Data.SurvivalTimePackage) package Code.Data { public class SurvivalTimePackage { public var totalMins:int; public var totalSecs:int; public var wave:int; public var totalParts:int; } }//package Code.Data
Section 140
//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 skipThisOnce:Boolean; 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; skipThisOnce = false; } public function get SkipThisOnce():Boolean{ if (skipThisOnce){ skipThisOnce = false; return (true); }; return (false); } public function Update(_arg1:Number):void{ if (linkedWeapon != null){ if (linkedWeapon.GetUserData().objectData.HP <= 0){ linkedWeapon = null; weaponDespawnTimer = 0; skipThisOnce = true; } else { 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 141
//BasicOverlays (Code.Handler.BasicOverlays) package Code.Handler { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import flash.display.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; 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 142
//Box2DMouse (Code.Handler.Box2DMouse) package Code.Handler { import flash.geom.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.*; import flash.display.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.Contacts.*; 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 = (_local4[_local7] as b2Shape).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 143
//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 144
//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 _debug:Boolean; 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, _arg2:Boolean){ _curr_menu = 0; _menu = new Array([["Spawn Object", function (){ _curr_menu = 4; PrintMenu(); }], ["Spawn Weapon", function (){ _curr_menu = 1; PrintMenu(); }], ["Trigger Explosion", function (){ _Handler_Sounds.PlaySoundAt_Box2DScale("barrel_explosion", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys()); _Handler_Explosions.TriggerExplosionAt_Box2DScale("", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys()); }], ["Trigger Fire", function (){ _Handler_Sounds.PlaySoundAt_Box2DScale("fireburst", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys()); _Handler_Fires.TriggerFireAt_Box2DScale("", _Handler_Box2DMouse.GetMouseXWorldPhys(), _Handler_Box2DMouse.GetMouseYWorldPhys()); }], ["Destroy Object", function (){ _Handler_Box2DMouse.MouseDestroy(); }]], [["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; _debug = _arg2; } 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; if (_debug){ _Handler_Keyboard.AddHandler(16, ShowList, HideList); _local10 = 49; while (_local10 < 58) { _Handler_Keyboard.AddHandler(_local10, CallMethod); _local10++; }; }; } } }//package Code.Handler
Section 145
//Deconstructer (Code.Handler.Deconstructer) package Code.Handler { import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.Contacts.*; 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 146
//Effects (Code.Handler.Effects) package Code.Handler { import flash.display.*; import Code.Particles.*; 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 147
//Explosions (Code.Handler.Explosions) package Code.Handler { import flash.geom.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import flash.display.*; import Code.Data.*; 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 148
//Fires (Code.Handler.Fires) package Code.Handler { import flash.geom.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import flash.display.*; import Code.Data.*; import flash.utils.*; 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 149
//GameMain (Code.Handler.GameMain) package Code.Handler { import flash.geom.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.*; import flash.events.*; import Code.Data.Weapons.*; import Code.Data.Players.*; import flash.display.*; import Code.Data.*; import Code.Box2D.Collision.*; import Code.Box2D.Common.*; import Code.Box2D.Dynamics.Contacts.*; import Code.Particles.*; import flash.ui.*; import flash.net.*; import flash.filters.*; public class GameMain { private var _roundOver:Boolean; private var _ContactData:ContactData; 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 _scoreSurvival:ScoreboardSurvival; private var _Handler_Explosions:Explosions; private var _Handler_Output:OutputTrace; private var _Handler_BasicOverlays:BasicOverlays; private var _stage; public static var DEBUG_MODE:Boolean = false; 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, DEBUG_MODE); _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; } private function ShowStatic():void{ _dynamic_mc.alpha = 0.2; _object_shape_container_mc.visible = true; _static_mc.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 p2: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); _countdownOver = true; _bgNoise = null; if (gameData.isSurvival){ _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); _scoreSurvival = new ScoreboardSurvival(_game_mc); p = 0; while (p < _Handler_Players.Players.length) { _scoreSurvival.AddPlayerToScore(_Handler_Players.Players[p]); p = (p + 1); }; _scoreSurvival.Build(); gui_holder_mc.addChild(_scoreSurvival.MC); _scoreSurvival.Hide(); } else { 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); if (_prevGameData.newScore){ _prevGameData.newScore = false; _score = new Scoreboard(_game_mc, _prevGameData.gameMode); p2 = 0; while (p2 < _Handler_Players.Players.length) { _score.AddPlayerToScore(_Handler_Players.Players[p2]); p2 = (p2 + 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 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.isSurvival){ if (!_gameModeWinnerShown){ _Handler_Keyboard.RemoveHandler(Keyboard.TAB); TabPressed(); _gameModeWinnerShown = true; _Handler_Sounds.PlaySound("GROOVY", 0, 0); } else { BackToMainMenu(); }; } else { 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; if (_prevGameData.isSurvival){ _scoreSurvival.Hide(); } else { _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_Players.SetStartImmunity(); _Handler_Keyboard.AddHandler(Keyboard.TAB, TabPressed, TabReleased); }; }; }; }; }; if (DEBUG_MODE){ _Handler_Box2DMouse.UpdateMouseWorld(new Point(((_dynamic_mc.x * _prevGameData.gameScale) + _prevGameData.gamePosX), ((_dynamic_mc.y * _prevGameData.gameScale) + _prevGameData.gamePosY)), (_dynamic_mc.scaleX * _prevGameData.gameScale), m_timeStep); _Handler_Box2DMouse.MouseDrag(); }; _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 (DEBUG_MODE){ if (_Handler_Keyboard.KeyIsDown(16)){ _Handler_Commands.PrintMenu(); }; }; if (((_Handler_Players.RoundOver) && (!(_roundOver)))){ if (((_prevGameData.isTutorial) || (_prevGameData.isSurvival))){ if (_Handler_Maps.MapOver){ _roundOver = true; if (_prevGameData.isSurvival){ ShowSpaceIndication(); }; }; 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; if (_prevGameData.isSurvival){ _scoreSurvival.Update(_Handler_Maps.SurvivalTime); _scoreSurvival.Show(); } else { _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 150
//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 151
//InputMouse (Code.Handler.InputMouse) package Code.Handler { import flash.geom.*; import flash.events.*; 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 152
//MapPremadeItems (Code.Handler.MapPremadeItems) package Code.Handler { import flash.geom.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.*; import Code.Data.Players.*; import flash.display.*; import Code.Data.*; import Code.Box2D.Collision.*; import Code.Box2D.Dynamics.Contacts.*; import fl.motion.*; 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 color:Color; 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); color = new Color(); color.brightness = PlayerCharacter.BRIGHTNESS; bodyDef.userData.transform.colorTransform = color; 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 (_local8[_local9].toUpperCase().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 153
//Maps (Code.Handler.Maps) package Code.Handler { import flash.geom.*; import Code.Box2D.Collision.Shapes.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.Joints.*; import Code.Box2D.Dynamics.*; import Code.Data.Weapons.*; import Code.Data.Players.*; import flash.display.*; import Code.Data.*; import Code.Box2D.Collision.*; import Code.Particles.*; public class Maps { public var MapStart:Function; private var _static_mc:MovieClip; private var mapArea:Rectangle; private var pathGrid:PathGrid; private var _Handler_Effects:Effects; private var _mapStartTimer:int;// = 2 private var playerSpawns:Array; private var portals:Array; public var Handler_WorldItems:MapPremadeItems; public var MapUpdate:Function; private var m_contactListener:b2ContactListener; private var weaponSpawns:Array; public var MapOver:Boolean;// = false private var _dynamic_mc:MovieClip; private var _Handler_Players:PlayersKeeper; private var _Handler_Sounds:Sounds; private var m_world:b2World; public var SurvivalTime:SurvivalTimePackage; private var _Handler_Weapons:Weapons; public var mapGraphic:MapGraphic; private var _Handler_Output:OutputTrace; public var MapEnd:Function; public static var RANDOM_MAP:int = 8; public static var TOTAL_MAPS:int = 8; public static var TOTAL_SURVIVAL_MAPS:int = 1; public function Maps(_arg1:OutputTrace):void{ SurvivalTime = new SurvivalTimePackage(); MapOver = false; _mapStartTimer = 2; super(); Handler_WorldItems = new MapPremadeItems(_arg1); _Handler_Output = _arg1; _Handler_Output.Trace("Maps Handler Created"); } private function GenerateMapBackstreets():void{ var stair:b2Body; var ramp1:b2Body; var ramp2:b2Body; var lamp4:b2Body; var lamp3:b2Body; var lamp2:b2Body; var lamp1:b2Body; var rope1:Rope; var rope2:Rope; var rope3:Rope; var rope4:Rope; var rope5:Rope; var rope6:Rope; var rope7:Rope; mapArea = new Rectangle(13, -114, 590, 442); playerSpawns = new Array(new Point(228, 195), new Point(309, 195), new Point(0x0202, 172), new Point(541, 99), new Point(414, 131), new Point(443, 172), new Point(268, 204), new Point(128, 113), new Point(89, 203), new Point(142, 185)); weaponSpawns = new Array(new WeaponSpawnData(126, 116, 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(268, 206, 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(414, 133, 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(541, 102, 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(443, 174, 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(149, 186, 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(53, 185, 20, 24), new Rectangle(34, 97, 19, 24), new Point(-1, 0), true, false), new PortalData(new Rectangle(34, 97, 19, 24), new Rectangle(53, 185, 20, 24), new Point(-1, 0), true, false)); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (517.5 / 30), (41 / 30), 0, (171 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (117 / 30), (31 / 30), 0, (182 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (30 / 30), (67 / 30), 0, (46 / 30), (60 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (20.5 / 30), (109 / 30), 0, (27 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (30 / 30), (165 / 30), 0, (46 / 30), (88 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (130.5 / 30), (127 / 30), 0, (155 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (201.5 / 30), (144 / 30), 0, (13 / 30), (22 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (63 / 30), (159 / 30), 0, (20 / 30), (52 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (53 / 30), (225 / 30), 0, (92 / 30), (32 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (168 / 30), (216 / 30), 0, (80 / 30), (50 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (268 / 30), (226 / 30), 0, (40 / 30), (30 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (374 / 30), (216 / 30), 0, (90 / 30), (50 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (502.5 / 30), (210 / 30), 0, (167 / 30), (62 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (572 / 30), (113 / 30), 0, (28 / 30), (132 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (539.5 / 30), (115.5 / 30), 0, (37 / 30), (17 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (334.5 / 30), (148 / 30), 0, (13 / 30), (20 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (334.5 / 30), (88 / 30), 0, (13 / 30), (22 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (386.5 / 30), (83 / 30), 0, (91 / 30), (12 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (438.5 / 30), (68 / 30), 0, (13 / 30), (42 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (357.5 / 30), (139 / 30), 0, (33 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (425.5 / 30), (139 / 30), 0, (77 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (513.5 / 30), (125.5 / 30), 0, (13 / 30), (57 / 30), new Array("LADDER")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (380.5 / 30), (145 / 30), 0, (13 / 30), (42 / 30), new Array("LADDER")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (201.5 / 30), (61 / 30), 0, (13 / 30), (48 / 30), new Array("NONE")); stair = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (115 / 30), (223 / 30), 0, new Array([(-16 / 30), (-14 / 30)], [(8 / 30), (-32 / 30)], [(13 / 30), (-32 / 30)], [(13 / 30), (18 / 30)], [(-16 / 30), (18 / 30)]), new Array("NONE")); stair.GetUserData().tiltValue = -2; ramp1 = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (228 / 30), (224 / 30), 0, new Array([(-20 / 30), (-33 / 30)], [(20 / 30), (-13 / 30)], [(20 / 30), (17 / 30)], [(-20 / 30), (17 / 30)]), new Array("NONE")); ramp1.GetUserData().tiltValue = 2; ramp2 = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (310 / 30), (223 / 30), 0, new Array([(-22 / 30), (-12 / 30)], [(19 / 30), (-32 / 30)], [(19 / 30), (18 / 30)], [(-22 / 30), (18 / 30)]), new Array("NONE")); ramp2.GetUserData().tiltValue = -2; Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (16 / 30), (31 / 30), 0, (20 / 30), (12 / 30), new Array("NONE")); if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("CRATE", (100 / 30), (114 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,BARREL,CRATE", (115 / 30), (114 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE,NONE", (113 / 30), (99 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE,NONE", (153 / 30), (114 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (168 / 30), (114 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (164 / 30), (99 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (101 / 30), (102.5 / 30), 0, new b2Vec2(), 0); } else { if (50 >= (Math.random() * 100)){ Handler_WorldItems.AddObject("COMP", (109 / 30), (103 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMP_SCREEN", (98 / 30), (103 / 30), 0, new b2Vec2(), 0); } else { Handler_WorldItems.AddObject("PAPER", (100 / 30), (104.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER", (111 / 30), (104.5 / 30), 0, new b2Vec2(), 0); }; Handler_WorldItems.AddObject("DESK_1", (103 / 30), (115 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("FILECAB,TABLE", (143 / 30), (114.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (145 / 30), (104 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("COMFY_CHAIR,CHAIR", (78 / 30), (113 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("FILECAB,TABLE", (179.5 / 30), (114.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (181 / 30), (104 / 30), 0, new b2Vec2(), 0); }; Handler_WorldItems.AddObject("CRATE", (441 / 30), (131 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (181 / 30), (184 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,CRATE,NONE", (166 / 30), (184 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("GASCAN,NONE,NONE", (93.5 / 30), (205.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE,BARREL", (361 / 30), (184 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE", (346 / 30), (184 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,CRATE,TABLE,NONE", (478 / 30), (172.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (551 / 30), (172 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (536 / 30), (172 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,BARREL_EXPLOSIVE,NONE", (551 / 30), (157 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,CRATE,NONE", (354.5 / 30), (131.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (372 / 30), (70 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (357 / 30), (70 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,BARREL", (424 / 30), (70 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (409 / 30), (70 / 30), 0, new b2Vec2(), 0); lamp4 = Handler_WorldItems.AddObject("LAMP_1", (177.5 / 30), (136.5 / 30), 0, new b2Vec2(), 0); lamp3 = Handler_WorldItems.AddObject("LAMP_1", (149 / 30), (136.5 / 30), 0, new b2Vec2(), 0); lamp2 = Handler_WorldItems.AddObject("LAMP_1", (120 / 30), (136.5 / 30), 0, new b2Vec2(), 0); lamp1 = Handler_WorldItems.AddObject("LAMP_1", (91 / 30), (136.5 / 30), 0, new b2Vec2(), 0); pathGrid.AddNode(new PathNode("", 541, 103, "", null)); pathGrid.AddNode(new PathNode("", 527, 103, "", null)); pathGrid.AddNode(new PathNode("", 553, 175, "", null)); pathGrid.AddNode(new PathNode("", 0x0202, 175, "", null)); pathGrid.AddNode(new PathNode("", 533, 175, "", null)); pathGrid.AddNode(new PathNode("", 490, 175, "", null)); pathGrid.AddNode(new PathNode("", 464, 175, "", null)); pathGrid.AddNode(new PathNode("", 443, 175, "", null)); pathGrid.AddNode(new PathNode("", 424, 175, "", null)); pathGrid.AddNode(new PathNode("", 403, 187, "", null)); pathGrid.AddNode(new PathNode("", 380, 187, "", null)); pathGrid.AddNode(new PathNode("", 393, 134, "", null)); pathGrid.AddNode(new PathNode("", 414, 134, "", null)); pathGrid.AddNode(new PathNode("", 435, 134, "", null)); pathGrid.AddNode(new PathNode("", 456, 134, "", null)); pathGrid.AddNode(new PathNode("", 368, 134, "", null)); pathGrid.AddNode(new PathNode("", 354, 134, "", null)); pathGrid.AddNode(new PathNode("", 339, 134, "", null)); pathGrid.AddNode(new PathNode("", 358, 187, "", null)); pathGrid.AddNode(new PathNode("", 336, 187, "", null)); pathGrid.AddNode(new PathNode("", 307, 197, "", null)); pathGrid.AddNode(new PathNode("", 284, 207, "", null)); pathGrid.AddNode(new PathNode("", 268, 207, "", null)); pathGrid.AddNode(new PathNode("", 252, 207, "", null)); pathGrid.AddNode(new PathNode("", 229, 197, "", null)); pathGrid.AddNode(new PathNode("", 201, 187, "", null)); pathGrid.AddNode(new PathNode("", 197, 117, "", null)); pathGrid.AddNode(new PathNode("", 172, 117, "", null)); pathGrid.AddNode(new PathNode("", 147, 117, "", null)); pathGrid.AddNode(new PathNode("", 126, 117, "", null)); pathGrid.AddNode(new PathNode("", 100, 117, "", null)); pathGrid.AddNode(new PathNode("", 78, 117, "", null)); pathGrid.AddNode(new PathNode("", 57, 117, "", null)); pathGrid.AddNode(new PathNode("", -3, 117, "", null)); pathGrid.AddNode(new PathNode("", 78, 205, "", null)); pathGrid.AddNode(new PathNode("", -3, 205, "", null)); pathGrid.AddNode(new PathNode("", 94, 205, "", null)); pathGrid.AddNode(new PathNode("", 111, 195, "", null)); pathGrid.AddNode(new PathNode("", 126, 187, "", null)); pathGrid.AddNode(new PathNode("", 149, 187, "", null)); pathGrid.AddNode(new PathNode("", 173, 187, "", null)); pathGrid.AddNode(new PathNode("", 554, 103, "", null)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[1], PathBind.STATIC, PathBind.LADDER)); 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[3], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[4], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], 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[10], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[8], PathBind.STATIC, PathBind.SPRINTJUMP)); 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[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], 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[1], pathGrid.Nodes[6], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[10], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[11], PathBind.STATIC, PathBind.LADDER)); 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[14], PathBind.STATIC, PathBind.ROAD)); 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[14], pathGrid.Nodes[5], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[11], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[15], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[10], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[15], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], 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[17], pathGrid.Nodes[16], 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[23], 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[18], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], 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[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[23], 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[17], pathGrid.Nodes[21], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[26], pathGrid.Nodes[23], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[35], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[35], pathGrid.Nodes[32], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[33], PathBind.STATIC, PathBind.PORTAL)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[34], 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[27], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[26], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[26], 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[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[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[36], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[36], PathBind.STATIC, PathBind.ROAD)); 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[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[25], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], 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[41], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[41], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[8], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[8], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[9], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[18], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[18], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[6], PathBind.STATIC, PathBind.CLOUDDOWN)); Handler_WorldItems.AddGlass(new Point((330 / 30), (100 / 30)), new Point((330 / 30), (140 / 30))); Handler_WorldItems.AddGlass(new Point((205 / 30), (122 / 30)), new Point((205 / 30), (84 / 30))); rope1 = Handler_WorldItems.AddHangingLamp(new Point(77, 37), 25); rope2 = Handler_WorldItems.AddHangingLamp(new Point(108, 37), 25); rope3 = Handler_WorldItems.AddHangingLamp(new Point(140, 37), 25); rope4 = Handler_WorldItems.AddHangingLamp(new Point(172, 37), 25); rope5 = Handler_WorldItems.AddHangingLamp(new Point(466, 47), 20); rope6 = Handler_WorldItems.AddHangingLamp(new Point(498, 47), 20); rope7 = Handler_WorldItems.AddHangingLamp(new Point(531, 47), 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); MapStart = function ():void{ mapGraphic.AddMC(GetLevelMC("fan_1")); mapGraphic.AddMC(GetLevelMC("fan_2")); mapGraphic.AddMC(GetLevelMC("fan_3")); }; MapUpdate = function (_arg1:Number):void{ rope1.UpdateMC(); rope2.UpdateMC(); rope3.UpdateMC(); rope4.UpdateMC(); rope5.UpdateMC(); rope6.UpdateMC(); rope7.UpdateMC(); }; } private function GenerateMapTestingFloor():void{ var stairL:b2Body; var stairR:b2Body; var hatch_left:b2Body; var hatch_right:b2Body; var rope1:Rope; var rope2:Rope; var rope3:Rope; var rope4:Rope; var rope5:Rope; var rope6:Rope; var rope7:Rope; var layer_mc:MovieClip; var btn_01:b2Body; var btn_02:b2Body; mapArea = new Rectangle(3.5, -62, 660, 494); playerSpawns = new Array(new Point(297, 204), new Point(345, 205), new Point(298, 158), new Point(344, 159), new Point(213, 221), new Point(426, 221), new Point(544, 244), new Point(94, 243), new Point(83, 177), new Point(554, 179), new Point(469, 135), new Point(169, 136), new Point(501, 178), new Point(138, 178)); weaponSpawns = new Array(new WeaponSpawnData(169, 140, 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, 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)), new WeaponSpawnData(469, 140, 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(543, 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)), new WeaponSpawnData(94, 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))); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (90 / 30), (42.5 / 30), 0, (178 / 30), (83 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (320.5 / 30), (42 / 30), 0, (149 / 30), (82 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (592 / 30), (42 / 30), 0, (260 / 30), (82 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (212 / 30), (-14 / 30), 0, (139 / 30), (38 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (428 / 30), (-13 / 30), 0, (123 / 30), (35 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (663 / 30), (137 / 30), 0, (118 / 30), (108 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (683 / 30), (221 / 30), 0, (78 / 30), (60 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (587.5 / 30), (263 / 30), 0, (269 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (0.5 / 30), (137.5 / 30), 0, (71 / 30), (107 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (72.5 / 30), (263 / 30), 0, (232 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-24 / 30), (221 / 30), 0, (39 / 30), (60 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (320 / 30), (243.5 / 30), 0, (150 / 30), (63 / 30), new Array("NONE")); stairL = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (217 / 30), (254 / 30), 0, new Array([(-29 / 30), (-3 / 30)], [(23 / 30), (-42 / 30)], [(28 / 30), (-42 / 30)], [(28 / 30), (21 / 30)], [(-29 / 30), (21 / 30)]), new Array("NONE")); stairL.GetUserData().tiltValue = -2; stairR = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (422 / 30), (252 / 30), 0, new Array([(-22 / 30), (-40 / 30)], [(31 / 30), (-1 / 30)], [(31 / 30), (23 / 30)], [(-27 / 30), (23 / 30)], [(-27 / 30), (-40 / 30)]), new Array("NONE")); stairR.GetUserData().tiltValue = 2; Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (320.5 / 30), (169 / 30), 0, (93 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (320.5 / 30), (191 / 30), 0, (93 / 30), (2 / 30), new Array("CLOUD")); hatch_left = Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (212.5 / 30), (75.5 / 30), 0, (67 / 30), (13 / 30), new Array("NONE")); hatch_right = Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (428.5 / 30), (75.5 / 30), 0, (67 / 30), (13 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (624 / 30), (221 / 30), 0, (40 / 30), (60 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (15.5 / 30), (221 / 30), 0, (41 / 30), (60 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (137.5 / 30), (148 / 30), 0, (13 / 30), (28 / 30), new Array("LADDER")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (500.5 / 30), (148.5 / 30), 0, (13 / 30), (29 / 30), new Array("LADDER")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (170 / 30), (146 / 30), 0, (52 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (94.5 / 30), (186 / 30), 0, (117 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (94.5 / 30), (208 / 30), 0, (45 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (94.5 / 30), (230 / 30), 0, (45 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (543.5 / 30), (230 / 30), 0, (45 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (543.5 / 30), (208 / 30), 0, (45 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (545.5 / 30), (186 / 30), 0, (117 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (468 / 30), (146 / 30), 0, (52 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (339 / 30), (300 / 30), 0, (766 / 30), (50 / 30), new Array("NONE")); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,GASCAN,BARREL", (190 / 30), (62 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (212 / 30), (61 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,GASCAN,BARREL", (237 / 30), (61 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (229 / 30), (46 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (201 / 30), (45 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (410 / 30), (46 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (446 / 30), (46 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,GASCAN,BARREL", (409 / 30), (61 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,GASCAN,BARREL", (445 / 30), (61 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (428 / 30), (60 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (61 / 30), (178 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (189 / 30), (137 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL", (145 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (168 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (78 / 30), (222 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (78 / 30), (200 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (59 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (252 / 30), (205 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (387 / 30), (205 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,NONE", (525 / 30), (221 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,BARREL", (581 / 30), (178 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL", (567 / 30), (178 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("TABLE", (482 / 30), (246 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CHAIR", (465 / 30), (247 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CHAIR_R", (499 / 30), (247 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,GASCAN,NONE", (154 / 30), (138 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,GASCAN,NONE", (485 / 30), (138 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL,NONE", (451 / 30), (138 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (519 / 30), (178 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,NONE", (593 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,NONE", (43 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL_EXPLOSIVE,NONE,CRATE,BARREL", (45 / 30), (178 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,NONE,CRATE", (285 / 30), (183 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL,NONE,CRATE", (357 / 30), (183 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (372 / 30), (205 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (267 / 30), (205 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (559 / 30), (200 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,NONE", (115 / 30), (178 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE_HANGING,NONE,NONE", (215 / 30), (32 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE_HANGING,NONE,NONE", (430 / 30), (41 / 30), 1.5707963267949, new b2Vec2(), 0); pathGrid.AddNode(new PathNode("", 242, 208, "", null)); pathGrid.AddNode(new PathNode("", 399, 208, "", null)); pathGrid.AddNode(new PathNode("", 379, 208, "", null)); pathGrid.AddNode(new PathNode("", 259, 208, "", null)); pathGrid.AddNode(new PathNode("", 278, 208, "", null)); pathGrid.AddNode(new PathNode("", 361, 208, "", null)); pathGrid.AddNode(new PathNode("", 296, 208, "", null)); pathGrid.AddNode(new PathNode("", 320, 208, "", null)); pathGrid.AddNode(new PathNode("", 343, 208, "", null)); pathGrid.AddNode(new PathNode("", 279, 186, "", null)); pathGrid.AddNode(new PathNode("", 321, 186, "", null)); pathGrid.AddNode(new PathNode("", 362, 186, "", null)); pathGrid.AddNode(new PathNode("", 298, 186, "", null)); pathGrid.AddNode(new PathNode("", 344, 186, "", null)); pathGrid.AddNode(new PathNode("", 280, 164, "", null)); pathGrid.AddNode(new PathNode("", 361, 164, "", null)); pathGrid.AddNode(new PathNode("", 298, 164, "", null)); pathGrid.AddNode(new PathNode("", 320, 164, "", null)); pathGrid.AddNode(new PathNode("", 344, 164, "", null)); pathGrid.AddNode(new PathNode("", 416, 219, "", null)); pathGrid.AddNode(new PathNode("", 455, 247, "", null)); pathGrid.AddNode(new PathNode("", 479, 247, "", null)); pathGrid.AddNode(new PathNode("", 504, 247, "", null)); pathGrid.AddNode(new PathNode("", 526, 247, "", null)); pathGrid.AddNode(new PathNode("", 561, 247, "", null)); pathGrid.AddNode(new PathNode("", 202, 235, "", null)); pathGrid.AddNode(new PathNode("", 184, 247, "", null)); pathGrid.AddNode(new PathNode("", 161, 247, "", null)); pathGrid.AddNode(new PathNode("", 78, 247, "", null)); pathGrid.AddNode(new PathNode("", 111, 247, "", null)); pathGrid.AddNode(new PathNode("", 135.5, 247, "", null)); pathGrid.AddNode(new PathNode("", 58, 247, "", null)); pathGrid.AddNode(new PathNode("", 41, 247, "", null)); pathGrid.AddNode(new PathNode("", 220, 221, "", null)); pathGrid.AddNode(new PathNode("", 436, 233, "", null)); pathGrid.AddNode(new PathNode("", 599, 247, "", null)); pathGrid.AddNode(new PathNode("", 581, 247, "", null)); pathGrid.AddNode(new PathNode("", 544, 247, "", null)); pathGrid.AddNode(new PathNode("", 527, 225, "", null)); pathGrid.AddNode(new PathNode("", 560, 225, "", null)); pathGrid.AddNode(new PathNode("", 543, 225, "", null)); pathGrid.AddNode(new PathNode("", 527, 203, "", null)); pathGrid.AddNode(new PathNode("", 543, 203, "", null)); pathGrid.AddNode(new PathNode("", 560, 203, "", null)); pathGrid.AddNode(new PathNode("", 524, 181, "", null)); pathGrid.AddNode(new PathNode("", 544, 181, "", null)); pathGrid.AddNode(new PathNode("", 562, 181, "", null)); pathGrid.AddNode(new PathNode("", 581, 181, "", null)); pathGrid.AddNode(new PathNode("", 599, 181, "", null)); pathGrid.AddNode(new PathNode("", 501, 181, "", null)); pathGrid.AddNode(new PathNode("", 489, 141, "", null)); pathGrid.AddNode(new PathNode("", 452, 141, "", null)); pathGrid.AddNode(new PathNode("", 469, 141, "", null)); pathGrid.AddNode(new PathNode("", 94, 247, "", null)); pathGrid.AddNode(new PathNode("", 78, 225, "", null)); pathGrid.AddNode(new PathNode("", 94, 225, "", null)); pathGrid.AddNode(new PathNode("", 111, 225, "", null)); pathGrid.AddNode(new PathNode("", 78, 203, "", null)); pathGrid.AddNode(new PathNode("", 94, 203, "", null)); pathGrid.AddNode(new PathNode("", 111, 203, "", null)); pathGrid.AddNode(new PathNode("", 77, 182, "", null)); pathGrid.AddNode(new PathNode("", 94, 182, "", null)); pathGrid.AddNode(new PathNode("", 112, 182, "", null)); pathGrid.AddNode(new PathNode("", 138, 182, "", null)); pathGrid.AddNode(new PathNode("", 58, 182, "", null)); pathGrid.AddNode(new PathNode("", 40, 182, "", null)); pathGrid.AddNode(new PathNode("", 150, 141, "", null)); pathGrid.AddNode(new PathNode("", 190, 141, "", null)); pathGrid.AddNode(new PathNode("", 169, 141, "", null)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], 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[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[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], 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[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[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], 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[11], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[18], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[17], 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[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[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[18], pathGrid.Nodes[15], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[11], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[13], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[10], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[12], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[9], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[5], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[8], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[7], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[6], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[4], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[0], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[1], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[11], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[9], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[13], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[10], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[12], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[9], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[12], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[10], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[13], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[11], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[11], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[13], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[10], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[12], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[9], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[14], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[16], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[17], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[18], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[15], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[18], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[17], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], 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[9], pathGrid.Nodes[16], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[17], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[18], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[15], PathBind.STATIC, PathBind.SPRINTJUMP)); 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[19], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[19], 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[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[26], pathGrid.Nodes[27], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], 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[30], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[27], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[26], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[25], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[31], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], 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[34], pathGrid.Nodes[19], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[20], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], 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[36], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[24], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[37], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[23], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[37], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[24], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[39], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[40], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[38], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], 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[40], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[38], 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[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[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[45], pathGrid.Nodes[44], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[49], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], 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[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[51], pathGrid.Nodes[52], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[52], pathGrid.Nodes[50], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[50], 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[50], pathGrid.Nodes[49], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], pathGrid.Nodes[50], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[50], pathGrid.Nodes[44], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[51], pathGrid.Nodes[1], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[44], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[45], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[46], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[43], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[42], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[41], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[45], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[44], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[45], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[46], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[42], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[41], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[42], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[43], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[23], pathGrid.Nodes[40], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[39], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[40], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[37], pathGrid.Nodes[38], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[43], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[45], pathGrid.Nodes[42], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[44], pathGrid.Nodes[41], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[41], pathGrid.Nodes[38], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[42], pathGrid.Nodes[40], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[43], pathGrid.Nodes[39], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[24], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[40], pathGrid.Nodes[37], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[23], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[49], pathGrid.Nodes[34], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[65], pathGrid.Nodes[64], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[64], pathGrid.Nodes[60], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[60], pathGrid.Nodes[61], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[61], 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[63], 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[61], pathGrid.Nodes[60], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[60], 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[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[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[55], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[56], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[56], pathGrid.Nodes[55], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[54], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[53], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[29], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[53], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[54], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[55], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[56], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[56], pathGrid.Nodes[59], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[58], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[54], pathGrid.Nodes[57], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[57], pathGrid.Nodes[60], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[58], pathGrid.Nodes[61], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[59], pathGrid.Nodes[62], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[62], pathGrid.Nodes[59], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[61], pathGrid.Nodes[58], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[60], pathGrid.Nodes[57], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[57], pathGrid.Nodes[54], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[58], pathGrid.Nodes[55], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[59], pathGrid.Nodes[56], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[56], pathGrid.Nodes[29], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[53], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[54], pathGrid.Nodes[28], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[56], pathGrid.Nodes[30], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[54], pathGrid.Nodes[31], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[38], pathGrid.Nodes[22], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[39], pathGrid.Nodes[36], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[39], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[22], pathGrid.Nodes[38], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[30], pathGrid.Nodes[56], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[54], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[29], pathGrid.Nodes[55], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[54], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], pathGrid.Nodes[55], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[53], pathGrid.Nodes[56], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[56], pathGrid.Nodes[58], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[57], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[54], pathGrid.Nodes[58], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[55], pathGrid.Nodes[59], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[59], pathGrid.Nodes[61], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[58], pathGrid.Nodes[60], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[57], pathGrid.Nodes[61], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[58], pathGrid.Nodes[62], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[59], pathGrid.Nodes[30], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[63], pathGrid.Nodes[26], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[67], pathGrid.Nodes[68], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[68], pathGrid.Nodes[66], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[66], 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[66], pathGrid.Nodes[62], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[67], pathGrid.Nodes[0], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[66], pathGrid.Nodes[63], PathBind.STATIC, PathBind.LADDER)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[63], pathGrid.Nodes[66], PathBind.STATIC, PathBind.LADDER)); rope1 = Handler_WorldItems.AddHangingLamp(new Point(107, 83), 30); rope2 = Handler_WorldItems.AddHangingLamp(new Point(171, 83), 30); rope3 = Handler_WorldItems.AddHangingLamp(new Point(264, 83), 30); rope4 = Handler_WorldItems.AddHangingLamp(new Point(319, 83), 30); rope5 = Handler_WorldItems.AddHangingLamp(new Point(375, 83), 30); rope6 = Handler_WorldItems.AddHangingLamp(new Point(533, 83), 30); rope7 = Handler_WorldItems.AddHangingLamp(new Point(469, 83), 30); layer_mc = MovieClip(_dynamic_mc.getChildByName("OBJECTS")); layer_mc.addChild(rope1.MC); layer_mc.addChild(rope2.MC); layer_mc.addChild(rope3.MC); layer_mc.addChild(rope4.MC); layer_mc.addChild(rope5.MC); layer_mc.addChild(rope6.MC); layer_mc.addChild(rope7.MC); btn_01 = Handler_WorldItems.AddBox("BUTTON_01", (285 / 30), (155.5 / 30), 0, new b2Vec2(), 0); btn_01.ForceSleep(); btn_01.GetUserData().buttonData.OnActivationSound = "NOAMMO_LIGHT"; btn_01.GetUserData().buttonData.OnActivation = function ():void{ m_world.DestroyBody(hatch_left); GetLevelMC("btn_left").gotoAndStop(2); btn_01.GetUserData().buttonData.Enabled = false; }; btn_02 = Handler_WorldItems.AddBox("BUTTON_01", (355 / 30), (155.5 / 30), 0, new b2Vec2(), 0); btn_02.ForceSleep(); btn_02.GetUserData().buttonData.OnActivationSound = "NOAMMO_LIGHT"; btn_02.GetUserData().buttonData.OnActivation = function ():void{ m_world.DestroyBody(hatch_right); GetLevelMC("btn_right").gotoAndStop(2); btn_02.GetUserData().buttonData.Enabled = false; }; MapStart = function ():void{ 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(); rope6.UpdateMC(); rope7.UpdateMC(); }; } public function GetLevelMC(_arg1:String):MovieClip{ var _local2:MovieClip; _local2 = MovieClip(MovieClip(_dynamic_mc.getChildByName("LEVEL")).getChildByName(_arg1)); 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)); MapOver = 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); MapOver = 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); } public function UpdatePathGrid():void{ pathGrid.UpdatePathGrid(); } public function Stop():void{ pathGrid.Stop(); MapEnd(); } private function GenerateMapSurvival01():void{ var stairL:b2Body; var stairR:b2Body; var hatch_left:b2Body; var hatch_right:b2Body; var rope1:Rope; var rope2:Rope; var rope3:Rope; var rope4:Rope; var rope5:Rope; var rope6:Rope; var rope7:Rope; var layer_mc:MovieClip; var btn_01:b2Body; var btn_02:b2Body; var timerDelay:int; var survival_timer_mc:MovieClip; var secondParts:Number; var totalSeconds:int; var nextBot:Number; var nextBotTime:int; var botsToSpawn:int; var botWave:int; mapArea = new Rectangle(14.5, -54.5, 612, 459); playerSpawns = new Array(new Point(297, 204), new Point(345, 205)); weaponSpawns = new Array(new WeaponSpawnData(297, 185, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), new WeaponSpawnData(344, 185, new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))); portals = new Array(new PortalData(new Rectangle(275, 280, 40, 60), new Rectangle(31, 191, 5, 60), new Point(1, 0), false, false), new PortalData(new Rectangle(324, 280, 40, 60), new Rectangle(604, 191, 5, 60), new Point(-1, 0), false, false)); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (90 / 30), (42.5 / 30), 0, (178 / 30), (83 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (320.5 / 30), (42 / 30), 0, (149 / 30), (82 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (592 / 30), (42 / 30), 0, (260 / 30), (82 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (212 / 30), (-14 / 30), 0, (139 / 30), (38 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (428 / 30), (-13 / 30), 0, (123 / 30), (35 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (663 / 30), (137 / 30), 0, (118 / 30), (108 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (683 / 30), (221 / 30), 0, (78 / 30), (60 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (587.5 / 30), (263 / 30), 0, (269 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (0.5 / 30), (137.5 / 30), 0, (71 / 30), (107 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (72.5 / 30), (263 / 30), 0, (232 / 30), (24 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (-24 / 30), (221 / 30), 0, (39 / 30), (60 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (320 / 30), (243.5 / 30), 0, (150 / 30), (63 / 30), new Array("NONE")); stairL = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (217 / 30), (254 / 30), 0, new Array([(-29 / 30), (-3 / 30)], [(23 / 30), (-42 / 30)], [(28 / 30), (-42 / 30)], [(28 / 30), (21 / 30)], [(-29 / 30), (21 / 30)]), new Array("NONE")); stairL.GetUserData().tiltValue = -2; stairR = Handler_WorldItems.CreateGroundPolygon(Handler_WorldItems.Material.Ground, (422 / 30), (252 / 30), 0, new Array([(-22 / 30), (-40 / 30)], [(31 / 30), (-1 / 30)], [(31 / 30), (23 / 30)], [(-27 / 30), (23 / 30)], [(-27 / 30), (-40 / 30)]), new Array("NONE")); stairR.GetUserData().tiltValue = 2; Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (320 / 30), (361.5 / 30), 0, (570 / 30), (43 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (319.5 / 30), (307.5 / 30), 0, (9 / 30), (65 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (320.5 / 30), (169 / 30), 0, (93 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (320.5 / 30), (191 / 30), 0, (93 / 30), (2 / 30), new Array("CLOUD")); hatch_left = Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (212.5 / 30), (75.5 / 30), 0, (67 / 30), (13 / 30), new Array("NONE")); hatch_right = Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (428.5 / 30), (75.5 / 30), 0, (67 / 30), (13 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (624 / 30), (221 / 30), 0, (40 / 30), (60 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Ground, (15.5 / 30), (221 / 30), 0, (41 / 30), (60 / 30), new Array("NONE")); Handler_WorldItems.AddObject("BARREL", (383 / 30), (205 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL", (258 / 30), (205 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (549 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (534 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (87 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (102 / 30), (244 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL", (362 / 30), (183 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("BARREL", (279 / 30), (183 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE", (321 / 30), (161 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,GASCAN,BARREL", (190 / 30), (62 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (212 / 30), (61 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,GASCAN,BARREL", (237 / 30), (61 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (229 / 30), (46 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (201 / 30), (45 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (410 / 30), (46 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (446 / 30), (46 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,GASCAN,BARREL", (409 / 30), (61 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE,GASCAN,BARREL", (445 / 30), (61 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("CRATE,BARREL_EXPLOSIVE", (428 / 30), (60 / 30), 0, new b2Vec2(), 0); pathGrid.AddNode(new PathNode("", 242, 208, "", null)); pathGrid.AddNode(new PathNode("", 399, 208, "", null)); pathGrid.AddNode(new PathNode("", 379, 208, "", null)); pathGrid.AddNode(new PathNode("", 259, 208, "", null)); pathGrid.AddNode(new PathNode("", 278, 208, "", null)); pathGrid.AddNode(new PathNode("", 361, 208, "", null)); pathGrid.AddNode(new PathNode("", 296, 208, "", null)); pathGrid.AddNode(new PathNode("", 320, 208, "", null)); pathGrid.AddNode(new PathNode("", 343, 208, "", null)); pathGrid.AddNode(new PathNode("", 279, 186, "", null)); pathGrid.AddNode(new PathNode("", 321, 186, "", null)); pathGrid.AddNode(new PathNode("", 362, 186, "", null)); pathGrid.AddNode(new PathNode("", 298, 186, "", null)); pathGrid.AddNode(new PathNode("", 344, 186, "", null)); pathGrid.AddNode(new PathNode("", 280, 164, "", null)); pathGrid.AddNode(new PathNode("", 361, 164, "", null)); pathGrid.AddNode(new PathNode("", 298, 164, "", null)); pathGrid.AddNode(new PathNode("", 320, 164, "", null)); pathGrid.AddNode(new PathNode("", 344, 164, "", null)); pathGrid.AddNode(new PathNode("", 416, 219, "", null)); pathGrid.AddNode(new PathNode("", 455, 247, "", null)); pathGrid.AddNode(new PathNode("", 479, 247, "", null)); pathGrid.AddNode(new PathNode("", 505, 247, "", null)); pathGrid.AddNode(new PathNode("", 530, 247, "", null)); pathGrid.AddNode(new PathNode("", 554, 247, "", null)); pathGrid.AddNode(new PathNode("", 202, 235, "", null)); pathGrid.AddNode(new PathNode("", 184, 247, "", null)); pathGrid.AddNode(new PathNode("", 159, 247, "", null)); pathGrid.AddNode(new PathNode("", 85, 247, "", null)); pathGrid.AddNode(new PathNode("", 108, 247, "", null)); pathGrid.AddNode(new PathNode("", 131.5, 247, "", null)); pathGrid.AddNode(new PathNode("", 63, 247, "", null)); pathGrid.AddNode(new PathNode("", 41, 247, "", null)); pathGrid.AddNode(new PathNode("", 220, 221, "", null)); pathGrid.AddNode(new PathNode("", 436, 233, "", null)); pathGrid.AddNode(new PathNode("", 599, 247, "", null)); pathGrid.AddNode(new PathNode("", 578, 247, "", null)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], 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[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[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], 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[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[5], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], 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[11], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[9], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[12], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[10], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[13], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[11], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[18], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[17], 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[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[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[18], pathGrid.Nodes[15], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[11], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[18], pathGrid.Nodes[13], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[17], pathGrid.Nodes[10], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[16], pathGrid.Nodes[12], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[9], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[5], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[8], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[7], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[6], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[4], PathBind.STATIC, PathBind.CLOUDDOWN)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[2], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[3], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[0], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[15], pathGrid.Nodes[1], PathBind.STATIC, PathBind.DIVE)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[2], pathGrid.Nodes[11], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[3], pathGrid.Nodes[9], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[13], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[10], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[12], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[9], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[12], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[10], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[13], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[11], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[5], pathGrid.Nodes[11], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[8], pathGrid.Nodes[13], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[7], pathGrid.Nodes[10], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[6], pathGrid.Nodes[12], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[4], pathGrid.Nodes[9], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[9], pathGrid.Nodes[14], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[16], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[17], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[18], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[15], PathBind.STATIC, PathBind.JUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[11], pathGrid.Nodes[18], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[17], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], 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[9], pathGrid.Nodes[16], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[12], pathGrid.Nodes[17], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[10], pathGrid.Nodes[18], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[15], PathBind.STATIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], pathGrid.Nodes[23], 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[19], pathGrid.Nodes[1], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[1], pathGrid.Nodes[19], 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[23], pathGrid.Nodes[24], PathBind.STATIC, PathBind.ROAD)); 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[26], pathGrid.Nodes[27], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], 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[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[27], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[27], pathGrid.Nodes[26], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[0], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[0], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[33], pathGrid.Nodes[25], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[25], pathGrid.Nodes[33], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[32], pathGrid.Nodes[31], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[31], pathGrid.Nodes[28], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[28], 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[34], pathGrid.Nodes[19], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[19], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[34], pathGrid.Nodes[20], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[20], pathGrid.Nodes[34], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[24], 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[36], PathBind.STATIC, PathBind.ROAD)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[36], pathGrid.Nodes[24], PathBind.STATIC, PathBind.ROAD)); rope1 = Handler_WorldItems.AddHangingLamp(new Point(107, 83), 40); rope2 = Handler_WorldItems.AddHangingLamp(new Point(171, 83), 40); rope3 = Handler_WorldItems.AddHangingLamp(new Point(264, 83), 30); rope4 = Handler_WorldItems.AddHangingLamp(new Point(319, 83), 30); rope5 = Handler_WorldItems.AddHangingLamp(new Point(375, 83), 30); rope6 = Handler_WorldItems.AddHangingLamp(new Point(533, 83), 40); rope7 = Handler_WorldItems.AddHangingLamp(new Point(469, 83), 40); layer_mc = MovieClip(_dynamic_mc.getChildByName("OBJECTS")); layer_mc.addChild(rope1.MC); layer_mc.addChild(rope2.MC); layer_mc.addChild(rope3.MC); layer_mc.addChild(rope4.MC); layer_mc.addChild(rope5.MC); layer_mc.addChild(rope6.MC); layer_mc.addChild(rope7.MC); MapOver = false; SurvivalTime.wave = 0; SurvivalTime.totalMins = 0; SurvivalTime.totalSecs = 0; SurvivalTime.totalParts = 0; btn_01 = Handler_WorldItems.AddBox("BUTTON_01", (285 / 30), (155.5 / 30), 0, new b2Vec2(), 0); btn_01.ForceSleep(); btn_01.GetUserData().buttonData.OnActivationSound = "NOAMMO_LIGHT"; btn_01.GetUserData().buttonData.OnActivation = function ():void{ m_world.DestroyBody(hatch_left); GetLevelMC("btn_left").gotoAndStop(2); btn_01.GetUserData().buttonData.Enabled = false; }; btn_02 = Handler_WorldItems.AddBox("BUTTON_01", (355 / 30), (155.5 / 30), 0, new b2Vec2(), 0); btn_02.ForceSleep(); btn_02.GetUserData().buttonData.OnActivationSound = "NOAMMO_LIGHT"; btn_02.GetUserData().buttonData.OnActivation = function ():void{ m_world.DestroyBody(hatch_right); GetLevelMC("btn_right").gotoAndStop(2); btn_02.GetUserData().buttonData.Enabled = false; }; timerDelay = 4; MapEnd = function ():void{ survival_timer_mc.parent.removeChild(survival_timer_mc); }; MapStart = function ():void{ var _local1:MovieClip; _local1 = MovieClip(_dynamic_mc.parent); _local1 = MovieClip(_local1.parent); survival_timer_mc = new survival_timer(); _local1.addChild(survival_timer_mc); mapGraphic.AddMC(GetLevelMC("fan_1")); mapGraphic.AddMC(GetLevelMC("fan_2")); mapGraphic.AddMC(GetLevelMC("fan_3")); mapGraphic.AddMC(GetLevelMC("fan_4")); }; secondParts = 0; totalSeconds = 0; nextBot = (24 * 2); nextBotTime = (24 * 20); botsToSpawn = 0; botWave = 0; MapUpdate = function (_arg1:Number):void{ var _local2:Boolean; var _local3:Boolean; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:String; var _local10:String; var _local11:String; var _local12:Player; rope1.UpdateMC(); rope2.UpdateMC(); rope3.UpdateMC(); rope4.UpdateMC(); rope5.UpdateMC(); rope6.UpdateMC(); rope7.UpdateMC(); _local2 = false; _local3 = true; _local4 = _Handler_Players.Players.length; if (_local4 > 2){ _local4 = 2; }; _local5 = 0; while (_local5 < _local4) { if (_Handler_Players.Players[_local5].Team == 1){ if (_Handler_Players.Players[_local5].State.HP > 0){ _local2 = true; } else { if (!_Handler_Players.Players[_local5].CanDespawn){ _local3 = false; }; }; }; _local5++; }; if (!_local2){ if (_local3){ MapOver = true; }; } else { secondParts = (secondParts + _arg1); if (secondParts >= 24){ secondParts = (secondParts - 24); totalSeconds++; }; if (timerDelay > 0){ timerDelay--; } else { _local6 = Math.floor((totalSeconds / 60)); _local7 = (totalSeconds % 60); _local8 = ((secondParts / 24) * 100); _local9 = (_local6 + ""); _local10 = (_local7 + ""); _local11 = (_local8 + ""); if (_local6 < 10){ _local9 = ("0" + _local9); }; if (_local7 < 10){ _local10 = ("0" + _local10); }; if (_local8 < 10){ _local11 = ("0" + _local11); }; SurvivalTime.totalMins = _local6; SurvivalTime.totalSecs = _local7; SurvivalTime.totalParts = _local8; survival_timer_mc.time_txt.text = ((((_local9 + ":") + _local10) + ":") + _local11); }; nextBot = (nextBot - _arg1); }; if (nextBot <= 0){ botsToSpawn = 2; nextBot = nextBotTime; botWave = (botWave + 1); SurvivalTime.wave = botWave; if (botWave < 10){ survival_timer_mc.wave_txt.text = ("0" + botWave); } else { survival_timer_mc.wave_txt.text = ("" + botWave); }; }; if (botsToSpawn > 0){ botsToSpawn = (botsToSpawn - 1); if (botsToSpawn == 1){ playerSpawns = new Array(new Point(47, 160)); } else { playerSpawns = new Array(new Point(586, 160)); }; if (botWave < 10){ _local12 = _Handler_Players.AddBot(3, 2, 1); } else { if (botWave < 20){ _local12 = _Handler_Players.AddBot(3, 2, 2); } else { _local12 = _Handler_Players.AddBot(3, 2, 3); }; }; switch (botWave){ case 1: _local12.GiveStartItems(null, _Handler_Weapons.Grenades, null, null); break; case 2: _local12.GiveStartItems(_Handler_Weapons.Pistol, _Handler_Weapons.Grenades, null, null); break; case 3: _local12.GiveStartItems(_Handler_Weapons.Uzi, _Handler_Weapons.Grenades, null, null); break; case 4: _local12.GiveStartItems(_Handler_Weapons.Uzi, _Handler_Weapons.Grenades, null, null); break; case 5: _local12.GiveStartItems(_Handler_Weapons.Rifle, _Handler_Weapons.Grenades, null, null); break; case 6: _local12.GiveStartItems(_Handler_Weapons.Shotgun, _Handler_Weapons.Grenades, _Handler_Weapons.Machete, null); break; case 7: _local12.GiveStartItems(_Handler_Weapons.Rifle, _Handler_Weapons.Grenades, _Handler_Weapons.Machete, null); break; case 8: _local12.GiveStartItems(_Handler_Weapons.Shotgun, _Handler_Weapons.Grenades, _Handler_Weapons.Machete, null); break; case 9: _local12.GiveStartItems(_Handler_Weapons.Flamethrower, _Handler_Weapons.Grenades, _Handler_Weapons.Axe, null); break; case 10: _local12.GiveStartItems(null, _Handler_Weapons.Grenades, null, null); break; case 11: _local12.GiveStartItems(_Handler_Weapons.Pistol, _Handler_Weapons.Grenades, null, null); break; case 12: _local12.GiveStartItems(_Handler_Weapons.Uzi, _Handler_Weapons.Grenades, null, null); break; case 13: _local12.GiveStartItems(_Handler_Weapons.Uzi, _Handler_Weapons.Grenades, null, null); break; case 14: _local12.GiveStartItems(_Handler_Weapons.Rifle, _Handler_Weapons.Grenades, null, null); break; case 15: _local12.GiveStartItems(_Handler_Weapons.Shotgun, _Handler_Weapons.Grenades, _Handler_Weapons.Machete, null); break; case 16: _local12.GiveStartItems(_Handler_Weapons.Rifle, _Handler_Weapons.Grenades, _Handler_Weapons.Machete, null); break; case 17: _local12.GiveStartItems(_Handler_Weapons.Shotgun, _Handler_Weapons.Grenades, _Handler_Weapons.Machete, null); break; case 18: _local12.GiveStartItems(_Handler_Weapons.Flamethrower, _Handler_Weapons.Grenades, _Handler_Weapons.Axe, null); break; case 19: _local12.GiveStartItems(_Handler_Weapons.Flamethrower, _Handler_Weapons.Grenades, _Handler_Weapons.Axe, null); break; case 20: _local12.GiveStartItems(null, _Handler_Weapons.Grenades, null, null); break; case 21: _local12.GiveStartItems(_Handler_Weapons.Pistol, _Handler_Weapons.Grenades, null, null); break; case 22: _local12.GiveStartItems(_Handler_Weapons.Uzi, _Handler_Weapons.Grenades, null, null); break; case 23: _local12.GiveStartItems(_Handler_Weapons.Uzi, _Handler_Weapons.Grenades, _Handler_Weapons.Machete, null); break; case 24: _local12.GiveStartItems(_Handler_Weapons.Rifle, _Handler_Weapons.Grenades, _Handler_Weapons.Machete, null); break; case 25: _local12.GiveStartItems(_Handler_Weapons.Shotgun, _Handler_Weapons.Grenades, _Handler_Weapons.Machete, null); break; case 26: _local12.GiveStartItems(_Handler_Weapons.Rifle, _Handler_Weapons.Grenades, _Handler_Weapons.Axe, null); break; case 27: _local12.GiveStartItems(_Handler_Weapons.Shotgun, _Handler_Weapons.Grenades, _Handler_Weapons.Axe, null); break; case 28: _local12.GiveStartItems(_Handler_Weapons.Magnum, _Handler_Weapons.Grenades, _Handler_Weapons.Sword, null); break; case 29: _local12.GiveStartItems(_Handler_Weapons.Sniper, _Handler_Weapons.Grenades, _Handler_Weapons.Sword, null); break; default: _local12.GiveStartItems(_Handler_Weapons.Bazooka, _Handler_Weapons.Grenades, _Handler_Weapons.Sword, null); break; }; }; _local5 = 0; while (_local5 < _Handler_Players.Players.length) { if (((((_Handler_Players.Players[_local5].Bot) && (_Handler_Players.Players[_local5].CanDespawn))) && (!(_Handler_Players.Players[_local5].Ignore)))){ _Handler_Players.Players[_local5].Remove(); }; _local5++; }; }; } 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, -50, 620, 466); 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")); lift = Handler_WorldItems.AddObject("LIFT_SMALL_01", (229 / 30), (290 / 30), 0, new b2Vec2(), 0); 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("TABLE", (277 / 30), (279 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (273 / 30), (268.5 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (283 / 30), (269 / 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); }; }; 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; case 6: GenerateMapBackstreets(); break; case 7: GenerateMapTestingFloor(); break; case 10: GenerateMapSurvival01(); break; }; _static_mc.addChild(pathGrid.DebugGraphic); pathGrid.UpdateSpecials(); m_world.UpdateObjectLists(); return (m_world); } public function GetPathGrid(_arg1:Number=0):PathGrid{ return (pathGrid); } public function GetMapPortals(_arg1:Number=0):Array{ return (portals); } 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 lift: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(502, 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(517, 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), (200 / 30), 0, (13 / 30), (40 / 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), (192 / 30), 0, (20 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (749.5 / 30), (215 / 30), 0, (45 / 30), (2 / 30), new Array("CLOUD")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (749.5 / 30), (237 / 30), 0, (45 / 30), (2 / 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, (877 / 30), (-43.5 / 30), 0, (58 / 30), (89 / 30), new Array("NONE")); Handler_WorldItems.CreateGroundBox(Handler_WorldItems.Material.Metal, (238 / 30), (317 / 30), 0, (58 / 30), (4 / 30), new Array("CLOUD")); lift = Handler_WorldItems.AddObject("LIFT_SMALL_01", (537 / 30), (363 / 30), 0, new b2Vec2(), 0); 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", (577 / 30), (251 / 30), 0, new b2Vec2(), 0); Handler_WorldItems.AddObject("PAPER,NONE", (577 / 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", (767 / 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("", 517, 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.AddNode(new PathNode("", 537, 355, "", lift)); 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[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)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[63], pathGrid.Nodes[14], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[63], pathGrid.Nodes[13], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[14], pathGrid.Nodes[63], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[13], pathGrid.Nodes[63], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[63], pathGrid.Nodes[54], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[54], pathGrid.Nodes[63], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[63], pathGrid.Nodes[46], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[46], pathGrid.Nodes[63], PathBind.DYNAMIC, PathBind.SPRINTJUMP)); pathGrid.AddBind(new PathBind("", pathGrid.Nodes[63], pathGrid.Nodes[12], PathBind.DYNAMIC, PathBind.DIVE)); CreateElevator(lift, 183, 0.6); 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 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")); lift = Handler_WorldItems.AddObject("LIFT_01", (86.5 / 30), (260 / 30), 0, new b2Vec2(), 0); 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); }; 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")); }; } public function GetMinimumMapArea(_arg1:Number=0):Rectangle{ return (mapArea); } public function GetWeaponSpawns(_arg1:Number=0):Array{ return (weaponSpawns); } } }//package Code.Handler
Section 154
//MenuMain (Code.Handler.MenuMain) package Code.Handler { import flash.events.*; import Code.Data.Players.*; import flash.display.*; import Code.Data.*; import Code.Data.Menu.*; import flash.net.*; public class MenuMain { private var _menu_history:Array; private var _player_choosen_skins:Array; private var _Handler_Options:Options; private var _Handler_Sounds:Sounds; private var _Handler_GameMain:GameMain; private var _game_mc:MovieClip; private var _delay_timer:Number; private var _curr_menu:submenu_base; private var _menu_overlay:MovieClip; private var _Handler_Keyboard:InputKeyboard; private var _lastChoise:String;// = "" private var _Handler_Output:OutputTrace; 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); _player_choosen_skins = new Array(); } private function GetRndChar():int{ var _local1:int; var _local2:*; var _local3:int; var _local4:int; _local2 = false; _local1 = PlayerCharacter.GetRandomCharacter(); _local2 = true; _local3 = 0; while (_local3 < _player_choosen_skins.length) { if (_local1 == _player_choosen_skins[_local3]){ _local2 = false; }; _local3++; }; while (!(_local2)) { _local1 = PlayerCharacter.GetRandomCharacter(); _local2 = true; _local4 = 0; while (_local4 < _player_choosen_skins.length) { if (_local1 == _player_choosen_skins[_local4]){ _local2 = false; }; _local4++; }; }; return (_local1); } public function StartNewGame():void{ var _local1:PlayerSetupData; var _local2:int; var _local3:int; var _local4:int; var _local5:NewGameData; _player_choosen_skins = new Array(); _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 (_local1.characters[0] == 0){ _local1.characters[0] = GetRndChar(); }; _player_choosen_skins.push(_local1.characters[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; if (_local1.characters[1] == 0){ _local1.characters[1] = GetRndChar(); }; _player_choosen_skins.push(_local1.characters[1]); }; _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; if (_local5.lvl == Maps.RANDOM_MAP){ _local5.lvl = (2 + Math.floor((Math.random() * (Maps.RANDOM_MAP - 2.001)))); }; _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.isSurvival = false; _local5.showTips = true; _local5.newScore = true; _local5.gameMode = _menu_history[(_menu_history.length - 1)].Mode; _Handler_GameMain.StartNewGame(_local5); } 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 Show(_arg1:Array):void{ var _local2:int; _local2 = 0; while (_local2 < _arg1.length) { MovieClip(_arg1[_local2]).visible = true; _local2++; }; } private function StartSurvival():void{ _stage.removeChild(_menu_overlay); _Handler_Keyboard.Deconstruct(); _Handler_GameMain.Stop(); StartSurvivalGame(); } 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 StartSurvivalGame():void{ var _local1:PlayerSetupData; var _local2:NewGameData; _player_choosen_skins = new Array(); _local1 = new PlayerSetupData(); _local1.ot = _Handler_Output; _local1.keys = _Handler_Options.GetPlayerKeys(); _local1.totalPlayers = _menu_history[0].Players; _local1.aiDifficulty = new Array(3, 3, 3, 3, 3, 3, 3, 3); _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 (_local1.characters[0] == 0){ _local1.characters[0] = GetRndChar(); }; _player_choosen_skins.push(_local1.characters[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; if (_local1.characters[1] == 0){ _local1.characters[1] = GetRndChar(); }; _player_choosen_skins.push(_local1.characters[1]); }; _local2 = new NewGameData(); _local2.lvl = 10; _local2.pSetupData = _local1; _local2.gameScale = 1; _local2.gamePosX = 0; _local2.gamePosY = 0; _local2.challengeNr = -1; _local2.isMenuDemo = false; _local2.isTutorial = false; _local2.isSurvival = true; _local2.showTips = false; _local2.newScore = true; _local2.gameMode = 1; _Handler_GameMain.StartNewGame(_local2); } 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(); }; }; }; } private function StartTutorial():void{ _stage.removeChild(_menu_overlay); _Handler_Keyboard.Deconstruct(); _Handler_GameMain.Stop(); StartTutorialGame(); } private function StartChallenge():void{ _stage.removeChild(_menu_overlay); _Handler_Keyboard.Deconstruct(); _Handler_GameMain.Stop(); StartChallengeGame(); } public function get MenuOverlay():MovieClip{ return (_menu_overlay); } private function StartTutorialGame():void{ var _local1:PlayerSetupData; var _local2:NewGameData; _player_choosen_skins = new Array(); _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.isSurvival = false; _local2.showTips = false; _local2.newScore = true; _local2.gameMode = 1; _Handler_GameMain.StartNewGame(_local2); } private 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; _player_choosen_skins = new Array(); _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 (_local4.characters[0] == 0){ _local4.characters[0] = GetRndChar(); }; _player_choosen_skins.push(_local4.characters[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; if (_local4.characters[1] == 0){ _local4.characters[1] = GetRndChar(); }; _player_choosen_skins.push(_local4.characters[1]); }; _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.isSurvival = false; _local8.showTips = true; _local8.newScore = true; _local8.gameMode = 8; _Handler_GameMain.StartNewGame(_local8); } private function Link1(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://johanhjarpe.newgrounds.com"); navigateToURL(_local2, "_blank"); } private function Link2(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://gurt.newgrounds.com/"); navigateToURL(_local2, "_blank"); } private function Link3(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://hzlancer.newgrounds.com/"); navigateToURL(_local2, "_blank"); } private function Link4(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://mythologicinteractive.com/"); navigateToURL(_local2, "_blank"); } public function StartMenuGame():void{ var _local1:PlayerSetupData; var _local2:int; var _local3:NewGameData; _player_choosen_skins = new Array(); _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() * 5.999))); _local3.pSetupData = _local1; _local3.gameScale = 0.95; _local3.gamePosX = 80; _local3.gamePosY = 110; _local3.challengeNr = -1; _local3.isMenuDemo = true; _local3.isTutorial = false; _local3.isSurvival = false; _local3.showTips = false; _local3.newScore = true; _local3.gameMode = 1; _Handler_GameMain.StartNewGame(_local3); } 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 UserInpuOver():void{ _stage.removeChild(_menu_overlay); _Handler_Keyboard.Deconstruct(); _Handler_GameMain.Stop(); StartNewGame(); } 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); }); } private function Hide(_arg1:Array):void{ var _local2:int; _local2 = 0; while (_local2 < _arg1.length) { MovieClip(_arg1[_local2]).visible = false; _local2++; }; } 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 "survival_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, 2); _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, 0); _curr_menu.Show(); break; case "survival_selection": _Handler_Sounds.PlayMightySound("ACCEPT"); _curr_menu = new map_selection(MovieClip(_menu_overlay.getChildByName("map_selection")), _Handler_Sounds, 2); _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 "start_survival": StartSurvival(); _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 155
//Options (Code.Handler.Options) package Code.Handler { import flash.events.*; import flash.display.*; import flash.ui.*; import flash.net.*; 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 156
//OutputTrace (Code.Handler.OutputTrace) package Code.Handler { import flash.display.*; import flash.text.*; public class OutputTrace extends MovieClip { private var _trace_txt:TextField; private var _debug:Boolean; private var _message_string:String; public function OutputTrace(_arg1, _arg2:Boolean){ _message_string = new String(""); super(); _debug = _arg2; if (_debug){ _trace_txt = new TextField(); _trace_txt.width = 600; _trace_txt.height = 600; _trace_txt.selectable = false; _trace_txt.multiline = true; _trace_txt.textColor = 14540219; _arg1.addChild(_trace_txt); }; Clear(); Trace("OutputTrace Created"); Hide(); } public function Trace(_arg1:String):void{ if (_debug){ _message_string = _message_string.substr(0, _message_string.lastIndexOf("<br>")); _message_string = ((_arg1 + "<br>") + _message_string); _trace_txt.htmlText = _message_string; }; } public function Show():void{ Trace("Showing Output"); if (_debug){ _trace_txt.visible = true; }; } 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"); if (_debug){ _trace_txt.visible = false; }; } public function Selectable(_arg1:Boolean):void{ Trace(("Output Selectable set to " + _arg1)); if (_debug){ _trace_txt.selectable = _arg1; }; } } }//package Code.Handler
Section 157
//PathGrid (Code.Handler.PathGrid) package Code.Handler { import flash.geom.*; import Code.Box2D.Dynamics.*; import flash.display.*; import Code.Data.*; import flash.utils.*; 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 158
//PlayersKeeper (Code.Handler.PlayersKeeper) package Code.Handler { import flash.geom.*; import Code.Box2D.Dynamics.*; import Code.Data.Players.*; import flash.display.*; 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):Player{ var _local4:Array; var _local5:int; var _local6:int; var _local7:MovieClip; _local4 = _Handler_Maps.GetPlayerSpawnPositions(); _playerSetupData.playerSpawnPositions = new Array(); _playerSpawnPositions = new Array(); _local5 = 0; while (_local5 < _local4.length) { _playerSetupData.playerSpawnPositions.push(_local4[_local5]); _playerSpawnPositions.push(_local4[_local5]); _local5++; }; _local6 = _players.length; ConstructPlayer(_local6, _arg1, _arg2); _players[_local6].NoGUI(); _players[_local6].SetAI(_arg3); _local7 = MovieClip(gui_holder_mc.getChildByName("com_0")); _players[_local6].SetGUI(_local7); _local7.visible = false; _players[_local6].SetSign(PlayerBars.PLAYER_COM); _players[_local6].GiveStartItems(plrData.rangedStartWeapon.Copy(), plrData.throwableStartWeapon.Copy()); _players[_local6].GiveDefaultMelee(plrData.defaultMeleeWeapon.Copy()); _players[_local6].Initialize(new PlayerAreaData(_MapArea)); _players[_local6].LinkToFire(_Handler_Fires); _players[_local6].Activate(); RecalculateCamArea(); return (_players[_local6]); } 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 SetStartImmunity():void{ var _local1:int; _local1 = 0; while (_local1 < _players.length) { _players[_local1].State.ImmunityTimer = 48; _local1++; }; } 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 159
//Portals (Code.Handler.Portals) package Code.Handler { import flash.geom.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; 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 > 0){ 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)))))){ if (((_portals[_local2].AllowPlayers) || (_Handler_Players.Players[_local6].Bot))){ _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, _portals[_local2].AllowPlayers); _Handler_Players.RecalculateCamArea(3, true); _Handler_Output.Trace((("Portal " + _local2) + " Activated")); } else { _Handler_Players.Players[_local6].SetCoordinates(_portals[_local2].GetSideOfPortal(-(_Handler_Players.Players[_local6].PortalDirectionX)), _Handler_Players.Players[_local6].PosY(), true); }; }; }; }; _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 160
//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 161
//ProjectilesUpdater (Code.Handler.ProjectilesUpdater) package Code.Handler { import flash.geom.*; import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Data.Players.*; import flash.display.*; import Code.Data.*; import Code.Particles.*; 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; var _local7:int; 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); if (_arg5.Bot){ _local7 = 0; while (_local7 < _Handler_Players.Players.length) { if ((((_Handler_Players.Players[_local7].Team == _arg5.Team)) && (!(_Handler_Players.Players[_local7].Bot)))){ _local6.AddPlayerAvoided(_Handler_Players.Players[_local7].PlayerNr); }; _local7++; }; }; _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 162
//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)); case 8: return (FirstToReach(1)); }; 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 163
//ScoreboardSurvival (Code.Handler.ScoreboardSurvival) package Code.Handler { import Code.Data.Players.*; import flash.display.*; import Code.Data.*; import flash.utils.*; import flash.net.*; public class ScoreboardSurvival { private var _personal_best:SurvivalTimePackage; private var _score_info:MovieClip; private var _build_timer:Number; private var _players:Array; public function ScoreboardSurvival(_arg1:MovieClip){ _players = new Array(); _score_info = new survival_score(); _score_info.gotoAndStop(1); _arg1.addChild(_score_info); } public function Hide():void{ _score_info.visible = false; } private function SetTimer(_arg1:MovieClip, _arg2:SurvivalTimePackage):void{ var _local3:String; var _local4:String; var _local5:String; _local3 = (_arg2.totalMins + ""); _local4 = (_arg2.totalSecs + ""); _local5 = (_arg2.totalParts + ""); if (_arg2.totalMins < 10){ _local3 = ("0" + _local3); }; if (_arg2.totalSecs < 10){ _local4 = ("0" + _local4); }; if (_arg2.totalParts < 10){ _local5 = ("0" + _local5); }; _arg1.time_txt.text = ((((_local3 + ":") + _local4) + ":") + _local5); if (_arg2.wave < 10){ _arg1.wave_txt.text = ("0" + _arg2.wave); } else { _arg1.wave_txt.text = ("" + _arg2.wave); }; } public function get MC():MovieClip{ return (_score_info); } private function SetPics():void{ var _local1:int; clearInterval(_build_timer); _local1 = 0; while (_local1 < _players.length) { MovieClip(_score_info.pics.getChildByName(("pic_" + (_local1 + 1)))).gotoAndStop(_players[_local1].State.CharNr); _local1++; }; } public function Build():void{ _score_info.players_txt.text = ("" + _players.length); _score_info.pics.gotoAndStop(_players.length); _personal_best = LoadBest(); SetTimer(_score_info.personal_best, _personal_best); _build_timer = setInterval(SetPics, 100); } public function SaveBest(_arg1:SurvivalTimePackage):void{ var _local2:SharedObject; _local2 = SharedObject.getLocal("superfightersData_v1.0"); if (_players.length == 1){ _local2.data.survivalBestMins = _arg1.totalMins; _local2.data.survivalBestSecs = _arg1.totalSecs; _local2.data.survivalBestParts = _arg1.totalParts; _local2.data.survivalBestWave = _arg1.wave; } else { _local2.data.survival2BestMins = _arg1.totalMins; _local2.data.survival2BestSecs = _arg1.totalSecs; _local2.data.survival2BestParts = _arg1.totalParts; _local2.data.survival2BestWave = _arg1.wave; }; _local2.flush(); } public function LoadBest():SurvivalTimePackage{ var _local1:SurvivalTimePackage; var _local2:SharedObject; _local1 = new SurvivalTimePackage(); _local2 = SharedObject.getLocal("superfightersData_v1.0"); if ((((((((((_players.length == 1)) && (!((_local2.data.survivalBestMins == undefined))))) && (!((_local2.data.survivalBestSecs == undefined))))) && (!((_local2.data.survivalBestParts == undefined))))) && (!((_local2.data.survivalBestWave == undefined))))){ _local1.totalMins = _local2.data.survivalBestMins; _local1.totalSecs = _local2.data.survivalBestSecs; _local1.totalParts = _local2.data.survivalBestParts; _local1.wave = _local2.data.survivalBestWave; } else { if ((((((((((_players.length == 2)) && (!((_local2.data.survival2BestMins == undefined))))) && (!((_local2.data.survival2BestSecs == undefined))))) && (!((_local2.data.survival2BestParts == undefined))))) && (!((_local2.data.survival2BestWave == undefined))))){ _local1.totalMins = _local2.data.survival2BestMins; _local1.totalSecs = _local2.data.survival2BestSecs; _local1.totalParts = _local2.data.survival2BestParts; _local1.wave = _local2.data.survival2BestWave; } else { _local1.totalMins = 0; _local1.totalSecs = 0; _local1.totalParts = 0; _local1.wave = 0; }; }; return (_local1); } public function BeatPersonal(_arg1:SurvivalTimePackage):Boolean{ if (_personal_best.totalMins > _arg1.totalMins){ return (false); }; if (_personal_best.totalMins < _arg1.totalMins){ return (true); }; if (_personal_best.totalSecs > _arg1.totalSecs){ return (false); }; if (_personal_best.totalSecs < _arg1.totalSecs){ return (true); }; if (_personal_best.totalParts > _arg1.totalParts){ return (false); }; if (_personal_best.totalParts < _arg1.totalParts){ return (true); }; return (true); } public function Update(_arg1:SurvivalTimePackage):void{ SetTimer(_score_info.current, _arg1); if (BeatPersonal(_arg1)){ SaveBest(_arg1); _score_info.gotoAndStop(2); }; } public function AddPlayerToScore(_arg1:Player):void{ _players.push(_arg1); } public function Show():void{ _score_info.visible = true; } } }//package Code.Handler
Section 164
//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 165
//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 166
//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;// = 0.8 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 = 0.8; _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"); StopAllSounds(); } 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 167
//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 = 300; 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 = 300; 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 = 200; 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.3; 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 = 200; 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 = 300; 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 = 300; 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 168
//WeaponSpawn (Code.Handler.WeaponSpawn) package Code.Handler { import Code.Box2D.Common.Math.*; import Code.Box2D.Dynamics.*; import Code.Data.*; public class WeaponSpawn { private var _Handler_Weapons:Weapons; private var _spawnTimer:Number; private var _Handler_Maps:Maps; private var _spawnInterval:Number;// = 72 private var _WeaponSpawns:Array; private var _weaponSpawnChance:Array; private var _Handler_Output:OutputTrace; public function WeaponSpawn(_arg1:OutputTrace, _arg2:Maps, _arg3:Weapons){ _spawnInterval = 72; 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; w = 0; while (w < _WeaponSpawns.length) { _WeaponSpawns[w].Update(game_speed); w = (w + 1); }; _spawnTimer = (_spawnTimer - game_speed); if (_spawnTimer <= 0){ _spawnTimer = _spawnInterval; tmpArr = new Array(); i = 0; while (i < _WeaponSpawns.length) { if ((((_WeaponSpawns[i].LinkedWeapon == null)) && (!(_WeaponSpawns[i].SkipThisOnce)))){ 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; }; }; } } }//package Code.Handler
Section 169
//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 170
//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 171
//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 172
//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 173
//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 174
//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 175
//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 176
//particle_base (Code.Particles.particle_base) package Code.Particles { import flash.events.*; import flash.display.*; import flash.utils.*; 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 177
//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 178
//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 179
//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 180
//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 181
//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 182
//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 183
//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 184
//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 185
//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 186
//Main (Code.Main) package Code { import Code.Handler.*; import flash.display.*; import Code.Data.*; 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; var _local5:*; super(); _stage = _arg1; _this = _arg2; _game_mc = new MovieClip(); _this.addChild(_game_mc); _Handler_Output = new OutputTrace(_stage, GameMain.DEBUG_MODE); _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(); _local5 = _this.medal_popup; _local5.parent.removeChild(_local5); _stage.addChild(_local5); _Handler_Output.Trace("Game Started Successfully"); _Handler_Output.Trace(""); } } }//package Code
Section 187
//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 = 1732584193; var _local3 = -271733879; var _local4 = -1732584194; var _local5 = 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 = 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 188
//PNGEncoder (com.adobe.images.PNGEncoder) package com.adobe.images { import flash.geom.*; import flash.display.*; import flash.utils.*; 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 189
//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 190
//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 191
//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 = ""; 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 = ""; 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 = ""; 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 192
//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 193
//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 194
//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 = ""; 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 = ""; 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 195
//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 196
//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 = ""; 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 197
//APIConnector (com.newgrounds.components.APIConnector) package com.newgrounds.components { import flash.events.*; import flash.display.*; import com.newgrounds.*; import flash.utils.*; 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 198
//FlashAd (com.newgrounds.components.FlashAd) package com.newgrounds.components { import flash.events.*; import flash.display.*; import com.newgrounds.*; import flash.utils.*; import flash.net.*; import flash.system.*; 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 199
//MedalPopup (com.newgrounds.components.MedalPopup) package com.newgrounds.components { import flash.events.*; import flash.display.*; import com.newgrounds.*; import flash.utils.*; import flash.text.*; 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 200
//API (com.newgrounds.API) package com.newgrounds { import flash.events.*; import flash.display.*; import com.newgrounds.components.*; import flash.utils.*; import com.adobe.serialization.json.*; import flash.net.*; import com.adobe.images.*; import com.adobe.crypto.*; import flash.system.*; 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 = "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 = ""; 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 = ""; 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 = ""; 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 201
//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 202
//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 203
//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 = ""; 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 = ""; 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 = ""; 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 204
//Bridge (com.newgrounds.Bridge) package com.newgrounds { import flash.events.*; import flash.net.*; 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 205
//Medal (com.newgrounds.Medal) package com.newgrounds { import flash.events.*; import flash.display.*; import flash.net.*; 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 206
//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 207
//SaveFile (com.newgrounds.SaveFile) package com.newgrounds { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; 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 = (((((("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 208
//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 209
//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 210
//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 211
//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 212
//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 213
//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 214
//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 215
//SmartURLLoader (com.newgrounds.SmartURLLoader) package com.newgrounds { import flash.events.*; import flash.utils.*; import flash.net.*; import flash.errors.*; 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 216
//Color (fl.motion.Color) package fl.motion { import flash.geom.*; import flash.display.*; 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 217
//NewgroundsAPIAsset_FlashAd_Container_2 (FlashAd_fla.NewgroundsAPIAsset_FlashAd_Container_2) package FlashAd_fla { import flash.events.*; import flash.display.*; import com.newgrounds.*; 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 218
//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 219
//aim_bazooka_agent_429 (Superfighters_fla.aim_bazooka_agent_429) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_agent_429 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_billy_506 (Superfighters_fla.aim_bazooka_billy_506) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_billy_506 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_boris_284 (Superfighters_fla.aim_bazooka_boris_284) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_boris_284 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_funnyman_635 (Superfighters_fla.aim_bazooka_funnyman_635) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_funnyman_635 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_jeff_755 (Superfighters_fla.aim_bazooka_jeff_755) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_jeff_755 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_johnny_203 (Superfighters_fla.aim_bazooka_johnny_203) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_johnny_203 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_bazooka_mac_695 (Superfighters_fla.aim_bazooka_mac_695) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_mac_695 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_bazooka_scott_566 (Superfighters_fla.aim_bazooka_scott_566) package Superfighters_fla { import flash.display.*; public dynamic class aim_bazooka_scott_566 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_agent_432 (Superfighters_fla.aim_flamethrower_agent_432) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_agent_432 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_billy_509 (Superfighters_fla.aim_flamethrower_billy_509) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_billy_509 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_boris_287 (Superfighters_fla.aim_flamethrower_boris_287) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_boris_287 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_funnyman_638 (Superfighters_fla.aim_flamethrower_funnyman_638) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_funnyman_638 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_jeff_758 (Superfighters_fla.aim_flamethrower_jeff_758) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_jeff_758 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_johnny_206 (Superfighters_fla.aim_flamethrower_johnny_206) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_johnny_206 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_flamethrower_mac_698 (Superfighters_fla.aim_flamethrower_mac_698) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_mac_698 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_flamethrower_scott_569 (Superfighters_fla.aim_flamethrower_scott_569) package Superfighters_fla { import flash.display.*; public dynamic class aim_flamethrower_scott_569 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_agent_419 (Superfighters_fla.aim_magnum_agent_419) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_agent_419 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_billy_496 (Superfighters_fla.aim_magnum_billy_496) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_billy_496 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_boris_274 (Superfighters_fla.aim_magnum_boris_274) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_boris_274 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_funnyman_625 (Superfighters_fla.aim_magnum_funnyman_625) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_funnyman_625 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_jeff_745 (Superfighters_fla.aim_magnum_jeff_745) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_jeff_745 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_johnny_193 (Superfighters_fla.aim_magnum_johnny_193) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_johnny_193 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_magnum_mac_685 (Superfighters_fla.aim_magnum_mac_685) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_mac_685 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_magnum_scott_556 (Superfighters_fla.aim_magnum_scott_556) package Superfighters_fla { import flash.display.*; public dynamic class aim_magnum_scott_556 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_agent_417 (Superfighters_fla.aim_pistol_agent_417) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_agent_417 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_billy_494 (Superfighters_fla.aim_pistol_billy_494) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_billy_494 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_boris_272 (Superfighters_fla.aim_pistol_boris_272) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_boris_272 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_funnyman_623 (Superfighters_fla.aim_pistol_funnyman_623) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_funnyman_623 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_jeff_743 (Superfighters_fla.aim_pistol_jeff_743) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_jeff_743 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_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 249
//aim_pistol_mac_683 (Superfighters_fla.aim_pistol_mac_683) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_mac_683 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_pistol_scott_554 (Superfighters_fla.aim_pistol_scott_554) package Superfighters_fla { import flash.display.*; public dynamic class aim_pistol_scott_554 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_agent_421 (Superfighters_fla.aim_rifle_agent_421) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_agent_421 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_billy_498 (Superfighters_fla.aim_rifle_billy_498) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_billy_498 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_boris_276 (Superfighters_fla.aim_rifle_boris_276) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_boris_276 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_funnyman_627 (Superfighters_fla.aim_rifle_funnyman_627) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_funnyman_627 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_jeff_747 (Superfighters_fla.aim_rifle_jeff_747) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_jeff_747 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_johnny_195 (Superfighters_fla.aim_rifle_johnny_195) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_johnny_195 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_rifle_mac_687 (Superfighters_fla.aim_rifle_mac_687) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_mac_687 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_rifle_scott_558 (Superfighters_fla.aim_rifle_scott_558) package Superfighters_fla { import flash.display.*; public dynamic class aim_rifle_scott_558 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_agent_425 (Superfighters_fla.aim_shotgun_agent_425) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_agent_425 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_billy_502 (Superfighters_fla.aim_shotgun_billy_502) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_billy_502 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_boris_280 (Superfighters_fla.aim_shotgun_boris_280) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_boris_280 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_funnyman_631 (Superfighters_fla.aim_shotgun_funnyman_631) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_funnyman_631 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_jeff_751 (Superfighters_fla.aim_shotgun_jeff_751) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_jeff_751 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_johnny_199 (Superfighters_fla.aim_shotgun_johnny_199) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_johnny_199 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_shotgun_mac_691 (Superfighters_fla.aim_shotgun_mac_691) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_mac_691 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 266
//aim_shotgun_scott_562 (Superfighters_fla.aim_shotgun_scott_562) package Superfighters_fla { import flash.display.*; public dynamic class aim_shotgun_scott_562 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 267
//aim_sniper_agent_427 (Superfighters_fla.aim_sniper_agent_427) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_agent_427 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_billy_504 (Superfighters_fla.aim_sniper_billy_504) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_billy_504 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_boris_282 (Superfighters_fla.aim_sniper_boris_282) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_boris_282 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_funnyman_633 (Superfighters_fla.aim_sniper_funnyman_633) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_funnyman_633 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_jeff_753 (Superfighters_fla.aim_sniper_jeff_753) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_jeff_753 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_johnny_201 (Superfighters_fla.aim_sniper_johnny_201) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_johnny_201 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_sniper_mac_693 (Superfighters_fla.aim_sniper_mac_693) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_mac_693 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 274
//aim_sniper_scott_564 (Superfighters_fla.aim_sniper_scott_564) package Superfighters_fla { import flash.display.*; public dynamic class aim_sniper_scott_564 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 275
//aim_throw_agent_434 (Superfighters_fla.aim_throw_agent_434) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_agent_434 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 276
//aim_throw_billy_511 (Superfighters_fla.aim_throw_billy_511) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_billy_511 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 277
//aim_throw_boris_289 (Superfighters_fla.aim_throw_boris_289) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_boris_289 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 278
//aim_throw_funnyman_640 (Superfighters_fla.aim_throw_funnyman_640) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_funnyman_640 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 279
//aim_throw_jeff_760 (Superfighters_fla.aim_throw_jeff_760) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_jeff_760 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 280
//aim_throw_johnny_208 (Superfighters_fla.aim_throw_johnny_208) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_johnny_208 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 281
//aim_throw_mac_700 (Superfighters_fla.aim_throw_mac_700) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_mac_700 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 282
//aim_throw_scott_571 (Superfighters_fla.aim_throw_scott_571) package Superfighters_fla { import flash.display.*; public dynamic class aim_throw_scott_571 extends MovieClip { public var AIM_POSITION:blank_mc; } }//package Superfighters_fla
Section 283
//aim_uzi_agent_423 (Superfighters_fla.aim_uzi_agent_423) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_agent_423 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_billy_500 (Superfighters_fla.aim_uzi_billy_500) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_billy_500 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_boris_278 (Superfighters_fla.aim_uzi_boris_278) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_boris_278 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_funnyman_629 (Superfighters_fla.aim_uzi_funnyman_629) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_funnyman_629 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_jeff_749 (Superfighters_fla.aim_uzi_jeff_749) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_jeff_749 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_johnny_197 (Superfighters_fla.aim_uzi_johnny_197) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_johnny_197 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
//aim_uzi_mac_689 (Superfighters_fla.aim_uzi_mac_689) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_mac_689 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 290
//aim_uzi_scott_560 (Superfighters_fla.aim_uzi_scott_560) package Superfighters_fla { import flash.display.*; public dynamic class aim_uzi_scott_560 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 291
//billboard_805 (Superfighters_fla.billboard_805) package Superfighters_fla { import flash.display.*; public dynamic class billboard_805 extends MovieClip { public function billboard_805(){ addFrameScript(0, frame1); } function frame1(){ this.gotoAndStop((Math.floor((Math.random() * (this.totalFrames - 0.0001))) + 1)); } } }//package Superfighters_fla
Section 292
//challenge_map_809 (Superfighters_fla.challenge_map_809) package Superfighters_fla { import flash.display.*; public dynamic class challenge_map_809 extends MovieClip { public var map_pic:MovieClip; public var selection:MovieClip; } }//package Superfighters_fla
Section 293
//com_plate_793 (Superfighters_fla.com_plate_793) package Superfighters_fla { import flash.display.*; public dynamic class com_plate_793 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 294
//confirm_delete_814 (Superfighters_fla.confirm_delete_814) package Superfighters_fla { import flash.display.*; public dynamic class confirm_delete_814 extends MovieClip { public var marker_2:MovieClip; public var marker_1:MovieClip; } }//package Superfighters_fla
Section 295
//Container_4 (Superfighters_fla.Container_4) package Superfighters_fla { import flash.display.*; public dynamic class Container_4 extends MovieClip { public function Container_4(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 296
//dive_agent_401 (Superfighters_fla.dive_agent_401) package Superfighters_fla { import flash.display.*; public dynamic class dive_agent_401 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 297
//dive_billy_478 (Superfighters_fla.dive_billy_478) package Superfighters_fla { import flash.display.*; public dynamic class dive_billy_478 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 298
//dive_blood_322 (Superfighters_fla.dive_blood_322) package Superfighters_fla { import flash.display.*; public dynamic class dive_blood_322 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 299
//dive_boris_256 (Superfighters_fla.dive_boris_256) package Superfighters_fla { import flash.display.*; public dynamic class dive_boris_256 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 300
//dive_funnyman_607 (Superfighters_fla.dive_funnyman_607) package Superfighters_fla { import flash.display.*; public dynamic class dive_funnyman_607 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 301
//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 302
//dive_jeff_727 (Superfighters_fla.dive_jeff_727) package Superfighters_fla { import flash.display.*; public dynamic class dive_jeff_727 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 303
//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 304
//dive_mac_667 (Superfighters_fla.dive_mac_667) package Superfighters_fla { import flash.display.*; public dynamic class dive_mac_667 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 305
//dive_scott_538 (Superfighters_fla.dive_scott_538) package Superfighters_fla { import flash.display.*; public dynamic class dive_scott_538 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 306
//fall_b_agent_393 (Superfighters_fla.fall_b_agent_393) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_agent_393 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 307
//fall_b_billy_470 (Superfighters_fla.fall_b_billy_470) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_billy_470 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 308
//fall_b_blood_314 (Superfighters_fla.fall_b_blood_314) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_blood_314 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 309
//fall_b_boris_248 (Superfighters_fla.fall_b_boris_248) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_boris_248 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 310
//fall_b_burnt_451 (Superfighters_fla.fall_b_burnt_451) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_burnt_451 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 311
//fall_b_funnyman_599 (Superfighters_fla.fall_b_funnyman_599) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_funnyman_599 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 312
//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 313
//fall_b_jeff_719 (Superfighters_fla.fall_b_jeff_719) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_jeff_719 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 314
//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 315
//fall_b_mac_659 (Superfighters_fla.fall_b_mac_659) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_mac_659 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 316
//fall_b_scott_530 (Superfighters_fla.fall_b_scott_530) package Superfighters_fla { import flash.display.*; public dynamic class fall_b_scott_530 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 317
//fall_f_agent_391 (Superfighters_fla.fall_f_agent_391) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_agent_391 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 318
//fall_f_billy_468 (Superfighters_fla.fall_f_billy_468) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_billy_468 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 319
//fall_f_blood_312 (Superfighters_fla.fall_f_blood_312) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_blood_312 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 320
//fall_f_boris_246 (Superfighters_fla.fall_f_boris_246) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_boris_246 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 321
//fall_f_burnt_449 (Superfighters_fla.fall_f_burnt_449) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_burnt_449 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 322
//fall_f_funnyman_597 (Superfighters_fla.fall_f_funnyman_597) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_funnyman_597 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 323
//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 324
//fall_f_jeff_717 (Superfighters_fla.fall_f_jeff_717) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_jeff_717 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 325
//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 326
//fall_f_mac_657 (Superfighters_fla.fall_f_mac_657) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_mac_657 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 327
//fall_f_scott_528 (Superfighters_fla.fall_f_scott_528) package Superfighters_fla { import flash.display.*; public dynamic class fall_f_scott_528 extends MovieClip { public var HELPMC:MovieClip; } }//package Superfighters_fla
Section 328
//grabbed_agent_441 (Superfighters_fla.grabbed_agent_441) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_agent_441 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 329
//grabbed_billy_518 (Superfighters_fla.grabbed_billy_518) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_billy_518 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 330
//grabbed_blood_362 (Superfighters_fla.grabbed_blood_362) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_blood_362 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 331
//grabbed_boris_296 (Superfighters_fla.grabbed_boris_296) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_boris_296 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 332
//grabbed_burnt_454 (Superfighters_fla.grabbed_burnt_454) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_burnt_454 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 333
//grabbed_funnyman_647 (Superfighters_fla.grabbed_funnyman_647) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_funnyman_647 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 334
//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 335
//grabbed_jeff_767 (Superfighters_fla.grabbed_jeff_767) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_jeff_767 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 336
//grabbed_johnny_215 (Superfighters_fla.grabbed_johnny_215) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_johnny_215 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 337
//grabbed_mac_707 (Superfighters_fla.grabbed_mac_707) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_mac_707 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 338
//grabbed_scott_578 (Superfighters_fla.grabbed_scott_578) package Superfighters_fla { import flash.display.*; public dynamic class grabbed_scott_578 extends MovieClip { public var DOLL:MovieClip; } }//package Superfighters_fla
Section 339
//gui_player_819 (Superfighters_fla.gui_player_819) package Superfighters_fla { import flash.display.*; public dynamic class gui_player_819 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 340
//MainTimeline (Superfighters_fla.MainTimeline) package Superfighters_fla { import flash.events.*; import flash.display.*; import com.newgrounds.components.*; import flash.utils.*; import flash.text.*; import flash.net.*; import Code.*; public dynamic class MainTimeline extends MovieClip { public var __id0_:APIConnector; public var medal_popup:MedalPopup; public var canStart:Boolean; public var myTextField:TextField; public var playBtn:SimpleButton; public var minWaitTimer:Number; public var loadTxt:TextField; public var mythologic_link:SimpleButton; public var _game:Main; public var loadingDone:Boolean; public function MainTimeline(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 4, frame5, 5, frame6); __setProp___id0__Main_NGAPI_1(); } function frame3(){ playBtn.addEventListener(MouseEvent.CLICK, playBtnClick); } public function LoadingProgress(_arg1:ProgressEvent):void{ myTextField.text = (Math.round(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100)) + " %"); } function frame6(){ _game = new Main(stage, this); stop(); } function frame5(){ gotoAndStop(4); } function __setProp___id0__Main_NGAPI_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) { }; } function frame2(){ gotoAndStop(1); } function frame1(){ stop(); myTextField = loadTxt; canStart = false; loadingDone = false; minWaitTimer = setInterval(WaitTimeOver, 2500); this.loaderInfo.addEventListener(Event.COMPLETE, LoadingDone); this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, LoadingProgress); mythologic_link.addEventListener(MouseEvent.CLICK, linkEvent); } public function LoadingDone(_arg1:Event):void{ loadingDone = true; if (canStart){ gotoAndStop(3); } else { myTextField.text = "LOADING"; }; } public function playBtnClick(_arg1:MouseEvent):void{ playBtn.removeEventListener(MouseEvent.CLICK, playBtnClick); gotoAndStop(6); } 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 WaitTimeOver():void{ clearInterval(minWaitTimer); canStart = true; if (loadingDone){ gotoAndStop(3); }; } } }//package Superfighters_fla
Section 341
//menu_bot_6_setup_795 (Superfighters_fla.menu_bot_6_setup_795) package Superfighters_fla { import flash.display.*; public dynamic class menu_bot_6_setup_795 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 342
//menu_bot_7_setup_791 (Superfighters_fla.menu_bot_7_setup_791) package Superfighters_fla { import flash.display.*; public dynamic class menu_bot_7_setup_791 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 343
//menu_first_choise_780 (Superfighters_fla.menu_first_choise_780) package Superfighters_fla { import flash.display.*; public dynamic class menu_first_choise_780 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 344
//menu_map_selection_798 (Superfighters_fla.menu_map_selection_798) package Superfighters_fla { import flash.display.*; public dynamic class menu_map_selection_798 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; public function menu_map_selection_798(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 345
//menu_mode_selection_783 (Superfighters_fla.menu_mode_selection_783) package Superfighters_fla { import flash.display.*; public dynamic class menu_mode_selection_783 extends MovieClip { public var marker_0:MovieClip; public var marker_2:MovieClip; public var marker_1:MovieClip; } }//package Superfighters_fla
Section 346
//menu_no_bots_796 (Superfighters_fla.menu_no_bots_796) package Superfighters_fla { import flash.display.*; public dynamic class menu_no_bots_796 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 347
//menu_set_up_815 (Superfighters_fla.menu_set_up_815) package Superfighters_fla { import flash.display.*; import flash.text.*; public dynamic class menu_set_up_815 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 348
//menu_set_up_816 (Superfighters_fla.menu_set_up_816) package Superfighters_fla { import flash.display.*; import flash.text.*; public dynamic class menu_set_up_816 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_816(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 349
//menu_stage_mode_808 (Superfighters_fla.menu_stage_mode_808) package Superfighters_fla { import flash.display.*; public dynamic class menu_stage_mode_808 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; public var win_message:MovieClip; } }//package Superfighters_fla
Section 350
//menu_vs_1p_setup_784 (Superfighters_fla.menu_vs_1p_setup_784) package Superfighters_fla { import flash.display.*; public dynamic class menu_vs_1p_setup_784 extends MovieClip { public var p1_plate:MovieClip; } }//package Superfighters_fla
Section 351
//menu_vs_2p_setup_790 (Superfighters_fla.menu_vs_2p_setup_790) package Superfighters_fla { import flash.display.*; public dynamic class menu_vs_2p_setup_790 extends MovieClip { public var p1_plate:MovieClip; public var p2_plate:MovieClip; } }//package Superfighters_fla
Section 352
//number_00_821 (Superfighters_fla.number_00_821) package Superfighters_fla { import flash.display.*; public dynamic class number_00_821 extends MovieClip { public var dig_10:MovieClip; public var dig_1:MovieClip; } }//package Superfighters_fla
Section 353
//player_plate_785 (Superfighters_fla.player_plate_785) package Superfighters_fla { import flash.display.*; public dynamic class player_plate_785 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 354
//score_team_pics_826 (Superfighters_fla.score_team_pics_826) package Superfighters_fla { import flash.display.*; public dynamic class score_team_pics_826 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 355
//score_wins_loss_827 (Superfighters_fla.score_wins_loss_827) package Superfighters_fla { import flash.display.*; public dynamic class score_wins_loss_827 extends MovieClip { public var wins:MovieClip; public var loss:MovieClip; } }//package Superfighters_fla
Section 356
//SoundContainer_834 (Superfighters_fla.SoundContainer_834) package Superfighters_fla { import flash.display.*; public dynamic class SoundContainer_834 extends MovieClip { public function SoundContainer_834(){ addFrameScript(1, frame2); } function frame2(){ stop(); } } }//package Superfighters_fla
Section 357
//toggle_character_name_787 (Superfighters_fla.toggle_character_name_787) package Superfighters_fla { import flash.display.*; public dynamic class toggle_character_name_787 extends MovieClip { public function toggle_character_name_787(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 358
//toggle_character_pic_788 (Superfighters_fla.toggle_character_pic_788) package Superfighters_fla { import flash.display.*; public dynamic class toggle_character_pic_788 extends MovieClip { public function toggle_character_pic_788(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 359
//toggle_difficulty_794 (Superfighters_fla.toggle_difficulty_794) package Superfighters_fla { import flash.display.*; public dynamic class toggle_difficulty_794 extends MovieClip { public function toggle_difficulty_794(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 360
//toggle_game_mode_800 (Superfighters_fla.toggle_game_mode_800) package Superfighters_fla { import flash.display.*; public dynamic class toggle_game_mode_800 extends MovieClip { public function toggle_game_mode_800(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 361
//toggle_map_name_799 (Superfighters_fla.toggle_map_name_799) package Superfighters_fla { import flash.display.*; public dynamic class toggle_map_name_799 extends MovieClip { public function toggle_map_name_799(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 362
//toggle_map_pic_801 (Superfighters_fla.toggle_map_pic_801) package Superfighters_fla { import flash.display.*; public dynamic class toggle_map_pic_801 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 btn_left:button_01; public var btn_right:button_01; public var pouring:MovieClip; public function toggle_map_pic_801(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 363
//toggle_player_type_789 (Superfighters_fla.toggle_player_type_789) package Superfighters_fla { import flash.display.*; public dynamic class toggle_player_type_789 extends MovieClip { public function toggle_player_type_789(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 364
//toggle_team_786 (Superfighters_fla.toggle_team_786) package Superfighters_fla { import flash.display.*; public dynamic class toggle_team_786 extends MovieClip { public function toggle_team_786(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 365
//TutorialInstructions_832 (Superfighters_fla.TutorialInstructions_832) package Superfighters_fla { import flash.display.*; public dynamic class TutorialInstructions_832 extends MovieClip { public function TutorialInstructions_832(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Superfighters_fla
Section 366
//wpn_shine_38 (Superfighters_fla.wpn_shine_38) package Superfighters_fla { import flash.display.*; public dynamic class wpn_shine_38 extends MovieClip { public function wpn_shine_38(){ addFrameScript(0, frame1, 20, frame21); } function frame1(){ gotoAndPlay((5 + Math.floor((Math.random() * 12)))); } function frame21(){ gotoAndPlay(2); } } }//package Superfighters_fla
Section 367
//accept_02 (accept_02) package { import flash.media.*; public dynamic class accept_02 extends Sound { } }//package
Section 368
//aim_big (aim_big) package { import flash.media.*; public dynamic class aim_big extends Sound { } }//package
Section 369
//aim_small (aim_small) package { import flash.media.*; public dynamic class aim_small extends Sound { } }//package
Section 370
//ambient_loop_1 (ambient_loop_1) package { import flash.media.*; public dynamic class ambient_loop_1 extends Sound { } }//package
Section 371
//barrel_01 (barrel_01) package { import flash.display.*; public dynamic class barrel_01 extends MovieClip { } }//package
Section 372
//barrel_02 (barrel_02) package { import flash.display.*; public dynamic class barrel_02 extends MovieClip { } }//package
Section 373
//barrel_03 (barrel_03) package { import flash.display.*; public dynamic class barrel_03 extends MovieClip { } }//package
Section 374
//barrel_debris_01 (barrel_debris_01) package { import flash.display.*; public dynamic class barrel_debris_01 extends MovieClip { } }//package
Section 375
//barrel_debris_02 (barrel_debris_02) package { import flash.display.*; public dynamic class barrel_debris_02 extends MovieClip { } }//package
Section 376
//barrel_debris_03 (barrel_debris_03) package { import flash.display.*; public dynamic class barrel_debris_03 extends MovieClip { } }//package
Section 377
//bazooka (bazooka) package { import flash.media.*; public dynamic class bazooka extends Sound { } }//package
Section 378
//bazooka_aim (bazooka_aim) package { import flash.media.*; public dynamic class bazooka_aim extends Sound { } }//package
Section 379
//bazooka_rocket (bazooka_rocket) package { import flash.display.*; public dynamic class bazooka_rocket extends MovieClip { } }//package
Section 380
//beachball (beachball) package { import flash.display.*; public dynamic class beachball extends MovieClip { } }//package
Section 381
//beat (beat) package { import flash.media.*; public dynamic class beat extends Sound { } }//package
Section 382
//bg_noise (bg_noise) package { import flash.display.*; public dynamic class bg_noise extends MovieClip { public var EFFECT_MC:MovieClip; } }//package
Section 383
//blank_mc (blank_mc) package { import flash.display.*; public dynamic class blank_mc extends MovieClip { } }//package
Section 384
//blood_1 (blood_1) package { import flash.display.*; public dynamic class blood_1 extends MovieClip { } }//package
Section 385
//blood_2 (blood_2) package { import flash.display.*; public dynamic class blood_2 extends MovieClip { } }//package
Section 386
//blood_3 (blood_3) package { import flash.display.*; public dynamic class blood_3 extends MovieClip { } }//package
Section 387
//blood_particle_big (blood_particle_big) package { import flash.display.*; public dynamic class blood_particle_big extends MovieClip { } }//package
Section 388
//blood_particle_small (blood_particle_small) package { import flash.display.*; public dynamic class blood_particle_small extends MovieClip { } }//package
Section 389
//bubble (bubble) package { import flash.display.*; public dynamic class bubble extends MovieClip { } }//package
Section 390
//bullet (bullet) package { import flash.display.*; public dynamic class bullet extends MovieClip { } }//package
Section 391
//bullet_effect_normal (bullet_effect_normal) package { import flash.display.*; public dynamic class bullet_effect_normal extends MovieClip { } }//package
Section 392
//bullet_hit_1 (bullet_hit_1) package { import flash.media.*; public dynamic class bullet_hit_1 extends Sound { } }//package
Section 393
//bullet_hit_2 (bullet_hit_2) package { import flash.media.*; public dynamic class bullet_hit_2 extends Sound { } }//package
Section 394
//bullet_hit_3 (bullet_hit_3) package { import flash.media.*; public dynamic class bullet_hit_3 extends Sound { } }//package
Section 395
//bullet_hitmetal_01 (bullet_hitmetal_01) package { import flash.media.*; public dynamic class bullet_hitmetal_01 extends Sound { } }//package
Section 396
//bullet_hitmetal_02 (bullet_hitmetal_02) package { import flash.media.*; public dynamic class bullet_hitmetal_02 extends Sound { } }//package
Section 397
//bullet_hitmetal_03 (bullet_hitmetal_03) package { import flash.media.*; public dynamic class bullet_hitmetal_03 extends Sound { } }//package
Section 398
//bullet_hitmetal_04 (bullet_hitmetal_04) package { import flash.media.*; public dynamic class bullet_hitmetal_04 extends Sound { } }//package
Section 399
//bullet_hitmetal_05 (bullet_hitmetal_05) package { import flash.media.*; public dynamic class bullet_hitmetal_05 extends Sound { } }//package
Section 400
//bullet_impact (bullet_impact) package { import flash.display.*; public dynamic class bullet_impact extends MovieClip { } }//package
Section 401
//bullet_magnum (bullet_magnum) package { import flash.display.*; public dynamic class bullet_magnum extends MovieClip { } }//package
Section 402
//bullet_pistol (bullet_pistol) package { import flash.display.*; public dynamic class bullet_pistol extends MovieClip { } }//package
Section 403
//bullet_rifle (bullet_rifle) package { import flash.display.*; public dynamic class bullet_rifle extends MovieClip { } }//package
Section 404
//bullet_shotgun (bullet_shotgun) package { import flash.display.*; public dynamic class bullet_shotgun extends MovieClip { } }//package
Section 405
//bullet_sniper (bullet_sniper) package { import flash.display.*; public dynamic class bullet_sniper extends MovieClip { } }//package
Section 406
//bullet_trace_slomo (bullet_trace_slomo) package { import flash.display.*; public dynamic class bullet_trace_slomo extends MovieClip { } }//package
Section 407
//bullet_uzi (bullet_uzi) package { import flash.display.*; public dynamic class bullet_uzi extends MovieClip { } }//package
Section 408
//bustwood_1 (bustwood_1) package { import flash.media.*; public dynamic class bustwood_1 extends Sound { } }//package
Section 409
//bustwood_2 (bustwood_2) package { import flash.media.*; public dynamic class bustwood_2 extends Sound { } }//package
Section 410
//button_01 (button_01) package { import flash.display.*; public dynamic class button_01 extends MovieClip { public function button_01(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 411
//cancel_02 (cancel_02) package { import flash.media.*; public dynamic class cancel_02 extends Sound { } }//package
Section 412
//chair (chair) package { import flash.display.*; public dynamic class chair extends MovieClip { } }//package
Section 413
//char_gib_01 (char_gib_01) package { import flash.display.*; public dynamic class char_gib_01 extends MovieClip { } }//package
Section 414
//char_gib_02 (char_gib_02) package { import flash.display.*; public dynamic class char_gib_02 extends MovieClip { } }//package
Section 415
//char_gib_03 (char_gib_03) package { import flash.display.*; public dynamic class char_gib_03 extends MovieClip { } }//package
Section 416
//char_gib_04 (char_gib_04) package { import flash.display.*; public dynamic class char_gib_04 extends MovieClip { } }//package
Section 417
//char_gib_05 (char_gib_05) package { import flash.display.*; public dynamic class char_gib_05 extends MovieClip { } }//package
Section 418
//comfy_chair (comfy_chair) package { import flash.display.*; public dynamic class comfy_chair extends MovieClip { } }//package
Section 419
//comp (comp) package { import flash.display.*; public dynamic class comp extends MovieClip { } }//package
Section 420
//comp_explode_01 (comp_explode_01) package { import flash.media.*; public dynamic class comp_explode_01 extends Sound { } }//package
Section 421
//comp_explode_02 (comp_explode_02) package { import flash.media.*; public dynamic class comp_explode_02 extends Sound { } }//package
Section 422
//comp_screen (comp_screen) package { import flash.display.*; public dynamic class comp_screen extends MovieClip { } }//package
Section 423
//crate_01 (crate_01) package { import flash.display.*; public dynamic class crate_01 extends MovieClip { } }//package
Section 424
//crate_debris_01 (crate_debris_01) package { import flash.display.*; public dynamic class crate_debris_01 extends MovieClip { } }//package
Section 425
//crate_debris_02 (crate_debris_02) package { import flash.display.*; public dynamic class crate_debris_02 extends MovieClip { } }//package
Section 426
//crate_debris_03 (crate_debris_03) package { import flash.display.*; public dynamic class crate_debris_03 extends MovieClip { } }//package
Section 427
//crate_hanging (crate_hanging) package { import flash.display.*; public dynamic class crate_hanging extends MovieClip { } }//package
Section 428
//crate_hanging_holder (crate_hanging_holder) package { import flash.display.*; public dynamic class crate_hanging_holder extends MovieClip { } }//package
Section 429
//cut00 (cut00) package { import flash.media.*; public dynamic class cut00 extends Sound { } }//package
Section 430
//cut01 (cut01) package { import flash.media.*; public dynamic class cut01 extends Sound { } }//package
Section 431
//cut02 (cut02) package { import flash.media.*; public dynamic class cut02 extends Sound { } }//package
Section 432
//desk (desk) package { import flash.display.*; public dynamic class desk extends MovieClip { } }//package
Section 433
//desk_1 (desk_1) package { import flash.display.*; public dynamic class desk_1 extends MovieClip { } }//package
Section 434
//dive_catch (dive_catch) package { import flash.media.*; public dynamic class dive_catch extends Sound { } }//package
Section 435
//electric_1 (electric_1) package { import flash.display.*; public dynamic class electric_1 extends MovieClip { } }//package
Section 436
//electric_2 (electric_2) package { import flash.display.*; public dynamic class electric_2 extends MovieClip { } }//package
Section 437
//electric_3 (electric_3) package { import flash.display.*; public dynamic class electric_3 extends MovieClip { } }//package
Section 438
//elevator_01 (elevator_01) package { import flash.display.*; public dynamic class elevator_01 extends MovieClip { } }//package
Section 439
//empty_shell_big (empty_shell_big) package { import flash.display.*; public dynamic class empty_shell_big extends MovieClip { } }//package
Section 440
//empty_shell_shotgun (empty_shell_shotgun) package { import flash.display.*; public dynamic class empty_shell_shotgun extends MovieClip { } }//package
Section 441
//empty_shell_small (empty_shell_small) package { import flash.display.*; public dynamic class empty_shell_small extends MovieClip { } }//package
Section 442
//error_mc (error_mc) package { import flash.display.*; public dynamic class error_mc extends MovieClip { } }//package
Section 443
//explosion_circle (explosion_circle) package { import flash.display.*; public dynamic class explosion_circle extends MovieClip { } }//package
Section 444
//explosion00 (explosion00) package { import flash.media.*; public dynamic class explosion00 extends Sound { } }//package
Section 445
//explosion01 (explosion01) package { import flash.media.*; public dynamic class explosion01 extends Sound { } }//package
Section 446
//explosion02 (explosion02) package { import flash.media.*; public dynamic class explosion02 extends Sound { } }//package
Section 447
//explosion03 (explosion03) package { import flash.media.*; public dynamic class explosion03 extends Sound { } }//package
Section 448
//filecab_01 (filecab_01) package { import flash.display.*; public dynamic class filecab_01 extends MovieClip { } }//package
Section 449
//fire_01 (fire_01) package { import flash.display.*; public dynamic class fire_01 extends MovieClip { } }//package
Section 450
//fire_01_flamethrower (fire_01_flamethrower) package { import flash.display.*; public dynamic class fire_01_flamethrower extends MovieClip { } }//package
Section 451
//fire_02 (fire_02) package { import flash.display.*; public dynamic class fire_02 extends MovieClip { } }//package
Section 452
//fire_03 (fire_03) package { import flash.display.*; public dynamic class fire_03 extends MovieClip { } }//package
Section 453
//fire_big (fire_big) package { import flash.display.*; public dynamic class fire_big extends MovieClip { } }//package
Section 454
//fire_circle (fire_circle) package { import flash.display.*; public dynamic class fire_circle extends MovieClip { } }//package
Section 455
//fire_effect_air (fire_effect_air) package { import flash.display.*; public dynamic class fire_effect_air extends MovieClip { } }//package
Section 456
//fire_effect_flamethrower_air (fire_effect_flamethrower_air) package { import flash.display.*; public dynamic class fire_effect_flamethrower_air extends MovieClip { } }//package
Section 457
//fireplosion (fireplosion) package { import flash.media.*; public dynamic class fireplosion extends Sound { } }//package
Section 458
//gascan (gascan) package { import flash.display.*; public dynamic class gascan extends MovieClip { } }//package
Section 459
//get_ready_fight (get_ready_fight) package { import flash.display.*; public dynamic class get_ready_fight extends MovieClip { } }//package
Section 460
//getHealth_00 (getHealth_00) package { import flash.media.*; public dynamic class getHealth_00 extends Sound { } }//package
Section 461
//gib_00 (gib_00) package { import flash.media.*; public dynamic class gib_00 extends Sound { } }//package
Section 462
//gib_effect (gib_effect) package { import flash.display.*; public dynamic class gib_effect extends MovieClip { } }//package
Section 463
//glass_1 (glass_1) package { import flash.media.*; public dynamic class glass_1 extends Sound { } }//package
Section 464
//glass_2 (glass_2) package { import flash.media.*; public dynamic class glass_2 extends Sound { } }//package
Section 465
//glass_shard_1 (glass_shard_1) package { import flash.display.*; public dynamic class glass_shard_1 extends MovieClip { } }//package
Section 466
//grenade_marker (grenade_marker) package { import flash.display.*; public dynamic class grenade_marker extends MovieClip { public function grenade_marker(){ addFrameScript(4, frame5); } function frame5(){ stop(); } } }//package
Section 467
//grenade_safe (grenade_safe) package { import flash.media.*; public dynamic class grenade_safe extends Sound { } }//package
Section 468
//groovy00 (groovy00) package { import flash.media.*; public dynamic class groovy00 extends Sound { } }//package
Section 469
//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 470
//gun00 (gun00) package { import flash.media.*; public dynamic class gun00 extends Sound { } }//package
Section 471
//gun01 (gun01) package { import flash.media.*; public dynamic class gun01 extends Sound { } }//package
Section 472
//gun02 (gun02) package { import flash.media.*; public dynamic class gun02 extends Sound { } }//package
Section 473
//gun03 (gun03) package { import flash.media.*; public dynamic class gun03 extends Sound { } }//package
Section 474
//hanging_lamp (hanging_lamp) package { import flash.display.*; public dynamic class hanging_lamp extends MovieClip { } }//package
Section 475
//heartbeat (heartbeat) package { import flash.media.*; public dynamic class heartbeat extends Sound { } }//package
Section 476
//hit_metal_1_1 (hit_metal_1_1) package { import flash.display.*; public dynamic class hit_metal_1_1 extends MovieClip { } }//package
Section 477
//hit_metal_1_2 (hit_metal_1_2) package { import flash.display.*; public dynamic class hit_metal_1_2 extends MovieClip { } }//package
Section 478
//hit_metal_2_1 (hit_metal_2_1) package { import flash.display.*; public dynamic class hit_metal_2_1 extends MovieClip { } }//package
Section 479
//hit_metal_2_2 (hit_metal_2_2) package { import flash.display.*; public dynamic class hit_metal_2_2 extends MovieClip { } }//package
Section 480
//hit_metal_3_1 (hit_metal_3_1) package { import flash.display.*; public dynamic class hit_metal_3_1 extends MovieClip { } }//package
Section 481
//hit_paper (hit_paper) package { import flash.display.*; public dynamic class hit_paper extends MovieClip { } }//package
Section 482
//jump_00 (jump_00) package { import flash.media.*; public dynamic class jump_00 extends Sound { } }//package
Section 483
//katana_01 (katana_01) package { import flash.media.*; public dynamic class katana_01 extends Sound { } }//package
Section 484
//lamp_1 (lamp_1) package { import flash.display.*; public dynamic class lamp_1 extends MovieClip { } }//package
Section 485
//lamp_1_b (lamp_1_b) package { import flash.display.*; public dynamic class lamp_1_b extends MovieClip { } }//package
Section 486
//lazersight (lazersight) package { import flash.display.*; public dynamic class lazersight extends MovieClip { } }//package
Section 487
//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 btn_left:button_01; public var background_clouds:MovieClip; public var TARGET_3:MovieClip; public var REVIVE:MovieClip; public var GRENADE_2:MovieClip; public var btn_right:button_01; public var pouring:MovieClip; public var GRENADE_1:MovieClip; public var INSTRUCTIONS:MovieClip; public var CRATE:MovieClip; } }//package
Section 488
//levels_front (levels_front) package { import flash.display.*; public dynamic class levels_front extends MovieClip { } }//package
Section 489
//lift_01 (lift_01) package { import flash.display.*; public dynamic class lift_01 extends MovieClip { } }//package
Section 490
//lift_small_01 (lift_small_01) package { import flash.display.*; public dynamic class lift_small_01 extends MovieClip { } }//package
Section 491
//magnum (magnum) package { import flash.media.*; public dynamic class magnum extends Sound { } }//package
Section 492
//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 493
//muzzle_flash_bazooka (muzzle_flash_bazooka) package { import flash.display.*; public dynamic class muzzle_flash_bazooka extends MovieClip { } }//package
Section 494
//muzzle_flash_pistol (muzzle_flash_pistol) package { import flash.display.*; public dynamic class muzzle_flash_pistol extends MovieClip { } }//package
Section 495
//muzzle_flash_rifle (muzzle_flash_rifle) package { import flash.display.*; public dynamic class muzzle_flash_rifle extends MovieClip { } }//package
Section 496
//muzzle_flash_shotgun (muzzle_flash_shotgun) package { import flash.display.*; public dynamic class muzzle_flash_shotgun extends MovieClip { } }//package
Section 497
//muzzle_flash_sniper (muzzle_flash_sniper) package { import flash.display.*; public dynamic class muzzle_flash_sniper extends MovieClip { } }//package
Section 498
//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 499
//outofammo_heavy (outofammo_heavy) package { import flash.media.*; public dynamic class outofammo_heavy extends Sound { } }//package
Section 500
//outofammo_light (outofammo_light) package { import flash.media.*; public dynamic class outofammo_light extends Sound { } }//package
Section 501
//paper (paper) package { import flash.display.*; public dynamic class paper extends MovieClip { } }//package
Section 502
//platform_motor (platform_motor) package { import flash.display.*; public dynamic class platform_motor extends MovieClip { } }//package
Section 503
//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 504
//player_aim (player_aim) package { import flash.display.*; public dynamic class player_aim extends MovieClip { } }//package
Section 505
//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 506
//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 507
//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 508
//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 509
//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 510
//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 511
//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 512
//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 513
//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 514
//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 515
//player_sign (player_sign) package { import flash.display.*; public dynamic class player_sign extends MovieClip { } }//package
Section 516
//pool_table_01 (pool_table_01) package { import flash.display.*; public dynamic class pool_table_01 extends MovieClip { } }//package
Section 517
//press_space (press_space) package { import flash.display.*; public dynamic class press_space extends MovieClip { } }//package
Section 518
//punch00 (punch00) package { import flash.media.*; public dynamic class punch00 extends Sound { } }//package
Section 519
//punch01 (punch01) package { import flash.media.*; public dynamic class punch01 extends Sound { } }//package
Section 520
//punch02 (punch02) package { import flash.media.*; public dynamic class punch02 extends Sound { } }//package
Section 521
//punch03 (punch03) package { import flash.media.*; public dynamic class punch03 extends Sound { } }//package
Section 522
//ric00 (ric00) package { import flash.media.*; public dynamic class ric00 extends Sound { } }//package
Section 523
//rifle_draw (rifle_draw) package { import flash.media.*; public dynamic class rifle_draw extends Sound { } }//package
Section 524
//rifle00 (rifle00) package { import flash.media.*; public dynamic class rifle00 extends Sound { } }//package
Section 525
//rifle01 (rifle01) package { import flash.media.*; public dynamic class rifle01 extends Sound { } }//package
Section 526
//roll (roll) package { import flash.media.*; public dynamic class roll extends Sound { } }//package
Section 527
//rolling_pipe (rolling_pipe) package { import flash.display.*; public dynamic class rolling_pipe extends MovieClip { } }//package
Section 528
//rope_segment_01 (rope_segment_01) package { import flash.display.*; public dynamic class rope_segment_01 extends MovieClip { } }//package
Section 529
//round_winner (round_winner) package { import flash.display.*; public dynamic class round_winner extends MovieClip { } }//package
Section 530
//score_info (score_info) package { import flash.display.*; import flash.text.*; public dynamic class score_info extends MovieClip { public var rounds:TextField; public var game_mode:MovieClip; } }//package
Section 531
//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 532
//shellbounce00 (shellbounce00) package { import flash.media.*; public dynamic class shellbounce00 extends Sound { } }//package
Section 533
//shellbounce01 (shellbounce01) package { import flash.media.*; public dynamic class shellbounce01 extends Sound { } }//package
Section 534
//shotgun_aim (shotgun_aim) package { import flash.media.*; public dynamic class shotgun_aim extends Sound { } }//package
Section 535
//shotgun_pump_p1 (shotgun_pump_p1) package { import flash.media.*; public dynamic class shotgun_pump_p1 extends Sound { } }//package
Section 536
//shotgun_pump_p2 (shotgun_pump_p2) package { import flash.media.*; public dynamic class shotgun_pump_p2 extends Sound { } }//package
Section 537
//shotgun00 (shotgun00) package { import flash.media.*; public dynamic class shotgun00 extends Sound { } }//package
Section 538
//shotgun01 (shotgun01) package { import flash.media.*; public dynamic class shotgun01 extends Sound { } }//package
Section 539
//shotgun02 (shotgun02) package { import flash.media.*; public dynamic class shotgun02 extends Sound { } }//package
Section 540
//smoke_trace_01 (smoke_trace_01) package { import flash.display.*; public dynamic class smoke_trace_01 extends MovieClip { } }//package
Section 541
//smoke_trace_light_01 (smoke_trace_light_01) package { import flash.display.*; public dynamic class smoke_trace_light_01 extends MovieClip { } }//package
Section 542
//smoke_weapon_muzzle (smoke_weapon_muzzle) package { import flash.display.*; public dynamic class smoke_weapon_muzzle extends MovieClip { } }//package
Section 543
//sniper00 (sniper00) package { import flash.media.*; public dynamic class sniper00 extends Sound { } }//package
Section 544
//sniper01 (sniper01) package { import flash.media.*; public dynamic class sniper01 extends Sound { } }//package
Section 545
//spark (spark) package { import flash.display.*; public dynamic class spark extends MovieClip { } }//package
Section 546
//statue (statue) package { import flash.display.*; public dynamic class statue extends MovieClip { } }//package
Section 547
//statue_globe (statue_globe) package { import flash.display.*; public dynamic class statue_globe extends MovieClip { } }//package
Section 548
//superfighters_theme (superfighters_theme) package { import flash.media.*; public dynamic class superfighters_theme extends Sound { } }//package
Section 549
//survival_score (survival_score) package { import flash.display.*; import flash.text.*; public dynamic class survival_score extends MovieClip { public var pics:MovieClip; public var players_txt:TextField; public var personal_best:survival_timer; public var current:survival_timer; } }//package
Section 550
//survival_timer (survival_timer) package { import flash.display.*; import flash.text.*; public dynamic class survival_timer extends MovieClip { public var time_txt:TextField; public var wave_txt:TextField; } }//package
Section 551
//svisch4 (svisch4) package { import flash.media.*; public dynamic class svisch4 extends Sound { } }//package
Section 552
//svisch6 (svisch6) package { import flash.media.*; public dynamic class svisch6 extends Sound { } }//package
Section 553
//table_01 (table_01) package { import flash.display.*; public dynamic class table_01 extends MovieClip { } }//package
Section 554
//table_debris_01 (table_debris_01) package { import flash.display.*; public dynamic class table_debris_01 extends MovieClip { } }//package
Section 555
//table_debris_02 (table_debris_02) package { import flash.display.*; public dynamic class table_debris_02 extends MovieClip { } }//package
Section 556
//table_debris_03 (table_debris_03) package { import flash.display.*; public dynamic class table_debris_03 extends MovieClip { } }//package
Section 557
//table_small_01 (table_small_01) package { import flash.display.*; public dynamic class table_small_01 extends MovieClip { } }//package
Section 558
//tips (tips) package { import flash.display.*; public dynamic class tips extends MovieClip { } }//package
Section 559
//trace_axe_01 (trace_axe_01) package { import flash.display.*; public dynamic class trace_axe_01 extends MovieClip { } }//package
Section 560
//trace_axe_02 (trace_axe_02) package { import flash.display.*; public dynamic class trace_axe_02 extends MovieClip { } }//package
Section 561
//trace_axe_03 (trace_axe_03) package { import flash.display.*; public dynamic class trace_axe_03 extends MovieClip { } }//package
Section 562
//trace_bazooka_rocket (trace_bazooka_rocket) package { import flash.display.*; public dynamic class trace_bazooka_rocket extends MovieClip { } }//package
Section 563
//trace_machete_01 (trace_machete_01) package { import flash.display.*; public dynamic class trace_machete_01 extends MovieClip { } }//package
Section 564
//trace_machete_02 (trace_machete_02) package { import flash.display.*; public dynamic class trace_machete_02 extends MovieClip { } }//package
Section 565
//trace_machete_03 (trace_machete_03) package { import flash.display.*; public dynamic class trace_machete_03 extends MovieClip { } }//package
Section 566
//trace_sword_01 (trace_sword_01) package { import flash.display.*; public dynamic class trace_sword_01 extends MovieClip { } }//package
Section 567
//trace_sword_02 (trace_sword_02) package { import flash.display.*; public dynamic class trace_sword_02 extends MovieClip { } }//package
Section 568
//trace_sword_03 (trace_sword_03) package { import flash.display.*; public dynamic class trace_sword_03 extends MovieClip { } }//package
Section 569
//trashcan (trashcan) package { import flash.display.*; public dynamic class trashcan extends MovieClip { } }//package
Section 570
//tutorial_target (tutorial_target) package { import flash.display.*; public dynamic class tutorial_target extends MovieClip { } }//package
Section 571
//tutorial_target_debris_01 (tutorial_target_debris_01) package { import flash.display.*; public dynamic class tutorial_target_debris_01 extends MovieClip { } }//package
Section 572
//tutorial_target_debris_02 (tutorial_target_debris_02) package { import flash.display.*; public dynamic class tutorial_target_debris_02 extends MovieClip { } }//package
Section 573
//tutorial_target_debris_03 (tutorial_target_debris_03) package { import flash.display.*; public dynamic class tutorial_target_debris_03 extends MovieClip { } }//package
Section 574
//uzi00 (uzi00) package { import flash.media.*; public dynamic class uzi00 extends Sound { } }//package
Section 575
//uzi01 (uzi01) package { import flash.media.*; public dynamic class uzi01 extends Sound { } }//package
Section 576
//wilhelm (wilhelm) package { import flash.media.*; public dynamic class wilhelm extends Sound { } }//package
Section 577
//windmill_propeller (windmill_propeller) package { import flash.display.*; public dynamic class windmill_propeller extends MovieClip { } }//package
Section 578
//window_seg (window_seg) package { import flash.display.*; public dynamic class window_seg extends MovieClip { } }//package
Section 579
//voltage_02 (voltage_02) package { import flash.media.*; public dynamic class voltage_02 extends Sound { } }//package
Section 580
//wood_impact00 (wood_impact00) package { import flash.media.*; public dynamic class wood_impact00 extends Sound { } }//package
Section 581
//wpn_axe (wpn_axe) package { import flash.display.*; public dynamic class wpn_axe extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 582
//wpn_bazooka (wpn_bazooka) package { import flash.display.*; public dynamic class wpn_bazooka extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 583
//wpn_flamethrower (wpn_flamethrower) package { import flash.display.*; public dynamic class wpn_flamethrower extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 584
//wpn_grenade_thrown (wpn_grenade_thrown) package { import flash.display.*; public dynamic class wpn_grenade_thrown extends MovieClip { } }//package
Section 585
//wpn_grenades (wpn_grenades) package { import flash.display.*; public dynamic class wpn_grenades extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 586
//wpn_machete (wpn_machete) package { import flash.display.*; public dynamic class wpn_machete extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 587
//wpn_magnum (wpn_magnum) package { import flash.display.*; public dynamic class wpn_magnum extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 588
//wpn_medkit (wpn_medkit) package { import flash.display.*; public dynamic class wpn_medkit extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 589
//wpn_molotov_thrown (wpn_molotov_thrown) package { import flash.display.*; public dynamic class wpn_molotov_thrown extends MovieClip { } }//package
Section 590
//wpn_molotovs (wpn_molotovs) package { import flash.display.*; public dynamic class wpn_molotovs extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 591
//wpn_pills (wpn_pills) package { import flash.display.*; public dynamic class wpn_pills extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 592
//wpn_pistol (wpn_pistol) package { import flash.display.*; public dynamic class wpn_pistol extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 593
//wpn_rifle (wpn_rifle) package { import flash.display.*; public dynamic class wpn_rifle extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 594
//wpn_shotgun (wpn_shotgun) package { import flash.display.*; public dynamic class wpn_shotgun extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 595
//wpn_slowmo_05 (wpn_slowmo_05) package { import flash.display.*; public dynamic class wpn_slowmo_05 extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 596
//wpn_slowmo_10 (wpn_slowmo_10) package { import flash.display.*; public dynamic class wpn_slowmo_10 extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 597
//wpn_sniper (wpn_sniper) package { import flash.display.*; public dynamic class wpn_sniper extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 598
//wpn_sword (wpn_sword) package { import flash.display.*; public dynamic class wpn_sword extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package
Section 599
//wpn_uzi (wpn_uzi) package { import flash.display.*; public dynamic class wpn_uzi extends MovieClip { public var indicator:MovieClip; public var shine:MovieClip; } }//package

Library Items

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

Instance Names

"__id0_"Frame 1Symbol 101 MovieClip {com.newgrounds.components.APIConnector}
"medal_popup"Frame 1Symbol 41 MovieClip {com.newgrounds.components.MedalPopup}
"loadTxt"Frame 1Symbol 111 EditableText
"mythologic_link"Frame 1Symbol 113 Button
"playBtn"Frame 3Symbol 119 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}
"medalNameText"Symbol 41 MovieClip {com.newgrounds.components.MedalPopup} Frame 10Symbol 34 EditableText
"medalValueText"Symbol 41 MovieClip {com.newgrounds.components.MedalPopup} Frame 10Symbol 37 EditableText
"medalContainer"Symbol 41 MovieClip {com.newgrounds.components.MedalPopup} Frame 10Symbol 39 MovieClip
"shadow"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 67 MovieClip
"c"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 69 MovieClip
"b"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 71 MovieClip
"t"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 73 MovieClip
"l"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 75 MovieClip
"r"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 77 MovieClip
"tl"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 79 MovieClip
"tr"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 81 MovieClip
"bl"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 83 MovieClip
"br"Symbol 86 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 85 MovieClip
"errorDialog"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 5Symbol 59 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5}
"errorDialog"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 6Symbol 63 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7}
"background"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 7Symbol 65 MovieClip
"closeButton"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 7Symbol 90 Button
"viewLatestButton"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 7Symbol 96 Button
"viewAuthorizedButton"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 8Symbol 96 Button
"shine"Symbol 222 MovieClip {wpn_pistol} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 222 MovieClip {wpn_pistol} Frame 1Symbol 221 MovieClip
"shine"Symbol 222 MovieClip {wpn_pistol} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 227 MovieClip {wpn_rifle} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 227 MovieClip {wpn_rifle} Frame 1Symbol 226 MovieClip
"shine"Symbol 227 MovieClip {wpn_rifle} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 232 MovieClip {wpn_shotgun} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 232 MovieClip {wpn_shotgun} Frame 1Symbol 231 MovieClip
"shine"Symbol 232 MovieClip {wpn_shotgun} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 237 MovieClip {wpn_sniper} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 237 MovieClip {wpn_sniper} Frame 1Symbol 236 MovieClip
"shine"Symbol 237 MovieClip {wpn_sniper} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 256 MovieClip {wpn_bazooka} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 256 MovieClip {wpn_bazooka} Frame 1Symbol 255 MovieClip
"shine"Symbol 256 MovieClip {wpn_bazooka} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 282 MovieClip {wpn_grenades} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 282 MovieClip {wpn_grenades} Frame 1Symbol 281 MovieClip
"shine"Symbol 282 MovieClip {wpn_grenades} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 290 MovieClip {wpn_molotovs} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 290 MovieClip {wpn_molotovs} Frame 1Symbol 289 MovieClip
"shine"Symbol 290 MovieClip {wpn_molotovs} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 295 MovieClip {wpn_sword} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 295 MovieClip {wpn_sword} Frame 1Symbol 294 MovieClip
"shine"Symbol 295 MovieClip {wpn_sword} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 300 MovieClip {wpn_machete} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 300 MovieClip {wpn_machete} Frame 1Symbol 299 MovieClip
"shine"Symbol 300 MovieClip {wpn_machete} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"HELPMC"Symbol 334 MovieClip {Superfighters_fla.fall_f_hitclip_76} Frame 1Symbol 333 MovieClip
"HELPMC"Symbol 337 MovieClip {Superfighters_fla.fall_b_hitclip_78} Frame 1Symbol 336 MovieClip
"HELPMC"Symbol 360 MovieClip {Superfighters_fla.dive_hitclip_86} Frame 1Symbol 359 MovieClip
"DOLL"Symbol 468 MovieClip {Superfighters_fla.grabbed_hitclip_117} Frame 1Symbol 333 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 1Symbol 318 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 2Symbol 321 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 3Symbol 328 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 4Symbol 334 MovieClip {Superfighters_fla.fall_f_hitclip_76}
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 5Symbol 337 MovieClip {Superfighters_fla.fall_b_hitclip_78}
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 6Symbol 341 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 7Symbol 342 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 8Symbol 345 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 9Symbol 350 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 10Symbol 353 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 11Symbol 357 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 12Symbol 360 MovieClip {Superfighters_fla.dive_hitclip_86}
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 13Symbol 365 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 14Symbol 370 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 15Symbol 375 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 16Symbol 381 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 17Symbol 386 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 18Symbol 392 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 19Symbol 398 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 20Symbol 404 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 21Symbol 410 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 22Symbol 416 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 23Symbol 422 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 24Symbol 428 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 25Symbol 433 MovieClip
"ANIM_WPN"Symbol 491 MovieClip {player_hitarea} Frame 26Symbol 436 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 27Symbol 433 MovieClip
"ANIM_WPN"Symbol 491 MovieClip {player_hitarea} Frame 28Symbol 436 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 29Symbol 437 MovieClip
"ANIM_WPN"Symbol 491 MovieClip {player_hitarea} Frame 30Symbol 439 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 31Symbol 437 MovieClip
"ANIM_WPN"Symbol 491 MovieClip {player_hitarea} Frame 32Symbol 440 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 33Symbol 437 MovieClip
"ANIM_WPN"Symbol 491 MovieClip {player_hitarea} Frame 34Symbol 442 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 35Symbol 443 MovieClip
"ANIM_WPN"Symbol 491 MovieClip {player_hitarea} Frame 36Symbol 445 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 37Symbol 443 MovieClip
"ANIM_WPN"Symbol 491 MovieClip {player_hitarea} Frame 38Symbol 448 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 39Symbol 443 MovieClip
"ANIM_WPN"Symbol 491 MovieClip {player_hitarea} Frame 40Symbol 448 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 41Symbol 451 MovieClip
"ANIM_WPN"Symbol 491 MovieClip {player_hitarea} Frame 41Symbol 453 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 43Symbol 456 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 44Symbol 459 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 46Symbol 459 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 47Symbol 463 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 48Symbol 465 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 49Symbol 467 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 50Symbol 468 MovieClip {Superfighters_fla.grabbed_hitclip_117}
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 51Symbol 471 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 52Symbol 474 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 53Symbol 477 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 54Symbol 484 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 55Symbol 489 MovieClip
"ANIM"Symbol 491 MovieClip {player_hitarea} Frame 56Symbol 490 MovieClip
"shine"Symbol 504 MovieClip {wpn_axe} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 504 MovieClip {wpn_axe} Frame 1Symbol 503 MovieClip
"shine"Symbol 504 MovieClip {wpn_axe} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 509 MovieClip {wpn_flamethrower} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 509 MovieClip {wpn_flamethrower} Frame 1Symbol 508 MovieClip
"shine"Symbol 509 MovieClip {wpn_flamethrower} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 540 MovieClip {wpn_slowmo_10} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 540 MovieClip {wpn_slowmo_10} Frame 1Symbol 539 MovieClip
"shine"Symbol 540 MovieClip {wpn_slowmo_10} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"HELPMC"Symbol 605 MovieClip {Superfighters_fla.fall_f_johnny_164} Frame 1Symbol 604 MovieClip
"HELPMC"Symbol 608 MovieClip {Superfighters_fla.fall_b_johnny_166} Frame 1Symbol 607 MovieClip
"HELPMC"Symbol 626 MovieClip {Superfighters_fla.dive_johnny_174} Frame 1Symbol 625 MovieClip
"AIM_POSITION"Symbol 667 MovieClip {Superfighters_fla.aim_pistol_johnny_190} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 667 MovieClip {Superfighters_fla.aim_pistol_johnny_190} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 667 MovieClip {Superfighters_fla.aim_pistol_johnny_190} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 667 MovieClip {Superfighters_fla.aim_pistol_johnny_190} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 671 MovieClip {Superfighters_fla.aim_magnum_johnny_193} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 671 MovieClip {Superfighters_fla.aim_magnum_johnny_193} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 671 MovieClip {Superfighters_fla.aim_magnum_johnny_193} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 671 MovieClip {Superfighters_fla.aim_magnum_johnny_193} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 675 MovieClip {Superfighters_fla.aim_rifle_johnny_195} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 675 MovieClip {Superfighters_fla.aim_rifle_johnny_195} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 675 MovieClip {Superfighters_fla.aim_rifle_johnny_195} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 675 MovieClip {Superfighters_fla.aim_rifle_johnny_195} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 679 MovieClip {Superfighters_fla.aim_uzi_johnny_197} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 679 MovieClip {Superfighters_fla.aim_uzi_johnny_197} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 679 MovieClip {Superfighters_fla.aim_uzi_johnny_197} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 679 MovieClip {Superfighters_fla.aim_uzi_johnny_197} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 684 MovieClip {Superfighters_fla.aim_shotgun_johnny_199} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 684 MovieClip {Superfighters_fla.aim_shotgun_johnny_199} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 684 MovieClip {Superfighters_fla.aim_shotgun_johnny_199} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 684 MovieClip {Superfighters_fla.aim_shotgun_johnny_199} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 688 MovieClip {Superfighters_fla.aim_sniper_johnny_201} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 688 MovieClip {Superfighters_fla.aim_sniper_johnny_201} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 688 MovieClip {Superfighters_fla.aim_sniper_johnny_201} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 688 MovieClip {Superfighters_fla.aim_sniper_johnny_201} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 688 MovieClip {Superfighters_fla.aim_sniper_johnny_201} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 692 MovieClip {Superfighters_fla.aim_bazooka_johnny_203} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 692 MovieClip {Superfighters_fla.aim_bazooka_johnny_203} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 692 MovieClip {Superfighters_fla.aim_bazooka_johnny_203} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 692 MovieClip {Superfighters_fla.aim_bazooka_johnny_203} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 698 MovieClip {Superfighters_fla.aim_flamethrower_johnny_206} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 698 MovieClip {Superfighters_fla.aim_flamethrower_johnny_206} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 698 MovieClip {Superfighters_fla.aim_flamethrower_johnny_206} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 698 MovieClip {Superfighters_fla.aim_flamethrower_johnny_206} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 702 MovieClip {Superfighters_fla.aim_throw_johnny_208} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 717 MovieClip {Superfighters_fla.grabbed_johnny_215} Frame 1Symbol 604 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 1Symbol 595 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 2Symbol 598 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 3Symbol 601 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 4Symbol 605 MovieClip {Superfighters_fla.fall_f_johnny_164}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 5Symbol 608 MovieClip {Superfighters_fla.fall_b_johnny_166}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 6Symbol 612 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 7Symbol 614 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 8Symbol 615 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 9Symbol 618 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 10Symbol 621 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 11Symbol 623 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 12Symbol 626 MovieClip {Superfighters_fla.dive_johnny_174}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 13Symbol 629 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 14Symbol 632 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 15Symbol 635 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 16Symbol 638 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 17Symbol 640 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 18Symbol 643 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 19Symbol 646 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 20Symbol 649 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 21Symbol 652 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 22Symbol 655 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 23Symbol 658 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 24Symbol 661 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 25Symbol 665 MovieClip
"ANIM_WPN"Symbol 731 MovieClip {player_johnny} Frame 26Symbol 667 MovieClip {Superfighters_fla.aim_pistol_johnny_190}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 27Symbol 669 MovieClip
"ANIM_WPN"Symbol 731 MovieClip {player_johnny} Frame 28Symbol 671 MovieClip {Superfighters_fla.aim_magnum_johnny_193}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 29Symbol 673 MovieClip
"ANIM_WPN"Symbol 731 MovieClip {player_johnny} Frame 30Symbol 675 MovieClip {Superfighters_fla.aim_rifle_johnny_195}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 31Symbol 677 MovieClip
"ANIM_WPN"Symbol 731 MovieClip {player_johnny} Frame 32Symbol 679 MovieClip {Superfighters_fla.aim_uzi_johnny_197}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 33Symbol 681 MovieClip
"ANIM_WPN"Symbol 731 MovieClip {player_johnny} Frame 34Symbol 684 MovieClip {Superfighters_fla.aim_shotgun_johnny_199}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 35Symbol 686 MovieClip
"ANIM_WPN"Symbol 731 MovieClip {player_johnny} Frame 36Symbol 688 MovieClip {Superfighters_fla.aim_sniper_johnny_201}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 37Symbol 690 MovieClip
"ANIM_WPN"Symbol 731 MovieClip {player_johnny} Frame 38Symbol 692 MovieClip {Superfighters_fla.aim_bazooka_johnny_203}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 39Symbol 696 MovieClip
"ANIM_WPN"Symbol 731 MovieClip {player_johnny} Frame 40Symbol 698 MovieClip {Superfighters_fla.aim_flamethrower_johnny_206}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 41Symbol 700 MovieClip
"ANIM_WPN"Symbol 731 MovieClip {player_johnny} Frame 41Symbol 702 MovieClip {Superfighters_fla.aim_throw_johnny_208}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 42Symbol 704 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 43Symbol 706 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 44Symbol 708 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 46Symbol 708 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 47Symbol 712 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 48Symbol 714 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 49Symbol 716 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 50Symbol 717 MovieClip {Superfighters_fla.grabbed_johnny_215}
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 51Symbol 719 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 52Symbol 721 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 53Symbol 723 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 54Symbol 727 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 55Symbol 730 MovieClip
"ANIM"Symbol 731 MovieClip {player_johnny} Frame 56Symbol 490 MovieClip
"shine"Symbol 781 MovieClip {wpn_medkit} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 781 MovieClip {wpn_medkit} Frame 1Symbol 780 MovieClip
"shine"Symbol 781 MovieClip {wpn_medkit} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 786 MovieClip {wpn_pills} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 786 MovieClip {wpn_pills} Frame 1Symbol 785 MovieClip
"shine"Symbol 786 MovieClip {wpn_pills} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 791 MovieClip {wpn_magnum} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 791 MovieClip {wpn_magnum} Frame 1Symbol 790 MovieClip
"shine"Symbol 791 MovieClip {wpn_magnum} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"HELPMC"Symbol 797 MovieClip {Superfighters_fla.fall_f_boris_246} Frame 1Symbol 796 MovieClip
"HELPMC"Symbol 800 MovieClip {Superfighters_fla.fall_b_boris_248} Frame 1Symbol 799 MovieClip
"HELPMC"Symbol 814 MovieClip {Superfighters_fla.dive_boris_256} Frame 1Symbol 813 MovieClip
"AIM_POSITION"Symbol 830 MovieClip {Superfighters_fla.aim_pistol_boris_272} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 830 MovieClip {Superfighters_fla.aim_pistol_boris_272} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 830 MovieClip {Superfighters_fla.aim_pistol_boris_272} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 830 MovieClip {Superfighters_fla.aim_pistol_boris_272} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 834 MovieClip {Superfighters_fla.aim_magnum_boris_274} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 834 MovieClip {Superfighters_fla.aim_magnum_boris_274} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 834 MovieClip {Superfighters_fla.aim_magnum_boris_274} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 834 MovieClip {Superfighters_fla.aim_magnum_boris_274} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 838 MovieClip {Superfighters_fla.aim_rifle_boris_276} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 838 MovieClip {Superfighters_fla.aim_rifle_boris_276} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 838 MovieClip {Superfighters_fla.aim_rifle_boris_276} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 838 MovieClip {Superfighters_fla.aim_rifle_boris_276} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 842 MovieClip {Superfighters_fla.aim_uzi_boris_278} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 842 MovieClip {Superfighters_fla.aim_uzi_boris_278} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 842 MovieClip {Superfighters_fla.aim_uzi_boris_278} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 842 MovieClip {Superfighters_fla.aim_uzi_boris_278} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 847 MovieClip {Superfighters_fla.aim_shotgun_boris_280} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 847 MovieClip {Superfighters_fla.aim_shotgun_boris_280} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 847 MovieClip {Superfighters_fla.aim_shotgun_boris_280} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 847 MovieClip {Superfighters_fla.aim_shotgun_boris_280} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 851 MovieClip {Superfighters_fla.aim_sniper_boris_282} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 851 MovieClip {Superfighters_fla.aim_sniper_boris_282} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 851 MovieClip {Superfighters_fla.aim_sniper_boris_282} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 851 MovieClip {Superfighters_fla.aim_sniper_boris_282} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 851 MovieClip {Superfighters_fla.aim_sniper_boris_282} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 854 MovieClip {Superfighters_fla.aim_bazooka_boris_284} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 854 MovieClip {Superfighters_fla.aim_bazooka_boris_284} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 854 MovieClip {Superfighters_fla.aim_bazooka_boris_284} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 854 MovieClip {Superfighters_fla.aim_bazooka_boris_284} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 860 MovieClip {Superfighters_fla.aim_flamethrower_boris_287} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 860 MovieClip {Superfighters_fla.aim_flamethrower_boris_287} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 860 MovieClip {Superfighters_fla.aim_flamethrower_boris_287} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 860 MovieClip {Superfighters_fla.aim_flamethrower_boris_287} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 863 MovieClip {Superfighters_fla.aim_throw_boris_289} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 875 MovieClip {Superfighters_fla.grabbed_boris_296} Frame 1Symbol 796 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 1Symbol 792 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 2Symbol 794 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 3Symbol 795 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 4Symbol 797 MovieClip {Superfighters_fla.fall_f_boris_246}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 5Symbol 800 MovieClip {Superfighters_fla.fall_b_boris_248}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 6Symbol 804 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 7Symbol 805 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 8Symbol 806 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 9Symbol 807 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 10Symbol 810 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 11Symbol 811 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 12Symbol 814 MovieClip {Superfighters_fla.dive_boris_256}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 13Symbol 815 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 14Symbol 816 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 15Symbol 817 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 16Symbol 818 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 17Symbol 819 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 18Symbol 820 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 19Symbol 821 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 20Symbol 822 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 21Symbol 823 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 22Symbol 824 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 23Symbol 825 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 24Symbol 826 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 25Symbol 829 MovieClip
"ANIM_WPN"Symbol 881 MovieClip {player_boris} Frame 26Symbol 830 MovieClip {Superfighters_fla.aim_pistol_boris_272}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 27Symbol 832 MovieClip
"ANIM_WPN"Symbol 881 MovieClip {player_boris} Frame 28Symbol 834 MovieClip {Superfighters_fla.aim_magnum_boris_274}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 29Symbol 836 MovieClip
"ANIM_WPN"Symbol 881 MovieClip {player_boris} Frame 30Symbol 838 MovieClip {Superfighters_fla.aim_rifle_boris_276}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 31Symbol 840 MovieClip
"ANIM_WPN"Symbol 881 MovieClip {player_boris} Frame 32Symbol 842 MovieClip {Superfighters_fla.aim_uzi_boris_278}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 33Symbol 844 MovieClip
"ANIM_WPN"Symbol 881 MovieClip {player_boris} Frame 34Symbol 847 MovieClip {Superfighters_fla.aim_shotgun_boris_280}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 35Symbol 849 MovieClip
"ANIM_WPN"Symbol 881 MovieClip {player_boris} Frame 36Symbol 851 MovieClip {Superfighters_fla.aim_sniper_boris_282}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 37Symbol 853 MovieClip
"ANIM_WPN"Symbol 881 MovieClip {player_boris} Frame 38Symbol 854 MovieClip {Superfighters_fla.aim_bazooka_boris_284}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 39Symbol 858 MovieClip
"ANIM_WPN"Symbol 881 MovieClip {player_boris} Frame 40Symbol 860 MovieClip {Superfighters_fla.aim_flamethrower_boris_287}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 41Symbol 861 MovieClip
"ANIM_WPN"Symbol 881 MovieClip {player_boris} Frame 41Symbol 863 MovieClip {Superfighters_fla.aim_throw_boris_289}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 42Symbol 865 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 43Symbol 866 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 44Symbol 867 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 46Symbol 867 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 47Symbol 871 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 48Symbol 873 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 49Symbol 874 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 50Symbol 875 MovieClip {Superfighters_fla.grabbed_boris_296}
"ANIM"Symbol 881 MovieClip {player_boris} Frame 51Symbol 876 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 52Symbol 877 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 53Symbol 878 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 54Symbol 879 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 55Symbol 880 MovieClip
"ANIM"Symbol 881 MovieClip {player_boris} Frame 56Symbol 490 MovieClip
"shine"Symbol 885 MovieClip {wpn_slowmo_05} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 885 MovieClip {wpn_slowmo_05} Frame 1Symbol 539 MovieClip
"shine"Symbol 885 MovieClip {wpn_slowmo_05} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"shine"Symbol 896 MovieClip {wpn_uzi} Frame 1Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"indicator"Symbol 896 MovieClip {wpn_uzi} Frame 1Symbol 895 MovieClip
"shine"Symbol 896 MovieClip {wpn_uzi} Frame 2Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38}
"HELPMC"Symbol 914 MovieClip {Superfighters_fla.fall_f_blood_312} Frame 1Symbol 913 MovieClip
"HELPMC"Symbol 917 MovieClip {Superfighters_fla.fall_b_blood_314} Frame 1Symbol 916 MovieClip
"HELPMC"Symbol 935 MovieClip {Superfighters_fla.dive_blood_322} Frame 1Symbol 934 MovieClip
"DOLL"Symbol 1026 MovieClip {Superfighters_fla.grabbed_blood_362} Frame 1Symbol 913 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 1Symbol 904 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 2Symbol 907 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 3Symbol 910 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 4Symbol 914 MovieClip {Superfighters_fla.fall_f_blood_312}
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 5Symbol 917 MovieClip {Superfighters_fla.fall_b_blood_314}
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 6Symbol 921 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 7Symbol 923 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 8Symbol 924 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 9Symbol 927 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 10Symbol 930 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 11Symbol 932 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 12Symbol 935 MovieClip {Superfighters_fla.dive_blood_322}
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 13Symbol 938 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 14Symbol 941 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 15Symbol 944 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 16Symbol 947 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 17Symbol 949 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 18Symbol 952 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 19Symbol 955 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 20Symbol 958 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 21Symbol 961 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 22Symbol 964 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 23Symbol 967 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 24Symbol 970 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 25Symbol 974 MovieClip
"ANIM_WPN"Symbol 1040 MovieClip {player_blood} Frame 26Symbol 976 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 27Symbol 978 MovieClip
"ANIM_WPN"Symbol 1040 MovieClip {player_blood} Frame 28Symbol 980 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 29Symbol 982 MovieClip
"ANIM_WPN"Symbol 1040 MovieClip {player_blood} Frame 30Symbol 984 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 31Symbol 986 MovieClip
"ANIM_WPN"Symbol 1040 MovieClip {player_blood} Frame 32Symbol 988 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 33Symbol 990 MovieClip
"ANIM_WPN"Symbol 1040 MovieClip {player_blood} Frame 34Symbol 993 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 35Symbol 995 MovieClip
"ANIM_WPN"Symbol 1040 MovieClip {player_blood} Frame 36Symbol 997 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 37Symbol 999 MovieClip
"ANIM_WPN"Symbol 1040 MovieClip {player_blood} Frame 38Symbol 1001 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 39Symbol 1005 MovieClip
"ANIM_WPN"Symbol 1040 MovieClip {player_blood} Frame 40Symbol 1007 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 41Symbol 1009 MovieClip
"ANIM_WPN"Symbol 1040 MovieClip {player_blood} Frame 41Symbol 1011 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 42Symbol 1013 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 43Symbol 1015 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 44Symbol 1017 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 46Symbol 1017 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 47Symbol 1021 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 48Symbol 1023 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 49Symbol 1025 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 50Symbol 1026 MovieClip {Superfighters_fla.grabbed_blood_362}
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 51Symbol 1028 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 52Symbol 1030 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 53Symbol 1032 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 54Symbol 1036 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 55Symbol 1039 MovieClip
"ANIM"Symbol 1040 MovieClip {player_blood} Frame 56Symbol 490 MovieClip
"HELPMC"Symbol 1119 MovieClip {Superfighters_fla.fall_f_agent_391} Frame 1Symbol 1118 MovieClip
"HELPMC"Symbol 1122 MovieClip {Superfighters_fla.fall_b_agent_393} Frame 1Symbol 1121 MovieClip
"HELPMC"Symbol 1140 MovieClip {Superfighters_fla.dive_agent_401} Frame 1Symbol 1139 MovieClip
"AIM_POSITION"Symbol 1181 MovieClip {Superfighters_fla.aim_pistol_agent_417} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1181 MovieClip {Superfighters_fla.aim_pistol_agent_417} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1181 MovieClip {Superfighters_fla.aim_pistol_agent_417} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1181 MovieClip {Superfighters_fla.aim_pistol_agent_417} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1185 MovieClip {Superfighters_fla.aim_magnum_agent_419} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1185 MovieClip {Superfighters_fla.aim_magnum_agent_419} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1185 MovieClip {Superfighters_fla.aim_magnum_agent_419} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1185 MovieClip {Superfighters_fla.aim_magnum_agent_419} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1189 MovieClip {Superfighters_fla.aim_rifle_agent_421} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1189 MovieClip {Superfighters_fla.aim_rifle_agent_421} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1189 MovieClip {Superfighters_fla.aim_rifle_agent_421} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1189 MovieClip {Superfighters_fla.aim_rifle_agent_421} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1193 MovieClip {Superfighters_fla.aim_uzi_agent_423} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1193 MovieClip {Superfighters_fla.aim_uzi_agent_423} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1193 MovieClip {Superfighters_fla.aim_uzi_agent_423} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1193 MovieClip {Superfighters_fla.aim_uzi_agent_423} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1198 MovieClip {Superfighters_fla.aim_shotgun_agent_425} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1198 MovieClip {Superfighters_fla.aim_shotgun_agent_425} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1198 MovieClip {Superfighters_fla.aim_shotgun_agent_425} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1198 MovieClip {Superfighters_fla.aim_shotgun_agent_425} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1202 MovieClip {Superfighters_fla.aim_sniper_agent_427} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1202 MovieClip {Superfighters_fla.aim_sniper_agent_427} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1202 MovieClip {Superfighters_fla.aim_sniper_agent_427} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1202 MovieClip {Superfighters_fla.aim_sniper_agent_427} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1202 MovieClip {Superfighters_fla.aim_sniper_agent_427} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1206 MovieClip {Superfighters_fla.aim_bazooka_agent_429} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1206 MovieClip {Superfighters_fla.aim_bazooka_agent_429} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1206 MovieClip {Superfighters_fla.aim_bazooka_agent_429} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1206 MovieClip {Superfighters_fla.aim_bazooka_agent_429} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1212 MovieClip {Superfighters_fla.aim_flamethrower_agent_432} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1212 MovieClip {Superfighters_fla.aim_flamethrower_agent_432} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1212 MovieClip {Superfighters_fla.aim_flamethrower_agent_432} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1212 MovieClip {Superfighters_fla.aim_flamethrower_agent_432} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1216 MovieClip {Superfighters_fla.aim_throw_agent_434} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1231 MovieClip {Superfighters_fla.grabbed_agent_441} Frame 1Symbol 1118 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 1Symbol 1109 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 2Symbol 1112 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 3Symbol 1115 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 4Symbol 1119 MovieClip {Superfighters_fla.fall_f_agent_391}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 5Symbol 1122 MovieClip {Superfighters_fla.fall_b_agent_393}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 6Symbol 1126 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 7Symbol 1128 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 8Symbol 1129 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 9Symbol 1132 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 10Symbol 1135 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 11Symbol 1137 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 12Symbol 1140 MovieClip {Superfighters_fla.dive_agent_401}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 13Symbol 1143 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 14Symbol 1146 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 15Symbol 1149 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 16Symbol 1152 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 17Symbol 1154 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 18Symbol 1157 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 19Symbol 1160 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 20Symbol 1163 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 21Symbol 1166 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 22Symbol 1169 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 23Symbol 1172 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 24Symbol 1175 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 25Symbol 1179 MovieClip
"ANIM_WPN"Symbol 1245 MovieClip {player_agent} Frame 26Symbol 1181 MovieClip {Superfighters_fla.aim_pistol_agent_417}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 27Symbol 1183 MovieClip
"ANIM_WPN"Symbol 1245 MovieClip {player_agent} Frame 28Symbol 1185 MovieClip {Superfighters_fla.aim_magnum_agent_419}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 29Symbol 1187 MovieClip
"ANIM_WPN"Symbol 1245 MovieClip {player_agent} Frame 30Symbol 1189 MovieClip {Superfighters_fla.aim_rifle_agent_421}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 31Symbol 1191 MovieClip
"ANIM_WPN"Symbol 1245 MovieClip {player_agent} Frame 32Symbol 1193 MovieClip {Superfighters_fla.aim_uzi_agent_423}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 33Symbol 1195 MovieClip
"ANIM_WPN"Symbol 1245 MovieClip {player_agent} Frame 34Symbol 1198 MovieClip {Superfighters_fla.aim_shotgun_agent_425}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 35Symbol 1200 MovieClip
"ANIM_WPN"Symbol 1245 MovieClip {player_agent} Frame 36Symbol 1202 MovieClip {Superfighters_fla.aim_sniper_agent_427}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 37Symbol 1204 MovieClip
"ANIM_WPN"Symbol 1245 MovieClip {player_agent} Frame 38Symbol 1206 MovieClip {Superfighters_fla.aim_bazooka_agent_429}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 39Symbol 1210 MovieClip
"ANIM_WPN"Symbol 1245 MovieClip {player_agent} Frame 40Symbol 1212 MovieClip {Superfighters_fla.aim_flamethrower_agent_432}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 41Symbol 1214 MovieClip
"ANIM_WPN"Symbol 1245 MovieClip {player_agent} Frame 41Symbol 1216 MovieClip {Superfighters_fla.aim_throw_agent_434}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 42Symbol 1218 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 43Symbol 1220 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 44Symbol 1222 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 46Symbol 1222 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 47Symbol 1226 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 48Symbol 1228 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 49Symbol 1230 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 50Symbol 1231 MovieClip {Superfighters_fla.grabbed_agent_441}
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 51Symbol 1233 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 52Symbol 1235 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 53Symbol 1237 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 54Symbol 1241 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 55Symbol 1244 MovieClip
"ANIM"Symbol 1245 MovieClip {player_agent} Frame 56Symbol 490 MovieClip
"HELPMC"Symbol 1281 MovieClip {Superfighters_fla.fall_f_burnt_449} Frame 1Symbol 1280 MovieClip
"HELPMC"Symbol 1284 MovieClip {Superfighters_fla.fall_b_burnt_451} Frame 1Symbol 1283 MovieClip
"DOLL"Symbol 1288 MovieClip {Superfighters_fla.grabbed_burnt_454} Frame 1Symbol 1280 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 1Symbol 792 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 2Symbol 794 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 3Symbol 795 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 4Symbol 1281 MovieClip {Superfighters_fla.fall_f_burnt_449}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 5Symbol 1284 MovieClip {Superfighters_fla.fall_b_burnt_451}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 6Symbol 1287 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 7Symbol 805 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 8Symbol 806 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 9Symbol 807 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 10Symbol 810 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 11Symbol 811 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 12Symbol 814 MovieClip {Superfighters_fla.dive_boris_256}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 13Symbol 815 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 14Symbol 816 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 15Symbol 817 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 16Symbol 818 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 17Symbol 819 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 18Symbol 820 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 19Symbol 821 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 20Symbol 822 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 21Symbol 823 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 22Symbol 824 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 23Symbol 825 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 24Symbol 826 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 25Symbol 829 MovieClip
"ANIM_WPN"Symbol 1292 MovieClip {player_burnt} Frame 26Symbol 830 MovieClip {Superfighters_fla.aim_pistol_boris_272}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 27Symbol 832 MovieClip
"ANIM_WPN"Symbol 1292 MovieClip {player_burnt} Frame 28Symbol 834 MovieClip {Superfighters_fla.aim_magnum_boris_274}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 29Symbol 836 MovieClip
"ANIM_WPN"Symbol 1292 MovieClip {player_burnt} Frame 30Symbol 838 MovieClip {Superfighters_fla.aim_rifle_boris_276}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 31Symbol 840 MovieClip
"ANIM_WPN"Symbol 1292 MovieClip {player_burnt} Frame 32Symbol 842 MovieClip {Superfighters_fla.aim_uzi_boris_278}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 33Symbol 844 MovieClip
"ANIM_WPN"Symbol 1292 MovieClip {player_burnt} Frame 34Symbol 847 MovieClip {Superfighters_fla.aim_shotgun_boris_280}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 35Symbol 849 MovieClip
"ANIM_WPN"Symbol 1292 MovieClip {player_burnt} Frame 36Symbol 851 MovieClip {Superfighters_fla.aim_sniper_boris_282}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 37Symbol 853 MovieClip
"ANIM_WPN"Symbol 1292 MovieClip {player_burnt} Frame 38Symbol 854 MovieClip {Superfighters_fla.aim_bazooka_boris_284}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 39Symbol 858 MovieClip
"ANIM_WPN"Symbol 1292 MovieClip {player_burnt} Frame 40Symbol 860 MovieClip {Superfighters_fla.aim_flamethrower_boris_287}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 41Symbol 861 MovieClip
"ANIM_WPN"Symbol 1292 MovieClip {player_burnt} Frame 41Symbol 863 MovieClip {Superfighters_fla.aim_throw_boris_289}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 42Symbol 865 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 43Symbol 866 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 44Symbol 867 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 46Symbol 867 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 47Symbol 871 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 48Symbol 873 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 49Symbol 874 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 50Symbol 1288 MovieClip {Superfighters_fla.grabbed_burnt_454}
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 51Symbol 876 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 52Symbol 877 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 53Symbol 878 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 54Symbol 879 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 55Symbol 1291 MovieClip
"ANIM"Symbol 1292 MovieClip {player_burnt} Frame 56Symbol 490 MovieClip
"HELPMC"Symbol 1329 MovieClip {Superfighters_fla.fall_f_billy_468} Frame 1Symbol 1328 MovieClip
"HELPMC"Symbol 1332 MovieClip {Superfighters_fla.fall_b_billy_470} Frame 1Symbol 1331 MovieClip
"HELPMC"Symbol 1350 MovieClip {Superfighters_fla.dive_billy_478} Frame 1Symbol 1349 MovieClip
"AIM_POSITION"Symbol 1391 MovieClip {Superfighters_fla.aim_pistol_billy_494} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1391 MovieClip {Superfighters_fla.aim_pistol_billy_494} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1391 MovieClip {Superfighters_fla.aim_pistol_billy_494} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1391 MovieClip {Superfighters_fla.aim_pistol_billy_494} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1395 MovieClip {Superfighters_fla.aim_magnum_billy_496} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1395 MovieClip {Superfighters_fla.aim_magnum_billy_496} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1395 MovieClip {Superfighters_fla.aim_magnum_billy_496} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1395 MovieClip {Superfighters_fla.aim_magnum_billy_496} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1399 MovieClip {Superfighters_fla.aim_rifle_billy_498} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1399 MovieClip {Superfighters_fla.aim_rifle_billy_498} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1399 MovieClip {Superfighters_fla.aim_rifle_billy_498} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1399 MovieClip {Superfighters_fla.aim_rifle_billy_498} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1403 MovieClip {Superfighters_fla.aim_uzi_billy_500} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1403 MovieClip {Superfighters_fla.aim_uzi_billy_500} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1403 MovieClip {Superfighters_fla.aim_uzi_billy_500} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1403 MovieClip {Superfighters_fla.aim_uzi_billy_500} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1408 MovieClip {Superfighters_fla.aim_shotgun_billy_502} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1408 MovieClip {Superfighters_fla.aim_shotgun_billy_502} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1408 MovieClip {Superfighters_fla.aim_shotgun_billy_502} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1408 MovieClip {Superfighters_fla.aim_shotgun_billy_502} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1412 MovieClip {Superfighters_fla.aim_sniper_billy_504} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1412 MovieClip {Superfighters_fla.aim_sniper_billy_504} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1412 MovieClip {Superfighters_fla.aim_sniper_billy_504} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1412 MovieClip {Superfighters_fla.aim_sniper_billy_504} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1412 MovieClip {Superfighters_fla.aim_sniper_billy_504} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1416 MovieClip {Superfighters_fla.aim_bazooka_billy_506} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1416 MovieClip {Superfighters_fla.aim_bazooka_billy_506} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1416 MovieClip {Superfighters_fla.aim_bazooka_billy_506} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1416 MovieClip {Superfighters_fla.aim_bazooka_billy_506} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1422 MovieClip {Superfighters_fla.aim_flamethrower_billy_509} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1422 MovieClip {Superfighters_fla.aim_flamethrower_billy_509} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1422 MovieClip {Superfighters_fla.aim_flamethrower_billy_509} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1422 MovieClip {Superfighters_fla.aim_flamethrower_billy_509} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1426 MovieClip {Superfighters_fla.aim_throw_billy_511} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1441 MovieClip {Superfighters_fla.grabbed_billy_518} Frame 1Symbol 1328 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 1Symbol 1319 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 2Symbol 1322 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 3Symbol 1325 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 4Symbol 1329 MovieClip {Superfighters_fla.fall_f_billy_468}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 5Symbol 1332 MovieClip {Superfighters_fla.fall_b_billy_470}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 6Symbol 1336 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 7Symbol 1338 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 8Symbol 1339 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 9Symbol 1342 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 10Symbol 1345 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 11Symbol 1347 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 12Symbol 1350 MovieClip {Superfighters_fla.dive_billy_478}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 13Symbol 1353 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 14Symbol 1356 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 15Symbol 1359 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 16Symbol 1362 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 17Symbol 1364 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 18Symbol 1367 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 19Symbol 1370 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 20Symbol 1373 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 21Symbol 1376 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 22Symbol 1379 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 23Symbol 1382 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 24Symbol 1385 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 25Symbol 1389 MovieClip
"ANIM_WPN"Symbol 1455 MovieClip {player_billy} Frame 26Symbol 1391 MovieClip {Superfighters_fla.aim_pistol_billy_494}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 27Symbol 1393 MovieClip
"ANIM_WPN"Symbol 1455 MovieClip {player_billy} Frame 28Symbol 1395 MovieClip {Superfighters_fla.aim_magnum_billy_496}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 29Symbol 1397 MovieClip
"ANIM_WPN"Symbol 1455 MovieClip {player_billy} Frame 30Symbol 1399 MovieClip {Superfighters_fla.aim_rifle_billy_498}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 31Symbol 1401 MovieClip
"ANIM_WPN"Symbol 1455 MovieClip {player_billy} Frame 32Symbol 1403 MovieClip {Superfighters_fla.aim_uzi_billy_500}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 33Symbol 1405 MovieClip
"ANIM_WPN"Symbol 1455 MovieClip {player_billy} Frame 34Symbol 1408 MovieClip {Superfighters_fla.aim_shotgun_billy_502}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 35Symbol 1410 MovieClip
"ANIM_WPN"Symbol 1455 MovieClip {player_billy} Frame 36Symbol 1412 MovieClip {Superfighters_fla.aim_sniper_billy_504}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 37Symbol 1414 MovieClip
"ANIM_WPN"Symbol 1455 MovieClip {player_billy} Frame 38Symbol 1416 MovieClip {Superfighters_fla.aim_bazooka_billy_506}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 39Symbol 1420 MovieClip
"ANIM_WPN"Symbol 1455 MovieClip {player_billy} Frame 40Symbol 1422 MovieClip {Superfighters_fla.aim_flamethrower_billy_509}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 41Symbol 1424 MovieClip
"ANIM_WPN"Symbol 1455 MovieClip {player_billy} Frame 41Symbol 1426 MovieClip {Superfighters_fla.aim_throw_billy_511}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 42Symbol 1428 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 43Symbol 1430 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 44Symbol 1432 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 46Symbol 1432 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 47Symbol 1436 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 48Symbol 1438 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 49Symbol 1440 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 50Symbol 1441 MovieClip {Superfighters_fla.grabbed_billy_518}
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 51Symbol 1443 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 52Symbol 1445 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 53Symbol 1447 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 54Symbol 1451 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 55Symbol 1454 MovieClip
"ANIM"Symbol 1455 MovieClip {player_billy} Frame 56Symbol 490 MovieClip
"HELPMC"Symbol 1470 MovieClip {Superfighters_fla.fall_f_scott_528} Frame 1Symbol 1469 MovieClip
"HELPMC"Symbol 1473 MovieClip {Superfighters_fla.fall_b_scott_530} Frame 1Symbol 1472 MovieClip
"HELPMC"Symbol 1491 MovieClip {Superfighters_fla.dive_scott_538} Frame 1Symbol 1490 MovieClip
"AIM_POSITION"Symbol 1532 MovieClip {Superfighters_fla.aim_pistol_scott_554} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1532 MovieClip {Superfighters_fla.aim_pistol_scott_554} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1532 MovieClip {Superfighters_fla.aim_pistol_scott_554} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1532 MovieClip {Superfighters_fla.aim_pistol_scott_554} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1536 MovieClip {Superfighters_fla.aim_magnum_scott_556} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1536 MovieClip {Superfighters_fla.aim_magnum_scott_556} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1536 MovieClip {Superfighters_fla.aim_magnum_scott_556} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1536 MovieClip {Superfighters_fla.aim_magnum_scott_556} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1540 MovieClip {Superfighters_fla.aim_rifle_scott_558} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1540 MovieClip {Superfighters_fla.aim_rifle_scott_558} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1540 MovieClip {Superfighters_fla.aim_rifle_scott_558} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1540 MovieClip {Superfighters_fla.aim_rifle_scott_558} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1544 MovieClip {Superfighters_fla.aim_uzi_scott_560} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1544 MovieClip {Superfighters_fla.aim_uzi_scott_560} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1544 MovieClip {Superfighters_fla.aim_uzi_scott_560} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1544 MovieClip {Superfighters_fla.aim_uzi_scott_560} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1549 MovieClip {Superfighters_fla.aim_shotgun_scott_562} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1549 MovieClip {Superfighters_fla.aim_shotgun_scott_562} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1549 MovieClip {Superfighters_fla.aim_shotgun_scott_562} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1549 MovieClip {Superfighters_fla.aim_shotgun_scott_562} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1553 MovieClip {Superfighters_fla.aim_sniper_scott_564} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1553 MovieClip {Superfighters_fla.aim_sniper_scott_564} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1553 MovieClip {Superfighters_fla.aim_sniper_scott_564} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1553 MovieClip {Superfighters_fla.aim_sniper_scott_564} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1553 MovieClip {Superfighters_fla.aim_sniper_scott_564} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1557 MovieClip {Superfighters_fla.aim_bazooka_scott_566} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1557 MovieClip {Superfighters_fla.aim_bazooka_scott_566} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1557 MovieClip {Superfighters_fla.aim_bazooka_scott_566} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1557 MovieClip {Superfighters_fla.aim_bazooka_scott_566} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1563 MovieClip {Superfighters_fla.aim_flamethrower_scott_569} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1563 MovieClip {Superfighters_fla.aim_flamethrower_scott_569} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1563 MovieClip {Superfighters_fla.aim_flamethrower_scott_569} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1563 MovieClip {Superfighters_fla.aim_flamethrower_scott_569} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1567 MovieClip {Superfighters_fla.aim_throw_scott_571} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1582 MovieClip {Superfighters_fla.grabbed_scott_578} Frame 1Symbol 1469 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 1Symbol 1460 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 2Symbol 1463 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 3Symbol 1466 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 4Symbol 1470 MovieClip {Superfighters_fla.fall_f_scott_528}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 5Symbol 1473 MovieClip {Superfighters_fla.fall_b_scott_530}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 6Symbol 1477 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 7Symbol 1479 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 8Symbol 1480 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 9Symbol 1483 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 10Symbol 1486 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 11Symbol 1488 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 12Symbol 1491 MovieClip {Superfighters_fla.dive_scott_538}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 13Symbol 1494 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 14Symbol 1497 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 15Symbol 1500 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 16Symbol 1503 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 17Symbol 1505 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 18Symbol 1508 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 19Symbol 1511 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 20Symbol 1514 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 21Symbol 1517 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 22Symbol 1520 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 23Symbol 1523 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 24Symbol 1526 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 25Symbol 1530 MovieClip
"ANIM_WPN"Symbol 1596 MovieClip {player_scott} Frame 26Symbol 1532 MovieClip {Superfighters_fla.aim_pistol_scott_554}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 27Symbol 1534 MovieClip
"ANIM_WPN"Symbol 1596 MovieClip {player_scott} Frame 28Symbol 1536 MovieClip {Superfighters_fla.aim_magnum_scott_556}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 29Symbol 1538 MovieClip
"ANIM_WPN"Symbol 1596 MovieClip {player_scott} Frame 30Symbol 1540 MovieClip {Superfighters_fla.aim_rifle_scott_558}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 31Symbol 1542 MovieClip
"ANIM_WPN"Symbol 1596 MovieClip {player_scott} Frame 32Symbol 1544 MovieClip {Superfighters_fla.aim_uzi_scott_560}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 33Symbol 1546 MovieClip
"ANIM_WPN"Symbol 1596 MovieClip {player_scott} Frame 34Symbol 1549 MovieClip {Superfighters_fla.aim_shotgun_scott_562}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 35Symbol 1551 MovieClip
"ANIM_WPN"Symbol 1596 MovieClip {player_scott} Frame 36Symbol 1553 MovieClip {Superfighters_fla.aim_sniper_scott_564}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 37Symbol 1555 MovieClip
"ANIM_WPN"Symbol 1596 MovieClip {player_scott} Frame 38Symbol 1557 MovieClip {Superfighters_fla.aim_bazooka_scott_566}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 39Symbol 1561 MovieClip
"ANIM_WPN"Symbol 1596 MovieClip {player_scott} Frame 40Symbol 1563 MovieClip {Superfighters_fla.aim_flamethrower_scott_569}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 41Symbol 1565 MovieClip
"ANIM_WPN"Symbol 1596 MovieClip {player_scott} Frame 41Symbol 1567 MovieClip {Superfighters_fla.aim_throw_scott_571}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 42Symbol 1569 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 43Symbol 1571 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 44Symbol 1573 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 46Symbol 1573 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 47Symbol 1577 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 48Symbol 1579 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 49Symbol 1581 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 50Symbol 1582 MovieClip {Superfighters_fla.grabbed_scott_578}
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 51Symbol 1584 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 52Symbol 1586 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 53Symbol 1588 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 54Symbol 1592 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 55Symbol 1595 MovieClip
"ANIM"Symbol 1596 MovieClip {player_scott} Frame 56Symbol 490 MovieClip
"HELPMC"Symbol 1643 MovieClip {Superfighters_fla.fall_f_funnyman_597} Frame 1Symbol 1642 MovieClip
"HELPMC"Symbol 1646 MovieClip {Superfighters_fla.fall_b_funnyman_599} Frame 1Symbol 1645 MovieClip
"HELPMC"Symbol 1664 MovieClip {Superfighters_fla.dive_funnyman_607} Frame 1Symbol 1663 MovieClip
"AIM_POSITION"Symbol 1705 MovieClip {Superfighters_fla.aim_pistol_funnyman_623} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1705 MovieClip {Superfighters_fla.aim_pistol_funnyman_623} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1705 MovieClip {Superfighters_fla.aim_pistol_funnyman_623} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1705 MovieClip {Superfighters_fla.aim_pistol_funnyman_623} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1709 MovieClip {Superfighters_fla.aim_magnum_funnyman_625} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1709 MovieClip {Superfighters_fla.aim_magnum_funnyman_625} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1709 MovieClip {Superfighters_fla.aim_magnum_funnyman_625} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1709 MovieClip {Superfighters_fla.aim_magnum_funnyman_625} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1713 MovieClip {Superfighters_fla.aim_rifle_funnyman_627} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1713 MovieClip {Superfighters_fla.aim_rifle_funnyman_627} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1713 MovieClip {Superfighters_fla.aim_rifle_funnyman_627} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1713 MovieClip {Superfighters_fla.aim_rifle_funnyman_627} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1717 MovieClip {Superfighters_fla.aim_uzi_funnyman_629} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1717 MovieClip {Superfighters_fla.aim_uzi_funnyman_629} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1717 MovieClip {Superfighters_fla.aim_uzi_funnyman_629} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1717 MovieClip {Superfighters_fla.aim_uzi_funnyman_629} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1722 MovieClip {Superfighters_fla.aim_shotgun_funnyman_631} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1722 MovieClip {Superfighters_fla.aim_shotgun_funnyman_631} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1722 MovieClip {Superfighters_fla.aim_shotgun_funnyman_631} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1722 MovieClip {Superfighters_fla.aim_shotgun_funnyman_631} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1726 MovieClip {Superfighters_fla.aim_sniper_funnyman_633} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1726 MovieClip {Superfighters_fla.aim_sniper_funnyman_633} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1726 MovieClip {Superfighters_fla.aim_sniper_funnyman_633} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1726 MovieClip {Superfighters_fla.aim_sniper_funnyman_633} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1726 MovieClip {Superfighters_fla.aim_sniper_funnyman_633} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1730 MovieClip {Superfighters_fla.aim_bazooka_funnyman_635} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1730 MovieClip {Superfighters_fla.aim_bazooka_funnyman_635} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1730 MovieClip {Superfighters_fla.aim_bazooka_funnyman_635} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1730 MovieClip {Superfighters_fla.aim_bazooka_funnyman_635} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1736 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_638} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1736 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_638} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1736 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_638} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1736 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_638} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1740 MovieClip {Superfighters_fla.aim_throw_funnyman_640} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1755 MovieClip {Superfighters_fla.grabbed_funnyman_647} Frame 1Symbol 1642 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 1Symbol 1633 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 2Symbol 1636 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 3Symbol 1639 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 4Symbol 1643 MovieClip {Superfighters_fla.fall_f_funnyman_597}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 5Symbol 1646 MovieClip {Superfighters_fla.fall_b_funnyman_599}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 6Symbol 1650 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 7Symbol 1652 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 8Symbol 1653 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 9Symbol 1656 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 10Symbol 1659 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 11Symbol 1661 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 12Symbol 1664 MovieClip {Superfighters_fla.dive_funnyman_607}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 13Symbol 1667 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 14Symbol 1670 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 15Symbol 1673 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 16Symbol 1676 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 17Symbol 1678 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 18Symbol 1681 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 19Symbol 1684 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 20Symbol 1687 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 21Symbol 1690 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 22Symbol 1693 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 23Symbol 1696 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 24Symbol 1699 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 25Symbol 1703 MovieClip
"ANIM_WPN"Symbol 1769 MovieClip {player_funnyman} Frame 26Symbol 1705 MovieClip {Superfighters_fla.aim_pistol_funnyman_623}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 27Symbol 1707 MovieClip
"ANIM_WPN"Symbol 1769 MovieClip {player_funnyman} Frame 28Symbol 1709 MovieClip {Superfighters_fla.aim_magnum_funnyman_625}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 29Symbol 1711 MovieClip
"ANIM_WPN"Symbol 1769 MovieClip {player_funnyman} Frame 30Symbol 1713 MovieClip {Superfighters_fla.aim_rifle_funnyman_627}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 31Symbol 1715 MovieClip
"ANIM_WPN"Symbol 1769 MovieClip {player_funnyman} Frame 32Symbol 1717 MovieClip {Superfighters_fla.aim_uzi_funnyman_629}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 33Symbol 1719 MovieClip
"ANIM_WPN"Symbol 1769 MovieClip {player_funnyman} Frame 34Symbol 1722 MovieClip {Superfighters_fla.aim_shotgun_funnyman_631}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 35Symbol 1724 MovieClip
"ANIM_WPN"Symbol 1769 MovieClip {player_funnyman} Frame 36Symbol 1726 MovieClip {Superfighters_fla.aim_sniper_funnyman_633}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 37Symbol 1728 MovieClip
"ANIM_WPN"Symbol 1769 MovieClip {player_funnyman} Frame 38Symbol 1730 MovieClip {Superfighters_fla.aim_bazooka_funnyman_635}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 39Symbol 1734 MovieClip
"ANIM_WPN"Symbol 1769 MovieClip {player_funnyman} Frame 40Symbol 1736 MovieClip {Superfighters_fla.aim_flamethrower_funnyman_638}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 41Symbol 1738 MovieClip
"ANIM_WPN"Symbol 1769 MovieClip {player_funnyman} Frame 41Symbol 1740 MovieClip {Superfighters_fla.aim_throw_funnyman_640}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 42Symbol 1742 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 43Symbol 1744 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 44Symbol 1746 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 46Symbol 1746 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 47Symbol 1750 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 48Symbol 1752 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 49Symbol 1754 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 50Symbol 1755 MovieClip {Superfighters_fla.grabbed_funnyman_647}
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 51Symbol 1757 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 52Symbol 1759 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 53Symbol 1761 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 54Symbol 1765 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 55Symbol 1768 MovieClip
"ANIM"Symbol 1769 MovieClip {player_funnyman} Frame 56Symbol 490 MovieClip
"HELPMC"Symbol 1784 MovieClip {Superfighters_fla.fall_f_mac_657} Frame 1Symbol 1783 MovieClip
"HELPMC"Symbol 1787 MovieClip {Superfighters_fla.fall_b_mac_659} Frame 1Symbol 1786 MovieClip
"HELPMC"Symbol 1805 MovieClip {Superfighters_fla.dive_mac_667} Frame 1Symbol 1804 MovieClip
"AIM_POSITION"Symbol 1846 MovieClip {Superfighters_fla.aim_pistol_mac_683} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1846 MovieClip {Superfighters_fla.aim_pistol_mac_683} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1846 MovieClip {Superfighters_fla.aim_pistol_mac_683} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1846 MovieClip {Superfighters_fla.aim_pistol_mac_683} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1850 MovieClip {Superfighters_fla.aim_magnum_mac_685} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1850 MovieClip {Superfighters_fla.aim_magnum_mac_685} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1850 MovieClip {Superfighters_fla.aim_magnum_mac_685} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1850 MovieClip {Superfighters_fla.aim_magnum_mac_685} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1854 MovieClip {Superfighters_fla.aim_rifle_mac_687} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1854 MovieClip {Superfighters_fla.aim_rifle_mac_687} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1854 MovieClip {Superfighters_fla.aim_rifle_mac_687} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1854 MovieClip {Superfighters_fla.aim_rifle_mac_687} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1858 MovieClip {Superfighters_fla.aim_uzi_mac_689} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1858 MovieClip {Superfighters_fla.aim_uzi_mac_689} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1858 MovieClip {Superfighters_fla.aim_uzi_mac_689} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1858 MovieClip {Superfighters_fla.aim_uzi_mac_689} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1863 MovieClip {Superfighters_fla.aim_shotgun_mac_691} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1863 MovieClip {Superfighters_fla.aim_shotgun_mac_691} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1863 MovieClip {Superfighters_fla.aim_shotgun_mac_691} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1863 MovieClip {Superfighters_fla.aim_shotgun_mac_691} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 1867 MovieClip {Superfighters_fla.aim_sniper_mac_693} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1867 MovieClip {Superfighters_fla.aim_sniper_mac_693} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1867 MovieClip {Superfighters_fla.aim_sniper_mac_693} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1867 MovieClip {Superfighters_fla.aim_sniper_mac_693} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1867 MovieClip {Superfighters_fla.aim_sniper_mac_693} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1871 MovieClip {Superfighters_fla.aim_bazooka_mac_695} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1871 MovieClip {Superfighters_fla.aim_bazooka_mac_695} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1871 MovieClip {Superfighters_fla.aim_bazooka_mac_695} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1871 MovieClip {Superfighters_fla.aim_bazooka_mac_695} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1877 MovieClip {Superfighters_fla.aim_flamethrower_mac_698} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1877 MovieClip {Superfighters_fla.aim_flamethrower_mac_698} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1877 MovieClip {Superfighters_fla.aim_flamethrower_mac_698} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1877 MovieClip {Superfighters_fla.aim_flamethrower_mac_698} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1881 MovieClip {Superfighters_fla.aim_throw_mac_700} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 1896 MovieClip {Superfighters_fla.grabbed_mac_707} Frame 1Symbol 1783 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 1Symbol 1774 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 2Symbol 1777 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 3Symbol 1780 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 4Symbol 1784 MovieClip {Superfighters_fla.fall_f_mac_657}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 5Symbol 1787 MovieClip {Superfighters_fla.fall_b_mac_659}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 6Symbol 1791 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 7Symbol 1793 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 8Symbol 1794 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 9Symbol 1797 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 10Symbol 1800 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 11Symbol 1802 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 12Symbol 1805 MovieClip {Superfighters_fla.dive_mac_667}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 13Symbol 1808 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 14Symbol 1811 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 15Symbol 1814 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 16Symbol 1817 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 17Symbol 1819 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 18Symbol 1822 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 19Symbol 1825 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 20Symbol 1828 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 21Symbol 1831 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 22Symbol 1834 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 23Symbol 1837 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 24Symbol 1840 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 25Symbol 1844 MovieClip
"ANIM_WPN"Symbol 1910 MovieClip {player_mac} Frame 26Symbol 1846 MovieClip {Superfighters_fla.aim_pistol_mac_683}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 27Symbol 1848 MovieClip
"ANIM_WPN"Symbol 1910 MovieClip {player_mac} Frame 28Symbol 1850 MovieClip {Superfighters_fla.aim_magnum_mac_685}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 29Symbol 1852 MovieClip
"ANIM_WPN"Symbol 1910 MovieClip {player_mac} Frame 30Symbol 1854 MovieClip {Superfighters_fla.aim_rifle_mac_687}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 31Symbol 1856 MovieClip
"ANIM_WPN"Symbol 1910 MovieClip {player_mac} Frame 32Symbol 1858 MovieClip {Superfighters_fla.aim_uzi_mac_689}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 33Symbol 1860 MovieClip
"ANIM_WPN"Symbol 1910 MovieClip {player_mac} Frame 34Symbol 1863 MovieClip {Superfighters_fla.aim_shotgun_mac_691}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 35Symbol 1865 MovieClip
"ANIM_WPN"Symbol 1910 MovieClip {player_mac} Frame 36Symbol 1867 MovieClip {Superfighters_fla.aim_sniper_mac_693}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 37Symbol 1869 MovieClip
"ANIM_WPN"Symbol 1910 MovieClip {player_mac} Frame 38Symbol 1871 MovieClip {Superfighters_fla.aim_bazooka_mac_695}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 39Symbol 1875 MovieClip
"ANIM_WPN"Symbol 1910 MovieClip {player_mac} Frame 40Symbol 1877 MovieClip {Superfighters_fla.aim_flamethrower_mac_698}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 41Symbol 1879 MovieClip
"ANIM_WPN"Symbol 1910 MovieClip {player_mac} Frame 41Symbol 1881 MovieClip {Superfighters_fla.aim_throw_mac_700}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 42Symbol 1883 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 43Symbol 1885 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 44Symbol 1887 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 46Symbol 1887 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 47Symbol 1891 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 48Symbol 1893 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 49Symbol 1895 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 50Symbol 1896 MovieClip {Superfighters_fla.grabbed_mac_707}
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 51Symbol 1898 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 52Symbol 1900 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 53Symbol 1902 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 54Symbol 1906 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 55Symbol 1909 MovieClip
"ANIM"Symbol 1910 MovieClip {player_mac} Frame 56Symbol 490 MovieClip
"HELPMC"Symbol 1925 MovieClip {Superfighters_fla.fall_f_jeff_717} Frame 1Symbol 1924 MovieClip
"HELPMC"Symbol 1928 MovieClip {Superfighters_fla.fall_b_jeff_719} Frame 1Symbol 1927 MovieClip
"HELPMC"Symbol 1946 MovieClip {Superfighters_fla.dive_jeff_727} Frame 1Symbol 1945 MovieClip
"AIM_POSITION"Symbol 1987 MovieClip {Superfighters_fla.aim_pistol_jeff_743} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1987 MovieClip {Superfighters_fla.aim_pistol_jeff_743} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1987 MovieClip {Superfighters_fla.aim_pistol_jeff_743} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1987 MovieClip {Superfighters_fla.aim_pistol_jeff_743} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1991 MovieClip {Superfighters_fla.aim_magnum_jeff_745} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1991 MovieClip {Superfighters_fla.aim_magnum_jeff_745} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1991 MovieClip {Superfighters_fla.aim_magnum_jeff_745} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1991 MovieClip {Superfighters_fla.aim_magnum_jeff_745} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1995 MovieClip {Superfighters_fla.aim_rifle_jeff_747} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1995 MovieClip {Superfighters_fla.aim_rifle_jeff_747} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1995 MovieClip {Superfighters_fla.aim_rifle_jeff_747} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1995 MovieClip {Superfighters_fla.aim_rifle_jeff_747} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 1999 MovieClip {Superfighters_fla.aim_uzi_jeff_749} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 1999 MovieClip {Superfighters_fla.aim_uzi_jeff_749} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 1999 MovieClip {Superfighters_fla.aim_uzi_jeff_749} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 1999 MovieClip {Superfighters_fla.aim_uzi_jeff_749} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 2004 MovieClip {Superfighters_fla.aim_shotgun_jeff_751} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 2004 MovieClip {Superfighters_fla.aim_shotgun_jeff_751} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 2004 MovieClip {Superfighters_fla.aim_shotgun_jeff_751} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 2004 MovieClip {Superfighters_fla.aim_shotgun_jeff_751} Frame 1Symbol 4 MovieClip {blank_mc}
"LAZER_CENTER"Symbol 2008 MovieClip {Superfighters_fla.aim_sniper_jeff_753} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 2008 MovieClip {Superfighters_fla.aim_sniper_jeff_753} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 2008 MovieClip {Superfighters_fla.aim_sniper_jeff_753} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 2008 MovieClip {Superfighters_fla.aim_sniper_jeff_753} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 2008 MovieClip {Superfighters_fla.aim_sniper_jeff_753} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 2012 MovieClip {Superfighters_fla.aim_bazooka_jeff_755} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 2012 MovieClip {Superfighters_fla.aim_bazooka_jeff_755} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 2012 MovieClip {Superfighters_fla.aim_bazooka_jeff_755} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 2012 MovieClip {Superfighters_fla.aim_bazooka_jeff_755} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 2018 MovieClip {Superfighters_fla.aim_flamethrower_jeff_758} Frame 1Symbol 4 MovieClip {blank_mc}
"FIRE_CENTER"Symbol 2018 MovieClip {Superfighters_fla.aim_flamethrower_jeff_758} Frame 1Symbol 4 MovieClip {blank_mc}
"MUZZLE_CENTER"Symbol 2018 MovieClip {Superfighters_fla.aim_flamethrower_jeff_758} Frame 1Symbol 4 MovieClip {blank_mc}
"SHELL_CENTER"Symbol 2018 MovieClip {Superfighters_fla.aim_flamethrower_jeff_758} Frame 1Symbol 4 MovieClip {blank_mc}
"AIM_POSITION"Symbol 2022 MovieClip {Superfighters_fla.aim_throw_jeff_760} Frame 1Symbol 4 MovieClip {blank_mc}
"DOLL"Symbol 2037 MovieClip {Superfighters_fla.grabbed_jeff_767} Frame 1Symbol 1924 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 1Symbol 1915 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 2Symbol 1918 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 3Symbol 1921 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 4Symbol 1925 MovieClip {Superfighters_fla.fall_f_jeff_717}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 5Symbol 1928 MovieClip {Superfighters_fla.fall_b_jeff_719}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 6Symbol 1932 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 7Symbol 1934 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 8Symbol 1935 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 9Symbol 1938 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 10Symbol 1941 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 11Symbol 1943 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 12Symbol 1946 MovieClip {Superfighters_fla.dive_jeff_727}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 13Symbol 1949 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 14Symbol 1952 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 15Symbol 1955 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 16Symbol 1958 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 17Symbol 1960 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 18Symbol 1963 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 19Symbol 1966 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 20Symbol 1969 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 21Symbol 1972 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 22Symbol 1975 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 23Symbol 1978 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 24Symbol 1981 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 25Symbol 1985 MovieClip
"ANIM_WPN"Symbol 2051 MovieClip {player_jeff} Frame 26Symbol 1987 MovieClip {Superfighters_fla.aim_pistol_jeff_743}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 27Symbol 1989 MovieClip
"ANIM_WPN"Symbol 2051 MovieClip {player_jeff} Frame 28Symbol 1991 MovieClip {Superfighters_fla.aim_magnum_jeff_745}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 29Symbol 1993 MovieClip
"ANIM_WPN"Symbol 2051 MovieClip {player_jeff} Frame 30Symbol 1995 MovieClip {Superfighters_fla.aim_rifle_jeff_747}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 31Symbol 1997 MovieClip
"ANIM_WPN"Symbol 2051 MovieClip {player_jeff} Frame 32Symbol 1999 MovieClip {Superfighters_fla.aim_uzi_jeff_749}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 33Symbol 2001 MovieClip
"ANIM_WPN"Symbol 2051 MovieClip {player_jeff} Frame 34Symbol 2004 MovieClip {Superfighters_fla.aim_shotgun_jeff_751}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 35Symbol 2006 MovieClip
"ANIM_WPN"Symbol 2051 MovieClip {player_jeff} Frame 36Symbol 2008 MovieClip {Superfighters_fla.aim_sniper_jeff_753}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 37Symbol 2010 MovieClip
"ANIM_WPN"Symbol 2051 MovieClip {player_jeff} Frame 38Symbol 2012 MovieClip {Superfighters_fla.aim_bazooka_jeff_755}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 39Symbol 2016 MovieClip
"ANIM_WPN"Symbol 2051 MovieClip {player_jeff} Frame 40Symbol 2018 MovieClip {Superfighters_fla.aim_flamethrower_jeff_758}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 41Symbol 2020 MovieClip
"ANIM_WPN"Symbol 2051 MovieClip {player_jeff} Frame 41Symbol 2022 MovieClip {Superfighters_fla.aim_throw_jeff_760}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 42Symbol 2024 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 43Symbol 2026 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 44Symbol 2028 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 46Symbol 2028 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 47Symbol 2032 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 48Symbol 2034 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 49Symbol 2036 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 50Symbol 2037 MovieClip {Superfighters_fla.grabbed_jeff_767}
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 51Symbol 2039 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 52Symbol 2041 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 53Symbol 2043 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 54Symbol 2047 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 55Symbol 2050 MovieClip
"ANIM"Symbol 2051 MovieClip {player_jeff} Frame 56Symbol 490 MovieClip
"EFFECT_MC"Symbol 2076 MovieClip {bg_noise} Frame 1Symbol 2075 MovieClip
"marker_0"Symbol 2094 MovieClip {Superfighters_fla.menu_first_choise_780} Frame 1Symbol 2084 MovieClip
"marker_1"Symbol 2094 MovieClip {Superfighters_fla.menu_first_choise_780} Frame 1Symbol 2084 MovieClip
"marker_2"Symbol 2094 MovieClip {Superfighters_fla.menu_first_choise_780} Frame 1Symbol 2084 MovieClip
"marker_3"Symbol 2094 MovieClip {Superfighters_fla.menu_first_choise_780} Frame 1Symbol 2084 MovieClip
"tutorial_promt"Symbol 2094 MovieClip {Superfighters_fla.menu_first_choise_780} Frame 1Symbol 2093 MovieClip
"marker_0"Symbol 2102 MovieClip {Superfighters_fla.menu_mode_selection_783} Frame 1Symbol 2084 MovieClip
"marker_1"Symbol 2102 MovieClip {Superfighters_fla.menu_mode_selection_783} Frame 1Symbol 2084 MovieClip
"marker_2"Symbol 2102 MovieClip {Superfighters_fla.menu_mode_selection_783} Frame 1Symbol 2084 MovieClip
"team"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 2114 MovieClip {Superfighters_fla.toggle_team_786}
"character_name"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 2131 MovieClip {Superfighters_fla.toggle_character_name_787}
"character_pic"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788}
"marker_0"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 2084 MovieClip
"marker_1"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 2084 MovieClip
"marker_2"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 2084 MovieClip
"marker_3"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 2084 MovieClip
"highlight_1"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 118 MovieClip
"highlight_0"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 118 MovieClip
"player_type"Symbol 2144 MovieClip {Superfighters_fla.player_plate_785} Frame 1Symbol 2143 MovieClip {Superfighters_fla.toggle_player_type_789}
"p1_plate"Symbol 2145 MovieClip {Superfighters_fla.menu_vs_1p_setup_784} Frame 1Symbol 2144 MovieClip {Superfighters_fla.player_plate_785}
"p1_plate"Symbol 2146 MovieClip {Superfighters_fla.menu_vs_2p_setup_790} Frame 1Symbol 2144 MovieClip {Superfighters_fla.player_plate_785}
"p2_plate"Symbol 2146 MovieClip {Superfighters_fla.menu_vs_2p_setup_790} Frame 1Symbol 2144 MovieClip {Superfighters_fla.player_plate_785}
"difficulty"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2158 MovieClip {Superfighters_fla.toggle_difficulty_794}
"team"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2114 MovieClip {Superfighters_fla.toggle_team_786}
"character_name"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2131 MovieClip {Superfighters_fla.toggle_character_name_787}
"character_pic"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788}
"marker_0"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2084 MovieClip
"marker_1"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2084 MovieClip
"marker_2"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2084 MovieClip
"marker_3"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2084 MovieClip
"marker_4"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2084 MovieClip
"marker_5"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2084 MovieClip
"highlight_0"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 118 MovieClip
"highlight_1"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 118 MovieClip
"highlight_2"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 118 MovieClip
"empty_cover"Symbol 2160 MovieClip {Superfighters_fla.com_plate_793} Frame 1Symbol 2148 MovieClip
"cp_1"Symbol 2161 MovieClip {Superfighters_fla.menu_bot_7_setup_791} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_2"Symbol 2161 MovieClip {Superfighters_fla.menu_bot_7_setup_791} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_3"Symbol 2161 MovieClip {Superfighters_fla.menu_bot_7_setup_791} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_4"Symbol 2161 MovieClip {Superfighters_fla.menu_bot_7_setup_791} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_5"Symbol 2161 MovieClip {Superfighters_fla.menu_bot_7_setup_791} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_6"Symbol 2161 MovieClip {Superfighters_fla.menu_bot_7_setup_791} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_7"Symbol 2161 MovieClip {Superfighters_fla.menu_bot_7_setup_791} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_1"Symbol 2162 MovieClip {Superfighters_fla.menu_bot_6_setup_795} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_2"Symbol 2162 MovieClip {Superfighters_fla.menu_bot_6_setup_795} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_3"Symbol 2162 MovieClip {Superfighters_fla.menu_bot_6_setup_795} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_4"Symbol 2162 MovieClip {Superfighters_fla.menu_bot_6_setup_795} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_5"Symbol 2162 MovieClip {Superfighters_fla.menu_bot_6_setup_795} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"cp_6"Symbol 2162 MovieClip {Superfighters_fla.menu_bot_6_setup_795} Frame 1Symbol 2160 MovieClip {Superfighters_fla.com_plate_793}
"marker_0"Symbol 2171 MovieClip {Superfighters_fla.menu_no_bots_796} Frame 1Symbol 2168 MovieClip
"marker_7"Symbol 2171 MovieClip {Superfighters_fla.menu_no_bots_796} Frame 1Symbol 2168 MovieClip
"marker_6"Symbol 2171 MovieClip {Superfighters_fla.menu_no_bots_796} Frame 1Symbol 2168 MovieClip
"marker_5"Symbol 2171 MovieClip {Superfighters_fla.menu_no_bots_796} Frame 1Symbol 2168 MovieClip
"marker_4"Symbol 2171 MovieClip {Superfighters_fla.menu_no_bots_796} Frame 1Symbol 2168 MovieClip
"marker_3"Symbol 2171 MovieClip {Superfighters_fla.menu_no_bots_796} Frame 1Symbol 2168 MovieClip
"marker_2"Symbol 2171 MovieClip {Superfighters_fla.menu_no_bots_796} Frame 1Symbol 2168 MovieClip
"marker_1"Symbol 2171 MovieClip {Superfighters_fla.menu_no_bots_796} Frame 1Symbol 2168 MovieClip
"fan_1"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 2Symbol 2206 MovieClip
"fan_2"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 2Symbol 2206 MovieClip
"fan_3"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 2Symbol 2206 MovieClip
"background_clouds"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 3Symbol 2211 MovieClip
"fan_2"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 3Symbol 2206 MovieClip
"fan_3"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 3Symbol 2206 MovieClip
"fan_4"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 4Symbol 2206 MovieClip
"fan_1"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 5Symbol 2206 MovieClip
"pouring"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 5Symbol 2230 MovieClip
"fan_4"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 7Symbol 2206 MovieClip
"btn_left"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 7Symbol 242 MovieClip {button_01}
"btn_right"Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801} Frame 7Symbol 242 MovieClip {button_01}
"marker_1"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 2084 MovieClip
"marker_3"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 2084 MovieClip
"marker_4"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 2084 MovieClip
"marker_2"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 2084 MovieClip
"marker_0"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 2084 MovieClip
"marker_5"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 2084 MovieClip
"map"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 2187 MovieClip {Superfighters_fla.toggle_map_name_799}
"game_mode"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 2198 MovieClip {Superfighters_fla.toggle_game_mode_800}
"highlight_0"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 118 MovieClip
"highlight_1"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 118 MovieClip
"map_pic"Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798} Frame 1Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801}
"map_pic"Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809} Frame 1Symbol 2235 MovieClip {Superfighters_fla.toggle_map_pic_801}
"selection"Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809} Frame 1Symbol 2242 MovieClip
"c_1"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_2"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_3"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_4"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_5"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_6"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_7"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_8"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_9"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_10"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_11"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"c_12"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2246 MovieClip {Superfighters_fla.challenge_map_809}
"delete_marker"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2084 MovieClip
"funnyman_message"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2250 MovieClip
"win_message"Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808} Frame 1Symbol 2257 MovieClip
"marker_1"Symbol 2263 MovieClip {Superfighters_fla.confirm_delete_814} Frame 1Symbol 2084 MovieClip
"marker_2"Symbol 2263 MovieClip {Superfighters_fla.confirm_delete_814} Frame 1Symbol 2084 MovieClip
"graphic_text"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2268 EditableText
"effect_text"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2269 EditableText
"volume_text"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2270 EditableText
"marker_0"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2084 MovieClip
"marker_1"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2084 MovieClip
"marker_2"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2084 MovieClip
"marker_3"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2084 MovieClip
"marker_4"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2084 MovieClip
"marker_5"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2084 MovieClip
"marker_6"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 2084 MovieClip
"highlight_0"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 118 MovieClip
"highlight_1"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 118 MovieClip
"highlight_2"Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815} Frame 1Symbol 118 MovieClip
"key_right"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2275 EditableText
"key_down"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2276 EditableText
"key_left"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2277 EditableText
"key_up"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2278 EditableText
"key_fire"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2282 EditableText
"key_melee"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2283 EditableText
"key_powerup"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2286 EditableText
"key_throw"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2287 EditableText
"marker_7"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_6"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_5"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_4"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_8"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_9"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_10"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_11"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_12"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_15"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_14"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_13"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"player_nr"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2293 EditableText
"marker_2"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_3"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_0"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"marker_1"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 2084 MovieClip
"highlight_1"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_0"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_4"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_5"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_6"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_7"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_8"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_9"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_10"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_11"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_12"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_15"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_13"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"highlight_14"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 1Symbol 118 MovieClip
"key_kneel"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2297 EditableText
"key_jump"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2298 EditableText
"key_down"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2299 EditableText
"key_up"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2300 EditableText
"key_right"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2304 EditableText
"key_left"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2305 EditableText
"key_sprint"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2308 EditableText
"key_fire"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2310 EditableText
"key_melee"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2311 EditableText
"key_powerup"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2312 EditableText
"key_throw"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2313 EditableText
"marker_13"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2084 MovieClip
"marker_14"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 2084 MovieClip
"highlight_15"Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816} Frame 2Symbol 118 MovieClip
"first_choise"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2094 MovieClip {Superfighters_fla.menu_first_choise_780}
"link_1"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 113 Button
"link_2"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 113 Button
"link_3"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 113 Button
"link_4"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 113 Button
"mode_selection"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2102 MovieClip {Superfighters_fla.menu_mode_selection_783}
"vs_1p_setup"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2145 MovieClip {Superfighters_fla.menu_vs_1p_setup_784}
"vs_2p_setup"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2146 MovieClip {Superfighters_fla.menu_vs_2p_setup_790}
"bot_7_setup"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2161 MovieClip {Superfighters_fla.menu_bot_7_setup_791}
"bot_6_setup"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2162 MovieClip {Superfighters_fla.menu_bot_6_setup_795}
"no_bots"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2171 MovieClip {Superfighters_fla.menu_no_bots_796}
"map_selection"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2236 MovieClip {Superfighters_fla.menu_map_selection_798}
"challenge_selection"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2258 MovieClip {Superfighters_fla.menu_stage_mode_808}
"confirm_delete"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2263 MovieClip {Superfighters_fla.confirm_delete_814}
"set_up_main"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2272 MovieClip {Superfighters_fla.menu_set_up_815}
"set_up"Symbol 2316 MovieClip {main_menu_overlay} Frame 1Symbol 2315 MovieClip {Superfighters_fla.menu_set_up_816}
"dig_10"Symbol 2399 MovieClip {Superfighters_fla.number_00_821} Frame 1Symbol 2398 MovieClip
"dig_1"Symbol 2399 MovieClip {Superfighters_fla.number_00_821} Frame 1Symbol 2398 MovieClip
"sign"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 1095 MovieClip {player_sign}
"melee"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 2377 MovieClip
"ranged_num"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 2399 MovieClip {Superfighters_fla.number_00_821}
"throwable_num"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 2399 MovieClip {Superfighters_fla.number_00_821}
"ranged"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 2377 MovieClip
"throwable"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 2377 MovieClip
"powerup"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 2377 MovieClip
"player_mc"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 490 MovieClip
"bars_start"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 490 MovieClip
"bars_end"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 490 MovieClip
"gib_pic"Symbol 2400 MovieClip {Superfighters_fla.gui_player_819} Frame 1Symbol 533 MovieClip {char_gib_05}
"player_2"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"player_1"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"com_6"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"com_5"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"com_4"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"com_3"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"com_no_players"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"com_2"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"com_1"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"com_0"Symbol 2402 MovieClip {gui_holder} Frame 1Symbol 2400 MovieClip {Superfighters_fla.gui_player_819}
"pic_1"Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826} Frame 1Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788}
"team"Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826} Frame 1Symbol 2114 MovieClip {Superfighters_fla.toggle_team_786}
"pic_2"Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826} Frame 2Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788}
"pic_3"Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826} Frame 3Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788}
"pic_4"Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826} Frame 4Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788}
"pic_5"Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826} Frame 5Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788}
"pic_6"Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826} Frame 6Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788}
"pic_7"Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826} Frame 7Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788}
"loss"Symbol 2434 MovieClip {Superfighters_fla.score_wins_loss_827} Frame 1Symbol 2399 MovieClip {Superfighters_fla.number_00_821}
"wins"Symbol 2434 MovieClip {Superfighters_fla.score_wins_loss_827} Frame 1Symbol 2399 MovieClip {Superfighters_fla.number_00_821}
"pics"Symbol 2435 MovieClip {score_team_plate} Frame 1Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826}
"score"Symbol 2435 MovieClip {score_team_plate} Frame 1Symbol 2434 MovieClip {Superfighters_fla.score_wins_loss_827}
"game_mode"Symbol 2438 MovieClip {score_info} Frame 1Symbol 2198 MovieClip {Superfighters_fla.toggle_game_mode_800}
"rounds"Symbol 2438 MovieClip {score_info} Frame 1Symbol 2437 EditableText
"time_txt"Symbol 2443 MovieClip {survival_timer} Frame 1Symbol 2439 EditableText
"wave_txt"Symbol 2443 MovieClip {survival_timer} Frame 1Symbol 2440 EditableText
"personal_best"Symbol 2450 MovieClip {survival_score} Frame 1Symbol 2443 MovieClip {survival_timer}
"pics"Symbol 2450 MovieClip {survival_score} Frame 1Symbol 2431 MovieClip {Superfighters_fla.score_team_pics_826}
"current"Symbol 2450 MovieClip {survival_score} Frame 1Symbol 2443 MovieClip {survival_timer}
"players_txt"Symbol 2450 MovieClip {survival_score} Frame 1Symbol 2448 EditableText
"INSTRUCTIONS"Symbol 2484 MovieClip {levels} Frame 1Symbol 2481 MovieClip {Superfighters_fla.TutorialInstructions_832}
"TARGET_1"Symbol 2484 MovieClip {levels} Frame 1Symbol 490 MovieClip
"TARGET_2"Symbol 2484 MovieClip {levels} Frame 1Symbol 490 MovieClip
"TARGET_3"Symbol 2484 MovieClip {levels} Frame 1Symbol 490 MovieClip
"TARGET_4"Symbol 2484 MovieClip {levels} Frame 1Symbol 490 MovieClip
"TARGET_5"Symbol 2484 MovieClip {levels} Frame 1Symbol 490 MovieClip
"GRENADE_2"Symbol 2484 MovieClip {levels} Frame 1Symbol 490 MovieClip
"GRENADE_1"Symbol 2484 MovieClip {levels} Frame 1Symbol 490 MovieClip
"CRATE"Symbol 2484 MovieClip {levels} Frame 1Symbol 490 MovieClip
"REVIVE"Symbol 2484 MovieClip {levels} Frame 1Symbol 490 MovieClip
"fan_1"Symbol 2484 MovieClip {levels} Frame 2Symbol 2206 MovieClip
"fan_2"Symbol 2484 MovieClip {levels} Frame 2Symbol 2206 MovieClip
"fan_3"Symbol 2484 MovieClip {levels} Frame 2Symbol 2206 MovieClip
"background_clouds"Symbol 2484 MovieClip {levels} Frame 3Symbol 2211 MovieClip
"fan_2"Symbol 2484 MovieClip {levels} Frame 3Symbol 2206 MovieClip
"fan_3"Symbol 2484 MovieClip {levels} Frame 3Symbol 2206 MovieClip
"fan_4"Symbol 2484 MovieClip {levels} Frame 4Symbol 2206 MovieClip
"fan_1"Symbol 2484 MovieClip {levels} Frame 5Symbol 2206 MovieClip
"pouring"Symbol 2484 MovieClip {levels} Frame 5Symbol 2230 MovieClip
"fan_4"Symbol 2484 MovieClip {levels} Frame 7Symbol 2206 MovieClip
"btn_left"Symbol 2484 MovieClip {levels} Frame 7Symbol 242 MovieClip {button_01}
"btn_right"Symbol 2484 MovieClip {levels} Frame 7Symbol 242 MovieClip {button_01}
"btn_left"Symbol 2484 MovieClip {levels} Frame 10Symbol 242 MovieClip {button_01}
"btn_right"Symbol 2484 MovieClip {levels} Frame 10Symbol 242 MovieClip {button_01}
"fan_2"Symbol 2484 MovieClip {levels} Frame 10Symbol 2206 MovieClip
"fan_1"Symbol 2484 MovieClip {levels} Frame 10Symbol 2206 MovieClip
"fan_3"Symbol 2484 MovieClip {levels} Frame 10Symbol 2206 MovieClip
"fan_4"Symbol 2484 MovieClip {levels} Frame 10Symbol 2206 MovieClip

Special Tags

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

Labels

"medal_show"Symbol 41 MovieClip {com.newgrounds.components.MedalPopup} Frame 2
"medal_hide"Symbol 41 MovieClip {com.newgrounds.components.MedalPopup} Frame 11
"closeme"Symbol 59 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5} Frame 11
"closeme"Symbol 63 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7} Frame 11
"idle"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 2
"connecting"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 3
"connected"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 4
"no_login"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 5
"no_connect"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 6
"new_version"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 7
"bad_host"Symbol 101 MovieClip {com.newgrounds.components.APIConnector} Frame 8
"EMPTY"Symbol 218 MovieClip {Superfighters_fla.wpn_shine_38} Frame 22
"IDLE"Symbol 491 MovieClip {player_hitarea} Frame 1
"JUMP"Symbol 491 MovieClip {player_hitarea} Frame 2
"RUN"Symbol 491 MovieClip {player_hitarea} Frame 3
"FALL_F"Symbol 491 MovieClip {player_hitarea} Frame 4
"FALL_B"Symbol 491 MovieClip {player_hitarea} Frame 5
"KNOCKDOWN"Symbol 491 MovieClip {player_hitarea} Frame 6
"KNEEL"Symbol 491 MovieClip {player_hitarea} Frame 7
"COVER"Symbol 491 MovieClip {player_hitarea} Frame 8
"SPRINT"Symbol 491 MovieClip {player_hitarea} Frame 9
"ROLL"Symbol 491 MovieClip {player_hitarea} Frame 10
"KICK"Symbol 491 MovieClip {player_hitarea} Frame 11
"DIVE"Symbol 491 MovieClip {player_hitarea} Frame 12
"PUNCH_01"Symbol 491 MovieClip {player_hitarea} Frame 13
"PUNCH_02"Symbol 491 MovieClip {player_hitarea} Frame 14
"PUNCH_03"Symbol 491 MovieClip {player_hitarea} Frame 15
"MACHETE_01"Symbol 491 MovieClip {player_hitarea} Frame 16
"MACHETE_02"Symbol 491 MovieClip {player_hitarea} Frame 17
"MACHETE_03"Symbol 491 MovieClip {player_hitarea} Frame 18
"AXE_01"Symbol 491 MovieClip {player_hitarea} Frame 19
"AXE_02"Symbol 491 MovieClip {player_hitarea} Frame 20
"AXE_03"Symbol 491 MovieClip {player_hitarea} Frame 21
"SWORD_01"Symbol 491 MovieClip {player_hitarea} Frame 22
"SWORD_02"Symbol 491 MovieClip {player_hitarea} Frame 23
"SWORD_03"Symbol 491 MovieClip {player_hitarea} Frame 24
"START_PISTOL"Symbol 491 MovieClip {player_hitarea} Frame 25
"AIM_PISTOL"Symbol 491 MovieClip {player_hitarea} Frame 26
"START_MAGNUM"Symbol 491 MovieClip {player_hitarea} Frame 27
"AIM_MAGNUM"Symbol 491 MovieClip {player_hitarea} Frame 28
"START_RIFLE"Symbol 491 MovieClip {player_hitarea} Frame 29
"AIM_RIFLE"Symbol 491 MovieClip {player_hitarea} Frame 30
"START_UZI"Symbol 491 MovieClip {player_hitarea} Frame 31
"AIM_UZI"Symbol 491 MovieClip {player_hitarea} Frame 32
"START_SHOTGUN"Symbol 491 MovieClip {player_hitarea} Frame 33
"AIM_SHOTGUN"Symbol 491 MovieClip {player_hitarea} Frame 34
"START_SNIPER"Symbol 491 MovieClip {player_hitarea} Frame 35
"AIM_SNIPER"Symbol 491 MovieClip {player_hitarea} Frame 36
"START_BAZOOKA"Symbol 491 MovieClip {player_hitarea} Frame 37
"AIM_BAZOOKA"Symbol 491 MovieClip {player_hitarea} Frame 38
"START_FLAMETHROWER"Symbol 491 MovieClip {player_hitarea} Frame 39
"AIM_FLAMETHROWER"Symbol 491 MovieClip {player_hitarea} Frame 40
"AIM_GRENADE"Symbol 491 MovieClip {player_hitarea} Frame 41
"AIM_MOLOTOV"Symbol 491 MovieClip {player_hitarea} Frame 42
"THROW"Symbol 491 MovieClip {player_hitarea} Frame 43
"ROCKET_RIDE_R"Symbol 491 MovieClip {player_hitarea} Frame 44
"ROCKET_RIDE_L"Symbol 491 MovieClip {player_hitarea} Frame 46
"CLIMB"Symbol 491 MovieClip {player_hitarea} Frame 47
"SLIDE"Symbol 491 MovieClip {player_hitarea} Frame 48
"AIM_TURN"Symbol 491 MovieClip {player_hitarea} Frame 49
"GRABBED"Symbol 491 MovieClip {player_hitarea} Frame 50
"STUN_01"Symbol 491 MovieClip {player_hitarea} Frame 51
"STUN_02"Symbol 491 MovieClip {player_hitarea} Frame 52
"JUMPKICK"Symbol 491 MovieClip {player_hitarea} Frame 53
"STAGGER"Symbol 491 MovieClip {player_hitarea} Frame 54
"DEATH_KNEEL"Symbol 491 MovieClip {player_hitarea} Frame 55
"EMPTY"Symbol 491 MovieClip {player_hitarea} Frame 56
"IDLE"Symbol 731 MovieClip {player_johnny} Frame 1
"JUMP"Symbol 731 MovieClip {player_johnny} Frame 2
"RUN"Symbol 731 MovieClip {player_johnny} Frame 3
"FALL_F"Symbol 731 MovieClip {player_johnny} Frame 4
"FALL_B"Symbol 731 MovieClip {player_johnny} Frame 5
"KNOCKDOWN"Symbol 731 MovieClip {player_johnny} Frame 6
"KNEEL"Symbol 731 MovieClip {player_johnny} Frame 7
"COVER"Symbol 731 MovieClip {player_johnny} Frame 8
"SPRINT"Symbol 731 MovieClip {player_johnny} Frame 9
"ROLL"Symbol 731 MovieClip {player_johnny} Frame 10
"KICK"Symbol 731 MovieClip {player_johnny} Frame 11
"DIVE"Symbol 731 MovieClip {player_johnny} Frame 12
"PUNCH_01"Symbol 731 MovieClip {player_johnny} Frame 13
"PUNCH_02"Symbol 731 MovieClip {player_johnny} Frame 14
"PUNCH_03"Symbol 731 MovieClip {player_johnny} Frame 15
"MACHETE_01"Symbol 731 MovieClip {player_johnny} Frame 16
"MACHETE_02"Symbol 731 MovieClip {player_johnny} Frame 17
"MACHETE_03"Symbol 731 MovieClip {player_johnny} Frame 18
"AXE_01"Symbol 731 MovieClip {player_johnny} Frame 19
"AXE_02"Symbol 731 MovieClip {player_johnny} Frame 20
"AXE_03"Symbol 731 MovieClip {player_johnny} Frame 21
"SWORD_01"Symbol 731 MovieClip {player_johnny} Frame 22
"SWORD_02"Symbol 731 MovieClip {player_johnny} Frame 23
"SWORD_03"Symbol 731 MovieClip {player_johnny} Frame 24
"START_PISTOL"Symbol 731 MovieClip {player_johnny} Frame 25
"AIM_PISTOL"Symbol 731 MovieClip {player_johnny} Frame 26
"START_MAGNUM"Symbol 731 MovieClip {player_johnny} Frame 27
"AIM_MAGNUM"Symbol 731 MovieClip {player_johnny} Frame 28
"START_RIFLE"Symbol 731 MovieClip {player_johnny} Frame 29
"AIM_RIFLE"Symbol 731 MovieClip {player_johnny} Frame 30
"START_UZI"Symbol 731 MovieClip {player_johnny} Frame 31
"AIM_UZI"Symbol 731 MovieClip {player_johnny} Frame 32
"START_SHOTGUN"Symbol 731 MovieClip {player_johnny} Frame 33
"AIM_SHOTGUN"Symbol 731 MovieClip {player_johnny} Frame 34
"START_SNIPER"Symbol 731 MovieClip {player_johnny} Frame 35
"AIM_SNIPER"Symbol 731 MovieClip {player_johnny} Frame 36
"START_BAZOOKA"Symbol 731 MovieClip {player_johnny} Frame 37
"AIM_BAZOOKA"Symbol 731 MovieClip {player_johnny} Frame 38
"START_FLAMETHROWER"Symbol 731 MovieClip {player_johnny} Frame 39
"AIM_FLAMETHROWER"Symbol 731 MovieClip {player_johnny} Frame 40
"AIM_GRENADE"Symbol 731 MovieClip {player_johnny} Frame 41
"AIM_MOLOTOV"Symbol 731 MovieClip {player_johnny} Frame 42
"THROW"Symbol 731 MovieClip {player_johnny} Frame 43
"ROCKET_RIDE_R"Symbol 731 MovieClip {player_johnny} Frame 44
"ROCKET_RIDE_L"Symbol 731 MovieClip {player_johnny} Frame 46
"CLIMB"Symbol 731 MovieClip {player_johnny} Frame 47
"SLIDE"Symbol 731 MovieClip {player_johnny} Frame 48
"AIM_TURN"Symbol 731 MovieClip {player_johnny} Frame 49
"GRABBED"Symbol 731 MovieClip {player_johnny} Frame 50
"STUN_01"Symbol 731 MovieClip {player_johnny} Frame 51
"STUN_02"Symbol 731 MovieClip {player_johnny} Frame 52
"JUMPKICK"Symbol 731 MovieClip {player_johnny} Frame 53
"STAGGER"Symbol 731 MovieClip {player_johnny} Frame 54
"DEATH_KNEEL"Symbol 731 MovieClip {player_johnny} Frame 55
"EMPTY"Symbol 731 MovieClip {player_johnny} Frame 56
"IDLE"Symbol 881 MovieClip {player_boris} Frame 1
"JUMP"Symbol 881 MovieClip {player_boris} Frame 2
"RUN"Symbol 881 MovieClip {player_boris} Frame 3
"FALL_F"Symbol 881 MovieClip {player_boris} Frame 4
"FALL_B"Symbol 881 MovieClip {player_boris} Frame 5
"KNOCKDOWN"Symbol 881 MovieClip {player_boris} Frame 6
"KNEEL"Symbol 881 MovieClip {player_boris} Frame 7
"COVER"Symbol 881 MovieClip {player_boris} Frame 8
"SPRINT"Symbol 881 MovieClip {player_boris} Frame 9
"ROLL"Symbol 881 MovieClip {player_boris} Frame 10
"KICK"Symbol 881 MovieClip {player_boris} Frame 11
"DIVE"Symbol 881 MovieClip {player_boris} Frame 12
"PUNCH_01"Symbol 881 MovieClip {player_boris} Frame 13
"PUNCH_02"Symbol 881 MovieClip {player_boris} Frame 14
"PUNCH_03"Symbol 881 MovieClip {player_boris} Frame 15
"MACHETE_01"Symbol 881 MovieClip {player_boris} Frame 16
"MACHETE_02"Symbol 881 MovieClip {player_boris} Frame 17
"MACHETE_03"Symbol 881 MovieClip {player_boris} Frame 18
"AXE_01"Symbol 881 MovieClip {player_boris} Frame 19
"AXE_02"Symbol 881 MovieClip {player_boris} Frame 20
"AXE_03"Symbol 881 MovieClip {player_boris} Frame 21
"SWORD_01"Symbol 881 MovieClip {player_boris} Frame 22
"SWORD_02"Symbol 881 MovieClip {player_boris} Frame 23
"SWORD_03"Symbol 881 MovieClip {player_boris} Frame 24
"START_PISTOL"Symbol 881 MovieClip {player_boris} Frame 25
"AIM_PISTOL"Symbol 881 MovieClip {player_boris} Frame 26
"START_MAGNUM"Symbol 881 MovieClip {player_boris} Frame 27
"AIM_MAGNUM"Symbol 881 MovieClip {player_boris} Frame 28
"START_RIFLE"Symbol 881 MovieClip {player_boris} Frame 29
"AIM_RIFLE"Symbol 881 MovieClip {player_boris} Frame 30
"START_UZI"Symbol 881 MovieClip {player_boris} Frame 31
"AIM_UZI"Symbol 881 MovieClip {player_boris} Frame 32
"START_SHOTGUN"Symbol 881 MovieClip {player_boris} Frame 33
"AIM_SHOTGUN"Symbol 881 MovieClip {player_boris} Frame 34
"START_SNIPER"Symbol 881 MovieClip {player_boris} Frame 35
"AIM_SNIPER"Symbol 881 MovieClip {player_boris} Frame 36
"START_BAZOOKA"Symbol 881 MovieClip {player_boris} Frame 37
"AIM_BAZOOKA"Symbol 881 MovieClip {player_boris} Frame 38
"START_FLAMETHROWER"Symbol 881 MovieClip {player_boris} Frame 39
"AIM_FLAMETHROWER"Symbol 881 MovieClip {player_boris} Frame 40
"AIM_GRENADE"Symbol 881 MovieClip {player_boris} Frame 41
"AIM_MOLOTOV"Symbol 881 MovieClip {player_boris} Frame 42
"THROW"Symbol 881 MovieClip {player_boris} Frame 43
"ROCKET_RIDE_R"Symbol 881 MovieClip {player_boris} Frame 44
"ROCKET_RIDE_L"Symbol 881 MovieClip {player_boris} Frame 46
"CLIMB"Symbol 881 MovieClip {player_boris} Frame 47
"SLIDE"Symbol 881 MovieClip {player_boris} Frame 48
"AIM_TURN"Symbol 881 MovieClip {player_boris} Frame 49
"GRABBED"Symbol 881 MovieClip {player_boris} Frame 50
"STUN_01"Symbol 881 MovieClip {player_boris} Frame 51
"STUN_02"Symbol 881 MovieClip {player_boris} Frame 52
"JUMPKICK"Symbol 881 MovieClip {player_boris} Frame 53
"STAGGER"Symbol 881 MovieClip {player_boris} Frame 54
"DEATH_KNEEL"Symbol 881 MovieClip {player_boris} Frame 55
"EMPTY"Symbol 881 MovieClip {player_boris} Frame 56
"IDLE"Symbol 1040 MovieClip {player_blood} Frame 1
"JUMP"Symbol 1040 MovieClip {player_blood} Frame 2
"RUN"Symbol 1040 MovieClip {player_blood} Frame 3
"FALL_F"Symbol 1040 MovieClip {player_blood} Frame 4
"FALL_B"Symbol 1040 MovieClip {player_blood} Frame 5
"KNOCKDOWN"Symbol 1040 MovieClip {player_blood} Frame 6
"KNEEL"Symbol 1040 MovieClip {player_blood} Frame 7
"COVER"Symbol 1040 MovieClip {player_blood} Frame 8
"SPRINT"Symbol 1040 MovieClip {player_blood} Frame 9
"ROLL"Symbol 1040 MovieClip {player_blood} Frame 10
"KICK"Symbol 1040 MovieClip {player_blood} Frame 11
"DIVE"Symbol 1040 MovieClip {player_blood} Frame 12
"PUNCH_01"Symbol 1040 MovieClip {player_blood} Frame 13
"PUNCH_02"Symbol 1040 MovieClip {player_blood} Frame 14
"PUNCH_03"Symbol 1040 MovieClip {player_blood} Frame 15
"MACHETE_01"Symbol 1040 MovieClip {player_blood} Frame 16
"MACHETE_02"Symbol 1040 MovieClip {player_blood} Frame 17
"MACHETE_03"Symbol 1040 MovieClip {player_blood} Frame 18
"AXE_01"Symbol 1040 MovieClip {player_blood} Frame 19
"AXE_02"Symbol 1040 MovieClip {player_blood} Frame 20
"AXE_03"Symbol 1040 MovieClip {player_blood} Frame 21
"SWORD_01"Symbol 1040 MovieClip {player_blood} Frame 22
"SWORD_02"Symbol 1040 MovieClip {player_blood} Frame 23
"SWORD_03"Symbol 1040 MovieClip {player_blood} Frame 24
"START_PISTOL"Symbol 1040 MovieClip {player_blood} Frame 25
"AIM_PISTOL"Symbol 1040 MovieClip {player_blood} Frame 26
"START_MAGNUM"Symbol 1040 MovieClip {player_blood} Frame 27
"AIM_MAGNUM"Symbol 1040 MovieClip {player_blood} Frame 28
"START_RIFLE"Symbol 1040 MovieClip {player_blood} Frame 29
"AIM_RIFLE"Symbol 1040 MovieClip {player_blood} Frame 30
"START_UZI"Symbol 1040 MovieClip {player_blood} Frame 31
"AIM_UZI"Symbol 1040 MovieClip {player_blood} Frame 32
"START_SHOTGUN"Symbol 1040 MovieClip {player_blood} Frame 33
"AIM_SHOTGUN"Symbol 1040 MovieClip {player_blood} Frame 34
"START_SNIPER"Symbol 1040 MovieClip {player_blood} Frame 35
"AIM_SNIPER"Symbol 1040 MovieClip {player_blood} Frame 36
"START_BAZOOKA"Symbol 1040 MovieClip {player_blood} Frame 37
"AIM_BAZOOKA"Symbol 1040 MovieClip {player_blood} Frame 38
"START_FLAMETHROWER"Symbol 1040 MovieClip {player_blood} Frame 39
"AIM_FLAMETHROWER"Symbol 1040 MovieClip {player_blood} Frame 40
"AIM_GRENADE"Symbol 1040 MovieClip {player_blood} Frame 41
"AIM_MOLOTOV"Symbol 1040 MovieClip {player_blood} Frame 42
"THROW"Symbol 1040 MovieClip {player_blood} Frame 43
"ROCKET_RIDE_R"Symbol 1040 MovieClip {player_blood} Frame 44
"ROCKET_RIDE_L"Symbol 1040 MovieClip {player_blood} Frame 46
"CLIMB"Symbol 1040 MovieClip {player_blood} Frame 47
"SLIDE"Symbol 1040 MovieClip {player_blood} Frame 48
"AIM_TURN"Symbol 1040 MovieClip {player_blood} Frame 49
"GRABBED"Symbol 1040 MovieClip {player_blood} Frame 50
"STUN_01"Symbol 1040 MovieClip {player_blood} Frame 51
"STUN_02"Symbol 1040 MovieClip {player_blood} Frame 52
"JUMPKICK"Symbol 1040 MovieClip {player_blood} Frame 53
"STAGGER"Symbol 1040 MovieClip {player_blood} Frame 54
"DEATH_KNEEL"Symbol 1040 MovieClip {player_blood} Frame 55
"EMPTY"Symbol 1040 MovieClip {player_blood} Frame 56
"IDLE"Symbol 1245 MovieClip {player_agent} Frame 1
"JUMP"Symbol 1245 MovieClip {player_agent} Frame 2
"RUN"Symbol 1245 MovieClip {player_agent} Frame 3
"FALL_F"Symbol 1245 MovieClip {player_agent} Frame 4
"FALL_B"Symbol 1245 MovieClip {player_agent} Frame 5
"KNOCKDOWN"Symbol 1245 MovieClip {player_agent} Frame 6
"KNEEL"Symbol 1245 MovieClip {player_agent} Frame 7
"COVER"Symbol 1245 MovieClip {player_agent} Frame 8
"SPRINT"Symbol 1245 MovieClip {player_agent} Frame 9
"ROLL"Symbol 1245 MovieClip {player_agent} Frame 10
"KICK"Symbol 1245 MovieClip {player_agent} Frame 11
"DIVE"Symbol 1245 MovieClip {player_agent} Frame 12
"PUNCH_01"Symbol 1245 MovieClip {player_agent} Frame 13
"PUNCH_02"Symbol 1245 MovieClip {player_agent} Frame 14
"PUNCH_03"Symbol 1245 MovieClip {player_agent} Frame 15
"MACHETE_01"Symbol 1245 MovieClip {player_agent} Frame 16
"MACHETE_02"Symbol 1245 MovieClip {player_agent} Frame 17
"MACHETE_03"Symbol 1245 MovieClip {player_agent} Frame 18
"AXE_01"Symbol 1245 MovieClip {player_agent} Frame 19
"AXE_02"Symbol 1245 MovieClip {player_agent} Frame 20
"AXE_03"Symbol 1245 MovieClip {player_agent} Frame 21
"SWORD_01"Symbol 1245 MovieClip {player_agent} Frame 22
"SWORD_02"Symbol 1245 MovieClip {player_agent} Frame 23
"SWORD_03"Symbol 1245 MovieClip {player_agent} Frame 24
"START_PISTOL"Symbol 1245 MovieClip {player_agent} Frame 25
"AIM_PISTOL"Symbol 1245 MovieClip {player_agent} Frame 26
"START_MAGNUM"Symbol 1245 MovieClip {player_agent} Frame 27
"AIM_MAGNUM"Symbol 1245 MovieClip {player_agent} Frame 28
"START_RIFLE"Symbol 1245 MovieClip {player_agent} Frame 29
"AIM_RIFLE"Symbol 1245 MovieClip {player_agent} Frame 30
"START_UZI"Symbol 1245 MovieClip {player_agent} Frame 31
"AIM_UZI"Symbol 1245 MovieClip {player_agent} Frame 32
"START_SHOTGUN"Symbol 1245 MovieClip {player_agent} Frame 33
"AIM_SHOTGUN"Symbol 1245 MovieClip {player_agent} Frame 34
"START_SNIPER"Symbol 1245 MovieClip {player_agent} Frame 35
"AIM_SNIPER"Symbol 1245 MovieClip {player_agent} Frame 36
"START_BAZOOKA"Symbol 1245 MovieClip {player_agent} Frame 37
"AIM_BAZOOKA"Symbol 1245 MovieClip {player_agent} Frame 38
"START_FLAMETHROWER"Symbol 1245 MovieClip {player_agent} Frame 39
"AIM_FLAMETHROWER"Symbol 1245 MovieClip {player_agent} Frame 40
"AIM_GRENADE"Symbol 1245 MovieClip {player_agent} Frame 41
"AIM_MOLOTOV"Symbol 1245 MovieClip {player_agent} Frame 42
"THROW"Symbol 1245 MovieClip {player_agent} Frame 43
"ROCKET_RIDE_R"Symbol 1245 MovieClip {player_agent} Frame 44
"ROCKET_RIDE_L"Symbol 1245 MovieClip {player_agent} Frame 46
"CLIMB"Symbol 1245 MovieClip {player_agent} Frame 47
"SLIDE"Symbol 1245 MovieClip {player_agent} Frame 48
"AIM_TURN"Symbol 1245 MovieClip {player_agent} Frame 49
"GRABBED"Symbol 1245 MovieClip {player_agent} Frame 50
"STUN_01"Symbol 1245 MovieClip {player_agent} Frame 51
"STUN_02"Symbol 1245 MovieClip {player_agent} Frame 52
"JUMPKICK"Symbol 1245 MovieClip {player_agent} Frame 53
"STAGGER"Symbol 1245 MovieClip {player_agent} Frame 54
"DEATH_KNEEL"Symbol 1245 MovieClip {player_agent} Frame 55
"EMPTY"Symbol 1245 MovieClip {player_agent} Frame 56
"AXE"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 1
"BAZOOKA"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 2
"FLAMETHROWER"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 3
"GRENADE"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 4
"MACHETE"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 5
"MAGNUM"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 6
"MOLOTOV"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 7
"PISTOL"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 8
"RIFLE"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 9
"SHOTGUN"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 10
"SLOMO05"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 11
"SLOMO10"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 12
"SNIPER"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 13
"SWORD"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 14
"UZI"Symbol 1276 MovieClip {Code.Particles.pickup_sign} Frame 15
"IDLE"Symbol 1292 MovieClip {player_burnt} Frame 1
"JUMP"Symbol 1292 MovieClip {player_burnt} Frame 2
"RUN"Symbol 1292 MovieClip {player_burnt} Frame 3
"FALL_F"Symbol 1292 MovieClip {player_burnt} Frame 4
"FALL_B"Symbol 1292 MovieClip {player_burnt} Frame 5
"KNOCKDOWN"Symbol 1292 MovieClip {player_burnt} Frame 6
"KNEEL"Symbol 1292 MovieClip {player_burnt} Frame 7
"COVER"Symbol 1292 MovieClip {player_burnt} Frame 8
"SPRINT"Symbol 1292 MovieClip {player_burnt} Frame 9
"ROLL"Symbol 1292 MovieClip {player_burnt} Frame 10
"KICK"Symbol 1292 MovieClip {player_burnt} Frame 11
"DIVE"Symbol 1292 MovieClip {player_burnt} Frame 12
"PUNCH_01"Symbol 1292 MovieClip {player_burnt} Frame 13
"PUNCH_02"Symbol 1292 MovieClip {player_burnt} Frame 14
"PUNCH_03"Symbol 1292 MovieClip {player_burnt} Frame 15
"MACHETE_01"Symbol 1292 MovieClip {player_burnt} Frame 16
"MACHETE_02"Symbol 1292 MovieClip {player_burnt} Frame 17
"MACHETE_03"Symbol 1292 MovieClip {player_burnt} Frame 18
"AXE_01"Symbol 1292 MovieClip {player_burnt} Frame 19
"AXE_02"Symbol 1292 MovieClip {player_burnt} Frame 20
"AXE_03"Symbol 1292 MovieClip {player_burnt} Frame 21
"SWORD_01"Symbol 1292 MovieClip {player_burnt} Frame 22
"SWORD_02"Symbol 1292 MovieClip {player_burnt} Frame 23
"SWORD_03"Symbol 1292 MovieClip {player_burnt} Frame 24
"START_PISTOL"Symbol 1292 MovieClip {player_burnt} Frame 25
"AIM_PISTOL"Symbol 1292 MovieClip {player_burnt} Frame 26
"START_MAGNUM"Symbol 1292 MovieClip {player_burnt} Frame 27
"AIM_MAGNUM"Symbol 1292 MovieClip {player_burnt} Frame 28
"START_RIFLE"Symbol 1292 MovieClip {player_burnt} Frame 29
"AIM_RIFLE"Symbol 1292 MovieClip {player_burnt} Frame 30
"START_UZI"Symbol 1292 MovieClip {player_burnt} Frame 31
"AIM_UZI"Symbol 1292 MovieClip {player_burnt} Frame 32
"START_SHOTGUN"Symbol 1292 MovieClip {player_burnt} Frame 33
"AIM_SHOTGUN"Symbol 1292 MovieClip {player_burnt} Frame 34
"START_SNIPER"Symbol 1292 MovieClip {player_burnt} Frame 35
"AIM_SNIPER"Symbol 1292 MovieClip {player_burnt} Frame 36
"START_BAZOOKA"Symbol 1292 MovieClip {player_burnt} Frame 37
"AIM_BAZOOKA"Symbol 1292 MovieClip {player_burnt} Frame 38
"START_FLAMETHROWER"Symbol 1292 MovieClip {player_burnt} Frame 39
"AIM_FLAMETHROWER"Symbol 1292 MovieClip {player_burnt} Frame 40
"AIM_GRENADE"Symbol 1292 MovieClip {player_burnt} Frame 41
"AIM_MOLOTOV"Symbol 1292 MovieClip {player_burnt} Frame 42
"THROW"Symbol 1292 MovieClip {player_burnt} Frame 43
"ROCKET_RIDE_R"Symbol 1292 MovieClip {player_burnt} Frame 44
"ROCKET_RIDE_L"Symbol 1292 MovieClip {player_burnt} Frame 46
"CLIMB"Symbol 1292 MovieClip {player_burnt} Frame 47
"SLIDE"Symbol 1292 MovieClip {player_burnt} Frame 48
"AIM_TURN"Symbol 1292 MovieClip {player_burnt} Frame 49
"GRABBED"Symbol 1292 MovieClip {player_burnt} Frame 50
"STUN_01"Symbol 1292 MovieClip {player_burnt} Frame 51
"STUN_02"Symbol 1292 MovieClip {player_burnt} Frame 52
"JUMPKICK"Symbol 1292 MovieClip {player_burnt} Frame 53
"STAGGER"Symbol 1292 MovieClip {player_burnt} Frame 54
"DEATH_KNEEL"Symbol 1292 MovieClip {player_burnt} Frame 55
"EMPTY"Symbol 1292 MovieClip {player_burnt} Frame 56
"IDLE"Symbol 1455 MovieClip {player_billy} Frame 1
"JUMP"Symbol 1455 MovieClip {player_billy} Frame 2
"RUN"Symbol 1455 MovieClip {player_billy} Frame 3
"FALL_F"Symbol 1455 MovieClip {player_billy} Frame 4
"FALL_B"Symbol 1455 MovieClip {player_billy} Frame 5
"KNOCKDOWN"Symbol 1455 MovieClip {player_billy} Frame 6
"KNEEL"Symbol 1455 MovieClip {player_billy} Frame 7
"COVER"Symbol 1455 MovieClip {player_billy} Frame 8
"SPRINT"Symbol 1455 MovieClip {player_billy} Frame 9
"ROLL"Symbol 1455 MovieClip {player_billy} Frame 10
"KICK"Symbol 1455 MovieClip {player_billy} Frame 11
"DIVE"Symbol 1455 MovieClip {player_billy} Frame 12
"PUNCH_01"Symbol 1455 MovieClip {player_billy} Frame 13
"PUNCH_02"Symbol 1455 MovieClip {player_billy} Frame 14
"PUNCH_03"Symbol 1455 MovieClip {player_billy} Frame 15
"MACHETE_01"Symbol 1455 MovieClip {player_billy} Frame 16
"MACHETE_02"Symbol 1455 MovieClip {player_billy} Frame 17
"MACHETE_03"Symbol 1455 MovieClip {player_billy} Frame 18
"AXE_01"Symbol 1455 MovieClip {player_billy} Frame 19
"AXE_02"Symbol 1455 MovieClip {player_billy} Frame 20
"AXE_03"Symbol 1455 MovieClip {player_billy} Frame 21
"SWORD_01"Symbol 1455 MovieClip {player_billy} Frame 22
"SWORD_02"Symbol 1455 MovieClip {player_billy} Frame 23
"SWORD_03"Symbol 1455 MovieClip {player_billy} Frame 24
"START_PISTOL"Symbol 1455 MovieClip {player_billy} Frame 25
"AIM_PISTOL"Symbol 1455 MovieClip {player_billy} Frame 26
"START_MAGNUM"Symbol 1455 MovieClip {player_billy} Frame 27
"AIM_MAGNUM"Symbol 1455 MovieClip {player_billy} Frame 28
"START_RIFLE"Symbol 1455 MovieClip {player_billy} Frame 29
"AIM_RIFLE"Symbol 1455 MovieClip {player_billy} Frame 30
"START_UZI"Symbol 1455 MovieClip {player_billy} Frame 31
"AIM_UZI"Symbol 1455 MovieClip {player_billy} Frame 32
"START_SHOTGUN"Symbol 1455 MovieClip {player_billy} Frame 33
"AIM_SHOTGUN"Symbol 1455 MovieClip {player_billy} Frame 34
"START_SNIPER"Symbol 1455 MovieClip {player_billy} Frame 35
"AIM_SNIPER"Symbol 1455 MovieClip {player_billy} Frame 36
"START_BAZOOKA"Symbol 1455 MovieClip {player_billy} Frame 37
"AIM_BAZOOKA"Symbol 1455 MovieClip {player_billy} Frame 38
"START_FLAMETHROWER"Symbol 1455 MovieClip {player_billy} Frame 39
"AIM_FLAMETHROWER"Symbol 1455 MovieClip {player_billy} Frame 40
"AIM_GRENADE"Symbol 1455 MovieClip {player_billy} Frame 41
"AIM_MOLOTOV"Symbol 1455 MovieClip {player_billy} Frame 42
"THROW"Symbol 1455 MovieClip {player_billy} Frame 43
"ROCKET_RIDE_R"Symbol 1455 MovieClip {player_billy} Frame 44
"ROCKET_RIDE_L"Symbol 1455 MovieClip {player_billy} Frame 46
"CLIMB"Symbol 1455 MovieClip {player_billy} Frame 47
"SLIDE"Symbol 1455 MovieClip {player_billy} Frame 48
"AIM_TURN"Symbol 1455 MovieClip {player_billy} Frame 49
"GRABBED"Symbol 1455 MovieClip {player_billy} Frame 50
"STUN_01"Symbol 1455 MovieClip {player_billy} Frame 51
"STUN_02"Symbol 1455 MovieClip {player_billy} Frame 52
"JUMPKICK"Symbol 1455 MovieClip {player_billy} Frame 53
"STAGGER"Symbol 1455 MovieClip {player_billy} Frame 54
"DEATH_KNEEL"Symbol 1455 MovieClip {player_billy} Frame 55
"EMPTY"Symbol 1455 MovieClip {player_billy} Frame 56
"IDLE"Symbol 1596 MovieClip {player_scott} Frame 1
"JUMP"Symbol 1596 MovieClip {player_scott} Frame 2
"RUN"Symbol 1596 MovieClip {player_scott} Frame 3
"FALL_F"Symbol 1596 MovieClip {player_scott} Frame 4
"FALL_B"Symbol 1596 MovieClip {player_scott} Frame 5
"KNOCKDOWN"Symbol 1596 MovieClip {player_scott} Frame 6
"KNEEL"Symbol 1596 MovieClip {player_scott} Frame 7
"COVER"Symbol 1596 MovieClip {player_scott} Frame 8
"SPRINT"Symbol 1596 MovieClip {player_scott} Frame 9
"ROLL"Symbol 1596 MovieClip {player_scott} Frame 10
"KICK"Symbol 1596 MovieClip {player_scott} Frame 11
"DIVE"Symbol 1596 MovieClip {player_scott} Frame 12
"PUNCH_01"Symbol 1596 MovieClip {player_scott} Frame 13
"PUNCH_02"Symbol 1596 MovieClip {player_scott} Frame 14
"PUNCH_03"Symbol 1596 MovieClip {player_scott} Frame 15
"MACHETE_01"Symbol 1596 MovieClip {player_scott} Frame 16
"MACHETE_02"Symbol 1596 MovieClip {player_scott} Frame 17
"MACHETE_03"Symbol 1596 MovieClip {player_scott} Frame 18
"AXE_01"Symbol 1596 MovieClip {player_scott} Frame 19
"AXE_02"Symbol 1596 MovieClip {player_scott} Frame 20
"AXE_03"Symbol 1596 MovieClip {player_scott} Frame 21
"SWORD_01"Symbol 1596 MovieClip {player_scott} Frame 22
"SWORD_02"Symbol 1596 MovieClip {player_scott} Frame 23
"SWORD_03"Symbol 1596 MovieClip {player_scott} Frame 24
"START_PISTOL"Symbol 1596 MovieClip {player_scott} Frame 25
"AIM_PISTOL"Symbol 1596 MovieClip {player_scott} Frame 26
"START_MAGNUM"Symbol 1596 MovieClip {player_scott} Frame 27
"AIM_MAGNUM"Symbol 1596 MovieClip {player_scott} Frame 28
"START_RIFLE"Symbol 1596 MovieClip {player_scott} Frame 29
"AIM_RIFLE"Symbol 1596 MovieClip {player_scott} Frame 30
"START_UZI"Symbol 1596 MovieClip {player_scott} Frame 31
"AIM_UZI"Symbol 1596 MovieClip {player_scott} Frame 32
"START_SHOTGUN"Symbol 1596 MovieClip {player_scott} Frame 33
"AIM_SHOTGUN"Symbol 1596 MovieClip {player_scott} Frame 34
"START_SNIPER"Symbol 1596 MovieClip {player_scott} Frame 35
"AIM_SNIPER"Symbol 1596 MovieClip {player_scott} Frame 36
"START_BAZOOKA"Symbol 1596 MovieClip {player_scott} Frame 37
"AIM_BAZOOKA"Symbol 1596 MovieClip {player_scott} Frame 38
"START_FLAMETHROWER"Symbol 1596 MovieClip {player_scott} Frame 39
"AIM_FLAMETHROWER"Symbol 1596 MovieClip {player_scott} Frame 40
"AIM_GRENADE"Symbol 1596 MovieClip {player_scott} Frame 41
"AIM_MOLOTOV"Symbol 1596 MovieClip {player_scott} Frame 42
"THROW"Symbol 1596 MovieClip {player_scott} Frame 43
"ROCKET_RIDE_R"Symbol 1596 MovieClip {player_scott} Frame 44
"ROCKET_RIDE_L"Symbol 1596 MovieClip {player_scott} Frame 46
"CLIMB"Symbol 1596 MovieClip {player_scott} Frame 47
"SLIDE"Symbol 1596 MovieClip {player_scott} Frame 48
"AIM_TURN"Symbol 1596 MovieClip {player_scott} Frame 49
"GRABBED"Symbol 1596 MovieClip {player_scott} Frame 50
"STUN_01"Symbol 1596 MovieClip {player_scott} Frame 51
"STUN_02"Symbol 1596 MovieClip {player_scott} Frame 52
"JUMPKICK"Symbol 1596 MovieClip {player_scott} Frame 53
"STAGGER"Symbol 1596 MovieClip {player_scott} Frame 54
"DEATH_KNEEL"Symbol 1596 MovieClip {player_scott} Frame 55
"EMPTY"Symbol 1596 MovieClip {player_scott} Frame 56
"IDLE"Symbol 1769 MovieClip {player_funnyman} Frame 1
"JUMP"Symbol 1769 MovieClip {player_funnyman} Frame 2
"RUN"Symbol 1769 MovieClip {player_funnyman} Frame 3
"FALL_F"Symbol 1769 MovieClip {player_funnyman} Frame 4
"FALL_B"Symbol 1769 MovieClip {player_funnyman} Frame 5
"KNOCKDOWN"Symbol 1769 MovieClip {player_funnyman} Frame 6
"KNEEL"Symbol 1769 MovieClip {player_funnyman} Frame 7
"COVER"Symbol 1769 MovieClip {player_funnyman} Frame 8
"SPRINT"Symbol 1769 MovieClip {player_funnyman} Frame 9
"ROLL"Symbol 1769 MovieClip {player_funnyman} Frame 10
"KICK"Symbol 1769 MovieClip {player_funnyman} Frame 11
"DIVE"Symbol 1769 MovieClip {player_funnyman} Frame 12
"PUNCH_01"Symbol 1769 MovieClip {player_funnyman} Frame 13
"PUNCH_02"Symbol 1769 MovieClip {player_funnyman} Frame 14
"PUNCH_03"Symbol 1769 MovieClip {player_funnyman} Frame 15
"MACHETE_01"Symbol 1769 MovieClip {player_funnyman} Frame 16
"MACHETE_02"Symbol 1769 MovieClip {player_funnyman} Frame 17
"MACHETE_03"Symbol 1769 MovieClip {player_funnyman} Frame 18
"AXE_01"Symbol 1769 MovieClip {player_funnyman} Frame 19
"AXE_02"Symbol 1769 MovieClip {player_funnyman} Frame 20
"AXE_03"Symbol 1769 MovieClip {player_funnyman} Frame 21
"SWORD_01"Symbol 1769 MovieClip {player_funnyman} Frame 22
"SWORD_02"Symbol 1769 MovieClip {player_funnyman} Frame 23
"SWORD_03"Symbol 1769 MovieClip {player_funnyman} Frame 24
"START_PISTOL"Symbol 1769 MovieClip {player_funnyman} Frame 25
"AIM_PISTOL"Symbol 1769 MovieClip {player_funnyman} Frame 26
"START_MAGNUM"Symbol 1769 MovieClip {player_funnyman} Frame 27
"AIM_MAGNUM"Symbol 1769 MovieClip {player_funnyman} Frame 28
"START_RIFLE"Symbol 1769 MovieClip {player_funnyman} Frame 29
"AIM_RIFLE"Symbol 1769 MovieClip {player_funnyman} Frame 30
"START_UZI"Symbol 1769 MovieClip {player_funnyman} Frame 31
"AIM_UZI"Symbol 1769 MovieClip {player_funnyman} Frame 32
"START_SHOTGUN"Symbol 1769 MovieClip {player_funnyman} Frame 33
"AIM_SHOTGUN"Symbol 1769 MovieClip {player_funnyman} Frame 34
"START_SNIPER"Symbol 1769 MovieClip {player_funnyman} Frame 35
"AIM_SNIPER"Symbol 1769 MovieClip {player_funnyman} Frame 36
"START_BAZOOKA"Symbol 1769 MovieClip {player_funnyman} Frame 37
"AIM_BAZOOKA"Symbol 1769 MovieClip {player_funnyman} Frame 38
"START_FLAMETHROWER"Symbol 1769 MovieClip {player_funnyman} Frame 39
"AIM_FLAMETHROWER"Symbol 1769 MovieClip {player_funnyman} Frame 40
"AIM_GRENADE"Symbol 1769 MovieClip {player_funnyman} Frame 41
"AIM_MOLOTOV"Symbol 1769 MovieClip {player_funnyman} Frame 42
"THROW"Symbol 1769 MovieClip {player_funnyman} Frame 43
"ROCKET_RIDE_R"Symbol 1769 MovieClip {player_funnyman} Frame 44
"ROCKET_RIDE_L"Symbol 1769 MovieClip {player_funnyman} Frame 46
"CLIMB"Symbol 1769 MovieClip {player_funnyman} Frame 47
"SLIDE"Symbol 1769 MovieClip {player_funnyman} Frame 48
"AIM_TURN"Symbol 1769 MovieClip {player_funnyman} Frame 49
"GRABBED"Symbol 1769 MovieClip {player_funnyman} Frame 50
"STUN_01"Symbol 1769 MovieClip {player_funnyman} Frame 51
"STUN_02"Symbol 1769 MovieClip {player_funnyman} Frame 52
"JUMPKICK"Symbol 1769 MovieClip {player_funnyman} Frame 53
"STAGGER"Symbol 1769 MovieClip {player_funnyman} Frame 54
"DEATH_KNEEL"Symbol 1769 MovieClip {player_funnyman} Frame 55
"EMPTY"Symbol 1769 MovieClip {player_funnyman} Frame 56
"IDLE"Symbol 1910 MovieClip {player_mac} Frame 1
"JUMP"Symbol 1910 MovieClip {player_mac} Frame 2
"RUN"Symbol 1910 MovieClip {player_mac} Frame 3
"FALL_F"Symbol 1910 MovieClip {player_mac} Frame 4
"FALL_B"Symbol 1910 MovieClip {player_mac} Frame 5
"KNOCKDOWN"Symbol 1910 MovieClip {player_mac} Frame 6
"KNEEL"Symbol 1910 MovieClip {player_mac} Frame 7
"COVER"Symbol 1910 MovieClip {player_mac} Frame 8
"SPRINT"Symbol 1910 MovieClip {player_mac} Frame 9
"ROLL"Symbol 1910 MovieClip {player_mac} Frame 10
"KICK"Symbol 1910 MovieClip {player_mac} Frame 11
"DIVE"Symbol 1910 MovieClip {player_mac} Frame 12
"PUNCH_01"Symbol 1910 MovieClip {player_mac} Frame 13
"PUNCH_02"Symbol 1910 MovieClip {player_mac} Frame 14
"PUNCH_03"Symbol 1910 MovieClip {player_mac} Frame 15
"MACHETE_01"Symbol 1910 MovieClip {player_mac} Frame 16
"MACHETE_02"Symbol 1910 MovieClip {player_mac} Frame 17
"MACHETE_03"Symbol 1910 MovieClip {player_mac} Frame 18
"AXE_01"Symbol 1910 MovieClip {player_mac} Frame 19
"AXE_02"Symbol 1910 MovieClip {player_mac} Frame 20
"AXE_03"Symbol 1910 MovieClip {player_mac} Frame 21
"SWORD_01"Symbol 1910 MovieClip {player_mac} Frame 22
"SWORD_02"Symbol 1910 MovieClip {player_mac} Frame 23
"SWORD_03"Symbol 1910 MovieClip {player_mac} Frame 24
"START_PISTOL"Symbol 1910 MovieClip {player_mac} Frame 25
"AIM_PISTOL"Symbol 1910 MovieClip {player_mac} Frame 26
"START_MAGNUM"Symbol 1910 MovieClip {player_mac} Frame 27
"AIM_MAGNUM"Symbol 1910 MovieClip {player_mac} Frame 28
"START_RIFLE"Symbol 1910 MovieClip {player_mac} Frame 29
"AIM_RIFLE"Symbol 1910 MovieClip {player_mac} Frame 30
"START_UZI"Symbol 1910 MovieClip {player_mac} Frame 31
"AIM_UZI"Symbol 1910 MovieClip {player_mac} Frame 32
"START_SHOTGUN"Symbol 1910 MovieClip {player_mac} Frame 33
"AIM_SHOTGUN"Symbol 1910 MovieClip {player_mac} Frame 34
"START_SNIPER"Symbol 1910 MovieClip {player_mac} Frame 35
"AIM_SNIPER"Symbol 1910 MovieClip {player_mac} Frame 36
"START_BAZOOKA"Symbol 1910 MovieClip {player_mac} Frame 37
"AIM_BAZOOKA"Symbol 1910 MovieClip {player_mac} Frame 38
"START_FLAMETHROWER"Symbol 1910 MovieClip {player_mac} Frame 39
"AIM_FLAMETHROWER"Symbol 1910 MovieClip {player_mac} Frame 40
"AIM_GRENADE"Symbol 1910 MovieClip {player_mac} Frame 41
"AIM_MOLOTOV"Symbol 1910 MovieClip {player_mac} Frame 42
"THROW"Symbol 1910 MovieClip {player_mac} Frame 43
"ROCKET_RIDE_R"Symbol 1910 MovieClip {player_mac} Frame 44
"ROCKET_RIDE_L"Symbol 1910 MovieClip {player_mac} Frame 46
"CLIMB"Symbol 1910 MovieClip {player_mac} Frame 47
"SLIDE"Symbol 1910 MovieClip {player_mac} Frame 48
"AIM_TURN"Symbol 1910 MovieClip {player_mac} Frame 49
"GRABBED"Symbol 1910 MovieClip {player_mac} Frame 50
"STUN_01"Symbol 1910 MovieClip {player_mac} Frame 51
"STUN_02"Symbol 1910 MovieClip {player_mac} Frame 52
"JUMPKICK"Symbol 1910 MovieClip {player_mac} Frame 53
"STAGGER"Symbol 1910 MovieClip {player_mac} Frame 54
"DEATH_KNEEL"Symbol 1910 MovieClip {player_mac} Frame 55
"EMPTY"Symbol 1910 MovieClip {player_mac} Frame 56
"IDLE"Symbol 2051 MovieClip {player_jeff} Frame 1
"JUMP"Symbol 2051 MovieClip {player_jeff} Frame 2
"RUN"Symbol 2051 MovieClip {player_jeff} Frame 3
"FALL_F"Symbol 2051 MovieClip {player_jeff} Frame 4
"FALL_B"Symbol 2051 MovieClip {player_jeff} Frame 5
"KNOCKDOWN"Symbol 2051 MovieClip {player_jeff} Frame 6
"KNEEL"Symbol 2051 MovieClip {player_jeff} Frame 7
"COVER"Symbol 2051 MovieClip {player_jeff} Frame 8
"SPRINT"Symbol 2051 MovieClip {player_jeff} Frame 9
"ROLL"Symbol 2051 MovieClip {player_jeff} Frame 10
"KICK"Symbol 2051 MovieClip {player_jeff} Frame 11
"DIVE"Symbol 2051 MovieClip {player_jeff} Frame 12
"PUNCH_01"Symbol 2051 MovieClip {player_jeff} Frame 13
"PUNCH_02"Symbol 2051 MovieClip {player_jeff} Frame 14
"PUNCH_03"Symbol 2051 MovieClip {player_jeff} Frame 15
"MACHETE_01"Symbol 2051 MovieClip {player_jeff} Frame 16
"MACHETE_02"Symbol 2051 MovieClip {player_jeff} Frame 17
"MACHETE_03"Symbol 2051 MovieClip {player_jeff} Frame 18
"AXE_01"Symbol 2051 MovieClip {player_jeff} Frame 19
"AXE_02"Symbol 2051 MovieClip {player_jeff} Frame 20
"AXE_03"Symbol 2051 MovieClip {player_jeff} Frame 21
"SWORD_01"Symbol 2051 MovieClip {player_jeff} Frame 22
"SWORD_02"Symbol 2051 MovieClip {player_jeff} Frame 23
"SWORD_03"Symbol 2051 MovieClip {player_jeff} Frame 24
"START_PISTOL"Symbol 2051 MovieClip {player_jeff} Frame 25
"AIM_PISTOL"Symbol 2051 MovieClip {player_jeff} Frame 26
"START_MAGNUM"Symbol 2051 MovieClip {player_jeff} Frame 27
"AIM_MAGNUM"Symbol 2051 MovieClip {player_jeff} Frame 28
"START_RIFLE"Symbol 2051 MovieClip {player_jeff} Frame 29
"AIM_RIFLE"Symbol 2051 MovieClip {player_jeff} Frame 30
"START_UZI"Symbol 2051 MovieClip {player_jeff} Frame 31
"AIM_UZI"Symbol 2051 MovieClip {player_jeff} Frame 32
"START_SHOTGUN"Symbol 2051 MovieClip {player_jeff} Frame 33
"AIM_SHOTGUN"Symbol 2051 MovieClip {player_jeff} Frame 34
"START_SNIPER"Symbol 2051 MovieClip {player_jeff} Frame 35
"AIM_SNIPER"Symbol 2051 MovieClip {player_jeff} Frame 36
"START_BAZOOKA"Symbol 2051 MovieClip {player_jeff} Frame 37
"AIM_BAZOOKA"Symbol 2051 MovieClip {player_jeff} Frame 38
"START_FLAMETHROWER"Symbol 2051 MovieClip {player_jeff} Frame 39
"AIM_FLAMETHROWER"Symbol 2051 MovieClip {player_jeff} Frame 40
"AIM_GRENADE"Symbol 2051 MovieClip {player_jeff} Frame 41
"AIM_MOLOTOV"Symbol 2051 MovieClip {player_jeff} Frame 42
"THROW"Symbol 2051 MovieClip {player_jeff} Frame 43
"ROCKET_RIDE_R"Symbol 2051 MovieClip {player_jeff} Frame 44
"ROCKET_RIDE_L"Symbol 2051 MovieClip {player_jeff} Frame 46
"CLIMB"Symbol 2051 MovieClip {player_jeff} Frame 47
"SLIDE"Symbol 2051 MovieClip {player_jeff} Frame 48
"AIM_TURN"Symbol 2051 MovieClip {player_jeff} Frame 49
"GRABBED"Symbol 2051 MovieClip {player_jeff} Frame 50
"STUN_01"Symbol 2051 MovieClip {player_jeff} Frame 51
"STUN_02"Symbol 2051 MovieClip {player_jeff} Frame 52
"JUMPKICK"Symbol 2051 MovieClip {player_jeff} Frame 53
"STAGGER"Symbol 2051 MovieClip {player_jeff} Frame 54
"DEATH_KNEEL"Symbol 2051 MovieClip {player_jeff} Frame 55
"EMPTY"Symbol 2051 MovieClip {player_jeff} Frame 56
"SOLO"Symbol 2114 MovieClip {Superfighters_fla.toggle_team_786} Frame 5
"RANDOM"Symbol 2131 MovieClip {Superfighters_fla.toggle_character_name_787} Frame 15
"RANDOM"Symbol 2136 MovieClip {Superfighters_fla.toggle_character_pic_788} Frame 15
"COM"Symbol 2143 MovieClip {Superfighters_fla.toggle_player_type_789} Frame 3
"AXE"Symbol 2377 MovieClip Frame 1
"BAZOOKA"Symbol 2377 MovieClip Frame 2
"FLAMETHROWER"Symbol 2377 MovieClip Frame 3
"GRENADE"Symbol 2377 MovieClip Frame 4
"MACHETE"Symbol 2377 MovieClip Frame 5
"MAGNUM"Symbol 2377 MovieClip Frame 6
"MOLOTOV"Symbol 2377 MovieClip Frame 7
"PISTOL"Symbol 2377 MovieClip Frame 8
"RIFLE"Symbol 2377 MovieClip Frame 9
"SHOTGUN"Symbol 2377 MovieClip Frame 10
"SNIPER"Symbol 2377 MovieClip Frame 11
"SWORD"Symbol 2377 MovieClip Frame 12
"UZI"Symbol 2377 MovieClip Frame 13
"EMPTY"Symbol 2377 MovieClip Frame 14
"SLOMO05"Symbol 2377 MovieClip Frame 15
"SLOMO10"Symbol 2377 MovieClip Frame 16
"FISTS"Symbol 2377 MovieClip Frame 17
"PLAYER_1"Symbol 2430 MovieClip {round_winner} Frame 5
"PLAYER_2"Symbol 2430 MovieClip {round_winner} Frame 6
"COM"Symbol 2430 MovieClip {round_winner} Frame 7
"DRAW"Symbol 2430 MovieClip {round_winner} Frame 8




http://swfchan.com/42/208165/info.shtml
Created: 9/10 -2018 05:09:49 Last modified: 9/10 -2018 05:09:49 Server time: 03/05 -2024 09:35:23