Frame 1
function mainMovieIsLoaded() {
if (_root.getBytesLoaded() == _root.getBytesTotal()) {
return(true);
}
return(false);
}
function CN_Game_Object() {
this.timedScreenArray = new Array();
this.depth_i = 0;
this.offScreenOffset = 700;
this.curScreen = null;
}
function CN_Timer(screen, parent, endTime) {
this.screen = screen;
this.mc = screen.mc.timer;
this.parent = parent;
this.mc.caller = this;
this.endTime = endTime * 1000;
this.active = false;
}
CN_Game_Object.prototype.Continue = function () {
if (this.curScreen != null) {
this.RemoveScreen(this.curScreen);
}
if (this.timedScreenArray.length == 0) {
gotoAndStop (109);
} else {
this.curScreen = this.timedScreenArray.shift();
this.ShowScreen(this.curScreen);
gotoAndStop (108);
}
};
CN_Game_Object.prototype.ExternalGraphicsAreLoaded = function () {
var allLoaded = true;
var i = 0;
while (i < this.timedScreenArray.length) {
if (!this.timedScreenArray[i].isLoaded) {
allLoaded = false;
break;
}
i++;
}
return(allLoaded);
};
CN_Game_Object.prototype.GetExternalParameters = function () {
if (_root.sw1 != null) {
this.timedScreenArray[0] = new Object();
this.timedScreenArray[0].path = _root.sw1;
this.timedScreenArray[0].duration = _root.sw2;
this.timedScreenArray[0].link = _root.sw4;
}
if (_root.sw5 == 1) {
var array_i = this.timedScreenArray.length;
this.timedScreenArray[array_i] = new Object();
if (_root.sw5 != 1) {
this.timedScreenArray[array_i].path = _root.sw5;
} else {
this.timedScreenArray[array_i].path = "orbitEnhanced/orbitEnhanced.swf";
}
if (_root.sw6 != null) {
this.timedScreenArray[array_i].duration = _root.sw6;
} else {
this.timedScreenArray[array_i].duration = "3";
}
if (_root.sw7 != null) {
this.timedScreenArray[array_i].link = _root.sw7;
} else {
this.timedScreenArray[array_i].link = null;
}
}
var array_i = this.timedScreenArray.length;
var next_i = 8;
while (_root["sw" + next_i] != null) {
this.timedScreenArray[array_i] = new Object();
this.timedScreenArray[array_i].path = _root["sw" + next_i];
if (_root.sw6 != null) {
this.timedScreenArray[array_i].duration = _root["sw" + (++next_i)];
} else {
this.timedScreenArray[array_i].duration = "5";
}
if (_root.sw7 != null) {
this.timedScreenArray[array_i].link = _root["sw" + (++next_i)];
} else {
this.timedScreenArray[array_i].link = null;
}
array_i++;
next_i++;
}
};
CN_Game_Object.prototype.LaunchOrbitPopup = function () {
if (_root.sw5 == 1) {
getURL ("javascript:popupOrbitCode( )");
}
};
CN_Game_Object.prototype.LoadExternalGraphic = function (screen, depth) {
_root.attachMovie("externalFileHolder", "holder" + depth, depth);
screen.mc = _root["holder" + depth];
screen.mc.caller = screen;
screen.mc.slot.loadMovie(screen.path);
};
CN_Game_Object.prototype.MainMovieIsLoaded = function () {
if (_root.getBytesLoaded() == _root.getBytesTotal()) {
return(true);
}
return(false);
};
CN_Game_Object.prototype.PreloadExternalGraphics = function () {
var i = 0;
while (i < this.timedScreenArray.length) {
this.LoadExternalGraphic(this.timedScreenArray[i], i + 1);
this.timedScreenArray[i].mc._x = this.offScreenOffset;
i++;
}
};
CN_Game_Object.prototype.RemoveScreen = function (screen) {
screen.mc.slot.unloadMovie();
screen.mc.removeMovieClip();
delete screen;
};
CN_Game_Object.prototype.ShowScreen = function (screen) {
screen.mc._x = 0;
screen.mc._y = 0;
screen.timer = new CN_Timer(screen, this, screen.duration);
screen.timer.Start();
};
CN_Game_Object.prototype.toString = function () {
return("CN_Game_Object");
};
CN_Timer.prototype.Start = function () {
this.active = true;
this.startTime = getTimer();
};
CN_Timer.prototype.Tick = function () {
if ((getTimer() - this.startTime) >= this.endTime) {
_root.EndTimerAdapter(this.parent);
this.active = false;
}
};
CN_Timer.prototype.toString = function () {
return("CN_Timer");
};
EndTimerAdapter = function (parent) {
parent.Continue();
};
myGameObject = new CN_Game_Object();
Frame 2
_root.sizeLoaded = Math.floor(_root.getBytesLoaded() / 1000);
_root.sizeTotal = Math.floor(_root.getBytesTotal() / 1000);
play();
Frame 3
if (mainMovieIsLoaded()) {
myGameObject = new CN_Game_Object();
myGameObject.GetExternalParameters();
myGameObject.PreloadExternalGraphics();
play();
} else {
prevFrame();
}
Frame 4
play();
Frame 5
if (myGameObject.ExternalGraphicsAreLoaded()) {
play();
} else {
prevFrame();
}
Frame 107
_root.myGameObject.Continue();
Frame 109
stop();
Frame 110
stop();
Frame 111
function ConvertHexToBase10(num) {
return(parseInt(num, 16));
}
function ConvertBase10ToHex(num) {
var myNumber = new Number(num);
return(myNumber.toString(16));
}
function MapObject(typeNum, mapX, mapY) {
this.ID = ++MapObject.num;
trace("new MapObject: " + this.ID);
this.depth = this.ID;
this.typeNum = typeNum;
this.mcType = MapObject.GetObjectType(typeNum);
this.width = this.world.mc[this.mcType]._width;
this.mapPosX = mapX;
this.mapPosY = mapY;
var newObjName = ("obj" + this.ID);
this.world.mc[this.mcType].duplicateMovieClip(newObjName, this.depth);
this.mc = this.world.mc[newObjName];
this.mc._visible = false;
this.mc.parent = this;
this.soundModule = new Sound(this.mc.sound);
}
function PanicObject(typeNum, mapX, mapY) {
this.tmpBase = MapObject;
this.tmpBase(typeNum, mapX, mapY);
delete this.tmpBase;
this.panicLevel = 0;
this.isPanic = false;
}
function KidObject(typeNum, mapX, mapY, color) {
this.tmpBase = PanicObject;
this.tmpBase(typeNum, mapX, mapY);
delete this.tmpBase;
this.type = MapObject.kidType;
this.color = color;
this.panicRate = 1;
this.panicThreshold = 15 + random(135);
this.mode = 0;
}
function TeacherObject(typeNum, mapX, mapY) {
this.tmpBase = MapObject;
this.tmpBase(typeNum, mapX, mapY);
delete this.tmpBase;
this.type = MapObject.teacherType;
if (typeNum == 6) {
this.color = MapObject.red;
} else if (typeNum == 7) {
this.color = MapObject.green;
} else if (typeNum == 8) {
this.color = MapObject.yellow;
}
this.panicRate = 1;
}
function AnimalObject(typeNum, mapX, mapY) {
this.tmpBase = MapObject;
this.tmpBase(typeNum, mapX, mapY);
delete this.tmpBase;
this.type = MapObject.animalType;
}
function BackgroundObject(mc, mapX, mapY) {
this.ID = ++MapObject.num;
this.width = 925;
this.mapPosX = mapX;
this.mapPosY = mapY;
this.mc = mc;
this.mc._visible = false;
this.type = MapObject.bgType;
}
MapObject_Init = function () {
MapObject.num = 0;
KidObject.colorArray = new Array();
var i = 0;
while (i < 5) {
KidObject.colorArray.push(MapObject.red);
i++;
}
var i = 0;
while (i < 5) {
KidObject.colorArray.push(MapObject.green);
i++;
}
var i = 0;
while (i < 5) {
KidObject.colorArray.push(MapObject.yellow);
i++;
}
};
MapObject.red = 1;
MapObject.green = 2;
MapObject.yellow = 4;
MapObject.bgType = 1;
MapObject.animalType = 2;
MapObject.kidType = 4;
MapObject.teacherType = 8;
MapObject.objTypes = new Array();
MapObject.objTypes[0] = "kid1";
MapObject.objTypes[1] = "kid2";
MapObject.objTypes[2] = "kid3";
MapObject.objTypes[3] = "kid4";
MapObject.objTypes[4] = "kid5";
MapObject.objTypes[5] = "kid6";
MapObject.objTypes[6] = "redTeacher";
MapObject.objTypes[7] = "greenTeacher";
MapObject.objTypes[8] = "yellowTeacher";
MapObject.level1Types = new Array();
MapObject.level1Types[0] = "penguin1";
MapObject.level1Types[1] = "penguin2";
MapObject.level1Types[2] = "penguin3";
MapObject.level1Types[3] = "penguin4";
MapObject.level1Types[4] = "penguin5";
MapObject.level1Types[5] = "penguin6";
MapObject.level1Types[6] = "penguin7";
MapObject.level1Types[7] = "penguin8";
MapObject.level1Types[8] = "polarBear1";
MapObject.level1Types[9] = "polarBear2";
MapObject.level1Types[10] = "polarBear3";
MapObject.level1Types[11] = "polarBear4";
MapObject.level1Types[12] = "walrus1";
MapObject.level1Types[13] = "walrus2";
MapObject.level1Types[14] = "seal";
MapObject.level1Types[15] = "redDoor1";
MapObject.level1Types[16] = "yellowDoor1";
MapObject.level1Types[17] = "greenDoor1";
MapObject.level2Types = new Array();
MapObject.level2Types[0] = "caribooHead";
MapObject.level2Types[1] = "elephantHead";
MapObject.level2Types[2] = "giraffeHead1";
MapObject.level2Types[3] = "giraffeHead2";
MapObject.level2Types[4] = "rhinoHead";
MapObject.level2Types[5] = "bisonHead";
MapObject.level2Types[6] = "lionHead";
MapObject.level2Types[7] = "tigerParts";
MapObject.level2Types[8] = "redDoor2";
MapObject.level2Types[9] = "yellowDoor2";
MapObject.level2Types[10] = "greenDoor2";
MapObject.level3Types = new Array();
MapObject.level3Types[0] = "toad1";
MapObject.level3Types[1] = "toad2";
MapObject.level3Types[2] = "toad3";
MapObject.level3Types[3] = "lizard";
MapObject.level3Types[4] = "croc1";
MapObject.level3Types[5] = "croc2";
MapObject.level3Types[6] = "croc3";
MapObject.level3Types[7] = "snake1";
MapObject.level3Types[8] = "snake2";
MapObject.level3Types[9] = "snake3";
MapObject.level3Types[10] = "snake4";
MapObject.level3Types[11] = "snake5";
MapObject.level3Types[12] = "snake6";
MapObject.level3Types[13] = "snake7";
MapObject.level3Types[14] = "snake8";
MapObject.level3Types[15] = "snake9";
MapObject.level3Types[16] = "snake10";
MapObject.level3Types[17] = "snake11";
MapObject.level3Types[18] = "snake12";
MapObject.level3Types[19] = "redDoor3";
MapObject.level3Types[20] = "yellowDoor3";
MapObject.level3Types[21] = "greenDoor3";
MapObject.prototype.SwapMCDepths = function (obj) {
var temp = obj.depth;
obj.depth = this.depth;
this.depth = temp;
this.mc.swapDepths(obj.mc);
};
MapObject.HideAllOriginals = function (mc, type) {
var i = 0;
while (i < type.length) {
mc[type[i]]._visible = false;
i++;
}
};
MapObject.GetObjectType = function (typeNum) {
return(MapObject.curObjectType[typeNum]);
};
MapObject.prototype.PlaySound = function () {
this.world.activeSoundsList[this.ID] = this;
this.mc.sound.gotoAndPlay("sound");
};
MapObject.prototype.UpdateSound = function () {
var v = (100 - (Math.abs(this.mc._x - 216) / 4));
if (v < 0) {
v = 0;
}
var p = ((this.mc._x - 216) / 2);
if (100 < p) {
p = 100;
} else if (p < -100) {
p = -100;
}
this.soundModule.setVolume(v);
this.soundModule.setPan(p);
};
MapObject.prototype.toString = function () {
return(((("MapObject [mcType=" + this.mcType) + ", ID=") + this.ID) + "]");
};
PanicObject.prototype.__proto__ = MapObject.prototype;
PanicObject.prototype.UpdatePanic = function (timeCoeff) {
this.panicLevel = this.panicLevel + Math.floor(this.panicRate * timeCoeff);
this.mc.panicLevel = this.panicThreshold - this.panicLevel;
if ((!this.isPanic) && (this.panicThreshold < this.panicLevel)) {
this.Panic();
}
};
PanicObject.prototype.Panic = function () {
this.mc.animation.gotoAndPlay("panic");
this.panicRate = 5;
this.isPanic = true;
if (this.type == MapObject.kidType) {
this.PlaySound("cry" + (this.typeNum + 1));
}
};
PanicObject.prototype.Relax = function () {
this.mc.animation.gotoAndPlay("relief");
this.panicLevel = 0;
this.panicRate = 1;
this.isPanic = false;
};
KidObject.prototype.__proto__ = PanicObject.prototype;
KidObject.prototype.fallMode = 1;
KidObject.prototype.fallGoodMode = 2;
KidObject.prototype.runMode = 4;
KidObject.prototype.PlaySound = function (snd) {
this.world.activeSoundsList[this.ID] = this;
this.mc.sound[snd].gotoAndPlay("sound");
};
KidObject.prototype.UpdateAction = function () {
if (this.isFalling) {
this.Fall();
} else if (this.isLeaving) {
this.RunToBus();
}
};
KidObject.prototype.Drop = function (landY, isGood) {
this.isFalling = true;
this.fallLimit = landY - this.mc._height;
this.velY = 0;
this.goodDrop = isGood;
this.mc.animation.gotoAndStop("drop");
this.world.activeKidsList[this.ID] = this;
for (ID in this/world/map:onScreenKidsList) {
var obj = this.world.map.onScreenKidsList[ID];
if ((landY < (obj.mapPosY + obj.mc._height)) && (obj.depth < this.depth)) {
this.SwapMCDepths(obj);
}
}
};
KidObject.prototype.Fall = function () {
this.velY = this.velY + 2;
this.mapPosY = this.mapPosY + this.velY;
this.mc._y = this.mc._y + this.velY;
if (this.mc._y >= this.fallLimit) {
this.mapPosY = this.fallLimit;
this.mc._y = this.fallLimit;
trace("hittheground: " + this.ID);
this.isFalling = false;
this.PlaySound("dirtLand");
if (this.goodDrop) {
this.PlaySound("runOffSound");
this.mc.animation.gotoAndPlay("runOff");
this.isLeaving = true;
var _local1 = MapObject.yellow;
switch (this.color) {
case _local1 :
this.door = this.world.map.yellowDoorObj;
break;
case MapObject.red :
this.door = this.world.map.redDoorObj;
break;
case MapObject.green :
this.door = this.world.map.greenDoorObj;
}
this.doorOpenFlag = false;
this.doorBase = this.door.mc._y + this.door.mc._height;
this.z = 0;
var a = (this.world.cameraDistance - this.z);
this.x = ((this.mc._x - this.world.vanishX) * a) / this.world.lens;
this.y = ((this.mc._y - this.world.vanishY) * a) / this.world.lens;
this.startScale = this.mc._xscale;
this.startZ = this.z;
} else {
this.PlaySound("runAround");
this.mc.animation.gotoAndPlay("runLeft");
}
}
};
KidObject.prototype.RunToBus = function () {
trace("RunToBus: " + this.ID);
this.z = this.z - 15;
var newScale = (((this.world.cameraDistance - this.startZ) / (this.world.cameraDistance - this.z)) * this.startScale);
var preWidth = this.mc._width;
this.mc._xscale = newScale;
this.mc._yscale = newScale;
var postWidth = this.mc._width;
this.mc._x = this.mc._x + ((preWidth - postWidth) / 2);
var distance = (this.world.cameraDistance - this.z);
this.mc._y = ((this.world.lens * this.y) / distance) + this.world.vanishY;
var feetToDoorDistance = ((this.mc._y + this.mc._height) - this.doorBase);
var inFrontOfDoor = (10 >= feetToDoorDistance);
var insideDoor = (feetToDoorDistance == 0);
var closeDoor = (feetToDoorDistance < -5);
if (closeDoor) {
trace("closeDoor: " + this.ID);
delete this.world.activeKidsList[this.ID];
this.mc.swapDepths(this.door.mc);
this.world.map.RemoveOnStageObjectFromMap(this);
} else if (insideDoor) {
trace("insideDoor: " + this.ID);
this.mc.swapDepths(this.door.mc);
this.mc.animation.gotoAndPlay("runOffMasked");
} else if (inFrontOfDoor && (!this.doorOpenFlag)) {
trace("inFrontOfDoor: " + this.ID);
this.door.mc.gotoAndPlay("open");
this.door.PlaySound("sound");
this.doorOpenFlag = true;
}
};
KidObject.prototype.toString = function () {
return(((("KidObject [mcType=" + this.mcType) + ", ID=") + this.ID) + "]");
};
TeacherObject.prototype.__proto__ = PanicObject.prototype;
TeacherObject.prototype.panicThreshold = 150;
TeacherObject.prototype.toString = function () {
return(((("TeacherObject [mcType=" + this.mcType) + ", ID=") + this.ID) + "]");
};
AnimalObject.prototype.__proto__ = MapObject.prototype;
AnimalObject.prototype.toString = function () {
return(((("AnimalObject [mcType=" + this.mcType) + ", ID=") + this.ID) + "]");
};
BackgroundObject.prototype.__proto__ = MapObject.prototype;
BackgroundObject.prototype.toString = function () {
return(((("BackgroundObject [mcType=" + this.mcType) + ", ID=") + this.ID) + "]");
};
function LinkedList() {
this.listHead = null;
}
LinkedList.prototype.Push = function (val) {
this.InsertAfter(val, this.listHead.prev);
};
LinkedList.prototype.InsertAfter = function (val, prevItem) {
var item = new Object();
item.val = val;
if (this.listHead == null) {
this.listHead = item;
item.prev = item;
item.next = item;
} else {
item.prev = prevItem;
item.next = prevItem.next;
prevItem.next = item;
item.next.prev = item;
}
};
LinkedList.prototype.InsertBefore = function (val, nextItem) {
var item = new Object();
item.val = val;
if (this.listHead == null) {
this.listHead = item;
item.prev = item;
item.next = item;
} else {
item.prev = nextItem.prev;
item.next = nextItem;
nextItem.prev = item;
item.prev.next = item;
if (nextItem == this.listHead) {
this.listHead = item;
}
}
};
LinkedList.prototype.Remove = function (item) {
if (item != null) {
if (item.next == item) {
this.listHead = null;
} else {
item.prev.next = item.next;
item.next.prev = item.prev;
if (item == this.listHead) {
this.listHead = item.next;
}
}
}
};
LinkedList.prototype.RemoveByValue = function (item) {
if (item != null) {
var cur = this.listHead;
do {
if (cur.val == item) {
break;
}
cur = cur.next;
} while (cur != this.listHead);
if (cur.val == item) {
this.Remove(cur);
}
}
};
function PlayerAvatar(world) {
this.world = world;
this.cp1 = new Object();
this.cp2 = new Object();
this.cp3 = new Object();
this.cp4 = new Object();
this.cp5 = new Object();
this.velX = 0;
this.velY = 0;
this.paused = true;
this.flyThreshold = 12;
this.f_idle = 1;
this.f_windUp = 20;
this.f_fly = 30;
this.f_flyDown = 40;
this.f_brake = 60;
this.f_idleWithKid = 80;
this.f_badDrop = 100;
this.f_flyWithKid = 130;
this.f_goodDrop1 = 140;
this.f_goodDrop2 = 160;
this.graphicState = this.f_idle;
this.canTurn = 1;
this.canPickup = 2;
this.canDrop = 4;
this.dropFlag = 8;
this.normalMode = this.canTurn | this.canPickup;
this.carryMode = this.canTurn | this.canDrop;
this.dropMode = (this.canTurn | this.canPickup) | this.dropFlag;
this.goodDrop = 1;
this.badDrop = 2;
this.flag = 0;
this.idleRC = 0.6;
this.windUpRC = 0.6;
this.flyRC = 0.95;
this.brakeRC = 0.4;
this.carryRC = 0.8;
}
PlayerAvatar.prototype.CollisionHitTest = function (mc) {
if ((((mc.hitTest(this.cp1.x, this.cp1.y, true) || (mc.hitTest(this.cp2.x, this.cp2.y, true))) || (mc.hitTest(this.cp3.x, this.cp3.y, true))) || (mc.hitTest(this.cp4.x, this.cp4.y, true))) || (mc.hitTest(this.cp5.x, this.cp5.y, true))) {
return(true);
}
return(false);
};
PlayerAvatar.prototype.CollectSpecialObject = function (specialObjectType, color) {
this.mc.specialObject.gotoAndStop(specialObjectType);
this.mc.specialObject.parent = new Object();
this.mc.specialObject.parent.color = color;
this.mc.specialObject.kid.animation.gotoAndPlay("carry");
this.mode = this.carryMode;
};
PlayerAvatar.prototype.DropFailure = function () {
this.mc.specialObject.gotoAndStop("none");
this.flag = this.badDrop;
this.mode = this.dropMode;
};
PlayerAvatar.prototype.DropSuccessful = function () {
this.mc.specialObject.gotoAndStop("none");
this.flag = this.goodDrop;
this.mode = this.dropMode;
};
PlayerAvatar.prototype.Init = function (mc, character) {
this.mc = mc;
this.mc.caller = this;
this.mode = this.normalMode;
};
PlayerAvatar.prototype.UpdateCollisionPoints = function () {
var specialObjectX = (this.mc._x + this.mc.specialObject._x);
var specialObjectY = (this.mc._y + this.mc.specialObject._y);
this.cp1.x = specialObjectX + this.mc.specialObject.c1._x;
this.cp1.y = specialObjectY + this.mc.specialObject.c1._y;
this.cp2.x = specialObjectX + this.mc.specialObject.c2._x;
this.cp2.y = specialObjectY + this.mc.specialObject.c2._y;
this.cp3.x = specialObjectX + this.mc.specialObject.c3._x;
this.cp3.y = specialObjectY + this.mc.specialObject.c3._y;
this.cp4.x = specialObjectX + this.mc.specialObject.c4._x;
this.cp4.y = specialObjectY + this.mc.specialObject.c4._y;
this.cp5.x = specialObjectX + this.mc.specialObject.c5._x;
this.cp5.y = specialObjectY + this.mc.specialObject.c5._y;
};
PlayerAvatar.prototype.UpdateGraphic = function () {
if ((this.velX < 0) && (0 < this.mc._xscale)) {
this.mc._xscale = -this.mc._xscale;
} else if ((this.velX >= 0) && (this.mc._xscale < 0)) {
this.mc._xscale = -this.mc._xscale;
}
var _local1 = this.normalMode;
switch (this.mode) {
case _local1 :
if (this.velX < 0) {
if ((-this.flyThreshold) >= this.velX) {
if (this.graphicState == this.f_idle) {
this.graphicState = this.f_windUp;
}
} else if (this.graphicState == this.f_fly) {
this.graphicState = this.f_brake;
} else if (this.graphicState != this.f_brake) {
this.graphicState = this.f_idle;
}
} else if (this.velX >= 0) {
if (this.velX >= this.flyThreshold) {
if (this.graphicState == this.f_idle) {
this.graphicState = this.f_windUp;
}
} else if (this.graphicState == this.f_fly) {
this.graphicState = this.f_brake;
} else if (this.graphicState != this.f_brake) {
this.graphicState = this.f_idle;
}
}
break;
case this.carryMode :
if (this.velX < 0) {
if ((-this.flyThreshold) >= this.velX) {
this.graphicState = this.f_flyWithKid;
} else {
this.graphicState = this.f_idleWithKid;
}
} else if (this.velX >= 0) {
if (this.velX >= this.flyThreshold) {
this.graphicState = this.f_flyWithKid;
} else {
this.graphicState = this.f_idleWithKid;
}
}
break;
case this.dropMode :
if (this.flag == this.goodDrop) {
var randomIndex = (random(2) + 1);
this.graphicState = this["f_goodDrop" + randomIndex];
this.flag = 0;
} else {
if (this.flag != this.badDrop) {
break;
}
this.graphicState = this.f_badDrop;
this.flag = 0;
}
}
if (this.graphicState != this.lastGraphic) {
this.mc.gotoAndPlay(this.graphicState);
}
this.lastGraphic = this.graphicState;
};
function Map(world) {
this.world = world;
this.stageWidth = this.world.stageWidth;
this.stageHeight = this.world.stageHeight;
this.mapWidth = 2775;
this.minList = new LinkedList();
this.maxList = new LinkedList();
this.onScreenList = new Object();
this.allKidsList = new Object();
this.onScreenKidsList = new Object();
this.allTeachersList = new Object();
this.onScreenTeachersList = new Object();
this.allAnimalsList = new Object();
this.onScreenAnimalsList = new Object();
this.allGenericObjectsList = new Object();
}
Map.prototype.AddBackgroundsToMap = function () {
var bgNum = 3;
var bgPrefix = (("l" + this.level) + "bg");
var bgWidth = 925;
var obj;
var mapX;
var mapY;
var mc;
var i = 0;
while (i < bgNum) {
mc = this.world.mc[bgPrefix + (i + 1)];
mapX = bgWidth * i;
mapY = 0;
obj = new BackgroundObject(mc, mapX, mapY);
this.AddExistingObjectToMap(obj);
i++;
}
};
Map.prototype.AddExistingObjectToMap = function (obj) {
var minX = obj.mapPosX;
var maxX = (minX + obj.width);
var insertPoint;
var cur = this.minList.listHead;
var curMinX = cur.val.mapPosX;
if (minX < curMinX) {
insertPoint = cur;
this.minList.InsertBefore(obj, insertPoint);
} else {
do {
insertPoint = cur;
cur = cur.next;
curMinX = cur.val.mapPosX;
} while ((cur != this.minList.listHead) && (curMinX < minX));
this.minList.InsertAfter(obj, insertPoint);
}
var cur = this.maxList.listHead;
var curMaxX = (cur.val.mapPosX + cur.val.width);
if (maxX < curMaxX) {
insertPoint = cur;
this.maxList.InsertBefore(obj, insertPoint);
} else {
do {
insertPoint = cur;
cur = cur.next;
curMaxX = cur.val.mapPosX + cur.val.width;
} while ((cur != this.maxList.listHead) && (curMaxX < maxX));
this.maxList.InsertAfter(obj, insertPoint);
}
var onScreen = false;
if (this.IsOnScreen(obj)) {
this.onScreenList[obj.ID] = obj;
onScreen = true;
}
var _local1 = MapObject.kidType;
switch (obj.type) {
case _local1 :
this.allKidsList[obj.ID] = obj;
if (onScreen) {
this.onScreenKidsList[obj.ID] = obj;
}
return;
case MapObject.teacherType :
this.allTeachersList[obj.ID] = obj;
if (onScreen) {
this.onScreenTeachersList[obj.ID] = obj;
}
return;
case MapObject.animalType :
this.allAnimalsList[obj.ID] = obj;
if (onScreen) {
this.onScreenAnimalsList[obj.ID] = obj;
}
return;
case MapObject.bgType :
return;
default :
this.allGenericObjectsList[obj.ID] = obj;
}
};
AddNewObjectToMapAdapter = function (caller, mcType, x, y) {
caller.map.AddNewObjectToMap(mcType, x, y);
};
Map.prototype.AddNewObjectToMap = function (typeNum, x, y) {
var mapPosX = this.GetMapPosX(x);
var mapPosY = y;
if (5 >= typeNum) {
obj = new KidObject(typeNum, mapPosX, mapPosY);
} else if (8 >= typeNum) {
obj = new TeacherObject(typeNum, mapPosX, mapPosY);
} else if (typeNum < (MapObject.curObjectType.length - 3)) {
obj = new AnimalObject(typeNum, mapPosX, mapPosY);
} else {
obj = new MapObject(typeNum, mapPosX, mapPosY);
}
this.AddExistingObjectToMap(obj);
this.ReadyMapObjectMC(obj);
this.DrawOneObject(obj);
};
Map.prototype.AddOnStageObjectsToRear = function () {
var cur = this.minList.offStageNext;
while (this.IsOnScreen(cur.val)) {
this.ReadyMapObjectMC(cur.val);
this.minList.offStageNext = cur.next;
this.onScreenList[cur.val.ID] = cur.val;
var _local1 = MapObject.kidType;
switch (cur.val.type) {
case _local1 :
this.onScreenKidsList[cur.val.ID] = cur.val;
break;
case MapObject.teacherType :
this.onScreenTeachersList[cur.val.ID] = cur.val;
break;
case MapObject.animalType :
this.onScreenAnimalsList[cur.val.ID] = cur.val;
}
cur = cur.next;
}
};
Map.prototype.AddOnStageObjectsToFront = function () {
var cur = this.maxList.offStagePrev;
while (this.IsOnScreen(cur.val)) {
this.ReadyMapObjectMC(cur.val);
this.maxList.offStagePrev = cur.prev;
this.onScreenList[cur.val.ID] = cur.val;
var _local1 = MapObject.kidType;
switch (cur.val.type) {
case _local1 :
this.onScreenKidsList[cur.val.ID] = cur.val;
break;
case MapObject.teacherType :
this.onScreenTeachersList[cur.val.ID] = cur.val;
break;
case MapObject.animalType :
this.onScreenAnimalsList[cur.val.ID] = cur.val;
}
cur = cur.prev;
}
};
Map.prototype.CleanUp = function () {
for (ID in this:allGenericObjectsList) {
trace((("remove: " + ID) + " ") + this.allGenericObjectsList[ID]);
this.allGenericObjectsList[ID].mc.removeMovieClip();
delete this.allGenericObjectsList[ID];
}
for (ID in this:allKidsList) {
trace((("remove: " + ID) + " ") + this.allKidsList[ID]);
this.allKidsList[ID].mc.removeMovieClip();
delete this.allKidsList[ID];
}
for (ID in this:allTeachersList) {
trace((("remove: " + ID) + " ") + this.allTeachersList[ID]);
this.allTeachersList[ID].mc.removeMovieClip();
delete this.allTeachersList[ID];
}
for (ID in this:allAnimalsList) {
trace((("remove: " + ID) + " ") + this.allAnimalsList[ID]);
this.allAnimalsList[ID].mc.removeMovieClip();
delete this.allAnimalsList[ID];
}
for (name in this/world:mc) {
if ((typeof(this.world.mc[name]) == "movieclip") && (name.substring(0, 3) == "obj")) {
this.world.mc[name].removeMovieClip();
}
}
};
Map.prototype.ConvertTextFileToMap = function (prefix) {
var objNum = ConvertHexToBase10(this.mapData[prefix + "N"]);
var typeNum;
var mapX;
var mapY;
var obj;
var iAsHex;
var i = 1;
while (objNum >= i) {
iAsHex = ConvertBase10ToHex(i);
mapX = Number(ConvertHexToBase10(this.mapData[(prefix + iAsHex) + "x"]));
mapY = Number(ConvertHexToBase10(this.mapData[(prefix + iAsHex) + "y"]));
typeNum = ConvertHexToBase10(this.mapData[(prefix + iAsHex) + "t"]);
if (prefix == "k") {
var randomIndex = random(KidObject.colorArray.length);
var color = KidObject.colorArray[randomIndex];
KidObject.colorArray.splice(randomIndex, 1);
obj = new KidObject(typeNum, mapX, mapY, color);
} else if (prefix == "t") {
obj = new TeacherObject(typeNum, mapX, mapY);
obj.kidsLeft = 5;
} else if (prefix == "a") {
obj = new AnimalObject(typeNum, mapX, mapY);
} else {
obj = new MapObject(typeNum, mapX, mapY);
var objType = MapObject.GetObjectType(typeNum);
if (objType == ("greenDoor" + this.level)) {
this.greenDoorObj = obj;
} else if (objType == ("yellowDoor" + this.level)) {
this.yellowDoorObj = obj;
} else if (objType == ("redDoor" + this.level)) {
this.redDoorObj = obj;
}
}
this.AddExistingObjectToMap(obj);
i++;
}
};
DeleteMapObjectByPositionAdapter = function (caller, x, y) {
caller.map.DeleteMapObjectByPosition(x, y);
};
Map.prototype.DeleteMapObjectByPosition = function (x, y) {
var obj;
for (ID in this:onScreenList) {
obj = this.onScreenList[ID];
if (obj.mc.hitTest(x, y, true) && (obj.mc._name.substring(0, 3) == "obj")) {
this.RemoveOnStageObjectFromMap(obj);
break;
}
}
};
Map.prototype.DrawOneObject = function (obj) {
obj.mc._x = this.GetScreenPosX(obj.mapPosX);
obj.mc._y = obj.mapPosY;
};
Map.prototype.GetMapPosX = function (screenPosX) {
var mapPosX = Math.floor(this.mapBoundMinX + screenPosX);
if (this.mapWidth < mapPosX) {
mapPosX = mapPosX - this.mapWidth;
}
return(mapPosX);
};
Map.prototype.GetScreenPosX = function (mapPosX) {
if (this.atWrapPoint && (mapPosX < (this.mapWidth - mapPosX))) {
var screenPosX = ((this.mapWidth - this.mapBoundMinX) + mapPosX);
} else {
var screenPosX = (mapPosX - this.mapBoundMinX);
}
return(screenPosX);
};
Map.prototype.GetVisibleIndices = function () {
var cur = this.minList.listHead;
do {
if (cur.val.mapPosX < this.mapBoundMaxX) {
this.minList.offStagePrev = cur.prev;
break;
}
cur = cur.next;
} while (cur != this.minList.listHead);
if (this.minList.offStagePrev != null) {
var cur = this.minList.offStagePrev;
var next = cur.next;
var nextX = next.val.mapPosX;
while ((nextX < this.mapBoundMaxX) && (next != this.minList.offStagePrev)) {
cur = next;
next = cur.next;
nextX = next.val.mapPosX;
}
this.minList.offStageNext = cur.next;
}
var cur = this.maxList.listHead;
do {
var minX = cur.val.mapPosX;
var maxX = (minX + cur.val.width);
if (maxX < this.mapBoundMaxX) {
this.maxList.offStagePrev = cur.prev;
break;
}
cur = cur.next;
} while (cur != this.maxList.listHead);
if (this.maxList.offStagePrev != null) {
var cur = this.maxList.offStagePrev;
var next = cur.next;
var nextMinX = next.val.mapPosX;
var nextMaxX = (nextMinX + next.val.width);
while ((nextMaxX < this.mapBoundMaxX) && (next != this.maxList.offStagePrev)) {
cur = next;
next = cur.next;
nextMinX = next.val.mapPosX;
nextMaxX = nextMinX + next.val.width;
}
this.maxList.offStageNext = cur.next;
}
};
Map.prototype.Init = function () {
this.mapBoundMinX = 0;
this.mapBoundMaxX = this.mapBoundMinX + this.stageWidth;
this.ConvertTextFileToMap("o");
this.ConvertTextFileToMap("a");
this.ConvertTextFileToMap("t");
this.ConvertTextFileToMap("k");
this.AddBackgroundsToMap();
this.mapData.removeMovieClip();
this.GetVisibleIndices();
var obj;
var name;
for (ID in this:onScreenList) {
obj = this.onScreenList[ID];
this.ReadyMapObjectMC(obj);
}
this.Draw();
this.world.MapReady();
};
Map.prototype.IsOnScreen = function (obj) {
var objMinX = obj.mapPosX;
var objMaxX = (objMinX + obj.width);
var success = false;
if (((objMaxX >= this.mapBoundMinX) && (this.mapBoundMaxX >= objMinX)) || (this.atWrapPoint && ((objMaxX >= 0) && ((this.mapBoundMaxX - this.mapWidth) >= objMinX)))) {
success = true;
}
return(success);
};
Map.prototype.LoadFile = function (level) {
this.level = level;
dataHolder.duplicateMovieClip("mapHolder", 5000);
this.mapData = mapHolder;
this.mapData.caller = this;
this.mapData.onDataFunction = "onMapDataAdapter";
var mapFile = (("maps/level" + level) + ".txt");
this.mapData.loadVariables(mapFile);
};
onMapDataAdapter = function (caller) {
caller.Init();
};
OutputMapAdapter = function (caller) {
caller.map.OutputMap();
};
Map.prototype.OutputMap = function () {
var mapAsText = "";
var objNum = 0;
var kidNum = 0;
var teacherNum = 0;
var animalNum = 0;
var obj;
var typeNum;
var prefix;
var num;
var cur = this.minList.listHead.next;
do {
obj = cur.val;
if (obj.type != MapObject.bgType) {
typeNum = obj.typeNum;
if (obj.type == MapObject.kidType) {
num = ++kidNum;
prefix = "k";
} else if (obj.type == MapObject.animalType) {
num = ++animalNum;
prefix = "a";
} else if (obj.type == MapObject.teacherType) {
num = ++teacherNum;
prefix = "t";
} else {
num = ++objNum;
prefix = "o";
}
mapAsText = mapAsText + (((("&" + prefix) + ConvertBase10ToHex(num)) + "t=") + ConvertBase10ToHex(typeNum));
mapAsText = mapAsText + (((("&" + prefix) + ConvertBase10ToHex(num)) + "x=") + ConvertBase10ToHex(obj.mapPosX));
mapAsText = mapAsText + (((("&" + prefix) + ConvertBase10ToHex(num)) + "y=") + ConvertBase10ToHex(obj.mapPosY));
}
cur = cur.next;
} while (cur != this.minList.listHead);
var msg = (("oN=" + ConvertBase10ToHex(objNum)) + "&");
msg = msg + (("kN=" + ConvertBase10ToHex(kidNum)) + "&");
msg = msg + (("aN=" + ConvertBase10ToHex(animalNum)) + "&");
msg = msg + ("tN=" + ConvertBase10ToHex(teacherNum));
msg = msg + mapAsText;
trace(msg);
};
Map.prototype.ReadyMapObjectMC = function (obj) {
obj.mc._visible = true;
obj.mc._x = this.GetScreenPosX(obj.mapPosX);
obj.mc._y = obj.mapPosY;
};
Map.prototype.RemoveObjectFromScreen = function (obj) {
obj.mc._visible = false;
};
Map.prototype.RemoveObjectFromMap = function (obj) {
trace("RemoveObjectFromMap: " + obj);
this.minList.RemoveByValue(obj);
this.maxList.RemoveByValue(obj);
delete this.onScreenList[obj.ID];
var _local1 = MapObject.kidType;
switch (obj.type) {
case _local1 :
delete this.allKidsList[obj.ID];
delete this.onScreenKidsList[obj.ID];
break;
case MapObject.teacherType :
delete this.allTeachersList[obj.ID];
delete this.onScreenTeachersList[obj.ID];
break;
case MapObject.animalType :
delete this.allAnimalsList[obj.ID];
delete this.onScreenAnimalsList[obj.ID];
break;
default :
trace("error: type unrecoginized: " + obj.type);
}
delete obj;
};
Map.prototype.RemoveOffScreenObjectsFromFront = function () {
var cur = this.maxList.offStagePrev.next;
while (cur.val.mc._visible && (!this.IsOnScreen(cur.val))) {
this.RemoveObjectFromScreen(cur.val);
this.maxList.offStagePrev = cur;
delete this.onScreenList[cur.val.ID];
var _local1 = MapObject.kidType;
switch (cur.val.type) {
case _local1 :
delete this.onScreenKidsList[cur.val.ID];
break;
case MapObject.teacherType :
delete this.onScreenTeachersList[cur.val.ID];
break;
case MapObject.animalType :
delete this.onScreenAnimalsList[cur.val.ID];
}
cur = cur.next;
}
};
Map.prototype.RemoveOffScreenObjectsFromRear = function () {
var obj;
var cur = this.minList.offStageNext.prev;
while (cur.val.mc._visible && (!this.IsOnScreen(cur.val))) {
obj = cur.val;
this.RemoveObjectFromScreen(obj);
this.minList.offStageNext = cur;
delete this.onScreenList[obj.ID];
var _local1 = MapObject.kidType;
switch (obj.type) {
case _local1 :
delete this.onScreenKidsList[obj.ID];
break;
case MapObject.teacherType :
delete this.onScreenTeachersList[obj.ID];
break;
case MapObject.animalType :
delete this.onScreenAnimalsList[obj.ID];
}
cur = cur.prev;
}
};
Map.prototype.RemoveOnStageObjectFromMap = function (obj) {
this.RemoveObjectFromScreen(obj);
this.RemoveObjectFromMap(obj);
};
Map.prototype.ScrollOnStageObjects = function (scrollX) {
for (ID in this:onScreenList) {
this.onScreenList[ID].mc._x = this.onScreenList[ID].mc._x - scrollX;
}
};
Map.prototype.toString = function () {
return("Map Object");
};
Map.prototype.Update = function (scrollX) {
this.mapBoundMinX = this.mapBoundMinX + scrollX;
if (this.mapWidth < this.mapBoundMinX) {
this.mapBoundMinX = this.mapBoundMinX - this.mapWidth;
} else if (this.mapBoundMinX < 0) {
this.mapBoundMinX = this.mapBoundMinX + this.mapWidth;
}
this.mapBoundMaxX = this.mapBoundMinX + this.stageWidth;
if (this.mapWidth < this.mapBoundMaxX) {
this.atWrapPoint = true;
} else {
this.atWrapPoint = false;
}
if (0 < scrollX) {
this.RemoveOffScreenObjectsFromFront();
this.ScrollOnStageObjects(scrollX);
this.AddOnStageObjectsToRear();
} else if (scrollX < 0) {
this.RemoveOffScreenObjectsFromRear();
this.ScrollOnStageObjects(scrollX);
this.AddOnStageObjectsToFront();
}
};
function PanicMeter(world, mc) {
this.world = world;
this.mc = mc;
this.level = 0;
this.isPanic = false;
}
PanicMeter.prototype.Init = function () {
};
PanicMeter.prototype.Update = function (totalPanic) {
this.level = this.level + totalPanic;
var panicFrame = Math.ceil(this.level / 35);
if ((this.isPanic == false) && (500 < panicFrame)) {
this.mc.gotoAndPlay("panic");
this.isPanic = true;
} else {
this.mc.guage.gotoAndStop(panicFrame);
}
};
Wipe = function (world) {
this.world = world;
this.mc = this.world.mc.wipe;
this.mc.caller = this;
};
Wipe.prototype.FadeIn = function () {
this.mc.gotoAndPlay("fadeIn");
this.world.ticker.mc.gotoAndStop("show");
};
Wipe.prototype.FadeOut = function () {
this.mc.gotoAndPlay("fadeOut");
};
Wipe.prototype.FadeOutLong = function () {
this.mc.gotoAndPlay("fadeOutLong");
};
FadeInFinishAdapter = function (caller) {
caller.FadeInFinish();
};
Wipe.prototype.FadeInFinish = function () {
this.world.pan = true;
this.world.soundModule.StartMusic();
};
FadeOutFinishAdapter = function (caller) {
caller.FadeOutFinish();
};
Wipe.prototype.FadeOutFinish = function () {
for (ID in this/world:activeSoundsList) {
this.world.activeSoundsList[ID].soundModule.setVolume(0);
}
if (this.world.levelSuccess && (this.world.level < 3)) {
_root.NextLevel();
} else {
this.world.GotoEndScreen();
}
};
function SoundModule(world) {
this.world = world;
this.musicModule = this.world.mc.music;
this.music = new Sound(this.musicModule);
}
SoundModule.prototype.PlaySound = function (snd, v, p) {
this[snd].setVolume(v);
this[snd].setPan(p);
this.world.mc[snd].gotoAndPlay("sound");
};
SoundModule.prototype.PlayTimedSound = function (snd, v, p) {
};
SoundModule.prototype.StartMusic = function () {
this.musicModule.gotoAndStop("start");
};
SoundModule.prototype.StopMusic = function () {
this.musicModule.gotoAndStop("stop");
};
function LevelOverlay(world) {
this.world = world;
this.mc = this.world.mc.levelOverlay;
this.mc.caller = this;
}
ShowLevelAdapter = function (caller, level) {
caller.ShowLevel(level);
};
LevelOverlay.prototype.ShowLevel = function (level) {
this.mc.gotoAndPlay("level" + level);
};
function HUD(world) {
this.world = world;
this.mc = this.world.mc.HUD_mc;
}
HUD.prototype.Init = function () {
this.red = 5;
this.green = 5;
this.yellow = 5;
var i = 1;
while (15 >= i) {
this.mc["dot" + i]._alpha = 100;
i++;
}
};
HUD.prototype.UpdateKidsToRescue = function (color) {
if (color == MapObject.red) {
this.mc["dot" + this.red].gotoAndPlay("fadeOut");
this.red--;
} else if (color == MapObject.green) {
this.mc["dot" + (this.green + 5)].gotoAndPlay("fadeOut");
this.green--;
} else if (color == MapObject.yellow) {
this.mc["dot" + (this.yellow + 10)].gotoAndPlay("fadeOut");
this.yellow--;
}
};
function Ticker(world) {
this.world = world;
this.mc = this.world.mc.tickerMC;
}
function GameWorld(mc) {
this.mc = mc;
this.mc.caller = this;
this.stageWidth = 432;
this.stageHeight = 330;
this.stageCenterX = this.stageWidth / 2;
this.stageCenterY = this.stageHeight / 2;
this.lens = 128;
this.vanishX = this.stageCenterX;
this.vanishY = 50;
this.cameraDistance = 256;
this.avatar = new PlayerAvatar(this);
this.map = new Map(this);
this.mc.avatar = this.avatar;
this.mc.stageCenterX = this.stageCenterX;
this.mc.stageCenterY = this.stageCenterY;
this.panicMeter = new PanicMeter(this, this.mc.panicMeter);
this.soundModule = new SoundModule(this);
this.hud = new HUD(this);
this.wipe = new Wipe(this);
this.ticker = new Ticker(this);
this.levelOverlay = new LevelOverlay(this);
this.paused = true;
this.collectCollision = 32;
this.dropOffCollision = 64;
this.animalCollision = 128;
this.timeCoeff = 0;
this.activeKidsList = new Object();
this.activeSoundsList = new Object();
mouse.show();
}
function StartGameAdapter() {
myGameWorld.StartGame();
}
GameWorld.prototype.Init = function (character, level) {
this.level = level;
this.kidsToRescue = 9;
this.map.LoadFile(level);
MapObject.prototype.world = this;
MapObject.level = 1;
MapObject.curObjectType = MapObject.objTypes.concat(MapObject[("level" + level) + "Types"]);
MapObject.HideAllOriginals(this.mc, MapObject.objTypes);
MapObject.HideAllOriginals(this.mc, MapObject.level1Types);
MapObject.HideAllOriginals(this.mc, MapObject.level2Types);
MapObject.HideAllOriginals(this.mc, MapObject.level3Types);
var i = 1;
while (3 >= i) {
if (i != this.level) {
var j = 1;
while (3 >= j) {
this.mc[(("l" + i) + "bg") + j]._visible = false;
j++;
}
}
i++;
}
this.mc.blossom._visible = false;
this.mc.buttercup._visible = false;
this.mc.bubbles._visible = false;
this.avatar.Init(this.mc[character], character);
this.hud.Init();
this.wipe.mc.swapDepths(1700);
this.levelOverlay.mc.swapDepths(1650);
this.ticker.mc.swapDepths(1625);
this.mc.panicMeter.swapDepths(1600);
this.avatar.playerDepth = 1500;
this.avatar.mc.swapDepths(this.avatar.playerDepth);
this.panStepsTaken = 0;
this.success = false;
};
GameWorld.prototype.InitValues = function (kidsToRescue) {
this.kidsToRescue = kidsToRescue;
};
UpdateAdapter = function () {
if (!myGameWorld.paused) {
myGameWorld.Update();
} else if (myGameWorld.pan) {
myGameWorld.PanUpdate();
} else if (myGameWorld.skipPan) {
myGameWorld.avatar.mc._visible = true;
myGameWorld.avatar.mc.gotoAndPlay("flyIn");
myGameWorld.skipPan = false;
}
};
GameWorld.prototype.PanStep = 10;
GameWorld.prototype.PanTicks = 278;
GameWorld.prototype.PanUpdate = function () {
if (this.panStepsTaken == 0) {
this.map.Update(5);
} else {
this.map.Update(this.PanStep);
}
if ((++this.panStepsTaken) >= this.PanTicks) {
this.pan = false;
this.avatar.mc._visible = true;
this.avatar.mc.gotoAndPlay("flyIn");
this.ticker.mc.gotoAndStop("hide");
}
};
EndPan = function () {
myGameWorld.pan = false;
myGameWorld.skipPan = true;
};
GameWorld.prototype.Update = function () {
var xDif = (this.avatar.mc._x - this.stageCenterX);
var a = (xDif / 28);
this.avatar.velX = Math.round(((a * a) * a) / 2);
this.map.Update(this.avatar.velX);
this.GetCollisions();
this.avatar.UpdateGraphic();
this.curTime = getTimer();
var dTime = ((this.curTime - this.lastTime) / 1000);
this.lastTime = this.curTime;
this.timeCoeff = this.timeCoeff + dTime;
if (this.timeCoeff >= 1) {
var obj;
var totalPanic = 0;
for (ID in this/map:allKidsList) {
this.map.allKidsList[ID].UpdatePanic(this.timeCoeff);
totalPanic = totalPanic + this.map.allKidsList[ID].panicLevel;
}
for (ID in this/map:allTeachersList) {
this.map.allTeachersList[ID].UpdatePanic(this.timeCoeff);
totalPanic = totalPanic + this.map.allTeachersList[ID].panicLevel;
}
this.panicMeter.Update(totalPanic);
this.timeCoeff = 0;
}
for (ID in this:activeKidsList) {
this.activeKidsList[ID].UpdateAction();
}
for (ID in this:activeSoundsList) {
this.activeSoundsList[ID].UpdateSound();
}
};
GameWorld.prototype.GetCollisions = function () {
var obj;
if (this.avatar.mode & this.avatar.canPickup) {
for (ID in this/map:onScreenKidsList) {
obj = this.map.onScreenKidsList[ID];
if (obj.mc.canBePickedUp && (this.avatar.mc.hitTest(obj.mc))) {
this.avatar.CollectSpecialObject(obj.mcType, obj.color);
obj.soundModule.setVolume(0);
if (this.activeSoundsList[obj.ID] != null) {
delete this.activeSoundsList[obj.ID];
}
this.avatar.hasObjectColor = obj.color;
this.avatar.hasTypeNum = obj.typeNum;
this.map.RemoveOnStageObjectFromMap(obj);
break;
}
}
} else {
this.avatar.UpdateCollisionPoints();
var curTime = getTimer();
for (ID in this/map:onScreenAnimalsList) {
obj = this.map.onScreenAnimalsList[ID];
timeSinceLastCollision = curTime - obj.lastCollisionAt;
if (this.avatar.mc.hitTest(obj.mc) && (2000 < timeSinceLastCollision)) {
if (this.avatar.CollisionHitTest(obj.mc)) {
obj.lastCollisionAt = getTimer();
this.DropFailure(obj);
break;
}
}
}
for (ID in this/map:onScreenTeachersList) {
obj = this.map.onScreenTeachersList[ID];
if ((obj.color == this.avatar.hasObjectColor) && (this.avatar.mc.hitTest(obj.mc.hitArea))) {
if (this.avatar.CollisionHitTest(obj.mc)) {
this.DropSuccessful(obj);
break;
}
}
}
}
return(aGraphic);
};
GameWorld.prototype.DropSuccessful = function (teacher) {
var typeNum = this.avatar.hasTypeNum;
var screenPosY = (this.avatar.mc._y + this.avatar.mc.specialObject._y);
var mcType = MapObject.GetObjectType(typeNum);
var width = this.mc[mcType]._width;
var screenPosX = ((teacher.mc._x + teacher.mc.x._x) - (width / 2));
mapX = this.map.GetMapPosX(screenPosX);
mapY = screenPosY;
var obj = new KidObject(typeNum, mapX, mapY, this.avatar.hasObjectColor);
var landY = (teacher.mc._y + teacher.mc.x._y);
obj.Drop(landY, true);
teacher.Relax();
teacher.kidsLeft--;
if (teacher.kidsLeft == 0) {
teacher.panicRate = 0;
}
this.map.AddExistingObjectToMap(obj);
this.map.ReadyMapObjectMC(obj);
this.map.DrawOneObject(obj);
this.avatar.DropSuccessful();
this.kidsToRescue--;
this.hud.UpdateKidsToRescue(this.avatar.hasObjectColor);
if (this.kidsToRescue == 0) {
this.EndLevelGood();
}
};
GameWorld.prototype.DropFailure = function (animal) {
var typeNum = this.avatar.hasTypeNum;
var screenPosX = (this.avatar.mc._x + this.avatar.mc.specialObject._x);
var screenPosY = (this.avatar.mc._y + this.avatar.mc.specialObject._y);
mapX = this.map.GetMapPosX(screenPosX);
mapY = screenPosY;
var obj = new KidObject(typeNum, mapX, mapY, this.avatar.hasObjectColor);
var landY = animal.mc.landY;
obj.Drop(landY, false);
obj.panicLevel = obj.panicThreshold;
obj.panicRate = 5;
obj.isPanic = true;
this.map.AddExistingObjectToMap(obj);
this.map.ReadyMapObjectMC(obj);
this.map.DrawOneObject(obj);
animal.PlaySound("sound");
this.avatar.DropFailure();
};
GameWorld.prototype.MapReady = function () {
this.wipe.FadeIn();
};
GameWorld.prototype.UpdateScore = function (amt) {
this.score = this.score + amt;
this.hud.UpdateScore(this.score);
};
GameWorld.prototype.StartGame = function () {
mouse.hide();
this.HUD.mc.gotoAndPlay("show");
this.panicMeter.mc.gotoAndPlay("show");
this.lastTime = getTimer();
this.paused = false;
};
GameWorld.prototype.EndLevelGood = function (endType) {
this.levelSuccess = true;
this.wipe.FadeOutLong();
for (ID in this/map:allTeachersList) {
this.map.allTeachersList[ID].mc.animation.gotoAndPlay("cheer");
this.map.allTeachersList[ID].PlaySound("sound");
}
};
NextLevel = function () {
myGameWorld.map.CleanUp();
MapObject_Init();
myGameWorld.HUD.mc.gotoAndStop("hide");
myGameWorld.panicMeter.mc.gotoAndStop("hide");
myGameWorld = new GameWorld(GameWorldMC);
_root.level++;
if (_root.level == 2) {
myGameWorld.Init("buttercup", _root.level);
} else {
myGameWorld.Init("bubbles", _root.level);
}
myGameWorld.InitValues(_root.numKidsToWin);
myGameWorld.soundModule.StartMusic();
};
EndLevelBadAdapter = function () {
myGameWorld.EndLevelBad();
};
GameWorld.prototype.EndLevelBad = function (endType) {
if (!this.levelSuccess) {
this.wipe.FadeOut();
this.levelSuccess = false;
}
};
GotoEndScreenAdapter = function () {
myGameWorld.gotoEndScreen();
};
GameWorld.prototype.GotoEndScreen = function () {
mouse.show();
stopAllSounds();
this.soundModule.StopMusic();
if (this.levelSuccess) {
_root.gotoAndStop("win");
} else {
_root.gotoAndStop("lose");
}
};
stop();
_root.level = 1;
MapObject_Init();
myGameWorld = new GameWorld(GameWorldMC);
myGameWorld.Init("blossom", _root.level);
_root.numKidsToWin = 15;
myGameWorld.InitValues(_root.numKidsToWin);
Instance of Symbol 736 MovieClip "GameWorldMC" in Frame 111
onClipEvent (enterFrame) {
_root.UpdateAdapter();
}
onClipEvent (mouseMove) {
if (this.caller.paused == false) {
var x = _root._xmouse;
var y = _root._ymouse;
var showMouse = false;
if (x < 100) {
x = 100;
showMouse = true;
} else if (332 < x) {
x = 332;
showMouse = true;
}
if (y < 50) {
y = 50;
showMouse = true;
} else if (270 < y) {
y = 270;
showMouse = true;
}
if (showMouse) {
}
this.avatar.mc._x = x;
this.avatar.mc._y = y;
updateAfterEvent();
}
}
Instance of Symbol 737 MovieClip "dataHolder" in Frame 111
onClipEvent (data) {
_root[onDataFunction](caller);
}
Instance of Symbol 740 MovieClip in Frame 111
onClipEvent (load) {
this.holder.loadMovie((_root.trackerPath + "?id=") + new Date().valueOf());
}
Symbol 3 MovieClip [externalFileHolder] Frame 1
stop();
Instance of Symbol 1 MovieClip "slot" in Symbol 3 MovieClip [externalFileHolder] Frame 1
onClipEvent (data) {
_parent.caller.isLoaded = true;
}
onClipEvent (mouseUp) {
if ((_parent.caller.link != null) && (this.hitTest(_xmouse, _ymouse, false))) {
getURL (_parent.caller.link, "_blank");
}
}
Instance of Symbol 2 MovieClip "timer" in Symbol 3 MovieClip [externalFileHolder] Frame 1
onClipEvent (enterFrame) {
if (caller.active) {
caller.Tick();
}
}
Symbol 14 Button
on (keyPress "<Space>") {
_root.gotoAndPlay("game");
}
Symbol 44 Button
on (release) {
gotoAndStop (110);
}
Symbol 63 Button
on (release) {
play();
}
Symbol 103 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 107 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 116 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 126 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Instance of Symbol 116 MovieClip in Symbol 138 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 130 MovieClip in Symbol 138 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 116 MovieClip in Symbol 138 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 133 MovieClip in Symbol 138 MovieClip Frame 2
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 135 MovieClip in Symbol 138 MovieClip Frame 3
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 137 MovieClip in Symbol 138 MovieClip Frame 4
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Symbol 146 MovieClip Frame 1
gotoAndStop(_parent._parent._parent.parent.color);
Symbol 151 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 154 MovieClip Frame 1
_parent.canBePickedUp = true;
Symbol 154 MovieClip Frame 9
gotoAndPlay (1);
Symbol 154 MovieClip Frame 12
gotoAndPlay (10);
Symbol 154 MovieClip Frame 27
_parent.canBePickedUp = false;
Symbol 154 MovieClip Frame 33
_parent.canBePickedUp = true;
Symbol 154 MovieClip Frame 78
gotoAndPlay (33);
Instance of Symbol 146 MovieClip in Symbol 154 MovieClip Frame 87
/* no clip actions */
Instance of Symbol 107 MovieClip in Symbol 154 MovieClip Frame 87
onClipEvent (load) {
gotoAndStop(_parent._parent._parent._parent.caller.hasObjectColor);
}
Instance of Symbol 107 MovieClip in Symbol 154 MovieClip Frame 87
onClipEvent (load) {
gotoAndStop(_parent._parent._parent._parent.caller.hasObjectColor);
}
Symbol 154 MovieClip Frame 103
gotoAndPlay (87);
Symbol 154 MovieClip Frame 115
gotoAndPlay (112);
Symbol 154 MovieClip Frame 122
gotoAndPlay (118);
Symbol 156 MovieClip Frame 2
stop();
isReady = true;
Symbol 156 MovieClip Frame 10
isReady = false;
Symbol 156 MovieClip Frame 39
delete _parent._parent.parent.world.activeSoundsList[_parent._parent.parent.ID];
isReady = true;
stop();
Symbol 158 MovieClip Frame 2
stop();
isReady = true;
Symbol 158 MovieClip Frame 10
isReady = false;
Symbol 158 MovieClip Frame 16
isReady = true;
stop();
Symbol 160 MovieClip Frame 2
stop();
isReady = true;
Symbol 160 MovieClip Frame 10
isReady = false;
Symbol 160 MovieClip Frame 58
delete _parent._parent.parent.world.activeSoundsList[_parent._parent.parent.ID];
isReady = true;
stop();
Symbol 162 MovieClip Frame 1
stop();
isReady = true;
Symbol 162 MovieClip Frame 10
isReady = false;
Symbol 162 MovieClip Frame 114
gotoAndPlay (10);
Symbol 164 MovieClip Frame 1
stop();
isReady = true;
Symbol 164 MovieClip Frame 10
isReady = false;
Symbol 164 MovieClip Frame 175
gotoAndPlay (10);
Symbol 166 MovieClip Frame 1
stop();
isReady = true;
Symbol 166 MovieClip Frame 10
isReady = false;
Symbol 166 MovieClip Frame 130
gotoAndPlay (10);
Symbol 168 MovieClip Frame 1
stop();
isReady = true;
Symbol 168 MovieClip Frame 10
isReady = false;
Symbol 168 MovieClip Frame 50
gotoAndPlay (10);
Symbol 170 MovieClip Frame 1
stop();
isReady = true;
Symbol 170 MovieClip Frame 10
isReady = false;
Symbol 170 MovieClip Frame 124
gotoAndPlay (10);
Symbol 172 MovieClip Frame 1
stop();
isReady = true;
Symbol 172 MovieClip Frame 10
isReady = false;
Symbol 172 MovieClip Frame 284
gotoAndPlay (10);
Symbol 175 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 180 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 192 MovieClip Frame 1
gotoAndStop(_parent._parent._parent.parent.color);
Instance of Symbol 185 MovieClip in Symbol 193 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 180 MovieClip in Symbol 193 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 188 MovieClip in Symbol 193 MovieClip Frame 2
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 190 MovieClip in Symbol 193 MovieClip Frame 3
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 192 MovieClip in Symbol 193 MovieClip Frame 4
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Symbol 194 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 196 MovieClip Frame 1
_parent.canBePickedUp = true;
Symbol 196 MovieClip Frame 9
gotoAndPlay (1);
Symbol 196 MovieClip Frame 12
gotoAndPlay (10);
Symbol 196 MovieClip Frame 27
_parent.canBePickedUp = false;
Symbol 196 MovieClip Frame 33
_parent.canBePickedUp = true;
Symbol 196 MovieClip Frame 78
gotoAndPlay (33);
Instance of Symbol 146 MovieClip in Symbol 196 MovieClip Frame 87
/* no clip actions */
Instance of Symbol 175 MovieClip in Symbol 196 MovieClip Frame 87
onClipEvent (load) {
gotoAndStop(_parent._parent._parent._parent.caller.hasObjectColor);
}
Instance of Symbol 175 MovieClip in Symbol 196 MovieClip Frame 87
onClipEvent (load) {
gotoAndStop(_parent._parent._parent._parent.caller.hasObjectColor);
}
Symbol 196 MovieClip Frame 103
gotoAndPlay (87);
Symbol 196 MovieClip Frame 116
gotoAndPlay (112);
Symbol 196 MovieClip Frame 123
gotoAndPlay (119);
Instance of Symbol 185 MovieClip in Symbol 203 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 180 MovieClip in Symbol 203 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 188 MovieClip in Symbol 203 MovieClip Frame 2
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 190 MovieClip in Symbol 203 MovieClip Frame 3
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 192 MovieClip in Symbol 203 MovieClip Frame 4
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Symbol 205 MovieClip Frame 1
_parent.canBePickedUp = true;
Symbol 205 MovieClip Frame 9
gotoAndPlay (1);
Symbol 205 MovieClip Frame 12
gotoAndPlay (10);
Symbol 205 MovieClip Frame 27
_parent.canBePickedUp = false;
Symbol 205 MovieClip Frame 33
_parent.canBePickedUp = true;
Symbol 205 MovieClip Frame 78
gotoAndPlay (33);
Instance of Symbol 146 MovieClip in Symbol 205 MovieClip Frame 87
onClipEvent (load) {
gotoAndStop(_parent._parent._parent._parent.caller.hasObjectColor);
}
Instance of Symbol 175 MovieClip in Symbol 205 MovieClip Frame 87
onClipEvent (load) {
gotoAndStop(_parent._parent._parent._parent.caller.hasObjectColor);
}
Instance of Symbol 175 MovieClip in Symbol 205 MovieClip Frame 87
onClipEvent (load) {
gotoAndStop(_parent._parent._parent._parent.caller.hasObjectColor);
}
Symbol 205 MovieClip Frame 103
gotoAndPlay (87);
Symbol 205 MovieClip Frame 116
gotoAndPlay (112);
Symbol 205 MovieClip Frame 125
gotoAndPlay (121);
Symbol 207 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 211 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 220 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Instance of Symbol 225 MovieClip in Symbol 231 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 228 MovieClip in Symbol 231 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 230 MovieClip in Symbol 231 MovieClip Frame 3
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Symbol 237 MovieClip Frame 1
gotoAndStop(_parent._parent._parent.parent.color);
Symbol 242 MovieClip Frame 1
gotoAndStop(_parent._parent._parent.parent.color);
Symbol 247 MovieClip Frame 1
_parent.canBePickedUp = true;
Symbol 247 MovieClip Frame 13
gotoAndPlay (1);
Symbol 247 MovieClip Frame 16
gotoAndPlay (14);
Symbol 247 MovieClip Frame 25
_parent.canBePickedUp = false;
Symbol 247 MovieClip Frame 31
_parent.canBePickedUp = true;
Symbol 247 MovieClip Frame 76
gotoAndPlay (31);
Symbol 247 MovieClip Frame 78
gotoAndPlay (77);
Symbol 247 MovieClip Frame 98
gotoAndPlay (94);
Symbol 247 MovieClip Frame 104
gotoAndPlay (100);
Symbol 249 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Symbol 250 MovieClip Frame 1
gotoAndStop(_parent._parent.parent.color);
Instance of Symbol 259 MovieClip in Symbol 261 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 249 MovieClip in Symbol 261 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 260 MovieClip in Symbol 261 MovieClip Frame 3
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Symbol 263 MovieClip Frame 1
gotoAndStop(_parent._parent._parent.parent.color);
Symbol 266 MovieClip Frame 1
_parent.canBePickedUp = true;
Symbol 266 MovieClip Frame 13
gotoAndPlay (1);
Symbol 266 MovieClip Frame 16
gotoAndPlay (14);
Symbol 266 MovieClip Frame 25
_parent.canBePickedUp = false;
Symbol 266 MovieClip Frame 31
_parent.canBePickedUp = true;
Symbol 266 MovieClip Frame 76
gotoAndPlay (31);
Symbol 266 MovieClip Frame 78
gotoAndPlay (77);
Symbol 266 MovieClip Frame 98
gotoAndPlay (94);
Symbol 266 MovieClip Frame 105
gotoAndPlay (101);
Instance of Symbol 259 MovieClip in Symbol 275 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 249 MovieClip in Symbol 275 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Instance of Symbol 260 MovieClip in Symbol 275 MovieClip Frame 3
onClipEvent (load) {
gotoAndStop(_parent._parent._parent.parent.color);
}
Symbol 278 MovieClip Frame 1
_parent.canBePickedUp = true;
Symbol 278 MovieClip Frame 13
gotoAndPlay (1);
Symbol 278 MovieClip Frame 16
gotoAndPlay (14);
Symbol 278 MovieClip Frame 25
_parent.canBePickedUp = false;
Symbol 278 MovieClip Frame 31
_parent.canBePickedUp = true;
Symbol 278 MovieClip Frame 76
gotoAndPlay (31);
Symbol 278 MovieClip Frame 78
gotoAndPlay (77);
Symbol 278 MovieClip Frame 98
gotoAndPlay (94);
Symbol 278 MovieClip Frame 105
gotoAndPlay (101);
Symbol 280 MovieClip Frame 1
stop();
Symbol 320 MovieClip Frame 1
play();
Symbol 320 MovieClip Frame 16
gotoAndPlay (1);
Symbol 320 MovieClip Frame 20
play();
Symbol 320 MovieClip Frame 25
this.caller.graphicState = this.caller.f_fly;
gotoAndPlay(this.caller.f_fly);
Symbol 320 MovieClip Frame 32
gotoAndPlay (30);
Symbol 320 MovieClip Frame 50
stop();
Symbol 320 MovieClip Frame 71
this.caller.graphicState = this.caller.f_idle;
gotoAndPlay(this.caller.f_idle);
Symbol 320 MovieClip Frame 97
gotoAndPlay (80);
Symbol 320 MovieClip Frame 118
this.caller.graphicState = this.caller.f_idle;
this.caller.mode = this.caller.normalMode;
this.gotoAndPlay("idle");
Symbol 320 MovieClip Frame 132
gotoAndPlay (130);
Symbol 320 MovieClip Frame 156
this.caller.graphicState = this.caller.f_idle;
this.caller.mode = this.caller.normalMode;
this.gotoAndPlay("idle");
Symbol 320 MovieClip Frame 165
this.caller.graphicState = this.caller.f_idle;
this.caller.mode = this.caller.normalMode;
this.gotoAndPlay("idle");
Symbol 320 MovieClip Frame 183
_root.ShowLevelAdapter(this.caller.world.levelOverlay, this.caller.world.level);
Symbol 337 MovieClip Frame 1
play();
Symbol 337 MovieClip Frame 16
gotoAndPlay (1);
Symbol 337 MovieClip Frame 20
play();
Symbol 337 MovieClip Frame 25
this.caller.graphicState = this.caller.f_fly;
gotoAndPlay(this.caller.f_fly);
Symbol 337 MovieClip Frame 35
gotoAndPlay (30);
Symbol 337 MovieClip Frame 50
stop();
Symbol 337 MovieClip Frame 71
this.caller.graphicState = this.caller.f_idle;
gotoAndPlay(this.caller.f_idle);
Symbol 337 MovieClip Frame 96
gotoAndPlay (80);
Symbol 337 MovieClip Frame 122
this.caller.graphicState = this.caller.f_idle;
this.caller.mode = this.caller.normalMode;
this.gotoAndPlay("idle");
Symbol 337 MovieClip Frame 132
gotoAndPlay (130);
Symbol 337 MovieClip Frame 159
this.caller.graphicState = this.caller.f_idle;
this.caller.mode = this.caller.normalMode;
this.gotoAndPlay("idle");
Symbol 337 MovieClip Frame 176
this.caller.graphicState = this.caller.f_idle;
this.caller.mode = this.caller.normalMode;
this.gotoAndPlay("idle");
Symbol 337 MovieClip Frame 193
_root.ShowLevelAdapter(this.caller.world.levelOverlay, this.caller.world.level);
Symbol 357 MovieClip Frame 1
play();
Symbol 357 MovieClip Frame 16
gotoAndPlay (1);
Symbol 357 MovieClip Frame 20
play();
Symbol 357 MovieClip Frame 25
this.caller.graphicState = this.caller.f_fly;
gotoAndPlay(this.caller.f_fly);
Symbol 357 MovieClip Frame 34
gotoAndPlay (30);
Symbol 357 MovieClip Frame 50
stop();
Symbol 357 MovieClip Frame 71
this.caller.graphicState = this.caller.f_idle;
gotoAndPlay(this.caller.f_idle);
Symbol 357 MovieClip Frame 96
gotoAndPlay (80);
Symbol 357 MovieClip Frame 116
this.caller.graphicState = this.caller.f_idle;
this.caller.mode = this.caller.normalMode;
this.gotoAndPlay("idle");
Symbol 357 MovieClip Frame 132
gotoAndPlay (130);
Symbol 357 MovieClip Frame 159
this.caller.graphicState = this.caller.f_idle;
this.caller.mode = this.caller.normalMode;
this.gotoAndPlay("idle");
Symbol 357 MovieClip Frame 175
this.caller.graphicState = this.caller.f_idle;
this.caller.mode = this.caller.normalMode;
this.gotoAndPlay("idle");
Symbol 357 MovieClip Frame 197
_root.ShowLevelAdapter(this.caller.world.levelOverlay, this.caller.world.level);
Symbol 362 MovieClip Frame 1
stop();
isReady = true;
Symbol 362 MovieClip Frame 10
isReady = false;
Symbol 362 MovieClip Frame 22
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Symbol 363 MovieClip Frame 1
stop();
Symbol 365 MovieClip Frame 1
stop();
Symbol 367 MovieClip Frame 1
stop();
Symbol 371 MovieClip Frame 1
stop();
Symbol 377 MovieClip Frame 2
stop();
isReady = true;
Symbol 377 MovieClip Frame 10
isReady = false;
Symbol 377 MovieClip Frame 17
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Symbol 385 MovieClip Frame 2
stop();
isReady = true;
Symbol 385 MovieClip Frame 10
isReady = false;
Symbol 385 MovieClip Frame 18
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 387 MovieClip in Symbol 388 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 394 MovieClip Frame 2
stop();
isReady = true;
Symbol 394 MovieClip Frame 10
isReady = false;
Symbol 394 MovieClip Frame 38
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Symbol 403 MovieClip Frame 2
stop();
isReady = true;
Symbol 403 MovieClip Frame 10
isReady = false;
Symbol 403 MovieClip Frame 71
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 405 MovieClip in Symbol 406 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Instance of Symbol 408 MovieClip in Symbol 409 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 411 MovieClip Frame 2
stop();
isReady = true;
Symbol 411 MovieClip Frame 10
isReady = false;
Symbol 411 MovieClip Frame 59
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 413 MovieClip in Symbol 414 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 419 MovieClip Frame 2
stop();
isReady = true;
Symbol 419 MovieClip Frame 10
isReady = false;
Symbol 419 MovieClip Frame 54
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Symbol 450 MovieClip Frame 2
stop();
isReady = true;
Symbol 450 MovieClip Frame 10
isReady = false;
Symbol 450 MovieClip Frame 29
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Symbol 462 MovieClip Frame 2
stop();
isReady = true;
Symbol 462 MovieClip Frame 10
isReady = false;
Symbol 462 MovieClip Frame 38
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 464 MovieClip in Symbol 465 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 472 MovieClip Frame 2
stop();
isReady = true;
Symbol 472 MovieClip Frame 10
isReady = false;
Symbol 472 MovieClip Frame 18
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 474 MovieClip in Symbol 475 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Instance of Symbol 477 MovieClip in Symbol 478 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 484 MovieClip Frame 2
stop();
isReady = true;
Symbol 484 MovieClip Frame 10
isReady = false;
Symbol 484 MovieClip Frame 21
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 486 MovieClip in Symbol 487 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 492 MovieClip Frame 2
stop();
isReady = true;
Symbol 492 MovieClip Frame 10
isReady = false;
Symbol 492 MovieClip Frame 27
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 494 MovieClip in Symbol 495 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 504 MovieClip Frame 2
stop();
isReady = true;
Symbol 504 MovieClip Frame 10
isReady = false;
Symbol 504 MovieClip Frame 26
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 502 MovieClip in Symbol 505 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Instance of Symbol 511 MovieClip in Symbol 515 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 517 MovieClip Frame 2
stop();
isReady = true;
Symbol 517 MovieClip Frame 10
isReady = false;
Symbol 517 MovieClip Frame 29
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Symbol 522 MovieClip Frame 2
stop();
isReady = true;
Symbol 522 MovieClip Frame 10
isReady = false;
Symbol 522 MovieClip Frame 40
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Symbol 550 MovieClip Frame 2
stop();
isReady = true;
Symbol 550 MovieClip Frame 10
isReady = false;
Symbol 550 MovieClip Frame 43
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 552 MovieClip in Symbol 553 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 572 MovieClip Frame 2
stop();
isReady = true;
Symbol 572 MovieClip Frame 10
isReady = false;
Symbol 572 MovieClip Frame 29
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 574 MovieClip in Symbol 575 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 586 MovieClip Frame 2
stop();
isReady = true;
Symbol 586 MovieClip Frame 10
isReady = false;
Symbol 586 MovieClip Frame 18
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 584 MovieClip in Symbol 587 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 597 MovieClip Frame 2
stop();
isReady = true;
Symbol 597 MovieClip Frame 10
isReady = false;
Symbol 597 MovieClip Frame 68
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 599 MovieClip in Symbol 600 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 610 MovieClip Frame 2
stop();
isReady = true;
Symbol 610 MovieClip Frame 10
isReady = false;
Symbol 610 MovieClip Frame 19
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Symbol 620 MovieClip Frame 2
stop();
isReady = true;
Symbol 620 MovieClip Frame 10
isReady = false;
Symbol 620 MovieClip Frame 28
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 618 MovieClip in Symbol 621 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 628 MovieClip Frame 2
stop();
isReady = true;
Symbol 628 MovieClip Frame 10
isReady = false;
Symbol 628 MovieClip Frame 21
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 630 MovieClip in Symbol 631 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 648 MovieClip Frame 33
gotoAndPlay (1);
Symbol 648 MovieClip Frame 61
gotoAndPlay (34);
Symbol 648 MovieClip Frame 135
if (_parent.parent.kidsLeft == 0) {
gotoAndPlay (100);
} else {
gotoAndPlay (1);
}
Symbol 649 MovieClip Frame 2
stop();
isReady = true;
Symbol 649 MovieClip Frame 10
isReady = false;
Symbol 649 MovieClip Frame 11
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 651 MovieClip "hitArea" in Symbol 654 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 667 MovieClip Frame 33
gotoAndPlay (1);
Symbol 667 MovieClip Frame 61
gotoAndPlay (34);
Symbol 667 MovieClip Frame 135
if (_parent.parent.kidsLeft == 0) {
gotoAndPlay (100);
} else {
gotoAndPlay (1);
}
Symbol 669 MovieClip Frame 2
stop();
isReady = true;
Symbol 669 MovieClip Frame 10
isReady = false;
Symbol 669 MovieClip Frame 107
delete _parent.parent.world.activeSoundsList[_parent.parent.ID];
isReady = true;
stop();
Instance of Symbol 651 MovieClip "hitArea" in Symbol 670 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 686 MovieClip Frame 33
gotoAndPlay (1);
Symbol 686 MovieClip Frame 61
gotoAndPlay (34);
Symbol 686 MovieClip Frame 135
if (_parent.parent.kidsLeft == 0) {
gotoAndPlay (100);
} else {
gotoAndPlay (1);
}
Instance of Symbol 651 MovieClip "hitArea" in Symbol 687 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 691 MovieClip Frame 1
stop();
Symbol 702 MovieClip Frame 1
stop();
Symbol 704 MovieClip Frame 1
stop();
Symbol 704 MovieClip Frame 41
stop();
Symbol 704 MovieClip Frame 61
play();
Symbol 704 MovieClip Frame 114
stop();
_root.EndLevelBadAdapter();
Symbol 706 MovieClip Frame 23
stop();
Symbol 706 MovieClip Frame 41
stop();
Symbol 707 MovieClip Frame 1
stop();
Instance of Symbol 706 MovieClip "dot1" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (15);
}
Instance of Symbol 706 MovieClip "dot2" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (14);
}
Instance of Symbol 706 MovieClip "dot3" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (13);
}
Instance of Symbol 706 MovieClip "dot4" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (12);
}
Instance of Symbol 706 MovieClip "dot5" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (11);
}
Instance of Symbol 706 MovieClip "dot6" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (10);
}
Instance of Symbol 706 MovieClip "dot7" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (9);
}
Instance of Symbol 706 MovieClip "dot8" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (8);
}
Instance of Symbol 706 MovieClip "dot9" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (7);
}
Instance of Symbol 706 MovieClip "dot10" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (6);
}
Instance of Symbol 706 MovieClip "dot11" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (5);
}
Instance of Symbol 706 MovieClip "dot12" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (4);
}
Instance of Symbol 706 MovieClip "dot13" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (3);
}
Instance of Symbol 706 MovieClip "dot14" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (2);
}
Instance of Symbol 706 MovieClip "dot15" in Symbol 707 MovieClip Frame 19
onClipEvent (load) {
gotoAndPlay (1);
}
Symbol 707 MovieClip Frame 28
stop();
Symbol 722 Button
on (release) {
gotoAndPlay (131);
_root.StartGameAdapter();
}
Symbol 729 MovieClip Frame 1
stop();
Symbol 729 MovieClip Frame 49
stop();
Symbol 729 MovieClip Frame 89
stop();
Symbol 729 MovieClip Frame 130
stop();
Symbol 731 Button
on (release) {
_root.EndPan();
gotoAndStop (1);
}
Symbol 734 MovieClip Frame 1
stop();
Symbol 734 MovieClip Frame 2
play();
Symbol 734 MovieClip Frame 8
stop();
_root.FadeInFinishAdapter(caller);
Symbol 734 MovieClip Frame 19
play();
Symbol 734 MovieClip Frame 58
play();
Symbol 734 MovieClip Frame 63
_root.FadeOutFinishAdapter(caller);
Instance of Symbol 378 MovieClip "toad1" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 379 MovieClip "toad2" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 260;
}
Instance of Symbol 388 MovieClip "toad3" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 395 MovieClip "lizard" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 406 MovieClip "croc1" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 409 MovieClip "croc2" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 414 MovieClip "croc3" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 420 MovieClip "snake1" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 421 MovieClip "snake2" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 425 MovieClip "snake3" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 429 MovieClip "snake4" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 433 MovieClip "snake5" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 437 MovieClip "snake6" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 438 MovieClip "snake7" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 439 MovieClip "snake8" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 440 MovieClip "snake9" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 441 MovieClip "snake10" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 442 MovieClip "snake11" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 443 MovieClip "snake12" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 451 MovieClip "caribooHead" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 323;
}
Instance of Symbol 465 MovieClip "elephantHead" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 319;
}
Instance of Symbol 475 MovieClip "giraffeHead1" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 295;
}
Instance of Symbol 478 MovieClip "giraffeHead2" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 295;
}
Instance of Symbol 487 MovieClip "rhinoHead" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 285;
}
Instance of Symbol 495 MovieClip "bisonHead" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 285;
}
Instance of Symbol 505 MovieClip "lionHead" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 210;
}
Instance of Symbol 518 MovieClip "tigerParts" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 326;
}
Instance of Symbol 523 MovieClip "penguin1" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 525 MovieClip "penguin2" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 527 MovieClip "penguin3" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 529 MovieClip "penguin4" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 531 MovieClip "penguin5" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 533 MovieClip "penguin6" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 535 MovieClip "penguin7" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 537 MovieClip "penguin8" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 553 MovieClip "polarBear1" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 575 MovieClip "polarBear2" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 587 MovieClip "polarBear3" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 600 MovieClip "polarBear4" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 611 MovieClip "walrus1" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Instance of Symbol 621 MovieClip "walrus2" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 285;
}
Instance of Symbol 631 MovieClip "seal" in Symbol 736 MovieClip Frame 1
onClipEvent (load) {
this.landY = 330;
}
Symbol 758 Button
on (release) {
_root.gotoAndPlay("game");
}
Symbol 773 Button
on (release) {
_root.gotoAndStop("game");
}