Frame 1
System.security.allowDomain("dev.batman.com");
System.security.allowDomain("dev2.batman.com");
System.security.allowDomain("preview.batman.com");
System.security.allowDomain("batman.com");
System.security.allowDomain("pdl.warnerbros.com");
Object.prototype.gameMC = this;
Object.prototype.containerMC = _parent;
gameMC.gLoadInit = false;
gameMC.gGameState = "INIT";
gameMC.gLoadStartTime = 0;
gameMC.gVersionNum = "1.0";
gameMC.gPaused = true;
gameMC.gInitGame = null;
gameMC.min_score = -1;
trace("GameParent: " + _parent);
if (gameMC.gGameID eq "") {
gameMC.gGameID = "Bat_Freeze";
}
if (gameMC.gHSRoot_swf eq "") {
gameMC.gHSRoot_swf = "/games/med/";
}
if (gameMC.gHSRoot_jsp eq "") {
gameMC.gHSRoot_jsp = "/web/load_variables/games/";
}
if (gameMC.gHSRoot_top100 eq "") {
gameMC.gHSRoot_top100 = "/web/games/";
}
gameMC.HSLoading = function () {
if (gameMC.gLoadInit != true) {
gameMC.gGameState = "LOADING";
gameMC.gLoadStartTime = int(getTimer() / 1000);
gameMC.gLoadInit = true;
}
};
gameMC.HSLoaded = function () {
tellTarget (gameMC.hs_scripts) {
call("mLoaded");
};
};
gameMC.HSPlay = function () {
tellTarget (gameMC.hs_scripts) {
call("mPlay");
};
};
gameMC.HSLevelStart = function () {
tellTarget (gameMC.hs_scripts) {
call("mLevelStart");
};
};
gameMC.HSGameOver = function () {
gameMC.gScore = Number(gameMC.gScore);
gameMC.gLevel = Number(gameMC.gLevel);
tellTarget (gameMC.hs_scripts) {
call("mGameOver");
};
};
function cTimer() {
this.startTime = getTimer();
}
cTimer.prototype.restartTimer = function () {
this.startTime = getTimer();
};
cTimer.prototype.milliseconds = function () {
return(getTimer() - this.startTime);
};
cTimer.prototype.seconds = function () {
return(int((getTimer() - this.startTime) / 1000));
};
iLevelPauseTimer = new cTimer();
Frame 4
Set("_level0:gWTE_FL", _framesloaded);
Set("_level0:gWTE_PL", int((_level0:gWTE_FL / _level0.gWTE_TF) * 100));
Set("_level0:gWTE_PLtxt", _level0:gWTE_PL add "%");
ifFrameLoaded (261) {
if (_parent != null) {
if (gameMC.gInitGame == null) {
gameMC.gInitGame = true;
containerMC.init();
}
gameMC.gDebug = "InContainer\n";
} else if (gameMC.gLoadHSScripts == true) {
gameMC.gDebug = "WaitingForScripts\n";
if (gameMC.hs_scripts.gLoaded == true) {
gameMC.gotoAndPlay("loaded");
}
} else {
_root.gDebug = _root.gDebug + "gameMC.gLoadHSScripts = false \n";
trace("gameMC.gLoadHSScripts = false");
gameMC.gotoAndPlay("loaded");
}
}
gameMC.HSLoading();
_root.gDebug = _root.gDebug + "HSLoading Called \n";
trace("HSLoading Called");
Frame 6
t = this.getBytesTotal();
l = this.getBytesLoaded();
p = int((l / t) * 1000);
MC_loaderbar.percenttext = p add "%";
MC_loaderbar.gotoAndStop(p + 1);
gotoAndPlay (4);
Frame 9
function newgame() {
gScore = 0;
gLife = 3;
_root.gLevel = 1;
gotoAndPlay (48);
}
function renderScore(countup) {
if (countup == true) {
a = 0;
while (a < 5) {
scoregoal = ((scoregoal < gScore) ? (scoregoal + 1) : (gScore));
a++;
}
} else {
scoregoal = gScore;
}
tmpscore = "" add scoregoal;
zeros = "";
a = tmpscore.length;
while (a < 6) {
zeros = zeros add "0";
a++;
}
score_display = zeros add scoregoal;
}
function handleMove(m, f) {
tmpchk = player_goalmarker + m;
tmpstack = cubeArray[tmpchk];
if ((player_elevation + 1) >= tmpstack) {
player_goalmarker = player_goalmarker + m;
player_xgoal = boardleft + (player_goalmarker * cubewidth);
facing = f;
if (player_elevation < tmpstack) {
loframe = 18;
hiframe = 26;
} else if (tmpstack < player_elevation) {
loframe = 27;
hiframe = 36;
} else {
loframe = 5;
hiframe = 10;
}
} else {
loframe = 2;
hiframe = 4;
}
}
function punchBlock(x, y) {
tmppunch = player_goalmarker + x;
if (0 < cubeArray[tmppunch]) {
fallcounter = 1;
loframe = 37;
hiframe = 43;
gScore = gScore + 25;
eval ((("MC_screen.MC_gameboard.MC_column" add tmppunch) add ".MC_cube") add y).gotoAndPlay("explode");
cubeArray[tmppunch] = cubeArray[tmppunch] - 1;
eval ("MC_screen.MC_gameboard.MC_column" add tmppunch).cubestack = cubeArray[tmppunch];
a = y + 1;
while (a < 7) {
tmpframe = eval ((("MC_screen.MC_gameboard.MC_column" add tmppunch) add ".MC_cube") add a)._currentframe;
if ((1 < tmpframe) && (tmpframe < 8)) {
eval ((("MC_screen.MC_gameboard.MC_column" add tmppunch) add ".MC_cube") add a).gotoAndPlay("fall");
}
a++;
}
}
}
gameMC.HSLoaded();
_root.gDebug = _root.gDebug + "HSLoaded Called \n";
trace("HSLoaded Called");
Frame 43
stop();
Instance of Symbol 136 MovieClip "Cr_clip" in Frame 48
onClipEvent (load) {
function mKeyStroke() {
var i;
var key_down = -1;
if (400 < (getTimer() - pCrTimer)) {
i = 1;
while (i < 91) {
if (Key.isDown(i)) {
key_down = i;
if (2 < i) {
trace("Code: " + i);
}
}
i++;
}
if (key_down >= 48) {
pCrCheck = (pCrCheck + key_down) + ":";
trace("CrCheck: " + pCrCheck);
pCrTimer = getTimer();
if (pCrCheck == "87:66:67:72:48:50:") {
trace("OK");
pCrCheck = "";
pCrOn = true;
mCr();
}
} else if ((key_down == 13) || (key_down == 32)) {
pCrCheck = "";
pCrTimer = getTimer();
}
}
}
function mCr() {
trace("mCr");
this.gotoAndPlay("show");
_root.debug_clip._visible = true;
_root.debug_clip._x = 50;
}
}
onClipEvent (enterFrame) {
mKeyStroke();
}
Frame 50
gameMC.HSPlay();
_root.gDebug = _root.gDebug + "HSPlay Called \n";
trace("HSPlay Called");
Frame 51
gameMC.HSLevelStart();
_root.gDebug = _root.gDebug + "mLevelStart Called \n";
trace("mLevelStart Called");
Frame 57
stopAllSounds();
Frame 66
totalcolumns = 13;
totalrows = 5;
cubewidth = 44;
cubeheight = 39;
cubeArray = new Array(totalcolumns);
bathealth = 100;
freezehealth = 100;
_root.blockadded = false;
randblocks = ((_root.gLevel < 3) ? (2 + _root.gLevel) : 5);
leveldamage = ((_root.gLevel < 6) ? (_root.gLevel) : 5);
cubenum = 0;
fallspeed = 10;
boardleft = 30;
loframe = 1;
hiframe = 1;
fallcounter = 0;
roundover = false;
gameover = false;
a = 0;
while (a < totalcolumns) {
cubearray[a] = 0;
a++;
}
a = 0;
while (totalcolumns >= a) {
duplicateMovieClip ("MC_screen.MC_gameboard.MC_column", "MC_column" add a, 100 + a);
eval ("MC_screen.MC_gameboard.MC_column" add a)._x = boardleft + (a * cubewidth);
a++;
}
Frame 67
digit0 = 1;
tmplevel = _root.gLevel;
while (10 < tmplevel) {
tmplevel = tmplevel - 10;
digit0++;
}
digit1 = 1 + tmplevel;
MC_leveltext.MC_digit0.gotoAndStop(digit0);
MC_leveltext.MC_digit1.gotoAndStop(digit1);
renderScore(false);
MC_livesleft.gotoAndStop(gLife);
player_goalmarker = 5;
player_ymarker = 0;
player_x = boardleft + (player_goalmarker * cubewidth);
player_xgoal = player_x;
player_ygoal = player_y;
player_y = 100;
player_action = 0;
MC_screen.MC_gameboard.MC_player._x = player_x;
villan_met_goal = false;
_root.villan_shot = false;
villan_action = ((_root.gLevel < 4) ? (random(_root.gLevel + 1) + 1) : (random(5) + 1));
villan_angry = false;
villan_goalmarker = random(totalcolumns);
villancounter = 0;
villan_speed = 0;
villan_x = 0;
villan_xgoal = 0;
facing = 1;
Frame 131
renderScore(true);
player_x = int(MC_screen.MC_gameboard.MC_player._x);
player_y = int(MC_screen.MC_gameboard.MC_player._y);
villan_x = int(MC_screen.MC_gameboard.MC_villan._x);
villan_frame = MC_screen.MC_gameboard.MC_villan._currentframe;
player_frame = MC_screen.MC_gameboard.MC_player.MC_positions._currentframe;
keydelay = ((0 < keydelay) ? (keydelay - 1) : 0);
villanshoot_ok = false;
if (0 < fallcounter) {
fallcounter = ((fallcounter < 12) ? (fallcounter + 1) : 0);
}
if (villan_met_goal == true) {
villancounter = 0;
villan_action = ((_root.gLevel < 4) ? (random(_root.gLevel + 1) + 1) : (random(5) + 1));
if ((villan_angry == true) && (5 < _root.gLevel)) {
villan_action = 3;
}
villan_angry = false;
}
if (villan_action == 1) {
villan_speed = 14;
if (villancounter == 0) {
villan_met_goal = false;
_root.villan_shot = false;
villan_goalmarker = random(totalcolumns);
villancounter++;
}
if ((0 < villancounter) && (_root.villan_shot == true)) {
villan_met_goal = true;
}
}
if (villan_action == 2) {
villan_speed = 10;
villanshoot_ok = true;
if (villancounter == 0) {
villan_met_goal = false;
_root.villan_shot = false;
villan_goalmarker = random(totalcolumns);
villancounter++;
}
if ((villancounter < 3) && (_root.villan_shot == true)) {
villan_met_goal = false;
_root.villan_shot = false;
villan_goalmarker = random(totalcolumns);
villancounter++;
}
if ((2 < villancounter) && (_root.villan_shot == true)) {
villan_met_goal = true;
}
}
if (villan_action == 3) {
villan_speed = 12;
villanshoot_ok = true;
if ((villancounter < 3) && (_root.villan_shot == true)) {
villan_met_goal = false;
_root.villan_shot = false;
villan_goalmarker = player_goalmarker;
villancounter++;
}
if ((2 < villancounter) && (_root.villan_shot == true)) {
villan_met_goal = true;
}
}
if (villan_action == 4) {
villan_speed = 12;
villanshoot_ok = true;
if (villancounter == 0) {
villan_met_goal = false;
_root.villan_shot = false;
villan_goalmarker = ((0 < player_goalmarker) ? (player_goalmarker - 1) : 0);
villancounter++;
}
if ((villancounter == 1) && (_root.villan_shot == true)) {
_root.villan_shot = false;
villan_goalmarker = ((player_goalmarker < totalcolumns) ? (player_goalmarker + 1) : (totalcolumns));
villancounter++;
}
if ((villancounter == 2) && (_root.villan_shot == true)) {
_root.villan_shot = false;
villan_goalmarker = player_goalmarker;
villancounter++;
}
if ((2 < villancounter) && (_root.villan_shot == true)) {
villan_met_goal = true;
}
}
if (villan_action == 5) {
villan_speed = 12;
villanshoot_ok = true;
if (villancounter == 0) {
villan_met_goal = false;
_root.villan_shot = false;
villan_goalmarker = 1;
villancounter++;
}
if (((0 < villancounter) && (villancounter < (totalcolumns - 1))) && (_root.villan_shot == true)) {
_root.villan_shot = false;
villan_goalmarker = villan_goalmarker + 2;
villancounter = villan_goalmarker + 2;
}
if ((villancounter >= (totalcolumns - 1)) && (_root.villan_shot == true)) {
villan_met_goal = true;
}
}
villan_xgoal = int((boardleft + (villan_goalmarker * cubewidth)) + 10);
if (villan_frame < 61) {
a = 0;
while (a < villan_speed) {
if (villan_x < villan_xgoal) {
villan_x++;
}
if (villan_xgoal < villan_x) {
villan_x--;
}
a++;
}
MC_screen.MC_gameboard.MC_villan._x = villan_x;
}
if (((villan_x == villan_xgoal) && (villan_frame < 60)) && (villan_met_goal == false)) {
if (villanshoot_ok == true) {
MC_screen.MC_gameboard.MC_villan.gotoAndPlay("beam");
} else {
MC_screen.MC_gameboard.MC_villan.gotoAndPlay("taunt");
}
}
if (_root.blockadded == true) {
_root.blockadded = false;
tmprnd = random(randblocks) + 1;
a = 1;
while (randblocks >= a) {
if ((cubeArray[villan_goalmarker] < 4) && (villan_goalmarker != player_goalmarker)) {
cubeArray[villan_goalmarker] = cubeArray[villan_goalmarker] + 1;
eval ("MC_screen.MC_gameboard.MC_column" add villan_goalmarker).cubestack = cubeArray[villan_goalmarker];
eval ((("MC_screen.MC_gameboard.MC_column" add villan_goalmarker) add ".MC_cube") add cubeArray[villan_goalmarker]).gotoAndPlay(2);
}
a++;
}
}
a = 0;
while (a < 10) {
if (player_x < player_xgoal) {
player_x++;
}
if (player_xgoal < player_x) {
player_x--;
}
a++;
}
sframe = MC_screen._currentframe;
sframegoal = (player_goalmarker + 1) * 5;
if (sframe < sframegoal) {
sframe++;
}
if (sframegoal < sframe) {
sframe--;
}
MC_screen.gotoAndStop(sframe);
if ((MC_screen.MC_gameboard.MC_batarang._visible == true) && (MC_screen.MC_gameboard.MC_batarang._currentframe < 21)) {
tmpy = MC_screen.MC_gameboard.MC_batarang._y - 30;
if (MC_screen.MC_gameboard.MC_batarang.hitTest(MC_screen.MC_gameboard.MC_villan.MC_freeze.MC_hitarea)) {
freezehealth = freezehealth - 8;
villan_angry = true;
gScore = gScore + 100;
MC_screen.MC_gameboard.MC_batarang.gotoAndPlay("hit");
}
if (tmpy < -400) {
MC_screen.MC_gameboard.MC_batarang._visible = false;
}
MC_screen.MC_gameboard.MC_batarang._y = tmpy;
}
player_elevation = cubeArray[player_goalmarker];
player_ygoal = 87 - (player_elevation * cubeheight);
jumping = false;
a = 1;
while (a < 10) {
if (player_ygoal < player_y) {
player_y--;
jumping = true;
}
if (player_y < player_ygoal) {
player_y++;
jumping = true;
}
a++;
}
_root.jumping = jumping;
MC_screen.MC_gameboard.MC_player._x = player_x;
MC_screen.MC_gameboard.MC_player._y = player_y;
MC_screen.MC_gameboard.MC_player.gotoAndStop(((facing == 1) ? 2 : 1));
MC_freezehealth.gotoAndStop(101 - freezehealth);
MC_bathealth.gotoAndStop(101 - bathealth);
if (MC_screen.MC_gameboard.MC_player.hitTest(MC_screen.MC_gameboard.MC_villan.MC_beam)) {
bathealth = bathealth - leveldamage;
loframe = 44;
hiframe = 62;
}
a = 0;
while (a < totalcolumns) {
eval ("MC_screen.MC_gameboard.MC_column" add a).num = a;
a++;
}
freezeframenum = 1;
if (freezehealth < 50) {
freezeframenum = 2;
}
if (freezehealth < 25) {
freezeframenum = 3;
}
MC_screen.MC_gameboard.MC_villan.MC_freeze.gotoAndStop(freezeframenum);
if (((1 < loframe) && (1 < hiframe)) && ((player_frame < loframe) || (hiframe < player_frame))) {
MC_screen.MC_gameboard.MC_player.MC_positions.gotoAndPlay(loframe);
loframe = 1;
hiframe = 1;
}
if (Key.isDown(81)) {
_root.gotoAndPlay("GameOver");
}
if (((Key.isDown(Key.Left) && (player_x == player_xgoal)) && (0 < player_goalmarker)) && (keydelay == 0)) {
keydelay = 1;
if (facing == 1) {
handleMove(-1, 1);
} else {
facing = 1;
}
}
if (((Key.isDown(Key.Right) && (player_x == player_xgoal)) && (player_goalmarker < totalcolumns)) && (keydelay == 0)) {
keydelay = 1;
if (facing == 2) {
handleMove(1, 2);
} else {
facing = 2;
}
}
if ((((Key.isDown(Key.Space) && (keydelay == 0)) && (fallcounter == 0)) && (jumping == false)) && (player_x == player_xgoal)) {
punchBlock(((facing == 1) ? -1 : 1), player_elevation + 1);
keydelay = 2;
}
if (Key.isDown(Key.Up) && (MC_screen.MC_gameboard.MC_batarang._visible == false)) {
loframe = 63;
hiframe = 71;
MC_screen.MC_gameboard.MC_batarang._y = player_y - 50;
MC_screen.MC_gameboard.MC_batarang._x = player_x;
MC_screen.MC_gameboard.MC_batarang.gotoAndPlay(2);
MC_screen.MC_gameboard.MC_batarang._visible = true;
}
if (((((!Key.isDown(Key.Up)) && (!Key.isDown(Key.Space))) && (!Key.isDown(Key.Right))) && (!Key.isDown(Key.Left))) && (player_y == player_ygoal)) {
loframe = 2;
hiframe = 4;
}
Frame 132
if (bathealth < 1) {
gotoAndPlay (139);
} else if (freezehealth < 1) {
gotoAndPlay (178);
} else {
gotoAndPlay(_currentframe - 1);
}
Frame 173
gLife--;
if (0 < gLife) {
bathealth = 100;
MC_livesleft.gotoAndStop(gLife);
gotoAndPlay (131);
} else {
gotoAndPlay (238);
}
Frame 178
MC_freezehealth.gotoAndStop(101);
stopAllSounds();
Frame 234
_root.gLevel = ((_root.gLevel < 99) ? (_root.gLevel + 1) : 1);
gotoAndPlay (57);
Frame 238
scoretext = _root.gScore add " Points";
stopAllSounds();
MC_bathealth.gotoAndStop(101);
gameMC.HSGameOver();
_root.gDebug = _root.gDebug + "HSGameOver Called \n";
trace("HSGameOver Called " + gameMC.gScore);
Frame 259
stop();
Symbol 7 Button
on (press) {
startDrag ("");
}
on (release) {
stopDrag();
}
Symbol 8 Button
on (release) {
Set("/:gDebug", "");
}
Symbol 9 MovieClip Frame 1
if (/:gDebugMode == true) {
_x = 50;
}
Symbol 9 MovieClip Frame 5
stop();
Symbol 20 MovieClip Frame 1
stop();
Symbol 22 MovieClip Frame 1
loadMovie (/:gHSRoot_swf add "HSScripts.swf", "");
Symbol 22 MovieClip Frame 4
stop();
Symbol 28 MovieClip Frame 1
_visible = 0;
loadMovie (/:gHSRoot_swf add "HSMinScore.swf", "");
Symbol 28 MovieClip Frame 4
stop();
Symbol 34 Button
on (release) {
gotoAndPlay (48);
}
Symbol 41 Button
on (press) {
_parent.newGame();
}
Symbol 44 Button
on (press) {
play();
}
Symbol 59 MovieClip Frame 3
if (random(20) != 2) {
gotoAndPlay (2);
}
Symbol 66 MovieClip Frame 30
stop();
Symbol 77 MovieClip Frame 10
stop();
Symbol 78 MovieClip Frame 21
stop();
Symbol 95 MovieClip Frame 1
stop();
Symbol 95 MovieClip Frame 16
stop();
Symbol 116 MovieClip Frame 1
stop();
Symbol 122 MovieClip Frame 1
gotoAndPlay(random(5) + 3);
Symbol 122 MovieClip Frame 15
gotoAndPlay (2);
Symbol 124 MovieClip Frame 3
if (random(10) != 2) {
gotoAndPlay (2);
}
Symbol 125 MovieClip Frame 1
stop();
Symbol 128 Button
on (release) {
play();
}
Symbol 136 MovieClip Frame 4
stop();
Symbol 136 MovieClip Frame 9
stop();
Symbol 142 MovieClip Frame 30
if (random(20) != 2) {
gotoAndPlay(_currentframe - 1);
}
Symbol 144 MovieClip Frame 1
stop();
Symbol 144 MovieClip Frame 8
if (_parent.cubestack >= thisnum) {
gotoAndPlay(_currentframe - 1);
} else {
gotoAndStop (1);
}
Symbol 144 MovieClip Frame 16
if (_parent.cubestack >= thisnum) {
gotoAndPlay (7);
} else {
gotoAndStop (1);
}
Symbol 144 MovieClip Frame 25
if (_parent.cubestack >= thisnum) {
gotoAndPlay (7);
} else {
gotoAndStop (1);
}
Symbol 145 MovieClip Frame 2
punched = 0;
cubestack = 0;
a = 0;
while (a < 7) {
eval ("MC_cube" add a).thisnum = a;
a++;
}
stop();
Symbol 185 MovieClip Frame 10
stop();
Symbol 185 MovieClip Frame 26
gotoAndStop (1);
Symbol 185 MovieClip Frame 32
if (_root.jumping == true) {
gotoAndPlay(_currentframe - 1);
} else {
gotoAndPlay(_currentframe + 2);
}
Symbol 185 MovieClip Frame 36
gotoAndStop (1);
Symbol 185 MovieClip Frame 43
gotoAndStop (1);
Symbol 185 MovieClip Frame 62
gotoAndStop (1);
Symbol 186 MovieClip Frame 1
stop();
Symbol 189 MovieClip Frame 2
if (random(2) != 1) {
gotoAndPlay (1);
}
Symbol 196 MovieClip Frame 9
stop();
Symbol 198 MovieClip Frame 59
gotoAndPlay (1);
Symbol 198 MovieClip Frame 61
MC_freeze.MC_arms.gotoAndPlay(2);
Symbol 198 MovieClip Frame 87
_root.blockadded = true;
Symbol 198 MovieClip Frame 99
_root.villan_shot = true;
gotoAndPlay (1);
Symbol 198 MovieClip Frame 131
_root.villan_shot = true;
gotoAndPlay (1);
Symbol 204 MovieClip Frame 1
this._visible = false;
Symbol 204 MovieClip Frame 21
gotoAndPlay (2);
Symbol 204 MovieClip Frame 23
r = random(5) + 1;
if (r == 1) {
gotoAndPlay (24);
} else if (r == 2) {
gotoAndPlay (33);
} else if (r == 3) {
gotoAndPlay (42);
} else if (r == 4) {
gotoAndPlay (51);
} else {
gotoAndPlay (60);
}
Symbol 204 MovieClip Frame 31
gotoAndStop (1);
Symbol 204 MovieClip Frame 40
gotoAndStop (1);
Symbol 204 MovieClip Frame 49
gotoAndStop (1);
Symbol 204 MovieClip Frame 58
gotoAndStop (1);
Symbol 204 MovieClip Frame 67
gotoAndStop (1);
Symbol 205 MovieClip Frame 1
stop();
Symbol 206 MovieClip Frame 1
stop();
Symbol 222 MovieClip Frame 1
stop();
Symbol 232 MovieClip Frame 1
stop();
Symbol 234 MovieClip Frame 1
stop();
Symbol 243 MovieClip Frame 3
if (random(4) != 2) {
gotoAndPlay(_currentframe - 1);
}
Symbol 243 MovieClip Frame 13
stop();
Symbol 288 MovieClip Frame 3
if (random(3) != 2) {
gotoAndPlay (2);
}
Symbol 288 MovieClip Frame 44
gotoAndPlay (16);
Symbol 289 Button
on (press) {
_parent.gotoAndPlay("title");
}
Symbol 291 MovieClip Frame 16
stop();
Symbol 295 MovieClip Frame 1
_visible = 0;
Symbol 295 MovieClip Frame 5
stop();