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

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

armorgames medieval-mercenary-3976.swf

This is the info page for
Flash #264076

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


Text
NEW GAME

PLAY MORE
GAMES

Copyright c2009 LongAnimals and Jimp

<p align="center"><font face="Medieval Scribish" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1">YOU SCORED</font></p>

<p align="center"><font face="Medieval Scribish" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1">YOU SCORED</font></p>

<p align="left"><font face="Medieval Scribish" size="20" color="#b99f34" letterSpacing="0.000000" kerning="1"><b>Level 10</b></font></p>

<p align="center"><font face="Medieval Scribish" size="16" color="#b99f34" letterSpacing="0.000000" kerning="1"><b>level description</b></font></p>

SOUND

Paused

Score::

<p align="center"></p>

<p align="left"><font face="Medieval Scribish" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>ItemName</b></font></p>

<p align="left"><font face="Medieval Scribish" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Level 1</b></font></p>

<p align="left"><font face="Medieval Scribish" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>cost</b></font></p>

buy

upgrade

<p align="center"><font face="Medieval Scribish" size="22" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>cost</b></font></p>

Kill more
things

Left and right arrows to move, Up to jump, down to crouch.
Space bar to fire
1 and 2 keys to cycle through weapons.

(press 9 to skip to next level, and 8 to restart current level)

<p align="center"><font face="Medieval Scribish" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>KILL</b></font></p>

<p align="center"><font face="Medieval Scribish" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>2 Kills</b></font></p>

<p align="center"><font face="Medieval Scribish" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>3 Kills</b></font></p>

<p align="center"><font face="Medieval Scribish" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>4 Kills</b></font></p>

<p align="center"><font face="Medieval Scribish" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>5 Kills</b></font></p>

<p align="center"><font face="Medieval Scribish" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>6 Kills</b></font></p>

<p align="center"><font face="Medieval Scribish" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>7 Kills</b></font></p>

<p align="center"><font face="Medieval Scribish" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>8 Kills</b></font></p>

<p align="center"><font face="Medieval Scribish" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>9 Kills</b></font></p>

LOADING

ActionScript [AS3]

Section 1
//ag_intro_mc_134 (MedievalMercenary_fla.ag_intro_mc_134) package MedievalMercenary_fla { import flash.display.*; public dynamic class ag_intro_mc_134 extends MovieClip { public function ag_intro_mc_134(){ addFrameScript(0, frame1, 216, frame217); } function frame217(){ stop(); MovieClip(parent).play(); MovieClip(parent).removeChild(this); } function frame1(){ MovieClip(parent).stop(); gotoAndPlay(2); } } }//package MedievalMercenary_fla
Section 2
//MainTimeline (MedievalMercenary_fla.MainTimeline) package MedievalMercenary_fla { import flash.events.*; import flash.display.*; import flash.net.*; public dynamic class MainTimeline extends MovieClip { public var loader:MovieClip; public var ag2:MovieClip; public var ag1:MovieClip; public function MainTimeline(){ addFrameScript(0, frame1, 17, frame18); } public function myloading(_arg1:Event){ var _local2:*; var _local3:*; var _local4:*; trace("loading.."); _local2 = stage.loaderInfo.bytesTotal; _local3 = stage.loaderInfo.bytesLoaded; _local4 = Math.round(((_local3 * 100) / _local2)); if (_local3 >= _local2){ trace("loaded"); removeEventListener(MouseEvent.CLICK, pressed); removeEventListener(Event.ENTER_FRAME, myloading); loader.visible = false; ag1.visible = false; ag2.visible = false; gotoAndPlay(2); }; } public function pressed(_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.armorgames.com"), "_blank"); } function frame18(){ stop(); } function frame1(){ stop(); addEventListener(MouseEvent.CLICK, pressed); addEventListener(Event.ENTER_FRAME, myloading); } } }//package MedievalMercenary_fla
Section 3
//Achievements (Achievements) package { public class Achievements { static var list:Array; public static function TestAtLevelComplete(){ var _local1:Achievement; var _local2:Boolean; var _local3:AchievementItem; var _local4:Boolean; for each (_local1 in list) { if (_local1.complete == false){ _local2 = true; for each (_local3 in _local1.items) { _local4 = _local3.Test(); if (_local4 == false){ _local2 = false; }; }; if (_local2){ _local1.complete = true; trace((("ACHIEVEMENT: " + _local1.name) + " COMPLETED")); } else { trace((("ACHIEVEMENT: " + _local1.name) + " FAILED")); }; }; }; } public static function InitOnce(){ var _local1:XML; var _local2:int; var _local3:int; var _local4:int; var _local5:XML; var _local6:Achievement; var _local7:int; var _local8:XML; var _local9:AchievementItem; list = new Array(); _local1 = ExternalData.xml; _local2 = _local1.achievement.length(); _local3 = 0; _local4 = 0; _local3 = 0; while (_local3 < _local2) { _local5 = _local1.achievement[_local3]; _local6 = new Achievement(); _local6.name = _local5.@name; list.push(_local6); _local7 = _local5.item.length(); _local4 = 0; while (_local4 < _local7) { _local8 = _local5.item[_local4]; _local9 = new AchievementItem(); _local9.id = int(_local8.@id); _local9.levelName = _local8.@level; _local9.variableName = _local8.@variable; _local9.condition = _local8.@condition; _local9.value = _local8.@value; _local6.items.push(_local9); _local4++; }; _local3++; }; } } }//package class AchievementItem { private var variableName:String; private var id:int; private var levelName:String; private var value:String; private var condition:String; public static const CONDITION_EQUALS:String = "equals"; public static const CONDITION_GREATERTHANEQUAL:String = "greaterthanequal"; public static const CONDITION_LESSTHANEQUAL:String = "lessthanequal"; public static const CONDITION_GREATERTHAN:String = "greaterthan"; public static const CONDITION_LESSTHAN:String = "lessthan"; private function AchievementItem(){ } public function Test():Boolean{ var _local1:int; var _local2:int; return (false); } } class Achievement { private var items:Array; private var complete:Boolean; private var name:String; private function Achievement(){ items = new Array(); name = ""; complete = false; } }
Section 4
//AnimDef (AnimDef) package { public class AnimDef { var graphicID:int; var f0:int; var f1:int; var name:String; var eventList:Array; var vel:Number; public function AnimDef(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:Number){ name = _arg1; graphicID = _arg2; f0 = (_arg3 - 1); f1 = (_arg4 - 1); vel = _arg5; eventList = new Array(); } public function AddEvent(_arg1:AnimEvent){ eventList.push(_arg1); } } }//package
Section 5
//AnimEvent (AnimEvent) package { public class AnimEvent { var functionName:String; var frame:int; public function AnimEvent(_arg1:int, _arg2:String){ frame = _arg1; functionName = _arg2; } } }//package
Section 6
//AnimPoint (AnimPoint) package { public class AnimPoint { var frame:int; var blank:Boolean; var rot:Number; var x:Number; var y:Number; public function AnimPoint(_arg1:int, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Boolean=false){ x = _arg2; y = _arg3; rot = _arg4; frame = _arg1; blank = _arg5; } } }//package
Section 7
//AnimPoints (AnimPoints) package { public class AnimPoints { static var anims:Array; static var xml2:XML = <data> <Motion duration="325"> <source> <Source frameRate="12" x="0.9" y="0.1" scaleX="1.393" scaleY="1.393" rotation="-48.4" elementType="movie clip" instanceName="swordend" symbolName="marker1"> <dimensions> <Rectangle left="-5.9" top="-5.9" width="10.9" height="10.9"/> </dimensions> <transformationPoint> <Point x="0.536697247706422" y="0.5504587155963303"/> </transformationPoint> </Source> </source> <Keyframe index="0" blank="true"/> <Keyframe index="1" blank="true"/> <Keyframe index="2" blank="true"/> <Keyframe index="3" blank="true"/> <Keyframe index="4" blank="true"/> <Keyframe index="5" blank="true"/> <Keyframe index="6" blank="true"/> <Keyframe index="7" blank="true"/> <Keyframe index="8" blank="true"/> <Keyframe index="9" blank="true"/> <Keyframe index="10" blank="true"/> <Keyframe index="11" blank="true"/> <Keyframe index="12" blank="true"/> <Keyframe index="13" blank="true"/> <Keyframe index="14" blank="true"/> <Keyframe index="15" blank="true"/> <Keyframe index="16" blank="true"/> <Keyframe index="17" blank="true"/> <Keyframe index="18" blank="true"/> <Keyframe index="19" blank="true"/> <Keyframe index="20" blank="true"/> <Keyframe index="21" blank="true"/> <Keyframe index="22" blank="true"/> <Keyframe index="23" blank="true"/> <Keyframe index="24" blank="true"/> <Keyframe index="25" blank="true"/> <Keyframe index="26" blank="true"/> <Keyframe index="27" blank="true"/> <Keyframe index="28" blank="true"/> <Keyframe index="29" blank="true"/> <Keyframe index="30" blank="true"/> <Keyframe index="31" blank="true"/> <Keyframe index="32" blank="true"/> <Keyframe index="33" blank="true"/> <Keyframe index="34" blank="true"/> <Keyframe index="35" blank="true"/> <Keyframe index="36" blank="true"/> <Keyframe index="37" blank="true"/> <Keyframe index="38" blank="true"/> <Keyframe index="39" blank="true"/> <Keyframe index="40" blank="true"/> <Keyframe index="41" blank="true"/> <Keyframe index="42" blank="true"/> <Keyframe index="43" blank="true"/> <Keyframe index="44" blank="true"/> <Keyframe index="45" blank="true"/> <Keyframe index="46" blank="true"/> <Keyframe index="47" blank="true"/> <Keyframe index="48" blank="true"/> <Keyframe index="49" blank="true"/> <Keyframe index="50" blank="true"/> <Keyframe index="51" blank="true"/> <Keyframe index="52" blank="true"/> <Keyframe index="53" blank="true"/> <Keyframe index="54" blank="true"/> <Keyframe index="55" blank="true"/> <Keyframe index="56" blank="true"/> <Keyframe index="57" blank="true"/> <Keyframe index="58" blank="true"/> <Keyframe index="59" blank="true"/> <Keyframe index="60" blank="true"/> <Keyframe index="61" blank="true"/> <Keyframe index="62" blank="true"/> <Keyframe index="63" blank="true"/> <Keyframe index="64" blank="true"/> <Keyframe index="65" blank="true"/> <Keyframe index="66" blank="true"/> <Keyframe index="67" blank="true"/> <Keyframe index="68" blank="true"/> <Keyframe index="69" blank="true"/> <Keyframe index="70" blank="true"/> <Keyframe index="71" blank="true"/> <Keyframe index="72" blank="true"/> <Keyframe index="73" blank="true"/> <Keyframe index="74" blank="true"/> <Keyframe index="75" blank="true"/> <Keyframe index="76" blank="true"/> <Keyframe index="77" blank="true"/> <Keyframe index="78" blank="true"/> <Keyframe index="79" blank="true"/> <Keyframe index="80" blank="true"/> <Keyframe index="81" blank="true"/> <Keyframe index="82" blank="true"/> <Keyframe index="83" blank="true"/> <Keyframe index="84" blank="true"/> <Keyframe index="85" blank="true"/> <Keyframe index="86" blank="true"/> <Keyframe index="87" blank="true"/> <Keyframe index="88" blank="true"/> <Keyframe index="89" blank="true"/> <Keyframe index="90" blank="true"/> <Keyframe index="91" blank="true"/> <Keyframe index="92" blank="true"/> <Keyframe index="93" blank="true"/> <Keyframe index="94" blank="true"/> <Keyframe index="95" blank="true"/> <Keyframe index="96" blank="true"/> <Keyframe index="97" blank="true"/> <Keyframe index="98" blank="true"/> <Keyframe index="99" blank="true"/> <Keyframe index="100" blank="true"/> <Keyframe index="101" blank="true"/> <Keyframe index="102" blank="true"/> <Keyframe index="103" blank="true"/> <Keyframe index="104" blank="true"/> <Keyframe index="105" blank="true"/> <Keyframe index="106" blank="true"/> <Keyframe index="107" blank="true"/> <Keyframe index="108" blank="true"/> <Keyframe index="109" blank="true"/> <Keyframe index="110" blank="true"/> <Keyframe index="111" blank="true"/> <Keyframe index="112" blank="true"/> <Keyframe index="113" blank="true"/> <Keyframe index="114" blank="true"/> <Keyframe index="115" blank="true"/> <Keyframe index="116" blank="true"/> <Keyframe index="117" blank="true"/> <Keyframe index="118" blank="true"/> <Keyframe index="119" blank="true"/> <Keyframe index="120" blank="true"/> <Keyframe index="121" blank="true"/> <Keyframe index="122" x="74.1" y="-84.75"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="123" x="57.7" y="-119.05" scaleX="0.9992821249102656" scaleY="0.9992821249102656" rotation="-22.800000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="124" x="25" y="-136.7" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="-55.699999999999996"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="125" x="-2.45" y="-136.04999999999998" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="-74.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="126" x="-24.65" y="-124.69999999999999" scaleX="1" scaleY="1" rotation="-91.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="127" x="-9.3" y="-135.45" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="-78.69999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="128" x="29.6" y="-137.7" scaleX="0.9992821249102656" scaleY="0.9992821249102656" rotation="-53.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="129" x="59.7" y="-122.69999999999999" rotation="-34.300000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="130" x="79.85" y="-99.69999999999999" rotation="-15.100000000000001"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="131" x="90.35" y="-61.550000000000004" scaleX="0.996410624551328" scaleY="0.996410624551328" rotation="19.599999999999998"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="132" x="83.25" y="-72.85" scaleX="0.9971284996410624" scaleY="0.9971284996410624" rotation="13.799999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="133" x="80.6" y="-77.39999999999999" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="4.199999999999996"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="134" x="77.14999999999999" y="-81.44999999999999" rotation="6.799999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="135" x="74.1" y="-84.94999999999999" scaleX="1" scaleY="1" rotation="0"/> <Keyframe index="136" x="27.200000000000003" y="-44.2"> <tweens> <SimpleEase ease="1"/> </tweens> </Keyframe> <Keyframe index="137" x="27.25" y="-45.15" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="-6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="138" x="27.5" y="-46" rotation="-11"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="139" y="-46.6" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="-14.800000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="140" x="27.650000000000002" y="-47.050000000000004" rotation="-17.500000000000007"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="141" x="27.6" y="-47.300000000000004" rotation="-19.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="142" x="27.700000000000003" y="-47.45" scaleX="0.9992821249102656" scaleY="0.9992821249102656" rotation="-19.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="143" x="18.25" y="-46.85" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="29.599999999999998"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="144" x="14.35" y="-53.35" scaleX="0.996410624551328" scaleY="0.996410624551328" rotation="78.7"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="145" x="21.85" y="-58.95" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="127.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="146" x="26.3" y="-55.1" scaleX="0.867910983488873" scaleY="0.9956927494615937" skewX="167.2" skewY="166"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="147" x="20.55" y="-47.95" scaleX="0.7394113424264178" skewX="206.8" skewY="204.3"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="148" x="5.3" y="-45.75" scaleX="0.6116295764536971" scaleY="0.996410624551328" skewX="-113.79999999999998" skewY="-117.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="149" x="9.9" y="-44.9" scaleX="0.6511127063890884" scaleY="0.9949748743718592" skewX="217.1" skewY="213.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="150" x="14.5" y="-44" scaleX="0.6913137114142139" scaleY="0.9942569992821249" skewX="188" skewY="184.3"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="151" x="19.150000000000002" y="-43.300000000000004" scaleX="0.7315147164393395" skewX="158.9" skewY="155.2"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="152" x="23.75" y="-42.4" scaleX="0.7724335965541996" scaleY="0.9949748743718592" skewX="129.8" skewY="126.19999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="153" x="24.950000000000003" y="-43" scaleX="0.8470926058865756" skewX="86.5" skewY="84"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="154" x="26.05" y="-43.6" scaleX="0.923905240488155" scaleY="0.9978463747307967" skewX="43.4" skewY="42.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="155" x="27.200000000000003" y="-44.2" scaleX="1" scaleY="1" rotation="0"/> <Keyframe index="156" blank="true"/> <Keyframe index="157" blank="true"/> <Keyframe index="158" blank="true"/> <Keyframe index="159" blank="true"/> <Keyframe index="160" blank="true"/> <Keyframe index="161" blank="true"/> <Keyframe index="162" blank="true"/> <Keyframe index="163" blank="true"/> <Keyframe index="164" blank="true"/> <Keyframe index="165" blank="true"/> <Keyframe index="166" blank="true"/> <Keyframe index="167" blank="true"/> <Keyframe index="168" blank="true"/> <Keyframe index="169" blank="true"/> <Keyframe index="170" blank="true"/> <Keyframe index="171" blank="true"/> <Keyframe index="172" blank="true"/> <Keyframe index="173" blank="true"/> <Keyframe index="174" blank="true"/> <Keyframe index="175" blank="true"/> <Keyframe index="176" blank="true"/> <Keyframe index="177" blank="true"/> <Keyframe index="178" blank="true"/> <Keyframe index="179" blank="true"/> <Keyframe index="180" x="16.1" y="-37.300000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="181" x="23.900000000000002" y="-51" scaleX="0.9992821249102656" scaleY="0.9992821249102656" rotation="-28.300000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="182" x="31.85" y="-64.55" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="-56.199999999999996"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="183" x="39.75" y="-78.14999999999999" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="-84.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="184" x="47.75" y="-91.69999999999999" scaleX="0.9992821249102656" scaleY="0.9992821249102656" rotation="-112.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="185" x="45.050000000000004" y="-78.39999999999999" scaleX="0.9971284996410624" scaleY="0.9971284996410624" rotation="-90"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="186" x="42.2" y="-65.14999999999999" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="-67.4"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="187" x="39.45" y="-51.85" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="-44.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="188" x="36.7" y="-38.550000000000004" scaleX="0.9992821249102656" scaleY="0.9992821249102656" rotation="-22.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="189" x="33.300000000000004" y="-38.35" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="-18.500000000000007"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="190" x="29.85" y="-38.15" rotation="-14.800000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="191" x="26.35" y="-37.95" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="-11"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="192" x="22.950000000000003" y="-37.75" rotation="-7.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="193" x="19.5" y="-37.5" rotation="-3.700000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="194" x="16.1" y="-37.300000000000004" scaleX="1" scaleY="1" rotation="0"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="195" x="20.200000000000003" y="-47" scaleX="0.9992821249102656" scaleY="0.9992821249102656" rotation="-24.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="196" x="24.400000000000002" y="-56.75" scaleX="1" scaleY="1" rotation="-48.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="197" x="28.55" y="-66.5" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="-72.19999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="198" x="32.75" y="-76.19999999999999" scaleX="1" scaleY="1" rotation="-96.29999999999998"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="199" x="29.75" y="-71.85" scaleX="0.9971284996410624" scaleY="0.9971284996410624" rotation="-88.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="200" x="25.400000000000002" y="-63.4" scaleX="0.9956927494615937" scaleY="0.9956927494615937" rotation="-64.4"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="201" x="21.1" y="-54.95" rotation="-39.800000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="202" x="16.75" y="-46.6" rotation="-15.300000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="203" x="17.8" y="-54.1" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="33.3"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="204" x="23.8" y="-60.6" scaleX="0.9956927494615937" scaleY="0.9956927494615937" rotation="91"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="205" x="29.75" y="-67.1" scaleX="0.996410624551328" scaleY="0.996410624551328" rotation="148.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="206" x="30.8" y="-60.6" scaleX="0.9956927494615937" scaleY="0.9956927494615937" rotation="180.8"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="207" x="31.800000000000004" y="-54.1" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="212.8"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="208" x="29.200000000000003" y="-59.6" scaleX="0.9956927494615937" scaleY="0.9956927494615937" rotation="189.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="209" x="26.55" y="-65.14999999999999" rotation="166.2"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="210" x="24" y="-70.64999999999999" scaleX="0.996410624551328" scaleY="0.996410624551328" rotation="143.2"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="211" x="21.35" y="-59.45" scaleX="0.9956927494615937" scaleY="0.9956927494615937" rotation="86.69999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="212" x="18.75" y="-48.35" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="30.299999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="213" x="16.1" y="-37.300000000000004" scaleX="1" scaleY="1" rotation="0"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="214"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="215" x="14.15" y="-56.25" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="61.7"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="216" x="12.049999999999999" y="-75.14999999999999" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="123.80000000000001"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="217" x="6.75" y="-65.8" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="143.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="218" x="1.4" y="-56.45" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="164"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="219" x="-3.9" y="-47.1" scaleX="1" scaleY="1" rotation="184.3"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="220" x="-0.4" y="-52.6" scaleX="0.9971284996410624" scaleY="0.9971284996410624" rotation="168"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="221" x="3.0500000000000003" y="-58.1" rotation="151.7"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="222" x="6.6" y="-63.550000000000004" scaleX="0.996410624551328" scaleY="0.996410624551328" rotation="135.4"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="223" x="9.45" y="-58.35" scaleX="0.9956927494615937" scaleY="0.9956927494615937" rotation="94"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="224" x="12.35" y="-53.25" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="52.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="225" x="15.15" y="-48" scaleX="0.9992821249102656" scaleY="0.9992821249102656" rotation="11.299999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="226" x="23.05" y="-49.95" scaleX="0.996410624551328" scaleY="0.996410624551328" rotation="-6.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="227" x="23.35" y="-50.25" scaleX="0.9956927494615937" scaleY="0.9956927494615937" rotation="-10"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="228" x="23.650000000000002" y="-50.65" scaleX="0.9971284996410624" scaleY="0.9971284996410624" rotation="-13.200000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="229" x="21.150000000000002" y="-46.15" rotation="-8.800000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="230" x="18.6" y="-41.7" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="-4.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="231" x="16.1" y="-37.300000000000004" scaleX="1" scaleY="1" rotation="0"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="232" x="13.85" y="-39" scaleX="0.9985642498205313" scaleY="0.9985642498205313" rotation="23.599999999999998"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="233" x="11.5" y="-40.6" scaleX="0.9992821249102656" scaleY="0.9992821249102656" rotation="47.4"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="234" x="9.2" y="-42.2" rotation="70.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="235" x="16.1" y="-39.85" scaleX="0.9956927494615937" scaleY="0.9956927494615937" rotation="54.699999999999996"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="236" x="8.1" y="-38.7" scaleX="0.9928212491026561" scaleY="0.9928212491026561" rotation="58.7"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="237" x="-9.9" y="-38.65" scaleX="0.9913854989231874" scaleY="0.9913854989231874" rotation="66.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="238" x="-23.95" y="-71" scaleX="0.9942569992821249" scaleY="0.9942569992821249" rotation="136.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="239" x="-15.9" y="-35.35" scaleX="0.9978463747307967" scaleY="0.9978463747307967" rotation="206.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="240"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="241" x="12.1" y="-23.35"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="242" x="46.1" y="-27.35"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="243" x="81.1" y="-28.35"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="244" x="119.05" y="-35.35"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="245" x="62.050000000000004" y="-94.35" scaleX="0.9971284996410624" scaleY="0.9971284996410624" rotation="106.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="246" x="43.95" y="-95.35" scaleX="0.9956927494615937" scaleY="0.9956927494615937" rotation="42.3"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="247" scaleX="0.9942569992821249" scaleY="0.9942569992821249" rotation="6.699999999999996"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="248" x="38.95" y="-89.35" rotation="3.1999999999999957"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="249"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="250" x="82.89999999999999" y="-47.35" scaleX="0.9921033740129217" scaleY="0.9921033740129217" rotation="-45.199999999999996"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="251"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="252" x="86.89999999999999" y="-40.35"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="253" x="91.89999999999999" y="-9.35"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="254" x="60.800000000000004" y="-72.44999999999999" scaleX="0.9913854989231874" scaleY="0.9913854989231874" rotation="106.69999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="255" x="74.85" y="-87.39999999999999" scaleX="0.9892318736539841" scaleY="0.9892318736539841" rotation="158.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="256" y="-87.44999999999999" scaleX="0.9885139985642498" scaleY="0.9885139985642498" rotation="226.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="257" x="67.85" y="-96.5" scaleX="0.9863603732950468" scaleY="0.9863603732950468" rotation="-84.29999999999998"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="258" x="56.9" y="-89.64999999999999" scaleX="0.9856424982053122" scaleY="0.9856424982053122" rotation="-16.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="259" scaleX="0.9842067480258435" scaleY="0.9842067480258435" rotation="24.7"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="260" y="-89.6" scaleX="0.9827709978463747" scaleY="0.9827709978463747" rotation="61.599999999999994"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="261" scaleX="0.9813352476669059" scaleY="0.9813352476669059" rotation="88.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="262" y="-89.5" scaleX="0.9798994974874372" scaleY="0.9798994974874372" rotation="124.69999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="263" y="-76.5" scaleX="0.9784637473079684" scaleY="0.9784637473079684" rotation="139.2"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="264" x="54.95" y="-119.55" scaleX="0.9770279971284996" scaleY="0.9770279971284996" rotation="108.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="265" x="0.9999999999999999" y="-126.6" scaleX="0.9755922469490308" scaleY="0.9755922469490308" rotation="49.4"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="266" x="-36.949999999999996" y="-141.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="267" x="-75.95" y="-135.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="268" x="-93.95" y="-136.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="269"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="270" x="-28.95" y="-145.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="271" x="41" y="-119.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="272" x="57" y="-56.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="273" y="-56.65" scaleX="0.9741564967695621" scaleY="0.9741564967695621" rotation="93.8"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="274" y="-56.7" scaleX="0.9727207465900933" scaleY="0.9727207465900933" rotation="123.4"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="275" x="63" y="-71.69999999999999" scaleX="0.972002871500359" scaleY="0.972002871500359" rotation="141.9"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="276" y="-73.69999999999999" rotation="146.7"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="277" blank="true" tweenSync="true"/> <Keyframe index="278" blank="true" tweenSync="true"/> <Keyframe index="279" blank="true" tweenSync="true"/> <Keyframe index="280" blank="true" tweenSync="true"/> <Keyframe index="281" blank="true" tweenSync="true"/> <Keyframe index="282" blank="true" tweenSync="true"/> <Keyframe index="283" blank="true" tweenSync="true"/> <Keyframe index="284" blank="true" tweenSync="true"/> <Keyframe index="285" blank="true" tweenSync="true"/> <Keyframe index="286" blank="true" tweenSync="true"/> <Keyframe index="287" blank="true" tweenSync="true"/> <Keyframe index="288" blank="true" tweenSync="true"/> <Keyframe index="289" blank="true" tweenSync="true"/> <Keyframe index="290" blank="true" tweenSync="true"/> <Keyframe index="291" blank="true" tweenSync="true"/> <Keyframe index="292" blank="true" tweenSync="true"/> <Keyframe index="293" blank="true" tweenSync="true"/> <Keyframe index="294" blank="true" tweenSync="true"/> <Keyframe index="295" blank="true" tweenSync="true"/> <Keyframe index="296" blank="true" tweenSync="true"/> <Keyframe index="297" blank="true" tweenSync="true"/> <Keyframe index="298" blank="true" tweenSync="true"/> <Keyframe index="299" blank="true" tweenSync="true"/> <Keyframe index="300" blank="true" tweenSync="true"/> <Keyframe index="301" blank="true" tweenSync="true"/> <Keyframe index="302" blank="true" tweenSync="true"/> <Keyframe index="303" blank="true" tweenSync="true"/> <Keyframe index="304" blank="true" tweenSync="true"/> <Keyframe index="305" blank="true" tweenSync="true"/> <Keyframe index="306" blank="true" tweenSync="true"/> <Keyframe index="307" blank="true" tweenSync="true"/> <Keyframe index="308" blank="true" tweenSync="true"/> <Keyframe index="309" blank="true" tweenSync="true"/> <Keyframe index="310" blank="true" tweenSync="true"/> <Keyframe index="311" blank="true" tweenSync="true"/> <Keyframe index="312" blank="true" tweenSync="true"/> <Keyframe index="313" blank="true" tweenSync="true"/> <Keyframe index="314" blank="true" tweenSync="true"/> <Keyframe index="315" blank="true" tweenSync="true"/> <Keyframe index="316" blank="true" tweenSync="true"/> <Keyframe index="317" blank="true" tweenSync="true"/> <Keyframe index="318" blank="true" tweenSync="true"/> <Keyframe index="319" blank="true" tweenSync="true"/> <Keyframe index="320" blank="true" tweenSync="true"/> <Keyframe index="321" blank="true" tweenSync="true"/> <Keyframe index="322" blank="true" tweenSync="true"/> <Keyframe index="323" blank="true" tweenSync="true"/> <Keyframe index="324" blank="true" tweenSync="true"/> </Motion> </data> ; static var xml1:XML = <data> <Motion duration="325"> <source> <Source frameRate="34" x="36" y="-53.8" scaleX="1.395" scaleY="1.395" rotation="-54.2" elementType="movie clip" instanceName="head" symbolName="marker1"> <dimensions> <Rectangle left="-5.9" top="-5.9" width="10.9" height="10.9"/> </dimensions> <transformationPoint> <Point x="0.5412844036697247" y="0.5412844036697247"/> </transformationPoint> </Source> </source> <Keyframe index="0"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="1" y="-0.10000000000000142" scaleX="0.9985663082437276" scaleY="0.9985663082437276"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="2" y="-0.25"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="3" y="-0.4000000000000057"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="4" y="-0.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="5" y="-0.6500000000000057"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="6" y="-0.8000000000000043"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="7" x="0" y="-1" scaleX="1" scaleY="1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="8" y="-0.8000000000000043" scaleX="0.9985663082437276" scaleY="0.9985663082437276"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="9" y="-0.6500000000000057"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="10" y="-0.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="11" y="-0.4000000000000057"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="12" y="-0.25"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="13" y="-0.10000000000000142"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="14" y="0" scaleX="1" scaleY="1"/> <Keyframe index="15" x="-9.5" y="-12.5" scaleX="0.9992831541218637" scaleY="0.9992831541218637" rotation="-14.299999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="16" x="-13.05" y="-9.650000000000006" scaleX="0.9971326164874552" scaleY="0.9971326164874552" rotation="-5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="17" x="-16.65" y="-6.650000000000006" rotation="4.600000000000001"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="18" x="-20.3" y="-3.75" scaleX="0.996415770609319" scaleY="0.996415770609319" rotation="14.100000000000001"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="19" x="-23.85" y="-0.8000000000000043" rotation="23.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="20" x="-27.5" y="2.0999999999999943" scaleX="0.9971326164874552" scaleY="0.9971326164874552" rotation="32.900000000000006"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="21" x="-21.75" y="0.3999999999999986" scaleX="0.9949820788530465" scaleY="0.9949820788530465" rotation="20.800000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="22" x="-15.95" y="-1.25" scaleX="0.9942652329749104" scaleY="0.9942652329749104" rotation="8.600000000000001"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="23" x="-10.25" y="-3" scaleX="0.9956989247311828" scaleY="0.9956989247311828" rotation="-3.6999999999999957"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="24" x="-8.95" y="-8.150000000000006" scaleX="0.9935483870967741" scaleY="0.9935483870967741" rotation="-12.700000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="25" x="-7.699999999999999" y="-13.299999999999997" rotation="-21.700000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="26" x="-6.5" y="-18.5" scaleX="0.9942652329749104" scaleY="0.9942652329749104" rotation="-30.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="27" x="-8.05" y="-21.549999999999997" scaleX="0.9935483870967741" scaleY="0.9935483870967741" rotation="-36.099999999999994"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="28" x="-9.55" y="-24.5" scaleX="0.992831541218638" scaleY="0.992831541218638" rotation="-41.599999999999994"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="29" x="-10.75" y="-21.900000000000006" rotation="-47.39999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="30" x="-10.55" y="-19.60000000000001" scaleX="0.9942652329749104" scaleY="0.9942652329749104" rotation="-39.099999999999994"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="31" x="-10.149999999999999" y="-17.200000000000003" scaleX="0.9956989247311828" scaleY="0.9956989247311828" rotation="-31"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="32" x="-9.8" y="-14.850000000000009" scaleX="0.9971326164874552" scaleY="0.9971326164874552" rotation="-22.700000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="33" x="-9.5" y="-12.5" scaleX="0.9992831541218637" scaleY="0.9992831541218637" rotation="-14.299999999999997"/> <Keyframe index="34" x="4.5" y="-3.4000000000000057" scaleX="0.996415770609319" scaleY="0.996415770609319" rotation="28.300000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="35" x="5.049999999999997" y="-3.700000000000003" scaleX="0.9949820788530465" scaleY="0.9949820788530465" rotation="28.400000000000002"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="36" x="5.5" y="-4.100000000000001"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="37" x="6" y="-4.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="38" x="6.450000000000003" y="-4.900000000000006"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="39" x="6.950000000000003" y="-5.300000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="40" x="7.399999999999999" y="-5.700000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="41" x="7.899999999999999" y="-6.100000000000001"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="42" x="8.350000000000001" y="-6.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="43" x="8.850000000000001" y="-6.900000000000006"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="44" x="9.25" y="-7.400000000000006" scaleX="0.996415770609319" scaleY="0.996415770609319" rotation="28.300000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="45" x="8.700000000000003" y="-6.900000000000006" scaleX="0.9949820788530465" scaleY="0.9949820788530465" rotation="28.400000000000002"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="46" x="8.200000000000003" y="-6.450000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="47" x="7.649999999999999" y="-6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="48" x="7.149999999999999" y="-5.550000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="49" x="6.600000000000001" y="-5.150000000000006"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="50" x="6.100000000000001" y="-4.700000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="51" x="5.549999999999997" y="-4.25"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="52" x="5.049999999999997" y="-3.8000000000000043"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="53" x="4.5" y="-3.4000000000000057" scaleX="0.996415770609319" scaleY="0.996415770609319" rotation="28.300000000000004"/> <Keyframe index="54" tweenSnap="true" tweenSync="true" x="0" y="0" scaleX="1" scaleY="1" rotation="0"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="55" tweenSnap="true" tweenSync="true" y="8" scaleX="0.9985663082437276" scaleY="0.9978494623655914" rotation="12.300000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="56" tweenSnap="true" tweenSync="true" x="-0.04999999999999716" y="16.049999999999997" scaleX="0.9978494623655914" rotation="24.6"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="57" tweenSnap="true" tweenSync="true" y="24.049999999999997" scaleX="0.9985663082437276" scaleY="0.9985663082437276" rotation="37.1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="58" tweenSnap="true" tweenSync="true" x="0" y="31.999999999999996" rotation="49.400000000000006"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="59" tweenSync="true" y="40" rotation="61.6"/> <Keyframe index="60" tweenSync="true"/> <Keyframe index="61" tweenSync="true"/> <Keyframe index="62" tweenSync="true"/> <Keyframe index="63" tweenSync="true"/> <Keyframe index="64" tweenSync="true"/> <Keyframe index="65" tweenSync="true"/> <Keyframe index="66" tweenSync="true"/> <Keyframe index="67" tweenSync="true"/> <Keyframe index="68" blank="true"/> <Keyframe index="69" blank="true"/> <Keyframe index="70" blank="true"/> <Keyframe index="71" blank="true"/> <Keyframe index="72" blank="true"/> <Keyframe index="73" blank="true"/> <Keyframe index="74" blank="true"/> <Keyframe index="75" blank="true"/> <Keyframe index="76" blank="true"/> <Keyframe index="77" blank="true"/> <Keyframe index="78" blank="true"/> <Keyframe index="79" blank="true"/> <Keyframe index="80" blank="true"/> <Keyframe index="81" blank="true"/> <Keyframe index="82" blank="true"/> <Keyframe index="83" blank="true"/> <Keyframe index="84" blank="true"/> <Keyframe index="85" blank="true"/> <Keyframe index="86" blank="true"/> <Keyframe index="87" x="-0.6499999999999986" y="-0.6500000000000057" scaleX="0.9992831541218637" scaleY="0.9992831541218637" rotation="0"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="88" x="-0.7999999999999972" y="-1.8000000000000043" scaleX="0.9978494623655914" scaleY="0.9978494623655914" rotation="-7.699999999999996"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="89" x="-1.0499999999999972" y="-3" rotation="-15.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="90" x="-1.2999999999999972" y="-4.150000000000006" rotation="-23.299999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="91" x="-1.3999999999999986" y="-5.450000000000003" rotation="-31"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="92" x="-1.6499999999999986" y="-6.600000000000001" rotation="-38.599999999999994"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="93" x="-1.7999999999999972" y="-7.850000000000001" rotation="-46.099999999999994"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="94" x="-2.049999999999997" y="-9.050000000000004" scaleX="0.9971326164874552" scaleY="0.9971326164874552" rotation="-53.89999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="95" x="-2.200000000000003" y="-10.200000000000003" scaleX="0.996415770609319" scaleY="0.996415770609319" rotation="-61.599999999999994"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="96" x="-2.450000000000003" y="-11.450000000000003" rotation="-69.39999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="97" x="-2.6499999999999986" y="-12.650000000000006" scaleX="0.9971326164874552" scaleY="0.9971326164874552" rotation="-77.10000000000001"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="98" x="-2.75" y="-13" scaleX="0.9956989247311828" scaleY="0.9956989247311828"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="99" y="-13.400000000000006"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="100" x="-2.799999999999997" y="-13.799999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="101" x="-2.8500000000000014" y="-14.150000000000006"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="102" x="-2.8999999999999986" y="-14.549999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="103" y="-14.950000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="104" y="-15.400000000000006" scaleX="0.9971326164874552" scaleY="0.9971326164874552"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="105" x="-2.8500000000000014" y="-14.950000000000003" scaleX="0.9956989247311828" scaleY="0.9956989247311828"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="106" y="-14.549999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="107" x="-2.799999999999997" y="-14.150000000000006"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="108" x="-2.75" y="-13.799999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="109" x="-2.700000000000003" y="-13.400000000000006"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="110" y="-13"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="111" x="-2.6499999999999986" y="-12.650000000000006" scaleX="0.9971326164874552" scaleY="0.9971326164874552"/> <Keyframe index="112"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="113" x="-2.5" y="-11.299999999999997" scaleX="0.996415770609319" scaleY="0.996415770609319" rotation="-68.39999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="114" x="-2.200000000000003" y="-10" rotation="-59.89999999999999"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="115" x="-2.049999999999997" y="-8.650000000000006" scaleX="0.9971326164874552" scaleY="0.9971326164874552" rotation="-51.3"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="116" x="-1.7999999999999972" y="-7.300000000000004" scaleX="0.9978494623655914" scaleY="0.9978494623655914" rotation="-42.8"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="117" x="-1.5499999999999972" y="-5.950000000000003" scaleX="0.9985663082437276" scaleY="0.9985663082437276" rotation="-34.3"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="118" x="-1.2999999999999972" y="-4.650000000000006" scaleX="0.9978494623655914" scaleY="0.9978494623655914" rotation="-25.799999999999997"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="119" x="-1.1499999999999986" y="-3.3000000000000043" rotation="-17.200000000000003"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="120" x="-0.8500000000000014" y="-2" rotation="-8.699999999999996"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="121" x="-0.6499999999999986" y="-0.6500000000000057" scaleX="0.9992831541218637" scaleY="0.9992831541218637" rotation="0"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="122" blank="true" tweenSync="true"/> <Keyframe index="123" blank="true" tweenSync="true"/> <Keyframe index="124" blank="true" tweenSync="true"/> <Keyframe index="125" blank="true" tweenSync="true"/> <Keyframe index="126" blank="true" tweenSync="true"/> <Keyframe index="127" blank="true" tweenSync="true"/> <Keyframe index="128" blank="true" tweenSync="true"/> <Keyframe index="129" blank="true" tweenSync="true"/> <Keyframe index="130" blank="true" tweenSync="true"/> <Keyframe index="131" blank="true" tweenSync="true"/> <Keyframe index="132" blank="true" tweenSync="true"/> <Keyframe index="133" blank="true" tweenSync="true"/> <Keyframe index="134" blank="true" tweenSync="true"/> <Keyframe index="135" blank="true" tweenSync="true"/> <Keyframe index="136" blank="true" tweenSync="true"/> <Keyframe index="137" blank="true" tweenSync="true"/> <Keyframe index="138" blank="true" tweenSync="true"/> <Keyframe index="139" blank="true" tweenSync="true"/> <Keyframe index="140" blank="true" tweenSync="true"/> <Keyframe index="141" blank="true" tweenSync="true"/> <Keyframe index="142" blank="true" tweenSync="true"/> <Keyframe index="143" blank="true" tweenSync="true"/> <Keyframe index="144" blank="true" tweenSync="true"/> <Keyframe index="145" blank="true" tweenSync="true"/> <Keyframe index="146" blank="true" tweenSync="true"/> <Keyframe index="147" blank="true" tweenSync="true"/> <Keyframe index="148" blank="true" tweenSync="true"/> <Keyframe index="149" blank="true" tweenSync="true"/> <Keyframe index="150" blank="true" tweenSync="true"/> <Keyframe index="151" blank="true" tweenSync="true"/> <Keyframe index="152" blank="true" tweenSync="true"/> <Keyframe index="153" blank="true" tweenSync="true"/> <Keyframe index="154" blank="true" tweenSync="true"/> <Keyframe index="155" blank="true" tweenSync="true"/> <Keyframe index="156" blank="true" tweenSync="true"/> <Keyframe index="157" blank="true" tweenSync="true"/> <Keyframe index="158" blank="true" tweenSync="true"/> <Keyframe index="159" blank="true" tweenSync="true"/> <Keyframe index="160" blank="true" tweenSync="true"/> <Keyframe index="161" blank="true" tweenSync="true"/> <Keyframe index="162" blank="true" tweenSync="true"/> <Keyframe index="163" blank="true" tweenSync="true"/> <Keyframe index="164" blank="true" tweenSync="true"/> <Keyframe index="165" blank="true" tweenSync="true"/> <Keyframe index="166" blank="true" tweenSync="true"/> <Keyframe index="167" blank="true" tweenSync="true"/> <Keyframe index="168" blank="true" tweenSync="true"/> <Keyframe index="169" blank="true" tweenSync="true"/> <Keyframe index="170" blank="true" tweenSync="true"/> <Keyframe index="171" blank="true" tweenSync="true"/> <Keyframe index="172" blank="true" tweenSync="true"/> <Keyframe index="173" blank="true" tweenSync="true"/> <Keyframe index="174" blank="true" tweenSync="true"/> <Keyframe index="175" blank="true" tweenSync="true"/> <Keyframe index="176" blank="true" tweenSync="true"/> <Keyframe index="177" blank="true" tweenSync="true"/> <Keyframe index="178" blank="true" tweenSync="true"/> <Keyframe index="179" blank="true" tweenSync="true"/> <Keyframe index="180" blank="true" tweenSync="true"/> <Keyframe index="181" blank="true" tweenSync="true"/> <Keyframe index="182" blank="true" tweenSync="true"/> <Keyframe index="183" blank="true" tweenSync="true"/> <Keyframe index="184" blank="true" tweenSync="true"/> <Keyframe index="185" blank="true" tweenSync="true"/> <Keyframe index="186" blank="true" tweenSync="true"/> <Keyframe index="187" blank="true" tweenSync="true"/> <Keyframe index="188" blank="true" tweenSync="true"/> <Keyframe index="189" blank="true" tweenSync="true"/> <Keyframe index="190" blank="true" tweenSync="true"/> <Keyframe index="191" blank="true" tweenSync="true"/> <Keyframe index="192" blank="true" tweenSync="true"/> <Keyframe index="193" blank="true" tweenSync="true"/> <Keyframe index="194" blank="true" tweenSync="true"/> <Keyframe index="195" blank="true" tweenSync="true"/> <Keyframe index="196" blank="true" tweenSync="true"/> <Keyframe index="197" blank="true" tweenSync="true"/> <Keyframe index="198" blank="true" tweenSync="true"/> <Keyframe index="199" blank="true" tweenSync="true"/> <Keyframe index="200" blank="true" tweenSync="true"/> <Keyframe index="201" blank="true" tweenSync="true"/> <Keyframe index="202" blank="true" tweenSync="true"/> <Keyframe index="203" blank="true" tweenSync="true"/> <Keyframe index="204" blank="true" tweenSync="true"/> <Keyframe index="205" blank="true" tweenSync="true"/> <Keyframe index="206" blank="true" tweenSync="true"/> <Keyframe index="207" blank="true" tweenSync="true"/> <Keyframe index="208" blank="true" tweenSync="true"/> <Keyframe index="209" blank="true" tweenSync="true"/> <Keyframe index="210" blank="true" tweenSync="true"/> <Keyframe index="211" blank="true" tweenSync="true"/> <Keyframe index="212" blank="true" tweenSync="true"/> <Keyframe index="213" blank="true" tweenSync="true"/> <Keyframe index="214" blank="true" tweenSync="true"/> <Keyframe index="215" blank="true" tweenSync="true"/> <Keyframe index="216" blank="true" tweenSync="true"/> <Keyframe index="217" blank="true" tweenSync="true"/> <Keyframe index="218" blank="true" tweenSync="true"/> <Keyframe index="219" blank="true" tweenSync="true"/> <Keyframe index="220" blank="true" tweenSync="true"/> <Keyframe index="221" blank="true" tweenSync="true"/> <Keyframe index="222" blank="true" tweenSync="true"/> <Keyframe index="223" blank="true" tweenSync="true"/> <Keyframe index="224" blank="true" tweenSync="true"/> <Keyframe index="225" blank="true" tweenSync="true"/> <Keyframe index="226" blank="true" tweenSync="true"/> <Keyframe index="227" blank="true" tweenSync="true"/> <Keyframe index="228" blank="true" tweenSync="true"/> <Keyframe index="229" blank="true" tweenSync="true"/> <Keyframe index="230" blank="true" tweenSync="true"/> <Keyframe index="231" blank="true" tweenSync="true"/> <Keyframe index="232" blank="true" tweenSync="true"/> <Keyframe index="233" blank="true" tweenSync="true"/> <Keyframe index="234" blank="true" tweenSync="true"/> <Keyframe index="235" blank="true" tweenSync="true"/> <Keyframe index="236" blank="true" tweenSync="true"/> <Keyframe index="237" blank="true" tweenSync="true"/> <Keyframe index="238" blank="true" tweenSync="true"/> <Keyframe index="239" blank="true" tweenSync="true"/> <Keyframe index="240" blank="true" tweenSync="true"/> <Keyframe index="241" blank="true" tweenSync="true"/> <Keyframe index="242" blank="true" tweenSync="true"/> <Keyframe index="243" blank="true" tweenSync="true"/> <Keyframe index="244" blank="true" tweenSync="true"/> <Keyframe index="245" blank="true" tweenSync="true"/> <Keyframe index="246" blank="true" tweenSync="true"/> <Keyframe index="247" blank="true" tweenSync="true"/> <Keyframe index="248" blank="true" tweenSync="true"/> <Keyframe index="249" blank="true" tweenSync="true"/> <Keyframe index="250" blank="true" tweenSync="true"/> <Keyframe index="251" blank="true" tweenSync="true"/> <Keyframe index="252" blank="true" tweenSync="true"/> <Keyframe index="253" blank="true" tweenSync="true"/> <Keyframe index="254" blank="true" tweenSync="true"/> <Keyframe index="255" blank="true" tweenSync="true"/> <Keyframe index="256" blank="true" tweenSync="true"/> <Keyframe index="257" blank="true" tweenSync="true"/> <Keyframe index="258" blank="true" tweenSync="true"/> <Keyframe index="259" blank="true" tweenSync="true"/> <Keyframe index="260" blank="true" tweenSync="true"/> <Keyframe index="261" blank="true" tweenSync="true"/> <Keyframe index="262" blank="true" tweenSync="true"/> <Keyframe index="263" blank="true" tweenSync="true"/> <Keyframe index="264" blank="true" tweenSync="true"/> <Keyframe index="265" blank="true" tweenSync="true"/> <Keyframe index="266" blank="true" tweenSync="true"/> <Keyframe index="267" blank="true" tweenSync="true"/> <Keyframe index="268" blank="true" tweenSync="true"/> <Keyframe index="269" blank="true" tweenSync="true"/> <Keyframe index="270" blank="true" tweenSync="true"/> <Keyframe index="271" blank="true" tweenSync="true"/> <Keyframe index="272" blank="true" tweenSync="true"/> <Keyframe index="273" blank="true" tweenSync="true"/> <Keyframe index="274" blank="true" tweenSync="true"/> <Keyframe index="275" blank="true" tweenSync="true"/> <Keyframe index="276" blank="true" tweenSync="true"/> <Keyframe index="277" blank="true"/> <Keyframe index="278" blank="true"/> <Keyframe index="279" blank="true"/> <Keyframe index="280" blank="true"/> <Keyframe index="281" blank="true"/> <Keyframe index="282" blank="true"/> <Keyframe index="283" blank="true"/> <Keyframe index="284" blank="true"/> <Keyframe index="285" blank="true"/> <Keyframe index="286" blank="true"/> <Keyframe index="287" blank="true"/> <Keyframe index="288" blank="true"/> <Keyframe index="289" blank="true"/> <Keyframe index="290" blank="true"/> <Keyframe index="291" blank="true" tweenSync="true"/> <Keyframe index="292" blank="true" tweenSync="true"/> <Keyframe index="293" blank="true" tweenSync="true"/> <Keyframe index="294" blank="true" tweenSync="true"/> <Keyframe index="295" blank="true" tweenSync="true"/> <Keyframe index="296" blank="true" tweenSync="true"/> <Keyframe index="297" blank="true" tweenSync="true"/> <Keyframe index="298" blank="true" tweenSync="true"/> <Keyframe index="299" blank="true" tweenSync="true"/> <Keyframe index="300" blank="true" tweenSync="true"/> <Keyframe index="301" blank="true" tweenSync="true"/> <Keyframe index="302" blank="true" tweenSync="true"/> <Keyframe index="303" blank="true" tweenSync="true"/> <Keyframe index="304" blank="true" tweenSync="true"/> <Keyframe index="305" blank="true" tweenSync="true"/> <Keyframe index="306" blank="true" tweenSync="true"/> <Keyframe index="307" blank="true" tweenSync="true"/> <Keyframe index="308" blank="true" tweenSync="true"/> <Keyframe index="309" blank="true" tweenSync="true"/> <Keyframe index="310" blank="true" tweenSync="true"/> <Keyframe index="311" blank="true" tweenSync="true"/> <Keyframe index="312" blank="true" tweenSync="true"/> <Keyframe index="313" blank="true" tweenSync="true"/> <Keyframe index="314" blank="true" tweenSync="true"/> <Keyframe index="315" blank="true" tweenSync="true"/> <Keyframe index="316" blank="true" tweenSync="true"/> <Keyframe index="317" blank="true" tweenSync="true"/> <Keyframe index="318" blank="true" tweenSync="true"/> <Keyframe index="319" blank="true" tweenSync="true"/> <Keyframe index="320" blank="true" tweenSync="true"/> <Keyframe index="321" x="0" y="0" scaleX="1" scaleY="1"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="322" x="-14.75" y="6.599999999999994" scaleX="0.9985663082437276" scaleY="0.9985663082437276" rotation="21.5"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="323" x="-7.350000000000001" y="3.299999999999997" scaleX="0.9978494623655914" scaleY="0.9978494623655914" rotation="10.800000000000004"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="324" x="0" y="0" scaleX="1" scaleY="1" rotation="0"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> </Motion> </data> ; public static function GetFramePoint(_arg1:int, _arg2:int):AnimPoint{ var _local3:Array; var _local4:AnimPoint; _local3 = anims[_arg1]; for each (_local4 in _local3) { if (_local4.frame == _arg2){ return (_local4); }; }; return (null); } public static function InitOnce(){ anims = new Array(); XML.ignoreWhitespace = true; GetAnim(xml1); GetAnim(xml2); } static function GetAnim(_arg1:XML){ var _local2:Array; var _local3:XML; var _local4:int; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:XML; var _local12:Boolean; var _local13:AnimPoint; _local2 = new Array(); _local3 = new XML(_arg1); _local4 = _local3.Motion.Keyframe.length(); _local6 = 0; _local7 = 0; _local8 = 0; _local9 = Number(_local3.Motion.source.Source.@x); _local10 = Number(_local3.Motion.source.Source.@y); _local5 = 0; while (_local5 < _local4) { _local11 = _local3.Motion.Keyframe[_local5]; if (_local11.attribute("x") != undefined){ _local6 = Number(_local11.@x); }; if (_local11.attribute("y") != undefined){ _local7 = Number(_local11.@y); }; if (_local11.attribute("rotation") != undefined){ _local8 = Number(_local11.@rotation); _local8 = (((Math.PI * 2) / 360) * _local8); }; _local12 = false; if (_local11.attribute("blank") != undefined){ _local12 = true; }; if (!_local12){ _local13 = new AnimPoint(int(_local11.@index), (_local6 + _local9), (_local7 + _local10), _local8); _local2.push(_local13); }; _local5++; }; anims.push(_local2); } } }//package
Section 8
//arrow (arrow) package { import flash.display.*; public dynamic class arrow extends MovieClip { } }//package
Section 9
//arrowfire1 (arrowfire1) package { import flash.media.*; public dynamic class arrowfire1 extends Sound { } }//package
Section 10
//arrowfire2 (arrowfire2) package { import flash.media.*; public dynamic class arrowfire2 extends Sound { } }//package
Section 11
//arrowhit (arrowhit) package { import flash.media.*; public dynamic class arrowhit extends Sound { } }//package
Section 12
//arrowkill (arrowkill) package { import flash.media.*; public dynamic class arrowkill extends Sound { } }//package
Section 13
//BatPoo (BatPoo) package { import flash.display.*; public dynamic class BatPoo extends MovieClip { } }//package
Section 14
//belch0 (belch0) package { import flash.media.*; public dynamic class belch0 extends Sound { } }//package
Section 15
//belch1 (belch1) package { import flash.media.*; public dynamic class belch1 extends Sound { } }//package
Section 16
//belch2 (belch2) package { import flash.media.*; public dynamic class belch2 extends Sound { } }//package
Section 17
//BerzerkerBar (BerzerkerBar) package { import flash.display.*; public dynamic class BerzerkerBar extends MovieClip { } }//package
Section 18
//bezerk_screen (bezerk_screen) package { import flash.display.*; public dynamic class bezerk_screen extends MovieClip { } }//package
Section 19
//blood1 (blood1) package { import flash.display.*; public dynamic class blood1 extends MovieClip { } }//package
Section 20
//blood2 (blood2) package { import flash.display.*; public dynamic class blood2 extends MovieClip { } }//package
Section 21
//BloodParticle (BloodParticle) package { import flash.display.*; public dynamic class BloodParticle extends MovieClip { } }//package
Section 22
//Collision (Collision) package { import flash.geom.*; public class Collision { public static var stats_numPolyCollisionTests:int; public static var stats_numBBTests:int; public static var closestX:Number = 0; public static var closestY:Number = 0; public static var main:Main; public static var stats_numIntersections:int; static var PolyCollision_LineHit:Line; public static var IntersectionX:Number = 0; public static var IntersectionY:Number = 0; public static var closestInfiniteX:Number = 0; public static var closestInfiniteY:Number = 0; public static function EnemyPointInPolyCollision(_arg1:Poly, _arg2:GameObj){ var _local3:GameObj; for each (_local3 in GameObjects.objs) { if (((_local3.active) && (_local3.colFlag_isEnemy))){ if (GameObjectInPolyBoundingBox(_local3, _arg1)){ if (PointInConvexPoly(_local3.xpos, _local3.ypos, _arg1.lineList)){ _local3.EnemyHitByBullet(_arg2, true); }; }; }; }; } static function DotProduct(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; _local5 = ((_arg1 * _arg3) + (_arg2 * _arg4)); return (_local5); } static function PolyCollision(_arg1:GameObj, _arg2:Poly, _arg3:Number, _arg4:Number, _arg5:Number):Boolean{ var _local6:Array; var _local7:Array; var _local8:Line; var _local9:Boolean; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Line; var _local16:int; var _local17:int; var _local18:*; var _local19:Number; var _local20:Number; var _local21:Line; var _local22:Line; stats_numPolyCollisionTests++; _local6 = new Array(); _local7 = new Array(); _local11 = (_arg1.xpos + _arg3); _local12 = (_arg1.ypos + _arg4); _local13 = _arg5; _local14 = (_arg5 * _local13); for each (_local15 in _arg2.lineList) { _local9 = SideOfLine(_local15.x0, _local15.y0, _local15.x1, _local15.y1, _local11, _local12); if (_local9 == true){ _local10 = Dist2ToLine(_local15.x0, _local15.y0, _local15.x1, _local15.y1, _local11, _local12); if (_local10 < _local14){ _local6.push(_local15); _local7.push(_local10); }; }; }; _local18 = _local6.length; _local16 = 0; while (_local16 < (_local18 - 1)) { _local17 = _local16; while (_local17 < _local18) { _local19 = _local7[_local16]; _local20 = _local7[_local17]; _local21 = _local6[_local16]; _local22 = _local6[_local17]; if (_local20 < _local19){ _local7[_local16] = _local20; _local7[_local17] = _local19; _local6[_local16] = _local22; _local6[_local17] = _local21; }; _local17++; }; _local16++; }; _local16 = 0; while (_local16 < _local18) { _local8 = _local6[_local16]; _local9 = SideOfLine(_local8.x0, _local8.y0, _local8.x1, _local8.y1, _local11, _local12); if (_local9 == true){ _local10 = Dist2ToLine(_local8.x0, _local8.y0, _local8.x1, _local8.y1, _local11, _local12); if (_local10 < _local14){ stats_numIntersections++; Intersected(_arg1, _local8, closestX, closestY, _arg3, _arg4, _arg5); PolyCollision_LineHit = _local8; return (true); }; }; return (true); _local16++; }; return (false); } public static function ClosestPointOnLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local7 = (_arg5 - _arg1); _local8 = (_arg6 - _arg2); _local9 = (_arg3 - _arg1); _local10 = (_arg4 - _arg2); _local11 = ((_local9 * _local9) + (_local10 * _local10)); _local12 = ((_local7 * _local9) + (_local8 * _local10)); _local13 = (_local12 / _local11); closestInfiniteX = (_arg1 + (_local9 * _local13)); closestInfiniteY = (_arg2 + (_local10 * _local13)); if (_local13 < 0){ _local13 = 0; }; if (_local13 > 1){ _local13 = 1; }; closestX = (_arg1 + (_local9 * _local13)); closestY = (_arg2 + (_local10 * _local13)); } public static function GetSwitchInRange(_arg1:GameObj):GameObj{ var _local2:GameObj; return (null); return (null); } static function SideOfLine1(_arg1:Line, _arg2:Number, _arg3:Number):Boolean{ var _local4:Number; _local4 = DotProduct((_arg1.x1 - _arg1.x0), (_arg1.y1 - _arg1.y0), (_arg2 - _arg1.x0), (_arg3 - _arg1.y0)); if (_local4 < 0){ return (false); }; return (true); } public static function ManAttackCollision():void{ var _local1:GameObj; var _local2:GameObj; var _local3:Array; var _local4:Array; var _local5:Point; _local3 = new Array(); _local4 = new Array(); for each (_local1 in GameObjects.objs) { if (((_local1.active) && (_local1.colFlag_canGiveMelee))){ _local3.push(_local1); }; if (((_local1.active) && (_local1.colFlag_canReceiveMelee))){ _local4.push(_local1); }; }; for each (_local1 in _local3) { _local5 = _local1.GetMeleeHitPoint(); if (_local5 != null){ for each (_local2 in _local4) { if (_local1 != _local2){ if (Math.abs((_local1.ypos - _local2.ypos)) < 40){ if (Math.abs((_local1.xpos - _local2.xpos)) < 60){ if (_local1.xflip){ if (_local2.xpos < _local1.xpos){ _local2.MeleeHit(_local1); }; } else { if (_local2.xpos > _local1.xpos){ _local2.MeleeHit(_local1); }; }; }; }; }; }; }; }; } public static function XflipRectangle(_arg1:Rectangle):Rectangle{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = _arg1.x; _local3 = _arg1.width; _local4 = (_local2 + _local3); _arg1.x = -(_local4); return (_arg1); } public static function PlayerDeathZoneCollision():void{ var _local1:GameObj; var _local2:Poly; if (Game.goPlayer.colFlag_playercanbekilled == false){ return; }; _local1 = Game.goPlayer; for each (_local2 in Game.polygonList) { if (((((_local2.active) && ((_local2.type == Poly.polytype_ZONE)))) && ((_local2.subTypeName == "Death")))){ if (GameObjectInPolyBoundingBox(_local1, _local2)){ if (PointInConvexPoly(_local1.xpos, _local1.ypos, _local2.lineList)){ _local1.PlayerHitEnemy(null); return; }; }; }; }; } public static function ProbeFloorCollision(_arg1:Line):Boolean{ var _local2:Poly; var _local3:Line; for each (var _local6 in Game.polygonList) { _local2 = _local6; _local6; if (_local2.active){ for each (var _local8 in _local2.lineList) { _local3 = _local8; _local8; if (LineLineIntersection(_local3, _arg1)){ return (true); }; }; }; }; return (false); } public static function GetNearestEnemy(_arg1:Number, _arg2:Number):GameObj{ var _local3:GameObj; var _local4:Number; var _local5:GameObj; var _local6:Number; _local3 = null; _local4 = 99999999; for each (_local5 in GameObjects.objs) { if (((_local5.active) && (_local5.colFlag_isEnemy))){ _local6 = Utils.Dist2BetweenPoints(_arg1, _arg2, _local5.xpos, _local5.ypos); if (_local6 < _local4){ _local4 = _local6; _local3 = _local5; }; }; }; return (_local3); } static function Dist2Between(_arg1:GameObj, _arg2:GameObj):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg2.xpos - _arg1.xpos); _local4 = (_arg2.ypos - _arg1.ypos); return (((_local3 * _local3) + (_local4 * _local4))); } public static function FindPathByIndex(_arg1:int):Poly{ var _local2:int; var _local3:Poly; _local2 = 0; for each (_local3 in Game.polygonList) { if (((_local3.active) && ((_local3.type == Poly.polytype_PATH)))){ if (_local2 == _arg1){ return (_local3); }; _local2++; }; }; return (null); } static function Dist2BetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Number; _local5 = (_arg3 - _arg1); _local6 = (_arg4 - _arg2); return (((_local5 * _local5) + (_local6 * _local6))); } public static function FindNearestPathStartPointToPos(_arg1:Number, _arg2:Number):Poly{ var _local3:Poly; var _local4:Number; var _local5:Poly; var _local6:Point; var _local7:*; _local3 = null; _local4 = 99999999; for each (_local5 in Game.polygonList) { if (((_local5.active) && ((_local5.type == Poly.polytype_PATH)))){ _local6 = _local5.GetPoint(0); _local7 = Utils.Dist2BetweenPoints(_local6.x, _local6.y, _arg1, _arg2); if (_local7 < _local4){ _local4 = _local7; _local3 = _local5; }; }; }; return (_local3); } static function SideOfLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Boolean{ var _local7:Number; _local7 = DotProduct((_arg3 - _arg1), (_arg4 - _arg2), (_arg5 - _arg1), (_arg6 - _arg2)); if (_local7 < 0){ return (false); }; return (true); } static function PlayerObjectRectangleCollision(_arg1:GameObj):Boolean{ var _local2:GameObj; var _local3:ObjectDef; var _local4:ObjectDef; var _local5:Rectangle; var _local6:Rectangle; _local2 = Game.goPlayer; _local3 = _local2.objectDef; _local4 = _arg1.objectDef; _local5 = _local3.colRects[0].clone(); _local6 = _local4.colRects[0].clone(); _local5.x = (_local5.x + _local2.xpos); _local5.y = (_local5.y + _local2.ypos); _local6.x = (_local6.x + _arg1.xpos); _local6.y = (_local6.y + _arg1.ypos); return (_local5.intersects(_local6)); } static function GameObjectInPolyBoundingBox(_arg1:GameObj, _arg2:Poly):Boolean{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = (_arg1.radius + 50); _local4 = _arg1.xpos; _local5 = _arg1.ypos; if (_arg2.boundingRectangle == null){ return (false); }; stats_numBBTests++; if (_local4 < (_arg2.boundingRectangle.left - _local3)){ return (false); }; if (_local4 > (_arg2.boundingRectangle.right + _local3)){ return (false); }; if (_local5 < (_arg2.boundingRectangle.top - _local3)){ return (false); }; if (_local5 > (_arg2.boundingRectangle.bottom + _local3)){ return (false); }; return (true); } public static function PlayerEnemyBulletCollision(){ var _local1:GameObj; var _local2:Rectangle; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:GameObj; var _local7:Number; var _local8:Number; var _local9:Rectangle; _local1 = Game.goPlayer; _local2 = _local1.objectDef.colRects[0].clone(); if (_local1.xflip){ _local2 = XflipRectangle(_local2); }; _local2.x = (_local2.x + _local1.xpos); _local2.y = (_local2.y + _local1.ypos); for each (_local6 in GameObjects.objs) { if (((_local6.active) && (_local6.colFlag_isEnemyBullet))){ _local7 = _local6.xpos; _local8 = _local6.ypos; _local9 = _local1.GetObjectRectangle().clone(); if (_local6.xflip){ _local9 = XflipRectangle(_local9); }; _local9.x = (_local9.x + _local6.xpos); _local9.y = (_local9.y + _local6.ypos); if (_local9.intersects(_local2)){ _local1.PlayerHitEnemyBullet(_local6); }; }; }; } public static function BulletEnemyCollision(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Rectangle; var _local5:Rectangle; var _local6:GameObj; var _local7:Number; var _local8:Number; var _local9:Rectangle; var _local10:int; var _local11:GameObj; var _local12:ObjectDef; for each (_local6 in GameObjects.objs) { if (((_local6.active) && (_local6.colFlag_isPlayerBullet))){ _local7 = _local6.xpos; _local8 = _local6.ypos; _local9 = _local6.objectDef.colRects[0].clone(); if (_local6.xflip){ _local9 = XflipRectangle(_local9); }; _local9.x = (_local9.x + _local6.xpos); _local9.y = (_local9.y + _local6.ypos); _local10 = 0; for each (_local11 in GameObjects.objs) { if (((((_local11.active) && (_local11.colFlag_isEnemy))) && (!((_local11.controlMode == GameObj.generic_controlMode_hit))))){ _local12 = _local11.objectDef; if (_local11.colFlag_vulnerable){ for each (_local4 in _local12.vulnerableColRects) { _local5 = _local4.clone(); if (_local11.xflip){ _local5 = XflipRectangle(_local5); }; _local5.x = (_local5.x + _local11.xpos); _local5.y = (_local5.y + _local11.ypos); if (_local5.intersects(_local9)){ if (_local11.EnemyHitByBullet(_local6, false, true)){ }; }; }; } else { for each (_local4 in _local12.colRects) { _local5 = _local4.clone(); if (_local11.xflip){ _local5 = XflipRectangle(_local5); }; _local5.x = (_local5.x + _local11.xpos); _local5.y = (_local5.y + _local11.ypos); if (_local5.intersects(_local9)){ if (_local11.EnemyHitByBullet(_local6)){ _local10++; }; }; }; }; }; }; if (_local10 > 0){ Game.hitStringNum = _local10; Game.hitStringTime = (Game.hitStringTimeMax = 50); Game.hitStringX = _local6.xpos; Game.hitStringY = _local6.ypos; Game.hitStringAng = Utils.RandBetweenFloat(-0.2, 0.2); }; }; }; } public static function ObjectFallingSurfaceCollision(_arg1:GameObj, _arg2:int=3):Boolean{ var _local3:Array; var _local4:int; var _local5:Boolean; var _local6:Poly; var _local7:Line; var _local8:Point; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local3 = new Array(); _local3.push(new Point(0, 0)); _local3.push(new Point(-10, 0)); _local3.push(new Point(10, 0)); if (_arg1.yvel < 0){ return (false); }; for each (var _local16 in Game.polygonList) { _local6 = _local16; _local16; if (_local6.active){ for each (var _local18 in _local6.lineList) { _local7 = _local18; _local18; _local4 = 0; while (_local4 < _arg2) { _local8 = _local3[_local4]; _local9 = (_arg1.xpos + _local8.x); _local10 = (_arg1.ypos + _local8.y); if ((((_local9 >= _local7.x0)) && ((_local9 <= _local7.x1)))){ _local11 = ((1 / (_local7.x1 - _local7.x0)) * (_local9 - _local7.x0)); _local12 = (_local7.y0 + (_local7.dy * _local11)); _local13 = _local10; if ((((_local13 >= _local12)) && ((_local13 <= (_local12 + 20))))){ (_arg1.ypos = (_local12 - _local8.y)); return (true); }; }; _local4++; }; }; }; }; return (false); } public static function LineLineIntersection(_arg1:Line, _arg2:Line):Boolean{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local3 = _arg1.x0; _local4 = _arg1.y0; _local5 = _arg1.x1; _local6 = _arg1.y1; _local7 = _arg2.x0; _local8 = _arg2.y0; _local9 = _arg2.x1; _local10 = _arg2.y1; _local11 = (_local5 - _local3); _local12 = (_local9 - _local7); _local13 = ((_local6 - _local4) / _local11); _local14 = ((_local10 - _local8) / _local12); _local15 = (_local4 - (_local13 * _local3)); _local16 = (_local8 - (_local14 * _local7)); _local17 = ((_local15 - _local16) / (_local14 - _local13)); _local18 = (((_local13 * (_local16 - _local15)) / (_local13 - _local14)) + _local15); if (_arg1.boundingRect.contains(_local17, _local18)){ if (_arg2.boundingRect.contains(_local17, _local18)){ IntersectionX = _local17; IntersectionY = _local18; return (true); }; }; return (false); } public static function FindHighestFloorPos(_arg1:Number):Number{ var _local2:Number; var _local3:Boolean; var _local4:Poly; var _local5:Line; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; for each (_local4 in Game.polygonList) { if (_local4.active){ for each (_local5 in _local4.lineList) { _local6 = _arg1; _local7 = 0; if ((((_local6 >= _local5.x0)) && ((_local6 <= _local5.x1)))){ _local8 = ((1 / (_local5.x1 - _local5.x0)) * (_local6 - _local5.x0)); _local9 = (_local5.y0 + (_local5.dy * _local8)); return (_local9); }; }; }; }; return (999999); } public static function PlayerPickupCollision(){ var _local1:GameObj; var _local2:Number; var _local3:Number; var _local4:GameObj; var _local5:Number; _local1 = Game.goPlayer; if (_local1.isDead){ return; }; _local2 = _local1.xpos; _local3 = _local1.ypos; for each (_local4 in GameObjects.objs) { if (((_local4.active) && (_local4.colFlag_canBePickedUp))){ _local5 = Utils.Dist2BetweenPoints(_local4.xpos, _local4.ypos, _local2, _local3); if (_local5 < (30 * 30)){ _local4.PickupPickedUp(); }; }; }; } public static function PlayerPowerupCollision(){ var _local1:GameObj; if (Game.goPlayer.colFlag_playercanbekilled == false){ return; }; for each (_local1 in GameObjects.objs) { if (((_local1.active) && (_local1.colFlag_isPowerup))){ if (PlayerObjectRectangleCollision(_local1)){ }; }; }; } static function Dist2ToLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{ var _local7:Number; var _local8:Number; ClosestPointOnLine(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); _local7 = (closestX - _arg5); _local8 = (closestY - _arg6); return (((_local7 * _local7) + (_local8 * _local8))); } static function Intersected(_arg1:GameObj, _arg2:Line, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):void{ var _local8:int; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:int; var _local15:Number; _local8 = 50; _local9 = ((_arg1.oldxpos + _arg5) - _arg3); _local10 = ((_arg1.oldypos + _arg6) - _arg4); _local9 = (_local9 / Number(_local8)); _local10 = (_local10 / Number(_local8)); _local11 = (_arg1.xpos + _arg5); _local12 = (_arg1.ypos + _arg6); _local13 = (_arg7 * _arg7); _local14 = 0; while (_local14 < _local8) { _local11 = (_local11 + _local9); _local12 = (_local12 + _local10); _local15 = Dist2ToLine(_arg2.x0, _arg2.y0, _arg2.x1, _arg2.y1, _local11, _local12); if (_local15 > _local13){ _arg1.xpos = (_local11 - _arg5); _arg1.ypos = (_local12 - _arg6); return; }; _local14++; }; } public static function SingleObjectZoneCollision(_arg1:GameObj):Poly{ var _local2:Poly; for each (_local2 in Game.polygonList) { if (((_local2.active) && ((_local2.type == Poly.polytype_ZONE)))){ if (GameObjectInPolyBoundingBox(_arg1, _local2)){ if (PointInConvexPoly(_arg1.xpos, _arg1.ypos, _local2.lineList)){ return (_local2); }; }; }; }; return (null); } static function DistBetween(_arg1:GameObj, _arg2:GameObj):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg2.xpos - _arg1.xpos); _local4 = (_arg2.ypos - _arg1.ypos); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function BulletEnemyProjectileCollision(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Rectangle; var _local5:Rectangle; var _local6:GameObj; var _local7:Number; var _local8:Number; var _local9:Rectangle; var _local10:int; var _local11:GameObj; var _local12:ObjectDef; for each (_local6 in GameObjects.objs) { if (((_local6.active) && (_local6.colFlag_isPlayerBullet))){ _local7 = _local6.xpos; _local8 = _local6.ypos; _local9 = _local6.objectDef.colRects[0].clone(); if (_local6.xflip){ _local9 = XflipRectangle(_local9); }; _local9.x = (_local9.x + _local6.xpos); _local9.y = (_local9.y + _local6.ypos); _local10 = 0; for each (_local11 in GameObjects.objs) { if (((((_local11.active) && (_local11.colFlag_isEnemyBullet))) && (_local11.colFlag_isEnemyProjectile))){ _local12 = _local11.objectDef; for each (_local4 in _local12.colRects) { _local5 = _local4.clone(); if (_local11.xflip){ _local5 = XflipRectangle(_local5); }; _local5.x = (_local5.x + _local11.xpos); _local5.y = (_local5.y + _local11.ypos); if (_local5.intersects(_local9)){ if (_local11.EnemyProjectileHitByBullet(_local6)){ _local10++; }; }; }; }; }; }; }; } static function DistBetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Number; _local5 = (_arg3 - _arg1); _local6 = (_arg4 - _arg2); return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6)))); } public static function PointInConvexPoly(_arg1:Number, _arg2:Number, _arg3:Array):Boolean{ var _local4:int; var _local5:int; var _local6:Line; var _local7:Number; _local4 = _arg3.length; _local5 = 0; while (_local5 < _local4) { _local6 = _arg3[_local5]; _local7 = DotProduct((_local6.x0 - _arg1), (_local6.y0 - _arg2), _local6.nx, _local6.ny); if (_local7 < 0){ return (false); }; _local5++; }; return (true); } public static function Update(_arg1:Main){ (main = _arg1); (stats_numIntersections = 0); (stats_numBBTests = 0); (stats_numPolyCollisionTests = 0); BulletEnemyCollision(); BulletEnemyProjectileCollision(); PlayerPickupCollision(); PlayerEnemyBulletCollision(); } static function DistToLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; ClosestPointOnLine(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); _local7 = (closestX - _arg5); _local8 = (closestY - _arg6); _local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); return (_local9); } public static function SingleObjectPlatformCollision(_arg1:GameObj):GameObj{ var _local2:Number; var _local3:Number; var _local4:GameObj; var _local5:Rectangle; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; _local2 = _arg1.xpos; _local3 = _arg1.ypos; for each (_local4 in GameObjects.objs) { if (((_local4.active) && (_local4.colFlag_isPlatform))){ _local5 = _local4.GetObjectRectangle(); _local6 = (_local4.xpos + _local5.x); _local7 = (_local6 + _local5.width); _local8 = (_local4.ypos + _local5.y); _local9 = (_local8 + 15); if ((((((((((_local2 >= _local6)) && ((_local2 <= _local7)))) && ((_arg1.yvel >= 0)))) && ((_local3 >= _local8)))) && ((_local3 <= _local9)))){ return (_local4); }; }; }; return (null); } public static function GetPickupNearObject(_arg1:GameObj):GameObj{ var _local2:GameObj; for each (_local2 in GameObjects.objs) { if (((((_local2.active) && (_local2.isPickup))) && (!(_local2.isBeingCarried)))){ if (Utils.DistBetweenPoints(_arg1.xpos, _arg1.ypos, _local2.xpos, _local2.ypos) < 30){ return (_local2); }; }; }; return (null); } } }//package
Section 23
//Debug (Debug) package { public class Debug { public static var debugMode:int = 0; public static function RenderCollision(){ var _local1:Number; var _local2:Number; var _local3:int; var _local4:uint; var _local5:Line; var _local6:Line; var _local7:int; var _local8:Poly; return; } public static function Toggle(_arg1:int){ if ((debugMode & _arg1)){ debugMode = 0; } else { debugMode = (debugMode | _arg1); }; } } }//package
Section 24
//Defs (Defs) package { import flash.geom.*; public class Defs { public static const zpos_PICKUP = 1100; public static const zpos_ENEMY = 1000; public static const displayarea_w = 640; public static const zpos_OVERLAY = 500; public static const zpos_FAR = 10000; public static const zpos_PLAYER = 1000; public static const fps:Number = 34; public static const platformW2 = 15; public static const fps2:Number = 68; public static const zpos_BACKGROUND = 10000; public static const displayarea_h = 480; public static var pointZero:Point = new Point(0, 0); public static var screenRect:Rectangle = new Rectangle(0, 0, displayarea_w, displayarea_h); } }//package
Section 25
//DisplayObj (DisplayObj) package { import flash.events.*; import flash.geom.*; import flash.display.*; import flash.text.*; import flash.filters.*; public dynamic class DisplayObj { var currentSetupFrame:int; var flags:int; var mc:MovieClip; var ready:Boolean; var frames:Array; public var frame:int; public function DisplayObj(_arg1:MovieClip, _arg2:int, _arg3:Boolean=false):void{ frames = null; flags = _arg2; mc = _arg1; ready = false; frame = 0; currentSetupFrame = 1; if (_arg3){ if (mc != null){ GraphicObjects.totalFramesDone = (GraphicObjects.totalFramesDone + CreateBitmapsFromMovieClip(mc, flags)); ready = true; }; }; } public function GetBitmap():Bitmap{ return (frames[frame].bitmap); } public function CreateFont(_arg1:TextFormat):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:Matrix; var _local7:Rectangle; var _local8:Bitmap; var _local9:BitmapData; var _local10:Array; var _local11:TextField; var _local12:*; frames = new Array(); _local10 = CreateAsciiStringTable(); _local2 = 0; while (_local2 < _local10.length) { _local11 = new TextField(); _local11.textColor = 4294967295; _local11.selectable = false; _local11.embedFonts = true; _local11.autoSize = TextFieldAutoSize.LEFT; _local11.x = 0; _local11.y = 0; _local11.text = _local10[_local2]; _local11.setTextFormat(_arg1); _local12 = new DisplayObjFrame(); _local12.bitmaps = new Array(); _local12.xoffsets = new Array(); _local12.yoffsets = new Array(); _local12.mat = new Matrix(); _local12.colTrans = new ColorTransform(); _local7 = _local11.getBounds(null); _local6 = new Matrix(); _local12.xoffsets.push(0); _local12.yoffsets.push(0); _local8 = new Bitmap(); _local9 = new BitmapData(_local7.width, _local7.height, true, 0); _local9.draw(_local11, _local6); _local8.bitmapData = _local9; _local12.bitmaps.push(_local8); frames.push(_local12); _local2++; }; } public function RenderAt(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{ frames[frame].RenderAt(_arg1, _arg2, _arg3, _arg4); } public function GetMaxFrames():int{ return (frames.length); } public function GetFrame():int{ return (frame); } public function SetFrame(_arg1:int){ frame = _arg1; if (frame < 0){ frame = 0; }; if (frame >= frames.length){ frame = (frames.length - 1); }; } public function GetXOffset():Number{ return (frames[frame].xoffset); } public function CreateBitmapsFromMovieClip(_arg1:MovieClip, _arg2:int):int{ var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Matrix; var _local11:Rectangle; var _local12:Bitmap; var _local13:BitmapData; var _local14:Bitmap; var _local15:BitmapData; var _local16:ColorTransform; var _local17:*; var _local18:BlurFilter; _local3 = true; _local4 = false; if (_arg2 == 2){ _local4 = true; _arg2 = 0; }; if (_arg2 == 4){ _local3 = false; }; _local5 = false; if (_arg2 == 6){ _local5 = true; }; if (frames == null){ }; frames = new Array(); _local16 = new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, 0); _arg1.gotoAndStop(1); _local6 = 0; while (_local6 < _arg1.totalFrames) { _local17 = new DisplayObjFrame(); _local17.bitmaps = new Array(); _local17.xoffsets = new Array(); _local17.yoffsets = new Array(); _local17.mat = new Matrix(); _local17.colTrans = new ColorTransform(); _local11 = _arg1.getBounds(null); _local11.x = Math.floor(_local11.x); _local11.y = Math.floor(_local11.y); _local11.width = Math.floor((_local11.width + 1)); _local11.height = Math.floor((_local11.height + 1)); _local9 = Math.floor(_local9); _local10 = new Matrix(); _local8 = _local11.left; _local9 = _local11.top; _local10.translate(-(_local8), -(_local9)); _local17.xoffsets.push(Number(_local8)); _local17.yoffsets.push(Number(_local9)); if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){ _local12 = new Bitmap(); _local13 = new BitmapData(_local11.width, _local11.height, true, 0); if (_local5){ _local13.draw(_arg1, _local10, _local16); _local18 = new BlurFilter(); _local13.applyFilter(_local13, new Rectangle(0, 0, _local13.width, _local13.height), Defs.pointZero, _local18); _local12.bitmapData = _local13; _local17.bitmaps.push(_local12); } else { _local13.draw(_arg1, _local10); _local12.bitmapData = _local13; _local17.bitmaps.push(_local12); }; } else { _local17.bitmaps.push(null); }; if (_local4){ _local11 = _arg1.getBounds(null); _local11.x = Math.floor(_local11.x); _local11.y = Math.floor(_local11.y); _local11.width = Math.floor((_local11.width + 1)); _local11.height = Math.floor((_local11.height + 1)); _local9 = Math.floor(_local9); _local10 = new Matrix(); _local8 = _local11.left; _local9 = _local11.top; _local10.translate(-(_local8), -(_local9)); _local10.scale(-1, 1); _local10.translate(_local11.width, 0); _local17.xoffsets.push(Number(-(_local11.right))); _local17.yoffsets.push(Number(_local9)); if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){ _local12 = new Bitmap(); _local13 = new BitmapData(_local11.width, _local11.height, true, 0); if (_local5){ _local13.draw(_arg1, _local10, _local16); _local18 = new BlurFilter(); _local13.applyFilter(_local13, new Rectangle(0, 0, _local13.width, _local13.height), Defs.pointZero, _local18); _local12.bitmapData = _local13; _local17.bitmaps.push(_local12); } else { _local13.draw(_arg1, _local10); _local12.bitmapData = _local13; _local17.bitmaps.push(_local12); }; } else { _local17.bitmaps.push(null); }; }; frames.push(_local17); _arg1.nextFrame(); _local6++; }; return (_arg1.totalFrames); } public function GetYOffset():Number{ return (frames[frame].yoffset); } function CreateAsciiStringTable():Array{ var _local1:Array; _local1 = new Array(); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(""); _local1.push(" "); _local1.push("!"); _local1.push("'"); _local1.push("#"); _local1.push("$"); _local1.push("%"); _local1.push("&"); _local1.push("'"); _local1.push("("); _local1.push(")"); _local1.push("*"); _local1.push("+"); _local1.push(","); _local1.push("-"); _local1.push("."); _local1.push("/"); _local1.push("0"); _local1.push("1"); _local1.push("2"); _local1.push("3"); _local1.push("4"); _local1.push("5"); _local1.push("6"); _local1.push("7"); _local1.push("8"); _local1.push("9"); _local1.push(":"); _local1.push(";"); _local1.push("<"); _local1.push("="); _local1.push(">"); _local1.push("?"); _local1.push("@"); _local1.push("A"); _local1.push("B"); _local1.push("C"); _local1.push("D"); _local1.push("E"); _local1.push("F"); _local1.push("G"); _local1.push("H"); _local1.push("I"); _local1.push("J"); _local1.push("K"); _local1.push("L"); _local1.push("M"); _local1.push("N"); _local1.push("O"); _local1.push("P"); _local1.push("Q"); _local1.push("R"); _local1.push("S"); _local1.push("T"); _local1.push("U"); _local1.push("V"); _local1.push("W"); _local1.push("X"); _local1.push("Y"); _local1.push("Z"); _local1.push("["); _local1.push("\\"); _local1.push("]"); _local1.push("^"); _local1.push("_"); _local1.push("'"); _local1.push("a"); _local1.push("b"); _local1.push("c"); _local1.push("d"); _local1.push("e"); _local1.push("f"); _local1.push("g"); _local1.push("h"); _local1.push("i"); _local1.push("j"); _local1.push("k"); _local1.push("l"); _local1.push("m"); _local1.push("n"); _local1.push("o"); _local1.push("p"); _local1.push("q"); _local1.push("r"); _local1.push("s"); _local1.push("t"); _local1.push("u"); _local1.push("v"); _local1.push("w"); _local1.push("x"); _local1.push("y"); _local1.push("z"); _local1.push("{"); _local1.push("|"); _local1.push("}"); _local1.push("~"); return (_local1); } public function CreateBitmapsFromMovieClip1(_arg1:MovieClip, _arg2:int):int{ var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:Matrix; var _local13:Rectangle; var _local14:Bitmap; var _local15:BitmapData; var _local16:Bitmap; var _local17:BitmapData; var _local18:Matrix; var _local19:ColorTransform; var _local20:ColorTransform; var _local21:int; var _local22:*; var _local23:BlurFilter; var _local24:Bitmap; var _local25:BitmapData; _local3 = false; _local4 = true; _local5 = true; if (_arg2 == 2){ _local3 = true; _arg2 = 0; }; if (_arg2 == 4){ _local4 = false; }; if (_arg2 == 5){ _local4 = false; _local5 = false; }; if (_arg2 == 3){ }; _local6 = false; if (_arg2 == 6){ _local6 = true; }; if (frames == null){ currentSetupFrame = 1; frames = new Array(); }; _local7 = false; _local12 = new Matrix(); _local18 = new Matrix(); _local19 = new ColorTransform(0, 0, 0, 0.5, 0, 0, 0, 0); _local20 = new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, 0); _local21 = 0; if (currentSetupFrame < (_arg1.totalFrames + 1)){ _arg1.gotoAndStop(currentSetupFrame); _local22 = new DisplayObjFrame(); _local22.bitmaps = new Array(); _local22.shadowBitmaps = new Array(); _local22.xoffsets = new Array(); _local22.yoffsets = new Array(); _local22.mat = new Matrix(); _local22.colTrans = new ColorTransform(); _local13 = _arg1.getBounds(null); _local13.x = Math.floor(_local13.x); _local13.y = Math.floor(_local13.y); _local13.width = Math.floor((_local13.width + 1)); _local13.height = Math.floor((_local13.height + 1)); _local11 = Math.floor(_local11); _local12.identity(); _local10 = _local13.left; _local11 = _local13.top; _local12.translate(-(_local10), -(_local11)); _local22.xoffsets.push(Number(_local10)); _local22.yoffsets.push(Number(_local11)); if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){ _local14 = new Bitmap(); _local15 = new BitmapData(_local13.width, _local13.height, _local5, 0); if (_local6){ _local15.draw(_arg1, _local12, _local20); _local23 = new BlurFilter(); _local15.applyFilter(_local15, new Rectangle(0, 0, _local15.width, _local15.height), Defs.pointZero, _local23); _local14.bitmapData = _local15; _local22.bitmaps.push(_local14); } else { _local15.draw(_arg1, _local12); _local14.bitmapData = _local15; _local22.bitmaps.push(_local14); }; if (_local4){ _local24 = new Bitmap(); _local25 = new BitmapData(_local13.width, _local13.height, _local5, 0); _local25.draw(_local15, null, _local19); _local24.bitmapData = _local25; _local22.shadowBitmaps.push(_local24); }; } else { _local22.bitmaps.push(null); _local22.shadowBitmaps.push(null); }; if (_local3){ _local13 = _arg1.getBounds(null); _local13.x = Math.floor(_local13.x); _local13.y = Math.floor(_local13.y); _local13.width = Math.floor((_local13.width + 1)); _local13.height = Math.floor((_local13.height + 1)); _local11 = Math.floor(_local11); _local12 = new Matrix(); _local10 = _local13.left; _local11 = _local13.top; _local12.translate(-(_local10), -(_local11)); _local12.scale(-1, 1); _local12.translate(_local13.width, 0); _local22.xoffsets.push(Number(-(_local13.right))); _local22.yoffsets.push(Number(_local11)); if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){ _local14 = new Bitmap(); _local15 = new BitmapData(_local13.width, _local13.height, true, 0); if (_local6){ _local15.draw(_arg1, _local12, _local20); _local23 = new BlurFilter(); _local15.applyFilter(_local15, new Rectangle(0, 0, _local15.width, _local15.height), Defs.pointZero, _local23); _local14.bitmapData = _local15; _local22.bitmaps.push(_local14); } else { _local15.draw(_arg1, _local12); _local14.bitmapData = _local15; _local22.bitmaps.push(_local14); }; } else { _local22.bitmaps.push(null); }; }; frames.push(_local22); currentSetupFrame++; _local21++; }; _local12 = null; _local19 = null; return (_local21); } public function GetFrameWidth(_arg1:int):Number{ return (frames[_arg1].bitmap.width); } public function RenderAtRot(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean):void{ if (_arg5){ frames[frame].RenderAtRotBurned(_arg1, _arg2, _arg3, _arg4); } else { frames[frame].RenderAtRot(_arg1, _arg2, _arg3, _arg4); }; } public function RenderAtColTrans(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:ColorTransform, _arg5:Boolean=false):void{ frames[frame].RenderAtColTrans(_arg1, _arg2, _arg3, _arg4, _arg5); } public function GetWidth():Number{ return (frames[frame].bitmap.width); } public function GetHeight():Number{ return (frames[frame].bitmap.height); } public function GetScaledBitmap():Bitmap{ return (frames[frame].scaledBitmap); } } }//package import flash.geom.*; import flash.display.*; class DisplayObjFrame { public var colTrans:ColorTransform; public var mat:Matrix; public var shadowBitmaps:Array; public var yoffsets:Array; public var xoffsets:Array; public var bitmaps:Array; private function DisplayObjFrame(){ } public function RenderAtScaled(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Number=1):void{ var _local6:Bitmap; var _local7:Number; var _local8:Number; _local6 = bitmaps[0]; _local7 = xoffsets[0]; _local8 = yoffsets[0]; if (_arg4){ _local6 = bitmaps[1]; _local7 = xoffsets[1]; _local8 = yoffsets[1]; }; mat.identity(); mat.scale(_arg5, _arg5); mat.translate((_arg2 + (_local7 * _arg5)), (_arg3 + (_local8 * _arg5))); if (_local6 != null){ if (_local6.bitmapData != null){ _arg1.draw(_local6.bitmapData, mat); }; }; } public function RenderAtShadow(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{ var _local5:Bitmap; var _local6:Number; var _local7:Number; _local5 = shadowBitmaps[0]; _local6 = xoffsets[0]; _local7 = yoffsets[0]; if (_arg4){ _local5 = shadowBitmaps[1]; _local6 = xoffsets[1]; _local7 = yoffsets[1]; }; _arg1.copyPixels(_local5.bitmapData, new Rectangle(0, 0, _local5.width, _local5.height), new Point((_arg2 + _local6), (_arg3 + _local7)), null, null, true); } public function RenderAt(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{ var _local5:Bitmap; var _local6:Number; var _local7:Number; _local5 = bitmaps[0]; _local6 = xoffsets[0]; _local7 = yoffsets[0]; if (_arg4){ _local5 = bitmaps[1]; _local6 = xoffsets[1]; _local7 = yoffsets[1]; }; _arg1.copyPixels(_local5.bitmapData, new Rectangle(0, 0, _local5.width, _local5.height), new Point((_arg2 + _local6), (_arg3 + _local7)), null, null, true); } public function RenderAtSplit(_arg1:BitmapData, _arg2:Number, _arg3:Number):void{ var _local4:int; var _local5:Bitmap; var _local6:Number; var _local7:Number; _local4 = 0; while (_local4 < bitmaps.length) { _local5 = bitmaps[_local4]; _local6 = xoffsets[_local4]; _local7 = yoffsets[_local4]; _arg1.copyPixels(_local5.bitmapData, new Rectangle(0, 0, _local5.width, _local5.height), new Point((_arg2 + _local6), (_arg3 + _local7)), null, null, true); _local4++; }; } public function RenderAtAlpha(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Bitmap; var _local6:Number; var _local7:Number; _local5 = bitmaps[0]; _local6 = xoffsets[0]; _local7 = yoffsets[0]; mat.identity(); mat.translate((_arg2 + _local6), (_arg3 + _local7)); colTrans.alphaMultiplier = _arg4; if (_local5 != null){ if (_local5.bitmapData != null){ _arg1.draw(_local5.bitmapData, mat, colTrans); }; }; } public function RenderAtFunction(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:String):void{ var _local6:Bitmap; var _local7:Number; var _local8:Number; _local6 = bitmaps[0]; _local7 = xoffsets[0]; _local8 = yoffsets[0]; mat.identity(); mat.translate((_arg2 + _local7), (_arg3 + _local8)); colTrans.alphaMultiplier = _arg4; if (_local6 != null){ if (_local6.bitmapData != null){ _arg1.draw(_local6.bitmapData, mat, colTrans, _arg5); }; }; } public function RenderAtRotScaled(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=0):void{ var _local7:Bitmap; var _local8:Number; var _local9:Number; _local7 = bitmaps[0]; _local8 = xoffsets[0]; _local9 = yoffsets[0]; if (_arg4){ _local7 = bitmaps[1]; _local8 = xoffsets[1]; _local9 = yoffsets[1]; }; mat.identity(); mat.translate(_local8, _local9); mat.rotate(_arg6); mat.translate(-(_local8), -(_local9)); mat.scale(_arg5, _arg5); mat.translate((_arg2 + (_local8 * _arg5)), (_arg3 + (_local9 * _arg5))); if (_local7 != null){ if (_local7.bitmapData != null){ _arg1.draw(_local7.bitmapData, mat); }; }; } public function RenderAtRot(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:int; var _local6:int; var _local7:Bitmap; var _local8:Number; var _local9:Number; _arg4 = (_arg4 - 0.01); _local5 = bitmaps.length; _arg4 = ((Number(_local5) / (Math.PI * 2)) * _arg4); _local6 = _arg4; while (_local6 < 0) { _local6 = (_local6 + _local5); }; while (_local6 > (_local5 - 1)) { _local6 = (_local6 - _local5); }; _local6 = ((_local5 - 1) - _local6); _local7 = bitmaps[_local6]; _local8 = xoffsets[_local6]; _local9 = yoffsets[_local6]; _arg1.copyPixels(_local7.bitmapData, new Rectangle(0, 0, _local7.width, _local7.height), new Point((_arg2 + _local8), (_arg3 + _local9))); } public function RenderAtRotScaledColTrans(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=0, _arg7:ColorTransform=null):void{ var _local8:Bitmap; var _local9:Number; var _local10:Number; _local8 = bitmaps[0]; _local9 = xoffsets[0]; _local10 = yoffsets[0]; if (_arg4){ _local8 = bitmaps[1]; _local9 = xoffsets[1]; _local10 = yoffsets[1]; }; mat.identity(); mat.translate(_local9, _local10); mat.rotate(_arg6); mat.translate(-(_local9), -(_local10)); mat.scale(_arg5, _arg5); mat.translate((_arg2 + (_local9 * _arg5)), (_arg3 + (_local10 * _arg5))); if (_local8 != null){ if (_local8.bitmapData != null){ _arg1.draw(_local8.bitmapData, mat, _arg7); }; }; } public function RenderAtColTrans(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:ColorTransform=null, _arg6:String=null):void{ var _local7:Bitmap; var _local8:Number; var _local9:Number; _local7 = bitmaps[0]; _local8 = xoffsets[0]; _local9 = yoffsets[0]; if (_arg4){ _local7 = bitmaps[1]; _local8 = xoffsets[1]; _local9 = yoffsets[1]; }; mat.identity(); mat.translate((_arg2 + _local8), (_arg3 + _local9)); if (_local7 != null){ if (_local7.bitmapData != null){ _arg1.draw(_local7.bitmapData, mat, _arg5, _arg6); }; }; } public function RenderAtAdditive(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Bitmap; var _local6:Number; var _local7:Number; _local5 = bitmaps[0]; _local6 = xoffsets[0]; _local7 = yoffsets[0]; mat.identity(); mat.translate((_arg2 + _local6), (_arg3 + _local7)); colTrans.alphaMultiplier = _arg4; if (_local5 != null){ if (_local5.bitmapData != null){ _arg1.draw(_local5.bitmapData, mat, colTrans, "add"); }; }; } }
Section 26
//Domain (Domain) package { public class Domain { public static function GetDomain():String{ var _local1:String; var _local2:Number; var _local3:Number; var _local4:String; var _local5:Number; var _local6:Number; _local1 = Main.theStage.loaderInfo.url; _local2 = (_local1.indexOf("://") + 3); _local3 = _local1.indexOf("/", _local2); _local4 = _local1.substring(_local2, _local3); _local5 = (_local4.lastIndexOf(".") - 1); _local6 = (_local4.lastIndexOf(".", _local5) + 1); _local4 = _local4.substring(_local6, _local4.length); return (_local4); } public static function IsLockedOut():Boolean{ var _local1:String; _local1 = GetDomain(); if (((!((_local1 == "flashgamelicense.com"))) && (!((_local1 == "longanimalsgames.com"))))){ return (true); }; return (false); } } }//package
Section 27
//dragonfireball (dragonfireball) package { import flash.media.*; public dynamic class dragonfireball extends Sound { } }//package
Section 28
//drink0 (drink0) package { import flash.media.*; public dynamic class drink0 extends Sound { } }//package
Section 29
//Enemy1 (Enemy1) package { import flash.display.*; public dynamic class Enemy1 extends MovieClip { } }//package
Section 30
//Enemy1_deadBits (Enemy1_deadBits) package { import flash.display.*; public dynamic class Enemy1_deadBits extends MovieClip { } }//package
Section 31
//Enemy2 (Enemy2) package { import flash.display.*; public dynamic class Enemy2 extends MovieClip { } }//package
Section 32
//Enemy2_deadBits (Enemy2_deadBits) package { import flash.display.*; public dynamic class Enemy2_deadBits extends MovieClip { } }//package
Section 33
//Enemy3 (Enemy3) package { import flash.display.*; public dynamic class Enemy3 extends MovieClip { } }//package
Section 34
//Enemy3_arrow (Enemy3_arrow) package { import flash.display.*; public dynamic class Enemy3_arrow extends MovieClip { } }//package
Section 35
//Enemy3_deadBits (Enemy3_deadBits) package { import flash.display.*; public dynamic class Enemy3_deadBits extends MovieClip { } }//package
Section 36
//Enemy4 (Enemy4) package { import flash.display.*; public dynamic class Enemy4 extends MovieClip { } }//package
Section 37
//Enemy4_deadBits (Enemy4_deadBits) package { import flash.display.*; public dynamic class Enemy4_deadBits extends MovieClip { } }//package
Section 38
//Enemy4_MagicBullet (Enemy4_MagicBullet) package { import flash.display.*; public dynamic class Enemy4_MagicBullet extends MovieClip { } }//package
Section 39
//Enemy5 (Enemy5) package { import flash.display.*; public dynamic class Enemy5 extends MovieClip { } }//package
Section 40
//Enemy5_deadBits (Enemy5_deadBits) package { import flash.display.*; public dynamic class Enemy5_deadBits extends MovieClip { } }//package
Section 41
//Enemy6 (Enemy6) package { import flash.display.*; public dynamic class Enemy6 extends MovieClip { } }//package
Section 42
//Enemy6_deadBits (Enemy6_deadBits) package { import flash.display.*; public dynamic class Enemy6_deadBits extends MovieClip { } }//package
Section 43
//Enemy7 (Enemy7) package { import flash.display.*; public dynamic class Enemy7 extends MovieClip { } }//package
Section 44
//Enemy7_deadBits (Enemy7_deadBits) package { import flash.display.*; public dynamic class Enemy7_deadBits extends MovieClip { } }//package
Section 45
//Enemy7_fireball (Enemy7_fireball) package { import flash.display.*; public dynamic class Enemy7_fireball extends MovieClip { } }//package
Section 46
//Enemy7_fireExplosion (Enemy7_fireExplosion) package { import flash.display.*; public dynamic class Enemy7_fireExplosion extends MovieClip { } }//package
Section 47
//ExternalData (ExternalData) package { import flash.events.*; import flash.net.*; public class ExternalData { static var f:Function; static var xml:XML; static var xxx:XML = <data> <general> <pickup health="20" gold="300" berzerker="20" time="5"/> <player hit="30" duckhit="5"/> </general> <playerweapon name="Sword" cost="3000" objname1="PlayerSwordBullet" objname2="PlayerSwordBullet2" objname3="PlayerSwordBullet"> <sound name="sword0"/> <level id="0" damage="2" speed="1" cost="0"/> <level id="1" damage="3" speed="1" cost="4000"/> <level id="2" damage="4" speed="1" cost="5000"/> </playerweapon> <playerweapon name="Axe" cost="9000" objname1="PlayerAxeBullet" objname2="PlayerAxeBullet2" objname3="PlayerAxeBullet3"> <sound name="sword0"/> <level id="0" damage="4" speed="1" cost="0"/> <level id="1" damage="5" speed="1" cost="10000"/> <level id="2" damage="6" speed="1" cost="11000"/> </playerweapon> <playerweapon name="Flail" cost="15000" objname1="PlayerFlailBullet" objname2="PlayerFlailBullet2" objname3="PlayerFlailBullet3"> <sound name="sword0"/> <level id="0" damage="6" speed="1" cost="0"/> <level id="1" damage="7" speed="1" cost="16000"/> <level id="2" damage="8" speed="1" cost="17000"/> </playerweapon> <playerweapon name="Sling" cost="0" objname1="PlayerSlingBullet" objname2="PlayerSlingBullet" objname3="PlayerSlingBullet"> <sound name="sling0"/> <level id="0" damage="1" speed="1" reload="1" cost="0"/> <level id="1" damage="1.5" speed="1" reload="0.9" cost="1000"/> <level id="2" damage="2" speed="1" reload="0.8" cost="2000"/> </playerweapon> <playerweapon name="Bow" cost="6000" objname1="PlayerBowBullet" objname2="PlayerBowBullet" objname3="PlayerBowBullet"> <sound name="arrow0"/> <level id="0" damage="2" speed="1" reload="1" cost="0"/> <level id="1" damage="2.5" speed="1" reload="0.9" cost="7000"/> <level id="2" damage="3" speed="1" reload="0.8" cost="8000"/> </playerweapon> <playerweapon name="Crossbow" cost="12000" objname1="PlayerCrossbowBullet" objname2="PlayerCrossbowBullet" objname3="PlayerCrossbowBullet"> <sound name="arrow0"/> <level id="0" damage="3" speed="1" reload="1" cost="0"/> <level id="1" damage="3.5" speed="1" reload="0.9" cost="13000"/> <level id="2" damage="4" speed="1" reload="0.8" cost="14000"/> </playerweapon> <objdef name="Player" gen="cpu" description="player"> <booty score="400" num="1" type="0"/> <collisionrect x0="-20" y0="-100" x1="20" y1="0"/> <control initfunc="InitPlayer"/> <anim id="idle" graphic="Player" f0="1" f1="15" speed="1"/> <anim id="walk" graphic="Player" f0="16" f1="33" speed="1"/> <anim id="jump" graphic="Player" f0="35" f1="54" speed="1"/> <anim id="die" graphic="Player" f0="55" f1="68" speed="1"/> <anim id="jumpattack" graphic="Player" f0="69" f1="87" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="standtoduck" graphic="Player" f0="88" f1="97" speed="1"/> <anim id="duck" graphic="Player" f0="98" f1="112" speed="1"/> <anim id="ducktostand" graphic="Player" f0="113" f1="122" speed="1"/> <anim id="attack" graphic="Player" f0="123" f1="136" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="attack2" graphic="Player" f0="137" f1="156" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="slingattack" graphic="Player" f0="157" f1="168" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="jumpslingattack" graphic="Player" f0="169" f1="180" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="axeattack" graphic="Player" f0="181" f1="194" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="axeattack2" graphic="Player" f0="195" f1="214" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="axeattack3" graphic="Player" f0="215" f1="234" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="jumpaxeattack" graphic="Player" f0="215" f1="234" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="flailattack" graphic="Player" f0="235" f1="251" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="flailattack2" graphic="Player" f0="252" f1="263" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="flailattack3" graphic="Player" f0="267" f1="277" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="jumpflailattack" graphic="Player" f0="278" f1="291" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="bowattack" graphic="Player" f0="292" f1="300" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="jumpbowattack" graphic="Player" f0="301" f1="309" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="crossbowattack" graphic="Player" f0="310" f1="315" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="jumpcrossbowattack" graphic="Player" f0="316" f1="321" speed="1"> <event frame="5" func="Event_PlayerGenerateBullet"/> </anim> <anim id="hit" graphic="Player" f0="322" f1="325" speed="0.2"/> <data health="20" damage="1"/> </objdef> <objdef name="Knight" gen="cpu" description=""> <soundtype name="Knight"/> <healthbar y="-130"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-100" x1="20" y1="0"/> <control initfunc="InitEnemy_Knight"/> <anim id="idle" graphic="Enemy6" f0="1" f1="15" speed="1"/> <anim id="walk" graphic="Enemy6" f0="16" f1="34" speed="1"/> <anim id="attack" graphic="Enemy6" f0="35" f1="54" speed="1"> <event frame="12" func="Event_EnemyKnightGenerateBullet"/> </anim> <anim id="attack2" graphic="Enemy6" f0="55" f1="86" speed="1"> <event frame="18" func="Event_EnemyKnightGenerateBullet1"/> </anim> <anim id="hit" graphic="Enemy6" f0="87" f1="97" speed="1"/> <data health="1" damage="1"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy6_deadBits"> <piece x="0" y="-50" frame="0" spurt="0"/> <piece x="0" y="-100" frame="1" spurt="1"/> <piece x="0" y="-100" frame="2" spurt="0"/> <piece x="0" y="-80" frame="3" spurt="0"/> <piece x="0" y="-50" frame="4" spurt="0"/> <piece x="0" y="-40" frame="5" spurt="0"/> <piece x="0" y="-30" frame="6" spurt="0"/> <piece x="0" y="-30" frame="7" spurt="0"/> </death> </objdef> <objdef name="VampireBat" gen="cpu" description=""> <soundtype name="Bat"/> <healthbar y="-60"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-20" x1="20" y1="20"/> <control initfunc="InitEnemy_VampireBat"/> <anim id="idle" graphic="Enemy2" f0="1" f1="10" speed="1"/> <anim id="attack" graphic="Enemy2" f0="11" f1="12" speed="1"/> <anim id="hit" graphic="Enemy2" f0="67" f1="68" speed="0.1"/> <data health="1" damage="0.33"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy2_deadBits"> <piece x="0" y="0" frame="0" spurt="1"/> <piece x="0" y="0" frame="1" spurt="0"/> </death> </objdef> <objdef name="VampireBatNoPoo" gen="cpu" description=""> <soundtype name="Bat"/> <healthbar y="-60"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-20" x1="20" y1="20"/> <control initfunc="InitEnemy_VampireBat" var0="1"/> <anim id="idle" graphic="Enemy2" f0="1" f1="10" speed="1"/> <anim id="attack" graphic="Enemy2" f0="11" f1="12" speed="1"/> <anim id="hit" graphic="Enemy2" f0="67" f1="68" speed="0.1"/> <data health="1" damage="0.33"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy2_deadBits"> <piece x="0" y="0" frame="0" spurt="1"/> <piece x="0" y="0" frame="1" spurt="0"/> </death> </objdef> <objdef name="VampireBatNoSwoop" gen="cpu" description=""> <soundtype name="Bat"/> <healthbar y="-60"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-20" x1="20" y1="20"/> <control initfunc="InitEnemy_VampireBat" var0="2"/> <anim id="idle" graphic="Enemy2" f0="1" f1="10" speed="1"/> <anim id="attack" graphic="Enemy2" f0="11" f1="12" speed="1"/> <anim id="hit" graphic="Enemy2" f0="67" f1="68" speed="0.1"/> <data health="1" damage="0.33"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy2_deadBits"> <piece x="0" y="0" frame="0" spurt="1"/> <piece x="0" y="0" frame="1" spurt="0"/> </death> </objdef> <objdef name="BabyDragon" gen="cpu" description=""> <soundtype name="Dragon"/> <healthbar y="-60"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-20" x1="20" y1="20"/> <control initfunc="InitEnemy_BabyDragon"/> <anim id="idle" graphic="Enemy7" f0="1" f1="11" speed="1"/> <anim id="attack" graphic="Enemy7" f0="12" f1="27" speed="1"> <event frame="10" func="Event_EnemyBabyDragonGenerateBullet"/> </anim> <anim id="hit" graphic="Enemy7" f0="28" f1="38" speed="1"/> <data health="1" damage="1"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy7_deadBits"> <piece x="0" y="0" frame="0" spurt="0"/> <piece x="0" y="0" frame="1" spurt="1"/> <piece x="0" y="0" frame="2" spurt="0"/> <piece x="0" y="0" frame="3" spurt="0"/> </death> </objdef> <objdef name="BabyDragon_NoFire" gen="cpu" description=""> <soundtype name="Dragon"/> <healthbar y="-60"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-20" x1="20" y1="20"/> <control initfunc="InitEnemy_BabyDragon" var0="1"/> <anim id="idle" graphic="Enemy7" f0="1" f1="11" speed="1"/> <anim id="attack" graphic="Enemy7" f0="12" f1="27" speed="1"> <event frame="10" func="Event_EnemyBabyDragonGenerateBullet"/> </anim> <anim id="hit" graphic="Enemy7" f0="28" f1="38" speed="1"/> <data health="1" damage="1"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy7_deadBits"> <piece x="0" y="0" frame="0" spurt="0"/> <piece x="0" y="0" frame="1" spurt="1"/> <piece x="0" y="0" frame="2" spurt="0"/> <piece x="0" y="0" frame="3" spurt="0"/> </death> </objdef> <objdef name="Troll" gen="cpu" description="Big bastard who can only be hit after his swipe move."> <soundtype name="Troll"/> <healthbar y="-200"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-40" y0="-160" x1="40" y1="0"/> <vulnerablecollisionrect x0="-30" y0="-100" x1="30" y1="-30"/> <control initfunc="InitEnemy_Troll"/> <anim id="idle" graphic="Enemy5" f0="1" f1="16" speed="1"/> <anim id="walk" graphic="Enemy5" f0="17" f1="32" speed="1"/> <anim id="raiseclub" graphic="Enemy5" f0="33" f1="40" speed="1"/> <anim id="raiseclubidle" graphic="Enemy5" f0="41" f1="45" speed="1"/> <anim id="swingclub" graphic="Enemy5" f0="46" f1="62" speed="1"> <event frame="8" func="Event_EnemyTrollGenerateBullet"/> </anim> <anim id="attackidle" graphic="Enemy5" f0="63" f1="64" speed="1"/> <anim id="attack" graphic="Enemy5" f0="63" f1="77" speed="1"> <event frame="3" func="Event_EnemyTrollGenerateBullet1"/> </anim> <anim id="hit" graphic="Enemy5" f0="78" f1="91" speed="1"/> <data health="10" damage="1"/> <death bloodmin="2" bloodmax="3" gutsmin="3" gutsmax="4" graphic="Enemy5_deadBits"> <piece x="0" y="-100" frame="0" spurt="1"/> <piece x="0" y="-50" frame="1" spurt="0"/> <piece x="0" y="-70" frame="2" spurt="0"/> <piece x="0" y="-30" frame="3" spurt="0"/> </death> </objdef> <objdef name="Gnome" gen="cpu" description="little guy with spiky helmet, shoots from a distance and does occasional run attack"> <soundtype name="Gnome"/> <healthbar y="-100"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-80" x1="20" y1="0"/> <control initfunc="InitEnemy_Gnome"/> <anim id="idle" graphic="Enemy3" f0="1" f1="19" speed="1"/> <anim id="walk" graphic="Enemy3" f0="20" f1="37" speed="1"/> <anim id="attack" graphic="Enemy3" f0="38" f1="67" speed="1"> <event frame="5" func="Event_EnemyGnomeGenerateBullet"/> </anim> <anim id="run" graphic="Enemy3" f0="68" f1="85" speed="1"/> <anim id="hit" graphic="Enemy3" f0="86" f1="110" speed="1"/> <anim id="die" graphic="Enemy3" f0="1" f1="2" speed="1"/> <data health="1" damage="1"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy3_deadBits"> <piece x="0" y="-100" frame="0" spurt="1"/> <piece x="0" y="-70" frame="1" spurt="0"/> <piece x="0" y="-70" frame="2" spurt="0"/> <piece x="0" y="-30" frame="3" spurt="0"/> <piece x="0" y="-30" frame="5" spurt="0"/> </death> </objdef> <objdef name="Gnome_Arrows" gen="cpu" description="little guy with spiky helmet, shoots from a distance"> <soundtype name="Gnome"/> <healthbar y="-100"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-80" x1="20" y1="0"/> <control initfunc="InitEnemy_Gnome" var0="1"/> <anim id="idle" graphic="Enemy3" f0="1" f1="19" speed="1"/> <anim id="walk" graphic="Enemy3" f0="20" f1="37" speed="1"/> <anim id="attack" graphic="Enemy3" f0="38" f1="67" speed="1"> <event frame="5" func="Event_EnemyGnomeGenerateBullet"/> </anim> <anim id="run" graphic="Enemy3" f0="68" f1="85" speed="1"/> <anim id="hit" graphic="Enemy3" f0="86" f1="110" speed="1"/> <anim id="die" graphic="Enemy3" f0="1" f1="2" speed="1"/> <data health="1" damage="1"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy3_deadBits"> <piece x="0" y="-100" frame="0" spurt="1"/> <piece x="0" y="-70" frame="1" spurt="0"/> <piece x="0" y="-70" frame="2" spurt="0"/> <piece x="0" y="-30" frame="3" spurt="0"/> <piece x="0" y="-30" frame="5" spurt="0"/> </death> </objdef> <objdef name="Gnome_Running" gen="cpu" description="little guy with spiky helmet, shoots from a distance"> <soundtype name="Gnome"/> <healthbar y="-100"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-80" x1="20" y1="0"/> <control initfunc="InitEnemy_Gnome" var0="2"/> <anim id="idle" graphic="Enemy3" f0="1" f1="19" speed="1"/> <anim id="walk" graphic="Enemy3" f0="20" f1="37" speed="1"/> <anim id="attack" graphic="Enemy3" f0="38" f1="67" speed="1"> <event frame="5" func="Event_EnemyGnomeGenerateBullet"/> </anim> <anim id="run" graphic="Enemy3" f0="68" f1="85" speed="1"/> <anim id="hit" graphic="Enemy3" f0="86" f1="110" speed="1"/> <anim id="die" graphic="Enemy3" f0="1" f1="2" speed="1"/> <data health="1" damage="1"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy3_deadBits"> <piece x="0" y="-100" frame="0" spurt="1"/> <piece x="0" y="-70" frame="1" spurt="0"/> <piece x="0" y="-70" frame="2" spurt="0"/> <piece x="0" y="-30" frame="3" spurt="0"/> <piece x="0" y="-30" frame="5" spurt="0"/> </death> </objdef> <objdef name="Pixie" gen="cpu" description=""> <soundtype name="Pixie"/> <healthbar y="-100"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-100" x1="20" y1="20"/> <control initfunc="InitEnemy_Pixie"/> <anim id="idle" graphic="Enemy1" f0="1" f1="15" speed="1"/> <anim id="walk" graphic="Enemy1" f0="16" f1="34" speed="1"/> <anim id="attack" graphic="Enemy1" f0="35" f1="57" speed="1"> <event frame="5" func="Event_EnemyPixieGenerateBullet"/> </anim> <anim id="hit" graphic="Enemy1" f0="1" f1="2" speed="0.1"/> <anim id="die" graphic="Enemy1" f0="1" f1="2" speed="1"/> <data health="1" damage="1"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy1_deadBits"> <piece x="0" y="-100" frame="0" spurt="1"/> <piece x="0" y="-70" frame="1" spurt="0"/> <piece x="0" y="-70" frame="2" spurt="0"/> <piece x="0" y="-30" frame="3" spurt="0"/> </death> </objdef> <objdef name="Jester" gen="cpu" description="bouncy little bastard"> <soundtype name="Jester"/> <healthbar y="-100"/> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-70" x1="20" y1="40"/> <control initfunc="InitEnemy_Jester"/> <anim id="idle" graphic="Enemy4" f0="1" f1="11" speed="1"/> <anim id="walk" graphic="Enemy4" f0="1" f1="11" speed="1"/> <anim id="prejump" graphic="Enemy4" f0="12" f1="18" speed="1"/> <anim id="postjump" graphic="Enemy4" f0="12" f1="18" speed="-1"/> <anim id="jump" graphic="Enemy4" f0="19" f1="26" speed="1"/> <anim id="hit" graphic="Enemy4" f0="27" f1="35" speed="1"/> <anim id="die" graphic="Enemy4" f0="1" f1="2" speed="1"/> <data health="1" damage="1"/> <death bloodmin="3" bloodmax="4" gutsmin="0" gutsmax="1" graphic="Enemy4_deadBits"> <piece x="0" y="-30" frame="0" spurt="1"/> <piece x="0" y="-20" frame="1" spurt="0"/> <piece x="0" y="-20" frame="2" spurt="0"/> <piece x="0" y="-10" frame="3" spurt="0"/> </death> </objdef> <objdef name="PixieBullet" gen="cpu" description=""> <collisionrect x0="-50" y0="-40" x1="50" y1="40"/> <control initfunc="Init_EnemySwordBullet"/> <offset x="50" y="-50"/> <data health="1" damage="1"/> </objdef> <objdef name="GnomeBullet" gen="cpu" description=""> <collisionrect x0="-20" y0="-5" x1="20" y1="5"/> <control initfunc="Init_EnemyProjectileBullet"/> <anim id="idle" graphic="Enemy3_arrow" f0="1" f1="1" speed="1"/> <offset x="0" y="-50"/> <data health="1" damage="1"/> </objdef> <objdef name="JesterBullet" gen="cpu" description=""> <collisionrect x0="-10" y0="-10" x1="10" y1="10"/> <control initfunc="Init_EnemyProjectileBulletToPlayer"/> <anim id="idle" graphic="Enemy4_MagicBullet" f0="1" f1="17" speed="1"/> <offset x="0" y="-50"/> <data health="1" damage="1"/> </objdef> <objdef name="TrollBullet" gen="cpu" description=""> <collisionrect x0="-80" y0="-40" x1="80" y1="40"/> <control initfunc="Init_EnemySwordBullet"/> <offset x="80" y="-50"/> <data health="1" damage="1"/> </objdef> <objdef name="TrollBullet1" gen="cpu" description=""> <collisionrect x0="-50" y0="-40" x1="50" y1="40"/> <control initfunc="Init_EnemySwordBullet"/> <offset x="70" y="-90"/> <data health="1" damage="1"/> </objdef> <objdef name="KnightBullet" gen="cpu" description=""> <collisionrect x0="-50" y0="-40" x1="50" y1="40"/> <control initfunc="Init_EnemySwordBullet"/> <offset x="70" y="-50"/> <data health="1" damage="1"/> </objdef> <objdef name="KnightBullet1" gen="cpu" description=""> <collisionrect x0="-50" y0="-40" x1="50" y1="40"/> <control initfunc="Init_EnemySwordBullet"/> <offset x="60" y="-40"/> <data health="1" damage="1"/> </objdef> <objdef name="BabyDragonBullet" gen="cpu" description=""> <collisionrect x0="-50" y0="-40" x1="50" y1="40"/> <control initfunc="Init_EnemyBabyDragonBullet"/> <anim id="idle" graphic="Enemy7_fireball" f0="1" f1="16" speed="1"/> <offset x="20" y="0"/> <data health="1" damage="1"/> </objdef> <objdef name="BabyDragonFireballExplosion" gen="cpu" description=""> <collisionrect x0="-50" y0="-40" x1="50" y1="40"/> <control initfunc="Init_Generic_PlayOnce_Stationary"/> <anim id="idle" graphic="Enemy7_fireExplosion" f0="1" f1="31" speed="0.5"/> <offset x="0" y="0"/> <data health="1" damage="1"/> </objdef> <!-- Misc --> <objdef name="BatPoo" gen="cpu" description=""> <collisionrect x0="-10" y0="-10" x1="10" y1="10"/> <control initfunc="InitBatPoo"/> <anim id="fall" graphic="BatPoo" f0="1" f1="10" speed="1"/> <anim id="splat" graphic="BatPoo" f0="11" f1="18" speed="1"/> <data health="1" damage="0.333"/> </objdef> <!-- Pickups --> <objdef name="PickupHealth" gen="cpu" description=""> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-20" x1="20" y1="20"/> <control initfunc="InitPickupHealth"/> <anim id="idle" graphic="Pickup_Health" f0="1" f1="3" speed="1"/> <data health="20"/> </objdef> <objdef name="PickupGold" gen="cpu" description=""> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-20" x1="20" y1="20"/> <control initfunc="InitPickupGold"/> <anim id="idle" graphic="Pickup_Gold" f0="1" f1="3" speed="0.5"/> <anim id="land" graphic="Pickup_Gold" f0="4" f1="14" speed="0.5"/> <data health="20"/> </objdef> <objdef name="PickupBerzerker" gen="cpu" description=""> <booty score="1000" num="1" type="0"/> <collisionrect x0="-20" y0="-20" x1="20" y1="20"/> <control initfunc="InitPickupBerzerker"/> <anim id="idle" graphic="Pickup_Berzerker" f0="1" f1="8" speed="0.5"/> <data health="20"/> </objdef> <!-- Bullets (weapons)--> <objdef name="PlayerSwordBullet" gen="cpu" description=""> <soundtype name="PlayerSword"/> <collisionrect x0="-50" y0="-50" x1="50" y1="50"/> <control initfunc="Init_PlayerSwordBullet"/> <offset x="50" y="-100"/> <data health="20"/> </objdef> <objdef name="PlayerSwordBullet2" gen="cpu" description=""> <soundtype name="PlayerSword"/> <collisionrect x0="-50" y0="-50" x1="50" y1="50"/> <control initfunc="Init_PlayerSwordBullet"/> <offset x="50" y="-50"/> <data health="20"/> </objdef> <objdef name="PlayerAxeBullet" gen="cpu" description=""> <soundtype name="PlayerAxe"/> <collisionrect x0="-50" y0="-50" x1="50" y1="90"/> <control initfunc="Init_PlayerSwordBullet"/> <offset x="50" y="-100"/> <data health="20"/> </objdef> <objdef name="PlayerAxeBullet2" gen="cpu" description=""> <soundtype name="PlayerAxe"/> <collisionrect x0="-50" y0="-50" x1="50" y1="120"/> <control initfunc="Init_PlayerSwordBullet"/> <offset x="50" y="-100"/> <data health="20"/> </objdef> <objdef name="PlayerAxeBullet3" gen="cpu" description=""> <soundtype name="PlayerAxe"/> <collisionrect x0="00" y0="-50" x1="100" y1="120"/> <control initfunc="Init_PlayerSwordBullet"/> <offset x="00" y="-100"/> <data health="20"/> </objdef> <objdef name="PlayerFlailBullet" gen="cpu" description="sweep up from floor"> <soundtype name="PlayerFlail"/> <collisionrect x0="-50" y0="-20" x1="130" y1="100"/> <control initfunc="Init_PlayerSwordBullet"/> <offset x="0" y="-100"/> <data health="20"/> </objdef> <objdef name="PlayerFlailBullet2" gen="cpu" description="twirl round"> <soundtype name="PlayerFlail"/> <collisionrect x0="-70" y0="-70" x1="50" y1="50"/> <control initfunc="Init_PlayerSwordBullet"/> <offset x="80" y="-100"/> <data health="20"/> </objdef> <objdef name="PlayerFlailBullet3" gen="cpu" description="down from top"> <soundtype name="PlayerFlail"/> <collisionrect x0="-50" y0="-50" x1="100" y1="100"/> <control initfunc="Init_PlayerSwordBullet"/> <offset x="50" y="-100"/> <data health="20"/> </objdef> <objdef name="PlayerSlingBullet" gen="cpu" description=""> <soundtype name="PlayerSling"/> <collisionrect x0="-5" y0="-5" x1="5" y1="5"/> <control initfunc="Init_PlayerSlingBullet"/> <offset x="50" y="-100"/> <data health="20"/> </objdef> <objdef name="PlayerBowBullet" gen="cpu" description=""> <soundtype name="PlayerArrow"/> <collisionrect x0="-5" y0="-5" x1="5" y1="5"/> <control initfunc="Init_PlayerBowBullet"/> <offset x="50" y="-70"/> <data health="20"/> </objdef> <objdef name="PlayerCrossbowBullet" gen="cpu" description=""> <soundtype name="PlayerArrow"/> <collisionrect x0="-5" y0="-5" x1="5" y1="5"/> <control initfunc="Init_PlayerCrossbowBullet"/> <offset x="50" y="-74"/> <data health="20"/> </objdef> <!-- LEVELS --> <!-- Enemy types: Pixie (runs around and walks up and attacks) Gnome (fires arrows and runs at you) Gnome_Arrows (only fires arrows) Gnome_Running (only runs) Jester VampireBat VampireBatNoPoo VampireBatNoSwoop Knight Troll BabyDragon BabyDragon_NoFire --> <level background="-1" notes="a" displaytext="Dratted Pixies!"> <enemy type="Pixie" max="3" delay="0" aggression="0" speed="0" health="1"/> </level> <level background="-1" notes="b" displaytext="Gnomes - watch out for arrows"> <enemy type="Gnome_Arrows" max="2" delay="0" aggression="0" speed="0" health="1"/> </level> <level background="-1" notes="c" displaytext="They're ganging up on me"> <enemy type="Gnome_Arrows" max="2" delay="0" aggression="0" speed="0" health="1"/> <enemy type="Pixie" max="2" delay="0" aggression="0" speed="0" health="1"/> </level> <level background="-1" notes="d" displaytext="Bats!"> <enemy type="VampireBatNoPoo" max="3" delay="0" aggression="0" speed="0" health="1"/> </level> <level background="-1" notes="" displaytext="Gnomes - with attitude!"> <enemy type="Gnome_Running" max="2" delay="0" aggression="0.5" speed="0" health="1"/> </level> <level background="-1" notes="" displaytext="What the? Just not funny"> <enemy type="Jester" max="4" delay="0" aggression="0" speed="0" health="1"/> </level> <level background="-1" notes="" displaytext="They're getting harder!"> <enemy type="Pixie" max="3" delay="0" aggression="0.5" speed="0.5" health="2"/> </level> <level background="-1" notes="d" displaytext="Insane onslaught"> <enemy type="VampireBatNoPoo" max="3" delay="0" aggression="0" speed="0" health="1"/> <enemy type="Jester" max="4" delay="0" aggression="0" speed="0" health="1"/> </level> <level background="-1" notes="" displaytext="nasty gnomes"> <enemy type="Gnome_Running" max="4" delay="0" aggression="0.5" speed="0.5" health="2"/> </level> <level background="-1" notes="" displaytext="Knights"> <enemy type="Knight" max="3" delay="0" aggression="0" speed="0" health="5"/> </level> <level background="-1" notes="d" displaytext="Stinking Bats!"> <enemy type="VampireBatNoSwoop" max="5" delay="0" aggression="0.5" speed="0" health="2"/> </level> <level background="-1" notes="" displaytext="Mixed up"> <enemy type="Pixie" max="1" delay="0" aggression="0.5" speed="0.5" health="2"/> <enemy type="Gnome" max="1" delay="0" aggression="0.5" speed="0.5" health="2"/> <enemy type="Jester" max="1" delay="0" aggression="0" speed="0" health="2"/> <enemy type="VampireBatNoPoo" max="1" delay="0" aggression="0" speed="0" health="2"/> <enemy type="Knight" max="1" delay="0" aggression="0" speed="0" health="5"/> </level> <level background="-1" notes="a" displaytext="Swarming!"> <enemy type="Pixie" max="4" delay="0" aggression="0.5" speed="0" health="2"/> <enemy type="Pixie" max="4" delay="0" aggression="0.5" speed="1" health="2"/> </level> <level background="-1" notes="Trollllll" displaytext="Trollllll"> <enemy type="Troll" max="1" delay="0" aggression="0" speed="0" health="5"/> </level> <level background="-1" notes="b" displaytext="Gnomes Onslaught"> <enemy type="Gnome_Arrows" max="5" delay="0" aggression="0" speed="0" health="3"/> <enemy type="Gnome_Arrows" max="5" delay="10" aggression="0" speed="0" health="3"/> </level> <level background="-1" notes="b" displaytext="Bouncing"> <enemy type="Knight" max="3" delay="0" aggression="0" speed="0" health="4"/> <enemy type="Jester" max="5" delay="0" aggression="0" speed="0" health="3"/> </level> <level background="-1" notes="b" displaytext="Bouncing harder"> <enemy type="Knight" max="3" delay="0" aggression="0.5" speed="0" health="4"/> <enemy type="Jester" max="5" delay="0" aggression="0.5" speed="0" health="3"/> </level> <level background="-1" notes="Bat alert" displaytext="Bat alert"> <enemy type="VampireBat" max="5" delay="0" aggression="1" speed="1" health="3"/> </level> <level background="-1" notes="" displaytext="Gnomes - with more attitude!"> <enemy type="Gnome_Running" max="6" delay="0" aggression="0.5" speed="0.5" health="5"/> </level> <level background="-1" notes="" displaytext="Troll and friends"> <enemy type="Troll" max="1" delay="0" aggression="0.2" speed="0" health="5"/> <enemy type="Jester" max="8" delay="0" aggression="0.5" speed="0" health="3"/> </level> <level background="-1" notes="a" displaytext="Harder Pixies!"> <enemy type="Pixie" max="4" delay="0" aggression="1" speed="0" health="5"/> <enemy type="Pixie" max="4" delay="0" aggression="1" speed="0.5" health="5"/> </level> <level background="-1" notes="" displaytext="Mixed up more"> <enemy type="Pixie" max="2" delay="0" aggression="0.5" speed="0.5" health="4"/> <enemy type="Gnome" max="2" delay="0" aggression="0.5" speed="0.5" health="5"/> <enemy type="Jester" max="2" delay="0" aggression="0" speed="0" health="5"/> <enemy type="VampireBat" max="2" delay="0" aggression="0" speed="0" health="4"/> <enemy type="Knight" max="2" delay="0" aggression="0" speed="0" health="7"/> </level> <level background="-1" notes="b" displaytext="Knight attack"> <enemy type="Knight" max="3" delay="0" aggression="0.5" speed="0" health="7"/> <enemy type="Knight" max="3" delay="0" aggression="0.5" speed="0.5" health="7"/> <enemy type="Knight" max="3" delay="0" aggression="0.5" speed="1" health="7"/> </level> <level background="-1" notes="" displaytext="Bats and Gnomes"> <enemy type="VampireBat" max="35" delay="0" aggression="1" speed="1" health="4"/> <enemy type="VampireBatNoSwoop" max="3" delay="0" aggression="0.5" speed="0" health="4"/> <enemy type="Gnome_Arrows" max="5" delay="0" aggression="0" speed="0" health="6"/> </level> <level background="-1" notes="jimp" displaytext="'Ard as Nails"> <enemy type="Pixie" max="4" delay="0" aggression="0.5" speed="0" health="4"/> <enemy type="Knight" max="3" delay="0" aggression="0" speed="0" health="5"/> <enemy type="Troll" max="1" delay="20" aggression="0" speed="0" health="5"/> </level> <level background="-1" notes="" displaytext="Here be Dragons!"> <enemy type="BabyDragon_NoFire" max="5" delay="0" aggression="1" speed="1" health="3"/> </level> <level background="-1" notes="jimp" displaytext="Dragon Breath"> <enemy type="Gnome" max="2" delay="0" aggression="0.5" speed="0.5" health="3"/> <enemy type="Pixie" max="3" delay="20" aggression="0.5" speed="0" health="2"/> <enemy type="BabyDragon" max="3" delay="0" aggression="1" speed="1" health="3"/> </level> <level background="-1" notes="jimp" displaytext="Troll in the park"> <enemy type="Troll" max="2" delay="0" aggression="0" speed="0" health="5"/> <enemy type="Knight" max="3" delay="0" aggression="0.5" speed="0.5" health="5"/> <enemy type="BabyDragon" max="3" delay="15" aggression="1" speed="1" health="3"/> </level> <level background="-1" notes="jimp" displaytext="Cash Cow"> <enemy type="Gnome_Running" max="4" delay="0" aggression="1" speed="1" health="3"/> <enemy type="Pixie" max="6" delay="0" aggression="1" speed="0.5" health="2"/> <enemy type="Pixie" max="6" delay="0" aggression="1" speed="0.5" health="2"/> <enemy type="Pixie" max="6" delay="0" aggression="1" speed="0.5" health="2"/> <enemy type="Gnome" max="4" delay="0" aggression="1" speed="1" health="3"/> </level> <level background="-1" notes="jimp" displaytext="Paradigm Shift"> <enemy type="Gnome" max="3" delay="0" aggression="0.5" speed="0.5" health="3"/> <enemy type="Pixie" max="3" delay="0" aggression="0.5" speed="0" health="2"/> <enemy type="Troll" max="1" delay="10" aggression="0" speed="0" health="5"/> <enemy type="Jester" max="3" delay="20" aggression="0" speed="1" health="2"/> <enemy type="Knight" max="3" delay="0" aggression="0" speed="0" health="10"/> <enemy type="BabyDragon" max="4" delay="20" aggression="1" speed="1" health="3"/> </level> <level background="-1" notes="b" displaytext="A Knight To Remember"> <enemy type="Knight" max="3" delay="10" aggression="1" speed="0.5" health="10"/> <enemy type="Knight" max="3" delay="0" aggression="0.5" speed="1" health="10"/> <enemy type="VampireBat" max="2" delay="0" aggression="0.5" speed="0.5" health="4"/> </level> <level background="-1" notes="b" displaytext="Air Force One"> <enemy type="BabyDragon_NoFire" max="4" delay="0" aggression="0" speed="1" health="10"/> <enemy type="BabyDragon_NoFire" max="4" delay="0" aggression="0" speed="0" health="10"/> <enemy type="VampireBat" max="5" delay="0" aggression="0.5" speed="0.5" health="10"/> </level> <level background="-1" notes="" displaytext="Pixie death."> <enemy type="Pixie" max="8" delay="0" aggression="0.7" speed="0" health="9"/> <enemy type="Pixie" max="8" delay="0" aggression="0.7" speed="1" health="9"/> </level> <level background="-1" notes="jimp" displaytext="Bat-ery"> <enemy type="Gnome_Arrows" max="2" delay="0" aggression="0.75" speed="0.5" health="6"/> <enemy type="VampireBat" max="4" delay="0" aggression="1" speed="1" health="8"/> <enemy type="VampireBatNoSwoop" max="2" delay="15" aggression="0.5" speed="0.5" health="6"/> <enemy type="Pixie" max="2" delay="0" aggression="1" speed="0.5" health="4"/> <enemy type="Pixie" max="2" delay="20" aggression="1" speed="1" health="4"/> </level> <level background="-1" notes="jimp" displaytext="Nothing Hostile..."> <enemy type="Gnome_Arrows" max="2" delay="0" aggression="0.75" speed="0.5" health="6"/> <enemy type="VampireBat" max="2" delay="0" aggression="1" speed="1" health="3"/> <enemy type="Knight" max="3" delay="0" aggression="0.5" speed="0" health="10"/> <enemy type="Pixie" max="2" delay="20" aggression="1" speed="0.5" health="4"/> <enemy type="Pixie" max="2" delay="20" aggression="1" speed="0.5" health="4"/> <enemy type="Pixie" max="2" delay="20" aggression="1" speed="0.5" health="4"/> <enemy type="Pixie" max="2" delay="20" aggression="1" speed="0.5" health="4"/> </level> <level background="-1" notes="jimp" displaytext="Bouncing JERK"> <enemy type="Gnome" max="4" delay="0" aggression="0.75" speed="0" health="4"/> <enemy type="BabyDragon" max="2" delay="0" aggression="1" speed="1" health="8"/> <enemy type="Jester" max="1" delay="0" aggression="1" speed="1" health="30"/> <enemy type="Pixie" max="3" delay="0" aggression="0.5" speed="0.5" health="5"/> </level> <level background="3" notes="jimp - valley bg" displaytext="The battle for middle earth"> <enemy type="Gnome" max="4" delay="0" aggression="0.75" speed="0" health="4"/> <enemy type="BabyDragon" max="2" delay="0" aggression="1" speed="1" health="8"/> <enemy type="Knight" max="3" delay="0" aggression="1" speed="0" health="10"/> <enemy type="Pixie" max="3" delay="0" aggression="0.5" speed="0.5" health="5"/> <enemy type="Pixie" max="3" delay="0" aggression="0.5" speed="0.5" health="5"/> <enemy type="Pixie" max="3" delay="0" aggression="0.5" speed="0.5" health="5"/> <enemy type="Troll" max="2" delay="10" aggression="0" speed="0" health="10"/> </level> <level background="-1" notes="jimp - bridge bg" displaytext="Sea of Fire"> <enemy type="Gnome" max="2" delay="0" aggression="0.75" speed="0" health="6"/> <enemy type="BabyDragon" max="6" delay="0" aggression="1" speed="1" health="8"/> <enemy type="BabyDragon" max="6" delay="0" aggression="1" speed="1" health="8"/> <enemy type="Pixie" max="2" delay="20" aggression="0.5" speed="0.5" health="8"/> <enemy type="Pixie" max="2" delay="20" aggression="0.5" speed="0.5" health="8"/> </level> <level background="-1" notes="jimp" displaytext="Pixieland"> <enemy type="Pixie" max="2" delay="0" aggression="0.5" speed="1" health="8"/> <enemy type="Pixie" max="2" delay="0" aggression="1" speed="0.5" health="8"/> <enemy type="Pixie" max="2" delay="0" aggression="0.5" speed="0.5" health="8"/> <enemy type="Pixie" max="2" delay="0" aggression="0.5" speed="1" health="8"/> <enemy type="Pixie" max="2" delay="0" aggression="1" speed="0.75" health="8"/> <enemy type="Pixie" max="2" delay="0" aggression="0.5" speed="0.5" health="8"/> <enemy type="Pixie" max="2" delay="0" aggression="0.5" speed="0.5" health="8"/> <enemy type="Pixie" max="2" delay="0" aggression="1" speed="0.5" health="8"/> </level> <level background="-1" notes="jimp" displaytext="Knight Knight"> <enemy type="Knight" max="2" delay="0" aggression="0.5" speed="1" health="20"/> <enemy type="Knight" max="2" delay="0" aggression="1" speed="1" health="20"/> <enemy type="Pixie" max="2" delay="0" aggression="0.5" speed="0.5" health="8"/> <enemy type="Pixie" max="2" delay="20" aggression="1" speed="0.75" health="8"/> <enemy type="Pixie" max="2" delay="20" aggression="0.5" speed="0.5" health="8"/> <enemy type="Knight" max="2" delay="0" aggression="0.5" speed="0.5" health="20"/> <enemy type="Knight" max="2" delay="0" aggression="1" speed="0.5" health="20"/> </level> <level background="-1" notes="jimp" displaytext="Royal Rumble"> <enemy type="Gnome" max="2" delay="0" aggression="0.75" speed="0" health="6"/> <enemy type="BabyDragon" max="6" delay="0" aggression="1" speed="1" health="8"/> <enemy type="Pixie" max="2" delay="0" aggression="0.5" speed="0.5" health="8"/> <enemy type="Troll" max="1" delay="0" aggression="0" speed="0" health="20"/> <enemy type="Knight" max="2" delay="0" aggression="1" speed="0" health="15"/> <enemy type="Jester" max="2" delay="0" aggression="1" speed="1" health="10"/> <enemy type="VampireBat" max="2" delay="0" aggression="1" speed="1" health="8"/> </level> <!-- Test levels --> <level background="0" notes="test level:Vampire Bats"> <enemy type="VampireBat" max="5" delay="0" aggression="1" speed="1" health="1"/> </level> <level background="1" notes="test level: Pixies"> <enemy type="Pixie" max="5" delay="0" aggression="1" speed="1" health="1"/> </level> <level background="1" notes="test level: Knights"> <enemy type="Knight" max="5" delay="0" aggression="1" speed="1" health="1"/> </level> <level background="2" notes="test level: Trolls"> <enemy type="Troll" max="1" delay="0" aggression="1" speed="1" health="1"/> </level> <level background="2" notes="test level: Jesters"> <enemy type="Jester" max="5" delay="0" aggression="1" speed="1" health="1"/> </level> <level background="3" notes="test level: Baby Dragons"> <enemy type="BabyDragon" max="5" delay="0" aggression="1" speed="1" health="3"/> </level> <level background="3" notes="test level A"> <enemy type="Troll" max="1" delay="0" aggression="1" speed="1" health="1"/> <enemy type="Jester" max="1" delay="0" aggression="1" speed="1" health="1"/> <enemy type="Gnome" max="3" delay="0" aggression="1" speed="1" health="1"/> <enemy type="VampireBat" max="3" delay="0" aggression="1" speed="1" health="1"/> </level> <level background="2" notes="test level B"> <enemy type="Pixie" max="3" delay="0" aggression="1" speed="1" health="1"/> <enemy type="BabyDragon" max="1" delay="0" aggression="1" speed="1" health="1"/> <enemy type="Gnome" max="3" delay="0" aggression="1" speed="1" health="1"/> <enemy type="VampireBat" max="3" delay="0" aggression="1" speed="1" health="1"/> </level> <achievementcondition name="equals"/> <achievementcondition name="lessthan"/> <achievementcondition name="lessthanequal"/> <achievementcondition name="greaterthan"/> <achievementcondition name="greaterthanequal"/> <achievementvariable name="kills"/> <achievementvariable name="time"/> <achievementvariable name="damage"/> <achievementvariable name="cash"/> <achievement name="Achievement 1"> <item id="0" level="Break You In Easy" variable="kills" condition="greaterthanequal" value="50"/> </achievement> <achievement name="Achievement 2"> <item id="0" level="Break You In Easy" variable="damage" condition="equals" value="0"/> </achievement> <achievement name="Achievement 3"> <item id="0" level="Break You In Easy" variable="time" condition="lessthan" value="20"/> </achievement> </data> ; static var xmlLoader:URLLoader; public static function InitOnce(_arg1:Function){ f = _arg1; XmlLoadedInternal(); } public static function xmlLoaded(_arg1:Event){ XML.ignoreWhitespace = true; xml = new XML(_arg1.target.data); f(); } public static function XmlLoadedInternal(){ XML.ignoreWhitespace = true; xml = new XML(xxx); f(); } } }//package
Section 48
//Font1 (Font1) package { import flash.text.*; public dynamic class Font1 extends Font { } }//package
Section 49
//Game (Game) package { import flash.events.*; import flash.geom.*; import flash.display.*; import flash.filters.*; public class Game { static const levelState_Dead = 4; static const levelFinishedState_WON = 1; static const levelFinishedState_NOT = 0; static const levelFinishedState_LOST = 2; static const levelState_Play = 1; static const levelState_BonusTime = 2; static const levelState_LevelStart = 0; static const levelState_EndSequence = 3; static var backgroundBD:BitmapData; static var dibsSpeechTimer:int; static var highScore:int; static var panelRect:Rectangle = new Rectangle(0, 0, 10, 10); static var levelFinishedState:int; static var levelTimer:int; static var playerHealthDec:Number; static var currentBackgroundFrame:int; public static var currentPortalGroup:int; static var offsett:Number = -40; static var goBackground:GameObj; public static var gravity; static var currentBackgroundFrameIndex:int; public static var firstTime_Powerup3:Boolean; public static var firstTime_Powerup1:Boolean; public static var firstTime_Powerup2:Boolean; public static var firstTime_Powerup4:Boolean; public static var currentStartPointIndex:int; static var invincibleTimer:int; public static var levelstart_score:int; static var hitStringTime:int = 0; static var playerHealthDecDuck:Number; static var pickupBerzerker:Number; public static var maxFallSpeed; static var berzerkerTime:int; static var numLevels:int; static var currentScore:int; static var ed:ExternalData; public static var playerExtraJumpYvel = -4; public static var LevelUpdateCallback:Object; public static var heightMap:Array; public static var animDefs:Array; public static var mouseMapX:Number; public static var mouseMapY:Number; static var showingOverlay:Boolean; static var levelTimeCount1:int; static var backgroundB:Bitmap; static var lastObjectGenerator:GameObj; static var bgMusic:int = 1; public static var numEnemiesActive:int; static var enemyCounts:Array; public static var normalHeight = 100; public static var bulletTime:int; static var currentWeapon:int; public static var polygonList:Array; public static var bloodMap:Array; static var pickupGold:Number; static var numCreds:int; public static var bossGO:GameObj; static var numWeenies:int; public static var scrollH:Number; static var invincibleTimerMax:int; static var numLives:int; static var showingOverlayID:int; static var speedupTimerMax:int; public static var scrollW:Number; public static var scrollX:Number; public static var scrollY:Number; static var levelTimeCount:int; static var cash:int; static var pickupList:Array; static var speedupTimer:int; public static var particleMode:int; static var hitStringTimeMax:int = 0; static var hitStringY:int = 0; public static var levelstart_shotsfired:int; static var startLevelMC:MovieClip; static var hitStringX:int = 0; static var map:BitmapData = null; static var hitStringNum:int = 0; static var pickupTime:Number; static var levelState:int; public static var levelstart_cash:int; public static var numKilledInWaveList:Array; public static var level:Level; static var currentLevel:int; static var levelsCompleted:Boolean; static var dibsSpeechFlag:Boolean; static var waveDefs:Array; static var main:Main; static var multiplier:int; static var lastEnemyGenDef:LevelEnemyGen; public static var startPointObjs:Array; public static var startPointY:Number; static var hitStringAng:Number = 0; static var genTimer:int; static var pickupType:int; public static var startPointX:Number; public static var playerJumpYvel; static var do_continue:Boolean = false; static var levelStateTimer:int; public static var startPoints:Array; static var overlayMC:MovieClip; static var scrollMaxX; static var goPlayer:GameObj; static var enemyGenTypeCounts:Array; static var scrollMaxY; static var berzerkerPickupAmt:int; static var pause:Boolean; static var pickupHealth:Number; static var portalDef:PortalDef; static function InitEnemyGen(){ genTimer = 30; } public static function InitAnimDefs():void{ animDefs = new Array(); } public static function HandleMouseWheel(_arg1:int){ } static function GetWeaponGroupById(_arg1):PlayerWeaponGroup{ return (null); } public static function GetHeightMapHeight(_arg1:int):Number{ var _local2:Number; if (_arg1 < 2){ _arg1 = 2; }; if (_arg1 > (2000 - 3)){ _arg1 = (2000 - 3); }; _local2 = 0; _local2 = (_local2 + heightMap[(_arg1 - 2)]); _local2 = (_local2 + heightMap[(_arg1 - 1)]); _local2 = (_local2 + heightMap[_arg1]); _local2 = (_local2 + heightMap[(_arg1 + 1)]); _local2 = (_local2 + heightMap[(_arg1 + 2)]); _local2 = (_local2 / 5); return (_local2); } static function AddBerzerker(_arg1:int){ berzerkerPickupAmt = (berzerkerPickupAmt + _arg1); if (berzerkerPickupAmt >= 100){ berzerkerPickupAmt = 0; berzerkerTime = (Defs.fps * 10); }; if (berzerkerPickupAmt < 0){ berzerkerPickupAmt = 0; }; } public static function UpdateGameplay():void{ var _local1:int; var _local2:int; if (pause){ return; }; if (KeyReader.Pressed(KeyReader.KEY_P)){ PauseMenu.Pause(); }; mouseMapX = (MouseControl.mousePosX + Game.scrollX); mouseMapY = (MouseControl.mousePosY + Game.scrollY); if (LevelUpdateCallback != null){ LevelUpdateCallback(); }; _local1 = 1; if (levelState == levelState_LevelStart){ levelStateTimer--; if (levelStateTimer <= 0){ startLevelMC.visible = false; InitLevelState(levelState_Play); }; }; if (levelState == levelState_BonusTime){ if (CountActiveEnemies() == 0){ InitLevelState(levelState_EndSequence); }; }; if (levelState == levelState_EndSequence){ levelStateTimer--; if (levelStateTimer <= 0){ Shop.Init(true); }; }; if (levelState == levelState_Dead){ }; numEnemiesActive = CountActiveEnemies(); if (invincibleTimer > 0){ invincibleTimer--; }; if (berzerkerTime > 0){ berzerkerTime--; }; _local2 = 0; while (_local2 < _local1) { if (bulletTime > 0){ bulletTime--; }; if ((((((((levelState == levelState_Play)) || ((levelState == levelState_BonusTime)))) || ((levelState == levelState_LevelStart)))) || ((levelState == levelState_EndSequence)))){ levelTimer++; UpdateScroll(); }; if (levelState == levelState_Play){ levelTimeCount1--; if (levelTimeCount1 <= 0){ levelTimeCount1 = Defs.fps; levelTimeCount--; if (levelTimeCount <= 0){ InitLevelState(levelState_BonusTime); }; if (levelTimeCount < 29){ }; }; UpdateEnemyGen(); }; GameObjects.Update(); Collision.Update(main); Particles.Update(1); _local2++; }; if ((((((levelState == levelState_Play)) || ((levelState == levelState_BonusTime)))) || ((levelState == levelState_LevelStart)))){ if (goPlayer.health < 0){ goPlayer.health = 0; InitLevelState(levelState_Dead); }; }; } public static function IsBerzerkerMode():Boolean{ return ((berzerkerTime > 0)); } public static function InitLevel(_arg1:Boolean=true){ var _local2:GameObj; var _local3:Level; pause = true; main.screenBD.fillRect(Defs.screenRect, 0); Debug.debugMode = 0; KeyReader.InitOnce(main.stage); MusicPlayer.StartMusic(bgMusic); Levels.InitOnce(); if (_arg1){ InitGeneralStuff(); }; ObjectDefs.Init(); Particles.Reset(); GameObjects.ClearAll(); levelFinishedState = levelFinishedState_NOT; LevelDef1.Init(main); scrollX = 0; scrollY = 0; LevelUpdateCallback = null; scrollW = 2000; scrollH = 800; scrollMaxX = (scrollW - Defs.displayarea_w); scrollMaxY = (scrollH - Defs.displayarea_h); playerJumpYvel = -20; gravity = 1; maxFallSpeed = 20; showingOverlay = false; showingOverlayID = 0; invincibleTimer = 0; invincibleTimerMax = (Defs.fps * 2); speedupTimer = 0; speedupTimerMax = (Defs.fps * 10); numWeenies = 0; numCreds = 0; dibsSpeechFlag = false; dibsSpeechTimer = 0; firstTime_Powerup1 = false; firstTime_Powerup2 = false; firstTime_Powerup3 = false; firstTime_Powerup4 = false; InitLevelState(levelState_LevelStart); bossGO = null; bulletTime = 0; _local3 = GetCurrentLevel(); if (_local3.backgroundID == -1){ currentBackgroundFrame = currentBackgroundFrameIndex; } else { currentBackgroundFrame = _local3.backgroundID; }; backgroundBD.fillRect(new Rectangle(0, 0, 2000, 800), 0); goBackground = GameObjects.AddObj(400, 400, 10000); goBackground.InitBackground(currentBackgroundFrame); numEnemiesActive = 0; levelstart_score = currentScore; levelstart_cash = cash; currentPortalGroup = 0; levelTimer = 0; Stats.StartLevel(); particleMode = 0; InitHeightMap(); goPlayer = GameObjects.AddObj(300, 400, 1000); goPlayer.InitFromObjectDef("Player"); ScrollToPlayer(); berzerkerTime = 0; InitEnemyGen(); pause = false; levelTimeCount = 30; levelTimeCount1 = Defs.fps; startLevelMC.visible = true; startLevelMC.x = 180; main.addChild(startLevelMC); startLevelMC.textLevelName.text = ("Level " + int((currentLevel + 1)).toString()); startLevelMC.textLevelDescription.text = _local3.displayText; } public static function GetPolyByName(_arg1:String):Poly{ var _local2:Poly; for each (_local2 in polygonList) { if (((_local2.active) && ((_local2.name == _arg1)))){ return (_local2); }; }; return (null); } public static function UpdatePortals():void{ var _local1:PortalGroup; for each (_local1 in portalDef.portalGroups) { _local1.Update(); }; } public static function GetBloodMap(_arg1:int):int{ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > (2000 - 1)){ _arg1 = (2000 - 1); }; return (bloodMap[_arg1]); } public static function BossKilled():void{ InitLevelState(levelState_BonusTime); } public static function ShowSign(_arg1:int){ if (showingOverlay){ return; }; showingOverlay = true; showingOverlayID = _arg1; } public static function RemoveGO(_arg1:String){ var _local2:GameObj; _local2 = GetGOByName(_arg1); if (_local2){ _local2.active = false; }; } public static function RemovePoly(_arg1:String){ var _local2:Poly; _local2 = GetPolyByName(_arg1); if (_local2){ _local2.active = false; }; } public static function AddScore(_arg1:int):void{ multiplier = 1; if (levelState == levelState_BonusTime){ multiplier = 2; }; currentScore = (currentScore + (_arg1 * multiplier)); Stats.levelScore = (Stats.levelScore + (_arg1 * multiplier)); if (currentScore > highScore){ highScore = currentScore; }; } public static function ReloadDataAndRestartLevel(){ ExternalData.InitOnce(ReloadDataAndRestartLevel1); } public static function ReloadDataAndRestartLevel1(){ InitLevel(); } static function UpdateEnemyGen(){ var _local1:Level; var _local2:Array; var _local3:int; var _local4:LevelEnemyGen; var _local5:GameObj; var _local6:Number; numEnemiesActive = CountActiveEnemies(); _local1 = GetCurrentLevel(); _local2 = GetEnemyList(); if (_local2.length == 0){ return; }; genTimer--; if (genTimer <= 0){ genTimer = 40; _local3 = Utils.RandBetweenInt(0, (_local2.length - 1)); _local4 = _local2[_local3]; if (Utils.RandBool()){ _local6 = scrollX; } else { _local6 = (scrollX + Defs.displayarea_w); }; lastEnemyGenDef = _local4; _local5 = GameObjects.AddObj(_local6, 400, 1000); _local5.InitFromObjectDef(_local4.typeName); _local5.genTypeIndex = _local4.index; lastEnemyGenDef = null; }; } public static function InitLevelState(_arg1:int){ var _local2:Particle; var _local3:GameObj; levelState = _arg1; levelStateTimer = 0; if (levelState == levelState_LevelStart){ levelStateTimer = (Defs.fps * 2); }; if (levelState == levelState_Play){ startLevelMC.visible = false; }; if (levelState == levelState_BonusTime){ startLevelMC.visible = true; main.addChild(startLevelMC); startLevelMC.textLevelName.text = ""; startLevelMC.textLevelDescription.text = "Put an end to the lives of these miserable creatures!"; }; if (levelState == levelState_EndSequence){ startLevelMC.visible = true; main.addChild(startLevelMC); startLevelMC.textLevelName.text = "Complete"; startLevelMC.textLevelDescription.text = "Collect all you can before visiting Merlin"; levelStateTimer = (Defs.fps * 4); }; if (levelState == levelState_Dead){ startLevelMC.visible = false; TitleScreenState.InitGameOver(); }; } public static function CountInstallations():int{ var _local1:int; var _local2:GameObj; _local1 = 0; for each (_local2 in GameObjects.objs) { if (((_local2.active) && (_local2.colFlag_isInstallation))){ _local1++; }; }; return (_local1); } public static function GenerateEnemies():void{ } public static function GetRandomEdge(_arg1:Number):Point{ var _local2:Point; _local2 = new Point(); if (Utils.RandBool()){ _local2.x = RandWorldX(); if (Utils.RandBool()){ _local2.y = (0 - _arg1); } else { _local2.y = (1000 + _arg1); }; } else { _local2.y = RandWorldY(); if (Utils.RandBool()){ _local2.x = (0 - _arg1); } else { _local2.x = (1000 + _arg1); }; }; return (_local2); } public static function buttonOverlayClosedPressed(_arg1:MouseEvent){ Overlay_Remove(); InitLevelState(levelState_Play); } static function RenderMiniMap(){ var _local1:BitmapData; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Rectangle; var _local6:GameObj; _local1 = main.screenBD; _local2 = 0; _local3 = 0; _local4 = 0.05; _local5 = new Rectangle(_local2, _local3, (1000 * _local4), (1000 * _local4)); _local1.fillRect(_local5, 4286611584); for each (_local6 in GameObjects.objs) { if (_local6.active){ if (_local6.colFlag_isEnemy){ _local1.setPixel32((_local6.xpos * _local4), (_local6.ypos * _local4), 4294901760); }; }; }; _local6 = Game.goPlayer; _local1.setPixel32((_local6.xpos * _local4), (_local6.ypos * _local4), 4294967295); } static function UpdateScroll(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = scrollX; _local2 = scrollY; _local3 = 0; _local4 = goPlayer.xpos; _local5 = goPlayer.ypos; _local4 = (_local4 - 320); _local5 = (_local5 - 240); scrollX = (scrollX + ((_local4 - scrollX) * 0.4)); scrollY = (scrollY + ((_local5 - scrollY) * 0.4)); if (scrollX < 10){ scrollX = 10; }; if (scrollY < 10){ scrollY = 10; }; if (scrollX > (scrollMaxX - 10)){ scrollX = (scrollMaxX - 10); }; if (scrollY > (scrollMaxY - 10)){ scrollY = (scrollMaxY - 10); }; } public static function Init(_arg1:Main){ main = _arg1; currentScore = 0; multiplier = 1; numLevels = 8; currentLevel = 0; highScore = 0; } public static function TestPausePressed(){ if (MouseControl.buttonPressed){ if (MouseControl.mousePosX > (Defs.displayarea_w - 32)){ if (MouseControl.mousePosY > (Defs.displayarea_h - 32)){ if (PauseMenu.IsPaused() == false){ PauseMenu.Pause(); MouseControl.buttonPressed = false; }; }; }; }; } static function Portal_SetAppearPos(_arg1:GameObj):Boolean{ _arg1.xpos = Utils.RandBetweenFloat((scrollX + 50), ((scrollX + Defs.displayarea_w) - 50)); _arg1.ypos = Utils.RandBetweenFloat((scrollY + 50), ((scrollY + Defs.displayarea_h) - 50)); if (Utils.Dist2BetweenPoints(_arg1.xpos, _arg1.ypos, goPlayer.xpos, goPlayer.ypos) < (100 * 100)){ return (false); }; return (true); } static function InitGeneralStuff(){ var _local1:XML; _local1 = ExternalData.xml.general[0]; pickupHealth = Number(_local1.pickup.@health); pickupGold = Number(_local1.pickup.@gold); pickupBerzerker = Number(_local1.pickup.@berzerker); pickupTime = Number(_local1.pickup.@time); playerHealthDec = Number(_local1.player.@hit); playerHealthDecDuck = Number(_local1.player.@duckhit); } public static function GetAnimDefByName(_arg1:String):AnimDef{ var _local2:AnimDef; for each (_local2 in animDefs) { if (_local2.name == _arg1){ return (_local2); }; }; trace(("ERROR: AnimDef not found: " + _arg1)); return (animDefs[0]); } public static function InitGame(_arg1:Boolean=false){ do_continue = _arg1; Debug.debugMode = 0; numLives = 3; InitAnimDefs(); Achievements.InitOnce(); levelsCompleted = false; polygonList = new Array(); startPoints = new Array(); startPointObjs = new Array(); currentStartPointIndex = 0; WaveDefs.InitOnce(); currentLevel = 0; backgroundBD = new BitmapData(2000, 800, true, 0); Stats.InitOnce(); AnimPoints.InitOnce(); enemyCounts = new Array(100); enemyGenTypeCounts = new Array(100); PlayerWeapons.InitOnce(); if (_arg1){ SaveData.Load(); }; trace(("Level: " + currentLevel)); pickupType = 0; pickupList = new Array(0, 1, 1, 0, 1, 1, 2, 1, 1); berzerkerPickupAmt = 0; lastEnemyGenDef = null; currentBackgroundFrameIndex = 0; currentWeapon = 3; startLevelMC = new levelintro(); } public static function GetLevelXml(_arg1:int):XML{ var _local2:XML; var _local3:int; var _local4:XML; _local2 = ExternalData.xml; _local3 = int(_local2.leveldef.length()); _arg1 = (_arg1 % _local3); _local4 = _local2.leveldef[_arg1]; return (_local4); } static function AddCash(_arg1:int){ cash = (cash + _arg1); Stats.levelCash = (Stats.levelCash + _arg1); Stats.totalCash = (Stats.totalCash + _arg1); } public static function IncreaseMapHeight(_arg1:int):void{ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > (2000 - 1)){ _arg1 = (2000 - 1); }; bloodMap[_arg1] = int(1); } static function InitHeightMap(){ var _local1:int; var _local2:Array; var _local3:Array; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:Array; var _local8:Array; var _local9:Array; var _local10:Poly; var _local11:Number; _local2 = new Array(); _local2.push(new Point(0, 700)); _local2.push(new Point(2000, 700)); _local3 = new Array(); _local3.push(new Point(0, 700)); _local3.push(new Point(2000, 700)); _local4 = new Array(); _local4.push(new Point(0, 700)); _local4.push(new Point(2000, 700)); _local5 = new Array(); _local5.push(new Point(0, 622)); _local5.push(new Point(478, 612)); _local5.push(new Point(673, 639)); _local5.push(new Point(844, 645)); _local5.push(new Point(1023, 649)); _local5.push(new Point(1244, 635)); _local5.push(new Point(1393, 610)); _local5.push(new Point(1604, 572)); _local5.push(new Point(1779, 590)); _local5.push(new Point(1875, 605)); _local5.push(new Point(2098, 584)); _local6 = new Array(); _local6.push(new Point(0, 630)); _local6.push(new Point(2000, 630)); _local7 = new Array(); _local7.push(new Point(-11, 488)); _local7.push(new Point(111, 551)); _local7.push(new Point(244, 600)); _local7.push(new Point(383, 653)); _local7.push(new Point(503, 690)); _local7.push(new Point(683, 730)); _local7.push(new Point(876, 762)); _local7.push(new Point(1181, 760)); _local7.push(new Point(1389, 743)); _local7.push(new Point(1626, 721)); _local7.push(new Point(1866, 654)); _local7.push(new Point(2025, 587)); _local7.push(new Point(2097, 545)); _local8 = new Array(); _local8.push(new Point(0, 535)); _local8.push(new Point(675, 649)); _local8.push(new Point(695, 671)); _local8.push(new Point(2051, 697)); if (currentBackgroundFrame == 0){ _local9 = _local2; }; if (currentBackgroundFrame == 1){ _local9 = _local3; }; if (currentBackgroundFrame == 2){ _local9 = _local4; }; if (currentBackgroundFrame == 3){ _local9 = _local5; }; if (currentBackgroundFrame == 4){ _local9 = _local6; }; if (currentBackgroundFrame == 5){ _local9 = _local7; }; if (currentBackgroundFrame == 6){ _local9 = _local8; }; trace(("initing bg frame " + currentBackgroundFrame)); _local1 = 0; _local10 = new Poly("", 0, _local9[_local1].x, _local9[_local1].y); _local1 = 0; while (_local1 < (_local9.length - 1)) { _local10.AddLine(_local9[_local1].x, _local9[_local1].y, _local9[(_local1 + 1)].x, _local9[(_local1 + 1)].y); _local1++; }; _local10.Finish(false); polygonList = new Array(); polygonList.push(_local10); bloodMap = new Array(); heightMap = new Array(); _local1 = 0; while (_local1 < 2000) { _local11 = Collision.FindHighestFloorPos(_local1); heightMap.push(_local11); bloodMap.push(int(0)); _local1++; }; } public static function InitDibsSpeech(_arg1:int){ } static function ScrollToPlayer(){ var _local1:int; _local1 = 0; while (_local1 < 100) { UpdateScroll(); _local1++; }; } public static function GetGOFrame(_arg1:String):int{ var _local2:GameObj; _local2 = GetGOByName(_arg1); if (_local2){ return (int(_local2.frame)); }; return (-1); } public static function CountActiveEnemies():int{ var _local1:int; var _local2:int; var _local3:GameObj; _local2 = 0; while (_local2 < enemyCounts.length) { enemyCounts[_local2] = 0; _local2++; }; _local2 = 0; while (_local2 < enemyGenTypeCounts.length) { enemyGenTypeCounts[_local2] = 0; _local2++; }; _local1 = 0; _local2 = 0; while (_local2 < GameObjects.objs.length) { _local3 = GameObjects.objs[_local2]; if ((((_local3.active == true)) && (_local3.colFlag_isEnemy))){ _local1++; var _local4 = enemyCounts; var _local5 = _local3.objectDef.index; var _local6 = (_local4[_local5] + 1); _local4[_local5] = _local6; if (_local3.genTypeIndex != -1){ _local4 = enemyGenTypeCounts; _local5 = _local3.genTypeIndex; _local6 = (_local4[_local5] + 1); _local4[_local5] = _local6; }; }; _local2++; }; return (_local1); } public static function Overlay_Remove(){ if (overlayMC != null){ main.removeChild(overlayMC); overlayMC = null; KeyReader.InitOnce(main.stage); }; } public static function RandWorldX():Number{ return (Utils.RandBetweenFloat(0, 1000)); } public static function RandWorldY():Number{ return (Utils.RandBetweenFloat(0, 1000)); } public static function GetEnemyList():Array{ var _local1:Level; var _local2:Array; var _local3:LevelEnemyGen; var _local4:int; _local1 = GetCurrentLevel(); _local2 = new Array(); for each (_local3 in _local1.enemyGens) { _local4 = enemyGenTypeCounts[_local3.index]; if (_local4 < _local3.max){ if (levelTimer >= _local3.delay){ _local2.push(_local3); }; }; }; return (_local2); } static function RenderBackground(){ var _local1:Number; var _local2:Number; var _local3:Bitmap; var _local4:BitmapData; _local1 = goBackground.xpos; _local2 = goBackground.ypos; _local3 = GraphicObjects.GetBitmap((GraphicObjects.gfx_backgroundscroll1 + currentBackgroundFrame), 0); _local4 = _local3.bitmapData; main.backScreenBD.copyPixels(_local4, new Rectangle(0, 0, 2000, 800), new Point(_local1, _local2), null, null, true); main.backScreenBD.copyPixels(backgroundBD, new Rectangle(0, 0, 2000, 800), new Point(_local1, _local2), null, null, false); } static function Render(){ var _local1:Number; RenderBackground(); main.screenBD.fillRect(Defs.screenRect, 0); GameObjects.Render(); if (IsBerzerkerMode()){ main.screenBD.applyFilter(main.screenBD, Defs.screenRect, Defs.pointZero, new GlowFilter(0xFF0000, 1, 8, 8, 5, 1)); _local1 = (Math.cos((Number(berzerkerTime) * 0.3)) * 0.1); _local1 = (_local1 + 1.1); GraphicObjects.RenderAtRotScaled(GraphicObjects.gfx_berzerkscreen, 0, main.screenBD, 320, 240, false, _local1); GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font2, 200, 50, "BERZERK!", -2); }; RenderPanel(); } public static function Overlay_Show(_arg1:int){ } public static function GetGOByName(_arg1:String):GameObj{ var _local2:GameObj; for each (_local2 in GameObjects.objs) { if (((_local2.active) && ((_local2.name == _arg1)))){ return (_local2); }; }; return (null); } public static function GetCurrentLevel():Level{ return (Levels.list[currentLevel]); } static function RenderPanel(){ var _local1:Level; var _local2:String; var _local3:PlayerWeapon; var _local4:int; var _local5:Number; var _local6:int; var _local7:Number; _local1 = GetCurrentLevel(); if (levelState == levelState_LevelStart){ }; if (levelState == levelState_Dead){ return; }; if (startLevelMC.visible == false){ GraphicObjects.RenderAt(GraphicObjects.gfx_timerunderlay, 0, main.screenBD, 320, 20); _local2 = levelTimeCount.toString(); if (levelTimeCount == 30){ GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font2, (320 - 27), 30, _local2); } else { if (levelTimeCount > 9){ GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font2, (320 - 24), 30, _local2); } else { GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font2, (320 - 12), 30, _local2); }; }; }; _local3 = PlayerWeapons.weaponList[currentWeapon]; if (hitStringTime > 0){ _local6 = (hitStringNum - 1); if (_local6 > 8){ _local6 = 8; }; _local7 = 1; if (hitStringTime < 10){ _local7 = (_local7 + (Number((hitStringTimeMax - 10)) * 0.01)); _local7 = (_local7 - (Number((10 - hitStringTime)) * 0.1)); if (_local7 < 0){ (_local7 == 0); }; } else { _local7 = (_local7 + (Number((hitStringTimeMax - hitStringTime)) * 0.01)); }; GraphicObjects.RenderAtRotScaled(GraphicObjects.gfx_kill, _local6, main.screenBD, (hitStringX - scrollX), (hitStringY - scrollY), false, _local7, hitStringAng); hitStringTime--; }; _local4 = GraphicObjects.gfx_interface_healthbar; _local5 = Utils.ScaleTo((GraphicObjects.GetNumFrames(_local4) - 1), 0, 0, 100, goPlayer.health); GraphicObjects.RenderAt(_local4, int(_local5), main.screenBD, 10, 10); _local4 = GraphicObjects.gfx_interface_berzerkerbar; _local5 = Utils.ScaleTo((GraphicObjects.GetNumFrames(_local4) - 1), 0, 0, 100, berzerkerPickupAmt); GraphicObjects.RenderAt(_local4, int(_local5), main.screenBD, 450, 10); _local2 = cash.toString(); GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 55, 64, _local2, -3); _local2 = currentScore.toString(); GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 44, 94, _local2, -3); GraphicObjects.RenderAt(GraphicObjects.gfx_interface_hudweapon, currentWeapon, main.screenBD, (450 + 145), (10 + 64)); } public static function ExitDibsSpeech(){ } } }//package
Section 50
//GameObj (GameObj) package { import flash.events.*; import flash.geom.*; import flash.display.*; public class GameObj { var attackMode:int; var man_acc:Number; public var colFlag_isInstallation:Boolean; public var xvel:Number; var path:Poly; public var todir:Number; var modifier0:Number; var modifier1:Number; var modifier2:Number; var modifier3:Number; var speedModifier:Number; var isPickup:Boolean; public var speed:Number; var genTypeIndex:int; public var colFlag_isEnemy:Boolean; var objectDef:ObjectDef; var startx:Number; public var ypos2:Number; var startz:Number; var hasShadow:Boolean; var starty:Number; var doneAction:Boolean; public var colFlag_vulnerable:Boolean; var frame1:Number; public var movementVec:Vec; var bobAdder:Number; var currentPathNode:int; public var visible:Boolean; public var dieFunction:Function; var enemyGenMode:int; var particleColor:uint; public var colFlag_playercanbekilled:Boolean; var currentAnimDef:AnimDef; public var yvel:Number; var acc:Number; public var dir:Number; public var radius:Number; public var hitTimerMax:int; public var controlMode:int; public var colFlag_isEnemyProjectile:Boolean; var isPlayer:Boolean; var oscillator:Number; var isDead:Boolean; var maxhealth:Number; var EnemyHitByBulletFunctionCallback:Function; var EnemyUpdateFunctionCallback:Function; public var shadowRenderFunction:Function; var pressedExtraWeapon:Boolean;// = false var objectIndex:int; var currentAnimName:String; public var xpos2:Number; public var colFlag_isPlatform:Boolean; var pressedWeapon:Boolean;// = false var bobDistance:Number; public var zvel:Number; var xflip:Boolean; public var accel:Number; var currentPoly:Poly; var currentWeaponSlotID:int; var boss3_PathIndex:int; public var colFlag_killPlayer:Boolean; var shotControllers:Array; public var xacc:Number; public var count:int; var minSpeed:Number; var movementState:String; var height:Number; public var colFlag_isEnemyBullet:Boolean; public var colFlag_jumpon:Boolean; var flashTimer:int; public var colFlag_invincible:Boolean; var ss_minFrame:int; var rotVelMax:Number; var ss_controlMode:int; public var colFlag_isPlayerBullet:Boolean; var maxSpeed:Number; public var dir1:Number; var scale:Number; var healthModifier:Number; var man_runMaxVel:Number; var hit_xvel:Number; var fireOffsetDir:Number; var alpha:Number; public var colFlag_UseRadius:Boolean; public var yacc:Number; var frame:Number; var healthBarTimer:int; var ss_maxFrame:int; public var controlIndex:int; var pressedFire:Boolean;// = false public var subtype:int; var portal_genFreqency:int; var currentEventID:int; public var oldxpos:Number; var shootingFlag:Boolean; var doublePressedRight:Boolean;// = false var timer1:Number; var portal_mode:int; public var toPosY:Number; public var toPosX:Number; public var driveVec:Vec; var dist:Number; var prevToPosX:Number; var prevToPosY:Number; var main:Main; public var colFlag_isShop:Boolean; var bobInitialHeight:Number; var inFrontZone:Poly; var pressedFire1:Boolean;// = false var currentMaxSpeed:Number; var portal_genType:String; public var oldypos:Number; var pressedCycle:Boolean;// = false var ss_frameVel:int; var graphicID:int; var weapon:PlayerWeapon; var collisionPoly:Poly; var gutsList:Array; var pressedCyclePrev:Boolean;// = false var minFrame:int; var rotVel:Number; var yoffset:Number; public var colFlag_canBeShot:Boolean; var health:Number; var pressedUp:Boolean;// = false var maxFrame:int; var pressedWeaponID:int;// = 0 var bulletPlayerWeapon:PlayerWeapon; public var name:String; public var toSpeed:Number; var graphicID1:int; var bobTimer:Number; public var colFlag_canBePickedUp:Boolean; public var colFlag_isPowerup:Boolean; public var colFlag_isCheckpoint:Boolean; public var origspeed:Number; var actionTimer:int; var hitEnemyFunction:Function; var doublePressedLeft:Boolean;// = false var boss3_numPaths:int; public var depth:Number; var man_walkMaxVel:Number; var ss_frame:Number; var particleType:int; public var xpos:Number; var ss_graphicID:int; public var frameVel:Number; var carriedObject:GameObj; var xoffset:Number; public var active:Boolean; public var colFlag_canReceiveMelee:Boolean; var weaponGroups:Array; var pressedRight:Boolean;// = false var genBloodFlag:Boolean; var pathSpeed:Number; var toOffsetY:Number; var toOffsetX:Number; public var type:int; public var ypos:Number; var aggression:Number; var timer:Number; var colorTransform:ColorTransform; public var colFlag_canGiveMelee:Boolean; var pressedLeft:Boolean;// = false var pressedJump:Boolean;// = false var numWeapons:int; var isBeingCarried:Boolean; public var hitTimer:int; var flashFlag:Boolean; var toHeight:Number; public var renderFunction:Function; public var zpos:Number; public var colFlag_shielded:Boolean; public var colFlag_isBouncyPad:Boolean; var heightVar1:Number; var tailPieces:Array; var isBoss:Boolean; var portal_genAmount:int; var playerWeapons:Array; var heightVar0:Number; public var updateFunction:Function; public var externalVec:Vec; public var bulletTestCollisionExtraFunction:Function; public var zpos2:Number; var usesBulletTime:Boolean; var timerMax:Number; var dodgeBullets:Boolean; var pressedDown:Boolean;// = false var parentObj:GameObj; var flashTimerMax:int; var actionList:Array; var pathPos:Number; public static const generic_controlMode_hit:int = 100; static var ct:ColorTransform = new ColorTransform(); public function GameObj(_arg1, _arg2, _arg3, _arg4:int){ doublePressedLeft = false; doublePressedRight = false; pressedLeft = false; pressedRight = false; pressedUp = false; pressedDown = false; pressedJump = false; pressedFire = false; pressedFire1 = false; pressedCycle = false; pressedCyclePrev = false; pressedExtraWeapon = false; pressedWeapon = false; pressedWeaponID = 0; super(); xpos = _arg2; ypos = _arg3; zpos = 1; starty = _arg2; startx = _arg2; active = false; main = _arg1; zpos = 0; graphicID = 0; frame = 0; frameVel = 0; controlIndex = 0; timer = 0; timer1 = 0; radius = 14; minFrame = 0; maxFrame = 0; movementVec = new Vec(); externalVec = new Vec(); objectIndex = _arg4; colorTransform = new ColorTransform(); } public function UpdateEnemy9(){ xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); UpdateExternalVel(); if (IsInWorld(64) == false){ active = false; }; CycleAnimationEx(); } public function InitMagicParticle(_arg1:int){ updateFunction = UpdateMagicParticle; graphicID = GraphicObjects.gfx_magicsparkle; if (_arg1 == 1){ graphicID = GraphicObjects.gfx_magicsparkle2; }; frame = 0; frameVel = Utils.RandBetweenFloat(0.5, 1); yvel = -(Utils.RandBetweenFloat(0, 1)); xvel = Utils.RandBetweenFloat(-1, 1); } function RenderCollisionPoly():void{ var _local1:Number; var _local2:Number; var _local3:Line; if ((Debug.debugMode & 4) == 0){ return; }; if (collisionPoly == null){ return; }; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); for each (_local3 in collisionPoly.lineList) { Utils.RenderDotLine(main.screenBD, (_local3.x0 - _local1), (_local3.y0 - _local2), (_local3.x1 - _local1), (_local3.y1 - _local2), 100, 4294967295); }; } function InitEnemy_Troll(){ aggression = Game.lastEnemyGenDef.aggression; speedModifier = Game.lastEnemyGenDef.speed; colFlag_invincible = true; colFlag_isEnemy = true; updateFunction = UpdateEnemy_Troll; SetAnim("walk"); controlMode = 0; maxSpeed = Util_GetRandWithModifier(1, 2, 3, 4, speedModifier); controlMode = 0; Util_SetToFloorPos(); count = 0; colFlag_vulnerable = false; } function ManUpdateXvels(_arg1:Number):void{ xvel = (xvel + xacc); xvel = Utils.LimitNumber(-(_arg1), _arg1, xvel); xpos = (xpos + xvel); } public function UpdateBob(){ var _local1:Number; bobTimer = (bobTimer + bobAdder); _local1 = (Math.sin(bobTimer) * bobDistance); height = (bobInitialHeight + _local1); } function Init_EnemySwordBullet(){ var _local1:GameObj; colFlag_isEnemyBullet = true; visible = true; updateFunction = Update_EnemySwordBullet; timer = 10; _local1 = Game.lastObjectGenerator; xpos = (_local1.xpos + objectDef.offsetX); if (_local1.xflip){ xpos = (_local1.xpos - objectDef.offsetX); }; ypos = (_local1.ypos + objectDef.offsetY); } function InitEnemy_Pixie(){ aggression = Game.lastEnemyGenDef.aggression; speedModifier = Game.lastEnemyGenDef.speed; healthModifier = Game.lastEnemyGenDef.health; colFlag_isEnemy = true; updateFunction = UpdateEnemy_Pixie; SetAnim("walk"); controlMode = 0; modifier0 = 2; modifier1 = 3; modifier2 = 4; modifier3 = 5; maxSpeed = Util_GetRandWithModifier(modifier0, modifier1, modifier2, modifier3, speedModifier); controlMode = 0; Util_SetToFloorPos(); } public function UpdateEnemy_Helicopter(){ var _local1:Number; var _local2:Poly; var _local3:Point; timer1 = (timer1 + xvel); timer = (timer + yvel); _local1 = Math.sin(timer); _local1 = (_local1 + Math.sin(timer1)); _local1 = Utils.NormalizeUnit(_local1); _local2 = currentPoly; if (_local2 == null){ return; }; _local3 = _local2.GetPointOnCatmullRom(_local1); toPosX = (Game.goPlayer.xpos + _local3.x); toPosY = (Game.goPlayer.ypos + _local3.y); xpos = (xpos + ((toPosX - xpos) * 0.005)); ypos = (ypos + ((toPosY - ypos) * 0.005)); dir = Math.atan2((Game.goPlayer.ypos - ypos), (Game.goPlayer.xpos - xpos)); dir1 = (dir1 + 0.4); } public function InitEnemy_AccelStraight(){ EnemyUpdateFunctionCallback = UpdateEnemy_AccelStraight; controlMode = 0; UpdateEnemy_TurnAndMoveToPoint_GetPosNearPlayer(); SetToRequiredRot(); if (enemyGenMode == 0){ toPosX = Game.goPlayer.xpos; toPosY = Game.goPlayer.ypos; SetToRequiredRot(); } else { movementVec.rot = Utils.RandCircle(); }; movementVec.speed = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); accel = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); } function Util_XDistToPlayer():Number{ return (Math.abs((xpos - Game.goPlayer.xpos))); } function UpdateEnemy(){ var _local1:ShotController; if (EnemyUpdateFunctionCallback != null){ EnemyUpdateFunctionCallback(); }; if (shootingFlag){ for each (_local1 in shotControllers) { if (_local1.active){ _local1.Update(this); }; }; }; UpdateActions(); if (IsInWorld(200) == false){ active = false; }; if (flashTimer > 0){ flashTimer--; }; if (healthBarTimer > 0){ healthBarTimer--; }; } function UpdateEnemy_TurnAndMoveToPoint_GetPosNearPlayer(){ var _local1:Point; _local1 = Utils.RandPointInCircle(50); toPosX = (Game.goPlayer.xpos + _local1.x); toPosY = (Game.goPlayer.ypos + _local1.y); } function Die_PlayerArrow(){ var _local1:Number; var _local2:int; controlMode = 1; _local1 = -(Utils.RandBetweenFloat(0.1, 0.5)); xvel = (xvel * _local1); yvel = Utils.RandBetweenFloat(-2, -6); rotVel = (rotVel * _local1); colFlag_isPlayerBullet = false; _local2 = Utils.RandBetweenInt(0, 2); if (_local2 == 0){ frame = 0; }; if (_local2 == 1){ frame = 11; }; if (_local2 == 2){ frame = 12; }; } public function InitEnemy_RandomlyFlyRoundMap(){ EnemyUpdateFunctionCallback = UpdateEnemy_RandomlyFlyRoundMap; rotVel = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); toSpeed = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); speed = 0; InitEnemyRot_TakeFromPortalDef(); InitBob(); } function GnomeHitPlayerWhenRunning(){ controlMode = 3; xflip = Util_SideOfPlayer(); SetAnim("hit"); } function RenderPlayer(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:String; var _local6:AnimPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:int; var _local11:Number; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = (Math.floor(xpos) - _local1); _local4 = (Math.floor(ypos) - _local2); _local5 = currentAnimDef.name; if ((((((((((((((((_local5 == "idle")) || ((_local5 == "walk")))) || ((_local5 == "jump")))) || ((_local5 == "die")))) || ((_local5 == "standtoduck")))) || ((_local5 == "duck")))) || ((_local5 == "ducktostand")))) || ((_local5 == "hit")))){ _local6 = AnimPoints.GetFramePoint(0, frame); if (_local6 != null){ _local7 = (_local6.rot - (Math.PI * 0.5)); _local8 = (_local3 + _local6.x); _local9 = (_local4 + _local6.y); if (xflip){ _local7 = -(_local7); _local8 = (_local3 - _local6.x); }; _local10 = (GraphicObjects.gfx_carryweapon_sword + Game.currentWeapon); GraphicObjects.RenderAtRotScaled(_local10, 0, main.screenBD, _local8, _local9, xflip, 1, _local7); }; }; if ((((hitTimer > 0)) && ((hitTimer & 2)))){ _local11 = Utils.ScaleTo(1, 4, 0, hitTimerMax, hitTimer); colorTransform.redMultiplier = _local11; _local11 = Utils.ScaleTo(1, 0, 0, hitTimerMax, hitTimer); colorTransform.greenMultiplier = _local11; colorTransform.blueMultiplier = _local11; GraphicObjects.RenderAtColTrans(graphicID, frame, main.screenBD, _local3, _local4, xflip, colorTransform); } else { GraphicObjects.RenderAt(graphicID, frame, main.screenBD, _local3, _local4, xflip); }; } function InitPlayer():void{ health = 100; isDead = false; isPlayer = true; colFlag_canGiveMelee = true; colFlag_canReceiveMelee = true; updateFunction = UpdatePlayer; renderFunction = RenderPlayer; frame = 0; graphicID = GraphicObjects.gfx_player; particleColor = 4294967295; particleType = 0; xvel = 0; yvel = 0; frameVel = 1; SetManMovementState("idle"); SetManDirection(1); man_walkMaxVel = 5; man_runMaxVel = 6; man_acc = 0.5; carriedObject = null; Util_SetToFloorPos(); } function Init_BabyDragonBullet(){ } function Init_PlayerCrossbowBullet(){ var _local1:GameObj; colFlag_isPlayerBullet = true; _local1 = Game.lastObjectGenerator; weapon = PlayerWeapons.weaponList[Game.currentWeapon]; SoundPlayer.PlayRandomBetween("arrowfire1", "arrowfire2"); visible = true; updateFunction = Update_PlayerCrossbowBullet; graphicID = GraphicObjects.gfx_player_arrow; frame = 0; xpos = (_local1.xpos + objectDef.offsetX); xvel = 30; if (_local1.xflip){ xpos = (_local1.xpos - objectDef.offsetX); xvel = -(xvel); }; ypos = (_local1.ypos + objectDef.offsetY); rotVel = Utils.RandBetweenFloat(-0.3, 0.3); dieFunction = Die_PlayerArrow; controlMode = 0; frameVel = 1; type = weapon.currentLevel; if (type == 0){ minFrame = 0; maxFrame = 0; }; if (type == 1){ minFrame = 1; maxFrame = 5; }; if (type == 2){ minFrame = 6; maxFrame = 10; }; } function UpdateBatPoo(){ if (controlMode == 0){ xpos = (xpos + xvel); depth = (depth + zvel); if (Util_UpdateYvel()){ controlMode = 1; SetAnim("splat"); }; PlayAnimationEx(); } else { if (controlMode == 1){ if (PlayAnimationEx()){ RenderToBackground(); active = false; }; }; }; } function InitShop():void{ objectDef = ObjectDefs.GetObjectDefByExportName("Shop"); graphicID = objectDef.GetAnimIDFromName("idle"); updateFunction = UpdateShop; graphicID; colFlag_isShop = true; yvel = 2; xvel = 0; } function UpdatePlayer1():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:PlayerWeapon; var _local8:int; var _local9:GameObj; var _local10:AnimPoint; var _local11:Number; var _local12:Number; var _local13:Number; doublePressedLeft = false; doublePressedRight = false; pressedLeft = false; pressedRight = false; pressedUp = false; pressedDown = false; pressedJump = false; pressedFire = false; pressedFire1 = false; pressedCycle = false; pressedCyclePrev = false; pressedExtraWeapon = false; pressedWeapon = false; if (KeyReader.Down(KeyReader.KEY_LEFT)){ pressedLeft = true; }; if (KeyReader.Down(KeyReader.KEY_RIGHT)){ pressedRight = true; }; if (KeyReader.Down(KeyReader.KEY_UP)){ pressedUp = true; }; if (KeyReader.Down(KeyReader.KEY_DOWN)){ pressedDown = true; }; if (KeyReader.Down(KeyReader.KEY_A)){ pressedLeft = true; }; if (KeyReader.Down(KeyReader.KEY_D)){ pressedRight = true; }; if (KeyReader.Down(KeyReader.KEY_W)){ pressedUp = true; }; if (KeyReader.Down(KeyReader.KEY_S)){ pressedDown = true; }; if (KeyReader.Pressed(KeyReader.KEY_SPACE)){ pressedFire = true; }; if (KeyReader.Pressed(KeyReader.KEY_Z)){ pressedFire = true; }; if (KeyReader.Pressed(KeyReader.KEY_2)){ pressedFire1 = true; }; if (KeyReader.Pressed(KeyReader.KEY_Q)){ pressedCyclePrev = true; }; if (KeyReader.Pressed(KeyReader.KEY_E)){ pressedCycle = true; }; if (KeyReader.Pressed(KeyReader.KEY_1)){ pressedWeapon = true; pressedWeaponID = 0; }; if (KeyReader.Pressed(KeyReader.KEY_2)){ pressedWeapon = true; pressedWeaponID = 1; }; if (KeyReader.Pressed(KeyReader.KEY_3)){ pressedWeapon = true; pressedWeaponID = 2; }; if (KeyReader.Pressed(KeyReader.KEY_4)){ pressedWeapon = true; pressedWeaponID = 3; }; if (KeyReader.Pressed(KeyReader.KEY_5)){ pressedWeapon = true; pressedWeaponID = 4; }; if (KeyReader.Pressed(KeyReader.KEY_6)){ pressedWeapon = true; pressedWeaponID = 5; }; if (pressedCyclePrev){ Game.currentWeapon = PlayerWeapons.NextWeapon(-1, Game.currentWeapon); }; if (pressedCycle){ Game.currentWeapon = PlayerWeapons.NextWeapon(1, Game.currentWeapon); }; if (pressedWeapon){ Game.currentWeapon = PlayerWeapons.SetWeaponNumber(pressedWeaponID, Game.currentWeapon); }; _local1 = man_acc; _local2 = man_walkMaxVel; _local3 = man_runMaxVel; _local4 = man_runMaxVel; _local5 = 1; if (movementState == "idle"){ if (((pressedLeft) || (pressedRight))){ SetManMovementState("walk"); }; CycleAnimationEx(); ManUpdateDecel(); } else { if (movementState == "duck"){ if (controlMode == 0){ if (PlayAnimationEx()){ controlMode = 1; SetAnim("duck"); }; } else { if (controlMode == 1){ if (!pressedDown){ controlMode = 2; SetAnim("ducktostand"); }; CycleAnimationEx(); } else { if (controlMode == 2){ if (PlayAnimationEx()){ SetManMovementState("idle"); }; }; }; }; ManUpdateDecel(); } else { if (movementState == "walk"){ xacc = 0; if (pressedLeft){ xacc = -(_local1); ManUpdateXvels(_local2); SetManDirection(0); } else { if (pressedRight){ xacc = _local1; ManUpdateXvels(_local2); SetManDirection(1); } else { if (ManUpdateDecel()){ SetManMovementState("idle"); }; }; }; CycleAnimationEx(); } else { if (movementState == "jump"){ xacc = 0; if (pressedLeft){ xacc = -(_local1); ManUpdateXvels(_local3); SetManDirection(0); } else { if (pressedRight){ xacc = _local1; ManUpdateXvels(_local3); SetManDirection(1); } else { ManUpdateDecel(); }; }; CycleAnimationEx(); } else { if (movementState == "attack"){ ManUpdateDecel(); if (PlayAnimationEx()){ SetManMovementState("idle"); }; } else { if (movementState == "jumpattack"){ xacc = 0; if (pressedLeft){ xacc = -(_local1); ManUpdateXvels(_local3); SetManDirection(0); } else { if (pressedRight){ xacc = _local1; ManUpdateXvels(_local3); SetManDirection(1); } else { ManUpdateDecel(); }; }; if (PlayAnimationEx()){ SetManMovementState("jump"); }; } else { if (movementState == "hit"){ if (PlayAnimationEx()){ _local6 = Game.GetHeightMapHeight(xpos); if (ypos >= _local6){ SetManMovementState("idle"); } else { SetManMovementState("jump"); }; }; timer++; ManUpdateDecel(); } else { if (movementState == "die"){ PlayAnimationEx(); PlayerUpdateDeadParticles(); timer++; ManUpdateDecel(); }; }; }; }; }; }; }; }; if ((((((movementState == "walk")) || ((movementState == "idle")))) || ((movementState == "jump")))){ if (movementState != "jump"){ if (pressedUp){ SetManMovementState("jump"); yvel = Game.playerJumpYvel; }; }; if (pressedFire){ if (movementState == "jump"){ SetManMovementState("jumpattack"); } else { SetManMovementState("attack"); }; }; if (pressedDown){ if (movementState != "jump"){ controlMode = 0; SetManMovementState("duck"); }; }; }; xpos = Utils.LimitNumber(0, Game.scrollW, xpos); yvel = (yvel + Game.gravity); yvel = Utils.LimitNumber(-100, Game.maxFallSpeed, yvel); ypos = (ypos + yvel); _local6 = Game.GetHeightMapHeight(xpos); if (ypos > _local6){ ypos = _local6; if ((((movementState == "jump")) || ((movementState == "jumpattack")))){ if (Game.GetBloodMap(xpos) != 0){ _local8 = 0; while (_local8 < 10) { _local9 = GameObjects.AddObj(xpos, ypos, zpos); _local9.InitMiniBloodParticle(); _local9.depth = depth; _local8++; }; }; SetManMovementState("idle"); }; }; UpdateAnimEvents(); _local7 = PlayerWeapons.weaponList[Game.currentWeapon]; if (_local7.currentLevel > 0){ _local10 = AnimPoints.GetFramePoint(1, frame); if (_local10 != null){ _local11 = (_local10.rot - (Math.PI * 0.5)); _local12 = (xpos + _local10.x); _local13 = (ypos + _local10.y); if (xflip){ _local11 = -(_local11); _local12 = (xpos - _local10.x); }; _local9 = GameObjects.AddObj(_local12, _local13, zpos); _local9.InitMagicParticle((_local7.currentLevel - 1)); _local9.depth = depth; }; }; } function Event_EnemyPixieGenerateBullet(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef("PixieBullet", this); } function SetXflipFromVel(){ xflip = false; if (xvel < 0){ xflip = true; }; } function UpdateAnimEvents():void{ var _local1:AnimDef; var _local2:AnimEvent; var _local3:int; _local1 = currentAnimDef; if (currentEventID >= _local1.eventList.length){ return; }; _local2 = _local1.eventList[currentEventID]; _local3 = (int(frame) - minFrame); if (_local3 == _local2.frame){ if (_local2.functionName != ""){ var _local4 = this; _local4[_local2.functionName](); }; currentEventID++; }; } function Event_EnemyKnightGenerateBullet1(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef("KnightBullet1", this); } public function InitMiniBloodParticle(_arg1:int=0){ updateFunction = UpdateMiniBloodParticle; graphicID = GraphicObjects.gfx_bloodparticle; frame = Utils.RandBetweenInt(2, 3); xvel = Utils.RandBetweenFloat(-3, 3); yvel = Utils.RandBetweenFloat(-4, -8); zvel = Utils.RandBetweenFloat(-0.5, 0.5); dir = Utils.RandBetweenFloat(0, 10); } function Init_PlayerBowBullet(){ var _local1:GameObj; colFlag_isPlayerBullet = true; _local1 = Game.lastObjectGenerator; weapon = PlayerWeapons.weaponList[Game.currentWeapon]; SoundPlayer.PlayRandomBetween("arrowfire1", "arrowfire2"); visible = true; updateFunction = Update_PlayerBowBullet; graphicID = GraphicObjects.gfx_player_arrow; frame = 0; xpos = (_local1.xpos + objectDef.offsetX); xvel = 20; yvel = Utils.RandBetweenFloat(-4, -3); if (_local1.xflip){ xpos = (_local1.xpos - objectDef.offsetX); xvel = -(xvel); }; ypos = (_local1.ypos + objectDef.offsetY); rotVel = Utils.RandBetweenFloat(-0.3, 0.3); dieFunction = Die_PlayerArrow; controlMode = 0; frameVel = 1; type = weapon.currentLevel; if (type == 0){ minFrame = 0; maxFrame = 0; }; if (type == 1){ minFrame = 1; maxFrame = 5; }; if (type == 2){ minFrame = 6; maxFrame = 10; }; } function InitWeaponGroups(){ } function BulletCollision_SnakeTail(_arg1:GameObj):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:int; var _local6:TailPiece; var _local7:int; _local2 = _arg1.xpos; _local3 = _arg1.ypos; _local4 = (16 * 16); _local5 = tailPieces.length; _local7 = 0; while (_local7 < _local5) { _local6 = tailPieces[_local7]; if (Utils.Dist2BetweenPoints(_local6.xpos, _local6.ypos, _local2, _local3) < _local4){ _arg1.health--; if (_arg1.health <= 0){ _arg1.active = false; return (true); }; return (false); }; _local7++; }; return (false); } public function InitDeadBitParticle(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number){ genBloodFlag = false; updateFunction = UpdateDeadBitParticle; graphicID = _arg1; frame = _arg2; frameVel = 1; xvel = Utils.RandBetweenFloat(-7, 7); yvel = Utils.RandBetweenFloat(-5, -9); zvel = Utils.RandBetweenFloat(-1, 1); controlMode = 0; dir = 0; xpos = (xpos + _arg3); ypos = (ypos + _arg4); } function UpdateCarriedObject():void{ var _local1:int; var _local2:int; var _local3:AnimPoint; if (carriedObject == null){ return; }; _local1 = GraphicObjects.GetWidth(graphicID, frame); _local2 = GraphicObjects.GetHeight(graphicID, frame); _local3 = AnimPoints.GetFramePoint(1, int(frame)); if (_local3 == null){ return; }; if (xflip){ carriedObject.xpos = (xpos - _local3.x); carriedObject.ypos = (ypos + _local3.y); carriedObject.dir = -(_local3.rot); } else { carriedObject.xpos = (xpos + _local3.x); carriedObject.ypos = (ypos + _local3.y); carriedObject.dir = _local3.rot; }; } function InitEnemyRot_TakeFromPortalDef(){ if (enemyGenMode == 0){ toPosX = Game.goPlayer.xpos; toPosY = Game.goPlayer.ypos; SetToRequiredRot(); } else { movementVec.rot = Utils.RandCircle(); }; } function InitFromObjectDef(_arg1:String, _arg2:GameObj=null){ Game.lastObjectGenerator = _arg2; objectDef = ObjectDefs.GetObjectDefByExportName(_arg1); health = objectDef.maxHealth; if (Game.lastEnemyGenDef != null){ health = (health * Game.lastEnemyGenDef.health); }; maxhealth = health; if (objectDef.initFuncName != ""){ var _local3 = this; _local3[objectDef.initFuncName](); }; } function UpdateBloodParticle(){ var _local1:Number; var _local2:int; var _local3:GameObj; yvel = (yvel + Game.gravity); xpos = (xpos + xvel); ypos = (ypos + yvel); depth = (depth + zvel); _local1 = Game.GetHeightMapHeight(int(xpos)); if (ypos > _local1){ Game.IncreaseMapHeight(xpos); ypos = _local1; _local2 = 0; while (_local2 < 5) { _local3 = GameObjects.AddObj(xpos, ypos, zpos); _local3.InitMiniBloodParticle(); _local3.depth = depth; _local2++; }; RenderToBackground(); active = false; }; if (ypos > 1000){ active = false; }; dir = (dir + (xvel * 0.1)); scale = (1 + (depth * 0.005)); } public function InitEnemy(_arg1:String, _arg2:int=0){ var _local3:ShotController; var _local4:ShotController; enemyGenMode = _arg2; usesBulletTime = true; height = Game.normalHeight; hasShadow = true; shotControllers = new Array(); updateFunction = UpdateEnemy; renderFunction = RenderEnemy; colFlag_killPlayer = true; colFlag_canBeShot = true; colFlag_isEnemy = true; objectDef = ObjectDefs.GetObjectDefByExportName(_arg1); graphicID = objectDef.GetAnimIDFromName("idle"); health = objectDef.maxHealth; radius = 100; actionTimer = 0; actionList = new Array(); shootingFlag = true; for each (_local3 in objectDef.shotControllers) { _local4 = _local3.clone(); _local4.Reset(); shotControllers.push(_local4); }; if (objectDef.initFuncName != ""){ var _local5 = this; _local5[objectDef.initFuncName](); }; dodgeBullets = objectDef.dodgeFlag; } function UpdatePickupObject():void{ var _local1:Number; if (controlMode == 0){ xpos = (xpos + xvel); if (Util_UpdateYvel()){ colFlag_canBePickedUp = true; xvel = 0; timer = (Defs.fps * Game.pickupTime); controlMode = 1; if (type == 1){ controlMode = 2; SetAnim("land"); }; }; if (type == 1){ _local1 = Math.abs(yvel); _local1 = Utils.LimitNumber(0, 8, _local1); frame = Math.floor((_local1 / 3)); } else { CycleAnimationEx(); }; } else { if (controlMode == 1){ timer--; if (timer < 0){ active = false; }; CycleAnimationEx(); } else { if (controlMode == 2){ timer--; if (timer < 0){ active = false; }; PlayAnimationEx(); } else { if (controlMode == 3){ scale = (scale - 0.1); if (scale <= 0.1){ active = false; }; }; }; }; }; } function RenderBlockCollision():void{ var _local1:Rectangle; var _local2:Rectangle; if ((Debug.debugMode & 4) == 0){ return; }; if (objectDef == null){ return; }; if (objectDef.colRects.length == 0){ return; }; for each (_local2 in objectDef.shieldColRects) { _local1 = _local2.clone(); if (xflip){ _local1 = Collision.XflipRectangle(_local1); }; _local1.x = (_local1.x + xpos); _local1.y = (_local1.y + ypos); _local1.x = (_local1.x - Game.scrollX); _local1.y = (_local1.y - Game.scrollY); main.screenBD.fillRect(_local1, 1082163200); }; for each (_local2 in objectDef.colRects) { _local1 = _local2.clone(); if (xflip){ _local1 = Collision.XflipRectangle(_local1); }; _local1.x = (_local1.x + xpos); _local1.y = (_local1.y + ypos); _local1.x = (_local1.x - Game.scrollX); _local1.y = (_local1.y - Game.scrollY); main.screenBD.fillRect(_local1, 1082163328); }; } function Util_SetValFromSideOfPos(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = 0; if (xpos < _arg1){ _local3 = _arg2; } else { _local3 = -(_arg2); }; return (_local3); } public function EnemyHitByBullet(_arg1:GameObj, _arg2:Boolean=false, _arg3:Boolean=false):Boolean{ var _local4:Boolean; var _local5:Number; _local4 = false; if (_arg3 == false){ _local5 = _arg1.weapon.GetDamage(); } else { _local5 = (_arg1.weapon.GetDamage() * 10); }; health = (health - _local5); if (health <= 0){ if (_arg1 != null){ PlayHitSound(this, _arg1, true); }; Game.AddScore(100); GenerateDeadParticles(); GeneratePickup(); active = false; _local4 = true; } else { if (_arg1 != null){ PlayHitSound(this, _arg1, false); }; healthBarTimer = Defs.fps; GenerateHitParticles(); Util_SaveState(); controlMode = generic_controlMode_hit; hit_xvel = 5; if (_arg1.xpos > xpos){ hit_xvel = (hit_xvel * -1); }; SetAnim("hit"); }; if (_arg1.dieFunction != null){ _arg1.dieFunction(); } else { _arg1.active = false; }; return (_local4); } function UpdateEnemy_Path(){ var _local1:Boolean; _local1 = Path_GetToPos(); if (_local1){ pathPos = 0; }; pathPos = (pathPos + pathSpeed); xpos = toPosX; ypos = toPosY; } function GeneratePickup(){ var _local1:int; var _local2:String; var _local3:GameObj; _local1 = Game.pickupList[Game.pickupType]; Game.pickupType++; if (Game.pickupType >= Game.pickupList.length){ Game.pickupType = 0; }; if (_local1 == -1){ return; }; if (_local1 == 0){ _local2 = "PickupHealth"; }; if (_local1 == 1){ _local2 = "PickupGold"; }; if (_local1 == 2){ _local2 = "PickupBerzerker"; }; _local3 = GameObjects.AddObj(xpos, (ypos - 50), (zpos - 10)); _local3.InitFromObjectDef(_local2); } function RenderNormally(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = (Math.floor(xpos) - _local1); _local4 = (Math.floor(ypos) - _local2); _local5 = depth; if (alpha != 1){ ct.alphaMultiplier = alpha; GraphicObjects.RenderAtRotScaledColTrans(graphicID, frame, main.screenBD, _local3, (_local4 + _local5), xflip, scale, dir, ct); } else { if (((!((dir == 0))) || (!((scale == 1))))){ GraphicObjects.RenderAtRotScaled(graphicID, frame, main.screenBD, _local3, (_local4 + _local5), xflip, scale, dir); } else { GraphicObjects.RenderAtColTrans(graphicID, frame, main.screenBD, _local3, (_local4 + _local5), xflip, colorTransform); }; }; RenderHealthBar(); } function Event_EnemyGnomeGenerateBullet(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef("GnomeBullet", this); } function InitEnemy_Jester(){ aggression = Game.lastEnemyGenDef.aggression; speedModifier = Game.lastEnemyGenDef.speed; colFlag_isEnemy = true; updateFunction = UpdateEnemy_Jester; SetAnim("prejump"); controlMode = 0; maxSpeed = Utils.RandBetweenFloat(2, 3); controlMode = 0; Util_SetToFloorPos(); } function InitEnemy_Knight(){ aggression = Game.lastEnemyGenDef.aggression; speedModifier = Game.lastEnemyGenDef.speed; healthModifier = Game.lastEnemyGenDef.health; colFlag_isEnemy = true; updateFunction = UpdateEnemy_Knight; SetAnim("walk"); controlMode = 0; modifier0 = 2; modifier1 = 3; modifier2 = 4; modifier3 = 5; maxSpeed = Util_GetRandWithModifier(modifier0, modifier1, modifier2, modifier3, speedModifier); controlMode = 0; Util_SetToFloorPos(); } function RenderPreRotated(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = (Math.floor(xpos) - _local1); _local4 = (Math.floor(ypos) - _local2); _local5 = GraphicObjects.GetNumFrames(graphicID); _local6 = dir; _local6 = (_local6 - (Math.PI / 2)); while (_local6 < 0) { _local6 = (_local6 + (Math.PI * 2)); }; while (_local6 > (Math.PI * 2)) { _local6 = (_local6 - (Math.PI * 2)); }; _local7 = ((_local5 / (Math.PI * 2)) * _local6); GraphicObjects.RenderAt(graphicID, _local7, main.screenBD, _local3, (_local4 - (height * 0.1)), false); } function SetManDirection(_arg1:int){ xflip = false; if (_arg1 == 0){ xflip = true; }; } public function InitEnemy_FollowPlayer2(){ var _local1:Point; EnemyUpdateFunctionCallback = UpdateEnemy_RotateToPlayer2; rotVel = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); speed = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); _local1 = Utils.RandPointInCircle(objectDef.NumParamG); toOffsetX = _local1.x; toOffsetY = _local1.y; toPosX = (Game.goPlayer.xpos + toOffsetX); toPosY = (Game.goPlayer.ypos + toOffsetY); timer = (Utils.RandBetweenFloat(objectDef.NumParamE, objectDef.NumParamF) * Defs.fps2); SetToRequiredRot(); InitBob(); } public function InitEnemy_Tank(){ var _local1:Point; EnemyUpdateFunctionCallback = UpdateEnemy_Tank; movementVec.Set(Utils.RandCircle(), speed); frame1 = (frame1 + 0.02); graphicID1 = objectDef.GetAnimIDFromName("turret"); renderFunction = RenderEnemy_Tank; height = 0; rotVel = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); speed = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); _local1 = Game.GetRandomEdge(32); xpos = _local1.x; ypos = _local1.y; toOffsetX = Utils.RandBetweenFloat(-100, 100); toOffsetY = Utils.RandBetweenFloat(-100, 100); toPosX = Game.goPlayer.xpos; toPosY = Game.goPlayer.ypos; SetToRequiredRot(); } public function UpdateEnemy_SplineRoundPlayer_Stepper(){ var _local1:Poly; var _local2:Point; timer = (timer + rotVel); if (timer >= 1){ timer = 0; }; _local1 = currentPoly; if (_local1 == null){ return; }; _local2 = _local1.GetPointOnCatmullRom(timer); toPosX = (Game.goPlayer.xpos + _local2.x); toPosY = (Game.goPlayer.ypos + _local2.y); xpos2 = (xpos2 + ((toPosX - xpos) * 0.005)); ypos2 = (ypos2 + ((toPosY - ypos) * 0.005)); timer1--; if (timer1 <= 0){ timer1 = 10; xpos = xpos2; ypos = ypos2; dir = Math.atan2((Game.goPlayer.ypos - ypos), (Game.goPlayer.xpos - xpos)); }; } public function EnemyProjectileHitByBullet(_arg1:GameObj, _arg2:Boolean=false):Boolean{ var _local3:Boolean; _local3 = false; _local3 = true; if (dieFunction != null){ dieFunction(); } else { active = false; }; _arg1.active = false; return (_local3); } function IsInWorld(_arg1:Number):Boolean{ if (xpos < (0 - _arg1)){ return (false); }; if (ypos < (0 - _arg1)){ return (false); }; if (xpos > (Game.scrollW + _arg1)){ return (false); }; if (ypos > (Game.scrollH + _arg1)){ return (false); }; return (true); } function Event_EnemyKnightGenerateBullet(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef("KnightBullet", this); } function InitPlayer_DeadHead():void{ updateFunction = UpdatePlayer_DeadHead; yvel = -10; frame = 0; graphicID = GraphicObjects.gfx_player_deadbits; dir = 0; } public function InitStaticBlood(_arg1:int, _arg2:Boolean){ updateFunction = UpdateStaticBlood; graphicID = (GraphicObjects.gfx_blood1 + _arg1); frame = 0; frameVel = 0.5; xflip = _arg2; } function Event_PlayerGenerateBullet(){ var _local1:GameObj; if (attackMode == 0){ _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef(PlayerWeapons.weaponList[Game.currentWeapon].objName, this); } else { if (attackMode == 1){ _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef(PlayerWeapons.weaponList[Game.currentWeapon].objName2, this); } else { _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef(PlayerWeapons.weaponList[Game.currentWeapon].objName3, this); }; }; } public function Update():void{ oldxpos = xpos; oldypos = ypos; if (updateFunction != null){ updateFunction(); }; if (healthBarTimer > 0){ healthBarTimer--; }; zpos2 = (zpos - depth); } public function UpdateMagicParticle(){ xpos = (xpos + xvel); yvel = (yvel + -0.1); ypos = (ypos + yvel); if (PlayAnimation()){ active = false; }; } function Util_UpdateXvel():void{ xvel = (xvel + xacc); xvel = Utils.LimitNumber(-(maxSpeed), maxSpeed, xvel); xpos = (xpos + xvel); } function Update_EnemyProjectileBullet(){ if (controlMode == 0){ xpos = (xpos + xvel); timer--; if (timer <= 0){ active = false; }; PlayAnimationEx(); } else { if (controlMode == 1){ dir = (dir + (rotVel * xvel)); xpos = (xpos + xvel); if (Util_UpdateYvel()){ Util_SetToFloorPos(); timer = 50; controlMode = 2; }; } else { if (controlMode == 2){ if (TimerDecrement()){ active = false; }; }; }; }; } public function UpdateEnemy_Snake(){ var _local1:Number; var _local2:Vec; movementVec.speed = speed; toPosX = Game.goPlayer.xpos; toPosY = Game.goPlayer.ypos; RotateToRequiredRot(rotVel); dir = movementVec.rot; oscillator = (oscillator + objectDef.NumParamG); _local1 = (Math.sin(oscillator) * objectDef.NumParamH); _local2 = new Vec(); _local2.FromVec(movementVec); _local2.AddRot(_local1); dir = _local2.rot; xpos = (xpos + _local2.GetXComponent()); ypos = (ypos + _local2.GetYComponent()); UpdateExternalVel(); UpdateTailPieces(); } public function Action_Shoot(_arg1:Number){ if (_arg1 == 0){ shootingFlag = false; }; if (_arg1 == 1){ shootingFlag = true; }; } function InitTailPieces(_arg1:int, _arg2:int){ var _local3:int; var _local4:TailPiece; tailPieces = new Array(); _local3 = 0; while (_local3 < _arg1) { _local4 = new TailPiece(); _local4.xpos = (xpos + (_local3 * 10)); _local4.ypos = ypos; _local4.dir = dir; _local4.frame = 0; _local4.graphicID = _arg2; tailPieces.push(_local4); _local3++; }; } function InitEnemy_BabyDragon(){ var _local1:GameObj; aggression = Game.lastEnemyGenDef.aggression; speedModifier = Game.lastEnemyGenDef.speed; colFlag_isEnemyBullet = true; colFlag_isEnemy = true; updateFunction = UpdateEnemy_BabyDragon; SetAnim("idle"); controlMode = 0; controlMode = 0; _local1 = Game.goPlayer; xvel = Util_SetValFromSideOfPos(_local1.xpos, Util_GetRandWithModifier(3, 4, 5, 6, speedModifier)); ypos = (_local1.ypos - Utils.RandBetweenFloat(70, 200)); startx = xpos; starty = ypos; modifier0 = Utils.RandBetweenFloat(0.05, 0.1); modifier1 = Utils.RandBetweenFloat(0.05, 0.1); modifier2 = Utils.RandBetweenFloat(10, 30); modifier3 = Utils.RandBetweenFloat(20, 40); } public function RenderEnemy_SnakeShadow(){ RenderShadowPreRotated(); RenderTailPiecesShadow(); } function Util_SaveState(){ ss_controlMode = controlMode; ss_frame = frame; ss_graphicID = graphicID; ss_frameVel = frameVel; ss_minFrame = minFrame; ss_maxFrame = maxFrame; } function InitEnemy_Gnome(){ var _local1:GameObj; aggression = Game.lastEnemyGenDef.aggression; speedModifier = Game.lastEnemyGenDef.speed; colFlag_isEnemy = true; updateFunction = UpdateEnemy_Gnome; SetAnim("walk"); controlMode = 0; maxSpeed = Util_GetRandWithModifier(2, 3, 4, 5, speedModifier); _local1 = Game.goPlayer; dist = -(Util_SetValFromSideOfPos(_local1.xpos, Utils.RandBetweenFloat(200, 300))); dieFunction = GnomeHitPlayerWhenRunning; controlMode = 0; Util_SetToFloorPos(); } function Util_XDistToToPos():Number{ return (Math.abs((xpos - toPosX))); } public function InitEnemy_SplineRoundPlayer(){ var _local1:Array; var _local2:Number; var _local3:Number; var _local4:int; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Point; EnemyUpdateFunctionCallback = UpdateEnemy_SplineRoundPlayer; rotVel = 0.025; controlMode = 0; _local1 = new Array(); _local2 = 50; _local3 = 0; while (_local3 < (Math.PI * 2)) { _local5 = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); _local6 = (Math.cos(_local3) * _local5); _local7 = (Math.sin(_local3) * _local5); _local6 = (_local6 + Utils.RandBetweenFloat(-(_local2), _local2)); _local7 = (_local7 + Utils.RandBetweenFloat(-(_local2), _local2)); _local8 = new Point(_local6, _local7); _local1.push(_local8); _local3 = (_local3 + 0.6); }; _local4 = 0; currentPoly = new Poly("", 0, _local1[_local4].x, _local1[_local4].y); _local4 = 1; while (_local4 < _local1.length) { currentPoly.AddLine(_local1[_local4].x, _local1[_local4].y, _local1[_local4].x, _local1[_local4].y); _local4++; }; currentPoly.Finish(false); timer = Utils.RandBetweenFloat(0, 1); rotVel = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); } public function UpdateEnemy_BallsFromEdges(){ dir = 0; if (height == 0){ if (Utils.RandBetweenInt(0, 1000) < 50){ zvel = 7; height = 0.1; }; } else { zvel = (zvel + -0.1); height = (height + zvel); if (height <= 0){ height = 0; }; }; xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); UpdateExternalVel(); if (IsInWorld(64) == false){ active = false; }; CycleAnimation(); } public function PlayHitSound(_arg1:GameObj, _arg2:GameObj, _arg3:Boolean){ if (_arg3){ if (((!((_arg2 == null))) && (!((_arg2.objectDef == null))))){ if (_arg2.objectDef.soundTypeName == "PlayerSword"){ SoundPlayer.Play("swordhit"); } else { if (_arg2.objectDef.soundTypeName == "PlayerAxe"){ SoundPlayer.Play("swordhit"); } else { if (_arg2.objectDef.soundTypeName == "PlayerFlail"){ SoundPlayer.Play("macehit"); } else { if (_arg2.objectDef.soundTypeName == "PlayerSling"){ SoundPlayer.Play("slingfire"); } else { if (_arg2.objectDef.soundTypeName == "PlayerArrow"){ SoundPlayer.Play("arrowkill"); }; }; }; }; }; }; if (Utils.RandBetweenInt(0, 1000) < 500){ SoundPlayer.PlayRandomBetween("splat0", "splat2"); }; if (((!((_arg1 == null))) && (!((_arg1.objectDef == null))))){ if (_arg1.objectDef.soundTypeName == "Knight"){ SoundPlayer.PlayRandomBetween("killenemy1", "killenemy2"); } else { if (_arg1.objectDef.soundTypeName == "Bat"){ SoundPlayer.PlayRandomBetween("killenemy1", "killenemy2"); } else { if (_arg1.objectDef.soundTypeName == "Dragon"){ SoundPlayer.PlayRandomBetween("killenemy1", "killenemy2"); } else { if (_arg1.objectDef.soundTypeName == "Troll"){ SoundPlayer.Play("trolldead"); } else { if (_arg1.objectDef.soundTypeName == "Gnome"){ SoundPlayer.PlayRandomBetween("killenemy1", "killenemy2"); SoundPlayer.Play("goblinscreech"); } else { if (_arg1.objectDef.soundTypeName == "Pixie"){ SoundPlayer.PlayRandomBetween("killenemy1", "killenemy2"); SoundPlayer.Play("goblinscreech"); } else { if (_arg1.objectDef.soundTypeName == "Jester"){ SoundPlayer.PlayRandomBetween("killenemy1", "killenemy2"); SoundPlayer.Play("goblinscreech"); }; }; }; }; }; }; }; }; } else { if (((!((_arg1 == null))) && (!((_arg1.objectDef == null))))){ if (_arg1.objectDef.soundTypeName == "Knight"){ SoundPlayer.Play("hurtknight"); } else { if (_arg1.objectDef.soundTypeName == "Bat"){ SoundPlayer.Play("hurtenemy"); } else { if (_arg1.objectDef.soundTypeName == "Dragon"){ SoundPlayer.Play("hurtenemy"); } else { if (_arg1.objectDef.soundTypeName == "Troll"){ if (Utils.RandBetweenInt(0, 1000) < 500){ SoundPlayer.Play("trollhurt"); }; } else { if (_arg1.objectDef.soundTypeName == "Gnome"){ SoundPlayer.Play("hurtenemy"); SoundPlayer.Play("goblinscreech"); } else { if (_arg1.objectDef.soundTypeName == "Pixie"){ SoundPlayer.Play("hurtenemy"); SoundPlayer.Play("goblinscreech"); } else { if (_arg1.objectDef.soundTypeName == "Jester"){ SoundPlayer.Play("hurtenemy"); SoundPlayer.Play("goblinscreech"); }; }; }; }; }; }; }; }; }; } function UpdateGravity(){ yvel = (yvel + Game.gravity); if (yvel > Game.maxFallSpeed){ yvel = Game.maxFallSpeed; }; ypos = (ypos + yvel); } function GutsParticleRender(_arg1:Boolean=false){ var _local2:Number; var _local3:Number; var _local4:BitmapData; var _local5:GutsPiece; var _local6:Number; var _local7:Number; var _local8:Number; _local2 = Math.floor(Game.scrollX); _local3 = Math.floor(Game.scrollY); _local4 = main.screenBD; if (_arg1){ _local4 = Game.backgroundBD; _local2 = 0; _local3 = 0; }; for each (_local5 in gutsList) { _local6 = (Math.floor(_local5.xpos) - _local2); _local7 = (Math.floor(_local5.ypos) - _local3); _local8 = 0; if (_arg1){ _local8 = _local5.zpos; }; dir = _local5.dir; frame = 0; if (((!((dir == 0))) || (!((scale == 1))))){ GraphicObjects.RenderAtRotScaled(graphicID, frame, _local4, _local6, (_local7 + _local8), xflip, scale, dir); } else { GraphicObjects.RenderAt(graphicID, frame, _local4, _local6, (_local7 + _local8), xflip); }; }; } function UpdatePlayer():void{ if (hitTimer > 0){ hitTimer--; }; UpdatePlayer1(); if (Game.IsBerzerkerMode()){ UpdatePlayer1(); }; } public function Init(_arg1:int):void{ var _local2:int; var _local3:Number; _local2 = 0; _local3 = 0; type = _arg1; controlMode = _local2; xvel = _local3; yvel = _local3; frame = _local3; frameVel = _local3; timer = _local3; hitTimer = _local3; flashTimer = _local2; flashFlag = false; dir = 0; todir = 0; health = 1; maxhealth = 1; zvel = 0; name = ""; scale = 1; objectDef = null; xflip = false; updateFunction = null; renderFunction = null; shadowRenderFunction = null; dieFunction = null; visible = true; ClearColFlags(); isBoss = false; hasShadow = false; isPlayer = false; height = 0; usesBulletTime = false; collisionPoly = null; hitEnemyFunction = null; healthBarTimer = 0; fireOffsetDir = 0; dodgeBullets = false; isDead = false; bulletTestCollisionExtraFunction = null; isPickup = false; currentAnimName = ""; depth = 0; currentEventID = 0; genTypeIndex = -1; alpha = 1; } public function UpdateEnemy_Tank(){ var _local1:GameObj; movementVec.speed = speed; toPosX = (Game.goPlayer.xpos + toOffsetX); toPosY = (Game.goPlayer.ypos + toOffsetY); RotateToRequiredRot(rotVel); dir = movementVec.rot; xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); UpdateExternalVel(); _local1 = Game.goPlayer; dir1 = Math.atan2((_local1.ypos - ypos), (_local1.xpos - xpos)); fireOffsetDir = (dir1 - (Math.PI * 0.5)); } function Util_SetValFromXVel(_arg1:Number):Number{ var _local2:Number; _local2 = 0; if (xvel < 0){ _local2 = -(_arg1); } else { _local2 = _arg1; }; return (_local2); } function InitPickupBerzerker():void{ InitPickupObject(2); } public function InitEnemy_FollowPlayer_AdjustRotvelByDist(){ EnemyUpdateFunctionCallback = FollowPlayer_AdjustRotvelByDist; rotVel = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); rotVelMax = Utils.RandBetweenFloat(objectDef.NumParamE, objectDef.NumParamF); speed = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); InitEnemyRot_TakeFromPortalDef(); InitBob(); } function Die_EnemyProjectileBullet(){ colFlag_isEnemyBullet = false; colFlag_isEnemyProjectile = false; controlMode = 1; timer = 50; xvel = (xvel * -0.5); yvel = -(Utils.RandBetweenFloat(2, 6)); rotVel = Utils.RandBetweenFloat(0.01, 0.04); } public function FollowPlayer_AdjustRotvelByDist(){ var _local1:GameObj; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local1 = Game.goPlayer; movementVec.speed = speed; toPosX = _local1.xpos; toPosY = _local1.ypos; _local2 = rotVel; _local3 = rotVelMax; _local4 = objectDef.NumParamG; _local5 = objectDef.NumParamH; _local6 = Utils.DistBetweenPoints(xpos, ypos, toPosX, toPosY); _local6 = Utils.LimitNumber(_local4, _local5, _local6); _local7 = Utils.ScaleTo(_local2, _local3, _local4, _local5, _local6); RotateToRequiredRot(_local7); dir = movementVec.rot; xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); UpdateExternalVel(); UpdateBob(); } public function UpdateEnemy_SplineRoundPlayer(){ var _local1:Poly; var _local2:Point; timer = (timer + rotVel); if (timer >= 1){ timer = 0; }; _local1 = currentPoly; if (_local1 == null){ return; }; _local2 = _local1.GetPointOnCatmullRom(timer); toPosX = (Game.goPlayer.xpos + _local2.x); toPosY = (Game.goPlayer.ypos + _local2.y); xpos = (xpos + ((toPosX - xpos) * 0.005)); ypos = (ypos + ((toPosY - ypos) * 0.005)); dir = Math.atan2((Game.goPlayer.ypos - ypos), (Game.goPlayer.xpos - xpos)); } function InitPickupHealth():void{ InitPickupObject(0); } function UpdateGutsParticle(){ var _local1:Number; yvel = (yvel + Game.gravity); xpos = (xpos + xvel); ypos = (ypos + yvel); depth = (depth + zvel); _local1 = Game.GetHeightMapHeight(int(xpos)); if (ypos > _local1){ }; if (ypos > 1000){ active = false; }; dir = (dir + (xvel * 0.1)); scale = (1 + (depth * 0.005)); GutsParticleUpdateList(); } function RenderShadowNormally(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:int; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = (Math.floor(xpos) - _local1); _local4 = (Math.floor(ypos) - _local2); _local5 = GraphicObjects.idList[graphicID]; GraphicObjects.graphicobjs[_local5].frames[int(frame)].RenderAtShadow(Game.main.screenBD, _local3, (_local4 + 3), false); } function SetStartEdgePosFrom8Way(_arg1:int){ var _local2:Array; var _local3:int; var _local4:int; var _local5:Number; var _local6:Number; _local2 = new Array(); if (_arg1 == 0){ _local2.push(0); }; if (_arg1 == 1){ _local2.push(0); _local2.push(1); }; if (_arg1 == 2){ _local2.push(1); }; if (_arg1 == 3){ _local2.push(1); _local2.push(2); }; if (_arg1 == 4){ _local2.push(2); }; if (_arg1 == 5){ _local2.push(2); _local2.push(3); }; if (_arg1 == 6){ _local2.push(3); }; if (_arg1 == 7){ _local2.push(3); _local2.push(0); }; _local3 = Utils.RandBetweenInt(0, (_local2.length - 1)); _local4 = _local2[_local3]; _local5 = Utils.RandBetweenFloat(0, 1000); _local6 = 32; if (_local4 == 0){ xpos = _local5; ypos = -(_local6); }; if (_local4 == 1){ xpos = -(_local6); ypos = _local5; }; if (_local4 == 2){ xpos = _local5; ypos = (1000 + _local6); }; if (_local4 == 3){ xpos = (1000 + _local6); ypos = _local5; }; } function Update_EnemyProjectileBulletToPlayer(){ movementVec.speed = (movementVec.speed + 0.1); if (movementVec.speed > 8){ movementVec.speed = 8; }; xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); timer--; if (timer <= 0){ active = false; }; CycleAnimationEx(); } public function CycleAnimation():void{ var _local1:Number; var _local2:int; _local1 = frameVel; _local2 = GraphicObjects.GetNumFrames(graphicID); frame = (frame + _local1); if (frame >= _local2){ frame = (frame - _local2); }; if (frame < 0){ frame = (frame + _local2); }; } function Util_UpdateYvel(_arg1:Boolean=true):Boolean{ yvel = (yvel + Game.gravity); yvel = Utils.LimitNumber(-100, Game.maxFallSpeed, yvel); ypos = (ypos + yvel); if (_arg1){ return (Util_FloorCollision()); }; return (false); } function RenderShadowPreRotated(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; var _local8:int; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = (Math.floor(xpos) - _local1); _local4 = (Math.floor(ypos) - _local2); _local5 = GraphicObjects.GetNumFrames(graphicID); _local6 = dir; _local6 = (Math.PI - _local6); if (isPlayer){ _local6 = (_local6 + (Math.PI * 0.5)); }; _local6 = (_local6 - (Math.PI / 2)); while (_local6 < 0) { _local6 = (_local6 + (Math.PI * 2)); }; while (_local6 > (Math.PI * 2)) { _local6 = (_local6 - (Math.PI * 2)); }; _local7 = ((_local5 / (Math.PI * 2)) * _local6); _local8 = GraphicObjects.idList[graphicID]; GraphicObjects.graphicobjs[_local8].frames[_local7].RenderAtShadow(Game.main.screenBD, _local3, (_local4 + 3), false); } function UpdateEnemy_VampireBat(){ var _local1:Number; var _local2:GameObj; _local2 = Game.goPlayer; if (controlMode == 0){ toPosX = (xoffset + _local2.xpos); toPosY = (yoffset + _local2.ypos); startx = (startx + ((toPosX - startx) * 0.2)); starty = (starty + ((toPosY - starty) * 0.2)); toPosX = startx; toPosY = starty; UpdateFollowVels(speed, acc); _local1 = Utils.ScaleTo(5, 50, 0, 1, aggression); if (objectDef.initVar0 == "2"){ if (Utils.RandBetweenInt(0, 1000) < _local1){ xoffset = Utils.RandBetweenFloat(-200, 200); }; } else { if (Utils.RandBetweenInt(0, 1000) < _local1){ controlMode = 1; yvel = Util_GetRandWithModifier(11, 12, 12, 13, speedModifier); xvel = Util_GetRandWithModifier(3, 4, 5, 6, speedModifier); if (xpos > _local2.xpos){ xvel = (xvel * -1); }; SetAnim("attack"); }; }; SetXflipFromFacePlayer(); if (objectDef.initVar0 != "1"){ _local1 = Utils.ScaleTo(2, 10, 0, 1, aggression); if (Utils.RandBetweenInt(0, 1000) < _local1){ Util_GenerateObj("BatPoo"); }; }; CycleAnimationEx(); } else { if (controlMode == 1){ yvel = (yvel + -0.3); ypos = (ypos + yvel); xpos = (xpos + xvel); if ((((yvel < 0)) && ((ypos < (_local2.ypos - 200))))){ SetAnim("idle"); controlMode = 0; if (xpos > _local2.xpos){ xoffset = Utils.RandBetweenFloat(100, 200); } else { xoffset = Utils.RandBetweenFloat(-100, -200); }; yoffset = Utils.RandBetweenFloat(-200, -300); }; SetXflipFromVel(); CycleAnimationEx(); } else { if (controlMode == generic_controlMode_hit){ hit_xvel = (hit_xvel * 0.9); xpos = (xpos + hit_xvel); if (PlayAnimationEx()){ Util_RestoreState(); }; }; }; }; } function Die_PlayerSlingBullet(){ var _local1:Number; controlMode = 1; _local1 = -(Utils.RandBetweenFloat(0.1, 0.5)); xvel = (xvel * _local1); yvel = Utils.RandBetweenFloat(-2, -6); rotVel = (rotVel * _local1); colFlag_isPlayerBullet = false; } function SetAnim(_arg1):void{ var _local2:AnimDef; if (_arg1 == currentAnimName){ return; }; currentAnimName = _arg1; _local2 = objectDef.GetAnimFromName(_arg1); currentAnimDef = _local2; minFrame = _local2.f0; maxFrame = _local2.f1; frameVel = _local2.vel; frame = minFrame; graphicID = _local2.graphicID; currentEventID = 0; } function Update_EnemySwordBullet(){ timer--; if (timer <= 0){ active = false; }; } public function UpdateEnemy_FollowPlayer_FlyLike(){ var _local1:Number; timer--; if (timer <= 0){ UpdateEnemy_FollowPlayer_FlyLike_GetNewToPos(); }; _local1 = 0.1; xpos = (xpos + ((toPosX - xpos) * _local1)); ypos = (ypos + ((toPosY - ypos) * _local1)); height = (height + ((toHeight - height) * 0.1)); dir = movementVec.rot; UpdateExternalVel(); } function UpdateTailPieces():void{ var _local1:Number; var _local2:Number; var _local3:int; var _local4:TailPiece; var _local5:int; var _local6:Number; var _local7:Number; _local1 = xpos; _local2 = ypos; _local3 = tailPieces.length; _local5 = 0; while (_local5 < _local3) { _local4 = tailPieces[_local5]; _local6 = Math.atan2((_local2 - _local4.ypos), (_local1 - _local4.xpos)); _local7 = 20; _local4.xpos = (_local1 - (Math.cos(_local6) * _local7)); _local4.ypos = (_local2 - (Math.sin(_local6) * _local7)); _local6 = Math.atan2((_local2 - _local4.ypos), (_local1 - _local4.xpos)); _local4.dir = _local6; _local1 = _local4.xpos; _local2 = _local4.ypos; _local5++; }; } function UpdateFollowVels(_arg1:Number, _arg2:Number){ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = _arg1; _local4 = -(_arg2); if (xpos < toPosX){ _local4 = _arg2; }; xvel = (xvel + _local4); if (xvel >= _local3){ xvel = _local3; }; if (xvel <= -(_local3)){ xvel = -(_local3); }; _local5 = -(_arg2); if (ypos < toPosY){ _local5 = _arg2; }; yvel = (yvel + _local5); if (yvel >= _local3){ yvel = _local3; }; if (yvel <= -(_local3)){ yvel = -(_local3); }; xpos = (xpos + xvel); ypos = (ypos + yvel); } function Update_EnemyBabyDragonBullet(){ var _local1:Number; var _local2:GameObj; xpos = (xpos + xvel); ypos = (ypos + yvel); timer--; if (timer <= 0){ active = false; }; _local1 = Game.GetHeightMapHeight(xpos); if (ypos > _local1){ ypos = _local1; _local2 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local2.InitFromObjectDef("BabyDragonFireballExplosion", this); active = false; }; PlayAnimationEx(); } function MeleeHit(_arg1:GameObj){ colFlag_canReceiveMelee = false; health--; if (health <= 0){ SetManMovementState("die"); } else { SetManMovementState("recoil"); }; } function UpdateMiniBloodParticle(){ var _local1:Number; yvel = (yvel + Game.gravity); xpos = (xpos + xvel); ypos = (ypos + yvel); depth = (depth + zvel); _local1 = Game.GetHeightMapHeight(int(xpos)); if (ypos > _local1){ Game.IncreaseMapHeight(xpos); ypos = _local1; RenderToBackground(); active = false; }; if (ypos > 1000){ active = false; }; scale = (1 + (depth * 0.005)); } function Update_PlayerSlingBullet(){ if (controlMode == 0){ xpos = (xpos + xvel); if (Util_UpdateYvel()){ xvel = 0; active = false; }; dir = (dir + rotVel); } else { if (controlMode == 1){ xpos = (xpos + xvel); if (Util_UpdateYvel()){ xvel = 0; active = false; }; dir = (dir + rotVel); }; }; } public function Render():void{ if (visible == false){ return; }; if (renderFunction != null){ renderFunction(); } else { RenderNormally(); }; } public function RenderEnemy_Tank(){ var _local1:Number; RenderEnemy(); _local1 = dir1; dir1 = (Math.PI - dir1); RenderPreRotated1(); dir1 = _local1; } public function UpdateInstallation(){ if (healthBarTimer > 0){ healthBarTimer--; }; } function Event_EnemyTrollGenerateBullet(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef("TrollBullet", this); } function Update_PlayerSwordBullet(){ timer--; if (timer <= 0){ active = false; }; } function RenderPickupObject():void{ if ((((((controlMode == 1)) || ((controlMode == 2)))) && ((timer < 50)))){ if ((timer & 2)){ RenderNormally(); }; } else { RenderNormally(); }; } public function InitPortal(_arg1:int){ subtype = _arg1; usesBulletTime = false; height = 0; hasShadow = false; shotControllers = new Array(); updateFunction = UpdatePortal; renderFunction = RenderNormally; if (subtype == 0){ objectDef = ObjectDefs.GetObjectDefByExportName("Portal"); colFlag_isEnemy = true; colFlag_isInstallation = true; health = objectDef.maxHealth; }; if (subtype == 1){ objectDef = ObjectDefs.GetObjectDefByExportName("Portal1"); visible = false; hasShadow = false; }; graphicID = objectDef.GetAnimIDFromName("idle"); timer = Game.portalDef.GetRandomTime(); controlMode = 0; frame = 0; frameVel = 1; } function Die_EnemyBabyDragonBullet(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef("BabyDragonFireballExplosion", this); active = false; } public function InitEnemy_TurnAndMoveToPoint(){ var _local1:Point; EnemyUpdateFunctionCallback = UpdateEnemy_TurnAndMoveToPoint; rotVel = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); accel = 0.1; maxSpeed = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); minSpeed = 1; controlMode = 0; UpdateEnemy_TurnAndMoveToPoint_GetPosNearPlayer(); if (enemyGenMode == 0){ UpdateEnemy_TurnAndMoveToPoint_GetPosNearPlayer(); SetToRequiredRot(); } else { movementVec.rot = Utils.RandCircle(); _local1 = Utils.RandPointInCircle(200); toPosX = (xpos + _local1.x); toPosY = (ypos + _local1.y); }; controlMode = 1; speed = 0; InitBob(); } function TimerIncrement(_arg1:Number):Boolean{ timer++; if (timer > _arg1){ return (true); }; return (false); } function UpdateEnemy_FollowPlayer_FlyLike_GetNewToPos(){ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = Math.atan2((Game.goPlayer.ypos - ypos), (Game.goPlayer.xpos - xpos)); _local2 = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); if (Utils.RandBool()){ _local2 = -(_local2); }; _local1 = (_local1 + _local2); _local3 = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); movementVec.Set(_local1, _local3); toPosX = (xpos + movementVec.GetXComponent()); toPosY = (ypos + movementVec.GetYComponent()); timer = (Utils.RandBetweenFloat(objectDef.NumParamE, objectDef.NumParamF) * Defs.fps2); toHeight = Utils.RandBetweenFloat(20, 170); } public function PlayerHitEnemy(_arg1:GameObj){ } public function UpdateEnemy_FollowPlayerVels(){ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = speed; _local2 = -(acc); if (xpos < Game.goPlayer.xpos){ _local2 = acc; }; xvel = (xvel + _local2); if (xvel >= _local1){ xvel = _local1; }; if (xvel <= -(_local1)){ xvel = -(_local1); }; _local3 = -(acc); if (ypos < Game.goPlayer.ypos){ _local3 = acc; }; yvel = (yvel + _local3); if (yvel >= _local1){ yvel = _local1; }; if (yvel <= -(_local1)){ yvel = -(_local1); }; xpos = (xpos + xvel); ypos = (ypos + yvel); dir = (dir + 0.1); dir = Utils.NormalizeRot(dir); heightVar0 = (heightVar0 + heightVar1); height = (Game.normalHeight + (Math.sin(heightVar0) * 30)); } public function PickupPickedUp(){ var _local1:*; Game.AddScore(100); if (type == 0){ Game.goPlayer.health = (Game.goPlayer.health + Game.pickupHealth); if (Game.goPlayer.health > 100){ Game.goPlayer.health = 100; }; SoundPlayer.PlayRandomBetween("belch0", "belch2"); }; if (type == 1){ Game.AddCash(Game.pickupGold); SoundPlayer.Play("pickupmoney"); }; if (type == 2){ Game.AddBerzerker(Game.pickupBerzerker); SoundPlayer.Play("drink0"); }; controlMode = 3; colFlag_canBePickedUp = false; } public function GetVelFromDir(_arg1:Number){ xvel = (Math.cos(dir) * _arg1); yvel = (Math.sin(dir) * _arg1); } function UpdateEnemyBullet():void{ xpos = (xpos + xvel); ypos = (ypos + yvel); if (IsInWorld(32) == false){ active = false; }; CycleAnimation(); timer++; if (timer > 3){ timer = 0; }; } function Init_EnemyProjectileBullet(){ var _local1:GameObj; colFlag_isEnemyBullet = true; colFlag_isEnemyProjectile = true; visible = true; updateFunction = Update_EnemyProjectileBullet; timer = 100; SetAnim("idle"); _local1 = Game.lastObjectGenerator; xpos = (_local1.xpos + objectDef.offsetX); xvel = 10; if (_local1.xflip){ xpos = (_local1.xpos - objectDef.offsetX); xvel = -(xvel); xflip = true; }; ypos = (_local1.ypos + objectDef.offsetY); dieFunction = Die_EnemyProjectileBullet; controlMode = 0; } function RenderTailPieces():void{ var _local1:Number; var _local2:Number; var _local3:int; var _local4:TailPiece; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:int; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = tailPieces.length; _local5 = 0; while (_local5 < _local3) { _local4 = tailPieces[_local5]; _local6 = (Math.floor(_local4.xpos) - _local1); _local7 = (Math.floor(_local4.ypos) - _local2); _local8 = GraphicObjects.GetNumFrames(_local4.graphicID); _local9 = _local4.dir; _local9 = (_local9 + (Math.PI / 2)); _local9 = (Math.PI - _local9); while (_local9 < 0) { _local9 = (_local9 + (Math.PI * 2)); }; while (_local9 > (Math.PI * 2)) { _local9 = (_local9 - (Math.PI * 2)); }; _local10 = ((_local8 / (Math.PI * 2)) * _local9); GraphicObjects.RenderAt(_local4.graphicID, _local10, main.screenBD, _local6, (_local7 - (height * 0.1)), false); _local5++; }; } public function UpdatePortal_Type1(){ } public function RenderEnemy_Snake(){ var _local1:Number; _local1 = dir; dir = (Math.PI - dir); RenderPreRotated(); dir = _local1; RenderTailPieces(); } function Update_PlayerBowBullet(){ if (controlMode == 0){ xpos = (xpos + xvel); if (Util_UpdateYvel()){ xvel = 0; active = false; }; dir = Math.atan2((ypos - oldypos), (xpos - oldxpos)); CycleAnimationEx(); } else { if (controlMode == 1){ frame = 0; xpos = (xpos + xvel); if (Util_UpdateYvel()){ xvel = 0; active = false; }; dir = (dir + rotVel); }; }; } public function UpdatePortal_Type0(){ } function Update_PlayerCrossbowBullet(){ if (controlMode == 0){ xpos = (xpos + xvel); if (IsInWorld(50) == false){ active = false; }; dir = Math.atan2((ypos - oldypos), (xpos - oldxpos)); CycleAnimationEx(); } else { if (controlMode == 1){ xpos = (xpos + xvel); if (Util_UpdateYvel()){ xvel = 0; active = false; }; dir = (dir + rotVel); }; }; } function InitPickupObject(_arg1:int):void{ colFlag_canBePickedUp = false; updateFunction = UpdatePickupObject; renderFunction = RenderPickupObject; type = _arg1; if (_arg1 == 0){ graphicID = GraphicObjects.gfx_pickup_health; }; if (_arg1 == 1){ graphicID = GraphicObjects.gfx_pickup_gold; }; if (_arg1 == 2){ graphicID = GraphicObjects.gfx_pickup_berzerker; }; frame = 0; xvel = Utils.RandBetweenFloat(-7, 7); yvel = Utils.RandBetweenFloat(-10, -15); controlMode = 0; SetAnim("idle"); } public function InitOnScreenBlood(){ var _local1:GameObj; _local1 = Game.goPlayer; updateFunction = UpdateOnScreenBlood; renderFunction = RenderOnScreenBlood; type = Utils.RandBetweenInt(0, 3); graphicID = (GraphicObjects.gfx_onscreenblood1 + type); frame = 0; frameVel = 1; alpha = 1; xpos = (xpos - Game.scrollX); ypos = (ypos - Game.scrollY); ypos = (ypos - 50); xpos = (xpos + Utils.RandBetweenFloat(-50, 50)); ypos = (ypos + Utils.RandBetweenFloat(-50, 50)); if ((((type == 1)) || ((type == 3)))){ } else { dir = Utils.RandCircle(); }; yvel = 0; zpos = 100; depth = 0; } function Init_PlayerSlingBullet(){ var _local1:GameObj; _local1 = Game.lastObjectGenerator; weapon = PlayerWeapons.weaponList[Game.currentWeapon]; SoundPlayer.Play("slingfire"); colFlag_isPlayerBullet = true; visible = true; updateFunction = Update_PlayerSlingBullet; graphicID = GraphicObjects.gfx_slingstone; frame = (weapon.currentLevel * 4); frame = (frame + Utils.RandBetweenInt(0, 3)); xpos = (_local1.xpos + objectDef.offsetX); xvel = 10; yvel = Utils.RandBetweenFloat(-3, -5); if (_local1.xflip){ xpos = (_local1.xpos - objectDef.offsetX); xvel = -(xvel); }; ypos = (_local1.ypos + objectDef.offsetY); dir = Utils.RandBetweenFloat(0, 10); rotVel = Utils.RandBetweenFloat(-0.3, 0.3); dieFunction = Die_PlayerSlingBullet; controlMode = 0; } function Event_EnemyBabyDragonGenerateBullet(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef("BabyDragonBullet", this); } function Init_Generic_PlayOnce_Stationary(){ SetAnim("idle"); updateFunction = Update_Generic_PlayOnce_Stationary; } function SetManMovementState(_arg1):void{ var _local2:int; movementState = _arg1; controlMode = 0; if (movementState == "idle"){ SetAnim("idle"); } else { if (movementState == "walk"){ SetAnim("walk"); } else { if (movementState == "jump"){ SetAnim("jump"); } else { if (movementState == "jumpattack"){ SetAnim("jumpattack"); if (Game.currentWeapon == 1){ SetAnim("jumpaxeattack"); }; if (Game.currentWeapon == 2){ SetAnim("jumpflailattack"); }; if (Game.currentWeapon == 3){ SetAnim("jumpslingattack"); }; if (Game.currentWeapon == 4){ SetAnim("jumpbowattack"); }; if (Game.currentWeapon == 5){ SetAnim("jumpcrossbowattack"); }; } else { if (movementState == "attack"){ _local2 = Utils.RandBetweenInt(0, 2); attackMode = _local2; if (_local2 == 0){ SetAnim("attack"); if (Game.currentWeapon == 1){ SetAnim("axeattack"); }; if (Game.currentWeapon == 2){ SetAnim("flailattack"); }; if (Game.currentWeapon == 3){ SetAnim("slingattack"); }; if (Game.currentWeapon == 4){ SetAnim("bowattack"); }; if (Game.currentWeapon == 5){ SetAnim("crossbowattack"); }; } else { if (_local2 == 1){ SetAnim("attack2"); if (Game.currentWeapon == 1){ SetAnim("axeattack2"); }; if (Game.currentWeapon == 2){ SetAnim("flailattack2"); }; if (Game.currentWeapon == 3){ SetAnim("slingattack"); }; if (Game.currentWeapon == 4){ SetAnim("bowattack"); }; if (Game.currentWeapon == 5){ SetAnim("crossbowattack"); }; } else { if (_local2 == 2){ SetAnim("attack"); if (Game.currentWeapon == 1){ SetAnim("axeattack3"); }; if (Game.currentWeapon == 2){ SetAnim("flailattack3"); }; if (Game.currentWeapon == 3){ SetAnim("slingattack"); }; if (Game.currentWeapon == 4){ SetAnim("bowattack"); }; if (Game.currentWeapon == 5){ SetAnim("crossbowattack"); }; }; }; }; } else { if (movementState == "duck"){ SetAnim("standtoduck"); } else { if (movementState == "hit"){ SetAnim("hit"); } else { if (movementState == "die"){ isDead = true; SetAnim("die"); } else { trace(("UNKNOWN MOVEMENT STATE: " + _arg1)); }; }; }; }; }; }; }; }; } function GutsParticleSetRotation(){ var _local1:int; var _local2:GutsPiece; var _local3:GutsPiece; var _local4:Number; var _local5:Number; _local1 = 0; while (_local1 < (gutsList.length - 1)) { _local2 = gutsList[_local1]; _local3 = gutsList[(_local1 + 1)]; _local4 = (_local3.xpos - _local2.xpos); _local5 = (_local3.ypos - _local2.ypos); _local2.dir = Math.atan2(_local5, _local4); _local2.dir = (_local2.dir + (Math.PI * 0.5)); _local1++; }; _local3.dir = _local2.dir; } function Init_PlayerSwordBullet(){ var _local1:GameObj; SoundPlayer.Play("swordswish0"); _local1 = Game.lastObjectGenerator; weapon = PlayerWeapons.weaponList[Game.currentWeapon]; colFlag_isPlayerBullet = true; visible = false; updateFunction = Update_PlayerSwordBullet; timer = 5; xflip = _local1.xflip; xpos = (_local1.xpos + objectDef.offsetX); if (_local1.xflip){ xpos = (_local1.xpos - objectDef.offsetX); }; ypos = (_local1.ypos + objectDef.offsetY); } public function EnemyHitByPlayer(_arg1:GameObj){ } function InitPickupGold():void{ InitPickupObject(1); } public function GetOffsetObjectRectangle():Rectangle{ var _local1:Rectangle; _local1 = objectDef.colRects[0].clone(); _local1.x = (_local1.x + xpos); _local1.y = (_local1.y + ypos); return (_local1); } function RenderBullet(){ var _local1:Number; _local1 = dir; dir = (Math.PI - dir); dir = (dir - (Math.PI * 0.5)); RenderPreRotated(); dir = _local1; } public function InitEnemy_Snake(){ var _local1:int; bulletTestCollisionExtraFunction = BulletCollision_SnakeTail; EnemyUpdateFunctionCallback = UpdateEnemy_Snake; rotVel = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); speed = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); toPosX = Game.goPlayer.xpos; toPosY = Game.goPlayer.ypos; SetToRequiredRot(); _local1 = Utils.RandBetweenInt(objectDef.NumParamE, objectDef.NumParamF); InitTailPieces(_local1, objectDef.GetAnimIDFromName("tail")); renderFunction = RenderEnemy_Snake; shadowRenderFunction = RenderEnemy_SnakeShadow; oscillator = 0; } public function EnemyHitByBulletShielded(_arg1:GameObj){ var _local2:int; var _local3:Particle; _arg1.active = false; _local2 = 0; while (_local2 < 3) { _local2++; }; } function UpdateShipAppearTube(){ } function Util_FloorCollision():Boolean{ var _local1:Number; _local1 = Game.GetHeightMapHeight(xpos); if (ypos > _local1){ ypos = _local1; return (true); }; return (false); } function InitShipAppearTube(){ } public function InitBob(){ bobTimer = 0; bobAdder = Utils.RandBetweenFloat(0.02, 0.05); bobDistance = Utils.RandBetweenFloat(20, 40); bobInitialHeight = height; } public function InitEnemy_Helicopter(){ InitEnemy_SplineRoundPlayer(); renderFunction = RenderEnemy_Helicopter; EnemyUpdateFunctionCallback = UpdateEnemy_Helicopter; dir1 = 0; frame1 = 0; graphicID1 = objectDef.GetAnimIDFromName("turret"); timer = Utils.RandCircle(); timer1 = Utils.RandCircle(); xvel = Utils.RandBetweenFloat(0.0005, 0.002); yvel = Utils.RandBetweenFloat(0.0005, 0.002); } function RenderWallCollision():void{ var _local1:int; var _local2:Number; var _local3:Number; var _local4:Number; if ((Debug.debugMode & 8) == 0){ return; }; if (objectDef == null){ return; }; if (objectDef.collisionCircleOffsets.length == 0){ return; }; _local1 = 0; while (_local1 < objectDef.collisionCircleOffsets.length) { _local2 = objectDef.collisionCircleOffsets[_local1].x; _local3 = objectDef.collisionCircleOffsets[_local1].y; _local4 = objectDef.collisionCircleRadii[_local1]; _local2 = (_local2 + xpos); _local2 = (_local2 - Game.scrollX); _local3 = (_local3 + ypos); _local3 = (_local3 - Game.scrollY); Utils.RenderCircle(main.screenBD, _local2, _local3, _local4, 4294967295); _local1++; }; } public function InitEnemy_Portal(){ EnemyUpdateFunctionCallback = UpdatePortal_Type0; renderFunction = RenderNormally; controlMode = 0; colFlag_isInstallation = true; trace("InitEnemy_PORTAL"); graphicID = objectDef.GetAnimIDFromName("idle"); timer = Game.portalDef.GetRandomTime(); controlMode = 0; frame = 0; frameVel = 1; height = 0; } public function PlayerHitEnemyBullet(_arg1:GameObj){ var _local2:Boolean; var _local3:Number; var _local4:GameObj; _local2 = true; if (hitTimer > 0){ _local2 = false; }; if (isDead){ _local2 = false; }; if (Game.IsBerzerkerMode()){ _local2 = false; }; if (_local2){ SoundPlayer.PlayRandomBetween("playerhit0", "playerhit3"); if (movementState == "duck"){ hitTimer = (hitTimerMax = 50); _local3 = (Game.playerHealthDecDuck * _arg1.objectDef.damage); trace(("Damage: " + _local3)); health = (health - _local3); } else { hitTimer = (hitTimerMax = 100); _local3 = (Game.playerHealthDec * _arg1.objectDef.damage); trace(("Damage: " + _local3)); health = (health - _local3); }; if (health <= 0){ health = 0; SetManMovementState("die"); _local4 = GameObjects.AddObj(xpos, (ypos - 100), (zpos - 10)); _local4.InitPlayer_DeadHead(); Game.InitLevelState(Game.levelState_Dead); } else { if (movementState != "duck"){ SetManMovementState("hit"); }; }; }; if (_arg1.colFlag_isEnemy){ if (_arg1.dieFunction != null){ _arg1.dieFunction(); }; } else { _arg1.health--; if (_arg1.health <= 0){ if (_arg1.dieFunction != null){ _arg1.dieFunction(); } else { _arg1.active = false; }; }; }; } function ClearColFlags(){ colFlag_jumpon = false; colFlag_killPlayer = false; colFlag_playercanbekilled = false; colFlag_canBePickedUp = false; colFlag_canBeShot = false; colFlag_isPlayerBullet = false; colFlag_isPlatform = false; colFlag_isPowerup = false; colFlag_isBouncyPad = false; colFlag_isCheckpoint = false; colFlag_isShop = false; colFlag_isEnemyBullet = false; colFlag_isEnemyProjectile = false; colFlag_isEnemy = false; colFlag_isInstallation = false; colFlag_UseRadius = false; colFlag_canGiveMelee = false; colFlag_canReceiveMelee = false; colFlag_invincible = false; colFlag_shielded = false; colFlag_vulnerable = false; } function RenderShadow(){ if (shadowRenderFunction != null){ shadowRenderFunction(); return; }; RenderShadowPreRotated(); } function InitBackground(_arg1:int):void{ graphicID = (GraphicObjects.gfx_backgroundscroll1 + _arg1); updateFunction = UpdateBackground; renderFunction = null; visible = false; } function Update_Generic_PlayOnce_Stationary(){ if (PlayAnimationEx()){ active = false; }; } function Util_GetRandWithModifier(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local6:Number; var _local7:Number; var _local8:Number; _local6 = Utils.RandBetweenFloat(_arg1, _arg2); _local7 = Utils.RandBetweenFloat(_arg3, _arg4); _local8 = Utils.ScaleTo(_local6, _local7, 0, 1, _arg5); return (_local8); } function Util_GenerateObj(_arg1:String){ var _local2:GameObj; _local2 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local2.InitFromObjectDef(_arg1, this); } function RotateToRequiredRot(_arg1:Number):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = Math.atan2((toPosY - ypos), (toPosX - xpos)); _local3 = (_local2 + (Math.PI / 2)); _local4 = Utils.DotProduct(Math.cos(movementVec.rot), Math.sin(movementVec.rot), Math.cos(_local3), Math.sin(_local3)); if (movementVec.NearRot(_local2, _arg1)){ movementVec.rot = _local2; return (true); }; if (_local4 < 0){ movementVec.AddRot(_arg1); } else { movementVec.AddRot(-(_arg1)); }; return (false); } function GutsParticleMoveTogether(){ var _local1:int; var _local2:Array; var _local3:Array; var _local4:GutsPiece; var _local5:GutsPiece; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Point3; _local2 = new Array(); _local3 = new Array(); _local1 = 0; while (_local1 < gutsList.length) { _local2.push(new Point3(0, 0, 0)); _local3.push(new Point3(0, 0, 0)); _local1++; }; _local15 = 0; _local16 = 0; _local17 = 5; _local1 = 0; while (_local1 < (gutsList.length - 1)) { _local4 = gutsList[_local1]; _local5 = gutsList[(_local1 + 1)]; _local10 = ((_local4.xpos + _local5.xpos) * 0.5); _local11 = ((_local4.ypos + _local5.ypos) * 0.5); _local16 = ((_local4.zpos + _local5.zpos) * 0.5); _local7 = (_local4.xpos - _local10); _local6 = (_local4.ypos - _local11); _local15 = (_local4.zpos - _local16); _local18 = new Point3(_local7, _local6, _local15); _local18.Normalize(); _local12 = (_local10 + (_local18.x * _local17)); _local13 = (_local11 + (_local18.y * _local17)); _local14 = (_local16 + (_local18.z * _local17)); _local2[_local1].x = (_local12 - _local4.xpos); _local2[_local1].y = (_local13 - _local4.ypos); _local2[_local1].z = (_local14 - _local4.zpos); _local7 = (_local5.xpos - _local10); _local6 = (_local5.ypos - _local11); _local15 = (_local5.zpos - _local16); _local18 = new Point3(_local7, _local6, _local15); _local18.Normalize(); _local12 = (_local10 + (_local18.x * _local17)); _local13 = (_local11 + (_local18.y * _local17)); _local14 = (_local16 + (_local18.z * _local17)); _local3[(_local1 + 1)].x = (_local12 - _local5.xpos); _local3[(_local1 + 1)].y = (_local13 - _local5.ypos); _local3[(_local1 + 1)].z = (_local14 - _local5.zpos); _local1++; }; _local1 = 0; while (_local1 < gutsList.length) { _local4 = gutsList[_local1]; gutsList[_local1].xpos = (_local4.xpos + _local2[_local1].x); _local4.ypos = (_local4.ypos + _local2[_local1].y); _local4.zpos = (_local4.zpos + _local2[_local1].z); _local4.xpos = (_local4.xpos + _local3[_local1].x); _local4.ypos = (_local4.ypos + _local3[_local1].y); _local4.zpos = (_local4.zpos + _local3[_local1].z); _local1++; }; } function GenerateHitParticles(){ var _local1:Number; var _local2:Number; var _local3:ObjectDeath; var _local4:int; var _local5:GameObj; var _local6:int; _local1 = xpos; _local2 = (ypos - 40); _local3 = objectDef.objectDeath; if (_local3 == null){ return; }; _local6 = Utils.RandBetweenInt(_local3.numBloodMin, _local3.numBloodMax); _local4 = 0; while (_local4 < _local6) { _local5 = GameObjects.AddObj(_local1, _local2, 1000); _local5.InitBloodParticle(); _local4++; }; _local5 = GameObjects.AddObj(_local1, _local2, 900); _local5.InitStaticBlood(Utils.RandBetweenInt(0, 1), xflip); } public function PlayAnimation():Boolean{ var _local1:int; _local1 = (GraphicObjects.GetNumFrames(graphicID) - 1); frame = (frame + frameVel); if (frame > _local1){ frame = _local1; return (true); }; return (false); } public function GetDirBetween(_arg1, _arg2, _arg3, _arg4):Number{ var _local5:*; _local5 = Math.atan2((_arg4 - _arg2), (_arg3 - _arg1)); return (_local5); } public function UpdateEnemy_RandomlyFlyRoundMap(){ timer--; if (timer <= 0){ timer = Utils.RandBetweenInt(50, 100); toPosX = Utils.RandBetweenFloat(0, 1000); toPosY = Utils.RandBetweenFloat(0, 1000); toSpeed = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); }; speed = (speed + ((toSpeed - speed) * 0.005)); movementVec.speed = speed; RotateToRequiredRot(rotVel); dir = movementVec.rot; xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); UpdateExternalVel(); if (Utils.Dist2BetweenPoints(xpos, ypos, toPosX, toPosY) <= (30 * 30)){ timer = 0; }; UpdateBob(); } public function UpdateEnemy_TurnAndMoveToPoint(){ var _local1:Number; if (controlMode == 0){ if (RotateToRequiredRot(rotVel)){ controlMode = 1; speed = 0; }; } else { if (controlMode == 1){ _local1 = Utils.Dist2BetweenPoints(xpos, ypos, toPosX, toPosY); if (_local1 < (60 * 60)){ speed = (speed - accel); if (speed < minSpeed){ speed = minSpeed; }; } else { speed = (speed + accel); if (speed > maxSpeed){ speed = maxSpeed; }; }; movementVec.speed = speed; RotateToRequiredRot(rotVel); xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); if (_local1 < (20 * 20)){ UpdateEnemy_TurnAndMoveToPoint_GetPosNearPlayer(); controlMode = 0; }; }; }; dir = movementVec.rot; UpdateExternalVel(); UpdateBob(); } function Init_EnemyBabyDragonBullet(){ var _local1:GameObj; SoundPlayer.Play("dragonfireball"); colFlag_isEnemyBullet = true; colFlag_isEnemyProjectile = true; visible = true; updateFunction = Update_EnemyBabyDragonBullet; timer = 100; SetAnim("idle"); _local1 = Game.lastObjectGenerator; xpos = (_local1.xpos + objectDef.offsetX); xvel = 5; yvel = 5; if (_local1.xflip){ xpos = (_local1.xpos - objectDef.offsetX); xvel = -(xvel); }; ypos = (_local1.ypos + objectDef.offsetY); dir = 1.2; dir = (Math.atan2(yvel, xvel) - (Math.PI / 2)); dieFunction = Die_EnemyBabyDragonBullet; } function MakeCollisionPoly(){ } public function CycleAnimationEx():Boolean{ var _local1:Boolean; _local1 = false; frame = (frame + frameVel); if (frame > maxFrame){ frame = minFrame; currentEventID = 0; _local1 = true; }; if (frame < minFrame){ frame = maxFrame; currentEventID = 0; _local1 = true; }; return (_local1); } public function UpdatePortal(){ if (subtype == 0){ UpdatePortal_Type0(); }; if (subtype == 1){ UpdatePortal_Type1(); }; if (healthBarTimer > 0){ healthBarTimer--; }; } public function InitEnemy_FollowPlayer(){ EnemyUpdateFunctionCallback = UpdateEnemy_RotateToPlayer; rotVel = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); speed = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); InitEnemyRot_TakeFromPortalDef(); InitBob(); } function UpdateEnemy_Pixie(){ var _local1:Number; var _local2:GameObj; _local2 = Game.goPlayer; if (controlMode == 0){ xacc = Util_SetValFromSideOfPos(_local2.xpos, 1); if (Util_XDistToPlayer() < 80){ SetAnim("attack"); controlMode = 1; }; Util_UpdateXvel(); CycleAnimationEx(); _local1 = Utils.ScaleTo(50, 0, 0, 1, aggression); if (Utils.RandBetweenInt(0, 1000) < _local1){ toPosX = (_local2.xpos - Util_SetValFromSideOfPos(_local2.xpos, Utils.RandBetweenFloat(150, 300))); controlMode = 3; }; } else { if (controlMode == 1){ SetXflipFromFacePlayer(); if (PlayAnimationEx()){ if (Utils.RandBetweenInt(0, 1000) < 500){ SetAnim("walk"); controlMode = 3; toPosX = Utils.RandBetweenFloat(150, 200); if (Utils.RandBool()){ toPosX = (toPosX * -1); }; toPosX = (toPosX + _local2.xpos); } else { SetAnim("idle"); controlMode = 2; timer = Utils.RandBetweenInt(30, 50); }; }; Util_UpdateXvel_Stop(); } else { if (controlMode == 2){ if (TimerDecrement()){ SetAnim("walk"); maxSpeed = Util_GetRandWithModifier(modifier0, modifier1, modifier2, modifier3, speedModifier); controlMode = 0; }; SetXflipFromFacePlayer(); Util_UpdateXvel_Stop(); CycleAnimationEx(); } else { if (controlMode == 3){ xacc = Util_SetValFromSideOfPos(toPosX, 1); if (Util_XDistToToPos() < 20){ SetAnim("walk"); maxSpeed = Util_GetRandWithModifier(modifier0, modifier1, modifier2, modifier3, speedModifier); controlMode = 0; }; Util_UpdateXvel(); SetXflipFromVel(); CycleAnimationEx(); } else { if (controlMode == generic_controlMode_hit){ hit_xvel = (hit_xvel * 0.9); xpos = (xpos + hit_xvel); if (PlayAnimationEx()){ Util_RestoreState(); }; }; }; }; }; }; Util_UpdateYvel(); UpdateAnimEvents(); SetXflipFromVel(); } function UpdateEnemy_Troll(){ var _local1:GameObj; _local1 = Game.goPlayer; if (controlMode == 0){ colFlag_vulnerable = false; xacc = Util_SetValFromSideOfPos(_local1.xpos, 1); Util_UpdateXvel(); CycleAnimationEx(); SetXflipFromVel(); if (Utils.DistBetweenPoints(xpos, 0, _local1.xpos, 0) < 150){ count++; count = (count % 2); if (count == 1){ frameVel = 1; SetAnim("raiseclub"); controlMode = 1; } else { frameVel = 1; timer = Util_GetRandWithModifier(100, 100, 20, 20, aggression); SetAnim("attackidle"); controlMode = 5; }; }; } else { if (controlMode == 1){ Util_UpdateXvel_Stop(); SetXflipFromFacePlayer(); if (PlayAnimationEx()){ SetAnim("raiseclubidle"); controlMode = 2; timer = Util_GetRandWithModifier(100, 100, 20, 20, aggression); colFlag_vulnerable = true; }; } else { if (controlMode == 2){ Util_UpdateXvel_Stop(); SetXflipFromFacePlayer(); CycleAnimationEx(); if (TimerDecrement()){ SetAnim("swingclub"); controlMode = 3; colFlag_vulnerable = true; }; } else { if (controlMode == 3){ Util_UpdateXvel_Stop(); SetXflipFromFacePlayer(); if (PlayAnimationEx()){ SetAnim("idle"); controlMode = 4; timer = Util_GetRandWithModifier(100, 150, 10, 20, aggression); colFlag_vulnerable = false; }; } else { if (controlMode == 4){ Util_UpdateXvel_Stop(); CycleAnimationEx(); SetXflipFromFacePlayer(); if (TimerDecrement()){ controlMode = 0; SetAnim("walk"); colFlag_vulnerable = false; }; } else { if (controlMode == 5){ Util_UpdateXvel_Stop(); SetXflipFromFacePlayer(); CycleAnimationEx(); if (TimerDecrement()){ SetAnim("attack"); controlMode = 3; colFlag_vulnerable = false; }; } else { if (controlMode == generic_controlMode_hit){ hit_xvel = (hit_xvel * 0.9); xpos = (xpos + hit_xvel); if (PlayAnimationEx()){ SetAnim("walk"); controlMode = 0; colFlag_vulnerable = false; }; }; }; }; }; }; }; }; Util_UpdateYvel(); UpdateAnimEvents(); } public function Action_Pause(_arg1:Number){ timer = _arg1; controlMode = 1; } function Jester_GenerateBullets(){ var _local1:int; var _local2:Number; var _local3:GameObj; _local1 = Utils.RandBetweenInt(0, 1000); _local2 = Utils.ScaleTo(2, 10, 0, 1, aggression); if (_local1 <= _local2){ _local3 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local3.InitFromObjectDef("JesterBullet", this); }; } function UpdateEnemy_Jester(){ var _local1:Number; var _local2:GameObj; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = Game.goPlayer; if (controlMode == 0){ Util_UpdateXvel_Stop(); Util_UpdateYvel(); if (PlayAnimationEx()){ controlMode = 1; SetAnim("jump"); _local1 = Utils.ScaleTo(200, 800, 0, 1, aggression); if (Utils.RandBetweenInt(0, 1000) < _local1){ toPosX = (_local2.xpos + (_local2.xpos - xpos)); xvel = ((toPosX - xpos) * 0.01); yvel = Utils.RandBetweenFloat(-26, -30); } else { toPosX = Utils.RandBetweenFloat((xpos - 50), (xpos + 50)); _local3 = Util_GetRandWithModifier(0.02, 0.05, 0.05, 0.08, speedModifier); xvel = ((toPosX - xpos) * _local3); yvel = Utils.RandBetweenFloat(-14, -17); }; }; } else { if (controlMode == 1){ CycleAnimationEx(); xpos = (xpos + xvel); SetXflipFromVel(); _local4 = Util_SetValFromXVel(0.2); dir = (dir + _local4); Util_UpdateYvel(false); if (yvel > 0){ _local5 = (Game.GetHeightMapHeight(xpos) - 20); if (ypos > _local5){ ypos = _local5; SetAnim("postjump"); frame = maxFrame; controlMode = 2; dir = 0; }; }; }; }; if (controlMode == 2){ Util_UpdateXvel_Stop(); Util_UpdateYvel(); if (PlayAnimationEx()){ controlMode = 0; SetAnim("prejump"); }; } else { if (controlMode == generic_controlMode_hit){ hit_xvel = (hit_xvel * 0.9); xpos = (xpos + hit_xvel); if (PlayAnimationEx()){ Util_RestoreState(); }; }; }; Jester_GenerateBullets(); UpdateAnimEvents(); } function UpdateEnemy_Knight(){ var _local1:Number; var _local2:GameObj; _local2 = Game.goPlayer; if (controlMode == 0){ xacc = Util_SetValFromSideOfPos(_local2.xpos, 1); if (Util_XDistToPlayer() < 100){ if (Utils.RandBetweenInt(0, 1000) < 500){ SetAnim("attack"); } else { SetAnim("attack2"); }; controlMode = 1; }; Util_UpdateXvel(); CycleAnimationEx(); _local1 = Utils.ScaleTo(50, 5, 0, 1, aggression); if (Utils.RandBetweenInt(0, 1000) < _local1){ toPosX = (_local2.xpos - Util_SetValFromSideOfPos(_local2.xpos, Utils.RandBetweenFloat(150, 300))); controlMode = 3; }; } else { if (controlMode == 1){ SetXflipFromFacePlayer(); if (PlayAnimationEx()){ if (Utils.RandBetweenInt(0, 1000) < 500){ SetAnim("walk"); controlMode = 3; toPosX = (_local2.xpos - Util_SetValFromSideOfPos(_local2.xpos, Utils.RandBetweenFloat(150, 300))); } else { SetAnim("idle"); controlMode = 2; timer = Utils.RandBetweenInt(30, 50); }; }; Util_UpdateXvel_Stop(); } else { if (controlMode == 2){ if (TimerDecrement()){ SetAnim("walk"); maxSpeed = Util_GetRandWithModifier(modifier0, modifier1, modifier2, modifier3, speedModifier); controlMode = 0; }; SetXflipFromFacePlayer(); Util_UpdateXvel_Stop(); CycleAnimationEx(); } else { if (controlMode == 3){ xacc = Util_SetValFromSideOfPos(toPosX, 1); if (Util_XDistToToPos() < 20){ SetAnim("walk"); maxSpeed = Util_GetRandWithModifier(modifier0, modifier1, modifier2, modifier3, speedModifier); controlMode = 0; }; Util_UpdateXvel(); SetXflipFromVel(); CycleAnimationEx(); } else { if (controlMode == generic_controlMode_hit){ hit_xvel = (hit_xvel * 0.9); xpos = (xpos + hit_xvel); if (PlayAnimationEx()){ Util_RestoreState(); }; }; }; }; }; }; Util_UpdateYvel(); UpdateAnimEvents(); SetXflipFromVel(); } function Util_SetToFloorPos():void{ ypos = Game.GetHeightMapHeight(xpos); } public function InitEnemy_FollowPlayerVels(){ EnemyUpdateFunctionCallback = UpdateEnemy_FollowPlayerVels; acc = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); speed = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); heightVar0 = 0; heightVar1 = Utils.RandBetweenFloat(0.02, 0.1); } function UpdateEnemy_BabyDragon(){ var _local1:GameObj; var _local2:int; var _local3:*; _local1 = Game.goPlayer; if (controlMode == 0){ startx = (startx + xvel); starty = (starty + yvel); xpos = (startx + (Math.cos((timer * modifier0)) * modifier2)); ypos = (starty + (Math.sin((timer * modifier1)) * modifier3)); timer++; SetXflipFromVel(); if (CycleAnimationEx()){ _local2 = Utils.RandBetweenInt(0, 1000); _local3 = Utils.ScaleTo(0, 300, 0, 1, aggression); if (objectDef.initVar0 == "1"){ _local3 = 0; }; if (_local2 < _local3){ SetAnim("attack"); controlMode = 1; }; }; if (xvel < 0){ if (xpos < (0 - 50)){ active = false; }; } else { if (xpos > (Game.scrollW + 50)){ active = false; }; }; } else { if (controlMode == 1){ startx = (startx + xvel); starty = (starty + yvel); xpos = (startx + (Math.cos((timer * modifier0)) * modifier2)); ypos = (starty + (Math.sin((timer * modifier1)) * modifier3)); timer++; SetXflipFromVel(); if (PlayAnimationEx()){ SetAnim("idle"); controlMode = 0; }; } else { if (controlMode == generic_controlMode_hit){ hit_xvel = (hit_xvel * 0.9); xpos = (xpos + hit_xvel); if (PlayAnimationEx()){ Util_RestoreState(); }; }; }; }; UpdateAnimEvents(); } function RenderToBackground():void{ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = Math.floor(xpos); _local2 = Math.floor(ypos); _local3 = depth; if (((!((dir == 0))) || (!((scale == 1))))){ GraphicObjects.RenderAtRotScaled(graphicID, frame, Game.backgroundBD, _local1, (_local2 + _local3), xflip, scale, dir); } else { GraphicObjects.RenderAt(graphicID, frame, Game.backgroundBD, _local1, (_local2 + _local3), xflip); }; } public function GetObjectRectangle():Rectangle{ return (objectDef.colRects[0]); } function TimerDecrement():Boolean{ timer--; if (timer <= 0){ return (true); }; return (false); } public function InitGutsParticle(){ var _local1:*; var _local2:int; var _local3:GutsPiece; var _local4:Number; updateFunction = UpdateGutsParticle; renderFunction = GutsParticleRender; graphicID = GraphicObjects.gfx_gutsparticle; frame = Utils.RandBetweenInt(0, 2); frameVel = 1; xvel = Utils.RandBetweenFloat(-7, 7); yvel = Utils.RandBetweenFloat(-5, -9); zvel = Utils.RandBetweenFloat(-1, 1); dir = Utils.RandBetweenFloat(0, 10); _local1 = Utils.RandBetweenInt(5, 10); gutsList = new Array(_local1); _local2 = 0; while (_local2 < _local1) { _local3 = new GutsPiece(); _local3.xpos = xpos; _local3.ypos = ypos; _local3.zpos = depth; _local4 = (_local2 - 5); _local3.xvel = Utils.RandBetweenFloat(-10, 10); _local3.yvel = Utils.RandBetweenFloat(-5, -13); _local3.zvel = Utils.RandBetweenFloat(-1, 1); _local3.dir = 0; gutsList[_local2] = _local3; _local2++; }; } public function RenderEnemy_Helicopter(){ var _local1:Number; RenderEnemy(); _local1 = dir1; dir1 = (Math.PI - dir1); RenderPreRotated1(); dir1 = _local1; } function Util_UpdateXvel_Stop():void{ xvel = (xvel * 0.5); xpos = (xpos + xvel); } function Path_GetToPos():Boolean{ var _local1:Boolean; var _local2:Point; var _local3:Point; var _local4:Number; var _local5:Number; _local1 = false; if (pathPos >= currentPoly.GetCatmullRomLength()){ _local1 = true; }; _local4 = ((1 / currentPoly.GetCatmullRomLength()) * pathPos); _local3 = currentPoly.GetPointOnCatmullRom(_local4); _local5 = (_local4 - 0.01); if (_local5 < 0){ _local5 = 0; }; _local2 = currentPoly.GetPointOnCatmullRom(_local5); toPosX = _local3.x; toPosY = _local3.y; prevToPosX = _local2.x; prevToPosY = _local2.y; return (_local1); } function UpdateBackground():void{ xpos = -(Game.scrollX); ypos = -(Game.scrollY); } function RenderHealthBar(_arg1:Boolean=false){ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Point; var _local8:Number; var _local9:Number; var _local10:*; var _local11:Rectangle; if (_arg1 == false){ if (healthBarTimer <= 0){ return; }; } else { if (health > 20){ if (healthBarTimer <= 0){ return; }; }; }; _local2 = Math.floor(Game.scrollX); _local3 = Math.floor(Game.scrollY); _local4 = (Math.floor(xpos) - _local2); _local5 = (Math.floor(ypos) - _local3); _local6 = 0; if (objectDef != null){ _local6 = objectDef.healthBarOffset; }; _local7 = new Point(0, _local6); _local4 = (_local4 + _local7.x); _local5 = (_local5 + _local7.y); _local8 = 20; _local9 = 3; _local10 = (_local8 * 0.5); _local4 = (_local4 - _local10); _local11 = new Rectangle(); _local11.x = _local4; _local11.y = _local5; _local11.width = _local8; _local11.height = _local9; if (_arg1){ main.screenBD.fillRect(_local11, 4280295520); } else { main.screenBD.fillRect(_local11, 4286578688); }; _local11.x = _local4; _local11.y = _local5; _local11.width = ((_local8 / maxhealth) * health); _local11.height = _local9; if (_arg1){ main.screenBD.fillRect(_local11, 4282401023); } else { main.screenBD.fillRect(_local11, 4294901760); }; } public function InitEnemy_Installation(){ height = 0; hasShadow = true; EnemyUpdateFunctionCallback = UpdateInstallation; renderFunction = RenderNormally; colFlag_isEnemy = true; colFlag_isInstallation = true; graphicID = objectDef.GetAnimIDFromName("idle"); } function Event_EnemyTrollGenerateBullet1(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef("TrollBullet1", this); } function RenderTailPiecesShadow():void{ var _local1:Number; var _local2:Number; var _local3:int; var _local4:TailPiece; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:int; var _local11:int; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = tailPieces.length; _local5 = 0; while (_local5 < _local3) { _local4 = tailPieces[_local5]; _local6 = (Math.floor(_local4.xpos) - _local1); _local7 = (Math.floor(_local4.ypos) - _local2); _local8 = GraphicObjects.GetNumFrames(_local4.graphicID); _local9 = _local4.dir; _local9 = (_local9 + (Math.PI / 2)); _local9 = (Math.PI - _local9); while (_local9 < 0) { _local9 = (_local9 + (Math.PI * 2)); }; while (_local9 > (Math.PI * 2)) { _local9 = (_local9 - (Math.PI * 2)); }; _local10 = ((_local8 / (Math.PI * 2)) * _local9); _local11 = GraphicObjects.idList[_local4.graphicID]; GraphicObjects.graphicobjs[_local11].frames[_local10].RenderAtShadow(Game.main.screenBD, _local6, (_local7 + 3), false); _local5++; }; } public function InitEnemy_FollowPlayer_FlyLike(){ EnemyUpdateFunctionCallback = UpdateEnemy_FollowPlayer_FlyLike; UpdateEnemy_FollowPlayer_FlyLike_GetNewToPos(); } function RenderEnemyBullet(){ RenderNormally(); } function RenderPreRotated1(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = (Math.floor(xpos) - _local1); _local4 = (Math.floor(ypos) - _local2); _local5 = GraphicObjects.GetNumFrames(graphicID1); _local6 = dir1; _local6 = (_local6 - (Math.PI / 2)); while (_local6 < 0) { _local6 = (_local6 + (Math.PI * 2)); }; while (_local6 > (Math.PI * 2)) { _local6 = (_local6 - (Math.PI * 2)); }; _local7 = ((_local5 / (Math.PI * 2)) * _local6); GraphicObjects.RenderAt(graphicID1, _local7, main.screenBD, _local3, (_local4 - (height * 0.1)), false); } public function InitEnemy9(){ var _local1:int; var _local2:Number; EnemyUpdateFunctionCallback = UpdateEnemy9; speed = Utils.RandBetweenFloat(0.5, 1); renderFunction = RenderNormally; frameVel = 0.2; height = 0; _local1 = Utils.RandBetweenInt(0, 7); _local2 = (-(((Math.PI / 4) * Number(_local1))) + (Math.PI / 2)); movementVec.Set(_local2, speed); SetStartEdgePosFrom8Way(_local1); minFrame = (frame = (_local1 * 10)); maxFrame = (minFrame + 9); } public function UpdateEnemy_RotateToPlayer2(){ var _local1:Point; timer--; if (timer <= 0){ _local1 = Utils.RandPointInCircle(objectDef.NumParamG); toOffsetX = _local1.x; toOffsetY = _local1.y; timer = (Utils.RandBetweenFloat(objectDef.NumParamE, objectDef.NumParamF) * Defs.fps2); }; movementVec.speed = speed; toPosX = (Game.goPlayer.xpos + toOffsetX); toPosY = (Game.goPlayer.ypos + toOffsetY); RotateToRequiredRot(rotVel); dir = movementVec.rot; xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); UpdateExternalVel(); UpdateBob(); } function GutsParticleUpdateList(){ var _local1:GutsPiece; var _local2:int; var _local3:Boolean; var _local4:Number; for each (_local1 in gutsList) { _local1.yvel = (_local1.yvel + Game.gravity); _local1.xpos = (_local1.xpos + _local1.xvel); _local1.ypos = (_local1.ypos + _local1.yvel); _local1.zpos = (_local1.zpos + _local1.zvel); _local4 = Game.GetHeightMapHeight(int(_local1.xpos)); if (_local1.ypos > _local4){ _local1.ypos = _local4; _local1.landed = true; }; }; _local2 = 0; while (_local2 < 10) { GutsParticleMoveTogether(); _local2++; }; GutsParticleSetRotation(); _local3 = true; for each (_local1 in gutsList) { if (!_local1.landed){ _local3 = false; }; }; if (_local3){ GutsParticleRender(true); active = false; }; } function RenderWithAlpha(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = (Math.floor(xpos) - _local1); _local4 = (Math.floor(ypos) - _local2); GraphicObjects.RenderAtAlpha(graphicID, frame, main.screenBD, _local3, (_local4 - (height * 0.1)), alpha); } public function UpdateEnemy_Edge8Way(){ xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); UpdateExternalVel(); if (IsInWorld(64) == false){ active = false; }; CycleAnimationEx(); } public function UpdateOnScreenBlood(){ PlayAnimation(); alpha = (alpha - 0.01); if (alpha <= 0){ alpha = 0; active = false; }; } public function InitEnemy_Edge8Way(){ var _local1:int; var _local2:Number; EnemyUpdateFunctionCallback = UpdateEnemy_Edge8Way; speed = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); renderFunction = RenderNormally; shadowRenderFunction = RenderShadowNormally; frameVel = 0.2; height = 0; _local1 = Utils.RandBetweenInt(0, 7); _local2 = (-(((Math.PI / 4) * Number(_local1))) + (Math.PI / 2)); movementVec.Set(_local2, speed); SetStartEdgePosFrom8Way(_local1); minFrame = (frame = (_local1 * 10)); maxFrame = (minFrame + 9); } function Util_SideOfPlayer():Boolean{ return ((xpos > Game.goPlayer.xpos)); } function UpdateExternalVel(){ xpos = (xpos + externalVec.GetXComponent()); ypos = (ypos + externalVec.GetYComponent()); externalVec.speed = (externalVec.speed - 0.25); if (externalVec.speed <= 0){ externalVec.speed = 0; }; } function GenerateDeadParticles(){ var _local1:Number; var _local2:Number; var _local3:ObjectDeath; var _local4:int; var _local5:GameObj; var _local6:int; var _local7:ObjectDeathPiece; _local1 = xpos; _local2 = (ypos - 40); _local3 = objectDef.objectDeath; if (_local3 == null){ return; }; _local6 = Utils.RandBetweenInt(_local3.numBloodMin, _local3.numBloodMax); _local4 = 0; while (_local4 < _local6) { _local5 = GameObjects.AddObj(_local1, _local2, 1000); _local5.InitBloodParticle(); _local4++; }; _local6 = Utils.RandBetweenInt(_local3.numGutsMin, _local3.numGutsMax); _local4 = 0; while (_local4 < _local6) { _local5 = GameObjects.AddObj(_local1, _local2, 1000); _local5.InitGutsParticle(); _local4++; }; for each (_local7 in _local3.pieces) { _local5 = GameObjects.AddObj(_local1, _local2, 1000); _local5.InitDeadBitParticle(_local3.graphicID, _local7.frame, _local7.x, _local7.y); if (_local7.spurt != 0){ _local5.genBloodFlag = true; _local5.toOffsetX = 0; _local5.toOffsetY = 30; }; }; _local5 = GameObjects.AddObj(_local1, _local2, 900); _local5.InitStaticBlood(Utils.RandBetweenInt(0, 1), xflip); if (Utils.RandBetweenInt(0, 1000) < 500){ _local5 = GameObjects.AddObj(_local1, _local2, 900); _local5.InitOnScreenBlood(); }; } function ManUpdateDecel():Boolean{ var _local1:Number; _local1 = 0.25; if (xvel > 0){ xacc = -(_local1); xvel = (xvel + xacc); xvel = Utils.LimitNumber(0, 1000, xvel); } else { if (xvel < 0){ xacc = _local1; xvel = (xvel + xacc); xvel = Utils.LimitNumber(-1000, 0, xvel); }; }; xpos = (xpos + xvel); if (xvel == 0){ return (true); }; return (false); } function SetToRequiredRot():void{ var _local1:Number; _local1 = Math.atan2((toPosY - ypos), (toPosX - xpos)); movementVec.rot = _local1; } function UpdateBullet():void{ } function InitBatPoo(){ colFlag_isEnemyBullet = true; yvel = 0; xvel = Utils.RandBetweenFloat(-1, 1); zvel = Utils.RandBetweenFloat(-1, 1); SetAnim("fall"); controlMode = 0; updateFunction = UpdateBatPoo; } public function InitBloodParticle(){ updateFunction = UpdateBloodParticle; graphicID = GraphicObjects.gfx_bloodparticle; frame = Utils.RandBetweenInt(0, 1); frameVel = 1; xvel = Utils.RandBetweenFloat(-7, 7); yvel = Utils.RandBetweenFloat(-5, -9); zvel = Utils.RandBetweenFloat(-1, 1); dir = Utils.RandBetweenFloat(0, 10); } function InitEnemyBullet(_arg1:ShotController, _arg2:ShotControllerShot, _arg3:GameObj):void{ var _local4:GameObj; var _local5:Number; var _local6:Number; var _local7:Number; usesBulletTime = true; objectDef = ObjectDefs.GetObjectDefByExportName(_arg1.type); colFlag_isEnemyBullet = true; updateFunction = UpdateEnemyBullet; renderFunction = RenderEnemyBullet; graphicID = objectDef.GetAnimIDFromName("idle"); if (_arg2.type == ShotControllerShot.type_atplayer){ _local4 = Game.goPlayer; _local5 = (_local4.xpos - xpos); _local6 = (_local4.ypos - ypos); _local7 = Math.atan2(_local6, _local5); _local7 = (_local7 + _arg2.offset); movementVec.Set(_local7, _arg1.speed); } else { if (_arg2.type == ShotControllerShot.type_absolute){ _local7 = _arg2.offset; movementVec.Set(_local7, _arg1.speed); } else { if (_arg2.type == ShotControllerShot.type_dir){ _local7 = _arg2.offset; _local7 = (_local7 + _arg3.dir); movementVec.Set(_local7, _arg1.speed); }; }; }; frame = 0; frameVel = 0.5; timer = Utils.RandBetweenInt(0, 4); xvel = movementVec.GetXComponent(); yvel = movementVec.GetYComponent(); } function Init_EnemyProjectileBulletToPlayer(){ var _local1:GameObj; var _local2:GameObj; colFlag_isEnemyBullet = true; colFlag_isEnemyProjectile = true; visible = true; updateFunction = Update_EnemyProjectileBulletToPlayer; timer = 100; SetAnim("idle"); _local1 = Game.goPlayer; movementVec.SetAngFromDxDy((_local1.xpos - xpos), (_local1.ypos - ypos)); movementVec.speed = 1; _local2 = Game.lastObjectGenerator; xpos = (_local2.xpos + objectDef.offsetX); ypos = (_local2.ypos + objectDef.offsetY); } public function PlayAnimationEx():Boolean{ var _local1:Boolean; _local1 = false; frame = (frame + frameVel); if (frame > maxFrame){ frame = maxFrame; currentEventID = 0; _local1 = true; }; if (frame < minFrame){ frame = minFrame; currentEventID = 0; _local1 = true; }; return (_local1); } function Anim_FromVel():void{ var _local1:int; var _local2:Number; var _local3:Number; var _local4:*; _local1 = GraphicObjects.GetNumFrames(graphicID); _local2 = xvel; _local3 = yvel; _local4 = Math.atan2(_local3, _local2); frame = ((_local1 / (Math.PI * 2)) * -(_local4)); if (frame < 0){ frame = (frame + _local1); }; if (frame > _local1){ frame = (frame - _local1); }; frame = (frame + (_local1 / 2)); if (frame > _local1){ frame = (frame - _local1); }; } function UpdateShop():void{ ypos = (ypos + yvel); xpos = (xpos + xvel); if (ypos >= (Defs.displayarea_h + 32)){ active = false; }; } public function RenderOnScreenBlood(){ ct.alphaMultiplier = alpha; GraphicObjects.RenderAtRotScaledColTrans(graphicID, frame, main.screenBD, xpos, ypos, xflip, scale, dir, ct); } function RenderEnemy(){ var _local1:Number; _local1 = dir; dir = (Math.PI - dir); RenderPreRotated(); dir = _local1; RenderHealthBar(); } public function UpdateStaticBlood(){ if (PlayAnimation()){ active = false; }; } public function RenderInfo():void{ RenderBlockCollision(); } function UpdateDeadBitParticle(){ var _local1:Number; var _local2:GameObj; var _local3:Number; var _local4:Number; if (controlMode == 0){ yvel = (yvel + Game.gravity); xpos = (xpos + xvel); ypos = (ypos + yvel); depth = (depth + zvel); _local1 = Game.GetHeightMapHeight(int(xpos)); if (ypos > _local1){ ypos = _local1; if (yvel > 3){ yvel = (yvel * -0.4); xvel = (xvel * 0.6); } else { controlMode = 1; timer = Utils.RandBetweenInt(75, 125); }; }; if (ypos > 1000){ if (ypos > 1000){ active = false; }; }; dir = (dir + (xvel * 0.05)); } else { if (controlMode == 1){ timer--; if (timer < 0){ controlMode = 2; }; } else { if (controlMode == 2){ alpha = (alpha - 0.025); if (alpha <= 0){ active = false; }; }; }; }; if (genBloodFlag){ _local2 = GameObjects.AddObj(xpos, ypos, zpos); _local2.InitMiniBloodParticle(1); _local2.depth = depth; _local3 = Utils.RandBetweenFloat(10, 12); _local4 = (dir + (Math.PI * 0.5)); _local4 = (_local4 + Utils.RandBetweenFloat(-0.01, 0.01)); _local2.xvel = (Math.cos(_local4) * _local3); _local2.yvel = (Math.sin(_local4) * _local3); }; scale = (1 + (depth * 0.005)); } function RenderBackground():void{ var _local1:Number; var _local2:Number; _local1 = Math.floor(xpos); _local2 = Math.floor(ypos); GraphicObjects.RenderAt(graphicID, 0, main.screenBD, _local1, _local2); } public function InitEnemy_SplineRoundPlayer_Stepper(){ var _local1:Array; var _local2:Number; var _local3:Number; var _local4:int; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Point; EnemyUpdateFunctionCallback = UpdateEnemy_SplineRoundPlayer_Stepper; rotVel = 0.025; controlMode = 0; _local1 = new Array(); _local2 = 50; _local3 = 0; while (_local3 < (Math.PI * 2)) { _local5 = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); _local6 = (Math.cos(_local3) * _local5); _local7 = (Math.sin(_local3) * _local5); _local6 = (_local6 + Utils.RandBetweenFloat(-(_local2), _local2)); _local7 = (_local7 + Utils.RandBetweenFloat(-(_local2), _local2)); _local8 = new Point(_local6, _local7); _local1.push(_local8); _local3 = (_local3 + 0.6); }; _local4 = 0; currentPoly = new Poly("", 0, _local1[_local4].x, _local1[_local4].y); _local4 = 1; while (_local4 < _local1.length) { currentPoly.AddLine(_local1[_local4].x, _local1[_local4].y, _local1[_local4].x, _local1[_local4].y); _local4++; }; currentPoly.Finish(false); timer = Utils.RandBetweenFloat(0, 1); rotVel = Utils.RandBetweenFloat(objectDef.NumParamC, objectDef.NumParamD); timer1 = 0; xpos2 = xpos; ypos2 = ypos; } public function DodgeBullet(_arg1:GameObj){ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Vec; _local2 = (_arg1.xpos - xpos); _local3 = (_arg1.ypos - ypos); _local4 = Utils.DistBetweenPoints(xpos, ypos, _arg1.xpos, _arg1.ypos); if (_local4 < objectDef.dodgeDist){ _local5 = Utils.ScaleTo(objectDef.dodgeMax, objectDef.dodgeMin, 0, objectDef.dodgeDist, _local4); _local6 = new Vec(); _local6.SetAngFromDxDy(_local2, _local3); _local6.speed = _local5; xpos = (xpos - _local6.GetXComponent()); ypos = (ypos - _local6.GetYComponent()); }; } function PlayerUpdateDeadParticles(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, (ypos - 60), 1000); _local1.InitBloodParticle(); _local1.xvel = Utils.RandBetweenFloat(-7, 7); _local1.yvel = Utils.RandBetweenFloat(-10, -20); _local1.zvel = Utils.RandBetweenFloat(-1, 1); } function SetXflipFromFacePlayer(){ xflip = false; if (xpos > Game.goPlayer.xpos){ xflip = true; }; } function InitEnemy_VampireBat(){ var _local1:GameObj; aggression = Game.lastEnemyGenDef.aggression; speedModifier = Game.lastEnemyGenDef.speed; colFlag_isEnemyBullet = true; colFlag_isEnemy = true; updateFunction = UpdateEnemy_VampireBat; SetAnim("idle"); controlMode = 0; maxSpeed = Util_GetRandWithModifier(2, 3, 4, 5, speedModifier); controlMode = 0; _local1 = Game.goPlayer; if (xpos > _local1.xpos){ xoffset = Utils.RandBetweenFloat(100, 200); } else { xoffset = Utils.RandBetweenFloat(-100, -200); }; yoffset = Utils.RandBetweenFloat(-200, -300); startx = xpos; starty = ypos; speed = Util_GetRandWithModifier(2, 3, 4, 5, speedModifier); acc = Util_GetRandWithModifier(0.1, 0.2, 0.3, 0.4, speedModifier); } function RenderNormallyToBackground(){ var _local1:Number; var _local2:Number; _local1 = Math.floor(xpos); _local2 = Math.floor(ypos); if (((!((dir == 0))) || (!((scale == 1))))){ GraphicObjects.RenderAtRotScaled(graphicID, frame, Game.backgroundBD, _local1, _local2, xflip, scale, dir); } else { trace("render here"); GraphicObjects.RenderAt(graphicID, frame, Game.backgroundBD, _local1, _local2, xflip); }; } function GetMeleeHitPoint():Point{ var _local1:Point; if (((!((currentAnimName == "man_punch"))) && (!((currentAnimName == "man_kick"))))){ return (null); }; if (frame < 15){ return (null); }; _local1 = new Point(0, 0); _local1.y = (ypos - 40); if (xflip){ _local1.x = (xpos - 20); } else { _local1.x = (xpos + 20); }; return (_local1); } function UpdateEnemy_Gnome(){ var _local1:Number; var _local2:GameObj; _local2 = Game.goPlayer; if (controlMode == 0){ xacc = Util_SetValFromSideOfPos((_local2.xpos + dist), 1); Util_UpdateXvel(); frameVel = Util_SetValFromSideOfPos(_local2.xpos, 1); CycleAnimationEx(); SetXflipFromFacePlayer(); if (Utils.DistBetweenPoints(xpos, 0, (_local2.xpos + dist), 0) < 5){ _local1 = Utils.ScaleTo(100, 500, 0, 1, aggression); if (objectDef.initVar0 == "2"){ _local1 = 0; }; if (Utils.RandBetweenInt(0, 1000) < _local1){ frameVel = 1; SetAnim("attack"); controlMode = 1; } else { dist = -(Util_SetValFromSideOfPos(_local2.xpos, Utils.RandBetweenFloat(200, 300))); }; } else { if (objectDef.initVar0 != "1"){ _local1 = Utils.ScaleTo(10, 100, 0, 1, aggression); if (Utils.RandBetweenInt(0, 1000) < _local1){ SetAnim("run"); maxSpeed = Util_GetRandWithModifier(8, 10, 12, 14, speedModifier); controlMode = 2; xacc = Util_SetValFromSideOfPos(_local2.xpos, 1); colFlag_isEnemyProjectile = true; colFlag_isEnemyBullet = true; }; }; }; } else { if (controlMode == 1){ if (PlayAnimationEx()){ maxSpeed = Util_GetRandWithModifier(2, 3, 4, 5, speedModifier); SetAnim("walk"); controlMode = 0; dist = -(Util_SetValFromSideOfPos(_local2.xpos, Utils.RandBetweenFloat(200, 300))); }; Util_UpdateXvel_Stop(); SetXflipFromFacePlayer(); } else { if (controlMode == 2){ Util_UpdateXvel(); if (Util_XDistToPlayer() > 300){ controlMode = 0; maxSpeed = Util_GetRandWithModifier(2, 3, 4, 5, speedModifier); SetAnim("walk"); dist = Utils.RandBetweenFloat(200, 300); if (Util_SideOfPlayer() == false){ dist = -(dist); }; colFlag_isEnemyProjectile = false; colFlag_isEnemyBullet = false; }; CycleAnimationEx(); SetXflipFromVel(); } else { if (controlMode == 3){ if (xflip){ xpos = (xpos + 3); } else { xpos = (xpos - 3); }; if (PlayAnimationEx()){ controlMode = 0; maxSpeed = Util_GetRandWithModifier(2, 3, 4, 5, speedModifier); SetAnim("walk"); dist = Utils.RandBetweenFloat(200, 300); if (Util_SideOfPlayer() == false){ dist = -(dist); }; colFlag_isEnemyProjectile = false; colFlag_isEnemyBullet = false; }; } else { if (controlMode == generic_controlMode_hit){ hit_xvel = (hit_xvel * 0.9); xpos = (xpos + hit_xvel); if (PlayAnimationEx()){ Util_RestoreState(); }; }; }; }; }; }; Util_UpdateYvel(); UpdateAnimEvents(); } public function UpdateEnemy_AccelStraight(){ movementVec.speed = (movementVec.speed + accel); xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); dir = movementVec.rot; UpdateExternalVel(); } function Event_EnemyJesterGenerateBullet(){ var _local1:GameObj; _local1 = GameObjects.AddObj(xpos, ypos, (zpos - 10)); _local1.InitFromObjectDef("GnomeBullet", this); } function Util_RestoreState(){ controlMode = ss_controlMode; frame = ss_frame; graphicID = ss_graphicID; frameVel = ss_frameVel; minFrame = ss_minFrame; maxFrame = ss_maxFrame; } function RenderRotated(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = Math.floor(Game.scrollX); _local2 = Math.floor(Game.scrollY); _local3 = (Math.floor(xpos) - _local1); _local4 = (Math.floor(ypos) - _local2); GraphicObjects.RenderAtRotScaled(graphicID, frame, main.screenBD, _local3, (_local4 - (height * 0.1)), false, scale, dir); } function UpdateActions(){ var _local1:ObjAction; for each (_local1 in actionList) { if ((((_local1.done == false)) && ((actionTimer == _local1.time)))){ trace("Action_Pause"); _local1.actionFunction(_local1.param0); }; }; actionTimer++; } public function InitEnemy_BallsFromEdges(){ var _local1:Number; var _local2:int; EnemyUpdateFunctionCallback = UpdateEnemy_BallsFromEdges; speed = Utils.RandBetweenFloat(objectDef.NumParamA, objectDef.NumParamB); renderFunction = RenderNormally; frame = 0; frameVel = 1; height = 0; _local2 = int(objectDef.NumParamC); if (_local2 == 0){ _local1 = Utils.RandBetweenFloat(0.2, 0.3); if (Utils.RandBetweenInt(0, 1000) < 500){ xpos = -20; ypos = Game.RandWorldY(); } else { ypos = (0 - 20); xpos = Game.RandWorldX(); }; } else { if (_local2 == 1){ _local1 = Utils.RandBetweenFloat(0.6, 0.7); if (Utils.RandBetweenInt(0, 1000) < 500){ xpos = (1000 + 20); ypos = Game.RandWorldY(); } else { ypos = (0 - 20); xpos = Game.RandWorldX(); }; } else { if (_local2 == 2){ frameVel = -1; _local1 = Utils.RandBetweenFloat(1.3, 1.4); if (Utils.RandBetweenInt(0, 1000) < 500){ xpos = (1000 + 20); ypos = Game.RandWorldY(); } else { ypos = (1000 + 20); xpos = Game.RandWorldX(); }; } else { if (_local2 == 3){ frameVel = -1; _local1 = Utils.RandBetweenFloat(1.7, 1.8); if (Utils.RandBetweenInt(0, 1000) < 500){ xpos = -20; ypos = Game.RandWorldY(); } else { ypos = (1000 + 20); xpos = Game.RandWorldX(); }; }; }; }; }; movementVec.Set((Math.PI * _local1), speed); } public function InitEnemy_Path(){ pathSpeed = 5; pathPos = 0; } public function UpdateEnemy_RotateToPlayer(){ movementVec.speed = speed; toPosX = Game.goPlayer.xpos; toPosY = Game.goPlayer.ypos; RotateToRequiredRot(rotVel); dir = movementVec.rot; xpos = (xpos + movementVec.GetXComponent()); ypos = (ypos + movementVec.GetYComponent()); UpdateExternalVel(); UpdateBob(); } function UpdatePlayer_DeadHead():void{ var _local1:GameObj; var _local2:GameObj; var _local3:Number; var _local4:Number; _local1 = Game.goPlayer; starty = (_local1.ypos - 150); startx = _local1.xpos; yvel = (yvel + Game.gravity); ypos = (ypos + yvel); xpos = (xpos + xvel); if (ypos >= starty){ yvel = (yvel - Utils.RandBetweenFloat(3, 5)); xvel = (xvel + Utils.RandBetweenFloat(-1, 1)); }; yvel = Utils.LimitNumber(-20, 20, yvel); if (xpos > startx){ xvel = (xvel - 1); } else { xvel = (xvel + 1); }; xvel = Utils.LimitNumber(-10, 10, xvel); CycleAnimation(); dir = (dir + ((xvel * 0.1) * Utils.RandBetweenFloat(0, 2))); _local2 = GameObjects.AddObj(xpos, ypos, zpos); _local2.InitMiniBloodParticle(1); _local2.depth = depth; _local3 = Utils.RandBetweenFloat(10, 13); _local4 = (dir + (Math.PI * 0.5)); _local4 = (_local4 + Utils.RandBetweenFloat(-0.01, 0.01)); _local2.xvel = (Math.cos(_local4) * _local3); _local2.yvel = (Math.sin(_local4) * _local3); } function DropCarriedObject():void{ carriedObject.yvel = 0; carriedObject.isBeingCarried = false; carriedObject.controlMode = 0; carriedObject = null; } static function InitBullet(_arg1:GameObj, _arg2:GameObj, _arg3:PlayerWeapon):void{ } } }//package
Section 51
//GameObjects (GameObjects) package { import flash.events.*; class GameObjects { public static var numobjs; static var m:Main; public static var dummyObj:GameObj; public static var objs1:Array; public static var objs2:Array; public static var objs:Array; public function GameObjGroup(){ } public static function Update():void{ var _local1:Boolean; var _local2:int; var _local3:GameObj; _local1 = !((Game.bulletTime == 0)); _local2 = 0; while (_local2 < objs.length) { _local3 = objs[_local2]; if (_local3.active){ _local3.Update(); if (!_local1){ if (((_local3.active) && (_local3.usesBulletTime))){ _local3.Update(); }; }; }; _local2++; }; } public static function Render():void{ var _local1:GameObj; var _local2:Array; _local2 = new Array(); for each (_local1 in objs) { if (_local1.active){ _local2.push(_local1); }; }; _local2.sortOn("zpos2", (Array.NUMERIC | Array.DESCENDING)); for each (_local1 in _local2) { _local1.Render(); }; for each (_local1 in _local2) { _local1.RenderInfo(); }; } public static function ForEachActive(_arg1:Function):void{ var _local2:GameObj; var _local3:Array; _local3 = new Array(); for each (_local2 in objs) { if (_local2.active){ _arg1(_local2); }; }; } public static function InitOnce(_arg1:Main, _arg2:int){ var _local3:*; numobjs = _arg2; m = _arg1; objs = new Array(); _local3 = 0; while (_local3 < numobjs) { objs.push(new GameObj(m, 0, 0, _local3)); _local3++; }; dummyObj = new GameObj(m, 0, 0, 0); } public static function ClearAll(){ var _local1:int; _local1 = 0; while (_local1 < numobjs) { objs[_local1].active = false; _local1++; }; } public static function AddObj(_arg1:Number, _arg2:Number, _arg3:Number):GameObj{ var _local4:int; var _local5:GameObj; _local4 = 0; while (_local4 < numobjs) { if (objs[_local4].active == false){ _local5 = objs[_local4]; _local5.active = true; _local5.zpos = _arg3; _local5.xpos = _arg1; _local5.ypos = _arg2; _local5.startx = _arg1; _local5.starty = _arg2; _local5.startz = _arg3; _local5.Init(0); return (objs[_local4]); }; _local4++; }; trace("ERROR! NO FREE OBJECTS"); return (dummyObj); } public static function CountActiveObjects():int{ var _local1:int; var _local2:int; _local1 = 0; _local2 = 0; while (_local2 < objs.length) { if (objs[_local2].active == true){ _local1++; }; _local2++; }; return (_local1); } } }//package
Section 52
//GameOverScreen (GameOverScreen) package { import flash.display.*; import flash.text.*; public dynamic class GameOverScreen extends MovieClip { public var textHighScore:TextField; public var buttonQuit:SimpleButton; public var textFinalScore:TextField; public var buttonContinue:SimpleButton; } }//package
Section 53
//goblinscreech (goblinscreech) package { import flash.media.*; public dynamic class goblinscreech extends Sound { } }//package
Section 54
//GraphicObjects (GraphicObjects) package { import flash.geom.*; import flash.display.*; import flash.text.*; import flash.utils.*; public class GraphicObjects { public static const gfx_carryweapon_axe = 151; public static const gfx_enemy6_deadbits = 75; public static const gfx_enemy1 = 60; public static const gfx_enemy2 = 61; public static const gfx_enemy3 = 62; public static const gfx_enemy4 = 63; public static const gfx_enemy5 = 64; public static const gfx_enemy7_deadbits = 76; public static const gfx_enemy7 = 66; public static const gfx_carryweapon_flail = 152; public static const gfx_player_arrow = 133; public static const gfx_pickup_health = 130; public static const gfx_fireballexplosion = 135; public static const gfx_enemy6 = 65; public static const gfx_interface_berzerkerbar = 141; public static const gfx_player_deadbits = 11; public static const gfx_magicsparkle2 = 40; public static const gfx_fireball = 134; public static const gfx_bloodparticle = 30; public static const gfx_carryweapon_sling = 153; public static const gfx_player = 10; public static const gfx_enemy4_magicbullet = 122; public static const gfx_kill = 42; public static const gfx_carryweapon_sword = 150; public static const gfx_gutsparticle = 31; public static const gfx_enemy1_deadbits = 70; public static const gfx_font1 = 190; public static const gfx_pickup_gold = 131; public static const gfx_font3 = 192; public static const gfx_enemy3_arrow = 121; public static const gfx_interface_hudweapon = 142; public static const gfx_font2 = 191; public static const gfx_enemy2_deadbits = 71; public static const gfx_batpoo = 32; public static const gfx_pickup_berzerker = 132; public static const gfx_slingstone = 120; public static const gfx_berzerkscreen = 41; public static const gfx_enemy3_deadbits = 72; public static const gfx_carryweapon_longbow = 154; public static const gfx_onscreenblood1 = 36; public static const gfx_onscreenblood2 = 37; public static const gfx_fontblack = 193; public static const gfx_onscreenblood4 = 39; public static const gfx_magicsparkle = 33; public static const gfx_backgroundscroll1 = 100; public static const gfx_backgroundscroll2 = 101; public static const gfx_backgroundscroll3 = 102; public static const gfx_backgroundscroll4 = 103; public static const gfx_backgroundscroll5 = 104; public static const gfx_backgroundscroll6 = 105; public static const gfx_backgroundscroll7 = 106; public static const gfx_enemy4_deadbits = 73; public static const gfx_carryweapon_crossbow = 155; public static const gfx_onscreenblood3 = 38; public static const gfx_timerunderlay = 43; public static const gfx_interface_healthbar = 140; public static const gfx_enemy5_deadbits = 74; public static const gfx_blood1 = 34; public static const gfx_blood2 = 35; static var count:int; public static var stringCharBitmap:Bitmap; public static var stringCharX:Number; static var graphicobjs:Array; static var idList:Array; public static var stringCharY:Number; static var totalFramesToDo:int = 1000; static var totalFramesDone:int = 0; static var main:Main; static var everythingDone:Boolean = false; static var nameList:Array; public static function GetHeight(_arg1:int, _arg2:int):int{ var _local3:int; _local3 = idList[_arg1]; return (graphicobjs[_local3].frames[_arg2].bitmaps[0].height); } public static function GetBitmap(_arg1:int, _arg2:int):Bitmap{ var _local3:int; _local3 = idList[_arg1]; return (graphicobjs[_local3].frames[_arg2].bitmaps[0]); } public static function RenderAtSplit(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number){ var _local6:int; _local6 = idList[_arg1]; graphicobjs[_local6].frames[_arg2].RenderAtSplit(_arg3, _arg4, _arg5); } public static function RenderStringAt(_arg1:BitmapData, _arg2:int, _arg3:Number, _arg4:Number, _arg5:String, _arg6:int=0){ var _local7:int; var _local8:int; stringCharX = _arg3; stringCharY = _arg4; _local7 = 0; while (_local7 < _arg5.length) { _local8 = int(_arg5.charCodeAt(_local7)); if (_local8 < 0){ _local8 = 0; }; if (_local8 > 127){ _local8 = 127; }; RenderAt(_arg2, _local8, _arg1, stringCharX, stringCharY); stringCharBitmap = GetBitmap(_arg2, _local8); stringCharX = (stringCharX + stringCharBitmap.width); stringCharX = (stringCharX + _arg6); _local7++; }; } public static function GetPixelAt(_arg1:int, _arg2:int, _arg3:int, _arg4:int):uint{ var _local5:int; var _local6:Bitmap; var _local7:uint; _local5 = idList[_arg1]; _local6 = graphicobjs[_local5].frames[_arg2].bitmaps[0]; _local7 = _local6.bitmapData.getPixel32(_arg3, _arg4); return (_local7); } public static function GetYoffset(_arg1:int, _arg2:int):int{ var _local3:int; _local3 = idList[_arg1]; return (graphicobjs[_local3].frames[_arg2].yoffsets[0]); } public static function GetNumFrames(_arg1:int):int{ var _local2:int; _local2 = idList[_arg1]; return (graphicobjs[_local2].frames.length); } public static function GetWidth(_arg1:int, _arg2:int):int{ var _local3:int; _local3 = idList[_arg1]; return (graphicobjs[_local3].frames[_arg2].bitmaps[0].width); } public static function RenderAtAlpha(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number){ var _local7:int; _local7 = idList[_arg1]; graphicobjs[_local7].frames[_arg2].RenderAtAlpha(_arg3, _arg4, _arg5, _arg6); } public static function RenderNumberAt(_arg1:BitmapData, _arg2:int, _arg3:Number, _arg4:Number, _arg5:int){ var _local6:Array; var _local7:int; var _local8:int; var _local9:Boolean; var _local10:int; var _local11:int; var _local12:Bitmap; _local6 = new Array(); _local7 = _arg5; _local8 = 0; while (_local8 < 11) { _local10 = (_local7 % 10); _local6.push(_local10); _local7 = (_local7 / 10); _local8++; }; _local9 = false; _local8 = (_local6.length - 1); while (_local8--) { _local11 = _local6[_local8]; if ((((_local9 == false)) && (!((_local11 == 0))))){ _local9 = true; }; if (_local9){ RenderAt(_arg2, (_local11 + 48), _arg1, _arg3, _arg4); _local12 = GetBitmap(_arg2, (_local11 + 48)); _arg3 = (_arg3 + _local12.width); }; (_local8 >= 0); }; return (_arg3); } public static function RenderAtScaled(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Boolean=false, _arg7:Number=1){ var _local8:int; _local8 = idList[_arg1]; graphicobjs[_local8].frames[_arg2].RenderAtScaled(_arg3, _arg4, _arg5, _arg6, _arg7); } public static function GetIdFromName(_arg1:String):int{ var _local2:int; var _local3:String; _local2 = 0; while (_local2 < nameList.length) { _local3 = nameList[_local2]; if (_local3 == _arg1){ return (_local2); }; _local2++; }; return (-1); } public static function RenderAtAdditive(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number){ var _local7:int; _local7 = idList[_arg1]; graphicobjs[_local7].frames[_arg2].RenderAtAdditive(_arg3, _arg4, _arg5, _arg6); } public static function AddFont(_arg1:int, _arg2:TextFormat):void{ var _local3:DisplayObj; _local3 = new DisplayObj(null, 0, false); _local3.CreateFont(_arg2); idList[_arg1] = count; graphicobjs.push(_local3); count++; } public static function UpdateOncePerFrame():Boolean{ var _local1:DisplayObj; var _local2:int; var _local3:int; if (everythingDone){ return (true); }; for each (_local1 in graphicobjs) { if (_local1.ready == false){ if (_local1.mc != null){ _local2 = 0; while (_local2 < 20) { _local3 = _local1.CreateBitmapsFromMovieClip1(_local1.mc, _local1.flags); totalFramesDone = (totalFramesDone + _local3); if (_local3 == 0){ _local1.mc = null; _local1.ready = true; _local2 = 99999; }; _local2++; }; TitleScreenState.SetFrameUpdateText(totalFramesDone, totalFramesToDo); return (false); }; }; }; everythingDone = true; return (true); } public static function RenderAtRot(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean){ var _local8:int; _local8 = idList[_arg1]; if (_arg7){ graphicobjs[_local8].frames[_arg2].RenderAtRotBurned(_arg3, _arg4, _arg5, _arg6); } else { graphicobjs[_local8].frames[_arg2].RenderAtRot(_arg3, _arg4, _arg5, _arg6); }; } public static function RenderAtRotScaled(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0){ var _local9:int; _local9 = idList[_arg1]; graphicobjs[_local9].frames[_arg2].RenderAtRotScaled(_arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public static function RenderAt(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Boolean=false){ var _local7:int; _local7 = idList[_arg1]; graphicobjs[_local7].frames[_arg2].RenderAt(_arg3, _arg4, _arg5, _arg6); } public static function RenderAtRotScaledColTrans(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0, _arg9:ColorTransform=null){ var _local10:int; _local10 = idList[_arg1]; graphicobjs[_local10].frames[_arg2].RenderAtRotScaledColTrans(_arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); } public static function Add(_arg1:int, _arg2:DisplayObj, _arg3:String=""):void{ idList[_arg1] = count; nameList[_arg1] = _arg3; graphicobjs.push(_arg2); count++; } public static function RenderAtFunction(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:String){ var _local8:int; _local8 = idList[_arg1]; graphicobjs[_local8].frames[_arg2].RenderAtFunction(_arg3, _arg4, _arg5, _arg6, _arg7); } public static function CaclulateTotalFrames(){ var _local1:int; var _local2:DisplayObj; _local1 = 0; for each (_local2 in graphicobjs) { if (_local2.mc != null){ _local1 = (_local1 + _local2.mc.totalFrames); }; }; totalFramesToDo = _local1; } public static function CompleteBitmapCreation(){ var _local1:DisplayObj; if (everythingDone){ return (true); }; for each (_local1 in graphicobjs) { if (_local1.ready == false){ if (_local1.mc != null){ _local1.CreateBitmapsFromMovieClip(_local1.mc, _local1.flags); _local1.mc = null; _local1.ready = true; }; }; }; everythingDone = true; } public static function InitOnce(_arg1:Main):void{ main = _arg1; graphicobjs = new Array(); idList = new Array(200); nameList = new Array(200); count = 0; totalFramesDone = 0; AddFont(gfx_font1, main.tf_scorespr); AddFont(gfx_font2, main.tf_scorespr1); AddFont(gfx_fontblack, main.tf_scoresprblack); Add(gfx_backgroundscroll1, new DisplayObj(new level1_background(), 0, true)); Add(gfx_backgroundscroll2, new DisplayObj(new level2_background(), 0, true)); Add(gfx_backgroundscroll3, new DisplayObj(new level3_background(), 0, true)); Add(gfx_backgroundscroll4, new DisplayObj(new level4_background(), 0, true)); Add(gfx_backgroundscroll5, new DisplayObj(new level5_background(), 0, true)); Add(gfx_backgroundscroll6, new DisplayObj(new level6_background(), 0, true)); Add(gfx_backgroundscroll7, new DisplayObj(new level7_background(), 0, true)); Add(gfx_bloodparticle, new DisplayObj(new BloodParticle(), 0, false)); Add(gfx_gutsparticle, new DisplayObj(new GutsParticle(), 0, false)); Add(gfx_slingstone, new DisplayObj(new SlingStone(), 2, false), "SlingStone"); Add(gfx_enemy3_arrow, new DisplayObj(new Enemy3_arrow(), 2, false), "Enemy3_arrow"); Add(gfx_player_arrow, new DisplayObj(new arrow(), 2, false), "arrow"); Add(gfx_enemy4_magicbullet, new DisplayObj(new Enemy4_MagicBullet(), 2, false), "Enemy4_MagicBullet"); Add(gfx_fireball, new DisplayObj(new Enemy7_fireball(), 2, false), "Enemy7_fireball"); Add(gfx_fireballexplosion, new DisplayObj(new Enemy7_fireExplosion(), 2, false), "Enemy7_fireExplosion"); Add(gfx_pickup_health, new DisplayObj(new Pickup_Health(), 0, false), "Pickup_Health"); Add(gfx_pickup_gold, new DisplayObj(new Pickup_Gold(), 0, false), "Pickup_Gold"); Add(gfx_pickup_berzerker, new DisplayObj(new Pickup_Berzerker(), 0, false), "Pickup_Berzerker"); Add(gfx_interface_healthbar, new DisplayObj(new HealthBar(), 0, false)); Add(gfx_interface_berzerkerbar, new DisplayObj(new BerzerkerBar(), 0, false)); Add(gfx_interface_hudweapon, new DisplayObj(new HUD_weapon(), 0, false)); Add(gfx_carryweapon_sword, new DisplayObj(new weapon_sword(), 2, false)); Add(gfx_carryweapon_axe, new DisplayObj(new weapon_axe(), 2, false)); Add(gfx_carryweapon_flail, new DisplayObj(new weapon_flail(), 2, false)); Add(gfx_carryweapon_sling, new DisplayObj(new weapon_sling(), 2, false)); Add(gfx_carryweapon_longbow, new DisplayObj(new weapon_longbow(), 2, false)); Add(gfx_carryweapon_crossbow, new DisplayObj(new weapon_crossbow(), 2, false)); Add(gfx_player, new DisplayObj(new Player(), 2, false), "Player"); Add(gfx_enemy1, new DisplayObj(new Enemy1(), 2, true), "Enemy1"); Add(gfx_enemy2, new DisplayObj(new Enemy2(), 2, true), "Enemy2"); Add(gfx_enemy3, new DisplayObj(new Enemy3(), 2, true), "Enemy3"); Add(gfx_enemy4, new DisplayObj(new Enemy4(), 2, true), "Enemy4"); Add(gfx_enemy5, new DisplayObj(new Enemy5(), 2, true), "Enemy5"); Add(gfx_enemy6, new DisplayObj(new Enemy6(), 2, true), "Enemy6"); Add(gfx_enemy7, new DisplayObj(new Enemy7(), 2, false), "Enemy7"); Add(gfx_player_deadbits, new DisplayObj(new player_head_Dead(), 0, false)); Add(gfx_enemy1_deadbits, new DisplayObj(new Enemy1_deadBits(), 0, false), "Enemy1_deadBits"); Add(gfx_enemy2_deadbits, new DisplayObj(new Enemy2_deadBits(), 0, false), "Enemy2_deadBits"); Add(gfx_enemy3_deadbits, new DisplayObj(new Enemy3_deadBits(), 0, false), "Enemy3_deadBits"); Add(gfx_enemy4_deadbits, new DisplayObj(new Enemy4_deadBits(), 0, false), "Enemy4_deadBits"); Add(gfx_enemy5_deadbits, new DisplayObj(new Enemy5_deadBits(), 0, false), "Enemy5_deadBits"); Add(gfx_enemy6_deadbits, new DisplayObj(new Enemy6_deadBits(), 0, false), "Enemy6_deadBits"); Add(gfx_enemy7_deadbits, new DisplayObj(new Enemy7_deadBits(), 0, false), "Enemy7_deadBits"); Add(gfx_batpoo, new DisplayObj(new BatPoo(), 0, false), "BatPoo"); Add(gfx_magicsparkle, new DisplayObj(new magic_sparkle(), 0, false)); Add(gfx_magicsparkle2, new DisplayObj(new magic_sparkle2(), 0, false)); Add(gfx_berzerkscreen, new DisplayObj(new bezerk_screen(), 0, false)); Add(gfx_blood1, new DisplayObj(new blood1(), 2, false)); Add(gfx_blood2, new DisplayObj(new blood2(), 2, false)); Add(gfx_onscreenblood1, new DisplayObj(new onscreen_blood1(), 0, false)); Add(gfx_onscreenblood2, new DisplayObj(new onscreen_blood2(), 0, false)); Add(gfx_onscreenblood3, new DisplayObj(new onscreen_blood3(), 0, false)); Add(gfx_onscreenblood4, new DisplayObj(new onscreen_blood4(), 0, false)); Add(gfx_kill, new DisplayObj(new killmc(), 0, false)); Add(gfx_timerunderlay, new DisplayObj(new timerunderlay(), 0, false)); CaclulateTotalFrames(); } public static function RenderAtColTrans(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Boolean=false, _arg7:ColorTransform=null, _arg8:String=null){ var _local9:int; _local9 = idList[_arg1]; graphicobjs[_local9].frames[_arg2].RenderAtColTrans(_arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public static function GetXoffset(_arg1:int, _arg2:int):int{ var _local3:int; _local3 = idList[_arg1]; return (graphicobjs[_local3].frames[_arg2].xoffsets[0]); } } }//package
Section 55
//GutsParticle (GutsParticle) package { import flash.display.*; public dynamic class GutsParticle extends MovieClip { } }//package
Section 56
//GutsPiece (GutsPiece) package { public class GutsPiece { var zvel:Number; var yvel:Number; var xvel:Number; var dir:Number; var landed:Boolean; var zpos:Number; var ypos:Number; var xpos:Number; } }//package
Section 57
//HealthBar (HealthBar) package { import flash.display.*; public dynamic class HealthBar extends MovieClip { } }//package
Section 58
//HUD_weapon (HUD_weapon) package { import flash.display.*; public dynamic class HUD_weapon extends MovieClip { } }//package
Section 59
//hurtenemy (hurtenemy) package { import flash.media.*; public dynamic class hurtenemy extends Sound { } }//package
Section 60
//hurtknight (hurtknight) package { import flash.media.*; public dynamic class hurtknight extends Sound { } }//package
Section 61
//KeyReader (KeyReader) package { import flash.events.*; import flash.display.*; public class KeyReader { static const KEY_LEFT = 37; static const KEY_UP = 38; static const KEY_DOWN = 40; static const KEY_3 = 51; static const KEY_5 = 53; static const KEY_7 = 55; static const KEY_1 = 49; static const KEY_2 = 50; static const KEY_4 = 52; static const KEY_6 = 54; static const KEY_8 = 56; static const KEY_9 = 57; static const KEY_A = 65; static const KEY_B = 66; static const KEY_C = 67; static const KEY_E = 69; static const KEY_F = 70; static const KEY_G = 71; static const KEY_H = 72; static const KEY_I = 73; static const KEY_J = 74; static const KEY_D = 68; static const KEY_M = 77; static const KEY_N = 78; static const KEY_O = 79; static const KEY_P = 80; static const KEY_Q = 81; static const KEY_R = 82; static const KEY_L = 76; static const KEY_T = 84; static const KEY_U = 85; static const KEY_V = 86; static const KEY_W = 87; static const KEY_X = 88; static const KEY_Y = 89; static const KEY_K = 75; static const KEY_0 = 58; static const KEY_Z = 90; static const KEY_S = 83; static const KEY_SPACE = 32; static const KEY_RIGHT = 39; static var keysPressed:Array; static var keysDown:Array; public static function Pressed(_arg1:int):Boolean{ return (keysPressed[_arg1]); } public static function Reset(){ var _local1:int; _local1 = 0; while (_local1 < 0x0100) { keysDown[_local1] = int(0); keysPressed[_local1] = Boolean(false); _local1++; }; } static function keyUpListener(_arg1:KeyboardEvent):void{ var _local2:int; _local2 = _arg1.keyCode; keysDown[_local2] = 0; } public static function Down(_arg1:int):Boolean{ return (!((keysDown[_arg1] == 0))); } static function keyDownListener(_arg1:KeyboardEvent):void{ var _local2:int; _local2 = _arg1.keyCode; var _local3 = keysDown; var _local4 = _local2; var _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; } public static function UpdateOncePerFrame():void{ var _local1:int; _local1 = 0; while (_local1 < 0x0100) { if (keysDown[_local1] == 1){ keysPressed[_local1] = true; var _local2 = keysDown; var _local3 = _local1; var _local4 = (_local2[_local3] + 1); _local2[_local3] = _local4; } else { keysPressed[_local1] = false; }; _local1++; }; } public static function InitOnce(_arg1:Stage){ var _local2:int; _arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener); _arg1.addEventListener(KeyboardEvent.KEY_UP, keyUpListener); _arg1.focus = _arg1; keysDown = new Array(0x0100); keysPressed = new Array(0x0100); _local2 = 0; while (_local2 < 0x0100) { keysDown[_local2] = int(0); keysPressed[_local2] = Boolean(false); _local2++; }; } } }//package
Section 62
//killenemy1 (killenemy1) package { import flash.media.*; public dynamic class killenemy1 extends Sound { } }//package
Section 63
//killenemy2 (killenemy2) package { import flash.media.*; public dynamic class killenemy2 extends Sound { } }//package
Section 64
//killmc (killmc) package { import flash.display.*; public dynamic class killmc extends MovieClip { } }//package
Section 65
//Level (Level) package { public class Level { public var notes:String; public var backgroundID:int; public var enemyGens:Array; public var displayText:String; public function Level(_arg1:int, _arg2:String, _arg3:String){ enemyGens = new Array(); backgroundID = _arg1; notes = _arg2; displayText = _arg3; } public function GetEnemyList():Array{ var _local1:Array; var _local2:LevelEnemyGen; _local1 = new Array(); for each (_local2 in enemyGens) { _local1.push(_local2); }; return (_local1); } } }//package
Section 66
//level1_background (level1_background) package { import flash.display.*; public dynamic class level1_background extends MovieClip { } }//package
Section 67
//level2_background (level2_background) package { import flash.display.*; public dynamic class level2_background extends MovieClip { } }//package
Section 68
//level3_background (level3_background) package { import flash.display.*; public dynamic class level3_background extends MovieClip { } }//package
Section 69
//level4_background (level4_background) package { import flash.display.*; public dynamic class level4_background extends MovieClip { } }//package
Section 70
//level5_background (level5_background) package { import flash.display.*; public dynamic class level5_background extends MovieClip { } }//package
Section 71
//level6_background (level6_background) package { import flash.display.*; public dynamic class level6_background extends MovieClip { } }//package
Section 72
//level7_background (level7_background) package { import flash.display.*; public dynamic class level7_background extends MovieClip { } }//package
Section 73
//LevelDef_Level1 (LevelDef_Level1) package { public class LevelDef_Level1 { public static function Init(){ SetupScript.LineStart("", -7, 764, 0, "Collision", "", "", ""); SetupScript.LineAdd(77, 762, 0); SetupScript.LineAdd(120, 763, 0); SetupScript.LineAdd(191, 762, 0); SetupScript.LineAdd(252, 749, 0); SetupScript.LineAdd(299, 747, 0); SetupScript.LineAdd(342, 746, 0); SetupScript.LineAdd(387, 751, 0); SetupScript.LineAdd(441, 760, 0); SetupScript.LineAdd(473, 758, 0); SetupScript.LineAdd(508, 767, 0); SetupScript.LineAdd(555, 774, 0); SetupScript.LineAdd(586, 773, 0); SetupScript.LineAdd(621, 779, 0); SetupScript.LineAdd(656, 783, 0); SetupScript.LineAdd(695, 787, 0); SetupScript.LineAdd(748, 793, 0); SetupScript.LineAdd(825, 781, 0); SetupScript.LineAdd(923, 776, 0); SetupScript.LineAdd(948, 783, 0); SetupScript.LineAdd(968, 779, 0); SetupScript.LineAdd(992, 762, 0); SetupScript.LineAdd(1015, 755, 0); SetupScript.LineAdd(1065, 755, 0); SetupScript.LineAdd(1091, 765, 0); SetupScript.LineAdd(1127, 776, 0); SetupScript.LineAdd(1186, 790, 0); SetupScript.LineAdd(1209, 787, 0); SetupScript.LineAdd(1267, 800, 0); SetupScript.LineAdd(1296, 804, 0); SetupScript.LineAdd(1317, 821, 0); SetupScript.LineAdd(1345, 807, 0); SetupScript.LineAdd(1378, 801, 0); SetupScript.LineAdd(1433, 796, 0); SetupScript.LineAdd(1463, 805, 0); SetupScript.LineAdd(1492, 821, 0); SetupScript.LineAdd(1540, 821, 0); SetupScript.LineAdd(1585, 827, 0); SetupScript.LineAdd(1640, 820, 0); SetupScript.LineAdd(1677, 807, 0); SetupScript.LineAdd(1708, 803, 0); SetupScript.LineAdd(1761, 796, 0); SetupScript.LineAdd(1820, 773, 0); SetupScript.LineAdd(1831, 781, 0); SetupScript.LineAdd(1873, 795, 0); SetupScript.LineAdd(1938, 798, 0); SetupScript.LineAdd(1988, 794, 0); SetupScript.LineAdd(2044, 774, 0); SetupScript.LineAdd(2076, 763, 0); SetupScript.LineAdd(2135, 0x0303, 0); SetupScript.LineAdd(2171, 780, 0); SetupScript.LineAdd(2228, 781, 0); SetupScript.LineAdd(2295, 780, 0); SetupScript.LineAdd(2358, 788, 0); SetupScript.LineAdd(2397, 781, 0); SetupScript.LineAdd(2425, 782, 0); SetupScript.LineAdd(2488, 793, 0); SetupScript.LineAdd(2539, 794, 0); SetupScript.LineAdd(2595, 792, 0); SetupScript.LineAdd(2677, 793, 0); SetupScript.LineAdd(2737, 791, 0); SetupScript.LineAdd(2859, 788, 0); SetupScript.LineEnd(false); } } }//package
Section 74
//LevelDef1 (LevelDef1) package { public class LevelDef1 { static var main:Main; public static function Init(_arg1:Main){ var _local2:GameObj; main = _arg1; LevelDef_Level1.Init(); } } }//package
Section 75
//LevelEnemyGen (LevelEnemyGen) package { public class LevelEnemyGen { var delay:int; var max:int; var typeName:String; var speed:Number; var index:int; var aggression:Number; var health:Number; public function LevelEnemyGen(_arg1:String, _arg2:int, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ index = 0; typeName = _arg1; max = _arg2; delay = (_arg3 * Defs.fps); aggression = _arg4; speed = _arg5; health = _arg6; } } }//package
Section 76
//levelintro (levelintro) package { import flash.display.*; import flash.text.*; public dynamic class levelintro extends MovieClip { public var textLevelDescription:TextField; public var textLevelName:TextField; } }//package
Section 77
//Levels (Levels) package { public class Levels { static var list:Array; public static function InitOnce(){ var _local1:XML; var _local2:XML; var _local3:XML; var _local4:int; var _local5:int; var _local6:Level; var _local7:LevelEnemyGen; list = new Array(); _local1 = ExternalData.xml; _local4 = 0; while (_local4 < _local1.level.length()) { _local2 = _local1.level[_local4]; _local6 = new Level(int(_local2.@background), _local2.@notes, _local2.@displaytext); _local5 = 0; while (_local5 < _local2.enemy.length()) { _local3 = _local2.enemy[_local5]; _local7 = new LevelEnemyGen(_local3.@type, int(_local3.@max), Number(_local3.@delay), Number(_local3.@aggression), Number(_local3.@speed), Number(_local3.@health)); _local7.index = _local5; _local6.enemyGens.push(_local7); _local5++; }; list.push(_local6); _local4++; }; } public static function AddToLevelId(_arg1:int, _arg2:int):int{ _arg1 = (_arg1 + _arg2); if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 >= list.length){ _arg1 = (list.length - 5); }; return (_arg1); } } }//package
Section 78
//Line (Line) package { import flash.geom.*; public class Line { public var udx:Number; public var nx:Number; public var ny:Number; public var dir:Number; public var udy:Number; public var dy:Number; public var y0:Number; public var y1:Number; public var dx:Number; public var normalDir:Number; public var length:Number; public var boundingRect:Rectangle; public var x0:Number; public var x1:Number; public function Line(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ x0 = _arg1; y0 = _arg2; x1 = _arg3; y1 = _arg4; CalcNormal(); CalcBoundingRect(); } function CalcNormal():void{ dir = Math.atan2((y1 - y0), (x1 - x0)); normalDir = (dir - (Math.PI * 0.5)); nx = Math.cos(normalDir); ny = Math.sin(normalDir); dx = (x1 - x0); dy = (y1 - y0); length = Math.sqrt(((dx * dx) + (dy * dy))); udx = Math.cos(dir); udy = Math.sin(dir); } function CalcBoundingRect():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = x0; _local2 = x1; if (_local1 > _local2){ _local1 = x1; _local2 = x0; }; _local3 = y0; _local4 = y1; if (_local3 > _local4){ _local3 = y1; _local4 = y0; }; boundingRect = new Rectangle(_local1, _local3, ((_local2 - _local1) + 1), ((_local4 - _local3) + 1)); } } }//package
Section 79
//macehit (macehit) package { import flash.media.*; public dynamic class macehit extends Sound { } }//package
Section 80
//magic_sparkle (magic_sparkle) package { import flash.display.*; public dynamic class magic_sparkle extends MovieClip { } }//package
Section 81
//magic_sparkle2 (magic_sparkle2) package { import flash.display.*; public dynamic class magic_sparkle2 extends MovieClip { } }//package
Section 82
//Main (Main) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.utils.*; import flash.ui.*; public class Main extends MovieClip { public var tf_scorespr:TextFormat; public var tf_scorespr2:TextFormat; var cheatMode:Boolean; var levelTimer:Number; var ftime:Number; var framecounter:int;// = 0 var scrollY:Number;// = 0 public var tf_scorespr1:TextFormat; private var screenB:Bitmap; public var backgroundMC:MovieClip; private var backScreenB:Bitmap; var levelTimerMax:Number; public var mochiScores; public var screenBD:BitmapData; public var backScreenBD:BitmapData; var gameState:int;// = 0 var currentTime:Number;// = 0 var secondCounter:Number;// = 0 public var fps:Number; public var tf_scoresprblack:TextFormat; static const gameState_HIGHSCORES = 5; static const gameState_TITLE = 0; static const gameState_LEVEL_PLAY = 2; public static var theStage:Stage; static var theRoot:MovieClip; public function Main(){ currentTime = 0; gameState = gameState_TITLE; scrollY = 0; framecounter = 0; secondCounter = 0; super(); theRoot = this; theStage = this.root.stage; SetEverythingUpOnce(); } function calcFrameTime(){ var _local1:Number; _local1 = currentTime; currentTime = getTimer(); if (currentTime < _local1){ _local1 = (currentTime - 100); }; if (currentTime > (_local1 + (100 * 10))){ _local1 = (100 * 10); }; ftime = ((1 / (1000 / Defs.fps)) * (currentTime - _local1)); framecounter++; secondCounter = (secondCounter + (currentTime - _local1)); if (secondCounter > 1000){ fps = ((Number(framecounter) / secondCounter) * 1000); framecounter = 0; secondCounter = 0; }; ftime = 1; } function appDeactivateHandler(_arg1:Event):void{ KeyReader.Reset(); } private function CreateTextField(_arg1:TextFormat, _arg2:Number, _arg3:Number, _arg4:String):TextField{ var _local5:TextField; _local5 = new TextField(); _local5.selectable = false; _local5.embedFonts = true; _local5.autoSize = TextFieldAutoSize.CENTER; _local5.x = _arg2; _local5.y = _arg3; _local5.text = _arg4; _local5.setTextFormat(_arg1); addChild(_local5); return (_local5); } function AddMovieClip(_arg1:Number, _arg2:Number, _arg3:MovieClip):MovieClip{ _arg3.x = _arg1; _arg3.y = _arg2; addChild(_arg3); return (_arg3); } function InitLevel(){ InitStageForGame(); Particles.Reset(); MouseControl.Reset(); Particles.Reset(); GameObjects.ClearAll(); Game.InitLevel(); } function run(_arg1:Event):void{ KeyReader.UpdateOncePerFrame(); GraphicObjects.UpdateOncePerFrame(); SoundPlayer.UpdateOncePerFrame(); if (Domain.IsLockedOut()){ }; calcFrameTime(); switch (gameState){ case gameState_TITLE: TitleScreenState.Update(this); break; case gameState_HIGHSCORES: break; case gameState_LEVEL_PLAY: RunLevel(); break; }; } function InitStageNoBackground(){ var _local1:int; _local1 = (this.numChildren - 1); while (_local1 >= 0) { removeChildAt(_local1); _local1--; }; } function SetEverythingUpOnce1():void{ theRoot = this; theStage = this.root.stage; addEventListener(Event.ENTER_FRAME, run); MusicPlayer.InitOnce(); KeyReader.InitOnce(theStage); MouseControl.InitOnce(theStage); theStage.addEventListener(Event.DEACTIVATE, appDeactivateHandler); SoundPlayer.InitOnce(this); PauseMenu.InitOnce(this); Particles.InitOnce(this, 10); GameObjects.InitOnce(this, 1000); InitDrawScreen(); InitFonts(); GraphicObjects.InitOnce(this); InitStage(); Game.Init(this); SetGameState(gameState_TITLE); } function RunTitle(){ } function SetEverythingUpOnce():void{ ExternalData.InitOnce(SetEverythingUpOnce1); trace("aaaa"); } function InitFonts():void{ var _local1:Font; _local1 = new Font1(); tf_scorespr = new TextFormat(); tf_scorespr1 = new TextFormat(); tf_scorespr2 = new TextFormat(); tf_scoresprblack = new TextFormat(); tf_scorespr.font = _local1.fontName; tf_scorespr.size = 10; tf_scorespr.color = 4294967295; tf_scorespr1.font = _local1.fontName; tf_scorespr1.size = 35; tf_scorespr1.color = 4294967295; tf_scorespr2.font = _local1.fontName; tf_scorespr2.size = 10; tf_scorespr2.color = 4294967295; tf_scoresprblack.font = _local1.fontName; tf_scoresprblack.size = 10; tf_scoresprblack.color = 0; } function InitStage(){ var _local1:int; _local1 = (this.numChildren - 1); while (_local1 >= 0) { removeChildAt(_local1); _local1--; }; addChild(screenB); screenB.x = 0; screenB.y = 0; } function Render(){ var _local1:Number; var _local2:Number; this.x = 0; this.y = 0; _local1 = 4; _local2 = 4; Game.Render(); } function InitDrawScreen():void{ screenBD = new BitmapData(Defs.displayarea_w, Defs.displayarea_h, true, 0); screenB = new Bitmap(screenBD); backScreenBD = new BitmapData(Defs.displayarea_w, Defs.displayarea_h, false, 0); backScreenB = new Bitmap(backScreenBD); } function SetGameState(_arg1:int):void{ gameState = _arg1; Mouse.show(); switch (gameState){ case gameState_TITLE: TitleScreenState.Init(this); break; case gameState_HIGHSCORES: break; case gameState_LEVEL_PLAY: InitLevel(); break; }; } function InitStageForGame(){ var _local1:int; _local1 = (this.numChildren - 1); while (_local1 >= 0) { removeChildAt(_local1); _local1--; }; addChild(backScreenB); addChild(screenB); screenB.x = 0; screenB.y = 0; } function RunLevel(){ if (PauseMenu.IsPaused() == false){ Game.UpdateGameplay(); }; Render(); } } }//package
Section 83
//MouseControl (MouseControl) package { import flash.events.*; import flash.display.*; public class MouseControl { public static var mouseVelX:Number = 0; public static var mouseVelY:Number = 0; public static var mouseOldPosX:Number = 0; public static var mouseOldPosY:Number = 0; public static var mousePosX:Number = 0; public static var mousePosY:Number = 0; public static var buttonPressed:Boolean = false; public static var buttonReleased:Boolean = false; public static function MouseHandler(_arg1:MouseEvent):void{ mousePosX = _arg1.stageX; mousePosY = _arg1.stageY; mouseVelX = (mousePosX - mouseOldPosX); mouseVelY = (mousePosY - mouseOldPosY); mouseOldPosX = mousePosX; mouseOldPosY = mousePosY; } public static function InitOnce(_arg1:Stage):void{ _arg1.addEventListener(MouseEvent.MOUSE_MOVE, MouseHandler); _arg1.addEventListener(MouseEvent.MOUSE_DOWN, MouseClickHandler); _arg1.addEventListener(MouseEvent.MOUSE_UP, MouseUpHandler); _arg1.addEventListener(MouseEvent.MOUSE_WHEEL, MouseWheelHandler); } public static function MouseUpHandler(_arg1:MouseEvent):void{ buttonPressed = false; buttonReleased = true; } public static function MouseWheelHandler(_arg1:MouseEvent):void{ Game.HandleMouseWheel(_arg1.delta); } public static function Reset():void{ buttonPressed = false; buttonReleased = false; } public static function MouseClickHandler(_arg1:MouseEvent):void{ buttonPressed = true; buttonReleased = false; } } }//package
Section 84
//Music_InGame1 (Music_InGame1) package { import flash.media.*; public dynamic class Music_InGame1 extends Sound { } }//package
Section 85
//Music_InGame2 (Music_InGame2) package { import flash.media.*; public dynamic class Music_InGame2 extends Sound { } }//package
Section 86
//Music_InGame3 (Music_InGame3) package { import flash.media.*; public dynamic class Music_InGame3 extends Sound { } }//package
Section 87
//Music_Shop (Music_Shop) package { import flash.media.*; public dynamic class Music_Shop extends Sound { } }//package
Section 88
//MusicPlayer (MusicPlayer) package { import flash.media.*; public class MusicPlayer { static var musicChannel:SoundChannel = null; static var musicSound1:Sound; static var musicSoundTransform:SoundTransform; static var musicSound:Sound; static var musicSoundTransform1:SoundTransform; static var lastMusicID = -1; static var musicChannel1:SoundChannel = null; static var currentMusicID:int = -1; static var doMusic:Boolean = true; public static function PauseMusic(){ musicChannel.stop(); } public static function StartMusic(_arg1:int){ if (doMusic == false){ return; }; if (musicChannel != null){ musicChannel.stop(); }; if (musicChannel1 != null){ musicChannel1.stop(); }; if (_arg1 == 0){ musicSoundTransform = new SoundTransform(0.75, 0); musicSound = new Music_Shop(); musicChannel = musicSound.play(0, 999999, musicSoundTransform); }; if (_arg1 == 3){ musicSoundTransform = new SoundTransform(0.5, 0); musicSound = new Music_InGame1(); musicChannel = musicSound.play(0, 999999, musicSoundTransform); }; if (_arg1 == 1){ musicSoundTransform = new SoundTransform(1.6, 0); musicSound = new Music_InGame2(); musicChannel = musicSound.play(0, 999999, musicSoundTransform); }; if (_arg1 == 2){ musicSoundTransform = new SoundTransform(0.75, 0); musicSound = new Music_InGame3(); musicChannel = musicSound.play(0, 999999, musicSoundTransform); }; lastMusicID = _arg1; } public static function InitOnce():void{ doMusic = true; lastMusicID = -1; currentMusicID = -1; } public static function ResumeMusic(){ currentMusicID = (lastMusicID - 1); StartMusic(lastMusicID); } } }//package
Section 89
//ObjAction (ObjAction) package { public class ObjAction { var done:Boolean; var param0:Number; var time:int; var actionFunction:Function; public function ObjAction(_arg1:int, _arg2:Function, _arg3:Number){ time = _arg1; actionFunction = _arg2; done = false; param0 = _arg3; } } }//package
Section 90
//ObjectDeath (ObjectDeath) package { public class ObjectDeath { var graphicID:int; var numBloodMin:int; var pieces:Array; var numBloodMax:int; var numGutsMax:int; var numGutsMin:int; public function ObjectDeath(){ numBloodMin = 0; numBloodMax = 0; numGutsMin = 0; numGutsMax = 0; graphicID = 0; pieces = new Array(); } public function AddPiece(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int){ var _local5:ObjectDeathPiece; _local5 = new ObjectDeathPiece(); _local5.x = _arg1; _local5.y = _arg2; _local5.frame = _arg3; _local5.spurt = _arg4; pieces.push(_local5); } } }//package
Section 91
//ObjectDeathPiece (ObjectDeathPiece) package { public class ObjectDeathPiece { var spurt:int; var frame:int; var x:Number; var y:Number; } }//package
Section 92
//ObjectDef (ObjectDef) package { import flash.geom.*; public class ObjectDef { var NumParamG:Number; var healthBarOffset:Number; var dodgeMax:Number; var booty_num:int; var damage:Number; var score:int; var soundTypeName:String; var initVar0:String; var initVar1:String; var dodgeDist:Number; var initFuncName:String; var offsetX:Number; var offsetY:Number; var pathAnimType:int; var booty_type:int; var type:int; var animDefs:Array; var index:int; var particleExplodeID:int; var vulnerableColRects:Array; var NumParamA:Number; var NumParamB:Number; var NumParamC:Number; var NumParamD:Number; var NumParamF:Number; var maxHealth:Number; var NumParamH:Number; var dodgeFlag:Boolean; var NumParamE:Number; var collisionCircleOffsets:Array; var exportName:String; var colRects:Array; var collisionCircleRadii:Array; var objectDeath:ObjectDeath; var shieldColRects:Array; var dodgeMin:Number; var shotControllers:Array; public function ObjectDef(_arg1:int, _arg2:String, _arg3:int, _arg4:Rectangle){ index = _arg1; animDefs = new Array(); colRects = new Array(); shieldColRects = new Array(); vulnerableColRects = new Array(); collisionCircleOffsets = new Array(); collisionCircleRadii = new Array(); exportName = _arg2; type = _arg3; colRects.push(_arg4.clone()); maxHealth = 1; initFuncName = ""; shotControllers = new Array(); particleExplodeID = 0; NumParamA = 0; NumParamB = 0; NumParamC = 0; NumParamD = 0; NumParamE = 0; NumParamF = 0; NumParamG = 0; NumParamH = 0; booty_num = 0; booty_type = 0; score = 0; dodgeFlag = false; offsetX = 0; offsetY = 0; objectDeath = null; initVar0 = ""; initVar1 = ""; damage = 0; soundTypeName = ""; healthBarOffset = 0; } public function SetParticle(_arg1:int){ particleExplodeID = _arg1; } public function SetInitFunc(_arg1:String, _arg2:String, _arg3:String){ initFuncName = _arg1; initVar0 = _arg2; initVar1 = _arg3; } public function SetOffset(_arg1:Number, _arg2:Number){ offsetX = _arg1; offsetY = _arg2; } public function GetAnimFromName(_arg1:String):AnimDef{ var _local2:int; var _local3:int; _local2 = animDefs.length; _local3 = 0; while (_local3 < _local2) { if (animDefs[_local3].name == _arg1){ return (animDefs[_local3]); }; _local3++; }; trace(((("ERROR: Can't find anim name " + _arg1) + " on object ") + exportName)); return (null); } public function AddShotController(_arg1:String, _arg2:int, _arg3:int, _arg4:Number, _arg5:Number, _arg6:Number):ShotController{ var _local7:ShotController; _local7 = new ShotController(); _local7.Set(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); shotControllers.push(_local7); return (_local7); } public function SetInitParams(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number){ NumParamA = _arg1; NumParamB = _arg2; NumParamC = _arg3; NumParamD = _arg4; NumParamE = _arg5; NumParamF = _arg6; NumParamG = _arg7; NumParamH = _arg8; } public function AddVulnerableColRect(_arg1:Rectangle){ vulnerableColRects.push(_arg1.clone()); } public function SetPathAnimType(_arg1:int){ pathAnimType = _arg1; } public function SetDodge(_arg1:Number, _arg2:Number, _arg3:Number){ dodgeFlag = true; dodgeDist = _arg1; dodgeMin = _arg2; dodgeMax = _arg3; } public function GetAnimIDFromName(_arg1:String):int{ var _local2:int; var _local3:int; _local2 = animDefs.length; _local3 = 0; while (_local3 < _local2) { if (animDefs[_local3].name == _arg1){ return (animDefs[_local3].graphicID); }; _local3++; }; return (0); } public function SetBooty(_arg1:int, _arg2:int, _arg3:int){ booty_num = _arg1; booty_type = _arg2; score = _arg3; } public function AddColRect(_arg1:Rectangle){ colRects.push(_arg1.clone()); } public function DoesAnimIDExist(_arg1:String):Boolean{ var _local2:int; var _local3:int; _local2 = animDefs.length; _local3 = 0; while (_local3 < _local2) { if (animDefs[_local3].name == _arg1){ return (true); }; _local3++; }; return (false); } public function SetDamage(_arg1:Number){ damage = _arg1; } public function AddAnim(_arg1:AnimDef){ animDefs.push(_arg1); } public function SetHealthBarOffset(_arg1:Number){ healthBarOffset = _arg1; } public function AddShieldColRect(_arg1:Rectangle){ shieldColRects.push(_arg1.clone()); } public function SetHealth(_arg1:Number){ maxHealth = _arg1; } public function AddCollisionCircle(_arg1:Number, _arg2:Number, _arg3:Number){ collisionCircleOffsets.push(new Point(_arg1, _arg2)); collisionCircleRadii.push(_arg3); } } }//package
Section 93
//ObjectDefs (ObjectDefs) package { import flash.geom.*; public class ObjectDefs { static var list:Array; public static function Init(){ list = new Array(); AddFromXml(); } public static function AddFromXml(){ var _local1:XML; var _local2:XML; var _local3:ObjectDef; var _local4:Rectangle; var _local5:int; var _local6:int; var _local7:int; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:XML; var _local13:AnimDef; var _local14:XML; var _local15:XML; var _local16:XML; var _local17:ShotController; var _local18:XML; var _local19:ObjectDeath; var _local20:XML; _local1 = ExternalData.xml; _local5 = 0; while (_local5 < _local1.objdef.length()) { _local2 = _local1.objdef[_local5]; _local8 = Number(_local2.collisionrect.@x0); _local9 = Number(_local2.collisionrect.@y0); _local10 = (Number(_local2.collisionrect.@x1) - _local8); _local11 = Number((_local2.collisionrect.@y1 - _local9)); _local4 = new Rectangle(_local8, _local9, _local10, _local11); _local3 = new ObjectDef(_local5, _local2.@name, 0, _local4); if (_local2.shieldcollisionrect[0] == undefined){ } else { _local8 = Number(_local2.shieldcollisionrect.@x0); _local9 = Number(_local2.shieldcollisionrect.@y0); _local10 = (Number(_local2.shieldcollisionrect.@x1) - _local8); _local11 = Number((_local2.shieldcollisionrect.@y1 - _local9)); _local4 = new Rectangle(_local8, _local9, _local10, _local11); _local3.AddShieldColRect(_local4); }; if (_local2.vulnerablecollisionrect[0] == undefined){ } else { _local8 = Number(_local2.vulnerablecollisionrect.@x0); _local9 = Number(_local2.vulnerablecollisionrect.@y0); _local10 = (Number(_local2.vulnerablecollisionrect.@x1) - _local8); _local11 = Number((_local2.vulnerablecollisionrect.@y1 - _local9)); _local4 = new Rectangle(_local8, _local9, _local10, _local11); _local3.AddVulnerableColRect(_local4); }; if (_local2.soundtype[0] != undefined){ _local3.soundTypeName = _local2.soundtype.@name; }; if (_local2.healthbar[0] != undefined){ _local3.SetHealthBarOffset(Number(_local2.healthbar.@y)); }; _local3.SetInitFunc(_local2.control.@initfunc, _local2.control.@var0, _local2.control.var1); _local3.SetParticle(int(_local2.control.@particleid)); _local3.SetInitParams(Number(_local2.control.@a), Number(_local2.control.@b), Number(_local2.control.@c), Number(_local2.control.@d), Number(_local2.control.@e), Number(_local2.control.@f), Number(_local2.control.@g), Number(_local2.control.@h)); _local3.SetHealth(Number(_local2.data.@health)); _local3.SetDamage(Number(_local2.data.@damage)); _local6 = 0; while (_local6 < _local2.anim.length()) { _local12 = _local2.anim[_local6]; _local13 = new AnimDef(_local12.@id, GraphicObjects.GetIdFromName(_local12.@graphic), int(_local12.@f0), int(_local12.@f1), Number(_local12.@speed)); _local7 = 0; while (_local7 < _local12.event.length()) { _local14 = _local12.event[_local7]; _local13.AddEvent(new AnimEvent(int(_local14.@frame), _local14.@func)); _local7++; }; _local3.AddAnim(_local13); _local6++; }; if (_local2.dodge.length() != 0){ _local3.SetDodge(Number(_local2.dodge.@dist), Number(_local2.dodge.@min), Number(_local2.dodge.@max)); }; if (_local2.offset.length() != 0){ _local3.SetOffset(Number(_local2.offset.@x), Number(_local2.offset.@y)); }; _local6 = 0; while (_local6 < _local2.booty.length()) { _local15 = _local2.booty[_local6]; _local3.SetBooty(int(_local15.@num), int(_local15.@type), int(_local15.@score)); _local6++; }; _local6 = 0; while (_local6 < _local2.shotcontroller.length()) { _local16 = _local2.shotcontroller[_local6]; _local17 = _local3.AddShotController(_local16.@bullettype, (Number(_local16.@minfreq) * Defs.fps2), (Number(_local16.@maxfreq) * Defs.fps2), Number(_local16.@speed), 0, 0); _local7 = 0; while (_local7 < _local16.shot.length()) { _local18 = _local16.shot[_local7]; _local17.AddShot(_local18.@type, Number(_local18.@offset), Number(_local18.@delay)); _local7++; }; if (_local16.offset.length() != 0){ _local17.SetFireOffset(Number(_local16.offset.@x), Number(_local16.offset.@y)); }; _local6++; }; if (_local2.death.length() != 0){ _local19 = new ObjectDeath(); _local19.numBloodMin = int(_local2.death.@bloodmin); _local19.numBloodMax = int(_local2.death.@bloodmax); _local19.numGutsMin = int(_local2.death.@gutsmin); _local19.numGutsMax = int(_local2.death.@gutsmax); _local19.graphicID = GraphicObjects.GetIdFromName(_local2.death.@graphic); _local6 = 0; while (_local6 < _local2.death.piece.length()) { _local20 = _local2.death.piece[_local6]; _local19.AddPiece(Number(_local20.@x), Number(_local20.@y), int(_local20.@frame), int(_local20.@spurt)); _local6++; }; _local3.objectDeath = _local19; }; list.push(_local3); _local5++; }; } public static function GetObjectDefByExportName(_arg1:String){ var _local2:ObjectDef; var _local3:int; var _local4:int; _local4 = list.length; _local3 = 0; while (_local3 < _local4) { _local2 = list[_local3]; if (_local2.exportName == _arg1){ return (_local2); }; _local3++; }; trace(("ERROR: ObjectDefs can't find object exportname " + _arg1)); return (null); } } }//package
Section 94
//onscreen_blood1 (onscreen_blood1) package { import flash.display.*; public dynamic class onscreen_blood1 extends MovieClip { } }//package
Section 95
//onscreen_blood2 (onscreen_blood2) package { import flash.display.*; public dynamic class onscreen_blood2 extends MovieClip { } }//package
Section 96
//onscreen_blood3 (onscreen_blood3) package { import flash.display.*; public dynamic class onscreen_blood3 extends MovieClip { } }//package
Section 97
//onscreen_blood4 (onscreen_blood4) package { import flash.display.*; public dynamic class onscreen_blood4 extends MovieClip { } }//package
Section 98
//Particle (Particle) package { import flash.display.*; class Particle { var graphicID:int; public var yvel:Number; var active:Boolean; var maxframe:int; var dir:Number; var zpos:Number; var controlMode:int; public var xvel:Number; var ypos:Number; var updateFunction:Function; var timer:Number; var speed:Number; var scale:Number; var startx:Number; var starty:Number; var zpos2:Number; var xpos:Number; var alpha:Number; public var zvel:Number; var yacc:Number; var alphaAdd:Number; var frame:Number; var frameVel:Number; var visible:Boolean; var color:uint; var counter:int; function RenderAt(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number){ var _local5:Number; _local5 = 1; _local5 = (_local5 + (zpos * 0.005)); if (((!((dir == 0))) || (!((_local5 == 1))))){ GraphicObjects.RenderAtRotScaled(graphicID, frame, _arg1, _arg2, (_arg3 + _arg4), false, _local5, dir); } else { GraphicObjects.RenderAt(graphicID, frame, _arg1, _arg2, (_arg3 + _arg4), false); }; } function PlayAnimation():Boolean{ frame = (frame + frameVel); if (frame >= maxframe){ frame = maxframe; return (true); }; return (false); } function UpdateVelsTimer(){ xpos = (xpos + xvel); ypos = (ypos + yvel); timer--; if (timer <= 0){ active = false; }; } function Render():void{ var _local1:Number; var _local2:Number; var _local3:BitmapData; var _local4:Number; var _local5:Number; var _local6:Number; _local1 = Game.scrollX; _local2 = Game.scrollY; _local3 = Game.main.screenBD; _local4 = (xpos - _local1); _local5 = (ypos - _local2); _local6 = zpos; trace(((((_local4 + " ") + _local5) + " ") + _local6)); } function RenderToBackground():void{ RenderAt(Game.backgroundBD, xpos, ypos, zpos); } function CycleAnimation():Boolean{ frame = (frame + frameVel); if (frame >= maxframe){ frame = 0; return (true); }; return (false); } function UpdateAnimAndStop(){ xpos = (xpos + xvel); ypos = (ypos + yvel); if (PlayAnimation()){ active = false; }; } } }//package
Section 99
//Particles (Particles) package { import flash.geom.*; import flash.display.*; public class Particles { public static const type_dust = 0; static var max:int; static var list:Array; static var main:Main; static var nextIndex:int; public function Particles():void{ } public static function Add(_arg1:Number, _arg2:Number):Particle{ var _local3:Number; var _local4:Number; var _local5:Particle; _local5 = list[nextIndex]; nextIndex++; if (nextIndex >= max){ nextIndex = 0; }; _local5.active = true; _local5.timer = 0; _local5.alpha = 1; _local5.alphaAdd = 0; _local5.visible = true; _local5.xpos = _arg1; _local5.ypos = _arg2; _local5.scale = 1; _local5.dir = 0; _local5.zpos = 0; return (_local5); } public static function GetNextIndex():int{ return (nextIndex); } public static function Reset(){ var _local1:int; nextIndex = 0; _local1 = 0; while (_local1 < max) { list[_local1].active = false; _local1++; }; } public static function Update(_arg1:Number){ var _local2:int; var _local3:Particle; _local2 = 0; while (_local2 < max) { _local3 = list[_local2]; if (_local3.active == true){ _local3.updateFunction(); }; _local2++; }; } public static function InitOnce(_arg1:Main, _arg2:int):void{ var _local3:int; main = _arg1; max = _arg2; nextIndex = 0; list = new Array(max); _local3 = 0; while (_local3 < max) { list[_local3] = new Particle(); list[_local3].active = false; _local3++; }; } public static function CountActive():int{ var _local1:int; var _local2:int; _local1 = 0; _local2 = 0; while (_local2 < max) { if (list[_local2].active){ _local1++; }; _local2++; }; return (_local1); } public static function Render(_arg1:Main){ var _local2:Number; var _local3:Number; var _local4:BitmapData; var _local5:Number; var _local6:int; var _local7:Particle; var _local8:Number; var _local9:Number; var _local10:Number; _local2 = Game.scrollX; _local3 = Game.scrollY; _local4 = _arg1.screenBD; _local6 = 0; while (_local6 < max) { _local7 = list[_local6]; if (((_local7.active) && (_local7.visible))){ _local8 = (_local7.xpos - _local2); _local9 = (_local7.ypos - _local3); _local10 = _local7.zpos; _local7.RenderAt(_local4, _local8, _local9, _local10); }; _local6++; }; } } }//package
Section 100
//PauseMenu (PauseMenu) package { import flash.events.*; import flash.geom.*; import flash.display.*; import flash.text.*; import flash.net.*; import flash.ui.*; public class PauseMenu { static var active:Boolean; static var pauseMC:MovieClip; static var main:Main; public function PauseMenu():void{ } public static function buttonQuitPressed(_arg1:MouseEvent){ Unpause(); Game.main.SetGameState(Main.gameState_TITLE); } public static function buttonSoundPressed(_arg1:MouseEvent){ var _local2:Boolean; _local2 = MusicPlayer.doMusic; if (_local2 == true){ MusicPlayer.PauseMusic(); MusicPlayer.doMusic = false; } else { MusicPlayer.doMusic = true; MusicPlayer.ResumeMusic(); }; _local2 = SoundPlayer.doSFX; SoundPlayer.doSFX = (_local2 == false); if (MusicPlayer.doMusic){ pauseMC.selectedSound.visible = true; } else { pauseMC.selectedSound.visible = false; }; } public static function buttonContinuePressed(_arg1:MouseEvent){ Unpause(); } public static function buttonHelpPressed(_arg1:MouseEvent){ TitleScreenState.InitHelpText1(); } public static function InitOnce(_arg1:Main):void{ main = _arg1; active = false; } public static function Pause():void{ Game.pause = true; Mouse.show(); pauseMC = TitleScreenState.mc_PauseScreen; main.addChild(pauseMC); pauseMC.x = 320; pauseMC.y = 240; pauseMC.buttonSound.addEventListener(MouseEvent.CLICK, buttonSoundPressed, false, 0, true); pauseMC.buttonQuit.addEventListener(MouseEvent.CLICK, buttonQuitPressed, false, 0, true); pauseMC.buttonContinue.addEventListener(MouseEvent.CLICK, buttonContinuePressed, false, 0, true); pauseMC.buttonMoreGames.addEventListener(MouseEvent.CLICK, TitleScreenState.buttonArmorGamesPressed, false, 0, true); active = true; if (MusicPlayer.doMusic){ pauseMC.selectedSound.visible = true; } else { pauseMC.selectedSound.visible = false; }; } public static function Unpause():void{ active = false; Game.main.removeChild(pauseMC); pauseMC = null; KeyReader.InitOnce(Game.main.stage); Game.pause = false; } public static function IsPaused():Boolean{ return (active); } } }//package
Section 101
//PauseScreen (PauseScreen) package { import flash.display.*; public dynamic class PauseScreen extends MovieClip { public var selectedSound:MovieClip; public var buttonMoreGames:SimpleButton; public var buttonQuit:SimpleButton; public var buttonContinue:SimpleButton; public var buttonSound:SimpleButton; } }//package
Section 102
//Pickup_Berzerker (Pickup_Berzerker) package { import flash.display.*; public dynamic class Pickup_Berzerker extends MovieClip { } }//package
Section 103
//Pickup_Gold (Pickup_Gold) package { import flash.display.*; public dynamic class Pickup_Gold extends MovieClip { } }//package
Section 104
//Pickup_Health (Pickup_Health) package { import flash.display.*; public dynamic class Pickup_Health extends MovieClip { } }//package
Section 105
//pickupmoney (pickupmoney) package { import flash.media.*; public dynamic class pickupmoney extends Sound { } }//package
Section 106
//Player (Player) package { import flash.display.*; public dynamic class Player extends MovieClip { public var swordend:MovieClip; public var head:MovieClip; } }//package
Section 107
//player_head_Dead (player_head_Dead) package { import flash.display.*; public dynamic class player_head_Dead extends MovieClip { } }//package
Section 108
//playerhit0 (playerhit0) package { import flash.media.*; public dynamic class playerhit0 extends Sound { } }//package
Section 109
//playerhit1 (playerhit1) package { import flash.media.*; public dynamic class playerhit1 extends Sound { } }//package
Section 110
//playerhit2 (playerhit2) package { import flash.media.*; public dynamic class playerhit2 extends Sound { } }//package
Section 111
//playerhit3 (playerhit3) package { import flash.media.*; public dynamic class playerhit3 extends Sound { } }//package
Section 112
//PlayerWeapon (PlayerWeapon) package { public class PlayerWeapon { var name:String; var cost:int; var objName2:String; var objName3:String; var currentLevel:int; var objName:String; var owned:Boolean; var soundID:int; var levels:Array; public function PlayerWeapon(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:int){ name = _arg1; objName = _arg2; objName2 = _arg3; objName3 = _arg4; cost = _arg5; levels = new Array(); owned = false; currentLevel = 0; soundID = 0; } public function GetDamage():Number{ var _local1:PlayerWeaponLevel; if (owned == false){ return (0); }; _local1 = levels[currentLevel]; return (_local1.damage); } public function CanUpgrade():Boolean{ var _local1:PlayerWeaponLevel; if (owned == false){ return (false); }; if (currentLevel == 2){ return (false); }; _local1 = levels[(currentLevel + 1)]; if (Game.cash < _local1.cost){ return (false); }; return (true); } public function Buy():void{ Game.cash = (Game.cash - cost); owned = true; currentLevel = 0; } public function CanBuy():Boolean{ if (owned == true){ return (false); }; if (Game.cash < cost){ return (false); }; return (true); } public function GetUpgradeCost():int{ var _local1:PlayerWeaponLevel; if (owned == false){ return (0); }; if (currentLevel == 2){ return (0); }; _local1 = levels[(currentLevel + 1)]; return (_local1.cost); } public function Upgrade():void{ var _local1:PlayerWeaponLevel; if (currentLevel > 1){ return; }; _local1 = levels[(currentLevel + 1)]; Game.cash = (Game.cash - _local1.cost); currentLevel++; } } }//package
Section 113
//PlayerWeaponGroup (PlayerWeaponGroup) package { public class PlayerWeaponGroup { var timer:int; var reloadTime:int; var name:String; var fireSoundID:int; var weapons:Array; var id:int; var firerate:int; var speed:Number; var mode:int; var shotTime:int; var frame:int; var damage:Number; var shotDim:int; var shots:Number; var maxShots:int; var shotDimRate:Number; public function PlayerWeaponGroup(){ id = 0; mode = 0; timer = 0; weapons = new Array(); shots = 0; maxShots = 0; reloadTime = 0; shotDim = 0; fireSoundID = 0; frame = 0; name = ""; damage = 0; firerate = 0; speed = 0; shotTime = 0; } } }//package
Section 114
//PlayerWeaponLevel (PlayerWeaponLevel) package { public class PlayerWeaponLevel { var cost:int; var speed:Number; var damage:Number; var id:int; } }//package
Section 115
//PlayerWeapons (PlayerWeapons) package { public class PlayerWeapons { public static var weaponList:Array; public static function InitOnce(){ var _local1:XML; var _local2:XML; var _local3:int; var _local4:int; var _local5:PlayerWeapon; var _local6:XML; var _local7:PlayerWeaponLevel; weaponList = new Array(); _local1 = ExternalData.xml; _local3 = 0; while (_local3 < _local1.playerweapon.length()) { _local2 = _local1.playerweapon[_local3]; _local5 = new PlayerWeapon(_local2.@name, _local2.@objname1, _local2.@objname2, _local2.@objname3, int(_local2.@cost)); _local5.soundID = SoundPlayer.GetId(_local2.sound[0].@name); _local4 = 0; while (_local4 < _local2.level.length()) { _local6 = _local2.level[_local4]; _local7 = new PlayerWeaponLevel(); _local7.id = int(_local6.@id); _local7.damage = Number(_local6.@damage); _local7.speed = Number(_local6.@speed); _local7.cost = int(_local6.@cost); _local5.levels.push(_local7); _local4++; }; weaponList.push(_local5); _local3++; }; weaponList[3].owned = true; } public static function NextWeapon(_arg1:int, _arg2:int):int{ var _local3:int; var _local4:PlayerWeapon; _local3 = 0; while (_local3 < weaponList.length) { _arg2 = (_arg2 + _arg1); if (_arg2 >= weaponList.length){ _arg2 = 0; }; if (_arg2 < 0){ _arg2 = (weaponList.length - 1); }; _local4 = weaponList[_arg2]; if (_local4.owned){ return (_arg2); }; _local3++; }; return (_arg2); } public static function SetWeaponNumber(_arg1:int, _arg2:int):int{ var _local3:PlayerWeapon; _local3 = weaponList[_arg1]; if (_local3.owned){ return (_arg1); }; return (_arg2); } } }//package
Section 116
//Point3 (Point3) package { public class Point3 { public var x:Number; public var y:Number; public var z:Number; public function Point3(_arg1:Number, _arg2:Number, _arg3:Number){ x = _arg1; y = _arg2; z = _arg3; } public function Normalize(){ var _local1:Number; _local1 = Math.sqrt((((x * x) + (y * y)) + (z * z))); x = (x / _local1); y = (y / _local1); z = (z / _local1); } public function Magnitude():Number{ var _local1:Number; _local1 = Math.sqrt((((x * x) + (y * y)) + (z * z))); return (_local1); } } }//package
Section 117
//Poly (Poly) package { import flash.geom.*; import flash.display.*; public class Poly { var param0:String; var param1:String; var subTypeName:String; var active:Boolean; var name:String; var pointList:Array; var typeName:String; var boundingRectangle:Rectangle; var iparam0:int; var lineList:Array; var closed:Boolean; var hitCallback:Object; var type:int; var catmullRomLength:Number; public static const polytype_WALL = 1; public static const polytype_CEILING = 6; public static const polytype_ZONE = 3; public static const polytype_PATH = 0; public static const polytype_FLOOR = 5; public static const polytype_OVERLAY = 4; public static const polytype_TRIGGER = 2; public function Poly(_arg1:String, _arg2:int, _arg3:Number, _arg4:Number):void{ lineList = new Array(); active = true; type = _arg2; name = _arg1; boundingRectangle = null; hitCallback = null; closed = false; pointList = new Array(); pointList.push(new Point(_arg3, _arg4)); } function PointOnCurve(_arg1:Number, _arg2:Point, _arg3:Point, _arg4:Point, _arg5:Point):Point{ var _local6:Point; var _local7:Number; var _local8:Number; _local6 = new Point(); _local7 = (_arg1 * _arg1); _local8 = (_local7 * _arg1); _local6.x = (0.5 * ((((2 * _arg3.x) + ((-(_arg2.x) + _arg4.x) * _arg1)) + (((((2 * _arg2.x) - (5 * _arg3.x)) + (4 * _arg4.x)) - _arg5.x) * _local7)) + ((((-(_arg2.x) + (3 * _arg3.x)) - (3 * _arg4.x)) + _arg5.x) * _local8))); _local6.y = (0.5 * ((((2 * _arg3.y) + ((-(_arg2.y) + _arg4.y) * _arg1)) + (((((2 * _arg2.y) - (5 * _arg3.y)) + (4 * _arg4.y)) - _arg5.y) * _local7)) + ((((-(_arg2.y) + (3 * _arg3.y)) - (3 * _arg4.y)) + _arg5.y) * _local8))); return (_local6); } public function GetPoint(_arg1:int):Point{ return (new Point(pointList[_arg1].x, pointList[_arg1].y)); } public function GetPointNormal(_arg1:int):Point{ return (new Point(lineList[_arg1].nx, lineList[_arg1].ny)); } public function GetPointOnCatmullRom(_arg1:Number):Point{ var _local2:int; var _local3:int; var _local4:Point; var _local5:Point; var _local6:Point; var _local7:Point; var _local8:Number; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Point; _local2 = GetNumPoints(); if (_local2 < 4){ return (new Point(0, 0)); }; _local3 = (_local2 - 1); _local8 = (Number(_local3) * _arg1); _local9 = _local8; _local10 = (_local9 - 1); _local11 = _local9; _local12 = (_local9 + 1); _local13 = (_local9 + 2); if (_local10 < 0){ _local10 = 0; }; if (_local12 > (_local2 - 1)){ _local12 = (_local2 - 1); }; if (_local13 > (_local2 - 1)){ _local13 = (_local2 - 1); }; _local4 = pointList[_local10]; _local5 = pointList[_local11]; _local6 = pointList[_local12]; _local7 = pointList[_local13]; _local14 = (_local9 + 1); _local15 = ((1 / Number(_local3)) * _local9); _local16 = ((1 / Number(_local3)) * _local14); _local17 = ((1 / (_local16 - _local15)) * (_arg1 - _local15)); _local18 = PointOnCurve(_local17, _local4, _local5, _local6, _local7); return (_local18); } public function AddLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Line; var _local6:Rectangle; _local5 = new Line(_arg1, _arg2, _arg3, _arg4); lineList.push(_local5); pointList.push(new Point(_arg3, _arg4)); if (boundingRectangle == null){ boundingRectangle = _local5.boundingRect; } else { _local6 = boundingRectangle.clone(); boundingRectangle = _local6.union(_local5.boundingRect); }; } public function GetLine(_arg1:int):Line{ return (lineList[_arg1]); } public function CalculateCatmullRomLength(){ var _local1:Array; var _local2:int; var _local3:int; var _local4:Number; var _local5:Point; var _local6:Point; var _local7:Point; _local1 = new Array(); _local3 = GetNumPoints(); if (_local3 < 4){ catmullRomLength = 0; } else { _local4 = 0; while (_local4 < 1) { _local5 = GetPointOnCatmullRom(_local4); _local1.push(_local5); _local4 = (_local4 + 0.025); }; }; catmullRomLength = 0; _local2 = 0; while (_local2 < (_local1.length - 2)) { _local6 = _local1[_local2]; _local7 = _local1[(_local2 + 1)]; catmullRomLength = (catmullRomLength + Utils.DistBetweenPoints(_local6.x, _local6.y, _local7.x, _local7.y)); _local2++; }; _local1 = null; } public function Finish(_arg1:Boolean){ var _local2:Line; var _local3:Line; var _local4:Line; var _local5:Rectangle; if (_arg1){ _local2 = lineList[0]; _local3 = lineList[(lineList.length - 1)]; _local4 = new Line(_local3.x1, _local3.y1, _local2.x0, _local2.y0); lineList.push(_local4); _local5 = boundingRectangle.clone(); boundingRectangle = _local5.union(_local4.boundingRect); }; closed = _arg1; } public function GetCatmullRomLength():Number{ return (catmullRomLength); } public function GetNumLines():int{ return (lineList.length); } public function OffsetFromStartPoint(){ var _local1:*; var _local2:*; var _local3:int; var _local4:Line; _local1 = -(pointList[0].x); _local2 = -(pointList[0].y); _local3 = 0; while (_local3 < pointList.length) { pointList[_local3].x = (pointList[_local3].x + _local1); pointList[_local3].y = (pointList[_local3].y + _local2); _local3++; }; _local3 = 0; while (_local3 < lineList.length) { _local4 = lineList[_local3]; lineList[_local3].x0 = (_local4.x0 + _local1); _local4.x1 = (_local4.x1 + _local1); _local4.y0 = (_local4.y0 + _local2); _local4.y1 = (_local4.y1 + _local2); _local3++; }; } public function DrawCatmullRom(_arg1:BitmapData, _arg2:uint, _arg3:Number, _arg4:Number){ var _local5:int; var _local6:Number; var _local7:Point; _local5 = GetNumPoints(); if (_local5 < 4){ return; }; _local6 = 0; while (_local6 < 1) { _local7 = GetPointOnCatmullRom(_local6); _arg1.setPixel32((_local7.x + _arg3), (_local7.y + _arg4), _arg2); _local6 = (_local6 + 0.001); }; } public function GetNumPoints():int{ return (pointList.length); } public static function PolyFromPointList(_arg1:Array):Poly{ var _local2:Point; var _local3:Point; var _local4:Poly; var _local5:int; var _local6:int; _local2 = _arg1[0]; _local4 = new Poly("", 0, _local2.x, _local2.y); _local5 = _arg1.length; _local6 = 0; while (_local6 < (_local5 - 1)) { _local2 = _arg1[_local6]; _local3 = _arg1[(_local6 + 1)]; _local4.AddLine(_local2.x, _local2.y, _local3.x, _local3.y); _local6++; }; _local4.Finish(true); return (_local4); } public static function FindAllByType(_arg1:int, _arg2:Array):Array{ var _local3:Array; var _local4:Poly; _local3 = new Array(); for each (_local4 in _arg2) { if (_local4.type == _arg1){ _local3.push(_local4); }; }; return (_local3); } public static function FindByName(_arg1:String, _arg2:Array):Poly{ var _local3:Poly; for each (_local3 in _arg2) { if (_local3.name == _arg1){ return (_local3); }; }; return (null); } public static function FindIndexByName(_arg1:String, _arg2:Array):int{ var _local3:int; var _local4:Poly; _local3 = 0; for each (_local4 in _arg2) { if (_local4.name == _arg1){ return (_local3); }; _local3++; }; return (-1); } } }//package
Section 118
//PortalDef (PortalDef) package { public class PortalDef { var portalGroups:Array; var numPortals:int; var maxtime:int; var index:int; var type:int; var mintime:int; public function PortalDef(_arg1:int, _arg2:Number, _arg3:Number){ type = 0; portalGroups = new Array(); numPortals = _arg1; mintime = (_arg2 * Defs.fps2); maxtime = (_arg3 * Defs.fps2); } public function GetName():String{ return (portalGroups[index].enemyName); } public function AddGroup(_arg1:PortalGroup){ portalGroups.push(_arg1); } public function GetRandomTime():int{ return (Utils.RandBetweenInt(mintime, maxtime)); } public function GetFrequency():int{ return (portalGroups[index].frequency); } public function GetMax():int{ return (portalGroups[index].maxGen); } public function GetNextIndex(){ var _local1:Array; var _local2:int; var _local3:PortalGroup; _local1 = new Array(); _local2 = 0; for each (_local3 in portalGroups) { if (_local3.timer <= 0){ _local1.push(_local2); }; _local2++; }; if (_local1.length == 0){ index = 0; } else { Game.currentPortalGroup++; if (Game.currentPortalGroup >= _local1.length){ Game.currentPortalGroup = 0; }; index = _local1[Game.currentPortalGroup]; }; } public function Randomise(){ var _local1:Array; var _local2:int; var _local3:PortalGroup; var _local4:int; _local1 = new Array(); _local2 = 0; for each (_local3 in portalGroups) { if (_local3.timer <= 0){ _local1.push(_local2); }; _local2++; }; _local4 = Utils.RandBetweenInt(0, (_local1.length - 1)); index = _local1[_local4]; } public function GetMode():int{ return (portalGroups[index].mode); } public function GetMin():int{ return (portalGroups[index].minGen); } } }//package
Section 119
//PortalGroup (PortalGroup) package { public class PortalGroup { var maxGen:int; var mode:int; var enemyName:String; var timer:int; var frequency:int; var minGen:int; var initialDelay:int; public static const mode_atplayer = 0; public static const mode_random = 1; public function PortalGroup(){ timer = 0; } public function Update(){ if (timer > 0){ timer--; }; } public function Init(_arg1:String, _arg2:int, _arg3:int, _arg4:Number, _arg5:Number, _arg6:String){ enemyName = _arg1; minGen = _arg2; maxGen = _arg3; frequency = (_arg4 * Defs.fps); initialDelay = (_arg5 * Defs.fps); timer = initialDelay; mode = mode_atplayer; if (_arg6 == "atplayer"){ mode = mode_atplayer; }; if (_arg6 == "random"){ mode = mode_random; }; } } }//package
Section 120
//SaveData (SaveData) package { import flash.net.*; public class SaveData { static var id:String = "MedievalMercenary02"; public static function Clear():void{ var _local1:SharedObject; _local1 = SharedObject.getLocal(id); _local1.clear(); _local1.close(); _local1.flush(); trace("SaveData Data Cleared"); trace(("len: " + _local1.size)); } public static function Save():void{ var _local1:int; var _local2:SharedObject; var _local3:Object; var _local4:PlayerWeapon; _local2 = SharedObject.getLocal(id); if (_local2 == null){ trace("SO null"); return; }; if (_local2.size == 0){ trace("SO size 0"); }; _local2.clear(); _local2.data.currentScore = Game.currentScore; _local2.data.cash = Game.cash; _local2.data.currentLevel = Game.currentLevel; _local2.data.levelsCompleted = Game.levelsCompleted; _local3 = new Object(); _local3.owned = new Array(6); _local3.level = new Array(6); _local1 = 0; while (_local1 < 6) { _local4 = PlayerWeapons.weaponList[_local1]; _local3.owned[_local1] = _local4.owned; _local3.level[_local1] = _local4.currentLevel; _local1++; }; _local2.data.weapons = _local3; _local2.close(); trace("Saved Data OK"); } public static function Load():void{ var _local1:SharedObject; var _local2:int; _local1 = SharedObject.getLocal(id); if (_local1 == null){ trace((("Shared Object: " + id) + " is null")); return; }; if (_local1.size == 0){ trace((("Shared Object: " + id) + " size=0")); _local1.close(); return; }; Game.cash = _local1.data.cash; Game.currentLevel = _local1.data.currentLevel; Game.levelsCompleted = _local1.data.levelsCompleted; _local2 = 0; while (_local2 < 6) { PlayerWeapons.weaponList[_local2].owned = _local1.data.weapons.owned[_local2]; PlayerWeapons.weaponList[_local2].currentLevel = _local1.data.weapons.level[_local2]; _local2++; }; _local1.close(); trace("Loaded data OK"); } public static function DontLoad():void{ } public static function Exists():Boolean{ var _local1:SharedObject; _local1 = SharedObject.getLocal(id); if (_local1 == null){ trace((("Shared Object: " + id) + " null")); return (false); }; if (_local1.size == 0){ trace((("Shared Object: " + id) + " size 0")); _local1.close(); return (false); }; _local1.close(); return (true); } public static function DontSave():void{ } } }//package
Section 121
//SetupScript (SetupScript) package { import flash.geom.*; public class SetupScript { static const outputMessages:Boolean = false; static var main:Main; static var lastGOGeneratedX; static var lastGOGeneratedY; static var lineStartX:int; static var lineStartY:int; static var lineType:int; static var lineRectangle:Rectangle; static var currentPoly:Poly; static var lastGOGenerated; static var lineList:Array; public static function InitOnce(_arg1:Main){ main = _arg1; } static function AddPickup(_arg1:int, _arg2:int):void{ } static function AddEnemy(_arg1:String, _arg2:int, _arg3:int, _arg4:int):void{ } static function AddObject(_arg1:String, _arg2:int, _arg3:int, _arg4:String, _arg5:String, _arg6:String, _arg7:int=0, _arg8:int=0, _arg9:Number=0, _arg10:Number=0):void{ var _local11:GameObj; if (outputMessages){ trace((((((("SetupScript.AddObject(" + _arg2) + ", ") + _arg3) + ", ") + _arg4) + ");")); }; if (_arg5 == "obj"){ if (_arg4 == "StartPoint"){ Game.startPoints.push(new Point(_arg2, _arg3)); }; if (_arg4 == "Exit"){ }; }; lastGOGenerated = _local11; lastGOGeneratedX = _arg2; lastGOGeneratedY = _arg3; } static function LineEnd(_arg1:Boolean){ if (outputMessages){ trace((("SetupScript.LineEnd(" + _arg1) + ");")); }; currentPoly.Finish(_arg1); Game.polygonList.push(currentPoly); } static function LineStart(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:String="", _arg6:String="", _arg7:String="", _arg8:String=""){ if (outputMessages){ trace((((((("SetupScript.LineStart(" + _arg2) + ", ") + _arg3) + ", ") + _arg4) + ");")); }; lineStartX = _arg2; lineStartY = _arg3; lineType = _arg4; currentPoly = new Poly(_arg1, _arg4, _arg2, _arg3); currentPoly.typeName = _arg5; currentPoly.subTypeName = _arg6; currentPoly.iparam0 = int(_arg7); } static function LineAdd(_arg1:int, _arg2:int, _arg3:int){ if (outputMessages){ trace((((((("SetupScript.LineAdd(" + _arg1) + ", ") + _arg2) + ", ") + _arg3) + ");")); }; currentPoly.AddLine(lineStartX, lineStartY, _arg1, _arg2); lineStartX = _arg1; lineStartY = _arg2; } static function AddExit(_arg1:int, _arg2:int):void{ } } }//package
Section 122
//Shop (Shop) package { import flash.events.*; import flash.display.*; public class Shop { static var endOfLevel:Boolean; static var mc:MovieClip; public static function buttonWeaponBuyPressed(_arg1:MouseEvent){ var _local2:int; var _local3:MovieClip; var _local4:PlayerWeapon; _local2 = GetPressedItemIndex(_arg1); _local3 = mc[_arg1.currentTarget.parent.name]; _local4 = PlayerWeapons.weaponList[_local2]; if (_local4.CanBuy()){ _local4.Buy(); }; UpdateStuff(); } static function UpdateStuff():void{ var _local1:int; var _local2:MovieClip; var _local3:MovieClip; var _local4:PlayerWeapon; mc.textCash.text = Game.cash; _local1 = 0; while (_local1 < 6) { _local3 = mc[("item" + _local1.toString())]; _local4 = PlayerWeapons.weaponList[_local1]; _local3.textName.text = _local4.name; if (_local4.owned){ _local3.tick.visible = true; _local3.textLevel.text = ("LEVEL " + int((_local4.currentLevel + 1)).toString()); } else { _local3.tick.visible = false; _local3.textLevel.text = ""; }; _local3.buttonBuy.visible = false; _local3.buttonUpgrade.visible = false; _local3.textCost.text = ""; if (_local4.owned == false){ _local3.textCost.text = _local4.cost; if (_local4.cost == 0){ _local3.textCost.text = ""; }; if (_local4.CanBuy()){ _local3.buttonBuy.visible = true; }; } else { _local3.textCost.text = _local4.GetUpgradeCost(); if (_local4.GetUpgradeCost() == 0){ _local3.textCost.text = ""; }; if (_local4.CanUpgrade()){ _local3.buttonUpgrade.visible = true; }; }; _local1++; }; } public static function Init(_arg1:Boolean){ MusicPlayer.StartMusic(0); SaveData.Save(); endOfLevel = _arg1; Game.pause = true; mc = Game.main.AddMovieClip(0, 0, new ShopScreen()); mc.buttonOK.addEventListener(MouseEvent.CLICK, buttonExitPressed, false, 0, true); mc.buttonMoreGames.addEventListener(MouseEvent.CLICK, TitleScreenState.buttonArmorGamesPressed); InitStuff(); UpdateStuff(); } public static function InitOnce(){ } static function GetPressedItemIndex(_arg1:MouseEvent):int{ var _local2:String; var _local3:String; _local2 = _arg1.currentTarget.parent.name; _local3 = _local2.slice(4); return (int(_local3)); } public static function buttonWeaponUpgradePressed(_arg1:MouseEvent){ var _local2:int; var _local3:MovieClip; var _local4:PlayerWeapon; _local2 = GetPressedItemIndex(_arg1); _local3 = mc[_arg1.currentTarget.parent.name]; _local4 = PlayerWeapons.weaponList[_local2]; if (_local4.CanUpgrade()){ _local4.Upgrade(); }; UpdateStuff(); } public static function buttonExitPressed(_arg1:MouseEvent){ Game.main.removeChild(mc); mc = null; if (!endOfLevel){ Game.pause = false; } else { Game.currentLevel = Levels.AddToLevelId(Game.currentLevel, 1); SaveData.Save(); Game.currentBackgroundFrameIndex++; if (Game.currentBackgroundFrameIndex > 6){ Game.currentBackgroundFrameIndex = 0; }; Game.bgMusic++; if (Game.bgMusic > 3){ Game.bgMusic = 1; }; Game.InitLevel(false); }; } static function InitStuff():void{ var _local1:int; var _local2:MovieClip; var _local3:MovieClip; var _local4:PlayerWeapon; _local1 = 0; while (_local1 < 6) { _local3 = mc[("item" + _local1.toString())]; _local3.buttonBuy.addEventListener(MouseEvent.CLICK, buttonWeaponBuyPressed, false, 0, true); _local3.buttonUpgrade.addEventListener(MouseEvent.CLICK, buttonWeaponUpgradePressed, false, 0, true); _local4 = PlayerWeapons.weaponList[_local1]; _local1++; }; } } }//package
Section 123
//ShopItem (ShopItem) package { import flash.display.*; import flash.text.*; public dynamic class ShopItem extends MovieClip { public var buttonBuy:SimpleButton; public var textLevel:TextField; public var textName:TextField; public var buttonUpgrade:SimpleButton; public var textCost:TextField; public var tick:MovieClip; } }//package
Section 124
//ShopScreen (ShopScreen) package { import flash.display.*; import flash.text.*; public dynamic class ShopScreen extends MovieClip { public var textCash:TextField; public var buttonMoreGames:SimpleButton; public var item2:ShopItem; public var item0:ShopItem; public var item3:ShopItem; public var item4:ShopItem; public var item5:ShopItem; public var buttonOK:SimpleButton; public var item1:ShopItem; } }//package
Section 125
//ShotController (ShotController) package { import flash.geom.*; public class ShotController { public var timer:int; public var active:Boolean; public var speed:Number; public var yoff:Number; var numShotsFired:int; public var controlMode:int; public var fireOffset:Point; public var minFreq:int; public var xoff:Number; public var shots:Array; public var type:String; public var maxFreq:int; public var freq:int; public function Set(_arg1:String, _arg2:int, _arg3:int, _arg4:Number, _arg5:Number, _arg6:Number){ timer = 0; type = _arg1; minFreq = _arg2; maxFreq = _arg3; xoff = _arg5; yoff = _arg6; speed = _arg4; freq = 0; controlMode = 0; shots = new Array(); numShotsFired = 0; active = true; fireOffset = new Point(0, 0); } public function SetFireOffset(_arg1:Number, _arg2:Number){ trace(((("set fire offset " + _arg1) + " ") + _arg2)); fireOffset.x = _arg1; fireOffset.y = _arg2; } public function clone():ShotController{ var _local1:ShotController; var _local2:ShotControllerShot; _local1 = new ShotController(); _local1.timer = timer; _local1.xoff = xoff; _local1.yoff = yoff; _local1.minFreq = minFreq; _local1.maxFreq = maxFreq; _local1.type = type; _local1.freq = freq; _local1.speed = speed; _local1.controlMode = controlMode; _local1.numShotsFired = numShotsFired; _local1.active = active; _local1.shots = new Array(); _local1.fireOffset = fireOffset.clone(); for each (_local2 in shots) { _local1.shots.push(_local2.clone()); }; return (_local1); } public function AddShot(_arg1:String, _arg2:Number, _arg3:Number){ var _local4:ShotControllerShot; _local4 = new ShotControllerShot(); _local4.offset = (((Math.PI * 2) / 360) * _arg2); _local4.delay = (_arg3 * Defs.fps2); if (_arg1 == "atplayer"){ _local4.type = ShotControllerShot.type_atplayer; }; if (_arg1 == "absolute"){ _local4.type = ShotControllerShot.type_absolute; }; if (_arg1 == "dir"){ _local4.type = ShotControllerShot.type_dir; }; shots.push(_local4); } public function Reset(){ var _local1:ShotControllerShot; timer = Utils.RandBetweenInt(0, minFreq); for each (_local1 in shots) { _local1.timer = timer; }; controlMode = 0; } public function Update(_arg1:GameObj){ var _local2:Number; var _local3:Number; var _local4:ShotControllerShot; var _local5:GameObj; var _local6:Matrix; var _local7:Point; _local2 = 0; _local3 = 0; if (controlMode == 0){ timer++; if (timer >= freq){ timer = 0; freq = Utils.RandBetweenInt(minFreq, maxFreq); numShotsFired = 0; controlMode = 1; for each (_local4 in shots) { _local4.fired = false; _local4.timer = 0; }; }; } else { if (controlMode == 1){ for each (_local4 in shots) { if (_local4.fired == false){ _local4.timer++; if (_local4.timer >= _local4.delay){ _local4.fired = true; _local4.timer = 0; if (((!((fireOffset.x == 0))) || (!((fireOffset.y == 0))))){ _local6 = new Matrix(); _local6.rotate(_arg1.fireOffsetDir); _local7 = _local6.transformPoint(fireOffset); _local2 = _local7.x; _local3 = _local7.y; }; _local5 = GameObjects.AddObj(((_arg1.xpos + xoff) + _local2), ((_arg1.ypos + yoff) + _local3), (_arg1.zpos - 10)); _local5.InitEnemyBullet(this, _local4, _arg1); if (_local5.objectDef.particleExplodeID != 0){ }; numShotsFired++; }; }; }; if (numShotsFired >= shots.length){ controlMode = 0; }; }; }; } } }//package
Section 126
//ShotControllerShot (ShotControllerShot) package { public class ShotControllerShot { var delay:int; var timer:int; var fired:Boolean; var offset:Number; var type:int; static const type_atplayer = 0; static const type_absolute = 1; static const type_dir = 2; public function ShotControllerShot(){ type = 0; offset = 0; delay = 0; timer = 0; fired = false; } public function clone():ShotControllerShot{ var _local1:ShotControllerShot; _local1 = new ShotControllerShot(); _local1.type = type; _local1.offset = offset; _local1.delay = delay; _local1.timer = timer; _local1.fired = fired; return (_local1); } } }//package
Section 127
//ShotDef (ShotDef) package { public class ShotDef { var spreadRange:Number; var name:String; var spreadAng:Number; var intervalTicks:Number; var numShots:int; var type:int; public function ShotDef(_arg1:String){ name = _arg1; type = 0; intervalTicks = 0; } public function SetSpreadPulse(_arg1:Number, _arg2:int, _arg3:Number, _arg4=-1){ intervalTicks = (Defs.fps * _arg1); type = 1; numShots = _arg2; spreadRange = Utils.DegToRad(_arg3); spreadAng = -1; if (_arg4 != -1){ spreadAng = Utils.DegToRad(_arg4); }; } public function SetNormal(_arg1:Number){ intervalTicks = (Defs.fps * _arg1); type = 0; } } }//package
Section 128
//slingfire (slingfire) package { import flash.media.*; public dynamic class slingfire extends Sound { } }//package
Section 129
//SlingStone (SlingStone) package { import flash.display.*; public dynamic class SlingStone extends MovieClip { } }//package
Section 130
//SoundPlayer (SoundPlayer) package { import flash.media.*; import flash.utils.*; public class SoundPlayer { public static const minPlayTime = 3; static var doSFX:Boolean; static var channel:SoundChannel; public static var startTimes:Array; static var timer:Timer; static var active = false; public static var sounds:Array; public static var timers:Array; public static var sound:Sound; public static var volumes:Array; public static var lengths:Array; public static var soundTransform:SoundTransform; static var Instances:Array; public static var names:Array; public static var soundTransforms:Array; static var main:Main; static var playingFlag:Boolean; public static var soundChannels:Array; public static function InitOnce(_arg1:Main):void{ doSFX = true; main = _arg1; startTimes = new Array(); lengths = new Array(); sounds = new Array(); timers = new Array(); names = new Array(); volumes = new Array(); soundChannels = new Array(); soundTransforms = new Array(); AddSound("arrowhit"); AddSound("arrowfire1"); AddSound("arrowfire2"); AddSound("arrowkill"); AddSound("belch0"); AddSound("belch1"); AddSound("belch2"); AddSound("dragonfireball"); AddSound("drink0"); AddSound("goblinscreech"); AddSound("hurtenemy"); AddSound("hurtknight"); AddSound("killenemy1"); AddSound("killenemy2"); AddSound("pickupmoney"); AddSound("slingfire"); AddSound("splat0"); AddSound("splat1"); AddSound("splat2"); AddSound("swordhit"); AddSound("macehit"); AddSound("trollattack"); AddSound("trolldead"); AddSound("trollhurt"); AddSound("swordswish0"); AddSound("playerhit0"); AddSound("playerhit1"); AddSound("playerhit2"); AddSound("playerhit3"); soundTransform = new SoundTransform(1, 0); active = true; playingFlag = false; } public static function UpdateOncePerFrame():void{ var _local1:int; _local1 = 0; while (_local1 < timers.length) { if (timers[_local1] > 0){ var _local2 = timers; var _local3 = _local1; var _local4 = (_local2[_local3] - 1); _local2[_local3] = _local4; }; _local1++; }; } static function AddSound(_arg1:String){ var classRef:Class; var s:Sound; var _soundName = _arg1; try { classRef = (getDefinitionByName(_soundName) as Class); } catch(e:Object) { classRef = null; }; if (classRef == null){ trace(("AddSound Error: Can't find sound " + _soundName)); sounds.push(null); } else { s = (new (classRef) as Sound); sounds.push(s); }; names.push(_soundName); startTimes.push(0); lengths.push(0); volumes.push(1); timers.push(int(0)); } public static function PlayRandomBetween(_arg1:String, _arg2:String):void{ var _local3:int; var _local4:int; var _local5:int; if (doSFX == false){ return; }; _local3 = names.indexOf(_arg1); _local4 = names.indexOf(_arg2); _local5 = Utils.RandBetweenInt(_local3, _local4); PlayById(_local5); } public static function Play(_arg1:String):void{ var _local2:int; if (doSFX == false){ return; }; _local2 = names.indexOf(_arg1); PlayById(_local2); } public static function PlayById(_arg1:int):void{ var _local2:SoundTransform; var _local3:Sound; if (doSFX == false){ return; }; if (timers[_arg1] == 0){ if (sounds[_arg1] != null){ _local3 = sounds[_arg1]; _local2 = new SoundTransform(); _local3.play(0); timers[_arg1] = 10; } else { trace(("SoundPlayer: Cant find sound " + _arg1)); }; }; } public static function GetId(_arg1:String):int{ var _local2:int; _local2 = names.indexOf(_arg1); return (_local2); } } }//package import flash.events.*; import flash.media.*; import flash.utils.*; class SoundPlay { private var channel:SoundChannel; private var timer:Timer; private var playingFlag; private function SoundPlay(){ } private function timerHandler(_arg1:TimerEvent):void{ timer.stop(); channel.stop(); playingFlag = false; } public function Clear():void{ playingFlag = false; timer = null; } public function Active():Boolean{ return (playingFlag); } public function Play(_arg1:int):void{ channel = SoundPlayer.sound.play(SoundPlayer.startTimes[_arg1], 1, SoundPlayer.soundTransform); timer = new Timer(SoundPlayer.lengths[_arg1]); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.start(); playingFlag = true; } }
Section 131
//splat0 (splat0) package { import flash.media.*; public dynamic class splat0 extends Sound { } }//package
Section 132
//splat1 (splat1) package { import flash.media.*; public dynamic class splat1 extends Sound { } }//package
Section 133
//splat2 (splat2) package { import flash.media.*; public dynamic class splat2 extends Sound { } }//package
Section 134
//Stats (Stats) package { public class Stats { static var highestLevel:int; static var topScore:int; public static var levelNumKills:int; static var totalCash:int; public static var levelDamage:int; static var levels_bestTime:Array; static var numLevel:int; static var levels_mostCash:Array; static var numKills:int; public static var levelTime:int; static var numWeaponsOwned:int; public static var levelCash:int; public static var levelScore:int; static var levels_bestScore:Array; public static function EndLevel(){ var _local1:int; _local1 = Game.currentLevel; levelTime = Game.levelTimer; if (levelCash > levels_mostCash[_local1]){ levels_mostCash[_local1] = levelCash; }; if (levelScore > levels_bestScore[_local1]){ levels_bestScore[_local1] = levelScore; }; if (levelTime < levels_bestTime[_local1]){ levels_bestTime[_local1] = levelTime; }; if ((Game.currentLevel + 1) > highestLevel){ highestLevel = (Game.currentLevel + 1); }; if (Game.currentScore > topScore){ topScore = Game.currentScore; }; } public static function StartLevel(){ levelNumKills = 0; levelScore = 0; levelTime = 0; levelCash = 0; levelDamage = 0; } public static function InitOnce(){ var _local1:int; levels_mostCash = new Array(); levels_bestScore = new Array(); levels_bestTime = new Array(); _local1 = 0; while (_local1 < 100) { levels_bestScore.push(int(0)); levels_mostCash.push(int(0)); levels_bestTime.push(int(99999999)); _local1++; }; topScore = 0; numKills = 0; numWeaponsOwned = 0; highestLevel = 0; totalCash = 0; levelNumKills = 0; levelScore = 0; levelTime = 0; levelCash = 0; } } }//package
Section 135
//swordhit (swordhit) package { import flash.media.*; public dynamic class swordhit extends Sound { } }//package
Section 136
//swordswish0 (swordswish0) package { import flash.media.*; public dynamic class swordswish0 extends Sound { } }//package
Section 137
//TailPiece (TailPiece) package { public class TailPiece { var graphicID:int; var frame:int; var dir:Number; var ypos:Number; var xpos:Number; } }//package
Section 138
//timerunderlay (timerunderlay) package { import flash.display.*; public dynamic class timerunderlay extends MovieClip { } }//package
Section 139
//title (title) package { import flash.display.*; import flash.text.*; public dynamic class title extends MovieClip { public var textFrameUpdate:TextField; public var buttonLongAnimals:SimpleButton; public var buttonStart:SimpleButton; public var buttonMoreGames:SimpleButton; public var buttonArmorGames:SimpleButton; } }//package
Section 140
//TitleScreenClip (TitleScreenClip) package { import flash.display.*; public dynamic class TitleScreenClip extends MovieClip { } }//package
Section 141
//TitleScreenState (TitleScreenState) package { import flash.events.*; import flash.display.*; import flash.net.*; public class TitleScreenState { static var mc_allocateWeapon:MovieClip; static var mc_TitlePage:MovieClip; static var veryFirstTime:Boolean = true; static var mc_weaponDetails:MovieClip; static var mc_instructions:MovieClip; static var mc_StartOrContinueScreen:MovieClip; static var creditsMC:MovieClip; static var main:Main; static var mc_PauseScreen:MovieClip; static var mc_instructions0:MovieClip; static var mc_instructions1:MovieClip; static var helpTextFristTime:Boolean; static var mc_WeaponScreen:MovieClip; static var mc_AllLevelsCompleteScreen:MovieClip; static var mc_PreLevelScreen:MovieClip; static var mc_GameOverScreen:MovieClip; static var overlayMC:MovieClip; static var mc_LevelCompleteScreen:MovieClip; static var titleMC:MovieClip; static var blockerOverlay:MovieClip; static var blockerFunction:Function; static function buttonLonganimalsPressed(_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.longanimalsgames.com"), "_blank"); } public static function buttonCreditsPressed(_arg1:MouseEvent){ Game.main.addChild(creditsMC); creditsMC.buttonBack.addEventListener(MouseEvent.CLICK, buttonCreditsBackPressed); } public static function InitPreLevelScreen_SetText(){ } public static function buttonCreditsBackPressed(_arg1:MouseEvent){ Game.main.removeChild(creditsMC); creditsMC = null; } public static function InitLevelComplete(){ var _local1:XML; var _local2:int; Stats.EndLevel(); Achievements.TestAtLevelComplete(); MusicPlayer.StartMusic(0); titleMC = main.AddMovieClip(0, 0, mc_LevelCompleteScreen); titleMC.buttonContinue.addEventListener(MouseEvent.CLICK, InitLevelComplete_buttonContinuePressed); titleMC.textLevelComplete.text = (("Level " + int((Game.currentLevel + 1)).toString()) + " complete!"); titleMC.textStats.text = ((("You scored " + Stats.levelScore) + " points and earned $") + Stats.levelCash); Game.currentLevel++; _local1 = ExternalData.xml; _local2 = int(_local1.leveldef.length()); if ((((Game.levelsCompleted == false)) && ((Game.currentLevel >= _local2)))){ Game.levelsCompleted = true; Game.currentLevel = 0; InitAllLevelsCompleteScreen(); }; SaveData.Save(); } static function InitHelpText3(){ overlayMC = main.AddMovieClip(0, 0, mc_instructions1); overlayMC.buttonContinue.addEventListener(MouseEvent.CLICK, InitHelpText3_buttonContinuePressed, false, 0, true); } static function InitHelpText1(_arg1:Boolean=false){ helpTextFristTime = _arg1; overlayMC = main.AddMovieClip(0, 0, mc_instructions0); overlayMC.buttonContinue.addEventListener(MouseEvent.CLICK, InitHelpText1_buttonContinuePressed, false, 0, true); } static function mouseOutLevel(_arg1:MouseEvent):void{ titleMC.textLevelInfo.text = ""; titleMC.textLevelTime.text = ""; titleMC.textLevelScore.text = ""; titleMC.textLevelCash.text = ""; } public static function AllLevelsCompleteScreen_buttonContinuePressed(_arg1:MouseEvent){ Game.main.removeChild(overlayMC); overlayMC = null; } static function buttonGameOverContinuePressed(_arg1:MouseEvent){ main.removeChild(titleMC); titleMC = null; Game.currentScore = 0; Game.InitLevel(); } public static function MovieFinished(){ Game.InitGame(); main.SetGameState(Main.gameState_LEVEL_PLAY); } static function buttonStartPressed_Complete1(){ } static function InitHelpText2(){ overlayMC = main.AddMovieClip(0, 0, mc_instructions); overlayMC.buttonContinue.addEventListener(MouseEvent.CLICK, InitHelpText2_buttonContinuePressed, false, 0, true); } public static function buttonStartPressed(_arg1:MouseEvent){ GraphicObjects.CompleteBitmapCreation(); Game.main.removeChild(titleMC); titleMC = null; Game.InitGame(false); main.SetGameState(Main.gameState_LEVEL_PLAY); } public static function InitGameOver(){ Game.cash = Game.levelstart_cash; blockerFunction = null; titleMC = main.AddMovieClip(0, 0, mc_GameOverScreen); titleMC.buttonContinue.addEventListener(MouseEvent.CLICK, buttonGameOverContinuePressed); titleMC.buttonQuit.addEventListener(MouseEvent.CLICK, buttonGameOverQuitPressed); titleMC.textFinalScore.text = ("Score: " + Game.currentScore); titleMC.textHighScore.text = ("High Score: " + Game.highScore); } static function InitLevelComplete_buttonContinuePressed(_arg1:MouseEvent){ main.removeChild(titleMC); titleMC = null; Game.ReloadDataAndRestartLevel(); KeyReader.InitOnce(Game.main.stage); } static function buttonShopPressed(_arg1:MouseEvent){ ExitPreLevelScreen(); main.removeChild(titleMC); titleMC = null; Shop.Init(true); } public static function InitPreLevelScreen(){ } static function PreLevelScreen_buttonContinuePressed(_arg1:MouseEvent){ ExitPreLevelScreen(); main.removeChild(titleMC); titleMC = null; KeyReader.InitOnce(Game.main.stage); Game.pause = false; } public static function Init(_arg1:Main){ MusicPlayer.StartMusic(0); main = _arg1; InitAll(); titleMC = new title(); main.addChild(titleMC); titleMC.buttonStart.addEventListener(MouseEvent.CLICK, buttonStartPressed); titleMC.buttonMoreGames.addEventListener(MouseEvent.CLICK, buttonArmorGamesPressed); titleMC.buttonArmorGames.addEventListener(MouseEvent.CLICK, buttonArmorGamesPressed); titleMC.buttonLongAnimals.addEventListener(MouseEvent.CLICK, buttonLonganimalsPressed); } public static function SetFrameUpdateText(_arg1:int, _arg2:int){ if (titleMC == null){ return; }; titleMC.textFrameUpdate.text = ((("anim frames: " + _arg1) + " / ") + _arg2); } public static function StartOrContinue_buttonStartPressed(_arg1:MouseEvent){ Game.main.removeChild(overlayMC); overlayMC = null; Game.InitGame(false); InitHelpText1(true); } static function buttonStartPressed_Complete(){ Game.InitGame(false); main.SetGameState(Main.gameState_LEVEL_PLAY); } static function PlayBlockerIn(_arg1:Function){ blockerFunction = _arg1; Game.main.addChild(blockerOverlay); } public static function InitHelpText3_buttonContinuePressed(_arg1:MouseEvent){ Game.main.removeChild(overlayMC); overlayMC = null; if (helpTextFristTime == true){ GraphicObjects.CompleteBitmapCreation(); Game.main.removeChild(titleMC); titleMC = null; main.SetGameState(Main.gameState_LEVEL_PLAY); }; } public static function ExitPreLevelScreen(){ var _local1:XML; var _local2:int; var _local3:int; var _local4:DisplayObject; _local1 = ExternalData.xml; _local2 = int(_local1.leveldef.length()); _local3 = 0; while (_local3 < _local2) { _local4 = titleMC.getChildAt(_local3); _local4.removeEventListener(MouseEvent.MOUSE_OVER, mouseOverLevel); _local4.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutLevel); if (Game.levelsCompleted){ _local4.removeEventListener(MouseEvent.CLICK, mouseClickLevel); }; _local4 = null; _local3++; }; } static function InitAllLevelsCompleteScreen(){ overlayMC = main.AddMovieClip(0, 0, mc_AllLevelsCompleteScreen); overlayMC.buttonContinue.addEventListener(MouseEvent.CLICK, AllLevelsCompleteScreen_buttonContinuePressed, false, 0, true); } public static function InitHelpText1_buttonContinuePressed(_arg1:MouseEvent){ Game.main.removeChild(overlayMC); overlayMC = null; InitHelpText2(); } static function mouseClickLevel(_arg1:MouseEvent):void{ var _local2:String; var _local3:int; _local2 = _arg1.currentTarget.name; _local3 = int(_local2); Game.currentLevel = _local3; InitPreLevelScreen_SetText(); } static function InitStartOrContinueScreen(){ overlayMC = main.AddMovieClip(0, 0, mc_StartOrContinueScreen); overlayMC.buttonNewGame.addEventListener(MouseEvent.CLICK, StartOrContinue_buttonStartPressed, false, 0, true); overlayMC.buttonContinue.addEventListener(MouseEvent.CLICK, StartOrContinue_buttonContinuePressed, false, 0, true); } public static function Update(_arg1:Main){ } static function mouseOverLevel(_arg1:MouseEvent):void{ var _local2:XML; var _local3:int; var _local4:String; var _local5:int; var _local6:String; var _local7:int; _local2 = ExternalData.xml; _local3 = int(_local2.leveldef.length()); _local4 = _arg1.currentTarget.name; _local5 = int(_local4); _local6 = _local2.leveldef[_local5].info.@name; titleMC.textLevelInfo.text = _local6; _local7 = Stats.levels_bestTime[_local5]; if (_local7 >= 999999){ titleMC.textLevelTime.text = "----"; } else { titleMC.textLevelTime.text = _local7; }; titleMC.textLevelScore.text = Stats.levels_bestScore[_local5]; titleMC.textLevelCash.text = Stats.levels_mostCash[_local5]; } public static function BlockerOutComplete(){ if (blockerFunction != null){ blockerOverlay.stop(); Game.main.removeChild(blockerOverlay); blockerOverlay = null; blockerFunction(); blockerFunction = null; }; } public static function buttonArmorGamesPressed(_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.armorgames.com"), "_blank"); } static function PlayBlockerOut(_arg1:Function){ blockerFunction = _arg1; Game.main.addChild(blockerOverlay); } public static function buttonContinuePressed(_arg1:MouseEvent){ GraphicObjects.CompleteBitmapCreation(); Game.main.removeChild(titleMC); titleMC = null; Game.InitGame(true); main.SetGameState(Main.gameState_LEVEL_PLAY); } public static function InitAll(){ if (veryFirstTime == false){ return; }; veryFirstTime = true; mc_GameOverScreen = new GameOverScreen(); mc_PauseScreen = new PauseScreen(); } public static function BlockerInComplete(){ if (blockerFunction != null){ blockerOverlay.stop(); Game.main.removeChild(blockerOverlay); blockerOverlay = null; blockerFunction(); blockerFunction = null; }; } static function buttonGameOverQuitPressed(_arg1:MouseEvent){ main.removeChild(titleMC); titleMC = null; main.SetGameState(Main.gameState_TITLE); } public static function StartOrContinue_buttonContinuePressed(_arg1:MouseEvent){ Game.main.removeChild(overlayMC); overlayMC = null; Game.InitGame(true); InitHelpText1(true); } public static function InitHelpText2_buttonContinuePressed(_arg1:MouseEvent){ Game.main.removeChild(overlayMC); overlayMC = null; InitHelpText3(); } } }//package
Section 142
//trollattack (trollattack) package { import flash.media.*; public dynamic class trollattack extends Sound { } }//package
Section 143
//trolldead (trolldead) package { import flash.media.*; public dynamic class trolldead extends Sound { } }//package
Section 144
//trollhurt (trollhurt) package { import flash.media.*; public dynamic class trollhurt extends Sound { } }//package
Section 145
//Utils (Utils) package { import flash.geom.*; import flash.display.*; public class Utils { public static function RandPointInCircle(_arg1:Number):Point{ var _local2:Point; var _local3:Number; var _local4:Number; _local2 = new Point(); _local3 = RandBetweenFloat(0, _arg1); _local4 = (Math.random() * (Math.PI * 2)); _local2.x = (Math.cos(_local4) * _local3); _local2.y = (Math.sin(_local4) * _local3); return (_local2); } public static function DegToRad(_arg1:Number):Number{ return ((((Math.PI * 2) / 360) * _arg1)); } public static function LimitNumber(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg3 < _arg1){ _arg3 = _arg1; }; if (_arg3 > _arg2){ _arg3 = _arg2; }; return (_arg3); } public static function ScaleTo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local6:Number; var _local7:Number; var _local8:Number; _local6 = (_arg4 - _arg3); _local7 = (_arg2 - _arg1); _local8 = ((1 / _local6) * (_arg5 - _arg3)); _local8 = ((_local7 * _local8) + _arg1); return (_local8); } public static function DP2(_arg1:Number):Number{ var _local2:Number; _local2 = (Math.ceil((_arg1 * 100)) / 100); return (_local2); } static function RenderDotLine(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:int, _arg7:uint):void{ var _local8:int; var _local9:int; var _local10:Number; var _local11:Number; _local9 = _arg6; _local10 = ((_arg4 - _arg2) / Number(_local9)); _local11 = ((_arg5 - _arg3) / Number(_local9)); _local8 = 0; while (_local8 < _local9) { _arg2 = (_arg2 + _local10); _arg3 = (_arg3 + _local11); _arg1.setPixel32(int(_arg2), int(_arg3), _arg7); _local8++; }; } static function RenderRectangle(_arg1:BitmapData, _arg2:Rectangle, _arg3:uint):void{ RenderDotLine(_arg1, _arg2.left, _arg2.top, _arg2.right, _arg2.top, 100, _arg3); RenderDotLine(_arg1, _arg2.left, _arg2.bottom, _arg2.right, _arg2.bottom, 100, _arg3); RenderDotLine(_arg1, _arg2.left, _arg2.top, _arg2.left, _arg2.bottom, 100, _arg3); RenderDotLine(_arg1, _arg2.right, _arg2.top, _arg2.right, _arg2.bottom, 100, _arg3); } public static function NumberToString2DP(_arg1:Number):String{ var _local2:String; var _local3:int; var _local4:int; _local2 = DP2(_arg1).toString(); _local3 = _local2.lastIndexOf("."); if (_local3 == -1){ _local2.concat(".00"); } else { _local4 = _local2.length; if (_local3 == (_local4 - 1)){ _local2.concat("0"); }; }; return (_local2); } public static function NormalizeRot(_arg1:Number):Number{ while (_arg1 < 0) { _arg1 = (_arg1 + (Math.PI * 2)); }; while (_arg1 > (Math.PI * 2)) { _arg1 = (_arg1 - (Math.PI * 2)); }; return (_arg1); } static function RandBetweenInt(_arg1:int, _arg2:int):int{ var _local3:int; _local3 = (Math.random() * ((_arg2 - _arg1) + 1)); _local3 = (_local3 + _arg1); return (_local3); } static function DotProduct(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; _local5 = ((_arg1 * _arg3) + (_arg2 * _arg4)); return (_local5); } static function RandBool():Boolean{ if (Math.random() < 0.5){ return (true); }; return (false); } static function SideOfLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Boolean{ var _local7:Number; _local7 = DotProduct((_arg3 - _arg1), (_arg4 - _arg2), (_arg5 - _arg1), (_arg6 - _arg2)); if (_local7 < 0){ return (false); }; return (true); } static function RenderCircle(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:uint):void{ var _local6:int; var _local7:Number; var _local8:int; var _local9:Number; var _local10:Number; var _local11:Number; _local6 = 100; _local7 = ((Math.PI * 2) / _local6); _local9 = 0; _local8 = 0; while (_local8 < _local6) { _local10 = (_arg2 + (Math.cos(_local9) * _arg4)); _local11 = (_arg3 + (Math.sin(_local9) * _arg4)); _local9 = (_local9 + _local7); _arg1.setPixel32(int(_local10), int(_local11), _arg5); _local8++; }; } public static function DP1(_arg1:Number):Number{ var _local2:Number; _local2 = (Math.ceil((_arg1 * 10)) / 10); return (_local2); } public static function RandCircle():Number{ return ((Math.random() * (Math.PI * 2))); } public static function RadToDeg(_arg1:Number):Number{ return (((360 / (Math.PI * 2)) * _arg1)); } public static function NormalizeUnit(_arg1:Number):Number{ while (_arg1 < 0) { _arg1 = (_arg1 + 1); }; while (_arg1 > 1) { _arg1--; }; return (_arg1); } static function RandBetweenFloat(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = (Math.random() * (_arg2 - _arg1)); _local3 = (_local3 + _arg1); return (_local3); } public static function LineLength(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Number; _local5 = (_arg3 - _arg1); _local6 = (_arg4 - _arg2); return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6)))); } static function DotProductAng(_arg1:Number, _arg2:Number):Number{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local3 = Math.cos(_arg1); _local4 = Math.sin(_arg1); _local5 = Math.cos(_arg2); _local6 = Math.sin(_arg2); _local7 = ((_local3 * _local5) + (_local4 * _local6)); return (_local7); } static function DistBetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Number; _local5 = (_arg3 - _arg1); _local6 = (_arg4 - _arg2); return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6)))); } public static function ScaleBetween(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number; _local4 = ((_arg2 - _arg1) * _arg3); _local4 = (_arg1 + _local4); return (_local4); } static function Dist2BetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number; var _local6:Number; _local5 = (_arg3 - _arg1); _local6 = (_arg4 - _arg2); return (((_local5 * _local5) + (_local6 * _local6))); } } }//package
Section 146
//Vec (Vec) package { import flash.geom.*; public class Vec { public var speed:Number; public var rot:Number; public function Vec(){ rot = 0; speed = 0; } public function Set(_arg1:Number, _arg2:Number){ rot = _arg1; speed = _arg2; } public function GetUnitYComponent():Number{ return (Math.sin(rot)); } public function dotRot(_arg1:Number):Number{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = Math.cos(rot); _local3 = Math.sin(rot); _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); _local6 = ((_local2 * _local4) + (_local3 * _local5)); return (_local6); } public function Add(_arg1:Vec){ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local2 = (Math.cos(rot) * speed); _local3 = (Math.sin(rot) * speed); _local4 = (Math.cos(_arg1.rot) * _arg1.speed); _local5 = (Math.sin(_arg1.rot) * _arg1.speed); _local6 = (_local2 + _local4); _local7 = (_local3 + _local5); rot = Math.atan2(_local7, _local6); speed = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); } public function FromVec(_arg1:Vec){ rot = _arg1.rot; speed = _arg1.speed; } public function SetAngFromDxDy(_arg1:Number, _arg2:Number){ rot = Math.atan2(_arg2, _arg1); } function NormalizeRot():void{ while (rot < 0) { rot = (rot + (Math.PI * 2)); }; while (rot > (Math.PI * 2)) { rot = (rot - (Math.PI * 2)); }; } public function GetUnitTangent():Point{ var _local1:Number; var _local2:Point; _local1 = (rot + (Math.PI * 0.5)); _local2 = new Point(Math.cos(_local1), Math.sin(_local1)); return (_local2); } public function SetAng(_arg1:Number){ rot = _arg1; } public function GetYComponent():Number{ return ((Math.sin(rot) * speed)); } public function GetXComponent():Number{ return ((Math.cos(rot) * speed)); } public function AddRot(_arg1:Number):void{ rot = (rot + _arg1); NormalizeRot(); } public function NearRot(_arg1:Number, _arg2:Number):Boolean{ var _local3:Number; var _local4:Number; _local3 = (rot - _arg1); _local4 = Math.abs(_local3); if (_local3 > Math.PI){ if (_arg1 < rot){ _arg1 = (_arg1 + (Math.PI * 2)); } else { _arg1 = (_arg1 - (Math.PI * 2)); }; _local3 = (rot - _arg1); }; if (Math.abs(_local3) <= _arg2){ return (true); }; return (false); } public function GetUnitXComponent():Number{ return (Math.cos(rot)); } } }//package
Section 147
//WaveDef (WaveDef) package { public class WaveDef { public var timer:int; public var active:Boolean; public var state:int; public var numRepeats:int; public var maxAtOnce:int; public var frequency:int; public var enemyTimer:int; public var initialDelay:int; public var enemyType:String; public var length:int; public var repeatDelay:int; public var repeatCount:int; function Reset(){ active = true; timer = 0; enemyTimer = 0; state = 0; repeatCount = 0; } function InitFromXml(_arg1:XML){ initialDelay = (Number(_arg1.@initialdelay) * Defs.fps); frequency = (Number(_arg1.@frequency) * Defs.fps); length = (Number(_arg1.@length) * Defs.fps); enemyType = _arg1.@type; maxAtOnce = int(_arg1.@max); numRepeats = int(_arg1.@numrepeats); repeatDelay = (Number(_arg1.@repeatdelay) * Defs.fps); Reset(); } } }//package
Section 148
//WaveDefs (WaveDefs) package { public class WaveDefs { static const s_bxf = 4; static const p_sm = 1; static const s_b = 3; static const s_txf = 5; static const s_l = 0; static const s_r = 1; static const p_sp = 2; static const s_t = 2; static const p_ln = 0; static var startTime:int; static var startPos:int; static var waveID:int; public static var currentPos:int; static var list:Array; static var currentTime:int; static var shotDefList:Array; public static var nextWaveDef:WaveDef; public static function GetCurrentDef():WaveDef{ return (nextWaveDef); } public static function InitOnce(){ var _local1:ShotDef; shotDefList = new Array(); _local1 = new ShotDef("atplayer_5"); _local1.SetNormal(0.1); shotDefList.push(_local1); _local1 = new ShotDef("atplayer_4"); _local1.SetNormal(0.25); shotDefList.push(_local1); _local1 = new ShotDef("atplayer_3"); _local1.SetNormal(0.5); shotDefList.push(_local1); _local1 = new ShotDef("atplayer_2"); _local1.SetNormal(1); shotDefList.push(_local1); _local1 = new ShotDef("atplayer_1"); _local1.SetNormal(1.5); shotDefList.push(_local1); _local1 = new ShotDef("atplayer_0"); _local1.SetNormal(5); shotDefList.push(_local1); _local1 = new ShotDef("atplayer_multi_3"); _local1.SetSpreadPulse(0.25, 5, 90); shotDefList.push(_local1); _local1 = new ShotDef("atplayer_multi_2"); _local1.SetSpreadPulse(0.5, 5, 90); shotDefList.push(_local1); _local1 = new ShotDef("atplayer_multi_1"); _local1.SetSpreadPulse(1, 5, 90); shotDefList.push(_local1); _local1 = new ShotDef("atplayer_multi_0"); _local1.SetSpreadPulse(2, 5, 90); shotDefList.push(_local1); _local1 = new ShotDef("down_multi_3"); _local1.SetSpreadPulse(25, 10, 140, 90); shotDefList.push(_local1); _local1 = new ShotDef("down_multi_2"); _local1.SetSpreadPulse(0.5, 10, 140, 90); shotDefList.push(_local1); _local1 = new ShotDef("down_multi_1"); _local1.SetSpreadPulse(1, 10, 140, 90); shotDefList.push(_local1); _local1 = new ShotDef("down_multi_0"); _local1.SetSpreadPulse(2, 10, 140, 90); shotDefList.push(_local1); _local1 = new ShotDef("down_3"); _local1.SetSpreadPulse(25, 1, 0, 90); shotDefList.push(_local1); _local1 = new ShotDef("down_2"); _local1.SetSpreadPulse(0.5, 1, 0, 90); shotDefList.push(_local1); _local1 = new ShotDef("down_1"); _local1.SetSpreadPulse(1, 1, 0, 90); shotDefList.push(_local1); _local1 = new ShotDef("down_0"); _local1.SetSpreadPulse(2, 1, 0, 90); shotDefList.push(_local1); _local1 = new ShotDef("biglaser_0"); _local1.SetNormal(3); shotDefList.push(_local1); } public static function GetShotDefIndexByName(_arg1:String):int{ var _local2:int; var _local3:int; var _local4:ShotDef; _local3 = shotDefList.length; _local2 = 0; while (_local2 < _local3) { _local4 = shotDefList[_local2]; if (_local4.name == _arg1){ return (_local2); }; _local2++; }; return (0); } public static function AdvanceWave(){ currentPos++; if (currentPos >= list.length){ nextWaveDef = null; }; nextWaveDef = list[currentPos]; } public static function Reset(){ currentPos = startPos; nextWaveDef = list[currentPos]; } } }//package
Section 149
//weapon_axe (weapon_axe) package { import flash.display.*; public dynamic class weapon_axe extends MovieClip { } }//package
Section 150
//weapon_crossbow (weapon_crossbow) package { import flash.display.*; public dynamic class weapon_crossbow extends MovieClip { } }//package
Section 151
//weapon_flail (weapon_flail) package { import flash.display.*; public dynamic class weapon_flail extends MovieClip { } }//package
Section 152
//weapon_longbow (weapon_longbow) package { import flash.display.*; public dynamic class weapon_longbow extends MovieClip { } }//package
Section 153
//weapon_sling (weapon_sling) package { import flash.display.*; public dynamic class weapon_sling extends MovieClip { } }//package
Section 154
//weapon_sword (weapon_sword) package { import flash.display.*; public dynamic class weapon_sword extends MovieClip { } }//package

Library Items

Symbol 1 Font {Font1}Used by:7 10 23 24 31 35 41 42 49 189 190 225 226 227 235
Symbol 2 GraphicUsed by:26
Symbol 3 GraphicUsed by:4 8 11 28 34 50
Symbol 4 MovieClipUses:3Used by:8 11 28 34 50
Symbol 5 FontUsed by:6 9 48
Symbol 6 EditableTextUses:5Used by:8
Symbol 7 TextUses:1Used by:8
Symbol 8 ButtonUses:4 6 7 3Used by:26
Symbol 9 EditableTextUses:5Used by:11
Symbol 10 TextUses:1Used by:11
Symbol 11 ButtonUses:4 9 10 3Used by:26 54 241
Symbol 12 GraphicUsed by:20
Symbol 13 BitmapUsed by:14
Symbol 14 GraphicUses:13Used by:15 20
Symbol 15 MovieClipUses:14Used by:20
Symbol 16 GraphicUsed by:20
Symbol 17 GraphicUsed by:18 20
Symbol 18 MovieClipUses:17Used by:20
Symbol 19 GraphicUsed by:20
Symbol 20 ButtonUses:12 15 16 18 19 14 17Used by:26
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:26
Symbol 23 EditableTextUses:1Used by:26
Symbol 24 TextUses:1Used by:25
Symbol 25 ButtonUses:24Used by:26
Symbol 26 MovieClip {title}Uses:2 8 11 20 22 23 25
Symbol 27 GraphicUsed by:28
Symbol 28 ButtonUses:4 27 3Used by:36 54
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClipUses:29Used by:36
Symbol 31 EditableTextUses:1 40Used by:36
Symbol 32 GraphicUsed by:34
Symbol 33 GraphicUsed by:34
Symbol 34 ButtonUses:4 32 33 3Used by:36 54
Symbol 35 EditableTextUses:1 40Used by:36
Symbol 36 MovieClip {GameOverScreen}Uses:28 30 31 34 35
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClipUses:37Used by:43
Symbol 39 GraphicUsed by:43
Symbol 40 FontUsed by:31 35 41 42 53 225 226 227 229 232 235 238 301 303 304 305 306 307 308 309 310 320
Symbol 41 EditableTextUses:1 40Used by:43
Symbol 42 EditableTextUses:1 40Used by:43
Symbol 43 MovieClip {levelintro}Uses:38 39 41 42
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClip {bezerk_screen}Uses:44
Symbol 46 GraphicUsed by:47
Symbol 47 MovieClipUses:46Used by:54
Symbol 48 EditableTextUses:5Used by:50
Symbol 49 TextUses:1Used by:50
Symbol 50 ButtonUses:4 48 49 3Used by:54
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:51Used by:54 234
Symbol 53 TextUses:40Used by:54
Symbol 54 MovieClip {PauseScreen}Uses:47 28 34 50 52 11 53
Symbol 55 GraphicUsed by:72
Symbol 56 GraphicUsed by:72
Symbol 57 GraphicUsed by:72
Symbol 58 GraphicUsed by:72
Symbol 59 GraphicUsed by:72
Symbol 60 GraphicUsed by:72
Symbol 61 GraphicUsed by:72
Symbol 62 GraphicUsed by:72
Symbol 63 GraphicUsed by:72
Symbol 64 GraphicUsed by:72
Symbol 65 GraphicUsed by:72
Symbol 66 GraphicUsed by:72
Symbol 67 GraphicUsed by:72
Symbol 68 GraphicUsed by:72
Symbol 69 GraphicUsed by:72
Symbol 70 GraphicUsed by:72
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClip {arrow}Uses:55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
Symbol 73 GraphicUsed by:80
Symbol 74 GraphicUsed by:80
Symbol 75 ShapeTweeningUsed by:80
Symbol 76 ShapeTweeningUsed by:80
Symbol 77 ShapeTweeningUsed by:80
Symbol 78 GraphicUsed by:80
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClip {onscreen_blood2}Uses:73 74 75 76 77 78 79
Symbol 81 GraphicUsed by:90
Symbol 82 GraphicUsed by:90
Symbol 83 GraphicUsed by:90
Symbol 84 GraphicUsed by:90
Symbol 85 GraphicUsed by:90
Symbol 86 GraphicUsed by:90
Symbol 87 GraphicUsed by:90
Symbol 88 GraphicUsed by:90
Symbol 89 GraphicUsed by:90
Symbol 90 MovieClip {onscreen_blood3}Uses:81 82 83 84 85 86 87 88 89
Symbol 91 GraphicUsed by:98
Symbol 92 GraphicUsed by:98
Symbol 93 GraphicUsed by:98
Symbol 94 ShapeTweeningUsed by:98
Symbol 95 ShapeTweeningUsed by:98
Symbol 96 ShapeTweeningUsed by:98
Symbol 97 GraphicUsed by:98
Symbol 98 MovieClip {onscreen_blood4}Uses:91 92 93 94 95 96 97
Symbol 99 GraphicUsed by:103
Symbol 100 GraphicUsed by:103
Symbol 101 GraphicUsed by:103
Symbol 102 GraphicUsed by:103
Symbol 103 MovieClip {onscreen_blood1}Uses:99 100 101 102
Symbol 104 GraphicUsed by:124
Symbol 105 GraphicUsed by:124
Symbol 106 GraphicUsed by:124
Symbol 107 GraphicUsed by:124
Symbol 108 GraphicUsed by:124
Symbol 109 GraphicUsed by:124
Symbol 110 GraphicUsed by:124
Symbol 111 GraphicUsed by:124
Symbol 112 GraphicUsed by:124
Symbol 113 GraphicUsed by:124
Symbol 114 GraphicUsed by:124
Symbol 115 GraphicUsed by:124
Symbol 116 GraphicUsed by:124
Symbol 117 GraphicUsed by:124
Symbol 118 GraphicUsed by:124
Symbol 119 GraphicUsed by:124
Symbol 120 GraphicUsed by:124
Symbol 121 GraphicUsed by:124
Symbol 122 GraphicUsed by:124
Symbol 123 GraphicUsed by:124
Symbol 124 MovieClip {blood1}Uses:104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
Symbol 125 GraphicUsed by:146
Symbol 126 GraphicUsed by:146
Symbol 127 GraphicUsed by:146
Symbol 128 GraphicUsed by:146
Symbol 129 GraphicUsed by:146
Symbol 130 GraphicUsed by:146
Symbol 131 GraphicUsed by:146
Symbol 132 GraphicUsed by:146
Symbol 133 GraphicUsed by:146
Symbol 134 GraphicUsed by:146
Symbol 135 GraphicUsed by:146
Symbol 136 GraphicUsed by:146
Symbol 137 GraphicUsed by:146
Symbol 138 GraphicUsed by:146
Symbol 139 GraphicUsed by:146
Symbol 140 GraphicUsed by:146
Symbol 141 GraphicUsed by:146
Symbol 142 GraphicUsed by:146
Symbol 143 GraphicUsed by:146
Symbol 144 GraphicUsed by:146
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClip {blood2}Uses:125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
Symbol 147 ShapeTweeningUsed by:150
Symbol 148 ShapeTweeningUsed by:150
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClip {magic_sparkle2}Uses:147 148 149
Symbol 151 ShapeTweeningUsed by:154
Symbol 152 ShapeTweeningUsed by:154
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClip {magic_sparkle}Uses:151 152 153
Symbol 155 GraphicUsed by:167
Symbol 156 GraphicUsed by:167
Symbol 157 GraphicUsed by:167
Symbol 158 GraphicUsed by:167
Symbol 159 GraphicUsed by:167
Symbol 160 GraphicUsed by:167
Symbol 161 GraphicUsed by:167
Symbol 162 GraphicUsed by:167
Symbol 163 GraphicUsed by:167
Symbol 164 GraphicUsed by:167
Symbol 165 GraphicUsed by:167
Symbol 166 GraphicUsed by:167
Symbol 167 MovieClip {SlingStone}Uses:155 156 157 158 159 160 161 162 163 164 165 166
Symbol 168 GraphicUsed by:169
Symbol 169 MovieClipUses:168Used by:170
Symbol 170 MovieClip {Enemy4_MagicBullet}Uses:169
Symbol 171 GraphicUsed by:187
Symbol 172 GraphicUsed by:187
Symbol 173 GraphicUsed by:187
Symbol 174 GraphicUsed by:187
Symbol 175 GraphicUsed by:187
Symbol 176 GraphicUsed by:187
Symbol 177 GraphicUsed by:187
Symbol 178 GraphicUsed by:187
Symbol 179 GraphicUsed by:187
Symbol 180 GraphicUsed by:187
Symbol 181 GraphicUsed by:187
Symbol 182 GraphicUsed by:187
Symbol 183 GraphicUsed by:187
Symbol 184 GraphicUsed by:187
Symbol 185 GraphicUsed by:187
Symbol 186 GraphicUsed by:187
Symbol 187 MovieClip {Pickup_Gold}Uses:171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
Symbol 188 GraphicUsed by:194
Symbol 189 TextUses:1Used by:194
Symbol 190 EditableTextUses:1Used by:194
Symbol 191 ShapeTweeningUsed by:194
Symbol 192 GraphicUsed by:194
Symbol 193 GraphicUsed by:194
Symbol 194 MovieClip {HealthBar}Uses:188 189 190 191 192 193
Symbol 195 GraphicUsed by:199
Symbol 196 ShapeTweeningUsed by:199
Symbol 197 GraphicUsed by:199
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClip {BerzerkerBar}Uses:195 196 197 198
Symbol 200 GraphicUsed by:201
Symbol 201 MovieClipUses:200Used by:211
Symbol 202 GraphicUsed by:203
Symbol 203 MovieClipUses:202Used by:211
Symbol 204 GraphicUsed by:205
Symbol 205 MovieClipUses:204Used by:211
Symbol 206 GraphicUsed by:211
Symbol 207 GraphicUsed by:208
Symbol 208 MovieClipUses:207Used by:211
Symbol 209 GraphicUsed by:210
Symbol 210 MovieClipUses:209Used by:211
Symbol 211 MovieClip {HUD_weapon}Uses:201 203 205 206 208 210
Symbol 212 GraphicUsed by:241
Symbol 213 GraphicUsed by:222
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClipUses:214Used by:222 347
Symbol 216 GraphicUsed by:217
Symbol 217 MovieClipUses:216Used by:222 241 347
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClipUses:218Used by:222 347
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClipUses:220Used by:222 347
Symbol 222 MovieClipUses:213 215 217 219 221Used by:241
Symbol 223 GraphicUsed by:241
Symbol 224 GraphicUsed by:234
Symbol 225 EditableTextUses:1 40Used by:234
Symbol 226 EditableTextUses:1 40Used by:234
Symbol 227 EditableTextUses:1 40Used by:234
Symbol 228 GraphicUsed by:230
Symbol 229 TextUses:40Used by:230
Symbol 230 ButtonUses:228 229Used by:234
Symbol 231 GraphicUsed by:233
Symbol 232 TextUses:40Used by:233
Symbol 233 ButtonUses:231 232Used by:234
Symbol 234 MovieClip {ShopItem}Uses:224 225 226 227 52 230 233Used by:241
Symbol 235 EditableTextUses:1 40Used by:241
Symbol 236 GraphicUsed by:241
Symbol 237 GraphicUsed by:240
Symbol 238 TextUses:40Used by:240
Symbol 239 GraphicUsed by:240
Symbol 240 ButtonUses:237 238 239Used by:241
Symbol 241 MovieClip {ShopScreen}Uses:212 222 217 223 234 235 236 240 11
Symbol 242 GraphicUsed by:243
Symbol 243 MovieClip {weapon_sword}Uses:242
Symbol 244 GraphicUsed by:261
Symbol 245 GraphicUsed by:261
Symbol 246 GraphicUsed by:261
Symbol 247 GraphicUsed by:261
Symbol 248 GraphicUsed by:261
Symbol 249 GraphicUsed by:261
Symbol 250 GraphicUsed by:261
Symbol 251 GraphicUsed by:261
Symbol 252 GraphicUsed by:261
Symbol 253 GraphicUsed by:261
Symbol 254 GraphicUsed by:261
Symbol 255 GraphicUsed by:261
Symbol 256 GraphicUsed by:261
Symbol 257 GraphicUsed by:261
Symbol 258 GraphicUsed by:261
Symbol 259 GraphicUsed by:261
Symbol 260 GraphicUsed by:261
Symbol 261 MovieClip {BatPoo}Uses:244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
Symbol 262 GraphicUsed by:263
Symbol 263 MovieClip {weapon_longbow}Uses:262
Symbol 264 GraphicUsed by:265
Symbol 265 MovieClip {weapon_flail}Uses:264
Symbol 266 GraphicUsed by:272
Symbol 267 GraphicUsed by:268
Symbol 268 MovieClipUses:267Used by:272
Symbol 269 FontUsed by:270 271
Symbol 270 TextUses:269Used by:272
Symbol 271 TextUses:269Used by:272
Symbol 272 MovieClip {TitleScreenClip}Uses:266 268 270 271
Symbol 273 GraphicUsed by:277
Symbol 274 GraphicUsed by:277
Symbol 275 GraphicUsed by:277
Symbol 276 GraphicUsed by:277
Symbol 277 MovieClip {BloodParticle}Uses:273 274 275 276
Symbol 278 GraphicUsed by:281
Symbol 279 GraphicUsed by:281
Symbol 280 GraphicUsed by:281
Symbol 281 MovieClip {GutsParticle}Uses:278 279 280
Symbol 282 GraphicUsed by:291
Symbol 283 GraphicUsed by:291
Symbol 284 GraphicUsed by:291
Symbol 285 GraphicUsed by:291
Symbol 286 GraphicUsed by:291
Symbol 287 GraphicUsed by:291
Symbol 288 GraphicUsed by:291
Symbol 289 GraphicUsed by:291
Symbol 290 GraphicUsed by:291
Symbol 291 MovieClip {Pickup_Berzerker}Uses:282 283 284 285 286 287 288 289 290
Symbol 292 GraphicUsed by:295
Symbol 293 GraphicUsed by:295
Symbol 294 GraphicUsed by:295
Symbol 295 MovieClip {Pickup_Health}Uses:292 293 294
Symbol 296 GraphicUsed by:297
Symbol 297 MovieClip {Enemy3_arrow}Uses:296
Symbol 298 GraphicUsed by:299
Symbol 299 MovieClip {timerunderlay}Uses:298
Symbol 300 GraphicUsed by:311
Symbol 301 EditableTextUses:40Used by:311
Symbol 302 GraphicUsed by:311
Symbol 303 EditableTextUses:40Used by:311
Symbol 304 EditableTextUses:40Used by:311
Symbol 305 EditableTextUses:40Used by:311
Symbol 306 EditableTextUses:40Used by:311
Symbol 307 EditableTextUses:40Used by:311
Symbol 308 EditableTextUses:40Used by:311
Symbol 309 EditableTextUses:40Used by:311
Symbol 310 EditableTextUses:40Used by:311
Symbol 311 MovieClip {killmc}Uses:300 301 302 303 304 305 306 307 308 309 310
Symbol 312 GraphicUsed by:313
Symbol 313 MovieClip {weapon_crossbow}Uses:312Used by:1277
Symbol 314 GraphicUsed by:315
Symbol 315 MovieClip {weapon_axe}Uses:314Used by:1277
Symbol 316 GraphicUsed by:317
Symbol 317 MovieClip {weapon_sling}Uses:316Used by:1277
Symbol 318 GraphicUsed by:319
Symbol 319 MovieClipUses:318Used by:322
Symbol 320 TextUses:40Used by:322
Symbol 321 GraphicUsed by:322
Symbol 322 MovieClipUses:319 320 321Used by:Timeline
Symbol 323 GraphicUsed by:324 1293
Symbol 324 MovieClipUses:323Used by:Timeline
Symbol 325 GraphicUsed by:326 1293
Symbol 326 MovieClipUses:325Used by:Timeline
Symbol 327 GraphicUsed by:336
Symbol 328 GraphicUsed by:329
Symbol 329 MovieClipUses:328Used by:336
Symbol 330 GraphicUsed by:331
Symbol 331 MovieClipUses:330Used by:336
Symbol 332 GraphicUsed by:336
Symbol 333 GraphicUsed by:334
Symbol 334 MovieClipUses:333Used by:336
Symbol 335 GraphicUsed by:336
Symbol 336 MovieClip {level1_background}Uses:327 329 331 332 334 335Used by:406
Symbol 337 GraphicUsed by:342 360 370
Symbol 338 GraphicUsed by:342
Symbol 339 GraphicUsed by:340
Symbol 340 MovieClipUses:339Used by:342
Symbol 341 GraphicUsed by:342
Symbol 342 MovieClip {level2_background}Uses:337 338 340 341Used by:406
Symbol 343 GraphicUsed by:347
Symbol 344 GraphicUsed by:347
Symbol 345 GraphicUsed by:347
Symbol 346 GraphicUsed by:347
Symbol 347 MovieClip {level3_background}Uses:343 344 217 219 215 221 345 346Used by:406
Symbol 348 GraphicUsed by:360
Symbol 349 GraphicUsed by:350
Symbol 350 MovieClipUses:349Used by:360
Symbol 351 GraphicUsed by:352
Symbol 352 MovieClipUses:351Used by:360
Symbol 353 GraphicUsed by:354
Symbol 354 MovieClipUses:353Used by:360
Symbol 355 GraphicUsed by:356
Symbol 356 MovieClipUses:355Used by:360
Symbol 357 GraphicUsed by:358
Symbol 358 MovieClipUses:357Used by:360
Symbol 359 GraphicUsed by:360
Symbol 360 MovieClip {level4_background}Uses:337 348 350 352 354 356 358 359Used by:406
Symbol 361 GraphicUsed by:368
Symbol 362 GraphicUsed by:368
Symbol 363 GraphicUsed by:368
Symbol 364 GraphicUsed by:368
Symbol 365 GraphicUsed by:368
Symbol 366 GraphicUsed by:368
Symbol 367 GraphicUsed by:368
Symbol 368 MovieClip {level5_background}Uses:361 362 363 364 365 366 367Used by:406
Symbol 369 GraphicUsed by:370
Symbol 370 MovieClip {level6_background}Uses:337 369Used by:406
Symbol 371 GraphicUsed by:372
Symbol 372 MovieClip {level7_background}Uses:371Used by:406
Symbol 373 Sound {arrowhit}Used by:406
Symbol 374 Sound {arrowfire1}Used by:406
Symbol 375 Sound {arrowfire2}Used by:406
Symbol 376 Sound {arrowkill}Used by:406
Symbol 377 Sound {belch0}Used by:406
Symbol 378 Sound {belch1}Used by:406
Symbol 379 Sound {belch2}Used by:406
Symbol 380 Sound {dragonfireball}Used by:406
Symbol 381 Sound {drink0}Used by:406
Symbol 382 Sound {goblinscreech}Used by:406
Symbol 383 Sound {hurtenemy}Used by:406
Symbol 384 Sound {hurtknight}Used by:406
Symbol 385 Sound {Music_InGame1}Used by:406
Symbol 386 Sound {Music_InGame2}Used by:406
Symbol 387 Sound {Music_InGame3}Used by:406
Symbol 388 Sound {killenemy1}Used by:406
Symbol 389 Sound {killenemy2}Used by:406
Symbol 390 Sound {macehit}Used by:406
Symbol 391 Sound {pickupmoney}Used by:406
Symbol 392 Sound {playerhit0}Used by:406
Symbol 393 Sound {playerhit1}Used by:406
Symbol 394 Sound {playerhit2}Used by:406
Symbol 395 Sound {Music_Shop}Used by:406
Symbol 396 Sound {splat0}Used by:406
Symbol 397 Sound {splat1}Used by:406
Symbol 398 Sound {splat2}Used by:406
Symbol 399 Sound {swordhit}Used by:406
Symbol 400 Sound {swordswish0}Used by:406
Symbol 401 Sound {trollattack}Used by:406
Symbol 402 Sound {trolldead}Used by:406
Symbol 403 Sound {trollhurt}Used by:406
Symbol 404 Sound {playerhit3}Used by:406
Symbol 405 Sound {slingfire}Used by:406
Symbol 406 MovieClipUses:336 342 347 360 368 370 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405Used by:Timeline
Symbol 407 GraphicUsed by:408
Symbol 408 MovieClipUses:407Used by:498
Symbol 409 GraphicUsed by:410
Symbol 410 MovieClipUses:409Used by:498
Symbol 411 GraphicUsed by:498
Symbol 412 GraphicUsed by:413
Symbol 413 MovieClipUses:412Used by:498
Symbol 414 GraphicUsed by:415
Symbol 415 MovieClipUses:414Used by:498
Symbol 416 GraphicUsed by:417
Symbol 417 MovieClipUses:416Used by:498
Symbol 418 GraphicUsed by:419
Symbol 419 MovieClipUses:418Used by:498
Symbol 420 GraphicUsed by:421 498
Symbol 421 MovieClipUses:420Used by:498
Symbol 422 GraphicUsed by:423
Symbol 423 MovieClipUses:422Used by:498 504
Symbol 424 GraphicUsed by:428
Symbol 425 GraphicUsed by:426
Symbol 426 MovieClipUses:425Used by:428 498
Symbol 427 GraphicUsed by:428
Symbol 428 MovieClipUses:424 426 427Used by:498 504
Symbol 429 GraphicUsed by:430
Symbol 430 MovieClipUses:429Used by:498 504
Symbol 431 GraphicUsed by:432
Symbol 432 MovieClipUses:431Used by:498
Symbol 433 GraphicUsed by:434
Symbol 434 MovieClipUses:433Used by:498
Symbol 435 GraphicUsed by:498
Symbol 436 GraphicUsed by:498
Symbol 437 GraphicUsed by:438
Symbol 438 MovieClipUses:437Used by:498
Symbol 439 GraphicUsed by:440
Symbol 440 MovieClipUses:439Used by:498
Symbol 441 GraphicUsed by:498
Symbol 442 GraphicUsed by:498
Symbol 443 GraphicUsed by:498
Symbol 444 GraphicUsed by:498
Symbol 445 GraphicUsed by:498
Symbol 446 GraphicUsed by:498
Symbol 447 GraphicUsed by:498
Symbol 448 GraphicUsed by:498
Symbol 449 GraphicUsed by:498
Symbol 450 GraphicUsed by:498
Symbol 451 GraphicUsed by:498
Symbol 452 GraphicUsed by:498
Symbol 453 GraphicUsed by:498
Symbol 454 GraphicUsed by:498
Symbol 455 GraphicUsed by:498
Symbol 456 GraphicUsed by:498
Symbol 457 GraphicUsed by:498
Symbol 458 GraphicUsed by:498
Symbol 459 GraphicUsed by:498
Symbol 460 GraphicUsed by:498
Symbol 461 GraphicUsed by:498
Symbol 462 GraphicUsed by:498
Symbol 463 GraphicUsed by:498
Symbol 464 GraphicUsed by:498
Symbol 465 GraphicUsed by:498
Symbol 466 GraphicUsed by:498
Symbol 467 GraphicUsed by:498
Symbol 468 GraphicUsed by:498
Symbol 469 GraphicUsed by:498
Symbol 470 GraphicUsed by:498
Symbol 471 GraphicUsed by:498
Symbol 472 GraphicUsed by:498
Symbol 473 GraphicUsed by:498
Symbol 474 GraphicUsed by:498
Symbol 475 GraphicUsed by:498
Symbol 476 GraphicUsed by:498
Symbol 477 GraphicUsed by:498
Symbol 478 GraphicUsed by:498
Symbol 479 GraphicUsed by:498
Symbol 480 GraphicUsed by:498
Symbol 481 GraphicUsed by:498
Symbol 482 GraphicUsed by:498
Symbol 483 GraphicUsed by:498
Symbol 484 GraphicUsed by:498
Symbol 485 GraphicUsed by:498
Symbol 486 GraphicUsed by:498
Symbol 487 GraphicUsed by:498
Symbol 488 GraphicUsed by:498
Symbol 489 GraphicUsed by:498
Symbol 490 GraphicUsed by:498
Symbol 491 GraphicUsed by:498
Symbol 492 GraphicUsed by:498
Symbol 493 GraphicUsed by:498
Symbol 494 GraphicUsed by:498
Symbol 495 GraphicUsed by:498
Symbol 496 GraphicUsed by:498
Symbol 497 GraphicUsed by:498
Symbol 498 MovieClip {Enemy1}Uses:408 410 411 413 415 417 419 421 423 428 430 432 434 420 435 426 436 438 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497Used by:Timeline
Symbol 499 GraphicUsed by:504
Symbol 500 GraphicUsed by:504
Symbol 501 GraphicUsed by:504
Symbol 502 GraphicUsed by:504
Symbol 503 GraphicUsed by:504
Symbol 504 MovieClip {Enemy1_deadBits}Uses:428 499 430 500 501 502 423 503Used by:Timeline
Symbol 505 GraphicUsed by:506
Symbol 506 MovieClipUses:505Used by:544
Symbol 507 GraphicUsed by:544
Symbol 508 GraphicUsed by:509
Symbol 509 MovieClipUses:508Used by:544
Symbol 510 GraphicUsed by:544
Symbol 511 GraphicUsed by:544
Symbol 512 GraphicUsed by:544
Symbol 513 GraphicUsed by:544
Symbol 514 GraphicUsed by:544
Symbol 515 GraphicUsed by:544
Symbol 516 GraphicUsed by:544
Symbol 517 GraphicUsed by:544
Symbol 518 GraphicUsed by:544
Symbol 519 GraphicUsed by:544
Symbol 520 GraphicUsed by:544
Symbol 521 GraphicUsed by:544
Symbol 522 GraphicUsed by:544
Symbol 523 GraphicUsed by:544
Symbol 524 GraphicUsed by:544
Symbol 525 GraphicUsed by:544
Symbol 526 GraphicUsed by:544
Symbol 527 GraphicUsed by:544
Symbol 528 GraphicUsed by:544
Symbol 529 GraphicUsed by:544
Symbol 530 GraphicUsed by:544
Symbol 531 GraphicUsed by:544
Symbol 532 GraphicUsed by:544
Symbol 533 GraphicUsed by:544
Symbol 534 GraphicUsed by:544
Symbol 535 GraphicUsed by:544
Symbol 536 GraphicUsed by:544
Symbol 537 GraphicUsed by:544
Symbol 538 GraphicUsed by:544
Symbol 539 GraphicUsed by:544
Symbol 540 GraphicUsed by:544
Symbol 541 GraphicUsed by:544
Symbol 542 GraphicUsed by:544
Symbol 543 GraphicUsed by:544
Symbol 544 MovieClip {Enemy2}Uses:506 507 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543Used by:Timeline
Symbol 545 GraphicUsed by:547
Symbol 546 GraphicUsed by:547
Symbol 547 MovieClip {Enemy2_deadBits}Uses:545 546Used by:Timeline
Symbol 548 GraphicUsed by:549
Symbol 549 MovieClipUses:548Used by:616 624
Symbol 550 GraphicUsed by:551
Symbol 551 MovieClipUses:550Used by:616 624
Symbol 552 GraphicUsed by:553
Symbol 553 MovieClipUses:552Used by:616 624
Symbol 554 GraphicUsed by:555
Symbol 555 MovieClipUses:554Used by:616 624
Symbol 556 GraphicUsed by:557
Symbol 557 MovieClipUses:556Used by:616 624
Symbol 558 GraphicUsed by:559
Symbol 559 MovieClipUses:558Used by:616
Symbol 560 GraphicUsed by:561
Symbol 561 MovieClipUses:560Used by:616
Symbol 562 GraphicUsed by:563
Symbol 563 MovieClipUses:562Used by:616 624
Symbol 564 GraphicUsed by:567
Symbol 565 GraphicUsed by:566
Symbol 566 MovieClipUses:565Used by:567
Symbol 567 MovieClipUses:564 566Used by:616
Symbol 568 GraphicUsed by:569
Symbol 569 MovieClipUses:568Used by:616
Symbol 570 GraphicUsed by:574 616
Symbol 571 GraphicUsed by:574 616
Symbol 572 GraphicUsed by:574 616
Symbol 573 GraphicUsed by:574 616
Symbol 574 MovieClipUses:570 571 572 573Used by:616
Symbol 575 GraphicUsed by:576
Symbol 576 MovieClipUses:575Used by:616
Symbol 577 GraphicUsed by:578
Symbol 578 MovieClipUses:577Used by:616
Symbol 579 GraphicUsed by:580
Symbol 580 MovieClipUses:579Used by:616
Symbol 581 GraphicUsed by:616
Symbol 582 GraphicUsed by:616
Symbol 583 GraphicUsed by:616
Symbol 584 GraphicUsed by:616
Symbol 585 GraphicUsed by:616
Symbol 586 GraphicUsed by:587
Symbol 587 MovieClipUses:586Used by:616
Symbol 588 GraphicUsed by:589
Symbol 589 MovieClipUses:588Used by:616
Symbol 590 GraphicUsed by:616
Symbol 591 GraphicUsed by:616
Symbol 592 GraphicUsed by:616
Symbol 593 GraphicUsed by:616
Symbol 594 GraphicUsed by:616
Symbol 595 GraphicUsed by:616
Symbol 596 GraphicUsed by:616
Symbol 597 GraphicUsed by:616
Symbol 598 GraphicUsed by:616
Symbol 599 GraphicUsed by:616
Symbol 600 GraphicUsed by:616
Symbol 601 GraphicUsed by:616
Symbol 602 GraphicUsed by:616
Symbol 603 GraphicUsed by:616
Symbol 604 GraphicUsed by:616
Symbol 605 GraphicUsed by:616
Symbol 606 GraphicUsed by:616
Symbol 607 GraphicUsed by:608
Symbol 608 MovieClipUses:607Used by:616
Symbol 609 GraphicUsed by:616
Symbol 610 GraphicUsed by:616
Symbol 611 GraphicUsed by:612
Symbol 612 MovieClipUses:611Used by:616
Symbol 613 GraphicUsed by:616
Symbol 614 GraphicUsed by:616
Symbol 615 GraphicUsed by:616
Symbol 616 MovieClip {Enemy3}Uses:549 551 553 555 557 559 561 563 567 569 574 576 578 580 581 582 583 584 585 587 589 570 571 572 573 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 608 609 610 612 613 614 615Used by:Timeline
Symbol 617 GraphicUsed by:624
Symbol 618 GraphicUsed by:619
Symbol 619 MovieClipUses:618Used by:624
Symbol 620 GraphicUsed by:624
Symbol 621 GraphicUsed by:624
Symbol 622 GraphicUsed by:624
Symbol 623 GraphicUsed by:624
Symbol 624 MovieClip {Enemy3_deadBits}Uses:617 619 620 621 622 623 549 551 553 555 557 563Used by:Timeline
Symbol 625 GraphicUsed by:626
Symbol 626 MovieClipUses:625Used by:652
Symbol 627 GraphicUsed by:628
Symbol 628 MovieClipUses:627Used by:652
Symbol 629 GraphicUsed by:630
Symbol 630 MovieClipUses:629Used by:652
Symbol 631 GraphicUsed by:632
Symbol 632 MovieClipUses:631Used by:652
Symbol 633 GraphicUsed by:634
Symbol 634 MovieClipUses:633Used by:652
Symbol 635 GraphicUsed by:636
Symbol 636 MovieClipUses:635Used by:652
Symbol 637 GraphicUsed by:638
Symbol 638 MovieClipUses:637Used by:652
Symbol 639 GraphicUsed by:652
Symbol 640 GraphicUsed by:641
Symbol 641 MovieClipUses:640Used by:652
Symbol 642 GraphicUsed by:643
Symbol 643 MovieClipUses:642Used by:652
Symbol 644 GraphicUsed by:652
Symbol 645 GraphicUsed by:652
Symbol 646 GraphicUsed by:652
Symbol 647 GraphicUsed by:652
Symbol 648 GraphicUsed by:652
Symbol 649 GraphicUsed by:652
Symbol 650 GraphicUsed by:652
Symbol 651 GraphicUsed by:652
Symbol 652 MovieClip {Enemy4}Uses:626 628 630 632 634 636 638 639 641 643 644 645 646 647 648 649 650 651Used by:Timeline
Symbol 653 GraphicUsed by:657
Symbol 654 GraphicUsed by:657
Symbol 655 GraphicUsed by:657
Symbol 656 GraphicUsed by:657
Symbol 657 MovieClip {Enemy4_deadBits}Uses:653 654 655 656Used by:Timeline
Symbol 658 GraphicUsed by:659
Symbol 659 MovieClipUses:658Used by:721
Symbol 660 GraphicUsed by:661
Symbol 661 MovieClipUses:660Used by:721
Symbol 662 GraphicUsed by:663
Symbol 663 MovieClipUses:662Used by:721
Symbol 664 GraphicUsed by:665
Symbol 665 MovieClipUses:664Used by:721
Symbol 666 GraphicUsed by:667
Symbol 667 MovieClipUses:666Used by:721
Symbol 668 GraphicUsed by:669
Symbol 669 MovieClipUses:668Used by:721
Symbol 670 GraphicUsed by:671
Symbol 671 MovieClipUses:670Used by:721
Symbol 672 GraphicUsed by:673
Symbol 673 MovieClipUses:672Used by:721
Symbol 674 GraphicUsed by:721
Symbol 675 GraphicUsed by:721
Symbol 676 GraphicUsed by:721
Symbol 677 GraphicUsed by:721
Symbol 678 GraphicUsed by:721
Symbol 679 GraphicUsed by:721
Symbol 680 GraphicUsed by:721
Symbol 681 GraphicUsed by:721
Symbol 682 GraphicUsed by:721
Symbol 683 GraphicUsed by:721
Symbol 684 GraphicUsed by:721
Symbol 685 GraphicUsed by:721
Symbol 686 GraphicUsed by:721
Symbol 687 GraphicUsed by:721
Symbol 688 GraphicUsed by:721
Symbol 689 GraphicUsed by:721
Symbol 690 GraphicUsed by:721
Symbol 691 GraphicUsed by:721
Symbol 692 GraphicUsed by:721
Symbol 693 GraphicUsed by:721
Symbol 694 GraphicUsed by:721
Symbol 695 GraphicUsed by:721
Symbol 696 GraphicUsed by:721
Symbol 697 GraphicUsed by:721
Symbol 698 GraphicUsed by:721
Symbol 699 GraphicUsed by:721
Symbol 700 GraphicUsed by:721
Symbol 701 GraphicUsed by:721
Symbol 702 GraphicUsed by:721
Symbol 703 GraphicUsed by:721
Symbol 704 GraphicUsed by:721
Symbol 705 GraphicUsed by:721
Symbol 706 GraphicUsed by:721
Symbol 707 GraphicUsed by:721
Symbol 708 GraphicUsed by:721
Symbol 709 GraphicUsed by:721
Symbol 710 GraphicUsed by:721
Symbol 711 GraphicUsed by:721
Symbol 712 GraphicUsed by:721
Symbol 713 GraphicUsed by:721
Symbol 714 GraphicUsed by:721
Symbol 715 GraphicUsed by:721
Symbol 716 GraphicUsed by:721
Symbol 717 GraphicUsed by:721
Symbol 718 GraphicUsed by:721
Symbol 719 GraphicUsed by:720
Symbol 720 MovieClipUses:719Used by:721
Symbol 721 MovieClip {Enemy5}Uses:659 661 663 665 667 669 671 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 720Used by:Timeline
Symbol 722 GraphicUsed by:726
Symbol 723 GraphicUsed by:726
Symbol 724 GraphicUsed by:726
Symbol 725 GraphicUsed by:726
Symbol 726 MovieClip {Enemy5_deadBits}Uses:722 723 724 725Used by:Timeline
Symbol 727 GraphicUsed by:728
Symbol 728 MovieClipUses:727Used by:823
Symbol 729 GraphicUsed by:730
Symbol 730 MovieClipUses:729Used by:823
Symbol 731 GraphicUsed by:732
Symbol 732 MovieClipUses:731Used by:823
Symbol 733 GraphicUsed by:734
Symbol 734 MovieClipUses:733Used by:823
Symbol 735 GraphicUsed by:736
Symbol 736 MovieClipUses:735Used by:823
Symbol 737 GraphicUsed by:738
Symbol 738 MovieClipUses:737Used by:823
Symbol 739 GraphicUsed by:740
Symbol 740 MovieClipUses:739Used by:823
Symbol 741 GraphicUsed by:742
Symbol 742 MovieClipUses:741Used by:823
Symbol 743 GraphicUsed by:744
Symbol 744 MovieClipUses:743Used by:823
Symbol 745 GraphicUsed by:746
Symbol 746 MovieClipUses:745Used by:823
Symbol 747 GraphicUsed by:748
Symbol 748 MovieClipUses:747Used by:823
Symbol 749 GraphicUsed by:750
Symbol 750 MovieClipUses:749Used by:823
Symbol 751 GraphicUsed by:752
Symbol 752 MovieClipUses:751Used by:823
Symbol 753 GraphicUsed by:823
Symbol 754 GraphicUsed by:755
Symbol 755 MovieClipUses:754Used by:823
Symbol 756 GraphicUsed by:757
Symbol 757 MovieClipUses:756Used by:823
Symbol 758 GraphicUsed by:823
Symbol 759 GraphicUsed by:823
Symbol 760 GraphicUsed by:823
Symbol 761 GraphicUsed by:823
Symbol 762 GraphicUsed by:823
Symbol 763 GraphicUsed by:823
Symbol 764 GraphicUsed by:823
Symbol 765 GraphicUsed by:823
Symbol 766 GraphicUsed by:823
Symbol 767 GraphicUsed by:823
Symbol 768 GraphicUsed by:823
Symbol 769 GraphicUsed by:823
Symbol 770 GraphicUsed by:823
Symbol 771 GraphicUsed by:823
Symbol 772 GraphicUsed by:823
Symbol 773 GraphicUsed by:823
Symbol 774 GraphicUsed by:823
Symbol 775 GraphicUsed by:823
Symbol 776 GraphicUsed by:823
Symbol 777 GraphicUsed by:823
Symbol 778 GraphicUsed by:823
Symbol 779 GraphicUsed by:823
Symbol 780 GraphicUsed by:823
Symbol 781 GraphicUsed by:823
Symbol 782 GraphicUsed by:823
Symbol 783 GraphicUsed by:823
Symbol 784 GraphicUsed by:823
Symbol 785 GraphicUsed by:823
Symbol 786 GraphicUsed by:823
Symbol 787 GraphicUsed by:823
Symbol 788 GraphicUsed by:823
Symbol 789 GraphicUsed by:823
Symbol 790 GraphicUsed by:823
Symbol 791 GraphicUsed by:823
Symbol 792 GraphicUsed by:823
Symbol 793 GraphicUsed by:823
Symbol 794 GraphicUsed by:823
Symbol 795 GraphicUsed by:823
Symbol 796 GraphicUsed by:823
Symbol 797 GraphicUsed by:823
Symbol 798 GraphicUsed by:823
Symbol 799 GraphicUsed by:823
Symbol 800 GraphicUsed by:823
Symbol 801 GraphicUsed by:823
Symbol 802 GraphicUsed by:823
Symbol 803 GraphicUsed by:823
Symbol 804 GraphicUsed by:823
Symbol 805 GraphicUsed by:823
Symbol 806 GraphicUsed by:823
Symbol 807 GraphicUsed by:823
Symbol 808 GraphicUsed by:823
Symbol 809 GraphicUsed by:823
Symbol 810 GraphicUsed by:823
Symbol 811 GraphicUsed by:823
Symbol 812 GraphicUsed by:823
Symbol 813 GraphicUsed by:823
Symbol 814 GraphicUsed by:823
Symbol 815 GraphicUsed by:823
Symbol 816 GraphicUsed by:823
Symbol 817 GraphicUsed by:823
Symbol 818 GraphicUsed by:823
Symbol 819 GraphicUsed by:823
Symbol 820 GraphicUsed by:823
Symbol 821 GraphicUsed by:823
Symbol 822 GraphicUsed by:823
Symbol 823 MovieClip {Enemy6}Uses:728 730 732 734 736 738 740 742 744 746 748 750 752 753 755 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822Used by:Timeline
Symbol 824 GraphicUsed by:834
Symbol 825 GraphicUsed by:834
Symbol 826 GraphicUsed by:834
Symbol 827 GraphicUsed by:834
Symbol 828 GraphicUsed by:834
Symbol 829 GraphicUsed by:834
Symbol 830 GraphicUsed by:834
Symbol 831 GraphicUsed by:834
Symbol 832 GraphicUsed by:834
Symbol 833 GraphicUsed by:834
Symbol 834 MovieClip {Enemy6_deadBits}Uses:824 825 826 827 828 829 830 831 832 833Used by:Timeline
Symbol 835 GraphicUsed by:947
Symbol 836 GraphicUsed by:947
Symbol 837 GraphicUsed by:947
Symbol 838 GraphicUsed by:947
Symbol 839 GraphicUsed by:947
Symbol 840 GraphicUsed by:947
Symbol 841 GraphicUsed by:947
Symbol 842 GraphicUsed by:947
Symbol 843 GraphicUsed by:947
Symbol 844 GraphicUsed by:947
Symbol 845 GraphicUsed by:947
Symbol 846 GraphicUsed by:947
Symbol 847 GraphicUsed by:947
Symbol 848 GraphicUsed by:947
Symbol 849 GraphicUsed by:947
Symbol 850 GraphicUsed by:947
Symbol 851 GraphicUsed by:947
Symbol 852 GraphicUsed by:947
Symbol 853 GraphicUsed by:947
Symbol 854 GraphicUsed by:947
Symbol 855 GraphicUsed by:947
Symbol 856 GraphicUsed by:947
Symbol 857 GraphicUsed by:947
Symbol 858 GraphicUsed by:947
Symbol 859 GraphicUsed by:947
Symbol 860 GraphicUsed by:947
Symbol 861 GraphicUsed by:947
Symbol 862 GraphicUsed by:947
Symbol 863 GraphicUsed by:947
Symbol 864 GraphicUsed by:947
Symbol 865 GraphicUsed by:947
Symbol 866 GraphicUsed by:947
Symbol 867 GraphicUsed by:947
Symbol 868 GraphicUsed by:947
Symbol 869 GraphicUsed by:947
Symbol 870 GraphicUsed by:947
Symbol 871 GraphicUsed by:947
Symbol 872 GraphicUsed by:947
Symbol 873 GraphicUsed by:947
Symbol 874 GraphicUsed by:947
Symbol 875 GraphicUsed by:947
Symbol 876 GraphicUsed by:947
Symbol 877 GraphicUsed by:947
Symbol 878 GraphicUsed by:947
Symbol 879 GraphicUsed by:947
Symbol 880 GraphicUsed by:947
Symbol 881 GraphicUsed by:947
Symbol 882 GraphicUsed by:947
Symbol 883 GraphicUsed by:947
Symbol 884 GraphicUsed by:947
Symbol 885 GraphicUsed by:947
Symbol 886 GraphicUsed by:947
Symbol 887 GraphicUsed by:947
Symbol 888 GraphicUsed by:947
Symbol 889 GraphicUsed by:947
Symbol 890 GraphicUsed by:947
Symbol 891 GraphicUsed by:947
Symbol 892 GraphicUsed by:947
Symbol 893 GraphicUsed by:947
Symbol 894 GraphicUsed by:947
Symbol 895 GraphicUsed by:947
Symbol 896 GraphicUsed by:947
Symbol 897 GraphicUsed by:947
Symbol 898 GraphicUsed by:947
Symbol 899 GraphicUsed by:947
Symbol 900 GraphicUsed by:947
Symbol 901 GraphicUsed by:947
Symbol 902 GraphicUsed by:947
Symbol 903 GraphicUsed by:947
Symbol 904 GraphicUsed by:947
Symbol 905 GraphicUsed by:947
Symbol 906 GraphicUsed by:947
Symbol 907 GraphicUsed by:947
Symbol 908 GraphicUsed by:947
Symbol 909 GraphicUsed by:947
Symbol 910 GraphicUsed by:947
Symbol 911 GraphicUsed by:947
Symbol 912 GraphicUsed by:947
Symbol 913 GraphicUsed by:947
Symbol 914 GraphicUsed by:947
Symbol 915 GraphicUsed by:947
Symbol 916 GraphicUsed by:947
Symbol 917 GraphicUsed by:947
Symbol 918 GraphicUsed by:947
Symbol 919 GraphicUsed by:947
Symbol 920 GraphicUsed by:947
Symbol 921 GraphicUsed by:947
Symbol 922 GraphicUsed by:947
Symbol 923 GraphicUsed by:947
Symbol 924 GraphicUsed by:947
Symbol 925 GraphicUsed by:947
Symbol 926 GraphicUsed by:947
Symbol 927 GraphicUsed by:947
Symbol 928 GraphicUsed by:947
Symbol 929 GraphicUsed by:947
Symbol 930 GraphicUsed by:947
Symbol 931 GraphicUsed by:947
Symbol 932 GraphicUsed by:947
Symbol 933 GraphicUsed by:947
Symbol 934 GraphicUsed by:947
Symbol 935 GraphicUsed by:947
Symbol 936 GraphicUsed by:947
Symbol 937 GraphicUsed by:947
Symbol 938 GraphicUsed by:947
Symbol 939 GraphicUsed by:947
Symbol 940 GraphicUsed by:947
Symbol 941 GraphicUsed by:947
Symbol 942 GraphicUsed by:947
Symbol 943 GraphicUsed by:947
Symbol 944 GraphicUsed by:947
Symbol 945 GraphicUsed by:947
Symbol 946 GraphicUsed by:947
Symbol 947 MovieClip {Enemy7}Uses:835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946Used by:Timeline
Symbol 948 GraphicUsed by:952
Symbol 949 GraphicUsed by:952
Symbol 950 GraphicUsed by:952
Symbol 951 GraphicUsed by:952
Symbol 952 MovieClip {Enemy7_deadBits}Uses:948 949 950 951Used by:Timeline
Symbol 953 GraphicUsed by:969
Symbol 954 GraphicUsed by:969
Symbol 955 GraphicUsed by:969
Symbol 956 GraphicUsed by:969
Symbol 957 GraphicUsed by:969
Symbol 958 GraphicUsed by:969
Symbol 959 GraphicUsed by:969
Symbol 960 GraphicUsed by:969
Symbol 961 GraphicUsed by:969
Symbol 962 GraphicUsed by:969
Symbol 963 GraphicUsed by:969
Symbol 964 GraphicUsed by:969
Symbol 965 GraphicUsed by:969
Symbol 966 GraphicUsed by:969
Symbol 967 GraphicUsed by:969
Symbol 968 GraphicUsed by:969
Symbol 969 MovieClip {Enemy7_fireball}Uses:953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968Used by:Timeline
Symbol 970 GraphicUsed by:1002
Symbol 971 GraphicUsed by:1002
Symbol 972 GraphicUsed by:1002
Symbol 973 GraphicUsed by:1002
Symbol 974 GraphicUsed by:1002
Symbol 975 GraphicUsed by:1002
Symbol 976 GraphicUsed by:1002
Symbol 977 GraphicUsed by:1002
Symbol 978 GraphicUsed by:1002
Symbol 979 GraphicUsed by:1002
Symbol 980 GraphicUsed by:1002
Symbol 981 GraphicUsed by:1002
Symbol 982 GraphicUsed by:1002
Symbol 983 GraphicUsed by:1002
Symbol 984 GraphicUsed by:1002
Symbol 985 GraphicUsed by:1002
Symbol 986 GraphicUsed by:1002
Symbol 987 GraphicUsed by:1002
Symbol 988 GraphicUsed by:1002
Symbol 989 GraphicUsed by:1002
Symbol 990 GraphicUsed by:1002
Symbol 991 GraphicUsed by:1002
Symbol 992 GraphicUsed by:1002
Symbol 993 GraphicUsed by:1002
Symbol 994 GraphicUsed by:1002
Symbol 995 GraphicUsed by:1002
Symbol 996 GraphicUsed by:1002
Symbol 997 GraphicUsed by:1002
Symbol 998 GraphicUsed by:1002
Symbol 999 GraphicUsed by:1002
Symbol 1000 GraphicUsed by:1002
Symbol 1001 GraphicUsed by:1002
Symbol 1002 MovieClip {Enemy7_fireExplosion}Uses:970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001Used by:Timeline
Symbol 1003 GraphicUsed by:1277
Symbol 1004 GraphicUsed by:1007
Symbol 1005 GraphicUsed by:1006
Symbol 1006 MovieClipUses:1005Used by:1007 1277
Symbol 1007 MovieClipUses:1004 1006Used by:1277
Symbol 1008 GraphicUsed by:1277
Symbol 1009 GraphicUsed by:1010
Symbol 1010 MovieClipUses:1009Used by:1277
Symbol 1011 GraphicUsed by:1012 1277
Symbol 1012 MovieClipUses:1011Used by:1277
Symbol 1013 GraphicUsed by:1014
Symbol 1014 MovieClipUses:1013Used by:1277
Symbol 1015 GraphicUsed by:1016
Symbol 1016 MovieClipUses:1015Used by:1277
Symbol 1017 GraphicUsed by:1018
Symbol 1018 MovieClipUses:1017Used by:1277
Symbol 1019 GraphicUsed by:1277
Symbol 1020 GraphicUsed by:1277
Symbol 1021 GraphicUsed by:1277
Symbol 1022 GraphicUsed by:1277
Symbol 1023 GraphicUsed by:1277
Symbol 1024 GraphicUsed by:1277
Symbol 1025 GraphicUsed by:1277
Symbol 1026 GraphicUsed by:1277
Symbol 1027 GraphicUsed by:1277
Symbol 1028 GraphicUsed by:1277
Symbol 1029 GraphicUsed by:1277
Symbol 1030 GraphicUsed by:1031
Symbol 1031 MovieClipUses:1030Used by:1277
Symbol 1032 GraphicUsed by:1033
Symbol 1033 MovieClipUses:1032Used by:1277
Symbol 1034 GraphicUsed by:1035
Symbol 1035 MovieClipUses:1034Used by:1277
Symbol 1036 GraphicUsed by:1037
Symbol 1037 MovieClipUses:1036Used by:1277
Symbol 1038 GraphicUsed by:1039
Symbol 1039 MovieClipUses:1038Used by:1277
Symbol 1040 GraphicUsed by:1277
Symbol 1041 GraphicUsed by:1277
Symbol 1042 GraphicUsed by:1277
Symbol 1043 GraphicUsed by:1044
Symbol 1044 MovieClipUses:1043Used by:1277
Symbol 1045 GraphicUsed by:1277
Symbol 1046 GraphicUsed by:1277
Symbol 1047 GraphicUsed by:1277
Symbol 1048 GraphicUsed by:1277
Symbol 1049 GraphicUsed by:1277
Symbol 1050 GraphicUsed by:1277
Symbol 1051 GraphicUsed by:1277
Symbol 1052 GraphicUsed by:1277
Symbol 1053 GraphicUsed by:1277
Symbol 1054 GraphicUsed by:1277
Symbol 1055 GraphicUsed by:1277
Symbol 1056 GraphicUsed by:1277
Symbol 1057 GraphicUsed by:1277
Symbol 1058 GraphicUsed by:1277
Symbol 1059 GraphicUsed by:1277
Symbol 1060 GraphicUsed by:1277
Symbol 1061 GraphicUsed by:1277
Symbol 1062 GraphicUsed by:1277
Symbol 1063 GraphicUsed by:1277
Symbol 1064 GraphicUsed by:1277
Symbol 1065 GraphicUsed by:1277
Symbol 1066 GraphicUsed by:1277
Symbol 1067 GraphicUsed by:1277
Symbol 1068 GraphicUsed by:1277
Symbol 1069 GraphicUsed by:1277
Symbol 1070 GraphicUsed by:1277
Symbol 1071 GraphicUsed by:1277
Symbol 1072 GraphicUsed by:1277
Symbol 1073 GraphicUsed by:1277
Symbol 1074 GraphicUsed by:1277
Symbol 1075 GraphicUsed by:1277
Symbol 1076 GraphicUsed by:1277
Symbol 1077 GraphicUsed by:1078
Symbol 1078 MovieClipUses:1077Used by:1277
Symbol 1079 GraphicUsed by:1277
Symbol 1080 GraphicUsed by:1277
Symbol 1081 GraphicUsed by:1277
Symbol 1082 GraphicUsed by:1277
Symbol 1083 GraphicUsed by:1277
Symbol 1084 GraphicUsed by:1277
Symbol 1085 GraphicUsed by:1277
Symbol 1086 GraphicUsed by:1277
Symbol 1087 GraphicUsed by:1277
Symbol 1088 GraphicUsed by:1277
Symbol 1089 GraphicUsed by:1277
Symbol 1090 GraphicUsed by:1277
Symbol 1091 GraphicUsed by:1277
Symbol 1092 GraphicUsed by:1277
Symbol 1093 GraphicUsed by:1277
Symbol 1094 GraphicUsed by:1277
Symbol 1095 GraphicUsed by:1277
Symbol 1096 GraphicUsed by:1097
Symbol 1097 MovieClipUses:1096Used by:1277
Symbol 1098 GraphicUsed by:1277
Symbol 1099 GraphicUsed by:1277
Symbol 1100 GraphicUsed by:1277
Symbol 1101 GraphicUsed by:1277
Symbol 1102 GraphicUsed by:1277
Symbol 1103 GraphicUsed by:1277
Symbol 1104 GraphicUsed by:1277
Symbol 1105 GraphicUsed by:1277
Symbol 1106 GraphicUsed by:1277
Symbol 1107 GraphicUsed by:1277
Symbol 1108 GraphicUsed by:1277
Symbol 1109 GraphicUsed by:1277
Symbol 1110 GraphicUsed by:1277
Symbol 1111 GraphicUsed by:1112
Symbol 1112 MovieClipUses:1111Used by:1277
Symbol 1113 GraphicUsed by:1277
Symbol 1114 GraphicUsed by:1277
Symbol 1115 GraphicUsed by:1277
Symbol 1116 GraphicUsed by:1277
Symbol 1117 GraphicUsed by:1277
Symbol 1118 GraphicUsed by:1277
Symbol 1119 GraphicUsed by:1277
Symbol 1120 GraphicUsed by:1277
Symbol 1121 GraphicUsed by:1277
Symbol 1122 GraphicUsed by:1277
Symbol 1123 GraphicUsed by:1277
Symbol 1124 GraphicUsed by:1277
Symbol 1125 GraphicUsed by:1277
Symbol 1126 GraphicUsed by:1277
Symbol 1127 GraphicUsed by:1277
Symbol 1128 GraphicUsed by:1277
Symbol 1129 GraphicUsed by:1277
Symbol 1130 GraphicUsed by:1277
Symbol 1131 GraphicUsed by:1277
Symbol 1132 GraphicUsed by:1277
Symbol 1133 GraphicUsed by:1277
Symbol 1134 GraphicUsed by:1277
Symbol 1135 GraphicUsed by:1277
Symbol 1136 GraphicUsed by:1277
Symbol 1137 GraphicUsed by:1277
Symbol 1138 GraphicUsed by:1277
Symbol 1139 GraphicUsed by:1277
Symbol 1140 GraphicUsed by:1141
Symbol 1141 MovieClipUses:1140Used by:1277
Symbol 1142 GraphicUsed by:1277
Symbol 1143 GraphicUsed by:1277
Symbol 1144 GraphicUsed by:1277
Symbol 1145 GraphicUsed by:1277
Symbol 1146 GraphicUsed by:1277
Symbol 1147 GraphicUsed by:1277
Symbol 1148 GraphicUsed by:1277
Symbol 1149 GraphicUsed by:1277
Symbol 1150 GraphicUsed by:1277
Symbol 1151 GraphicUsed by:1277
Symbol 1152 GraphicUsed by:1277
Symbol 1153 GraphicUsed by:1277
Symbol 1154 GraphicUsed by:1277
Symbol 1155 GraphicUsed by:1277
Symbol 1156 GraphicUsed by:1277
Symbol 1157 GraphicUsed by:1277
Symbol 1158 GraphicUsed by:1277
Symbol 1159 GraphicUsed by:1277
Symbol 1160 GraphicUsed by:1277
Symbol 1161 GraphicUsed by:1277
Symbol 1162 GraphicUsed by:1277
Symbol 1163 GraphicUsed by:1277
Symbol 1164 GraphicUsed by:1277
Symbol 1165 GraphicUsed by:1277
Symbol 1166 GraphicUsed by:1277
Symbol 1167 GraphicUsed by:1277
Symbol 1168 GraphicUsed by:1277
Symbol 1169 GraphicUsed by:1277
Symbol 1170 GraphicUsed by:1277
Symbol 1171 GraphicUsed by:1277
Symbol 1172 GraphicUsed by:1277
Symbol 1173 GraphicUsed by:1277
Symbol 1174 GraphicUsed by:1277
Symbol 1175 GraphicUsed by:1277
Symbol 1176 GraphicUsed by:1277
Symbol 1177 GraphicUsed by:1277
Symbol 1178 GraphicUsed by:1277
Symbol 1179 GraphicUsed by:1277
Symbol 1180 GraphicUsed by:1277
Symbol 1181 GraphicUsed by:1277
Symbol 1182 GraphicUsed by:1277
Symbol 1183 GraphicUsed by:1277
Symbol 1184 GraphicUsed by:1277
Symbol 1185 GraphicUsed by:1277
Symbol 1186 GraphicUsed by:1277
Symbol 1187 GraphicUsed by:1277
Symbol 1188 GraphicUsed by:1277
Symbol 1189 GraphicUsed by:1277
Symbol 1190 GraphicUsed by:1277
Symbol 1191 GraphicUsed by:1277
Symbol 1192 GraphicUsed by:1277
Symbol 1193 GraphicUsed by:1277
Symbol 1194 GraphicUsed by:1277
Symbol 1195 GraphicUsed by:1277
Symbol 1196 GraphicUsed by:1277
Symbol 1197 GraphicUsed by:1277
Symbol 1198 GraphicUsed by:1277
Symbol 1199 GraphicUsed by:1277
Symbol 1200 GraphicUsed by:1277
Symbol 1201 GraphicUsed by:1277
Symbol 1202 GraphicUsed by:1277
Symbol 1203 GraphicUsed by:1277
Symbol 1204 GraphicUsed by:1277
Symbol 1205 GraphicUsed by:1277
Symbol 1206 GraphicUsed by:1277
Symbol 1207 GraphicUsed by:1277
Symbol 1208 GraphicUsed by:1277
Symbol 1209 GraphicUsed by:1277
Symbol 1210 GraphicUsed by:1277
Symbol 1211 GraphicUsed by:1277
Symbol 1212 GraphicUsed by:1277
Symbol 1213 GraphicUsed by:1277
Symbol 1214 GraphicUsed by:1277
Symbol 1215 GraphicUsed by:1277
Symbol 1216 GraphicUsed by:1277
Symbol 1217 GraphicUsed by:1277
Symbol 1218 GraphicUsed by:1277
Symbol 1219 GraphicUsed by:1277
Symbol 1220 GraphicUsed by:1277
Symbol 1221 GraphicUsed by:1277
Symbol 1222 GraphicUsed by:1277
Symbol 1223 GraphicUsed by:1277
Symbol 1224 GraphicUsed by:1277
Symbol 1225 GraphicUsed by:1277
Symbol 1226 GraphicUsed by:1277
Symbol 1227 GraphicUsed by:1277
Symbol 1228 GraphicUsed by:1277
Symbol 1229 GraphicUsed by:1277
Symbol 1230 GraphicUsed by:1277
Symbol 1231 GraphicUsed by:1277
Symbol 1232 GraphicUsed by:1277
Symbol 1233 GraphicUsed by:1277
Symbol 1234 GraphicUsed by:1277
Symbol 1235 GraphicUsed by:1277
Symbol 1236 GraphicUsed by:1277
Symbol 1237 GraphicUsed by:1277
Symbol 1238 GraphicUsed by:1277
Symbol 1239 GraphicUsed by:1277
Symbol 1240 GraphicUsed by:1277
Symbol 1241 GraphicUsed by:1277
Symbol 1242 GraphicUsed by:1277
Symbol 1243 GraphicUsed by:1277
Symbol 1244 GraphicUsed by:1277
Symbol 1245 GraphicUsed by:1277
Symbol 1246 GraphicUsed by:1277
Symbol 1247 GraphicUsed by:1277
Symbol 1248 GraphicUsed by:1277
Symbol 1249 GraphicUsed by:1277
Symbol 1250 GraphicUsed by:1277
Symbol 1251 GraphicUsed by:1277
Symbol 1252 GraphicUsed by:1277
Symbol 1253 GraphicUsed by:1277
Symbol 1254 GraphicUsed by:1277
Symbol 1255 GraphicUsed by:1277
Symbol 1256 GraphicUsed by:1277
Symbol 1257 GraphicUsed by:1277
Symbol 1258 GraphicUsed by:1277
Symbol 1259 GraphicUsed by:1277
Symbol 1260 GraphicUsed by:1277
Symbol 1261 GraphicUsed by:1277
Symbol 1262 GraphicUsed by:1277
Symbol 1263 GraphicUsed by:1277
Symbol 1264 GraphicUsed by:1277
Symbol 1265 GraphicUsed by:1277
Symbol 1266 GraphicUsed by:1277
Symbol 1267 GraphicUsed by:1277
Symbol 1268 GraphicUsed by:1277
Symbol 1269 GraphicUsed by:1277
Symbol 1270 GraphicUsed by:1277
Symbol 1271 GraphicUsed by:1277
Symbol 1272 GraphicUsed by:1277
Symbol 1273 GraphicUsed by:1277
Symbol 1274 GraphicUsed by:1277
Symbol 1275 GraphicUsed by:1277
Symbol 1276 GraphicUsed by:1277
Symbol 1277 MovieClip {Player}Uses:1003 1007 1008 1010 1006 1012 1014 1016 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1031 1033 1035 1037 1039 1040 1041 1042 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1011 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1141 317 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 315 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 313 1273 1274 1275 1276Used by:Timeline
Symbol 1278 GraphicUsed by:1279
Symbol 1279 MovieClip {player_head_Dead}Uses:1278Used by:Timeline
Symbol 1280 GraphicUsed by:1293
Symbol 1281 SoundUsed by:1293
Symbol 1282 SoundUsed by:1293
Symbol 1283 GraphicUsed by:1293
Symbol 1284 GraphicUsed by:1285
Symbol 1285 MovieClipUses:1284Used by:1293
Symbol 1286 SoundUsed by:1293
Symbol 1287 SoundUsed by:1293
Symbol 1288 SoundUsed by:1293
Symbol 1289 GraphicUsed by:1290
Symbol 1290 ButtonUses:1289Used by:1293
Symbol 1291 SoundUsed by:1293
Symbol 1292 SoundUsed by:1293
Symbol 1293 MovieClip {MedievalMercenary_fla.ag_intro_mc_134}Uses:325 1280 323 1281 1282 1283 1285 1286 1287 1288 1290 1291 1292Used by:Timeline
Symbol 1294 GraphicUsed by:1295
Symbol 1295 MovieClip {Main}Uses:1294Used by:Timeline

Instance Names

"loader"Frame 1Symbol 322 MovieClip
"ag1"Frame 1Symbol 324 MovieClip
"ag2"Frame 1Symbol 326 MovieClip
"buttonStart"Symbol 26 MovieClip {title} Frame 1Symbol 8 Button
"buttonMoreGames"Symbol 26 MovieClip {title} Frame 1Symbol 11 Button
"buttonArmorGames"Symbol 26 MovieClip {title} Frame 1Symbol 20 Button
"textFrameUpdate"Symbol 26 MovieClip {title} Frame 1Symbol 23 EditableText
"buttonLongAnimals"Symbol 26 MovieClip {title} Frame 1Symbol 25 Button
"buttonContinue"Symbol 36 MovieClip {GameOverScreen} Frame 1Symbol 28 Button
"textFinalScore"Symbol 36 MovieClip {GameOverScreen} Frame 1Symbol 31 EditableText
"buttonQuit"Symbol 36 MovieClip {GameOverScreen} Frame 1Symbol 34 Button
"textHighScore"Symbol 36 MovieClip {GameOverScreen} Frame 1Symbol 35 EditableText
"textLevelName"Symbol 43 MovieClip {levelintro} Frame 1Symbol 41 EditableText
"textLevelDescription"Symbol 43 MovieClip {levelintro} Frame 1Symbol 42 EditableText
"buttonContinue"Symbol 54 MovieClip {PauseScreen} Frame 1Symbol 28 Button
"buttonQuit"Symbol 54 MovieClip {PauseScreen} Frame 1Symbol 34 Button
"buttonSound"Symbol 54 MovieClip {PauseScreen} Frame 1Symbol 50 Button
"selectedSound"Symbol 54 MovieClip {PauseScreen} Frame 1Symbol 52 MovieClip
"buttonMoreGames"Symbol 54 MovieClip {PauseScreen} Frame 1Symbol 11 Button
"textName"Symbol 234 MovieClip {ShopItem} Frame 1Symbol 225 EditableText
"textLevel"Symbol 234 MovieClip {ShopItem} Frame 1Symbol 226 EditableText
"textCost"Symbol 234 MovieClip {ShopItem} Frame 1Symbol 227 EditableText
"tick"Symbol 234 MovieClip {ShopItem} Frame 1Symbol 52 MovieClip
"buttonBuy"Symbol 234 MovieClip {ShopItem} Frame 1Symbol 230 Button
"buttonUpgrade"Symbol 234 MovieClip {ShopItem} Frame 1Symbol 233 Button
"item0"Symbol 241 MovieClip {ShopScreen} Frame 1Symbol 234 MovieClip {ShopItem}
"item1"Symbol 241 MovieClip {ShopScreen} Frame 1Symbol 234 MovieClip {ShopItem}
"item2"Symbol 241 MovieClip {ShopScreen} Frame 1Symbol 234 MovieClip {ShopItem}
"item3"Symbol 241 MovieClip {ShopScreen} Frame 1Symbol 234 MovieClip {ShopItem}
"item4"Symbol 241 MovieClip {ShopScreen} Frame 1Symbol 234 MovieClip {ShopItem}
"item5"Symbol 241 MovieClip {ShopScreen} Frame 1Symbol 234 MovieClip {ShopItem}
"textCash"Symbol 241 MovieClip {ShopScreen} Frame 1Symbol 235 EditableText
"buttonOK"Symbol 241 MovieClip {ShopScreen} Frame 1Symbol 240 Button
"buttonMoreGames"Symbol 241 MovieClip {ShopScreen} Frame 1Symbol 11 Button
"head"Symbol 1277 MovieClip {Player} Frame 1Symbol 1018 MovieClip
"head"Symbol 1277 MovieClip {Player} Frame 88Symbol 1018 MovieClip
"swordend"Symbol 1277 MovieClip {Player} Frame 123Symbol 1018 MovieClip
"head"Symbol 1277 MovieClip {Player} Frame 322Symbol 1018 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 256, ScriptTimeout: 35 seconds

Labels

"level1"Symbol 72 MovieClip {arrow} Frame 1
"level2"Symbol 72 MovieClip {arrow} Frame 2
"level3"Symbol 72 MovieClip {arrow} Frame 7
"broken1"Symbol 72 MovieClip {arrow} Frame 12
"broken2"Symbol 72 MovieClip {arrow} Frame 13
"1"Symbol 167 MovieClip {SlingStone} Frame 1
"2"Symbol 167 MovieClip {SlingStone} Frame 5
"3"Symbol 167 MovieClip {SlingStone} Frame 9
"fall"Symbol 261 MovieClip {BatPoo} Frame 1
"splat"Symbol 261 MovieClip {BatPoo} Frame 11
"idle"Symbol 498 MovieClip {Enemy1} Frame 1
"run"Symbol 498 MovieClip {Enemy1} Frame 16
"attack1"Symbol 498 MovieClip {Enemy1} Frame 35
"recoil"Symbol 498 MovieClip {Enemy1} Frame 65
"idle"Symbol 544 MovieClip {Enemy2} Frame 1
"attack"Symbol 544 MovieClip {Enemy2} Frame 11
"recoil"Symbol 544 MovieClip {Enemy2} Frame 41
"idle"Symbol 616 MovieClip {Enemy3} Frame 1
"run"Symbol 616 MovieClip {Enemy3} Frame 20
"attack1"Symbol 616 MovieClip {Enemy3} Frame 38
"attack2"Symbol 616 MovieClip {Enemy3} Frame 68
"attack2_hit"Symbol 616 MovieClip {Enemy3} Frame 86
"idle"Symbol 652 MovieClip {Enemy4} Frame 1
"jump"Symbol 652 MovieClip {Enemy4} Frame 12
"roll"Symbol 652 MovieClip {Enemy4} Frame 19
"recoil"Symbol 652 MovieClip {Enemy4} Frame 27
"idle"Symbol 721 MovieClip {Enemy5} Frame 1
"run"Symbol 721 MovieClip {Enemy5} Frame 17
"raiseclub"Symbol 721 MovieClip {Enemy5} Frame 33
"club idle"Symbol 721 MovieClip {Enemy5} Frame 41
"attack1"Symbol 721 MovieClip {Enemy5} Frame 46
"attack2"Symbol 721 MovieClip {Enemy5} Frame 63
"recoil"Symbol 721 MovieClip {Enemy5} Frame 78
"idle"Symbol 823 MovieClip {Enemy6} Frame 1
"run"Symbol 823 MovieClip {Enemy6} Frame 16
"attack1"Symbol 823 MovieClip {Enemy6} Frame 35
"attack2"Symbol 823 MovieClip {Enemy6} Frame 55
"recoil"Symbol 823 MovieClip {Enemy6} Frame 87
"idle"Symbol 947 MovieClip {Enemy7} Frame 1
"attack"Symbol 947 MovieClip {Enemy7} Frame 12
"recoil"Symbol 947 MovieClip {Enemy7} Frame 28
"idle"Symbol 1277 MovieClip {Player} Frame 1
"run"Symbol 1277 MovieClip {Player} Frame 16
"jump"Symbol 1277 MovieClip {Player} Frame 35
"dead"Symbol 1277 MovieClip {Player} Frame 55
"jump_attack"Symbol 1277 MovieClip {Player} Frame 69
"standtoduck"Symbol 1277 MovieClip {Player} Frame 88
"ducking"Symbol 1277 MovieClip {Player} Frame 98
"ducktostand"Symbol 1277 MovieClip {Player} Frame 113
"attack1"Symbol 1277 MovieClip {Player} Frame 123
"attack2"Symbol 1277 MovieClip {Player} Frame 137
"slingattack"Symbol 1277 MovieClip {Player} Frame 157
"slingattack_jump"Symbol 1277 MovieClip {Player} Frame 169
"axe attack1"Symbol 1277 MovieClip {Player} Frame 181
"axe_attack2"Symbol 1277 MovieClip {Player} Frame 195
"axe_attack3"Symbol 1277 MovieClip {Player} Frame 215
"flail_attack1"Symbol 1277 MovieClip {Player} Frame 235
"flail_attack2"Symbol 1277 MovieClip {Player} Frame 252
"flail_attack3"Symbol 1277 MovieClip {Player} Frame 264
"flail_jump_ attack"Symbol 1277 MovieClip {Player} Frame 278
"longbow_attack"Symbol 1277 MovieClip {Player} Frame 292
"longbow_attack_jump"Symbol 1277 MovieClip {Player} Frame 301
"crossbow_attack"Symbol 1277 MovieClip {Player} Frame 310
"crossbow_attack_jump"Symbol 1277 MovieClip {Player} Frame 316
"recoil"Symbol 1277 MovieClip {Player} Frame 322




https://swfchan.com/53/264076/info.shtml
Created: 1/5 -2026 11:21:19 Last modified: 1/5 -2026 11:21:19 Server time: 02/05 -2026 11:38:32