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

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

Toriflash.swf

This is the info page for
Flash #85416

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


Text
text

<p align="left"><font face="BadaBoom BB" size="28" color="#000000" letterSpacing="3.000000" kerning="0">YOUR NAME HERE</font></p>

<p align="right"><font face="BadaBoom BB" size="22" color="#000000" letterSpacing="3.000000" kerning="0">1000</font></p>

<p align="left"><font face="BadaBoom BB" size="22" color="#000000" letterSpacing="3.000000" kerning="0">test</font></p>

ActionScript [AS3]

Section 1
//AbstractCollection (org.cove.ape.AbstractCollection) package org.cove.ape { import flash.display.*; import flash.utils.*; public class AbstractCollection { private var _sprite:Sprite; private var _isParented:Boolean; private var _particles:Array; private var _constraints:Array; public function AbstractCollection(){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractCollection"){ throw (new ArgumentError("AbstractCollection can't be instantiated directly")); }; _isParented = false; _particles = new Array(); _constraints = new Array(); } public function getAll():Array{ return (particles.concat(constraints)); } function checkCollisionsVsCollection(_arg1:AbstractCollection):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:AbstractParticle; var _local6:int; var _local7:int; var _local8:int; var _local9:AbstractParticle; var _local10:SpringConstraint; var _local11:SpringConstraint; var _local12:int; _local2 = _particles.length; _local3 = 0; while (_local3 < _local2) { _local5 = _particles[_local3]; if (!_local5.collidable){ } else { _local6 = _arg1.particles.length; _local7 = 0; while (_local7 < _local6) { _local9 = _arg1.particles[_local7]; if (_local9.collidable){ CollisionDetector.test(_local5, _local9); }; _local7++; }; _local8 = _arg1.constraints.length; _local7 = 0; while (_local7 < _local8) { _local10 = _arg1.constraints[_local7]; if (((_local10.collidable) && (!(_local10.isConnectedTo(_local5))))){ _local10.scp.updatePosition(); CollisionDetector.test(_local5, _local10.scp); }; _local7++; }; }; _local3++; }; _local4 = _constraints.length; _local3 = 0; while (_local3 < _local4) { _local11 = _constraints[_local3]; if (!_local11.collidable){ } else { _local6 = _arg1.particles.length; _local12 = 0; while (_local12 < _local6) { _local9 = _arg1.particles[_local12]; if (((_local9.collidable) && (!(_local11.isConnectedTo(_local9))))){ _local11.scp.updatePosition(); CollisionDetector.test(_local9, _local11.scp); }; _local12++; }; }; _local3++; }; } public function get sprite():Sprite{ if (_sprite != null){ return (_sprite); }; if (APEngine.container == null){ throw (new Error("The container property of the APEngine class has not been set")); }; _sprite = new Sprite(); APEngine.container.addChild(_sprite); return (_sprite); } function checkInternalCollisions():void{ var _local1:int; var _local2:int; var _local3:AbstractParticle; var _local4:int; var _local5:int; var _local6:int; var _local7:AbstractParticle; var _local8:SpringConstraint; _local1 = _particles.length; _local2 = 0; while (_local2 < _local1) { _local3 = _particles[_local2]; if (!_local3.collidable){ } else { _local4 = (_local2 + 1); while (_local4 < _local1) { _local7 = _particles[_local4]; if (_local7.collidable){ CollisionDetector.test(_local3, _local7); }; _local4++; }; _local5 = _constraints.length; _local6 = 0; while (_local6 < _local5) { _local8 = _constraints[_local6]; if (((_local8.collidable) && (!(_local8.isConnectedTo(_local3))))){ _local8.scp.updatePosition(); CollisionDetector.test(_local3, _local8.scp); }; _local6++; }; }; _local2++; }; } public function addParticle(_arg1:AbstractParticle):void{ particles.push(_arg1); if (isParented){ _arg1.init(); }; } public function removeConstraint(_arg1:AbstractConstraint):void{ var _local2:int; _local2 = constraints.indexOf(_arg1); if (_local2 == -1){ return; }; constraints.splice(_local2, 1); _arg1.cleanup(); } function get isParented():Boolean{ return (_isParented); } public function init():void{ var _local1:int; _local1 = 0; while (_local1 < particles.length) { particles[_local1].init(); _local1++; }; _local1 = 0; while (_local1 < constraints.length) { constraints[_local1].init(); _local1++; }; } function satisfyConstraints():void{ var _local1:int; var _local2:int; var _local3:AbstractConstraint; _local1 = _constraints.length; _local2 = 0; while (_local2 < _local1) { _local3 = _constraints[_local2]; _local3.resolve(); _local2++; }; } public function paint():void{ var _local1:AbstractParticle; var _local2:int; var _local3:int; var _local4:SpringConstraint; _local2 = _particles.length; _local3 = 0; while (_local3 < _local2) { _local1 = _particles[_local3]; if (((!(_local1.fixed)) || (_local1.alwaysRepaint))){ _local1.paint(); }; _local3++; }; _local2 = _constraints.length; _local3 = 0; while (_local3 < _local2) { _local4 = _constraints[_local3]; if (((!(_local4.fixed)) || (_local4.alwaysRepaint))){ _local4.paint(); }; _local3++; }; } public function addConstraint(_arg1:AbstractConstraint):void{ constraints.push(_arg1); if (isParented){ _arg1.init(); }; } function set isParented(_arg1:Boolean):void{ _isParented = _arg1; } public function removeParticle(_arg1:AbstractParticle):void{ var _local2:int; _local2 = particles.indexOf(_arg1); if (_local2 == -1){ return; }; particles.splice(_local2, 1); _arg1.cleanup(); } public function cleanup():void{ var _local1:int; _local1 = 0; while (_local1 < particles.length) { particles[_local1].cleanup(); _local1++; }; _local1 = 0; while (_local1 < constraints.length) { constraints[_local1].cleanup(); _local1++; }; } public function get particles():Array{ return (_particles); } function integrate(_arg1:Number):void{ var _local2:int; var _local3:int; var _local4:AbstractParticle; _local2 = _particles.length; _local3 = 0; while (_local3 < _local2) { _local4 = _particles[_local3]; _local4.update(_arg1); _local3++; }; } public function get constraints():Array{ return (_constraints); } } }//package org.cove.ape
Section 2
//AbstractConstraint (org.cove.ape.AbstractConstraint) package org.cove.ape { import flash.utils.*; public class AbstractConstraint extends AbstractItem { private var _stiffness:Number; public function AbstractConstraint(_arg1:Number){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractConstraint"){ throw (new ArgumentError("AbstractConstraint can't be instantiated directly")); }; this.stiffness = _arg1; setStyle(); } public function get stiffness():Number{ return (_stiffness); } public function set stiffness(_arg1:Number):void{ _stiffness = _arg1; } function resolve():void{ } } }//package org.cove.ape
Section 3
//AbstractItem (org.cove.ape.AbstractItem) package org.cove.ape { import flash.display.*; public class AbstractItem { var lineAlpha:Number; var lineColor:uint; var displayObjectOffset:Vector; var lineThickness:Number; var displayObject:DisplayObject; var fillAlpha:Number; private var _sprite:Sprite; var fillColor:uint; private var _visible:Boolean; private var _alwaysRepaint:Boolean; var displayObjectRotation:Number; public function AbstractItem(){ _visible = true; _alwaysRepaint = false; } public function setLine(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1):void{ lineThickness = _arg1; lineColor = _arg2; lineAlpha = _arg3; } public function set visible(_arg1:Boolean):void{ _visible = _arg1; sprite.visible = _arg1; } public function setFill(_arg1:uint=0xFFFFFF, _arg2:Number=1):void{ fillColor = _arg1; fillAlpha = _arg2; } public function init():void{ } public function get sprite():Sprite{ if (_sprite != null){ return (_sprite); }; if (APEngine.container == null){ throw (new Error("The container property of the APEngine class has not been set")); }; _sprite = new Sprite(); APEngine.container.addChild(_sprite); return (_sprite); } public function paint():void{ } public function cleanup():void{ var _local1:int; sprite.graphics.clear(); _local1 = 0; while (_local1 < sprite.numChildren) { sprite.removeChildAt(_local1); _local1++; }; } public function setStyle(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1, _arg4:uint=0xFFFFFF, _arg5:Number=1):void{ setLine(_arg1, _arg2, _arg3); setFill(_arg4, _arg5); } public function get visible():Boolean{ return (_visible); } final public function set alwaysRepaint(_arg1:Boolean):void{ _alwaysRepaint = _arg1; } final public function get alwaysRepaint():Boolean{ return (_alwaysRepaint); } } }//package org.cove.ape
Section 4
//AbstractParticle (org.cove.ape.AbstractParticle) package org.cove.ape { import flash.display.*; import flash.utils.*; public class AbstractParticle extends AbstractItem { private var _collidable:Boolean; private var _multisample:int; private var collision:Collision; var prev:Vector; private var _kfr:Number; var curr:Vector; private var _invMass:Number; var interval:Interval; private var _mass:Number; private var temp:Vector; public var instanceName:String; private var _friction:Number; private var forces:Vector; var samp:Vector; private var _center:Vector; private var _fixed:Boolean; public function AbstractParticle(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:String=""){ if (getQualifiedClassName(this) == "org.cove.ape::AbstractParticle"){ throw (new ArgumentError("AbstractParticle can't be instantiated directly")); }; interval = new Interval(0, 0); curr = new Vector(_arg1, _arg2); prev = new Vector(_arg1, _arg2); samp = new Vector(); temp = new Vector(); fixed = _arg3; forces = new Vector(); collision = new Collision(new Vector(), new Vector()); collidable = true; this.mass = _arg4; this.elasticity = _arg5; this.friction = _arg6; setStyle(); _center = new Vector(); _multisample = 0; instanceName = _arg7; } public function update(_arg1:Number):void{ var _local2:Vector; if (fixed){ return; }; addForce(APEngine.force); addMasslessForce(APEngine.masslessForce); temp.copy(curr); _local2 = velocity.plus(forces.multEquals(_arg1)); curr.plusEquals(_local2.multEquals(APEngine.damping)); prev.copy(temp); forces.setTo(0, 0); } public function set friction(_arg1:Number):void{ if ((((_arg1 < 0)) || ((_arg1 > 1)))){ throw (new ArgumentError("Legal friction must be >= 0 and <=1")); }; _friction = _arg1; } public function get px():Number{ return (curr.x); } public function get py():Number{ return (curr.y); } public function set py(_arg1:Number):void{ curr.y = _arg1; prev.y = _arg1; } function getComponents(_arg1:Vector):Collision{ var _local2:Vector; var _local3:Number; _local2 = velocity; _local3 = _arg1.dot(_local2); collision.vn = _arg1.mult(_local3); collision.vt = _local2.minus(collision.vn); return (collision); } public function set mass(_arg1:Number):void{ if (_arg1 <= 0){ throw (new ArgumentError("mass may not be set <= 0")); }; _mass = _arg1; _invMass = (1 / _mass); } public function get fixed():Boolean{ return (_fixed); } public function set px(_arg1:Number):void{ curr.x = _arg1; prev.x = _arg1; } function initDisplay():void{ displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; sprite.addChild(displayObject); } function get invMass():Number{ return ((fixed) ? 0 : _invMass); } public function get position():Vector{ return (new Vector(curr.x, curr.y)); } public function get multisample():int{ return (_multisample); } public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{ displayObject = _arg1; displayObjectRotation = _arg4; displayObjectOffset = new Vector(_arg2, _arg3); } public function set fixed(_arg1:Boolean):void{ _fixed = _arg1; } function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ curr.plusEquals(_arg1); velocity = _arg2; } public function addMasslessForce(_arg1:Vector):void{ forces.plusEquals(_arg1); } public function set velocity(_arg1:Vector):void{ prev = curr.minus(_arg1); } public function set multisample(_arg1:int):void{ _multisample = _arg1; } public function get elasticity():Number{ return (_kfr); } public function set position(_arg1:Vector):void{ curr.copy(_arg1); prev.copy(_arg1); } public function get center():Vector{ _center.setTo(px, py); return (_center); } public function set collidable(_arg1:Boolean):void{ _collidable = _arg1; } public function get velocity():Vector{ return (curr.minus(prev)); } public function get collidable():Boolean{ return (_collidable); } public function addForce(_arg1:Vector):void{ forces.plusEquals(_arg1.mult(invMass)); } public function set elasticity(_arg1:Number):void{ _kfr = _arg1; } public function get friction():Number{ return (_friction); } public function get mass():Number{ return (_mass); } } }//package org.cove.ape
Section 5
//APEngine (org.cove.ape.APEngine) package org.cove.ape { import flash.display.*; public final class APEngine { private static var _container:DisplayObjectContainer; private static var _damping:Number; private static var _constraintCollisionCycles:int; private static var groups:Array; static var masslessForce:Vector; private static var _constraintCycles:int; static var force:Vector; private static var timeStep:Number; private static var numGroups:int; public static function get container():DisplayObjectContainer{ return (_container); } public static function get constraintCollisionCycles():int{ return (_constraintCollisionCycles); } public static function set damping(_arg1:Number):void{ _damping = _arg1; } public static function step():void{ var _local1:int; var _local2:int; CollisionDetector.collisionPairs = new Array(); integrate(); _local1 = 0; while (_local1 < _constraintCycles) { satisfyConstraints(); _local1++; }; _local2 = 0; while (_local2 < _constraintCollisionCycles) { satisfyConstraints(); checkCollisions(); _local2++; }; } public static function init(_arg1:Number=0.25):void{ timeStep = (_arg1 * _arg1); numGroups = 0; groups = new Array(); force = new Vector(0, 0); masslessForce = new Vector(0, 0); damping = 1; _constraintCycles = 0; _constraintCollisionCycles = 1; } public static function get constraintCycles():int{ return (_constraintCycles); } public static function set constraintCollisionCycles(_arg1:int):void{ _constraintCollisionCycles = _arg1; } public static function set constraintCycles(_arg1:int):void{ _constraintCycles = _arg1; } public static function addForce(_arg1:Vector):void{ force.plusEquals(_arg1); } public static function get damping():Number{ return (_damping); } public static function set container(_arg1:DisplayObjectContainer):void{ _container = _arg1; } public static function addGroup(_arg1:Group):void{ groups.push(_arg1); _arg1.isParented = true; numGroups++; _arg1.init(); } public static function removeGroup(_arg1:Group):void{ var _local2:int; _local2 = groups.indexOf(_arg1); if (_local2 == -1){ return; }; groups.splice(_local2, 1); _arg1.isParented = false; numGroups--; _arg1.cleanup(); } public static function paint():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.paint(); _local1++; }; } private static function checkCollisions():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.checkCollisions(); _local1++; }; } private static function integrate():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.integrate(timeStep); _local1++; }; } private static function satisfyConstraints():void{ var _local1:int; var _local2:Group; _local1 = 0; while (_local1 < numGroups) { _local2 = groups[_local1]; _local2.satisfyConstraints(); _local1++; }; } public static function addMasslessForce(_arg1:Vector):void{ masslessForce.plusEquals(_arg1); } } }//package org.cove.ape
Section 6
//CircleParticle (org.cove.ape.CircleParticle) package org.cove.ape { public class CircleParticle extends AbstractParticle { private var _radius:Number; public function CircleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String="", _arg5:Boolean=false, _arg6:Number=1, _arg7:Number=0.3, _arg8:Number=0){ super(_arg1, _arg2, _arg5, _arg6, _arg7, _arg8, _arg4); _radius = _arg3; } function getIntervalX():Interval{ interval.min = (curr.x - _radius); interval.max = (curr.x + _radius); return (interval); } function getIntervalY():Interval{ interval.min = (curr.y - _radius); interval.max = (curr.y + _radius); return (interval); } override public function init():void{ cleanup(); if (displayObject != null){ initDisplay(); } else { sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.beginFill(fillColor, fillAlpha); sprite.graphics.drawCircle(0, 0, radius); sprite.graphics.endFill(); }; paint(); } public function set radius(_arg1:Number):void{ _radius = _arg1; } public function get radius():Number{ return (_radius); } function getProjection(_arg1:Vector):Interval{ var _local2:Number; _local2 = samp.dot(_arg1); interval.min = (_local2 - _radius); interval.max = (_local2 + _radius); return (interval); } override public function paint():void{ sprite.x = curr.x; sprite.y = curr.y; } } }//package org.cove.ape
Section 7
//Collision (org.cove.ape.Collision) package org.cove.ape { import org.cove.ape.*; final class Collision { var vn:Vector; var vt:Vector; function Collision(_arg1:Vector, _arg2:Vector){ this.vn = _arg1; this.vt = _arg2; } } }//package org.cove.ape
Section 8
//CollisionDetector (org.cove.ape.CollisionDetector) package org.cove.ape { public final class CollisionDetector { public static var collisionPairs:Array; private static function testIntervals(_arg1:Interval, _arg2:Interval):Number{ var _local3:Number; var _local4:Number; if (_arg1.max < _arg2.min){ return (0); }; if (_arg2.max < _arg1.min){ return (0); }; _local3 = (_arg2.max - _arg1.min); _local4 = (_arg2.min - _arg1.max); return (((Math.abs(_local3))<Math.abs(_local4)) ? _local3 : _local4); } private static function testTypes(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Boolean=false):Boolean{ if ((((_arg1 is RectangleParticle)) && ((_arg2 is RectangleParticle)))){ return (testOBBvsOBB((_arg1 as RectangleParticle), (_arg2 as RectangleParticle), _arg3)); }; if ((((_arg1 is CircleParticle)) && ((_arg2 is CircleParticle)))){ return (testCirclevsCircle((_arg1 as CircleParticle), (_arg2 as CircleParticle), _arg3)); }; if ((((_arg1 is RectangleParticle)) && ((_arg2 is CircleParticle)))){ return (testOBBvsCircle((_arg1 as RectangleParticle), (_arg2 as CircleParticle), _arg3)); }; if ((((_arg1 is CircleParticle)) && ((_arg2 is RectangleParticle)))){ return (testOBBvsCircle((_arg2 as RectangleParticle), (_arg1 as CircleParticle), _arg3)); }; return (false); } private static function testOBBvsCircle(_arg1:RectangleParticle, _arg2:CircleParticle, _arg3:Boolean=false):Boolean{ var _local4:Vector; var _local5:Number; var _local6:Array; var _local7:int; var _local8:Number; var _local9:Vector; var _local10:Number; var _local11:Vector; var _local12:Number; _local5 = Number.POSITIVE_INFINITY; _local6 = new Array(2); _local7 = 0; while (_local7 < 2) { _local9 = _arg1.axes[_local7]; _local10 = testIntervals(_arg1.getProjection(_local9), _arg2.getProjection(_local9)); if (_local10 == 0){ return (false); }; if (Math.abs(_local10) < Math.abs(_local5)){ _local4 = _local9; _local5 = _local10; }; _local6[_local7] = _local10; _local7++; }; _local8 = _arg2.radius; if ((((Math.abs(_local6[0]) < _local8)) && ((Math.abs(_local6[1]) < _local8)))){ _local11 = closestVertexOnOBB(_arg2.samp, _arg1); _local4 = _local11.minus(_arg2.samp); _local12 = _local4.magnitude(); _local5 = (_local8 - _local12); if (_local5 > 0){ _local4.divEquals(_local12); } else { return (false); }; }; if (!_arg3){ CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local4, _local5); }; return (true); } private static function testCirclevsCircle(_arg1:CircleParticle, _arg2:CircleParticle, _arg3:Boolean=false):Boolean{ var _local4:Number; var _local5:Number; var _local6:Vector; var _local7:Number; var _local8:Number; _local4 = testIntervals(_arg1.getIntervalX(), _arg2.getIntervalX()); if (_local4 == 0){ return (false); }; _local5 = testIntervals(_arg1.getIntervalY(), _arg2.getIntervalY()); if (_local5 == 0){ return (false); }; _local6 = _arg1.samp.minus(_arg2.samp); _local7 = _local6.magnitude(); _local8 = ((_arg1.radius + _arg2.radius) - _local7); if (_local8 > 0){ if (!_arg3){ _local6.divEquals(_local7); CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local6, _local8); }; return (true); }; return (false); } private static function sampVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Boolean=false):Boolean{ var _local4:Number; var _local5:Number; var _local6:int; _local4 = (1 / (_arg1.multisample + 1)); _local5 = _local4; _arg2.samp.copy(_arg2.curr); _local6 = 0; while (_local6 <= _arg1.multisample) { _arg1.samp.setTo((_arg1.prev.x + (_local5 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local5 * (_arg1.curr.y - _arg1.prev.y)))); if (testTypes(_arg1, _arg2, _arg3)){ return (true); }; _local5 = (_local5 + _local4); _local6++; }; return (false); } static function test(_arg1:AbstractParticle, _arg2:AbstractParticle):Boolean{ var _local3:Boolean; if (((_arg1.fixed) && (_arg2.fixed))){ return (false); }; _local3 = false; if ((((_arg1.multisample == 0)) && ((_arg2.multisample == 0)))){ _local3 = normVsNorm(_arg1, _arg2); } else { if ((((_arg1.multisample > 0)) && ((_arg2.multisample == 0)))){ _local3 = sampVsNorm(_arg1, _arg2); } else { if ((((_arg2.multisample > 0)) && ((_arg1.multisample == 0)))){ _local3 = sampVsNorm(_arg2, _arg1); } else { if (_arg1.multisample == _arg2.multisample){ _local3 = sampVsSamp(_arg1, _arg2); } else { _local3 = normVsNorm(_arg1, _arg2); }; }; }; }; if (_local3){ if (((!((_arg1.instanceName == ""))) && (!((_arg2.instanceName == ""))))){ collisionPairs.push(new CollisionPair(_arg1, _arg2)); }; }; return (_local3); } private static function closestVertexOnOBB(_arg1:Vector, _arg2:RectangleParticle):Vector{ var _local3:Vector; var _local4:Vector; var _local5:int; var _local6:Number; _local3 = _arg1.minus(_arg2.samp); _local4 = new Vector(_arg2.samp.x, _arg2.samp.y); _local5 = 0; while (_local5 < 2) { _local6 = _local3.dot(_arg2.axes[_local5]); if (_local6 >= 0){ _local6 = _arg2.extents[_local5]; } else { if (_local6 < 0){ _local6 = -(_arg2.extents[_local5]); }; }; _local4.plusEquals(_arg2.axes[_local5].mult(_local6)); _local5++; }; return (_local4); } private static function normVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Boolean=false):Boolean{ _arg1.samp.copy(_arg1.curr); _arg2.samp.copy(_arg2.curr); return (testTypes(_arg1, _arg2, _arg3)); } private static function testOBBvsOBB(_arg1:RectangleParticle, _arg2:RectangleParticle, _arg3:Boolean=false):Boolean{ var _local4:Vector; var _local5:Number; var _local6:int; var _local7:Vector; var _local8:Number; var _local9:Vector; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Boolean; _local5 = Number.POSITIVE_INFINITY; _local6 = 0; while (_local6 < 2) { _local7 = _arg1.axes[_local6]; _local8 = testIntervals(_arg1.getProjection(_local7), _arg2.getProjection(_local7)); if (_local8 == 0){ return (false); }; _local9 = _arg2.axes[_local6]; _local10 = testIntervals(_arg1.getProjection(_local9), _arg2.getProjection(_local9)); if (_local10 == 0){ return (false); }; _local11 = Math.abs(_local8); _local12 = Math.abs(_local10); if ((((_local11 < Math.abs(_local5))) || ((_local12 < Math.abs(_local5))))){ _local13 = (_local11 < _local12); _local4 = (_local13) ? _local7 : _local9; _local5 = (_local13) ? _local8 : _local10; }; _local6++; }; if (!_arg3){ CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local4, _local5); }; return (true); } public static function testOnly(_arg1:AbstractParticle, _arg2:AbstractParticle):Boolean{ if ((((_arg1.multisample == 0)) && ((_arg2.multisample == 0)))){ return (normVsNorm(_arg1, _arg2, true)); }; if ((((_arg1.multisample > 0)) && ((_arg2.multisample == 0)))){ return (sampVsNorm(_arg1, _arg2, true)); }; if ((((_arg2.multisample > 0)) && ((_arg1.multisample == 0)))){ return (sampVsNorm(_arg2, _arg1, true)); }; if (_arg1.multisample == _arg2.multisample){ return (sampVsSamp(_arg1, _arg2, true)); }; return (normVsNorm(_arg1, _arg2, true)); } private static function sampVsSamp(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Boolean=false):Boolean{ var _local4:Number; var _local5:Number; var _local6:int; _local4 = (1 / (_arg1.multisample + 1)); _local5 = _local4; _local6 = 0; while (_local6 <= _arg1.multisample) { _arg1.samp.setTo((_arg1.prev.x + (_local5 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local5 * (_arg1.curr.y - _arg1.prev.y)))); _arg2.samp.setTo((_arg2.prev.x + (_local5 * (_arg2.curr.x - _arg2.prev.x))), (_arg2.prev.y + (_local5 * (_arg2.curr.y - _arg2.prev.y)))); if (testTypes(_arg1, _arg2, _arg3)){ return (true); }; _local5 = (_local5 + _local4); _local6++; }; return (false); } } }//package org.cove.ape
Section 9
//CollisionPair (org.cove.ape.CollisionPair) package org.cove.ape { public class CollisionPair { public var obj1:AbstractParticle; public var obj2:AbstractParticle; public function CollisionPair(_arg1:AbstractParticle, _arg2:AbstractParticle){ obj1 = _arg1; obj2 = _arg2; } } }//package org.cove.ape
Section 10
//CollisionResolver (org.cove.ape.CollisionResolver) package org.cove.ape { import org.cove.ape.*; final class CollisionResolver { static function resolveParticleParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Vector, _arg4:Number):void{ var _local5:Vector; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Collision; var _local10:Collision; var _local11:Vector; var _local12:Vector; var _local13:Vector; var _local14:Vector; _arg1.curr.copy(_arg1.samp); _arg2.curr.copy(_arg2.samp); _local5 = _arg3.mult(_arg4); _local6 = (_arg1.elasticity + _arg2.elasticity); _local7 = (_arg1.invMass + _arg2.invMass); _local8 = clamp((1 - (_arg1.friction + _arg2.friction)), 0, 1); _local9 = _arg1.getComponents(_arg3); _local10 = _arg2.getComponents(_arg3); _local11 = _local10.vn.mult(((_local6 + 1) * _arg1.invMass)).plus(_local9.vn.mult((_arg2.invMass - (_local6 * _arg1.invMass)))).divEquals(_local7); _local12 = _local9.vn.mult(((_local6 + 1) * _arg2.invMass)).plus(_local10.vn.mult((_arg1.invMass - (_local6 * _arg2.invMass)))).divEquals(_local7); _local9.vt.multEquals(_local8); _local10.vt.multEquals(_local8); _local13 = _local5.mult((_arg1.invMass / _local7)); _local14 = _local5.mult((-(_arg2.invMass) / _local7)); _local11.plusEquals(_local9.vt); _local12.plusEquals(_local10.vt); if (!_arg1.fixed){ _arg1.resolveCollision(_local13, _local11, _arg3, _arg4, -1, _arg2); }; if (!_arg2.fixed){ _arg2.resolveCollision(_local14, _local12, _arg3, _arg4, 1, _arg1); }; } static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 > _arg3){ return (_arg3); }; if (_arg1 < _arg2){ return (_arg2); }; return (_arg1); } } }//package org.cove.ape
Section 11
//Composite (org.cove.ape.Composite) package org.cove.ape { public class Composite extends AbstractCollection { private var delta:Vector; public function Composite(){ delta = new Vector(); } private function getRelativeAngle(_arg1:Vector, _arg2:Vector):Number{ delta.setTo((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); return (Math.atan2(delta.y, delta.x)); } public function rotateByRadian(_arg1:Number, _arg2:Vector):void{ var _local3:AbstractParticle; var _local4:Array; var _local5:int; var _local6:int; var _local7:Number; var _local8:Number; _local4 = particles; _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local3 = _local4[_local6]; _local7 = _local3.center.distance(_arg2); _local8 = (getRelativeAngle(_arg2, _local3.center) + _arg1); _local3.px = ((Math.cos(_local8) * _local7) + _arg2.x); _local3.py = ((Math.sin(_local8) * _local7) + _arg2.y); _local6++; }; } public function rotateByAngle(_arg1:Number, _arg2:Vector):void{ var _local3:Number; _local3 = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY); rotateByRadian(_local3, _arg2); } public function set fixed(_arg1:Boolean):void{ var _local2:int; _local2 = 0; while (_local2 < particles.length) { particles[_local2].fixed = _arg1; _local2++; }; } public function get fixed():Boolean{ var _local1:int; _local1 = 0; while (_local1 < particles.length) { if (!particles[_local1].fixed){ return (false); }; _local1++; }; return (true); } } }//package org.cove.ape
Section 12
//Group (org.cove.ape.Group) package org.cove.ape { public class Group extends AbstractCollection { private var _collideInternal:Boolean; private var _composites:Array; private var _collisionList:Array; public function Group(_arg1:Boolean=false){ _composites = new Array(); _collisionList = new Array(); this.collideInternal = _arg1; } function checkCollisions():void{ var _local1:int; var _local2:int; var _local3:Group; if (collideInternal){ checkCollisionGroupInternal(); }; _local1 = collisionList.length; _local2 = 0; while (_local2 < _local1) { _local3 = collisionList[_local2]; checkCollisionVsGroup(_local3); _local2++; }; } public function get composites():Array{ return (_composites); } override public function init():void{ var _local1:int; super.init(); _local1 = 0; while (_local1 < composites.length) { composites[_local1].init(); _local1++; }; } public function removeCollidable(_arg1:Group):void{ var _local2:int; _local2 = collisionList.indexOf(_arg1); if (_local2 == -1){ return; }; collisionList.splice(_local2, 1); } private function checkCollisionVsGroup(_arg1:Group):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:Composite; var _local6:int; var _local7:Composite; checkCollisionsVsCollection(_arg1); _local2 = _composites.length; _local3 = _arg1.composites.length; _local4 = 0; while (_local4 < _local2) { _local5 = _composites[_local4]; _local5.checkCollisionsVsCollection(_arg1); _local6 = 0; while (_local6 < _local3) { _local7 = _arg1.composites[_local6]; _local5.checkCollisionsVsCollection(_local7); _local6++; }; _local4++; }; _local6 = 0; while (_local6 < _local3) { _local7 = _arg1.composites[_local6]; checkCollisionsVsCollection(_local7); _local6++; }; } override function satisfyConstraints():void{ var _local1:int; var _local2:int; var _local3:Composite; super.satisfyConstraints(); _local1 = _composites.length; _local2 = 0; while (_local2 < _local1) { _local3 = _composites[_local2]; _local3.satisfyConstraints(); _local2++; }; } public function get collideInternal():Boolean{ return (_collideInternal); } public function addCollidableList(_arg1:Array):void{ var _local2:int; var _local3:Group; _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; collisionList.push(_local3); _local2++; }; } public function removeComposite(_arg1:Composite):void{ var _local2:int; _local2 = composites.indexOf(_arg1); if (_local2 == -1){ return; }; composites.splice(_local2, 1); _arg1.isParented = false; _arg1.cleanup(); } override public function cleanup():void{ var _local1:int; super.cleanup(); _local1 = 0; while (_local1 < composites.length) { composites[_local1].cleanup(); _local1++; }; } override public function paint():void{ var _local1:int; var _local2:int; var _local3:Composite; super.paint(); _local1 = _composites.length; _local2 = 0; while (_local2 < _local1) { _local3 = _composites[_local2]; _local3.paint(); _local2++; }; } public function addCollidable(_arg1:Group):void{ collisionList.push(_arg1); } override public function getAll():Array{ return (particles.concat(constraints).concat(composites)); } public function get collisionList():Array{ return (_collisionList); } override function integrate(_arg1:Number):void{ var _local2:int; var _local3:int; var _local4:Composite; super.integrate(_arg1); _local2 = _composites.length; _local3 = 0; while (_local3 < _local2) { _local4 = _composites[_local3]; _local4.integrate(_arg1); _local3++; }; } public function addComposite(_arg1:Composite):void{ composites.push(_arg1); _arg1.isParented = true; if (isParented){ _arg1.init(); }; } private function checkCollisionGroupInternal():void{ var _local1:int; var _local2:int; var _local3:Composite; var _local4:int; var _local5:Composite; checkInternalCollisions(); _local1 = _composites.length; _local2 = 0; while (_local2 < _local1) { _local3 = _composites[_local2]; _local3.checkCollisionsVsCollection(this); _local4 = (_local2 + 1); while (_local4 < _local1) { _local5 = _composites[_local4]; _local3.checkCollisionsVsCollection(_local5); _local4++; }; _local2++; }; } public function set collideInternal(_arg1:Boolean):void{ _collideInternal = _arg1; } } }//package org.cove.ape
Section 13
//Interval (org.cove.ape.Interval) package org.cove.ape { final class Interval { var min:Number; var max:Number; function Interval(_arg1:Number, _arg2:Number){ this.min = _arg1; this.max = _arg2; } function toString():String{ return (((min + " : ") + max)); } } }//package org.cove.ape
Section 14
//MathUtil (org.cove.ape.MathUtil) package org.cove.ape { final class MathUtil { static var ONE_EIGHTY_OVER_PI:Number = 57.2957795130823; static var PI_OVER_ONE_EIGHTY:Number = 0.0174532925199433; static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 < _arg2){ return (_arg2); }; if (_arg1 > _arg3){ return (_arg3); }; return (_arg1); } static function sign(_arg1:Number):int{ if (_arg1 < 0){ return (-1); }; return (1); } } }//package org.cove.ape
Section 15
//RectangleParticle (org.cove.ape.RectangleParticle) package org.cove.ape { public class RectangleParticle extends AbstractParticle { private var _axes:Array; private var _extents:Array; private var _radian:Number; public function RectangleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:String="", _arg6:Number=0, _arg7:Boolean=false, _arg8:Number=1, _arg9:Number=0.3, _arg10:Number=0){ super(_arg1, _arg2, _arg7, _arg8, _arg9, _arg10, _arg5); _extents = new Array((_arg3 / 2), (_arg4 / 2)); _axes = new Array(new Vector(0, 0), new Vector(0, 0)); radian = _arg6; } override public function init():void{ var _local1:Number; var _local2:Number; cleanup(); if (displayObject != null){ initDisplay(); } else { _local1 = (extents[0] * 2); _local2 = (extents[1] * 2); sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.beginFill(fillColor, fillAlpha); sprite.graphics.drawRect((-(_local1) / 2), (-(_local2) / 2), _local1, _local2); sprite.graphics.endFill(); }; paint(); } public function set width(_arg1:Number):void{ _extents[0] = (_arg1 / 2); } function get axes():Array{ return (_axes); } public function get height():Number{ return ((_extents[1] * 2)); } function get extents():Array{ return (_extents); } public function set angle(_arg1:Number):void{ radian = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY); } private function setAxes(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.sin(_arg1); _local3 = Math.cos(_arg1); axes[0].x = _local3; axes[0].y = _local2; axes[1].x = -(_local2); axes[1].y = _local3; } public function get radian():Number{ return (_radian); } public function get width():Number{ return ((_extents[0] * 2)); } public function set height(_arg1:Number):void{ _extents[1] = (_arg1 / 2); } public function get angle():Number{ return ((radian * MathUtil.ONE_EIGHTY_OVER_PI)); } function getProjection(_arg1:Vector):Interval{ var _local2:Number; var _local3:Number; _local2 = ((extents[0] * Math.abs(_arg1.dot(axes[0]))) + (extents[1] * Math.abs(_arg1.dot(axes[1])))); _local3 = samp.dot(_arg1); interval.min = (_local3 - _local2); interval.max = (_local3 + _local2); return (interval); } public function set radian(_arg1:Number):void{ _radian = _arg1; setAxes(_arg1); } override public function paint():void{ sprite.x = curr.x; sprite.y = curr.y; sprite.rotation = angle; } } }//package org.cove.ape
Section 16
//SpringConstraint (org.cove.ape.SpringConstraint) package org.cove.ape { import flash.display.*; public class SpringConstraint extends AbstractConstraint { private var _collidable:Boolean; private var _restLength:Number; public var myInstanceName:String; private var p1:AbstractParticle; private var p2:AbstractParticle; private var _scp:SpringConstraintParticle; public function SpringConstraint(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Number=0.5, _arg4:Boolean=false, _arg5:Number=1, _arg6:String="", _arg7:Number=1, _arg8:Boolean=false){ super(_arg3); myInstanceName = _arg6; this.p1 = _arg1; this.p2 = _arg2; checkParticlesLocation(); _restLength = currLength; setCollidable(_arg4, _arg5, _arg7, _arg8); } override public function init():void{ cleanup(); if (collidable){ scp.init(); } else { if (displayObject != null){ initDisplay(); }; }; paint(); } function initDisplay():void{ if (collidable){ scp.initDisplay(); } else { displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; sprite.addChild(displayObject); }; } public function set rectScale(_arg1:Number):void{ if (scp == null){ return; }; scp.rectScale = _arg1; } public function get radian():Number{ var _local1:Vector; _local1 = delta; return (Math.atan2(_local1.y, _local1.x)); } function get scp():SpringConstraintParticle{ return (_scp); } public function get rectHeight():Number{ return (scp.rectHeight); } public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{ if (collidable){ scp.setDisplay(_arg1, _arg2, _arg3, _arg4); } else { displayObject = _arg1; displayObjectRotation = _arg4; displayObjectOffset = new Vector(_arg2, _arg3); }; } private function checkParticlesLocation():void{ if ((((p1.curr.x == p2.curr.x)) && ((p1.curr.y == p2.curr.y)))){ p2.curr.x = (p2.curr.x + 0.0001); }; } public function set restLength(_arg1:Number):void{ if (_arg1 <= 0){ throw (new ArgumentError("restLength must be greater than 0")); }; _restLength = _arg1; } public function get currLength():Number{ return (p1.curr.distance(p2.curr)); } public function get fixedEndLimit():Number{ return (scp.fixedEndLimit); } public function get rectScale():Number{ return (scp.rectScale); } function get delta():Vector{ return (p1.curr.minus(p2.curr)); } public function get angle():Number{ return ((radian * MathUtil.ONE_EIGHTY_OVER_PI)); } public function get center():Vector{ return (p1.curr.plus(p2.curr).divEquals(2)); } public function set rectHeight(_arg1:Number):void{ if (scp == null){ return; }; scp.rectHeight = _arg1; } public function get restLength():Number{ return (_restLength); } override public function paint():void{ var _local1:Vector; if (collidable){ scp.paint(); } else { if (displayObject != null){ _local1 = center; sprite.x = _local1.x; sprite.y = _local1.y; sprite.rotation = angle; } else { sprite.graphics.clear(); sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha); sprite.graphics.moveTo(p1.px, p1.py); sprite.graphics.lineTo(p2.px, p2.py); }; }; } public function setCollidable(_arg1:Boolean, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{ _collidable = _arg1; _scp = null; if (_collidable){ _scp = new SpringConstraintParticle(p1, p2, this, _arg2, _arg3, _arg4, myInstanceName); }; } public function get collidable():Boolean{ return (_collidable); } public function isConnectedTo(_arg1:AbstractParticle):Boolean{ return ((((_arg1 == p1)) || ((_arg1 == p2)))); } override function resolve():void{ var _local1:Number; var _local2:Number; var _local3:Vector; if (((p1.fixed) && (p2.fixed))){ return; }; _local1 = currLength; _local2 = ((_local1 - restLength) / (_local1 * (p1.invMass + p2.invMass))); _local3 = delta.mult((_local2 * stiffness)); p1.curr.minusEquals(_local3.mult(p1.invMass)); p2.curr.plusEquals(_local3.mult(p2.invMass)); } public function get fixed():Boolean{ return (((p1.fixed) && (p2.fixed))); } public function set fixedEndLimit(_arg1:Number):void{ if (scp == null){ return; }; scp.fixedEndLimit = _arg1; } } }//package org.cove.ape
Section 17
//SpringConstraintParticle (org.cove.ape.SpringConstraintParticle) package org.cove.ape { import org.cove.ape.*; import flash.display.*; class SpringConstraintParticle extends RectangleParticle { private var _fixedEndLimit:Number; private var _rectScale:Number; private var rca:Vector; private var rcb:Vector; private var s:Number; private var parent:SpringConstraint; private var scaleToLength:Boolean; private var p1:AbstractParticle; private var p2:AbstractParticle; private var lambda:Vector; private var avgVelocity:Vector; private var _rectHeight:Number; function SpringConstraintParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:SpringConstraint, _arg4:Number, _arg5:Number, _arg6:Boolean, _arg7:String=""){ super(0, 0, 0, 0, _arg7, 0, false, 1, 0.3, 0); this.p1 = _arg1; this.p2 = _arg2; lambda = new Vector(0, 0); avgVelocity = new Vector(0, 0); parent = _arg3; this.rectScale = _arg5; this.rectHeight = _arg4; this.scaleToLength = _arg6; fixedEndLimit = 0; rca = new Vector(); rcb = new Vector(); } private function setCorners(_arg1:RectangleParticle, _arg2:int):void{ var _local3:Number; var _local4:Number; var _local5:Array; var _local6:Array; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local3 = _arg1.curr.x; _local4 = _arg1.curr.y; _local5 = _arg1.axes; _local6 = _arg1.extents; _local7 = (_local5[0].x * _local6[0]); _local8 = (_local5[0].y * _local6[0]); _local9 = (_local5[1].x * _local6[1]); _local10 = (_local5[1].y * _local6[1]); _local11 = (_local7 - _local9); _local12 = (_local8 - _local10); _local13 = (_local7 + _local9); _local14 = (_local8 + _local10); if (_arg2 == 0){ rca.x = (_local3 - _local13); rca.y = (_local4 - _local14); rcb.x = (_local3 + _local11); rcb.y = (_local4 + _local12); } else { if (_arg2 == 1){ rca.x = (_local3 + _local11); rca.y = (_local4 + _local12); rcb.x = (_local3 + _local13); rcb.y = (_local4 + _local14); } else { if (_arg2 == 2){ rca.x = (_local3 + _local13); rca.y = (_local4 + _local14); rcb.x = (_local3 - _local11); rcb.y = (_local4 - _local12); } else { if (_arg2 == 3){ rca.x = (_local3 - _local11); rca.y = (_local4 - _local12); rcb.x = (_local3 - _local13); rcb.y = (_local4 - _local14); }; }; }; }; } override public function init():void{ var _local1:Sprite; var _local2:Number; var _local3:Number; if (displayObject != null){ initDisplay(); } else { _local1 = new Sprite(); parent.sprite.addChild(_local1); _local1.name = "inner"; _local2 = (parent.currLength * rectScale); _local3 = rectHeight; _local1.graphics.clear(); _local1.graphics.lineStyle(parent.lineThickness, parent.lineColor, parent.lineAlpha); _local1.graphics.beginFill(parent.fillColor, parent.fillAlpha); _local1.graphics.drawRect((-(_local2) / 2), (-(_local3) / 2), _local2, _local3); _local1.graphics.endFill(); }; paint(); } function updatePosition():void{ var _local1:Vector; _local1 = parent.center; curr.setTo(_local1.x, _local1.y); width = (scaleToLength) ? (parent.currLength * rectScale) : (parent.restLength * rectScale); height = rectHeight; radian = parent.radian; } private function closestPtSegmentSegment():Number{ var _local1:Vector; var _local2:Vector; var _local3:Vector; var _local4:Vector; var _local5:Vector; var _local6:Vector; var _local7:Vector; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Vector; var _local16:Vector; var _local17:Vector; _local1 = p1.curr; _local2 = p2.curr; _local3 = rca; _local4 = rcb; _local5 = _local2.minus(_local1); _local6 = _local4.minus(_local3); _local7 = _local1.minus(_local3); _local9 = _local5.dot(_local5); _local10 = _local6.dot(_local6); _local11 = _local6.dot(_local7); _local12 = _local5.dot(_local7); _local13 = _local5.dot(_local6); _local14 = ((_local9 * _local10) - (_local13 * _local13)); if (_local14 != 0){ s = MathUtil.clamp((((_local13 * _local11) - (_local12 * _local10)) / _local14), 0, 1); } else { s = 0.5; }; _local8 = (((_local13 * s) + _local11) / _local10); if (_local8 < 0){ _local8 = 0; s = MathUtil.clamp((-(_local12) / _local9), 0, 1); } else { if (_local8 > 0){ _local8 = 1; s = MathUtil.clamp(((_local13 - _local12) / _local9), 0, 1); }; }; _local15 = _local1.plus(_local5.mult(s)); _local16 = _local3.plus(_local6.mult(_local8)); _local17 = _local15.minus(_local16); return (_local15.minus(_local16).dot(_local17)); } function get rectHeight():Number{ return (_rectHeight); } function get fixedEndLimit():Number{ return (_fixedEndLimit); } private function closestParamPoint(_arg1:Vector):Number{ var _local2:Vector; var _local3:Number; _local2 = p2.curr.minus(p1.curr); _local3 = (_local2.dot(_arg1.minus(p1.curr)) / _local2.dot(_local2)); return (MathUtil.clamp(_local3, 0, 1)); } function set rectHeight(_arg1:Number):void{ _rectHeight = _arg1; } override public function paint():void{ var _local1:Vector; var _local2:Sprite; _local1 = parent.center; _local2 = parent.sprite; if (scaleToLength){ _local2.getChildByName("inner").width = (parent.currLength * rectScale); } else { if (displayObject != null){ _local2.getChildByName("inner").width = (parent.restLength * rectScale); }; }; _local2.x = _local1.x; _local2.y = _local1.y; _local2.rotation = parent.angle; } private function getContactPointParam(_arg1:AbstractParticle):Number{ var _local2:Number; var _local3:Number; var _local4:Array; var _local5:Number; var _local6:int; var _local7:Number; if ((_arg1 is CircleParticle)){ _local2 = closestParamPoint(_arg1.curr); } else { if ((_arg1 is RectangleParticle)){ _local4 = new Array(4); _local5 = Number.POSITIVE_INFINITY; _local6 = 0; while (_local6 < 4) { setCorners((_arg1 as RectangleParticle), _local6); _local7 = closestPtSegmentSegment(); if (_local7 < _local5){ _local5 = _local7; _local3 = _local6; _local4[_local6] = s; }; _local6++; }; _local2 = _local4[_local3]; }; }; return (_local2); } function set fixedEndLimit(_arg1:Number):void{ _fixedEndLimit = _arg1; } override function get invMass():Number{ if (((p1.fixed) && (p2.fixed))){ return (0); }; return ((1 / ((p1.mass + p2.mass) / 2))); } override function initDisplay():void{ var _local1:Sprite; displayObject.x = displayObjectOffset.x; displayObject.y = displayObjectOffset.y; displayObject.rotation = displayObjectRotation; _local1 = new Sprite(); _local1.name = "inner"; _local1.addChild(displayObject); parent.sprite.addChild(_local1); } function set rectScale(_arg1:Number):void{ _rectScale = _arg1; } override function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:AbstractParticle; _local7 = getContactPointParam(_arg6); _local8 = (1 - _local7); _local9 = _local7; if (p1.fixed){ if (_local9 <= fixedEndLimit){ return; }; lambda.setTo((_arg1.x / _local9), (_arg1.y / _local9)); p2.curr.plusEquals(lambda); p2.velocity = _arg2; } else { if (p2.fixed){ if (_local8 <= fixedEndLimit){ return; }; lambda.setTo((_arg1.x / _local8), (_arg1.y / _local8)); p1.curr.plusEquals(lambda); p1.velocity = _arg2; } else { _local10 = ((_local8 * _local8) + (_local9 * _local9)); if (_local10 == 0){ return; }; lambda.setTo((_arg1.x / _local10), (_arg1.y / _local10)); p1.curr.plusEquals(lambda.mult(_local8)); p2.curr.plusEquals(lambda.mult(_local9)); if (_local7 == 0.5){ p1.velocity = _arg2; p2.velocity = _arg2; } else { _local11 = ((_local7)<0.5) ? p1 : p2; _local11.velocity = _arg2; }; }; }; } override public function get elasticity():Number{ return (((p1.elasticity + p2.elasticity) / 2)); } function get rectScale():Number{ return (_rectScale); } override public function get velocity():Vector{ var _local1:Vector; var _local2:Vector; _local1 = p1.velocity; _local2 = p2.velocity; avgVelocity.setTo(((_local1.x + _local2.x) / 2), ((_local1.y + _local2.y) / 2)); return (avgVelocity); } override public function get friction():Number{ return (((p1.friction + p2.friction) / 2)); } override public function get mass():Number{ return (((p1.mass + p2.mass) / 2)); } } }//package org.cove.ape
Section 18
//Vector (org.cove.ape.Vector) package org.cove.ape { public class Vector { public var x:Number; public var y:Number; public function Vector(_arg1:Number=0, _arg2:Number=0){ x = _arg1; y = _arg2; } public function cross(_arg1:Vector):Number{ return (((x * _arg1.y) - (y * _arg1.x))); } public function magnitude():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function divEquals(_arg1:Number):Vector{ if (_arg1 == 0){ _arg1 = 0.0001; }; x = (x / _arg1); y = (y / _arg1); return (this); } public function times(_arg1:Vector):Vector{ return (new Vector((x * _arg1.x), (y * _arg1.y))); } public function plusEquals(_arg1:Vector):Vector{ x = (x + _arg1.x); y = (y + _arg1.y); return (this); } public function dot(_arg1:Vector):Number{ return (((x * _arg1.x) + (y * _arg1.y))); } public function toString():String{ return (((x + " : ") + y)); } public function normalize():Vector{ var _local1:Number; _local1 = magnitude(); if (_local1 == 0){ _local1 = 0.0001; }; return (mult((1 / _local1))); } public function copy(_arg1:Vector):void{ x = _arg1.x; y = _arg1.y; } public function minusEquals(_arg1:Vector):Vector{ x = (x - _arg1.x); y = (y - _arg1.y); return (this); } public function minus(_arg1:Vector):Vector{ return (new Vector((x - _arg1.x), (y - _arg1.y))); } public function plus(_arg1:Vector):Vector{ return (new Vector((x + _arg1.x), (y + _arg1.y))); } public function distance(_arg1:Vector):Number{ var _local2:Vector; _local2 = this.minus(_arg1); return (_local2.magnitude()); } public function setTo(_arg1:Number, _arg2:Number):void{ x = _arg1; y = _arg2; } public function multEquals(_arg1:Number):Vector{ x = (x * _arg1); y = (y * _arg1); return (this); } public function mult(_arg1:Number):Vector{ return (new Vector((x * _arg1), (y * _arg1))); } } }//package org.cove.ape
Section 19
//injuredCircle_19 (tori_fla.injuredCircle_19) package tori_fla { import flash.display.*; public dynamic class injuredCircle_19 extends MovieClip { public function injuredCircle_19(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package tori_fla
Section 20
//injuredRect_23 (tori_fla.injuredRect_23) package tori_fla { import flash.display.*; public dynamic class injuredRect_23 extends MovieClip { public function injuredRect_23(){ addFrameScript(1, frame2); } function frame2(){ stop(); } } }//package tori_fla
Section 21
//MainTimeline (tori_fla.MainTimeline) package tori_fla { import flash.display.*; public dynamic class MainTimeline extends MovieClip { public function MainTimeline(){ addFrameScript(0, frame1); } function frame1(){ gameworld.main(stage); } } }//package tori_fla
Section 22
//selector_20 (tori_fla.selector_20) package tori_fla { import flash.display.*; public dynamic class selector_20 extends MovieClip { public var arrowCW:MovieClip; public var arrowCCW:MovieClip; } }//package tori_fla
Section 23
//whitecircle_4 (tori_fla.whitecircle_4) package tori_fla { import flash.display.*; public dynamic class whitecircle_4 extends MovieClip { public function whitecircle_4(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package tori_fla
Section 24
//armComposite (armComposite) package { import org.cove.ape.*; public class armComposite extends Composite { public var armPicture:greybox; public var shoulderBroken:Boolean; public var shoulder:CircleParticle; public var forearm:SpringConstraint; public var elbowEmitter:bloodEmitter; public var shoulderEmitter:bloodEmitter; public var armconstraintnode:CircleParticle; public var elbow:CircleParticle; public var elbowNodeEmitter:bloodEmitter; public var elbownode:CircleParticle; public var elbowbendconstraint:SpringConstraint; public var arm:SpringConstraint; public var fist:RectangleParticle; public var elbowconnector:SpringConstraint; public var forearmpic:greybox; public var elbowBroken:Boolean; public var elbowbendconstraint2:SpringConstraint; public var shoulderconstraintnode:CircleParticle; public function armComposite(_arg1:Vector, _arg2:String, _arg3:int){ var _local4:CircleParticle; var _local5:SpringConstraint; var _local6:CircleParticle; var _local7:SpringConstraint; var _local8:SpringConstraint; var _local9:SpringConstraint; var _local10:SpringConstraint; var _local11:SpringConstraint; var _local12:SpringConstraint; var _local13:SpringConstraint; super(); shoulder = new CircleParticle(_arg1.x, _arg1.y, 19, ((_arg3 + _arg2) + "Shoulder")); if (_arg2 == "left"){ elbownode = new CircleParticle((_arg1.x - 15), (_arg1.y + 60), 17); } else { if (_arg2 == "right"){ elbownode = new CircleParticle((_arg1.x + 15), (_arg1.y + 60), 17); } else { elbownode = new CircleParticle(_arg1.x, (_arg1.y + 60), 17); }; }; shoulder.friction = 0.5; elbownode.friction = 0.5; shoulder.visible = false; elbownode.visible = false; addParticle(shoulder); addParticle(elbownode); arm = new SpringConstraint(shoulder, elbownode, 1, true, 25, ((_arg3 + _arg2) + "Arm")); armPicture = new greybox(); armPicture.cacheAsBitmap = true; arm.setDisplay(armPicture); addConstraint(arm); elbow = new CircleParticle(elbownode.position.x, elbownode.position.y, 16, ((_arg3 + _arg2) + "Elbow")); _local4 = new CircleParticle(elbownode.position.x, (elbownode.position.y + 60), 8); fist = new RectangleParticle(_local4.position.x, _local4.position.y, 32, 32, ((_arg3 + _arg2) + "Fist")); elbow.friction = 0.5; elbow.visible = false; _local4.collidable = false; fist.friction = 0.5; fist.setStyle(1.5, 0, 1, 0x999999); addParticle(elbow); addParticle(_local4); addParticle(fist); forearm = new SpringConstraint(elbow, _local4, 1, true, 18, ((_arg3 + _arg2) + "ForeArm")); _local5 = new SpringConstraint(_local4, fist, 1); forearmpic = new greybox(); forearmpic.cacheAsBitmap = true; forearmpic.height = 18; forearm.setDisplay(forearmpic); forearm.setStyle(1.5, 0, 1, 0xCCCCCC); _local5.visible = false; addConstraint(forearm); addConstraint(_local5); elbowconnector = new SpringConstraint(elbownode, elbow, 1); elbowconnector.visible = false; addConstraint(elbowconnector); if (_arg2 == "left"){ armconstraintnode = new CircleParticle((elbownode.position.x - 70), (elbownode.position.y - 70), 5); _local6 = new CircleParticle((elbownode.position.x + 70), (elbownode.position.y - 50), 5); shoulderconstraintnode = new CircleParticle((elbownode.position.x - 100), (elbownode.position.y + 30), 5); } else { if (_arg2 == "right"){ armconstraintnode = new CircleParticle((elbownode.position.x + 70), (elbownode.position.y - 70), 5); _local6 = new CircleParticle((elbownode.position.x - 70), (elbownode.position.y - 50), 5); shoulderconstraintnode = new CircleParticle((elbownode.position.x + 100), (elbownode.position.y + 30), 5); }; }; armconstraintnode.collidable = false; _local6.collidable = false; shoulderconstraintnode.collidable = false; armconstraintnode.visible = false; _local6.visible = false; shoulderconstraintnode.visible = false; addParticle(armconstraintnode); addParticle(_local6); addParticle(shoulderconstraintnode); _local7 = new SpringConstraint(elbownode, armconstraintnode, 1); _local8 = new SpringConstraint(shoulder, armconstraintnode, 1); _local9 = new SpringConstraint(elbownode, _local6, 1); _local10 = new SpringConstraint(shoulder, _local6, 1); _local11 = new SpringConstraint(armconstraintnode, _local6, 1); _local12 = new SpringConstraint(shoulder, shoulderconstraintnode, 1); _local13 = new SpringConstraint(elbownode, shoulderconstraintnode, 1); elbowbendconstraint = new SpringConstraint(armconstraintnode, _local4, 0.5); elbowbendconstraint2 = new SpringConstraint(_local6, _local4, 0.5); _local7.visible = false; _local8.visible = false; _local9.visible = false; _local10.visible = false; _local11.visible = false; _local12.visible = false; _local13.visible = false; elbowbendconstraint.visible = false; elbowbendconstraint2.visible = false; addConstraint(_local7); addConstraint(_local8); addConstraint(_local9); addConstraint(_local10); addConstraint(_local11); addConstraint(_local12); addConstraint(_local13); addConstraint(elbowbendconstraint); addConstraint(elbowbendconstraint2); shoulderEmitter = new bloodEmitter(gameworld.baseLayer); shoulderEmitter.updateConditions(shoulder.position.x, shoulder.position.y, arm.angle); elbowEmitter = new bloodEmitter(gameworld.baseLayer); elbowEmitter.updateConditions(elbow.position.x, elbow.position.y, forearm.angle); elbowNodeEmitter = new bloodEmitter(gameworld.baseLayer); elbowNodeEmitter.updateConditions(elbownode.position.x, elbownode.position.y, arm.angle); elbowBroken = false; shoulderBroken = false; } public function run():void{ shoulderEmitter.updateConditions(shoulder.position.x, shoulder.position.y, arm.angle); elbowEmitter.updateConditions(elbow.position.x, elbow.position.y, forearm.angle); elbowNodeEmitter.updateConditions(elbownode.position.x, elbownode.position.y, arm.angle); } public function clean():void{ shoulderEmitter.clean(); elbowEmitter.clean(); elbowNodeEmitter.clean(); } } }//package
Section 25
//BadaBoom (BadaBoom) package { import flash.text.*; public dynamic class BadaBoom extends Font { } }//package
Section 26
//bloodEmitter (bloodEmitter) package { import flash.display.*; public class bloodEmitter extends MovieClip { public var bloodPool:Array; private var poolSize:Number;// = 20 private var stopSprayBool:Boolean;// = false public var emitterLife:Number;// = 50 static const VELY:int = 1; static const VELX:int = 0; static const LIFE:int = 2; static const ACTIVE:int = 3; static const ROTATION:int = 4; public function bloodEmitter(_arg1){ var _local2:int; poolSize = 20; stopSprayBool = false; emitterLife = 50; super(); bloodPool = new Array(); _local2 = 0; while (_local2 < poolSize) { bloodPool[_local2] = new bloodparticle(); _arg1.addChild(bloodPool[_local2]); bloodPool[_local2].visible = false; bloodPool[_local2].x = this.x; bloodPool[_local2].y = this.y; bloodPool[_local2][VELX] = 0; bloodPool[_local2][VELY] = -4; bloodPool[_local2][LIFE] = 100; bloodPool[_local2][ACTIVE] = false; bloodPool[_local2][ROTATION] = 0; _local2++; }; } private function resetParticle(_arg1, _arg2:int):void{ _arg1.x = this.x; _arg1.y = this.y; _arg1[VELX] = 0; _arg1[VELY] = -4; _arg1[LIFE] = 100; _arg1[ROTATION] = this.rotation; if (stopSprayBool){ _arg1[ACTIVE] = false; _arg1.visible = false; }; } public function clean():void{ var _local1:*; var _local2:int; _local1 = gameworld.baseLayer; _local2 = 0; while (_local2 < poolSize) { _local1.removeChild(bloodPool[_local2]); _local2++; }; } public function startSpray():void{ bloodPool[0].visible = true; bloodPool[0][ACTIVE] = true; bloodPool[0].x = this.x; bloodPool[0].y = this.y; stopSprayBool = false; } public function updateConditions(_arg1:Number, _arg2:Number, _arg3:Number):void{ this.x = _arg1; this.y = _arg2; this.rotation = _arg3; run(); } public function run():void{ var _local1:int; if (((!(bloodPool[0][ACTIVE])) && (!(stopSprayBool)))){ return; }; if (--emitterLife == 0){ stopSpray(); }; if (emitterLife < 0){ emitterLife = -1; }; _local1 = 0; for (;_local1 < poolSize;_local1++) { if (((!(bloodPool[_local1][ACTIVE])) && (stopSprayBool))){ continue; } else { if (!bloodPool[_local1][ACTIVE]){ return; }; }; if (((((!(bloodPool[(poolSize - 1)][ACTIVE])) && (!((_local1 == (poolSize - 1)))))) && ((bloodPool[_local1][LIFE] < 95)))){ if (!bloodPool[(_local1 + 1)][ACTIVE]){ bloodPool[(_local1 + 1)].visible = true; bloodPool[(_local1 + 1)][ACTIVE] = true; bloodPool[(_local1 + 1)][ROTATION] = this.rotation; bloodPool[(_local1 + 1)].x = this.x; bloodPool[(_local1 + 1)].y = this.y; }; }; if (bloodPool[_local1].y > 460){ bloodPool[_local1][VELY] = 0; bloodPool[_local1][VELX] = 0; }; bloodPool[_local1].x = (bloodPool[_local1].x + bloodPool[_local1][VELX]); bloodPool[_local1].y = (bloodPool[_local1].y + bloodPool[_local1][VELY]); bloodPool[_local1].rotation = bloodPool[_local1][ROTATION]; bloodPool[_local1][VELY] = (bloodPool[_local1][VELY] + 0.25); var _local2 = bloodPool[_local1]; var _local3 = LIFE; var _local4 = (_local2[_local3] - 1); _local2[_local3] = _local4; if (_local4 < 0){ resetParticle(bloodPool[_local1], _local1); }; }; } public function stopSpray():void{ stopSprayBool = true; } } }//package
Section 27
//bloodparticle (bloodparticle) package { import flash.display.*; public dynamic class bloodparticle extends MovieClip { public function bloodparticle(){ addFrameScript(0, frame1); } function frame1(){ stop(); gotoAndStop(Math.round((Math.random() * this.totalFrames))); } } }//package
Section 28
//bodyComposite (bodyComposite) package { import org.cove.ape.*; public class bodyComposite extends Composite { var myheight:Number; public var rightShoulderEmitter:bloodEmitter; public var righthipnode:CircleParticle; public var neckEmitter:bloodEmitter; public var headnode:CircleParticle; public var leftShoulderEmitter:bloodEmitter; public var leftshouldernode:CircleParticle; var mywidth:Number; public var lefthipnode:CircleParticle; var body:SpringConstraint; public var bottomnode:CircleParticle; public var rightshouldernode:CircleParticle; public function bodyComposite(_arg1:Vector, _arg2:int){ var _local3:SpringConstraint; var _local4:SpringConstraint; var _local5:SpringConstraint; var _local6:SpringConstraint; var _local7:SpringConstraint; var _local8:SpringConstraint; var _local9:SpringConstraint; var _local10:SpringConstraint; var _local11:SpringConstraint; var _local12:SpringConstraint; var _local13:SpringConstraint; var _local14:SpringConstraint; var _local15:SpringConstraint; var _local16:SpringConstraint; var _local17:*; super(); mywidth = 90; myheight = 120; headnode = new CircleParticle(_arg1.x, (_arg1.y - (myheight / 2)), 5); bottomnode = new CircleParticle(_arg1.x, (_arg1.y + (myheight / 2)), 5); leftshouldernode = new CircleParticle((_arg1.x - (mywidth / 2)), (_arg1.y - (myheight / 2)), 5); rightshouldernode = new CircleParticle((_arg1.x + (mywidth / 2)), (_arg1.y - (myheight / 2)), 5); lefthipnode = new CircleParticle((_arg1.x - (mywidth / 2)), (_arg1.y + (myheight / 2)), 5); righthipnode = new CircleParticle((_arg1.x + (mywidth / 2)), (_arg1.y + (myheight / 2)), 5); headnode.visible = false; bottomnode.visible = false; leftshouldernode.visible = false; rightshouldernode.visible = false; lefthipnode.visible = false; righthipnode.visible = false; headnode.collidable = false; bottomnode.visible = false; bottomnode.collidable = false; leftshouldernode.friction = 0.9; rightshouldernode.friction = 0.9; lefthipnode.friction = 0.9; righthipnode.friction = 0.9; addParticle(headnode); addParticle(bottomnode); addParticle(leftshouldernode); addParticle(rightshouldernode); addParticle(lefthipnode); addParticle(righthipnode); body = new SpringConstraint(headnode, bottomnode, 1, true, mywidth, (_arg2 + "body")); _local3 = new SpringConstraint(leftshouldernode, headnode, 1); _local4 = new SpringConstraint(rightshouldernode, headnode, 1); _local5 = new SpringConstraint(lefthipnode, bottomnode, 1); _local6 = new SpringConstraint(righthipnode, bottomnode, 1); _local7 = new SpringConstraint(leftshouldernode, lefthipnode, 1); _local8 = new SpringConstraint(rightshouldernode, righthipnode, 1); _local9 = new SpringConstraint(leftshouldernode, bottomnode, 1); _local10 = new SpringConstraint(headnode, lefthipnode, 1); _local11 = new SpringConstraint(rightshouldernode, lefthipnode, 1); _local12 = new SpringConstraint(rightshouldernode, bottomnode, 1); _local13 = new SpringConstraint(headnode, righthipnode, 1); _local14 = new SpringConstraint(leftshouldernode, righthipnode, 1); _local15 = new SpringConstraint(leftshouldernode, rightshouldernode, 1); _local16 = new SpringConstraint(lefthipnode, righthipnode, 1); _local17 = new bodyimage(); body.setDisplay(_local17); _local3.visible = false; _local4.visible = false; _local5.visible = false; _local6.visible = false; _local7.visible = false; _local8.visible = false; _local9.visible = false; _local10.visible = false; _local11.visible = false; _local12.visible = false; _local13.visible = false; _local14.visible = false; _local15.visible = false; _local16.visible = false; addConstraint(body); addConstraint(_local3); addConstraint(_local4); addConstraint(_local5); addConstraint(_local6); addConstraint(_local7); addConstraint(_local8); addConstraint(_local9); addConstraint(_local10); addConstraint(_local11); addConstraint(_local12); addConstraint(_local13); addConstraint(_local14); addConstraint(_local15); addConstraint(_local16); leftShoulderEmitter = new bloodEmitter(gameworld.baseLayer); leftShoulderEmitter.updateConditions(leftshouldernode.position.x, leftshouldernode.position.y, body.angle); rightShoulderEmitter = new bloodEmitter(gameworld.baseLayer); rightShoulderEmitter.updateConditions(rightshouldernode.position.x, rightshouldernode.position.y, body.angle); neckEmitter = new bloodEmitter(gameworld.baseLayer); neckEmitter.updateConditions(headnode.position.x, headnode.position.y, body.angle); } public function clean():void{ leftShoulderEmitter.clean(); rightShoulderEmitter.clean(); neckEmitter.clean(); } public function run():void{ leftShoulderEmitter.updateConditions(leftshouldernode.position.x, leftshouldernode.position.y, body.angle); rightShoulderEmitter.updateConditions(rightshouldernode.position.x, rightshouldernode.position.y, body.angle); neckEmitter.updateConditions(headnode.position.x, headnode.position.y, body.angle); } } }//package
Section 29
//bodyimage (bodyimage) package { import flash.events.*; import flash.display.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.system.*; import flash.utils.*; import flash.ui.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.printing.*; import flash.xml.*; public dynamic class bodyimage extends MovieClip { public var c1:MovieClip; public var c3:MovieClip; public var c4:MovieClip; public var c5:MovieClip; public var c2:MovieClip; public var totalNum:Number; public function bodyimage(){ addFrameScript(0, frame1); } function frame1(){ this.addEventListener(Event.ENTER_FRAME, run); totalNum = 5; } public function run(_arg1:Event){ var _local2:Number; if (parent.parent == null){ this.removeEventListener(Event.ENTER_FRAME, run); return; }; _local2 = 1; while (_local2 <= totalNum) { this[("c" + _local2)].rotation = (parent.parent.rotation * -1); _local2++; }; } } }//package
Section 30
//bonebreakSound (bonebreakSound) package { import flash.media.*; public dynamic class bonebreakSound extends Sound { } }//package
Section 31
//cameraShake (cameraShake) package { import flash.display.*; public dynamic class cameraShake extends MovieClip { public var box:MovieClip; public function cameraShake(){ addFrameScript(0, frame1); } function frame1(){ gameworld.baseLayer.x = 0; gameworld.baseLayer.y = 0; stop(); } } }//package
Section 32
//fighter (fighter) package { import org.cove.ape.*; import flash.events.*; import flash.text.*; public class fighter extends Group { private var head:CircleParticle; public var rightElbowPic:joint; private var rightelbowconnector:SpringConstraint; private var LeftKnee:Boolean; public var rightShoulderPic:joint; private var leftlimit:SpringConstraint; private var rightarmsupport:SpringConstraint; private var rightlimit:SpringConstraint; private var rightlegconnector:SpringConstraint; public var headpicture:headimage; private var RightElbow:Boolean; private var rightthighconnector:SpringConstraint; private var leftkneelimit:SpringConstraint; private var leftarmsupport:SpringConstraint; public var leftShoulderPic:joint; public var executeJointActionBool:Boolean; public var leftKneePic:joint; public var playLightPunch:Boolean; private var neck:SpringConstraint; private var RightKnee:Boolean; private var rightleg:legComposite; private var headEmitter:bloodEmitter; private var splitlimit2:SpringConstraint; public var leftHipPic:joint; private var leftlegconnector:SpringConstraint; public var rightKneePic:joint; private var necksupportright:SpringConstraint; private var rightarmconnector:SpringConstraint; public var score:int; private var necksupportleft:SpringConstraint; private var riselimit:SpringConstraint; public var posVec:Vector; private var body:bodyComposite; private var leftleg:legComposite; private var riselimitleft:SpringConstraint; private var leftelbowconnector:SpringConstraint; public var rightHipPic:joint; public var bonebreak:bonebreakSound; private var rightkneelimit:SpringConstraint; private var rightarm:armComposite; private var RightShoulder:Boolean; private var riselimitright:SpringConstraint; private var leftthighconnector:SpringConstraint; private var headBroken:Boolean; public var heavypunch:heavypunchSound; public var scoreDisplay:textr; public var lightpunch:lightpunchSound; private var jointPress:Array; private var LeftElbow:Boolean; private var riselimit2:SpringConstraint; private var splitlimit:SpringConstraint; private var LeftShoulder:Boolean; public var fighterName:String; public var leftElbowPic:joint; private var LeftHip:Boolean; private var RightHip:Boolean; private var leftarm:armComposite; private var leftarmconnector:SpringConstraint; private var riselimit3:SpringConstraint; public var playHeavyPunch:Boolean; public var mytype:Number; static const RIGHT_ELBOW_PRESS:int = 5; static const RIGHT_SHOLDER_PRESS:int = 7; static const RIGHT_KNEE_PRESS:int = 3; static const LEFT_SHOLDER_PRESS:int = 6; static const LEFT_ELBOW_PRESS:int = 4; static const RIGHT_HIP_PRESS:int = 1; static const LEFT_HIP_PRESS:int = 0; static const LEFT_KNEE_PRESS:int = 2; public function fighter(_arg1:Vector, _arg2:Number=1){ executeJointActionBool = false; jointPress = new Array(); jointPress[LEFT_HIP_PRESS] = 0; jointPress[RIGHT_HIP_PRESS] = 0; jointPress[LEFT_KNEE_PRESS] = 0; jointPress[RIGHT_KNEE_PRESS] = 0; jointPress[LEFT_ELBOW_PRESS] = 0; jointPress[RIGHT_ELBOW_PRESS] = 0; jointPress[LEFT_SHOLDER_PRESS] = 0; jointPress[RIGHT_SHOLDER_PRESS] = 0; RightHip = false; LeftHip = false; RightKnee = true; LeftKnee = true; RightShoulder = false; LeftShoulder = false; RightElbow = true; LeftElbow = true; this.posVec = _arg1; body = new bodyComposite(posVec, _arg2); addComposite(body); rightarm = new armComposite(body.rightshouldernode.position, "right", _arg2); addComposite(rightarm); rightarmconnector = new SpringConstraint(body.rightshouldernode, rightarm.shoulder, 1); rightarmsupport = new SpringConstraint(body.lefthipnode, rightarm.elbownode, 0.15); rightelbowconnector = new SpringConstraint(body.righthipnode, rightarm.shoulderconstraintnode, 0.5); rightarmconnector.visible = false; rightarmsupport.visible = false; rightelbowconnector.visible = false; addConstraint(rightarmconnector); addConstraint(rightarmsupport); addConstraint(rightelbowconnector); leftarm = new armComposite(body.leftshouldernode.position, "left", _arg2); addComposite(leftarm); leftarmconnector = new SpringConstraint(body.leftshouldernode, leftarm.shoulder, 1); leftarmsupport = new SpringConstraint(body.righthipnode, leftarm.elbownode, 0.15); leftelbowconnector = new SpringConstraint(body.lefthipnode, leftarm.shoulderconstraintnode, 0.5); leftarmconnector.visible = false; leftarmsupport.visible = false; leftelbowconnector.visible = false; addConstraint(leftarmconnector); addConstraint(leftarmsupport); addConstraint(leftelbowconnector); rightleg = new legComposite(body.righthipnode.position, "right", _arg2); addComposite(rightleg); rightlegconnector = new SpringConstraint(body.righthipnode, rightleg.hip, 1.5); rightlimit = new SpringConstraint(body.leftshouldernode, rightleg.kneenode, 0.5); rightkneelimit = new SpringConstraint(body.leftshouldernode, rightleg.ankle, 0.2); rightthighconnector = new SpringConstraint(body.rightshouldernode, rightleg.thighConstraintNode, 0.5); rightlegconnector.visible = false; rightlimit.visible = false; rightkneelimit.visible = false; rightthighconnector.visible = false; addConstraint(rightlegconnector); addConstraint(rightlimit); addConstraint(rightkneelimit); addConstraint(rightthighconnector); leftleg = new legComposite(body.lefthipnode.position, "left", _arg2); addComposite(leftleg); leftlegconnector = new SpringConstraint(body.lefthipnode, leftleg.hip, 1.5); leftlimit = new SpringConstraint(body.rightshouldernode, leftleg.kneenode, 0.5); leftkneelimit = new SpringConstraint(body.rightshouldernode, leftleg.ankle, 0.2); leftthighconnector = new SpringConstraint(body.leftshouldernode, leftleg.thighConstraintNode, 0.5); leftlegconnector.visible = false; leftlimit.visible = false; leftkneelimit.visible = false; leftthighconnector.visible = false; addConstraint(leftlegconnector); addConstraint(leftlimit); addConstraint(leftkneelimit); addConstraint(leftthighconnector); riselimit = new SpringConstraint(leftarm.shoulder, rightarm.shoulder, 2); riselimitleft = new SpringConstraint(leftarm.elbownode, body.lefthipnode, 0.09); riselimitright = new SpringConstraint(rightarm.elbownode, body.righthipnode, 0.09); riselimit2 = new SpringConstraint(leftarm.fist, rightarm.fist, 0.015); riselimit3 = new SpringConstraint(leftarm.shoulder, rightarm.shoulder, 1); riselimit.visible = false; riselimitleft.visible = false; riselimitright.visible = false; riselimit2.visible = false; riselimit3.visible = false; addConstraint(riselimit); addConstraint(riselimitleft); addConstraint(riselimitright); splitlimit = new SpringConstraint(leftleg.kneenode, rightleg.kneenode, 0.05); splitlimit2 = new SpringConstraint(leftleg.ankle, rightleg.ankle, 0.015); splitlimit.visible = false; splitlimit2.visible = false; createHead(_arg2); this.mytype = _arg2; placeJoints(); score = 0; scoreDisplay = new textr(""); scoreDisplay.y = 20; switch (_arg2){ case 1: fighterName = "Tori"; scoreDisplay.align = "left"; scoreDisplay.color = 0xFF0000; scoreDisplay.x = 70; break; case 2: fighterName = "Uke"; scoreDisplay.align = "right"; scoreDisplay.color = 0xFF; scoreDisplay.x = (gameworld.getStage().stageWidth - 130); scoreDisplay.x = (750 - 70); break; }; scoreDisplay.str = ((fighterName + "\n") + score); gameworld.baseLayer.addChild(scoreDisplay); scoreDisplay.visible = false; headBroken = false; playHeavyPunch = false; playLightPunch = false; bonebreak = new bonebreakSound(); lightpunch = new lightpunchSound(); heavypunch = new heavypunchSound(); } public function contractLeftShoulder(){ LeftShoulder = false; leftShoulderPic.marker.visible = false; leftShoulderPic.selector.arrowCCW.visible = false; leftShoulderPic.selector.arrowCW.visible = true; if (jointPress[LEFT_SHOLDER_PRESS] > -1){ var _local1 = jointPress; var _local2 = LEFT_SHOLDER_PRESS; var _local3 = (_local1[_local2] - 1); _local1[_local2] = _local3; }; } public function extendLeftShoulder(){ LeftShoulder = true; leftShoulderPic.marker.visible = true; leftShoulderPic.selector.arrowCW.visible = false; leftShoulderPic.selector.arrowCCW.visible = true; if (jointPress[LEFT_SHOLDER_PRESS] < 1){ var _local1 = jointPress; var _local2 = LEFT_SHOLDER_PRESS; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; }; } public function contractRightHip(){ RightHip = false; rightHipPic.marker.visible = false; rightHipPic.selector.arrowCW.visible = false; rightHipPic.selector.arrowCCW.visible = true; if (jointPress[RIGHT_HIP_PRESS] > -1){ var _local1 = jointPress; var _local2 = RIGHT_HIP_PRESS; var _local3 = (_local1[_local2] - 1); _local1[_local2] = _local3; }; } public function mouseover(_arg1:Number, _arg2:Number):void{ if (gameworld.game.getState() == gameworld.PLAYSTATE){ gameworld.game.addGuideLines("Hit Space when ready with move"); }; if (gameworld.game.getState() == gameworld.ONLINESTATE){ gameworld.game.addGuideLines("Press space to upload move"); }; if (rightHipPic.hitTestPoint(_arg1, _arg2, true)){ rightHipPic.selector.visible = true; if (RightHip){ gameworld.game.addGuideLines("Extending Right Hip "); } else { gameworld.game.addGuideLines("Contracting Right Hip "); }; } else { rightHipPic.selector.visible = false; }; if (rightKneePic.hitTestPoint(_arg1, _arg2, true)){ rightKneePic.selector.visible = true; if (RightKnee){ gameworld.game.addGuideLines("Extending Right Knee "); } else { gameworld.game.addGuideLines("Contracting Right Knee "); }; } else { rightKneePic.selector.visible = false; }; if (leftHipPic.hitTestPoint(_arg1, _arg2, true)){ leftHipPic.selector.visible = true; if (LeftHip){ gameworld.game.addGuideLines("Extending Left Hip "); } else { gameworld.game.addGuideLines("Contracting Left Hip "); }; } else { leftHipPic.selector.visible = false; }; if (leftKneePic.hitTestPoint(_arg1, _arg2, true)){ leftKneePic.selector.visible = true; if (LeftKnee){ gameworld.game.addGuideLines("Extending Left Knee "); } else { gameworld.game.addGuideLines("Contracting Left Knee "); }; } else { leftKneePic.selector.visible = false; }; if (rightShoulderPic.hitTestPoint(_arg1, _arg2, true)){ rightShoulderPic.selector.visible = true; if (RightShoulder){ gameworld.game.addGuideLines("Extending Right Shoulder "); } else { gameworld.game.addGuideLines("Contracting Right Shoulder "); }; } else { rightShoulderPic.selector.visible = false; }; if (rightElbowPic.hitTestPoint(_arg1, _arg2, true)){ rightElbowPic.selector.visible = true; if (RightElbow){ gameworld.game.addGuideLines("Extending Right Elbow"); } else { gameworld.game.addGuideLines("Contracting Right Elbow"); }; } else { rightElbowPic.selector.visible = false; }; if (leftShoulderPic.hitTestPoint(_arg1, _arg2, true)){ leftShoulderPic.selector.visible = true; if (LeftShoulder){ gameworld.game.addGuideLines("Extending Left Shoulder"); } else { gameworld.game.addGuideLines("Contracting Left Shoulder"); }; } else { leftShoulderPic.selector.visible = false; }; if (leftElbowPic.hitTestPoint(_arg1, _arg2, true)){ leftElbowPic.selector.visible = true; if (LeftElbow){ gameworld.game.addGuideLines("Extending Left Elbow"); } else { gameworld.game.addGuideLines("Contracting Left Elbow"); }; } else { leftElbowPic.selector.visible = false; }; } public function extendLeftElbow(){ LeftElbow = true; leftElbowPic.marker.visible = false; leftElbowPic.selector.arrowCCW.visible = false; leftElbowPic.selector.arrowCW.visible = true; if (jointPress[LEFT_ELBOW_PRESS] < 1){ var _local1 = jointPress; var _local2 = LEFT_ELBOW_PRESS; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; }; } public function contractLeftElbow(){ LeftElbow = false; leftElbowPic.marker.visible = true; leftElbowPic.selector.arrowCW.visible = false; leftElbowPic.selector.arrowCCW.visible = true; if (jointPress[LEFT_ELBOW_PRESS] > -1){ var _local1 = jointPress; var _local2 = LEFT_ELBOW_PRESS; var _local3 = (_local1[_local2] - 1); _local1[_local2] = _local3; }; } private function calculateScore():void{ var _local1:AbstractParticle; var _local2:AbstractParticle; var _local3:AbstractParticle; var _local4:AbstractParticle; var _local5:Number; var _local6:Number; var _local7:Boolean; var _local8:int; var _local9:Vector; var _local10:*; var _local11:fighter; var _local12:Boolean; var _local13:Boolean; _local7 = false; _local8 = 0; while (_local8 < CollisionDetector.collisionPairs.length) { _local1 = CollisionDetector.collisionPairs[_local8].obj1; _local2 = CollisionDetector.collisionPairs[_local8].obj2; if ((((_local1.instanceName == "Floor")) || ((_local2.instanceName == "Floor")))){ } else { if (_local1.instanceName.charAt(0) == this.mytype.toString()){ _local3 = _local1; _local4 = _local2; } else { _local3 = _local2; _local4 = _local1; }; if (_local3.velocity.magnitude() < 1.5){ } else { if (_local3.velocity.magnitude() > 5){ _local7 = true; gameworld.game.camShake.play(); }; _local9 = _local3.center.minus(_local4.center); _local10 = _local9.plus(_local3.velocity); if (_local10.magnitude() > _local9.magnitude()){ if (_local7){ heavypunch.play(); }; } else { _local5 = parseInt(_local4.instanceName.charAt(0)); if (gameworld.game.player.mytype == _local5){ _local11 = gameworld.game.player; } else { _local11 = gameworld.game.villian; }; _local6 = 4; if ((((_local3.instanceName == (mytype + "leftFist"))) || ((_local3.instanceName == (mytype + "rightFist"))))){ _local6 = 2.7; }; _local12 = (_local3.velocity.magnitude() > _local6); if (_local3.velocity.magnitude() > 1.5){ if (_local4.instanceName == (_local5 + "rightHip")){ _local11.rightHipPic.injured.gotoAndPlay(1); if (_local12){ _local13 = _local11.breakRightLeg(); this.score = (this.score + 2000); gameworld.game.camShake.play(); }; } else { if (_local4.instanceName == (_local5 + "leftHip")){ _local11.leftHipPic.injured.gotoAndPlay(1); if (_local12){ _local13 = _local11.breakLeftLeg(); this.score = (this.score + 2000); gameworld.game.camShake.play(); }; } else { if (_local4.instanceName == (_local5 + "rightKnee")){ _local11.rightKneePic.injured.gotoAndPlay(1); if (_local12){ _local13 = _local11.breakRightKnee(); this.score = (this.score + 2000); gameworld.game.camShake.play(); }; } else { if (_local4.instanceName == (_local5 + "leftKnee")){ _local11.leftKneePic.injured.gotoAndPlay(1); if (_local12){ _local13 = _local11.breakLeftKnee(); this.score = (this.score + 2000); gameworld.game.camShake.play(); }; } else { if (_local4.instanceName == (_local5 + "rightElbow")){ _local11.rightElbowPic.injured.gotoAndPlay(1); if (_local12){ _local13 = _local11.breakRightElbow(); this.score = (this.score + 2000); gameworld.game.camShake.play(); }; } else { if (_local4.instanceName == (_local5 + "leftElbow")){ _local11.leftElbowPic.injured.gotoAndPlay(1); if (_local12){ _local13 = _local11.breakLeftElbow(); this.score = (this.score + 2000); gameworld.game.camShake.play(); }; } else { if (_local4.instanceName == (_local5 + "rightShoulder")){ _local11.rightShoulderPic.injured.gotoAndPlay(1); if (_local12){ _local13 = _local11.breakRightArm(); this.score = (this.score + 2000); gameworld.game.camShake.play(); }; } else { if (_local4.instanceName == (_local5 + "leftShoulder")){ _local11.leftShoulderPic.injured.gotoAndPlay(1); if (_local12){ _local13 = _local11.breakLeftArm(); this.score = (this.score + 2000); gameworld.game.camShake.play(); }; } else { if (_local4.instanceName == (_local5 + "head")){ _local11.headpicture.injured.gotoAndPlay(1); if (_local12){ _local13 = _local11.breakHead(); this.score = (this.score + 5000); gameworld.game.camShake.play(); }; } else { if (_local4.instanceName == (_local5 + "rightArm")){ _local11.rightarm.armPicture.injured.gotoAndPlay(2); } else { if (_local4.instanceName == (_local5 + "leftArm")){ _local11.leftarm.armPicture.injured.gotoAndPlay(2); } else { if (_local4.instanceName == (_local5 + "rightForeArm")){ _local11.rightarm.forearmpic.injured.gotoAndPlay(2); } else { if (_local4.instanceName == (_local5 + "leftForeArm")){ _local11.leftarm.forearmpic.injured.gotoAndPlay(2); } else { if (_local4.instanceName == (_local5 + "rightThigh")){ _local11.rightleg.thighPicture.injured.gotoAndPlay(2); } else { if (_local4.instanceName == (_local5 + "leftThigh")){ _local11.leftleg.thighPicture.injured.gotoAndPlay(2); } else { if (_local4.instanceName == (_local5 + "rightLeg")){ _local11.rightleg.legPicture.injured.gotoAndPlay(2); } else { if (_local4.instanceName == (_local5 + "leftLeg")){ _local11.leftleg.legPicture.injured.gotoAndPlay(2); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; if (((((!(playHeavyPunch)) && (!(_local12)))) && ((_local3.velocity.magnitude() > 5)))){ playHeavyPunch = true; heavypunch.play(); } else { if (((!(playLightPunch)) && (!(_local12)))){ playLightPunch = true; lightpunch.play(); }; }; this.score = (this.score + (_local3.velocity.magnitude() * 100)); }; }; }; _local8++; }; scoreDisplay.str = ((fighterName + "\n") + score); } public function getScore():Number{ return (score); } private function placeJoints(){ var _local1:Number; _local1 = 3; rightShoulderPic = new joint(); rightShoulderPic.width = ((rightarm.shoulder.radius * 2) + _local1); rightShoulderPic.height = rightShoulderPic.width; rightShoulderPic.instanceName = "rightShoulder"; rightShoulderPic.selector.arrowCW.visible = false; gameworld.baseLayer.addChild(rightShoulderPic); rightElbowPic = new joint(); rightElbowPic.width = ((rightarm.elbow.radius * 2) + (_local1 * 2)); rightElbowPic.height = rightElbowPic.width; rightElbowPic.instanceName = "rightElbow"; rightElbowPic.selector.arrowCW.visible = false; gameworld.baseLayer.addChild(rightElbowPic); leftShoulderPic = new joint(); leftShoulderPic.width = ((leftarm.shoulder.radius * 2) + _local1); leftShoulderPic.height = leftShoulderPic.width; leftShoulderPic.instanceName = "leftShoulder"; leftShoulderPic.selector.arrowCCW.visible = false; gameworld.baseLayer.addChild(leftShoulderPic); leftElbowPic = new joint(); leftElbowPic.width = ((leftarm.elbow.radius * 2) + (_local1 * 2)); leftElbowPic.height = leftElbowPic.width; leftElbowPic.instanceName = "leftElbow"; leftElbowPic.selector.arrowCCW.visible = false; gameworld.baseLayer.addChild(leftElbowPic); rightHipPic = new joint(); rightHipPic.width = ((rightleg.hip.radius * 2) + _local1); rightHipPic.height = rightHipPic.width; rightHipPic.instanceName = "rightHipPic"; rightHipPic.selector.arrowCW.visible = false; gameworld.baseLayer.addChild(rightHipPic); rightKneePic = new joint(); rightKneePic.width = ((rightleg.knee.radius * 2) + (_local1 * 2)); rightKneePic.height = rightKneePic.width; rightKneePic.instanceName = "rightKnee"; rightKneePic.selector.arrowCCW.visible = false; gameworld.baseLayer.addChild(rightKneePic); leftHipPic = new joint(); leftHipPic.width = ((leftleg.hip.radius * 2) + _local1); leftHipPic.height = leftHipPic.width; leftHipPic.instanceName = "leftHip"; leftHipPic.selector.arrowCCW.visible = false; gameworld.baseLayer.addChild(leftHipPic); leftKneePic = new joint(); leftKneePic.width = ((leftleg.knee.radius * 2) + (_local1 * 2)); leftKneePic.height = leftKneePic.width; leftKneePic.instanceName = "leftKnee"; leftKneePic.selector.arrowCW.visible = false; gameworld.baseLayer.addChild(leftKneePic); rightHipPic.gotoAndStop(mytype); leftHipPic.gotoAndStop(mytype); rightKneePic.gotoAndStop(mytype); leftKneePic.gotoAndStop(mytype); rightShoulderPic.gotoAndStop(mytype); leftShoulderPic.gotoAndStop(mytype); rightElbowPic.gotoAndStop(mytype); leftElbowPic.gotoAndStop(mytype); } public function breakLeftKnee():Boolean{ leftleg.kneeEmitter.startSpray(); leftleg.kneeEmitter.emitterLife = 200; leftleg.kneeNodeEmitter.startSpray(); leftleg.kneeNodeEmitter.emitterLife = 200; leftleg.removeConstraint(leftleg.kneeconnector); leftleg.removeConstraint(leftleg.kneebendConstraint); leftleg.removeConstraint(leftleg.kneebendConstraint2); leftleg.removeConstraint(leftleg.kneeConstraint1); leftleg.removeConstraint(leftleg.kneeConstraint2); this.removeConstraint(leftkneelimit); this.removeConstraint(splitlimit2); if (!leftleg.kneeBroken){ bonebreak.play(); leftleg.kneeBroken = true; return (true); }; return (false); } public function extendRightHip(){ RightHip = true; rightHipPic.marker.visible = true; rightHipPic.selector.arrowCCW.visible = false; rightHipPic.selector.arrowCW.visible = true; if (jointPress[RIGHT_HIP_PRESS] < 1){ var _local1 = jointPress; var _local2 = RIGHT_HIP_PRESS; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; }; } public function contractLeftKnee(){ LeftKnee = false; leftKneePic.marker.visible = true; leftKneePic.selector.arrowCCW.visible = false; leftKneePic.selector.arrowCW.visible = true; if (jointPress[LEFT_KNEE_PRESS] > -1){ var _local1 = jointPress; var _local2 = LEFT_KNEE_PRESS; var _local3 = (_local1[_local2] - 1); _local1[_local2] = _local3; }; } public function mouseAction(_arg1:Number, _arg2:Number):void{ if (rightHipPic.hitTestPoint(_arg1, _arg2, true)){ if (RightHip){ contractRightHip(); gameworld.game.addGuideLines("Contracting Right Hip "); } else { extendRightHip(); gameworld.game.addGuideLines("Extending Right Hip "); }; }; if (rightKneePic.hitTestPoint(_arg1, _arg2, true)){ if (RightKnee){ contractRightKnee(); gameworld.game.addGuideLines("Contracting Right Knee "); } else { extendRightKnee(); gameworld.game.addGuideLines("Extending Right Knee "); }; }; if (leftHipPic.hitTestPoint(_arg1, _arg2, true)){ if (LeftHip){ contractLeftHip(); gameworld.game.addGuideLines("Contracting Left Hip "); } else { extendLeftHip(); gameworld.game.addGuideLines("Extending Left Hip "); }; }; if (leftKneePic.hitTestPoint(_arg1, _arg2, true)){ if (LeftKnee){ contractLeftKnee(); gameworld.game.addGuideLines("Contracting Left Knee "); } else { extendLeftKnee(); gameworld.game.addGuideLines("Extending Left Knee "); }; }; if (rightShoulderPic.hitTestPoint(_arg1, _arg2, true)){ if (RightShoulder){ contractRightShoulder(); gameworld.game.addGuideLines("Contracting Right Shoulder "); } else { extendRightShoulder(); gameworld.game.addGuideLines("Extending Right Shoulder "); }; }; if (rightElbowPic.hitTestPoint(_arg1, _arg2, true)){ if (RightElbow){ contractRightElbow(); gameworld.game.addGuideLines("Contracting Right Elbow "); } else { extendRightElbow(); gameworld.game.addGuideLines("Extending Right Elbow "); }; }; if (leftShoulderPic.hitTestPoint(_arg1, _arg2, true)){ if (LeftShoulder){ contractLeftShoulder(); gameworld.game.addGuideLines("Contracting Left Shoulder "); } else { extendLeftShoulder(); gameworld.game.addGuideLines("Extending Left Shoulder "); }; }; if (leftElbowPic.hitTestPoint(_arg1, _arg2, true)){ if (LeftElbow){ contractLeftElbow(); gameworld.game.addGuideLines("Contracting Left Elbow "); } else { extendLeftElbow(); gameworld.game.addGuideLines("Extending Left Elbow "); }; }; } public function clean():void{ gameworld.baseLayer.removeChild(rightHipPic); gameworld.baseLayer.removeChild(rightKneePic); gameworld.baseLayer.removeChild(leftHipPic); gameworld.baseLayer.removeChild(leftKneePic); gameworld.baseLayer.removeChild(rightShoulderPic); gameworld.baseLayer.removeChild(rightElbowPic); gameworld.baseLayer.removeChild(leftShoulderPic); gameworld.baseLayer.removeChild(leftElbowPic); gameworld.baseLayer.removeChild(scoreDisplay); body.clean(); rightleg.clean(); leftleg.clean(); leftarm.clean(); rightarm.clean(); headEmitter.clean(); if (mytype == 1){ headpicture.removeEventListener(Event.ENTER_FRAME, headpicture.runplayer); } else { if (mytype == 2){ headpicture.removeEventListener(Event.ENTER_FRAME, headpicture.runvillian); }; }; } public function extendLeftKnee(){ LeftKnee = true; leftKneePic.marker.visible = false; leftKneePic.selector.arrowCW.visible = false; leftKneePic.selector.arrowCCW.visible = true; if (jointPress[LEFT_KNEE_PRESS] < 1){ var _local1 = jointPress; var _local2 = LEFT_KNEE_PRESS; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; }; } public function setJoinArray(_arg1:Array):void{ var _local2:Number; RightHip = false; LeftHip = false; RightKnee = false; LeftKnee = false; RightShoulder = false; LeftShoulder = false; RightElbow = false; LeftElbow = false; _local2 = 0; while (_local2 < _arg1.length) { if (_arg1[_local2] == 0){ RightHip = true; }; if (_arg1[_local2] == 1){ LeftHip = true; }; if (_arg1[_local2] == 2){ RightKnee = true; }; if (_arg1[_local2] == 3){ LeftKnee = true; }; if (_arg1[_local2] == 4){ RightShoulder = true; }; if (_arg1[_local2] == 5){ LeftShoulder = true; }; if (_arg1[_local2] == 6){ RightElbow = true; }; if (_arg1[_local2] == 7){ LeftElbow = true; }; _local2++; }; if (RightHip){ contractRightHip(); } else { extendRightHip(); }; if (LeftHip){ contractLeftHip(); } else { extendLeftHip(); }; if (RightKnee){ contractRightKnee(); } else { extendRightKnee(); }; if (LeftKnee){ contractLeftKnee(); } else { extendLeftKnee(); }; if (RightShoulder){ contractRightShoulder(); } else { extendRightShoulder(); }; if (LeftShoulder){ contractLeftShoulder(); } else { extendLeftShoulder(); }; if (RightElbow){ contractRightElbow(); } else { extendRightElbow(); }; if (LeftElbow){ contractLeftElbow(); } else { extendLeftElbow(); }; } public function breakRightKnee():Boolean{ rightleg.kneeEmitter.startSpray(); rightleg.kneeEmitter.emitterLife = 200; rightleg.kneeNodeEmitter.startSpray(); rightleg.kneeNodeEmitter.emitterLife = 200; rightleg.removeConstraint(rightleg.kneeconnector); rightleg.removeConstraint(rightleg.kneebendConstraint); rightleg.removeConstraint(rightleg.kneebendConstraint2); rightleg.removeConstraint(rightleg.kneeConstraint1); rightleg.removeConstraint(rightleg.kneeConstraint2); this.removeConstraint(rightkneelimit); this.removeConstraint(splitlimit2); if (!rightleg.kneeBroken){ bonebreak.play(); rightleg.kneeBroken = true; return (true); }; return (false); } public function breakRightElbow():Boolean{ rightarm.elbowEmitter.startSpray(); rightarm.elbowEmitter.emitterLife = 200; rightarm.elbowNodeEmitter.startSpray(); rightarm.elbowNodeEmitter.emitterLife = 200; rightarm.removeConstraint(rightarm.elbowconnector); rightarm.removeConstraint(rightarm.elbowbendconstraint); rightarm.removeConstraint(rightarm.elbowbendconstraint2); this.removeConstraint(riselimitright); this.removeConstraint(riselimit2); if (!rightarm.elbowBroken){ bonebreak.play(); rightarm.elbowBroken = true; return (true); }; return (false); } public function runInterval():void{ headEmitter.updateConditions(head.position.x, head.position.y, headpicture.angle); body.run(); rightleg.run(); leftleg.run(); rightarm.run(); leftarm.run(); calculateScore(); } public function resetSounds(){ playHeavyPunch = false; playLightPunch = false; } public function breakRightLeg():Boolean{ rightleg.hipEmitter.startSpray(); rightleg.hipEmitter.emitterLife = 200; this.removeConstraint(rightlegconnector); this.removeConstraint(rightthighconnector); this.removeConstraint(rightlimit); this.removeConstraint(rightkneelimit); this.removeConstraint(splitlimit); this.removeConstraint(splitlimit2); if (!rightleg.hipBroken){ bonebreak.play(); rightleg.hipBroken = true; return (true); }; return (false); } public function resetJointAction(){ var _local1:int; executeJointActionBool = false; _local1 = 0; while (_local1 < jointPress.length) { jointPress[_local1] = 0; _local1++; }; } public function contractLeftHip(){ LeftHip = false; leftHipPic.marker.visible = false; leftHipPic.selector.arrowCCW.visible = false; leftHipPic.selector.arrowCW.visible = true; if (jointPress[LEFT_HIP_PRESS] > -1){ var _local1 = jointPress; var _local2 = LEFT_HIP_PRESS; var _local3 = (_local1[_local2] - 1); _local1[_local2] = _local3; }; } public function run(){ if (((((((((!(LeftHip)) && (!(RightHip)))) && (LeftKnee))) && (RightKnee))) && ((splitlimit.currLength < 150)))){ splitlimit.stiffness = 1; }; if (((((!(LeftShoulder)) && (!(RightShoulder)))) && ((riselimit.currLength < 100)))){ riselimit.stiffness = 1; } else { riselimit.stiffness = 0.025; }; if (LeftShoulder){ riselimitleft.restLength = 500; } else { riselimitleft.restLength = 61; }; if (RightShoulder){ riselimitright.restLength = 500; } else { riselimitright.restLength = 61; }; rightHipPic.x = rightleg.hip.position.x; rightHipPic.y = rightleg.hip.position.y; rightKneePic.x = rightleg.knee.position.x; rightKneePic.y = rightleg.knee.position.y; leftHipPic.x = leftleg.hip.position.x; leftHipPic.y = leftleg.hip.position.y; leftKneePic.x = leftleg.knee.position.x; leftKneePic.y = leftleg.knee.position.y; rightShoulderPic.x = rightarm.shoulder.position.x; rightShoulderPic.y = rightarm.shoulder.position.y; rightElbowPic.x = rightarm.elbow.position.x; rightElbowPic.y = rightarm.elbow.position.y; leftShoulderPic.x = leftarm.shoulder.position.x; leftShoulderPic.y = leftarm.shoulder.position.y; leftElbowPic.x = leftarm.elbow.position.x; leftElbowPic.y = leftarm.elbow.position.y; } public function contractRightKnee(){ RightKnee = false; rightKneePic.marker.visible = true; rightKneePic.selector.arrowCW.visible = false; rightKneePic.selector.arrowCCW.visible = true; if (jointPress[RIGHT_KNEE_PRESS] > -1){ var _local1 = jointPress; var _local2 = RIGHT_KNEE_PRESS; var _local3 = (_local1[_local2] - 1); _local1[_local2] = _local3; }; } public function extendLeftHip(){ LeftHip = true; leftHipPic.marker.visible = true; leftHipPic.selector.arrowCW.visible = false; leftHipPic.selector.arrowCCW.visible = true; if (jointPress[LEFT_HIP_PRESS] < 1){ var _local1 = jointPress; var _local2 = LEFT_HIP_PRESS; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; }; } public function breakHead():Boolean{ headEmitter.startSpray(); headEmitter.emitterLife = 200; body.neckEmitter.startSpray(); body.neckEmitter.emitterLife = 200; this.removeConstraint(neck); this.removeConstraint(necksupportleft); this.removeConstraint(necksupportright); if (!headBroken){ bonebreak.play(); headBroken = true; return (true); }; return (false); } public function executeJointAction(){ var _local1:int; _local1 = 0; while (_local1 < jointPress.length) { if (jointPress[_local1] == 0){ } else { switch (_local1){ case LEFT_HIP_PRESS: if (LeftHip){ leftthighconnector.restLength = 120; } else { leftthighconnector.restLength = 243; }; break; case RIGHT_HIP_PRESS: if (RightHip){ rightthighconnector.restLength = 120; } else { rightthighconnector.restLength = 243; }; break; case LEFT_KNEE_PRESS: if (LeftKnee){ leftleg.kneebendConstraint.restLength = 139; } else { leftleg.kneebendConstraint.restLength = 30; }; break; case RIGHT_KNEE_PRESS: if (RightKnee){ rightleg.kneebendConstraint.restLength = 139; } else { rightleg.kneebendConstraint.restLength = 30; }; break; case LEFT_ELBOW_PRESS: if (LeftElbow){ leftarm.elbowbendconstraint.restLength = 148; } else { leftarm.elbowbendconstraint.restLength = 70; }; break; case RIGHT_ELBOW_PRESS: if (RightElbow){ rightarm.elbowbendconstraint.restLength = 148; } else { rightarm.elbowbendconstraint.restLength = 70; }; break; case LEFT_SHOLDER_PRESS: if (LeftShoulder){ leftelbowconnector.restLength = 160; } else { leftelbowconnector.restLength = 105; }; break; case RIGHT_SHOLDER_PRESS: if (RightShoulder){ rightelbowconnector.restLength = 160; } else { rightelbowconnector.restLength = 105; }; break; }; }; _local1++; }; } public function breakLeftLeg():Boolean{ leftleg.hipEmitter.startSpray(); leftleg.hipEmitter.emitterLife = 200; this.removeConstraint(leftlegconnector); this.removeConstraint(leftthighconnector); this.removeConstraint(leftlimit); this.removeConstraint(leftkneelimit); this.removeConstraint(splitlimit); this.removeConstraint(splitlimit2); if (!leftleg.hipBroken){ bonebreak.play(); leftleg.hipBroken = true; return (true); }; return (false); } public function contractRightElbow(){ RightElbow = false; rightElbowPic.marker.visible = true; rightElbowPic.selector.arrowCCW.visible = false; rightElbowPic.selector.arrowCW.visible = true; if (jointPress[RIGHT_ELBOW_PRESS] > -1){ var _local1 = jointPress; var _local2 = RIGHT_ELBOW_PRESS; var _local3 = (_local1[_local2] - 1); _local1[_local2] = _local3; }; } public function breakLeftElbow():Boolean{ leftarm.elbowEmitter.startSpray(); leftarm.elbowEmitter.emitterLife = 200; leftarm.elbowNodeEmitter.startSpray(); leftarm.elbowNodeEmitter.emitterLife = 200; leftarm.removeConstraint(leftarm.elbowconnector); leftarm.removeConstraint(leftarm.elbowbendconstraint); leftarm.removeConstraint(leftarm.elbowbendconstraint2); this.removeConstraint(riselimitleft); this.removeConstraint(riselimit2); if (!leftarm.elbowBroken){ bonebreak.play(); leftarm.elbowBroken = true; return (true); }; return (false); } public function breakRightArm():Boolean{ rightarm.shoulderEmitter.startSpray(); rightarm.shoulderEmitter.emitterLife = 200; body.rightShoulderEmitter.startSpray(); body.rightShoulderEmitter.emitterLife = 200; this.removeConstraint(rightarmconnector); this.removeConstraint(rightelbowconnector); this.removeConstraint(rightarmsupport); this.removeConstraint(riselimit); this.removeConstraint(riselimitleft); this.removeConstraint(riselimitright); this.removeConstraint(riselimit2); this.removeConstraint(riselimit3); if (!rightarm.shoulderBroken){ bonebreak.play(); rightarm.shoulderBroken = true; return (true); }; return (false); } public function extendRightElbow(){ RightElbow = true; rightElbowPic.marker.visible = false; rightElbowPic.selector.arrowCW.visible = false; rightElbowPic.selector.arrowCCW.visible = true; if (jointPress[RIGHT_ELBOW_PRESS] < 1){ var _local1 = jointPress; var _local2 = RIGHT_ELBOW_PRESS; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; }; } public function getJoinArray():Array{ var _local1:Array; _local1 = new Array(); if (!RightHip){ _local1.push(0); }; if (!LeftHip){ _local1.push(1); }; if (!RightKnee){ _local1.push(2); }; if (!LeftKnee){ _local1.push(3); }; if (!RightShoulder){ _local1.push(4); }; if (!LeftShoulder){ _local1.push(5); }; if (!RightElbow){ _local1.push(6); }; if (!LeftElbow){ _local1.push(7); }; return (_local1); } public function extendRightKnee(){ RightKnee = true; rightKneePic.marker.visible = false; rightKneePic.selector.arrowCCW.visible = false; rightKneePic.selector.arrowCW.visible = true; if (jointPress[RIGHT_KNEE_PRESS] < 1){ var _local1 = jointPress; var _local2 = RIGHT_KNEE_PRESS; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; }; } public function breakLeftArm():Boolean{ leftarm.shoulderEmitter.startSpray(); leftarm.shoulderEmitter.emitterLife = 200; body.leftShoulderEmitter.startSpray(); body.leftShoulderEmitter.emitterLife = 200; this.removeConstraint(leftarmconnector); this.removeConstraint(leftelbowconnector); this.removeConstraint(leftarmsupport); this.removeConstraint(riselimit); this.removeConstraint(riselimitleft); this.removeConstraint(riselimitright); this.removeConstraint(riselimit2); this.removeConstraint(riselimit3); if (!leftarm.shoulderBroken){ bonebreak.play(); leftarm.shoulderBroken = true; return (true); }; return (false); } public function extendRightShoulder(){ RightShoulder = true; rightShoulderPic.marker.visible = true; rightShoulderPic.selector.arrowCCW.visible = false; rightShoulderPic.selector.arrowCW.visible = true; if (jointPress[RIGHT_SHOLDER_PRESS] < 1){ var _local1 = jointPress; var _local2 = RIGHT_SHOLDER_PRESS; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; }; } public function contractRightShoulder(){ RightShoulder = false; rightShoulderPic.marker.visible = false; rightShoulderPic.selector.arrowCW.visible = false; rightShoulderPic.selector.arrowCCW.visible = true; if (jointPress[RIGHT_SHOLDER_PRESS] > -1){ var _local1 = jointPress; var _local2 = RIGHT_SHOLDER_PRESS; var _local3 = (_local1[_local2] - 1); _local1[_local2] = _local3; }; } public function getRotation():Number{ return (body.body.angle); } private function createHead(_arg1:Number){ head = new CircleParticle(posVec.x, ((posVec.y - (body.myheight / 2)) - 30), 30, (_arg1 + "head")); head.friction = 0.5; headpicture = new headimage(); headpicture.gotoAndStop(_arg1); head.setDisplay(headpicture); if (_arg1 == 1){ headpicture.addEventListener(Event.ENTER_FRAME, headpicture.runplayer); } else { headpicture.addEventListener(Event.ENTER_FRAME, headpicture.runvillian); }; addParticle(head); headEmitter = new bloodEmitter(gameworld.baseLayer); headEmitter.updateConditions(head.position.x, head.position.y, headpicture.angle); neck = new SpringConstraint(body.bottomnode, head, 0.5); necksupportleft = new SpringConstraint(body.leftshouldernode, head, 0.5); necksupportright = new SpringConstraint(body.rightshouldernode, head, 0.5); neck.visible = false; necksupportleft.visible = false; necksupportright.visible = false; addConstraint(neck); addConstraint(necksupportleft); addConstraint(necksupportright); } } }//package
Section 33
//floorImage (floorImage) package { import flash.display.*; public dynamic class floorImage extends MovieClip { } }//package
Section 34
//GameCursor (GameCursor) package { import flash.display.*; public dynamic class GameCursor extends MovieClip { public var cursorHitArea:MovieClip; public function GameCursor(){ addFrameScript(0, frame1); } function frame1(){ this.hitArea = cursorHitArea; } } }//package
Section 35
//gameoverSound (gameoverSound) package { import flash.media.*; public dynamic class gameoverSound extends Sound { } }//package
Section 36
//gameworld (gameworld) package { import org.cove.ape.*; import flash.events.*; import flash.display.*; import flash.text.*; import flash.media.*; import flash.ui.*; public class gameworld extends Sprite { public var villian:fighter; private var winnerText:textr; private var online_anim_start:Boolean; private var myMenu:mainmenu; private var sentScore:Boolean; private var timeLimitr:textr; private var urlLoader:MyURLLoader; private var guideLines:textr; private var txfld:TextField; public var timeCounter:Number; private var roundEnd:Boolean; private var sglPlayMvs:Array; public var camShake:cameraShake; private var currentState:Number; private var online_color:Number; private var intervalStart:Boolean; private var tmpsc:score; private var debugTrace:TextField; private var myfloor:Group; public var player:fighter; private var stepIntervalCount:Number; private var sendStrings:String; private var poll_online:Number; private var currentMove:Array; static const FRAME_COUNT = 30; static const COLOR_BLUE = 2; static const MENUSTATE:Number = 1; static const COLOR_NONE = 0; static const COLOR_RED = 1; static const PLAYSTATE:Number = 2; static const ONLINESTATE:Number = 3; public static var baseLayer:Sprite; public static var game:gameworld; private static var mystage; public static var cursor:MovieClip; private static var embeddedFont:Font = null; public function gameworld(){ currentState = MENUSTATE; mystage.frameRate = 60; mystage.scaleMode = StageScaleMode.EXACT_FIT; this.addEventListener(Event.ENTER_FRAME, run); initAPE((1 / 4), new Vector(0, 2)); camShake = new cameraShake(); setupScene(); Mouse.hide(); poll_online = 0; online_anim_start = false; online_color = COLOR_NONE; sendStrings = ""; sentScore = false; sglPlayMvs = new Array(); } private function mousemove(_arg1:MouseEvent):void{ if (currentState == MENUSTATE){ myMenu.mousemove(_arg1.stageX, _arg1.stageY); return; }; cursor.x = _arg1.stageX; cursor.y = _arg1.stageY; } public function getState():Number{ return (currentState); } private function setupScene():void{ mystage.addEventListener(KeyboardEvent.KEY_DOWN, keydown); mystage.addEventListener(MouseEvent.MOUSE_MOVE, mouseover); mystage.addEventListener(MouseEvent.MOUSE_DOWN, mousedown); mystage.addEventListener(MouseEvent.MOUSE_MOVE, mousemove); player = new fighter(new Vector(((750 / 2) - 100), 263), 1); villian = new fighter(new Vector(((750 / 2) + 100), 263), 2); createFloor(); APEngine.addGroup(player); APEngine.addGroup(villian); player.addCollidable(villian); myfloor.addCollidable(player); myfloor.addCollidable(villian); stepIntervalCount = 0; player.run(); villian.run(); timeCounter = 500; timeLimitr = new textr(""); timeLimitr.x = ((750 / 2) - 50); timeLimitr.y = 30; timeLimitr.str = ("" + timeCounter); timeLimitr.scale = 1.2; baseLayer.addChild(timeLimitr); guideLines = new textr(""); guideLines.x = (750 / 2); guideLines.y = 480; guideLines.str = ""; baseLayer.addChild(guideLines); winnerText = new textr(""); winnerText.x = (750 / 2); winnerText.y = ((500 / 2) - 150); baseLayer.addChild(winnerText); cursor = new GameCursor(); cursor.visible = false; baseLayer.addChild(cursor); sglPlayMvs = new Array(); sentScore = false; } public function connectToMultiPlayer():void{ urlLoader = new MyURLLoader(this); } public function addGuideLines(_arg1:String):void{ guideLines.str = _arg1; } public function setState(_arg1:Number):void{ currentState = _arg1; if (urlLoader){ urlLoader.setSinglePlayer(true); if (currentState == ONLINESTATE){ urlLoader.setSinglePlayer(false); }; }; } private function createFloor():void{ var _local1:RectangleParticle; var _local2:RectangleParticle; var _local3:RectangleParticle; this.myfloor = new Group(); _local1 = new RectangleParticle((750 / 2), 520, 750, 100, "Floor", 0, true); _local2 = new RectangleParticle(0, (500 / 2), 50, 1000, "Floor", 0, true); _local3 = new RectangleParticle(750, (500 / 2), 50, 1000, "Floor", 0, true); _local1.setDisplay(new floorImage()); _local2.setStyle(1.5, 0, 1, 0xEAEAEA); _local3.setStyle(1.5, 0, 1, 0xEAEAEA); _local1.friction = 1; _local2.friction = 1; _local3.friction = 1; myfloor.addParticle(_local2); myfloor.addParticle(_local3); myfloor.addParticle(_local1); APEngine.addGroup(this.myfloor); } private function setupMenu():void{ myMenu = new mainmenu(mystage); baseLayer.addChild(myMenu); } public function getGameID():Number{ if (urlLoader == null){ return (0); }; return (urlLoader.getGameID()); } public function updateConnection():void{ if (urlLoader == null){ return; }; urlLoader.update(); } private function keydown(_arg1:KeyboardEvent):void{ var _local2:String; if (currentState == MENUSTATE){ myMenu.menukeydown(_arg1); return; }; if ((((_arg1.keyCode == 32)) && ((stepIntervalCount == 0)))){ if (currentState == ONLINESTATE){ if ((((urlLoader.getTurn() == 1)) || ((urlLoader.getTurn() == 3)))){ poll_online = 0; _local2 = "move="; if (online_color == COLOR_BLUE){ _local2 = (_local2 + villian.getJoinArray()); sendStrings = _local2; urlLoader.update(_local2); trace(("send: " + _local2)); }; if (online_color == COLOR_RED){ _local2 = (_local2 + player.getJoinArray()); sendStrings = _local2; urlLoader.update(_local2); trace(("send: " + _local2)); }; deselect(); }; } else { if (urlLoader.getReplayID() != 0){ return; }; if (online_color == COLOR_BLUE){ sglPlayMvs.push(villian.getJoinArray()); currentMove = villian.getJoinArray(); }; if (online_color == COLOR_RED){ sglPlayMvs.push(player.getJoinArray()); currentMove = player.getJoinArray(); }; }; }; if (_arg1.keyCode == 27){ currentState = MENUSTATE; setupMenu(); }; } private function run(_arg1:Event):void{ var _local2:Sound; var _local3:Boolean; var _local4:Array; var _local5:String; var _local6:Number; var _local7:String; var _local8:Array; var _local9:Array; var _local10:String; _local3 = false; switch (currentState){ case MENUSTATE: timeLimitr.visible = false; guideLines.visible = false; if (player.scoreDisplay.visible){ player.scoreDisplay.visible = false; villian.scoreDisplay.visible = false; }; cursor.visible = false; myMenu.run(); break; case PLAYSTATE: online_color = COLOR_RED; baseLayer.x = camShake.box.x; baseLayer.y = camShake.box.y; timeLimitr.visible = true; guideLines.visible = true; player.scoreDisplay.visible = true; villian.scoreDisplay.visible = true; cursor.visible = true; player.run(); villian.run(); APEngine.paint(); guideLines.x = (750 / 2); if (((tmpsc) && (urlLoader))){ tmpsc.move_to_top(); parent.setChildIndex(cursor, (parent.numChildren - 1)); if (tmpsc.hasPressedButton()){ if (urlLoader.hasScores()){ _local4 = urlLoader.getScores(); tmpsc.setArray(_local4); } else { if (sentScore == false){ urlLoader.clearScores(); _local5 = ""; _local6 = 0; while (_local6 < sglPlayMvs.length) { if (_local6 != 0){ _local5 = (_local5 + "&"); }; _local5 = (_local5 + ((("m" + _local6) + "=") + sglPlayMvs[_local6])); _local6++; }; _local7 = ((((_local5 + "&score=") + player.getScore()) + "&name=") + tmpsc.getName()); urlLoader.update(_local7); }; sentScore = true; }; }; }; if (((!((stepIntervalCount == 0))) || ((timeCounter <= 0)))){ deselect(); if (!roundEnd){ APEngine.step(); player.runInterval(); villian.runInterval(); guideLines.str = ""; }; if (--timeCounter < 0){ timeCounter = 0; if (!roundEnd){ if (((urlLoader) && ((urlLoader.getReplayID() == 0)))){ tmpsc = new score(); tmpsc.setRoot(this); tmpsc.x = (750 / 2); baseLayer.addChild(tmpsc); urlLoader.clearScores(); }; if (((urlLoader) && (!((urlLoader.getReplayID() == 0))))){ urlLoader = null; }; _local2 = new gameoverSound(); _local2.play(); if (player.score > villian.score){ winnerText.str = (player.fighterName + " Wins!"); } else { if (player.score < villian.score){ winnerText.str = (villian.fighterName + " Wins!"); } else { winnerText.str = "Draw!"; }; }; guideLines.str = "Press ESC to bring up Menu"; winnerText.visible = true; guideLines.visible = true; }; roundEnd = true; }; timeLimitr.str = ("" + timeCounter); timeLimitr.x = ((750 / 2) - 50); if ((((((++stepIntervalCount > FRAME_COUNT)) && ((timeCounter > 0)))) && (!(roundEnd)))){ stepIntervalCount = 0; mystage.addEventListener(MouseEvent.MOUSE_MOVE, mouseover); mystage.addEventListener(MouseEvent.MOUSE_DOWN, mousedown); player.resetSounds(); villian.resetSounds(); player.resetJointAction(); villian.resetJointAction(); online_anim_start = false; }; }; if (((urlLoader) && (!((urlLoader.getReplayID() == 0))))){ if (online_anim_start == false){ sendStrings = ""; _local8 = urlLoader.getMoveArray(urlLoader.getMoveNumber()); trace(((("move " + urlLoader.getMoveNumber()) + " ") + _local8)); if (_local8 != null){ currentMove = _local8; urlLoader.addMoveNumber(); online_anim_start = true; } else { urlLoader.update(); return; }; }; }; if (currentMove != null){ if (online_color == COLOR_BLUE){ villian.setJoinArray(currentMove); villian.executeJointAction(); villian.executeJointActionBool = true; }; if (online_color == COLOR_RED){ player.setJoinArray(currentMove); player.executeJointAction(); player.executeJointActionBool = true; }; stepIntervalCount++; mystage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseover); mystage.removeEventListener(MouseEvent.MOUSE_DOWN, mousedown); currentMove = null; deselect(); }; break; case ONLINESTATE: if (!urlLoader){ break; }; if ((((urlLoader.getTurn() == 1)) || ((urlLoader.getTurn() == 2)))){ online_color = COLOR_BLUE; }; if ((((urlLoader.getTurn() == 3)) || ((urlLoader.getTurn() == 4)))){ online_color = COLOR_RED; }; if ((((urlLoader.getMoveNumber() == urlLoader.movesLength())) || ((urlLoader.movesLength() == 0)))){ if ((((((urlLoader.getTurn() == 2)) || ((urlLoader.getTurn() == 4)))) || ((urlLoader.movesLength() == 0)))){ poll_online++; if ((((((poll_online > 120)) && (urlLoader.getUpdated()))) || ((poll_online > 1200)))){ if (sendStrings == ""){ urlLoader.update(); } else { urlLoader.update(sendStrings); }; poll_online = 0; }; }; }; runOnlineEvents(); baseLayer.x = camShake.box.x; baseLayer.y = camShake.box.y; timeLimitr.visible = true; guideLines.visible = true; player.scoreDisplay.visible = true; villian.scoreDisplay.visible = true; cursor.visible = true; player.run(); villian.run(); APEngine.paint(); guideLines.x = (750 / 2); if (urlLoader.getTurn() == 0){ winnerText.str = " Replay "; }; if (tmpsc){ tmpsc.move_to_top(); parent.setChildIndex(cursor, (parent.numChildren - 1)); if (tmpsc.hasPressedButton()){ if (urlLoader.hasScores()){ _local9 = urlLoader.getScores(); tmpsc.setArray(_local9); } else { if (online_color == COLOR_BLUE){ _local10 = ((("p1s=" + villian.getScore()) + "&name=") + tmpsc.getName()); urlLoader.update(_local10); }; if (online_color == COLOR_RED){ _local10 = ((("p2s=" + player.getScore()) + "&name=") + tmpsc.getName()); urlLoader.update(_local10); }; }; }; return; }; if (((!((stepIntervalCount == 0))) || ((timeCounter <= 0)))){ deselect(); APEngine.step(); player.runInterval(); villian.runInterval(); if (!roundEnd){ guideLines.str = ""; }; if (--timeCounter < 0){ timeCounter = 0; if (!roundEnd){ _local2 = new gameoverSound(); _local2.play(); if (player.score > villian.score){ winnerText.str = (player.fighterName + " Wins!"); } else { if (player.score < villian.score){ winnerText.str = (villian.fighterName + " Wins!"); } else { winnerText.str = "Draw!"; }; }; guideLines.str = "Press ESC to bring up Menu"; guideLines.visible = true; winnerText.visible = true; if (urlLoader.getTurn() != 0){ tmpsc = new score(); tmpsc.setRoot(this); tmpsc.x = (750 / 2); baseLayer.addChild(tmpsc); }; }; roundEnd = true; }; timeLimitr.str = ("" + timeCounter); timeLimitr.x = ((750 / 2) - 50); if ((((++stepIntervalCount > FRAME_COUNT)) && ((timeCounter > 0)))){ stepIntervalCount = 0; mystage.addEventListener(MouseEvent.MOUSE_MOVE, mouseover); mystage.addEventListener(MouseEvent.MOUSE_DOWN, mousedown); player.resetSounds(); villian.resetSounds(); player.resetJointAction(); villian.resetJointAction(); online_anim_start = false; deselect(); }; }; break; }; } public function runOnlineEvents():void{ var _local1:Array; if (urlLoader.getMoveNumber() < urlLoader.movesLength()){ if (online_anim_start == false){ sendStrings = ""; online_anim_start = true; _local1 = urlLoader.getMoveArray(urlLoader.getMoveNumber()); if ((urlLoader.getMoveNumber() % 2) == 0){ trace(("set player: " + _local1)); player.setJoinArray(_local1); stepIntervalCount++; player.executeJointAction(); player.executeJointActionBool = true; deselect(); } else { trace(("set villian: " + _local1)); villian.setJoinArray(_local1); stepIntervalCount++; villian.executeJointAction(); villian.executeJointActionBool = true; deselect(); }; urlLoader.addMoveNumber(); }; }; } private function deselect():void{ player.rightHipPic.selector.visible = false; player.leftHipPic.selector.visible = false; player.rightKneePic.selector.visible = false; player.leftKneePic.selector.visible = false; player.rightShoulderPic.selector.visible = false; player.leftShoulderPic.selector.visible = false; player.rightElbowPic.selector.visible = false; player.leftElbowPic.selector.visible = false; villian.rightHipPic.selector.visible = false; villian.leftHipPic.selector.visible = false; villian.rightKneePic.selector.visible = false; villian.leftKneePic.selector.visible = false; villian.rightShoulderPic.selector.visible = false; villian.leftShoulderPic.selector.visible = false; villian.rightElbowPic.selector.visible = false; villian.leftElbowPic.selector.visible = false; } public function hasUpdated():Boolean{ if (urlLoader == null){ return (false); }; return (urlLoader.getUpdated()); } public function resetworld():void{ mystage.removeEventListener(KeyboardEvent.KEY_DOWN, keydown); mystage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseover); mystage.removeEventListener(MouseEvent.MOUSE_DOWN, mousedown); mystage.removeEventListener(MouseEvent.MOUSE_MOVE, mousemove); player.clean(); villian.clean(); if (timeLimitr){ baseLayer.removeChild(timeLimitr); }; if (guideLines){ baseLayer.removeChild(guideLines); }; if (winnerText){ baseLayer.removeChild(winnerText); }; if (tmpsc){ baseLayer.removeChild(tmpsc); }; APEngine.removeGroup(player); APEngine.removeGroup(villian); APEngine.removeGroup(myfloor); setupScene(); tmpsc = null; roundEnd = false; sentScore = false; } private function mousedown(_arg1:MouseEvent):void{ if (currentState == MENUSTATE){ return; }; if (urlLoader.getReplayID() != 0){ return; }; if ((((currentState == ONLINESTATE)) && ((((((urlLoader.getTurn() == 0)) || ((urlLoader.getTurn() == 2)))) || ((urlLoader.getTurn() == 4)))))){ return; }; if (online_color == COLOR_BLUE){ villian.mouseAction(_arg1.stageX, _arg1.stageY); }; if (online_color == COLOR_RED){ player.mouseAction(_arg1.stageX, _arg1.stageY); }; } public function getReplayID():Number{ if (urlLoader == null){ return (0); }; return (urlLoader.getReplayID()); } private function initAPE(_arg1:Number, _arg2:Vector):void{ APEngine.init(_arg1); APEngine.container = this; APEngine.addMasslessForce(_arg2); } private function mouseover(_arg1:MouseEvent):void{ if (urlLoader.getReplayID() != 0){ return; }; if ((((currentState == ONLINESTATE)) && ((((((urlLoader.getTurn() == 0)) || ((urlLoader.getTurn() == 2)))) || ((urlLoader.getTurn() == 4)))))){ return; }; if (online_color == COLOR_BLUE){ villian.mouseover(_arg1.stageX, _arg1.stageY); }; if (online_color == COLOR_RED){ player.mouseover(_arg1.stageX, _arg1.stageY); }; } public static function getStage(){ return (mystage); } public static function main(_arg1):void{ mystage = _arg1; baseLayer = new Sprite(); mystage.addChild(baseLayer); game = new (gameworld); baseLayer.addChild(game); game.resetworld(); game.setupMenu(); } } }//package
Section 37
//greybox (greybox) package { import flash.display.*; public dynamic class greybox extends MovieClip { public var injured:MovieClip; public function greybox(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 38
//headimage (headimage) package { import flash.events.*; import flash.display.*; public dynamic class headimage extends MovieClip { public var shade:MovieClip; public var injured:MovieClip; public var myorientation:Number; public function headimage(){ addFrameScript(0, frame1, 1, frame2); } public function runplayer(_arg1:Event){ myorientation = gameworld.game.player.getRotation(); this.rotation = (myorientation + 90); shade.rotation = ((myorientation + 90) * -1); } public function runvillian(_arg1:Event){ myorientation = gameworld.game.villian.getRotation(); this.rotation = (myorientation + 90); shade.rotation = ((myorientation + 90) * -1); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 39
//heavypunchSound (heavypunchSound) package { import flash.media.*; public dynamic class heavypunchSound extends Sound { } }//package
Section 40
//joint (joint) package { import flash.display.*; public dynamic class joint extends MovieClip { public var injured:MovieClip; public var marker:MovieClip; public var instanceName:String; public var selector:MovieClip; public function joint(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ selector.visible = false; marker.visible = false; instanceName = ""; stop(); } function frame2(){ selector.visible = false; marker.visible = false; stop(); } } }//package
Section 41
//legComposite (legComposite) package { import org.cove.ape.*; public class legComposite extends Composite { public var leg:SpringConstraint; public var hip:CircleParticle; public var thighPicture:greybox; public var thigh:SpringConstraint; public var legPicture:greybox; public var kneeEmitter:bloodEmitter; public var kneeConstraint2:SpringConstraint; public var thighConstraintNode:CircleParticle; public var kneeConstraint1:SpringConstraint; public var knee:CircleParticle; public var hipBroken:Boolean; public var kneeNodeEmitter:bloodEmitter; public var kneenode:CircleParticle; public var ankle:CircleParticle; public var kneebendConstraint2:SpringConstraint; public var hipEmitter:bloodEmitter; public var kneeconnector:SpringConstraint; public var kneeBroken:Boolean; public var kneebendConstraint:SpringConstraint; public function legComposite(_arg1:Vector, _arg2:String, _arg3:int){ var _local4:CircleParticle; var _local5:CircleParticle; var _local6:SpringConstraint; var _local7:SpringConstraint; var _local8:SpringConstraint; var _local9:SpringConstraint; var _local10:SpringConstraint; var _local11:CircleParticle; var _local12:SpringConstraint; var _local13:SpringConstraint; super(); hip = new CircleParticle(_arg1.x, _arg1.y, 19, ((_arg3 + _arg2) + "Hip")); kneenode = new CircleParticle(_arg1.x, (_arg1.y + 70), 13); hip.friction = 0.5; hip.visible = false; kneenode.friction = 0.5; kneenode.visible = false; addParticle(hip); addParticle(kneenode); thigh = new SpringConstraint(hip, kneenode, 1, true, 25, ((_arg3 + _arg2) + "Thigh")); thighPicture = new greybox(); thighPicture.cacheAsBitmap = true; thigh.setDisplay(thighPicture); addConstraint(thigh); knee = new CircleParticle(kneenode.position.x, kneenode.position.y, 16, ((_arg3 + _arg2) + "Knee")); ankle = new CircleParticle(kneenode.position.x, (kneenode.position.y + 70), 5); if (_arg2 == "left"){ _local4 = new CircleParticle((ankle.position.x + 13), ankle.position.y, 8, ((_arg3 + _arg2) + "Heel")); _local5 = new CircleParticle((ankle.position.x - 40), ankle.position.y, 8, ((_arg3 + _arg2) + "Toe")); } else { _local4 = new CircleParticle((ankle.position.x - 13), ankle.position.y, 8, ((_arg3 + _arg2) + "Heel")); _local5 = new CircleParticle((ankle.position.x + 40), ankle.position.y, 8, ((_arg3 + _arg2) + "Toe")); }; knee.friction = 0.5; knee.visible = false; ankle.collidable = false; ankle.visible = false; _local4.visible = false; _local5.visible = false; _local5.multisample = 10; _local4.friction = 1; _local5.friction = 1; addParticle(knee); addParticle(ankle); addParticle(_local4); addParticle(_local5); leg = new SpringConstraint(knee, ankle, 1, true, 25, ((_arg3 + _arg2) + "Leg")); _local6 = new SpringConstraint(_local4, _local5, 1, true, 16, ((_arg3 + _arg2) + "Foot")); _local7 = new SpringConstraint(ankle, _local4, 1); _local8 = new SpringConstraint(ankle, _local5, 1); _local9 = new SpringConstraint(knee, _local5, 1); _local10 = new SpringConstraint(knee, _local4, 1); legPicture = new greybox(); legPicture.cacheAsBitmap = true; leg.setDisplay(legPicture); _local6.setStyle(1.5, 0, 1, 0x999999); _local7.visible = false; _local8.visible = false; _local9.visible = false; _local10.visible = false; addConstraint(leg); addConstraint(_local6); addConstraint(_local7); addConstraint(_local8); addConstraint(_local9); addConstraint(_local10); kneeconnector = new SpringConstraint(kneenode, knee, 1); kneeconnector.visible = false; addConstraint(kneeconnector); if (_arg2 == "left"){ thighConstraintNode = new CircleParticle((kneenode.position.x - 150), kneenode.position.y, 5); _local11 = new CircleParticle((kneenode.position.x + 70), (_local4.position.y - 20), 5); } else { thighConstraintNode = new CircleParticle((kneenode.position.x + 150), kneenode.position.y, 5); _local11 = new CircleParticle((kneenode.position.x - 70), (_local4.position.y - 20), 5); }; thighConstraintNode.collidable = false; _local11.collidable = false; thighConstraintNode.visible = false; _local11.visible = false; addParticle(thighConstraintNode); addParticle(_local11); _local12 = new SpringConstraint(kneenode, thighConstraintNode, 1); _local13 = new SpringConstraint(hip, thighConstraintNode, 1); kneeConstraint1 = new SpringConstraint(kneenode, _local11, 1); kneeConstraint2 = new SpringConstraint(ankle, _local11, 1); kneebendConstraint = new SpringConstraint(hip, _local11, 0.5); kneebendConstraint2 = new SpringConstraint(ankle, thighConstraintNode, 0.5); _local12.visible = false; _local13.visible = false; kneeConstraint1.visible = false; kneeConstraint2.visible = false; kneebendConstraint.visible = false; kneebendConstraint2.visible = false; addConstraint(_local12); addConstraint(_local13); addConstraint(kneeConstraint1); addConstraint(kneeConstraint2); addConstraint(kneebendConstraint); addConstraint(kneebendConstraint2); hipEmitter = new bloodEmitter(gameworld.baseLayer); hipEmitter.updateConditions(hip.position.x, hip.position.y, thigh.angle); kneeEmitter = new bloodEmitter(gameworld.baseLayer); kneeEmitter.updateConditions(knee.position.x, knee.position.y, leg.angle); kneeNodeEmitter = new bloodEmitter(gameworld.baseLayer); kneeNodeEmitter.updateConditions(kneenode.position.x, kneenode.position.y, leg.angle); kneeBroken = false; hipBroken = false; } public function run():void{ hipEmitter.updateConditions(hip.position.x, hip.position.y, thigh.angle); kneeEmitter.updateConditions(knee.position.x, knee.position.y, leg.angle); kneeNodeEmitter.updateConditions(kneenode.position.x, kneenode.position.y, leg.angle); } public function clean():void{ hipEmitter.clean(); kneeEmitter.clean(); kneeNodeEmitter.clean(); } } }//package
Section 42
//lightpunchSound (lightpunchSound) package { import flash.media.*; public dynamic class lightpunchSound extends Sound { } }//package
Section 43
//mainmenu (mainmenu) package { import flash.events.*; import flash.display.*; import flash.net.*; public class mainmenu extends menu { private var bloodemitter:bloodEmitter; private var cursor:MovieClip; private var connecting_multiplayer:Boolean; private var mystage; private static var initBool:Boolean = false; public function mainmenu(_arg1){ mystage = _arg1; init(); } public function init():void{ gameworld.game.connectToMultiPlayer(); connecting_multiplayer = false; mystage.addEventListener(MouseEvent.MOUSE_UP, menumouseup); bloodemitter = new bloodEmitter(this); bloodemitter.emitterLife = 10000; bloodemitter.startSpray(); this.addChild(bloodemitter); cursor = new GameCursor(); cursor.x = (mystage.stageWidth / 2); cursor.y = (mystage.stageHeight / 2); this.addChild(cursor); bloodemitter.x = (cursor.x + 25); bloodemitter.y = (cursor.y + 25); if (initBool){ this.torimovie.visible = false; }; try { if (mystage.loaderInfo.parameters.id){ onlinebutton.visible = true; } else { onlinebutton.visible = false; }; } catch(err:Error) { }; } public function menukeydown(_arg1:KeyboardEvent):void{ if (!initBool){ return; }; if (_arg1.keyCode == 27){ this.removeChild(cursor); this.removeChild(bloodemitter); gameworld.baseLayer.removeChild(this); gameworld.game.setState(gameworld.PLAYSTATE); mystage.removeEventListener(MouseEvent.MOUSE_UP, menumouseup); gameworld.cursor.x = cursor.x; gameworld.cursor.y = cursor.y; }; } public function run():void{ bloodemitter.run(); bloodemitter.x = (cursor.x + 25); bloodemitter.y = (cursor.y + 25); if (connecting_multiplayer){ if (gameworld.game.hasUpdated()){ gameworld.game.connectToMultiPlayer(); initBool = true; this.removeChild(cursor); this.removeChild(bloodemitter); gameworld.baseLayer.removeChild(this); gameworld.game.setState(gameworld.ONLINESTATE); gameworld.game.resetworld(); mystage.removeEventListener(MouseEvent.MOUSE_UP, menumouseup); gameworld.cursor.x = cursor.x; gameworld.cursor.y = cursor.y; }; }; if (gameworld.game.getReplayID() != 0){ gameworld.game.connectToMultiPlayer(); initBool = true; this.removeChild(cursor); this.removeChild(bloodemitter); gameworld.baseLayer.removeChild(this); gameworld.game.resetworld(); gameworld.game.setState(gameworld.PLAYSTATE); mystage.removeEventListener(MouseEvent.MOUSE_UP, menumouseup); gameworld.cursor.x = cursor.x; gameworld.cursor.y = cursor.y; }; } public function menumouseup(_arg1:MouseEvent):void{ var _local2:URLRequest; connecting_multiplayer = false; if (startbutton.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ gameworld.game.connectToMultiPlayer(); initBool = true; this.removeChild(cursor); this.removeChild(bloodemitter); gameworld.baseLayer.removeChild(this); gameworld.game.resetworld(); gameworld.game.setState(gameworld.PLAYSTATE); mystage.removeEventListener(MouseEvent.MOUSE_UP, menumouseup); gameworld.cursor.x = cursor.x; gameworld.cursor.y = cursor.y; } else { if (websitebutton.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ _local2 = new URLRequest("http://www.toribash.com/"); navigateToURL(_local2); } else { if (high.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ mystage.quality = StageQuality.HIGH; } else { if (med.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ mystage.quality = StageQuality.MEDIUM; } else { if (low.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ mystage.quality = StageQuality.LOW; } else { if (onlinebutton.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ connecting_multiplayer = true; gameworld.game.updateConnection(); }; }; }; }; }; }; } public function mousemove(_arg1:Number, _arg2:Number):void{ cursor.x = _arg1; cursor.y = _arg2; } } }//package
Section 44
//menu (menu) package { import flash.display.*; public dynamic class menu extends MovieClip { public var startbutton:SimpleButton; public var onlinebutton:SimpleButton; public var low:SimpleButton; public var high:SimpleButton; public var websitebutton:SimpleButton; public var torimovie:MovieClip; public var med:SimpleButton; } }//package
Section 45
//MyURLLoader (MyURLLoader) package { import flash.events.*; import flash.net.*; import flash.system.*; public class MyURLLoader { private var gameID:Number; private var loader:URLLoader; private var myMove:Number; private var myRoot:Object; private var scorelist:Array; private var current_move_number:Number; private var updated:Boolean; private var replayID:Number; private var moves:Array; private var singlePlayer:Boolean; private var newMov:Number; private var errors:String; public function MyURLLoader(_arg1:Object){ myRoot = _arg1; Security.allowDomain("*"); gameID = 0; if (myRoot.loaderInfo.parameters.id){ gameID = Number(myRoot.loaderInfo.parameters.id); }; loader = new URLLoader(); configureListeners(loader); moves = new Array(); newMov = 1; current_move_number = 0; updated = true; myMove = 0; replayID = 0; if (myRoot.loaderInfo.parameters.spid){ replayID = Number(myRoot.loaderInfo.parameters.spid); }; } private function securityErrorHandler(_arg1:SecurityErrorEvent):void{ errors = (errors + _arg1); } public function getGameID():Number{ return (gameID); } public function getUpdated():Boolean{ return (updated); } public function getMoves():Array{ return (moves); } public function getScores():Array{ return (scorelist); } private function openHandler(_arg1:Event):void{ } public function getReplayID():Number{ return (replayID); } public function getDomain(_arg1:String):String{ var _local2:String; var _local3:Boolean; var _local4:int; _local2 = ""; _local3 = false; _local4 = _arg1.length; while (_local4 >= 0) { if (_arg1.charAt(_local4) == "/"){ _local3 = true; }; if (_local3){ _local2 = (_arg1.charAt(_local4) + _local2); }; _local4--; }; return (_local2); } public function movesLength():Number{ return (moves.length); } public function setSinglePlayer(_arg1:Boolean):void{ singlePlayer = _arg1; } public function clearScores():void{ scorelist = new Array(); } private function completeHandler(_arg1:Event):void{ var loader:URLLoader; var strtmp:String; var vars:URLVariables; var tmpcon:Number; var num:Number; var event = _arg1; loader = URLLoader(event.target); strtmp = loader.data; try { vars = new URLVariables(strtmp); } catch(err:Error) { return; }; trace(("completeHandler: " + loader.data)); myMove = 0; if (vars.m){ myMove = Number(vars.m); }; scorelist = new Array(); tmpcon = 0; while (1) { if (vars[("ts" + tmpcon)]){ scorelist[tmpcon] = vars[("ts" + tmpcon)]; } else { break; }; tmpcon = (tmpcon + 1); }; num = 0; while (1) { if (vars[("move" + num)]){ moves[num] = vars[("move" + num)].split(","); newMov = num; } else { break; }; num = (num + 1); }; updated = true; } public function getMoveArray(_arg1:Number):Array{ return (moves[_arg1]); } private function httpStatusHandler(_arg1:HTTPStatusEvent):void{ } public function update(_arg1:String=""):Boolean{ var urlstr:String; var loader:URLLoader; var request:URLRequest; var tmpr = _arg1; if (updated == false){ return (false); }; updated = false; urlstr = ""; if (singlePlayer){ urlstr = (getDomain(myRoot.loaderInfo.url) + "single.php?"); if (replayID != 0){ tmpr = (tmpr + ("spid=" + replayID)); }; } else { urlstr = ((getDomain(myRoot.loaderInfo.url) + "tf_move.php?id=") + gameID); }; if (tmpr != ""){ tmpr = (tmpr + "&"); }; urlstr = (urlstr + ((tmpr + "r=") + new Date().getTime())); trace(("urlstr " + urlstr)); loader = new URLLoader(); request = new URLRequest(urlstr); configureListeners(loader); try { loader.load(request); } catch(error:Error) { return (false); }; return (true); } public function newistMove():Number{ return (newMov); } private function progressHandler(_arg1:ProgressEvent):void{ } public function getErrors():String{ return (errors); } private function ioErrorHandler(_arg1:IOErrorEvent):void{ errors = (errors + _arg1); } public function hasScores():Boolean{ if (!scorelist){ return (false); }; return ((scorelist.length > 0)); } public function getMoveNumber():Number{ return (current_move_number); } public function getTurn():Number{ return (myMove); } private function configureListeners(_arg1:IEventDispatcher):void{ _arg1.addEventListener(Event.COMPLETE, completeHandler); _arg1.addEventListener(Event.OPEN, openHandler); _arg1.addEventListener(ProgressEvent.PROGRESS, progressHandler); _arg1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _arg1.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); _arg1.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } public function addMoveNumber():void{ current_move_number++; } } }//package
Section 46
//score (score) package { import flash.events.*; public class score extends scoreboard { private var pressedButton:Boolean; private var myName:String; private var rootobj:Object; public function score(){ pressedButton = false; myName = ""; sub.addEventListener(MouseEvent.MOUSE_DOWN, menumousedown); } public function getName():String{ return (myName); } public function setArray(_arg1:Array):void{ var _local2:Number; var _local3:*; this.gotoAndStop(2); if (((!(this.scorestr)) && (!(this.namestr)))){ return; }; this.scorestr.text = ""; this.namestr.text = ""; _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2].split(","); if (_local3[0]){ this.scorestr.appendText(_local3[0]); }; this.scorestr.appendText("\n"); if (_local3[1]){ this.namestr.appendText(_local3[1]); }; this.namestr.appendText("\n"); _local2++; }; } public function menumousedown(_arg1:MouseEvent):void{ if (sub.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ if (((this.inname) && (!((this.inname.text == "YOUR NAME HERE"))))){ pressedButton = true; myName = this.inname.text; }; }; } public function setRoot(_arg1:Object):void{ rootobj = _arg1; x = (rootobj.width / 2); y = 200; } public function hasPressedButton():Boolean{ return (pressedButton); } function move_to_top(){ parent.setChildIndex(this, (parent.numChildren - 1)); } public function getCurrentFrame():Number{ return (this.currentFrame); } } }//package
Section 47
//scoreboard (scoreboard) package { import flash.display.*; import flash.text.*; public dynamic class scoreboard extends MovieClip { public var inname:TextField; public var scorestr:TextField; public var sub:SimpleButton; public var namestr:TextField; public function scoreboard(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 48
//textBox (textBox) package { import flash.display.*; import flash.text.*; public dynamic class textBox extends MovieClip { public var intrs:TextField; } }//package
Section 49
//textr (textr) package { public class textr extends textBox { public function textr(_arg1:String){ this.intrs.text = _arg1; } public function set align(_arg1:String):void{ } public function set str(_arg1:String):void{ this.intrs.text = _arg1; } public function get textWidth():Number{ return (this.intrs.textWidth); } public function set scale(_arg1:Number):void{ intrs.scaleY = _arg1; intrs.scaleX = _arg1; } public function set color(_arg1:uint):void{ intrs.textColor = _arg1; } } }//package

Library Items

Symbol 1 Sound {gameoverSound}
Symbol 2 Sound {lightpunchSound}
Symbol 3 Sound {heavypunchSound}
Symbol 4 Sound {bonebreakSound}
Symbol 5 Font {BadaBoom}Used by:6 93 99 100
Symbol 6 EditableTextUses:5Used by:7
Symbol 7 MovieClip {textBox}Uses:6
Symbol 8 GraphicUsed by:11
Symbol 9 GraphicUsed by:10
Symbol 10 MovieClip {tori_fla.whitecircle_4}Uses:9Used by:11 18 90 91
Symbol 11 MovieClip {bodyimage}Uses:8 10
Symbol 12 GraphicUsed by:18
Symbol 13 GraphicUsed by:16
Symbol 14 ShapeTweeningUsed by:16
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClip {tori_fla.injuredCircle_19}Uses:13 14 15Used by:18 36
Symbol 17 GraphicUsed by:18
Symbol 18 MovieClip {headimage}Uses:12 10 16 17
Symbol 19 GraphicUsed by:23
Symbol 20 GraphicUsed by:22
Symbol 21 ShapeTweeningUsed by:22
Symbol 22 MovieClip {tori_fla.injuredRect_23}Uses:20 21Used by:23
Symbol 23 MovieClip {greybox}Uses:19 22
Symbol 24 GraphicUsed by:36
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClipUses:25Used by:36
Symbol 27 GraphicUsed by:36
Symbol 28 ShapeTweeningUsed by:33
Symbol 29 GraphicUsed by:31
Symbol 30 GraphicUsed by:31
Symbol 31 MovieClipUses:29 30Used by:33
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClip {tori_fla.selector_20}Uses:28 31 32Used by:36
Symbol 34 GraphicUsed by:36
Symbol 35 GraphicUsed by:36
Symbol 36 MovieClip {joint}Uses:24 26 27 16 33 34 35
Symbol 37 GraphicUsed by:81
Symbol 38 GraphicUsed by:47
Symbol 39 BitmapUsed by:40
Symbol 40 GraphicUses:39Used by:47
Symbol 41 BitmapUsed by:42
Symbol 42 GraphicUses:41Used by:47
Symbol 43 BitmapUsed by:44
Symbol 44 GraphicUses:43Used by:47
Symbol 45 BitmapUsed by:46
Symbol 46 GraphicUses:45Used by:47
Symbol 47 MovieClipUses:38 40 42 44 46Used by:81
Symbol 48 GraphicUsed by:55
Symbol 49 GraphicUsed by:55
Symbol 50 GraphicUsed by:55
Symbol 51 GraphicUsed by:55
Symbol 52 GraphicUsed by:55
Symbol 53 SoundUsed by:55 75 80
Symbol 54 SoundUsed by:55 75 80
Symbol 55 ButtonUses:48 49 50 51 52 53 54Used by:81
Symbol 56 GraphicUsed by:81
Symbol 57 GraphicUsed by:61
Symbol 58 GraphicUsed by:61
Symbol 59 GraphicUsed by:61
Symbol 60 SoundUsed by:61 65 68
Symbol 61 ButtonUses:57 58 59 60Used by:81
Symbol 62 GraphicUsed by:65
Symbol 63 GraphicUsed by:65 68
Symbol 64 GraphicUsed by:65
Symbol 65 ButtonUses:62 63 64 60Used by:81
Symbol 66 GraphicUsed by:68
Symbol 67 GraphicUsed by:68
Symbol 68 ButtonUses:66 63 67 60Used by:81
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClipUses:69Used by:81
Symbol 71 GraphicUsed by:75
Symbol 72 GraphicUsed by:75 80
Symbol 73 GraphicUsed by:75
Symbol 74 GraphicUsed by:75
Symbol 75 ButtonUses:71 72 73 74 53 54Used by:81
Symbol 76 GraphicUsed by:80
Symbol 77 GraphicUsed by:80
Symbol 78 GraphicUsed by:80
Symbol 79 GraphicUsed by:80
Symbol 80 ButtonUses:76 72 77 78 79 53 54Used by:81
Symbol 81 MovieClip {menu}Uses:37 47 55 56 61 65 68 70 75 80
Symbol 82 GraphicUsed by:86
Symbol 83 GraphicUsed by:86
Symbol 84 GraphicUsed by:86
Symbol 85 GraphicUsed by:86
Symbol 86 MovieClip {bloodparticle}Uses:82 83 84 85
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClip {floorImage}Uses:87
Symbol 89 GraphicUsed by:90
Symbol 90 MovieClip {GameCursor}Uses:89 10
Symbol 91 MovieClip {cameraShake}Uses:10
Symbol 92 GraphicUsed by:102
Symbol 93 EditableTextUses:5Used by:102
Symbol 94 GraphicUsed by:97
Symbol 95 GraphicUsed by:97
Symbol 96 GraphicUsed by:97
Symbol 97 ButtonUses:94 95 96Used by:102
Symbol 98 GraphicUsed by:102
Symbol 99 EditableTextUses:5Used by:102
Symbol 100 EditableTextUses:5Used by:102
Symbol 101 GraphicUsed by:102
Symbol 102 MovieClip {scoreboard}Uses:92 93 97 98 99 100 101

Instance Names

"intrs"Symbol 7 MovieClip {textBox} Frame 1Symbol 6 EditableText
"c5"Symbol 11 MovieClip {bodyimage} Frame 1Symbol 10 MovieClip {tori_fla.whitecircle_4}
"c4"Symbol 11 MovieClip {bodyimage} Frame 1Symbol 10 MovieClip {tori_fla.whitecircle_4}
"c3"Symbol 11 MovieClip {bodyimage} Frame 1Symbol 10 MovieClip {tori_fla.whitecircle_4}
"c1"Symbol 11 MovieClip {bodyimage} Frame 1Symbol 10 MovieClip {tori_fla.whitecircle_4}
"c2"Symbol 11 MovieClip {bodyimage} Frame 1Symbol 10 MovieClip {tori_fla.whitecircle_4}
"shade"Symbol 18 MovieClip {headimage} Frame 1Symbol 10 MovieClip {tori_fla.whitecircle_4}
"injured"Symbol 18 MovieClip {headimage} Frame 1Symbol 16 MovieClip {tori_fla.injuredCircle_19}
"injured"Symbol 23 MovieClip {greybox} Frame 1Symbol 22 MovieClip {tori_fla.injuredRect_23}
"arrowCCW"Symbol 33 MovieClip {tori_fla.selector_20} Frame 1Symbol 31 MovieClip
"arrowCW"Symbol 33 MovieClip {tori_fla.selector_20} Frame 1Symbol 31 MovieClip
"marker"Symbol 36 MovieClip {joint} Frame 1Symbol 26 MovieClip
"injured"Symbol 36 MovieClip {joint} Frame 1Symbol 16 MovieClip {tori_fla.injuredCircle_19}
"selector"Symbol 36 MovieClip {joint} Frame 1Symbol 33 MovieClip {tori_fla.selector_20}
"torimovie"Symbol 81 MovieClip {menu} Frame 1Symbol 47 MovieClip
"startbutton"Symbol 81 MovieClip {menu} Frame 1Symbol 55 Button
"high"Symbol 81 MovieClip {menu} Frame 1Symbol 61 Button
"med"Symbol 81 MovieClip {menu} Frame 1Symbol 65 Button
"low"Symbol 81 MovieClip {menu} Frame 1Symbol 68 Button
"onlinebutton"Symbol 81 MovieClip {menu} Frame 1Symbol 75 Button
"websitebutton"Symbol 81 MovieClip {menu} Frame 1Symbol 80 Button
"cursorHitArea"Symbol 90 MovieClip {GameCursor} Frame 1Symbol 10 MovieClip {tori_fla.whitecircle_4}
"box"Symbol 91 MovieClip {cameraShake} Frame 1Symbol 10 MovieClip {tori_fla.whitecircle_4}
"inname"Symbol 102 MovieClip {scoreboard} Frame 1Symbol 93 EditableText
"sub"Symbol 102 MovieClip {scoreboard} Frame 1Symbol 97 Button
"scorestr"Symbol 102 MovieClip {scoreboard} Frame 2Symbol 99 EditableText
"namestr"Symbol 102 MovieClip {scoreboard} Frame 2Symbol 100 EditableText

Special Tags

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




http://swfchan.com/18/85416/info.shtml
Created: 30/3 -2019 23:02:26 Last modified: 30/3 -2019 23:02:26 Server time: 12/05 -2024 03:07:15