Frame 1
_global.validurls = new Array("http://www.ezone.com/", "http://ezone.com/", "http://sling.ezone.com/", "http://games.ezone.com/");
_global.lockcheck = false;
_global.domaincheck = false;
_global.gameURL = "http://sling.ezone.com/game.php";
_global.checkid = checkid;
_global.gameLock = new GameLock(this);
Instance of Symbol 235 MovieClip "adplayer" in Frame 1
//component parameters
onClipEvent (initialize) {
gameid = "slingette";
}
Frame 4
function showDirectX(whichWay) {
if (whichWay) {
directXScreen._visible = false;
mdm.System.DirectX.enable(640, 480, 16);
Mouse.hide();
mdm.Input.Mouse.hide();
} else {
Mouse.show();
mdm.Input.Mouse.show();
directXScreen._visible = true;
}
}
function onJoystick1ButtonDown(x, y, b1, b2, b3, b4) {
if (b1 == "true") {
button1 = "down";
} else {
button1 = "up";
}
}
function onJoystick1Move(x, y, b1, b2, b3, b4) {
if (b1 == "true") {
button1 = "down";
} else {
button1 = "up";
}
}
function jumpURL(whichURL) {
getURL (whichURL, "_blank");
if (_root.gameControl.action == "playing") {
_root.gameControl.togglePause();
}
showDirectX(false);
}
function zeroAngle(whichAngle) {
var _local1 = whichAngle;
_local1 = Math.round(_local1);
_local1 = _local1 % 360;
if (_local1 < 0) {
_local1 = _local1 + 360;
}
return(_local1);
}
function sinQuick(whichAngle) {
var _local1 = whichAngle;
_local1 = zeroAngle(_local1);
toReturn = _global.sinLookup[_local1];
return(toReturn);
}
function cosQuick(whichAngle) {
var _local1 = whichAngle;
_local1 = zeroAngle(_local1);
toReturn = _global.cosLookup[_local1];
return(toReturn);
}
_global.gameLock.checkValid();
_global.gameSaver = new GameSaver(this);
_global.sinLookup = new Array();
_global.cosLookup = new Array();
i = 0;
while (i <= 360) {
sinLookup[i] = Math.sin((i * Math.PI) / 180);
cosLookup[i] = Math.cos((i * Math.PI) / 180);
i++;
}
Mouse.hide();
mdm.Input.Mouse.hide();
attachMovie("directXScreen", "directXScreen", 2001);
directXScreen._visible = false;
button1 = "off";
mdm.Input.Joystick.enable(1, "mouse");
Instance of Symbol 733 MovieClip "speakerOn" in Frame 4
on (release) {
_root.gameControl.toggleMute();
}
Frame 5
_root.gameControl.action = "title";
_root.gameControl.level = 0;
if (_root.yourName == "") {
notYou._visible = false;
} else {
notYou._visible = true;
}
Frame 6
stop();
Frame 7
Selection.setFocus("_root.Name_txt");
Selection.setSelection(0, length(_root.Name_txt));
Frame 8
stop();
Frame 10
stop();
Frame 22
_root.gameControl.goCutScene("csIntro");
Frame 23
saveControl.updateNames();
Instance of Symbol 775 MovieClip "Name4" in Frame 23
on (release) {
gameSaver.selectName(4);
}
Instance of Symbol 775 MovieClip "Name3" in Frame 23
on (release) {
gameSaver.selectName(3);
}
Instance of Symbol 775 MovieClip "Name2" in Frame 23
on (release) {
gameSaver.selectName(2);
}
Instance of Symbol 775 MovieClip "Name1" in Frame 23
on (release) {
gameSaver.selectName(1);
}
Instance of Symbol 775 MovieClip "Name0" in Frame 23
on (release) {
gameSaver.selectName(0);
}
Frame 24
stop();
Frame 25
_root.gameControl.selectLevel(_root.gameControl.level);
Frame 26
stop();
Frame 28
stop();
Frame 29
gotoAndPlay(_root.gameControl.currentFrame);
Frame 31
gotoAndPlay(_root.gameControl.currentFrame);
Frame 33
gotoAndPlay(_root.gameControl.currentFrame);
Frame 35
gotoAndPlay(_root.gameControl.currentFrame);
Frame 37
gotoAndPlay(_root.gameControl.currentFrame);
Frame 39
gotoAndPlay(_root.gameControl.currentFrame);
Frame 41
gotoAndPlay(_root.gameControl.currentFrame);
Frame 43
gotoAndPlay(_root.gameControl.currentFrame);
Frame 45
gotoAndPlay(_root.gameControl.currentFrame);
Frame 92
gotoAndPlay(_root.gameControl.currentFrame);
Frame 148
gotoAndPlay(_root.gameControl.currentFrame);
Frame 150
stop();
Frame 166
stop();
Frame 168
stop();
Frame 241
gotoAndPlay ("level12_1");
Frame 243
stop();
Frame 264
gotoAndPlay(_root.gameControl.currentFrame);
Frame 266
gotoAndPlay(_root.gameControl.currentFrame);
Frame 284
stop();
Frame 301
stop();
Frame 303
stop();
Frame 322
stop();
Frame 402
gotoAndPlay ("level15loop");
Frame 404
stop();
Frame 493
gotoAndPlay ("level16loop");
Frame 495
stop();
Frame 516
stop();
Frame 576
gotoAndPlay ("level18");
Frame 583
stop();
Frame 595
stop();
Frame 720
gotoAndPlay ("level20");
Frame 858
gotoAndPlay ("level21");
Frame 871
gotoAndPlay ("level22");
Frame 875
stop();
Frame 877
stop();
Frame 885
stop();
Frame 1053
gotoAndPlay ("level25");
Frame 1059
stop();
Frame 1065
stop();
Frame 1077
gotoAndPlay ("level28");
Frame 1083
stop();
Frame 1442
gotoAndPlay ("level30");
Frame 1444
stop();
Frame 1446
stop();
Frame 1448
stop();
Frame 1450
stop();
Frame 1541
gotoAndPlay ("level35");
Frame 1543
stop();
Frame 1545
stop();
Frame 1547
stop();
Frame 1549
stop();
Frame 1698
gotoAndPlay ("level40");
Frame 1963
gotoAndPlay ("level41");
Frame 2270
gotoAndPlay ("level42");
Frame 2471
gotoAndPlay ("level43");
Frame 2473
stop();
Frame 2527
gotoAndPlay ("level45");
Frame 2646
gotoAndPlay ("level46");
Frame 2902
gotoAndPlay ("level47");
Frame 3110
gotoAndPlay ("level48");
Frame 3220
gotoAndPlay ("level49");
Frame 3354
gotoAndPlay ("level50");
Frame 3356
stop();
Frame 3357
_root.gameControl.action = "title";
_root.Geeza.disappear();
_root.Hero.makeWait();
Frame 3358
stop();
Frame 3360
stop();
Frame 3361
_root.gameControl.swapheads("");
_root.gameControl.action = "upsell";
_root.Geeza.getGrab(GeezaPos);
_root.Geeza.adjustScale(0.65);
_root.Hero.makeWait();
_root.gameControl.geezacount = 200;
Frame 3362
stop();
Frame 3363
_root.gameControl.action = "upsell";
_root.Geeza.getGrab(GeezaPos);
_root.Geeza.adjustScale(0.65);
_root.Hero.makeWait();
_root.gameControl.geezacount = 200;
Frame 3364
stop();
Symbol 161 MovieClip [femalehead] Frame 1
#initclip 17
Object.registerClass("femalehead", Freebody);
#endinitclip
Symbol 161 MovieClip [femalehead] Frame 219
gotoAndPlay ("alive");
Symbol 161 MovieClip [femalehead] Frame 339
gotoAndPlay ("dying");
Symbol 161 MovieClip [femalehead] Frame 459
gotoAndPlay ("fire");
Symbol 161 MovieClip [femalehead] Frame 683
gotoAndPlay ("hot");
Symbol 161 MovieClip [femalehead] Frame 911
gotoAndPlay ("slime");
Symbol 161 MovieClip [femalehead] Frame 1031
gotoAndPlay ("dying_fire");
Symbol 161 MovieClip [femalehead] Frame 1151
gotoAndPlay ("dying_slime");
Symbol 161 MovieClip [femalehead] Frame 1271
gotoAndPlay ("dying_slime");
Symbol 163 MovieClip [yellow_particle] Frame 1
#initclip 11
Object.registerClass("yellow_particle", Particle);
#endinitclip
Symbol 165 MovieClip [bubble_particle] Frame 1
#initclip 12
Object.registerClass("bubble_particle", Particle);
#endinitclip
Symbol 167 Button
on (release) {
_root.showDirectX(true);
}
Symbol 168 MovieClip [directXScreen] Frame 2
gotoAndPlay (1);
Symbol 174 Button
on (release) {
_root.gameControl.unpauseGame();
_root.gameControl.loseLevel();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 177 Button
on (release) {
_root.gameControl.abortGame("map");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 180 Button
on (release) {
_root.gameControl.showTitle();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 182 Button
on (release) {
_root.gameControl.unpauseGame();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 191 Button
on (release) {
getURL ("http://www.ezone.com/", "_blank");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 196 Button
on (release) {
_root.pauseScreen._visible = false;
_root.gameControl.firstTime = false;
_root.gameControl.firstLevel();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 197 Button
on (release) {
_root.gameControl.resumeTutorial();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 199 MovieClip [pauseScreen] Frame 2
stop();
Symbol 199 MovieClip [pauseScreen] Frame 4
stop();
Symbol 205 MovieClip [Cursor] Frame 3
stop();
Symbol 205 MovieClip [Cursor] Frame 5
stop();
Symbol 205 MovieClip [Cursor] Frame 7
stop();
Symbol 208 MovieClip [wipeScreen] Frame 18
stop();
Symbol 220 MovieClip [coinbonus] Frame 1
#initclip 13
Object.registerClass("coinbonus", Scroller);
#endinitclip
Symbol 220 MovieClip [coinbonus] Frame 17
gotoAndPlay (1);
Symbol 222 MovieClip [marker] Frame 1
#initclip 14
Object.registerClass("marker", Scroller);
#endinitclip
Symbol 230 MovieClip [map_marker] Frame 1
#initclip 15
Object.registerClass("map_marker", MapLoc);
#endinitclip
Symbol 230 MovieClip [map_marker] Frame 2
gotoAndPlay(this.action);
Symbol 230 MovieClip [map_marker] Frame 4
gotoAndPlay(this.action);
Symbol 230 MovieClip [map_marker] Frame 6
gotoAndPlay(this.action);
Symbol 230 MovieClip [map_marker] Frame 8
gotoAndPlay(this.action);
Symbol 231 MovieClip [gameControl] Frame 1
#initclip 16
Object.registerClass("gameControl", GameMaster);
#endinitclip
Symbol 235 MovieClip Frame 1
System.security.allowDomain("ads.ezone.com");
info_text.text = "";
_level0.mygameID = this.gameid;
var protocol = _url.substr(0, _url.indexOf(":"));
if (protocol == "file") {
} else {
this.loadMovie("http://ads.ezone.com/swfs/adplayer.swf");
_level0.stop();
}
Symbol 235 MovieClip Frame 2
this.stop();
Symbol 859 MovieClip [__Packages.GameLock] Frame 0
class GameLock
{
function GameLock () {
var _local1 = this;
if (_global.lockcheck == false) {
_local1.notValid = false;
} else {
var _local2 = _url.substr(0, _url.indexOf(":"));
if (_local2 == "file") {
} else {
_local1.initialize();
_local1.sendID();
}
}
}
function initialize() {
var _local1 = this;
_local1.loadscore = new XML();
_local1.loadscore.onData = function (data) {
var _local1 = this;
var _local2 = data;
if (_local2 == undefined) {
_local1.myStatus = "idle";
_local1.onLoad(false);
_local1.feedback = "Could not access the script...";
} else if (_local2.indexOf("false") != -1) {
_local1.myStatus = "idle";
_global.gameLock.notValid = true;
_local1.onLoad(false);
_local1.feedback = "The script was accessed, but returned false and notValid=" + _local1.notValid;
_global.gameLock.checkValid();
} else {
_local1.myStatus = "idle";
_local1.feedback = _local2;
_local1.onLoad(false);
}
};
}
function checkValid() {
if (notValid == true) {
_root.gotoAndPlay("stolen");
getURL (_global.gameURL, "_parent");
}
}
function sendID() {
var _local1 = this;
_local1.loadscore.load("http://sling.ezone.com/php/gamelock.php?checkid=" + _global.checkid);
_local1.nextAction = "goScore";
_local1.myStatus = "getting";
}
var feedback = "none";
var nextAction = "goScore";
var myStatus = "idle";
var notValid = false;
}
Symbol 860 MovieClip [__Packages.Particle] Frame 0
class Particle extends MovieClip
{
function Particle (myName) {
var _local1 = this;
super();
_local1.name = myName;
_local1.velX = _local1.speed * _local1._parent.sinQuick(_local1.angle);
_local1.velY = _local1.speed * _local1._parent.cosQuick(_local1.angle);
_local1.accelY = _local1.myGravity;
_local1.initialize();
}
function initialize() {
var _local1 = this;
_local1._x = _local1.origx;
_local1._y = _local1.origy;
_local1.gotoAndPlay(Math.round(Math.random() * 30) + 1);
_local1._xscale = _local1.myScale * 200;
_local1._yscale = _local1.myScale * 200;
if (_local1.dieCel == 30) {
_local1.dieCel = 30 + (Math.random() * 20);
}
}
function onEnterFrame() {
var _local1 = this;
_local1.animCel = _local1.animCel + 1;
_local1.velX = (_local1.velX + (_local1.accelX * _local1.deltaT)) * _local1.damping;
_local1.velY = (_local1.velY + (_local1.accelY * _local1.deltaT)) * _local1.damping;
_local1._x = _local1._x + (_local1.velX * _local1.myScale);
_local1._y = _local1._y + (_local1.velY * _local1.myScale);
if (_local1.animCel > _local1.dieCel) {
(_local1.removeMovieClip());// not popped
}
}
var animCel = 1;
var origx = 100;
var origy = 100;
var action = "alive";
var velX = 0;
var velY = 0;
var accelX = 0;
var accelY = 0;
var speed = 10;
var angle = 0;
var dieCel = 30;
var myScale = 0.5;
var myGravity = 5;
var deltaT = 0.1;
var damping = 0.99;
}
Symbol 861 MovieClip [__Packages.Scroller] Frame 0
class Scroller extends MovieClip
{
var gotoAndPlay, _x;
function Scroller () {
var _local1 = this;
var _local2 = _root;
super();
_local1.origX = _local1._x;
_local1.origY = _local1._y;
_local1.snapX = _local1.origX;
_local1.snapY = _local1.origY;
_local1.myHealth = _local1.myMaxHealth;
_local2.gameControl.myObstacles.push(_local1);
if (String(_local1).indexOf("Grab") != -1) {
_local1.myType = "grab";
if (String(_local1).indexOf("must") != -1) {
_local1.mustGrab = true;
_local2.gameControl.grabTarget = _local2.gameControl.grabTarget + 1;
}
} else if (String(_local1).indexOf("Warp") != -1) {
_local1.myType = "warp";
_local1.action = "wait";
} else if (String(_local1).indexOf("Wall") != -1) {
_local1.myType = "wall";
} else if (String(_local1).indexOf("Coin") != -1) {
_local1.myType = "coin";
}
if (String(_local1).indexOf("Boss") != -1) {
_local1.myMaxHealth = 10;
_local1.myHealth = _local1.myMaxHealth;
_local1.myHealthRegen = 0.0075;
}
_local1.reset();
}
function reset() {
var _local1 = this;
_local1.myColor = "gray";
_local1.action = "alive";
_local1.myLocked = "no";
if (_local1.myType == "warp") {
_local1.action = "wait";
}
_local1.gotoAndPlay(1);
}
function onEnterFrame() {
var _local1 = this;
var _local2 = _root;
if (_local2.gameControl.action == "paused") {
_local1.stop();
} else {
_local1.play();
_local1.collideCount = _local1.collideCount - 1;
_local1.myHealth = _local1.myHealth + _local1.myHealthRegen;
if (_local1.myHealth > _local1.myMaxHealth) {
_local1.myHealth = _local1.myMaxHealth;
}
if (_local1.myHealth != _local1.myMaxHealth) {
_local1.scaleDamage();
}
if (_local1.action == "alive") {
_local1.animCel = _local1.animCel + 1;
if (String(_local1).indexOf("Grab8") != -1) {
}
if (_local1.myType == "coin") {
if (_local1.animCel > 300) {
_local1._visible = true;
_local1.randomize();
} else if (_local1.animCel > 250) {
if ((_local1.animCel % 10) == 0) {
_local1._visible = false;
} else if ((_local1.animCel % 5) == 0) {
_local1._visible = true;
}
}
}
if (_local2.gameControl.scrolling) {
_local1._x = (_local1._x + _local1.xVel) + _local2.gameControl.scrollVel[0];
_local1._y = (_local1._y + _local1.yVel) + _local2.gameControl.scrollVel[1];
}
}
}
}
function scaleDamage() {
var myDamageBar = eval (this + ".DamageBar");
var myScale = ((myHealth / myMaxHealth) * 100);
if (myScale > 100) {
myScale = 100;
}
myDamageBar._xscale = myScale;
}
function doDamage(howMuch) {
_root.gameControl.explodeAt(_root.Hero);
myHealth = myHealth - howMuch;
var myDamageBar = eval (this + ".DamageBar");
var myDamageBarMatte = eval (this + ".DamageBarMatte");
myDamageBarMatte._visible = true;
myDamageBar._visible = true;
scaleDamage();
if (myHealth <= 0) {
action = "dying";
gotoAndPlay("dying");
if (mustGrab) {
_root.gameControl.gotGrab(score);
}
}
}
function disappear() {
action = "hidden";
_x = 1000;
}
function changeColor() {
var _local1 = this;
var _local2 = _root;
if ((_local1.myColor == "gray") && (_local1.mustGrab)) {
_local2.gameControl.gotGrab(_local1.score);
}
_local1.myColor = _local2.Hero.myColor;
if (_local1.myLocked == "no") {
_local1.myLocked = "yes";
_local1.gotoAndPlay("done");
if (String(_local1).indexOf("Lever1") != -1) {
_local2.gameControl.changeFrame(1);
} else if (String(_local1).indexOf("Lever2") != -1) {
_local2.gameControl.changeFrame(2);
} else if (String(_local1).indexOf("Lever3") != -1) {
_local2.gameControl.changeFrame(3);
} else if (String(_local1).indexOf("Lever4") != -1) {
_local2.gameControl.changeFrame(4);
}
}
}
function collide() {
var _local1 = this;
var _local2 = _root;
if (_local1.myType == "grab") {
if (_local1.action == "alive") {
_local1.changeColor();
if (_local2.Hero.currentGrab != _local1) {
_local2.Hero.grabHold(_local1);
}
} else if (_local1.action == "kill") {
_local2.Hero.changeAction("dying");
} else if (_local1.action == "spike") {
_local2.Hero.changeAction("dying");
} else if (_local1.action == "slimegrab") {
var _local3 = Math.abs(_local2.Hero._x - _local1._x) + Math.abs(_local2.Hero._y - _local1._y);
if (_local3 > 40) {
return;
}
if (_local2.Hero.myElement == "slime") {
_local1.changeColor();
_local1.gotoAndPlay("done");
_local2.Hero.grabHold(_local1);
} else if (_local1.collideCount < 0) {
_local2.gameControl.playSound("grabslime.aif");
_local1.collideCount = 10;
_local2.Hero.forceDrop(_local1);
}
} else if (_local1.action == "slime") {
_local1.gotoAndPlay("done");
if (((_local2.Hero.myElement == "slime") && (_local2.Hero.myMode == "free")) && (_local1.collideCount < 0)) {
_local1.collideCount = 10;
_local1.doDamage(1);
if (_local2.Hero.velocity[0] > _local2.Hero.velocity[1]) {
_local2.Hero.velocity[0] = -_local2.Hero.velocity[0];
} else {
_local2.Hero.velocity[1] = -_local2.Hero.velocity[1];
}
}
_local2.Hero.changeAction("slime");
} else if (_local1.action == "fire") {
_local1.gotoAndPlay("done");
_local2.Hero.changeAction("fire");
} else if (String(_local1.action).indexOf("cannon") != -1) {
if (((_local2.Hero.velocity[1] > 0) && (_local2.Hero._y < _local1._y)) || (_local2.Hero.velocity[1] > 3)) {
_local1.gotoAndPlay("done");
}
}
} else if (_local1.myType == "warp") {
if (_local2.Hero.currentGrab != _local1) {
_local2.Hero.grabHold(_local1);
_local2.gameControl.winLevel();
}
} else if (_local1.myType == "wall") {
} else if (_local1.myType == "coin") {
_local2.gameControl.gotCoin(_local1);
}
}
function randomize() {
var _local1 = this;
_local1.animCel = Math.ceil(Math.random() * 30);
_local1._x = 50 + (Math.random() * 540);
_local1._y = 50 + (Math.random() * 380);
}
function initialize() {
animCel = 1;
}
var animCel = 1;
var action = "alive";
var xVel = 0;
var yVel = 0;
var score = 100;
var offsetEdge = 100;
var myColor = "gray";
var myType = "normal";
var mustGrab = false;
var origX = 0;
var origY = 0;
var snapX = 0;
var snapY = 0;
var myLocked = "no";
var myHealth = 5;
var myHealthRegen = 0;
var myMaxHealth = 5;
var collideCount = 0;
}
Symbol 862 MovieClip [__Packages.MapLoc] Frame 0
class MapLoc extends MovieClip
{
function MapLoc () {
super();
var _local1 = String(this);
myLevel = _local1.substr(13);
}
function onRelease() {
var _local1 = this;
if (_root.gameControl.cheatsOn) {
if (Key.isDown(71)) {
_global.gameSaver.cheat(_local1.myLevel, -10);
} else if (Key.isDown(87)) {
_global.gameSaver.cheat(_local1.myLevel, 10);
}
}
_root.gameControl.selectLevel(_local1.myLevel);
}
function onRollOver() {
_root.gameControl.preview(myLevel);
}
function onRollOut() {
}
var animCel = 1;
var action = "locked";
var myLevel = 1;
var myType = "level";
}
Symbol 863 MovieClip [__Packages.GameMaster] Frame 0
class GameMaster extends MovieClip
{
var mymusic, mysound;
function GameMaster () {
var _local1 = this;
super();
Stage.showMenu = false;
_local1.lastExitFrameMillis = getTimer();
if (_global.domaincheck) {
var protocol = _local1._url.substr(0, _local1._url.indexOf(":"));
if (protocol == "file") {
} else {
var ok = false;
var _local2 = 0;
while ((_local2 < _global.validurls.length) && (!ok)) {
var _local3 = _global.validurls[_local2];
if (_local1._url.substr(0, _local3.length).toLowerCase() == _local3) {
ok = true;
}
_local2++;
}
if (!ok) {
(_local1.getURL(_global.gameURL, "_parent"));// not popped
_root.gotoAndPlay("stolen");
}
}
}
_local1.mysound = new Sound();
_local1.mymusic = new Sound();
_root.attachMovie("Cursor", "Cursor", 2010);
_root.attachMovie("pauseScreen", "pauseScreen", 2000);
_root.pauseScreen._visible = false;
_root.attachMovie("wipeScreen", "wipeScreen", 1999);
_root.wipeScreen._visible = false;
_root.attachMovie("femalehand", "Hand", 10, {name:"hand"});
_root.attachMovie("femalehead", "Hero", 11, {name:"hero"});
_root.attachMovie("geezahand", "GeezaHand", 20, {name:"hand"});
_root.attachMovie("geeza", "Geeza", 21, {name:"hero"});
_local1.levelPreview = new Object();
_local1.levelPreview.level1 = "Stretching";
_local1.levelPreview.level2 = "Slinging";
_local1.levelPreview.level3 = "Springing";
_local1.levelPreview.level4 = "Rebounding";
_local1.levelPreview.level5 = "Bad guys";
_local1.levelPreview.level6 = "Popping Pus Leap";
_local1.levelPreview.level7 = "Spiked Floors";
_local1.levelPreview.level8 = "Spiked Grabs";
_local1.levelPreview.level9 = "Moving Walls";
_local1.levelPreview.level10 = "Moving Bad Guys";
_local1.levelPreview.level11 = "Levers";
_local1.levelPreview.level12 = "Red Spiked grabs";
_local1.levelPreview.level13 = "Multiple Spiked Grabs";
_local1.levelPreview.level14 = "Multiple Levers";
_local1.levelPreview.level15 = "Multiple Bad Guys";
_local1.levelPreview.level16 = "Grab Grabbers";
_local1.levelPreview.level17 = "Multiple Grab Grabbers";
_local1.levelPreview.level18 = "Red Spiky Grabs";
_local1.levelPreview.level19 = "Ups and Downs";
_local1.levelPreview.level20 = "Mini Boss";
_local1.levelPreview.level21 = "Moving Spiked Floors";
_local1.levelPreview.level22 = "Climbing";
_local1.levelPreview.level23 = "Creeping";
_local1.levelPreview.level24 = "Activated Spikes!";
_local1.levelPreview.level25 = "Mini Bosses";
_local1.levelPreview.level26 = "Wobbler Grabs";
_local1.levelPreview.level27 = "Moving Grabs";
_local1.levelPreview.level28 = "Multiple Moving Grabs";
_local1.levelPreview.level29 = "Movers and Shakers";
_local1.levelPreview.level30 = "More Mini Bosses";
_local1.levelPreview.level31 = "Super Slime Cannons!";
_local1.levelPreview.level32 = "Spiked Walls";
_local1.levelPreview.level33 = "Slime Time";
_local1.levelPreview.level34 = "Slime Combo";
_local1.levelPreview.level35 = "Slime Mini Bosses";
_local1.levelPreview.level36 = "Flingas!";
_local1.levelPreview.level37 = "Multiple Flingas";
_local1.levelPreview.level38 = "Goo-Mazing";
_local1.levelPreview.level39 = "Flinga Mania!";
_local1.levelPreview.level40 = "More Slime Mini Bosses";
_local1.levelPreview.level41 = "Get a Hold of Yourself!";
_local1.levelPreview.level42 = "Moving Spiked Walls";
_local1.levelPreview.level43 = "Spike Slime Combo";
_local1.levelPreview.level44 = "Think Quick! Move Quicker!";
_local1.levelPreview.level45 = "Divided Bad Guys";
_local1.levelPreview.level46 = "Mini Boss Frenzy 1";
_local1.levelPreview.level47 = "Mini Boss Frenzy 2";
_local1.levelPreview.level48 = "Mini Boss Frenzy 3";
_local1.levelPreview.level49 = "Mini Boss Frenzy 4";
_local1.levelPreview.level50 = "BIG BAD BOSS!";
_local1.levelPreview.gold1 = 10;
_local1.levelPreview.gold2 = 5;
_local1.levelPreview.gold3 = 15;
_local1.levelPreview.gold4 = 20;
_local1.levelPreview.gold5 = 10;
_local1.levelPreview.gold6 = 10;
_local1.levelPreview.gold7 = 15;
_local1.levelPreview.gold8 = 15;
_local1.levelPreview.gold9 = 15;
_local1.levelPreview.gold10 = 10;
_local1.levelPreview.gold11 = 15;
_local1.levelPreview.gold12 = 25;
_local1.levelPreview.gold13 = 15;
_local1.levelPreview.gold14 = 25;
_local1.levelPreview.gold15 = 20;
_local1.levelPreview.gold16 = 30;
_local1.levelPreview.gold17 = 15;
_local1.levelPreview.gold18 = 35;
_local1.levelPreview.gold19 = 60;
_local1.levelPreview.gold20 = 15;
_local1.levelPreview.gold21 = 25;
_local1.levelPreview.gold22 = 30;
_local1.levelPreview.gold23 = 30;
_local1.levelPreview.gold24 = 30;
_local1.levelPreview.gold25 = 20;
_local1.levelPreview.gold26 = 30;
_local1.levelPreview.gold27 = 25;
_local1.levelPreview.gold28 = 25;
_local1.levelPreview.gold29 = 25;
_local1.levelPreview.gold30 = 20;
_local1.levelPreview.gold31 = 15;
_local1.levelPreview.gold32 = 20;
_local1.levelPreview.gold33 = 25;
_local1.levelPreview.gold34 = 15;
_local1.levelPreview.gold35 = 30;
_local1.levelPreview.gold36 = 20;
_local1.levelPreview.gold37 = 20;
_local1.levelPreview.gold38 = 20;
_local1.levelPreview.gold39 = 20;
_local1.levelPreview.gold40 = 35;
_local1.levelPreview.gold41 = 30;
_local1.levelPreview.gold42 = 15;
_local1.levelPreview.gold43 = 20;
_local1.levelPreview.gold44 = 10;
_local1.levelPreview.gold45 = 60;
_local1.levelPreview.gold46 = 60;
_local1.levelPreview.gold47 = 45;
_local1.levelPreview.gold48 = 30;
_local1.levelPreview.gold49 = 35;
_local1.levelPreview.gold50 = 60;
_local1.levelPreview.gold500 = 140;
_local1.showTitle();
}
function doCursor() {
var _local1 = this;
var _local2 = _root;
if ((((_local2.Hero.action != "alive") || (_local1.action == "paused")) || (_local1.action == "cutscene")) || (_local1.action == "map")) {
_local1.myCursor = "hidden";
} else if ((_local2.Hero.myMode == "pull") || (_local2.Hero.myMode == "flick")) {
_local1.myCursor = "closedHand";
} else if (_local2.Hero.myMode == "dangle") {
var _local3 = Math.abs(_local1.myNewMouseX - _local2.Hero._x) + Math.abs(_local1.myNewMouseY - _local2.Hero._y);
if (_local3 < 80) {
_local1.myCursor = "openHand";
} else {
_local1.myCursor = "hidden";
}
} else {
var _local3 = Math.abs(_local1.myNewMouseX - _local2.Hero._x) + Math.abs(_local1.myNewMouseY - _local2.Hero._y);
if ((_local3 < 100) && (_local2.Hero.sittingOn != undefined)) {
_local1.myCursor = "openHand";
} else {
_local1.myCursor = "hidden";
}
}
_local2.Cursor._x = _local1.myNewMouseX;
_local2.Cursor._y = _local1.myNewMouseY;
if (_local1.myCursor == "closedHand") {
_local2.Cursor._rotation = _local2.Hero._rotation;
} else {
_local2.Cursor._rotation = 0;
}
_local2.Cursor.gotoAndPlay(_local1.myCursor);
}
function gotCoin(whichCoin) {
var _local1 = _root;
var _local2 = this;
_local2.coinCount = _local2.coinCount + 1;
_local1.CoinCount.text = _local2.coinCount + " - 100";
_local2.explodeAt(whichCoin, "collect");
if (_local2.coinCount >= 100) {
_local1.Coin1.disappear();
_local1.Coin2.disappear();
_local1.Coin3.disappear();
_local1.Coin4.disappear();
_local1.Coin5.disappear();
_local1.Warp.action = "alive";
_local1.Warp.gotoAndPlay("open");
} else {
whichCoin.randomize();
}
}
function gotGrab(thisScore) {
var _local1 = this;
_local1.updateScore(thisScore);
_local1.grabGot = _local1.grabGot + 1;
if ((_local1.grabGot >= _local1.grabTarget) && (_local1.grabTarget != 0)) {
_root.Warp.action = "alive";
_root.Warp.gotoAndPlay("open");
}
}
function onEnterFrame() {
var _local1 = this;
var _local2 = _root;
if (_local1.showSparks) {
_local2.attachMovie("bubble", "particle", _local1.getParticleDepth(), {origx:(_local2._xmouse + (Math.random() * 80)) - 40, origy:_local2._ymouse + 20, angle:Math.random() * 360, speed:Math.random(), myScale:0.5, dieCel:40});
}
_local1.myMouseDiffX = _local2._xmouse - _local1.myNewMouseX;
_local1.myMouseDiffY = _local2._ymouse - _local1.myNewMouseY;
_local1.myNewMouseX = _local2._xmouse;
if (_local1.myNewMouseX > 640) {
_local1.myNewMouseX = 640;
}
_local1.myNewMouseY = _local2._ymouse;
if (_local1.myNewMouseY > 480) {
_local1.myNewMouseY = 480;
}
_local1._x = -10000;
_local1.doCursor();
_local1.geezacount = _local1.geezacount - 1;
if ((_local1.action == "upsell") && (_local1.geezacount < 0)) {
var myRand = (Math.random() * 4);
if (myRand < 1) {
_local2.Geeza.say("35cmon.aif");
} else if (myRand < 2) {
_local2.Geeza.say("35hurryup.aif");
} else if (myRand < 3) {
_local2.Geeza.say("end03.aif");
} else {
_local2.Geeza.say("CS1D.aif");
}
_local1.geezacount = (Math.random() * 100) + 400;
}
if (_local1.action == "playing") {
if (_local2.Hero.action == "alive") {
_local1.animCel = _local1.animCel + 1;
}
if (((Key.isDown(87) && (_local1.cheatsOn)) && (_local1.notWon)) && (_local1.animCel > 90)) {
_local1.notWon = false;
_local1.updateSummary();
_local2.Warp.gotoAndPlay("close");
}
if (_local1.scrolling) {
var scrollDistX = (320 - _local2.Hand._x);
var scrollDistY = (140 - _local2.Hand._y);
if (Math.abs(scrollDistX) > 10) {
_local1.scrollVel[0] = scrollDistX / 10;
} else {
_local1.scrollVel[0] = 0;
}
if (Math.abs(scrollDistY) > 10) {
_local1.scrollVel[1] = scrollDistY / 10;
} else {
_local1.scrollVel[1] = 0;
}
}
var _local3 = Math.floor(_local1.goldTime - (_local1.animCel / 30));
if (_local3 <= 0) {
_local3 = 0;
}
_local2.Clock.text = _local3;
if (_local1.animCel < (_local1.goldTime * 30)) {
} else if (_local2.Clock._visible) {
_local2.gameControl.playSound("poweroff.aif");
_local2.Clock._visible = false;
}
}
while ((getTimer() - _local1.lastExitFrameMillis) < 33) {
}
_local1.lastExitFrameMillis = getTimer();
}
function choosePlayer() {
var _local1 = this;
if (_root.yourName == "") {
(_local1.gotoAndPlay("_root.newName"));// not popped
} else if (_local1.firstTime) {
(_local1.gotoAndPlay("_root.difficulty"));// not popped
} else {
_global.gameSaver.readData();
_local1.level = _global.gameSaver.maxLevel + 1;
_local1.showMap();
}
}
function chooseDifficulty(whichOne) {
var _local1 = _root;
difficulty = whichOne;
_global.gameSaver.saveDifficulty();
_local1.wipeScreen._visible = true;
_local1.wipeScreen.gotoAndPlay(1);
_local1.play();
}
function adjustGold(whichTime) {
var _local2 = whichTime;
var _local1 = _local2;
if (difficulty == "easy") {
_local1 = _local2 + 30;
} else if (difficulty == "medium") {
_local1 = _local2 + 15;
}
return(_local1);
}
function firstLevel() {
var _local1 = this;
var _local2 = _root;
_local2.Geeza.disappear();
_local2.Hero.makeWait();
_local1.frommap = false;
_local1.currentFrame = "instructs";
_local2.gotoAndPlay("instructs");
stopAllSounds();
_local1.mymusic.setVolume(_local1.musicVolume);
_local1.startMusic("gooploopsnd");
}
function startFirstLevel() {
var _local1 = this;
_local1.level = 1;
_local1.bestTime = 10000000 /* 0x989680 */;
_local1.goldTime = _local1.adjustGold(_local1.levelPreview.gold1);
_local1.currentFrame = "_root.level1";
_local1.frommap = false;
stopAllSounds();
_local1.mymusic.setVolume(_local1.musicVolume);
_local1.startMusic("gooploopsnd");
_local1.startLevel();
}
function startLevel() {
var _local1 = this;
if ((_local1.currentFrame == "_root.level1") && (_local1.frommap)) {
_local1.firstLevel();
} else {
_local1.resetLevel();
(_local1.gotoAndPlay("_root.restart"));// not popped
if ((_local1.action == "title") || (_local1.level == 0)) {
} else if (_local1.level == 500) {
_local1.goldTime = _local1.adjustGold(_local1.levelPreview.gold500);
_local1.startMusic("bonusmusic.aif");
} else if (_local1.level >= 45) {
_local1.startMusic("baddymusic.aif");
} else if ((_local1.level % 5) == 0) {
_local1.startMusic("baddymusic.aif");
}
_local1.action = "playing";
_local1.lastLevel = _local1.level;
_root.Geeza.disappear();
_root.nextLevel._visible = false;
}
}
function resetLevel() {
var _local1 = this;
var _local2 = _root;
_local1.animCel = 1;
_local1.mylasttime = 1;
_local1.winFlag = false;
_local1.grabGot = 0;
_local1.grabTarget = 0;
_local1.coinCount = 0;
_local1.notWon = true;
_local1.myObstacles = new Array();
_local1.myWalls = new Array();
_local2.Hero.makeWait();
_local2.nextLevel._visible = false;
_local2.Clock._visible = true;
}
function showTitle() {
var _local1 = this;
_root.Geeza.disappear();
_root.pauseScreen._visible = false;
_local1.startMusic("music_snd");
_local1.level = 0;
_local1.currentFrame = "_root.title";
_local1.startLevel();
_local1.action = "title";
_local1.firstTime = false;
}
function showMap() {
var _local1 = this;
var _local2 = _root;
_local1.firstTime = false;
_local2.Geeza.disappear();
_local1.resetLevel();
_local1.startMusic("gooploopsnd");
_local1.currentFrame = "_root.map";
_local2.gotoAndPlay("map");
_local2.Hero.makeWait();
_global.gameSaver.updateMap();
_local1.action = "map";
_local2.nextLevel._visible = false;
}
function goCutScene(whichLabel) {
var _local1 = this;
var _local2 = whichLabel;
var _local3 = _root;
if (_local1.cutscenes == true) {
_local1.startMusic("gooploopsnd");
_local3.Hero.makeWait();
_local1.action = "cutscene";
_local3.gotoAndPlay(_local2);
} else if ((_local2 == "csIntro") || (_local2.charAt(_local2.length - 1) == "5")) {
_local1.showMap();
} else {
_local3.gotoAndPlay("upsellnormal");
}
}
function goLabel(whichLabel) {
var _local1 = whichLabel;
var _local2 = _root;
if (_local1 == undefined) {
_local1 = nextLabel;
}
stopAllSounds();
if (_local2.Geeza.action != "hidden") {
_local2.Geeza.changeAction("wait");
}
startMusic("gooploopsnd");
_local2.gotoAndPlay(_local1);
}
function startTutorial() {
var _local1 = this;
_local1.currentFrame = "_root.tutorial";
_local1.startLevel();
_local1.action = "tutorial";
}
function selectLevel(whichLevel) {
if (whichLevel <= (_global.gameSaver.maxLevel + 1)) {
level = whichLevel;
var myLoc = eval ("_root.level" + whichLevel);
_root.Marker._x = myLoc._x;
_root.Marker._y = myLoc._y;
currentFrame = "_root.level" + level;
} else {
_root.gameControl.playSound("badsnd");
}
preview(whichLevel);
}
function preview(whichLevel) {
if (whichLevel == undefined) {
whichLevel = level;
}
if ((whichLevel > levellimit) && (_global.gameSaver.maxLevel >= 5)) {
_root.myHint.text = "Play Sling to unlock this level";
_root.playSling._visible = true;
}
if (whichLevel > (_global.gameSaver.maxLevel + 1)) {
return(undefined);
}
_root.playSling._visible = false;
var myMessage = ("_root.gameControl.levelPreview.level" + String(whichLevel));
myMessage = eval (myMessage);
if (myMessage == undefined) {
_root.myHint.text = "Level " + whichLevel;
} else {
_root.myHint.text = (("Level " + whichLevel) + ": ") + myMessage;
}
var myScoreSummary = scoreSummary(_global.gameSaver.levelTimes[whichLevel - 1], whichLevel);
bestTime = Math.round(_global.gameSaver.levelTimes[whichLevel - 1] / 3) / 10;
goldTime = eval ("_root.gameControl.levelPreview.gold" + whichLevel);
goldTime = adjustGold(goldTime);
if (whichLevel > _global.gameSaver.maxLevel) {
_root.myHint.text = _root.myHint.text + "\nNot played yet";
} else {
_root.myHint.text = _root.myHint.text + ("\nBest Score: " + myScoreSummary.total);
}
_root.score_txt.text = "Game Score: " + _global.gameSaver.gameScore;
if ((_global.gameSaver.gameScore == _global.gameSaver.lastAdded) || (noscores)) {
_root.addScore._visible = false;
}
}
function changeFrame(whichNum) {
var _local1 = this;
_local1.currentFrame = (("_root.level" + _local1.level) + "_") + whichNum;
_local1 = _local1.gotoAndPlay(_local1.currentFrame);
}
function loseLevel() {
var _local1 = this;
_local1.currentFrame = "_root.level" + _local1.level;
_local1.resetLevel();
_local1 = _local1.gotoAndPlay("_root.restart");
}
function updateSummary() {
var _local2 = this;
var _local3 = _root;
_local2.mymusic.stop("music_snd");
_local2.startMusic("music_snd");
var _local1 = _local2.scoreSummary(_local2.animCel);
_local3.nextLevel.bonus_level.text = "Level Complete: " + _local1.levelbonus;
_local2.madeGold = _local1.madeGold;
_local3.nextLevel.bonus_yourtime.text = "Time Left: " + _local1.timeleft;
_local3.nextLevel.bonus_time.text = "Time Bonus: " + _local1.timebonus;
_local3.nextLevel.bonus_score.text = "Level Score: " + _local1.total;
_global.gameSaver.saveScore();
}
function scoreSummary(myAnimCel, myLevel) {
if (myLevel == undefined) {
myLevel = level;
}
if (myAnimCel == undefined) {
myAnimCel = animCel;
}
var myReturn = new Object();
if (difficulty == "easy") {
myReturn.levelbonus = 500;
} else if (difficulty == "medium") {
myReturn.levelbonus = 1000;
} else {
myReturn.levelbonus = 1500;
}
var myGoldTime = eval ("_root.gameControl.levelPreview.gold" + myLevel);
myGoldTime = adjustGold(myGoldTime);
myReturn.timeleft = (myGoldTime * 30) - myAnimCel;
myReturn.timeleft = Math.round(myReturn.timeleft / 3) / 10;
if (myReturn.timeleft <= 0) {
myReturn.timeleft = 0;
myReturn.madeGold = false;
} else {
myReturn.madeGold = true;
}
myReturn.timebonus = Math.ceil(myReturn.timeleft * 10);
myReturn.total = myReturn.timebonus + myReturn.levelbonus;
return(myReturn);
}
function winLevel() {
var _local1 = this;
_root.Hero.changeAction("won");
if ((_local1.action == "tutorial") || (_local1.action == "title")) {
} else if (_local1.level == 500) {
} else {
_local1.action = "won";
_local1.updateSummary();
}
}
function showResults() {
_root.nextLevel.play();
_root.nextLevel._visible = true;
}
function launchFirework(whichParticle, whichX, whichY, whichScale, whichType) {
var _local2 = whichParticle;
var _local3 = whichScale;
var _local1 = 4;
while (_local1 <= 20) {
_root.attachMovie(_local2, "particle", getParticleDepth(), {origx:whichX, origy:whichY, angle:_local1 * 20, speed:5 + (Math.random() * 10), myScale:_local3});
_local1++;
}
_local1 = 4;
while (_local1 <= 20) {
_root.attachMovie(_local2, "particle", getParticleDepth(), {origx:whichX, origy:whichY, angle:_local1 * 20, speed:2 + (Math.random() * 5), myScale:_local3});
_local1++;
}
}
function explodeButton(whichSound) {
var _local1 = whichSound;
if (_local1 == undefined) {
_local1 = "rolloversnd";
}
playSound(_local1);
launchFirework("bubble_particle", _root._xmouse, _root._ymouse, 0.2, "random");
}
function explodeScore(whichX, whichY, whichSound) {
var _local1 = whichSound;
if (_local1 == undefined) {
_local1 = "note1snd";
}
playSound(_local1);
launchFirework("yellow_particle", whichX, whichY, 0.2, "random");
}
function explodeAt(whichObject, whichSound) {
var _local1 = whichSound;
if (_local1 == undefined) {
_local1 = "rolloversnd";
}
playSound(_local1);
launchFirework("bubble_particle", whichObject._x, whichObject._y, 0.2, "random");
}
function getParticleDepth() {
var _local1 = this;
_local1.particleDepth = _local1.particleDepth - 1;
if (_local1.particleDepth < 50) {
_local1.particleDepth = 299;
}
return(_local1.particleDepth);
}
function updateScore(thisScore) {
if ((action != "playing") or demo) {
return(undefined);
}
_root.gameScore = _root.gameScore + thisScore;
}
function pauseGame() {
var _local1 = this;
var _local2 = _root;
if ((_local1.level == 0) && (_local1.action != "tutorial")) {
} else {
if (_local1.action != "tutorial") {
_local1.action = "paused";
}
_local2.pause.swapMovie;
_local1.mymusic.setVolume(0);
_local2.pauseScreen.gotoAndPlay("normal");
_local2.pauseScreen._visible = true;
}
}
function pauseTutorial() {
var _local1 = _root;
_local1.pause.swapMovie;
mymusic.setVolume(0);
_local1.pauseScreen.gotoAndPlay("tutorial");
_local1.pauseScreen._visible = true;
}
function resumeTutorial() {
mymusic.setVolume(musicVolume);
_root.pauseScreen._visible = false;
}
function abortGame(whichMarker) {
var _local1 = this;
var _local2 = whichMarker;
var _local3 = _root;
_local3.pauseScreen._visible = false;
if (_local2 == undefined) {
_local1.startMusic();
_local1.action = "enterscore";
_local3.gameControl.startDemo();
} else if (_local2 == "map") {
_local1.firstTime = false;
_local1.unpauseGame();
_local1.showMap();
} else {
_local3.gotoAndPlay(_local2);
}
}
function goSubmit() {
var _local1 = this;
_local1.action = "enterscore";
_root.gotoAndPlay("SubmitScore");
_local1.startMusic();
_local1.showTitle();
}
function unpauseGame() {
var _local1 = this;
var _local2 = _root;
if (_local1.action != "tutorial") {
_local1.action = "playing";
}
_local1.mymusic.setVolume(_local1.musicVolume);
_local1.myNewMouseX = _local2._xmouse;
_local1.myNewMouseY = _local2._ymouse;
_local1.myLastMouseX = _local1.myNewMouseX;
_local1.myLastMouseY = _local1.myNewMouseY;
_local1._x = _local1.myNewMouseX;
_local1._y = _local1.myNewMouseY;
_local1.myCursor = "hidden";
_local2.pauseScreen._visible = false;
}
function togglePause() {
var _local1 = this;
if (_local1.action == "paused") {
_local1.unpauseGame();
} else if ((_local1.action == "playing") || (_local1.action == "tutorial")) {
_local1.pauseGame();
}
}
function startMusic(whichSound, whichLoop) {
var _local1 = this;
var _local2 = whichLoop;
var _local3 = whichSound;
if (_local3 == undefined) {
_local3 = "music_snd";
}
if (_local2 == undefined) {
_local2 = 99;
}
_local1.mymusic.stop();
_local1.mymusic.attachSound(_local3);
_local1.mymusic.setVolume(_local1.musicVolume);
_local1.mymusic.start(0, _local2);
}
function playSound(whichSound) {
var _local1 = whichSound;
if (_local1 == "collect") {
var _local2 = Math.ceil(Math.random() * 4);
_local1 = ("collect0" + _local2) + ".aif";
}
mysound.attachSound(_local1);
mysound.start();
}
function toggleMute() {
var _local1 = this;
if (_local1.mute) {
_local1.musicVolume = _local1.musicVolumePref;
_local1.mymusic.setVolume(_local1.musicVolume);
_local1.mute = false;
_local1.playSound("note1snd");
_root.speakerOn._visible = true;
} else {
_local1.musicVolume = 0;
_local1.mymusic.setVolume(_local1.musicVolume);
_local1.mute = true;
_root.speakerOn._visible = false;
}
}
function swapheads(whichhead) {
_root.attachMovie(whichhead + "hand", "Hand", 10, {name:"hand"});
_root.attachMovie(whichhead + "head", "Hero", 11, {name:"hero"});
}
var animCel = 1;
var action = "ready";
var level = 1;
var mylasttime = 1;
var levelscore = 200;
var levelmsg = "";
var powerupcount = 200;
var baddiecount = 300;
var myLastMouseX = 0;
var myLastMouseY = 0;
var myNewMouseX = 0;
var myNewMouseY = 0;
var myMouseDiffX = 0;
var myMouseDiffY = 0;
var myMaxLevels = 8;
var winFlag = false;
var demo = false;
var musicVolume = 80;
var musicVolumePref = 80;
var lastPressCel = 0;
var screenTime = 0;
var cheatsOn = false;
var soundButton = "SOUND IS ON";
var scrollVel = [0, 0];
var scrolling = false;
var numGrabs = 3;
var grabGot = 0;
var grabTarget = 0;
var mute = false;
var jumpframe = "";
var currentFrame = "title";
var showSparks = false;
var particleDepth = 299;
var bestTime = 1000;
var goldTime = 1000;
var firstTime = false;
var lastLevel = 0;
var lastExitFrameMillis = 0;
var nextLabel = "title";
var myCursor = "hidden";
var notWon = true;
var coinCount = 0;
var difficulty = "hard";
var madeGold = false;
var frommap = false;
var cutscenes = false;
var noscores = true;
var levellimit = 20;
var geezacount = -1;
}
Symbol 864 MovieClip [__Packages.Freebody] Frame 0
class Freebody extends MovieClip
{
var sittingOn, _y, _x, currentGrab, hitTest;
function Freebody () {
var _local1 = this;
super();
_local1.mysound = new Sound();
_local1.mysound.attachSound("grab01.aif");
_local1.mysound.onSoundComplete = _local1.soundFinishedHero;
_local1.headOffsetX = 0;
_local1.headOffsetY = 0;
_local1.headOffsetDist = 50;
_local1.myOrigScale = 50;
_local1.myGravity = _local1.myGravityOrig;
_local1.adjustScale(_local1.myBodyScale);
}
function soundFinishedHero() {
_root.Hero.myCurrentSound = "none";
}
function adjustScale(whichScale) {
var _local1 = this;
_local1.myBodyScale = whichScale;
_local1._xscale = _local1.myOrigScale * _local1.myBodyScale;
_local1._yscale = _local1.myOrigScale * _local1.myBodyScale;
_root.Hand._xscale = _local1.myOrigScale * _local1.myBodyScale;
_root.Hand._yscale = _local1.myOrigScale * _local1.myBodyScale;
_local1.myScale = 10 * _local1.myBodyScale;
_local1.springLength = _local1.springLengthOrig * _local1.myBodyScale;
_local1.headOffsetDist = 100 * _local1.myBodyScale;
_local1.myMinLength = _local1.myOrigLength * _local1.myBodyScale;
_local1.offsetEdge = _local1._width / 2;
}
function initialize() {
var _local1 = this;
var _local2 = _root;
_local1.tuteCount = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
_local1.animCel = 1;
_local1.adjustScale(0.5);
_local1.myElementCount = 0;
_local1.myElement = "none";
_local1._x = _local2.Start._x;
_local1._y = _local2.Start._y;
_local1.myLastX = _local1._x;
_local1.myLastY = _local1._y;
_local2.Hand._x = _local1._x;
_local2.Hand._y = _local1._y - 50;
_local1.velocity[0] = 0;
_local1.velocity[1] = 0;
_local1.myGravity = _local1.myGravityOrig;
_local1.moveAttachments();
_local1.currentGrab = undefined;
_local1.gotoAndPlay("alive");
_local1.myMode = "free";
_local1.action = "alive";
_local1.sittingOn = undefined;
_local1.sitCount = 10;
_local1.myMaxY = 0;
_local1.health = 0;
if (_local2.gameControl.difficulty == "easy") {
_local1.health = 5;
} else if (_local2.gameControl.difficulty == "medium") {
_local1.health = 3;
}
_local2.Health.gotoAndPlay("level" + _local1.health);
}
function makeWait() {
var _local1 = this;
_local1.currentGrab = undefined;
_local1.action = "wait";
_local1._x = 1000;
_root.Hand._x = 1100;
_local1.moveAttachments();
}
function forceDrop(whichObject) {
var _local1 = this;
var _local2 = whichObject;
_root.Hand._x = _local2._x;
_root.Hand._y = _local2._y;
_local1._x = _local2._x;
_local1._y = _local2._y + _local1.myMinLength;
_local1.moveAttachments();
_local1.velocity[0] = 0;
_local1.velocity[1] = 0;
_local1.myMode = "free";
}
function shootUp(whichObject) {
var _local1 = this;
_local1._x = whichObject._x;
_local1._y = whichObject._y;
_root.Hand._x = _local1._x;
_root.Hand._y = _local1._y + 20;
_local1.moveAttachments();
_local1.velocity[0] = 0;
_local1.velocity[1] = -8;
_local1.action = "alive";
_local1.myMode = "free";
_local1.myGrabCount = 10;
}
function resetObstacles() {
var i = 0;
while (i < _root.gameControl.myObstacles.length) {
var myCollideObstacle = eval (_root.gameControl.myObstacles[i]);
myCollideObstacle.reset();
i++;
}
}
function onMouseUp() {
var _local1 = this;
if (_local1.action != "alive") {
} else if (_root.gameControl.action == "cutscene") {
} else if (_local1.myMode == "pull") {
_local1.myMode = "flick";
_local1.flickCount = 5;
_local1.playSound("fling");
}
}
function onMouseDown() {
var _local1 = this;
var _local2 = _root;
if (_local1.action != "alive") {
} else if (_local2.gameControl.action == "cutscene") {
} else {
var _local3 = Math.abs(_local2.gameControl.myNewMouseX - _local1._x) + Math.abs(_local2.gameControl.myNewMouseY - _local1._y);
if ((_local1.myMode == "dangle") && (_local3 < 80)) {
_local1.myMode = "pull";
_local1.myMaxY = 0;
if (_local1.sittingOn != undefined) {
_local2.Head._x = _local2.gameControl.myNewMouseX;
_local2.Hand._y = _local1.sittingOn.myBounds.ymin + 10;
_local1.myMode = "pull";
_local1.myMaxY = _local1.sittingOn.myBounds.ymin - 30;
}
} else if (_local1.myMode == "pull") {
_local1.myMode = "flick";
_local1.flickCount = 5;
} else if (_local1.myMode == "flick") {
_local1.myMode = "pull";
} else if (_local3 < 100) {
if (_local1.sittingOn != undefined) {
if ((_local2.Hand._x > _local1.sittingOn.myBounds.xmin) && (_local2.Hand._x < _local1.sittingOn.myBounds.xmax)) {
_local2.Head._x = _local2.gameControl.myNewMouseX;
_local2.Hand._y = _local1.sittingOn.myBounds.ymin + 10;
_local1.myMode = "pull";
_local1.myMaxY = _local1.sittingOn.myBounds.ymin - 30;
}
}
}
}
}
function reposLastGrab() {
var _local1 = this;
var _local2 = _root;
_local1.myMode = "free";
_local1.mysound.attachSound("clicksnd");
_local1.mysound.setVolume(0.25 * _local2.gameControl.effectVolume);
_local1.mysound.start();
_local2.Hand._x = _local1.lastGrab.snapX;
_local2.Hand._y = _local1.lastGrab.snapY - 50;
_local1._x = _local2.Hand._x;
_local1._y = _local2.Hand._y - 50;
_local1.velocity[0] = 0;
_local1.velocity[1] = 0;
}
function changeElement(whichElement) {
var _local1 = this;
if (_local1.action == "alive") {
_local1.myElement = whichElement;
_local1.myElementCount = 200;
if (_local1.myElement == "none") {
_local1.gotoAndPlay("alive");
} else {
_local1.gotoAndPlay(_local1.myElement);
}
}
}
function onEnterFrame() {
var _local1 = this;
var _local2 = _root;
var _local3 = ((_local2.gameControl.action != "paused") ? (_local1.animCel = _local1.animCel + 1_local1.myGrabCount = _local1.myGrabCount - 1_local1.flickCount = _local1.flickCount - 1_local1.hitCount = _local1.hitCount - 1_local1.myElementCount = _local1.myElementCount - 1if (_local1.myElementCount == 0) {
_local1.changeElement("none")} else if ((_local1.myElementCount > 0) && (_local1.myElementCount < 50)) {
if ((_local1.myElementCount % 10) == 0) {
_local1.gotoAndPlay("alive")} else if ((_local1.myElementCount % 5) == 0) {
_local1.gotoAndPlay(_local1.myElement)}
}
if ((_local1.myGrabCount <= 0) and (_local1.myMode == "free")) {
_local1.currentGrab = undefined}
_local1.myLastX = _local1._x_local1.myLastY = _local1._y_local1.myLastRot = _local1._rotationvar myLag = 20var diffX = 0var diffY = 0var accelX = 0var accelY = _local1.myGravityif (_local1.action == "wait") {
_local1.adjustScale(0.5)_local1._x = 10000_local1._y = 10000} else {
if (_local1.action == "dying") {
_local1.adjustScale(_local1.myBodyScale * 1.05)if (_local1.animCel == 44) {
_local2.wipeScreen._visible = true_local2.wipeScreen.gotoAndPlay(1)} else if (_local1.animCel == 50) {
_local1.action = "wait"_local2.gameControl.loseLevel()return;}
} else if (_local1.action == "suckup") {
_local1.adjustScale(_local1.myBodyScale * 0.95)_local1._x = _local1._x + ((_local2.Hand._x - _local1._x) / 5)_local1._y = _local1._y + ((_local2.Hand._y - _local1._y) / 5)_local1.moveAttachments()if (_local1.animCel == 20) {
_local1.makeWait()if (_local2.gameControl.level == 0) {
if (_local2.gameControl.firstTime) {
} else {
_local2.gotoAndPlay("credits")}
} else if (_local2.gameControl.action == "map") {
_local2.gameControl.showMap()} else if (_local2.gameControl.action == "bonusgame") {
_local2.gameControl.level = 500_local2.gameControl.currentFrame = "_root.level" + _local2.gameControl.level_local2.gameControl.startLevel()} else if (_local2.gameControl.level == 500) {
_local2.gameControl.goCutScene("csBonusReturn")} else {
_local2.gameControl.showResults()}
}
} else {
if (_local1.myMode == "free") {
_local1.handDist = _local1.handDist * 0.9if (_local1.handDist < 20) {
_local1.handDist = 20}
_local1.checkGrab()} else if ((_local1.myMode == "dangle") || (_local1.myMode == "flick")) {
if (_local1.action == "won") {
_local1.mouseForceX = _local1.mouseForceX + (((_local2.gameControl.myMouseDiffX * 0.5) - _local1.mouseForceX) / 5)_local1.mouseForceY = _local1.mouseForceY + (((_local2.gameControl.myMouseDiffY * 0.5) - _local1.mouseForceY) / 5)} else {
_local1.mouseForceX = 0_local1.mouseForceY = 0}
var diffX = (_local1._x - _local2.Hand._x)var diffY = (_local1._y - _local2.Hand._y)_local1.handDist = Math.sqrt((diffX * diffX) + (diffY * diffY))if ((_local1.handDist - _local1.springLength) < 0) {
_local1.handDist = _local1.springLength}
var springStretch = ((_local1.handDist - _local1.springLength) / _local1.myScale)accelX = ((accelX + (((_local1.springK / _local1.myMass) * springStretch) * _local2.sinQuick(_local1._rotation))) - (_local1.myDamping * _local1.velocity[0])) + (_local1.mouseForceX / _local1.myMass)accelY = ((accelY - (((_local1.springK / _local1.myMass) * springStretch) * _local2.cosQuick(_local1._rotation))) - (_local1.myDamping * _local1.velocity[1])) + (_local1.mouseForceY / _local1.myMass)if (_local1.myMode == "flick") {
if ((((_local1.myLastAccelX * accelX) < 0) || ((_local1.myLastAccelY * accelY) < 0)) || (_local1.flickCount < 0)) {
_local1.myMode = "free"_local1.myGrabCount = 10if (_local1.flickCount < 0) {
_local1.velocity[1] = -2}
}
}
} else if (_local1.myMode == "pull") {
accelX = 0accelY = 0_local1.velocity[0] = 0_local1.velocity[1] = 0_local1._x = _local2.gameControl.myNewMouseX_local1._y = _local2.gameControl.myNewMouseYif (_local1.myMaxY != 0) {
if (_local1._y >= _local1.myMaxY) {
_local1._y = _local1.myMaxY}
}
var diffX = (_local1._x - _local2.Hand._x)var diffY = (_local1._y - _local2.Hand._y)_local1.myLastLength = _local1.myCurrentLength_local1.myCurrentLength = Math.sqrt((diffX * diffX) + (diffY * diffY))if (_local1.myCurrentLength > _local1.myMaxStretch) {
_local1._x = _local2.Hand._x + ((diffX * _local1.myMaxStretch) / _local1.myCurrentLength)_local1._y = _local2.Hand._y + ((diffY * _local1.myMaxStretch) / _local1.myCurrentLength)_local1.myCurrentLength = _local1.myMaxStretch}
if (_local1.myLastLength < _local1.myCurrentLength) {
_local1.playSound("stretch")}
_local3 = 0while (_local3 < 5) {
_local1.collideCount = 0_local1.checkWall()if (_local1.collideCount == 0) {
break;
}
_local3++}
}
_local1.checkCollision()if (_local1.currentGrab.action == "drop") {
_local1.currentGrab = undefined_local1.myMode = "free"_local1.myGrabCount = 10}
if (_local1.currentGrab.action == "spike") {
_local1.currentGrab.collide()}
if (_local1.currentGrab.action == "slimegrab") {
_local1.currentGrab.collide()}
_local1.myLastAccelX = accelX_local1.myLastAccelY = accelY_local1.velocity[0] = _local1.velocity[0] + (accelX * _local1.deltaT)_local1.velocity[1] = _local1.velocity[1] + (accelY * _local1.deltaT)var mySpeed = Math.sqrt((_local1.velocity[0] * _local1.velocity[0]) + (_local1.velocity[1] * _local1.velocity[1]))if ((mySpeed * _local1.myScale) > _local1.myMaxPixels) {
var myAdjust = (_local1.myMaxPixels / (mySpeed * _local1.myScale))_local1.velocity[0] = _local1.velocity[0] * myAdjust_local1.velocity[1] = _local1.velocity[1] * myAdjust}
_local1.pixelVelX = _local1.velocity[0] * _local1.myScale_local1.pixelVelY = _local1.velocity[1] * _local1.myScale_local1._x = (_local1._x + (_local1.velocity[0] * _local1.myScale)) + _local2.gameControl.scrollVel[0]_local1._y = (_local1._y + (_local1.velocity[1] * _local1.myScale)) + _local2.gameControl.scrollVel[1]if ((_local1.sittingOn != undefined) && (_local1.myMode == "free")) {
_local1._x = _local1._x + _local1.sittingOn.myVelX_local1._y = _local1._y + _local1.sittingOn.myVelY}
if ((_local1.action == "alive") && (_local1.myMode != "pull")) {
_local3 = 0while (_local3 < 5) {
_local1.collideCount = 0_local1.checkWall()if (_local1.collideCount == 0) {
break;
}
_local3++}
}
if (_local1.action == "won") {
if (_local1.animCel == 10) {
_local2.Warp.action = "close"}
}
if (_local1.myMode == "free") {
_local2.Hand._x = _local2.Hand._x + ((_local1._x - _local2.Hand._x) / 2)_local2.Hand._y = _local2.Hand._y + ((_local1._y - _local2.Hand._y) / 2)var distX = (_local1._x - _local2.Hand._x)var distY = (_local1._y - _local2.Hand._y)var distTotal = Math.sqrt((distX * distX) + (distY * distY))if (distTotal < _local1.myMinLength) {
distX = (distX * _local1.myMinLength) / distTotaldistY = (distY * _local1.myMinLength) / distTotal_local2.Hand._x = _local1._x - distX_local2.Hand._y = _local1._y - distY}
} else if (_local1.currentGrab != undefined) {
_local2.Hand._x = _local1.currentGrab.snapX_local2.Hand._y = _local1.currentGrab.snapY} else if (_local1.sittingOn != undefined) {
_local2.Hand._x = (_local2.Hand._x + _local2.gameControl.scrollVel[0]) + _local1.sittingOn.myVelX_local2.Hand._y = (_local2.Hand._y + _local2.gameControl.scrollVel[1]) + _local1.sittingOn.myVelY} else {
_local2.Hand._x = _local2.Hand._x + _local2.gameControl.scrollVel[0]_local2.Hand._y = _local2.Hand._y + _local2.gameControl.scrollVel[1]}
_local1.moveAttachments()if (_local1._y > (Stage.height * 1.5)) {
if (_local2.gameControl.action == "map") {
_local1.reposLastGrab()} else {
_local1.changeAction("falling")}
}
}
_local1.checkCollision()if (_local1.currentGrab.action == "drop") {
_local1.currentGrab = undefined_local1.myMode = "free"_local1.myGrabCount = 10}
if (_local1.currentGrab.action == "spike") {
_local1.currentGrab.collide()}
if (_local1.currentGrab.action == "slimegrab") {
_local1.currentGrab.collide()}
_local1.myLastAccelX = accelX_local1.myLastAccelY = accelY_local1.velocity[0] = _local1.velocity[0] + (accelX * _local1.deltaT)_local1.velocity[1] = _local1.velocity[1] + (accelY * _local1.deltaT)var mySpeed = Math.sqrt((_local1.velocity[0] * _local1.velocity[0]) + (_local1.velocity[1] * _local1.velocity[1]))if ((mySpeed * _local1.myScale) > _local1.myMaxPixels) {
var myAdjust = (_local1.myMaxPixels / (mySpeed * _local1.myScale))_local1.velocity[0] = _local1.velocity[0] * myAdjust_local1.velocity[1] = _local1.velocity[1] * myAdjust}
_local1.pixelVelX = _local1.velocity[0] * _local1.myScale_local1.pixelVelY = _local1.velocity[1] * _local1.myScale_local1._x = (_local1._x + (_local1.velocity[0] * _local1.myScale)) + _local2.gameControl.scrollVel[0]_local1._y = (_local1._y + (_local1.velocity[1] * _local1.myScale)) + _local2.gameControl.scrollVel[1]if ((_local1.sittingOn != undefined) && (_local1.myMode == "free")) {
_local1._x = _local1._x + _local1.sittingOn.myVelX_local1._y = _local1._y + _local1.sittingOn.myVelY}
if ((_local1.action == "alive") && (_local1.myMode != "pull")) {
_local3 = 0while (_local3 < 5) {
_local1.collideCount = 0_local1.checkWall()if (_local1.collideCount == 0) {
break;
}
_local3++}
}
if (_local1.action == "won") {
if (_local1.animCel == 10) {
_local2.Warp.action = "close"}
}
if (_local1.myMode == "free") {
_local2.Hand._x = _local2.Hand._x + ((_local1._x - _local2.Hand._x) / 2)_local2.Hand._y = _local2.Hand._y + ((_local1._y - _local2.Hand._y) / 2)var distX = (_local1._x - _local2.Hand._x)var distY = (_local1._y - _local2.Hand._y)var distTotal = Math.sqrt((distX * distX) + (distY * distY))if (distTotal < _local1.myMinLength) {
distX = (distX * _local1.myMinLength) / distTotaldistY = (distY * _local1.myMinLength) / distTotal_local2.Hand._x = _local1._x - distX_local2.Hand._y = _local1._y - distY}
} else if (_local1.currentGrab != undefined) {
_local2.Hand._x = _local1.currentGrab.snapX_local2.Hand._y = _local1.currentGrab.snapY} else if (_local1.sittingOn != undefined) {
_local2.Hand._x = (_local2.Hand._x + _local2.gameControl.scrollVel[0]) + _local1.sittingOn.myVelX_local2.Hand._y = (_local2.Hand._y + _local2.gameControl.scrollVel[1]) + _local1.sittingOn.myVelY} else {
_local2.Hand._x = _local2.Hand._x + _local2.gameControl.scrollVel[0]_local2.Hand._y = _local2.Hand._y + _local2.gameControl.scrollVel[1]}
_local1.moveAttachments()if (_local1._y > (Stage.height * 1.5)) {
if (_local2.gameControl.action == "map") {
_local1.reposLastGrab()} else {
_local1.changeAction("falling")}
}
}
_local1.play()) : (_local1.stop()));
_local2 = _local3;
_local1 = _local2;
}
function playSound(whichSound) {
var _local1 = whichSound;
var _local2 = this;
if ((_local2.myCurrentSound == _local1) && (_local1 == "stretch")) {
} else {
_local2.myCurrentSound = _local1;
if (_local1 == "bounce") {
var _local3 = Math.ceil(Math.random() * 5);
_local1 = ("bounce0" + _local3) + ".aif";
} else if (_local1 == "stretch") {
var _local3 = Math.ceil(Math.random() * 9);
_local1 = ("stretch0" + _local3) + ".aif";
} else if (_local1 == "fling") {
var _local3 = Math.ceil(Math.random() * 9);
_local1 = ("fling0" + _local3) + ".aif";
}
_local2.mysound.attachSound(_local1);
_local2.mysound.start();
}
}
function checkWall() {
if (myMode == "free") {
sitCount = sitCount + 1;
if (sitCount > 10) {
sittingOn = undefined;
}
}
var i = 0;
while (i < _root.gameControl.myWalls.length) {
var myWallObstacle = eval (_root.gameControl.myWalls[i]);
myWallObstacle.checkCollision();
i++;
}
}
function moveAttachments() {
var _local1 = _root;
var _local2 = this;
var diffX = (_local2._x - _local1.Hand._x);
var diffY = (_local2._y - _local1.Hand._y);
var _local3 = _local2._rotation;
if (Math.abs(diffY) > 0.5) {
_local3 = 180 - (57.32 * Math.atan(diffX / diffY));
if (diffY > 0) {
_local3 = 180 + _local3;
}
}
_local2._rotation = _local3;
_local1.Hand._rotation = _local2._rotation;
_local1.ArmBlack.clear();
_local1.createEmptyMovieClip("ArmBlack", 8);
_local1.ArmBlack.lineStyle(6 * _local2.myBodyScale, 6656, 100);
_local1.ArmBlack.moveTo(_local2._x, _local2._y);
_local1.ArmBlack.lineTo(_local1.Hand._x, _local1.Hand._y);
_local1.Arm.clear();
_local1.createEmptyMovieClip("Arm", 9);
_local1.Arm.lineStyle(3 * _local2.myBodyScale, 6723840, 100);
_local1.Arm.moveTo(_local2._x, _local2._y);
_local1.Arm.lineTo(_local1.Hand._x, _local1.Hand._y);
}
function checkGrab() {
var closest = undefined;
var closeDist = 100000;
var i = 0;
while (i < _root.gameControl.myObstacles.length) {
var myCollideObstacle = eval (_root.gameControl.myObstacles[i]);
if (((myCollideObstacle.myType == "grab") || (myCollideObstacle.myType == "warp")) && (myCollideObstacle.action == "alive")) {
var manHatDist = (Math.abs(myCollideObstacle._x - _x) + Math.abs(myCollideObstacle._y - _y));
if ((((manHatDist < 50) && (myGrabCount <= 8)) && (myCollideObstacle != currentGrab)) || ((manHatDist < 50) && (myGrabCount < 0))) {
if (manHatDist < closeDist) {
closeDist = manHatDist;
closest = myCollideObstacle;
}
}
}
i++;
}
if (closest != undefined) {
sittingOn = undefined;
closest.collide();
}
}
function grabHold(whichObject) {
var _local1 = this;
var _local3 = _root;
if (_local1.action == "dying") {
} else if (_local3.gameControl.action == "won") {
} else {
_local1.myMode = "dangle";
_local1.currentGrab = whichObject;
_local3.Hand._x = _local1.currentGrab.snapX;
_local3.Hand._y = _local1.currentGrab.snapY;
_local1.myGrabCount = 10;
_local1.sittingOn = undefined;
_local1.lastGrab = _local1.currentGrab;
var _local2 = Math.ceil(Math.random() * 3);
_local1.mysound.attachSound(("grabsmall" + _local2) + ".aif");
_local1.mysound.start();
_local1.moveTutorial(whichObject);
}
}
function forceGrab(whichObject) {
var _local1 = this;
var _local2 = whichObject;
if (_local1.currentGrab == _local2) {
} else {
_local1.myMode = "dangle";
_root.Hand._x = _local2.snapX;
_root.Hand._y = _local2.snapY;
_local1._x = _local2.snapX;
_local1._y = _local2.snapY + 30;
_local1.moveAttachments();
_local1.myGrabCount = 0;
_local1.sittingOn = undefined;
_local2.collide();
_local1.moveTutorial(_local2);
}
}
function forceGrabOLD(whichObject) {
var _local1 = this;
var _local2 = whichObject;
if (_local1.currentGrab == _local2) {
} else {
_local1.myMode = "dangle";
_local1.currentGrab = _local2;
_root.Hand._x = _local1.currentGrab.snapX;
_root.Hand._y = _local1.currentGrab.snapY;
_local1._x = _local1.currentGrab.snapX;
_local1._y = _local1.currentGrab.snapY + 30;
_local1.myGrabCount = 10;
_local1.sittingOn = undefined;
_local1.lastGrab = _local1.currentGrab;
_local1.moveAttachments();
_local1.moveTutorial(_local2);
}
}
function jumpTute(whichLabel) {
_root.gameControl.goLabel(whichLabel);
}
function moveTutorial(whichObject) {
var _local1 = this;
var _local2 = _root;
if (_local2.gameControl.action == "tutorial") {
if (String(whichObject).indexOf("mustGrab1") != -1) {
_local1.tuteCount[0] = _local1.tuteCount[0] + 1;
if (_local1.tuteCount[0] == 1) {
_local1.jumpTute("tute1");
}
} else if (String(whichObject).indexOf("mustGrab2") != -1) {
_local1.tuteCount[1] = _local1.tuteCount[1] + 1;
if (_local1.tuteCount[1] == 1) {
_local1.jumpTute("tute4");
}
} else if (String(whichObject).indexOf("mustGrab3") != -1) {
_local1.tuteCount[2] = _local1.tuteCount[2] + 1;
if (_local1.tuteCount[2] == 1) {
_local1.jumpTute("tute5");
}
} else if (String(whichObject).indexOf("mustGrab4") != -1) {
_local1.tuteCount[3] = _local1.tuteCount[3] + 1;
if (((_local1.tuteCount[3] == 1) && (_local1.tuteCount[4] > 0)) && (_local1.tuteCount[5] > 0)) {
_local1.jumpTute("tutePortalOpen");
} else if (_local1.tuteCount[3] == 1) {
_local1.jumpTute("tuteEscape1");
} else if (_local2.gameControl.nextLabel == "goodluck") {
} else {
if (_local2.Geeza.action == "talk") {
return;
}
_local1.jumpTute("tuteEscaperecap1");
}
} else if (String(whichObject).indexOf("mustGrab5") != -1) {
_local1.tuteCount[4] = _local1.tuteCount[4] + 1;
if (((_local1.tuteCount[3] > 0) && (_local1.tuteCount[4] == 1)) && (_local1.tuteCount[5] > 0)) {
_local1.jumpTute("tutePortalOpen");
} else if (_local1.tuteCount[4] == 1) {
_local1.jumpTute("tuteEscape2");
} else if (_local2.gameControl.nextLabel == "goodluck") {
} else {
if (_local2.Geeza.action == "talk") {
return;
}
_local1.jumpTute("tuteEscaperecap2");
}
} else if (String(whichObject).indexOf("mustGrab6") != -1) {
_local1.tuteCount[5] = _local1.tuteCount[5] + 1;
if (((_local1.tuteCount[3] > 0) && (_local1.tuteCount[4] > 0)) && (_local1.tuteCount[5] == 1)) {
_local1.jumpTute("tutePortalOpen");
} else if (_local1.tuteCount[5] == 1) {
_local1.jumpTute("tuteEscape3");
} else if (_local2.gameControl.nextLabel == "goodluck") {
} else {
if (_local2.Geeza.action == "talk") {
return;
}
_local1.jumpTute("tuteEscaperecap3");
}
} else if (String(whichObject).indexOf("Warp") != -1) {
_local1.tuteCount[7] = _local1.tuteCount[7] + 1;
_local1.jumpTute("goodluck");
} else {
_local1.tuteCount[10] = _local1.tuteCount[10] + 1;
if (_local1.sittingOn == undefined) {
var _local3 = Math.random();
if (_local2.gameControl.nextLabel == "tute1") {
if (_local2.Geeza.action == "talk") {
return;
}
if (_local3 < 0.33) {
_local1.jumpTute("tuteFloorMiss1");
} else if (_local3 < 0.66) {
_local1.jumpTute("tuteFloorMiss2");
} else {
_local1.jumpTute("tuteFloorMiss3");
}
} else if (_local2.gameControl.nextLabel == "tute4") {
if (_local2.Geeza.action == "talk") {
return;
}
if (_local3 < 0.25) {
_local1.jumpTute("tuteStretchrecap");
} else if (_local3 < 0.5) {
_local1.jumpTute("tuteStretchMiss1");
} else if (_local3 < 0.75) {
_local1.jumpTute("tuteStretchMiss2");
} else {
_local1.jumpTute("tuteStretchMiss3");
}
} else if (_local2.gameControl.nextLabel == "tute5") {
if (_local2.Geeza.action == "talk") {
return;
}
if (_local3 < 0.25) {
_local1.jumpTute("tuteFlingrecap");
} else if (_local3 < 0.5) {
_local1.jumpTute("tuteFlingMiss1");
_local2.play();
} else if (_local3 < 0.75) {
_local1.jumpTute("tuteFlingMiss2");
} else {
_local1.jumpTute("tuteFlingMiss3");
}
} else if (_local2.gameControl.nextLabel == "tute6") {
_local1.jumpTute("tute6");
} else if ((_local2.gameControl.nextLabel == "tutePortalOpen") || (_local2.gameControl.nextLabel == "goodluck")) {
if (_local2.Geeza.action == "talk") {
return;
}
if (_local3 < 0.33) {
_local1.jumpTute("tuteEscapeMiss1");
} else if (_local3 < 0.66) {
_local1.jumpTute("tuteEscapeMiss2");
} else {
_local1.jumpTute("tuteEscapeMiss3");
}
} else if (_local1.tuteCount[0] == 0) {
if (_local2.Geeza.action == "talk") {
} else if (_local1.tuteCount[10] == 1) {
_local1.jumpTute("tuteFloorMiss1");
} else if (_local1.tuteCount[10] == 2) {
_local1.jumpTute("tuteFloorMiss2");
} else {
_local1.jumpTute("tuteFloorMiss3");
}
}
}
}
}
}
function checkCollision() {
if (action == "dying") {
return(undefined);
}
var i = 0;
while (i < _root.gameControl.myObstacles.length) {
var myCollideObstacle = eval (_root.gameControl.myObstacles[i]);
if (hitTest(myCollideObstacle)) {
myCollideObstacle.collide();
return;
}
i++;
}
}
function doDamage(howMuch) {
var _local1 = this;
_local1.health = _local1.health - howMuch;
_local1.hitCount = 30;
if (_local1.health < 0) {
_local1.health = 0;
}
if (_local1.health > 5) {
_local1.health = 5;
}
_root.Health.gotoAndPlay("level" + _local1.health);
}
function changeAction(whichAction) {
var _local1 = this;
var _local2 = whichAction;
var _local3 = _root;
if (_local1.action == _local2) {
} else if (_local2 == _local1.myElement) {
} else if (_local1.action == "dying") {
} else if ((((_local2 == "dying") || (_local2 == "fire")) || (_local2 == "slime")) || (_local2 == "falling")) {
if (_local1.hitCount > 0) {
return;
}
_local3.gameControl.playSound("ow3snd");
_local1.myElement = "none";
if (_local2 == "falling") {
_local2 = "dying";
} else {
_local1.doDamage(1);
if (_local1.health > 0) {
_local3.gameControl.explodeAt(_local1);
_local1.gotoAndPlay("ouch");
return;
}
}
_local1.animCel = 1;
_local1.currentGrab = undefined;
_local1.myMode = "free";
_local1.myGrabCount = 10;
_local1.myElementCount = 0;
_local1.myElement = "none";
if (_local2 != "dying") {
_local2 = "dying_" + _local2;
}
_local1.gotoAndPlay(_local2);
_local1.myGravity = 2;
_local1.velocity[0] = _local1.velocity[0] * 0.1;
_local1.velocity[1] = -2;
_local1.action = "dying";
} else if (_local2 == "won") {
_local1.animCel = 1;
_local1.action = _local2;
} else if (_local2 == "wait") {
_local1.animCel = 1;
_local1.action = _local2;
_local1.currentGrab = undefined;
_local1.myMode = "free";
_local1.myGrabCount = 10;
_local1._x = 10000;
_local1._y = 10000;
_local3.Hand._x = _local1._x;
_local3.Hand._y = _local1._y;
_local1.moveAttachments();
} else if (_local2 == "suckup") {
_local1.animCel = 1;
_local1.action = _local2;
_local3.Element.gotoAndPlay("suckup");
}
}
var tilt = 2;
var animCel = 1;
var origX = 0;
var origY = 0;
var bobHeight = 5;
var action = "alive";
var velocity = [0, 0];
var mySpeed = 5;
var offsetEdge = 50;
var mymotion = "across";
var powerupcount = 0;
var mypowerup = "none";
var baddiecount = 0;
var myBullets = 0;
var bulletType = "single";
var demoRot = 0;
var headOffsetX = 0;
var headOffsetY = 0;
var headOffsetDist = 0;
var armLength = 0;
var fixed = false;
var myVelY = 0;
var myVelX = 0;
var mouseForceX = 0;
var mouseForceY = 0;
var deltaT = 0.05;
var springK = 10;
var springLengthOrig = 100;
var myMass = 1;
var myGravityOrig = 10;
var myGravity = 0;
var myDamping = 2;
var myMaxPixels = 50;
var handDist = 0;
var myScale = 10;
var myBodyScale = 0.5;
var myGrabCount = 0;
var myMode = "free";
var myLastAccelX = 0;
var myLastAccelY = 0;
var myMaxStretch = 150;
var myColor = "green";
var pixelVelX = 0;
var pixelVelY = 0;
var sitCount = 10;
var myMaxY = 0;
var flickCount = 0;
var collideCount = 0;
var myOrigLength = 40;
var myMinLength = 20;
var tuteCount = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
var myElement = "none";
var myElementCount = 0;
var myLastLength = 0;
var myCurrentLength = 0;
var myCurrentSound = "none";
var health = 1;
var hitCount = 0;
}
Symbol 865 MovieClip [__Packages.Grabtracker] Frame 0
class Grabtracker extends MovieClip
{
function Grabtracker () {
var _local1 = this;
super();
if (String(_local1).indexOf("blue") != -1) {
_local1.myColor = "blue";
} else if (String(_local1).indexOf("gray") != -1) {
_local1.myColor = "gray";
} else if (String(_local1).indexOf("green") != -1) {
_local1.myColor = "green";
}
}
function onEnterFrame() {
var _local1 = this;
_local1._parent.snapX = _local1._parent._x + _local1._x;
_local1._parent.snapY = _local1._parent._y + _local1._y;
if (_local1._parent.myColor == _local1.myColor) {
_local1._visible = true;
} else {
_local1._visible = false;
}
}
var myColor = "gray";
}
Symbol 866 MovieClip [__Packages.Wall] Frame 0
class Wall extends MovieClip
{
function Wall () {
super();
_root.gameControl.myWalls.push(this);
findBounds();
}
function findBounds() {
var _local1 = this;
_local1.myBounds = new Object();
_local1.myBounds.xmin = (_local1._x - (_local1._width / 2)) - 0;
_local1.myBounds.xmax = (_local1._x + (_local1._width / 2)) + 0;
_local1.myBounds.ymin = (_local1._y - (_local1._height / 2)) - 0;
_local1.myBounds.ymax = (_local1._y + (_local1._height / 2)) + 0;
_local1.myVelX = _local1._x - _local1.myLastX;
_local1.myVelY = _local1._y - _local1.myLastY;
_local1.myLastX = _local1._x;
_local1.myLastY = _local1._y;
}
function checkCollision() {
var _local1 = _root;
var _local2 = this;
if (_local1.gameControl.action == "paused") {
_local2.stop();
} else {
_local2.play();
if ((_local2.myLastX != _local2._x) || (_local2.myLastY != _local2._y)) {
_local2.findBounds();
} else {
_local2.myVelX = 0;
_local2.myVelY = 0;
}
if (_local2.action == "spike") {
if (_local2.hitTest(_local1.Hero)) {
_local1.Hero.changeAction("dying");
return;
}
} else {
var _local3 = false;
if (_local1.Hero.myMode == "free") {
if ((_local1.Hero._y > _local2.myBounds.ymin) && (_local1.Hero._y < _local2.myBounds.ymax)) {
var diffX = (_local1.Hero._x - _local1.Hero.myLastX);
if (diffX > 0) {
if ((_local1.Hero.myLastX <= _local2.myBounds.xmin) && (_local1.Hero._x >= _local2.myBounds.xmin)) {
_local1.Hero._x = _local2.myBounds.xmin - 1;
_local1.Hero.velocity[0] = (-_local1.Hero.velocity[0]) * _local2.coeffRest;
_local1.Hero.collideCount = _local1.Hero.collideCount + 1;
_local3 = true;
_local1.Hero.playSound("bounce");
}
} else if ((_local1.Hero.myLastX >= _local2.myBounds.xmax) && (_local1.Hero._x <= _local2.myBounds.xmax)) {
_local1.Hero._x = _local2.myBounds.xmax + 1;
_local1.Hero.velocity[0] = (-_local1.Hero.velocity[0]) * _local2.coeffRest;
_local1.Hero.collideCount = _local1.Hero.collideCount + 1;
_local3 = true;
_local1.Hero.playSound("bounce");
}
}
if ((_local1.Hero._x > _local2.myBounds.xmin) && (_local1.Hero._x < _local2.myBounds.xmax)) {
var diffY = (_local1.Hero._y - _local1.Hero.myLastY);
if (diffY > 0) {
if ((_local1.Hero.myLastY <= _local2.myBounds.ymin) && (_local1.Hero._y >= _local2.myBounds.ymin)) {
_local1.Hero._y = _local2.myBounds.ymin - 1;
_local1.Hero.velocity[0] = _local1.Hero.velocity[0] * _local2.coeffRest;
_local1.Hero.velocity[1] = (-_local1.Hero.velocity[1]) * 0.8;
_local1.Hero.sitCount = -10;
_local1.Hero.moveTutorial(_local2);
if (_local1.Hero.sittingOn != _local2) {
_local1.Hero.playSound("bounce");
}
_local1.Hero.sittingOn = _local2;
_local1.Hero.collideCount = _local1.Hero.collideCount + 1;
_local3 = true;
}
} else if ((_local1.Hero.myLastY >= _local2.myBounds.ymax) && (_local1.Hero._y <= _local2.myBounds.ymax)) {
_local1.Hero._y = _local2.myBounds.ymax + 1;
_local1.Hero.velocity[0] = _local1.Hero.velocity[0] * _local2.coeffRest;
_local1.Hero.velocity[1] = (-_local1.Hero.velocity[1]) * 0.8;
_local3 = true;
_local1.Hero.playSound("bounce");
_local1.Hero.collideCount = _local1.Hero.collideCount + 1;
}
}
} else {
if ((_local1.Hero._y > _local2.myBounds.ymin) && (_local1.Hero._y < _local2.myBounds.ymax)) {
if ((_local1.Hand._x <= _local2.myBounds.xmin) && (_local1.Hero._x > _local2.myBounds.xmin)) {
_local3 = true;
_local1.Hero._x = _local2.myBounds.xmin;
} else if ((_local1.Hand._x >= _local2.myBounds.xmax) && (_local1.Hero._x < _local2.myBounds.xmax)) {
_local3 = true;
_local1.Hero._x = _local2.myBounds.xmax;
}
}
if ((_local1.Hero._x > _local2.myBounds.xmin) && (_local1.Hero._x < _local2.myBounds.xmax)) {
if (((_local1.Hand._y - 10) <= _local2.myBounds.ymin) && (_local1.Hero._y > _local2.myBounds.ymin)) {
_local3 = true;
_local1.Hero._y = _local2.myBounds.ymin;
} else if ((_local1.Hand._y >= _local2.myBounds.ymax) && (_local1.Hero._y < _local2.myBounds.ymax)) {
_local3 = true;
_local1.Hero._y = _local2.myBounds.ymax;
}
}
}
}
}
}
var animCel = 1;
var myLastX = 0;
var myLastY = 0;
var myVelX = 0;
var myVelY = 0;
var action = "alive";
var coeffRest = 0.8;
}
Symbol 867 MovieClip [__Packages.Geeza] Frame 0
class Geeza extends MovieClip
{
function Geeza () {
var _local1 = this;
super();
_local1.mysound = new Sound(_local1);
_local1.mysound.onSoundComplete = _local1.soundFinished;
_local1.headOffsetX = 0;
_local1.headOffsetY = 0;
_local1.headOffsetDist = 50;
_local1.myOrigScale = 50;
_local1.myGravity = _local1.myGravityOrig;
_local1.adjustScale(_local1.myBodyScale * 1.3);
_local1.disappear();
}
function adjustScale(whichScale) {
var _local1 = this;
_local1.myBodyScale = whichScale;
_local1._xscale = _local1.myOrigScale * _local1.myBodyScale;
_local1._yscale = _local1.myOrigScale * _local1.myBodyScale;
_root.GeezaHand._xscale = _local1.myOrigScale * _local1.myBodyScale;
_root.GeezaHand._yscale = _local1.myOrigScale * _local1.myBodyScale;
_local1.myScale = 10 * _local1.myBodyScale;
_local1.springLength = _local1.springLengthOrig * _local1.myBodyScale;
_local1.headOffsetDist = 100 * _local1.myBodyScale;
_local1.myMinLength = _local1.myOrigLength * _local1.myBodyScale;
_local1.offsetEdge = _local1._width / 2;
}
function getGrab(whichObject) {
var _local1 = this;
var _local2 = _root;
var _local3 = whichObject;
_local1.currentGrab = _local3;
_local2.GeezaHand._x = _local3._x;
_local2.GeezaHand._y = _local3._y;
_local1._x = _local2.GeezaHand._x;
_local1._y = _local2.GeezaHand._y + 50;
_local1.myLastX = _local1._x;
_local1.myLastY = _local1._y;
_local1.velocity[0] = 0;
_local1.velocity[1] = 0;
_local1.myGravity = _local1.myGravityOrig;
_local1.moveAttachments();
_local1.gotoAndPlay("wait");
_local1.action = "wait";
}
function disappear() {
var _local1 = this;
_local1.action = "hidden";
_local1._x = -200;
_root.GeezaHand._x = -230;
_local1.moveAttachments();
}
function say(whichSound) {
var _local1 = this;
_local1.mysound.stop();
_local1.mySaying = whichSound;
_local1.mysound.attachSound(whichSound);
_local1.mysound.setVolume(_root.gameControl.musicVolume);
_local1.mysound.start();
_local1.changeAction("talk");
}
function soundFinished() {
_root.Geeza.changeAction("wait");
}
function changeAction(whichAction, howManyFrames) {
var _local1 = this;
var _local2 = howManyFrames;
var _local3 = whichAction;
if (_local2 == undefined) {
_local1.myFrameCount = -1;
} else if (_local2 == 0) {
_local1.myFrameCount = -1;
} else {
_local1.myFrameCount = _local2;
_root.stop();
}
_local1.animCel = 1;
var newMarker = ("_root.Geeza." + _local3);
_root.Geeza.gotoAndPlay(_local3);
_local1.action = _local3;
}
function onEnterFrame() {
var _local1 = this;
var _local2 = _root;
var _local3 = ((!((_local2.gameControl.action == "paused") || (_local1.action == "hidden"))) ? (_local1.animCel = _local1.animCel + 1_local1.myFrameCount = _local1.myFrameCount - 1if (_local1.myFrameCount == 0) {
_local2.play()}
_local1.myLastX = _local1._x_local1.myLastY = _local1._y_local1.myLastRot = _local1._rotationvar myLag = 20var diffX = 0var diffY = 0var accelY = _local1.myGravity_local1.mouseForceX = _local1.mouseForceX + (((_local2.gameControl.myMouseDiffX * 0.25) - _local1.mouseForceX) / 20)_local1.mouseForceY = _local1.mouseForceY + (((_local2.gameControl.myMouseDiffY * 0.25) - _local1.mouseForceY) / 20)var diffX = (_local1._x - _local2.GeezaHand._x)var diffY = (_local1._y - _local2.GeezaHand._y)_local1.handDist = Math.sqrt((diffX * diffX) + (diffY * diffY))if ((_local1.handDist - _local1.springLength) < 0) {
_local1.handDist = _local1.springLength}
var springStretch = ((_local1.handDist - _local1.springLength) / _local1.myScale)_local3 = (((_local3 = 0) + (((_local1.springK / _local1.myMass) * springStretch) * _local2.sinQuick(_local1._rotation))) - (_local1.myDamping * _local1.velocity[0])) + (_local1.mouseForceX / _local1.myMass)_local1.myLastAccelX = _local1.myLastAccelY = accelY = ((accelY - (((_local1.springK / _local1.myMass) * springStretch) * _local2.cosQuick(_local1._rotation))) - (_local1.myDamping * _local1.velocity[1])) + (_local1.mouseForceY / _local1.myMass)_local1.velocity[0] = _local1.velocity[0] + (() * _local1.deltaT)_local1.velocity[1] = _local1.velocity[1] + (() * _local1.deltaT)var mySpeed = Math.sqrt((_local1.velocity[0] * _local1.velocity[0]) + (_local1.velocity[1] * _local1.velocity[1]))if ((mySpeed * _local1.myScale) > _local1.myMaxPixels) {
var myAdjust = (_local1.myMaxPixels / (mySpeed * _local1.myScale))_local1.velocity[0] = _local1.velocity[0] * myAdjust_local1.velocity[1] = _local1.velocity[1] * myAdjust}
_local1.pixelVelX = _local1.velocity[0] * _local1.myScale_local1.pixelVelY = _local1.velocity[1] * _local1.myScale_local1._x = (_local1._x + (_local1.velocity[0] * _local1.myScale)) + _local2.gameControl.scrollVel[0]_local1._y = (_local1._y + (_local1.velocity[1] * _local1.myScale)) + _local2.gameControl.scrollVel[1]_local2.GeezaHand._x = _local1.currentGrab.snapX_local2.GeezaHand._y = _local1.currentGrab.snapY_local1.moveAttachments()_local1.play()) : (_local1.stop()));
_local2 = _local3;
_local1 = _local2;
}
function moveAttachments() {
var _local1 = _root;
var _local2 = this;
var diffX = (_local2._x - _local1.GeezaHand._x);
var diffY = (_local2._y - _local1.GeezaHand._y);
var _local3 = _local2._rotation;
if (Math.abs(diffY) > 0.5) {
_local3 = 180 - (57.32 * Math.atan(diffX / diffY));
if (diffY > 0) {
_local3 = 180 + _local3;
}
}
_local2._rotation = _local3;
_local1.GeezaHand._rotation = _local2._rotation;
_local1.GeezaArmBlack.clear();
_local1.createEmptyMovieClip("GeezaArmBlack", 18);
_local1.GeezaArmBlack.lineStyle(6 * _local2.myBodyScale, 6656, 100);
_local1.GeezaArmBlack.moveTo(_local2._x, _local2._y);
_local1.GeezaArmBlack.lineTo(_local1.GeezaHand._x, _local1.GeezaHand._y);
_local1.GeezaArm.clear();
_local1.createEmptyMovieClip("GeezaArm", 19);
_local1.GeezaArm.lineStyle(3 * _local2.myBodyScale, 10066227, 100);
_local1.GeezaArm.moveTo(_local2._x, _local2._y);
_local1.GeezaArm.lineTo(_local1.GeezaHand._x, _local1.GeezaHand._y);
}
var tilt = 2;
var animCel = 1;
var origX = 0;
var origY = 0;
var bobHeight = 5;
var action = "alive";
var velocity = [0, 0];
var mySpeed = 5;
var offsetEdge = 50;
var mymotion = "across";
var powerupcount = 0;
var mypowerup = "none";
var baddiecount = 0;
var myBullets = 0;
var bulletType = "single";
var demoRot = 0;
var headOffsetX = 0;
var headOffsetY = 0;
var headOffsetDist = 0;
var armLength = 0;
var fixed = false;
var myVelY = 0;
var myVelX = 0;
var mouseForceX = 0;
var mouseForceY = 0;
var deltaT = 0.05;
var springK = 10;
var springLengthOrig = 100;
var myMass = 1;
var myGravityOrig = 10;
var myGravity = 0;
var myDamping = 2;
var myMaxPixels = 50;
var handDist = 0;
var myScale = 10;
var myBodyScale = 0.5;
var myGrabCount = 0;
var myMode = "free";
var myLastAccelX = 0;
var myLastAccelY = 0;
var myMaxStretch = 150;
var myColor = "green";
var pixelVelX = 0;
var pixelVelY = 0;
var sitCount = 10;
var myMaxY = 0;
var flickCount = 0;
var collideCount = 0;
var myOrigLength = 40;
var myMinLength = 20;
var mySaying = "";
var myFrameCount = 0;
}
Symbol 868 MovieClip [__Packages.GameSaver] Frame 0
class GameSaver
{
var gameData;
function GameSaver () {
initialize();
}
function initialize() {
var _local1 = this;
var _local2 = _root;
_local2.yourName = "";
_local1.gameData = SharedObject.getLocal("ezone_sling", "/");
if (_local1.gameData.data.activeSlot == undefined) {
} else if (_local1.gameData.data["name" + _local1.gameData.data.activeSlot] != undefined) {
_local2.yourName = _local1.gameData.data["name" + _local1.gameData.data.activeSlot];
_local2.gameControl.difficulty = _local1.gameData.data["difficulty" + _local1.gameData.data.activeSlot];
if (_local2.gameControl.difficulty == undefined) {
_local2.gameControl.difficulty = "hard";
}
}
}
function readData() {
goldTimes = 0;
maxLevel = 0;
gameScore = 0;
var i = 0;
while (i < 50) {
var goldTime = eval ("_root.gameControl.levelPreview.gold" + (i + 1));
goldTime = _root.gameControl.adjustGold(goldTime);
var thisTime = gameData.data[(("time" + gameData.data.activeSlot) + "_") + i];
if (thisTime == undefined) {
thisTime = 10000000 /* 0x989680 */;
}
if (thisTime <= (goldTime * 30)) {
goldTimes = goldTimes + 1;
}
var thisGem = gameData.data[(("gem" + gameData.data.activeSlot) + "_") + i];
if (thisGem == undefined) {
thisGem = 0;
}
levelTimes[i] = thisTime;
levelGems[i] = thisGem;
if (thisTime != 10000000) {
maxLevel = i + 1;
}
if (thisTime != 10000000) {
var myScoreSummary = _root.gameControl.scoreSummary(thisTime, i + 1);
gameScore = gameScore + myScoreSummary.total;
}
i++;
}
if (maxLevel >= _root.gameControl.levellimit) {
maxLevel = _root.gameControl.levellimit - 1;
}
lastAdded = gameData.data["submit" + gameData.data.activeSlot];
_root.gameControl.level = maxLevel + 1;
}
function updateMap() {
var i = 0;
while (i < 50) {
var myMarker = eval ("_root.level" + (i + 1));
var goldTime = eval ("_root.gameControl.levelPreview.gold" + (i + 1));
goldTime = _root.gameControl.adjustGold(goldTime);
if (levelTimes[i] <= (goldTime * 30)) {
myMarker.action = "gold";
} else if (levelTimes[i] < 10000000) {
myMarker.action = "complete";
} else if (i == maxLevel) {
myMarker.action = "unlocked";
}
i++;
}
if (_root.gameControl.level > 50) {
_root.gameControl.level = 50;
}
}
function cheat(myLevel, howMuch) {
myLevel = myLevel - 1;
var i = 0;
while (i < 50) {
var goldTime = eval ("_root.gameControl.levelPreview.gold" + (i + 1));
gameData.data[(("time" + gameData.data.activeSlot) + "_") + i] = (30 * goldTime) + howMuch;
if (i > myLevel) {
gameData.data[(("time" + gameData.data.activeSlot) + "_") + i] = undefined;
gameData.data[(("gem" + gameData.data.activeSlot) + "_") + i] = undefined;
}
i++;
}
gameData.flush();
readData();
updateMap();
}
function saveScore() {
var _local1 = this;
var _local3 = _root;
var _local2 = _local3.gameControl.level - 1;
if (_local1.levelTimes[_local2] > _local3.gameControl.animCel) {
_local1.levelTimes[_local2] = _local3.gameControl.animCel;
}
_local1.gameData.data[(("time" + _local1.gameData.data.activeSlot) + "_") + _local2] = _local1.levelTimes[_local2];
_local1.gameData.flush();
_local1.readData();
}
function saveName() {
var _local2 = this;
var _local3 = _root.Name_txt.text;
var _local1 = 0;
while (_local1 < 5) {
if (_local3 == _local2.gameData.data["name" + _local1]) {
trace(_local3 + " already exists, so using and continuing...");
_local2.gameData.data.activeSlot = _local1;
_local2.chooseName();
return;
}
if (_local2.gameData.data["name" + _local1] == undefined) {
_local2.gameData.data["name" + _local1] = _local3;
_local2.gameData.data.activeSlot = _local1;
break;
}
_local1++;
}
_root.gameControl.firstTime = true;
_local2.saveChoice();
}
function saveDifficulty() {
var _local1 = this;
_local1.gameData.data["difficulty" + _local1.gameData.data.activeSlot] = _root.gameControl.difficulty;
_local1.gameData.flush();
}
function saveChoice() {
var _local1 = this;
_local1.gameData.flush();
_root.yourName = _local1.gameData.data["name" + _local1.gameData.data.activeSlot];
_local1.readData();
_root.gameControl.choosePlayer();
}
function deleteChoice() {
var _local1 = this;
var _local3 = _root;
_local1.gameData.data["name" + _local1.gameData.data.activeSlot] = undefined;
var _local2 = 0;
while (_local2 < 50) {
delete _local1.gameData.data[(("time" + _local1.gameData.data.activeSlot) + "_") + _local2];
delete _local1.gameData.data[(("gem" + _local1.gameData.data.activeSlot) + "_") + _local2];
_local2++;
}
delete _local1.gameData.data.activeSlot;
delete _local1.gameData.data["difficulty" + _local1.gameData.data.activeSlot];
_local2 = 0;
while (_local2 < 5) {
if (_local1.gameData.data["name" + _local2] != undefined) {
_local1.gameData.data.activeSlot = _local2;
break;
}
_local2++;
}
_local1.gameData.flush();
if (_local1.gameData.data["name" + _local1.gameData.data.activeSlot] == undefined) {
_local3.yourName = "";
_local3.gotoAndPlay("title");
} else {
_local3.yourName = _local1.gameData.data["name" + _local1.gameData.data.activeSlot];
_local1.selectName(_local1.gameData.data.activeSlot);
_local1.chooseName();
}
}
function chooseName() {
_root.gotoAndPlay("chooseName");
var i = 0;
while (i < 5) {
var myText = eval (("_root.Name" + i) + ".Name_txt");
if (gameData.data["name" + i] == undefined) {
myText.text = "EMPTY";
} else {
myText.text = gameData.data["name" + i];
}
i++;
}
selectName(gameData.data.activeSlot);
}
function selectName(whichNum) {
var hotName = eval (("_root.Name" + whichNum) + ".Name_txt");
if (hotName.text == "EMPTY") {
_root.gameControl.playSound("badsnd");
return(undefined);
}
_root.gameControl.playSound("clicksnd");
var i = 0;
while (i < 5) {
var myText = eval (("_root.Name" + i) + ".Name_txt");
myText.textColor = 9547587 /* 0x91AF43 */;
i++;
}
gameData.data.activeSlot = whichNum;
_root.yourName = gameData.data["name" + gameData.data.activeSlot];
_root.gameControl.difficulty = gameData.data["difficulty" + gameData.data.activeSlot];
hotName.textColor = 4939787 /* 0x4B600B */;
}
function showscores() {
getURL ("http://www.ezone.com/login2/scores.php?game=" + gameName, "scoreboard");
}
function postscore() {
var myGamescore = gameScore;
var _local3 = gameName + String(myGamescore);
var myEncoded = "";
var _local1 = 0;
while (_local1 < _local3.length) {
var _local2 = _local3.charCodeAt(_local1) % myGamescore;
myEncoded = myEncoded + String(_local2);
trace((_local3.charAt(_local1) + ": ") + _local2);
_local1++;
}
trace(myEncoded);
var hs_submitURL = ((((((("http://www.ezone.com/login2/scores.php?action=submit&game=" + gameName) + "&score=") + myGamescore) + "&check=") + myEncoded) + "&") + String(Math.round(Math.random() * 10000)));
getURL (hs_submitURL, "scoreboard");
gameData.data["submit" + gameData.data.activeSlot] = gameScore;
trace("submitted the score");
gameData.flush();
readData();
_root.gameControl.preview();
}
function submitscore() {
var _local1 = _root;
namesData.push((((_local1.gameScore + ":") + _local1.gameControl.level) + ":") + _local1.yourName);
showScore();
}
function showScore() {
var _local3 = this;
_local3.namesData.sort(_local3.order);
_root.scoreboard = "";
var _local1 = 0;
while (_local1 < _local3.namesData.length) {
var _local2 = _local3.namesData[_local1];
_root.scoreboard = (((((((_root.scoreboard + (_local1 + 1)) + ". ") + _local2.split(":")[2]) + " Level ") + _local2.split(":")[1]) + " ") + _local2.split(":")[0]) + newline;
_local1++;
}
gotoAndPlay ("HighScores");
}
function order(a, b) {
var _local2 = Math.floor(a.split(":")[0]);
var _local1 = Math.floor(b.split(":")[0]);
if (_local2 < _local1) {
return(1);
}
if (_local2 > _local1) {
return(-1);
}
return(0);
}
var gameName = "sling";
var namesData = [];
var nameList = ["", "", "", "", ""];
var activeSlot = 0;
var levelTimes = [];
var levelGems = [];
var maxLevel = 0;
var goldTimes = 0;
var gameScore = 0;
var lastAdded = 0;
}
Symbol 240 MovieClip Frame 1
this._visible = false;
Symbol 245 MovieClip Frame 1
blackMatte._x = 0;
blackMatte._y = 0;
_root.stop();
Symbol 245 MovieClip Frame 2
_root.barWidth = bar._width;
Symbol 245 MovieClip Frame 3
PercentLoaded = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100;
if (PercentLoaded != 100) {
bar._width = (_root.barWidth * PercentLoaded) / 100;
} else {
_root.gotoAndPlay(4);
}
Symbol 245 MovieClip Frame 4
gotoAndPlay ("loadbar");
Symbol 250 Button
on (release) {
getURL ("http://www.ezone.com/affiliates/", "_blank");
}
Symbol 254 Button
on (release) {
getURL ("http://www.ezone.com/", "_blank");
}
Symbol 257 Button
on (release) {
getURL ("http://sling.ezone.com/", "_blank");
}
Symbol 258 Button
on (release) {
getURL ("http://www.ezone.com/", "_blank");
}
Symbol 268 MovieClip [grabgrey] Frame 1
#initclip 59
Object.registerClass("grabgrey", Grabtracker);
#endinitclip
Symbol 271 MovieClip [grab_spikes_red_constant] Frame 1
#initclip 18
Object.registerClass("grab_spikes_red_constant", Scroller);
#endinitclip
this.action = "spike";
Symbol 271 MovieClip [grab_spikes_red_constant] Frame 10
gotoAndPlay ("spike");
Symbol 280 MovieClip [grab spikes red] Frame 1
#initclip 19
Object.registerClass("grab spikes red", Scroller);
#endinitclip
this.action = "alive";
Symbol 280 MovieClip [grab spikes red] Frame 45
this.action = "spike";
Symbol 280 MovieClip [grab spikes red] Frame 85
this.action = "alive";
Symbol 280 MovieClip [grab spikes red] Frame 123
gotoAndPlay ("active");
Symbol 280 MovieClip [grab spikes red] Frame 125
gotoAndPlay ("spike");
Symbol 281 MovieClip [grabgreen] Frame 1
#initclip 20
Object.registerClass("grabgreen", Grabtracker);
#endinitclip
Symbol 283 MovieClip [grabblue] Frame 1
#initclip 21
Object.registerClass("grabblue", Grabtracker);
#endinitclip
Symbol 284 MovieClip [grab_spikes] Frame 1
#initclip 22
Object.registerClass("grab_spikes", Scroller);
#endinitclip
this.action = "alive";
if (this.myColor == "green") {
gotoAndPlay ("done");
}
Symbol 284 MovieClip [grab_spikes] Frame 16
this.action = "spike";
Symbol 284 MovieClip [grab_spikes] Frame 56
this.action = "alive";
Symbol 284 MovieClip [grab_spikes] Frame 71
gotoAndPlay ("active");
Symbol 284 MovieClip [grab_spikes] Frame 73
this.action = "alive";
gotoAndPlay ("done");
Symbol 307 MovieClip [grab_slime] Frame 1
#initclip 23
Object.registerClass("grab_slime", Scroller);
#endinitclip
this.action = "slimegrab";
Symbol 307 MovieClip [grab_slime] Frame 33
gotoAndPlay ("active");
Symbol 307 MovieClip [grab_slime] Frame 34
this.action = "alive";
Symbol 307 MovieClip [grab_slime] Frame 35
gotoAndPlay ("done");
Symbol 311 MovieClip [grab zap] Frame 1
#initclip 24
Object.registerClass("grab zap", Scroller);
#endinitclip
this.action = "alive";
Symbol 311 MovieClip [grab zap] Frame 16
this.action = "zapped";
Symbol 311 MovieClip [grab zap] Frame 36
this.action = "alive";
Symbol 311 MovieClip [grab zap] Frame 51
gotoAndPlay ("active");
Symbol 311 MovieClip [grab zap] Frame 53
this.action = "alive";
gotoAndPlay ("done");
Symbol 311 MovieClip [grab zap] Frame 55
gotoAndPlay ("zap");
Symbol 315 MovieClip [grab wobbler] Frame 1
#initclip 25
Object.registerClass("grab wobbler", Scroller);
#endinitclip
this.action = "alive";
Symbol 315 MovieClip [grab wobbler] Frame 94
this.action = "drop";
Symbol 315 MovieClip [grab wobbler] Frame 101
this.action = "alive";
Symbol 315 MovieClip [grab wobbler] Frame 108
this.action = "drop";
Symbol 315 MovieClip [grab wobbler] Frame 115
this.action = "alive";
Symbol 315 MovieClip [grab wobbler] Frame 124
this.action = "drop";
Symbol 315 MovieClip [grab wobbler] Frame 132
this.action = "alive";
Symbol 315 MovieClip [grab wobbler] Frame 140
this.action = "drop";
Symbol 315 MovieClip [grab wobbler] Frame 147
this.action = "alive";
Symbol 315 MovieClip [grab wobbler] Frame 153
this.action = "drop";
Symbol 315 MovieClip [grab wobbler] Frame 159
this.action = "alive";
Symbol 315 MovieClip [grab wobbler] Frame 167
this.action = "drop";
Symbol 315 MovieClip [grab wobbler] Frame 173
gotoAndPlay ("active");
Symbol 320 MovieClip [grab spin] Frame 1
#initclip 26
Object.registerClass("grab spin", Scroller);
#endinitclip
Symbol 320 MovieClip [grab spin] Frame 37
gotoAndPlay(this.myColor);
Symbol 320 MovieClip [grab spin] Frame 46
gotoAndPlay(this.myColor);
Symbol 320 MovieClip [grab spin] Frame 80
gotoAndPlay(this.myColor);
Symbol 320 MovieClip [grab spin] Frame 89
gotoAndPlay(this.myColor);
Symbol 321 MovieClip [grab spikes slower] Frame 1
#initclip 27
Object.registerClass("grab spikes slower", Scroller);
#endinitclip
this.action = "alive";
Symbol 321 MovieClip [grab spikes slower] Frame 16
this.action = "spike";
Symbol 321 MovieClip [grab spikes slower] Frame 109
this.action = "alive";
Symbol 321 MovieClip [grab spikes slower] Frame 124
gotoAndPlay ("active");
Symbol 321 MovieClip [grab spikes slower] Frame 126
this.action = "alive";
gotoAndPlay ("done");
Symbol 321 MovieClip [grab spikes slower] Frame 128
gotoAndPlay ("spike");
Symbol 332 MovieClip [grab rocket] Frame 1
#initclip 28
Object.registerClass("grab rocket", Scroller);
#endinitclip
Symbol 332 MovieClip [grab rocket] Frame 2
gotoAndPlay(this.myColor);
Symbol 332 MovieClip [grab rocket] Frame 4
gotoAndPlay(this.myColor);
Symbol 332 MovieClip [grab rocket] Frame 71
stop();
Symbol 341 MovieClip [grab puspop] Frame 1
#initclip 29
Object.registerClass("grab puspop", Scroller);
#endinitclip
this.action = "alive";
Symbol 341 MovieClip [grab puspop] Frame 2
if (_root.gameControl.difficulty == "easy") {
gotoAndPlay (1);
}
Symbol 341 MovieClip [grab puspop] Frame 93
this.action = "drop";
Symbol 341 MovieClip [grab puspop] Frame 133
this.action = "alive";
Symbol 341 MovieClip [grab puspop] Frame 143
gotoAndPlay ("active");
Symbol 342 MovieClip [grab pop] Frame 1
#initclip 30
Object.registerClass("grab pop", Scroller);
#endinitclip
this.action = "alive";
Symbol 342 MovieClip [grab pop] Frame 80
this.action = "drop";
Symbol 342 MovieClip [grab pop] Frame 120
this.action = "alive";
Symbol 347 MovieClip [grab magic disappear] Frame 1
#initclip 31
Object.registerClass("grab magic disappear", Scroller);
#endinitclip
this.action = "alive";
Symbol 347 MovieClip [grab magic disappear] Frame 98
this.action = "drop";
Symbol 347 MovieClip [grab magic disappear] Frame 154
this.action = "alive";
Symbol 358 MovieClip [grab lever float] Frame 1
#initclip 32
Object.registerClass("grab lever float", Scroller);
#endinitclip
Symbol 358 MovieClip [grab lever float] Frame 2
gotoAndPlay ("active");
Symbol 358 MovieClip [grab lever float] Frame 14
gotoAndPlay ("locked");
Symbol 359 MovieClip [grab lever] Frame 1
#initclip 33
Object.registerClass("grab lever", Scroller);
#endinitclip
Symbol 359 MovieClip [grab lever] Frame 2
gotoAndPlay ("active");
Symbol 359 MovieClip [grab lever] Frame 14
gotoAndPlay ("locked");
Symbol 360 MovieClip [grab jumping] Frame 1
#initclip 34
Object.registerClass("grab jumping", Scroller);
#endinitclip
Symbol 360 MovieClip [grab jumping] Frame 173
stop();
Symbol 361 MovieClip [grab fast jumping] Frame 1
#initclip 35
Object.registerClass("grab fast jumping", Scroller);
#endinitclip
Symbol 361 MovieClip [grab fast jumping] Frame 130
stop();
Symbol 380 MovieClip [grab grabber] Frame 1
#initclip 36
Object.registerClass("grab grabber", Scroller);
#endinitclip
this.action = "alive";
Symbol 380 MovieClip [grab grabber] Frame 100
this.action = "drop";
Symbol 380 MovieClip [grab grabber] Frame 319
this.action = "alive";
Symbol 380 MovieClip [grab grabber] Frame 385
stop();
Symbol 381 MovieClip [grab full jump] Frame 1
#initclip 37
Object.registerClass("grab full jump", Scroller);
#endinitclip
Symbol 381 MovieClip [grab full jump] Frame 230
stop();
Symbol 382 MovieClip [grab full fast jump] Frame 1
#initclip 38
Object.registerClass("grab full fast jump", Scroller);
#endinitclip
Symbol 382 MovieClip [grab full fast jump] Frame 151
stop();
Symbol 386 MovieClip [grab flingup] Frame 1
#initclip 39
Object.registerClass("grab flingup", Scroller);
#endinitclip
this.action = "alive";
Symbol 386 MovieClip [grab flingup] Frame 83
this.action = "drop";
Symbol 386 MovieClip [grab flingup] Frame 90
this.action = "alive";
Symbol 386 MovieClip [grab flingup] Frame 138
this.action = "alive";
Symbol 412 MovieClip [grab crumble] Frame 1
#initclip 40
Object.registerClass("grab crumble", Scroller);
#endinitclip
this.action = "alive";
Symbol 412 MovieClip [grab crumble] Frame 74
this.action = "drop";
Symbol 412 MovieClip [grab crumble] Frame 158
this.action = "alive";
Symbol 413 MovieClip [grab] Frame 1
#initclip 41
Object.registerClass("grab", Scroller);
#endinitclip
Symbol 413 MovieClip [grab] Frame 2
stop();
Symbol 443 MovieClip [cannon_slime] Frame 1
#initclip 42
Object.registerClass("cannon_slime", Scroller);
#endinitclip
Symbol 443 MovieClip [cannon_slime] Frame 2
this.action = "cannon_slime";
gotoAndPlay ("wait");
Symbol 443 MovieClip [cannon_slime] Frame 3
this.action = "wait";
_root.Hero.makeWait();
Symbol 443 MovieClip [cannon_slime] Frame 20
_root.Hero.shootUp(this);
_root.Hero.changeElement("slime");
Symbol 443 MovieClip [cannon_slime] Frame 28
this.action = "cannon_slime";
Symbol 443 MovieClip [cannon_slime] Frame 33
gotoAndPlay ("wait");
Symbol 446 MovieClip [cannon_shootup] Frame 1
#initclip 43
Object.registerClass("cannon_shootup", Scroller);
#endinitclip
Symbol 446 MovieClip [cannon_shootup] Frame 2
this.action = "cannon_slime";
gotoAndPlay ("wait");
Symbol 446 MovieClip [cannon_shootup] Frame 3
this.action = "wait";
_root.Hero.makeWait();
Symbol 446 MovieClip [cannon_shootup] Frame 20
_root.Hero.shootUp(this);
Symbol 446 MovieClip [cannon_shootup] Frame 28
this.action = "cannon_slime";
Symbol 446 MovieClip [cannon_shootup] Frame 33
gotoAndPlay ("wait");
Symbol 455 MovieClip [warp_win_map] Frame 1
#initclip 44
Object.registerClass("warp_win_map", Scroller);
#endinitclip
Symbol 455 MovieClip [warp_win_map] Frame 2
this.action = "alive";
Symbol 455 MovieClip [warp_win_map] Frame 48
gotoAndPlay(this.action);
Symbol 455 MovieClip [warp_win_map] Frame 50
_root.Hero.changeAction("suckup");
_root.gameControl.action = "map";
Symbol 455 MovieClip [warp_win_map] Frame 85
this.action = "dead";
Symbol 455 MovieClip [warp_win_map] Frame 86
gotoAndPlay(this.action);
Symbol 461 MovieClip [warp_win_bonusgame] Frame 1
#initclip 45
Object.registerClass("warp_win_bonusgame", Scroller);
#endinitclip
Symbol 461 MovieClip [warp_win_bonusgame] Frame 2
this.action = "alive";
Symbol 461 MovieClip [warp_win_bonusgame] Frame 48
gotoAndPlay(this.action);
Symbol 461 MovieClip [warp_win_bonusgame] Frame 50
_root.Hero.changeAction("suckup");
_root.gameControl.action = "bonusgame";
Symbol 461 MovieClip [warp_win_bonusgame] Frame 85
this.action = "dead";
Symbol 461 MovieClip [warp_win_bonusgame] Frame 86
gotoAndPlay(this.action);
Symbol 467 MovieClip [warp_slime] Frame 1
#initclip 46
Object.registerClass("warp_slime", Scroller);
#endinitclip
Symbol 467 MovieClip [warp_slime] Frame 2
gotoAndPlay(this.action);
Symbol 467 MovieClip [warp_slime] Frame 84
gotoAndPlay(this.action);
Symbol 467 MovieClip [warp_slime] Frame 86
_root.Hero.changeAction("suckup");
Symbol 467 MovieClip [warp_slime] Frame 127
this.action = "dead";
Symbol 467 MovieClip [warp_slime] Frame 128
gotoAndPlay(this.action);
Symbol 474 MovieClip [warp_gem] Frame 1
#initclip 47
Object.registerClass("warp_gem", Scroller);
#endinitclip
Symbol 474 MovieClip [warp_gem] Frame 2
gotoAndPlay(this.action);
Symbol 474 MovieClip [warp_gem] Frame 48
gotoAndPlay(this.action);
Symbol 474 MovieClip [warp_gem] Frame 50
_root.Hero.changeAction("suckup");
Symbol 474 MovieClip [warp_gem] Frame 85
this.action = "dead";
Symbol 474 MovieClip [warp_gem] Frame 86
gotoAndPlay(this.action);
Symbol 475 MovieClip [warp] Frame 1
#initclip 48
Object.registerClass("warp", Scroller);
#endinitclip
Symbol 475 MovieClip [warp] Frame 2
gotoAndPlay(this.action);
Symbol 475 MovieClip [warp] Frame 48
gotoAndPlay(this.action);
Symbol 475 MovieClip [warp] Frame 50
_root.Hero.changeAction("suckup");
Symbol 475 MovieClip [warp] Frame 85
this.action = "dead";
Symbol 475 MovieClip [warp] Frame 86
gotoAndPlay(this.action);
Symbol 477 MovieClip [wall_mc] Frame 1
#initclip 49
Object.registerClass("wall_mc", Wall);
#endinitclip
Symbol 479 MovieClip [wall] Frame 1
#initclip 50
Object.registerClass("wall", Wall);
#endinitclip
Symbol 482 MovieClip [long spikes] Frame 1
#initclip 51
Object.registerClass("long spikes", Wall);
#endinitclip
this.action = "spike";
Symbol 482 MovieClip [long spikes] Frame 44
gotoAndPlay ("alive");
Symbol 493 MovieClip [lava floor] Frame 1
#initclip 52
Object.registerClass("lava floor", Scroller);
#endinitclip
this.action = "fired";
Symbol 493 MovieClip [lava floor] Frame 134
this.action = "alive";
gotoAndPlay ("fired");
Symbol 513 MovieClip [headonfire] Frame 1
#initclip 53
Object.registerClass("headonfire", Freebody);
#endinitclip
Symbol 593 MovieClip [head] Frame 1
#initclip 54
Object.registerClass("head", Freebody);
#endinitclip
Symbol 593 MovieClip [head] Frame 219
gotoAndPlay ("alive");
Symbol 593 MovieClip [head] Frame 241
gotoAndPlay(this.action);
Symbol 593 MovieClip [head] Frame 361
gotoAndPlay ("dying");
Symbol 593 MovieClip [head] Frame 481
gotoAndPlay ("fire");
Symbol 593 MovieClip [head] Frame 705
gotoAndPlay ("hot");
Symbol 593 MovieClip [head] Frame 933
gotoAndPlay ("slime");
Symbol 593 MovieClip [head] Frame 1053
gotoAndPlay ("dying_fire");
Symbol 593 MovieClip [head] Frame 1173
gotoAndPlay ("dying_slime");
Symbol 593 MovieClip [head] Frame 1293
gotoAndPlay ("dying_slime");
Symbol 597 MovieClip [head2] Frame 1
#initclip 55
Object.registerClass("head2", Freebody);
#endinitclip
Symbol 651 MovieClip [geeza] Frame 1
#initclip 56
Object.registerClass("geeza", Geeza);
#endinitclip
Symbol 651 MovieClip [geeza] Frame 86
gotoAndPlay(this.action);
Symbol 651 MovieClip [geeza] Frame 112
gotoAndPlay(this.action);
Symbol 651 MovieClip [geeza] Frame 148
gotoAndPlay(this.action);
Symbol 651 MovieClip [geeza] Frame 168
gotoAndPlay(this.action);
Symbol 651 MovieClip [geeza] Frame 194
gotoAndPlay(this.action);
Symbol 651 MovieClip [geeza] Frame 230
gotoAndPlay(this.action);
Symbol 676 MovieClip [badguy] Frame 1
#initclip 57
Object.registerClass("badguy", Scroller);
#endinitclip
this.action = "spike";
Symbol 676 MovieClip [badguy] Frame 99
this.action = "spike";
gotoAndPlay ("norm");
Symbol 722 MovieClip [baddie_slime] Frame 1
#initclip 58
Object.registerClass("baddie_slime", Scroller);
#endinitclip
DamageBar._visible = false;
DamageBarMatte._visible = false;
Symbol 722 MovieClip [baddie_slime] Frame 2
this.action = "slime";
Symbol 722 MovieClip [baddie_slime] Frame 134
this.action = "slime";
gotoAndPlay ("norm");
Symbol 722 MovieClip [baddie_slime] Frame 180
this.disappear();
Symbol 722 MovieClip [baddie_slime] Frame 182
gotoAndPlay ("dead");
Symbol 731 Button
on (release) {
jumpURL("http://www.ezone.com/");
}
Symbol 736 Button
on (release) {
_root.gameControl.toggleMute();
}
Symbol 737 Button
on (release) {
jumpURL("http://www.ezone.com/affiliates/");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 738 Button
on (release) {
jumpURL("http://sling.ezone.com/");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 740 Button
on (release) {
jumpURL("http://www.ezone.com/");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 743 Button
on (release) {
_root.gameControl.playSound("clicksnd");
_root.gameControl.choosePlayer();
_global.gameLock.checkValid();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 747 Button
on (release) {
_root.gameControl.playSound("clicksnd");
gameSaver.chooseName();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 749 MovieClip Frame 36
_root.Hero.initialize();
Symbol 749 MovieClip Frame 107
stop();
Symbol 753 Button
on (release) {
_root.gameControl.playSound("clicksnd");
gameSaver.saveName();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 756 Button
on (release) {
_root.gameControl.playSound("clicksnd");
Selection.setFocus(null);
_root.gameControl.showTitle();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 766 Button
on (release) {
_root.gameControl.playSound("clicksnd");
_root.gameControl.chooseDifficulty("hard");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 770 Button
on (release) {
_root.gameControl.playSound("clicksnd");
_root.gameControl.chooseDifficulty("medium");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 773 Button
on (release) {
_root.gameControl.playSound("clicksnd");
_root.gameControl.chooseDifficulty("easy");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 778 Button
on (release) {
_root.gameControl.playSound("clicksnd");
gameSaver.deleteChoice();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 780 Button
on (release) {
_root.gameControl.playSound("clicksnd");
gameSaver.saveChoice();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 783 Button
on (release) {
_root.gameControl.playSound("clicksnd");
gotoAndPlay ("newName");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 784 Button
on (release) {
_root.gameControl.playSound("clicksnd");
_root.gameControl.showTitle();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 785 Button
on (release) {
jumpURL("http://sling.ezone.com");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 786 Button
on (release) {
_root.gameControl.playSound("clicksnd");
_root.gameControl.frommap = true;
_root.gameControl.startLevel();
}
on (rollOver) {
_root.gameControl.preview();
_root.gameControl.explodeButton();
}
Symbol 791 Button
on (release) {
_root.gameControl.playSound("clicksnd");
_root.gameControl.showMap();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 817 Button
on (release) {
_root.gameControl.playSound("clicksnd");
_root.gameControl.startFirstLevel();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 818 MovieClip Frame 2
stop();
Symbol 818 MovieClip Frame 4
stop();
Symbol 818 MovieClip Frame 8
stop();
Symbol 818 MovieClip Frame 10
stop();
Symbol 818 MovieClip Frame 12
stop();
Symbol 825 MovieClip Frame 16
this.gotoAndPlay(1);
Symbol 829 Button
on (release) {
_root.gameControl.playSound("clicksnd");
this.gotoAndStop(1);
if (_root.gameControl.lastLevel >= _root.gameControl.levellimit) {
_root.gotoAndPlay("upsell");
} else if ((_root.gameControl.lastLevel % 5) == 0) {
_root.gameControl.goCutScene("csWin" + _root.gameControl.lastLevel);
} else {
_root.gameControl.showMap();
}
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 830 MovieClip Frame 1
this.bonus_level._visible = false;
this.bonus_yourtime._visible = false;
this.bonus_time._visible = false;
this.bonus_gold._visible = false;
this.bonus_score._visible = false;
stop();
Symbol 830 MovieClip Frame 5
this.bonus_level._visible = true;
_root.gameControl.explodeScore(390, 210, "note1.aif");
Symbol 830 MovieClip Frame 40
this.bonus_yourtime._visible = true;
if (_root.gameControl.madeGold) {
_root.gameControl.explodeScore(490, 250, "note2.aif");
}
this.bonus_time._visible = true;
Symbol 830 MovieClip Frame 70
if (_root.gameControl.madeGold) {
this.bonus_gold._visible = true;
_root.gameControl.explodeScore(260, 140, "sparkle.aif");
_root.gameControl.playSound("note3.aif");
}
this.bonus_score._visible = true;
Symbol 830 MovieClip Frame 84
this.gotoAndPlay("loop");
Symbol 831 Button
on (release) {
_root.gameControl.togglePause();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 837 Button
on (release) {
jumpURL("http://www.ezone.com/");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 838 Button
on (release) {
_root.gameControl.playSound("clicksnd");
_root.Hero.changeAction("wait");
_root.gameControl.showTitle();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 848 Button
on (release) {
getURL (_global.gameURL, "_parent");
}
Symbol 849 Button
on (release) {
_root.gameControl.swapheads("female");
_root.gameControl.showTitle();
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 854 Button
on (release) {
jumpURL("http://sling.ezone.com/");
}
on (rollOver) {
_root.gameControl.explodeButton();
}
Symbol 855 Button
on (release) {
_root.gameControl.swapheads("female");
_root.gameControl.showMap();
}
on (rollOver) {
_root.gameControl.explodeButton();
}