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

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

mijil.swf

This is the info page for
Flash #5552

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


ActionScript [AS3]
Section 1
//Screen (utils.ui.Screen) package utils.ui { import flash.display.*; public class Screen { public var container:Sprite; public function Screen():void{ if (Boot_BA08CD.skip_constructor){ return; }; container = new Sprite(); } public function getContainer():Sprite{ return (container); } } var _local1 = [OP_NEWCLASS ClassInfo:54 base:Object]; ??getglobalscope .LevelStatus = _local1; var _slot1 = new LevelStatus("FINISHED", null); var _slot2 = new LevelStatus("STARTED", null); var _slot3 = new LevelStatus("VOID", null); _local1 = [OP_NEWCLASS ClassInfo:96 base:Object]; ??getglobalscope .ProjectileBaseType = _local1; var _slot1 = new ProjectileBaseType("LIGHTNING", null); var _slot2 = new ProjectileBaseType("MISSILE", null); var _slot3 = new ProjectileBaseType("NORMAL", null); _local1 = [OP_NEWCLASS ClassInfo:101 base:Object]; ??getglobalscope .MissionStatus = _local1; var _slot1 = new MissionStatus("CLEAR", null); var _slot2 = new MissionStatus("CLEARALL", null); var _slot3 = new MissionStatus("START", null); [OP_NEWCLASS ClassInfo:136 base:Object].trace = function (_arg1:Object, _arg2:Object=undefined):void{ Boot_BA08CD.__trace(_arg1, _arg2); }; [OP_NEWCLASS ClassInfo:136 base:Object].clear = function ():void{ Boot_BA08CD.__clear_trace(); }; [OP_NEWCLASS ClassInfo:136 base:Object].setColor = function (_arg1:int):void{ Boot_BA08CD.__set_trace_color(_arg1); }; _local1 = [OP_NEWCLASS ClassInfo:144 base:Object]; ??getglobalscope .ValueType = _local1; var _slot1 = new ValueType("TBool", null); var _slot4 = new ValueType("TFloat", null); var _slot5 = new ValueType("TFunction", null); var _slot6 = new ValueType("TInt", null); var _slot7 = new ValueType("TNull", null); var _slot8 = new ValueType("TObject", null); var _slot9 = new ValueType("TUnknown", null); ??getglobalscope .Boot_BA08CD.init = function ():void{ Date.now = function ():Date{ return (new (Date)); }; Date.fromTime = function (_arg1:Number):Date{ var _local2 = (new (Date) as Date); _local2.setTime(_arg1); return (_local2); }; Date.fromString = function (_arg1:String):Date{ var _local3 = (null as Array); var _local4 = (null as Date); var _local5 = (null as Array); var _local6 = (null as Array); var _local2:int = _arg1.length; if (_local2 == 8){ _local3 = (_arg1.split(":") as Array); _local4 = (new (Date) as Date); _local4.setTime(0); _local4.setUTCHours((_local3[0] as String)); _local4.setUTCMinutes((_local3[1] as String)); _local4.setUTCSeconds((_local3[2] as String)); return (_local4); } else { if (_local2 == 10){ _local3 = (_arg1.split("-") as Array); return (new Date(_local3[0], ((_local3[1] as String) - 1), _local3[2], 0, 0, 0)); } else { if (_local2 == 19){ _local3 = (_arg1.split(" ") as Array); _local5 = ((_local3[0] as String).split("-") as Array); _local6 = ((_local3[1] as String).split(":") as Array); return (new Date(_local5[0], ((_local5[1] as String) - 1), _local5[2], _local6[0], _local6[1], _local6[2])); } else { throw ((("Invalid date format : " + _arg1) as String)); }; }; }; }; Date.prototype["toString"] = function ():String{ var _local1:int = (this.getMonth() + 1); var _local2:int = this.getDate(); var _local3:int = this.getHours(); var _local4:int = this.getMinutes(); var _local5:int = this.getSeconds(); return (((((((((((((((((((((this.getFullYear() + "-") as String) + ((_local1 < 10)) ? (("0" + _local1) as String) : (("" + _local1) as String)) as String) + "-") as String) + ((_local2 < 10)) ? (("0" + _local2) as String) : (("" + _local2) as String)) as String) + " ") as String) + ((_local3 < 10)) ? (("0" + _local3) as String) : (("" + _local3) as String)) as String) + ":") as String) + ((_local4 < 10)) ? (("0" + _local4) as String) : (("" + _local4) as String)) as String) + ":") as String) + ((_local5 < 10)) ? (("0" + _local5) as String) : (("" + _local5) as String)) as String)); }; Math.NaN = Number.NaN; Math.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY; Math.POSITIVE_INFINITY = Number.POSITIVE_INFINITY; Math.isFinite = function (_arg1:Number):Boolean{ return (isFinite(_arg1)); }; Math.isNaN = function (_arg1:Number):Boolean{ return (isNaN(_arg1)); }; var _local1 = ??getglobalscope .ParticleManager; var _slot1 = new List(); var _slot2:int; _local1 = ??getglobalscope .Boot_BA08CD; var _slot5:Boolean; _local1 = ??getglobalscope .Config; var _slot1 = ["www.flashgamelicense.com", "www.fantasticchoice.com", "flashgamelicense.com", "fantasticchoice.com", "117.103.174.67"]; var _slot2 = "http://117.103.174.67/soybean/amfphp/gateway.php"; var _slot3 = "http://rankz.armorbot.com/sentinelsofmijil/"; var _slot4 = "http://www.armorgames.com/"; var _slot5 = "http://www.hallpass.com/"; var _slot6 = 10; var _slot7 = 100; var _slot8 = 5; var _slot9 = 30; var _slot10 = 10; var _slot11 = 10000; var _slot12 = 0.8; var _slot13 = 0.3; var _slot14 = 7; var _slot15 = Std.string("W").charCodeAt(0); var _slot16 = Std.string("S").charCodeAt(0); var _slot17 = Std.string("A").charCodeAt(0); var _slot18 = Std.string("D").charCodeAt(0); var _slot19 = Keyboard.SPACE; var _slot20 = Std.string("T").charCodeAt(0); var _slot21 = Std.string("E").charCodeAt(0); var _slot22 = Keyboard.ESCAPE; var _slot23 = 500; var _slot24 = 20; var _slot25 = 100; var _slot26 = 5; var _slot27 = {maxLifetime:100, minLifetime:50, maxSpeed:6, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot28 = {particleClass:RuneRunningParticle, particleData:Config.runeRunningParticle, lifetime:-1, count:50, radius:500}; var _slot29 = {maxLifetime:15, minLifetime:10, maxSpeed:5, minSpeed:3, maxAngle:360, minAngle:0}; var _slot30 = {particleClass:ProjectileAExplosionParticle, particleData:Config.projectileAExplosionParticle, lifetime:10, count:5, radius:0}; var _slot31 = {maxLifetime:15, minLifetime:10, maxSpeed:5, minSpeed:3, maxAngle:360, minAngle:0}; var _slot32 = {particleClass:ProjectileBExplosionParticle, particleData:Config.projectileBExplosionParticle, lifetime:10, count:5, radius:0}; var _slot33 = {maxLifetime:15, minLifetime:10, maxSpeed:5, minSpeed:3, maxAngle:360, minAngle:0}; var _slot34 = {particleClass:ProjectileCExplosionParticle, particleData:Config.projectileCExplosionParticle, lifetime:10, count:5, radius:0}; var _slot35 = {maxLifetime:50, minLifetime:25, maxSpeed:10, minSpeed:7, maxAngle:360, minAngle:0}; var _slot36 = {particleClass:ProjectileCExplosionParticle, particleData:Config.projectileDExplosionParticle, lifetime:10, count:25, radius:0}; var _slot37 = {maxLifetime:75, minLifetime:50, maxSpeed:10, minSpeed:7, maxAngle:360, minAngle:0}; var _slot38 = {particleClass:ProjectileCExplosionParticle, particleData:Config.projectileEExplosionParticle, lifetime:10, count:25, radius:0}; var _slot39 = {maxLifetime:150, minLifetime:100, maxSpeed:10, minSpeed:7, maxAngle:360, minAngle:0}; var _slot40 = {particleClass:ProjectileCExplosionParticle, particleData:Config.projectileFExplosionParticle, lifetime:10, count:25, radius:0}; var _slot41 = {maxLifetime:15, minLifetime:15, maxSpeed:0, minSpeed:0, maxAngle:0, minAngle:0}; var _slot42 = {particleClass:ProjectileSBurstParticle, particleData:Config.projectileSBurstParticle, lifetime:-1, count:-1, radius:0}; var _slot43 = {maxLifetime:5, minLifetime:5, maxSpeed:0, minSpeed:0, maxAngle:0, minAngle:0}; var _slot44 = {particleClass:ProjectileGBurstParticle, particleData:Config.projectileGBurstParticle, lifetime:-1, count:-1, radius:0}; var _slot45 = {maxLifetime:5, minLifetime:5, maxSpeed:0, minSpeed:0, maxAngle:0, minAngle:0}; var _slot46 = {particleClass:ProjectileJBurstParticle, particleData:Config.projectileJBurstParticle, lifetime:-1, count:-1, radius:0}; var _slot47 = {maxLifetime:5, minLifetime:5, maxSpeed:0, minSpeed:0, maxAngle:0, minAngle:0}; var _slot48 = {particleClass:ProjectilePBurstParticle, particleData:Config.projectilePBurstParticle, lifetime:-1, count:-1, radius:0}; var _slot49 = {maxLifetime:5, minLifetime:5, maxSpeed:0, minSpeed:0, maxAngle:0, minAngle:0}; var _slot50 = {particleClass:ProjectileVBurstParticle, particleData:Config.projectileVBurstParticle, lifetime:-1, count:-1, radius:0}; var _slot51 = {maxLifetime:35, minLifetime:10, maxSpeed:8, minSpeed:8, maxAngle:360, minAngle:0}; var _slot52 = {particleClass:EnemyAExplosionParticle, particleData:Config.enemyAExplosionParticle, lifetime:25, count:45, radius:0}; var _slot53 = {maxLifetime:55, minLifetime:40, maxSpeed:3, minSpeed:2, maxAngle:360, minAngle:0}; var _slot54 = {particleClass:EnemyRuneExplosionParticle, particleData:Config.enemyRuneExplosionParticle, lifetime:30, count:5, radius:0}; var _slot55 = {maxLifetime:40, minLifetime:20, maxSpeed:5, minSpeed:3, maxAngle:360, minAngle:0}; var _slot56 = {particleClass:PlayerExplosionParticle, particleData:Config.playerExplosionParticle, lifetime:25, count:55, radius:0}; var _slot57 = {maxLifetime:35, minLifetime:10, maxSpeed:8, minSpeed:8, maxAngle:360, minAngle:0}; var _slot58 = {particleClass:EnemyTeleportParticle, particleData:Config.enemyTeleportParticle, lifetime:25, count:45, radius:0}; var _slot59 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot60 = {particleClass:EnemyAScoreExplosionParticle, particleData:Config.enemyAScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot61 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot62 = {particleClass:EnemyBScoreExplosionParticle, particleData:Config.enemyBScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot63 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot64 = {particleClass:EnemyCScoreExplosionParticle, particleData:Config.enemyCScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot65 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot66 = {particleClass:EnemyDScoreExplosionParticle, particleData:Config.enemyDScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot67 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot68 = {particleClass:EnemyEScoreExplosionParticle, particleData:Config.enemyEScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot69 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot70 = {particleClass:EnemyFScoreExplosionParticle, particleData:Config.enemyFScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot71 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot72 = {particleClass:EnemyGScoreExplosionParticle, particleData:Config.enemyGScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot73 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot74 = {particleClass:EnemyHScoreExplosionParticle, particleData:Config.enemyHScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot75 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot76 = {particleClass:EnemyMineScoreExplosionParticle, particleData:Config.enemyMineScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot77 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot78 = {particleClass:BossAScoreExplosionParticle, particleData:Config.bossAScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot79 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot80 = {particleClass:BossBScoreExplosionParticle, particleData:Config.bossBScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot81 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot82 = {particleClass:BossCScoreExplosionParticle, particleData:Config.bossCScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot83 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot84 = {particleClass:BossDScoreExplosionParticle, particleData:Config.bossDScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot85 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot86 = {particleClass:BossMineScoreExplosionParticle, particleData:Config.bossMineScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot87 = {maxLifetime:120, minLifetime:120, maxSpeed:2, minSpeed:2, maxAngle:-90, minAngle:-90}; var _slot88 = {particleClass:SpawnerScoreExplosionParticle, particleData:Config.spawnerScoreExplosionParticle, lifetime:120, count:1, radius:0}; var _slot89 = {maxLifetime:40, minLifetime:40, maxSpeed:3, minSpeed:3, maxAngle:-90, minAngle:-90}; var _slot90 = {particleClass:ComboParticle, particleData:Config.comboParticle, lifetime:20, count:1, radius:0}; var _slot91 = {desc:"Simple, very low energy consumption. Standard operational weapon.", openTile:new Rectangle(224, 0, 32, 128), activeTile:new Rectangle(0, 0, 32, 128), buypoint:0, damage:10, deploySound:"BasicProjectile", name:"BUMBLEBEE", spriteClass:"Player_BasicShort", projectileClass:ProjectileA, spread:0, cooldown:7, burnings:0, heatup:0}; var _slot92 = {desc:"Slightly advance, giving more range than BumbleBee. First level of tech upgrade.", openTile:new Rectangle(0x0100, 0, 32, 128), activeTile:new Rectangle(32, 0, 32, 128), buypoint:1, damage:10, deploySound:"BasicProjectile", name:"KILLERBEE", spriteClass:"Player_BasicLong", projectileClass:ProjectileB, spread:0, cooldown:7, burnings:0, heatup:0}; var _slot93 = {desc:"Spreaded light cannon. Slightly higher energy consumption, and damage.", openTile:new Rectangle(416, 0, 32, 128), activeTile:new Rectangle(192, 0, 32, 128), buypoint:6, damage:25, deploySound:"LightCannon", name:"FALCONET", spriteClass:"Player_LCannonShort", projectileClass:ProjectileG, spread:0, cooldown:7, burnings:0, heatup:5}; var _slot94 = {desc:"Targeted medium cannon. With targeted, the weapon has no range of fire. It goes all the way to target.", openTile:new Rectangle(352, 128, 32, 128), activeTile:new Rectangle(128, 128, 32, 128), buypoint:22, damage:30, deploySound:"MediumCannon", name:"VENGEANCE", spriteClass:"Player_MCannonTarget", projectileClass:ProjectileK, spread:0, cooldown:5, burnings:0, heatup:10}; var _slot95 = {desc:"Targeted heavy cannon, piercing. Higher damage, same energy consumption. Piercing enables to cut-through several enemy craft in a single shot.", openTile:new Rectangle(416, 128, 32, 128), activeTile:new Rectangle(192, 128, 32, 128), buypoint:45, damage:45, deploySound:"HeavyCannon", name:"HYEONJA", spriteClass:"Player_HCannonTargetPierce", projectileClass:ProjectileQ, spread:0, cooldown:5, burnings:0, heatup:10}; var _slot96 = {desc:"Laser-based. Slightly more efficient than cannons. Burnings escalates the damage.", openTile:new Rectangle(288, 0x0100, 32, 128), activeTile:new Rectangle(64, 0x0100, 32, 128), buypoint:70, damage:20, deploySound:"Lasers", name:"KERIS", spriteClass:"Player_LaserCannonTarget", projectileClass:ProjectileN, spread:0, cooldown:5, burnings:15, heatup:5}; var _slot97 = {desc:"Laser-based, piercing. The ultimate killer laser-base weapon.", openTile:new Rectangle(320, 0x0100, 32, 128), activeTile:new Rectangle(96, 0x0100, 32, 128), buypoint:90, damage:25, deploySound:"Lasers", name:"ZULFIQAR", spriteClass:"Player_LaserCannonTargetPierce", projectileClass:ProjectileO, spread:0, cooldown:5, burnings:20, heatup:5}; var _slot98 = {desc:"Modified BumbleBee, with spreaded muzzle for wider attack range.", openTile:new Rectangle(320, 0, 32, 128), activeTile:new Rectangle(96, 0, 32, 128), buypoint:2, damage:10, deploySound:"BasicProjectile", name:"BUZZ SWARMER", spriteClass:"Player_BasicSpread", projectileClass:ProjectileD, spread:1, cooldown:10, burnings:0, heatup:15}; var _slot99 = {desc:"Slightly advance, giving more range and faster projectile speed than Buzz Swarmer.", openTile:new Rectangle(352, 0, 32, 128), activeTile:new Rectangle(128, 0, 32, 128), buypoint:4, damage:10, deploySound:"BasicProjectile", name:"HORNET HAIL", spriteClass:"Player_BasicSpreadLong", projectileClass:ProjectileE, spread:1, cooldown:10, burnings:0, heatup:15}; var _slot100 = {desc:"Modified light cannon with spreaded muzzle. Fast and long-ranged.", openTile:new Rectangle(224, 128, 32, 128), activeTile:new Rectangle(0, 128, 32, 128), buypoint:8, damage:25, deploySound:"LightCannon", name:"WARSCREAMER", spriteClass:"Player_LCannonSpread", projectileClass:ProjectileH, spread:1, cooldown:10, burnings:0, heatup:15}; var _slot101 = {desc:"Targeted medium spread cannon. Larger and faster than WarScreamer with no range limit.", openTile:new Rectangle(320, 128, 32, 128), activeTile:new Rectangle(96, 128, 32, 128), buypoint:42, damage:30, deploySound:"MediumCannon", name:"ENFORCER", spriteClass:"Player_MCannonPierce", projectileClass:ProjectileL, spread:1, cooldown:10, burnings:0, heatup:15}; var _slot102 = {desc:"Spreaded heavy cannon with piercing tech. Piercing enables to cut-through several enemy craft at one shot.", openTile:new Rectangle(224, 0x0100, 32, 128), activeTile:new Rectangle(0, 0x0100, 32, 128), buypoint:71, damage:45, deploySound:"HeavyCannon", name:"HELLBREAKER", spriteClass:"Player_HCannonTargetSpreadPierce", projectileClass:ProjectileR, spread:1, cooldown:15, burnings:0, heatup:15}; var _slot103 = {desc:"Missile-based, single-targeted. The Ezra'eil is a fast semi-swarming missile-based with high-damage. Top-notch weapon.", openTile:new Rectangle(352, 0x0100, 32, 128), activeTile:new Rectangle(128, 0x0100, 32, 128), buypoint:40, damage:70, deploySound:"Missiles", name:"EZRA'EIL", spriteClass:"Player_MissileTarget", projectileClass:ProjectileS, spread:0, cooldown:0, burnings:0, heatup:15}; var _slot104 = {desc:"Missile-based, multi-targeted. Heavier than Ezra'eil, the multi-targeted feature gives more advantage to the Drail.", openTile:new Rectangle(384, 0x0100, 32, 128), activeTile:new Rectangle(160, 0x0100, 32, 128), buypoint:75, damage:70, deploySound:"Missiles", name:"DRAIL", spriteClass:"Player_MissileTargetSpread", projectileClass:ProjectileT, spread:1, cooldown:0, burnings:0, heatup:15}; var _slot105 = {desc:"Missile-based, multi-targeted, piercing. The Zeus of all weapons.", openTile:new Rectangle(416, 0x0100, 32, 128), activeTile:new Rectangle(192, 0x0100, 32, 128), buypoint:100, damage:70, deploySound:"Missiles", name:"ISRAAFIYL", spriteClass:"Player_MissileTargetSpreadPierce", projectileClass:ProjectileU, spread:1, cooldown:0, burnings:0, heatup:15}; var _slot106 = 14; var _slot107 = 30; var _slot108 = 52; var _slot109 = 2; var _slot110 = 2; var _slot111 = {particleData:Config.projectileDExplosionEmitter, desc:"Basic bomb, small radius, but good enough to clear some space.", name:"XION BOMB", upgradepoint:0, buypoint:20, cooldown:2000, damage:999999, radius:100}; var _slot112 = {particleData:Config.projectileEExplosionEmitter, desc:"Medium bomb, larger radius, faster cooldown.", name:"PHOTON BOMB", upgradepoint:40, buypoint:20, cooldown:1500, damage:999999, radius:175}; var _slot113 = {particleData:Config.projectileFExplosionEmitter, desc:"Heavy bomb. Literally clears the system from baddies. Best to ignite on the system center. Very fast cooldown.", name:"NOVA BOMB", upgradepoint:60, buypoint:20, cooldown:1000, damage:999999, radius:250}; var _slot114 = {row:0, col:1}; var _slot115 = {row:0, col:0}; var _slot116 = {row:0, col:2}; var _slot117 = {row:1, col:2}; var _slot118 = {row:1, col:0}; var _slot119 = {row:2, col:2}; var _slot120 = {row:2, col:0}; var _slot121 = {row:3, col:2}; var _slot122 = {row:4, col:0}; var _slot123 = {row:5, col:0}; var _slot124 = {row:3, col:0}; var _slot125 = {row:5, col:2}; var _slot126 = {row:3, col:1}; var _slot127 = {row:5, col:1}; var _slot128 = {row:7, col:1}; var _slot129 = {stunRadius:0, stunPlayer:false, spawnOnDeath:false, spawnOnHit:false, worth:60, hitpoint:125, spawnEnemy:EnemyA, spawnCount:6, spawnTime:500}; var _slot130 = {stunRadius:0, stunPlayer:false, spawnOnDeath:false, spawnOnHit:false, worth:60, hitpoint:125, spawnEnemy:EnemyB, spawnCount:6, spawnTime:500}; var _slot131 = {stunRadius:0, stunPlayer:false, spawnOnDeath:false, spawnOnHit:false, worth:60, hitpoint:150, spawnEnemy:EnemyC, spawnCount:4, spawnTime:550}; var _slot132 = {stunRadius:0, stunPlayer:false, spawnOnDeath:false, spawnOnHit:false, worth:70, hitpoint:150, spawnEnemy:EnemyD, spawnCount:4, spawnTime:550}; var _slot133 = {stunRadius:0, stunPlayer:false, spawnOnDeath:false, spawnOnHit:false, worth:70, hitpoint:150, spawnEnemy:EnemyE, spawnCount:4, spawnTime:550}; var _slot134 = {stunRadius:0, stunPlayer:false, spawnOnDeath:false, spawnOnHit:false, worth:400, hitpoint:1400, spawnEnemy:[EnemyA, EnemyC, EnemyE], spawnCount:8, spawnTime:500}; var _slot135 = {worth:10, hitpoint:20}; var _slot136 = {worth:20, hitpoint:40}; var _slot137 = {worth:20, hitpoint:40}; var _slot138 = {worth:25, hitpoint:80}; var _slot139 = {worth:30, hitpoint:90}; var _slot140 = {worth:35, hitpoint:100}; var _slot141 = {worth:40, hitpoint:120}; var _slot142 = {worth:50, hitpoint:150}; var _slot143 = {worth:5, hitpoint:20}; var _slot144 = {worth:10, hitpoint:80}; var _slot145 = {worth:200, hitpoint:400}; var _slot146 = {worth:300, hitpoint:1000}; var _slot147 = {worth:400, hitpoint:1600}; var _slot148 = {worth:10, hitpoint:20}; _local1 = ??getglobalscope .TutorialManager; var _slot1:Boolean; var _slot2:Boolean; var _slot17 = new Timer(Config.mainTick); var _slot20 = {selectable:false, align:TextFormatAlign.LEFT, embedFonts:true, color:0xFFFFFF, size:8, font:new DescStandard().fontName}; _local1 = ??getglobalscope .ProjectileManager; var _slot1 = new Array(); _local1 = ??getglobalscope .Tweener; var _slot2:Boolean; var _slot3:Boolean; var _slot6 = 1; _local1 = ??getglobalscope .CollisionManager; var _slot1 = 25; _local1 = ??getglobalscope .KeyMouseManager; var _slot1 = Lib.current.stage; var _slot2 = new IntHash(); var _slot3 = new IntHash(); var _slot4 = new List(); _local1 = ??getglobalscope .Unserializer; var _slot1 = Type; _local1 = ??getglobalscope .Serializer; var _slot1:Boolean; _local1 = ??getglobalscope .@Main; var _slot1 = Main.main(); }; var _local2 = (new Dictionary() as Dictionary); ??getglobalscope .Boot_BA08CD.__res = _local2; }//package utils.ui import flash.display.*; import game.screens.*; import flash.*; import game.*; import flash.geom.*; import flash.text.*; import flash.filters.*; import flash.utils.*; import flash.events.*; import utils.logger.*; import caurina.transitions.*; import game.managers.*; import game.entities.*; import flash.ui.*; import game.entities.template.*; import utils.*; import game.entities.projectile.*; import game.entities.enemies.*; import game.missions.*; import game.entities.particles.*; import flash.net.*; import flash.system.*; import haxe.*; import flash.media.*; import haxe.remoting.*; class PlayScreen extends Screen { public var weaponslot2:Label; public var weaponslot1:Label; public var waveBar:Sprite; public var waveBGBar:Sprite; public var techpointContainer:Sprite; public var techpoint:Label; public var systemHPBar:Sprite; public var systemHPBGBar:Sprite; public var stage:Stage; public var sectorClear:Sprite; public var scoreContainer:Sprite; public var score:Label; public var rstylesmall:Object; public var rstyle:Object; public var projectileContainer:Sprite; public var playerContainer:Sprite; public var player:Player; public var particleContainer:Sprite; public var mission5Sector:Sprite; public var mission4Sector:Sprite; public var mission3Sector:Sprite; public var mission2Sector:Sprite; public var mission1Sector:Sprite; public var mainTick:Timer; public var lstylesmall:Object; public var lstyle:Object; public var lives:Label; public var levelsContainer:Sprite; public var levels:Label; public var isPlayerInControl:Boolean; public var isBombReady:Boolean; public var hudCustomInfo:Sprite; public var hudContainer:Sprite; public var hudBonusTime:Sprite; public var enemyContainer:Sprite; public var curtechpointsContainer:Sprite; public var curtechpoints:Label; public var cstyle:Object; public var crosshairContainer:Sprite; public var crosshair:Sprite; public var boundary:Sprite; public var bombqtycooldown:Label; public var bombqtyMask:Sprite; public var bombqty:Label; public var bombcooldown:Label; public var barMarks:Sprite; public var background:Sprite; public var allSectorsClear:Sprite; public var FPS:FPS; public function PlayScreen():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); isPlayerInControl = false; stage = Lib.current.stage; background = new Sprite(); playerContainer = new Sprite(); projectileContainer = new Sprite(); enemyContainer = new Sprite(); particleContainer = new Sprite(); crosshairContainer = new Sprite(); hudContainer = new Sprite(); particleContainer.alpha = 0.8; hudContainer.alpha = 0.7; crosshair = new Sprite(); crosshair.graphics.lineStyle(1, 0xFFFFFF); crosshair.graphics.drawRect(-3, -3, 6, 6); crosshairContainer.addChild(crosshair); boundary = new Sprite(); boundary.graphics.lineStyle(1, 0xFFFFFF, 0.2); boundary.graphics.drawRect(0, 0, 490, 490); boundary.x = 5; boundary.y = 5; var _local1 = (new BitmapData(128, 80, true) as BitmapData); _local1.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(0, 0, 128, 80), new Point(0, 0)); mission1Sector = new Sprite(); mission1Sector.addChild(new Bitmap(_local1)); mission1Sector.x = (-(mission1Sector.width) / 2); mission1Sector.y = (-(mission1Sector.height) / 2); var _local2 = (new BitmapData(128, 80, true) as BitmapData); _local2.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(128, 0, 128, 80), new Point(0, 0)); mission2Sector = new Sprite(); mission2Sector.addChild(new Bitmap(_local2)); mission2Sector.x = (-(mission1Sector.width) / 2); mission2Sector.y = (-(mission1Sector.height) / 2); var _local3 = (new BitmapData(128, 80, true) as BitmapData); _local3.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(0, 80, 128, 80), new Point(0, 0)); mission3Sector = new Sprite(); mission3Sector.addChild(new Bitmap(_local3)); mission3Sector.x = (-(mission1Sector.width) / 2); mission3Sector.y = (-(mission1Sector.height) / 2); var _local4 = (new BitmapData(128, 80, true) as BitmapData); _local4.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(128, 80, 128, 80), new Point(0, 0)); mission4Sector = new Sprite(); mission4Sector.addChild(new Bitmap(_local4)); mission4Sector.x = (-(mission1Sector.width) / 2); mission4Sector.y = (-(mission1Sector.height) / 2); var _local5 = (new BitmapData(128, 80, true) as BitmapData); _local5.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(0, 160, 128, 80), new Point(0, 0)); mission5Sector = new Sprite(); mission5Sector.addChild(new Bitmap(_local5)); mission5Sector.x = (-(mission1Sector.width) / 2); mission5Sector.y = (-(mission1Sector.height) / 2); var _local6 = (new BitmapData(128, 80, true) as BitmapData); _local6.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(0x0100, 0, 128, 80), new Point(0, 0)); sectorClear = new Sprite(); sectorClear.addChild(new Bitmap(_local6)); sectorClear.x = (-(sectorClear.width) / 2); sectorClear.y = (-(sectorClear.height) / 2); var _local7 = (new BitmapData(176, 160, true) as BitmapData); _local7.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(0x0100, 112, 176, 160), new Point(0, 0)); allSectorsClear = new Sprite(); allSectorsClear.addChild(new Bitmap(_local7)); allSectorsClear.x = (-(allSectorsClear.width) / 2); allSectorsClear.y = (-(allSectorsClear.height) / 2); lstyle = {selectable:false, align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, color:0xFFFFFF, size:16, font:new ScoreStandard().fontName}; lstylesmall = {selectable:false, align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, color:0xFFFFFF, size:8, font:new DescStandard().fontName}; rstyle = {selectable:false, align:TextFormatAlign.RIGHT, autosize:TextFieldAutoSize.RIGHT, embedFonts:true, color:0xFFFFFF, size:16, font:new ScoreStandard().fontName}; rstylesmall = {selectable:false, align:TextFormatAlign.RIGHT, autosize:TextFieldAutoSize.RIGHT, embedFonts:true, color:0xFFFFFF, size:8, font:new DescStandard().fontName}; cstyle = {selectable:false, align:TextFormatAlign.CENTER, autosize:TextFieldAutoSize.CENTER, embedFonts:true, color:0xFFFFFF, size:16, font:new ScoreStandard().fontName}; lives = new Label((("LIVES: " + Profile.lives) as String), rstylesmall); score = new Label(Std.string(Profile.score), rstyle); levels = new Label("LEVEL.01", cstyle); techpoint = new Label("+1 TECHPOINT!", rstyle); curtechpoints = new Label((("TECHPOINT: " + Profile.techpoint) as String), rstylesmall); weaponslot1 = new Label("------", lstyle); weaponslot2 = new Label("------", lstylesmall); bombqty = new Label("BOMB: 0", lstylesmall); bombqtycooldown = new Label("BOMB: 0", lstylesmall); bombqtycooldown.getTextField().alpha = 0.5; bombcooldown = new Label("BOMB READY", lstyle); bombcooldown.getTextField().alpha = 0; bombqtyMask = new Sprite(); bombqtyMask.graphics.beginFill(0xFFFFFF); bombqtyMask.graphics.drawRect(0, -10, 200, 10); bombqty.getTextField().mask = bombqtyMask; isBombReady = true; barMarks = new Sprite(); barMarks.addChild(new Bitmap(Assets.objects.get("BarMarks"))); waveBar = new Sprite(); waveBar.graphics.beginFill(0xFFFFFF, 0.8); waveBar.graphics.drawRect(-100, 0, 200, 3); waveBGBar = new Sprite(); waveBGBar.graphics.beginFill(0xFFFFFF, 0.2); waveBGBar.graphics.drawRect(-100, 0, 200, 3); systemHPBar = new Sprite(); systemHPBar.graphics.beginFill(0xFFFFFF, 0.8); systemHPBar.graphics.drawRect(-100, 0, 200, 3); systemHPBGBar = new Sprite(); systemHPBGBar.graphics.beginFill(0xFFFFFF, 0.2); systemHPBGBar.graphics.drawRect(-100, 0, 200, 3); var _local8 = (new BitmapData(96, 16, true) as BitmapData); _local8.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(384, 0, 96, 16), new Point(0, 0)); hudBonusTime = new Sprite(); hudBonusTime.addChild(new Bitmap(_local8)); hudBonusTime.alpha = 0; hudBonusTime.y = 20; hudBonusTime.x = (250 - (hudBonusTime.width / 2)); hudCustomInfo = new Sprite(); hudCustomInfo.y = 700; hudCustomInfo.x = 250; hudCustomInfo.filters = [new GlowFilter(0xFFFFFF, 0.7, 2, 2, 2, 3, false, false)]; scoreContainer = new Sprite(); score.getTextField().x = -(score.getTextField().width); scoreContainer.addChild(score.getTextField()); scoreContainer.x = (500 - 6); scoreContainer.y = 2; lives.getTextField().x = ((stage.stageWidth - lives.getTextField().width) - 7); lives.getTextField().y = 20; levelsContainer = new Sprite(); levels.getTextField().x = (-(levels.getTextField().width) / 2); levelsContainer.addChild(levels.getTextField()); levelsContainer.x = 250; levelsContainer.y = 468; levelsContainer.alpha = 0.3; techpointContainer = new Sprite(); techpoint.getTextField().x = -(techpoint.getTextField().width); techpointContainer.addChild(techpoint.getTextField()); techpointContainer.x = (500 - 6); techpointContainer.y = 476; techpointContainer.alpha = 0; curtechpointsContainer = new Sprite(); curtechpoints.getTextField().x = -(curtechpoints.getTextField().width); curtechpointsContainer.addChild(curtechpoints.getTextField()); curtechpointsContainer.x = (500 - 6); curtechpointsContainer.y = 476; weaponslot1.getTextField().x = 8; weaponslot2.getTextField().x = 9; weaponslot1.getTextField().y = 2; weaponslot2.getTextField().y = 2; barMarks.x = 143; barMarks.y = 11; var _local9:* = 107; systemHPBGBar.x = _local9; systemHPBar.x = _local9; _local9 = 8; systemHPBGBar.y = _local9; systemHPBar.y = _local9; _local9 = 107; waveBGBar.x = _local9; waveBar.x = _local9; _local9 = 14; waveBGBar.y = _local9; waveBar.y = _local9; bombqty.getTextField().x = 8; bombqty.getTextField().y = 476; bombqtycooldown.getTextField().x = 8; bombqtycooldown.getTextField().y = 476; bombcooldown.getTextField().x = 8; bombcooldown.getTextField().y = 476; bombqtyMask.x = 8; bombqtyMask.y = 492; barMarks.addChild(systemHPBar); barMarks.addChild(systemHPBGBar); barMarks.addChild(waveBar); barMarks.addChild(waveBGBar); hudContainer.addChild(lives.getTextField()); hudContainer.addChild(scoreContainer); hudContainer.addChild(weaponslot1.getTextField()); hudContainer.addChild(weaponslot2.getTextField()); hudContainer.addChild(barMarks); hudContainer.addChild(curtechpointsContainer); hudContainer.addChild(hudBonusTime); hudContainer.addChild(hudCustomInfo); hudContainer.addChild(bombqty.getTextField()); hudContainer.addChild(bombqtyMask); hudContainer.addChild(bombqtycooldown.getTextField()); hudContainer.addChild(bombcooldown.getTextField()); container.addChild(background); container.addChild(hudContainer); container.addChild(levelsContainer); container.addChild(techpointContainer); container.addChild(projectileContainer); container.addChild(enemyContainer); container.addChild(playerContainer); container.addChild(particleContainer); container.addChild(crosshairContainer); container.addChild(boundary); mainTick = new Timer(Config.mainTick); mainTick.addEventListener(TimerEvent.TIMER, onMainTickTimerHandler); } public function updateHUDWeaponSlots():void{ weaponslot1.updateLabel((player.weaponSlot[0].name as String)); weaponslot2.updateLabel((player.weaponSlot[1].name as String)); } public function updateHUDTechpoints(_arg1:int, _arg2:Object=undefined):void{ var _local3:Boolean = ((_arg2 == null)) ? true : _arg2; curtechpoints.updateLabel((("TECHPOINT: " + Profile.techpoint) as String)); if (_local3){ techpoint.updateLabel((((("+" + Std.string(_arg1)) as String) + " TECHPOINT") as String)); Tweener.addTween(techpointContainer, {transition:"easeOutCubic", time:0.5, scaleY:1, scaleX:1, y:456, alpha:0.8}); Tweener.addTween(techpointContainer, {transition:"easeInCubic", delay:0.5, time:0.5, scaleY:1, scaleX:1, y:476, alpha:0}); }; } public function updateHUDScore():void{ score.updateLabel(Std.string(Profile.score)); Tweener.addTween(scoreContainer, {transition:"easeOutCubic", time:0.5, scaleY:2, scaleX:2}); Tweener.addTween(scoreContainer, {transition:"easeInCubic", delay:0.5, time:0.5, scaleY:1, scaleX:1}); Tweener.addTween(lives.getTextField(), {transition:"easeOutCubic", time:0.5, y:44}); Tweener.addTween(lives.getTextField(), {transition:"easeInCubic", delay:0.5, time:0.5, y:20}); } public function updateHUDLives():void{ lives.updateLabel((("LIVES: " + Profile.lives) as String)); } public function updateHUDLevels():void{ var _local1 = ("" as String); if ((Profile.curLevel < 10)){ _local1 = (((0 + Std.string(Profile.curLevel)) as String) as String); } else { _local1 = (Std.string(Profile.curLevel) as String); }; levels.updateLabel((("LEVEL." + _local1) as String)); Tweener.addTween(levelsContainer, {transition:"easeOutCubic", time:0.5, scaleY:2, scaleX:2, y:400, alpha:0.7}); Tweener.addTween(levelsContainer, {transition:"easeInCubic", delay:0.5, time:0.5, scaleY:1, scaleX:1, y:468, alpha:0.3}); } public function updateHUDBombCooldown(_arg1:Number):void{ bombqtyMask.scaleY = _arg1; if ((bombqtyMask.scaleY == 1)){ false; }; if (false){ bombqty.getTextField().alpha = 1; isBombReady = false; Tweener.addTween(bombcooldown.getTextField(), {transition:"easeOutCubic", time:0.5, scaleY:1, scaleX:1, y:456, alpha:0.8}); Tweener.addTween(bombcooldown.getTextField(), {transition:"easeInCubic", delay:0.5, time:0.5, scaleY:1, scaleX:1, y:476, alpha:0}); } else { if ((bombqtyMask.scaleY < 1)){ isBombReady = true; bombqty.getTextField().alpha = 0.6; }; }; } public function updateHUDBomb():void{ var _local1:* = Reflect.field(Config, (("bomb" + Profile.bomblvl) as String)); var _local2 = ((((((_local1.name as String).toUpperCase() + ": ") as String) + Profile.bombqty) as String) as String); bombqty.updateLabel(_local2); bombqtycooldown.updateLabel(_local2); } public function swapWeapon():void{ player.swapWeapon(); var _local1:int = player.weaponSlot.length; var _local2:int = (player.activeWeaponSlot + 1); var _local3:int = (((_local2 - 1) <= 0)) ? _local1 : (_local2 - 1); var _local4 = (Reflect.field(this, (("weaponslot" + _local3) as String)) as Label); var _local5 = (Reflect.field(this, (("weaponslot" + _local2) as String)) as Label); _local4.updateLabel(_local4.getTextField().text, null, lstylesmall); _local5.updateLabel(_local5.getTextField().text, null, lstyle); Tweener.addTween(_local4.getTextField(), {transition:"easeOutCubic", time:0.5, scaleY:1, scaleX:1, x:9, y:46}); Tweener.addTween(_local4.getTextField(), {transition:"easeInCubic", delay:0.5, time:0.5, scaleY:1, scaleX:1, x:9, y:21}); Tweener.addTween(_local5.getTextField(), {transition:"easeOutCubic", time:0.5, scaleY:2, scaleX:2, x:8, y:2}); Tweener.addTween(_local5.getTextField(), {transition:"easeInCubic", delay:0.5, time:0.5, scaleY:1, scaleX:1, x:8, y:2}); } public function start():void{ playerCaptureKeys(); mainTick.start(); } public function setWavePerc(_arg1:Number):void{ waveBar.scaleX = _arg1; } public function setSystemHPPerc(_arg1:Number):void{ systemHPBar.scaleX = _arg1; } public function setBackground(_arg1:Bitmap):void{ if ((background.numChildren > 0)){ background.removeChildAt(0); }; background.addChildAt(_arg1, 0); } public function reset():void{ MissionManager.clearContainer(); CollisionManager.resetGrids(); ProjectileManager.clearContainer(); ParticleManager.clearContainer(); mainTick.reset(); if ((playerContainer.numChildren > 0)){ player.destroy(false); }; } public function releaseBomb():void{ player.releaseBomb(); } public function playerStopShoot():void{ player.stopshoot(); } public function playerStopMoveVert():void{ player.vectorY = 0; } public function playerStopMoveHorz():void{ player.vectorX = 0; } public function playerStartShoot():void{ player.shoot(); } public function playerReleaseKeys(_arg1:Object=undefined):void{ var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (isPlayerInControl){ isPlayerInControl = false; if (!(_local2)){ Mouse.show(); }; KeyMouseManager.unregisterDownKey(Config.upKey, playerMoveUp); KeyMouseManager.unregisterDownKey(Config.downKey, playerMoveDown); KeyMouseManager.unregisterDownKey(Config.rightKey, playerMoveRight); KeyMouseManager.unregisterDownKey(Config.leftKey, playerMoveLeft); KeyMouseManager.unregisterDownKey(Config.switchWeapons, swapWeapon); KeyMouseManager.unregisterDownKey(Config.releaseBomb, releaseBomb); KeyMouseManager.unregisterDownKey(Config.openTechDialog, openTechDialog); KeyMouseManager.unregisterDownKey(Config.openMenuDialog, openMenuDialog); KeyMouseManager.unregisterUpKey(Config.upKey, playerStopMoveVert); KeyMouseManager.unregisterUpKey(Config.downKey, playerStopMoveVert); KeyMouseManager.unregisterUpKey(Config.rightKey, playerStopMoveHorz); KeyMouseManager.unregisterUpKey(Config.leftKey, playerStopMoveHorz); KeyMouseManager.unregisterDownMouse(); KeyMouseManager.unregisterUpMouse(); KeyMouseManager.unregisterMoveMouse(); }; } public function playerMoveUp():void{ player.vectorY = -(Profile.speed); } public function playerMoveRight():void{ player.vectorX = Profile.speed; } public function playerMoveLeft():void{ player.vectorX = -(Profile.speed); } public function playerMoveDown():void{ player.vectorY = Profile.speed; } public function playerCaptureKeys():void{ if (!(isPlayerInControl)){ isPlayerInControl = true; Mouse.hide(); KeyMouseManager.registerDownKey(Config.upKey, playerMoveUp); KeyMouseManager.registerDownKey(Config.downKey, playerMoveDown); KeyMouseManager.registerDownKey(Config.rightKey, playerMoveRight); KeyMouseManager.registerDownKey(Config.leftKey, playerMoveLeft); KeyMouseManager.registerDownKey(Config.switchWeapons, swapWeapon); KeyMouseManager.registerDownKey(Config.releaseBomb, releaseBomb); KeyMouseManager.registerDownKey(Config.openTechDialog, openTechDialog); KeyMouseManager.registerDownKey(Config.openMenuDialog, openMenuDialog); KeyMouseManager.registerUpKey(Config.upKey, playerStopMoveVert); KeyMouseManager.registerUpKey(Config.downKey, playerStopMoveVert); KeyMouseManager.registerUpKey(Config.rightKey, playerStopMoveHorz); KeyMouseManager.registerUpKey(Config.leftKey, playerStopMoveHorz); KeyMouseManager.registerDownMouse(playerStartShoot); KeyMouseManager.registerUpMouse(playerStopShoot); KeyMouseManager.registerMoveMouse(crosshairFollowMouse); }; if (TutorialManager.isRunning){ false; }; if (false){ KeyMouseManager.unregisterDownKey(Config.upKey, playerMoveUp); KeyMouseManager.unregisterDownKey(Config.downKey, playerMoveDown); KeyMouseManager.unregisterDownKey(Config.rightKey, playerMoveRight); KeyMouseManager.unregisterDownKey(Config.leftKey, playerMoveLeft); KeyMouseManager.unregisterDownKey(Config.releaseBomb, releaseBomb); KeyMouseManager.unregisterDownKey(Config.openTechDialog, openTechDialog); KeyMouseManager.unregisterUpKey(Config.upKey, playerStopMoveVert); KeyMouseManager.unregisterUpKey(Config.downKey, playerStopMoveVert); KeyMouseManager.unregisterUpKey(Config.rightKey, playerStopMoveHorz); KeyMouseManager.unregisterUpKey(Config.leftKey, playerStopMoveHorz); KeyMouseManager.unregisterDownMouse(); KeyMouseManager.unregisterUpMouse(); }; } public function pause():void{ playerReleaseKeys(false); mainTick.stop(); } public function openTechDialog():void{ ScreenManager.showDialog("tech"); pause(); } public function openMenuDialog():void{ ScreenManager.showDialog("menu"); pause(); } public function onMainTickTimerHandler(_arg1:TimerEvent):void{ player.update(); ProjectileManager.update(); ParticleManager.update(); MissionManager.update(); CollisionManager.update(); } public function init():void{ player = new Player(playerContainer, new Rectangle(boundary.x, boundary.y, boundary.width, boundary.height)); weaponslot2.getTextField().y = 21; ProjectileManager.setupContainer(projectileContainer, new Rectangle(boundary.x, boundary.y, boundary.width, boundary.height)); ParticleManager.setupContainer(particleContainer, mainTick); MissionManager.setupContainer(enemyContainer, new Rectangle(boundary.x, boundary.y, boundary.width, boundary.height)); if (TutorialManager.isRunning){ TutorialManager.startTutorial(); MissionManager.startMission(0); } else { MissionManager.startMission(Profile.curMissionID); }; setSystemHPPerc(1); setWavePerc(1); updateHUDLives(); updateHUDScore(); updateHUDLevels(); updateHUDWeaponSlots(); updateHUDBomb(); updateHUDBombCooldown(1); updateHUDTechpoints(Profile.techpoint); } public function displayCustomHUDInfo(_arg1:MissionStatus, _arg2:String, _arg3:Object):void{ hudCustomInfo.y = (400 - hudCustomInfo.height); hudCustomInfo.x = 250; hudCustomInfo.alpha = 0; if ((hudCustomInfo.numChildren > 0)){ hudCustomInfo.removeChildAt(0); }; var _local4 = (_arg1 as MissionStatus); if (_local4 == (MissionStatus.START as MissionStatus)){ hudCustomInfo.addChild(Reflect.field(this, _arg2)); } else { if (_local4 == (MissionStatus.CLEAR as MissionStatus)){ hudCustomInfo.addChild(sectorClear); } else { if (_local4 == (MissionStatus.CLEARALL as MissionStatus)){ hudCustomInfo.addChild(allSectorsClear); //unresolved jump }; }; }; Tweener.addTween(hudCustomInfo, {transition:"easeOutCubic", time:2, delay:1, alpha:1, y:250}); Tweener.addTween(hudCustomInfo, {onComplete:_arg3, transition:"easeInCubic", time:2, delay:3, alpha:0, y:100}); } public function crosshairFollowMouse():void{ player.target(stage.mouseX, stage.mouseY); crosshair.x = stage.mouseX; crosshair.y = stage.mouseY; } public function captureReleaseBombKey():void{ KeyMouseManager.registerDownKey(Config.releaseBomb, releaseBomb); } public function captureOpenTechDialog():void{ KeyMouseManager.registerDownKey(Config.openTechDialog, openTechDialog); } public function captureNavigationKeys():void{ KeyMouseManager.registerDownKey(Config.upKey, playerMoveUp); KeyMouseManager.registerDownKey(Config.downKey, playerMoveDown); KeyMouseManager.registerDownKey(Config.rightKey, playerMoveRight); KeyMouseManager.registerDownKey(Config.leftKey, playerMoveLeft); KeyMouseManager.registerUpKey(Config.upKey, playerStopMoveVert); KeyMouseManager.registerUpKey(Config.downKey, playerStopMoveVert); KeyMouseManager.registerUpKey(Config.rightKey, playerStopMoveHorz); KeyMouseManager.registerUpKey(Config.leftKey, playerStopMoveHorz); } public function captureMouse():void{ KeyMouseManager.registerDownMouse(playerStartShoot); KeyMouseManager.registerUpMouse(playerStopShoot); } public function calculateAddedTechPoints(_arg1:int):void{ var _local5:int; var _local2:Boolean; var _local3:int; var _local4:int; if ((_arg1 >= Config.scoreToTechConvertThreshold)){ _local5 = Math.round((_arg1 / Config.scoreToTechConvertThreshold)); _local4 = Math.round((_arg1 % Config.scoreToTechConvertThreshold)); Profile.techpoint = (Profile.techpoint + _local5); _local3 = (_local3 + _local5); _local2 = true; } else { _local4 = _arg1; }; Profile.score4tech = (Profile.score4tech + _local4); if ((Profile.score4tech >= Config.scoreToTechConvertThreshold)){ Profile.score4tech = (Profile.score4tech - Config.scoreToTechConvertThreshold); Profile.techpoint = (Profile.techpoint + 1); _local3++; _local2 = true; }; if (_local2){ updateHUDTechpoints(_local3); }; } public function addBonusTime():void{ Profile.score = (Profile.score + Config.bonusTimeScore); calculateAddedTechPoints(Config.bonusTimeScore); updateHUDScore(); if (((Profile.score % Config.scoreToLifeThreshold) == 0)){ Profile.lives = (Profile.lives + 1); updateHUDLives(); }; Tweener.addTween(hudBonusTime, {transition:"easeOutCubic", time:0.5, scaleY:1, scaleX:1, y:40, alpha:0.8}); Tweener.addTween(hudBonusTime, {transition:"easeInCubic", delay:0.5, time:0.5, scaleY:1, scaleX:1, y:20, alpha:0}); } } class Projectile { public var vector:Vector; public var useTarget:Boolean; public var turningSpeed:int; public var targetPoint:Point; public var speed:int; public var projectileSprite:Sprite; public var maxDistance:int; public var isFading:Boolean; public var isEnemy:Boolean; public var initPoint:Point; public var hitNDestroy:Boolean; public var grid:Object; public var fadeSteps:int; public var damage:int; public var currentDistance:Number; public var baseType:ProjectileBaseType; public function Projectile(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; isEnemy = false; isFading = false; fadeSteps = 5; speed = 5; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); targetPoint = _arg2; currentDistance = 0; maxDistance = 0; turningSpeed = 0; useTarget = true; hitNDestroy = true; baseType = ProjectileBaseType.NORMAL; grid = {bottomright:"", bottomleft:"", topright:"", topleft:"", left:"", right:"", bottom:"", top:"", center:""}; projectileSprite = new Sprite(); } public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; } public function explode():void{ } public function destroy(_arg1:Object=undefined):void{ var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class ProjectileN extends Projectile { public function ProjectileN(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileN.damage; speed = 20; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); baseType = ProjectileBaseType.LIGHTNING; useTarget = true; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(8, 8, true, 0xFFFFFF) as BitmapData); Raster.circle(_local4, 0, 0, 4, 0xFFFFFF); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.x = -4; _local5.y = -4; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } } class EnemyHSprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function EnemyHSprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(14, 14, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -7; core.y = -7; var _local2 = (new BitmapData(224, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0x0100, 0, 224, 32), new Point(0, 0)); equip = new MovieTile(_local2, 32, 32); equip.x = -16; equip.y = -16; equipframes = equip.frames; var _local3 = (new BitmapData(14, 14, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); var _local4:int; var _local5:int = 14; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 14; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -7; inflictCore.y = -7; var _local10 = (new BitmapData(224, 32, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0x0100, 0, 224, 32), new Point(0, 0)); _local4 = 0; _local5 = 192; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 32; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 32, 32); inflictEquip.x = -16; inflictEquip.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function idle():void{ equip.goToFrame(6); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } interface IMission { } class Mission implements IMission { public var regenIntegrityRate:Number; public var parent:Sprite; public var nextLevelTime:int; public var levels:List; public var lastCheckedTime:int; public var isLastLevelInMission:Boolean; public var integrityThreshold:int; public var hasStarted:Boolean; public var hasDestroyedPlayer:Boolean; public var enemies:Array; public var damageIntegrityRate:Number; public var currentTime:int; public var currentLevel:Object; public var currentIntegrity:Number; public var boundary:Rectangle; public function Mission():void{ if (Boot_BA08CD.skip_constructor){ return; }; levels = new List(); enemies = new Array(); } public function start():void{ var _local3:* = null; var _local4:* = null; var _local5 = (null as Enemy); hasStarted = true; nextLevelTime = currentLevel.delay; var _local1 = ((currentLevel.pattern as List) as List); var _local2:* = _local1.iterator(); do { //unresolved if _local3 = _local2.next(); _local4 = _local3.enemy; _local5 = (Type.createInstance(Type.toClass(_local4), [parent, boundary, (_local3.pos as Point)]) as Enemy); enemies.push(_local5); } while (true); if (!(SoundManager.isAmbientPlaying())){ SoundManager.playAmbient("mission"); }; } public function resetPlayerDestroyFlag():void{ hasDestroyedPlayer = false; } public function resetIntegrity():void{ currentIntegrity = 1; } public function removeEnemy(_arg1:Enemy):void{ enemies.remove(_arg1); } public function prepareLevels():void{ } public function prepare(_arg1:Sprite, _arg2:Rectangle):void{ hasStarted = false; isLastLevelInMission = false; hasDestroyedPlayer = false; parent = _arg1; boundary = _arg2; nextLevelTime = 0; currentTime = 0; lastCheckedTime = 0; currentIntegrity = 1; ScreenManager.playScreen.displayCustomHUDInfo(MissionStatus.START, (((("mission" + Profile.curMissionID) as String) + "Sector") as String), preStart); prepareLevels(); } public function preStart():void{ currentLevel = levels.first(); start(); } public function preEnd():void{ hasStarted = false; ScreenManager.playScreen.displayCustomHUDInfo(MissionStatus.CLEAR, (((("Mission" + Profile.curMissionID) as String) + "Sector") as String), end); } public function next():void{ levels.remove(currentLevel); if (!(levels.isEmpty())){ currentLevel = levels.first(); start(); } else { isLastLevelInMission = true; }; if (!(isLastLevelInMission)){ Profile.curLevel = (Profile.curLevel + 1); ScreenManager.playScreen.updateHUDLevels(); }; } public function levelList():List{ return (levels); } public function evaluate():void{ var _local1:int; var _local2 = (null as Enemy); var _local3:int; if (hasStarted){ if ((currentTime < nextLevelTime)){ currentTime = (currentTime + 1); ScreenManager.playScreen.setWavePerc((1 - (currentTime / nextLevelTime))); } else { currentTime = 0; if (!(isLastLevelInMission)){ next(); }; }; _local1 = 0; do { //unresolved if _local2 = ((enemies[_local1] as Enemy) as Enemy); _local2.update(); _local1++; } while (true); if ((enemies.length >= integrityThreshold)){ currentIntegrity = (currentIntegrity - damageIntegrityRate); } else { if ((enemies.length > 0)){ false; }; if (false){ currentIntegrity = (currentIntegrity - ((enemies.length / integrityThreshold) * damageIntegrityRate)); } else { if ((enemies.length == 0)){ currentIntegrity = (currentIntegrity + regenIntegrityRate); }; }; }; if ((currentIntegrity > 1)){ currentIntegrity = 1; } else { if ((currentIntegrity < 0)){ currentIntegrity = 0; if (!(hasDestroyedPlayer)){ ScreenManager.playScreen.player.destroy(); hasDestroyedPlayer = true; if ((Profile.lives >= 0)){ currentIntegrity = 1; }; }; }; }; ScreenManager.playScreen.setSystemHPPerc(currentIntegrity); if ((currentIntegrity < 1)){ false; }; if (false){ currentIntegrity = (currentIntegrity + 0.01); }; if ((currentTime < nextLevelTime)){ false; if ((currentIntegrity == 1)){ false; }; }; if (false){ _local3 = Math.round((((nextLevelTime - currentTime) / nextLevelTime) * 10)); currentTime = (currentTime + Std.int((nextLevelTime * 0.01))); if (!((lastCheckedTime == _local3))){ lastCheckedTime = _local3; ScreenManager.playScreen.addBonusTime(); }; }; if (levels.isEmpty()){ false; }; if (false){ preEnd(); }; }; } public function enemyList():Array{ return (enemies); } public function end():void{ MissionManager.nextMission(); if (!(SoundManager.isAmbientPlaying())){ SoundManager.stopAmbient(); }; } public function clearEnemies():void{ var _local2 = (null as Enemy); var _local1:int; do { //unresolved if _local2 = ((enemies[_local1] as Enemy) as Enemy); enemies.remove(_local2); _local1++; } while (true); if ((enemies.length > 0)){ clearEnemies(); }; } } class Mission2 extends Mission { public var level9:Object; public var level8:Object; public var level7:Object; public var level6:Object; public var level5:Object; public var level4:Object; public var level3:Object; public var level2:Object; public var level10:Object; public var level1:Object; public function Mission2():void{ var _local5:int; var _local6:int; var _local7:int; var _local8:Number; var _local9:Number; var _local10 = (null as Point); if (Boot_BA08CD.skip_constructor){ return; }; super(); integrityThreshold = 20; regenIntegrityRate = 0.001; damageIntegrityRate = 0.0008; var _local1 = (new List() as List); _local1.add({pos:new Point(250, 100), enemy:EnemyD}); _local1.add({pos:new Point(250, 400), enemy:EnemyD}); _local1.add({pos:new Point(100, 250), enemy:EnemyD}); _local1.add({pos:new Point(400, 250), enemy:EnemyD}); level1 = {pattern:_local1, delay:2500, id:1}; var _local2 = (new List() as List); _local2.add({pos:new Point(100, 100), enemy:EnemyD}); _local2.add({pos:new Point(100, 400), enemy:EnemyD}); _local2.add({pos:new Point(400, 100), enemy:EnemyD}); _local2.add({pos:new Point(400, 400), enemy:EnemyD}); var _local3:int; var _local4:int = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local2.add({pos:_local10, enemy:EnemyB}); } while (true); level2 = {pattern:_local2, delay:2500, id:2}; var _local11 = (new List() as List); _local11.add({pos:new Point(100, 150), enemy:EnemyC}); _local11.add({pos:new Point(100, 350), enemy:EnemyC}); _local11.add({pos:new Point(400, 150), enemy:EnemyC}); _local11.add({pos:new Point(400, 350), enemy:EnemyC}); _local11.add({pos:new Point(150, 100), enemy:EnemyA}); _local11.add({pos:new Point(150, 400), enemy:EnemyA}); _local11.add({pos:new Point(350, 100), enemy:EnemyA}); _local11.add({pos:new Point(350, 400), enemy:EnemyA}); _local11.add({pos:new Point(200, 200), enemy:EnemyD}); _local11.add({pos:new Point(300, 200), enemy:EnemyD}); _local11.add({pos:new Point(300, 300), enemy:EnemyD}); _local11.add({pos:new Point(200, 300), enemy:EnemyD}); level3 = {pattern:_local11, delay:2500, id:3}; var _local12 = (new List() as List); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local12.add({pos:_local10, enemy:EnemyE}); } while (true); level4 = {pattern:_local12, delay:2500, id:4}; var _local13 = (new List() as List); _local3 = 0; _local4 = 8; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyA}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyE}); } while (true); level5 = {pattern:_local13, delay:2500, id:5}; var _local14 = (new List() as List); _local3 = 0; _local4 = 3; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyA}); } while (true); _local3 = 0; _local4 = 3; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyB}); } while (true); _local3 = 0; _local4 = 3; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyC}); } while (true); _local3 = 0; _local4 = 3; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyD}); } while (true); _local3 = 0; _local4 = 3; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyE}); } while (true); level6 = {pattern:_local14, delay:2500, id:6}; var _local15 = (new List() as List); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyB}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyD}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyE}); } while (true); level7 = {pattern:_local15, delay:2500, id:7}; var _local16 = (new List() as List); _local16.add({pos:new Point(25, 225), enemy:EnemyB}); _local16.add({pos:new Point(475, 225), enemy:EnemyB}); _local16.add({pos:new Point(475, 275), enemy:EnemyB}); _local16.add({pos:new Point(25, 275), enemy:EnemyB}); _local16.add({pos:new Point(75, 175), enemy:EnemyA}); _local16.add({pos:new Point(425, 175), enemy:EnemyA}); _local16.add({pos:new Point(425, 325), enemy:EnemyA}); _local16.add({pos:new Point(75, 325), enemy:EnemyA}); _local16.add({pos:new Point(125, 125), enemy:EnemyE}); _local16.add({pos:new Point(375, 125), enemy:EnemyE}); _local16.add({pos:new Point(375, 375), enemy:EnemyE}); _local16.add({pos:new Point(125, 375), enemy:EnemyE}); _local16.add({pos:new Point(175, 75), enemy:EnemyA}); _local16.add({pos:new Point(325, 75), enemy:EnemyA}); _local16.add({pos:new Point(325, 425), enemy:EnemyA}); _local16.add({pos:new Point(175, 425), enemy:EnemyA}); _local16.add({pos:new Point(225, 25), enemy:EnemyB}); _local16.add({pos:new Point(275, 25), enemy:EnemyB}); _local16.add({pos:new Point(275, 475), enemy:EnemyB}); _local16.add({pos:new Point(225, 475), enemy:EnemyB}); level8 = {pattern:_local16, delay:2500, id:8}; var _local17 = (new List() as List); _local3 = 0; _local4 = 7; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local17.add({pos:_local10, enemy:EnemyD}); } while (true); _local3 = 0; _local4 = 7; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local17.add({pos:_local10, enemy:EnemyB}); } while (true); level9 = {pattern:_local17, delay:2500, id:9}; var _local18 = (new List() as List); _local18.add({pos:new Point(250, 125), enemy:BossB}); _local18.add({pos:new Point(250, 375), enemy:BossB}); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local18.add({pos:_local10, enemy:EnemyA}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local18.add({pos:_local10, enemy:EnemyB}); } while (true); level10 = {pattern:_local18, delay:-1, id:10}; } override public function prepareLevels():void{ levels.add(level1); levels.add(level2); levels.add(level3); levels.add(level4); levels.add(level5); levels.add(level6); levels.add(level7); levels.add(level8); levels.add(level9); levels.add(level10); var _local1 = (new Bitmap(Assets.objects.get("Background02")) as Bitmap); ScreenManager.playScreen.setBackground(_local1); } } class PlayObject { public var worth:int; public var showInflictTime:int; public var shieldpoint:int; public var objectSprite:Sprite; public var isInvincible:Boolean; public var isInflictedHit:Boolean; public var inflictHitSprite:Sprite; public var hitpoint:int; public var hitbox:Sprite; public var grid:Object; public var displayParent:Sprite; public var currentInflictTime:int; public var container:Sprite; public var boundary:Rectangle; public function PlayObject(_arg1:Sprite=undefined, _arg2:Rectangle=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; displayParent = _arg1; boundary = _arg2; container = new Sprite(); objectSprite = new Sprite(); hitbox = new Sprite(); inflictHitSprite = new Sprite(); var _local3:* = false; isInflictedHit = _local3; inflictHitSprite.visible = _local3; currentInflictTime = 0; showInflictTime = 2; isInvincible = false; grid = {bottomright:"", bottomleft:"", topright:"", topleft:"", left:"", right:"", bottom:"", top:"", center:""}; } public function update():void{ } public function inflictHit():void{ if (inflictHitSprite.visible){ inflictHitSprite.visible = false; isInflictedHit = false; } else { inflictHitSprite.visible = true; isInflictedHit = true; }; } public function getHitboxBounds():Rectangle{ return (hitbox.getBounds(displayParent)); } public function explode():void{ } public function destroy(_arg1:Object=undefined):void{ var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); SoundManager.playSFX("Exploding"); }; if (displayParent.contains(container)){ displayParent.removeChild(container); }; } public function checkCollision(_arg1:Sprite):Boolean{ return (hitbox.hitTestObject(_arg1)); } } class Ship extends PlayObject { public var vectorY:Number; public var vectorX:Number; public var targetY:Number; public var targetX:Number; public var shield:int; public var locY:Number; public var locX:Number; public function Ship(_arg1:Sprite=undefined, _arg2:Rectangle=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); vectorX = 0; vectorY = 0; } } class Enemy extends Ship { public var isMine:Boolean; public var isGhosting:Boolean; public var ghostingTime:int; public var curGhostingQue:int; public function Enemy(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); if ((_arg3.x == 0)){ false; }; if (false){ container.x = ((Math.round(((Math.random() * boundary.width) - (container.width / 2))) + boundary.x) + (container.width / 2)); container.y = ((Math.round(((Math.random() * boundary.height) - (container.height / 2))) + boundary.y) + (container.height / 2)); } else { container.x = _arg3.x; container.y = _arg3.y; }; locX = container.x; locY = container.y; isMine = false; } public function decreaseShield():void{ } } class SpawnerC extends Enemy { public var spawnerSprite:SpawnerSprite; public var spawnTime:int; public var spawnEnemy:Object; public var spawnCount:int; public var currentSpawnTime:int; public var curanimateque:int; public var animatespeed:int; public function SpawnerC(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); spawnTime = Config.spawnerC.spawnTime; spawnCount = Config.spawnerC.spawnCount; spawnEnemy = Config.spawnerC.spawnEnemy; hitpoint = Config.spawnerC.hitpoint; worth = Config.spawnerC.worth; currentSpawnTime = 0; var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFF00); _local4.graphics.drawRect(0, 0, 16, 16); hitbox = _local4; hitbox.x = (-(hitbox.width) / 2); hitbox.y = (-(hitbox.height) / 2); hitbox.alpha = 0; spawnerSprite = new SpawnerSprite(); inflictHitSprite.addChild(spawnerSprite.inflictGroup); animatespeed = 10; curanimateque = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; spawnerSprite.alpha = 0; container.addChild(hitbox); container.addChild(spawnerSprite); container.addChild(inflictHitSprite); if ((_arg3.x == 0)){ false; }; if (false){ container.x = ((Math.round(((Math.random() * boundary.width) - (container.width / 2))) + boundary.x) + (container.width / 2)); container.y = ((Math.round(((Math.random() * boundary.height) - (container.height / 2))) + boundary.y) + (container.height / 2)); } else { container.x = _arg3.x; container.y = _arg3.y; }; displayParent.addChild(container); } override public function update():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; var _local6 = (null as Enemy); if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); spawnerSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; spawnerSprite.alpha = 1; }; } else { if ((currentSpawnTime > spawnTime)){ currentSpawnTime = 0; _local1 = 0; _local2 = spawnCount; do { //unresolved if _local3 = _local1; _local1++; _local4 = (container.x + (Math.cos((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local5 = (container.y + (Math.sin((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local6 = (Type.createInstance(Type.toClass(spawnEnemy), [displayParent, boundary, new Point(_local4, _local5)]) as Enemy); MissionManager.currentMission.enemyList().push(_local6); } while (true); spawnerSprite.spawning(true); } else { if ((currentSpawnTime == 0)){ spawnerSprite.spawning(false); }; currentSpawnTime = (currentSpawnTime + 1); }; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ spawnerSprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.spawnerScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class Player extends Ship { public var weaponSlot:Array; public var playerSprite:PlayerSprite; public var playScreenShock:Number; public var modvectorY:Number; public var modvectorX:Number; public var isShooting:Boolean; public var isHit:Boolean; public var isGhost:Boolean; public var isGameOver:Boolean; public var hit2ghostingTime:int; public var heatup:int; public var ghostingTime:int; public var gameoverTime:int; public var currentBombCooldown:int; public var cooldown:int; public var burnings:int; public var bombShockwave:Sprite; public var activeWeaponSlot:int; public function Player(_arg1:Sprite=undefined, _arg2:Rectangle=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); isHit = false; hit2ghostingTime = 0; isGhost = false; ghostingTime = 0; isGameOver = false; gameoverTime = 0; currentBombCooldown = 0; bombShockwave = new Sprite(); playScreenShock = Config.playScreenShockSpeed; playerSprite = new PlayerSprite(); var _local3 = (new Sprite() as Sprite); _local3.graphics.beginFill(0xFFFFFF); _local3.graphics.drawRect(-2, -2, 4, 4); hitbox = _local3; hitbox.x = 0; hitbox.y = 0; weaponSlot = new Array(); weaponSlot[0] = Profile.weapon1; weaponSlot[1] = Profile.weapon2; activeWeaponSlot = 0; playerSprite.swapWeapon((weaponSlot[activeWeaponSlot].spriteClass as String)); container.addChild(hitbox); container.addChild(playerSprite); container.x = 250; container.y = 250; displayParent.addChild(container); } public function updateWeaponSprite():void{ playerSprite.swapWeapon((weaponSlot[activeWeaponSlot].spriteClass as String)); } override public function update():void{ var _local2:* = null; var _local3:* = null; var _local4:Number; var _local5 = (null as Projectile); var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Number; var _local11:Number; var _local12:Number; var _local13 = (null as Vector); var _local14 = (null as Vector); var _local15 = (null as Point); var _local16 = (null as Point); var _local17 = (null as Projectile); var _local18 = (null as Projectile); var _local1:Number = Math.pow((Profile.handling / Config.maxHandlingVar), 2); if ((vectorX == 0)){ if ((modvectorX < 0)){ modvectorX = (modvectorX + _local1); } else { if ((modvectorX > 0)){ modvectorX = (modvectorX - _local1); } else { modvectorX = 0; }; }; } else { if ((modvectorX < vectorX)){ modvectorX = (modvectorX + _local1); } else { if ((modvectorX > vectorX)){ modvectorX = (modvectorX - _local1); } else { modvectorX = vectorX; }; }; }; if ((vectorY == 0)){ if ((modvectorY < 0)){ modvectorY = (modvectorY + _local1); } else { if ((modvectorY > 0)){ modvectorY = (modvectorY - _local1); } else { modvectorY = 0; }; }; } else { if ((modvectorY < vectorY)){ modvectorY = (modvectorY + _local1); } else { if ((modvectorY > vectorY)){ modvectorY = (modvectorY - _local1); } else { modvectorY = vectorY; }; }; }; container.x = (((container.x + modvectorX) > (boundary.right - (container.width / 2)))) ? (boundary.right - (container.width / 2)) : ((((container.x - (container.width / 2)) + modvectorX) < boundary.left)) ? (boundary.left + (container.width / 2)) : (container.x + modvectorX); container.y = (((container.y + modvectorY) > (boundary.bottom - (container.height / 2)))) ? (boundary.bottom - (container.height / 2)) : ((((container.y - (container.height / 2)) + modvectorY) < boundary.top)) ? (boundary.top + (container.height / 2)) : (container.y + modvectorY); locX = container.x; locY = container.y; if (isShooting){ if ((heatup > 0)){ false; if ((burnings == 0)){ false; }; }; if (false){ heatup = (heatup - 1); }; if ((heatup == 0)){ false; if ((burnings <= weaponSlot[activeWeaponSlot].burnings)){ false; }; }; if (false){ _local2 = weaponSlot[activeWeaponSlot]; _local3 = _local2.projectileClass; _local4 = playerSprite.getRotation(); _local5 = (Type.createInstance(Type.toClass(_local3), [new Vector(Math.cos(((_local4 * Math.PI) / 180)), Math.sin(((_local4 * Math.PI) / 180))), new Point(targetX, targetY)]) as Projectile); ProjectileManager.spawnProjectile(new Point(container.x, container.y), _local5); SoundManager.playSFX((_local2.deploySound as String)); if ((weaponSlot[activeWeaponSlot].spread > 0)){ _local6 = 0; _local7 = weaponSlot[activeWeaponSlot].spread; do { //unresolved if _local8 = _local6; _local6++; _local9 = (_local8 + 1); _local10 = (playerSprite.getRotation() + (10 * _local9)); _local11 = (playerSprite.getRotation() - (10 * _local9)); _local12 = Point.distance(new Point(container.x, container.y), new Point(targetX, targetY)); _local13 = (new Vector(Math.cos(((_local10 * Math.PI) / 180)), Math.sin(((_local10 * Math.PI) / 180))) as Vector); _local14 = (new Vector(Math.cos(((_local11 * Math.PI) / 180)), Math.sin(((_local11 * Math.PI) / 180))) as Vector); _local15 = (new Point(((_local13.vx * _local12) + container.x), ((_local13.vy * _local12) + container.y)) as Point); _local16 = (new Point(((_local14.vx * _local12) + container.x), ((_local14.vy * _local12) + container.y)) as Point); _local17 = (Type.createInstance(Type.toClass(_local3), [_local13, _local15]) as Projectile); _local18 = (Type.createInstance(Type.toClass(_local3), [_local14, _local16]) as Projectile); ProjectileManager.spawnProjectile(new Point(container.x, container.y), _local17); ProjectileManager.spawnProjectile(new Point(container.x, container.y), _local18); } while (true); }; burnings = (burnings + 1); }; if ((heatup == 0)){ false; if ((burnings >= weaponSlot[activeWeaponSlot].burnings)){ false; }; }; if (false){ heatup = weaponSlot[activeWeaponSlot].heatup; burnings = 0; cooldown = weaponSlot[activeWeaponSlot].cooldown; }; if ((heatup == weaponSlot[activeWeaponSlot].heatup)){ false; if ((burnings == 0)){ false; }; }; if (false){ cooldown = (cooldown - 1); }; } else { heatup = weaponSlot[activeWeaponSlot].heatup; burnings = 0; if ((cooldown > 0)){ cooldown = (cooldown - 1); } else { cooldown = 0; }; }; if (isHit){ false; }; if (false){ if ((hit2ghostingTime < Config.playerHit2GhostingTime)){ hit2ghostingTime = (hit2ghostingTime + 1); } else { isGhost = true; rebuild(); hit2ghostingTime = 0; isHit = false; }; }; if (isGhost){ false; }; if (false){ if ((ghostingTime < Config.playerGhostingTime)){ ghostingTime = (ghostingTime + 1); if (((ghostingTime % 2) == 0)){ container.visible = false; } else { container.visible = true; }; } else { MissionManager.currentMission.resetPlayerDestroyFlag(); container.visible = true; isGhost = false; ghostingTime = 0; }; }; if (isGameOver){ if ((gameoverTime < Config.playerGameOverTime)){ gameoverTime = (gameoverTime + 1); } else { isShooting = false; ScreenManager.playScreen.pause(); ScreenManager.showDialog("nomorelife"); }; }; if ((currentBombCooldown > 0)){ currentBombCooldown = (currentBombCooldown - 1); if ((currentBombCooldown < 0)){ currentBombCooldown = 0; }; _local4 = (1 - (currentBombCooldown / Reflect.field(Config, (("bomb" + Profile.bomblvl) as String)).cooldown)); ScreenManager.playScreen.updateHUDBombCooldown(_local4); }; if (ScreenManager.playScreen.playerContainer.contains(bombShockwave)){ if ((bombShockwave.scaleX < 1)){ _local4 = 0.05; _local10 = (_local4 * 0.9); bombShockwave.scaleX = (bombShockwave.scaleX + _local10); bombShockwave.scaleY = (bombShockwave.scaleY + _local10); _local6 = ((Math.random() > 0.5)) ? -1 : 1; _local7 = ((Math.random() > 0.5)) ? -1 : 1; ScreenManager.playScreen.getContainer().x = (playScreenShock * _local6); ScreenManager.playScreen.getContainer().y = (playScreenShock * _local7); playScreenShock = (playScreenShock - (1 / playScreenShock)); } else { ScreenManager.playScreen.playerContainer.removeChild(bombShockwave); playScreenShock = Config.playScreenShockSpeed; ScreenManager.playScreen.getContainer().x = 0; ScreenManager.playScreen.getContainer().y = 0; }; }; } public function target(_arg1:Number, _arg2:Number):void{ targetX = Std.int(_arg1); targetY = Std.int(_arg2); var _local3:Number = Math.atan2((_arg2 - locY), (_arg1 - locX)); playerSprite.setRotation(((_local3 * 180) / Math.PI)); } public function swapWeapon():void{ activeWeaponSlot = (activeWeaponSlot + 1); if ((activeWeaponSlot >= weaponSlot.length)){ activeWeaponSlot = 0; }; playerSprite.swapWeapon((weaponSlot[activeWeaponSlot].spriteClass as String)); } public function stopshoot():void{ isShooting = false; } public function spawnComboParticle():void{ var _local1 = (new ParticleEmitter(Config.comboEmitter) as ParticleEmitter); _local1.loc = new Point(locX, locY); ParticleManager.createEmitter(_local1); } public function shoot():void{ isShooting = true; } public function setGhost():void{ isGhost = true; } public function setGameOver(_arg1:Boolean):void{ isGameOver = _arg1; if (!(_arg1)){ gameoverTime = 0; }; } public function releaseBomb():void{ var _local1:* = null; var _local2:* = null; var _local3 = (null as ParticleEmitter); var _local4 = (null as ParticleEmitter); if ((currentBombCooldown == 0)){ false; }; if (false){ _local1 = Reflect.field(Config, (("bomb" + Profile.bomblvl) as String)); currentBombCooldown = _local1.cooldown; CollisionManager.calculateBombRadius(new Point(locX, locY)); if (!(ScreenManager.playScreen.playerContainer.contains(bombShockwave))){ bombShockwave.graphics.clear(); bombShockwave.graphics.beginGradientFill(GradientType.RADIAL, [0xFFFFFF, 0xFFFFFF], [0, 0.7], [127, 0xFF]); bombShockwave.graphics.drawCircle(0, 0, _local1.radius); _local2 = 0; bombShockwave.scaleY = _local2; bombShockwave.scaleX = _local2; bombShockwave.x = locX; bombShockwave.y = locY; ScreenManager.playScreen.playerContainer.addChild(bombShockwave); }; _local3 = (new ParticleEmitter(_local1.particleData) as ParticleEmitter); _local4 = (new ParticleEmitter(_local1.particleData) as ParticleEmitter); _local3.loc = new Point(locX, locY); _local4.loc = new Point(locX, locY); ParticleManager.createEmitter(_local3); ParticleManager.createEmitter(_local4); Profile.bombqty = (Profile.bombqty - 1); ScreenManager.playScreen.updateHUDBomb(); SoundManager.playSFX("ExplodingBomb"); }; } public function rebuild():void{ displayParent.addChild(container); var _local1:Number = ((Math.random() * 100) + 50); var _local2:Number = ((Math.random() >= 0.5)) ? -1 : 1; var _local3:Number = ((Math.random() >= 0.5)) ? -1 : 1; container.x = (container.x + (_local1 * _local2)); container.y = (container.y + (_local1 * _local3)); ScreenManager.playScreen.playerCaptureKeys(); } public function getHitbox():Sprite{ return (hitbox); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.playerExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ false; }; if (false){ explode(); isHit = true; SoundManager.playSFX("Exploding"); }; if (isHit){ if ((Profile.lives >= 1)){ Profile.lives = (Profile.lives - 1); vectorX = 0; vectorY = 0; isShooting = false; ScreenManager.playScreen.playerReleaseKeys(false); } else { isGameOver = true; }; ScreenManager.playScreen.updateHUDLives(); }; if (displayParent.contains(container)){ displayParent.removeChild(container); }; } } class IntHash { public var h:Object; public function IntHash():void{ if (Boot_BA08CD.skip_constructor){ return; }; h = new Dictionary(); } public function toString():String{ var _local4:int; var _local1 = (new StringBuf() as StringBuf); _local1.add("{"); var _local2:* = keys(); var _local3:* = _local2; do { //unresolved if _local4 = _local3.next(); _local1.add(_local4); _local1.add(" => "); _local1.add(Std.string(get(_local4))); if (_local2.hasNext()){ _local1.add(", "); }; } while (true); _local1.add("}"); return (_local1.toString()); } public function set(_arg1:int, _arg2:Object):void{ h[_arg1] = _arg2; } public function remove(_arg1:int):Boolean{ if (!(h.hasOwnProperty(_arg1))){ return (false); }; delete h[_arg1]; return (true); } public function keys():Object{ var _local2:int; var _local1 = ([] as Array); var _local3:* = h; for (/*?*/in h) { _local1.push(//unresolved nextvalue or nextname); }; return (_local1.iterator()); } public function iterator():Object{ return ({next:function ():Object{ var _local1:int = this.it.next(); return (this.ref[_local1]); }, hasNext:function ():Object{ return (this.it.hasNext()); }, it:keys(), ref:h}); } public function get(_arg1:int):Object{ return (h[_arg1]); } public function exists(_arg1:int):Boolean{ return (h.hasOwnProperty(_arg1)); } } class AuxFunctions { public function AuxFunctions():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function numberToR(_arg1:int):int{ return (((_arg1 & 0xFF0000) >> 16)); } public static function numberToG(_arg1:int):int{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToB(_arg1:int):int{ return ((_arg1 & 0xFF)); } public static function isInArray(_arg1:String, _arg2:Array):Boolean{ var _local5:int; var _local3:int; var _local4:int = _arg2.length; do { //unresolved if _local5 = _local3; _local3++; if (((_arg2[_local5] as String) == _arg1)){ return (true); }; } while (true); return (false); } public static function getObjectLength(_arg1:Object):int{ var _local4:* = null; var _local2:int; var _local3:* = Reflect.fields(_arg1).iterator(); do { //unresolved if _local4 = _local3.next(); _local2++; } while (true); return (_local2); } public static function concatObjects(_arg1:Array):Object{ var _local3:* = null; var _local6:int; var _local7:* = null; var _local8:* = null; var _local2:* = Reflect.empty(); var _local4:int; var _local5:int = _arg1.length; do { //unresolved if _local6 = _local4; _local4++; _local3 = _arg1[_local6]; _local7 = Reflect.fields(_local3).iterator(); do { //unresolved if _local8 = _local7.next(); if (!((Reflect.field(_local3, _local8) == null))){ Reflect.setField(_local2, _local8, Reflect.field(_local3, _local8)); }; } while (true); } while (true); return (_local2); } } class EnemyB extends Enemy { public var speed:Number; public var projectileData:Object; public var minSpeed:Number; public var maxSpeed:Number; public var enemySprite:EnemyBSprite; public var curanimateque:int; public var animatespeed:int; public function EnemyB(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.enemyB.hitpoint; worth = Config.enemyB.worth; enemySprite = new EnemyBSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-7, -7, 14, 14); hitbox = _local4; hitbox.alpha = 0; minSpeed = 0.3; maxSpeed = 0.6; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ var _local1 = (null as Point); var _local2:Number; if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { _local1 = (new Point(ScreenManager.playScreen.player.locX, ScreenManager.playScreen.player.locY) as Point); _local2 = Math.atan2((_local1.y - container.y), (_local1.x - container.x)); vectorX = (Math.cos(_local2) * speed); vectorY = (Math.sin(_local2) * speed); if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.enemyBScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class EnemyD extends Enemy { public var speed:Number; public var projectileData:Object; public var plantMinesTime:int; public var plantMinesSpanTime:int; public var moveTime:int; public var minSpeed:Number; public var maxSpeed:Number; public var enemySprite:EnemyDSprite; public var curplantMinesTime:int; public var curplantMinesSpanTime:int; public var curanimateque:int; public var curMoveTime:int; public var animatespeed:int; public function EnemyD(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.enemyD.hitpoint; worth = Config.enemyD.worth; enemySprite = new EnemyDSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-7, -7, 14, 14); hitbox = _local4; hitbox.alpha = 0; minSpeed = 1; maxSpeed = 2; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; var _local6:int = 750; var _local7:int = 1000; var _local8:int = 400; var _local9:int = 600; var _local10:int = 13; plantMinesTime = Std.int(((Math.random() * (_local7 - _local6)) + _local6)); plantMinesSpanTime = Math.round((plantMinesTime / _local10)); moveTime = Std.int(((Math.random() * (_local9 - _local8)) + _local8)); curplantMinesTime = 0; curplantMinesSpanTime = 0; curMoveTime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ var _local1 = (null as Point); var _local2 = (null as EnemyMine); if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { if ((curplantMinesTime < plantMinesTime)){ false; }; if (false){ curplantMinesTime = (curplantMinesTime + 1); if ((curplantMinesSpanTime < plantMinesSpanTime)){ curplantMinesSpanTime = (curplantMinesSpanTime + 1); } else { _local1 = (new Point(locX, locY) as Point); _local2 = (new EnemyMine(displayParent, boundary, _local1) as EnemyMine); MissionManager.currentMission.enemyList().push(_local2); curplantMinesSpanTime = 0; }; } else { if ((curplantMinesTime == plantMinesTime)){ false; }; if (false){ curMoveTime = (curMoveTime + 1); } else { curplantMinesTime = 0; curMoveTime = 0; }; }; if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.enemyDScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class Particle { public var vector:Vector; public var speed:Number; public var spawntime:Number; public var particleSprite:Sprite; public var lifetime:int; public var angle:Number; public function Particle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; spawntime = ParticleManager.currentTick; lifetime = Std.int(((Math.random() * (_arg1.maxLifetime - _arg1.minLifetime)) + _arg1.minLifetime)); speed = ((Math.random() * (_arg1.maxSpeed - _arg1.minSpeed)) + _arg1.minSpeed); angle = ((Math.random() * (_arg1.maxAngle - _arg1.minAngle)) + _arg1.minAngle); var _local2:Number = (Math.cos(((angle * Math.PI) / 180)) * speed); var _local3:Number = (Math.sin(((angle * Math.PI) / 180)) * speed); vector = new Vector(_local2, _local3); particleSprite = new Sprite(); particleSprite.rotation = angle; } public function drawTravelLine(_arg1:Point, _arg2:Point):void{ } public function destroy():void{ if ((particleSprite.numChildren > 0)){ particleSprite.removeChildAt(0); }; } public function deltaLife():Number{ var _local1:Number = (ParticleManager.currentTick - spawntime); var _local2:Number = (_local1 / lifetime); return (_local2); } } class BossMineScoreExplosionParticle extends Particle { public function BossMineScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.bossMine.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class AskTutorialScreen extends Screen { public var yesButton:ButtonTile; public var noButton:ButtonTile; public var hasTutorialDialog:Sprite; public var background:Sprite; public function AskTutorialScreen():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); background = new Sprite(); background.addChild(new Bitmap(Assets.objects.get("Background00"))); hasTutorialDialog = new Sprite(); hasTutorialDialog.addChild(new Bitmap(Assets.objects.get("HasTutorialDialog"))); var _local1 = (new BitmapData(60, 120, true) as BitmapData); _local1.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(328, 384, 60, 120), new Point(0, 0)); var _local2 = (new BitmapData(60, 120, true) as BitmapData); _local2.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(388, 384, 60, 120), new Point(0, 0)); yesButton = new ButtonTile(_local1, 60, 30); noButton = new ButtonTile(_local2, 60, 30); yesButton.x = 143; yesButton.y = 162; noButton.x = 37; noButton.y = 162; hasTutorialDialog.x = 130; hasTutorialDialog.y = 138; hasTutorialDialog.addChild(yesButton); hasTutorialDialog.addChild(noButton); container.addChild(background); container.addChild(hasTutorialDialog); yesButton.click = onYesClick; noButton.click = onNoClick; } public function toTutorial():void{ TutorialManager.isRunning = true; ScreenManager.showScreen("play"); } public function toPlay():void{ TutorialManager.isRunning = false; TutorialManager.hasDoneTutorial = true; ScreenManager.showScreen("play"); } public function onYesClick():void{ Tweener.addTween(hasTutorialDialog, {onComplete:toPlay, time:0.5, transition:"easeOutCubic", alpha:0, y:(hasTutorialDialog.height - 138)}); } public function onNoClick():void{ Tweener.addTween(hasTutorialDialog, {onComplete:toTutorial, time:0.5, transition:"easeOutCubic", alpha:0, y:(hasTutorialDialog.height - 138)}); } public function init():void{ hasTutorialDialog.y = (hasTutorialDialog.height - 138); hasTutorialDialog.alpha = 0; Tweener.addTween(hasTutorialDialog, {time:0.5, transition:"easeOutCubic", alpha:1, y:138}); } } class TechItembox extends Sprite { public var techspeed:String; public var techname:String; public var techheatup:String; public var techdetails:String; public var techdamage:String; public var techcost:String; public var techcooldown:String; public var techburnings:String; public var pData:Object; public var open4purchase:ButtonTile; public var isOpen4Purchase:Boolean; public var isActive:Boolean; public var container:Sprite; public var active:ButtonTile; public function TechItembox(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); pData = _arg1; isActive = false; isOpen4Purchase = false; var _local2 = (Type.createInstance(Type.toClass(_arg1.projectileClass), [new Vector(0, 0), new Point(0, 0)]) as Projectile); techname = (_arg1.name as String); techdetails = (_arg1.desc as String); techheatup = Std.string(_arg1.heatup); techburnings = Std.string(_arg1.burnings); techcooldown = Std.string(_arg1.cooldown); techdamage = Std.string(_local2.damage); techspeed = Std.string(_local2.speed); techcost = Std.string(_arg1.buypoint); var _local3 = (new BitmapData(32, 128, true) as BitmapData); _local3.copyPixels(Assets.objects.get("TechTiles"), (_arg1.activeTile as Rectangle), new Point(0, 0)); var _local4 = (new BitmapData(32, 128, true) as BitmapData); _local4.copyPixels(Assets.objects.get("TechTiles"), (_arg1.openTile as Rectangle), new Point(0, 0)); active = new ButtonTile(_local3, 32, 32); open4purchase = new ButtonTile(_local4, 32, 32); open4purchase.visible = false; container = new Sprite(); container.addChild(open4purchase); container.addChild(active); addChild(container); active.lock(); active.click = onLift; open4purchase.click = onPurchase; active.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverAndMove); active.addEventListener(MouseEvent.MOUSE_MOVE, onMouseOverAndMove); active.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); open4purchase.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverAndMove); open4purchase.addEventListener(MouseEvent.MOUSE_MOVE, onMouseOverAndMove); open4purchase.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function setOpen4Purchase(_arg1:Boolean):void{ active.visible = !(_arg1); open4purchase.visible = _arg1; isOpen4Purchase = _arg1; } public function setActive(_arg1:Boolean, _arg2:Object=undefined):void{ active.unlock(); active.visible = _arg1; open4purchase.visible = !(_arg1); if (isOpen4Purchase){ isOpen4Purchase = false; }; var _local3:Boolean = ((_arg2 == null)) ? true : _arg2; isActive = _local3; } public function reset():void{ isActive = false; isOpen4Purchase = false; active.lock(); open4purchase.visible = false; } public function onPurchase():void{ if (TutorialManager.isRunning){ false; }; if (false){ if (!(ScreenManager.techDialog.isLifting)){ false; }; if (false){ setActive(true); Profile.techpoint = (Profile.techpoint - pData.buypoint); ScreenManager.techDialog.updateDialog(); ScreenManager.playScreen.updateHUDTechpoints(Profile.techpoint, false); }; } else { if (!(TutorialManager.isRunning)){ if (!(ScreenManager.techDialog.isLifting)){ false; }; if (false){ setActive(true); Profile.techpoint = (Profile.techpoint - pData.buypoint); ScreenManager.techDialog.updateDialog(); ScreenManager.playScreen.updateHUDTechpoints(Profile.techpoint, false); }; }; }; } public function onMouseOverAndMove(_arg1:MouseEvent):void{ ScreenManager.techDialog.showDesc(techname, techdetails, techheatup, techburnings, techcooldown, techdamage, techspeed, techcost); } public function onMouseOut(_arg1:MouseEvent):void{ ScreenManager.techDialog.hideDesc(); } public function onLift():void{ var _local1 = (null as Sprite); var _local2 = (null as BitmapData); var _local3 = (null as Bitmap); if (!(ScreenManager.techDialog.isLifting)){ false; }; if (false){ _local1 = (new Sprite() as Sprite); _local2 = (new BitmapData(32, 32, true, 0xFFFFFF) as BitmapData); _local2.draw(active); _local3 = (new Bitmap(_local2) as Bitmap); _local1.addChild(_local3); ScreenManager.techDialog.lift(_local1, this); }; } public function evaluate():void{ if ((pData.buypoint <= Profile.techpoint)){ false; }; if (false){ setOpen4Purchase(true); } else { setOpen4Purchase(false); }; } } class EnemyMineSprite extends Sprite { public var inflictGroup:Sprite; public var inflictCore:Bitmap; public var coreframes:int; public var core:MovieTile; public var container:Sprite; public function EnemyMineSprite():void{ var _local5:int; var _local6:int; var _local7:int; var _local8:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(32, 64, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(448, 64, 32, 64), new Point(0, 0)); core = new MovieTile(_local1, 32, 32); core.x = -16; core.y = -16; coreframes = core.frames; var _local2 = (new BitmapData(32, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(448, 64, 32, 32), new Point(0, 0)); var _local3:int; var _local4:int = 32; do { //unresolved if _local5 = _local3; _local3++; _local6 = 0; _local7 = 32; do { //unresolved if _local8 = _local6; _local6++; if ((_local2.getPixel32(_local5, _local8) > 0)){ _local2.setPixel32(_local5, _local8, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local2); inflictCore.x = -16; inflictCore.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(core); addChild(container); } public function animate():void{ core.nextFrame(); } } class EnemyBSprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function EnemyBSprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(14, 14, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -7; core.y = -7; var _local2 = (new BitmapData(192, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 32, 192, 32), new Point(0, 0)); equip = new MovieTile(_local2, 32, 32); equip.x = -16; equip.y = -16; equipframes = equip.frames; var _local3 = (new BitmapData(14, 14, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); var _local4:int; var _local5:int = 14; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 14; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -7; inflictCore.y = -7; var _local10 = (new BitmapData(192, 32, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 32, 192, 32), new Point(0, 0)); _local4 = 0; _local5 = 192; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 32; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 32, 32); inflictEquip.x = -16; inflictEquip.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } class List { public var q:Array; public var length:int; public var h:Array; public function List():void{ if (Boot_BA08CD.skip_constructor){ return; }; length = 0; } public function toString():String{ var _local1 = (new StringBuf() as StringBuf); var _local2:Boolean = true; var _local3 = (h as Array); _local1.add("{"); do { //unresolved if if (_local2){ _local2 = false; } else { _local1.add(", "); }; _local1.add(_local3[0]); _local3 = ((_local3[1] as Array) as Array); } while (true); _local1.add("}"); return (_local1.toString()); } public function remove(_arg1:Object):Boolean{ var _local2 = ((null as Array) as Array); var _local3 = (h as Array); do { //unresolved if if (((_local3[0] as Object) == _arg1)){ if ((_local2 == (null as Array))){ h = (_local3[1] as Array); } else { _local2[1] = _local3[1]; }; if ((q == _local3)){ q = _local2; }; length = (length - 1); return (true); }; _local2 = (_local3 as Array); _local3 = ((_local3[1] as Array) as Array); } while (true); return (false); } public function push(_arg1:Object):void{ var _local2 = ([_arg1, h] as Array); h = _local2; if ((q == (null as Array))){ q = _local2; }; length = (length + 1); } public function pop():Object{ if ((h == (null as Array))){ return ((null as Object)); }; var _local1 = ((h[0] as Object) as Object); h = (h[1] as Array); if ((h == (null as Array))){ q = (null as Array); }; length = (length - 1); return (_local1); } public function map(_arg1:Function):List{ var _local4 = (null as Object); var _local2 = (new List() as List); var _local3 = (h as Array); do { //unresolved if _local4 = ((_local3[0] as Object) as Object); _local3 = ((_local3[1] as Array) as Array); _local2.add(_arg1(_local4)); } while (true); return (_local2); } public function last():Object{ return (((q == (null as Array))) ? (null as Object) : (q[0] as Object)); } public function join(_arg1:String):String{ var _local2 = (new StringBuf() as StringBuf); var _local3:Boolean = true; var _local4 = (h as Array); do { //unresolved if if (_local3){ _local3 = false; } else { _local2.add(_arg1); }; _local2.add(_local4[0]); _local4 = ((_local4[1] as Array) as Array); } while (true); return (_local2.toString()); } public function iterator():Object{ return ({next:function ():Object{ if ((this.h == (null as Array))){ return (null); }; var _local1:* = this.h[0]; this.h = (this.h[1] as Array); return (_local1); }, hasNext:function ():Object{ return (!((this.h == (null as Array)))); }, h:h}); } public function isEmpty():Boolean{ return ((h == (null as Array))); } public function first():Object{ return (((h == (null as Array))) ? (null as Object) : (h[0] as Object)); } public function filter(_arg1:Function):List{ var _local4 = (null as Object); var _local2 = (new List() as List); var _local3 = (h as Array); do { //unresolved if _local4 = ((_local3[0] as Object) as Object); _local3 = ((_local3[1] as Array) as Array); if (_arg1(_local4)){ _local2.add(_local4); }; } while (true); return (_local2); } public function clear():void{ h = (null as Array); length = 0; } public function add(_arg1:Object):void{ var _local2 = ([_arg1, (null as Object)] as Array); if ((h == (null as Array))){ h = _local2; } else { q[1] = _local2; }; q = _local2; length = (length + 1); } } class ParticleManager { public static var particleEmitters:List; public static var currentTick:Number; public static var particleContainer:Sprite; public static var screenTimer:Timer; public function ParticleManager():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function update():void{ var _local2 = (null as ParticleEmitter); var _local1:* = ParticleManager.particleEmitters.iterator(); do { //unresolved if _local2 = (_local1.next() as ParticleEmitter); _local2.update(); } while (true); ParticleManager.currentTick = ParticleManager.screenTimer.currentCount; } public static function createEmitter(_arg1:ParticleEmitter):void{ _arg1.particleContainer = ParticleManager.particleContainer; ParticleManager.particleEmitters.add(_arg1); } public static function destroyEmitter(_arg1:ParticleEmitter):void{ ParticleManager.particleEmitters.remove(_arg1); _arg1 = ((null as ParticleEmitter) as ParticleEmitter); } public static function setupContainer(_arg1:Sprite, _arg2:Timer):void{ ParticleManager.particleContainer = _arg1; ParticleManager.screenTimer = _arg2; } public static function clearContainer():void{ var _local1:* = null; var _local2 = (null as ParticleEmitter); if (!(ParticleManager.particleContainer.numChildren > 0)){ true; }; if (true){ _local1 = ParticleManager.particleEmitters.iterator(); do { //unresolved if _local2 = (_local1.next() as ParticleEmitter); _local2.forceClear(); } while (true); ParticleManager.particleEmitters.clear(); }; ParticleManager.currentTick = 0; ParticleManager.screenTimer = (null as Timer); } } class ProjectileGBurstParticle extends Particle { public function ProjectileGBurstParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); } override public function drawTravelLine(_arg1:Point, _arg2:Point):void{ var _local3 = (_arg2.subtract(_arg1) as Point); var _local4 = (new Sprite() as Sprite); _local4.graphics.lineStyle(2, 0xFFFFFF, 0.5); _local4.graphics.lineTo(_local3.x, _local3.y); _local4.cacheAsBitmap = true; particleSprite.addChild(_local4); } } class SpecialProperty { public var setValue:Object; public var parameters:Array; public var getValue:Object; public function SpecialProperty(_arg1:Object=undefined, _arg2:Object=undefined, _arg3:Array=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; getValue = _arg1; setValue = _arg2; parameters = _arg3; } public function toString():String{ var _local1 = ("" as String); _local1 = (((_local1 + "[SpecialProperty ") as String) as String); _local1 = (((_local1 + (("getValue:" + Std.string(getValue)) as String)) as String) as String); _local1 = (((_local1 + ", ") as String) as String); _local1 = (((_local1 + (("setValue:" + Std.string(setValue)) as String)) as String) as String); _local1 = (((_local1 + ", ") as String) as String); _local1 = (((_local1 + (("parameters:" + Std.string(parameters)) as String)) as String) as String); _local1 = (((_local1 + "]") as String) as String); return (_local1); } } class BossASprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function BossASprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(14, 14, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -7; core.y = -7; var _local2 = (new BitmapData(320, 64, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 160, 320, 64), new Point(0, 0)); equip = new MovieTile(_local2, 64, 64); equip.x = -32; equip.y = -32; equipframes = equip.frames; var _local3 = (new BitmapData(14, 14, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); var _local4:int; var _local5:int = 14; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 14; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -7; inflictCore.y = -7; var _local10 = (new BitmapData(320, 64, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 160, 320, 64), new Point(0, 0)); _local4 = 0; _local5 = 320; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 64; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 64, 64); inflictEquip.x = -32; inflictEquip.y = -32; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function idle():void{ equip.goToFrame(2); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } class Std { public function Std():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function is(_arg1:Object, _arg2:Object):Boolean{ return (Boot_BA08CD.__instanceof(_arg1, _arg2)); } public static function string(_arg1:Object):String{ return (Boot_BA08CD.__string_rec(_arg1, "")); } public static function int(_arg1:Number):int{ return (int(_arg1)); } public static function bool(_arg1:Object):Boolean{ if (!((_arg1 === 0))){ false; if (!((_arg1 == null))){ false; }; }; return (false); } public static function parseInt(_arg1:String):Object{ var _local2:* = parseInt(_arg1); if (isNaN(_local2)){ return (null); }; return (_local2); } public static function parseFloat(_arg1:String):Number{ return (parseFloat(_arg1)); } public static function chr(_arg1:int):String{ return (String.fromCharCode(_arg1)); } public static function ord(_arg1:String):Object{ if ((_arg1 == "")){ return (null); } else { return (_arg1.charCodeAt(0)); }; } public static function random(_arg1:int):int{ return (Math.floor((Math.random() * _arg1))); } public static function resource(_arg1:String):String{ return ((Boot_BA08CD.__res[_arg1] as String)); } } class ProjectileSBurstParticle extends Particle { public function ProjectileSBurstParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); } override public function drawTravelLine(_arg1:Point, _arg2:Point):void{ var _local3 = (_arg2.subtract(_arg1) as Point); var _local4:int = Std.int(Math.abs(_local3.x)); var _local5:int = Std.int(Math.abs(_local3.y)); var _local6:int = ((_arg2.x < _arg1.x)) ? Std.int(_local3.x) : 0; var _local7:int = ((_arg2.y < _arg1.y)) ? Std.int(_local3.y) : 0; var _local8:int = Std.int(Math.abs(_local3.x)); var _local9:int = Std.int(Math.abs(_local3.y)); var _local10:int; var _local11:int; if ((_local6 < 0)){ false; }; if (false){ _local10 = _local6; _local6 = Std.int(Math.abs(_local6)); _local8 = 0; }; if ((_local7 < 0)){ false; }; if (false){ _local11 = _local7; _local7 = Std.int(Math.abs(_local7)); _local9 = 0; }; var _local12 = (new BitmapData(_local4, _local5, true, 0xFFFFFF) as BitmapData); Raster.line(_local12, _local6, _local7, _local8, _local9, -1); var _local13 = (new Bitmap(_local12) as Bitmap); _local13.x = _local10; _local13.y = _local11; particleSprite.addChild(_local13); } } class ProjectileE extends Projectile { public function ProjectileE(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileE.damage; speed = 8; maxDistance = 200; useTarget = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(8, 2, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 8, 2), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -1; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } } class BossB extends Enemy { public var speed:Number; public var shieldSprite:Sprite; public var projectileData:Object; public var plantMinesTime:int; public var plantMinesSpanTime:int; public var moveTime:int; public var minSpeed:Number; public var maxshieldpoint:int; public var maxSpeed:Number; public var enemySprite:BossBSprite; public var curplantMinesTime:int; public var curplantMinesSpanTime:int; public var curanimateque:int; public var curMoveTime:int; public var animatespeed:int; public function BossB(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.bossB.hitpoint; maxshieldpoint = (Config.bossB.hitpoint * 8); shieldpoint = maxshieldpoint; worth = Config.bossB.worth; enemySprite = new BossBSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); shieldSprite = new Sprite(); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-14, -14, 28, 28); hitbox = _local4; hitbox.alpha = 0; minSpeed = 0.4; maxSpeed = 0.8; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; var _local6:int = 1000; var _local7:int = 2200; var _local8:int = 400; var _local9:int = 800; var _local10:int = 20; plantMinesTime = Std.int(((Math.random() * (_local7 - _local6)) + _local6)); plantMinesSpanTime = Math.round((plantMinesTime / _local10)); moveTime = Std.int(((Math.random() * (_local9 - _local8)) + _local8)); curplantMinesTime = 0; curplantMinesSpanTime = 0; curMoveTime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ var _local1 = (null as Point); var _local2 = (null as BossMine); if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { if ((curMoveTime < moveTime)){ false; }; if (false){ curMoveTime = (curMoveTime + 1); if ((shieldpoint > 1)){ isInvincible = true; createShield(); } else { isInvincible = false; }; } else { if ((curplantMinesTime < plantMinesTime)){ false; }; if (false){ curplantMinesTime = (curplantMinesTime + 1); isInvincible = false; destroyShield(); if ((curplantMinesSpanTime < plantMinesSpanTime)){ curplantMinesSpanTime = (curplantMinesSpanTime + 1); } else { _local1 = (new Point(locX, locY) as Point); _local2 = (new BossMine(displayParent, boundary, _local1) as BossMine); MissionManager.currentMission.enemyList().push(_local2); curplantMinesSpanTime = 0; }; } else { curplantMinesTime = 0; curMoveTime = 0; shieldpoint = maxshieldpoint; }; }; if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.bossBScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } public function destroyShield():void{ if (container.contains(shieldSprite)){ shieldSprite.graphics.clear(); shieldSprite.filters = []; container.removeChild(shieldSprite); }; } override public function decreaseShield():void{ var _local1:Number = 0.3; var _local2:Number = 1; var _local3:Number = (shieldpoint / maxshieldpoint); if ((_local3 <= 0)){ destroyShield(); }; var _local4:Number = ((_local3 * (_local2 - _local1)) + _local1); var _local5:* = _local4; shieldSprite.scaleY = _local5; shieldSprite.scaleX = _local5; } public function createShield():void{ var _local1:* = null; if (!(container.contains(shieldSprite))){ _local1 = 1; shieldSprite.scaleY = _local1; shieldSprite.scaleX = _local1; shieldSprite.graphics.lineStyle(2, 0xFFFFFF, 0.5); shieldSprite.graphics.drawCircle(0, 0, (enemySprite.width / 3)); shieldSprite.filters = [new BlurFilter(2, 2, 2)]; container.addChild(shieldSprite); }; } } class ProjectileD extends Projectile { public function ProjectileD(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileD.damage; maxDistance = 100; useTarget = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(8, 2, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 8, 2), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -1; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } } class ParticleEmitter { public var spriteToFollow:Sprite; public var spawntime:Number; public var radius:int; public var particles:List; public var particleData:Object; public var particleContainer:Sprite; public var particleClass:Object; public var loc:Point; public var lifetime:int; public var count:int; public function ParticleEmitter(_arg1:Object=undefined, _arg2:Sprite=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; loc = new Point(0, 0); radius = _arg1.radius; count = _arg1.count; lifetime = _arg1.lifetime; spriteToFollow = (!((_arg2 == (null as Sprite)))) ? _arg2 : (null as Sprite); spawntime = ParticleManager.currentTick; particleData = _arg1.particleData; particleClass = _arg1.particleClass; particles = new List(); } public function update():void{ var _local2 = (null as Particle); if (!((spriteToFollow == (null as Sprite)))){ loc.x = spriteToFollow.x; loc.y = spriteToFollow.y; }; if ((deltaLife() < 1)){ if (!(particles.length < count)){ true; }; if (true){ spawnParticle(); }; } else { if ((particles.length <= 0)){ ParticleManager.destroyEmitter(this); }; }; var _local1:* = particles.iterator(); do { //unresolved if _local2 = (_local1.next() as Particle); _local2.vector.vx = (_local2.vector.vx * 0.95); _local2.vector.vy = (_local2.vector.vy * 0.95); _local2.particleSprite.x = (_local2.particleSprite.x + _local2.vector.vx); _local2.particleSprite.y = (_local2.particleSprite.y + _local2.vector.vy); _local2.particleSprite.alpha = (1 - _local2.deltaLife()); if ((_local2.deltaLife() >= 1)){ killParticle(_local2); }; } while (true); } public function spawnParticle():void{ var _local2 = (null as Point); var _local3 = (null as Particle); var _local1 = (Type.createInstance(Type.toClass(particleClass), [particleData]) as Particle); if ((radius == 0)){ _local1.particleSprite.x = loc.x; _local1.particleSprite.y = loc.y; } else { _local2 = (new Point((Math.random() * radius), (Math.random() * radius)) as Point); _local1.particleSprite.x = _local2.x; _local1.particleSprite.y = _local2.y; }; if (!((spriteToFollow == (null as Sprite)))){ if ((particles.length > 0)){ _local3 = (particles.last() as Particle); _local2 = (new Point(_local3.particleSprite.x, _local3.particleSprite.y) as Point); _local1.drawTravelLine(loc, _local2); }; }; particles.add(_local1); particleContainer.addChild(_local1.particleSprite); } public function killParticle(_arg1:Particle):void{ _arg1.destroy(); particleContainer.removeChild(_arg1.particleSprite); particles.remove(_arg1); _arg1 = ((null as Particle) as Particle); } public function killMe():void{ lifetime = 1; } public function forceClear():void{ var _local2 = (null as Particle); var _local1:* = particles.iterator(); do { //unresolved if _local2 = (_local1.next() as Particle); particleContainer.removeChild(_local2.particleSprite); } while (true); particles.clear(); } public function deltaLife():Number{ var _local2:Number; var _local1:Number = 0; if ((lifetime > 0)){ _local2 = (ParticleManager.currentTick - spawntime); _local1 = (_local2 / lifetime); }; return (_local1); } } class EnemyESprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function EnemyESprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(14, 14, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -7; core.y = -7; var _local2 = (new BitmapData(128, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(352, 32, 128, 32), new Point(0, 0)); equip = new MovieTile(_local2, 32, 32); equip.x = -16; equip.y = -16; equipframes = equip.frames; var _local3 = (new BitmapData(14, 14, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); var _local4:int; var _local5:int = 14; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 14; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -7; inflictCore.y = -7; var _local10 = (new BitmapData(128, 32, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(352, 32, 128, 32), new Point(0, 0)); _local4 = 0; _local5 = 128; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 32; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 32, 32); inflictEquip.x = -16; inflictEquip.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } class ProjectileS extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileS(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileS.damage; speed = 12; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); turningSpeed = 7; baseType = ProjectileBaseType.MISSILE; useTarget = true; maxDistance = 800; hitNDestroy = true; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(11, 2, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 11, 2), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -1; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectileSBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileCExplosionEmitter) as ParticleEmitter); var _local2 = (new ParticleEmitter(Config.projectileCExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); _local2.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); ParticleManager.createEmitter(_local2); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class Mission4 extends Mission { public var level9:Object; public var level8:Object; public var level7:Object; public var level6:Object; public var level5:Object; public var level4:Object; public var level3:Object; public var level2:Object; public var level10:Object; public var level1:Object; public function Mission4():void{ var _local5:int; var _local6:int; var _local7:int; var _local8:Number; var _local9:Number; var _local10 = (null as Point); var _local18:* = null; var _local19:Number; if (Boot_BA08CD.skip_constructor){ return; }; super(); integrityThreshold = 20; regenIntegrityRate = 0.001; damageIntegrityRate = 0.0008; var _local1 = (new List() as List); _local1.add({pos:new Point(250, 100), enemy:EnemyB}); _local1.add({pos:new Point(250, 400), enemy:EnemyB}); _local1.add({pos:new Point(100, 250), enemy:EnemyB}); _local1.add({pos:new Point(400, 250), enemy:EnemyB}); _local1.add({pos:new Point(25, 25), enemy:EnemyG}); _local1.add({pos:new Point(475, 475), enemy:EnemyG}); _local1.add({pos:new Point(475, 25), enemy:EnemyG}); _local1.add({pos:new Point(25, 475), enemy:EnemyG}); level1 = {pattern:_local1, delay:2500, id:1}; var _local2 = (new List() as List); _local2.add({pos:new Point(250, 100), enemy:SpawnerE}); _local2.add({pos:new Point(250, 400), enemy:SpawnerE}); var _local3:int; var _local4:int = 10; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local2.add({pos:_local10, enemy:EnemyG}); } while (true); level2 = {pattern:_local2, delay:2500, id:2}; var _local11 = (new List() as List); _local3 = 0; _local4 = 10; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local11.add({pos:_local10, enemy:EnemyF}); } while (true); level3 = {pattern:_local11, delay:2500, id:3}; var _local12 = (new List() as List); _local12.add({pos:new Point(100, 150), enemy:EnemyG}); _local12.add({pos:new Point(100, 350), enemy:EnemyG}); _local12.add({pos:new Point(400, 150), enemy:EnemyG}); _local12.add({pos:new Point(400, 350), enemy:EnemyG}); _local12.add({pos:new Point(150, 100), enemy:EnemyG}); _local12.add({pos:new Point(150, 400), enemy:EnemyG}); _local12.add({pos:new Point(350, 100), enemy:EnemyG}); _local12.add({pos:new Point(350, 400), enemy:EnemyG}); _local12.add({pos:new Point(250, 250), enemy:SpawnerD}); level4 = {pattern:_local12, delay:2500, id:4}; var _local13 = (new List() as List); _local3 = 0; _local4 = 8; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyE}); } while (true); _local3 = 0; _local4 = 10; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyA}); } while (true); level5 = {pattern:_local13, delay:2500, id:5}; var _local14 = (new List() as List); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyF}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyG}); } while (true); _local14.add({pos:new Point(100, 150), enemy:SpawnerE}); _local14.add({pos:new Point(400, 350), enemy:SpawnerE}); level6 = {pattern:_local14, delay:2500, id:6}; var _local15 = (new List() as List); _local3 = 0; _local4 = 5; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyB}); } while (true); _local3 = 0; _local4 = 5; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyD}); } while (true); _local3 = 0; _local4 = 5; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyE}); } while (true); _local3 = 0; _local4 = 5; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyF}); } while (true); level7 = {pattern:_local15, delay:2500, id:7}; var _local16 = (new List() as List); _local16.add({pos:new Point(225, 225), enemy:EnemyB}); _local16.add({pos:new Point(275, 225), enemy:EnemyB}); _local16.add({pos:new Point(275, 275), enemy:EnemyB}); _local16.add({pos:new Point(225, 275), enemy:EnemyB}); _local16.add({pos:new Point(250, 150), enemy:SpawnerA}); _local16.add({pos:new Point(250, 350), enemy:SpawnerA}); _local16.add({pos:new Point(150, 250), enemy:SpawnerA}); _local16.add({pos:new Point(350, 250), enemy:SpawnerA}); _local16.add({pos:new Point(250, 50), enemy:EnemyE}); _local16.add({pos:new Point(250, 50), enemy:EnemyE}); _local16.add({pos:new Point(50, 250), enemy:EnemyC}); _local16.add({pos:new Point(50, 250), enemy:EnemyC}); _local16.add({pos:new Point(250, 250), enemy:EnemyG}); _local16.add({pos:new Point(250, 250), enemy:EnemyG}); _local16.add({pos:new Point(250, 250), enemy:EnemyG}); _local16.add({pos:new Point(250, 250), enemy:EnemyG}); _local16.add({pos:new Point(250, 250), enemy:EnemyG}); _local16.add({pos:new Point(250, 250), enemy:EnemyG}); level8 = {pattern:_local16, delay:2500, id:8}; var _local17 = (new List() as List); _local3 = 0; _local4 = 2; do { //unresolved if _local5 = _local3; _local3++; _local6 = 100; _local7 = (500 - 100); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local18 = SpawnerB; _local19 = (Math.random() * 3); if ((_local19 >= 0)){ false; }; if (false){ _local18 = SpawnerE; } else { _local18 = SpawnerC; }; _local17.add({pos:_local10, enemy:_local18}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local17.add({pos:_local10, enemy:EnemyD}); } while (true); _local3 = 0; _local4 = 5; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local17.add({pos:_local10, enemy:EnemyE}); } while (true); _local3 = 0; _local4 = 5; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local17.add({pos:_local10, enemy:EnemyF}); } while (true); level9 = {pattern:_local17, delay:2500, id:9}; var _local20 = (new List() as List); _local20.add({pos:new Point(250, 100), enemy:BossD}); _local20.add({pos:new Point(100, 250), enemy:BossD}); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local20.add({pos:_local10, enemy:EnemyE}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local20.add({pos:_local10, enemy:EnemyG}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local20.add({pos:_local10, enemy:EnemyB}); } while (true); level10 = {pattern:_local20, delay:-1, id:10}; } override public function prepareLevels():void{ levels.add(level1); levels.add(level2); levels.add(level3); levels.add(level4); levels.add(level5); levels.add(level6); levels.add(level7); levels.add(level8); levels.add(level9); levels.add(level10); var _local1 = (new Bitmap(Assets.objects.get("Background04")) as Bitmap); ScreenManager.playScreen.setBackground(_local1); } } class ProjectileR extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileR(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileR.damage; speed = 20; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); useTarget = true; hitNDestroy = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 8, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 12, 8), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -4; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectilePBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class ComboParticle extends Particle { public function ComboParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label("COMBO!", _local2) as Label); if ((CollisionManager.comboCount > 1)){ _local3.updateLabel((((("COMBO " + CollisionManager.comboCount) as String) + "x!") as String)); }; var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class Spawner extends PlayObject { public var spawnTime:int; public var spawnEnemy:Object; public var spawnCount:int; public var currentSpawnTime:int; public function Spawner(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); currentSpawnTime = 0; container.x = _arg3.x; container.y = _arg3.y; } public function spawn():void{ } } class EnemyDScoreExplosionParticle extends Particle { public function EnemyDScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.enemyD.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class ProjectileQ extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileQ(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileQ.damage; speed = 20; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); useTarget = true; hitNDestroy = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 8, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 12, 8), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -4; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectilePBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class Hash { public var h:Object; public function Hash():void{ if (Boot_BA08CD.skip_constructor){ return; }; h = new Dictionary(); } public function toString():String{ var _local4 = (null as String); var _local1 = (new StringBuf() as StringBuf); _local1.add("{"); var _local2:* = keys(); var _local3:* = _local2; do { //unresolved if _local4 = (_local3.next() as String); _local1.add(_local4); _local1.add(" => "); _local1.add(Std.string(get(_local4))); if (_local2.hasNext()){ _local1.add(", "); }; } while (true); _local1.add("}"); return (_local1.toString()); } public function set(_arg1:String, _arg2:Object):void{ h[_arg1] = _arg2; } public function remove(_arg1:String):Boolean{ if (!(h.hasOwnProperty(_arg1))){ return (false); }; delete h[_arg1]; return (true); } public function keys():Object{ var _local2:int; var _local1 = ([] as Array); var _local3:* = h; for (/*?*/in h) { _local1.push(//unresolved nextvalue or nextname); }; return (_local1.iterator()); } public function iterator():Object{ return ({next:function ():Object{ var _local1:* = this.it.next(); return (this.ref[_local1]); }, hasNext:function ():Object{ return (this.it.hasNext()); }, it:keys(), ref:h}); } public function get(_arg1:String):Object{ return (h[_arg1]); } public function exists(_arg1:String):Boolean{ return (h.hasOwnProperty(_arg1)); } } class BossDSprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function BossDSprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(28, 28, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(386, 130, 28, 28), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -14; core.y = -14; var _local2 = (new BitmapData(320, 64, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 352, 320, 64), new Point(0, 0)); equip = new MovieTile(_local2, 64, 64); equip.x = -32; equip.y = -32; equipframes = equip.frames; var _local3 = (new BitmapData(28, 28, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(386, 130, 28, 28), new Point(0, 0)); var _local4:int; var _local5:int = 28; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 28; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -14; inflictCore.y = -14; var _local10 = (new BitmapData(320, 64, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 352, 320, 64), new Point(0, 0)); _local4 = 0; _local5 = 320; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 64; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 64, 64); inflictEquip.x = -32; inflictEquip.y = -32; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function idle():void{ equip.goToFrame(4); } public function animate():void{ if (equip.isNextFrame((equipframes - 1))){ equip.goToFrame(0); } else { equip.nextFrame(); }; if (inflictEquip.isNextFrame((equipframes - 1))){ inflictEquip.goToFrame(0); } else { inflictEquip.nextFrame(); }; } } class EReg { public var result:Array; public var r:Object; public function EReg(_arg1:String=undefined, _arg2:String=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; r = new RegExp(_arg1, _arg2); } public function split(_arg1:String):Array{ return (_arg1.split(r)); } public function replace(_arg1:String, _arg2:String):String{ return (_arg1.replace(r, _arg2)); } public function matchedRight():String{ if ((result == (null as Array))){ throw ("No string matched"); }; var _local1:int = (result.index + (result[0] as String).length); return (result.input.substr(_local1, (result.input.length - _local1))); } public function matchedPos():Object{ if ((result == (null as Array))){ throw ("No string matched"); }; return ({len:(result[0] as String).length, pos:result.index}); } public function matchedLeft():String{ if ((result == (null as Array))){ throw ("No string matched"); }; return (result.input.substr(0, result.index)); } public function matched(_arg1:int):String{ if (!((result == (null as Array)))){ false; if ((_arg1 >= 0)){ false; }; }; if (false){ } else { throw ("EReg::matched"); }; return (!NULL!); } public function match(_arg1:String):Boolean{ result = r.exec(_arg1); return (!((result == (null as Array)))); } } class ProjectileCExplosionParticle extends Particle { public function ProjectileCExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); var _local2 = (new Sprite() as Sprite); var _local3 = (new BitmapData(8, 2, true, 0xFFFFFF) as BitmapData); _local3.fillRect(new Rectangle(0, 0, 8, 2), -1); var _local4 = (new Bitmap(_local3) as Bitmap); _local4.y = -1; _local2.addChild(_local4); particleSprite.addChild(_local2); } } class SpawnerA extends Enemy { public var spawnerSprite:SpawnerSprite; public var spawnTime:int; public var spawnEnemy:Object; public var spawnCount:int; public var currentSpawnTime:int; public var curanimateque:int; public var animatespeed:int; public function SpawnerA(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); spawnTime = Config.spawnerA.spawnTime; spawnCount = Config.spawnerA.spawnCount; spawnEnemy = Config.spawnerA.spawnEnemy; hitpoint = Config.spawnerA.hitpoint; worth = Config.spawnerA.worth; currentSpawnTime = 0; var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFF00); _local4.graphics.drawRect(0, 0, 16, 16); hitbox = _local4; hitbox.x = (-(hitbox.width) / 2); hitbox.y = (-(hitbox.height) / 2); hitbox.alpha = 0; spawnerSprite = new SpawnerSprite(); inflictHitSprite.addChild(spawnerSprite.inflictGroup); animatespeed = 10; curanimateque = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; spawnerSprite.alpha = 0; container.addChild(hitbox); container.addChild(spawnerSprite); container.addChild(inflictHitSprite); if ((_arg3.x == 0)){ false; }; if (false){ container.x = ((Math.round(((Math.random() * boundary.width) - (container.width / 2))) + boundary.x) + (container.width / 2)); container.y = ((Math.round(((Math.random() * boundary.height) - (container.height / 2))) + boundary.y) + (container.height / 2)); } else { container.x = _arg3.x; container.y = _arg3.y; }; displayParent.addChild(container); } override public function update():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; var _local6 = (null as Enemy); if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); spawnerSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; spawnerSprite.alpha = 1; }; } else { if ((currentSpawnTime > spawnTime)){ currentSpawnTime = 0; _local1 = 0; _local2 = spawnCount; do { //unresolved if _local3 = _local1; _local1++; _local4 = (container.x + (Math.cos((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local5 = (container.y + (Math.sin((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local6 = (Type.createInstance(Type.toClass(spawnEnemy), [displayParent, boundary, new Point(_local4, _local5)]) as Enemy); MissionManager.currentMission.enemyList().push(_local6); } while (true); spawnerSprite.spawning(true); } else { if ((currentSpawnTime == 0)){ spawnerSprite.spawning(false); }; currentSpawnTime = (currentSpawnTime + 1); }; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ spawnerSprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.spawnerScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class EnemyMine extends Enemy { public var speed:Number; public var lifetime:int; public var enemySprite:EnemyMineSprite; public var curlifetime:int; public var curanimateque:int; public var animatespeed:int; public function EnemyMine(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); isMine = true; hitpoint = Config.enemyMine.hitpoint; worth = Config.enemyMine.worth; enemySprite = new EnemyMineSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); var _local4:int = 1; var _local5:int = 2; speed = ((Math.random() * (_local5 - _local4)) + _local4); var _local6 = (new Sprite() as Sprite); _local6.graphics.beginFill(0xFFFFFF); _local6.graphics.drawRect(-6, -6, 12, 12); hitbox = _local6; hitbox.alpha = 0; animatespeed = 20; curanimateque = 0; lifetime = 400; curlifetime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = false; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (1 - (curGhostingQue / ghostingTime)); } else { curGhostingQue = ghostingTime; MissionManager.currentMission.removeEnemy(this); destroy(false); }; } else { if ((curlifetime < lifetime)){ curlifetime = (curlifetime + 1); if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; } else { if ((curlifetime >= lifetime)){ isGhosting = true; curlifetime = lifetime; }; }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.enemyMineScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class LabelButton extends SimpleButton { public function LabelButton(_arg1:String=undefined, _arg2:Number=undefined, _arg3:Number=undefined, _arg4:Object=undefined, _arg5:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; var _local6:* = {height:_arg3, width:_arg2, multiline:false, selectable:false, align:TextFormatAlign.CENTER, autosize:TextFieldAutoSize.CENTER, color:0xFFFFFF, size:10, font:"Tahoma"}; var _local7:* = {margin:2, over_alpha:0.8, over_bordersize:1, over_bordercolor:0, over_bgcolor:0x999999, down_alpha:0.8, down_bordersize:1, down_bordercolor:0xFFFFFF, down_bgcolor:0x666666, up_alpha:0.8, up_bordersize:1, up_bordercolor:0xFFFFFF, up_bgcolor:0x999999}; var _local8:* = ((_arg5 == null)) ? _local6 : _arg5; var _local9:* = ((_arg4 == null)) ? _local7 : _arg4; var _local10 = (new Label(_arg1, _local8) as Label); var _local11 = (new Label(_arg1, _local8) as Label); var _local12 = (new Label(_arg1, _local8) as Label); var _local13 = (new Sprite() as Sprite); _local13.graphics.beginFill(_local9.up_bgcolor, _local9.up_alpha); _local13.graphics.lineStyle(_local9.up_bordersize, _local9.up_bordercolor); _local13.graphics.drawRect(0, 0, (_arg2 + (_local9.margin * 2)), (_arg3 + (_local9.margin * 2))); var _local14 = (new Sprite() as Sprite); _local14.graphics.beginFill(_local9.down_bgcolor, _local9.down_alpha); _local14.graphics.lineStyle(_local9.down_bordersize, _local9.down_bordercolor); _local14.graphics.drawRect(0, 0, (_arg2 + (_local9.margin * 2)), (_arg3 + (_local9.margin * 2))); var _local15 = (new Sprite() as Sprite); _local15.graphics.beginFill(_local9.over_bgcolor, _local9.over_alpha); _local15.graphics.lineStyle(_local9.over_bordersize, _local9.over_bordercolor); _local15.graphics.drawRect(0, 0, (_arg2 + (_local9.margin * 2)), (_arg3 + (_local9.margin * 2))); var _local16 = (new Sprite() as Sprite); _local16.graphics.beginFill(0); _local16.graphics.drawRect(0, 0, (_arg2 + (_local9.margin * 2)), (_arg3 + (_local9.margin * 2))); super(); var _local17 = (new Sprite() as Sprite); _local17.addChild(_local13); _local17.addChild(_local10.getTextField()); var _local18 = (new Sprite() as Sprite); _local18.addChild(_local14); _local18.addChild(_local11.getTextField()); var _local19 = (new Sprite() as Sprite); _local19.addChild(_local15); _local19.addChild(_local12.getTextField()); upState = _local17; downState = _local18; overState = _local19; hitTestState = _local16; } } class EnemyRuneExplosionParticle extends Particle { public function EnemyRuneExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); var _local2 = (new Sprite() as Sprite); var _local3 = (new BitmapData(96, 96, true) as BitmapData); _local3.copyPixels(Assets.objects.get("UITiles"), new Rectangle(0, 0, 96, 96), new Point(0, 0)); var _local4 = (new MovieTile(_local3, 16, 16) as MovieTile); var _local5:Number = 1; var _local6:Number = 0.8; var _local7:Number = 2; var _local8:Number = 1; var _local9:int = Math.round((Math.random() * _local4.frames)); var _local10:Number = ((Math.random() * (_local5 - _local6)) + _local6); var _local11:Number = ((Math.random() * (_local7 - _local8)) + _local8); _local4.goToFrame(_local9); _local4.alpha = _local10; var _local12:* = _local11; _local4.scaleY = _local12; _local4.scaleX = _local12; _local2.addChild(_local4); _local2.x = (-(_local2.width) / 2); _local2.y = (-(_local2.height) / 2); particleSprite.addChild(_local2); } } class EnemyG extends Enemy { public var speed:Number; public var shieldSprite:Sprite; public var projectileData:Object; public var minSpeed:Number; public var maxshieldpoint:int; public var maxSpeed:Number; public var enemySprite:EnemyGSprite; public var distanceThreshold:int; public var curanimateque:int; public var animatespeed:int; public function EnemyG(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.enemyG.hitpoint; maxshieldpoint = (Config.enemyG.hitpoint * 50); shieldpoint = maxshieldpoint; worth = Config.enemyG.worth; enemySprite = new EnemyGSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); shieldSprite = new Sprite(); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-7, -7, 14, 14); hitbox = _local4; hitbox.alpha = 0; minSpeed = 0.6; maxSpeed = 0.9; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; distanceThreshold = 150; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ var _local1 = (null as Point); var _local2:Number; if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { _local1 = (new Point(ScreenManager.playScreen.player.locX, ScreenManager.playScreen.player.locY) as Point); _local2 = Math.atan2((_local1.y - container.y), (_local1.x - container.x)); vectorX = (Math.cos(_local2) * speed); vectorY = (Math.sin(_local2) * speed); if ((Point.distance(_local1, new Point(locX, locY)) <= distanceThreshold)){ if ((shieldpoint > 1)){ isInvincible = true; createShield(); }; enemySprite.idle(); } else { shieldpoint = maxshieldpoint; isInvincible = false; destroyShield(); if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.enemyGScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } public function destroyShield():void{ if (container.contains(shieldSprite)){ shieldSprite.graphics.clear(); shieldSprite.filters = []; container.removeChild(shieldSprite); }; } override public function decreaseShield():void{ var _local1:Number = 0.3; var _local2:Number = 1; var _local3:Number = (shieldpoint / maxshieldpoint); if ((_local3 <= 0)){ destroyShield(); }; var _local4:Number = ((_local3 * (_local2 - _local1)) + _local1); var _local5:* = _local4; shieldSprite.scaleY = _local5; shieldSprite.scaleX = _local5; } public function createShield():void{ var _local1:* = null; if (!(container.contains(shieldSprite))){ _local1 = 1; shieldSprite.scaleY = _local1; shieldSprite.scaleX = _local1; shieldSprite.graphics.lineStyle(2, 0xFFFFFF, 0.5); shieldSprite.graphics.drawCircle(0, 0, (enemySprite.width / 3)); shieldSprite.filters = [new BlurFilter(2, 2, 2)]; container.addChild(shieldSprite); }; } } class EnemyMineScoreExplosionParticle extends Particle { public function EnemyMineScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.enemyMine.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class MenuDialog extends Screen { public var resumeButton:ButtonTile; public var quitButton:ButtonTile; public var menu:Sprite; public var instructionsButton:ButtonTile; public function MenuDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); menu = new Sprite(); menu.addChild(new Bitmap(Assets.objects.get("MenuDialog"))); var _local1 = (new BitmapData(149, 120, true) as BitmapData); _local1.copyPixels(Assets.objects.get("UITiles"), new Rectangle(0, 380, 149, 120), new Point(0, 0)); resumeButton = new ButtonTile(_local1, 149, 30); var _local2 = (new BitmapData(149, 120, true) as BitmapData); _local2.copyPixels(Assets.objects.get("UITiles"), new Rectangle(149, 380, 149, 120), new Point(0, 0)); instructionsButton = new ButtonTile(_local2, 149, 30); var _local3 = (new BitmapData(149, 120, true) as BitmapData); _local3.copyPixels(Assets.objects.get("UITiles"), new Rectangle(298, 380, 149, 120), new Point(0, 0)); quitButton = new ButtonTile(_local3, 149, 30); resumeButton.x = ((menu.width - resumeButton.width) / 2); resumeButton.y = 79; instructionsButton.x = ((menu.width - instructionsButton.width) / 2); instructionsButton.y = 114; quitButton.x = ((menu.width - quitButton.width) / 2); quitButton.y = 166; menu.x = ((500 - menu.width) / 2); menu.y = 500; menu.addChild(resumeButton); menu.addChild(instructionsButton); menu.addChild(quitButton); container.addChild(menu); resumeButton.click = onResumeClick; instructionsButton.click = onInstructionsClick; quitButton.click = onQuitClick; } public function onResumeClick():void{ Tweener.addTween(menu, {onComplete:closeDialog, time:0.5, transition:"easeOutCubic", y:500}); if (TutorialManager.isRunning){ TutorialManager.resumeStep(); }; } public function onQuitClick():void{ var _local1:Boolean; if (TutorialManager.isRunning){ TutorialManager.endTutorial(); TutorialManager.hasDoneTutorial = false; } else { _local1 = Tweener.removeAllTweens(); if (_local1){ Profile.reset(); ScreenManager.playScreen.reset(); ScreenManager.techDialog.resetTechTree(); ScreenManager.hideDialog(); ScreenManager.showScreen("title"); }; }; } public function onInstructionsClick():void{ ScreenManager.showScreen("instructionsFromPlay"); ScreenManager.hideDialog(); } public function init():void{ menu.y = 500; Tweener.addTween(menu, {time:0.5, transition:"easeOutCubic", y:((500 - menu.height) / 2)}); } public function closeDialog():void{ ScreenManager.playScreen.start(); ScreenManager.hideDialog(); } public function bypassInit():void{ menu.y = ((500 - menu.height) / 2); } } class EnemyFSprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function EnemyFSprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(14, 14, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -7; core.y = -7; var _local2 = (new BitmapData(160, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(192, 32, 160, 32), new Point(0, 0)); equip = new MovieTile(_local2, 32, 32); equip.x = -16; equip.y = -16; equipframes = equip.frames; var _local3 = (new BitmapData(14, 14, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); var _local4:int; var _local5:int = 14; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 14; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -7; inflictCore.y = -7; var _local10 = (new BitmapData(160, 32, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(192, 32, 160, 32), new Point(0, 0)); _local4 = 0; _local5 = 192; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 32; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 32, 32); inflictEquip.x = -16; inflictEquip.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function idle():void{ equip.goToFrame(4); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } class LevelStatus { public const __enum__ = true; public var tag; public var params; public static const __isenum = true; public static var VOID:LevelStatus; public static var STARTED:LevelStatus; public static var FINISHED:LevelStatus; public function LevelStatus(_arg1:String, _arg2:Object):void{ tag = _arg1; params = _arg2; } public function toString():String{ return (Boot_BA08CD.enum_to_string(this)); } } class DescStandard extends Font { public function DescStandard():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class BossAScoreExplosionParticle extends Particle { public function BossAScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.bossA.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class BossBScoreExplosionParticle extends Particle { public function BossBScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.bossB.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class BossCScoreExplosionParticle extends Particle { public function BossCScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.bossSpawner.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class BossDScoreExplosionParticle extends Particle { public function BossDScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.bossD.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class EnemyA extends Enemy { public var speed:Number; public var projectileData:Object; public var minSpeed:Number; public var maxSpeed:Number; public var enemySprite:EnemyASprite; public var curanimateque:int; public var animatespeed:int; public function EnemyA(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.enemyA.hitpoint; worth = Config.enemyA.worth; enemySprite = new EnemyASprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-7, -7, 14, 14); hitbox = _local4; hitbox.alpha = 0; minSpeed = 0.5; maxSpeed = 1; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); var _local2 = (new ParticleEmitter(Config.enemyAScoreExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); ParticleManager.createEmitter(_local2); } } class EnemyC extends Enemy { public var stopTime:int; public var speed:Number; public var shieldSprite:Sprite; public var projectileData:Object; public var moveTime:int; public var minSpeed:Number; public var maxshieldpoint:int; public var maxSpeed:Number; public var enemySprite:EnemyCSprite; public var curanimateque:int; public var curStopTime:int; public var curMoveTime:int; public var animatespeed:int; public function EnemyC(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.enemyC.hitpoint; maxshieldpoint = (Config.enemyC.hitpoint * 4); shieldpoint = maxshieldpoint; worth = Config.enemyC.worth; enemySprite = new EnemyCSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); shieldSprite = new Sprite(); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-7, -7, 14, 14); hitbox = _local4; hitbox.alpha = 0; minSpeed = 1; maxSpeed = 2; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; var _local6:int = 250; var _local7:int = 450; var _local8:int = 400; var _local9:int = 900; stopTime = Std.int(((Math.random() * (_local7 - _local6)) + _local6)); moveTime = Std.int(((Math.random() * (_local9 - _local8)) + _local8)); curStopTime = 0; curMoveTime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { if ((curStopTime == 0)){ false; }; if (false){ curMoveTime = (curMoveTime + 1); isInvincible = false; if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; } else { if ((curStopTime < stopTime)){ false; }; if (false){ curStopTime = (curStopTime + 1); if ((shieldpoint > 1)){ isInvincible = true; createShield(); } else { isInvincible = false; }; enemySprite.idle(); } else { curStopTime = 0; curMoveTime = 0; shieldpoint = maxshieldpoint; destroyShield(); }; }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.enemyCScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } public function destroyShield():void{ shieldSprite.graphics.clear(); shieldSprite.filters = []; container.removeChild(shieldSprite); } override public function decreaseShield():void{ var _local1:Number = 0.3; var _local2:Number = 1; var _local3:Number = (shieldpoint / maxshieldpoint); if ((_local3 <= 0)){ destroyShield(); }; var _local4:Number = ((_local3 * (_local2 - _local1)) + _local1); var _local5:* = _local4; shieldSprite.scaleY = _local5; shieldSprite.scaleX = _local5; } public function createShield():void{ var _local1:* = null; if (!(container.contains(shieldSprite))){ _local1 = 1; shieldSprite.scaleY = _local1; shieldSprite.scaleX = _local1; shieldSprite.graphics.lineStyle(2, 0xFFFFFF, 0.5); shieldSprite.graphics.drawCircle(0, 0, (enemySprite.width / 3)); shieldSprite.filters = [new BlurFilter(2, 2, 2)]; container.addChild(shieldSprite); }; } } class EnemyE extends Enemy { public var teleportTime:int; public var speed:Number; public var projectileData:Object; public var moveTime:int; public var minSpeed:Number; public var maxSpeed:Number; public var isTeleporting:Boolean; public var enemySprite:EnemyESprite; public var curanimateque:int; public var curTeleportTime:int; public var curMoveTime:int; public var animatespeed:int; public function EnemyE(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.enemyE.hitpoint; worth = Config.enemyE.worth; enemySprite = new EnemyESprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-7, -7, 14, 14); hitbox = _local4; hitbox.alpha = 0; minSpeed = 1; maxSpeed = 2; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; var _local6:int = 50; var _local7:int = 75; var _local8:int = 200; var _local9:int = 400; teleportTime = Std.int(((Math.random() * (_local7 - _local6)) + _local6)); moveTime = Std.int(((Math.random() * (_local9 - _local8)) + _local8)); curTeleportTime = 0; curMoveTime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; isTeleporting = false; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ if (isGhosting){ false; }; if (false){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { if ((curMoveTime < moveTime)){ curMoveTime = (curMoveTime + 1); isInvincible = false; if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; } else { if ((curMoveTime == moveTime)){ false; }; if (false){ if (!(isTeleporting)){ bamf(); }; curTeleportTime = (curTeleportTime + 1); objectSprite.visible = false; isGhosting = true; isTeleporting = true; } else { teleport(); bamf(); objectSprite.visible = true; isGhosting = false; isTeleporting = false; curTeleportTime = 0; curMoveTime = 0; }; }; }; } public function teleport():void{ var _local1:Number = (boundary.left + enemySprite.width); var _local2:Number = (boundary.right - enemySprite.width); var _local3:Number = (boundary.top + enemySprite.height); var _local4:Number = (boundary.bottom - enemySprite.height); var _local5:Number = ((Math.random() * (_local2 - _local1)) + _local1); var _local6:Number = ((Math.random() * (_local4 - _local3)) + _local3); container.x = _local5; container.y = _local6; var _local7:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local7 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local7 * Math.PI) / 180)) * speed); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.enemyEScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } public function bamf():void{ var _local1 = (new ParticleEmitter(Config.enemyTeleportEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); SoundManager.playSFX("EnemyTeleporting"); } } dynamic class Boot_BA08CD extends MovieClip { public static var init:Function; public static var tf:TextField; public static var lines:Array; public static var __res:Dictionary; public static var skip_constructor:Boolean; public function Boot_BA08CD(_arg1:MovieClip=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local2:* = Array.prototype; _local2.copy = function ():Object{ return (this.slice()); }; _local2.insert = function (_arg1:Object, _arg2:Object):void{ this.splice(_arg1, 0, _arg2); }; _local2.remove = function (_arg1:Object):Boolean{ var _local4:int; var _local2:int; var _local3:int = this.length; do { //unresolved if _local4 = _local2; _local2++; if ((this[_local4] == _arg1)){ this.splice(_local4, 1); return (true); }; } while (true); return (false); }; _local2.iterator = function ():Object{ return ({next:function ():Object{ var _local1:* = this.cur; this.cur = (_local1 + 1); return (this.arr[_local1]); }, hasNext:function ():Boolean{ return ((this.cur < this.arr.length)); }, arr:this, cur:0}); }; ??getglobalscope .Boolean = Boolean; ??getglobalscope .int = int; ??getglobalscope .Number = Number; ??getglobalscope .Dynamic = {toString:function ():String{ return ("Dynamic"); }}; var cca:* = String.prototype.charCodeAt; String.prototype.charCodeAt = function (_arg1:Object):Object{ var _local2:* = cca.call(this, _arg1); if (isNaN(_local2)){ return (null); }; return (_local2); }; Boot_BA08CD.lines = new Array(); Lib.current = ((_arg1 == (null as MovieClip))) ? (this as MovieClip) : _arg1; if (!((Boot_BA08CD.init == null))){ Boot_BA08CD.init(); }; } public static function enum_to_string(_arg1:Object):String{ if ((_arg1.params == null)){ return ((_arg1.tag as String)); }; return ((((((((_arg1.tag as String) + "(") as String) + _arg1.params.join(",")) as String) + ")") as String)); } public static function __instanceof(_arg1:Object, _arg2:Object):Boolean{ var _local4:* = null; var _local5:* = null; try { if ((_arg2 === Dynamic)){ return (true); }; return ((_arg1 is _arg2)); } catch(#InvalidMultinameIndex#) { _local5 = !NULL!; _local4 = _local5; }; return (false); } public static function __clear_trace():void{ if ((Boot_BA08CD.tf == (null as TextField))){ return; }; Lib.current.removeChild(Boot_BA08CD.tf); Boot_BA08CD.tf = (null as TextField); Boot_BA08CD.lines = new Array(); } public static function __set_trace_color(_arg1:uint):void{ Boot_BA08CD.getTrace().textColor = _arg1; } public static function getTrace():TextField{ var _local1 = (Lib.current as MovieClip); if ((Boot_BA08CD.tf == (null as TextField))){ Boot_BA08CD.tf = new TextField(); Boot_BA08CD.tf.selectable = false; Boot_BA08CD.tf.width = _local1.stage.stageWidth; Boot_BA08CD.tf.autoSize = TextFieldAutoSize.LEFT; Boot_BA08CD.tf.mouseEnabled = false; }; _local1.addChild(Boot_BA08CD.tf); return (Boot_BA08CD.tf); } public static function __trace(_arg1:Object, _arg2:Object):void{ var _local3 = (Boot_BA08CD.getTrace() as TextField); var _local4 = (((_arg2 == null)) ? "(null)" : (((((_arg2.fileName as String) + ":") as String) + _arg2.lineNumber) as String) as String); Boot_BA08CD.lines = Boot_BA08CD.lines.concat(((((_local4 + ": ") as String) + Boot_BA08CD.__string_rec(_arg1, "")) as String).split("\n")); _local3.text = Boot_BA08CD.lines.join("\n"); var _local5 = (Lib.current.stage as Stage); if ((_local5 == (null as Stage))){ throw ("Loaded movie not ready to trace, wait a few frames"); }; do { //unresolved if Boot_BA08CD.lines.shift(); _local3.text = Boot_BA08CD.lines.join("\n"); } while (true); } public static function __string_rec(_arg1:Object, _arg2:String):String{ var _local4 = (null as String); var _local5 = (null as Array); var _local6 = (null as Array); var _local7:int; var _local8:* = null; var _local9 = (null as String); var _local10:Boolean; var _local11:int; var _local12:int; var _local13 = (null as String); var _local14:* = null; var _local3 = (getQualifiedClassName(_arg1) as String); _local4 = (_local3 as String); if (_local4 == "Object"){ _local7 = 0; _local6 = ([] as Array); _local8 = _arg1; for (/*?*/in _arg1) { _local6.push(//unresolved nextvalue or nextname); }; _local5 = (_local6 as Array); _local9 = ("{" as String); _local10 = true; _local7 = 0; _local11 = _local5.length; do { //unresolved if _local12 = _local7; _local7++; _local13 = ((_local5[_local12] as String) as String); if (_local10){ _local10 = false; } else { _local9 = (((_local9 + ",") as String) as String); }; _local9 = (((_local9 + ((((((" " + _local13) as String) + " : ") as String) + Boot_BA08CD.__string_rec(_arg1[_local13], _arg2)) as String)) as String) as String); } while (true); if (!(_local10)){ _local9 = (((_local9 + " ") as String) as String); }; _local9 = (((_local9 + "}") as String) as String); return (_local9); } else { if (_local4 == "Array"){ _local9 = ("[" as String); _local10 = true; _local7 = 0; _local14 = _arg1.length; do { //unresolved if _local11 = _local7; _local7++; if (_local10){ _local10 = false; } else { _local9 = (((_local9 + ",") as String) as String); }; _local9 = (((_local9 + Boot_BA08CD.__string_rec(_arg1[_local11], _arg2)) as String) as String); } while (true); return (((_local9 + "]") as String)); } else { _local4 = (typeof(_arg1) as String); if (_local4 == "function"){ return ("<function>"); //unresolved jump }; }; }; return (new String(_arg1)); } } class EnemyAExplosionParticle extends Particle { public function EnemyAExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); var _local2:Number = 0.9; var _local3:Number = 0.6; var _local4:Number = (Math.random() * 3); var _local5:Number = ((Math.random() * (_local2 - _local3)) + _local3); var _local6 = (new Sprite() as Sprite); _local6.alpha = _local5; var _local7:int = Std.int((6 * _local4)); var _local8:int = (_local7 - 2); var _local9 = (new BitmapData(_local7, _local7, true, 0xFFFFFF) as BitmapData); Raster.line(_local9, 0, 0, _local8, 0, -1); Raster.line(_local9, _local8, 0, _local8, _local8, -1); Raster.line(_local9, _local8, _local8, 0, _local8, -1); Raster.line(_local9, 0, _local8, 0, 0, -1); var _local10 = (new Bitmap(_local9) as Bitmap); _local6.addChild(_local10); particleSprite.addChild(_local6); } } class EnemyAScoreExplosionParticle extends Particle { public function EnemyAScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.enemyA.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class EnemyBScoreExplosionParticle extends Particle { public function EnemyBScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.enemyB.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class EnemyCScoreExplosionParticle extends Particle { public function EnemyCScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.enemyC.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class EnemyEScoreExplosionParticle extends Particle { public function EnemyEScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.enemyE.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class EnemyFScoreExplosionParticle extends Particle { public function EnemyFScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.enemyF.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class EnemyGScoreExplosionParticle extends Particle { public function EnemyGScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.enemyG.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class EnemyHScoreExplosionParticle extends Particle { public function EnemyHScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.enemyH.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class EnemyTeleportParticle extends Particle { public function EnemyTeleportParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); var _local2:Number = (Math.random() * 3); var _local3 = (new Sprite() as Sprite); _local3.graphics.lineStyle(2, 0xFFFFFF); _local3.graphics.moveTo(0, -3); _local3.graphics.curveTo(3, 0, 0, 3); var _local4:* = _local2; _local3.scaleY = _local4; _local3.scaleX = _local4; particleSprite.addChild(_local3); } } class PlayerExplosionParticle extends Particle { public function PlayerExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); var _local2:Number = (Math.random() * 5); var _local3 = (new Sprite() as Sprite); _local3.graphics.beginFill(0xFFFFFF); _local3.graphics.drawRect(-1, -1, 2, 2); var _local4:* = _local2; _local3.scaleY = _local4; _local3.scaleX = _local4; particleSprite.addChild(_local3); } } class ProjectileA extends Projectile { public function ProjectileA(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileA.damage; maxDistance = 100; useTarget = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(8, 2, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 8, 2), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -1; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } } class ProjectileAExplosionParticle extends Particle { public function ProjectileAExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); var _local2 = (new Sprite() as Sprite); var _local3 = (new BitmapData(3, 2, true, 0xFFFFFF) as BitmapData); _local3.fillRect(new Rectangle(0, 0, 3, 2), -1); var _local4 = (new Bitmap(_local3) as Bitmap); _local4.y = -1; _local2.addChild(_local4); particleSprite.addChild(_local2); } } class ProjectileB extends Projectile { public function ProjectileB(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileB.damage; speed = 8; maxDistance = 200; useTarget = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(8, 2, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 8, 2), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -1; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } } class ProjectileBExplosionParticle extends Particle { public function ProjectileBExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); var _local2 = (new Sprite() as Sprite); var _local3 = (new BitmapData(5, 2, true, 0xFFFFFF) as BitmapData); _local3.fillRect(new Rectangle(0, 0, 5, 2), -1); var _local4 = (new Bitmap(_local3) as Bitmap); _local4.y = -1; _local2.addChild(_local4); particleSprite.addChild(_local2); } } class ProjectileG extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileG(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileG.damage; speed = 10; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); maxDistance = 200; fadeSteps = 5; useTarget = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 4, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 12, 4), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -2; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectileGBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class ProjectileH extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileH(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileH.damage; speed = 10; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); maxDistance = 250; fadeSteps = 5; useTarget = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 4, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 12, 4), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -2; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectileGBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class ProjectileJBurstParticle extends Particle { public function ProjectileJBurstParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); } override public function drawTravelLine(_arg1:Point, _arg2:Point):void{ var _local3 = (_arg1.subtract(_arg2) as Point); var _local4 = (new Sprite() as Sprite); _local4.graphics.lineStyle(4, 0xFFFFFF, 0.5); _local4.graphics.lineTo(_local3.x, _local3.y); _local4.cacheAsBitmap = true; particleSprite.addChild(_local4); } } class ProjectileK extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileK(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileK.damage; speed = 12; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 6, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 12, 6), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -3; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectileJBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class ProjectileL extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileL(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileL.damage; speed = 12; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 6, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 12, 6), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -3; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectileJBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class ProjectileO extends Projectile { public function ProjectileO(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileO.damage; speed = 20; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); baseType = ProjectileBaseType.LIGHTNING; useTarget = true; hitNDestroy = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 12, true, 0xFFFFFF) as BitmapData); Raster.circle(_local4, 0, 0, 6, 0xFFFFFF); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.x = -6; _local5.y = -6; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } } class ProjectilePBurstParticle extends Particle { public function ProjectilePBurstParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); } override public function drawTravelLine(_arg1:Point, _arg2:Point):void{ var _local3 = (_arg1.subtract(_arg2) as Point); var _local4 = (new Sprite() as Sprite); _local4.graphics.lineStyle(6, 0xFFFFFF, 0.5); _local4.graphics.lineTo(_local3.x, _local3.y); _local4.cacheAsBitmap = true; particleSprite.addChild(_local4); } } class ProjectileT extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileT(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileT.damage; speed = 12; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); turningSpeed = 7; baseType = ProjectileBaseType.MISSILE; useTarget = true; maxDistance = 1000; hitNDestroy = true; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(11, 2, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 11, 2), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -1; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectileSBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileCExplosionEmitter) as ParticleEmitter); var _local2 = (new ParticleEmitter(Config.projectileCExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); _local2.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); ParticleManager.createEmitter(_local2); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class ProjectileU extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileU(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); damage = Config.projectileU.damage; speed = 12; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); turningSpeed = 7; baseType = ProjectileBaseType.MISSILE; useTarget = true; maxDistance = 1000; hitNDestroy = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(11, 2, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 11, 2), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -1; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectileSBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileCExplosionEmitter) as ParticleEmitter); var _local2 = (new ParticleEmitter(Config.projectileCExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); _local2.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); ParticleManager.createEmitter(_local2); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class ProjectileVBurstParticle extends Particle { public function ProjectileVBurstParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); } override public function drawTravelLine(_arg1:Point, _arg2:Point):void{ var _local3 = (_arg1.subtract(_arg2) as Point); var _local4 = (new Sprite() as Sprite); _local4.graphics.lineStyle(1, 0xFFFFFF, 0.5); _local4.graphics.drawEllipse(-2, -2, 4, 4); _local4.cacheAsBitmap = true; particleSprite.addChild(_local4); } } class RuneRunningParticle extends Particle { public function RuneRunningParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2 = (new Sprite() as Sprite); var _local3 = (new BitmapData(96, 96, true) as BitmapData); _local3.copyPixels(Assets.objects.get("UITiles"), new Rectangle(0, 0, 96, 96), new Point(0, 0)); var _local4 = (new MovieTile(_local3, 16, 16) as MovieTile); var _local5:Number = 0.5; var _local6:Number = 0.1; var _local7:Number = 2; var _local8:Number = 1; var _local9:Number = 3; var _local10:Number = 0; var _local11:Number = ((Math.random() * (_local5 - _local6)) + _local6); var _local12:Number = ((Math.random() * (_local7 - _local8)) + _local8); var _local13:Number = ((Math.random() * (_local9 - _local10)) + _local10); var _local14:int = Math.round((Math.random() * _local4.frames)); _local4.goToFrame(_local14); _local4.alpha = _local11; var _local15:* = _local12; _local4.scaleY = _local15; _local4.scaleX = _local15; _local4.filters = [new BlurFilter(_local13, _local13, 2)]; _local2.addChild(_local4); _local2.x = (-(_local2.width) / 2); _local2.y = (-(_local2.height) / 2); particleSprite.addChild(_local2); } } class SpawnerScoreExplosionParticle extends Particle { public function SpawnerScoreExplosionParticle(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1); particleSprite.rotation = 0; var _local2:* = {align:TextFormatAlign.LEFT, autosize:TextFieldAutoSize.LEFT, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:-855638017, size:24, font:new StylishM20().fontName}; var _local3 = (new Label(Std.string(Config.spawnerA.worth), _local2) as Label); var _local4 = (new Sprite() as Sprite); var _local5 = (new BitmapData(Math.ceil(_local3.getTextField().width), Math.ceil(_local3.getTextField().height), true, 0xFFFFFF) as BitmapData); _local5.draw(_local3.getTextField()); var _local6 = (new Bitmap(_local5) as Bitmap); _local4.addChild(_local6); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); particleSprite.addChild(_local4); } } class Config { public static var domain:Array; public static var amfurl:String; public static var highscoreurl:String; public static var sponsor1url:String; public static var sponsor2url:String; public static var mainTick:int; public static var scoreToTechConvertThreshold:int; public static var bonusTimeScore:int; public static var comboCountDelay:int; public static var bonusComboScore:int; public static var scoreToLifeThreshold:int; public static var ambientVolume:Number; public static var sfxVolume:Number; public static var playScreenShockSpeed:Number; public static var upKey:int; public static var downKey:int; public static var leftKey:int; public static var rightKey:int; public static var releaseBomb:int; public static var openTechDialog:int; public static var switchWeapons:int; public static var openMenuDialog:int; public static var playerGhostingTime:int; public static var playerHit2GhostingTime:int; public static var playerGameOverTime:int; public static var maxHandlingVar:int; public static var runeRunningParticle:Object; public static var runeRunningParticleEmitter:Object; public static var projectileAExplosionParticle:Object; public static var projectileAExplosionEmitter:Object; public static var projectileBExplosionParticle:Object; public static var projectileBExplosionEmitter:Object; public static var projectileCExplosionParticle:Object; public static var projectileCExplosionEmitter:Object; public static var projectileDExplosionParticle:Object; public static var projectileDExplosionEmitter:Object; public static var projectileEExplosionParticle:Object; public static var projectileEExplosionEmitter:Object; public static var projectileFExplosionParticle:Object; public static var projectileFExplosionEmitter:Object; public static var projectileSBurstParticle:Object; public static var projectileSBurstEmitter:Object; public static var projectileGBurstParticle:Object; public static var projectileGBurstEmitter:Object; public static var projectileJBurstParticle:Object; public static var projectileJBurstEmitter:Object; public static var projectilePBurstParticle:Object; public static var projectilePBurstEmitter:Object; public static var projectileVBurstParticle:Object; public static var projectileVBurstEmitter:Object; public static var enemyAExplosionParticle:Object; public static var enemyAExplosionEmitter:Object; public static var enemyRuneExplosionParticle:Object; public static var enemyRuneExplosionEmitter:Object; public static var playerExplosionParticle:Object; public static var playerExplosionEmitter:Object; public static var enemyTeleportParticle:Object; public static var enemyTeleportEmitter:Object; public static var enemyAScoreExplosionParticle:Object; public static var enemyAScoreExplosionEmitter:Object; public static var enemyBScoreExplosionParticle:Object; public static var enemyBScoreExplosionEmitter:Object; public static var enemyCScoreExplosionParticle:Object; public static var enemyCScoreExplosionEmitter:Object; public static var enemyDScoreExplosionParticle:Object; public static var enemyDScoreExplosionEmitter:Object; public static var enemyEScoreExplosionParticle:Object; public static var enemyEScoreExplosionEmitter:Object; public static var enemyFScoreExplosionParticle:Object; public static var enemyFScoreExplosionEmitter:Object; public static var enemyGScoreExplosionParticle:Object; public static var enemyGScoreExplosionEmitter:Object; public static var enemyHScoreExplosionParticle:Object; public static var enemyHScoreExplosionEmitter:Object; public static var enemyMineScoreExplosionParticle:Object; public static var enemyMineScoreExplosionEmitter:Object; public static var bossAScoreExplosionParticle:Object; public static var bossAScoreExplosionEmitter:Object; public static var bossBScoreExplosionParticle:Object; public static var bossBScoreExplosionEmitter:Object; public static var bossCScoreExplosionParticle:Object; public static var bossCScoreExplosionEmitter:Object; public static var bossDScoreExplosionParticle:Object; public static var bossDScoreExplosionEmitter:Object; public static var bossMineScoreExplosionParticle:Object; public static var bossMineScoreExplosionEmitter:Object; public static var spawnerScoreExplosionParticle:Object; public static var spawnerScoreExplosionEmitter:Object; public static var comboParticle:Object; public static var comboEmitter:Object; public static var projectileA:Object; public static var projectileB:Object; public static var projectileG:Object; public static var projectileK:Object; public static var projectileQ:Object; public static var projectileN:Object; public static var projectileO:Object; public static var projectileD:Object; public static var projectileE:Object; public static var projectileH:Object; public static var projectileL:Object; public static var projectileR:Object; public static var projectileS:Object; public static var projectileT:Object; public static var projectileU:Object; public static var speedAttr3cost:int; public static var speedAttr4cost:int; public static var speedAttr5cost:int; public static var handlingAttr2cost:int; public static var handlingAttr3cost:int; public static var bomb1:Object; public static var bomb2:Object; public static var bomb3:Object; public static var techItemA:Object; public static var techItemB:Object; public static var techItemD:Object; public static var techItemE:Object; public static var techItemG:Object; public static var techItemH:Object; public static var techItemK:Object; public static var techItemL:Object; public static var techItemN:Object; public static var techItemO:Object; public static var techItemQ:Object; public static var techItemR:Object; public static var techItemS:Object; public static var techItemT:Object; public static var techItemU:Object; public static var spawnerA:Object; public static var spawnerB:Object; public static var spawnerC:Object; public static var spawnerD:Object; public static var spawnerE:Object; public static var bossSpawner:Object; public static var enemyA:Object; public static var enemyB:Object; public static var enemyC:Object; public static var enemyD:Object; public static var enemyE:Object; public static var enemyF:Object; public static var enemyG:Object; public static var enemyH:Object; public static var enemyMine:Object; public static var bossMine:Object; public static var bossA:Object; public static var bossB:Object; public static var bossD:Object; public static var enemyTestMine:Object; public function Config():void{ if (Boot_BA08CD.skip_constructor){ return; }; } } class TutorialManager { public static var isRunning:Boolean; public static var hasDoneTutorial:Boolean; public static var stepID:int; public static var steps:IntHash; public static var startL2M0:LevelStatus; public static var startL3M0:LevelStatus; public static var startL4M0:LevelStatus; public static var startL5M0:LevelStatus; public static var startUpgradeTech:LevelStatus; public static var startSetWeapon:LevelStatus; public static var startCloseTechFirst:LevelStatus; public static var startCloseTechSecond:LevelStatus; public static var THitForStep9:Boolean; public static var noteBox:Sprite; public static var noteLabel:Label; public static var noteFrame:Sprite; public static var triggerTimer:Timer; public static var triggerFunction:Object; public static var triggerCompleteFunction:Object; public static var lstyle:Object; public function TutorialManager():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function startFirstStep():void{ TutorialManager.startStep(); } public static function startTutorial():void{ TutorialManager.stepID = 1; if (!(TutorialManager.triggerTimer.hasEventListener(TimerEvent.TIMER))){ TutorialManager.triggerTimer.addEventListener(TimerEvent.TIMER, TutorialManager.onTriggerTimerHandler); }; if (!(TutorialManager.triggerTimer.hasEventListener(TimerEvent.TIMER_COMPLETE))){ TutorialManager.triggerTimer.addEventListener(TimerEvent.TIMER_COMPLETE, TutorialManager.onTriggerTimerCompleteHandler); }; TutorialManager.triggerFunction = null; TutorialManager.triggerCompleteFunction = null; TutorialManager.startL2M0 = LevelStatus.VOID; TutorialManager.startL3M0 = LevelStatus.VOID; TutorialManager.startL4M0 = LevelStatus.VOID; TutorialManager.startL5M0 = LevelStatus.VOID; TutorialManager.startUpgradeTech = LevelStatus.VOID; TutorialManager.startSetWeapon = LevelStatus.VOID; TutorialManager.startCloseTechFirst = LevelStatus.VOID; TutorialManager.startCloseTechSecond = LevelStatus.VOID; TutorialManager.THitForStep9 = false; var _local1:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(50, 50, 200, 80), note:"Hello, I'm the Tutor A.I. I'm here to guide you and provide informations on how to play this game.<br>(press Enter to continue)"}}; var _local2:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.initStep2, notes:{rect:new Rectangle(75, 20, 350, 65), note:"First lesson, NAVIGATE.<br>Use the WASD keys to do so. W for up, S for down, A for left and D for right."}}; var _local3:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.initStep3, notes:{rect:new Rectangle(75, 20, 350, 65), note:"Excellent!<br>To shoot, press the left mouse button. It has autofire, so no need to click everytime to shoot."}}; var _local4:* = {trigger:null, onTrigger:TutorialManager.stopLevel2Mission0, onStop:TutorialManager.startStep, onStart:TutorialManager.startLevel2Mission0, notes:{rect:new Rectangle(50, 10, 400, 50), note:"Great!<br>Now let's try some target practice. Destroy all of these enemy mines."}}; var _local5:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(50, 20, 400, 65), note:"Schweet!<br>Remember, most enemies move around so don't expect things lightly.<br>(press enter to continue)"}}; var _local6:* = {trigger:null, onTrigger:TutorialManager.stopLevel3Mission0, onStop:TutorialManager.startStep, onStart:TutorialManager.startLevel3Mission0, notes:{rect:new Rectangle(50, 10, 400, 30), note:"Ok, here's some more to kill. It should be as easy as before."}}; var _local7:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(50, 50, 200, 80), note:"Awright, way to go! Now you may notice you just got a techpoint. Did you see it?<br>(press Enter to continue)"}}; var _local8:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(410, 410, 80, 65), note:"Right here.<br>(press Enter to continue)"}}; var _local9:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.initStep9, notes:{rect:new Rectangle(50, 50, 150, 50), note:"Now open the TechTree Dialog, to do that, press T."}}; var _local10:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(150, 50, 200, 80), note:"Great! In here you can upgrade and setup new weapons, with 2 conditions.<br>(press Enter to continue)"}}; var _local11:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(150, 50, 200, 80), note:"First, you need to have enough techpoints. Every 100 score, you get 1 techpoint.<br>(press Enter to continue)"}}; var _local12:* = {trigger:null, onTrigger:TutorialManager.stopUpgradingTech, onStop:TutorialManager.startStep, onStart:TutorialManager.startUpgradingTech, notes:{rect:new Rectangle(150, 50, 200, 80), note:"You've got 1 techpoint already, that's why this item is now upgradable. Notice how the item box is different than the others. Click to upgrade."}}; var _local13:* = {trigger:null, onTrigger:TutorialManager.stopSetupWeapon, onStop:TutorialManager.startStep, onStart:TutorialManager.startSetupWeapon, notes:{rect:new Rectangle(60, 320, 200, 110), note:"Superb!<br>Now the tech is active, you can install and use it whenever you want. To install, click the active item to lift and click again on any WEAPON SLOT below."}}; var _local14:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(150, 50, 200, 80), note:"Excellent!<br>Remember you can always cancel a lift, just by clicking anywhere.<br>(press Enter to continue)"}}; var _local15:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(150, 50, 200, 80), note:"Besides having enough techpoints, the other condition for upgrade is the PREREQUISITE LINE.<br>(press Enter to continue)"}}; var _local16:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(150, 50, 200, 80), note:"A solid line indicates the previous tech needs to be active, while a dotted line means it's optional.<br>(press Enter to continue)"}}; var _local17:* = {trigger:null, onTrigger:TutorialManager.stopClosingTechFirst, onStop:TutorialManager.startStep, onStart:TutorialManager.startClosingTechFirst, notes:{rect:new Rectangle(300, 50, 150, 65), note:"For now, let's just close the TechTree and try the new weapon upgrade."}}; var _local18:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(50, 20, 400, 65), note:"The new weapon has a fire range slightly higher than the previous. If you don't see the difference, try swapping by pressing E.<br>(press Enter to continue)"}}; var _local19:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(50, 20, 400, 65), note:"Besides shooting, you can also use bombs. Bombs can eliminate any enemy within range.<br>(press Enter to continue)"}}; var _local20:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.initStep20, notes:{rect:new Rectangle(50, 20, 200, 50), note:"Here are some enemy mines to try a bomb. Pressing SPACE BAR releases a bomb."}}; var _local21:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(5, 340, 150, 133), note:"Cool! Now after releasing a bomb, notice the bomb indicator has greyed meaning it's cooling down and unusable for a moment.<br>(press Enter to continue)"}}; var _local22:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureTKeyForStop, notes:{rect:new Rectangle(50, 50, 200, 70), note:"You can also upgrade and add more bombs. Please open the TechTree dialog again."}}; var _local23:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(250, 325, 200, 95), note:"QTY adds more bombs, LVL upgrades your bomb. Adding and upgrading only requires sufficient techpoints.<br>(press Enter to continue)"}}; var _local24:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(250, 325, 200, 95), note:"Please note that upon upgrading, cooldown will reset so you won't be able to use it instantly. This doesn't occur when adding bombs.<br>(press Enter to continue)"}}; var _local25:* = {trigger:null, onTrigger:TutorialManager.stopClosingTechSecond, onStop:TutorialManager.startStep, onStart:TutorialManager.startClosingTechSecond, notes:{rect:new Rectangle(300, 50, 150, 65), note:"On to the final lesson, but first please close the TechTree dialog."}}; var _local26:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(100, 70, 300, 65), note:"Do you notice the 2 bars up there? Those are important indicators.<br>(press Enter to continue)"}}; var _local27:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(100, 70, 300, 65), note:"The top most bar is the System Integrity bar. This is used to show the systems 'health point'.<br>(press Enter to continue)"}}; var _local28:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(100, 70, 300, 80), note:"A system is the current area your defending againts enemies. The more enemies in this area, the faster this bar drops.<br>(press Enter to continue)"}}; var _local29:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(100, 70, 300, 80), note:"When the bar reaches 0%, the system will extract energy from you for recovery, thus destroying your craft.<br>(press Enter to continue)"}}; var _local30:* = {trigger:null, onTrigger:null, onStop:TutorialManager.startStep, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(100, 70, 300, 65), note:"The bar below it is the Next Wave bar. This is to show how soon the next enemy wave will enter.<br>(press Enter to continue)"}}; var _local31:* = {trigger:null, onTrigger:TutorialManager.stopLevel5Mission0, onStop:TutorialManager.startStep, onStart:TutorialManager.startLevel5Mission0, notes:{rect:new Rectangle(50, 400, 400, 50), note:"Let's test your survival skills. Try eliminating all enemies without loosing a life. (Note that the bars are a lot faster than in the real game)"}}; var _local32:* = {trigger:null, onTrigger:null, onStop:TutorialManager.endTutorial, onStart:TutorialManager.captureEnterKeyForStop, notes:{rect:new Rectangle(50, 50, 200, 115), note:"Cool!<br>Now I'm sure you're ready for the real thing.<br>Let's get it ON!<br>-- Tutor A.I. out. --<br>(press Enter to end tutorial)"}}; TutorialManager.steps = new IntHash(); TutorialManager.steps.set(1, _local1); TutorialManager.steps.set(2, _local2); TutorialManager.steps.set(3, _local3); TutorialManager.steps.set(4, _local4); TutorialManager.steps.set(5, _local5); TutorialManager.steps.set(6, _local6); TutorialManager.steps.set(7, _local7); TutorialManager.steps.set(8, _local8); TutorialManager.steps.set(9, _local9); TutorialManager.steps.set(10, _local10); TutorialManager.steps.set(11, _local11); TutorialManager.steps.set(12, _local12); TutorialManager.steps.set(13, _local13); TutorialManager.steps.set(14, _local14); TutorialManager.steps.set(15, _local15); TutorialManager.steps.set(16, _local16); TutorialManager.steps.set(17, _local17); TutorialManager.steps.set(18, _local18); TutorialManager.steps.set(19, _local19); TutorialManager.steps.set(20, _local20); TutorialManager.steps.set(21, _local21); TutorialManager.steps.set(22, _local22); TutorialManager.steps.set(23, _local23); TutorialManager.steps.set(24, _local24); TutorialManager.steps.set(25, _local25); TutorialManager.steps.set(26, _local26); TutorialManager.steps.set(27, _local27); TutorialManager.steps.set(28, _local28); TutorialManager.steps.set(29, _local29); TutorialManager.steps.set(30, _local30); TutorialManager.steps.set(31, _local31); TutorialManager.steps.set(32, _local32); TutorialManager.noteBox = new Sprite(); TutorialManager.noteLabel = new Label("", TutorialManager.lstyle); TutorialManager.noteFrame = new Sprite(); TutorialManager.noteFrame.addChild(TutorialManager.noteLabel.getTextField()); KeyMouseManager.registerDownKey(Keyboard.ESCAPE, TutorialManager.captureEscKeyForPause); } public static function endTutorial():void{ TutorialManager.isRunning = false; TutorialManager.hasDoneTutorial = true; TutorialManager.steps.remove(1); TutorialManager.steps.remove(2); TutorialManager.steps.remove(3); TutorialManager.steps.remove(4); TutorialManager.steps.remove(5); TutorialManager.steps.remove(6); TutorialManager.steps.remove(7); TutorialManager.steps.remove(8); TutorialManager.steps.remove(9); TutorialManager.steps.remove(10); TutorialManager.steps.remove(11); TutorialManager.steps.remove(12); TutorialManager.steps.remove(13); TutorialManager.steps.remove(14); TutorialManager.steps.remove(15); TutorialManager.steps.remove(16); TutorialManager.steps.remove(17); TutorialManager.steps.remove(18); TutorialManager.steps.remove(19); TutorialManager.steps.remove(20); TutorialManager.steps.remove(21); TutorialManager.steps.remove(22); TutorialManager.steps.remove(23); TutorialManager.steps.remove(24); TutorialManager.steps.remove(25); TutorialManager.steps.remove(26); TutorialManager.steps.remove(27); TutorialManager.steps.remove(28); TutorialManager.steps.remove(29); TutorialManager.steps.remove(30); TutorialManager.steps.remove(31); TutorialManager.steps.remove(32); TutorialManager.steps = (null as IntHash); TutorialManager.noteBox.removeChild(TutorialManager.noteFrame); TutorialManager.noteBox = (null as Sprite); TutorialManager.noteFrame.removeChild(TutorialManager.noteLabel.getTextField()); TutorialManager.noteFrame = (null as Sprite); TutorialManager.noteLabel = (null as Label); KeyMouseManager.unregisterDownKey(Keyboard.ESCAPE, TutorialManager.captureEscKeyForPause); TutorialManager.triggerTimer.removeEventListener(TimerEvent.TIMER, TutorialManager.onTriggerTimerHandler); TutorialManager.triggerTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, TutorialManager.onTriggerTimerCompleteHandler); var _local1:Boolean = Tweener.removeAllTweens(); if (_local1){ Profile.reset(); ScreenManager.playScreen.pause(); ScreenManager.playScreen.reset(); ScreenManager.techDialog.resetTechTree(); ScreenManager.hideDialog(); ScreenManager.showScreen("title"); }; } public static function getStepData():Object{ var _local1:* = null; if (TutorialManager.steps.exists(TutorialManager.stepID)){ _local1 = TutorialManager.steps.get(TutorialManager.stepID); }; return (_local1); } public static function drawStep(_arg1:Object):Sprite{ if (TutorialManager.noteBox.contains(TutorialManager.noteFrame)){ TutorialManager.noteBox.removeChild(TutorialManager.noteFrame); }; var _local2:* = _arg1.notes; Reflect.setField(TutorialManager.lstyle, "width", ((_local2.rect as Rectangle).width - 10)); Reflect.setField(TutorialManager.lstyle, "height", ((_local2.rect as Rectangle).height - 10)); TutorialManager.noteLabel.updateLabel((_local2.note as String)); TutorialManager.noteLabel.setStyle(TutorialManager.lstyle); TutorialManager.noteLabel.getTextField().x = 5; TutorialManager.noteLabel.getTextField().y = 5; TutorialManager.noteFrame.graphics.clear(); TutorialManager.noteFrame.graphics.lineStyle(1, 0xFFFFFF, 0.8); TutorialManager.noteFrame.graphics.beginFill(0, 0.6); TutorialManager.noteFrame.graphics.drawRect(0, 0, (_local2.rect as Rectangle).width, (_local2.rect as Rectangle).height); TutorialManager.noteFrame.x = (_local2.rect as Rectangle).x; TutorialManager.noteFrame.y = (_local2.rect as Rectangle).y; TutorialManager.noteBox.addChild(TutorialManager.noteFrame); return (TutorialManager.noteBox); } public static function onTriggerTimerHandler(_arg1:TimerEvent):void{ if (!((TutorialManager.triggerFunction == null))){ TutorialManager.triggerFunction(); }; } public static function onTriggerTimerCompleteHandler(_arg1:TimerEvent):void{ if (!((TutorialManager.triggerCompleteFunction == null))){ TutorialManager.triggerCompleteFunction(); }; } public static function pauseStep():void{ Tweener.addTween(TutorialManager.noteFrame, {onComplete:ScreenManager.hideTutorialStep, transition:"easeOutQuad", time:0.5, alpha:0, y:(TutorialManager.noteFrame.y - 50)}); } public static function resumeStep():void{ TutorialManager.startStep(); } public static function startStep():void{ var _local2 = (null as Sprite); var _local1:* = TutorialManager.getStepData(); if (!((_local1 == null))){ _local2 = (TutorialManager.drawStep(_local1) as Sprite); ScreenManager.showTutorialStep(_local2); TutorialManager.noteFrame.y = (TutorialManager.noteFrame.y - 50); TutorialManager.noteFrame.alpha = 0; Tweener.addTween(TutorialManager.noteFrame, {onComplete:_local1.onStart, transition:"easeOutQuad", time:0.5, alpha:1, y:(TutorialManager.noteFrame.y + 50)}); }; } public static function stopStep():void{ var _local1:* = TutorialManager.getStepData(); TutorialManager.stepID = (TutorialManager.stepID + 1); if (!((_local1.onStop == null))){ Tweener.addTween(TutorialManager.noteFrame, {onComplete:_local1.onStop, transition:"easeOutQuad", time:0.5, alpha:0, y:(TutorialManager.noteFrame.y - 50)}); } else { Tweener.addTween(TutorialManager.noteFrame, {onComplete:ScreenManager.hideTutorialStep, transition:"easeOutQuad", time:0.5, alpha:0, y:(TutorialManager.noteFrame.y - 50)}); }; } public static function captureEscKeyForPause():void{ TutorialManager.pauseStep(); } public static function captureEnterKeyForStop():void{ KeyMouseManager.registerDownKey(Keyboard.ENTER, TutorialManager.releaseEnterKeyForStop); } public static function releaseEnterKeyForStop():void{ KeyMouseManager.unregisterDownKey(Keyboard.ENTER, TutorialManager.releaseEnterKeyForStop); TutorialManager.stopStep(); } public static function captureTKeyForStop():void{ KeyMouseManager.registerDownKey(Config.openTechDialog, TutorialManager.releaseTKeyForStop); } public static function releaseTKeyForStop():void{ KeyMouseManager.unregisterDownKey(Config.openTechDialog, TutorialManager.releaseTKeyForStop); TutorialManager.stopStep(); } public static function captureSpaceKeyForStop():void{ KeyMouseManager.registerDownKey(Config.releaseBomb, TutorialManager.releaseSpaceKeyForStop); } public static function releaseSpaceKeyForStop():void{ KeyMouseManager.unregisterDownKey(Config.releaseBomb, TutorialManager.releaseSpaceKeyForStop); TutorialManager.stopLevel4Mission0(); } public static function captureClickForStop():void{ KeyMouseManager.registerClickMouse(TutorialManager.releaseClickForStop); } public static function releaseClickForStop():void{ KeyMouseManager.unregisterClickMouse(TutorialManager.releaseClickForStop); TutorialManager.stopStep(); } public static function wait300TicksAndStop():void{ TutorialManager.triggerCompleteFunction = TutorialManager.cleanup300Ticks; TutorialManager.triggerTimer.repeatCount = 300; TutorialManager.triggerTimer.start(); } public static function cleanup300Ticks():void{ TutorialManager.triggerCompleteFunction = null; TutorialManager.triggerTimer.repeatCount = 0; TutorialManager.triggerTimer.reset(); TutorialManager.stopStep(); } public static function startLevel2Mission0():void{ if ((TutorialManager.startL2M0 == LevelStatus.VOID)){ MissionManager.currentMission.next(); TutorialManager.startL2M0 = LevelStatus.STARTED; }; } public static function stopLevel2Mission0():void{ if ((TutorialManager.startL2M0 == LevelStatus.FINISHED)){ TutorialManager.stopStep(); }; } public static function startLevel3Mission0():void{ if ((TutorialManager.startL3M0 == LevelStatus.VOID)){ MissionManager.currentMission.next(); TutorialManager.startL3M0 = LevelStatus.STARTED; }; } public static function stopLevel3Mission0():void{ if ((TutorialManager.startL3M0 == LevelStatus.FINISHED)){ TutorialManager.stopStep(); }; } public static function startLevel4Mission0():void{ if ((TutorialManager.startL4M0 == LevelStatus.VOID)){ MissionManager.currentMission.next(); TutorialManager.captureSpaceKeyForStop(); TutorialManager.startL4M0 = LevelStatus.STARTED; }; } public static function stopLevel4Mission0():void{ if ((TutorialManager.startL4M0 == LevelStatus.FINISHED)){ TutorialManager.stopStep(); }; } public static function startLevel5Mission0():void{ if ((TutorialManager.startL5M0 == LevelStatus.VOID)){ MissionManager.currentMission.next(); TutorialManager.startL5M0 = LevelStatus.STARTED; }; } public static function stopLevel5Mission0():void{ if ((TutorialManager.startL5M0 == LevelStatus.FINISHED)){ TutorialManager.stopStep(); }; } public static function startUpgradingTech():void{ if ((TutorialManager.startUpgradeTech == LevelStatus.VOID)){ TutorialManager.startUpgradeTech = LevelStatus.STARTED; }; } public static function stopUpgradingTech():void{ if ((TutorialManager.startUpgradeTech == LevelStatus.FINISHED)){ TutorialManager.stopStep(); }; } public static function startSetupWeapon():void{ if ((TutorialManager.startSetWeapon == LevelStatus.VOID)){ TutorialManager.startSetWeapon = LevelStatus.STARTED; }; } public static function stopSetupWeapon():void{ if ((TutorialManager.startSetWeapon == LevelStatus.FINISHED)){ TutorialManager.stopStep(); }; } public static function startClosingTechFirst():void{ ScreenManager.techDialog.unlockCloseButton(); if ((TutorialManager.startCloseTechFirst == LevelStatus.VOID)){ TutorialManager.startCloseTechFirst = LevelStatus.STARTED; }; } public static function stopClosingTechFirst():void{ if ((TutorialManager.startCloseTechFirst == LevelStatus.FINISHED)){ TutorialManager.stopStep(); }; } public static function startClosingTechSecond():void{ ScreenManager.techDialog.unlockCloseButton(); if ((TutorialManager.startCloseTechSecond == LevelStatus.VOID)){ TutorialManager.startCloseTechSecond = LevelStatus.STARTED; }; } public static function stopClosingTechSecond():void{ if ((TutorialManager.startCloseTechSecond == LevelStatus.FINISHED)){ TutorialManager.stopStep(); }; } public static function initStep2():void{ ScreenManager.playScreen.captureNavigationKeys(); TutorialManager.wait300TicksAndStop(); } public static function initStep3():void{ ScreenManager.playScreen.captureMouse(); TutorialManager.wait300TicksAndStop(); } public static function initStep9():void{ ScreenManager.playScreen.captureOpenTechDialog(); TutorialManager.captureTKeyForStop(); } public static function initStep20():void{ ScreenManager.playScreen.captureReleaseBombKey(); TutorialManager.startLevel4Mission0(); } } class TweenListObj { public var waitFrames:Boolean; public var useFrames:Boolean; public var updatesSkipped:Number; public var transition:Object; public var timesCalled:int; public var timeStart:Number; public var timePaused:Object; public var timeComplete:Number; public var skipUpdates:Object; public var scope:DisplayObject; public var rounded:Boolean; public var properties:Object; public var onUpdateParams:Array; public var onUpdate:Object; public var onStartParams:Array; public var onStart:Object; public var onOverwriteParams:Array; public var onOverwrite:Object; public var onError:Object; public var onCompleteParams:Array; public var onComplete:Object; public var isPaused:Boolean; public var isCaller:Boolean; public var hasStarted:Boolean; public var count:Number; public var auxProperties:Object; public function TweenListObj(_arg1:DisplayObject=undefined, _arg2:Number=undefined, _arg3:Number=undefined, _arg4:Boolean=undefined, _arg5:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5; auxProperties = Reflect.empty(); properties = Reflect.empty(); isPaused = false; timePaused = null; isCaller = false; updatesSkipped = 0; timesCalled = 0; skipUpdates = 0; hasStarted = false; } public function toString():String{ var _local4:* = null; var _local1 = ("\n[TweenListObj " as String); _local1 = (((_local1 + (("scope:" + Std.string(scope)) as String)) as String) as String); _local1 = (((_local1 + ", properties:") as String) as String); var _local2:Boolean = true; var _local3:* = Reflect.fields(properties).iterator(); do { //unresolved if _local4 = _local3.next(); if (!(_local2)){ _local1 = (((_local1 + ",") as String) as String); }; _local1 = (((_local1 + (("[name:" + scope.name) as String)) as String) as String); _local1 = (((_local1 + (",valueStart:" + Reflect.field(properties, _local4).valueStart)) as String) as String); _local1 = (((_local1 + (",valueComplete:" + Reflect.field(properties, _local4).valueComplete)) as String) as String); _local1 = (((_local1 + "]") as String) as String); _local2 = false; } while (true); _local1 = (((_local1 + ((", timeStart:" + Std.string(timeStart)) as String)) as String) as String); _local1 = (((_local1 + ((", timeComplete:" + Std.string(timeComplete)) as String)) as String) as String); _local1 = (((_local1 + ((", useFrames:" + Std.string(useFrames)) as String)) as String) as String); _local1 = (((_local1 + ((", transition:" + Std.string(transition)) as String)) as String) as String); if (Std.bool(skipUpdates)){ _local1 = (((_local1 + ((", skipUpdates:" + Std.string(skipUpdates)) as String)) as String) as String); }; if (Std.bool(updatesSkipped)){ _local1 = (((_local1 + ((", updatesSkipped:" + Std.string(updatesSkipped)) as String)) as String) as String); }; if (Std.bool(onStart)){ _local1 = (((_local1 + ((", onStart:" + Std.string(onStart)) as String)) as String) as String); }; if (Std.bool(onUpdate)){ _local1 = (((_local1 + ((", onUpdate:" + Std.string(onUpdate)) as String)) as String) as String); }; if (Std.bool(onComplete)){ _local1 = (((_local1 + ((", onComplete:" + Std.string(onComplete)) as String)) as String) as String); }; if (Std.bool(onOverwrite)){ _local1 = (((_local1 + ((", onOverwrite:" + Std.string(onOverwrite)) as String)) as String) as String); }; if (Std.bool(onError)){ _local1 = (((_local1 + ((", onError:" + Std.string(onError)) as String)) as String) as String); }; if (Std.bool(onStartParams)){ _local1 = (((_local1 + ((", onStartParams:" + Std.string(onStartParams)) as String)) as String) as String); }; if (Std.bool(onUpdateParams)){ _local1 = (((_local1 + ((", onUpdateParams:" + Std.string(onUpdateParams)) as String)) as String) as String); }; if (Std.bool(onCompleteParams)){ _local1 = (((_local1 + ((", onCompleteParams:" + Std.string(onCompleteParams)) as String)) as String) as String); }; if (Std.bool(onOverwriteParams)){ _local1 = (((_local1 + ((", onOverwriteParams:" + Std.string(onOverwriteParams)) as String)) as String) as String); }; if (rounded){ _local1 = (((_local1 + ((", rounded:" + Std.string(rounded)) as String)) as String) as String); }; if (isPaused){ _local1 = (((_local1 + ((", isPaused:" + Std.string(isPaused)) as String)) as String) as String); }; if (Std.bool(timePaused)){ _local1 = (((_local1 + ((", timePaused:" + Std.string(timePaused)) as String)) as String) as String); }; if (isCaller){ _local1 = (((_local1 + ((", isCaller:" + Std.string(isCaller)) as String)) as String) as String); }; if (Std.bool(count)){ _local1 = (((_local1 + ((", count:" + Std.string(count)) as String)) as String) as String); }; if (Std.bool(timesCalled)){ _local1 = (((_local1 + ((", timesCalled:" + Std.string(timesCalled)) as String)) as String) as String); }; if (waitFrames){ _local1 = (((_local1 + ((", waitFrames:" + Std.string(waitFrames)) as String)) as String) as String); }; if (hasStarted){ _local1 = (((_local1 + ((", hasStarted:" + Std.string(hasStarted)) as String)) as String) as String); }; _local1 = (((_local1 + "]\n") as String) as String); return (_local1); } public function clone(_arg1:Boolean):TweenListObj{ var _local4:* = null; var _local2 = (new TweenListObj(scope, timeStart, timeComplete, useFrames, transition) as TweenListObj); _local2.properties = Reflect.empty(); var _local3:* = Reflect.fields(properties).iterator(); do { //unresolved if _local4 = _local3.next(); Reflect.setField(_local2.properties, _local4, Reflect.field(properties, _local4).clone()); } while (true); _local2.skipUpdates = skipUpdates; _local2.updatesSkipped = updatesSkipped; if (!(_arg1)){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onError = onError; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2.isCaller = isCaller; _local2.count = count; _local2.timesCalled = timesCalled; _local2.waitFrames = waitFrames; _local2.hasStarted = hasStarted; return (_local2); } public static function makePropertiesChain(_arg1:Object):Object{ var _local3:* = null; var _local4 = (null as Array); var _local5:int; var _local6:* = null; var _local7:int; var _local8:int; var _local9:int; var _local2:* = _arg1.base; if (Std.bool(_local2)){ _local3 = Reflect.empty(); if (Std.is(_local2, Array)){ _local4 = ([] as Array); _local5 = 0; _local6 = _local2.length; do { //unresolved if _local7 = _local5; _local5++; _local4.push(_local2[_local7]); } while (true); } else { _local4 = ([_local2] as Array); }; _local4.push(_arg1); _local5 = _local4.length; _local7 = 0; _local8 = _local5; do { //unresolved if _local9 = _local7; _local7++; if (Reflect.hasField(_local4[_local9], "base")){ _local6 = AuxFunctions.concatObjects([TweenListObj.makePropertiesChain(Reflect.field(_local4[_local9], "base")), _local4[_local9]]); } else { _local6 = _local4[_local9]; }; _local3 = AuxFunctions.concatObjects([_local3, _local6]); } while (true); if (Reflect.hasField(_local3, "base")){ Reflect.setField(_local3, "base", null); }; return (_local3); } else { return (_arg1); }; } } class StringTools { public function StringTools():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function urlEncode(_arg1:String):String{ return (encodeURIComponent(_arg1)); } public static function urlDecode(_arg1:String):String{ return (decodeURIComponent(_arg1.split("+").join(" "))); } public static function htmlEscape(_arg1:String):String{ return (_arg1.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;")); } public static function htmlUnescape(_arg1:String):String{ return (_arg1.split("&gt;").join(">").split("&lt;").join("<").split("&amp;").join("&")); } public static function startsWith(_arg1:String, _arg2:String):Boolean{ if ((_arg1.length >= _arg2.length)){ false; }; return (false); } public static function endsWith(_arg1:String, _arg2:String):Boolean{ var _local3:int = _arg2.length; var _local4:int = _arg1.length; if ((_local4 >= _local3)){ false; }; return (false); } public static function isSpace(_arg1:String, _arg2:int):Boolean{ var _local3:* = _arg1.charCodeAt(_arg2); if ((_local3 >= 9)){ false; }; if (!false){ true; }; return (true); } public static function ltrim(_arg1:String):String{ var _local2:int = _arg1.length; var _local3:int; do { if ((_local3 < _local2)){ false; }; //unresolved if _local3++; } while (true); if ((_local3 > 0)){ return (_arg1.substr(_local3, (_local2 - _local3))); } else { return (_arg1); }; } public static function rtrim(_arg1:String):String{ var _local2:int = _arg1.length; var _local3:int; do { if ((_local3 < _local2)){ false; }; //unresolved if _local3++; } while (true); if ((_local3 > 0)){ return (_arg1.substr(0, (_local2 - _local3))); } else { return (_arg1); }; } public static function trim(_arg1:String):String{ return (StringTools.ltrim(StringTools.rtrim(_arg1))); } public static function rpad(_arg1:String, _arg2:String, _arg3:int):String{ var _local4:int = _arg1.length; var _local5:int = _arg2.length; do { //unresolved if if (((_arg3 - _local4) < _local5)){ _arg1 = (((_arg1 + _arg2.substr(0, (_arg3 - _local4))) as String) as String); _local4 = _arg3; } else { _arg1 = (((_arg1 + _arg2) as String) as String); _local4 = (_local4 + _local5); }; } while (true); return (_arg1); } public static function lpad(_arg1:String, _arg2:String, _arg3:int):String{ var _local4 = ("" as String); var _local5:int = _arg1.length; if ((_local5 >= _arg3)){ return (_arg1); }; var _local6:int = _arg2.length; do { //unresolved if if (((_arg3 - _local5) < _local6)){ _local4 = (((_local4 + _arg2.substr(0, (_arg3 - _local5))) as String) as String); _local5 = _arg3; } else { _local4 = (((_local4 + _arg2) as String) as String); _local5 = (_local5 + _local6); }; } while (true); return (((_local4 + _arg1) as String)); } public static function replace(_arg1:String, _arg2:String, _arg3:String):String{ return (_arg1.split(_arg2).join(_arg3)); } public static function baseEncode(_arg1:String, _arg2:String):String{ var _local11:* = null; var _local12:* = null; var _local3:int = _arg2.length; var _local4:int = 1; do { //unresolved if _local4++; } while (true); if (!(_local4 > 8)){ true; }; if (true){ throw ("baseEncode: base must be a power of two."); }; var _local5:int = Std.int(((((_arg1.length * 8) + _local4) - 1) / _local4)); var _local6 = (new StringBuf() as StringBuf); var _local7:int; var _local8:int; var _local9:int = ((1 << _local4) - 1); var _local10:int; do { _local11 = _local5; _local5 = (_local11 - 1); //unresolved if do { //unresolved if _local8 = (_local8 + 8); _local7 = (_local7 << 8); _local12 = _local10; _local10 = (_local12 + 1); _local11 = _arg1.charCodeAt(_local12); if ((_local11 > 0xFF)){ throw ("baseEncode: bad chars"); }; _local7 = (_local7 | _local11); } while (true); _local8 = (_local8 - _local4); _local6.addChar(_arg2.charCodeAt(((_local7 >> _local8) & _local9))); } while (true); return (_local6.toString()); } public static function baseDecode(_arg1:String, _arg2:String):String{ var _local9:int; var _local12:* = null; var _local13:int; var _local3:int = _arg2.length; var _local4:int = 1; do { //unresolved if _local4++; } while (true); if (!(_local4 > 8)){ true; }; if (true){ throw ("baseDecode: base must be a power of two."); }; var _local5:Number = ((((_arg1.length * 8) + _local4) - 1) / _local4); var _local6 = (new Array() as Array); var _local7:int; var _local8:int = 0x0100; do { //unresolved if _local9 = _local7; _local7++; _local6[_local9] = -1; } while (true); _local7 = 0; _local8 = _local3; do { //unresolved if _local9 = _local7; _local7++; _local6[_arg2.charCodeAt(_local9)] = _local9; } while (true); var _local10:Number = ((_arg1.length * _local4) / 8); var _local11 = (new StringBuf() as StringBuf); _local7 = 0; _local8 = 0; _local9 = 0; do { _local12 = _local10; _local10 = (_local12 - 1); //unresolved if do { //unresolved if _local8 = (_local8 + _local4); _local7 = (_local7 << _local4); _local12 = _local9; _local9 = (_local12 + 1); _local13 = _local6[_arg1.charCodeAt(_local12)]; if ((_local13 == -1)){ throw ("baseDecode: bad chars"); }; _local7 = (_local7 | _local13); } while (true); _local8 = (_local8 - 8); _local11.addChar(((_local7 >> _local8) & 0xFF)); } while (true); return (_local11.toString()); } public static function hex(_arg1:int, _arg2:Object=undefined):String{ var _local3 = ("" as String); var _local4 = ("0123456789ABCDEF" as String); //unresolved jump do { //unresolved if _local3 = (((_local4.charAt((_arg1 % 16)) + _local3) as String) as String); _arg1 = Std.int((_arg1 / 16)); } while (true); if (!((_arg2 == null))){ do { //unresolved if _local3 = ((("0" + _local3) as String) as String); } while (true); }; return (_local3); } } class ButtonTile extends SimpleButton { public var up:Bitmap; public var selected:Bitmap; public var over:Bitmap; public var isSelected:Boolean; public var hit:Sprite; public var hasSelection:Boolean; public var down:Bitmap; public var disable:Bitmap; public var click; public function ButtonTile(_arg1:BitmapData=undefined, _arg2:int=undefined, _arg3:int=undefined, _arg4:Object=undefined):void{ var _local9 = (null as BitmapData); if (Boot_BA08CD.skip_constructor){ return; }; click = function ():void{ }; super(); hasSelection = ((_arg4 == null)) ? false : _arg4; var _local5 = (new BitmapData(_arg2, _arg3, true) as BitmapData); var _local6 = (new BitmapData(_arg2, _arg3, true) as BitmapData); var _local7 = (new BitmapData(_arg2, _arg3, true) as BitmapData); var _local8 = (new BitmapData(_arg2, _arg3, true) as BitmapData); _local7.copyPixels(_arg1, new Rectangle(0, (_arg1.height - _arg3), _arg2, _arg3), new Point(0, 0)); _local5.copyPixels(_arg1, new Rectangle(0, (_arg1.height - (_arg3 * 2)), _arg2, _arg3), new Point(0, 0)); _local6.copyPixels(_arg1, new Rectangle(0, (_arg1.height - (_arg3 * 3)), _arg2, _arg3), new Point(0, 0)); _local8.copyPixels(_arg1, new Rectangle(0, (_arg1.height - (_arg3 * 4)), _arg2, _arg3), new Point(0, 0)); if (hasSelection){ _local9 = (new BitmapData(_arg2, _arg3, true) as BitmapData); _local9.copyPixels(_arg1, new Rectangle(0, (_arg1.height - (_arg3 * 5)), _arg2, _arg3), new Point(0, 0)); selected = new Bitmap(_local9); }; up = new Bitmap(_local7); over = new Bitmap(_local5); down = new Bitmap(_local6); disable = new Bitmap(_local8); hit = new Sprite(); hit.graphics.beginFill(0); hit.graphics.drawRect(0, 0, _arg2, _arg3); upState = up; overState = over; downState = down; hitTestState = hit; addEventListener(MouseEvent.CLICK, onClickHandler); } public function unlock():void{ enabled = true; upState = up; } public function toggleSelected():void{ if (hasSelection){ upState = ((upState == selected)) ? up : selected; if ((upState == selected)){ isSelected = true; } else { isSelected = false; }; }; } public function setUnselected():void{ if (hasSelection){ upState = up; isSelected = false; }; } public function setSelected():void{ if (hasSelection){ upState = selected; isSelected = true; }; } public function onClickHandler(_arg1:MouseEvent):void{ if (enabled){ click(); }; } public function lock():void{ enabled = false; upState = disable; } } class CreditsScreen extends Screen { public var foreground:Sprite; public var background:Sprite; public function CreditsScreen():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); background = new Sprite(); background.addChild(new Bitmap(Assets.objects.get("Background00"))); foreground = new Sprite(); foreground.addChild(new Bitmap(Assets.objects.get("Credits"))); foreground.buttonMode = true; container.addChild(background); container.addChild(foreground); foreground.addEventListener(MouseEvent.CLICK, onForegroundClickHandler); } public function onForegroundClickHandler(_arg1:MouseEvent):void{ closeScreen(); } public function closeScreen():void{ ScreenManager.showScreen("title"); } } class ProjectileBaseType { public const __enum__ = true; public var tag; public var params; public static const __isenum = true; public static var NORMAL:ProjectileBaseType; public static var MISSILE:ProjectileBaseType; public static var LIGHTNING:ProjectileBaseType; public function ProjectileBaseType(_arg1:String, _arg2:Object):void{ tag = _arg1; params = _arg2; } public function toString():String{ return (Boot_BA08CD.enum_to_string(this)); } } class ProjectileManager { public static var projectiles:Array; public static var projectileContainer:Sprite; public static var lightningLineContainer:Sprite; public static var boundary:Rectangle; public function ProjectileManager():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function update():void{ var _local1:int; var _local2 = (null as Projectile); var _local3 = (null as Point); var _local4 = (null as String); var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11 = (null as Rectangle); var _local12:* = null; if ((ProjectileManager.projectiles.length > 0)){ _local1 = 0; do { //unresolved if _local2 = ((ProjectileManager.projectiles[_local1] as Projectile) as Projectile); _local3 = (new Point(_local2.projectileSprite.x, _local2.projectileSprite.y) as Point); _local4 = ((_local2.isEnemy) ? "enemyProjectile" : "projectile" as String); if ((_local2.baseType == ProjectileBaseType.MISSILE)){ _local5 = (_local2.turningSpeed * (Math.PI / 180)); _local6 = Math.atan2((_local2.targetPoint.y - _local2.projectileSprite.y), (_local2.targetPoint.x - _local2.projectileSprite.x)); _local7 = ((_local2.projectileSprite.rotation * Math.PI) / 180); _local8 = (_local6 - _local7); if ((_local8 < 0)){ _local8 = (_local8 + (Math.PI * 2)); } else { if ((_local8 >= (Math.PI * 2))){ _local8 = (_local8 - (Math.PI * 2)); }; }; if ((_local7 < ((_local6 - (_local5 / 2)) + _local5))){ false; }; if (false){ _local7 = _local6; } else { if ((_local8 <= Math.PI)){ _local7 = (_local7 + _local5); } else { _local7 = (_local7 - _local5); }; }; _local9 = (Math.cos(_local7) * _local2.speed); _local10 = (Math.sin(_local7) * _local2.speed); _local2.projectileSprite.x = (_local2.projectileSprite.x + _local9); _local2.projectileSprite.y = (_local2.projectileSprite.y + _local10); _local2.projectileSprite.rotation = ((_local7 * 180) / Math.PI); } else { _local2.projectileSprite.x = (_local2.projectileSprite.x + _local2.vector.vx); _local2.projectileSprite.y = (_local2.projectileSprite.y + _local2.vector.vy); }; _local2.currentDistance = (_local2.currentDistance + Point.distance(_local3, new Point(_local2.projectileSprite.x, _local2.projectileSprite.y))); if (ProjectileManager.projectileContainer.contains(_local2.projectileSprite)){ if (!(_local2.projectileSprite.x < 10)){ true; if (!(_local2.projectileSprite.y < 10)){ true; if (!(_local2.projectileSprite.x > 490)){ true; }; }; }; if (true){ if ((_local2.baseType == ProjectileBaseType.LIGHTNING)){ ProjectileManager.drawLightning(_local2); }; CollisionManager.unregisterGridRegions(_local2.grid, _local4, _local2); _local2.destroy(); ProjectileManager.removeProjectile(_local2); } else { if (_local2.useTarget){ false; }; if (false){ if ((_local2.baseType == ProjectileBaseType.LIGHTNING)){ ProjectileManager.drawLightning(_local2); }; CollisionManager.unregisterGridRegions(_local2.grid, _local4, _local2); _local2.destroy(); ProjectileManager.removeProjectile(_local2); } else { if ((_local2.maxDistance > 0)){ false; }; if (false){ _local2.isFading = true; }; }; }; }; if (_local2.isFading){ _local5 = (1 / _local2.fadeSteps); _local2.projectileSprite.alpha = (_local2.projectileSprite.alpha - _local5); if ((_local2.projectileSprite.alpha <= 0)){ CollisionManager.unregisterGridRegions(_local2.grid, _local4, _local2); _local2.destroy(false); ProjectileManager.removeProjectile(_local2); }; } else { _local11 = (_local2.projectileSprite.getBounds(ProjectileManager.projectileContainer) as Rectangle); _local12 = CollisionManager.getGridRegions(_local11); CollisionManager.registerGridRegions(_local12, _local4, _local2); _local2.grid = _local12; }; _local1++; } while (true); }; if (!((ProjectileManager.lightningLineContainer == (null as Sprite)))){ if (ProjectileManager.projectileContainer.contains(ProjectileManager.lightningLineContainer)){ if ((ProjectileManager.lightningLineContainer.alpha <= 0)){ ProjectileManager.projectileContainer.removeChild(ProjectileManager.lightningLineContainer); } else { ProjectileManager.lightningLineContainer.alpha = (ProjectileManager.lightningLineContainer.alpha - 0.4); }; }; }; } public static function drawLightning(_arg1:Projectile):void{ if ((ProjectileManager.lightningLineContainer == (null as Sprite))){ ProjectileManager.lightningLineContainer = new Sprite(); }; var _local2:Number = (Math.random() * 10); var _local3 = (new Point(ScreenManager.playScreen.player.locX, ScreenManager.playScreen.player.locY) as Point); var _local4 = (new Point(_arg1.projectileSprite.x, _arg1.projectileSprite.y) as Point); ProjectileManager.lightningLineContainer.alpha = 1; ProjectileManager.lightningLineContainer.graphics.clear(); ProjectileManager.lightningLineContainer.graphics.lineStyle(_arg1.projectileSprite.width, 0xFFFFFF); ProjectileManager.lightningLineContainer.graphics.moveTo(_local3.x, _local3.y); ProjectileManager.lightningLineContainer.graphics.lineTo(_local4.x, _local4.y); if (!(ProjectileManager.projectileContainer.contains(ProjectileManager.lightningLineContainer))){ ProjectileManager.projectileContainer.addChild(ProjectileManager.lightningLineContainer); }; } public static function spawnProjectile(_arg1:Point, _arg2:Projectile):void{ var _local4:Number; ProjectileManager.projectiles.push(_arg2); _arg2.setInitPos(_arg1); var _local3:Number = Math.atan2(_arg2.vector.vy, _arg2.vector.vx); _arg2.projectileSprite.rotation = ((_local3 * 180) / Math.PI); if ((_arg2.baseType == ProjectileBaseType.MISSILE)){ _local4 = (Math.random() * 360); _arg2.projectileSprite.rotation = _local4; }; ProjectileManager.projectileContainer.addChild(_arg2.projectileSprite); } public static function removeProjectile(_arg1:Projectile):void{ ProjectileManager.projectiles.remove(_arg1); ProjectileManager.projectileContainer.removeChild(_arg1.projectileSprite); _arg1 = ((null as Projectile) as Projectile); } public static function setupContainer(_arg1:Sprite, _arg2:Rectangle):void{ ProjectileManager.projectileContainer = _arg1; ProjectileManager.boundary = _arg2; } public static function clearContainer():void{ var _local1:* = null; var _local2:* = null; if (!(ProjectileManager.projectileContainer.numChildren > 0)){ true; }; if (true){ _local1 = ProjectileManager.projectiles.iterator(); do { //unresolved if _local2 = _local1.next(); ProjectileManager.projectileContainer.removeChild(_local2.projectileSprite); } while (true); ProjectileManager.projectiles = new Array(); }; ProjectileManager.projectileContainer = (null as Sprite); ProjectileManager.boundary = (null as Rectangle); } } class ProjectileF extends Projectile { public function ProjectileF(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); useTarget = true; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(8, 2, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 8, 2), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -1; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } } class ProjectileV extends Projectile { public function ProjectileV(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); isEnemy = true; damage = 25; speed = 4; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); maxDistance = 200; fadeSteps = 10; useTarget = false; var _local3 = (new Sprite() as Sprite); _local3.graphics.lineStyle(2, 0xFFFFFF); _local3.graphics.moveTo(3, 0); _local3.graphics.lineTo(-3, 3); _local3.graphics.lineTo(-3, -3); _local3.graphics.lineTo(3, 0); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class SpawnerD extends Enemy { public var spawnerSprite:SpawnerSprite; public var spawnTime:int; public var spawnEnemy:Object; public var spawnCount:int; public var currentSpawnTime:int; public var curanimateque:int; public var animatespeed:int; public function SpawnerD(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); spawnTime = Config.spawnerD.spawnTime; spawnCount = Config.spawnerD.spawnCount; spawnEnemy = Config.spawnerD.spawnEnemy; hitpoint = Config.spawnerD.hitpoint; worth = Config.spawnerD.worth; currentSpawnTime = 0; var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFF00); _local4.graphics.drawRect(0, 0, 16, 16); hitbox = _local4; hitbox.x = (-(hitbox.width) / 2); hitbox.y = (-(hitbox.height) / 2); hitbox.alpha = 0; spawnerSprite = new SpawnerSprite(); inflictHitSprite.addChild(spawnerSprite.inflictGroup); animatespeed = 10; curanimateque = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; spawnerSprite.alpha = 0; container.addChild(hitbox); container.addChild(spawnerSprite); container.addChild(inflictHitSprite); if ((_arg3.x == 0)){ false; }; if (false){ container.x = ((Math.round(((Math.random() * boundary.width) - (container.width / 2))) + boundary.x) + (container.width / 2)); container.y = ((Math.round(((Math.random() * boundary.height) - (container.height / 2))) + boundary.y) + (container.height / 2)); } else { container.x = _arg3.x; container.y = _arg3.y; }; displayParent.addChild(container); } override public function update():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; var _local6 = (null as Enemy); if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); spawnerSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; spawnerSprite.alpha = 1; }; } else { if ((currentSpawnTime > spawnTime)){ currentSpawnTime = 0; _local1 = 0; _local2 = spawnCount; do { //unresolved if _local3 = _local1; _local1++; _local4 = (container.x + (Math.cos((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local5 = (container.y + (Math.sin((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local6 = (Type.createInstance(Type.toClass(spawnEnemy), [displayParent, boundary, new Point(_local4, _local5)]) as Enemy); MissionManager.currentMission.enemyList().push(_local6); } while (true); spawnerSprite.spawning(true); } else { if ((currentSpawnTime == 0)){ spawnerSprite.spawning(false); }; currentSpawnTime = (currentSpawnTime + 1); }; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ spawnerSprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.spawnerScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class MissionStatus { public const __enum__ = true; public var tag; public var params; public static const __isenum = true; public static var START:MissionStatus; public static var CLEARALL:MissionStatus; public static var CLEAR:MissionStatus; public function MissionStatus(_arg1:String, _arg2:Object):void{ tag = _arg1; params = _arg2; } public function toString():String{ return (Boot_BA08CD.enum_to_string(this)); } } class MissionManager { public static var currentMissionID:int; public static var enemyContainer:Sprite; public static var boundary:Rectangle; public static var mission0:Mission0; public static var mission1:Mission1; public static var mission2:Mission2; public static var mission3:Mission3; public static var mission4:Mission4; public static var mission5:Mission5; public static var currentMission:IMission; public function MissionManager():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function update():void{ var _local1:int; var _local2 = (null as Enemy); var _local3 = (null as Rectangle); var _local4:* = null; if (!((MissionManager.currentMission == (null as IMission)))){ MissionManager.currentMission.evaluate(); _local1 = 0; do { //unresolved if _local2 = ((MissionManager.currentMission.enemyList()[_local1] as Enemy) as Enemy); _local3 = (_local2.getHitboxBounds() as Rectangle); _local4 = CollisionManager.getGridRegions(_local3); CollisionManager.registerGridRegions(_local4, "enemy", _local2); _local2.grid = _local4; _local1++; } while (true); }; } public static function loadMissions():void{ MissionManager.mission0 = new Mission0(); MissionManager.mission1 = new Mission1(); MissionManager.mission2 = new Mission2(); MissionManager.mission3 = new Mission3(); MissionManager.mission4 = new Mission4(); MissionManager.mission5 = new Mission5(); } public static function stopMission():void{ MissionManager.currentMission = (null as IMission); } public static function startMission(_arg1:Object=undefined):void{ MissionManager.currentMissionID = ((_arg1 == null)) ? 1 : _arg1; MissionManager.run(); } public static function nextMission():void{ Profile.curLevel = (Profile.curLevel + 1); Profile.curMissionID = (Profile.curMissionID + 1); ScreenManager.playScreen.pause(); ScreenManager.playScreen.reset(); ScreenManager.showScreen("playNextMission"); } public static function endMission():void{ ScreenManager.playScreen.pause(); ScreenManager.showDialog("gameover"); } public static function run():void{ if (Reflect.hasField(MissionManager, (("mission" + MissionManager.currentMissionID) as String))){ MissionManager.currentMission = Reflect.field(MissionManager, (("mission" + MissionManager.currentMissionID) as String)); }; MissionManager.currentMission.prepare(MissionManager.enemyContainer, MissionManager.boundary); } public static function setupContainer(_arg1:Sprite, _arg2:Rectangle):void{ MissionManager.enemyContainer = _arg1; MissionManager.boundary = _arg2; } public static function clearContainer():void{ var _local1:* = null; var _local2:* = null; if (!((MissionManager.currentMission.enemyList().length < 1))){ _local1 = MissionManager.currentMission.enemyList().iterator(); do { //unresolved if _local2 = _local1.next(); _local2.destroy(false); } while (true); }; MissionManager.currentMission.clearEnemies(); MissionManager.currentMission.levelList().clear(); MissionManager.stopMission(); MissionManager.enemyContainer = (null as Sprite); MissionManager.boundary = (null as Rectangle); } } class SponsorsScreen extends Screen { public var timeToDisplay:int; public var mainTick:Timer; public var foreground:Sprite; public var background:Sprite; public function SponsorsScreen():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); timeToDisplay = 200; background = new Sprite(); background.graphics.beginFill(0); background.graphics.drawRect(0, 0, 500, 500); var _local1 = (new BitmapData(500, 500) as BitmapData); _local1.copyPixels(Assets.objects.get("Sponsors"), new Rectangle(0, 0, 500, 500), new Point(0, 0)); foreground = new Sprite(); foreground.addChild(new Bitmap(_local1)); foreground.x = (Math.round((500 - foreground.width)) / 2); foreground.y = (Math.round((500 - foreground.height)) / 2); container.addChild(background); container.addChild(foreground); mainTick = new Timer(Config.mainTick); mainTick.addEventListener(TimerEvent.TIMER, onMainTickTimerHandler); } public function start():void{ mainTick.start(); } public function onMainTickTimerHandler(_arg1:TimerEvent):void{ if ((mainTick.currentCount > timeToDisplay)){ closeScreen(); }; } public function closeScreen():void{ mainTick.reset(); ScreenManager.showScreen("title"); } } class Lib { public static var current:MovieClip; public function Lib():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function getTimer():Number{ return (getTimer()); } public static function eval(_arg1:String):Object{ var _local6:* = null; var _local7:* = null; var _local3 = (_arg1.split(".") as Array); var _local4 = (new Array() as Array); var _local5:* = null; do { //unresolved if try { _local5 = getDefinitionByName(_local3.join(".")); } catch(#InvalidMultinameIndex#) { _local7 = !NULL!; _local6 = _local7; _local4.unshift(_local3.pop()); }; if (!((_local5 == null))){ break; }; } while (true); if ((_local5 == null)){ if ((_arg1 == "api")){ return (api); }; return (null); }; _local6 = _local4.iterator(); do { //unresolved if _local7 = _local6.next(); _local5 = _local5[_local7]; } while (true); return (_local5); } public static function getURL(_arg1:URLRequest, _arg2:String=undefined):void{ var _local3:* = navigateToURL; if ((_arg2 == (null as String))){ _local3(_arg1); } else { _local3(_arg1, _arg2); }; } public static function fscommand(_arg1:String, _arg2:Object=undefined):void{ fscommand(_arg1, _arg2); } public static function trace(_arg1:Object):void{ trace(_arg1); } } class SpecialPropertiesDefault { public function SpecialPropertiesDefault():void{ if (Boot_BA08CD.skip_constructor){ return; }; Log.trace("SpecialProperties is an static class and should not be instantiated.", {methodName:"new", className:"caurina.transitions.SpecialPropertiesDefault", lineNumber:25, fileName:"SpecialPropertiesDefault.hx"}); } public static function init():void{ Tweener.registerSpecialProperty("_frame", SpecialPropertiesDefault._frame_get, SpecialPropertiesDefault._frame_set, (null as Array)); Tweener.registerSpecialProperty("_sound_volume", SpecialPropertiesDefault._sound_volume_get, SpecialPropertiesDefault._sound_volume_set, (null as Array)); Tweener.registerSpecialProperty("_sound_pan", SpecialPropertiesDefault._sound_pan_get, SpecialPropertiesDefault._sound_pan_set, (null as Array)); Tweener.registerSpecialProperty("_color_ra", SpecialPropertiesDefault._color_property_get, SpecialPropertiesDefault._color_property_set, ["redMultiplier"]); Tweener.registerSpecialProperty("_color_rb", SpecialPropertiesDefault._color_property_get, SpecialPropertiesDefault._color_property_set, ["redOffset"]); Tweener.registerSpecialProperty("_color_ga", SpecialPropertiesDefault._color_property_get, SpecialPropertiesDefault._color_property_set, ["greenMultiplier"]); Tweener.registerSpecialProperty("_color_gb", SpecialPropertiesDefault._color_property_get, SpecialPropertiesDefault._color_property_set, ["greenOffset"]); Tweener.registerSpecialProperty("_color_ba", SpecialPropertiesDefault._color_property_get, SpecialPropertiesDefault._color_property_set, ["blueMultiplier"]); Tweener.registerSpecialProperty("_color_bb", SpecialPropertiesDefault._color_property_get, SpecialPropertiesDefault._color_property_set, ["blueOffset"]); Tweener.registerSpecialProperty("_color_aa", SpecialPropertiesDefault._color_property_get, SpecialPropertiesDefault._color_property_set, ["alphaMultiplier"]); Tweener.registerSpecialProperty("_color_ab", SpecialPropertiesDefault._color_property_get, SpecialPropertiesDefault._color_property_set, ["alphaOffset"]); Tweener.registerSpecialProperty("_autoAlpha", SpecialPropertiesDefault._autoAlpha_get, SpecialPropertiesDefault._autoAlpha_set, (null as Array)); Tweener.registerSpecialPropertySplitter("_color", SpecialPropertiesDefault._color_splitter); Tweener.registerSpecialPropertySplitter("_colorTransform", SpecialPropertiesDefault._colorTransform_splitter); Tweener.registerSpecialPropertySplitter("_scale", SpecialPropertiesDefault._scale_splitter); Tweener.registerSpecialProperty("_blur_blurX", SpecialPropertiesDefault._filter_property_get, SpecialPropertiesDefault._filter_property_set, [BlurFilter, "blurX"]); Tweener.registerSpecialProperty("_blur_blurY", SpecialPropertiesDefault._filter_property_get, SpecialPropertiesDefault._filter_property_set, [BlurFilter, "blurY"]); Tweener.registerSpecialProperty("_blur_quality", SpecialPropertiesDefault._filter_property_get, SpecialPropertiesDefault._filter_property_set, [BlurFilter, "quality"]); Tweener.registerSpecialPropertySplitter("_filter", SpecialPropertiesDefault._filter_splitter); Tweener.registerSpecialPropertyModifier("_bezier", SpecialPropertiesDefault._bezier_modifier, SpecialPropertiesDefault._bezier_get); } public static function _color_splitter(_arg1:Object, _arg2:Array):Array{ var _local3 = (new Array() as Array); if ((_arg1 == null)){ _local3.push({value:100, name:"_color_ra"}); _local3.push({value:0, name:"_color_rb"}); _local3.push({value:100, name:"_color_ga"}); _local3.push({value:0, name:"_color_gb"}); _local3.push({value:100, name:"_color_ba"}); _local3.push({value:0, name:"_color_bb"}); } else { _local3.push({value:0, name:"_color_ra"}); _local3.push({value:AuxFunctions.numberToR(_arg1), name:"_color_rb"}); _local3.push({value:0, name:"_color_ga"}); _local3.push({value:AuxFunctions.numberToG(_arg1), name:"_color_gb"}); _local3.push({value:0, name:"_color_ba"}); _local3.push({value:AuxFunctions.numberToB(_arg1), name:"_color_bb"}); }; return (_local3); } public static function _colorTransform_splitter(_arg1:Object, _arg2:Array):Array{ var _local3 = (new Array() as Array); if ((_arg1 == null)){ _local3.push({value:100, name:"_color_ra"}); _local3.push({value:0, name:"_color_rb"}); _local3.push({value:100, name:"_color_ga"}); _local3.push({value:0, name:"_color_gb"}); _local3.push({value:100, name:"_color_ba"}); _local3.push({value:0, name:"_color_bb"}); } else { if (!((_arg1.ra == null))){ _local3.push({value:_arg1.ra, name:"_color_ra"}); }; if (!((_arg1.rb == null))){ _local3.push({value:_arg1.rb, name:"_color_rb"}); }; if (!((_arg1.ga == null))){ _local3.push({value:_arg1.ba, name:"_color_ba"}); }; if (!((_arg1.gb == null))){ _local3.push({value:_arg1.bb, name:"_color_bb"}); }; if (!((_arg1.ba == null))){ _local3.push({value:_arg1.ga, name:"_color_ga"}); }; if (!((_arg1.bb == null))){ _local3.push({value:_arg1.gb, name:"_color_gb"}); }; if (!((_arg1.aa == null))){ _local3.push({value:_arg1.aa, name:"_color_aa"}); }; if (!((_arg1.ab == null))){ _local3.push({value:_arg1.ab, name:"_color_ab"}); }; }; return (_local3); } public static function _scale_splitter(_arg1:int, _arg2:Array):Array{ var _local3 = (new Array() as Array); _local3.push({value:_arg1, name:"_xscale"}); _local3.push({value:_arg1, name:"_yscale"}); return (_local3); } public static function _filter_splitter(_arg1:BitmapFilter, _arg2:Array):Array{ var _local3 = (new Array() as Array); if (Std.is(_arg1, BlurFilter)){ } else { Log.trace("??", {methodName:"_filter_splitter", className:"caurina.transitions.SpecialPropertiesDefault", lineNumber:164, fileName:"SpecialPropertiesDefault.hx"}); }; return (_local3); } public static function _frame_get(_arg1:Object):Number{ return (_arg1._currentFrame); } public static function _frame_set(_arg1:Object, _arg2:Number):void{ _arg1.gotoAndStop(Math.round(_arg2)); } public static function _sound_volume_get(_arg1:Object):Number{ return (_arg1.getVolume()); } public static function _sound_volume_set(_arg1:Object, _arg2:Number):void{ _arg1.setVolume(_arg2); } public static function _sound_pan_get(_arg1:Object):Number{ return (_arg1.getPan()); } public static function _sound_pan_set(_arg1:Object, _arg2:Number):void{ _arg1.setPan(_arg2); } public static function _color_property_get(_arg1:Object, _arg2:Array):Object{ return (Reflect.field(_arg1.transform.colorTransform, (_arg2[0] as String))); } public static function _color_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{ var _local4 = (_arg1.transform.colorTransform as ColorTransform); Reflect.setField(_local4, (_arg3[0] as String), Math.round(_arg2)); _arg1.transform.colorTransform = _local4; } public static function _autoAlpha_get(_arg1:Object):Number{ return (_arg1.alpha); } public static function _autoAlpha_set(_arg1:Object, _arg2:Number):void{ _arg1.alpha = _arg2; _arg1.visible = (_arg2 > 0); } public static function _filter_property_get(_arg1:Object, _arg2:Array):Object{ var _local8:int; var _local9:* = null; var _local3 = (_arg1.filters as Array); var _local4:* = _arg2[0]; var _local5 = ((_arg2[1] as String) as String); var _local6:int; var _local7:int = _local3.length; do { //unresolved if _local8 = _local6; _local6++; if (Std.is(_local3[_local8], _local4)){ return (Reflect.field(_local3[_local8], _local5)); }; } while (true); var _local10:* = _local4; if (_local10 == BlurFilter){ _local9 = {quality:null, blurY:0, blurX:0}; //unresolved jump }; return (Reflect.field(_local9, _local5)); } public static function _filter_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{ var _local9:int; var _local10 = (null as BitmapFilter); var _local4 = (_arg1.filters as Array); var _local5:* = _arg3[0]; var _local6 = ((_arg3[1] as String) as String); var _local7:int; var _local8:int = _local4.length; do { //unresolved if _local9 = _local7; _local7++; if (Std.is(_local4[_local9], _local5)){ Reflect.setField(_local4[_local9], _local6, _arg2); _arg1.filters = _local4; return; }; } while (true); if ((_local4 == (null as Array))){ _local4 = (new Array() as Array); }; var _local11:* = _local5; if (_local11 == BlurFilter){ _local10 = (new BlurFilter(0, 0) as BitmapFilter); //unresolved jump }; Reflect.setField(_local10, _local6, _arg2); _local4.push(_local10); _arg1.filters = _local4; } public static function _bezier_modifier(_arg1:Object):Array{ var _local3 = (null as Array); var _local7:int; var _local8:* = null; var _local9:* = null; var _local2 = ([] as Array); if (Std.is(_arg1, Array)){ _local3 = (_arg1 as Array); } else { _local3 = ([_arg1] as Array); }; var _local4:* = Reflect.empty(); var _local5:int; var _local6:int = _local3.length; do { //unresolved if _local7 = _local5; _local5++; _local8 = Reflect.fields(_local3[_local7]).iterator(); do { //unresolved if _local9 = _local8.next(); if ((Reflect.field(_local4, _local9) == null)){ Reflect.setField(_local4, _local9, []); }; Reflect.field(_local4, _local9).push(Reflect.field(_local3[_local7], _local9)); } while (true); } while (true); _local8 = Reflect.fields(_local4).iterator(); do { //unresolved if _local9 = _local8.next(); _local2.push({parameters:Reflect.field(_local4, _local9), name:_local9}); } while (true); return (_local2); } public static function _bezier_get(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Array):Number{ var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; if ((_arg4.length == 1)){ return ((_arg1 + (_arg3 * (((2 * (1 - _arg3)) * (_arg4[0] - _arg1)) + (_arg3 * (_arg2 - _arg1)))))); } else { _local5 = Math.floor((_arg3 * _arg4.length)); _local6 = ((_arg3 - (_local5 * (1 / _arg4.length))) * _arg4.length); if ((_local5 == 0)){ _local7 = _arg1; _local8 = ((_arg4[0] + _arg4[1]) / 2); } else { if ((_local5 == (_arg4.length - 1))){ _local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2); _local8 = _arg2; } else { _local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2); _local8 = ((_arg4[_local5] + _arg4[(_local5 + 1)]) / 2); }; }; return ((_local7 + (_local6 * (((2 * (1 - _local6)) * (_arg4[_local5] - _local7)) + (_local6 * (_local8 - _local7)))))); }; } } class NoMoreLifeDialog extends Screen { public var yesButton:ButtonTile; public var noButton:ButtonTile; public var continueDialog:Sprite; public var annihilated:Sprite; public function NoMoreLifeDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(240, 32, true) as BitmapData); _local1.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(0, 240, 240, 32), new Point(0, 0)); var _local2 = (new Bitmap(_local1) as Bitmap); _local2.x = (-(_local2.width) / 2); _local2.y = (-(_local2.height) / 2); annihilated = new Sprite(); annihilated.addChild(_local2); annihilated.filters = [new GlowFilter(0xFFFFFF, 0.7, 4, 4, 2, 3, false, false)]; continueDialog = new Sprite(); continueDialog.addChild(new Bitmap(Assets.objects.get("ContinueDialog"))); var _local3 = (new BitmapData(60, 120, true) as BitmapData); _local3.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(328, 384, 60, 120), new Point(0, 0)); var _local4 = (new BitmapData(60, 120, true) as BitmapData); _local4.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(388, 384, 60, 120), new Point(0, 0)); yesButton = new ButtonTile(_local3, 60, 30); noButton = new ButtonTile(_local4, 60, 30); annihilated.x = 250; annihilated.y = 250; yesButton.x = 23; yesButton.y = 55; noButton.x = 117; noButton.y = 55; continueDialog.x = 150; continueDialog.y = 320; continueDialog.addChild(yesButton); continueDialog.addChild(noButton); container.addChild(continueDialog); container.addChild(annihilated); yesButton.click = onYesClick; noButton.click = onNoClick; } public function toGameOverDialog():void{ ScreenManager.showDialog("gameover"); } public function onYesClick():void{ Tweener.addTween(annihilated, {onComplete:closeDialog, time:0.5, transition:"easeOutCubic", alpha:0, y:(250 - annihilated.height)}); Tweener.addTween(continueDialog, {time:0.5, transition:"easeOutCubic", alpha:0, y:(320 + continueDialog.height)}); } public function onNoClick():void{ Tweener.addTween(annihilated, {onComplete:toGameOverDialog, time:0.5, transition:"easeOutCubic", alpha:0, y:(250 - annihilated.height)}); Tweener.addTween(continueDialog, {time:0.5, transition:"easeOutCubic", alpha:0, y:(320 + continueDialog.height)}); } public function init():void{ annihilated.y = (250 - annihilated.height); annihilated.alpha = 0; continueDialog.y = (320 + continueDialog.height); continueDialog.alpha = 0; Tweener.addTween(annihilated, {time:0.5, transition:"easeOutCubic", alpha:1, y:250}); Tweener.addTween(continueDialog, {time:0.5, transition:"easeOutCubic", alpha:1, y:320}); } public function closeDialog():void{ Profile.reset(true); MissionManager.currentMission.resetIntegrity(); ScreenManager.playScreen.start(); ScreenManager.playScreen.updateHUDScore(); ScreenManager.playScreen.updateHUDLives(); ScreenManager.playScreen.player.setGhost(); ScreenManager.playScreen.player.setGameOver(false); ScreenManager.hideDialog(); } } class EnemyCSprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function EnemyCSprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(14, 14, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -7; core.y = -7; var _local2 = (new BitmapData(192, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 64, 192, 32), new Point(0, 0)); equip = new MovieTile(_local2, 32, 32); equip.x = -16; equip.y = -16; equipframes = equip.frames; var _local3 = (new BitmapData(14, 14, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); var _local4:int; var _local5:int = 14; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 14; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -7; inflictCore.y = -7; var _local10 = (new BitmapData(192, 32, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 64, 192, 32), new Point(0, 0)); _local4 = 0; _local5 = 192; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 32; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 32, 32); inflictEquip.x = -16; inflictEquip.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function idle():void{ equip.goToFrame(2); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } class TitleScreen extends Screen { public var titleforeground:Sprite; public var titlebackground:Sprite; public var sponsor2Button:SimpleButton; public var sponsor1Button:SimpleButton; public var playmoreButton:SimpleButton; public var playButton:SimpleButton; public var particleContainer:Sprite; public var maxEmitter:int; public var mainTick:Timer; public var instructionsButton:SimpleButton; public var highScoreButton:SimpleButton; public var creditsButton:SimpleButton; public var background:Sprite; public function TitleScreen():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1:int = 50; var _local2:int = 20; maxEmitter = Math.round(((Math.random() * (_local1 - _local2)) + _local2)); background = new Sprite(); background.addChild(new Bitmap(Assets.objects.get("Background00"))); titlebackground = new Sprite(); titlebackground.addChild(new Bitmap(Assets.objects.get("TitleBackground"))); titleforeground = new Sprite(); titleforeground.addChild(new Bitmap(Assets.objects.get("TitleForeground"))); particleContainer = new Sprite(); var _local3 = (new BitmapData(48, 16, true) as BitmapData); var _local4 = (new Bitmap(_local3) as Bitmap); var _local5 = (new Sprite() as Sprite); var _local6 = (new Sprite() as Sprite); _local3.copyPixels(Assets.objects.get("UITiles"), new Rectangle(272, 0, 48, 16), new Point(0, 0)); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); _local5.addChild(_local4); _local6.graphics.beginFill(0); _local6.graphics.drawRect(0, 0, _local5.width, _local5.height); _local6.x = (-(_local6.width) / 2); _local6.y = (-(_local6.height) / 2); playButton = new SimpleButton(_local5, _local5, _local5, _local6); var _local7 = (new BitmapData(112, 16, true) as BitmapData); var _local8 = (new Bitmap(_local7) as Bitmap); var _local9 = (new Sprite() as Sprite); var _local10 = (new Sprite() as Sprite); _local7.copyPixels(Assets.objects.get("UITiles"), new Rectangle(272, 16, 112, 16), new Point(0, 0)); _local8.x = (-(_local8.width) / 2); _local8.y = (-(_local8.height) / 2); _local9.addChild(_local8); _local10.graphics.beginFill(0); _local10.graphics.drawRect(0, 0, _local9.width, _local9.height); _local10.x = (-(_local10.width) / 2); _local10.y = (-(_local10.height) / 2); instructionsButton = new SimpleButton(_local9, _local9, _local9, _local10); var _local11 = (new BitmapData(96, 16, true) as BitmapData); var _local12 = (new Bitmap(_local11) as Bitmap); var _local13 = (new Sprite() as Sprite); var _local14 = (new Sprite() as Sprite); _local11.copyPixels(Assets.objects.get("UITiles"), new Rectangle(272, 32, 96, 16), new Point(0, 0)); _local12.x = (-(_local12.width) / 2); _local12.y = (-(_local12.height) / 2); _local13.addChild(_local12); _local14.graphics.beginFill(0); _local14.graphics.drawRect(0, 0, _local13.width, _local13.height); _local14.x = (-(_local14.width) / 2); _local14.y = (-(_local14.height) / 2); highScoreButton = new SimpleButton(_local13, _local13, _local13, _local14); var _local15 = (new BitmapData(64, 16, true) as BitmapData); var _local16 = (new Bitmap(_local15) as Bitmap); var _local17 = (new Sprite() as Sprite); var _local18 = (new Sprite() as Sprite); _local15.copyPixels(Assets.objects.get("UITiles"), new Rectangle(272, 48, 64, 16), new Point(0, 0)); _local16.x = (-(_local16.width) / 2); _local16.y = (-(_local16.height) / 2); _local17.addChild(_local16); _local18.graphics.beginFill(0); _local18.graphics.drawRect(0, 0, _local17.width, _local17.height); _local18.x = (-(_local18.width) / 2); _local18.y = (-(_local18.height) / 2); creditsButton = new SimpleButton(_local17, _local17, _local17, _local18); var _local19 = (new BitmapData(144, 16, true) as BitmapData); var _local20 = (new Bitmap(_local19) as Bitmap); var _local21 = (new Sprite() as Sprite); var _local22 = (new Sprite() as Sprite); _local19.copyPixels(Assets.objects.get("UITiles"), new Rectangle(272, 64, 144, 16), new Point(0, 0)); _local20.x = (-(_local20.width) / 2); _local20.y = (-(_local20.height) / 2); _local21.addChild(_local20); _local22.graphics.beginFill(0); _local22.graphics.drawRect(0, 0, _local21.width, _local21.height); _local22.x = (-(_local22.width) / 2); _local22.y = ((-(_local22.height) / 2) - 100); playmoreButton = new SimpleButton(_local21, _local21, _local21, _local22); playmoreButton.enabled = false; var _local23 = (new BitmapData(112, 16, true) as BitmapData); var _local24 = (new Bitmap(_local23) as Bitmap); var _local25 = (new Sprite() as Sprite); var _local26 = (new Sprite() as Sprite); _local23.copyPixels(Assets.objects.get("UITiles"), new Rectangle(240, 208, 112, 16), new Point(0, 0)); _local24.x = (-(_local24.width) / 2); _local24.y = (-(_local24.height) / 2); _local25.addChild(_local24); _local26.graphics.beginFill(0); _local26.graphics.drawRect(0, 0, _local25.width, _local25.height); _local26.x = (-(_local26.width) / 2); _local26.y = (-(_local26.height) / 2); sponsor1Button = new SimpleButton(_local25, _local25, _local25, _local26); var _local27 = (new BitmapData(80, 16, true) as BitmapData); var _local28 = (new Bitmap(_local27) as Bitmap); var _local29 = (new Sprite() as Sprite); var _local30 = (new Sprite() as Sprite); _local27.copyPixels(Assets.objects.get("UITiles"), new Rectangle(240, 224, 80, 16), new Point(0, 0)); _local28.x = (-(_local28.width) / 2); _local28.y = (-(_local28.height) / 2); _local29.addChild(_local28); _local30.graphics.beginFill(0); _local30.graphics.drawRect(0, 0, _local29.width, _local29.height); _local30.x = (-(_local30.width) / 2); _local30.y = (-(_local30.height) / 2); sponsor2Button = new SimpleButton(_local29, _local29, _local29, _local30); var _local31:* = 250; playmoreButton.x = _local31; creditsButton.x = _local31; highScoreButton.x = _local31; instructionsButton.x = _local31; playButton.x = _local31; playButton.y = 250; instructionsButton.y = 280; highScoreButton.y = 310; creditsButton.y = 340; playmoreButton.y = 450; sponsor1Button.x = 190; sponsor2Button.x = 310; sponsor1Button.y = 470; sponsor2Button.y = 470; container.addChild(background); container.addChild(particleContainer); container.addChild(titlebackground); container.addChild(titleforeground); container.addChild(playButton); container.addChild(highScoreButton); container.addChild(instructionsButton); container.addChild(creditsButton); container.addChild(playmoreButton); container.addChild(sponsor1Button); container.addChild(sponsor2Button); mainTick = new Timer(Config.mainTick); mainTick.addEventListener(TimerEvent.TIMER, onMainTickTimerHandler); } public function start():void{ Tweener.addTween(titlebackground, {transition:"easeOutQuad", time:1, alpha:1}); Tweener.addTween(titleforeground, {transition:"easeOutQuad", delay:0.5, time:1.5, alpha:1}); Tweener.addTween(playButton, {transition:"easeOutQuad", delay:1.5, time:0.25, alpha:1}); Tweener.addTween(instructionsButton, {transition:"easeOutQuad", delay:1.6, time:0.25, alpha:1}); Tweener.addTween(highScoreButton, {transition:"easeOutQuad", delay:1.7, time:0.25, alpha:1}); Tweener.addTween(creditsButton, {transition:"easeOutQuad", delay:1.8, time:0.25, alpha:1}); Tweener.addTween(playmoreButton, {onComplete:captureEvents, transition:"easeOutQuad", delay:1.9, time:0.25, alpha:1}); Tweener.addTween(sponsor1Button, {onComplete:captureEvents, transition:"easeOutQuad", delay:2.1, time:0.25, alpha:1}); Tweener.addTween(sponsor2Button, {onComplete:captureEvents, transition:"easeOutQuad", delay:2.1, time:0.25, alpha:1}); SoundManager.playAmbient("mainmenu"); } public function resetButtonPositions():void{ Tweener.addTween(playButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:250}); Tweener.addTween(instructionsButton, {transition:"easeOutCubic", scaleY:1, scaleX:1, time:0.3, y:280}); Tweener.addTween(highScoreButton, {transition:"easeOutCubic", scaleY:1, scaleX:1, time:0.3, y:310}); Tweener.addTween(creditsButton, {transition:"easeOutCubic", scaleY:1, scaleX:1, time:0.3, y:340}); Tweener.addTween(playmoreButton, {transition:"easeOutCubic", scaleY:1, scaleX:1, time:0.3, y:450}); Tweener.addTween(sponsor1Button, {transition:"easeOutCubic", scaleY:1, scaleX:1, time:0.3, y:470, x:190}); Tweener.addTween(sponsor2Button, {transition:"easeOutCubic", scaleY:1, scaleX:1, time:0.3, y:470, x:310}); } public function reset():void{ releaseEvents(); ParticleManager.clearContainer(); SoundManager.stopAmbient(); } public function releaseEvents():void{ mainTick.reset(); playButton.removeEventListener(MouseEvent.CLICK, onPlayClick); playButton.removeEventListener(MouseEvent.ROLL_OVER, onPlayOver); playButton.removeEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); instructionsButton.removeEventListener(MouseEvent.CLICK, onInstructionsClick); instructionsButton.removeEventListener(MouseEvent.ROLL_OVER, onInstructionsOver); instructionsButton.removeEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); highScoreButton.removeEventListener(MouseEvent.CLICK, onHighscoreClick); highScoreButton.removeEventListener(MouseEvent.ROLL_OVER, onHighscoreOver); highScoreButton.removeEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); creditsButton.removeEventListener(MouseEvent.CLICK, onCreditsClick); creditsButton.removeEventListener(MouseEvent.ROLL_OVER, onCreditsOver); creditsButton.removeEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); sponsor1Button.removeEventListener(MouseEvent.CLICK, onSponsor1Click); sponsor1Button.removeEventListener(MouseEvent.ROLL_OVER, onSponsor1Over); sponsor1Button.removeEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); sponsor2Button.removeEventListener(MouseEvent.CLICK, onSponsor2Click); sponsor2Button.removeEventListener(MouseEvent.ROLL_OVER, onSponsor2Over); sponsor2Button.removeEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); } public function onSponsor2Over(_arg1:MouseEvent):void{ Tweener.addTween(sponsor1Button, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:470, x:180}); Tweener.addTween(sponsor2Button, {transition:"easeOutCubic", time:0.3, scaleY:2, scaleX:2, x:320}); Tweener.addTween(playmoreButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:440}); } public function onSponsor2Click(_arg1:MouseEvent):void{ resetButtonPositions(); Lib.getURL(new URLRequest(Config.sponsor2url)); } public function onSponsor1Over(_arg1:MouseEvent):void{ Tweener.addTween(sponsor1Button, {transition:"easeOutCubic", time:0.3, scaleY:2, scaleX:2, x:180}); Tweener.addTween(sponsor2Button, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:470, x:330}); Tweener.addTween(playmoreButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:440}); } public function onSponsor1Click(_arg1:MouseEvent):void{ resetButtonPositions(); Lib.getURL(new URLRequest(Config.sponsor1url)); } public function onPlayOver(_arg1:MouseEvent):void{ resetButtonPositions(); Tweener.addTween(playButton, {transition:"easeOutCubic", time:0.3, scaleY:2, scaleX:2}); Tweener.addTween(instructionsButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(instructionsButton.y + 10)}); Tweener.addTween(highScoreButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(highScoreButton.y + 10)}); Tweener.addTween(creditsButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(creditsButton.y + 10)}); } public function onPlayInstructionsHighScoreCreditsOut(_arg1:MouseEvent):void{ resetButtonPositions(); } public function onPlayClick(_arg1:MouseEvent):void{ resetButtonPositions(); reset(); if (TutorialManager.hasDoneTutorial){ ScreenManager.showScreen("play"); } else { ScreenManager.showScreen("hasTutorial"); }; } public function onMainTickTimerHandler(_arg1:TimerEvent):void{ ParticleManager.update(); } public function onInstructionsOver(_arg1:MouseEvent):void{ resetButtonPositions(); Tweener.addTween(playButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(playButton.y - 10)}); Tweener.addTween(instructionsButton, {transition:"easeOutCubic", time:0.3, scaleY:2, scaleX:2}); Tweener.addTween(highScoreButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(highScoreButton.y + 10)}); Tweener.addTween(creditsButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(creditsButton.y + 10)}); } public function onInstructionsClick(_arg1:MouseEvent):void{ resetButtonPositions(); reset(); ScreenManager.showScreen("instructionsFromTitle"); } public function onHighscoreOver(_arg1:MouseEvent):void{ resetButtonPositions(); Tweener.addTween(playButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(playButton.y - 10)}); Tweener.addTween(instructionsButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(instructionsButton.y - 10)}); Tweener.addTween(highScoreButton, {transition:"easeOutCubic", time:0.3, scaleY:2, scaleX:2}); Tweener.addTween(creditsButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(creditsButton.y + 10)}); } public function onHighscoreClick(_arg1:MouseEvent):void{ resetButtonPositions(); Lib.getURL(new URLRequest(Config.highscoreurl)); } public function onCreditsOver(_arg1:MouseEvent):void{ resetButtonPositions(); Tweener.addTween(playButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(playButton.y - 10)}); Tweener.addTween(instructionsButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(instructionsButton.y - 10)}); Tweener.addTween(highScoreButton, {transition:"easeOutCubic", time:0.3, scaleY:1, scaleX:1, y:(highScoreButton.y - 10)}); Tweener.addTween(creditsButton, {transition:"easeOutCubic", time:0.3, scaleY:2, scaleX:2}); } public function onCreditsClick(_arg1:MouseEvent):void{ resetButtonPositions(); reset(); ScreenManager.showScreen("credits"); } public function init():void{ ParticleManager.setupContainer(particleContainer, mainTick); titlebackground.alpha = 0; titleforeground.alpha = 0; playButton.alpha = 0; instructionsButton.alpha = 0; highScoreButton.alpha = 0; creditsButton.alpha = 0; playmoreButton.alpha = 0; sponsor1Button.alpha = 0; sponsor2Button.alpha = 0; releaseEvents(); createParticleEmitter(); } public function dummyTweenOnComplete():void{ } public function createParticleEmitter():void{ var _local1 = (new ParticleEmitter(Config.runeRunningParticleEmitter) as ParticleEmitter); _local1.loc = new Point(250, 250); ParticleManager.createEmitter(_local1); } public function captureEvents():void{ mainTick.start(); playButton.addEventListener(MouseEvent.CLICK, onPlayClick); playButton.addEventListener(MouseEvent.ROLL_OVER, onPlayOver); playButton.addEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); instructionsButton.addEventListener(MouseEvent.CLICK, onInstructionsClick); instructionsButton.addEventListener(MouseEvent.ROLL_OVER, onInstructionsOver); instructionsButton.addEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); highScoreButton.addEventListener(MouseEvent.CLICK, onHighscoreClick); highScoreButton.addEventListener(MouseEvent.ROLL_OVER, onHighscoreOver); highScoreButton.addEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); creditsButton.addEventListener(MouseEvent.CLICK, onCreditsClick); creditsButton.addEventListener(MouseEvent.ROLL_OVER, onCreditsOver); creditsButton.addEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); sponsor1Button.addEventListener(MouseEvent.CLICK, onSponsor1Click); sponsor1Button.addEventListener(MouseEvent.ROLL_OVER, onSponsor1Over); sponsor1Button.addEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); sponsor2Button.addEventListener(MouseEvent.CLICK, onSponsor2Click); sponsor2Button.addEventListener(MouseEvent.ROLL_OVER, onSponsor2Over); sponsor2Button.addEventListener(MouseEvent.ROLL_OUT, onPlayInstructionsHighScoreCreditsOut); } } class Tweener { public static var __tweener_controller__:MovieClip; public static var _engineExists:Boolean; public static var _inited:Boolean; public static var _currentTime:Number; public static var _tweenList:List; public static var _timeScale:Number; public static var _transitionList:Object; public static var _specialPropertyList:Object; public static var _specialPropertyModifierList:Object; public static var _specialPropertySplitterList:Object; public function Tweener():void{ if (Boot_BA08CD.skip_constructor){ return; }; Log.trace("Tweener is an static class and should not be instantiated.", {methodName:"new", className:"caurina.transitions.Tweener", lineNumber:75, fileName:"Tweener.hx"}); } public static function addTween(_arg1:Object, _arg2:Object):Boolean{ var _local6:* = null; var _local7:* = null; var _local12:* = null; var _local13:* = null; var _local14 = (null as Array); var _local15:int; var _local16:int; var _local17:int; var _local18 = (null as String); var _local19 = (null as TweenListObj); var _local20 = (null as TweenListObj); var _local22 = (null as DisplayObject); var _local23:* = null; var _local24:* = null; if (!(_arg1 == null)){ true; }; if (true){ return (false); }; var _local3 = (new List() as List); if (Std.is(_arg1, Array)){ _local6 = _arg1; if (Std.is(_local6, Array)){ } else { throw ("Class cast error"); }; _local6 = !NULL!.iterator(); do { //unresolved if _local7 = _local6.next(); _local3.push(_local7); } while (true); } else { _local3.push(_arg1); }; _local6 = TweenListObj.makePropertiesChain(_arg2); if (!(Tweener._inited)){ Tweener.init(); }; if (!!(Tweener._engineExists)){ true; }; if (true){ Tweener.startEngine(); }; var _local8:Number = (Math.isNaN(_local6.time)) ? 0 : _local6.time; var _local9:Number = (Math.isNaN(_local6.delay)) ? 0 : _local6.delay; _local7 = Reflect.empty(); var _local10:* = {quickAdd:true, onOverwriteParams:true, onCompleteParams:true, onUpdateParams:true, onStartParams:true, rounded:true, onOverwrite:true, onComplete:true, onUpdate:true, onStart:true, transition:true, skipUpdates:true, useFrames:true, delay:true, time:true}; var _local11:* = Reflect.empty(); _local12 = Reflect.fields(_local6).iterator(); do { //unresolved if _local13 = _local12.next(); if (!(Reflect.field(_local10, _local13))){ if (!((Reflect.field(Tweener._specialPropertySplitterList, _local13) == null))){ _local14 = (Reflect.field(Tweener._specialPropertySplitterList, _local13).splitValues(Reflect.field(_local6, _local13), Reflect.field(Tweener._specialPropertySplitterList, _local13).parameters) as Array); _local15 = 0; _local16 = _local14.length; do { //unresolved if _local17 = _local15; _local15++; Reflect.setField(_local7, (_local14[_local17].name as String), {valueComplete:_local14[_local17].value, valueStart:null}); } while (true); } else { if (!((Reflect.field(Tweener._specialPropertyModifierList, _local13) == null))){ _local14 = (Reflect.field(Tweener._specialPropertyModifierList, _local13).modifyValues(Reflect.field(_local6, _local13)) as Array); _local15 = 0; _local16 = _local14.length; do { //unresolved if _local17 = _local15; _local15++; Reflect.setField(_local11, (_local14[_local17].name as String), {modifierFunction:Reflect.field(Tweener._specialPropertyModifierList, _local13).getValue, modifierParameters:_local14[_local17].parameters}); } while (true); } else { Reflect.setField(_local7, _local13, {valueComplete:Reflect.field(_local6, _local13), valueStart:null}); }; }; }; } while (true); _local12 = Reflect.fields(_local11).iterator(); do { //unresolved if _local13 = _local12.next(); if (!((Reflect.field(_local7, _local13) == null))){ Reflect.setField(Reflect.field(_local7, _local13), "modifierParameters", Reflect.field(_local11, _local13).modifierParameters); Reflect.setField(Reflect.field(_local7, _local13), "modifierFunction", Reflect.field(_local11, _local13).modifierFunction); }; } while (true); if (Std.is(_local6.transition, String)){ _local18 = (_local6.transition.toLowerCase() as String); _local12 = Reflect.field(Tweener._transitionList, _local18); } else { _local12 = _local6.transition; }; if ((_local12 == null)){ _local12 = Reflect.field(Tweener._transitionList, "linear"); }; var _local21:* = _local3.iterator(); do { //unresolved if _local22 = (_local21.next() as DisplayObject); _local13 = Reflect.empty(); _local23 = Reflect.fields(_local7).iterator(); do { //unresolved if _local24 = _local23.next(); Reflect.setField(_local13, _local24, new PropertyInfoObj(Reflect.field(_local7, _local24).valueStart, Reflect.field(_local7, _local24).valueComplete, Reflect.field(_local7, _local24).modifierFunction, Reflect.field(_local7, _local24).modifierParameters)); } while (true); _local19 = (new TweenListObj(_local22, (Tweener._currentTime + ((_local9 * 1000) / Tweener._timeScale)), (Tweener._currentTime + (((_local9 * 1000) + (_local8 * 1000)) / Tweener._timeScale)), (_local6.useFrames == true), _local12) as TweenListObj); _local19.properties = _local13; _local19.onStart = _local6.onStart; _local19.onUpdate = _local6.onUpdate; _local19.onComplete = _local6.onComplete; _local19.onOverwrite = _local6.onOverwrite; _local19.onError = _local6.onError; _local19.onStartParams = _local6.onStartParams; _local19.onUpdateParams = _local6.onUpdateParams; _local19.onCompleteParams = _local6.onCompleteParams; _local19.onOverwriteParams = _local6.onOverwriteParams; _local19.rounded = _local6.rounded; _local19.skipUpdates = _local6.skipUpdates; if (!(_local6.quickAdd)){ Tweener.removeTweensByTime(_local19.scope, _local19.properties, _local19.timeStart, _local19.timeComplete); }; Tweener._tweenList.push(_local19); if ((_local8 == 0)){ false; }; if (false){ _local20 = (Tweener._tweenList.first() as TweenListObj); Tweener.updateTweenByTweenListObj(_local20); Tweener.removeTweenByTweenListObj(_local20); }; } while (true); return (true); } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var _local7:Boolean; var _local10 = (null as TweenListObj); var _local11:* = null; var _local12:* = null; var _local13:* = null; var _local14:* = null; var _local6:Boolean; var _local9:* = Tweener._tweenList.iterator(); do { //unresolved if _local10 = (_local9.next() as TweenListObj); if ((_arg1 == _local10.scope)){ if ((_arg4 > _local10.timeStart)){ false; }; if (false){ _local7 = false; _local11 = Reflect.fields(_local10.properties).iterator(); do { //unresolved if _local12 = _local11.next(); if (!((Reflect.field(_arg2, _local12) == null))){ if (!((_local10.onOverwrite == null))){ try { Reflect.callMethod(_local10.scope, _local10.onOverwrite, _local10.onOverwriteParams); } catch(#InvalidMultinameIndex#) { _local14 = !NULL!; _local13 = _local14; Tweener.handleError(_local10, _local13, "onOverwrite"); }; }; Reflect.setField(_local10.properties, _local12, null); _local7 = true; _local6 = true; }; } while (true); if (_local7){ Tweener.removeTweenByTweenListObj(_local10); }; }; }; } while (true); return (_local6); } public static function removeTweens(_arg1:Object, _arg2:Array):Boolean{ var _local6:int; var _local3 = (new Array() as Array); var _local4:int; var _local5:int = _arg2.length; do { //unresolved if _local6 = _local4; _local4++; if (Std.is((_arg2[_local6] as String), String)){ false; }; if (false){ _local3.push((_arg2[_local6] as String)); }; } while (true); return (Tweener.affectTweens(Tweener.removeTweenByTweenListObj, _arg1, _local3)); } public static function removeAllTweens():Boolean{ var _local2:int; var _local3:int; var _local4:* = null; var _local5 = (null as TweenListObj); var _local1:Boolean; if ((Tweener._tweenList == (null as List))){ _local1 = true; } else { _local2 = Tweener._tweenList.length; _local3 = 0; if ((Tweener._tweenList.length > 0)){ _local4 = Tweener._tweenList.iterator(); do { //unresolved if _local5 = (_local4.next() as TweenListObj); Tweener.removeTweenByTweenListObj(_local5); _local3++; } while (true); }; if ((_local3 == _local2)){ _local1 = true; }; }; return (_local1); } public static function pauseTweens(_arg1:Object, _arg2:Array):Boolean{ var _local6:int; var _local3 = (new Array() as Array); var _local4:int; var _local5:int = _arg2.length; do { //unresolved if _local6 = _local4; _local4++; if (Std.is((_arg2[_local6] as String), String)){ false; }; if (false){ _local3.push((_arg2[_local6] as String)); }; } while (true); return (Tweener.affectTweens(Tweener.pauseTweenByTweenListObj, _arg1, _local3)); } public static function pauseAllTweens():Boolean{ var _local3 = (null as TweenListObj); var _local1:Boolean; var _local2:* = Tweener._tweenList.iterator(); do { //unresolved if _local3 = (_local2.next() as TweenListObj); Tweener.pauseTweenByTweenListObj(_local3); _local1 = true; } while (true); return (_local1); } public static function resumeTweens(_arg1:Object, _arg2:Array):Boolean{ var _local6:int; var _local3 = (new Array() as Array); var _local4:int; var _local5:int = _arg2.length; do { //unresolved if _local6 = _local4; _local4++; if (Std.is((_arg2[_local6] as String), String)){ false; }; if (false){ _local3.push((_arg2[_local6] as String)); }; } while (true); return (Tweener.affectTweens(Tweener.resumeTweenByTweenListObj, _arg1, _local3)); } public static function resumeAllTweens():Boolean{ var _local3 = (null as TweenListObj); if (!(Std.bool(Tweener._tweenList))){ return (false); }; var _local1:Boolean; var _local2:* = Tweener._tweenList.iterator(); do { //unresolved if _local3 = (_local2.next() as TweenListObj); Tweener.resumeTweenByTweenListObj(_local3); _local1 = true; } while (true); return (_local1); } public static function affectTweens(_arg1:Object, _arg2:Object, _arg3:Array):Boolean{ var _local6 = (null as TweenListObj); var _local7 = (null as Array); var _local8:* = null; var _local9:* = null; var _local10:int; var _local11:int; var _local4:Boolean; if (!(Std.bool(Tweener._tweenList))){ return (false); }; var _local5:* = Tweener._tweenList.iterator(); do { //unresolved if _local6 = (_local5.next() as TweenListObj); if ((_local6.scope == _arg2)){ if ((_arg3.length == 0)){ _arg1(_local6); _local4 = true; } else { _local7 = (new Array() as Array); _local8 = _arg3.iterator(); do { //unresolved if _local9 = _local8.next(); if (!((Reflect.field(_local6.properties, _local9) == null))){ _local7.push(_local9); }; } while (true); if ((_local7.length > 0)){ _local10 = AuxFunctions.getObjectLength(_local6.properties); if ((_local10 == _local7.length)){ _arg1(_local6); _local4 = true; } else { _local11 = Tweener.splitTweens(_local6, _local7); _arg1(_local11); _local4 = true; }; }; }; }; } while (true); return (_local4); } public static function splitTweens(_arg1:TweenListObj, _arg2:Array):int{ var _local5 = (null as String); var _local7:* = null; var _local8:Boolean; var _local9:* = null; var _local10:* = null; var _local3 = (_arg1 as TweenListObj); var _local4 = (_local3.clone(false) as TweenListObj); var _local6:* = _arg2.iterator(); do { //unresolved if _local7 = _local6.next(); _local5 = (_local7 as String); if (!((Reflect.field(_local3.properties, _local5) == null))){ Reflect.setField(_local3.properties, _local5, null); }; } while (true); _local6 = Reflect.fields(_local4.properties).iterator(); do { //unresolved if _local7 = _local6.next(); _local8 = false; _local9 = _arg2.iterator(); do { //unresolved if _local10 = _local9.next(); if ((_local10 == _local7)){ _local8 = true; break; }; } while (true); if (!(_local8)){ Reflect.setField(_local4.properties, _local7, null); }; } while (true); Tweener._tweenList.push(_local4); return ((Tweener._tweenList.length - 1)); } public static function updateTweens():Boolean{ var _local2 = (null as TweenListObj); if (Tweener._tweenList.isEmpty()){ return (false); }; var _local1:* = Tweener._tweenList.iterator(); do { //unresolved if _local2 = (_local1.next() as TweenListObj); if (!(_local2.isPaused)){ if (!(Tweener.updateTweenByTweenListObj(_local2))){ Tweener.removeTweenByTweenListObj(_local2); }; }; } while (true); return (true); } public static function removeTweenByTweenListObj(_arg1:TweenListObj):Boolean{ Tweener._tweenList.remove(_arg1); return (true); } public static function pauseTweenByTweenListObj(_arg1:TweenListObj):Boolean{ if (!(_arg1 == (null as TweenListObj))){ true; }; if (true){ return (false); }; _arg1.timePaused = Tweener._currentTime; _arg1.isPaused = true; return (true); } public static function resumeTweenByTweenListObj(_arg1:TweenListObj):Boolean{ if (!(_arg1 == (null as TweenListObj))){ true; }; if (true){ return (false); }; _arg1.timeStart = (_arg1.timeStart + (Tweener._currentTime - _arg1.timePaused)); _arg1.timeComplete = (_arg1.timeComplete + (Tweener._currentTime - _arg1.timePaused)); _arg1.timePaused = null; _arg1.isPaused = false; return (true); } public static function updateTweenByTweenListObj(_arg1:TweenListObj):Boolean{ var _local5:Boolean; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local12:* = null; var _local13:* = null; var _local14:* = null; var _local15:* = null; var _local16:Number; var _local3 = (_arg1 as TweenListObj); if (!(_local3 == (null as TweenListObj))){ true; }; if (true){ return (false); }; var _local4:Boolean; if ((Tweener._currentTime >= _local3.timeStart)){ _local12 = _local3.scope; if (_local3.isCaller){ //unresolved jump do { //unresolved if _local7 = (((_local3.timeComplete - _local3.timeStart) / _local3.count) * (_local3.timesCalled + 1)); _local8 = _local3.timeStart; _local9 = (_local3.timeComplete - _local3.timeStart); _local10 = (_local3.timeComplete - _local3.timeStart); _local6 = _local3.transition(_local7, _local8, _local9, _local10); if ((Tweener._currentTime >= _local6)){ if (!((_local3.onUpdate == null))){ try { Reflect.callMethod(_local12, _local3.onUpdate, _local3.onUpdateParams); } catch(#InvalidMultinameIndex#) { _local15 = !NULL!; _local14 = _local15; Tweener.handleError(_local3, _local14, "onUpdate"); }; }; _local3.timesCalled = (_local3.timesCalled + 1); if ((_local3.timesCalled >= _local3.count)){ _local4 = true; break; }; if (_local3.waitFrames){ break; }; }; } while (true); } else { if (!Math.isNaN(_local3.skipUpdates)){ true; if (!(_local3.skipUpdates < 1)){ true; if (!(_local3.skipUpdates == null)){ true; }; }; }; _local5 = true; if ((Tweener._currentTime >= _local3.timeComplete)){ _local4 = true; _local5 = true; }; if (!(_local3.hasStarted)){ if (!((_local3.onStart == null))){ try { Reflect.callMethod(_local12, _local3.onStart, _local3.onStartParams); } catch(#InvalidMultinameIndex#) { _local15 = !NULL!; _local14 = _local15; Tweener.handleError(_local3, _local14, "onStart"); }; }; _local14 = Reflect.fields(_local3.properties).iterator(); do { //unresolved if _local15 = _local14.next(); _local16 = Tweener.getPropertyValue(_local12, _local15); Reflect.field(_local3.properties, _local15).valueStart = (Math.isNaN(_local16)) ? Reflect.field(_local3.properties, _local15).valueComplete : _local16; } while (true); _local5 = true; _local3.hasStarted = true; }; if (_local5){ _local14 = Reflect.fields(_local3.properties).iterator(); do { //unresolved if _local15 = _local14.next(); _local13 = Reflect.field(_local3.properties, _local15); if (_local4){ _local6 = _local13.valueComplete; } else { if (_local13.hasModifier){ _local7 = (Tweener._currentTime - _local3.timeStart); _local10 = (_local3.timeComplete - _local3.timeStart); _local6 = _local3.transition(_local7, 0, 1, _local10); _local6 = _local13.modifierFunction(_local13.valueStart, _local13.valueComplete, _local6, _local13.modifierParameters); } else { _local7 = (Tweener._currentTime - _local3.timeStart); _local8 = _local13.valueStart; _local9 = (_local13.valueComplete - _local13.valueStart); _local10 = (_local3.timeComplete - _local3.timeStart); _local6 = _local3.transition(_local7, _local8, _local9, _local10); }; }; if (_local3.rounded){ _local6 = Math.round(_local6); }; Tweener.setPropertyValue(_local12, _local15, _local6); } while (true); _local3.updatesSkipped = 0; if (!((_local3.onUpdate == null))){ try { Reflect.callMethod(_local12, _local3.onUpdate, _local3.onUpdateParams); } catch(#InvalidMultinameIndex#) { _local15 = !NULL!; _local14 = _local15; Tweener.handleError(_local3, _local14, "onUpdate"); }; }; } else { _local3.updatesSkipped = (_local3.updatesSkipped + 1); }; }; if (_local4){ false; }; if (false){ try { Reflect.callMethod(_local12, _local3.onComplete, _local3.onCompleteParams); } catch(#InvalidMultinameIndex#) { _local15 = !NULL!; _local14 = _local15; Tweener.handleError(_local3, _local14, "onComplete"); }; }; return (!(_local4)); }; return (true); } public static function init():void{ Tweener._inited = true; Tweener._transitionList = Reflect.empty(); Equations.init(); Tweener._specialPropertyList = Reflect.empty(); Tweener._specialPropertyModifierList = Reflect.empty(); Tweener._specialPropertySplitterList = Reflect.empty(); SpecialPropertiesDefault.init(); } public static function registerTransition(_arg1:String, _arg2:Object):void{ if (!(Tweener._inited)){ Tweener.init(); }; Reflect.setField(Tweener._transitionList, _arg1, _arg2); } public static function registerSpecialProperty(_arg1:String, _arg2:Object, _arg3:Object, _arg4:Array):void{ if (!(Tweener._inited)){ Tweener.init(); }; var _local5 = (new SpecialProperty(_arg2, _arg3, _arg4) as SpecialProperty); Reflect.setField(Tweener._specialPropertyList, _arg1, _local5); } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Object, _arg3:Object):void{ if (!(Tweener._inited)){ Tweener.init(); }; var _local4 = (new SpecialPropertyModifier(_arg2, _arg3) as SpecialPropertyModifier); Reflect.setField(Tweener._specialPropertyModifierList, _arg1, _local4); } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Object, _arg3:Array=undefined):void{ if (!(Tweener._inited)){ Tweener.init(); }; if ((_arg3 == (null as Array))){ _arg3 = ([] as Array); }; var _local4 = (new SpecialPropertySplitter(_arg2, _arg3) as SpecialPropertySplitter); Reflect.setField(Tweener._specialPropertySplitterList, _arg1, _local4); } public static function startEngine():void{ Tweener._engineExists = true; Tweener._tweenList = new List(); Tweener.__tweener_controller__ = new MovieClip(); Tweener.__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); Tweener.updateTime(); } public static function stopEngine():void{ Tweener._engineExists = false; Tweener._tweenList = (null as List); Tweener._currentTime = 0; Tweener.__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); Tweener.__tweener_controller__ = (null as MovieClip); } public static function getPropertyValue(_arg1:Object, _arg2:String):Number{ if (!((Reflect.field(Tweener._specialPropertyList, _arg2) == null))){ if (Std.bool(Reflect.field(Tweener._specialPropertyList, _arg2).parameters)){ return (Reflect.field(Tweener._specialPropertyList, _arg2).getValue(_arg1, Reflect.field(Tweener._specialPropertyList, _arg2).parameters)); } else { return (Reflect.field(Tweener._specialPropertyList, _arg2).getValue(_arg1)); }; } else { return (Reflect.field(_arg1, _arg2)); }; } public static function setPropertyValue(_arg1:Object, _arg2:String, _arg3:Number):void{ if (!((Reflect.field(Tweener._specialPropertyList, _arg2) == null))){ if (Std.bool(Reflect.field(Tweener._specialPropertyList, _arg2).parameters)){ Reflect.field(Tweener._specialPropertyList, _arg2).setValue(_arg1, _arg3, Reflect.field(Tweener._specialPropertyList, _arg2).parameters); //unresolved jump }; } else { Reflect.setField(_arg1, _arg2, _arg3); }; } public static function updateTime():void{ Tweener._currentTime = Lib.getTimer(); } public static function onEnterFrame(_arg1:Event):void{ Tweener.updateTime(); var _local2:Boolean; _local2 = Tweener.updateTweens(); if (!(_local2)){ Tweener.stopEngine(); }; } public static function setTimeScale(_arg1:Number):void{ var _local2:* = null; var _local3 = (null as TweenListObj); if (Math.isNaN(_arg1)){ _arg1 = 1; }; if ((_arg1 < 1E-5)){ _arg1 = 1E-5; }; if (!((_arg1 == Tweener._timeScale))){ _local2 = Tweener._tweenList.iterator(); do { //unresolved if _local3 = (_local2.next() as TweenListObj); _local3.timeStart = (Tweener._currentTime - (((Tweener._currentTime - _local3.timeStart) * Tweener._timeScale) / _arg1)); _local3.timeComplete = (Tweener._currentTime - (((Tweener._currentTime - _local3.timeComplete) * Tweener._timeScale) / _arg1)); if (!((_local3.timePaused == null))){ _local3.timePaused = (Tweener._currentTime - (((Tweener._currentTime - _local3.timePaused) * Tweener._timeScale) / _arg1)); }; } while (true); Tweener._timeScale = _arg1; }; } public static function isTweening(_arg1:Object):Boolean{ var _local3 = (null as TweenListObj); var _local2:* = Tweener._tweenList.iterator(); do { //unresolved if _local3 = (_local2.next() as TweenListObj); if (Reflect.hasField(_local3, "scope")){ false; }; if (false){ return (true); }; } while (true); return (false); } public static function getTweens(_arg1:Object):Array{ var _local5 = (null as TweenListObj); var _local6:* = null; var _local7:* = null; if (!(Std.bool(Tweener._tweenList))){ return ([]); }; var _local3 = (new Array() as Array); var _local4:* = Tweener._tweenList.iterator(); do { //unresolved if _local5 = (_local4.next() as TweenListObj); if ((_local5.scope == _arg1)){ _local6 = Reflect.fields(_local5.properties).iterator(); do { //unresolved if _local7 = _local6.next(); _local3.push(_local7); } while (true); }; } while (true); return (_local3); } public static function getTweenCount(_arg1:Object):int{ var _local4 = (null as TweenListObj); if (!(Std.bool(Tweener._tweenList))){ return (0); }; var _local2:int; var _local3:* = Tweener._tweenList.iterator(); do { //unresolved if _local4 = (_local3.next() as TweenListObj); if ((_local4.scope == _arg1)){ _local2 = (_local2 + AuxFunctions.getObjectLength(_local4.properties)); }; } while (true); return (_local2); } public static function handleError(_arg1:TweenListObj, _arg2:Object, _arg3:String):void{ var _local5:* = null; var _local6:* = null; if (Std.bool(_arg1.onError)){ false; }; if (false){ try { _arg1.onError.apply(_arg1.scope, [_arg1.scope, _arg2]); } catch(#InvalidMultinameIndex#) { _local6 = !NULL!; _local5 = _local6; Log.trace("## [Tweener] Error:", {customParams:[_arg1.scope, "raised an error while executing the 'onError' handler. Original error:\n", _arg2.getStackTrace(), "\nonError error:", _local5.getStackTrace()], methodName:"handleError", className:"caurina.transitions.Tweener", lineNumber:993, fileName:"Tweener.hx"}); }; } else { if (!(Std.bool(_arg1.onError))){ Log.trace("## [Tweener] Error: :", {customParams:[_arg1.scope, (((("raised an error while executing the'" + _arg3) as String) + "'handler. \n") as String), _arg2.getStackTrace()], methodName:"handleError", className:"caurina.transitions.Tweener", lineNumber:998, fileName:"Tweener.hx"}); }; }; } public static function getVersion():String{ return ("HAXE FlASH9 1.26.62"); } public static function debug_getList():String{ var _local5 = (null as TweenListObj); var _local6:* = null; var _local7:* = null; var _local1 = ("" as String); var _local2:int; var _local4:* = Tweener._tweenList.iterator(); do { //unresolved if _local5 = (_local4.next() as TweenListObj); _local1 = (((_local1 + (((("[" + _local2) as String) + "] ::\n") as String)) as String) as String); _local6 = Reflect.fields(_local5.properties).iterator(); do { //unresolved if _local7 = _local6.next(); _local1 = (((_local1 + ((((((" " + _local7) + " -> ") as String) + Reflect.field(_local5.properties, _local7).valueComplete) + "\n") as String)) as String) as String); } while (true); _local2++; } while (true); return (_local1); } public static function debugTweenList():List{ return (Tweener._tweenList); } } class IntIter { public var min:int; public var max:int; public function IntIter(_arg1:int=undefined, _arg2:int=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; min = _arg1; max = _arg2; } public function next():int{ var _local1:* = min; min = (_local1 + 1); return (_local1); } public function hasNext():Boolean{ return ((min < max)); } } class BossBSprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function BossBSprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(28, 28, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(386, 130, 28, 28), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -14; core.y = -14; var _local2 = (new BitmapData(320, 64, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 224, 320, 128), new Point(0, 0)); equip = new MovieTile(_local2, 64, 64); equip.x = -32; equip.y = -32; equipframes = equip.frames; var _local3 = (new BitmapData(28, 28, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(386, 130, 28, 28), new Point(0, 0)); var _local4:int; var _local5:int = 28; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 28; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -14; inflictCore.y = -14; var _local10 = (new BitmapData(320, 64, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 224, 320, 128), new Point(0, 0)); _local4 = 0; _local5 = 320; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 128; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 64, 64); inflictEquip.x = -32; inflictEquip.y = -32; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function idle():void{ equip.goToFrame(0); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } class CollisionManager { public static var gridSize:int; public static var grids:Hash; public static var gridNames:Array; public static var comboCount:int; public static var curHitTime:int; public static var lastHitTime:int; public static var hasShoutedCombo:Boolean; public static var cGridCount:int; public static var eGridCount:int; public static var pGridCount:int; public static var epGridCount:int; public static var plGridCount:int; public function CollisionManager():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function calculatePairwise():void{ } public static function calculateGrids():void{ var _local5:* = null; var _local6:int; var _local7:int; var _local8 = (null as Enemy); var _local9 = (null as Projectile); var _local10:* = null; var _local11:Number; var _local12:Number; CollisionManager.curHitTime = (CollisionManager.curHitTime + 1); CollisionManager.cGridCount = 0; CollisionManager.eGridCount = 0; CollisionManager.pGridCount = 0; CollisionManager.epGridCount = 0; CollisionManager.plGridCount = 0; var _local1 = (ScreenManager.playScreen.player as Player); var _local2 = (_local1.getHitboxBounds() as Rectangle); var _local3:* = CollisionManager.getGridRegions(_local2); CollisionManager.registerGridRegions(_local3, "player", _local1); var _local4:int; do { //unresolved if _local5 = CollisionManager.grids.get((CollisionManager.gridNames[_local4] as String)); CollisionManager.eGridCount = (CollisionManager.eGridCount + (_local5.enemies as Array).length); CollisionManager.pGridCount = (CollisionManager.pGridCount + (_local5.projectiles as Array).length); CollisionManager.epGridCount = (CollisionManager.epGridCount + (_local5.enemyProjectiles as Array).length); CollisionManager.plGridCount = (CollisionManager.plGridCount + (!(((_local5.player as Player) == (null as Player)))) ? 1 : 0); if (((_local5.enemies as Array).length > 0)){ false; }; if (false){ CollisionManager.cGridCount = (CollisionManager.cGridCount + 1); _local6 = 0; _local7 = 0; do { //unresolved if _local7 = 0; do { //unresolved if _local8 = (((_local5.enemies as Array)[_local6] as Enemy) as Enemy); _local9 = (((_local5.projectiles as Array)[_local7] as Projectile) as Projectile); if (_local8.checkCollision(_local9.projectileSprite)){ false; if (!(_local9.isFading)){ false; if (!(_local9.isEnemy)){ false; if (!(_local8.isInvincible)){ false; }; }; }; }; if (false){ _local8.hitpoint = (_local8.hitpoint - _local9.damage); if ((_local8.hitpoint <= 0)){ Profile.score = (Profile.score + _local8.worth); if ((Profile.score > (Config.scoreToLifeThreshold * Profile.score4live))){ Profile.lives = (Profile.lives + 1); Profile.score4live = (Profile.score4live + 1); ScreenManager.playScreen.updateHUDLives(); }; ScreenManager.playScreen.calculateAddedTechPoints(_local8.worth); ScreenManager.playScreen.updateHUDScore(); if ((CollisionManager.curHitTime <= (CollisionManager.lastHitTime + Config.comboCountDelay))){ false; }; if (false){ CollisionManager.lastHitTime = CollisionManager.curHitTime; CollisionManager.comboCount = (CollisionManager.comboCount + 1); CollisionManager.hasShoutedCombo = false; } else { _local10 = 0; CollisionManager.curHitTime = _local10; CollisionManager.lastHitTime = _local10; CollisionManager.comboCount = 0; }; CollisionManager.unregisterGridRegions(_local8.grid, "enemy", _local8); _local8.destroy(); MissionManager.currentMission.removeEnemy(_local8); _local8 = ((null as Enemy) as Enemy); } else { _local8.inflictHit(); }; if (_local9.hitNDestroy){ if ((_local9.baseType == ProjectileBaseType.LIGHTNING)){ ProjectileManager.drawLightning(_local9); }; CollisionManager.unregisterGridRegions(_local9.grid, "projectile", _local9); ProjectileManager.removeProjectile(_local9); _local9.destroy(); }; } else { if (_local8.checkCollision(_local9.projectileSprite)){ false; }; if (false){ _local8.shieldpoint = (_local8.shieldpoint - _local9.damage); _local8.decreaseShield(); if (!((_local9.baseType == ProjectileBaseType.LIGHTNING))){ _local11 = ((((Math.random() * 90) - 45) * Math.PI) / 180); _local12 = Math.atan2(_local9.vector.vy, _local9.vector.vx); _local9.projectileSprite.rotation = (((_local12 + _local11) * 180) / Math.PI); _local9.vector.vx = ((Math.cos((_local12 + _local11)) * _local9.speed) * -1); _local9.vector.vy = ((Math.sin((_local12 + _local11)) * _local9.speed) * -1); }; }; }; _local7++; } while (true); _local6++; } while (true); }; if (((_local5.enemyProjectiles as Array).length > 0)){ false; }; if (false){ CollisionManager.cGridCount = (CollisionManager.cGridCount + 1); _local6 = 0; do { //unresolved if _local9 = (((_local5.enemyProjectiles as Array)[_local6] as Projectile) as Projectile); if ((_local5.player as Player).checkCollision(_local9.projectileSprite)){ false; if (!((_local5.player as Player).isHit)){ false; }; }; if (false){ CollisionManager.unregisterGridRegions((_local5.player as Player).grid, "player", (_local5.player as Player)); (_local5.player as Player).destroy(); CollisionManager.unregisterGridRegions(_local9.grid, "enemyProjectile", _local9); ProjectileManager.removeProjectile(_local9); _local9.destroy(false); }; _local6++; } while (true); }; if (((_local5.enemies as Array).length > 0)){ false; }; if (false){ CollisionManager.cGridCount = (CollisionManager.cGridCount + 1); _local6 = 0; do { //unresolved if _local8 = (((_local5.enemies as Array)[_local6] as Enemy) as Enemy); if (_local8.checkCollision((_local5.player as Player).getHitbox())){ false; if (!(_local8.isGhosting)){ false; if (!((_local5.player as Player).isHit)){ false; }; }; }; if (false){ CollisionManager.unregisterGridRegions((_local5.player as Player).grid, "player", (_local5.player as Player)); (_local5.player as Player).destroy(); }; _local6++; } while (true); }; CollisionManager.cleanupGrids(_local5); _local4++; } while (true); if ((CollisionManager.comboCount > 0)){ false; }; if (false){ CollisionManager.hasShoutedCombo = true; Profile.score = (Profile.score + (Config.bonusComboScore * CollisionManager.comboCount)); if ((Profile.score > (Config.scoreToLifeThreshold * Profile.score4live))){ Profile.lives = (Profile.lives + 1); Profile.score4live = (Profile.score4live + 1); ScreenManager.playScreen.updateHUDLives(); }; ScreenManager.playScreen.player.spawnComboParticle(); ScreenManager.playScreen.calculateAddedTechPoints(Config.bonusComboScore); ScreenManager.playScreen.updateHUDScore(); }; } public static function calculateBombRadius(_arg1:Point):void{ var _local3:int; var _local4 = (null as Enemy); var _local5 = (null as Point); var _local2:* = Reflect.field(Config, (("bomb" + Profile.bomblvl) as String)); if ((MissionManager.currentMission.enemyList().length > 0)){ _local3 = 0; do { //unresolved if _local4 = ((MissionManager.currentMission.enemyList()[_local3] as Enemy) as Enemy); _local5 = (new Point(_local4.locX, _local4.locY) as Point); if ((Point.distance(_arg1, _local5) <= _local2.radius)){ if (!(_local4.isGhosting)){ _local4.hitpoint = (_local4.hitpoint - _local2.damage); if ((_local4.hitpoint <= 0)){ Profile.score = (Profile.score + _local4.worth); if ((Profile.score > (Config.scoreToLifeThreshold * Profile.score4live))){ Profile.lives = (Profile.lives + 1); Profile.score4live = (Profile.score4live + 1); ScreenManager.playScreen.updateHUDLives(); }; ScreenManager.playScreen.calculateAddedTechPoints(_local4.worth); ScreenManager.playScreen.updateHUDScore(); CollisionManager.unregisterGridRegions(_local4.grid, "enemy", _local4); _local4.destroy(); MissionManager.currentMission.removeEnemy(_local4); _local4 = ((null as Enemy) as Enemy); } else { _local4.inflictHit(); }; }; } else { if ((Point.distance(_arg1, _local5) <= (_local2.radius + (_local2.radius * 0.1)))){ false; }; if (false){ if (!(_local4.isGhosting)){ _local4.hitpoint = (_local4.hitpoint - Math.round((_local2.damage / 100))); if ((_local4.hitpoint <= 0)){ Profile.score = (Profile.score + _local4.worth); if ((Profile.score > (Config.scoreToLifeThreshold * Profile.score4live))){ Profile.lives = (Profile.lives + 1); Profile.score4live = (Profile.score4live + 1); ScreenManager.playScreen.updateHUDLives(); }; ScreenManager.playScreen.calculateAddedTechPoints(_local4.worth); ScreenManager.playScreen.updateHUDScore(); CollisionManager.unregisterGridRegions(_local4.grid, "enemy", _local4); _local4.destroy(); MissionManager.currentMission.removeEnemy(_local4); _local4 = ((null as Enemy) as Enemy); } else { _local4.inflictHit(); }; }; }; }; _local3++; } while (true); }; } public static function update():void{ CollisionManager.calculateGrids(); } public static function setupGrids():void{ var _local4 = (null as String); var _local5:* = null; CollisionManager.grids = new Hash(); CollisionManager.gridNames = new Array(); CollisionManager.cGridCount = 0; CollisionManager.eGridCount = 0; CollisionManager.epGridCount = 0; CollisionManager.plGridCount = 0; CollisionManager.comboCount = 0; CollisionManager.curHitTime = 0; CollisionManager.lastHitTime = 0; CollisionManager.hasShoutedCombo = false; var _local1:int = Math.round((500 / CollisionManager.gridSize)); var _local2:int; var _local3:int; do { //unresolved if _local3 = 0; do { //unresolved if _local4 = (Std.string(((((_local2 + "_") as String) + _local3) as String)) as String); _local5 = {player:(null as Player), enemies:new Array(), enemyProjectiles:new Array(), projectiles:new Array()}; CollisionManager.grids.set(_local4, _local5); CollisionManager.gridNames.push(_local4); _local3++; } while (true); _local2++; } while (true); } public static function resetGrids():void{ var _local2:* = null; var _local1:int; do { //unresolved if _local2 = CollisionManager.grids.get((CollisionManager.gridNames[_local1] as String)); CollisionManager.cleanupGrids(_local2); CollisionManager.grids.set((CollisionManager.gridNames[_local1] as String), null); CollisionManager.grids.remove((CollisionManager.gridNames[_local1] as String)); _local1++; } while (true); CollisionManager.gridNames = (null as Array); CollisionManager.grids = (null as Hash); CollisionManager.setupGrids(); } public static function cleanupGrids(_arg1:Object):void{ var _local3 = (null as Enemy); var _local5 = (null as Projectile); var _local2:int; do { //unresolved if _local3 = (((_arg1.enemies as Array)[_local2] as Enemy) as Enemy); (_arg1.enemies as Array).remove(_local3); _local3 = ((null as Enemy) as Enemy); _local2++; } while (true); var _local4:int; do { //unresolved if _local5 = (((_arg1.projectiles as Array)[_local4] as Projectile) as Projectile); (_arg1.projectiles as Array).remove(_local5); _local5 = ((null as Projectile) as Projectile); _local4++; } while (true); var _local6:int; do { //unresolved if _local5 = (((_arg1.enemyProjectiles as Array)[_local6] as Projectile) as Projectile); (_arg1.enemyProjectiles as Array).remove(_local5); _local5 = ((null as Projectile) as Projectile); _local6++; } while (true); _arg1.player = (null as Player); } public static function registerGrid(_arg1:String, _arg2:String, _arg3:Object):void{ var _local4 = (null as String); if (!((_arg1 == ""))){ _local4 = (_arg2 as String); if (_local4 == "projectile"){ (CollisionManager.grids.get(_arg1).projectiles as Array).push(_arg3); } else { if (_local4 == "enemyProjectile"){ (CollisionManager.grids.get(_arg1).enemyProjectiles as Array).push(_arg3); } else { if (_local4 == "enemy"){ (CollisionManager.grids.get(_arg1).enemies as Array).push(_arg3); } else { if (_local4 == "player"){ CollisionManager.grids.get(_arg1).player = _arg3; //unresolved jump }; }; }; }; }; } public static function registerGridRegions(_arg1:Object, _arg2:String, _arg3:Object):void{ CollisionManager.registerGrid((_arg1.center as String), _arg2, _arg3); CollisionManager.registerGrid((_arg1.top as String), _arg2, _arg3); CollisionManager.registerGrid((_arg1.bottom as String), _arg2, _arg3); CollisionManager.registerGrid((_arg1.left as String), _arg2, _arg3); CollisionManager.registerGrid((_arg1.right as String), _arg2, _arg3); CollisionManager.registerGrid((_arg1.topleft as String), _arg2, _arg3); CollisionManager.registerGrid((_arg1.topright as String), _arg2, _arg3); CollisionManager.registerGrid((_arg1.bottomleft as String), _arg2, _arg3); CollisionManager.registerGrid((_arg1.bottomright as String), _arg2, _arg3); } public static function unregisterGrid(_arg1:String, _arg2:String, _arg3:Object):void{ var _local4 = (null as String); if (!((_arg1 == ""))){ _local4 = (_arg2 as String); if (_local4 == "projectile"){ (CollisionManager.grids.get(_arg1).projectiles as Array).remove(_arg3); } else { if (_local4 == "enemyProjectile"){ (CollisionManager.grids.get(_arg1).enemyProjectiles as Array).remove(_arg3); } else { if (_local4 == "enemy"){ (CollisionManager.grids.get(_arg1).enemies as Array).remove(_arg3); } else { if (_local4 == "player"){ CollisionManager.grids.get(_arg1).player = (null as Player); //unresolved jump }; }; }; }; }; } public static function unregisterGridRegions(_arg1:Object, _arg2:String, _arg3:Object):void{ CollisionManager.unregisterGrid((_arg1.center as String), _arg2, _arg3); CollisionManager.unregisterGrid((_arg1.top as String), _arg2, _arg3); CollisionManager.unregisterGrid((_arg1.bottom as String), _arg2, _arg3); CollisionManager.unregisterGrid((_arg1.left as String), _arg2, _arg3); CollisionManager.unregisterGrid((_arg1.right as String), _arg2, _arg3); CollisionManager.unregisterGrid((_arg1.topleft as String), _arg2, _arg3); CollisionManager.unregisterGrid((_arg1.topright as String), _arg2, _arg3); CollisionManager.unregisterGrid((_arg1.bottomleft as String), _arg2, _arg3); CollisionManager.unregisterGrid((_arg1.bottomright as String), _arg2, _arg3); } public static function getGridRegions(_arg1:Rectangle):Object{ var _local2:Boolean; var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; var _local6:* = {bottomright:"", bottomleft:"", topright:"", topleft:"", left:"", right:"", bottom:"", top:"", center:""}; var _local7:int = Math.round((_arg1.x / CollisionManager.gridSize)); var _local8:int = Math.round((_arg1.y / CollisionManager.gridSize)); _local6.center = ((((_local7 + "_") as String) + _local8) as String); var _local9:int = Math.round((_arg1.top / CollisionManager.gridSize)); var _local10:int = Math.round((_arg1.bottom / CollisionManager.gridSize)); if (!((_local9 == _local8))){ _local6.top = ((((_local7 + "_") as String) + _local9) as String); _local2 = true; }; if (!((_local10 == _local8))){ _local6.bottom = ((((_local7 + "_") as String) + _local10) as String); _local3 = true; }; var _local11:int = Math.round((_arg1.left / CollisionManager.gridSize)); var _local12:int = Math.round((_arg1.right / CollisionManager.gridSize)); if (!((_local11 == _local7))){ _local6.left = ((((_local11 + "_") as String) + _local8) as String); _local4 = true; }; if (!((_local12 == _local7))){ _local6.right = ((((_local12 + "_") as String) + _local8) as String); _local5 = true; }; if (_local2){ false; }; if (false){ _local6.topleft = ((((_local11 + "_") as String) + _local9) as String); }; if (_local2){ false; }; if (false){ _local6.topright = ((((_local12 + "_") as String) + _local9) as String); }; if (_local3){ false; }; if (false){ _local6.bottomleft = ((((_local11 + "_") as String) + _local10) as String); }; if (_local3){ false; }; if (false){ _local6.bottomright = ((((_local12 + "_") as String) + _local10) as String); }; return (_local6); } } class KeyMouseManager { public static var stage:Stage; public static var upKeyRegisters:IntHash; public static var downKeyRegisters:IntHash; public static var clickMouseRegisters:List; public static var upMouseRegisters:Object; public static var downMouseRegisters:Object; public static var moveMouseRegisters:Object; public static var wheelMouseRegisters:Object; public function KeyMouseManager():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function setupEvents():void{ KeyMouseManager.stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyMouseManager.onKeyDownHandler); KeyMouseManager.stage.addEventListener(KeyboardEvent.KEY_UP, KeyMouseManager.onKeyUpHandler); KeyMouseManager.stage.addEventListener(MouseEvent.CLICK, KeyMouseManager.onMouseClickHandler); KeyMouseManager.stage.addEventListener(MouseEvent.MOUSE_DOWN, KeyMouseManager.onMouseDownHandler); KeyMouseManager.stage.addEventListener(MouseEvent.MOUSE_UP, KeyMouseManager.onMouseUpHandler); KeyMouseManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, KeyMouseManager.onMouseMoveHandler); KeyMouseManager.stage.addEventListener(MouseEvent.MOUSE_WHEEL, KeyMouseManager.onMouseWheelHandler); } public static function onKeyDownHandler(_arg1:KeyboardEvent):void{ var _local2 = (null as List); var _local3:* = null; var _local4:* = null; if (KeyMouseManager.downKeyRegisters.exists(_arg1.keyCode)){ _local2 = (KeyMouseManager.downKeyRegisters.get(_arg1.keyCode) as List); _local3 = _local2.iterator(); do { //unresolved if _local4 = _local3.next(); _local4(); } while (true); }; } public static function onKeyUpHandler(_arg1:KeyboardEvent):void{ var _local2 = (null as List); var _local3:* = null; var _local4:* = null; if (KeyMouseManager.upKeyRegisters.exists(_arg1.keyCode)){ _local2 = (KeyMouseManager.upKeyRegisters.get(_arg1.keyCode) as List); _local3 = _local2.iterator(); do { //unresolved if _local4 = _local3.next(); _local4(); } while (true); }; } public static function onMouseClickHandler(_arg1:MouseEvent):void{ var _local2:* = null; var _local3:* = null; if (!(KeyMouseManager.clickMouseRegisters.isEmpty())){ _local2 = KeyMouseManager.clickMouseRegisters.iterator(); do { //unresolved if _local3 = _local2.next(); _local3(); } while (true); }; } public static function onMouseDownHandler(_arg1:MouseEvent):void{ if (!((KeyMouseManager.downMouseRegisters == null))){ KeyMouseManager.downMouseRegisters(); }; } public static function onMouseUpHandler(_arg1:MouseEvent):void{ if (!((KeyMouseManager.upMouseRegisters == null))){ KeyMouseManager.upMouseRegisters(); }; } public static function onMouseMoveHandler(_arg1:MouseEvent):void{ if (!((KeyMouseManager.moveMouseRegisters == null))){ KeyMouseManager.moveMouseRegisters(); }; } public static function onMouseWheelHandler(_arg1:MouseEvent):void{ if (!((KeyMouseManager.wheelMouseRegisters == null))){ KeyMouseManager.wheelMouseRegisters(); }; } public static function registerDownKey(_arg1:int, _arg2:Object):void{ if (!(KeyMouseManager.downKeyRegisters.exists(_arg1))){ KeyMouseManager.downKeyRegisters.set(_arg1, new List()); }; var _local3 = (KeyMouseManager.downKeyRegisters.get(_arg1) as List); _local3.add(_arg2); } public static function unregisterDownKey(_arg1:int, _arg2:Object):void{ var _local3 = (null as List); if (KeyMouseManager.downKeyRegisters.exists(_arg1)){ _local3 = (KeyMouseManager.downKeyRegisters.get(_arg1) as List); _local3.remove(_arg2); if (_local3.isEmpty()){ KeyMouseManager.downKeyRegisters.remove(_arg1); }; }; } public static function registerUpKey(_arg1:int, _arg2:Object):void{ if (!(KeyMouseManager.upKeyRegisters.exists(_arg1))){ KeyMouseManager.upKeyRegisters.set(_arg1, new List()); }; var _local3 = (KeyMouseManager.upKeyRegisters.get(_arg1) as List); _local3.add(_arg2); } public static function unregisterUpKey(_arg1:int, _arg2:Object):void{ var _local3 = (null as List); if (KeyMouseManager.upKeyRegisters.exists(_arg1)){ _local3 = (KeyMouseManager.upKeyRegisters.get(_arg1) as List); _local3.remove(_arg2); if (_local3.isEmpty()){ KeyMouseManager.upKeyRegisters.remove(_arg1); }; }; } public static function registerClickMouse(_arg1:Object):void{ KeyMouseManager.clickMouseRegisters.add(_arg1); } public static function unregisterClickMouse(_arg1:Object):void{ KeyMouseManager.clickMouseRegisters.remove(_arg1); } public static function registerDownMouse(_arg1:Object):void{ KeyMouseManager.downMouseRegisters = _arg1; } public static function unregisterDownMouse():void{ KeyMouseManager.downMouseRegisters = null; } public static function registerUpMouse(_arg1:Object):void{ KeyMouseManager.upMouseRegisters = _arg1; } public static function unregisterUpMouse():void{ KeyMouseManager.upMouseRegisters = null; } public static function registerMoveMouse(_arg1:Object):void{ KeyMouseManager.moveMouseRegisters = _arg1; } public static function unregisterMoveMouse():void{ KeyMouseManager.moveMouseRegisters = null; } public static function registerWheelMouse(_arg1:Object):void{ KeyMouseManager.wheelMouseRegisters = _arg1; } public static function unregisterWheelMouse():void{ KeyMouseManager.wheelMouseRegisters = null; } public static function listKeyDownFuncs(_arg1:int):List{ return (KeyMouseManager.downKeyRegisters.get(_arg1)); } } class SpecialPropertySplitter { public var splitValues:Object; public var parameters:Array; public function SpecialPropertySplitter(_arg1:Object=undefined, _arg2:Array=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; splitValues = _arg1; } public function toString():String{ var _local1 = ("" as String); _local1 = (((_local1 + "[SpecialPropertySplitter ") as String) as String); _local1 = (((_local1 + (("splitValues:" + Std.string(splitValues)) as String)) as String) as String); _local1 = (((_local1 + ", ") as String) as String); _local1 = (((_local1 + (("parameters:" + Std.string(parameters)) as String)) as String) as String); _local1 = (((_local1 + "]") as String) as String); return (_local1); } } class Mission1 extends Mission { public var level9:Object; public var level8:Object; public var level7:Object; public var level6:Object; public var level5:Object; public var level4:Object; public var level3:Object; public var level2:Object; public var level10:Object; public var level1:Object; public function Mission1():void{ var _local5:int; var _local6:int; var _local7:int; var _local8:Number; var _local9:Number; var _local10 = (null as Point); if (Boot_BA08CD.skip_constructor){ return; }; super(); integrityThreshold = 10; regenIntegrityRate = 0.001; damageIntegrityRate = 0.0005; var _local1 = (new List() as List); _local1.add({pos:new Point(250, 100), enemy:EnemyA}); _local1.add({pos:new Point(250, 400), enemy:EnemyA}); _local1.add({pos:new Point(100, 250), enemy:EnemyA}); _local1.add({pos:new Point(400, 250), enemy:EnemyA}); level1 = {pattern:_local1, delay:2500, id:1}; var _local2 = (new List() as List); _local2.add({pos:new Point(250, 100), enemy:EnemyB}); _local2.add({pos:new Point(250, 400), enemy:EnemyB}); var _local3:int; var _local4:int = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local2.add({pos:_local10, enemy:EnemyA}); } while (true); level2 = {pattern:_local2, delay:2500, id:2}; var _local11 = (new List() as List); _local11.add({pos:new Point(100, 150), enemy:EnemyB}); _local11.add({pos:new Point(100, 350), enemy:EnemyB}); _local11.add({pos:new Point(400, 150), enemy:EnemyB}); _local11.add({pos:new Point(400, 350), enemy:EnemyB}); _local11.add({pos:new Point(150, 100), enemy:EnemyA}); _local11.add({pos:new Point(150, 400), enemy:EnemyA}); _local11.add({pos:new Point(350, 100), enemy:EnemyA}); _local11.add({pos:new Point(350, 400), enemy:EnemyA}); level3 = {pattern:_local11, delay:2500, id:3}; var _local12 = (new List() as List); _local3 = 0; _local4 = 10; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local12.add({pos:_local10, enemy:EnemyB}); } while (true); level4 = {pattern:_local12, delay:2500, id:4}; var _local13 = (new List() as List); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyA}); } while (true); _local3 = 0; _local4 = 8; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyB}); } while (true); level5 = {pattern:_local13, delay:2500, id:5}; var _local14 = (new List() as List); _local3 = 0; _local4 = 2; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyA}); } while (true); _local3 = 0; _local4 = 2; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyB}); } while (true); _local14.add({pos:new Point(100, 150), enemy:EnemyC}); _local14.add({pos:new Point(100, 350), enemy:EnemyC}); _local14.add({pos:new Point(400, 150), enemy:EnemyC}); _local14.add({pos:new Point(400, 350), enemy:EnemyC}); level6 = {pattern:_local14, delay:2500, id:6}; var _local15 = (new List() as List); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyA}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyB}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyC}); } while (true); level7 = {pattern:_local15, delay:2500, id:7}; var _local16 = (new List() as List); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local16.add({pos:_local10, enemy:EnemyC}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local16.add({pos:_local10, enemy:EnemyB}); } while (true); level8 = {pattern:_local16, delay:2500, id:8}; var _local17 = (new List() as List); _local3 = 0; _local4 = 10; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local17.add({pos:_local10, enemy:EnemyC}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local17.add({pos:_local10, enemy:EnemyB}); } while (true); level9 = {pattern:_local17, delay:2500, id:9}; var _local18 = (new List() as List); _local18.add({pos:new Point(150, 100), enemy:BossA}); _local18.add({pos:new Point(150, 400), enemy:BossA}); _local18.add({pos:new Point(350, 100), enemy:BossA}); _local18.add({pos:new Point(350, 400), enemy:BossA}); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local18.add({pos:_local10, enemy:EnemyA}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local18.add({pos:_local10, enemy:EnemyB}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local18.add({pos:_local10, enemy:EnemyC}); } while (true); level10 = {pattern:_local18, delay:-1, id:10}; } override public function prepareLevels():void{ levels.add(level1); levels.add(level2); levels.add(level3); levels.add(level4); levels.add(level5); levels.add(level6); levels.add(level7); levels.add(level8); levels.add(level9); levels.add(level10); var _local1 = (new Bitmap(Assets.objects.get("Background01")) as Bitmap); ScreenManager.playScreen.setBackground(_local1); } } class BossC extends Enemy { public var spawnerSprite:BossCSprite; public var spawnTime:int; public var spawnEnemy:Object; public var spawnCount:int; public var currentSpawnTime:int; public var curanimateque:int; public var animatespeed:int; public function BossC(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); spawnTime = Config.bossSpawner.spawnTime; spawnCount = Config.bossSpawner.spawnCount; spawnEnemy = Config.bossSpawner.spawnEnemy; hitpoint = Config.bossSpawner.hitpoint; worth = Config.bossSpawner.worth; currentSpawnTime = 0; var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFF00); _local4.graphics.drawRect(-14, -14, 28, 28); hitbox = _local4; hitbox.alpha = 0; spawnerSprite = new BossCSprite(); inflictHitSprite.addChild(spawnerSprite.inflictGroup); animatespeed = 10; curanimateque = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; spawnerSprite.alpha = 0; container.addChild(hitbox); container.addChild(spawnerSprite); container.addChild(inflictHitSprite); if ((_arg3.x == 0)){ false; }; if (false){ container.x = ((Math.round(((Math.random() * boundary.width) - (container.width / 2))) + boundary.x) + (container.width / 2)); container.y = ((Math.round(((Math.random() * boundary.height) - (container.height / 2))) + boundary.y) + (container.height / 2)); } else { container.x = _arg3.x; container.y = _arg3.y; }; displayParent.addChild(container); } override public function update():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; var _local6:* = null; var _local7:int; var _local8 = (null as Enemy); if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); spawnerSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; spawnerSprite.alpha = 1; }; } else { if ((currentSpawnTime > spawnTime)){ currentSpawnTime = 0; _local1 = 0; _local2 = spawnCount; do { //unresolved if _local3 = _local1; _local1++; _local4 = (container.x + (Math.cos((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local5 = (container.y + (Math.sin((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); if (Std.is(spawnEnemy, Array)){ _local6 = Reflect.empty(); _local7 = Math.round((Math.random() * spawnEnemy.length)); if (!((_local7 == spawnEnemy.length))){ _local6 = spawnEnemy[_local7]; }; _local8 = (Type.createInstance(Type.toClass(_local6), [displayParent, boundary, new Point(_local4, _local5)]) as Enemy); MissionManager.currentMission.enemyList().push(_local8); }; } while (true); spawnerSprite.spawning(true); } else { if ((currentSpawnTime == 0)){ spawnerSprite.spawning(false); }; currentSpawnTime = (currentSpawnTime + 1); }; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ spawnerSprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.bossCScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class Label { public var tf:TextFormat; public var t:TextField; public var renderHTML:Boolean; public var labelStyle:Object; public function Label(_arg1:String=undefined, _arg2:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; tf = new TextFormat(); t = new TextField(); t.type = TextFieldType.DYNAMIC; _arg2 = ((_arg2 == null)) ? {color:0} : _arg2; setStyle(_arg2); updateLabel(_arg1); } public function updateLabel(_arg1:String, _arg2:Object=undefined, _arg3:Object=undefined):void{ var _local4:Boolean = ((_arg2 == null)) ? false : _arg2; var _local5:Boolean = ((_arg3 == null)) ? false : true; if (_local5){ setStyle(_arg3); }; if (renderHTML){ t.htmlText = (_local4) ? Std.string(((t.htmlText + _arg1) as String)) : _arg1; } else { t.text = (_local4) ? Std.string(((t.text + _arg1) as String)) : _arg1; }; } public function setStyle(_arg1:Object):void{ labelStyle = _arg1; var _local2 = ((Reflect.hasField(labelStyle, "font")) ? (Reflect.field(labelStyle, "font") as String) : "Verdana" as String); var _local3:int = (Reflect.hasField(labelStyle, "color")) ? Reflect.field(labelStyle, "color") : 0; var _local4:int = (Reflect.hasField(labelStyle, "size")) ? Reflect.field(labelStyle, "size") : 10; var _local5:Boolean = (Reflect.hasField(labelStyle, "background")) ? Reflect.field(labelStyle, "background") : false; var _local6:int = (Reflect.hasField(labelStyle, "backgroundColor")) ? Reflect.field(labelStyle, "backgroundColor") : 0xFFFFFF; var _local7:Number = (Reflect.hasField(labelStyle, "width")) ? Reflect.field(labelStyle, "width") : 300; var _local8:Number = (Reflect.hasField(labelStyle, "height")) ? Reflect.field(labelStyle, "height") : 50; var _local9:Boolean = (Reflect.hasField(labelStyle, "embedFonts")) ? Reflect.field(labelStyle, "embedFonts") : false; var _local10:Boolean = (Reflect.hasField(labelStyle, "wordwrap")) ? Reflect.field(labelStyle, "wordwrap") : true; var _local11:Boolean = (Reflect.hasField(labelStyle, "selectable")) ? Reflect.field(labelStyle, "selectable") : true; var _local12:Boolean = (Reflect.hasField(labelStyle, "multiline")) ? Reflect.field(labelStyle, "multiline") : true; var _local13 = ((Reflect.hasField(labelStyle, "autosize")) ? (Reflect.field(labelStyle, "autosize") as String) : TextFieldAutoSize.NONE as String); var _local14 = ((Reflect.hasField(labelStyle, "align")) ? (Reflect.field(labelStyle, "align") as String) : TextFormatAlign.LEFT as String); var _local15:Boolean = (Reflect.hasField(labelStyle, "border")) ? Reflect.field(labelStyle, "border") : false; var _local16:int = (Reflect.hasField(labelStyle, "borderColor")) ? Reflect.field(labelStyle, "borderColor") : 0; var _local17:Boolean = (Reflect.hasField(labelStyle, "bold")) ? Reflect.field(labelStyle, "bold") : false; renderHTML = (Reflect.hasField(labelStyle, "html")) ? Reflect.field(labelStyle, "html") : true; tf.font = _local2; tf.color = _local3; tf.size = _local4; tf.align = _local14; tf.bold = _local17; t.defaultTextFormat = tf; t.embedFonts = _local9; t.gridFitType = GridFitType.PIXEL; t.background = _local5; t.backgroundColor = _local6; t.width = _local7; t.height = _local8; t.selectable = _local11; t.multiline = _local12; t.autoSize = _local13; t.border = _local15; t.borderColor = _local16; t.wordWrap = _local10; } public function getTextField():TextField{ return (t); } } class ProjectileJ extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileJ(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); speed = 12; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); maxDistance = 300; fadeSteps = 5; useTarget = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 6, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 12, 6), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -3; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectileJBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class ProjectileI extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileI(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); speed = 10; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); useTarget = true; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 4, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 12, 4), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -2; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectileGBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class Assets { public static var objects:Hash; public static var classes:Hash; public function Assets():void{ if (Boot_BA08CD.skip_constructor){ return; }; } } class Input { public var tf:TextFormat; public var t:TextField; public var labelStyle:Object; public function Input(_arg1:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; tf = new TextFormat(); t = new TextField(); t.autoSize = TextFieldAutoSize.NONE; t.type = TextFieldType.INPUT; setStyle(_arg1); update(""); } public function update(_arg1:String=undefined):void{ if (!((_arg1 == (null as String)))){ t.text = _arg1; }; } public function setStyle(_arg1:Object):void{ labelStyle = _arg1; var _local2 = ((Reflect.hasField(labelStyle, "font")) ? (Reflect.field(labelStyle, "font") as String) : "Verdana" as String); var _local3:int = (Reflect.hasField(labelStyle, "color")) ? Reflect.field(labelStyle, "color") : 0; var _local4:int = (Reflect.hasField(labelStyle, "size")) ? Reflect.field(labelStyle, "size") : 10; var _local5:Boolean = (Reflect.hasField(labelStyle, "background")) ? Reflect.field(labelStyle, "background") : false; var _local6:int = (Reflect.hasField(labelStyle, "backgroundColor")) ? Reflect.field(labelStyle, "backgroundColor") : 0xFFFFFF; var _local7:Number = (Reflect.hasField(labelStyle, "width")) ? Reflect.field(labelStyle, "width") : 300; var _local8:Number = (Reflect.hasField(labelStyle, "height")) ? Reflect.field(labelStyle, "height") : 50; var _local9:Boolean = (Reflect.hasField(labelStyle, "embedFonts")) ? Reflect.field(labelStyle, "embedFonts") : false; var _local10:Boolean = (Reflect.hasField(labelStyle, "selectable")) ? Reflect.field(labelStyle, "selectable") : true; var _local11:Boolean = (Reflect.hasField(labelStyle, "password")) ? Reflect.field(labelStyle, "password") : false; var _local12:Boolean = (Reflect.hasField(labelStyle, "multiline")) ? Reflect.field(labelStyle, "multiline") : false; var _local13:int = (Reflect.hasField(labelStyle, "maxchars")) ? Reflect.field(labelStyle, "maxchars") : 30; var _local14:Boolean = (Reflect.hasField(labelStyle, "border")) ? Reflect.field(labelStyle, "border") : false; var _local15:int = (Reflect.hasField(labelStyle, "borderColor")) ? Reflect.field(labelStyle, "borderColor") : 0; var _local16 = ((Reflect.hasField(labelStyle, "align")) ? (Reflect.field(labelStyle, "align") as String) : TextFormatAlign.LEFT as String); var _local17 = ((Reflect.hasField(labelStyle, "restrict")) ? (Reflect.field(labelStyle, "restrict") as String) : (null as String) as String); tf.font = _local2; tf.color = _local3; tf.size = _local4; tf.align = _local16; t.embedFonts = _local9; t.gridFitType = GridFitType.PIXEL; t.background = _local5; t.backgroundColor = _local6; t.width = _local7; t.height = _local8; t.selectable = _local10; t.displayAsPassword = _local11; t.tabEnabled = true; t.border = _local14; t.borderColor = _local15; t.mouseEnabled = true; t.alwaysShowSelection = true; t.multiline = _local12; t.maxChars = _local13; t.restrict = _local17; t.defaultTextFormat = tf; } public function getTextField():TextField{ return (t); } } class SpawnerB extends Enemy { public var spawnerSprite:SpawnerSprite; public var spawnTime:int; public var spawnEnemy:Object; public var spawnCount:int; public var currentSpawnTime:int; public var curanimateque:int; public var animatespeed:int; public function SpawnerB(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); spawnTime = Config.spawnerB.spawnTime; spawnCount = Config.spawnerB.spawnCount; spawnEnemy = Config.spawnerB.spawnEnemy; hitpoint = Config.spawnerB.hitpoint; worth = Config.spawnerB.worth; currentSpawnTime = 0; var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFF00); _local4.graphics.drawRect(0, 0, 16, 16); hitbox = _local4; hitbox.x = (-(hitbox.width) / 2); hitbox.y = (-(hitbox.height) / 2); hitbox.alpha = 0; spawnerSprite = new SpawnerSprite(); inflictHitSprite.addChild(spawnerSprite.inflictGroup); animatespeed = 10; curanimateque = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; spawnerSprite.alpha = 0; container.addChild(hitbox); container.addChild(spawnerSprite); container.addChild(inflictHitSprite); if ((_arg3.x == 0)){ false; }; if (false){ container.x = ((Math.round(((Math.random() * boundary.width) - (container.width / 2))) + boundary.x) + (container.width / 2)); container.y = ((Math.round(((Math.random() * boundary.height) - (container.height / 2))) + boundary.y) + (container.height / 2)); } else { container.x = _arg3.x; container.y = _arg3.y; }; displayParent.addChild(container); } override public function update():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; var _local6 = (null as Enemy); if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); spawnerSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; spawnerSprite.alpha = 1; }; } else { if ((currentSpawnTime > spawnTime)){ currentSpawnTime = 0; _local1 = 0; _local2 = spawnCount; do { //unresolved if _local3 = _local1; _local1++; _local4 = (container.x + (Math.cos((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local5 = (container.y + (Math.sin((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local6 = (Type.createInstance(Type.toClass(spawnEnemy), [displayParent, boundary, new Point(_local4, _local5)]) as Enemy); MissionManager.currentMission.enemyList().push(_local6); } while (true); spawnerSprite.spawning(true); } else { if ((currentSpawnTime == 0)){ spawnerSprite.spawning(false); }; currentSpawnTime = (currentSpawnTime + 1); }; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ spawnerSprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.spawnerScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class InstructionsScreen extends Screen { public var prevScreen:String; public var pages:Label; public var page3:Sprite; public var page2:Sprite; public var page1:Sprite; public var openpage3:ButtonTile; public var openpage2:ButtonTile; public var openpage1:ButtonTile; public var navigation:Sprite; public var dialogBackground:Sprite; public var background:Sprite; public var backToMenuButton:ButtonTile; public function InstructionsScreen():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new TitleKroeger() as Font); var _local2:* = {align:TextFormatAlign.CENTER, height:9, width:48, selectable:false, embedFonts:true, color:0xFFFFFF, size:8, font:_local1.fontName}; pages = new Label("PAGES:", _local2); background = new Sprite(); background.addChild(new Bitmap(Assets.objects.get("Background00"))); dialogBackground = new Sprite(); dialogBackground.addChild(new Bitmap(Assets.objects.get("InstructionsDialog"))); page1 = new Sprite(); page1.addChild(new Bitmap(Assets.objects.get("ControlInstructions"))); page2 = new Sprite(); page2.addChild(new Bitmap(Assets.objects.get("TechUIInstructions"))); page3 = new Sprite(); page3.addChild(new Bitmap(Assets.objects.get("HudBarsInstructions"))); var _local3 = (new BitmapData(149, 120, true) as BitmapData); _local3.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(179, 384, 149, 120), new Point(0, 0)); backToMenuButton = new ButtonTile(_local3, 149, 30); var _local4 = (new BitmapData(9, 45, true) as BitmapData); _local4.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(105, 384, 9, 45), new Point(0, 0)); openpage1 = new ButtonTile(_local4, 9, 9, true); var _local5 = (new BitmapData(9, 45, true) as BitmapData); _local5.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(114, 384, 9, 45), new Point(0, 0)); openpage2 = new ButtonTile(_local5, 9, 9, true); var _local6 = (new BitmapData(9, 45, true) as BitmapData); _local6.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(123, 384, 9, 45), new Point(0, 0)); openpage3 = new ButtonTile(_local6, 9, 9, true); navigation = new Sprite(); dialogBackground.x = ((500 - dialogBackground.width) / 2); dialogBackground.y = ((500 - dialogBackground.height) / 2); openpage1.x = pages.getTextField().width; openpage2.x = ((openpage1.x + openpage1.width) + 3); openpage3.x = ((openpage2.x + openpage2.width) + 3); var _local7:* = 3; openpage3.y = _local7; openpage2.y = _local7; openpage1.y = _local7; openpage1.setSelected(); navigation.x = ((dialogBackground.width - navigation.width) - 97); navigation.y = 16; page2.alpha = 0; page3.alpha = 0; backToMenuButton.x = ((500 - backToMenuButton.width) / 2); backToMenuButton.y = 450; navigation.addChild(openpage1); navigation.addChild(openpage2); navigation.addChild(openpage3); navigation.addChild(pages.getTextField()); dialogBackground.addChild(page1); dialogBackground.addChild(page2); dialogBackground.addChild(page3); dialogBackground.addChild(navigation); container.addChild(background); container.addChild(dialogBackground); container.addChild(backToMenuButton); backToMenuButton.click = onBackToMenuClick; openpage1.click = onOpenPage1Click; openpage2.click = onOpenPage2Click; openpage3.click = onOpenPage3Click; } public function onOpenPage3Click():void{ openpage3.setSelected(); openpage2.setUnselected(); openpage1.setUnselected(); Tweener.addTween(page3, {transition:"Linear", time:0.5, alpha:1}); Tweener.addTween(page2, {transition:"Linear", time:0.5, alpha:0}); Tweener.addTween(page1, {transition:"Linear", time:0.5, alpha:0}); } public function onOpenPage2Click():void{ openpage3.setUnselected(); openpage2.setSelected(); openpage1.setUnselected(); Tweener.addTween(page3, {transition:"Linear", time:0.5, alpha:0}); Tweener.addTween(page2, {transition:"Linear", time:0.5, alpha:1}); Tweener.addTween(page1, {transition:"Linear", time:0.5, alpha:0}); } public function onOpenPage1Click():void{ openpage3.setUnselected(); openpage2.setUnselected(); openpage1.setSelected(); Tweener.addTween(page3, {transition:"Linear", time:0.5, alpha:0}); Tweener.addTween(page2, {transition:"Linear", time:0.5, alpha:0}); Tweener.addTween(page1, {transition:"Linear", time:0.5, alpha:1}); } public function onBackToMenuClick():void{ var _local1 = (null as String); if (!((prevScreen == ""))){ ScreenManager.showScreen(prevScreen); _local1 = (prevScreen as String); if (_local1 == "playresume"){ ScreenManager.showDialog("menuNoInit"); //unresolved jump }; } else { ScreenManager.showScreen("title"); }; onOpenPage1Click(); } } class EnemyGSprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function EnemyGSprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(14, 14, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -7; core.y = -7; var _local2 = (new BitmapData(0x0100, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(192, 64, 0x0100, 32), new Point(0, 0)); equip = new MovieTile(_local2, 32, 32); equip.x = -16; equip.y = -16; equipframes = equip.frames; var _local3 = (new BitmapData(14, 14, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); var _local4:int; var _local5:int = 14; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 14; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -7; inflictCore.y = -7; var _local10 = (new BitmapData(0x0100, 32, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(192, 64, 0x0100, 32), new Point(0, 0)); _local4 = 0; _local5 = 192; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 32; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 32, 32); inflictEquip.x = -16; inflictEquip.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function idle():void{ equip.goToFrame(0); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } class SoundManager { public static var ambientChannel:SoundChannel; public function SoundManager():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function playAmbient(_arg1:String):void{ var _local3 = (null as Sound); if (SoundManager.isAmbientPlaying()){ SoundManager.ambientChannel.stop(); SoundManager.ambientChannel = (null as SoundChannel); }; var _local2 = (_arg1 as String); if (_local2 == "mainmenu"){ _local3 = (Type.createInstance(Assets.classes.get("TitleAmbient"), []) as Sound); SoundManager.ambientChannel = _local3.play(0, 10000, new SoundTransform(Config.ambientVolume)); } else { if (_local2 == "mission"){ _local3 = (Type.createInstance(Assets.classes.get("PlayTrack"), []) as Sound); SoundManager.ambientChannel = _local3.play(0, 10000, new SoundTransform(Config.ambientVolume)); //unresolved jump }; }; } public static function isAmbientPlaying():Boolean{ var _local1:Boolean; if (!((SoundManager.ambientChannel == (null as SoundChannel)))){ _local1 = true; }; return (_local1); } public static function stopAmbient():void{ if (SoundManager.isAmbientPlaying()){ SoundManager.ambientChannel.stop(); SoundManager.ambientChannel = (null as SoundChannel); }; } public static function playSFX(_arg1:String):void{ var _local2 = (null as Sound); var _local3 = (null as SoundChannel); if (!!((_arg1 == ""))){ true; }; if (true){ _local2 = (Type.createInstance(Assets.classes.get(_arg1), []) as Sound); _local3 = (_local2.play(0, 1, new SoundTransform(Config.sfxVolume)) as SoundChannel); _local3.addEventListener(Event.SOUND_COMPLETE, SoundManager.stopSFXChannelEvent); }; } public static function stopSFX(_arg1:SoundChannel):void{ _arg1.stop(); if (_arg1.hasEventListener(Event.SOUND_COMPLETE)){ _arg1.removeEventListener(Event.SOUND_COMPLETE, SoundManager.stopSFXChannelEvent); }; _arg1 = ((null as SoundChannel) as SoundChannel); } public static function stopSFXChannelEvent(_arg1:Event):void{ SoundManager.stopSFX(_arg1.currentTarget); } } class Trace { public static var container:Sprite; public static var panel:Sprite; public static var textfield:TextField; public static var textformat:TextFormat; public static var watcherContainer:Sprite; public static var scroller:Sprite; public static var scrollbar:Sprite; public static var bg:Sprite; public static var fullscrbutton:SimpleButton; public static var hidebutton:SimpleButton; public static var showbutton:SimpleButton; public static var margin:int; public function Trace():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function use(_arg1:Sprite=undefined):void{ var _local3:* = null; var _local2 = (((_arg1 == (null as Sprite))) ? (Lib.current as Sprite) : _arg1 as Sprite); Trace.margin = 5; Trace.container = ((Trace.container == (null as Sprite))) ? new Sprite() : Trace.container; if (_local2.contains(Trace.container)){ _local2.swapChildren(Trace.container, _local2.getChildAt((_local2.numChildren - 1))); } else { Trace.panel = new Sprite(); Trace.bg = new Sprite(); Trace.bg.graphics.beginFill(0, 0.5); Trace.bg.graphics.drawRoundRect(Trace.margin, Trace.margin, (Lib.current.stage.stageWidth - (Trace.margin * 2)), ((Lib.current.stage.stageHeight / 2) - (Trace.margin * 2)), 7, 7); _local3 = 0; Trace.bg.y = _local3; Trace.bg.x = _local3; Trace.textformat = new TextFormat("arial", 10, 0xFFFFFF, null, null, null, "", "", "left", 5, 5, null, null); Trace.buildHideButton(); Trace.buildShowButton(); Trace.hidebutton.x = (Trace.margin * 2); Trace.hidebutton.y = (((Trace.bg.height + Trace.bg.y) - Trace.hidebutton.height) - Trace.margin); Trace.showbutton.x = 0; Trace.showbutton.y = 0; Trace.textfield = new TextField(); Trace.textfield.type = TextFieldType.DYNAMIC; Trace.textfield.selectable = true; Trace.textfield.wordWrap = true; Trace.textfield.multiline = true; Trace.textfield.width = Trace.bg.width; Trace.textfield.height = ((Trace.bg.height - Trace.hidebutton.height) - Trace.margin); Trace.textfield.defaultTextFormat = Trace.textformat; Trace.textfield.htmlText = ""; _local3 = Trace.margin; Trace.textfield.y = _local3; Trace.textfield.x = _local3; Trace.panel.addChild(Trace.bg); Trace.panel.addChild(Trace.textfield); Trace.panel.addChild(Trace.hidebutton); Trace.panel.visible = false; Trace.watcherContainer = new Sprite(); Trace.watcherContainer.x = (Trace.showbutton.width + Trace.margin); Trace.container.addChild(Trace.panel); Trace.container.addChild(Trace.showbutton); Trace.container.addChild(Trace.watcherContainer); _local2.addChild(Trace.container); Trace.hidebutton.addEventListener(MouseEvent.CLICK, Trace.hidePanel); Trace.showbutton.addEventListener(MouseEvent.CLICK, Trace.showPanel); Log.trace = Trace.doTrace; }; } public static function buildHideButton():void{ var _local1 = (new TextField() as TextField); _local1.defaultTextFormat = Trace.textformat; _local1.type = TextFieldType.DYNAMIC; _local1.selectable = false; _local1.autoSize = TextFieldAutoSize.LEFT; _local1.border = true; _local1.borderColor = -1; _local1.background = true; _local1.backgroundColor = 0; _local1.text = "hide"; var _local2 = (new TextField() as TextField); _local2.defaultTextFormat = Trace.textformat; _local2.type = TextFieldType.DYNAMIC; _local2.selectable = false; _local2.autoSize = TextFieldAutoSize.LEFT; _local2.border = true; _local2.borderColor = -16711936; _local1.background = true; _local1.backgroundColor = 0; _local2.text = "hide"; var _local3 = (new TextField() as TextField); _local3.defaultTextFormat = Trace.textformat; _local3.type = TextFieldType.DYNAMIC; _local3.selectable = false; _local3.autoSize = TextFieldAutoSize.LEFT; _local3.border = true; _local3.borderColor = -256; _local1.background = true; _local1.backgroundColor = 0; _local3.text = "hide"; var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0); _local4.graphics.drawRect(0, 0, _local1.width, _local1.height); Trace.hidebutton = new SimpleButton(); Trace.hidebutton.upState = _local1; Trace.hidebutton.downState = _local2; Trace.hidebutton.overState = _local3; Trace.hidebutton.hitTestState = _local4; } public static function buildShowButton():void{ var _local1 = (new TextField() as TextField); _local1.defaultTextFormat = Trace.textformat; _local1.type = TextFieldType.DYNAMIC; _local1.selectable = false; _local1.autoSize = TextFieldAutoSize.LEFT; _local1.border = true; _local1.borderColor = -1; _local1.background = true; _local1.backgroundColor = 0; _local1.text = "show"; var _local2 = (new TextField() as TextField); _local2.type = TextFieldType.DYNAMIC; _local2.defaultTextFormat = Trace.textformat; _local2.selectable = false; _local2.autoSize = TextFieldAutoSize.LEFT; _local2.border = true; _local2.borderColor = -16711936; _local1.background = true; _local1.backgroundColor = 0; _local2.text = "show"; var _local3 = (new TextField() as TextField); _local3.defaultTextFormat = Trace.textformat; _local3.type = TextFieldType.DYNAMIC; _local3.selectable = false; _local3.autoSize = TextFieldAutoSize.LEFT; _local3.border = true; _local3.borderColor = -256; _local1.background = true; _local1.backgroundColor = 0; _local3.text = "show"; var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0); _local4.graphics.drawRect(0, 0, _local1.width, _local1.height); Trace.showbutton = new SimpleButton(); Trace.showbutton.upState = _local1; Trace.showbutton.downState = _local2; Trace.showbutton.overState = _local3; Trace.showbutton.hitTestState = _local4; } public static function toggleVisible(_arg1:Object=undefined):void{ if ((Trace.panel.visible == true)){ Trace.panel.visible = false; } else { Trace.panel.visible = true; }; if (!((_arg1 == null))){ Trace.panel.visible = _arg1; }; Trace.showbutton.visible = !(Trace.panel.visible); Trace.watcherContainer.visible = Trace.showbutton.visible; } public static function hidePanel(_arg1:MouseEvent):void{ Trace.panel.visible = false; Trace.showbutton.visible = !(Trace.panel.visible); Trace.watcherContainer.visible = Trace.showbutton.visible; } public static function showPanel(_arg1:MouseEvent):void{ Trace.panel.visible = true; Trace.showbutton.visible = !(Trace.panel.visible); Trace.watcherContainer.visible = Trace.showbutton.visible; } public static function doTrace(_arg1:Object, _arg2:Object=undefined):void{ var _local3:Boolean = (Trace.textfield.scrollV == Trace.textfield.maxScrollV); Trace.textfield.htmlText = ((Trace.textfield.htmlText + (((((((((((("<b>" + (_arg2.fileName as String)) as String) + "(") as String) + _arg2.lineNumber) as String) + "):</b> ") as String) + Std.string(_arg1)) as String) + "<br>") as String)) as String); if (_local3){ Trace.textfield.scrollV = Trace.textfield.maxScrollV; }; Trace.toggleVisible(true); } public static function addToWatcher(_arg1:DisplayObject):void{ if ((Trace.watcherContainer.numChildren < 1)){ Trace.watcherContainer.addChild(_arg1); }; } public static function removeFromWatcher():void{ Trace.watcherContainer.removeChildAt(0); } } class SpawnerSprite extends Sprite { public var spawnCore:Bitmap; public var inflictGroup:Sprite; public var inflictCore:Bitmap; public var equipframes:int; public var core:MovieTile; public var container:Sprite; public function SpawnerSprite():void{ var _local5:int; var _local6:int; var _local7:int; var _local8:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(192, 32, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(32, 128, 192, 32), new Point(0, 0)); core = new MovieTile(_local1, 32, 32); core.x = -16; core.y = -16; var _local2 = (new BitmapData(32, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 128, 32, 32), new Point(0, 0)); var _local3:int; var _local4:int = 32; do { //unresolved if _local5 = _local3; _local3++; _local6 = 0; _local7 = 32; do { //unresolved if _local8 = _local6; _local6++; if ((_local2.getPixel32(_local5, _local8) > 0)){ _local2.setPixel32(_local5, _local8, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local2); inflictCore.x = -16; inflictCore.y = -16; var _local9 = (new BitmapData(32, 32, true) as BitmapData); _local9.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 128, 32, 32), new Point(0, 0)); spawnCore = new Bitmap(_local9); spawnCore.x = -16; spawnCore.y = -16; spawnCore.visible = false; inflictGroup = new Sprite(); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(core); container.addChild(spawnCore); addChild(container); } public function spawning(_arg1:Boolean):void{ spawnCore.visible = _arg1; } public function animate():void{ core.nextFrame(); } } class SpecialPropertyModifier { public var modifyValues:Object; public var getValue:Object; public function SpecialPropertyModifier(_arg1:Object=undefined, _arg2:Object=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; modifyValues = _arg1; getValue = _arg2; } public function toString():String{ var _local1 = ("" as String); _local1 = (((_local1 + "[SpecialPropertyModifier ") as String) as String); _local1 = (((_local1 + (("modifyValues:" + Std.string(modifyValues)) as String)) as String) as String); _local1 = (((_local1 + ", ") as String) as String); _local1 = (((_local1 + (("getValue:" + Std.string(getValue)) as String)) as String) as String); _local1 = (((_local1 + "]") as String) as String); return (_local1); } } class Type { public function Type():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function toEnum(_arg1:Object):Class{ var _local3:* = null; var _local4:* = null; try { if (!(_arg1.__isenum)){ return ((null as Class)); }; return (_arg1); } catch(#InvalidMultinameIndex#) { _local4 = !NULL!; _local3 = _local4; }; return ((null as Class)); } public static function toClass(_arg1:Object):Class{ var _local3:* = null; var _local4:* = null; try { if (!(_arg1.hasOwnProperty("prototype"))){ return ((null as Class)); }; return (_arg1); } catch(#InvalidMultinameIndex#) { _local4 = !NULL!; _local3 = _local4; }; return ((null as Class)); } public static function getClass(_arg1:Object):Class{ var _local2 = (getQualifiedClassName(_arg1) as String); if (!(_local2 == "null")){ true; if (!(_local2 == "Object")){ true; if (!(_local2 == "int")){ true; if (!(_local2 == "Number")){ true; }; }; }; }; if (true){ return ((null as Class)); }; if (_arg1.hasOwnProperty("prototype")){ return ((null as Class)); }; var _local3:* = (getDefinitionByName(_local2) as Class); if (_local3.__isenum){ return ((null as Class)); }; return (_local3); } public static function getEnum(_arg1:Object):Class{ var _local2 = (getQualifiedClassName(_arg1) as String); if (!(_local2 == "null")){ true; }; if (true){ return ((null as Class)); }; if (_arg1.hasOwnProperty("prototype")){ return ((null as Class)); }; var _local3:* = (getDefinitionByName(_local2) as Class); if (!(_local3.__isenum)){ return ((null as Class)); }; return (_local3); } public static function getSuperClass(_arg1:Class):Class{ var _local2 = (getQualifiedSuperclassName(_arg1) as String); if ((_local2 == "Object")){ return ((null as Class)); }; return ((getDefinitionByName(_local2) as Class)); } public static function getClassName(_arg1:Class):String{ if ((_arg1 == (null as Class))){ return ((null as String)); }; var _local2 = (getQualifiedClassName(_arg1) as String); return (_local2.split("::").join(".")); } public static function getEnumName(_arg1:Class):String{ var _local2 = (getQualifiedClassName(_arg1) as String); return (_local2); } public static function resolveClass(_arg1:String):Class{ var _local3 = (null as Class); var _local4:* = null; var _local5:* = null; try { _local3 = ((getDefinitionByName(_arg1) as Class) as Class); if (_local3.__isenum){ return ((null as Class)); }; return (_local3); } catch(#InvalidMultinameIndex#) { _local5 = !NULL!; _local4 = _local5; return ((null as Class)); }; if (!(_local3 == (null as Class))){ true; }; if (true){ return ((null as Class)); } else { null; }; return (_local3); } public static function resolveEnum(_arg1:String):Class{ var _local3:* = null; var _local4:* = null; var _local5:* = null; try { _local3 = getDefinitionByName(_arg1); if (!(_local3.__isenum)){ return ((null as Class)); }; return (_local3); } catch(#InvalidMultinameIndex#) { _local5 = !NULL!; _local4 = _local5; return ((null as Class)); }; if (!(_local3 == null)){ true; }; if (true){ return ((null as Class)); } else { null; }; return (_local3); } public static function createInstance(_arg1:Class, _arg2:Array):Object{ var _local3:int = _arg2.length; if (_local3 == 0){ } else { if (_local3 == 1){ } else { if (_local3 == 2){ } else { if (_local3 == 3){ } else { if (_local3 == 4){ } else { if (_local3 == 5){ } else { throw ("Too many arguments"); }; }; }; }; }; }; return (!NULL!); } public static function createEmptyInstance(_arg1:Class):Object{ var _local3 = (null as Object); var _local4:* = null; var _local5:* = null; try { Boot_BA08CD.skip_constructor = true; _local3 = (new (_arg1) as Object); Boot_BA08CD.skip_constructor = false; return (_local3); } catch(#InvalidMultinameIndex#) { _local5 = !NULL!; _local4 = _local5; Boot_BA08CD.skip_constructor = false; throw (_local4); }; return ((null as Object)); } public static function describe(_arg1:Object, _arg2:Boolean):Array{ var _local8:int; var _local3 = (new Array() as Array); var _local4:* = describeType(_arg1); if (_arg2){ _local4 = _local4.factory; }; var _local5:* = _local4.child("method"); var _local6:int; var _local7:int = _local5.length(); do { //unresolved if _local8 = _local6; _local6++; _local3.push(Std.string(_local5[_local8].attribute("name"))); } while (true); var _local9:* = _local4.child("variable"); _local6 = 0; _local7 = _local9.length(); do { //unresolved if _local8 = _local6; _local6++; _local3.push(Std.string(_local9[_local8].attribute("name"))); } while (true); return (_local3); } public static function getInstanceFields(_arg1:Class):Array{ return (Type.describe(_arg1, true)); } public static function getClassFields(_arg1:Class):Array{ var _local2 = (Type.describe(_arg1, false) as Array); _local2.remove("__construct__"); return (_local2); } public static function getEnumConstructs(_arg1:Class):Array{ return (Type.describe(_arg1, false)); } public static function typeof(_arg1:Object):ValueType{ var _local5:* = null; var _local6:* = null; var _local7:* = null; var _local3 = (getQualifiedClassName(_arg1) as String); var _local4 = (_local3 as String); if (_local4 == "null"){ return (ValueType.TNull); } else { if (_local4 == "void"){ return (ValueType.TNull); } else { if (_local4 == "int"){ return (ValueType.TInt); } else { if (_local4 == "Number"){ return (ValueType.TFloat); } else { if (_local4 == "Boolean"){ return (ValueType.TBool); } else { if (_local4 == "Object"){ return (ValueType.TObject); } else { try { _local5 = getDefinitionByName(_local3); if (_arg1.hasOwnProperty("prototype")){ return (ValueType.TObject); }; if (_local5.__isenum){ return (ValueType.TEnum(_local5)); }; return (ValueType.TClass(_local5)); } catch(#InvalidMultinameIndex#) { _local7 = !NULL!; _local6 = _local7; if (!(_local3 == "builtin.as$0::MethodClosure")){ true; }; if (true){ return (ValueType.TFunction); }; return (((_local5 == null)) ? ValueType.TFunction : ValueType.TClass(_local5)); }; }; }; }; }; }; }; return ((null as ValueType)); } public static function enumEq(_arg1:Object, _arg2:Object):Boolean{ var _local4:int; var _local5:int; var _local6:int; var _local7:* = null; var _local8:* = null; if ((_arg1 == _arg2)){ return (true); }; try { if (!((_arg1.tag == _arg2.tag))){ return (false); }; _local4 = 0; _local5 = _arg1.params.length; do { //unresolved if _local6 = _local4; _local4++; if (!(Type.enumEq(_arg1.params[_local6], _arg2.params[_local6]))){ return (false); }; } while (true); } catch(#InvalidMultinameIndex#) { _local8 = !NULL!; _local7 = _local8; return (false); }; return (true); } public static function enumConstructor(_arg1:Object):String{ return (_arg1.tag); } public static function enumParameters(_arg1:Object):Array{ return (((_arg1.params == null)) ? [] : _arg1.params); } } class Unserializer { public var scache:Array; public var resolver:Object; public var pos:int; public var length:int; public var cache:Array; public var buf:String; public static var DEFAULT_RESOLVER:Object; public function Unserializer(_arg1:String=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; buf = _arg1; length = _arg1.length; pos = 0; scache = new Array(); cache = new Array(); setResolver(Unserializer.DEFAULT_RESOLVER); } public function unserializeObject(_arg1:Object):void{ var _local2 = (null as String); var _local3:* = null; do { //unresolved if if ((pos >= length)){ throw ("Invalid object"); }; if ((buf.charCodeAt(pos) == 103)){ break; }; _local2 = (unserialize() as String); if (!(Std.is(_local2, String))){ throw ("Invalid object key"); }; _local3 = unserialize(); Reflect.setField(_arg1, _local2, _local3); } while (true); pos = (pos + 1); } public function unserialize():Object{ var _local2:* = null; var _local3:int; var _local4 = (null as String); var _local5 = (null as Array); var _local6 = (null as Class); var _local7 = (null as String); var _local8:* = null; var _local9 = (null as List); var _local10 = (null as Hash); var _local11 = (null as IntHash); var _local12 = (null as Date); _local2 = pos; pos = (_local2 + 1); var _local1:* = buf.charCodeAt(_local2); if (_local1 == 110){ return (null); } else { if (_local1 == 116){ return (true); } else { if (_local1 == 102){ return (false); } else { if (_local1 == 122){ return (0); } else { if (_local1 == 105){ return (readDigits()); } else { if (_local1 == 100){ _local3 = pos; do { //unresolved if _local2 = buf.charCodeAt(pos); if ((_local2 >= 43)){ false; }; if (!false){ true; if (!(_local2 == 101)){ true; }; }; if (true){ pos = (pos + 1); } else { break; }; } while (true); return (Std.parseFloat(buf.substr(_local3, (pos - _local3)))); } else { if (_local1 == 121){ _local3 = readDigits(); _local2 = pos; pos = (_local2 + 1); if (!!((buf.charAt(_local2) == ":"))){ true; }; if (true){ throw ("Invalid string length"); }; _local4 = (buf.substr(pos, _local3) as String); pos = (pos + _local3); _local4 = (StringTools.urlDecode(_local4) as String); scache.push(_local4); return (_local4); } else { if (_local1 == 107){ return (Math.NaN); } else { if (_local1 == 109){ return (Math.NEGATIVE_INFINITY); } else { if (_local1 == 112){ return (Math.POSITIVE_INFINITY); } else { if (_local1 == 97){ _local5 = (new Array() as Array); cache.push(_local5); do { //unresolved if _local2 = buf.charCodeAt(pos); if ((_local2 == 104)){ pos = (pos + 1); break; }; if ((_local2 == 117)){ pos = (pos + 1); _local3 = readDigits(); _local5[((_local5.length + _local3) - 1)] = null; } else { _local5.push(unserialize()); }; } while (true); return (_local5); } else { if (_local1 == 111){ _local2 = Reflect.empty(); cache.push(_local2); unserializeObject(_local2); return (_local2); } else { if (_local1 == 114){ _local3 = readDigits(); if (!(_local3 < 0)){ true; }; if (true){ throw ("Invalid reference"); }; return (cache[_local3]); } else { if (_local1 == 82){ _local3 = readDigits(); if (!(_local3 < 0)){ true; }; if (true){ throw ("Invalid string reference"); }; return ((scache[_local3] as String)); } else { if (_local1 == 120){ throw (unserialize()); } else { if (_local1 == 99){ _local4 = (unserialize() as String); _local6 = (resolver.resolveClass(_local4) as Class); if ((_local6 == (null as Class))){ throw ((("Class not found " + _local4) as String)); }; _local2 = Type.createEmptyInstance(_local6); cache.push(_local2); unserializeObject(_local2); return (_local2); } else { if (_local1 == 119){ _local4 = (unserialize() as String); _local6 = (resolver.resolveEnum(_local4) as Class); if ((_local6 == (null as Class))){ throw ((("Enum not found " + _local4) as String)); }; _local7 = (unserialize() as String); if (!(Std.is(_local7, String))){ throw ("Invalid enum tag"); }; _local2 = Reflect.field(_local6, _local7); if ((_local2 == null)){ throw ((((((("Unknown enum tag " + _local4) as String) + ".") as String) + _local7) as String)); }; _local8 = pos; pos = (_local8 + 1); if (!((buf.charCodeAt(_local8) == 58))){ throw ("Invalid enum format"); }; _local3 = readDigits(); if ((_local3 == 0)){ cache.push(_local2); return (_local2); }; _local5 = (new Array() as Array); do { //unresolved if _local5.push(unserialize()); _local3 = (_local3 - 1); } while (true); _local8 = Reflect.callMethod(_local6, _local2, _local5); cache.push(_local8); return (_local8); } else { if (_local1 == 108){ _local9 = (new List() as List); do { //unresolved if _local9.add(unserialize()); } while (true); pos = (pos + 1); return (_local9); } else { if (_local1 == 98){ _local10 = (new Hash() as Hash); do { //unresolved if _local4 = (unserialize() as String); _local10.set(_local4, unserialize()); } while (true); pos = (pos + 1); return (_local10); } else { if (_local1 == 113){ _local11 = (new IntHash() as IntHash); _local8 = pos; pos = (_local8 + 1); _local2 = buf.charCodeAt(_local8); do { //unresolved if _local3 = readDigits(); _local11.set(_local3, unserialize()); _local8 = pos; pos = (_local8 + 1); _local2 = buf.charCodeAt(_local8); } while (true); if (!((_local2 == 104))){ throw ("Invalid IntHash format"); }; return (_local11); } else { if (_local1 == 118){ _local12 = ((Date.fromString(buf.substr(pos, 19)) as Date) as Date); pos = (pos + 19); return (_local12); } else { if (_local1 == 115){ _local3 = readDigits(); _local2 = pos; pos = (_local2 + 1); if (!!((buf.charAt(_local2) == ":"))){ true; }; if (true){ throw ("Invalid string length"); }; _local4 = (buf.substr(pos, _local3) as String); pos = (pos + _local3); scache.push(_local4); return (_local4); } else { if (_local1 == 106){ _local3 = readDigits(); _local2 = pos; pos = (_local2 + 1); if (!((buf.charAt(_local2) == ":"))){ throw ("Invalid string length"); }; _local4 = (buf.substr(pos, _local3) as String); pos = (pos + _local3); _local7 = ("##__delim__##" as String); _local5 = (new EReg("\\\\\\\\", "g").split(_local4) as Array); _local4 = (_local5.join(_local7).split("\\r").join("\r").split("\\n").join("\n").split(_local7).join("\\") as String); scache.push(_local4); return (_local4); //unresolved jump }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; pos = (pos - 1); throw ((((((("Invalid char " + buf.charAt(pos)) as String) + " at position ") as String) + pos) as String)); } public function setResolver(_arg1:Object):void{ if ((_arg1 == null)){ resolver = {resolveEnum:function (_arg1:String):Class{ return ((null as Class)); }, resolveClass:function (_arg1:String):Class{ return ((null as Class)); }}; } else { resolver = _arg1; }; } public function readDigits():int{ var _local4:* = null; var _local1:int; var _local2:Boolean; var _local3:int = pos; do { //unresolved if _local4 = buf.charCodeAt(pos); if ((_local4 == null)){ //unresolved jump }; //unresolved if if (!((pos == _local3))){ //unresolved jump }; _local2 = true; pos = (pos + 1); } while (true); _local4 = (_local4 - 48); if (!(_local4 < 0)){ true; }; if (true){ } else { _local1 = ((_local1 * 10) + _local4); pos = (pos + 1); //unresolved jump }; if (_local2){ _local1 = (_local1 * -1); }; return (_local1); } public static function run(_arg1:String):Object{ return (new Unserializer(_arg1).unserialize()); } } class Mission3 extends Mission { public var level9:Object; public var level8:Object; public var level7:Object; public var level6:Object; public var level5:Object; public var level4:Object; public var level3:Object; public var level2:Object; public var level10:Object; public var level1:Object; public function Mission3():void{ var _local5:int; var _local6:int; var _local7:int; var _local8:Number; var _local9:Number; var _local10 = (null as Point); var _local17:* = null; var _local18:Number; if (Boot_BA08CD.skip_constructor){ return; }; super(); integrityThreshold = 30; regenIntegrityRate = 0.001; damageIntegrityRate = 0.001; var _local1 = (new List() as List); _local1.add({pos:new Point(250, 100), enemy:EnemyF}); _local1.add({pos:new Point(250, 400), enemy:EnemyF}); _local1.add({pos:new Point(100, 250), enemy:EnemyF}); _local1.add({pos:new Point(400, 250), enemy:EnemyF}); _local1.add({pos:new Point(25, 25), enemy:EnemyF}); _local1.add({pos:new Point(475, 475), enemy:EnemyF}); level1 = {pattern:_local1, delay:2500, id:1}; var _local2 = (new List() as List); _local2.add({pos:new Point(250, 100), enemy:EnemyE}); _local2.add({pos:new Point(250, 400), enemy:EnemyE}); _local2.add({pos:new Point(25, 25), enemy:EnemyF}); _local2.add({pos:new Point(475, 475), enemy:EnemyF}); _local2.add({pos:new Point(475, 25), enemy:EnemyF}); _local2.add({pos:new Point(25, 475), enemy:EnemyF}); var _local3:int; var _local4:int = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local2.add({pos:_local10, enemy:EnemyA}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local2.add({pos:_local10, enemy:EnemyB}); } while (true); level2 = {pattern:_local2, delay:2500, id:2}; var _local11 = (new List() as List); _local11.add({pos:new Point(100, 150), enemy:EnemyF}); _local11.add({pos:new Point(100, 350), enemy:EnemyF}); _local11.add({pos:new Point(400, 150), enemy:EnemyF}); _local11.add({pos:new Point(400, 350), enemy:EnemyF}); _local11.add({pos:new Point(150, 100), enemy:EnemyE}); _local11.add({pos:new Point(150, 400), enemy:EnemyE}); _local11.add({pos:new Point(350, 100), enemy:EnemyE}); _local11.add({pos:new Point(350, 400), enemy:EnemyE}); _local11.add({pos:new Point(250, 225), enemy:EnemyB}); _local11.add({pos:new Point(225, 200), enemy:EnemyB}); _local11.add({pos:new Point(275, 200), enemy:EnemyB}); _local11.add({pos:new Point(250, 275), enemy:EnemyC}); _local11.add({pos:new Point(225, 300), enemy:EnemyC}); _local11.add({pos:new Point(275, 300), enemy:EnemyC}); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local11.add({pos:_local10, enemy:EnemyA}); } while (true); level3 = {pattern:_local11, delay:2500, id:3}; var _local12 = (new List() as List); _local3 = 0; _local4 = 16; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local12.add({pos:_local10, enemy:EnemyF}); } while (true); level4 = {pattern:_local12, delay:2500, id:4}; var _local13 = (new List() as List); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyF}); } while (true); _local3 = 0; _local4 = 5; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyB}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyC}); } while (true); _local3 = 0; _local4 = 5; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local13.add({pos:_local10, enemy:EnemyD}); } while (true); level5 = {pattern:_local13, delay:2500, id:5}; var _local14 = (new List() as List); _local14.add({pos:new Point(100, 150), enemy:SpawnerA}); _local14.add({pos:new Point(100, 350), enemy:SpawnerA}); _local14.add({pos:new Point(400, 150), enemy:SpawnerC}); _local14.add({pos:new Point(400, 350), enemy:SpawnerC}); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local14.add({pos:_local10, enemy:EnemyD}); } while (true); _local14.add({pos:new Point(150, 100), enemy:EnemyB}); _local14.add({pos:new Point(150, 400), enemy:EnemyB}); _local14.add({pos:new Point(350, 100), enemy:EnemyB}); _local14.add({pos:new Point(350, 400), enemy:EnemyB}); level6 = {pattern:_local14, delay:2500, id:6}; var _local15 = (new List() as List); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyB}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:EnemyF}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 100; _local7 = (500 - 100); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local15.add({pos:_local10, enemy:SpawnerC}); } while (true); level7 = {pattern:_local15, delay:2500, id:7}; var _local16 = (new List() as List); _local3 = 0; _local4 = 2; do { //unresolved if _local5 = _local3; _local3++; _local6 = 100; _local7 = (500 - 100); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local17 = SpawnerA; _local18 = (Math.random() * 3); if ((_local18 >= 0)){ false; }; if (false){ _local17 = SpawnerA; } else { _local17 = SpawnerE; }; _local16.add({pos:_local10, enemy:_local17}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local16.add({pos:_local10, enemy:EnemyF}); } while (true); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local16.add({pos:_local10, enemy:EnemyD}); } while (true); level8 = {pattern:_local16, delay:2500, id:8}; var _local19 = (new List() as List); _local3 = 0; _local4 = 4; do { //unresolved if _local5 = _local3; _local3++; _local6 = 100; _local7 = (500 - 100); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local17 = SpawnerB; _local18 = (Math.random() * 3); if ((_local18 >= 0)){ false; }; if (false){ _local17 = SpawnerB; } else { _local17 = SpawnerD; }; _local19.add({pos:_local10, enemy:_local17}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local19.add({pos:_local10, enemy:EnemyA}); } while (true); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local19.add({pos:_local10, enemy:EnemyC}); } while (true); level9 = {pattern:_local19, delay:2500, id:9}; var _local20 = (new List() as List); _local20.add({pos:new Point(250, 100), enemy:BossC}); _local20.add({pos:new Point(250, 400), enemy:BossC}); _local3 = 0; _local4 = 6; do { //unresolved if _local5 = _local3; _local3++; _local6 = 32; _local7 = (500 - 32); _local8 = ((Math.random() * (_local7 - _local6)) + _local6); _local9 = ((Math.random() * (_local7 - _local6)) + _local6); _local10 = (new Point(_local8, _local9) as Point); _local20.add({pos:_local10, enemy:EnemyB}); } while (true); level10 = {pattern:_local20, delay:-1, id:10}; } override public function prepareLevels():void{ levels.add(level1); levels.add(level2); levels.add(level3); levels.add(level4); levels.add(level5); levels.add(level6); levels.add(level7); levels.add(level8); levels.add(level9); levels.add(level10); var _local1 = (new Bitmap(Assets.objects.get("Background03")) as Bitmap); ScreenManager.playScreen.setBackground(_local1); } } class EnemyASprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function EnemyASprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(14, 14, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -7; core.y = -7; var _local2 = (new BitmapData(0x0100, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 0, 0x0100, 32), new Point(0, 0)); equip = new MovieTile(_local2, 32, 32); equip.x = -16; equip.y = -16; equipframes = equip.frames; var _local3 = (new BitmapData(14, 14, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); var _local4:int; var _local5:int = 14; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 14; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -7; inflictCore.y = -7; var _local10 = (new BitmapData(192, 32, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 0, 0x0100, 32), new Point(0, 0)); _local4 = 0; _local5 = 192; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 32; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 32, 32); inflictEquip.x = -16; inflictEquip.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } class ScreenManager { public static var titleScreen:TitleScreen; public static var sponsorsScreen:SponsorsScreen; public static var creditsScreen:CreditsScreen; public static var instructionsScreen:InstructionsScreen; public static var playScreen:PlayScreen; public static var askTutorialScreen:AskTutorialScreen; public static var techDialog:TechDialog; public static var menuDialog:MenuDialog; public static var gameOverDialog:GameOverDialog; public static var noMoreLifeDialog:NoMoreLifeDialog; public static var contentLayer:Sprite; public static var dialogLayer:Sprite; public static var tutorialLayer:Sprite; public static var cursorLayer:Sprite; public static var transitionLayer:Sprite; public static var currentScreen:Sprite; public static var currentScreenName:String; public static var currentDialog:Sprite; public static var currentTutorialStep:Sprite; public static var nextScreen:Sprite; public static var nextScreenName:String; public static var nextScreenIndex:int; public static var screenBlur:BlurFilter; public function ScreenManager():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function loadScreens():void{ ScreenManager.contentLayer = new Sprite(); ScreenManager.dialogLayer = new Sprite(); ScreenManager.tutorialLayer = new Sprite(); ScreenManager.cursorLayer = new Sprite(); ScreenManager.transitionLayer = new Sprite(); ScreenManager.transitionLayer.graphics.beginFill(0); ScreenManager.transitionLayer.graphics.drawRect(0, 0, 500, 500); ScreenManager.transitionLayer.alpha = 0; ScreenManager.currentScreen = new Sprite(); ScreenManager.currentScreenName = ""; ScreenManager.currentDialog = new Sprite(); ScreenManager.currentTutorialStep = new Sprite(); ScreenManager.cursorLayer.buttonMode = false; ScreenManager.cursorLayer.mouseEnabled = false; ScreenManager.screenBlur = new BlurFilter(3, 3, 3); Lib.current.addChild(ScreenManager.contentLayer); Lib.current.addChild(ScreenManager.dialogLayer); Lib.current.addChild(ScreenManager.tutorialLayer); Lib.current.addChild(ScreenManager.transitionLayer); Lib.current.addChild(ScreenManager.cursorLayer); ScreenManager.titleScreen = new TitleScreen(); ScreenManager.sponsorsScreen = new SponsorsScreen(); ScreenManager.creditsScreen = new CreditsScreen(); ScreenManager.instructionsScreen = new InstructionsScreen(); ScreenManager.playScreen = new PlayScreen(); ScreenManager.askTutorialScreen = new AskTutorialScreen(); ScreenManager.techDialog = new TechDialog(); ScreenManager.menuDialog = new MenuDialog(); ScreenManager.gameOverDialog = new GameOverDialog(); ScreenManager.noMoreLifeDialog = new NoMoreLifeDialog(); } public static function prepareScreen():void{ var _local1 = (ScreenManager.nextScreenName as String); if (_local1 == "title"){ ScreenManager.nextScreen = ScreenManager.titleScreen.getContainer(); ScreenManager.titleScreen.init(); } else { if (_local1 == "sponsors"){ ScreenManager.nextScreen = ScreenManager.sponsorsScreen.getContainer(); } else { if (_local1 == "credits"){ ScreenManager.nextScreen = ScreenManager.creditsScreen.getContainer(); } else { if (_local1 == "instructionsFromTitle"){ ScreenManager.nextScreen = ScreenManager.instructionsScreen.getContainer(); ScreenManager.instructionsScreen.prevScreen = "title"; } else { if (_local1 == "instructionsFromPlay"){ ScreenManager.nextScreen = ScreenManager.instructionsScreen.getContainer(); ScreenManager.instructionsScreen.prevScreen = "playresume"; } else { if (_local1 == "playresume"){ ScreenManager.nextScreen = ScreenManager.playScreen.getContainer(); } else { if (_local1 == "play"){ ScreenManager.nextScreen = ScreenManager.playScreen.getContainer(); Profile.reset(); ScreenManager.playScreen.init(); } else { if (_local1 == "playNextMission"){ ScreenManager.nextScreen = ScreenManager.playScreen.getContainer(); ScreenManager.playScreen.init(); } else { if (_local1 == "endMission"){ ScreenManager.nextScreen = ScreenManager.titleScreen.getContainer(); Profile.reset(); } else { if (_local1 == "hasTutorial"){ ScreenManager.nextScreen = ScreenManager.askTutorialScreen.getContainer(); ScreenManager.askTutorialScreen.init(); //unresolved jump }; }; }; }; }; }; }; }; }; }; } public static function switchScreen():void{ if (ScreenManager.contentLayer.contains(ScreenManager.currentScreen)){ ScreenManager.contentLayer.removeChild(ScreenManager.currentScreen); }; ScreenManager.currentScreen = ScreenManager.nextScreen; ScreenManager.currentScreenName = ScreenManager.nextScreenName; ScreenManager.contentLayer.addChild(ScreenManager.currentScreen); } public static function runScreen():void{ ScreenManager.transitionLayer.mouseEnabled = false; ScreenManager.transitionLayer.visible = false; var _local1 = (ScreenManager.currentScreenName as String); if (_local1 == "title"){ ScreenManager.titleScreen.start(); } else { if (_local1 == "sponsors"){ ScreenManager.sponsorsScreen.start(); } else { if (_local1 == "play"){ ScreenManager.playScreen.start(); } else { if (_local1 == "playNextMission"){ if ((ScreenManager.dialogLayer.numChildren == 0)){ ScreenManager.playScreen.start(); }; //unresolved jump }; }; }; }; } public static function transition():void{ ScreenManager.prepareScreen(); Tweener.addTween(ScreenManager.transitionLayer, {onComplete:ScreenManager.switchScreen, time:0.5, alpha:1}); Tweener.addTween(ScreenManager.transitionLayer, {onComplete:ScreenManager.runScreen, delay:0.5, time:1, alpha:0}); Lib.current.stage.focus = Lib.current; } public static function showScreen(_arg1:String, _arg2:Object=undefined):void{ ScreenManager.transitionLayer.mouseEnabled = true; ScreenManager.transitionLayer.visible = true; ScreenManager.nextScreenIndex = (Std.bool(_arg2)) ? _arg2 : 0; ScreenManager.nextScreenName = _arg1; ScreenManager.transition(); } public static function showDialog(_arg1:String):void{ ScreenManager.hideDialog(); var _local2 = (_arg1 as String); if (_local2 == "gameover"){ ScreenManager.currentDialog = ScreenManager.gameOverDialog.getContainer(); ScreenManager.gameOverDialog.init(); } else { if (_local2 == "nomorelife"){ ScreenManager.currentDialog = ScreenManager.noMoreLifeDialog.getContainer(); ScreenManager.noMoreLifeDialog.init(); } else { if (_local2 == "tech"){ ScreenManager.currentDialog = ScreenManager.techDialog.getContainer(); ScreenManager.techDialog.init(); ScreenManager.techDialog.updateDialog(); } else { if (_local2 == "menu"){ ScreenManager.currentDialog = ScreenManager.menuDialog.getContainer(); ScreenManager.menuDialog.init(); } else { if (_local2 == "menuNoInit"){ ScreenManager.currentDialog = ScreenManager.menuDialog.getContainer(); ScreenManager.menuDialog.bypassInit(); //unresolved jump }; }; }; }; }; ScreenManager.dialogLayer.addChild(ScreenManager.currentDialog); ScreenManager.contentLayer.filters = [ScreenManager.screenBlur]; } public static function hideDialog():void{ if (ScreenManager.dialogLayer.contains(ScreenManager.currentDialog)){ ScreenManager.dialogLayer.removeChild(ScreenManager.currentDialog); }; ScreenManager.contentLayer.filters = []; Lib.current.stage.focus = Lib.current; } public static function showTutorialStep(_arg1:Sprite):void{ ScreenManager.hideTutorialStep(); ScreenManager.currentTutorialStep = _arg1; ScreenManager.tutorialLayer.addChild(ScreenManager.currentTutorialStep); } public static function hideTutorialStep():void{ if (ScreenManager.tutorialLayer.contains(ScreenManager.currentTutorialStep)){ ScreenManager.tutorialLayer.removeChild(ScreenManager.currentTutorialStep); }; Lib.current.stage.focus = Lib.current; } } class BossA extends Enemy { public var speed:Number; public var shieldSprite:Sprite; public var projectileData:Object; public var moveTime:int; public var minSpeed:Number; public var maxshieldpoint:int; public var maxSpeed:Number; public var enemySprite:BossASprite; public var curanimateque:int; public var curMoveTime:int; public var curClosingInTime:int; public var closingInTime:int; public var animatespeed:int; public function BossA(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.bossA.hitpoint; maxshieldpoint = (Config.bossA.hitpoint * 8); shieldpoint = maxshieldpoint; worth = Config.bossA.worth; enemySprite = new BossASprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); shieldSprite = new Sprite(); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-14, -14, 28, 28); hitbox = _local4; hitbox.alpha = 0; minSpeed = 0.4; maxSpeed = 0.8; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; var _local6:int = 550; var _local7:int = 1350; var _local8:int = 700; var _local9:int = 1300; closingInTime = Std.int(((Math.random() * (_local7 - _local6)) + _local6)); moveTime = Std.int(((Math.random() * (_local9 - _local8)) + _local8)); curClosingInTime = 0; curMoveTime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ var _local1 = (null as Point); var _local2:Number; if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { if ((curMoveTime < moveTime)){ false; }; if (false){ curMoveTime = (curMoveTime + 1); if ((shieldpoint > 1)){ isInvincible = true; createShield(); } else { isInvincible = false; }; if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; } else { if ((curClosingInTime < closingInTime)){ false; }; if (false){ curClosingInTime = (curClosingInTime + 1); isInvincible = false; destroyShield(); _local1 = (new Point(ScreenManager.playScreen.player.locX, ScreenManager.playScreen.player.locY) as Point); _local2 = Math.atan2((_local1.y - container.y), (_local1.x - container.x)); vectorX = (Math.cos(_local2) * speed); vectorY = (Math.sin(_local2) * speed); if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; } else { curClosingInTime = 0; curMoveTime = 0; shieldpoint = maxshieldpoint; }; }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.bossAScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } public function destroyShield():void{ if (container.contains(shieldSprite)){ shieldSprite.graphics.clear(); shieldSprite.filters = []; container.removeChild(shieldSprite); }; } override public function decreaseShield():void{ var _local1:Number = 0.3; var _local2:Number = 1; var _local3:Number = (shieldpoint / maxshieldpoint); if ((_local3 <= 0)){ destroyShield(); }; var _local4:Number = ((_local3 * (_local2 - _local1)) + _local1); var _local5:* = _local4; shieldSprite.scaleY = _local5; shieldSprite.scaleX = _local5; } public function createShield():void{ var _local1:* = null; if (!(container.contains(shieldSprite))){ _local1 = 1; shieldSprite.scaleY = _local1; shieldSprite.scaleX = _local1; shieldSprite.graphics.lineStyle(2, 0xFFFFFF, 0.5); shieldSprite.graphics.drawCircle(0, 0, (enemySprite.width / 3)); shieldSprite.filters = [new BlurFilter(2, 2, 2)]; container.addChild(shieldSprite); }; } } class ProjectileM extends Projectile { public function ProjectileM(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); speed = 20; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); baseType = ProjectileBaseType.LIGHTNING; useTarget = true; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(4, 4, true, 0xFFFFFF) as BitmapData); Raster.circle(_local4, 0, 0, 2, 0xFFFFFF); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.x = -2; _local5.y = -2; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } } class Log { public static var trace; public static var clear; public static var setColor; public function Log():void{ if (Boot_BA08CD.skip_constructor){ return; }; } } class SpawnerE extends Enemy { public var spawnerSprite:SpawnerSprite; public var spawnTime:int; public var spawnEnemy:Object; public var spawnCount:int; public var currentSpawnTime:int; public var curanimateque:int; public var animatespeed:int; public function SpawnerE(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); spawnTime = Config.spawnerE.spawnTime; spawnCount = Config.spawnerE.spawnCount; spawnEnemy = Config.spawnerE.spawnEnemy; hitpoint = Config.spawnerE.hitpoint; worth = Config.spawnerE.worth; currentSpawnTime = 0; var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFF00); _local4.graphics.drawRect(0, 0, 16, 16); hitbox = _local4; hitbox.x = (-(hitbox.width) / 2); hitbox.y = (-(hitbox.height) / 2); hitbox.alpha = 0; spawnerSprite = new SpawnerSprite(); inflictHitSprite.addChild(spawnerSprite.inflictGroup); animatespeed = 10; curanimateque = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; spawnerSprite.alpha = 0; container.addChild(hitbox); container.addChild(spawnerSprite); container.addChild(inflictHitSprite); if ((_arg3.x == 0)){ false; }; if (false){ container.x = ((Math.round(((Math.random() * boundary.width) - (container.width / 2))) + boundary.x) + (container.width / 2)); container.y = ((Math.round(((Math.random() * boundary.height) - (container.height / 2))) + boundary.y) + (container.height / 2)); } else { container.x = _arg3.x; container.y = _arg3.y; }; displayParent.addChild(container); } override public function update():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; var _local6 = (null as Enemy); if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); spawnerSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; spawnerSprite.alpha = 1; }; } else { if ((currentSpawnTime > spawnTime)){ currentSpawnTime = 0; _local1 = 0; _local2 = spawnCount; do { //unresolved if _local3 = _local1; _local1++; _local4 = (container.x + (Math.cos((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local5 = (container.y + (Math.sin((((90 * _local3) * Math.PI) / 180)) * ((container.width / 2) + 20))); _local6 = (Type.createInstance(Type.toClass(spawnEnemy), [displayParent, boundary, new Point(_local4, _local5)]) as Enemy); MissionManager.currentMission.enemyList().push(_local6); } while (true); spawnerSprite.spawning(true); } else { if ((currentSpawnTime == 0)){ spawnerSprite.spawning(false); }; currentSpawnTime = (currentSpawnTime + 1); }; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ spawnerSprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.spawnerScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class Serializer { public var useCache:Boolean; public var shash:Hash; public var scount:int; public var cache:Array; public var buf:StringBuf; public static var USE_CACHE:Boolean; public function Serializer():void{ if (Boot_BA08CD.skip_constructor){ return; }; buf = new StringBuf(); cache = new Array(); useCache = Serializer.USE_CACHE; shash = new Hash(); scount = 0; } public function toString():String{ return (buf.toString()); } public function serializeString(_arg1:String):void{ var _local2:* = shash.get(_arg1); if (!((_local2 == null))){ buf.add("R"); buf.add(_local2); return; }; var _local3:* = scount; scount = (_local3 + 1); shash.set(_arg1, _local3); buf.add("y"); _arg1 = (StringTools.urlEncode(_arg1) as String); buf.add(_arg1.length); buf.add(":"); buf.add(_arg1); } public function serializeRef(_arg1:Object):Boolean{ var _local4:int; var _local2:int; var _local3:int = cache.length; do { //unresolved if _local4 = _local2; _local2++; if ((cache[_local4] == _arg1)){ buf.add("r"); buf.add(_local4); return (true); }; } while (true); cache.push(_arg1); return (false); } public function serializeFields(_arg1:Object):void{ var _local3:* = null; var _local2:* = Reflect.fields(_arg1).iterator(); do { //unresolved if _local3 = _local2.next(); serializeString(_local3); serialize(Reflect.field(_arg1, _local3)); } while (true); buf.add("g"); } public function serializeException(_arg1:Object):void{ var _local2:* = null; buf.add("x"); if ((_arg1 is Error)){ _local2 = _arg1.getStackTrace(); if ((_local2 == null)){ serialize(_arg1.message); } else { serialize(_local2); }; return; }; serialize(_arg1); } public function serializeClassFields(_arg1:Object, _arg2:Class):void{ var _local7:int; var _local8 = (null as String); var _local3:* = describeType(_arg2).factory; var _local4:* = _local3.child("variable"); var _local5:int; var _local6:int = _local4.length(); do { //unresolved if _local7 = _local5; _local5++; _local8 = (_local4[_local7].attribute("name").toString() as String); //unresolved if } while (true); serializeString(_local8); serialize(Reflect.field(_arg1, _local8)); //unresolved jump buf.add("g"); } public function serialize(_arg1:Object):void{ var _local4 = (null as Class); var _local5 = (null as Class); var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11 = (null as List); var _local12:* = null; var _local13:* = null; var _local14 = (null as Date); var _local15 = (null as Hash); var _local16 = (null as String); var _local17 = (null as IntHash); var _local18 = (null as ByteArray); var _local19 = (null as Array); var _local20:uint; var _local3:* = Type.typeof(_arg1).tag; var _local2:* = Type.typeof(_arg1).params; if (_local3 == "TNull"){ buf.add("n"); } else { if (_local3 == "TInt"){ if ((_arg1 == 0)){ buf.add("z"); return; }; buf.add("i"); buf.add(_arg1); } else { if (_local3 == "TFloat"){ if (Math.isNaN(_arg1)){ buf.add("k"); } else { if (!(Math.isFinite(_arg1))){ buf.add(((_arg1 < 0)) ? "m" : "p"); } else { buf.add("d"); buf.add(_arg1); }; }; } else { if (_local3 == "TBool"){ buf.add((_arg1) ? "t" : "f"); } else { if (_local3 == "TClass"){ _local4 = (_local2[0] as Class); if ((_local4 == String)){ serializeString(_arg1); return; }; if (useCache){ false; }; if (false){ return; }; _local5 = (_local4 as Class); if (_local5 == Array){ _local6 = 0; buf.add("a"); _local7 = _arg1["length"]; _local8 = 0; _local9 = _local7; do { //unresolved if _local10 = _local8; _local8++; if ((_arg1[_local10] == null)){ _local6++; } else { if ((_local6 > 0)){ if ((_local6 == 1)){ buf.add("n"); } else { buf.add("u"); buf.add(_local6); }; _local6 = 0; }; serialize(_arg1[_local10]); }; } while (true); if ((_local6 > 0)){ if ((_local6 == 1)){ buf.add("n"); } else { buf.add("u"); buf.add(_local6); }; }; buf.add("h"); } else { if (_local5 == List){ buf.add("l"); _local11 = (_arg1 as List); _local12 = _local11.iterator(); do { //unresolved if _local13 = _local12.next(); serialize(_local13); } while (true); buf.add("h"); } else { if (_local5 == Date){ _local14 = (_arg1 as Date); buf.add("v"); buf.add((_local14.toString() as String)); } else { if (_local5 == Hash){ buf.add("b"); _local15 = (_arg1 as Hash); _local12 = _local15.keys(); do { //unresolved if _local16 = (_local12.next() as String); serializeString(_local16); serialize(_local15.get(_local16)); } while (true); buf.add("h"); } else { if (_local5 == IntHash){ buf.add("q"); _local17 = (_arg1 as IntHash); _local12 = _local17.keys(); do { //unresolved if _local6 = _local12.next(); buf.add(":"); buf.add(_local6); serialize(_local17.get(_local6)); } while (true); buf.add("h"); } else { if (_local5 == ByteArray){ buf.add("y"); _local16 = ("" as String); _local18 = (_arg1 as ByteArray); _local19 = (["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"] as Array); _local6 = 0; _local20 = _local18.length; do { //unresolved if _local7 = _local6; _local6++; _local8 = _local18[_local7]; if ((_local8 >= 48)){ false; }; if (!false){ true; if ((_local8 >= 65)){ false; }; if (!false){ true; if ((_local8 >= 97)){ false; }; }; }; if (true){ _local16 = (((_local16 + String.fromCharCode(_local8)) as String) as String); } else { _local16 = (((_local16 + (((("%" + (_local19[(_local8 >> 4)] as String)) as String) + (_local19[(_local8 & 15)] as String)) as String)) as String) as String); }; } while (true); buf.add(_local16.length); buf.add(":"); buf.add(_local16); } else { cache.pop(); buf.add("c"); serialize(Type.getClassName(_local4)); cache.push(_arg1); serializeClassFields(_arg1, _local4); }; }; }; }; }; }; } else { if (_local3 == "TObject"){ if (useCache){ false; }; if (false){ return; }; buf.add("o"); serializeFields(_arg1); } else { if (_local3 == "TEnum"){ _local4 = (_local2[0] as Class); if (useCache){ false; }; if (false){ return; }; cache.pop(); buf.add("w"); serialize(Type.getEnumName(_local4)); serializeString(_arg1.tag); buf.add(":"); if ((_arg1.params == null)){ buf.add(0); } else { _local6 = _arg1.params.length; buf.add(_local6); _local7 = 0; _local8 = _local6; do { //unresolved if _local9 = _local7; _local7++; serialize(_arg1.params[_local9]); } while (true); }; cache.push(_arg1); } else { if (_local3 == "TFunction"){ throw ("Cannot serialize function"); } else { throw ((("Cannot serialize " + Std.string(_arg1)) as String)); }; }; }; }; }; }; }; }; } public static function run(_arg1:Object):String{ var _local2 = (new Serializer() as Serializer); _local2.serialize(_arg1); return (_local2.toString()); } } class MovieTile extends Sprite { public var tiles:Array; public var frames:int; public var curframe:int; public var container:Bitmap; public var animTimer:Timer; public function MovieTile(_arg1:BitmapData=undefined, _arg2:int=undefined, _arg3:int=undefined):void{ var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12 = (null as BitmapData); if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local4:int = Std.int((_arg1.width / _arg2)); var _local5:int = Std.int((_arg1.height / _arg3)); tiles = new Array(); container = new Bitmap(); animTimer = new Timer(100); curframe = 0; frames = 0; var _local6:int; var _local7:int = _local5; do { //unresolved if _local8 = _local6; _local6++; _local9 = 0; _local10 = _local4; do { //unresolved if _local11 = _local9; _local9++; _local12 = (new BitmapData(_arg2, _arg3, true) as BitmapData); _local12.copyPixels(_arg1, new Rectangle((_local11 * _arg2), (_local8 * _arg3), _arg2, _arg3), new Point(0, 0)); tiles.push(_local12); frames = (frames + 1); } while (true); } while (true); container.bitmapData = (tiles[curframe] as BitmapData); animTimer.addEventListener(TimerEvent.TIMER, animateTimerHandler); addChild(container); } public function stop():void{ animTimer.stop(); animTimer.reset(); container.bitmapData = (tiles[0] as BitmapData); curframe = 0; } public function setSmooting(_arg1:Boolean):void{ container.smoothing = _arg1; } public function play(_arg1:Object=undefined, _arg2:Object=undefined):void{ if (Std.bool(_arg1)){ animTimer.delay = _arg1; }; if (Std.bool(_arg2)){ animTimer.repeatCount = _arg2; }; animTimer.start(); } public function nextFrame():void{ curframe = ((curframe == (tiles.length - 1))) ? 0 : (curframe + 1); container.bitmapData = (tiles[curframe] as BitmapData); } public function isNextFrame(_arg1:int):Boolean{ var _local2:Boolean; if (((curframe + 1) == _arg1)){ _local2 = true; }; return (_local2); } public function goToFrame(_arg1:int):void{ container.bitmapData = (tiles[_arg1] as BitmapData); curframe = _arg1; } public function animateTimerHandler(_arg1:TimerEvent):void{ curframe = ((curframe == (tiles.length - 1))) ? 0 : (curframe + 1); container.bitmapData = (tiles[curframe] as BitmapData); } } class EnemyDSprite extends Sprite { public var inflictGroup:Sprite; public var inflictEquip:MovieTile; public var inflictCore:Bitmap; public var equipframes:int; public var equip:MovieTile; public var core:Sprite; public var container:Sprite; public function EnemyDSprite():void{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(14, 14, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); core = new Sprite(); core.addChild(new Bitmap(_local1)); core.x = -7; core.y = -7; var _local2 = (new BitmapData(448, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 96, 448, 32), new Point(0, 0)); equip = new MovieTile(_local2, 32, 32); equip.x = -16; equip.y = -16; equipframes = equip.frames; var _local3 = (new BitmapData(14, 14, true) as BitmapData); _local3.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(425, 137, 14, 14), new Point(0, 0)); var _local4:int; var _local5:int = 14; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 14; do { //unresolved if _local9 = _local7; _local7++; if ((_local3.getPixel32(_local6, _local9) > 0)){ _local3.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local3); inflictCore.x = -7; inflictCore.y = -7; var _local10 = (new BitmapData(448, 32, true) as BitmapData); _local10.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(0, 96, 448, 32), new Point(0, 0)); _local4 = 0; _local5 = 448; do { //unresolved if _local6 = _local4; _local4++; _local7 = 0; _local8 = 32; do { //unresolved if _local9 = _local7; _local7++; if ((_local10.getPixel32(_local6, _local9) > 0)){ _local10.setPixel32(_local6, _local9, -1); }; } while (true); } while (true); inflictEquip = new MovieTile(_local10, 32, 32); inflictEquip.x = -16; inflictEquip.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictEquip); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(equip); container.addChild(core); addChild(container); } public function animate():void{ equip.nextFrame(); inflictEquip.nextFrame(); } } class BossMine extends Enemy { public var speed:Number; public var lifetime:int; public var enemySprite:BossMineSprite; public var curlifetime:int; public var curanimateque:int; public var animatespeed:int; public function BossMine(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); isMine = true; hitpoint = Config.bossMine.hitpoint; worth = Config.bossMine.worth; enemySprite = new BossMineSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); var _local4:int = 1; var _local5:int = 2; speed = ((Math.random() * (_local5 - _local4)) + _local4); var _local6 = (new Sprite() as Sprite); _local6.graphics.beginFill(0xFFFFFF); _local6.graphics.drawRect(-10, -10, 20, 20); hitbox = _local6; hitbox.alpha = 0; animatespeed = 20; curanimateque = 0; lifetime = 700; curlifetime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = false; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (1 - (curGhostingQue / ghostingTime)); } else { curGhostingQue = ghostingTime; MissionManager.currentMission.removeEnemy(this); destroy(false); }; } else { if ((curlifetime < lifetime)){ curlifetime = (curlifetime + 1); if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; } else { if ((curlifetime >= lifetime)){ isGhosting = true; curlifetime = lifetime; }; }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.bossMineScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class Http { public var url:String; public var params:Hash; public var onStatus; public var onError; public var onData; public var headers:Hash; public function Http(_arg1:String=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; onData = function (_arg1:String):void{ }; onError = function (_arg1:String):void{ }; onStatus = function (_arg1:int):void{ }; url = _arg1; headers = new Hash(); params = new Hash(); } public function setParameter(_arg1:String, _arg2:String):void{ params.set(_arg1, _arg2); } public function setHeader(_arg1:String, _arg2:String):void{ headers.set(_arg1, _arg2); } public function request(_arg1:Boolean):void{ var _local5:* = null; var _local6 = (null as String); var _local7 = (null as Array); var _local9 = (null as String); var _local10:* = null; var me = this; var loader = new URLLoader(); loader.addEventListener("complete", function (_arg1:Object):void{ me.onData(loader.data); }); loader.addEventListener("httpStatus", function (_arg1:Object):void{ if (!((_arg1.status == 0))){ me.onStatus(_arg1.status); }; }); loader.addEventListener("ioError", function (_arg1:Object):void{ me.onError((_arg1.text as String)); }); loader.addEventListener("securityError", function (_arg1:Object):void{ me.onError((_arg1.text as String)); }); var _local3:Boolean; var _local4 = (new URLVariables() as URLVariables); _local5 = params.keys(); do { //unresolved if _local6 = (_local5.next() as String); _local3 = true; Reflect.setField(_local4, _local6, params.get(_local6)); } while (true); _local6 = (url as String); if (_local3){ false; }; if (false){ _local7 = (url.split("?") as Array); if ((_local7.length > 1)){ _local6 = (_local7.shift() as String); _local4.decode(_local7.join("?")); }; }; _local7 = (_local6.split("xxx") as Array); var _local8 = (new URLRequest(_local6) as URLRequest); _local5 = headers.keys(); do { //unresolved if _local9 = (_local5.next() as String); _local8.requestHeaders.push(new URLRequestHeader(_local9, headers.get(_local9))); } while (true); _local8.data = _local4; _local8.method = (_arg1) ? "POST" : "GET"; try { loader.load(_local8); } catch(#InvalidMultinameIndex#) { _local10 = !NULL!; _local5 = _local10; onError((("Exception: " + Std.string(_local5)) as String)); }; } } class Mission0 extends Mission { public var level9:Object; public var level8:Object; public var level7:Object; public var level6:Object; public var level5:Object; public var level4:Object; public var level3:Object; public var level2:Object; public var level10:Object; public var level1:Object; public function Mission0():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); integrityThreshold = 4; regenIntegrityRate = 0.001; damageIntegrityRate = 0.001; var _local1 = (new List() as List); level1 = {pattern:_local1, delay:-1, id:1}; var _local2 = (new List() as List); _local2.add({pos:new Point(250, 100), enemy:EnemyTestMine}); _local2.add({pos:new Point(250, 400), enemy:EnemyTestMine}); _local2.add({pos:new Point(100, 250), enemy:EnemyTestMine}); _local2.add({pos:new Point(400, 250), enemy:EnemyTestMine}); level2 = {pattern:_local2, delay:-1, id:2}; var _local3 = (new List() as List); _local3.add({pos:new Point(100, 150), enemy:EnemyTestMine}); _local3.add({pos:new Point(100, 350), enemy:EnemyTestMine}); _local3.add({pos:new Point(400, 150), enemy:EnemyTestMine}); _local3.add({pos:new Point(400, 350), enemy:EnemyTestMine}); _local3.add({pos:new Point(150, 100), enemy:EnemyTestMine}); _local3.add({pos:new Point(150, 400), enemy:EnemyTestMine}); _local3.add({pos:new Point(350, 100), enemy:EnemyTestMine}); _local3.add({pos:new Point(350, 400), enemy:EnemyTestMine}); level3 = {pattern:_local3, delay:-1, id:3}; var _local4 = (new List() as List); _local4.add({pos:new Point(250, 200), enemy:EnemyTestMine}); _local4.add({pos:new Point(250, 300), enemy:EnemyTestMine}); _local4.add({pos:new Point(200, 250), enemy:EnemyTestMine}); _local4.add({pos:new Point(300, 250), enemy:EnemyTestMine}); level4 = {pattern:_local4, delay:-1, id:4}; var _local5 = (new List() as List); _local5.add({pos:new Point(100, 150), enemy:EnemyTestMine}); _local5.add({pos:new Point(200, 150), enemy:EnemyTestMine}); _local5.add({pos:new Point(300, 150), enemy:EnemyTestMine}); _local5.add({pos:new Point(400, 150), enemy:EnemyTestMine}); _local5.add({pos:new Point(100, 350), enemy:EnemyTestMine}); _local5.add({pos:new Point(200, 350), enemy:EnemyTestMine}); _local5.add({pos:new Point(300, 350), enemy:EnemyTestMine}); _local5.add({pos:new Point(400, 350), enemy:EnemyTestMine}); level5 = {pattern:_local5, delay:1500, id:5}; var _local6 = (new List() as List); _local6.add({pos:new Point(50, 200), enemy:EnemyTestMine}); _local6.add({pos:new Point(150, 200), enemy:EnemyTestMine}); _local6.add({pos:new Point(250, 200), enemy:EnemyTestMine}); _local6.add({pos:new Point(350, 200), enemy:EnemyTestMine}); _local6.add({pos:new Point(450, 200), enemy:EnemyTestMine}); _local6.add({pos:new Point(50, 300), enemy:EnemyTestMine}); _local6.add({pos:new Point(150, 300), enemy:EnemyTestMine}); _local6.add({pos:new Point(250, 300), enemy:EnemyTestMine}); _local6.add({pos:new Point(350, 300), enemy:EnemyTestMine}); _local6.add({pos:new Point(450, 300), enemy:EnemyTestMine}); level6 = {pattern:_local6, delay:-1, id:6}; } override public function start():void{ var _local3:* = null; var _local4:* = null; var _local5 = (null as Enemy); hasStarted = true; nextLevelTime = currentLevel.delay; var _local1 = ((currentLevel.pattern as List) as List); var _local2:* = _local1.iterator(); do { //unresolved if _local3 = _local2.next(); _local4 = _local3.enemy; _local5 = (Type.createInstance(Type.toClass(_local4), [parent, boundary, (_local3.pos as Point)]) as Enemy); enemies.push(_local5); } while (true); if (!(SoundManager.isAmbientPlaying())){ SoundManager.playAmbient("mission"); }; } override public function resetPlayerDestroyFlag():void{ hasDestroyedPlayer = false; } override public function resetIntegrity():void{ currentIntegrity = 1; } override public function removeEnemy(_arg1:Enemy):void{ enemies.remove(_arg1); } override public function prepareLevels():void{ levels.add(level1); levels.add(level2); levels.add(level3); levels.add(level4); levels.add(level5); levels.add(level6); var _local1 = (new Bitmap(Assets.objects.get("Background00")) as Bitmap); ScreenManager.playScreen.setBackground(_local1); } override public function prepare(_arg1:Sprite, _arg2:Rectangle):void{ hasStarted = false; isLastLevelInMission = false; hasDestroyedPlayer = false; parent = _arg1; boundary = _arg2; nextLevelTime = 0; currentTime = 0; lastCheckedTime = 0; currentIntegrity = 1; prepareLevels(); preStart(); } override public function preStart():void{ currentLevel = levels.first(); start(); } override public function preEnd():void{ hasStarted = false; TutorialManager.startL5M0 = LevelStatus.FINISHED; TutorialManager.steps.get(31).onTrigger(); } override public function next():void{ levels.remove(currentLevel); if (!(levels.isEmpty())){ currentLevel = levels.first(); start(); } else { isLastLevelInMission = true; }; if (!(isLastLevelInMission)){ Profile.curLevel = (Profile.curLevel + 1); ScreenManager.playScreen.updateHUDLevels(); }; } override public function levelList():List{ return (levels); } override public function evaluate():void{ var _local1:int; var _local2 = (null as Enemy); var _local3:* = null; var _local4:* = null; if (hasStarted){ false; }; if (false){ if ((TutorialManager.startL2M0 == LevelStatus.STARTED)){ _local1 = 0; do { //unresolved if _local2 = ((enemies[_local1] as Enemy) as Enemy); _local2.update(); _local1++; } while (true); if ((enemies.length == 0)){ TutorialManager.startL2M0 = LevelStatus.FINISHED; TutorialManager.steps.get(4).onTrigger(); }; }; if ((TutorialManager.startL3M0 == LevelStatus.STARTED)){ _local3 = enemies.iterator(); do { //unresolved if _local4 = _local3.next(); _local4.update(); } while (true); if ((enemies.length == 0)){ TutorialManager.startL3M0 = LevelStatus.FINISHED; TutorialManager.steps.get(6).onTrigger(); }; }; if ((TutorialManager.startL4M0 == LevelStatus.STARTED)){ _local3 = enemies.iterator(); do { //unresolved if _local4 = _local3.next(); _local4.update(); } while (true); TutorialManager.startL4M0 = LevelStatus.FINISHED; }; if ((TutorialManager.startL5M0 == LevelStatus.STARTED)){ if ((currentTime < nextLevelTime)){ currentTime = (currentTime + 1); ScreenManager.playScreen.setWavePerc((1 - (currentTime / nextLevelTime))); } else { currentTime = 0; if (!(isLastLevelInMission)){ next(); }; }; _local3 = enemies.iterator(); do { //unresolved if _local4 = _local3.next(); _local4.update(); } while (true); if ((enemies.length >= integrityThreshold)){ currentIntegrity = (currentIntegrity - damageIntegrityRate); } else { if ((enemies.length > 0)){ false; }; if (false){ currentIntegrity = (currentIntegrity - ((enemies.length / integrityThreshold) * damageIntegrityRate)); } else { if ((enemies.length == 0)){ currentIntegrity = (currentIntegrity + regenIntegrityRate); }; }; }; if ((currentIntegrity > 1)){ currentIntegrity = 1; } else { if ((currentIntegrity < 0)){ currentIntegrity = 0; if (!(hasDestroyedPlayer)){ ScreenManager.playScreen.player.destroy(); hasDestroyedPlayer = true; if ((Profile.lives > 0)){ currentIntegrity = 1; } else { preEnd(); }; }; }; }; ScreenManager.playScreen.setSystemHPPerc(currentIntegrity); if ((currentIntegrity < 1)){ false; }; if (false){ currentIntegrity = (currentIntegrity + 0.01); }; if ((currentTime < nextLevelTime)){ false; if ((currentIntegrity == 1)){ false; }; }; if (false){ _local1 = Math.round((((nextLevelTime - currentTime) / nextLevelTime) * 10)); currentTime = (currentTime + Std.int((nextLevelTime * 0.01))); if (!((lastCheckedTime == _local1))){ lastCheckedTime = _local1; ScreenManager.playScreen.addBonusTime(); }; }; if (levels.isEmpty()){ false; }; if (false){ preEnd(); }; }; } else { currentTime = (currentTime + 1); if ((currentTime == 75)){ false; }; if (false){ TutorialManager.startFirstStep(); }; }; } override public function enemyList():Array{ return (enemies); } override public function end():void{ MissionManager.nextMission(); if (!(SoundManager.isAmbientPlaying())){ SoundManager.stopAmbient(); }; } } class ValueType { public const __enum__ = true; public var tag; public var params; public static const __isenum = true; public static var TUnknown:ValueType; public static var TObject:ValueType; public static var TNull:ValueType; public static var TInt:ValueType; public static var TFunction:ValueType; public static var TFloat:ValueType; public static var TBool:ValueType; public function ValueType(_arg1:String, _arg2:Object):void{ tag = _arg1; params = _arg2; } public function toString():String{ return (Boot_BA08CD.enum_to_string(this)); } public static function TEnum(_arg1:Class):ValueType{ return (new ValueType("TEnum", [_arg1])); } public static function TClass(_arg1:Class):ValueType{ return (new ValueType("TClass", [_arg1])); } } class Vector { public var vy:Number; public var vx:Number; public function Vector(_arg1:Number=undefined, _arg2:Number=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; vx = _arg1; vy = _arg2; } public function toString():String{ return (((((vx + " : ") as String) + vy) as String)); } public function times(_arg1:Vector):Vector{ return (new Vector((vx * _arg1.vx), (vy * _arg1.vy))); } public function setTo(_arg1:Number, _arg2:Number):void{ vx = _arg1; vy = _arg2; } public function plusEquals(_arg1:Vector):Vector{ vx = (vx + _arg1.vx); vy = (vy + _arg1.vy); return (this); } public function plus(_arg1:Vector):Vector{ return (new Vector((vx + _arg1.vx), (vy + _arg1.vy))); } public function normalize():Vector{ var _local1:Number = magnitude(); if ((_local1 == 0)){ _local1 = 0.0001; }; return (mult((1 / _local1))); } public function multEquals(_arg1:Number):Vector{ vx = (vx * _arg1); vy = (vy * _arg1); return (this); } public function mult(_arg1:Number):Vector{ return (new Vector((vx * _arg1), (vy * _arg1))); } public function minusEquals(_arg1:Vector):Vector{ vx = (vx - _arg1.vx); vy = (vy - _arg1.vy); return (this); } public function minus(_arg1:Vector):Vector{ return (new Vector((vx - _arg1.vx), (vy - _arg1.vy))); } public function magnitude():Number{ return (Math.sqrt(((vx * vx) + (vy * vy)))); } public function dot(_arg1:Vector):Number{ return (((vx * _arg1.vx) + (vy * _arg1.vy))); } public function divEqual(_arg1:Number):Vector{ if ((_arg1 == 0)){ _arg1 = 0.0001; }; vx = (vx / _arg1); vy = (vy / _arg1); return (this); } public function distance(_arg1:Vector):Number{ var _local2 = (minus(_arg1) as Vector); return (_local2.magnitude()); } public function cross(_arg1:Vector):Number{ return (((vx * _arg1.vy) - (vy * _arg1.vx))); } public function copy(_arg1:Vector):void{ vx = _arg1.vx; vy = _arg1.vy; } } class Raster { public function Raster():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function line(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:uint):void{ var _local12:int; var _local15:int; var _local16:int; var _local17:int; var _local13:uint = _arg2; var _local14:uint = _arg3; var _local7:int = (_arg4 - _arg2); var _local8:int = (_arg5 - _arg3); var _local10:uint = ((_local7 > 0)) ? 1 : -1; var _local11:uint = ((_local8 > 0)) ? 1 : -1; _local7 = Math.round(Math.abs(_local7)); _local8 = Math.round(Math.abs(_local8)); _arg1.setPixel32(_local13, _local14, _arg6); if ((_local7 > _local8)){ _local12 = Math.round((_local7 / 2)); _local15 = 1; _local16 = (_local7 + 1); do { //unresolved if _local17 = _local15; _local15++; _local13 = (_local13 + _local10); _local12 = (_local12 + _local8); if ((_local12 >= _local7)){ _local12 = (_local12 - _local7); _local14 = (_local14 + _local11); }; _arg1.setPixel32(_local13, _local14, _arg6); } while (true); } else { _local12 = Math.round((_local8 / 2)); _local15 = 1; _local16 = (_local8 + 1); do { //unresolved if _local17 = _local15; _local15++; _local14 = (_local14 + _local11); _local12 = (_local12 + _local7); if ((_local12 >= _local8)){ _local12 = (_local12 - _local8); _local13 = (_local13 + _local10); }; _arg1.setPixel32(_local13, _local14, _arg6); } while (true); }; } public static function triangle(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:uint):void{ Raster.line(_arg1, _arg2, _arg3, _arg4, _arg5, _arg8); Raster.line(_arg1, _arg4, _arg5, _arg6, _arg7, _arg8); Raster.line(_arg1, _arg6, _arg7, _arg2, _arg3, _arg8); } public static function filledTri(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:uint):void{ var _local9:* = Reflect.empty(); Raster.lineTri(_local9, _arg1, _arg2, _arg3, _arg4, _arg5, _arg8); Raster.lineTri(_local9, _arg1, _arg4, _arg5, _arg6, _arg7, _arg8); Raster.lineTri(_local9, _arg1, _arg6, _arg7, _arg2, _arg3, _arg8); } public static function circle(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:uint):void{ var _local6:int; var _local7:int = _arg4; var _local8:int = (1 - _arg4); _arg1.setPixel32((_arg2 + _local6), (_arg3 + _local7), _arg5); _arg1.setPixel32((_arg2 + _local6), (_arg3 - _local7), _arg5); _arg1.setPixel32((_arg2 - _local7), (_arg3 + _local6), _arg5); _arg1.setPixel32((_arg2 + _local7), (_arg3 + _local6), _arg5); do { //unresolved if if ((_local8 < 0)){ _local8 = (_local8 + ((2 * _local6) + 3)); } else { _local8 = (_local8 + ((2 * (_local6 - _local7)) + 5)); _local7--; }; _local6++; _arg1.setPixel32((_arg2 + _local6), (_arg3 + _local7), _arg5); _arg1.setPixel32((_arg2 - _local6), (_arg3 + _local7), _arg5); _arg1.setPixel32((_arg2 + _local6), (_arg3 - _local7), _arg5); _arg1.setPixel32((_arg2 - _local6), (_arg3 - _local7), _arg5); _arg1.setPixel32((_arg2 - _local7), (_arg3 + _local6), _arg5); _arg1.setPixel32((_arg2 - _local7), (_arg3 - _local6), _arg5); _arg1.setPixel32((_arg2 + _local7), (_arg3 - _local6), _arg5); _arg1.setPixel32((_arg2 + _local7), (_arg3 + _local6), _arg5); } while (true); } public static function aaCircle(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:int, _arg5:uint):void{ var _local10:Number; var _local6:int = _arg4; var _local7:int; var _local9:Number = 0; var _local11:* = Math.sqrt; var _local12:* = Math.ceil; _arg1.setPixel(Math.round((_arg2 + _local6)), Math.round((_arg3 + _local7)), _arg5); _arg1.setPixel(Math.round((_arg2 - _local6)), Math.round((_arg3 + _local7)), _arg5); _arg1.setPixel(Math.round((_arg2 + _local7)), Math.round((_arg3 + _local6)), _arg5); _arg1.setPixel(Math.round((_arg2 + _local7)), Math.round((_arg3 - _local6)), _arg5); do { //unresolved if _local7++; _local10 = (_local12(_local11(((_arg4 * _arg4) - (_local7 * _local7)))) - _local11(((_arg4 * _arg4) - (_local7 * _local7)))); if ((_local10 < _local9)){ _local6--; }; Raster.drawAlphaPixel(_arg1, Math.round((_arg2 + _local6)), Math.round((_arg3 + _local7)), (1 - _local10), _arg5); Raster.drawAlphaPixel(_arg1, Math.round(((_arg2 + _local6) - 1)), Math.round((_arg3 + _local7)), _local10, _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 - _local6)), Math.round((_arg3 + _local7)), (1 - _local10), _arg5); Raster.drawAlphaPixel(_arg1, Math.round(((_arg2 - _local6) + 1)), Math.round((_arg3 + _local7)), _local10, _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 + _local6)), Math.round((_arg3 - _local7)), (1 - _local10), _arg5); Raster.drawAlphaPixel(_arg1, Math.round(((_arg2 + _local6) - 1)), Math.round((_arg3 - _local7)), _local10, _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 - _local6)), Math.round((_arg3 - _local7)), (1 - _local10), _arg5); Raster.drawAlphaPixel(_arg1, Math.round(((_arg2 - _local6) + 1)), Math.round((_arg3 - _local7)), _local10, _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 + _local7)), Math.round((_arg3 + _local6)), (1 - _local10), _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 + _local7)), Math.round(((_arg3 + _local6) - 1)), _local10, _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 - _local7)), Math.round((_arg3 + _local6)), (1 - _local10), _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 - _local7)), Math.round(((_arg3 + _local6) - 1)), _local10, _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 + _local7)), Math.round((_arg3 - _local6)), (1 - _local10), _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 + _local7)), Math.round(((_arg3 - _local6) + 1)), _local10, _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 - _local7)), Math.round((_arg3 - _local6)), (1 - _local10), _arg5); Raster.drawAlphaPixel(_arg1, Math.round((_arg2 - _local7)), Math.round(((_arg3 - _local6) + 1)), _local10, _arg5); _local9 = _local10; } while (true); } public static function aaLine(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:uint):void{ var _local8:int; var _local22:* = null; var _local7:Boolean = (Math.abs((_arg5 - _arg3)) > Math.abs((_arg4 - _arg2))); if (_local7){ _local8 = _arg2; _arg2 = _arg3; _arg3 = _local8; _local8 = _arg4; _arg4 = _arg5; _arg5 = _local8; }; if ((_arg2 > _arg4)){ _local8 = _arg2; _arg2 = _arg4; _arg4 = _local8; _local8 = _arg3; _arg3 = _arg5; _arg5 = _local8; }; var _local9:int = (_arg4 - _arg2); var _local10:int = (_arg5 - _arg3); var _local11:Number = (_local10 / _local9); var _local12:int = _arg2; var _local13:Number = (_arg3 + (_local11 * (_local12 - _arg2))); var _local14:Number = (1 - ((_arg2 + 0.5) % 1)); var _local15:int = _local12; var _local16:int = Math.floor(_local13); var _local17:Number = ((1 - (_local13 % 1)) * _local14); if (_local7){ //unresolved jump }; _local17 = ((_local13 % 1) * _local14); if (_local7){ //unresolved jump }; var _local18:Number = (_local13 + _local11); _local12 = _arg4; _local13 = (_arg5 + (_local11 * (_local12 - _arg4))); _local14 = ((_arg4 + 0.5) % 1); var _local19:int = _local12; var _local20:int = Math.floor(_local13); _local17 = ((1 - (_local13 % 1)) * _local14); if (_local7){ Raster.drawAlphaPixel(_arg1, _local20, _local19, _local17, _arg6); } else { Raster.drawAlphaPixel(_arg1, _local19, _local20, _local17, _arg6); }; _local17 = ((_local13 % 1) * _local14); if (_local7){ Raster.drawAlphaPixel(_arg1, (_local20 + 1), _local19, _local17, _arg6); } else { Raster.drawAlphaPixel(_arg1, _local19, (_local20 + 1), _local17, _arg6); }; var _local21:int = _local15; do { _local22 = _local21; _local21 = (_local22 + 1); //unresolved if _local17 = (1 - (_local18 % 1)); if (_local7){ Raster.drawAlphaPixel(_arg1, Math.round(_local18), _local21, _local17, _arg6); } else { Raster.drawAlphaPixel(_arg1, _local21, Math.round(_local18), _local17, _arg6); }; _local17 = (_local18 % 1); if (_local7){ Raster.drawAlphaPixel(_arg1, Math.round((_local18 + 1)), _local21, _local17, _arg6); } else { Raster.drawAlphaPixel(_arg1, _local21, Math.round((_local18 + 1)), _local17, _arg6); }; _local18 = (_local18 + _local11); } while (true); } public static function quadBezier(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:uint, _arg9:Object=undefined):void{ var _local12:int; var _local13:int; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _arg9 = ((_arg9 == null)) ? 3 : _arg9; var _local10:Number = _arg2; var _local11:Number = _arg3; var _local14:Number = 0; var _local15:Number = (1 / _arg9); var _local20:int; do { ++_local20; //unresolved if _local16 = (_local15 * _local20); _local17 = (_local16 * _local16); _local18 = (1 - _local16); _local19 = (_local18 * _local18); _local12 = Math.round((((_local19 * _arg2) + (((2 * _local16) * _local18) * _arg4)) + (_local17 * _arg6))); _local13 = Math.round((((_local19 * _arg3) + (((2 * _local16) * _local18) * _arg5)) + (_local17 * _arg7))); _local14 = (_local14 + Math.sqrt((((_local12 - _local10) * (_local12 - _local10)) + ((_local13 - _local11) * (_local13 - _local11))))); _local10 = _local12; _local11 = _local13; } while (true); var _local21:int = Math.floor(_local14); _local15 = (1 / _local21); var _local22:int = _arg2; var _local23:int = _arg3; _local20 = -1; do { ++_local20; //unresolved if _local16 = (_local15 * _local20); _local17 = (_local16 * _local16); _local18 = (1 - _local16); _local19 = (_local18 * _local18); _local12 = Math.round((((_local19 * _arg2) + (((2 * _local16) * _local18) * _arg4)) + (_local17 * _arg6))); _local13 = Math.round((((_local19 * _arg3) + (((2 * _local16) * _local18) * _arg5)) + (_local17 * _arg7))); Raster.line(_arg1, _local22, _local23, _local12, _local13, _arg8); _local22 = _local12; _local23 = _local13; } while (true); } public static function cubicBezier(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int, _arg9:int, _arg10:uint, _arg11:Object=undefined):void{ var _local14:int; var _local15:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _arg11 = ((_arg11 == null)) ? 5 : _arg11; var _local12:Number = _arg2; var _local13:Number = _arg3; var _local16:Number = 0; var _local17:Number = (1 / _arg11); var _local24:int; do { ++_local24; //unresolved if _local18 = (_local17 * _local24); _local19 = (_local18 * _local18); _local20 = (_local19 * _local18); _local21 = (1 - _local18); _local22 = (_local21 * _local21); _local23 = (_local22 * _local21); _local14 = Math.round(((((_local23 * _arg2) + (((3 * _local18) * _local22) * _arg4)) + (((3 * _arg6) * _local19) * _local21)) + (_arg8 * _local20))); _local15 = Math.round(((((_local23 * _arg3) + (((3 * _local18) * _local22) * _arg5)) + (((3 * _arg7) * _local19) * _local21)) + (_arg9 * _local20))); _local16 = (_local16 + Math.sqrt((((_local14 - _local12) * (_local14 - _local12)) + ((_local15 - _local13) * (_local15 - _local13))))); _local12 = _local14; _local13 = _local15; } while (true); var _local25:int = Math.floor(_local16); _local17 = (1 / _local25); var _local26:int = _arg2; var _local27:int = _arg3; _local24 = -1; do { ++_local24; //unresolved if _local18 = (_local17 * _local24); _local19 = (_local18 * _local18); _local20 = (_local19 * _local18); _local21 = (1 - _local18); _local22 = (_local21 * _local21); _local23 = (_local22 * _local21); _local14 = Math.round(((((_local23 * _arg2) + (((3 * _local18) * _local22) * _arg4)) + (((3 * _arg6) * _local19) * _local21)) + (_arg8 * _local20))); _local15 = Math.round(((((_local23 * _arg3) + (((3 * _local18) * _local22) * _arg5)) + (((3 * _arg7) * _local19) * _local21)) + (_arg9 * _local20))); Raster.line(_arg1, _local26, _local27, _local14, _local15, _arg10); _local26 = _local14; _local27 = _local15; } while (true); } public static function drawAlphaPixel(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:Number, _arg5:uint):void{ var _local6:uint = _arg1.getPixel32(_arg2, _arg3); var _local7:uint = ((_local6 & 0xFF0000) >> 16); var _local8:uint = ((_local6 & 0xFF00) >> 8); var _local9:uint = (_local6 & 0xFF); var _local10:uint = ((_arg5 & 0xFF0000) >> 16); var _local11:uint = ((_arg5 & 0xFF00) >> 8); var _local12:uint = (_arg5 & 0xFF); var _local13:uint = 0xFF; var _local14:uint = Math.round(((_local10 * _arg4) + (_local7 * (1 - _arg4)))); var _local15:uint = Math.round(((_local11 * _arg4) + (_local8 * (1 - _arg4)))); var _local16:uint = Math.round(((_local12 * _arg4) + (_local9 * (1 - _arg4)))); var _local17:uint = ((((_local13 << 24) + (_local14 << 16)) + (_local15 << 8)) + _local16); _arg1.setPixel32(_arg2, _arg3, _local17); } public static function checkLine(_arg1:Object, _arg2:int, _arg3:int, _arg4:BitmapData, _arg5:uint, _arg6:Rectangle):void{ if (Reflect.hasField(_arg1, Std.string(_arg3))){ if ((Reflect.field(_arg1, Std.string(_arg3)) > _arg2)){ _arg6.width = (Reflect.field(_arg1, Std.string(_arg3)) - _arg2); _arg6.x = _arg2; _arg6.y = _arg3; _arg4.fillRect(_arg6, _arg5); } else { _arg6.width = (_arg2 - Reflect.field(_arg1, Std.string(_arg3))); _arg6.x = Reflect.field(_arg1, Std.string(_arg3)); _arg6.y = _arg3; _arg4.fillRect(_arg6, _arg5); }; } else { Reflect.setField(_arg1, Std.string(_arg3), _arg2); }; } public static function lineTri(_arg1:Object, _arg2:BitmapData, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:uint):void{ var _local9:int; var _local21:* = null; var _local8:Boolean = (((_arg6 - _arg4) * (_arg6 - _arg4)) > ((_arg5 - _arg3) * (_arg5 - _arg3))); if (_local8){ _local9 = _arg3; _arg3 = _arg4; _arg4 = _local9; _local9 = _arg5; _arg5 = _arg6; _arg6 = _local9; }; if ((_arg3 > _arg5)){ _arg3 = (_arg3 ^ _arg5); _arg5 = (_arg5 ^ _arg3); _arg3 = (_arg3 ^ _arg5); _arg4 = (_arg4 ^ _arg6); _arg6 = (_arg6 ^ _arg4); _arg4 = (_arg4 ^ _arg6); }; var _local10:int = (_arg5 - _arg3); var _local11:int = Math.round(Math.abs((_arg6 - _arg4))); var _local12:int; var _local13:int = _arg4; var _local14:int = ((_arg4 < _arg6)) ? 1 : -1; var _local15:int = _arg3; var _local16:int = (_arg5 - (_local10 >> 1)); var _local17:int = _arg5; var _local18:int = _arg6; var _local19 = (new Rectangle() as Rectangle); var _local20:int; _local19.x = 0; _local19.y = 0; _local19.width = 0; _local19.height = 1; do { _local21 = _local15; _local15 = (_local21 + 1); //unresolved if if (_local8){ Raster.checkLine(_arg1, _local13, _local15, _arg2, _arg7, _local19); if (!((_local17 == _arg5))){ false; }; if (false){ Raster.checkLine(_arg1, _local18, (_local17 + 1), _arg2, _arg7, _local19); }; }; _local12 = (_local12 + _local11); if (((_local12 << 1) >= _local10)){ if (!(_local8)){ Raster.checkLine(_arg1, ((_local15 - _local20) + 1), _local13, _arg2, _arg7, _local19); if (!((_local17 == _local16))){ Raster.checkLine(_arg1, (_local17 + 1), _local18, _arg2, _arg7, _local19); }; }; _local20 = 0; _local13 = (_local13 + _local14); _local18 = (_local18 - _local14); _local12 = (_local12 - _local10); }; _local20++; _local17--; } while (true); if (!(_local8)){ Raster.checkLine(_arg1, ((_local15 - _local20) + 1), _local13, _arg2, _arg7, _local19); }; } } class EnemyTestMine extends Enemy { public var speed:Number; public var lifetime:int; public var enemySprite:EnemyMineSprite; public var curlifetime:int; public var curanimateque:int; public var animatespeed:int; public function EnemyTestMine(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); isMine = true; hitpoint = Config.enemyTestMine.hitpoint; worth = Config.enemyTestMine.worth; enemySprite = new EnemyMineSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); var _local4:int = 1; var _local5:int = 2; speed = ((Math.random() * (_local5 - _local4)) + _local4); var _local6 = (new Sprite() as Sprite); _local6.graphics.beginFill(0xFFFFFF); _local6.graphics.drawRect(-6, -6, 12, 12); hitbox = _local6; hitbox.alpha = 0; animatespeed = 20; curanimateque = 0; lifetime = 999999; curlifetime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = false; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (1 - (curGhostingQue / ghostingTime)); } else { curGhostingQue = ghostingTime; MissionManager.currentMission.removeEnemy(this); destroy(false); }; } else { if ((curlifetime < lifetime)){ curlifetime = (curlifetime + 1); if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; } else { if ((curlifetime >= lifetime)){ isGhosting = true; curlifetime = lifetime; }; }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.enemyAScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class PlayerSprite extends Sprite { public var weaponrotation:Number; public var weapon:Sprite; public var core:MovieTile; public var container:Sprite; public function PlayerSprite():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); core = new MovieTile(Assets.objects.get("Player_Cores"), 6, 6); core.setSmooting(true); core.x = -3; core.y = -3; weapon = new Sprite(); container = new Sprite(); container.addChild(weapon); container.addChild(core); addChild(container); } public function swapWeapon(_arg1:String):void{ if ((weapon.numChildren > 0)){ weapon.removeChildAt(0); }; weapon.addChildAt(Type.createInstance(Assets.classes.get(_arg1), []), 0); } public function setRotation(_arg1:Number):Number{ weapon.rotation = _arg1; return (weapon.rotation); } public function getRotation():Number{ return (weapon.rotation); } } class BossCSprite extends Sprite { public var spawnCore:MovieTile; public var inflictGroup:Sprite; public var inflictCore:Bitmap; public var equipframes:int; public var core:MovieTile; public var container:Sprite; public function BossCSprite():void{ var _local5:int; var _local6:int; var _local7:int; var _local8:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(128, 192, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(320, 224, 128, 192), new Point(0, 0)); core = new MovieTile(_local1, 64, 64); core.x = -32; core.y = -32; var _local2 = (new BitmapData(64, 64, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(320, 224, 64, 64), new Point(0, 0)); var _local3:int; var _local4:int = 64; do { //unresolved if _local5 = _local3; _local3++; _local6 = 0; _local7 = 64; do { //unresolved if _local8 = _local6; _local6++; if ((_local2.getPixel32(_local5, _local8) > 0)){ _local2.setPixel32(_local5, _local8, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local2); inflictCore.x = -32; inflictCore.y = -32; var _local9 = (new BitmapData(128, 64, true) as BitmapData); _local9.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(320, 160, 128, 64), new Point(0, 0)); spawnCore = new MovieTile(_local9, 64, 64); spawnCore.x = -32; spawnCore.y = -32; spawnCore.visible = false; inflictGroup = new Sprite(); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(core); container.addChild(spawnCore); addChild(container); } public function spawning(_arg1:Boolean):void{ spawnCore.visible = _arg1; spawnCore.nextFrame(); } public function animate():void{ core.nextFrame(); } } class EnemyF extends Enemy { public var speed:Number; public var shieldSprite:Sprite; public var projectileData:Object; public var moveTime:int; public var minSpeed:Number; public var maxshieldpoint:int; public var maxSpeed:Number; public var invincibleTime:int; public var enemySprite:EnemyFSprite; public var curanimateque:int; public var curMoveTime:int; public var curInvincibleTime:int; public var animatespeed:int; public function EnemyF(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.enemyF.hitpoint; maxshieldpoint = (Config.enemyF.hitpoint * 5); shieldpoint = maxshieldpoint; worth = Config.enemyF.worth; enemySprite = new EnemyFSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); shieldSprite = new Sprite(); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-7, -7, 14, 14); hitbox = _local4; hitbox.alpha = 0; minSpeed = 0.5; maxSpeed = 0.8; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; var _local6:int = 500; var _local7:int = 800; var _local8:int = 500; var _local9:int = 800; invincibleTime = Std.int(((Math.random() * (_local7 - _local6)) + _local6)); moveTime = Std.int(((Math.random() * (_local9 - _local8)) + _local8)); curInvincibleTime = 0; curMoveTime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ var _local1 = (null as Point); var _local2:Number; if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { if ((curMoveTime < moveTime)){ false; }; if (false){ curMoveTime = (curMoveTime + 1); isInvincible = false; destroyShield(); } else { if ((curInvincibleTime < invincibleTime)){ false; }; if (false){ curInvincibleTime = (curInvincibleTime + 1); if ((shieldpoint > 1)){ isInvincible = true; createShield(); } else { isInvincible = false; }; enemySprite.idle(); } else { curInvincibleTime = 0; curMoveTime = 0; shieldpoint = maxshieldpoint; }; }; _local1 = (new Point(ScreenManager.playScreen.player.locX, ScreenManager.playScreen.player.locY) as Point); _local2 = Math.atan2((_local1.y - container.y), (_local1.x - container.x)); vectorX = (Math.cos(_local2) * speed); vectorY = (Math.sin(_local2) * speed); if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.enemyFScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } public function destroyShield():void{ if (container.contains(shieldSprite)){ shieldSprite.graphics.clear(); shieldSprite.filters = []; container.removeChild(shieldSprite); }; } override public function decreaseShield():void{ var _local1:Number = 0.3; var _local2:Number = 1; var _local3:Number = (shieldpoint / maxshieldpoint); if ((_local3 <= 0)){ destroyShield(); }; var _local4:Number = ((_local3 * (_local2 - _local1)) + _local1); var _local5:* = _local4; shieldSprite.scaleY = _local5; shieldSprite.scaleX = _local5; } public function createShield():void{ var _local1:* = null; if (!(container.contains(shieldSprite))){ _local1 = 1; shieldSprite.scaleY = _local1; shieldSprite.scaleX = _local1; shieldSprite.graphics.lineStyle(2, 0xFFFFFF, 0.5); shieldSprite.graphics.drawCircle(0, 0, (enemySprite.width / 3)); shieldSprite.filters = [new BlurFilter(2, 2, 2)]; container.addChild(shieldSprite); }; } } class Reflect { public function Reflect():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function empty():Object{ return (new (Object)); } public static function hasField(_arg1:Object, _arg2:String):Boolean{ return (_arg1.hasOwnProperty(_arg2)); } public static function field(_arg1:Object, _arg2:String):Object{ return (_arg1[_arg2]); } public static function setField(_arg1:Object, _arg2:String, _arg3:Object):void{ _arg1[_arg2] = _arg3; } public static function callMethod(_arg1:Object, _arg2:Object, _arg3:Array):Object{ return (_arg2.apply(_arg1, _arg3)); } public static function fields(_arg1:Object):Array{ if ((_arg1 == null)){ return (new Array()); }; var _local4:int; var _local3 = ([] as Array); var _local5:* = _arg1; for (/*?*/in _arg1) { _local3.push(//unresolved nextvalue or nextname); }; var _local2 = (_local3 as Array); _local4 = 0; do { //unresolved if if (!(_arg1.hasOwnProperty((_local2[_local4] as String)))){ _local2.splice(_local4, 1); } else { _local4++; }; } while (true); return (_local2); } public static function isFunction(_arg1:Object):Boolean{ return ((typeof(_arg1) == "function")); } public static function compareMethods(_arg1:Object, _arg2:Object):Boolean{ if ((_arg1 == _arg2)){ return (true); }; if (!!(Reflect.isFunction(_arg1))){ true; }; if (true){ return (false); }; return (false); } public static function isObject(_arg1:Object):Boolean{ var _local4:* = null; var _local5:* = null; if ((_arg1 == null)){ return (false); }; var _local3 = (typeof(_arg1) as String); if ((_local3 == "object")){ try { if ((_arg1.__enum__ == true)){ return (false); }; } catch(#InvalidMultinameIndex#) { _local5 = !NULL!; _local4 = _local5; }; return (true); }; return ((_local3 == "string")); } public static function deleteField(_arg1:Object, _arg2:String):Boolean{ if (!((_arg1.hasOwnProperty(_arg2) == true))){ return (false); }; delete _arg1[_arg2]; return (true); } public static function copy(_arg1:Object):Object{ var _local4:* = null; var _local2 = (Reflect.empty() as Object); var _local3:* = Reflect.fields(_arg1).iterator(); do { //unresolved if _local4 = _local3.next(); Reflect.setField(_local2, _local4, Reflect.field(_arg1, _local4)); } while (true); return (_local2); } public static function makeVarArgs(_arg1:Function):Object{ var f = _arg1; return (function (... _args):Object{ return (f(_args)); }); } } class AsyncConnection { public var onError:Function; public var __path:Array; public var __error:Object; public var __data:Object; public function AsyncConnection(_arg1:Object=undefined, _arg2:Array=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; __data = _arg1; __path = _arg2; __error = {ref:function (_arg1:Object):void{ throw (_arg1); }}; } public function setErrorHandler(_arg1:Function):Function{ __error.ref = _arg1; return (_arg1); } public function getErrorHandler():Function{ return (__error.ref); } public function call(_arg1:Array, _arg2:Function=undefined):void{ var _local3 = (null as Array); var onData = _arg2; if (Reflect.hasField(__data, "connect")){ var me = this; _local3 = ((_arg1.copy() as Array) as Array); _local3.unshift(new Responder(function (_arg1:Object):void{ onData(_arg1); }, function (_arg1:Object):void{ me.__error.ref(_arg1); })); _local3.unshift(__path.join(".")); __data.call.apply(__data, _local3); return; }; var _local4 = (new Http(__data) as Http); me = this; var _local5 = (new Serializer() as Serializer); _local5.serialize(__path); _local5.serialize(_arg1); _local4.setHeader("X-Haxe-Remoting", "1"); _local4.setParameter("__x", _local5.toString()); _local4.onData = function (_arg1:String):void{ var _local4:* = null; var _local5 = (null as Unserializer); var _local6:* = null; var _local7:* = null; var _local3:Boolean = true; try { if (!(_arg1.length < 3)){ true; }; if (true){ throw ((((("Invalid response : '" + _arg1) as String) + "'") as String)); }; _local5 = (new Unserializer(_arg1.substr(3, (_arg1.length - 3))) as Unserializer); _local4 = _local5.unserialize(); } catch(#InvalidMultinameIndex#) { _local7 = !NULL!; _local6 = _local7; _local3 = false; me.__error.ref(_local6); }; if (_local3){ onData(_local4); }; }; _local4.onError = function (_arg1:String):void{ me.__error.ref(_arg1); }; _local4.request(true); } public function __resolve(_arg1:String):AsyncConnection{ var _local2 = (new AsyncConnection(__data, (__path.copy() as Array)) as AsyncConnection); _local2.__error = __error; _local2.__path.push(_arg1); return (_local2); } public static function urlConnect(_arg1:String):AsyncConnection{ return (new AsyncConnection(_arg1, [])); } public static function amfConnect(_arg1:String):AsyncConnection{ var _local2 = (new NetConnection() as NetConnection); var cnx = new AsyncConnection(_local2, []); _local2.addEventListener(NetStatusEvent.NET_STATUS, function (_arg1:NetStatusEvent):void{ cnx.getErrorHandler()(_arg1); }); _local2.connect(_arg1); return (cnx); } } class TechDialog extends Screen { public var weaponSubDialog:Sprite; public var weaponSlot2:TechItembox; public var weaponSlot1:TechItembox; public var upgradeBombButton:ButtonTile; public var topAnchorButton:ButtonTile; public var techTreeMask:Sprite; public var techTree:Sprite; public var techSubDialog:Sprite; public var techPoint:Label; public var techItemU:TechItembox; public var techItemT:TechItembox; public var techItemS:TechItembox; public var techItemR:TechItembox; public var techItemQ:TechItembox; public var techItemO:TechItembox; public var techItemN:TechItembox; public var techItemL:TechItembox; public var techItemK:TechItembox; public var techItemH:TechItembox; public var techItemG:TechItembox; public var techItemE:TechItembox; public var techItemD:TechItembox; public var techItemB:TechItembox; public var techItemA:TechItembox; public var techContainer:Sprite; public var stage:Stage; public var middleAnchorButton:ButtonTile; public var liftedTechItembox:TechItembox; public var liftedTechContainer:Sprite; public var isLifting:Boolean; public var descValRightCol:Label; public var descValLeftCol:Label; public var descTitle:Label; public var descDetails:Label; public var descBox:Sprite; public var descAttrRightCol:Label; public var descAttrLeftCol:Label; public var closeButton:ButtonTile; public var bottomAnchorButton:ButtonTile; public var bombQtyValue:MovieTile; public var bombLvlValue:MovieTile; public var addBombButton:ButtonTile; public function TechDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); stage = Lib.current.stage; isLifting = false; var _local1 = (new TitleKroeger() as Font); var _local2 = (new DescStandard() as Font); var _local3:* = {align:TextFormatAlign.CENTER, height:12, width:32, selectable:false, embedFonts:true, color:0xFFFFFF, size:8, font:_local1.fontName}; var _local4:* = {align:TextFormatAlign.LEFT, height:12, width:218, selectable:false, embedFonts:true, color:0xFFFFFF, size:8, font:_local1.fontName}; var _local5:* = {height:100, width:218, multiline:true, align:TextFormatAlign.LEFT, selectable:false, color:0xFFFFFF, embedFonts:true, size:8, font:_local2.fontName}; var _local6:* = {height:60, width:70, multiline:true, align:TextFormatAlign.LEFT, selectable:false, color:0xFFFFFF, embedFonts:true, size:8, font:_local2.fontName}; var _local7:* = {height:60, width:35, multiline:true, align:TextFormatAlign.RIGHT, selectable:false, color:0xFFFFFF, embedFonts:true, size:8, font:_local2.fontName}; techPoint = new Label("0", _local3); descTitle = new Label("Weapon Name", _local4); descDetails = new Label("Description of the weapon", _local5); descAttrLeftCol = new Label("HEATUP<br>BURNING<br>COOLDOWN", _local6); descValLeftCol = new Label("0<br>0<br>0", _local7); descAttrRightCol = new Label("DAMAGE<br>SPEED<br>COST", _local6); descValRightCol = new Label("0<br>0<br>0", _local7); techSubDialog = new Sprite(); techSubDialog.addChild(new Bitmap(Assets.objects.get("TechSubDialog"))); weaponSubDialog = new Sprite(); weaponSubDialog.addChild(new Bitmap(Assets.objects.get("WeaponSubDialog"))); techTree = new Sprite(); techTree.addChild(new Bitmap(Assets.objects.get("TechTree"))); techTreeMask = new Sprite(); techTreeMask.graphics.beginFill(0); techTreeMask.graphics.drawRect(0, 0, 304, 264); techContainer = new Sprite(); liftedTechContainer = new Sprite(); var _local8 = (new BitmapData(37, 52, true) as BitmapData); _local8.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(54, 384, 37, 52), new Point(0, 0)); var _local9 = (new BitmapData(18, 45, true) as BitmapData); _local9.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(36, 384, 18, 45), new Point(0, 0)); var _local10 = (new BitmapData(18, 45, true) as BitmapData); _local10.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(18, 384, 18, 45), new Point(0, 0)); var _local11 = (new BitmapData(18, 45, true) as BitmapData); _local11.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(0, 384, 18, 45), new Point(0, 0)); closeButton = new ButtonTile(_local8, 37, 13); topAnchorButton = new ButtonTile(_local9, 18, 9, true); middleAnchorButton = new ButtonTile(_local10, 18, 9, true); bottomAnchorButton = new ButtonTile(_local11, 18, 9, true); liftedTechItembox = (null as TechItembox); weaponSlot1 = new TechItembox(Config.projectileA); weaponSlot2 = new TechItembox(Config.projectileA); var _local12 = (new BitmapData(14, 56, true) as BitmapData); _local12.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(91, 384, 14, 56), new Point(0, 0)); var _local13 = (new BitmapData(160, 20, true) as BitmapData); _local13.copyPixels(Assets.objects.get("TechTiles"), new Rectangle(0, 440, 160, 20), new Point(0, 0)); addBombButton = new ButtonTile(_local12, 14, 14); upgradeBombButton = new ButtonTile(_local12, 14, 14); addBombButton.lock(); upgradeBombButton.lock(); bombQtyValue = new MovieTile(_local13, 16, 20); bombLvlValue = new MovieTile(_local13, 16, 20); descBox = new Sprite(); descBox.graphics.beginFill(0, 0.8); descBox.graphics.drawRect(0, 0, 250, 200); descBox.visible = false; descTitle.getTextField().x = 16; descTitle.getTextField().y = 16; descDetails.getTextField().x = 16; descDetails.getTextField().y = 32; descAttrLeftCol.getTextField().x = 16; descAttrLeftCol.getTextField().y = (200 - descAttrLeftCol.getTextField().height); descValLeftCol.getTextField().x = (descAttrLeftCol.getTextField().x + descAttrLeftCol.getTextField().width); descValLeftCol.getTextField().y = (200 - descValLeftCol.getTextField().height); descValRightCol.getTextField().x = ((250 - 16) - descValRightCol.getTextField().width); descValRightCol.getTextField().y = (200 - descValLeftCol.getTextField().height); descAttrRightCol.getTextField().x = (descValRightCol.getTextField().x - descAttrRightCol.getTextField().width); descAttrRightCol.getTextField().y = (200 - descAttrLeftCol.getTextField().height); techSubDialog.x = 75; techSubDialog.y = 24; weaponSubDialog.x = 75; weaponSubDialog.y = 384; techTreeMask.x = 23; techTreeMask.y = 64; techContainer.x = 23; techContainer.y = 64; closeButton.x = 350; topAnchorButton.x = 350; middleAnchorButton.x = 350; bottomAnchorButton.x = 350; closeButton.y = -9; topAnchorButton.y = 58; middleAnchorButton.y = 175; bottomAnchorButton.y = 291; weaponSlot1.x = 23; weaponSlot1.y = 50; weaponSlot2.x = 114; weaponSlot2.y = 50; weaponSlot1.setActive(true, false); weaponSlot2.setActive(true, false); bombQtyValue.x = 212; bombQtyValue.y = 56; bombLvlValue.x = 303; bombLvlValue.y = 56; addBombButton.x = 244; addBombButton.y = 64; upgradeBombButton.x = 274; upgradeBombButton.y = 64; techPoint.getTextField().x = 305; techPoint.getTextField().y = 13; techItemA = new TechItembox(Config.projectileA); posTechItem(techItemA, Config.techItemA); techItemB = new TechItembox(Config.projectileB); posTechItem(techItemB, Config.techItemB); techItemD = new TechItembox(Config.projectileD); posTechItem(techItemD, Config.techItemD); techItemE = new TechItembox(Config.projectileE); posTechItem(techItemE, Config.techItemE); techItemG = new TechItembox(Config.projectileG); posTechItem(techItemG, Config.techItemG); techItemH = new TechItembox(Config.projectileH); posTechItem(techItemH, Config.techItemH); techItemK = new TechItembox(Config.projectileK); posTechItem(techItemK, Config.techItemK); techItemL = new TechItembox(Config.projectileL); posTechItem(techItemL, Config.techItemL); techItemN = new TechItembox(Config.projectileN); posTechItem(techItemN, Config.techItemN); techItemO = new TechItembox(Config.projectileO); posTechItem(techItemO, Config.techItemO); techItemQ = new TechItembox(Config.projectileQ); posTechItem(techItemQ, Config.techItemQ); techItemR = new TechItembox(Config.projectileR); posTechItem(techItemR, Config.techItemR); techItemS = new TechItembox(Config.projectileS); posTechItem(techItemS, Config.techItemS); techItemT = new TechItembox(Config.projectileT); posTechItem(techItemT, Config.techItemT); techItemU = new TechItembox(Config.projectileU); posTechItem(techItemU, Config.techItemU); techItemA.setActive(true); techContainer.addChild(techTree); techContainer.addChild(techItemA); techContainer.addChild(techItemB); techContainer.addChild(techItemD); techContainer.addChild(techItemE); techContainer.addChild(techItemG); techContainer.addChild(techItemH); techContainer.addChild(techItemK); techContainer.addChild(techItemL); techContainer.addChild(techItemN); techContainer.addChild(techItemO); techContainer.addChild(techItemQ); techContainer.addChild(techItemR); techContainer.addChild(techItemS); techContainer.addChild(techItemT); techContainer.addChild(techItemU); techContainer.mask = techTreeMask; descBox.addChild(descTitle.getTextField()); descBox.addChild(descDetails.getTextField()); descBox.addChild(descAttrLeftCol.getTextField()); descBox.addChild(descAttrRightCol.getTextField()); descBox.addChild(descValLeftCol.getTextField()); descBox.addChild(descValRightCol.getTextField()); techSubDialog.addChild(techContainer); techSubDialog.addChild(techTreeMask); techSubDialog.addChild(closeButton); techSubDialog.addChild(topAnchorButton); techSubDialog.addChild(middleAnchorButton); techSubDialog.addChild(bottomAnchorButton); techSubDialog.addChild(techPoint.getTextField()); weaponSubDialog.addChild(weaponSlot1); weaponSubDialog.addChild(weaponSlot2); weaponSubDialog.addChild(addBombButton); weaponSubDialog.addChild(bombQtyValue); weaponSubDialog.addChild(upgradeBombButton); weaponSubDialog.addChild(bombLvlValue); closeButton.click = onCloseClick; topAnchorButton.click = onTopAnchorClick; middleAnchorButton.click = onMiddleAnchorClick; bottomAnchorButton.click = onBottomAnchorClick; addBombButton.click = onAddBombClick; upgradeBombButton.click = onUpgradeBombClick; addBombButton.addEventListener(MouseEvent.MOUSE_OVER, onAddBombMouseOver); addBombButton.addEventListener(MouseEvent.MOUSE_OUT, onAddBombMouseOut); upgradeBombButton.addEventListener(MouseEvent.MOUSE_OVER, onUpgradeBombMouseOver); upgradeBombButton.addEventListener(MouseEvent.MOUSE_OUT, onUpgradeBombMouseOut); container.addChild(techSubDialog); container.addChild(weaponSubDialog); container.addChild(descBox); container.addChild(liftedTechContainer); } public function updateDialog():void{ closeButton.unlock(); if (TutorialManager.isRunning){ if ((TutorialManager.stepID >= 9)){ false; }; if (!false){ true; if ((TutorialManager.stepID >= 22)){ false; }; }; if (true){ closeButton.lock(); }; }; techPoint.updateLabel(Std.string(Profile.techpoint)); bombQtyValue.goToFrame((((Profile.bombqty - 1) < 0)) ? 9 : (Profile.bombqty - 1)); bombLvlValue.goToFrame((Profile.bomblvl - 1)); if (!(techItemB.isActive)){ false; }; if (false){ techItemB.evaluate(); }; if (!(techItemD.isActive)){ false; }; if (false){ techItemD.evaluate(); }; if (!(techItemE.isActive)){ false; }; if (false){ techItemE.evaluate(); }; if (!(techItemG.isActive)){ false; }; if (false){ techItemG.evaluate(); }; if (!(techItemH.isActive)){ false; }; if (false){ techItemH.evaluate(); }; if (!(techItemK.isActive)){ false; }; if (false){ techItemK.evaluate(); }; if (!(techItemL.isActive)){ false; }; if (false){ techItemL.evaluate(); }; if (!(techItemN.isActive)){ false; }; if (false){ techItemN.evaluate(); }; if (!(techItemO.isActive)){ false; }; if (false){ techItemO.evaluate(); }; if (!(techItemQ.isActive)){ false; }; if (false){ techItemQ.evaluate(); }; if (!(techItemR.isActive)){ false; }; if (false){ techItemR.evaluate(); }; if (!(techItemS.isActive)){ false; if (!techItemA.isActive){ true; if (!techItemN.isActive){ true; }; }; }; if (false){ techItemS.evaluate(); }; if (!(techItemT.isActive)){ false; }; if (false){ techItemT.evaluate(); }; if (!(techItemU.isActive)){ false; }; if (false){ techItemU.evaluate(); }; if ((Profile.techpoint >= Reflect.field(Config, (("bomb" + Profile.bomblvl) as String)).buypoint)){ addBombButton.unlock(); } else { addBombButton.lock(); }; if (Reflect.hasField(Config, (("bomb" + (Profile.bomblvl + 1)) as String))){ if ((Profile.techpoint >= Reflect.field(Config, (("bomb" + (Profile.bomblvl + 1)) as String)).upgradepoint)){ upgradeBombButton.unlock(); } else { upgradeBombButton.lock(); }; } else { upgradeBombButton.visible = false; }; if (TutorialManager.isRunning){ false; }; if (false){ if (techItemB.isActive){ TutorialManager.startUpgradeTech = LevelStatus.FINISHED; TutorialManager.steps.get(12).onTrigger(); }; }; } public function unpausePlayScreen():void{ ScreenManager.playScreen.start(); } public function unlockCloseButton():void{ closeButton.unlock(); } public function showDesc(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String, _arg7:String, _arg8:String):void{ descBox.visible = true; descTitle.updateLabel(_arg1.toUpperCase()); descDetails.updateLabel(_arg2); descAttrLeftCol.updateLabel("HEATUP<br>BURNING<br>COOLDOWN"); descValLeftCol.updateLabel(((((((((_arg3 + "<br>") as String) + _arg4) as String) + "<br>") as String) + _arg5) as String)); descAttrRightCol.updateLabel("DAMAGE<br>SPEED<br>COST"); descValRightCol.updateLabel(((((((((_arg6 + "<br>") as String) + _arg7) as String) + "<br>") as String) + _arg8) as String)); if ((stage.mouseX > 250)){ descBox.x = ((stage.mouseX - descBox.width) - 10); } else { descBox.x = (stage.mouseX + 10); }; if ((stage.mouseY > 250)){ descBox.y = ((stage.mouseY - descBox.height) - 10); } else { descBox.y = (stage.mouseY + 10); }; } public function showBombUpgradeDesc(_arg1:Object):void{ descBox.visible = true; descTitle.updateLabel((("NEXT LEVEL: " + (_arg1.name as String).toUpperCase()) as String)); descDetails.updateLabel((_arg1.desc as String)); descAttrLeftCol.updateLabel(" <br>RADIUS<br>COOLDOWN"); descValLeftCol.updateLabel(((((((" <br>" + _arg1.radius) as String) + "<br>") as String) + _arg1.cooldown) as String)); descAttrRightCol.updateLabel(" <br><br>UPGRADE COST"); descValRightCol.updateLabel(((" <br><br>" + _arg1.upgradepoint) as String)); if ((stage.mouseX > 250)){ descBox.x = ((stage.mouseX - descBox.width) - 10); } else { descBox.x = (stage.mouseX + 10); }; if ((stage.mouseY > 250)){ descBox.y = ((stage.mouseY - descBox.height) - 10); } else { descBox.y = (stage.mouseY + 10); }; } public function showBombDesc(_arg1:Object):void{ descBox.visible = true; descTitle.updateLabel((_arg1.name as String).toUpperCase()); descDetails.updateLabel((_arg1.desc as String)); descAttrLeftCol.updateLabel(" <br>RADIUS<br>COOLDOWN"); descValLeftCol.updateLabel(((((((" <br>" + _arg1.radius) as String) + "<br>") as String) + _arg1.cooldown) as String)); descAttrRightCol.updateLabel(" <br><br>BUY COST"); descValRightCol.updateLabel(((" <br><br>" + _arg1.buypoint) as String)); if ((stage.mouseX > 250)){ descBox.x = ((stage.mouseX - descBox.width) - 10); } else { descBox.x = (stage.mouseX + 10); }; if ((stage.mouseY > 250)){ descBox.y = ((stage.mouseY - descBox.height) - 10); } else { descBox.y = (stage.mouseY + 10); }; } public function resetTechTree():void{ techItemB.reset(); techItemD.reset(); techItemE.reset(); techItemG.reset(); techItemH.reset(); techItemK.reset(); techItemL.reset(); techItemN.reset(); techItemO.reset(); techItemQ.reset(); techItemR.reset(); techItemS.reset(); techItemT.reset(); techItemU.reset(); weaponSubDialog.removeChild(weaponSlot1); weaponSubDialog.removeChild(weaponSlot2); weaponSlot1 = (null as TechItembox); weaponSlot2 = (null as TechItembox); weaponSlot1 = new TechItembox(Config.projectileA); weaponSlot2 = new TechItembox(Config.projectileA); weaponSlot1.x = 23; weaponSlot1.y = 50; weaponSlot2.x = 114; weaponSlot2.y = 50; weaponSlot1.setActive(true, false); weaponSlot2.setActive(true, false); weaponSubDialog.addChild(weaponSlot1); weaponSubDialog.addChild(weaponSlot2); } public function posTechItem(_arg1:TechItembox, _arg2:Object):void{ _arg1.x = ((_arg2.col == 2)) ? 272 : ((_arg2.col == 1)) ? 136 : 0; _arg1.y = ((_arg2.row == 7)) ? 542 : ((_arg2.row == 6)) ? 465 : ((_arg2.row == 5)) ? 387 : ((_arg2.row == 4)) ? 310 : ((_arg2.row == 3)) ? 232 : ((_arg2.row == 2)) ? 155 : ((_arg2.row == 1)) ? 77 : 0; } public function onUpgradeBombMouseOver(_arg1:MouseEvent):void{ if (Reflect.hasField(Config, (("bomb" + (Profile.bomblvl + 1)) as String))){ showBombUpgradeDesc(Reflect.field(Config, (("bomb" + (Profile.bomblvl + 1)) as String))); }; } public function onUpgradeBombMouseOut(_arg1:MouseEvent):void{ hideDesc(); } public function onUpgradeBombClick():void{ Profile.bomblvl = (Profile.bomblvl + 1); var _local1:int = Reflect.field(Config, (("bomb" + Profile.bomblvl) as String)).upgradepoint; Profile.techpoint = (Profile.techpoint - _local1); ScreenManager.playScreen.updateHUDTechpoints(Profile.techpoint, false); ScreenManager.playScreen.player.currentBombCooldown = Reflect.field(Config, (("bomb" + Profile.bomblvl) as String)).cooldown; ScreenManager.playScreen.updateHUDBomb(); updateDialog(); } public function onTopAnchorClick():void{ if (!((techContainer.y == 64))){ Tweener.addTween(techContainer, {onComplete:activeTop, transition:"easeOutQuad", time:0.5, y:64}); topAnchorButton.lock(); middleAnchorButton.lock(); bottomAnchorButton.lock(); }; } public function onMiddleAnchorClick():void{ if (!((techContainer.y == -91))){ Tweener.addTween(techContainer, {onComplete:activeMiddle, transition:"easeOutQuad", time:0.5, y:-91}); topAnchorButton.lock(); middleAnchorButton.lock(); bottomAnchorButton.lock(); }; } public function onCloseClick():void{ Tweener.addTween(techSubDialog, {time:0.5, transition:"easeInBack", y:-350}); Tweener.addTween(weaponSubDialog, {onComplete:closeDialog, time:0.5, transition:"easeInBack", y:500}); if (TutorialManager.isRunning){ false; }; if (false){ TutorialManager.startCloseTechFirst = LevelStatus.FINISHED; TutorialManager.steps.get(12).onTrigger(); }; if (TutorialManager.isRunning){ false; }; if (false){ TutorialManager.startCloseTechSecond = LevelStatus.FINISHED; TutorialManager.steps.get(25).onTrigger(); }; } public function onClickLifted(_arg1:MouseEvent):void{ if (!weaponSlot1.hitTestObject(_arg1.currentTarget)){ true; }; var _local2:Boolean = true; if (_local2){ if (weaponSlot1.hitTestObject(_arg1.currentTarget)){ weaponSubDialog.removeChild(weaponSlot1); weaponSlot1 = (null as TechItembox); weaponSlot1 = new TechItembox(liftedTechItembox.pData); weaponSlot1.x = 23; weaponSlot1.y = 50; weaponSlot1.setActive(true, false); weaponSubDialog.addChild(weaponSlot1); Profile.weapon1 = weaponSlot1.pData; ScreenManager.playScreen.player.weaponSlot[0] = weaponSlot1.pData; ScreenManager.playScreen.player.updateWeaponSprite(); ScreenManager.playScreen.updateHUDWeaponSlots(); } else { if (weaponSlot2.hitTestObject(_arg1.currentTarget)){ weaponSubDialog.removeChild(weaponSlot2); weaponSlot2 = (null as TechItembox); weaponSlot2 = new TechItembox(liftedTechItembox.pData); weaponSlot2.x = 114; weaponSlot2.y = 50; weaponSlot2.setActive(true, false); weaponSubDialog.addChild(weaponSlot2); Profile.weapon2 = weaponSlot2.pData; ScreenManager.playScreen.player.weaponSlot[1] = weaponSlot2.pData; ScreenManager.playScreen.player.updateWeaponSprite(); ScreenManager.playScreen.updateHUDWeaponSlots(); }; }; if (TutorialManager.isRunning){ false; }; if (false){ TutorialManager.startSetWeapon = LevelStatus.FINISHED; TutorialManager.steps.get(13).onTrigger(); }; }; liftedTechItembox = (null as TechItembox); isLifting = false; _arg1.currentTarget.stopDrag(); _arg1.currentTarget.removeEventListener(MouseEvent.CLICK, onClickLifted); liftedTechContainer.removeChildAt(0); } public function onBottomAnchorClick():void{ if (!((techContainer.y == -246))){ Tweener.addTween(techContainer, {onComplete:activeBottom, transition:"easeOutQuad", time:0.5, y:-246}); topAnchorButton.lock(); middleAnchorButton.lock(); bottomAnchorButton.lock(); }; } public function onAddBombMouseOver(_arg1:MouseEvent):void{ showBombDesc(Reflect.field(Config, (("bomb" + Profile.bomblvl) as String))); } public function onAddBombMouseOut(_arg1:MouseEvent):void{ hideDesc(); } public function onAddBombClick():void{ var _local1:int = Reflect.field(Config, (("bomb" + Profile.bomblvl) as String)).buypoint; Profile.techpoint = (Profile.techpoint - _local1); Profile.bombqty = (Profile.bombqty + 1); ScreenManager.playScreen.updateHUDTechpoints(Profile.techpoint, false); ScreenManager.playScreen.updateHUDBomb(); updateDialog(); } public function lockCloseButton():void{ closeButton.lock(); } public function lift(_arg1:Sprite, _arg2:TechItembox):void{ liftedTechItembox = _arg2; _arg1.x = (stage.mouseX - (_arg1.width / 2)); _arg1.y = (stage.mouseY - (_arg1.height / 2)); _arg1.buttonMode = true; _arg1.mouseEnabled = true; liftedTechContainer.addChild(_arg1); _arg1.startDrag(false); _arg1.addEventListener(MouseEvent.CLICK, onClickLifted); } public function init():void{ techSubDialog.y = -350; weaponSubDialog.y = 500; upgradeBombButton.visible = true; Tweener.addTween(techSubDialog, {time:0.5, transition:"easeOutCubic", y:24}); Tweener.addTween(weaponSubDialog, {time:0.5, transition:"easeOutCubic", y:384}); } public function hideDesc():void{ descBox.visible = false; } public function closeDialog():void{ ScreenManager.hideDialog(); unpausePlayScreen(); closeButton.lock(); } public function activeTop():void{ middleAnchorButton.unlock(); bottomAnchorButton.unlock(); topAnchorButton.setSelected(); middleAnchorButton.setUnselected(); bottomAnchorButton.setUnselected(); } public function activeMiddle():void{ topAnchorButton.unlock(); bottomAnchorButton.unlock(); topAnchorButton.setUnselected(); middleAnchorButton.setSelected(); bottomAnchorButton.setUnselected(); } public function activeBottom():void{ topAnchorButton.unlock(); middleAnchorButton.unlock(); topAnchorButton.setUnselected(); middleAnchorButton.setUnselected(); bottomAnchorButton.setSelected(); } } class EnemyH extends Enemy { public var speed:Number; public var projectileSpreadAngles:int; public var projectileData:Object; public var projectileCount:int; public var networkTime:int; public var moveTime:int; public var minSpeed:Number; public var maxSpeed:Number; public var enemySprite:EnemyHSprite; public var curanimateque:int; public var curNetworkTime:int; public var curMoveTime:int; public var animatespeed:int; public function EnemyH(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.enemyH.hitpoint; worth = Config.enemyH.worth; enemySprite = new EnemyHSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-7, -7, 14, 14); hitbox = _local4; hitbox.alpha = 0; projectileCount = 8; projectileSpreadAngles = 45; minSpeed = 0.8; maxSpeed = 1.1; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; var _local6:int = 100; var _local7:int = 1000; networkTime = 1; moveTime = Std.int(((Math.random() * (_local7 - _local6)) + _local6)); curNetworkTime = 0; curMoveTime = 0; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5 = (null as Vector); var _local6 = (null as Point); var _local7 = (null as Projectile); if (isGhosting){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { if ((curMoveTime < moveTime)){ false; }; if (false){ curMoveTime = (curMoveTime + 1); } else { if ((curNetworkTime < networkTime)){ false; }; if (false){ curNetworkTime = (curNetworkTime + 1); _local1 = 0; _local2 = projectileCount; do { //unresolved if _local3 = _local1; _local1++; _local4 = (_local3 * projectileSpreadAngles); _local5 = (new Vector(Math.cos(((_local4 * Math.PI) / 180)), Math.sin(((_local4 * Math.PI) / 180))) as Vector); _local6 = (new Point(locX, locY) as Point); _local7 = (new ProjectileV(_local5, _local6) as Projectile); ProjectileManager.spawnProjectile(_local6, _local7); } while (true); enemySprite.idle(); } else { curNetworkTime = 0; curMoveTime = 0; }; }; if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; }; } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.enemyHScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } } class Mission5 extends Mission { public var level9:Object; public var level8:Object; public var level7:Object; public var level6:Object; public var level5:Object; public var level4:Object; public var level3:Object; public var level2:Object; public var level10:Object; public var level1:Object; public function Mission5():void{ var _local4:int; var _local5:int; var _local6:int; var _local7:Number; var _local8:Number; var _local9 = (null as Point); if (Boot_BA08CD.skip_constructor){ return; }; super(); integrityThreshold = 10; regenIntegrityRate = 0.001; damageIntegrityRate = 0.0005; var _local1 = (new List() as List); var _local2:int; var _local3:int = 10; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local1.add({pos:_local9, enemy:EnemyH}); } while (true); level1 = {pattern:_local1, delay:2500, id:1}; var _local10 = (new List() as List); _local10.add({pos:new Point(25, 25), enemy:EnemyH}); _local10.add({pos:new Point(475, 25), enemy:EnemyH}); _local10.add({pos:new Point(475, 475), enemy:EnemyH}); _local10.add({pos:new Point(25, 475), enemy:EnemyH}); _local10.add({pos:new Point(275, 275), enemy:SpawnerB}); _local10.add({pos:new Point(225, 275), enemy:SpawnerD}); _local10.add({pos:new Point(250, 50), enemy:EnemyH}); _local10.add({pos:new Point(250, 50), enemy:EnemyH}); _local10.add({pos:new Point(50, 250), enemy:EnemyH}); _local10.add({pos:new Point(50, 250), enemy:EnemyH}); _local10.add({pos:new Point(250, 250), enemy:EnemyB}); _local10.add({pos:new Point(250, 250), enemy:EnemyB}); _local10.add({pos:new Point(250, 250), enemy:EnemyB}); _local10.add({pos:new Point(250, 250), enemy:EnemyB}); _local10.add({pos:new Point(250, 250), enemy:EnemyB}); _local10.add({pos:new Point(250, 250), enemy:EnemyB}); level2 = {pattern:_local10, delay:2500, id:2}; var _local11 = (new List() as List); _local11.add({pos:new Point(100, 150), enemy:EnemyE}); _local11.add({pos:new Point(100, 350), enemy:EnemyE}); _local11.add({pos:new Point(400, 150), enemy:EnemyE}); _local11.add({pos:new Point(400, 350), enemy:EnemyE}); _local11.add({pos:new Point(150, 100), enemy:EnemyH}); _local11.add({pos:new Point(150, 400), enemy:EnemyH}); _local11.add({pos:new Point(350, 100), enemy:EnemyH}); _local11.add({pos:new Point(350, 400), enemy:EnemyH}); _local2 = 0; _local3 = 10; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local11.add({pos:_local9, enemy:EnemyA}); } while (true); level3 = {pattern:_local11, delay:2500, id:3}; var _local12 = (new List() as List); _local2 = 0; _local3 = 10; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local12.add({pos:_local9, enemy:EnemyB}); } while (true); _local2 = 0; _local3 = 4; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local12.add({pos:_local9, enemy:EnemyF}); } while (true); _local2 = 0; _local3 = 4; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local12.add({pos:_local9, enemy:EnemyH}); } while (true); level4 = {pattern:_local12, delay:2500, id:4}; var _local13 = (new List() as List); _local2 = 0; _local3 = 8; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local13.add({pos:_local9, enemy:EnemyH}); } while (true); _local2 = 0; _local3 = 10; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local13.add({pos:_local9, enemy:EnemyG}); } while (true); level5 = {pattern:_local13, delay:2500, id:5}; var _local14 = (new List() as List); _local2 = 0; _local3 = 10; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local14.add({pos:_local9, enemy:EnemyH}); } while (true); _local2 = 0; _local3 = 4; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local14.add({pos:_local9, enemy:EnemyB}); } while (true); _local14.add({pos:new Point(100, 150), enemy:SpawnerA}); _local14.add({pos:new Point(100, 350), enemy:SpawnerA}); _local14.add({pos:new Point(400, 150), enemy:SpawnerA}); _local14.add({pos:new Point(400, 350), enemy:SpawnerA}); level6 = {pattern:_local14, delay:2500, id:6}; var _local15 = (new List() as List); _local2 = 0; _local3 = 6; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local15.add({pos:_local9, enemy:EnemyA}); } while (true); _local2 = 0; _local3 = 4; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local15.add({pos:_local9, enemy:EnemyB}); } while (true); _local2 = 0; _local3 = 8; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local15.add({pos:_local9, enemy:EnemyC}); } while (true); level7 = {pattern:_local15, delay:2500, id:7}; var _local16 = (new List() as List); _local2 = 0; _local3 = 6; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local16.add({pos:_local9, enemy:EnemyC}); } while (true); _local2 = 0; _local3 = 4; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local16.add({pos:_local9, enemy:EnemyH}); } while (true); level8 = {pattern:_local16, delay:2500, id:8}; var _local17 = (new List() as List); _local2 = 0; _local3 = 10; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local17.add({pos:_local9, enemy:EnemyH}); } while (true); _local17.add({pos:new Point(400, 150), enemy:SpawnerB}); _local17.add({pos:new Point(400, 350), enemy:SpawnerB}); level9 = {pattern:_local17, delay:2500, id:9}; var _local18 = (new List() as List); _local18.add({pos:new Point(250, 100), enemy:BossA}); _local18.add({pos:new Point(250, 400), enemy:BossA}); _local18.add({pos:new Point(100, 250), enemy:BossA}); _local18.add({pos:new Point(400, 250), enemy:BossA}); _local18.add({pos:new Point(100, 250), enemy:BossB}); _local18.add({pos:new Point(400, 250), enemy:BossB}); _local18.add({pos:new Point(250, 250), enemy:BossC}); _local18.add({pos:new Point(250, 100), enemy:BossD}); _local18.add({pos:new Point(250, 400), enemy:BossD}); _local2 = 0; _local3 = 4; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local18.add({pos:_local9, enemy:EnemyG}); } while (true); _local2 = 0; _local3 = 4; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local18.add({pos:_local9, enemy:EnemyB}); } while (true); _local2 = 0; _local3 = 4; do { //unresolved if _local4 = _local2; _local2++; _local5 = 32; _local6 = (500 - 32); _local7 = ((Math.random() * (_local6 - _local5)) + _local5); _local8 = ((Math.random() * (_local6 - _local5)) + _local5); _local9 = (new Point(_local7, _local8) as Point); _local18.add({pos:_local9, enemy:EnemyF}); } while (true); level10 = {pattern:_local18, delay:-1, id:10}; } override public function prepareLevels():void{ levels.add(level1); levels.add(level2); levels.add(level3); levels.add(level4); levels.add(level5); levels.add(level6); levels.add(level7); levels.add(level8); levels.add(level9); levels.add(level10); var _local1 = (new Bitmap(Assets.objects.get("Background05")) as Bitmap); ScreenManager.playScreen.setBackground(_local1); } override public function preEnd():void{ hasStarted = false; ScreenManager.playScreen.displayCustomHUDInfo(MissionStatus.CLEARALL, (((("Mission" + Profile.curMissionID) as String) + "Sector") as String), end); } override public function end():void{ MissionManager.endMission(); } } class TitleKroeger extends Font { public function TitleKroeger():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class ScoreStandard extends Font { public function ScoreStandard():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class SmallKroeger extends Font { public function SmallKroeger():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class StylishM20 extends Font { public function StylishM20():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class GetFlashPlayer extends Bitmap { public function GetFlashPlayer():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class ArtElements extends BitmapData { public function ArtElements():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class Background00 extends BitmapData { public function Background00():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class Background01 extends BitmapData { public function Background01():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class Background02 extends BitmapData { public function Background02():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class Background03 extends BitmapData { public function Background03():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class Background04 extends BitmapData { public function Background04():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class Background05 extends BitmapData { public function Background05():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class BarMarks extends BitmapData { public function BarMarks():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(214, 25); } } class ContinueDialog extends BitmapData { public function ContinueDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(200, 100); } } class ControlInstructions extends BitmapData { public function ControlInstructions():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(480, 350); } } class Credits extends BitmapData { public function Credits():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class EnemyTiles extends BitmapData { public function EnemyTiles():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class HasTutorialDialog extends BitmapData { public function HasTutorialDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(240, 224); } } class HighscoreDialog extends BitmapData { public function HighscoreDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(240, 315); } } class HudBarsInstructions extends BitmapData { public function HudBarsInstructions():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(480, 350); } } class InstructionsDialog extends BitmapData { public function InstructionsDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(480, 350); } } class MenuDialog extends BitmapData { public function MenuDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(240, 224); } } class Player_Cores extends BitmapData { public function Player_Cores():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(72, 6); } } class Sponsors extends BitmapData { public function Sponsors():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class RUSureDialog extends BitmapData { public function RUSureDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(200, 200); } } class TechSubDialog extends BitmapData { public function TechSubDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(350, 350); } } class TechTiles extends BitmapData { public function TechTiles():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(448, 0x0200); } } class TechTree extends BitmapData { public function TechTree():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(304, 574); } } class TechUIInstructions extends BitmapData { public function TechUIInstructions():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(480, 350); } } class TitleBackground extends BitmapData { public function TitleBackground():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class TitleForeground extends BitmapData { public function TitleForeground():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class UITiles extends BitmapData { public function UITiles():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(500, 500); } } class WeaponSubDialog extends BitmapData { public function WeaponSubDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(350, 92); } } class Player_BasicLong extends Sprite { public function Player_BasicLong():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_BasicShort extends Sprite { public function Player_BasicShort():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_BasicSpread extends Sprite { public function Player_BasicSpread():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_BasicSpreadLong extends Sprite { public function Player_BasicSpreadLong():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_BasicSpreadTarget extends Sprite { public function Player_BasicSpreadTarget():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_BasicTarget extends Sprite { public function Player_BasicTarget():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_HCannonShortPierce extends Sprite { public function Player_HCannonShortPierce():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_HCannonTargetPierce extends Sprite { public function Player_HCannonTargetPierce():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_HCannonTargetSpreadPierce extends Sprite { public function Player_HCannonTargetSpreadPierce():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_LaserCannonTarget extends Sprite { public function Player_LaserCannonTarget():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_LaserCannonTargetPierce extends Sprite { public function Player_LaserCannonTargetPierce():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_LaserTarget extends Sprite { public function Player_LaserTarget():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_LCannonShort extends Sprite { public function Player_LCannonShort():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_LCannonSpread extends Sprite { public function Player_LCannonSpread():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_LCannonTarget extends Sprite { public function Player_LCannonTarget():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_MCannonPierce extends Sprite { public function Player_MCannonPierce():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_MCannonShort extends Sprite { public function Player_MCannonShort():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_MCannonTarget extends Sprite { public function Player_MCannonTarget():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_MissileTarget extends Sprite { public function Player_MissileTarget():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_MissileTargetSpread extends Sprite { public function Player_MissileTargetSpread():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Player_MissileTargetSpreadPierce extends Sprite { public function Player_MissileTargetSpreadPierce():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class PlayTrack extends Sound { public function PlayTrack():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class TitleAmbient extends Sound { public function TitleAmbient():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class InflictHit extends Sound { public function InflictHit():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class BasicProjectile extends Sound { public function BasicProjectile():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class LightCannon extends Sound { public function LightCannon():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class MediumCannon extends Sound { public function MediumCannon():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class HeavyCannon extends Sound { public function HeavyCannon():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Missiles extends Sound { public function Missiles():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class EnemyTeleporting extends Sound { public function EnemyTeleporting():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Exploding extends Sound { public function Exploding():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class ExplodingBomb extends Sound { public function ExplodingBomb():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Lasers extends Sound { public function Lasers():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); } } class Main { public static var loadContainer:Sprite; public static var playerWarning:Sprite; public static var domainWarning:Sprite; public static var loadingBar:Sprite; public static var loadingPerc:Sprite; public static var loadingBarBG:Sprite; public static var loadingCompleteText:Label; public static var loadingPercText:Label; public static var clientRunning:Boolean; public function Main():void{ if (Boot_BA08CD.skip_constructor){ return; }; KeyMouseManager.setupEvents(); MissionManager.loadMissions(); ScreenManager.loadScreens(); CollisionManager.setupGrids(); ScreenManager.showScreen("sponsors"); } public static function isInDomain():Boolean{ var _local7:int; var _local1:Boolean; var _local2 = (Lib.current.loaderInfo.url as String); var _local3:int = (_local2.indexOf("://") + 3); var _local4:int = _local2.indexOf("/", (_local3 + 1)); var _local5 = (_local2.substr(0, _local4) as String); var _local6 = (_local5.substr(_local3) as String); if (Std.is(Config.domain, Array)){ if ((Config.domain.length > 0)){ _local7 = 0; do { //unresolved if if ((_local6 == (Config.domain[_local7] as String))){ _local1 = true; break; }; _local7++; } while (true); } else { _local1 = false; }; }; return (_local1); } public static function parsePlayerVersion():Object{ var _local1 = ((Capabilities.version.split(" ")[0] as String) as String); var _local2 = ((Capabilities.version.split(" ")[1] as String) as String); var _local3:int = Std.parseInt((_local2.split(",")[0] as String)); var _local4:int = Std.parseInt((_local2.split(",")[1] as String)); var _local5:int = Std.parseInt((_local2.split(",")[2] as String)); var _local6:int = Std.parseInt((_local2.split(",")[3] as String)); return ({internalBuildNumber:_local6, buildNumber:_local5, minorversion:_local4, majorversion:_local3, platform:_local1}); } public static function startGame():void{ Lib.current.removeChild(Main.loadContainer); var _local1 = (new Main() as Main); Main.clientRunning = true; } public static function populateAssets():void{ Assets.objects = new Hash(); Assets.objects.set("ArtElements", new ArtElements()); Assets.objects.set("Background00", new Background00()); Assets.objects.set("Background01", new Background01()); Assets.objects.set("Background02", new Background02()); Assets.objects.set("Background03", new Background03()); Assets.objects.set("Background04", new Background04()); Assets.objects.set("Background05", new Background05()); Assets.objects.set("BarMarks", new BarMarks()); Assets.objects.set("ContinueDialog", new ContinueDialog()); Assets.objects.set("ControlInstructions", new ControlInstructions()); Assets.objects.set("Credits", new Credits()); Assets.objects.set("EnemyTiles", new EnemyTiles()); Assets.objects.set("HasTutorialDialog", new HasTutorialDialog()); Assets.objects.set("HighscoreDialog", new HighscoreDialog()); Assets.objects.set("HudBarsInstructions", new HudBarsInstructions()); Assets.objects.set("InstructionsDialog", new InstructionsDialog()); Assets.objects.set("MenuDialog", new MenuDialog()); Assets.objects.set("Player_Cores", new Player_Cores()); Assets.objects.set("Sponsors", new Sponsors()); Assets.objects.set("RUSureDialog", new RUSureDialog()); Assets.objects.set("TechSubDialog", new TechSubDialog()); Assets.objects.set("TechTiles", new TechTiles()); Assets.objects.set("TechTree", new TechTree()); Assets.objects.set("TitleBackground", new TitleBackground()); Assets.objects.set("TitleForeground", new TitleForeground()); Assets.objects.set("TechUIInstructions", new TechUIInstructions()); Assets.objects.set("UITiles", new UITiles()); Assets.objects.set("WeaponSubDialog", new WeaponSubDialog()); Assets.classes = new Hash(); Assets.classes.set("Player_BasicLong", Player_BasicLong); Assets.classes.set("Player_BasicShort", Player_BasicShort); Assets.classes.set("Player_BasicSpread", Player_BasicSpread); Assets.classes.set("Player_BasicSpreadLong", Player_BasicSpreadLong); Assets.classes.set("Player_BasicSpreadTarget", Player_BasicSpreadTarget); Assets.classes.set("Player_BasicTarget", Player_BasicTarget); Assets.classes.set("Player_HCannonShortPierce", Player_HCannonShortPierce); Assets.classes.set("Player_HCannonTargetPierce", Player_HCannonTargetPierce); Assets.classes.set("Player_HCannonTargetSpreadPierce", Player_HCannonTargetSpreadPierce); Assets.classes.set("Player_LaserCannonTarget", Player_LaserCannonTarget); Assets.classes.set("Player_LaserCannonTargetPierce", Player_LaserCannonTargetPierce); Assets.classes.set("Player_LaserTarget", Player_LaserTarget); Assets.classes.set("Player_LCannonShort", Player_LCannonShort); Assets.classes.set("Player_LCannonSpread", Player_LCannonSpread); Assets.classes.set("Player_LCannonTarget", Player_LCannonTarget); Assets.classes.set("Player_MCannonPierce", Player_MCannonPierce); Assets.classes.set("Player_MCannonShort", Player_MCannonShort); Assets.classes.set("Player_MCannonTarget", Player_MCannonTarget); Assets.classes.set("Player_MissileTarget", Player_MissileTarget); Assets.classes.set("Player_MissileTargetSpread", Player_MissileTargetSpread); Assets.classes.set("Player_MissileTargetSpreadPierce", Player_MissileTargetSpreadPierce); Assets.classes.set("PlayTrack", PlayTrack); Assets.classes.set("TitleAmbient", TitleAmbient); Assets.classes.set("InflictHit", InflictHit); Assets.classes.set("BasicProjectile", BasicProjectile); Assets.classes.set("LightCannon", LightCannon); Assets.classes.set("MediumCannon", MediumCannon); Assets.classes.set("HeavyCannon", HeavyCannon); Assets.classes.set("Missiles", Missiles); Assets.classes.set("EnemyTeleporting", EnemyTeleporting); Assets.classes.set("Exploding", Exploding); Assets.classes.set("ExplodingBomb", ExplodingBomb); Assets.classes.set("Lasers", Lasers); } public static function setupLoaderContainer():void{ var _local1 = (new Sprite() as Sprite); var _local2 = (new Matrix() as Matrix); _local2.createGradientBox(500, 500, ((Math.PI / 180) * 90)); _local1.graphics.beginGradientFill(GradientType.LINEAR, [0x5C5C5C, 855309], [1, 1], [0, 0xFF], _local2); _local1.graphics.drawRect(0, 0, 500, 500); var _local3:* = {html:true, selectable:false, align:TextFormatAlign.CENTER, height:400, width:490, embedFonts:true, color:0xFFFFFF, size:8, font:new DescStandard().fontName}; Main.loadingPercText = new Label("LOADING.0%", _local3); Main.loadingPercText.getTextField().x = (-(Main.loadingPercText.getTextField().width) / 2); Main.loadingPercText.getTextField().y = -20; Main.loadingPercText.getTextField().alpha = 0; Main.loadingCompleteText = new Label("LOADING.COMPLETE", _local3); Main.loadingCompleteText.getTextField().x = (-(Main.loadingCompleteText.getTextField().width) / 2); Main.loadingCompleteText.getTextField().y = -20; Main.loadingCompleteText.getTextField().alpha = 0.7; Main.loadingBar = new Sprite(); Main.loadingBar.graphics.beginFill(0xFFFFFF, 0.4); Main.loadingBar.graphics.drawRect(-243, 0, 486, 5); Main.loadingBar.scaleX = 0; Main.loadingBarBG = new Sprite(); Main.loadingBarBG.graphics.beginFill(0xFFFFFF, 0.3); Main.loadingBarBG.graphics.drawRect(-243, 0, 486, 5); Main.loadingPerc = new Sprite(); Main.loadingPerc.addChild(Main.loadingPercText.getTextField()); Main.loadingPerc.addChild(Main.loadingCompleteText.getTextField()); Main.loadingPerc.addChild(Main.loadingBarBG); Main.loadingPerc.addChild(Main.loadingBar); Main.loadingPerc.x = 250; Main.loadingPerc.y = 486; Main.domainWarning = new Sprite(); var _local4 = (new Label("- E R R O R - <br>Sorry, you can only access this from<br> http://www.flashgamelicense.com/ or http://www.fantasticchoice.com<br> Interested in sponsoring? Please go to either of the URLs above.<br>Thank you.", _local3) as Label); _local4.getTextField().x = (-(_local4.getTextField().width) / 2); _local4.getTextField().alpha = 0.7; Main.domainWarning.addChild(_local4.getTextField()); Main.domainWarning.x = 250; Main.domainWarning.y = 200; Main.domainWarning.visible = false; Main.playerWarning = new Sprite(); var _local5 = (new Sprite() as Sprite); _local5.addChild(new GetFlashPlayer()); var _local6 = (new Label("- O O P S - <br>It seems like your using a Flash Player version below version 9,0,47,0.<br> Please install the latest Flash Player plugin by clicking on the banner below.", _local3) as Label); _local6.getTextField().x = (-(_local6.getTextField().width) / 2); _local6.getTextField().alpha = 0.7; _local5.buttonMode = true; _local5.x = (-(_local5.width) / 2); _local5.y = (_local6.getTextField().height + 10); Main.playerWarning.addChild(_local6.getTextField()); Main.playerWarning.addChild(_local5); Main.playerWarning.x = 250; Main.playerWarning.y = 200; Main.playerWarning.visible = false; _local5.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent):void{ Lib.getURL(new URLRequest("http://www.adobe.com/go/getflashplayer"), "blank"); }); Main.loadContainer = new Sprite(); Main.loadContainer.addChild(_local1); Main.loadContainer.addChild(Main.loadingPerc); Main.loadContainer.addChild(Main.domainWarning); Main.loadContainer.addChild(Main.playerWarning); } public static function setupLoader():void{ } public static function main():void{ Main.clientRunning = false; Main.setupLoaderContainer(); Main.setupLoader(); Lib.current.stage.quality = StageQuality.LOW; Lib.current.stage.scaleMode = StageScaleMode.NO_SCALE; Lib.current.addChild(Main.loadContainer); if ((Main.parsePlayerVersion().majorversion >= 9)){ false; }; if (false){ Main.playerWarning.visible = false; Main.populateAssets(); Main.startGame(); } else { Main.playerWarning.visible = true; }; } } class Preloader extends MovieClip { public function Preloader():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); Log.trace(loaderInfo.toString(), {methodName:"new", className:"Preloader", lineNumber:433, fileName:"Main.hx"}); loaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress); } public function showProgress(_arg1:ProgressEvent):void{ Log.trace("oke", {methodName:"showProgress", className:"Preloader", lineNumber:438, fileName:"Main.hx"}); var _local2:Number = Math.round(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100)); Log.trace(((_local2 + "% loaded") as String), {methodName:"showProgress", className:"Preloader", lineNumber:440, fileName:"Main.hx"}); } public function initApplication(_arg1:Event):void{ Log.trace("loaded!", {methodName:"initApplication", className:"Preloader", lineNumber:444, fileName:"Main.hx"}); } } class FPS extends TextField { public var textformat:TextFormat; public var startTick:Number; public var spritesToWatch:List; public var numFrames:int; public var mCalcs:int; public var mCalcTotal:Number; public var mCalc0:Number; public var listsToWatch:List; public var lastTick:Number; public function FPS():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); textformat = new TextFormat("arial", 10, 0xFFFFFF, null, null, null, "", "", "left", 5, 5, null, null); spritesToWatch = new List(); listsToWatch = new List(); type = TextFieldType.DYNAMIC; selectable = false; wordWrap = false; multiline = false; filters = [new DropShadowFilter(2, 45, 0, 1, 1, 1, 2, 3, false, false, false)]; htmlText = "FPS:--"; height = (textHeight + 6); width = 440; startTick = Lib.getTimer(); lastTick = startTick; numFrames = 0; mCalcTotal = 0; mCalc0 = 0; mCalcs = 0; addEventListener(Event.ENTER_FRAME, onFrame); } public function stopCount():void{ mCalcTotal = (mCalcTotal + (Lib.getTimer() - mCalc0)); mCalcs = (mCalcs + 1); } public function startCount():void{ mCalc0 = Lib.getTimer(); } public function onFrame(_arg1:Event):void{ var _local7:* = null; var _local8:* = null; numFrames = (numFrames + 1); var _local2:Number = (Lib.getTimer() - startTick); var _local3:Number = ((numFrames * 1000) / _local2); var _local4:Number = 0; if ((mCalcs > 0)){ _local4 = (mCalcTotal / mCalcs); }; var _local5 = (Std.string(_local3).substr(0, 5) as String); var _local6 = (Std.string(_local4).substr(0, 3) as String); if (((_local2 / 1000) > 1)){ htmlText = (((((("FPS:" + _local5) as String) + " DT:") as String) + _local6) as String); if ((spritesToWatch.length > 0)){ _local7 = spritesToWatch.iterator(); do { //unresolved if _local8 = _local7.next(); appendText(Std.string(((((((" " + (_local8.name as String)) as String) + ":") as String) + (_local8.obj as Sprite).numChildren) as String))); } while (true); }; if ((listsToWatch.length > 0)){ _local7 = listsToWatch.iterator(); do { //unresolved if _local8 = _local7.next(); if (((_local8.obj as List).length > 0)){ false; }; if (false){ appendText(Std.string(((((((" " + (_local8.name as String)) as String) + ":") as String) + (_local8.obj as List).length) as String))); } else { appendText(Std.string(((((" " + (_local8.name as String)) as String) + ":--") as String))); }; } while (true); }; appendText(Std.string(((" C_G:" + CollisionManager.cGridCount) as String))); appendText(Std.string(((" E_G:" + CollisionManager.eGridCount) as String))); appendText(Std.string(((" P_G:" + CollisionManager.pGridCount) as String))); appendText(Std.string(((" EP_G:" + CollisionManager.epGridCount) as String))); appendText(Std.string(((" PL_G:" + CollisionManager.plGridCount) as String))); setTextFormat(textformat); numFrames = 0; startTick = Lib.getTimer(); }; } public function addSpritesToWatch(_arg1:Object):void{ spritesToWatch.add(_arg1); } public function addListsToWatch(_arg1:Object):void{ listsToWatch.add(_arg1); } } class ProjectileC extends Projectile { public function ProjectileC(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(8, 2, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 8, 2), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -1; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } } class StringBuf { public var b:Object; public function StringBuf():void{ if (Boot_BA08CD.skip_constructor){ return; }; b = ""; } public function toString():String{ return (b); } public function addSub(_arg1:String, _arg2:int, _arg3:Object=undefined):void{ if ((_arg3 == null)){ b = (b + _arg1.substr(_arg2)); } else { b = (b + _arg1.substr(_arg2, _arg3)); }; } public function addChar(_arg1:int):void{ b = (b + String["fromCharCode"](_arg1)); } public function add(_arg1:Object=undefined):void{ b = (b + _arg1); } } class BossD extends Enemy { public var teleportTime:int; public var speed:Number; public var shieldSprite:Sprite; public var projectileData:Object; public var moveTime:int; public var minSpeed:Number; public var maxshieldpoint:int; public var maxSpeed:Number; public var isTeleporting:Boolean; public var enemySprite:BossDSprite; public var distanceThreshold:int; public var curanimateque:int; public var curTeleportTime:int; public var curMoveTime:int; public var chanceOfTeleporting:Number; public var animatespeed:int; public function BossD(_arg1:Sprite=undefined, _arg2:Rectangle=undefined, _arg3:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2, _arg3); hitpoint = Config.bossD.hitpoint; maxshieldpoint = (Config.bossD.hitpoint * 8); shieldpoint = maxshieldpoint; worth = Config.bossD.worth; enemySprite = new BossDSprite(); objectSprite = enemySprite; inflictHitSprite.addChild(enemySprite.inflictGroup); shieldSprite = new Sprite(); var _local4 = (new Sprite() as Sprite); _local4.graphics.beginFill(0xFFFFFF); _local4.graphics.drawRect(-14, -14, 28, 28); hitbox = _local4; hitbox.alpha = 0; minSpeed = 0.2; maxSpeed = 0.4; var _local5:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local5 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local5 * Math.PI) / 180)) * speed); animatespeed = Std.int(((1 / speed) * enemySprite.equipframes)); curanimateque = 0; var _local6:int = 300; var _local7:int = 800; moveTime = Std.int(((Math.random() * (_local7 - _local6)) + _local6)); curMoveTime = 0; var _local8:int = 3; var _local9:int = 5; teleportTime = Std.int(((Math.random() * (_local9 - _local8)) + _local8)); distanceThreshold = 100; chanceOfTeleporting = 0.1; isTeleporting = false; ghostingTime = 100; curGhostingQue = 0; isGhosting = true; objectSprite.alpha = 0; container.addChild(hitbox); container.addChild(objectSprite); container.addChild(inflictHitSprite); displayParent.addChild(container); } override public function update():void{ var _local1 = (null as Point); var _local2:Number; if (isGhosting){ false; }; if (false){ if ((curGhostingQue < ghostingTime)){ curGhostingQue = (curGhostingQue + 1); objectSprite.alpha = (curGhostingQue / ghostingTime); } else { curGhostingQue = 0; isGhosting = false; objectSprite.alpha = 1; }; } else { if ((curMoveTime < moveTime)){ curMoveTime = (curMoveTime + 1); _local1 = (new Point(ScreenManager.playScreen.player.locX, ScreenManager.playScreen.player.locY) as Point); _local2 = Math.atan2((_local1.y - container.y), (_local1.x - container.x)); vectorX = (Math.cos(_local2) * speed); vectorY = (Math.sin(_local2) * speed); if (!(((container.x + vectorX) + (container.width / 2)) > boundary.right)){ true; }; if (true){ vectorX = (vectorX * -1); }; if (!(((container.y + vectorY) + (container.height / 2)) > boundary.bottom)){ true; }; if (true){ vectorY = (vectorY * -1); }; container.x = (container.x + vectorX); container.y = (container.y + vectorY); locX = container.x; locY = container.y; if (isInflictedHit){ if ((currentInflictTime < showInflictTime)){ currentInflictTime = (currentInflictTime + 1); } else { inflictHit(); currentInflictTime = 0; }; }; if ((curanimateque == animatespeed)){ enemySprite.animate(); curanimateque = 0; } else { curanimateque = (curanimateque + 1); }; if ((Point.distance(_local1, new Point(locX, locY)) < (distanceThreshold * 2))){ if ((shieldpoint > 1)){ isInvincible = true; createShield(); } else { isInvincible = false; }; } else { isInvincible = false; shieldpoint = maxshieldpoint; destroyShield(); }; } else { if ((curMoveTime == moveTime)){ _local1 = (new Point(ScreenManager.playScreen.player.locX, ScreenManager.playScreen.player.locY) as Point); if ((Point.distance(_local1, new Point(locX, locY)) >= distanceThreshold)){ false; }; if (false){ _local2 = Math.random(); if ((_local2 <= chanceOfTeleporting)){ if (!(isTeleporting)){ bamf(); }; curTeleportTime = (curTeleportTime + 1); objectSprite.visible = false; isGhosting = true; isTeleporting = true; }; } else { teleport(_local1); bamf(); objectSprite.visible = true; isGhosting = false; isTeleporting = false; curTeleportTime = 0; curMoveTime = 0; }; }; }; }; } public function teleport(_arg1:Point):void{ var _local2:Number = (Math.random() * 360); var _local3:Number = ((Math.cos(((_local2 * Math.PI) / 180)) * distanceThreshold) + _arg1.x); var _local4:Number = ((Math.sin(((_local2 * Math.PI) / 180)) * distanceThreshold) + _arg1.y); var _local5 = (new Point(_local3, _local4) as Point); var _local6:Number = (boundary.left + (objectSprite.width / 2)); var _local7:Number = (boundary.right - (objectSprite.width / 2)); var _local8:Number = (boundary.top + (objectSprite.height / 2)); var _local9:Number = (boundary.bottom - (objectSprite.height / 2)); if ((_local5.x < _local6)){ _local5.x = _local6; }; if ((_local5.x > _local7)){ _local5.x = _local7; }; if ((_local5.y < _local8)){ _local5.y = _local8; }; if ((_local5.y > _local9)){ _local5.y = _local9; }; container.x = _local5.x; container.y = _local5.y; var _local10:Number = (Math.random() * 360); speed = ((Math.random() * (maxSpeed - minSpeed)) + minSpeed); vectorX = (Math.cos(((_local10 * Math.PI) / 180)) * speed); vectorY = (Math.sin(((_local10 * Math.PI) / 180)) * speed); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.enemyAExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); var _local2 = (new ParticleEmitter(Config.bossDScoreExplosionEmitter) as ParticleEmitter); _local2.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local2); } public function destroyShield():void{ if (container.contains(shieldSprite)){ shieldSprite.graphics.clear(); shieldSprite.filters = []; container.removeChild(shieldSprite); }; } override public function decreaseShield():void{ var _local1:Number = 0.3; var _local2:Number = 1; var _local3:Number = (shieldpoint / maxshieldpoint); if ((_local3 <= 0)){ destroyShield(); }; var _local4:Number = ((_local3 * (_local2 - _local1)) + _local1); var _local5:* = _local4; shieldSprite.scaleY = _local5; shieldSprite.scaleX = _local5; } public function createShield():void{ var _local1:* = null; if (!(container.contains(shieldSprite))){ _local1 = 1; shieldSprite.scaleY = _local1; shieldSprite.scaleX = _local1; shieldSprite.graphics.lineStyle(2, 0xFFFFFF, 0.5); shieldSprite.graphics.drawCircle(0, 0, (enemySprite.width / 3)); shieldSprite.filters = [new BlurFilter(2, 2, 2)]; container.addChild(shieldSprite); }; } public function bamf():void{ var _local1 = (new ParticleEmitter(Config.enemyTeleportEmitter) as ParticleEmitter); _local1.loc = new Point(container.x, container.y); ParticleManager.createEmitter(_local1); SoundManager.playSFX("EnemyTeleporting"); } } class PropertyInfoObj { public var valueStart:Object; public var valueComplete:Number; public var modifierParameters:Array; public var modifierFunction:Object; public var hasModifier:Boolean; public function PropertyInfoObj(_arg1:Object=undefined, _arg2:Number=undefined, _arg3:Object=undefined, _arg4:Array=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; valueStart = _arg1; valueComplete = _arg2; hasModifier = Std.bool(_arg3); modifierFunction = _arg3; modifierParameters = _arg4; } public function toString():String{ var _local1 = ("\n[PropertyInfoObj " as String); _local1 = (((_local1 + (("valueStart:" + Std.string(valueStart)) as String)) as String) as String); _local1 = (((_local1 + ", ") as String) as String); _local1 = (((_local1 + (("valueComplete:" + Std.string(valueComplete)) as String)) as String) as String); _local1 = (((_local1 + ", ") as String) as String); _local1 = (((_local1 + (("modifierFunction:" + Std.string(modifierFunction)) as String)) as String) as String); _local1 = (((_local1 + ", ") as String) as String); _local1 = (((_local1 + (("modifierParameters:" + Std.string(modifierParameters)) as String)) as String) as String); _local1 = (((_local1 + "]\n") as String) as String); return (_local1); } public function clone():PropertyInfoObj{ var _local1 = (new PropertyInfoObj(valueStart, valueComplete, modifierFunction, modifierParameters) as PropertyInfoObj); return (_local1); } } class BossMineSprite extends Sprite { public var inflictGroup:Sprite; public var inflictCore:Bitmap; public var coreframes:int; public var core:MovieTile; public var container:Sprite; public function BossMineSprite():void{ var _local5:int; var _local6:int; var _local7:int; var _local8:int; if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(32, 64, true) as BitmapData); _local1.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(448, 128, 32, 64), new Point(0, 0)); core = new MovieTile(_local1, 32, 32); core.x = -16; core.y = -16; coreframes = core.frames; var _local2 = (new BitmapData(32, 32, true) as BitmapData); _local2.copyPixels(Assets.objects.get("EnemyTiles"), new Rectangle(448, 128, 32, 32), new Point(0, 0)); var _local3:int; var _local4:int = 32; do { //unresolved if _local5 = _local3; _local3++; _local6 = 0; _local7 = 32; do { //unresolved if _local8 = _local6; _local6++; if ((_local2.getPixel32(_local5, _local8) > 0)){ _local2.setPixel32(_local5, _local8, -1); }; } while (true); } while (true); inflictCore = new Bitmap(_local2); inflictCore.x = -16; inflictCore.y = -16; inflictGroup = new Sprite(); inflictGroup.addChild(inflictCore); container = new Sprite(); container.addChild(core); addChild(container); } public function animate():void{ core.nextFrame(); } } class ProjectileP extends Projectile { public var burstEmitter:ParticleEmitter; public function ProjectileP(_arg1:Vector=undefined, _arg2:Point=undefined):void{ if (Boot_BA08CD.skip_constructor){ return; }; super(_arg1, _arg2); speed = 20; vector = new Vector((_arg1.vx * speed), (_arg1.vy * speed)); maxDistance = 400; fadeSteps = 5; useTarget = false; hitNDestroy = false; var _local3 = (new Sprite() as Sprite); var _local4 = (new BitmapData(12, 8, true, 0xFFFFFF) as BitmapData); _local4.fillRect(new Rectangle(0, 0, 12, 8), -1); var _local5 = (new Bitmap(_local4) as Bitmap); _local5.y = -4; _local3.addChild(_local5); projectileSprite.addChild(_local3); } override public function setInitPos(_arg1:Point):void{ initPoint = _arg1; projectileSprite.x = initPoint.x; projectileSprite.y = initPoint.y; burstEmitter = new ParticleEmitter(Config.projectilePBurstEmitter, projectileSprite); burstEmitter.loc = _arg1; ParticleManager.createEmitter(burstEmitter); } override public function explode():void{ var _local1 = (new ParticleEmitter(Config.projectileBExplosionEmitter) as ParticleEmitter); _local1.loc = new Point(projectileSprite.x, projectileSprite.y); ParticleManager.createEmitter(_local1); } override public function destroy(_arg1:Object=undefined):void{ burstEmitter.killMe(); var _local2:Boolean = ((_arg1 == null)) ? true : _arg1; if (_local2){ explode(); }; if ((projectileSprite.numChildren > 0)){ projectileSprite.removeChildAt(0); }; } } class GameOverDialog extends Screen { public var yourScore:Sprite; public var yourName:Sprite; public var submittingContainer:Sprite; public var submitting:Sprite; public var submitTwirl:MovieTile; public var submitButton:ButtonTile; public var scoreLabel:Label; public var scoreDataLoader:URLLoader; public var scoreContainer:Sprite; public var noButton:ButtonTile; public var nameInputBG:Sprite; public var nameInput:Input; public var highscoreDialog:Sprite; public var gameover:Sprite; public var beforeSubmittingContainer:Sprite; public function GameOverDialog():void{ if (Boot_BA08CD.skip_constructor){ return; }; super(); var _local1 = (new BitmapData(176, 32, true) as BitmapData); _local1.copyPixels(Assets.objects.get("ArtElements"), new Rectangle(0x0100, 80, 176, 32), new Point(0, 0)); var _local2 = (new Bitmap(_local1) as Bitmap); _local2.x = (-(_local2.width) / 2); _local2.y = (-(_local2.height) / 2); gameover = new Sprite(); gameover.addChild(_local2); gameover.filters = [new GlowFilter(0xFFFFFF, 0.7, 4, 4, 2, 3, false, false)]; highscoreDialog = new Sprite(); highscoreDialog.addChild(new Bitmap(Assets.objects.get("HighscoreDialog"))); submittingContainer = new Sprite(); beforeSubmittingContainer = new Sprite(); var _local3 = (new BitmapData(128, 32, true) as BitmapData); _local3.copyPixels(Assets.objects.get("UITiles"), new Rectangle(272, 80, 128, 32), new Point(0, 0)); var _local4 = (new Bitmap(_local3) as Bitmap); _local4.x = (-(_local4.width) / 2); _local4.y = (-(_local4.height) / 2); yourScore = new Sprite(); yourScore.addChild(_local4); var _local5:* = {align:TextFormatAlign.CENTER, autosize:TextFieldAutoSize.CENTER, embedFonts:true, wordwrap:false, multiline:false, selectable:false, color:0xFFFFFF, size:24, font:new StylishM20().fontName}; scoreLabel = new Label(Std.string(Profile.score), _local5); scoreLabel.getTextField().x = (-(scoreLabel.getTextField().width) / 2); scoreLabel.getTextField().y = (-(scoreLabel.getTextField().height) / 2); scoreContainer = new Sprite(); scoreContainer.addChild(scoreLabel.getTextField()); var _local6 = (new BitmapData(64, 32, true) as BitmapData); _local6.copyPixels(Assets.objects.get("UITiles"), new Rectangle(272, 112, 64, 32), new Point(0, 0)); var _local7 = (new Bitmap(_local6) as Bitmap); _local7.x = (-(_local7.width) / 2); _local7.y = (-(_local7.height) / 2); yourName = new Sprite(); yourName.addChild(_local7); var _local8:* = {restrict:"A-Za-z0-9", width:200, maxchars:20, align:TextFormatAlign.CENTER, embedFonts:true, color:0xFFFFFF, size:16, font:new ScoreStandard().fontName}; nameInput = new Input(_local8); nameInput.getTextField().x = (-(nameInput.getTextField().width) / 2); nameInput.getTextField().y = -14; var _local9 = (new BitmapData(200, 32, true) as BitmapData); _local9.copyPixels(Assets.objects.get("UITiles"), new Rectangle(248, 176, 200, 32), new Point(0, 0)); var _local10 = (new Bitmap(_local9) as Bitmap); _local10.x = (-(_local10.width) / 2); _local10.y = (-(_local10.height) / 2); nameInputBG = new Sprite(); nameInputBG.addChild(_local10); nameInputBG.addChild(nameInput.getTextField()); var _local11 = (new BitmapData(176, 32, true) as BitmapData); _local11.copyPixels(Assets.objects.get("UITiles"), new Rectangle(272, 144, 176, 32), new Point(0, 0)); var _local12 = (new Bitmap(_local11) as Bitmap); _local12.x = (-(_local12.width) / 2); _local12.y = (-(_local12.height) / 2); submitting = new Sprite(); submitting.addChild(_local12); var _local13 = (new BitmapData(48, 384, true) as BitmapData); _local13.copyPixels(Assets.objects.get("UITiles"), new Rectangle(448, 0, 48, 384), new Point(0, 0)); submitTwirl = new MovieTile(_local13, 48, 48); submitTwirl.play(); var _local14 = (new BitmapData(149, 120, true) as BitmapData); _local14.copyPixels(Assets.objects.get("UITiles"), new Rectangle(0, 260, 149, 120), new Point(0, 0)); var _local15 = (new BitmapData(149, 120, true) as BitmapData); _local15.copyPixels(Assets.objects.get("UITiles"), new Rectangle(149, 260, 149, 120), new Point(0, 0)); submitButton = new ButtonTile(_local14, 149, 30); noButton = new ButtonTile(_local15, 149, 30); yourName.x = (highscoreDialog.width / 2); yourName.y = 130; nameInputBG.x = (highscoreDialog.width / 2); nameInputBG.y = 170; submitButton.x = 46; submitButton.y = 199; noButton.x = 46; noButton.y = 260; beforeSubmittingContainer.addChild(yourName); beforeSubmittingContainer.addChild(nameInputBG); beforeSubmittingContainer.addChild(submitButton); beforeSubmittingContainer.addChild(noButton); submitting.x = (highscoreDialog.width / 2); submitting.y = 240; submitTwirl.x = ((highscoreDialog.width / 2) - (submitTwirl.width / 2)); submitTwirl.y = 150; submittingContainer.addChild(submitting); submittingContainer.addChild(submitTwirl); yourScore.x = (highscoreDialog.width / 2); yourScore.y = 34; scoreContainer.x = (highscoreDialog.width / 2); scoreContainer.y = 74; highscoreDialog.addChild(beforeSubmittingContainer); highscoreDialog.addChild(submittingContainer); highscoreDialog.addChild(yourScore); highscoreDialog.addChild(scoreContainer); container.addChild(gameover); container.addChild(highscoreDialog); submitButton.click = onSubmitClick; noButton.click = onNoClick; } public function onSubmitClick():void{ submittingContainer.visible = true; beforeSubmittingContainer.visible = false; var _local1 = (nameInput.getTextField().text as String); var _local2 = (Std.string(Profile.score) as String); var _local3 = (new URLRequest("http://rankz.armorbot.com/submit/as3_v0.php") as URLRequest); _local3.method = URLRequestMethod.POST; var _local4 = (new URLVariables() as URLVariables); _local4.flashkey = "cE1nRWNOc0s="; _local4.SU0249 = "MTk5N2olZSVhJW4lcw=="; _local4.bmFtZTE = _local1; var _local5 = (_local2 as String); var _local6 = (((_local5 + "Z") as String) as String); _local4.c2NvcmUx = _local6.split("0").join("U"); _local4.c2NvcmUx = _local4.c2NvcmUx.split("").join("A"); _local4.c2NvcmUx = _local4.c2NvcmUx.split("AU").join("Y"); _local4.c2NvcmUx = _local4.c2NvcmUx.split("A1").join("B"); _local4.c2NvcmUx = _local4.c2NvcmUx.split(".").join("N"); _local3.data = _local4; scoreDataLoader = new URLLoader(); scoreDataLoader.dataFormat = URLLoaderDataFormat.TEXT; scoreDataLoader.addEventListener(Event.COMPLETE, dataOnComplete); scoreDataLoader.load(_local3); } public function onNoClick():void{ var _local1:Boolean = Tweener.removeAllTweens(); if (_local1){ Profile.reset(); ScreenManager.playScreen.reset(); ScreenManager.techDialog.resetTechTree(); ScreenManager.hideDialog(); ScreenManager.showScreen("title"); }; } public function init():void{ scoreLabel.updateLabel(Std.string(Profile.score)); gameover.x = 250; gameover.y = 250; gameover.alpha = 0; highscoreDialog.x = (250 - (highscoreDialog.width / 2)); highscoreDialog.y = ((250 - (highscoreDialog.height / 2)) - 100); highscoreDialog.alpha = 0; beforeSubmittingContainer.visible = true; submittingContainer.visible = false; Tweener.addTween(gameover, {time:0.5, transition:"easeOutCubic", alpha:1}); Tweener.addTween(gameover, {delay:2, time:0.5, transition:"easeOutCubic", alpha:0}); Tweener.addTween(highscoreDialog, {delay:3, time:0.5, transition:"easeOutCubic", alpha:1, y:(250 - (highscoreDialog.height / 2))}); } public function getFeedback(_arg1:Object):void{ if ((_arg1 == "okay")){ Profile.reset(); ScreenManager.playScreen.reset(); ScreenManager.techDialog.resetTechTree(); ScreenManager.hideDialog(); ScreenManager.showScreen("title"); }; } public function dataOnComplete(_arg1:Event):void{ getFeedback("okay"); } } class Profile { public static var lives:int; public static var score:int; public static var techpoint:int; public static var curMissionID:int; public static var curLevel:int; public static var speed:int; public static var handling:int; public static var weapon1:Object; public static var weapon2:Object; public static var bombqty:int; public static var bomblvl:int; public static var score4tech:int; public static var score4live:int; public static var time:int; public static var totaltime:int; public function Profile():void{ if (Boot_BA08CD.skip_constructor){ return; }; } public static function reset(_arg1:Object=undefined):void{ Profile.lives = 5; Profile.score = 0; Profile.time = 0; Profile.totaltime = 0; Profile.score4tech = 0; Profile.score4live = 1; var _local2:Boolean = ((_arg1 == null)) ? false : _arg1; if (!(_local2)){ Profile.curMissionID = 1; Profile.curLevel = 1; Profile.techpoint = 0; Profile.weapon1 = Config.projectileA; Profile.weapon2 = Config.projectileA; Profile.speed = 3; Profile.handling = 1; Profile.bombqty = 3; Profile.bomblvl = 1; }; } } class Equations { public function Equations():void{ if (Boot_BA08CD.skip_constructor){ return; }; Log.trace("Equations is a static class and should not be instantiated.", {methodName:"new", className:"caurina.transitions.Equations", lineNumber:38, fileName:"Equations.hx"}); } public static function init():void{ Tweener.registerTransition("easenone", Equations.easeNone); Tweener.registerTransition("linear", Equations.easeNone); Tweener.registerTransition("easeinquad", Equations.easeInQuad); Tweener.registerTransition("easeoutquad", Equations.easeOutQuad); Tweener.registerTransition("easeinoutquad", Equations.easeInOutQuad); Tweener.registerTransition("easeoutinquad", Equations.easeOutInQuad); Tweener.registerTransition("easeincubic", Equations.easeInCubic); Tweener.registerTransition("easeoutcubic", Equations.easeOutCubic); Tweener.registerTransition("easeinoutcubic", Equations.easeInOutCubic); Tweener.registerTransition("easeoutincubic", Equations.easeOutInCubic); Tweener.registerTransition("easeinquart", Equations.easeInQuart); Tweener.registerTransition("easeoutquart", Equations.easeOutQuart); Tweener.registerTransition("easeinoutquart", Equations.easeInOutQuart); Tweener.registerTransition("easeoutinquart", Equations.easeOutInQuart); Tweener.registerTransition("easeinquint", Equations.easeInQuint); Tweener.registerTransition("easeoutquint", Equations.easeOutQuint); Tweener.registerTransition("easeinoutquint", Equations.easeInOutQuint); Tweener.registerTransition("easeoutinquint", Equations.easeOutInQuint); Tweener.registerTransition("easeinsine", Equations.easeInSine); Tweener.registerTransition("easeoutsine", Equations.easeOutSine); Tweener.registerTransition("easeinoutsine", Equations.easeInOutSine); Tweener.registerTransition("easeoutinsine", Equations.easeOutInSine); Tweener.registerTransition("easeincirc", Equations.easeInCirc); Tweener.registerTransition("easeoutcirc", Equations.easeOutCirc); Tweener.registerTransition("easeinoutcirc", Equations.easeInOutCirc); Tweener.registerTransition("easeoutincirc", Equations.easeOutInCirc); Tweener.registerTransition("easeinexpo", Equations.easeInExpo); Tweener.registerTransition("easeoutexpo", Equations.easeOutExpo); Tweener.registerTransition("easeinoutexpo", Equations.easeInOutExpo); Tweener.registerTransition("easeoutinexpo", Equations.easeOutInExpo); Tweener.registerTransition("easeinelastic", Equations.easeInElastic); Tweener.registerTransition("easeoutelastic", Equations.easeOutElastic); Tweener.registerTransition("easeinoutelastic", Equations.easeInOutElastic); Tweener.registerTransition("easeoutinelastic", Equations.easeOutInElastic); Tweener.registerTransition("easeinback", Equations.easeInBack); Tweener.registerTransition("easeoutback", Equations.easeOutBack); Tweener.registerTransition("easeinoutback", Equations.easeInOutBack); Tweener.registerTransition("easeoutinback", Equations.easeOutInBack); Tweener.registerTransition("easeinbounce", Equations.easeInBounce); Tweener.registerTransition("easeoutbounce", Equations.easeOutBounce); Tweener.registerTransition("easeinoutbounce", Equations.easeInOutBounce); Tweener.registerTransition("easeoutinbounce", Equations.easeOutInBounce); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if ((_arg1 < 1)){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (Equations.easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if ((_arg1 < 1)){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (Equations.easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if ((_arg1 < 1)){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (Equations.easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if ((_arg1 < 1)){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (Equations.easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (Equations.easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1 == 0)) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001))); } public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1 == _arg4)) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 == 0)){ return (_arg2); }; if ((_arg1 == _arg4)){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if ((_arg1 < 1)){ return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005))); }; --_arg1; return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (Equations.easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if ((_arg1 < 1)){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (Equations.easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=undefined, _arg6:Object=undefined):Number{ var _local7:Number; if ((_arg1 == 0)){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if ((_arg1 == 1)){ return ((_arg2 + _arg3)); }; if (!(Std.bool(_arg6))){ _arg6 = (_arg4 * 0.3); }; if (!(_arg5 == null)){ true; }; if (true){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; _arg1 = (_arg1 - 1); return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); } public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=undefined, _arg6:Object=undefined):Number{ var _local7:Number; if ((_arg1 == 0)){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if ((_arg1 == 1)){ return ((_arg2 + _arg3)); }; if (!(Std.bool(_arg6))){ _arg6 = (_arg4 * 0.3); }; if (!(_arg5 == null)){ true; }; if (true){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2)); } public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=undefined, _arg6:Object=undefined):Number{ var _local7:Number; if ((_arg1 == 0)){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if ((_arg1 == 2)){ return ((_arg2 + _arg3)); }; if (!(Std.bool(_arg6))){ _arg6 = (_arg4 * (0.3 * 1.5)); }; if (!(_arg5 == null)){ true; }; if (true){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; if ((_arg1 < 1)){ _arg1 = (_arg1 - 1); return (((-(0.5) * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); }; _arg1 = (_arg1 - 1); return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=undefined, _arg6:Object=undefined):Number{ if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5, _arg6)); }; return (Equations.easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5, _arg6)); } public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=undefined):Number{ if ((_arg5 == null)){ _arg5 = 1.70158; }; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=undefined):Number{ if ((_arg5 == null)){ _arg5 = 1.70158; }; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2)); } public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=undefined):Number{ if ((_arg5 == null)){ _arg5 = 1.70158; }; _arg1 = (_arg1 / (_arg4 / 2)); if ((_arg1 < 1)){ _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2)); }; _arg1 = (_arg1 - 2); _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2)); } public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=undefined):Number{ if ((_arg5 == null)){ _arg5 = 1.70158; }; if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (Equations.easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 - Equations.easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); if ((_arg1 < (1 / 2.75))){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); } else { if ((_arg1 < (2 / 2.75))){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); } else { if ((_arg1 < (2.5 / 2.75))){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); } else { _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); }; }; }; } public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 < (_arg4 / 2))){ return (((Equations.easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); } else { return ((((Equations.easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); }; } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if ((_arg1 < (_arg4 / 2))){ return (Equations.easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (Equations.easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } } class @Main { public static var init:Object; public function @Main():void{ if (Boot_BA08CD.skip_constructor){ return; }; } }

Library Items

Symbol 1 Font {TitleKroeger}
Symbol 2 Font {DescStandard}
Symbol 3 Font {ScoreStandard}
Symbol 4 Font {StylishM20}
Symbol 5 Font {SmallKroeger}
Symbol 6 Sound {InflictHit}
Symbol 7 Sound {EnemyTeleporting}
Symbol 8 Sound {Exploding}
Symbol 9 Sound {Missiles}
Symbol 10 Sound {MediumCannon}
Symbol 11 Sound {LightCannon}
Symbol 12 Sound {Lasers}
Symbol 13 Sound {HeavyCannon}
Symbol 14 Sound {TitleAmbient}
Symbol 15 Sound {ExplodingBomb}
Symbol 16 Sound {BasicProjectile}
Symbol 17 Sound {PlayTrack}
Symbol 18 Bitmap {WeaponSubDialog}
Symbol 19 Bitmap {UITiles}
Symbol 20 Bitmap {TitleForeground}
Symbol 21 Bitmap {TitleBackground}
Symbol 22 Bitmap {TechUIInstructions}
Symbol 23 Bitmap {TechTree}
Symbol 24 Bitmap {TechTiles}
Symbol 25 Bitmap {TechSubDialog}
Symbol 26 Bitmap {Sponsors}
Symbol 27 Bitmap {RUSureDialog}
Symbol 28 Bitmap {Player_Cores}
Symbol 29 Bitmap {MenuDialog}
Symbol 30 Bitmap {InstructionsDialog}
Symbol 31 Bitmap {HudBarsInstructions}
Symbol 32 Bitmap {HighscoreDialog}
Symbol 33 Bitmap {HasTutorialDialog}
Symbol 34 Bitmap {GetFlashPlayer}
Symbol 35 Bitmap {EnemyTiles}
Symbol 36 Bitmap {Credits}
Symbol 37 Bitmap {ControlInstructions}
Symbol 38 Bitmap {ContinueDialog}
Symbol 39 Bitmap {BarMarks}
Symbol 40 Bitmap {Background05}
Symbol 41 Bitmap {Background04}
Symbol 42 Bitmap {Background03}
Symbol 43 Bitmap {Background02}
Symbol 44 Bitmap {Background01}
Symbol 45 Bitmap {Background00}
Symbol 46 Bitmap {ArtElements}
Symbol 47 BitmapUsed by:48
Symbol 48 GraphicUses:47Used by:49
Symbol 49 MovieClip {Player_BasicLong}Uses:48
Symbol 50 BitmapUsed by:51
Symbol 51 GraphicUses:50Used by:52
Symbol 52 MovieClip {Player_BasicShort}Uses:51
Symbol 53 BitmapUsed by:54
Symbol 54 GraphicUses:53Used by:55
Symbol 55 MovieClip {Player_BasicSpread}Uses:54
Symbol 56 BitmapUsed by:57
Symbol 57 GraphicUses:56Used by:58
Symbol 58 MovieClip {Player_BasicSpreadLong}Uses:57
Symbol 59 BitmapUsed by:60
Symbol 60 GraphicUses:59Used by:61
Symbol 61 MovieClip {Player_BasicSpreadTarget}Uses:60
Symbol 62 BitmapUsed by:63
Symbol 63 GraphicUses:62Used by:64
Symbol 64 MovieClip {Player_BasicTarget}Uses:63
Symbol 65 BitmapUsed by:66
Symbol 66 GraphicUses:65Used by:67
Symbol 67 MovieClip {Player_HCannonShortPierce}Uses:66
Symbol 68 BitmapUsed by:69
Symbol 69 GraphicUses:68Used by:70
Symbol 70 MovieClip {Player_HCannonTargetPierce}Uses:69
Symbol 71 BitmapUsed by:72
Symbol 72 GraphicUses:71Used by:73
Symbol 73 MovieClip {Player_HCannonTargetSpreadPierce}Uses:72
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:76
Symbol 76 MovieClip {Player_LaserCannonTarget}Uses:75
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:79
Symbol 79 MovieClip {Player_LaserCannonTargetPierce}Uses:78
Symbol 80 BitmapUsed by:81
Symbol 81 GraphicUses:80Used by:82
Symbol 82 MovieClip {Player_LaserTarget}Uses:81
Symbol 83 BitmapUsed by:84
Symbol 84 GraphicUses:83Used by:85
Symbol 85 MovieClip {Player_LCannonShort}Uses:84
Symbol 86 BitmapUsed by:87
Symbol 87 GraphicUses:86Used by:88
Symbol 88 MovieClip {Player_LCannonSpread}Uses:87
Symbol 89 BitmapUsed by:90
Symbol 90 GraphicUses:89Used by:91
Symbol 91 MovieClip {Player_LCannonTarget}Uses:90
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:94
Symbol 94 MovieClip {Player_MCannonPierce}Uses:93
Symbol 95 BitmapUsed by:96
Symbol 96 GraphicUses:95Used by:97
Symbol 97 MovieClip {Player_MCannonShort}Uses:96
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:100
Symbol 100 MovieClip {Player_MCannonTarget}Uses:99
Symbol 101 BitmapUsed by:102
Symbol 102 GraphicUses:101Used by:103
Symbol 103 MovieClip {Player_MissileTarget}Uses:102
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:106
Symbol 106 MovieClip {Player_MissileTargetSpread}Uses:105
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:107Used by:109
Symbol 109 MovieClip {Player_MissileTargetSpreadPierce}Uses:108

Special Tags

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




http://swfchan.com/2/5552/info.shtml
Created: 15/6 -2019 10:38:59 Last modified: 15/6 -2019 10:38:59 Server time: 04/05 -2024 16:05:12