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

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

Rise Of Pirates.swf

This is the info page for
Flash #131309

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


Text
<p align="center"><font face="Garamond Premr Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Escape!</font></p>

<p align="center"><font face="Garamond Premr Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Character</font></p>

<p align="center"><font face="Garamond Premr Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Pause</font></p>

<p align="center"><font face="Garamond Premr Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Main menu</font></p>

<p align="center"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">150</font></p>

<p align="center"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">3000</font></p>

<p align="left"><font face="Garamond Premr Pro" size="20" color="#ffff00" letterSpacing="2.000000" kerning="1">100500</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Reload: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Reload: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Reload: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Reload: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Speed: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Reload: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Reload: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Reload: xxx</font></p>

Game paused

<p align="center"><font face="Tw Cen MT Condensed" size="13" color="#ffffff" letterSpacing="0.000000" kerning="1">0</font></p>

You already tried to escape,
and failed it!

Game paused

This site does not support this game.
Please visit King.com to play.

Global Data

<p align="right"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1"><b>Garamond</b></font></p>

<p align="right"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Garamond</font></p>

Ok

Select your character!

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">asdasdasd</font></p>

<p align="left"></p>

Yes

No

<p align="center"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Are you sure, you want to buy this cannon?</font></p>

Are you sure, you want to buy these
goods?

<p align="left"><font face="Times New Roman" size="14" color="#000000" letterSpacing="0.000000" kerning="1">0</font></p>

Quantity:

Cost:

<p align="center"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Are you sure, you want to buy this ship? All your ship upgrades will be cleared.</font></p>

Back to map

Cannons

Shipyard

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Cost: $xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="14" color="#000000" letterSpacing="0.000000" kerning="1">Speed: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="14" color="#000000" letterSpacing="0.000000" kerning="1">Steering: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="14" color="#000000" letterSpacing="0.000000" kerning="1">Steering: xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Queen Mary</font></p>

<p align="center"><font face="Garamond Premr Pro" size="23" color="#000000" letterSpacing="0.000000" kerning="1">Shipyard</font></p>

Page 1

Page 2

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffff33" letterSpacing="5.000000" kerning="1">1000000</font></p>

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="5.000000" kerning="1">150</font></p>

Steering:

Armor:

Team:

Speed:

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="5.000000" kerning="1">36</font></p>

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="5.000000" kerning="1">150</font></p>

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="5.000000" kerning="1">50</font></p>

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="5.000000" kerning="1">150</font></p>

Reload:

Range:

Cannons:

Damage:

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="5.000000" kerning="1">36</font></p>

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="5.000000" kerning="1">150</font></p>

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="5.000000" kerning="1">50</font></p>

Cannon shop

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Cost: $xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Damage: x</font></p>

Marketplace

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Cost: $xxx</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Sell value: 120</font></p>

Tavern

<p align="left"><font face="Garamond Premr Pro" size="15" color="#000000" letterSpacing="0.000000" kerning="1">Cost: 00000</font></p>

Do you want to drink some rum with old
sailors?

Do you want to try to buy some
suspiciously cheap goods?

Do you want to get a support ship?

Buy rum

Buy goods

Buy support

Market

Tavern

Do you want to get help in your travel?
Open your gold chest and ask for the
support ship!

Yes

No

Do you really want to buy these goods?
They looks not very good, but they're so
cheap and you can get a profit.

<p align="center"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Are you sure, you want to buy these goods? You waste some gold, but you can get some authority bonus for one raid.</font></p>

Ok

<p align="justify"><font face="Garamond Premr Pro" size="15" color="#000000" letterSpacing="0.000000" kerning="1">Young sailor said to you: &quot;Please, take this package and deliver it to the XXX city&quot;. You can take XXX gold for this.</font></p>

<p align="center"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Are you sure, you want to buy these goods?</font></p><p align="center"></p><p align="center"></p>

Are you sure, you want to buy ten
bottles of rum for sailors in the pub?
You waste some gold, but you can get
some authority bonus for one raid.

Restart

Mission failed!

Walkthrough

Level score:

<p align="left"><font face="Garamond Premr Pro" size="19" color="#000000" letterSpacing="0.000000" kerning="1">120150</font></p>

Back to menu

You board the Uninvited and get to her “master”.
It is Mathias Rains, your former mate on one of your first ships. You gradually deprive
him of his limbs with a big hammer which definitely doesn’t make him too happy.
Finally he opens his mouth and you find out that your brother is being held captive on
the isle. You land immediately. After a lot of fencing you free your brother and then
organize an all-night drinking party on the ship.
And now you are free to do whatever you want. You can continue sailing about, sinking
the other pirate ships with cannons and getting the best rewards, or you can support
this game’s sponsor visiting his web-site. There is a lot of rum and talking parrots, I
swear!

Back to menu

Your score:

<p align="left"><font face="Garamond Premr Pro" size="18" color="#000000" letterSpacing="0.000000" kerning="1">120150</font></p>

Mission win!

Submit Score

Proceed

Continue

You can buy better cannons to increase damage.

If you have no gold in your chests,
battle with enemie pirates, or trade
some goods in city market.

TUTORIAL

This is your position.

This is your current quest target.

You can move your ship
clicking on the map.

While moving through the map you can be attacked by
the enemies. Now you'll get storyline introduction and
your first quest.

GOOD LUCK AND SEVEN FEET UNDER!

You can buy different goods to earn some gold.

You need to buy goods, clicking on
the goods icons and selecting amount
on the pop-up dialog.
To sell these goods you need to go to
another city. Your goods will be sold
automatically.

You can increase your captain abilities on this screen.

<p align="center"><font face="Garamond Premr Pro" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Authority +10%</font></p>

On the left side you can see icons,
for all available upgrades.

Move mouse pointer over the icon and
you'll see the tooltip with explanation
which bonus you'll get if you have
enought upgrade points.

You can buy new ship with better parameters on this screen.

You can use your mouse to
control the ship.

Click to destination to move.

Press button down and
move cursor to the target
to shoot. Arrow show you
shooting direction.

TUTORIAL

You can also use WASD or Arrows keys to control
your movements.

Move

If you see the arrow became
red, that means your ship can't
shoot in that direction

Your ship has cannons on both sides.
You can shoot to the left or to the
right , but not forward or backward.

Red arrow will help you to find
nearest enemy.

<p align="left"><font face="Garamond Premr Pro" size="12" color="#000000" letterSpacing="0.000000" kerning="1">200</font></p>

<p align="left"><font face="Garamond Premr Pro" size="12" color="#000000" letterSpacing="0.000000" kerning="1">200</font></p>

Move close to an enemy
ship to board it.

Caution! There are dangerous sea monsters here.
If their tentacles touch your ship - they can damage it.

Ship health points

Ship crew

In the bottom-right corner of the screen you can see:

<p align="center"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">150</font></p>

<p align="center"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">45</font></p>

You can increase your ship's parameters on this screen.

On the left side of the screen you can
see all available upgrade icons. If you have
enought gold in your chests, you can click
on the icons and take the upgrades.

Authority perks

Bombardier perks

Trader perks

Ok

Experience gained:

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="2.000000" kerning="1">100500</font></p>

Ship owned:

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="2.000000" kerning="1">Fregate</font></p>

Storyline passed:

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="2.000000" kerning="1">50%</font></p>

Upgrade points:

<p align="left"><font face="Garamond Premr Pro" size="14" color="#ffffff" letterSpacing="2.000000" kerning="1">0</font></p>

TROPHY ROOM

Back to menu

100 enemy ships destroyed

Whole game completed

Best ship and cannon purchased

Cannon damage

Cannon amount

Team amount

Reload speed

Ship speed

Ship armor

Maneuverability

<p align="left"><font face="Garamond Premr Pro" size="16" color="#ffffff" letterSpacing="5.000000" kerning="1">150</font></p>

Steering:

Armor:

Team:

Speed:

<p align="left"><font face="Garamond Premr Pro" size="16" color="#ffffff" letterSpacing="5.000000" kerning="1">36</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#ffffff" letterSpacing="5.000000" kerning="1">150</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#ffffff" letterSpacing="5.000000" kerning="1">50</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#ffffff" letterSpacing="5.000000" kerning="1">150</font></p>

Reload:

Cannons:

Damage:

<p align="left"><font face="Garamond Premr Pro" size="16" color="#ffffff" letterSpacing="5.000000" kerning="1">36</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#ffffff" letterSpacing="5.000000" kerning="1">50</font></p>

Ok

<p align="left"><font face="Garamond Premr Pro" size="18" color="#ffff00" letterSpacing="5.000000" kerning="1">1000000</font></p>

SOUND

<p align="center"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Do you want to enter FUCKING TOWN&apos;s shipyard?</font></p>

<p align="center"><font face="Tw Cen MT Condensed" size="13" color="#ffffff" letterSpacing="0.000000" kerning="1">0</font></p>

<p align="left"><font face="Garamond Premr Pro" size="16" color="#000000" letterSpacing="1.000000" kerning="1">sdfgsdh</font></p>

Proceed

SoundManager

SoundManager

Credits
Producer
Stefans Keiss
Code
Dmitry Shabanov
Art & Sound
Maxim Moiseev
Igor Makeenko
Storyline
A. Fu-Zin
Irast Kukashkin
Andrey Vostokov

Back to menu

ActionScript [AS3]

Section 1
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var radius:Number; public var localPosition:b2Vec2; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Box2D.Collision.Shapes
Section 2
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { public var m_localPosition:b2Vec2; public var m_radius:Number; public function b2CircleShape(_arg1:b2ShapeDef){ m_localPosition = new b2Vec2(); super(_arg1); var _local2:b2CircleDef = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local10:Number; var _local6:b2Mat22 = _arg1.R; var _local7:Number = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); var _local8:Number = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); var _local9:Number = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); var _local11:Number = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; var _local12:Number = (_arg4.p2.x - _arg4.p1.x); var _local13:Number = (_arg4.p2.y - _arg4.p1.y); var _local14:Number = ((_local9 * _local12) + (_local10 * _local13)); var _local15:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local16:Number = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; var _local17:Number = -((_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); } public function GetLocalPosition():b2Vec2{ return (m_localPosition); } public function GetRadius():Number{ return (m_radius); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; _local4 = _arg2.R; var _local5:Number = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local6:Number = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; var _local7:Number = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local8:Number = (_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)); } 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 UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number = (m_localPosition.x - _arg1.x); var _local3:Number = (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 = _arg2.R; var _local4:Number = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_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)); } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22 = _arg1.R; var _local4:Number = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_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))); } } }//package Box2D.Collision.Shapes
Section 3
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { public class b2FilterData { public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var categoryBits:uint;// = 1 public function Copy():b2FilterData{ var _local1:b2FilterData = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Collision.Shapes
Section 4
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ center = new b2Vec2(0, 0); super(); } } }//package Box2D.Collision.Shapes
Section 5
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertices:Array; public var vertexCount:int; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; var _local1:int; 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 Box2D.Collision.Shapes
Section 6
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { public var m_coreVertices:Array; public var m_vertices:Array; private var s_supportVec:b2Vec2; public var m_centroid:b2Vec2; public var m_normals:Array; public var m_obb:b2OBB; 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 _local3: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; var _local2:b2PolygonDef = (_arg1 as b2PolygonDef); m_vertexCount = _local2.vertexCount; var _local4:int = _local3; var _local5:int = _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 ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB = s_sweptAABB1; var _local5:b2AABB = 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 GetCoreVertices():Array{ return (m_coreVertices); } public function GetCentroid():b2Vec2{ return (m_centroid); } 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 TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local20:Number; var _local21:Number; var _local6:Number = 0; var _local7:Number = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; var _local12:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local13:Number = ((_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; var _local14:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local15:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); var _local18 = -1; var _local19:int; 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); } override public function ComputeMass(_arg1:b2MassData):void{ 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; var _local2:Number = 0; var _local3:Number = 0; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = (1 / 3); var _local9:int; 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 GetNormals():Array{ return (m_normals); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local11:Number; _local5 = _arg1.R; var _local6:Number = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); var _local7:Number = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); var _local8:int; _local4 = m_coreVertices[0]; var _local9:Number = ((_local4.x * _local6) + (_local4.y * _local7)); var _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 ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22 = 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(); var _local6:b2Mat22 = _local5; _local4 = m_obb.extents; var _local7:Number = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); var _local8:Number = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = m_obb.center; var _local9:Number = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); var _local10:Number = (_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)); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local4:Number; var _local5:Number; m_sweepRadius = 0; var _local3:int; 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 TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local10:Number; var _local4:b2Mat22 = _arg1.R; var _local5:Number = (_arg2.x - _arg1.position.x); var _local6:Number = (_arg2.y - _arg1.position.y); var _local7:Number = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); var _local8:Number = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); var _local9:int; 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 static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local7:Number; 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(); var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; _local7 = (1 / 3); var _local8:int; 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 _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; var _local5:Array = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; var _local6:Number = 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 Box2D.Collision.Shapes
Section 7
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Shape { public var m_next: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_isSensor:Boolean; public var m_restitution:Number; public var m_userData; 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 SetUserData(_arg1):void{ m_userData = _arg1; } 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{ if (m_proxyId == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(m_proxyId); var _local3:b2AABB = s_resetAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _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{ if (m_proxyId == b2Pair.b2_nullProxy){ return (false); }; var _local4:b2AABB = 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 = s_proxyAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } 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 Box2D.Collision.Shapes
Section 8
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { public class b2ShapeDef { public var friction:Number;// = 0.2 public var isSensor:Boolean;// = false public var density:Number;// = 0 public var restitution:Number;// = 0 public var userData;// = null public var filter:b2FilterData; public var type:int; public function b2ShapeDef(){ type = b2Shape.e_unknownShape; filter = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 9
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import 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 = (upperBound.x - lowerBound.x); var _local2:Number = (upperBound.y - lowerBound.y); var _local3:Boolean = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 10
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var value:uint; public var proxyId:uint; public var stabbingCount:uint; public function Swap(_arg1:b2Bound):void{ var _local2:uint = value; var _local3:uint = proxyId; var _local4:uint = 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 Box2D.Collision
Section 11
//b2BoundValues (Box2D.Collision.b2BoundValues) package Box2D.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package Box2D.Collision
Section 12
//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2BroadPhase { public var m_bounds:Array; public var m_quantizationFactor:b2Vec2; public var m_worldAABB:b2AABB; 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 _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++; }; var _local4:Number = (_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 _local6:uint; var _local7:uint; var _local12:b2Proxy; var _local4:Array = new Array(); var _local5:Array = new Array(); ComputeBounds(_local4, _local5, _arg1); var _local8:Array = [_local6]; var _local9:Array = [_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); var _local10:int; var _local11:int; 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 = 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 _local10:b2Bound; var _local12:int; var _local13:int; var _local14:b2Proxy; var _local8:uint = BinarySearch(_arg5, _arg6, _arg3); var _local9:uint = BinarySearch(_arg5, _arg6, _arg4); var _local11:uint = _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 _local4:Array; var _local5:b2Bound; var _local6:b2Bound; var _local3:int; 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 = _arg3.lowerBound.x; var _local5:Number = _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); var _local6:Number = _arg3.upperBound.x; var _local7:Number = _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 _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; var _local5:uint = m_freeProxy; _local4 = m_proxyPool[_local5]; m_freeProxy = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; var _local6:uint = (2 * m_proxyCount); var _local7:Array = new Array(); var _local8:Array = new Array(); ComputeBounds(_local7, _local8, _arg1); var _local9:int; 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++; var _local10:int; 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 _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; var _local4:b2Proxy = m_proxyPool[_arg1]; var _local5:int = (2 * m_proxyCount); var _local6:int; 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++; }; var _local7:int; 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 _local4:Array; var _local5:b2Bound; var _local3:int; 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 _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local5:int; 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 = 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 _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; }; var _local12:uint = (2 * m_proxyCount); var _local13:b2Proxy = m_proxyPool[_arg1]; var _local14:b2BoundValues = new b2BoundValues(); ComputeBounds(_local14.lowerValues, _local14.upperValues, _arg2); var _local15:b2BoundValues = 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 _local6:int; var _local7:b2Bound; var _local4:int; var _local5:int = (_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 Box2D.Collision
Section 13
//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 14
//b2Collision (Box2D.Collision.b2Collision) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import 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 _local11:b2Mat22; var _local12:b2Vec2; var _local25:Number; var _local6:int = _arg1.m_vertexCount; var _local7:Array = _arg1.m_vertices; var _local8:Array = _arg1.m_normals; var _local9:int = _arg4.m_vertexCount; var _local10:Array = _arg4.m_vertices; _local11 = _arg2.R; _local12 = _local8[_arg3]; var _local13:Number = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); var _local14:Number = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; var _local15:Number = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); var _local16:Number = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; 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; var _local20:Number = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local21:Number = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; var _local22:Number = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local23:Number = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); var _local24:Number = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2 = _arg2.lowerBound; var _local4:b2Vec2 = _arg1.upperBound; var _local5:Number = (_local3.x - _local4.x); var _local6:Number = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; var _local7:Number = (_local3.x - _local4.x); var _local8:Number = (_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 _local12:b2Mat22; var _local13:b2Vec2; var _local20:ClipVertex; var _local23:Number; var _local7:int = _arg2.m_vertexCount; var _local8:Array = _arg2.m_normals; var _local9:int = _arg5.m_vertexCount; var _local10:Array = _arg5.m_vertices; var _local11:Array = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; var _local14:Number = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); var _local15:Number = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; var _local16:Number = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; var _local21:int = _local17; var _local22:int = (((_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 _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local17:int; var _local18:uint; var _local34:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; var _local7:int; var _local8:Array = [_local7]; var _local9:Number = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; var _local10:int; var _local11:Array = [_local10]; var _local12:Number = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; var _local15:b2XForm = new b2XForm(); var _local16:b2XForm = new b2XForm(); var _local19:Number = 0.98; var _local20:Number = 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; }; var _local21:Array = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); var _local22:int = _local13.m_vertexCount; var _local23:Array = _local13.m_vertices; var _local24:b2Vec2 = _local23[_local17]; var _local25:b2Vec2 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; var _local26:b2Vec2 = b2Math.SubtractVV(_local37, _local25); var _local27:b2Vec2 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); var _local28:b2Vec2 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); var _local29:Number = b2Math.b2Dot(_local28, _local25); var _local30:Number = -(b2Math.b2Dot(_local27, _local25)); var _local31:Number = b2Math.b2Dot(_local27, _local37); var _local32:Array = [new ClipVertex(), new ClipVertex()]; var _local33:Array = [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(); var _local35:int; var _local36:int; 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 _local8:b2Vec2; var _local9:b2Mat22; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; var _local6:int = _arg2.m_vertexCount; var _local7:Array = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; var _local10:Number = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); var _local11:Number = (_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)))); var _local12:Number = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); var _local13:Number = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); var _local14:int; var _local15:Number = -(Number.MAX_VALUE); var _local16:int; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; var _local17:Number = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; var _local18:int = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); var _local19:Number = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; var _local20:int = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; var _local21:Number = 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 _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); var _local10:Number = (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 _local18:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; var _local8:Number = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local9:Number = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; var _local10:Number = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local11:Number = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); var _local12:Number = (_local10 - _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local15:Number = _arg2.m_radius; var _local16:Number = _arg4.m_radius; var _local17:Number = (_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; var _local19:b2ManifoldPoint = _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)); var _local20:Number = (0.5 * (_local8 + _local10)); var _local21:Number = (0.5 * (_local9 + _local11)); var _local22:Number = (_local20 - _arg3.position.x); var _local23:Number = (_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 _local17:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; var _local13:Number = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); var _local14:Number = (_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; var _local15:Number = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); var _local16:Number = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); var _local18:int; var _local19:Number = -(Number.MAX_VALUE); var _local20:Number = _arg4.m_radius; var _local21:int = _arg2.m_vertexCount; var _local22:Array = _arg2.m_vertices; var _local23:Array = _arg2.m_normals; var _local24:int; 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; }; var _local25:int = _local18; var _local26:int = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; var _local27:b2Vec2 = _local22[_local26]; var _local28:Number = (_local27.x - _local11.x); var _local29:Number = (_local27.y - _local11.y); var _local30:Number = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); var _local31:Number = ((_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 = 0; }; }; _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 Box2D.Collision
Section 15
//b2ContactID (Box2D.Collision.b2ContactID) package 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 = new b2ContactID(); _local1.key = key; return (_local1); } 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); } public function get key():uint{ return (_key); } } }//package Box2D.Collision
Section 16
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var friction:Number; 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 velocity:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 17
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import 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 _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local4:Number = (100 * Number.MIN_VALUE); var _local5:int; 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 _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; var _local8:Array = s_p1s; var _local9:Array = s_p2s; var _local10:Array = s_points; var _local11:int; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); var _local12:Number = 0; var _local13 = 20; var _local14:int; 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 - ((_local15 * _local19) + (_local16 * _local20))) <= (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 _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; var _local9:Number = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local10:Number = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; var _local11:Number = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local12:Number = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:Number = ((_local13 * _local13) + (_local14 * _local14)); var _local16:Number = (_arg3.m_radius - b2Settings.b2_toiSlop); var _local17:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); var _local18:Number = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _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(((_local13 * _local13) + (_local14 * _local14))); _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 _local35: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]; var _local14:b2Vec2 = _arg4[2]; var _local15:Number = _local6.x; var _local16:Number = _local6.y; var _local17:Number = _local7.x; var _local18:Number = _local7.y; var _local19:Number = _local8.x; var _local20:Number = _local8.y; var _local21:Number = (_local17 - _local15); var _local22:Number = (_local18 - _local16); var _local23:Number = (_local19 - _local15); var _local24:Number = (_local20 - _local16); var _local25:Number = (_local19 - _local17); var _local26:Number = (_local20 - _local18); var _local27:Number = -(((_local15 * _local21) + (_local16 * _local22))); var _local28:Number = ((_local17 * _local21) + (_local18 * _local22)); var _local29:Number = -(((_local15 * _local23) + (_local16 * _local24))); var _local30:Number = ((_local19 * _local23) + (_local20 * _local24)); var _local31:Number = -(((_local17 * _local25) + (_local18 * _local26))); var _local32:Number = ((_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); }; var _local33:Number = ((_local21 * _local24) - (_local22 * _local23)); var _local34:Number = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); var _local36:Number = (_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); }; var _local37:Number = (_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); }; var _local38:Number = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); var _local39:Number = (_local36 * _local38); var _local40:Number = (_local37 * _local38); var _local41:Number = ((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 _local12:Number; var _local13:Number; var _local14:Number; var _local9:b2Point = 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))); var _local10:Number = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); var _local11:Number = (_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 = _arg3.m_type; var _local8:int = _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 _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local17:Number; var _local6:b2Vec2 = _arg5[0]; var _local7:b2Vec2 = _arg5[1]; var _local8:b2Vec2 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; var _local12:Number = -(_local7.x); var _local13:Number = -(_local7.y); var _local14:Number = (_local6.x - _local7.x); var _local15:Number = (_local6.y - _local7.y); var _local16:Number = 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 Box2D.Collision
Section 18
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var pointCount:int;// = 0 public var normal:b2Vec2; public var points:Array; public function b2Manifold(){ points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:b2Manifold):void{ pointCount = _arg1.pointCount; var _local2:int; 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; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package Box2D.Collision
Section 19
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import 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 Box2D.Collision
Section 20
//b2OBB (Box2D.Collision.b2OBB) package Box2D.Collision { import 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 Box2D.Collision
Section 21
//b2Pair (Box2D.Collision.b2Pair) package Box2D.Collision { import Box2D.Common.*; public class b2Pair { public var proxyId1:uint; public var userData;// = null public var proxyId2:uint; public var status:uint; public var next:uint; public static var e_pairFinal:uint = 4; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairRemoved:uint = 2; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public function 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 Box2D.Collision
Section 22
//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairRemoved(_arg1, _arg2, _arg3):void{ } public function PairAdded(_arg1, _arg2){ return (null); } } }//package Box2D.Collision
Section 23
//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PairManager { public var m_pairCount:int; public var m_pairBuffer:Array; public var m_hashTable:Array; public var m_callback:b2PairCallback; public var m_pairs:Array; public var m_pairBufferCount:int; 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 = 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 _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; var _local3:uint = (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 _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; var _local3:int; var _local4:Array = 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 = 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 _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; var _local4:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local5:uint = m_hashTable[_local4]; var _local6:b2Pair; 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 = 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 _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local4 = FindHash(_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; var _local5:uint = 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 = (((_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 Box2D.Collision
Section 24
//b2Point (Box2D.Collision.b2Point) package Box2D.Collision { import 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 Box2D.Collision
Section 25
//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var overlapCount:uint; public var userData;// = null public var lowerBounds:Array; public var upperBounds:Array; public var timeStamp:uint; public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; 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 Box2D.Collision
Section 26
//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local5:b2Vec2 = _arg3.p1; var _local6:Number = (_arg3.p2.x - _local5.x); var _local7:Number = (_arg3.p2.y - _local5.y); var _local8:Number = (p2.x - p1.x); var _local9:Number = (p2.y - p1.y); var _local10:Number = _local9; var _local11:Number = -(_local8); var _local12:Number = (100 * Number.MIN_VALUE); var _local13:Number = -(((_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 = ((-(_local7) * _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 Box2D.Collision
Section 27
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import 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 _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local7:Number = _arg1.m_sweepRadius; var _local8:Number = _arg3.m_sweepRadius; var _local9:Number = _arg2.t0; var _local10:Number = (_arg2.c.x - _arg2.c0.x); var _local11:Number = (_arg2.c.y - _arg2.c0.y); var _local12:Number = (_arg4.c.x - _arg4.c0.x); var _local13:Number = (_arg4.c.y - _arg4.c0.y); var _local14:Number = (_arg2.a - _arg2.a0); var _local15:Number = (_arg4.a - _arg4.a0); var _local16:Number = 0; var _local17:b2Vec2 = s_p1; var _local18:b2Vec2 = s_p2; var _local19 = 20; var _local20:int; var _local21:Number = 0; var _local22:Number = 0; var _local23:Number = 0; var _local24:Number = 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 Box2D.Collision
Section 28
//ClipVertex (Box2D.Collision.ClipVertex) package Box2D.Collision { import Box2D.Common.Math.*; public class ClipVertex { public var id:b2ContactID; public var v:b2Vec2; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 29
//Features (Box2D.Collision.Features) package 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 get incidentVertex():int{ return (_incidentVertex); } public function set flip(_arg1:int):void{ _flip = _arg1; _m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080)); } public function set incidentEdge(_arg1:int):void{ _incidentEdge = _arg1; _m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00)); } } }//package Box2D.Collision
Section 30
//b2Mat22 (Box2D.Common.Math.b2Mat22) package 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 SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function Set(_arg1:Number):void{ var _local2:Number; _local2 = Math.cos(_arg1); var _local3:Number = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } 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 _local4:Number; var _local6:Number; _local2 = col1.x; var _local3:Number = col2.x; _local4 = col1.y; var _local5:Number = 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 = col1.x; var _local5:Number = col2.x; var _local6:Number = col1.y; var _local7:Number = col2.y; var _local8:Number = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package Box2D.Common.Math
Section 31
//b2Math (Box2D.Common.Math.b2Math) package 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 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = 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 = 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 = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:* = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = 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 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = 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 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = 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 = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); var _local4:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); var _local5:b2Mat22 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean = (((_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 = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = 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 = 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 = 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 Box2D.Common.Math
Section 32
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var a:Number; public var c:b2Vec2; public var a0:Number; public var c0:b2Vec2; 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 _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); }; var _local3:b2Mat22 = _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 Box2D.Common.Math
Section 33
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { public class b2Vec2 { public var y:Number; public var x:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } 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 MulM(_arg1:b2Mat22):void{ var _local2:Number = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function SetZero():void{ x = 0; y = 0; } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function Normalize():Number{ var _local1:Number = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; var _local2:Number = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function CrossVF(_arg1:Number):void{ var _local2:Number = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } 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 CrossFV(_arg1:Number):void{ var _local2:Number = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number = 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 static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 34
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { public class b2XForm { public var position:b2Vec2; public var R:b2Mat22; 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 Box2D.Common.Math
Section 35
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var _r:uint;// = 0 private var _g:uint;// = 0 private var _b:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _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 set b(_arg1:Number):void{ _b = uint((0xFF * b2Math.b2Clamp(_arg1, 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 g(_arg1:Number):void{ _g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } } }//package Box2D.Common
Section 36
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import 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 = 0x0200; 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.2; public static const b2_maxPairs:int = 4096; 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 Box2D.Common
Section 37
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2CircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local8:b2ManifoldPoint; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = 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); var _local7:b2ContactPoint = 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); }; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 38
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import 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 IsSolid():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetShape1():b2Shape{ return (m_shape1); } public function GetShape2():b2Shape{ return (m_shape2); } public function GetNext():b2Contact{ return (m_next); } public function GetManifoldCount():int{ return (m_manifoldCount); } public function GetManifolds():Array{ return (null); } public function Update(_arg1:b2ContactListener):void{ var _local2:int = m_manifoldCount; Evaluate(_arg1); var _local3:int = m_manifoldCount; var _local4:b2Body = m_shape1.m_body; var _local5:b2Body = 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 _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); var _local1:int; 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{ if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; var _local3:int = _arg1.m_shape1.m_type; var _local4:int = _arg1.m_shape2.m_type; var _local5:b2ContactRegister = s_registers[_local3][_local4]; var _local6:Function = _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 _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; var _local4:int = _arg1.m_type; var _local5:int = _arg2.m_type; var _local6:b2ContactRegister = s_registers[_local4][_local5]; var _local7:Function = _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 Box2D.Dynamics.Contacts
Section 39
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var normal:b2Vec2; public var restitution:Number; public var body1:b2Body; public var manifold:b2Manifold; public var body2:b2Body; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var tangentMass:Number; public var equalizedMass: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 Box2D.Dynamics.Contacts
Section 41
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var other:b2Body; public var prev:b2ContactEdge; public var contact:b2Contact; public var next:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 42
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package Box2D.Dynamics.Contacts
Section 43
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactResult { public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var normalImpulse:Number; public var normal:b2Vec2; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Dynamics.Contacts
Section 44
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import 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 _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++; }; var _local9:int; _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 _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; var _local5:int; 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 _local3:b2Mat22; var _local4:b2Vec2; 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; var _local2:Number = 0; var _local5:int; 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 _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; var _local19:int; 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 _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; var _local1:int; 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 Box2D.Dynamics.Contacts
Section 45
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function Evaluate(_arg1:b2ContactListener):void{ } override public function GetManifolds():Array{ return (null); } } }//package Box2D.Dynamics.Contacts
Section 46
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ 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; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local6:b2Body = m_shape1.m_body; var _local7:b2Body = 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); var _local8:Array = [false, false]; var _local9:b2ContactPoint = 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++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; 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 Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local7:b2ContactPoint; var _local8:int; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = 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); var _local9:Array = [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++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 48
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_bias:Number; public var m_gamma:Number; public var m_u:b2Vec2; public var m_mass:Number; public var m_impulse:Number; public var m_dampingRatio:Number; public var m_frequencyHz: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 InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local8: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); var _local7:Number = (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); var _local9:Number = (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); var _local10:Number = 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(); }; var _local11:Number = ((_local6 * m_u.y) - (_local7 * m_u.x)); var _local12:Number = ((_local8 * m_u.y) - (_local9 * m_u.x)); var _local13:Number = (((_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 GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2(); _local1.SetV(m_u); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; if (m_frequencyHz > 0){ return (true); }; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local1 = _local2.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local8:Number = (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; var _local9:Number = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); var _local10:Number = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); var _local11:Number = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); var _local12:Number = (_local11 - m_length); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local13:Number = (-(m_mass) * _local12); m_u.Set(_local9, _local10); var _local14:Number = (_local13 * m_u.x); var _local15:Number = (_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 SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; _local2 = _local3.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local7:Number = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local9:Number = (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; var _local10:Number = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); var _local11:Number = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); var _local12:Number = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); var _local13:Number = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); var _local14:Number = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); var _local15:Number = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); var _local16:Number = (_local15 * m_u.x); var _local17:Number = (_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 Box2D.Dynamics.Joints
Section 49
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var length:Number; public var dampingRatio:Number; public var localAnchor2:b2Vec2; public var frequencyHz:Number; 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{ body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); var _local5:Number = (_arg4.x - _arg3.x); var _local6:Number = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 50
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { public var m_ground2:b2Body; 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_revolute2:b2RevoluteJoint; public var m_force:Number; public var m_mass:Number; public var m_prismatic2:b2PrismaticJoint; public var m_ground1:b2Body; public var m_revolute1:b2RevoluteJoint; public var m_prismatic1:b2PrismaticJoint; public var m_constant:Number; public var m_J:b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ 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); var _local2:int = _arg1.joint1.m_type; var _local3:int = _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 InitVelocityConstraints(_arg1:b2TimeStep):void{ 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 _local15:Number; var _local2:b2Body = m_ground1; var _local3:b2Body = m_ground2; var _local4:b2Body = m_body1; var _local5:b2Body = m_body2; var _local14:Number = 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 = m_body2.m_xf.R; var _local2:Number = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); var _local3:Number = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); var _local4:Number = ((_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); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local4:Number; var _local5:Number; var _local1:Number = 0; var _local2:b2Body = m_body1; var _local3:b2Body = 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(); }; var _local6:Number = (m_constant - (_local4 + (m_ratio * _local5))); var _local7:Number = (-(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)); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local5:Number = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); var _local6:Number = (_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 Box2D.Dynamics.Joints
Section 51
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var joint1:b2Joint; public var joint2:b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint; joint1 = null; joint2 = null; ratio = 1; } } }//package Box2D.Dynamics.Joints
Section 52
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var linear2:b2Vec2; public var angular1:Number; public var angular2: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 Box2D.Dynamics.Joints
Section 53
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import 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 GetBody2():b2Body{ return (m_body2); } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function GetNext():b2Joint{ return (m_next); } public function GetType():int{ return (m_type); } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } 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; 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 Box2D.Dynamics.Joints
Section 54
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var body2:b2Body; public var type:int; public var userData; public var collideConnected:Boolean; public var body1:b2Body; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 55
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var other:b2Body; public var next:b2JointEdge; public var prev:b2JointEdge; public var joint:b2Joint; } }//package Box2D.Dynamics.Joints
Section 56
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { private var K1:b2Mat22; private var K:b2Mat22; public var m_beta:Number; public var m_mass:b2Mat22; private var K2:b2Mat22; public var m_target:b2Vec2; public var m_gamma:Number; public var m_impulse:b2Vec2; public var m_C:b2Vec2; public var m_localAnchor:b2Vec2; public var m_maxForce:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local3: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); var _local2:Number = (m_target.x - m_body2.m_xf.position.x); _local3 = (m_target.y - m_body2.m_xf.position.y); var _local4:b2Mat22 = 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(); var _local5:Number = m_body2.m_mass; var _local6:Number = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); var _local7:Number = (((2 * _local5) * _arg1.dampingRatio) * _local6); var _local8:Number = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); m_beta = (_local8 / (_local7 + _local8)); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; m_target = _arg1; } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local7:Number; var _local8: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); var _local6:Number = ((_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); var _local9:Number = (_arg1.dt * m_impulse.x); var _local10:Number = (_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 GetAnchor1():b2Vec2{ return (m_target); } override public function GetReactionTorque():Number{ return (0); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local2:b2Body = m_body2; _local3 = _local2.m_xf.R; var _local6:Number = (m_localAnchor.x - _local2.m_sweep.localCenter.x); var _local7:Number = (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; var _local8:Number = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); var _local9:Number = (_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)); var _local10:Number = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); var _local11:Number = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); var _local12:Number = m_impulse.x; var _local13:Number = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); var _local14:Number = m_impulse.Length(); if (_local14 > m_maxForce){ m_impulse.Multiply((m_maxForce / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); var _local15:Number = (_arg1.dt * _local10); var _local16:Number = (_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 Box2D.Dynamics.Joints
Section 57
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var timeStep:Number; public var target:b2Vec2; public var maxForce:Number; public var dampingRatio:Number; public var frequencyHz:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package Box2D.Dynamics.Joints
Section 58
//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PrismaticJoint extends b2Joint { public var m_limitForce:Number; public var m_lowerTranslation:Number; public var m_localXAxis1:b2Vec2; public var m_refAngle:Number; public var m_torque:Number; public var m_motorForce:Number; public var m_enableLimit:Boolean; public var m_angularMass:Number; public var m_maxMotorForce:Number; public var m_localYAxis1:b2Vec2; public var m_force:Number; public var m_motorMass:Number; public var m_upperTranslation:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_limitState:int; public var m_linearMass:Number; public var m_motorJacobian:b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_linearJacobian:b2Jacobian; 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 SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local8:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = _local2.m_invMass; var _local5:Number = _local3.m_invMass; var _local6:Number = _local2.m_invI; var _local7:Number = _local3.m_invI; var _local9:Number = m_linearJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local10:Number = ((-(_arg1.inv_dt) * m_linearMass) * _local9); m_force = (m_force + _local10); var _local11:Number = (_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)); var _local12:Number = (_local3.m_angularVelocity - _local2.m_angularVelocity); var _local13:Number = ((-(_arg1.inv_dt) * m_angularMass) * _local12); m_torque = (m_torque + _local13); var _local14:Number = (_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)); }; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetJointTranslation():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:b2Vec2 = _local1.GetWorldPoint(m_localAnchor1); var _local5:b2Vec2 = _local2.GetWorldPoint(m_localAnchor2); var _local6:Number = (_local5.x - _local4.x); var _local7:Number = (_local5.y - _local4.y); var _local8:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local9:Number = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22 = m_body1.m_xf.R; var _local2:Number = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); var _local3:Number = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); var _local4:Number = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y))); var _local5:Number = (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 _local9:b2Mat22; var _local10:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = _local3.m_invMass; var _local6:Number = _local4.m_invMass; var _local7:Number = _local3.m_invI; var _local8:Number = _local4.m_invI; _local9 = _local3.m_xf.R; var _local11:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local12:Number = (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; var _local13:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local14:Number = (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; var _local15:Number = (_local3.m_sweep.c.x + _local11); var _local16:Number = (_local3.m_sweep.c.y + _local12); var _local17:Number = (_local4.m_sweep.c.x + _local13); var _local18:Number = (_local4.m_sweep.c.y + _local14); var _local19:Number = (_local17 - _local15); var _local20:Number = (_local18 - _local16); _local9 = _local3.m_xf.R; var _local21:Number = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y)); var _local22:Number = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y)); var _local23:Number = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local24:Number = (-(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)); var _local25:Number = b2Math.b2Abs(_local23); var _local26:Number = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); var _local27:Number = (-(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(); var _local28:Number = 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 SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetJointSpeed():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; _local3 = _local1.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); var _local8:Number = (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; var _local9:Number = (_local1.m_sweep.c.x + _local4); var _local10:Number = (_local1.m_sweep.c.y + _local5); var _local11:Number = (_local2.m_sweep.c.x + _local7); var _local12:Number = (_local2.m_sweep.c.y + _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local16:b2Vec2 = _local1.m_linearVelocity; var _local17:b2Vec2 = _local2.m_linearVelocity; var _local18:Number = _local1.m_angularVelocity; var _local19:Number = _local2.m_angularVelocity; var _local20:Number = (((_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); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5: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 _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (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; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (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; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; _local4 = _local2.m_xf.R; var _local14:Number = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y)); var _local15:Number = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y)); var _local16:Number = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); var _local17:Number = ((_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 EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function SetMaxMotorForce(_arg1:Number):void{ m_maxMotorForce = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } } }//package Box2D.Dynamics.Joints
Section 59
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var motorSpeed:Number; public var localAxis1:b2Vec2; public var referenceAngle:Number; public var upperTranslation:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public var maxMotorForce:Number; 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 Box2D.Dynamics.Joints
Section 60
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { public var m_limitState1:int; public var m_limitState2:int; public var m_ground:b2Body; public var m_maxLength2:Number; public var m_maxLength1:Number; public var m_limitPositionImpulse1:Number; public var m_limitPositionImpulse2:Number; public var m_force:Number; public var m_constant:Number; public var m_positionImpulse: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_limitMass1:Number; public var m_limitMass2:Number; public var m_pulleyMass:Number; public var m_u1:b2Vec2; public var m_limitForce1:Number; public var m_limitForce2:Number; public var m_u2:b2Vec2; 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 = 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 = m_u2.Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local3:b2Mat22; 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 _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local5:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local6:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local7:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local23:Number = 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 _local4:b2Mat22; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (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; var _local10:Number = (_local2.m_sweep.c.x + _local5); var _local11:Number = (_local2.m_sweep.c.y + _local6); var _local12:Number = (_local3.m_sweep.c.x + _local8); var _local13:Number = (_local3.m_sweep.c.y + _local9); var _local14:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local15:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local16:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local17:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); var _local18:Number = m_u1.Length(); var _local19:Number = 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(); }; var _local20:Number = ((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; }; var _local21:Number = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); var _local22:Number = ((_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); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4: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 _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (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 = m_body1.GetWorldPoint(m_localAnchor1); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetLength2():Number{ var _local1:b2Vec2 = m_body2.GetWorldPoint(m_localAnchor2); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } } }//package Box2D.Dynamics.Joints
Section 61
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var maxLength1:Number; public var maxLength2:Number; public var length1:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var groundAnchor1:b2Vec2; public var groundAnchor2:b2Vec2; public var ratio:Number; public var length2:Number; 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{ body1 = _arg1; body2 = _arg2; groundAnchor1.SetV(_arg3); groundAnchor2.SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); var _local8:Number = (_arg5.x - _arg3.x); var _local9:Number = (_arg5.y - _arg3.y); length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); var _local10:Number = (_arg6.x - _arg4.x); var _local11:Number = (_arg6.y - _arg4.y); length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; var _local12:Number = (length1 + (ratio * length2)); maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 62
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { public var m_limitForce:Number; public var m_pivotMass:b2Mat22; public var m_motorForce:Number; 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_enableMotor:Boolean; public var m_referenceAngle:Number; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var m_upperAngle:Number; public var m_lowerAngle:Number; public var m_maxMotorTorque: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 SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local10:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (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; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (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; var _local11:Number = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); var _local12:Number = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); var _local13:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12))); var _local14:Number = (-(_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); var _local15:Number = (_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)); }; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function GetUpperLimit():Number{ return (m_upperAngle); } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } 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 _local6:b2Mat22; var _local25:Number; var _local26:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = 0; _local6 = _local3.m_xf.R; var _local7:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local9:Number = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; var _local10:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local11:Number = (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; var _local12:Number = (_local3.m_sweep.c.x + _local7); var _local13:Number = (_local3.m_sweep.c.y + _local8); var _local14:Number = (_local4.m_sweep.c.x + _local10); var _local15:Number = (_local4.m_sweep.c.y + _local11); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); var _local18:Number = _local3.m_invMass; var _local19:Number = _local4.m_invMass; var _local20:Number = _local3.m_invI; var _local21:Number = _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)); var _local22:Number = tImpulse.x; var _local23:Number = 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(); var _local24:Number = 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 SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } 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)); } public function GetMotorTorque():Number{ return (m_motorForce); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local7:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (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; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (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; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _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; } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } } }//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var upperAngle:Number; public var enableMotor:Boolean; public var referenceAngle:Number; public var motorSpeed:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var lowerAngle:Number; public var maxMotorTorque:Number; 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 Box2D.Dynamics.Joints
Section 64
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var m_next:b2Body; public var m_xf:b2XForm; 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_torque:Number; public var m_userData; public var m_flags:uint; public var m_world:b2World; public var m_prev:b2Body; public var m_invMass:Number; public var m_type:int; public var m_linearDamping:Number; public var m_shapeCount:int; public var m_angularDamping:Number; public var m_invI:Number; public var m_linearVelocity:b2Vec2; public var m_sleepTime:Number; public var m_jointList:b2JointEdge; 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){ 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); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = 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.x - (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function WakeUp():void{ 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{ m_xf.R.Set(m_sweep.a); var _local1:b2Mat22 = m_xf.R; var _local2:b2Vec2 = 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 IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function SetMassFromShapes():void{ var _local1:b2Shape; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0; m_I = 0; m_invI = 0; var _local2:Number = 0; var _local3:Number = 0; var _local4:b2MassData = 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); var _local5:b2Mat22 = m_xf.R; var _local6:b2Vec2 = 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; }; var _local7:int = 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 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 GetJointList():b2JointEdge{ return (m_jointList); } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; 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); var _local4:b2Mat22 = m_xf.R; var _local5:b2Vec2 = 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); var _local6:Boolean; _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 _local4:b2Shape; var _local1:b2XForm = s_xf1; _local1.R.Set(m_sweep.a0); var _local2:b2Mat22 = _local1.R; var _local3:b2Vec2 = 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))); var _local5:Boolean; _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 GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = 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 GetNext():b2Body{ return (m_next); } public function GetMass():Number{ return (m_mass); } 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 GetAngularVelocity():Number{ return (m_angularVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; 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); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = 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; }; var _local5:int = 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 = 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{ if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); var _local2:b2Shape = m_shapeList; var _local3:b2Shape; var _local4:Boolean; 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 = m_xf.R; var _local3:b2Vec2 = 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 Box2D.Dynamics
Section 65
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2BodyDef { public var angularDamping:Number; public var angle:Number; public var isSleeping:Boolean; public var position:b2Vec2; public var isBullet:Boolean; public var allowSleep:Boolean; public var userData; public var fixedRotation:Boolean; 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 Box2D.Dynamics
Section 66
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.Dynamics
Section 67
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData = _arg1.GetFilterData(); var _local4:b2FilterData = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; var _local5:Boolean = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 68
//b2ContactListener (Box2D.Dynamics.b2ContactListener) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactListener { public function Add(_arg1:b2ContactPoint):void{ } public function Remove(_arg1:b2ContactPoint):void{ } public function Persist(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 69
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import 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 PairRemoved(_arg1, _arg2, _arg3):void{ if (_arg3 == null){ return; }; var _local4:b2Contact = (_arg3 as b2Contact); if (_local4 == m_nullContact){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ 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; var _local2:b2Shape = _arg1.m_shape1; var _local3:b2Shape = _arg1.m_shape2; var _local4:int = _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_shape1; _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; }; var _local5:b2Body = _local2.m_body; var _local6:b2Body = _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--; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape = (_arg1 as b2Shape); var _local4:b2Shape = (_arg2 as b2Shape); var _local5:b2Body = _local3.m_body; var _local6:b2Body = _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); }; var _local7:b2Contact = 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); } public function Collide():void{ var _local2:b2Body; var _local3:b2Body; var _local1:b2Contact = 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 Box2D.Dynamics
Section 70
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import flash.display.*; import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import 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_drawFlags:uint; public var m_lineThickness:Number;// = 1 public var m_drawScale:Number;// = 1 public var m_sprite:Sprite; 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_drawFlags = 0; } public function ClearFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } 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 DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.beginFill(_arg3.color, m_fillAlpha); var _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); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); var _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)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg4.color, m_alpha); 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 GetFlags():uint{ return (m_drawFlags); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, m_alpha); 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); 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)); } } }//package Box2D.Dynamics
Section 71
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; public class b2DestructionListener { public function SayGoodbyeShape(_arg1:b2Shape):void{ } public function SayGoodbyeJoint(_arg1:b2Joint):void{ } } }//package Box2D.Dynamics
Section 72
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Island { public var m_listener:b2ContactListener; public var m_positionIterationCount:int; public var m_bodyCapacity:int; public var m_bodies:Array; public var m_joints: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){ var _local6:int; super(); m_bodyCapacity = _arg1; m_contactCapacity = _arg2; m_jointCapacity = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4; m_listener = _arg5; m_bodies = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { m_bodies[_local6] = null; _local6++; }; m_contacts = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { m_contacts[_local6] = null; _local6++; }; m_joints = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) { m_joints[_local6] = null; _local6++; }; 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 _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; }; var _local4:int; 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 AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; 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++; }; var _local8:b2ContactSolver = 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; _local5++; }; }; }; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local5:b2Body; var _local6:Boolean; var _local3:b2ContactSolver = 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++; }; var _local4:Number = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; Report(_local3.m_constraints); } } }//package Box2D.Dynamics
Section 73
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package 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 Box2D.Dynamics
Section 74
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2World { public var m_inv_dt0:Number; public var m_boundaryListener:b2BoundaryListener; public var m_contactList:b2Contact; public var m_blockAllocator; public var m_contactListener:b2ContactListener; public var m_allowSleep:Boolean; public var m_broadPhase:b2BroadPhase; public var m_destructionListener:b2DestructionListener; public var m_jointCount:int; public var m_bodyCount:int; public var m_lock:Boolean; public var m_positionIterationCount:int; public var m_groundBody:b2Body; public var m_contactCount:int; public var m_debugDraw:b2DebugDraw; public var m_contactFilter:b2ContactFilter; public var m_bodyList:b2Body; public var m_stackAllocator; public var m_jointList:b2Joint; public var m_gravity:b2Vec2; public var m_contactManager:b2ContactManager; 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){ 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); var _local4:b2BodyDef = new b2BodyDef(); m_groundBody = CreateBody(_local4); } public function DrawJoint(_arg1:b2Joint):void{ var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; var _local2:b2Body = _arg1.m_body1; var _local3:b2Body = _arg1.m_body2; var _local4:b2XForm = _local2.m_xf; var _local5:b2XForm = _local3.m_xf; var _local6:b2Vec2 = _local4.position; var _local7:b2Vec2 = _local5.position; var _local8:b2Vec2 = _arg1.GetAnchor1(); var _local9:b2Vec2 = _arg1.GetAnchor2(); var _local10:b2Color = 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 Refilter(_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } 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 DrawDebugData():void{ var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local11:b2XForm; var _local15:Boolean; var _local16:uint; var _local17:b2Pair; var _local18:b2Proxy; var _local19:b2Proxy; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2Proxy; var _local23:b2PolygonShape; var _local24:b2OBB; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if (m_debugDraw == null){ return; }; m_debugDraw.m_sprite.graphics.clear(); var _local1:uint = m_debugDraw.GetFlags(); var _local7:b2Vec2 = new b2Vec2(); var _local8:b2Vec2 = new b2Vec2(); var _local9:b2Vec2 = new b2Vec2(); var _local10:b2Color = new b2Color(0, 0, 0); var _local12:b2AABB = new b2AABB(); var _local13:b2AABB = new b2AABB(); var _local14:Array = [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.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else { DrawShape(_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local5 = m_jointList; while (_local5) { DrawJoint(_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local6 = m_broadPhase; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < b2Pair.b2_tableCapacity) { _local16 = _local6.m_pairManager.m_hashTable[_local2]; while (_local16 != b2Pair.b2_nullPair) { _local17 = _local6.m_pairManager.m_pairs[_local16]; _local18 = _local6.m_proxyPool[_local17.proxyId1]; _local19 = _local6.m_proxyPool[_local17.proxyId2]; _local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value)); _local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value)); _local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value)); _local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value)); _local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value)); _local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value)); _local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value)); _local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value)); _local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x)); _local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y)); _local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x)); _local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y)); m_debugDraw.DrawSegment(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local6 = m_broadPhase; _local20 = _local6.m_worldAABB.lowerBound; _local21 = _local6.m_worldAABB.upperBound; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.m_proxyPool[_local2]; if (_local22.IsValid() == false){ } else { _local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value)); _local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value)); _local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value)); _local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value)); _local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y); _local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y); _local14[2].Set(_local12.upperBound.x, _local12.upperBound.y); _local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y); m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local2++; }; _local14[0].Set(_local20.x, _local20.y); _local14[1].Set(_local21.x, _local20.y); _local14[2].Set(_local21.x, _local21.y); _local14[3].Set(_local20.x, _local21.y); m_debugDraw.DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw.e_obbBit)){ _local10.Set(0.5, 0.3, 0.5); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24.extents; _local14[0].Set(-(_local25.x), -(_local25.y)); _local14[1].Set(_local25.x, -(_local25.y)); _local14[2].Set(_local25.x, _local25.y); _local14[3].Set(-(_local25.x), _local25.y); _local2 = 0; while (_local2 < 4) { _local26 = _local24.R; _local27 = _local14[_local2]; _local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local26 = _local11.R; _local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local2++; }; m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = m_bodyList; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter(); m_debugDraw.DrawXForm(_local11); _local3 = _local3.m_next; }; }; } public function DestroyBody(_arg1:b2Body):void{ var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; var _local2:b2JointEdge = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if (m_destructionListener){ m_destructionListener.SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; var _local3:b2Shape = _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 SetContactFilter(_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function GetGroundBody():b2Body{ return (m_groundBody); } public function DrawShape(_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ 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; var _local5:b2Color = 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 GetContactCount():int{ return (m_contactCount); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; var _local3:b2Island = new b2Island(m_bodyCount, m_contactCount, m_jointCount, m_stackAllocator, m_contactListener); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; var _local4:b2Contact = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; var _local5:b2Joint = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; var _local6:int = m_bodyCount; var _local7:Array = new Array(_local6); var _local8:b2Body = 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 Query(_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array = new Array(_arg3); var _local5:int = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); var _local6:int; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function SetGravity(_arg1:b2Vec2):void{ m_gravity = _arg1; } 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 _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; var _local8:b2Island = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, m_stackAllocator, m_contactListener); var _local9:int = m_bodyCount; var _local10:Array = 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 GetBodyList():b2Body{ return (m_bodyList); } public function GetPairCount():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function Validate():void{ m_broadPhase.Validate(); } public function SetWarmStarting(_arg1:Boolean):void{ m_warmStarting = _arg1; } public function SetPositionCorrection(_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local3:b2Body; var _local4:b2Shape; var _local2:b2Joint = 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 _local5:b2Body; var _local6:b2Shape; var _local2:Boolean = _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; }; var _local3:b2Body = _arg1.m_body1; var _local4:b2Body = _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 SetContactListener(_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function CreateBody(_arg1:b2BodyDef):b2Body{ if (m_lock == true){ return (null); }; var _local2:b2Body = 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 SetBoundaryListener(_arg1:b2BoundaryListener):void{ m_boundaryListener = _arg1; } public function SetDestructionListener(_arg1:b2DestructionListener):void{ m_destructionListener = _arg1; } public function Step(_arg1:Number, _arg2:int):void{ m_lock = true; var _local3:b2TimeStep = 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); }; DrawDebugData(); m_inv_dt0 = _local3.inv_dt; m_lock = false; } public function GetBodyCount():int{ return (m_bodyCount); } public function GetJointCount():int{ return (m_jointCount); } } }//package Box2D.Dynamics
Section 75
//CampaignInfo (com.google.analytics.campaign.CampaignInfo) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignInfo { private var _new:Boolean; private var _empty:Boolean; public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){ _empty = _arg1; _new = _arg2; } public function isEmpty():Boolean{ return (_empty); } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; if (((!(isEmpty())) && (isNew()))){ _local1.utmcn = utmcn; }; if (((!(isEmpty())) && (!(isNew())))){ _local1.utmcr = utmcr; }; return (_local1); } public function isNew():Boolean{ return (_new); } public function get utmcn():String{ return ("1"); } public function get utmcr():String{ return ("1"); } } }//package com.google.analytics.campaign
Section 76
//CampaignKey (com.google.analytics.campaign.CampaignKey) package com.google.analytics.campaign { public class CampaignKey { public var UCMD:String;// = "utm_medium" public var UCID:String;// = "utm_id" public var UCTR:String;// = "utm_term" public var UCSR:String;// = "utm_source" public var UCNO:String;// = "utm_nooverride" public var UCCN:String;// = "utm_campaign" public var UGCLID:String;// = "gclid" public var UCCT:String;// = "utm_content" public function CampaignKey(){ UCCN = "utm_campaign"; UCCT = "utm_content"; UCID = "utm_id"; UCMD = "utm_medium"; UCNO = "utm_nooverride"; UCSR = "utm_source"; UCTR = "utm_term"; UGCLID = "gclid"; super(); } } }//package com.google.analytics.campaign
Section 77
//CampaignManager (com.google.analytics.campaign.CampaignManager) package com.google.analytics.campaign { import com.google.analytics.core.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import com.google.analytics.utils.*; public class CampaignManager { private var _config:Configuration; private var _domainHash:Number; private var _debug:DebugConfiguration; private var _timeStamp:Number; private var _referrer:String; private var _buffer:Buffer; public static const trackingDelimiter:String = "|"; public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _domainHash = _arg4; _referrer = _arg5; _timeStamp = _arg6; } public function hasNoOverride(_arg1:String):Boolean{ var _local2:CampaignKey; var _local3:Variables; var _local4:String; _local2 = _config.campaignKey; if (_arg1 == ""){ return (false); }; _local3 = new Variables(_arg1); _local4 = ""; if (_local3.hasOwnProperty(_local2.UCNO)){ _local4 = _local3[_local2.UCNO]; switch (_local4){ case "1": return (true); case "": case "0": default: return (false); }; }; return (false); } public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{ var _local3:CampaignInfo; var _local4:CampaignTracker; var _local5:Boolean; var _local6:Boolean; var _local7:int; var _local8:CampaignTracker; var _local9:int; _local3 = new CampaignInfo(); _local5 = false; _local6 = false; _local7 = 0; if (((_config.allowLinker) && (_buffer.isGenuine()))){ if (!_buffer.hasUTMZ()){ return (_local3); }; }; _local4 = getTrackerFromSearchString(_arg1); if (isValid(_local4)){ _local6 = hasNoOverride(_arg1); if (((_local6) && (!(_buffer.hasUTMZ())))){ return (_local3); }; }; if (!isValid(_local4)){ _local4 = getOrganicCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){ return (_local3); }; }; if (((!(isValid(_local4))) && (_arg2))){ _local4 = getReferrerCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){ return (_local3); }; }; if (!isValid(_local4)){ if (((!(_buffer.hasUTMZ())) && (_arg2))){ _local4 = getDirectCampaign(); }; }; if (!isValid(_local4)){ return (_local3); }; if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){ _local8 = new CampaignTracker(); _local8.fromTrackerString(_buffer.utmz.campaignTracking); _local5 = (_local8.toTrackerString() == _local4.toTrackerString()); _local7 = _buffer.utmz.responseCount; }; if (((!(_local5)) || (_arg2))){ _local9 = _buffer.utma.sessionCount; _local7++; if (_local9 == 0){ _local9 = 1; }; _buffer.utmz.domainHash = _domainHash; _buffer.utmz.campaignCreation = _timeStamp; _buffer.utmz.campaignSessions = _local9; _buffer.utmz.responseCount = _local7; _buffer.utmz.campaignTracking = _local4.toTrackerString(); _debug.info(_buffer.utmz.toString(), VisualDebugMode.geek); _local3 = new CampaignInfo(false, true); } else { _local3 = new CampaignInfo(false, false); }; return (_local3); } public function isValid(_arg1:CampaignTracker):Boolean{ if (((_arg1) && (_arg1.isValid()))){ return (true); }; return (false); } public function getTrackerFromSearchString(_arg1:String):CampaignTracker{ var _local2:CampaignTracker; var _local3:CampaignTracker; var _local4:CampaignKey; var _local5:Variables; _local2 = getOrganicCampaign(); _local3 = new CampaignTracker(); _local4 = _config.campaignKey; if (_arg1 == ""){ return (_local3); }; _local5 = new Variables(_arg1); if (_local5.hasOwnProperty(_local4.UCID)){ _local3.id = _local5[_local4.UCID]; }; if (_local5.hasOwnProperty(_local4.UCSR)){ _local3.source = _local5[_local4.UCSR]; }; if (_local5.hasOwnProperty(_local4.UGCLID)){ _local3.clickId = _local5[_local4.UGCLID]; }; if (_local5.hasOwnProperty(_local4.UCCN)){ _local3.name = _local5[_local4.UCCN]; } else { _local3.name = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCMD)){ _local3.medium = _local5[_local4.UCMD]; } else { _local3.medium = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCTR)){ _local3.term = _local5[_local4.UCTR]; } else { if (((_local2) && (!((_local2.term == ""))))){ _local3.term = _local2.term; }; }; if (_local5.hasOwnProperty(_local4.UCCT)){ _local3.content = _local5[_local4.UCCT]; }; return (_local3); } public function getOrganicCampaign():CampaignTracker{ var _local1:CampaignTracker; var _local2:URL; var _local3:String; var _local4:Array; var _local5:OrganicReferrer; var _local6:String; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; _local2 = new URL(_referrer); _local3 = ""; if (_local2.hostName != ""){ if (_local2.hostName.indexOf(".") > -1){ _local4 = _local2.hostName.split("."); switch (_local4.length){ case 2: _local3 = _local4[0]; break; case 3: _local3 = _local4[1]; break; }; }; }; if (_config.organic.match(_local3)){ _local5 = _config.organic.getReferrerByName(_local3); _local6 = _config.organic.getKeywordValue(_local5, _local2.search); _local1 = new CampaignTracker(); _local1.source = _local5.engine; _local1.name = "(organic)"; _local1.medium = "organic"; _local1.term = _local6; }; return (_local1); } public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "referral")))){ return (_config.organic.isIgnoredReferral(_arg1.source)); }; return (false); } public function getDirectCampaign():CampaignTracker{ var _local1:CampaignTracker; _local1 = new CampaignTracker(); _local1.source = "(direct)"; _local1.name = "(direct)"; _local1.medium = "(none)"; return (_local1); } public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "organic")))){ return (_config.organic.isIgnoredKeyword(_arg1.term)); }; return (false); } public function getReferrerCampaign():CampaignTracker{ var _local1:CampaignTracker; var _local2:URL; var _local3:String; var _local4:String; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; _local2 = new URL(_referrer); _local3 = _local2.hostName; _local4 = _local2.path; if (_local3.indexOf("www.") == 0){ _local3 = _local3.substr(4); }; _local1 = new CampaignTracker(); _local1.source = _local3; _local1.name = "(referral)"; _local1.medium = "referral"; _local1.content = _local4; return (_local1); } public static function isInvalidReferrer(_arg1:String):Boolean{ var _local2:URL; if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){ return (true); }; if (_arg1.indexOf("://") > -1){ _local2 = new URL(_arg1); if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){ return (true); }; }; return (false); } public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{ var _local3:URL; _local3 = new URL(_arg1); if (_local3.hostName.indexOf(_arg2.google) > -1){ if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){ if (_local3.path == ("/" + _arg2.googleCsePath)){ return (true); }; }; }; return (false); } } }//package com.google.analytics.campaign
Section 78
//CampaignTracker (com.google.analytics.campaign.CampaignTracker) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignTracker { public var content:String; public var id:String; public var clickId:String; public var name:String; public var term:String; public var medium:String; public var source:String; public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){ this.id = _arg1; this.source = _arg2; this.clickId = _arg3; this.name = _arg4; this.medium = _arg5; this.term = _arg6; this.content = _arg7; } public function toTrackerString():String{ var _local1:Array; _local1 = []; _addIfNotEmpty(_local1, "utmcsr=", source); _addIfNotEmpty(_local1, "utmccn=", name); _addIfNotEmpty(_local1, "utmcmd=", medium); _addIfNotEmpty(_local1, "utmctr=", term); _addIfNotEmpty(_local1, "utmcct=", content); _addIfNotEmpty(_local1, "utmcid=", id); _addIfNotEmpty(_local1, "utmgclid=", clickId); return (_local1.join(CampaignManager.trackingDelimiter)); } public function isValid():Boolean{ if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){ return (true); }; return (false); } private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{ if (_arg3 != ""){ _arg3 = _arg3.split("+").join("%20"); _arg3 = _arg3.split(" ").join("%20"); _arg1.push((_arg2 + _arg3)); }; } public function fromTrackerString(_arg1:String):void{ var _local2:String; var _local3:Variables; _local2 = _arg1.split(CampaignManager.trackingDelimiter).join("&"); _local3 = new Variables(_local2); if (_local3.hasOwnProperty("utmcid")){ this.id = _local3["utmcid"]; }; if (_local3.hasOwnProperty("utmcsr")){ this.source = _local3["utmcsr"]; }; if (_local3.hasOwnProperty("utmccn")){ this.name = _local3["utmccn"]; }; if (_local3.hasOwnProperty("utmcmd")){ this.medium = _local3["utmcmd"]; }; if (_local3.hasOwnProperty("utmctr")){ this.term = _local3["utmctr"]; }; if (_local3.hasOwnProperty("utmcct")){ this.content = _local3["utmcct"]; }; if (_local3.hasOwnProperty("utmgclid")){ this.clickId = _local3["utmgclid"]; }; } } }//package com.google.analytics.campaign
Section 79
//FlashTracker (com.google.analytics.components.FlashTracker) package com.google.analytics.components { import com.google.analytics.core.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import com.google.analytics.utils.*; import flash.events.*; import flash.display.*; import com.google.analytics.external.*; import com.google.analytics.*; import flash.utils.*; import com.google.analytics.events.*; public class FlashTracker extends Sprite implements AnalyticsTracker { private var _adSense:AdSenseGlobals; private var _env:Environment; protected var _height:Number;// = 18 private var _idleTimer:IdleTimer; private var _config:Configuration; private var _mode:String;// = "AS3" private var _dom:HTMLDOM; private var _ready:Boolean;// = false protected var _width:Number;// = 18 private var _account:String;// = "" protected var _componentInspectorSetting:Boolean; private var _visualDebug:Boolean;// = false public var boundingBox_mc:DisplayObject; private var _debug:DebugConfiguration; private var _buffer:Buffer; private var _display:DisplayObject; protected var livePreviewHeight:Number; private var _jsproxy:JavascriptProxy; protected var isLivePreview:Boolean; protected var preview:MovieClip; private var _gifRequest:GIFRequest; protected var livePreviewWidth:Number; private var _tracker:GoogleAnalyticsAPI; public static var version:Version = API.version; public function FlashTracker(){ _ready = false; _account = ""; _mode = TrackerMode.AS3; _visualDebug = false; _width = 18; _height = 18; super(); _tracker = new TrackerCache(); isLivePreview = _checkLivePreview(); _componentInspectorSetting = false; if (boundingBox_mc){ boundingBox_mc.visible = false; removeChild(boundingBox_mc); boundingBox_mc = null; }; if (isLivePreview){ _createLivePreview(); }; addEventListener(Event.ENTER_FRAME, _factory); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4)); } public function trackTrans():void{ _tracker.trackTrans(); } private function _createLivePreview():void{ var _local1:Graphics; var _local2:Class; preview = new MovieClip(); _local1 = preview.graphics; _local1.beginFill(0xFFFFFF); _local1.moveTo(0, 0); _local1.lineTo(0, _width); _local1.lineTo(_width, _height); _local1.lineTo(_height, 0); _local1.lineTo(0, 0); _local1.endFill(); _local2 = (getDefinitionByName("com.google.analytics.components::Icon") as Class); preview.icon_mc = new (_local2); preview.icon_mc.name = "icon_mc"; preview.addChild(preview.icon_mc); addChild(preview); } public function trackPageview(_arg1:String=""):void{ _tracker.trackPageview(_arg1); } public function get account():String{ return (_account); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _tracker.linkByPost(_arg1, _arg2); } public function getDetectTitle():Boolean{ return (_tracker.getDetectTitle()); } public function setCampNameKey(_arg1:String):void{ _tracker.setCampNameKey(_arg1); } public function resetSession():void{ _tracker.resetSession(); } public function set account(_arg1:String):void{ _account = _arg1; } public function get debug():DebugConfiguration{ if (!_debug){ _createDebugAndConfig(); }; return (_debug); } public function createEventTracker(_arg1:String):EventTracker{ return (_tracker.createEventTracker(_arg1)); } public function set config(_arg1:Configuration):void{ _config = _arg1; } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8)); } public function setLocalServerMode():void{ _tracker.setLocalServerMode(); } public function getLocalGifPath():String{ return (_tracker.getLocalGifPath()); } public function clearIgnoredRef():void{ _tracker.clearIgnoredRef(); } public function isReady():Boolean{ return (_ready); } public function set debug(_arg1:DebugConfiguration):void{ _debug = _arg1; } public function getVersion():String{ return (_tracker.getVersion()); } public function setLocalRemoteServerMode():void{ _tracker.setLocalRemoteServerMode(); } public function setCampNOKey(_arg1:String):void{ _tracker.setCampNOKey(_arg1); } public function addIgnoredOrganic(_arg1:String):void{ _tracker.addIgnoredOrganic(_arg1); } public function setCookiePath(_arg1:String):void{ _tracker.setCookiePath(_arg1); } public function setCampTermKey(_arg1:String):void{ _tracker.setCampTermKey(_arg1); } private function _trackerFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account)); _adSense = new AdSenseGlobals(debug); _dom = new HTMLDOM(debug); _dom.cacheProperties(); _env = new Environment("", "", "", debug, _dom); _buffer = new Buffer(config, debug, false); _gifRequest = new GIFRequest(config, debug, _buffer, _env); _idleTimer = new IdleTimer(config, debug, _display, _buffer); _env.url = _display.stage.loaderInfo.url; return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense)); } public function setCampaignTrack(_arg1:Boolean):void{ _tracker.setCampaignTrack(_arg1); } public function getServiceMode():ServerOperationMode{ return (_tracker.getServiceMode()); } public function set componentInspectorSetting(_arg1:Boolean):void{ _componentInspectorSetting = _arg1; } public function setSessionTimeout(_arg1:int):void{ _tracker.setSessionTimeout(_arg1); } public function setRemoteServerMode():void{ _tracker.setRemoteServerMode(); } public function get visualDebug():Boolean{ return (_visualDebug); } public function addOrganic(_arg1:String, _arg2:String):void{ _tracker.addOrganic(_arg1, _arg2); } public function setCookieTimeout(_arg1:int):void{ _tracker.setCookieTimeout(_arg1); } public function getClientInfo():Boolean{ return (_tracker.getClientInfo()); } public function setAllowLinker(_arg1:Boolean):void{ _tracker.setAllowLinker(_arg1); } public function setClientInfo(_arg1:Boolean):void{ _tracker.setClientInfo(_arg1); } private function _bridgeFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account)); return (new Bridge(account, _debug, _jsproxy)); } public function get config():Configuration{ if (!_config){ _createDebugAndConfig(); }; return (_config); } public function set mode(_arg1:String):void{ _mode = _arg1; } public function setDetectFlash(_arg1:Boolean):void{ _tracker.setDetectFlash(_arg1); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function setVar(_arg1:String):void{ _tracker.setVar(_arg1); } public function clearIgnoredOrganic():void{ _tracker.clearIgnoredOrganic(); } public function setDomainName(_arg1:String):void{ _tracker.setDomainName(_arg1); } private function _checkLivePreview():Boolean{ if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){ return (true); }; return (false); } public function setCampSourceKey(_arg1:String):void{ _tracker.setCampSourceKey(_arg1); } public function setCampContentKey(_arg1:String):void{ _tracker.setCampContentKey(_arg1); } public function setSize(_arg1:Number, _arg2:Number):void{ } public function setAllowAnchor(_arg1:Boolean):void{ _tracker.setAllowAnchor(_arg1); } public function setLocalGifPath(_arg1:String):void{ _tracker.setLocalGifPath(_arg1); } public function get mode():String{ return (_mode); } public function setSampleRate(_arg1:Number):void{ _tracker.setSampleRate(_arg1); } public function setAllowHash(_arg1:Boolean):void{ _tracker.setAllowHash(_arg1); } public function setDetectTitle(_arg1:Boolean):void{ _tracker.setDetectTitle(_arg1); } public function cookiePathCopy(_arg1:String):void{ _tracker.cookiePathCopy(_arg1); } private function _factory(_arg1:Event):void{ var _local2:GoogleAnalyticsAPI; var _local3:TrackerCache; removeEventListener(Event.ENTER_FRAME, _factory); if (isLivePreview){ return; }; _display = this; _createDebugAndConfig(); if (visualDebug){ debug.layout = new Layout(debug, _display); debug.active = visualDebug; }; _jsproxy = new JavascriptProxy(debug); _local3 = (_tracker as TrackerCache); switch (mode){ case TrackerMode.BRIDGE: _local2 = _bridgeFactory(); break; case TrackerMode.AS3: default: _local2 = _trackerFactory(); }; if (!_local3.isEmpty()){ _local3.tracker = _local2; _local3.flush(); }; _tracker = _local2; _ready = true; dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this)); } public function getDetectFlash():Boolean{ return (_tracker.getDetectFlash()); } public function clearOrganic():void{ _tracker.clearOrganic(); } private function _createDebugAndConfig():void{ if (!_debug){ this.debug = new DebugConfiguration(); }; if (!_config){ this.config = new Configuration(debug); }; } public function addIgnoredRef(_arg1:String):void{ _tracker.addIgnoredRef(_arg1); } public function set visualDebug(_arg1:Boolean):void{ _visualDebug = _arg1; } public function setCampMediumKey(_arg1:String):void{ _tracker.setCampMediumKey(_arg1); } public function getAccount():String{ return (_tracker.getAccount()); } public function link(_arg1:String, _arg2:Boolean=false):void{ _tracker.link(_arg1, _arg2); } } var _local1:* = ServerOperationMode; return (_local1); }//package com.google.analytics.components
Section 80
//Icon (com.google.analytics.components.Icon) package com.google.analytics.components { import flash.display.*; public dynamic class Icon extends MovieClip { } }//package com.google.analytics.components
Section 81
//BrowserInfo (com.google.analytics.core.BrowserInfo) package com.google.analytics.core { import com.google.analytics.v4.*; import com.google.analytics.utils.*; public class BrowserInfo { private var _config:Configuration; private var _info:Environment; public function BrowserInfo(_arg1:Configuration, _arg2:Environment){ _config = _arg1; _info = _arg2; } public function get utmul():String{ return (_info.language.toLowerCase()); } public function get utmje():String{ return ("0"); } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } public function get utmsr():String{ return (((_info.screenWidth + "x") + _info.screenHeight)); } public function get utmcs():String{ return (_info.languageEncoding); } public function get utmfl():String{ var _local1:Version; if (_config.detectFlash){ _local1 = _info.flashVersion; return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build)); }; return ("-"); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; _local1.utmcs = utmcs; _local1.utmsr = utmsr; _local1.utmsc = utmsc; _local1.utmul = utmul; _local1.utmje = utmje; _local1.utmfl = utmfl; return (_local1); } public function get utmsc():String{ return ((_info.screenColorDepth + "-bit")); } } }//package com.google.analytics.core
Section 82
//Buffer (com.google.analytics.core.Buffer) package com.google.analytics.core { import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.net.*; import flash.events.*; import com.google.analytics.data.*; public dynamic class Buffer { private var _SO:SharedObject; private var _OBJ:Object; private var _utma:UTMA; private var _utmb:UTMB; private var _utmc:UTMC; private var _debug:DebugConfiguration; private var _utmk:UTMK; private var _config:Configuration; private var _utmv:UTMV; private var _utmz:UTMZ; private var _volatile:Boolean; public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){ var _local5:Boolean; var _local6:String; super(); _config = _arg1; _debug = _arg2; UTMB.defaultTimespan = _config.sessionTimeout; UTMZ.defaultTimespan = _config.conversionTimeout; if (!_arg3){ _SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath); _local5 = false; if (_SO.data.utma){ if (!hasUTMA()){ _createUMTA(); }; _utma.fromSharedObject(_SO.data.utma); if (_debug.verbose){ _debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek); }; if (_utma.isExpired()){ if (_debug.verbose){ _debug.warning("UTMA has expired", VisualDebugMode.advanced); }; _clearUTMA(); _local5 = true; }; }; if (_SO.data.utmb){ if (!hasUTMB()){ _createUMTB(); }; _utmb.fromSharedObject(_SO.data.utmb); if (_debug.verbose){ _debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek); }; if (_utmb.isExpired()){ if (_debug.verbose){ _debug.warning("UTMB has expired", VisualDebugMode.advanced); }; _clearUTMB(); _local5 = true; }; }; if (_SO.data.utmc){ delete _SO.data.utmc; _local5 = true; }; if (_SO.data.utmk){ if (!hasUTMK()){ _createUMTK(); }; _utmk.fromSharedObject(_SO.data.utmk); if (_debug.verbose){ _debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek); }; }; if (_SO.data.utmv){ if (!hasUTMV()){ _createUMTV(); }; _utmv.fromSharedObject(_SO.data.utmv); if (_debug.verbose){ _debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek); }; if (_utmv.isExpired()){ if (_debug.verbose){ _debug.warning("UTMV has expired", VisualDebugMode.advanced); }; _clearUTMV(); _local5 = true; }; }; if (_SO.data.utmz){ if (!hasUTMZ()){ _createUMTZ(); }; _utmz.fromSharedObject(_SO.data.utmz); if (_debug.verbose){ _debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek); }; if (_utmz.isExpired()){ if (_debug.verbose){ _debug.warning("UTMZ has expired", VisualDebugMode.advanced); }; _clearUTMZ(); _local5 = true; }; }; if (_local5){ save(); }; } else { _OBJ = new Object(); if (_arg4){ for (_local6 in _arg4) { _OBJ[_local6] = _arg4[_local6]; }; }; }; _volatile = _arg3; } public function save():void{ var flushStatus:String; if (!isVolatile()){ flushStatus = null; try { flushStatus = _SO.flush(); } catch(e:Error) { _debug.warning("Error...Could not write SharedObject to disk"); }; switch (flushStatus){ case SharedObjectFlushStatus.PENDING: _debug.info("Requesting permission to save object..."); _SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); break; case SharedObjectFlushStatus.FLUSHED: _debug.info("Value flushed to disk."); break; }; }; } public function get utmv():UTMV{ if (!hasUTMV()){ _createUMTV(); }; return (_utmv); } public function clearCookies():void{ utma.reset(); utmb.reset(); utmc.reset(); utmz.reset(); utmv.reset(); utmk.reset(); } public function get utmz():UTMZ{ if (!hasUTMZ()){ _createUMTZ(); }; return (_utmz); } public function hasUTMA():Boolean{ if (_utma){ return (true); }; return (false); } public function hasUTMB():Boolean{ if (_utmb){ return (true); }; return (false); } public function isGenuine():Boolean{ if (!hasUTMK()){ return (true); }; return ((utmk.hash == generateCookiesHash())); } public function resetCurrentSession():void{ _clearUTMB(); _clearUTMC(); save(); } public function hasUTMC():Boolean{ if (_utmc){ return (true); }; return (false); } public function hasUTMK():Boolean{ if (_utmk){ return (true); }; return (false); } public function generateCookiesHash():Number{ var _local1:String; _local1 = ""; _local1 = (_local1 + utma.valueOf()); _local1 = (_local1 + utmb.valueOf()); _local1 = (_local1 + utmc.valueOf()); _local1 = (_local1 + utmz.valueOf()); _local1 = (_local1 + utmv.valueOf()); return (Utils.generateHash(_local1)); } private function _createUMTA():void{ _utma = new UTMA(); _utma.proxy = this; } private function _createUMTB():void{ _utmb = new UTMB(); _utmb.proxy = this; } private function _createUMTC():void{ _utmc = new UTMC(); } public function hasUTMV():Boolean{ if (_utmv){ return (true); }; return (false); } private function _createUMTK():void{ _utmk = new UTMK(); _utmk.proxy = this; } public function hasUTMZ():Boolean{ if (_utmz){ return (true); }; return (false); } private function _createUMTV():void{ _utmv = new UTMV(); _utmv.proxy = this; } private function _createUMTZ():void{ _utmz = new UTMZ(); _utmz.proxy = this; } public function updateUTMA(_arg1:Number):void{ if (_debug.verbose){ _debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced); }; if (!utma.isEmpty()){ if (isNaN(utma.sessionCount)){ utma.sessionCount = 1; } else { utma.sessionCount = (utma.sessionCount + 1); }; utma.lastTime = utma.currentTime; utma.currentTime = _arg1; }; } private function _onFlushStatus(_arg1:NetStatusEvent):void{ _debug.info("User closed permission dialog..."); switch (_arg1.info.code){ case "SharedObject.Flush.Success": _debug.info("User granted permission -- value saved."); break; case "SharedObject.Flush.Failed": _debug.info("User denied permission -- value not saved."); break; }; _SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); } private function _clearUTMA():void{ _utma = null; if (!isVolatile()){ _SO.data.utma = null; delete _SO.data.utma; }; } private function _clearUTMC():void{ _utmc = null; } private function _clearUTMB():void{ _utmb = null; if (!isVolatile()){ _SO.data.utmb = null; delete _SO.data.utmb; }; } public function update(_arg1:String, _arg2):void{ if (isVolatile()){ _OBJ[_arg1] = _arg2; } else { _SO.data[_arg1] = _arg2; }; } private function _clearUTMZ():void{ _utmz = null; if (!isVolatile()){ _SO.data.utmz = null; delete _SO.data.utmz; }; } private function _clearUTMV():void{ _utmv = null; if (!isVolatile()){ _SO.data.utmv = null; delete _SO.data.utmv; }; } public function isVolatile():Boolean{ return (_volatile); } public function get utma():UTMA{ if (!hasUTMA()){ _createUMTA(); }; return (_utma); } public function get utmb():UTMB{ if (!hasUTMB()){ _createUMTB(); }; return (_utmb); } public function get utmc():UTMC{ if (!hasUTMC()){ _createUMTC(); }; return (_utmc); } public function get utmk():UTMK{ if (!hasUTMK()){ _createUMTK(); }; return (_utmk); } } }//package com.google.analytics.core
Section 83
//DocumentInfo (com.google.analytics.core.DocumentInfo) package com.google.analytics.core { import com.google.analytics.v4.*; import com.google.analytics.utils.*; import com.google.analytics.external.*; public class DocumentInfo { private var _config:Configuration; private var _utmr:String; private var _adSense:AdSenseGlobals; private var _info:Environment; private var _pageURL:String; public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){ _config = _arg1; _info = _arg2; _utmr = _arg3; _pageURL = _arg4; _adSense = _arg5; } public function get utmr():String{ if (!_utmr){ return ("-"); }; return (_utmr); } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } private function _renderPageURL(_arg1:String=""):String{ var _local2:String; var _local3:String; _local2 = _info.locationPath; _local3 = _info.locationSearch; if (((!(_arg1)) || ((_arg1 == "")))){ _arg1 = (_local2 + unescape(_local3)); }; return (_arg1); } public function get utmp():String{ return (_renderPageURL(_pageURL)); } private function _generateHitId():Number{ var _local1:Number; if (((_adSense.hid) && (!((_adSense.hid == ""))))){ _local1 = Number(_adSense.hid); } else { _local1 = Math.round((Math.random() * 2147483647)); _adSense.hid = String(_local1); }; return (_local1); } public function get utmhid():String{ return (String(_generateHitId())); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; if (((_config.detectTitle) && (!((utmdt == ""))))){ _local1.utmdt = utmdt; }; _local1.utmhid = utmhid; _local1.utmr = utmr; _local1.utmp = utmp; return (_local1); } public function get utmdt():String{ return (_info.documentTitle); } } }//package com.google.analytics.core
Section 84
//Domain (com.google.analytics.core.Domain) package com.google.analytics.core { import com.google.analytics.debug.*; public class Domain { private var _mode:DomainNameMode; private var _name:String; private var _debug:DebugConfiguration; public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){ _debug = _arg3; if (_arg1 == null){ _arg1 = DomainNameMode.auto; }; _mode = _arg1; if (_arg1 == DomainNameMode.custom){ this.name = _arg2; } else { _name = _arg2; }; } public function get mode():DomainNameMode{ return (_mode); } public function set mode(_arg1:DomainNameMode):void{ _mode = _arg1; if (_mode == DomainNameMode.none){ _name = ""; }; } public function get name():String{ return (_name); } public function set name(_arg1:String):void{ if (((!((_arg1.charAt(0) == "."))) && (_debug))){ _debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek); }; _name = _arg1; } } }//package com.google.analytics.core
Section 85
//DomainNameMode (com.google.analytics.core.DomainNameMode) package com.google.analytics.core { public class DomainNameMode { private var _value:int; private var _name:String; public static const custom:DomainNameMode = new DomainNameMode(2, "custom"); ; public static const none:DomainNameMode = new DomainNameMode(0, "none"); ; public static const auto:DomainNameMode = new DomainNameMode(1, "auto"); ; public function DomainNameMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 86
//EventInfo (com.google.analytics.core.EventInfo) package com.google.analytics.core { import com.google.analytics.utils.*; import com.google.analytics.data.*; public class EventInfo { private var _isEventHit:Boolean; private var _ext10:X10; private var _x10:X10; public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){ _isEventHit = _arg1; _x10 = _arg2; _ext10 = _arg3; } public function toURLString():String{ var _local1:Variables; _local1 = toVariables(); return (_local1.toString()); } public function get utmt():String{ return ("event"); } public function get utme():String{ return (_x10.renderMergedUrlString(_ext10)); } public function toVariables():Variables{ var _local1:Variables; _local1 = new Variables(); _local1.URIencode = true; if (_isEventHit){ _local1.utmt = utmt; }; _local1.utme = utme; return (_local1); } } }//package com.google.analytics.core
Section 87
//EventTracker (com.google.analytics.core.EventTracker) package com.google.analytics.core { import com.google.analytics.v4.*; public class EventTracker { private var _parent:GoogleAnalyticsAPI; public var name:String; public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){ this.name = _arg1; _parent = _arg2; } public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{ return (_parent.trackEvent(name, _arg1, _arg2, _arg3)); } } }//package com.google.analytics.core
Section 88
//ga_internal (com.google.analytics.core.ga_internal) package com.google.analytics.core { public namespace ga_internal; }//package com.google.analytics.core
Section 89
//GIFRequest (com.google.analytics.core.GIFRequest) package com.google.analytics.core { import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.net.*; import com.google.analytics.utils.*; import flash.events.*; import flash.display.*; import flash.system.*; public class GIFRequest { private var _info:Environment; private var _count:int; private var _utmac:String; private var _alertcount:int; private var _debug:DebugConfiguration; private var _lastRequest:URLRequest; private var _buffer:Buffer; private var _config:Configuration; private var _requests:Array; public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _info = _arg4; _count = 0; _alertcount = 0; _requests = []; } public function get utmn():String{ return ((Utils.generate32bitRandom() as String)); } public function onIOError(_arg1:IOErrorEvent):void{ var _local2:String; var _local3:String; var _local4:String; _local2 = _lastRequest.url; _local3 = String((_requests.length - 1)); _local4 = (("Gif Request #" + _local3) + " failed"); if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local2.indexOf("?") > -1){ _local2 = _local2.split("?")[0]; }; _local2 = _shortenURL(_local2); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable")); }; _debug.failure(_local4); } else { _debug.warning(_local4); }; _removeListeners(_arg1.target); } public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{ var _local5:String; var _local6:URLRequest; var _local7:URLRequest; _utmac = _arg1; if (!_arg2){ _arg2 = new Variables(); }; _arg2.URIencode = false; _arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"]; _arg2.post = ["utmcc"]; if (_debug.verbose){ _debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek); }; if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){ if (_arg4){ updateToken(); }; if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){ if (((!(_arg3)) && (_arg4))){ _buffer.utmb.token = (_buffer.utmb.token - 1); }; _buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1); if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; _arg2.utmwv = utmwv; _arg2.utmn = Utils.generate32bitRandom(); if (_info.domainName != ""){ _arg2.utmhn = _info.domainName; }; if (_config.sampleRate < 1){ _arg2.utmsp = (_config.sampleRate * 100); }; if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){ _local5 = _info.locationSWFPath; if (_local5.lastIndexOf("/") > 0){ _local5 = _local5.substring(0, _local5.lastIndexOf("/")); }; _local6 = new URLRequest(); if (_config.localGIFpath.indexOf("http") == 0){ _local6.url = _config.localGIFpath; } else { _local6.url = (_local5 + _config.localGIFpath); }; _local6.url = (_local6.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local6); } else { sendRequest(_local6); }; }; if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){ _local7 = new URLRequest(); if (_info.protocol == Protocols.HTTPS){ _local7.url = _config.secureRemoteGIFpath; } else { if (_info.protocol == Protocols.HTTP){ _local7.url = _config.remoteGIFpath; } else { _local7.url = _config.remoteGIFpath; }; }; _arg2.utmac = utmac; _arg2.utmcc = encodeURIComponent(utmcc); _local7.url = (_local7.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local7); } else { sendRequest(_local7); }; }; }; }; } public function onSecurityError(_arg1:SecurityErrorEvent):void{ if (_debug.GIFRequests){ _debug.failure(_arg1.text); }; } public function get utmsp():String{ return (((_config.sampleRate * 100) as String)); } public function get utmcc():String{ var _local1:Array; _local1 = []; if (_buffer.hasUTMA()){ _local1.push((_buffer.utma.toURLString() + ";")); }; if (_buffer.hasUTMZ()){ _local1.push((_buffer.utmz.toURLString() + ";")); }; if (_buffer.hasUTMV()){ _local1.push((_buffer.utmv.toURLString() + ";")); }; return (_local1.join("+")); } public function get utmac():String{ return (_utmac); } public function get utmwv():String{ return (_config.version); } public function sendRequest(_arg1:URLRequest):void{ var loader:Loader; var context:LoaderContext; var request = _arg1; loader = new Loader(); loader.name = String(_count++); context = new LoaderContext(false); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); _lastRequest = request; _requests[loader.name] = new RequestObject(request); try { loader.load(request, context); } catch(e:Error) { _debug.failure("\"Loader.load()\" could not instanciate Gif Request"); }; } private function _removeListeners(_arg1:Object):void{ _arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError); _arg1.removeEventListener(Event.COMPLETE, onComplete); } public function updateToken():void{ var _local1:Number; var _local2:Number; _local1 = new Date().getTime(); _local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000)); if (_debug.verbose){ _debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek); }; if (_local2 >= 1){ _buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity); _buffer.utmb.lastTime = _local1; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; }; } private function _shortenURL(_arg1:String):String{ var _local2:Array; if (_arg1.length > 60){ _local2 = _arg1.split("/"); while (_arg1.length > 60) { _local2.shift(); _arg1 = ("../" + _local2.join("/")); }; }; return (_arg1); } public function get utmhn():String{ return (_info.domainName); } private function _debugSend(_arg1:URLRequest):void{ var _local2:String; var _local3:String; _local2 = ""; switch (_debug.mode){ case VisualDebugMode.geek: _local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url); break; case VisualDebugMode.advanced: _local3 = _arg1.url; if (_local3.indexOf("?") > -1){ _local3 = _local3.split("?")[0]; }; _local3 = _shortenURL(_local3); _local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?"); break; case VisualDebugMode.basic: default: _local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?"); }; _debug.alertGifRequest(_local2, _arg1, this); _alertcount++; } public function onComplete(_arg1:Event):void{ var _local2:String; var _local3:String; var _local4:String; _local2 = _arg1.target.loader.name; _requests[_local2].complete(); _local3 = (("Gif Request #" + _local2) + " sent"); _local4 = _requests[_local2].request.url; if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local4.indexOf("?") > -1){ _local4 = _local4.split("?")[0]; }; _local4 = _shortenURL(_local4); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local3 = (_local3 + ((" to \"" + _local4) + "\"")); }; _debug.success(_local3); } else { _debug.info(_local3); }; _removeListeners(_arg1.target); } } }//package com.google.analytics.core
Section 90
//IdleTimer (com.google.analytics.core.IdleTimer) package com.google.analytics.core { import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.events.*; import flash.display.*; import flash.utils.*; public class IdleTimer { private var _loop:Timer; private var _stage:Stage; private var _lastMove:int; private var _debug:DebugConfiguration; private var _session:Timer; private var _inactivity:Number; private var _buffer:Buffer; public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){ var _local5:Number; var _local6:Number; var _local7:Number; super(); _local5 = _arg1.idleLoop; _local6 = _arg1.idleTimeout; _local7 = _arg1.sessionTimeout; _loop = new Timer((_local5 * 1000)); _session = new Timer((_local7 * 1000), 1); _debug = _arg2; _stage = _arg3.stage; _buffer = _arg4; _lastMove = getTimer(); _inactivity = (_local6 * 1000); _loop.addEventListener(TimerEvent.TIMER, checkForIdle); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); _stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); _debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek); _loop.start(); } private function onMouseMove(_arg1:MouseEvent):void{ _lastMove = getTimer(); if (_session.running){ _debug.info("session timer reset", VisualDebugMode.geek); _session.reset(); }; } public function endSession(_arg1:TimerEvent):void{ _session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession); _debug.info("session timer end session", VisualDebugMode.geek); _session.reset(); _buffer.resetCurrentSession(); _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); _debug.info(_buffer.utmc.toString(), VisualDebugMode.geek); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); } public function checkForIdle(_arg1:TimerEvent):void{ var _local2:int; _local2 = getTimer(); if ((_local2 - _lastMove) >= _inactivity){ if (!_session.running){ _debug.info("session timer start", VisualDebugMode.geek); _session.start(); }; }; } } }//package com.google.analytics.core
Section 91
//Organic (com.google.analytics.core.Organic) package com.google.analytics.core { import com.google.analytics.utils.*; public class Organic { private var _sourcesCache:Array; private var _sourcesEngine:Array; private var _ignoredKeywords:Array; private var _ignoredReferralsCache:Object; private var _ignoredReferrals:Array; private var _ignoredKeywordsCache:Object; private var _sources:Array; public static var throwErrors:Boolean = false; public function Organic(){ _sources = []; _sourcesCache = []; _sourcesEngine = []; _ignoredReferrals = []; _ignoredReferralsCache = {}; _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{ var _local3:String; _local3 = _arg1.keyword; return (getKeywordValueFromPath(_local3, _arg2)); } public function isIgnoredKeyword(_arg1:String):Boolean{ if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function isIgnoredReferral(_arg1:String):Boolean{ if (_ignoredReferralsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function clear():void{ clearEngines(); clearIgnoredReferrals(); clearIgnoredKeywords(); } public function get ignoredKeywordsCount():int{ return (_ignoredKeywords.length); } public function match(_arg1:String):Boolean{ if (_arg1 == ""){ return (false); }; _arg1 = _arg1.toLowerCase(); if (_sourcesEngine[_arg1] != undefined){ return (true); }; return (false); } public function get count():int{ return (_sources.length); } public function addSource(_arg1:String, _arg2:String):void{ var _local3:OrganicReferrer; _local3 = new OrganicReferrer(_arg1, _arg2); if (_sourcesCache[_local3.toString()] == undefined){ _sources.push(_local3); _sourcesCache[_local3.toString()] = (_sources.length - 1); if (_sourcesEngine[_local3.engine] == undefined){ _sourcesEngine[_local3.engine] = [(_sources.length - 1)]; } else { _sourcesEngine[_local3.engine].push((_sources.length - 1)); }; } else { if (throwErrors){ throw (new Error((_local3.toString() + " already exists, we don't add it."))); }; }; } public function clearIgnoredKeywords():void{ _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function clearEngines():void{ _sources = []; _sourcesCache = []; _sourcesEngine = []; } public function get ignoredReferralsCount():int{ return (_ignoredReferrals.length); } public function addIgnoredReferral(_arg1:String):void{ if (_ignoredReferralsCache[_arg1] == undefined){ _ignoredReferrals.push(_arg1); _ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function clearIgnoredReferrals():void{ _ignoredReferrals = []; _ignoredReferralsCache = {}; } public function getReferrerByName(_arg1:String):OrganicReferrer{ var _local2:int; if (match(_arg1)){ _local2 = _sourcesEngine[_arg1][0]; return (_sources[_local2]); }; return (null); } public function addIgnoredKeyword(_arg1:String):void{ if (_ignoredKeywordsCache[_arg1] == undefined){ _ignoredKeywords.push(_arg1); _ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function get sources():Array{ return (_sources); } public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Variables; if (_arg2.indexOf((_arg1 + "=")) > -1){ if (_arg2.charAt(0) == "?"){ _arg2 = _arg2.substr(1); }; _arg2 = _arg2.split("+").join("%20"); _local4 = new Variables(_arg2); _local3 = _local4[_arg1]; }; return (_local3); } } }//package com.google.analytics.core
Section 92
//OrganicReferrer (com.google.analytics.core.OrganicReferrer) package com.google.analytics.core { public class OrganicReferrer { private var _engine:String; private var _keyword:String; public function OrganicReferrer(_arg1:String, _arg2:String){ this.engine = _arg1; this.keyword = _arg2; } public function set engine(_arg1:String):void{ _engine = _arg1.toLowerCase(); } public function get keyword():String{ return (_keyword); } public function toString():String{ return (((engine + "?") + keyword)); } public function get engine():String{ return (_engine); } public function set keyword(_arg1:String):void{ _keyword = _arg1.toLowerCase(); } } }//package com.google.analytics.core
Section 93
//RequestObject (com.google.analytics.core.RequestObject) package com.google.analytics.core { import flash.net.*; import flash.utils.*; public class RequestObject { public var start:int; public var request:URLRequest; public var end:int; public function RequestObject(_arg1:URLRequest){ start = getTimer(); this.request = _arg1; } public function toString():String{ var _local1:Array; _local1 = []; _local1.push((("duration: " + duration) + "ms")); _local1.push(("url: " + request.url)); return ((("{ " + _local1.join(", ")) + " }")); } public function get duration():int{ if (!hasCompleted()){ return (0); }; return ((end - start)); } public function hasCompleted():Boolean{ return ((end > 0)); } public function complete():void{ end = getTimer(); } } }//package com.google.analytics.core
Section 94
//ServerOperationMode (com.google.analytics.core.ServerOperationMode) package com.google.analytics.core { public class ServerOperationMode { private var _value:int; private var _name:String; public static const both:ServerOperationMode = new ServerOperationMode(2, "both"); ; public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote"); ; public static const local:ServerOperationMode = new ServerOperationMode(0, "local"); ; public function ServerOperationMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 95
//TrackerCache (com.google.analytics.core.TrackerCache) package com.google.analytics.core { import com.google.analytics.v4.*; import flash.errors.*; public class TrackerCache implements GoogleAnalyticsAPI { public var tracker:GoogleAnalyticsAPI; private var _ar:Array; public static var CACHE_THROW_ERROR:Boolean; public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){ this.tracker = _arg1; _ar = []; } public function size():uint{ return (_ar.length); } public function flush():void{ var _local1:Object; var _local2:String; var _local3:Array; var _local4:int; var _local5:int; if (tracker == null){ return; }; if (size() > 0){ _local4 = _ar.length; while (_local5 < _local4) { _local1 = _ar.shift(); _local2 = (_local1.name as String); _local3 = (_local1.args as Array); if (((!((_local2 == null))) && ((_local2 in tracker)))){ (tracker[_local2] as Function).apply(tracker, _local3); }; _local5++; }; }; } public function enqueue(_arg1:String, ... _args):Boolean{ if (_arg1 == null){ return (false); }; _ar.push({name:_arg1, args:_args}); return (true); } public function link(_arg1:String, _arg2:Boolean=false):void{ enqueue("link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ enqueue("addOrganic", _arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ enqueue("setAllowLinker", _arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4); return (true); } public function trackTrans():void{ enqueue("trackTrans"); } public function trackPageview(_arg1:String=""):void{ enqueue("trackPageview", _arg1); } public function setClientInfo(_arg1:Boolean):void{ enqueue("setClientInfo", _arg1); } public function getClientInfo():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment.")); }; return (false); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ enqueue("linkByPost", _arg1, _arg2); } public function setCookieTimeout(_arg1:int):void{ enqueue("setCookieTimeout", _arg1); } public function isEmpty():Boolean{ return ((_ar.length == 0)); } public function resetSession():void{ enqueue("resetSession"); } public function setDetectFlash(_arg1:Boolean):void{ enqueue("setDetectFlash", _arg1); } public function clear():void{ _ar = []; } public function getDetectTitle():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment.")); }; return (false); } public function setCampNameKey(_arg1:String):void{ enqueue("setCampNameKey", _arg1); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function createEventTracker(_arg1:String):EventTracker{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment.")); }; return (null); } public function setVar(_arg1:String):void{ enqueue("setVar", _arg1); } public function clearIgnoredOrganic():void{ enqueue("clearIgnoredOrganic"); } public function setDomainName(_arg1:String):void{ enqueue("setDomainName", _arg1); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment.")); }; return (null); } public function setCampSourceKey(_arg1:String):void{ enqueue("setCampSourceKey", _arg1); } public function setCampContentKey(_arg1:String):void{ enqueue("setCampContentKey", _arg1); } public function clearIgnoredRef():void{ enqueue("clearIgnoredRef"); } public function setLocalServerMode():void{ enqueue("setLocalServerMode"); } public function getLocalGifPath():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment.")); }; return (""); } public function setAllowAnchor(_arg1:Boolean):void{ enqueue("setAllowAnchor", _arg1); } public function setLocalGifPath(_arg1:String):void{ enqueue("setLocalGifPath", _arg1); } public function getVersion():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment.")); }; return (""); } public function setCookiePath(_arg1:String):void{ enqueue("setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ enqueue("setSampleRate", _arg1); } public function setAllowHash(_arg1:Boolean):void{ enqueue("setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ enqueue("addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ enqueue("setCampNOKey", _arg1); } public function getServiceMode():ServerOperationMode{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment.")); }; return (null); } public function setLocalRemoteServerMode():void{ enqueue("setLocalRemoteServerMode"); } public function cookiePathCopy(_arg1:String):void{ enqueue("cookiePathCopy", _arg1); } public function setDetectTitle(_arg1:Boolean):void{ enqueue("setDetectTitle", _arg1); } public function getDetectFlash():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment.")); }; return (false); } public function setCampaignTrack(_arg1:Boolean):void{ enqueue("setCampaignTrack", _arg1); } public function clearOrganic():void{ enqueue("clearOrganic"); } public function setCampTermKey(_arg1:String):void{ enqueue("setCampTermKey", _arg1); } public function addIgnoredRef(_arg1:String):void{ enqueue("addIgnoredRef", _arg1); } public function setCampMediumKey(_arg1:String):void{ enqueue("setCampMediumKey", _arg1); } public function setSessionTimeout(_arg1:int):void{ enqueue("setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ enqueue("setRemoteServerMode"); } public function element(){ return (_ar[0]); } public function getAccount():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment.")); }; return (""); } } }//package com.google.analytics.core
Section 96
//TrackerMode (com.google.analytics.core.TrackerMode) package com.google.analytics.core { public class TrackerMode { public static const BRIDGE:String = "Bridge"; public static const AS3:String = "AS3"; } }//package com.google.analytics.core
Section 97
//Utils (com.google.analytics.core.Utils) package com.google.analytics.core { public class Utils { public static function trim(_arg1:String, _arg2:Boolean=false):String{ var _local3:Array; var _local4:String; var _local5:int; var _local6:int; var _local7:int; if (_arg1 == ""){ return (""); }; _local3 = [" ", "\n", "\r", "\t"]; _local4 = _arg1; if (_arg2){ _local5 = 0; while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) { _local4 = _local4.split(_local3[_local5]).join(""); _local5++; }; } else { _local6 = 0; while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) { _local6++; }; _local4 = _local4.substr(_local6); _local7 = (_local4.length - 1); while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) { _local7--; }; _local4 = _local4.substring(0, (_local7 + 1)); }; return (_local4); } public static function generateHash(_arg1:String):int{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; _local2 = 1; _local3 = 0; if (((!((_arg1 == null))) && (!((_arg1 == ""))))){ _local2 = 0; _local4 = (_arg1.length - 1); while (_local4 >= 0) { _local5 = _arg1.charCodeAt(_local4); _local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14)); _local3 = (_local2 & 266338304); if (_local3 != 0){ _local2 = (_local2 ^ (_local3 >> 21)); }; _local4--; }; }; return (_local2); } public static function generate32bitRandom():int{ return (Math.round((Math.random() * 2147483647))); } public static function validateAccount(_arg1:String):Boolean{ var _local2:RegExp; _local2 = /^UA-[0-9]*-[0-9]*$/; return (_local2.test(_arg1)); } } }//package com.google.analytics.core
Section 98
//Cookie (com.google.analytics.data.Cookie) package com.google.analytics.data { public interface Cookie { function toURLString():String; function toSharedObject():Object; function set creation(_arg1:Date):void; function fromSharedObject(_arg1:Object):void; function get expiration():Date; function isExpired():Boolean; function set expiration(_arg1:Date):void; function get creation():Date; } }//package com.google.analytics.data
Section 99
//UTMA (com.google.analytics.data.UTMA) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMA extends UTMCookie { private var _domainHash:Number; private var _firstTime:Number; private var _currentTime:Number; private var _sessionId:Number; private var _lastTime:Number; private var _sessionCount:Number; public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){ super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.sessionId = _arg2; this.firstTime = _arg3; this.lastTime = _arg4; this.currentTime = _arg5; this.sessionCount = _arg6; } public function get lastTime():Number{ return (_lastTime); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function get sessionCount():Number{ return (_sessionCount); } public function get firstTime():Number{ return (_firstTime); } public function set sessionId(_arg1:Number):void{ _sessionId = _arg1; update(); } public function set sessionCount(_arg1:Number):void{ _sessionCount = _arg1; update(); } public function set firstTime(_arg1:Number):void{ _firstTime = _arg1; update(); } public function set currentTime(_arg1:Number):void{ _currentTime = _arg1; update(); } public function get sessionId():Number{ return (_sessionId); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get currentTime():Number{ return (_currentTime); } public function get domainHash():Number{ return (_domainHash); } } }//package com.google.analytics.data
Section 100
//UTMB (com.google.analytics.data.UTMB) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMB extends UTMCookie { private var _lastTime:Number; private var _domainHash:Number; private var _trackCount:Number; private var _token:Number; public static var defaultTimespan:Number = Timespan.thirtyminutes; public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){ super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.trackCount = _arg2; this.token = _arg3; this.lastTime = _arg4; } public function get token():Number{ return (_token); } public function set trackCount(_arg1:Number):void{ _trackCount = _arg1; update(); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function get lastTime():Number{ return (_lastTime); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } public function set token(_arg1:Number):void{ _token = _arg1; update(); } public function get trackCount():Number{ return (_trackCount); } } }//package com.google.analytics.data
Section 101
//UTMC (com.google.analytics.data.UTMC) package com.google.analytics.data { public class UTMC extends UTMCookie { private var _domainHash:Number; public function UTMC(_arg1:Number=NaN){ super("utmc", "__utmc", ["domainHash"]); this.domainHash = _arg1; } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } } }//package com.google.analytics.data
Section 102
//UTMCookie (com.google.analytics.data.UTMCookie) package com.google.analytics.data { import com.google.analytics.core.*; public class UTMCookie implements Cookie { protected var inURL:String; protected var name:String; private var _creation:Date; private var _expiration:Date; public var proxy:Buffer; private var _timespan:Number; protected var fields:Array; public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){ this.name = _arg1; this.inURL = _arg2; this.fields = _arg3; _timestamp(_arg4); } public function isEmpty():Boolean{ var _local1:int; var _local2:String; var _local3:int; _local1 = 0; _local3 = 0; while (_local3 < fields.length) { _local2 = fields[_local3]; if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){ _local1++; } else { if ((((this[_local2] is String)) && ((this[_local2] == "")))){ _local1++; }; }; _local3++; }; if (_local1 == fields.length){ return (true); }; return (false); } protected function update():void{ resetTimestamp(); if (proxy){ proxy.update(name, toSharedObject()); }; } public function fromSharedObject(_arg1:Object):void{ var _local2:String; var _local3:int; var _local4:int; _local3 = fields.length; _local4 = 0; while (_local4 < _local3) { _local2 = fields[_local4]; if (_arg1[_local2]){ this[_local2] = _arg1[_local2]; }; _local4++; }; if (_arg1.creation){ this.creation = _arg1.creation; }; if (_arg1.expiration){ this.expiration = _arg1.expiration; }; } private function _timestamp(_arg1:Number):void{ creation = new Date(); _timespan = _arg1; if (_arg1 > 0){ expiration = new Date((creation.valueOf() + _arg1)); }; } public function isExpired():Boolean{ var _local1:Date; var _local2:Number; _local1 = new Date(); _local2 = (expiration.valueOf() - _local1.valueOf()); if (_local2 <= 0){ return (true); }; return (false); } public function set expiration(_arg1:Date):void{ _expiration = _arg1; } public function get creation():Date{ return (_creation); } public function reset():void{ var _local1:String; var _local2:int; _local2 = 0; while (_local2 < fields.length) { _local1 = fields[_local2]; if ((this[_local1] is Number)){ this[_local1] = NaN; } else { if ((this[_local1] is String)){ this[_local1] = ""; }; }; _local2++; }; resetTimestamp(); update(); } public function valueOf():String{ var _local1:Array; var _local2:String; var _local3:*; var _local4:int; _local1 = []; _local4 = 0; while (_local4 < fields.length) { _local2 = fields[_local4]; _local3 = this[_local2]; if ((_local3 is String)){ if (_local3 == ""){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; } else { if ((_local3 is Number)){ if (_local3 == 0){ _local1.push(_local3); } else { if (isNaN(_local3)){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; }; }; }; _local4++; }; return (("" + _local1.join("."))); } public function resetTimestamp(_arg1:Number=NaN):void{ if (!isNaN(_arg1)){ _timespan = _arg1; }; _creation = null; _expiration = null; _timestamp(_timespan); } public function get expiration():Date{ if (_expiration){ return (_expiration); }; return (new Date((new Date().valueOf() + 1000))); } public function toURLString():String{ return (((inURL + "=") + valueOf())); } public function toSharedObject():Object{ var _local1:Object; var _local2:String; var _local3:*; var _local4:int; _local1 = {}; _local4 = 0; for (;_local4 < fields.length;_local4++) { _local2 = fields[_local4]; _local3 = this[_local2]; if ((_local3 is String)){ _local1[_local2] = _local3; } else { if (_local3 == 0){ _local1[_local2] = _local3; } else { if (isNaN(_local3)){ continue; } else { _local1[_local2] = _local3; }; }; }; }; _local1.creation = creation; _local1.expiration = expiration; return (_local1); } public function toString(_arg1:Boolean=false):String{ var _local2:Array; var _local3:String; var _local4:*; var _local5:int; var _local6:int; var _local7:String; _local2 = []; _local5 = fields.length; _local6 = 0; for (;_local6 < _local5;_local6++) { _local3 = fields[_local6]; _local4 = this[_local3]; if ((_local4 is String)){ _local2.push((((_local3 + ": \"") + _local4) + "\"")); } else { if (_local4 == 0){ _local2.push(((_local3 + ": ") + _local4)); } else { if (isNaN(_local4)){ continue; } else { _local2.push(((_local3 + ": ") + _local4)); }; }; }; }; _local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}"); if (_arg1){ _local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration)); }; return (_local7); } public function set creation(_arg1:Date):void{ _creation = _arg1; } } }//package com.google.analytics.data
Section 103
//UTMK (com.google.analytics.data.UTMK) package com.google.analytics.data { public class UTMK extends UTMCookie { private var _hash:Number; public function UTMK(_arg1:Number=NaN){ super("utmk", "__utmk", ["hash"]); this.hash = _arg1; } public function get hash():Number{ return (_hash); } public function set hash(_arg1:Number):void{ _hash = _arg1; update(); } } }//package com.google.analytics.data
Section 104
//UTMV (com.google.analytics.data.UTMV) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMV extends UTMCookie { private var _domainHash:Number; private var _value:String; public function UTMV(_arg1:Number=NaN, _arg2:String=""){ super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.value = _arg2; } public function get value():String{ return (_value); } public function set value(_arg1:String):void{ _value = _arg1; update(); } override public function toURLString():String{ return (((inURL + "=") + encodeURI(valueOf()))); } public function get domainHash():Number{ return (_domainHash); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } } }//package com.google.analytics.data
Section 105
//UTMZ (com.google.analytics.data.UTMZ) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMZ extends UTMCookie { private var _domainHash:Number; private var _campaignSessions:Number; private var _campaignTracking:String; private var _responseCount:Number; private var _campaignCreation:Number; public static var defaultTimespan:Number = Timespan.sixmonths; public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){ super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.campaignCreation = _arg2; this.campaignSessions = _arg3; this.responseCount = _arg4; this.campaignTracking = _arg5; } public function get campaignCreation():Number{ return (_campaignCreation); } public function set campaignSessions(_arg1:Number):void{ _campaignSessions = _arg1; update(); } public function set responseCount(_arg1:Number):void{ _responseCount = _arg1; update(); } public function set campaignCreation(_arg1:Number):void{ _campaignCreation = _arg1; update(); } public function get campaignSessions():Number{ return (_campaignSessions); } public function get responseCount():Number{ return (_responseCount); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function get campaignTracking():String{ return (_campaignTracking); } public function set campaignTracking(_arg1:String):void{ _campaignTracking = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } } }//package com.google.analytics.data
Section 106
//X10 (com.google.analytics.data.X10) package com.google.analytics.data { public class X10 { private var _delimEnd:String;// = ")" private var _delimSet:String;// = "*" private var _escapeChar:String;// = "'" private var _delimBegin:String;// = "(" private var _delimNumValue:String;// = "!" private var _key:String;// = "k" private var _set:Array; private var _projectData:Object; private var _hasData:int; private var _escapeCharMap:Object; private var _minimum:int; private var _value:String;// = "v" public function X10(){ _key = "k"; _value = "v"; _set = [_key, _value]; _delimBegin = "("; _delimEnd = ")"; _delimSet = "*"; _delimNumValue = "!"; _escapeChar = "'"; super(); _projectData = {}; _escapeCharMap = {}; _escapeCharMap[_escapeChar] = "'0"; _escapeCharMap[_delimEnd] = "'1"; _escapeCharMap[_delimSet] = "'2"; _escapeCharMap[_delimNumValue] = "'3"; _minimum = 1; } private function _clearInternal(_arg1:Number, _arg2:String):void{ var _local3:Boolean; var _local4:int; var _local5:int; if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ _projectData[_arg1][_arg2] = undefined; _local3 = true; _local5 = _set.length; _local4 = 0; while (_local4 < _local5) { if (_projectData[_arg1][_set[_local4]] != undefined){ _local3 = false; break; }; _local4++; }; if (_local3){ _projectData[_arg1] = undefined; _hasData = (_hasData - 1); }; }; } public function hasData():Boolean{ return ((_hasData > 0)); } private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{ if (!hasProject(_arg1)){ _projectData[_arg1] = {}; }; if (_projectData[_arg1][_arg2] == undefined){ _projectData[_arg1][_arg2] = []; }; _projectData[_arg1][_arg2][_arg3] = _arg4; _hasData = (_hasData + 1); } public function hasProject(_arg1:Number):Boolean{ return (_projectData[_arg1]); } public function clearKey(_arg1:Number):void{ _clearInternal(_arg1, _key); } private function _renderDataType(_arg1:Array):String{ var _local2:Array; var _local3:String; var _local4:int; _local2 = []; _local4 = 0; while (_local4 < _arg1.length) { if (_arg1[_local4] != undefined){ _local3 = ""; if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){ _local3 = (_local3 + _local4.toString()); _local3 = (_local3 + _delimNumValue); }; _local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4])); _local2.push(_local3); }; _local4++; }; return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd)); } public function getKey(_arg1:Number, _arg2:Number):String{ return ((_getInternal(_arg1, _key, _arg2) as String)); } public function clearValue(_arg1:Number):void{ _clearInternal(_arg1, _value); } public function renderMergedUrlString(_arg1:X10=null):String{ var _local2:Array; var _local3:String; if (!_arg1){ return (renderUrlString()); }; _local2 = [_arg1.renderUrlString()]; for (_local3 in _projectData) { if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){ _local2.push((_local3 + _renderProject(_projectData[_local3]))); }; }; return (_local2.join("")); } public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){ return (false); }; _setInternal(_arg1, _value, _arg2, _arg3.toString()); return (true); } public function renderUrlString():String{ var _local1:Array; var _local2:String; _local1 = []; for (_local2 in _projectData) { if (hasProject(Number(_local2))){ _local1.push((_local2 + _renderProject(_projectData[_local2]))); }; }; return (_local1.join("")); } private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{ if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ return (_projectData[_arg1][_arg2][_arg3]); }; return (undefined); } public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{ _setInternal(_arg1, _key, _arg2, _arg3); return (true); } public function getValue(_arg1:Number, _arg2:Number){ var _local3:*; _local3 = _getInternal(_arg1, _value, _arg2); if (_local3 == null){ return (null); }; return (Number(_local3)); } private function _renderProject(_arg1:Object):String{ var _local2:String; var _local3:Boolean; var _local4:int; var _local5:Array; var _local6:int; _local2 = ""; _local3 = false; _local6 = _set.length; _local4 = 0; while (_local4 < _local6) { _local5 = _arg1[_set[_local4]]; if (_local5){ if (_local3){ _local2 = (_local2 + _set[_local4]); }; _local2 = (_local2 + _renderDataType(_local5)); _local3 = false; } else { _local3 = true; }; _local4++; }; return (_local2); } private function _escapeExtensibleValue(_arg1:String):String{ var _local2:String; var _local3:int; var _local4:String; var _local5:String; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1.charAt(_local3); _local5 = _escapeCharMap[_local4]; if (_local5){ _local2 = (_local2 + _local5); } else { _local2 = (_local2 + _local4); }; _local3++; }; return (_local2); } } }//package com.google.analytics.data
Section 107
//_Style (com.google.analytics.debug._Style) package com.google.analytics.debug { import flash.net.*; import flash.text.*; public class _Style { public var borderColor:uint; public var backgroundColor:uint; private var _sheet:StyleSheet; public var roundedCorner:uint; public var alertColor:uint; public var infoColor:uint; public var successColor:uint; private var _loader:URLLoader; public var failureColor:uint; private var _defaultSheet:String; public var warningColor:uint; public function _Style(){ _sheet = new StyleSheet(); _loader = new URLLoader(); _init(); } private function _parseSheet(_arg1:String):void{ _sheet.parseCSS(_arg1); } public function get sheet():StyleSheet{ return (_sheet); } private function _init():void{ _defaultSheet = ""; _defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n"); _defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n"); _defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + "\n"); roundedCorner = 6; backgroundColor = 0xCCCCCC; borderColor = 0x555555; infoColor = 16777113; alertColor = 0xFFCC00; warningColor = 0xCC0000; successColor = 0xFF00; failureColor = 0xFF0000; _parseSheet(_defaultSheet); } } }//package com.google.analytics.debug
Section 108
//Alert (com.google.analytics.debug.Alert) package com.google.analytics.debug { import flash.events.*; public class Alert extends Label { public var actionOnNextLine:Boolean;// = true public var autoClose:Boolean;// = true private var _actions:Array; public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){ var _local8:int; autoClose = true; actionOnNextLine = true; if (_arg4 == 0){ _arg4 = Style.alertColor; }; if (_arg5 == null){ _arg5 = Align.center; }; super(_arg1, _arg3, _arg4, _arg5, _arg6); this.selectable = true; super.mouseChildren = true; this.buttonMode = true; this.mouseEnabled = true; this.useHandCursor = true; this.actionOnNextLine = _arg7; _actions = []; _local8 = 0; while (_local8 < _arg2.length) { _arg2[_local8].container = this; _actions.push(_arg2[_local8]); _local8++; }; } protected function getAction(_arg1:String):AlertAction{ var _local2:int; _local2 = 0; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (_actions[_local2]); }; _local2++; }; return (null); } override protected function layout():void{ super.layout(); _defineActions(); } protected function spaces(_arg1:int):String{ var _local2:String; var _local3:String; var _local4:int; _local2 = ""; _local3 = " "; _local4 = 0; while (_local4 < (_arg1 + 1)) { _local2 = (_local2 + _local3); _local4++; }; return (_local2); } override public function onLink(_arg1:TextEvent):void{ var _local2:AlertAction; if (isValidAction(_arg1.text)){ _local2 = getAction(_arg1.text); if (_local2){ _local2.execute(); }; }; if (autoClose){ close(); }; } protected function isValidAction(_arg1:String):Boolean{ var _local2:int; _local2 = 0; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (true); }; _local2++; }; return (false); } private function _defineActions():void{ var _local1:String; var _local2:Array; var _local3:AlertAction; var _local4:int; _local1 = ""; if (actionOnNextLine){ _local1 = (_local1 + "\n"); } else { _local1 = (_local1 + " |"); }; _local1 = (_local1 + " "); _local2 = []; _local4 = 0; while (_local4 < _actions.length) { _local3 = _actions[_local4]; _local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>")); _local4++; }; _local1 = (_local1 + _local2.join(" | ")); appendText(_local1, "uiAlertAction"); } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 109
//AlertAction (com.google.analytics.debug.AlertAction) package com.google.analytics.debug { public class AlertAction { public var container:Alert; private var _callback; public var name:String; public var activator:String; public function AlertAction(_arg1:String, _arg2:String, _arg3){ this.name = _arg1; this.activator = _arg2; _callback = _arg3; } public function execute():void{ if (_callback){ if ((_callback is Function)){ (_callback as Function)(); } else { if ((_callback is String)){ var _local1 = container; _local1[_callback](); }; }; }; } } }//package com.google.analytics.debug
Section 110
//Align (com.google.analytics.debug.Align) package com.google.analytics.debug { public class Align { private var _value:int; private var _name:String; public static const bottomRight:Align = new Align(18, "bottomRight"); ; public static const right:Align = new Align(16, "right"); ; public static const left:Align = new Align(32, "left"); ; public static const topRight:Align = new Align(17, "topRight"); ; public static const bottom:Align = new Align(2, "bottom"); ; public static const bottomLeft:Align = new Align(34, "bottomLeft"); ; public static const topLeft:Align = new Align(33, "topLeft"); ; public static const center:Align = new Align(0x0100, "center"); ; public static const none:Align = new Align(0, "none"); ; public static const top:Align = new Align(1, "top"); ; public function Align(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 111
//Background (com.google.analytics.debug.Background) package com.google.analytics.debug { import flash.display.*; public class Background { public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{ var _local5:uint; var _local6:uint; var _local7:uint; _local7 = Style.roundedCorner; if ((((_arg3 > 0)) && ((_arg4 > 0)))){ _local5 = _arg3; _local6 = _arg4; } else { _local5 = _arg1.width; _local6 = _arg1.height; }; if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){ switch (_arg1.alignement){ case Align.top: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7); break; case Align.topLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7); break; case Align.topRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0); break; case Align.bottom: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0); break; case Align.bottomLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0); break; case Align.bottomRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0); break; case Align.left: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7); break; case Align.right: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0); break; case Align.center: _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); break; }; } else { _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); }; } } }//package com.google.analytics.debug
Section 112
//Debug (com.google.analytics.debug.Debug) package com.google.analytics.debug { import flash.events.*; import flash.ui.*; public class Debug extends Label { private var _lines:Array; private var _preferredForcedWidth:uint;// = 540 public var maxLines:uint;// = 16 private var _linediff:int;// = 0 public static var count:uint = 0; public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){ _linediff = 0; _preferredForcedWidth = 540; maxLines = 16; if (_arg2 == null){ _arg2 = Align.bottom; }; super("", "uiLabel", _arg1, _arg2, _arg3); this.name = ("Debug" + count++); _lines = []; selectable = true; addEventListener(KeyboardEvent.KEY_DOWN, onKey); } public function close():void{ dispose(); } public function writeBold(_arg1:String):void{ write(_arg1, true); } override protected function dispose():void{ removeEventListener(KeyboardEvent.KEY_DOWN, onKey); super.dispose(); } override public function get forcedWidth():uint{ if (this.parent){ if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){ return (_preferredForcedWidth); }; return (UISprite(this.parent).forcedWidth); } else { }; return (!NULL!); } private function onKey(_arg1:KeyboardEvent=null):void{ var _local2:Array; switch (_arg1.keyCode){ case Keyboard.DOWN: _local2 = _getLinesToDisplay(1); break; case Keyboard.UP: _local2 = _getLinesToDisplay(-1); break; default: _local2 = null; }; if (_local2 == null){ return; }; text = _local2.join("\n"); } public function write(_arg1:String, _arg2:Boolean=false):void{ var _local3:Array; var _local4:String; var _local5:String; var _local6:int; var _local7:Array; if (_arg1.indexOf("") > -1){ _local3 = _arg1.split("\n"); } else { _local3 = [_arg1]; }; _local4 = ""; _local5 = ""; if (_arg2){ _local4 = "<b>"; _local5 = "</b>"; }; _local6 = 0; while (_local6 < _local3.length) { _lines.push(((_local4 + _local3[_local6]) + _local5)); _local6++; }; _local7 = _getLinesToDisplay(); text = _local7.join("\n"); } private function _getLinesToDisplay(_arg1:int=0):Array{ var _local2:Array; var _local3:uint; var _local4:uint; if ((_lines.length - 1) > maxLines){ if ((_linediff <= 0)){ _linediff = (_linediff + _arg1); } else { if ((((_linediff > 0)) && ((_arg1 < 0)))){ _linediff = (_linediff + _arg1); }; }; _local3 = ((_lines.length - maxLines) + _linediff); _local4 = (_local3 + maxLines); _local2 = _lines.slice(_local3, _local4); } else { _local2 = _lines; }; return (_local2); } } }//package com.google.analytics.debug
Section 113
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration) package com.google.analytics.debug { import com.google.analytics.core.*; import flash.net.*; import flash.utils.*; import flash.ui.*; public class DebugConfiguration { public var showHideKey:Number; private var _mode:VisualDebugMode; private var _verbose:Boolean;// = false public var destroyKey:Number; public var GIFRequests:Boolean;// = false public var infoTimeout:Number;// = 1000 public var showInfos:Boolean;// = true public var minimizedOnStart:Boolean;// = false private var _active:Boolean;// = false public var traceOutput:Boolean;// = false public var layout:ILayout; public var warningTimeout:Number;// = 1500 public var javascript:Boolean;// = false public var showWarnings:Boolean;// = true private var _visualInitialized:Boolean;// = false public function DebugConfiguration(){ _active = false; _verbose = false; _visualInitialized = false; _mode = VisualDebugMode.basic; traceOutput = false; javascript = false; GIFRequests = false; showInfos = true; infoTimeout = 1000; showWarnings = true; warningTimeout = 1500; minimizedOnStart = false; showHideKey = Keyboard.SPACE; destroyKey = Keyboard.BACKSPACE; super(); } public function get verbose():Boolean{ return (_verbose); } public function set verbose(_arg1:Boolean):void{ _verbose = _arg1; } public function set mode(_arg1):void{ if ((_arg1 is String)){ switch (_arg1){ case "geek": _arg1 = VisualDebugMode.geek; break; case "advanced": _arg1 = VisualDebugMode.advanced; break; case "basic": default: _arg1 = VisualDebugMode.basic; }; }; _mode = _arg1; } public function success(_arg1:String):void{ if (layout){ layout.createSuccessAlert(_arg1); }; if (traceOutput){ trace((("[+] " + _arg1) + " !!")); }; } public function get active():Boolean{ return (_active); } private function _initializeVisual():void{ if (layout){ layout.init(); _visualInitialized = true; }; } private function _destroyVisual():void{ if (((layout) && (_visualInitialized))){ layout.destroy(); }; } public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showWarnings))){ layout.createWarning(_arg1); }; if (traceOutput){ trace((("## " + _arg1) + " ##")); }; } private function _filter(_arg1:VisualDebugMode=null):Boolean{ return (((_arg1) && ((int(_arg1) >= int(this.mode))))); } public function failure(_arg1:String):void{ if (layout){ layout.createFailureAlert(_arg1); }; if (traceOutput){ trace((("[-] " + _arg1) + " !!")); }; } public function get mode(){ return (_mode); } public function set active(_arg1:Boolean):void{ _active = _arg1; if (_active){ _initializeVisual(); } else { _destroyVisual(); }; } protected function trace(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:int; var _local6:int; var _local7:Array; var _local8:int; _local2 = []; _local3 = ""; _local4 = ""; if (this.mode == VisualDebugMode.geek){ _local3 = (getTimer() + " - "); _local4 = (new Array(_local3.length).join(" ") + " "); }; if (_arg1.indexOf("\n") > -1){ _local7 = _arg1.split("\n"); _local8 = 0; while (_local8 < _local7.length) { if (_local7[_local8] == ""){ } else { if (_local8 == 0){ _local2.push((_local3 + _local7[_local8])); } else { _local2.push((_local4 + _local7[_local8])); }; }; _local8++; }; } else { _local2.push((_local3 + _arg1)); }; _local5 = _local2.length; _local6 = 0; while (_local6 < _local5) { trace(_local2[_local6]); _local6++; }; } public function alert(_arg1:String):void{ if (layout){ layout.createAlert(_arg1); }; if (traceOutput){ trace((("!! " + _arg1) + " !!")); }; } public function info(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showInfos))){ layout.createInfo(_arg1); }; if (traceOutput){ trace(_arg1); }; } public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ if (layout){ layout.createGIFRequestAlert(_arg1, _arg2, _arg3); }; if (traceOutput){ trace(((">> " + _arg1) + " <<")); }; } } }//package com.google.analytics.debug
Section 114
//FailureAlert (com.google.analytics.debug.FailureAlert) package com.google.analytics.debug { public class FailureAlert extends Alert { public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align; var _local5:Boolean; var _local6:Boolean; _local4 = Align.bottomLeft; _local5 = true; _local6 = false; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 115
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert) package com.google.analytics.debug { public class GIFRequestAlert extends Alert { public function GIFRequestAlert(_arg1:String, _arg2:Array){ super(_arg1, _arg2); } } }//package com.google.analytics.debug
Section 116
//ILayout (com.google.analytics.debug.ILayout) package com.google.analytics.debug { import com.google.analytics.core.*; import flash.net.*; import flash.display.*; public interface ILayout { function createWarning(_arg1:String):void; function addToStage(_arg1:DisplayObject):void; function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void; function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void; function createInfo(_arg1:String):void; function createFailureAlert(_arg1:String):void; function addToPanel(_arg1:String, _arg2:DisplayObject):void; function init():void; function createSuccessAlert(_arg1:String):void; function createVisualDebug():void; function createAlert(_arg1:String):void; function destroy():void; function bringToFront(_arg1:DisplayObject):void; function isAvailable():Boolean; } }//package com.google.analytics.debug
Section 117
//Info (com.google.analytics.debug.Info) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Info extends Label { private var _timer:Timer; public function Info(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiInfo", Style.infoColor, Align.top, true); if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function onComplete(_arg1:TimerEvent):void{ close(); } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 118
//Label (com.google.analytics.debug.Label) package com.google.analytics.debug { import flash.events.*; import flash.display.*; import flash.text.*; public class Label extends UISprite { private var _text:String; private var _textField:TextField; private var _color:uint; protected var selectable:Boolean; public var stickToEdge:Boolean; private var _background:Shape; private var _tag:String; public static var count:uint = 0; public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){ this.name = ("Label" + count++); selectable = false; _background = new Shape(); _textField = new TextField(); _text = _arg1; _tag = _arg2; if (_arg4 == null){ _arg4 = Align.none; }; this.alignement = _arg4; this.stickToEdge = _arg5; if (_arg3 == 0){ _arg3 = Style.backgroundColor; }; _color = _arg3; _textField.addEventListener(TextEvent.LINK, onLink); } override protected function dispose():void{ _textField.removeEventListener(TextEvent.LINK, onLink); super.dispose(); } private function _draw():void{ var _local1:Graphics; var _local2:uint; var _local3:uint; _local1 = _background.graphics; _local1.clear(); _local1.beginFill(_color); _local2 = _textField.width; _local3 = _textField.height; if (forcedWidth > 0){ _local2 = forcedWidth; }; Background.drawRounded(this, _local1, _local2, _local3); _local1.endFill(); } override protected function layout():void{ _textField.type = TextFieldType.DYNAMIC; _textField.autoSize = TextFieldAutoSize.LEFT; _textField.background = false; _textField.selectable = selectable; _textField.multiline = true; _textField.styleSheet = Style.sheet; this.text = _text; addChild(_background); addChild(_textField); } public function get text():String{ return (_textField.text); } public function set tag(_arg1:String):void{ _tag = _arg1; text = ""; } public function set text(_arg1:String):void{ if (_arg1 == ""){ _arg1 = _text; }; _textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>"); _text = _arg1; _draw(); resize(); } public function appendText(_arg1:String, _arg2:String=""):void{ if (_arg1 == ""){ return; }; if (_arg2 == ""){ _arg2 = tag; }; _textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>")); _text = (_text + _arg1); _draw(); resize(); } public function onLink(_arg1:TextEvent):void{ } public function get tag():String{ return (_tag); } } }//package com.google.analytics.debug
Section 119
//Layout (com.google.analytics.debug.Layout) package com.google.analytics.debug { import com.google.analytics.core.*; import flash.net.*; import flash.events.*; import flash.display.*; import com.google.analytics.*; public class Layout implements ILayout { private var _display:DisplayObject; private var _infoQueue:Array; private var _maxCharPerLine:int;// = 85 private var _hasInfo:Boolean; private var _warningQueue:Array; private var _hasDebug:Boolean; private var _hasWarning:Boolean; private var _mainPanel:Panel; private var _GRAlertQueue:Array; private var _debug:DebugConfiguration; public var visualDebug:Debug; private var _hasGRAlert:Boolean; public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){ _maxCharPerLine = 85; super(); _display = _arg2; _debug = _arg1; _hasWarning = false; _hasInfo = false; _hasDebug = false; _hasGRAlert = false; _warningQueue = []; _infoQueue = []; _GRAlertQueue = []; } private function onKey(_arg1:KeyboardEvent=null):void{ switch (_arg1.keyCode){ case _debug.showHideKey: _mainPanel.visible = !(_mainPanel.visible); break; case _debug.destroyKey: destroy(); break; }; } public function bringToFront(_arg1:DisplayObject):void{ _display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1)); } public function createFailureAlert(_arg1:String):void{ var _local2:AlertAction; var _local3:Alert; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; _local3 = new FailureAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function init():void{ var _local1:int; var _local2:uint; var _local3:uint; var _local4:Panel; _local1 = 10; _local2 = (_display.stage.stageWidth - (_local1 * 2)); _local3 = (_display.stage.stageHeight - (_local1 * 2)); _local4 = new Panel("analytics", _local2, _local3); _local4.alignement = Align.top; _local4.stickToEdge = false; _local4.title = ("Google Analytics v" + GATracker.version); _mainPanel = _local4; addToStage(_local4); bringToFront(_local4); if (_debug.minimizedOnStart){ _mainPanel.onToggle(); }; createVisualDebug(); _display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true); } public function addToPanel(_arg1:String, _arg2:DisplayObject):void{ var _local3:DisplayObject; var _local4:Panel; _local3 = _display.stage.getChildByName(_arg1); if (_local3){ _local4 = (_local3 as Panel); _local4.addData(_arg2); } else { trace((("panel \"" + _arg1) + "\" not found")); }; } private function _clearInfo(_arg1:Event):void{ _hasInfo = false; if (_infoQueue.length > 0){ createInfo(_infoQueue.shift()); }; } private function _filterMaxChars(_arg1:String, _arg2:int=0):String{ var _local3:String; var _local4:Array; var _local5:Array; var _local6:String; var _local7:int; _local3 = "\n"; _local4 = []; _local5 = _arg1.split(_local3); if (_arg2 == 0){ _arg2 = _maxCharPerLine; }; _local7 = 0; while (_local7 < _local5.length) { _local6 = _local5[_local7]; while (_local6.length > _arg2) { _local4.push(_local6.substr(0, _arg2)); _local6 = _local6.substring(_arg2); }; _local4.push(_local6); _local7++; }; return (_local4.join(_local3)); } public function createWarning(_arg1:String):void{ var _local2:Warning; if (((_hasWarning) || (!(isAvailable())))){ _warningQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasWarning = true; _local2 = new Warning(_arg1, _debug.warningTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } private function _clearGRAlert(_arg1:Event):void{ _hasGRAlert = false; if (_GRAlertQueue.length > 0){ createGIFRequestAlert.apply(this, _GRAlertQueue.shift()); }; } public function createSuccessAlert(_arg1:String):void{ var _local2:AlertAction; var _local3:Alert; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; _local3 = new SuccessAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function isAvailable():Boolean{ return (!((_display.stage == null))); } public function createAlert(_arg1:String):void{ var _local2:Alert; _arg1 = _filterMaxChars(_arg1); _local2 = new Alert(_arg1, [new AlertAction("Close", "close", "close")]); addToPanel("analytics", _local2); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } public function createInfo(_arg1:String):void{ var _local2:Info; if (((_hasInfo) || (!(isAvailable())))){ _infoQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasInfo = true; _local2 = new Info(_arg1, _debug.infoTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true); if (_hasDebug){ visualDebug.write(_arg1); }; } public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ var f:Function; var gra:GIFRequestAlert; var message = _arg1; var request = _arg2; var ref = _arg3; if (_hasGRAlert){ _GRAlertQueue.push([message, request, ref]); return; }; _hasGRAlert = true; f = function ():void{ ref.sendRequest(request); }; message = _filterMaxChars(message); gra = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]); addToPanel("analytics", gra); gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true); if (_hasDebug){ if (_debug.verbose){ message = message.split("\n").join(""); message = _filterMaxChars(message, 66); }; visualDebug.write(message); }; } public function createVisualDebug():void{ if (!visualDebug){ visualDebug = new Debug(); visualDebug.alignement = Align.bottom; visualDebug.stickToEdge = true; addToPanel("analytics", visualDebug); _hasDebug = true; }; } public function addToStage(_arg1:DisplayObject):void{ _display.stage.addChild(_arg1); } private function _clearWarning(_arg1:Event):void{ _hasWarning = false; if (_warningQueue.length > 0){ createWarning(_warningQueue.shift()); }; } public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{ var _local4:Panel; _local4 = new Panel(_arg1, _arg2, _arg3); _local4.alignement = Align.center; _local4.stickToEdge = false; addToStage(_local4); bringToFront(_local4); } public function destroy():void{ _mainPanel.close(); _debug.layout = null; } } }//package com.google.analytics.debug
Section 120
//Margin (com.google.analytics.debug.Margin) package com.google.analytics.debug { public class Margin { public var bottom:int; public var top:int; public var right:int; public var left:int; public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){ this.top = _arg1; this.bottom = _arg2; this.left = _arg3; this.right = _arg4; } } }//package com.google.analytics.debug
Section 121
//Panel (com.google.analytics.debug.Panel) package com.google.analytics.debug { import flash.events.*; import flash.display.*; public class Panel extends UISprite { protected var baseAlpha:Number; private var _border:Shape; private var _name:String; private var _title:Label; private var _data:UISprite; private var _backgroundColor:uint; private var _colapsed:Boolean; private var _stickToEdge:Boolean; private var _background:Shape; private var _savedW:uint; private var _mask:Sprite; private var _savedH:uint; private var _borderColor:uint; public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){ _name = _arg1; this.name = _arg1; this.mouseEnabled = false; _colapsed = false; forcedWidth = _arg2; forcedHeight = _arg3; this.baseAlpha = _arg6; _background = new Shape(); _data = new UISprite(); _data.forcedWidth = _arg2; _data.forcedHeight = _arg3; _data.mouseEnabled = false; _title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8); _title.buttonMode = true; _title.margin.top = 0.6; _title.margin.left = 0.6; _title.addEventListener(MouseEvent.CLICK, onToggle); _title.mouseChildren = false; _border = new Shape(); _mask = new Sprite(); _mask.useHandCursor = false; _mask.mouseEnabled = false; _mask.mouseChildren = false; if (_arg7 == null){ _arg7 = Align.none; }; this.alignement = _arg7; this.stickToEdge = _arg8; if (_arg4 == 0){ _arg4 = Style.backgroundColor; }; _backgroundColor = _arg4; if (_arg5 == 0){ _arg5 = Style.borderColor; }; _borderColor = _arg5; } public function set stickToEdge(_arg1:Boolean):void{ _stickToEdge = _arg1; _title.stickToEdge = _arg1; } public function onToggle(_arg1:MouseEvent=null):void{ if (_colapsed){ _data.visible = true; } else { _data.visible = false; }; _colapsed = !(_colapsed); _update(); resize(); } override protected function dispose():void{ _title.removeEventListener(MouseEvent.CLICK, onToggle); super.dispose(); } private function _draw():void{ var _local1:uint; var _local2:uint; var _local3:Graphics; var _local4:Graphics; var _local5:Graphics; var _local6:Graphics; if (((_savedW) && (_savedH))){ forcedWidth = _savedW; forcedHeight = _savedH; }; if (!_colapsed){ _local1 = forcedWidth; _local2 = forcedHeight; } else { _local1 = _title.width; _local2 = _title.height; _savedW = forcedWidth; _savedH = forcedHeight; forcedWidth = _local1; forcedHeight = _local2; }; _local3 = _background.graphics; _local3.clear(); _local3.beginFill(_backgroundColor); Background.drawRounded(this, _local3, _local1, _local2); _local3.endFill(); _local4 = _data.graphics; _local4.clear(); _local4.beginFill(_backgroundColor, 0); Background.drawRounded(this, _local4, _local1, _local2); _local4.endFill(); _local5 = _border.graphics; _local5.clear(); _local5.lineStyle(0.1, _borderColor); Background.drawRounded(this, _local5, _local1, _local2); _local5.endFill(); _local6 = _mask.graphics; _local6.clear(); _local6.beginFill(_backgroundColor); Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1)); _local6.endFill(); } override protected function layout():void{ _update(); addChild(_background); addChild(_data); addChild(_title); addChild(_border); addChild(_mask); mask = _mask; } public function get title():String{ return (_title.text); } public function get stickToEdge():Boolean{ return (_stickToEdge); } public function set title(_arg1:String):void{ _title.text = _arg1; } private function _update():void{ _draw(); if (baseAlpha < 1){ _background.alpha = baseAlpha; _border.alpha = baseAlpha; }; } public function addData(_arg1:DisplayObject):void{ _data.addChild(_arg1); } public function close():void{ dispose(); if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 122
//Style (com.google.analytics.debug.Style) package com.google.analytics.debug { public const Style:_Style = new _Style(); }//package com.google.analytics.debug
Section 123
//SuccessAlert (com.google.analytics.debug.SuccessAlert) package com.google.analytics.debug { public class SuccessAlert extends Alert { public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align; var _local5:Boolean; var _local6:Boolean; _local4 = Align.bottomLeft; _local5 = true; _local6 = false; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 124
//UISprite (com.google.analytics.debug.UISprite) package com.google.analytics.debug { import flash.events.*; import flash.display.*; public class UISprite extends Sprite { private var _forcedHeight:uint; protected var listenResize:Boolean; public var alignement:Align; private var _forcedWidth:uint; public var margin:Margin; protected var alignTarget:DisplayObject; public function UISprite(_arg1:DisplayObject=null){ listenResize = false; alignement = Align.none; this.alignTarget = _arg1; margin = new Margin(); addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); } protected function dispose():void{ var _local1:DisplayObject; var _local2:int; _local2 = 0; while (_local2 < numChildren) { _local1 = getChildAt(_local2); if (_local1){ removeChild(_local1); }; _local2++; }; } protected function layout():void{ } public function get forcedHeight():uint{ if (_forcedHeight){ return (_forcedHeight); }; return (height); } public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{ var _local3:uint; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:UISprite; if (_arg2 == null){ if ((parent is Stage)){ _arg2 = this.stage; } else { _arg2 = parent; }; }; if (_arg2 == this.stage){ if (this.stage == null){ return; }; _local3 = this.stage.stageHeight; _local4 = this.stage.stageWidth; _local5 = 0; _local6 = 0; } else { _local7 = (_arg2 as UISprite); if (_local7.forcedHeight){ _local3 = _local7.forcedHeight; } else { _local3 = _local7.height; }; if (_local7.forcedWidth){ _local4 = _local7.forcedWidth; } else { _local4 = _local7.width; }; _local5 = 0; _local6 = 0; }; switch (_arg1){ case Align.top: x = ((_local4 / 2) - (forcedWidth / 2)); y = (_local6 + margin.top); break; case Align.bottom: x = ((_local4 / 2) - (forcedWidth / 2)); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.left: x = (_local5 + margin.left); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.right: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.center: x = ((_local4 / 2) - (forcedWidth / 2)); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.topLeft: x = (_local5 + margin.left); y = (_local6 + margin.top); break; case Align.topRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (_local6 + margin.top); break; case Align.bottomLeft: x = (_local5 + margin.left); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.bottomRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; }; if (((!(listenResize)) && (!((_arg1 == Align.none))))){ _arg2.addEventListener(Event.RESIZE, onResize, false, 0, true); listenResize = true; }; this.alignement = _arg1; this.alignTarget = _arg2; } public function get forcedWidth():uint{ if (_forcedWidth){ return (_forcedWidth); }; return (width); } protected function onResize(_arg1:Event):void{ resize(); } private function _onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); dispose(); } public function resize():void{ if (alignement != Align.none){ alignTo(alignement, alignTarget); }; } private function _onAddedToStage(_arg1:Event):void{ layout(); resize(); } public function set forcedHeight(_arg1:uint):void{ _forcedHeight = _arg1; } public function set forcedWidth(_arg1:uint):void{ _forcedWidth = _arg1; } } }//package com.google.analytics.debug
Section 125
//Warning (com.google.analytics.debug.Warning) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Warning extends Label { private var _timer:Timer; public function Warning(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiWarning", Style.warningColor, Align.top, false); margin.top = 32; if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function onComplete(_arg1:TimerEvent):void{ close(); } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 126
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode) package com.google.analytics.debug { public class VisualDebugMode { private var _value:int; private var _name:String; public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced"); ; public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek"); ; public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic"); ; public function VisualDebugMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 127
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent) package com.google.analytics.events { import flash.events.*; import com.google.analytics.*; public class AnalyticsEvent extends Event { public var tracker:AnalyticsTracker; public static const READY:String = "ready"; public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.tracker = _arg2; } override public function clone():Event{ return (new AnalyticsEvent(type, tracker, bubbles, cancelable)); } } }//package com.google.analytics.events
Section 128
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals) package com.google.analytics.external { import com.google.analytics.debug.*; public class AdSenseGlobals extends JavascriptProxy { private var _gaGlobalVerified:Boolean;// = false public static var gaGlobal_js:XML = <script> <![CDATA[ function() { try { gaGlobal } catch(e) { gaGlobal = {} ; } } ]]> </script> ; public function AdSenseGlobals(_arg1:DebugConfiguration){ _gaGlobalVerified = false; super(_arg1); } public function set vid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.vid", _arg1); } public function get hid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.hid")); } public function get dh():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.dh")); } public function get gaGlobal():Object{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal")); } public function set hid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.hid", _arg1); } public function get sid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.sid")); } private function _verify():void{ if (!_gaGlobalVerified){ executeBlock(gaGlobal_js); _gaGlobalVerified = true; }; } public function get vid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.vid")); } public function set sid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.sid", _arg1); } } }//package com.google.analytics.external
Section 129
//HTMLDOM (com.google.analytics.external.HTMLDOM) package com.google.analytics.external { import com.google.analytics.debug.*; public class HTMLDOM extends JavascriptProxy { private var _referrer:String; private var _protocol:String; private var _host:String; private var _location:String; private var _pathname:String; private var _title:String; private var _characterSet:String; private var _search:String; private var _language:String; private var _colorDepth:String; public static var cache_properties_js:XML = <script> <![CDATA[ function() { var obj = {}; obj.host = document.location.host; obj.language = navigator.language ? navigator.language : navigator.browserLanguage; obj.characterSet = document.characterSet ? document.characterSet : document.charset; obj.colorDepth = window.screen.colorDepth; obj.location = document.location.toString(); obj.pathname = document.location.pathname; obj.protocol = document.location.protocol; obj.search = document.location.search; obj.referrer = document.referrer; obj.title = document.title; return obj; } ]]> </script> ; public function HTMLDOM(_arg1:DebugConfiguration){ super(_arg1); } public function get search():String{ if (_search){ return (_search); }; if (!isAvailable()){ return (null); }; _search = getProperty("document.location.search"); return (_search); } public function get location():String{ if (_location){ return (_location); }; if (!isAvailable()){ return (null); }; _location = getPropertyString("document.location"); return (_location); } public function get pathname():String{ if (_pathname){ return (_pathname); }; if (!isAvailable()){ return (null); }; _pathname = getProperty("document.location.pathname"); return (_pathname); } public function get referrer():String{ if (_referrer){ return (_referrer); }; if (!isAvailable()){ return (null); }; _referrer = getProperty("document.referrer"); return (_referrer); } public function get protocol():String{ if (_protocol){ return (_protocol); }; if (!isAvailable()){ return (null); }; _protocol = getProperty("document.location.protocol"); return (_protocol); } public function cacheProperties():void{ var _local1:Object; if (!isAvailable()){ return; }; _local1 = call(cache_properties_js); if (_local1){ _host = _local1.host; _language = _local1.language; _characterSet = _local1.characterSet; _colorDepth = _local1.colorDepth; _location = _local1.location; _pathname = _local1.pathname; _protocol = _local1.protocol; _search = _local1.search; _referrer = _local1.referrer; _title = _local1.title; }; } public function get colorDepth():String{ if (_colorDepth){ return (_colorDepth); }; if (!isAvailable()){ return (null); }; _colorDepth = getProperty("window.screen.colorDepth"); return (_colorDepth); } public function get title():String{ if (_title){ return (_title); }; if (!isAvailable()){ return (null); }; _title = getProperty("document.title"); return (_title); } public function get host():String{ if (_host){ return (_host); }; if (!isAvailable()){ return (null); }; _host = getProperty("document.location.host"); return (_host); } public function get characterSet():String{ var _local1:String; if (_characterSet){ return (_characterSet); }; if (!isAvailable()){ return (null); }; _local1 = getProperty("document.characterSet"); if (_local1 == null){ _local1 = getProperty("document.charset"); }; _characterSet = _local1; return (_characterSet); } public function get language():String{ var _local1:String; if (_language){ return (_language); }; if (!isAvailable()){ return (null); }; _local1 = getProperty("navigator.language"); if (_local1 == null){ _local1 = getProperty("navigator.browserLanguage"); }; _language = _local1; return (_language); } } }//package com.google.analytics.external
Section 130
//JavascriptProxy (com.google.analytics.external.JavascriptProxy) package com.google.analytics.external { import com.google.analytics.debug.*; import flash.system.*; import flash.external.*; public class JavascriptProxy { private var _notAvailableWarning:Boolean;// = true private var _debug:DebugConfiguration; public static var setProperty_js:XML = <script> <![CDATA[ function( path , value ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } target[ prop ] = value ; } ]]> </script> ; public static var hasProperty_js:XML = <script> <![CDATA[ function( path ) { var paths; if( path.indexOf(".") > 0 ) { paths = path.split("."); } else { paths = [path]; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } if( target ) { return true; } else { return false; } } ]]> </script> ; public static var setPropertyRef_js:XML = <script> <![CDATA[ function( path , target ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } alert( "paths:"+paths.length+", prop:"+prop ); var targets; var name; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } alert( "targets:"+targets.length+", name:"+name ); var root = window; var len = paths.length; for( var i = 0 ; i < len ; i++ ) { root = root[ paths[i] ] ; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } root[ prop ] = ref[name] ; } ]]> </script> ; public function JavascriptProxy(_arg1:DebugConfiguration){ _notAvailableWarning = true; super(); _debug = _arg1; } public function getProperty(_arg1:String){ return (call((_arg1 + ".valueOf"))); } public function hasProperty(_arg1:String):Boolean{ return (call(hasProperty_js, _arg1)); } public function setProperty(_arg1:String, _arg2):void{ call(setProperty_js, _arg1, _arg2); } public function executeBlock(_arg1:String):void{ var data = _arg1; if (isAvailable()){ try { ExternalInterface.call(data); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; } public function getPropertyString(_arg1:String):String{ return (call((_arg1 + ".toString"))); } public function setPropertyByReference(_arg1:String, _arg2:String):void{ call(setPropertyRef_js, _arg1, _arg2); } public function call(_arg1:String, ... _args){ var output:String; var functionName = _arg1; var args = _args; if (isAvailable()){ try { if (((_debug.javascript) && (_debug.verbose))){ output = ""; output = ("Flash->JS: " + functionName); output = (output + "( "); if (args.length > 0){ output = (output + args.join(",")); }; output = (output + " )"); _debug.info(output); }; args.unshift(functionName); return (ExternalInterface.call.apply(ExternalInterface, args)); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; return (null); } public function isAvailable():Boolean{ var _local1:Boolean; _local1 = ExternalInterface.available; if (((_local1) && ((Capabilities.playerType == "External")))){ _local1 = false; }; if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){ _debug.warning("ExternalInterface is not available."); _notAvailableWarning = false; }; return (_local1); } } }//package com.google.analytics.external
Section 131
//Environment (com.google.analytics.utils.Environment) package com.google.analytics.utils { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.external.*; import flash.system.*; public class Environment { private var _dom:HTMLDOM; private var _appName:String; private var _debug:DebugConfiguration; private var _appVersion:Version; private var _url:String; private var _protocol:Protocols; private var _userAgent:UserAgent; public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){ var _local6:Version; super(); if (_arg2 == ""){ if (isAIR()){ _arg2 = "AIR"; } else { _arg2 = "Flash"; }; }; if (_arg3 == ""){ _local6 = flashVersion; } else { _local6 = Version.fromString(_arg3); }; _url = _arg1; _appName = _arg2; _appVersion = _local6; _debug = _arg4; _dom = _arg5; } public function isAIR():Boolean{ return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application")))); } public function get playerType():String{ return (Capabilities.playerType); } public function get locationSearch():String{ var _local1:String; _local1 = _dom.search; if (_local1){ return (_local1); }; return (""); } public function get protocol():Protocols{ if (!_protocol){ _findProtocol(); }; return (_protocol); } public function get flashVersion():Version{ var _local1:Version; _local1 = Version.fromString(Capabilities.version.split(" ")[1], ","); return (_local1); } public function get screenWidth():Number{ return (Capabilities.screenResolutionX); } public function get languageEncoding():String{ var _local1:String; if (System.useCodePage){ _local1 = _dom.characterSet; if (_local1){ return (_local1); }; return ("-"); }; return ("UTF-8"); } public function get appName():String{ return (_appName); } public function get screenColorDepth():String{ var _local1:String; var _local2:String; switch (Capabilities.screenColor){ case "bw": _local1 = "1"; break; case "gray": _local1 = "2"; break; case "color": default: _local1 = "24"; }; _local2 = _dom.colorDepth; if (_local2){ _local1 = _local2; }; return (_local1); } private function _findProtocol():void{ var _local1:Protocols; var _local2:String; var _local3:String; var _local4:String; var _local5:String; _local1 = Protocols.none; if (_url != ""){ _local4 = _url.toLowerCase(); _local5 = _local4.substr(0, 5); switch (_local5){ case "file:": _local1 = Protocols.file; break; case "http:": _local1 = Protocols.HTTP; break; case "https": if (_local4.charAt(5) == ":"){ _local1 = Protocols.HTTPS; }; break; default: _protocol = Protocols.none; }; }; _local2 = _dom.protocol; _local3 = (_local1.toString() + ":").toLowerCase(); if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){ _debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2)); }; _protocol = _local1; } public function get locationSWFPath():String{ return (_url); } public function get platform():String{ var _local1:String; _local1 = Capabilities.manufacturer; return (_local1.split("Adobe ")[1]); } public function get operatingSystem():String{ return (Capabilities.os); } public function set appName(_arg1:String):void{ _appName = _arg1; userAgent.applicationProduct = _arg1; } public function get userAgent():UserAgent{ if (!_userAgent){ _userAgent = new UserAgent(this, appName, appVersion.toString(4)); }; return (_userAgent); } ga_internal function set url(_arg1:String):void{ _url = _arg1; } public function get referrer():String{ var _local1:String; _local1 = _dom.referrer; if (_local1){ return (_local1); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function isInHTML():Boolean{ return ((Capabilities.playerType == "PlugIn")); } public function get language():String{ var _local1:String; var _local2:String; _local1 = _dom.language; _local2 = Capabilities.language; if (_local1){ if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){ _local2 = _local1; }; }; return (_local2); } public function get domainName():String{ var _local1:String; var _local2:String; var _local3:int; if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){ _local1 = _url.toLowerCase(); if (protocol == Protocols.HTTP){ _local2 = _local1.split("http://").join(""); } else { if (protocol == Protocols.HTTPS){ _local2 = _local1.split("https://").join(""); }; }; _local3 = _local2.indexOf("/"); if (_local3 > -1){ _local2 = _local2.substring(0, _local3); }; return (_local2); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function set userAgent(_arg1:UserAgent):void{ _userAgent = _arg1; } public function set appVersion(_arg1:Version):void{ _appVersion = _arg1; userAgent.applicationVersion = _arg1.toString(4); } public function get screenHeight():Number{ return (Capabilities.screenResolutionY); } public function get locationPath():String{ var _local1:String; _local1 = _dom.pathname; if (_local1){ return (_local1); }; return (""); } public function get documentTitle():String{ var _local1:String; _local1 = _dom.title; if (_local1){ return (_local1); }; return (""); } public function get appVersion():Version{ return (_appVersion); } } }//package com.google.analytics.utils
Section 132
//Protocols (com.google.analytics.utils.Protocols) package com.google.analytics.utils { public class Protocols { private var _value:int; private var _name:String; public static const none:Protocols = new Protocols(0, "none"); ; public static const HTTPS:Protocols = new Protocols(3, "HTTPS"); ; public static const file:Protocols = new Protocols(1, "file"); ; public static const HTTP:Protocols = new Protocols(2, "HTTP"); ; public function Protocols(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.utils
Section 133
//Timespan (com.google.analytics.utils.Timespan) package com.google.analytics.utils { public class Timespan { public static var sixmonths:Number = 15768000; public static var twoyears:Number = 63072000; public static var thirtyminutes:Number = 1800; } }//package com.google.analytics.utils
Section 134
//URL (com.google.analytics.utils.URL) package com.google.analytics.utils { public class URL { private var _url:String; public function URL(_arg1:String=""){ _url = _arg1.toLowerCase(); } public function get domain():String{ var _local1:Array; if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){ _local1 = hostName.split("."); switch (_local1.length){ case 2: return (hostName); case 3: if (_local1[1] == "co"){ return (hostName); }; _local1.shift(); return (_local1.join(".")); case 4: _local1.shift(); return (_local1.join(".")); }; }; return (""); } public function get path():String{ var _local1:String; _local1 = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if (_local1.charAt(0) != "/"){ _local1 = ("/" + _local1); }; return (_local1); } public function get search():String{ var _local1:String; _local1 = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[1]; } else { _local1 = ""; }; return (_local1); } public function get subDomain():String{ if (((!((domain == ""))) && (!((domain == hostName))))){ return (hostName.split(("." + domain)).join("")); }; return (""); } public function get protocol():Protocols{ var _local1:String; _local1 = _url.split("://")[0]; switch (_local1){ case "file": return (Protocols.file); case "http": return (Protocols.HTTP); case "https": return (Protocols.HTTPS); default: return (Protocols.none); }; } public function get hostName():String{ var _local1:String; _local1 = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf("/") > -1){ _local1 = _local1.split("/")[0]; }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){ return (""); }; return (_local1); } } }//package com.google.analytics.utils
Section 135
//UserAgent (com.google.analytics.utils.UserAgent) package com.google.analytics.utils { import com.google.analytics.core.*; import flash.system.*; public class UserAgent { private var _version:Version; private var _localInfo:Environment; private var _applicationProduct:String; public static var minimal:Boolean = false; public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){ _localInfo = _arg1; applicationProduct = _arg2; _version = Version.fromString(_arg3); } public function get tamarinProductToken():String{ if (UserAgent.minimal){ return (""); }; if (System.vmVersion){ return (("Tamarin/" + Utils.trim(System.vmVersion, true))); }; return (""); } public function set applicationProduct(_arg1:String):void{ _applicationProduct = _arg1; } public function get applicationVersion():String{ return (_version.toString(2)); } public function get applicationProductToken():String{ var _local1:String; _local1 = applicationProduct; if (applicationVersion != ""){ _local1 = (_local1 + ("/" + applicationVersion)); }; return (_local1); } public function get vendorProductToken():String{ var _local1:String; _local1 = ""; if (_localInfo.isAIR()){ _local1 = (_local1 + "AIR"); } else { _local1 = (_local1 + "FlashPlayer"); }; _local1 = (_local1 + "/"); _local1 = (_local1 + _version.toString(3)); return (_local1); } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + applicationProductToken); if (applicationComment != ""){ _local1 = (_local1 + (" " + applicationComment)); }; if (tamarinProductToken != ""){ _local1 = (_local1 + (" " + tamarinProductToken)); }; if (vendorProductToken != ""){ _local1 = (_local1 + (" " + vendorProductToken)); }; return (_local1); } public function get applicationComment():String{ var _local1:Array; _local1 = []; _local1.push(_localInfo.platform); _local1.push(_localInfo.playerType); if (!UserAgent.minimal){ _local1.push(_localInfo.operatingSystem); _local1.push(_localInfo.language); }; if (Capabilities.isDebugger){ _local1.push("DEBUG"); }; if (_local1.length > 0){ return ((("(" + _local1.join("; ")) + ")")); }; return (""); } public function set applicationVersion(_arg1:String):void{ _version = Version.fromString(_arg1); } public function get applicationProduct():String{ return (_applicationProduct); } } }//package com.google.analytics.utils
Section 136
//Variables (com.google.analytics.utils.Variables) package com.google.analytics.utils { import flash.net.*; public dynamic class Variables { public var post:Array; public var URIencode:Boolean; public var pre:Array; public var sort:Boolean;// = true public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){ pre = []; post = []; sort = true; super(); if (_arg1){ decode(_arg1); }; if (_arg2){ this.pre = _arg2; }; if (_arg3){ this.post = _arg3; }; } private function _join(_arg1:Variables):void{ var _local2:String; if (!_arg1){ return; }; for (_local2 in _arg1) { this[_local2] = _arg1[_local2]; }; } public function join(... _args):void{ var _local2:int; var _local3:int; _local2 = _args.length; _local3 = 0; while (_local3 < _local2) { if (!(_args[_local3] is Variables)){ } else { _join(_args[_local3]); }; _local3++; }; } public function toString():String{ var _local1:Array; var _local2:String; var _local3:String; var _local4:String; var _local5:int; var _local6:int; var _local7:String; var _local8:String; _local1 = []; for (_local3 in this) { _local2 = this[_local3]; if (URIencode){ _local2 = encodeURI(_local2); }; _local1.push(((_local3 + "=") + _local2)); }; if (sort){ _local1.sort(); }; if (pre.length > 0){ pre.reverse(); _local5 = 0; while (_local5 < pre.length) { _local7 = pre[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local7) == 0){ _local1.unshift(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; pre.reverse(); }; if (post.length > 0){ _local5 = 0; while (_local5 < post.length) { _local8 = post[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local8) == 0){ _local1.push(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; }; return (_local1.join("&")); } public function decode(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:String; var _local6:Array; var _local7:int; if (_arg1 == ""){ return; }; if (_arg1.indexOf("&") > -1){ _local2 = _arg1.split("&"); } else { _local2 = [_arg1]; }; _local7 = 0; while (_local7 < _local2.length) { _local3 = _local2[_local7]; if (_local3.indexOf("=") > -1){ _local6 = _local3.split("="); _local4 = _local6[0]; _local5 = decodeURI(_local6[1]); this[_local4] = _local5; }; _local7++; }; } public function toURLVariables():URLVariables{ var _local1:URLVariables; var _local2:String; _local1 = new URLVariables(); for (_local2 in this) { _local1[_local2] = this[_local2]; }; return (_local1); } } }//package com.google.analytics.utils
Section 137
//Version (com.google.analytics.utils.Version) package com.google.analytics.utils { public class Version { private var _maxBuild:uint;// = 0xFF private var _maxMinor:uint;// = 15 private var _maxMajor:uint;// = 15 private var _revision:uint; private var _separator:String;// = "." private var _maxRevision:uint;// = 0xFFFF private var _build:uint; private var _minor:uint; private var _major:uint; public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){ var _local5:Version; _maxMajor = 15; _maxMinor = 15; _maxBuild = 0xFF; _maxRevision = 0xFFFF; _separator = "."; super(); if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){ _local5 = Version.fromNumber(_arg1); _arg1 = _local5.major; _arg2 = _local5.minor; _arg3 = _local5.build; _arg4 = _local5.revision; }; this.major = _arg1; this.minor = _arg2; this.build = _arg3; this.revision = _arg4; } public function toString(_arg1:int=0):String{ var _local2:Array; if ((((_arg1 <= 0)) || ((_arg1 > 4)))){ _arg1 = getFields(); }; switch (_arg1){ case 1: _local2 = [major]; break; case 2: _local2 = [major, minor]; break; case 3: _local2 = [major, minor, build]; break; case 4: default: _local2 = [major, minor, build, revision]; }; return (_local2.join(_separator)); } public function get revision():uint{ return (_revision); } public function set build(_arg1:uint):void{ _build = Math.min(_arg1, _maxBuild); } public function set minor(_arg1:uint):void{ _minor = Math.min(_arg1, _maxMinor); } public function get build():uint{ return (_build); } public function set major(_arg1:uint):void{ _major = Math.min(_arg1, _maxMajor); } public function get minor():uint{ return (_minor); } public function valueOf():uint{ return (((((major << 28) | (minor << 24)) | (build << 16)) | revision)); } public function get major():uint{ return (_major); } public function set revision(_arg1:uint):void{ _revision = Math.min(_arg1, _maxRevision); } private function getFields():int{ var _local1:int; _local1 = 4; if (revision == 0){ _local1--; }; if ((((_local1 == 3)) && ((build == 0)))){ _local1--; }; if ((((_local1 == 2)) && ((minor == 0)))){ _local1--; }; return (_local1); } public function equals(_arg1):Boolean{ if (!(_arg1 is Version)){ return (false); }; if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){ return (true); }; return (false); } public static function fromString(_arg1:String="", _arg2:String="."):Version{ var _local3:Version; var _local4:Array; _local3 = new (Version); if ((((_arg1 == "")) || ((_arg1 == null)))){ return (_local3); }; if (_arg1.indexOf(_arg2) > -1){ _local4 = _arg1.split(_arg2); _local3.major = parseInt(_local4[0]); _local3.minor = parseInt(_local4[1]); _local3.build = parseInt(_local4[2]); _local3.revision = parseInt(_local4[3]); } else { _local3.major = parseInt(_arg1); }; return (_local3); } public static function fromNumber(_arg1:Number=0):Version{ var _local2:Version; _local2 = new (Version); if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){ return (_local2); }; _local2.major = (_arg1 >>> 28); _local2.minor = ((_arg1 & 251658240) >>> 24); _local2.build = ((_arg1 & 0xFF0000) >>> 16); _local2.revision = (_arg1 & 0xFFFF); return (_local2); } } }//package com.google.analytics.utils
Section 138
//Bridge (com.google.analytics.v4.Bridge) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.external.*; public class Bridge implements GoogleAnalyticsAPI { private var _debug:DebugConfiguration; private var _proxy:JavascriptProxy; private var _jsContainer:String;// = "_GATracker" private var _hasGATracker:Boolean;// = false private var _account:String; private static var _linkTrackingObject_js:XML = <script> <![CDATA[ function( container , target ) { var targets ; var name ; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } window[container][target] = ref[name] ; } ]]> </script> ; private static var _createTrackingObject_js:XML = <script> <![CDATA[ function( acct ) { _GATracker[acct] = _gat._getTracker(acct); } ]]> </script> ; private static var _injectTrackingObject_js:XML = <script> <![CDATA[ function() { try { _GATracker } catch(e) { _GATracker = {}; } } ]]> </script> ; private static var _checkGAJS_js:XML = <script> <![CDATA[ function() { if( _gat && _gat._getTracker ) { return true; } return false; } ]]> </script> ; private static var _checkValidTrackingObject_js:XML = <script> <![CDATA[ function(acct) { if( _GATracker[acct] && (_GATracker[acct]._getAccount) ) { return true ; } else { return false; } } ]]> </script> ; public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){ var _local4:String; var _local5:String; var _local6:String; _hasGATracker = false; _jsContainer = "_GATracker"; super(); _account = _arg1; _debug = _arg2; _proxy = _arg3; if (!_checkGAJS()){ _local4 = ""; _local4 = (_local4 + "ga.js not found, be sure to check if\n"); _local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n"); _local4 = (_local4 + "is included in the HTML."); _debug.warning(_local4); throw (new Error(_local4)); }; if (!_hasGATracker){ if (((_debug.javascript) && (_debug.verbose))){ _local5 = ""; _local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n"); _local5 = (_local5 + "we create it"); _debug.info(_local5, VisualDebugMode.advanced); }; _injectTrackingObject(); }; if (Utils.validateAccount(_arg1)){ _createTrackingObject(_arg1); } else { if (_checkTrackingObject(_arg1)){ _linkTrackingObject(_arg1); } else { _local6 = ""; _local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n")); _local6 = (_local6 + "Bridge object not created."); _debug.warning(_local6); throw (new Error(_local6)); }; }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )")); _call("_link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _call("_addOrganic", _arg1); } public function setAllowLinker(_arg1:Boolean):void{ _debug.info((("setAllowLinker( " + _arg1) + " )")); _call("_setAllowLinker", _arg1); } private function _linkTrackingObject(_arg1:String):void{ _proxy.call(_linkTrackingObject_js, _jsContainer, _arg1); } public function setClientInfo(_arg1:Boolean):void{ _debug.info((("setClientInfo( " + _arg1) + " )")); _call("_setClientInfo", _arg1); } public function trackTrans():void{ _debug.info("trackTrans()"); _call("_trackTrans"); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var _local5:int; _local5 = 2; if (((_arg3) && (!((_arg3 == ""))))){ _local5 = 3; }; if ((((_local5 == 3)) && (!(isNaN(_arg4))))){ _local5 = 4; }; switch (_local5){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4)); case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3)); case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2)); }; } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); _call("_trackPageview", _arg1); } public function setCookieTimeout(_arg1:int):void{ _debug.info((("setCookieTimeout( " + _arg1) + " )")); _call("_setCookieTimeout", _arg1); } private function _checkValidTrackingObject(_arg1:String):Boolean{ return (_proxy.call(_checkValidTrackingObject_js, _arg1)); } private function _checkGAJS():Boolean{ return (_proxy.call(_checkGAJS_js)); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented")); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_call("_getClientInfo")); } private function _call(_arg1:String, ... _args){ _args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1)); return (_proxy.call.apply(_proxy, _args)); } public function hasGAJS():Boolean{ return (_checkGAJS()); } private function _checkTrackingObject(_arg1:String):Boolean{ var _local2:Boolean; var _local3:Boolean; _local2 = _proxy.hasProperty(_arg1); _local3 = _proxy.hasProperty((_arg1 + "._getAccount")); return (((_local2) && (_local3))); } public function resetSession():void{ _debug.warning("resetSession() not implemented"); } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_call("_getDetectTitle")); } public function setDetectFlash(_arg1:Boolean):void{ _debug.info((("setDetectFlash( " + _arg1) + " )")); _call("_setDetectFlash", _arg1); } public function setCampNameKey(_arg1:String):void{ _debug.info((("setCampNameKey( " + _arg1) + " )")); _call("_setCampNameKey", _arg1); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )")); _call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _call("_clearIgnoreOrganic"); } public function setVar(_arg1:String):void{ _debug.info((("setVar( " + _arg1) + " )")); _call("_setVar", _arg1); } public function setDomainName(_arg1:String):void{ _debug.info((("setDomainName( " + _arg1) + " )")); _call("_setDomainName", _arg1); } public function hasTrackingAccount(_arg1:String):Boolean{ if (Utils.validateAccount(_arg1)){ return (_checkValidTrackingObject(_arg1)); }; return (_checkTrackingObject(_arg1)); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ _debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )")); _call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); return (null); } public function setCampSourceKey(_arg1:String):void{ _debug.info((("setCampSourceKey( " + _arg1) + " )")); _call("_setCampSourceKey", _arg1); } public function setCampContentKey(_arg1:String):void{ _debug.info((("setCampContentKey( " + _arg1) + " )")); _call("_setCampContentKey", _arg1); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _call("_clearIgnoreRef"); } public function setLocalServerMode():void{ _debug.info("setLocalServerMode()"); _call("_setLocalServerMode"); } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_call("_getLocalGifPath")); } public function setAllowAnchor(_arg1:Boolean):void{ _debug.info((("setAllowAnchor( " + _arg1) + " )")); _call("_setAllowAnchor", _arg1); } public function setLocalGifPath(_arg1:String):void{ _debug.info((("setLocalGifPath( " + _arg1) + " )")); _call("_setLocalGifPath", _arg1); } public function getVersion():String{ _debug.info("getVersion()"); return (_call("_getVersion")); } private function _injectTrackingObject():void{ _proxy.executeBlock(_injectTrackingObject_js); _hasGATracker = true; } public function setCookiePath(_arg1:String):void{ _debug.info((("setCookiePath( " + _arg1) + " )")); _call("_setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ _debug.info((("setSampleRate( " + _arg1) + " )")); _call("_setSampleRate", _arg1); } public function setAllowHash(_arg1:Boolean):void{ _debug.info((("setAllowHash( " + _arg1) + " )")); _call("_setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _call("_addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ _debug.info((("setCampNOKey( " + _arg1) + " )")); _call("_setCampNOKey", _arg1); } public function cookiePathCopy(_arg1:String):void{ _debug.info((("cookiePathCopy( " + _arg1) + " )")); _call("_cookiePathCopy", _arg1); } public function setLocalRemoteServerMode():void{ _debug.info("setLocalRemoteServerMode()"); _call("_setLocalRemoteServerMode"); } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_call("_getServiceMode")); } public function setDetectTitle(_arg1:Boolean):void{ _debug.info((("setDetectTitle( " + _arg1) + " )")); _call("_setDetectTitle", _arg1); } public function setCampTermKey(_arg1:String):void{ _debug.info((("setCampTermKey( " + _arg1) + " )")); _call("_setCampTermKey", _arg1); } private function _createTrackingObject(_arg1:String):void{ _proxy.call(_createTrackingObject_js, _arg1); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_call("_getDetectFlash")); } public function setCampaignTrack(_arg1:Boolean):void{ _debug.info((("setCampaignTrack( " + _arg1) + " )")); _call("_setCampaignTrack", _arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _call("_clearOrganic"); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _call("_addIgnoredRef", _arg1); } public function setCampMediumKey(_arg1:String):void{ _debug.info((("setCampMediumKey( " + _arg1) + " )")); _call("_setCampMediumKey", _arg1); } public function setSessionTimeout(_arg1:int):void{ _debug.info((("setSessionTimeout( " + _arg1) + " )")); _call("_setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ _debug.info("setRemoteServerMode()"); _call("_setRemoteServerMode"); } public function getAccount():String{ _debug.info("getAccount()"); return (_call("_getAccount")); } } }//package com.google.analytics.v4
Section 139
//Configuration (com.google.analytics.v4.Configuration) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.utils.*; import com.google.analytics.campaign.*; public class Configuration { public var serverMode:ServerOperationMode; public var detectFlash:Boolean;// = true public var allowLocalTracking:Boolean;// = true public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif" public var hasSiteOverlay:Boolean;// = false private var _version:String;// = "4.3as" public var allowDomainHash:Boolean;// = true public var detectClientInfo:Boolean;// = true public var idleLoop:Number;// = 30 public var isTrackOutboundSubdomains:Boolean;// = false public var cookiePath:String;// = "/" public var transactionFieldDelim:String;// = "|" private var _organic:Organic; private var _cookieName:String;// = "analytics" public var campaignKey:CampaignKey; public var google:String;// = "google" public var googleCsePath:String;// = "cse" public var bucketCapacity:Number;// = 10 private var _sampleRate:Number;// = 1 public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif" public var googleSearchParam:String;// = "q" public var allowLinker:Boolean;// = false public var maxOutboundLinkExamined:Number;// = 1000 private var _debug:DebugConfiguration; private var _trackingLimitPerSession:int;// = 500 private var _domain:Domain; public var allowAnchor:Boolean;// = false public var tokenCliff:int;// = 10 public var sessionTimeout:Number; public var idleTimeout:Number;// = 60 public var campaignTracking:Boolean;// = true public var domainName:String;// = "" public var detectTitle:Boolean;// = true public var tokenRate:Number;// = 0.2 public var conversionTimeout:Number; public var localGIFpath:String;// = "/__utm.gif" public function Configuration(_arg1:DebugConfiguration=null){ _version = "4.3as"; _sampleRate = 1; _trackingLimitPerSession = 500; _organic = new Organic(); googleCsePath = "cse"; googleSearchParam = "q"; google = "google"; _cookieName = "analytics"; allowDomainHash = true; allowAnchor = false; allowLinker = false; hasSiteOverlay = false; tokenRate = 0.2; conversionTimeout = Timespan.sixmonths; sessionTimeout = Timespan.thirtyminutes; idleLoop = 30; idleTimeout = 60; maxOutboundLinkExamined = 1000; tokenCliff = 10; bucketCapacity = 10; detectClientInfo = true; detectFlash = true; detectTitle = true; campaignKey = new CampaignKey(); campaignTracking = true; isTrackOutboundSubdomains = false; serverMode = ServerOperationMode.remote; localGIFpath = "/__utm.gif"; remoteGIFpath = "http://www.google-analytics.com/__utm.gif"; secureRemoteGIFpath = "https://ssl.google-analytics.com/__utm.gif"; cookiePath = "/"; transactionFieldDelim = "|"; domainName = ""; allowLocalTracking = true; super(); _debug = _arg1; _domain = new Domain(DomainNameMode.auto, "", _debug); serverMode = ServerOperationMode.remote; _initOrganicSources(); } public function get organic():Organic{ return (_organic); } public function get trackingLimitPerSession():int{ return (_trackingLimitPerSession); } private function _initOrganicSources():void{ addOrganicSource(google, googleSearchParam); addOrganicSource("yahoo", "p"); addOrganicSource("msn", "q"); addOrganicSource("aol", "query"); addOrganicSource("aol", "encquery"); addOrganicSource("lycos", "query"); addOrganicSource("ask", "q"); addOrganicSource("altavista", "q"); addOrganicSource("netscape", "query"); addOrganicSource("cnn", "query"); addOrganicSource("looksmart", "qt"); addOrganicSource("about", "terms"); addOrganicSource("mamma", "query"); addOrganicSource("alltheweb", "q"); addOrganicSource("gigablast", "q"); addOrganicSource("voila", "rdata"); addOrganicSource("virgilio", "qs"); addOrganicSource("live", "q"); addOrganicSource("baidu", "wd"); addOrganicSource("alice", "qs"); addOrganicSource("yandex", "text"); addOrganicSource("najdi", "q"); addOrganicSource("aol", "q"); addOrganicSource("club-internet", "q"); addOrganicSource("mama", "query"); addOrganicSource("seznam", "q"); addOrganicSource("search", "q"); addOrganicSource("wp", "szukaj"); addOrganicSource("onet", "qt"); addOrganicSource("netsprint", "q"); addOrganicSource("google.interia", "q"); addOrganicSource("szukacz", "q"); addOrganicSource("yam", "k"); addOrganicSource("pchome", "q"); addOrganicSource("kvasir", "searchExpr"); addOrganicSource("sesam", "q"); addOrganicSource("ozu", "q"); addOrganicSource("terra", "query"); addOrganicSource("nostrum", "query"); addOrganicSource("mynet", "q"); addOrganicSource("ekolay", "q"); addOrganicSource("search.ilse", "search_for"); } public function get sampleRate():Number{ return (_sampleRate); } public function get cookieName():String{ return (_cookieName); } public function addOrganicSource(_arg1:String, _arg2:String):void{ var engine = _arg1; var keyword = _arg2; try { _organic.addSource(engine, keyword); } catch(e:Error) { if (((_debug) && (_debug.active))){ _debug.warning(e.message); }; }; } public function get domain():Domain{ return (_domain); } public function set sampleRate(_arg1:Number):void{ if (_arg1 <= 0){ _arg1 = 0.1; }; if (_arg1 > 1){ _arg1 = 1; }; _arg1 = Number(_arg1.toFixed(2)); _sampleRate = _arg1; } public function get version():String{ return (_version); } } }//package com.google.analytics.v4
Section 140
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI) package com.google.analytics.v4 { import com.google.analytics.core.*; public interface GoogleAnalyticsAPI { function getServiceMode():ServerOperationMode; function setLocalRemoteServerMode():void; function setCampSourceKey(_arg1:String):void; function setCampContentKey(_arg1:String):void; function addOrganic(_arg1:String, _arg2:String):void; function setDetectFlash(_arg1:Boolean):void; function resetSession():void; function setCampTermKey(_arg1:String):void; function setCampNameKey(_arg1:String):void; function addIgnoredOrganic(_arg1:String):void; function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void; function setAllowLinker(_arg1:Boolean):void; function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object; function getDetectFlash():Boolean; function setCampaignTrack(_arg1:Boolean):void; function createEventTracker(_arg1:String):EventTracker; function setCookieTimeout(_arg1:int):void; function setAllowAnchor(_arg1:Boolean):void; function trackTrans():void; function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean; function trackPageview(_arg1:String=""):void; function setLocalGifPath(_arg1:String):void; function getVersion():String; function getLocalGifPath():String; function setVar(_arg1:String):void; function clearIgnoredOrganic():void; function setCampMediumKey(_arg1:String):void; function addIgnoredRef(_arg1:String):void; function setClientInfo(_arg1:Boolean):void; function setCookiePath(_arg1:String):void; function setSampleRate(_arg1:Number):void; function setSessionTimeout(_arg1:int):void; function setRemoteServerMode():void; function clearIgnoredRef():void; function linkByPost(_arg1:Object, _arg2:Boolean=false):void; function setLocalServerMode():void; function setDetectTitle(_arg1:Boolean):void; function setAllowHash(_arg1:Boolean):void; function clearOrganic():void; function getAccount():String; function setDomainName(_arg1:String):void; function link(_arg1:String, _arg2:Boolean=false):void; function setCampNOKey(_arg1:String):void; function getClientInfo():Boolean; function cookiePathCopy(_arg1:String):void; function getDetectTitle():Boolean; } }//package com.google.analytics.v4
Section 141
//Tracker (com.google.analytics.v4.Tracker) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.utils.*; import com.google.analytics.data.*; import com.google.analytics.external.*; import com.google.analytics.campaign.*; public class Tracker implements GoogleAnalyticsAPI { private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3; private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1; private const EVENT_TRACKER_PROJECT_ID:int = 5; private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1; private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2; private var _adSense:AdSenseGlobals; private var _eventTracker:X10; private var _noSessionInformation:Boolean;// = false private var _browserInfo:BrowserInfo; private var _debug:DebugConfiguration; private var _isNewVisitor:Boolean;// = false private var _buffer:Buffer; private var _config:Configuration; private var _x10Module:X10; private var _campaign:CampaignManager; private var _formatedReferrer:String; private var _timeStamp:Number; private var _info:Environment; private var _domainHash:Number; private var _campaignInfo:CampaignInfo; private var _gifRequest:GIFRequest; private var _hasInitData:Boolean;// = false private var _account:String; public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals){ var _local8:String; _hasInitData = false; _isNewVisitor = false; _noSessionInformation = false; super(); _account = _arg1; _config = _arg2; _debug = _arg3; _info = _arg4; _buffer = _arg5; _gifRequest = _arg6; _adSense = _arg7; if (!Utils.validateAccount(_arg1)){ _local8 = (("Account \"" + _arg1) + "\" is not valid."); _debug.warning(_local8); throw (new Error(_local8)); }; _initData(); } private function _doTracking():Boolean{ if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){ return (true); }; if (_config.allowLocalTracking){ return (true); }; return (false); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _config.organic.addSource(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _config.allowLinker = _arg1; _debug.info((("setAllowLinker( " + _config.allowLinker) + " )")); } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); if (_doTracking()){ _initData(); _trackMetrics(_arg1); _noSessionInformation = false; } else { _debug.warning((("trackPageview( " + _arg1) + " ) failed")); }; } public function setCookieTimeout(_arg1:int):void{ _config.conversionTimeout = _arg1; _debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )")); } public function trackTrans():void{ _debug.warning("trackTrans() not implemented"); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var _local5:Boolean; var _local6:int; _local5 = true; _local6 = 2; if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){ _eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID); _eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2); if (((_arg3) && (!((_arg3 == ""))))){ _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3); _local6 = 3; if (!isNaN(_arg4)){ _local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4); _local6 = 4; }; }; if (_local5){ _debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _sendXEvent(_eventTracker); }; } else { _debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _local5 = false; }; switch (_local6){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); break; case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); break; case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); }; return (_local5); } public function setClientInfo(_arg1:Boolean):void{ _config.detectClientInfo = _arg1; _debug.info((("setClientInfo( " + _config.detectClientInfo) + " )")); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning((("linkByPost( " + [_arg1, _arg2].join(", ")) + " ) not implemented")); } private function _initData():void{ var _local1:String; var _local2:String; if (!_hasInitData){ _updateDomainName(); _domainHash = _getDomainHash(); _timeStamp = Math.round((new Date().getTime() / 1000)); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "_initData 0"); _local1 = (_local1 + ("\ndomain name: " + _config.domainName)); _local1 = (_local1 + ("\ndomain hash: " + _domainHash)); _local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_doTracking()){ _handleCookie(); }; if (!_hasInitData){ if (_doTracking()){ _formatedReferrer = _formatReferrer(); _browserInfo = new BrowserInfo(_config, _info); _debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced); if (_config.campaignTracking){ _campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp); _campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation); _debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced); }; }; _x10Module = new X10(); _eventTracker = new X10(); _hasInitData = true; }; if (_config.hasSiteOverlay){ _debug.warning("Site Overlay is not supported"); }; if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "_initData (misc)"); _local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4))); _local2 = (_local2 + ("\nprotocol: " + _info.protocol)); _local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\"")); _local2 = (_local2 + ("\nlanguage: " + _info.language)); _local2 = (_local2 + ("\ndomain hash: " + _getDomainHash())); _local2 = (_local2 + ("\nuser-agent: " + _info.userAgent)); _debug.info(_local2, VisualDebugMode.geek); }; } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_config.detectTitle); } public function resetSession():void{ _debug.info("resetSession()"); _buffer.resetCurrentSession(); } private function _sendXEvent(_arg1:X10=null):void{ var _local2:Variables; var _local3:EventInfo; var _local4:Variables; var _local5:Variables; _initData(); if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; _local3 = new EventInfo(true, _x10Module, _arg1); _local4 = _local3.toVariables(); _local5 = _renderMetricsSearchVariables(); _local2.join(_local4, _local5); _gifRequest.send(_account, _local2, false, true); }; } public function setDetectFlash(_arg1:Boolean):void{ _config.detectFlash = _arg1; _debug.info((("setDetectFlash( " + _config.detectFlash) + " )")); } public function setCampNameKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCCN = _arg1; _local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCN]")); } else { _debug.info(_local2); }; } private function _formatReferrer():String{ var _local1:String; var _local2:String; var _local3:URL; var _local4:URL; _local1 = _info.referrer; if ((((_local1 == "")) || ((_local1 == "localhost")))){ _local1 = "-"; } else { _local2 = _info.domainName; _local3 = new URL(_local1); _local4 = new URL(("http://" + _local2)); if (_local3.hostName == _local2){ return ("-"); }; if (_local4.domain == _local3.domain){ if (_local4.subDomain != _local3.subDomain){ _local1 = "0"; }; }; if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){ _local1 = "-"; }; }; _debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced); return (_local1); } private function _visitCode():Number{ if (_debug.verbose){ _debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek); }; return (_buffer.utma.sessionId); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _debug.warning((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " ) not implemented")); } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _config.organic.clearIgnoredKeywords(); } public function setVar(_arg1:String):void{ var _local2:Variables; if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){ _initData(); _buffer.utmv.domainHash = _domainHash; _buffer.utmv.value = _arg1; if (_debug.verbose){ _debug.info(_buffer.utmv.toString(), VisualDebugMode.geek); }; _debug.info((("setVar( " + _arg1) + " )")); if (_takeSample()){ _local2 = new Variables(); _local2.utmt = "var"; _gifRequest.send(_account, _local2); }; } else { _debug.warning((("setVar \"" + _arg1) + "\" is ignored")); }; } public function setDomainName(_arg1:String):void{ if (_arg1 == "auto"){ _config.domain.mode = DomainNameMode.auto; } else { if (_arg1 == "none"){ _config.domain.mode = DomainNameMode.none; } else { _config.domain.mode = DomainNameMode.custom; _config.domain.name = _arg1; }; }; _updateDomainName(); _debug.info((("setDomainName( " + _config.domainName) + " )")); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_config.detectClientInfo); } private function _updateDomainName():void{ var _local1:String; if (_config.domain.mode == DomainNameMode.auto){ _local1 = _info.domainName; if (_local1.substring(0, 4) == "www."){ _local1 = _local1.substring(4); }; _config.domain.name = _local1; }; _config.domainName = _config.domain.name.toLowerCase(); _debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ _debug.warning((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " ) not implemented")); return (null); } public function setCampContentKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCCT = _arg1; _local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCT]")); } else { _debug.info(_local2); }; } private function _handleCookie():void{ var _local1:String; var _local2:String; var _local3:Array; var _local4:String; if (_config.allowLinker){ }; if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){ if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){ _buffer.updateUTMA(_timeStamp); _noSessionInformation = true; }; if (_debug.verbose){ _debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek); }; } else { _debug.info("create a new utma", VisualDebugMode.advanced); _buffer.utma.domainHash = _domainHash; _buffer.utma.sessionId = _getUniqueSessionId(); _buffer.utma.firstTime = _timeStamp; _buffer.utma.lastTime = _timeStamp; _buffer.utma.currentTime = _timeStamp; _buffer.utma.sessionCount = 1; if (_debug.verbose){ _debug.info(_buffer.utma.toString(), VisualDebugMode.geek); }; _noSessionInformation = true; _isNewVisitor = true; }; if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){ if (_adSense.sid){ _buffer.utma.currentTime = Number(_adSense.sid); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "AdSense sid found\n"); _local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_isNewVisitor){ if (_adSense.sid){ _buffer.utma.lastTime = Number(_adSense.sid); if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "AdSense sid found (new visitor)\n"); _local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local2, VisualDebugMode.geek); }; }; if (_adSense.vid){ _local3 = _adSense.vid.split("."); _buffer.utma.sessionId = Number(_local3[0]); _buffer.utma.firstTime = Number(_local3[1]); if (_debug.verbose){ _local4 = ""; _local4 = (_local4 + "AdSense vid found (new visitor)\n"); _local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n")); _local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")")); _debug.info(_local4, VisualDebugMode.geek); }; }; if (_debug.verbose){ _debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek); }; }; }; _buffer.utmb.domainHash = _domainHash; if (isNaN(_buffer.utmb.trackCount)){ _buffer.utmb.trackCount = 0; }; if (isNaN(_buffer.utmb.token)){ _buffer.utmb.token = _config.tokenCliff; }; if (isNaN(_buffer.utmb.lastTime)){ _buffer.utmb.lastTime = _buffer.utma.currentTime; }; _buffer.utmc.domainHash = _domainHash; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced); _debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced); }; } public function setLocalServerMode():void{ _config.serverMode = ServerOperationMode.local; _debug.info("setLocalServerMode()"); } private function _renderMetricsSearchVariables(_arg1:String=""):Variables{ var _local2:Variables; var _local3:DocumentInfo; var _local4:Variables; var _local5:Variables; _local2 = new Variables(); _local2.URIencode = true; _local3 = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense); _debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek); if (_config.campaignTracking){ _local4 = _campaignInfo.toVariables(); }; _local5 = _browserInfo.toVariables(); _local2.join(_local3.toVariables(), _local5, _local4); return (_local2); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _config.organic.clearIgnoredReferrals(); } public function setCampSourceKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCSR = _arg1; _local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCSR]")); } else { _debug.info(_local2); }; } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_config.localGIFpath); } public function setLocalGifPath(_arg1:String):void{ _config.localGIFpath = _arg1; _debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )")); } public function getVersion():String{ _debug.info("getVersion()"); return (_config.version); } public function setAllowAnchor(_arg1:Boolean):void{ _config.allowAnchor = _arg1; _debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )")); } private function _isNotGoogleSearch():Boolean{ var _local1:String; var _local2:Boolean; var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; _local1 = _config.domainName; _local2 = (_local1.indexOf("www.google.") < 0); _local3 = (_local1.indexOf(".google.") < 0); _local4 = (_local1.indexOf("google.") < 0); _local5 = (_local1.indexOf("google.org") > -1); return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5))); } public function setSampleRate(_arg1:Number):void{ if (_arg1 < 0){ _debug.warning("sample rate can not be negative, ignoring value."); } else { _config.sampleRate = _arg1; }; _debug.info((("setSampleRate( " + _config.sampleRate) + " )")); } private function _takeSample():Boolean{ if (_debug.verbose){ _debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek); }; return (((_visitCode() % 10000) < (_config.sampleRate * 10000))); } public function setCookiePath(_arg1:String):void{ _config.cookiePath = _arg1; _debug.info((("setCookiePath( " + _config.cookiePath) + " )")); } public function setAllowHash(_arg1:Boolean):void{ _config.allowDomainHash = _arg1; _debug.info((("setAllowHash( " + _config.allowDomainHash) + " )")); } private function _generateUserDataHash():Number{ var _local1:String; _local1 = ""; _local1 = (_local1 + _info.appName); _local1 = (_local1 + _info.appVersion); _local1 = (_local1 + _info.language); _local1 = (_local1 + _info.platform); _local1 = (_local1 + _info.userAgent.toString()); _local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth)); _local1 = (_local1 + _info.referrer); return (Utils.generateHash(_local1)); } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _config.organic.addIgnoredKeyword(_arg1); } public function setLocalRemoteServerMode():void{ _config.serverMode = ServerOperationMode.both; _debug.info("setLocalRemoteServerMode()"); } public function cookiePathCopy(_arg1:String):void{ _debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented")); } public function setDetectTitle(_arg1:Boolean):void{ _config.detectTitle = _arg1; _debug.info((("setDetectTitle( " + _config.detectTitle) + " )")); } public function setCampTermKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCTR = _arg1; _local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCTR]")); } else { _debug.info(_local2); }; } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_config.serverMode); } public function setCampNOKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCNO = _arg1; _local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCNO]")); } else { _debug.info(_local2); }; } private function _trackMetrics(_arg1:String=""):void{ var _local2:Variables; var _local3:Variables; var _local4:Variables; var _local5:EventInfo; if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; if (((_x10Module) && (_x10Module.hasData()))){ _local5 = new EventInfo(false, _x10Module); _local3 = _local5.toVariables(); }; _local4 = _renderMetricsSearchVariables(_arg1); _local2.join(_local3, _local4); _gifRequest.send(_account, _local2); }; } public function setCampaignTrack(_arg1:Boolean):void{ _config.campaignTracking = _arg1; _debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )")); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _config.organic.addIgnoredReferral(_arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _config.organic.clearEngines(); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_config.detectFlash); } public function setCampMediumKey(_arg1:String):void{ var _local2:String; _config.campaignKey.UCMD = _arg1; _local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCMD]")); } else { _debug.info(_local2); }; } private function _getUniqueSessionId():Number{ var _local1:Number; _local1 = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647); _debug.info(("Session ID: " + _local1), VisualDebugMode.geek); return (_local1); } private function _getDomainHash():Number{ if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){ _config.domainName = ""; return (1); }; _updateDomainName(); if (_config.allowDomainHash){ return (Utils.generateHash(_config.domainName)); }; return (1); } public function setSessionTimeout(_arg1:int):void{ _config.sessionTimeout = _arg1; _debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )")); } public function getAccount():String{ _debug.info("getAccount()"); return (_account); } public function link(_arg1:String, _arg2:Boolean=false):void{ _debug.warning((("link( " + [_arg1, _arg2].join(", ")) + " ) not implemented")); } public function setRemoteServerMode():void{ _config.serverMode = ServerOperationMode.remote; _debug.info("setRemoteServerMode()"); } } }//package com.google.analytics.v4
Section 142
//AnalyticsTracker (com.google.analytics.AnalyticsTracker) package com.google.analytics { import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.events.*; public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher { function set config(_arg1:Configuration):void; function isReady():Boolean; function get mode():String; function set debug(_arg1:DebugConfiguration):void; function get account():String; function set mode(_arg1:String):void; function get config():Configuration; function get debug():DebugConfiguration; function set account(_arg1:String):void; function get visualDebug():Boolean; function set visualDebug(_arg1:Boolean):void; } }//package com.google.analytics
Section 143
//API (com.google.analytics.API) package com.google.analytics { import com.google.analytics.utils.*; public class API { public static var version:Version = new Version(); version.major = 1; version.minor = 0; version.build = 1; version.revision = "$Rev: 234 $ ".split(" ")[1]; } }//package com.google.analytics
Section 144
//GATracker (com.google.analytics.GATracker) package com.google.analytics { import com.google.analytics.core.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import com.google.analytics.utils.*; import flash.events.*; import flash.display.*; import com.google.analytics.external.*; import com.google.analytics.events.*; public class GATracker implements AnalyticsTracker { private var _adSense:AdSenseGlobals; private var _env:Environment; private var _visualDebug:Boolean; private var _idleTimer:IdleTimer; private var _debug:DebugConfiguration; private var _buffer:Buffer; private var _config:Configuration; private var _mode:String; private var _display:DisplayObject; private var _jsproxy:JavascriptProxy; private var _dom:HTMLDOM; private var _eventDispatcher:EventDispatcher; private var _ready:Boolean;// = false private var _gifRequest:GIFRequest; private var _account:String; private var _tracker:GoogleAnalyticsAPI; public static var version:Version = API.version; public static var autobuild:Boolean = true; public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){ _ready = false; super(); _display = _arg1; _eventDispatcher = new EventDispatcher(this); _tracker = new TrackerCache(); this.account = _arg2; this.mode = _arg3; this.visualDebug = _arg4; if (!_arg6){ this.debug = new DebugConfiguration(); }; if (!_arg5){ this.config = new Configuration(_arg6); }; if (autobuild){ _factory(); }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _tracker.link(_arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _tracker.addOrganic(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _tracker.setAllowLinker(_arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4)); } public function setCookieTimeout(_arg1:int):void{ _tracker.setCookieTimeout(_arg1); } public function trackTrans():void{ _tracker.trackTrans(); } public function trackPageview(_arg1:String=""):void{ _tracker.trackPageview(_arg1); } public function getClientInfo():Boolean{ return (_tracker.getClientInfo()); } public function setClientInfo(_arg1:Boolean):void{ _tracker.setClientInfo(_arg1); } public function get account():String{ return (_account); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _tracker.linkByPost(_arg1, _arg2); } public function getDetectTitle():Boolean{ return (_tracker.getDetectTitle()); } public function dispatchEvent(_arg1:Event):Boolean{ return (_eventDispatcher.dispatchEvent(_arg1)); } public function get config():Configuration{ return (_config); } public function set mode(_arg1:String):void{ _mode = _arg1; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } public function setDetectFlash(_arg1:Boolean):void{ _tracker.setDetectFlash(_arg1); } public function resetSession():void{ _tracker.resetSession(); } public function setCampNameKey(_arg1:String):void{ _tracker.setCampNameKey(_arg1); } public function get debug():DebugConfiguration{ return (_debug); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } private function _bridgeFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account)); return (new Bridge(account, _debug, _jsproxy)); } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function clearIgnoredOrganic():void{ _tracker.clearIgnoredOrganic(); } public function set account(_arg1:String):void{ _account = _arg1; } public function setVar(_arg1:String):void{ _tracker.setVar(_arg1); } public function build():void{ if (!isReady()){ _factory(); }; } public function setDomainName(_arg1:String):void{ _tracker.setDomainName(_arg1); } public function createEventTracker(_arg1:String):EventTracker{ return (_tracker.createEventTracker(_arg1)); } public function set config(_arg1:Configuration):void{ _config = _arg1; } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8)); } public function setCampSourceKey(_arg1:String):void{ _tracker.setCampSourceKey(_arg1); } public function setCampContentKey(_arg1:String):void{ _tracker.setCampContentKey(_arg1); } public function willTrigger(_arg1:String):Boolean{ return (_eventDispatcher.willTrigger(_arg1)); } public function setLocalServerMode():void{ _tracker.setLocalServerMode(); } public function isReady():Boolean{ return (_ready); } public function getLocalGifPath():String{ return (_tracker.getLocalGifPath()); } public function setAllowAnchor(_arg1:Boolean):void{ _tracker.setAllowAnchor(_arg1); } public function clearIgnoredRef():void{ _tracker.clearIgnoredRef(); } public function get mode():String{ return (_mode); } public function set debug(_arg1:DebugConfiguration):void{ _debug = _arg1; } public function setLocalGifPath(_arg1:String):void{ _tracker.setLocalGifPath(_arg1); } public function getVersion():String{ return (_tracker.getVersion()); } public function setSampleRate(_arg1:Number):void{ _tracker.setSampleRate(_arg1); } public function setCookiePath(_arg1:String):void{ _tracker.setCookiePath(_arg1); } public function setAllowHash(_arg1:Boolean):void{ _tracker.setAllowHash(_arg1); } public function setCampNOKey(_arg1:String):void{ _tracker.setCampNOKey(_arg1); } public function addIgnoredOrganic(_arg1:String):void{ _tracker.addIgnoredOrganic(_arg1); } public function setLocalRemoteServerMode():void{ _tracker.setLocalRemoteServerMode(); } public function cookiePathCopy(_arg1:String):void{ _tracker.cookiePathCopy(_arg1); } private function _factory():void{ var _local1:GoogleAnalyticsAPI; var _local2:TrackerCache; _jsproxy = new JavascriptProxy(debug); if (visualDebug){ debug.layout = new Layout(debug, _display); debug.active = visualDebug; }; _local2 = (_tracker as TrackerCache); switch (mode){ case TrackerMode.BRIDGE: _local1 = _bridgeFactory(); break; case TrackerMode.AS3: default: _local1 = _trackerFactory(); }; if (!_local2.isEmpty()){ _local2.tracker = _local1; _local2.flush(); }; _tracker = _local1; _ready = true; dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this)); } public function setCampTermKey(_arg1:String):void{ _tracker.setCampTermKey(_arg1); } private function _trackerFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account)); _adSense = new AdSenseGlobals(debug); _dom = new HTMLDOM(debug); _dom.cacheProperties(); _env = new Environment("", "", "", debug, _dom); _buffer = new Buffer(config, debug, false); _gifRequest = new GIFRequest(config, debug, _buffer, _env); _idleTimer = new IdleTimer(config, debug, _display, _buffer); _env.url = _display.stage.loaderInfo.url; return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense)); } public function setDetectTitle(_arg1:Boolean):void{ _tracker.setDetectTitle(_arg1); } public function getServiceMode():ServerOperationMode{ return (_tracker.getServiceMode()); } public function clearOrganic():void{ _tracker.clearOrganic(); } public function setCampaignTrack(_arg1:Boolean):void{ _tracker.setCampaignTrack(_arg1); } public function addIgnoredRef(_arg1:String):void{ _tracker.addIgnoredRef(_arg1); } public function set visualDebug(_arg1:Boolean):void{ _visualDebug = _arg1; } public function setCampMediumKey(_arg1:String):void{ _tracker.setCampMediumKey(_arg1); } public function setSessionTimeout(_arg1:int):void{ _tracker.setSessionTimeout(_arg1); } public function getDetectFlash():Boolean{ return (_tracker.getDetectFlash()); } public function get visualDebug():Boolean{ return (_visualDebug); } public function getAccount():String{ return (_tracker.getAccount()); } public function hasEventListener(_arg1:String):Boolean{ return (_eventDispatcher.hasEventListener(_arg1)); } public function setRemoteServerMode():void{ _tracker.setRemoteServerMode(); } } var _local1:* = ServerOperationMode; return (_local1); }//package com.google.analytics
Section 145
//DrawSine (com.midasplayer.extras.DrawSine) package com.midasplayer.extras { import flash.display.*; public class DrawSine extends MovieClip { private var target_mc:MovieClip; private var step_x:Number; private var my_height:Number; private var stroke_color:Number;// = 0 private var draw_fill:Boolean;// = false private var stroke_weight:Number;// = 1 private var fill_alpha:Number; private var fill_height:Number; private var draw_array; private var steps:Number; private var fill_color:Number;// = 0xFF0000 private var my_width:Number; public function DrawSine(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number){ draw_array = new Array(); super(); target_mc = _arg1; my_width = _arg2; my_height = _arg3; steps = _arg4; step_x = (_arg2 / steps); var _local5:* = 0; while (_local5 < steps) { draw_array.push({x:(step_x * _local5), y:0}); _local5++; }; } public function set_fill(_arg1:Boolean, _arg2:Number, _arg3:Number):void{ draw_fill = _arg1; fill_color = (stroke_color = _arg2); fill_alpha = _arg3; } public function set_stroke(_arg1:Number, _arg2:Number):void{ stroke_weight = _arg1; stroke_color = _arg2; } public function draw_waves(_arg1:Array):void{ var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local2:* = draw_array.length; var _local3:* = _arg1.length; var _local4:* = 0; while (_local4 < _local3) { _local6 = (((_arg1[_local4].cycles * Math.PI) * 2) / steps); _local7 = 0; while (_local7 < _local2) { if (_local4 == 0){ draw_array[_local7].y = (Math.sin((_arg1[_local4].phase + (_local6 * _local7))) * _arg1[_local4].radius); } else { draw_array[_local7].y = (draw_array[_local7].y + (Math.sin((_arg1[_local4].phase + (_local6 * _local7))) * _arg1[_local4].radius)); }; _local7++; }; _local4++; }; target_mc.graphics.clear(); if (stroke_weight > 0){ target_mc.graphics.lineStyle(stroke_weight, stroke_color); }; if (draw_fill){ target_mc.graphics.beginFill(fill_color, fill_alpha); }; target_mc.graphics.moveTo(draw_array[0].x, draw_array[0].y); var _local5:* = 1; while (_local5 < _local2) { _local8 = draw_array[_local5].x; _local9 = draw_array[_local5].y; target_mc.graphics.lineTo(_local8, _local9); _local5++; }; if (draw_fill){ target_mc.graphics.lineTo(_local8, (my_height / 2)); target_mc.graphics.lineTo(0, (my_height / 2)); target_mc.graphics.lineTo(0, draw_array[0].y); target_mc.graphics.endFill(); }; } } }//package com.midasplayer.extras
Section 146
//md5 (com.midasplayer.extras.md5) package com.midasplayer.extras { public class md5 { public static const HEX_FORMAT_LOWERCASE:uint = 0; public static const HEX_FORMAT_UPPERCASE:uint = 1; public static const BASE64_PAD_CHARACTER_DEFAULT_COMPLIANCE:String = ""; public static const BASE64_PAD_CHARACTER_RFC_COMPLIANCE:String = "="; public static var hexcase:uint = 0; public static var b64pad:String = ""; public static function md5_gg(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function md5_cmn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{ return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3)); } public static function binl_md5(_arg1:Array, _arg2:Number):Array{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32))); _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2; var _local3:Number = 1732584193; var _local4:Number = -271733879; var _local5:Number = -1732584194; var _local6:Number = 271733878; var _local7:Number = 0; while (_local7 < _arg1.length) { _local8 = _local3; _local9 = _local4; _local10 = _local5; _local11 = _local6; _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551); _local3 = safe_add(_local3, _local8); _local4 = safe_add(_local4, _local9); _local5 = safe_add(_local5, _local10); _local6 = safe_add(_local6, _local11); _local7 = (_local7 + 16); }; return ([_local3, _local4, _local5, _local6]); } public static function str2rstr_utf16le(_arg1:String):String{ var _local2 = ""; var _local3:Number = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode((_arg1.charCodeAt(_local3) & 0xFF), ((_arg1.charCodeAt(_local3) >>> 8) & 0xFF))); _local3++; }; return (_local2); } public static function hex_hmac_md5(_arg1:String, _arg2:String):String{ return (rstr2hex(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)))); } public static function binl2rstr(_arg1:Array):String{ var _local2 = ""; var _local3:Number = 0; while (_local3 < (_arg1.length * 32)) { _local2 = (_local2 + String.fromCharCode(((_arg1[(_local3 >> 5)] >>> (_local3 % 32)) & 0xFF))); _local3 = (_local3 + 8); }; return (_local2); } public static function md5_ff(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function md5_ii(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function rstr2binl(_arg1:String):Array{ var _local2:Number = 0; var _local3:Array = new Array((_arg1.length >> 2)); _local2 = 0; while (_local2 < _local3.length) { _local3[_local2] = 0; _local2++; }; _local2 = 0; while (_local2 < (_arg1.length * 8)) { _local3[(_local2 >> 5)] = (_local3[(_local2 >> 5)] | ((_arg1.charCodeAt((_local2 / 8)) & 0xFF) << (_local2 % 32))); _local2 = (_local2 + 8); }; return (_local3); } public static function md5_vm_test():Boolean{ return ((hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72")); } public static function b64_md5(_arg1:String):String{ return (rstr2b64(rstr_md5(str2rstr_utf8(_arg1)))); } public static function any_hmac_md5(_arg1:String, _arg2:String, _arg3:String):String{ return (rstr2any(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)), _arg3)); } public static function hex_md5(_arg1:String):String{ return (rstr2hex(rstr_md5(str2rstr_utf8(_arg1)))); } public static function bit_rol(_arg1:Number, _arg2:Number):Number{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } public static function encrypt(_arg1:String):String{ return (hex_md5(_arg1)); } public static function md5_hh(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function rstr2hex(_arg1:String):String{ var _local4:Number; var _local2:String = (hexcase) ? "0123456789ABCDEF" : "0123456789abcdef"; var _local3 = ""; var _local5:Number = 0; while (_local5 < _arg1.length) { _local4 = _arg1.charCodeAt(_local5); _local3 = (_local3 + (_local2.charAt(((_local4 >>> 4) & 15)) + _local2.charAt((_local4 & 15)))); _local5++; }; return (_local3); } public static function any_md5(_arg1:String, _arg2:String):String{ return (rstr2any(rstr_md5(str2rstr_utf8(_arg1)), _arg2)); } public static function b64_hmac_md5(_arg1:String, _arg2:String):String{ return (rstr2b64(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)))); } public static function rstr2b64(_arg1:String):String{ var _local6:Number; var _local7:Number; var _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var _local3 = ""; var _local4:Number = _arg1.length; var _local5:Number = 0; while (_local5 < _local4) { _local6 = (((_arg1.charCodeAt(_local5) << 16) | (((_local5 + 1) < _local4)) ? (_arg1.charCodeAt((_local5 + 1)) << 8) : 0) | (((_local5 + 2) < _local4)) ? _arg1.charCodeAt((_local5 + 2)) : 0); _local7 = 0; while (_local7 < 4) { if (((_local5 * 8) + (_local7 * 6)) > (_arg1.length * 8)){ _local3 = (_local3 + b64pad); } else { _local3 = (_local3 + _local2.charAt(((_local6 >>> (6 * (3 - _local7))) & 63))); }; _local7++; }; _local5 = (_local5 + 3); }; return (_local3); } public static function safe_add(_arg1:Number, _arg2:Number):Number{ var _local3:Number = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF)); var _local4:Number = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16)); return (((_local4 << 16) | (_local3 & 0xFFFF))); } public static function str2rstr_utf8(_arg1:String):String{ var _local4:Number; var _local5:Number; var _local2 = ""; var _local3:Number = -1; while (++_local3 < _arg1.length) { _local4 = _arg1.charCodeAt(_local3); _local5 = (((_local3 + 1) < _arg1.length)) ? _arg1.charCodeAt((_local3 + 1)) : 0; if ((((((((0xD800 <= _local4)) && ((_local4 <= 56319)))) && ((0xDC00 <= _local5)))) && ((_local5 <= 57343)))){ _local4 = ((65536 + ((_local4 & 1023) << 10)) + (_local5 & 1023)); _local3++; }; if (_local4 <= 127){ _local2 = (_local2 + String.fromCharCode(_local4)); } else { if (_local4 <= 2047){ _local2 = (_local2 + String.fromCharCode((192 | ((_local4 >>> 6) & 31)), (128 | (_local4 & 63)))); } else { if (_local4 <= 0xFFFF){ _local2 = (_local2 + String.fromCharCode((224 | ((_local4 >>> 12) & 15)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63)))); } else { if (_local4 <= 2097151){ _local2 = (_local2 + String.fromCharCode((240 | ((_local4 >>> 18) & 7)), (128 | ((_local4 >>> 12) & 63)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63)))); }; }; }; }; }; return (_local2); } public static function rstr_hmac_md5(_arg1:String, _arg2:String):String{ var _local3:Array = rstr2binl(_arg1); if (_local3.length > 16){ _local3 = binl_md5(_local3, (_arg1.length * 8)); }; var _local4:Array = new Array(16); var _local5:Array = new Array(16); var _local6:Number = 0; while (_local6 < 16) { _local4[_local6] = (_local3[_local6] ^ 909522486); _local5[_local6] = (_local3[_local6] ^ 1549556828); _local6++; }; var _local7:Array = binl_md5(_local4.concat(rstr2binl(_arg2)), (0x0200 + (_arg2.length * 8))); return (binl2rstr(binl_md5(_local5.concat(_local7), (0x0200 + 128)))); } public static function str2rstr_utf16be(_arg1:String):String{ var _local2 = ""; var _local3:Number = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(((_arg1.charCodeAt(_local3) >>> 8) & 0xFF), (_arg1.charCodeAt(_local3) & 0xFF))); _local3++; }; return (_local2); } public static function rstr2any(_arg1:String, _arg2:String):String{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; var _local3:Number = _arg2.length; var _local4:Array = []; var _local9:Array = ((_arg1.length / 2) as Array); _local5 = 0; while (_local5 < _local9.length) { _local9[_local5] = ((_arg1.charCodeAt((_local5 * 2)) << 8) | _arg1.charCodeAt(((_local5 * 2) + 1))); _local5++; }; while (_local9.length > 0) { _local8 = []; _local7 = 0; _local5 = 0; while (_local5 < _local9.length) { _local7 = ((_local7 << 16) + _local9[_local5]); _local6 = Math.floor((_local7 / _local3)); _local7 = (_local7 - (_local6 * _local3)); if ((((_local8.length > 0)) || ((_local6 > 0)))){ _local8[_local8.length] = _local6; }; _local5++; }; _local4[_local4.length] = _local7; _local9 = _local8; }; var _local10 = ""; _local5 = (_local4.length - 1); while (_local5 >= 0) { _local10 = (_local10 + _arg2.charAt(_local4[_local5])); _local5--; }; return (_local10); } public static function rstr_md5(_arg1:String):String{ return (binl2rstr(binl_md5(rstr2binl(_arg1), (_arg1.length * 8)))); } } }//package com.midasplayer.extras
Section 147
//MochiBot (com.midasplayer.extras.MochiBot) package com.midasplayer.extras { import flash.net.*; import flash.display.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package com.midasplayer.extras
Section 148
//SimpleParticle (com.midasplayer.extras.SimpleParticle) package com.midasplayer.extras { import flash.display.*; public dynamic class SimpleParticle extends Shape { private var _color:Number;// = 0 private var _size:Number;// = 1 private var _type:String;// = "rect" public static var RECT:String = "rect"; public static var CIRCLE:String = "circle"; public function get size():Number{ return (_size); } public function set size(_arg1:Number){ _size = _arg1; draw(); } public function get color():Number{ return (_color); } public function set color(_arg1:Number){ _color = _arg1; draw(); } public function get type():String{ return (_type); } private function draw(){ clear(); graphics.beginFill(_color, 1); switch (type){ case RECT: graphics.drawRect((-(size) / 2), (-(size) / 2), size, size); break; case CIRCLE: graphics.drawCircle((-(size) / 2), (-(size) / 2), size); break; }; graphics.endFill(); } public function clear(){ graphics.clear(); } public function set type(_arg1:String){ _type = _arg1; draw(); } } }//package com.midasplayer.extras
Section 149
//SineWave (com.midasplayer.extras.SineWave) package com.midasplayer.extras { public class SineWave { private var my_cycles:Number; private var my_radius:Number; private var my_phase:Number; private var my_inc:Number; public function SineWave(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ my_phase = _arg1; my_cycles = _arg2; my_radius = _arg3; my_inc = _arg4; } public function set radius(_arg1:Number):void{ my_radius = _arg1; } public function get cycles():Number{ return (my_cycles); } public function get radius():Number{ return (my_radius); } public function set cycles(_arg1:Number):void{ my_cycles = _arg1; } public function get phase():Number{ return (my_phase); } public function set inc(_arg1:Number):void{ my_inc = _arg1; } public function set phase(_arg1:Number):void{ my_phase = _arg1; } public function get inc():Number{ return (my_inc); } } }//package com.midasplayer.extras
Section 150
//Water1 (com.midasplayer.extras.Water1) package com.midasplayer.extras { import flash.display.*; public class Water1 extends MovieClip { private var m_lines:Array; public function Water1(){ m_lines = new Array(); super(); } public function decrThickness(_arg1:Boolean):Boolean{ var _local2:int; var _local3:Boolean; var _local4:int; var _local5:Boolean; if (_arg1){ _local2 = 0; while (_local2 < m_lines.length) { _local3 = false; if (m_lines[_local2].decrThickness()){ _local3 = true; } else { return (false); }; _local2++; }; return (_local3); //unresolved jump }; _local4 = 0; while (_local4 < m_lines.length) { _local5 = false; if (m_lines[_local4].incrThickness()){ _local5 = true; } else { return (false); }; _local4++; }; return (_local5); } public function init(_arg1:Number, _arg2:Number){ var _local3:WaterLine; var _local5:int; var _local4:uint = 0xFF0000; if (this.name == "RED"){ _local4 = 0xFF0000; _local5 = 1; }; if (this.name == "GREEN"){ _local4 = 0xFF00; _local5 = 1; }; if (this.name == "BLUE"){ _local4 = 2782939; _local5 = 1; }; var _local6:* = 0; while (_local6 < _local5) { _local3 = new WaterLine(); _local3.addParams(_local4, _arg1, _arg2); _local3.x = (_local6 * 1.5); addChild(_local3); m_lines.push(_local3); _local6++; }; } } }//package com.midasplayer.extras
Section 151
//WaterLine (com.midasplayer.extras.WaterLine) package com.midasplayer.extras { import flash.events.*; import flash.display.*; public class WaterLine extends MovieClip { private var _height:Number;// = 400 private var _line:Shape; private var _particlesQuantity:Number;// = 20 private var _color:uint; private var _bubbles:Array; private var _step:Number; private var _particles:Array; private var _lineSize:Number; public function WaterLine(){ trace("WaterLine()"); } public function incrThickness():Boolean{ _lineSize = (_lineSize + 0.5); if (_lineSize >= 5){ return (true); }; return (false); } public function get randomDirection():Number{ return (((Math.round((Math.random() * 1)) * 2) - 1)); } public function addParams(_arg1:uint, _arg2:Number, _arg3:Number):void{ _color = _arg1; _height = _arg2; _lineSize = _arg3; init(); } private function createBubbles():void{ var _local2:SimpleParticle; var _local4:Number; var _local5:Number; var _local6:*; var _local1:Array = [_color, _color]; var _local3:* = 0; while (_local3 < 5) { _local2 = new SimpleParticle(); _local2.type = SimpleParticle.CIRCLE; _local2.size = 0.8; _local2.color = _local1[Math.round((Math.random() * (_local1.length - 1)))]; _local2.alpha = 1; addChild(_local2); _bubbles.push(_local2); _local3++; }; for (_local6 in _bubbles) { _local2 = _bubbles[_local6]; if (!_local2.isOut){ _local2.y = (_local2.y + ((Math.random() * 5) + 10)); _local4 = Math.floor((_local2.y / this._step)); _local2.x = (_local2.x + (((_particles[_local4].x + ((Math.random() * 1) * randomDirection)) - _local2.x) * 0.8)); _local5 = Math.sqrt((Math.pow((mouseX - _local2.x), 2) + Math.pow((mouseY - _local2.y), 2))); if ((((_local5 < 4)) && (!(_local2.isOut)))){ }; } else { _local2.y = (_local2.y + _local2.speedY); _local2.speedY = (_local2.speedY + 3); _local2.x = (_local2.x + _local2.speedX); _local2.alpha = (_local2.alpha - 0.005); }; if ((((_local2.y > _height)) || ((_local2.alpha < 0)))){ _bubbles.splice(_local6, 1); _local2.parent.removeChild(_local2); _local2 = null; }; }; } private function createLine():void{ var _local1:SimpleParticle; var _local2:* = 0; while (_local2 < _particlesQuantity) { _local1 = new SimpleParticle(); _local1.elasticX = 0; _local1.yIni = (_local1.y = (_step * _local2)); addChild(_local1); _particles.push(_local1); _local2++; }; } private function init(){ _line = new Shape(); _line.alpha = 0.8; addChild(_line); _bubbles = []; _particles = []; _step = (_height / (_particlesQuantity - 1)); createLine(); addEventListener(Event.ENTER_FRAME, animate); } private function animate(_arg1:Event):void{ var _local2:SimpleParticle; var _local3:SimpleParticle; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local9:Number; var _local8:Number = 10; var _local10:Number = 3; _line.graphics.clear(); _line.graphics.moveTo(_particles[0].x, _particles[0].y); _line.graphics.lineStyle(_lineSize, _color, 1); var _local11:* = 0; while (_local11 < _particles.length) { _local3 = _particles[_local11]; if (_local11 == 0){ _local3.x = (_local3.x + ((((Math.random() * _local10) * randomDirection) - _local3.x) * 0.9)); }; _local2 = ((_local11)>0) ? _particles[(_local11 - 1)] : _local3; _local7 = Math.sqrt((Math.pow((mouseX - 0), 2) + Math.pow((mouseY - _local3.yIni), 2))); if (_local7 < _local8){ } else { _local5 = _local2.x; _local3.elasticX = ((_local3.elasticX * 0.4) + ((_local5 - _local3.x) * 0.4)); _local3.x = (_local3.x + _local3.elasticX); }; if (_local11 > 0){ _line.graphics.curveTo(_local2.x, _local2.y, ((_local2.x + _local3.x) / 2), ((_local2.y + _local3.y) / 2)); }; _local11++; }; } private function spreadBubble(_arg1:SimpleParticle):void{ _arg1.isOut = true; parent.parent.addChild(_arg1); _arg1.size = 1.2; _arg1.alpha = 0.35; _arg1.x = (parent.x + _arg1.x); _arg1.y = (parent.y + _arg1.y); _arg1.speedY = (-5 - (Math.random() * 10)); _arg1.speedX = (((Math.random() * 15) + 1) * randomDirection); } public function decrThickness():Boolean{ _lineSize--; if (_lineSize <= 0){ return (true); }; return (false); } } }//package com.midasplayer.extras
Section 152
//WaveEngine (com.midasplayer.extras.WaveEngine) package com.midasplayer.extras { import flash.events.*; import flash.display.*; public class WaveEngine extends MovieClip { private var m_wave:DrawSine; private var m_fillColor:uint; private var m_num_waves:int;// = 3 private var m_waveHolder:MovieClip; private var m_sinArr:Array; private var m_rootRef:MovieClip; public function WaveEngine(_arg1:MovieClip, _arg2:int, _arg3:int, _arg4:uint, _arg5:uint, _arg6:MovieClip){ m_waveHolder = new MovieClip(); m_sinArr = new Array(); super(); m_rootRef = _arg1; m_waveHolder = _arg6; m_wave = new DrawSine(m_waveHolder, _arg2, _arg3, 100); var _local7:* = 0; while (_local7 < m_num_waves) { m_sinArr.push(new SineWave(((Math.random() * Math.PI) * 1.5), (Math.random() * 1.5), ((Math.random() * 1.5) + 1), (Math.random() - 0.5))); _local7++; }; m_wave.set_stroke(3, _arg5); m_wave.set_fill(true, _arg4, 100); m_fillColor = _arg4; } public function startWave():void{ m_rootRef.addEventListener(Event.ENTER_FRAME, update); } public function getWave():MovieClip{ return (m_waveHolder); } private function update(_arg1:Event):void{ var _local2:*; for (_local2 in m_sinArr) { m_sinArr[_local2].phase = (m_sinArr[_local2].phase + m_sinArr[_local2].inc); }; m_wave.set_fill(true, m_fillColor, 1); m_wave.draw_waves(m_sinArr); } public function stopWave():void{ m_rootRef.removeEventListener(Event.ENTER_FRAME, update); } public function colorUpdate(_arg1:uint):void{ var _local2:String = ("0x" + _arg1.toString(16)); m_fillColor = uint(_local2); } } }//package com.midasplayer.extras
Section 153
//KingAPI (com.midasplayer.KingAPI) package com.midasplayer { import flash.net.*; import flash.events.*; import com.midasplayer.extras.*; import flash.external.*; public class KingAPI { public static const LINK_TYPE_RIGHT_CLICK:String = "rightclick"; public static const USER_TYPE_SUBSCRIPTION:int = 3; public static const LINK_TYPE_HIGHSCORES:String = "highscores"; public static const LINK_TYPE_SIGN:String = "sign"; public static const INITIALIZED_EVENT:String = "initialized"; public static const LINK_TYPE_OTHER_GAMES:String = "other_games"; public static const USER_TYPE_REGISTERED:int = 1; private static const SAK:String = "ggfd7sday923mdsfd8csfds34"; private static const loadHomeParametersURL:String = "http://www.king.com/servlet/FreeGameServlet?action=load"; public static const LINK_TYPE_LOADER_MOVIE:String = "loader_movie"; private static const bounceURL:String = "http://www.mygame.com/king/bounce.jsp"; public static const LINK_TYPE_PROTECT:String = "protect"; public static const LINK_TYPE_ADD_GAME:String = "add_game"; public static const USER_TYPE_GOLD:int = 2; public static const USER_TYPE_UNREGISTERED:int = 0; public static const HOST_BANNED_EVENT:String = "hostBanned"; private static const SK:String = "vf78hxcsjak77cxzhjkwad87s"; private static const loadCountURL:String = "http://www.mygame.com/king/loadcount.jsp"; public static const LINK_TYPE_LOADER_PROGRESS:String = "loader_progress"; private static var check:String = null; public static var gameName:String; public static var banned:Boolean = false; protected static var dispatcher:EventDispatcher; public static var isHome:Boolean = false; private static var sessionID:String; private static var iscore:int = 123; public static var fromURL:String; private static var SSK:String = "ng43ui54hy35tdsnd6f54rews"; private static function loadUrlErrorHandler(_arg1:Event):void{ trace(("Unable to load url: " + _arg1)); } public static function resetScore():void{ iscore = 123; check = null; } public static function openOfflineProtectionLink():void{ openKingPage(LINK_TYPE_PROTECT); } public static function init(_arg1:String, _arg2:String):void{ var so:SharedObject; var rnd1:Number; var rnd2:Number; var name = _arg1; var from = _arg2; gameName = name; fromURL = from; var loadCounter:URLLoader = new URLLoader(); var reqvars:URLVariables = new URLVariables(); reqvars.game = gameName; reqvars.from = fromURL; try { so = SharedObject.getLocal("sessionId"); if (so.data.sessionID == null){ rnd1 = Math.abs(Math.floor((Math.random() * 4294967295))); rnd2 = Math.abs(Math.floor((Math.random() * 4294967295))); so.data.sessionID = (rnd1.toString(16) + rnd2.toString(16)); so.flush(); }; sessionID = so.data.sessionID; } catch(e:Error) { sessionID = "error"; }; reqvars.session = sessionID; var request:URLRequest = new URLRequest(((loadCountURL + "?") + reqvars.toString())); loadCounter.addEventListener(Event.COMPLETE, loadCountHandler); loadCounter.addEventListener(IOErrorEvent.IO_ERROR, loadUrlErrorHandler); loadCounter.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadUrlErrorHandler); try { loadCounter.load(request); } catch(error:Error) { trace(("Unable to load loadcount url: " + loadCountURL)); trace(error.message); }; } private static function loadHomeParametersHandler(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); trace(("loadCounter.data" + _local2.data)); } public static function submitInternalScore():void{ checkScore(); var _local1:int = ((iscore - 123) / 2); submitScore(_local1); } public static function openOtherGamesLink():void{ openKingPage(LINK_TYPE_OTHER_GAMES); } public static function openKingPage(_arg1:String, _arg2:String=null):void{ var _local3:URLVariables = new URLVariables(); _local3.game = gameName; _local3.from = fromURL; _local3.type = _arg1; _local3.session = sessionID; if (_arg2 != null){ _local3.redirect = _arg2; }; var _local4 = "_blank"; if (isHome){ _local4 = "_top"; }; navigateToURL(new URLRequest(((bounceURL + "?") + _local3.toString())), _local4); } private static function loadCountHandler(_arg1:Event):void{ var vars:URLVariables; var event = _arg1; var loadCounter:URLLoader = URLLoader(event.target); trace(("loadCounter.data :" + loadCounter.data)); try { vars = new URLVariables(loadCounter.data); if (vars.h == "true"){ isHome = true; }; if (vars.b == "true"){ banned = true; dispatcher.dispatchEvent(new Event(HOST_BANNED_EVENT)); } else { dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); }; trace((("::" + vars.h) + "::")); trace((("::" + vars.b) + "::")); } catch(e:Error) { trace(("Error reading data from loadcount url: " + e)); dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); }; } public static function addEventListener(_arg1:String, _arg2:Function):void{ if (dispatcher == null){ dispatcher = new EventDispatcher(); }; dispatcher.addEventListener(_arg1, _arg2); } public static function openLoaderMovieLink():void{ openKingPage(LINK_TYPE_LOADER_MOVIE); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ if (dispatcher == null){ return; }; dispatcher.removeEventListener(_arg1, _arg2); } public static function submitScore(_arg1:int):void{ var score = _arg1; var hash:String = md5.encrypt(((((score + ":") + gameName) + ":") + SSK)); try { if (isHome){ ExternalInterface.call("submitScore", score, hash); } else { openKingPage(LINK_TYPE_HIGHSCORES, ((((("game/" + gameName) + "/submit/") + score) + ":") + hash)); }; } catch(e:Error) { trace(e); }; } public static function submitLevel(_arg1:int):void{ var level = _arg1; var hash:String = md5.encrypt(((((level + ":") + gameName) + ":") + SSK)); try { if (isHome){ ExternalInterface.call("submitLevel", level, hash); }; } catch(e:Error) { trace(e); }; } public static function openHighscoresLink():void{ openKingPage(LINK_TYPE_HIGHSCORES, (("game/" + gameName) + "/highscores")); } public static function openSignLink():void{ if (!isHome){ openKingPage(LINK_TYPE_SIGN); }; } public static function openRightClickLink():void{ openKingPage(LINK_TYPE_RIGHT_CLICK); } private static function checkScore():void{ if (check != null){ if (check != md5.encrypt(((((iscore + ":") + gameName) + ":") + SK))){ SSK = "ng41ui54hy35tdsnd6f54rews"; }; }; } public static function addScore(_arg1:int):int{ checkScore(); var _local2:int = ((iscore - 123) / 2); _local2 = (_local2 + _arg1); iscore = ((_local2 * 2) + 123); check = md5.encrypt(((((iscore + ":") + gameName) + ":") + SK)); return (_local2); } public static function openLoaderProgressLink():void{ openKingPage(LINK_TYPE_LOADER_PROGRESS); } public static function openAddToWebsiteLink():void{ openKingPage(LINK_TYPE_ADD_GAME, "website_content.jsp"); } public static function submitAchievement(_arg1:String):void{ var achievement = _arg1; var hash:String = md5.encrypt(((((achievement + ":") + gameName) + ":") + SAK)); try { if (isHome){ ExternalInterface.call("submitAchievement", achievement, hash); }; } catch(e:Error) { trace(e); }; } } }//package com.midasplayer
Section 154
//MainLoader (com.midasplayer.MainLoader) package com.midasplayer { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.media.*; import com.midasplayer.extras.*; import fl.transitions.*; import fl.transitions.easing.*; import com.google.analytics.components.*; public dynamic class MainLoader extends MovieClip { private var STAGE_WIDTH:Number;// = 700 private var m_waveEngineCrown:WaveEngine; private var m_streamBlue:Boolean;// = false private var m_clsRed:Water1; private var m_ferryGreen:MovieClip; private var m_overBtn:Boolean;// = false private var m_tween:Tween; private var m_startColor:ColorTransform; public var tracker:FlashTracker; private var m_dist:Number; private var m_ferryBlue:MovieClip; private var m_yellowDest:Number; private var m_logoHolder:Sprite; private var m_prevPerc:Number;// = -1 private var m_tweenBounceLogo:Tween; private var m_bg:Sprite; private var m_streamHeight:Number; private var m_step:Number; private var m_logoFill:Boolean;// = true private var m_isLoaded:Boolean;// = false private var m_waveHolderLogo:MovieClip; private var m_maskRown:MovieClip; private var m_sun:Sprite; private var m_mask:MovieClip; private var m_rootRef:MovieClip; private var m_crownFill:Boolean;// = false private var m_clsGreen:Water1; private var m_GREEN:MovieClip; private var m_loaderContent:Array; private var m_bounce:Boolean;// = false private var m_colorOff:Boolean;// = false private var m_RED:MovieClip; private var m_streamGreen:Boolean;// = true private var MOCHI:String;// = "" private var m_otherGames:Sprite; private var m_streamRed:Boolean;// = false private var STAGE_HEIGHT:Number;// = 525 private var m_ferryRed:MovieClip; private var m_pressBtn:Boolean;// = false private var GAME_NAME:String;// = "rise-of-pirates" private var m_count;// = 0 private var m_play:Sprite; private var m_sampleLoadPerc:Number;// = -1 private var m_gameFrameRate:int; private var m_clsBlue:Water1; private var m_endColor:ColorTransform; private var m_waveHolderCrown:MovieClip; private var m_BLUE:MovieClip; private var m_greenDest:Number; private var m_waveEngineLogo:WaveEngine; public function MainLoader(){ m_loaderContent = new Array(); m_waveHolderLogo = new MovieClip(); m_waveHolderCrown = new MovieClip(); m_mask = new MovieClip(); m_maskRown = new MovieClip(); m_RED = new WaterHolderR(); m_GREEN = new WaterHolderG(); m_BLUE = new WaterHolderB(); m_ferryGreen = new ferryGreen(); m_ferryRed = new ferryRed(); m_ferryBlue = new ferryBlue(); super(); addFrameScript(0, frame1); trace("MainLoader()"); stop(); m_rootRef = this; m_bg = new Sprite(); m_bg.graphics.beginFill(0x333333, 1); m_bg.graphics.drawRect(0, 0, STAGE_WIDTH, STAGE_HEIGHT); m_bg.addEventListener(MouseEvent.CLICK, openKingPage); m_rootRef.addChild(m_bg); m_loaderContent.push(m_bg); KingAPI.addEventListener(KingAPI.INITIALIZED_EVENT, onKingApiInit); KingAPI.addEventListener(KingAPI.HOST_BANNED_EVENT, onKingApiInit); KingAPI.init(GAME_NAME, root.loaderInfo.url); __setProp_tracker_Scene1_Layer28_0(); } private function playLoaderMovie():void{ var _local1:MovieClip = new mcFerryLine(); m_rootRef.addChild(m_ferryGreen); m_rootRef.addChild(m_ferryRed); m_rootRef.addChild(m_ferryBlue); m_ferryGreen.x = ((STAGE_WIDTH / 2) - 2); m_ferryRed.x = ((m_ferryGreen.x - (m_ferryGreen.width / 2)) + 15); m_ferryBlue.x = ((m_ferryGreen.x + (m_ferryGreen.width / 2)) - 17); m_ferryBlue.y = (m_ferryGreen.y = (m_ferryRed.y = (m_bg.y + 15))); m_loaderContent.push(m_ferryGreen); m_loaderContent.push(m_ferryRed); m_loaderContent.push(m_ferryBlue); _local1.x = (STAGE_WIDTH / 2); _local1.y = ((m_ferryGreen.y + m_ferryGreen.height) - 9); m_streamHeight = ((STAGE_HEIGHT / 2) - 40); m_clsRed = m_RED.RED; m_clsRed.init(m_streamHeight, 1); m_clsGreen = m_GREEN.GREEN; m_clsGreen.init(m_streamHeight, 1); m_clsBlue = m_BLUE.BLUE; m_clsBlue.init(m_streamHeight, 1); m_RED.alpha = (m_GREEN.alpha = (m_BLUE.alpha = 0)); m_rootRef.addChild(m_RED); m_rootRef.addChild(m_GREEN); m_rootRef.addChild(m_BLUE); m_loaderContent.push(m_RED); m_loaderContent.push(m_GREEN); m_loaderContent.push(m_BLUE); m_RED.x = ((STAGE_WIDTH / 2) - 22); m_GREEN.x = ((STAGE_WIDTH / 2) - 4); m_BLUE.x = ((STAGE_WIDTH / 2) + 16); m_RED.y = (m_GREEN.y = (m_BLUE.y = _local1.y)); m_waveEngineLogo = new WaveEngine(m_rootRef, 205.8, 120, 0xFF00, 0xFF00, m_waveHolderLogo); m_waveHolderLogo = m_waveEngineLogo.getWave(); m_rootRef.addChild(m_waveHolderLogo); m_loaderContent.push(m_waveHolderLogo); m_waveEngineCrown = new WaveEngine(m_rootRef, 67.5, 100, 0xFFAA00, 0xFFAA00, m_waveHolderCrown); m_waveHolderCrown = m_waveEngineCrown.getWave(); m_rootRef.addChild(m_waveHolderCrown); m_loaderContent.push(m_waveHolderCrown); m_logoHolder = new mcLogoHolder(); m_logoHolder.x = (STAGE_WIDTH / 2); m_logoHolder.y = ((STAGE_HEIGHT / 2) - 2); m_logoHolder.mouseEnabled = false; m_rootRef.addChild(m_logoHolder); m_loaderContent.push(m_logoHolder); m_mask = new mcLogoMask(); m_mask.x = m_logoHolder.x; m_mask.y = m_logoHolder.y; m_rootRef.addChild(m_mask); m_loaderContent.push(m_mask); m_maskRown = new mcCrownMask(); m_maskRown.x = m_logoHolder.x; m_maskRown.y = m_logoHolder.y; m_rootRef.addChild(m_maskRown); m_loaderContent.push(m_maskRown); m_waveHolderLogo.mask = m_mask; m_waveHolderLogo.x = ((STAGE_WIDTH / 2) - (m_mask.width / 2)); m_waveHolderLogo.y = (((STAGE_HEIGHT / 2) + (m_mask.height / 2)) + 15); m_waveHolderCrown.mask = m_maskRown; m_waveHolderCrown.x = (m_logoHolder.x - (m_maskRown.width / 2)); m_waveHolderCrown.y = (m_logoHolder.y + 4); m_waveEngineLogo.startWave(); m_waveEngineCrown.startWave(); m_greenDest = ((m_waveHolderLogo.y - (120 / 2)) - 10); m_yellowDest = (m_waveHolderCrown.y - (100 / 2)); m_dist = (m_waveHolderCrown.y - m_yellowDest); m_startColor = new ColorTransform(); m_startColor.color = 0xFF00; m_endColor = new ColorTransform(); m_endColor.color = 35886; m_play = new mcPlay(); m_play.x = (STAGE_WIDTH / 2); m_play.y = ((m_logoHolder.y + m_logoHolder.height) - 5); m_play.buttonMode = true; m_play.alpha = 0; m_play.visible = false; m_play.addEventListener(MouseEvent.MOUSE_UP, onPlayReleased); m_play.addEventListener(MouseEvent.MOUSE_OVER, onBtnOver); m_play.addEventListener(MouseEvent.MOUSE_OUT, onBtnOut); m_rootRef.addChild(m_play); m_loaderContent.push(m_play); m_otherGames = new mcOtherGames(); m_otherGames.x = (STAGE_WIDTH / 2); m_otherGames.y = ((m_play.y + m_play.height) + 15); m_otherGames.buttonMode = true; m_otherGames.alpha = 0; m_otherGames.visible = false; m_otherGames.addEventListener(MouseEvent.MOUSE_UP, onOtherReleased); m_otherGames.addEventListener(MouseEvent.MOUSE_OVER, onBtnOver); m_otherGames.addEventListener(MouseEvent.MOUSE_OUT, onBtnOut); m_rootRef.addChild(m_otherGames); m_loaderContent.push(m_otherGames); m_rootRef.addEventListener(Event.ENTER_FRAME, update); } private function onLoaderMovieFinished():void{ trace("onGameLoaded()"); m_tween.removeEventListener(TweenEvent.MOTION_CHANGE, tweenTransformCrown); m_rootRef.removeEventListener(Event.ENTER_FRAME, update); } private function onPlayReleased(_arg1:MouseEvent):void{ cleanUp(); gotoGame(); } private function openKingPage(_arg1:Event):void{ trace(("openKingPage() " + _arg1)); KingAPI.openLoaderMovieLink(); } private function onBtnOut(_arg1:MouseEvent):void{ _arg1.target.removeEventListener(MouseEvent.MOUSE_DOWN, onBtnPress); if (m_pressBtn){ _arg1.target.x = (_arg1.target.x - 1); _arg1.target.y = (_arg1.target.y - 2); m_pressBtn = false; }; } private function onBtnPress(_arg1:MouseEvent):void{ m_pressBtn = true; _arg1.target.x = (_arg1.target.x + 1); _arg1.target.y = (_arg1.target.y + 2); } private function onKingApiInit(_arg1:Event):void{ trace(("onKingApiInit() :" + _arg1.type)); if (MOCHI != ""){ MochiBot.track(this, MOCHI); }; m_gameFrameRate = root.stage.frameRate; root.stage.frameRate = 30; if (KingAPI.banned){ showBannedScreen(); return; }; if (KingAPI.isHome){ gotoGame(); } else { playLoaderMovie(); }; } function frame1(){ stop(); stage.showDefaultContextMenu = false; stage.scaleMode = "exactFit"; } private function onBtnOver(_arg1:MouseEvent):void{ _arg1.target.addEventListener(MouseEvent.MOUSE_DOWN, onBtnPress); } private function tweenTransformLogo(_arg1:TweenEvent):void{ m_waveEngineLogo.colorUpdate(interpolateColor(m_startColor, m_endColor, m_tween.position).color); } private function cleanUp():void{ m_otherGames.removeEventListener(MouseEvent.MOUSE_UP, onOtherReleased); m_otherGames.removeEventListener(MouseEvent.MOUSE_DOWN, onBtnPress); m_otherGames.removeEventListener(MouseEvent.MOUSE_OVER, onBtnOver); m_otherGames.removeEventListener(MouseEvent.MOUSE_OUT, onBtnOut); m_play.removeEventListener(MouseEvent.MOUSE_UP, onPlayReleased); m_play.removeEventListener(MouseEvent.MOUSE_DOWN, onBtnPress); m_play.removeEventListener(MouseEvent.MOUSE_OVER, onBtnOver); m_play.removeEventListener(MouseEvent.MOUSE_OUT, onBtnOut); var _local1:int; while (_local1 < m_loaderContent.length) { m_rootRef.removeChild(m_loaderContent[_local1]); m_loaderContent[_local1] = null; _local1++; }; } private function showBannedScreen():void{ var _local1:Sprite = new mcBannedSign(); _local1.buttonMode = true; _local1.addEventListener(MouseEvent.CLICK, openKingPage); m_rootRef.addChild(_local1); } function __setProp_tracker_Scene1_Layer28_0(){ try { tracker["componentInspectorSetting"] = true; } catch(e:Error) { }; tracker.account = "UA-11466289-1"; tracker.mode = "AS3"; tracker.visualDebug = false; try { tracker["componentInspectorSetting"] = false; } catch(e:Error) { }; } private function update(_arg1:Event):void{ var _local2:int; var _local3:int; var _local4:MovieClip; var _local5:Sound; var _local6:Sound; if ((((stage.loaderInfo.bytesLoaded == stage.loaderInfo.bytesTotal)) && (!(m_isLoaded)))){ m_isLoaded = true; trace("LOADED COMPLETWE"); }; m_count++; if (m_streamGreen){ if (m_count == 1){ m_GREEN.height = (m_GREEN.height - m_GREEN.height); m_GREEN.alpha = 1; m_ferryGreen.gotoAndStop("on"); }; m_GREEN.height = (m_GREEN.height + 20); if (m_GREEN.height >= m_streamHeight){ m_GREEN.height = m_streamHeight; if (m_clsGreen.decrThickness(false)){ m_streamGreen = false; m_streamBlue = true; m_count = 0; }; }; }; if (m_streamBlue){ if (m_count >= 40){ if (m_count == 40){ m_BLUE.height = (m_BLUE.height - m_BLUE.height); m_BLUE.alpha = 1; m_ferryBlue.gotoAndStop("on"); m_tween = new Tween(m_waveHolderLogo, "", None.easeNone, 0, 1, 2, true); m_tween.addEventListener(TweenEvent.MOTION_CHANGE, tweenTransformLogo); }; m_BLUE.height = (m_BLUE.height + 20); if (m_BLUE.height >= m_streamHeight){ m_BLUE.height = m_streamHeight; if (m_clsBlue.decrThickness(false)){ m_streamBlue = false; }; }; }; }; if (m_logoFill){ if (m_waveHolderLogo.y > m_greenDest){ m_waveHolderLogo.y = (m_waveHolderLogo.y - 0.3); } else { m_waveHolderLogo.y = m_greenDest; if (!m_streamBlue){ m_colorOff = true; m_waveEngineLogo.stopWave(); }; }; }; if (m_colorOff){ if (m_logoFill){ if (m_clsBlue.decrThickness(true)){ if (m_BLUE.rotation != 180){ m_BLUE.rotation = 180; m_BLUE.y = (STAGE_HEIGHT / 2); m_ferryBlue.gotoAndStop("off"); }; m_BLUE.scaleY = (m_BLUE.scaleY - 0.1); if (m_BLUE.scaleY < 0){ m_BLUE.alpha = 0; m_colorOff = false; m_logoFill = false; m_count = 0; m_crownFill = true; m_streamRed = true; m_startColor = new ColorTransform(); m_startColor.color = 0xFF00; m_endColor = new ColorTransform(); m_endColor.color = 0xFFAA00; m_tween.removeEventListener(TweenEvent.MOTION_CHANGE, tweenTransformLogo); m_tween = new Tween(m_waveHolderCrown, "", None.easeNone, 0, 1, 2, true); m_tween.addEventListener(TweenEvent.MOTION_CHANGE, tweenTransformCrown); }; }; }; if (m_crownFill){ if (((m_clsRed.decrThickness(true)) && (m_clsGreen.decrThickness(true)))){ if (m_GREEN.rotation != 180){ m_GREEN.rotation = 180; m_RED.rotation = 180; m_GREEN.y = (STAGE_HEIGHT / 2); m_RED.y = (STAGE_HEIGHT / 2); m_ferryGreen.gotoAndStop("off"); m_ferryRed.gotoAndStop("off"); }; m_GREEN.scaleY = (m_GREEN.scaleY - 0.1); m_RED.scaleY = (m_RED.scaleY - 0.1); if ((((m_GREEN.scaleY < 0)) && ((m_RED.scaleY < 0)))){ m_GREEN.alpha = 0; m_RED.alpha = 0; m_colorOff = false; m_crownFill = false; m_bounce = true; m_count = 0; }; }; }; }; if (m_crownFill){ if (m_sampleLoadPerc == -1){ m_sampleLoadPerc = (100 - (100 * (stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal))); m_step = (m_dist / 100); }; _local2 = (100 - (100 * (stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal))); _local2 = ((100 * (m_sampleLoadPerc - _local2)) / m_sampleLoadPerc); if (m_waveHolderCrown.y > m_yellowDest){ if ((m_waveHolderCrown.y - m_step) < m_yellowDest){ m_waveHolderCrown.y = m_yellowDest; } else { if (m_isLoaded){ m_waveHolderCrown.y = (m_waveHolderCrown.y - 0.5); } else { trace(m_prevPerc, _local2); if (m_prevPerc != _local2){ _local3 = (_local2 - m_prevPerc); m_waveHolderCrown.y = (m_waveHolderCrown.y - m_step); m_prevPerc = _local2; }; }; }; } else { m_colorOff = true; m_waveEngineCrown.stopWave(); }; }; if (m_streamRed){ if (m_count >= 20){ if (m_count == 20){ m_RED.height = (m_RED.height - m_RED.height); m_RED.alpha = 1; m_ferryRed.gotoAndStop("on"); }; m_RED.height = (m_RED.height + 20); if (m_RED.height >= m_streamHeight){ m_RED.height = m_streamHeight; if (m_clsRed.decrThickness(false)){ m_streamRed = false; }; }; }; }; if (m_bounce){ if (m_count == 1){ _local4 = new mcWaterRing(); _local4.x = (STAGE_WIDTH / 2); _local4.y = ((STAGE_HEIGHT / 2) + 30); m_rootRef.addChild(_local4); m_loaderContent.push(_local4); }; if (m_count == 2){ _local5 = new sfxBounce(); _local5.play(); }; if (m_count < 3){ m_logoHolder.y = (m_logoHolder.y + 1); m_waveHolderCrown.y = (m_waveHolderCrown.y + 1); m_waveHolderLogo.y = (m_waveHolderLogo.y + 1); m_maskRown.y = (m_maskRown.y + 1); m_mask.y = (m_mask.y + 1); }; if ((((m_count > 2)) && ((m_count < 4)))){ m_logoHolder.y = (m_logoHolder.y - 1); m_waveHolderCrown.y = (m_waveHolderCrown.y - 1); m_waveHolderLogo.y = (m_waveHolderLogo.y - 1); m_maskRown.y = (m_maskRown.y - 1); m_mask.y = (m_mask.y - 1); }; if (m_count == 4){ _local6 = new sfxBell(); _local6.play(); }; if (m_count == 30){ m_play.visible = true; m_otherGames.visible = true; }; if (m_count > 30){ m_play.alpha = (m_play.alpha + 0.05); if (m_count > 40){ m_otherGames.alpha = (m_otherGames.alpha + 0.05); }; if ((((m_play.alpha >= 1)) && ((m_otherGames.alpha >= 1)))){ m_bounce = false; onLoaderMovieFinished(); }; }; }; } private function onOtherReleased(_arg1:MouseEvent):void{ cleanUp(); } private function interpolateColor(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{ var _local4:ColorTransform = new ColorTransform(); _local4.redMultiplier = (_arg1.redMultiplier + ((_arg2.redMultiplier - _arg1.redMultiplier) * _arg3)); _local4.greenMultiplier = (_arg1.greenMultiplier + ((_arg2.greenMultiplier - _arg1.greenMultiplier) * _arg3)); _local4.blueMultiplier = (_arg1.blueMultiplier + ((_arg2.blueMultiplier - _arg1.blueMultiplier) * _arg3)); _local4.alphaMultiplier = (_arg1.alphaMultiplier + ((_arg2.alphaMultiplier - _arg1.alphaMultiplier) * _arg3)); _local4.redOffset = (_arg1.redOffset + ((_arg2.redOffset - _arg1.redOffset) * _arg3)); _local4.greenOffset = (_arg1.greenOffset + ((_arg2.greenOffset - _arg1.greenOffset) * _arg3)); _local4.blueOffset = (_arg1.blueOffset + ((_arg2.blueOffset - _arg1.blueOffset) * _arg3)); _local4.alphaOffset = (_arg1.alphaOffset + ((_arg2.alphaOffset - _arg1.alphaOffset) * _arg3)); return (_local4); } private function gotoGame():void{ root.stage.frameRate = m_gameFrameRate; m_rootRef.gotoAndStop(2); } private function tweenTransformCrown(_arg1:TweenEvent):void{ m_waveEngineCrown.colorUpdate(interpolateColor(m_startColor, m_endColor, m_tween.position).color); } } }//package com.midasplayer
Section 155
//BaseButton (fl.controls.BaseButton) package fl.controls { import flash.events.*; import flash.display.*; import fl.core.*; import fl.events.*; import flash.utils.*; public class BaseButton extends UIComponent { protected var pressTimer:Timer; protected var _autoRepeat:Boolean;// = false protected var _selected:Boolean;// = false protected var background:DisplayObject; private var unlockedMouseState:String; protected var mouseState:String; private var _mouseStateLocked:Boolean;// = false private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35}; public function BaseButton(){ buttonMode = true; mouseChildren = false; useHandCursor = false; setupMouseEvents(); setMouseState("up"); pressTimer = new Timer(1, 0); pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true); } override public function get enabled():Boolean{ return (super.enabled); } protected function startPress():void{ if (_autoRepeat){ pressTimer.delay = Number(getStyleValue("repeatDelay")); pressTimer.start(); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } protected function drawLayout():void{ background.width = width; background.height = height; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseEnabled = _arg1; } public function set autoRepeat(_arg1:Boolean):void{ _autoRepeat = _arg1; } protected function mouseEventHandler(_arg1:MouseEvent):void{ if (_arg1.type == MouseEvent.MOUSE_DOWN){ setMouseState("down"); startPress(); } else { if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){ setMouseState("over"); endPress(); } else { if (_arg1.type == MouseEvent.ROLL_OUT){ setMouseState("up"); endPress(); }; }; }; } protected function drawBackground():void{ var _local1:String = (enabled) ? mouseState : "disabled"; if (selected){ _local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1)); }; _local1 = (_local1 + "Skin"); var _local2:DisplayObject = background; background = getDisplayObjectInstance(getStyleValue(_local1)); addChildAt(background, 0); if (((!((_local2 == null))) && (!((_local2 == background))))){ removeChild(_local2); }; } public function get selected():Boolean{ return (_selected); } protected function setupMouseEvents():void{ addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true); } protected function endPress():void{ pressTimer.reset(); } public function set mouseStateLocked(_arg1:Boolean):void{ _mouseStateLocked = _arg1; if (_arg1 == false){ setMouseState(unlockedMouseState); } else { unlockedMouseState = mouseState; }; } public function get autoRepeat():Boolean{ return (_autoRepeat); } public function set selected(_arg1:Boolean):void{ if (_selected == _arg1){ return; }; _selected = _arg1; invalidate(InvalidationType.STATE); } protected function buttonDown(_arg1:TimerEvent):void{ if (!_autoRepeat){ endPress(); return; }; if (pressTimer.currentCount == 1){ pressTimer.delay = Number(getStyleValue("repeatInterval")); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } public function setMouseState(_arg1:String):void{ if (_mouseStateLocked){ unlockedMouseState = _arg1; return; }; if (mouseState == _arg1){ return; }; mouseState = _arg1; invalidate(InvalidationType.STATE); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 156
//Button (fl.controls.Button) package fl.controls { import flash.display.*; import fl.core.*; import fl.managers.*; public class Button extends LabelButton implements IFocusManagerComponent { protected var _emphasized:Boolean;// = false protected var emphasizedBorder:DisplayObject; private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2}; public static var createAccessibilityImplementation:Function; public function set emphasized(_arg1:Boolean):void{ _emphasized = _arg1; invalidate(InvalidationType.STYLES); } override protected function initializeAccessibility():void{ if (Button.createAccessibilityImplementation != null){ Button.createAccessibilityImplementation(this); }; } protected function drawEmphasized():void{ var _local2:Number; if (emphasizedBorder != null){ removeChild(emphasizedBorder); }; emphasizedBorder = null; if (!_emphasized){ return; }; var _local1:Object = getStyleValue("emphasizedSkin"); if (_local1 != null){ emphasizedBorder = getDisplayObjectInstance(_local1); }; if (emphasizedBorder != null){ addChildAt(emphasizedBorder, 0); _local2 = Number(getStyleValue("emphasizedPadding")); emphasizedBorder.x = (emphasizedBorder.y = -(_local2)); emphasizedBorder.width = (width + (_local2 * 2)); emphasizedBorder.height = (height + (_local2 * 2)); }; } public function get emphasized():Boolean{ return (_emphasized); } override protected function draw():void{ if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){ drawEmphasized(); }; super.draw(); if (emphasizedBorder != null){ setChildIndex(emphasizedBorder, (numChildren - 1)); }; } override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; var _local3:*; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("emphasizedPadding")); if ((((_local2 < 0)) || (!(_emphasized)))){ _local2 = 0; }; _local3 = getStyleValue("focusRectPadding"); _local3 = ((_local3)==null) ? 2 : _local3; _local3 = (_local3 + _local2); uiFocusRect.x = -(_local3); uiFocusRect.y = -(_local3); uiFocusRect.width = (width + (_local3 * 2)); uiFocusRect.height = (height + (_local3 * 2)); }; } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles)); } } }//package fl.controls
Section 157
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement) package fl.controls { public class ButtonLabelPlacement { public static const TOP:String = "top"; public static const LEFT:String = "left"; public static const BOTTOM:String = "bottom"; public static const RIGHT:String = "right"; } }//package fl.controls
Section 158
//LabelButton (fl.controls.LabelButton) package fl.controls { import flash.events.*; import flash.display.*; import fl.core.*; import flash.text.*; import fl.managers.*; import fl.events.*; import flash.ui.*; public class LabelButton extends BaseButton implements IFocusManagerComponent { protected var _toggle:Boolean;// = false public var textField:TextField; protected var mode:String;// = "center" protected var _labelPlacement:String;// = "right" protected var oldMouseState:String; protected var _label:String;// = "Label" protected var icon:DisplayObject; private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false}; public static var createAccessibilityImplementation:Function; override protected function draw():void{ if (textField.text != _label){ label = _label; }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); drawIcon(); drawTextFormat(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } override protected function drawLayout():void{ var _local7:Number; var _local8:Number; var _local1:Number = Number(getStyleValue("textPadding")); var _local2:String = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement; textField.height = (textField.textHeight + 4); var _local3:Number = (textField.textWidth + 4); var _local4:Number = (textField.textHeight + 4); var _local5:Number = ((icon)==null) ? 0 : (icon.width + _local1); var _local6:Number = ((icon)==null) ? 0 : (icon.height + _local1); textField.visible = (label.length > 0); if (icon != null){ icon.x = Math.round(((width - icon.width) / 2)); icon.y = Math.round(((height - icon.height) / 2)); }; if (textField.visible == false){ textField.width = 0; textField.height = 0; } else { if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){ _local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1)))); if ((height - 2) > _local4){ _local8 = _local4; } else { _local8 = (height - 2); }; _local3 = _local7; textField.width = _local3; _local4 = _local8; textField.height = _local4; textField.x = Math.round(((width - _local3) / 2)); textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0)); if (icon != null){ icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1)); }; } else { _local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1)))); _local3 = _local7; textField.width = _local3; textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0)); textField.y = Math.round(((height - textField.height) / 2)); if (icon != null){ icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1)); }; }; }; super.drawLayout(); } protected function toggleSelected(_arg1:MouseEvent):void{ selected = !(selected); dispatchEvent(new Event(Event.CHANGE, true)); } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ setMouseState(oldMouseState); oldMouseState = null; endPress(); dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } public function get labelPlacement():String{ return (_labelPlacement); } public function get toggle():Boolean{ return (_toggle); } protected function setEmbedFont(){ var _local1:Object = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } override public function get selected():Boolean{ return ((_toggle) ? _selected : false); } override protected function configUI():void{ super.configUI(); textField = new TextField(); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; addChild(textField); } override protected function initializeAccessibility():void{ if (LabelButton.createAccessibilityImplementation != null){ LabelButton.createAccessibilityImplementation(this); }; } public function set labelPlacement(_arg1:String):void{ _labelPlacement = _arg1; invalidate(InvalidationType.SIZE); } protected function drawIcon():void{ var _local1:DisplayObject = icon; var _local2:String = (enabled) ? mouseState : "disabled"; if (selected){ _local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1)); }; _local2 = (_local2 + "Icon"); var _local3:Object = getStyleValue(_local2); if (_local3 == null){ _local3 = getStyleValue("icon"); }; if (_local3 != null){ icon = getDisplayObjectInstance(_local3); }; if (icon != null){ addChildAt(icon, 1); }; if (((!((_local1 == null))) && (!((_local1 == icon))))){ removeChild(_local1); }; } public function set label(_arg1:String):void{ _label = _arg1; if (textField.text != _label){ textField.text = _label; dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE)); }; invalidate(InvalidationType.SIZE); invalidate(InvalidationType.STYLES); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ if (oldMouseState == null){ oldMouseState = mouseState; }; setMouseState("down"); startPress(); }; } public function set toggle(_arg1:Boolean):void{ if (((!(_arg1)) && (super.selected))){ selected = false; }; _toggle = _arg1; if (_toggle){ addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true); } else { removeEventListener(MouseEvent.CLICK, toggleSelected); }; invalidate(InvalidationType.STATE); } override public function set selected(_arg1:Boolean):void{ _selected = _arg1; if (_toggle){ invalidate(InvalidationType.STATE); }; } protected function drawTextFormat():void{ var _local1:Object = UIComponent.getStyleDefinition(); var _local2:TextFormat = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); var _local3:TextFormat = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3; setEmbedFont(); } public function get label():String{ return (_label); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition())); } } }//package fl.controls
Section 159
//NumericStepper (fl.controls.NumericStepper) package fl.controls { import flash.events.*; import flash.display.*; import fl.core.*; import fl.managers.*; import fl.events.*; import flash.ui.*; public class NumericStepper extends UIComponent implements IFocusManagerComponent { protected var downArrow:BaseButton; protected var upArrow:BaseButton; protected var _stepSize:Number;// = 1 protected var _minimum:Number;// = 0 protected var inputField:TextInput; protected var _maximum:Number;// = 10 protected var _value:Number;// = 1 protected var _precision:Number; protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const TEXT_INPUT_STYLES:Object = {upSkin:"upSkin", disabledSkin:"disabledSkin", textPadding:"textPadding", textFormat:"textFormat", disabledTextFormat:"disabledTextFormat", embedFonts:"embedFonts"}; protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {downArrowDisabledSkin:"NumericStepperDownArrow_disabledSkin", downArrowDownSkin:"NumericStepperDownArrow_downSkin", downArrowOverSkin:"NumericStepperDownArrow_overSkin", downArrowUpSkin:"NumericStepperDownArrow_upSkin", upArrowDisabledSkin:"NumericStepperUpArrow_disabledSkin", upArrowDownSkin:"NumericStepperUpArrow_downSkin", upArrowOverSkin:"NumericStepperUpArrow_overSkin", upArrowUpSkin:"NumericStepperUpArrow_upSkin", upSkin:"TextInput_upSkin", disabledSkin:"TextInput_disabledSkin", focusRect:null, focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35, embedFonts:false}; public function NumericStepper(){ setStyles(); stepSize = _stepSize; } override public function set enabled(_arg1:Boolean):void{ if (_arg1 == enabled){ return; }; super.enabled = _arg1; upArrow.enabled = (downArrow.enabled = (inputField.enabled = _arg1)); } public function get imeMode():String{ return (inputField.imeMode); } public function set imeMode(_arg1:String):void{ inputField.imeMode = _arg1; } protected function passEvent(_arg1:Event):void{ dispatchEvent(_arg1); } protected function inStep(_arg1:Number):Boolean{ return ((((_arg1 - _minimum) % _stepSize) == 0)); } override protected function focusOutHandler(_arg1:FocusEvent):void{ if (_arg1.eventPhase == 3){ setValue(Number(inputField.text)); }; super.focusOutHandler(_arg1); } override public function setFocus():void{ if (stage){ stage.focus = inputField.textField; }; } public function set minimum(_arg1:Number):void{ _minimum = _arg1; if (_value < _minimum){ setValue(_minimum, false); }; } protected function inRange(_arg1:Number):Boolean{ return ((((_arg1 >= _minimum)) && ((_arg1 <= _maximum)))); } public function get minimum():Number{ return (_minimum); } public function get maximum():Number{ return (_maximum); } protected function setValue(_arg1:Number, _arg2:Boolean=true):void{ if (_arg1 == _value){ return; }; var _local3:Number = _value; _value = getValidValue(_arg1); inputField.text = _value.toString(); if (_arg2){ dispatchEvent(new Event(Event.CHANGE, true)); }; } protected function drawLayout():void{ var _local1:Number; _local1 = (width - upArrow.width); var _local2:Number = (height / 2); inputField.setSize(_local1, height); upArrow.height = _local2; downArrow.height = Math.floor(_local2); downArrow.move(_local1, _local2); upArrow.move(_local1, 0); downArrow.drawNow(); upArrow.drawNow(); inputField.drawNow(); } override protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((((_arg1 == inputField)) || (super.isOurFocus(_arg1)))); } public function get previousValue():Number{ var _local1:Number = (_value - _stepSize); return ((inRange(_local1)) ? _local1 : _value); } public function get nextValue():Number{ var _local1:Number = (_value + _stepSize); return ((inRange(_local1)) ? _local1 : _value); } public function set maximum(_arg1:Number):void{ _maximum = _arg1; if (_value > _maximum){ setValue(_maximum, false); }; } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ setStyles(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; validate(); } protected function getPrecision():Number{ var _local1:String = _stepSize.toString(); if (_local1.indexOf(".") == -1){ return (0); }; return (_local1.split(".").pop().length); } protected function getValidValue(_arg1:Number):Number{ if (isNaN(_arg1)){ return (_value); }; var _local2:Number = Number((_stepSize * Math.round((_arg1 / _stepSize))).toFixed(_precision)); if (_local2 > maximum){ return (maximum); }; if (_local2 < minimum){ return (minimum); }; return (_local2); } public function get textField():TextInput{ return (inputField); } override protected function configUI():void{ super.configUI(); upArrow = new BaseButton(); copyStylesToChild(upArrow, UP_ARROW_STYLES); upArrow.autoRepeat = true; upArrow.setSize(21, 12); upArrow.focusEnabled = false; addChild(upArrow); downArrow = new BaseButton(); copyStylesToChild(downArrow, DOWN_ARROW_STYLES); downArrow.autoRepeat = true; downArrow.setSize(21, 12); downArrow.focusEnabled = false; addChild(downArrow); inputField = new TextInput(); copyStylesToChild(inputField, TEXT_INPUT_STYLES); inputField.restrict = "0-9\\-\\.\\,"; inputField.text = _value.toString(); inputField.setSize(21, 24); inputField.focusTarget = (this as IFocusManagerComponent); inputField.focusEnabled = false; inputField.addEventListener(FocusEvent.FOCUS_IN, passEvent); inputField.addEventListener(FocusEvent.FOCUS_OUT, passEvent); addChild(inputField); inputField.addEventListener(Event.CHANGE, onTextChange, false, 0, true); upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, stepperPressHandler, false, 0, true); downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, stepperPressHandler, false, 0, true); } public function set stepSize(_arg1:Number):void{ _stepSize = _arg1; _precision = getPrecision(); setValue(_value); } public function set value(_arg1:Number):void{ setValue(_arg1, false); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; _arg1.stopImmediatePropagation(); var _local2:Number = Number(inputField.text); switch (_arg1.keyCode){ case Keyboard.END: setValue(maximum); break; case Keyboard.HOME: setValue(minimum); break; case Keyboard.UP: setValue(nextValue); break; case Keyboard.DOWN: setValue(previousValue); break; case Keyboard.ENTER: setValue(_local2); break; }; } protected function setStyles():void{ copyStylesToChild(downArrow, DOWN_ARROW_STYLES); copyStylesToChild(upArrow, UP_ARROW_STYLES); copyStylesToChild(inputField, TEXT_INPUT_STYLES); } public function get stepSize():Number{ return (_stepSize); } public function get value():Number{ return (_value); } protected function stepperPressHandler(_arg1:ComponentEvent):void{ setValue(Number(inputField.text), false); switch (_arg1.currentTarget){ case upArrow: setValue(nextValue); break; case downArrow: setValue(previousValue); }; inputField.setFocus(); inputField.textField.setSelection(0, 0); } override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.width = (width + (_local2 * 2)); uiFocusRect.height = (height + (_local2 * 2)); }; } protected function onTextChange(_arg1:Event):void{ _arg1.stopImmediatePropagation(); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 160
//ScrollBar (fl.controls.ScrollBar) package fl.controls { import flash.events.*; import fl.core.*; import fl.events.*; public class ScrollBar extends UIComponent { private var _direction:String;// = "vertical" private var _minScrollPosition:Number;// = 0 private var _pageSize:Number;// = 10 private var _maxScrollPosition:Number;// = 0 protected var downArrow:BaseButton; private var _lineScrollSize:Number;// = 1 protected var upArrow:BaseButton; private var _scrollPosition:Number;// = 0 private var thumbScrollOffset:Number; protected var track:BaseButton; protected var thumb:LabelButton; protected var inDrag:Boolean;// = false private var _pageScrollSize:Number;// = 0 protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0}; public static const WIDTH:Number = 15; protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35}; public function ScrollBar(){ setStyles(); focusEnabled = false; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition)))))); updateThumb(); } override public function setSize(_arg1:Number, _arg2:Number):void{ if (_direction == ScrollBarDirection.HORIZONTAL){ super.setSize(_arg2, _arg1); } else { super.setSize(_arg1, _arg2); }; } public function set lineScrollSize(_arg1:Number):void{ if (_arg1 > 0){ _lineScrollSize = _arg1; }; } public function get minScrollPosition():Number{ return (_minScrollPosition); } protected function updateThumb():void{ var _local1:Number = ((_maxScrollPosition - _minScrollPosition) + _pageSize); if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){ thumb.height = 12; thumb.visible = false; } else { thumb.height = Math.max(13, ((_pageSize / _local1) * track.height)); thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition)))); thumb.visible = enabled; }; } public function set minScrollPosition(_arg1:Number):void{ setScrollProperties(_pageSize, _arg1, _maxScrollPosition); } public function get lineScrollSize():Number{ return (_lineScrollSize); } public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ var _local3:Number = scrollPosition; _scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1)); if (_local3 == _scrollPosition){ return; }; if (_arg2){ dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition)); }; updateThumb(); } public function get maxScrollPosition():Number{ return (_maxScrollPosition); } public function get scrollPosition():Number{ return (_scrollPosition); } override public function get height():Number{ return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height); } public function get pageSize():Number{ return (_pageSize); } public function set maxScrollPosition(_arg1:Number):void{ setScrollProperties(_pageSize, _minScrollPosition, _arg1); } protected function thumbReleaseHandler(_arg1:MouseEvent):void{ inDrag = false; mouseChildren = true; thumb.mouseStateLocked = false; stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag); stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler); } public function set pageScrollSize(_arg1:Number):void{ if (_arg1 >= 0){ _pageScrollSize = _arg1; }; } public function set scrollPosition(_arg1:Number):void{ setScrollPosition(_arg1, true); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ var _local1:Number; if (isInvalid(InvalidationType.SIZE)){ _local1 = super.height; downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height))); track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height)))); updateThumb(); }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ setStyles(); }; downArrow.drawNow(); upArrow.drawNow(); track.drawNow(); thumb.drawNow(); validate(); } override public function get width():Number{ return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width); } override protected function configUI():void{ super.configUI(); track = new BaseButton(); track.move(0, 14); track.useHandCursor = false; track.autoRepeat = true; track.focusEnabled = false; addChild(track); thumb = new LabelButton(); thumb.label = ""; thumb.setSize(WIDTH, 15); thumb.move(0, 15); thumb.focusEnabled = false; addChild(thumb); downArrow = new BaseButton(); downArrow.setSize(WIDTH, 14); downArrow.autoRepeat = true; downArrow.focusEnabled = false; addChild(downArrow); upArrow = new BaseButton(); upArrow.setSize(WIDTH, 14); upArrow.move(0, 0); upArrow.autoRepeat = true; upArrow.focusEnabled = false; addChild(upArrow); upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true); enabled = false; } public function set pageSize(_arg1:Number):void{ if (_arg1 > 0){ _pageSize = _arg1; }; } public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ this.pageSize = _arg1; _minScrollPosition = _arg2; _maxScrollPosition = _arg3; if (_arg4 >= 0){ _pageScrollSize = _arg4; }; enabled = (_maxScrollPosition > _minScrollPosition); setScrollPosition(_scrollPosition, false); updateThumb(); } public function get pageScrollSize():Number{ return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize); } protected function handleThumbDrag(_arg1:MouseEvent):void{ var _local2:Number = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset))); setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition)); } protected function setStyles():void{ copyStylesToChild(downArrow, DOWN_ARROW_STYLES); copyStylesToChild(thumb, THUMB_STYLES); copyStylesToChild(track, TRACK_STYLES); copyStylesToChild(upArrow, UP_ARROW_STYLES); } protected function scrollPressHandler(_arg1:ComponentEvent):void{ var _local2:Number; var _local3:Number; _arg1.stopImmediatePropagation(); if (_arg1.currentTarget == upArrow){ setScrollPosition((_scrollPosition - _lineScrollSize)); } else { if (_arg1.currentTarget == downArrow){ setScrollPosition((_scrollPosition + _lineScrollSize)); } else { _local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition); _local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize; if (_scrollPosition < _local2){ setScrollPosition(Math.min(_local2, (_scrollPosition + _local3))); } else { if (_scrollPosition > _local2){ setScrollPosition(Math.max(_local2, (_scrollPosition - _local3))); }; }; }; }; } protected function thumbPressHandler(_arg1:MouseEvent):void{ inDrag = true; thumbScrollOffset = (mouseY - thumb.y); thumb.mouseStateLocked = true; mouseChildren = false; stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true); } public function set direction(_arg1:String):void{ if (_direction == _arg1){ return; }; _direction = _arg1; if (isLivePreview){ return; }; setScaleY(1); var _local2 = (_direction == ScrollBarDirection.HORIZONTAL); if (((_local2) && (componentInspectorSetting))){ if (rotation == 90){ return; }; setScaleX(-1); rotation = -90; }; if (!componentInspectorSetting){ if (((_local2) && ((rotation == 0)))){ rotation = -90; setScaleX(-1); } else { if (((!(_local2)) && ((rotation == -90)))){ rotation = 0; setScaleX(1); }; }; }; invalidate(InvalidationType.SIZE); } public function get direction():String{ return (_direction); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 161
//ScrollBarDirection (fl.controls.ScrollBarDirection) package fl.controls { public class ScrollBarDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; } }//package fl.controls
Section 162
//TextInput (fl.controls.TextInput) package fl.controls { import flash.events.*; import flash.display.*; import fl.core.*; import flash.text.*; import fl.managers.*; import fl.events.*; import flash.ui.*; public class TextInput extends UIComponent implements IFocusManagerComponent { protected var _html:Boolean;// = false protected var background:DisplayObject; protected var _savedHTML:String; protected var _editable:Boolean;// = true public var textField:TextField; private static var defaultStyles:Object = {upSkin:"TextInput_upSkin", disabledSkin:"TextInput_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:0, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function set alwaysShowSelection(_arg1:Boolean):void{ textField.alwaysShowSelection = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; updateTextFieldType(); } public function get imeMode():String{ return (_imeMode); } protected function handleChange(_arg1:Event):void{ _arg1.stopPropagation(); dispatchEvent(new Event(Event.CHANGE, true)); } public function set imeMode(_arg1:String):void{ _imeMode = _arg1; } protected function setEmbedFont(){ var _local1:Object = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } protected function drawLayout():void{ var _local1:Number = Number(getStyleValue("textPadding")); if (background != null){ background.width = width; background.height = height; }; textField.width = (width - (2 * _local1)); textField.height = (height - (2 * _local1)); textField.x = (textField.y = _local1); } public function set condenseWhite(_arg1:Boolean):void{ textField.condenseWhite = _arg1; } public function get textWidth():Number{ return (textField.textWidth); } override protected function focusOutHandler(_arg1:FocusEvent):void{ super.focusOutHandler(_arg1); if (editable){ setIMEMode(false); }; } override public function setFocus():void{ stage.focus = textField; } public function set displayAsPassword(_arg1:Boolean):void{ textField.displayAsPassword = _arg1; } protected function drawBackground():void{ var _local1:DisplayObject = background; var _local2:String = (enabled) ? "upSkin" : "disabledSkin"; background = getDisplayObjectInstance(getStyleValue(_local2)); if (background == null){ return; }; addChildAt(background, 0); if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){ removeChild(_local1); }; } public function get text():String{ return (textField.text); } public function set maxChars(_arg1:int):void{ textField.maxChars = _arg1; } public function set horizontalScrollPosition(_arg1:int):void{ textField.scrollH = _arg1; } override protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((((_arg1 == textField)) || (super.isOurFocus(_arg1)))); } public function get textHeight():Number{ return (textField.textHeight); } public function get restrict():String{ return (textField.restrict); } public function get alwaysShowSelection():Boolean{ return (textField.alwaysShowSelection); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ var _local1:Object; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawTextFormat(); drawBackground(); _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } public function set editable(_arg1:Boolean):void{ _editable = _arg1; updateTextFieldType(); } public function setSelection(_arg1:int, _arg2:int):void{ textField.setSelection(_arg1, _arg2); } public function get condenseWhite():Boolean{ return (textField.condenseWhite); } public function get displayAsPassword():Boolean{ return (textField.displayAsPassword); } public function get selectionBeginIndex():int{ return (textField.selectionBeginIndex); } override protected function configUI():void{ super.configUI(); tabChildren = true; textField = new TextField(); addChild(textField); updateTextFieldType(); textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput, false, 0, true); textField.addEventListener(Event.CHANGE, handleChange, false, 0, true); textField.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, false, 0, true); } public function get maxChars():int{ return (textField.maxChars); } public function set text(_arg1:String):void{ textField.text = _arg1; _html = false; invalidate(InvalidationType.DATA); invalidate(InvalidationType.STYLES); } protected function updateTextFieldType():void{ textField.type = (((enabled) && (editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC; textField.selectable = enabled; } protected function handleKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.ENTER){ dispatchEvent(new ComponentEvent(ComponentEvent.ENTER, true)); }; } public function get horizontalScrollPosition():int{ return (textField.scrollH); } public function get selectionEndIndex():int{ return (textField.selectionEndIndex); } public function get editable():Boolean{ return (_editable); } public function get maxHorizontalScrollPosition():int{ return (textField.maxScrollH); } public function appendText(_arg1:String):void{ textField.appendText(_arg1); } protected function drawTextFormat():void{ var _local1:Object = UIComponent.getStyleDefinition(); var _local2:TextFormat = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); var _local3:TextFormat = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3; setEmbedFont(); if (_html){ textField.htmlText = _savedHTML; }; } public function get length():int{ return (textField.length); } public function set htmlText(_arg1:String):void{ if (_arg1 == ""){ text = ""; return; }; _html = true; _savedHTML = _arg1; textField.htmlText = _arg1; invalidate(InvalidationType.DATA); invalidate(InvalidationType.STYLES); } protected function handleTextInput(_arg1:TextEvent):void{ _arg1.stopPropagation(); dispatchEvent(new TextEvent(TextEvent.TEXT_INPUT, true, false, _arg1.text)); } public function set restrict(_arg1:String):void{ if (((componentInspectorSetting) && ((_arg1 == "")))){ _arg1 = null; }; textField.restrict = _arg1; } public function getLineMetrics(_arg1:int):TextLineMetrics{ return (textField.getLineMetrics(_arg1)); } override public function drawFocus(_arg1:Boolean):void{ if (focusTarget != null){ focusTarget.drawFocus(_arg1); return; }; super.drawFocus(_arg1); } override protected function focusInHandler(_arg1:FocusEvent):void{ if (_arg1.target == this){ stage.focus = textField; }; var _local2:IFocusManager = focusManager; if (((editable) && (_local2))){ _local2.showFocusIndicator = true; if (((textField.selectable) && ((textField.selectionBeginIndex == textField.selectionBeginIndex)))){ setSelection(0, textField.length); }; }; super.focusInHandler(_arg1); if (editable){ setIMEMode(true); }; } public function get htmlText():String{ return (textField.htmlText); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 163
//UIScrollBar (fl.controls.UIScrollBar) package fl.controls { import flash.events.*; import fl.core.*; import flash.text.*; import fl.events.*; public class UIScrollBar extends ScrollBar { protected var inEdit:Boolean;// = false protected var inScroll:Boolean;// = false protected var _scrollTarget:TextField; private static var defaultStyles:Object = {}; protected function updateScrollTargetProperties():void{ var _local1:Boolean; var _local2:Number; if (_scrollTarget == null){ setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, pageScrollSize); scrollPosition = 0; } else { _local1 = (direction == ScrollBarDirection.HORIZONTAL); _local2 = (_local1) ? _scrollTarget.width : 10; setScrollProperties(_local2, (_local1) ? 0 : 1, (_local1) ? _scrollTarget.maxScrollH : _scrollTarget.maxScrollV, pageScrollSize); scrollPosition = (_local1) ? _scrollTarget.scrollH : _scrollTarget.scrollV; }; } override public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ var _local5:Number = _arg3; var _local6:Number = ((_arg2)<0) ? 0 : _arg2; if (_scrollTarget != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local5 = ((_arg3)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local5; } else { _local5 = ((_arg3)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local5; }; }; super.setScrollProperties(_arg1, _local6, _local5, _arg4); } protected function handleTargetScroll(_arg1:Event):void{ if (inDrag){ return; }; if (!enabled){ return; }; inEdit = true; updateScrollTargetProperties(); scrollPosition = ((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV; inEdit = false; } override public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ super.setScrollPosition(_arg1, _arg2); if (!_scrollTarget){ inScroll = false; return; }; updateTargetScroll(); } public function get scrollTargetName():String{ return (_scrollTarget.name); } override protected function draw():void{ if (isInvalid(InvalidationType.DATA)){ updateScrollTargetProperties(); }; super.draw(); } override public function set direction(_arg1:String):void{ if (isLivePreview){ return; }; super.direction = _arg1; updateScrollTargetProperties(); } protected function updateTargetScroll(_arg1:ScrollEvent=null):void{ if (inEdit){ return; }; if (direction == ScrollBarDirection.HORIZONTAL){ _scrollTarget.scrollH = scrollPosition; } else { _scrollTarget.scrollV = scrollPosition; }; } override public function set minScrollPosition(_arg1:Number):void{ super.minScrollPosition = ((_arg1)<0) ? 0 : _arg1; } override public function set maxScrollPosition(_arg1:Number):void{ var _local2:Number = _arg1; if (_scrollTarget != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local2 = ((_local2)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local2; } else { _local2 = ((_local2)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local2; }; }; super.maxScrollPosition = _local2; } protected function handleTargetChange(_arg1:Event):void{ inEdit = true; setScrollPosition(((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV, true); updateScrollTargetProperties(); inEdit = false; } public function update():void{ inEdit = true; updateScrollTargetProperties(); inEdit = false; } public function set scrollTargetName(_arg1:String):void{ var target = _arg1; try { scrollTarget = (parent.getChildByName(target) as TextField); } catch(error:Error) { throw (new Error("ScrollTarget not found, or is not a TextField")); }; } public function set scrollTarget(_arg1:TextField):void{ if (_scrollTarget != null){ _scrollTarget.removeEventListener(Event.CHANGE, handleTargetChange, false); _scrollTarget.removeEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false); _scrollTarget.removeEventListener(Event.SCROLL, handleTargetScroll, false); removeEventListener(ScrollEvent.SCROLL, updateTargetScroll, false); }; _scrollTarget = _arg1; if (_scrollTarget != null){ _scrollTarget.addEventListener(Event.CHANGE, handleTargetChange, false, 0, true); _scrollTarget.addEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false, 0, true); _scrollTarget.addEventListener(Event.SCROLL, handleTargetScroll, false, 0, true); addEventListener(ScrollEvent.SCROLL, updateTargetScroll, false, 0, true); }; invalidate(InvalidationType.DATA); } public function get scrollTarget():TextField{ return (_scrollTarget); } override public function get direction():String{ return (super.direction); } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.controls
Section 164
//ComponentShim (fl.core.ComponentShim) package fl.core { import flash.display.*; public dynamic class ComponentShim extends MovieClip { } }//package fl.core
Section 165
//InvalidationType (fl.core.InvalidationType) package fl.core { public class InvalidationType { public static const SIZE:String = "size"; public static const ALL:String = "all"; public static const DATA:String = "data"; public static const SCROLL:String = "scroll"; public static const STATE:String = "state"; public static const STYLES:String = "styles"; public static const SELECTED:String = "selected"; public static const RENDERER_STYLES:String = "rendererStyles"; } }//package fl.core
Section 166
//UIComponent (fl.core.UIComponent) package fl.core { import flash.events.*; import flash.display.*; import flash.text.*; import fl.managers.*; import fl.events.*; import flash.utils.*; import flash.system.*; public class UIComponent extends Sprite { protected var _x:Number; protected var _enabled:Boolean;// = true protected var callLaterMethods:Dictionary; private var _mouseFocusEnabled:Boolean;// = true private var tempText:TextField; private var _focusEnabled:Boolean;// = true protected var startHeight:Number; protected var _height:Number; protected var invalidateFlag:Boolean;// = false protected var _oldIMEMode:String;// = null protected var _inspector:Boolean;// = false protected var startWidth:Number; public var focusTarget:IFocusManagerComponent; protected var errorCaught:Boolean;// = false protected var invalidHash:Object; protected var sharedStyles:Object; protected var uiFocusRect:DisplayObject; protected var isLivePreview:Boolean;// = false protected var _imeMode:String;// = null protected var _width:Number; protected var instanceStyles:Object; public var version:String;// = "3.0.0.16" protected var isFocused:Boolean;// = false protected var _y:Number; public static var inCallLaterPhase:Boolean = false; private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)}; public static var createAccessibilityImplementation:Function; private static var focusManagers:Dictionary = new Dictionary(false); public function UIComponent(){ instanceStyles = {}; sharedStyles = {}; invalidHash = {}; callLaterMethods = new Dictionary(); StyleManager.registerInstance(this); configUI(); invalidate(InvalidationType.ALL); tabEnabled = (this is IFocusManagerComponent); focusRect = false; if (tabEnabled){ addEventListener(FocusEvent.FOCUS_IN, focusInHandler); addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler); addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); }; initializeFocusManager(); addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true); } public function getStyle(_arg1:String):Object{ return (instanceStyles[_arg1]); } protected function checkLivePreview():Boolean{ var className:String; if (parent == null){ return (false); }; try { className = getQualifiedClassName(parent); } catch(e:Error) { }; return ((className == "fl.livepreview::LivePreviewParent")); } private function callLaterDispatcher(_arg1:Event):void{ var _local3:Object; if (_arg1.type == Event.ADDED_TO_STAGE){ removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher); stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); return; }; _arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher); if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); return; }; inCallLaterPhase = true; var _local2:Dictionary = callLaterMethods; for (_local3 in _local2) { _local3(); delete _local2[_local3]; }; inCallLaterPhase = false; } protected function validate():void{ invalidHash = {}; } protected function focusOutHandler(_arg1:FocusEvent):void{ if (isOurFocus((_arg1.target as DisplayObject))){ drawFocus(false); isFocused = false; }; } public function set mouseFocusEnabled(_arg1:Boolean):void{ _mouseFocusEnabled = _arg1; } public function getFocus():InteractiveObject{ if (stage){ return (stage.focus); }; return (null); } override public function get height():Number{ return (_height); } private function addedHandler(_arg1:Event):void{ removeEventListener("addedToStage", addedHandler); initializeFocusManager(); } protected function getStyleValue(_arg1:String):Object{ return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]); } public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{ invalidHash[_arg1] = true; if (_arg2){ this.callLater(draw); }; } protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((_arg1 == this)); } public function get enabled():Boolean{ return (_enabled); } protected function getScaleX():Number{ return (super.scaleX); } protected function getScaleY():Number{ return (super.scaleY); } public function get focusEnabled():Boolean{ return (_focusEnabled); } protected function afterComponentParameters():void{ } override public function get scaleY():Number{ return ((height / startHeight)); } protected function setIMEMode(_arg1:Boolean){ var enabled = _arg1; if (_imeMode != null){ if (enabled){ IME.enabled = true; _oldIMEMode = IME.conversionMode; try { if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _imeMode; }; errorCaught = false; } catch(e:Error) { errorCaught = true; throw (new Error(("IME mode not supported: " + _imeMode))); }; } else { if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _oldIMEMode; }; IME.enabled = false; }; }; } protected function draw():void{ if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } override public function set height(_arg1:Number):void{ if (_height == _arg1){ return; }; setSize(width, _arg1); } protected function configUI():void{ isLivePreview = checkLivePreview(); var _local1:Number = rotation; rotation = 0; var _local2:Number = super.width; var _local3:Number = super.height; var _local4 = 1; super.scaleY = _local4; super.scaleX = _local4; setSize(_local2, _local3); move(super.x, super.y); rotation = _local1; startWidth = _local2; startHeight = _local3; if (numChildren > 0){ removeChildAt(0); }; } protected function setScaleY(_arg1:Number):void{ super.scaleY = _arg1; } override public function get scaleX():Number{ return ((width / startWidth)); } protected function setScaleX(_arg1:Number):void{ super.scaleX = _arg1; } private function initializeFocusManager():void{ if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true); } else { createFocusManager(); }; } protected function keyDownHandler(_arg1:KeyboardEvent):void{ } public function set focusManager(_arg1:IFocusManager):void{ UIComponent.focusManagers[this] = _arg1; } public function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } protected function isInvalid(_arg1:String, ... _args):Boolean{ if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){ return (true); }; while (_args.length > 0) { if (invalidHash[_args.pop()]){ return (true); }; }; return (false); } public function setStyle(_arg1:String, _arg2:Object):void{ if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; instanceStyles[_arg1] = _arg2; invalidate(InvalidationType.STYLES); } override public function get visible():Boolean{ return (super.visible); } protected function focusInHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; if (isOurFocus((_arg1.target as DisplayObject))){ _local2 = focusManager; if (((_local2) && (_local2.showFocusIndicator))){ drawFocus(true); isFocused = true; }; }; } public function get componentInspectorSetting():Boolean{ return (_inspector); } override public function get x():Number{ return ((isNaN(_x)) ? super.x : _x); } override public function get y():Number{ return ((isNaN(_y)) ? super.y : _y); } public function set enabled(_arg1:Boolean):void{ if (_arg1 == _enabled){ return; }; _enabled = _arg1; invalidate(InvalidationType.STATE); } public function setSize(_arg1:Number, _arg2:Number):void{ _width = _arg1; _height = _arg2; invalidate(InvalidationType.SIZE); dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false)); } protected function keyUpHandler(_arg1:KeyboardEvent):void{ } public function setSharedStyle(_arg1:String, _arg2:Object):void{ if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; sharedStyles[_arg1] = _arg2; if (instanceStyles[_arg1] == null){ invalidate(InvalidationType.STYLES); }; } public function set focusEnabled(_arg1:Boolean):void{ _focusEnabled = _arg1; } override public function set width(_arg1:Number):void{ if (_width == _arg1){ return; }; setSize(_arg1, height); } public function setFocus():void{ if (stage){ stage.focus = this; }; } override public function set scaleX(_arg1:Number):void{ setSize((startWidth * _arg1), height); } public function get mouseFocusEnabled():Boolean{ return (_mouseFocusEnabled); } override public function set scaleY(_arg1:Number):void{ setSize(width, (startHeight * _arg1)); } protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{ var skin = _arg1; var classDef:Object; if ((skin is Class)){ return ((new (skin) as DisplayObject)); }; if ((skin is DisplayObject)){ (skin as DisplayObject).x = 0; (skin as DisplayObject).y = 0; return ((skin as DisplayObject)); }; try { classDef = getDefinitionByName(skin.toString()); } catch(e:Error) { try { classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object); } catch(e:Error) { }; }; if (classDef == null){ return (null); }; return ((new (classDef) as DisplayObject)); } protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{ var _local3:String; for (_local3 in _arg2) { _arg1.setStyle(_local3, getStyleValue(_arg2[_local3])); }; } protected function initializeAccessibility():void{ if (UIComponent.createAccessibilityImplementation != null){ UIComponent.createAccessibilityImplementation(this); }; } public function get focusManager():IFocusManager{ var _local1:DisplayObject = this; while (_local1) { if (UIComponent.focusManagers[_local1] != null){ return (IFocusManager(UIComponent.focusManagers[_local1])); }; _local1 = _local1.parent; }; return (null); } override public function get width():Number{ return (_width); } protected function beforeComponentParameters():void{ } protected function callLater(_arg1:Function):void{ if (inCallLaterPhase){ return; }; callLaterMethods[_arg1] = true; if (stage != null){ stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); } else { addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); }; } public function move(_arg1:Number, _arg2:Number):void{ _x = _arg1; _y = _arg2; super.x = Math.round(_arg1); super.y = Math.round(_arg2); dispatchEvent(new ComponentEvent(ComponentEvent.MOVE)); } public function validateNow():void{ invalidate(InvalidationType.ALL, false); draw(); } override public function set visible(_arg1:Boolean):void{ if (super.visible == _arg1){ return; }; super.visible = _arg1; var _local2:String = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE; dispatchEvent(new ComponentEvent(_local2, true)); } protected function createFocusManager():void{ if (focusManagers[stage] == null){ focusManagers[stage] = new FocusManager(stage); }; } protected function hookAccessibility(_arg1:Event):void{ removeEventListener(Event.ENTER_FRAME, hookAccessibility); initializeAccessibility(); } public function set componentInspectorSetting(_arg1:Boolean):void{ _inspector = _arg1; if (_inspector){ beforeComponentParameters(); } else { afterComponentParameters(); }; } override public function set y(_arg1:Number):void{ move(_x, _arg1); } public function drawFocus(_arg1:Boolean):void{ var _local2:Number; isFocused = _arg1; if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){ removeChild(uiFocusRect); uiFocusRect = null; }; if (_arg1){ uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite); if (uiFocusRect == null){ return; }; _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = -(_local2); uiFocusRect.y = -(_local2); uiFocusRect.width = (width + (_local2 * 2)); uiFocusRect.height = (height + (_local2 * 2)); addChildAt(uiFocusRect, 0); }; } override public function set x(_arg1:Number):void{ move(_arg1, _y); } public function drawNow():void{ draw(); } public static function getStyleDefinition():Object{ return (defaultStyles); } public static function mergeStyles(... _args):Object{ var _local5:Object; var _local6:String; var _local2:Object = {}; var _local3:uint = _args.length; var _local4:uint; while (_local4 < _local3) { _local5 = _args[_local4]; for (_local6 in _local5) { if (_local2[_local6] != null){ } else { _local2[_local6] = _args[_local4][_local6]; }; }; _local4++; }; return (_local2); } } }//package fl.core
Section 167
//ComponentEvent (fl.events.ComponentEvent) package fl.events { import flash.events.*; public class ComponentEvent extends Event { public static const HIDE:String = "hide"; public static const BUTTON_DOWN:String = "buttonDown"; public static const MOVE:String = "move"; public static const RESIZE:String = "resize"; public static const ENTER:String = "enter"; public static const LABEL_CHANGE:String = "labelChange"; public static const SHOW:String = "show"; public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("ComponentEvent", "type", "bubbles", "cancelable")); } override public function clone():Event{ return (new ComponentEvent(type, bubbles, cancelable)); } } }//package fl.events
Section 168
//ScrollEvent (fl.events.ScrollEvent) package fl.events { import flash.events.*; public class ScrollEvent extends Event { private var _direction:String; private var _position:Number; private var _delta:Number; public static const SCROLL:String = "scroll"; public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){ super(ScrollEvent.SCROLL, false, false); _direction = _arg1; _delta = _arg2; _position = _arg3; } public function get position():Number{ return (_position); } public function get direction():String{ return (_direction); } public function get delta():Number{ return (_delta); } override public function toString():String{ return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position")); } override public function clone():Event{ return (new ScrollEvent(_direction, _delta, _position)); } } }//package fl.events
Section 169
//FocusManager (fl.managers.FocusManager) package fl.managers { import flash.events.*; import flash.display.*; import fl.controls.*; import fl.core.*; import flash.text.*; import flash.utils.*; import flash.ui.*; public class FocusManager implements IFocusManager { private var focusableObjects:Dictionary; private var _showFocusIndicator:Boolean;// = true private var defButton:Button; private var focusableCandidates:Array; private var _form:DisplayObjectContainer; private var _defaultButtonEnabled:Boolean;// = true private var activated:Boolean;// = false private var _defaultButton:Button; private var calculateCandidates:Boolean;// = true private var lastFocus:InteractiveObject; private var lastAction:String; public function FocusManager(_arg1:DisplayObjectContainer){ focusableObjects = new Dictionary(true); if (_arg1 != null){ _form = _arg1; addFocusables(DisplayObject(_arg1)); _arg1.addEventListener(Event.ADDED, addedHandler); _arg1.addEventListener(Event.REMOVED, removedHandler); activate(); }; } public function get showFocusIndicator():Boolean{ return (_showFocusIndicator); } private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{ var _local7:DisplayObject; var _local8:IFocusManagerGroup; var _local9:int; var _local10:DisplayObject; var _local11:IFocusManagerGroup; var _local5:int = focusableCandidates.length; var _local6:int = _arg1; while (true) { if (_arg2){ _arg1--; } else { _arg1++; }; if (_arg3){ if (((_arg2) && ((_arg1 < 0)))){ break; }; if (((!(_arg2)) && ((_arg1 == _local5)))){ break; }; } else { _arg1 = ((_arg1 + _local5) % _local5); if (_local6 == _arg1){ break; }; }; if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){ _local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1])); if ((_local7 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local7); _local9 = 0; while (_local9 < focusableCandidates.length) { _local10 = focusableCandidates[_local9]; if ((_local10 is IFocusManagerGroup)){ _local11 = IFocusManagerGroup(_local10); if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){ _arg1 = _local9; break; }; }; _local9++; }; }; return (_arg1); }; }; return (_arg1); } private function mouseFocusChangeHandler(_arg1:FocusEvent):void{ if ((_arg1.relatedObject is TextField)){ return; }; _arg1.preventDefault(); } public function set form(_arg1:DisplayObjectContainer):void{ _form = _arg1; } private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{ var focusable:IFocusManagerComponent; var io:InteractiveObject; var doc:DisplayObjectContainer; var i:int; var child:DisplayObject; var o = _arg1; var skipTopLevel = _arg2; if (!skipTopLevel){ if ((o is IFocusManagerComponent)){ focusable = IFocusManagerComponent(o); if (focusable.focusEnabled){ if (((focusable.tabEnabled) && (isTabVisible(o)))){ focusableObjects[o] = true; calculateCandidates = true; }; o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; } else { if ((o is InteractiveObject)){ io = (o as InteractiveObject); if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){ focusableObjects[io] = true; calculateCandidates = true; }; io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; }; }; if ((o is DisplayObjectContainer)){ doc = DisplayObjectContainer(o); o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){ i = 0; while (i < doc.numChildren) { try { child = doc.getChildAt(i); if (child != null){ addFocusables(doc.getChildAt(i)); }; } catch(error:SecurityError) { }; i = (i + 1); }; }; }; } private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{ return (_arg1.getChildIndex(_arg2)); } public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{ var _local2:InteractiveObject = _arg1; while (_arg1) { if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){ return (_arg1); }; _arg1 = _arg1.parent; }; return (_local2); } private function focusOutHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject = (_arg1.target as InteractiveObject); } private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{ var _local3:IFocusManagerGroup; if (!isEnabledAndVisible(_arg1)){ return (false); }; if ((_arg1 is IFocusManagerGroup)){ _local3 = IFocusManagerGroup(_arg1); if (_arg2 == _local3.groupName){ return (false); }; }; return (true); } private function setFocusToNextObject(_arg1:FocusEvent):void{ if (!hasFocusableObjects()){ return; }; var _local2:InteractiveObject = getNextFocusManagerComponent(_arg1.shiftKey); if (_local2){ setFocus(_local2); }; } private function sortFocusableObjectsTabIndex():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){ focusableCandidates.push(_local2); }; }; focusableCandidates.sort(sortByTabIndex); } private function removeFocusables(_arg1:DisplayObject):void{ var _local2:Object; var _local3:DisplayObject; if ((_arg1 is DisplayObjectContainer)){ _arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); _arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); for (_local2 in focusableObjects) { _local3 = DisplayObject(_local2); if (DisplayObjectContainer(_arg1).contains(_local3)){ if (_local3 == lastFocus){ lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local2]; calculateCandidates = true; }; }; }; } private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{ while (_arg1 != InteractiveObject(form)) { if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){ return (_arg1); }; _arg1 = _arg1.parent; if (_arg1 == null){ break; }; }; return (null); } public function sendDefaultButtonEvent():void{ defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } private function addedHandler(_arg1:Event):void{ var _local2:DisplayObject = DisplayObject(_arg1.target); if (_local2.stage){ addFocusables(DisplayObject(_arg1.target)); }; } private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{ var _local3:TextField; var _local4:SimpleButton; var _local2:DisplayObjectContainer = DisplayObject(form).parent; while (_arg1 != _local2) { if ((_arg1 is UIComponent)){ if (!UIComponent(_arg1).enabled){ return (false); }; } else { if ((_arg1 is TextField)){ _local3 = TextField(_arg1); if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){ return (false); }; } else { if ((_arg1 is SimpleButton)){ _local4 = SimpleButton(_arg1); if (!_local4.enabled){ return (false); }; }; }; }; if (!_arg1.visible){ return (false); }; _arg1 = _arg1.parent; }; return (true); } private function tabChildrenChangeHandler(_arg1:Event):void{ if (_arg1.target != _arg1.currentTarget){ return; }; calculateCandidates = true; var _local2:DisplayObjectContainer = DisplayObjectContainer(_arg1.target); if (_local2.tabChildren){ addFocusables(_local2, true); } else { removeFocusables(_local2); }; } private function deactivateHandler(_arg1:Event):void{ var _local2:InteractiveObject = InteractiveObject(_arg1.target); } public function setFocus(_arg1:InteractiveObject):void{ if ((_arg1 is IFocusManagerComponent)){ IFocusManagerComponent(_arg1).setFocus(); } else { form.stage.focus = _arg1; }; } public function getFocus():InteractiveObject{ var _local1:InteractiveObject = form.stage.focus; return (findFocusManagerComponent(_local1)); } private function hasFocusableObjects():Boolean{ var _local1:Object; for (_local1 in focusableObjects) { return (true); }; return (false); } private function tabIndexChangeHandler(_arg1:Event):void{ calculateCandidates = true; } public function set defaultButton(_arg1:Button):void{ var _local2:Button = (_arg1) ? Button(_arg1) : null; if (_local2 != _defaultButton){ if (_defaultButton){ _defaultButton.emphasized = false; }; if (defButton){ defButton.emphasized = false; }; _defaultButton = _local2; defButton = _local2; if (_local2){ _local2.emphasized = true; }; }; } private function sortFocusableObjects():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){ sortFocusableObjectsTabIndex(); return; }; focusableCandidates.push(_local2); }; focusableCandidates.sort(sortByDepth); } private function keyFocusChangeHandler(_arg1:FocusEvent):void{ showFocusIndicator = true; if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){ setFocusToNextObject(_arg1); _arg1.preventDefault(); }; } private function getIndexOfFocusedObject(_arg1:DisplayObject):int{ var _local2:int = focusableCandidates.length; var _local3:int; _local3 = 0; while (_local3 < _local2) { if (focusableCandidates[_local3] == _arg1){ return (_local3); }; _local3++; }; return (-1); } public function hideFocus():void{ } private function removedHandler(_arg1:Event):void{ var _local2:int; var _local4:InteractiveObject; var _local3:DisplayObject = DisplayObject(_arg1.target); if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){ if (_local3 == lastFocus){ IFocusManagerComponent(lastFocus).drawFocus(false); lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local3]; calculateCandidates = true; } else { if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){ _local4 = (_local3 as InteractiveObject); if (_local4){ if (_local4 == lastFocus){ lastFocus = null; }; delete focusableObjects[_local4]; calculateCandidates = true; }; _local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); }; }; removeFocusables(_local3); } private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{ var _local5:int; var _local6:String; var _local7:String; var _local3 = ""; var _local4 = ""; var _local8 = "0000"; var _local9:DisplayObject = DisplayObject(_arg1); var _local10:DisplayObject = DisplayObject(_arg2); while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) { _local5 = getChildIndex(_local9.parent, _local9); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local3 = (_local7 + _local3); _local9 = _local9.parent; }; while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) { _local5 = getChildIndex(_local10.parent, _local10); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local4 = (_local7 + _local4); _local10 = _local10.parent; }; return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0); } public function get defaultButton():Button{ return (_defaultButton); } private function activateHandler(_arg1:Event):void{ var _local2:InteractiveObject = InteractiveObject(_arg1.target); if (lastFocus){ if ((lastFocus is IFocusManagerComponent)){ IFocusManagerComponent(lastFocus).setFocus(); } else { form.stage.focus = lastFocus; }; }; lastAction = "ACTIVATE"; } public function showFocus():void{ } public function set defaultButtonEnabled(_arg1:Boolean):void{ _defaultButtonEnabled = _arg1; } public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{ var _local8:IFocusManagerGroup; if (!hasFocusableObjects()){ return (null); }; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; var _local2:DisplayObject = form.stage.focus; _local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2))); var _local3 = ""; if ((_local2 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local2); _local3 = _local8.groupName; }; var _local4:int = getIndexOfFocusedObject(_local2); var _local5:Boolean; var _local6:int = _local4; if (_local4 == -1){ if (_arg1){ _local4 = focusableCandidates.length; }; _local5 = true; }; var _local7:int = getIndexOfNextObject(_local4, _arg1, _local5, _local3); return (findFocusManagerComponent(focusableCandidates[_local7])); } private function mouseDownHandler(_arg1:MouseEvent):void{ if (_arg1.isDefaultPrevented()){ return; }; var _local2:InteractiveObject = getTopLevelFocusTarget(InteractiveObject(_arg1.target)); if (!_local2){ return; }; showFocusIndicator = false; if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){ setFocus(_local2); }; lastAction = "MOUSEDOWN"; } private function isTabVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer = _arg1.parent; while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) { if (!_local2.tabChildren){ return (false); }; _local2 = _local2.parent; }; return (true); } public function get nextTabIndex():int{ return (0); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.TAB){ lastAction = "KEY"; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; }; if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){ sendDefaultButtonEvent(); }; } private function focusInHandler(_arg1:FocusEvent):void{ var _local3:Button; var _local2:InteractiveObject = InteractiveObject(_arg1.target); if (form.contains(_local2)){ lastFocus = findFocusManagerComponent(InteractiveObject(_local2)); if ((lastFocus is Button)){ _local3 = Button(lastFocus); if (defButton){ defButton.emphasized = false; defButton = _local3; _local3.emphasized = true; }; } else { if (((defButton) && (!((defButton == _defaultButton))))){ defButton.emphasized = false; defButton = _defaultButton; _defaultButton.emphasized = true; }; }; }; } private function tabEnabledChangeHandler(_arg1:Event):void{ calculateCandidates = true; var _local2:InteractiveObject = InteractiveObject(_arg1.target); var _local3 = (focusableObjects[_local2] == true); if (_local2.tabEnabled){ if (((!(_local3)) && (isTabVisible(_local2)))){ if (!(_local2 is IFocusManagerComponent)){ _local2.focusRect = false; }; focusableObjects[_local2] = true; }; } else { if (_local3){ delete focusableObjects[_local2]; }; }; } public function set showFocusIndicator(_arg1:Boolean):void{ _showFocusIndicator = _arg1; } public function get form():DisplayObjectContainer{ return (_form); } private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{ return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2)); } public function get defaultButtonEnabled():Boolean{ return (_defaultButtonEnabled); } public function activate():void{ if (activated){ return; }; form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true); form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true); form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true); form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true); form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = true; if (lastFocus){ setFocus(lastFocus); }; } public function deactivate():void{ form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler); form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.removeEventListener(Event.ACTIVATE, activateHandler); form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler); form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = false; } } }//package fl.managers
Section 170
//IFocusManager (fl.managers.IFocusManager) package fl.managers { import flash.display.*; import fl.controls.*; public interface IFocusManager { function getFocus():InteractiveObject; function deactivate():void; function set defaultButton(_arg1:Button):void; function set showFocusIndicator(_arg1:Boolean):void; function get defaultButtonEnabled():Boolean; function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject; function get nextTabIndex():int; function get defaultButton():Button; function get showFocusIndicator():Boolean; function hideFocus():void; function activate():void; function showFocus():void; function set defaultButtonEnabled(_arg1:Boolean):void; function setFocus(_arg1:InteractiveObject):void; function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject; } }//package fl.managers
Section 171
//IFocusManagerComponent (fl.managers.IFocusManagerComponent) package fl.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package fl.managers
Section 172
//IFocusManagerGroup (fl.managers.IFocusManagerGroup) package fl.managers { public interface IFocusManagerGroup { function get groupName():String; function get selected():Boolean; function set groupName(_arg1:String):void; function set selected(_arg1:Boolean):void; } }//package fl.managers
Section 173
//StyleManager (fl.managers.StyleManager) package fl.managers { import fl.core.*; import flash.text.*; import flash.utils.*; public class StyleManager { private var classToInstancesDict:Dictionary; private var globalStyles:Object; private var styleToClassesHash:Object; private var classToStylesDict:Dictionary; private var classToDefaultStylesDict:Dictionary; private static var _instance:StyleManager; public function StyleManager(){ styleToClassesHash = {}; classToInstancesDict = new Dictionary(true); classToStylesDict = new Dictionary(true); classToDefaultStylesDict = new Dictionary(true); globalStyles = UIComponent.getStyleDefinition(); } public static function clearComponentStyle(_arg1:Object, _arg2:String):void{ var _local3:Class = getClassDef(_arg1); var _local4:Object = getInstance().classToStylesDict[_local3]; if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){ delete _local4[_arg2]; invalidateComponentStyle(_local3, _arg2); }; } private static function getClassDef(_arg1:Object):Class{ var component = _arg1; if ((component is Class)){ return ((component as Class)); }; try { return ((getDefinitionByName(getQualifiedClassName(component)) as Class)); } catch(e:Error) { if ((component is UIComponent)){ try { return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class)); } catch(e:Error) { }; }; }; return (null); } public static function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Class = getClassDef(_arg1); var _local5:Object = getInstance().classToStylesDict[_local4]; if (_local5 == null){ _local5 = (getInstance().classToStylesDict[_local4] = {}); }; if (_local5 == _arg3){ return; }; _local5[_arg2] = _arg3; invalidateComponentStyle(_local4, _arg2); } private static function setSharedStyles(_arg1:UIComponent):void{ var _local5:String; var _local2:StyleManager = getInstance(); var _local3:Class = getClassDef(_arg1); var _local4:Object = _local2.classToDefaultStylesDict[_local3]; for (_local5 in _local4) { _arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5)); }; } public static function getComponentStyle(_arg1:Object, _arg2:String):Object{ var _local3:Class = getClassDef(_arg1); var _local4:Object = getInstance().classToStylesDict[_local3]; return (((_local4)==null) ? null : _local4[_arg2]); } private static function getInstance(){ if (_instance == null){ _instance = new (StyleManager); }; return (_instance); } private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{ var _local4:Object; var _local5:UIComponent; var _local3:Dictionary = getInstance().classToInstancesDict[_arg1]; if (_local3 == null){ return; }; for (_local4 in _local3) { _local5 = (_local4 as UIComponent); if (_local5 == null){ } else { _local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2)); }; }; } private static function invalidateStyle(_arg1:String):void{ var _local3:Object; var _local2:Dictionary = getInstance().styleToClassesHash[_arg1]; if (_local2 == null){ return; }; for (_local3 in _local2) { invalidateComponentStyle(Class(_local3), _arg1); }; } public static function registerInstance(_arg1:UIComponent):void{ var target:Class; var defaultStyles:Object; var styleToClasses:Object; var n:String; var instance = _arg1; var inst:StyleManager = getInstance(); var classDef:Class = getClassDef(instance); if (classDef == null){ return; }; if (inst.classToInstancesDict[classDef] == null){ inst.classToInstancesDict[classDef] = new Dictionary(true); target = classDef; while (defaultStyles == null) { if (target["getStyleDefinition"] != null){ defaultStyles = target["getStyleDefinition"](); break; }; try { target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class); } catch(err:Error) { try { target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class); } catch(e:Error) { defaultStyles = UIComponent.getStyleDefinition(); break; }; }; }; styleToClasses = inst.styleToClassesHash; for (n in defaultStyles) { if (styleToClasses[n] == null){ styleToClasses[n] = new Dictionary(true); }; styleToClasses[n][classDef] = true; }; inst.classToDefaultStylesDict[classDef] = defaultStyles; if (inst.classToStylesDict[classDef] == null){ inst.classToStylesDict[classDef] = {}; }; }; inst.classToInstancesDict[classDef][instance] = true; setSharedStyles(instance); } public static function getStyle(_arg1:String):Object{ return (getInstance().globalStyles[_arg1]); } private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{ var _local3:Class = getClassDef(_arg1); var _local4:StyleManager = getInstance(); var _local5:Object = _local4.classToStylesDict[_local3][_arg2]; if (_local5 != null){ return (_local5); }; _local5 = _local4.globalStyles[_arg2]; if (_local5 != null){ return (_local5); }; return (_local4.classToDefaultStylesDict[_local3][_arg2]); } public static function setStyle(_arg1:String, _arg2:Object):void{ var _local3:Object = getInstance().globalStyles; if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; _local3[_arg1] = _arg2; invalidateStyle(_arg1); } } }//package fl.managers
Section 174
//None (fl.transitions.easing.None) package fl.transitions.easing { public class None { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package fl.transitions.easing
Section 175
//Tween (fl.transitions.Tween) package fl.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tween extends EventDispatcher { private var _position:Number;// = NAN public var prevTime:Number;// = NAN public var prevPos:Number;// = NAN public var isPlaying:Boolean;// = false private var _fps:Number;// = NAN private var _time:Number;// = NAN public var begin:Number;// = NAN private var _finish:Number;// = NAN public var change:Number;// = NAN public var looping:Boolean;// = false private var _intervalID:uint;// = 0 public var func:Function; private var _timer:Timer;// = null private var _startTime:Number;// = NAN public var prop:String;// = "" private var _duration:Number;// = NAN public var obj:Object;// = null public var useSeconds:Boolean;// = false protected static var _mc:MovieClip = new MovieClip(); public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){ this.func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); }; super(); if (!arguments.length){ return; }; this.obj = _arg1; this.prop = _arg2; this.begin = _arg4; this.position = _arg4; this.duration = _arg6; this.useSeconds = _arg7; if ((_arg3 is Function)){ this.func = _arg3; }; this.finish = _arg5; this._timer = new Timer(100); this.start(); } public function continueTo(_arg1:Number, _arg2:Number):void{ this.begin = this.position; this.finish = _arg1; if (!isNaN(_arg2)){ this.duration = _arg2; }; this.start(); } protected function startEnterFrame():void{ var _local1:Number; if (isNaN(this._fps)){ _mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true); } else { _local1 = (1000 / this._fps); this._timer.delay = _local1; this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true); this._timer.start(); }; this.isPlaying = true; } public function stop():void{ this.stopEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position)); } private function fixTime():void{ if (this.useSeconds){ this._startTime = (getTimer() - (this._time * 1000)); }; } public function set FPS(_arg1:Number):void{ var _local2:Boolean = this.isPlaying; this.stopEnterFrame(); this._fps = _arg1; if (_local2){ this.startEnterFrame(); }; } public function get finish():Number{ return ((this.begin + this.change)); } public function get duration():Number{ return (this._duration); } protected function stopEnterFrame():void{ if (isNaN(this._fps)){ _mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } else { this._timer.stop(); }; this.isPlaying = false; } public function set time(_arg1:Number):void{ this.prevTime = this._time; if (_arg1 > this.duration){ if (this.looping){ this.rewind((_arg1 - this._duration)); this.update(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position)); } else { if (this.useSeconds){ this._time = this._duration; this.update(); }; this.stop(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position)); }; } else { if (_arg1 < 0){ this.rewind(); this.update(); } else { this._time = _arg1; this.update(); }; }; } public function getPosition(_arg1:Number=NaN):Number{ if (isNaN(_arg1)){ _arg1 = this._time; }; return (this.func(_arg1, this.begin, this.change, this._duration)); } public function set finish(_arg1:Number):void{ this.change = (_arg1 - this.begin); } public function set duration(_arg1:Number):void{ this._duration = ((_arg1)<=0) ? Infinity : _arg1; } public function get position():Number{ return (this.getPosition(this._time)); } public function setPosition(_arg1:Number):void{ this.prevPos = this._position; if (this.prop.length){ this.obj[this.prop] = (this._position = _arg1); }; this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position)); } public function resume():void{ this.fixTime(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position)); } public function fforward():void{ this.time = this._duration; this.fixTime(); } protected function onEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function yoyo():void{ this.continueTo(this.begin, this.time); } public function nextFrame():void{ if (this.useSeconds){ this.time = ((getTimer() - this._startTime) / 1000); } else { this.time = (this._time + 1); }; } protected function timerHandler(_arg1:TimerEvent):void{ this.nextFrame(); _arg1.updateAfterEvent(); } public function get FPS():Number{ return (this._fps); } public function rewind(_arg1:Number=0):void{ this._time = _arg1; this.fixTime(); this.update(); } public function set position(_arg1:Number):void{ this.setPosition(_arg1); } public function get time():Number{ return (this._time); } private function update():void{ this.setPosition(this.getPosition(this._time)); } public function start():void{ this.rewind(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position)); } public function prevFrame():void{ if (!this.useSeconds){ this.time = (this._time - 1); }; } } }//package fl.transitions
Section 176
//TweenEvent (fl.transitions.TweenEvent) package fl.transitions { import flash.events.*; public class TweenEvent extends Event { public var position:Number;// = NAN public var time:Number;// = NAN public static const MOTION_START:String = "motionStart"; public static const MOTION_STOP:String = "motionStop"; public static const MOTION_LOOP:String = "motionLoop"; public static const MOTION_CHANGE:String = "motionChange"; public static const MOTION_FINISH:String = "motionFinish"; public static const MOTION_RESUME:String = "motionResume"; public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){ super(_arg1, _arg4, _arg5); this.time = _arg2; this.position = _arg3; } override public function clone():Event{ return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable)); } } }//package fl.transitions
Section 177
//MochiCoins (mochi.as3.MochiCoins) package mochi.as3 { public class MochiCoins { public static const STORE_HIDE:String = "StoreHide"; public static const LOGGED_IN:String = "LoggedIn"; public static const STORE_ITEMS:String = "StoreItems"; public static const NO_USER:String = "NoUser"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; public static const ITEM_NEW:String = "ItemNew"; public static const USER_INFO:String = "UserInfo"; public static const IO_ERROR:String = "IOError"; public static const ITEM_OWNED:String = "ItemOwned"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const ERROR:String = "Error"; public static const LOGGED_OUT:String = "LoggedOut"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const LOGIN_HIDE:String = "LoginHide"; public static const LOGIN_SHOW:String = "LoginShow"; public static const STORE_SHOW:String = "StoreShow"; public static const PROFILE_HIDE:String = "ProfileHide"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static function showItem(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showItem call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showItem", {options:_arg1}, null, null); } public static function saveUserProperties(_arg1:Object):void{ MochiServices.send("coins_saveUserProperties", _arg1); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function showLoginWidget(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showLoginWidget", {options:_arg1}); } public static function getStoreItems():void{ MochiServices.send("coins_getStoreItems"); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showStore(_arg1:Object=null):void{ MochiServices.bringToTop(); MochiServices.send("coins_showStore", {options:_arg1}, null, null); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function getUserInfo():void{ MochiServices.send("coins_getUserInfo"); } public static function hideLoginWidget():void{ MochiServices.send("coins_hideLoginWidget"); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function showVideo(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showVideo call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showVideo", {options:_arg1}, null, null); } } }//package mochi.as3
Section 178
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{ Encoder = 0; setValue(_arg1, _arg2); } public function reencode():void{ var _local1:uint = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function set value(_arg1:Number):void{ setValue(_arg1); } public function toString():String{ var _local1:String = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String = _arg1.toString(); var _temp1 = _arg2; _arg2 = (_arg2 + 1); Fragment = (_local3.charCodeAt(_temp1) ^ Encoder); if (_arg2 < _local3.length){ Sibling = new MochiDigits(_arg1, _arg2); } else { Sibling = null; }; reencode(); } public function get value():Number{ return (Number(this.toString())); } public function addValue(_arg1:Number):void{ value = (value + _arg1); } } }//package mochi.as3
Section 179
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher) package mochi.as3 { public class MochiEventDispatcher { private var eventTable:Object; public function MochiEventDispatcher():void{ eventTable = {}; } public function triggerEvent(_arg1:String, _arg2:Object):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ return; }; for (_local3 in eventTable[_arg1]) { var _local6 = eventTable[_arg1]; _local6[_local3](_arg2); }; } public function removeEventListener(_arg1:String, _arg2:Function):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ eventTable[_arg1] = []; return; }; for (_local3 in eventTable[_arg1]) { if (eventTable[_arg1][_local3] != _arg2){ } else { eventTable[_arg1].splice(Number(_local3), 1); }; }; } public function addEventListener(_arg1:String, _arg2:Function):void{ removeEventListener(_arg1, _arg2); eventTable[_arg1].push(_arg2); } } }//package mochi.as3
Section 180
//MochiEvents (mochi.as3.MochiEvents) package mochi.as3 { import flash.display.*; public class MochiEvents { public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL"; public static const FORMAT_LONG:String = "LongForm"; public static const ALIGN_BOTTOM:String = "ALIGN_B"; public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived"; public static const FORMAT_SHORT:String = "ShortForm"; public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR"; public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR"; public static const ALIGN_TOP:String = "ALIGN_T"; public static const ALIGN_LEFT:String = "ALIGN_L"; public static const ALIGN_RIGHT:String = "ALIGN_R"; public static const ALIGN_TOP_LEFT:String = "ALIGN_TL"; public static const ALIGN_CENTER:String = "ALIGN_C"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var gameStart:Number; private static var levelStart:Number; public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function startSession(_arg1:String):void{ MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{ var _local4:Object; var _local3:Object = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; _local3.clip = _arg1; MochiServices.send("events_setNotifications", _local3, null, null); } public static function endGame():void{ var _local1:Number = (new Date().time - gameStart); trigger("end_game", {time:_local1}); } public static function startGame():void{ gameStart = new Date().time; trigger("start_game"); } public static function trigger(_arg1:String, _arg2:Object=null):void{ if (_arg2 == null){ _arg2 = {}; } else { if (_arg2["kind"] != undefined){ trace("WARNING: optional arguements package contains key 'id', it will be overwritten"); _arg2["kind"] = _arg1; }; }; MochiServices.send("events_triggerEvent", {eventObject:_arg2}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function startLevel():void{ levelStart = new Date().time; trigger("start_level"); } public static function endLevel():void{ var _local1:Number = (new Date().time - levelStart); trigger("end_level", {time:_local1}); } } }//package mochi.as3
Section 181
//MochiScores (mochi.as3.MochiScores) package mochi.as3 { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var n:Number; var options = _arg1; if (options != null){ delete options.clip; MochiServices.setContainer(); MochiServices.bringToTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.warnID(options.boardID, true); trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal"); MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; var _local2:Object = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ _arg1 = Number(_arg1); if (isNaN(_arg1)){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(_arg1) != _arg1){ trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated")); }; _arg1 = Number(_arg1); }; }; MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiServices.warnID(_arg1, true); MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi.as3
Section 182
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.net.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; private static var _preserved:Object; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; public static var servicesSync:MochiSync = new MochiSync(); private static var _clip:MovieClip; private static var _id:String; private static var _services:String = "services.swf"; private static var _servURL:String = "http://www.mochiads.com/static/lib/services/"; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _loader:Loader; private static var _connecting:Boolean = false; private static var _mochiLocalConnection:MovieClip; private static var _listenChannelName:String = "__ms_"; public static var onError:Object; public static var netup:Boolean = true; private static var _mochiLC:String = "MochiLC.swf"; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function onReceive(_arg1:Object):void{ var methodName:String; var pkg = _arg1; var cb:String = pkg.callbackID; var cblst:Object = _clip._callbacks[cb]; if (!cblst){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete _clip._callbacks[cb]; } public static function get childClip():Object{ return (_clip); } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1)); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local4:int; var _local14:Loader; var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; var _local6:Array = [0, 64, 0, 0, 0]; var _local7:MovieClip = new MovieClip(); var _local8:LocalConnection = new LocalConnection(); var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time)); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); var _local10:ByteArray = new ByteArray(); var _local11:ByteArray = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); var _local12:uint = ((_local3.length + _local11.length) + 4); var _local13:uint = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var avm1Click:DisplayObject; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; var vars:Object = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); var s = "?"; var i:Number = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); var _local2:Rectangle = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = _local2.x; avm1Click.y = _local2.y; avm1Click.scaleX = (0.01 * _local2.width); avm1Click.scaleY = (0.01 * _local2.height); }; err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); setURL(burl); }; complete = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function warnID(_arg1:String, _arg2:Boolean):void{ _arg1 = _arg1.toLowerCase(); if (_arg1.length != 16){ trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (_arg1 == "1e113c7239048b3f"){ if (_arg2){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (_arg1 == "84993a1de4031cd8"){ if (_arg2){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; var _local3:Number = 0; while (_local3 < _arg1.length) { switch (_arg1.charAt(_local3)){ case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "a": case "b": case "c": case "d": case "e": case "f": break; default: trace(("WARNING: Board ID contains illegal characters: " + _arg1)); return; }; _local3++; }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _mochiLocalConnection.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; }; return (_local2); } public static function getVersion():String{ return ("3.3 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (((_clip) && (_clip._queue))){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; } public static function get id():String{ return (_id); } private static function onEvent(_arg1:Object):void{ var _local2:String = _arg1.target; var _local3:String = _arg1.event; switch (_local2){ case "events": MochiEvents.triggerEvent(_arg1.event, _arg1.args); break; case "coins": MochiCoins.triggerEvent(_arg1.event, _arg1.args); break; case "sync": servicesSync.triggerEvent(_arg1.event, _arg1.args); break; }; } private static function urlOptions(_arg1:Object):Object{ var _local3:String; var _local4:Array; var _local5:Number; var _local6:Array; var _local2:Object = {}; if (_arg1.stage){ _local3 = _arg1.stage.loaderInfo.parameters.mochiad_options; } else { _local3 = _arg1.loaderInfo.parameters.mochiad_options; }; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } private static function loadError(_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); } private static function initComChannels():void{ if (!_connected){ trace("[SERVICES_API] connected!"); _connecting = false; _connected = true; _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _clip.onReceive = onReceive; _clip.onEvent = onEvent; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; while (_clip._queue.length > 0) { _mochiLocalConnection.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function loadLCBridge(_arg1:Object):void{ var loader:Loader; var clip = _arg1; loader = new Loader(); var mochiLCURL:String = (_servURL + _mochiLC); var req:URLRequest = new URLRequest(mochiLCURL); var complete:Function = function (_arg1:Object):void{ _mochiLocalConnection = MovieClip(loader.content); listen(); }; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); loader.load(req); clip.addChild(loader); } private static function listen():void{ _mochiLocalConnection.connect(_listenChannelName); _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; trace("Waiting for MochiAds services to connect..."); } public static function get clip():Object{ return (_container); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var _local3:String = ("_mochiservices_com_" + _arg1); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(_arg2).servURL){ _servURL = urlOptions(_arg2).servURL; }; var _local4:String = (_servURL + _services); if (urlOptions(_arg2).servicesURL){ _local4 = urlOptions(_arg2).servicesURL; }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999)))); MochiServices.allowDomains(_local4); _clip = createEmptyMovieClip(_arg2, _local3, 10336, false); loadLCBridge(_clip); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); var _local5:URLRequest = new URLRequest(_local4); var _local6:URLVariables = new URLVariables(); _local6.listenLC = _listenChannelName; _local6.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options; _local6.api_version = getVersion(); if (widget){ _local6.widget = true; }; _local5.data = _local6; _loader.load(_local5); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _clip._nextcallbackID = 0; _clip._callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; warnID(id, false); if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; var mc:MovieClip = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function bringToTop(_arg1:Event=null):void{ var e = _arg1; if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; } public static function connectWait(_arg1:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); }; } } }//package mochi.as3
Section 183
//MochiSync (mochi.as3.MochiSync) package mochi.as3 { import flash.utils.*; public dynamic class MochiSync extends Proxy { private var _syncContainer:Object; public static var SYNC_PROPERTY:String = "UpdateProperty"; public static var SYNC_REQUEST:String = "SyncRequest"; public function MochiSync():void{ _syncContainer = {}; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ if (_syncContainer[_arg1] == _arg2){ return; }; var _local3:String = _arg1.toString(); _syncContainer[_local3] = _arg2; MochiServices.send("sync_propUpdate", {name:_local3, value:_arg2}); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ return (_syncContainer[_arg1]); } public function triggerEvent(_arg1:String, _arg2:Object):void{ switch (_arg1){ case SYNC_REQUEST: MochiServices.send("sync_syncronize", _syncContainer); break; case SYNC_PROPERTY: _syncContainer[_arg2.name] = _arg2.value; break; }; } } }//package mochi.as3
Section 184
//Explosion (silin.bitmap.Explosion) package silin.bitmap { import flash.display.*; public class Explosion { private const RANDOMIZE:Number = 1; private var _eachFrameCount:int;// = 100 private var _currArr:Array; private var _totalArr:Array; public function Explosion(_arg1:ExplosionBitmap, _arg2:Number, _arg3:Number, _arg4:String, _arg5:Boolean){ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Particle; _currArr = []; _totalArr = []; super(); _eachFrameCount = _arg1.perFrameCount; var _local6:Number = _arg1.initVelocity; var _local7:Number = _arg1.initRadius; var _local8:int; while (_local8 < _arg1.totalCount) { _local9 = ((Math.random() * Math.PI) * (_arg5) ? -1 : 2); _local10 = (Math.random() * _local6); _local11 = Math.random(); if (_arg4 == ExplosionBitmap.SMOKE){ _local11 = Math.sqrt(_local11); }; _local12 = (_local11 * _local7); _local13 = new Particle(); _local13.sx = (_arg2 + (_local12 * Math.cos(_local9))); _local13.sy = (_arg3 + (_local12 * Math.sin(_local9))); _local13.vx = ((_local10 * Math.cos(_local9)) + (_arg1.wind * Math.random())); _local13.vy = (_local10 * Math.sin(_local9)); _local13.vx = (_local13.vx + (RANDOMIZE * (1 - (2 * Math.random())))); _local13.vy = (_local13.vy + (RANDOMIZE * (1 - (2 * Math.random())))); _local13.energyDamp = _arg1.energyDamp; _local13.chaoticMove = _arg1.chaoticMove; _local13.moveDamp = _arg1.dampMove; if (_arg4 == ExplosionBitmap.SMOKE){ _local13.sy = (_local13.sy + ((((0.5 + Math.random()) * _local12) * (1 - Math.abs(Math.cos(_local9)))) / 2)); _local13.energy = (_local13.energy - (Math.random() / 2)); }; _totalArr.push(_local13); _local8++; }; } public function clear():void{ _currArr = []; _totalArr = []; } public function render(_arg1:BitmapData):void{ var _local3:Particle; if (_totalArr.length >= _eachFrameCount){ _currArr = _currArr.concat(_totalArr.splice(-(_eachFrameCount))); }; var _local2:int; while (_local2 < _currArr.length) { _local3 = _currArr[_local2]; _local3.render(); if (_local3.energy < 0.05){ _currArr.splice(_local2, 1); }; _arg1.setPixel(_local3.sx, _local3.sy, int((_local3.energy * 0xFF))); _local2++; }; } public function get done():Boolean{ return ((_currArr.length == 0)); } public function weak():void{ var _local1:int; _local1 = 0; while (_local1 < _currArr.length) { Particle(_currArr[_local1]).energyDamp = 0.925; _local1++; }; _totalArr = []; } } }//package silin.bitmap
Section 185
//ExplosionBitmap (silin.bitmap.ExplosionBitmap) package silin.bitmap { import flash.events.*; import flash.display.*; import flash.geom.*; import silin.color.*; import flash.filters.*; public class ExplosionBitmap extends Bitmap { public var initRadius:int;// = 20 private var _blur:BlurFilter; public var energyDamp:Number;// = 0.97 public var chaoticMove:Number;// = 0.3 public var initVelocity:Number;// = 2 private var _colors:Array; public var dampMove:Number;// = 0.99 private var _smokeColor:int;// = 16382179 public var wind:Number;// = 0 private var _type:String; private var _explosions:Array; private var _buffer:BitmapData; private var _fireColors:Array; public var totalCount:int;// = 2000 public var perFrameCount:int;// = 200 private static const SMOKE_CHAOTIC_MOVE:Number = 0.2; private static const EXPLOSION_DAMP_MOVE:Number = 0.98; private static const EXPLOSION_TOTAL_COUNT:int = 2000; private static const SMOKE_FRAME_COUNT:int = 50; public static const SMOKE:String = "smoke"; private static const SMOKE_ALPHA:Number = 0.85; private static const EXPLOSION_INIT_RADIUS:int = 16; private static const SMOKE_VELOCITY:Number = 0.5; private static const EXPLOSION_CHAOTIC_MOVE:Number = 0.3; private static const SMOKE_DAMP_MOVE:Number = 0.97; private static const SMOKE_TOTAL_COUNT:int = 2000; private static const EXPLOSION_VELOCITY:Number = 1; private static const SMOKE_DAMP_ENERGY:Number = 0.995; private static const SMOKE_ALPHA_DEVIATION:Number = 0.25; private static const EXPLOSION_BLUR:int = 2; private static const EXPLOSION_FRAME_COUNT:int = 200; public static const EXPLOSION:String = "explosion"; private static const SMOKE_INIT_RADIUS:int = 90; private static const SMOKE_BLUR:int = 8; private static const EXPLOSION_DAMP_ENERGY:Number = 0.96; public function ExplosionBitmap(_arg1:int=300, _arg2:int=300, _arg3:String="explosion"){ _fireColors = [0, 0, 4206640, 0x602000, 0xFF4000, 0xFFFF00, 0xFFFFFF]; _blur = new BlurFilter(); _colors = []; _explosions = []; _buffer = new BitmapData(_arg1, _arg2, false, 0); super(new BitmapData(_arg1, _arg2, true, 0)); this.type = _arg3; } public function get type():String{ return (_type); } public function get smokeColor():int{ return (_smokeColor); } public function clear():void{ var _local2:Explosion; var _local1:int; while (_local1 < _explosions.length) { _local2 = _explosions[_local1]; _local2.clear(); _local1++; }; _buffer.fillRect(_buffer.rect, 0); bitmapData.fillRect(bitmapData.rect, 0); } public function get fireColors():Array{ return (_fireColors); } public function set fireColors(_arg1:Array):void{ _fireColors = _arg1; if (type == EXPLOSION){ _colors = ColorUtilis.getGradientArray(_fireColors, [0, 0, 1, 1, 1, 1, 1], [0, 34, 68, 74, 85, 136, 0xFF]); }; } public function set smokeColor(_arg1:int):void{ _smokeColor = _arg1; if (type == SMOKE){ _colors = ColorUtilis.getGradientArray([_smokeColor, smokeColor, smokeColor, smokeColor, smokeColor], [0, (SMOKE_ALPHA - (SMOKE_ALPHA_DEVIATION / 2)), (SMOKE_ALPHA + (SMOKE_ALPHA_DEVIATION / 2)), SMOKE_ALPHA, 1], [0, 64, 192, 220, 0xFF]); }; } public function addExplosion(_arg1:int, _arg2:int, _arg3:Boolean=false):void{ _explosions.push(new Explosion(this, _arg1, _arg2, type, _arg3)); if (!hasEventListener(Event.ENTER_FRAME)){ addEventListener(Event.ENTER_FRAME, render); }; } public function fastEnd():void{ var _local2:Explosion; var _local1:int; while (_local1 < _explosions.length) { _local2 = _explosions[_local1]; _local2.weak(); _local1++; }; } private function render(_arg1:Event):void{ var _local3:Explosion; var _local4:Rectangle; var _local5:Point; var _local2:int; while (_local2 < _explosions.length) { _local3 = _explosions[_local2]; _local3.render(_buffer); if (_local3.done){ _explosions.splice(_local2, 1); }; _local2++; }; if (_explosions.length == 0){ removeEventListener(Event.ENTER_FRAME, render); dispatchEvent(new Event(Event.COMPLETE)); _buffer.fillRect(_buffer.rect, 0); bitmapData.fillRect(bitmapData.rect, 0); } else { _local4 = _buffer.getColorBoundsRect(0xFFFFFF, 0, false); _local5 = new Point(_local4.x, _local4.y); _buffer.applyFilter(_buffer, _local4, _local5, _blur); bitmapData.copyPixels(_buffer, _local4, _local5); bitmapData.paletteMap(bitmapData, _local4, _local5, [], [], _colors, []); }; } public function set type(_arg1:String):void{ _type = _arg1; switch (type){ case EXPLOSION: _colors = ColorUtilis.getGradientArray(_fireColors, [0, 0, 1, 1, 1, 1, 1], [0, 34, 68, 74, 85, 136, 0xFF]); _blur.blurX = EXPLOSION_BLUR; _blur.blurY = EXPLOSION_BLUR; initRadius = EXPLOSION_INIT_RADIUS; initVelocity = EXPLOSION_VELOCITY; totalCount = EXPLOSION_TOTAL_COUNT; perFrameCount = EXPLOSION_FRAME_COUNT; energyDamp = EXPLOSION_DAMP_ENERGY; dampMove = EXPLOSION_DAMP_MOVE; chaoticMove = EXPLOSION_CHAOTIC_MOVE; break; case SMOKE: _colors = ColorUtilis.getGradientArray([_smokeColor, smokeColor, smokeColor, smokeColor, smokeColor], [0, (SMOKE_ALPHA - (SMOKE_ALPHA_DEVIATION / 2)), (SMOKE_ALPHA + (SMOKE_ALPHA_DEVIATION / 2)), SMOKE_ALPHA, 1], [0, 64, 192, 220, 0xFF]); _blur.blurX = SMOKE_BLUR; _blur.blurY = SMOKE_BLUR; initRadius = SMOKE_INIT_RADIUS; initVelocity = SMOKE_VELOCITY; totalCount = SMOKE_TOTAL_COUNT; perFrameCount = SMOKE_FRAME_COUNT; energyDamp = SMOKE_DAMP_ENERGY; dampMove = SMOKE_DAMP_MOVE; chaoticMove = SMOKE_CHAOTIC_MOVE; break; }; } public static function getExplosion(_arg1:String="explosion", _arg2:Boolean=false):ExplosionBitmap{ var _local3:ExplosionBitmap = new (ExplosionBitmap); _local3.type = _arg1; _local3.addExplosion((_local3.width / 2), (_local3.height / 2), _arg2); return (_local3); } } }//package silin.bitmap
Section 186
//Particle (silin.bitmap.Particle) package silin.bitmap { public class Particle { public var vx:Number; public var vy:Number; public var sx:Number; public var sy:Number; public var energy:Number;// = 1 public var energyDamp:Number; public var moveDamp:Number; public var chaoticMove:Number; public function render():void{ vx = (vx + (chaoticMove * ((2 * Math.random()) - 1))); vy = (vy + (chaoticMove * ((2 * Math.random()) - 1))); energy = (energy * energyDamp); sx = (sx + vx); sy = (sy + vy); vx = (vx * moveDamp); vy = (vy * moveDamp); } } }//package silin.bitmap
Section 187
//ColorUtilis (silin.color.ColorUtilis) package silin.color { import flash.display.*; import flash.geom.*; public class ColorUtilis { public function ColorUtilis(){ trace("ColorUtilis is a static class and should not be instantiated."); } public static function getGradientArray(_arg1:Array, _arg2:Array=null, _arg3:Array=null):Array{ var _local4:int; if (_arg1.length < 2){ throw (new Error("invalid colors array")); }; if (!_arg2){ _arg2 = []; _local4 = 0; while (_local4 < _arg1.length) { _arg2.push(1); _local4++; }; }; if (!_arg3){ _arg3 = []; _local4 = 0; while (_local4 < _arg1.length) { _arg3.push(((0xFF * _local4) / (_arg1.length - 1))); _local4++; }; }; var _local5:Array = []; var _local6:Shape = new Shape(); var _local7:Graphics = _local6.graphics; var _local8:Matrix = new Matrix(); var _local9:BitmapData = new BitmapData(0x0100, 1, true, 0); _local8.createGradientBox(0x0100, 0x0100, 0, 0, 0); _local7.clear(); _local7.beginGradientFill("linear", _arg1, _arg2, _arg3, _local8); _local7.drawRect(0, 0, 0x0100, 0x0100); _local7.endFill(); _local9.draw(_local6); _local4 = 0; while (_local4 < 0x0100) { _local5.push(_local9.getPixel32(_local4, 0)); _local4++; }; _local9.dispose(); return (_local5); } public static function roundColor(_arg1:int, _arg2:int):int{ var _local3 = ((_arg1 >> 16) & 0xFF); var _local4 = ((_arg1 >> 8) & 0xFF); var _local5 = (_arg1 & 0xFF); var _local6:Function = Math.floor; _local3 = (_arg2 * _local6((_local3 / _arg2))); _local4 = (_arg2 * _local6((_local4 / _arg2))); _local5 = (_arg2 * _local6((_local5 / _arg2))); return ((((_local3 << 16) | (_local4 << 8)) | _local5)); } } }//package silin.color
Section 188
//Abborduer (Abborduer) package { import flash.media.*; public dynamic class Abborduer extends Sound { } }//package
Section 189
//Avatar (Avatar) package { import flash.display.*; public dynamic class Avatar extends MovieClip { public function Avatar(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 190
//BoomSound (BoomSound) package { import flash.media.*; public dynamic class BoomSound extends Sound { } }//package
Section 191
//BurstSplash (BurstSplash) package { import flash.events.*; import flash.display.*; import silin.bitmap.*; public class BurstSplash extends Sprite { private var exlpBitmap:ExplosionBitmap; public function BurstSplash(){ exlpBitmap = new ExplosionBitmap(100, 100, ExplosionBitmap.EXPLOSION); addChild(exlpBitmap); exlpBitmap.x = -50; exlpBitmap.y = -50; exlpBitmap.clear(); exlpBitmap.totalCount = 2000; exlpBitmap.perFrameCount = 200; exlpBitmap.initRadius = 3; exlpBitmap.initVelocity = 1; exlpBitmap.energyDamp = 0.838; exlpBitmap.wind = 0; exlpBitmap.smokeColor = 13421823; exlpBitmap.addExplosion(50, 50, true); exlpBitmap.addEventListener(Event.COMPLETE, explCompleteHandler, false, 0, true); } private function explCompleteHandler(_arg1:Event):void{ parent.removeChild(this); } } }//package
Section 192
//BuyCannonDialog (BuyCannonDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class BuyCannonDialog extends MovieClip { public var no_button:MapButton; public var city_text:TextField; public var index:int;// = -1 public var yes_button:MapButton; public function BuyCannonDialog(){ yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); no_button.addEventListener(MouseEvent.CLICK, OnNo, false, 0, true); } public function OnYes(_arg1:MouseEvent){ SoundManager.PlayOnce("Buy"); dispatchEvent(new BuyCannonEvent(index, "BuyCannonEvent")); } public function OnNo(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); dispatchEvent(new BuyCannonEvent(-1, "BuyCannonEvent")); } } }//package
Section 193
//BuyCannonEvent (BuyCannonEvent) package { import flash.events.*; public class BuyCannonEvent extends Event { public var index:int;// = -1 public function BuyCannonEvent(_arg1, _arg2:String, _arg3:Boolean=true, _arg4:Boolean=false){ super("BuyCannonEvent", _arg3, _arg4); index = _arg1; } } }//package
Section 194
//BuyMarketDialog (BuyMarketDialog) package { import flash.events.*; import flash.display.*; import fl.controls.*; import flash.text.*; import flash.filters.*; public class BuyMarketDialog extends MovieClip { public var city_text:TextField; private var mat:Array; public var number:int;// = -1 public var yes_button:MapButton; public var quantity:NumericStepper; public var no_button:MapButton; public var index:int;// = -1 var filter:ColorMatrixFilter; public var cost_text:TextField; public function BuyMarketDialog(){ mat = [0.33, 0, 0, 0, 0, 0, 0.33, 0, 0, 0, 0, 0, 0.33, 0, 0, 0, 0, 0, 1, 0]; filter = new ColorMatrixFilter(mat); super(); yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); no_button.addEventListener(MouseEvent.CLICK, OnNo, false, 0, true); addEventListener(Event.ADDED_TO_STAGE, OnChange, false, 0, true); quantity.minimum = 1; quantity.maximum = 1000; quantity.stepSize = 1; quantity.addEventListener(Event.CHANGE, OnChange, false, 0, true); } public function OnYes(_arg1:MouseEvent){ SoundManager.PlayOnce("Buy"); dispatchEvent(new BuyMarketEvent(index, quantity.value, "BuyMarketEvent")); } public function OnNo(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); dispatchEvent(new BuyMarketEvent(-1, number, "BuyMarketEvent")); } public function OnChange(_arg1:Event){ if (index == -1){ return; }; var _local2:int = Game.settingsxml.Market.Item[index].@cost; var _local3:int = (_local2 * quantity.value); cost_text.text = _local3.toString(); if (_local3 > Game.player.gold){ yes_button.filters = [filter]; yes_button.mouseEnabled = false; yes_button.buttonMode = false; } else { yes_button.filters = []; yes_button.mouseEnabled = true; yes_button.buttonMode = true; }; } } }//package
Section 195
//BuyMarketEvent (BuyMarketEvent) package { import flash.events.*; public class BuyMarketEvent extends Event { public var index:int;// = -1 public var quantity:int;// = -1 public function BuyMarketEvent(_arg1, _arg2, _arg3:String, _arg4:Boolean=true, _arg5:Boolean=false){ super("BuyMarketEvent", _arg4, _arg5); index = _arg1; quantity = _arg2; } } }//package
Section 196
//BuyShipDialog (BuyShipDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class BuyShipDialog extends MovieClip { public var no_button:MapButton; public var city_text:TextField; public var index:int;// = -1 public var yes_button:MapButton; public function BuyShipDialog(){ yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); no_button.addEventListener(MouseEvent.CLICK, OnNo, false, 0, true); } public function OnYes(_arg1:MouseEvent){ SoundManager.PlayOnce("Buy"); dispatchEvent(new BuyShipEvent(index, "BuyShipEvent")); } public function OnNo(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); dispatchEvent(new BuyShipEvent(-1, "BuyShipEvent")); } } }//package
Section 197
//BuyShipEvent (BuyShipEvent) package { import flash.events.*; public class BuyShipEvent extends Event { public var index:int;// = -1 public function BuyShipEvent(_arg1, _arg2:String, _arg3:Boolean=true, _arg4:Boolean=false){ super("BuyShipEvent", _arg3, _arg4); index = _arg1; } } }//package
Section 198
//BuySound (BuySound) package { import flash.media.*; public dynamic class BuySound extends Sound { } }//package
Section 199
//CannonIcon (CannonIcon) package { import flash.display.*; public dynamic class CannonIcon extends MovieClip { } }//package
Section 200
//CannonShop (CannonShop) package { import flash.events.*; import flash.display.*; import flash.text.*; import mochi.as3.*; import flash.xml.*; public class CannonShop extends MovieClip { public var item3:CannonStoreItem; public var item4:CannonStoreItem; public var item5:CannonStoreItem; public var page1_button:ShopButton; private var page:int;// = 1 private var dlg:BuyCannonDialog; public var dialog_name:TextField; private var e; public var page2_button:ShopButton; public var item1:CannonStoreItem; public var item2:CannonStoreItem; public static var cannonshop:CannonShop = null; public function CannonShop(){ dlg = new BuyCannonDialog(); super(); cannonshop = this; try { addEventListener("BuyCannonEvent", OnBuy, false, 0, true); page1_button.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SetPage(1); SoundManager.PlayOnce("Click"); }); page2_button.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SetPage(2); SoundManager.PlayOnce("Click"); }); e = 0; while (e < 5) { this[("item" + (e + 1).toString())].cost_text.mouseEnabled = false; this[("item" + (e + 1).toString())].damage_text.mouseEnabled = false; e++; }; SetPage(1); } catch(e:Error) { }; } public function OnBuy(_arg1:BuyCannonEvent){ removeChild(dlg); if (_arg1.index != -1){ if (Game.player.gold >= Game.settingsxml.Cannons.Cannon[_arg1.index].@cost){ Game.player.gold = (Game.player.gold - Game.settingsxml.Cannons.Cannon[_arg1.index].@cost); Game.player.cannon = _arg1.index; Game.player.update(); SetPage(1); (parent as City).UpdateDialog(); if (_arg1.index == 9){ Game.player.bestcannon = true; GlobalData.bestcannon = true; }; }; }; } public function Update(_arg1:int){ SelectCannon(_arg1); SetPage(2); } public function SetPage(_arg1:int){ page = _arg1; if (page == 1){ e = 0; while (e < 5) { this[("item" + (e + 1).toString())].cannon_icon.scaleX = Game.settingsxml.Cannons.Cannon[e].@size; this[("item" + (e + 1).toString())].cannon_icon.scaleY = Game.settingsxml.Cannons.Cannon[e].@size; this[("item" + (e + 1).toString())].cost_text.text = ("Cost: " + Game.settingsxml.Cannons.Cannon[e].@cost); this[("item" + (e + 1).toString())].damage_text.text = ("Damage: +" + Game.settingsxml.Cannons.Cannon[e].@damage); this[("item" + (e + 1).toString())].index = e; if ((((int(Game.settingsxml.Cannons.Cannon[e].@cost) > Game.player.gold)) || ((e < Game.player.cannon)))){ this[("item" + (e + 1).toString())].SetState(1); this[("item" + (e + 1).toString())].mouseEnabled = false; } else { this[("item" + (e + 1).toString())].SetState(0); this[("item" + (e + 1).toString())].mouseEnabled = true; }; if (e == Game.player.cannon){ this[("item" + (e + 1).toString())].cost_text.text = "This is your cannon"; this[("item" + (e + 1).toString())].SetState(1); this[("item" + (e + 1).toString())].mouseEnabled = false; }; e++; }; } else { if (page == 2){ e = 5; while (e < Game.settingsxml.Cannons.Cannon.length()) { this[("item" + (e - 4).toString())].cannon_icon.scaleX = Game.settingsxml.Cannons.Cannon[e].@size; this[("item" + (e - 4).toString())].cannon_icon.scaleY = Game.settingsxml.Cannons.Cannon[e].@size; this[("item" + (e - 4).toString())].cost_text.text = ("Cost: " + Game.settingsxml.Cannons.Cannon[e].@cost); this[("item" + (e - 4).toString())].damage_text.text = ("Damage: +" + Game.settingsxml.Cannons.Cannon[e].@damage); this[("item" + (e - 4).toString())].index = e; if (Game.settingsxml.Cannons.Cannon[e].@cost == "Mochi coins"){ this[("item" + (e - 4).toString())].SetState(0); this[("item" + (e - 4).toString())].mouseEnabled = true; if ((((e == 7)) && ((GlobalData.cannonowned8 == true)))){ this[("item" + (e - 4).toString())].cost_text.text = "Owned"; }; if ((((e == 8)) && ((GlobalData.cannonowned9 == true)))){ this[("item" + (e - 4).toString())].cost_text.text = "Owned"; }; if ((((e == 9)) && ((GlobalData.cannonowned10 == true)))){ this[("item" + (e - 4).toString())].cost_text.text = "Owned"; }; } else { if ((((int(Game.settingsxml.Cannons.Cannon[e].@cost) > Game.player.gold)) || ((e < Game.player.cannon)))){ this[("item" + (e - 4).toString())].SetState(1); this[("item" + (e - 4).toString())].mouseEnabled = false; } else { this[("item" + (e - 4).toString())].SetState(0); this[("item" + (e - 4).toString())].mouseEnabled = true; }; }; if (e == Game.player.cannon){ this[("item" + (e - 4).toString())].cost_text.text = "This is your cannon"; this[("item" + (e - 4).toString())].SetState(1); this[("item" + (e - 4).toString())].mouseEnabled = false; }; e++; }; }; }; } public function ShowBuyCannonDialog(_arg1:int){ if (_arg1 <= 6){ dlg.index = _arg1; addChild(dlg); } else { if (_arg1 == 7){ if (GlobalData.cannonowned8 == true){ SelectCannon(_arg1); } else { MochiCoins.showStore({tags:["cannons"]}); }; }; if (_arg1 == 8){ if (GlobalData.cannonowned9 == true){ SelectCannon(_arg1); } else { MochiCoins.showStore({tags:["cannons"]}); }; }; if (_arg1 == 9){ if (GlobalData.cannonowned10 == true){ SelectCannon(_arg1); } else { MochiCoins.showStore({tags:["cannons"]}); }; }; }; } public function SelectCannon(_arg1:int){ Game.player.cannon = _arg1; Game.player.update(); SetPage(1); (parent as City).UpdateDialog(); if (_arg1 == 9){ Game.player.bestcannon = true; GlobalData.bestcannon = true; }; } } }//package
Section 201
//CannonStoreItem (CannonStoreItem) package { import flash.events.*; import flash.display.*; import flash.text.*; public class CannonStoreItem extends MovieClip { public const OFF_BUTTON:int = 1; public const ON_BUTTON:int = 0; private var buttonstate:int;// = 0 public var index:int;// = -1 public var cannon_icon:CannonIcon; public var damage_text:TextField; public var cost_text:TextField; public function CannonStoreItem(){ addFrameScript(0, frame1); addEventListener(MouseEvent.MOUSE_OVER, OnOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, OnOut, false, 0, true); addEventListener(MouseEvent.CLICK, OnClick, false, 0, true); buttonMode = true; } public function OnOver(_arg1:MouseEvent){ if (buttonstate == ON_BUTTON){ gotoAndStop("over"); } else { gotoAndStop("off"); }; } public function OnOut(_arg1:MouseEvent){ if (buttonstate == ON_BUTTON){ gotoAndStop("on"); } else { gotoAndStop("off"); }; } public function OnClick(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); (parent as CannonShop).ShowBuyCannonDialog(index); } public function SetState(_arg1:int){ if (buttonstate != _arg1){ buttonstate = _arg1; if (buttonstate == OFF_BUTTON){ gotoAndStop("off"); } else { gotoAndStop("on"); }; }; } function frame1(){ stop(); } } }//package
Section 202
//CannonsTutorial (CannonsTutorial) package { import flash.events.*; import flash.display.*; public class CannonsTutorial extends MovieClip { public var continuebutton:ShopButton; public function CannonsTutorial(){ addFrameScript(0, frame1); continuebutton.addEventListener(MouseEvent.CLICK, OnContinue, false, 0, true); } function frame1(){ stop(); } public function OnContinue(_arg1:MouseEvent){ if (this.currentFrame != 1){ gotoAndStop((this.currentFrame + 1)); } else { parent.removeChild(this); Game.player.showcannonstutorial = false; }; } } }//package
Section 203
//Channel (Channel) package { import flash.events.*; import flash.media.*; import flash.utils.*; public class Channel { private var channel:SoundChannel;// = null private var timer:Timer;// = null private var sound:Sound;// = null private var volume:Number;// = 1 public function Channel(_arg1:Sound){ if (_arg1){ sound = _arg1; }; } public function FadeIn(){ if (channel == null){ volume = 0; PlayLoop(); }; if (timer){ timer.removeEventListener("timer", infade); timer.removeEventListener("timer", outfade); timer = null; }; timer = new Timer(60, 30); timer.addEventListener("timer", infade); timer.start(); } public function infade(_arg1:TimerEvent){ volume = (volume + (1 / 30)); if ((((volume >= 1)) || ((((volume < 1)) && ((volume > 0.95)))))){ volume = 1; }; var _local2:* = new SoundTransform(volume, 0); if (channel){ channel.soundTransform = _local2; }; } public function StopLoop(){ if (timer){ timer.removeEventListener("timer", infade); timer.removeEventListener("timer", outfade); timer = null; }; channel.stop(); } public function outfade(_arg1:TimerEvent){ volume = (volume - (1 / 30)); if ((((volume <= 0)) || ((((volume > 0)) && ((volume < 0.05)))))){ volume = 0; }; var _local2:* = new SoundTransform(volume, 0); if (channel){ channel.soundTransform = _local2; }; } public function FadeOut(){ if (channel == null){ return; }; if (timer){ timer.removeEventListener("timer", infade); timer.removeEventListener("timer", outfade); timer = null; }; timer = new Timer(60, 30); timer.addEventListener("timer", outfade); timer.start(); } public function PlayLoop(_arg1:SoundTransform=null){ if (sound){ channel = null; if (timer){ timer.removeEventListener("timer", infade); timer.removeEventListener("timer", outfade); timer = null; }; if (!_arg1){ channel = sound.play(0, int.MAX_VALUE, new SoundTransform(volume)); } else { channel = sound.play(0, int.MAX_VALUE, _arg1); }; }; } } }//package
Section 204
//CharacterSetupDialog (CharacterSetupDialog) package { import flash.net.*; import flash.events.*; import flash.display.*; import fl.controls.*; import flash.text.*; import flash.filters.*; public class CharacterSetupDialog extends FadeSlider { public var avatar3:Avatar; public var bonus_text:TextField; public var avatar_text:TextField; public var king:MovieClip; private var mat:Array; private var e; public var ok_button:DialogButton; public var avatar1:Avatar; public var avatar2:Avatar; public var textscroll:UIScrollBar; private var select:Boolean;// = false var filter:ColorMatrixFilter; public function CharacterSetupDialog(){ mat = [0.33, 0, 0, 0, 0, 0, 0.33, 0, 0, 0, 0, 0, 0.33, 0, 0, 0, 0, 0, 1, 0]; filter = new ColorMatrixFilter(mat); super(); SetOut(); PlayFadeIn(); avatar_text.htmlText = "<b>Click</b> on the your character's portrait to select him."; avatar1.buttonMode = true; avatar2.buttonMode = true; avatar3.buttonMode = true; avatar_text.multiline = true; ok_button.filters = [filter]; ok_button.buttonMode = false; ok_button.mouseEnabled = false; with ({}) { with ({}) { !ERROR!.OnClick = function (_arg1:MouseEvent){ if (Game.player.avatar == 1){ Game.player.authority = (Game.player.authority + 1); } else { if (Game.player.avatar == 2){ Game.player.bombardier = (Game.player.bombardier + 1); } else { Game.player.trader = (Game.player.trader + 1); }; }; Game.game.SetState(Game.game.LEVELMAP); ok_button.removeEventListener(MouseEvent.CLICK, OnClick); SoundManager.PlayOnce("Click"); }; }; ok_button.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ if (Game.player.avatar == 1){ Game.player.authority = (Game.player.authority + 1); } else { if (Game.player.avatar == 2){ Game.player.bombardier = (Game.player.bombardier + 1); } else { Game.player.trader = (Game.player.trader + 1); }; }; Game.game.SetState(Game.game.LEVELMAP); ok_button.removeEventListener(MouseEvent.CLICK, OnClick); SoundManager.PlayOnce("Click"); }); avatar1.addEventListener(MouseEvent.CLICK, OnAvatar1); avatar2.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ avatar_text.htmlText = "<b>Henry Morgan</b> had always been somewhat impish from his childhood up, and this little devil showed himself in all his glory later, by the time he became twenty. It took Morgan only several years to feel the whips of slavery on his own back, knock together his own band of cutthroats and receive his own ship – of course having robbed countless number of people along the way. Morgan was a vivid collector of precious adornments and some say that in his collection he had the rarest charmed items including even the mysterious “Soul Void Amulet”.<br></br><br></br><b>After falling</b> under the auspices of the Queen, Morgan began ravaging the Spanish colonies tirelessly and managed to show some impressive results indeed. Several years of such an extraordinary activity led to Morgan’s name being known everywhere and by everyone. Having returned to Liverpool, where he was intending to improve his health in the local taverns, Morgan never predicted that everything would turn out in such a strange way..."; bonus_text.text = "BONUS: +1 BOMBARDIER PERK"; ok_button.filters = []; ok_button.buttonMode = true; ok_button.mouseEnabled = true; Game.player.avatar = 2; SoundManager.PlayOnce("Click"); textscroll.scrollTarget = avatar_text; textscroll.update(); }); if (Game.player.completed == true){ avatar3.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ avatar_text.htmlText = "<b>Edward Titch</b> really gave people the creeps with his appearance. His beard covered his entire face and his temper really suited his fearsome exterior. Courage and valour of this man made other captains treat him with the greatest respect. When he was twenty-five the fearless Titch finally got his own vessel under his command. After several years at sea he managed to capture a huge French ship which also immediately became his property. He named her “Queen Anna’s Revenge.”<br></br><br></br><b>Today</b>, staying at anchor in the Liverpool harbour, Titch had a meeting with a governor, who asked him to deliver “a little something” to the Wakesbury port. Despite the very generous payment Titch wasn’t happy with this request. And he was right."; bonus_text.text = "BONUS: +1 TRADER PERK"; ok_button.filters = []; ok_button.buttonMode = true; ok_button.mouseEnabled = true; Game.player.avatar = 3; SoundManager.PlayOnce("Click"); textscroll.scrollTarget = avatar_text; textscroll.update(); }); } else { avatar3.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ avatar_text.htmlText = "This secret character can be selected after finishing whole game."; bonus_text.text = "BONUS: UNKNOWN"; ok_button.filters = [filter]; ok_button.buttonMode = false; ok_button.mouseEnabled = false; Game.player.avatar = 3; SoundManager.PlayOnce("Click"); textscroll.scrollTarget = avatar_text; textscroll.update(); }); }; avatar2.gotoAndStop(2); avatar3.gotoAndStop(4); king.buttonMode = true; king.addEventListener(MouseEvent.CLICK, function (_arg1:Event){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Frise-of-pirates%3Fref%3Drise-of-pirates_logo"); navigateToURL(_local2); }); __setProp_textscroll_CharacterSetupDialog_Layer1_0(); } public function OnAvatar1(_arg1:MouseEvent){ avatar_text.htmlText = "<b>Franklin Ford</b> was born in England in a preacher’s family. He began his brilliant marine career as an ordinary shipboy on a small merchant vessel and it was there that he gained the most of his captain skills. After mere ten years, around 1670, he was commanding his own ship that he had inherited from its previous captain. He had also acquired a strange amulet, the purpose of which was an absolute mystery for him, but he always had it with him ever since.<br></br><br></br><b>During</b> a privateer raid organized with the blessing of the Queen, Ford managed to save his crew leading his ship out of the enemy’s trap. The other five accompanying ships were sent to the bottom of the sea. Ford became famous for his cruelty and good luck."; bonus_text.text = "BONUS: +1 AUTHORITY PERK"; ok_button.filters = []; ok_button.buttonMode = true; ok_button.mouseEnabled = true; Game.player.avatar = 1; SoundManager.PlayOnce("Click"); textscroll.scrollTarget = avatar_text; textscroll.update(); } function __setProp_textscroll_CharacterSetupDialog_Layer1_0(){ try { textscroll["componentInspectorSetting"] = true; } catch(e:Error) { }; textscroll.direction = "vertical"; textscroll.scrollTargetName = "avatar_text"; textscroll.visible = true; try { textscroll["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 205
//Chest (Chest) package { import flash.display.*; public class Chest extends MovieClip { public var gold;// = 0 public var livecounter:Number;// = 0 public var alphacounter:Number;// = 0 public function Update(_arg1:Number){ if (livecounter <= 30){ livecounter = (livecounter + _arg1); } else { if (alphacounter <= 10){ alphacounter = (alphacounter + _arg1); if ((1 - (alphacounter / 10)) >= 0){ this.alpha = (1 - (alphacounter / 10)); }; } else { this.alpha = 0; }; }; } } }//package
Section 206
//ChestIcon (ChestIcon) package { import flash.display.*; public dynamic class ChestIcon extends MovieClip { } }//package
Section 207
//ChestSound (ChestSound) package { import flash.media.*; public dynamic class ChestSound extends Sound { } }//package
Section 208
//City (City) package { import flash.events.*; import flash.text.*; public class City extends FadeSlider { public var back_button:DialogButton; public var reload_text:TextField; public var market_button:ShopButton; public var tavern:Tavern; public var market_shop:MarketShop; public var shipyard_button:ShopButton; public var speed_text:TextField; public var gold_text:TextField; public var armor_text:TextField; private var from:String; public var cannons_text:TextField; public var tavern_button:ShopButton; public var steering_text:TextField; public var current_ship:ShipIcon; public var team_text:TextField; private var sold:Boolean;// = false private var e; private var miniquest:Boolean;// = false public var range_text:TextField; public var shipyard:Shipyard; private var earned:int;// = 0 public var cannons_button:ShopButton; public var damage_text:TextField; public var cannons_shop:CannonShop; public static var city:City = null; public function City(){ var index:int; var dlg:*; var cityindex:int; var tocity:String; var reward:int; from = new String(); super(); city = this; SetOut(); PlayFadeIn(); shipyard_button.addEventListener(MouseEvent.CLICK, OnShipyard, false, 0, true); cannons_button.addEventListener(MouseEvent.CLICK, OnCannons, false, 0, true); market_button.addEventListener(MouseEvent.CLICK, OnMarket, false, 0, true); tavern_button.addEventListener(MouseEvent.CLICK, OnTavern, false, 0, true); back_button.addEventListener(MouseEvent.CLICK, OnBack, false, 0, true); shipyard.visible = false; shipyard.mouseEnabled = false; cannons_shop.visible = false; cannons_shop.mouseEnabled = false; market_shop.visible = false; market_shop.mouseEnabled = false; tavern.visible = false; tavern.mouseEnabled = false; try { if (Game.player.goods["cityname"] != undefined){ if (Game.player.goods["cityname"] != Game.player.cityname){ index = 0; while (index < 10) { if (Game.player.goods[index] != undefined){ if ((Game.settingsxml.Market.Item[index].@sell * Game.player.goods[index]) >= 0){ Game.player.gold = (Game.player.gold + (Game.settingsxml.Market.Item[index].@sell * Game.player.goods[index])); earned = (earned + (Game.settingsxml.Market.Item[index].@sell * Game.player.goods[index])); }; sold = true; }; index = (index + 1); }; from = Game.player.goods["cityname"]; Game.player.goods["cityname"] = null; if (sold == true){ dlg = new ProfitDialog(); dlg.city_text.text = (((("You've sold many goods from " + from) + " and earned ") + earned.toString()) + " gold!"); addChild(dlg); }; UpdateDialog(); }; }; trace(("cityname=" + Game.player.cityname)); trace(("miniquest=" + Game.player.miniquest[Game.player.cityname])); if (Game.player.miniquest[Game.player.cityname] != undefined){ if (Game.player.miniquest[Game.player.cityname] != null){ miniquest = true; if (reward >= 0){ Game.player.gold = (Game.player.gold + Game.player.miniquest[Game.player.cityname].reward); }; UpdateDialog(); dlg = new ProfitDialog(); dlg.city_text.text = (("You've delivered package and earned " + Game.player.miniquest[Game.player.cityname].reward) + " gold!"); addChild(dlg); Game.player.miniquest[Game.player.cityname] = null; } else { if (Math.random() < 0.3){ dlg = new MiniquestDialog(); cityindex = int((Math.random() * 11)); while ((((LevelMap.levelmap.map.Item[cityindex].@city == "none")) || ((LevelMap.levelmap.map.Item[cityindex].@city == Game.player.cityname)))) { cityindex = int((Math.random() * 11)); }; tocity = LevelMap.levelmap.map.Item[cityindex].@city; reward = int((Math.random() * 1400)); dlg.city_text.text = (((("Unknown sailor said to you: \"Please, take this package and deliver it to the " + tocity) + " city\". You can take ") + reward.toString()) + " gold for this."); dlg.cityname = tocity; dlg.reward = reward; addChild(dlg); }; }; } else { if (Math.random() < 0.3){ dlg = new MiniquestDialog(); cityindex = int((Math.random() * 11)); while ((((LevelMap.levelmap.map.Item[cityindex].@city == "none")) || ((LevelMap.levelmap.map.Item[cityindex].@city == Game.player.cityname)))) { cityindex = int((Math.random() * 11)); }; tocity = LevelMap.levelmap.map.Item[cityindex].@city; reward = int((Math.random() * 1400)); dlg.city_text.text = (((("Unknown sailor said to you: \"Please, take this package and deliver it to the " + tocity) + " city\". You can take ") + reward.toString()) + " gold for this."); dlg.cityname = tocity; dlg.reward = reward; addChild(dlg); }; }; UpdateDialog(); } catch(e:Error) { }; } public function OnTavern(_arg1:Event){ tavern.UpdateDialog(); shipyard.visible = false; shipyard.mouseEnabled = false; cannons_shop.visible = false; cannons_shop.mouseEnabled = false; market_shop.visible = false; market_shop.mouseEnabled = false; tavern.visible = true; tavern.mouseEnabled = true; SoundManager.PlayOnce("Click"); } public function OnBack(_arg1:Event){ GlobalData.player = Game.player; GlobalData.Flush(); back_button.removeEventListener(MouseEvent.CLICK, OnBack); Game.game.SetState(Game.game.LEVELMAP); SoundManager.PlayOnce("Click"); } public function UpdateDialog(){ Game.player.update(); gold_text.text = Game.player.gold.toString(); current_ship.gotoAndStop(Game.player.ship); speed_text.text = Game.player.speed.toString(); steering_text.text = Game.player.steering.toString(); armor_text.text = Game.player.armor.toString(); team_text.text = Game.player.team.toString(); damage_text.text = Game.player.damage.toString(); reload_text.text = (Game.player.reload.toString() + "sec."); range_text.text = Game.player.range.toString(); cannons_text.text = Game.player.cannons.toString(); shipyard.SetPage(1); cannons_shop.SetPage(1); market_shop.SetPage(1); tavern.UpdateDialog(); } public function OnCannons(_arg1:Event){ shipyard.visible = false; shipyard.mouseEnabled = false; cannons_shop.visible = true; cannons_shop.mouseEnabled = true; market_shop.visible = false; market_shop.mouseEnabled = false; tavern.visible = false; tavern.mouseEnabled = false; SoundManager.PlayOnce("Click"); if (Game.player.showcannonstutorial == true){ addChild(new CannonsTutorial()); }; cannons_shop.SetPage(1); } public function OnShipyard(_arg1:Event){ shipyard.visible = true; shipyard.mouseEnabled = true; cannons_shop.visible = false; cannons_shop.mouseEnabled = false; market_shop.visible = false; market_shop.mouseEnabled = false; tavern.visible = false; tavern.mouseEnabled = false; SoundManager.PlayOnce("Click"); if (Game.player.showshipyardtutorial == true){ addChild(new ShipyardTutorial()); }; shipyard.SetPage(1); } public function OnMarket(_arg1:Event){ shipyard.visible = false; shipyard.mouseEnabled = false; cannons_shop.visible = false; cannons_shop.mouseEnabled = false; market_shop.visible = true; market_shop.mouseEnabled = true; tavern.visible = false; tavern.mouseEnabled = false; SoundManager.PlayOnce("Click"); if (Game.player.showmarkettutorial == true){ addChild(new MarketTutorial()); }; market_shop.SetPage(1); } } }//package
Section 209
//CityDialog (CityDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class CityDialog extends MovieClip { public var no_button:MapButton; public var city_text:TextField; public var yes_button:MapButton; public function CityDialog(){ yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); no_button.addEventListener(MouseEvent.CLICK, OnNo, false, 0, true); } public function OnYes(_arg1:MouseEvent){ if (parent){ SoundManager.PlayOnce("Click"); yes_button.removeEventListener(MouseEvent.CLICK, OnYes); Game.game.SetState(Game.game.CITY); }; } public function OnNo(_arg1:MouseEvent){ if (parent){ SoundManager.PlayOnce("Click"); no_button.removeEventListener(MouseEvent.CLICK, OnNo); parent.removeChild(this); }; } } }//package
Section 210
//CityTheme (CityTheme) package { import flash.media.*; public dynamic class CityTheme extends Sound { } }//package
Section 211
//ClickSound (ClickSound) package { import flash.media.*; public dynamic class ClickSound extends Sound { } }//package
Section 212
//Cloud (Cloud) package { import flash.display.*; public dynamic class Cloud extends MovieClip { } }//package
Section 213
//Common (Common) package { import flash.geom.*; public class Common { public static function Intersect(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point):Boolean{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Boolean; var _local10:Boolean; var _local11:Number; var _local12:Number; if (_arg1.x == _arg2.x){ if ((((_arg1.x < _arg3.x)) || ((_arg1.x > _arg4.x)))){ return (false); }; if (_arg1.y != _arg2.y){ _local5 = ((_arg3.y - _arg1.y) / (_arg2.y - _arg1.y)); _local6 = ((_arg4.y - _arg1.y) / (_arg2.y - _arg1.y)); if ((((_local5 >= 0)) && ((_local5 <= 1)))){ return (true); }; if ((((_local6 >= 0)) && ((_local6 <= 1)))){ return (true); }; if ((((_local5 <= 0)) && ((_local6 >= 1)))){ return (true); }; if ((((_local6 <= 0)) && ((_local5 >= 1)))){ return (true); }; return (false); } else { return (false); }; //unresolved jump }; if (_arg1.y == _arg2.y){ if ((((_arg1.y < _arg3.y)) || ((_arg1.y > _arg4.y)))){ return (false); }; if (_arg1.x != _arg2.x){ _local7 = ((_arg3.x - _arg1.x) / (_arg2.x - _arg1.x)); _local8 = ((_arg4.x - _arg1.x) / (_arg2.x - _arg1.x)); if ((((_local7 >= 0)) && ((_local7 <= 1)))){ return (true); }; if ((((_local8 >= 0)) && ((_local8 <= 1)))){ return (true); }; if ((((_local7 <= 0)) && ((_local8 >= 1)))){ return (true); }; if ((((_local8 <= 0)) && ((_local7 >= 1)))){ return (true); }; return (false); } else { return (false); }; //unresolved jump }; _local7 = ((_arg3.x - _arg1.x) / (_arg2.x - _arg1.x)); _local8 = ((_arg4.x - _arg1.x) / (_arg2.x - _arg1.x)); _local5 = ((_arg3.y - _arg1.y) / (_arg2.y - _arg1.y)); _local6 = ((_arg4.y - _arg1.y) / (_arg2.y - _arg1.y)); _local9 = false; _local10 = false; _local11 = 0; _local12 = 0; if ((((_local7 >= 0)) && ((_local7 <= 1)))){ _local12 = (_arg1.y + (_local7 * (_arg2.y - _arg1.y))); if ((((_local12 >= _arg3.y)) && ((_local12 <= _arg4.y)))){ return (true); }; } else { if ((((_local8 >= 0)) && ((_local8 <= 1)))){ _local12 = (_arg1.y + (_local8 * (_arg2.y - _arg1.y))); if ((((_local12 >= _arg3.y)) && ((_local12 <= _arg4.y)))){ return (true); }; }; }; if ((((0 <= _local5)) && ((_local5 <= 1)))){ _local11 = (_arg1.x + (_local5 * (_arg2.x - _arg1.x))); if ((((_local11 >= _arg3.x)) && ((_local11 <= _arg4.x)))){ return (true); }; } else { if ((((0 <= _local6)) && ((_local6 <= 1)))){ _local11 = (_arg1.x + (_local6 * (_arg2.x - _arg1.x))); if ((((_local11 >= _arg3.x)) && ((_local11 <= _arg4.x)))){ return (true); }; }; }; return (false); } } }//package
Section 214
//CompanionDialog (CompanionDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class CompanionDialog extends MovieClip { public var no_button:MapButton; public var city_text:TextField; public var yes_button:MapButton; public function CompanionDialog(){ yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); no_button.addEventListener(MouseEvent.CLICK, OnNo, false, 0, true); } public function OnYes(_arg1:MouseEvent){ } public function OnNo(_arg1:MouseEvent){ } } }//package
Section 215
//CompanionShip (CompanionShip) package { import Box2D.Common.Math.*; import Box2D.Common.*; import flash.geom.*; public class CompanionShip extends Ship { public const PASSIVE:int = 6; public const FORWARDBRAKE:int = 1; public const RIGHTBRAKE:int = 5; public const LEFTACCEL:int = 2; public const ROAM:int = 2; public const FLOW:int = 1; public const FORWARDACCEL:int = 0; public const RIGHTACCEL:int = 4; public const LEFTBRAKE:int = 3; public var speedx:Number;// = 0 public var speedy:Number;// = 0 private var steerbehaviour:int;// = 0 public var forwardtrace:WaterForwardTrace; private var infobar:Stripe; private var targetpoint:Point; public var currentenemy:EnemyShip;// = null public var boarding:Number;// = 0.5 private var maxteam:int;// = 0 public var backtrace:WaterBackTrace; public var boardingcounter:Number;// = 0 private var hbcounter:Number;// = 3 private var shipstate:int;// = 0 private var shotstate:int;// = 0 private var enemytype:int;// = 0 private var targetangle:Number;// = 0 private var e; public var dead:Boolean;// = false public function CompanionShip(){ infobar = new Stripe(); forwardtrace = new WaterForwardTrace(); backtrace = new WaterBackTrace(); targetpoint = new Point(); super(); addChild(forwardtrace); forwardtrace.y = (forwardtrace.y + 5); addChild(backtrace); backtrace.y = (backtrace.y + 5); addChild(shipclip); addChild(infobar); infobar.y = (this.y - 18); } override public function Damage(_arg1:Number){ trace("damage companion"); hp = (hp - _arg1); if (hp <= 0){ dead = true; SoundManager.PlayOnce("Boom"); (parent as LevelHolder).RemoveCompanion(this); return; }; infobar.alpha = 1; hbcounter = 3; } public function PowerBreak(_arg1:Number){ if (speed >= 7){ speed = (speed - (_arg1 * slow)); } else { speed = 7; }; } public function DamageTeam(){ } public function Init(_arg1:Object){ bboxwidth = Game.settingsxml.Common.@bboxwidth; bboxheight = Game.settingsxml.Common.@bboxheight; maxspeed = _arg1.speed; speed = maxspeed; shotdamage = _arg1.damage; steerspeed = _arg1.steering; shotspeed = 60; shotrange = _arg1.range; reload = _arg1.reload; maxcores = _arg1.cannons; cores = maxcores; maxhp = _arg1.armor; hp = maxhp; team = _arg1.team; maxteam = team; infobar.alpha = 1; enemytype = _arg1.type; targetangle = (Math.random() * 360); var _local2:Number = Math.cos(((targetangle * Math.PI) / 180)); var _local3:Number = Math.sin(((targetangle * Math.PI) / 180)); var _local4:Number = ((xdir * _local2) - (ydir * _local3)); var _local5:Number = ((xdir * _local3) + (ydir * _local2)); targetpoint.x = ((_local4 * shotrange) / 1.5); targetpoint.y = ((_local5 * shotrange) / 1.5); infobar.hp_text.text = int(hp).toString(); infobar.team_text.text = int(team).toString(); SelectEnemy(); } public function SelectEnemy(){ var _local4:*; var _local1:LevelHolder = (parent as LevelHolder); if (_local1 == null){ return; }; if (_local1.enemies.length == 0){ currentenemy = null; return; }; currentenemy = null; var _local2:Number = 0; var _local3:Number = 0; for each (_local4 in _local1.enemies) { _local3 = (Math.pow((_local4.x - this.x), 2) + Math.pow((_local4.y - this.y), 2)); if ((((_local2 == 0)) || ((_local2 >= _local3)))){ _local2 = _local3; currentenemy = _local4; }; }; } override public function Fire(_arg1:Number){ var _local3:Object; 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 _local2:Boolean; SelectEnemy(); if (currentenemy == null){ return; }; _local3 = {x:currentenemy.x, y:currentenemy.y}; if ((((((cores > 0)) && ((cannonreloadcounter >= cannonreload)))) && (!((currentenemy is PlayerShip))))){ cannonreloadcounter = 0; _local4 = Math.cos(((angle * Math.PI) / 180)); _local5 = Math.sin(((angle * Math.PI) / 180)); _local6 = ((xdir * _local4) - (ydir * _local5)); _local7 = ((xdir * _local5) + (ydir * _local4)); _local8 = ((Math.random() * 60) - 30); _local9 = (((xdir * _local4) - (_local8 * _local5)) + this.x); _local10 = (((xdir * _local5) + (_local8 * _local4)) + this.y); _local11 = (_local6 * 10); _local12 = (_local7 * 10); _local13 = (_local3.x - this.x); _local14 = (_local3.y - this.y); _local15 = ((_local13 * _local12) - (_local14 * _local11)); if (_local15 <= 0){ _local2 = false; } else { _local2 = true; }; if (_local2){ if ((dir + 8) <= 32){ (parent as LevelHolder).AddShot(_local9, _local10, (dir + 8)); } else { (parent as LevelHolder).AddShot(_local9, _local10, ((dir + 8) - 32)); }; (parent as LevelHolder).AddCore(this, _local9, _local10, (angle - 90), shotspeed, shotdamage, shotrange); } else { if ((dir - 8) > 0){ (parent as LevelHolder).AddShot(_local9, _local10, (dir - 8)); } else { (parent as LevelHolder).AddShot(_local9, _local10, ((dir - 8) + 32)); }; (parent as LevelHolder).AddCore(this, _local9, _local10, (angle + 90), shotspeed, shotdamage, shotrange); }; SoundManager.PlayOnce("Shot"); cores--; }; } override public function SteerLeft(_arg1:Number){ body.SetAngularVelocity((-0.02 * steerspeed)); UpdateBodySpeed(); } override public function Break(_arg1:Number){ if (speed >= 0){ speed = (speed - ((_arg1 * slow) / 2)); } else { speed = 0; }; } public function UpdateBodySpeed(){ var _local1:Number = Math.cos(((angle * Math.PI) / 180)); var _local2:Number = Math.sin(((angle * Math.PI) / 180)); var _local3:Number = ((xdir * _local1) - (ydir * _local2)); var _local4:Number = ((xdir * _local2) + (ydir * _local1)); speedx = (speed * _local3); speedy = (speed * _local4); forwardtrace.rotation = angle; backtrace.rotation = angle; } override public function Update(_arg1:Number){ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Object; 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:*; var _local18:Point; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Boolean; var _local23:Point; var _local24:Number; var _local25:*; var _local26:*; var _local27:Number; var _local28:Number; this.rotation = angle; angle = this.rotation; if (angle >= 0){ angle = (angle - 360); }; var _local2:* = 0; while (_local2 < 32) { _local3 = (-11.25 * _local2); _local4 = (_local3 + 5.625); _local5 = (_local3 - 5.625); if ((((angle >= _local5)) && ((angle < _local4)))){ if ((((Math.abs((angle - _local5)) >= 2)) && ((Math.abs((angle - _local4)) >= 2)))){ shipclip.gotoAndStop(((((enemytype - 1) * 32) + _local2) + 1)); dir = (_local2 + 1); }; }; _local2++; }; this.rotation = 0; hbcounter = (hbcounter - _arg1); if (hbcounter >= 0){ if (hbcounter >= 2){ infobar.alpha = 1; } else { infobar.alpha = 1; }; } else { hbcounter = -1; }; if (cores < maxcores){ reloadcounter = (reloadcounter + _arg1); if (reloadcounter >= reload){ reloadcounter = 0; cores++; }; } else { reloadcounter = 0; }; cannonreloadcounter = (cannonreloadcounter + _arg1); if (shipstate == FLOW){ angle = 0; SetState(ROAM); return; }; if (shipstate == ROAM){ _local6 = {x:0, y:0}; SelectEnemy(); if (currentenemy == null){ _local6 = (parent as LevelHolder).GetPlayerCoords(); } else { _local6 = {x:currentenemy.x, y:currentenemy.y}; }; _local7 = Math.sqrt((Math.pow((_local6.x - this.x), 2) + Math.pow((_local6.y - this.y), 2))); _local8 = Math.cos(((angle * Math.PI) / 180)); _local9 = Math.sin(((angle * Math.PI) / 180)); _local10 = ((xdir * _local8) - (ydir * _local9)); _local11 = ((xdir * _local9) + (ydir * _local8)); _local12 = ((_local10 * speed) * _arg1); _local13 = ((_local11 * speed) * _arg1); if (_local7 <= shotrange){ _local14 = (((_local6.x - this.x) * _local12) + ((_local6.y - this.y) * _local13)); _local15 = ((Math.pow((_local6.x - this.x), 2) + Math.pow((_local6.y - this.y), 2)) * ((_local12 * _local12) + (_local13 * _local13))); _local16 = Math.acos((_local14 / Math.sqrt(_local15))); if ((((((_local16 >= (-0.75 * Math.PI))) && ((_local16 <= (-0.25 * Math.PI))))) || ((((_local16 <= (0.75 * Math.PI))) && ((_local16 >= (0.25 * Math.PI))))))){ Fire(_arg1); }; }; this.x = (this.x + _local12); this.y = (this.y + _local13); if (parent){ _local17 = (parent as LevelHolder).GetNearestRock(this.x, this.y); if (_local17.radius <= 85){ _local18 = new Point(_local17.rock.x, _local17.rock.y); _local19 = (_local18.x - this.x); _local20 = (_local18.y - this.y); _local21 = ((_local19 * _local13) - (_local20 * _local12)); _local23 = new Point(); if (_local21 >= 0){ _local23.x = _local20; _local23.y = -(_local19); } else { _local23.x = -(_local20); _local23.y = _local19; }; _local24 = Math.sqrt(((_local23.x * _local23.x) + (_local23.y * _local23.y))); _local23.x = ((_local23.x / _local24) * _local17.radius); _local23.y = ((_local23.y / _local24) * _local17.radius); _local18.x = (_local18.x + _local23.x); _local18.y = (_local18.y + _local23.y); _local19 = (_local18.x - this.x); _local20 = (_local18.y - this.y); _local21 = ((_local19 * _local13) - (_local20 * _local12)); if (_local21 >= 0){ SteerRight(_arg1); } else { SteerLeft(_arg1); }; } else { _local25 = (_local6.x + targetpoint.x); _local26 = (_local6.y + targetpoint.y); _local27 = (_local12 * 10); _local28 = (_local13 * 10); _local19 = (_local25 - this.x); _local20 = (_local26 - this.y); _local21 = ((_local19 * _local28) - (_local20 * _local27)); if (_local21 <= 0){ SteerRight(_arg1); } else { SteerLeft(_arg1); }; }; }; }; angle = (body.GetAngle() * (180 / Math.PI)); UpdateBodySpeed(); body.WakeUp(); body.SetLinearVelocity(new b2Vec2(speedx, speedy)); } public function SetState(_arg1:int){ if (shipstate == 0){ shipstate = _arg1; } else { if ((((shipstate == FLOW)) && ((_arg1 == ROAM)))){ shipstate = _arg1; }; }; } override public function SteerRight(_arg1:Number){ body.SetAngularVelocity((0.02 * steerspeed)); UpdateBodySpeed(); } override public function Accelerate(_arg1:Number){ if ((((speed >= 0)) && ((speed <= maxspeed)))){ speed = (speed + (_arg1 * accel)); } else { speed = maxspeed; }; } } }//package
Section 216
//Core (Core) package { import flash.display.*; public class Core extends MovieClip { var cosa:Number;// = 0 private var ty:Number;// = 0 private var speed:Number;// = 0 var sina:Number;// = 0 private var tx:Number;// = 0 public var damage:Number;// = 0 public var tthis:Ship;// = null private var angle:Number;// = 0 private var currentrange:Number;// = 0 private var range:Number;// = 0 public function SetParameters(_arg1, _arg2, _arg3, _arg4, _arg5){ angle = _arg2; speed = _arg3; damage = _arg4; range = _arg5; tthis = _arg1; cosa = Math.cos((((angle - 90) * Math.PI) / 180)); sina = Math.sin((((angle - 90) * Math.PI) / 180)); this.cacheAsBitmap = true; this.mouseEnabled = false; } public function Update(_arg1:Number){ var _local2:Number; _local2 = ((cosa * speed) * _arg1); var _local3:Number = ((sina * speed) * _arg1); this.x = (this.x + _local2); this.y = (this.y + _local3); currentrange = (currentrange + Math.sqrt(((_local2 * _local2) + (_local3 * _local3)))); if (currentrange >= range){ (parent as LevelHolder).AddSplash(this.x, this.y); (parent as LevelHolder).RemoveCore(this); }; } } }//package
Section 217
//Credits (Credits) package { import flash.events.*; import flash.display.*; public class Credits extends FadeSlider { public var scoreclip:MovieClip; public var backtomenubutton:ShopButton; public function Credits(){ SetOut(); PlayFadeIn(); backtomenubutton.addEventListener(MouseEvent.CLICK, OnBackToMenu, false, 0, true); } public function OnBackToMenu(_arg1:MouseEvent){ backtomenubutton.removeEventListener(MouseEvent.CLICK, OnBackToMenu); Game.game.SetState(Game.game.MAINMENU); } } }//package
Section 218
//CreditsButton (CreditsButton) package { import flash.display.*; public dynamic class CreditsButton extends SimpleButton { } }//package
Section 219
//DejaVu (DejaVu) package { import flash.text.*; public dynamic class DejaVu extends Font { } }//package
Section 220
//DialogButton (DialogButton) package { import flash.display.*; public dynamic class DialogButton extends SimpleButton { } }//package
Section 221
//EnemyShip (EnemyShip) package { import Box2D.Common.Math.*; import Box2D.Common.*; import flash.geom.*; public class EnemyShip extends Ship { public const PASSIVE:int = 6; public const FORWARDBRAKE:int = 1; public const RIGHTBRAKE:int = 5; public const LEFTACCEL:int = 2; public const ROAM:int = 2; public const FLOW:int = 1; public const FORWARDACCEL:int = 0; public const RIGHTACCEL:int = 4; public const LEFTBRAKE:int = 3; public var speedx:Number;// = 0 public var speedy:Number;// = 0 private var steerbehaviour:int;// = 0 public var forwardtrace:WaterForwardTrace; private var infobar:Stripe; private var targetpoint:Point; public var boarding:Number;// = 0.5 private var maxteam:int;// = 0 public var backtrace:WaterBackTrace; public var boardingcounter:Number;// = 0 private var hbcounter:Number;// = 3 private var shipstate:int;// = 0 private var shotstate:int;// = 0 private var enemytype:int;// = 0 private var targetangle:Number;// = 0 private var e; public var dead:Boolean;// = false public function EnemyShip(){ infobar = new Stripe(); forwardtrace = new WaterForwardTrace(); backtrace = new WaterBackTrace(); targetpoint = new Point(); super(); addChild(forwardtrace); forwardtrace.y = (forwardtrace.y + 5); addChild(backtrace); backtrace.y = (backtrace.y + 5); addChild(shipclip); addChild(infobar); infobar.y = (this.y - 18); this.mouseEnabled = false; this.mouseChildren = false; } override public function Damage(_arg1:Number){ if (Game.player.bombardier != 4){ hp = (hp - (_arg1 + (0.4 * Game.player.bombardier))); } else { hp = (hp - _arg1); }; infobar.hp_text.text = int(hp).toString(); if (hp <= 0){ dead = true; SoundManager.PlayOnce("Boom"); (parent as LevelHolder).AddChest((this.x + (Math.random() * 40)), (this.y + (Math.random() * 40)), int((maxhp * Math.random()))); (parent as LevelHolder).RemoveShip(this); return; }; infobar.alpha = 1; hbcounter = 3; } public function PowerBreak(_arg1:Number){ if (speed >= 7){ speed = (speed - (_arg1 * slow)); } else { speed = 7; }; } public function DamageTeam(){ team = (team - 1); infobar.team_text.text = int(team).toString(); if (team <= 0){ dead = true; (parent as LevelHolder).AddChest((this.x + (Math.random() * 40)), (this.y + (Math.random() * 40)), int((maxhp * Math.random()))); (parent as LevelHolder).RemoveShip(this); return; }; infobar.alpha = 1; hbcounter = 3; } public function Init(_arg1:Object){ bboxwidth = Game.settingsxml.Common.@bboxwidth; bboxheight = Game.settingsxml.Common.@bboxheight; maxspeed = _arg1.speed; speed = maxspeed; shotdamage = _arg1.damage; steerspeed = _arg1.steering; shotspeed = 45; shotrange = _arg1.range; reload = _arg1.reload; maxcores = _arg1.cannons; cores = maxcores; maxhp = _arg1.armor; hp = maxhp; team = _arg1.team; maxteam = team; infobar.alpha = 1; enemytype = _arg1.type; UpdateTargetPoint(); infobar.hp_text.text = int(hp).toString(); infobar.team_text.text = int(team).toString(); } public function UpdateTargetPoint(){ targetangle = (Math.random() * 360); var _local1:Number = Math.cos(((targetangle * Math.PI) / 180)); var _local2:Number = Math.sin(((targetangle * Math.PI) / 180)); var _local3:Number = ((xdir * _local1) - (ydir * _local2)); var _local4:Number = ((xdir * _local2) + (ydir * _local1)); targetpoint.x = (_local3 * shotrange); targetpoint.y = (_local4 * shotrange); } override public function SteerLeft(_arg1:Number){ body.SetAngularVelocity((-0.02 * steerspeed)); UpdateBodySpeed(); } override public function Fire(_arg1: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; if (((((parent as LevelHolder).boarding == true)) && (((parent as LevelHolder).boardingship == this)))){ return; }; var _local2:Boolean; var _local3:Object = (parent as LevelHolder).GetPlayerCoords(); if ((((cores > 0)) && ((cannonreloadcounter >= cannonreload)))){ cannonreloadcounter = 0; _local4 = Math.cos(((angle * Math.PI) / 180)); _local5 = Math.sin(((angle * Math.PI) / 180)); _local6 = ((xdir * _local4) - (ydir * _local5)); _local7 = ((xdir * _local5) + (ydir * _local4)); _local8 = ((Math.random() * 60) - 30); _local9 = (((xdir * _local4) - (_local8 * _local5)) + this.x); _local10 = (((xdir * _local5) + (_local8 * _local4)) + this.y); _local11 = (_local6 * 10); _local12 = (_local7 * 10); _local13 = (_local3.x - this.x); _local14 = (_local3.y - this.y); _local15 = ((_local13 * _local12) - (_local14 * _local11)); if (_local15 <= 0){ _local2 = false; } else { _local2 = true; }; if (_local2){ if ((dir + 8) <= 32){ (parent as LevelHolder).AddShot(_local9, _local10, (dir + 8)); } else { (parent as LevelHolder).AddShot(_local9, _local10, ((dir + 8) - 32)); }; (parent as LevelHolder).AddCore(this, _local9, _local10, (angle - 90), shotspeed, shotdamage, shotrange); } else { if ((dir - 8) > 0){ (parent as LevelHolder).AddShot(_local9, _local10, (dir - 8)); } else { (parent as LevelHolder).AddShot(_local9, _local10, ((dir - 8) + 32)); }; (parent as LevelHolder).AddCore(this, _local9, _local10, (angle + 90), shotspeed, shotdamage, shotrange); }; SoundManager.PlayOnce("Shot"); cores--; }; } override public function Break(_arg1:Number){ if (speed >= 0){ speed = (speed - ((_arg1 * slow) / 2)); } else { speed = 0; }; } public function UpdateBodySpeed(){ var _local1:Number = Math.cos(((angle * Math.PI) / 180)); var _local2:Number = Math.sin(((angle * Math.PI) / 180)); var _local3:Number = ((xdir * _local1) - (ydir * _local2)); var _local4:Number = ((xdir * _local2) + (ydir * _local1)); speedx = (speed * _local3); speedy = (speed * _local4); forwardtrace.rotation = angle; backtrace.rotation = angle; } override public function Update(_arg1:Number){ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Object; 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:*; var _local18:Point; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Boolean; var _local23:Point; var _local24:Number; var _local25:*; var _local26:*; var _local27:Number; var _local28:Number; this.rotation = angle; angle = this.rotation; if (angle >= 0){ angle = (angle - 360); }; var _local2:* = 0; while (_local2 < 32) { _local3 = (-11.25 * _local2); _local4 = (_local3 + 5.625); _local5 = (_local3 - 5.625); if ((((angle >= _local5)) && ((angle < _local4)))){ if ((((Math.abs((angle - _local5)) >= 2)) && ((Math.abs((angle - _local4)) >= 2)))){ shipclip.gotoAndStop(((((enemytype - 1) * 32) + _local2) + 1)); dir = (_local2 + 1); }; }; _local2++; }; this.rotation = 0; hbcounter = (hbcounter - _arg1); if (hbcounter >= 0){ if (hbcounter >= 2){ infobar.alpha = 1; } else { infobar.alpha = 1; }; } else { hbcounter = -1; }; if (cores < maxcores){ reloadcounter = (reloadcounter + _arg1); if (reloadcounter >= reload){ reloadcounter = 0; cores++; }; } else { reloadcounter = 0; }; cannonreloadcounter = (cannonreloadcounter + _arg1); if (shipstate == FLOW){ angle = 0; SetState(ROAM); return; }; if (shipstate == ROAM){ _local6 = (parent as LevelHolder).GetPlayerCoords(); _local7 = Math.sqrt((Math.pow((_local6.x - this.x), 2) + Math.pow((_local6.y - this.y), 2))); _local8 = Math.cos(((angle * Math.PI) / 180)); _local9 = Math.sin(((angle * Math.PI) / 180)); _local10 = ((xdir * _local8) - (ydir * _local9)); _local11 = ((xdir * _local9) + (ydir * _local8)); _local12 = ((_local10 * speed) * _arg1); _local13 = ((_local11 * speed) * _arg1); if (_local7 <= shotrange){ _local14 = (((_local6.x - this.x) * _local12) + ((_local6.y - this.y) * _local13)); _local15 = ((Math.pow((_local6.x - this.x), 2) + Math.pow((_local6.y - this.y), 2)) * ((_local12 * _local12) + (_local13 * _local13))); _local16 = Math.acos((_local14 / Math.sqrt(_local15))); if ((((((_local16 >= (-0.75 * Math.PI))) && ((_local16 <= (-0.25 * Math.PI))))) || ((((_local16 <= (0.75 * Math.PI))) && ((_local16 >= (0.25 * Math.PI))))))){ Fire(_arg1); }; }; if (_local7 <= (shotrange / 2.3)){ if ((parent as LevelHolder).boarding == false){ (parent as LevelHolder).boarding = true; (parent as LevelHolder).boardingship = this; }; if (((((parent as LevelHolder).boarding == true)) && (((parent as LevelHolder).boardingship == this)))){ boardingcounter = (boardingcounter + _arg1); PowerBreak(_arg1); if (boardingcounter >= boarding){ boardingcounter = 0; (parent as LevelHolder).DamageTeam(); DamageTeam(); if (team == 0){ hp = 0; }; }; }; }; this.x = (this.x + _local12); this.y = (this.y + _local13); if (parent){ _local17 = (parent as LevelHolder).GetNearestRock(this.x, this.y); if (_local17.radius <= 85){ _local18 = new Point(_local17.rock.x, _local17.rock.y); _local19 = (_local18.x - this.x); _local20 = (_local18.y - this.y); _local21 = ((_local19 * _local13) - (_local20 * _local12)); _local23 = new Point(); if (_local21 >= 0){ _local23.x = _local20; _local23.y = -(_local19); } else { _local23.x = -(_local20); _local23.y = _local19; }; _local24 = Math.sqrt(((_local23.x * _local23.x) + (_local23.y * _local23.y))); _local23.x = ((_local23.x / _local24) * _local17.radius); _local23.y = ((_local23.y / _local24) * _local17.radius); _local18.x = (_local18.x + _local23.x); _local18.y = (_local18.y + _local23.y); _local19 = (_local18.x - this.x); _local20 = (_local18.y - this.y); _local21 = ((_local19 * _local13) - (_local20 * _local12)); if (_local21 >= 0){ SteerRight(_arg1); } else { SteerLeft(_arg1); }; } else { _local25 = ((parent as LevelHolder).player.x + targetpoint.x); _local26 = ((parent as LevelHolder).player.y + targetpoint.y); while ((((((((_local25 < 0)) || ((_local25 > 2000)))) || ((_local26 < 0)))) || ((_local26 > 2000)))) { UpdateTargetPoint(); _local25 = ((parent as LevelHolder).player.x + targetpoint.x); _local26 = ((parent as LevelHolder).player.y + targetpoint.y); }; _local27 = (_local12 * 10); _local28 = (_local13 * 10); _local19 = (_local25 - this.x); _local20 = (_local26 - this.y); _local21 = ((_local19 * _local28) - (_local20 * _local27)); if (_local21 <= 0){ SteerRight(_arg1); } else { SteerLeft(_arg1); }; }; }; }; angle = (body.GetAngle() * (180 / Math.PI)); UpdateBodySpeed(); body.WakeUp(); body.SetLinearVelocity(new b2Vec2(speedx, speedy)); } public function SetState(_arg1:int){ if (shipstate == 0){ shipstate = _arg1; } else { if ((((shipstate == FLOW)) && ((_arg1 == ROAM)))){ shipstate = _arg1; }; }; } override public function SteerRight(_arg1:Number){ body.SetAngularVelocity((0.02 * steerspeed)); UpdateBodySpeed(); } override public function Accelerate(_arg1:Number){ if ((((speed >= 0)) && ((speed <= maxspeed)))){ speed = (speed + (_arg1 * accel)); } else { speed = maxspeed; }; } } }//package
Section 222
//ExpLine (ExpLine) package { import flash.display.*; public dynamic class ExpLine extends MovieClip { } }//package
Section 223
//ExpSymbol (ExpSymbol) package { import flash.display.*; public dynamic class ExpSymbol extends MovieClip { } }//package
Section 224
//FadeSlider (FadeSlider) package { import flash.events.*; import flash.display.*; import flash.utils.*; public class FadeSlider extends MovieClip { const IN:uint = 1; const OUT:uint = 2; const IDLE:uint = 0; var fadecounter:Number;// = 0 public var fadestate:uint;// = 0 var time:Number;// = 0.7 var oldcounter:Number;// = 0 public var keys:Array; var counter:Number;// = 0 public function FadeSlider(){ keys = []; super(); } public function Update(_arg1:Event){ var _local2:Number = 0; if ((((counter == 0)) && ((oldcounter == 0)))){ counter = getTimer(); }; oldcounter = counter; counter = getTimer(); _local2 = (counter - oldcounter); if (_local2 >= 0){ _local2 = (_local2 / 1000); fadecounter = (fadecounter + _local2); if (fadestate == IN){ if (fadecounter >= time){ y = 0; fadestate = IDLE; Game.game.RemoveUnder(); } else { y = (-(height) + ((Number(height) * fadecounter) / time)); }; } else { if (fadestate == OUT){ if (fadecounter >= time){ y = -(height); fadestate = IDLE; } else { y = ((-(height) * fadecounter) / time); }; }; }; }; } public function SetOut(){ fadestate = IDLE; y = -(height); counter = 0; oldcounter = 0; fadecounter = 0; } public function SetIn(){ fadestate = IDLE; y = 0; counter = 0; oldcounter = 0; fadecounter = 0; } public function PlayFadeIn(){ fadestate = IN; y = -(height); counter = 0; oldcounter = 0; } public function PlayFadeOut(){ fadestate = OUT; y = 0; counter = 0; oldcounter = 0; } } }//package
Section 225
//ferryBlue (ferryBlue) package { import flash.display.*; public dynamic class ferryBlue extends MovieClip { public function ferryBlue(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 226
//ferryGreen (ferryGreen) package { import flash.display.*; public dynamic class ferryGreen extends MovieClip { public function ferryGreen(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 227
//ferryRed (ferryRed) package { import flash.display.*; public dynamic class ferryRed extends MovieClip { public function ferryRed(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 228
//focusRectSkin (focusRectSkin) package { import flash.display.*; public dynamic class focusRectSkin extends MovieClip { } }//package
Section 229
//Game (Game) package { import flash.net.*; import flash.events.*; import flash.display.*; import mochi.as3.*; import com.midasplayer.*; import flash.xml.*; public dynamic class Game extends MovieClip { public const CREDITS:uint = 13; public const HIGHSCORES:uint = 8; public const GAMEOVER:uint = 5; public const TROPHIES:uint = 4; public const GAMEWIN:uint = 7; public const LEVELMAP:uint = 2; public const GAMEPLAY:uint = 3; public const LEVELWIN:uint = 6; public const CITY:uint = 11; public const CHARACTERSETUP:uint = 12; public const MAINMENU:uint = 1; public const SURVIVAL:uint = 10; var states:Array; private var xmlLoader:URLLoader;// = null private var xmlURL:URLRequest;// = null public var settings; public var soundmute:SoundMute; var gamestate:uint;// = 0 public static var player:Object = new Object(); public static var game:Game = null; public static var settingsxml:XML = new XML(); public function Game(){ settings = <Gameplay> <Common bboxwidth="50" bboxheight="50" levelwidth="2000" levelheight="2000" startgold="100"/> <Ships> <Ship id="1" cost="1000" speed="30" steering="36" range="250" damage="12" reload="1.6" armor="200" team="15" cannons="10" shipname="Queen Mary"/> <Ship id="2" cost="2500" speed="32" steering="38" range="275" damage="16" reload="1.5" armor="210" team="18" cannons="12" shipname="Lydia"/> <Ship id="3" cost="3500" speed="34" steering="40" range="310" damage="25" reload="1.4" armor="220" team="21" cannons="14" shipname="Sophia"/> <Ship id="4" cost="5000" speed="36" steering="42" range="345" damage="33" reload="1.3" armor="230" team="24" cannons="16" shipname="Thunderchild"/> <Ship id="5" cost="7000" speed="40" steering="45" range="355" damage="46" reload="1.2" armor="250" team="28" cannons="19" shipname="Bon-Acquis"/> <Ship id="6" cost="10000" speed="44" steering="48" range="400" damage="52" reload="1.0" armor="270" team="32" cannons="22" shipname="Caroline"/> <Ship id="7" cost="Mochi coins" speed="48" steering="51" range="440" damage="60" reload="0.8" armor="290" team="36" cannons="25" shipname="Santa Leocadia"/> <Ship id="8" cost="Mochi coins" speed="54" steering="55" range="460" damage="69" reload="0.7" armor="320" team="40" cannons="30" shipname="Southampton"/> <Ship id="9" cost="Mochi coins" speed="68" steering="57" range="475" damage="75" reload="0.6" armor="350" team="44" cannons="35" shipname="Unicorn"/> <Ship id="10" cost="Mochi coins" speed="65" steering="65" range="490" damage="82" reload="0.5" armor="400" team="60" cannons="50" shipname="King Joseph"/> </Ships> <Cannons> <Cannon size="0.6" cost="100" damage="7"/> <Cannon size="0.65" cost="200" damage="9"/> <Cannon size="0.7" cost="300" damage="11"/> <Cannon size="0.75" cost="400" damage="14"/> <Cannon size="0.8" cost="500" damage="19"/> <Cannon size="0.9" cost="600" damage="23"/> <Cannon size="1.0" cost="700" damage="28"/> <Cannon size="1.05" cost="Mochi coins" damage="32"/> <Cannon size="1.1" cost="Mochi coins" damage="39"/> <Cannon size="1.15" cost="Mochi coins" damage="45"/> </Cannons> <Market> <Item cost="50" sell="55"/> <Item cost="75" sell="85"/> <Item cost="90" sell="105"/> <Item cost="115" sell="135"/> <Item cost="230" sell="255"/> <Item cost="360" sell="390"/> <Item cost="405" sell="440"/> <Item cost="485" sell="525"/> <Item cost="510" sell="555"/> <Item cost="680" sell="720"/> </Market> <Experience> <Level level="0" exp="0"/> <Level level="1" exp="2400"/> <Level level="2" exp="3600"/> <Level level="3" exp="6800"/> <Level level="4" exp="9000"/> <Level level="5" exp="14200"/> <Level level="6" exp="20400"/> <Level level="7" exp="27600"/> <Level level="8" exp="35800"/> </Experience> <Levels> <Level level="1" waves="1" ships="1"/> <Level level="2" waves="1" ships="2"/> <Level level="3" waves="1" ships="3"/> <Level level="4" waves="1" ships="3"/> <Level level="5" waves="1" ships="4"/> <Level level="6" waves="1" ships="5"/> <Level level="7" waves="1" ships="5"/> <Level level="8" waves="1" ships="6"/> </Levels> <Tavern> <Rum cost="500" random="0.5"/> <Goods cost="1000" random="0.5" profit="30"/> <Companion cost="Mochi coins"/> </Tavern> <Upgrades> <Damage> <Level level="1" gold="500"/> <Level level="2" gold="1200"/> <Level level="3" gold="2800"/> <Level level="4" gold="3800"/> <Level level="5" gold="4900"/> </Damage> <Cannons> <Level level="1" gold="500"/> <Level level="2" gold="1200"/> <Level level="3" gold="2800"/> <Level level="4" gold="3800"/> <Level level="5" gold="4900"/> </Cannons> <Team> <Level level="1" gold="500"/> <Level level="2" gold="1200"/> <Level level="3" gold="2800"/> <Level level="4" gold="3800"/> <Level level="5" gold="4900"/> </Team> <Reload> <Level level="1" gold="500"/> <Level level="2" gold="1200"/> <Level level="3" gold="2800"/> <Level level="4" gold="3800"/> <Level level="5" gold="4900"/> </Reload> <Speed> <Level level="1" gold="500"/> <Level level="2" gold="1200"/> <Level level="3" gold="2800"/> <Level level="4" gold="3800"/> <Level level="5" gold="4900"/> </Speed> <Armor> <Level level="1" gold="500"/> <Level level="2" gold="1200"/> <Level level="3" gold="2800"/> <Level level="4" gold="3800"/> <Level level="5" gold="4900"/> </Armor> <Steering> <Level level="1" gold="500"/> <Level level="2" gold="1200"/> <Level level="3" gold="2800"/> <Level level="4" gold="3800"/> <Level level="5" gold="4900"/> </Steering> </Upgrades> </Gameplay> ; states = new Array(); super(); new SoundManager(); game = this; settingsxml = settings; addEventListener(Event.ENTER_FRAME, Update, false, 0, true); SetState(MAINMENU); stage.stageFocusRect = false; } private function xmlLoaded(_arg1:Event){ trace("External xml"); settingsxml = XML(_arg1.target.data); addEventListener(Event.ENTER_FRAME, Update, false, 0, true); SetState(MAINMENU); } public function OnLoadGame(_arg1:Event){ var e = _arg1; GlobalData.Load(); GlobalData.Flush(); player = GlobalData.player; player.showtutorial = false; player.update = function (){ player.steering = (int(settingsxml.Ships.Ship[(player.ship - 1)].@steering) + int((player.steering_upg * 5))); player.speed = (int(settingsxml.Ships.Ship[(player.ship - 1)].@speed) + int((player.speed_upg * 5))); player.armor = (int(settingsxml.Ships.Ship[(player.ship - 1)].@armor) + int((player.armor_upg * 10))); player.team = (int(settingsxml.Ships.Ship[(player.ship - 1)].@team) + int((player.team_upg * 10))); if (player.cannon == -1){ player.damage = (int(settingsxml.Ships.Ship[(player.ship - 1)].@damage) + int(player.damage_upg)); } else { player.damage = ((int(settingsxml.Ships.Ship[(player.ship - 1)].@damage) + int(player.damage_upg)) + int(settingsxml.Cannons.Cannon[player.cannon].@damage)); }; player.reload = (int(settingsxml.Ships.Ship[(player.ship - 1)].@reload) - Number((player.reload_upg * 0.1))); player.range = int(settingsxml.Ships.Ship[(player.ship - 1)].@range); player.cannons = (int(settingsxml.Ships.Ship[(player.ship - 1)].@cannons) + int((player.cannons_upg * 5))); }; player.update(); SetState(LEVELMAP); SoundManager.PlayOnce("Click"); } public function OnSurvival(_arg1:Event){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Fsponsored-games%3Fref%3Drise-of-pirates"); navigateToURL(_local2); } public function OnNewGame(_arg1:Event){ var e = _arg1; GlobalData.Clear(); GlobalData.Flush(); player = GlobalData.player; player.showtutorial = true; player.showmaptutorial = true; player.update = function (){ player.steering = (int(settingsxml.Ships.Ship[(player.ship - 1)].@steering) + int((player.steering_upg * 5))); player.speed = (int(settingsxml.Ships.Ship[(player.ship - 1)].@speed) + int((player.speed_upg * 5))); player.armor = (int(settingsxml.Ships.Ship[(player.ship - 1)].@armor) + int((player.armor_upg * 10))); player.team = (int(settingsxml.Ships.Ship[(player.ship - 1)].@team) + int((player.team_upg * 10))); if (player.cannon == -1){ player.damage = (int(settingsxml.Ships.Ship[(player.ship - 1)].@damage) + int(player.damage_upg)); } else { player.damage = ((int(settingsxml.Ships.Ship[(player.ship - 1)].@damage) + int(player.damage_upg)) + int(settingsxml.Cannons.Cannon[player.cannon].@damage)); }; player.reload = (Number(settingsxml.Ships.Ship[(player.ship - 1)].@reload) - Number((player.reload_upg * 0.1))); player.range = int(settingsxml.Ships.Ship[(player.ship - 1)].@range); player.cannons = (int(settingsxml.Ships.Ship[(player.ship - 1)].@cannons) + int((player.cannons_upg * 5))); }; player.update(); SetState(CHARACTERSETUP); SoundManager.PlayOnce("Click"); } public function OnHighscores(_arg1:Event){ KingAPI.openHighscoresLink(); MovieClip(root).tracker.trackPageview("/publicMC.html"); } public function Update(_arg1:Event){ var _local2:FadeSlider; for each (_local2 in states) { _local2.Update(_arg1); }; } public function OnCredits(_arg1:Event){ SetState(CREDITS); SoundManager.PlayOnce("Click"); } public function RemoveUnder(){ } public function OnTrophies(_arg1:Event){ SetState(TROPHIES); } public function SetState(_arg1:uint){ var _local2:*; var _local3:MainMenu; var _local4:LevelMap; var _local5:Trophies; var _local6:Level; var _local7:LevelSurvival; var _local8:Highscores; var _local9:GameOverDialog; var _local10:LevelWinDialog; var _local11:GameWinDialog; var _local12:City; var _local13:Credits; var _local14:CharacterSetupDialog; for each (_local2 in states) { _local2.mouseEnabled = false; _local2.mouseChildren = false; }; if (_arg1 == MAINMENU){ SoundManager.FadeIn("MenuMusic", "MenuMusic"); SoundManager.FadeOut("GameOver"); SoundManager.FadeOut("Intro"); SoundManager.FadeOut("Ingame"); SoundManager.FadeOut("LevelWin"); SoundManager.FadeOut("GameWin"); _local3 = new MainMenu(); _local3.newgame.addEventListener(MouseEvent.CLICK, OnNewGame, false, 0, true); _local3.loadgame.addEventListener(MouseEvent.CLICK, OnLoadGame, false, 0, true); _local3.highscores.addEventListener(MouseEvent.CLICK, OnHighscores, false, 0, true); _local3.trophies.addEventListener(MouseEvent.CLICK, OnTrophies, false, 0, true); _local3.survival.addEventListener(MouseEvent.CLICK, OnSurvival, false, 0, true); _local3.credits.addEventListener(MouseEvent.CLICK, OnCredits, false, 0, true); addChild(_local3); addChild(soundmute); states.push(_local3); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == LEVELMAP){ SoundManager.FadeOut("LevelWin"); SoundManager.FadeOut("MenuMusic"); SoundManager.FadeOut("City"); SoundManager.FadeIn("MapTheme", "MapTheme"); _local4 = new LevelMap(); addChild(_local4); addChild(soundmute); states.push(_local4); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == TROPHIES){ SoundManager.FadeOut("MenuMusic"); SoundManager.FadeIn("Intro", "Intro"); _local5 = new Trophies(); addChild(_local5); addChild(soundmute); states.push(_local5); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == GAMEPLAY){ SoundManager.FadeOut("MapTheme"); SoundManager.FadeOut("GameOver"); SoundManager.FadeOut("MenuMusic"); SoundManager.FadeIn("Ingame", "Ingame1"); _local6 = new Level(); addChild(_local6); addChild(soundmute); states.push(_local6); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == SURVIVAL){ SoundManager.FadeOut("MapTheme"); SoundManager.FadeOut("GameOver"); SoundManager.FadeOut("MenuMusic"); SoundManager.FadeIn("Ingame", "Ingame1"); _local7 = new LevelSurvival(); addChild(_local7); addChild(soundmute); states.push(_local7); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == HIGHSCORES){ _local8 = new Highscores(); addChild(_local8); states.push(_local8); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == GAMEOVER){ SoundManager.FadeOut("Ingame"); SoundManager.FadeOut("Abborduer"); SoundManager.PlayOnce("GameOver"); _local9 = new GameOverDialog(); addChild(_local9); addChild(soundmute); Game.player = GlobalData.player; states.push(_local9); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == LEVELWIN){ SoundManager.FadeOut("Ingame"); SoundManager.FadeOut("Abborduer"); SoundManager.PlayOnce("LevelWin"); _local10 = new LevelWinDialog(); addChild(_local10); addChild(soundmute); states.push(_local10); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == GAMEWIN){ SoundManager.FadeOut("LevelWin"); SoundManager.FadeIn("GameWin", "GameWin"); _local11 = new GameWinDialog(); addChild(_local11); addChild(soundmute); states.push(_local11); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == CITY){ SoundManager.FadeOut("MapTheme"); SoundManager.FadeIn("City", "City"); _local12 = new City(); addChild(_local12); addChild(soundmute); states.push(_local12); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == CREDITS){ _local13 = new Credits(); addChild(_local13); states.push(_local13); if (states.length > 2){ removeChild(states.shift()); }; }; if (_arg1 == CHARACTERSETUP){ _local14 = new CharacterSetupDialog(); addChild(_local14); addChild(soundmute); states.push(_local14); if (states.length > 2){ removeChild(states.shift()); }; }; gamestate = _arg1; } } }//package
Section 230
//GameOver (GameOver) package { import flash.media.*; public dynamic class GameOver extends Sound { } }//package
Section 231
//GameOverDialog (GameOverDialog) package { import flash.net.*; import flash.events.*; import flash.display.*; import flash.text.*; import mochi.as3.*; import com.midasplayer.*; public class GameOverDialog extends FadeSlider { public var restartbutton:ShopButton; public var king:MovieClip; public var levelscoretext:TextField; public var walkthrough:ShopButton; public function GameOverDialog(){ super(); try { SetOut(); PlayFadeIn(); restartbutton.addEventListener(MouseEvent.CLICK, OnRestart, false, 0, true); restartbutton.tabEnabled = false; levelscoretext.text = GlobalData.player.scores.toString(); king.buttonMode = true; king.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Frise-of-pirates%3Fref%3Drise-of-pirates_logo"); navigateToURL(_local2); }); walkthrough.buttonMode = true; walkthrough.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ KingAPI.openKingPage("solutions", "/game/rise-of-pirates"); MovieClip(root).tracker.trackPageview("/publicMC.html"); }); } catch(e:Error) { }; } public function OnRestart(_arg1:MouseEvent){ restartbutton.removeEventListener(MouseEvent.CLICK, OnRestart); if (LevelSurvival.level != null){ Game.game.SetState(Game.game.MAINMENU); } else { Game.game.SetState(Game.game.GAMEPLAY); }; SoundManager.PlayOnce("Click"); } } }//package
Section 232
//GameWin (GameWin) package { import flash.media.*; public dynamic class GameWin extends Sound { } }//package
Section 233
//GameWinDialog (GameWinDialog) package { import flash.net.*; import flash.events.*; import flash.display.*; public class GameWinDialog extends FadeSlider { public var backbutton:ShopButton; public var king:MovieClip; public function GameWinDialog(){ super(); SetOut(); PlayFadeIn(); backbutton.addEventListener(MouseEvent.CLICK, OnBack, false, 0, true); backbutton.tabEnabled = false; king.buttonMode = true; king.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Frise-of-pirates%3Fref%3Drise-of-pirates_logo"); navigateToURL(_local2); }); } public function OnBack(_arg1:MouseEvent){ backbutton.removeEventListener(MouseEvent.CLICK, OnBack); Game.game.SetState(Game.game.MAINMENU); SoundManager.PlayOnce("Click"); } } }//package
Section 234
//Garamond (Garamond) package { import flash.text.*; public dynamic class Garamond extends Font { } }//package
Section 235
//GaramondBold (GaramondBold) package { import flash.text.*; public dynamic class GaramondBold extends Font { } }//package
Section 236
//GaramondBoldEmbed (GaramondBoldEmbed) package { import flash.display.*; public dynamic class GaramondBoldEmbed extends MovieClip { } }//package
Section 237
//GaramondEmbed (GaramondEmbed) package { import flash.display.*; public dynamic class GaramondEmbed extends MovieClip { } }//package
Section 238
//GlobalData (GlobalData) package { import flash.net.*; import flash.events.*; import flash.display.*; import flash.geom.*; import mochi.as3.*; import flash.system.*; public class GlobalData extends MovieClip { public static var shipsdestroyed:int = 0; public static var shipowned10:Boolean = false; public static var completed:Boolean = false; public static var cannonowned8:Boolean = false; public static var mclogged:Boolean = false; private static var GD:GlobalData = null; public static var bestship:Boolean = false; public static var player = new Object(); private static var so = null; public static var bestcannon:Boolean = false; public static var shipowned7:Boolean = false; public static var shipowned8:Boolean = false; public static var shipowned9:Boolean = false; public static var cannonowned9:Boolean = false; public static var cannonowned10:Boolean = false; private static var valid:Boolean = true; public function GlobalData(){ super(); MochiServices.connect("42694d793aebc0d5", root, handleError); MochiCoins.addEventListener(MochiCoins.LOGGED_IN, loggedIn); MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, registerItem); MochiCoins.addEventListener(MochiCoins.ITEM_NEW, boughtItem); GD = this; try { so = SharedObject.getLocal("stefans_riseofpirates"); so.flush(0x0400); if (so.data.player != undefined){ if (so.data.player.completed != undefined){ completed = so.data.player.completed; trace(("completed = " + completed)); }; if (so.data.player.shipsdestroyed != undefined){ shipsdestroyed = so.data.player.shipsdestroyed; trace(("shipsdestroyed = " + shipsdestroyed)); }; if (so.data.player.bestship != undefined){ bestship = so.data.player.bestship; trace(("bestship = " + bestship)); }; if (so.data.player.bestcannon != undefined){ bestcannon = so.data.player.bestcannon; trace(("bestcannon = " + bestcannon)); }; }; } catch(e:Error) { trace(e); Security.showSettings(SecurityPanel.LOCAL_STORAGE); so.addEventListener(NetStatusEvent.NET_STATUS, onStatus); }; } public function handleError(_arg1:Object){ if (_arg1 == "IOError"){ MochiServices.connect("42694d793aebc0d5", root, handleError); }; trace("-----------------------------------------------------------------------"); trace(("Connection error" + _arg1)); trace("-----------------------------------------------------------------------"); } public function boughtItem(_arg1:Object):void{ trace("-----------------------------------------------------------------------"); trace(((("Player just bought " + _arg1.count) + " of ") + _arg1.id)); trace("-----------------------------------------------------------------------"); if (_arg1.id == "1b942a98deedd5c9"){ GlobalData.shipowned7 = true; Shipyard.shipyard.Update(6); }; if (_arg1.id == "5ca6a47e37353dfa"){ GlobalData.shipowned8 = true; Shipyard.shipyard.Update(7); }; if (_arg1.id == "9b374f49f21df32b"){ GlobalData.shipowned9 = true; Shipyard.shipyard.Update(8); }; if (_arg1.id == "abfc07b7335d6c39"){ GlobalData.shipowned10 = true; Shipyard.shipyard.Update(9); }; if (_arg1.id == "75106b59c5e3605f"){ GlobalData.cannonowned8 = true; CannonShop.cannonshop.Update(7); }; if (_arg1.id == "fcea3f16efe5aa09"){ GlobalData.cannonowned9 = true; CannonShop.cannonshop.Update(8); }; if (_arg1.id == "5689a8032464713e"){ GlobalData.cannonowned10 = true; CannonShop.cannonshop.Update(9); }; if (_arg1.id == "e838919d71e001ab"){ GlobalData.player.companion = (GlobalData.player.companion + _arg1.count); Tavern.tavern.Update(); }; Flush(); } public function registerItem(_arg1:Object):void{ trace("-----------------------------------------------------------------------"); trace(((("Player owns " + _arg1.count) + " of ") + _arg1.id)); trace("-----------------------------------------------------------------------"); if (_arg1.id == "1b942a98deedd5c9"){ GlobalData.shipowned7 = true; }; if (_arg1.id == "5ca6a47e37353dfa"){ GlobalData.shipowned8 = true; }; if (_arg1.id == "9b374f49f21df32b"){ GlobalData.shipowned9 = true; }; if (_arg1.id == "abfc07b7335d6c39"){ GlobalData.shipowned10 = true; }; if (_arg1.id == "75106b59c5e3605f"){ GlobalData.cannonowned8 = true; }; if (_arg1.id == "fcea3f16efe5aa09"){ GlobalData.cannonowned9 = true; }; if (_arg1.id == "5689a8032464713e"){ GlobalData.cannonowned10 = true; }; } public function loggedIn(_arg1:Object):void{ trace("-----------------------------------------------------------------------"); trace(("Hello " + _arg1.name)); trace("-----------------------------------------------------------------------"); GlobalData.mclogged = true; MochiCoins.showLoginWidget(); } public static function Load(){ if (!GD){ return; }; if (((!(so)) || (!(valid)))){ return; }; if (so.data.player != null){ player = so.data.player; player.completed = completed; player.shipsdestroyed = shipsdestroyed; player.bestship = bestship; player.bestcannon = bestcannon; if (player.gold < 0){ player.gold = 0; }; Game.player = player; } else { Clear(); Game.player = player; }; } public static function onStatus(_arg1:NetStatusEvent){ if (!GD){ trace("!GD"); return; }; if (_arg1.info.code == "SharedObject.Flush.Failed"){ trace("Failed"); valid = false; } else { if (_arg1.info.code == "SharedObject.Flush.Success"){ trace("Success"); valid = true; }; }; } public static function Flush(){ var res:String; if (((((!(GD)) || (!(so)))) || (!(valid)))){ return; }; try { trace(("shipsdestroyed = " + shipsdestroyed)); trace(("player.shipsdestroyed = " + player.shipsdestroyed)); player.completed = completed; player.shipsdestroyed = shipsdestroyed; player.bestship = bestship; player.bestcannon = bestcannon; so.data.player = player; res = so.flush(0x0400); if (res == SharedObjectFlushStatus.PENDING){ so.addEventListener(NetStatusEvent.NET_STATUS, onStatus); }; if (res == SharedObjectFlushStatus.FLUSHED){ valid = true; }; } catch(e:Error) { trace(e); Security.showSettings(SecurityPanel.LOCAL_STORAGE); }; } public static function Clear(){ if (!GD){ return; }; player = new Object(); player.showtutorial = true; player.showperktutorial = true; player.showupgradetutorial = true; player.showshipyardtutorial = true; player.showcannonstutorial = true; player.showmarkettutorial = true; player.showtaverntutorial = true; player.scores = int(0); player.gold = int(Game.settingsxml.Common.@startgold); player.goods = new Array(); player.miniquest = new Array(); player.cityname = new String(); player.questbattle = false; player.companion = int(0); player.ship = int(1); player.cannon = int(-1); player.level = int(0); player.exp = int(1); player.steering = int(Game.settingsxml.Ships.Ship[0].@steering); player.speed = int(Game.settingsxml.Ships.Ship[0].@speed); player.armor = int(Game.settingsxml.Ships.Ship[0].@armor); player.team = int(Game.settingsxml.Ships.Ship[0].@team); player.damage = int(Game.settingsxml.Ships.Ship[0].@damage); player.reload = Number(Game.settingsxml.Ships.Ship[0].@reload); player.range = int(Game.settingsxml.Ships.Ship[0].@range); player.cannons = int(Game.settingsxml.Ships.Ship[0].@cannons); player.avatar = 1; player.levelmapcoords = new Point(328, 357); player.questnumber = 1; player.authority = int(0); player.bombardier = int(0); player.trader = int(0); player.completed = completed; player.shipsdestroyed = shipsdestroyed; player.bestship = bestship; player.bestcannon = bestcannon; player.damage_upg = int(0); player.cannons_upg = int(0); player.team_upg = int(0); player.reload_upg = int(0); player.speed_upg = int(0); player.armor_upg = int(0); player.steering_upg = int(0); if (((so) && (valid))){ so.clear(); Flush(); }; } } }//package
Section 239
//GoodsDialog (GoodsDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class GoodsDialog extends MovieClip { public var no_button:MapButton; public var city_text:TextField; public var yes_button:MapButton; public function GoodsDialog(){ yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); no_button.addEventListener(MouseEvent.CLICK, OnNo, false, 0, true); } public function OnYes(_arg1:MouseEvent){ var _local2:MessageDialog; SoundManager.PlayOnce("Buy"); if (parent){ _local2 = new MessageDialog(); if (Math.random() <= Number(Game.settingsxml.Tavern.Goods.@random)){ Game.player.gold = (Game.player.gold - Game.settingsxml.Tavern.Goods.@cost); City(parent.parent).UpdateDialog(); if (Game.player.goods[0] == undefined){ Game.player.goods[0] = int(Game.settingsxml.Tavern.Goods.@profit); } else { Game.player.goods[0] = (Game.player.goods[0] + int(Game.settingsxml.Tavern.Goods.@profit)); }; Game.player.goods["cityname"] = Game.player.cityname; trace(Game.player.goods[0]); trace(Game.player.goods["cityname"]); _local2.message_text.text = "These goods only looks cheap, we've got a great profit!"; } else { Game.player.gold = (Game.player.gold - Game.settingsxml.Tavern.Goods.@cost); City(parent.parent).UpdateDialog(); _local2.message_text.text = "You lost your gold. All you've got is dirty looking crap."; }; parent.addChild(_local2); Tavern(parent).DisableGoods(); parent.removeChild(this); }; } public function OnNo(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); if (parent){ parent.removeChild(this); }; } } }//package
Section 240
//Highscores (Highscores) package { import flash.events.*; import flash.display.*; import mochi.as3.*; public class Highscores extends FadeSlider { public var scoreclip:MovieClip; public var backtomenubutton:ShopButton; public function Highscores(){ super(); SetOut(); PlayFadeIn(); backtomenubutton.addEventListener(MouseEvent.CLICK, OnBackToMenu, false, 0, true); try { MochiScores.showLeaderboard({res:"700x436", boardID:"9638925fbea3a85d", clip:this, onClose:function (){ }}); } catch(e:Error) { }; } public function OnBackToMenu(_arg1:MouseEvent=null){ MochiScores.closeLeaderboard(); Game.game.SetState(Game.game.MAINMENU); SoundManager.PlayOnce("Click"); } } }//package
Section 241
//HostButton (HostButton) package { import flash.display.*; public dynamic class HostButton extends MovieClip { } }//package
Section 242
//HPMeter (HPMeter) package { import flash.display.*; public dynamic class HPMeter extends MovieClip { } }//package
Section 243
//Ingame1 (Ingame1) package { import flash.media.*; public dynamic class Ingame1 extends Sound { } }//package
Section 244
//Interface (Interface) package { import flash.events.*; import flash.display.*; import flash.text.*; public class Interface extends MovieClip { public var ship_hp_text:TextField; public var reload_text:TextField; public var ship_icon:ShipIcon; public var avatar_icon:Avatar; public var text1:TextField; public var speed_text:TextField; var player_hp:Number;// = 100 public var text4:TextField; public var gold_text:TextField; public var text3:TextField; public var text2:TextField; public var ship_cores_text:TextField; public var armor_text:TextField; public var cannons_text:TextField; public var button1:InterfaceButton; public var button2:InterfaceButton; public var button3:InterfaceButton; public var button4:InterfaceButton; var wavetime:Number;// = 1 public var team_text:TextField; public var steering_text:TextField; var maxarmor:uint;// = 1 var player_cores:Number;// = 50 public var ship_hp:HPMeter; public var range_text:TextField; public var ship_cores:TeamMeter; var player_team:Number;// = 50 public var damage_text:TextField; public function Interface(){ ship_hp_text.mouseEnabled = false; ship_cores_text.mouseEnabled = false; text1.mouseEnabled = false; text2.mouseEnabled = false; text3.mouseEnabled = false; text4.mouseEnabled = false; button1.buttonMode = true; button2.buttonMode = true; button3.buttonMode = true; button4.buttonMode = true; button1.tabEnabled = false; button2.tabEnabled = false; button3.tabEnabled = false; button4.tabEnabled = false; } public function SetMaxCores(_arg1:int){ player_cores = _arg1; team_text.text = ((("Cores:" + player_cores.toString()) + "/") + player_cores.toString()); } public function SetCores(_arg1:int){ team_text.text = ((("Cores:" + _arg1.toString()) + "/") + player_cores.toString()); } public function SetShip(_arg1:int){ ship_icon.gotoAndStop(_arg1); } public function SetMaxTeam(_arg1:Number){ ship_cores.scaleY = 1; ship_cores_text.text = _arg1.toString(); player_team = _arg1; } public function SetMaxHP(_arg1:Number){ ship_hp.scaleY = 1; ship_hp_text.text = _arg1.toString(); player_hp = _arg1; } public function SetTeam(_arg1:Number){ ship_cores.scaleY = (_arg1 / player_team); ship_cores_text.text = _arg1.toString(); } public function SetHP(_arg1:Number){ ship_hp.scaleY = (_arg1 / player_hp); ship_hp_text.text = int(_arg1).toString(); } } }//package
Section 245
//InterfaceButton (InterfaceButton) package { import flash.display.*; public dynamic class InterfaceButton extends SimpleButton { } }//package
Section 246
//Intro (Intro) package { import flash.media.*; public dynamic class Intro extends Sound { } }//package
Section 247
//Level (Level) package { import flash.net.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; import fl.transitions.*; import flash.utils.*; import fl.transitions.easing.*; import flash.filters.*; import flash.xml.*; public class Level extends FadeSlider { const GAMEWIN:uint = 5; const GAMEOVER:uint = 3; const LEVELWIN:uint = 4; const PAUSE:uint = 2; const NORMAL:uint = 1; var shipnumber:int;// = 0 var watertilesholderoffset:Number;// = 110 public var king:MovieClip; var waves:Array; var levelheight:Number;// = 0 var perkdlg:PerkDialog;// = null public var levelholder:LevelHolder; var delta:Number;// = 0 public var levelscoretext:TextField; var leveloffsetx:Number;// = 0 var levelwidth:Number;// = 0 var timer:Number;// = 0 var leveloffsety:Number;// = 0 public var gui:Interface; public var escapedlg:TriedToEscape; var wateroffsetdirection:int;// = 1 var tutorial:Tutorial;// = null public var gamestate:uint;// = 2 var player:PlayerShip; var triedtoescape:Boolean;// = false public var pauseddialog:PausedWidget; var watertilesholder:WaterTilesHolder; var oldtimer:Number;// = 0 public static var level:Level = null; public function Level(){ var gm:Game; var e:*; var i:*; var rockamount:*; watertilesholder = new WaterTilesHolder(); levelholder = new LevelHolder(); waves = new Array(); super(); try { level = this; LevelSurvival.level = null; SetOut(); gm = Game.game; player = new PlayerShip(); levelwidth = Game.settingsxml.Common.@levelwidth; levelheight = Game.settingsxml.Common.@levelheight; addChild(watertilesholder); addChild(levelholder); levelholder.x = (-((levelwidth - 700)) / 2); levelholder.y = -((levelheight - 450)); levelholder.SetPlayer(player); gui.damage_text.text = ("Damage: " + Game.player.damage.toString()); gui.reload_text.text = ("Reload: " + Game.player.reload.toString()); gui.range_text.text = ("Range: " + Game.player.range.toString()); gui.cannons_text.text = ("Cannons: " + Game.player.cannons.toString()); gui.steering_text.text = ("Steering: " + Game.player.steering.toString()); gui.speed_text.text = ("Speed: " + Game.player.speed.toString()); gui.armor_text.text = ("Armor: " + Game.player.armor.toString()); gui.team_text.text = ("Team: " + Game.player.team.toString()); gui.avatar_icon.gotoAndStop(Game.player.avatar); gui.ship_icon.gotoAndStop(Game.player.ship); Game.player.update(); gui.SetMaxHP(Game.player.armor); gui.SetMaxCores(Game.player.cannons); gui.SetMaxTeam(Game.player.team); gui.text1.text = "Escape!"; gui.text2.text = "Character"; gui.text3.text = "Pause"; gui.text4.text = "Main menu"; gui.button1.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ var _local2:int; SoundManager.PlayOnce("Click"); if (!triedtoescape){ triedtoescape = true; if ((((GlobalData.player.questnumber == 1)) || ((Game.player.questbattle == true)))){ return; }; _local2 = int((Math.random() * 3)); if (_local2 == 0){ GlobalData.player = Game.player; GlobalData.Flush(); if ((((GlobalData.player.questnumber == 1)) || ((Game.player.questbattle == true)))){ trace(("Quest = " + Game.player.questnumber)); Game.player.questnumber++; } else { trace("Not a quest battle!"); }; if (GlobalData.player.questnumber == 9){ Game.game.SetState(Game.game.GAMEWIN); Game.player.completed = true; GlobalData.completed = true; } else { Game.game.SetState(Game.game.LEVELMAP); }; } else { trace("failed"); Pause(); trace(("escapedlg = " + escapedlg)); addChild(escapedlg); escapedlg.escapetxt.text = "You failed to escape!"; escapedlg.visible = true; }; } else { trace("already"); Pause(); addChild(escapedlg); escapedlg.escapetxt.text = "You already tried to escape,\n and failed your try!"; escapedlg.visible = true; }; }); gui.button3.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); Pause(); }); gui.button4.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); Pause(); Game.game.SetState(Game.game.MAINMENU); }); gui.button2.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); Pause(); perkdlg = new PerkDialog(); perkdlg.UpdatePerks(); addChild(perkdlg); }); pauseddialog.visible = false; escapedlg.visible = false; levelscoretext.text = "0"; UpdateGold(); PlayFadeIn(); rockamount = 40; e = 0; while (e < rockamount) { levelholder.AddRock(int((Math.random() * 2))); e = (e + 1); }; Reorder(); if (Game.player.showtutorial == true){ Game.player.showtutorial = false; SetGameState(PAUSE); tutorial = new Tutorial(); addChild(tutorial); } else { SetGameState(NORMAL); }; levelholder.StartLevel(); king.buttonMode = true; king.addEventListener(MouseEvent.CLICK, function (_arg1:Event){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Frise-of-pirates%3Fref%3Drise-of-pirates_logo"); navigateToURL(_local2); }); } catch(e:Error) { }; } public function HighlightCharacterButton(_arg1:Boolean=false){ if (_arg1 == false){ gui.button2.filters = []; } else { gui.button2.filters = [new GlowFilter(0xFF0000, 1, 5, 5, 2, 2, true, false)]; }; } public function SetGameState(_arg1:uint){ if (stage){ stage.focus = this; }; if ((((gamestate == NORMAL)) && ((_arg1 == GAMEOVER)))){ gamestate = PAUSE; Game.game.SetState(Game.game.GAMEOVER); }; if ((((gamestate == NORMAL)) && ((_arg1 == LEVELWIN)))){ gamestate = PAUSE; Game.game.SetState(Game.game.LEVELWIN); }; gamestate = _arg1; } public function GetNearestEnemy(_arg1:Number, _arg2:Number):EnemyShip{ return (levelholder.GetNearestEnemy(_arg1, _arg2)); } private function Reorder(){ addChild(gui); addChild(pauseddialog); addChild(levelscoretext); if (stage != null){ }; addChild(king); } public function Pause(){ if (gamestate == NORMAL){ SetGameState(PAUSE); pauseddialog.visible = true; } else { if (gamestate == PAUSE){ SetGameState(NORMAL); pauseddialog.visible = false; escapedlg.visible = false; }; }; } override public function Update(_arg1:Event){ var _local2:*; var _local3:Number; var _local4:Point; var _local5:Point; if (fadestate != IDLE){ super.Update(_arg1); }; if (gamestate == PAUSE){ timer = getTimer(); return; }; if (gamestate == NORMAL){ if ((((timer == 0)) && ((oldtimer == 0)))){ timer = getTimer(); }; oldtimer = timer; timer = getTimer(); delta = (timer - oldtimer); _local3 = 1; if (delta >= 0){ delta = (delta / 1000); _local4 = player.GetMoveVector(); levelholder.Update(delta); watertilesholderoffset = (watertilesholderoffset - (delta * 14)); if (watertilesholderoffset <= 0){ watertilesholderoffset = (watertilesholderoffset + 110); }; watertilesholder.Update(watertilesholderoffset); gui.SetTeam(player.team); _local5 = levelholder.localToGlobal(levelholder.GetPlayerPosition()); if ((((_local5.y <= 180)) && ((_local4.y <= 0)))){ levelholder.y = (levelholder.y - _local4.y); if (levelholder.y >= 0){ levelholder.y = 0; }; }; if ((((_local5.y >= 300)) && ((_local4.y >= 0)))){ levelholder.y = (levelholder.y - _local4.y); if (levelholder.y <= -1550){ levelholder.y = -1550; }; }; if ((((_local5.x <= 250)) && ((_local4.x <= 0)))){ levelholder.x = (levelholder.x - _local4.x); if (levelholder.x >= 0){ levelholder.x = 0; }; }; if ((((_local5.x >= 450)) && ((_local4.x >= 0)))){ levelholder.x = (levelholder.x - _local4.x); if (levelholder.x <= -1300){ levelholder.x = -1300; }; }; Reorder(); }; }; } public function UpdateGold(){ gui.gold_text.text = Game.player.gold.toString(); } } }//package
Section 248
//LevelHolder (LevelHolder) package { import flash.events.*; import flash.display.*; import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.geom.*; import Box2D.Dynamics.Contacts.*; import flash.filters.*; import flash.ui.*; public class LevelHolder extends MovieClip { public const ROAM:int = 2; public const FLOW:int = 1; var companion:CompanionShip;// = null public var enemies:Array; public var boarding:Boolean;// = false var overlay:Sprite; public var boardingsound:Boolean;// = false var e; var i; public var boardingship:EnemyShip;// = null var delay:Number;// = 0 var chests:Array; var world:b2World;// = null var waves:int;// = -1 var startplayerlevel:int;// = 0 var octopusses:Array; public var rocks:Array; var cores:Array; var keyBinds:Object; var ships:int;// = -1 var clouds:Array; public var player:PlayerShip;// = null var currentships:int;// = -1 var trashes:Array; var rockplaces:Array; var worldAABB:b2AABB; var keys:Array; var rectarray:Array; var counter:Number;// = 0 var explosions:Array; public function LevelHolder(){ var _local3:WaterWave; var _local4:Octopus; var _local5:Cloud; enemies = new Array(); cores = new Array(); rocks = new Array(); trashes = new Array(); chests = new Array(); clouds = new Array(); explosions = new Array(); octopusses = new Array(); rectarray = new Array(); rockplaces = new Array(); overlay = new Sprite(); keys = []; keyBinds = {OnSteerLeft:Keyboard.LEFT, OnAccelerate:Keyboard.UP, OnSteerRight:Keyboard.RIGHT, OnBreak:Keyboard.DOWN, OnSteerLeftD:65, OnAccelerateD:87, OnSteerRightD:68, OnBreakD:83}; worldAABB = new b2AABB(); super(); this.buttonMode = true; worldAABB.lowerBound.Set(-500, -500); worldAABB.upperBound.Set(2500, 2500); var _local1:b2Vec2 = new b2Vec2(0, 0); var _local2:Boolean; world = new b2World(worldAABB, _local1, _local2); startplayerlevel = Game.player.level; this.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown); this.addEventListener(KeyboardEvent.KEY_UP, KeyUp); this.addEventListener(MouseEvent.MOUSE_DOWN, down); this.addEventListener(MouseEvent.MOUSE_MOVE, move2, false, 0, true); this.addEventListener(Event.ADDED_TO_STAGE, OnAddedToStage); e = 0; while (e < 40) { _local3 = new WaterWave(); _local3.gotoAndPlay(int((Math.random() * 100))); _local3.x = int((Math.random() * 2000)); _local3.y = int((Math.random() * 2000)); _local3.cacheAsBitmap = true; addChild(_local3); e++; }; e = 0; while (e < int((Math.random() * 6))) { _local4 = new Octopus(); _local4.gotoAndPlay(int((Math.random() * 100))); _local4.x = int((Math.random() * 2000)); _local4.y = int((Math.random() * 2000)); addChild(_local4); octopusses.push(_local4); e++; }; e = 0; while (e < 40) { _local5 = new Cloud(); _local5.x = int((Math.random() * 2000)); _local5.y = int((Math.random() * 2000)); _local5.alpha = 0.6; _local5.cacheAsBitmap = true; addChild(_local5); clouds.push(_local5); e++; }; } public function RemoveShip(_arg1:Ship){ var _local4:*; var _local5:Number; var _local6:Number; if ((_arg1 is EnemyShip)){ _local4 = new Trash(); _local4.x = _arg1.x; _local4.y = _arg1.y; addChild(_local4); trashes.push(_local4); }; world.DestroyBody(_arg1.body); Game.player.shipsdestroyed++; GlobalData.shipsdestroyed++; var _local2:Number = (_arg1.maxhp * 2); Game.player.exp = (Game.player.exp + _local2); e = 0; while (e < 8) { _local5 = Game.settingsxml.Experience.Level[e].@exp; _local6 = Game.settingsxml.Experience.Level[(e + 1)].@exp; if ((((Game.player.exp >= _local5)) && ((Game.player.exp <= _local6)))){ if (((!((e == Game.player.level))) && (!((e == startplayerlevel))))){ Level.level.HighlightCharacterButton(true); }; Game.player.level = e; }; e++; }; var _local3:* = enemies.indexOf(_arg1); if (_local3 != -1){ enemies.splice(_local3, 1); removeChild(_arg1); }; currentships--; if (currentships == 0){ currentships = ships; AddWave(); }; } private function OnBreakD(_arg1:Number){ player.Break(_arg1); player.targetpoint.x = -1; } public function AddChest(_arg1:Number, _arg2:Number, _arg3:Number){ var _local4:Chest = new Chest(); _local4.x = _arg1; _local4.y = _arg2; _local4.gold = ((_arg3 + (_arg3 * 0.2)) * (Game.player.level + 1)); addChild(_local4); chests.push(_local4); } public function GetPlayerPosition():Point{ return (new Point(player.x, player.y)); } private function TestRockPlace(_arg1:Rectangle):Boolean{ var _local2:Rectangle; for each (e in rockplaces) { if (_arg1.intersects(e)){ return (true); }; }; _local2 = new Rectangle((player.x - 74), (player.y - 74), 150, 150); if (_local2.intersects(_arg1)){ return (true); }; return (false); } public function AddWave(){ var _local1:Object; var _local2:Number; var _local3:Chest; if ((((waves == 0)) && ((((((Game.player.questnumber == 5)) || ((Game.player.questnumber == 7)))) || ((Game.player.questnumber == 8)))))){ _local1 = new Object(); _local2 = (0.9 + (((Math.random() * 2) - 1) * 0.2)); _local1.type = int(((Math.random() * 9) + 1)); _local1.speed = (Game.player.speed * _local2); _local1.steering = (Game.player.steering * _local2); _local1.range = 200; _local1.damage = (Game.player.damage * _local2); _local1.reload = (Game.player.reload * _local2); _local1.cannons = (Game.player.cannons * _local2); _local1.armor = ((Game.player.armor * _local2) * 4); _local1.team = (Game.player.team * _local2); _local1.boss = true; AddShip(_local1); currentships = 1; waves--; } else { if (waves > 0){ e = 0; while (e < ships) { _local1 = new Object(); _local2 = (0.6 + (((Math.random() * 2) - 1) * 0.3)); _local1.type = int(((Math.random() * 9) + 1)); _local1.speed = (Game.player.speed * _local2); _local1.steering = (Game.player.steering * _local2); _local1.range = 200; _local1.damage = (Game.player.damage * _local2); _local1.reload = (Game.player.reload * _local2); _local1.cannons = (Game.player.cannons * _local2); _local1.armor = (Game.player.armor * _local2); _local1.team = (Game.player.team * _local2); _local1.boss = false; AddShip(_local1); e++; }; waves--; } else { if (waves <= 0){ for each (_local3 in chests) { RemoveChest(_local3); }; Level.level.SetGameState(Level.level.LEVELWIN); return; }; }; }; } public function AddShot(_arg1:Number, _arg2:Number, _arg3:int){ var _local4:* = new Smoke(); var _local5:int = (((_arg3 - 1) * 36) + 1); _local4.x = _arg1; _local4.y = _arg2; _local4.cacheAsBitmap = true; addChild(_local4); _local4.gotoAndPlay(_local5); } public function GetNearestEnemy(_arg1:Number, _arg2:Number):EnemyShip{ var _local5:Number; var _local3:Number = -1; var _local4:EnemyShip; for each (e in enemies) { _local5 = Math.sqrt((Math.pow((e.x - _arg1), 2) + Math.pow((e.y - _arg2), 2))); if (_local3 == -1){ _local3 = _local5; _local4 = e; } else { if (_local3 > _local5){ _local3 = _local5; _local4 = e; }; }; }; return (_local4); } private function OnSteerRight(_arg1:Number){ player.SteerRight(_arg1); player.targetpoint.x = -1; } private function OnSteerLeftD(_arg1:Number){ player.SteerLeft(_arg1); player.targetpoint.x = -1; } private function OnSteerLeft(_arg1:Number){ player.SteerLeft(_arg1); player.targetpoint.x = -1; } private function KeyUp(_arg1:KeyboardEvent){ delete keys[_arg1.keyCode]; } private function OnBreak(_arg1:Number){ player.Break(_arg1); player.targetpoint.x = -1; } private function OnAccelerate(_arg1:Number){ player.Accelerate(_arg1); player.targetpoint.x = -1; } public function AddSplash(_arg1:Number, _arg2:Number){ var _local3:* = new WaterSplash(); _local3.x = _arg1; _local3.y = _arg2; addChild(_local3); } private function OnSteerRightD(_arg1:Number){ player.SteerRight(_arg1); player.targetpoint.x = -1; } public function AddShip(_arg1:Object){ var _local2:EnemyShip = new EnemyShip(); _local2.name = ("enemy" + int((Math.random() * 10))); addChild(_local2); _local2.Init(_arg1); var _local3:Number = (player.x + (Math.random() * 350)); var _local4:Number = 0; if (player.y >= 1000){ _local4 = ((player.y - (Math.random() * 200)) - 375); } else { _local4 = ((player.y + (Math.random() * 200)) + 375); }; _local2.x = _local3; _local2.y = _local4; if (_arg1.boss == true){ _local2.filters = [new GlowFilter(0, 1, 5, 5, 2, 2, true, false)]; } else { _local2.filters = [new GlowFilter(0xFF0000, 0.4, 5, 5, 2, 2, true, false)]; }; _local2.bodydef = new b2BodyDef(); _local2.bodydef.position.Set(_local2.x, _local2.y); _local2.bodydef.linearDamping = 0.8; _local2.bodydef.angularDamping = 1.5; var _local5:b2PolygonDef = new b2PolygonDef(); _local5.vertexCount = 4; _local5.vertices[0].Set(-13.5, 0); _local5.vertices[1].Set(0, -26); _local5.vertices[2].Set(13.5, 0); _local5.vertices[3].Set(0, 26); _local5.density = 1; _local5.friction = 0.5; _local5.restitution = 0.2; _local2.bodydef.userData = _local2; _local2.body = world.CreateBody(_local2.bodydef); _local2.body.CreateShape(_local5); _local2.body.SetMassFromShapes(); enemies.push(_local2); _local2.SetState(ROAM); } public function StartLevel(){ var _local1:int = Game.player.level; waves = Game.settingsxml.Levels.Level[_local1].@waves; ships = Game.settingsxml.Levels.Level[_local1].@ships; currentships = ships; AddWave(); if (Game.player.companion > 0){ AddCompanionShips(); }; } public function RemoveCore(_arg1:Core){ var _local2:* = cores.indexOf(_arg1); if (_local2 != -1){ cores.splice(_local2, 1); removeChild(_arg1); }; } private function move2(_arg1:MouseEvent):void{ if (player.beginDrag == true){ player.dragPoint = this.globalToLocal(new Point(_arg1.stageX, _arg1.stageY)); }; } public function AddRock(_arg1:int){ var _local2:*; var _local3:Number = (Math.random() * 1850); var _local4:Number = (Math.random() * 1700); var _local5:Rectangle = new Rectangle(_local3, _local4, 150, 100); while (TestRockPlace(_local5) != false) { _local3 = (Math.random() * 1850); _local4 = (Math.random() * 1900); _local5 = new Rectangle(_local3, _local4, 150, 100); }; rockplaces.push(_local5); if (_arg1 == 1){ _local2 = new Rock1(); } else { _local2 = new Rock2(); }; _local2.x = _local3; _local2.y = _local4; var _local6:b2BodyDef = new b2BodyDef(); _local6.position.Set(_local2.x, _local2.y); var _local7:b2PolygonDef = new b2PolygonDef(); _local7.vertexCount = 8; _local7.vertices[0].Set(24.45, -29.95); _local7.vertices[1].Set(59.9, -8.3); _local7.vertices[2].Set(60, 22.35); _local7.vertices[3].Set(24.6, 43.95); _local7.vertices[4].Set(-25.45, 44); _local7.vertices[5].Set(-60.95, 22.4); _local7.vertices[6].Set(-61, -8.2); _local7.vertices[7].Set(-25.65, -29.9); _local7.density = 0; _local7.friction = 0.3; _local7.restitution = 0.6; _local6.userData = _local2; var _local8:b2Body = world.CreateBody(_local6); _local8.CreateShape(_local7); _local8.SetMassFromShapes(); rocks.push(_local2); addChild(_local2); } private function KeyDown(_arg1:KeyboardEvent){ keys[_arg1.keyCode] = true; } public function DamageTeam(){ player.DamageTeam(); } private function OnAccelerateD(_arg1:Number){ player.Accelerate(_arg1); player.targetpoint.x = -1; } public function AddExplosion(_arg1){ explosions.push(_arg1); addChild(_arg1); } private function up(_arg1:MouseEvent):void{ removeEventListener(MouseEvent.MOUSE_MOVE, move); var _local2:Point = this.globalToLocal(new Point(_arg1.stageX, _arg1.stageY)); var _local3:Number = Math.sqrt((Math.pow((_local2.x - player.x), 2) + Math.pow((_local2.y - player.y), 2))); if (_local3 >= 50){ player.targetpoint = _local2; }; player.beginDrag = false; } private function down(_arg1:MouseEvent):void{ addEventListener(MouseEvent.MOUSE_MOVE, move); addEventListener(MouseEvent.MOUSE_UP, up); player.beginDrag = false; } public function GetPlayerCoords():Object{ return ({x:player.x, y:player.y}); } public function EnemyIntersects(_arg1:EnemyShip, _arg2:Point):Boolean{ for each (e in rectarray) { if (e.ship != _arg1){ if (Common.Intersect(new Point((_arg1.x + (_arg2.x * 40)), (_arg1.y + (_arg2.y * 40))), new Point((_arg1.x + (_arg2.x * 150)), (_arg1.y + (_arg2.y * 150))), e.lup, e.rdown) == true){ return (true); }; }; }; return (false); } public function RemoveChest(_arg1:Chest){ var _local2:Number = _arg1.gold; if (int((_local2 + ((0.1 * _local2) * Game.player.trader))) >= 0){ Game.player.gold = (Game.player.gold + int((_local2 + ((0.1 * _local2) * Game.player.trader)))); Game.player.scores = (Game.player.scores + (int((_local2 + ((0.1 * _local2) * Game.player.trader))) * int((1000 + (100 * Math.random()))))); }; if ((parent is Level)){ (parent as Level).UpdateGold(); }; if ((parent is LevelSurvival)){ (parent as LevelSurvival).UpdateGold(); }; var _local3:* = chests.indexOf(_arg1); if (_local3 != -1){ chests.splice(_local3, 1); removeChild(_arg1); }; SoundManager.PlayOnce("Chest"); } public function AddCore(_arg1:Ship, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number){ var _local8:Core = new Core(); _local8.x = _arg2; _local8.y = _arg3; _local8.SetParameters(_arg1, _arg4, _arg5, _arg6, _arg7); addChild(_local8); cores.push(_local8); } public function SetPlayer(_arg1:PlayerShip){ player = _arg1; addChild(player); player.mouseEnabled = false; player.mouseChildren = false; player.bodydef = new b2BodyDef(); player.bodydef.position.Set(1000, 1900); player.bodydef.linearDamping = 0.8; player.bodydef.angularDamping = 1.7; var _local2:b2PolygonDef = new b2PolygonDef(); _local2.vertexCount = 4; _local2.vertices[0].Set(-13.5, 0); _local2.vertices[1].Set(0, -26); _local2.vertices[2].Set(13.5, 0); _local2.vertices[3].Set(0, 26); _local2.density = 1; _local2.friction = 0.5; _local2.restitution = 0.2; player.bodydef.userData = player; player.body = world.CreateBody(player.bodydef); player.body.CreateShape(_local2); player.body.SetMassFromShapes(); player.x = 1000; player.y = 1900; } public function RemoveCompanion(_arg1:CompanionShip){ var _local2:* = new Trash(); _local2.x = _arg1.x; _local2.y = _arg1.y; addChild(_local2); trashes.push(_local2); world.DestroyBody(_arg1.body); removeChild(_arg1); companion = null; Game.player.companion = (Game.player.companion - 1); } private function OnAddedToStage(_arg1:Event){ } public function GetNearestRock(_arg1:Number, _arg2:Number):Object{ var _local6:Number; var _local3:Object = new Object(); var _local4:Number = -1; var _local5:* = new Object(); for each (e in rocks) { _local6 = Math.sqrt((Math.pow((e.x - _arg1), 2) + Math.pow((e.y - _arg2), 2))); if (_local4 == -1){ _local4 = _local6; _local5 = e; } else { if (_local4 > _local6){ _local4 = _local6; _local5 = e; }; }; }; _local3.rock = _local5; _local3.radius = _local4; return (_local3); } private function move(_arg1:MouseEvent):void{ removeEventListener(MouseEvent.MOUSE_UP, up); removeEventListener(MouseEvent.MOUSE_MOVE, move); addEventListener(MouseEvent.MOUSE_UP, up2); player.beginDrag = true; player.dragPoint = this.globalToLocal(new Point(_arg1.stageX, _arg1.stageY)); } private function OnFire(_arg1:Number){ player.Fire(_arg1); } public function RemoveExplosion(_arg1){ var _local2:* = explosions.indexOf(_arg1); if (_local2 != -1){ explosions.splice(_local2, 1); removeChild(_arg1); }; } public function Reorder(){ i = 0; while (i < rocks.length) { addChild(rocks[i]); i++; }; i = 0; while (i < cores.length) { addChild(cores[i]); i++; }; i = 0; while (i < chests.length) { addChild(chests[i]); i++; }; i = 0; while (i < octopusses.length) { addChild(octopusses[i]); i++; }; var _local1:Array = enemies.concat(); _local1.push(player); if (companion != null){ _local1.push(companion); }; _local1.sortOn("y", Array.NUMERIC); i = 0; while (i < _local1.length) { addChild(_local1[i]); i++; }; i = 0; while (i < explosions.length) { addChild(explosions[i]); i++; }; for each (i in clouds) { addChild(i); }; } public function Update(_arg1:Number){ var _local2:*; var _local3:Trash; var _local4:Chest; var _local6:Core; var _local7:Octopus; var _local8:int; var _local9:BurstSplash; var _local10:*; var _local11:Number; var _local12:Boolean; var _local13:*; player.Update(_arg1); if ((parent as Level).gamestate == 1){ if (stage.focus != this){ stage.focus = this; }; }; for (_local2 in keyBinds) { if (keys[(keyBinds[_local2] as int)] != undefined){ var _local16 = this; _local16[_local2](_arg1); }; }; player.body.WakeUp(); player.body.SetLinearVelocity(new b2Vec2(player.speedx, player.speedy)); for each (_local3 in trashes) { _local3.Update(_arg1); if (_local3.alpha <= 0){ _local8 = trashes.indexOf(_local3); if (_local8 != -1){ trashes.splice(_local8, 1); }; }; }; for each (_local4 in chests) { if ((((Math.abs((player.x - _local4.x)) <= 40)) && ((Math.abs((player.y - _local4.y)) <= 40)))){ RemoveChest(_local4); }; _local4.Update(_arg1); if (_local4.alpha <= 0){ _local8 = chests.indexOf(_local4); if (_local8 != -1){ chests.splice(_local8, 1); }; }; }; addChild(player); addChild(overlay); boarding = false; for each (e in enemies) { (e as EnemyShip).Update(_arg1); }; if (companion != null){ companion.Update(_arg1); }; world.Step((1 / 30), 10); var _local5:b2Body = world.m_bodyList; while (_local5) { if ((_local5.m_userData is Sprite)){ _local5.m_userData.x = _local5.GetPosition().x; _local5.m_userData.y = _local5.GetPosition().y; if (_local5.m_userData.angle != undefined){ _local5.m_userData.angle = (_local5.GetAngle() * (180 / Math.PI)); }; }; _local5 = _local5.m_next; }; if ((((boarding == true)) && ((boardingsound == false)))){ SoundManager.FadeIn("Abborduer", "Abborduer"); boardingsound = true; } else { if ((((boarding == false)) && ((boardingsound == true)))){ SoundManager.FadeOut("Abborduer"); boardingsound = false; }; }; for each (_local6 in cores) { _local6.Update(_arg1); for each (i in rectarray) { if ((i.ship is Ship)){ if (_local6.tthis != i.ship){ if ((((_local6.x >= i.lup.x)) && ((_local6.x <= i.rdown.x)))){ if ((((_local6.y >= i.lup.y)) && ((_local6.y <= i.rdown.y)))){ i.ship.Damage(_local6.damage); _local9 = new BurstSplash(); _local9.x = (_local6.x - i.ship.x); _local9.y = (_local6.y - i.ship.y); i.ship.addChild(_local9); RemoveCore(_local6); }; }; }; }; }; }; for each (_local7 in octopusses) { if (_local7.currentFrame >= 150){ _local7.x = (Math.random() * 2000); _local7.y = (Math.random() * 2000); _local12 = true; while (_local12 == true) { _local12 = false; for each (_local13 in rocks) { _local11 = Math.sqrt((Math.pow((_local7.x - _local13.x), 2) + Math.pow((_local7.y - _local13.y), 2))); if (_local11 <= 180){ (_local12 == true); }; }; if (_local12 == true){ trace("relocate"); _local7.x = (Math.random() * 2000); _local7.y = (Math.random() * 2000); }; }; }; for each (_local10 in enemies) { _local11 = Math.sqrt((Math.pow((_local7.x - _local10.x), 2) + Math.pow((_local7.y - _local10.y), 2))); if (_local11 <= 30){ _local10.Damage(0.2); }; }; _local11 = Math.sqrt((Math.pow((_local7.x - player.x), 2) + Math.pow((_local7.y - player.y), 2))); if (_local11 <= 30){ player.Damage(0.4); }; }; if (player.x <= 30){ player.x = 30; }; if (player.x >= 1970){ player.x = 1970; }; if (player.y <= 30){ player.y = 30; }; if (player.y >= 1970){ player.y = 1970; }; for each (e in clouds) { e.y = (e.y + (20 * _arg1)); if (e.y >= 2300){ e.x = int((Math.random() * 2000)); e.y = int((Math.random() * 2000)); }; }; Reorder(); UpdateRectArray(); } protected function UpdateRectArray(){ rectarray = new Array(); var _local1:Point = new Point((player.x - (player.bboxwidth / 2)), (player.y - (player.bboxheight / 2))); var _local2:Point = new Point((player.x + (player.bboxwidth / 2)), (player.y + (player.bboxheight / 2))); rectarray.push({lup:_local1, rdown:_local2, ship:player}); if (companion){ _local1 = new Point((companion.x - (player.bboxwidth / 2)), (companion.y - (player.bboxheight / 2))); _local2 = new Point((companion.x + (player.bboxwidth / 2)), (companion.y + (player.bboxheight / 2))); rectarray.push({lup:_local1, rdown:_local2, ship:companion}); }; for each (e in enemies) { _local1 = new Point((e.x - (e.bboxwidth / 2)), (e.y - (e.bboxheight / 2))); _local2 = new Point((e.x + (e.bboxwidth / 2)), (e.y + (e.bboxheight / 2))); rectarray.push({lup:_local1, rdown:_local2, ship:e}); }; for each (e in rocks) { _local1 = new Point((e.x - (e.width / 2)), (e.y - (e.height / 2))); _local2 = new Point((e.x + (e.width / 2)), (e.y + (e.height / 2))); rectarray.push({lup:_local1, rdown:_local2, ship:e}); }; } public function AddCompanionShips(){ var _local1:Object = new Object(); var _local2:Number = (0.9 + (((Math.random() * 2) - 1) * 0.2)); _local1.type = int(((Math.random() * 9) + 1)); _local1.speed = (Game.player.speed * 1.1); _local1.steering = (Game.player.steering * _local2); _local1.range = 250; _local1.damage = (Game.player.damage * _local2); _local1.reload = (Game.player.reload * _local2); _local1.cannons = (Game.player.cannons * _local2); _local1.armor = (Game.player.armor * _local2); _local1.team = (Game.player.team * _local2); _local1.boss = true; var _local3:CompanionShip = new CompanionShip(); addChild(_local3); _local3.Init(_local1); var _local4:Number = ((Math.random() * 2) * Math.PI); var _local5:Number = ((Math.cos(_local4) * 275) + player.x); var _local6:Number = ((Math.sin(_local4) * 275) + player.y); _local3.x = _local5; _local3.y = _local6; _local3.filters = [new GlowFilter(0xFF00, 0.2, 5, 5, 2, 2, true, false)]; _local3.bodydef = new b2BodyDef(); _local3.bodydef.position.Set(_local3.x, _local3.y); _local3.bodydef.linearDamping = 0.8; _local3.bodydef.angularDamping = 1.5; var _local7:b2PolygonDef = new b2PolygonDef(); _local7.vertexCount = 4; _local7.vertices[0].Set(-13.5, 0); _local7.vertices[1].Set(0, -26); _local7.vertices[2].Set(13.5, 0); _local7.vertices[3].Set(0, 26); _local7.density = 1; _local7.friction = 0.5; _local7.restitution = 0.2; _local3.bodydef.userData = _local3; _local3.body = world.CreateBody(_local3.bodydef); _local3.body.CreateShape(_local7); _local3.body.SetMassFromShapes(); companion = _local3; _local3.SetState(ROAM); } private function up2(_arg1:MouseEvent):void{ removeEventListener(MouseEvent.MOUSE_UP, up2); player.beginDrag = false; } } }//package
Section 249
//LevelHolderSurvival (LevelHolderSurvival) package { import flash.events.*; import flash.display.*; import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import flash.geom.*; import Box2D.Dynamics.Contacts.*; public class LevelHolderSurvival extends LevelHolder { public function LevelHolderSurvival(){ var _local3:WaterWave; var _local4:Octopus; var _local5:Cloud; super(); this.buttonMode = true; worldAABB.lowerBound.Set(-500, -500); worldAABB.upperBound.Set(2500, 2500); var _local1:b2Vec2 = new b2Vec2(0, 0); var _local2:Boolean; world = new b2World(worldAABB, _local1, _local2); startplayerlevel = Game.player.level; this.addEventListener(MouseEvent.MOUSE_DOWN, down); this.addEventListener(MouseEvent.MOUSE_MOVE, move2, false, 0, true); e = 0; while (e < 40) { _local3 = new WaterWave(); _local3.gotoAndPlay(int((Math.random() * 100))); _local3.x = int((Math.random() * 2000)); _local3.y = int((Math.random() * 2000)); _local3.cacheAsBitmap = true; addChild(_local3); e++; }; e = 0; while (e < int((Math.random() * 6))) { _local4 = new Octopus(); _local4.gotoAndPlay(int((Math.random() * 100))); _local4.x = int((Math.random() * 2000)); _local4.y = int((Math.random() * 2000)); addChild(_local4); octopusses.push(_local4); e++; }; e = 0; while (e < 40) { _local5 = new Cloud(); _local5.x = int((Math.random() * 2000)); _local5.y = int((Math.random() * 2000)); _local5.alpha = 0.6; _local5.cacheAsBitmap = true; addChild(_local5); clouds.push(_local5); e++; }; } private function OnBreak(_arg1:Number){ player.Break(_arg1); player.targetpoint.x = -1; } private function KeyDown(_arg1:KeyboardEvent){ keys[_arg1.keyCode] = true; } private function down(_arg1:MouseEvent):void{ addEventListener(MouseEvent.MOUSE_MOVE, move); addEventListener(MouseEvent.MOUSE_UP, up); player.beginDrag = false; } private function OnBreakD(_arg1:Number){ player.Break(_arg1); player.targetpoint.x = -1; } private function move2(_arg1:MouseEvent):void{ if (player.beginDrag == true){ player.dragPoint = this.globalToLocal(new Point(_arg1.stageX, _arg1.stageY)); }; } private function OnSteerRightD(_arg1:Number){ player.SteerRight(_arg1); player.targetpoint.x = -1; } private function OnSteerRight(_arg1:Number){ player.SteerRight(_arg1); player.targetpoint.x = -1; } private function OnSteerLeftD(_arg1:Number){ player.SteerLeft(_arg1); player.targetpoint.x = -1; } private function OnAccelerateD(_arg1:Number){ player.Accelerate(_arg1); player.targetpoint.x = -1; } override public function Update(_arg1:Number){ var _local2:*; var _local3:Trash; var _local4:Chest; var _local6:Core; var _local7:Octopus; var _local8:int; var _local9:BurstSplash; var _local10:*; var _local11:Number; var _local12:Boolean; var _local13:*; player.Update(_arg1); if ((parent as LevelSurvival).gamestate == 1){ if (stage.focus != this){ stage.focus = this; }; }; for (_local2 in keyBinds) { if (keys[(keyBinds[_local2] as int)] != undefined){ var _local16 = this; _local16[_local2](_arg1); }; }; player.body.WakeUp(); player.body.SetLinearVelocity(new b2Vec2(player.speedx, player.speedy)); for each (_local3 in trashes) { _local3.Update(_arg1); if (_local3.alpha <= 0){ _local8 = trashes.indexOf(_local3); if (_local8 != -1){ trashes.splice(_local8, 1); }; }; }; for each (_local4 in chests) { if ((((Math.abs((player.x - _local4.x)) <= 40)) && ((Math.abs((player.y - _local4.y)) <= 40)))){ RemoveChest(_local4); }; _local4.Update(_arg1); if (_local4.alpha <= 0){ _local8 = chests.indexOf(_local4); if (_local8 != -1){ chests.splice(_local8, 1); }; }; }; addChild(player); addChild(overlay); boarding = false; for each (e in enemies) { (e as EnemyShip).Update(_arg1); }; if (companion != null){ companion.Update(_arg1); }; world.Step((1 / 30), 10); var _local5:b2Body = world.m_bodyList; while (_local5) { if ((_local5.m_userData is Sprite)){ _local5.m_userData.x = _local5.GetPosition().x; _local5.m_userData.y = _local5.GetPosition().y; if (_local5.m_userData.angle != undefined){ _local5.m_userData.angle = (_local5.GetAngle() * (180 / Math.PI)); }; }; _local5 = _local5.m_next; }; if ((((boarding == true)) && ((boardingsound == false)))){ SoundManager.FadeIn("Abborduer", "Abborduer"); boardingsound = true; } else { if ((((boarding == false)) && ((boardingsound == true)))){ SoundManager.FadeOut("Abborduer"); boardingsound = false; }; }; for each (_local6 in cores) { _local6.Update(_arg1); for each (i in rectarray) { if ((i.ship is Ship)){ if (_local6.tthis != i.ship){ if ((((_local6.x >= i.lup.x)) && ((_local6.x <= i.rdown.x)))){ if ((((_local6.y >= i.lup.y)) && ((_local6.y <= i.rdown.y)))){ i.ship.Damage(_local6.damage); _local9 = new BurstSplash(); _local9.x = (_local6.x - i.ship.x); _local9.y = (_local6.y - i.ship.y); i.ship.addChild(_local9); RemoveCore(_local6); }; }; }; }; }; }; for each (_local7 in octopusses) { if (_local7.currentFrame >= 150){ _local7.x = (Math.random() * 2000); _local7.y = (Math.random() * 2000); _local12 = true; while (_local12 == true) { _local12 = false; for each (_local13 in rocks) { _local11 = Math.sqrt((Math.pow((_local7.x - _local13.x), 2) + Math.pow((_local7.y - _local13.y), 2))); if (_local11 <= 180){ (_local12 == true); }; }; if (_local12 == true){ trace("relocate"); _local7.x = (Math.random() * 2000); _local7.y = (Math.random() * 2000); }; }; }; for each (_local10 in enemies) { _local11 = Math.sqrt((Math.pow((_local7.x - _local10.x), 2) + Math.pow((_local7.y - _local10.y), 2))); if (_local11 <= 30){ _local10.Damage(0.2); }; }; _local11 = Math.sqrt((Math.pow((_local7.x - player.x), 2) + Math.pow((_local7.y - player.y), 2))); if (_local11 <= 30){ player.Damage(0.4); }; }; if (player.x <= 30){ player.x = 30; }; if (player.x >= 1970){ player.x = 1970; }; if (player.y <= 30){ player.y = 30; }; if (player.y >= 1970){ player.y = 1970; }; for each (e in clouds) { e.y = (e.y + (20 * _arg1)); if (e.y >= 2300){ e.x = int((Math.random() * 2000)); e.y = int((Math.random() * 2000)); }; }; Reorder(); UpdateRectArray(); } private function move(_arg1:MouseEvent):void{ removeEventListener(MouseEvent.MOUSE_UP, up); removeEventListener(MouseEvent.MOUSE_MOVE, move); addEventListener(MouseEvent.MOUSE_UP, up2); player.beginDrag = true; player.dragPoint = this.globalToLocal(new Point(_arg1.stageX, _arg1.stageY)); } override public function AddWave(){ var _local1:*; var _local2:*; e = 0; while (e < ships) { _local1 = new Object(); _local2 = (0.6 + (((Math.random() * 2) - 1) * 0.3)); _local1.type = int(((Math.random() * 9) + 1)); _local1.speed = (Game.player.speed * _local2); _local1.steering = (Game.player.steering * _local2); _local1.range = 200; _local1.damage = (Game.player.damage * _local2); _local1.reload = (Game.player.reload * _local2); _local1.cannons = (Game.player.cannons * _local2); _local1.armor = (Game.player.armor * _local2); _local1.team = (Game.player.team * _local2); _local1.boss = false; AddShip(_local1); e++; }; if (Math.random() < 0.3){ ships++; }; } private function OnFire(_arg1:Number){ player.Fire(_arg1); } override public function StartLevel(){ var _local1:int = Game.player.level; waves = Game.settingsxml.Levels.Level[_local1].@waves; ships = Game.settingsxml.Levels.Level[_local1].@ships; currentships = ships; AddWave(); } private function up2(_arg1:MouseEvent):void{ removeEventListener(MouseEvent.MOUSE_UP, up2); trace("Отпустил"); player.beginDrag = false; } private function OnSteerLeft(_arg1:Number){ player.SteerLeft(_arg1); player.targetpoint.x = -1; } private function KeyUp(_arg1:KeyboardEvent){ delete keys[_arg1.keyCode]; } private function up(_arg1:MouseEvent):void{ removeEventListener(MouseEvent.MOUSE_MOVE, move); var _local2:Point = this.globalToLocal(new Point(_arg1.stageX, _arg1.stageY)); var _local3:Number = Math.sqrt((Math.pow((_local2.x - player.x), 2) + Math.pow((_local2.y - player.y), 2))); if (_local3 >= 50){ player.targetpoint = _local2; }; player.beginDrag = false; } private function OnAccelerate(_arg1:Number){ player.Accelerate(_arg1); player.targetpoint.x = -1; } } }//package
Section 250
//LevelMap (LevelMap) package { import flash.net.*; import flash.events.*; import flash.display.*; public class LevelMap extends FadeSlider { public var tgtspeed:Number;// = 1 public var nearcity:Boolean;// = false public var tgtlen:Number;// = 0 public var king:MovieClip; public var pirateslen:Number;// = 0 public var tgtstep:Number;// = 0 public var perkdlg:PerkDialog;// = null public var tgtx:Number;// = 0 public var marker:MovieClip; public var gui:Interface; public var ship:MapShip; public var tgty:Number;// = 0 public var nearquest:Boolean;// = false public var upgradedlg:UpgradeDialog;// = null public var cities:Array; public var piratesoffset:Number;// = 0 public var update:Boolean;// = true public var maptutorial:MapTutorial; public var startx:Number;// = 0 public var starty:Number;// = 0 public var asked:Boolean;// = false public var map:XML; public var dlg; private var e; public var startnearcity:Boolean;// = false public var pauseddialog:PausedWidget; public var levelmask:LevelMask; public var tgtcounter:Number;// = 0 public static var levelmap:LevelMap; public function LevelMap(){ var len:*; map = <Map> <Item city="none" x="111" y="312" quest="1" txt="As you walk back to your ship, two men stop you and forcefully inform you that you've got problems. Then they give you some strange note and quite literally vanish in the air. &quot;Give me my property back or your brother is gonna be cut into pieces and fed to the English sharks&quot;, You have a gut feeling that there is no bluff. You must reach the place as soon as possible."/> <Item city="Hatesberry" x="111" y="312" quest="2" txt="&quot;You've got problems. My master wants to get something that belongs to you&quot;, he points at the amulet hanging on your neck. The conversation started off not as well as it could have and during this long monologue you felt a strong desire to cut your opponent into pieces at least three times. On the other hand – it was the way you always felt about people. You also noticed the henchman's saber. You know who forged it. And now you know for sure where you have to go – to Saint-Ramy. It is most fortunate that you managed to understand that not a state supported this man. It only meant that the pirates held your brother as a hostage. And that was not positive news. What's worse, you will not be let in this tavern again. The keeper never had any tender affections for the heavily scarred pirates or particularly for those who caused the scarring themselves. Now all you have to do is reach the &quot;master&quot; before the news from the tavern do."/> <Item city="Saint-Remy" x="568" y="160" quest="3" txt="&quot;Hello Jerome!&quot; The house was shaking with the rattle of various household stuff and the doors being shut and barricaded. &quot;Have you forgotten how to greet your old pals, my old mate?&quot; A note of disappointment flickered in your voice. Ten minutes later, with the corresponding cries and screams, your teammates dragged him out from the tumbledown shack. &quot;Well, which arm goes first? Or should I start with the head?&quot; Your words proved to be very convincing. Of course you were not going to kill him (at least now right now), but your striking irony scared the blacksmith half to death. &quot;It seems that the news about Hatesbury has already made its way to the &quot;master's&quot; ears, hasn't it? Otherwise you wouldn't be fussing so much. And that is a problem, you understand me, right? And since we are good friends, today I will be a vegetarian. While you will be more talkative. Do we have a deal?&quot; Insane nodding of your opponent's head served as a sign of his approval of your perspicacious and motivating speech. Jerome didn't have many orders for making weapons. His products were popular in inner circles of wealthy people due to their highest quality and exorbitant prices. That is why the clients' names were not hard to remember. After a quick inspection of his desk he said that the order was made by Redcliff Frost. His appearance was also confirmed. You also found out that this amulet allowed its possessor to summon the sea devil but in order to do this he had to have &quot;power&quot;. Too pity that you didn't believe in such nonsense – otherwise you'd try it some evening. But the main news was the information about the ship. &quot;He arrived on a frigate. What was her name… The Tragg, that's it! Wait a minute…&quot; Jerome disappeared into his shack. &quot;Found it! Find a man in Mernfield whose name is Murphy McBride. He used to be an architect working at the local shipyard. I think he'll be able to help you. You can always say that you're from me.&quot;"/> <Item city="Mernfield" x="420" y="103" quest="4" txt="Mernfield is a splendid town. It's the only place in the region where the power belongs to a council made up of tavern-keepers. No wonder since out of seventeen buildings eight are taverns. Plus of course there is a brothel, also rum storages bigger than city hall, and a tradition to hold a monthly championship for the strongest tavern-keeper. In other words – to smash people's faces in. But the most amazing thing about Mernfield is that it hates black flags. This town gives birth to the best pirate busters and they swallow hatred with their mothers' milk. After the meeting with McBride it became clear that the words would be of no help. This bald little man no higher than 5 feet tall was extremely taciturn and used only two words – &quot;yes&quot; and &quot;no&quot;. But your natural teacher's talent did not perish in vain. As soon as you demonstrated your blade he became much more talkative and learned not only new words but how to use them willingly as well! This world is full of wonders indeed. He also said that in two days the Tragg would be in the harbour. You decide to wait for the vessel and later in the tavern get one of the sailors talking about her destination. Voila, here is a new point on your map – a tiny isle called De Santini. You realize that have missed the smell of burnt powder. But its OK as soon you are going to have a lot of fun."/> <Item city="De-santini" x="386" y="318" quest="5" txt="&quot;Bloody hell, he said that it was several ships going there, not several dozens!&quot;"/> <Item city="none" x="514" y="110" quest="6" txt="Sailing past the fresh wreckage of your destroyed enemies' ships you see a floundering pirate. He seems to be a really bad swimmer, and you decide to &quot;help&quot; him. You throw him a rope which he immediately grasps, and you promise to spare him if he provides the information about his &quot;master's&quot; whereabouts. Or you can cut off his limbs and drag his bleeding body behind the ship watching the feeding sharks, its up to him to decide. The pirate didn't have to be asked twice, and you found out that the &quot;master's&quot; ship was called The Uninvited and that she was going to &quot;Hintch&quot;. A pirate bay. Not &quot;Tortuga&quot; of course, but it seemed that there would be enough shooting there anyway."/> <Item city="Hintch" x="554" y="286" quest="7" txt="&quot;They have tracked us down! Chaaaaarge!&quot;"/> <Item city="none" x="150" y="104" quest="8" txt="After hearing the watchman's desperate cry you learn two news. The good one if that you've come to the right place and that puny pirate didn't let you down. The Uninvited is anchored here along with the other pirate ships. The bad one is that they are BIG ships and there are a… no, not simply &quot;a lot&quot; of them. There are a $%#$%#$%#%$# LOT of them!"/> <Item city="Port Metz" x="384" y="179" quest="0" txt=""/> <Item city="Winterport" x="313" y="96" quest="0" txt=""/> <Item city="Liverpool" x="123" y="165" quest="0" txt=""/> <Item city="Harrington" x="219" y="275" quest="0" txt=""/> </Map> ; cities = new Array(); super(); try { levelmap = this; SetOut(); piratesoffset = (Math.random() * 120); ship.mouseEnabled = false; levelmask.mouseEnabled = false; levelmask.visible = false; if (((!((Game.player.levelmapcoords.x == 0))) && (!((Game.player.levelmapcoords.y == 0))))){ ship.x = Game.player.levelmapcoords.x; ship.y = Game.player.levelmapcoords.y; }; tgtx = ship.x; tgty = ship.y; for each (e in map.Item) { cities.push({x:e.@x, y:e.@y, city:e.@city, quest:e.@quest, txt:e.@txt}); if (e.@quest == Game.player.questnumber){ trace(Game.player.questnumber); marker.x = e.@x; marker.y = e.@y; }; }; for each (e in cities) { len = Math.sqrt((Math.pow((e.x - ship.x), 2) + Math.pow((e.y - ship.y), 2))); if (len <= 20){ startnearcity = true; }; }; addEventListener(MouseEvent.CLICK, OnClick); addEventListener(Event.ENTER_FRAME, OnUpdate); UpdateGUI(); gui.avatar_icon.gotoAndStop(Game.player.avatar); gui.ship_icon.gotoAndStop(Game.player.ship); gui.text1.text = "Upgrade"; gui.text2.text = "Character"; gui.text3.text = "Pause"; gui.text4.text = "Main menu"; pauseddialog.visible = false; this.addEventListener(Event.REMOVED_FROM_STAGE, OnRemoved); gui.button1.addEventListener(MouseEvent.CLICK, OnUpgradeDlg); gui.button4.addEventListener(MouseEvent.CLICK, OnMainMenu); gui.button2.addEventListener(MouseEvent.CLICK, OnUpdateDlg); gui.button3.addEventListener(MouseEvent.CLICK, OnPauseDlg); if (Game.player.showmaptutorial == false){ maptutorial.visible = false; } else { maptutorial.visible = true; }; king.buttonMode = true; king.addEventListener(MouseEvent.CLICK, OnKing); PlayFadeIn(); } catch(e:Error) { }; } function OnUpgradeDlg(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); update = false; upgradedlg = new UpgradeDialog(); addChild(upgradedlg); } public function ShowFirstQuest(){ dlg = new StorylineDialog(); dlg.textbox.multiline = true; dlg.seaquest = true; dlg.textbox.htmlText = map.Item[0].@txt; dlg.avatar.gotoAndStop(Game.player.questnumber); addChild(dlg); } function OnUpdateDlg(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); update = false; perkdlg = new PerkDialog(); perkdlg.UpdatePerks(); addChild(perkdlg); } public function UpdateGUI(){ Game.player.update(); gui.damage_text.text = ("Damage: " + Game.player.damage.toString()); gui.reload_text.text = ("Reload: " + Game.player.reload.toString()); gui.range_text.text = ("Range: " + Game.player.range.toString()); gui.cannons_text.text = ("Cannons: " + Game.player.cannons.toString()); gui.steering_text.text = ("Steering: " + Game.player.steering.toString()); gui.speed_text.text = ("Speed: " + Game.player.speed.toString()); gui.armor_text.text = ("Armor: " + Game.player.armor.toString()); gui.team_text.text = ("Team: " + Game.player.team.toString()); gui.gold_text.text = Game.player.gold.toString(); gui.SetMaxHP(Game.player.armor); gui.SetMaxCores(Game.player.cannons); gui.SetMaxTeam(Game.player.team); } function OnPauseDlg(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); update = !(update); pauseddialog.visible = !(update); } function OnKing(_arg1:Event){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Frise-of-pirates%3Fref%3Drise-of-pirates_logo"); navigateToURL(_local2); } public function OnUpdate(_arg1:Event){ var _local4:*; var _local5:*; var _local6:*; if (update == false){ return; }; if (tgtcounter <= 1){ tgtcounter = (tgtcounter + tgtstep); _local4 = (startx + (tgtcounter * (tgtx - startx))); _local5 = (starty + (tgtcounter * (tgty - starty))); if (levelmask.hitTestPoint(_local4, _local5, true) == true){ ship.x = _local4; ship.y = _local5; } else { tgtcounter = 1; tgtx = _local4; tgty = _local5; }; } else { if (tgtcounter > 1){ ship.x = tgtx; ship.y = tgty; }; }; if (tgtcounter <= 1){ pirateslen = (pirateslen + Math.sqrt((Math.pow((Game.player.levelmapcoords.x - ship.x), 2) + Math.pow((Game.player.levelmapcoords.y - ship.y), 2)))); }; Game.player.levelmapcoords.x = ship.x; Game.player.levelmapcoords.y = ship.y; nearcity = false; nearquest = false; Game.player.questbattle = false; var _local2 = "Hatesberry"; var _local3 = "text"; for each (e in cities) { _local6 = Math.sqrt((Math.pow((e.x - ship.x), 2) + Math.pow((e.y - ship.y), 2))); if (_local6 <= 20){ if (((!((e.quest == 0))) && ((e.quest == Game.player.questnumber)))){ Game.player.questbattle = true; nearquest = true; }; nearcity = true; _local2 = e.city; _local3 = e.txt; }; }; if ((((((nearcity == true)) && ((asked == false)))) && ((startnearcity == false)))){ asked = true; tgtcounter = 1; tgtx = ship.x; tgty = ship.y; if ((((nearquest == false)) && (!((_local2 == "none"))))){ Game.player.cityname = _local2; dlg = new CityDialog(); dlg.city_text.text = (("Do you want to enter " + _local2) + "'s shipyard?"); addChild(dlg); } else { if (nearquest == true){ dlg = new StorylineDialog(); dlg.textbox.multiline = true; Game.player.questbattle = true; if ((((((((Game.player.questnumber == 5)) || ((Game.player.questnumber == 6)))) || ((Game.player.questnumber == 7)))) || ((Game.player.questnumber == 8)))){ dlg.seaquest = true; } else { dlg.seaquest = false; Game.player.cityname = _local2; }; dlg.textbox.htmlText = _local3; dlg.avatar.gotoAndStop(Game.player.questnumber); addChild(dlg); }; }; } else { if ((((nearcity == true)) && ((asked == true)))){ return; }; if (nearcity == false){ asked = false; startnearcity = false; if (pirateslen >= (60 + (piratesoffset * 0.9))){ pirateslen = 0; piratesoffset = (Math.random() * 30); removeEventListener(Event.ENTER_FRAME, OnUpdate); Game.player.questbattle = false; Game.game.SetState(Game.game.GAMEPLAY); return; }; }; }; } function OnMainMenu(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); update = false; Game.game.SetState(Game.game.MAINMENU); } public function OnRemoved(_arg1:Event){ removeEventListener(MouseEvent.CLICK, OnClick); removeEventListener(Event.ENTER_FRAME, OnUpdate); removeEventListener(Event.REMOVED_FROM_STAGE, OnRemoved); gui.button1.removeEventListener(MouseEvent.CLICK, OnUpgradeDlg); gui.button4.removeEventListener(MouseEvent.CLICK, OnMainMenu); gui.button2.removeEventListener(MouseEvent.CLICK, OnUpdateDlg); gui.button3.addEventListener(MouseEvent.CLICK, OnPauseDlg); king.addEventListener(MouseEvent.CLICK, OnKing); } public function OnClick(_arg1:MouseEvent){ if (_arg1.currentTarget != _arg1.target){ return; }; if (levelmask.hitTestPoint(_arg1.stageX, _arg1.stageY, true) == true){ tgtx = _arg1.stageX; tgty = _arg1.stageY; startx = ship.x; starty = ship.y; tgtlen = Math.sqrt((Math.pow((tgtx - ship.x), 2) + Math.pow((tgty - ship.y), 2))); tgtcounter = 0; tgtstep = (tgtspeed / tgtlen); }; } } }//package
Section 251
//LevelMask (LevelMask) package { import flash.display.*; public dynamic class LevelMask extends MovieClip { } }//package
Section 252
//LevelSurvival (LevelSurvival) package { import flash.net.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; import fl.transitions.*; import flash.utils.*; import fl.transitions.easing.*; import flash.filters.*; import flash.xml.*; public class LevelSurvival extends FadeSlider { const GAMEWIN:uint = 5; const GAMEOVER:uint = 3; const LEVELWIN:uint = 4; const PAUSE:uint = 2; const NORMAL:uint = 1; var shipnumber:int;// = 0 var watertilesholderoffset:Number;// = 110 public var king:MovieClip; var waves:Array; var levelheight:Number;// = 0 var perkdlg:PerkDialog;// = null public var levelholder:LevelHolderSurvival; var delta:Number;// = 0 public var levelscoretext:TextField; var leveloffsetx:Number;// = 0 var levelwidth:Number;// = 0 var timer:Number;// = 0 var leveloffsety:Number;// = 0 public var gui:Interface; public var escapedlg:TriedToEscape; var wateroffsetdirection:int;// = 1 var tutorial:Tutorial;// = null var gamestate:uint;// = 2 var player:PlayerShip; var triedtoescape:Boolean;// = false public var pauseddialog:PausedWidget; var watertilesholder:WaterTilesHolder; var oldtimer:Number;// = 0 public static var level:LevelSurvival = null; public function LevelSurvival(){ var gm:Game; var e:*; var i:*; var rockamount:*; watertilesholder = new WaterTilesHolder(); levelholder = new LevelHolderSurvival(); waves = new Array(); super(); try { level = this; Level.level = null; SetOut(); gm = Game.game; player = new PlayerShip(); levelwidth = Game.settingsxml.Common.@levelwidth; levelheight = Game.settingsxml.Common.@levelheight; addChild(watertilesholder); addChild(levelholder); levelholder.x = (-((levelwidth - 700)) / 2); levelholder.y = -((levelheight - 450)); levelholder.SetPlayer(player); gui.damage_text.text = ("Damage: " + Game.player.damage.toString()); gui.reload_text.text = ("Reload: " + Game.player.reload.toString()); gui.range_text.text = ("Range: " + Game.player.range.toString()); gui.cannons_text.text = ("Cannons: " + Game.player.cannons.toString()); gui.steering_text.text = ("Steering: " + Game.player.steering.toString()); gui.speed_text.text = ("Speed: " + Game.player.speed.toString()); gui.armor_text.text = ("Armor: " + Game.player.armor.toString()); gui.team_text.text = ("Team: " + Game.player.team.toString()); gui.avatar_icon.gotoAndStop(Game.player.avatar); gui.ship_icon.gotoAndStop(Game.player.ship); Game.player.update(); gui.SetMaxHP(Game.player.armor); gui.SetMaxCores(Game.player.cannons); gui.SetMaxTeam(Game.player.team); gui.text1.text = "Upgrade"; gui.text2.text = "Character"; gui.text3.text = "Pause"; gui.text4.text = "Main menu"; with ({}) { with ({}) { !ERROR!.OnUpgradeDlg = function (_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); Pause(); var _local2:* = new UpgradeDialog(); addChild(_local2); }; }; gui.button1.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); Pause(); var _local2:* = new UpgradeDialog(); addChild(_local2); }); gui.button2.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); Pause(); perkdlg = new PerkDialog(); perkdlg.UpdatePerks(); addChild(perkdlg); }); gui.button3.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); Pause(); }); gui.button4.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); Pause(); Game.game.SetState(Game.game.MAINMENU); }); pauseddialog.visible = false; escapedlg.visible = false; levelscoretext.text = "0"; UpdateGold(); PlayFadeIn(); rockamount = 40; e = 0; while (e < rockamount) { levelholder.AddRock(int((Math.random() * 2))); e = (e + 1); }; Reorder(); if (Game.player.showtutorial == true){ Game.player.showtutorial = false; SetGameState(PAUSE); tutorial = new Tutorial(); addChild(tutorial); } else { SetGameState(NORMAL); }; levelholder.StartLevel(); king.buttonMode = true; king.addEventListener(MouseEvent.CLICK, function (_arg1:Event){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Frise-of-pirates%3Fref%3Drise-of-pirates_logo"); navigateToURL(_local2); }); } catch(e:Error) { trace(e.message); trace(e.getStackTrace()); }; } public function HighlightCharacterButton(_arg1:Boolean=false){ if (_arg1 == false){ gui.button2.filters = []; } else { gui.button2.filters = [new GlowFilter(0xFF0000, 1, 5, 5, 2, 2, true, false)]; }; } public function SetGameState(_arg1:uint){ if (stage){ stage.focus = this; }; if ((((gamestate == NORMAL)) && ((_arg1 == GAMEOVER)))){ gamestate = PAUSE; Game.game.SetState(Game.game.GAMEOVER); }; gamestate = _arg1; } public function GetNearestEnemy(_arg1:Number, _arg2:Number):EnemyShip{ return (levelholder.GetNearestEnemy(_arg1, _arg2)); } private function Reorder(){ addChild(gui); addChild(pauseddialog); addChild(levelscoretext); if (stage != null){ }; addChild(king); } public function Pause(){ if (gamestate == NORMAL){ SetGameState(PAUSE); pauseddialog.visible = true; } else { if (gamestate == PAUSE){ SetGameState(NORMAL); pauseddialog.visible = false; escapedlg.visible = false; }; }; } override public function Update(_arg1:Event){ var _local2:*; var _local3:Number; var _local4:Point; var _local5:Point; if (fadestate != IDLE){ super.Update(_arg1); }; if (gamestate == PAUSE){ timer = getTimer(); return; }; if (gamestate == NORMAL){ if ((((timer == 0)) && ((oldtimer == 0)))){ timer = getTimer(); }; oldtimer = timer; timer = getTimer(); delta = (timer - oldtimer); _local3 = 1; if (delta >= 0){ delta = (delta / 1000); _local4 = player.GetMoveVector(); levelholder.Update(delta); watertilesholderoffset = (watertilesholderoffset - (delta * 14)); if (watertilesholderoffset <= 0){ watertilesholderoffset = (watertilesholderoffset + 110); }; watertilesholder.Update(watertilesholderoffset); gui.SetTeam(player.team); _local5 = levelholder.localToGlobal(levelholder.GetPlayerPosition()); if ((((_local5.y <= 180)) && ((_local4.y <= 0)))){ levelholder.y = (levelholder.y - _local4.y); if (levelholder.y >= 0){ levelholder.y = 0; }; }; if ((((_local5.y >= 300)) && ((_local4.y >= 0)))){ levelholder.y = (levelholder.y - _local4.y); if (levelholder.y <= -1550){ levelholder.y = -1550; }; }; if ((((_local5.x <= 250)) && ((_local4.x <= 0)))){ levelholder.x = (levelholder.x - _local4.x); if (levelholder.x >= 0){ levelholder.x = 0; }; }; if ((((_local5.x >= 450)) && ((_local4.x >= 0)))){ levelholder.x = (levelholder.x - _local4.x); if (levelholder.x <= -1300){ levelholder.x = -1300; }; }; Reorder(); }; }; } public function UpdateGold(){ gui.gold_text.text = Game.player.gold.toString(); } } }//package
Section 253
//LevelWin (LevelWin) package { import flash.media.*; public dynamic class LevelWin extends Sound { } }//package
Section 254
//LevelWinDialog (LevelWinDialog) package { import flash.net.*; import flash.events.*; import flash.display.*; import flash.text.*; import mochi.as3.*; import com.midasplayer.*; public class LevelWinDialog extends FadeSlider { public var submitbutton:ShopButton; var totalscore:Number;// = 0 public var king:MovieClip; public var backbutton:ShopButton; public var levelscoretext:TextField; public function LevelWinDialog(){ super(); try { SetOut(); PlayFadeIn(); backbutton.addEventListener(MouseEvent.CLICK, OnBack, false, 0, true); backbutton.tabEnabled = false; submitbutton.addEventListener(MouseEvent.CLICK, OnSubmit, false, 0, true); levelscoretext.text = GlobalData.player.scores.toString(); king.buttonMode = true; king.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Frise-of-pirates%3Fref%3Drise-of-pirates_logo"); navigateToURL(_local2); }); } catch(e:Error) { }; } public function OnBack(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); if ((((((((((Game.player.questnumber == 1)) || ((Game.player.questnumber == 5)))) || ((Game.player.questnumber == 6)))) || ((Game.player.questnumber == 7)))) || ((Game.player.questnumber == 8)))){ if ((((Game.player.questnumber == 1)) || ((Game.player.questbattle == true)))){ trace(("Quest = " + Game.player.questnumber)); Game.player.questnumber++; } else { trace("Not a quest battle!"); }; }; backbutton.removeEventListener(MouseEvent.CLICK, OnBack); if (GlobalData.player.questnumber == 9){ Game.game.SetState(Game.game.GAMEWIN); Game.player.completed = true; GlobalData.completed = true; } else { Game.game.SetState(Game.game.LEVELMAP); }; GlobalData.player = Game.player; GlobalData.Flush(); } public function OnSubmit(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); KingAPI.submitScore(Game.player.scores); KingAPI.openHighscoresLink(); MovieClip(root).tracker.trackPageview("/publicMC.html"); } } }//package
Section 255
//MainMenu (MainMenu) package { import flash.net.*; import flash.events.*; import flash.display.*; import mochi.as3.*; public class MainMenu extends FadeSlider { public var credits:CreditsButton; public var highscores:SimpleButton; public var trophies:TrophiesButton; public var newgame:SimpleButton; public var advert:MoreGamesButton; public var king:MovieClip; public var loadgame:SimpleButton; public var hostgame:HostButton; public var survival:SurvivalButton; public function MainMenu(){ super(); SetOut(); PlayFadeIn(); advert.buttonMode = true; advert.addEventListener(MouseEvent.CLICK, function (_arg1:Event){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Fsponsored-games%3Fref%3Drise-of-pirates"); navigateToURL(_local2); }); hostgame.buttonMode = true; hostgame.addEventListener(MouseEvent.CLICK, function (_arg1:Event){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fwebsite_content.jsp%3Fref%3Drise-of-pirates"); navigateToURL(_local2); }); king.buttonMode = true; king.addEventListener(MouseEvent.CLICK, function (_arg1:Event){ var _local2:URLRequest = new URLRequest("http://www.king.com/servlet/SelectServlet?partner=midas_viral&target=%2Fgame%2Frise-of-pirates%3Fref%3Drise-of-pirates_logo"); navigateToURL(_local2); }); MochiCoins.showLoginWidget({x:10, y:460}); MochiServices.send("scores_closeLeaderboard"); } } }//package
Section 256
//MapButton (MapButton) package { import flash.display.*; public dynamic class MapButton extends SimpleButton { } }//package
Section 257
//MapShip (MapShip) package { import flash.display.*; public dynamic class MapShip extends MovieClip { } }//package
Section 258
//MapTheme (MapTheme) package { import flash.media.*; public dynamic class MapTheme extends Sound { } }//package
Section 259
//MapTutorial (MapTutorial) package { import flash.events.*; import flash.display.*; public class MapTutorial extends MovieClip { public var continuebutton:ShopButton; public function MapTutorial(){ addFrameScript(0, frame1); continuebutton.addEventListener(MouseEvent.CLICK, OnContinue, false, 0, true); } function frame1(){ stop(); } public function OnContinue(_arg1:MouseEvent){ if (this.currentFrame == 1){ gotoAndStop(2); } else { (parent as LevelMap).ShowFirstQuest(); Game.player.showmaptutorial = false; parent.removeChild(this); }; } } }//package
Section 260
//MarketIcon (MarketIcon) package { import flash.display.*; public dynamic class MarketIcon extends MovieClip { public function MarketIcon(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 261
//MarketShop (MarketShop) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.xml.*; public class MarketShop extends MovieClip { public var item3:MarketStoreItem; public var item4:MarketStoreItem; public var item5:MarketStoreItem; public var page1_button:ShopButton; private var page:int;// = 1 private var dlg:BuyMarketDialog; public var dialog_name:TextField; private var e; public var page2_button:ShopButton; public var item1:MarketStoreItem; public var item2:MarketStoreItem; public function MarketShop(){ dlg = new BuyMarketDialog(); super(); try { addEventListener("BuyMarketEvent", OnBuy, false, 0, true); page1_button.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SetPage(1); SoundManager.PlayOnce("Click"); }); page2_button.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SetPage(2); SoundManager.PlayOnce("Click"); }); e = 0; while (e < 5) { this[("item" + (e + 1).toString())].cost_text.mouseEnabled = false; this[("item" + (e + 1).toString())].sell_text.mouseEnabled = false; this[("item" + (e + 1).toString())].market_icon.gotoAndStop((e + 1)); e++; }; SetPage(1); } catch(e:Error) { }; } public function OnBuy(_arg1:BuyMarketEvent){ removeChild(dlg); if (_arg1.index != -1){ if (Game.player.gold >= (Game.settingsxml.Market.Item[_arg1.index].@cost * _arg1.quantity)){ Game.player.gold = (Game.player.gold - (Game.settingsxml.Market.Item[_arg1.index].@cost * _arg1.quantity)); if (Game.player.goods[_arg1.index] == undefined){ Game.player.goods[_arg1.index] = _arg1.quantity; } else { Game.player.goods[_arg1.index] = (Game.player.goods[_arg1.index] + _arg1.quantity); }; Game.player.goods["cityname"] = Game.player.cityname; trace(Game.player.goods[_arg1.index]); trace(Game.player.goods["cityname"]); Game.player.update(); SetPage(1); (parent as City).UpdateDialog(); }; }; } public function ShowBuyMarketDialog(_arg1:int){ dlg.index = _arg1; addChild(dlg); } public function SetPage(_arg1:int){ page = _arg1; if (page == 1){ e = 0; while (e < 5) { this[("item" + (e + 1).toString())].cost_text.text = ("Cost: " + Game.settingsxml.Market.Item[e].@cost); this[("item" + (e + 1).toString())].sell_text.text = ("Sell value: " + Game.settingsxml.Market.Item[e].@sell); this[("item" + (e + 1).toString())].market_icon.gotoAndStop((e + 1)); this[("item" + (e + 1).toString())].index = e; e++; }; } else { if (page == 2){ e = 5; while (e < Game.settingsxml.Ships.Ship.length()) { this[("item" + (e - 4).toString())].cost_text.text = ("Cost: " + Game.settingsxml.Market.Item[e].@cost); this[("item" + (e - 4).toString())].sell_text.text = ("Sell value: " + Game.settingsxml.Market.Item[e].@sell); this[("item" + (e - 4).toString())].market_icon.gotoAndStop((e + 1)); this[("item" + (e - 4).toString())].index = e; e++; }; }; }; } } }//package
Section 262
//MarketStoreItem (MarketStoreItem) package { import flash.events.*; import flash.display.*; import flash.text.*; public class MarketStoreItem extends MovieClip { public const OFF_BUTTON:int = 1; public const ON_BUTTON:int = 0; private var buttonstate:int;// = 0 public var index:int;// = -1 public var sell_text:TextField; public var market_icon:MarketIcon; public var cost_text:TextField; public function MarketStoreItem(){ addFrameScript(0, frame1); addEventListener(MouseEvent.MOUSE_OVER, OnOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, OnOut, false, 0, true); addEventListener(MouseEvent.CLICK, OnClick, false, 0, true); buttonMode = true; } public function OnOver(_arg1:MouseEvent){ if (buttonstate == ON_BUTTON){ gotoAndStop("over"); } else { gotoAndStop("off"); }; } public function OnClick(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); (parent as MarketShop).ShowBuyMarketDialog(index); } public function SetState(_arg1:int){ if (buttonstate != _arg1){ buttonstate = _arg1; if (buttonstate == OFF_BUTTON){ gotoAndStop("off"); } else { gotoAndStop("on"); }; }; } function frame1(){ stop(); } public function OnOut(_arg1:MouseEvent){ if (buttonstate == ON_BUTTON){ gotoAndStop("on"); } else { gotoAndStop("off"); }; } } }//package
Section 263
//MarketTutorial (MarketTutorial) package { import flash.events.*; import flash.display.*; public class MarketTutorial extends MovieClip { public var continuebutton:ShopButton; public function MarketTutorial(){ addFrameScript(0, frame1); continuebutton.addEventListener(MouseEvent.CLICK, OnContinue, false, 0, true); } function frame1(){ stop(); } public function OnContinue(_arg1:MouseEvent){ if (this.currentFrame != 1){ gotoAndStop((this.currentFrame + 1)); } else { parent.removeChild(this); Game.player.showmarkettutorial = false; }; } } }//package
Section 264
//mcBannedSign (mcBannedSign) package { import flash.display.*; public dynamic class mcBannedSign extends MovieClip { public var bg:MovieClip; } }//package
Section 265
//mcCrownMask (mcCrownMask) package { import flash.display.*; public dynamic class mcCrownMask extends MovieClip { } }//package
Section 266
//mcFerryLine (mcFerryLine) package { import flash.display.*; public dynamic class mcFerryLine extends MovieClip { } }//package
Section 267
//mcLogoHolder (mcLogoHolder) package { import flash.display.*; public dynamic class mcLogoHolder extends MovieClip { } }//package
Section 268
//mcLogoMask (mcLogoMask) package { import flash.display.*; public dynamic class mcLogoMask extends MovieClip { } }//package
Section 269
//mcOtherGames (mcOtherGames) package { import flash.display.*; public dynamic class mcOtherGames extends MovieClip { } }//package
Section 270
//mcPlay (mcPlay) package { import flash.display.*; public dynamic class mcPlay extends MovieClip { } }//package
Section 271
//mcWaterRing (mcWaterRing) package { import flash.display.*; public dynamic class mcWaterRing extends MovieClip { public function mcWaterRing(){ addFrameScript(39, frame40); } function frame40(){ stop(); } } }//package
Section 272
//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//package
Section 273
//MessageDialog (MessageDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class MessageDialog extends MovieClip { public var yes_button:MapButton; public var message_text:TextField; public function MessageDialog(){ yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); } public function OnYes(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); parent.removeChild(this); } } }//package
Section 274
//MiniquestDialog (MiniquestDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class MiniquestDialog extends MovieClip { public var city_text:TextField; public var yes_button:MapButton; public var reward:int;// = 0 public var no_button:MapButton; public var cityname:String; public function MiniquestDialog(){ cityname = new String(); super(); yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); no_button.addEventListener(MouseEvent.CLICK, OnNo, false, 0, true); } public function OnNo(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); if (parent){ parent.removeChild(this); }; } public function OnYes(_arg1:MouseEvent){ SoundManager.PlayOnce("Buy"); Game.player.miniquest[cityname] = {reward:reward}; if (parent){ parent.removeChild(this); }; } } }//package
Section 275
//MoreGamesButton (MoreGamesButton) package { import flash.display.*; public dynamic class MoreGamesButton extends SimpleButton { } }//package
Section 276
//NearestEnemy (NearestEnemy) package { import flash.display.*; public dynamic class NearestEnemy extends MovieClip { } }//package
Section 277
//NumericStepperDownArrow_disabledSkin (NumericStepperDownArrow_disabledSkin) package { import flash.display.*; public dynamic class NumericStepperDownArrow_disabledSkin extends MovieClip { } }//package
Section 278
//NumericStepperDownArrow_downSkin (NumericStepperDownArrow_downSkin) package { import flash.display.*; public dynamic class NumericStepperDownArrow_downSkin extends MovieClip { } }//package
Section 279
//NumericStepperDownArrow_overSkin (NumericStepperDownArrow_overSkin) package { import flash.display.*; public dynamic class NumericStepperDownArrow_overSkin extends MovieClip { } }//package
Section 280
//NumericStepperDownArrow_upSkin (NumericStepperDownArrow_upSkin) package { import flash.display.*; public dynamic class NumericStepperDownArrow_upSkin extends MovieClip { } }//package
Section 281
//NumericStepperUpArrow_disabledSkin (NumericStepperUpArrow_disabledSkin) package { import flash.display.*; public dynamic class NumericStepperUpArrow_disabledSkin extends MovieClip { } }//package
Section 282
//NumericStepperUpArrow_downSkin (NumericStepperUpArrow_downSkin) package { import flash.display.*; public dynamic class NumericStepperUpArrow_downSkin extends MovieClip { } }//package
Section 283
//NumericStepperUpArrow_overSkin (NumericStepperUpArrow_overSkin) package { import flash.display.*; public dynamic class NumericStepperUpArrow_overSkin extends MovieClip { } }//package
Section 284
//NumericStepperUpArrow_upSkin (NumericStepperUpArrow_upSkin) package { import flash.display.*; public dynamic class NumericStepperUpArrow_upSkin extends MovieClip { } }//package
Section 285
//Octopus (Octopus) package { import flash.display.*; public dynamic class Octopus extends MovieClip { } }//package
Section 286
//PausedWidget (PausedWidget) package { import flash.display.*; public dynamic class PausedWidget extends MovieClip { } }//package
Section 287
//PerkDialog (PerkDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.filters.*; public class PerkDialog extends MovieClip { public var avatar1:Avatar; public var bombardier1:PerkIcon; public var bombardier2:PerkIcon; public var bombardier3:PerkIcon; public var exp_text:TextField; public var bombardier5:PerkIcon; public var bombardier4:PerkIcon; var exp:Number; public var ship_name_text:TextField; public var authority2:PerkIcon; public var authority3:PerkIcon; public var authority4:PerkIcon; public var authority5:PerkIcon; public var authority1:PerkIcon; public var exp_line:ExpLine; public var trader1:PerkIcon; public var trader2:PerkIcon; public var trader3:PerkIcon; public var trader4:PerkIcon; public var trader5:PerkIcon; private var e; var points:int;// = 0 public var ok_button:DialogButton; public var point_text:TextField; public var progress_text:TextField; public function PerkDialog(){ exp = Game.player.exp; super(); avatar1.gotoAndStop(Game.player.avatar); UpdatePerks(); ok_button.addEventListener(MouseEvent.CLICK, OnOk, false, 0, true); if (Game.player.showperktutorial == true){ addChild(new PerkTutorial()); }; } public function OnAuthority(_arg1:MouseEvent){ trace("auth"); e = 1; while (e < 6) { this[("authority" + e.toString())].buttonMode = false; this[("bombardier" + e.toString())].buttonMode = false; this[("trader" + e.toString())].buttonMode = false; this[("authority" + e.toString())].removeEventListener(MouseEvent.CLICK, OnAuthority); this[("bombardier" + e.toString())].removeEventListener(MouseEvent.CLICK, OnBombardier); this[("trader" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTrader); e++; }; Game.player.authority = (Game.player.authority + 1); UpdatePerks(); SoundManager.PlayOnce("Buy"); } public function OnOverAuthority(_arg1:MouseEvent){ trace(_arg1.currentTarget); PerkIcon(_arg1.currentTarget).filters = [new GlowFilter(0xFFFFFF, 1, 5, 5, 2, 2, true, false)]; addChild(PerkIcon(_arg1.currentTarget)); (_arg1.currentTarget as PerkIcon).tooltip.y = -20; (_arg1.currentTarget as PerkIcon).tooltip.tooltip.text = "Crew strength +10%"; } public function OnOverBombardier(_arg1:MouseEvent){ trace(_arg1.currentTarget); PerkIcon(_arg1.currentTarget).filters = [new GlowFilter(0xFFFFFF, 1, 5, 5, 2, 2, true, false)]; addChild(PerkIcon(_arg1.currentTarget)); (_arg1.currentTarget as PerkIcon).tooltip.y = -20; (_arg1.currentTarget as PerkIcon).tooltip.tooltip.text = "Damage +10%"; } public function OnBombardier(_arg1:MouseEvent){ trace("bomb"); e = 1; while (e < 6) { this[("authority" + e.toString())].buttonMode = false; this[("bombardier" + e.toString())].buttonMode = false; this[("trader" + e.toString())].buttonMode = false; this[("authority" + e.toString())].removeEventListener(MouseEvent.CLICK, OnAuthority); this[("bombardier" + e.toString())].removeEventListener(MouseEvent.CLICK, OnBombardier); this[("trader" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTrader); e++; }; Game.player.bombardier = (Game.player.bombardier + 1); UpdatePerks(); SoundManager.PlayOnce("Buy"); } public function OnOutAuthority(_arg1:MouseEvent){ trace(_arg1.currentTarget); PerkIcon(_arg1.currentTarget).tooltip.y = -30000; PerkIcon(_arg1.currentTarget).filters = []; } public function OnOk(_arg1:MouseEvent){ ok_button.removeEventListener(MouseEvent.CLICK, OnOk); if ((parent is Level)){ (parent as Level).Pause(); parent.removeChild(this); } else { if ((parent is LevelSurvival)){ (parent as LevelSurvival).Pause(); parent.removeChild(this); } else { if ((parent is LevelMap)){ (parent as LevelMap).update = true; parent.removeChild(this); }; }; }; if (Level.level != null){ Level.level.HighlightCharacterButton(false); }; SoundManager.PlayOnce("Click"); } public function OnOutTrader(_arg1:MouseEvent){ trace(_arg1.currentTarget); PerkIcon(_arg1.currentTarget).tooltip.y = -30000; PerkIcon(_arg1.currentTarget).filters = []; } public function UpdatePerks(){ var _local1:Number; var _local2:Number; if (Game.player.level < 8){ points = (Game.player.level - (((Game.player.authority + Game.player.bombardier) + Game.player.trader) - 1)); _local1 = Game.settingsxml.Experience.Level[Game.player.level].@exp; _local2 = Game.settingsxml.Experience.Level[(Game.player.level + 1)].@exp; exp_line.scaleX = (1 - ((exp - _local1) / (_local2 - _local1))); trace(exp_line.scaleX); } else { points = 0; exp_line.scaleX = 1; }; e = 1; while (e < 6) { if (e <= Game.player.authority){ this[("authority" + e.toString())].gotoAndStop(((e * 2) - 1)); } else { this[("authority" + e.toString())].gotoAndStop((e * 2)); }; if (Game.player.authority != 5){ if (points > 0){ this[("authority" + (Game.player.authority + 1).toString())].addEventListener(MouseEvent.CLICK, OnAuthority, false, 0, true); this[("authority" + (Game.player.authority + 1).toString())].addEventListener(MouseEvent.MOUSE_OVER, OnOverAuthority, false, 0, true); this[("authority" + (Game.player.authority + 1).toString())].addEventListener(MouseEvent.MOUSE_OUT, OnOutAuthority, false, 0, true); this[("authority" + (Game.player.authority + 1).toString())].buttonMode = true; }; }; if (e <= Game.player.bombardier){ this[("bombardier" + e.toString())].gotoAndStop((((e * 2) - 1) + 10)); } else { this[("bombardier" + e.toString())].gotoAndStop(((e * 2) + 10)); }; if (Game.player.bombardier != 5){ if (points > 0){ this[("bombardier" + (Game.player.bombardier + 1).toString())].addEventListener(MouseEvent.CLICK, OnBombardier, false, 0, true); this[("bombardier" + (Game.player.bombardier + 1).toString())].addEventListener(MouseEvent.MOUSE_OVER, OnOverBombardier, false, 0, true); this[("bombardier" + (Game.player.bombardier + 1).toString())].addEventListener(MouseEvent.MOUSE_OUT, OnOutBombardier, false, 0, true); this[("bombardier" + (Game.player.bombardier + 1).toString())].buttonMode = true; }; }; if (e <= Game.player.trader){ this[("trader" + e.toString())].gotoAndStop((((e * 2) - 1) + 20)); } else { this[("trader" + e.toString())].gotoAndStop(((e * 2) + 20)); }; if (Game.player.trader != 5){ if (points > 0){ this[("trader" + (Game.player.trader + 1).toString())].addEventListener(MouseEvent.CLICK, OnTrader, false, 0, true); this[("trader" + (Game.player.trader + 1).toString())].addEventListener(MouseEvent.MOUSE_OVER, OnOverTrader, false, 0, true); this[("trader" + (Game.player.trader + 1).toString())].addEventListener(MouseEvent.MOUSE_OUT, OnOutTrader, false, 0, true); this[("trader" + (Game.player.trader + 1).toString())].buttonMode = true; }; }; e++; }; exp_text.text = int(Game.player.exp).toString(); point_text.text = points.toString(); ship_name_text.text = Game.settingsxml.Ships.Ship[Game.player.level].@shipname; progress_text.text = (((Number((Game.player.questnumber - 1)) / 8) * 100).toString() + "%"); } public function OnOverTrader(_arg1:MouseEvent){ trace(_arg1.currentTarget); PerkIcon(_arg1.currentTarget).filters = [new GlowFilter(0xFFFFFF, 1, 5, 5, 2, 2, true, false)]; addChild(PerkIcon(_arg1.currentTarget)); (_arg1.currentTarget as PerkIcon).tooltip.y = -20; (_arg1.currentTarget as PerkIcon).tooltip.tooltip.text = "Gold +10%"; } public function OnTrader(_arg1:MouseEvent){ trace("trade"); e = 1; while (e < 6) { this[("authority" + e.toString())].buttonMode = false; this[("bombardier" + e.toString())].buttonMode = false; this[("trader" + e.toString())].buttonMode = false; this[("authority" + e.toString())].removeEventListener(MouseEvent.CLICK, OnAuthority); this[("bombardier" + e.toString())].removeEventListener(MouseEvent.CLICK, OnBombardier); this[("trader" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTrader); e++; }; Game.player.trader = (Game.player.trader + 1); UpdatePerks(); SoundManager.PlayOnce("Buy"); } public function OnOutBombardier(_arg1:MouseEvent){ trace(_arg1.currentTarget); PerkIcon(_arg1.currentTarget).tooltip.y = -30000; PerkIcon(_arg1.currentTarget).filters = []; } } }//package
Section 288
//PerkIcon (PerkIcon) package { import flash.display.*; public dynamic class PerkIcon extends MovieClip { public var tooltip:TooltipSymbol; public function PerkIcon(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 289
//PerkTutorial (PerkTutorial) package { import flash.events.*; import flash.display.*; public class PerkTutorial extends MovieClip { public var icon:PerkIcon; public var tooltip:TooltipSymbol; public var continuebutton:ShopButton; public function PerkTutorial(){ addFrameScript(0, frame1); continuebutton.addEventListener(MouseEvent.CLICK, OnContinue, false, 0, true); icon.gotoAndStop(1); } function frame1(){ stop(); } public function OnContinue(_arg1:MouseEvent){ if (this.currentFrame != 2){ gotoAndStop((this.currentFrame + 1)); } else { parent.removeChild(this); Game.player.showperktutorial = false; }; } } }//package
Section 290
//PlayerShip (PlayerShip) package { import Box2D.Common.Math.*; import Box2D.Common.*; import flash.geom.*; import flash.filters.*; public class PlayerShip extends Ship { public var dragPoint:Point; public var backtrace:WaterBackTrace; public var arrow:ShotArrow; public var speedx:Number;// = 0 public var speedy:Number;// = 0 var hittimecounter:Number;// = 0 public var targetpoint:Point; private var mat:Array; public var teamctr:Number;// = 0 private var e; public var forwardtrace:WaterForwardTrace; public var nearestenemy:NearestEnemy; private var infobar:Stripe; public var arrowlength:Number;// = 0 public var arrowangle:Number;// = 0 var filter:ColorMatrixFilter; public var beginDrag:Boolean;// = false public function PlayerShip(){ mat = [1, 0, 0, 0, 0, 0, 0.33, 0, 0, 0, 0, 0, 0.33, 0, 0, 0, 0, 0, 1, 0]; filter = new ColorMatrixFilter(mat); forwardtrace = new WaterForwardTrace(); backtrace = new WaterBackTrace(); infobar = new Stripe(); nearestenemy = new NearestEnemy(); targetpoint = new Point(-1, -1); dragPoint = new Point(); arrow = new ShotArrow(); super(); try { arrow.filters = [filter]; Game.player.update(); bboxwidth = Game.settingsxml.Common.@bboxwidth; bboxheight = Game.settingsxml.Common.@bboxheight; maxspeed = Game.player.speed; steerspeed = Game.player.steering; shotspeed = 45; shotdamage = Game.player.damage; shotrange = Game.player.range; reload = Game.player.reload; maxcores = Game.player.cannons; cores = maxcores; maxhp = Game.player.armor; hp = maxhp; team = Game.player.team; teamctr = team; addChild(nearestenemy); addChild(forwardtrace); forwardtrace.y = (forwardtrace.y + 5); addChild(backtrace); backtrace.y = (backtrace.y + 5); addChild(arrow); addChild(shipclip); addChild(infobar); infobar.y = (infobar.y - 18); name = "playership"; mouseChildren = false; arrow.mouseEnabled = false; arrow.visible = false; } catch(e:Error) { }; } override public function Accelerate(_arg1:Number){ if ((parent as LevelHolder).boarding == true){ return; }; if ((((speed >= 0)) && ((speed <= maxspeed)))){ speed = (speed + (_arg1 * accel)); } else { if (speed > maxspeed){ speed = maxspeed; } else { speed = 0; }; }; UpdateBodySpeed(); } public function DamageTeam(){ if (Game.player.authority != 4){ teamctr = (teamctr - (0.6 - (0.1 * Game.player.authority))); } else { teamctr = (teamctr - 0.1); }; team = int(teamctr); } override public function Damage(_arg1:Number){ hp = (hp - _arg1); if (hp <= 0){ (hp == 0); }; if ((parent is LevelHolderSurvival)){ LevelSurvival.level.gui.SetHP(hp); trace("Level Survival damage"); } else { if ((parent is LevelHolder)){ Level.level.gui.SetHP(hp); trace("Level damage"); }; }; if ((((hp <= 0)) || ((team <= 0)))){ if ((parent is LevelHolderSurvival)){ LevelSurvival.level.SetGameState(LevelSurvival.level.GAMEOVER); SoundManager.PlayOnce("Boom"); } else { if ((parent is LevelHolder)){ Level.level.SetGameState(Level.level.GAMEOVER); SoundManager.PlayOnce("Boom"); }; }; return; }; } private function AngleDiff(_arg1:Number, _arg2:Number):Number{ var _local3:Number = _arg1; while (_local3 < 0) { _local3 = (_local3 + 360); }; var _local4:Number = _arg2; while (_local4 < 0) { _local4 = (_local4 + 360); }; return (Math.abs((_local4 - _local3))); } public function PowerBreak(_arg1:Number){ if (speed >= 7){ speed = (speed - (_arg1 * slow)); } else { speed = 7; }; UpdateBodySpeed(); } public function UpdateBodySpeed(){ var _local1:Number = Math.cos(((angle * Math.PI) / 180)); var _local2:Number = Math.sin(((angle * Math.PI) / 180)); var _local3:Number = ((xdir * _local1) - (ydir * _local2)); var _local4:Number = ((xdir * _local2) + (ydir * _local1)); speedx = (speed * _local3); speedy = (speed * _local4); forwardtrace.rotation = angle; backtrace.rotation = angle; } override public function Break(_arg1:Number){ if (speed >= 0){ speed = (speed - (_arg1 * slow)); } else { speed = 0; }; UpdateBodySpeed(); } override public function Update(_arg1: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:*; var _local19:*; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; if ((((targetpoint.x == -1)) && ((targetpoint.y == -1)))){ targetpoint.x = this.x; targetpoint.y = (this.y - 120); }; infobar.hp_text.text = int(hp).toString(); infobar.team_text.text = int(team).toString(); var _local2:Number = Math.cos(((angle * Math.PI) / 180)); var _local3:Number = Math.sin(((angle * Math.PI) / 180)); var _local4:Number = ((xdir * _local2) - (ydir * _local3)); var _local5:Number = ((xdir * _local3) + (ydir * _local2)); var _local6:Number = ((_local4 * speed) * _arg1); var _local7:Number = ((_local5 * speed) * _arg1); speeddir.x = _local6; speeddir.y = _local7; forwardtrace.alpha = (Math.abs(speed) / Math.abs(maxspeed)); backtrace.alpha = (Math.abs(speed) / Math.abs(maxspeed)); var _local8:EnemyShip = (parent as LevelHolder).GetNearestEnemy(this.x, this.y); if (_local8 != null){ _local10 = (_local8.x - this.x); _local11 = (_local8.y - this.y); _local12 = Math.atan2(_local11, _local10); nearestenemy.visible = true; nearestenemy.rotation = (Number(((_local12 * 180) / Math.PI)) + 90); } else { nearestenemy.visible = false; }; this.rotation = angle; angle = this.rotation; if (angle >= 0){ angle = (angle - 360); }; var _local9:* = 0; while (_local9 < 32) { _local13 = (-11.25 * _local9); _local14 = (_local13 + 5.625); _local15 = (_local13 - 5.625); if ((((angle >= _local15)) && ((angle < _local14)))){ if ((((Math.abs((angle - _local15)) >= 2)) && ((Math.abs((angle - _local14)) >= 2)))){ shipclip.gotoAndStop(((((Game.player.ship - 1) * 32) + _local9) + 1)); dir = (_local9 + 1); }; }; _local9++; }; this.rotation = 0; if (parent){ if ((parent as LevelHolder).boarding == true){ PowerBreak(_arg1); }; if (cores < maxcores){ reloadcounter = (reloadcounter + _arg1); if (reloadcounter >= reload){ reloadcounter = 0; cores++; Level.level.gui.SetCores(cores); }; } else { reloadcounter = 0; }; cannonreloadcounter = (cannonreloadcounter + _arg1); if (beginDrag == true){ _local16 = Math.sqrt((Math.pow((dragPoint.x - this.x), 2) + Math.pow((dragPoint.y - this.y), 2))); _local12 = Math.atan2((dragPoint.y - this.y), (dragPoint.x - this.x)); _local12 = (((_local12 * 180) / Math.PI) + 90); arrowangle = _local12; arrow.rotation = 0; arrow.width = _local16; arrow.rotation = (arrowangle - 90); if (_local16 <= shotrange){ arrow.visible = true; if (AngleDiff(arrowangle, (angle + 90)) <= 27){ FireDrag(dragPoint, _arg1); arrow.filters = []; } else { if (AngleDiff(arrowangle, (angle - 90)) <= 27){ FireDrag(dragPoint, _arg1); arrow.filters = []; } else { arrow.filters = [filter]; }; }; } else { arrow.filters = [filter]; }; } else { arrow.visible = false; }; }; if (targetpoint.x != -1){ _local17 = Math.sqrt((Math.pow((targetpoint.x - this.x), 2) + Math.pow((targetpoint.y - this.y), 2))); if (_local17 > 60){ Accelerate(_arg1); }; if (_local17 < 40){ Break(_arg1); }; _local18 = targetpoint.x; _local19 = targetpoint.y; _local20 = (_local6 * 10); _local21 = (_local7 * 10); _local22 = (_local18 - this.x); _local23 = (_local19 - this.y); _local24 = ((_local22 * _local21) - (_local23 * _local20)); if (speed >= 5){ if (_local24 < 0){ SteerRight(_arg1); } else { SteerLeft(_arg1); }; }; }; angle = (body.GetAngle() * (180 / Math.PI)); UpdateBodySpeed(); } override public function SteerRight(_arg1:Number){ forwardtrace.rotation = angle; backtrace.rotation = angle; body.SetAngularVelocity((0.02 * steerspeed)); UpdateBodySpeed(); } public function SetSpeed(_arg1:Number){ speed = 0; } public function FireDrag(_arg1:Point, _arg2: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; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Boolean; var _local16:Number; if ((parent as LevelHolder).boarding == true){ return; }; if ((((cores > 0)) && ((cannonreloadcounter >= cannonreload)))){ cannonreloadcounter = 0; _local3 = Math.sqrt((Math.pow((_arg1.x - this.x), 2) + Math.pow((_arg1.y - this.y), 2))); if (_local3 >= shotrange){ arrow.visible = false; return; }; _local4 = Math.cos(((angle * Math.PI) / 180)); _local5 = Math.sin(((angle * Math.PI) / 180)); _local6 = ((xdir * _local4) - (ydir * _local5)); _local7 = ((xdir * _local5) + (ydir * _local4)); _local8 = ((Math.random() * 60) - 30); _local9 = (((xdir * _local4) - (_local8 * _local5)) + this.x); _local10 = (((xdir * _local5) + (_local8 * _local4)) + this.y); _local11 = (_local6 * 10); _local12 = (_local7 * 10); _local13 = (_arg1.x - this.x); _local14 = (_arg1.y - this.y); _local15 = false; _local16 = ((_local13 * _local12) - (_local14 * _local11)); if (_local16 <= 0){ _local15 = false; } else { _local15 = true; }; if (_local15){ if ((dir + 8) <= 32){ (parent as LevelHolder).AddShot(_local9, _local10, (dir + 8)); } else { (parent as LevelHolder).AddShot(_local9, _local10, ((dir + 8) - 32)); }; (parent as LevelHolder).AddCore(this, _local9, _local10, arrowangle, shotspeed, shotdamage, _local3); } else { if ((dir - 8) > 0){ (parent as LevelHolder).AddShot(_local9, _local10, (dir - 8)); } else { (parent as LevelHolder).AddShot(_local9, _local10, ((dir - 8) + 32)); }; (parent as LevelHolder).AddCore(this, _local9, _local10, arrowangle, shotspeed, shotdamage, _local3); }; cores--; SoundManager.PlayOnce("Shot"); if (Level.level != null){ Level.level.gui.SetCores(cores); }; if (LevelSurvival.level != null){ LevelSurvival.level.gui.SetCores(cores); }; }; } override public function SteerLeft(_arg1:Number){ forwardtrace.rotation = angle; backtrace.rotation = angle; body.SetAngularVelocity((-0.02 * steerspeed)); UpdateBodySpeed(); } } }//package
Section 291
//ProfitDialog (ProfitDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class ProfitDialog extends MovieClip { public var city_text:TextField; public var yes_button:MapButton; public function ProfitDialog(){ yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); } public function OnYes(_arg1:MouseEvent){ if (parent){ (parent as City).UpdateDialog(); parent.removeChild(this); }; } } }//package
Section 292
//Rock1 (Rock1) package { import flash.display.*; public dynamic class Rock1 extends MovieClip { } }//package
Section 293
//Rock2 (Rock2) package { import flash.display.*; public dynamic class Rock2 extends MovieClip { } }//package
Section 294
//RumDialog (RumDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class RumDialog extends MovieClip { public var no_button:MapButton; public var city_text:TextField; public var yes_button:MapButton; public function RumDialog(){ yes_button.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); no_button.addEventListener(MouseEvent.CLICK, OnNo, false, 0, true); } public function OnYes(_arg1:MouseEvent){ var _local2:MessageDialog; SoundManager.PlayOnce("Buy"); if (parent){ _local2 = new MessageDialog(); if (Math.random() <= Number(Game.settingsxml.Tavern.Rum.@random)){ Game.player.gold = (Game.player.gold - Game.settingsxml.Tavern.Rum.@cost); City(parent.parent).UpdateDialog(); Game.player.authbonus = true; _local2.message_text.text = "You've got some authority bonus."; } else { Game.player.gold = (Game.player.gold - Game.settingsxml.Tavern.Rum.@cost); City(parent.parent).UpdateDialog(); Game.player.authbonus = false; _local2.message_text.text = "Your money lost. All you've got is only headache."; }; parent.addChild(_local2); Tavern(parent).DisableRum(); parent.removeChild(this); }; } public function OnNo(_arg1:MouseEvent){ SoundManager.PlayOnce("Click"); if (parent){ parent.removeChild(this); }; } } }//package
Section 295
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_disabledSkin extends MovieClip { } }//package
Section 296
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_downSkin extends MovieClip { } }//package
Section 297
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_overSkin extends MovieClip { } }//package
Section 298
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_upSkin extends MovieClip { } }//package
Section 299
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_disabledSkin extends MovieClip { } }//package
Section 300
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_downSkin extends MovieClip { } }//package
Section 301
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_overSkin extends MovieClip { } }//package
Section 302
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_upSkin extends MovieClip { } }//package
Section 303
//ScrollBar_thumbIcon (ScrollBar_thumbIcon) package { import flash.display.*; public dynamic class ScrollBar_thumbIcon extends MovieClip { } }//package
Section 304
//ScrollThumb_downSkin (ScrollThumb_downSkin) package { import flash.display.*; public dynamic class ScrollThumb_downSkin extends MovieClip { } }//package
Section 305
//ScrollThumb_overSkin (ScrollThumb_overSkin) package { import flash.display.*; public dynamic class ScrollThumb_overSkin extends MovieClip { } }//package
Section 306
//ScrollThumb_upSkin (ScrollThumb_upSkin) package { import flash.display.*; public dynamic class ScrollThumb_upSkin extends MovieClip { } }//package
Section 307
//ScrollTrack_skin (ScrollTrack_skin) package { import flash.display.*; public dynamic class ScrollTrack_skin extends MovieClip { } }//package
Section 308
//sfxBell (sfxBell) package { import flash.media.*; public dynamic class sfxBell extends Sound { } }//package
Section 309
//sfxBounce (sfxBounce) package { import flash.media.*; public dynamic class sfxBounce extends Sound { } }//package
Section 310
//Ship (Ship) package { import flash.display.*; import Box2D.Dynamics.*; import flash.geom.*; public class Ship extends MovieClip { public var slow:Number;// = 12 public var shotrange:Number;// = 150 public var hp:Number;// = 100 public var shipclip:ShipClip; public var shotspeed:Number;// = 60 public var dir:int;// = 1 public var xdir:Number;// = 0 public var steerspeed:Number;// = 36 public var bboxheight:Number;// = 0 public var reload:Number;// = 0.5 public var cannons:Number;// = 3 public var body:b2Body;// = null public var bodydef:b2BodyDef;// = null public var cores:int;// = 60 public var bboxwidth:Number;// = 0 public var reloadcounter:Number;// = 0 public var speed:Number;// = 0 public var angle:Number;// = 0 public var cannonreload:Number;// = 0.25 public var maxcores:int;// = 60 public var team:Number;// = 50 public var bboxarray:Array; public var maxspeed:Number;// = 30 private var e; public var cannonreloadcounter:Number;// = 0 public var shotdamage:Number;// = 5 public var maxhp:Number;// = 100 public var speeddir:Point; public var accel:Number;// = 16 public var ydir:Number;// = -1 public function Ship(){ shipclip = new ShipClip(); speeddir = new Point(0, 0); bboxarray = new Array(); super(); bboxwidth = 50; bboxheight = 50; addChild(shipclip); } public function Damage(_arg1:Number){ } public function GetMoveVector():Point{ return (speeddir); } public function GetAngle():Number{ return (angle); } public function SteerLeft(_arg1:Number){ angle = (angle - (_arg1 * steerspeed)); } public function SteerRight(_arg1:Number){ angle = (angle + (_arg1 * steerspeed)); } public function Break(_arg1:Number){ if (Math.abs(speed) >= 0){ speed = (speed - (_arg1 * slow)); } else { speed = 0; }; } public function Update(_arg1:Number){ var _local10:Number; var _local11:Number; var _local2:Number = Math.cos(((angle * Math.PI) / 180)); var _local3:Number = Math.sin(((angle * Math.PI) / 180)); var _local4:Number = ((xdir * _local2) - (ydir * _local3)); var _local5:Number = ((xdir * _local3) + (ydir * _local2)); var _local6:Number = ((_local4 * speed) * _arg1); var _local7:Number = ((_local5 * speed) * _arg1); this.rotation = angle; var _local8 = 1; var _local9:int; while (_local9 <= 32) { _local10 = (-2.8125 - ((2.8125 * 4) * _local9)); _local11 = (-2.8125 - ((2.8125 * 4) * (_local9 + 1))); if ((((((this.rotation < 0)) && ((this.rotation <= _local10)))) && ((this.rotation > _local11)))){ _local8 = _local9; shipclip.gotoAndStop(_local8); }; if ((((((this.rotation >= 0)) && ((this.rotation >= -(_local10))))) && ((this.rotation < -(_local11))))){ _local8 = (32 - _local9); shipclip.gotoAndStop(_local8); }; _local9++; }; this.rotation = 0; this.x = (this.x + _local6); this.y = (this.y + _local7); speeddir.x = _local6; speeddir.y = _local7; } public function Fire(_arg1:Number){ } public function Accelerate(_arg1:Number){ if (Math.abs(speed) <= 10){ speed = (speed + (_arg1 * accel)); } else { speed = 10; }; } } }//package
Section 311
//ShipClip (ShipClip) package { import flash.display.*; public dynamic class ShipClip extends MovieClip { public function ShipClip(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 312
//ShipIcon (ShipIcon) package { import flash.display.*; public dynamic class ShipIcon extends MovieClip { public function ShipIcon(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 313
//ShipStoreItem (ShipStoreItem) package { import flash.events.*; import flash.display.*; import flash.text.*; public class ShipStoreItem extends MovieClip { public const ON_BUTTON:int = 0; public const OFF_BUTTON:int = 1; public var index:int;// = -1 public var ship_icon:ShipIcon; private var buttonstate:int;// = 0 public var name_text:TextField; public var speed_text:TextField; public var cost_text:TextField; public var armor_text:TextField; public var steering_text:TextField; public function ShipStoreItem(){ addFrameScript(0, frame1); addEventListener(MouseEvent.MOUSE_OVER, OnOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, OnOut, false, 0, true); addEventListener(MouseEvent.CLICK, OnClick, false, 0, true); buttonMode = true; } public function OnClick(_arg1:MouseEvent){ (parent as Shipyard).ShowBuyShipDialog(index); SoundManager.PlayOnce("Click"); } public function OnOut(_arg1:MouseEvent){ if (buttonstate == ON_BUTTON){ gotoAndStop("on"); } else { gotoAndStop("off"); }; } public function SetState(_arg1:int){ if (buttonstate != _arg1){ buttonstate = _arg1; if (buttonstate == OFF_BUTTON){ gotoAndStop("off"); } else { gotoAndStop("on"); }; }; } public function OnOver(_arg1:MouseEvent){ if (buttonstate == ON_BUTTON){ gotoAndStop("over"); } else { gotoAndStop("off"); }; } function frame1(){ stop(); } } }//package
Section 314
//Shipyard (Shipyard) package { import flash.events.*; import flash.display.*; import flash.text.*; import mochi.as3.*; import flash.xml.*; public class Shipyard extends MovieClip { public var item3:ShipStoreItem; public var item4:ShipStoreItem; public var item5:ShipStoreItem; public var page1_button:ShopButton; private var page:int;// = 1 private var dlg:BuyShipDialog; public var dialog_name:TextField; private var e; public var page2_button:ShopButton; public var item1:ShipStoreItem; public var item2:ShipStoreItem; public static var shipyard:Shipyard = null; public function Shipyard(){ dlg = new BuyShipDialog(); super(); shipyard = this; try { addEventListener("BuyShipEvent", OnBuy, false, 0, true); page1_button.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SetPage(1); SoundManager.PlayOnce("Click"); }); page2_button.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ SetPage(2); SoundManager.PlayOnce("Click"); }); e = 0; while (e < 5) { this[("item" + (e + 1).toString())].cost_text.mouseEnabled = false; this[("item" + (e + 1).toString())].speed_text.mouseEnabled = false; this[("item" + (e + 1).toString())].steering_text.mouseEnabled = false; this[("item" + (e + 1).toString())].armor_text.mouseEnabled = false; e++; }; SetPage(1); } catch(e:Error) { }; } public function OnBuy(_arg1:BuyShipEvent){ removeChild(dlg); if (_arg1.index != -1){ if (Game.player.gold >= Game.settingsxml.Ships.Ship[_arg1.index].@cost){ Game.player.gold = (Game.player.gold - Game.settingsxml.Ships.Ship[_arg1.index].@cost); Game.player.ship = (_arg1.index + 1); Game.player.speed = Game.settingsxml.Ships.Ship[_arg1.index].@speed; Game.player.steering = Game.settingsxml.Ships.Ship[_arg1.index].@steering; Game.player.armor = Game.settingsxml.Ships.Ship[_arg1.index].@armor; Game.player.team = Game.settingsxml.Ships.Ship[_arg1.index].@team; Game.player.damage = Game.settingsxml.Ships.Ship[_arg1.index].@damage; Game.player.reload = Game.settingsxml.Ships.Ship[_arg1.index].@reload; Game.player.range = Game.settingsxml.Ships.Ship[_arg1.index].@range; Game.player.cannons = Game.settingsxml.Ships.Ship[_arg1.index].@cannons; Game.player.damage_upg = int(0); Game.player.cannons_upg = int(0); Game.player.team_upg = int(0); Game.player.reload_upg = int(0); Game.player.speed_upg = int(0); Game.player.armor_upg = int(0); Game.player.steering_upg = int(0); Game.player.cannondamage = int(0); Game.player.update(); SetPage(1); (parent as City).UpdateDialog(); if (_arg1.index == 9){ Game.player.bestship = true; GlobalData.bestship = true; }; }; }; } public function Update(_arg1:int){ SelectShip(_arg1); SetPage(2); } public function ShowBuyShipDialog(_arg1:int){ if (_arg1 <= 5){ dlg.index = _arg1; addChild(dlg); } else { if (_arg1 == 6){ if (GlobalData.shipowned7 == true){ SelectShip(_arg1); } else { MochiCoins.showStore({tags:["ships"]}); }; }; if (_arg1 == 7){ if (GlobalData.shipowned8 == true){ SelectShip(_arg1); } else { MochiCoins.showStore({tags:["ships"]}); }; }; if (_arg1 == 8){ if (GlobalData.shipowned9 == true){ SelectShip(_arg1); } else { MochiCoins.showStore({tags:["ships"]}); }; }; if (_arg1 == 9){ if (GlobalData.shipowned10 == true){ SelectShip(_arg1); } else { MochiCoins.showStore({tags:["ships"]}); }; }; }; } public function SetPage(_arg1:int){ page = _arg1; if (page == 1){ e = 0; while (e < 5) { this[("item" + (e + 1).toString())].ship_icon.gotoAndStop(Game.settingsxml.Ships.Ship[e].@id); this[("item" + (e + 1).toString())].name_text.text = Game.settingsxml.Ships.Ship[e].@shipname.toString(); this[("item" + (e + 1).toString())].cost_text.text = ("Cost: " + Game.settingsxml.Ships.Ship[e].@cost); this[("item" + (e + 1).toString())].speed_text.text = ("Speed: " + Game.settingsxml.Ships.Ship[e].@speed); this[("item" + (e + 1).toString())].armor_text.text = ("Armor: " + Game.settingsxml.Ships.Ship[e].@armor); this[("item" + (e + 1).toString())].steering_text.text = ("Steering: " + Game.settingsxml.Ships.Ship[e].@steering); this[("item" + (e + 1).toString())].index = e; if (int(Game.settingsxml.Ships.Ship[e].@cost) > Game.player.gold){ this[("item" + (e + 1).toString())].SetState(1); this[("item" + (e + 1).toString())].mouseEnabled = false; } else { this[("item" + (e + 1).toString())].SetState(0); this[("item" + (e + 1).toString())].mouseEnabled = true; }; if (Game.settingsxml.Ships.Ship[e].@id == Game.player.ship){ this[("item" + (e + 1).toString())].cost_text.text = "This is your ship"; this[("item" + (e + 1).toString())].SetState(1); this[("item" + (e + 1).toString())].mouseEnabled = false; }; e++; }; } else { if (page == 2){ e = 5; while (e < Game.settingsxml.Ships.Ship.length()) { this[("item" + (e - 4).toString())].ship_icon.gotoAndStop(Game.settingsxml.Ships.Ship[e].@id); this[("item" + (e - 4).toString())].name_text.text = Game.settingsxml.Ships.Ship[e].@shipname.toString(); this[("item" + (e - 4).toString())].cost_text.text = ("Cost: " + Game.settingsxml.Ships.Ship[e].@cost); this[("item" + (e - 4).toString())].speed_text.text = ("Speed: " + Game.settingsxml.Ships.Ship[e].@speed); this[("item" + (e - 4).toString())].armor_text.text = ("Armor: " + Game.settingsxml.Ships.Ship[e].@armor); this[("item" + (e - 4).toString())].steering_text.text = ("Steering: " + Game.settingsxml.Ships.Ship[e].@steering); this[("item" + (e - 4).toString())].index = e; if (Game.settingsxml.Ships.Ship[e].@cost == "Mochi coins"){ this[("item" + (e - 4).toString())].SetState(0); this[("item" + (e - 4).toString())].mouseEnabled = true; if ((((e == 6)) && ((GlobalData.shipowned7 == true)))){ this[("item" + (e - 4).toString())].cost_text.text = "Owned"; }; if ((((e == 7)) && ((GlobalData.shipowned8 == true)))){ this[("item" + (e - 4).toString())].cost_text.text = "Owned"; }; if ((((e == 8)) && ((GlobalData.shipowned9 == true)))){ this[("item" + (e - 4).toString())].cost_text.text = "Owned"; }; if ((((e == 9)) && ((GlobalData.shipowned10 == true)))){ this[("item" + (e - 4).toString())].cost_text.text = "Owned"; }; } else { if (int(Game.settingsxml.Ships.Ship[e].@cost) > Game.player.gold){ this[("item" + (e - 4).toString())].SetState(1); this[("item" + (e - 4).toString())].mouseEnabled = false; } else { this[("item" + (e - 4).toString())].SetState(0); this[("item" + (e - 4).toString())].mouseEnabled = true; }; }; if (Game.settingsxml.Ships.Ship[e].@id == Game.player.ship){ this[("item" + (e - 4).toString())].cost_text.text = "This is your ship"; this[("item" + (e - 4).toString())].SetState(1); this[("item" + (e - 4).toString())].mouseEnabled = false; }; e++; }; }; }; } public function SelectShip(_arg1:int){ Game.player.ship = (_arg1 + 1); Game.player.speed = Game.settingsxml.Ships.Ship[_arg1].@speed; Game.player.steering = Game.settingsxml.Ships.Ship[_arg1].@steering; Game.player.armor = Game.settingsxml.Ships.Ship[_arg1].@armor; Game.player.team = Game.settingsxml.Ships.Ship[_arg1].@team; Game.player.damage = Game.settingsxml.Ships.Ship[_arg1].@damage; Game.player.reload = Game.settingsxml.Ships.Ship[_arg1].@reload; Game.player.range = Game.settingsxml.Ships.Ship[_arg1].@range; Game.player.cannons = Game.settingsxml.Ships.Ship[_arg1].@cannons; Game.player.update(); SetPage(2); (parent as City).UpdateDialog(); if (_arg1 == 9){ Game.player.bestship = true; GlobalData.bestship = true; }; } } }//package
Section 315
//ShipyardTutorial (ShipyardTutorial) package { import flash.events.*; import flash.display.*; public class ShipyardTutorial extends MovieClip { public var continuebutton:ShopButton; public function ShipyardTutorial(){ addFrameScript(0, frame1); continuebutton.addEventListener(MouseEvent.CLICK, OnContinue, false, 0, true); } function frame1(){ stop(); } public function OnContinue(_arg1:MouseEvent){ if (this.currentFrame != 1){ gotoAndStop((this.currentFrame + 1)); } else { parent.removeChild(this); Game.player.showshipyardtutorial = false; }; } } }//package
Section 316
//ShopButton (ShopButton) package { import flash.display.*; public dynamic class ShopButton extends SimpleButton { } }//package
Section 317
//ShotArrow (ShotArrow) package { import flash.display.*; public dynamic class ShotArrow extends MovieClip { } }//package
Section 318
//ShotSound (ShotSound) package { import flash.media.*; public dynamic class ShotSound extends Sound { } }//package
Section 319
//Smoke (Smoke) package { import flash.display.*; public dynamic class Smoke extends MovieClip { public function Smoke(){ addFrameScript(35, frame36, 71, frame72, 107, frame108, 143, frame144, 179, frame180, 215, frame216, 251, frame252, 287, frame288, 323, frame324, 359, frame360, 395, frame396, 431, frame432, 467, frame468, 503, frame504, 539, frame540, 575, frame576, 611, frame612, 647, frame648, 683, frame684, 719, frame720, 755, frame756, 791, frame792, 827, frame828, 863, frame864, 899, frame900, 935, frame936, 971, frame972, 1007, frame1008, 1044, frame1045, 1079, frame1080, 1115, frame1116, 1151, frame1152); } function frame252(){ if (parent){ parent.removeChild(this); }; } function frame396(){ if (parent){ parent.removeChild(this); }; } function frame1080(){ if (parent){ parent.removeChild(this); }; } function frame432(){ if (parent){ parent.removeChild(this); }; } function frame576(){ if (parent){ parent.removeChild(this); }; } function frame72(){ if (parent){ parent.removeChild(this); }; } function frame216(){ if (parent){ parent.removeChild(this); }; } function frame756(){ if (parent){ parent.removeChild(this); }; } function frame1045(){ if (parent){ parent.removeChild(this); }; } function frame972(){ if (parent){ parent.removeChild(this); }; } function frame936(){ if (parent){ parent.removeChild(this); }; } function frame36(){ if (parent){ parent.removeChild(this); }; } function frame612(){ if (parent){ parent.removeChild(this); }; } function frame792(){ if (parent){ parent.removeChild(this); }; } function frame1008(){ if (parent){ parent.removeChild(this); }; } function frame180(){ if (parent){ parent.removeChild(this); }; } function frame360(){ if (parent){ parent.removeChild(this); }; } function frame144(){ if (parent){ parent.removeChild(this); }; } function frame288(){ if (parent){ parent.removeChild(this); }; } function frame324(){ if (parent){ parent.removeChild(this); }; } function frame864(){ if (parent){ parent.removeChild(this); }; } function frame1152(){ if (parent){ parent.removeChild(this); }; } function frame540(){ if (parent){ parent.removeChild(this); }; } function frame108(){ if (parent){ parent.removeChild(this); }; } function frame648(){ if (parent){ parent.removeChild(this); }; } function frame720(){ if (parent){ parent.removeChild(this); }; } function frame468(){ if (parent){ parent.removeChild(this); }; } function frame828(){ if (parent){ parent.removeChild(this); }; } function frame1116(){ if (parent){ parent.removeChild(this); }; } function frame900(){ if (parent){ parent.removeChild(this); }; } function frame684(){ if (parent){ parent.removeChild(this); }; } function frame504(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 320
//SoundManager (SoundManager) package { import flash.display.*; import flash.media.*; import flash.system.*; public class SoundManager extends MovieClip { private static var sounds:Array = new Array(); private static var soundvolume:Number = 1; private static var canplaysound:Boolean = false; private static var channels:Array = new Array(); private static var SM:SoundManager; public function SoundManager(){ addFrameScript(0, frame1); SM = this; if (((Capabilities.hasAudio) && (Capabilities.hasMP3))){ canplaysound = true; }; sounds["Shot"] = new ShotSound(); sounds["Boom"] = new BoomSound(); sounds["Chest"] = new ChestSound(); sounds["Click"] = new ClickSound(); sounds["Buy"] = new BuySound(); sounds["MenuMusic"] = new MenuMusic(); sounds["MapTheme"] = new MapTheme(); sounds["LevelWin"] = new LevelWin(); sounds["Intro"] = new Intro(); sounds["Ingame1"] = new Ingame1(); sounds["City"] = new CityTheme(); sounds["GameOver"] = new GameOver(); sounds["GameWin"] = new GameWin(); sounds["Abborduer"] = new Abborduer(); } function frame1(){ stop(); } public static function FadeIn(_arg1:String, _arg2:String){ if (((((!(SM)) || ((soundvolume == 0)))) || (!(canplaysound)))){ return; }; if (((!((channels[_arg1] == undefined))) && (!((channels[_arg1] == null))))){ channels[_arg1].FadeIn(); } else { if (sounds[_arg2]){ channels[_arg1] = new Channel(sounds[_arg2]); channels[_arg1].FadeIn(); }; }; } public static function StopLoop(_arg1:String){ if (((((!(SM)) || ((soundvolume == 0)))) || (!(canplaysound)))){ return; }; if (((!((channels[_arg1] == undefined))) && (!((channels[_arg1] == null))))){ channels[_arg1].StopLoop(); }; } public static function StopSound(_arg1:String){ if (((((!(SM)) || ((soundvolume == 0)))) || (!(canplaysound)))){ return; }; if (sounds[_arg1]){ sounds[_arg1].stop(); }; } public static function PlayOnce(_arg1:String){ if (((((!(SM)) || ((soundvolume == 0)))) || (!(canplaysound)))){ return; }; var _local2:SoundTransform = new SoundTransform(); _local2.volume = Number((soundvolume * 0.3)); _local2.pan = 0; if (sounds[_arg1]){ sounds[_arg1].play(0, 0, _local2); }; } public static function PlayLoop(_arg1:String, _arg2:String){ if (((((!(SM)) || ((soundvolume == 0)))) || (!(canplaysound)))){ return; }; var _local3:SoundTransform = new SoundTransform(); _local3.volume = Number((soundvolume * 0.5)); _local3.pan = 0; if (channels[_arg1] != undefined){ if (channels[_arg1] != null){ return; }; }; if (sounds[_arg2]){ channels[_arg1] = new Channel(sounds[_arg2]); channels[_arg1].PlayLoop(_local3); }; } public static function FadeOut(_arg1:String){ if (((((!(SM)) || ((soundvolume == 0)))) || (!(canplaysound)))){ return; }; if (((!((channels[_arg1] == undefined))) && (!((channels[_arg1] == null))))){ channels[_arg1].FadeOut(); }; } public static function SetVolume(_arg1:int){ soundvolume = _arg1; } } }//package
Section 321
//SoundMute (SoundMute) package { import flash.events.*; import flash.display.*; import flash.media.*; public class SoundMute extends MovieClip { var mute:Boolean;// = false public function SoundMute(){ addFrameScript(0, frame1); gotoAndStop("sound"); addEventListener(MouseEvent.CLICK, Switch, false, 0, true); } public function Switch(_arg1:MouseEvent){ if (mute == false){ gotoAndStop("mute"); mute = true; SoundMixer.soundTransform = new SoundTransform(0); } else { gotoAndStop("sound"); mute = false; SoundMixer.soundTransform = new SoundTransform(1); }; } function frame1(){ stop(); } } }//package
Section 322
//StorylineDialog (StorylineDialog) package { import flash.events.*; import flash.display.*; import fl.controls.*; import flash.text.*; public class StorylineDialog extends MovieClip { public var __id0_:UIScrollBar; public var proceed:ShopButton; public var avatar:StorylinePortrait; public var seaquest:Boolean;// = true public var textbox:TextField; public function StorylineDialog(){ proceed.addEventListener(MouseEvent.CLICK, OnYes, false, 0, true); __setProp___id0__StorylineDialog_Layer1_0(); } function __setProp___id0__StorylineDialog_Layer1_0(){ try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.direction = "vertical"; __id0_.scrollTargetName = "textbox"; __id0_.visible = true; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } public function OnYes(_arg1:MouseEvent){ proceed.removeEventListener(MouseEvent.CLICK, OnYes); if (parent){ if (seaquest == false){ Game.game.SetState(Game.game.CITY); Game.player.questnumber++; } else { Game.game.SetState(Game.game.GAMEPLAY); parent.removeChild(this); }; }; } } }//package
Section 323
//StorylinePortrait (StorylinePortrait) package { import flash.display.*; public dynamic class StorylinePortrait extends MovieClip { public function StorylinePortrait(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 324
//Stripe (Stripe) package { import flash.display.*; import flash.text.*; public dynamic class Stripe extends MovieClip { public var hp_text:TextField; public var team_text:TextField; } }//package
Section 325
//SurvivalButton (SurvivalButton) package { import flash.display.*; public dynamic class SurvivalButton extends SimpleButton { } }//package
Section 326
//Tavern (Tavern) package { import flash.events.*; import flash.display.*; import flash.text.*; import mochi.as3.*; import flash.filters.*; import flash.xml.*; public class Tavern extends MovieClip { public var item3:TavernItem; public var dialog_name:TextField; private var e; private var mat:Array; var filter:ColorMatrixFilter; public var item1:TavernItem; public var item2:TavernItem; public static var tavern:Tavern = null; public function Tavern(){ mat = [0.33, 0, 0, 0, 0, 0, 0.33, 0, 0, 0, 0, 0, 0.33, 0, 0, 0, 0, 0, 1, 0]; filter = new ColorMatrixFilter(mat); super(); tavern = this; UpdateDialog(); } public function Update(){ this["item3"].cost_text.text = (("Mochi Coins: now has " + GlobalData.player.companion) + " ships"); } public function OnGoods(_arg1:MouseEvent){ var _local2:GoodsDialog = new GoodsDialog(); addChild(_local2); } public function DisableRum(){ this["item1"].ok_button.removeEventListener(MouseEvent.CLICK, OnRum); this["item1"].ok_button.buttonMode = false; this["item1"].ok_button.mouseEnabled = false; this["item1"].ok_button.filters = [filter]; } public function OnRum(_arg1:MouseEvent){ var _local2:RumDialog = new RumDialog(); addChild(_local2); } public function DisableGoods(){ this["item2"].ok_button.removeEventListener(MouseEvent.CLICK, OnGoods); this["item2"].ok_button.buttonMode = false; this["item2"].ok_button.mouseEnabled = false; this["item2"].ok_button.filters = [filter]; } public function UpdateDialog(){ this["item1"].ok_button.removeEventListener(MouseEvent.CLICK, OnRum); this["item2"].ok_button.removeEventListener(MouseEvent.CLICK, OnGoods); this["item3"].ok_button.removeEventListener(MouseEvent.CLICK, OnCompanion); this["item1"].ok_button.buttonMode = false; this["item2"].ok_button.buttonMode = false; this["item3"].ok_button.buttonMode = false; this["item1"].cost_text.mouseEnabled = false; this["item1"].cost_text.text = ("Cost: " + Game.settingsxml.Tavern.Rum.@cost); if (Game.settingsxml.Tavern.Rum.@cost <= Game.player.gold){ this["item1"].ok_button.addEventListener(MouseEvent.CLICK, OnRum, false, 0, true); this["item1"].ok_button.buttonMode = true; } else { this["item1"].ok_button.buttonMode = false; this["item1"].ok_button.mouseEnabled = false; this["item1"].ok_button.filters = [filter]; }; this["item2"].cost_text.mouseEnabled = false; this["item2"].cost_text.text = ("Cost: " + Game.settingsxml.Tavern.Goods.@cost); if (Game.settingsxml.Tavern.Goods.@cost <= Game.player.gold){ this["item2"].ok_button.addEventListener(MouseEvent.CLICK, OnGoods, false, 0, true); this["item2"].ok_button.buttonMode = true; } else { this["item2"].ok_button.buttonMode = false; this["item2"].ok_button.mouseEnabled = false; this["item2"].ok_button.filters = [filter]; }; this["item3"].cost_text.mouseEnabled = false; this["item3"].cost_text.text = (("Mochi Coins: now has " + GlobalData.player.companion) + " ships"); this["item3"].ok_button.addEventListener(MouseEvent.CLICK, OnCompanion, false, 0, true); this["item3"].ok_button.buttonMode = true; } public function OnCompanion(_arg1:MouseEvent){ MochiCoins.showStore({tags:["companion"]}); } public function DisableCompanion(){ this["item3"].ok_button.removeEventListener(MouseEvent.CLICK, OnCompanion); this["item3"].ok_button.buttonMode = false; this["item3"].ok_button.mouseEnabled = false; this["item3"].ok_button.filters = [filter]; } } }//package
Section 327
//TavernItem (TavernItem) package { import flash.display.*; import flash.text.*; public dynamic class TavernItem extends MovieClip { public var ok_button:ShopButton; public var cost_text:TextField; public function TavernItem(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 328
//TeamMeter (TeamMeter) package { import flash.display.*; public dynamic class TeamMeter extends MovieClip { } }//package
Section 329
//TextInput_disabledSkin (TextInput_disabledSkin) package { import flash.display.*; public dynamic class TextInput_disabledSkin extends MovieClip { } }//package
Section 330
//TextInput_upSkin (TextInput_upSkin) package { import flash.display.*; public dynamic class TextInput_upSkin extends MovieClip { } }//package
Section 331
//TooltipSymbol (TooltipSymbol) package { import flash.display.*; import flash.text.*; public dynamic class TooltipSymbol extends MovieClip { public var tooltip:TextField; } }//package
Section 332
//Trash (Trash) package { import flash.events.*; import flash.display.*; import silin.bitmap.*; public class Trash extends MovieClip { public var livecounter:Number;// = 0 private var exlpBitmap:ExplosionBitmap; public var alphacounter:Number;// = 0 public function Trash(){ exlpBitmap = new ExplosionBitmap(300, 300, ExplosionBitmap.EXPLOSION); addChild(exlpBitmap); exlpBitmap.x = -150; exlpBitmap.y = -150; exlpBitmap.clear(); exlpBitmap.totalCount = 1000; exlpBitmap.perFrameCount = 34; exlpBitmap.initRadius = 62; exlpBitmap.initVelocity = 1; exlpBitmap.energyDamp = 0.95; exlpBitmap.wind = 0; exlpBitmap.addExplosion(150, 150, true); exlpBitmap.addEventListener(Event.COMPLETE, explCompleteHandler, false, 0, true); } private function explCompleteHandler(_arg1:Event):void{ removeChild(exlpBitmap); } public function Update(_arg1:Number){ if (livecounter <= 1){ livecounter = (livecounter + _arg1); } else { if (alphacounter <= 5){ alphacounter = (alphacounter + _arg1); if ((1 - (alphacounter / 5)) >= 0){ this.alpha = (1 - (alphacounter / 5)); }; } else { this.alpha = 0; }; }; } } }//package
Section 333
//TriedToEscape (TriedToEscape) package { import flash.display.*; import flash.text.*; public dynamic class TriedToEscape extends MovieClip { public var escapetxt:TextField; } }//package
Section 334
//Trophies (Trophies) package { import flash.events.*; import flash.filters.*; public class Trophies extends FadeSlider { public var icon2:TrophyIcon2; var redfilter:GlowFilter; var greyfilter:ColorMatrixFilter;// = null public var icon1:TrophyIcon1; public var backbutton:ShopButton; public var icon3:TrophyIcon3; var bluefilter:GlowFilter; public function Trophies(){ redfilter = new GlowFilter(0xFF0000, 1, 10, 10, 1.34, 2, true, false); bluefilter = new GlowFilter(0xFF, 1, 10, 10, 1.34, 2, true, false); super(); SetOut(); PlayFadeIn(); var _local1:Array = [0, 0, 0, 0, 63.5, 0, 0, 0, 0, 63.5, 0, 0, 0, 0, 63.5, 0, 0, 0, 1, 0]; greyfilter = new ColorMatrixFilter(_local1); backbutton.addEventListener(MouseEvent.CLICK, OnBackToMenu, false, 0, true); icon1.filters = [greyfilter]; icon2.filters = [greyfilter]; icon3.filters = [greyfilter]; if (Game.player.shipsdestroyed >= 100){ icon1.filters = [redfilter]; }; if (Game.player.completed == true){ icon2.filters = [bluefilter]; }; if ((((Game.player.bestship == true)) && ((Game.player.bestcannon == true)))){ icon3.filters = []; }; } public function OnBackToMenu(_arg1:MouseEvent){ backbutton.removeEventListener(MouseEvent.CLICK, OnBackToMenu); Game.game.SetState(Game.game.MAINMENU); } } }//package
Section 335
//TrophiesButton (TrophiesButton) package { import flash.display.*; public dynamic class TrophiesButton extends SimpleButton { } }//package
Section 336
//TrophyIcon1 (TrophyIcon1) package { import flash.display.*; public dynamic class TrophyIcon1 extends MovieClip { } }//package
Section 337
//TrophyIcon2 (TrophyIcon2) package { import flash.display.*; public dynamic class TrophyIcon2 extends MovieClip { } }//package
Section 338
//TrophyIcon3 (TrophyIcon3) package { import flash.display.*; public dynamic class TrophyIcon3 extends MovieClip { } }//package
Section 339
//Tutorial (Tutorial) package { import flash.events.*; import flash.display.*; import flash.text.*; public class Tutorial extends MovieClip { public var ship_hp_text:TextField; public var continuebutton:ShopButton; public var ship_cores_text:TextField; public function Tutorial(){ addFrameScript(0, frame1); continuebutton.addEventListener(MouseEvent.CLICK, OnContinue, false, 0, true); } function frame1(){ stop(); } public function OnContinue(_arg1:MouseEvent){ if (this.currentFrame != 7){ gotoAndStop((this.currentFrame + 1)); } else { Level.level.SetGameState(Level.level.NORMAL); Level.level.removeChild(this); Game.player.showtutorial = false; }; } } }//package
Section 340
//TutorialHP (TutorialHP) package { import flash.display.*; public dynamic class TutorialHP extends MovieClip { } }//package
Section 341
//UpgradeDialog (UpgradeDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public class UpgradeDialog extends MovieClip { public var reload4:UpgradeSymbol; public var damage_text:TextField; public var damage3:UpgradeSymbol; public var reload_text:TextField; public var damage1:UpgradeSymbol; public var damage2:UpgradeSymbol; public var speed_text:TextField; public var ship_icon:ShipIcon; public var gold_text:TextField; public var armor_text:TextField; public var damage5:UpgradeSymbol; public var cannons_text:TextField; public var reload2:UpgradeSymbol; public var steering_text:TextField; public var reload3:UpgradeSymbol; public var reload5:UpgradeSymbol; public var damage4:UpgradeSymbol; public var speed2:UpgradeSymbol; public var speed3:UpgradeSymbol; public var speed4:UpgradeSymbol; public var speed5:UpgradeSymbol; public var team_text:TextField; public var reload1:UpgradeSymbol; public var speed1:UpgradeSymbol; public var armor1:UpgradeSymbol; public var armor2:UpgradeSymbol; public var armor3:UpgradeSymbol; public var armor4:UpgradeSymbol; public var armor5:UpgradeSymbol; public var cannons1:UpgradeSymbol; public var cannons2:UpgradeSymbol; public var cannons3:UpgradeSymbol; public var cannons4:UpgradeSymbol; public var cannons5:UpgradeSymbol; public var steering1:UpgradeSymbol; public var steering2:UpgradeSymbol; public var steering3:UpgradeSymbol; public var steering4:UpgradeSymbol; private var e; public var steering5:UpgradeSymbol; public var team1:UpgradeSymbol; public var team2:UpgradeSymbol; public var team4:UpgradeSymbol; public var ok_button:DialogButton; public var team3:UpgradeSymbol; public var team5:UpgradeSymbol; public function UpgradeDialog(){ super(); try { UpdateUpgrades(); ok_button.addEventListener(MouseEvent.CLICK, OnOk, false, 0, true); ship_icon.gotoAndStop(Game.player.ship); gold_text.text = Game.player.gold; if (Game.player.showupgradetutorial == true){ addChild(new UpgradeTutorial()); }; } catch(e:Error) { }; } public function OnArmorClick(_arg1:MouseEvent){ trace("armor"); e = 1; while (e < 6) { this[("damage" + e.toString())].buttonMode = false; this[("cannons" + e.toString())].buttonMode = false; this[("team" + e.toString())].buttonMode = false; this[("reload" + e.toString())].buttonMode = false; this[("speed" + e.toString())].buttonMode = false; this[("armor" + e.toString())].buttonMode = false; this[("steering" + e.toString())].buttonMode = false; this[("damage" + e.toString())].removeEventListener(MouseEvent.CLICK, OnDamageClick); this[("cannons" + e.toString())].removeEventListener(MouseEvent.CLICK, OnCannonsClick); this[("team" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTeamClick); this[("reload" + e.toString())].removeEventListener(MouseEvent.CLICK, OnReloadClick); this[("speed" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSpeedClick); this[("armor" + e.toString())].removeEventListener(MouseEvent.CLICK, OnArmorClick); this[("steering" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSteeringClick); e++; }; if (Game.player.gold >= Game.settingsxml..Armor.Level[Game.player.armor_upg].@gold){ Game.player.gold = (Game.player.gold - Game.settingsxml..Armor.Level[Game.player.armor_upg].@gold); Game.player.armor_upg = (Game.player.armor_upg + 1); UpdateUpgrades(); SoundManager.PlayOnce("Buy"); }; } public function OnTeamClick(_arg1:MouseEvent){ trace("team"); e = 1; while (e < 6) { this[("damage" + e.toString())].buttonMode = false; this[("cannons" + e.toString())].buttonMode = false; this[("team" + e.toString())].buttonMode = false; this[("reload" + e.toString())].buttonMode = false; this[("speed" + e.toString())].buttonMode = false; this[("armor" + e.toString())].buttonMode = false; this[("steering" + e.toString())].buttonMode = false; this[("damage" + e.toString())].removeEventListener(MouseEvent.CLICK, OnDamageClick); this[("cannons" + e.toString())].removeEventListener(MouseEvent.CLICK, OnCannonsClick); this[("team" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTeamClick); this[("reload" + e.toString())].removeEventListener(MouseEvent.CLICK, OnReloadClick); this[("speed" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSpeedClick); this[("armor" + e.toString())].removeEventListener(MouseEvent.CLICK, OnArmorClick); this[("steering" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSteeringClick); e++; }; if (Game.player.gold >= Game.settingsxml..Team.Level[Game.player.team_upg].@gold){ Game.player.gold = (Game.player.gold - Game.settingsxml..Team.Level[Game.player.team_upg].@gold); Game.player.team_upg = (Game.player.team_upg + 1); UpdateUpgrades(); SoundManager.PlayOnce("Buy"); }; } public function OnOk(_arg1:MouseEvent){ ok_button.removeEventListener(MouseEvent.CLICK, OnOk); if ((parent is LevelMap)){ SoundManager.PlayOnce("Click"); (parent as LevelMap).update = true; (parent as LevelMap).UpdateGUI(); parent.removeChild(this); } else { SoundManager.PlayOnce("Click"); (parent as LevelSurvival).Pause(); parent.removeChild(this); }; } public function OnSteeringClick(_arg1:MouseEvent){ trace("steering"); e = 1; while (e < 6) { this[("damage" + e.toString())].buttonMode = false; this[("cannons" + e.toString())].buttonMode = false; this[("team" + e.toString())].buttonMode = false; this[("reload" + e.toString())].buttonMode = false; this[("speed" + e.toString())].buttonMode = false; this[("armor" + e.toString())].buttonMode = false; this[("steering" + e.toString())].buttonMode = false; this[("damage" + e.toString())].removeEventListener(MouseEvent.CLICK, OnDamageClick); this[("cannons" + e.toString())].removeEventListener(MouseEvent.CLICK, OnCannonsClick); this[("team" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTeamClick); this[("reload" + e.toString())].removeEventListener(MouseEvent.CLICK, OnReloadClick); this[("speed" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSpeedClick); this[("armor" + e.toString())].removeEventListener(MouseEvent.CLICK, OnArmorClick); this[("steering" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSteeringClick); e++; }; if (Game.player.gold >= Game.settingsxml..Steering.Level[Game.player.steering_upg].@gold){ Game.player.gold = (Game.player.gold - Game.settingsxml..Steering.Level[Game.player.steering_upg].@gold); Game.player.steering_upg = (Game.player.steering_upg + 1); UpdateUpgrades(); SoundManager.PlayOnce("Buy"); }; } public function OnReloadClick(_arg1:MouseEvent){ trace("reload"); e = 1; while (e < 6) { this[("damage" + e.toString())].buttonMode = false; this[("cannons" + e.toString())].buttonMode = false; this[("team" + e.toString())].buttonMode = false; this[("reload" + e.toString())].buttonMode = false; this[("speed" + e.toString())].buttonMode = false; this[("armor" + e.toString())].buttonMode = false; this[("steering" + e.toString())].buttonMode = false; this[("damage" + e.toString())].removeEventListener(MouseEvent.CLICK, OnDamageClick); this[("cannons" + e.toString())].removeEventListener(MouseEvent.CLICK, OnCannonsClick); this[("team" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTeamClick); this[("reload" + e.toString())].removeEventListener(MouseEvent.CLICK, OnReloadClick); this[("speed" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSpeedClick); this[("armor" + e.toString())].removeEventListener(MouseEvent.CLICK, OnArmorClick); this[("steering" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSteeringClick); e++; }; if (Game.player.gold >= Game.settingsxml..Reload.Level[Game.player.reload_upg].@gold){ Game.player.gold = (Game.player.gold - Game.settingsxml..Reload.Level[Game.player.reload_upg].@gold); Game.player.reload_upg = (Game.player.reload_upg + 1); UpdateUpgrades(); SoundManager.PlayOnce("Buy"); }; } public function OnCannonsClick(_arg1:MouseEvent){ trace("cannons"); e = 1; while (e < 6) { this[("damage" + e.toString())].buttonMode = false; this[("cannons" + e.toString())].buttonMode = false; this[("team" + e.toString())].buttonMode = false; this[("reload" + e.toString())].buttonMode = false; this[("speed" + e.toString())].buttonMode = false; this[("armor" + e.toString())].buttonMode = false; this[("steering" + e.toString())].buttonMode = false; this[("damage" + e.toString())].removeEventListener(MouseEvent.CLICK, OnDamageClick); this[("cannons" + e.toString())].removeEventListener(MouseEvent.CLICK, OnCannonsClick); this[("team" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTeamClick); this[("reload" + e.toString())].removeEventListener(MouseEvent.CLICK, OnReloadClick); this[("speed" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSpeedClick); this[("armor" + e.toString())].removeEventListener(MouseEvent.CLICK, OnArmorClick); this[("steering" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSteeringClick); e++; }; if (Game.player.gold >= Game.settingsxml..Cannons.Level[Game.player.cannons_upg].@gold){ Game.player.gold = (Game.player.gold - Game.settingsxml..Cannons.Level[Game.player.cannons_upg].@gold); Game.player.cannons_upg = (Game.player.cannons_upg + 1); UpdateUpgrades(); SoundManager.PlayOnce("Buy"); }; } public function UpdateUpgrades(){ Game.player.update(); gold_text.text = Game.player.gold; speed_text.text = Game.player.speed; steering_text.text = Game.player.steering; armor_text.text = Game.player.armor; team_text.text = Game.player.team; damage_text.text = Game.player.damage; reload_text.text = (Game.player.reload.toString() + "sec."); cannons_text.text = Game.player.cannons; e = 1; while (e < 6) { if (e <= Game.player.damage_upg){ this[("damage" + e.toString())].gotoAndStop(2); } else { this[("damage" + e.toString())].gotoAndStop(1); }; if (e <= Game.player.cannons_upg){ this[("cannons" + e.toString())].gotoAndStop(2); } else { this[("cannons" + e.toString())].gotoAndStop(1); }; if (e <= Game.player.team_upg){ this[("team" + e.toString())].gotoAndStop(2); } else { this[("team" + e.toString())].gotoAndStop(1); }; if (e <= Game.player.reload_upg){ this[("reload" + e.toString())].gotoAndStop(2); } else { this[("reload" + e.toString())].gotoAndStop(1); }; if (e <= Game.player.speed_upg){ this[("speed" + e.toString())].gotoAndStop(2); } else { this[("speed" + e.toString())].gotoAndStop(1); }; if (e <= Game.player.armor_upg){ this[("armor" + e.toString())].gotoAndStop(2); } else { this[("armor" + e.toString())].gotoAndStop(1); }; if (e <= Game.player.steering_upg){ this[("steering" + e.toString())].gotoAndStop(2); } else { this[("steering" + e.toString())].gotoAndStop(1); }; e++; }; if (Game.player.damage_upg != 5){ if (Game.settingsxml..Damage.Level[Game.player.damage_upg].@gold <= Game.player.gold){ this[("damage" + (Game.player.damage_upg + 1).toString())].gotoAndStop(4); this[("damage" + (Game.player.damage_upg + 1).toString())].addEventListener(MouseEvent.CLICK, OnDamageClick, false, 0, true); this[("damage" + (Game.player.damage_upg + 1).toString())].buttonMode = true; }; }; if (Game.player.cannons_upg != 5){ if (Game.settingsxml..Cannons.Level[Game.player.cannons_upg].@gold <= Game.player.gold){ this[("cannons" + (Game.player.cannons_upg + 1).toString())].gotoAndStop(4); this[("cannons" + (Game.player.cannons_upg + 1).toString())].addEventListener(MouseEvent.CLICK, OnCannonsClick, false, 0, true); this[("cannons" + (Game.player.cannons_upg + 1).toString())].buttonMode = true; }; }; if (Game.player.team_upg != 5){ if (Game.settingsxml..Team.Level[Game.player.team_upg].@gold <= Game.player.gold){ this[("team" + (Game.player.team_upg + 1).toString())].gotoAndStop(4); this[("team" + (Game.player.team_upg + 1).toString())].addEventListener(MouseEvent.CLICK, OnTeamClick, false, 0, true); this[("team" + (Game.player.team_upg + 1).toString())].buttonMode = true; }; }; if (Game.player.reload_upg != 5){ if (Game.settingsxml..Reload.Level[Game.player.reload_upg].@gold <= Game.player.gold){ this[("reload" + (Game.player.reload_upg + 1).toString())].gotoAndStop(4); this[("reload" + (Game.player.reload_upg + 1).toString())].addEventListener(MouseEvent.CLICK, OnReloadClick, false, 0, true); this[("reload" + (Game.player.reload_upg + 1).toString())].buttonMode = true; }; }; if (Game.player.speed_upg != 5){ if (Game.settingsxml..Speed.Level[Game.player.speed_upg].@gold <= Game.player.gold){ this[("speed" + (Game.player.speed_upg + 1).toString())].gotoAndStop(4); this[("speed" + (Game.player.speed_upg + 1).toString())].addEventListener(MouseEvent.CLICK, OnSpeedClick, false, 0, true); this[("speed" + (Game.player.speed_upg + 1).toString())].buttonMode = true; }; }; if (Game.player.armor_upg != 5){ if (Game.settingsxml..Armor.Level[Game.player.armor_upg].@gold <= Game.player.gold){ this[("armor" + (Game.player.armor_upg + 1).toString())].gotoAndStop(4); this[("armor" + (Game.player.armor_upg + 1).toString())].addEventListener(MouseEvent.CLICK, OnArmorClick, false, 0, true); this[("armor" + (Game.player.armor_upg + 1).toString())].buttonMode = true; }; }; if (Game.player.steering_upg != 5){ if (Game.settingsxml..Steering.Level[Game.player.steering_upg].@gold <= Game.player.gold){ this[("steering" + (Game.player.steering_upg + 1).toString())].gotoAndStop(4); this[("steering" + (Game.player.steering_upg + 1).toString())].addEventListener(MouseEvent.CLICK, OnSteeringClick, false, 0, true); this[("steering" + (Game.player.steering_upg + 1).toString())].buttonMode = true; }; }; } public function OnDamageClick(_arg1:MouseEvent){ trace("damage"); e = 1; while (e < 6) { this[("damage" + e.toString())].buttonMode = false; this[("cannons" + e.toString())].buttonMode = false; this[("team" + e.toString())].buttonMode = false; this[("reload" + e.toString())].buttonMode = false; this[("speed" + e.toString())].buttonMode = false; this[("armor" + e.toString())].buttonMode = false; this[("steering" + e.toString())].buttonMode = false; this[("damage" + e.toString())].removeEventListener(MouseEvent.CLICK, OnDamageClick); this[("cannons" + e.toString())].removeEventListener(MouseEvent.CLICK, OnCannonsClick); this[("team" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTeamClick); this[("reload" + e.toString())].removeEventListener(MouseEvent.CLICK, OnReloadClick); this[("speed" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSpeedClick); this[("armor" + e.toString())].removeEventListener(MouseEvent.CLICK, OnArmorClick); this[("steering" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSteeringClick); e++; }; if (Game.settingsxml..Damage.Level[Game.player.damage_upg].@gold <= Game.player.gold){ Game.player.gold = (Game.player.gold - Game.settingsxml..Damage.Level[Game.player.damage_upg].@gold); Game.player.damage_upg = (Game.player.damage_upg + 1); UpdateUpgrades(); SoundManager.PlayOnce("Buy"); }; } public function OnSpeedClick(_arg1:MouseEvent){ trace("speed"); e = 1; while (e < 6) { this[("damage" + e.toString())].buttonMode = false; this[("cannons" + e.toString())].buttonMode = false; this[("team" + e.toString())].buttonMode = false; this[("reload" + e.toString())].buttonMode = false; this[("speed" + e.toString())].buttonMode = false; this[("armor" + e.toString())].buttonMode = false; this[("steering" + e.toString())].buttonMode = false; this[("damage" + e.toString())].removeEventListener(MouseEvent.CLICK, OnDamageClick); this[("cannons" + e.toString())].removeEventListener(MouseEvent.CLICK, OnCannonsClick); this[("team" + e.toString())].removeEventListener(MouseEvent.CLICK, OnTeamClick); this[("reload" + e.toString())].removeEventListener(MouseEvent.CLICK, OnReloadClick); this[("speed" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSpeedClick); this[("armor" + e.toString())].removeEventListener(MouseEvent.CLICK, OnArmorClick); this[("steering" + e.toString())].removeEventListener(MouseEvent.CLICK, OnSteeringClick); e++; }; if (Game.player.gold >= Game.settingsxml..Speed.Level[Game.player.speed_upg].@gold){ Game.player.gold = (Game.player.gold - Game.settingsxml..Speed.Level[Game.player.speed_upg].@gold); Game.player.speed_upg = (Game.player.speed_upg + 1); UpdateUpgrades(); SoundManager.PlayOnce("Buy"); }; } } }//package
Section 342
//UpgradeSymbol (UpgradeSymbol) package { import flash.display.*; public dynamic class UpgradeSymbol extends MovieClip { public function UpgradeSymbol(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 343
//UpgradeTutorial (UpgradeTutorial) package { import flash.events.*; import flash.display.*; public class UpgradeTutorial extends MovieClip { public var continuebutton:ShopButton; public function UpgradeTutorial(){ addFrameScript(0, frame1); continuebutton.addEventListener(MouseEvent.CLICK, OnContinue, false, 0, true); } function frame1(){ stop(); } public function OnContinue(_arg1:MouseEvent){ if (this.currentFrame != 1){ gotoAndStop((this.currentFrame + 1)); } else { parent.removeChild(this); Game.player.showupgradetutorial = false; }; } } }//package
Section 344
//Water (Water) package { import flash.display.*; public dynamic class Water extends MovieClip { public function Water(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 345
//WaterBackTrace (WaterBackTrace) package { import flash.display.*; public dynamic class WaterBackTrace extends MovieClip { } }//package
Section 346
//WaterForwardTrace (WaterForwardTrace) package { import flash.display.*; public dynamic class WaterForwardTrace extends MovieClip { } }//package
Section 347
//WaterHolderB (WaterHolderB) package { import flash.display.*; import com.midasplayer.extras.*; public dynamic class WaterHolderB extends MovieClip { public var BLUE:Water1; } }//package
Section 348
//WaterHolderG (WaterHolderG) package { import flash.display.*; import com.midasplayer.extras.*; public dynamic class WaterHolderG extends MovieClip { public var GREEN:Water1; } }//package
Section 349
//WaterHolderR (WaterHolderR) package { import flash.display.*; import com.midasplayer.extras.*; public dynamic class WaterHolderR extends MovieClip { public var RED:Water1; } }//package
Section 350
//WaterSplash (WaterSplash) package { import flash.events.*; import flash.display.*; import silin.bitmap.*; public class WaterSplash extends Sprite { private var exlpBitmap:ExplosionBitmap; public function WaterSplash(){ exlpBitmap = new ExplosionBitmap(100, 100, ExplosionBitmap.SMOKE); addChild(exlpBitmap); exlpBitmap.x = -50; exlpBitmap.y = -50; exlpBitmap.clear(); exlpBitmap.totalCount = 100; exlpBitmap.perFrameCount = 60; exlpBitmap.initRadius = 3; exlpBitmap.initVelocity = 3; exlpBitmap.energyDamp = 0.8; exlpBitmap.wind = 4; exlpBitmap.smokeColor = 13421823; exlpBitmap.addExplosion(50, 50, true); exlpBitmap.addEventListener(Event.COMPLETE, explCompleteHandler, false, 0, true); } private function explCompleteHandler(_arg1:Event):void{ parent.removeChild(this); } } }//package
Section 351
//WaterTilesHolder (WaterTilesHolder) package { import flash.display.*; import flash.geom.*; public class WaterTilesHolder extends Sprite { private var mat:Matrix; private var waterdata:BitmapData; private var presentdata:BitmapData; private var presentbitmap:Bitmap; private var tile:Water; private var copyto:Point; private var clearrect:Rectangle; private var sourcerect:Rectangle; public function WaterTilesHolder(){ var _local2:int; waterdata = new BitmapData(700, 550, false, 4294967295); presentdata = new BitmapData(700, 400, false, 4294967295); tile = new Water(); mat = new Matrix(); sourcerect = new Rectangle(); clearrect = new Rectangle(); copyto = new Point(); super(); tile.gotoAndStop((int((Math.random() * 3)) + 1)); presentbitmap = new Bitmap(presentdata, PixelSnapping.ALWAYS, true); addChild(presentbitmap); presentbitmap.y = 28; waterdata.lock(); var _local1:int; while (_local1 < 7) { _local2 = 0; while (_local2 < 5) { mat.tx = (110 * _local1); mat.ty = (110 * _local2); waterdata.draw(tile, mat); _local2++; }; _local1++; }; waterdata.unlock(); presentdata.lock(); sourcerect.x = 0; sourcerect.y = 110; sourcerect.width = 700; sourcerect.height = 400; copyto.x = 0; copyto.y = 0; presentdata.copyPixels(waterdata, sourcerect, copyto); presentdata.unlock(); } public function Update(_arg1:Number){ presentdata.lock(); sourcerect.x = 0; sourcerect.y = _arg1; sourcerect.width = 700; sourcerect.height = 400; copyto.x = 0; copyto.y = 0; presentdata.copyPixels(waterdata, sourcerect, copyto); presentdata.unlock(); } } }//package
Section 352
//WaterWave (WaterWave) package { import flash.display.*; public dynamic class WaterWave extends MovieClip { public function WaterWave(){ addFrameScript(103, frame104); } function frame104(){ x = int((Math.random() * 2000)); y = int((Math.random() * 2000)); } } }//package

Library Items

Symbol 1 Font {GaramondBold}Used by:21 22 23 24 55 56 59 63 64 65 66 67 68 69 70 132 134 3904 3950 3981 3997 3998 3999 4000 4001 4010 4011 4016 4017 4018 4019 4024 4025 4026 4031 4032 4057 4058 4062 4080 4084 4089 4099 4114 4185 4277 4278 4313 4315 4317 4319 4347 4352 4353 4354 4355 4359 4360 4363 4373 4401
Symbol 2 Font {Garamond}Used by:21 22 23 24 55 56 59 63 64 65 66 67 68 69 70 76 82 83 130 132 134 3902 3903 3904 3948 3949 3950 3953 3978 3979 3981 3985 3991 3992 3997 3998 3999 4000 4001 4006 4007 4008 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4031 4032 4035 4057 4058 4061 4062 4064 4065 4066 4067 4068 4069 4071 4072 4074 4075 4076 4078 4080 4081 4084 4089 4091 4095 4096 4097 4098 4099 4102 4103 4110 4113 4114 4115 4116 4117 4159 4160 4161 4164 4168 4172 4173 4174 4175 4178 4179 4181 4185 4246 4248 4250 4253 4256 4257 4260 4261 4266 4267 4268 4271 4277 4278 4280 4282 4286 4287 4288 4291 4292 4295 4296 4302 4303 4304 4305 4312 4313 4314 4315 4316 4317 4318 4319 4322 4323 4324 4325 4326 4333 4334 4335 4336 4337 4338 4339 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4362 4363 4373 4401 4402 4516 4517 4533 4534
Symbol 3 Sound {sfxBounce}
Symbol 4 Sound {sfxBell}
Symbol 5 GraphicUsed by:85
Symbol 6 BitmapUsed by:11
Symbol 7 BitmapUsed by:11
Symbol 8 BitmapUsed by:11
Symbol 9 BitmapUsed by:11
Symbol 10 BitmapUsed by:11
Symbol 11 GraphicUses:6 7 8 9 10Used by:71
Symbol 12 GraphicUsed by:13 4290
Symbol 13 MovieClip {HPMeter}Uses:12Used by:71
Symbol 14 GraphicUsed by:15 4289
Symbol 15 MovieClip {TeamMeter}Uses:14Used by:71
Symbol 16 BitmapUsed by:17
Symbol 17 GraphicUses:16Used by:20
Symbol 18 BitmapUsed by:19
Symbol 19 GraphicUses:18Used by:20
Symbol 20 Button {InterfaceButton}Uses:17 19Used by:71  Timeline
Symbol 21 EditableTextUses:1 2Used by:71
Symbol 22 EditableTextUses:1 2Used by:71
Symbol 23 EditableTextUses:1 2Used by:71
Symbol 24 EditableTextUses:1 2Used by:71
Symbol 25 BitmapUsed by:26
Symbol 26 GraphicUses:25Used by:33
Symbol 27 BitmapUsed by:28
Symbol 28 GraphicUses:27Used by:33
Symbol 29 BitmapUsed by:30
Symbol 30 GraphicUses:29Used by:33
Symbol 31 BitmapUsed by:32
Symbol 32 GraphicUses:31Used by:33
Symbol 33 MovieClip {Avatar}Uses:26 28 30 32Used by:71 3940 4320  Timeline
Symbol 34 BitmapUsed by:35
Symbol 35 GraphicUses:34Used by:54
Symbol 36 BitmapUsed by:37
Symbol 37 GraphicUses:36Used by:54
Symbol 38 BitmapUsed by:39
Symbol 39 GraphicUses:38Used by:54
Symbol 40 BitmapUsed by:41
Symbol 41 GraphicUses:40Used by:54
Symbol 42 BitmapUsed by:43
Symbol 43 GraphicUses:42Used by:54
Symbol 44 BitmapUsed by:45
Symbol 45 GraphicUses:44Used by:54
Symbol 46 BitmapUsed by:47
Symbol 47 GraphicUses:46Used by:54
Symbol 48 BitmapUsed by:49
Symbol 49 GraphicUses:48Used by:54
Symbol 50 BitmapUsed by:51
Symbol 51 GraphicUses:50Used by:54
Symbol 52 BitmapUsed by:53
Symbol 53 GraphicUses:52Used by:54
Symbol 54 MovieClip {ShipIcon}Uses:35 37 39 41 43 45 47 49 51 53Used by:71 4005 4073 4364
Symbol 55 EditableTextUses:1 2Used by:71
Symbol 56 EditableTextUses:1 2Used by:71
Symbol 57 BitmapUsed by:58
Symbol 58 GraphicUses:57Used by:71
Symbol 59 EditableTextUses:1 2Used by:71
Symbol 60 BitmapUsed by:61
Symbol 61 GraphicUses:60Used by:62 203
Symbol 62 MovieClip {ChestIcon}Uses:61Used by:71 4073 4364  Timeline
Symbol 63 EditableTextUses:1 2Used by:71
Symbol 64 EditableTextUses:1 2Used by:71
Symbol 65 EditableTextUses:1 2Used by:71
Symbol 66 EditableTextUses:1 2Used by:71
Symbol 67 EditableTextUses:1 2Used by:71
Symbol 68 EditableTextUses:1 2Used by:71
Symbol 69 EditableTextUses:1 2Used by:71
Symbol 70 EditableTextUses:1 2Used by:71
Symbol 71 MovieClip {Interface}Uses:11 13 15 20 21 22 23 24 33 54 55 56 58 59 62 63 64 65 66 67 68 69 70Used by:85 4377 4382  Timeline
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClipUses:72Used by:85 3940 4100 4104 4118 4157 4377 4382
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:77
Symbol 76 TextUses:2Used by:77
Symbol 77 MovieClip {PausedWidget}Uses:75 76Used by:85 4377 4382  Timeline
Symbol 78 FontUsed by:79 4376
Symbol 79 EditableTextUses:78Used by:85
Symbol 80 BitmapUsed by:81 4101 4383
Symbol 81 GraphicUses:80Used by:84
Symbol 82 EditableTextUses:2Used by:84
Symbol 83 TextUses:2Used by:84
Symbol 84 MovieClip {TriedToEscape}Uses:81 82 83Used by:85 4377
Symbol 85 MovieClip {LevelSurvival}Uses:5 71 73 77 79 84
Symbol 86 GraphicUsed by:87
Symbol 87 MovieClipUses:86Used by:90
Symbol 88 FontUsed by:89
Symbol 89 EditableTextUses:88Used by:90
Symbol 90 MovieClip {mcBannedSign}Uses:87 89
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClipUses:91Used by:93
Symbol 93 MovieClip {mcLogoHolder}Uses:92
Symbol 94 GraphicUsed by:95
Symbol 95 MovieClip {mcWaterRing}Uses:94
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClip {mcCrownMask}Uses:96
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClip {mcLogoMask}Uses:98
Symbol 100 GraphicUsed by:101
Symbol 101 MovieClipUses:100Used by:106 111 116
Symbol 102 BitmapUsed by:103
Symbol 103 GraphicUses:102Used by:106
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:106
Symbol 106 MovieClip {ferryBlue}Uses:101 103 105
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:107Used by:111
Symbol 109 BitmapUsed by:110
Symbol 110 GraphicUses:109Used by:111
Symbol 111 MovieClip {ferryGreen}Uses:101 108 110
Symbol 112 BitmapUsed by:113
Symbol 113 GraphicUses:112Used by:116
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:116
Symbol 116 MovieClip {ferryRed}Uses:101 113 115
Symbol 117 GraphicUsed by:118
Symbol 118 MovieClip {mcFerryLine}Uses:117
Symbol 119 BitmapUsed by:120
Symbol 120 GraphicUses:119Used by:121
Symbol 121 MovieClip {mcOtherGames}Uses:120
Symbol 122 BitmapUsed by:123
Symbol 123 GraphicUses:122Used by:124
Symbol 124 MovieClip {mcPlay}Uses:123
Symbol 125 MovieClip {com.midasplayer.extras.WaterLine}
Symbol 126 MovieClip {com.midasplayer.extras.Water1}Used by:127 128 129
Symbol 127 MovieClip {WaterHolderB}Uses:126
Symbol 128 MovieClip {WaterHolderG}Uses:126
Symbol 129 MovieClip {WaterHolderR}Uses:126
Symbol 130 EditableTextUses:2Used by:131
Symbol 131 MovieClip {GlobalData}Uses:130Used by:Timeline
Symbol 132 EditableTextUses:1 2Used by:133
Symbol 133 MovieClip {GaramondBoldEmbed}Uses:132Used by:Timeline
Symbol 134 EditableTextUses:1 2Used by:135
Symbol 135 MovieClip {GaramondEmbed}Uses:134Used by:Timeline
Symbol 136 MovieClip {fl.core.ComponentShim}Used by:3939 3974 3975
Symbol 137 GraphicUsed by:138
Symbol 138 MovieClipUses:137Used by:142
Symbol 139 BitmapUsed by:140
Symbol 140 GraphicUses:139Used by:141
Symbol 141 MovieClip {com.google.analytics.components.Icon}Uses:140Used by:142
Symbol 142 MovieClip {com.google.analytics.components.FlashTracker}Uses:138 141Used by:Timeline
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:203
Symbol 145 BitmapUsed by:146
Symbol 146 GraphicUses:145Used by:203
Symbol 147 BitmapUsed by:148
Symbol 148 GraphicUses:147Used by:203
Symbol 149 BitmapUsed by:150
Symbol 150 GraphicUses:149Used by:203
Symbol 151 BitmapUsed by:152
Symbol 152 GraphicUses:151Used by:203
Symbol 153 BitmapUsed by:154
Symbol 154 GraphicUses:153Used by:203
Symbol 155 BitmapUsed by:156
Symbol 156 GraphicUses:155Used by:203
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:203
Symbol 159 BitmapUsed by:160
Symbol 160 GraphicUses:159Used by:203
Symbol 161 BitmapUsed by:162
Symbol 162 GraphicUses:161Used by:203
Symbol 163 BitmapUsed by:164
Symbol 164 GraphicUses:163Used by:203
Symbol 165 BitmapUsed by:166
Symbol 166 GraphicUses:165Used by:203
Symbol 167 BitmapUsed by:168
Symbol 168 GraphicUses:167Used by:203
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:203
Symbol 171 BitmapUsed by:172
Symbol 172 GraphicUses:171Used by:203
Symbol 173 BitmapUsed by:174
Symbol 174 GraphicUses:173Used by:203
Symbol 175 BitmapUsed by:176
Symbol 176 GraphicUses:175Used by:203
Symbol 177 BitmapUsed by:178
Symbol 178 GraphicUses:177Used by:203
Symbol 179 BitmapUsed by:180
Symbol 180 GraphicUses:179Used by:203
Symbol 181 BitmapUsed by:182
Symbol 182 GraphicUses:181Used by:203
Symbol 183 BitmapUsed by:184
Symbol 184 GraphicUses:183Used by:203
Symbol 185 BitmapUsed by:186
Symbol 186 GraphicUses:185Used by:203
Symbol 187 BitmapUsed by:188
Symbol 188 GraphicUses:187Used by:203
Symbol 189 BitmapUsed by:190
Symbol 190 GraphicUses:189Used by:203
Symbol 191 BitmapUsed by:192
Symbol 192 GraphicUses:191Used by:203
Symbol 193 BitmapUsed by:194
Symbol 194 GraphicUses:193Used by:203
Symbol 195 BitmapUsed by:196
Symbol 196 GraphicUses:195Used by:203
Symbol 197 BitmapUsed by:198
Symbol 198 GraphicUses:197Used by:203
Symbol 199 BitmapUsed by:200
Symbol 200 GraphicUses:199Used by:203
Symbol 201 BitmapUsed by:202
Symbol 202 GraphicUses:201Used by:203
Symbol 203 MovieClip {Chest}Uses:61 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 184 186 188 190 192 194 196 198 200 202Used by:4180  Timeline
Symbol 204 BitmapUsed by:205
Symbol 205 GraphicUses:204Used by:206
Symbol 206 MovieClip {Cloud}Uses:205Used by:Timeline
Symbol 207 BitmapUsed by:208
Symbol 208 GraphicUses:207Used by:209
Symbol 209 MovieClip {Core}Uses:208Used by:Timeline
Symbol 210 BitmapUsed by:211
Symbol 211 GraphicUses:210Used by:212 3014
Symbol 212 MovieClipUses:211Used by:213  Timeline
Symbol 213 MovieClip {NearestEnemy}Uses:212Used by:4293  Timeline
Symbol 214 BitmapUsed by:215
Symbol 215 GraphicUses:214Used by:416
Symbol 216 BitmapUsed by:217
Symbol 217 GraphicUses:216Used by:416
Symbol 218 BitmapUsed by:219
Symbol 219 GraphicUses:218Used by:416
Symbol 220 BitmapUsed by:221
Symbol 221 GraphicUses:220Used by:416
Symbol 222 BitmapUsed by:223
Symbol 223 GraphicUses:222Used by:416
Symbol 224 BitmapUsed by:225
Symbol 225 GraphicUses:224Used by:416
Symbol 226 BitmapUsed by:227
Symbol 227 GraphicUses:226Used by:416
Symbol 228 BitmapUsed by:229
Symbol 229 GraphicUses:228Used by:416
Symbol 230 BitmapUsed by:231
Symbol 231 GraphicUses:230Used by:416
Symbol 232 BitmapUsed by:233
Symbol 233 GraphicUses:232Used by:416
Symbol 234 BitmapUsed by:235
Symbol 235 GraphicUses:234Used by:416
Symbol 236 BitmapUsed by:237
Symbol 237 GraphicUses:236Used by:416
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:416
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:416
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:416
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:416
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:416
Symbol 248 BitmapUsed by:249
Symbol 249 GraphicUses:248Used by:416
Symbol 250 BitmapUsed by:251
Symbol 251 GraphicUses:250Used by:416
Symbol 252 BitmapUsed by:253
Symbol 253 GraphicUses:252Used by:416
Symbol 254 BitmapUsed by:255
Symbol 255 GraphicUses:254Used by:416
Symbol 256 BitmapUsed by:257
Symbol 257 GraphicUses:256Used by:416
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:416
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:416
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:416
Symbol 264 BitmapUsed by:265
Symbol 265 GraphicUses:264Used by:416
Symbol 266 BitmapUsed by:267
Symbol 267 GraphicUses:266Used by:416
Symbol 268 BitmapUsed by:269
Symbol 269 GraphicUses:268Used by:416
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:416
Symbol 272 BitmapUsed by:273
Symbol 273 GraphicUses:272Used by:416
Symbol 274 BitmapUsed by:275
Symbol 275 GraphicUses:274Used by:416
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:416
Symbol 278 BitmapUsed by:279
Symbol 279 GraphicUses:278Used by:416
Symbol 280 BitmapUsed by:281
Symbol 281 GraphicUses:280Used by:416
Symbol 282 BitmapUsed by:283
Symbol 283 GraphicUses:282Used by:416
Symbol 284 BitmapUsed by:285
Symbol 285 GraphicUses:284Used by:416
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:286Used by:416
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288Used by:416
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:416
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:416
Symbol 294 BitmapUsed by:295
Symbol 295 GraphicUses:294Used by:416
Symbol 296 BitmapUsed by:297
Symbol 297 GraphicUses:296Used by:416
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:416
Symbol 300 BitmapUsed by:301
Symbol 301 GraphicUses:300Used by:416
Symbol 302 BitmapUsed by:303
Symbol 303 GraphicUses:302Used by:416
Symbol 304 BitmapUsed by:305
Symbol 305 GraphicUses:304Used by:416
Symbol 306 BitmapUsed by:307
Symbol 307 GraphicUses:306Used by:416
Symbol 308 BitmapUsed by:309
Symbol 309 GraphicUses:308Used by:416
Symbol 310 BitmapUsed by:311
Symbol 311 GraphicUses:310Used by:416
Symbol 312 BitmapUsed by:313
Symbol 313 GraphicUses:312Used by:416
Symbol 314 BitmapUsed by:315
Symbol 315 GraphicUses:314Used by:416
Symbol 316 BitmapUsed by:317
Symbol 317 GraphicUses:316Used by:416
Symbol 318 BitmapUsed by:319
Symbol 319 GraphicUses:318Used by:416
Symbol 320 BitmapUsed by:321
Symbol 321 GraphicUses:320Used by:416
Symbol 322 BitmapUsed by:323
Symbol 323 GraphicUses:322Used by:416
Symbol 324 BitmapUsed by:325
Symbol 325 GraphicUses:324Used by:416
Symbol 326 BitmapUsed by:327
Symbol 327 GraphicUses:326Used by:416
Symbol 328 BitmapUsed by:329
Symbol 329 GraphicUses:328Used by:416
Symbol 330 BitmapUsed by:331
Symbol 331 GraphicUses:330Used by:416
Symbol 332 BitmapUsed by:333
Symbol 333 GraphicUses:332Used by:416
Symbol 334 BitmapUsed by:335
Symbol 335 GraphicUses:334Used by:416
Symbol 336 BitmapUsed by:337
Symbol 337 GraphicUses:336Used by:416
Symbol 338 BitmapUsed by:339
Symbol 339 GraphicUses:338Used by:416
Symbol 340 BitmapUsed by:341
Symbol 341 GraphicUses:340Used by:416
Symbol 342 BitmapUsed by:343
Symbol 343 GraphicUses:342Used by:416
Symbol 344 BitmapUsed by:345
Symbol 345 GraphicUses:344Used by:416
Symbol 346 BitmapUsed by:347
Symbol 347 GraphicUses:346Used by:416
Symbol 348 BitmapUsed by:349
Symbol 349 GraphicUses:348Used by:416
Symbol 350 BitmapUsed by:351
Symbol 351 GraphicUses:350Used by:416
Symbol 352 BitmapUsed by:353
Symbol 353 GraphicUses:352Used by:416
Symbol 354 BitmapUsed by:355
Symbol 355 GraphicUses:354Used by:416
Symbol 356 BitmapUsed by:357
Symbol 357 GraphicUses:356Used by:416
Symbol 358 BitmapUsed by:359
Symbol 359 GraphicUses:358Used by:416
Symbol 360 BitmapUsed by:361
Symbol 361 GraphicUses:360Used by:416
Symbol 362 BitmapUsed by:363
Symbol 363 GraphicUses:362Used by:416
Symbol 364 BitmapUsed by:365
Symbol 365 GraphicUses:364Used by:416
Symbol 366 BitmapUsed by:367
Symbol 367 GraphicUses:366Used by:416
Symbol 368 BitmapUsed by:369
Symbol 369 GraphicUses:368Used by:416
Symbol 370 BitmapUsed by:371
Symbol 371 GraphicUses:370Used by:416
Symbol 372 BitmapUsed by:373
Symbol 373 GraphicUses:372Used by:416
Symbol 374 BitmapUsed by:375
Symbol 375 GraphicUses:374Used by:416
Symbol 376 BitmapUsed by:377
Symbol 377 GraphicUses:376Used by:416
Symbol 378 BitmapUsed by:379
Symbol 379 GraphicUses:378Used by:416
Symbol 380 BitmapUsed by:381
Symbol 381 GraphicUses:380Used by:416
Symbol 382 BitmapUsed by:383
Symbol 383 GraphicUses:382Used by:416
Symbol 384 BitmapUsed by:385
Symbol 385 GraphicUses:384Used by:416
Symbol 386 BitmapUsed by:387
Symbol 387 GraphicUses:386Used by:416
Symbol 388 BitmapUsed by:389
Symbol 389 GraphicUses:388Used by:416
Symbol 390 BitmapUsed by:391
Symbol 391 GraphicUses:390Used by:416
Symbol 392 BitmapUsed by:393
Symbol 393 GraphicUses:392Used by:416
Symbol 394 BitmapUsed by:395
Symbol 395 GraphicUses:394Used by:416
Symbol 396 BitmapUsed by:397
Symbol 397 GraphicUses:396Used by:416
Symbol 398 BitmapUsed by:399
Symbol 399 GraphicUses:398Used by:416
Symbol 400 BitmapUsed by:401
Symbol 401 GraphicUses:400Used by:416
Symbol 402 BitmapUsed by:403
Symbol 403 GraphicUses:402Used by:416
Symbol 404 BitmapUsed by:405
Symbol 405 GraphicUses:404Used by:416
Symbol 406 BitmapUsed by:407
Symbol 407 GraphicUses:406Used by:416
Symbol 408 BitmapUsed by:409
Symbol 409 GraphicUses:408Used by:416
Symbol 410 BitmapUsed by:411
Symbol 411 GraphicUses:410Used by:416
Symbol 412 BitmapUsed by:413
Symbol 413 GraphicUses:412Used by:416
Symbol 414 BitmapUsed by:415
Symbol 415 GraphicUses:414Used by:416
Symbol 416 MovieClip {Rock1}Uses:215 217 219 221 223 225 227 229 231 233 235 237 239 241 243 245 247 249 251 253 255 257 259 261 263 265 267 269 271 273 275 277 279 281 283 285 287 289 291 293 295 297 299 301 303 305 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349 351 353 355 357 359 361 363 365 367 369 371 373 375 377 379 381 383 385 387 389 391 393 395 397 399 401 403 405 407 409 411 413 415Used by:Timeline
Symbol 417 BitmapUsed by:418
Symbol 418 GraphicUses:417Used by:619
Symbol 419 BitmapUsed by:420
Symbol 420 GraphicUses:419Used by:619
Symbol 421 BitmapUsed by:422
Symbol 422 GraphicUses:421Used by:619
Symbol 423 BitmapUsed by:424
Symbol 424 GraphicUses:423Used by:619
Symbol 425 BitmapUsed by:426
Symbol 426 GraphicUses:425Used by:619
Symbol 427 BitmapUsed by:428
Symbol 428 GraphicUses:427Used by:619
Symbol 429 BitmapUsed by:430
Symbol 430 GraphicUses:429Used by:619
Symbol 431 BitmapUsed by:432
Symbol 432 GraphicUses:431Used by:619
Symbol 433 BitmapUsed by:434
Symbol 434 GraphicUses:433Used by:619
Symbol 435 BitmapUsed by:436
Symbol 436 GraphicUses:435Used by:619
Symbol 437 BitmapUsed by:438
Symbol 438 GraphicUses:437Used by:619
Symbol 439 BitmapUsed by:440
Symbol 440 GraphicUses:439Used by:619
Symbol 441 BitmapUsed by:442
Symbol 442 GraphicUses:441Used by:619
Symbol 443 BitmapUsed by:444
Symbol 444 GraphicUses:443Used by:619
Symbol 445 BitmapUsed by:446
Symbol 446 GraphicUses:445Used by:619
Symbol 447 BitmapUsed by:448
Symbol 448 GraphicUses:447Used by:619
Symbol 449 BitmapUsed by:450
Symbol 450 GraphicUses:449Used by:619
Symbol 451 BitmapUsed by:452
Symbol 452 GraphicUses:451Used by:619
Symbol 453 BitmapUsed by:454
Symbol 454 GraphicUses:453Used by:619
Symbol 455 BitmapUsed by:456
Symbol 456 GraphicUses:455Used by:619
Symbol 457 BitmapUsed by:458
Symbol 458 GraphicUses:457Used by:619
Symbol 459 BitmapUsed by:460
Symbol 460 GraphicUses:459Used by:619
Symbol 461 BitmapUsed by:462
Symbol 462 GraphicUses:461Used by:619
Symbol 463 BitmapUsed by:464
Symbol 464 GraphicUses:463Used by:619
Symbol 465 BitmapUsed by:466
Symbol 466 GraphicUses:465Used by:619
Symbol 467 BitmapUsed by:468
Symbol 468 GraphicUses:467Used by:619
Symbol 469 BitmapUsed by:470
Symbol 470 GraphicUses:469Used by:619
Symbol 471 BitmapUsed by:472
Symbol 472 GraphicUses:471Used by:619
Symbol 473 BitmapUsed by:474
Symbol 474 GraphicUses:473Used by:619
Symbol 475 BitmapUsed by:476
Symbol 476 GraphicUses:475Used by:619
Symbol 477 BitmapUsed by:478
Symbol 478 GraphicUses:477Used by:619
Symbol 479 BitmapUsed by:480
Symbol 480 GraphicUses:479Used by:619
Symbol 481 BitmapUsed by:482
Symbol 482 GraphicUses:481Used by:619
Symbol 483 BitmapUsed by:484
Symbol 484 GraphicUses:483Used by:619
Symbol 485 BitmapUsed by:486
Symbol 486 GraphicUses:485Used by:619
Symbol 487 BitmapUsed by:488
Symbol 488 GraphicUses:487Used by:619
Symbol 489 BitmapUsed by:490
Symbol 490 GraphicUses:489Used by:619
Symbol 491 BitmapUsed by:492
Symbol 492 GraphicUses:491Used by:619
Symbol 493 BitmapUsed by:494
Symbol 494 GraphicUses:493Used by:619
Symbol 495 BitmapUsed by:496
Symbol 496 GraphicUses:495Used by:619
Symbol 497 BitmapUsed by:498
Symbol 498 GraphicUses:497Used by:619
Symbol 499 BitmapUsed by:500
Symbol 500 GraphicUses:499Used by:619
Symbol 501 BitmapUsed by:502
Symbol 502 GraphicUses:501Used by:619
Symbol 503 BitmapUsed by:504
Symbol 504 GraphicUses:503Used by:619
Symbol 505 BitmapUsed by:506
Symbol 506 GraphicUses:505Used by:619
Symbol 507 BitmapUsed by:508
Symbol 508 GraphicUses:507Used by:619
Symbol 509 BitmapUsed by:510
Symbol 510 GraphicUses:509Used by:619
Symbol 511 BitmapUsed by:512
Symbol 512 GraphicUses:511Used by:619
Symbol 513 BitmapUsed by:514
Symbol 514 GraphicUses:513Used by:619
Symbol 515 BitmapUsed by:516
Symbol 516 GraphicUses:515Used by:619
Symbol 517 BitmapUsed by:518
Symbol 518 GraphicUses:517Used by:619
Symbol 519 BitmapUsed by:520
Symbol 520 GraphicUses:519Used by:619
Symbol 521 BitmapUsed by:522
Symbol 522 GraphicUses:521Used by:619
Symbol 523 BitmapUsed by:524
Symbol 524 GraphicUses:523Used by:619
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:619
Symbol 527 BitmapUsed by:528
Symbol 528 GraphicUses:527Used by:619
Symbol 529 BitmapUsed by:530
Symbol 530 GraphicUses:529Used by:619
Symbol 531 BitmapUsed by:532
Symbol 532 GraphicUses:531Used by:619
Symbol 533 BitmapUsed by:534
Symbol 534 GraphicUses:533Used by:619
Symbol 535 BitmapUsed by:536
Symbol 536 GraphicUses:535Used by:619
Symbol 537 BitmapUsed by:538
Symbol 538 GraphicUses:537Used by:619
Symbol 539 BitmapUsed by:540
Symbol 540 GraphicUses:539Used by:619
Symbol 541 BitmapUsed by:542
Symbol 542 GraphicUses:541Used by:619
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:619
Symbol 545 BitmapUsed by:546
Symbol 546 GraphicUses:545Used by:619
Symbol 547 BitmapUsed by:548
Symbol 548 GraphicUses:547Used by:619
Symbol 549 BitmapUsed by:550
Symbol 550 GraphicUses:549Used by:619
Symbol 551 BitmapUsed by:552
Symbol 552 GraphicUses:551Used by:619
Symbol 553 BitmapUsed by:554
Symbol 554 GraphicUses:553Used by:619
Symbol 555 BitmapUsed by:556
Symbol 556 GraphicUses:555Used by:619
Symbol 557 BitmapUsed by:558
Symbol 558 GraphicUses:557Used by:619
Symbol 559 BitmapUsed by:560
Symbol 560 GraphicUses:559Used by:619
Symbol 561 BitmapUsed by:562
Symbol 562 GraphicUses:561Used by:619
Symbol 563 BitmapUsed by:564
Symbol 564 GraphicUses:563Used by:619
Symbol 565 BitmapUsed by:566
Symbol 566 GraphicUses:565Used by:619
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:619
Symbol 569 BitmapUsed by:570
Symbol 570 GraphicUses:569Used by:619
Symbol 571 BitmapUsed by:572
Symbol 572 GraphicUses:571Used by:619
Symbol 573 BitmapUsed by:574
Symbol 574 GraphicUses:573Used by:619
Symbol 575 BitmapUsed by:576
Symbol 576 GraphicUses:575Used by:619
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:619
Symbol 579 BitmapUsed by:580
Symbol 580 GraphicUses:579Used by:619
Symbol 581 BitmapUsed by:582
Symbol 582 GraphicUses:581Used by:619
Symbol 583 BitmapUsed by:584
Symbol 584 GraphicUses:583Used by:619
Symbol 585 BitmapUsed by:586
Symbol 586 GraphicUses:585Used by:619
Symbol 587 BitmapUsed by:588
Symbol 588 GraphicUses:587Used by:619
Symbol 589 BitmapUsed by:590
Symbol 590 GraphicUses:589Used by:619
Symbol 591 BitmapUsed by:592
Symbol 592 GraphicUses:591Used by:619
Symbol 593 BitmapUsed by:594
Symbol 594 GraphicUses:593Used by:619
Symbol 595 BitmapUsed by:596
Symbol 596 GraphicUses:595Used by:619
Symbol 597 BitmapUsed by:598
Symbol 598 GraphicUses:597Used by:619
Symbol 599 BitmapUsed by:600
Symbol 600 GraphicUses:599Used by:619
Symbol 601 BitmapUsed by:602
Symbol 602 GraphicUses:601Used by:619
Symbol 603 BitmapUsed by:604
Symbol 604 GraphicUses:603Used by:619
Symbol 605 BitmapUsed by:606
Symbol 606 GraphicUses:605Used by:619
Symbol 607 BitmapUsed by:608
Symbol 608 GraphicUses:607Used by:619
Symbol 609 BitmapUsed by:610
Symbol 610 GraphicUses:609Used by:619
Symbol 611 BitmapUsed by:612
Symbol 612 GraphicUses:611Used by:619
Symbol 613 BitmapUsed by:614
Symbol 614 GraphicUses:613Used by:619
Symbol 615 BitmapUsed by:616
Symbol 616 GraphicUses:615Used by:619
Symbol 617 BitmapUsed by:618
Symbol 618 GraphicUses:617Used by:619
Symbol 619 MovieClip {Rock2}Uses:418 420 422 424 426 428 430 432 434 436 438 440 442 444 446 448 450 452 454 456 458 460 462 464 466 468 470 472 474 476 478 480 482 484 486 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 532 534 536 538 540 542 544 546 548 550 552 554 556 558 560 562 564 566 568 570 572 574 576 578 580 582 584 586 588 590 592 594 596 598 600 602 604 606 608 610 612 614 616 618Used by:Timeline
Symbol 620 BitmapUsed by:621
Symbol 621 GraphicUses:620Used by:2924
Symbol 622 BitmapUsed by:623
Symbol 623 GraphicUses:622Used by:2924
Symbol 624 BitmapUsed by:625
Symbol 625 GraphicUses:624Used by:2924
Symbol 626 BitmapUsed by:627
Symbol 627 GraphicUses:626Used by:2924
Symbol 628 BitmapUsed by:629
Symbol 629 GraphicUses:628Used by:2924
Symbol 630 BitmapUsed by:631
Symbol 631 GraphicUses:630Used by:2924
Symbol 632 BitmapUsed by:633
Symbol 633 GraphicUses:632Used by:2924
Symbol 634 BitmapUsed by:635
Symbol 635 GraphicUses:634Used by:2924
Symbol 636 BitmapUsed by:637
Symbol 637 GraphicUses:636Used by:2924
Symbol 638 BitmapUsed by:639
Symbol 639 GraphicUses:638Used by:2924
Symbol 640 BitmapUsed by:641
Symbol 641 GraphicUses:640Used by:2924
Symbol 642 BitmapUsed by:643
Symbol 643 GraphicUses:642Used by:2924
Symbol 644 BitmapUsed by:645
Symbol 645 GraphicUses:644Used by:2924
Symbol 646 BitmapUsed by:647
Symbol 647 GraphicUses:646Used by:2924
Symbol 648 BitmapUsed by:649
Symbol 649 GraphicUses:648Used by:2924
Symbol 650 BitmapUsed by:651
Symbol 651 GraphicUses:650Used by:2924
Symbol 652 BitmapUsed by:653
Symbol 653 GraphicUses:652Used by:2924
Symbol 654 BitmapUsed by:655
Symbol 655 GraphicUses:654Used by:2924
Symbol 656 BitmapUsed by:657
Symbol 657 GraphicUses:656Used by:2924
Symbol 658 BitmapUsed by:659
Symbol 659 GraphicUses:658Used by:2924
Symbol 660 BitmapUsed by:661
Symbol 661 GraphicUses:660Used by:2924
Symbol 662 BitmapUsed by:663
Symbol 663 GraphicUses:662Used by:2924
Symbol 664 BitmapUsed by:665
Symbol 665 GraphicUses:664Used by:2924
Symbol 666 BitmapUsed by:667
Symbol 667 GraphicUses:666Used by:2924
Symbol 668 BitmapUsed by:669
Symbol 669 GraphicUses:668Used by:2924
Symbol 670 BitmapUsed by:671
Symbol 671 GraphicUses:670Used by:2924
Symbol 672 BitmapUsed by:673
Symbol 673 GraphicUses:672Used by:2924
Symbol 674 BitmapUsed by:675
Symbol 675 GraphicUses:674Used by:2924
Symbol 676 BitmapUsed by:677
Symbol 677 GraphicUses:676Used by:2924
Symbol 678 BitmapUsed by:679
Symbol 679 GraphicUses:678Used by:2924
Symbol 680 BitmapUsed by:681
Symbol 681 GraphicUses:680Used by:2924
Symbol 682 BitmapUsed by:683
Symbol 683 GraphicUses:682Used by:2924
Symbol 684 BitmapUsed by:685
Symbol 685 GraphicUses:684Used by:2924
Symbol 686 BitmapUsed by:687
Symbol 687 GraphicUses:686Used by:2924
Symbol 688 BitmapUsed by:689
Symbol 689 GraphicUses:688Used by:2924
Symbol 690 BitmapUsed by:691
Symbol 691 GraphicUses:690Used by:2924
Symbol 692 BitmapUsed by:693
Symbol 693 GraphicUses:692Used by:2924
Symbol 694 BitmapUsed by:695
Symbol 695 GraphicUses:694Used by:2924
Symbol 696 BitmapUsed by:697
Symbol 697 GraphicUses:696Used by:2924
Symbol 698 BitmapUsed by:699
Symbol 699 GraphicUses:698Used by:2924
Symbol 700 BitmapUsed by:701
Symbol 701 GraphicUses:700Used by:2924
Symbol 702 BitmapUsed by:703
Symbol 703 GraphicUses:702Used by:2924
Symbol 704 BitmapUsed by:705
Symbol 705 GraphicUses:704Used by:2924
Symbol 706 BitmapUsed by:707
Symbol 707 GraphicUses:706Used by:2924
Symbol 708 BitmapUsed by:709
Symbol 709 GraphicUses:708Used by:2924
Symbol 710 BitmapUsed by:711
Symbol 711 GraphicUses:710Used by:2924
Symbol 712 BitmapUsed by:713
Symbol 713 GraphicUses:712Used by:2924
Symbol 714 BitmapUsed by:715
Symbol 715 GraphicUses:714Used by:2924
Symbol 716 BitmapUsed by:717
Symbol 717 GraphicUses:716Used by:2924
Symbol 718 BitmapUsed by:719
Symbol 719 GraphicUses:718Used by:2924
Symbol 720 BitmapUsed by:721
Symbol 721 GraphicUses:720Used by:2924
Symbol 722 BitmapUsed by:723
Symbol 723 GraphicUses:722Used by:2924
Symbol 724 BitmapUsed by:725
Symbol 725 GraphicUses:724Used by:2924
Symbol 726 BitmapUsed by:727
Symbol 727 GraphicUses:726Used by:2924
Symbol 728 BitmapUsed by:729
Symbol 729 GraphicUses:728Used by:2924
Symbol 730 BitmapUsed by:731
Symbol 731 GraphicUses:730Used by:2924
Symbol 732 BitmapUsed by:733
Symbol 733 GraphicUses:732Used by:2924
Symbol 734 BitmapUsed by:735
Symbol 735 GraphicUses:734Used by:2924
Symbol 736 BitmapUsed by:737
Symbol 737 GraphicUses:736Used by:2924
Symbol 738 BitmapUsed by:739
Symbol 739 GraphicUses:738Used by:2924
Symbol 740 BitmapUsed by:741
Symbol 741 GraphicUses:740Used by:2924
Symbol 742 BitmapUsed by:743
Symbol 743 GraphicUses:742Used by:2924
Symbol 744 BitmapUsed by:745
Symbol 745 GraphicUses:744Used by:2924
Symbol 746 BitmapUsed by:747
Symbol 747 GraphicUses:746Used by:2924
Symbol 748 BitmapUsed by:749
Symbol 749 GraphicUses:748Used by:2924
Symbol 750 BitmapUsed by:751
Symbol 751 GraphicUses:750Used by:2924
Symbol 752 BitmapUsed by:753
Symbol 753 GraphicUses:752Used by:2924
Symbol 754 BitmapUsed by:755
Symbol 755 GraphicUses:754Used by:2924
Symbol 756 BitmapUsed by:757
Symbol 757 GraphicUses:756Used by:2924
Symbol 758 BitmapUsed by:759
Symbol 759 GraphicUses:758Used by:2924
Symbol 760 BitmapUsed by:761
Symbol 761 GraphicUses:760Used by:2924
Symbol 762 BitmapUsed by:763
Symbol 763 GraphicUses:762Used by:2924
Symbol 764 BitmapUsed by:765
Symbol 765 GraphicUses:764Used by:2924
Symbol 766 BitmapUsed by:767
Symbol 767 GraphicUses:766Used by:2924
Symbol 768 BitmapUsed by:769
Symbol 769 GraphicUses:768Used by:2924
Symbol 770 BitmapUsed by:771
Symbol 771 GraphicUses:770Used by:2924
Symbol 772 BitmapUsed by:773
Symbol 773 GraphicUses:772Used by:2924
Symbol 774 BitmapUsed by:775
Symbol 775 GraphicUses:774Used by:2924
Symbol 776 BitmapUsed by:777
Symbol 777 GraphicUses:776Used by:2924
Symbol 778 BitmapUsed by:779
Symbol 779 GraphicUses:778Used by:2924
Symbol 780 BitmapUsed by:781
Symbol 781 GraphicUses:780Used by:2924
Symbol 782 BitmapUsed by:783
Symbol 783 GraphicUses:782Used by:2924
Symbol 784 BitmapUsed by:785
Symbol 785 GraphicUses:784Used by:2924
Symbol 786 BitmapUsed by:787
Symbol 787 GraphicUses:786Used by:2924
Symbol 788 BitmapUsed by:789
Symbol 789 GraphicUses:788Used by:2924
Symbol 790 BitmapUsed by:791
Symbol 791 GraphicUses:790Used by:2924
Symbol 792 BitmapUsed by:793
Symbol 793 GraphicUses:792Used by:2924
Symbol 794 BitmapUsed by:795
Symbol 795 GraphicUses:794Used by:2924
Symbol 796 BitmapUsed by:797
Symbol 797 GraphicUses:796Used by:2924
Symbol 798 BitmapUsed by:799
Symbol 799 GraphicUses:798Used by:2924
Symbol 800 BitmapUsed by:801
Symbol 801 GraphicUses:800Used by:2924
Symbol 802 BitmapUsed by:803
Symbol 803 GraphicUses:802Used by:2924
Symbol 804 BitmapUsed by:805
Symbol 805 GraphicUses:804Used by:2924
Symbol 806 BitmapUsed by:807
Symbol 807 GraphicUses:806Used by:2924
Symbol 808 BitmapUsed by:809
Symbol 809 GraphicUses:808Used by:2924
Symbol 810 BitmapUsed by:811
Symbol 811 GraphicUses:810Used by:2924
Symbol 812 BitmapUsed by:813
Symbol 813 GraphicUses:812Used by:2924
Symbol 814 BitmapUsed by:815
Symbol 815 GraphicUses:814Used by:2924
Symbol 816 BitmapUsed by:817
Symbol 817 GraphicUses:816Used by:2924
Symbol 818 BitmapUsed by:819
Symbol 819 GraphicUses:818Used by:2924
Symbol 820 BitmapUsed by:821
Symbol 821 GraphicUses:820Used by:2924
Symbol 822 BitmapUsed by:823
Symbol 823 GraphicUses:822Used by:2924
Symbol 824 BitmapUsed by:825
Symbol 825 GraphicUses:824Used by:2924
Symbol 826 BitmapUsed by:827
Symbol 827 GraphicUses:826Used by:2924
Symbol 828 BitmapUsed by:829
Symbol 829 GraphicUses:828Used by:2924
Symbol 830 BitmapUsed by:831
Symbol 831 GraphicUses:830Used by:2924
Symbol 832 BitmapUsed by:833
Symbol 833 GraphicUses:832Used by:2924
Symbol 834 BitmapUsed by:835
Symbol 835 GraphicUses:834Used by:2924
Symbol 836 BitmapUsed by:837
Symbol 837 GraphicUses:836Used by:2924
Symbol 838 BitmapUsed by:839
Symbol 839 GraphicUses:838Used by:2924
Symbol 840 BitmapUsed by:841
Symbol 841 GraphicUses:840Used by:2924
Symbol 842 BitmapUsed by:843
Symbol 843 GraphicUses:842Used by:2924
Symbol 844 BitmapUsed by:845
Symbol 845 GraphicUses:844Used by:2924
Symbol 846 BitmapUsed by:847
Symbol 847 GraphicUses:846Used by:2924
Symbol 848 BitmapUsed by:849
Symbol 849 GraphicUses:848Used by:2924
Symbol 850 BitmapUsed by:851
Symbol 851 GraphicUses:850Used by:2924
Symbol 852 BitmapUsed by:853
Symbol 853 GraphicUses:852Used by:2924
Symbol 854 BitmapUsed by:855
Symbol 855 GraphicUses:854Used by:2924
Symbol 856 BitmapUsed by:857
Symbol 857 GraphicUses:856Used by:2924
Symbol 858 BitmapUsed by:859
Symbol 859 GraphicUses:858Used by:2924
Symbol 860 BitmapUsed by:861
Symbol 861 GraphicUses:860Used by:2924
Symbol 862 BitmapUsed by:863
Symbol 863 GraphicUses:862Used by:2924
Symbol 864 BitmapUsed by:865
Symbol 865 GraphicUses:864Used by:2924
Symbol 866 BitmapUsed by:867
Symbol 867 GraphicUses:866Used by:2924
Symbol 868 BitmapUsed by:869
Symbol 869 GraphicUses:868Used by:2924
Symbol 870 BitmapUsed by:871
Symbol 871 GraphicUses:870Used by:2924
Symbol 872 BitmapUsed by:873
Symbol 873 GraphicUses:872Used by:2924
Symbol 874 BitmapUsed by:875
Symbol 875 GraphicUses:874Used by:2924
Symbol 876 BitmapUsed by:877
Symbol 877 GraphicUses:876Used by:2924
Symbol 878 BitmapUsed by:879
Symbol 879 GraphicUses:878Used by:2924
Symbol 880 BitmapUsed by:881
Symbol 881 GraphicUses:880Used by:2924
Symbol 882 BitmapUsed by:883
Symbol 883 GraphicUses:882Used by:2924
Symbol 884 BitmapUsed by:885
Symbol 885 GraphicUses:884Used by:2924
Symbol 886 BitmapUsed by:887
Symbol 887 GraphicUses:886Used by:2924
Symbol 888 BitmapUsed by:889
Symbol 889 GraphicUses:888Used by:2924
Symbol 890 BitmapUsed by:891
Symbol 891 GraphicUses:890Used by:2924
Symbol 892 BitmapUsed by:893
Symbol 893 GraphicUses:892Used by:2924
Symbol 894 BitmapUsed by:895
Symbol 895 GraphicUses:894Used by:2924
Symbol 896 BitmapUsed by:897
Symbol 897 GraphicUses:896Used by:2924
Symbol 898 BitmapUsed by:899
Symbol 899 GraphicUses:898Used by:2924
Symbol 900 BitmapUsed by:901
Symbol 901 GraphicUses:900Used by:2924
Symbol 902 BitmapUsed by:903
Symbol 903 GraphicUses:902Used by:2924
Symbol 904 BitmapUsed by:905
Symbol 905 GraphicUses:904Used by:2924
Symbol 906 BitmapUsed by:907
Symbol 907 GraphicUses:906Used by:2924
Symbol 908 BitmapUsed by:909
Symbol 909 GraphicUses:908Used by:2924
Symbol 910 BitmapUsed by:911
Symbol 911 GraphicUses:910Used by:2924
Symbol 912 BitmapUsed by:913
Symbol 913 GraphicUses:912Used by:2924
Symbol 914 BitmapUsed by:915
Symbol 915 GraphicUses:914Used by:2924
Symbol 916 BitmapUsed by:917
Symbol 917 GraphicUses:916Used by:2924
Symbol 918 BitmapUsed by:919
Symbol 919 GraphicUses:918Used by:2924
Symbol 920 BitmapUsed by:921
Symbol 921 GraphicUses:920Used by:2924
Symbol 922 BitmapUsed by:923
Symbol 923 GraphicUses:922Used by:2924
Symbol 924 BitmapUsed by:925
Symbol 925 GraphicUses:924Used by:2924
Symbol 926 BitmapUsed by:927
Symbol 927 GraphicUses:926Used by:2924
Symbol 928 BitmapUsed by:929
Symbol 929 GraphicUses:928Used by:2924
Symbol 930 BitmapUsed by:931
Symbol 931 GraphicUses:930Used by:2924
Symbol 932 BitmapUsed by:933
Symbol 933 GraphicUses:932Used by:2924
Symbol 934 BitmapUsed by:935
Symbol 935 GraphicUses:934Used by:2924
Symbol 936 BitmapUsed by:937
Symbol 937 GraphicUses:936Used by:2924
Symbol 938 BitmapUsed by:939
Symbol 939 GraphicUses:938Used by:2924
Symbol 940 BitmapUsed by:941
Symbol 941 GraphicUses:940Used by:2924
Symbol 942 BitmapUsed by:943
Symbol 943 GraphicUses:942Used by:2924
Symbol 944 BitmapUsed by:945
Symbol 945 GraphicUses:944Used by:2924
Symbol 946 BitmapUsed by:947
Symbol 947 GraphicUses:946Used by:2924
Symbol 948 BitmapUsed by:949
Symbol 949 GraphicUses:948Used by:2924
Symbol 950 BitmapUsed by:951
Symbol 951 GraphicUses:950Used by:2924
Symbol 952 BitmapUsed by:953
Symbol 953 GraphicUses:952Used by:2924
Symbol 954 BitmapUsed by:955
Symbol 955 GraphicUses:954Used by:2924
Symbol 956 BitmapUsed by:957
Symbol 957 GraphicUses:956Used by:2924
Symbol 958 BitmapUsed by:959
Symbol 959 GraphicUses:958Used by:2924
Symbol 960 BitmapUsed by:961
Symbol 961 GraphicUses:960Used by:2924
Symbol 962 BitmapUsed by:963
Symbol 963 GraphicUses:962Used by:2924
Symbol 964 BitmapUsed by:965
Symbol 965 GraphicUses:964Used by:2924
Symbol 966 BitmapUsed by:967
Symbol 967 GraphicUses:966Used by:2924
Symbol 968 BitmapUsed by:969
Symbol 969 GraphicUses:968Used by:2924
Symbol 970 BitmapUsed by:971
Symbol 971 GraphicUses:970Used by:2924
Symbol 972 BitmapUsed by:973
Symbol 973 GraphicUses:972Used by:2924
Symbol 974 BitmapUsed by:975
Symbol 975 GraphicUses:974Used by:2924
Symbol 976 BitmapUsed by:977
Symbol 977 GraphicUses:976Used by:2924
Symbol 978 BitmapUsed by:979
Symbol 979 GraphicUses:978Used by:2924
Symbol 980 BitmapUsed by:981
Symbol 981 GraphicUses:980Used by:2924
Symbol 982 BitmapUsed by:983
Symbol 983 GraphicUses:982Used by:2924
Symbol 984 BitmapUsed by:985
Symbol 985 GraphicUses:984Used by:2924
Symbol 986 BitmapUsed by:987
Symbol 987 GraphicUses:986Used by:2924
Symbol 988 BitmapUsed by:989
Symbol 989 GraphicUses:988Used by:2924
Symbol 990 BitmapUsed by:991
Symbol 991 GraphicUses:990Used by:2924
Symbol 992 BitmapUsed by:993
Symbol 993 GraphicUses:992Used by:2924
Symbol 994 BitmapUsed by:995
Symbol 995 GraphicUses:994Used by:2924
Symbol 996 BitmapUsed by:997
Symbol 997 GraphicUses:996Used by:2924
Symbol 998 BitmapUsed by:999
Symbol 999 GraphicUses:998Used by:2924
Symbol 1000 BitmapUsed by:1001
Symbol 1001 GraphicUses:1000Used by:2924
Symbol 1002 BitmapUsed by:1003
Symbol 1003 GraphicUses:1002Used by:2924
Symbol 1004 BitmapUsed by:1005
Symbol 1005 GraphicUses:1004Used by:2924
Symbol 1006 BitmapUsed by:1007
Symbol 1007 GraphicUses:1006Used by:2924
Symbol 1008 BitmapUsed by:1009
Symbol 1009 GraphicUses:1008Used by:2924
Symbol 1010 BitmapUsed by:1011
Symbol 1011 GraphicUses:1010Used by:2924
Symbol 1012 BitmapUsed by:1013
Symbol 1013 GraphicUses:1012Used by:2924
Symbol 1014 BitmapUsed by:1015
Symbol 1015 GraphicUses:1014Used by:2924
Symbol 1016 BitmapUsed by:1017
Symbol 1017 GraphicUses:1016Used by:2924
Symbol 1018 BitmapUsed by:1019
Symbol 1019 GraphicUses:1018Used by:2924
Symbol 1020 BitmapUsed by:1021
Symbol 1021 GraphicUses:1020Used by:2924
Symbol 1022 BitmapUsed by:1023
Symbol 1023 GraphicUses:1022Used by:2924
Symbol 1024 BitmapUsed by:1025
Symbol 1025 GraphicUses:1024Used by:2924
Symbol 1026 BitmapUsed by:1027
Symbol 1027 GraphicUses:1026Used by:2924
Symbol 1028 BitmapUsed by:1029
Symbol 1029 GraphicUses:1028Used by:2924
Symbol 1030 BitmapUsed by:1031
Symbol 1031 GraphicUses:1030Used by:2924
Symbol 1032 BitmapUsed by:1033
Symbol 1033 GraphicUses:1032Used by:2924
Symbol 1034 BitmapUsed by:1035
Symbol 1035 GraphicUses:1034Used by:2924
Symbol 1036 BitmapUsed by:1037
Symbol 1037 GraphicUses:1036Used by:2924
Symbol 1038 BitmapUsed by:1039
Symbol 1039 GraphicUses:1038Used by:2924
Symbol 1040 BitmapUsed by:1041
Symbol 1041 GraphicUses:1040Used by:2924
Symbol 1042 BitmapUsed by:1043
Symbol 1043 GraphicUses:1042Used by:2924
Symbol 1044 BitmapUsed by:1045
Symbol 1045 GraphicUses:1044Used by:2924
Symbol 1046 BitmapUsed by:1047
Symbol 1047 GraphicUses:1046Used by:2924
Symbol 1048 BitmapUsed by:1049
Symbol 1049 GraphicUses:1048Used by:2924
Symbol 1050 BitmapUsed by:1051
Symbol 1051 GraphicUses:1050Used by:2924
Symbol 1052 BitmapUsed by:1053
Symbol 1053 GraphicUses:1052Used by:2924
Symbol 1054 BitmapUsed by:1055
Symbol 1055 GraphicUses:1054Used by:2924
Symbol 1056 BitmapUsed by:1057
Symbol 1057 GraphicUses:1056Used by:2924
Symbol 1058 BitmapUsed by:1059
Symbol 1059 GraphicUses:1058Used by:2924
Symbol 1060 BitmapUsed by:1061
Symbol 1061 GraphicUses:1060Used by:2924
Symbol 1062 BitmapUsed by:1063
Symbol 1063 GraphicUses:1062Used by:2924
Symbol 1064 BitmapUsed by:1065
Symbol 1065 GraphicUses:1064Used by:2924
Symbol 1066 BitmapUsed by:1067
Symbol 1067 GraphicUses:1066Used by:2924
Symbol 1068 BitmapUsed by:1069
Symbol 1069 GraphicUses:1068Used by:2924
Symbol 1070 BitmapUsed by:1071
Symbol 1071 GraphicUses:1070Used by:2924
Symbol 1072 BitmapUsed by:1073
Symbol 1073 GraphicUses:1072Used by:2924
Symbol 1074 BitmapUsed by:1075
Symbol 1075 GraphicUses:1074Used by:2924
Symbol 1076 BitmapUsed by:1077
Symbol 1077 GraphicUses:1076Used by:2924
Symbol 1078 BitmapUsed by:1079
Symbol 1079 GraphicUses:1078Used by:2924
Symbol 1080 BitmapUsed by:1081
Symbol 1081 GraphicUses:1080Used by:2924
Symbol 1082 BitmapUsed by:1083
Symbol 1083 GraphicUses:1082Used by:2924
Symbol 1084 BitmapUsed by:1085
Symbol 1085 GraphicUses:1084Used by:2924
Symbol 1086 BitmapUsed by:1087
Symbol 1087 GraphicUses:1086Used by:2924
Symbol 1088 BitmapUsed by:1089
Symbol 1089 GraphicUses:1088Used by:2924
Symbol 1090 BitmapUsed by:1091
Symbol 1091 GraphicUses:1090Used by:2924
Symbol 1092 BitmapUsed by:1093
Symbol 1093 GraphicUses:1092Used by:2924
Symbol 1094 BitmapUsed by:1095
Symbol 1095 GraphicUses:1094Used by:2924
Symbol 1096 BitmapUsed by:1097
Symbol 1097 GraphicUses:1096Used by:2924
Symbol 1098 BitmapUsed by:1099
Symbol 1099 GraphicUses:1098Used by:2924
Symbol 1100 BitmapUsed by:1101
Symbol 1101 GraphicUses:1100Used by:2924
Symbol 1102 BitmapUsed by:1103
Symbol 1103 GraphicUses:1102Used by:2924
Symbol 1104 BitmapUsed by:1105
Symbol 1105 GraphicUses:1104Used by:2924
Symbol 1106 BitmapUsed by:1107
Symbol 1107 GraphicUses:1106Used by:2924
Symbol 1108 BitmapUsed by:1109
Symbol 1109 GraphicUses:1108Used by:2924
Symbol 1110 BitmapUsed by:1111
Symbol 1111 GraphicUses:1110Used by:2924
Symbol 1112 BitmapUsed by:1113
Symbol 1113 GraphicUses:1112Used by:2924
Symbol 1114 BitmapUsed by:1115
Symbol 1115 GraphicUses:1114Used by:2924
Symbol 1116 BitmapUsed by:1117
Symbol 1117 GraphicUses:1116Used by:2924
Symbol 1118 BitmapUsed by:1119
Symbol 1119 GraphicUses:1118Used by:2924
Symbol 1120 BitmapUsed by:1121
Symbol 1121 GraphicUses:1120Used by:2924
Symbol 1122 BitmapUsed by:1123
Symbol 1123 GraphicUses:1122Used by:2924
Symbol 1124 BitmapUsed by:1125
Symbol 1125 GraphicUses:1124Used by:2924
Symbol 1126 BitmapUsed by:1127
Symbol 1127 GraphicUses:1126Used by:2924
Symbol 1128 BitmapUsed by:1129
Symbol 1129 GraphicUses:1128Used by:2924
Symbol 1130 BitmapUsed by:1131
Symbol 1131 GraphicUses:1130Used by:2924
Symbol 1132 BitmapUsed by:1133
Symbol 1133 GraphicUses:1132Used by:2924
Symbol 1134 BitmapUsed by:1135
Symbol 1135 GraphicUses:1134Used by:2924
Symbol 1136 BitmapUsed by:1137
Symbol 1137 GraphicUses:1136Used by:2924
Symbol 1138 BitmapUsed by:1139
Symbol 1139 GraphicUses:1138Used by:2924
Symbol 1140 BitmapUsed by:1141
Symbol 1141 GraphicUses:1140Used by:2924
Symbol 1142 BitmapUsed by:1143
Symbol 1143 GraphicUses:1142Used by:2924
Symbol 1144 BitmapUsed by:1145
Symbol 1145 GraphicUses:1144Used by:2924
Symbol 1146 BitmapUsed by:1147
Symbol 1147 GraphicUses:1146Used by:2924
Symbol 1148 BitmapUsed by:1149
Symbol 1149 GraphicUses:1148Used by:2924
Symbol 1150 BitmapUsed by:1151
Symbol 1151 GraphicUses:1150Used by:2924
Symbol 1152 BitmapUsed by:1153
Symbol 1153 GraphicUses:1152Used by:2924
Symbol 1154 BitmapUsed by:1155
Symbol 1155 GraphicUses:1154Used by:2924
Symbol 1156 BitmapUsed by:1157
Symbol 1157 GraphicUses:1156Used by:2924
Symbol 1158 BitmapUsed by:1159
Symbol 1159 GraphicUses:1158Used by:2924
Symbol 1160 BitmapUsed by:1161
Symbol 1161 GraphicUses:1160Used by:2924
Symbol 1162 BitmapUsed by:1163
Symbol 1163 GraphicUses:1162Used by:2924
Symbol 1164 BitmapUsed by:1165
Symbol 1165 GraphicUses:1164Used by:2924
Symbol 1166 BitmapUsed by:1167
Symbol 1167 GraphicUses:1166Used by:2924
Symbol 1168 BitmapUsed by:1169
Symbol 1169 GraphicUses:1168Used by:2924
Symbol 1170 BitmapUsed by:1171
Symbol 1171 GraphicUses:1170Used by:2924
Symbol 1172 BitmapUsed by:1173
Symbol 1173 GraphicUses:1172Used by:2924
Symbol 1174 BitmapUsed by:1175
Symbol 1175 GraphicUses:1174Used by:2924
Symbol 1176 BitmapUsed by:1177
Symbol 1177 GraphicUses:1176Used by:2924
Symbol 1178 BitmapUsed by:1179
Symbol 1179 GraphicUses:1178Used by:2924
Symbol 1180 BitmapUsed by:1181
Symbol 1181 GraphicUses:1180Used by:2924
Symbol 1182 BitmapUsed by:1183
Symbol 1183 GraphicUses:1182Used by:2924
Symbol 1184 BitmapUsed by:1185
Symbol 1185 GraphicUses:1184Used by:2924
Symbol 1186 BitmapUsed by:1187
Symbol 1187 GraphicUses:1186Used by:2924
Symbol 1188 BitmapUsed by:1189
Symbol 1189 GraphicUses:1188Used by:2924
Symbol 1190 BitmapUsed by:1191
Symbol 1191 GraphicUses:1190Used by:2924
Symbol 1192 BitmapUsed by:1193
Symbol 1193 GraphicUses:1192Used by:2924
Symbol 1194 BitmapUsed by:1195
Symbol 1195 GraphicUses:1194Used by:2924
Symbol 1196 BitmapUsed by:1197
Symbol 1197 GraphicUses:1196Used by:2924
Symbol 1198 BitmapUsed by:1199
Symbol 1199 GraphicUses:1198Used by:2924
Symbol 1200 BitmapUsed by:1201
Symbol 1201 GraphicUses:1200Used by:2924
Symbol 1202 BitmapUsed by:1203
Symbol 1203 GraphicUses:1202Used by:2924
Symbol 1204 BitmapUsed by:1205
Symbol 1205 GraphicUses:1204Used by:2924
Symbol 1206 BitmapUsed by:1207
Symbol 1207 GraphicUses:1206Used by:2924
Symbol 1208 BitmapUsed by:1209
Symbol 1209 GraphicUses:1208Used by:2924
Symbol 1210 BitmapUsed by:1211
Symbol 1211 GraphicUses:1210Used by:2924
Symbol 1212 BitmapUsed by:1213
Symbol 1213 GraphicUses:1212Used by:2924
Symbol 1214 BitmapUsed by:1215
Symbol 1215 GraphicUses:1214Used by:2924
Symbol 1216 BitmapUsed by:1217
Symbol 1217 GraphicUses:1216Used by:2924
Symbol 1218 BitmapUsed by:1219
Symbol 1219 GraphicUses:1218Used by:2924
Symbol 1220 BitmapUsed by:1221
Symbol 1221 GraphicUses:1220Used by:2924
Symbol 1222 BitmapUsed by:1223
Symbol 1223 GraphicUses:1222Used by:2924
Symbol 1224 BitmapUsed by:1225
Symbol 1225 GraphicUses:1224Used by:2924
Symbol 1226 BitmapUsed by:1227
Symbol 1227 GraphicUses:1226Used by:2924
Symbol 1228 BitmapUsed by:1229
Symbol 1229 GraphicUses:1228Used by:2924
Symbol 1230 BitmapUsed by:1231
Symbol 1231 GraphicUses:1230Used by:2924
Symbol 1232 BitmapUsed by:1233
Symbol 1233 GraphicUses:1232Used by:2924
Symbol 1234 BitmapUsed by:1235
Symbol 1235 GraphicUses:1234Used by:2924
Symbol 1236 BitmapUsed by:1237
Symbol 1237 GraphicUses:1236Used by:2924
Symbol 1238 BitmapUsed by:1239
Symbol 1239 GraphicUses:1238Used by:2924
Symbol 1240 BitmapUsed by:1241
Symbol 1241 GraphicUses:1240Used by:2924
Symbol 1242 BitmapUsed by:1243
Symbol 1243 GraphicUses:1242Used by:2924
Symbol 1244 BitmapUsed by:1245
Symbol 1245 GraphicUses:1244Used by:2924
Symbol 1246 BitmapUsed by:1247
Symbol 1247 GraphicUses:1246Used by:2924
Symbol 1248 BitmapUsed by:1249
Symbol 1249 GraphicUses:1248Used by:2924
Symbol 1250 BitmapUsed by:1251
Symbol 1251 GraphicUses:1250Used by:2924
Symbol 1252 BitmapUsed by:1253
Symbol 1253 GraphicUses:1252Used by:2924
Symbol 1254 BitmapUsed by:1255
Symbol 1255 GraphicUses:1254Used by:2924
Symbol 1256 BitmapUsed by:1257
Symbol 1257 GraphicUses:1256Used by:2924
Symbol 1258 BitmapUsed by:1259
Symbol 1259 GraphicUses:1258Used by:2924
Symbol 1260 BitmapUsed by:1261
Symbol 1261 GraphicUses:1260Used by:2924
Symbol 1262 BitmapUsed by:1263
Symbol 1263 GraphicUses:1262Used by:2924
Symbol 1264 BitmapUsed by:1265
Symbol 1265 GraphicUses:1264Used by:2924
Symbol 1266 BitmapUsed by:1267
Symbol 1267 GraphicUses:1266Used by:2924
Symbol 1268 BitmapUsed by:1269
Symbol 1269 GraphicUses:1268Used by:2924
Symbol 1270 BitmapUsed by:1271
Symbol 1271 GraphicUses:1270Used by:2924
Symbol 1272 BitmapUsed by:1273
Symbol 1273 GraphicUses:1272Used by:2924
Symbol 1274 BitmapUsed by:1275
Symbol 1275 GraphicUses:1274Used by:2924
Symbol 1276 BitmapUsed by:1277
Symbol 1277 GraphicUses:1276Used by:2924
Symbol 1278 BitmapUsed by:1279
Symbol 1279 GraphicUses:1278Used by:2924
Symbol 1280 BitmapUsed by:1281
Symbol 1281 GraphicUses:1280Used by:2924
Symbol 1282 BitmapUsed by:1283
Symbol 1283 GraphicUses:1282Used by:2924
Symbol 1284 BitmapUsed by:1285
Symbol 1285 GraphicUses:1284Used by:2924
Symbol 1286 BitmapUsed by:1287
Symbol 1287 GraphicUses:1286Used by:2924
Symbol 1288 BitmapUsed by:1289
Symbol 1289 GraphicUses:1288Used by:2924
Symbol 1290 BitmapUsed by:1291
Symbol 1291 GraphicUses:1290Used by:2924
Symbol 1292 BitmapUsed by:1293
Symbol 1293 GraphicUses:1292Used by:2924
Symbol 1294 BitmapUsed by:1295
Symbol 1295 GraphicUses:1294Used by:2924
Symbol 1296 BitmapUsed by:1297
Symbol 1297 GraphicUses:1296Used by:2924
Symbol 1298 BitmapUsed by:1299
Symbol 1299 GraphicUses:1298Used by:2924
Symbol 1300 BitmapUsed by:1301
Symbol 1301 GraphicUses:1300Used by:2924
Symbol 1302 BitmapUsed by:1303
Symbol 1303 GraphicUses:1302Used by:2924
Symbol 1304 BitmapUsed by:1305
Symbol 1305 GraphicUses:1304Used by:2924
Symbol 1306 BitmapUsed by:1307
Symbol 1307 GraphicUses:1306Used by:2924
Symbol 1308 BitmapUsed by:1309
Symbol 1309 GraphicUses:1308Used by:2924
Symbol 1310 BitmapUsed by:1311
Symbol 1311 GraphicUses:1310Used by:2924
Symbol 1312 BitmapUsed by:1313
Symbol 1313 GraphicUses:1312Used by:2924
Symbol 1314 BitmapUsed by:1315
Symbol 1315 GraphicUses:1314Used by:2924
Symbol 1316 BitmapUsed by:1317
Symbol 1317 GraphicUses:1316Used by:2924
Symbol 1318 BitmapUsed by:1319
Symbol 1319 GraphicUses:1318Used by:2924
Symbol 1320 BitmapUsed by:1321
Symbol 1321 GraphicUses:1320Used by:2924
Symbol 1322 BitmapUsed by:1323
Symbol 1323 GraphicUses:1322Used by:2924
Symbol 1324 BitmapUsed by:1325
Symbol 1325 GraphicUses:1324Used by:2924
Symbol 1326 BitmapUsed by:1327
Symbol 1327 GraphicUses:1326Used by:2924
Symbol 1328 BitmapUsed by:1329
Symbol 1329 GraphicUses:1328Used by:2924
Symbol 1330 BitmapUsed by:1331
Symbol 1331 GraphicUses:1330Used by:2924
Symbol 1332 BitmapUsed by:1333
Symbol 1333 GraphicUses:1332Used by:2924
Symbol 1334 BitmapUsed by:1335
Symbol 1335 GraphicUses:1334Used by:2924
Symbol 1336 BitmapUsed by:1337
Symbol 1337 GraphicUses:1336Used by:2924
Symbol 1338 BitmapUsed by:1339
Symbol 1339 GraphicUses:1338Used by:2924
Symbol 1340 BitmapUsed by:1341
Symbol 1341 GraphicUses:1340Used by:2924
Symbol 1342 BitmapUsed by:1343
Symbol 1343 GraphicUses:1342Used by:2924
Symbol 1344 BitmapUsed by:1345
Symbol 1345 GraphicUses:1344Used by:2924
Symbol 1346 BitmapUsed by:1347
Symbol 1347 GraphicUses:1346Used by:2924
Symbol 1348 BitmapUsed by:1349
Symbol 1349 GraphicUses:1348Used by:2924
Symbol 1350 BitmapUsed by:1351
Symbol 1351 GraphicUses:1350Used by:2924
Symbol 1352 BitmapUsed by:1353
Symbol 1353 GraphicUses:1352Used by:2924
Symbol 1354 BitmapUsed by:1355
Symbol 1355 GraphicUses:1354Used by:2924
Symbol 1356 BitmapUsed by:1357
Symbol 1357 GraphicUses:1356Used by:2924
Symbol 1358 BitmapUsed by:1359
Symbol 1359 GraphicUses:1358Used by:2924
Symbol 1360 BitmapUsed by:1361
Symbol 1361 GraphicUses:1360Used by:2924
Symbol 1362 BitmapUsed by:1363
Symbol 1363 GraphicUses:1362Used by:2924
Symbol 1364 BitmapUsed by:1365
Symbol 1365 GraphicUses:1364Used by:2924
Symbol 1366 BitmapUsed by:1367
Symbol 1367 GraphicUses:1366Used by:2924
Symbol 1368 BitmapUsed by:1369
Symbol 1369 GraphicUses:1368Used by:2924
Symbol 1370 BitmapUsed by:1371
Symbol 1371 GraphicUses:1370Used by:2924
Symbol 1372 BitmapUsed by:1373
Symbol 1373 GraphicUses:1372Used by:2924
Symbol 1374 BitmapUsed by:1375
Symbol 1375 GraphicUses:1374Used by:2924
Symbol 1376 BitmapUsed by:1377
Symbol 1377 GraphicUses:1376Used by:2924
Symbol 1378 BitmapUsed by:1379
Symbol 1379 GraphicUses:1378Used by:2924
Symbol 1380 BitmapUsed by:1381
Symbol 1381 GraphicUses:1380Used by:2924
Symbol 1382 BitmapUsed by:1383
Symbol 1383 GraphicUses:1382Used by:2924
Symbol 1384 BitmapUsed by:1385
Symbol 1385 GraphicUses:1384Used by:2924
Symbol 1386 BitmapUsed by:1387
Symbol 1387 GraphicUses:1386Used by:2924
Symbol 1388 BitmapUsed by:1389
Symbol 1389 GraphicUses:1388Used by:2924
Symbol 1390 BitmapUsed by:1391
Symbol 1391 GraphicUses:1390Used by:2924
Symbol 1392 BitmapUsed by:1393
Symbol 1393 GraphicUses:1392Used by:2924
Symbol 1394 BitmapUsed by:1395
Symbol 1395 GraphicUses:1394Used by:2924
Symbol 1396 BitmapUsed by:1397
Symbol 1397 GraphicUses:1396Used by:2924
Symbol 1398 BitmapUsed by:1399
Symbol 1399 GraphicUses:1398Used by:2924
Symbol 1400 BitmapUsed by:1401
Symbol 1401 GraphicUses:1400Used by:2924
Symbol 1402 BitmapUsed by:1403
Symbol 1403 GraphicUses:1402Used by:2924
Symbol 1404 BitmapUsed by:1405
Symbol 1405 GraphicUses:1404Used by:2924
Symbol 1406 BitmapUsed by:1407
Symbol 1407 GraphicUses:1406Used by:2924
Symbol 1408 BitmapUsed by:1409
Symbol 1409 GraphicUses:1408Used by:2924
Symbol 1410 BitmapUsed by:1411
Symbol 1411 GraphicUses:1410Used by:2924
Symbol 1412 BitmapUsed by:1413
Symbol 1413 GraphicUses:1412Used by:2924
Symbol 1414 BitmapUsed by:1415
Symbol 1415 GraphicUses:1414Used by:2924
Symbol 1416 BitmapUsed by:1417
Symbol 1417 GraphicUses:1416Used by:2924
Symbol 1418 BitmapUsed by:1419
Symbol 1419 GraphicUses:1418Used by:2924
Symbol 1420 BitmapUsed by:1421
Symbol 1421 GraphicUses:1420Used by:2924
Symbol 1422 BitmapUsed by:1423
Symbol 1423 GraphicUses:1422Used by:2924
Symbol 1424 BitmapUsed by:1425
Symbol 1425 GraphicUses:1424Used by:2924
Symbol 1426 BitmapUsed by:1427
Symbol 1427 GraphicUses:1426Used by:2924
Symbol 1428 BitmapUsed by:1429
Symbol 1429 GraphicUses:1428Used by:2924
Symbol 1430 BitmapUsed by:1431
Symbol 1431 GraphicUses:1430Used by:2924
Symbol 1432 BitmapUsed by:1433
Symbol 1433 GraphicUses:1432Used by:2924
Symbol 1434 BitmapUsed by:1435
Symbol 1435 GraphicUses:1434Used by:2924
Symbol 1436 BitmapUsed by:1437
Symbol 1437 GraphicUses:1436Used by:2924
Symbol 1438 BitmapUsed by:1439
Symbol 1439 GraphicUses:1438Used by:2924
Symbol 1440 BitmapUsed by:1441
Symbol 1441 GraphicUses:1440Used by:2924
Symbol 1442 BitmapUsed by:1443
Symbol 1443 GraphicUses:1442Used by:2924
Symbol 1444 BitmapUsed by:1445
Symbol 1445 GraphicUses:1444Used by:2924
Symbol 1446 BitmapUsed by:1447
Symbol 1447 GraphicUses:1446Used by:2924
Symbol 1448 BitmapUsed by:1449
Symbol 1449 GraphicUses:1448Used by:2924
Symbol 1450 BitmapUsed by:1451
Symbol 1451 GraphicUses:1450Used by:2924
Symbol 1452 BitmapUsed by:1453
Symbol 1453 GraphicUses:1452Used by:2924
Symbol 1454 BitmapUsed by:1455
Symbol 1455 GraphicUses:1454Used by:2924
Symbol 1456 BitmapUsed by:1457
Symbol 1457 GraphicUses:1456Used by:2924
Symbol 1458 BitmapUsed by:1459
Symbol 1459 GraphicUses:1458Used by:2924
Symbol 1460 BitmapUsed by:1461
Symbol 1461 GraphicUses:1460Used by:2924
Symbol 1462 BitmapUsed by:1463
Symbol 1463 GraphicUses:1462Used by:2924
Symbol 1464 BitmapUsed by:1465
Symbol 1465 GraphicUses:1464Used by:2924
Symbol 1466 BitmapUsed by:1467
Symbol 1467 GraphicUses:1466Used by:2924
Symbol 1468 BitmapUsed by:1469
Symbol 1469 GraphicUses:1468Used by:2924
Symbol 1470 BitmapUsed by:1471
Symbol 1471 GraphicUses:1470Used by:2924
Symbol 1472 BitmapUsed by:1473
Symbol 1473 GraphicUses:1472Used by:2924
Symbol 1474 BitmapUsed by:1475
Symbol 1475 GraphicUses:1474Used by:2924
Symbol 1476 BitmapUsed by:1477
Symbol 1477 GraphicUses:1476Used by:2924
Symbol 1478 BitmapUsed by:1479
Symbol 1479 GraphicUses:1478Used by:2924
Symbol 1480 BitmapUsed by:1481
Symbol 1481 GraphicUses:1480Used by:2924
Symbol 1482 BitmapUsed by:1483
Symbol 1483 GraphicUses:1482Used by:2924
Symbol 1484 BitmapUsed by:1485
Symbol 1485 GraphicUses:1484Used by:2924
Symbol 1486 BitmapUsed by:1487
Symbol 1487 GraphicUses:1486Used by:2924
Symbol 1488 BitmapUsed by:1489
Symbol 1489 GraphicUses:1488Used by:2924
Symbol 1490 BitmapUsed by:1491
Symbol 1491 GraphicUses:1490Used by:2924
Symbol 1492 BitmapUsed by:1493
Symbol 1493 GraphicUses:1492Used by:2924
Symbol 1494 BitmapUsed by:1495
Symbol 1495 GraphicUses:1494Used by:2924
Symbol 1496 BitmapUsed by:1497
Symbol 1497 GraphicUses:1496Used by:2924
Symbol 1498 BitmapUsed by:1499
Symbol 1499 GraphicUses:1498Used by:2924
Symbol 1500 BitmapUsed by:1501
Symbol 1501 GraphicUses:1500Used by:2924
Symbol 1502 BitmapUsed by:1503
Symbol 1503 GraphicUses:1502Used by:2924
Symbol 1504 BitmapUsed by:1505
Symbol 1505 GraphicUses:1504Used by:2924
Symbol 1506 BitmapUsed by:1507
Symbol 1507 GraphicUses:1506Used by:2924
Symbol 1508 BitmapUsed by:1509
Symbol 1509 GraphicUses:1508Used by:2924
Symbol 1510 BitmapUsed by:1511
Symbol 1511 GraphicUses:1510Used by:2924
Symbol 1512 BitmapUsed by:1513
Symbol 1513 GraphicUses:1512Used by:2924
Symbol 1514 BitmapUsed by:1515
Symbol 1515 GraphicUses:1514Used by:2924
Symbol 1516 BitmapUsed by:1517
Symbol 1517 GraphicUses:1516Used by:2924
Symbol 1518 BitmapUsed by:1519
Symbol 1519 GraphicUses:1518Used by:2924
Symbol 1520 BitmapUsed by:1521
Symbol 1521 GraphicUses:1520Used by:2924
Symbol 1522 BitmapUsed by:1523
Symbol 1523 GraphicUses:1522Used by:2924
Symbol 1524 BitmapUsed by:1525
Symbol 1525 GraphicUses:1524Used by:2924
Symbol 1526 BitmapUsed by:1527
Symbol 1527 GraphicUses:1526Used by:2924
Symbol 1528 BitmapUsed by:1529
Symbol 1529 GraphicUses:1528Used by:2924
Symbol 1530 BitmapUsed by:1531
Symbol 1531 GraphicUses:1530Used by:2924
Symbol 1532 BitmapUsed by:1533
Symbol 1533 GraphicUses:1532Used by:2924
Symbol 1534 BitmapUsed by:1535
Symbol 1535 GraphicUses:1534Used by:2924
Symbol 1536 BitmapUsed by:1537
Symbol 1537 GraphicUses:1536Used by:2924
Symbol 1538 BitmapUsed by:1539
Symbol 1539 GraphicUses:1538Used by:2924
Symbol 1540 BitmapUsed by:1541
Symbol 1541 GraphicUses:1540Used by:2924
Symbol 1542 BitmapUsed by:1543
Symbol 1543 GraphicUses:1542Used by:2924
Symbol 1544 BitmapUsed by:1545
Symbol 1545 GraphicUses:1544Used by:2924
Symbol 1546 BitmapUsed by:1547
Symbol 1547 GraphicUses:1546Used by:2924
Symbol 1548 BitmapUsed by:1549
Symbol 1549 GraphicUses:1548Used by:2924
Symbol 1550 BitmapUsed by:1551
Symbol 1551 GraphicUses:1550Used by:2924
Symbol 1552 BitmapUsed by:1553
Symbol 1553 GraphicUses:1552Used by:2924
Symbol 1554 BitmapUsed by:1555
Symbol 1555 GraphicUses:1554Used by:2924
Symbol 1556 BitmapUsed by:1557
Symbol 1557 GraphicUses:1556Used by:2924
Symbol 1558 BitmapUsed by:1559
Symbol 1559 GraphicUses:1558Used by:2924
Symbol 1560 BitmapUsed by:1561
Symbol 1561 GraphicUses:1560Used by:2924
Symbol 1562 BitmapUsed by:1563
Symbol 1563 GraphicUses:1562Used by:2924
Symbol 1564 BitmapUsed by:1565
Symbol 1565 GraphicUses:1564Used by:2924
Symbol 1566 BitmapUsed by:1567
Symbol 1567 GraphicUses:1566Used by:2924
Symbol 1568 BitmapUsed by:1569
Symbol 1569 GraphicUses:1568Used by:2924
Symbol 1570 BitmapUsed by:1571
Symbol 1571 GraphicUses:1570Used by:2924
Symbol 1572 BitmapUsed by:1573
Symbol 1573 GraphicUses:1572Used by:2924
Symbol 1574 BitmapUsed by:1575
Symbol 1575 GraphicUses:1574Used by:2924
Symbol 1576 BitmapUsed by:1577
Symbol 1577 GraphicUses:1576Used by:2924
Symbol 1578 BitmapUsed by:1579
Symbol 1579 GraphicUses:1578Used by:2924
Symbol 1580 BitmapUsed by:1581
Symbol 1581 GraphicUses:1580Used by:2924
Symbol 1582 BitmapUsed by:1583
Symbol 1583 GraphicUses:1582Used by:2924
Symbol 1584 BitmapUsed by:1585
Symbol 1585 GraphicUses:1584Used by:2924
Symbol 1586 BitmapUsed by:1587
Symbol 1587 GraphicUses:1586Used by:2924
Symbol 1588 BitmapUsed by:1589
Symbol 1589 GraphicUses:1588Used by:2924
Symbol 1590 BitmapUsed by:1591
Symbol 1591 GraphicUses:1590Used by:2924
Symbol 1592 BitmapUsed by:1593
Symbol 1593 GraphicUses:1592Used by:2924
Symbol 1594 BitmapUsed by:1595
Symbol 1595 GraphicUses:1594Used by:2924
Symbol 1596 BitmapUsed by:1597
Symbol 1597 GraphicUses:1596Used by:2924
Symbol 1598 BitmapUsed by:1599
Symbol 1599 GraphicUses:1598Used by:2924
Symbol 1600 BitmapUsed by:1601
Symbol 1601 GraphicUses:1600Used by:2924
Symbol 1602 BitmapUsed by:1603
Symbol 1603 GraphicUses:1602Used by:2924
Symbol 1604 BitmapUsed by:1605
Symbol 1605 GraphicUses:1604Used by:2924
Symbol 1606 BitmapUsed by:1607
Symbol 1607 GraphicUses:1606Used by:2924
Symbol 1608 BitmapUsed by:1609
Symbol 1609 GraphicUses:1608Used by:2924
Symbol 1610 BitmapUsed by:1611
Symbol 1611 GraphicUses:1610Used by:2924
Symbol 1612 BitmapUsed by:1613
Symbol 1613 GraphicUses:1612Used by:2924
Symbol 1614 BitmapUsed by:1615
Symbol 1615 GraphicUses:1614Used by:2924
Symbol 1616 BitmapUsed by:1617
Symbol 1617 GraphicUses:1616Used by:2924
Symbol 1618 BitmapUsed by:1619
Symbol 1619 GraphicUses:1618Used by:2924
Symbol 1620 BitmapUsed by:1621
Symbol 1621 GraphicUses:1620Used by:2924
Symbol 1622 BitmapUsed by:1623
Symbol 1623 GraphicUses:1622Used by:2924
Symbol 1624 BitmapUsed by:1625
Symbol 1625 GraphicUses:1624Used by:2924
Symbol 1626 BitmapUsed by:1627
Symbol 1627 GraphicUses:1626Used by:2924
Symbol 1628 BitmapUsed by:1629
Symbol 1629 GraphicUses:1628Used by:2924
Symbol 1630 BitmapUsed by:1631
Symbol 1631 GraphicUses:1630Used by:2924
Symbol 1632 BitmapUsed by:1633
Symbol 1633 GraphicUses:1632Used by:2924
Symbol 1634 BitmapUsed by:1635
Symbol 1635 GraphicUses:1634Used by:2924
Symbol 1636 BitmapUsed by:1637
Symbol 1637 GraphicUses:1636Used by:2924
Symbol 1638 BitmapUsed by:1639
Symbol 1639 GraphicUses:1638Used by:2924
Symbol 1640 BitmapUsed by:1641
Symbol 1641 GraphicUses:1640Used by:2924
Symbol 1642 BitmapUsed by:1643
Symbol 1643 GraphicUses:1642Used by:2924
Symbol 1644 BitmapUsed by:1645
Symbol 1645 GraphicUses:1644Used by:2924
Symbol 1646 BitmapUsed by:1647
Symbol 1647 GraphicUses:1646Used by:2924
Symbol 1648 BitmapUsed by:1649
Symbol 1649 GraphicUses:1648Used by:2924
Symbol 1650 BitmapUsed by:1651
Symbol 1651 GraphicUses:1650Used by:2924
Symbol 1652 BitmapUsed by:1653
Symbol 1653 GraphicUses:1652Used by:2924
Symbol 1654 BitmapUsed by:1655
Symbol 1655 GraphicUses:1654Used by:2924
Symbol 1656 BitmapUsed by:1657
Symbol 1657 GraphicUses:1656Used by:2924
Symbol 1658 BitmapUsed by:1659
Symbol 1659 GraphicUses:1658Used by:2924
Symbol 1660 BitmapUsed by:1661
Symbol 1661 GraphicUses:1660Used by:2924
Symbol 1662 BitmapUsed by:1663
Symbol 1663 GraphicUses:1662Used by:2924
Symbol 1664 BitmapUsed by:1665
Symbol 1665 GraphicUses:1664Used by:2924
Symbol 1666 BitmapUsed by:1667
Symbol 1667 GraphicUses:1666Used by:2924
Symbol 1668 BitmapUsed by:1669
Symbol 1669 GraphicUses:1668Used by:2924
Symbol 1670 BitmapUsed by:1671
Symbol 1671 GraphicUses:1670Used by:2924
Symbol 1672 BitmapUsed by:1673
Symbol 1673 GraphicUses:1672Used by:2924
Symbol 1674 BitmapUsed by:1675
Symbol 1675 GraphicUses:1674Used by:2924
Symbol 1676 BitmapUsed by:1677
Symbol 1677 GraphicUses:1676Used by:2924
Symbol 1678 BitmapUsed by:1679
Symbol 1679 GraphicUses:1678Used by:2924
Symbol 1680 BitmapUsed by:1681
Symbol 1681 GraphicUses:1680Used by:2924
Symbol 1682 BitmapUsed by:1683
Symbol 1683 GraphicUses:1682Used by:2924
Symbol 1684 BitmapUsed by:1685
Symbol 1685 GraphicUses:1684Used by:2924
Symbol 1686 BitmapUsed by:1687
Symbol 1687 GraphicUses:1686Used by:2924
Symbol 1688 BitmapUsed by:1689
Symbol 1689 GraphicUses:1688Used by:2924
Symbol 1690 BitmapUsed by:1691
Symbol 1691 GraphicUses:1690Used by:2924
Symbol 1692 BitmapUsed by:1693
Symbol 1693 GraphicUses:1692Used by:2924
Symbol 1694 BitmapUsed by:1695
Symbol 1695 GraphicUses:1694Used by:2924
Symbol 1696 BitmapUsed by:1697
Symbol 1697 GraphicUses:1696Used by:2924
Symbol 1698 BitmapUsed by:1699
Symbol 1699 GraphicUses:1698Used by:2924
Symbol 1700 BitmapUsed by:1701
Symbol 1701 GraphicUses:1700Used by:2924
Symbol 1702 BitmapUsed by:1703
Symbol 1703 GraphicUses:1702Used by:2924
Symbol 1704 BitmapUsed by:1705
Symbol 1705 GraphicUses:1704Used by:2924
Symbol 1706 BitmapUsed by:1707
Symbol 1707 GraphicUses:1706Used by:2924
Symbol 1708 BitmapUsed by:1709
Symbol 1709 GraphicUses:1708Used by:2924
Symbol 1710 BitmapUsed by:1711
Symbol 1711 GraphicUses:1710Used by:2924
Symbol 1712 BitmapUsed by:1713
Symbol 1713 GraphicUses:1712Used by:2924
Symbol 1714 BitmapUsed by:1715
Symbol 1715 GraphicUses:1714Used by:2924
Symbol 1716 BitmapUsed by:1717
Symbol 1717 GraphicUses:1716Used by:2924
Symbol 1718 BitmapUsed by:1719
Symbol 1719 GraphicUses:1718Used by:2924
Symbol 1720 BitmapUsed by:1721
Symbol 1721 GraphicUses:1720Used by:2924
Symbol 1722 BitmapUsed by:1723
Symbol 1723 GraphicUses:1722Used by:2924
Symbol 1724 BitmapUsed by:1725
Symbol 1725 GraphicUses:1724Used by:2924
Symbol 1726 BitmapUsed by:1727
Symbol 1727 GraphicUses:1726Used by:2924
Symbol 1728 BitmapUsed by:1729
Symbol 1729 GraphicUses:1728Used by:2924
Symbol 1730 BitmapUsed by:1731
Symbol 1731 GraphicUses:1730Used by:2924
Symbol 1732 BitmapUsed by:1733
Symbol 1733 GraphicUses:1732Used by:2924
Symbol 1734 BitmapUsed by:1735
Symbol 1735 GraphicUses:1734Used by:2924
Symbol 1736 BitmapUsed by:1737
Symbol 1737 GraphicUses:1736Used by:2924
Symbol 1738 BitmapUsed by:1739
Symbol 1739 GraphicUses:1738Used by:2924
Symbol 1740 BitmapUsed by:1741
Symbol 1741 GraphicUses:1740Used by:2924
Symbol 1742 BitmapUsed by:1743
Symbol 1743 GraphicUses:1742Used by:2924
Symbol 1744 BitmapUsed by:1745
Symbol 1745 GraphicUses:1744Used by:2924
Symbol 1746 BitmapUsed by:1747
Symbol 1747 GraphicUses:1746Used by:2924
Symbol 1748 BitmapUsed by:1749
Symbol 1749 GraphicUses:1748Used by:2924
Symbol 1750 BitmapUsed by:1751
Symbol 1751 GraphicUses:1750Used by:2924
Symbol 1752 BitmapUsed by:1753
Symbol 1753 GraphicUses:1752Used by:2924
Symbol 1754 BitmapUsed by:1755
Symbol 1755 GraphicUses:1754Used by:2924
Symbol 1756 BitmapUsed by:1757
Symbol 1757 GraphicUses:1756Used by:2924
Symbol 1758 BitmapUsed by:1759
Symbol 1759 GraphicUses:1758Used by:2924
Symbol 1760 BitmapUsed by:1761
Symbol 1761 GraphicUses:1760Used by:2924
Symbol 1762 BitmapUsed by:1763
Symbol 1763 GraphicUses:1762Used by:2924
Symbol 1764 BitmapUsed by:1765
Symbol 1765 GraphicUses:1764Used by:2924
Symbol 1766 BitmapUsed by:1767
Symbol 1767 GraphicUses:1766Used by:2924
Symbol 1768 BitmapUsed by:1769
Symbol 1769 GraphicUses:1768Used by:2924
Symbol 1770 BitmapUsed by:1771
Symbol 1771 GraphicUses:1770Used by:2924
Symbol 1772 BitmapUsed by:1773
Symbol 1773 GraphicUses:1772Used by:2924
Symbol 1774 BitmapUsed by:1775
Symbol 1775 GraphicUses:1774Used by:2924
Symbol 1776 BitmapUsed by:1777
Symbol 1777 GraphicUses:1776Used by:2924
Symbol 1778 BitmapUsed by:1779
Symbol 1779 GraphicUses:1778Used by:2924
Symbol 1780 BitmapUsed by:1781
Symbol 1781 GraphicUses:1780Used by:2924
Symbol 1782 BitmapUsed by:1783
Symbol 1783 GraphicUses:1782Used by:2924
Symbol 1784 BitmapUsed by:1785
Symbol 1785 GraphicUses:1784Used by:2924
Symbol 1786 BitmapUsed by:1787
Symbol 1787 GraphicUses:1786Used by:2924
Symbol 1788 BitmapUsed by:1789
Symbol 1789 GraphicUses:1788Used by:2924
Symbol 1790 BitmapUsed by:1791
Symbol 1791 GraphicUses:1790Used by:2924
Symbol 1792 BitmapUsed by:1793
Symbol 1793 GraphicUses:1792Used by:2924
Symbol 1794 BitmapUsed by:1795
Symbol 1795 GraphicUses:1794Used by:2924
Symbol 1796 BitmapUsed by:1797
Symbol 1797 GraphicUses:1796Used by:2924
Symbol 1798 BitmapUsed by:1799
Symbol 1799 GraphicUses:1798Used by:2924
Symbol 1800 BitmapUsed by:1801
Symbol 1801 GraphicUses:1800Used by:2924
Symbol 1802 BitmapUsed by:1803
Symbol 1803 GraphicUses:1802Used by:2924
Symbol 1804 BitmapUsed by:1805
Symbol 1805 GraphicUses:1804Used by:2924
Symbol 1806 BitmapUsed by:1807
Symbol 1807 GraphicUses:1806Used by:2924
Symbol 1808 BitmapUsed by:1809
Symbol 1809 GraphicUses:1808Used by:2924
Symbol 1810 BitmapUsed by:1811
Symbol 1811 GraphicUses:1810Used by:2924
Symbol 1812 BitmapUsed by:1813
Symbol 1813 GraphicUses:1812Used by:2924
Symbol 1814 BitmapUsed by:1815
Symbol 1815 GraphicUses:1814Used by:2924
Symbol 1816 BitmapUsed by:1817
Symbol 1817 GraphicUses:1816Used by:2924
Symbol 1818 BitmapUsed by:1819
Symbol 1819 GraphicUses:1818Used by:2924
Symbol 1820 BitmapUsed by:1821
Symbol 1821 GraphicUses:1820Used by:2924
Symbol 1822 BitmapUsed by:1823
Symbol 1823 GraphicUses:1822Used by:2924
Symbol 1824 BitmapUsed by:1825
Symbol 1825 GraphicUses:1824Used by:2924
Symbol 1826 BitmapUsed by:1827
Symbol 1827 GraphicUses:1826Used by:2924
Symbol 1828 BitmapUsed by:1829
Symbol 1829 GraphicUses:1828Used by:2924
Symbol 1830 BitmapUsed by:1831
Symbol 1831 GraphicUses:1830Used by:2924
Symbol 1832 BitmapUsed by:1833
Symbol 1833 GraphicUses:1832Used by:2924
Symbol 1834 BitmapUsed by:1835
Symbol 1835 GraphicUses:1834Used by:2924
Symbol 1836 BitmapUsed by:1837
Symbol 1837 GraphicUses:1836Used by:2924
Symbol 1838 BitmapUsed by:1839
Symbol 1839 GraphicUses:1838Used by:2924
Symbol 1840 BitmapUsed by:1841
Symbol 1841 GraphicUses:1840Used by:2924
Symbol 1842 BitmapUsed by:1843
Symbol 1843 GraphicUses:1842Used by:2924
Symbol 1844 BitmapUsed by:1845
Symbol 1845 GraphicUses:1844Used by:2924
Symbol 1846 BitmapUsed by:1847
Symbol 1847 GraphicUses:1846Used by:2924
Symbol 1848 BitmapUsed by:1849
Symbol 1849 GraphicUses:1848Used by:2924
Symbol 1850 BitmapUsed by:1851
Symbol 1851 GraphicUses:1850Used by:2924
Symbol 1852 BitmapUsed by:1853
Symbol 1853 GraphicUses:1852Used by:2924
Symbol 1854 BitmapUsed by:1855
Symbol 1855 GraphicUses:1854Used by:2924
Symbol 1856 BitmapUsed by:1857
Symbol 1857 GraphicUses:1856Used by:2924
Symbol 1858 BitmapUsed by:1859
Symbol 1859 GraphicUses:1858Used by:2924
Symbol 1860 BitmapUsed by:1861
Symbol 1861 GraphicUses:1860Used by:2924
Symbol 1862 BitmapUsed by:1863
Symbol 1863 GraphicUses:1862Used by:2924
Symbol 1864 BitmapUsed by:1865
Symbol 1865 GraphicUses:1864Used by:2924
Symbol 1866 BitmapUsed by:1867
Symbol 1867 GraphicUses:1866Used by:2924
Symbol 1868 BitmapUsed by:1869
Symbol 1869 GraphicUses:1868Used by:2924
Symbol 1870 BitmapUsed by:1871
Symbol 1871 GraphicUses:1870Used by:2924
Symbol 1872 BitmapUsed by:1873
Symbol 1873 GraphicUses:1872Used by:2924
Symbol 1874 BitmapUsed by:1875
Symbol 1875 GraphicUses:1874Used by:2924
Symbol 1876 BitmapUsed by:1877
Symbol 1877 GraphicUses:1876Used by:2924
Symbol 1878 BitmapUsed by:1879
Symbol 1879 GraphicUses:1878Used by:2924
Symbol 1880 BitmapUsed by:1881
Symbol 1881 GraphicUses:1880Used by:2924
Symbol 1882 BitmapUsed by:1883
Symbol 1883 GraphicUses:1882Used by:2924
Symbol 1884 BitmapUsed by:1885
Symbol 1885 GraphicUses:1884Used by:2924
Symbol 1886 BitmapUsed by:1887
Symbol 1887 GraphicUses:1886Used by:2924
Symbol 1888 BitmapUsed by:1889
Symbol 1889 GraphicUses:1888Used by:2924
Symbol 1890 BitmapUsed by:1891
Symbol 1891 GraphicUses:1890Used by:2924
Symbol 1892 BitmapUsed by:1893
Symbol 1893 GraphicUses:1892Used by:2924
Symbol 1894 BitmapUsed by:1895
Symbol 1895 GraphicUses:1894Used by:2924
Symbol 1896 BitmapUsed by:1897
Symbol 1897 GraphicUses:1896Used by:2924
Symbol 1898 BitmapUsed by:1899
Symbol 1899 GraphicUses:1898Used by:2924
Symbol 1900 BitmapUsed by:1901
Symbol 1901 GraphicUses:1900Used by:2924
Symbol 1902 BitmapUsed by:1903
Symbol 1903 GraphicUses:1902Used by:2924
Symbol 1904 BitmapUsed by:1905
Symbol 1905 GraphicUses:1904Used by:2924
Symbol 1906 BitmapUsed by:1907
Symbol 1907 GraphicUses:1906Used by:2924
Symbol 1908 BitmapUsed by:1909
Symbol 1909 GraphicUses:1908Used by:2924
Symbol 1910 BitmapUsed by:1911
Symbol 1911 GraphicUses:1910Used by:2924
Symbol 1912 BitmapUsed by:1913
Symbol 1913 GraphicUses:1912Used by:2924
Symbol 1914 BitmapUsed by:1915
Symbol 1915 GraphicUses:1914Used by:2924
Symbol 1916 BitmapUsed by:1917
Symbol 1917 GraphicUses:1916Used by:2924
Symbol 1918 BitmapUsed by:1919
Symbol 1919 GraphicUses:1918Used by:2924
Symbol 1920 BitmapUsed by:1921
Symbol 1921 GraphicUses:1920Used by:2924
Symbol 1922 BitmapUsed by:1923
Symbol 1923 GraphicUses:1922Used by:2924
Symbol 1924 BitmapUsed by:1925
Symbol 1925 GraphicUses:1924Used by:2924
Symbol 1926 BitmapUsed by:1927
Symbol 1927 GraphicUses:1926Used by:2924
Symbol 1928 BitmapUsed by:1929
Symbol 1929 GraphicUses:1928Used by:2924
Symbol 1930 BitmapUsed by:1931
Symbol 1931 GraphicUses:1930Used by:2924
Symbol 1932 BitmapUsed by:1933
Symbol 1933 GraphicUses:1932Used by:2924
Symbol 1934 BitmapUsed by:1935
Symbol 1935 GraphicUses:1934Used by:2924
Symbol 1936 BitmapUsed by:1937
Symbol 1937 GraphicUses:1936Used by:2924
Symbol 1938 BitmapUsed by:1939
Symbol 1939 GraphicUses:1938Used by:2924
Symbol 1940 BitmapUsed by:1941
Symbol 1941 GraphicUses:1940Used by:2924
Symbol 1942 BitmapUsed by:1943
Symbol 1943 GraphicUses:1942Used by:2924
Symbol 1944 BitmapUsed by:1945
Symbol 1945 GraphicUses:1944Used by:2924
Symbol 1946 BitmapUsed by:1947
Symbol 1947 GraphicUses:1946Used by:2924
Symbol 1948 BitmapUsed by:1949
Symbol 1949 GraphicUses:1948Used by:2924
Symbol 1950 BitmapUsed by:1951
Symbol 1951 GraphicUses:1950Used by:2924
Symbol 1952 BitmapUsed by:1953
Symbol 1953 GraphicUses:1952Used by:2924
Symbol 1954 BitmapUsed by:1955
Symbol 1955 GraphicUses:1954Used by:2924
Symbol 1956 BitmapUsed by:1957
Symbol 1957 GraphicUses:1956Used by:2924
Symbol 1958 BitmapUsed by:1959
Symbol 1959 GraphicUses:1958Used by:2924
Symbol 1960 BitmapUsed by:1961
Symbol 1961 GraphicUses:1960Used by:2924
Symbol 1962 BitmapUsed by:1963
Symbol 1963 GraphicUses:1962Used by:2924
Symbol 1964 BitmapUsed by:1965
Symbol 1965 GraphicUses:1964Used by:2924
Symbol 1966 BitmapUsed by:1967
Symbol 1967 GraphicUses:1966Used by:2924
Symbol 1968 BitmapUsed by:1969
Symbol 1969 GraphicUses:1968Used by:2924
Symbol 1970 BitmapUsed by:1971
Symbol 1971 GraphicUses:1970Used by:2924
Symbol 1972 BitmapUsed by:1973
Symbol 1973 GraphicUses:1972Used by:2924
Symbol 1974 BitmapUsed by:1975
Symbol 1975 GraphicUses:1974Used by:2924
Symbol 1976 BitmapUsed by:1977
Symbol 1977 GraphicUses:1976Used by:2924
Symbol 1978 BitmapUsed by:1979
Symbol 1979 GraphicUses:1978Used by:2924
Symbol 1980 BitmapUsed by:1981
Symbol 1981 GraphicUses:1980Used by:2924
Symbol 1982 BitmapUsed by:1983
Symbol 1983 GraphicUses:1982Used by:2924
Symbol 1984 BitmapUsed by:1985
Symbol 1985 GraphicUses:1984Used by:2924
Symbol 1986 BitmapUsed by:1987
Symbol 1987 GraphicUses:1986Used by:2924
Symbol 1988 BitmapUsed by:1989
Symbol 1989 GraphicUses:1988Used by:2924
Symbol 1990 BitmapUsed by:1991
Symbol 1991 GraphicUses:1990Used by:2924
Symbol 1992 BitmapUsed by:1993
Symbol 1993 GraphicUses:1992Used by:2924
Symbol 1994 BitmapUsed by:1995
Symbol 1995 GraphicUses:1994Used by:2924
Symbol 1996 BitmapUsed by:1997
Symbol 1997 GraphicUses:1996Used by:2924
Symbol 1998 BitmapUsed by:1999
Symbol 1999 GraphicUses:1998Used by:2924
Symbol 2000 BitmapUsed by:2001
Symbol 2001 GraphicUses:2000Used by:2924
Symbol 2002 BitmapUsed by:2003
Symbol 2003 GraphicUses:2002Used by:2924
Symbol 2004 BitmapUsed by:2005
Symbol 2005 GraphicUses:2004Used by:2924
Symbol 2006 BitmapUsed by:2007
Symbol 2007 GraphicUses:2006Used by:2924
Symbol 2008 BitmapUsed by:2009
Symbol 2009 GraphicUses:2008Used by:2924
Symbol 2010 BitmapUsed by:2011
Symbol 2011 GraphicUses:2010Used by:2924
Symbol 2012 BitmapUsed by:2013
Symbol 2013 GraphicUses:2012Used by:2924
Symbol 2014 BitmapUsed by:2015
Symbol 2015 GraphicUses:2014Used by:2924
Symbol 2016 BitmapUsed by:2017
Symbol 2017 GraphicUses:2016Used by:2924
Symbol 2018 BitmapUsed by:2019
Symbol 2019 GraphicUses:2018Used by:2924
Symbol 2020 BitmapUsed by:2021
Symbol 2021 GraphicUses:2020Used by:2924
Symbol 2022 BitmapUsed by:2023
Symbol 2023 GraphicUses:2022Used by:2924
Symbol 2024 BitmapUsed by:2025
Symbol 2025 GraphicUses:2024Used by:2924
Symbol 2026 BitmapUsed by:2027
Symbol 2027 GraphicUses:2026Used by:2924
Symbol 2028 BitmapUsed by:2029
Symbol 2029 GraphicUses:2028Used by:2924
Symbol 2030 BitmapUsed by:2031
Symbol 2031 GraphicUses:2030Used by:2924
Symbol 2032 BitmapUsed by:2033
Symbol 2033 GraphicUses:2032Used by:2924
Symbol 2034 BitmapUsed by:2035
Symbol 2035 GraphicUses:2034Used by:2924
Symbol 2036 BitmapUsed by:2037
Symbol 2037 GraphicUses:2036Used by:2924
Symbol 2038 BitmapUsed by:2039
Symbol 2039 GraphicUses:2038Used by:2924
Symbol 2040 BitmapUsed by:2041
Symbol 2041 GraphicUses:2040Used by:2924
Symbol 2042 BitmapUsed by:2043
Symbol 2043 GraphicUses:2042Used by:2924
Symbol 2044 BitmapUsed by:2045
Symbol 2045 GraphicUses:2044Used by:2924
Symbol 2046 BitmapUsed by:2047
Symbol 2047 GraphicUses:2046Used by:2924
Symbol 2048 BitmapUsed by:2049
Symbol 2049 GraphicUses:2048Used by:2924
Symbol 2050 BitmapUsed by:2051
Symbol 2051 GraphicUses:2050Used by:2924
Symbol 2052 BitmapUsed by:2053
Symbol 2053 GraphicUses:2052Used by:2924
Symbol 2054 BitmapUsed by:2055
Symbol 2055 GraphicUses:2054Used by:2924
Symbol 2056 BitmapUsed by:2057
Symbol 2057 GraphicUses:2056Used by:2924
Symbol 2058 BitmapUsed by:2059
Symbol 2059 GraphicUses:2058Used by:2924
Symbol 2060 BitmapUsed by:2061
Symbol 2061 GraphicUses:2060Used by:2924
Symbol 2062 BitmapUsed by:2063
Symbol 2063 GraphicUses:2062Used by:2924
Symbol 2064 BitmapUsed by:2065
Symbol 2065 GraphicUses:2064Used by:2924
Symbol 2066 BitmapUsed by:2067
Symbol 2067 GraphicUses:2066Used by:2924
Symbol 2068 BitmapUsed by:2069
Symbol 2069 GraphicUses:2068Used by:2924
Symbol 2070 BitmapUsed by:2071
Symbol 2071 GraphicUses:2070Used by:2924
Symbol 2072 BitmapUsed by:2073
Symbol 2073 GraphicUses:2072Used by:2924
Symbol 2074 BitmapUsed by:2075
Symbol 2075 GraphicUses:2074Used by:2924
Symbol 2076 BitmapUsed by:2077
Symbol 2077 GraphicUses:2076Used by:2924
Symbol 2078 BitmapUsed by:2079
Symbol 2079 GraphicUses:2078Used by:2924
Symbol 2080 BitmapUsed by:2081
Symbol 2081 GraphicUses:2080Used by:2924
Symbol 2082 BitmapUsed by:2083
Symbol 2083 GraphicUses:2082Used by:2924
Symbol 2084 BitmapUsed by:2085
Symbol 2085 GraphicUses:2084Used by:2924
Symbol 2086 BitmapUsed by:2087
Symbol 2087 GraphicUses:2086Used by:2924
Symbol 2088 BitmapUsed by:2089
Symbol 2089 GraphicUses:2088Used by:2924
Symbol 2090 BitmapUsed by:2091
Symbol 2091 GraphicUses:2090Used by:2924
Symbol 2092 BitmapUsed by:2093
Symbol 2093 GraphicUses:2092Used by:2924
Symbol 2094 BitmapUsed by:2095
Symbol 2095 GraphicUses:2094Used by:2924
Symbol 2096 BitmapUsed by:2097
Symbol 2097 GraphicUses:2096Used by:2924
Symbol 2098 BitmapUsed by:2099
Symbol 2099 GraphicUses:2098Used by:2924
Symbol 2100 BitmapUsed by:2101
Symbol 2101 GraphicUses:2100Used by:2924
Symbol 2102 BitmapUsed by:2103
Symbol 2103 GraphicUses:2102Used by:2924
Symbol 2104 BitmapUsed by:2105
Symbol 2105 GraphicUses:2104Used by:2924
Symbol 2106 BitmapUsed by:2107
Symbol 2107 GraphicUses:2106Used by:2924
Symbol 2108 BitmapUsed by:2109
Symbol 2109 GraphicUses:2108Used by:2924
Symbol 2110 BitmapUsed by:2111
Symbol 2111 GraphicUses:2110Used by:2924
Symbol 2112 BitmapUsed by:2113
Symbol 2113 GraphicUses:2112Used by:2924
Symbol 2114 BitmapUsed by:2115
Symbol 2115 GraphicUses:2114Used by:2924
Symbol 2116 BitmapUsed by:2117
Symbol 2117 GraphicUses:2116Used by:2924
Symbol 2118 BitmapUsed by:2119
Symbol 2119 GraphicUses:2118Used by:2924
Symbol 2120 BitmapUsed by:2121
Symbol 2121 GraphicUses:2120Used by:2924
Symbol 2122 BitmapUsed by:2123
Symbol 2123 GraphicUses:2122Used by:2924
Symbol 2124 BitmapUsed by:2125
Symbol 2125 GraphicUses:2124Used by:2924
Symbol 2126 BitmapUsed by:2127
Symbol 2127 GraphicUses:2126Used by:2924
Symbol 2128 BitmapUsed by:2129
Symbol 2129 GraphicUses:2128Used by:2924
Symbol 2130 BitmapUsed by:2131
Symbol 2131 GraphicUses:2130Used by:2924
Symbol 2132 BitmapUsed by:2133
Symbol 2133 GraphicUses:2132Used by:2924
Symbol 2134 BitmapUsed by:2135
Symbol 2135 GraphicUses:2134Used by:2924
Symbol 2136 BitmapUsed by:2137
Symbol 2137 GraphicUses:2136Used by:2924
Symbol 2138 BitmapUsed by:2139
Symbol 2139 GraphicUses:2138Used by:2924
Symbol 2140 BitmapUsed by:2141
Symbol 2141 GraphicUses:2140Used by:2924
Symbol 2142 BitmapUsed by:2143
Symbol 2143 GraphicUses:2142Used by:2924
Symbol 2144 BitmapUsed by:2145
Symbol 2145 GraphicUses:2144Used by:2924
Symbol 2146 BitmapUsed by:2147
Symbol 2147 GraphicUses:2146Used by:2924
Symbol 2148 BitmapUsed by:2149
Symbol 2149 GraphicUses:2148Used by:2924
Symbol 2150 BitmapUsed by:2151
Symbol 2151 GraphicUses:2150Used by:2924
Symbol 2152 BitmapUsed by:2153
Symbol 2153 GraphicUses:2152Used by:2924
Symbol 2154 BitmapUsed by:2155
Symbol 2155 GraphicUses:2154Used by:2924
Symbol 2156 BitmapUsed by:2157
Symbol 2157 GraphicUses:2156Used by:2924
Symbol 2158 BitmapUsed by:2159
Symbol 2159 GraphicUses:2158Used by:2924
Symbol 2160 BitmapUsed by:2161
Symbol 2161 GraphicUses:2160Used by:2924
Symbol 2162 BitmapUsed by:2163
Symbol 2163 GraphicUses:2162Used by:2924
Symbol 2164 BitmapUsed by:2165
Symbol 2165 GraphicUses:2164Used by:2924
Symbol 2166 BitmapUsed by:2167
Symbol 2167 GraphicUses:2166Used by:2924
Symbol 2168 BitmapUsed by:2169
Symbol 2169 GraphicUses:2168Used by:2924
Symbol 2170 BitmapUsed by:2171
Symbol 2171 GraphicUses:2170Used by:2924
Symbol 2172 BitmapUsed by:2173
Symbol 2173 GraphicUses:2172Used by:2924
Symbol 2174 BitmapUsed by:2175
Symbol 2175 GraphicUses:2174Used by:2924
Symbol 2176 BitmapUsed by:2177
Symbol 2177 GraphicUses:2176Used by:2924
Symbol 2178 BitmapUsed by:2179
Symbol 2179 GraphicUses:2178Used by:2924
Symbol 2180 BitmapUsed by:2181
Symbol 2181 GraphicUses:2180Used by:2924
Symbol 2182 BitmapUsed by:2183
Symbol 2183 GraphicUses:2182Used by:2924
Symbol 2184 BitmapUsed by:2185
Symbol 2185 GraphicUses:2184Used by:2924
Symbol 2186 BitmapUsed by:2187
Symbol 2187 GraphicUses:2186Used by:2924
Symbol 2188 BitmapUsed by:2189
Symbol 2189 GraphicUses:2188Used by:2924
Symbol 2190 BitmapUsed by:2191
Symbol 2191 GraphicUses:2190Used by:2924
Symbol 2192 BitmapUsed by:2193
Symbol 2193 GraphicUses:2192Used by:2924
Symbol 2194 BitmapUsed by:2195
Symbol 2195 GraphicUses:2194Used by:2924
Symbol 2196 BitmapUsed by:2197
Symbol 2197 GraphicUses:2196Used by:2924
Symbol 2198 BitmapUsed by:2199
Symbol 2199 GraphicUses:2198Used by:2924
Symbol 2200 BitmapUsed by:2201
Symbol 2201 GraphicUses:2200Used by:2924
Symbol 2202 BitmapUsed by:2203
Symbol 2203 GraphicUses:2202Used by:2924
Symbol 2204 BitmapUsed by:2205
Symbol 2205 GraphicUses:2204Used by:2924
Symbol 2206 BitmapUsed by:2207
Symbol 2207 GraphicUses:2206Used by:2924
Symbol 2208 BitmapUsed by:2209
Symbol 2209 GraphicUses:2208Used by:2924
Symbol 2210 BitmapUsed by:2211
Symbol 2211 GraphicUses:2210Used by:2924
Symbol 2212 BitmapUsed by:2213
Symbol 2213 GraphicUses:2212Used by:2924
Symbol 2214 BitmapUsed by:2215
Symbol 2215 GraphicUses:2214Used by:2924
Symbol 2216 BitmapUsed by:2217
Symbol 2217 GraphicUses:2216Used by:2924
Symbol 2218 BitmapUsed by:2219
Symbol 2219 GraphicUses:2218Used by:2924
Symbol 2220 BitmapUsed by:2221
Symbol 2221 GraphicUses:2220Used by:2924
Symbol 2222 BitmapUsed by:2223
Symbol 2223 GraphicUses:2222Used by:2924
Symbol 2224 BitmapUsed by:2225
Symbol 2225 GraphicUses:2224Used by:2924
Symbol 2226 BitmapUsed by:2227
Symbol 2227 GraphicUses:2226Used by:2924
Symbol 2228 BitmapUsed by:2229
Symbol 2229 GraphicUses:2228Used by:2924
Symbol 2230 BitmapUsed by:2231
Symbol 2231 GraphicUses:2230Used by:2924
Symbol 2232 BitmapUsed by:2233
Symbol 2233 GraphicUses:2232Used by:2924
Symbol 2234 BitmapUsed by:2235
Symbol 2235 GraphicUses:2234Used by:2924
Symbol 2236 BitmapUsed by:2237
Symbol 2237 GraphicUses:2236Used by:2924
Symbol 2238 BitmapUsed by:2239
Symbol 2239 GraphicUses:2238Used by:2924
Symbol 2240 BitmapUsed by:2241
Symbol 2241 GraphicUses:2240Used by:2924
Symbol 2242 BitmapUsed by:2243
Symbol 2243 GraphicUses:2242Used by:2924
Symbol 2244 BitmapUsed by:2245
Symbol 2245 GraphicUses:2244Used by:2924
Symbol 2246 BitmapUsed by:2247
Symbol 2247 GraphicUses:2246Used by:2924
Symbol 2248 BitmapUsed by:2249
Symbol 2249 GraphicUses:2248Used by:2924
Symbol 2250 BitmapUsed by:2251
Symbol 2251 GraphicUses:2250Used by:2924
Symbol 2252 BitmapUsed by:2253
Symbol 2253 GraphicUses:2252Used by:2924
Symbol 2254 BitmapUsed by:2255
Symbol 2255 GraphicUses:2254Used by:2924
Symbol 2256 BitmapUsed by:2257
Symbol 2257 GraphicUses:2256Used by:2924
Symbol 2258 BitmapUsed by:2259
Symbol 2259 GraphicUses:2258Used by:2924
Symbol 2260 BitmapUsed by:2261
Symbol 2261 GraphicUses:2260Used by:2924
Symbol 2262 BitmapUsed by:2263
Symbol 2263 GraphicUses:2262Used by:2924
Symbol 2264 BitmapUsed by:2265
Symbol 2265 GraphicUses:2264Used by:2924
Symbol 2266 BitmapUsed by:2267
Symbol 2267 GraphicUses:2266Used by:2924
Symbol 2268 BitmapUsed by:2269
Symbol 2269 GraphicUses:2268Used by:2924
Symbol 2270 BitmapUsed by:2271
Symbol 2271 GraphicUses:2270Used by:2924
Symbol 2272 BitmapUsed by:2273
Symbol 2273 GraphicUses:2272Used by:2924
Symbol 2274 BitmapUsed by:2275
Symbol 2275 GraphicUses:2274Used by:2924
Symbol 2276 BitmapUsed by:2277
Symbol 2277 GraphicUses:2276Used by:2924
Symbol 2278 BitmapUsed by:2279
Symbol 2279 GraphicUses:2278Used by:2924
Symbol 2280 BitmapUsed by:2281
Symbol 2281 GraphicUses:2280Used by:2924
Symbol 2282 BitmapUsed by:2283
Symbol 2283 GraphicUses:2282Used by:2924
Symbol 2284 BitmapUsed by:2285
Symbol 2285 GraphicUses:2284Used by:2924
Symbol 2286 BitmapUsed by:2287
Symbol 2287 GraphicUses:2286Used by:2924
Symbol 2288 BitmapUsed by:2289
Symbol 2289 GraphicUses:2288Used by:2924
Symbol 2290 BitmapUsed by:2291
Symbol 2291 GraphicUses:2290Used by:2924
Symbol 2292 BitmapUsed by:2293
Symbol 2293 GraphicUses:2292Used by:2924
Symbol 2294 BitmapUsed by:2295
Symbol 2295 GraphicUses:2294Used by:2924
Symbol 2296 BitmapUsed by:2297
Symbol 2297 GraphicUses:2296Used by:2924
Symbol 2298 BitmapUsed by:2299
Symbol 2299 GraphicUses:2298Used by:2924
Symbol 2300 BitmapUsed by:2301
Symbol 2301 GraphicUses:2300Used by:2924
Symbol 2302 BitmapUsed by:2303
Symbol 2303 GraphicUses:2302Used by:2924
Symbol 2304 BitmapUsed by:2305
Symbol 2305 GraphicUses:2304Used by:2924
Symbol 2306 BitmapUsed by:2307
Symbol 2307 GraphicUses:2306Used by:2924
Symbol 2308 BitmapUsed by:2309
Symbol 2309 GraphicUses:2308Used by:2924
Symbol 2310 BitmapUsed by:2311
Symbol 2311 GraphicUses:2310Used by:2924
Symbol 2312 BitmapUsed by:2313
Symbol 2313 GraphicUses:2312Used by:2924
Symbol 2314 BitmapUsed by:2315
Symbol 2315 GraphicUses:2314Used by:2924
Symbol 2316 BitmapUsed by:2317
Symbol 2317 GraphicUses:2316Used by:2924
Symbol 2318 BitmapUsed by:2319
Symbol 2319 GraphicUses:2318Used by:2924
Symbol 2320 BitmapUsed by:2321
Symbol 2321 GraphicUses:2320Used by:2924
Symbol 2322 BitmapUsed by:2323
Symbol 2323 GraphicUses:2322Used by:2924
Symbol 2324 BitmapUsed by:2325
Symbol 2325 GraphicUses:2324Used by:2924
Symbol 2326 BitmapUsed by:2327
Symbol 2327 GraphicUses:2326Used by:2924
Symbol 2328 BitmapUsed by:2329
Symbol 2329 GraphicUses:2328Used by:2924
Symbol 2330 BitmapUsed by:2331
Symbol 2331 GraphicUses:2330Used by:2924
Symbol 2332 BitmapUsed by:2333
Symbol 2333 GraphicUses:2332Used by:2924
Symbol 2334 BitmapUsed by:2335
Symbol 2335 GraphicUses:2334Used by:2924
Symbol 2336 BitmapUsed by:2337
Symbol 2337 GraphicUses:2336Used by:2924
Symbol 2338 BitmapUsed by:2339
Symbol 2339 GraphicUses:2338Used by:2924
Symbol 2340 BitmapUsed by:2341
Symbol 2341 GraphicUses:2340Used by:2924
Symbol 2342 BitmapUsed by:2343
Symbol 2343 GraphicUses:2342Used by:2924
Symbol 2344 BitmapUsed by:2345
Symbol 2345 GraphicUses:2344Used by:2924
Symbol 2346 BitmapUsed by:2347
Symbol 2347 GraphicUses:2346Used by:2924
Symbol 2348 BitmapUsed by:2349
Symbol 2349 GraphicUses:2348Used by:2924
Symbol 2350 BitmapUsed by:2351
Symbol 2351 GraphicUses:2350Used by:2924
Symbol 2352 BitmapUsed by:2353
Symbol 2353 GraphicUses:2352Used by:2924
Symbol 2354 BitmapUsed by:2355
Symbol 2355 GraphicUses:2354Used by:2924
Symbol 2356 BitmapUsed by:2357
Symbol 2357 GraphicUses:2356Used by:2924
Symbol 2358 BitmapUsed by:2359
Symbol 2359 GraphicUses:2358Used by:2924
Symbol 2360 BitmapUsed by:2361
Symbol 2361 GraphicUses:2360Used by:2924
Symbol 2362 BitmapUsed by:2363
Symbol 2363 GraphicUses:2362Used by:2924
Symbol 2364 BitmapUsed by:2365
Symbol 2365 GraphicUses:2364Used by:2924
Symbol 2366 BitmapUsed by:2367
Symbol 2367 GraphicUses:2366Used by:2924
Symbol 2368 BitmapUsed by:2369
Symbol 2369 GraphicUses:2368Used by:2924
Symbol 2370 BitmapUsed by:2371
Symbol 2371 GraphicUses:2370Used by:2924
Symbol 2372 BitmapUsed by:2373
Symbol 2373 GraphicUses:2372Used by:2924
Symbol 2374 BitmapUsed by:2375
Symbol 2375 GraphicUses:2374Used by:2924
Symbol 2376 BitmapUsed by:2377
Symbol 2377 GraphicUses:2376Used by:2924
Symbol 2378 BitmapUsed by:2379
Symbol 2379 GraphicUses:2378Used by:2924
Symbol 2380 BitmapUsed by:2381
Symbol 2381 GraphicUses:2380Used by:2924
Symbol 2382 BitmapUsed by:2383
Symbol 2383 GraphicUses:2382Used by:2924
Symbol 2384 BitmapUsed by:2385
Symbol 2385 GraphicUses:2384Used by:2924
Symbol 2386 BitmapUsed by:2387
Symbol 2387 GraphicUses:2386Used by:2924
Symbol 2388 BitmapUsed by:2389
Symbol 2389 GraphicUses:2388Used by:2924
Symbol 2390 BitmapUsed by:2391
Symbol 2391 GraphicUses:2390Used by:2924
Symbol 2392 BitmapUsed by:2393
Symbol 2393 GraphicUses:2392Used by:2924
Symbol 2394 BitmapUsed by:2395
Symbol 2395 GraphicUses:2394Used by:2924
Symbol 2396 BitmapUsed by:2397
Symbol 2397 GraphicUses:2396Used by:2924
Symbol 2398 BitmapUsed by:2399
Symbol 2399 GraphicUses:2398Used by:2924
Symbol 2400 BitmapUsed by:2401
Symbol 2401 GraphicUses:2400Used by:2924
Symbol 2402 BitmapUsed by:2403
Symbol 2403 GraphicUses:2402Used by:2924
Symbol 2404 BitmapUsed by:2405
Symbol 2405 GraphicUses:2404Used by:2924
Symbol 2406 BitmapUsed by:2407
Symbol 2407 GraphicUses:2406Used by:2924
Symbol 2408 BitmapUsed by:2409
Symbol 2409 GraphicUses:2408Used by:2924
Symbol 2410 BitmapUsed by:2411
Symbol 2411 GraphicUses:2410Used by:2924
Symbol 2412 BitmapUsed by:2413
Symbol 2413 GraphicUses:2412Used by:2924
Symbol 2414 BitmapUsed by:2415
Symbol 2415 GraphicUses:2414Used by:2924
Symbol 2416 BitmapUsed by:2417
Symbol 2417 GraphicUses:2416Used by:2924
Symbol 2418 BitmapUsed by:2419
Symbol 2419 GraphicUses:2418Used by:2924
Symbol 2420 BitmapUsed by:2421
Symbol 2421 GraphicUses:2420Used by:2924
Symbol 2422 BitmapUsed by:2423
Symbol 2423 GraphicUses:2422Used by:2924
Symbol 2424 BitmapUsed by:2425
Symbol 2425 GraphicUses:2424Used by:2924
Symbol 2426 BitmapUsed by:2427
Symbol 2427 GraphicUses:2426Used by:2924
Symbol 2428 BitmapUsed by:2429
Symbol 2429 GraphicUses:2428Used by:2924
Symbol 2430 BitmapUsed by:2431
Symbol 2431 GraphicUses:2430Used by:2924
Symbol 2432 BitmapUsed by:2433
Symbol 2433 GraphicUses:2432Used by:2924
Symbol 2434 BitmapUsed by:2435
Symbol 2435 GraphicUses:2434Used by:2924
Symbol 2436 BitmapUsed by:2437
Symbol 2437 GraphicUses:2436Used by:2924
Symbol 2438 BitmapUsed by:2439
Symbol 2439 GraphicUses:2438Used by:2924
Symbol 2440 BitmapUsed by:2441
Symbol 2441 GraphicUses:2440Used by:2924
Symbol 2442 BitmapUsed by:2443
Symbol 2443 GraphicUses:2442Used by:2924
Symbol 2444 BitmapUsed by:2445
Symbol 2445 GraphicUses:2444Used by:2924
Symbol 2446 BitmapUsed by:2447
Symbol 2447 GraphicUses:2446Used by:2924
Symbol 2448 BitmapUsed by:2449
Symbol 2449 GraphicUses:2448Used by:2924
Symbol 2450 BitmapUsed by:2451
Symbol 2451 GraphicUses:2450Used by:2924
Symbol 2452 BitmapUsed by:2453
Symbol 2453 GraphicUses:2452Used by:2924
Symbol 2454 BitmapUsed by:2455
Symbol 2455 GraphicUses:2454Used by:2924
Symbol 2456 BitmapUsed by:2457
Symbol 2457 GraphicUses:2456Used by:2924
Symbol 2458 BitmapUsed by:2459
Symbol 2459 GraphicUses:2458Used by:2924
Symbol 2460 BitmapUsed by:2461
Symbol 2461 GraphicUses:2460Used by:2924
Symbol 2462 BitmapUsed by:2463
Symbol 2463 GraphicUses:2462Used by:2924
Symbol 2464 BitmapUsed by:2465
Symbol 2465 GraphicUses:2464Used by:2924
Symbol 2466 BitmapUsed by:2467
Symbol 2467 GraphicUses:2466Used by:2924
Symbol 2468 BitmapUsed by:2469
Symbol 2469 GraphicUses:2468Used by:2924
Symbol 2470 BitmapUsed by:2471
Symbol 2471 GraphicUses:2470Used by:2924
Symbol 2472 BitmapUsed by:2473
Symbol 2473 GraphicUses:2472Used by:2924
Symbol 2474 BitmapUsed by:2475
Symbol 2475 GraphicUses:2474Used by:2924
Symbol 2476 BitmapUsed by:2477
Symbol 2477 GraphicUses:2476Used by:2924
Symbol 2478 BitmapUsed by:2479
Symbol 2479 GraphicUses:2478Used by:2924
Symbol 2480 BitmapUsed by:2481
Symbol 2481 GraphicUses:2480Used by:2924
Symbol 2482 BitmapUsed by:2483
Symbol 2483 GraphicUses:2482Used by:2924
Symbol 2484 BitmapUsed by:2485
Symbol 2485 GraphicUses:2484Used by:2924
Symbol 2486 BitmapUsed by:2487
Symbol 2487 GraphicUses:2486Used by:2924
Symbol 2488 BitmapUsed by:2489
Symbol 2489 GraphicUses:2488Used by:2924
Symbol 2490 BitmapUsed by:2491
Symbol 2491 GraphicUses:2490Used by:2924
Symbol 2492 BitmapUsed by:2493
Symbol 2493 GraphicUses:2492Used by:2924
Symbol 2494 BitmapUsed by:2495
Symbol 2495 GraphicUses:2494Used by:2924
Symbol 2496 BitmapUsed by:2497
Symbol 2497 GraphicUses:2496Used by:2924
Symbol 2498 BitmapUsed by:2499
Symbol 2499 GraphicUses:2498Used by:2924
Symbol 2500 BitmapUsed by:2501
Symbol 2501 GraphicUses:2500Used by:2924
Symbol 2502 BitmapUsed by:2503
Symbol 2503 GraphicUses:2502Used by:2924
Symbol 2504 BitmapUsed by:2505
Symbol 2505 GraphicUses:2504Used by:2924
Symbol 2506 BitmapUsed by:2507
Symbol 2507 GraphicUses:2506Used by:2924
Symbol 2508 BitmapUsed by:2509
Symbol 2509 GraphicUses:2508Used by:2924
Symbol 2510 BitmapUsed by:2511
Symbol 2511 GraphicUses:2510Used by:2924
Symbol 2512 BitmapUsed by:2513
Symbol 2513 GraphicUses:2512Used by:2924
Symbol 2514 BitmapUsed by:2515
Symbol 2515 GraphicUses:2514Used by:2924
Symbol 2516 BitmapUsed by:2517
Symbol 2517 GraphicUses:2516Used by:2924
Symbol 2518 BitmapUsed by:2519
Symbol 2519 GraphicUses:2518Used by:2924
Symbol 2520 BitmapUsed by:2521
Symbol 2521 GraphicUses:2520Used by:2924
Symbol 2522 BitmapUsed by:2523
Symbol 2523 GraphicUses:2522Used by:2924
Symbol 2524 BitmapUsed by:2525
Symbol 2525 GraphicUses:2524Used by:2924
Symbol 2526 BitmapUsed by:2527
Symbol 2527 GraphicUses:2526Used by:2924
Symbol 2528 BitmapUsed by:2529
Symbol 2529 GraphicUses:2528Used by:2924
Symbol 2530 BitmapUsed by:2531
Symbol 2531 GraphicUses:2530Used by:2924
Symbol 2532 BitmapUsed by:2533
Symbol 2533 GraphicUses:2532Used by:2924
Symbol 2534 BitmapUsed by:2535
Symbol 2535 GraphicUses:2534Used by:2924
Symbol 2536 BitmapUsed by:2537
Symbol 2537 GraphicUses:2536Used by:2924
Symbol 2538 BitmapUsed by:2539
Symbol 2539 GraphicUses:2538Used by:2924
Symbol 2540 BitmapUsed by:2541
Symbol 2541 GraphicUses:2540Used by:2924
Symbol 2542 BitmapUsed by:2543
Symbol 2543 GraphicUses:2542Used by:2924
Symbol 2544 BitmapUsed by:2545
Symbol 2545 GraphicUses:2544Used by:2924
Symbol 2546 BitmapUsed by:2547
Symbol 2547 GraphicUses:2546Used by:2924
Symbol 2548 BitmapUsed by:2549
Symbol 2549 GraphicUses:2548Used by:2924
Symbol 2550 BitmapUsed by:2551
Symbol 2551 GraphicUses:2550Used by:2924
Symbol 2552 BitmapUsed by:2553
Symbol 2553 GraphicUses:2552Used by:2924
Symbol 2554 BitmapUsed by:2555
Symbol 2555 GraphicUses:2554Used by:2924
Symbol 2556 BitmapUsed by:2557
Symbol 2557 GraphicUses:2556Used by:2924
Symbol 2558 BitmapUsed by:2559
Symbol 2559 GraphicUses:2558Used by:2924
Symbol 2560 BitmapUsed by:2561
Symbol 2561 GraphicUses:2560Used by:2924
Symbol 2562 BitmapUsed by:2563
Symbol 2563 GraphicUses:2562Used by:2924
Symbol 2564 BitmapUsed by:2565
Symbol 2565 GraphicUses:2564Used by:2924
Symbol 2566 BitmapUsed by:2567
Symbol 2567 GraphicUses:2566Used by:2924
Symbol 2568 BitmapUsed by:2569
Symbol 2569 GraphicUses:2568Used by:2924
Symbol 2570 BitmapUsed by:2571
Symbol 2571 GraphicUses:2570Used by:2924
Symbol 2572 BitmapUsed by:2573
Symbol 2573 GraphicUses:2572Used by:2924
Symbol 2574 BitmapUsed by:2575
Symbol 2575 GraphicUses:2574Used by:2924
Symbol 2576 BitmapUsed by:2577
Symbol 2577 GraphicUses:2576Used by:2924
Symbol 2578 BitmapUsed by:2579
Symbol 2579 GraphicUses:2578Used by:2924
Symbol 2580 BitmapUsed by:2581
Symbol 2581 GraphicUses:2580Used by:2924
Symbol 2582 BitmapUsed by:2583
Symbol 2583 GraphicUses:2582Used by:2924
Symbol 2584 BitmapUsed by:2585
Symbol 2585 GraphicUses:2584Used by:2924
Symbol 2586 BitmapUsed by:2587
Symbol 2587 GraphicUses:2586Used by:2924
Symbol 2588 BitmapUsed by:2589
Symbol 2589 GraphicUses:2588Used by:2924
Symbol 2590 BitmapUsed by:2591
Symbol 2591 GraphicUses:2590Used by:2924
Symbol 2592 BitmapUsed by:2593
Symbol 2593 GraphicUses:2592Used by:2924
Symbol 2594 BitmapUsed by:2595
Symbol 2595 GraphicUses:2594Used by:2924
Symbol 2596 BitmapUsed by:2597
Symbol 2597 GraphicUses:2596Used by:2924
Symbol 2598 BitmapUsed by:2599
Symbol 2599 GraphicUses:2598Used by:2924
Symbol 2600 BitmapUsed by:2601
Symbol 2601 GraphicUses:2600Used by:2924
Symbol 2602 BitmapUsed by:2603
Symbol 2603 GraphicUses:2602Used by:2924
Symbol 2604 BitmapUsed by:2605
Symbol 2605 GraphicUses:2604Used by:2924
Symbol 2606 BitmapUsed by:2607
Symbol 2607 GraphicUses:2606Used by:2924
Symbol 2608 BitmapUsed by:2609
Symbol 2609 GraphicUses:2608Used by:2924
Symbol 2610 BitmapUsed by:2611
Symbol 2611 GraphicUses:2610Used by:2924
Symbol 2612 BitmapUsed by:2613
Symbol 2613 GraphicUses:2612Used by:2924
Symbol 2614 BitmapUsed by:2615
Symbol 2615 GraphicUses:2614Used by:2924
Symbol 2616 BitmapUsed by:2617
Symbol 2617 GraphicUses:2616Used by:2924
Symbol 2618 BitmapUsed by:2619
Symbol 2619 GraphicUses:2618Used by:2924
Symbol 2620 BitmapUsed by:2621
Symbol 2621 GraphicUses:2620Used by:2924
Symbol 2622 BitmapUsed by:2623
Symbol 2623 GraphicUses:2622Used by:2924
Symbol 2624 BitmapUsed by:2625
Symbol 2625 GraphicUses:2624Used by:2924
Symbol 2626 BitmapUsed by:2627
Symbol 2627 GraphicUses:2626Used by:2924
Symbol 2628 BitmapUsed by:2629
Symbol 2629 GraphicUses:2628Used by:2924
Symbol 2630 BitmapUsed by:2631
Symbol 2631 GraphicUses:2630Used by:2924
Symbol 2632 BitmapUsed by:2633
Symbol 2633 GraphicUses:2632Used by:2924
Symbol 2634 BitmapUsed by:2635
Symbol 2635 GraphicUses:2634Used by:2924
Symbol 2636 BitmapUsed by:2637
Symbol 2637 GraphicUses:2636Used by:2924
Symbol 2638 BitmapUsed by:2639
Symbol 2639 GraphicUses:2638Used by:2924
Symbol 2640 BitmapUsed by:2641
Symbol 2641 GraphicUses:2640Used by:2924
Symbol 2642 BitmapUsed by:2643
Symbol 2643 GraphicUses:2642Used by:2924
Symbol 2644 BitmapUsed by:2645
Symbol 2645 GraphicUses:2644Used by:2924
Symbol 2646 BitmapUsed by:2647
Symbol 2647 GraphicUses:2646Used by:2924
Symbol 2648 BitmapUsed by:2649
Symbol 2649 GraphicUses:2648Used by:2924
Symbol 2650 BitmapUsed by:2651
Symbol 2651 GraphicUses:2650Used by:2924
Symbol 2652 BitmapUsed by:2653
Symbol 2653 GraphicUses:2652Used by:2924
Symbol 2654 BitmapUsed by:2655
Symbol 2655 GraphicUses:2654Used by:2924
Symbol 2656 BitmapUsed by:2657
Symbol 2657 GraphicUses:2656Used by:2924
Symbol 2658 BitmapUsed by:2659
Symbol 2659 GraphicUses:2658Used by:2924
Symbol 2660 BitmapUsed by:2661
Symbol 2661 GraphicUses:2660Used by:2924
Symbol 2662 BitmapUsed by:2663
Symbol 2663 GraphicUses:2662Used by:2924
Symbol 2664 BitmapUsed by:2665
Symbol 2665 GraphicUses:2664Used by:2924
Symbol 2666 BitmapUsed by:2667
Symbol 2667 GraphicUses:2666Used by:2924
Symbol 2668 BitmapUsed by:2669
Symbol 2669 GraphicUses:2668Used by:2924
Symbol 2670 BitmapUsed by:2671
Symbol 2671 GraphicUses:2670Used by:2924
Symbol 2672 BitmapUsed by:2673
Symbol 2673 GraphicUses:2672Used by:2924
Symbol 2674 BitmapUsed by:2675
Symbol 2675 GraphicUses:2674Used by:2924
Symbol 2676 BitmapUsed by:2677
Symbol 2677 GraphicUses:2676Used by:2924
Symbol 2678 BitmapUsed by:2679
Symbol 2679 GraphicUses:2678Used by:2924
Symbol 2680 BitmapUsed by:2681
Symbol 2681 GraphicUses:2680Used by:2924
Symbol 2682 BitmapUsed by:2683
Symbol 2683 GraphicUses:2682Used by:2924
Symbol 2684 BitmapUsed by:2685
Symbol 2685 GraphicUses:2684Used by:2924
Symbol 2686 BitmapUsed by:2687
Symbol 2687 GraphicUses:2686Used by:2924
Symbol 2688 BitmapUsed by:2689
Symbol 2689 GraphicUses:2688Used by:2924
Symbol 2690 BitmapUsed by:2691
Symbol 2691 GraphicUses:2690Used by:2924
Symbol 2692 BitmapUsed by:2693
Symbol 2693 GraphicUses:2692Used by:2924
Symbol 2694 BitmapUsed by:2695
Symbol 2695 GraphicUses:2694Used by:2924
Symbol 2696 BitmapUsed by:2697
Symbol 2697 GraphicUses:2696Used by:2924
Symbol 2698 BitmapUsed by:2699
Symbol 2699 GraphicUses:2698Used by:2924
Symbol 2700 BitmapUsed by:2701
Symbol 2701 GraphicUses:2700Used by:2924
Symbol 2702 BitmapUsed by:2703
Symbol 2703 GraphicUses:2702Used by:2924
Symbol 2704 BitmapUsed by:2705
Symbol 2705 GraphicUses:2704Used by:2924
Symbol 2706 BitmapUsed by:2707
Symbol 2707 GraphicUses:2706Used by:2924
Symbol 2708 BitmapUsed by:2709
Symbol 2709 GraphicUses:2708Used by:2924
Symbol 2710 BitmapUsed by:2711
Symbol 2711 GraphicUses:2710Used by:2924
Symbol 2712 BitmapUsed by:2713
Symbol 2713 GraphicUses:2712Used by:2924
Symbol 2714 BitmapUsed by:2715
Symbol 2715 GraphicUses:2714Used by:2924
Symbol 2716 BitmapUsed by:2717
Symbol 2717 GraphicUses:2716Used by:2924
Symbol 2718 BitmapUsed by:2719
Symbol 2719 GraphicUses:2718Used by:2924
Symbol 2720 BitmapUsed by:2721
Symbol 2721 GraphicUses:2720Used by:2924
Symbol 2722 BitmapUsed by:2723
Symbol 2723 GraphicUses:2722Used by:2924
Symbol 2724 BitmapUsed by:2725
Symbol 2725 GraphicUses:2724Used by:2924
Symbol 2726 BitmapUsed by:2727
Symbol 2727 GraphicUses:2726Used by:2924
Symbol 2728 BitmapUsed by:2729
Symbol 2729 GraphicUses:2728Used by:2924
Symbol 2730 BitmapUsed by:2731
Symbol 2731 GraphicUses:2730Used by:2924
Symbol 2732 BitmapUsed by:2733
Symbol 2733 GraphicUses:2732Used by:2924
Symbol 2734 BitmapUsed by:2735
Symbol 2735 GraphicUses:2734Used by:2924
Symbol 2736 BitmapUsed by:2737
Symbol 2737 GraphicUses:2736Used by:2924
Symbol 2738 BitmapUsed by:2739
Symbol 2739 GraphicUses:2738Used by:2924
Symbol 2740 BitmapUsed by:2741
Symbol 2741 GraphicUses:2740Used by:2924
Symbol 2742 BitmapUsed by:2743
Symbol 2743 GraphicUses:2742Used by:2924
Symbol 2744 BitmapUsed by:2745
Symbol 2745 GraphicUses:2744Used by:2924
Symbol 2746 BitmapUsed by:2747
Symbol 2747 GraphicUses:2746Used by:2924
Symbol 2748 BitmapUsed by:2749
Symbol 2749 GraphicUses:2748Used by:2924
Symbol 2750 BitmapUsed by:2751
Symbol 2751 GraphicUses:2750Used by:2924
Symbol 2752 BitmapUsed by:2753
Symbol 2753 GraphicUses:2752Used by:2924
Symbol 2754 BitmapUsed by:2755
Symbol 2755 GraphicUses:2754Used by:2924
Symbol 2756 BitmapUsed by:2757
Symbol 2757 GraphicUses:2756Used by:2924
Symbol 2758 BitmapUsed by:2759
Symbol 2759 GraphicUses:2758Used by:2924
Symbol 2760 BitmapUsed by:2761
Symbol 2761 GraphicUses:2760Used by:2924
Symbol 2762 BitmapUsed by:2763
Symbol 2763 GraphicUses:2762Used by:2924
Symbol 2764 BitmapUsed by:2765
Symbol 2765 GraphicUses:2764Used by:2924
Symbol 2766 BitmapUsed by:2767
Symbol 2767 GraphicUses:2766Used by:2924
Symbol 2768 BitmapUsed by:2769
Symbol 2769 GraphicUses:2768Used by:2924
Symbol 2770 BitmapUsed by:2771
Symbol 2771 GraphicUses:2770Used by:2924
Symbol 2772 BitmapUsed by:2773
Symbol 2773 GraphicUses:2772Used by:2924
Symbol 2774 BitmapUsed by:2775
Symbol 2775 GraphicUses:2774Used by:2924
Symbol 2776 BitmapUsed by:2777
Symbol 2777 GraphicUses:2776Used by:2924
Symbol 2778 BitmapUsed by:2779
Symbol 2779 GraphicUses:2778Used by:2924
Symbol 2780 BitmapUsed by:2781
Symbol 2781 GraphicUses:2780Used by:2924
Symbol 2782 BitmapUsed by:2783
Symbol 2783 GraphicUses:2782Used by:2924
Symbol 2784 BitmapUsed by:2785
Symbol 2785 GraphicUses:2784Used by:2924
Symbol 2786 BitmapUsed by:2787
Symbol 2787 GraphicUses:2786Used by:2924
Symbol 2788 BitmapUsed by:2789
Symbol 2789 GraphicUses:2788Used by:2924
Symbol 2790 BitmapUsed by:2791
Symbol 2791 GraphicUses:2790Used by:2924
Symbol 2792 BitmapUsed by:2793
Symbol 2793 GraphicUses:2792Used by:2924
Symbol 2794 BitmapUsed by:2795
Symbol 2795 GraphicUses:2794Used by:2924
Symbol 2796 BitmapUsed by:2797
Symbol 2797 GraphicUses:2796Used by:2924
Symbol 2798 BitmapUsed by:2799
Symbol 2799 GraphicUses:2798Used by:2924
Symbol 2800 BitmapUsed by:2801
Symbol 2801 GraphicUses:2800Used by:2924
Symbol 2802 BitmapUsed by:2803
Symbol 2803 GraphicUses:2802Used by:2924
Symbol 2804 BitmapUsed by:2805
Symbol 2805 GraphicUses:2804Used by:2924
Symbol 2806 BitmapUsed by:2807
Symbol 2807 GraphicUses:2806Used by:2924
Symbol 2808 BitmapUsed by:2809
Symbol 2809 GraphicUses:2808Used by:2924
Symbol 2810 BitmapUsed by:2811
Symbol 2811 GraphicUses:2810Used by:2924
Symbol 2812 BitmapUsed by:2813
Symbol 2813 GraphicUses:2812Used by:2924
Symbol 2814 BitmapUsed by:2815
Symbol 2815 GraphicUses:2814Used by:2924
Symbol 2816 BitmapUsed by:2817
Symbol 2817 GraphicUses:2816Used by:2924
Symbol 2818 BitmapUsed by:2819
Symbol 2819 GraphicUses:2818Used by:2924
Symbol 2820 BitmapUsed by:2821
Symbol 2821 GraphicUses:2820Used by:2924
Symbol 2822 BitmapUsed by:2823
Symbol 2823 GraphicUses:2822Used by:2924
Symbol 2824 BitmapUsed by:2825
Symbol 2825 GraphicUses:2824Used by:2924
Symbol 2826 BitmapUsed by:2827
Symbol 2827 GraphicUses:2826Used by:2924
Symbol 2828 BitmapUsed by:2829
Symbol 2829 GraphicUses:2828Used by:2924
Symbol 2830 BitmapUsed by:2831
Symbol 2831 GraphicUses:2830Used by:2924
Symbol 2832 BitmapUsed by:2833
Symbol 2833 GraphicUses:2832Used by:2924
Symbol 2834 BitmapUsed by:2835
Symbol 2835 GraphicUses:2834Used by:2924
Symbol 2836 BitmapUsed by:2837
Symbol 2837 GraphicUses:2836Used by:2924
Symbol 2838 BitmapUsed by:2839
Symbol 2839 GraphicUses:2838Used by:2924
Symbol 2840 BitmapUsed by:2841
Symbol 2841 GraphicUses:2840Used by:2924
Symbol 2842 BitmapUsed by:2843
Symbol 2843 GraphicUses:2842Used by:2924
Symbol 2844 BitmapUsed by:2845
Symbol 2845 GraphicUses:2844Used by:2924
Symbol 2846 BitmapUsed by:2847
Symbol 2847 GraphicUses:2846Used by:2924
Symbol 2848 BitmapUsed by:2849
Symbol 2849 GraphicUses:2848Used by:2924
Symbol 2850 BitmapUsed by:2851
Symbol 2851 GraphicUses:2850Used by:2924
Symbol 2852 BitmapUsed by:2853
Symbol 2853 GraphicUses:2852Used by:2924
Symbol 2854 BitmapUsed by:2855
Symbol 2855 GraphicUses:2854Used by:2924
Symbol 2856 BitmapUsed by:2857
Symbol 2857 GraphicUses:2856Used by:2924
Symbol 2858 BitmapUsed by:2859
Symbol 2859 GraphicUses:2858Used by:2924
Symbol 2860 BitmapUsed by:2861
Symbol 2861 GraphicUses:2860Used by:2924
Symbol 2862 BitmapUsed by:2863
Symbol 2863 GraphicUses:2862Used by:2924
Symbol 2864 BitmapUsed by:2865
Symbol 2865 GraphicUses:2864Used by:2924
Symbol 2866 BitmapUsed by:2867
Symbol 2867 GraphicUses:2866Used by:2924
Symbol 2868 BitmapUsed by:2869
Symbol 2869 GraphicUses:2868Used by:2924
Symbol 2870 BitmapUsed by:2871
Symbol 2871 GraphicUses:2870Used by:2924
Symbol 2872 BitmapUsed by:2873
Symbol 2873 GraphicUses:2872Used by:2924
Symbol 2874 BitmapUsed by:2875
Symbol 2875 GraphicUses:2874Used by:2924
Symbol 2876 BitmapUsed by:2877
Symbol 2877 GraphicUses:2876Used by:2924
Symbol 2878 BitmapUsed by:2879
Symbol 2879 GraphicUses:2878Used by:2924
Symbol 2880 BitmapUsed by:2881
Symbol 2881 GraphicUses:2880Used by:2924
Symbol 2882 BitmapUsed by:2883
Symbol 2883 GraphicUses:2882Used by:2924
Symbol 2884 BitmapUsed by:2885
Symbol 2885 GraphicUses:2884Used by:2924
Symbol 2886 BitmapUsed by:2887
Symbol 2887 GraphicUses:2886Used by:2924
Symbol 2888 BitmapUsed by:2889
Symbol 2889 GraphicUses:2888Used by:2924
Symbol 2890 BitmapUsed by:2891
Symbol 2891 GraphicUses:2890Used by:2924
Symbol 2892 BitmapUsed by:2893
Symbol 2893 GraphicUses:2892Used by:2924
Symbol 2894 BitmapUsed by:2895
Symbol 2895 GraphicUses:2894Used by:2924
Symbol 2896 BitmapUsed by:2897
Symbol 2897 GraphicUses:2896Used by:2924
Symbol 2898 BitmapUsed by:2899
Symbol 2899 GraphicUses:2898Used by:2924
Symbol 2900 BitmapUsed by:2901
Symbol 2901 GraphicUses:2900Used by:2924
Symbol 2902 BitmapUsed by:2903
Symbol 2903 GraphicUses:2902Used by:2924
Symbol 2904 BitmapUsed by:2905
Symbol 2905 GraphicUses:2904Used by:2924
Symbol 2906 BitmapUsed by:2907
Symbol 2907 GraphicUses:2906Used by:2924
Symbol 2908 BitmapUsed by:2909
Symbol 2909 GraphicUses:2908Used by:2924
Symbol 2910 BitmapUsed by:2911
Symbol 2911 GraphicUses:2910Used by:2924
Symbol 2912 BitmapUsed by:2913
Symbol 2913 GraphicUses:2912Used by:2924
Symbol 2914 BitmapUsed by:2915
Symbol 2915 GraphicUses:2914Used by:2924
Symbol 2916 BitmapUsed by:2917
Symbol 2917 GraphicUses:2916Used by:2924
Symbol 2918 BitmapUsed by:2919
Symbol 2919 GraphicUses:2918Used by:2924
Symbol 2920 BitmapUsed by:2921
Symbol 2921 GraphicUses:2920Used by:2924
Symbol 2922 BitmapUsed by:2923
Symbol 2923 GraphicUses:2922Used by:2924
Symbol 2924 MovieClip {Smoke}Uses:621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 671 673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 731 733 735 737 739 741 743 745 747 749 751 753 755 757 759 761 763 765 767 769 771 773 775 777 779 781 783 785 787 789 791 793 795 797 799 801 803 805 807 809 811 813 815 817 819 821 823 825 827 829 831 833 835 837 839 841 843 845 847 849 851 853 855 857 859 861 863 865 867 869 871 873 875 877 879 881 883 885 887 889 891 893 895 897 899 901 903 905 907 909 911 913 915 917 919 921 923 925 927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 957 959 961 963 965 967 969 971 973 975 977 979 981 983 985 987 989 991 993 995 997 999 1001 1003 1005 1007 1009 1011 1013 1015 1017 1019 1021 1023 1025 1027 1029 1031 1033 1035 1037 1039 1041 1043 1045 1047 1049 1051 1053 1055 1057 1059 1061 1063 1065 1067 1069 1071 1073 1075 1077 1079 1081 1083 1085 1087 1089 1091 1093 1095 1097 1099 1101 1103 1105 1107 1109 1111 1113 1115 1117 1119 1121 1123 1125 1127 1129 1131 1133 1135 1137 1139 1141 1143 1145 1147 1149 1151 1153 1155 1157 1159 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1213 1215 1217 1219 1221 1223 1225 1227 1229 1231 1233 1235 1237 1239 1241 1243 1245 1247 1249 1251 1253 1255 1257 1259 1261 1263 1265 1267 1269 1271 1273 1275 1277 1279 1281 1283 1285 1287 1289 1291 1293 1295 1297 1299 1301 1303 1305 1307 1309 1311 1313 1315 1317 1319 1321 1323 1325 1327 1329 1331 1333 1335 1337 1339 1341 1343 1345 1347 1349 1351 1353 1355 1357 1359 1361 1363 1365 1367 1369 1371 1373 1375 1377 1379 1381 1383 1385 1387 1389 1391 1393 1395 1397 1399 1401 1403 1405 1407 1409 1411 1413 1415 1417 1419 1421 1423 1425 1427 1429 1431 1433 1435 1437 1439 1441 1443 1445 1447 1449 1451 1453 1455 1457 1459 1461 1463 1465 1467 1469 1471 1473 1475 1477 1479 1481 1483 1485 1487 1489 1491 1493 1495 1497 1499 1501 1503 1505 1507 1509 1511 1513 1515 1517 1519 1521 1523 1525 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1577 1579 1581 1583 1585 1587 1589 1591 1593 1595 1597 1599 1601 1603 1605 1607 1609 1611 1613 1615 1617 1619 1621 1623 1625 1627 1629 1631 1633 1635 1637 1639 1641 1643 1645 1647 1649 1651 1653 1655 1657 1659 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1707 1709 1711 1713 1715 1717 1719 1721 1723 1725 1727 1729 1731 1733 1735 1737 1739 1741 1743 1745 1747 1749 1751 1753 1755 1757 1759 1761 1763 1765 1767 1769 1771 1773 1775 1777 1779 1781 1783 1785 1787 1789 1791 1793 1795 1797 1799 1801 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1825 1827 1829 1831 1833 1835 1837 1839 1841 1843 1845 1847 1849 1851 1853 1855 1857 1859 1861 1863 1865 1867 1869 1871 1873 1875 1877 1879 1881 1883 1885 1887 1889 1891 1893 1895 1897 1899 1901 1903 1905 1907 1909 1911 1913 1915 1917 1919 1921 1923 1925 1927 1929 1931 1933 1935 1937 1939 1941 1943 1945 1947 1949 1951 1953 1955 1957 1959 1961 1963 1965 1967 1969 1971 1973 1975 1977 1979 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009 2011 2013 2015 2017 2019 2021 2023 2025 2027 2029 2031 2033 2035 2037 2039 2041 2043 2045 2047 2049 2051 2053 2055 2057 2059 2061 2063 2065 2067 2069 2071 2073 2075 2077 2079 2081 2083 2085 2087 2089 2091 2093 2095 2097 2099 2101 2103 2105 2107 2109 2111 2113 2115 2117 2119 2121 2123 2125 2127 2129 2131 2133 2135 2137 2139 2141 2143 2145 2147 2149 2151 2153 2155 2157 2159 2161 2163 2165 2167 2169 2171 2173 2175 2177 2179 2181 2183 2185 2187 2189 2191 2193 2195 2197 2199 2201 2203 2205 2207 2209 2211 2213 2215 2217 2219 2221 2223 2225 2227 2229 2231 2233 2235 2237 2239 2241 2243 2245 2247 2249 2251 2253 2255 2257 2259 2261 2263 2265 2267 2269 2271 2273 2275 2277 2279 2281 2283 2285 2287 2289 2291 2293 2295 2297 2299 2301 2303 2305 2307 2309 2311 2313 2315 2317 2319 2321 2323 2325 2327 2329 2331 2333 2335 2337 2339 2341 2343 2345 2347 2349 2351 2353 2355 2357 2359 2361 2363 2365 2367 2369 2371 2373 2375 2377 2379 2381 2383 2385 2387 2389 2391 2393 2395 2397 2399 2401 2403 2405 2407 2409 2411 2413 2415 2417 2419 2421 2423 2425 2427 2429 2431 2433 2435 2437 2439 2441 2443 2445 2447 2449 2451 2453 2455 2457 2459 2461 2463 2465 2467 2469 2471 2473 2475 2477 2479 2481 2483 2485 2487 2489 2491 2493 2495 2497 2499 2501 2503 2505 2507 2509 2511 2513 2515 2517 2519 2521 2523 2525 2527 2529 2531 2533 2535 2537 2539 2541 2543 2545 2547 2549 2551 2553 2555 2557 2559 2561 2563 2565 2567 2569 2571 2573 2575 2577 2579 2581 2583 2585 2587 2589 2591 2593 2595 2597 2599 2601 2603 2605 2607 2609 2611 2613 2615 2617 2619 2621 2623 2625 2627 2629 2631 2633 2635 2637 2639 2641 2643 2645 2647 2649 2651 2653 2655 2657 2659 2661 2663 2665 2667 2669 2671 2673 2675 2677 2679 2681 2683 2685 2687 2689 2691 2693 2695 2697 2699 2701 2703 2705 2707 2709 2711 2713 2715 2717 2719 2721 2723 2725 2727 2729 2731 2733 2735 2737 2739 2741 2743 2745 2747 2749 2751 2753 2755 2757 2759 2761 2763 2765 2767 2769 2771 2773 2775 2777 2779 2781 2783 2785 2787 2789 2791 2793 2795 2797 2799 2801 2803 2805 2807 2809 2811 2813 2815 2817 2819 2821 2823 2825 2827 2829 2831 2833 2835 2837 2839 2841 2843 2845 2847 2849 2851 2853 2855 2857 2859 2861 2863 2865 2867 2869 2871 2873 2875 2877 2879 2881 2883 2885 2887 2889 2891 2893 2895 2897 2899 2901 2903 2905 2907 2909 2911 2913 2915 2917 2919 2921 2923Used by:Timeline
Symbol 2925 BitmapUsed by:2926
Symbol 2926 GraphicUses:2925Used by:2987
Symbol 2927 BitmapUsed by:2928
Symbol 2928 GraphicUses:2927Used by:2987
Symbol 2929 BitmapUsed by:2930
Symbol 2930 GraphicUses:2929Used by:2987
Symbol 2931 BitmapUsed by:2932
Symbol 2932 GraphicUses:2931Used by:2987
Symbol 2933 BitmapUsed by:2934
Symbol 2934 GraphicUses:2933Used by:2987
Symbol 2935 BitmapUsed by:2936
Symbol 2936 GraphicUses:2935Used by:2987
Symbol 2937 BitmapUsed by:2938
Symbol 2938 GraphicUses:2937Used by:2987
Symbol 2939 BitmapUsed by:2940
Symbol 2940 GraphicUses:2939Used by:2987
Symbol 2941 BitmapUsed by:2942
Symbol 2942 GraphicUses:2941Used by:2987
Symbol 2943 BitmapUsed by:2944
Symbol 2944 GraphicUses:2943Used by:2987
Symbol 2945 BitmapUsed by:2946
Symbol 2946 GraphicUses:2945Used by:2987
Symbol 2947 BitmapUsed by:2948
Symbol 2948 GraphicUses:2947Used by:2987
Symbol 2949 BitmapUsed by:2950
Symbol 2950 GraphicUses:2949Used by:2987
Symbol 2951 BitmapUsed by:2952
Symbol 2952 GraphicUses:2951Used by:2987
Symbol 2953 BitmapUsed by:2954
Symbol 2954 GraphicUses:2953Used by:2987
Symbol 2955 BitmapUsed by:2956
Symbol 2956 GraphicUses:2955Used by:2987
Symbol 2957 BitmapUsed by:2958
Symbol 2958 GraphicUses:2957Used by:2987
Symbol 2959 BitmapUsed by:2960
Symbol 2960 GraphicUses:2959Used by:2987
Symbol 2961 BitmapUsed by:2962
Symbol 2962 GraphicUses:2961Used by:2987
Symbol 2963 BitmapUsed by:2964
Symbol 2964 GraphicUses:2963Used by:2987
Symbol 2965 BitmapUsed by:2966
Symbol 2966 GraphicUses:2965Used by:2987
Symbol 2967 BitmapUsed by:2968
Symbol 2968 GraphicUses:2967Used by:2987
Symbol 2969 BitmapUsed by:2970
Symbol 2970 GraphicUses:2969Used by:2987
Symbol 2971 BitmapUsed by:2972
Symbol 2972 GraphicUses:2971Used by:2987
Symbol 2973 BitmapUsed by:2974
Symbol 2974 GraphicUses:2973Used by:2987
Symbol 2975 BitmapUsed by:2976
Symbol 2976 GraphicUses:2975Used by:2987
Symbol 2977 BitmapUsed by:2978
Symbol 2978 GraphicUses:2977Used by:2987
Symbol 2979 BitmapUsed by:2980
Symbol 2980 GraphicUses:2979Used by:2987
Symbol 2981 BitmapUsed by:2982
Symbol 2982 GraphicUses:2981Used by:2987
Symbol 2983 BitmapUsed by:2984
Symbol 2984 GraphicUses:2983Used by:2987
Symbol 2985 BitmapUsed by:2986
Symbol 2986 GraphicUses:2985Used by:2987
Symbol 2987 MovieClip {Trash}Uses:2926 2928 2930 2932 2934 2936 2938 2940 2942 2944 2946 2948 2950 2952 2954 2956 2958 2960 2962 2964 2966 2968 2970 2972 2974 2976 2978 2980 2982 2984 2986Used by:Timeline
Symbol 2988 BitmapUsed by:2989
Symbol 2989 GraphicUses:2988Used by:3014
Symbol 2990 BitmapUsed by:2991
Symbol 2991 GraphicUses:2990Used by:3014
Symbol 2992 BitmapUsed by:2993
Symbol 2993 GraphicUses:2992Used by:3014
Symbol 2994 BitmapUsed by:2995
Symbol 2995 GraphicUses:2994Used by:3014
Symbol 2996 BitmapUsed by:2997
Symbol 2997 GraphicUses:2996Used by:3014
Symbol 2998 BitmapUsed by:2999
Symbol 2999 GraphicUses:2998Used by:3014
Symbol 3000 BitmapUsed by:3001
Symbol 3001 GraphicUses:3000Used by:3014
Symbol 3002 BitmapUsed by:3003
Symbol 3003 GraphicUses:3002Used by:3014
Symbol 3004 BitmapUsed by:3005
Symbol 3005 GraphicUses:3004Used by:3014
Symbol 3006 BitmapUsed by:3007
Symbol 3007 GraphicUses:3006Used by:3014
Symbol 3008 BitmapUsed by:3009
Symbol 3009 GraphicUses:3008Used by:3014
Symbol 3010 BitmapUsed by:3011
Symbol 3011 GraphicUses:3010Used by:3014
Symbol 3012 BitmapUsed by:3013
Symbol 3013 GraphicUses:3012Used by:3014
Symbol 3014 MovieClip {WaterBackTrace}Uses:211 2989 2991 2993 2995 2997 2999 3001 3003 3005 3007 3009 3011 3013Used by:Timeline
Symbol 3015 BitmapUsed by:3016
Symbol 3016 GraphicUses:3015Used by:3043
Symbol 3017 BitmapUsed by:3018
Symbol 3018 GraphicUses:3017Used by:3043
Symbol 3019 BitmapUsed by:3020
Symbol 3020 GraphicUses:3019Used by:3043
Symbol 3021 BitmapUsed by:3022
Symbol 3022 GraphicUses:3021Used by:3043
Symbol 3023 BitmapUsed by:3024
Symbol 3024 GraphicUses:3023Used by:3043
Symbol 3025 BitmapUsed by:3026
Symbol 3026 GraphicUses:3025Used by:3043
Symbol 3027 BitmapUsed by:3028
Symbol 3028 GraphicUses:3027Used by:3043
Symbol 3029 BitmapUsed by:3030
Symbol 3030 GraphicUses:3029Used by:3043
Symbol 3031 BitmapUsed by:3032
Symbol 3032 GraphicUses:3031Used by:3043
Symbol 3033 BitmapUsed by:3034
Symbol 3034 GraphicUses:3033Used by:3043
Symbol 3035 BitmapUsed by:3036
Symbol 3036 GraphicUses:3035Used by:3043
Symbol 3037 BitmapUsed by:3038
Symbol 3038 GraphicUses:3037Used by:3043
Symbol 3039 BitmapUsed by:3040
Symbol 3040 GraphicUses:3039Used by:3043
Symbol 3041 BitmapUsed by:3042
Symbol 3042 GraphicUses:3041Used by:3043
Symbol 3043 MovieClip {WaterForwardTrace}Uses:3016 3018 3020 3022 3024 3026 3028 3030 3032 3034 3036 3038 3040 3042Used by:Timeline
Symbol 3044 BitmapUsed by:3045
Symbol 3045 GraphicUses:3044Used by:3252
Symbol 3046 BitmapUsed by:3047
Symbol 3047 GraphicUses:3046Used by:3252
Symbol 3048 BitmapUsed by:3049
Symbol 3049 GraphicUses:3048Used by:3252
Symbol 3050 BitmapUsed by:3051
Symbol 3051 GraphicUses:3050Used by:3252
Symbol 3052 BitmapUsed by:3053
Symbol 3053 GraphicUses:3052Used by:3252
Symbol 3054 BitmapUsed by:3055
Symbol 3055 GraphicUses:3054Used by:3252
Symbol 3056 BitmapUsed by:3057
Symbol 3057 GraphicUses:3056Used by:3252
Symbol 3058 BitmapUsed by:3059
Symbol 3059 GraphicUses:3058Used by:3252
Symbol 3060 BitmapUsed by:3061
Symbol 3061 GraphicUses:3060Used by:3252
Symbol 3062 BitmapUsed by:3063
Symbol 3063 GraphicUses:3062Used by:3252
Symbol 3064 BitmapUsed by:3065
Symbol 3065 GraphicUses:3064Used by:3252
Symbol 3066 BitmapUsed by:3067
Symbol 3067 GraphicUses:3066Used by:3252
Symbol 3068 BitmapUsed by:3069
Symbol 3069 GraphicUses:3068Used by:3252
Symbol 3070 BitmapUsed by:3071
Symbol 3071 GraphicUses:3070Used by:3252
Symbol 3072 BitmapUsed by:3073
Symbol 3073 GraphicUses:3072Used by:3252
Symbol 3074 BitmapUsed by:3075
Symbol 3075 GraphicUses:3074Used by:3252
Symbol 3076 BitmapUsed by:3077
Symbol 3077 GraphicUses:3076Used by:3252
Symbol 3078 BitmapUsed by:3079
Symbol 3079 GraphicUses:3078Used by:3252
Symbol 3080 BitmapUsed by:3081
Symbol 3081 GraphicUses:3080Used by:3252
Symbol 3082 BitmapUsed by:3083
Symbol 3083 GraphicUses:3082Used by:3252
Symbol 3084 BitmapUsed by:3085
Symbol 3085 GraphicUses:3084Used by:3252
Symbol 3086 BitmapUsed by:3087
Symbol 3087 GraphicUses:3086Used by:3252
Symbol 3088 BitmapUsed by:3089
Symbol 3089 GraphicUses:3088Used by:3252
Symbol 3090 BitmapUsed by:3091
Symbol 3091 GraphicUses:3090Used by:3252
Symbol 3092 BitmapUsed by:3093
Symbol 3093 GraphicUses:3092Used by:3252
Symbol 3094 BitmapUsed by:3095
Symbol 3095 GraphicUses:3094Used by:3252
Symbol 3096 BitmapUsed by:3097
Symbol 3097 GraphicUses:3096Used by:3252
Symbol 3098 BitmapUsed by:3099
Symbol 3099 GraphicUses:3098Used by:3252
Symbol 3100 BitmapUsed by:3101
Symbol 3101 GraphicUses:3100Used by:3252
Symbol 3102 BitmapUsed by:3103
Symbol 3103 GraphicUses:3102Used by:3252
Symbol 3104 BitmapUsed by:3105
Symbol 3105 GraphicUses:3104Used by:3252
Symbol 3106 BitmapUsed by:3107
Symbol 3107 GraphicUses:3106Used by:3252
Symbol 3108 BitmapUsed by:3109
Symbol 3109 GraphicUses:3108Used by:3252
Symbol 3110 BitmapUsed by:3111
Symbol 3111 GraphicUses:3110Used by:3252
Symbol 3112 BitmapUsed by:3113
Symbol 3113 GraphicUses:3112Used by:3252
Symbol 3114 BitmapUsed by:3115
Symbol 3115 GraphicUses:3114Used by:3252
Symbol 3116 BitmapUsed by:3117
Symbol 3117 GraphicUses:3116Used by:3252
Symbol 3118 BitmapUsed by:3119
Symbol 3119 GraphicUses:3118Used by:3252
Symbol 3120 BitmapUsed by:3121
Symbol 3121 GraphicUses:3120Used by:3252
Symbol 3122 BitmapUsed by:3123
Symbol 3123 GraphicUses:3122Used by:3252
Symbol 3124 BitmapUsed by:3125
Symbol 3125 GraphicUses:3124Used by:3252
Symbol 3126 BitmapUsed by:3127
Symbol 3127 GraphicUses:3126Used by:3252
Symbol 3128 BitmapUsed by:3129
Symbol 3129 GraphicUses:3128Used by:3252
Symbol 3130 BitmapUsed by:3131
Symbol 3131 GraphicUses:3130Used by:3252
Symbol 3132 BitmapUsed by:3133
Symbol 3133 GraphicUses:3132Used by:3252
Symbol 3134 BitmapUsed by:3135
Symbol 3135 GraphicUses:3134Used by:3252
Symbol 3136 BitmapUsed by:3137
Symbol 3137 GraphicUses:3136Used by:3252
Symbol 3138 BitmapUsed by:3139
Symbol 3139 GraphicUses:3138Used by:3252
Symbol 3140 BitmapUsed by:3141
Symbol 3141 GraphicUses:3140Used by:3252
Symbol 3142 BitmapUsed by:3143
Symbol 3143 GraphicUses:3142Used by:3252
Symbol 3144 BitmapUsed by:3145
Symbol 3145 GraphicUses:3144Used by:3252
Symbol 3146 BitmapUsed by:3147
Symbol 3147 GraphicUses:3146Used by:3252
Symbol 3148 BitmapUsed by:3149
Symbol 3149 GraphicUses:3148Used by:3252
Symbol 3150 BitmapUsed by:3151
Symbol 3151 GraphicUses:3150Used by:3252
Symbol 3152 BitmapUsed by:3153
Symbol 3153 GraphicUses:3152Used by:3252
Symbol 3154 BitmapUsed by:3155
Symbol 3155 GraphicUses:3154Used by:3252
Symbol 3156 BitmapUsed by:3157
Symbol 3157 GraphicUses:3156Used by:3252
Symbol 3158 BitmapUsed by:3159
Symbol 3159 GraphicUses:3158Used by:3252
Symbol 3160 BitmapUsed by:3161
Symbol 3161 GraphicUses:3160Used by:3252
Symbol 3162 BitmapUsed by:3163
Symbol 3163 GraphicUses:3162Used by:3252
Symbol 3164 BitmapUsed by:3165
Symbol 3165 GraphicUses:3164Used by:3252
Symbol 3166 BitmapUsed by:3167
Symbol 3167 GraphicUses:3166Used by:3252
Symbol 3168 BitmapUsed by:3169
Symbol 3169 GraphicUses:3168Used by:3252
Symbol 3170 BitmapUsed by:3171
Symbol 3171 GraphicUses:3170Used by:3252
Symbol 3172 BitmapUsed by:3173
Symbol 3173 GraphicUses:3172Used by:3252
Symbol 3174 BitmapUsed by:3175
Symbol 3175 GraphicUses:3174Used by:3252
Symbol 3176 BitmapUsed by:3177
Symbol 3177 GraphicUses:3176Used by:3252
Symbol 3178 BitmapUsed by:3179
Symbol 3179 GraphicUses:3178Used by:3252
Symbol 3180 BitmapUsed by:3181
Symbol 3181 GraphicUses:3180Used by:3252
Symbol 3182 BitmapUsed by:3183
Symbol 3183 GraphicUses:3182Used by:3252
Symbol 3184 BitmapUsed by:3185
Symbol 3185 GraphicUses:3184Used by:3252
Symbol 3186 BitmapUsed by:3187
Symbol 3187 GraphicUses:3186Used by:3252
Symbol 3188 BitmapUsed by:3189
Symbol 3189 GraphicUses:3188Used by:3252
Symbol 3190 BitmapUsed by:3191
Symbol 3191 GraphicUses:3190Used by:3252
Symbol 3192 BitmapUsed by:3193
Symbol 3193 GraphicUses:3192Used by:3252
Symbol 3194 BitmapUsed by:3195
Symbol 3195 GraphicUses:3194Used by:3252
Symbol 3196 BitmapUsed by:3197
Symbol 3197 GraphicUses:3196Used by:3252
Symbol 3198 BitmapUsed by:3199
Symbol 3199 GraphicUses:3198Used by:3252
Symbol 3200 BitmapUsed by:3201
Symbol 3201 GraphicUses:3200Used by:3252
Symbol 3202 BitmapUsed by:3203
Symbol 3203 GraphicUses:3202Used by:3252
Symbol 3204 BitmapUsed by:3205
Symbol 3205 GraphicUses:3204Used by:3252
Symbol 3206 BitmapUsed by:3207
Symbol 3207 GraphicUses:3206Used by:3252
Symbol 3208 BitmapUsed by:3209
Symbol 3209 GraphicUses:3208Used by:3252
Symbol 3210 BitmapUsed by:3211
Symbol 3211 GraphicUses:3210Used by:3252
Symbol 3212 BitmapUsed by:3213
Symbol 3213 GraphicUses:3212Used by:3252
Symbol 3214 BitmapUsed by:3215
Symbol 3215 GraphicUses:3214Used by:3252
Symbol 3216 BitmapUsed by:3217
Symbol 3217 GraphicUses:3216Used by:3252
Symbol 3218 BitmapUsed by:3219
Symbol 3219 GraphicUses:3218Used by:3252
Symbol 3220 BitmapUsed by:3221
Symbol 3221 GraphicUses:3220Used by:3252
Symbol 3222 BitmapUsed by:3223
Symbol 3223 GraphicUses:3222Used by:3252
Symbol 3224 BitmapUsed by:3225
Symbol 3225 GraphicUses:3224Used by:3252
Symbol 3226 BitmapUsed by:3227
Symbol 3227 GraphicUses:3226Used by:3252
Symbol 3228 BitmapUsed by:3229
Symbol 3229 GraphicUses:3228Used by:3252
Symbol 3230 BitmapUsed by:3231
Symbol 3231 GraphicUses:3230Used by:3252
Symbol 3232 BitmapUsed by:3233
Symbol 3233 GraphicUses:3232Used by:3252
Symbol 3234 BitmapUsed by:3235
Symbol 3235 GraphicUses:3234Used by:3252
Symbol 3236 BitmapUsed by:3237
Symbol 3237 GraphicUses:3236Used by:3252
Symbol 3238 BitmapUsed by:3239
Symbol 3239 GraphicUses:3238Used by:3252
Symbol 3240 BitmapUsed by:3241
Symbol 3241 GraphicUses:3240Used by:3252
Symbol 3242 BitmapUsed by:3243
Symbol 3243 GraphicUses:3242Used by:3252
Symbol 3244 BitmapUsed by:3245
Symbol 3245 GraphicUses:3244Used by:3252
Symbol 3246 BitmapUsed by:3247
Symbol 3247 GraphicUses:3246Used by:3252
Symbol 3248 BitmapUsed by:3249
Symbol 3249 GraphicUses:3248Used by:3252
Symbol 3250 BitmapUsed by:3251
Symbol 3251 GraphicUses:3250Used by:3252
Symbol 3252 MovieClip {WaterWave}Uses:3045 3047 3049 3051 3053 3055 3057 3059 3061 3063 3065 3067 3069 3071 3073 3075 3077 3079 3081 3083 3085 3087 3089 3091 3093 3095 3097 3099 3101 3103 3105 3107 3109 3111 3113 3115 3117 3119 3121 3123 3125 3127 3129 3131 3133 3135 3137 3139 3141 3143 3145 3147 3149 3151 3153 3155 3157 3159 3161 3163 3165 3167 3169 3171 3173 3175 3177 3179 3181 3183 3185 3187 3189 3191 3193 3195 3197 3199 3201 3203 3205 3207 3209 3211 3213 3215 3217 3219 3221 3223 3225 3227 3229 3231 3233 3235 3237 3239 3241 3243 3245 3247 3249 3251Used by:Timeline
Symbol 3253 BitmapUsed by:3254
Symbol 3254 GraphicUses:3253Used by:3894
Symbol 3255 GraphicUsed by:3894
Symbol 3256 BitmapUsed by:3257
Symbol 3257 GraphicUses:3256Used by:3894
Symbol 3258 BitmapUsed by:3259
Symbol 3259 GraphicUses:3258Used by:3894
Symbol 3260 BitmapUsed by:3261
Symbol 3261 GraphicUses:3260Used by:3894
Symbol 3262 BitmapUsed by:3263
Symbol 3263 GraphicUses:3262Used by:3894
Symbol 3264 BitmapUsed by:3265
Symbol 3265 GraphicUses:3264Used by:3894
Symbol 3266 BitmapUsed by:3267
Symbol 3267 GraphicUses:3266Used by:3894
Symbol 3268 BitmapUsed by:3269
Symbol 3269 GraphicUses:3268Used by:3894
Symbol 3270 BitmapUsed by:3271
Symbol 3271 GraphicUses:3270Used by:3894
Symbol 3272 BitmapUsed by:3273
Symbol 3273 GraphicUses:3272Used by:3894
Symbol 3274 BitmapUsed by:3275
Symbol 3275 GraphicUses:3274Used by:3894
Symbol 3276 BitmapUsed by:3277
Symbol 3277 GraphicUses:3276Used by:3894
Symbol 3278 BitmapUsed by:3279
Symbol 3279 GraphicUses:3278Used by:3894
Symbol 3280 BitmapUsed by:3281
Symbol 3281 GraphicUses:3280Used by:3894
Symbol 3282 BitmapUsed by:3283
Symbol 3283 GraphicUses:3282Used by:3894
Symbol 3284 BitmapUsed by:3285
Symbol 3285 GraphicUses:3284Used by:3894
Symbol 3286 BitmapUsed by:3287
Symbol 3287 GraphicUses:3286Used by:3894
Symbol 3288 BitmapUsed by:3289
Symbol 3289 GraphicUses:3288Used by:3894
Symbol 3290 BitmapUsed by:3291
Symbol 3291 GraphicUses:3290Used by:3894
Symbol 3292 BitmapUsed by:3293
Symbol 3293 GraphicUses:3292Used by:3894
Symbol 3294 BitmapUsed by:3295
Symbol 3295 GraphicUses:3294Used by:3894
Symbol 3296 BitmapUsed by:3297
Symbol 3297 GraphicUses:3296Used by:3894
Symbol 3298 BitmapUsed by:3299
Symbol 3299 GraphicUses:3298Used by:3894
Symbol 3300 BitmapUsed by:3301
Symbol 3301 GraphicUses:3300Used by:3894
Symbol 3302 BitmapUsed by:3303
Symbol 3303 GraphicUses:3302Used by:3894
Symbol 3304 BitmapUsed by:3305
Symbol 3305 GraphicUses:3304Used by:3894 4270
Symbol 3306 BitmapUsed by:3307
Symbol 3307 GraphicUses:3306Used by:3894
Symbol 3308 BitmapUsed by:3309
Symbol 3309 GraphicUses:3308Used by:3894
Symbol 3310 BitmapUsed by:3311
Symbol 3311 GraphicUses:3310Used by:3894
Symbol 3312 BitmapUsed by:3313
Symbol 3313 GraphicUses:3312Used by:3894
Symbol 3314 BitmapUsed by:3315
Symbol 3315 GraphicUses:3314Used by:3894
Symbol 3316 BitmapUsed by:3317
Symbol 3317 GraphicUses:3316Used by:3894
Symbol 3318 BitmapUsed by:3319
Symbol 3319 GraphicUses:3318Used by:3894
Symbol 3320 BitmapUsed by:3321
Symbol 3321 GraphicUses:3320Used by:3894
Symbol 3322 BitmapUsed by:3323
Symbol 3323 GraphicUses:3322Used by:3894
Symbol 3324 BitmapUsed by:3325
Symbol 3325 GraphicUses:3324Used by:3894
Symbol 3326 BitmapUsed by:3327
Symbol 3327 GraphicUses:3326Used by:3894
Symbol 3328 BitmapUsed by:3329
Symbol 3329 GraphicUses:3328Used by:3894
Symbol 3330 BitmapUsed by:3331
Symbol 3331 GraphicUses:3330Used by:3894
Symbol 3332 BitmapUsed by:3333
Symbol 3333 GraphicUses:3332Used by:3894
Symbol 3334 BitmapUsed by:3335
Symbol 3335 GraphicUses:3334Used by:3894
Symbol 3336 BitmapUsed by:3337
Symbol 3337 GraphicUses:3336Used by:3894
Symbol 3338 BitmapUsed by:3339
Symbol 3339 GraphicUses:3338Used by:3894
Symbol 3340 BitmapUsed by:3341
Symbol 3341 GraphicUses:3340Used by:3894
Symbol 3342 BitmapUsed by:3343
Symbol 3343 GraphicUses:3342Used by:3894
Symbol 3344 BitmapUsed by:3345
Symbol 3345 GraphicUses:3344Used by:3894
Symbol 3346 BitmapUsed by:3347
Symbol 3347 GraphicUses:3346Used by:3894
Symbol 3348 BitmapUsed by:3349
Symbol 3349 GraphicUses:3348Used by:3894
Symbol 3350 BitmapUsed by:3351
Symbol 3351 GraphicUses:3350Used by:3894
Symbol 3352 BitmapUsed by:3353
Symbol 3353 GraphicUses:3352Used by:3894
Symbol 3354 BitmapUsed by:3355
Symbol 3355 GraphicUses:3354Used by:3894
Symbol 3356 BitmapUsed by:3357
Symbol 3357 GraphicUses:3356Used by:3894
Symbol 3358 BitmapUsed by:3359
Symbol 3359 GraphicUses:3358Used by:3894
Symbol 3360 BitmapUsed by:3361
Symbol 3361 GraphicUses:3360Used by:3894
Symbol 3362 BitmapUsed by:3363
Symbol 3363 GraphicUses:3362Used by:3894
Symbol 3364 BitmapUsed by:3365
Symbol 3365 GraphicUses:3364Used by:3894
Symbol 3366 BitmapUsed by:3367
Symbol 3367 GraphicUses:3366Used by:3894
Symbol 3368 BitmapUsed by:3369
Symbol 3369 GraphicUses:3368Used by:3894
Symbol 3370 BitmapUsed by:3371
Symbol 3371 GraphicUses:3370Used by:3894
Symbol 3372 BitmapUsed by:3373
Symbol 3373 GraphicUses:3372Used by:3894
Symbol 3374 BitmapUsed by:3375
Symbol 3375 GraphicUses:3374Used by:3894
Symbol 3376 BitmapUsed by:3377
Symbol 3377 GraphicUses:3376Used by:3894
Symbol 3378 BitmapUsed by:3379
Symbol 3379 GraphicUses:3378Used by:3894
Symbol 3380 BitmapUsed by:3381
Symbol 3381 GraphicUses:3380Used by:3894
Symbol 3382 BitmapUsed by:3383
Symbol 3383 GraphicUses:3382Used by:3894
Symbol 3384 BitmapUsed by:3385
Symbol 3385 GraphicUses:3384Used by:3894
Symbol 3386 BitmapUsed by:3387
Symbol 3387 GraphicUses:3386Used by:3894
Symbol 3388 BitmapUsed by:3389
Symbol 3389 GraphicUses:3388Used by:3894
Symbol 3390 BitmapUsed by:3391
Symbol 3391 GraphicUses:3390Used by:3894
Symbol 3392 BitmapUsed by:3393
Symbol 3393 GraphicUses:3392Used by:3894
Symbol 3394 BitmapUsed by:3395
Symbol 3395 GraphicUses:3394Used by:3894
Symbol 3396 BitmapUsed by:3397
Symbol 3397 GraphicUses:3396Used by:3894
Symbol 3398 BitmapUsed by:3399
Symbol 3399 GraphicUses:3398Used by:3894
Symbol 3400 BitmapUsed by:3401
Symbol 3401 GraphicUses:3400Used by:3894
Symbol 3402 BitmapUsed by:3403
Symbol 3403 GraphicUses:3402Used by:3894
Symbol 3404 BitmapUsed by:3405
Symbol 3405 GraphicUses:3404Used by:3894
Symbol 3406 BitmapUsed by:3407
Symbol 3407 GraphicUses:3406Used by:3894
Symbol 3408 BitmapUsed by:3409
Symbol 3409 GraphicUses:3408Used by:3894 4327 4328
Symbol 3410 BitmapUsed by:3411
Symbol 3411 GraphicUses:3410Used by:3894
Symbol 3412 BitmapUsed by:3413
Symbol 3413 GraphicUses:3412Used by:3894
Symbol 3414 BitmapUsed by:3415
Symbol 3415 GraphicUses:3414Used by:3894
Symbol 3416 BitmapUsed by:3417
Symbol 3417 GraphicUses:3416Used by:3894
Symbol 3418 BitmapUsed by:3419
Symbol 3419 GraphicUses:3418Used by:3894
Symbol 3420 BitmapUsed by:3421
Symbol 3421 GraphicUses:3420Used by:3894
Symbol 3422 BitmapUsed by:3423
Symbol 3423 GraphicUses:3422Used by:3894
Symbol 3424 BitmapUsed by:3425
Symbol 3425 GraphicUses:3424Used by:3894 4251
Symbol 3426 BitmapUsed by:3427
Symbol 3427 GraphicUses:3426Used by:3894
Symbol 3428 BitmapUsed by:3429
Symbol 3429 GraphicUses:3428Used by:3894
Symbol 3430 BitmapUsed by:3431
Symbol 3431 GraphicUses:3430Used by:3894
Symbol 3432 BitmapUsed by:3433
Symbol 3433 GraphicUses:3432Used by:3894
Symbol 3434 BitmapUsed by:3435
Symbol 3435 GraphicUses:3434Used by:3894
Symbol 3436 BitmapUsed by:3437
Symbol 3437 GraphicUses:3436Used by:3894
Symbol 3438 BitmapUsed by:3439
Symbol 3439 GraphicUses:3438Used by:3894 4293
Symbol 3440 BitmapUsed by:3441
Symbol 3441 GraphicUses:3440Used by:3894
Symbol 3442 BitmapUsed by:3443
Symbol 3443 GraphicUses:3442Used by:3894
Symbol 3444 BitmapUsed by:3445
Symbol 3445 GraphicUses:3444Used by:3894
Symbol 3446 BitmapUsed by:3447
Symbol 3447 GraphicUses:3446Used by:3894
Symbol 3448 BitmapUsed by:3449
Symbol 3449 GraphicUses:3448Used by:3894
Symbol 3450 BitmapUsed by:3451
Symbol 3451 GraphicUses:3450Used by:3894
Symbol 3452 BitmapUsed by:3453
Symbol 3453 GraphicUses:3452Used by:3894
Symbol 3454 BitmapUsed by:3455
Symbol 3455 GraphicUses:3454Used by:3894
Symbol 3456 BitmapUsed by:3457
Symbol 3457 GraphicUses:3456Used by:3894
Symbol 3458 BitmapUsed by:3459
Symbol 3459 GraphicUses:3458Used by:3894
Symbol 3460 BitmapUsed by:3461
Symbol 3461 GraphicUses:3460Used by:3894
Symbol 3462 BitmapUsed by:3463
Symbol 3463 GraphicUses:3462Used by:3894
Symbol 3464 BitmapUsed by:3465
Symbol 3465 GraphicUses:3464Used by:3894
Symbol 3466 BitmapUsed by:3467
Symbol 3467 GraphicUses:3466Used by:3894
Symbol 3468 BitmapUsed by:3469
Symbol 3469 GraphicUses:3468Used by:3894
Symbol 3470 BitmapUsed by:3471
Symbol 3471 GraphicUses:3470Used by:3894
Symbol 3472 BitmapUsed by:3473
Symbol 3473 GraphicUses:3472Used by:3894
Symbol 3474 BitmapUsed by:3475
Symbol 3475 GraphicUses:3474Used by:3894
Symbol 3476 BitmapUsed by:3477
Symbol 3477 GraphicUses:3476Used by:3894
Symbol 3478 BitmapUsed by:3479
Symbol 3479 GraphicUses:3478Used by:3894
Symbol 3480 BitmapUsed by:3481
Symbol 3481 GraphicUses:3480Used by:3894
Symbol 3482 BitmapUsed by:3483
Symbol 3483 GraphicUses:3482Used by:3894
Symbol 3484 BitmapUsed by:3485
Symbol 3485 GraphicUses:3484Used by:3894
Symbol 3486 BitmapUsed by:3487
Symbol 3487 GraphicUses:3486Used by:3894
Symbol 3488 BitmapUsed by:3489
Symbol 3489 GraphicUses:3488Used by:3894
Symbol 3490 BitmapUsed by:3491
Symbol 3491 GraphicUses:3490Used by:3894
Symbol 3492 BitmapUsed by:3493
Symbol 3493 GraphicUses:3492Used by:3894
Symbol 3494 BitmapUsed by:3495
Symbol 3495 GraphicUses:3494Used by:3894
Symbol 3496 BitmapUsed by:3497
Symbol 3497 GraphicUses:3496Used by:3894
Symbol 3498 BitmapUsed by:3499
Symbol 3499 GraphicUses:3498Used by:3894
Symbol 3500 BitmapUsed by:3501
Symbol 3501 GraphicUses:3500Used by:3894
Symbol 3502 BitmapUsed by:3503
Symbol 3503 GraphicUses:3502Used by:3894
Symbol 3504 BitmapUsed by:3505
Symbol 3505 GraphicUses:3504Used by:3894
Symbol 3506 BitmapUsed by:3507
Symbol 3507 GraphicUses:3506Used by:3894
Symbol 3508 BitmapUsed by:3509
Symbol 3509 GraphicUses:3508Used by:3894
Symbol 3510 BitmapUsed by:3511
Symbol 3511 GraphicUses:3510Used by:3894
Symbol 3512 BitmapUsed by:3513
Symbol 3513 GraphicUses:3512Used by:3894
Symbol 3514 BitmapUsed by:3515
Symbol 3515 GraphicUses:3514Used by:3894
Symbol 3516 BitmapUsed by:3517
Symbol 3517 GraphicUses:3516Used by:3894
Symbol 3518 BitmapUsed by:3519
Symbol 3519 GraphicUses:3518Used by:3894
Symbol 3520 BitmapUsed by:3521
Symbol 3521 GraphicUses:3520Used by:3894
Symbol 3522 BitmapUsed by:3523
Symbol 3523 GraphicUses:3522Used by:3894
Symbol 3524 BitmapUsed by:3525
Symbol 3525 GraphicUses:3524Used by:3894
Symbol 3526 BitmapUsed by:3527
Symbol 3527 GraphicUses:3526Used by:3894
Symbol 3528 BitmapUsed by:3529
Symbol 3529 GraphicUses:3528Used by:3894
Symbol 3530 BitmapUsed by:3531
Symbol 3531 GraphicUses:3530Used by:3894
Symbol 3532 BitmapUsed by:3533
Symbol 3533 GraphicUses:3532Used by:3894
Symbol 3534 BitmapUsed by:3535
Symbol 3535 GraphicUses:3534Used by:3894
Symbol 3536 BitmapUsed by:3537
Symbol 3537 GraphicUses:3536Used by:3894
Symbol 3538 BitmapUsed by:3539
Symbol 3539 GraphicUses:3538Used by:3894
Symbol 3540 BitmapUsed by:3541
Symbol 3541 GraphicUses:3540Used by:3894
Symbol 3542 BitmapUsed by:3543
Symbol 3543 GraphicUses:3542Used by:3894
Symbol 3544 BitmapUsed by:3545
Symbol 3545 GraphicUses:3544Used by:3894
Symbol 3546 BitmapUsed by:3547
Symbol 3547 GraphicUses:3546Used by:3894
Symbol 3548 BitmapUsed by:3549
Symbol 3549 GraphicUses:3548Used by:3894
Symbol 3550 BitmapUsed by:3551
Symbol 3551 GraphicUses:3550Used by:3894
Symbol 3552 BitmapUsed by:3553
Symbol 3553 GraphicUses:3552Used by:3894
Symbol 3554 BitmapUsed by:3555
Symbol 3555 GraphicUses:3554Used by:3894
Symbol 3556 BitmapUsed by:3557
Symbol 3557 GraphicUses:3556Used by:3894
Symbol 3558 BitmapUsed by:3559
Symbol 3559 GraphicUses:3558Used by:3894
Symbol 3560 BitmapUsed by:3561
Symbol 3561 GraphicUses:3560Used by:3894
Symbol 3562 BitmapUsed by:3563
Symbol 3563 GraphicUses:3562Used by:3894
Symbol 3564 BitmapUsed by:3565
Symbol 3565 GraphicUses:3564Used by:3894
Symbol 3566 BitmapUsed by:3567
Symbol 3567 GraphicUses:3566Used by:3894
Symbol 3568 BitmapUsed by:3569
Symbol 3569 GraphicUses:3568Used by:3894
Symbol 3570 BitmapUsed by:3571
Symbol 3571 GraphicUses:3570Used by:3894
Symbol 3572 BitmapUsed by:3573
Symbol 3573 GraphicUses:3572Used by:3894
Symbol 3574 BitmapUsed by:3575
Symbol 3575 GraphicUses:3574Used by:3894
Symbol 3576 BitmapUsed by:3577
Symbol 3577 GraphicUses:3576Used by:3894
Symbol 3578 BitmapUsed by:3579
Symbol 3579 GraphicUses:3578Used by:3894
Symbol 3580 BitmapUsed by:3581
Symbol 3581 GraphicUses:3580Used by:3894
Symbol 3582 BitmapUsed by:3583
Symbol 3583 GraphicUses:3582Used by:3894
Symbol 3584 BitmapUsed by:3585
Symbol 3585 GraphicUses:3584Used by:3894
Symbol 3586 BitmapUsed by:3587
Symbol 3587 GraphicUses:3586Used by:3894
Symbol 3588 BitmapUsed by:3589
Symbol 3589 GraphicUses:3588Used by:3894
Symbol 3590 BitmapUsed by:3591
Symbol 3591 GraphicUses:3590Used by:3894
Symbol 3592 BitmapUsed by:3593
Symbol 3593 GraphicUses:3592Used by:3894
Symbol 3594 BitmapUsed by:3595
Symbol 3595 GraphicUses:3594Used by:3894
Symbol 3596 BitmapUsed by:3597
Symbol 3597 GraphicUses:3596Used by:3894
Symbol 3598 BitmapUsed by:3599
Symbol 3599 GraphicUses:3598Used by:3894
Symbol 3600 BitmapUsed by:3601
Symbol 3601 GraphicUses:3600Used by:3894
Symbol 3602 BitmapUsed by:3603
Symbol 3603 GraphicUses:3602Used by:3894
Symbol 3604 BitmapUsed by:3605
Symbol 3605 GraphicUses:3604Used by:3894
Symbol 3606 BitmapUsed by:3607
Symbol 3607 GraphicUses:3606Used by:3894
Symbol 3608 BitmapUsed by:3609
Symbol 3609 GraphicUses:3608Used by:3894
Symbol 3610 BitmapUsed by:3611
Symbol 3611 GraphicUses:3610Used by:3894
Symbol 3612 BitmapUsed by:3613
Symbol 3613 GraphicUses:3612Used by:3894
Symbol 3614 BitmapUsed by:3615
Symbol 3615 GraphicUses:3614Used by:3894
Symbol 3616 BitmapUsed by:3617
Symbol 3617 GraphicUses:3616Used by:3894
Symbol 3618 BitmapUsed by:3619
Symbol 3619 GraphicUses:3618Used by:3894
Symbol 3620 BitmapUsed by:3621
Symbol 3621 GraphicUses:3620Used by:3894
Symbol 3622 BitmapUsed by:3623
Symbol 3623 GraphicUses:3622Used by:3894
Symbol 3624 BitmapUsed by:3625
Symbol 3625 GraphicUses:3624Used by:3894
Symbol 3626 BitmapUsed by:3627
Symbol 3627 GraphicUses:3626Used by:3894
Symbol 3628 BitmapUsed by:3629
Symbol 3629 GraphicUses:3628Used by:3894
Symbol 3630 BitmapUsed by:3631
Symbol 3631 GraphicUses:3630Used by:3894
Symbol 3632 BitmapUsed by:3633
Symbol 3633 GraphicUses:3632Used by:3894
Symbol 3634 BitmapUsed by:3635
Symbol 3635 GraphicUses:3634Used by:3894
Symbol 3636 BitmapUsed by:3637
Symbol 3637 GraphicUses:3636Used by:3894
Symbol 3638 BitmapUsed by:3639
Symbol 3639 GraphicUses:3638Used by:3894
Symbol 3640 BitmapUsed by:3641
Symbol 3641 GraphicUses:3640Used by:3894
Symbol 3642 BitmapUsed by:3643
Symbol 3643 GraphicUses:3642Used by:3894
Symbol 3644 BitmapUsed by:3645
Symbol 3645 GraphicUses:3644Used by:3894
Symbol 3646 BitmapUsed by:3647
Symbol 3647 GraphicUses:3646Used by:3894
Symbol 3648 BitmapUsed by:3649
Symbol 3649 GraphicUses:3648Used by:3894
Symbol 3650 BitmapUsed by:3651
Symbol 3651 GraphicUses:3650Used by:3894
Symbol 3652 BitmapUsed by:3653
Symbol 3653 GraphicUses:3652Used by:3894
Symbol 3654 BitmapUsed by:3655
Symbol 3655 GraphicUses:3654Used by:3894
Symbol 3656 BitmapUsed by:3657
Symbol 3657 GraphicUses:3656Used by:3894
Symbol 3658 BitmapUsed by:3659
Symbol 3659 GraphicUses:3658Used by:3894
Symbol 3660 BitmapUsed by:3661
Symbol 3661 GraphicUses:3660Used by:3894
Symbol 3662 BitmapUsed by:3663
Symbol 3663 GraphicUses:3662Used by:3894
Symbol 3664 BitmapUsed by:3665
Symbol 3665 GraphicUses:3664Used by:3894
Symbol 3666 BitmapUsed by:3667
Symbol 3667 GraphicUses:3666Used by:3894
Symbol 3668 BitmapUsed by:3669
Symbol 3669 GraphicUses:3668Used by:3894
Symbol 3670 BitmapUsed by:3671
Symbol 3671 GraphicUses:3670Used by:3894
Symbol 3672 BitmapUsed by:3673
Symbol 3673 GraphicUses:3672Used by:3894
Symbol 3674 BitmapUsed by:3675
Symbol 3675 GraphicUses:3674Used by:3894
Symbol 3676 BitmapUsed by:3677
Symbol 3677 GraphicUses:3676Used by:3894
Symbol 3678 BitmapUsed by:3679
Symbol 3679 GraphicUses:3678Used by:3894
Symbol 3680 BitmapUsed by:3681
Symbol 3681 GraphicUses:3680Used by:3894
Symbol 3682 BitmapUsed by:3683
Symbol 3683 GraphicUses:3682Used by:3894
Symbol 3684 BitmapUsed by:3685
Symbol 3685 GraphicUses:3684Used by:3894
Symbol 3686 BitmapUsed by:3687
Symbol 3687 GraphicUses:3686Used by:3894
Symbol 3688 BitmapUsed by:3689
Symbol 3689 GraphicUses:3688Used by:3894
Symbol 3690 BitmapUsed by:3691
Symbol 3691 GraphicUses:3690Used by:3894
Symbol 3692 BitmapUsed by:3693
Symbol 3693 GraphicUses:3692Used by:3894
Symbol 3694 BitmapUsed by:3695
Symbol 3695 GraphicUses:3694Used by:3894
Symbol 3696 BitmapUsed by:3697
Symbol 3697 GraphicUses:3696Used by:3894
Symbol 3698 BitmapUsed by:3699
Symbol 3699 GraphicUses:3698Used by:3894
Symbol 3700 BitmapUsed by:3701
Symbol 3701 GraphicUses:3700Used by:3894
Symbol 3702 BitmapUsed by:3703
Symbol 3703 GraphicUses:3702Used by:3894
Symbol 3704 BitmapUsed by:3705
Symbol 3705 GraphicUses:3704Used by:3894
Symbol 3706 BitmapUsed by:3707
Symbol 3707 GraphicUses:3706Used by:3894
Symbol 3708 BitmapUsed by:3709
Symbol 3709 GraphicUses:3708Used by:3894
Symbol 3710 BitmapUsed by:3711
Symbol 3711 GraphicUses:3710Used by:3894
Symbol 3712 BitmapUsed by:3713
Symbol 3713 GraphicUses:3712Used by:3894
Symbol 3714 BitmapUsed by:3715
Symbol 3715 GraphicUses:3714Used by:3894
Symbol 3716 BitmapUsed by:3717
Symbol 3717 GraphicUses:3716Used by:3894
Symbol 3718 BitmapUsed by:3719
Symbol 3719 GraphicUses:3718Used by:3894
Symbol 3720 BitmapUsed by:3721
Symbol 3721 GraphicUses:3720Used by:3894
Symbol 3722 BitmapUsed by:3723
Symbol 3723 GraphicUses:3722Used by:3894
Symbol 3724 BitmapUsed by:3725
Symbol 3725 GraphicUses:3724Used by:3894
Symbol 3726 BitmapUsed by:3727
Symbol 3727 GraphicUses:3726Used by:3894
Symbol 3728 BitmapUsed by:3729
Symbol 3729 GraphicUses:3728Used by:3894
Symbol 3730 BitmapUsed by:3731
Symbol 3731 GraphicUses:3730Used by:3894
Symbol 3732 BitmapUsed by:3733
Symbol 3733 GraphicUses:3732Used by:3894
Symbol 3734 BitmapUsed by:3735
Symbol 3735 GraphicUses:3734Used by:3894
Symbol 3736 BitmapUsed by:3737
Symbol 3737 GraphicUses:3736Used by:3894
Symbol 3738 BitmapUsed by:3739
Symbol 3739 GraphicUses:3738Used by:3894
Symbol 3740 BitmapUsed by:3741
Symbol 3741 GraphicUses:3740Used by:3894
Symbol 3742 BitmapUsed by:3743
Symbol 3743 GraphicUses:3742Used by:3894
Symbol 3744 BitmapUsed by:3745
Symbol 3745 GraphicUses:3744Used by:3894
Symbol 3746 BitmapUsed by:3747
Symbol 3747 GraphicUses:3746Used by:3894
Symbol 3748 BitmapUsed by:3749
Symbol 3749 GraphicUses:3748Used by:3894
Symbol 3750 BitmapUsed by:3751
Symbol 3751 GraphicUses:3750Used by:3894
Symbol 3752 BitmapUsed by:3753
Symbol 3753 GraphicUses:3752Used by:3894
Symbol 3754 BitmapUsed by:3755
Symbol 3755 GraphicUses:3754Used by:3894
Symbol 3756 BitmapUsed by:3757
Symbol 3757 GraphicUses:3756Used by:3894
Symbol 3758 BitmapUsed by:3759
Symbol 3759 GraphicUses:3758Used by:3894
Symbol 3760 BitmapUsed by:3761
Symbol 3761 GraphicUses:3760Used by:3894
Symbol 3762 BitmapUsed by:3763
Symbol 3763 GraphicUses:3762Used by:3894
Symbol 3764 BitmapUsed by:3765
Symbol 3765 GraphicUses:3764Used by:3894
Symbol 3766 BitmapUsed by:3767
Symbol 3767 GraphicUses:3766Used by:3894
Symbol 3768 BitmapUsed by:3769
Symbol 3769 GraphicUses:3768Used by:3894
Symbol 3770 BitmapUsed by:3771
Symbol 3771 GraphicUses:3770Used by:3894
Symbol 3772 BitmapUsed by:3773
Symbol 3773 GraphicUses:3772Used by:3894
Symbol 3774 BitmapUsed by:3775
Symbol 3775 GraphicUses:3774Used by:3894
Symbol 3776 BitmapUsed by:3777
Symbol 3777 GraphicUses:3776Used by:3894
Symbol 3778 BitmapUsed by:3779
Symbol 3779 GraphicUses:3778Used by:3894
Symbol 3780 BitmapUsed by:3781
Symbol 3781 GraphicUses:3780Used by:3894
Symbol 3782 BitmapUsed by:3783
Symbol 3783 GraphicUses:3782Used by:3894
Symbol 3784 BitmapUsed by:3785
Symbol 3785 GraphicUses:3784Used by:3894
Symbol 3786 BitmapUsed by:3787
Symbol 3787 GraphicUses:3786Used by:3894
Symbol 3788 BitmapUsed by:3789
Symbol 3789 GraphicUses:3788Used by:3894
Symbol 3790 BitmapUsed by:3791
Symbol 3791 GraphicUses:3790Used by:3894
Symbol 3792 BitmapUsed by:3793
Symbol 3793 GraphicUses:3792Used by:3894
Symbol 3794 BitmapUsed by:3795
Symbol 3795 GraphicUses:3794Used by:3894
Symbol 3796 BitmapUsed by:3797
Symbol 3797 GraphicUses:3796Used by:3894
Symbol 3798 BitmapUsed by:3799
Symbol 3799 GraphicUses:3798Used by:3894
Symbol 3800 BitmapUsed by:3801
Symbol 3801 GraphicUses:3800Used by:3894
Symbol 3802 BitmapUsed by:3803
Symbol 3803 GraphicUses:3802Used by:3894
Symbol 3804 BitmapUsed by:3805
Symbol 3805 GraphicUses:3804Used by:3894
Symbol 3806 BitmapUsed by:3807
Symbol 3807 GraphicUses:3806Used by:3894
Symbol 3808 BitmapUsed by:3809
Symbol 3809 GraphicUses:3808Used by:3894
Symbol 3810 BitmapUsed by:3811
Symbol 3811 GraphicUses:3810Used by:3894
Symbol 3812 BitmapUsed by:3813
Symbol 3813 GraphicUses:3812Used by:3894
Symbol 3814 BitmapUsed by:3815
Symbol 3815 GraphicUses:3814Used by:3894
Symbol 3816 BitmapUsed by:3817
Symbol 3817 GraphicUses:3816Used by:3894
Symbol 3818 BitmapUsed by:3819
Symbol 3819 GraphicUses:3818Used by:3894
Symbol 3820 BitmapUsed by:3821
Symbol 3821 GraphicUses:3820Used by:3894
Symbol 3822 BitmapUsed by:3823
Symbol 3823 GraphicUses:3822Used by:3894
Symbol 3824 BitmapUsed by:3825
Symbol 3825 GraphicUses:3824Used by:3894
Symbol 3826 BitmapUsed by:3827
Symbol 3827 GraphicUses:3826Used by:3894
Symbol 3828 BitmapUsed by:3829
Symbol 3829 GraphicUses:3828Used by:3894
Symbol 3830 BitmapUsed by:3831
Symbol 3831 GraphicUses:3830Used by:3894
Symbol 3832 BitmapUsed by:3833
Symbol 3833 GraphicUses:3832Used by:3894
Symbol 3834 BitmapUsed by:3835
Symbol 3835 GraphicUses:3834Used by:3894
Symbol 3836 BitmapUsed by:3837
Symbol 3837 GraphicUses:3836Used by:3894
Symbol 3838 BitmapUsed by:3839
Symbol 3839 GraphicUses:3838Used by:3894
Symbol 3840 BitmapUsed by:3841
Symbol 3841 GraphicUses:3840Used by:3894
Symbol 3842 BitmapUsed by:3843
Symbol 3843 GraphicUses:3842Used by:3894
Symbol 3844 BitmapUsed by:3845
Symbol 3845 GraphicUses:3844Used by:3894
Symbol 3846 BitmapUsed by:3847
Symbol 3847 GraphicUses:3846Used by:3894
Symbol 3848 BitmapUsed by:3849
Symbol 3849 GraphicUses:3848Used by:3894
Symbol 3850 BitmapUsed by:3851
Symbol 3851 GraphicUses:3850Used by:3894
Symbol 3852 BitmapUsed by:3853
Symbol 3853 GraphicUses:3852Used by:3894
Symbol 3854 BitmapUsed by:3855
Symbol 3855 GraphicUses:3854Used by:3894
Symbol 3856 BitmapUsed by:3857
Symbol 3857 GraphicUses:3856Used by:3894
Symbol 3858 BitmapUsed by:3859
Symbol 3859 GraphicUses:3858Used by:3894
Symbol 3860 BitmapUsed by:3861
Symbol 3861 GraphicUses:3860Used by:3894
Symbol 3862 BitmapUsed by:3863
Symbol 3863 GraphicUses:3862Used by:3894
Symbol 3864 BitmapUsed by:3865
Symbol 3865 GraphicUses:3864Used by:3894
Symbol 3866 BitmapUsed by:3867
Symbol 3867 GraphicUses:3866Used by:3894
Symbol 3868 BitmapUsed by:3869
Symbol 3869 GraphicUses:3868Used by:3894
Symbol 3870 BitmapUsed by:3871
Symbol 3871 GraphicUses:3870Used by:3894
Symbol 3872 BitmapUsed by:3873
Symbol 3873 GraphicUses:3872Used by:3894
Symbol 3874 BitmapUsed by:3875
Symbol 3875 GraphicUses:3874Used by:3894
Symbol 3876 BitmapUsed by:3877
Symbol 3877 GraphicUses:3876Used by:3894
Symbol 3878 BitmapUsed by:3879
Symbol 3879 GraphicUses:3878Used by:3894
Symbol 3880 BitmapUsed by:3881
Symbol 3881 GraphicUses:3880Used by:3894
Symbol 3882 BitmapUsed by:3883
Symbol 3883 GraphicUses:3882Used by:3894
Symbol 3884 BitmapUsed by:3885
Symbol 3885 GraphicUses:3884Used by:3894
Symbol 3886 BitmapUsed by:3887
Symbol 3887 GraphicUses:3886Used by:3894
Symbol 3888 BitmapUsed by:3889
Symbol 3889 GraphicUses:3888Used by:3894
Symbol 3890 BitmapUsed by:3891
Symbol 3891 GraphicUses:3890Used by:3894
Symbol 3892 BitmapUsed by:3893
Symbol 3893 GraphicUses:3892Used by:3894
Symbol 3894 MovieClip {ShipClip}Uses:3254 3255 3257 3259 3261 3263 3265 3267 3269 3271 3273 3275 3277 3279 3281 3283 3285 3287 3289 3291 3293 3295 3297 3299 3301 3303 3305 3307 3309 3311 3313 3315 3317 3319 3321 3323 3325 3327 3329 3331 3333 3335 3337 3339 3341 3343 3345 3347 3349 3351 3353 3355 3357 3359 3361 3363 3365 3367 3369 3371 3373 3375 3377 3379 3381 3383 3385 3387 3389 3391 3393 3395 3397 3399 3401 3403 3405 3407 3409 3411 3413 3415 3417 3419 3421 3423 3425 3427 3429 3431 3433 3435 3437 3439 3441 3443 3445 3447 3449 3451 3453 3455 3457 3459 3461 3463 3465 3467 3469 3471 3473 3475 3477 3479 3481 3483 3485 3487 3489 3491 3493 3495 3497 3499 3501 3503 3505 3507 3509 3511 3513 3515 3517 3519 3521 3523 3525 3527 3529 3531 3533 3535 3537 3539 3541 3543 3545 3547 3549 3551 3553 3555 3557 3559 3561 3563 3565 3567 3569 3571 3573 3575 3577 3579 3581 3583 3585 3587 3589 3591 3593 3595 3597 3599 3601 3603 3605 3607 3609 3611 3613 3615 3617 3619 3621 3623 3625 3627 3629 3631 3633 3635 3637 3639 3641 3643 3645 3647 3649 3651 3653 3655 3657 3659 3661 3663 3665 3667 3669 3671 3673 3675 3677 3679 3681 3683 3685 3687 3689 3691 3693 3695 3697 3699 3701 3703 3705 3707 3709 3711 3713 3715 3717 3719 3721 3723 3725 3727 3729 3731 3733 3735 3737 3739 3741 3743 3745 3747 3749 3751 3753 3755 3757 3759 3761 3763 3765 3767 3769 3771 3773 3775 3777 3779 3781 3783 3785 3787 3789 3791 3793 3795 3797 3799 3801 3803 3805 3807 3809 3811 3813 3815 3817 3819 3821 3823 3825 3827 3829 3831 3833 3835 3837 3839 3841 3843 3845 3847 3849 3851 3853 3855 3857 3859 3861 3863 3865 3867 3869 3871 3873 3875 3877 3879 3881 3883 3885 3887 3889 3891 3893Used by:Timeline
Symbol 3895 BitmapUsed by:3896
Symbol 3896 GraphicUses:3895Used by:3940
Symbol 3897 BitmapUsed by:3898
Symbol 3898 GraphicUses:3897Used by:3901
Symbol 3899 BitmapUsed by:3900
Symbol 3900 GraphicUses:3899Used by:3901
Symbol 3901 Button {DialogButton}Uses:3898 3900Used by:3940 4073 4320 4364  Timeline
Symbol 3902 TextUses:2Used by:3940
Symbol 3903 TextUses:2Used by:3940
Symbol 3904 EditableTextUses:1 2Used by:3940
Symbol 3905 FontUsed by:3906
Symbol 3906 EditableTextUses:3905Used by:3940
Symbol 3907 GraphicUsed by:3908
Symbol 3908 MovieClipUses:3907Used by:3939 3974 3975
Symbol 3909 GraphicUsed by:3910
Symbol 3910 MovieClip {focusRectSkin}Uses:3909Used by:3939 3974 3975
Symbol 3911 GraphicUsed by:3912
Symbol 3912 MovieClip {ScrollTrack_skin}Uses:3911Used by:3939
Symbol 3913 GraphicUsed by:3916
Symbol 3914 GraphicUsed by:3915 3918 3922 3932 3955 3957 3959 3961 3963 3965 3967 3969
Symbol 3915 MovieClipUses:3914Used by:3916 3926 3928
Symbol 3916 MovieClip {ScrollArrowUp_downSkin}Uses:3913 3915Used by:3939
Symbol 3917 GraphicUsed by:3918
Symbol 3918 MovieClip {ScrollArrowDown_downSkin}Uses:3917 3914Used by:3939
Symbol 3919 GraphicUsed by:3920
Symbol 3920 MovieClip {ScrollThumb_downSkin}Uses:3919Used by:3939
Symbol 3921 GraphicUsed by:3922
Symbol 3922 MovieClip {ScrollArrowDown_overSkin}Uses:3921 3914Used by:3939
Symbol 3923 GraphicUsed by:3924
Symbol 3924 MovieClip {ScrollThumb_overSkin}Uses:3923Used by:3939
Symbol 3925 GraphicUsed by:3926
Symbol 3926 MovieClip {ScrollArrowUp_overSkin}Uses:3925 3915Used by:3939
Symbol 3927 GraphicUsed by:3928
Symbol 3928 MovieClip {ScrollArrowUp_upSkin}Uses:3927 3915Used by:3939
Symbol 3929 GraphicUsed by:3930
Symbol 3930 MovieClip {ScrollThumb_upSkin}Uses:3929Used by:3939
Symbol 3931 GraphicUsed by:3932
Symbol 3932 MovieClip {ScrollArrowDown_upSkin}Uses:3931 3914Used by:3939
Symbol 3933 GraphicUsed by:3934
Symbol 3934 MovieClip {ScrollArrowDown_disabledSkin}Uses:3933Used by:3939
Symbol 3935 GraphicUsed by:3936
Symbol 3936 MovieClip {ScrollArrowUp_disabledSkin}Uses:3935Used by:3939
Symbol 3937 GraphicUsed by:3938
Symbol 3938 MovieClip {ScrollBar_thumbIcon}Uses:3937Used by:3939
Symbol 3939 MovieClip {fl.controls.UIScrollBar}Uses:3908 136 3910 3912 3916 3918 3920 3922 3924 3926 3928 3930 3932 3934 3936 3938Used by:3940 4403  Timeline
Symbol 3940 MovieClip {CharacterSetupDialog}Uses:3896 33 3901 3902 3903 3904 3906 73 3939Used by:Timeline
Symbol 3941 BitmapUsed by:3942 3952 4083 4158 4163 4177 4247 4252 4269 4272 4281 4285 4294
Symbol 3942 GraphicUses:3941Used by:3951 3982 4374
Symbol 3943 BitmapUsed by:3944
Symbol 3944 GraphicUses:3943Used by:3947
Symbol 3945 BitmapUsed by:3946
Symbol 3946 GraphicUses:3945Used by:3947
Symbol 3947 Button {MapButton}Uses:3944 3946Used by:3951 3980 3982 4077 4079 4082 4088 4090 4092 4374  Timeline
Symbol 3948 TextUses:2Used by:3951 3980 3982 4079 4088 4092 4374
Symbol 3949 TextUses:2Used by:3951 3980 3982 4079 4088 4092 4374
Symbol 3950 EditableTextUses:1 2Used by:3951
Symbol 3951 MovieClip {BuyCannonDialog}Uses:3942 3947 3948 3949 3950Used by:Timeline
Symbol 3952 GraphicUses:3941Used by:3980 4077 4079 4082 4090 4092
Symbol 3953 TextUses:2Used by:3980
Symbol 3954 GraphicUsed by:3955
Symbol 3955 MovieClip {NumericStepperDownArrow_disabledSkin}Uses:3954 3914Used by:3975
Symbol 3956 GraphicUsed by:3957
Symbol 3957 MovieClip {NumericStepperDownArrow_downSkin}Uses:3956 3914Used by:3975
Symbol 3958 GraphicUsed by:3959
Symbol 3959 MovieClip {NumericStepperDownArrow_overSkin}Uses:3958 3914Used by:3975
Symbol 3960 GraphicUsed by:3961
Symbol 3961 MovieClip {NumericStepperDownArrow_upSkin}Uses:3960 3914Used by:3975
Symbol 3962 GraphicUsed by:3963
Symbol 3963 MovieClip {NumericStepperUpArrow_disabledSkin}Uses:3962 3914Used by:3975
Symbol 3964 GraphicUsed by:3965
Symbol 3965 MovieClip {NumericStepperUpArrow_downSkin}Uses:3964 3914Used by:3975
Symbol 3966 GraphicUsed by:3967
Symbol 3967 MovieClip {NumericStepperUpArrow_overSkin}Uses:3966 3914Used by:3975
Symbol 3968 GraphicUsed by:3969
Symbol 3969 MovieClip {NumericStepperUpArrow_upSkin}Uses:3968 3914Used by:3975
Symbol 3970 GraphicUsed by:3971
Symbol 3971 MovieClip {TextInput_disabledSkin}Uses:3970Used by:3974
Symbol 3972 GraphicUsed by:3973
Symbol 3973 MovieClip {TextInput_upSkin}Uses:3972Used by:3974
Symbol 3974 MovieClip {fl.controls.TextInput}Uses:3908 136 3971 3973 3910Used by:3975  Timeline
Symbol 3975 MovieClip {fl.controls.NumericStepper}Uses:3908 136 3910 3955 3957 3959 3961 3963 3965 3967 3969 3974Used by:3980  Timeline
Symbol 3976 FontUsed by:3977 4369
Symbol 3977 EditableTextUses:3976Used by:3980
Symbol 3978 TextUses:2Used by:3980
Symbol 3979 TextUses:2Used by:3980
Symbol 3980 MovieClip {BuyMarketDialog}Uses:3952 3953 3947 3948 3949 3975 3977 3978 3979Used by:Timeline
Symbol 3981 EditableTextUses:1 2Used by:3982
Symbol 3982 MovieClip {BuyShipDialog}Uses:3942 3947 3948 3949 3981Used by:Timeline
Symbol 3983 BitmapUsed by:3984
Symbol 3984 GraphicUses:3983Used by:4073  Timeline
Symbol 3985 TextUses:2Used by:4073
Symbol 3986 BitmapUsed by:3987 4361
Symbol 3987 GraphicUses:3986Used by:3990
Symbol 3988 BitmapUsed by:3989
Symbol 3989 GraphicUses:3988Used by:3990
Symbol 3990 Button {ShopButton}Uses:3987 3989Used by:4009 4034 4060 4063 4073 4100 4104 4111 4118 4162 4176 4180 4249 4251 4293 4299 4330 4403 4535  Timeline
Symbol 3991 TextUses:2Used by:4073
Symbol 3992 TextUses:2Used by:4073
Symbol 3993 BitmapUsed by:3994 4514
Symbol 3994 GraphicUses:3993Used by:4009 4034 4060 4070
Symbol 3995 BitmapUsed by:3996
Symbol 3996 GraphicUses:3995Used by:4005 4033 4059 4063
Symbol 3997 EditableTextUses:1 2Used by:4005
Symbol 3998 EditableTextUses:1 2Used by:4005
Symbol 3999 EditableTextUses:1 2Used by:4005
Symbol 4000 EditableTextUses:1 2Used by:4005
Symbol 4001 EditableTextUses:1 2Used by:4005
Symbol 4002 BitmapUsed by:4003
Symbol 4003 GraphicUses:4002Used by:4005 4033 4059 4063
Symbol 4004 GraphicUsed by:4005 4033 4059 4063
Symbol 4005 MovieClip {ShipStoreItem}Uses:3996 54 3997 3998 3999 4000 4001 4003 4004Used by:4009
Symbol 4006 EditableTextUses:2Used by:4009
Symbol 4007 TextUses:2Used by:4009 4034 4060
Symbol 4008 TextUses:2Used by:4009 4034 4060
Symbol 4009 MovieClip {Shipyard}Uses:3994 3990 4005 4006 4007 4008Used by:4073
Symbol 4010 EditableTextUses:1 2Used by:4073
Symbol 4011 EditableTextUses:1 2Used by:4073
Symbol 4012 TextUses:2Used by:4073
Symbol 4013 TextUses:2Used by:4073
Symbol 4014 TextUses:2Used by:4073
Symbol 4015 TextUses:2Used by:4073
Symbol 4016 EditableTextUses:1 2Used by:4073
Symbol 4017 EditableTextUses:1 2Used by:4073
Symbol 4018 EditableTextUses:1 2Used by:4073
Symbol 4019 EditableTextUses:1 2Used by:4073
Symbol 4020 TextUses:2Used by:4073
Symbol 4021 TextUses:2Used by:4073
Symbol 4022 TextUses:2Used by:4073
Symbol 4023 TextUses:2Used by:4073
Symbol 4024 EditableTextUses:1 2Used by:4073
Symbol 4025 EditableTextUses:1 2Used by:4073
Symbol 4026 EditableTextUses:1 2Used by:4073
Symbol 4027 TextUses:2Used by:4034
Symbol 4028 BitmapUsed by:4029 4514
Symbol 4029 GraphicUses:4028Used by:4030 4162 4329
Symbol 4030 MovieClip {CannonIcon}Uses:4029Used by:4033
Symbol 4031 EditableTextUses:1 2Used by:4033
Symbol 4032 EditableTextUses:1 2Used by:4033
Symbol 4033 MovieClip {CannonStoreItem}Uses:3996 4030 4031 4032 4003 4004Used by:4034
Symbol 4034 MovieClip {CannonShop}Uses:3994 3990 4027 4007 4008 4033Used by:4073
Symbol 4035 TextUses:2Used by:4060
Symbol 4036 BitmapUsed by:4037
Symbol 4037 GraphicUses:4036Used by:4056
Symbol 4038 BitmapUsed by:4039
Symbol 4039 GraphicUses:4038Used by:4056
Symbol 4040 BitmapUsed by:4041
Symbol 4041 GraphicUses:4040Used by:4056
Symbol 4042 BitmapUsed by:4043
Symbol 4043 GraphicUses:4042Used by:4056
Symbol 4044 BitmapUsed by:4045
Symbol 4045 GraphicUses:4044Used by:4056
Symbol 4046 BitmapUsed by:4047
Symbol 4047 GraphicUses:4046Used by:4056
Symbol 4048 BitmapUsed by:4049
Symbol 4049 GraphicUses:4048Used by:4056
Symbol 4050 BitmapUsed by:4051
Symbol 4051 GraphicUses:4050Used by:4056
Symbol 4052 BitmapUsed by:4053
Symbol 4053 GraphicUses:4052Used by:4056
Symbol 4054 BitmapUsed by:4055
Symbol 4055 GraphicUses:4054Used by:4056
Symbol 4056 MovieClip {MarketIcon}Uses:4037 4039 4041 4043 4045 4047 4049 4051 4053 4055Used by:4059
Symbol 4057 EditableTextUses:1 2Used by:4059
Symbol 4058 EditableTextUses:1 2Used by:4059
Symbol 4059 MovieClip {MarketStoreItem}Uses:3996 4056 4057 4058 4003 4004Used by:4060
Symbol 4060 MovieClip {MarketShop}Uses:3994 3990 4035 4007 4008 4059Used by:4073
Symbol 4061 TextUses:2Used by:4070
Symbol 4062 EditableTextUses:1 2Used by:4063
Symbol 4063 MovieClip {TavernItem}Uses:3996 3990 4062 4003 4004Used by:4070
Symbol 4064 TextUses:2Used by:4070
Symbol 4065 TextUses:2Used by:4070
Symbol 4066 TextUses:2Used by:4070
Symbol 4067 TextUses:2Used by:4070
Symbol 4068 TextUses:2Used by:4070
Symbol 4069 TextUses:2Used by:4070
Symbol 4070 MovieClip {Tavern}Uses:3994 4061 4063 4064 4065 4066 4067 4068 4069Used by:4073
Symbol 4071 TextUses:2Used by:4073
Symbol 4072 TextUses:2Used by:4073
Symbol 4073 MovieClip {City}Uses:3984 3901 3985 3990 3991 3992 4009 4010 4011 4012 4013 54 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 62 4034 4060 4070 4071 4072Used by:Timeline
Symbol 4074 EditableTextUses:2Used by:4077
Symbol 4075 EditableTextUses:2Used by:4077
Symbol 4076 EditableTextUses:2Used by:4077
Symbol 4077 MovieClip {CompanionDialog}Uses:3952 4074 3947 4075 4076Used by:Timeline
Symbol 4078 TextUses:2Used by:4079
Symbol 4079 MovieClip {GoodsDialog}Uses:3952 4078 3947 3948 3949Used by:Timeline
Symbol 4080 EditableTextUses:1 2Used by:4082
Symbol 4081 TextUses:2Used by:4082 4090
Symbol 4082 MovieClip {MessageDialog}Uses:3952 4080 3947 4081Used by:Timeline
Symbol 4083 GraphicUses:3941Used by:4088
Symbol 4084 EditableTextUses:1 2Used by:4088
Symbol 4085 BitmapUsed by:4086
Symbol 4086 GraphicUses:4085Used by:4087
Symbol 4087 MovieClipUses:4086Used by:4088  Timeline
Symbol 4088 MovieClip {MiniquestDialog}Uses:4083 4084 3947 3948 3949 4087Used by:Timeline
Symbol 4089 EditableTextUses:1 2Used by:4090
Symbol 4090 MovieClip {ProfitDialog}Uses:3952 4089 3947 4081Used by:Timeline
Symbol 4091 TextUses:2Used by:4092
Symbol 4092 MovieClip {RumDialog}Uses:3952 4091 3947 3948 3949Used by:Timeline
Symbol 4093 BitmapUsed by:4094
Symbol 4094 GraphicUses:4093Used by:4100
Symbol 4095 TextUses:2Used by:4100
Symbol 4096 TextUses:2Used by:4100
Symbol 4097 TextUses:2Used by:4100
Symbol 4098 TextUses:2Used by:4100
Symbol 4099 EditableTextUses:1 2Used by:4100
Symbol 4100 MovieClip {GameOverDialog}Uses:4094 3990 4095 4096 73 4097 4098 4099Used by:Timeline
Symbol 4101 GraphicUses:80Used by:4104
Symbol 4102 TextUses:2Used by:4104
Symbol 4103 TextUses:2Used by:4104
Symbol 4104 MovieClip {GameWinDialog}Uses:4101 3990 4102 4103 73Used by:Timeline
Symbol 4105 BitmapUsed by:4106 4321
Symbol 4106 GraphicUses:4105Used by:4111 4157 4535
Symbol 4107 BitmapUsed by:4108 4112 4321
Symbol 4108 GraphicUses:4107Used by:4109
Symbol 4109 MovieClipUses:4108Used by:4111 4535
Symbol 4110 TextUses:2Used by:4111
Symbol 4111 MovieClip {Highscores}Uses:4106 4109 3990 4110Used by:Timeline
Symbol 4112 GraphicUses:4107Used by:4118
Symbol 4113 TextUses:2Used by:4118
Symbol 4114 EditableTextUses:1 2Used by:4118
Symbol 4115 TextUses:2Used by:4118
Symbol 4116 TextUses:2Used by:4118
Symbol 4117 TextUses:2Used by:4118
Symbol 4118 MovieClip {LevelWinDialog}Uses:4112 4113 4114 4115 3990 4116 4117 73Used by:Timeline
Symbol 4119 BitmapUsed by:4120
Symbol 4120 GraphicUses:4119Used by:4123
Symbol 4121 BitmapUsed by:4122
Symbol 4122 GraphicUses:4121Used by:4123
Symbol 4123 Button {SurvivalButton}Uses:4120 4122Used by:4157
Symbol 4124 BitmapUsed by:4125
Symbol 4125 GraphicUses:4124Used by:4128
Symbol 4126 BitmapUsed by:4127
Symbol 4127 GraphicUses:4126Used by:4128
Symbol 4128 ButtonUses:4125 4127Used by:4157
Symbol 4129 BitmapUsed by:4130
Symbol 4130 GraphicUses:4129Used by:4133
Symbol 4131 BitmapUsed by:4132
Symbol 4132 GraphicUses:4131Used by:4133
Symbol 4133 ButtonUses:4130 4132Used by:4157
Symbol 4134 BitmapUsed by:4135
Symbol 4135 GraphicUses:4134Used by:4138
Symbol 4136 BitmapUsed by:4137
Symbol 4137 GraphicUses:4136Used by:4138
Symbol 4138 ButtonUses:4135 4137Used by:4157
Symbol 4139 BitmapUsed by:4140
Symbol 4140 GraphicUses:4139Used by:4143
Symbol 4141 BitmapUsed by:4142
Symbol 4142 GraphicUses:4141Used by:4143
Symbol 4143 Button {TrophiesButton}Uses:4140 4142Used by:4157
Symbol 4144 BitmapUsed by:4145
Symbol 4145 GraphicUses:4144Used by:4148
Symbol 4146 BitmapUsed by:4147
Symbol 4147 GraphicUses:4146Used by:4148
Symbol 4148 Button {MoreGamesButton}Uses:4145 4147Used by:4157
Symbol 4149 BitmapUsed by:4150
Symbol 4150 GraphicUses:4149Used by:4151
Symbol 4151 MovieClip {HostButton}Uses:4150Used by:4157
Symbol 4152 BitmapUsed by:4153
Symbol 4153 GraphicUses:4152Used by:4156
Symbol 4154 BitmapUsed by:4155
Symbol 4155 GraphicUses:4154Used by:4156
Symbol 4156 Button {CreditsButton}Uses:4153 4155Used by:4157
Symbol 4157 MovieClip {MainMenu}Uses:4106 4123 4128 4133 4138 4143 4148 4151 73 4156Used by:Timeline
Symbol 4158 GraphicUses:3941Used by:4162 4249 4251
Symbol 4159 TextUses:2Used by:4162 4176 4180 4249 4251 4293 4299
Symbol 4160 TextUses:2Used by:4162
Symbol 4161 TextUses:2Used by:4162 4251
Symbol 4162 MovieClip {CannonsTutorial}Uses:4158 3990 4159 4160 4161 4029Used by:Timeline
Symbol 4163 GraphicUses:3941Used by:4176
Symbol 4164 TextUses:2Used by:4176
Symbol 4165 BitmapUsed by:4166
Symbol 4166 GraphicUses:4165Used by:4167
Symbol 4167 MovieClip {MapShip}Uses:4166Used by:4176 4382
Symbol 4168 TextUses:2Used by:4176
Symbol 4169 BitmapUsed by:4170
Symbol 4170 GraphicUses:4169Used by:4171
Symbol 4171 MovieClipUses:4170Used by:4176 4382
Symbol 4172 TextUses:2Used by:4176
Symbol 4173 TextUses:2Used by:4176
Symbol 4174 TextUses:2Used by:4176
Symbol 4175 TextUses:2Used by:4176
Symbol 4176 MovieClip {MapTutorial}Uses:4163 4164 3990 4167 4168 4171 4172 4173 4159 4174 4175Used by:4382  Timeline
Symbol 4177 GraphicUses:3941Used by:4180
Symbol 4178 TextUses:2Used by:4180
Symbol 4179 TextUses:2Used by:4180
Symbol 4180 MovieClip {MarketTutorial}Uses:4177 3990 4159 4178 4179 203Used by:Timeline
Symbol 4181 TextUses:2Used by:4249
Symbol 4182 BitmapUsed by:4183
Symbol 4183 GraphicUses:4182Used by:4245
Symbol 4184 GraphicUsed by:4186
Symbol 4185 EditableTextUses:1 2Used by:4186
Symbol 4186 MovieClip {TooltipSymbol}Uses:4184 4185Used by:4245 4249
Symbol 4187 BitmapUsed by:4188
Symbol 4188 GraphicUses:4187Used by:4245
Symbol 4189 BitmapUsed by:4190
Symbol 4190 GraphicUses:4189Used by:4245
Symbol 4191 BitmapUsed by:4192
Symbol 4192 GraphicUses:4191Used by:4245
Symbol 4193 BitmapUsed by:4194
Symbol 4194 GraphicUses:4193Used by:4245
Symbol 4195 BitmapUsed by:4196
Symbol 4196 GraphicUses:4195Used by:4245
Symbol 4197 BitmapUsed by:4198
Symbol 4198 GraphicUses:4197Used by:4245
Symbol 4199 BitmapUsed by:4200
Symbol 4200 GraphicUses:4199Used by:4245
Symbol 4201 BitmapUsed by:4202
Symbol 4202 GraphicUses:4201Used by:4245
Symbol 4203 BitmapUsed by:4204
Symbol 4204 GraphicUses:4203Used by:4245
Symbol 4205 BitmapUsed by:4206
Symbol 4206 GraphicUses:4205Used by:4245
Symbol 4207 BitmapUsed by:4208
Symbol 4208 GraphicUses:4207Used by:4245
Symbol 4209 BitmapUsed by:4210
Symbol 4210 GraphicUses:4209Used by:4245
Symbol 4211 BitmapUsed by:4212
Symbol 4212 GraphicUses:4211Used by:4245
Symbol 4213 BitmapUsed by:4214
Symbol 4214 GraphicUses:4213Used by:4245
Symbol 4215 BitmapUsed by:4216
Symbol 4216 GraphicUses:4215Used by:4245
Symbol 4217 BitmapUsed by:4218
Symbol 4218 GraphicUses:4217Used by:4245
Symbol 4219 BitmapUsed by:4220
Symbol 4220 GraphicUses:4219Used by:4245
Symbol 4221 BitmapUsed by:4222
Symbol 4222 GraphicUses:4221Used by:4245
Symbol 4223 BitmapUsed by:4224
Symbol 4224 GraphicUses:4223Used by:4245
Symbol 4225 BitmapUsed by:4226
Symbol 4226 GraphicUses:4225Used by:4245
Symbol 4227 BitmapUsed by:4228
Symbol 4228 GraphicUses:4227Used by:4245
Symbol 4229 BitmapUsed by:4230
Symbol 4230 GraphicUses:4229Used by:4245
Symbol 4231 BitmapUsed by:4232
Symbol 4232 GraphicUses:4231Used by:4245
Symbol 4233 BitmapUsed by:4234
Symbol 4234 GraphicUses:4233Used by:4245
Symbol 4235 BitmapUsed by:4236
Symbol 4236 GraphicUses:4235Used by:4245
Symbol 4237 BitmapUsed by:4238
Symbol 4238 GraphicUses:4237Used by:4245
Symbol 4239 BitmapUsed by:4240
Symbol 4240 GraphicUses:4239Used by:4245
Symbol 4241 BitmapUsed by:4242
Symbol 4242 GraphicUses:4241Used by:4245
Symbol 4243 BitmapUsed by:4244
Symbol 4244 GraphicUses:4243Used by:4245
Symbol 4245 MovieClip {PerkIcon}Uses:4183 4186 4188 4190 4192 4194 4196 4198 4200 4202 4204 4206 4208 4210 4212 4214 4216 4218 4220 4222 4224 4226 4228 4230 4232 4234 4236 4238 4240 4242 4244Used by:4249 4320
Symbol 4246 TextUses:2Used by:4249
Symbol 4247 GraphicUses:3941Used by:4249
Symbol 4248 TextUses:2Used by:4249
Symbol 4249 MovieClip {PerkTutorial}Uses:4158 3990 4159 4181 4245 4246 4247 4248 4186Used by:Timeline
Symbol 4250 TextUses:2Used by:4251
Symbol 4251 MovieClip {ShipyardTutorial}Uses:4158 3990 4159 4250 4161 3425Used by:Timeline
Symbol 4252 GraphicUses:3941Used by:4293
Symbol 4253 TextUses:2Used by:4293
Symbol 4254 BitmapUsed by:4255
Symbol 4255 GraphicUses:4254Used by:4293
Symbol 4256 TextUses:2Used by:4293
Symbol 4257 TextUses:2Used by:4293
Symbol 4258 GraphicUsed by:4259
Symbol 4259 MovieClip {ShotArrow}Uses:4258Used by:4293  Timeline
Symbol 4260 TextUses:2Used by:4293
Symbol 4261 TextUses:2Used by:4293
Symbol 4262 GraphicUsed by:4265
Symbol 4263 BitmapUsed by:4264
Symbol 4264 GraphicUses:4263Used by:4265
Symbol 4265 MovieClipUses:4262 4264Used by:4293
Symbol 4266 TextUses:2Used by:4293
Symbol 4267 TextUses:2Used by:4293
Symbol 4268 TextUses:2Used by:4293
Symbol 4269 GraphicUses:3941Used by:4293
Symbol 4270 MovieClipUses:3305Used by:4293
Symbol 4271 TextUses:2Used by:4293
Symbol 4272 GraphicUses:3941Used by:4293
Symbol 4273 BitmapUsed by:4276
Symbol 4274 BitmapUsed by:4276
Symbol 4275 BitmapUsed by:4276
Symbol 4276 GraphicUses:4273 4274 4275Used by:4279
Symbol 4277 EditableTextUses:1 2Used by:4279
Symbol 4278 EditableTextUses:1 2Used by:4279
Symbol 4279 MovieClip {Stripe}Uses:4276 4277 4278Used by:4293  Timeline
Symbol 4280 TextUses:2Used by:4293
Symbol 4281 GraphicUses:3941Used by:4293
Symbol 4282 TextUses:2Used by:4293
Symbol 4283 BitmapUsed by:4284
Symbol 4284 GraphicUses:4283Used by:4293 4504
Symbol 4285 GraphicUses:3941Used by:4293
Symbol 4286 TextUses:2Used by:4293
Symbol 4287 TextUses:2Used by:4293
Symbol 4288 TextUses:2Used by:4293
Symbol 4289 MovieClipUses:14Used by:4293
Symbol 4290 MovieClip {TutorialHP}Uses:12Used by:4293  Timeline
Symbol 4291 EditableTextUses:2Used by:4293
Symbol 4292 EditableTextUses:2Used by:4293
Symbol 4293 MovieClip {Tutorial}Uses:4252 3990 4159 4253 4255 4256 4257 4259 3439 4260 4261 4265 4266 4267 4268 4269 213 4270 4271 4272 4279 4280 4281 4282 4284 4285 4286 4287 4288 4289 4290 4291 4292Used by:Timeline
Symbol 4294 GraphicUses:3941Used by:4299
Symbol 4295 TextUses:2Used by:4299
Symbol 4296 TextUses:2Used by:4299
Symbol 4297 BitmapUsed by:4298
Symbol 4298 GraphicUses:4297Used by:4299 4346
Symbol 4299 MovieClip {UpgradeTutorial}Uses:4294 3990 4159 4295 4296 4298Used by:Timeline
Symbol 4300 BitmapUsed by:4301
Symbol 4301 GraphicUses:4300Used by:4320
Symbol 4302 TextUses:2Used by:4320
Symbol 4303 TextUses:2Used by:4320
Symbol 4304 TextUses:2Used by:4320
Symbol 4305 TextUses:2Used by:4320
Symbol 4306 BitmapUsed by:4307
Symbol 4307 GraphicUses:4306Used by:4308
Symbol 4308 MovieClip {ExpSymbol}Uses:4307Used by:4320
Symbol 4309 BitmapUsed by:4310
Symbol 4310 GraphicUses:4309Used by:4311
Symbol 4311 MovieClip {ExpLine}Uses:4310Used by:4320
Symbol 4312 TextUses:2Used by:4320
Symbol 4313 EditableTextUses:1 2Used by:4320
Symbol 4314 TextUses:2Used by:4320
Symbol 4315 EditableTextUses:1 2Used by:4320
Symbol 4316 TextUses:2Used by:4320
Symbol 4317 EditableTextUses:1 2Used by:4320
Symbol 4318 TextUses:2Used by:4320
Symbol 4319 EditableTextUses:1 2Used by:4320
Symbol 4320 MovieClip {PerkDialog}Uses:4301 4245 4302 4303 4304 33 3901 4305 4308 4311 4312 4313 4314 4315 4316 4317 4318 4319Used by:Timeline
Symbol 4321 GraphicUses:4107 4105Used by:4330
Symbol 4322 TextUses:2Used by:4330
Symbol 4323 TextUses:2Used by:4330
Symbol 4324 TextUses:2Used by:4330
Symbol 4325 TextUses:2Used by:4330
Symbol 4326 TextUses:2Used by:4330
Symbol 4327 MovieClip {TrophyIcon1}Uses:3409Used by:4330
Symbol 4328 MovieClip {TrophyIcon2}Uses:3409Used by:4330
Symbol 4329 MovieClip {TrophyIcon3}Uses:4029Used by:4330
Symbol 4330 MovieClip {Trophies}Uses:4321 4322 3990 4323 4324 4325 4326 4327 4328 4329Used by:Timeline
Symbol 4331 BitmapUsed by:4332
Symbol 4332 GraphicUses:4331Used by:4364
Symbol 4333 TextUses:2Used by:4364
Symbol 4334 TextUses:2Used by:4364
Symbol 4335 TextUses:2Used by:4364
Symbol 4336 TextUses:2Used by:4364
Symbol 4337 TextUses:2Used by:4364
Symbol 4338 TextUses:2Used by:4364
Symbol 4339 TextUses:2Used by:4364
Symbol 4340 BitmapUsed by:4341
Symbol 4341 GraphicUses:4340Used by:4346
Symbol 4342 BitmapUsed by:4343
Symbol 4343 GraphicUses:4342Used by:4346
Symbol 4344 BitmapUsed by:4345
Symbol 4345 GraphicUses:4344Used by:4346
Symbol 4346 MovieClip {UpgradeSymbol}Uses:4341 4298 4343 4345Used by:4364
Symbol 4347 EditableTextUses:1 2Used by:4364
Symbol 4348 TextUses:2Used by:4364
Symbol 4349 TextUses:2Used by:4364
Symbol 4350 TextUses:2Used by:4364
Symbol 4351 TextUses:2Used by:4364
Symbol 4352 EditableTextUses:1 2Used by:4364
Symbol 4353 EditableTextUses:1 2Used by:4364
Symbol 4354 EditableTextUses:1 2Used by:4364
Symbol 4355 EditableTextUses:1 2Used by:4364
Symbol 4356 TextUses:2Used by:4364
Symbol 4357 TextUses:2Used by:4364
Symbol 4358 TextUses:2Used by:4364
Symbol 4359 EditableTextUses:1 2Used by:4364
Symbol 4360 EditableTextUses:1 2Used by:4364
Symbol 4361 GraphicUses:3986Used by:4364
Symbol 4362 TextUses:2Used by:4364
Symbol 4363 EditableTextUses:1 2Used by:4364
Symbol 4364 MovieClip {UpgradeDialog}Uses:4332 4333 4334 4335 4336 4337 4338 4339 4346 54 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 3901 4362 4363 62Used by:Timeline
Symbol 4365 GraphicUsed by:4366
Symbol 4366 MovieClip {LevelHolder}Uses:4365Used by:Timeline
Symbol 4367 BitmapUsed by:4368
Symbol 4368 GraphicUses:4367Used by:4372
Symbol 4369 TextUses:3976Used by:4372
Symbol 4370 BitmapUsed by:4371
Symbol 4371 GraphicUses:4370Used by:4372
Symbol 4372 MovieClip {SoundMute}Uses:4368 4369 4371Used by:4515  Timeline
Symbol 4373 EditableTextUses:1 2Used by:4374
Symbol 4374 MovieClip {CityDialog}Uses:3942 3947 3948 3949 4373Used by:Timeline
Symbol 4375 GraphicUsed by:4377
Symbol 4376 EditableTextUses:78Used by:4377
Symbol 4377 MovieClip {Level}Uses:4375 71 73 77 4376 84Used by:Timeline
Symbol 4378 BitmapUsed by:4379
Symbol 4379 GraphicUses:4378Used by:4382
Symbol 4380 GraphicUsed by:4381
Symbol 4381 MovieClip {LevelMask}Uses:4380Used by:4382
Symbol 4382 MovieClip {LevelMap}Uses:4379 4381 4167 4171 71 4176 73 77Used by:Timeline
Symbol 4383 GraphicUses:80Used by:4403
Symbol 4384 BitmapUsed by:4385
Symbol 4385 GraphicUses:4384Used by:4400
Symbol 4386 BitmapUsed by:4387
Symbol 4387 GraphicUses:4386Used by:4400
Symbol 4388 BitmapUsed by:4389
Symbol 4389 GraphicUses:4388Used by:4400
Symbol 4390 BitmapUsed by:4391
Symbol 4391 GraphicUses:4390Used by:4400
Symbol 4392 BitmapUsed by:4393
Symbol 4393 GraphicUses:4392Used by:4400
Symbol 4394 BitmapUsed by:4395
Symbol 4395 GraphicUses:4394Used by:4400
Symbol 4396 BitmapUsed by:4397
Symbol 4397 GraphicUses:4396Used by:4400
Symbol 4398 BitmapUsed by:4399
Symbol 4399 GraphicUses:4398Used by:4400
Symbol 4400 MovieClip {StorylinePortrait}Uses:4385 4387 4389 4391 4393 4395 4397 4399Used by:4403
Symbol 4401 EditableTextUses:1 2Used by:4403
Symbol 4402 TextUses:2Used by:4403
Symbol 4403 MovieClip {StorylineDialog}Uses:4383 4400 4401 3939 3990 4402Used by:Timeline
Symbol 4404 BitmapUsed by:4405
Symbol 4405 GraphicUses:4404Used by:4504
Symbol 4406 BitmapUsed by:4407
Symbol 4407 GraphicUses:4406Used by:4504
Symbol 4408 BitmapUsed by:4409
Symbol 4409 GraphicUses:4408Used by:4504
Symbol 4410 BitmapUsed by:4411
Symbol 4411 GraphicUses:4410Used by:4504
Symbol 4412 BitmapUsed by:4413
Symbol 4413 GraphicUses:4412Used by:4504
Symbol 4414 BitmapUsed by:4415
Symbol 4415 GraphicUses:4414Used by:4504
Symbol 4416 BitmapUsed by:4417
Symbol 4417 GraphicUses:4416Used by:4504
Symbol 4418 BitmapUsed by:4419
Symbol 4419 GraphicUses:4418Used by:4504
Symbol 4420 BitmapUsed by:4421
Symbol 4421 GraphicUses:4420Used by:4504
Symbol 4422 BitmapUsed by:4423
Symbol 4423 GraphicUses:4422Used by:4504
Symbol 4424 BitmapUsed by:4425
Symbol 4425 GraphicUses:4424Used by:4504
Symbol 4426 BitmapUsed by:4427
Symbol 4427 GraphicUses:4426Used by:4504
Symbol 4428 BitmapUsed by:4429
Symbol 4429 GraphicUses:4428Used by:4504
Symbol 4430 BitmapUsed by:4431
Symbol 4431 GraphicUses:4430Used by:4504
Symbol 4432 BitmapUsed by:4433
Symbol 4433 GraphicUses:4432Used by:4504
Symbol 4434 BitmapUsed by:4435
Symbol 4435 GraphicUses:4434Used by:4504
Symbol 4436 BitmapUsed by:4437
Symbol 4437 GraphicUses:4436Used by:4504
Symbol 4438 BitmapUsed by:4439
Symbol 4439 GraphicUses:4438Used by:4504
Symbol 4440 BitmapUsed by:4441
Symbol 4441 GraphicUses:4440Used by:4504
Symbol 4442 BitmapUsed by:4443
Symbol 4443 GraphicUses:4442Used by:4504
Symbol 4444 BitmapUsed by:4445
Symbol 4445 GraphicUses:4444Used by:4504
Symbol 4446 BitmapUsed by:4447
Symbol 4447 GraphicUses:4446Used by:4504
Symbol 4448 BitmapUsed by:4449
Symbol 4449 GraphicUses:4448Used by:4504
Symbol 4450 BitmapUsed by:4451
Symbol 4451 GraphicUses:4450Used by:4504
Symbol 4452 BitmapUsed by:4453
Symbol 4453 GraphicUses:4452Used by:4504
Symbol 4454 BitmapUsed by:4455
Symbol 4455 GraphicUses:4454Used by:4504
Symbol 4456 BitmapUsed by:4457
Symbol 4457 GraphicUses:4456Used by:4504
Symbol 4458 BitmapUsed by:4459
Symbol 4459 GraphicUses:4458Used by:4504
Symbol 4460 BitmapUsed by:4461
Symbol 4461 GraphicUses:4460Used by:4504
Symbol 4462 BitmapUsed by:4463
Symbol 4463 GraphicUses:4462Used by:4504
Symbol 4464 BitmapUsed by:4465
Symbol 4465 GraphicUses:4464Used by:4504
Symbol 4466 BitmapUsed by:4467
Symbol 4467 GraphicUses:4466Used by:4504
Symbol 4468 BitmapUsed by:4469
Symbol 4469 GraphicUses:4468Used by:4504
Symbol 4470 BitmapUsed by:4471
Symbol 4471 GraphicUses:4470Used by:4504
Symbol 4472 BitmapUsed by:4473
Symbol 4473 GraphicUses:4472Used by:4504
Symbol 4474 BitmapUsed by:4475
Symbol 4475 GraphicUses:4474Used by:4504
Symbol 4476 BitmapUsed by:4477
Symbol 4477 GraphicUses:4476Used by:4504
Symbol 4478 BitmapUsed by:4479
Symbol 4479 GraphicUses:4478Used by:4504
Symbol 4480 BitmapUsed by:4481
Symbol 4481 GraphicUses:4480Used by:4504
Symbol 4482 BitmapUsed by:4483
Symbol 4483 GraphicUses:4482Used by:4504
Symbol 4484 BitmapUsed by:4485
Symbol 4485 GraphicUses:4484Used by:4504
Symbol 4486 BitmapUsed by:4487
Symbol 4487 GraphicUses:4486Used by:4504
Symbol 4488 BitmapUsed by:4489
Symbol 4489 GraphicUses:4488Used by:4504
Symbol 4490 BitmapUsed by:4491
Symbol 4491 GraphicUses:4490Used by:4504
Symbol 4492 BitmapUsed by:4493
Symbol 4493 GraphicUses:4492Used by:4504
Symbol 4494 BitmapUsed by:4495
Symbol 4495 GraphicUses:4494Used by:4504
Symbol 4496 BitmapUsed by:4497
Symbol 4497 GraphicUses:4496Used by:4504
Symbol 4498 BitmapUsed by:4499
Symbol 4499 GraphicUses:4498Used by:4504
Symbol 4500 BitmapUsed by:4501
Symbol 4501 GraphicUses:4500Used by:4504
Symbol 4502 BitmapUsed by:4503
Symbol 4503 GraphicUses:4502Used by:4504
Symbol 4504 MovieClip {Octopus}Uses:4405 4407 4409 4411 4413 4415 4417 4419 4421 4423 4425 4427 4429 4431 4433 4435 4437 4439 4441 4443 4445 4447 4449 4451 4453 4455 4457 4459 4461 4463 4284 4465 4467 4469 4471 4473 4475 4477 4479 4481 4483 4485 4487 4489 4491 4493 4495 4497 4499 4501 4503Used by:Timeline
Symbol 4505 GraphicUsed by:4506 4515
Symbol 4506 MovieClip {WaterTilesHolder}Uses:4505Used by:Timeline
Symbol 4507 BitmapUsed by:4508
Symbol 4508 GraphicUses:4507Used by:4513
Symbol 4509 BitmapUsed by:4510
Symbol 4510 GraphicUses:4509Used by:4513
Symbol 4511 BitmapUsed by:4512
Symbol 4512 GraphicUses:4511Used by:4513
Symbol 4513 MovieClip {Water}Uses:4508 4510 4512Used by:Timeline
Symbol 4514 GraphicUses:3993 4028Used by:Timeline
Symbol 4515 MovieClip {Game}Uses:4505 4372Used by:Timeline
Symbol 4516 EditableTextUses:2Used by:4532
Symbol 4517 EditableTextUses:2Used by:4532
Symbol 4518 Sound {Abborduer}Used by:4532
Symbol 4519 Sound {BoomSound}Used by:4532
Symbol 4520 Sound {BuySound}Used by:4532
Symbol 4521 Sound {ChestSound}Used by:4532
Symbol 4522 Sound {CityTheme}Used by:4532
Symbol 4523 Sound {ClickSound}Used by:4532
Symbol 4524 Sound {GameOver}Used by:4532
Symbol 4525 Sound {GameWin}Used by:4532
Symbol 4526 Sound {Ingame1}Used by:4532
Symbol 4527 Sound {Intro}Used by:4532
Symbol 4528 Sound {LevelWin}Used by:4532
Symbol 4529 Sound {MapTheme}Used by:4532
Symbol 4530 Sound {MenuMusic}Used by:4532
Symbol 4531 Sound {ShotSound}Used by:4532
Symbol 4532 MovieClip {SoundManager}Uses:4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531Used by:Timeline
Symbol 4533 TextUses:2Used by:4535
Symbol 4534 TextUses:2Used by:4535
Symbol 4535 MovieClip {Credits}Uses:4106 4109 4533 3990 4534Used by:Timeline

Instance Names

"tracker"Frame 1Symbol 142 MovieClip {com.google.analytics.components.FlashTracker}
"ship_hp"Symbol 71 MovieClip {Interface} Frame 1Symbol 13 MovieClip {HPMeter}
"ship_cores"Symbol 71 MovieClip {Interface} Frame 1Symbol 15 MovieClip {TeamMeter}
"button2"Symbol 71 MovieClip {Interface} Frame 1Symbol 20 Button {InterfaceButton}
"button3"Symbol 71 MovieClip {Interface} Frame 1Symbol 20 Button {InterfaceButton}
"button4"Symbol 71 MovieClip {Interface} Frame 1Symbol 20 Button {InterfaceButton}
"button1"Symbol 71 MovieClip {Interface} Frame 1Symbol 20 Button {InterfaceButton}
"text1"Symbol 71 MovieClip {Interface} Frame 1Symbol 21 EditableText
"text2"Symbol 71 MovieClip {Interface} Frame 1Symbol 22 EditableText
"text3"Symbol 71 MovieClip {Interface} Frame 1Symbol 23 EditableText
"text4"Symbol 71 MovieClip {Interface} Frame 1Symbol 24 EditableText
"avatar_icon"Symbol 71 MovieClip {Interface} Frame 1Symbol 33 MovieClip {Avatar}
"ship_icon"Symbol 71 MovieClip {Interface} Frame 1Symbol 54 MovieClip {ShipIcon}
"ship_hp_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 55 EditableText
"ship_cores_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 56 EditableText
"gold_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 59 EditableText
"reload_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 63 EditableText
"damage_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 64 EditableText
"range_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 65 EditableText
"cannons_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 66 EditableText
"speed_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 67 EditableText
"steering_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 68 EditableText
"armor_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 69 EditableText
"team_text"Symbol 71 MovieClip {Interface} Frame 1Symbol 70 EditableText
"escapetxt"Symbol 84 MovieClip {TriedToEscape} Frame 1Symbol 82 EditableText
"gui"Symbol 85 MovieClip {LevelSurvival} Frame 1Symbol 71 MovieClip {Interface}
"king"Symbol 85 MovieClip {LevelSurvival} Frame 1Symbol 73 MovieClip
"pauseddialog"Symbol 85 MovieClip {LevelSurvival} Frame 1Symbol 77 MovieClip {PausedWidget}
"levelscoretext"Symbol 85 MovieClip {LevelSurvival} Frame 1Symbol 79 EditableText
"escapedlg"Symbol 85 MovieClip {LevelSurvival} Frame 1Symbol 84 MovieClip {TriedToEscape}
"bg"Symbol 90 MovieClip {mcBannedSign} Frame 1Symbol 87 MovieClip
"BLUE"Symbol 127 MovieClip {WaterHolderB} Frame 1Symbol 126 MovieClip {com.midasplayer.extras.Water1}
"GREEN"Symbol 128 MovieClip {WaterHolderG} Frame 1Symbol 126 MovieClip {com.midasplayer.extras.Water1}
"RED"Symbol 129 MovieClip {WaterHolderR} Frame 1Symbol 126 MovieClip {com.midasplayer.extras.Water1}
"boundingBox_mc"Symbol 142 MovieClip {com.google.analytics.components.FlashTracker} Frame 1Symbol 138 MovieClip
"avatar1"Symbol 3940 MovieClip {CharacterSetupDialog} Frame 1Symbol 33 MovieClip {Avatar}
"avatar2"Symbol 3940 MovieClip {CharacterSetupDialog} Frame 1Symbol 33 MovieClip {Avatar}
"avatar3"Symbol 3940 MovieClip {CharacterSetupDialog} Frame 1Symbol 33 MovieClip {Avatar}
"ok_button"Symbol 3940 MovieClip {CharacterSetupDialog} Frame 1Symbol 3901 Button {DialogButton}
"avatar_text"Symbol 3940 MovieClip {CharacterSetupDialog} Frame 1Symbol 3904 EditableText
"bonus_text"Symbol 3940 MovieClip {CharacterSetupDialog} Frame 1Symbol 3906 EditableText
"king"Symbol 3940 MovieClip {CharacterSetupDialog} Frame 1Symbol 73 MovieClip
"textscroll"Symbol 3940 MovieClip {CharacterSetupDialog} Frame 1Symbol 3939 MovieClip {fl.controls.UIScrollBar}
"yes_button"Symbol 3951 MovieClip {BuyCannonDialog} Frame 1Symbol 3947 Button {MapButton}
"no_button"Symbol 3951 MovieClip {BuyCannonDialog} Frame 1Symbol 3947 Button {MapButton}
"city_text"Symbol 3951 MovieClip {BuyCannonDialog} Frame 1Symbol 3950 EditableText
"yes_button"Symbol 3980 MovieClip {BuyMarketDialog} Frame 1Symbol 3947 Button {MapButton}
"no_button"Symbol 3980 MovieClip {BuyMarketDialog} Frame 1Symbol 3947 Button {MapButton}
"quantity"Symbol 3980 MovieClip {BuyMarketDialog} Frame 1Symbol 3975 MovieClip {fl.controls.NumericStepper}
"cost_text"Symbol 3980 MovieClip {BuyMarketDialog} Frame 1Symbol 3977 EditableText
"yes_button"Symbol 3982 MovieClip {BuyShipDialog} Frame 1Symbol 3947 Button {MapButton}
"no_button"Symbol 3982 MovieClip {BuyShipDialog} Frame 1Symbol 3947 Button {MapButton}
"city_text"Symbol 3982 MovieClip {BuyShipDialog} Frame 1Symbol 3981 EditableText
"ship_icon"Symbol 4005 MovieClip {ShipStoreItem} Frame 1Symbol 54 MovieClip {ShipIcon}
"cost_text"Symbol 4005 MovieClip {ShipStoreItem} Frame 1Symbol 3997 EditableText
"speed_text"Symbol 4005 MovieClip {ShipStoreItem} Frame 1Symbol 3998 EditableText
"steering_text"Symbol 4005 MovieClip {ShipStoreItem} Frame 1Symbol 3999 EditableText
"armor_text"Symbol 4005 MovieClip {ShipStoreItem} Frame 1Symbol 4000 EditableText
"name_text"Symbol 4005 MovieClip {ShipStoreItem} Frame 1Symbol 4001 EditableText
"page2_button"Symbol 4009 MovieClip {Shipyard} Frame 1Symbol 3990 Button {ShopButton}
"page1_button"Symbol 4009 MovieClip {Shipyard} Frame 1Symbol 3990 Button {ShopButton}
"item1"Symbol 4009 MovieClip {Shipyard} Frame 1Symbol 4005 MovieClip {ShipStoreItem}
"item2"Symbol 4009 MovieClip {Shipyard} Frame 1Symbol 4005 MovieClip {ShipStoreItem}
"item3"Symbol 4009 MovieClip {Shipyard} Frame 1Symbol 4005 MovieClip {ShipStoreItem}
"item4"Symbol 4009 MovieClip {Shipyard} Frame 1Symbol 4005 MovieClip {ShipStoreItem}
"item5"Symbol 4009 MovieClip {Shipyard} Frame 1Symbol 4005 MovieClip {ShipStoreItem}
"dialog_name"Symbol 4009 MovieClip {Shipyard} Frame 1Symbol 4006 EditableText
"cannon_icon"Symbol 4033 MovieClip {CannonStoreItem} Frame 1Symbol 4030 MovieClip {CannonIcon}
"cost_text"Symbol 4033 MovieClip {CannonStoreItem} Frame 1Symbol 4031 EditableText
"damage_text"Symbol 4033 MovieClip {CannonStoreItem} Frame 1Symbol 4032 EditableText
"page2_button"Symbol 4034 MovieClip {CannonShop} Frame 1Symbol 3990 Button {ShopButton}
"page1_button"Symbol 4034 MovieClip {CannonShop} Frame 1Symbol 3990 Button {ShopButton}
"item1"Symbol 4034 MovieClip {CannonShop} Frame 1Symbol 4033 MovieClip {CannonStoreItem}
"item2"Symbol 4034 MovieClip {CannonShop} Frame 1Symbol 4033 MovieClip {CannonStoreItem}
"item3"Symbol 4034 MovieClip {CannonShop} Frame 1Symbol 4033 MovieClip {CannonStoreItem}
"item4"Symbol 4034 MovieClip {CannonShop} Frame 1Symbol 4033 MovieClip {CannonStoreItem}
"item5"Symbol 4034 MovieClip {CannonShop} Frame 1Symbol 4033 MovieClip {CannonStoreItem}
"market_icon"Symbol 4059 MovieClip {MarketStoreItem} Frame 1Symbol 4056 MovieClip {MarketIcon}
"cost_text"Symbol 4059 MovieClip {MarketStoreItem} Frame 1Symbol 4057 EditableText
"sell_text"Symbol 4059 MovieClip {MarketStoreItem} Frame 1Symbol 4058 EditableText
"page2_button"Symbol 4060 MovieClip {MarketShop} Frame 1Symbol 3990 Button {ShopButton}
"page1_button"Symbol 4060 MovieClip {MarketShop} Frame 1Symbol 3990 Button {ShopButton}
"item1"Symbol 4060 MovieClip {MarketShop} Frame 1Symbol 4059 MovieClip {MarketStoreItem}
"item2"Symbol 4060 MovieClip {MarketShop} Frame 1Symbol 4059 MovieClip {MarketStoreItem}
"item3"Symbol 4060 MovieClip {MarketShop} Frame 1Symbol 4059 MovieClip {MarketStoreItem}
"item4"Symbol 4060 MovieClip {MarketShop} Frame 1Symbol 4059 MovieClip {MarketStoreItem}
"item5"Symbol 4060 MovieClip {MarketShop} Frame 1Symbol 4059 MovieClip {MarketStoreItem}
"ok_button"Symbol 4063 MovieClip {TavernItem} Frame 1Symbol 3990 Button {ShopButton}
"cost_text"Symbol 4063 MovieClip {TavernItem} Frame 1Symbol 4062 EditableText
"item1"Symbol 4070 MovieClip {Tavern} Frame 1Symbol 4063 MovieClip {TavernItem}
"item2"Symbol 4070 MovieClip {Tavern} Frame 1Symbol 4063 MovieClip {TavernItem}
"item3"Symbol 4070 MovieClip {Tavern} Frame 1Symbol 4063 MovieClip {TavernItem}
"back_button"Symbol 4073 MovieClip {City} Frame 1Symbol 3901 Button {DialogButton}
"cannons_button"Symbol 4073 MovieClip {City} Frame 1Symbol 3990 Button {ShopButton}
"shipyard_button"Symbol 4073 MovieClip {City} Frame 1Symbol 3990 Button {ShopButton}
"shipyard"Symbol 4073 MovieClip {City} Frame 1Symbol 4009 MovieClip {Shipyard}
"gold_text"Symbol 4073 MovieClip {City} Frame 1Symbol 4010 EditableText
"speed_text"Symbol 4073 MovieClip {City} Frame 1Symbol 4011 EditableText
"current_ship"Symbol 4073 MovieClip {City} Frame 1Symbol 54 MovieClip {ShipIcon}
"steering_text"Symbol 4073 MovieClip {City} Frame 1Symbol 4016 EditableText
"armor_text"Symbol 4073 MovieClip {City} Frame 1Symbol 4017 EditableText
"team_text"Symbol 4073 MovieClip {City} Frame 1Symbol 4018 EditableText
"damage_text"Symbol 4073 MovieClip {City} Frame 1Symbol 4019 EditableText
"reload_text"Symbol 4073 MovieClip {City} Frame 1Symbol 4024 EditableText
"range_text"Symbol 4073 MovieClip {City} Frame 1Symbol 4025 EditableText
"cannons_text"Symbol 4073 MovieClip {City} Frame 1Symbol 4026 EditableText
"cannons_shop"Symbol 4073 MovieClip {City} Frame 1Symbol 4034 MovieClip {CannonShop}
"market_shop"Symbol 4073 MovieClip {City} Frame 1Symbol 4060 MovieClip {MarketShop}
"tavern"Symbol 4073 MovieClip {City} Frame 1Symbol 4070 MovieClip {Tavern}
"market_button"Symbol 4073 MovieClip {City} Frame 1Symbol 3990 Button {ShopButton}
"tavern_button"Symbol 4073 MovieClip {City} Frame 1Symbol 3990 Button {ShopButton}
"yes_button"Symbol 4077 MovieClip {CompanionDialog} Frame 1Symbol 3947 Button {MapButton}
"no_button"Symbol 4077 MovieClip {CompanionDialog} Frame 1Symbol 3947 Button {MapButton}
"yes_button"Symbol 4079 MovieClip {GoodsDialog} Frame 1Symbol 3947 Button {MapButton}
"no_button"Symbol 4079 MovieClip {GoodsDialog} Frame 1Symbol 3947 Button {MapButton}
"message_text"Symbol 4082 MovieClip {MessageDialog} Frame 1Symbol 4080 EditableText
"yes_button"Symbol 4082 MovieClip {MessageDialog} Frame 1Symbol 3947 Button {MapButton}
"city_text"Symbol 4088 MovieClip {MiniquestDialog} Frame 1Symbol 4084 EditableText
"yes_button"Symbol 4088 MovieClip {MiniquestDialog} Frame 1Symbol 3947 Button {MapButton}
"no_button"Symbol 4088 MovieClip {MiniquestDialog} Frame 1Symbol 3947 Button {MapButton}
"city_text"Symbol 4090 MovieClip {ProfitDialog} Frame 1Symbol 4089 EditableText
"yes_button"Symbol 4090 MovieClip {ProfitDialog} Frame 1Symbol 3947 Button {MapButton}
"yes_button"Symbol 4092 MovieClip {RumDialog} Frame 1Symbol 3947 Button {MapButton}
"no_button"Symbol 4092 MovieClip {RumDialog} Frame 1Symbol 3947 Button {MapButton}
"restartbutton"Symbol 4100 MovieClip {GameOverDialog} Frame 1Symbol 3990 Button {ShopButton}
"king"Symbol 4100 MovieClip {GameOverDialog} Frame 1Symbol 73 MovieClip
"walkthrough"Symbol 4100 MovieClip {GameOverDialog} Frame 1Symbol 3990 Button {ShopButton}
"levelscoretext"Symbol 4100 MovieClip {GameOverDialog} Frame 1Symbol 4099 EditableText
"backbutton"Symbol 4104 MovieClip {GameWinDialog} Frame 1Symbol 3990 Button {ShopButton}
"king"Symbol 4104 MovieClip {GameWinDialog} Frame 1Symbol 73 MovieClip
"scoreclip"Symbol 4111 MovieClip {Highscores} Frame 1Symbol 4109 MovieClip
"backtomenubutton"Symbol 4111 MovieClip {Highscores} Frame 1Symbol 3990 Button {ShopButton}
"levelscoretext"Symbol 4118 MovieClip {LevelWinDialog} Frame 1Symbol 4114 EditableText
"submitbutton"Symbol 4118 MovieClip {LevelWinDialog} Frame 1Symbol 3990 Button {ShopButton}
"backbutton"Symbol 4118 MovieClip {LevelWinDialog} Frame 1Symbol 3990 Button {ShopButton}
"king"Symbol 4118 MovieClip {LevelWinDialog} Frame 1Symbol 73 MovieClip
"survival"Symbol 4157 MovieClip {MainMenu} Frame 1Symbol 4123 Button {SurvivalButton}
"newgame"Symbol 4157 MovieClip {MainMenu} Frame 1Symbol 4128 Button
"loadgame"Symbol 4157 MovieClip {MainMenu} Frame 1Symbol 4133 Button
"highscores"Symbol 4157 MovieClip {MainMenu} Frame 1Symbol 4138 Button
"trophies"Symbol 4157 MovieClip {MainMenu} Frame 1Symbol 4143 Button {TrophiesButton}
"advert"Symbol 4157 MovieClip {MainMenu} Frame 1Symbol 4148 Button {MoreGamesButton}
"hostgame"Symbol 4157 MovieClip {MainMenu} Frame 1Symbol 4151 MovieClip {HostButton}
"king"Symbol 4157 MovieClip {MainMenu} Frame 1Symbol 73 MovieClip
"credits"Symbol 4157 MovieClip {MainMenu} Frame 1Symbol 4156 Button {CreditsButton}
"continuebutton"Symbol 4162 MovieClip {CannonsTutorial} Frame 1Symbol 3990 Button {ShopButton}
"continuebutton"Symbol 4176 MovieClip {MapTutorial} Frame 1Symbol 3990 Button {ShopButton}
"continuebutton"Symbol 4180 MovieClip {MarketTutorial} Frame 1Symbol 3990 Button {ShopButton}
"tooltip"Symbol 4186 MovieClip {TooltipSymbol} Frame 1Symbol 4185 EditableText
"tooltip"Symbol 4245 MovieClip {PerkIcon} Frame 1Symbol 4186 MovieClip {TooltipSymbol}
"continuebutton"Symbol 4249 MovieClip {PerkTutorial} Frame 1Symbol 3990 Button {ShopButton}
"icon"Symbol 4249 MovieClip {PerkTutorial} Frame 1Symbol 4245 MovieClip {PerkIcon}
"tooltip"Symbol 4249 MovieClip {PerkTutorial} Frame 2Symbol 4186 MovieClip {TooltipSymbol}
"continuebutton"Symbol 4251 MovieClip {ShipyardTutorial} Frame 1Symbol 3990 Button {ShopButton}
"hp_text"Symbol 4279 MovieClip {Stripe} Frame 1Symbol 4277 EditableText
"team_text"Symbol 4279 MovieClip {Stripe} Frame 1Symbol 4278 EditableText
"continuebutton"Symbol 4293 MovieClip {Tutorial} Frame 1Symbol 3990 Button {ShopButton}
"ship_hp_text"Symbol 4293 MovieClip {Tutorial} Frame 7Symbol 4291 EditableText
"ship_cores_text"Symbol 4293 MovieClip {Tutorial} Frame 7Symbol 4292 EditableText
"continuebutton"Symbol 4299 MovieClip {UpgradeTutorial} Frame 1Symbol 3990 Button {ShopButton}
"authority1"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"authority2"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"authority3"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"authority4"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"authority5"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"bombardier1"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"bombardier2"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"bombardier3"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"bombardier4"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"bombardier5"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"trader1"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"trader2"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"trader3"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"trader4"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"trader5"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4245 MovieClip {PerkIcon}
"avatar1"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 33 MovieClip {Avatar}
"ok_button"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 3901 Button {DialogButton}
"exp_line"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4311 MovieClip {ExpLine}
"exp_text"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4313 EditableText
"ship_name_text"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4315 EditableText
"progress_text"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4317 EditableText
"point_text"Symbol 4320 MovieClip {PerkDialog} Frame 1Symbol 4319 EditableText
"backbutton"Symbol 4330 MovieClip {Trophies} Frame 1Symbol 3990 Button {ShopButton}
"icon1"Symbol 4330 MovieClip {Trophies} Frame 1Symbol 4327 MovieClip {TrophyIcon1}
"icon2"Symbol 4330 MovieClip {Trophies} Frame 1Symbol 4328 MovieClip {TrophyIcon2}
"icon3"Symbol 4330 MovieClip {Trophies} Frame 1Symbol 4329 MovieClip {TrophyIcon3}
"damage1"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"damage2"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"damage3"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"damage4"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"damage5"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"cannons1"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"cannons2"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"cannons3"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"cannons4"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"cannons5"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"team1"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"team2"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"team3"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"team4"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"team5"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"reload1"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"reload2"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"reload3"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"reload4"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"reload5"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"speed1"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"speed2"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"speed3"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"speed4"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"speed5"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"armor1"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"armor2"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"armor3"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"armor4"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"armor5"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"steering1"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"steering2"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"steering3"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"steering4"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"steering5"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4346 MovieClip {UpgradeSymbol}
"ship_icon"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 54 MovieClip {ShipIcon}
"speed_text"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4347 EditableText
"steering_text"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4352 EditableText
"armor_text"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4353 EditableText
"team_text"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4354 EditableText
"damage_text"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4355 EditableText
"reload_text"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4359 EditableText
"cannons_text"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4360 EditableText
"ok_button"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 3901 Button {DialogButton}
"gold_text"Symbol 4364 MovieClip {UpgradeDialog} Frame 1Symbol 4363 EditableText
"yes_button"Symbol 4374 MovieClip {CityDialog} Frame 1Symbol 3947 Button {MapButton}
"no_button"Symbol 4374 MovieClip {CityDialog} Frame 1Symbol 3947 Button {MapButton}
"city_text"Symbol 4374 MovieClip {CityDialog} Frame 1Symbol 4373 EditableText
"gui"Symbol 4377 MovieClip {Level} Frame 1Symbol 71 MovieClip {Interface}
"king"Symbol 4377 MovieClip {Level} Frame 1Symbol 73 MovieClip
"pauseddialog"Symbol 4377 MovieClip {Level} Frame 1Symbol 77 MovieClip {PausedWidget}
"levelscoretext"Symbol 4377 MovieClip {Level} Frame 1Symbol 4376 EditableText
"escapedlg"Symbol 4377 MovieClip {Level} Frame 1Symbol 84 MovieClip {TriedToEscape}
"levelmask"Symbol 4382 MovieClip {LevelMap} Frame 1Symbol 4381 MovieClip {LevelMask}
"ship"Symbol 4382 MovieClip {LevelMap} Frame 1Symbol 4167 MovieClip {MapShip}
"marker"Symbol 4382 MovieClip {LevelMap} Frame 1Symbol 4171 MovieClip
"gui"Symbol 4382 MovieClip {LevelMap} Frame 1Symbol 71 MovieClip {Interface}
"maptutorial"Symbol 4382 MovieClip {LevelMap} Frame 1Symbol 4176 MovieClip {MapTutorial}
"king"Symbol 4382 MovieClip {LevelMap} Frame 1Symbol 73 MovieClip
"pauseddialog"Symbol 4382 MovieClip {LevelMap} Frame 1Symbol 77 MovieClip {PausedWidget}
"avatar"Symbol 4403 MovieClip {StorylineDialog} Frame 1Symbol 4400 MovieClip {StorylinePortrait}
"textbox"Symbol 4403 MovieClip {StorylineDialog} Frame 1Symbol 4401 EditableText
"__id0_"Symbol 4403 MovieClip {StorylineDialog} Frame 1Symbol 3939 MovieClip {fl.controls.UIScrollBar}
"proceed"Symbol 4403 MovieClip {StorylineDialog} Frame 1Symbol 3990 Button {ShopButton}
"soundmute"Symbol 4515 MovieClip {Game} Frame 1Symbol 4372 MovieClip {SoundMute}
"scoreclip"Symbol 4535 MovieClip {Credits} Frame 1Symbol 4109 MovieClip
"backtomenubutton"Symbol 4535 MovieClip {Credits} Frame 1Symbol 3990 Button {ShopButton}

Special Tags

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

Labels

"off"Symbol 106 MovieClip {ferryBlue} Frame 1
"on"Symbol 106 MovieClip {ferryBlue} Frame 2
"off"Symbol 111 MovieClip {ferryGreen} Frame 1
"on"Symbol 111 MovieClip {ferryGreen} Frame 2
"off"Symbol 116 MovieClip {ferryRed} Frame 1
"on"Symbol 116 MovieClip {ferryRed} Frame 2
"on"Symbol 4005 MovieClip {ShipStoreItem} Frame 1
"off"Symbol 4005 MovieClip {ShipStoreItem} Frame 11
"over"Symbol 4005 MovieClip {ShipStoreItem} Frame 21
"on"Symbol 4033 MovieClip {CannonStoreItem} Frame 1
"off"Symbol 4033 MovieClip {CannonStoreItem} Frame 7
"over"Symbol 4033 MovieClip {CannonStoreItem} Frame 14
"on"Symbol 4059 MovieClip {MarketStoreItem} Frame 1
"off"Symbol 4059 MovieClip {MarketStoreItem} Frame 7
"over"Symbol 4059 MovieClip {MarketStoreItem} Frame 14
"on"Symbol 4063 MovieClip {TavernItem} Frame 1
"off"Symbol 4063 MovieClip {TavernItem} Frame 7
"over"Symbol 4063 MovieClip {TavernItem} Frame 14
"sound"Symbol 4372 MovieClip {SoundMute} Frame 1
"mute"Symbol 4372 MovieClip {SoundMute} Frame 10




http://swfchan.com/27/131309/info.shtml
Created: 21/2 -2019 11:14:33 Last modified: 21/2 -2019 11:14:33 Server time: 13/05 -2024 22:35:42