Frame 1
function preloaderProgress() {
preloaderBytesTotal = _root.getBytesTotal();
preloaderBytesLoaded = _root.getBytesLoaded();
txt_preloader.text = Math.round((preloaderBytesLoaded / preloaderBytesTotal) * 100) + "% Loaded";
if ((preloaderBytesLoaded == preloaderBytesTotal) and (preloaderBytesLoaded > 0)) {
clearInterval(preloaderIntervalId);
gotoAndStop ("fra_main");
}
}
this._lockroot = true;
stop();
var preloaderIntervalId;
preloaderIntervalId = setInterval(this, "preloaderProgress", 1);
Frame 3
function attachIntro() {
var _local2 = _root.attachMovie("mc_intro", "mc_intro", _root.getNextHighestDepth());
_local2._x = 0.5 * Stage.width;
_local2._y = 0.5 * Stage.height;
}
function createNewGame(currentLevel, score) {
game = new Game(currentLevel, score);
mc_intro.swapDepths(_root.getNextHighestDepth());
game.field.setStageFocus(500, 1300);
game.field.focusStage();
game.field.focusField();
mcFootball = game.field.mc.attachMovie("mc_football", "mc_football", game.field.mc.getNextHighestDepth());
mcFootball._x = -170;
mcFootball._y = -1280;
mcFootball._xscale = (mcFootball._yscale = 86);
game.field.offense.runningBack.mc.swapDepths(game.field.mc.getNextHighestDepth());
var _local2 = 96;
var _local4 = (-game.field.offense.runningBack.mc._x) + (0.5 * Stage.width);
var _local3 = ((-game.field.offense.runningBack.mc._y) + (0.5 * Stage.height)) + game.field.stageFocusYOffset;
var _local5 = new mx.transitions.Tween(game.field.mc, "_x", mx.transitions.easing.None.easeOut, game.field.mc._x, _local4, _local2, false);
var _local8 = new mx.transitions.Tween(game.field.mc, "_y", mx.transitions.easing.None.easeOut, game.field.mc._y, _local3, _local2, false);
var _local7 = new mx.transitions.Tween(game.field.mcActualField.mc_field, "_x", mx.transitions.easing.None.easeOut, game.field.mcActualField.mc_field._x, _local4, _local2, false);
var _local6 = new mx.transitions.Tween(game.field.mcActualField.mc_field, "_y", mx.transitions.easing.None.easeOut, game.field.mcActualField.mc_field._y, _local3, _local2, false);
var _local10 = new mx.transitions.Tween(game.field.mc.mc_football, "_x", mx.transitions.easing.None.easeOut, game.field.mc.mc_football._x, game.field.offense.runningBack.mc._x + 8, _local2 - 2, false);
var _local9 = new mx.transitions.Tween(game.field.mc.mc_football, "_y", mx.transitions.easing.None.easeOut, game.field.mc.mc_football._y, game.field.offense.runningBack.mc._y - 30, _local2 - 2, false);
_local5.onMotionFinished = function () {
game.field.mcActualField.mc_field.mc_tempbg._visible = false;
game.field.offense.runningBack.catchBall();
game.field.mc.mc_football.removeMovieClip();
};
}
function turboIntervalFunction() {
PowerUp.turboEnabled = false;
stopTurboInterval();
}
function stopTurboInterval() {
clearInterval(PowerUp.turboIntervalId);
}
function springIntervalFunction() {
var _local4 = 2.5;
if (PowerUp.springCount < PowerUp.springJump) {
} else if (PowerUp.springCount < (2 * PowerUp.springJump)) {
_local4 = _local4 * -1;
} else {
stopSpringInterval();
PowerUp.springEnabled = false;
game.field.offense.runningBack.mc.play();
var _local2 = 0;
while (_local2 < _root.game.field.offense.numBlockers) {
game.field.offense.blocker[_local2].mc.play();
_local2++;
}
}
game.field.offense.runningBack.mc._xscale = game.field.offense.runningBack.mc._xscale + _local4;
game.field.offense.runningBack.mc._yscale = game.field.offense.runningBack.mc._yscale + _local4;
game.field.offense.runningBack.coordinateMove(_root.game.field.offense.runningBack.currentDirection);
game.field.offense.runningBack.bringToFront();
var _local2 = 0;
while (_local2 < game.field.offense.numBlockers) {
game.field.offense.blocker[_local2].mc._xscale = game.field.offense.blocker[_local2].mc._xscale + _local4;
game.field.offense.blocker[_local2].mc._yscale = game.field.offense.blocker[_local2].mc._yscale + _local4;
game.field.offense.blocker[_local2].coordinateMove(game.field.offense.runningBack.currentDirection);
game.field.offense.blocker[_local2].mc.swapDepths(game.field.mc.getNextHighestDepth());
_local2++;
}
_local2 = 0;
while (_local2 < game.field.offense.runningBack.draggingTacklers.length) {
var _local3 = game.field.offense.runningBack.draggingTacklers[_local2];
game.field.defense.tackler[_local3].mc.swapDepths(game.field.mc.getNextHighestDepth());
_local2++;
}
PowerUp.springCount++;
}
function stopSpringInterval() {
clearInterval(PowerUp.springIntervalId);
}
function tornadoIntervalFunction() {
if (PowerUp.tornadoEnabled) {
PowerUp.tornadoEnabled = false;
stopTornadoInterval();
game.field.offense.runningBack.forceOrient(game.field.offense.runningBack.currentDirection);
PowerUp.tornadoDizzynessEnabled = true;
PowerUp.tornadoIntervalId = setInterval(_root, "tornadoIntervalFunction", 2300);
} else {
PowerUp.tornadoDizzynessEnabled = false;
stopTornadoInterval();
}
}
function stopTornadoInterval() {
clearInterval(PowerUp.tornadoIntervalId);
}
function quakeIntervalFunction() {
if (PowerUp.quakeEnabled) {
if (PowerUp.quakeCount < PowerUp.quakeJump) {
_root.game.field.offense.runningBack.mc._xscale = _root.game.field.offense.runningBack.mc._xscale + 5.2;
_root.game.field.offense.runningBack.mc._yscale = _root.game.field.offense.runningBack.mc._yscale + 5.2;
} else if (PowerUp.quakeCount < (2 * PowerUp.quakeJump)) {
_root.game.field.offense.runningBack.mc._xscale = _root.game.field.offense.runningBack.mc._xscale - 5.2;
_root.game.field.offense.runningBack.mc._yscale = _root.game.field.offense.runningBack.mc._yscale - 5.2;
} else {
stopQuakeInterval();
PowerUp.quakeEnabled = false;
PowerUp.quakeDazeEnabled = true;
_root.game.field.offense.runningBack.mc.play();
var _local2 = 0;
while (_local2 < _root.game.field.offense.numBlockers) {
_root.game.field.offense.blocker[_local2].mc.play();
_local2++;
}
var _local5 = _root.game.field.offense.runningBack.mc;
_local2 = 0;
while (_local2 < _root.game.field.defense.numTacklers) {
var _local3 = _root.game.field.defense.tackler[_local2].mc;
if (Math.abs(_local5._y - _local3._y) < ((0.5 * Stage.height) + 100)) {
_root.game.field.defense.tackler[_local2].cloudAndSit(_local3);
_root.game.field.defense.tackler[_local2].dragging = false;
}
_local2++;
}
while (_root.game.field.offense.runningBack.draggingTacklers.length > 0) {
var _local4 = _root.game.field.offense.runningBack.draggingTacklers.pop();
_root.game.field.offense.runningBack.draggingWeight = _root.game.field.offense.runningBack.draggingWeight - _root.game.field.defense.tackler[_local4].weight;
}
PowerUp.quakeIntervalId = setInterval(_root, "quakeIntervalFunction", 1100);
}
} else {
PowerUp.quakeDazeEnabled = false;
stopQuakeInterval();
}
PowerUp.quakeCount++;
}
function stopQuakeInterval() {
clearInterval(PowerUp.quakeIntervalId);
}
var swfFPS = 24;
mc = _root.createEmptyMovieClip("mc_sndHit1", _root.getNextHighestDepth());
var sndHit1 = new Sound(mc);
sndHit1.attachSound("sndHit1");
sndHit1.setVolume(60);
mc = _root.createEmptyMovieClip("mc_sndHit2", _root.getNextHighestDepth());
var sndHit2 = new Sound(mc);
sndHit2.attachSound("sndHit2");
sndHit2.setVolume(60);
mc = _root.createEmptyMovieClip("mc_sndHit3", _root.getNextHighestDepth());
var sndHit3 = new Sound(mc);
sndHit3.attachSound("sndHit3");
sndHit3.setVolume(60);
mc = _root.createEmptyMovieClip("mc_sndHit4", _root.getNextHighestDepth());
var sndHit4 = new Sound(mc);
sndHit4.attachSound("sndHit4");
sndHit4.setVolume(60);
mc = _root.createEmptyMovieClip("mc_sndKickOff1", _root.getNextHighestDepth());
var sndKickOff1 = new Sound(mc);
sndKickOff1.attachSound("sndKickOff1");
sndKickOff1.setVolume(35);
mc = _root.createEmptyMovieClip("mc_sndMusicLoop1", _root.getNextHighestDepth());
var sndMusicLoop1 = new Sound(mc);
sndMusicLoop1.attachSound("sndMusicLoop1");
sndMusicLoop1.setVolume(60);
mc = _root.createEmptyMovieClip("mc_sndPickUpPowerUp1", _root.getNextHighestDepth());
var sndPickUpPowerUp1 = new Sound(mc);
sndPickUpPowerUp1.attachSound("sndPickUpPowerUp1");
sndPickUpPowerUp1.setVolume(100);
mc = _root.createEmptyMovieClip("mc_sndShakeItOff1", _root.getNextHighestDepth());
var sndShakeItOff1 = new Sound(mc);
sndShakeItOff1.attachSound("sndShakeItOff1");
sndShakeItOff1.setVolume(100);
mc = _root.createEmptyMovieClip("mc_sndTackled1", _root.getNextHighestDepth());
var sndTackled1 = new Sound(mc);
sndTackled1.attachSound("sndTackled1");
sndTackled1.setVolume(100);
mc = _root.createEmptyMovieClip("mc_sndTornado1", _root.getNextHighestDepth());
var sndTornado1 = new Sound(mc);
sndTornado1.attachSound("sndTornado1");
sndTornado1.setVolume(100);
mc = _root.createEmptyMovieClip("mc_sndTouchdown1", _root.getNextHighestDepth());
var sndTouchdown1 = new Sound(mc);
sndTouchdown1.attachSound("sndTouchdown1");
sndTouchdown1.setVolume(100);
mc = _root.createEmptyMovieClip("mc_sndTrophy1", _root.getNextHighestDepth());
var sndTrophy1 = new Sound(mc);
sndTrophy1.attachSound("sndTrophy1");
sndTrophy1.setVolume(40);
mc = _root.createEmptyMovieClip("mc_sndTurbo1", _root.getNextHighestDepth());
var sndTurbo1 = new Sound(mc);
sndTurbo1.attachSound("sndTurbo1");
sndTurbo1.setVolume(70);
stop();
var game;
attachIntro();
Symbol 412 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 413 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 414 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 415 MovieClip [__Packages.Game] Frame 0
class Game
{
var currentLevel, inProgress, mc, field, powerUp, score, time, controls, timeIntervalId;
function Game (iCurrentLevel, iScore) {
currentLevel = iCurrentLevel;
_root.mc_intro.mc_panel.txt_level.text = currentLevel;
inProgress = false;
mc = _root.createEmptyMovieClip("mc_game", _root.getNextHighestDepth());
_root.createEmptyMovieClip("mc_tweenwatcher", _root.getNextHighestDepth());
_root.mc_tweenwatcher.tweenCount = 0;
mc.scrollRect = new flash.geom.Rectangle(0, 0, Stage.width, Stage.height);
field = new Field(this);
powerUp = new Array(PowerUp.numPowerUps);
createPowerUps();
placePlayers();
score = iScore;
updateScoreDisplay();
time = 0;
updateTimeDisplay();
controls = new Controls(this);
if (currentLevel == 1) {
_root.sndMusicLoop1.stop();
_root.sndMusicLoop1.start(0, 99999);
}
_root.sndKickOff1.start(0.5);
}
function placePlayers() {
field.offense.runningBack.initialAttach();
var _local2 = 0;
while (_local2 < field.offense.numBlockers) {
field.offense.blocker[_local2].initialAttach();
_local2++;
}
_local2 = 0;
while (_local2 < field.defense.numTacklers) {
field.defense.tackler[_local2].initialAttach();
_local2++;
}
field.offense.runningBack.bringToFront();
}
function createPowerUps() {
_root.mc_intro.mc_panel.createEmptyMovieClip("mc_powerups", _root.mc_intro.mc_panel.getNextHighestDepth());
PowerUp.panelSlot1Taken = false;
PowerUp.panelSlot2Taken = false;
PowerUp.turboEnabled = false;
PowerUp.springEnabled = false;
PowerUp.trophyEnabled = false;
PowerUp.tornadoEnabled = false;
PowerUp.tornadoDizzynessEnabled = false;
PowerUp.quakeEnabled = false;
PowerUp.quakeDazeEnabled = false;
var _local7 = new Array(PowerUp.numPowerUps);
var _local5;
var _local4;
var _local6 = 0;
while (_local6 < PowerUp.numPowerUps) {
do {
_local5 = getRand(0, PowerUp.numPowerUpTypes);
_local4 = false;
var _local3 = 0;
while (_local3 < _local6) {
if (_local7[_local3] == _local5) {
_local4 = true;
}
_local3++;
}
} while (_local4);
_local7[_local6] = _local5;
_local6++;
}
_local6 = 0;
while (_local6 < PowerUp.numPowerUps) {
powerUp.push(new PowerUp(this, _local7[_local6], _local6));
_local6++;
}
PowerUp.turboEnabled = false;
}
function startGame() {
inProgress = true;
var _local3 = 0;
while (_local3 < _root.game.field.defense.numTacklers) {
_root.game.field.defense.tackler[_local3].startInterval();
_local3++;
}
_local3 = 0;
while (_local3 < powerUp.length) {
powerUp[_local3].startInterval();
_local3++;
}
controls.startInterval();
startTimeInterval();
}
function checkForGameOver() {
if (field.offense.runningBack.draggingWeight > 700) {
_root.sndTackled1.start();
gameOver();
} else {
_root["sndHit" + getRand(1, 4)].start(0.1);
}
}
function gameOver() {
if (inProgress) {
inProgress = false;
stopTimeInterval();
stopIntervals();
updateScore(false);
updateScoreDisplay();
removeAllPlayers();
_root.mc_intro.currentLevel = 1;
_root.mc_intro.score = 0;
displayGameOverGraphic();
}
}
function gameWon() {
if (inProgress) {
inProgress = false;
stopTimeInterval();
stopIntervals();
displayYouWinGraphic();
updateScore(true);
updateScoreDisplay();
removeAllPlayers();
_root.mc_intro.currentLevel = currentLevel + 1;
_root.mc_intro.score = score;
_root.sndTouchdown1.start();
}
}
function destroyGame() {
mc.removeMovieClip();
_root.mc_intro.mc_panel.mc_powerups.removeMovieClip();
_root.mc_tweenwatcher.removeMovieClip();
}
function stopIntervals() {
controls.stopInterval();
controls.keyListener.onKeyUp = null;
var _local3 = 0;
while (_local3 < field.defense.numTacklers) {
field.defense.tackler[_local3].stopInterval();
_local3++;
}
_local3 = 0;
while (_local3 < powerUp.length) {
powerUp[_local3].stopInterval();
_local3++;
}
stopTimeInterval();
if (PowerUp.turboEnabled) {
_root.stopTurboInterval();
}
if (PowerUp.springEnabled) {
_root.stopSpringInterval();
}
}
function displayGameOverGraphic() {
var _local3 = mc.attachMovie("mc_gameover", "mc_gameover", _root.getNextHighestDepth());
_root.mc_intro.swapDepths(-100);
_local3._x = 0.5 * Stage.width;
_local3._y = 0.5 * Stage.height;
}
function displayYouWinGraphic() {
var _local2 = mc.attachMovie("mc_youwin", "mc_youwin", mc.getNextHighestDepth());
_local2._x = 0.5 * Stage.width;
_local2._y = 0.5 * Stage.height;
displayNextLevel((_local2._y + (0.5 * _local2._height)) - 24);
}
function displayPlayAgain(yRef) {
var _local3 = mc.attachMovie("mc_playagain", "mc_playagain", mc.getNextHighestDepth());
_local3._x = 0.5 * Stage.width;
_local3._y = yRef + 40;
_local3.bt_playagain.onPress = function () {
this.onPress = null;
this._parent.removeMovieClip();
_root.game.destroyGame();
_root.mc_intro.gotoAndPlay("fra_makeanothergame");
};
}
function displayNextLevel(yRef) {
var _local3 = mc.attachMovie("mc_nextlevel", "mc_playagain", mc.getNextHighestDepth());
_local3._x = 0.5 * Stage.width;
_local3._y = yRef + 32;
_local3.bt_playagain.onPress = function () {
this.onPress = null;
this._parent.removeMovieClip();
_root.game.destroyGame();
_root.mc_intro.gotoAndPlay("fra_makeanothergame");
};
}
function removeAllPlayers() {
var _local2 = 0;
while (_local2 < field.defense.numTacklers) {
field.defense.tackler[_local2].mc.removeMovieClip();
_local2++;
}
_local2 = 0;
while (_local2 < field.offense.numBlockers) {
field.offense.blocker[_local2].mc.removeMovieClip();
_local2++;
}
field.offense.runningBack.mc.removeMovieClip();
}
function startTimeInterval() {
timeIntervalId = setInterval(this, "timeIntervalFunction", 1000);
}
function stopTimeInterval() {
clearInterval(timeIntervalId);
}
function timeIntervalFunction() {
if (time < 999) {
time++;
}
updateTimeDisplay();
}
function updateTimeDisplay() {
_root.mc_intro.mc_panel.txt_time.text = time;
}
function getRand(min, max) {
return(Math.round((Math.random() * ((max - min) + 1)) + (min - 0.5)));
}
function updateScore(levelCleared) {
var _local2;
if (levelCleared) {
_local2 = Math.round((999 / time) * 3);
} else {
var _local3 = 1 - ((field.offense.runningBack.mc._y + (0.5 * field.mcActualField._height)) / field.mcActualField._height);
_local2 = Math.round(100 * _local3);
}
score = score + _local2;
}
function updateScoreDisplay() {
_root.mc_intro.mc_panel.txt_score.text = score;
}
}
Symbol 416 MovieClip [__Packages.Controls] Frame 0
class Controls
{
var game, intervalDuration, prevMouseX, prevMouseDiff, minMouseDiff, mouseInMotion, mouseMotionCount, mouseMotionKnockOff, mouseIntervalCount, mouseIntervalMod, upTheShaker, intervalId, keyListener;
function Controls (iGame) {
game = iGame;
intervalDuration = 1000 / _root.swfFPS;
prevMouseX = getMouseX();
prevMouseDiff = 0;
minMouseDiff = 35;
mouseInMotion = false;
mouseMotionCount = 0;
mouseMotionKnockOff = 17;
mouseIntervalCount = 0;
mouseIntervalMod = 3;
upTheShaker = false;
updateShakeMeter();
}
function startInterval() {
intervalId = setInterval(this, "intervalFunction", intervalDuration);
keyListener = new Object();
keyListener.onKeyUp = function () {
if (Key.getCode() == 32) {
_root.game.controls.mouseMotionCount = _root.game.controls.mouseMotionCount + 7;
_root.game.controls.evalMouseMotionCount();
}
};
Key.addListener(keyListener);
}
function stopInterval() {
clearInterval(intervalId);
}
function intervalFunction() {
if ((!PowerUp.springEnabled) and (!PowerUp.quakeEnabled)) {
var _local4 = "";
var _local9 = Key.isDown(37) or Key.isDown(65);
var _local7 = Key.isDown(39) or Key.isDown(68);
var _local8 = Key.isDown(38) or Key.isDown(87);
var _local6 = Key.isDown(40) or Key.isDown(83);
if (!PowerUp.tornadoDizzynessEnabled) {
if (_local9 and _local8) {
_local4 = "nw";
} else if (_local9 and _local6) {
_local4 = "sw";
} else if (_local7 and _local8) {
_local4 = "ne";
} else if (_local7 and _local6) {
_local4 = "se";
} else if (_local9) {
_local4 = "w";
} else if (_local7) {
_local4 = "e";
} else if (_local8) {
_local4 = "n";
} else if (_local6) {
_local4 = "s";
}
} else if (_local9 and _local8) {
_local4 = "se";
} else if (_local9 and _local6) {
_local4 = "ne";
} else if (_local7 and _local8) {
_local4 = "sw";
} else if (_local7 and _local6) {
_local4 = "nw";
} else if (_local9) {
_local4 = "e";
} else if (_local7) {
_local4 = "w";
} else if (_local8) {
_local4 = "s";
} else if (_local6) {
_local4 = "n";
}
if (Key.isDown(90) or Key.isDown(189)) {
PowerUp.activatePowerUp(_root.mc_intro.mc_panel.mc_powerups.mc_panelpu1);
}
if (Key.isDown(88) or Key.isDown(187)) {
PowerUp.activatePowerUp(_root.mc_intro.mc_panel.mc_powerups.mc_panelpu2);
}
if (_local4 != "") {
game.field.offense.runningBack.coordinateMove(_local4);
var _local3 = 0;
while (_local3 < game.field.offense.numBlockers) {
game.field.offense.blocker[_local3].coordinateMove(_local4);
_local3++;
}
_local3 = 0;
while (_local3 < game.field.offense.runningBack.draggingTacklers.length) {
var _local5 = game.field.offense.runningBack.draggingTacklers[_local3];
game.field.defense.tackler[_local5].mc.swapDepths(game.field.mc.getNextHighestDepth());
_local3++;
}
}
if ((mouseIntervalCount % mouseIntervalMod) == 0) {
mouseIntervalCount = 0;
var _local10 = getMouseX();
var _local11 = Math.abs(_local10 - prevMouseX);
if (((_local11 + prevMouseDiff) * 0.5) < minMouseDiff) {
if (mouseMotionCount > 0) {
mouseMotionCount--;
}
} else {
mouseMotionCount++;
}
}
prevMouseX = _local10;
prevMouseDiff = _local11;
evalMouseMotionCount();
updateShakeMeter();
}
}
function evalMouseMotionCount() {
if (mouseMotionCount > mouseMotionKnockOff) {
mouseMotionCount = mouseMotionKnockOff;
if (game.field.offense.runningBack.draggingTacklers.length > 0) {
mouseMotionCount = 0;
game.field.offense.runningBack.knockOffTackler();
}
}
}
function getMouseX() {
return(_root._xmouse);
}
function updateShakeMeter() {
var _local3 = _root.mc_intro.mc_panel.mc_shakemeter;
_local3.mc_shakemeter.mc_mask._y = (1 - (mouseMotionCount / mouseMotionKnockOff)) * _local3.mc_shakemeter.mc_fill._height;
}
}
Symbol 417 MovieClip [__Packages.PowerUp] Frame 0
class PowerUp
{
static var panelSlot1Taken, panelSlot2Taken, springEnabled, tornadoEnabled, turboEnabled, turboIntervalId, trophyEnabled, springCount, springIntervalId, tornadoIntervalId, quakeEnabled, quakeCount, quakeIntervalId;
var game, type, instant, xScale, yScale, row, fieldXMin, fieldXMax, startingRowY, rowSpacing, intervalDuration, mc, intervalId;
function PowerUp (iGame, typeNum, iRow) {
game = iGame;
switch (typeNum) {
case 0 :
type = "quake";
instant = true;
xScale = 120;
yScale = 120;
break;
case 1 :
type = "tornado";
instant = true;
xScale = 116;
yScale = 116;
break;
case 2 :
type = "turbo";
instant = false;
xScale = 150;
yScale = 150;
break;
case 3 :
type = "trophy";
instant = true;
xScale = 130;
yScale = 130;
break;
case 4 :
type = "spring";
instant = false;
xScale = 128;
yScale = 128;
break;
default :
trace("PowerUp type does not exist.");
}
row = iRow;
fieldXMin = -370;
fieldXMax = 370;
startingRowY = -200;
rowSpacing = 350;
intervalDuration = 1000 / _root.swfFPS;
attach();
}
function attach() {
mc = game.field.mc.attachMovie("mc_pu_" + type, "mc_pu_" + type, game.field.mc.getNextHighestDepth());
mc.cacheAsBitmap = true;
hideHitArea();
mc._xscale = xScale;
mc._yscale = yScale;
placeOnField();
}
function attachToPanel() {
var _local3;
if (!panelSlot1Taken) {
panelSlot1Taken = true;
mc = _root.mc_intro.mc_panel.mc_powerups.attachMovie("mc_pu_" + type, "mc_panelpu1", _root.mc_intro.mc_panel.mc_powerups.getNextHighestDepth());
mc.slotPosition = 1;
_local3 = 192;
} else {
panelSlot2Taken = true;
mc = _root.mc_intro.mc_panel.mc_powerups.attachMovie("mc_pu_" + type, "mc_panelpu2", _root.mc_intro.mc_panel.mc_powerups.getNextHighestDepth());
mc.slotPosition = 2;
_local3 = 252;
}
hideHitArea();
mc.cacheAsBitmap = true;
mc._xscale = xScale;
mc._yscale = yScale;
mc._x = _local3;
mc._y = -157;
mc.powerUpType = type;
mc.onPress = function () {
PowerUp.activatePowerUp(this);
};
}
function hideHitArea() {
mc.mc_hitarea._visible = false;
}
function placeOnField() {
mc._x = getRand(fieldXMin, fieldXMax);
mc._y = startingRowY + (row * rowSpacing);
}
function startInterval() {
intervalId = setInterval(this, "intervalFunction", intervalDuration);
}
function stopInterval() {
clearInterval(intervalId);
}
function intervalFunction() {
if (mc.mc_hitarea.hitTest(game.field.offense.runningBack.mc.mc_hitarea)) {
if (!springEnabled) {
collision();
}
}
}
function collision() {
if (instant) {
if (!tornadoEnabled) {
stopInterval();
mc.removeMovieClip();
switch (type) {
case "quake" :
activateQuake();
break;
case "tornado" :
activateTornado();
break;
case "trophy" :
activateTrophy();
break;
}
}
} else {
_root.sndPickUpPowerUp1.start();
if (panelSlot1Taken and panelSlot2Taken) {
} else {
stopInterval();
mc.powerUp = this;
mc.play();
mc.onEnterFrame = function () {
if (this._currentframe == this._totalframes) {
var _local2 = this.powerUp;
this.removeMovieClip();
this.onEnterFrame = null;
_local2.attachToPanel();
}
};
}
}
}
function getRand(min, max) {
return(Math.round((Math.random() * ((max - min) + 1)) + (min - 0.5)));
}
static function activatePowerUp(panelMc) {
if (panelMc.slotPosition == 1) {
panelSlot1Taken = false;
} else {
panelSlot2Taken = false;
}
switch (panelMc.powerUpType) {
case "turbo" :
activateTurbo();
break;
case "spring" :
activateSpring();
}
panelMc.removeMovieClip();
}
static function activateTurbo() {
turboEnabled = true;
turboIntervalId = setInterval(_root, "turboIntervalFunction", 3500);
_root.sndTurbo1.start();
}
static function activateTrophy() {
trophyEnabled = true;
_root.sndTrophy1.start();
}
static function activateSpring() {
springEnabled = true;
springCount = 0;
_root.game.field.offense.runningBack.mc.stop();
var _local2 = 0;
while (_local2 < _root.game.field.offense.numBlockers) {
_root.game.field.offense.blocker[_local2].mc.stop();
_local2++;
}
springIntervalId = setInterval(_root, "springIntervalFunction", 1000 / _root.swfFPS);
}
static function activateTornado() {
tornadoEnabled = true;
_root.game.field.offense.runningBack.attachTornado();
while (_root.game.field.offense.runningBack.draggingTacklers.length > 0) {
var _local2 = _root.game.field.offense.runningBack.draggingTacklers.pop();
_root.game.field.offense.runningBack.draggingWeight = _root.game.field.offense.runningBack.draggingWeight - _root.game.field.defense.tackler[_local2].weight;
_root.game.field.defense.tackler[_local2].tornadoFling();
}
tornadoIntervalId = setInterval(_root, "tornadoIntervalFunction", 4000);
_root.sndTornado1.start(0.2);
}
static function activateQuake() {
quakeEnabled = true;
quakeCount = 0;
_root.game.field.offense.runningBack.mc.stop();
var _local2 = 0;
while (_local2 < _root.game.field.offense.numBlockers) {
_root.game.field.offense.blocker[_local2].mc.stop();
_local2++;
}
_root.game.field.offense.runningBack.bringToFront();
quakeIntervalId = setInterval(_root, "quakeIntervalFunction", 1000 / _root.swfFPS);
}
static var numPowerUps = 3;
static var numPowerUpTypes = 4;
static var springJump = 16;
static var quakeJump = 11;
}
Symbol 418 MovieClip [__Packages.Field] Frame 0
class Field
{
var game, mcActualField, mc, playableTopConstant, playableBottomConstant, playableLeftConstant, playableRightConstant, playableLeftOffset, playableRightOffset, touchDownY, stageFocusYOffset, defense, offense, stageFocusX, stageFocusY;
function Field (iGame) {
game = iGame;
mcActualField = game.mc.createEmptyMovieClip("mc_actualfield", game.mc.getNextHighestDepth());
mcActualField.attachMovie("mc_field", "mc_field", mcActualField.getNextHighestDepth());
mcActualField.mc_field.cacheAsBitmap = true;
mc = game.mc.createEmptyMovieClip("mc_field", game.mc.getNextHighestDepth());
var _local2 = -457;
var _local6 = -738;
var _local4 = -704;
var _local8 = 908;
var _local3 = 444;
var _local7 = -738;
var _local5 = 702;
var _local9 = 908;
playableTopConstant = -870;
playableBottomConstant = 1108;
playableLeftConstant = (_local2 - _local4) / (_local6 - _local8);
playableRightConstant = (_local3 - _local5) / (_local7 - _local9);
playableLeftOffset = ((_local2 + _local4) / 2) + 16;
playableRightOffset = ((_local3 + _local5) / 2) - 16;
touchDownY = -728;
stageFocusYOffset = 125;
defense = new Defense(game);
offense = new Offense(game);
}
function setStageFocus(tempX, tempY) {
stageFocusX = tempX;
stageFocusY = tempY;
}
function focusStage() {
mc._x = stageFocusX;
mc._y = stageFocusY;
}
function focusField() {
mcActualField.mc_field._x = stageFocusX;
mcActualField.mc_field._y = stageFocusY;
}
}
Symbol 419 MovieClip [__Packages.Offense] Frame 0
class Offense
{
var game, runningBack, blocker, numBlockers;
function Offense (iGame) {
game = iGame;
runningBack = new RunningBack(game);
blocker = new Array();
numBlockers = 3;
var _local2 = 0;
while (_local2 < numBlockers) {
blocker[_local2] = new Blocker(game, _local2);
_local2++;
}
}
}
Symbol 420 MovieClip [__Packages.RunningBack] Frame 0
class RunningBack
{
var game, leftRightSpeed, upDownSpeed, diagonalSpeed, startingX, startingY, playerScale, currentDirection, movable, draggingWeight, draggingTacklers, mc;
function RunningBack (iGame) {
game = iGame;
leftRightSpeed = 11.3;
upDownSpeed = 7.6;
diagonalSpeed = 6;
startingX = 205;
startingY = 890;
playerScale = 60;
currentDirection = "n";
movable = false;
draggingWeight = 0;
draggingTacklers = new Array();
}
function initialAttach() {
mc = game.field.mc.attachMovie("mc_runningback_catch", "mc_runningback", game.field.mc.getNextHighestDepth());
scalePlayer();
mc._xscale = -mc._xscale;
hideHitAreas();
initialActuallyMove(startingX, startingY);
readyToGo = false;
mc.stop();
}
function catchBall() {
mc.play();
mc.onEnterFrame = function () {
if (this._currentframe == this._totalframes) {
_root.game.field.offense.runningBack.movable = true;
_root.game.field.offense.runningBack.detach();
_root.game.field.offense.runningBack.attach(_root.game.field.offense.runningBack.currentDirection);
_root.game.field.offense.runningBack.actuallyMove(_root.game.field.offense.runningBack.startingX, _root.game.field.offense.runningBack.startingY);
_root.game.field.offense.runningBack.readyToGo = true;
_root.game.startGame();
}
};
}
function attach(dir) {
mc = game.field.mc.attachMovie("mc_runningback_" + dir, "mc_runningback", game.field.mc.getNextHighestDepth());
scalePlayer();
hideHitAreas();
}
function attachTornado() {
var _local3 = mc._x;
var _local2 = mc._y;
detach();
mc = game.field.mc.attachMovie("mc_tornado", "mc_runningback", game.field.mc.getNextHighestDepth());
mc.mc_hitarea._visible = false;
mc.mc_hitarea_big._visible = false;
mc._x = _local3;
mc._y = _local2;
mc._xscale = (mc._yscale = 100);
}
function detach() {
mc.removeMovieClip();
}
function orient(dir) {
if (dir != currentDirection) {
var _local3 = mc._x;
var _local2 = mc._y;
detach();
attach(dir);
mc._x = _local3;
mc._y = _local2;
currentDirection = dir;
}
}
function forceOrient(dir) {
var _local3 = mc._x;
var _local2 = mc._y;
detach();
attach(dir);
mc._x = _local3;
mc._y = _local2;
currentDirection = dir;
}
function coordinateMove(dir) {
if (game.inProgress) {
if (movable) {
var _local4 = mc._x;
var _local3 = mc._y;
var _local2;
if (draggingWeight > 500) {
_local2 = 0.5;
} else if (draggingWeight > 200) {
_local2 = 0.75;
} else {
_local2 = 1;
}
if (PowerUp.turboEnabled) {
_local2 = _local2 * 1.5;
}
if (dir == "n") {
_local3 = _local3 - (upDownSpeed * _local2);
} else if (dir == "e") {
_local4 = _local4 + (leftRightSpeed * _local2);
} else if (dir == "s") {
_local3 = _local3 + (upDownSpeed * _local2);
} else if (dir == "w") {
_local4 = _local4 - (leftRightSpeed * _local2);
} else if (dir == "ne") {
_local4 = _local4 + (diagonalSpeed * _local2);
_local3 = _local3 - (diagonalSpeed * _local2);
} else if (dir == "se") {
_local4 = _local4 + (diagonalSpeed * _local2);
_local3 = _local3 + (diagonalSpeed * _local2);
} else if (dir == "sw") {
_local4 = _local4 - (diagonalSpeed * _local2);
_local3 = _local3 + (diagonalSpeed * _local2);
} else if (dir == "nw") {
_local4 = _local4 - (diagonalSpeed * _local2);
_local3 = _local3 - (diagonalSpeed * _local2);
}
if (_local4 < 0) {
_local4 = leftBoundaryCheck(_local4, _local3);
} else {
_local4 = rightBoundaryCheck(_local4, _local3);
}
if (_local3 < 0) {
if (_local3 < game.field.touchDownY) {
game.gameWon();
}
} else if (_local3 > game.field.playableBottomConstant) {
_local3 = game.field.playableBottomConstant;
}
if (PowerUp.tornadoEnabled) {
actuallyMove(_local4, _local3);
} else if (PowerUp.quakeDazeEnabled) {
} else {
orient(dir);
actuallyMove(_local4, _local3);
adjustDraggingTacklerDepths();
}
}
}
}
function leftBoundaryCheck(destX, destY) {
if (destX < ((destY * game.field.playableLeftConstant) + game.field.playableLeftOffset)) {
destX = (destY * game.field.playableLeftConstant) + game.field.playableLeftOffset;
}
return(destX);
}
function rightBoundaryCheck(destX, destY) {
if (destX > ((destY * game.field.playableRightConstant) + game.field.playableRightOffset)) {
destX = (destY * game.field.playableRightConstant) + game.field.playableRightOffset;
}
return(destX);
}
function initialActuallyMove(destX, destY) {
mc._x = destX;
mc._y = destY;
}
function actuallyMove(destX, destY) {
mc._x = destX;
mc._y = destY;
if (PowerUp.springEnabled) {
mc.swapDepths(mc._parent.getNextHighestDepth());
}
game.field.setStageFocus((-destX) + (0.5 * Stage.width), ((-destY) + (0.5 * Stage.height)) + game.field.stageFocusYOffset);
game.field.focusStage();
game.field.focusField();
}
function bringToFront() {
mc.swapDepths(mc._parent.getNextHighestDepth());
}
function hideHitAreas() {
mc.mc_hitarea._visible = false;
mc.mc_hitarea_big._visible = false;
}
function scalePlayer() {
mc._xscale = (mc._yscale = playerScale);
}
function knockOffTackler() {
var _local3 = Number(draggingTacklers.pop());
draggingWeight = draggingWeight - game.field.defense.tackler[_local3].weight;
game.field.defense.tackler[_local3].attachSitting();
game.field.defense.tackler[_local3].dragging = false;
game.field.defense.tackler[_local3].engagedInBlock = true;
_root.sndShakeItOff1.start(0.2);
}
function adjustDraggingTacklerDepths() {
var _local2 = 0;
while (_local2 < draggingTacklers.length) {
game.field.defense.tackler[_local2].mc.swapDepths(game.field.mc.getNextHighestDepth());
_local2++;
}
}
var readyToGo = false;
}
Symbol 421 MovieClip [__Packages.Blocker] Frame 0
class Blocker
{
var game, blockerNum, currentDirection, playerScale, movable, xOffset, yOffset, upDownSpeed, leftRightSpeed, diagonalSpeed, mc;
function Blocker (iGame, iBlockerNum) {
game = iGame;
blockerNum = iBlockerNum;
currentDirection = "n";
playerScale = 60;
movable = true;
switch (blockerNum) {
case 0 :
xOffset = 3;
yOffset = -75;
break;
case 1 :
xOffset = -70;
yOffset = -40;
break;
case 2 :
xOffset = 70;
yOffset = -40;
break;
}
}
function initialAttach() {
upDownSpeed = game.field.offense.runningBack.upDownSpeed;
leftRightSpeed = game.field.offense.runningBack.leftRightSpeed;
diagonalSpeed = game.field.offense.runningBack.diagonalSpeed;
attach(currentDirection);
scalePlayer();
actuallyMove(game.field.offense.runningBack.mc._x + xOffset, game.field.offense.runningBack.mc._y + yOffset);
}
function attach(dir) {
mc = game.field.mc.attachMovie((("mc_blocker" + blockerNum) + "_") + dir, "mc_blocker" + blockerNum, game.field.mc.getNextHighestDepth());
scalePlayer();
hideHitArea();
}
function detach() {
mc.removeMovieClip();
}
function coordinateMove(dir) {
if (game.inProgress) {
if (movable) {
var _local3 = game.field.offense.runningBack.mc._x + xOffset;
var _local2 = game.field.offense.runningBack.mc._y + yOffset;
if (_local3 < 0) {
_local3 = leftBoundaryCheck(_local3, _local2);
} else {
_local3 = rightBoundaryCheck(_local3, _local2);
}
if (_local2 < 0) {
if (_local2 < game.field.playableTopConstant) {
_local2 = game.field.playableTopConstant;
}
} else if (_local2 > game.field.playableBottomConstant) {
_local2 = game.field.playableBottomConstant;
}
orient(dir);
actuallyMove(_local3, _local2);
}
}
}
function leftBoundaryCheck(destX, destY) {
if (destX < ((destY * game.field.playableLeftConstant) + game.field.playableLeftOffset)) {
destX = (destY * game.field.playableLeftConstant) + game.field.playableLeftOffset;
}
return(destX);
}
function rightBoundaryCheck(destX, destY) {
if (destX > ((destY * game.field.playableRightConstant) + game.field.playableRightOffset)) {
destX = (destY * game.field.playableRightConstant) + game.field.playableRightOffset;
}
return(destX);
}
function orient(dir) {
if (dir != currentDirection) {
var _local3 = mc._x;
var _local2 = mc._y;
detach();
attach(dir);
mc._x = _local3;
mc._y = _local2;
currentDirection = dir;
}
}
function actuallyMove(destX, destY) {
mc._x = destX;
mc._y = destY;
}
function hideHitArea() {
mc.mc_hitarea._visible = false;
}
function scalePlayer() {
mc._xscale = (mc._yscale = playerScale);
}
}
Symbol 422 MovieClip [__Packages.Defense] Frame 0
class Defense
{
var game, tackler, numTacklers;
function Defense (iGame) {
game = iGame;
tackler = new Array();
switch (game.currentLevel) {
case 1 :
numTacklers = 9;
break;
case 2 :
numTacklers = 10;
break;
case 3 :
numTacklers = 11;
break;
case 4 :
numTacklers = 12;
break;
case 5 :
numTacklers = 13;
break;
case 6 :
numTacklers = 14;
break;
case 7 :
numTacklers = 14;
break;
case 8 :
numTacklers = 14;
break;
default :
numTacklers = 14;
}
var _local2 = 0;
while (_local2 < numTacklers) {
tackler[_local2] = new Tackler(game, _local2);
_local2++;
}
}
}
Symbol 423 MovieClip [__Packages.Tackler] Frame 0
class Tackler
{
var game, tacklerNum, fieldXMin, fieldXMax, playerScale, weight, maxMovementRatio, movementDist, movementRandomFactor, recentXMovement, recentYMovement, farEnoughBehindPlayerDist, intervalDuration, active, activeDistance, passedRunningBack, engagedInBlock, dragging, dragNum, cloudScale, startingX, startingY, mc, intervalId, beingThrown;
function Tackler (iGame, iTacklerNum) {
game = iGame;
tacklerNum = iTacklerNum;
fieldXMin = -370;
fieldXMax = 370;
playerScale = 60;
weight = getRand(180, 250);
maxMovementRatio = 0.95;
switch (game.currentLevel) {
case 1 :
movementDist = 4;
movementRandomFactor = 2;
break;
case 2 :
movementDist = 5;
movementRandomFactor = 2;
break;
case 3 :
movementDist = 7;
movementRandomFactor = 2;
break;
case 4 :
movementDist = 8;
movementRandomFactor = 2;
break;
case 5 :
movementDist = 9;
movementRandomFactor = 2;
break;
case 6 :
movementDist = 10;
movementRandomFactor = 2;
break;
case 7 :
movementDist = 11;
movementRandomFactor = 2;
break;
case 8 :
movementDist = 12;
movementRandomFactor = 2;
break;
default :
movementDist = 13;
movementRandomFactor = 2;
}
recentXMovement = 0;
recentYMovement = 0;
farEnoughBehindPlayerDist = 190;
intervalDuration = 1000 / _root.swfFPS;
active = false;
activeDistance = 480;
passedRunningBack = false;
engagedInBlock = false;
dragging = false;
dragNum = -1;
cloudScale = 130;
switch (tacklerNum) {
case 13 :
startingX = getFieldX();
startingY = -700;
break;
case 12 :
startingX = getFieldX();
startingY = -600;
break;
case 11 :
startingX = getFieldX();
startingY = -500;
break;
case 10 :
startingX = getFieldX();
startingY = -400;
break;
case 9 :
startingX = getFieldX();
startingY = -300;
break;
case 8 :
startingX = getFieldX();
startingY = -200;
break;
case 7 :
startingX = getFieldX();
startingY = -100;
break;
case 6 :
startingX = getFieldX();
startingY = 0;
break;
case 5 :
startingX = getFieldX();
startingY = 100;
break;
case 4 :
startingX = getFieldX();
startingY = 200;
break;
case 3 :
startingX = getFieldX();
startingY = 300;
break;
case 2 :
startingX = getFieldX();
startingY = 400;
break;
case 1 :
startingX = getFieldX();
startingY = 500;
break;
case 0 :
startingX = getFieldX();
startingY = 600;
break;
default :
trace("Need to provide more startingX and startingY values in Tackler.as");
}
}
function initialAttach() {
attach();
actuallyMove(startingX, startingY);
mc.cacheAsBitmap = true;
}
function attach() {
mc = game.field.mc.attachMovie("mc_tackler", "mc_tackler_" + tacklerNum, game.field.mc.getNextHighestDepth());
scalePlayer();
hideHitAreas();
}
function attachSitting() {
var _local5 = mc._x;
var _local4 = mc._y;
var _local3 = mc.getDepth();
detach();
var _local2;
switch (getRand(0, 7)) {
case 0 :
_local2 = "n";
break;
case 1 :
_local2 = "ne";
break;
case 2 :
_local2 = "e";
break;
case 3 :
_local2 = "se";
break;
case 4 :
_local2 = "s";
break;
case 5 :
_local2 = "sw";
break;
case 6 :
_local2 = "w";
break;
case 7 :
_local2 = "nw";
break;
default :
_local2 = "s";
}
mc = game.field.mc.attachMovie("mc_tackler_sitting_" + _local2, "mc_tackler_" + tacklerNum, _local3);
mc._x = _local5;
mc._y = _local4;
scalePlayer();
hideHitAreas();
}
function detach() {
mc.removeMovieClip();
}
function getFieldX() {
return(getRand(fieldXMin, fieldXMax));
}
function getRand(min, max) {
return(Math.round((Math.random() * ((max - min) + 1)) + (min - 0.5)));
}
function actuallyMove(destX, destY) {
mc._x = destX;
mc._y = destY;
}
function startInterval() {
intervalId = setInterval(this, "intervalFunction", intervalDuration);
}
function intervalFunction() {
if (!PowerUp.quakeEnabled) {
if (active) {
if (dragging) {
coordinateMoveDragging();
} else {
checkDepthAgainstOffense();
if (engagedInBlock) {
if (!beingThrown) {
respawnCheck();
}
} else if (!(blockerHitTest() or runningBackBigHitTest())) {
coordinateMove();
}
}
} else {
checkForActive();
}
}
}
function stopInterval() {
clearInterval(intervalId);
}
function checkForActive() {
if ((game.field.offense.runningBack.mc._y - mc._y) < activeDistance) {
active = true;
mc.cacheAsBitmap = false;
}
}
function checkDepthAgainstOffense() {
var _local2 = 0;
while (_local2 < 3) {
depthAdjustment(mc, game.field.offense.blocker[_local2].mc);
_local2++;
}
if (!PowerUp.springEnabled) {
depthAdjustment(mc, game.field.offense.runningBack.mc);
}
}
function depthAdjustment(mc1, mc2) {
if ((mc1._y + mc1.mc_hitarea._y) > (mc2._y + mc2.mc_hitarea._y)) {
if (mc1.getDepth() < mc2.getDepth()) {
mc1.swapDepths(mc2);
}
} else if (mc1.getDepth() > mc2.getDepth()) {
mc1.swapDepths(mc2);
}
}
function blockerHitTest() {
if (!PowerUp.springEnabled) {
var _local2 = 0;
while (_local2 < game.field.offense.numBlockers) {
if (game.field.offense.blocker[_local2].movable) {
if (mc.mc_hitarea.hitTest(game.field.offense.blocker[_local2].mc.mc_hitarea)) {
blockerCollision(_local2);
return(true);
}
}
_local2++;
}
}
return(false);
}
function runningBackBigHitTest() {
if (mc.mc_hitarea.hitTest(game.field.offense.runningBack.mc.mc_hitarea_big) and (!PowerUp.springEnabled)) {
runningBackCollision();
return(true);
}
return(false);
}
function hideHitAreas() {
mc.mc_hitarea._visible = false;
}
function scalePlayer() {
mc._xscale = (mc._yscale = playerScale);
}
function blockerCollision(blockerNum) {
game.field.offense.blocker[blockerNum].movable = false;
game.field.offense.blocker[blockerNum].mc._visible = false;
engagedInBlock = true;
attachSitting();
attachCloud(game.field.offense.blocker[blockerNum].mc);
_root["sndHit" + getRand(1, 4)].start(0.1);
}
function attachCloud(opponentMc) {
var _local2 = game.field.mc.attachMovie("mc_cloud", "mc_cloud", game.field.mc.getNextHighestDepth());
_local2._xscale = (_local2._yscale = cloudScale);
_local2._x = (mc._x + opponentMc._x) / 2;
_local2._y = ((mc._y + opponentMc._y) / 2) - (0.5 * mc._height);
_local2.onEnterFrame = function () {
if (this._currentframe == this._totalframes) {
this.removeMovieClip();
}
};
}
function runningBackCollision() {
if (PowerUp.tornadoEnabled) {
tornadoFling();
} else if (PowerUp.trophyEnabled) {
PowerUp.trophyEnabled = false;
cloudAndSit(game.field.offense.runningBack.mc);
} else {
dragging = true;
detach();
mc = game.field.mc.attachMovie("mc_tackler_diving_n", "mc_tackler_" + tacklerNum, game.field.mc.getNextHighestDepth());
mc.cacheAsBitmap = true;
mc.swapDepths(game.field.mc.getNextHighestDepth());
dragNum = game.field.offense.runningBack.draggingTacklers.push(tacklerNum);
game.controls.mouseMotionCount = 0;
game.field.offense.runningBack.draggingWeight = game.field.offense.runningBack.draggingWeight + weight;
coordinateMoveDragging();
scalePlayer();
hideHitAreas();
game.checkForGameOver();
}
}
function cloudAndSit(opponentMc) {
engagedInBlock = true;
attachSitting();
attachCloud(opponentMc);
}
function coordinateMove() {
var _local9 = game.field.offense.runningBack.mc._x - mc._x;
var _local7 = game.field.offense.runningBack.mc._y - mc._y;
if (_local7 < 0) {
passedRunningBack = true;
}
var _local2;
var _local3;
if (passedRunningBack) {
respawnCheck();
} else {
var _local10 = Math.abs(_local9) + Math.abs(_local7);
var _local5 = _local9 / _local10;
var _local8 = _local7 / _local10;
if (_local5 > maxMovementRatio) {
_local5 = maxMovementRatio;
_local8 = 1 - maxMovementRatio;
}
recentXMovement = _local5 * movementDist;
recentYMovement = _local8 * movementDist;
}
_local2 = mc._x + recentXMovement;
_local3 = mc._y + recentYMovement;
var _local4 = (_local3 * game.field.playableLeftConstant) + game.field.playableLeftOffset;
var _local6 = (_local3 * game.field.playableRightConstant) + game.field.playableRightOffset;
if (_local2 < _local4) {
_local3 = _local3 + (_local4 - _local2);
_local2 = _local4;
recentXMovement = 0;
recentYMovement = movementDist;
} else if (_local2 > _local6) {
_local3 = _local3 + (_local2 - _local6);
_local2 = _local6;
recentXMovement = 0;
recentYMovement = movementDist;
}
actuallyMove(_local2 + getRand(-movementRandomFactor, movementRandomFactor), _local3 + getRand(-movementRandomFactor, movementRandomFactor));
}
function coordinateMoveDragging() {
var _local2;
if (dragNum == 0) {
_local2 = 30;
} else {
_local2 = 40;
}
actuallyMove(game.field.offense.runningBack.mc._x, game.field.offense.runningBack.mc._y + (_local2 * dragNum));
}
function respawnCheck() {
var _local2 = game.field.offense.runningBack.mc._y - mc._y;
if (_local2 < (-farEnoughBehindPlayerDist)) {
if ((game.field.offense.runningBack.mc._y - game.field.touchDownY) > ((Stage.height - game.field.stageFocusYOffset) + 100)) {
respawn();
} else {
deactivate();
}
}
}
function respawn() {
passedRunningBack = false;
active = true;
dragging = false;
engagedInBlock = false;
detach();
attach();
mc._rotation = 0;
mc._visible = true;
var _local3 = game.field.offense.runningBack.mc._x + getRand(fieldXMin, fieldXMax);
var _local2 = getRand(game.field.touchDownY - 150, game.field.offense.runningBack.mc._y - 480);
actuallyMove(_local3, _local2);
}
function deactivate() {
active = false;
mc._visible = false;
mc._y = game.field.playableBottomConstant + 300;
recentXMovement = 0;
recentYMovement = 0;
}
function tornadoFling() {
engagedInBlock = true;
dragging = false;
beingThrown = true;
var xOffset = getRand(1300, 1500);
var yOffset = getRand(1300, 1500);
var rOffset = getRand(600, 700);
if (getRand(0, 1)) {
xOffset = xOffset * -1;
}
if (getRand(0, 1)) {
yOffset = yOffset * -1;
}
var _local4 = _root.mc_tweenwatcher.tweenCount++;
var _local3 = _root.mc_tweenwatcher.createEmptyMovieClip("mc_t" + _local4, _root.mc_tweenwatcher.getNextHighestDepth());
_local3.tacklerNum = tacklerNum;
_local3.mc = mc;
_local3.count = 0;
_local3.countEnd = 100;
_local3.xOffset = xOffset / _local3.countEnd;
_local3.yOffset = yOffset / _local3.countEnd;
_local3.rOffset = rOffset / _local3.countEnd;
_local3.onEnterFrame = function () {
this.mc._x = this.mc._x + this.xOffset;
this.mc._y = this.mc._y + this.yOffset;
this.mc._rotation = this.mc._rotation + this.rOffset;
this.count++;
if (this.count > this.countEnd) {
_root.game.field.defense.tackler[this.tacklerNum].beingThrown = false;
this.mc._visible = false;
this.onEnterFrame = null;
}
};
}
}
Symbol 424 MovieClip [__Packages.mx.transitions.easing.None] Frame 0
class mx.transitions.easing.None
{
function None () {
}
static function easeNone(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeIn(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeOut(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeInOut(t, b, c, d) {
return(((c * t) / d) + b);
}
static var version = "1.1.0.52";
}
Symbol 322 MovieClip [mc_football] Frame 8
gotoAndPlay (1);
Symbol 329 MovieClip [mc_pu_quake] Frame 1
stop();
Symbol 333 MovieClip [mc_pu_spring] Frame 1
stop();
Symbol 336 MovieClip [mc_pu_tornado] Frame 1
stop();
Symbol 339 MovieClip [mc_pu_trophy] Frame 1
stop();
Symbol 356 MovieClip [mc_pu_turbo] Frame 1
stop();
Symbol 364 MovieClip [mc_tornado] Frame 7
gotoAndPlay (1);
Symbol 388 MovieClip Frame 1
stop();
Symbol 389 MovieClip Frame 1
stop();
Symbol 390 MovieClip Frame 1
stop();
Symbol 391 MovieClip Frame 1
stop();
Symbol 393 MovieClip Frame 1
stop();
Symbol 409 MovieClip [mc_intro] Frame 1
stop();
var stopAtInstructions;
bt_instructions._visible = true;
bt_playnow._visible = true;
mc_x._visible = true;
bt_instructions.onPress = function () {
this.onPress = null;
stopAtInstructions = true;
play();
};
bt_playnow.onPress = function () {
this.onPress = null;
stopAtInstructions = false;
mc_x._visible = false;
this._visible = false;
play();
};
Symbol 409 MovieClip [mc_intro] Frame 7
if (stopAtInstructions) {
bt_instructions._visible = true;
} else {
bt_instructions._visible = false;
}
Symbol 409 MovieClip [mc_intro] Frame 11
if (stopAtInstructions) {
stop();
mc_instructions._visible = true;
mc_instructionstext._visible = true;
} else {
mc_instructions._visible = false;
mc_instructionstext._visible = false;
}
Symbol 409 MovieClip [mc_intro] Frame 19
var currentLevel = 1;
var score = 0;
_root.createNewGame(currentLevel, score);
Symbol 409 MovieClip [mc_intro] Frame 22
stop();
Symbol 409 MovieClip [mc_intro] Frame 24
stop();
_root.createNewGame(currentLevel, score);
Symbol 411 MovieClip [mc_gameover] Frame 1
nflrz.onRelease = function () {
trace("now clicked");
if (clickTag == undefined) {
getURL ("http://nflrz.nflrush.com", "_blank");
} else {
getURL (clickTag, "_blank");
}
};