Section 1
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import com.adobe.utils.*;
public class MD5 {
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function createBlocks(_arg1:String):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
return (_local2);
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hash(_arg1:String):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package com.adobe.crypto
Section 2
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package com.adobe.utils
Section 3
//fail_86 (TRAFFIC_TROUBLE_fla.fail_86)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class fail_86 extends MovieClip {
public var backmenu:SimpleButton;
}
}//package TRAFFIC_TROUBLE_fla
Section 4
//game_over_59 (TRAFFIC_TROUBLE_fla.game_over_59)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class game_over_59 extends MovieClip {
public var qbutton:SimpleButton;
public var rbutton:SimpleButton;
public var govertext:MovieClip;
public function game_over_59(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 5
//gamesfre_pre_b_sprite43_85 (TRAFFIC_TROUBLE_fla.gamesfre_pre_b_sprite43_85)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class gamesfre_pre_b_sprite43_85 extends MovieClip {
public function gamesfre_pre_b_sprite43_85(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 6
//gamesfre_pre_b_sprite43_9 (TRAFFIC_TROUBLE_fla.gamesfre_pre_b_sprite43_9)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class gamesfre_pre_b_sprite43_9 extends MovieClip {
public function gamesfre_pre_b_sprite43_9(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 7
//gamesfre_pre_mendengus_99 (TRAFFIC_TROUBLE_fla.gamesfre_pre_mendengus_99)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class gamesfre_pre_mendengus_99 extends MovieClip {
public function gamesfre_pre_mendengus_99(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 8
//gamesfre_pre_preloader_gamesfree_90 (TRAFFIC_TROUBLE_fla.gamesfre_pre_preloader_gamesfree_90)
package TRAFFIC_TROUBLE_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class gamesfre_pre_preloader_gamesfree_90 extends MovieClip {
public var dragon:MovieClip;
public function gamesfre_pre_preloader_gamesfree_90(){
addFrameScript(0, frame1, 125, frame126);
}
public function OnGF(_arg1:MouseEvent){
var _local2:URLRequest;
_local2 = new URLRequest("http://www.gamesfree.com");
navigateToURL(_local2, "_blank");
}
function frame1(){
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, OnGF);
}
function frame126(){
stop();
dragon.stop();
MovieClip(root).gotoAndStop("splash flipntale");
}
}
}//package TRAFFIC_TROUBLE_fla
Section 9
//help_screen_115 (TRAFFIC_TROUBLE_fla.help_screen_115)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class help_screen_115 extends MovieClip {
public var closebtn:SimpleButton;
public var disablehint:MovieClip;
}
}//package TRAFFIC_TROUBLE_fla
Section 10
//maxgreen_43 (TRAFFIC_TROUBLE_fla.maxgreen_43)
package TRAFFIC_TROUBLE_fla {
import flash.events.*;
import flash.display.*;
public dynamic class maxgreen_43 extends MovieClip {
public function maxgreen_43(){
addFrameScript(0, frame1, 1, frame2, 29, frame30);
}
function frame1(){
stop();
}
function frame2(){
x = (MovieClip(root).mouseX + 15);
y = (MovieClip(root).mouseY - 15);
visible = true;
addEventListener(Event.ENTER_FRAME, OnEnterFrame);
}
function frame30(){
stop();
visible = false;
removeEventListener(Event.ENTER_FRAME, OnEnterFrame);
}
public function OnEnterFrame(_arg1:Event){
x = (MovieClip(root).mouseX + 15);
y = (MovieClip(root).mouseY - 15);
}
}
}//package TRAFFIC_TROUBLE_fla
Section 11
//maximum_greenlights_63 (TRAFFIC_TROUBLE_fla.maximum_greenlights_63)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class maximum_greenlights_63 extends MovieClip {
public var screenbutton:SimpleButton;
}
}//package TRAFFIC_TROUBLE_fla
Section 12
//mouse_cursor_10 (TRAFFIC_TROUBLE_fla.mouse_cursor_10)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class mouse_cursor_10 extends MovieClip {
public function mouse_cursor_10(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 13
//music_opt_71 (TRAFFIC_TROUBLE_fla.music_opt_71)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class music_opt_71 extends MovieClip {
public function music_opt_71(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 14
//p_freeze_36 (TRAFFIC_TROUBLE_fla.p_freeze_36)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class p_freeze_36 extends MovieClip {
public function p_freeze_36(){
addFrameScript(31, frame32);
}
function frame32(){
gotoAndStop("enable");
}
}
}//package TRAFFIC_TROUBLE_fla
Section 15
//p_frozen_56 (TRAFFIC_TROUBLE_fla.p_frozen_56)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class p_frozen_56 extends MovieClip {
public function p_frozen_56(){
addFrameScript(33, frame34);
}
function frame34(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 16
//p_MIB_41 (TRAFFIC_TROUBLE_fla.p_MIB_41)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class p_MIB_41 extends MovieClip {
public function p_MIB_41(){
addFrameScript(31, frame32);
}
function frame32(){
gotoAndStop("enable");
}
}
}//package TRAFFIC_TROUBLE_fla
Section 17
//p_repair_32 (TRAFFIC_TROUBLE_fla.p_repair_32)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class p_repair_32 extends MovieClip {
public function p_repair_32(){
addFrameScript(31, frame32);
}
function frame32(){
gotoAndStop("enable");
}
}
}//package TRAFFIC_TROUBLE_fla
Section 18
//p_teleport_34 (TRAFFIC_TROUBLE_fla.p_teleport_34)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class p_teleport_34 extends MovieClip {
public function p_teleport_34(){
addFrameScript(31, frame32);
}
function frame32(){
gotoAndStop("enable");
}
}
}//package TRAFFIC_TROUBLE_fla
Section 19
//paused_page_68 (TRAFFIC_TROUBLE_fla.paused_page_68)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class paused_page_68 extends MovieClip {
public var qbutton:SimpleButton;
public var sound:MovieClip;
public var pausetext:MovieClip;
public var music:MovieClip;
public var rstbutton:SimpleButton;
public var rsmbutton:SimpleButton;
}
}//package TRAFFIC_TROUBLE_fla
Section 20
//preloader_1 (TRAFFIC_TROUBLE_fla.preloader_1)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class preloader_1 extends MovieClip {
public var bar:MovieClip;
public var light:MovieClip;
public var gfbutton:SimpleButton;
}
}//package TRAFFIC_TROUBLE_fla
Section 21
//repairboost_51 (TRAFFIC_TROUBLE_fla.repairboost_51)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
import flash.text.*;
public dynamic class repairboost_51 extends MovieClip {
public var left:TextField;
}
}//package TRAFFIC_TROUBLE_fla
Section 22
//REPAIRBOT_a_48 (TRAFFIC_TROUBLE_fla.REPAIRBOT_a_48)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class REPAIRBOT_a_48 extends MovieClip {
public function REPAIRBOT_a_48(){
addFrameScript(14, frame15, 29, frame30, 44, frame45);
}
function frame15(){
gotoAndPlay("S_start");
}
function frame30(){
gotoAndPlay("D_start");
}
function frame45(){
gotoAndPlay("U_start");
}
}
}//package TRAFFIC_TROUBLE_fla
Section 23
//reset_stresslevel_55 (TRAFFIC_TROUBLE_fla.reset_stresslevel_55)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class reset_stresslevel_55 extends MovieClip {
public function reset_stresslevel_55(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 24
//soundexport_89 (TRAFFIC_TROUBLE_fla.soundexport_89)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class soundexport_89 extends MovieClip {
public function soundexport_89(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 25
//sounds_72 (TRAFFIC_TROUBLE_fla.sounds_72)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class sounds_72 extends MovieClip {
public function sounds_72(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 26
//splash_flipntale_108 (TRAFFIC_TROUBLE_fla.splash_flipntale_108)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class splash_flipntale_108 extends MovieClip {
public function splash_flipntale_108(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
MovieClip(root).gotoAndStop("menu");
}
}
}//package TRAFFIC_TROUBLE_fla
Section 27
//stage_clear_57 (TRAFFIC_TROUBLE_fla.stage_clear_57)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class stage_clear_57 extends MovieClip {
public var screenbutton:SimpleButton;
public function stage_clear_57(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
screenbutton.visible = false;
}
function frame5(){
stop();
screenbutton.visible = true;
}
}
}//package TRAFFIC_TROUBLE_fla
Section 28
//stresslevel_26 (TRAFFIC_TROUBLE_fla.stresslevel_26)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class stresslevel_26 extends MovieClip {
public var freeze_frame:MovieClip;
}
}//package TRAFFIC_TROUBLE_fla
Section 29
//UFO_B_52 (TRAFFIC_TROUBLE_fla.UFO_B_52)
package TRAFFIC_TROUBLE_fla {
import flash.display.*;
public dynamic class UFO_B_52 extends MovieClip {
public function UFO_B_52(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package TRAFFIC_TROUBLE_fla
Section 30
//BCTestTile (trafficker.tiles.BCTestTile)
package trafficker.tiles {
import flash.events.*;
import trafficker.*;
import flash.display.*;
public class BCTestTile extends Tile {
private var gridy:int;
private var gridx:int;
public function BCTestTile(_arg1:int, _arg2:int){
super(Constants.ROAD_END);
gridx = _arg1;
gridy = _arg2;
CarExists = true;
CarBroken = true;
addEventListener(Event.ADDED, AfterAdded);
}
function AfterAdded(_arg1:Event){
var _local2:Car;
_local2 = new Car(gridx, gridy, Constants.CAR_SEDAN, Constants.ROAD_RIGHT);
_local2.CarState = Constants.CS_BROKEN;
_arg1.target.root.Game.car_holder.addChild(_local2);
_arg1.target.root.Game.SetBroken(gridx, gridy, Constants.ROAD_RIGHT);
removeEventListener(Event.ADDED, AfterAdded);
}
}
}//package trafficker.tiles
Section 31
//SpawnTile (trafficker.tiles.SpawnTile)
package trafficker.tiles {
import flash.events.*;
import trafficker.*;
import flash.display.*;
public class SpawnTile extends Tile {
private var gridy:int;
private var cgridy:int;
private var cgridx:int;
private var gridx:int;
public function SpawnTile(_arg1:int, _arg2:int, _arg3:int){
super(_arg1);
gridx = _arg2;
gridy = _arg3;
cgridx = _arg2;
cgridy = _arg3;
switch (_arg1){
case Constants.ROAD_UP:
cgridy++;
break;
case Constants.ROAD_DOWN:
cgridy--;
break;
case Constants.ROAD_LEFT:
cgridx++;
break;
case Constants.ROAD_RIGHT:
cgridx--;
break;
};
}
public function Generator():Boolean{
var _local1:int;
var _local2:Car;
if (!CarExists){
_local1 = MovieClip(root).Game.GetSpawnCarType();
if (_local1 != Constants.CAR_NONE){
CarExists = true;
_local2 = new Car(cgridx, cgridy, _local1, GetId());
MovieClip(root).Game.car_holder.addChild(_local2);
return (true);
};
};
return (false);
}
}
}//package trafficker.tiles
Section 32
//StopRoad (trafficker.tiles.StopRoad)
package trafficker.tiles {
import trafficker.*;
public class StopRoad extends Tile {
private var stopDir:int;
private var isStop:Boolean;
public function StopRoad(_arg1:int, _arg2:int){
super(_arg1);
stopDir = _arg2;
isStop = true;
}
public function IsValidStopForDir(_arg1:int):Boolean{
switch (_arg1){
case Constants.ROAD_UP:
if (stopDir == Constants.STOPTILE_D){
return (true);
};
break;
case Constants.ROAD_DOWN:
if (stopDir == Constants.STOPTILE_U){
return (true);
};
break;
case Constants.ROAD_RIGHT:
if (stopDir == Constants.STOPTILE_L){
return (true);
};
break;
case Constants.ROAD_LEFT:
if (stopDir == Constants.STOPTILE_R){
return (true);
};
break;
default:
return (false);
};
return (false);
}
public function ToggleStop():void{
if (isStop){
isStop = false;
} else {
isStop = true;
};
}
public function get IsStopping():Boolean{
return (isStop);
}
}
}//package trafficker.tiles
Section 33
//Tile (trafficker.tiles.Tile)
package trafficker.tiles {
import trafficker.*;
import flash.display.*;
public class Tile extends MovieClip {
private var carExists:Boolean;
private var tileid:int;
private var carBroken:Boolean;
public function Tile(_arg1:int){
tileid = _arg1;
carExists = false;
carBroken = false;
}
public function get CarExists():Boolean{
return (carExists);
}
public function IsTurnTile():Boolean{
switch (tileid){
case Constants.ROAD_UL:
case Constants.ROAD_UR:
case Constants.ROAD_RU:
case Constants.ROAD_RD:
case Constants.ROAD_DL:
case Constants.ROAD_DR:
case Constants.ROAD_LU:
case Constants.ROAD_LD:
case Constants.ROAD_AU:
case Constants.ROAD_AR:
case Constants.ROAD_AD:
case Constants.ROAD_AL:
return (true);
default:
return (false);
};
}
public function set CarBroken(_arg1:Boolean){
carBroken = _arg1;
}
public function set CarExists(_arg1:Boolean){
carExists = _arg1;
}
public function get CarBroken():Boolean{
return (carBroken);
}
public function GetId(){
return (tileid);
}
}
}//package trafficker.tiles
Section 34
//floatingtext (trafficker.ui.floatingtext)
package trafficker.ui {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class floatingtext extends MovieClip {
public var tbox:TextField;
public function floatingtext(_arg1:String, _arg2:int, _arg3:int){
tbox.text = _arg1;
x = _arg2;
y = _arg3;
addEventListener(Event.ENTER_FRAME, Update);
addEventListener(Event.REMOVED, OnRemove);
gotoAndPlay(1);
}
function OnRemove(_arg1:Event){
if (_arg1.target == this){
removeEventListener(Event.ENTER_FRAME, Update);
removeEventListener(Event.REMOVED, OnRemove);
};
}
function Update(_arg1:Event){
if (currentLabel == "end"){
removeEventListener(Event.ENTER_FRAME, Update);
removeEventListener(Event.REMOVED, OnRemove);
MovieClip(parent).removeChild(this);
};
}
}
}//package trafficker.ui
Section 35
//stressmeter (trafficker.ui.stressmeter)
package trafficker.ui {
import flash.events.*;
import flash.display.*;
public class stressmeter extends MovieClip {
private const interval:int = 8;
public var bar:MovieClip;
private var blinkCount:int;
public function stressmeter(){
blinkCount = 0;
bar.freeze_frame.visible = false;
}
function Blink(_arg1:Event):void{
blinkCount++;
if (blinkCount == interval){
if (visible){
visible = false;
} else {
visible = true;
};
blinkCount = 0;
};
}
public function StopBlink():void{
removeEventListener(Event.ENTER_FRAME, Blink);
}
public function StartBlink():void{
addEventListener(Event.ENTER_FRAME, Blink);
}
public function Freeze(_arg1:Boolean){
bar.freeze_frame.visible = _arg1;
}
}
}//package trafficker.ui
Section 36
//trafficswitch (trafficker.ui.trafficswitch)
package trafficker.ui {
import flash.events.*;
import trafficker.*;
import flash.display.*;
import flash.utils.*;
public class trafficswitch extends MovieClip {
private var timer:Timer;
private var blinkTime:Boolean;
private var tile1x:int;
private var tile1y:int;
private var debugTile1:debugroad;
private var debugTile2:debugroad;
private var tile2y:int;
private var tile2x:int;
private var prevLight:int;
private var debugTiles:Array;
public function trafficswitch(){
stop();
buttonMode = true;
useHandCursor = true;
blinkTime = false;
addEventListener(MouseEvent.CLICK, TrafficClick);
addEventListener(Event.REMOVED, OnRemove);
timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, OnTime);
timer.stop();
}
public function SetTile2(_arg1:int, _arg2:int):void{
tile2x = _arg2;
tile2y = _arg1;
}
public function SetTile1(_arg1:int, _arg2:int):void{
tile1x = _arg2;
tile1y = _arg1;
}
public function Blink():void{
blinkTime = true;
gotoAndStop("blink");
timer.reset();
timer.start();
}
function OnRemove(_arg1:Event){
if (_arg1.target == this){
removeEventListener(MouseEvent.CLICK, TrafficClick);
timer.removeEventListener(TimerEvent.TIMER, OnTime);
removeEventListener(Event.REMOVED, OnRemove);
};
}
function OnTime(_arg1:TimerEvent){
var _local2:Boolean;
timer.stop();
if (blinkTime){
blinkTime = false;
gotoAndStop(3);
} else {
_local2 = false;
if (prevLight == 1){
if (MovieClip(root).Game.CheckMaxGreen()){
gotoAndStop(3);
MovieClip(root).Game.CurGreen++;
_local2 = true;
} else {
gotoAndStop(1);
};
} else {
if (prevLight == 3){
gotoAndStop(1);
_local2 = true;
};
};
if (_local2){
MovieClip(root).Game.MainGrid.GetTile(tile1x, tile1y).ToggleStop();
MovieClip(root).Game.MainGrid.GetTile(tile2x, tile2y).ToggleStop();
if (Constants.DBG_GRID){
if (debugTiles[0].currentLabel == "red"){
debugTiles[0].gotoAndStop("green");
debugTiles[1].gotoAndStop("green");
} else {
debugTiles[0].gotoAndStop("red");
debugTiles[1].gotoAndStop("red");
};
};
};
};
}
public function CreateDbgTiles():void{
var _local1:int;
debugTiles = new Array(2);
_local1 = 0;
while (_local1 < 2) {
debugTiles[_local1] = new debugroad();
addChild(debugTiles[_local1]);
debugTiles[_local1].x = ((_local1 + 1) * Constants.GRIDSIZE);
debugTiles[_local1].alpha = 0.5;
debugTiles[_local1].mouseEnabled = false;
debugTiles[_local1].gotoAndStop("red");
_local1++;
};
}
function TrafficClick(_arg1:MouseEvent){
var _local2:Boolean;
MovieClip(root).Game.ClickSound();
if (!MovieClip(root).Game.IsPaused){
_local2 = false;
if ((((this.currentFrame == 1)) && (MovieClip(root).Game.CheckMaxGreen()))){
prevLight = 1;
_local2 = true;
} else {
if ((((this.currentFrame == 3)) || ((this.currentLabel == "blink")))){
prevLight = 3;
MovieClip(root).Game.CurGreen--;
_local2 = true;
};
};
if (_local2){
gotoAndStop(2);
blinkTime = false;
timer.reset();
timer.start();
};
};
}
public function Resume():void{
if (this.currentFrame == 2){
timer.start();
};
}
public function Pause():void{
timer.stop();
}
}
}//package trafficker.ui
Section 37
//Car (trafficker.Car)
package trafficker {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import trafficker.ui.*;
import trafficker.tiles.*;
public class Car extends MovieClip {
private var desty:int;
private var gotoNextFrame:Boolean;
private var destx:int;
private var model:MovieClip;
private var carState:int;
private var stressMeter:stressmeter;
private var accelSpeed:int;
private var overtaking:Boolean;
private var stressFull:stressfull;
private var flagAsBroken:Boolean;
private var prevy:int;
private var posy:int;
private var dir:int;
private var posx:int;
private var startTurnFrame:String;
private var stress:int;
private var prevx:int;
private var curSpeed:int;
private var stressTimer:Timer;
private var fullSpeed:int;
public function Car(_arg1:int, _arg2:int, _arg3:int, _arg4:int){
carState = Constants.CS_ENTER;
destx = (_arg1 * Constants.GRIDSIZE);
desty = (_arg2 * Constants.GRIDSIZE);
switch (_arg3){
case Constants.CAR_SEDAN:
model = new sedan();
accelSpeed = Constants.LOSPEED;
fullSpeed = Constants.MEDSPEED;
break;
case Constants.CAR_KARIMUN:
model = new karimun();
accelSpeed = Constants.VERYLOSPEED;
fullSpeed = Constants.MEDSPEED;
break;
case Constants.CAR_PICKUP:
model = new pickup();
accelSpeed = Constants.VERYLOSPEED;
fullSpeed = Constants.LOSPEED;
break;
case Constants.CAR_SPORT:
model = new sport();
accelSpeed = Constants.LOSPEED;
fullSpeed = Constants.MEDSPEED;
break;
case Constants.CAR_JEEP:
model = new jeep();
accelSpeed = Constants.VERYLOSPEED;
fullSpeed = Constants.MEDSPEED;
break;
case Constants.CAR_BAJAJ:
model = new bajaj();
accelSpeed = Constants.VERYLOSPEED;
fullSpeed = Constants.LOSPEED;
break;
case Constants.CAR_CAB:
model = new cab();
accelSpeed = Constants.LOSPEED;
fullSpeed = Constants.MEDSPEED;
break;
case Constants.CAR_POLICE:
model = new police();
accelSpeed = Constants.LOSPEED;
fullSpeed = Constants.MEDSPEED;
break;
default:
trace("ERROR in Car(): unknown car type.");
return;
};
addChild(model);
dir = _arg4;
switch (dir){
case Constants.ROAD_LEFT:
model.gotoAndStop("SU");
destx = (destx - Constants.GRIDSIZE);
break;
case Constants.ROAD_RIGHT:
model.gotoAndStop("SU");
model.scaleX = -1;
model.x = (model.x + Constants.GRIDSIZE);
destx = (destx + Constants.GRIDSIZE);
break;
case Constants.ROAD_UP:
model.gotoAndStop("US");
desty = (desty - Constants.GRIDSIZE);
break;
case Constants.ROAD_DOWN:
model.gotoAndStop("DS");
desty = (desty + Constants.GRIDSIZE);
break;
default:
model.gotoAndStop("SU");
trace("Car init error: invalid direction");
break;
};
model.mouseEnabled = false;
posx = _arg1;
posy = _arg2;
prevx = posx;
prevy = posy;
x = (_arg1 * Constants.GRIDSIZE);
y = (_arg2 * Constants.GRIDSIZE);
curSpeed = fullSpeed;
stress = 0;
stressTimer = new Timer(1100);
stressTimer.addEventListener(TimerEvent.TIMER, StressTime);
stressTimer.stop();
flagAsBroken = false;
overtaking = false;
gotoNextFrame = false;
addEventListener(Event.ADDED, CheckAdded);
addEventListener(Event.REMOVED, OnRemove);
}
public function Move(_arg1:int, _arg2:int){
x = (x + _arg1);
y = (y + _arg2);
stressMeter.x = x;
stressMeter.y = y;
stressFull.x = x;
stressFull.y = y;
}
public function Update():void{
AI();
UpdateStress();
}
function RandomChance(_arg1:Number):Boolean{
_arg1 = (_arg1 * 100);
if (Math.ceil((Math.random() * 100)) <= _arg1){
return (true);
};
return (false);
}
public function get py():int{
return (posy);
}
function CheckAdded(_arg1:Event){
stressMeter = new stressmeter();
stressMeter.x = x;
stressMeter.y = y;
stressMeter.stop();
stressMeter.mouseEnabled = false;
stressMeter.bar.stop();
stressMeter.bar.mouseEnabled = false;
if (MovieClip(root).Game.Freezing){
stressMeter.Freeze(true);
};
_arg1.currentTarget.root.Game.ui_holder.addChild(stressMeter);
stressFull = new stressfull();
stressFull.x = x;
stressFull.y = y;
stressFull.stop();
stressFull.visible = false;
stressFull.mouseEnabled = false;
_arg1.currentTarget.root.Game.ui_holder.addChild(stressFull);
removeEventListener(Event.ADDED, CheckAdded);
}
public function get CarState():int{
return (carState);
}
public function MoveTo(_arg1:int, _arg2:int){
carState = Constants.CS_MOVE;
destx = (_arg1 * Constants.GRIDSIZE);
desty = (_arg2 * Constants.GRIDSIZE);
if (x < destx){
x = (x + curSpeed);
} else {
if (x > destx){
x = (x - curSpeed);
};
};
if (y < desty){
y = (y + curSpeed);
} else {
if (y > desty){
y = (y - curSpeed);
};
};
}
public function FlagAsBroken():void{
flagAsBroken = true;
}
public function FreezeStress(_arg1:Boolean):void{
stressMeter.Freeze(_arg1);
}
public function StopStressTimer():void{
stressTimer.stop();
}
public function AI(){
var _local1:Grid;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
if (gotoNextFrame){
model.nextFrame();
stressMeter.nextFrame();
stressFull.nextFrame();
};
if (carState == Constants.CS_STOP){
if (flagAsBroken){
carState = Constants.CS_BROKEN;
MovieClip(root).Game.MainGrid.GetTile(posx, posy).CarBroken = true;
MovieClip(root).Game.SetBroken(posx, posy, dir);
flagAsBroken = false;
} else {
ProcessNextTile(carState);
};
} else {
if (carState == Constants.CS_BROKEN){
if (MovieClip(root).Game.MainGrid.GetTile(posx, posy).CarBroken == false){
carState = Constants.CS_STOP;
};
} else {
if ((((((carState == Constants.CS_MOVE)) || ((carState == Constants.CS_ENTER)))) || ((carState == Constants.CS_EXIT)))){
_local2 = 0;
_local3 = 0;
if (x < destx){
_local2 = (_local2 + curSpeed);
} else {
if (x > destx){
_local2 = (_local2 - curSpeed);
};
};
if (y < desty){
_local3 = (_local3 + curSpeed);
} else {
if (y > desty){
_local3 = (_local3 - curSpeed);
};
};
if ((((_local2 == 0)) && ((_local3 == 0)))){
if (carState == Constants.CS_EXIT){
MovieClip(root).Game.ui_holder.removeChild(stressMeter);
MovieClip(root).Game.ui_holder.removeChild(stressFull);
MovieClip(parent).removeChild(this);
return;
};
if ((((posx == (x / Constants.GRIDSIZE))) && ((posy == (y / Constants.GRIDSIZE))))){
trace("warning: previous pos is the same in current pos in CS_MOVE");
};
_local1 = MovieClip(root).Game.MainGrid;
if (carState != Constants.CS_ENTER){
_local1.GetTile(posx, posy).CarExists = false;
};
posx = (x / Constants.GRIDSIZE);
posy = (y / Constants.GRIDSIZE);
prevx = posx;
prevy = posy;
_local1.GetTile(posx, posy).CarExists = true;
if (flagAsBroken){
carState = Constants.CS_BROKEN;
flagAsBroken = false;
_local1.GetTile(posx, posy).CarBroken = true;
MovieClip(root).Game.SetBroken(posx, posy, dir);
return;
};
if (carState == Constants.CS_ENTER){
carState = Constants.CS_MOVE;
};
ProcessNextTile(carState);
} else {
Move(_local2, _local3);
};
} else {
if (carState == Constants.CS_OVERT){
if (model.currentLabel == (startTurnFrame + "_mid")){
_local1 = MovieClip(root).Game.MainGrid;
_local1.GetTile(prevx, prevy).CarExists = false;
prevx = posx;
prevy = posy;
_local1.GetTile(posx, posy).CarExists = true;
stressMeter.x = (posx * Constants.GRIDSIZE);
stressMeter.y = (posy * Constants.GRIDSIZE);
stressFull.x = (posx * Constants.GRIDSIZE);
stressFull.y = (posy * Constants.GRIDSIZE);
if (overtaking){
overtaking = false;
} else {
overtaking = true;
};
switch (dir){
case Constants.ROAD_UP:
if (overtaking){
Turn(posx, (posy - 1), Constants.ROAD_UL);
} else {
Turn(posx, (posy - 1), Constants.ROAD_UR);
};
break;
case Constants.ROAD_DOWN:
if (overtaking){
Turn(posx, (posy + 1), Constants.ROAD_DR);
} else {
Turn(posx, (posy + 1), Constants.ROAD_DL);
};
break;
case Constants.ROAD_LEFT:
if (overtaking){
Turn((posx - 1), posy, Constants.ROAD_LD);
} else {
Turn((posx - 1), posy, Constants.ROAD_LU);
};
break;
case Constants.ROAD_RIGHT:
if (overtaking){
Turn((posx + 1), posy, Constants.ROAD_RU);
} else {
Turn((posx + 1), posy, Constants.ROAD_RD);
};
break;
default:
trace("ERROR in Car::OvertakeProc(), unknown dir");
return;
};
};
} else {
if (carState == Constants.CS_TURN){
if (model.currentLabel == (startTurnFrame + "_mid")){
_local4 = posx;
_local5 = posy;
_local1 = MovieClip(root).Game.MainGrid;
_local1.GetTile(prevx, prevy).CarExists = false;
prevx = posx;
prevy = posy;
_local1.GetTile(posx, posy).CarExists = true;
switch (startTurnFrame){
case "SU":
_local5--;
break;
case "SD":
_local5++;
break;
case "US":
case "DS":
if (model.scaleX == -1){
_local4++;
} else {
if (model.scaleX == 1){
_local4--;
};
};
break;
default:
trace("ERROR in Car::AI() illegal start frame when updating CS_TURN");
break;
};
if (_local1.GetTile(_local4, _local5).CarExists){
gotoNextFrame = false;
} else {
gotoNextFrame = true;
};
} else {
if (model.currentLabel == (startTurnFrame + "_end")){
gotoNextFrame = false;
switch (startTurnFrame){
case "SU":
dir = Constants.ROAD_UP;
posy--;
model.gotoAndStop("US");
model.scaleX = 1;
model.x = 0;
break;
case "SD":
dir = Constants.ROAD_DOWN;
posy++;
model.gotoAndStop("DS");
model.scaleX = 1;
model.x = 0;
break;
case "US":
case "DS":
if (model.scaleX == -1){
dir = Constants.ROAD_RIGHT;
model.x = Constants.GRIDSIZE;
posx++;
} else {
if (model.scaleX == 1){
dir = Constants.ROAD_LEFT;
model.x = 0;
posx--;
};
};
model.y = 0;
model.gotoAndStop("SU");
break;
default:
trace("ERROR in Car::AI() illegal start frame when updating CS_TURN");
break;
};
x = (posx * Constants.GRIDSIZE);
y = (posy * Constants.GRIDSIZE);
stressMeter.x = x;
stressMeter.y = y;
stressMeter.gotoAndStop(1);
stressFull.x = x;
stressFull.y = y;
stressFull.gotoAndStop(1);
_local1 = MovieClip(root).Game.MainGrid;
_local1.GetTile(prevx, prevy).CarExists = false;
prevx = posx;
prevy = posy;
_local1.GetTile(posx, posy).CarExists = true;
if (overtaking){
switch (dir){
case Constants.ROAD_UP:
OvertakeProc(posx, (posy - 1), true);
break;
case Constants.ROAD_DOWN:
OvertakeProc(posx, (posy + 1), true);
break;
case Constants.ROAD_LEFT:
OvertakeProc((posx - 1), posy, true);
break;
case Constants.ROAD_RIGHT:
OvertakeProc((posx + 1), posy, true);
break;
default:
trace("ERROR in Car::AI() illegal start frame when updating CS_TURN");
break;
};
} else {
ProcessNextTile(carState);
};
};
};
};
};
};
};
};
}
function OnRemove(_arg1:Event){
if (_arg1.target == this){
stressTimer.removeEventListener(TimerEvent.TIMER, StressTime);
removeEventListener(Event.REMOVED, OnRemove);
};
}
function TurnProc(_arg1:int, _arg2:int, _arg3:int):void{
var _local4:int;
switch (_arg3){
case Constants.ROAD_UL:
case Constants.ROAD_UR:
_local4 = Constants.ROAD_UP;
break;
case Constants.ROAD_RU:
case Constants.ROAD_RD:
_local4 = Constants.ROAD_RIGHT;
break;
case Constants.ROAD_DL:
case Constants.ROAD_DR:
_local4 = Constants.ROAD_DOWN;
break;
case Constants.ROAD_LU:
case Constants.ROAD_LD:
_local4 = Constants.ROAD_LEFT;
break;
default:
trace("ERROR in Car::TurnProc(), illegal turn type");
return;
};
if (dir == _local4){
if (RandomChance(0.5)){
Turn(_arg1, _arg2, _arg3);
} else {
MoveTo(_arg1, _arg2);
};
} else {
MoveTo(_arg1, _arg2);
};
}
public function set CarState(_arg1:int){
carState = _arg1;
}
public function get px():int{
return (posx);
}
function StressTime(_arg1:TimerEvent){
if ((((stress < 25)) && (!(MovieClip(root).Game.Freezing)))){
stress++;
stressMeter.bar.gotoAndStop((Math.floor((stress / 5)) + 1));
if (stress == 20){
stressMeter.StartBlink();
};
if (stress == 25){
stressMeter.StopBlink();
stressMeter.visible = false;
stressFull.visible = true;
MovieClip(root).Game.DecreaseLive();
};
};
}
public function ResetStress():void{
stress = 0;
stressMeter.StopBlink();
stressMeter.visible = true;
stressFull.visible = false;
}
function OvertakeProc(_arg1:int, _arg2:int, _arg3:Boolean=false):void{
switch (dir){
case Constants.ROAD_UP:
if (_arg3){
Turn(_arg1, _arg2, Constants.ROAD_UL, true);
dir = Constants.ROAD_LEFT;
} else {
Turn(_arg1, _arg2, Constants.ROAD_UR, true);
dir = Constants.ROAD_RIGHT;
};
break;
case Constants.ROAD_DOWN:
if (_arg3){
Turn(_arg1, _arg2, Constants.ROAD_DR, true);
dir = Constants.ROAD_RIGHT;
} else {
Turn(_arg1, _arg2, Constants.ROAD_DL, true);
dir = Constants.ROAD_LEFT;
};
break;
case Constants.ROAD_LEFT:
if (_arg3){
Turn(_arg1, _arg2, Constants.ROAD_LD, true);
dir = Constants.ROAD_DOWN;
} else {
Turn(_arg1, _arg2, Constants.ROAD_LU, true);
dir = Constants.ROAD_UP;
};
break;
case Constants.ROAD_RIGHT:
if (_arg3){
Turn(_arg1, _arg2, Constants.ROAD_RU, true);
dir = Constants.ROAD_UP;
} else {
Turn(_arg1, _arg2, Constants.ROAD_RD, true);
dir = Constants.ROAD_DOWN;
};
break;
default:
trace("ERROR in Car::OvertakeProc(), unknown dir");
return;
};
}
public function Turn(_arg1:int, _arg2:int, _arg3:int, _arg4:Boolean=false){
var _local5:String;
gotoNextFrame = true;
if (_arg4){
carState = Constants.CS_OVERT;
} else {
carState = Constants.CS_TURN;
};
prevx = posx;
prevy = posy;
posx = _arg1;
posy = _arg2;
x = (posx * Constants.GRIDSIZE);
y = (posy * Constants.GRIDSIZE);
switch (_arg3){
case Constants.ROAD_UL:
startTurnFrame = "US";
_local5 = "UL";
model.y = (model.y + Constants.GRIDSIZE);
model.x = 0;
break;
case Constants.ROAD_UR:
startTurnFrame = "US";
_local5 = "UR";
model.x = (model.x + Constants.GRIDSIZE);
model.y = (model.y + Constants.GRIDSIZE);
model.scaleX = -1;
break;
case Constants.ROAD_RU:
startTurnFrame = "SU";
_local5 = "RU";
model.x = 0;
model.y = 0;
break;
case Constants.ROAD_RD:
startTurnFrame = "SD";
_local5 = "RD";
model.x = 0;
model.y = 0;
break;
case Constants.ROAD_DR:
startTurnFrame = "DS";
_local5 = "DR";
model.x = Constants.GRIDSIZE;
model.y = -(Constants.GRIDSIZE);
model.scaleX = -1;
break;
case Constants.ROAD_DL:
startTurnFrame = "DS";
_local5 = "DL";
model.y = -(Constants.GRIDSIZE);
model.x = 0;
break;
case Constants.ROAD_LD:
startTurnFrame = "SD";
_local5 = "LD";
model.x = (model.x + Constants.GRIDSIZE);
model.y = 0;
break;
case Constants.ROAD_LU:
startTurnFrame = "SU";
_local5 = "LU";
model.x = (model.x + Constants.GRIDSIZE);
model.y = 0;
break;
default:
trace("ERROR in Car::Turn(), illegal turn type");
break;
};
model.gotoAndStop(startTurnFrame);
stressMeter.gotoAndStop(_local5);
stressFull.gotoAndStop(_local5);
}
public function Remove():void{
var _local1:Grid;
_local1 = MovieClip(root).Game.MainGrid;
_local1.GetTile(posx, posy).CarExists = false;
if (((!((posx == prevx))) && (!((posy == prevy))))){
_local1.GetTile(prevx, prevy).CarExists = false;
};
_local1.GetTile(posx, posy).CarBroken = false;
if (carState == Constants.CS_BROKEN){
MovieClip(root).Game.ResetBroken();
};
MovieClip(root).Game.ui_holder.removeChild(stressMeter);
MovieClip(root).Game.ui_holder.removeChild(stressFull);
MovieClip(parent).removeChild(this);
}
public function ProcessNextTile(_arg1:int=1){
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:Tile;
var _local9:int;
var _local10:Boolean;
_local2 = posx;
_local3 = posy;
_local4 = posx;
_local5 = posy;
_local6 = posx;
_local7 = posy;
if (_arg1 == Constants.CS_MOVE){
curSpeed = fullSpeed;
} else {
curSpeed = accelSpeed;
};
switch (dir){
case Constants.ROAD_UP:
_local3--;
_local5 = (_local3 - 1);
_local7 = (_local3 - 2);
break;
case Constants.ROAD_RIGHT:
_local2++;
_local4 = (_local2 + 1);
_local6 = (_local2 + 2);
break;
case Constants.ROAD_DOWN:
_local3++;
_local5 = (_local3 + 1);
_local7 = (_local3 + 2);
break;
case Constants.ROAD_LEFT:
_local2--;
_local4 = (_local2 - 1);
_local6 = (_local2 - 2);
break;
default:
trace(("unexpected dir: " + dir));
break;
};
if (MovieClip(root) == null){
trace("ERROR: root is null!");
return (null);
};
_local8 = MovieClip(root).Game.MainGrid.GetTile(_local2, _local3);
if (_local8 == null){
_local9 = (50 - (stress * 2));
removeEventListener(TimerEvent.TIMER, StressTime);
if ((((((_local2 >= 0)) && ((_local2 < 15)))) && ((((_local3 >= 0)) && ((_local3 < 11)))))){
trace(((((((("warning: car removed mid-way at " + posx) + ",") + posy) + " to ") + _local2) + ",") + _local3));
};
MovieClip(root).Game.MainGrid.GetTile(posx, posy).CarExists = false;
if (_local9 != 0){
MovieClip(root).Game.AddScore(_local9);
MovieClip(root).Game.ui_holder.addChild(new floatingtext(("+" + _local9), x, y));
};
MovieClip(root).Game.CarPassed();
MoveTo(_local2, _local3);
carState = Constants.CS_EXIT;
return;
};
if (!_local8.CarExists){
_local10 = true;
switch (_local8.GetId()){
case Constants.ROAD_STOP:
if ((((_local8 as StopRoad).IsValidStopForDir(dir)) && ((_local8 as StopRoad).IsStopping))){
_local10 = false;
carState = Constants.CS_STOP;
} else {
MoveTo(_local2, _local3);
};
break;
case Constants.ROAD_N:
MoveTo(_local2, _local3);
break;
case Constants.ROAD_UL:
case Constants.ROAD_UR:
case Constants.ROAD_RU:
case Constants.ROAD_RD:
case Constants.ROAD_DL:
case Constants.ROAD_DR:
case Constants.ROAD_LU:
case Constants.ROAD_LD:
TurnProc(_local2, _local3, _local8.GetId());
break;
case Constants.ROAD_AU:
case Constants.ROAD_AR:
case Constants.ROAD_AD:
case Constants.ROAD_AL:
AbsTurnProc(_local2, _local3, _local8.GetId());
break;
default:
MoveTo(_local2, _local3);
break;
};
if (_local10){
_local8.CarExists = true;
};
} else {
if (carState == Constants.CS_ENTER){
MoveTo(_local2, _local3);
} else {
carState = Constants.CS_STOP;
curSpeed = 0;
};
};
}
function AbsTurnProc(_arg1:int, _arg2:int, _arg3:int):void{
var _local4:int;
var _local5:int;
switch (_arg3){
case Constants.ROAD_AU:
_local4 = Constants.ROAD_DOWN;
_local5 = Constants.ROAD_UP;
break;
case Constants.ROAD_AR:
_local4 = Constants.ROAD_LEFT;
_local5 = Constants.ROAD_RIGHT;
break;
case Constants.ROAD_AD:
_local4 = Constants.ROAD_UP;
_local5 = Constants.ROAD_DOWN;
break;
case Constants.ROAD_AL:
_local4 = Constants.ROAD_RIGHT;
_local5 = Constants.ROAD_LEFT;
break;
default:
trace("ERROR in Car::AbsTurnProc(), illegal turn type");
return;
};
if (((!((dir == _local4))) && (!((dir == _local5))))){
switch (_arg3){
case Constants.ROAD_AU:
if (dir == Constants.ROAD_LEFT){
Turn(_arg1, _arg2, Constants.ROAD_LU);
} else {
if (dir == Constants.ROAD_RIGHT){
Turn(_arg1, _arg2, Constants.ROAD_RU);
};
};
break;
case Constants.ROAD_AR:
if (dir == Constants.ROAD_UP){
Turn(_arg1, _arg2, Constants.ROAD_UR);
} else {
if (dir == Constants.ROAD_DOWN){
Turn(_arg1, _arg2, Constants.ROAD_DR);
};
};
break;
case Constants.ROAD_AD:
if (dir == Constants.ROAD_LEFT){
Turn(_arg1, _arg2, Constants.ROAD_LD);
} else {
if (dir == Constants.ROAD_RIGHT){
Turn(_arg1, _arg2, Constants.ROAD_RD);
};
};
break;
case Constants.ROAD_AL:
if (dir == Constants.ROAD_UP){
Turn(_arg1, _arg2, Constants.ROAD_UL);
} else {
if (dir == Constants.ROAD_DOWN){
Turn(_arg1, _arg2, Constants.ROAD_DL);
};
};
break;
default:
trace("ERROR in Car::AbsTurnProc(), illegal turn type(2)");
return;
};
} else {
MoveTo(_arg1, _arg2);
};
}
function UpdateStress():void{
if (carState == Constants.CS_STOP){
stressMeter.bar.gotoAndStop((Math.floor((stress / 5)) + 1));
if (!MovieClip(root).Game.IsPaused){
stressTimer.start();
};
} else {
stressMeter.bar.gotoAndStop((Math.floor((stress / 5)) + 7));
stressTimer.stop();
};
}
}
}//package trafficker
Section 38
//Constants (trafficker.Constants)
package trafficker {
public class Constants {
public static const CD_UFO:int = 10;
public static const ROAD_DL:int = 11;
public static const ROAD_LU:int = 13;
public static const UFOSPEED:int = 10;
public static const ROAD_DR:int = 10;
public static const CAR_TYPES:int = 7;
public static const ROAD_UL:int = 6;
public static const CAR_SPORT:int = 3;
public static const ROAD_UP:int = 2;
public static const ROAD_UR:int = 7;
public static const ROAD_RIGHT:int = 3;
public static const US_EXIT:int = 4;
public static const GS_GAMEPLAY:int = 0;
public static const ROAD_END:int = 14;
public static const CS_ENTER:int = 3;
public static const RBOTSPEED:int = 10;
public static const CD_FREEZE:int = 30;
public static const CAR_BAJAJ:int = 5;
public static const RS_ENTER:int = 1;
public static const DBG_GRID:Boolean = false;
public static const CH_SOUND2:int = 1;
public static const CS_MOVE:int = 1;
public static const CAR_POLICE:int = 7;
public static const CH_SOUND1:int = 0;
public static const GRIDSIZE:int = 40;
public static const US_NONE:int = 0;
public static const AVAIL_FREEZE:int = 3;
public static const CH_SOUND3:int = 2;
public static const US_BEAMING:int = 3;
public static const AVAIL_REFRESH:int = 4;
public static const RS_EXIT:int = 3;
public static const GS_SCORE:int = 3;
public static const ROAD_DOWN:int = 4;
public static const CAR_PICKUP:int = 2;
public static const PA_REFRESH:int = 4;
public static const AVAIL_UFO:int = 2;
public static const CS_OVERT:int = 5;
public static const STOPTILE_D:int = 32;
public static const RS_NONE:int = 0;
public static const CS_STOP:int = 0;
public static const STOPTILE_L:int = 33;
public static const STOPTILE_R:int = 31;
public static const STOPTILE_U:int = 30;
public static const LOSPEED:int = 4;
public static const CS_EXIT:int = 4;
public static const MULTI_5:int = 16;
public static const MULTI_7:int = 25;
public static const TEST:String = "test!";
public static const CAR_SEDAN:int = 0;
public static const VERYLOSPEED:int = 2;
public static const RS_REPAIRING:int = 2;
public static const CAR_CAB:int = 6;
public static const MULTI_1:int = 12;
public static const CS_BROKEN:int = 10;
public static const MULTI_4:int = 16;
public static const PA_UFO:int = 2;
public static const MULTI_8:int = 30;
public static const ROAD_AD:int = 18;
public static const MULTI_2:int = 15;
public static const PA_FREEZE:int = 3;
public static const CH_TOTALSOUNDS:int = 3;
public static const MULTI_6:int = 20;
public static const ROAD_AL:int = 19;
public static const CH_MUSIC:int = 3;
public static const MULTI_3:int = 17;
public static const ROAD_AR:int = 17;
public static const ROAD_RD:int = 9;
public static const ROAD_AU:int = 16;
public static const GS_GAMEOVER:int = 1;
public static const PV_FREEZETIME:int = 5;
public static const MAXCARTABLE:int = 1000;
public static const ROAD_STOP:int = 15;
public static const ROAD_LEFT:int = 5;
public static const DBG1:Boolean = false;
public static const ROAD_RU:int = 8;
public static const HISPEED:int = 8;
public static const CAR_JEEP:int = 4;
public static const US_ENTER:int = 2;
public static const CD_REFRESH:int = 60;
public static const CAR_NONE:int = 99;
public static const BROKEN_CHANCE:int = 1;
public static const GS_GAMECLEAR:int = 2;
public static const CS_TURN:int = 2;
public static const ROAD_N:int = 1;
public static const US_SELECTING:int = 1;
public static const CAR_KARIMUN:int = 1;
public static const ROAD_LD:int = 12;
public static const MEDSPEED:int = 5;
public static const PA_NONE:int = 0;
}
}//package trafficker
Section 39
//GameScreen (trafficker.GameScreen)
package trafficker {
import flash.events.*;
import flash.media.*;
import util.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import trafficker.ui.*;
import flash.ui.*;
public class GameScreen extends MovieClip {
private var mibZap:mibzap;
private var freezeTime:FakeTimer;
public var sendscore:GFSubmitScore;
private var mibCoolTime:FakeTimer;
public var mute:MovieClip;
public var repbot:MovieClip;
private var music:SoundChannel;
public var MIB:MovieClip;
private var musicTimer:Timer;
private var carChance:ChanceGen;
public var maxgreen:MovieClip;
public var netfail:MovieClip;
private var tet:mati;
private var brokenSound:mogok;
private var iceEnd:iceend;
private var iceSong:ice;
public var icecool:TextField;
private var lastTotal:int;
public var ufocool:TextField;
private var carTable:Array;
private var volume5:SoundTransform;
public var freezebtn:MovieClip;
private var btilex:int;
private var btiley:int;
public var pausemenu:MovieClip;
private var beamedCar:Car;
public var car_holder:MovieClip;
private var enviroTimer:Timer;
private var diffLevel:int;
public var freezetxt:MovieClip;
private var volume0:SoundTransform;
public var telebtn:MovieClip;
public var mibcool:TextField;
private var repSound:repairsound;
private var contVars:SharedObject;
private var ufoDestX:int;
private var ambient:enviro;
private var instance:MovieClip;
public var tscore:TextField;
private var iceStart:icestart;
public var car_broken:MovieClip;
private var clickGen:clickgen;
public var fg:MovieClip;
private var perkAction:int;
public var grid_holder:MovieClip;
public var lives_ui:MovieClip;
private var ufoBeam:ufobeam;
private var carsGoal:int;
private var isPaused:Boolean;
private var repairState:int;
private var perksAvailable:int;
public var pfreeze:MovieClip;
private var sound2:SoundChannel;
private var sound3:SoundChannel;
private var currentGreen:int;
private var sound1:SoundChannel;
private var bcardir:int;
private var destrepy:int;
public var repboost:MovieClip;
private var lives:int;
private var destrepx:int;
private var ufoSelectable:Boolean;
private var brkChance:ChanceGen;
public var ufotarget:MovieClip;
private var ufoState:int;
public var tutor:Tutorial;
private var winSong:win;
private var goalScore:int;
private var mibSelectable:Boolean;
private var iceSelectable:Boolean;
private var grid:Grid;
private var horns:horn;
private var arrChannel:Array;
public var map:MovieClip;
private var clickTraffic:clicktraffic;
private var iceCoolTime:FakeTimer;
private var levelScore:RollingNumber;
public var leaderboard:GFLeaderboard;
private var hornTimer:Timer;
private var currentLevel:int;
private var mainTheme:maintheme;
private var ufoFly:ufofly;
private var carsRemaining:int;
private var scoreSound:scoring;
public var refreshbtn:MovieClip;
public var lscore:TextField;
private var freezing:Boolean;
public var maxgreenintro:MovieClip;
public var repairbtn:MovieClip;
private var numTrafficSwitch:int;
private var totalScore:RollingNumber;
public var ui_holder:MovieClip;
public var sclear:MovieClip;
private var loseSong:lose;
public var gameover:MovieClip;
private var gameState:int;
private var ufoCoolTime:FakeTimer;
private var broken:int;
public var ufo:MovieClip;
private var maxGreen:int;
public function GameScreen(){
contVars = SharedObject.getLocal("fnttraft");
repboost.buttonMode = true;
repboost.useHandCursor = true;
repboost.addEventListener(MouseEvent.CLICK, OnClickRepBoost);
repboost.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseDRepBoost);
repboost.addEventListener(MouseEvent.MOUSE_UP, OnMouseURepBoost);
repboost.gotoAndStop("up");
isPaused = false;
carChance = new ChanceGen(Constants.MAXCARTABLE);
levelScore = new RollingNumber(5);
totalScore = new RollingNumber(5);
lastTotal = contVars.data.totalscore;
carsGoal = 5;
diffLevel = contVars.data.difflevel;
currentLevel = contVars.data.currentlevel;
perksAvailable = contVars.data.perksavailable;
ufoSelectable = contVars.data.ufoselect;
iceSelectable = contVars.data.iceselect;
mibSelectable = contVars.data.mibselect;
tscore.text = "0";
grid = null;
mouseEnabled = false;
tscore.mouseEnabled = false;
lscore.mouseEnabled = false;
lives_ui.mouseEnabled = false;
car_broken.mouseEnabled = false;
map.mouseEnabled = false;
fg.mouseEnabled = false;
gameover.mouseEnabled = false;
gameover.govertext.mouseEnabled = false;
pausemenu.mouseEnabled = false;
pausemenu.pausetext.mouseEnabled = false;
gameState = Constants.GS_GAMEPLAY;
freezeTime = new FakeTimer();
freezetxt.visible = false;
pfreeze.mouseEnabled = false;
ufotarget.mouseEnabled = false;
ufoCoolTime = new FakeTimer();
ufoCoolTime.Elapsed = contVars.data.ufoelapse;
ufocool.visible = false;
iceCoolTime = new FakeTimer();
iceCoolTime.Elapsed = contVars.data.iceelapse;
icecool.visible = false;
mibCoolTime = new FakeTimer();
mibCoolTime.Elapsed = contVars.data.mibelapse;
mibcool.visible = false;
maxgreenintro.visible = false;
leaderboard.InMenu = false;
netfail.stop();
netfail.visible = false;
InitSound();
pausemenu.music.buttonMode = true;
pausemenu.music.useHandCursor = true;
pausemenu.music.addEventListener(MouseEvent.CLICK, OnClickMusic);
pausemenu.sound.buttonMode = true;
pausemenu.sound.useHandCursor = true;
pausemenu.sound.addEventListener(MouseEvent.CLICK, OnClickSound);
pausemenu.rsmbutton.addEventListener(MouseEvent.CLICK, OnClickResume);
pausemenu.rstbutton.addEventListener(MouseEvent.CLICK, OnClickRestart);
pausemenu.qbutton.addEventListener(MouseEvent.CLICK, OnClickQuit);
sclear.screenbutton.addEventListener(MouseEvent.CLICK, OnClickClearScreen);
maxgreenintro.screenbutton.addEventListener(MouseEvent.CLICK, OnClickMaxGreen);
gameover.rbutton.addEventListener(MouseEvent.CLICK, OnClickRestart);
gameover.qbutton.addEventListener(MouseEvent.CLICK, OnClickQuitGO);
tutor.disablehint.addEventListener(MouseEvent.CLICK, OnClickDisableHint);
mute.addEventListener(MouseEvent.CLICK, OnClickMute);
leaderboard.closebtn.addEventListener(MouseEvent.CLICK, OnClickQuit);
netfail.backmenu.addEventListener(MouseEvent.CLICK, OnClickQuit);
repairbtn.gotoAndStop("enable");
repairbtn.buttonMode = true;
repairbtn.useHandCursor = true;
telebtn.buttonMode = true;
telebtn.useHandCursor = true;
freezebtn.buttonMode = true;
freezebtn.useHandCursor = true;
refreshbtn.buttonMode = true;
refreshbtn.useHandCursor = true;
addEventListener(Event.ADDED, OnAdded);
addEventListener(Event.REMOVED, OnRemove);
addEventListener(KeyboardEvent.KEY_DOWN, OnKeyDown);
addEventListener(Event.ENTER_FRAME, Update);
addEventListener(MouseEvent.CLICK, OnClick);
}
public function ShowLeaderBoard():void{
leaderboard.Retrieve();
}
function OnHornTime(_arg1:Event){
if (car_holder.numChildren >= 20){
PlaySound(horns);
};
}
function InitLevel(_arg1:Boolean=false){
gameState = Constants.GS_GAMEPLAY;
isPaused = false;
pausemenu.visible = false;
gameover.gotoAndStop(1);
gameover.visible = false;
numTrafficSwitch = 0;
lives = 3;
lives_ui.gotoAndStop(1);
totalScore.Set(lastTotal);
tscore.text = totalScore.Value.toString();
levelScore.Set(0);
lscore.text = "0";
broken = 0;
repairState = Constants.RS_NONE;
repbot.x = -50;
repbot.y = -50;
repbot.stop();
repboost.visible = false;
car_broken.visible = false;
sclear.gotoAndStop(1);
sclear.visible = false;
currentGreen = 0;
freezing = false;
freezeTime.Reset();
freezetxt.visible = false;
maxgreen.gotoAndStop("hide");
musicTimer.addEventListener(TimerEvent.TIMER, OnMusicTime);
musicTimer.reset();
enviroTimer.addEventListener(TimerEvent.TIMER, OnEnviroTime);
enviroTimer.reset();
hornTimer.addEventListener(TimerEvent.TIMER, OnHornTime);
hornTimer.reset();
hornTimer.start();
grid.Init(Levels.GetLevel(currentLevel));
map.gotoAndStop(currentLevel);
fg.gotoAndStop(currentLevel);
BuildCarTable((diffLevel * 15));
ResetPerks();
switch (currentLevel){
case 1:
brkChance = new ChanceGen(1500);
goalScore = 500;
carsRemaining = (((carsGoal + diffLevel) - 1) * Constants.MULTI_1);
maxGreen = 1;
if (!MovieClip(root).HintDisabled){
if (tutor.Show("intro1")){
};
};
if (!tutor.visible){
ShowMaxGreenIntro();
};
TogglePause(false);
break;
case 2:
brkChance = new ChanceGen(1500);
goalScore = 500;
carsRemaining = (((carsGoal + diffLevel) - 1) * Constants.MULTI_2);
maxGreen = 1;
ShowMaxGreenIntro();
TogglePause(false);
break;
case 3:
brkChance = new ChanceGen(1500);
goalScore = 500;
carsRemaining = (((carsGoal + diffLevel) - 1) * Constants.MULTI_3);
maxGreen = 3;
if (diffLevel == 1){
ufoSelectable = true;
ufocool.visible = false;
ResetPerks();
telebtn.gotoAndPlay("blink");
};
if (!MovieClip(root).HintDisabled){
if (tutor.Show("ufo")){
};
};
if (!tutor.visible){
ShowMaxGreenIntro();
};
TogglePause(false);
break;
case 4:
brkChance = new ChanceGen(1500);
goalScore = 500;
carsRemaining = (((carsGoal + diffLevel) - 1) * Constants.MULTI_4);
maxGreen = 3;
if (diffLevel == 1){
iceSelectable = true;
icecool.visible = false;
ResetPerks();
freezebtn.gotoAndPlay("blink");
};
if (!MovieClip(root).HintDisabled){
if (tutor.Show("freeze")){
};
};
if (!tutor.visible){
ShowMaxGreenIntro();
};
TogglePause(false);
break;
case 5:
brkChance = new ChanceGen(1500);
goalScore = 500;
carsRemaining = (((carsGoal + diffLevel) - 1) * Constants.MULTI_5);
maxGreen = 3;
if (diffLevel == 1){
mibSelectable = true;
mibcool.visible = false;
ResetPerks();
refreshbtn.gotoAndPlay("blink");
};
if (!MovieClip(root).HintDisabled){
if (tutor.Show("refresh")){
};
};
if (!tutor.visible){
ShowMaxGreenIntro();
};
TogglePause(false);
break;
case 6:
brkChance = new ChanceGen(1500);
carsRemaining = (((carsGoal + diffLevel) - 1) * Constants.MULTI_6);
maxGreen = 2;
ShowMaxGreenIntro();
TogglePause(false);
break;
case 7:
brkChance = new ChanceGen(1500);
carsRemaining = (((carsGoal + diffLevel) - 1) * Constants.MULTI_7);
maxGreen = 2;
ShowMaxGreenIntro();
TogglePause(false);
break;
case 8:
brkChance = new ChanceGen(1500);
carsRemaining = (((carsGoal + diffLevel) - 1) * Constants.MULTI_8);
maxGreen = 1;
ShowMaxGreenIntro();
TogglePause(false);
break;
};
if (Constants.DBG1){
carsRemaining = 5;
};
}
function OnMouseDRepBoost(_arg1:MouseEvent){
repboost.gotoAndStop("down");
}
function OnAdded(_arg1:Event){
removeEventListener(Event.ADDED, OnAdded);
grid = new Grid();
grid_holder.addChild(grid);
grid_holder.alpha = 0.5;
MovieClip(root).MouseFrame(1);
if (MovieClip(root).HintDisabled){
tutor.disablehint.gotoAndStop("on");
} else {
tutor.disablehint.gotoAndStop("off");
};
if (MovieClip(root).MusicDisabled){
pausemenu.music.gotoAndStop("uncheck");
} else {
pausemenu.music.gotoAndStop("check");
};
if (MovieClip(root).SoundDisabled){
pausemenu.sound.gotoAndStop("uncheck");
} else {
pausemenu.sound.gotoAndStop("check");
};
if (((MovieClip(root).MusicDisabled) && (MovieClip(root).SoundDisabled))){
mute.gotoAndStop("mute");
} else {
mute.gotoAndStop("unmute");
};
mute.buttonMode = true;
mute.useHandCursor = true;
InitLevel();
}
function OnEnviroTime(_arg1:Event){
enviroTimer.reset();
PlayAmbient();
}
function CheckGoal(){
if (carsRemaining <= 0){
music.stop();
PlayMusic(winSong);
TogglePause(false);
lastTotal = totalScore.Value;
currentLevel++;
perksAvailable++;
contVars.data.currentlevel = currentLevel;
contVars.data.totalscore = lastTotal;
contVars.data.perksavailable = perksAvailable;
contVars.data.ufoselect = ufoSelectable;
contVars.data.ufoelapse = ufoCoolTime.Elapsed;
contVars.data.iceselect = iceSelectable;
contVars.data.iceelapse = iceCoolTime.Elapsed;
contVars.data.mibselect = mibSelectable;
contVars.data.mibelapse = mibCoolTime.Elapsed;
contVars.flush();
sclear.visible = true;
sclear.gotoAndPlay(1);
};
}
function OnClickUFO(_arg1:MouseEvent){
if (!isPaused){
ClickSound();
if (ufoState == Constants.US_SELECTING){
ResetPerks();
} else {
InitPerks(Constants.PA_UFO);
};
};
}
function OnClickClearScreen(_arg1:MouseEvent){
sclear.gotoAndStop(1);
gameState = Constants.GS_GAMECLEAR;
}
function OnClickMute(_arg1:MouseEvent){
ToggleMute();
}
function UpdateUFO(){
switch (ufoState){
case Constants.US_SELECTING:
ufotarget.x = MovieClip(root).mouseX;
ufotarget.y = MovieClip(root).mouseY;
break;
case Constants.US_ENTER:
if (ufo.x < ufoDestX){
ufo.x = (ufo.x + Constants.UFOSPEED);
} else {
if (ufo.x > ufoDestX){
ufo.x = (ufo.x - Constants.UFOSPEED);
};
};
if (ufo.x == ufoDestX){
ufo.gotoAndPlay("beam");
ufoState = Constants.US_BEAMING;
arrChannel[Constants.CH_SOUND1].stop();
PlaySound(ufoBeam);
};
break;
case Constants.US_BEAMING:
if (ufo.currentLabel == "beam_end"){
beamedCar.Remove();
ufo.gotoAndStop("fly");
while (ufoDestX < 610) {
ufoDestX = (ufoDestX + Constants.UFOSPEED);
};
ufoState = Constants.US_EXIT;
arrChannel[Constants.CH_SOUND1].stop();
PlaySound(ufoFly);
};
break;
case Constants.US_EXIT:
if (ufo.x < ufoDestX){
ufo.x = (ufo.x + Constants.UFOSPEED);
} else {
if (ufo.x > ufoDestX){
ufo.x = (ufo.x - Constants.UFOSPEED);
};
};
if (ufo.x == ufoDestX){
ufoCoolTime.Reset();
ufoSelectable = false;
ResetPerks();
};
break;
};
}
public function ClickTrafficSound():void{
PlaySound(clickTraffic);
}
function OnKeyDown(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case Keyboard.SPACE:
if ((((lives > 0)) && ((carsRemaining > 0)))){
if (tutor.visible){
ClickSound();
if (tutor.currentLabel == "intro1"){
tutor.gotoAndStop("intro2");
} else {
if (tutor.currentLabel == "repair"){
tutor.Hide();
if (isPaused){
TogglePause();
};
} else {
tutor.Hide();
ShowMaxGreenIntro();
};
};
} else {
if (maxgreenintro.visible){
maxgreenintro.visible = false;
if (isPaused){
TogglePause();
};
PlayMainTheme();
if (!MovieClip(root).SoundDisabled){
PlayAmbient();
};
} else {
if ((((ufoState == Constants.US_SELECTING)) && (!(isPaused)))){
ResetPerks();
} else {
if (perkAction == Constants.PA_NONE){
ClickSound();
TogglePause();
};
};
};
};
};
break;
default:
break;
};
}
function PlayMainTheme():void{
PlayMusic(mainTheme);
music.addEventListener(Event.SOUND_COMPLETE, OnMainThemeEnd);
}
function OnEnviroEnd(_arg1:Event){
ambient.removeEventListener(Event.SOUND_COMPLETE, OnEnviroEnd);
enviroTimer.start();
}
public function AddScore(_arg1:int){
levelScore.Value = (levelScore.Value + _arg1);
totalScore.Value = (totalScore.Value + _arg1);
ScoringSound();
}
function SetRepair(){
repairState = Constants.RS_ENTER;
}
public function SetBroken(_arg1:int, _arg2:int, _arg3:int){
btilex = _arg1;
btiley = _arg2;
destrepx = (_arg1 * Constants.GRIDSIZE);
destrepy = (_arg2 * Constants.GRIDSIZE);
repboost.x = destrepx;
repboost.y = destrepy;
car_broken.x = destrepx;
car_broken.y = destrepy;
car_broken.visible = true;
bcardir = _arg3;
repbot.scaleX = 1;
switch (_arg3){
case Constants.ROAD_DOWN:
destrepy = (destrepy + Constants.GRIDSIZE);
repbot.x = (_arg1 * Constants.GRIDSIZE);
repbot.y = (13 * Constants.GRIDSIZE);
repbot.gotoAndStop("U_start");
break;
case Constants.ROAD_UP:
destrepy = (destrepy - Constants.GRIDSIZE);
repbot.x = (_arg1 * Constants.GRIDSIZE);
repbot.y = (-2 * Constants.GRIDSIZE);
repbot.gotoAndStop("D_start");
break;
case Constants.ROAD_RIGHT:
destrepx = (destrepx + Constants.GRIDSIZE);
repbot.x = (17 * Constants.GRIDSIZE);
repbot.y = (_arg2 * Constants.GRIDSIZE);
repbot.gotoAndStop("S_start");
break;
case Constants.ROAD_LEFT:
repbot.scaleX = -1;
repbot.x = (-1 * Constants.GRIDSIZE);
repbot.y = (_arg2 * Constants.GRIDSIZE);
repbot.gotoAndStop("S_start");
break;
};
broken = 150;
repairbtn.addEventListener(MouseEvent.CLICK, OnClickRepair);
repboost.gotoAndStop("up");
}
function OnClickQuit(_arg1:MouseEvent){
gameState = Constants.GS_GAMEOVER;
ClickSound();
}
public function get CurGreen():int{
return (currentGreen);
}
public function get MainGrid():Grid{
return (grid);
}
function OnClickFreeze(_arg1:MouseEvent){
if (!isPaused){
ClickSound();
InitPerks(Constants.PA_FREEZE);
};
}
function OnClick(_arg1:MouseEvent){
var _local2:int;
if ((((ufoState == Constants.US_SELECTING)) && (!(isPaused)))){
if ((_arg1.target is Car)){
ufotarget.x = -50;
ufotarget.y = -50;
telebtn.removeEventListener(MouseEvent.CLICK, OnClickUFO);
beamedCar = (_arg1.target as Car);
TogglePause(false);
_local2 = _arg1.target.x;
while (_local2 > -40) {
_local2 = (_local2 - Constants.UFOSPEED);
};
ufo.x = _local2;
ufo.y = (_arg1.target.y - 40);
ufoDestX = _arg1.target.x;
ufoState = Constants.US_ENTER;
PlaySound(ufoFly);
} else {
if (_arg1.target.name != "telebtn"){
ResetPerks();
};
};
};
}
public function BuildCarTable(_arg1:int):void{
var _local2:int;
carTable = new Array(Constants.MAXCARTABLE);
_local2 = 0;
while (_local2 < Constants.MAXCARTABLE) {
carTable[_local2] = Constants.CAR_NONE;
_local2++;
};
if (_arg1 > Constants.MAXCARTABLE){
_arg1 = Constants.MAXCARTABLE;
};
_local2 = 0;
while (_local2 < _arg1) {
carTable[_local2] = Math.floor((Math.random() * Constants.CAR_TYPES));
_local2++;
};
carTable[(_arg1 - 1)] = Constants.CAR_POLICE;
}
function DecreaseLive(){
if (lives > 0){
PlaySound(tet);
lives--;
};
lives_ui.gotoAndStop((4 - lives));
if (lives == 0){
music.stop();
PlayMusic(loseSong);
TogglePause(false);
gameover.visible = true;
gameover.gotoAndPlay(1);
};
}
function OnClickMIB(_arg1:MouseEvent){
if (!isPaused){
ClickSound();
InitPerks(Constants.PA_REFRESH);
};
}
function OnClickResume(_arg1:MouseEvent){
TogglePause();
ClickSound();
}
public function ClickSound():void{
PlaySound(clickGen);
}
function InitPerks(_arg1:int){
perkAction = _arg1;
telebtn.gotoAndStop("disable");
freezebtn.removeEventListener(MouseEvent.CLICK, OnClickFreeze);
freezebtn.gotoAndStop("disable");
refreshbtn.removeEventListener(MouseEvent.CLICK, OnClickMIB);
refreshbtn.gotoAndStop("disable");
switch (perkAction){
case Constants.PA_UFO:
ufoState = Constants.US_SELECTING;
ufo.gotoAndStop("fly");
break;
case Constants.PA_FREEZE:
TogglePause(false);
pfreeze.gotoAndPlay(1);
PlaySound(iceStart);
break;
case Constants.PA_REFRESH:
TogglePause(false);
MIB.gotoAndPlay(1);
PlaySound(mibZap);
break;
default:
break;
};
}
function UpdateFreeze(){
var _local1:int;
if (pfreeze.currentLabel == "end"){
volume5.volume = 0.7;
PlayMusic(iceSong);
volume5.volume = 0.3;
_local1 = 1;
while (_local1 < car_holder.numChildren) {
(car_holder.getChildAt(_local1) as Car).FreezeStress(true);
_local1++;
};
freezing = true;
freezeTime.Reset();
freezeTime.Start();
if (Constants.DBG_GRID){
freezetxt.visible = true;
};
iceCoolTime.Reset();
iceSelectable = false;
ResetPerks();
};
}
public function ShowNetFail(_arg1:Boolean=true):void{
if (_arg1){
netfail.gotoAndStop("submit");
} else {
netfail.gotoAndStop("retrieve");
};
netfail.visible = true;
}
public function TogglePause(_arg1:Boolean=true):void{
var _local2:int;
var _local3:int;
if (isPaused){
isPaused = false;
pausemenu.visible = false;
_local2 = 1;
while (_local2 <= numTrafficSwitch) {
trafficswitch(ui_holder.getChildAt(_local2)).Resume();
_local2++;
};
if (repairState == Constants.RS_REPAIRING){
repbot.play();
};
if (freezing){
freezeTime.Start();
};
if (((!(ufoSelectable)) && ((perksAvailable >= Constants.AVAIL_UFO)))){
ufoCoolTime.Start();
};
if (((!(iceSelectable)) && ((perksAvailable >= Constants.AVAIL_FREEZE)))){
iceCoolTime.Start();
};
if (((!(mibSelectable)) && ((perksAvailable >= Constants.AVAIL_REFRESH)))){
mibCoolTime.Start();
};
} else {
isPaused = true;
if (_arg1){
pausemenu.visible = true;
};
_local2 = 1;
while (_local2 <= numTrafficSwitch) {
trafficswitch(ui_holder.getChildAt(_local2)).Pause();
_local2++;
};
_local3 = 1;
while (_local3 < car_holder.numChildren) {
(car_holder.getChildAt(_local3) as Car).StopStressTimer();
_local3++;
};
if (repairState == Constants.RS_REPAIRING){
repbot.stop();
};
freezeTime.Pause();
ufoCoolTime.Pause();
iceCoolTime.Pause();
mibCoolTime.Pause();
};
}
function PlayAmbient():void{
if (!MovieClip(root).SoundDisabled){
arrChannel[Constants.CH_SOUND3] = ambient.play();
arrChannel[Constants.CH_SOUND3].addEventListener(Event.SOUND_COMPLETE, OnEnviroEnd);
};
}
function ToggleHint():void{
if (MovieClip(root).HintDisabled){
MovieClip(root).HintDisabled = false;
tutor.DisableHint(false);
} else {
MovieClip(root).HintDisabled = true;
tutor.DisableHint(true);
};
}
function OnClickRepBoost(_arg1:MouseEvent){
broken = (broken - 4);
}
function OnMainThemeEnd(_arg1:Event){
music.removeEventListener(Event.SOUND_COMPLETE, OnMainThemeEnd);
musicTimer.start();
}
function OnClickRestart(_arg1:MouseEvent){
gameState = Constants.GS_GAMECLEAR;
ClickSound();
}
function OnClickDisableHint(_arg1:MouseEvent){
ClickSound();
ToggleHint();
}
function OnClickMusic(_arg1:MouseEvent){
ClickSound();
if (MovieClip(root).MusicDisabled){
MovieClip(root).MusicDisabled = false;
pausemenu.music.gotoAndStop("check");
if (music != null){
music.soundTransform = volume5;
};
mute.gotoAndStop("unmute");
} else {
MovieClip(root).MusicDisabled = true;
pausemenu.music.gotoAndStop("uncheck");
if (music != null){
music.soundTransform = volume0;
};
if (MovieClip(root).SoundDisabled){
mute.gotoAndStop("mute");
};
};
}
function Update(_arg1:Event){
var _local2:int;
switch (gameState){
case Constants.GS_GAMEPLAY:
stage.focus = this;
levelScore.Update();
totalScore.Update();
lscore.text = carsRemaining.toString();
tscore.text = totalScore.Display.toString();
if (((!(isPaused)) && (!((grid == null))))){
if (repairState != Constants.RS_NONE){
UpdateRepair();
} else {
if (perksAvailable <= 0){
if ((((carsRemaining <= 40)) && ((broken <= 0)))){
BrokenChance();
};
} else {
if (broken <= 0){
BrokenChance();
};
};
};
if (freezing){
if (freezeTime.Elapsed >= Constants.PV_FREEZETIME){
PlaySound(iceEnd);
_local2 = 1;
while (_local2 < car_holder.numChildren) {
(car_holder.getChildAt(_local2) as Car).FreezeStress(false);
_local2++;
};
freezing = false;
freezetxt.visible = false;
freezeTime.Reset();
};
};
grid.UpdateSpawnTiles();
UpdateCars();
CheckGoal();
};
if (perkAction != Constants.PA_NONE){
UpdatePerks();
};
UpdatePerksCooldown();
break;
case Constants.GS_GAMEOVER:
ClearLevel();
if ((((ui_holder.numChildren == 1)) && ((car_holder.numChildren == 1)))){
removeEventListener(Event.ADDED, OnAdded);
removeEventListener(KeyboardEvent.KEY_DOWN, OnKeyDown);
removeEventListener(Event.ENTER_FRAME, Update);
removeEventListener(MouseEvent.CLICK, OnClick);
pausemenu.rsmbutton.removeEventListener(MouseEvent.CLICK, OnClickResume);
pausemenu.rstbutton.removeEventListener(MouseEvent.CLICK, OnClickRestart);
pausemenu.qbutton.removeEventListener(MouseEvent.CLICK, OnClickQuit);
sclear.screenbutton.removeEventListener(MouseEvent.CLICK, OnClickClearScreen);
gameover.rbutton.removeEventListener(MouseEvent.CLICK, OnClickRestart);
gameover.qbutton.removeEventListener(MouseEvent.CLICK, OnClickQuit);
SoundMixer.stopAll();
MovieClip(root).gotoAndStop("menu");
MovieClip(parent).removeChild(this);
};
break;
case Constants.GS_GAMECLEAR:
ClearLevel();
if ((((ui_holder.numChildren == 1)) && ((car_holder.numChildren == 1)))){
grid.Destroy();
if (currentLevel > 8){
currentLevel = 1;
diffLevel++;
contVars.data.difflevel = diffLevel;
contVars.flush();
};
InitLevel();
};
break;
case Constants.GS_SCORE:
break;
};
}
function PlaySound(_arg1:Sound, _arg2:int=0):void{
if (!MovieClip(root).SoundDisabled){
arrChannel[_arg2] = _arg1.play();
};
}
public function PlayMusic(_arg1:Sound):void{
if (music != null){
music.stop();
};
music = _arg1.play();
if (MovieClip(root).MusicDisabled){
music.soundTransform = volume0;
} else {
music.soundTransform = volume5;
};
}
public function CarPassed():void{
carsRemaining--;
}
public function get IsPaused():Boolean{
return (isPaused);
}
function OnMusicTime(_arg1:Event){
musicTimer.reset();
PlayMainTheme();
}
function OnLBClose(_arg1:MouseEvent){
gameState = Constants.GS_GAMEOVER;
}
function ResetPerks(){
perkAction = Constants.PA_NONE;
ufoState = Constants.US_NONE;
if (isPaused){
TogglePause(false);
};
if (perksAvailable >= Constants.AVAIL_UFO){
if (ufoSelectable){
telebtn.addEventListener(MouseEvent.CLICK, OnClickUFO);
telebtn.gotoAndStop("enable");
} else {
telebtn.gotoAndStop("disable");
ufocool.visible = true;
ufoCoolTime.Start();
};
} else {
telebtn.gotoAndStop("disable");
};
if (perksAvailable >= Constants.AVAIL_FREEZE){
if (iceSelectable){
freezebtn.addEventListener(MouseEvent.CLICK, OnClickFreeze);
freezebtn.gotoAndStop("enable");
} else {
freezebtn.gotoAndStop("disable");
icecool.visible = true;
iceCoolTime.Start();
};
} else {
freezebtn.gotoAndStop("disable");
};
if (perksAvailable >= Constants.AVAIL_REFRESH){
if (mibSelectable){
refreshbtn.addEventListener(MouseEvent.CLICK, OnClickMIB);
refreshbtn.gotoAndStop("enable");
} else {
refreshbtn.gotoAndStop("disable");
mibcool.visible = true;
mibCoolTime.Start();
};
} else {
refreshbtn.gotoAndStop("disable");
};
MIB.gotoAndStop(1);
pfreeze.gotoAndStop(1);
ufotarget.x = -50;
ufotarget.y = -50;
}
function ClearLevel(){
var _local1:int;
SoundMixer.stopAll();
if (music != null){
music.removeEventListener(Event.SOUND_COMPLETE, OnMainThemeEnd);
};
musicTimer.removeEventListener(TimerEvent.TIMER, OnMusicTime);
if (arrChannel[Constants.CH_SOUND3] != null){
arrChannel[Constants.CH_SOUND3].removeEventListener(Event.SOUND_COMPLETE, OnEnviroEnd);
};
enviroTimer.removeEventListener(TimerEvent.TIMER, OnEnviroTime);
hornTimer.removeEventListener(TimerEvent.TIMER, OnHornTime);
hornTimer.reset();
_local1 = 1;
while (_local1 < car_holder.numChildren) {
car_holder.removeChildAt(_local1);
_local1++;
};
_local1 = 1;
while (_local1 < ui_holder.numChildren) {
ui_holder.removeChildAt(_local1);
_local1++;
};
}
function RepairSound():void{
if (!MovieClip(root).SoundDisabled){
arrChannel[Constants.CH_SOUND2] = repSound.play(0, 1000);
arrChannel[Constants.CH_SOUND2].soundTransform = volume5;
};
}
function OnRemove(_arg1:Event){
if (_arg1.target == this){
removeEventListener(Event.REMOVED, OnRemove);
};
}
function OnMouseURepBoost(_arg1:MouseEvent){
repboost.gotoAndStop("up");
}
function UpdatePerksCooldown(){
if (!ufoSelectable){
if (ufoCoolTime.Elapsed >= Constants.CD_UFO){
ufocool.visible = false;
ufoCoolTime.Pause();
telebtn.addEventListener(MouseEvent.CLICK, OnClickUFO);
telebtn.gotoAndPlay("blink");
ufoSelectable = true;
} else {
ufocool.text = (Constants.CD_UFO - ufoCoolTime.Elapsed).toString();
};
};
if (!iceSelectable){
if (iceCoolTime.Elapsed >= Constants.CD_FREEZE){
icecool.visible = false;
iceCoolTime.Pause();
freezebtn.addEventListener(MouseEvent.CLICK, OnClickFreeze);
freezebtn.gotoAndPlay("blink");
iceSelectable = true;
} else {
icecool.text = (Constants.CD_FREEZE - iceCoolTime.Elapsed).toString();
};
};
if (!mibSelectable){
if (mibCoolTime.Elapsed >= Constants.CD_REFRESH){
mibcool.visible = false;
mibCoolTime.Pause();
refreshbtn.addEventListener(MouseEvent.CLICK, OnClickMIB);
refreshbtn.gotoAndPlay("blink");
mibSelectable = true;
} else {
mibcool.text = (Constants.CD_REFRESH - mibCoolTime.Elapsed).toString();
};
};
}
public function set GameState(_arg1:int){
gameState = _arg1;
}
public function CheckMaxGreen():Boolean{
var _local1:int;
if (currentGreen < maxGreen){
return (true);
};
maxgreen.gotoAndPlay("show");
_local1 = 1;
while (_local1 <= numTrafficSwitch) {
if ((((trafficswitch(ui_holder.getChildAt(_local1)).currentFrame == 3)) || ((trafficswitch(ui_holder.getChildAt(_local1)).currentLabel == "blink")))){
trafficswitch(ui_holder.getChildAt(_local1)).Blink();
};
_local1++;
};
return (false);
}
function StopSChannel(_arg1:int){
if (arrChannel[_arg1] != null){
arrChannel[_arg1].stop();
};
}
public function set CurGreen(_arg1:int){
currentGreen = _arg1;
}
public function ShowMaxGreenIntro(_arg1:Boolean=true){
maxgreenintro.gotoAndStop(currentLevel);
maxgreenintro.visible = _arg1;
}
function OnClickQuitGO(_arg1:MouseEvent){
ClickSound();
gameover.visible = false;
contVars.data.totalscore = Math.floor((0.7 * lastTotal));
contVars.flush();
gameState = Constants.GS_SCORE;
sendscore.SetScore(totalScore.Value);
sendscore.Show();
}
public function AddCar(_arg1:Car){
car_holder.addChild(_arg1);
}
public function ScoringSound():void{
PlaySound(scoreSound);
}
public function get Freezing():Boolean{
return (freezing);
}
function UpdateRefresh(){
var _local1:int;
if (MIB.currentLabel == "end"){
_local1 = 1;
while (_local1 < car_holder.numChildren) {
(car_holder.getChildAt(_local1) as Car).ResetStress();
_local1++;
};
if (_local1 == car_holder.numChildren){
mibCoolTime.Reset();
mibSelectable = false;
ResetPerks();
};
};
}
function ResetHint():void{
tutor.Reset();
MovieClip(root).HintDisabled = false;
tutor.DisableHint(false);
}
function ToggleMute():void{
var _local1:int;
if (((MovieClip(root).SoundDisabled) && (MovieClip(root).MusicDisabled))){
MovieClip(root).SoundDisabled = false;
MovieClip(root).MusicDisabled = false;
mute.gotoAndStop("unmute");
pausemenu.sound.gotoAndStop("check");
pausemenu.music.gotoAndStop("check");
ClickSound();
if (music != null){
music.soundTransform = volume5;
};
PlayAmbient();
if (repairState == Constants.RS_REPAIRING){
RepairSound();
};
} else {
MovieClip(root).SoundDisabled = true;
MovieClip(root).MusicDisabled = true;
mute.gotoAndStop("mute");
pausemenu.sound.gotoAndStop("uncheck");
pausemenu.music.gotoAndStop("uncheck");
_local1 = 0;
while (_local1 < Constants.CH_TOTALSOUNDS) {
StopSChannel(_local1);
_local1++;
};
if (music != null){
music.soundTransform = volume0;
};
};
}
function OnClickRepair(_arg1:MouseEvent){
if (!isPaused){
SetRepair();
repairbtn.removeEventListener(MouseEvent.CLICK, OnClickRepair);
};
}
function UpdateCars(){
var _local1:int;
_local1 = 1;
while (_local1 < car_holder.numChildren) {
(car_holder.getChildAt(_local1) as Car).Update();
_local1++;
};
}
function OnMouseOut(_arg1:MouseEvent){
trace(("mouse out " + _arg1.target));
MovieClip(root).MouseFrame(1);
}
function BrokenChance(){
var _local1:Boolean;
var _local2:Car;
var _local3:int;
if (brkChance.Chance() < Constants.BROKEN_CHANCE){
_local1 = false;
while (!(_local1)) {
_local3 = Math.ceil(((Math.random() * car_holder.numChildren) - 1));
_local2 = (car_holder.getChildAt(_local3) as Car);
if (_local2 == null){
trace(("car_holder child null at i=" + _local3));
trace((("car_holder has " + car_holder.numChildren) + " children"));
return;
};
if ((((_local2.CarState == Constants.CS_MOVE)) || ((_local2.CarState == Constants.CS_STOP)))){
broken = 150;
_local2.FlagAsBroken();
_local1 = true;
PlaySound(brokenSound);
if (!MovieClip(root).HintDisabled){
if (tutor.Show("repair")){
repairbtn.gotoAndPlay("blink");
TogglePause(false);
};
};
};
};
};
}
public function set NumTrafficSwitch(_arg1:int){
numTrafficSwitch = _arg1;
}
public function GetSpawnCarType():int{
return (carTable[carChance.Chance()]);
}
public function get NumTrafficSwitch():int{
return (numTrafficSwitch);
}
function UpdateRepair(){
if (repairState == Constants.RS_ENTER){
if (repbot.x < destrepx){
repbot.x = (repbot.x + Constants.RBOTSPEED);
} else {
if (repbot.x > destrepx){
repbot.x = (repbot.x - Constants.RBOTSPEED);
};
};
if (repbot.y < destrepy){
repbot.y = (repbot.y + Constants.RBOTSPEED);
} else {
if (repbot.y > destrepy){
repbot.y = (repbot.y - Constants.RBOTSPEED);
};
};
if ((((repbot.x == destrepx)) && ((repbot.y == destrepy)))){
repbot.play();
repboost.visible = true;
repairState = Constants.RS_REPAIRING;
RepairSound();
};
} else {
if (repairState == Constants.RS_REPAIRING){
broken--;
if (broken <= 0){
switch (bcardir){
case Constants.ROAD_DOWN:
destrepy = (-1 * Constants.GRIDSIZE);
repbot.gotoAndStop("U_start");
break;
case Constants.ROAD_UP:
destrepy = (11 * Constants.GRIDSIZE);
repbot.gotoAndStop("D_start");
break;
case Constants.ROAD_RIGHT:
destrepx = (-1 * Constants.GRIDSIZE);
repbot.gotoAndStop("S_start");
break;
case Constants.ROAD_LEFT:
destrepx = (16 * Constants.GRIDSIZE);
repbot.gotoAndStop("S_start");
break;
};
repboost.visible = false;
car_broken.visible = false;
grid.GetTile(btilex, btiley).CarBroken = false;
repairState = Constants.RS_EXIT;
StopSChannel(Constants.CH_SOUND2);
};
} else {
if (repairState == Constants.RS_EXIT){
if (repbot.x < destrepx){
repbot.x = (repbot.x + Constants.RBOTSPEED);
} else {
if (repbot.x > destrepx){
repbot.x = (repbot.x - Constants.RBOTSPEED);
};
};
if (repbot.y < destrepy){
repbot.y = (repbot.y + Constants.RBOTSPEED);
} else {
if (repbot.y > destrepy){
repbot.y = (repbot.y - Constants.RBOTSPEED);
};
};
if ((((repbot.x == destrepx)) && ((repbot.y == destrepy)))){
repairState = Constants.RS_NONE;
};
};
};
};
}
function InitSound():void{
arrChannel = new Array();
arrChannel.push(sound1);
arrChannel.push(sound2);
arrChannel.push(sound3);
arrChannel.push(music);
clickGen = new clickgen();
clickTraffic = new clicktraffic();
scoreSound = new scoring();
tet = new mati();
ambient = new enviro();
mainTheme = new maintheme();
winSong = new win();
loseSong = new lose();
brokenSound = new mogok();
ufoFly = new ufofly();
ufoBeam = new ufobeam();
iceStart = new icestart();
iceSong = new ice();
iceEnd = new iceend();
mibZap = new mibzap();
repSound = new repairsound();
horns = new horn();
musicTimer = new Timer(5000);
musicTimer.reset();
enviroTimer = new Timer(3000);
enviroTimer.reset();
hornTimer = new Timer(20000);
hornTimer.reset();
volume0 = new SoundTransform(0);
volume5 = new SoundTransform(0.3);
}
function OnMouseOver(_arg1:MouseEvent){
trace(("mouse over " + _arg1.target));
MovieClip(root).MouseFrame(2);
}
function OnClickSound(_arg1:MouseEvent){
ClickSound();
if (MovieClip(root).SoundDisabled){
MovieClip(root).SoundDisabled = false;
pausemenu.sound.gotoAndStop("check");
PlayAmbient();
if (repairState == Constants.RS_REPAIRING){
RepairSound();
};
mute.gotoAndStop("unmute");
} else {
MovieClip(root).SoundDisabled = true;
pausemenu.sound.gotoAndStop("uncheck");
StopSChannel(Constants.CH_SOUND2);
StopSChannel(Constants.CH_SOUND3);
if (MovieClip(root).MusicDisabled){
mute.gotoAndStop("mute");
};
};
}
function UpdatePerks(){
switch (perkAction){
case Constants.PA_UFO:
UpdateUFO();
break;
case Constants.PA_FREEZE:
UpdateFreeze();
break;
case Constants.PA_REFRESH:
UpdateRefresh();
break;
default:
break;
};
}
public function ResetBroken():void{
broken = 0;
repboost.visible = false;
car_broken.visible = false;
}
function OnClickMaxGreen(_arg1:MouseEvent){
maxgreenintro.visible = false;
if (isPaused){
TogglePause(false);
};
PlayMainTheme();
if (!MovieClip(root).SoundDisabled){
PlayAmbient();
};
}
}
}//package trafficker
Section 40
//Grid (trafficker.Grid)
package trafficker {
import flash.display.*;
import trafficker.ui.*;
import trafficker.tiles.*;
public class Grid extends MovieClip {
private var arrMap:Array;
private var gridSize:int;// = 40
private var arrSpawn:Array;
private var gridTest:Boolean;// = true
public function Grid(){
gridSize = Constants.GRIDSIZE;
gridTest = true;
super();
}
public function GetTile(_arg1:int, _arg2:int){
if ((((((((_arg1 < 0)) || ((_arg2 < 0)))) || ((_arg2 > 10)))) || ((_arg1 > 14)))){
return (null);
};
return ((arrMap[_arg2][_arg1] as Tile));
}
public function Init(_arg1:Array){
var _local2:int;
var _local3:int;
var _local4:debugroad;
arrMap = new Array(_arg1.length);
arrSpawn = new Array();
_local2 = 0;
while (_local2 < _arg1.length) {
arrMap[_local2] = new Array(_arg1[_local2].length);
_local3 = 0;
while (_local3 < _arg1[_local2].length) {
if ((((_arg1[_local2][_local3] >= Constants.STOPTILE_U)) && ((_arg1[_local2][_local3] <= Constants.STOPTILE_L)))){
InitStopTile(_arg1[_local2][_local3], _local2, _local3);
} else {
if ((((_arg1[_local2][_local3] >= 2)) && ((_arg1[_local2][_local3] <= 5)))){
arrMap[_local2][_local3] = new SpawnTile(_arg1[_local2][_local3], _local3, _local2);
arrSpawn.push(arrMap[_local2][_local3]);
} else {
if (_arg1[_local2][_local3] == Constants.ROAD_END){
arrMap[_local2][_local3] = new BCTestTile(_local3, _local2);
} else {
if (_arg1[_local2][_local3] != 0){
arrMap[_local2][_local3] = new Tile(_arg1[_local2][_local3]);
};
};
};
};
if (arrMap[_local2][_local3] != null){
if (arrMap[_local2][_local3].GetId() != Constants.ROAD_STOP){
addChild(arrMap[_local2][_local3]);
};
};
if (Constants.DBG_GRID){
if (((!((_arg1[_local2][_local3] == 0))) && (!((arrMap[_local2][_local3].GetId() == Constants.ROAD_STOP))))){
_local4 = new debugroad();
_local4.x = (_local3 * gridSize);
_local4.y = (_local2 * gridSize);
_local4.gotoAndStop(_arg1[_local2][_local3]);
addChild(_local4);
};
};
_local3++;
};
_local2++;
};
}
function InitStopTile(_arg1:int, _arg2:int, _arg3:int):void{
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:trafficswitch;
switch (_arg1){
case Constants.STOPTILE_L:
_local4 = (_arg2 - 1);
_local5 = _arg3;
_local6 = ((_arg3 + 1) * gridSize);
_local7 = ((_arg2 - 2) * gridSize);
_local8 = 90;
break;
case Constants.STOPTILE_R:
_local4 = (_arg2 - 1);
_local5 = _arg3;
_local6 = (_arg3 * gridSize);
_local7 = ((_arg2 + 2) * gridSize);
_local8 = -90;
break;
case Constants.STOPTILE_U:
_local4 = _arg2;
_local5 = (_arg3 + 1);
_local6 = ((_arg3 + 3) * gridSize);
_local7 = ((_arg2 + 1) * gridSize);
_local8 = 180;
break;
case Constants.STOPTILE_D:
_local4 = _arg2;
_local5 = (_arg3 + 1);
_local6 = ((_arg3 - 1) * gridSize);
_local7 = (_arg2 * gridSize);
_local8 = 0;
break;
};
arrMap[_arg2][_arg3] = new StopRoad(Constants.ROAD_STOP, _arg1);
arrMap[_local4][_local5] = new StopRoad(Constants.ROAD_STOP, _arg1);
addChild(arrMap[_arg2][_arg3]);
addChild(arrMap[_local4][_local5]);
_local9 = new trafficswitch();
MovieClip(root).Game.ui_holder.addChild(_local9);
MovieClip(root).Game.NumTrafficSwitch++;
_local9.x = _local6;
_local9.y = _local7;
_local9.rotation = _local8;
_local9.SetTile1(_arg2, _arg3);
_local9.SetTile2(_local4, _local5);
if (Constants.DBG_GRID){
_local9.CreateDbgTiles();
};
}
public function CarExists(_arg1:int, _arg2:int){
return ((arrMap[_arg1][_arg2] as Tile).CarExists);
}
public function UpdateSpawnTiles(){
var _local1:int;
var _local2:*;
for (_local2 in arrSpawn) {
if (arrSpawn[_local2].Generator()){
_local1++;
};
};
}
public function Destroy(){
while (arrSpawn.length > 0) {
arrSpawn.pop();
};
while (numChildren > 0) {
removeChildAt(0);
};
}
public function SetCarExist(_arg1:int, _arg2:int, _arg3:Boolean){
(arrMap[_arg1][_arg2] as Tile).CarExists = _arg3;
}
}
}//package trafficker
Section 41
//Levels (trafficker.Levels)
package trafficker {
public class Levels {
public static function GetLevel1(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(3, 1, 1, 1, 1, 1, 1, 1, 0, 8, 1, 1, 1, 1, 1), new Array(3, 1, 1, 1, 1, 1, 1, 1, 33, 1, 7, 1, 1, 1, 1), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0)));
}
public static function GetLevel2(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0), new Array(3, 1, 1, 1, 1, 1, 1, 0, 1, 10, 0, 1, 1, 1, 1), new Array(1, 1, 1, 1, 1, 1, 1, 33, 13, 19, 31, 1, 1, 1, 5), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)));
}
public static function GetLevel3(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0), new Array(3, 1, 1, 1, 1, 0, 1, 1, 1, 17, 1, 1, 1, 1, 1), new Array(3, 1, 1, 1, 1, 33, 17, 1, 17, 1, 17, 1, 17, 1, 1), new Array(0, 0, 0, 0, 0, 0, 32, 0, 32, 0, 32, 0, 32, 0, 0), new Array(0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0), new Array(0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0), new Array(0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0), new Array(0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0)));
}
public static function GetLevel4(){
return (new Array(new Array(1, 4, 0, 0, 1, 4, 0, 0, 0, 0, 1, 4, 0, 0, 0), new Array(1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0), new Array(1, 1, 0, 0, 30, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0), new Array(1, 1, 0, 0, 7, 1, 1, 1, 1, 0, 8, 9, 0, 1, 1), new Array(1, 1, 0, 0, 1, 18, 1, 1, 1, 33, 6, 19, 31, 1, 5), new Array(1, 1, 0, 0, 32, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0), new Array(1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0), new Array(1, 17, 1, 1, 16, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0), new Array(16, 1, 1, 1, 1, 19, 0, 0, 0, 0, 1, 1, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0)));
}
public static function GetLevel5(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 4, 0, 4, 0, 4, 0, 0, 0), new Array(3, 1, 1, 1, 1, 18, 0, 1, 0, 1, 0, 1, 0, 0, 0), new Array(0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0), new Array(0, 0, 0, 0, 30, 0, 0, 1, 0, 1, 0, 1, 0, 17, 1), new Array(3, 1, 1, 1, 0, 18, 30, 0, 30, 0, 30, 0, 0, 1, 0), new Array(0, 0, 0, 0, 33, 10, 1, 17, 9, 17, 1, 18, 0, 1, 0), new Array(3, 1, 1, 1, 0, 18, 0, 0, 1, 0, 0, 1, 0, 1, 0), new Array(0, 0, 0, 0, 33, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0), new Array(3, 1, 1, 1, 0, 17, 1, 1, 17, 1, 1, 9, 1, 16, 0), new Array(0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0)));
}
public static function GetLevel6(){
return (new Array(new Array(3, 1, 1, 18, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0), new Array(1, 1, 19, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 1, 1, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0), new Array(0, 0, 1, 17, 1, 1, 1, 0, 17, 1, 10, 0, 1, 1, 1), new Array(0, 0, 16, 1, 1, 1, 1, 33, 6, 13, 19, 31, 1, 1, 5), new Array(0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0)));
}
public static function GetLevel7(){
return (new Array(new Array(0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 1, 0, 0, 0, 0, 18, 1, 1, 1, 1, 5), new Array(0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 18, 1, 1, 1, 5), new Array(0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 30, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0), new Array(1, 1, 1, 1, 19, 1, 1, 1, 1, 19, 19, 0, 1, 1, 5), new Array(1, 1, 1, 1, 1, 1, 19, 1, 1, 19, 19, 31, 1, 1, 5), new Array(0, 0, 0, 0, 0, 0, 32, 0, 0, 32, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 16, 1, 1, 1, 5), new Array(0, 0, 0, 0, 0, 0, 2, 0, 0, 16, 1, 1, 1, 1, 5)));
}
public static function GetLevel8(){
return (new Array(new Array(0, 0, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 30, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(3, 1, 10, 1, 1, 10, 1, 1, 1, 17, 1, 1, 17, 1, 1), new Array(1, 1, 19, 1, 1, 19, 1, 1, 1, 6, 1, 1, 6, 1, 5), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 32, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0)));
}
public static function GetLevel3p(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(3, 1, 1, 1, 14, 1, 1, 1, 0, 8, 1, 1, 1, 1, 1), new Array(1, 1, 1, 1, 1, 1, 1, 1, 33, 9, 1, 1, 1, 1, 1), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0)));
}
public static function GetLevel2p(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 1, 1, 1, 1), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0)));
}
public static function GetLevel1p(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 0, 1, 1, 5), new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 31, 1, 1, 5), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0)));
}
public static function GetLevel(_arg1:int):Array{
switch (_arg1){
case 1:
return (GetLevel1());
case 2:
return (GetLevel2());
case 3:
return (GetLevel3());
case 4:
return (GetLevel4());
case 5:
return (GetLevel5());
case 6:
return (GetLevel6());
case 7:
return (GetLevel7());
case 8:
return (GetLevel8());
default:
return (null);
};
}
public static function GetLevel5p(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(3, 1, 1, 1, 1, 1, 1, 1, 1, 16, 14, 1, 1, 1, 5), new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0)));
}
public static function GetLevel4p(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 10, 1, 1, 1, 1), new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0)));
}
public static function GetClearLevel(){
return (new Array(new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)));
}
}
}//package trafficker
Section 42
//MainMenu (trafficker.MainMenu)
package trafficker {
import flash.events.*;
import flash.media.*;
import util.*;
import flash.display.*;
import flash.net.*;
public class MainMenu extends MovieClip {
private var music:SoundChannel;
public var hiscore:SimpleButton;
public var netfail:MovieClip;
public var help:MovieClip;
private var clickChannel:SoundChannel;
private var so:SharedObject;
private var clickGeneral:clickgen;
public var leaderboard:GFLeaderboard;
public var playmore:SimpleButton;
private var volumeHalf:SoundTransform;
public var bplay:SimpleButton;
public var bcont:SimpleButton;
private var menuTheme:menutheme;
public var bhelp:SimpleButton;
public function MainMenu(){
so = SharedObject.getLocal("fnttraft");
mouseEnabled = false;
help.disablehint.buttonMode = true;
help.disablehint.useHandCursor = true;
if (MovieClip(root).HintDisabled){
help.disablehint.gotoAndStop("on");
} else {
help.disablehint.gotoAndStop("off");
};
clickGeneral = new clickgen();
menuTheme = new menutheme();
volumeHalf = new SoundTransform();
volumeHalf.volume = 0.3;
help.visible = false;
leaderboard.InMenu = true;
leaderboard.closebtn.addEventListener(MouseEvent.CLICK, OnLBClose);
netfail.visible = false;
netfail.gotoAndStop("retrieve");
netfail.backmenu.addEventListener(MouseEvent.CLICK, OnBack);
addEventListener(Event.ENTER_FRAME, WaitMenu);
}
function ToggleHint(_arg1:MouseEvent){
PlaySound(clickGeneral);
if (MovieClip(root).HintDisabled){
MovieClip(root).HintDisabled = false;
help.disablehint.gotoAndStop("off");
} else {
MovieClip(root).HintDisabled = true;
help.disablehint.gotoAndStop("on");
};
}
function PlaySound(_arg1:Sound){
if (!MovieClip(root).SoundDisabled){
clickChannel = _arg1.play();
};
}
function OnLBClose(_arg1:MouseEvent){
leaderboard.visible = false;
}
function OnClickScore(_arg1:MouseEvent){
leaderboard.Retrieve();
}
function OnBack(_arg1:MouseEvent){
netfail.visible = false;
}
function OnMouseOut(_arg1:MouseEvent){
MovieClip(root).MouseFrame(1);
}
function OnClickClose(_arg1:MouseEvent){
PlaySound(clickGeneral);
help.visible = false;
}
function OnClickCont(_arg1:MouseEvent){
if (music != null){
music.stop();
};
PlaySound(clickGeneral);
MovieClip(root).Continue = true;
if (so.data.firstplay == undefined){
trace("first play no previous session default contvars");
ResetContVars();
};
MovieClip(root).InitGame();
}
function OnClickPlay(_arg1:MouseEvent){
if (music != null){
music.stop();
};
PlaySound(clickGeneral);
MovieClip(root).Continue = false;
ResetContVars();
MovieClip(root).InitGame();
}
public function ShowNetFail(){
netfail.visible = true;
}
function OnClickHelp(_arg1:MouseEvent){
PlaySound(clickGeneral);
help.visible = true;
}
function OnClickMore(_arg1:MouseEvent){
var _local2:URLRequest;
_local2 = new URLRequest("http://www.gamesfree.com");
navigateToURL(_local2, "_blank");
}
function WaitMenu(_arg1:Event){
if (currentFrame == totalFrames){
removeEventListener(Event.ENTER_FRAME, WaitMenu);
stop();
bplay.addEventListener(MouseEvent.CLICK, OnClickPlay);
bcont.addEventListener(MouseEvent.CLICK, OnClickCont);
bhelp.addEventListener(MouseEvent.CLICK, OnClickHelp);
hiscore.addEventListener(MouseEvent.CLICK, OnClickScore);
playmore.addEventListener(MouseEvent.CLICK, OnClickMore);
help.closebtn.addEventListener(MouseEvent.CLICK, OnClickClose);
help.disablehint.addEventListener(MouseEvent.CLICK, ToggleHint);
if (!MovieClip(root).MusicDisabled){
music = menuTheme.play();
music.soundTransform = volumeHalf;
};
};
}
function ResetContVars(){
so.data.firstplay = false;
so.data.currentlevel = 1;
so.data.difflevel = 1;
so.data.totalscore = 0;
so.data.perksavailable = 0;
so.data.ufoselect = false;
so.data.ufoelapse = 0;
so.data.iceselect = false;
so.data.iceelapse = 0;
so.data.mibselect = false;
so.data.mibelapse = 0;
so.flush();
}
function OnMouseOver(_arg1:MouseEvent){
MovieClip(root).MouseFrame(2);
}
}
}//package trafficker
Section 43
//Tutorial (trafficker.Tutorial)
package trafficker {
import flash.events.*;
import flash.display.*;
public class Tutorial extends MovieClip {
private var introShown:Boolean;
public var closebtn:SimpleButton;
public var disablehint:MovieClip;
private var repairShown:Boolean;
private var ufoShown:Boolean;
private var freezeShown:Boolean;
private var refreshShown:Boolean;
public function Tutorial(){
stop();
mouseEnabled = false;
visible = false;
disablehint.buttonMode = true;
disablehint.useHandCursor = true;
Reset();
closebtn.addEventListener(MouseEvent.CLICK, OnCloseBtn);
}
public function Show(_arg1:String):Boolean{
var _local2:Boolean;
_local2 = false;
switch (_arg1){
case "intro1":
if (!introShown){
introShown = true;
_local2 = true;
};
break;
case "repair":
if (!repairShown){
repairShown = true;
_local2 = true;
};
break;
case "ufo":
if (!ufoShown){
ufoShown = true;
_local2 = true;
};
break;
case "freeze":
if (!freezeShown){
freezeShown = true;
_local2 = true;
};
break;
case "refresh":
if (!refreshShown){
refreshShown = true;
_local2 = true;
};
break;
default:
trace("ERROR in Tutorial::Show, unknown tutorial page");
break;
};
if (_local2){
gotoAndStop(_arg1);
visible = true;
mouseEnabled = true;
};
return (_local2);
}
public function Reset():void{
introShown = false;
repairShown = false;
ufoShown = false;
freezeShown = false;
refreshShown = false;
DisableHint(false);
}
function OnCloseBtn(_arg1:MouseEvent){
MovieClip(root).Game.ClickSound();
if (currentLabel == "intro1"){
gotoAndStop("intro2");
} else {
if (currentLabel == "repair"){
Hide();
if (MovieClip(root).Game.IsPaused){
MovieClip(root).Game.TogglePause(false);
};
} else {
Hide();
MovieClip(root).Game.ShowMaxGreenIntro();
};
};
}
public function Hide():void{
visible = false;
mouseEnabled = false;
}
public function DisableHint(_arg1:Boolean){
if (_arg1){
disablehint.gotoAndStop("on");
} else {
disablehint.gotoAndStop("off");
};
}
}
}//package trafficker
Section 44
//ChanceGen (util.ChanceGen)
package util {
public class ChanceGen {
private var total:int;
private var arrChance:Array;
public function ChanceGen(_arg1:int){
total = _arg1;
Init();
}
public function Init():void{
var _local1:int;
arrChance = new Array(total);
_local1 = 0;
while (_local1 < total) {
arrChance[_local1] = _local1;
_local1++;
};
}
public function Chance():int{
var _local1:int;
var _local2:int;
var _local3:int;
if (arrChance.length == 0){
Init();
};
_local1 = Math.floor((Math.random() * arrChance.length));
_local2 = arrChance[_local1];
_local3 = _local1;
while (_local3 < (arrChance.length - 1)) {
arrChance[_local3] = arrChance[(_local3 + 1)];
_local3++;
};
arrChance.pop();
return (_local2);
}
}
}//package util
Section 45
//FakeTimer (util.FakeTimer)
package util {
import flash.events.*;
import flash.display.*;
public class FakeTimer extends MovieClip {
private var secElapsed:int;
private var running:Boolean;
public function FakeTimer(){
addFrameScript(29, frame30);
Reset();
addEventListener(Event.ENTER_FRAME, OnEnterFrame);
}
public function Reset(){
gotoAndStop(1);
secElapsed = 0;
running = false;
}
public function get Elapsed():int{
return (secElapsed);
}
public function Start(){
if (!running){
play();
running = true;
};
}
function frame30(){
stop();
}
public function set Elapsed(_arg1:int){
secElapsed = _arg1;
}
function OnEnterFrame(_arg1:Event){
if (currentLabel == "end"){
secElapsed++;
if (running){
gotoAndPlay(1);
} else {
gotoAndStop(1);
};
};
}
public function Pause(){
if (running){
stop();
running = false;
};
}
}
}//package util
Section 46
//GFLeaderboard (util.GFLeaderboard)
package util {
import flash.events.*;
import com.adobe.crypto.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
public class GFLeaderboard extends MovieClip {
public var score1:TextField;
private var inmenu:Boolean;
public var score5:TextField;
public var name1:TextField;
public var name3:TextField;
public var name4:TextField;
public var name6:TextField;
public var name8:TextField;
public var name2:TextField;
public var name5:TextField;
public var allscorebtn:SimpleButton;
public var name7:TextField;
public var score10:TextField;
public var score6:TextField;
public var name9:TextField;
public var closebtn:SimpleButton;
private var loadmode:int;
public var gamesfreebtn:SimpleButton;
public var score2:TextField;
public var score3:TextField;
public var score7:TextField;
public var score8:TextField;
public var score4:TextField;
public var score9:TextField;
public var name10:TextField;
public function GFLeaderboard(){
Security.allowDomain("*");
Security.loadPolicyFile("http://hiscore.gamesfree.com/crossdomain.xml");
visible = false;
loadmode = 1;
gamesfreebtn.addEventListener(MouseEvent.CLICK, ClickGF);
allscorebtn.addEventListener(MouseEvent.CLICK, ClickAllScore);
}
function ClickGF(_arg1:MouseEvent){
var _local2:URLRequest;
_local2 = new URLRequest("http://www.gamesfree.com");
navigateToURL(_local2, "_blank");
}
public function Retrieve(){
var _local1:URLRequest;
var _local2:URLLoader;
visible = true;
_local1 = new URLRequest("http://hiscore.gamesfree.com/traffictrouble_get.php");
_local2 = new URLLoader();
_local2.dataFormat = URLLoaderDataFormat.VARIABLES;
_local1.data = ("m=" + loadmode);
_local1.method = URLRequestMethod.POST;
_local2.addEventListener(Event.COMPLETE, handleComplete);
_local2.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
_local2.load(_local1);
}
public function set InMenu(_arg1:Boolean){
inmenu = _arg1;
}
function handleComplete(_arg1:Event):void{
var _local2:URLLoader;
_local2 = URLLoader(_arg1.target);
name1.text = _local2.data.name1;
score1.text = _local2.data.score1;
name2.text = _local2.data.name2;
score2.text = _local2.data.score2;
name3.text = _local2.data.name3;
score3.text = _local2.data.score3;
name4.text = _local2.data.name4;
score4.text = _local2.data.score4;
name5.text = _local2.data.name5;
score5.text = _local2.data.score5;
name6.text = _local2.data.name6;
score6.text = _local2.data.score6;
name7.text = _local2.data.name7;
score7.text = _local2.data.score7;
name8.text = _local2.data.name8;
score8.text = _local2.data.score8;
name9.text = _local2.data.name9;
score9.text = _local2.data.score9;
name10.text = _local2.data.name10;
score10.text = _local2.data.score10;
}
function onIOError(_arg1:IOErrorEvent):void{
trace("Error loading URL.");
if (inmenu){
MovieClip(parent).ShowNetFail();
} else {
MovieClip(root).Game.ShowNetFail(false);
};
visible = false;
}
function ClickAllScore(_arg1:MouseEvent){
var _local2:URLRequest;
_local2 = new URLRequest("http://hiscore.gamesfree.com/traffictrouble.php");
navigateToURL(_local2, "_blank");
}
}
}//package util
Section 47
//GFSubmitScore (util.GFSubmitScore)
package util {
import flash.events.*;
import com.adobe.crypto.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
public class GFSubmitScore extends MovieClip {
public var button:SimpleButton;
private var Score:Number;
private var Name:String;
public var inputbox:TextField;
public function GFSubmitScore(){
visible = false;
Score = 0;
Security.allowDomain("*");
Security.loadPolicyFile("http://hiscore.gamesfree.com/crossdomain.xml");
button.addEventListener(MouseEvent.MOUSE_UP, buttonPressed);
}
public function Show(_arg1:Boolean=true){
visible = _arg1;
}
public function SetScore(_arg1:int){
Score = _arg1;
}
function buttonPressed(_arg1:MouseEvent){
var _local2:URLVariables;
var _local3:URLRequest;
var _local4:URLLoader;
Name = inputbox.text;
_local2 = new URLVariables();
_local2.n = Name;
_local2.s = Score;
_local2.k = MD5.hash(("" + (Score + 1518)));
_local2.m = 1;
trace(_local2);
_local3 = new URLRequest("http://hiscore.gamesfree.com/traffictrouble_submit.php");
_local3.method = "POST";
_local3.data = _local2;
_local4 = new URLLoader();
_local4.load(_local3);
_local4.addEventListener(Event.COMPLETE, goodjob);
_local4.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
}
function onIOError(_arg1:IOErrorEvent):void{
trace("Error loading URL.");
visible = false;
MovieClip(root).Game.ShowNetFail();
}
function goodjob(_arg1:Event):void{
trace(URLLoader(_arg1.target).data);
visible = false;
MovieClip(root).Game.ShowLeaderBoard();
}
}
}//package util
Section 48
//RollingNumber (util.RollingNumber)
package util {
public class RollingNumber {
private var displayNum:int;
private var rolling:Boolean;
private var realNum:int;
private var inc:int;
public function RollingNumber(_arg1:int=1, _arg2:Boolean=true){
realNum = 0;
displayNum = 0;
inc = _arg1;
rolling = _arg2;
}
public function Set(_arg1:int){
realNum = _arg1;
displayNum = _arg1;
}
public function SetRolling(_arg1:Boolean){
rolling = _arg1;
}
public function Update(){
if (((((rolling) && (!((realNum == displayNum))))) && (!((inc == 0))))){
if (Math.abs(inc) > 1){
if (Math.abs((realNum - displayNum)) < Math.abs(inc)){
displayNum = realNum;
} else {
displayNum = (displayNum + inc);
};
} else {
displayNum = (displayNum + inc);
};
};
}
public function get Display():int{
return (displayNum);
}
public function get Value():int{
return (realNum);
}
public function set Value(_arg1:int){
realNum = _arg1;
}
}
}//package util
Section 49
//bajaj (bajaj)
package {
import flash.display.*;
public dynamic class bajaj extends MovieClip {
public function bajaj(){
addFrameScript(14, frame15, 29, frame30, 44, frame45, 59, frame60);
}
function frame15(){
stop();
}
function frame30(){
stop();
}
function frame45(){
stop();
}
function frame60(){
stop();
}
}
}//package
Section 50
//cab (cab)
package {
import flash.display.*;
public dynamic class cab extends MovieClip {
}
}//package
Section 51
//clickgen (clickgen)
package {
import flash.media.*;
public dynamic class clickgen extends Sound {
}
}//package
Section 52
//clicktraffic (clicktraffic)
package {
import flash.media.*;
public dynamic class clicktraffic extends Sound {
}
}//package
Section 53
//debugroad (debugroad)
package {
import flash.display.*;
public dynamic class debugroad extends MovieClip {
}
}//package
Section 54
//enviro (enviro)
package {
import flash.media.*;
public dynamic class enviro extends Sound {
}
}//package
Section 55
//horn (horn)
package {
import flash.media.*;
public dynamic class horn extends Sound {
}
}//package
Section 56
//ice (ice)
package {
import flash.media.*;
public dynamic class ice extends Sound {
}
}//package
Section 57
//iceend (iceend)
package {
import flash.media.*;
public dynamic class iceend extends Sound {
}
}//package
Section 58
//icestart (icestart)
package {
import flash.media.*;
public dynamic class icestart extends Sound {
}
}//package
Section 59
//jeep (jeep)
package {
import flash.display.*;
public dynamic class jeep extends MovieClip {
public function jeep(){
addFrameScript(14, frame15, 29, frame30, 44, frame45, 59, frame60);
}
function frame15(){
stop();
}
function frame30(){
stop();
}
function frame45(){
stop();
}
function frame60(){
stop();
}
}
}//package
Section 60
//karimun (karimun)
package {
import flash.display.*;
public dynamic class karimun extends MovieClip {
public function karimun(){
addFrameScript(14, frame15, 29, frame30, 44, frame45, 59, frame60);
}
function frame15(){
stop();
}
function frame30(){
stop();
}
function frame45(){
stop();
}
function frame60(){
stop();
}
}
}//package
Section 61
//lose (lose)
package {
import flash.media.*;
public dynamic class lose extends Sound {
}
}//package
Section 62
//maintheme (maintheme)
package {
import flash.media.*;
public dynamic class maintheme extends Sound {
}
}//package
Section 63
//mati (mati)
package {
import flash.media.*;
public dynamic class mati extends Sound {
}
}//package
Section 64
//menutheme (menutheme)
package {
import flash.media.*;
public dynamic class menutheme extends Sound {
}
}//package
Section 65
//mibzap (mibzap)
package {
import flash.media.*;
public dynamic class mibzap extends Sound {
}
}//package
Section 66
//mogok (mogok)
package {
import flash.media.*;
public dynamic class mogok extends Sound {
}
}//package
Section 67
//pickup (pickup)
package {
import flash.display.*;
public dynamic class pickup extends MovieClip {
public function pickup(){
addFrameScript(14, frame15, 29, frame30, 44, frame45, 59, frame60);
}
function frame15(){
stop();
}
function frame30(){
stop();
}
function frame45(){
stop();
}
function frame60(){
stop();
}
}
}//package
Section 68
//police (police)
package {
import flash.display.*;
public dynamic class police extends MovieClip {
public function police(){
addFrameScript(14, frame15, 29, frame30, 44, frame45, 59, frame60);
}
function frame15(){
stop();
}
function frame30(){
stop();
}
function frame45(){
stop();
}
function frame60(){
stop();
}
}
}//package
Section 69
//repairsound (repairsound)
package {
import flash.media.*;
public dynamic class repairsound extends Sound {
}
}//package
Section 70
//scoring (scoring)
package {
import flash.media.*;
public dynamic class scoring extends Sound {
}
}//package
Section 71
//sedan (sedan)
package {
import flash.display.*;
public dynamic class sedan extends MovieClip {
public function sedan(){
addFrameScript(14, frame15, 29, frame30, 44, frame45, 59, frame60);
}
function frame15(){
stop();
}
function frame30(){
stop();
}
function frame45(){
stop();
}
function frame60(){
stop();
}
}
}//package
Section 72
//sport (sport)
package {
import flash.display.*;
public dynamic class sport extends MovieClip {
public function sport(){
addFrameScript(14, frame15, 29, frame30, 44, frame45, 59, frame60);
}
function frame15(){
stop();
}
function frame30(){
stop();
}
function frame45(){
stop();
}
function frame60(){
stop();
}
}
}//package
Section 73
//stressfull (stressfull)
package {
import flash.display.*;
public dynamic class stressfull extends MovieClip {
}
}//package
Section 74
//Trafficker (Trafficker)
package {
import flash.events.*;
import trafficker.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
public class Trafficker extends MovieClip {
private var loadedFake:int;
public var pl:MovieClip;
private var hintDisabled:Boolean;
private var cont:Boolean;
public var menu:MainMenu;
public var bytes:TextField;
public var loadpercent:TextField;
public var mouse:MovieClip;
private var soundDisabled:Boolean;
private var musicDisabled:Boolean;
private var game:GameScreen;
public function Trafficker(){
var _local1:Boolean;
super();
addFrameScript(5, frame6);
_local1 = SiteLock("");
stop();
mouse.visible = false;
hintDisabled = false;
soundDisabled = false;
musicDisabled = false;
cont = false;
bytes.visible = false;
loadpercent.visible = false;
pl.light.gotoAndStop(1);
pl.bar.scaleX = 0;
pl.gfbutton.addEventListener(MouseEvent.CLICK, OnGF);
loadedFake = 0;
if (_local1){
addEventListener(Event.ENTER_FRAME, LoadProgress);
} else {
gotoAndStop("invalid url");
};
}
public function get Game():GameScreen{
return (game);
}
function OnGF(_arg1:MouseEvent){
var _local2:URLRequest;
_local2 = new URLRequest("http://www.gamesfree.com");
navigateToURL(_local2, "_blank");
}
public function set SoundDisabled(_arg1:Boolean){
soundDisabled = _arg1;
}
public function get HintDisabled():Boolean{
return (hintDisabled);
}
function frame6(){
gotoAndStop("menu");
}
function LoadProgress(_arg1:Event){
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:Number;
_local2 = this.root.loaderInfo.bytesLoaded;
_local3 = this.root.loaderInfo.bytesTotal;
loadedFake++;
if ((((_local2 >= _local3)) && ((loadedFake >= 100)))){
removeEventListener(Event.ENTER_FRAME, LoadProgress);
gotoAndStop("splash gamesfree");
} else {
_local4 = (_local2 / _local3);
_local5 = (loadedFake / 100);
if (_local4 < _local5){
pl.bar.scaleX = _local4;
} else {
pl.bar.scaleX = _local5;
};
if (pl.bar.scaleX >= 0.95){
pl.light.gotoAndStop(3);
} else {
if (pl.bar.scaleX >= 0.5){
pl.light.gotoAndStop(2);
};
};
};
}
public function InitGame():void{
gotoAndStop("game");
game = new GameScreen();
addChild(game);
}
public function SiteLock(_arg1:String):Boolean{
var _local2:String;
var _local3:*;
var _local4:*;
if (_arg1 == ""){
return (true);
};
_local2 = loaderInfo.url;
_local3 = _local2.split("://");
_local4 = _local3[1].split("/");
if (_local4[0] == _arg1){
return (true);
};
return (false);
}
public function OnMouseOut(_arg1:MouseEvent){
mouse.gotoAndStop(1);
}
public function get SoundDisabled():Boolean{
return (soundDisabled);
}
public function set Continue(_arg1:Boolean){
cont = _arg1;
}
public function get MusicDisabled():Boolean{
return (musicDisabled);
}
public function set HintDisabled(_arg1:Boolean){
hintDisabled = _arg1;
}
public function set MusicDisabled(_arg1:Boolean){
musicDisabled = _arg1;
}
public function get Continue():Boolean{
return (cont);
}
function OnEnterFrame(_arg1:Event){
if (getChildIndex(mouse) != (numChildren - 1)){
swapChildren(mouse, getChildAt((numChildren - 1)));
};
mouse.x = mouseX;
mouse.y = mouseY;
}
public function OnMouseOver(_arg1:MouseEvent){
mouse.gotoAndStop(2);
}
public function MouseFrame(_arg1:int):void{
mouse.gotoAndStop(_arg1);
}
}
}//package
Section 75
//ufobeam (ufobeam)
package {
import flash.media.*;
public dynamic class ufobeam extends Sound {
}
}//package
Section 76
//ufofly (ufofly)
package {
import flash.media.*;
public dynamic class ufofly extends Sound {
}
}//package
Section 77
//win (win)
package {
import flash.media.*;
public dynamic class win extends Sound {
}
}//package