Frame 2
function Doge_PlayAgain() {
Doge_Close();
_global.mcRoot.gotoAndStop("intro");
}
function Doge_Load() {
createEmptyMovieClip("DOGE", 1500);
DOGE._x = 84;
DOGE._y = 30;
}
function Doge_Open(t_score) {
_level0.playerScore = t_score;
DOGE.loadMovie(_level0.dogePath, 1);
}
function Doge_Close() {
removeMovieClip(_level0.DOGE);
Doge_Load();
}
function Doge_Init(t_path, t_event, t_subject) {
_level0.dogePath = t_path;
_level0.eventID = t_event;
_level0.subject = t_subject;
_level0.playerScore = 0;
Doge_Load();
}
function Doge_run() {
DOGE.loadMovie(_level0.dogePath, 1);
}
stop();
this.onEnterFrame = function () {
var _local2 = this;
var _local1 = _local2.getBytesLoaded() / _local2.getBytesTotal();
_local2.loaderBar._xscale = 100 * _local1;
if (_local1 == 1) {
_global.maggiePerformance = new smashing.PerformanceTest(null, function () {
gotoAndStop ("intro");
});
delete _local2.onEnterFrame;
}
};
oBase = new smashing.Base();
_global.mcRoot = this;
_global.bMute = false;
smashing.Viewport.init(580, 320);
_level0.fsdPlayAgain = Doge_PlayAgain;
var dogePath = "http://www.disney.go.com/disneychannel/global/game/scoredisplays/fsd.swf";
var dogeEventID = "dc_bom_mgr_1923";
var dogeSubject = "Buzz on Maggie - Germy Roundup";
Doge_Init(dogePath, dogeEventID, dogeSubject);
submitScore = function () {
Doge_Open(this.oMain.score);
};
Frame 8
stop();
Instance of Symbol 156 MovieClip [mcBuildingBottom0] in Frame 8
onClipEvent (load) {
BuildingHandler.tileWidthBot = this._width;
BuildingHandler.tileHeightBot = this.spacerY._y - 1;
}
Instance of Symbol 187 MovieClip [mcBuildingMiddle0] in Frame 8
onClipEvent (load) {
BuildingHandler.tileWidthMid = this._width;
BuildingHandler.tileHeightMid = this.spacerY._y - 1;
}
Instance of Symbol 220 MovieClip [mcBuildingTop0] in Frame 8
onClipEvent (load) {
BuildingHandler.tileWidthTop = this._width;
BuildingHandler.tileHeightTop = this.spacerY._y - 1;
}
Instance of Symbol 565 MovieClip "mcSound" in Frame 8
onClipEvent (load) {
_global.oSound = new smashing.SoundHandler(this);
}
Instance of Symbol 568 MovieClip "mcMusic" in Frame 8
onClipEvent (load) {
this.oSound = new Sound(this);
}
Frame 12
stop();
Instance of Symbol 766 MovieClip [mcPlayer] "mcShadow" in Frame 17
onClipEvent (load) {
this._visible = false;
}
Instance of Symbol 1206 MovieClip "startPopup" in Frame 17
onClipEvent (load) {
this._visible = false;
this.go = function () {
this._visible = true;
this.play();
};
}
Frame 18
stop();
oMain = new MaggieWorld(this);
oBase.setWorld(oMain);
oMain.newGame();
if (_global.bHelp == true) {
mcMenu.show("help");
}
Symbol 1224 MovieClip [__Packages.smashing.PerformanceTest] Frame 0
class smashing.PerformanceTest
{
function PerformanceTest (itterations, onComplete) {
var _local1 = this;
if (itterations) {
_local1.loops = itterations;
}
_local1.remainingLoops = _local1.loops;
if (onComplete) {
_local1.onComplete = onComplete;
}
var _local2 = System.capabilities.version.substr(4).split(",");
_local1.flashMajorVersion = Number(_local2[0]);
_local1.flashMinorVersion = Number(_local2[2]);
_local1.complete = false;
_local1.intervalID = setInterval(function (o) {
o.test();
}, 0, _local1);
}
function test() {
var _local3 = this;
if (_local3.remainingLoops <= 0) {
_local3.finalize();
clearInterval(_local3.intervalID);
} else {
_local3.remainingLoops--;
var startTime = getTimer();
var _local2;
var _local1 = 0;
while (_local1 < 6400) {
_local2 = {};
_local1++;
}
_local3.time = _local3.time + (getTimer() - startTime);
}
}
function finalize() {
var _local1 = this;
_local1.score = Math.floor((_local1.loops / _local1.time) * 10000);
if (_local1.flashMajorVersion >= 7) {
_local1.log = Math.log(_local1.score * 0.015);
} else {
_local1.log = Math.log(_local1.score * 0.023);
}
_local1.processor = _local1.log * 1000;
_local1.complete = true;
_local1.onComplete(_local1);
}
function toString() {
var _local1 = this;
if (_local1.score) {
return((((((((("Loops:\t" + _local1.loops) + "\nFlash Version: \t") + System.capabilities.version) + "\nTotal Time:\t") + _local1.time) + "\nScore: \t") + _local1.score) + "\nProcessor: \t") + _local1.processor);
}
return("Test In Process.");
}
var score = 0;
var time = 0;
var loops = 20;
var complete = false;
}
Symbol 1225 MovieClip [__Packages.smashing.Base] Frame 0
class smashing.Base
{
static var interval;
var aT, currentWorld;
function Base () {
if (interval != null) {
clearInterval(interval);
interval = null;
}
aT = [];
}
function get playing() {
return(bPlay);
}
function play() {
var _local1 = this;
if (interval == null) {
_local1.bPlay = true;
_local1.last = getTimer();
interval = setInterval(function (o) {
o.update();
}, 0, _local1);
_local1.currentWorld.onPlay();
}
}
function pause() {
if (interval != null) {
bPlay = false;
clearInterval(interval);
interval = null;
currentWorld.onPause();
}
}
function update(o) {
var _local2 = this;
var nCurrent = getTimer();
var nElapsed = ((nCurrent - _local2.last) / 1000);
_local2.currentWorld.update(nElapsed);
_local2.last = nCurrent;
if (_local2.aT.length > 4) {
var _local3;
_local3 = 0;
var _local1 = 0;
while (_local1 < _local2.aT.length) {
_local3 = _local3 + _local2.aT[_local1];
_local1++;
}
_root.nDebug0 = _local3 / _local2.aT.length;
_local2.aT = [];
}
_local2.aT.push(nElapsed);
}
function setWorld(oWorld) {
var _local1 = this;
if (oWorld != null) {
_local1.currentWorld.onExit();
_local1.currentWorld = oWorld;
_local1.currentWorld.onEnter();
}
}
static function hey() {
}
var bPlay = false;
}
Symbol 1226 MovieClip [__Packages.smashing.World] Frame 0
interface smashing.World{}
Symbol 1227 MovieClip [__Packages.smashing.Viewport] Frame 0
class smashing.Viewport
{
static var x, y, halfWidth, halfHeight, width, height, centerX, centerY, startX, startY;
function Viewport () {
}
static function init(nWidth, nHeight) {
var _local1 = nWidth;
var _local2 = nHeight;
if (_local1 == undefined) {
_local1 = Stage.width;
}
if (_local2 == undefined) {
_local2 = Stage.height;
}
Stage.scaleMode = "showAll";
x = _local1 / 2;
y = _local2 / 2;
halfWidth = _local1 / 2;
halfHeight = _local2 / 2;
width = _local1;
height = _local2;
centerX = x;
centerY = y;
startX = x;
startY = y;
Stage.scaleMode = "noScale";
}
static function getPos(o) {
var _local2 = o;
var _local1 = new smashing.RenderResult();
var xd = (_local2.x - x);
var yd = (_local2.y - y);
var _local3 = _local2.z - z;
_local1.x = xd;
_local2.mpX = xd;
_local1.y = yd;
_local2.mpY = yd;
_local1.scale = focal / (focal + _local3);
_local2.mpZ = _local3;
return(_local1);
}
static function localize(p) {
var _local1 = p;
return(new smashing.Point3D(_local1.x - x, _local1.y - y, _local1.z - z));
}
static function getFocal(p) {
var _local3 = p;
var _local1 = new smashing.Point3D(_local3.x - x, _local3.y - y, _local3.z - z);
var _local2 = focal / (focal + _local1.z);
return(new smashing.Point((_local1.x * _local2) + centerX, (_local1.y * _local2) + centerY));
}
static function getScaleMod(zd) {
return(focal / (focal + zd));
}
static function reset() {
x = startX;
y = startY;
z = 0;
}
static var z = 0;
static var focal = 1300;
}
Symbol 1228 MovieClip [__Packages.smashing.Point3D] Frame 0
class smashing.Point3D
{
var x, y, z;
function Point3D (x, y, z) {
var _local1 = this;
_local1.x = Number(x);
_local1.y = Number(y);
_local1.z = Number(z);
}
function get length() {
var _local1 = this;
return(Math.sqrt(((_local1.x * _local1.x) + (_local1.y * _local1.y)) + (_local1.z * _local1.z)));
}
function set length(newLength) {
var _local1 = this;
if (_local1.__get__length() != 0) {
var _local2 = newLength / _local1.__get__length();
_local1.x = _local1.x * _local2;
_local1.y = _local1.y * _local2;
_local1.z = _local1.z * _local2;
}
//return(_local1.__get__length());
}
function get lengthSqu() {
var _local1 = this;
return(((_local1.x * _local1.x) + (_local1.y * _local1.y)) + (_local1.z * _local1.z));
}
function copy() {
var _local1 = this;
return(new smashing.Point3D(_local1.x, _local1.y, _local1.z));
}
function addPoint(p) {
var _local1 = p;
var _local2 = this;
return(new smashing.Point3D(_local1.x + _local2.x, _local1.y + _local2.y, _local1.z + _local2.z));
}
function subtractPoint(p) {
var _local1 = p;
var _local2 = this;
return(new smashing.Point3D(_local2.x - _local1.x, _local2.y - _local1.y, _local2.z - _local1.z));
}
function addScalar(n) {
var _local1 = n;
var _local2 = this;
return(new smashing.Point3D(_local2.x + _local1, _local2.y + _local1, _local2.z + _local1));
}
function subtractScalar(n) {
var _local1 = n;
var _local2 = this;
return(new smashing.Point3D(_local2.x - _local1, _local2.y - _local1, _local2.z - _local1));
}
function addPointMe(p) {
var _local1 = p;
var _local2 = this;
_local2.x = _local2.x + _local1.x;
_local2.y = _local2.y + _local1.y;
_local2.z = _local2.z + _local1.z;
}
function subtractPointMe(p) {
var _local1 = p;
var _local2 = this;
_local2.x = _local2.x - _local1.x;
_local2.y = _local2.y - _local1.y;
_local2.z = _local2.z - _local1.z;
}
function addScalarMe(n) {
var _local1 = n;
var _local2 = this;
_local2.x = _local2.x + _local1;
_local2.y = _local2.y + _local1;
_local2.z = _local2.z + _local1;
}
function subtractScalarMe(n) {
var _local1 = n;
var _local2 = this;
_local2.x = _local2.x - _local1;
_local2.y = _local2.y - _local1;
_local2.z = _local2.z - _local1;
}
function multiply(n) {
var _local2 = n;
var _local1 = copy();
_local1.x = _local1.x * _local2;
_local1.y = _local1.y * _local2;
_local1.z = _local1.z * _local2;
return(_local1);
}
function divide(n) {
var _local2 = n;
var _local1 = copy();
if (_local2 == 0) {
_local1.x = 0;
_local1.y = 0;
_local1.z = 0;
} else {
_local1.x = _local1.x / _local2;
_local1.y = _local1.y / _local2;
_local1.z = _local1.z / _local2;
return(_local1);
}
return(undefined);
}
function multiplyMe(n) {
var _local1 = n;
var _local2 = this;
_local2.x = _local2.x * _local1;
_local2.y = _local2.y * _local1;
_local2.z = _local2.z * _local1;
}
function divideMe(n) {
var _local1 = n;
var _local2 = this;
_local2.x = _local2.x / _local1;
_local2.y = _local2.y / _local1;
_local2.z = _local2.z / _local1;
}
function dot(p) {
var _local1 = p;
var _local2 = this;
return(((_local2.x * _local1.x) + (_local2.y * _local1.y)) + (_local2.z * _local1.z));
}
function cross(p) {
var _local1 = p;
var _local2 = this;
return(new smashing.Point3D((_local2.y * _local1.z) - (_local2.z * _local1.y), (_local2.z * _local1.x) - (_local2.x * _local1.z), (_local2.x * _local1.y) - (_local2.y * _local1.x)));
}
function pseudoCross() {
var _local1 = this;
return(new smashing.Point3D(_local1.y, -_local1.x, _local1.z));
}
function normalize() {
var _local1 = this;
if (((!_local1.x) && (!_local1.y)) && (!_local1.z)) {
} else {
var _local2 = _local1.__get__length();
return(new smashing.Point3D(_local1.x / _local2, _local1.y / _local2, _local1.z / _local2));
}
return(undefined);
}
function normalizeMe() {
var _local1 = this;
if ((!_local1.x) && (!_local1.y)) {
} else {
var _local2 = _local1.__get__length();
_local1.x = _local1.x / _local2;
_local1.y = _local1.y / _local2;
_local1.z = _local1.z / _local2;
}
}
function reverse() {
var _local1 = this;
var _local2 = new smashing.Point3D(_local1.x * -1, _local1.y * -1, _local1.z * -1);
return(_local2);
}
function reverseMe() {
var _local1 = this;
_local1.x = _local1.x * -1;
_local1.y = _local1.y * -1;
_local1.z = _local1.z * -1;
}
function findCosine(vOther) {
var _local2 = dot(vOther);
var _local1 = length * vOther.__get__length();
var _local3 = _local2 / _local1;
return(_local3);
}
function equals(p) {
var _local1 = p;
var _local2 = this;
if (((_local2.x == _local1.x) && (_local2.y == _local1.y)) && (_local2.z == _local1.z)) {
return(true);
}
return(false);
}
function zero() {
var _local1 = this;
_local1.x = 0;
_local1.y = 0;
_local1.z = 0;
}
function distSqu(p) {
var _local3 = p.x - x;
var _local2 = p.y - y;
var _local1 = p.z - z;
return(((_local3 * _local3) + (_local2 * _local2)) + (_local1 * _local1));
}
function toString() {
var _local1 = this;
return(((((("Point3D (" + _local1.x) + ",") + _local1.y) + ",") + _local1.z) + ")");
}
}
Symbol 1229 MovieClip [__Packages.smashing.Renderable] Frame 0
class smashing.Renderable extends MovieClip
{
function Renderable () {
super();
}
function set scale(n) {
var _local1 = this;
_local1._xscale = n;
_local1._yscale = n;
//return(_local1.__get__scale());
}
function render() {
var _local3 = this;
var _local1 = smashing.Viewport.getPos(_local3);
if (_local1 != undefined) {
var _local2 = _local1.scale;
if (_local1.x != undefined) {
_local3._x = (_local1.x * _local2) + smashing.Viewport.centerX;
}
if (_local1.y != undefined) {
_local3._y = (_local1.y * _local2) + smashing.Viewport.centerY;
}
if (_local2 != _local3.mpScale) {
_local3.mpScale = _local2;
_local3.__set__scale((_local2 / _local3.scaleMod) * 100);
}
}
}
var mpX = 16777215;
var mpY = 16777215;
var mpZ = 16777215;
var mpScale = 16777215;
var mScale = 100;
var changed = true;
var scaleMod = 1;
}
Symbol 1230 MovieClip [__Packages.smashing.RenderResult] Frame 0
class smashing.RenderResult
{
function RenderResult () {
}
function toString() {
var _local1 = this;
return(((((("[class RenderResult, x:" + _local1.x) + ", y:") + _local1.y) + " scale:") + _local1.scale) + "]");
}
}
Symbol 1231 MovieClip [__Packages.smashing.Point] Frame 0
class smashing.Point
{
var x, y;
function Point (x, y) {
this.x = Number(x);
this.y = Number(y);
}
function get length() {
var _local1 = this;
return(Math.sqrt((_local1.x * _local1.x) + (_local1.y * _local1.y)));
}
function set length(newLength) {
var _local1 = this;
if (_local1.__get__length() != 0) {
var _local2 = newLength / _local1.__get__length();
_local1.x = _local1.x * _local2;
_local1.y = _local1.y * _local2;
}
//return(_local1.__get__length());
}
function get lengthSqu() {
var _local1 = this;
return((_local1.x * _local1.x) + (_local1.y * _local1.y));
}
function copy() {
return(new smashing.Point(x, y));
}
function addPoint(p) {
return(new smashing.Point(p.x + x, p.y + y));
}
function subtractPoint(p) {
return(new smashing.Point(x - p.x, y - p.y));
}
function addScalar(n) {
return(new smashing.Point(x + n, y + n));
}
function subtractScalar(n) {
return(new smashing.Point(x - n, y - n));
}
function addPointMe(p) {
x = x + p.x;
y = y + p.y;
}
function subtractPointMe(p) {
x = x - p.x;
y = y - p.y;
}
function addScalarMe(n) {
x = x + n;
y = y + n;
}
function subtractScalarMe(n) {
x = x - n;
y = y - n;
}
function multiply(nFactor) {
var _local1 = copy();
_local1.x = _local1.x * nFactor;
_local1.y = _local1.y * nFactor;
return(_local1);
}
function divide(n) {
var _local2 = n;
var _local1 = copy();
if (_local2 == 0) {
_local1.x = 0;
_local1.y = 0;
} else {
_local1.x = _local1.x / _local2;
_local1.y = _local1.y / _local2;
return(_local1);
}
return(undefined);
}
function multiplyMe(n) {
x = x * n;
y = y * n;
}
function divideMe(n) {
x = x / n;
y = y / n;
}
function dot(p) {
return((x * p.x) + (y * p.y));
}
function cross() {
return(new smashing.Point(y, -x));
}
function normalize() {
var _local1 = this;
if ((!_local1.x) && (!_local1.y)) {
} else {
var _local2 = _local1.__get__length();
return(new smashing.Point(_local1.x / _local2, _local1.y / _local2));
}
return(undefined);
}
function normalizeMe() {
var _local1 = this;
if ((!_local1.x) && (!_local1.y)) {
} else {
var _local2 = _local1.__get__length();
_local1.x = _local1.x / _local2;
_local1.y = _local1.y / _local2;
}
}
function reverse() {
var _local1 = new smashing.Point(x * -1, y * -1);
return(_local1);
}
function reverseMe() {
x = x * -1;
y = y * -1;
}
function rotateMe(nRad) {
var _local2 = this;
var _local3 = Math.sin(nRad);
var _local1 = Math.cos(nRad);
if ((_local3 > 1) || (_local3 < -1)) {
}
if ((_local1 > 1) || (_local1 < -1)) {
}
_local2.x = (_local2.x * _local1) + (_local2.y * (-_local3));
_local2.y = (_local2.x * _local3) + (_local2.y * _local1);
}
function rotate(nRad) {
var _local3 = this;
var _local2 = Math.sin(nRad);
var _local1 = Math.cos(nRad);
if ((_local2 > 1) || (_local2 < -1)) {
}
if ((_local1 > 1) || (_local1 < -1)) {
}
return(new smashing.Point((_local3.x * _local1) + (_local3.y * (-_local2)), (_local3.x * _local2) + (_local3.y * _local1)));
}
function rotateSinCos(nSin, nCos) {
var _local1 = this;
_local1.x = (_local1.x * nCos) + (_local1.y * (-nSin));
_local1.y = (_local1.x * nSin) + (_local1.y * nCos);
}
function findCosine(vOther) {
var _local2 = dot(vOther);
var _local1 = length * vOther.__get__length();
var _local3 = _local2 / _local1;
return(_local3);
}
function equals(p) {
if ((x == p.x) && (y == p.y)) {
return(true);
}
return(false);
}
function zero() {
x = 0;
y = 0;
}
function distSqu(p) {
var _local2 = p.x - x;
var _local1 = p.y - y;
return((_local2 * _local2) + (_local1 * _local1));
}
function toString() {
return(((("Point (" + x) + ",") + y) + ")");
}
}
Symbol 1232 MovieClip [__Packages.BuildingHandler] Frame 0
class BuildingHandler
{
static var tileWidth, home, tileWidthBot, leftEdge, topEdge, tileHeightBot, tileHeightMid, tileHeightTop, floor, ceiling, homeLimit;
var oHandler, tileBottomPlacement, oGerms, tileMidPlacement, tileTopPlacement, aBuild;
function BuildingHandler (loc) {
var _local1 = this;
_local1.location = loc;
_local1.oHandler = new smashing.ClipHandler(_local1.location);
_local1.aPower = ["BonusInvun", "BonusTime", "BonusSpeed"];
}
function update(nElapsed) {
var _local2 = oHandler.clips;
var _local3 = _local2.length;
var _local1 = 0;
while (_local1 < _local3) {
_local2[_local1].render();
_local1++;
}
if (bAdd == true) {
addBuilding();
}
}
function render() {
var _local3 = this;
var pos = (smashing.Viewport.x + smashing.Viewport.halfWidth);
var backPos = (pos - smashing.Viewport.width);
var index = (Math.floor(pos / tileWidth) + 1);
var backIndex = Math.floor(backPos / tileWidth);
if (index > _local3.aBuild.length) {
_local3.addBuilding(_local3.oWorld.level);
}
var _local2;
var _local1 = backIndex;
while (_local1 < index) {
_local2 = _local3.aBuild[_local1];
if (_local2.bOnStage == false) {
_local3.buildOnStage(_local2);
}
_local1++;
}
var clips = _local3.oHandler.clips;
var l = clips.length;
_local1 = 0;
while (_local1 < l) {
clips[_local1].render();
_local1++;
}
}
function reset() {
var _local1 = this;
_local1.oHandler.removeAllClips();
home = null;
_local1.aBuild = [];
_local1.init();
}
function init() {
var _local1 = this;
tileWidth = tileWidthBot;
leftEdge = -(smashing.Viewport.halfWidth + tileWidth);
topEdge = -smashing.Viewport.halfHeight;
_local1.tileBottomPlacement = smashing.Viewport.height - tileHeightBot;
_local1.tileMidPlacement = _local1.tileBottomPlacement - tileHeightMid;
_local1.tileTopPlacement = _local1.tileMidPlacement - tileHeightTop;
floor = (_local1.tileBottomPlacement + tileHeightBot) - 15;
ceiling = ((smashing.Viewport.height - tileHeightBot) - tileHeightMid) - tileHeightTop;
_local1.addBuilding(_local1.oWorld.level, false);
_local1.addBuilding(_local1.oWorld.level, false);
_local1.addBuilding(_local1.oWorld.level);
_local1.addBuilding(_local1.oWorld.level);
_local1.render();
_local1.nArrayLimit = Math.ceil(_local1.oWorld.nDist / tileWidth);
}
function removeBuilding(o, remove) {
var _local1 = o;
if (_local1.mcGerm != null) {
_local1.mcGerm.handler.removeClip(_local1.mcGerm);
}
_local1.oData.bOnStage = false;
oHandler.removeClip(_local1);
}
function addBuilding(nLevel, bObst) {
var _local2 = this;
var _local3 = bObst;
if (home != null) {
} else {
var _local1 = new BData();
_local1.nType = Math.ceil(Math.random() * _local2.nTypes);
_local1.nLevel = (nLevel - 1) % 3;
if (_local3 == undefined) {
_local3 = smashing.Misc.rndBool();
if (_local3 == false) {
_local1.bObstBot = false;
_local1.sPowerupBot = _local2.shouldAddPowerup();
} else {
_local1.bObstBot = true;
_local2.nTotalGerms = _local2.nTotalGerms + Number((_local1.bGermBot = _local2.shouldAddGerm()));
}
} else {
_local1.sPowerupBot = null;
_local1.bObstBot = false;
}
if (smashing.Misc.rndBool()) {
_local1.bObstMid = true;
_local2.nTotalGerms = _local2.nTotalGerms + Number((_local1.bGermMid = _local2.shouldAddGerm()));
} else {
_local1.bObstMid = false;
_local1.sPowerupMid = _local2.shouldAddPowerup();
}
if (smashing.Misc.rndBool()) {
_local1.bObstTop = true;
_local2.nTotalGerms = _local2.nTotalGerms + Number((_local1.bGermTop = _local2.shouldAddGerm()));
} else {
_local1.bObstTop = false;
_local1.sPowerupTop = _local2.shouldAddPowerup();
}
_local1.x = _local2.aBuild.length * tileWidth;
if ((_local2.nArrayLimit - _local2.aBuild.length) < (10 - _local2.nTotalGerms)) {
switch (Math.floor(Math.random() * 3)) {
case 0 :
_local1.bGermBot = true;
break;
case 1 :
_local1.bGermMid = true;
break;
case 2 :
_local1.bGermTop = true;
}
}
_local2.aBuild.push(_local1);
}
}
function buildOnStage(oBuild) {
var _local1 = oBuild;
_local1.bOnStage = true;
if (_local1.bHome == false) {
var _local3;
var _local2;
var build = oHandler.addClip("mcBuildingBottom" + _local1.nLevel);
build.x = _local1.x;
build.y = tileBottomPlacement;
build.init(this, _local1.bObstBot, _local1.nType, _local1, 0);
if (_local1.sPowerupBot != null) {
_local3 = oGerms.addGerm(build.x + build.mcBonusLoc._x, build.y + build.mcBonusLoc._y, _local1.sPowerupBot);
_local3.oData = _local1;
_local3.nSegment = 0;
_local3.mcBuild = build;
build.mcGerm = _local3;
} else if (_local1.bGermBot == true) {
_local2 = oGerms.addGerm(build.x + build.gfx.mcGermPlacer._x, build.y + build.gfx.mcGermPlacer._y, "mcGerm");
_local2.oData = _local1;
_local2.nSegment = 0;
_local2.mcBuild = build;
build.mcGerm = _local2;
}
build = oHandler.addClip("mcBuildingMiddle" + _local1.nLevel);
build.x = _local1.x;
build.y = tileMidPlacement;
build.init(this, _local1.bObstMid, _local1.nType, _local1, 0);
if (_local1.sPowerupMid != null) {
_local3 = oGerms.addGerm(build.x + build.mcBonusLoc._x, build.y + build.mcBonusLoc._y, _local1.sPowerupMid);
_local3.oData = _local1;
_local3.nSegment = 1;
_local3.mcBuild = build;
build.mcGerm = _local3;
} else if (_local1.bGermMid == true) {
_local2 = oGerms.addGerm(build.x + build.gfx.mcGermPlacer._x, build.y + build.gfx.mcGermPlacer._y, "mcGerm");
_local2.oData = _local1;
_local2.nSegment = 1;
_local2.mcBuild = build;
build.mcGerm = _local2;
}
build = oHandler.addClip("mcBuildingTop" + _local1.nLevel);
build.x = _local1.x;
build.y = tileTopPlacement;
build.init(this, _local1.bObstTop, _local1.nType, _local1, 0);
if (_local1.sPowerupTop != null) {
_local3 = oGerms.addGerm(build.x + build.mcBonusLoc._x, build.y + build.mcBonusLoc._y, _local1.sPowerupTop);
_local3.oData = _local1;
_local3.nSegment = 2;
_local3.mcBuild = build;
build.mcGerm = _local3;
} else if (_local1.bGermTop == true) {
_local2 = oGerms.addGerm(build.x + build.gfx.mcGermPlacer._x, build.y + build.gfx.mcGermPlacer._y, "mcGerm");
_local2.oData = _local1;
_local2.nSegment = 2;
_local2.mcBuild = build;
build.mcGerm = _local2;
}
} else {
var build = oHandler.addClip("home");
build.x = _local1.x;
build.y = (floor - build._height) - 50;
homeLimit = (build.x + tileWidth) - smashing.Viewport.halfWidth;
home = build;
}
}
function addHome() {
var _local1 = new BData();
_local1.bHome = true;
_local1.x = aBuild.length * tileWidth;
aBuild.push(_local1);
}
function shouldAddGerm() {
return(0 == Math.floor(Math.random() * nGermChance));
}
function shouldAddPowerup() {
var _local1 = this;
if (0 == Math.floor(Math.random() * _local1.powerChance)) {
return(_local1.aPower[Math.floor(Math.random() * _local1.aPower.length)]);
}
return(null);
}
var bAdd = false;
var nGermChance = 5;
var powerChance = 10;
var nTypes = 7;
var nTotalGerms = 0;
}
Symbol 1233 MovieClip [__Packages.smashing.ClipHandler] Frame 0
class smashing.ClipHandler
{
var id;
function ClipHandler (objHome, nOffset) {
var _local1 = this;
var _local2 = nOffset;
if (_local2 == undefined) {
_local2 = 0;
}
_local1.offset = _local2;
_local1.home = objHome;
_local1.clips = [];
_local1.openSlots = [];
_local1.id = nId++;
}
function findFirstEmpty() {
var _local2 = this;
var _local1 = 0;
if (_local2.openSlots.length == 0) {
_local1 = _local2.clips.length;
} else {
_local1 = _local2.openSlots.pop();
}
return(_local1);
}
function addClip(sName) {
var _local2 = this;
var _local1 = _local2.findFirstEmpty();
if (_local2.clips[_local1] != null) {
}
var nDepth = (_local1 + _local2.offset);
var _local3 = (_local2.clips[_local1] = _local2.home.attachMovie(sName, ("clip" + _local1) + Math.floor(60000 * Math.random()), nDepth));
_local3.nId = _local1;
_local3.handler = _local2;
return(_local2.clips[_local1]);
}
function removeClip(mc) {
var _local2 = this;
var _local3 = mc;
if (_local3.handler != null) {
if (_local3.handler.id == _local2.id) {
var _local1 = _local3.nId;
_local2.openSlots.push(_local1);
_local2.clips[_local1].removeMovieClip();
_local2.clips[_local1] = null;
return(true);
}
}
return(false);
}
function removeIndex(nIndex) {
var _local1 = nIndex;
var _local2 = this;
if (_local2.clips[_local1] != null) {
_local2.openSlots.push(_local1);
_local2.clips[_local1].removeMovieClip();
_local2.clips[_local1] = null;
return(true);
}
return(false);
}
function swap(nFirst, nSecond) {
var _local1 = this;
var _local2 = nFirst;
var _local3 = nSecond;
if ((_local1.clips[_local2] != null) && (_local1.clips[_local3] != null)) {
var objTemp = _local1.clips[_local2];
_local1.clips[_local2] = _local1.clips[_local3];
_local1.clips[_local3] = objTemp;
_local1.clips[_local2].swapDepths(_local1.clips[_local3]._name);
}
}
function removeAllClips() {
var _local2 = this;
var _local1 = 0;
while (_local1 < _local2.clips.length) {
_local2.removeIndex(_local1);
_local1++;
}
}
function toString() {
return(("[Cliphandler id:" + id) + "]");
}
static var nId = 0;
}
Symbol 1234 MovieClip [__Packages.GermHandler] Frame 0
class GermHandler
{
var location, oHandler;
function GermHandler (loc) {
location = loc;
oHandler = new smashing.ClipHandler(loc);
}
function update(nElapsed) {
var _local2 = oHandler.clips;
var _local3;
var l = _local2.length;
var n = 0;
var _local1 = 0;
while (_local1 < l) {
_local3 = _local2[_local1];
if (_local3 != undefined) {
n++;
_local2[_local1].update(nElapsed);
}
_local1++;
}
}
function addGerm(nX, nY, sType) {
var _local1 = oHandler.addClip(sType);
_local1.x = nX;
_local1.y = nY;
_local1.render();
return(_local1);
}
function reset() {
oHandler.removeAllClips();
}
}
Symbol 1235 MovieClip [__Packages.BuildingPart] Frame 0
class BuildingPart extends smashing.Renderable
{
function BuildingPart () {
super();
}
function init(oHandler, bObst, nType, oBData, segment) {
var _local1 = this;
var _local2 = bObst;
_local1.hasObstacle = _local2;
_local1.bhandler = oHandler;
_local1.oData = oBData;
_local1.nSegment = segment;
if (_local2 == true) {
_local1.gotoAndStop("obst");
} else {
_local1.gotoAndStop("open");
}
_local1.gfx.gotoAndStop(nType);
_local1.aLines = [];
if (_local2 == true) {
if (_local1.gfx.p3 == undefined) {
if (_local1.gfx.p2 == undefined) {
_local1.aLines.push(new smashing.Line(_local1.gfx.p0._x + _local1.x, _local1.gfx.p0._y + _local1.y, _local1.gfx.p1._x + _local1.x, _local1.gfx.p1._y + _local1.y));
} else {
_local1.aLines.push(new smashing.Line(_local1.gfx.p0._x + _local1.x, _local1.gfx.p0._y + _local1.y, _local1.gfx.p1._x + _local1.x, _local1.gfx.p1._y + _local1.y));
_local1.aLines.push(new smashing.Line(_local1.gfx.p1._x + _local1.x, _local1.gfx.p1._y + _local1.y, _local1.gfx.p2._x + _local1.x, _local1.gfx.p1._y + _local1.y));
}
} else {
_local1.aLines.push(new smashing.Line(_local1.gfx.p0._x + _local1.x, _local1.gfx.p0._y + _local1.y, _local1.gfx.p1._x + _local1.x, _local1.gfx.p1._y + _local1.y));
_local1.aLines.push(new smashing.Line(_local1.gfx.p1._x + _local1.x, _local1.gfx.p1._y + _local1.y, _local1.gfx.p2._x + _local1.x, _local1.gfx.p2._y + _local1.y));
_local1.aLines.push(new smashing.Line(_local1.gfx.p2._x + _local1.x, _local1.gfx.p2._y + _local1.y, _local1.gfx.p3._x + _local1.x, _local1.gfx.p3._y + _local1.y));
}
}
}
function render() {
var _local1 = this;
var _local2 = smashing.Viewport.getPos(_local1);
if ((_local2.x < BuildingHandler.leftEdge) || (_local2.x > smashing.Viewport.halfWidth)) {
var _local3 = false;
_local1.bhandler.removeBuilding(_local1, _local3);
} else if ((_local2.y > smashing.Viewport.halfHeight) || (_local2.y < (BuildingHandler.topEdge - _local1.spacerY._y))) {
_local1._visible = false;
} else {
_local1._visible = true;
_local1._x = _local2.x + smashing.Viewport.centerX;
_local1._y = _local2.y + smashing.Viewport.centerY;
}
}
var mcGerm = null;
}
Symbol 1236 MovieClip [__Packages.BData] Frame 0
class BData
{
function BData () {
}
var bObstBot = false;
var bObstMid = false;
var bObstTop = false;
var bGermBot = false;
var bGermMid = false;
var bGermTop = false;
var bOnStage = false;
var bHome = false;
}
Symbol 1237 MovieClip [__Packages.smashing.Line] Frame 0
class smashing.Line
{
var vector, p0;
function Line (x0, y0, x1, y1) {
var _local1 = this;
_local1.p0 = new smashing.Point(x0, y0);
_local1.p1 = new smashing.Point(x1, y1);
_local1.vector = new smashing.Point(_local1.p1.x - _local1.p0.x, _local1.p1.y - _local1.p0.y);
_local1.lineNormal = _local1.vector.normalize();
}
function get normal() {
var _local1 = this;
if (_local1.bChanged == true) {
_local1.bChanged = false;
_local1.vN = new smashing.Point(_local1.vector.y, -_local1.vector.x);
_local1.vN.normalizeMe();
}
return(_local1.vN);
}
function setLine(x0, y0, x1, y1) {
var _local1 = this;
_local1.p0.x = x0;
_local1.p0.y = y0;
_local1.p1.x = x1;
_local1.p1.y = y1;
_local1.vector.x = _local1.p1.x - _local1.p0.x;
_local1.vector.y = _local1.p1.y - _local1.p0.y;
_local1.lineNormal = _local1.vector.normalize();
_local1.bChanged = true;
}
function move(nX, nY) {
var _local1 = this;
_local1.p0.x = _local1.p0.x + nX;
_local1.p0.y = _local1.p0.y + nY;
_local1.p1.x = _local1.p1.x + nX;
_local1.p1.y = _local1.p1.y + nY;
}
function collisionPointSwept(p, m, radius) {
var _local1 = this;
var _local2 = m;
var nMotionDot = _local2.dot(_local1.__get__normal());
if (nMotionDot >= 0) {
return(null);
}
var pLocalStart = (new smashing.Point(p.x - _local1.p0.x, p.y - _local1.p0.y));
var pOffset = _local1.normal.copy();
pOffset.multiplyMe(radius);
var pR = pLocalStart.copy();
pR.subtractPointMe(pOffset);
var nOffLine = ((((-pR.y) * _local2.x) + (pR.x * _local2.y)) / ((_local2.y * _local1.vector.x) + ((-_local2.x) * _local1.vector.y)));
var lReturn;
if ((nOffLine >= 0) && (nOffLine <= 1)) {
var _local3 = new smashing.Point(_local1.vector.x * nOffLine, _local1.vector.y * nOffLine);
var dX = (_local3.x - pR.x);
var dY = (_local3.y - pR.y);
var mX = _local2.x;
var mY = _local2.y;
var pD = (new smashing.Point(_local3.x - pR.x, _local3.y - pR.y));
if (((dX * mX) + (dY * mY)) < 0) {
return(null);
}
dX = dX * dX;
dY = dY * dY;
mX = mX * mX;
mY = mY * mY;
var nD = (dX + dY);
if (nD > (mX + mY)) {
return(null);
}
_local3.x = _local3.x + (_local1.p0.x + pOffset.x);
_local3.y = _local3.y + (_local1.p0.y + pOffset.y);
lReturn = new smashing.CollisionResult(_local3, _local1.__get__normal(), nD);
lReturn.gizmo = _local1;
lReturn.lHit = _local3;
} else {
var unitMotion = _local2.normalize();
if (nOffLine < 0) {
var pEndPoint = _local1.p0;
var pToEnd = pLocalStart.reverse();
} else if (nOffLine > 0) {
var pEndPoint = _local1.p1;
var pToEnd = (new smashing.Point(_local1.p1.x - p.x, _local1.p1.y - p.y));
}
var nClosest = pToEnd.dot(unitMotion);
if (_local2.__get__length() < (Math.abs(nClosest) - radius)) {
return(null);
}
var nHyp = pToEnd.length;
var nOppSqu = ((nHyp * nHyp) - (nClosest * nClosest));
var nRadiusSqu = (radius * radius);
if (nOppSqu > nRadiusSqu) {
return(null);
}
var nFinal = (Math.sqrt(nRadiusSqu - nOppSqu) - nClosest);
if (Math.abs(nFinal) > _local2.__get__length()) {
return(null);
}
var vFinal = unitMotion.multiply(nFinal);
if (vFinal.dot(_local2) > 0) {
return(null);
}
var vClipped = (new smashing.Point(p.x - vFinal.x, p.y - vFinal.y));
var vCNormal = (new smashing.Point(vClipped.x - pEndPoint.x, vClipped.y - pEndPoint.y)).normalize();
lReturn = new smashing.CollisionResult(vClipped, vCNormal, nFinal * nFinal);
lReturn.gizmo = _local1;
lReturn.lHit = vFinal;
}
return(lReturn);
}
function collisionPoint(p, m, r) {
var _local1 = this;
var nMD = m.dot(_local1.__get__normal());
if (nMD > 0) {
return(null);
}
var _local3 = new smashing.Point(p.x + m.x, p.y + m.y);
var de = ((_local1.vector.x * (_local3.x - _local1.p0.x)) + (_local1.vector.y * (_local3.y - _local1.p0.y)));
var e2 = _local1.vector.dot(_local1.vector);
var _local2;
var nDist;
var lR;
if (de < 0) {
_local2 = new smashing.Point(_local3.x - _local1.p0.x, _local3.y - _local1.p0.y);
nDist = _local2.dot(_local2);
if (nDist > (r * r)) {
return(null);
}
var cN = _local2.normalize();
_local2.length = r;
var pC2 = _local1.p0.addPoint(_local2);
var xF = (pC2.x - p.x);
var yF = (pC2.y - p.y);
var lR = (new smashing.CollisionResult(pC2, cN, (xF * xF) + (yF * yF)));
lR.lHit = _local1.p0;
lR.nRatio = 0;
lR.gizmo = _local1;
} else if (de > e2) {
_local2 = new smashing.Point(_local3.x - _local1.p1.x, _local3.y - _local1.p1.y);
nDist = _local2.dot(_local2);
if (nDist > (r * r)) {
return(null);
}
var cN = _local2.normalize();
_local2.length = r;
var pC2 = _local1.p1.addPoint(_local2);
var xF = (pC2.x - p.x);
var yF = (pC2.y - p.y);
var lR = (new smashing.CollisionResult(pC2, cN, (xF * xF) + (yF * yF)));
lR.lHit = _local1.p1;
lR.nRatio = 1;
lR.gizmo = _local1;
} else {
var t = (de / e2);
var pC = (new smashing.Point(_local1.p0.x + (_local1.vector.x * t), _local1.p0.y + (_local1.vector.y * t)));
var xDist = (_local3.x - pC.x);
var yDist = (_local3.y - pC.y);
if (((xDist * xDist) + (yDist * yDist)) > (r * r)) {
return(null);
}
var pC2 = (new smashing.Point(pC.x + (_local1.normal.x * r), pC.y + (_local1.normal.y * r)));
var xF = (pC2.x - p.x);
var yF = (pC2.y - p.y);
var lR = (new smashing.Line(pC2.x + cN.x, pC2.y + cN.y, pC2.x, pC2.y));
var dist2 = ((xF * xF) + (yF * yF));
lR = new smashing.CollisionResult(pC2, _local1.__get__normal(), dist2);
lR.lHit = pC;
lR.nRatio = t;
lR.gizmo = _local1;
}
return(lR);
}
function nearestPointSeg(m0) {
var _local1 = this;
var D = (new smashing.Point(m0.x - _local1.p0.x, m0.y - _local1.p0.y));
var _local2 = _local1.vector.dot(D);
var e2 = _local1.vector.dot(_local1.vector);
if (_local2 < 0) {
return(_local1.p0);
}
if (_local2 > e2) {
return(_local1.p1);
}
var _local3 = _local2 / e2;
return(new smashing.Point(_local1.p0.x + (_local1.vector.x * _local3), _local1.p0.y + (_local1.vector.y * _local3)));
}
function nearestPointLine(m0) {
var _local1 = this;
var _local3 = new smashing.Point(m0.x - _local1.p0.x, m0.y - _local1.p0.y);
var de = _local1.vector.dot(_local3);
var e2 = _local1.vector.dot(_local1.vector);
var _local2 = de / e2;
return(new smashing.Point(_local1.p0.x + (_local1.vector.x * _local2), _local1.p0.y + (_local1.vector.y * _local2)));
}
function nearestPointRatio(p) {
var _local1 = this;
var _local2 = new smashing.Point(p.x - _local1.p0.x, p.y - _local1.p0.y);
var de = _local1.vector.dot(_local2);
var e2 = _local1.vector.dot(_local1.vector);
var _local3 = de / e2;
return(_local3);
}
function distanceFrom(p) {
var _local3 = this;
var _local1 = new smashing.Point(p.x - _local3.p0.x, p.y - _local3.p0.y);
var _local2 = _local3.normal.dot(_local1);
return(_local2);
}
function intersection(op0, op1, oVector) {
var _local1 = op0;
var a1;
var b1;
var c1;
var a2;
var b2;
var c2;
var det_inv;
var _local3;
var _local2;
var xi;
var yi;
if (vector.x != 0) {
_local3 = vector.y / vector.x;
} else {
_local3 = Infinity;
}
if ((op1.x - _local1.x) != 0) {
_local2 = (op1.y - _local1.y) / (op1.x - _local1.x);
} else {
_local2 = Infinity;
}
a1 = _local3;
a2 = _local2;
b1 = -1;
b2 = -1;
c1 = p0.y - (_local3 * p0.x);
c2 = _local1.y - (_local2 * _local1.x);
det_inv = 1 / ((a1 * b2) - (a2 * b1));
xi = ((b1 * c2) - (b2 * c1)) * det_inv;
yi = ((a2 * c1) - (a1 * c2)) * det_inv;
return(new smashing.Point(xi, yi));
}
function toString() {
var _local1 = this;
return(((((((("Line(" + _local1.p0.x) + ", ") + _local1.p0.y) + ", ") + _local1.p1.x) + ", ") + _local1.p1.y) + ")");
}
var bChanged = true;
}
Symbol 1238 MovieClip [__Packages.smashing.CollisionResult] Frame 0
class smashing.CollisionResult
{
function CollisionResult (pHit, pNormal, nDist) {
var _local1 = this;
_local1.hit = pHit;
_local1.normal = pNormal;
_local1.distSqu = nDist;
}
function toString() {
var _local1 = this;
return(((((("[CollisionResult, " + _local1.hit) + ", ") + _local1.normal) + ", ") + _local1.distSqu) + "]");
}
}
Symbol 1239 MovieClip [__Packages.MaggieHome] Frame 0
class MaggieHome extends BuildingPart
{
function MaggieHome () {
super();
}
function render() {
var _local1 = this;
var _local2 = smashing.Viewport.getPos(_local1);
if (_local2.x > smashing.Viewport.halfWidth) {
_local1._visible = false;
} else {
_local1._visible = true;
_local1._x = _local2.x + smashing.Viewport.centerX;
_local1._y = _local2.y + smashing.Viewport.centerY;
}
}
}
Symbol 1240 MovieClip [__Packages.MaggieWorld] Frame 0
class MaggieWorld
{
static var target;
var __LOWQUAL, score, oPlayer;
function MaggieWorld (loc) {
var _local1 = this;
target = _local1;
_local1.location = loc;
_local1.oBuildings = new BuildingHandler(_local1.location.mcBuildingHolder);
_local1.oBuildings.oWorld = _local1;
_local1.oCitizens = new CitizenHandler(_local1.location.mcCitizens);
_local1.oCitizens.oBuildings = _local1.oBuildings;
_local1.oGerms = new GermHandler(_local1.location.mcGermHolder);
_local1.oBuildings.oGerms = _local1.oGerms;
_local1.oPlayer = _local1.location.mcPlayer;
_local1.oPlayer.setBuilding(_local1.oBuildings, _local1.oCitizens, _local1.oGerms);
_local1.oPlayer.setShadow(_local1.location.mcShadow);
_local1.oPlayer.oWorld = _local1;
_local1.oBundle = _local1.location.mcBundle;
_local1.mcDraw = loc.mcDraw;
_local1.oBundle.init(_local1.oPlayer, _local1.mcDraw);
smashing.Menu.watchProp(_local1, "lives", "text");
smashing.Menu.watchProp(_local1, "level", "text");
smashing.Menu.watchProp(_local1, "score", "text");
smashing.Menu.watchProp(_local1, "cTimeRatio", "funkyMeter");
smashing.Menu.watchProp(_local1, "nDistRatio", "funkyMeter");
_local1.lives = 3;
_local1.level = 1;
_local1.score = 0;
_local1.cTimeRatio = 0;
_local1.nDistRatio = 0;
_local1.__LOWQUAL = false;
if (_global.maggiePerformance.processor < _local1.__MIN_BENCHMARK) {
_local1.__LOWQUAL = true;
}
}
function onEnter() {
}
function onExit() {
}
function onPlay() {
if (__LOWQUAL) {
_quality = "MEDIUM";
} else {
_quality = "HIGH";
}
}
function onPause() {
_quality = "HIGH";
}
function update(nElapsed) {
var _local1 = this;
var _local2 = nElapsed;
_local1.cTime = _local1.cTime + _local2;
_local1.cTimeRatio = _local1.cTime / _local1.nTime;
_local1.mcDraw.clear();
_local1.oCitizens.setRatio(_local1.cTime / _local1.nTime);
_local1.oCitizens.update(_local2);
_local1.oPlayer.update(_local2);
_local1.oBundle.update(_local2);
_local1.moveView(_local2);
_local1.nDistRatio = smashing.Viewport.x / _local1.nDist;
_local1.endCheck();
_local1.oPlayer.render();
_local1.oBundle.render();
_local1.oGerms.update(_local2);
_local1.oBuildings.render();
var _local3 = _local1.nDistRatio - _local1.cTimeRatio;
_root.nDebug1 = _local1.oBuildings.nTotalGerms;
if ((_local3 <= _local1.nPanic) && (_local1.howFar > 800)) {
smashing.Menu.target.funkyMeter.cTimeRatioCap.gotoAndStop("panic");
} else {
smashing.Menu.target.funkyMeter.cTimeRatioCap.gotoAndStop("normal");
}
updateAfterEvent();
}
function newGame() {
startLevel();
score = 0;
}
function startLevel() {
var _local1 = this;
var _local2 = _global;
_local1.location.bg.gotoAndStop(((_local1.level - 1) % 3) + 1);
_local1.location.street.gotoAndStop(((_local1.level - 1) % 3) + 1);
_local1.howFar = 0;
smashing.Viewport.reset();
_local1.oBuildings.reset();
_local1.oPlayer.reset();
_local1.cTime = _local1.startTime;
_local1.oCitizens.reset();
_local1.oCitizens.setLevel(_local1.level);
_local1.oGerms.reset();
_local1.moveView = _local1.moveViewGame;
_local1.endCheck = _local1.endCheckGame;
_local1.cTime = _local1.startTime;
_local1.cTimeRatio = 0;
_local1.nTime = Math.max(_local1.nFullTime - (_local1.nTimeDec * _local1.level), _local1.nLowerTimeLimit);
_local1.nDistRatio = 0;
_local1.oBundle.reset();
if (_local2.bHelp == false) {
_local2.mcRoot.startPopup.go();
}
if (_local2.bMute == false) {
if (_local2.bHelp == false) {
_local2.mcRoot.mcMusic.play();
}
}
}
function endLevelPrep() {
var _local1 = this;
_local1.endCheck = _local1.endCheckEnd;
_local1.oBuildings.addHome();
}
function endLevel() {
var _local1 = this;
var _local3 = _global;
_quality = "HIGH";
_local3.mcRoot.mcMusic.oSound.stop();
if (smashing.Viewport.x < _local1.nDist) {
_local1.lives--;
if (_local1.lives <= 0) {
_local1.endGame();
} else {
_local3.mcRoot.mcMenu.show("noTime");
}
} else if (_local1.oPlayer.__get__germs() < _local1.germReq) {
_local1.lives--;
if (_local1.lives <= 0) {
_local1.endGame();
} else {
_local3.mcRoot.mcMenu.show("noGerms");
}
} else {
var finalRatio = (_local1.nDistRatio - _local1.cTimeRatio);
var _local2 = Math.floor(finalRatio * _local1.timeBonus);
smashing.Menu.target.timeBonus = _local2;
smashing.Menu.target.oldScore = _local1.score;
_local1.score = _local1.score + _local2;
smashing.Menu.target.newScore = _local1.score;
_local3.mcRoot.mcMenu.show("levelEnd");
_local1.level++;
}
}
function endGame() {
var _local1 = _global;
_quality = "HIGH";
_local1.mcRoot.oBase.pause();
_local1.mcRoot.finalScore = score;
_local1.mcRoot.gotoAndStop("end");
}
function reset() {
cTime = startTime;
}
function moveViewGame(nElapsed) {
var _local1 = this;
smashing.Viewport.y = _local1.oPlayer.y;
var lowBound = ((BuildingHandler.floor - smashing.Viewport.halfHeight) + 15);
if (smashing.Viewport.y > lowBound) {
smashing.Viewport.y = lowBound;
} else {
var highBound = (BuildingHandler.ceiling + smashing.Viewport.halfHeight);
if (smashing.Viewport.y < highBound) {
smashing.Viewport.y = highBound;
}
}
var _local3 = _local1.oPlayer.x + _local1.playerOffset;
if (_local3 > smashing.Viewport.startX) {
smashing.Viewport.x = _local3;
} else {
smashing.Viewport.x = smashing.Viewport.startX;
}
var _local2 = BuildingHandler.homeLimit;
if (_local2 != undefined) {
if (smashing.Viewport.x > _local2) {
smashing.Viewport.x = _local2;
}
}
if (smashing.Viewport.x > _local1.howFar) {
_local1.howFar = smashing.Viewport.x;
}
}
function moveViewEnd(nElapsed) {
smashing.Viewport.y = oPlayer.y;
var _local2 = (BuildingHandler.floor - smashing.Viewport.halfHeight) + 15;
if (smashing.Viewport.y > _local2) {
smashing.Viewport.y = _local2;
} else {
var highBound = (BuildingHandler.ceiling + smashing.Viewport.halfHeight);
if (smashing.Viewport.y < highBound) {
smashing.Viewport.y = highBound;
}
}
var _local1 = oPlayer.x + playerOffset;
if ((_local1 - smashing.Viewport.x) > 0) {
smashing.Viewport.x = _local1;
}
var _local3 = BuildingHandler.home;
var rightBorder = ((_local3.x + _local3._width) - smashing.Viewport.halfWidth);
if (smashing.Viewport.x > rightBorder) {
smashing.Viewport.x = rightBorder;
}
}
function endCheckGame() {
var _local1 = this;
if (_local1.cTimeRatio > _local1.nDistRatio) {
_local1.endLevel();
}
if (smashing.Viewport.x >= _local1.nDist) {
_local1.endLevelPrep();
}
}
function endCheckEnd() {
var _local1 = this;
if (_local1.cTimeRatio > _local1.nDistRatio) {
_local1.endLevel();
}
if (_local1.oPlayer.hitTest(BuildingHandler.home.mcHitArea)) {
_local1.endLevel();
}
}
static function addScore(nScore) {
target.score = target.score + nScore;
}
var nFullTime = 125;
var cTime = -10;
var startTime = -10;
var nTimeDec = 12.5;
var nLowerTimeLimit = 45;
var nDist = 10000;
var germReq = 10;
var timeBonus = 5000;
var playerOffset = 100;
var nPanic = 0.065;
var __MIN_BENCHMARK = 600;
}
Symbol 1241 MovieClip [__Packages.CitizenHandler] Frame 0
class CitizenHandler
{
var oHandler;
function CitizenHandler (loc) {
var _local1 = this;
var _local2 = loc;
_local1.location = _local2;
_local1.oHandler = new smashing.ClipHandler(_local2);
_local1.totalThresh = _local1.lowThresh - _local1.highThresh;
}
function update(nElapsed) {
var _local3 = oHandler.clips;
var l = _local3.length;
var _local2;
var _local1 = 0;
while (_local1 < l) {
_local2 = _local3[_local1];
if (_local2 != null) {
_local2.update(nElapsed);
_local2.render();
}
_local1++;
}
cRelease = cRelease + nElapsed;
if (cRelease >= nRelease) {
cRelease = 0;
addCitizen();
}
}
function addCitizen() {
var _local2 = this;
var side = ((Math.floor(Math.random() * 2) == 1) ? 1 : -1);
var disp = (smashing.Viewport.halfHeight - Citizen.nRange);
var pos = ((Math.random() * disp) * side);
var _local1;
var _local3 = Math.floor(Math.random() * _local2.windChance);
if (_local3 == 0) {
_global.oSound.playSnd("wind");
_local1 = _local2.oHandler.addClip("mcWind");
} else {
_global.oSound.playSnd("citizenSound");
_local1 = _local2.oHandler.addClip("mcCitizen");
}
_local1.x = (smashing.Viewport.x + smashing.Viewport.halfWidth) + _local1.r;
_local1.baseY = smashing.Viewport.y + pos;
_local1.y = _local1.baseY;
_local1.oCitizenHandler = _local2;
_local1.oBuildings = _local2.oBuildings;
_local1.render();
}
function removeCitizen(o) {
oHandler.removeClip(o);
}
function setRatio(nRatio) {
var _local1 = nRatio;
var _local2 = this;
_local1 = 1 - _local1;
_local2.nRelease = (_local1 * _local2.totalThresh) + _local2.highThresh;
}
function reset() {
oHandler.removeAllClips();
}
function setLevel(nLevel) {
var _local1 = this;
nLevel = nLevel - 1;
_local1.totalThresh = (_local1.lowThresh - _local1.highThresh) - (nLevel * _local1.levelInc);
if (_local1.totalThresh < 0) {
_local1.totalThresh = 0;
}
}
var nRelease = 0;
var cRelease = 0;
var highThresh = 0.8;
var lowThresh = 4;
var levelInc = 0.3;
var windChance = 3;
}
Symbol 1242 MovieClip [__Packages.Citizen] Frame 0
class Citizen extends smashing.Renderable
{
var m, oBuildings, x, y, gfx, update, oCitizenHandler;
function Citizen () {
var _local1 = this;
super();
_local1.gotoAndStop(Math.ceil(Math.random() * _local1._totalframes));
_local1.update = _local1.updateNormal;
}
function updateNormal(nElapsed) {
var _local1 = this;
var _local2 = nElapsed * _local1.speed;
_local1.x = _local1.x - _local2;
_local1.cMove = _local1.cMove + _local2;
_local1.y = _local1.baseY + (nRange * Math.sin((Math.PI * _local1.cMove) / _local1.nSine));
var _local3 = _local1.x - smashing.Viewport.x;
if (_local3 <= (-(smashing.Viewport.halfWidth + _local1.r))) {
_local1.oCitizenHandler.removeCitizen(_local1);
}
}
function updateDizzy(nElapsed) {
var g = (smashing.Phys.gr * nElapsed);
m.y = m.y + g;
var mot = m.multiply(nElapsed);
var clips = oBuildings.oHandler.clips;
var l = clips.length;
var l2;
var aLines;
var _local1;
var _local3 = null;
var mcC;
var p = (new smashing.Point(x, y));
var i = 0;
while (i < l) {
mcC = clips[i];
if (mcC.hasObstacle == true) {
if (mcC.hitTest(this) == true) {
aLines = mcC.aLines;
l2 = aLines.length;
var _local2 = 0;
while (_local2 < l2) {
if (!smashing.Misc.isHoriz(aLines[_local2])) {
_local1 = aLines[_local2].collisionPoint(p, m, r);
}
if ((_local3 == null) && (_local1 != null)) {
_local3 = _local1;
} else if ((_local1.distSqu < _local3.distSqu) && (_local1 != null)) {
_local3 = _local1;
}
_local2++;
}
}
}
i++;
}
if (_local3 != null) {
var pHit = (new smashing.Point(_local3.hit.x, _local3.hit.y));
x = pHit.x;
y = pHit.y;
gfx.gotoAndStop("DIE!");
update = updateLand;
} else {
x = x + mot.x;
y = y + mot.y;
if (((y + r) - smashing.Viewport.y) > smashing.Viewport.halfWidth) {
oCitizenHandler.removeCitizen(this);
}
}
var myFloor = (BuildingHandler.floor - 80);
if ((y + r) > myFloor) {
y = myFloor;
gfx.gotoAndStop("DIE!");
update = updateLand;
}
}
function updateLand(nElapsed) {
var _local1 = this;
_local1.cDie = _local1.cDie + nElapsed;
if (_local1.cDie >= _local1.nDie) {
_local1.oCitizenHandler.removeCitizen(_local1);
}
if (((_local1.y + _local1.r) - smashing.Viewport.y) > smashing.Viewport.halfWidth) {
_local1.oCitizenHandler.removeCitizen(_local1);
}
}
function render() {
var _local2 = this;
var _local1 = smashing.Viewport.getPos(_local2);
_local2._x = _local1.x + smashing.Viewport.centerX;
_local2._y = _local1.y + smashing.Viewport.centerY;
}
function collisionTest(oPlayer) {
var _local2 = oPlayer;
var _local1 = new smashing.Point(_local2.x - x, _local2.y - y);
var _local3 = _local1.y;
_local1.y = _local1.y + ((_local2.r * _local2.nCrouchMod) * (_local3 / Math.abs(_local3)));
var r2 = Math.pow(r + _local2.r, 2);
if (_local1.dot(_local1) < r2) {
return(true);
}
return(false);
}
function react(oPlayer, nElapsed) {
var _local1 = this;
oPlayer.hurt();
_local1.m = new smashing.Point(1, -1);
_local1.m.__set__length(_local1.bounce);
_local1.gfx.gotoAndStop("hit");
_local1.update = _local1.updateDizzy;
_local1.bDead = true;
}
var r = 27;
var speed = 150;
var cMove = 0;
var nSine = 120;
static var nRange = 20;
var sType = "citizen";
var bounce = 500;
var bDead = false;
var nDie = 2;
var cDie = 0;
}
Symbol 1243 MovieClip [__Packages.smashing.Phys] Frame 0
class smashing.Phys
{
static var pUp;
function Phys () {
}
static function drag(f, t) {
return(f * Math.pow(t, fr));
}
static function bounce(v, n) {
var _local3 = v;
var _local2 = _local3.reverse();
var _local1 = n.multiply(n.dot(_local2));
_local3.x = (_local1.x * bf) + (_local1.x - _local2.x);
_local3.y = (_local1.y * bf) + (_local1.y - _local2.y);
}
static function get up() {
return(((pUp == undefined) ? ((pUp = new smashing.Point(0, -1))) : (pUp)));
}
static var gr = 700;
static var fr = 0.75;
static var bf = 0.7;
static var height = 370;
static var width = 600;
static var TWOPI = (Math.PI*2);
}
Symbol 1244 MovieClip [__Packages.smashing.Misc] Frame 0
class smashing.Misc
{
function Misc () {
}
static function rndArray(aToBeRnd) {
var _local2 = 0;
var _local1 = [];
var aResult = [];
_local1 = _local1.concat(aToBeRnd);
var _local3;
_local2 = 0;
while (_local2 < aToBeRnd.length) {
_local3 = int(Math.random() * _local1.length);
aResult.push(_local1[_local3]);
_local1.splice(_local3, 1);
_local2++;
}
return(aResult);
}
static function uniquePush(aPush, oObject) {
var _local2 = aPush;
var _local3 = false;
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1] == oObject) {
_local3 = true;
}
_local1++;
}
if (_local3 == true) {
} else {
_local2.push(oObject);
}
}
static function number(sNum) {
var l = (sNum.length + 1);
var _local2 = 1;
var _local3 = 0;
var _local1 = 1;
while (_local1 < l) {
_local3 = _local3 + (Number(sNum.substr(-_local1, 1)) * _local2);
_local2 = _local2 * 10;
_local1++;
}
return(_local3);
}
static function rndBool() {
return(Boolean(Math.floor(Math.random() * 2)));
}
static function isHoriz(l) {
if (l.normal.dot(smashing.Phys.__get__up()) > 0) {
return(true);
}
return(false);
}
}
Symbol 1245 MovieClip [__Packages.Player] Frame 0
class Player extends smashing.Renderable
{
var oBundle, mcInvul, gotoAndStop;
function Player () {
var _local1 = this;
super();
_local1.update = _local1.updateGround;
_local1.floorMod = _local1.floorMod + _local1.r;
smashing.Menu.watchProp(_local1, "cGerms", "text");
_local1.cGerms = 0;
_local1.aIdle = ["wink", "dance", "foot tap"];
}
function get germs() {
return(cGerms);
}
function updateGround(nElapsed) {
var _local1 = this;
var nXm;
var sState = "stand";
var bCrouch = false;
if (_local1.nSpeed == 1) {
_local1.cSpeedTime = _local1.cSpeedTime + nElapsed;
nXm = 0;
if (Key.isDown(39)) {
nXm = nXm + (nElapsed * (_local1.sideThrust + _local1.nSpeedBoost));
_local1.faceRight();
sState = "run";
}
if (Key.isDown(37)) {
nXm = nXm - (nElapsed * (_local1.sideThrust + _local1.nSpeedBoost));
_local1.faceLeft();
sState = "run";
}
if (_local1.cSpeedTime >= _local1.nSpeedTime) {
_local1.unSpeed();
}
} else {
nXm = 0;
if (Key.isDown(39)) {
nXm = nXm + (nElapsed * _local1.sideThrust);
_local1.faceRight();
sState = "run";
}
if (Key.isDown(37)) {
nXm = nXm - (nElapsed * _local1.sideThrust);
_local1.faceLeft();
sState = "run";
}
}
if (Key.isDown(38)) {
_local1.ym = _local1.ym - (_local1.upThrust * nElapsed);
_local1.onSurface = false;
}
if (Key.isDown(40)) {
_local1.ym = _local1.ym + (_local1.upThrust * nElapsed);
_local1.onSurface = false;
bCrouch = true;
}
_local1.ym = _local1.ym + (smashing.Phys.gr * nElapsed);
if (Math.abs(_local1.ym) > _local1.ySpeedLimit) {
_local1.ym = _local1.ySpeedLimit * (_local1.ym / Math.abs(_local1.ym));
}
var clips = _local1.oGerms.oHandler.clips;
var l = clips.length;
var mcC;
var r2;
var dist = (new smashing.Point(0, 0));
var i = 0;
while (i < l) {
mcC = clips[i];
if (mcC != null) {
if (mcC.grabbable == true) {
dist.x = mcC.x - _local1.x;
dist.y = mcC.y - _local1.y;
r2 = Math.pow(_local1.r + mcC.r, 2);
if (dist.dot(dist) < r2) {
mcC.react(_local1);
}
}
}
i++;
}
if (_local1.bInvul == false) {
if (_local1.bHurt == false) {
clips = _local1.oCitizens.oHandler.clips;
l = clips.length;
var mcC;
i = 0;
while (i < l) {
mcC = clips[i];
if (mcC != null) {
if (mcC.bDead == false) {
if (mcC.collisionTest(_local1) == true) {
mcC.react(_local1, nElapsed);
}
}
}
i++;
}
}
} else {
_local1.cInvul = _local1.cInvul + nElapsed;
if (_local1.cInvul >= _local1.nInvul) {
_local1.unInvulnerable();
}
}
_local1.xm = _local1.xm - smashing.Phys.drag(_local1.xm, nElapsed);
if (_local1.xm > -20) {
_local1.xm = 0;
}
nXm = nXm + (_local1.xm * nElapsed);
var nYm = (_local1.ym * nElapsed);
_local1.shadow._x = _local1._x + nXm;
_local1.shadow._y = _local1._y + nYm;
var m = (new smashing.Point(nXm, nYm));
var p = (new smashing.Point(_local1.x, _local1.y));
clips = _local1.oBuildings.oHandler.clips;
l = clips.length;
var l2;
var aLines;
var aC = [];
var _local2;
var bestResult = null;
var aDebug = [];
i = 0;
while (i < l) {
mcC = clips[i];
if (mcC.hasObstacle == true) {
if ((mcC.hitTest(_local1) == true) || (mcC.hitTest(_local1.shadow) == true)) {
aLines = mcC.aLines;
l2 = aLines.length;
var _local3 = 0;
while (_local3 < l2) {
if (bCrouch == false) {
_local2 = aLines[_local3].collisionPointSwept(p, m, _local1.r);
} else if (!smashing.Misc.isHoriz(aLines[_local3])) {
_local2 = aLines[_local3].collisionPointSwept(p, m, _local1.r);
}
aDebug.push(_local2);
if ((bestResult == null) && (_local2 != null)) {
bestResult = _local2;
} else if ((_local2.distSqu < bestResult.distSqu) && (_local2 != null)) {
bestResult = _local2;
}
_local3++;
}
}
}
i++;
}
var bSurface = false;
if (bestResult != null) {
var actDist = Math.sqrt(bestResult.distSqu);
m.length = m.length - actDist;
var normal = bestResult.gizmo.lineNormal;
_local1.onSurface = true;
bSurface = true;
var pHit = (new smashing.Point(bestResult.hit.x, bestResult.hit.y));
_local1.x = pHit.x;
_local1.y = pHit.y;
p = new smashing.Point(_local1.x, _local1.y);
m = normal.multiply(m.dot(normal));
if (m.y == 0) {
_local1.ym = 0;
}
if (m.x == 0) {
_local1.xm = 0;
}
}
p = new smashing.Point(_local1.x, _local1.y);
var myFloor = (BuildingHandler.floor - _local1.floorMod);
if ((_local1.y + m.y) > myFloor) {
_local1.y = myFloor;
_local1.ym = 0;
m.y = 0;
_local1.onSurface = true;
bSurface = true;
if (bCrouch == true) {
sState = "crouch";
}
}
if (bSurface == false) {
sState = "fly";
}
var myCeil = (BuildingHandler.ceiling + _local1.r);
if ((_local1.y + m.y) < myCeil) {
_local1.ym = 0;
m.y = 0;
_local1.y = myCeil;
}
var myLeft = (smashing.Viewport.halfWidth - _local1.r);
if (((_local1.x + m.x) - smashing.Viewport.x) < (-myLeft)) {
_local1.x = smashing.Viewport.x - myLeft;
m.x = 0;
_local1.xm = 0;
}
if (((_local1.x + m.x) - smashing.Viewport.x) > myLeft) {
_local1.x = smashing.Viewport.x + myLeft;
m.x = 0;
_local1.xm = 0;
}
_local1.y = _local1.y + m.y;
_local1.x = _local1.x + m.x;
if (_local1.bHurt == true) {
if (_local1.cHurt < (_local1.nHurtTime / 2)) {
sState = "hit";
}
}
if (sState == "stand") {
_local1.cIdle = _local1.cIdle + nElapsed;
if (_local1.cIdle >= _local1.nIdle) {
if (_local1.sIdle == "") {
_local1.sIdle = _local1.aIdle[Math.floor(Math.random() * _local1.aIdle.length)];
}
sState = _local1.sIdle;
}
} else {
_local1.cIdle = 0;
_local1.sIdle = "";
}
_local1.a.gotoAndStop(sState);
if (_local1.nSpeed == 1) {
_local1.a.a.blur._visible = true;
} else {
_local1.a.a.blur._visible = false;
}
}
function updateAir(nElapsed) {
}
function setBuilding(o, c, g) {
var _local1 = this;
_local1.oBuildings = o;
_local1.oCitizens = c;
_local1.oGerms = g;
}
function setShadow(mc) {
var _local1 = this;
_local1.shadow = mc;
_local1.shadow._width = _local1.r * 2;
_local1.shadow._height = _local1.r * 2;
}
function setBundle(o) {
oBundle = o;
}
function render() {
var _local2 = this;
var _local1 = smashing.Viewport.getPos(_local2);
_local2._x = _local1.x + smashing.Viewport.centerX;
_local2._y = _local1.y + smashing.Viewport.centerY;
}
function hurt() {
var _local1 = this;
_global.oSound.playSnd("hit");
var _local2 = new smashing.Point(-3, -2);
_local2.length = 700;
_local1.xm = _local2.x;
_local1.ym = _local2.y;
_local1.bHurt = true;
_local1.nStartHurt = getTimer();
_local1.onEnterFrame = function () {
var _local1 = this;
_local1.cHurt = (getTimer() - _local1.nStartHurt) / 1000;
if (_local1.cHurt >= _local1.nHurtTime) {
_local1.bHurt = false;
delete _local1.onEnterFrame;
}
};
}
function invulnerable() {
bInvul = true;
mcInvul._visible = true;
}
function unInvulnerable() {
var _local1 = this;
_local1.bInvul = false;
_local1.cInvul = 0;
_local1.mcInvul._visible = false;
}
function speed() {
nSpeed = 1;
}
function unSpeed() {
nSpeed = 0;
cSpeedTime = 0;
}
function getGerm(g) {
var _local1 = this;
_global.oSound.playSnd("getGerm");
g.handler.removeClip(g);
_local1.cGerms++;
_local1.oBundle.setGerms(_local1.cGerms);
MaggieWorld.addScore(_local1.germScore);
_local1.a.a.a.head.gotoAndPlay("gather");
}
function removeGerm() {
var _local1 = this;
_local1.cGerms--;
if (_local1.cGerms < 0) {
_local1.cGerms = 0;
} else {
_global.oSound.playSnd("loseGerm");
_local1.oGerms.addGerm(_local1.oBundle.x, _local1.oBundle.y, "mcFlyAwayGerm");
}
_local1.oBundle.setGerms(_local1.cGerms);
}
function reset() {
var _local1 = this;
_local1.a.gotoAndStop("stand");
_local1.x = smashing.Viewport.x - _local1.oWorld.playerOffset;
_local1.y = BuildingHandler.floor - (_local1.r * 3);
_local1.cGerms = 0;
_local1.oBundle.setGerms(_local1.cGerms);
_local1.bHurt = false;
delete _local1.onEnterFrame;
_local1._visible = true;
_local1.xm = 0;
_local1.ym = 0;
_local1.faceRight();
_local1.render();
}
function faceLeft() {
gotoAndStop("left");
facing = -1;
}
function faceRight() {
gotoAndStop("right");
facing = 1;
}
var upThrust = 1700;
var sideThrust = 300;
var r = 25;
var xm = 0;
var ym = 0;
var ySpeedLimit = 500;
var onSurface = false;
var nHurtFlash = 0.1;
var nHurtTime = 2;
var bHurt = false;
var cGerms = 0;
var facing = 1;
var floorMod = 50;
var germScore = 100;
var nInvul = 5;
var cInvul = 0;
var bInvul = false;
var nSpeed = 0;
var nSpeedBoost = 150;
var nSpeedTime = 5;
var cSpeedTime = 0;
var nCrouchMod = 0;
var nIdle = 3;
var cIdle = 0;
var sIdle = "";
}
Symbol 1246 MovieClip [__Packages.GermBundle] Frame 0
class GermBundle extends smashing.Renderable
{
var myJoint, gotoAndStop, mcDraw;
function GermBundle () {
var _local1 = this;
super();
_local1.x = 0;
_local1.y = 0;
_local1.l0x = _local1.initleash0._x;
_local1.l0y = _local1.initleash0._y;
_local1.l1x = _local1.initleash1._x;
_local1.l1y = _local1.initleash1._y;
_local1.l2x = _local1.initleash2._x;
_local1.l2y = _local1.initleash2._y;
_local1.l3x = _local1.initleash3._x;
_local1.l3y = _local1.initleash3._y;
_local1.l4x = _local1.initleash4._x;
_local1.l4y = _local1.initleash4._y;
}
function init(oP, mcD) {
var _local1 = this;
var _local2 = oP;
_local1.oPlayer = _local2;
_local1.myJoint = new smashing.Joint(_local2, _local1, 0.9);
_local2.setBundle(_local1);
_local1.mcDraw = mcD;
}
function update(nElapsed) {
myJoint.update(nElapsed);
}
function render() {
var _local1 = this;
var vals = smashing.Viewport.getPos(_local1);
_local1._x = vals.x + smashing.Viewport.centerX;
_local1._y = vals.y + smashing.Viewport.centerY;
var _local2 = new smashing.Point(_local1.oPlayer._x + (((_local1.oPlayer.a._x + _local1.oPlayer.a.a._x) + _local1.oPlayer.a.a.anchor._x) * _local1.oPlayer.facing), _local1.oPlayer._y + ((_local1.oPlayer.a._y + _local1.oPlayer.a.a._y) + _local1.oPlayer.a.a.anchor._y));
_local1.mcDraw.lineStyle(_local1.leashThickness, _local1.leashColor);
var _local3;
var leashY;
if (_local1.leash0._name != undefined) {
_local3 = _local1._x + _local1.l0x;
leashY = _local1._y + _local1.l0y;
_local1.mcDraw.moveTo(_local3, leashY);
_local1.mcDraw.curveTo(((_local2.x - _local3) / 2) + _local3, _local2.y, _local2.x, _local2.y);
}
if (_local1.leash1._name != undefined) {
_local3 = _local1._x + _local1.l1x;
leashY = _local1._y + _local1.l1y;
_local1.mcDraw.moveTo(_local3, leashY);
_local1.mcDraw.curveTo(((_local2.x - _local3) / 2) + _local3, _local2.y, _local2.x, _local2.y);
}
if (_local1.leash2._name != undefined) {
_local3 = _local1._x + _local1.l2x;
leashY = _local1._y + _local1.l2y;
_local1.mcDraw.moveTo(_local3, leashY);
_local1.mcDraw.curveTo(((_local2.x - _local3) / 2) + _local3, _local2.y, _local2.x, _local2.y);
}
if (_local1.leash3._name != undefined) {
_local3 = _local1._x + _local1.l3x;
leashY = _local1._y + _local1.l3y;
_local1.mcDraw.moveTo(_local3, leashY);
_local1.mcDraw.curveTo(((_local2.x - _local3) / 2) + _local3, _local2.y, _local2.x, _local2.y);
}
if (_local1.leash4._name != undefined) {
_local3 = _local1._x + _local1.l4x;
leashY = _local1._y + _local1.l4y;
_local1.mcDraw.moveTo(_local3, leashY);
_local1.mcDraw.curveTo(((_local2.x - _local3) / 2) + _local3, _local2.y, _local2.x, _local2.y);
}
}
function setGerms(nGerms) {
var _local1 = nGerms;
if (_local1 > 5) {
_local1 = 5;
}
if (_local1 < 0) {
_local1 = 0;
}
gotoAndStop(_local1 + 1);
}
function reset() {
setGerms(0);
mcDraw.clear();
}
var leashThickness = 2;
var leashColor = 0;
}
Symbol 1247 MovieClip [__Packages.smashing.Joint] Frame 0
class smashing.Joint
{
function Joint (mcA, mcB, springy) {
var _local1 = this;
if (springy != undefined) {
_local1.nSpring = springy;
}
_local1.A = mcA;
_local1.B = mcB;
_local1.pInert = new smashing.Point(_local1.B._x - _local1.A._x, _local1.B._y - _local1.A._y);
_local1.dist = _local1.pInert.length;
_local1.pfnInert = _local1.pInert.cross().normalize();
_local1.pnInert = _local1.pInert.normalize();
}
function update(nElapsed) {
var _local1 = this;
var _local2 = new smashing.Point(_local1.B.x - _local1.A.x, _local1.B.y - _local1.A.y);
var d = _local2.dot(_local1.pfnInert);
var d2 = _local2.dot(_local1.pnInert);
if (d != 0) {
var dir = (d / Math.abs(d));
var dir2 = (d2 / Math.abs(d2));
var _local3 = Math.acos(d2 / _local2.length);
var move = (_local1.ease(_local3, nElapsed) * dir);
_local3 = _local3 * (-dir);
_local3 = _local3 + move;
_local2 = _local1.pInert.rotate(_local3);
_local1.B.x = _local1.A.x + _local2.x;
_local1.B.y = _local1.A.y + _local2.y;
}
var deg = ((_local3 / Math.PI) * 180);
if (_local1.rotateA) {
_local1.A._rotation = deg;
} else if (_local1.rotateAInner != null) {
_local1.A[_local1.rotateAInner]._rotation = deg;
}
if (_local1.rotateB) {
_local1.B._rotation = deg;
}
}
function ease(d, nElapsed) {
return(d * Math.pow(nElapsed, nSpring));
}
var nSpring = 0.5;
var rotateA = false;
var rotateB = false;
}
Symbol 1248 MovieClip [__Packages.smashing.Menu] Frame 0
class smashing.Menu extends MovieClip
{
static var target;
var gotoAndPlay, gotoAndStop;
function Menu () {
super();
target = this;
}
function onShow() {
}
function onResume() {
}
function show(sFrame) {
onShow();
gotoAndPlay(sFrame);
}
function resume() {
onResume();
gotoAndStop("blank");
}
function playAgain() {
}
static function watchProp(o, sProp, sType) {
var _local1 = o;
var _local2 = sProp;
switch (sType) {
case "text" :
_local1.watch(_local2, watchText);
return;
case "frameMeter" :
_local1.watch(_local2, watchFrameMeter);
return;
case "pegboard" :
_local1.watch(_local2, watchPegboard);
return;
case "signboard" :
_local1.watch(_local2, watchSignboard);
return;
case "singleDigit" :
_local1.watch(_local2, watchSingleDigit);
return;
case "funkyMeter" :
_local1.watch(_local2, watchFunkyMeter);
}
}
static function watchText(prop, oldVal, newVal) {
target[prop.toString()] = newVal;
return(newVal);
}
static function watchFrameMeter(prop, oldVal, newVal) {
var _local2 = target[prop.toString()];
var _local1 = Math.ceil(newVal * _local2._totalframes);
if (_local1 == 0) {
_local1 = 1;
}
_local2.gotoAndStop(_local1);
return(newVal);
}
static function watchPegboard(prop, oldVal, newVal) {
var _local1 = target[prop.toString()];
_local1.pegs = newVal;
return(newVal);
}
static function watchSignboard(prop, oldVal, newVal) {
//var _local2 = this;
var limit = 1;
var _local1 = target[prop.toString()];
_local1.gotoAndStop(newVal);
_local1.startTime = getTimer();
_local1.limit = limit;
_local1.onEnterFrame = function () {
var _local1 = this;
var _local2 = (getTimer() - _local1.startTime) / 1000;
if (_local2 >= _local1.limit) {
_local1._visible = false;
delete _local1.onEnterFrame;
}
};
return(newVal);
}
static function watchSingleDigit(prop, oldVal, newVal) {
var _local2 = newVal;
var _local1 = target[prop.toString()];
_local1.gotoAndStop(_local2 + 1);
target[prop + "cache"] = _local2 + 1;
return(_local2);
}
static function watchFunkyMeter(prop, oldVal, newVal) {
var _local3 = newVal;
if (_local3 < 0) {
_local3 = 0;
}
var _local2 = target.funkyMeter;
var _local1 = _local2[prop.toString()];
var mcCap = _local2[prop.toString() + "Cap"];
_local1._width = _local3 * _local1.fullWidth;
mcCap._x = (_local1._x + _local1._width) - (mcCap._width / 2);
_local2[prop.toString() + "Cache"] = _local3;
return(_local3);
}
var bEnabled = true;
}
Symbol 1249 MovieClip [__Packages.Germ] Frame 0
class Germ extends smashing.Renderable
{
function Germ () {
var _local1 = this;
super();
_local1.gotoAndStop(Math.ceil(Math.random() * _local1._totalframes));
_local1.nNoise = _local1.getNoisePeriod();
_local1.aNoise = ["germNoise0", "germNoise1", "germNoise2", "germNoise3"];
}
function update(nElapsed) {
var _local1 = this;
_local1.cNoise = _local1.cNoise + nElapsed;
if (_local1.cNoise >= _local1.nNoise) {
_local1.cNoise = 0;
_local1.nNoise = _local1.getNoisePeriod();
_global.oSound.playSnd(_local1.aNoise[Math.floor(Math.random() * _local1.aNoise.length)]);
}
_local1.render();
}
function render() {
var _local2 = this;
var _local1 = smashing.Viewport.getPos(_local2);
_local2._x = _local1.x + smashing.Viewport.centerX;
_local2._y = _local1.y + smashing.Viewport.centerY;
}
function react(oPlayer) {
var _local1 = this;
switch (_local1.nSegment) {
case 0 :
_local1.oData.bGermBot = null;
break;
case 1 :
_local1.oData.bGermMid = null;
break;
case 2 :
_local1.oData.bGermTop = null;
}
delete _local1.mcBuild.mcGerm;
oPlayer.getGerm(_local1);
}
function getNoisePeriod() {
return(lowerLimit + (Math.random() * variation));
}
var r = 15;
var grabbable = true;
var lowerLimit = 1.5;
var variation = 1.5;
var cNoise = 0;
}
Symbol 1250 MovieClip [__Packages.smashing.SoundHandler] Frame 0
class smashing.SoundHandler
{
function SoundHandler (loc) {
var _local3 = this;
_local3.location = loc;
_local3.aSnd = [];
var _local2;
var _local1 = 0;
while (_local1 < 8) {
_local2 = loc.createEmptyMovieClip("mcSnd" + _local1, _local1);
_local3.aSnd[_local1] = new Sound(_local2);
_local1++;
}
}
function playSnd(sId, vol) {
var _local2 = this;
var _local1 = _local2.aSnd[_local2.cSound];
_local1.stop();
if (vol != undefined) {
_local1.setVolume(vol);
} else {
_local1.setVolume(100);
}
_local1.attachSound(sId);
_local1.start();
_local2.cSound++;
if (_local2.cSound >= _local2.aSnd.length) {
_local2.cSound = 0;
}
return(_local1);
}
var cSound = 0;
}
Symbol 1251 MovieClip [__Packages.FlyAwayGerm] Frame 0
class FlyAwayGerm extends smashing.Renderable
{
var m;
function FlyAwayGerm () {
super();
m = new smashing.Point(-200, -300);
}
function update(nElapsed) {
var _local1 = this;
var _local2 = nElapsed;
_local1.m.y = _local1.m.y + (_local2 * smashing.Phys.gr);
_local1.x = _local1.x + (_local1.m.x * _local2);
_local1.y = _local1.y + (_local1.m.y * _local2);
_local1.render();
}
function render() {
var _local1 = this;
var _local2 = smashing.Viewport.getPos(_local1);
if (_local2.x < ((-smashing.Viewport.halfWidth) - (_local1.r * 2))) {
_local1.handler.removeClip(_local1);
}
if (_local2.y > (smashing.Viewport.halfHeight + (_local1.r * 2))) {
_local1.handler.removeClip(_local1);
}
_local1._x = _local2.x + smashing.Viewport.centerX;
_local1._y = _local2.y + smashing.Viewport.centerY;
}
var r = 15;
var grabbable = false;
}
Symbol 1252 MovieClip [__Packages.Wind] Frame 0
class Wind extends smashing.Renderable
{
var hitTest;
function Wind () {
super();
}
function update(nElapsed) {
var _local1 = this;
var _local2 = nElapsed * _local1.speed;
_local1.x = _local1.x - _local2;
_local1.cMove = _local1.cMove + _local2;
var _local3 = _local1.x - smashing.Viewport.x;
if (_local3 <= (-(smashing.Viewport.halfWidth + _local1.r))) {
_local1.oCitizenHandler.removeCitizen(_local1);
}
}
function render() {
var _local2 = this;
var _local1 = smashing.Viewport.getPos(_local2);
_local2._x = _local1.x + smashing.Viewport.centerX;
_local2._y = _local1.y + smashing.Viewport.centerY;
}
function collisionTest(oPlayer) {
return(hitTest(oPlayer));
}
function react(oPlayer, nElapsed) {
var _local1 = windForce * nElapsed;
oPlayer.xm = oPlayer.xm - _local1;
}
var r = 60;
var speed = 300;
var cMove = 0;
var nSine = 120;
static var nRange = 30;
var sType = "wind";
var windForce = 2000;
var bDead = false;
}
Symbol 1253 MovieClip [__Packages.Invulnerable] Frame 0
class Invulnerable extends Germ
{
var render;
function Invulnerable () {
super();
}
function update(nElapsed) {
render();
}
function react(oPlayer) {
var _local1 = this;
_global.oSound.playSnd("pickup");
oPlayer.invulnerable();
switch (_local1.nSegment) {
case 0 :
_local1.oData.sPowerupBot = null;
break;
case 1 :
_local1.oData.sPowerupMid = null;
break;
case 2 :
_local1.oData.sPowerupTop = null;
}
delete _local1.mcBuild.mcGerm;
_local1.handler.removeClip(_local1);
}
}
Symbol 1254 MovieClip [__Packages.Time] Frame 0
class Time extends Germ
{
var render;
function Time () {
super();
}
function update(nElapsed) {
render();
}
function react(oPlayer) {
var _local1 = this;
_global.oSound.playSnd("pickup");
_global.mcRoot.oMain.cTime = _global.mcRoot.oMain.cTime - 5;
switch (_local1.nSegment) {
case 0 :
_local1.oData.sPowerupBot = null;
break;
case 1 :
_local1.oData.sPowerupMid = null;
break;
case 2 :
_local1.oData.sPowerupTop = null;
}
delete _local1.mcBuild.mcGerm;
_local1.handler.removeClip(_local1);
}
}
Symbol 1255 MovieClip [__Packages.Speed] Frame 0
class Speed extends Germ
{
var render;
function Speed () {
super();
}
function update(nElapsed) {
render();
}
function react(oPlayer) {
var _local1 = this;
_global.oSound.playSnd("pickup");
oPlayer.speed();
switch (_local1.nSegment) {
case 0 :
_local1.oData.sPowerupBot = null;
break;
case 1 :
_local1.oData.sPowerupMid = null;
break;
case 2 :
_local1.oData.sPowerupTop = null;
}
delete _local1.mcBuild.mcGerm;
_local1.handler.removeClip(_local1);
}
}
Symbol 1256 MovieClip [__Packages.MaggieMenu] Frame 0
class MaggieMenu extends smashing.Menu
{
function MaggieMenu () {
super();
}
function onShow() {
_global.mcRoot.oBase.pause();
_global.mcRoot.mcMusic.oSound.stop();
}
function onResume() {
var _local1 = _global;
_local1.mcRoot.oBase.play();
if (_local1.bMute == false) {
_local1.mcRoot.mcMusic.play();
}
}
}
Symbol 103 Button
on (release) {
this.gotoAndPlay("play");
_global.bHelp = false;
}
Symbol 106 Button
on (release) {
_global.bHelp = true;
this._parent.gotoAndStop("gameReal");
}
Symbol 120 MovieClip Frame 17
stop();
Symbol 121 MovieClip Frame 12
stop();
Symbol 124 MovieClip Frame 1
stop();
Symbol 124 MovieClip Frame 23
this._parent.gotoAndStop("anim");
Symbol 139 MovieClip Frame 1
stop();
Symbol 155 MovieClip Frame 1
stop();
Symbol 156 MovieClip [mcBuildingBottom0] Frame 1
#initclip 50
Object.registerClass("mcBuildingBottom0", BuildingPart);
#endinitclip
stop();
Symbol 171 MovieClip Frame 1
stop();
Symbol 186 MovieClip Frame 1
stop();
Symbol 187 MovieClip [mcBuildingMiddle0] Frame 1
#initclip 34
Object.registerClass("mcBuildingMiddle0", BuildingPart);
#endinitclip
stop();
Symbol 204 MovieClip Frame 1
stop();
Symbol 219 MovieClip Frame 1
stop();
Symbol 220 MovieClip [mcBuildingTop0] Frame 1
#initclip 35
Object.registerClass("mcBuildingTop0", BuildingPart);
#endinitclip
stop();
Symbol 256 MovieClip Frame 1
stop();
Symbol 281 MovieClip Frame 1
stop();
Symbol 312 MovieClip Frame 1
stop();
Symbol 313 MovieClip [mcCitizen] Frame 1
#initclip 36
Object.registerClass("mcCitizen", Citizen);
#endinitclip
stop();
Symbol 342 MovieClip [mcGerm] Frame 1
#initclip 37
Object.registerClass("mcGerm", Germ);
#endinitclip
stop();
Symbol 343 MovieClip [mcFlyAwayGerm] Frame 1
#initclip 38
Object.registerClass("mcFlyAwayGerm", FlyAwayGerm);
#endinitclip
stop();
Symbol 346 MovieClip [home] Frame 1
#initclip 39
Object.registerClass("home", MaggieHome);
#endinitclip
Instance of Symbol 20 MovieClip "mcHitArea" in Symbol 346 MovieClip [home] Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 358 MovieClip Frame 1
stop();
Symbol 371 MovieClip [mcWind] Frame 1
#initclip 40
Object.registerClass("mcWind", Wind);
#endinitclip
Symbol 373 MovieClip [BonusInvun] Frame 1
#initclip 41
Object.registerClass("BonusInvun", Invulnerable);
#endinitclip
Symbol 375 MovieClip [BonusTime] Frame 1
#initclip 42
Object.registerClass("BonusTime", Time);
#endinitclip
Symbol 377 MovieClip [BonusSpeed] Frame 1
#initclip 43
Object.registerClass("BonusSpeed", Speed);
#endinitclip
Symbol 392 MovieClip Frame 1
stop();
Symbol 407 MovieClip Frame 1
stop();
Symbol 408 MovieClip [mcBuildingBottom1] Frame 1
#initclip 44
Object.registerClass("mcBuildingBottom1", BuildingPart);
#endinitclip
stop();
Symbol 423 MovieClip Frame 1
stop();
Symbol 438 MovieClip Frame 1
stop();
Symbol 439 MovieClip [mcBuildingBottom2] Frame 1
#initclip 45
Object.registerClass("mcBuildingBottom2", BuildingPart);
#endinitclip
stop();
Symbol 454 MovieClip Frame 1
stop();
Symbol 469 MovieClip Frame 1
stop();
Symbol 470 MovieClip [mcBuildingMiddle1] Frame 1
#initclip 46
Object.registerClass("mcBuildingMiddle1", BuildingPart);
#endinitclip
stop();
Symbol 485 MovieClip Frame 1
stop();
Symbol 500 MovieClip Frame 1
stop();
Symbol 501 MovieClip [mcBuildingMiddle2] Frame 1
#initclip 47
Object.registerClass("mcBuildingMiddle2", BuildingPart);
#endinitclip
stop();
Symbol 516 MovieClip Frame 1
stop();
Symbol 531 MovieClip Frame 1
stop();
Symbol 532 MovieClip [mcBuildingTop1] Frame 1
#initclip 48
Object.registerClass("mcBuildingTop1", BuildingPart);
#endinitclip
stop();
Symbol 547 MovieClip Frame 1
stop();
Symbol 562 MovieClip Frame 1
stop();
Symbol 563 MovieClip [mcBuildingTop2] Frame 1
#initclip 49
Object.registerClass("mcBuildingTop2", BuildingPart);
#endinitclip
stop();
Symbol 568 MovieClip Frame 1
stop();
Symbol 640 MovieClip Frame 23
stop();
Symbol 646 Button
on (release) {
stopAllSounds();
this._parent.gotoAndPlay("game");
}
Symbol 667 MovieClip Frame 41
stop();
Symbol 682 MovieClip Frame 63
stopAllSounds();
Symbol 682 MovieClip Frame 71
this._parent.gotoAndPlay("game");
Symbol 692 MovieClip Frame 1
stop();
Symbol 693 MovieClip Frame 1
stop();
Symbol 715 MovieClip Frame 1
stop();
Symbol 741 MovieClip Frame 1
stop();
Symbol 747 MovieClip Frame 5
stop();
Symbol 749 MovieClip Frame 2
stop();
Symbol 753 MovieClip Frame 30
stop();
var me = this._parent._parent;
me.sIdle = "";
me.cIdle = 0;
Symbol 759 MovieClip Frame 61
stop();
Symbol 760 MovieClip Frame 62
stop();
var me = this._parent._parent;
me.sIdle = "";
me.cIdle = 0;
Symbol 761 MovieClip Frame 31
stop();
Symbol 762 MovieClip Frame 31
stop();
var me = this._parent._parent;
me.sIdle = "";
me.cIdle = 0;
Symbol 763 MovieClip Frame 1
stop();
Symbol 766 MovieClip [mcPlayer] Frame 1
#initclip 53
Object.registerClass("mcPlayer", Player);
#endinitclip
stop();
Instance of Symbol 765 MovieClip "mcInvul" in Symbol 766 MovieClip [mcPlayer] Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 793 MovieClip [mcGermBundle] Frame 1
#initclip 51
Object.registerClass("mcGermBundle", GermBundle);
#endinitclip
stop();
Instance of Symbol 768 MovieClip "marker" in Symbol 793 MovieClip [mcGermBundle] Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 811 Button
on (release) {
this.show("menu");
}
Symbol 814 MovieClip Frame 1
stop();
this.onRelease = function () {
_global.bMute = true;
_global.mcRoot.mcMusic.oSound.stop();
this.gotoAndStop("off");
};
Symbol 814 MovieClip Frame 5
stop();
this.onRelease = function () {
_global.bMute = false;
_global.mcRoot.mcMusic.play();
this.gotoAndStop("on");
};
Symbol 820 MovieClip Frame 1
stop();
Instance of Symbol 20 MovieClip "nDistRatio" in Symbol 821 MovieClip Frame 1
onClipEvent (load) {
this.fullWidth = this._width;
var cache = this._parent[this._name + "Cache"];
if (cache != undefined) {
this._width = cache * this.fullWidth;
var cap = this._parent[this._name + "Cap"];
cap._x = (this._x + this._width) - (cap._width / 2);
} else {
this._width = 0;
var cap = this._parent[this._name + "Cap"];
cap._x = (this._x + this._width) - (cap._width / 2);
}
}
Instance of Symbol 20 MovieClip "cTimeRatio" in Symbol 821 MovieClip Frame 1
onClipEvent (load) {
this.fullWidth = this._width;
var cache = this._parent[this._name + "Cache"];
if (cache != undefined) {
this._width = cache * this.fullWidth;
var cap = this._parent[this._name + "Cap"];
cap._x = (this._x + this._width) - (cap._width / 2);
} else {
this._width = 0;
var cap = this._parent[this._name + "Cap"];
cap._x = (this._x + this._width) - (cap._width / 2);
}
}
Instance of Symbol 20 MovieClip "nDistRatio" in Symbol 830 MovieClip Frame 1
onClipEvent (load) {
this.fullWidth = this._width;
var cache = this._parent[this._name + "Cache"];
if (cache != undefined) {
this._width = cache * this.fullWidth;
var cap = this._parent[this._name + "Cap"];
cap._x = (this._x + this._width) - (cap._width / 2);
}
}
Instance of Symbol 20 MovieClip "cTimeRatio" in Symbol 830 MovieClip Frame 1
onClipEvent (load) {
this.fullWidth = this._width;
var cache = this._parent[this._name + "Cache"];
if (cache != undefined) {
this._width = cache * this.fullWidth;
var cap = this._parent[this._name + "Cap"];
cap._x = (this._x + this._width) - (cap._width / 2);
}
}
Symbol 831 Button
on (release) {
if (_global.bHelp == true) {
this._parent.startPopup.go();
_global.bHelp = false;
if (_global.bMute == false) {
this._parent.mcMusic.play();
}
this.gotoAndStop("blank");
} else {
this.resume();
}
}
Symbol 857 Button
on (release) {
this.show("help");
}
Symbol 859 Button
on (release) {
this.resume();
}
Symbol 861 Button
on (release) {
this.show("quit");
}
Symbol 868 Button
on (release) {
this.resume();
}
Symbol 872 Button
on (release) {
_global.mcRoot.submitScore();
this.show("submit");
}
Symbol 995 MovieClip Frame 34
stop();
Symbol 1014 Button
on (release) {
stopAllSounds();
_global.mcRoot.oMain.startLevel();
this._parent.gotoAndStop("blank");
}
Symbol 1024 MovieClip Frame 73
stop();
Symbol 1061 MovieClip Frame 35
stop();
Symbol 1091 MovieClip Frame 73
stop();
Symbol 1092 Button
on (release) {
stopAllSounds();
_global.mcRoot.oMain.startLevel();
this._parent._parent.gotoAndStop("blank");
}
Symbol 1193 MovieClip Frame 86
stop();
Symbol 1194 MovieClip Frame 89
stop();
Symbol 1195 MovieClip [mcMenu] Frame 1
#initclip 52
Object.registerClass("mcMenu", MaggieMenu);
#endinitclip
stop();
Instance of Symbol 814 MovieClip in Symbol 1195 MovieClip [mcMenu] Frame 1
onClipEvent (load) {
if (_global.bMute == true) {
this.gotoAndStop("off");
}
}
Symbol 1195 MovieClip [mcMenu] Frame 6
stop();
Symbol 1195 MovieClip [mcMenu] Frame 10
stop();
Symbol 1195 MovieClip [mcMenu] Frame 15
stop();
Symbol 1195 MovieClip [mcMenu] Frame 21
stop();
Symbol 1195 MovieClip [mcMenu] Frame 25
stop();
Symbol 1195 MovieClip [mcMenu] Frame 31
stop();
Symbol 1195 MovieClip [mcMenu] Frame 38
stop();
Symbol 1206 MovieClip Frame 1
fader.useHandCursor = false;
stop();
Instance of Symbol 20 MovieClip "fader" in Symbol 1206 MovieClip Frame 1
on (release) {
}
Symbol 1206 MovieClip Frame 20
this._parent.oBase.play();
this._visible = false;
Symbol 1221 Button
on (release) {
_global.mcRoot.gotoAndStop("intro");
}
Symbol 1222 Button
on (release) {
_global.mcRoot.submitScore();
this.btnSubmit._visible = false;
this.btnPlayagain._visible = false;
}
Symbol 1223 MovieClip Frame 73
stop();