Frame 1
sLevels = "<?xml version=\"1.0\"?><levels><level number=\"0\"><stage><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,20|0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 7|0, 0, 0, 0, 0, 0, 0, 0, 0, 7|0, 0, 0, 0, 7|0</row><row> 0, 0, 0, 0,30|0,30|0,30|0,30|0,30|0,30|0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0,21|0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row></stage><tiles><tile id=\"37\" quantity=\"1\" description=\"concave wall\" /><tile id=\"38\" quantity=\"1\" description=\"flipper\" /></tiles></level><level number=\"1\"><stage><row>20|0, 0, 0, 0, 6|0, 0, 0,30|0, 0, 0, 0, 6|0, 0, 0, 0</row><row> 7|0, 0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 4|0, 0, 0</row><row> 7|0, 0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 4|0, 0</row><row> 7|0, 0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0, 4|0</row><row> 0, 0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0,21|0</row><row> 0, 0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0, 0</row></stage><tiles><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /><tile id=\"37\" quantity=\"1\" description=\"concave wall\" /></tiles></level><level number=\"2\"><stage><row>20|0, 0, 0, 0, 5|1, 5|1, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0,35|0,35|1, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0,35|0,30|0,30|0,35|1, 7|0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0,35|0,30|0, 0, 0,30|0,35|1, 0, 0, 0, 0</row><row> 0, 0, 0, 0,35|0,30|0, 0, 0,21|0, 0,30|0,35|1, 0, 0, 0</row><row> 0, 0, 0,35|0,30|0, 0, 0, 0, 0, 0, 5|1, 0, 0, 0, 0</row><row> 0, 0,35|0,30|0, 0, 0, 0,35|0,35|1, 0,30|0,30|0,30|0,35|1, 0</row></stage><tiles><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /><tile id=\"33\" quantity=\"1\" description=\"round bouncer\" /></tiles></level><level number=\"3\"><stage><row>20|0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0,30|0,30|0,30|0, 0, 0, 0, 0, 6|1, 0</row><row> 0,30|0,35|1,35|0,30|0, 0,30|0, 6|0,30|0, 0,30|0, 0, 0, 0, 0</row><row> 0,30|0,35|3,35|2,30|0, 0,30|0, 4|0,30|0, 0,30|0,30|0,35|1, 0, 7|0</row><row> 0,30|0, 0, 0,30|0, 0,30|0, 6|1,30|0, 0,30|0, 4|0, 0, 0, 0</row><row> 0,30|0, 0, 0,30|0, 0,30|0,30|0,30|0, 0,30|0,30|0,35|2, 0, 7|0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 6|0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21|0</row></stage><tiles><tile id=\"34\" quantity=\"1\" description=\"fan\" /><tile id=\"37\" quantity=\"1\" description=\"concave wall\" /><tile id=\"32\" quantity=\"1\" description=\"linear bouncer\" /><tile id=\"38\" quantity=\"1\" description=\"flipper\" /></tiles></level><level number=\"4\"><stage><row>20|0, 0, 0, 0, 0, 0, 0, 0, 0, 7|0, 0, 0, 0, 0, 6|0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0,30|0,30|0, 7|0,35|0, 0, 7|0,30|0, 0,30|0, 0,30|0, 0, 0, 4|0</row><row> 0,30|0, 0, 0,30|0, 0, 0,30|0, 0,30|0, 0,30|0,30|0,35|1, 5|0</row><row> 0,30|0, 0, 0,30|0, 0, 0,30|0, 0,30|0, 7|0,30|0, 0,30|0, 4|0</row><row> 0,30|0,30|0, 0,30|0,30|0, 0,35|3,30|0,35|2, 0,30|0,30|0,35|2, 5|0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6|0, 0, 0, 0, 4|0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21|0</row></stage><tiles><tile id=\"37\" quantity=\"2\" description=\"concave wall\" /><tile id=\"31\" quantity=\"2\" description=\"diagonal bouncer\" /></tiles></level><level number=\"5\"><stage><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0,35|0,35|1, 0,35|1, 0,35|0, 0,35|0,35|1, 0, 0, 0</row><row> 0, 0,35|0,35|2,21|0,35|1, 0,30|0, 0,35|0,20|0,35|3,35|1, 0, 0</row><row> 0, 0,35|2, 0, 0, 0, 0,30|0, 0, 0, 0, 0,35|3, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0,35|0,30|0, 0, 0,30|0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0,35|0,35|2,30|0, 0, 0,30|0, 0, 0,30|0, 0, 0, 0, 0</row><row> 0, 0, 0, 0,30|0, 0, 0,30|0, 0, 0,30|0, 0, 0, 0, 0</row></stage><tiles><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /><tile id=\"33\" quantity=\"1\" description=\"round bouncer\" /><tile id=\"37\" quantity=\"1\" description=\"concave wall\" /><tile id=\"34\" quantity=\"1\" description=\"fan\" /></tiles></level><level number=\"6\"><stage><row> 0, 0,20|0, 0, 0,35|0,30|0,30|0,30|0,30|0,35|1, 0, 6|1, 0, 0</row><row> 0, 0, 0, 0,35|0,35|2, 6|0, 0, 0, 0,35|3,35|1, 0, 0, 0</row><row> 5|0, 0, 0,35|0,35|2, 0, 0, 7|0, 0, 0, 4|0,35|3,35|1, 0, 5|0</row><row> 4|0, 0, 0,35|3,35|1, 0, 0, 0, 0, 0, 7|0,35|0,35|2, 0, 4|0</row><row> 5|0, 0, 0, 0,35|3,35|1, 7|0, 0, 0, 6|1,35|0,35|2, 0, 0, 5|0</row><row> 4|0, 0, 0, 0, 0,35|3,35|1, 0, 0,35|0,35|2, 0, 0, 0, 4|0</row><row> 0, 0, 0, 0, 0, 0,35|3,35|1,35|0,35|2, 0, 0, 0, 0, 0</row><row> 6|0, 0, 0, 0, 0, 0, 0,35|3,35|2, 0, 0, 0, 0, 0,21|0</row></stage><tiles><tile id=\"38\" quantity=\"1\" description=\"flipper\" /><tile id=\"33\" quantity=\"2\" description=\"round bouncer\" /><tile id=\"37\" quantity=\"2\" description=\"concave wall\" /></tiles></level><level number=\"7\"><stage><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0,30|0, 0,35|0, 7|0,30|0,30|0, 0, 0, 0, 0,30|0, 0, 0, 0</row><row> 0,30|0,35|0,35|2, 7|0,30|0,35|1, 7|0,35|0,30|0, 7|0,30|0,30|0,35|1, 7|0</row><row> 0,30|0,30|0,35|1, 7|0,30|0,35|2, 7|0,30|0, 0, 7|0,30|0, 0,30|0, 7|0</row><row> 0,30|0,20|0,30|0, 7|0,30|0,30|0, 7|0,30|0, 0, 7|0,30|0,30|0,35|2,21|0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 2|0, 0, 0, 0, 0, 0,35|0, 0, 0, 0, 0, 0</row></stage><tiles><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /><tile id=\"37\" quantity=\"2\" description=\"concave wall\" /><tile id=\"34\" quantity=\"1\" description=\"fan\" /><tile id=\"38\" quantity=\"1\" description=\"flipper\" /></tiles></level><level number=\"8\"><stage><row> 0, 0, 0, 0, 0, 4|0, 5|1, 4|0, 5|1, 4|0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0,30|0,30|0,30|0,30|0,30|0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0,30|0, 0, 0,21|0, 0, 0,30|0, 0, 0, 0, 0</row><row> 0, 0, 0,30|0, 0, 0, 0, 7|0, 0, 0, 0,30|0, 0, 0, 0</row><row> 0, 0, 0,30|0, 0, 0, 0, 6|0, 0, 0, 0,30|0, 0, 0,20|0</row><row> 0, 0, 0, 6|0,30|0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0,30|0,30|0,30|0,30|0,30|0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row></stage><tiles><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /><tile id=\"34\" quantity=\"2\" description=\"fan\" /><tile id=\"38\" quantity=\"2\" description=\"flipper\" /><tile id=\"32\" quantity=\"1\" description=\"linear bouncer\" /><tile id=\"37\" quantity=\"1\" description=\"concave wall\" /></tiles></level><level number=\"9\"><stage><row> 0, 0, 0, 0, 0,36|3,30|0, 0,30|0,36|2, 0, 0, 0, 0, 0</row><row> 0, 2|0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 2|0, 2|2, 2|0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 2|2,21|0, 2|2, 0, 0, 0, 0, 0, 0, 0, 7|0, 0, 0, 0,20|0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 7|0, 0, 0, 7|0, 0, 0, 0, 0, 0, 0, 0, 0,30|0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2|0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2|2</row></stage><tiles><tile id=\"32\" quantity=\"1\" description=\"linear bouncer\" /><tile id=\"37\" quantity=\"1\" description=\"concave wall\" /><tile id=\"38\" quantity=\"1\" description=\"flipper\" /></tiles></level><level number=\"10\"><stage><row> 0,20|0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 7|0, 0, 0, 0, 0, 0, 7|0, 0, 0, 0, 0, 0</row><row> 0, 0, 0,35|1, 0, 0, 7|0, 0, 0,35|1, 0, 0, 7|0, 0, 0</row><row>35|1, 0, 0,30|0,35|1, 0,35|1, 0, 0,30|0,35|1, 0,35|1, 0, 0</row><row>30|0,35|1, 0,30|0,30|0, 0,30|0,35|1, 0,30|0,30|0, 0,30|0,35|1, 0</row><row>30|0,30|0, 0,30|0,30|0, 0,30|0,30|0, 0,30|0,30|0, 0,30|0,30|0, 0</row><row>30|0,30|0,30|0,30|0,30|0,30|0,30|0,30|0,30|0,30|0,30|0,30|0,30|0,30|0, 0</row><row> 0, 0, 0, 0,21|0, 0, 0, 4|0, 0, 0, 4|0, 0, 0, 4|0, 0</row></stage><tiles><tile id=\"37\" quantity=\"3\" description=\"concave wall\" /><tile id=\"32\" quantity=\"2\" description=\"linear bouncer\" /><tile id=\"33\" quantity=\"1\" description=\"round bouncer\" /><tile id=\"34\" quantity=\"2\" description=\"fan\" /></tiles></level><level number=\"11\"><stage><row>20|0, 0,30|0,30|0,34|1, 0, 0, 4|0, 5|1, 5|1, 5|1, 5|1,21|0, 0, 0</row><row>35|1, 0, 0,30|0, 0, 0, 0,35|0, 0, 0, 0,30|0,35|0,35|0,35|1</row><row>30|0,35|1, 0, 2|0, 0, 0, 0, 0, 0, 0, 0, 0, 7|0,35|3,35|2</row><row>30|0,30|0, 0, 2|2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0,35|2, 0, 0,35|3,30|0,30|0, 0, 0</row><row>30|0, 0, 0,30|0, 0,35|1, 0, 0, 2|0, 0, 0,30|0,30|0, 7|0, 0</row><row> 3|0, 3|1, 3|0, 3|1, 0, 2|0, 0, 0, 2|2, 0, 0, 0, 0, 0,36|0</row><row> 3|3, 3|2, 3|3, 3|2, 0, 2|2, 0, 0, 0, 0, 0, 0,35|0,34|0,30|0</row></stage><tiles><tile id=\"33\" quantity=\"1\" description=\"round bouncer\" /><tile id=\"34\" quantity=\"4\" description=\"fan\" /><tile id=\"32\" quantity=\"2\" description=\"linear bouncer\" /></tiles></level><level number=\"12\"><stage><row> 4|0, 7|0,20|0, 0, 7|0, 4|0, 0, 0, 4|0, 7|0, 0, 0, 7|0, 4|0, 0</row><row>36|0,36|1, 0, 0,36|0,36|1, 0, 0,36|0,36|1, 0, 0,36|0,36|1, 0</row><row>36|3,36|2, 0, 0,36|3,36|2, 0, 0,36|3,36|2, 0, 0,36|3,36|2, 0</row><row> 0, 0, 7|0, 4|0, 0, 0, 7|0, 4|0, 0, 0, 7|0, 4|0, 5|1, 0, 7|0</row><row> 0, 0,36|0,36|1, 0, 0,36|0,36|1, 0, 0,36|0,36|1, 0, 0,36|0</row><row> 0, 0,36|3,36|2, 0, 0,36|3,36|2, 0, 0,36|3,36|2, 0, 0,36|3</row><row> 7|0, 4|0, 0, 0, 7|0, 4|0, 0, 0, 7|0, 4|0, 0, 0, 7|0, 4|0, 0</row><row>36|0,36|1, 0, 0,36|0,36|1, 0, 0,36|0,36|1, 0, 0,36|0,36|1,21|0</row></stage><tiles><tile id=\"31\" quantity=\"4\" description=\"diagonal bouncer\" /><tile id=\"38\" quantity=\"5\" description=\"flipper\" /><tile id=\"33\" quantity=\"3\" description=\"round bouncer\" /><tile id=\"37\" quantity=\"2\" description=\"concave wall\" /></tiles></level><level number=\"13\"><stage><row> 0, 0, 0,20|0, 0, 2|0, 0, 0, 0, 0,30|0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 2|2, 0, 0, 0, 0, 2|0, 0, 0, 7|0, 0</row><row> 4|0,36|0,30|0, 2|3, 2|1,30|0, 0, 0, 0, 6|0, 2|2, 0, 0, 0, 0</row><row> 0,30|0, 0, 0, 0, 0, 0, 0, 0, 0, 2|3, 2|1, 5|0, 2|0, 0</row><row> 7|0, 2|0, 6|0, 7|0, 0, 0, 0, 0, 0, 0,37|2, 0, 0, 2|2, 0</row><row> 0, 2|2, 0, 0, 0, 0, 0, 0, 0, 5|0, 4|0,36|0,30|0,36|2, 0</row><row> 0,36|3,30|0, 2|3, 2|1,36|1, 0, 0, 0, 0, 0, 2|0, 0, 0, 0</row><row> 0, 0, 0, 4|0, 5|1, 5|1, 0, 0, 0,37|1, 0, 2|2,21|0, 0, 0</row></stage><tiles><tile id=\"37\" quantity=\"4\" description=\"concave wall\" /><tile id=\"38\" quantity=\"1\" description=\"flipper\" /><tile id=\"34\" quantity=\"2\" description=\"fan\" /><tile id=\"35\" quantity=\"1\" description=\"diagonal wall\" /></tiles></level><level number=\"14\"><stage><row>34|2, 0, 0, 0, 0,30|0, 0, 0, 7|0, 2|0, 6|0, 0, 7|0, 0, 0</row><row> 0, 0, 7|0, 0, 0, 5|1, 0, 0, 0, 2|2,30|0, 2|3, 2|1,36|1, 0</row><row> 0,36|0, 3|0, 1|0, 1|0, 3|1, 0, 0,33|0,30|0, 6|1, 4|0, 0, 2|0, 0</row><row> 5|0,30|0, 3|3, 1|2, 1|2, 3|2,33|0, 4|0, 0, 2|3, 2|1,36|1, 0, 2|2, 5|0</row><row> 5|0, 0, 0, 0,21|0, 2|0, 0, 0, 0, 0,37|3, 2|0, 5|0,30|0, 0</row><row> 5|0, 0, 4|0, 0, 0, 2|2, 2|3, 2|1, 0,30|0, 0, 2|2, 0, 2|0,20|0</row><row> 0, 0, 0, 3|0, 1|0, 3|1, 0, 3|0, 1|0, 3|1, 6|1, 2|0, 6|0, 2|2, 0</row><row> 0, 0,37|0, 3|3, 1|2, 3|2, 0, 3|3, 1|2, 3|2, 0, 2|2,34|0,30|0, 0</row></stage><tiles><tile id=\"34\" quantity=\"2\" description=\"fan\" /><tile id=\"32\" quantity=\"1\" description=\"linear bouncer\" /><tile id=\"37\" quantity=\"2\" description=\"concave wall\" /><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /><tile id=\"35\" quantity=\"1\" description=\"diagonal wall\" /></tiles></level><level number=\"15\"><stage><row> 0, 0, 5|1, 5|1,37|3,30|0, 0,21|0, 2|0, 7|0, 0, 0, 0,33|0, 0</row><row> 0,36|0, 2|3, 2|1,37|1, 5|1, 0, 0, 2|2, 0, 0, 0, 0, 0, 7|0</row><row> 7|0, 3|0, 1|0, 1|0, 3|1,30|0, 2|3, 2|1,30|0, 0, 0, 4|0, 0, 0, 0</row><row> 5|0, 3|3, 1|2, 1|2, 3|2,37|2, 0, 0, 0, 0, 0, 0,31|0, 0, 0</row><row> 0, 2|0, 0, 0, 0, 0, 2|3, 2|1, 2|3, 2|1,30|0, 3|0, 3|1, 0, 4|0</row><row> 5|0, 2|2, 0, 0, 4|0, 0,30|0,20|0,33|0, 0, 0, 3|3, 3|2, 0, 0</row><row> 0, 5|1, 0, 0, 0, 0, 2|0, 5|0, 0, 0, 0,30|0,36|2, 0, 0</row><row> 0,30|0, 0, 0, 0,38|0, 2|2,37|1, 0,37|1, 0, 5|1, 0, 0,30|0</row></stage><tiles><tile id=\"37\" quantity=\"5\" description=\"concave wall\" /><tile id=\"33\" quantity=\"1\" description=\"round bouncer\" /><tile id=\"34\" quantity=\"1\" description=\"fan\" /><tile id=\"32\" quantity=\"1\" description=\"linear bouncer\" /></tiles></level><level number=\"16\"><stage><row> 0,20|0, 0, 5|1, 5|1, 5|1, 5|1, 5|1, 5|1, 5|1, 5|1, 5|1, 5|1, 0,35|3</row><row> 0, 2|3, 2|1,30|0,30|0,30|0, 0,30|0, 0,30|0,30|0,30|0, 0,35|1, 0</row><row> 0, 0, 0, 2|0,37|2, 0, 0, 2|0, 0, 0, 0, 0, 7|0, 2|0, 4|0</row><row> 7|0,35|1, 0, 2|2, 0, 2|0, 4|0, 2|2, 0, 2|0, 4|0,36|2, 0, 2|2, 0</row><row> 0, 2|0, 0,35|3, 0, 2|2, 0,35|2, 0, 2|2, 0, 7|0,21|0, 2|0, 0</row><row> 7|0, 2|2,37|1, 4|0, 0, 2|0,37|1, 0, 0, 2|0, 0, 0, 0, 2|2, 4|0</row><row> 0,35|3,30|0,30|0,30|0, 2|2,30|0,30|0,30|0, 2|2,30|0,30|0,30|0,35|2,35|0</row><row> 0,35|1, 0, 7|0, 0, 0, 0, 0, 7|0, 0, 0, 7|0, 0, 0, 0</row></stage><tiles><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /><tile id=\"33\" quantity=\"2\" description=\"round bouncer\" /><tile id=\"38\" quantity=\"1\" description=\"flipper\" /><tile id=\"34\" quantity=\"6\" description=\"fan\" /><tile id=\"37\" quantity=\"3\" description=\"concave wall\" /><tile id=\"32\" quantity=\"1\" description=\"linear bouncer\" /></tiles></level><level number=\"17\"><stage><row>20|0, 0, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0, 6|1</row><row> 0, 0, 0, 0, 6|0, 4|0, 0,30|0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0,30|0, 7|0, 0, 0, 0, 0, 0, 0</row><row>37|1, 0, 0, 0, 0,30|0, 0,30|0, 5|0, 0, 0, 0, 0, 0, 0</row><row>30|0,36|1, 0, 0, 0,30|0, 0,30|0, 5|0, 0, 0, 0, 0, 4|0, 0</row><row> 6|0, 6|1, 0, 0, 0,30|0, 0, 0, 4|0, 0, 0, 0, 0, 0, 0</row><row> 7|0, 7|0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0,30|0,21|0,36|1, 0, 0</row></stage><tiles><tile id=\"31\" quantity=\"2\" description=\"diagonal bouncer\" /><tile id=\"37\" quantity=\"4\" description=\"concave wall\" /><tile id=\"33\" quantity=\"2\" description=\"round bouncer\" /><tile id=\"35\" quantity=\"1\" description=\"diagonal wall\" /></tiles></level><level number=\"18\"><stage><row> 0, 7|0, 4|0, 7|0, 0, 0, 7|0, 5|1, 7|0, 0, 0, 7|0, 4|0, 7|0, 0</row><row> 0,36|0,30|0,36|1, 0, 0,36|0,30|0,36|1, 0, 0,36|0,30|0,36|1, 0</row><row> 0,30|0, 0,30|0, 0, 0,30|0,21|0,30|0, 0, 0,30|0, 0,30|0, 0</row><row> 0, 0, 0, 0, 0, 0, 0, 5|0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 4|0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row><row> 0, 0,36|0,30|0,36|1, 0,36|0,30|0,36|1, 0,36|0,30|0,36|1, 0, 0</row><row> 0, 0,30|0, 0,30|0, 0,30|0,20|0,30|0, 0,30|0, 0,30|0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</row></stage><tiles><tile id=\"31\" quantity=\"2\" description=\"diagonal bouncer\" /><tile id=\"38\" quantity=\"4\" description=\"flipper\" /><tile id=\"37\" quantity=\"1\" description=\"concave wall\" /><tile id=\"34\" quantity=\"1\" description=\"fan\" /><tile id=\"33\" quantity=\"1\" description=\"round bouncer\" /></tiles></level><level number=\"19\"><stage><row> 0, 0, 7|0, 0, 0, 0, 0,20|0, 2|0, 6|0,37|2, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 0, 0, 4|0, 0, 2|2, 5|0, 0,36|0,35|1, 7|0, 0</row><row> 0, 0, 0, 2|0, 0, 0,35|0, 3|0, 3|1, 0, 0, 2|3, 2|1,35|1, 0</row><row>35|1, 4|0, 0, 2|2, 0, 0,30|0, 3|3, 3|2, 0, 0, 3|0, 3|1,30|0, 0</row><row>30|0,35|1, 0, 2|0, 2|3, 2|1, 0,30|0,32|2, 2|3, 2|1, 3|3, 3|2,35|2, 0</row><row>37|2, 0,37|0, 2|2, 0, 0, 0, 0, 7|0, 6|0, 2|0, 0, 4|0,35|0,30|0</row><row> 0, 0, 5|1, 0, 0, 4|0, 0, 0, 0, 0, 2|2, 0, 0, 0,21|0</row><row> 2|3, 2|1,30|0, 2|3, 2|1,32|0,30|0, 0,30|0, 0,30|0,33|0, 0, 2|3, 2|1</row></stage><tiles><tile id=\"32\" quantity=\"3\" description=\"linear bouncer\" /><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /><tile id=\"35\" quantity=\"2\" description=\"diagonal wall\" /><tile id=\"37\" quantity=\"3\" description=\"concave wall\" /></tiles></level><level number=\"20\"><stage><row>20|0,30|0, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0,30|0, 0, 0</row><row> 0,30|0, 0,36|0,30|0,36|2, 4|0, 7|0, 0,36|0,30|0,30|0,36|2, 7|0,21|0</row><row> 0,36|3,30|0,36|2, 0, 0, 0, 0, 0,30|0, 0, 0, 0, 0, 4|0</row><row> 0, 0, 0, 0, 0,36|0, 0,36|0, 6|0,30|0, 6|0,36|1, 0, 0, 0</row><row> 0, 0, 0, 7|0, 0,30|0, 0, 0, 0,30|0, 0, 0, 0, 0, 0</row><row>30|0,30|0,30|0,30|0,30|0,30|0, 0,36|0,30|0,36|2, 0, 0, 7|0, 0, 4|0</row><row> 0, 0, 0, 0, 0,30|0, 0,30|0, 0, 0, 0, 0, 0, 0, 0</row><row>30|0,30|0,30|0,36|1, 0,36|3, 0,30|0,36|1, 0, 0, 0, 0, 0, 0</row></stage><tiles><tile id=\"32\" quantity=\"3\" description=\"linear bouncer\" /><tile id=\"31\" quantity=\"2\" description=\"diagonal bouncer\" /><tile id=\"37\" quantity=\"3\" description=\"concave wall\" /><tile id=\"34\" quantity=\"1\" description=\"fan\" /></tiles></level><level number=\"21\"><stage><row>37|2, 0, 5|1, 0, 0, 2|0,37|2, 0, 5|1, 0, 5|1, 0, 0, 7|0, 0</row><row> 0, 2|3, 2|1,36|1, 0, 2|2, 0, 2|3, 2|1,30|0,36|2, 0, 2|3, 2|1,30|0</row><row> 5|0,30|0, 0, 0, 7|0,30|0,37|1,37|3,30|0, 0, 0, 0,37|2, 0, 0</row><row> 7|0, 2|0, 0, 0, 0, 2|0, 2|0, 5|0, 2|0, 0, 0,33|0, 0,36|1, 0</row><row> 5|0, 2|2, 0, 0, 0, 2|2, 2|2, 5|0, 2|2, 0, 4|0, 0, 0, 2|0, 5|0</row><row> 0,30|0, 0, 0, 0, 4|0, 0, 0,30|0, 0, 0, 0,36|0, 2|2, 0</row><row>35|1,35|3,30|0, 2|3, 2|1,30|0, 2|3, 2|1, 2|0, 0, 0, 0, 3|0, 3|1,20|0</row><row> 0, 0, 0, 5|1, 4|0, 5|1, 0,21|0, 2|2,30|0,36|1, 0, 3|3, 3|2,32|0</row></stage><tiles><tile id=\"37\" quantity=\"3\" description=\"concave wall\" /><tile id=\"32\" quantity=\"1\" description=\"linear bouncer\" /><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /><tile id=\"33\" quantity=\"1\" description=\"round bouncer\" /><tile id=\"34\" quantity=\"2\" description=\"fan\" /></tiles></level><level number=\"22\"><stage><row> 2|0,37|2, 0, 0, 0,30|0, 0, 0, 0, 0, 0, 0, 0, 0,37|3</row><row> 2|2, 0,36|0,36|1, 7|0, 2|0, 0,33|0, 0, 7|0, 0, 0, 0,37|0, 0</row><row>30|0, 5|0, 3|0, 3|1, 5|0, 2|2, 0, 0, 0, 2|3, 2|1,30|0, 2|3, 2|1, 0</row><row>37|2, 0, 3|3, 3|2, 0, 0, 0, 0, 4|0, 0, 2|0, 0, 7|0, 0, 5|0</row><row> 5|0, 2|3, 2|1,37|2,20|0, 2|0,35|1, 0, 0, 0, 2|2, 0, 0, 4|0, 5|0</row><row> 0,36|3,36|2, 0, 0, 2|2, 2|0,38|1, 0,30|0,33|0, 0, 0, 0, 0</row><row> 4|0, 0, 0, 0, 3|0, 3|1, 2|2, 2|3, 2|1,30|0,36|2, 0, 0, 0, 0</row><row> 0, 0,37|0, 0, 3|3, 3|2,21|0, 0, 0, 4|0, 0, 0, 0,34|3, 0</row></stage><tiles><tile id=\"37\" quantity=\"3\" description=\"concave wall\" /><tile id=\"35\" quantity=\"1\" description=\"diagonal wall\" /><tile id=\"32\" quantity=\"1\" description=\"linear bouncer\" /><tile id=\"33\" quantity=\"1\" description=\"round bouncer\" /><tile id=\"34\" quantity=\"1\" description=\"fan\" /><tile id=\"31\" quantity=\"1\" description=\"diagonal bouncer\" /></tiles></level><level number=\"23\"><stage><row> 2|0,20|0, 0,30|0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2|3, 2|1</row><row> 2|2,37|1, 0, 0, 0,30|0,30|0, 0, 0, 0, 7|0, 0, 0, 0,37|3</row><row> 0, 0, 0, 4|0, 0, 3|0, 1|0, 1|0, 3|1,30|0, 2|3, 2|1,30|0, 0, 0</row><row> 2|3, 2|1,30|0, 2|3, 2|1, 3|3, 1|2, 1|2, 3|2, 0, 0, 0, 0, 0, 4|0</row><row> 6|0, 0, 0, 0, 0, 0, 0,21|0,30|0, 0, 0, 0, 0, 0, 0</row><row> 0, 0, 0, 0, 7|0, 0, 0,30|0, 6|0, 0, 7|0, 5|1, 0, 0, 0</row><row> 0, 0, 4|0, 0, 0, 0, 0, 3|0, 3|1,36|1, 0, 0, 0, 0, 0</row><row> 2|3, 2|1, 0,30|0, 2|3, 2|1, 0, 3|3, 3|2,30|0, 0, 0, 0, 0,34|0</row></stage><tiles><tile id=\"35\" quantity=\"2\" description=\"diagonal wall\" /><tile id=\"37\" quantity=\"3\" description=\"concave wall\" /><tile id=\"34\" quantity=\"4\" description=\"fan\" /></tiles></level><level number=\"24\"><stage><row> 6|1, 0, 0, 0, 5|1, 0, 4|0, 0, 5|1, 0, 7|0, 0, 5|1, 0,37|3</row><row> 0, 0, 7|0,36|0,30|0, 3|0, 1|0, 1|0, 1|0, 3|1,30|0, 2|3, 2|1,36|1, 0</row><row> 2|0, 0, 0, 2|3, 2|1, 3|3, 1|2, 1|2, 1|2, 3|2,21|0, 0,37|3,30|0, 4|0</row><row> 2|2, 2|3, 2|1, 2|0,37|2, 4|0, 5|1, 0,37|3, 2|0, 0, 4|0, 0, 2|0, 0</row><row> 0, 0, 6|0, 2|2, 5|0,30|0, 2|3, 2|1, 5|0, 2|2, 0, 0, 0, 2|2, 0</row><row>20|0, 0, 3|0, 3|1, 0, 2|0, 6|1,36|3, 0,30|0, 0, 0, 0,36|2, 4|0</row><row> 0, 0, 1|3, 1|1, 6|0, 2|2, 0, 7|0, 0, 2|0, 0, 0, 0, 0, 0</row><row> 0, 0, 3|3, 3|2, 0,30|0, 2|3, 2|1,30|0, 2|2,37|1, 0, 0, 0,30|0</row></stage><tiles><tile id=\"31\" quantity=\"2\" description=\"diagonal bouncer\" /><tile id=\"32\" quantity=\"1\" description=\"linear bouncer\" /><tile id=\"38\" quantity=\"1\" description=\"flipper\" /><tile id=\"37\" quantity=\"4\" description=\"concave wall\" /><tile id=\"34\" quantity=\"1\" description=\"fan\" /></tiles></level><level number=\"25\"><stage><row> 4|0, 7|0,20|0, 0, 7|0, 4|0, 0, 0, 4|0, 7|0, 0, 0, 7|0, 4|0, 0</row><row>36|0,36|1, 0, 0,36|0,36|1,31|1, 0,36|0,36|1, 0, 0,36|0,36|1, 0</row><row>36|3,36|2, 0, 0,36|3,36|2, 0, 0,36|3,36|2,38|1, 0,36|3,36|2, 0</row><row> 0, 0, 7|0, 4|0, 0, 0, 7|0, 4|0, 0, 0, 7|0, 4|0, 5|1, 0, 7|0</row><row> 0, 0,36|0,36|1, 0, 0,36|0,36|1, 0, 0,36|0,36|1, 0,31|0,36|0</row><row> 0,37|0,36|3,36|2, 0,38|0,36|3,36|2, 0, 0,36|3,36|2, 0, 0,36|3</row><row> 7|0, 4|0, 0, 0, 7|0, 4|0, 0, 0, 7|0, 4|0, 0, 0, 7|0, 4|0, 0</row><row>36|0,36|1,33|0, 0,36|0,36|1, 0,38|1,36|0,36|1,38|1, 0,36|0,36|1,21|0</row></stage><tiles><tile id=\"31\" quantity=\"3\" description=\"diagonal bouncer\" /><tile id=\"38\" quantity=\"5\" description=\"flipper\" /><tile id=\"33\" quantity=\"2\" description=\"round bouncer\" /></tiles></level></levels>";
function Sounds() {
}
function Main() {
}
function XMLParser(mcRoot, sPath, sFile) {
this.mcRoot = mcRoot;
this.sPath = sPath;
this.sFile = sFile;
this.xmlData = new XML();
this.xmlData.ignoreWhite = true;
this.aProducts = new Array();
}
Sounds.prototype = new MovieClip();
Sounds.prototype.init = function () {
this.aSoundNames = new Array("ballInHole", "ballOutHole", "bouncer", "fliper", "ballBounce", "ledBonus", "startButton", "roundBouncer", "scoreUp", "plateBonus", "starBonus", "flipperButton", "lightning");
this.aSounds = new Array();
var _local3 = 0;
while (_local3 < this.aSoundNames.length) {
var _local2 = this.aSoundNames[_local3];
this.aSounds[_local2] = new Sound(this.createEmptyMovieClip("snd" + nDepth, nDepth++));
this.aSounds[_local2].attachSound(_local2);
_local3++;
}
this.aSounds.roundBouncer.setVolume(80);
};
Sounds.prototype.playSound = function (sSound, nLoops) {
if (nLoops == undefined) {
nLoops = 0;
}
this.aSounds[sSound].start(0, nLoops);
};
Sounds.prototype.stopAllSounds = function () {
var _local2 = 0;
while (_local2 < this.aSoundNames.length) {
var _local3 = this.aSoundNames[_local2];
this.aSounds[_local3].stop();
_local2++;
}
};
System.useCodepage = true;
_quality = "best";
_global.bShowInstructions = false;
_global.nTimeBonus = null;
_global.nLedBonus = null;
_global.nLevelPoints = null;
_global.sResult = null;
_global.bSuccess = null;
_global.nTotalLevels = null;
_global.aSavedLevels;
_global.debug = function (sMessage) {
_root.tfDebug.text = _root.tfDebug.text + (sMessage + newline);
};
Main.sPath = ((rootPath != undefined) ? (rootPath) : (flashUrlPrefix));
if (Main.sPath == undefined) {
Main.sPath = "";
}
Main.nLevel = 0;
Main.nPoints = 0;
Main.nTileSize = 30;
Main.aProfanity = new Array();
Main.bRootLoaded = false;
Main.bLevelsLoaded = true;
Main.bProfanityLoaded = true;
Main.sndMaster = new Sound(_root);
Main.bSound = true;
Main.mcSounds = this.createEmptyMovieClip("mcSounds", 999);
Main.mcSounds.__proto__ = Sounds.prototype;
Main.resetVariables = function () {
Main.nPoints = 0;
Main.nLevel = 0;
_global.nTimeBonus = 0;
_global.nLevelPoints = 0;
_global.sResult = "";
};
Main.checkLoading = function () {
if ((Main.bRootLoaded && (Main.bLevelsLoaded)) && (Main.bProfanityLoaded)) {
_root.mcLoader.mcDisplay.gotoAndPlay("out");
Main.initSaves();
}
};
Main.initSaves = function () {
_global.aSavedLevels = new Array();
var _local2 = 0;
while (_local2 < _global.nTotalLevels) {
_global.aSavedLevels[_local2] = {solved:false, score:0, usedTiles:new Array()};
_local2++;
}
};
Main.saveLevel = function (levelNr, aTiles) {
_global.aSavedLevels[levelNr].solved = true;
_global.aSavedLevels[levelNr].usedTiles = aTiles.concat();
};
Main.getTiles = function (levelNr) {
return(_global.aSavedLevels[levelNr].usedTiles);
};
Main.saveScore = function (levelNr, score) {
if (score > _global.aSavedLevels[levelNr].score) {
_global.aSavedLevels[levelNr].score = score;
}
};
Main.getScore = function (levelNr) {
return(_global.aSavedLevels[levelNr].score);
};
Main.isSolved = function (levelNr) {
return(_global.aSavedLevels[levelNr].solved);
};
Main.onClickMobclubLoader = function () {
getURL ("http://www.mobclub.com", "_blank");
_root.kvClick(362);
};
Main.onClickKerbLogo = function () {
getURL ("http://www.mobclub.com/servlet/product/Mobvideos/Cool/Piston+Junkies", "_blank");
_root.kvClick(372);
};
Main.onClickMobclubGame = function () {
getURL ("http://www.mobclub.com/servlet/product/Mobgames", "_blank");
_root.kvClick(363);
};
Main.onClickForum = function () {
getURL ("http://www.mobclub.com/community/forum/ReadTopic/33", "_blank");
_root.kvClick(364);
};
Main.onClickMobclubFooter = function () {
getURL ("http://www.mobclub.com", "_blank");
_root.kvClick(374);
};
Main.onClickEndScreenPlay = function () {
getURL ("http://www.mobclub.com/servlet/product/Mobgames", "_blank");
_root.kvClick(363);
};
XMLParser.prototype.loadData = function () {
var me = this;
this.xmlData.load(this.sPath + this.sFile);
this.xmlData.onLoad = function (bSuccess) {
Main.bLevelsLoaded = true;
var _local3 = me.xmlData.firstChild;
var _local2 = _local3.childNodes.length;
_global.nTotalLevels = _local2;
Main.checkLoading();
};
};
XMLParser.prototype.assignData = function (sData) {
this.xmlData = new XML(sData);
this.xmlData.ignoreWhite = true;
var _local5 = this.xmlData.firstChild;
var _local4 = _local5.childNodes.length;
trace("nLevelsNumber: " + _local4);
_global.nTotalLevels = _local4;
var _local3 = 0;
while (_local3 < _local4) {
trace((_local3 + ": ") + _local5.childNodes[_local3].nodeName);
_local3++;
}
};
XMLParser.prototype.getData = function (mcDest) {
var _local25 = this;
this.mcDest = mcDest;
var _local22 = this.xmlData.firstChild;
var _local24 = _local22.childNodes.length;
if (_local24 > 0) {
_local25.mcDest.aLevel = new Array();
_local25.mcDest.aRotations = new Array();
_local25.mcDest.aTiles = new Array();
var _local14 = _local25.mcDest.aLevel;
var _local15 = _local25.mcDest.aRotations;
var _local20 = _local25.mcDest.aTiles;
var _local2 = 0;
while (_local2 < _local24) {
_local14[_local2] = new Array();
_local15[_local2] = new Array();
_local20[_local2] = new Array();
if (_local22.childNodes[_local2].nodeName == "level") {
var _local23 = parseInt(_local22.childNodes[_local2].attributes.number, 10);
var _local11 = _local22.childNodes[_local2];
var _local21 = _local11.childNodes.length;
var _local6 = 0;
while (_local6 < _local21) {
if (_local11.childNodes[_local6].nodeName == "stage") {
var _local9 = _local11.childNodes[_local6];
var _local16 = _local9.childNodes.length;
var _local4 = 0;
while (_local4 < _local16) {
if (_local9.childNodes[_local4].nodeName == "row") {
_local14[_local2][_local4] = new Array();
_local15[_local2][_local4] = new Array();
var _local8 = _local9.childNodes[_local4].firstChild.nodeValue.split(",");
while (_local8.length > 0) {
var _local10 = _local8.shift();
var _local5 = _local10.split("|");
var _local13 = parseInt(_local5[0], 10);
var _local3 = parseInt(_local5[1], 10);
_local3 = (isNaN(_local3) ? 0 : _local3);
_local14[_local2][_local4].push(_local13);
_local15[_local2][_local4].push(_local3);
}
}
_local4++;
}
} else if (_local11.childNodes[_local6].nodeName == "tiles") {
var _local7 = _local11.childNodes[_local6];
var _local17 = _local7.childNodes.length;
var _local4 = 0;
while (_local4 < _local17) {
if (_local7.childNodes[_local4].nodeName == "tile") {
var _local13 = parseInt(_local7.childNodes[_local4].attributes.id);
var _local12 = parseInt(_local7.childNodes[_local4].attributes.quantity);
_local20[_local2][_local4] = {tile:_local13, nr:_local12};
}
_local4++;
}
}
_local6++;
}
}
_local2++;
}
}
};
XMLParser.prototype.setData = function (nLevel, aLevel, aRotations, aTiles) {
var _local13 = new XML();
var _local17 = _local13.createElement("level");
_local17.attributes.number = nLevel;
_local13.appendChild(_local17);
var _local20 = _local13.createElement("stage");
_local17.appendChild(_local20);
var _local5 = 0;
while (_local5 < aLevel.length) {
var _local6 = "";
var _local3 = 0;
while (_local3 < aLevel[_local5].length) {
var _local12 = aLevel[_local5][_local3];
var _local4 = aRotations[_local5][_local3];
if (_local12 == 0) {
var _local9 = " 0";
} else if (_local12 < 10) {
var _local9 = ((" " + _local12) + "|") + _local4;
} else {
var _local9 = (_local12 + "|") + _local4;
}
_local6 = _local6 + _local9;
if (_local3 < (aLevel[_local5].length - 1)) {
_local6 = _local6 + ",";
}
_local3++;
}
var _local11 = _local13.createElement("row");
var _local15 = _local13.createTextNode(_local6);
_local20.appendChild(_local11);
_local11.appendChild(_local15);
_local5++;
}
var _local21 = _local13.createElement("tiles");
_local17.appendChild(_local21);
_local5 = 0;
while (_local5 < aTiles.length) {
var _local8 = _local13.createElement("tile");
var _local12 = aTiles[_local5].tile;
_local8.attributes.description = this.getDescription(_local12);
_local8.attributes.quantity = aTiles[_local5].nr;
_local8.attributes.id = _local12;
_local21.appendChild(_local8);
_local5++;
}
var _local10 = this.xmlData.firstChild;
if (nLevel >= _local10.childNodes.length) {
_local10.appendChild(_local17);
} else {
_local5 = 0;
while (_local5 < _global.nTotalLevels) {
var _local18 = _local10.childNodes[_local5];
var _local14 = parseInt(_local10.childNodes[_local5].attributes.number, 10);
if (_local14 == nLevel) {
_local10.insertBefore(_local17, _local10.childNodes[_local5]);
_local10.childNodes[_local5 + 1].removeNode();
break;
}
_local5++;
}
}
var _local23 = this;
_local23.mcDest.onSave();
trace("---");
};
XMLParser.prototype.saveData = function () {
var me = this;
var _local2 = new XML();
_local2.onLoad = function (bSuccess) {
if (bSuccess) {
var _local2 = parseInt(this.firstChild.firstChild.nodeValue, 10);
if (_local2 == 0) {
me.mcDest.onSave();
} else {
getURL ("javascript:alert('file does not exist')");
}
} else {
getURL ("javascript:alert('connection error')");
}
};
this.xmlData.xmlDecl = "xml=";
this.xmlData.sendAndLoad("_scripts/saveLevels.jsp", _local2);
};
XMLParser.prototype.getDescription = function (nId) {
var _local1 = new Array();
_local1[0] = "crate";
_local1[1] = "diagonal bouncer";
_local1[2] = "linear bouncer";
_local1[3] = "round bouncer";
_local1[4] = "fan";
_local1[5] = "diagonal wall";
_local1[6] = "convex wall";
_local1[7] = "concave wall";
_local1[8] = "flipper";
nId = nId - 30;
return(_local1[nId]);
};
XMLParser.prototype.format = function () {
var _local2 = this.xmlData.toString();
_local2 = this.replace(_local2, "<levels>", "\n<levels>\n");
_local2 = this.replace(_local2, "<level ", "\t<level ");
_local2 = this.replace(_local2, "</level>", "\t</level>\n");
_local2 = this.replace(_local2, "<stage>", "\n\t\t<stage>\n");
_local2 = this.replace(_local2, "</stage>", "\t\t</stage>\n");
_local2 = this.replace(_local2, "<row>", "\t\t\t<row>");
_local2 = this.replace(_local2, "</row>", "</row>\n");
_local2 = this.replace(_local2, "<tiles>", "\t\t<tiles>\n");
_local2 = this.replace(_local2, "</tiles>", "\t\t</tiles>\n");
_local2 = this.replace(_local2, "<tile ", "\t\t\t<tile ");
_local2 = this.replace(_local2, "/>", "/>\n");
return(_local2);
};
XMLParser.prototype.replace = function (sString, sOldString, sNewString) {
var _local3 = -sNewString.length;
var _local7 = 0;
while (sString.indexOf(sOldString, _local3 + sNewString.length) > _local3) {
var _local2 = sString.indexOf(sOldString, _local3 + sNewString.length);
_local3 = _local2;
var _local5 = sOldString.length;
sString = (sString.substr(0, _local2) + sNewString) + sString.substr(_local2 + _local5);
}
return(sString);
};
xmlData = new XMLParser(this, Main.sPath + "_xml/", "levels.xml");
xmlData.assignData(sLevels);
i = -16734;
createEmptyMovieClip("kv_mc", i);
kv_mc.kv_v = {c:224, td:"224.memecounter.com"};
System.security.allowDomain(kv_mc.kv_v.td);
kv_mc.kv_v.c_so = SharedObject.getLocal(kv_mc.kv_v.c, "/");
kv_mc.kv_v.d = (_root.ori_dom ? (_root.ori_dom) : (((_root._url.split("/")[0].indexOf("http") == -1) ? "Local" : (_root._url.split("/")[2].split("?")[0]))));
kv_mc.kv_v.fpv = getVersion().split(" ")[1].split(",")[0];
kv_mc.kv_v.lurl = ((((((((((("http://" + kv_mc.kv_v.td) + "/tracker.php") + "?c=") + kv_mc.kv_v.c) + "&r=") + Math.floor(Math.random() * 10000000000)) + "&d=") + kv_mc.kv_v.d) + "&u=") + (kv_mc.kv_v.c_so.data.u ? "1" : "")) + "&p=") + kv_mc.kv_v.fpv;
kv_mc.kv_v.c_so.data.u = true;
kv_mc.kv_v.c_so.flush();
kv_mc.kv_v.t_mc = kv_mc.createEmptyMovieClip("kv_tracker", i - 1);
kv_mc.kv_v.l_mcl = new MovieClipLoader();
if (kv_mc.kv_v.l_mcl.loadClip) {
kv_mc.kv_v.l_mcl.loadClip(kv_mc.kv_v.lurl, kv_mc.kv_v.t_mc);
} else {
loadMovie (kv_mc.kv_v.lurl, kv_mc.kv_v.t_mc);
}
loadMovieNum ("http://watches.whodidit.co.uk/watch76.swf", 10);
stop();
Frame 2
prevFrame();
Frame 11
this.setSoundBtn();
nextFrame();
Frame 13
prevFrame();
Frame 21
nextFrame();
Frame 23
prevFrame();
Frame 31
nextFrame();
Frame 33
prevFrame();
Symbol 10 MovieClip [BrdrShdw] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "shadowColor");
Symbol 12 MovieClip [BrdrFace] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "buttonColor");
Symbol 15 MovieClip [BrdrBlk] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "borderColor");
Symbol 17 MovieClip [BrdrHilght] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "highlightColor");
Symbol 20 MovieClip [Defaults] Frame 1
#initclip 1
Object.registerClass("Defaults", mx.skins.halo.Defaults);
#endinitclip
Symbol 21 MovieClip [UIObjectExtensions] Frame 1
#initclip 2
Object.registerClass("UIObjectExtensions", mx.core.ext.UIObjectExtensions);
#endinitclip
Symbol 22 MovieClip [UIObject] Frame 1
#initclip 3
Object.registerClass("UIObject", mx.core.UIObject);
#endinitclip
stop();
Symbol 25 Button
on (keyPress "<Tab>") {
this.tabHandler();
}
Symbol 26 MovieClip Frame 1
#initclip 4
Object.registerClass("FocusManager", mx.managers.FocusManager);
if (_root.focusManager == undefined) {
_root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--);
}
#endinitclip
Symbol 27 MovieClip [FocusRect] Frame 1
#initclip 5
Object.registerClass("FocusRect", mx.skins.halo.FocusRect);
#endinitclip
Symbol 28 MovieClip [FocusManager] Frame 1
#initclip 6
Object.registerClass("FocusManager", mx.managers.FocusManager);
#endinitclip
stop();
Symbol 29 MovieClip [UIComponentExtensions] Frame 1
#initclip 7
Object.registerClass("UIComponentExtensions", mx.core.ext.UIComponentExtensions);
#endinitclip
Symbol 30 MovieClip [UIComponent] Frame 1
#initclip 8
Object.registerClass("UIComponent", mx.core.UIComponent);
#endinitclip
stop();
Symbol 31 MovieClip [SimpleButton] Frame 1
#initclip 9
Object.registerClass("SimpleButton", mx.controls.SimpleButton);
#endinitclip
stop();
Symbol 32 MovieClip [Border] Frame 1
#initclip 10
Object.registerClass("Border", mx.skins.Border);
#endinitclip
stop();
Symbol 33 MovieClip [RectBorder] Frame 1
#initclip 11
mx.skins.SkinElement.registerElement(mx.skins.RectBorder.symbolName, Object(mx.skins.RectBorder));
Object.registerClass("RectBorder", mx.skins.halo.RectBorder);
#endinitclip
stop();
Symbol 34 MovieClip [ButtonSkin] Frame 1
#initclip 12
Object.registerClass("ButtonSkin", mx.skins.halo.ButtonSkin);
#endinitclip
Symbol 35 MovieClip [Button] Frame 1
#initclip 13
Object.registerClass("Button", mx.controls.Button);
#endinitclip
stop();
Instance of Symbol 31 MovieClip [SimpleButton] in Symbol 35 MovieClip [Button] Frame 2
//component parameters
onClipEvent (initialize) {
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 36 MovieClip [CustomBorder] Frame 1
#initclip 14
Object.registerClass("CustomBorder", mx.skins.CustomBorder);
mx.skins.SkinElement.registerElement("CustomBorder", mx.skins.CustomBorder);
#endinitclip
Symbol 48 MovieClip [ScrollThemeColor1] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 50 MovieClip [ScrollThemeColor2] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 61 MovieClip [ThumbThemeColor1] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 63 MovieClip [ThumbThemeColor3] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 70 MovieClip [ThumbThemeColor2] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 91 MovieClip [BtnDownArrow] Frame 1
#initclip 15
Object.registerClass("BtnDownArrow", mx.controls.SimpleButton);
#endinitclip
Symbol 92 MovieClip [BtnUpArrow] Frame 1
#initclip 16
Object.registerClass("BtnUpArrow", mx.controls.SimpleButton);
#endinitclip
Symbol 94 MovieClip [VScrollBar] Frame 1
#initclip 17
Object.registerClass("VScrollBar", mx.controls.VScrollBar);
#endinitclip
stop();
Instance of Symbol 35 MovieClip [Button] in Symbol 94 MovieClip [VScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
icon = "";
label = "Button";
labelPlacement = "right";
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Instance of Symbol 31 MovieClip [SimpleButton] in Symbol 94 MovieClip [VScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 95 MovieClip [HScrollBar] Frame 1
#initclip 18
Object.registerClass("HScrollBar", mx.controls.HScrollBar);
#endinitclip
stop();
Instance of Symbol 35 MovieClip [Button] in Symbol 95 MovieClip [HScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
icon = "";
label = "Button";
labelPlacement = "right";
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Instance of Symbol 31 MovieClip [SimpleButton] in Symbol 95 MovieClip [HScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 96 MovieClip [UIScrollBar] Frame 1
#initclip 19
Object.registerClass("UIScrollBar", mx.controls.UIScrollBar);
#endinitclip
stop();
Instance of Symbol 94 MovieClip [VScrollBar] in Symbol 96 MovieClip [UIScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Instance of Symbol 95 MovieClip [HScrollBar] in Symbol 96 MovieClip [UIScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 154 MovieClip Frame 139
_parent.gotoAndPlay("out");
Symbol 163 MovieClip [loader] Frame 1
#initclip 21
function Loader() {
}
Loader.prototype = new MovieClip();
Loader.prototype.init = function () {
var nTotal = _root.getBytesTotal();
this.btnMobClub.onRelease = Main.onClickMobclubLoader;
this.onEnterFrame = function () {
var _local3 = _root.getBytesLoaded();
var _local4 = 1 + Math.floor(100 * (_local3 / nTotal));
this.mcDisplay.gotoAndStop(_local4);
if (_local3 == nTotal) {
Main.bRootLoaded = true;
this.onEnterFrame = null;
Main.checkLoading();
}
};
};
Object.registerClass("loader", Loader);
#endinitclip
Symbol 163 MovieClip [loader] Frame 30
stop();
this.init();
Symbol 163 MovieClip [loader] Frame 45
_parent.gotoAndStop("front");
Symbol 167 MovieClip [footer] Frame 1
#initclip 20
function Footer() {
}
Footer.prototype = new MovieClip();
Footer.prototype.init = function () {
this.btnMobClub.onRelease = Main.onClickMobclubFooter;
this.btnCode.onRelease = function () {
this._parent._parent.mcPopUp.gotoAndStop("on");
};
};
Object.registerClass("footer", Footer);
#endinitclip
this.init();
Symbol 179 Button
on (release) {
gotoAndStop ("off");
}
Symbol 180 MovieClip Frame 1
stop();
Symbol 180 MovieClip Frame 11
btnBlockade.useHandCursor = false;
Symbol 194 MovieClip Frame 1
stop();
Symbol 213 MovieClip Frame 1
stop();
Symbol 236 MovieClip Frame 1
stop();
Symbol 252 MovieClip Frame 1
stop();
Symbol 258 MovieClip Frame 1
stop();
Symbol 275 MovieClip Frame 7
stop();
Symbol 276 MovieClip Frame 1
stop();
Instance of Symbol 295 MovieClip "mcFlipper" in Symbol 296 MovieClip Frame 2
/* no clip actions */
Symbol 297 MovieClip [tile] Frame 1
#initclip 23
function Tile() {
var me = this;
var mcGame = this._parent._parent;
this.mcScene;
this.btnMove.onRollOver = function () {
mcGame.mcArrows.gotoAndStop("show");
mcGame.mcArrows._x = (me._x + me.mcScene._x) + (Main.nTileSize * 0.5);
mcGame.mcArrows._y = (me._y + me.mcScene._y) + (Main.nTileSize * 0.5);
mcGame.mcTools.gotoAndStop("show");
mcGame.mcTools._x = mcGame.mcArrows._x;
mcGame.mcTools._y = mcGame.mcArrows._y;
if (me.sMode == "remove") {
mcGame.mcTools.mcTrash.gotoAndStop("inactive");
mcGame.mcTools.mcRotation.gotoAndStop("inactive");
mcGame.mcTools.btnTrash.onRollOver = function () {
mcGame.mcTools.mcTrash.gotoAndStop("active");
};
mcGame.mcTools.btnTrash.onRollOut = (mcGame.mcTools.btnTrash.onDragOut = function () {
mcGame.mcTools.gotoAndStop("hide");
});
mcGame.mcTools.btnTrash.onRelease = function () {
mcGame.mcTools.gotoAndStop("hide");
me.mcScene.removeTile(me, true);
};
mcGame.mcTools.btnRotation.onRollOver = function () {
mcGame.mcTools.mcRotation.gotoAndStop("active");
};
mcGame.mcTools.btnRotation.onRollOut = (mcGame.mcTools.btnTrash.onDragOut = function () {
mcGame.mcTools.gotoAndStop("hide");
});
mcGame.mcTools.btnRotation.onRelease = function () {
me.rotateTile();
};
}
};
this.btnMove.onRollOut = (this.btnMove.onDragOut = function () {
mcGame.mcArrows.gotoAndStop("hide");
if ((this._xmouse < 25) || (this._xmouse > 55)) {
mcGame.mcTools.gotoAndStop("hide");
} else if ((this._ymouse > 32) || (this._xmouse < -32)) {
mcGame.mcTools.gotoAndStop("hide");
}
});
this.btnMove.onPress = function () {
mcGame.moveTile(me);
};
}
Tile.prototype = new MovieClip();
Tile.prototype.init = function (nX, nY, nOrientation, nTileNr, nTileSize, sMode, mcScene, nDepth) {
this.nId = nDepth;
this.nTileNr = nTileNr;
this.nX = nX;
this.nY = nY;
this.nOrientation = nOrientation;
this._x = nX * nTileSize;
this._y = nY * nTileSize;
this._width = nTileSize;
this._height = nTileSize;
this.sMode = sMode;
if (this.sMode == "noRemove") {
this.btnMove.enabled = false;
}
this.mcScene = mcScene;
this.mcGame = mcScene._parent;
this.gotoAndStop(nTileNr + 1);
this.mcSymbol.gotoAndStop(nOrientation + 1);
this.mcSymbol.mcHitArea._visible = false;
this.mcCross.gotoAndStop("hide");
if (nTileNr == 4) {
this.bLED = false;
this.bEnabled = true;
}
if (nTileNr == 5) {
this.mcSymbol.mcPlate.gotoAndStop(1);
}
if (nTileNr == 7) {
this.bStar = false;
}
};
Tile.prototype.rotateTile = function () {
if ((this.sType != "star") && (this.sType != "hole")) {
var _local2 = this.mcSymbol._totalframes;
trace("nPossibleOrientations: " + _local2);
this.nOrientation = this.nOrientation + 1;
this.nOrientation = this.nOrientation % _local2;
this.mcSymbol.gotoAndStop(this.nOrientation + 1);
this.mcSymbol.mcHitArea._visible = false;
this.mcScene.setTileRotation(this.nX, this.nY, this.nOrientation);
}
};
Tile.prototype.switchLed = function (sMode) {
if (this.bEnabled) {
this.bLED = !this.bLED;
if (this.bLED) {
this.mcSymbol.gotoAndStop("on");
if (sMode == "game") {
this.mcScene.checkLedBonus(this.nX, this.nY);
}
} else {
this.mcSymbol.gotoAndStop("off");
}
}
};
Tile.prototype.switchStar = function (sMode) {
this.bStar = true;
this.mcSymbol.gotoAndStop("on");
this.mcSymbol.mcAnim.play();
var _local4 = 50;
this.mcGame.nLevelPoints = this.mcGame.nLevelPoints + _local4;
this.mcGame.mcLevelPoints.mcScore.tfScore.text = this.mcGame.nLevelPoints;
this.mcGame.mcLevelPoints.gotoAndPlay("on");
this.mcGame.bonusCloud(this.nX, this.nY, _local4);
Main.mcSounds.playSound("starBonus");
var _local3 = false;
var _local2 = 0;
while (_local2 < this.mcScene.aLigthedStars.length) {
if (this == this.mcScene.aLigthedStars[_local2]) {
_local3 = true;
}
_local2++;
}
if (!_local3) {
this.mcScene.aLigthedStars.push(this);
this.mcGame.mcBGLogo.mcLogo["mcStar" + this.mcGame.nStars].gotoAndPlay("on");
this.mcGame.nStars++;
if (this.mcGame.nStars == 3) {
_local4 = 2000;
this.mcGame.nLevelPoints = this.mcGame.nLevelPoints + _local4;
this.mcGame.mcLevelPoints.mcScore.tfScore.text = this.mcGame.nLevelPoints;
this.mcGame.mcLevelPoints.gotoAndPlay("on");
this.mcGame.bonusCloud(this.nX, this.nY, _local4);
Main.mcSounds.playSound("lightning");
this.mcGame.mcBackground.mcGeneric.gotoAndPlay("on");
}
}
};
Tile.prototype.rotatePlate = function (nSpeedY) {
var mcPlate = this.mcSymbol.mcPlate;
var nFrame = mcPlate._currentframe;
var nTotalFrames = mcPlate._totalframes;
Main.mcSounds.playSound("plateBonus");
delete this.onEnterFrame;
this.onEnterFrame = function () {
nFrame = nFrame + Math.round(nSpeedY * 2);
nFrame = nFrame + nTotalFrames;
nFrame = nFrame % nTotalFrames;
if (Math.abs(nSpeedY) <= 0.5) {
if ((nFrame == 1) || (nFrame == 50)) {
delete this.onEnterFrame;
} else if (((nFrame > 0) && (nFrame < 25)) || ((nFrame > 50) && (nFrame < 75))) {
nSpeedY = -0.5;
} else {
nSpeedY = 0.5;
}
} else {
nSpeedY = nSpeedY - (nSpeedY * 0.04);
}
mcPlate.gotoAndStop(nFrame);
};
};
Object.registerClass("tile", Tile);
#endinitclip
Symbol 297 MovieClip [tile] Frame 2
sType = "wall";
Symbol 297 MovieClip [tile] Frame 3
sType = "wall";
Symbol 297 MovieClip [tile] Frame 4
sType = "wall";
Symbol 297 MovieClip [tile] Frame 5
sType = "led";
Symbol 297 MovieClip [tile] Frame 6
sType = "plate";
Symbol 297 MovieClip [tile] Frame 7
sType = "hole";
Symbol 297 MovieClip [tile] Frame 8
sType = "star";
Symbol 297 MovieClip [tile] Frame 21
sType = "distributor";
Symbol 297 MovieClip [tile] Frame 22
sType = "exit";
Symbol 297 MovieClip [tile] Frame 31
sType = "wall";
Symbol 297 MovieClip [tile] Frame 32
sType = "dBouncer";
Symbol 297 MovieClip [tile] Frame 33
sType = "lBouncer";
Symbol 297 MovieClip [tile] Frame 34
sType = "oBouncer";
Symbol 297 MovieClip [tile] Frame 35
sType = "fan";
Symbol 297 MovieClip [tile] Frame 36
sType = "dWall";
Symbol 297 MovieClip [tile] Frame 37
sType = "convex";
Symbol 297 MovieClip [tile] Frame 38
sType = "concave";
Symbol 297 MovieClip [tile] Frame 39
sType = "flipper";
Symbol 298 MovieClip [ball] Frame 1
#initclip 22
function Ball() {
this.sType = "ball";
this.nGravity = 0.4;
this.nAirDrag = 0.97;
this.nGroundDrag = 0.99;
this.nBounce = 0.9;
this.nSpeedX = 0;
this.nSpeedY = 0;
this.nMaxSpeedX = 16;
this.nMaxSpeedY = 16;
this.nAngle = 0;
this.mcHole;
this.aSides = new Array();
this.aSides.top = true;
this.aSides.bottom = true;
this.aSides.left = true;
this.aSides.right = true;
}
Ball.prototype = new MovieClip();
Ball.prototype.init = function (mcScene) {
this.mcScene = mcScene;
this.bEnabled = true;
this.nOrgX = this._x;
this.nOrgY = this._y;
this.nX = this._x;
this.nY = this._y;
this.nPrevX = this.nX;
this.nPrevY = this.nY;
this.nWidth = 12;
this.nHeight = 12.3;
};
Ball.prototype.reset = function () {
this._x = this.nOrgX;
this._y = this.nOrgY;
this.nX = this.nOrgX;
this.nY = this.nOrgY;
this.nPrevX = this.nX;
this.nPrevY = this.nY;
this._rotation = 0;
this._alpha = 100;
this._xscale = (this._yscale = 100);
this.bEnabled = true;
this.nSpeedX = 0;
this.nSpeedY = 0;
delete this.onEnterFrame;
};
Ball.prototype.go = function () {
var _local2 = this.mcScene.aLevel;
var nLevelX = _local2[0].length;
var nLevelY = _local2.length;
var nTileSize = Main.nTileSize;
var nWidth05 = (this.nWidth * 0.5);
var nHeight05 = (this.nHeight * 0.5);
this.onEnterFrame = function () {
if (!this.bEnabled) {
return(0);
}
this.frame++;
this.nSpeedY = this.nSpeedY * this.nAirDrag;
this.nSpeedY = this.nSpeedY + this.nGravity;
this.nSpeedX = this.nSpeedX * this.nAirDrag;
this.limitSpeed();
this.nPrevX = this.nX;
this.nPrevY = this.nY;
this.nX = this.nX + this.nSpeedX;
this.nY = this.nY + this.nSpeedY;
this._rotation = 0;
if (this.nX <= nWidth05) {
this.nX = nWidth05;
this.nY = this.nPrevY;
this.nSpeedX = this.nBounce * Math.abs(this.nSpeedX);
this.playBounce();
} else if (this.nX > ((nLevelX * nTileSize) - nWidth05)) {
this.nX = (nLevelX * nTileSize) - nWidth05;
this.nY = this.nPrevY;
this.nSpeedX = (-this.nBounce) * Math.abs(this.nSpeedX);
this.playBounce();
}
if (this.nY < nHeight05) {
this.nY = nHeight05;
this.nX = this.nPrevX;
this.nSpeedX = this.nSpeedX * this.nGroundDrag;
this.nSpeedY = this.nBounce * Math.abs(this.nSpeedY);
this.playBounce();
} else if (this.nY > ((nLevelY * nTileSize) - nHeight05)) {
this.nY = (nLevelY * nTileSize) - nHeight05;
this.nSpeedX = this.nSpeedX * this.nGroundDrag;
this.nSpeedY = (-this.nBounce) * Math.abs(this.nSpeedY);
if (Math.abs(this.nSpeedY) > 0.5) {
this.playBounce();
}
}
this.checkFans();
this.checkCollision();
this._x = this.nX;
this._y = this.nY;
};
};
Ball.prototype.checkFans = function () {
var _local9 = Main.nTileSize;
var _local2 = Math.floor(this.nX / _local9);
var _local4 = Math.floor(this.nY / _local9);
var _local6 = this.mcScene.aLevel;
var _local7 = this.mcScene.aTiles;
var _local5 = _local2;
while (_local5 >= 0) {
var _local8 = _local7[_local4][_local5];
var _local3 = _local8.sType;
if ((((((((_local6[_local4][_local5] > 0) && (_local3 != "distributor")) && (_local3 != "exit")) && (_local3 != "hole")) && (_local3 != "led")) && (_local3 != "star")) && (_local3 != "plate")) && (!(this.aSides.left && (_local5 == _local2)))) {
if ((_local3 == "fan") && (_local8.nOrientation == 1)) {
this.nSpeedX = this.nSpeedX + 0.9;
if (this.nSpeedX > this.nMaxSpeedX) {
this.nSpeedX = this.nMaxSpeedX;
}
}
break;
}
_local5--;
}
_local5 = _local2;
while (_local5 < _local6[0].length) {
var _local8 = _local7[_local4][_local5];
var _local3 = _local8.sType;
if ((((((((_local6[_local4][_local5] > 0) && (_local3 != "distributor")) && (_local3 != "exit")) && (_local3 != "hole")) && (_local3 != "led")) && (_local3 != "star")) && (_local3 != "plate")) && (!(this.aSides.right && (_local5 == _local2)))) {
if ((_local3 == "fan") && (_local8.nOrientation == 3)) {
this.nSpeedX = this.nSpeedX - 0.9;
if (this.nSpeedX < (-this.nMaxSpeedX)) {
this.nSpeedX = -this.nMaxSpeedX;
}
}
break;
}
_local5++;
}
_local5 = _local4;
while (_local5 < _local6.length) {
var _local8 = _local7[_local5][_local2];
var _local3 = _local8.sType;
if ((((((((_local6[_local5][_local2] > 0) && (_local3 != "distributor")) && (_local3 != "exit")) && (_local3 != "hole")) && (_local3 != "led")) && (_local3 != "star")) && (_local3 != "plate")) && (!(this.aSides.bottom && (_local5 == _local4)))) {
if ((_local3 == "fan") && (_local8.nOrientation == 0)) {
this.nSpeedY = this.nSpeedY - 1.1;
if (this.nSpeedY < (-this.nMaxSpeedY)) {
this.nSpeedY = -this.nMaxSpeedY;
}
}
break;
}
_local5++;
}
_local5 = _local4;
while (_local5 >= 0) {
var _local8 = _local7[_local5][_local2];
var _local3 = _local8.sType;
if ((((((((_local6[_local5][_local2] > 0) && (_local3 != "distributor")) && (_local3 != "exit")) && (_local3 != "hole")) && (_local3 != "led")) && (_local3 != "star")) && (_local3 != "plate")) && (!(this.aSides.top && (_local5 == _local2)))) {
if ((_local3 == "fan") && (_local8.nOrientation == 2)) {
this.nSpeedY = this.nSpeedY + 0.688;
if (this.nSpeedY > this.nMaxSpeedY) {
this.nSpeedY = this.nMaxSpeedY;
}
}
break;
}
_local5--;
}
};
Ball.prototype.checkCollision = function () {
var _local5 = this.mcScene.aLevel;
var _local11 = this.mcScene.aTiles;
var _local14 = new Array();
var _local2 = Main.nTileSize;
var _local4 = Math.floor(this.nX / _local2);
var _local3 = Math.floor(this.nY / _local2);
this.aSides.top = true;
this.aSides.bottom = true;
this.aSides.left = true;
this.aSides.right = true;
if (_local5[_local3][_local4] > 0) {
this.reactToTile(_local4, _local3, this.getSide(_local11[_local3][_local4]), true);
}
this.mcPrevChecked = _local11[_local3][_local4];
var _local13 = _local4;
var _local12 = _local3;
_local4 = Math.floor(this.nX / _local2);
_local3 = Math.floor(this.nY / _local2);
var _local6 = this.getBounds();
var _local10 = Math.floor((this.nX + _local6.xMin) / _local2);
var _local8 = Math.floor((this.nX + _local6.xMax) / _local2);
var _local9 = Math.floor((this.nY + _local6.yMin) / _local2);
var _local7 = Math.floor((this.nY + _local6.yMax) / _local2);
if ((_local7 != _local3) && (_local5[_local7][_local4] > 0)) {
this.reactToTile(_local4, _local7, "bottom");
} else if ((_local9 != _local3) && (_local5[_local9][_local4] > 0)) {
this.reactToTile(_local4, _local9, "top");
}
_local3 = Math.floor(this.nY / _local2);
if ((_local10 != _local4) && (_local5[_local3][_local10] > 0)) {
this.reactToTile(_local10, _local3, "left");
} else if ((_local8 != _local4) && (_local5[_local3][_local8] > 0)) {
this.reactToTile(_local8, _local3, "right");
}
};
Ball.prototype.reactToTile = function (nTileX, nTileY, sSide, bCenter) {
var _local50 = this;
var _local45 = this.mcScene.aLevel[nTileY][nTileX];
var _local11 = Main.nTileSize;
var _local3 = this.mcScene.aTiles[nTileY][nTileX];
var _local6 = _local3.nOrientation;
if (_local3.sType != "distributor") {
if (_local3.sType == "wall") {
this.bounceBall(_local3, sSide);
} else if (_local3.sType == "dWall") {
var _local17 = new Object({x:this.nPrevX, y:this.nPrevY});
this.mcScene.myLocalToGlobal(_local17);
_local3.myGlobalToLocal(_local17);
_local17.x = _local17.x - (((_local6 == 0) || (_local6 == 3)) ? 32 : 0);
_local17.y = _local17.y - (((_local6 == 0) || (_local6 == 1)) ? 32 : 0);
var _local41 = Math.atan2(_local17.x, -_local17.y);
var _local15 = (180 * _local41) / Math.PI;
_local15 = ((360 + _local15) % 360) + 4;
var _local33 = ((360 + (_local6 * 90)) % 361) + 4;
var _local42 = (270 + (_local6 * 90)) % 360;
if ((_local15 < _local33) && (_local15 > _local42)) {
if (bCenter || ((this.nX > _local3._x) && (this.nX < (_local3._x + _local11)))) {
this.setSides(_local6);
var _local18 = new Array(-1, 1, -1, 1);
var _local20 = new Array(20, -12, 46, 12);
var _local27 = new Array(-1, -1, 1, 1);
var _local4 = new Object({x:this.nSpeedX, y:this.nSpeedY});
var _local12 = new Object({x:this.nX, y:this.nY});
this.mcScene.myLocalToGlobal(_local12);
_local3.myGlobalToLocal(_local12);
if ((_local12.y * _local27[_local6]) < (((_local18[_local6] * _local12.x) + _local20[_local6]) * _local27[_local6])) {
var _local49 = _local3.nOrientation * 90;
var _local9 = this.createEmptyMovieClip("mcDump", 0);
_local9._rotation = 45 - _local49;
_local9.myLocalToGlobal(_local4);
this.myGlobalToLocal(_local4);
var _local19 = Math.sqrt((_local4.x * _local4.x) + (_local4.y * _local4.y));
_local19 = _local19 / this.nMaxSpeedX;
_local4.y = -_local4.y;
_local4.y = _local4.y + ((1 - _local19) * 3);
_local4.y = ((_local4.y > 0) ? 0 : (_local4.y));
this.myLocalToGlobal(_local4);
_local9.myGlobalToLocal(_local4);
_local9._rotation = 0;
_local9.myLocalToGlobal(_local4);
this.myGlobalToLocal(_local4);
this.nSpeedX = _local4.x;
this.nSpeedY = _local4.y;
var _local32 = ((_local18[_local6] * _local12.x) + _local12.y) - _local20[_local6];
var _local28 = _local32 * 0.5;
var _local40 = _local18[_local6] * _local28;
_local12 = {x:_local40, y:_local28 + _local20[_local6]};
_local3.myLocalToGlobal(_local12);
this.mcScene.myGlobalToLocal(_local12);
this.nX = _local12.x;
this.nY = _local12.y;
this._x = this.nX;
this._y = this.nY;
}
}
} else {
this.bounceBall(_local3, sSide);
}
} else if (_local3.sType == "convex") {
var _local17 = new Object({x:this.nPrevX, y:this.nPrevY});
this.mcScene.myLocalToGlobal(_local17);
_local3.myGlobalToLocal(_local17);
_local17.x = _local17.x - (((_local3.nOrientation == 0) || (_local3.nOrientation == 3)) ? 32 : 0);
_local17.y = _local17.y - (((_local3.nOrientation == 0) || (_local3.nOrientation == 1)) ? 32 : 0);
var _local41 = Math.atan2(_local17.x, -_local17.y);
var _local15 = (180 * _local41) / Math.PI;
_local15 = (360 + _local15) % 360;
if ((_local15 < ((360 + (_local3.nOrientation * 90)) % 361)) && (_local15 > ((270 + (_local3.nOrientation * 90)) % 360))) {
if (bCenter) {
this.setSides(_local3.nOrientation);
}
var _local4 = new Object({x:this.nSpeedX, y:this.nSpeedY});
var _local12 = new Object({x:this.nX, y:this.nY});
this.mcScene.myLocalToGlobal(_local12);
_local3.myGlobalToLocal(_local12);
var _local22 = (((_local3.nOrientation == 0) || (_local3.nOrientation == 3)) ? 32 : 0);
var _local21 = (((_local3.nOrientation == 0) || (_local3.nOrientation == 1)) ? 32 : 0);
_local12.x = _local12.x - _local22;
_local12.y = _local12.y - _local21;
var _local43 = Math.sqrt((_local12.x * _local12.x) + (_local12.y * _local12.y));
var _local14 = 41;
if (_local43 < _local14) {
var _local29 = Math.atan2(_local12.x, -_local12.y);
var _local38 = (180 * _local29) / Math.PI;
var _local49 = _local3.nOrientation * 90;
var _local9 = this.createEmptyMovieClip("mcDump", 0);
_local9._rotation = -_local38;
_local9.myLocalToGlobal(_local4);
this.myGlobalToLocal(_local4);
_local9.myLocalToGlobal(_local12);
this.myGlobalToLocal(_local12);
var _local13 = Math.abs(_local4.y) / Math.abs(_local4.x);
_local4.y = -_local4.y;
this.myLocalToGlobal(_local4);
_local9.myGlobalToLocal(_local4);
_local9._rotation = 0;
_local9.myLocalToGlobal(_local4);
this.myGlobalToLocal(_local4);
var _local30 = ((_local13 > 1) ? 0.5 : 0.9);
this.nSpeedX = _local4.x * _local30;
this.nSpeedY = _local4.y * _local30;
_local14 = _local14 + 0.2;
_local12 = new Object({x:_local22 + (_local14 * Math.sin(_local29)), y:_local21 - (_local14 * Math.cos(_local29))});
_local3.myLocalToGlobal(_local12);
this.mcScene.myGlobalToLocal(_local12);
this.nX = _local12.x;
this.nY = _local12.y;
this._x = this.nX;
this._y = this.nY;
_local9.removeMovieClip();
}
} else {
this.bounceBall(_local3, sSide);
}
} else if (_local3.sType == "concave") {
var _local46 = new Array(["bottom", "bottom"], ["bottom", "bottom"]);
var _local12 = new Object({x:this.nX, y:this.nY});
this.mcScene.myLocalToGlobal(_local12);
_local3.myGlobalToLocal(_local12);
var _local17 = new Object({x:this.nPrevX, y:this.nPrevY});
this.mcScene.myLocalToGlobal(_local17);
_local3.myGlobalToLocal(_local17);
_local17.x = _local17.x - (((_local3.nOrientation == 0) || (_local3.nOrientation == 3)) ? 32 : 0);
_local17.y = _local17.y - (((_local3.nOrientation == 0) || (_local3.nOrientation == 1)) ? 32 : 0);
var _local41 = Math.atan2(_local17.x, -_local17.y);
var _local15 = (180 * _local41) / Math.PI;
_local15 = (360 + _local15) % 360;
if ((((_local15 < ((360 + (_local6 * 90)) % 361)) && (_local15 > ((270 + (_local6 * 90)) % 360))) || ((((_local3.nOrientation == 0) && (sSide == "bottom")) && (_local12.x < 32)) && (_local12.y < -2))) || ((((_local3.nOrientation == 1) && (sSide == "bottom")) && (_local12.x > 0)) && (_local12.y < -2))) {
if (bCenter) {
this.setSides(_local3.nOrientation);
var _local4 = new Object({x:this.nSpeedX, y:this.nSpeedY});
var _local22 = (((_local3.nOrientation == 0) || (_local3.nOrientation == 3)) ? 0 : 32);
var _local21 = (((_local3.nOrientation == 0) || (_local3.nOrientation == 1)) ? 0 : 32);
_local12.x = _local12.x - _local22;
_local12.y = _local12.y - _local21;
var _local43 = Math.sqrt((_local12.x * _local12.x) + (_local12.y * _local12.y));
var _local8 = new Object({x:this.nX + this.nSpeedX, y:this.nY + this.nSpeedY});
this.mcScene.myLocalToGlobal(_local8);
_local3.myGlobalToLocal(_local8);
_local8.x = _local8.x - _local22;
_local8.y = _local8.y - _local21;
var _local34 = Math.sqrt((_local8.x * _local8.x) + (_local8.y * _local8.y));
var _local14 = 22;
if ((_local43 > _local14) || (_local34 > _local14)) {
var _local29 = Math.atan2(_local12.x, -_local12.y);
var _local38 = (180 * _local29) / Math.PI;
var _local49 = _local3.nOrientation * 90;
var _local9 = this.createEmptyMovieClip("mcDump", 0);
_local9._rotation = -_local38;
_local9.myLocalToGlobal(_local4);
this.myGlobalToLocal(_local4);
_local9.myLocalToGlobal(_local12);
this.myGlobalToLocal(_local12);
var _local19 = Math.sqrt((_local4.x * _local4.x) + (_local4.y * _local4.y));
_local19 = _local19 / this.nMaxSpeedX;
_local4.y = -_local4.y;
var nPrevY = _local4.y;
_local4.y = _local4.y - ((1 - _local19) * 5);
_local4.y = ((_local4.y < 0) ? 0 : _local4.y);
var _local44 = _local4.y - nPrevY;
var nDirection = (Math.abs(_local4.x) / _local4.x);
_local4.x = _local4.x - (((nDirection * _local44) * _local19) * 1.2);
this.myLocalToGlobal(_local4);
_local9.myGlobalToLocal(_local4);
_local9._rotation = 0;
_local9.myLocalToGlobal(_local4);
this.myGlobalToLocal(_local4);
var _local30 = 1;
this.nSpeedX = _local4.x * _local30;
this.nSpeedY = _local4.y * _local30;
_local12 = new Object({x:_local22 + (_local14 * Math.sin(_local29)), y:_local21 - (_local14 * Math.cos(_local29))});
_local3.myLocalToGlobal(_local12);
this.mcScene.myGlobalToLocal(_local12);
this.nX = _local12.x;
this.nY = _local12.y;
this._x = this.nX;
this._y = this.nY;
_local9.removeMovieClip();
}
}
} else {
_root.tfDebug.text = _root.tfDebug.text + (((sSide + " ") + _local15) + newline);
this.bounceBall(_local3, sSide);
}
} else if (_local3.sType == "lBouncer") {
if ((_local3.nOrientation == 0) && (sSide == "bottom")) {
this.nSpeedY = -Math.abs(this.nSpeedY);
this.nSpeedY = this.nSpeedY - 18;
_local3.mcSymbol.mcSpring.play();
Main.mcSounds.playSound("bouncer");
} else if ((_local3.nOrientation == 1) && (sSide == "left")) {
this.nSpeedX = Math.abs(this.nSpeedX);
this.nSpeedX = this.nSpeedX + 18;
_local3.mcSymbol.mcSpring.play();
Main.mcSounds.playSound("bouncer");
} else if ((_local3.nOrientation == 2) && (sSide == "top")) {
this.nSpeedY = Math.abs(this.nSpeedY);
this.nSpeedY = this.nSpeedY + 18;
_local3.mcSymbol.mcSpring.play();
Main.mcSounds.playSound("bouncer");
} else if ((_local3.nOrientation == 3) && (sSide == "right")) {
this.nSpeedX = -Math.abs(this.nSpeedX);
this.nSpeedX = this.nSpeedX - 18;
_local3.mcSymbol.mcSpring.play();
Main.mcSounds.playSound("bouncer");
} else {
this.bounceBall(_local3, sSide);
}
this.limitSpeed();
} else if (_local3.sType == "dBouncer") {
var _local17 = new Object({x:this.nPrevX, y:this.nPrevY});
this.mcScene.myLocalToGlobal(_local17);
_local3.myGlobalToLocal(_local17);
_local17.x = _local17.x - (((_local3.nOrientation == 0) || (_local3.nOrientation == 3)) ? 32 : 0);
_local17.y = _local17.y - (((_local3.nOrientation == 0) || (_local3.nOrientation == 1)) ? 32 : 0);
var _local41 = Math.atan2(_local17.x, -_local17.y);
var _local15 = (180 * _local41) / Math.PI;
_local15 = (360 + _local15) % 360;
if ((_local15 < ((360 + (_local3.nOrientation * 90)) % 361)) && (_local15 > ((270 + (_local3.nOrientation * 90)) % 360))) {
if (_local3.mcSymbol.mcSpring._currentframe != 2) {
var _local29 = (Math.PI * (-45 + (90 * _local3.nOrientation))) / 180;
this.nSpeedX = this.nSpeedX + (17 * Math.sin(_local29));
this.nSpeedY = this.nSpeedY + (-27 * Math.cos(_local29));
this.limitSpeed();
_local3.mcSymbol.mcSpring.play();
Main.mcSounds.playSound("bouncer");
}
} else {
this.bounceBall(_local3, sSide);
}
} else if (_local3.sType == "oBouncer") {
var _local10 = this.mcScene._parent;
var _local31 = 100;
_local10.nLevelPoints = _local10.nLevelPoints + _local31;
_local10.tfLevelPoints.text = _local10.nLevelPoints;
_local10.mcLevelPoints.mcScore.tfScore.text = _local10.nLevelPoints;
_local10.mcLevelPoints.gotoAndPlay("on");
_local10.bonusCloud(nTileX, nTileY, _local31);
var _local12 = new Object({x:this.nX, y:this.nY});
this.mcScene.myLocalToGlobal(_local12);
_local3.myGlobalToLocal(_local12);
_local12.x = _local12.x - 16;
_local12.y = _local12.y - 16;
var _local29 = Math.atan2(_local12.x, -_local12.y);
this.nSpeedX = this.nSpeedX + (18 * Math.sin(_local29));
this.nSpeedY = this.nSpeedY + (-18 * Math.cos(_local29));
_local3.mcSpring.play();
Main.mcSounds.playSound("starBonus");
} else if (_local3.sType == "fan") {
this.bounceBall(_local3, sSide);
} else if (_local3.sType == "led") {
if (bCenter && (this.mcPrevChecked != _local3)) {
_local3.switchLed("game");
}
} else if (_local3.sType == "star") {
if (bCenter && (this.mcPrevChecked != _local3)) {
_local3.switchStar("game");
}
} else if (_local3.sType == "plate") {
if ((_local3.nOrientation == 0) && ((sSide == "bottom") || (sSide == "top"))) {
var _local12 = new Object({x:this.nX, y:this.nY});
this.mcScene.myLocalToGlobal(_local12);
_local3.myGlobalToLocal(_local12);
if ((_local12.x > 25) || ((_local12.x + this.nSpeedX) > 25)) {
this.nX = _local3._x + (25 * (_local11 / 32));
this.nSpeedX = (-this.nBounce) * Math.abs(this.nSpeedX);
} else if ((_local12.x < 7) || ((_local12.x + this.nSpeedX) < 7)) {
this.nX = _local3._x + (7 * (_local11 / 32));
this.nSpeedX = this.nBounce * Math.abs(this.nSpeedX);
}
if (bCenter) {
if (this.mcPrevChecked != _local3) {
var _local10 = this.mcScene._parent;
var _local31 = 10 + Math.abs(Math.round(this.nSpeedY * 20));
_local10.nLevelPoints = _local10.nLevelPoints + _local31;
_local10.tfLevelPoints.text = _local10.nLevelPoints;
_local10.mcLevelPoints.mcScore.tfScore.text = _local10.nLevelPoints;
_local10.mcLevelPoints.gotoAndPlay("on");
Main.mcSounds.playSound("scoreUp");
_local10.bonusCloud(nTileX, nTileY, _local31);
}
var _local23 = _local3.mcSymbol.mcPlate;
var _local37 = (360 * _local23._currentframe) / _local23._totalframes;
var _local16 = 10 * Math.sin((Math.PI * _local37) / 180);
var _local17 = new Object({x:this.nPrevX, y:this.nPrevY});
this.mcScene.myLocalToGlobal(_local17);
_local3.myGlobalToLocal(_local17);
if (this.nSpeedY > 0) {
var _local26 = (16 - _local12.y) - 6;
var _local35 = (16 - _local17.y) - 6;
if ((_local26 < _local16) && (_local35 > _local16)) {
var nAngle = ((90 * _local26) / 16);
var _local36 = 1 + Math.round(nAngle / 360);
}
} else {
var _local26 = (16 - _local12.y) + 6;
var _local35 = (16 - _local17.y) + 6;
if ((_local26 > _local16) && (_local35 < _local16)) {
var nAngle = ((90 * _local26) / 16);
var _local36 = 1 + Math.round(nAngle / 360);
}
}
_local23.gotoAndStop(_local36);
_local3.rotatePlate(this.nSpeedY);
}
} else if ((_local3.nOrientation == 1) && ((sSide == "left") || (sSide == "right"))) {
var _local12 = new Object({x:this.nX, y:this.nY});
this.mcScene.myLocalToGlobal(_local12);
_local3.myGlobalToLocal(_local12);
if ((_local12.y > 23) || ((_local12.y + this.nSpeedY) > 23)) {
this.nY = _local3._y + (23 * (_local11 / 32));
this.nSpeedY = (-this.nBounce) * Math.abs(this.nSpeedY);
} else if ((_local12.y < 7) || ((_local12.y + this.nSpeedY) < 7)) {
this.nY = _local3._y + (7 * (_local11 / 32));
this.nSpeedY = this.nBounce * Math.abs(this.nSpeedY);
}
if (bCenter) {
if (this.mcPrevChecked != _local3) {
var _local10 = this.mcScene._parent;
var _local31 = 10 + Math.abs(Math.round(this.nSpeedX * 20));
_local10.nLevelPoints = _local10.nLevelPoints + _local31;
_local10.tfLevelPoints.text = _local10.nLevelPoints;
_local10.mcLevelPoints.mcScore.tfScore.text = _local10.nLevelPoints;
_local10.mcLevelPoints.gotoAndPlay("on");
Main.mcSounds.playSound("scoreUp");
_local10.bonusCloud(nTileX, nTileY, _local31);
}
var _local23 = _local3.mcSymbol.mcPlate;
var _local37 = (360 * _local23._currentframe) / _local23._totalframes;
var _local16 = 10 * Math.sin((Math.PI * _local37) / 180);
var _local17 = new Object({x:this.nPrevX, y:this.nPrevY});
this.mcScene.myLocalToGlobal(_local17);
_local3.myGlobalToLocal(_local17);
if (this.nSpeedX > 0) {
var _local26 = (16 - _local12.x) - 6;
var _local35 = (16 - _local17.x) - 6;
if ((_local26 < _local16) && (_local35 > _local16)) {
var nAngle = ((90 * _local26) / 16);
var _local36 = 1 + Math.round(nAngle / 360);
}
} else {
var _local26 = (16 - _local12.x) + 6;
var _local35 = (16 - _local17.x) + 6;
if ((_local26 > _local16) && (_local35 < _local16)) {
var nAngle = ((90 * _local26) / 16);
var _local36 = 1 + Math.round(nAngle / 360);
}
}
_local23.gotoAndStop(_local36);
_local3.rotatePlate(this.nSpeedX);
}
} else {
this.bounceBall(_local3, sSide);
}
} else if (_local3.sType == "hole") {
if ((bCenter && (this.mcPrevChecked != _local3)) && (this.mcHole != _local3)) {
this.mcScene.ballInHole(_local3);
} else {
this.mcHole = null;
}
} else if (_local3.sType == "flipper") {
var _local13 = ((_local3.nOrientation == 0) ? 1 : -1);
var nAngle = _local3.mcSymbol.mcFlipper._rotation;
var _local17 = new Object({x:this.nPrevX, y:this.nPrevY});
this.mcScene.myLocalToGlobal(_local17);
_local3.mcSymbol.mcFlipper.myGlobalToLocal(_local17);
if (((_local3.nOrientation == 1) && (_local17.y < 6)) || ((_local3.nOrientation == 0) && (_local17.y > -6))) {
if (bCenter) {
this.setSides(_local3.nOrientation);
}
var _local12 = new Object({x:this.nX, y:this.nY});
this.mcScene.myLocalToGlobal(_local12);
_local3.mcSymbol.mcFlipper.myGlobalToLocal(_local12);
if (((((_local3.nOrientation == 1) && (_local12.y < 6)) || ((_local3.nOrientation == 0) && (_local12.y > -6))) && (_local12.x > 0)) && (_local12.x < 24)) {
var nDirection = ((_local3.nOrientation == 0) ? 1 : -1);
var nInd = -1;
_local12.y = _local13 * 7;
_local12.x = _local12.x + 2;
this.nSpeedX = (-_local13) * ((this.nBounce * Math.abs(this.nSpeedX)) + (_local12.x * 0.5));
this.nSpeedY = ((-this.nBounce) * Math.abs(this.nSpeedY)) - (_local12.x * 0.5);
this.limitSpeed();
_local3.mcSymbol.mcFlipper.myLocalToGlobal(_local12);
this.mcScene.myGlobalToLocal(_local12);
this.nX = _local12.x;
this.nY = _local12.y;
this.nPrevX = this.nX;
this.nPrevY = this.nY;
this._x = this.nX;
this._y = this.nY;
Main.mcSounds.playSound("fliper");
if (!_local3.onEnterFrame) {
_local3.onEnterFrame = function () {
if (nInd < 0) {
nInd++;
} else if (nInd < 3) {
nInd++;
nAngle = nAngle + (15 * nDirection);
} else if (nInd < 6) {
nInd++;
nAngle = nAngle - (15 * nDirection);
} else {
delete this.onEnterFrame;
}
this.mcSymbol.mcFlipper._rotation = nAngle;
};
}
} else if ((_local12.x < 0) && (this.nY > _local3._y)) {
sSide = ((_local3.nOrientation == 0) ? "left" : "right");
this.bounceBall(_local3, sSide);
this.playBounce();
}
} else {
if (bCenter) {
this.setSides(_local3.nOrientation);
}
var _local12 = new Object({x:this.nX, y:this.nY});
this.mcScene.myLocalToGlobal(_local12);
_local3.mcSymbol.mcFlipper.myGlobalToLocal(_local12);
if ((((_local3.nOrientation == 1) && (_local12.y < 6)) || ((_local3.nOrientation == 0) && (_local12.y > -6))) && (_local12.x < 24)) {
_local12.y = (-_local13) * 6;
var _local39 = this.nSpeedX;
this.nSpeedX = (_local13 * this.nBounce) * Math.abs(this.nSpeedY);
this.nSpeedY = this.nBounce * Math.abs(_local39);
this.limitSpeed();
_local3.mcSymbol.mcFlipper.myLocalToGlobal(_local12);
this.mcScene.myGlobalToLocal(_local12);
this.nX = _local12.x;
this.nY = _local12.y;
this.nPrevX = this.nX;
this.nPrevY = this.nY;
this._x = this.nX;
this._y = this.nY;
}
}
} else if (_local3.sType == "exit") {
var _local12 = new Object({x:this.nX, y:this.nY});
this.mcScene.myLocalToGlobal(_local12);
_local3.myGlobalToLocal(_local12);
if (((_local12.x > 0) && (_local12.x < 32)) && (_local12.y > 0)) {
this.mcScene.ballInExit(_local3);
}
}
}
};
Ball.prototype.bounceBall = function (mcTile, sSide) {
var _local2 = Main.nTileSize;
switch (sSide) {
case "left" :
this.nX = (mcTile._x + _local2) + (this.nWidth / 2);
this.nY = this.nPrevY;
this.nSpeedX = this.nBounce * Math.abs(this.nSpeedX);
if (Math.abs(this.nSpeedX) > 1) {
this.playBounce();
}
break;
case "right" :
this.nX = mcTile._x - (this.nWidth / 2);
this.nY = this.nPrevY;
this.nSpeedX = (-this.nBounce) * Math.abs(this.nSpeedX);
if (Math.abs(this.nSpeedX) > 1) {
this.playBounce();
}
break;
case "bottom" :
this.nY = mcTile._y - (this.nHeight / 2);
this.nSpeedX = this.nSpeedX * this.nGroundDrag;
this.nSpeedY = (-this.nBounce) * Math.abs(this.nSpeedY);
if (Math.abs(this.nSpeedY) > 1) {
this.playBounce();
}
break;
case "top" :
this.nX = this.nPrevX;
this.nSpeedX = this.nSpeedX * this.nGroundDrag;
this.nY = (mcTile._y + _local2) + (this.nHeight / 2);
this.nSpeedY = this.nBounce * Math.abs(this.nSpeedY);
if (Math.abs(this.nSpeedY) <= 1) {
break;
}
this.playBounce();
}
this._x = this.nX;
this._y = this.nY;
};
Ball.prototype.getSide = function (mcTile) {
var _local5 = Main.nTileSize;
var _local4 = this.mcScene.aLevel;
if (this.nSpeedY >= 0) {
if (((this.nPrevX > mcTile._x) && (this.nPrevX < (mcTile._x + _local5))) && (this.nPrevY < mcTile._y)) {
return("bottom");
}
if (this.nSpeedX > 0) {
var _local3 = _local4[mcTile.nY][mcTile.nX - 1];
if ((mcTile.sType == "plate") && (mcTile.nOrientation == 0)) {
return("bottom");
}
if (((((((_local3 == 0) || (_local3 == 21)) || (_local3 == 20)) || ((mcTile.sType == "plate") && (mcTile.nOrientation == 1))) || (_local3 == 4)) || (_local3 == 6)) || (_local3 == 7)) {
return("right");
}
return("bottom");
}
var _local3 = _local4[mcTile.nY][mcTile.nX + 1];
if ((mcTile.sType == "plate") && (mcTile.nOrientation == 0)) {
return("bottom");
}
if (((((((_local3 == 0) || (_local3 == 21)) || (_local3 == 20)) || ((mcTile.sType == "plate") && (mcTile.nOrientation == 1))) || (_local3 == 4)) || (_local3 == 6)) || (_local3 == 7)) {
return("left");
}
return("bottom");
}
if (((this.nPrevX > mcTile._x) && (this.nPrevX < (mcTile._x + _local5))) && (this.nPrevY > (mcTile._y + _local5))) {
return("top");
}
if (this.nSpeedX > 0) {
var _local3 = _local4[mcTile.nY][mcTile.nX - 1];
if ((mcTile.sType == "plate") && (mcTile.nOrientation == 0)) {
debug("t1");
return("top");
}
if (((((((_local3 == 0) || (_local3 == 21)) || (_local3 == 20)) || ((mcTile.sType == "plate") && (mcTile.nOrientation == 1))) || (_local3 == 4)) || (_local3 == 6)) || (_local3 == 7)) {
return("right");
}
debug(_local3);
return("top");
}
var _local3 = _local4[mcTile.nY][mcTile.nX + 1];
if ((mcTile.sType == "plate") && (mcTile.nOrientation == 0)) {
return("top");
}
if (((((((_local3 == 0) || (_local3 == 21)) || (_local3 == 20)) || ((mcTile.sType == "plate") && (mcTile.nOrientation == 1))) || (_local3 == 4)) || (_local3 == 6)) || (_local3 == 7)) {
return("left");
}
return("top");
};
Ball.prototype.setSides = function (nOrientation) {
switch (nOrientation) {
case 0 :
this.aSides.right = false;
this.aSides.bottom = false;
break;
case 1 :
this.aSides.left = false;
this.aSides.bottom = false;
break;
case 2 :
this.aSides.lef = false;
this.aSides.top = false;
break;
case 3 :
this.aSides.right = false;
this.aSides.top = false;
}
};
Ball.prototype.limitSpeed = function (nOrientation) {
if (this.nSpeedX > this.nMaxSpeedX) {
this.nSpeedX = this.nMaxSpeedX;
} else if (this.nSpeedX < (-this.nMaxSpeedX)) {
this.nSpeedX = -this.nMaxSpeedX;
}
if (this.nSpeedY > this.nMaxSpeedY) {
this.nSpeedY = this.nMaxSpeedY;
} else if (this.nSpeedY < (-this.nMaxSpeedY)) {
this.nSpeedY = -this.nMaxSpeedY;
}
};
Ball.prototype.levelCompleted = function () {
delete this.onEnterFrame;
Main.mcSounds.playSound("roundBouncer");
var _local2 = this.mcScene._parent;
_local2.levelCompleted();
};
Ball.prototype.playBounce = function () {
var _local2 = 0.4 + ((4 * ((this.nSpeedX * this.nSpeedX) + (this.nSpeedY * this.nSpeedY))) / ((this.nMaxSpeedX * this.nMaxSpeedX) + (this.nMaxSpeedY * this.nMaxSpeedY)));
_local2 = _local2 * 100;
Main.mcSounds.aSounds.ballBounce.setVolume(_local2);
Main.mcSounds.playSound("ballBounce");
};
Ball.prototype.mouseSter = function () {
var me = this;
this.lst = new Object();
this.lst.onMouseDown = function () {
with (me) {
var aLevel = mcScene.aLevel;
var nLevelX = aLevel[0].length;
var nLevelY = aLevel.length;
var nTileSize = Main.nTileSize;
var nWidth05 = (nWidth * 0.5);
var nHeight05 = (nHeight * 0.5);
if (!bEnabled) {
return(0);
}
frame++;
nSpeedY = nSpeedY * nAirDrag;
nSpeedY = nSpeedY + nGravity;
nSpeedX = nSpeedX * nAirDrag;
limitSpeed();
nPrevX = nX;
nPrevY = nY;
nX = nX + nSpeedX;
nY = nY + nSpeedY;
_rotation = 0;
if (nX <= nWidth05) {
nX = nWidth05;
nY = nPrevY;
nSpeedX = nBounce * Math.abs(nSpeedX);
playBounce();
} else if (nX > ((nLevelX * nTileSize) - nWidth05)) {
nX = (nLevelX * nTileSize) - nWidth05;
nY = nPrevY;
nSpeedX = (-nBounce) * Math.abs(nSpeedX);
playBounce();
}
if (nY < nHeight05) {
nY = nHeight05;
nX = nPrevX;
nSpeedX = nSpeedX * nGroundDrag;
nSpeedY = nBounce * Math.abs(nSpeedY);
playBounce();
} else if (nY > ((nLevelY * nTileSize) - nHeight05)) {
nY = (nLevelY * nTileSize) - nHeight05;
nSpeedX = nSpeedX * nGroundDrag;
nSpeedY = (-nBounce) * Math.abs(nSpeedY);
if (Math.abs(nSpeedY) > 0.5) {
playBounce();
}
}
checkFans();
checkCollision();
_x = nX;
_y = nY;
}
};
Mouse.addListener(this.lst);
};
MovieClip.prototype.myLocalToGlobal = function (oPt) {
var _local4 = this;
var _local3 = new Object({x:oPt.x, y:oPt.y});
do {
var _local5 = (Math.PI * _local4._rotation) / 180;
var _local7 = (_local3.x * Math.cos(_local5)) - (_local3.y * Math.sin(_local5));
var _local6 = (_local3.x * Math.sin(_local5)) + (_local3.y * Math.cos(_local5));
_local3.x = _local4._x + ((_local7 * _local4._xscale) * 0.01);
_local3.y = _local4._y + ((_local6 * _local4._yscale) * 0.01);
_local3.x = Math.round(_local3.x * 1000) / 1000;
_local3.y = Math.round(_local3.y * 1000) / 1000;
_local4 = _local4._parent;
} while (_local4 != _root);
oPt.x = _local3.x;
oPt.y = _local3.y;
return(oPt);
};
MovieClip.prototype.myGlobalToLocal = function (oPt) {
var _local6 = this;
var _local7 = new Array();
do {
_local7.unshift(_local6);
_local6 = _local6._parent;
} while (_local6 != _root);
var _local3 = new Object({x:oPt.x, y:oPt.y});
do {
var _local4 = _local7.shift();
var _local5 = (-3.14159265358979 * _local4._rotation) / 180;
var _local9 = ((_local3.x - _local4._x) * Math.cos(_local5)) - ((_local3.y - _local4._y) * Math.sin(_local5));
var _local8 = ((_local3.x - _local4._x) * Math.sin(_local5)) + ((_local3.y - _local4._y) * Math.cos(_local5));
_local3.x = (_local9 / _local4._xscale) * 100;
_local3.y = (_local8 / _local4._yscale) * 100;
_local3.x = Math.round(_local3.x * 1000) / 1000;
_local3.y = Math.round(_local3.y * 1000) / 1000;
} while (_local7.length > 0);
oPt.x = _local3.x;
oPt.y = _local3.y;
return(oPt);
};
Object.registerClass("ball", Ball);
#endinitclip
Symbol 308 MovieClip [listTile] Frame 2
sType = "wall";
Symbol 308 MovieClip [listTile] Frame 3
sType = "wall";
Symbol 308 MovieClip [listTile] Frame 4
sType = "wall";
Symbol 308 MovieClip [listTile] Frame 5
sType = "led";
Symbol 308 MovieClip [listTile] Frame 6
sType = "plate";
Symbol 308 MovieClip [listTile] Frame 7
sType = "hole";
Symbol 308 MovieClip [listTile] Frame 8
sType = "star";
Symbol 308 MovieClip [listTile] Frame 21
sType = "distributor";
Symbol 308 MovieClip [listTile] Frame 22
sType = "exit";
Symbol 308 MovieClip [listTile] Frame 31
sType = "wall";
Symbol 308 MovieClip [listTile] Frame 32
sType = "dBouncer";
Symbol 308 MovieClip [listTile] Frame 33
sType = "lBouncer";
Symbol 308 MovieClip [listTile] Frame 34
sType = "oBouncer";
Symbol 308 MovieClip [listTile] Frame 35
sType = "fan";
Symbol 308 MovieClip [listTile] Frame 36
sType = "dWall";
Symbol 308 MovieClip [listTile] Frame 37
sType = "convex";
Symbol 308 MovieClip [listTile] Frame 38
sType = "concave";
Symbol 308 MovieClip [listTile] Frame 39
sType = "flipper";
Symbol 311 MovieClip [pointsCloud] Frame 25
this.removeMovieClip();
Symbol 317 MovieClip Frame 6
this.btnSkipIntro.onRelease = function () {
stopAllSounds();
_root.gotoAndStop("front");
};
Symbol 317 MovieClip Frame 238
_parent.gotoAndStop("front");
Symbol 381 Button
on (release) {
getURL ("http://kerb.killerviral.com/redir.php?urlId=372", "_blank");
}
Symbol 393 MovieClip Frame 8
stop();
Symbol 397 MovieClip Frame 10
stop();
Symbol 409 MovieClip [front] Frame 1
#initclip 24
function Front() {
}
Front.prototype = new MovieClip();
Front.prototype.init = function () {
var me = this;
this.btnPlay.onRelease = function () {
me.gotoAndPlay("instructionsOff");
this.onRelease = undefined;
};
this.btnInstructions.onRelease = function () {
me.gotoAndPlay("instructionsOff");
this.onRelease = undefined;
_global.bShowInstructions = true;
};
this.btnKerb.onRelease = Main.onClickKerbLogo;
this.mcMobClub.btnMobClub.onRelease = Main.onClickMobclubLoader;
};
Object.registerClass("front", Front);
#endinitclip
Symbol 409 MovieClip [front] Frame 2
this.gotoAndPlay("instructionsOn");
Symbol 409 MovieClip [front] Frame 89
stop();
this.init();
Symbol 409 MovieClip [front] Frame 190
_parent.gotoAndStop("game");
Symbol 445 MovieClip Frame 10
stop();
Symbol 446 MovieClip Frame 8
stop();
Symbol 447 MovieClip Frame 20
stop();
Symbol 498 MovieClip Frame 2
stop();
Symbol 498 MovieClip Frame 11
btnBlockade.useHandCursor = false;
Symbol 498 MovieClip Frame 23
stop();
btnPlay.onRelease = function () {
gotoAndPlay ("out");
};
btnPlay.onPress = function () {
Main.mcSounds.playSound("flipperButton");
};
btnGetTips.onRelease = function () {
getURL ("http://www.mobclub.com/community/forum/ReadTopic/33", "_blank");
_root.kvClick(364);
};
Symbol 509 MovieClip Frame 1
stop();
Symbol 514 MovieClip Frame 1
stop();
Symbol 530 MovieClip [scene] Frame 1
#initclip 28
function Scene() {
this.nDepth = 0;
this.aTiles = new Array();
this.aLeds = new Array();
this.aPlates = new Array();
this.aHoles = new Array();
this.aStars = new Array();
this.aLigthedStars = new Array();
}
Scene.prototype = new MovieClip();
Scene.prototype.init = function (aLevel, aRotations) {
this.aOrgLevel = new Array(aLevel.length);
var _local2 = 0;
while (_local2 < aLevel.length) {
this.aOrgLevel[_local2] = aLevel[_local2].concat();
_local2++;
}
this.aLevel = new Array(aLevel.length);
_local2 = 0;
while (_local2 < aLevel.length) {
this.aLevel[_local2] = aLevel[_local2].concat();
_local2++;
}
this.aOrgRotations = new Array(aRotations.length);
_local2 = 0;
while (_local2 < aRotations.length) {
this.aOrgRotations[_local2] = aRotations[_local2].slice();
_local2++;
}
this.aRotations = new Array(aRotations.length);
_local2 = 0;
while (_local2 < aRotations.length) {
this.aRotations[_local2] = aRotations[_local2].slice();
_local2++;
}
this.createLevel();
};
Scene.prototype.createLevel = function () {
var _local5 = 0;
while (_local5 < this.aOrgLevel.length) {
this.aTiles[_local5] = new Array(this.aOrgLevel[0].length);
var _local2 = 0;
while (_local2 < this.aOrgLevel[0].length) {
var _local4 = this.aOrgLevel[_local5][_local2];
var _local6 = this.aOrgRotations[_local5][_local2];
var _local3 = this.attachMovie("tile", "tile" + this.nDepth, this.nDepth);
_local3.init(_local2, _local5, _local6, _local4, Main.nTileSize, "noRemove", this);
this.aTiles[_local5][_local2] = _local3;
this.nDepth++;
if (_local4 == 4) {
this.aLeds.push(_local3);
}
if (_local4 == 5) {
this.aPlates.push(_local3);
}
if (_local4 == 6) {
if (!this.aHoles[_local6]) {
this.aHoles[_local6] = new Array();
}
this.aHoles[_local6].push(_local3);
}
if (_local4 == 7) {
this.aStars.push(_local3);
}
if (_local4 == 20) {
var nDepth = 901;
var _local7 = this.attachMovie("ball", "mcBall", nDepth);
_local7._x = (_local2 + 0.5) * Main.nTileSize;
_local7._y = (_local5 + 0.5) * Main.nTileSize;
_local7.init(this);
}
_local2++;
}
_local5++;
}
if (Main.isSolved(Main.nLevel)) {
this.placeTiles(Main.getTiles(Main.nLevel));
}
};
Scene.prototype.resetLevel = function () {
delete this.onEnterFrame;
this.mcBall.reset();
this._parent.nLevelPoints = 0;
this._parent.mcLevelPoints.mcScore.tfScore.text = 0;
var _local2 = 0;
while (_local2 < this.aLeds.length) {
this.aLeds[_local2].bEnabled = true;
this.aLeds[_local2].bLED = true;
this.aLeds[_local2].switchLed("reset");
_local2++;
}
_local2 = 0;
while (_local2 < this.aPlates.length) {
delete this.aPlates[_local2].onEnterFrame;
this.aPlates[_local2].mcSymbol.mcPlate.gotoAndStop(1);
_local2++;
}
this._parent.mcBGLogo.mcLogo.mcStar0.gotoAndStop("off");
this._parent.mcBGLogo.mcLogo.mcStar1.gotoAndStop("off");
this._parent.mcBGLogo.mcLogo.mcStar2.gotoAndStop("off");
this._parent.nStars = 0;
this.aLigthedStars = new Array();
this._parent.mcBackground.mcGeneric.gotoAndStop("off");
this.resetStars();
};
Scene.prototype.clearLevel = function () {
trace("scene > clearLevel()");
delete this.onEnterFrame;
this.mcBall.reset();
this.aLigthedStars = new Array();
var _local3 = 0;
while (_local3 < this.aOrgLevel.length) {
var _local2 = 0;
while (_local2 < this.aOrgLevel[0].length) {
if ((this.aLevel[_local3][_local2] != this.aOrgLevel[_local3][_local2]) || (this.aRotations[_local3][_local2] != this.aOrgRotations[_local3][_local2])) {
this.removeTile(this.aTiles[_local3][_local2], true);
this.aLevel[_local3][_local2] = this.aOrgLevel[_local3][_local2];
this.aRotations[_local3][_local2] = this.aOrgRotations[_local3][_local2];
}
if (this.aTiles[_local3][_local2].sType == "led") {
this.aTiles[_local3][_local2].bEnabled = true;
this.aTiles[_local3][_local2].bLED = true;
this.aTiles[_local3][_local2].switchLed("reset");
}
if (this.aTiles[_local3][_local2].sType == "plate") {
delete this.aTiles[_local3][_local2].onEnterFrame;
this.aTiles[_local3][_local2].mcSymbol.mcPlate.gotoAndStop(1);
}
_local2++;
}
_local3++;
}
};
Scene.prototype.putTile = function (nX, nY, nOrientation, nTileNr, nIndex) {
var _local4 = this.aTiles[nY][nX].getDepth();
this.aTiles[nY][nX].removeMovieClip();
var _local5 = this.attachMovie("tile", "tile" + _local4, _local4);
_local5.init(nX, nY, nOrientation, nTileNr, Main.nTileSize, "remove", this);
this.aLevel[nY][nX] = nTileNr;
this.aRotations[nY][nX] = nOrientation;
this.aTiles[nY][nX] = _local5;
};
Scene.prototype.removeTile = function (mcTile, bIncrase) {
var _local6 = mcTile.nX;
var _local5 = mcTile.nY;
var _local10 = 0;
var _local4 = mcTile.nTileNr;
var _local8 = mcTile.getDepth();
mcTile.removeMovieClip();
var _local9 = 0;
mcTile = this.attachMovie("tile", "tile" + _local8, _local8);
mcTile.init(_local6, _local5, _local10, _local9, Main.nTileSize, "noRemove", this);
this.aLevel[_local5][_local6] = _local9;
this.aRotations[_local5][_local6] = _local10;
this.aTiles[_local5][_local6] = mcTile;
if (bIncrase) {
var _local3 = this._parent;
var _local11 = _local3.mcTilesList["tile" + _local4];
_local11.count++;
var _local2 = 0;
while (_local3.aListTiles[_local2].tile != _local4) {
_local2++;
}
_local3.aListTiles[_local2].nr++;
}
};
Scene.prototype.setTilesState = function (bState) {
var _local3 = 0;
while (_local3 < this.aLevel.length) {
var _local2 = 0;
while (_local2 < this.aLevel[0].length) {
if (this.aTiles[_local3][_local2].sMode == "remove") {
this.aTiles[_local3][_local2].btnMove.enabled = bState;
this.aTiles[_local3][_local2].btnTrash.enabled = bState;
}
_local2++;
}
_local3++;
}
};
Scene.prototype.checkLedBonus = function (nX, nY) {
if (this.aLeds.length > 0) {
var _local4 = true;
var _local2 = 0;
while (_local2 < this.aLeds.length) {
if (!this.aLeds[_local2].bLED) {
_local4 = false;
break;
}
_local2++;
}
} else {
var _local4 = false;
}
if (_local4) {
var _local2 = 0;
while (_local2 < this.aLeds.length) {
this.aLeds[_local2].bEnabled = false;
_local2++;
}
var _local3 = this._parent;
_local3.nLevelPoints = _local3.nLevelPoints + _local3.nLedBonus;
_local3.mcLevelPoints.mcScore.tfScore.text = _local3.nLevelPoints;
_local3.mcLevelPoints.gotoAndPlay("on");
_local3.bonusCloud(nX, nY, _local3.nLedBonus);
Main.mcSounds.playSound("ledBonus");
}
};
Scene.prototype.ballInHole = function (mcHole) {
var _local4 = this;
var mcBall = this.mcBall;
var _local2 = mcHole.nOrientation;
if (this.aHoles[_local2][0] != mcHole) {
var mcDestHole = this.aHoles[_local2][0];
} else {
var mcDestHole = this.aHoles[_local2][1];
}
mcBall.bEnabled = false;
mcBall.mcHole = mcDestHole;
mcBall.nSpeedX = 0;
mcBall.nSpeedY = 0;
var nCenterX = (mcHole._x + (Main.nTileSize * 0.5));
var nCenterY = (mcHole._y + (Main.nTileSize * 0.5));
Main.mcSounds.playSound("ballInHole");
var sMode = "center";
var nCounter = 10;
this.onEnterFrame = function () {
if (sMode == "center") {
mcBall._x = mcBall._x + ((nCenterX - mcBall._x) * 0.3);
mcBall._y = mcBall._y + ((nCenterY - mcBall._y) * 0.3);
if ((Math.abs(nCenterX - mcBall._x) < 0.5) && (Math.abs(nCenterY - mcBall._y) < 0.5)) {
mcBall._x = nCenterX;
mcBall._y = nCenterY;
sMode = "in";
Main.mcSounds.playSound("ballOutHole");
}
} else if (sMode == "in") {
mcBall._alpha = nCounter * 10;
mcBall._xscale = (mcBall._yscale = 70 + (nCounter * 3));
nCounter--;
if (nCounter < 0) {
sMode = "out";
mcBall.nX = mcDestHole._x + (Main.nTileSize * 0.5);
mcBall.nY = mcDestHole._y + (Main.nTileSize * 0.5);
mcBall.nPrevX = mcBall.nX;
mcBall.nPrevY = mcBall.nY;
mcBall._x = mcBall.nX;
mcBall._y = mcBall.nY;
nCounter = 0;
}
} else {
if (nCounter < 6) {
mcBall._alpha = nCounter * 20;
mcBall._xscale = (mcBall._yscale = 70 + (nCounter * 12));
} else if (nCounter < 11) {
mcBall._xscale = (mcBall._yscale = 100 + ((11 - nCounter) * 6));
} else {
mcBall._xscale = (mcBall._yscale = 100);
mcBall.nSpeedX = 0;
mcBall.nSpeedY = 0;
mcBall.bEnabled = true;
delete this.onEnterFrame;
}
nCounter++;
}
};
this.nPrevX = this.nX;
this.nPrevY = this.nY;
this._x = this.nX;
this._y = this.nY;
};
Scene.prototype.ballInExit = function (mcHole) {
var _local3 = this;
var mcBall = this.mcBall;
mcBall.bEnabled = false;
mcBall.nSpeedX = 0;
mcBall.nSpeedY = 0;
var nCenterX = (mcHole._x + (Main.nTileSize * 0.5));
var nCenterY = (mcHole._y + (Main.nTileSize * 0.5));
Main.mcSounds.playSound("ballInHole");
var sMode = "center";
var nCounter = 10;
this.onEnterFrame = function () {
if (sMode == "center") {
mcBall._x = mcBall._x + ((nCenterX - mcBall._x) * 0.3);
mcBall._y = mcBall._y + ((nCenterY - mcBall._y) * 0.3);
if ((Math.abs(nCenterX - mcBall._x) < 0.5) && (Math.abs(nCenterY - mcBall._y) < 0.5)) {
mcBall._x = nCenterX;
mcBall._y = nCenterY;
sMode = "in";
}
} else if (sMode == "in") {
mcBall._alpha = nCounter * 10;
mcBall._xscale = (mcBall._yscale = 70 + (nCounter * 3));
nCounter--;
if (nCounter < 0) {
delete this.onEnterFrame;
mcBall.levelCompleted();
}
}
};
this.nPrevX = this.nX;
this.nPrevY = this.nY;
this._x = this.nX;
this._y = this.nY;
};
Scene.prototype.resetStars = function () {
var _local2 = 0;
while (_local2 < this.aStars.length) {
this.aStars[_local2].bStar = false;
this.aStars[_local2].mcSymbol.gotoAndStop("off");
_local2++;
}
};
Scene.prototype.removeAll = function () {
for (var _local2 in this) {
this[_local2].removeMovieClip();
delete this[_local2];
}
this.nDepth = 0;
this.aTiles = new Array();
this.aLeds = new Array();
this.aPlates = new Array();
this.aHoles = new Array();
this.aStars = new Array();
this.aLigthedStars = new Array();
};
Scene.prototype.startBall = function () {
var _local4 = this.mcBall._x;
var _local3 = this.mcBall._y;
this.mcBall.removeMovieClip();
var _local2 = 901;
mcBall = this.attachMovie("ball", "mcBall", _local2);
mcBall._x = _local4;
mcBall._y = _local3;
mcBall.init(this);
mcBall.go();
};
Scene.prototype.placeTiles = function (aTiles) {
var _local5 = aTiles.length;
trace("len: " + _local5);
var _local3 = 0;
while (_local3 < _local5) {
var _local2 = aTiles[_local3];
this.putTile(_local2.x, _local2.y, _local2.rotation, _local2.id);
trace((_local3 + ": ") + [_local2.x, _local2.y, _local2.rotation, _local2.id]);
var _local4 = this._parent;
_local3++;
}
};
Scene.prototype.saveLevel = function () {
var _local9 = new Array();
var _local3 = 0;
while (_local3 < this.aOrgLevel.length) {
var _local2 = 0;
while (_local2 < this.aOrgLevel[0].length) {
if ((this.aLevel[_local3][_local2] != this.aOrgLevel[_local3][_local2]) || (this.aRotations[_local3][_local2] != this.aOrgRotations[_local3][_local2])) {
var _local4 = this.aTiles[_local3][_local2];
_local9.push({id:_local4.nTileNr, x:_local4.nX, y:_local4.nY, rotation:_local4.nOrientation});
}
_local2++;
}
_local3++;
}
Main.saveLevel(Main.nLevel, _local9);
};
Scene.prototype.restoreTilesList = function () {
var _local3 = 0;
while (_local3 < this.aOrgLevel.length) {
var _local2 = 0;
while (_local2 < this.aOrgLevel[0].length) {
if ((this.aLevel[_local3][_local2] != this.aOrgLevel[_local3][_local2]) || (this.aRotations[_local3][_local2] != this.aOrgRotations[_local3][_local2])) {
var _local5 = this._parent;
var _local6 = this.aTiles[_local3][_local2];
var _local4 = 0;
while (_local5.aListTiles[_local4].tile != _local6.nTileNr) {
_local4++;
}
_local5.aListTiles[_local4].nr++;
}
_local2++;
}
_local3++;
}
};
Object.registerClass("scene", Scene);
#endinitclip
Symbol 561 MovieClip [popupScore] Frame 1
#initclip 25
function Summary() {
}
Summary.prototype = new MovieClip();
Summary.prototype.setLevelHeader = function () {
var _local2 = (((Main.nLevel + 1) < 10) ? ("0" + (Main.nLevel + 1)) : (Main.nLevel + 1));
this.tfLevelHeader.text = ("LEVEL " + _local2) + " COMPLETED";
};
Summary.prototype.setTexts = function () {
var me = this;
this.tfTimeBonus.text = _global.nTimeBonus;
this.tfLevelPoints.text = _global.nLevelPoints;
var _local3 = Main.getScore(Main.nLevel);
var _local4 = _global.nLevelPoints + _global.nTimeBonus;
if (_local4 > _local3) {
Main.nPoints = Main.nPoints + (_local4 - _local3);
var _local5 = me._parent._parent;
_local5.mcScene.saveLevel();
}
this.tfTotalPoints.text = Main.nPoints;
Main.saveScore(Main.nLevel, _global.nLevelPoints + _global.nTimeBonus);
if ((Main.nLevel + 1) >= _global.nTotalLevels) {
this.btnNextLevel._visible = false;
this.btnContinue.onRelease = function () {
var _local2 = me._parent._parent;
_local2.showEnd();
_global.bSuccess = true;
};
} else {
_global.bSuccess = false;
this.btnContinue._visible = false;
this.btnNextLevel.onRelease = function () {
Main.nLevel++;
var _local2 = me._parent._parent;
_local2.prepareNewLevel();
me._parent.gotoAndPlay("out");
this.onRelease = undefined;
};
}
this.tfTimeBonus1.autoSize = "right";
this.tfTimeBonus1._y = (this.tfTimeBonus._y + 2) + (this.tfTimeBonus._height - this.tfTimeBonus1._height);
this.tfLevelPoints1.autoSize = "right";
this.tfLevelPoints1._y = (this.tfLevelPoints._y + 2) + (this.tfLevelPoints._height - this.tfLevelPoints1._height);
this.tfTotalPoints1.autoSize = "right";
this.tfTotalPoints1._y = (this.tfTotalPoints._y + 2) + (this.tfTotalPoints._height - this.tfTotalPoints1._height);
};
Summary.prototype.setPoints = function () {
var _local3 = this._parent._parent;
_local3.mcLevelPoints.mcScore.tfScore.text = _global.nLevelPoints;
_local3.mcLevelPoints.gotoAndPlay("on");
_local3.mcTotalPoints.mcScore.tfScore.text = Main.nPoints;
_local3.mcTotalPoints.gotoAndPlay("on");
Main.mcSounds.playSound("scoreUp");
};
Object.registerClass("popupScore", Summary);
#endinitclip
this.setLevelHeader();
Symbol 561 MovieClip [popupScore] Frame 2
this.setTexts();
this.setPoints();
Symbol 561 MovieClip [popupScore] Frame 15
stop();
Symbol 563 MovieClip Frame 1
stop();
Symbol 563 MovieClip Frame 25
stop();
mcPopUp.play();
Symbol 602 MovieClip [end] Frame 1
#initclip 26
function End() {
}
End.prototype = new MovieClip();
End.prototype.setPlayAgainButton = function () {
var me = this;
this.btnPlayAgain.onRelease = function () {
me.gotoAndPlay("out");
};
this.btnForum.onRelease = Main.onClickForum;
this.btnMobClub.onRelease = Main.onClickMobclubFooter;
};
End.prototype.playAgain = function () {
Main.resetVariables();
_root.gotoAndStop("front");
};
Object.registerClass("end", End);
#endinitclip
stop();
Symbol 602 MovieClip [end] Frame 32
_parent.mcDoors.gotoAndStop("off");
if (_global.bSuccess) {
gotoAndStop ("success");
}
Symbol 602 MovieClip [end] Frame 33
this.setPlayAgainButton();
stop();
Symbol 602 MovieClip [end] Frame 43
this.setPlayAgainButton();
Symbol 602 MovieClip [end] Frame 63
this.playAgain();
Symbol 612 MovieClip [game] Frame 1
#initclip 27
function Game() {
this.ATTEMPS_TO_SKIP = 3;
this.sMode = "project";
this.aWord;
this.nAttemp;
this.aSolvedLevels;
this.bSkipped = false;
this.mcScene;
this.mcArrows;
this.mcTakenTile;
this.mcTilesList;
this.mcBonusBar;
this.mcSelector;
this.mcInstructions;
Main.mcSounds.init();
}
Game.prototype = new MovieClip();
Game.prototype.initInstructions = function () {
if (_global.bShowInstructions) {
this.mcInstructions.gotoAndPlay("in");
}
_global.bShowInstructions = false;
};
Game.prototype.init = function () {
this.mcArrows.gotoAndStop("hide");
this.mcArrows._xscale = (this.mcArrows._yscale = (100 * Main.nTileSize) / 32);
this.mcTools.gotoAndStop("hide");
this.mcTools._xscale = (this.mcTools._yscale = (100 * Main.nTileSize) / 32);
this.btnStart.onRelease = function () {
this=this._parent;//parameter overwritten
this._parent;
Main.mcSounds.playSound("startButton");
this.changeMode("test");
};
this.btnStop.onRelease = function () {
this=this._parent;//parameter overwritten
this._parent;
this.changeMode("project");
};
this.btnStop.onPress = function () {
Main.mcSounds.playSound("flipperButton");
};
this.btnClear.onRelease = function () {
this=this._parent;//parameter overwritten
this._parent;
this.clearLevel();
};
this.btnClear.onPress = function () {
Main.mcSounds.playSound("flipperButton");
};
this.btnHelp.onRelease = function () {
this=this._parent;//parameter overwritten
this._parent;
this.mcInstructions.gotoAndPlay("in");
};
this.btnHelp.onPress = function () {
Main.mcSounds.playSound("flipperButton");
};
this.btnSkip.onRelease = function () {
this=this._parent;//parameter overwritten
this._parent;
this.bSkipped = true;
this.mcScene.mcBall.levelCompleted();
};
this.btnPrev.onRelease = function () {
this=this._parent;//parameter overwritten
this._parent;
if (Main.nLevel > 0) {
Main.nLevel--;
this.prepareNewLevel();
this.btnSkip._visible = true;
if (Main.nLevel == 0) {
this.btnPrev._visible = false;
}
}
};
this.btnMobClub.onRelease = Main.onClickMobclubGame;
this.nFPS = 32;
this.nFrame = 0;
this.nAttemp = 0;
this.nBonus = 1000;
this.nBonusStep = 1;
this.nPoints = 1000;
this.nLevelPoints = 0;
this.nLedBonus = 2000;
this.nStars = 0;
this.aProducts = aProducts;
this.mcTotalPoints.mcScore.tfScore.text = Main.nPoints;
this.mcLevelPoints.mcScore.tfScore.text = this.nLevelPoints;
this.mcLevel.tfLevel.text = (((Main.nLevel + 1) < 10) ? ("0" + (Main.nLevel + 1)) : (Main.nLevel + 1));
this.mcBonusBar.mcMask._xscale = 100;
this.btnStartStop._alpha = 100;
this.mcScene.init(this.aLevel[Main.nLevel], this.aRotations[Main.nLevel]);
this.aListTiles = this.aTiles[Main.nLevel].slice();
this.nMaxListTiles = 10;
this.nListPage = 0;
this.createList();
this.btnStop._visible = false;
this.btnSkip._visible = false;
this.btnPrev._visible = false;
this.aWord = new Array();
var me = this;
this.keyListener = new Object();
this.keyListener.onKeyDown = function () {
if (me.aWord.length == 5) {
me.aWord.shift();
}
me.aWord.push(String.fromCharCode(Key.getAscii()));
var _local1 = me.aWord.join("");
if (_local1 == "pawel") {
me.mcScene.mcBall.levelCompleted();
}
};
Key.addListener(this.keyListener);
this.startGame();
};
Game.prototype.startGame = function () {
this.startBonusTimer();
};
Game.prototype.createList = function () {
var me = this;
for (sName in this.mcTilesList) {
this.mcTilesList[sName].removeMovieClip();
}
for (var sName in this.mcTilesPanels) {
this.mcTilesPanels[sName]._visible = false;
}
var _local6 = this.nListPage * this.nMaxListTiles;
if ((this.aListTiles.length - _local6) > this.nMaxListTiles) {
var _local7 = this.nMaxListTiles;
} else {
var _local7 = this.aListTiles.length - _local6;
}
trace("nListLength: " + _local7);
var _local3 = 0;
while (_local3 < _local7) {
var _local4 = _local6 + _local3;
var sName = ("tile" + this.aListTiles[_local4].tile);
var _local2 = this.mcTilesList.attachMovie("listTile", sName, _local3);
_local2._x = _local3 * 55.5;
_local2._y = 0;
_local2.gotoAndStop(this.aListTiles[_local4].tile + 1);
_local2.mcSymbol.gotoAndStop(1);
_local2.nListIndex = _local4;
_local2.nTileNr = this.aListTiles[_local4].tile;
_local2.count = this.aListTiles[_local4].nr;
trace((_local3 + ": ") + this.aListTiles[_local4].nr);
_local2.nOrientation = 0;
this.stopMovie(_local2.mcSymbol);
_local2.btnTake.onPress = function () {
me.takeTile(this._parent);
};
_local2.btnRotate.onPress = function () {
var _local2 = this._parent;
var _local3 = _local2.mcSymbol._totalframes;
_local2.nOrientation = _local2.nOrientation + 1;
_local2.nOrientation = _local2.nOrientation % _local3;
_local2.mcSymbol.gotoAndStop(_local2.nOrientation + 1);
_local2.stopMovie(mcSymbol);
};
this.mcTilesPanels["mcPanel" + _local3]._visible = true;
_local3++;
}
};
Game.prototype.onReleaseStartStop = function () {
if (this.sMode == "test") {
this.changeMode("project");
} else {
this.changeMode("test");
}
};
Game.prototype.changeMode = function (sMode) {
this.sMode = sMode;
if (sMode == "test") {
this.btnStop.onRollOver = function () {
trace("wot");
};
this.btnStart._visible = false;
this.btnStop._visible = true;
this.btnClear.enabled = false;
this.btnClear._alpha = 70;
this.btnHelp.enabled = false;
this.btnHelp._alpha = 70;
this.btnPrev.enabled = false;
this.btnPrev._alpha = 70;
if (this.btnSkip._visible) {
this.btnSkip.enabled = false;
this.btnSkip._alpha = 70;
}
for (var _local3 in this.mcTilesList) {
var _local2 = this.mcTilesList[_local3];
_local2._alpha = 70;
_local2.btnTake.enabled = false;
}
this.mcScene.setTilesState(false);
this.mcScene.startBall();
this.stopBonusTimer();
} else {
this.nAttemp++;
if (this.nAttemp == this.ATTEMPS_TO_SKIP) {
this.btnSkip._visible = true;
}
this.mcScene.resetLevel();
this.btnStart._visible = true;
this.btnStop._visible = false;
this.btnClear.enabled = true;
this.btnClear._alpha = 100;
this.btnHelp.enabled = true;
this.btnHelp._alpha = 100;
this.btnPrev.enabled = true;
this.btnPrev._alpha = 100;
if (this.btnSkip._visible) {
this.btnSkip.enabled = true;
this.btnSkip._alpha = 100;
}
this.createList();
this.mcScene.setTilesState(true);
this.startBonusTimer();
this.nBonus = this.nBonus - 100;
this.decraseBonus();
this.blink(this.mcBonusBar.mcBar);
}
};
Game.prototype.clearLevel = function () {
this.mcScene.clearLevel();
};
Game.prototype.takeTile = function (mcTakenTile) {
if (mcTakenTile.count > 0) {
mcTakenTile.count--;
this.aListTiles[mcTakenTile.nListIndex].nr--;
var _local4 = mcTakenTile.nOrientation;
var _local3 = null;
this.movingTile(mcTakenTile.nTileNr, _local4, _local3);
}
};
Game.prototype.moveTile = function (mcTile) {
var _local4 = mcTile.nTileNr;
var _local5 = mcTile.nOrientation;
var _local3 = mcTile.mcSymbol.nNumber - 1;
this.mcScene.removeTile(mcTile, false);
this.mcTools.gotoAndStop("hide");
this.movingTile(_local4, _local5, _local3);
};
Game.prototype.movingTile = function (nTakenTileNr, nOrientation, nIndex) {
var me = this;
var nX;
var nY;
var bOverScene;
var bAvailable = true;
var nTileSize = Main.nTileSize;
this.nTakenTileNr = nTakenTileNr;
var mcTile = this.attachMovie("tile", "tileTmp", 0);
mcTile._width = (mcTile._height = nTileSize);
mcTile.mcCross.gotoAndStop("hide");
mcTile.mcTrash.gotoAndStop("hide");
mcTile._alpha = 50;
mcTile.gotoAndStop(nTakenTileNr + 1);
mcTile.mcSymbol.gotoAndStop(nOrientation + 1);
mcTile.mcSymbol.mcHitArea._visible = false;
if (nTakenTileNr == 7) {
mcTile.mcSymbol.nNumber = nIndex + 1;
}
if (!this.mcScene.hitTest(_root._xmouse, _root._ymouse, true)) {
bOverScene = false;
mcTile._x = this._xmouse - (nTileSize / 2);
mcTile._y = this._ymouse - (nTileSize / 2);
} else {
bOverScene = true;
nX = Math.floor((_root._xmouse - this.mcScene._x) / nTileSize);
nY = Math.floor((_root._ymouse - this.mcScene._y) / nTileSize);
mcTile._x = this.mcScene._x + (nX * nTileSize);
mcTile._y = this.mcScene._y + (nY * nTileSize);
}
this.MouseList = new Object();
this.MouseList.onMouseUp = function () {
if (bOverScene && (bAvailable)) {
me.mcScene.putTile(nX, nY, nOrientation, me.nTakenTileNr, nIndex);
} else {
me.mcArrows.gotoAndStop("hide");
me.mcTilesList["tile" + nTakenTileNr].count++;
var _local2 = 0;
while (me.aListTiles[_local2].tile != me.nTakenTileNr) {
_local2++;
}
me.aListTiles[_local2].nr++;
if (mcTile.sType == "star") {
me.mcScene.removeStar(nIndex);
}
}
mcTile.removeMovieClip();
Mouse.removeListener(this);
};
this.MouseList.onMouseMove = function () {
var _local2 = _root._xmouse;
var _local4 = _root._ymouse;
var _local3 = me.mcScene._xmouse;
var _local5 = me.mcScene._ymouse;
if ((((_local3 > 0) && (_local3 < 448)) && (_local5 > 0)) && (_local5 < 256)) {
bOverScene = true;
nX = Math.floor((_local2 - me.mcScene._x) / nTileSize);
nY = Math.floor((_local4 - me.mcScene._y) / nTileSize);
mcTile._x = me.mcScene._x + (nX * nTileSize);
mcTile._y = me.mcScene._y + (nY * nTileSize);
if (me.mcScene.aLevel[nY][nX] == 0) {
bAvailable = true;
mcTile.mcCross.gotoAndStop("hide");
} else {
bAvailable = false;
mcTile.mcCross.gotoAndStop("show");
}
} else {
bOverScene = false;
mcTile.mcCross.gotoAndStop("hide");
mcTile._x = _local2 - (nTileSize / 2);
mcTile._y = _local4 - (nTileSize / 2);
}
me.mcArrows._x = mcTile._x + (nTileSize * 0.5);
me.mcArrows._y = mcTile._y + (nTileSize * 0.5);
};
Mouse.addListener(this.MouseList);
};
Game.prototype.addTileToList = function (nTileNr) {
var _local4 = "tile" + nTileNr;
var _local5 = this.mcTilesList[_local4];
this.mcListTile.count++;
var _local2 = 0;
while (this.aListTiles[_local2].tile != nTileNr) {
_local2++;
}
this.aListTiles[_local2].nr++;
};
Game.prototype.startBonusTimer = function () {
};
Game.prototype.stopBonusTimer = function () {
clearInterval(this.invBonus);
};
Game.prototype.decraseBonus = function () {
if (this.nBonus < 0) {
this.nBonus = 0;
this.stopBonusTimer();
}
this.mcBonusBar.mcMask._xscale = this.nBonus / 10;
};
Game.prototype.gameOver = function () {
_global.sResult = "failed";
_global.gotoLabel("endGame");
};
Game.prototype.prepareNewLevel = function () {
this.btnClear.enabled = true;
this.btnClear._alpha = 100;
this.btnStop.enabled = true;
this.btnStop._alpha = 100;
this.btnStop._visible = false;
this.btnStart.enabled = true;
this.btnStart._alpha = 100;
this.btnStart._visible = true;
this.btnHelp.enabled = true;
this.btnHelp._alpha = 100;
if (Main.nLevel != 0) {
this.btnPrev._visible = true;
}
this.bSkipped = false;
this.nAttemp = 0;
if (!Main.isSolved(Main.nLevel)) {
this.btnSkip._visible = false;
} else {
this.btnSkip._visible = true;
}
this.btnPrev.enabled = true;
this.btnPrev._alpha = 100;
var _local2 = Main.nLevel;
_local2 = _local2 % this.mcBackground._totalframes;
_local2++;
this.mcBackground.gotoAndStop(_local2);
this.mcBackground.mcGeneric.gotoAndStop("off");
this.nStars = 0;
this.nBonus = 1000;
this.mcBonusBar.mcMask._xscale = 100;
this.nLevelPoints = 0;
this.mcLevelPoints.mcScore.tfScore.text = 0;
this.aListTiles = this.aTiles[Main.nLevel].concat();
this.createList();
this.mcScene.removeAll();
this.mcScene.init(this.aLevel[Main.nLevel], this.aRotations[Main.nLevel]);
this.startBonusTimer();
this.mcLevel.tfLevel.text = (((Main.nLevel + 1) < 10) ? ("0" + (Main.nLevel + 1)) : (Main.nLevel + 1));
};
Game.prototype.levelCompleted = function () {
this.stopBonusTimer();
this.mcBGLogo.mcLogo.mcStar0.gotoAndStop("off");
this.mcBGLogo.mcLogo.mcStar1.gotoAndStop("off");
this.mcBGLogo.mcLogo.mcStar2.gotoAndStop("off");
this.nStars = 0;
if (!this.bSkipped) {
var _local5 = 1;
_global.nTimeBonus = Math.round(this.nBonus * _local5);
_global.nLevelPoints = Math.round((this.nPoints + this.nLevelPoints) * _local5);
} else {
_global.nTimeBonus = 0;
_global.nLevelPoints = 0;
this.btnPrev.enabled = false;
this.btnPrev._alpha = 70;
if (!Main.isSolved(Main.nLevel)) {
this.mcScene.restoreTilesList();
}
}
for (var _local4 in this.mcTilesList) {
var _local3 = this.mcTilesList[_local4];
_local3.removeMovieClip();
}
this.btnClear.enabled = false;
this.btnClear._alpha = 70;
this.btnStop.enabled = false;
this.btnStop._alpha = 70;
this.btnStart.enabled = false;
this.btnStart._alpha = 70;
this.mcDoors.gotoAndPlay("on");
this.btnSkip._visible = false;
this.btnSkip._alpha = 100;
this.btnSkip.enabled = true;
};
Game.prototype.showEnd = function (bSuccess) {
this.btnStart._visible = false;
this.btnStop._visible = false;
this.btnClear._visible = false;
this.mcGameOver.gotoAndPlay("in");
Key.removeListener(this.keyListener);
};
Game.prototype.stopMovie = function (mcClip) {
mcClip.stop();
for (var _local3 in mcClip) {
this.stopMovie(mcClip[_local3]);
}
};
Game.prototype.bonusCloud = function (nX, nY, nPoints) {
var _local2 = Main.nTileSize;
var _local3 = (20 + (nY * 20)) + nX;
var _local4 = this.attachMovie("pointsCloud", "mcPC" + _local3, _local3, {_x:this.mcScene._x + ((nX + 0.5) * _local2), _y:this.mcScene._y + (nY * _local2)});
_local4.nPoints = nPoints;
};
Game.prototype.blink = function (mcTarget) {
var cMy = new Color(mcTarget);
var oTr0 = cMy.getTransform();
var oTr1 = cMy.getTransform();
var nInd = 255;
mcTarget.onEnterFrame = function () {
oTr1.rb = nInd;
oTr1.gb = nInd;
oTr1.bb = nInd;
cMy.setTransform(oTr1);
nInd = nInd - (nInd * 0.2);
if (nInd < 1) {
delete this.onEnterFrame;
cMy.setTransform(oTr0);
}
};
};
Object.registerClass("game", Game);
#endinitclip
Symbol 612 MovieClip [game] Frame 61
this.initInstructions();
Symbol 612 MovieClip [game] Frame 75
stop();
_parent.xmlData.getData(this);
this.init();