Frame 2
stopAllSounds();
_root.bytesLoaded = _root.getBytesLoaded();
_root.bytesTotal = _root.getBytesTotal();
_root.percentLoaded = Math.round(100 * (_root.bytesLoaded / _root.bytesTotal));
_root.percentLoadedText = _root.percentLoaded + "%";
_root.bar.gotoAndStop(percentLoaded);
Stage.scaleMode = "noScale";
Stage.showMenu = false;
_quality = "high";
Frame 3
if (_root.percentLoaded == 100) {
gotoAndStop (4);
} else {
gotoAndPlay (2);
}
Frame 4
stop();
Frame 5
function setMusic(music) {
if (musicSwitch == true) {
stopAllSounds();
MUSIC.gotoAndStop(music);
MUSIC.gotoAndStop(1);
}
lastSound = music;
}
function loadSave(destructive) {
if (savefile.data.saveActive == undefined) {
portalButtonSwitch = false;
}
if ((savefile.data.saveActive != undefined) && (destructive != true)) {
medalArray = savefile.data.medalArray;
portalButtonSwitch = savefile.data.portalButtonSwitch;
trace("SAVE LOADED");
} else {
medalArray = [false, false, false, false, false, false, false, false, false];
trace("SAVE CREATED");
updateSave();
}
}
function updateSave() {
savefile.data.medalArray = medalArray;
savefile.data.portalButtonSwitch = portalButtonSwitch;
savefile.data.saveActive = true;
trace("SAVE UPDATED");
}
function newMedal(medal) {
}
function gotoFrame(ID) {
FADER._alpha = 100;
_root.gotoAndStop(ID);
}
function __rankz_send__(par1, par2, par3, par4) {
}
Color.prototype.setTint = function (r, g, b, amount) {
var _local2 = new Object();
_local2.ra = (_local2.ga = (_local2.ba = 100 - amount));
var _local3 = amount / 100;
_local2.rb = r * _local3;
_local2.gb = g * _local3;
_local2.bb = b * _local3;
this.setTransform(_local2);
};
var musicSwitch = true;
var lastSound = "";
createEmptyMovieClip("MEDALS", 10);
var medalArray;
var savefile = SharedObject.getLocal("SHIFT2SAVENORM");
loadSave(false);
var medalCounter = 0;
stop();
urlStart = _url.indexOf("://") + 3;
urlEnd = _url.indexOf("/", urlStart);
domain = _url.substring(urlStart, urlEnd);
LastDot = domain.lastIndexOf(".") - 1;
domEnd = domain.lastIndexOf(".", LastDot) + 1;
domain = domain.substring(domEnd, domain.length);
domain.toLowerCase();
if (((((domain != "") && (domain != "reflexive.com")) && (domain != "reflexive.com")) && (domain != "reflexive.net")) && (domain != "gamecentersolution.com")) {
}
play();
Instance of Symbol 8 MovieClip "FADER" in Frame 5
onClipEvent (enterFrame) {
if (_alpha > 0) {
_alpha = (_alpha - 5);
}
}
Frame 6
function onEnterFrame() {
if (MOUSEHAND > 0) {
MOUSEHAND = MOUSEHAND - 1.5;
}
if (resetAllActive == true) {
resetTimer++;
if (resetTimer == 40) {
mouseInverse = false;
WS_Active = false;
WC_Active = false;
FM_Active = false;
FC_Active = false;
YS_Active = false;
resetAllActive = false;
menuAdventureDone = true;
menuText.text = "AH WELL, HAVE FUN WITH THE GAME, OK? AND NEXT TIME, REMEMBER TO ALWAYS FOLLOW INSTRUCTIONS.";
}
} else if (YS_Active == true) {
if (YS_Counter > 5) {
menuText.text = "GO ON THEN, YOU DESERVE A MEDAL FOR YOUR PATIENCE.CLICK THE ANGRY FACE AGAIN TO END THIS TORTURE.";
badFace._visible = true;
}
} else if (FC_Active == true) {
FM_Menu._y = FM_Menu._y + ((40 - FM_Menu._y) / 5);
if ((FC_Counter > 12) && (FM_Menu._alpha > 0)) {
menuText.text = ("YOU HAVE CLICKED IT " + FC_Counter) + " TIMES OUT OF 40.";
}
} else if (FM_Active == true) {
if (_ymouse > 80) {
FM_Menu._y = FM_Menu._y + ((40 - FM_Menu._y) / 5);
FM_Active_Switch = false;
} else {
FM_Menu._y = _ymouse - 40;
if ((FM_Menu._y < -10) && (FM_Active_Switch == false)) {
FM_Counter++;
if (FM_Counter == 2) {
menuText.text = "LOL";
FM_Counter++;
} else if (FM_Counter == 4) {
menuText.text = "IF YOU'RE FAST ENOUGH YOU CAN CLICK IT JUST BEFORE IT VANISHES.";
FM_Counter++;
} else if (FM_Counter == 8) {
menuText.text = "KEEP TRYING!";
FM_Counter++;
} else if (FM_Counter == 12) {
menuText.text = "OK OK, I GIVE UP, I'LL LET YOU PLAY THE GAME AGAIN... IF YOU CLICK THE SETTINGS BUTTON 40 TIMES.";
FC_Active = true;
}
FM_Active_Switch = true;
}
}
}
if (WS_Active == false) {
WS._x = -800;
} else {
Mouse.show();
WS._x = 0;
}
buttonShield._visible = true;
if ((mouseInverse == true) && (WS_Active == false)) {
buttonShield._x = 250;
var _local1 = 500 - _xmouse;
var _local2 = 500 - _ymouse;
MOUSE._x = MOUSE._x + ((_local1 - MOUSE._x) / 5);
MOUSE._y = MOUSE._y + ((_local2 - MOUSE._y) / 5);
} else {
buttonShield._x = -200;
}
if (_alpha < 100) {
_alpha = (_alpha + 10);
}
}
function flipTitleScreen() {
if (_rotation == 0) {
_rotation = 180;
_x = 500;
_y = 500;
} else {
_rotation = 0;
_x = 0;
_y = 0;
}
}
function onMouseMove() {
if (FM_Active == false) {
if ((mouseInverse == false) && (WS_Active == false)) {
MOUSE._x = _xmouse;
MOUSE._y = _ymouse;
} else if (WS_Active == false) {
Mouse.hide();
}
updateAfterEvent();
} else {
Mouse.show();
MOUSE._visible = false;
}
}
LevelNo = 0;
refScore = 0;
refHold = undefined;
editorActive = false;
stop();
setMusic("title");
var playTime = 0;
buttonShield._alpha = 0;
var WS_Active = false;
var WC_Active = false;
var instLevel = 0;
var FM_Active = false;
var FM_Active_Switch = false;
var FM_Counter = 0;
var FC_Active = false;
var FC_Counter = 0;
var YS_Active = false;
var YS_Counter = 0;
var resetAllActive = false;
var resetTimer = 0;
var menuAdventureDone = false;
MS._visible = false;
MSPos = MS._x;
MS._x = 2000;
if (medalArray[7] == true) {
badFace._x = 2000;
}
var menuAdventureBegun = false;
var MOUSEHAND = 0;
Mouse.hide();
var mouseInverse = false;
Instance of Symbol 157 MovieClip "buttonShield" in Frame 6
on (release) {
_rotation = 0;
}
Instance of Symbol 163 MovieClip "FM_Menu" in Frame 6
onClipEvent (load) {
_alpha = 200;
}
on (release) {
if (_parent.FC_Active == true) {
_alpha = (_alpha - 6);
_parent.FC_Counter++;
if (_alpha <= 0) {
_parent.FC_Counter = 0;
_parent.menuText.text = "OH...WHERE DID IT GO? MAYBE YOU SHOULD TRY THOSE BUTTONS AGAIN. ARE THEY WORKING NOW? IT WOULD HAVE BEEN BETTER IF YOU'D LISTENED TO ME IN THE FIRST PLACE, RIGHT?";
_parent.YS_Active = true;
_x = 1000;
_y = 1000;
}
}
}
Frame 7
Mouse.show();
Frame 8
Mouse.show();
Frame 10
var i = 0;
while (i < medalArray.length) {
if (medalArray[i] == true) {
this["med_" + i]._alpha = 100;
}
i++;
}
Frame 11
var secretCount = 0;
var i = 0;
while (i < medalArray.length) {
if (medalArray[i] == true) {
secretCount++;
}
i++;
}
if (secretCount < 4) {
itankBut._alpha = 20;
}
if (secretCount < 7) {
clasBut._alpha = 20;
}
Frame 14
stopAllSounds();
Instance of Symbol 8 MovieClip in Frame 14
onClipEvent (load) {
if (_root.lastFrame == "EXTRAS") {
_parent.outputText.text = "LOADING SHIFT-ED PLEASE WAIT...";
} else {
_parent.outputText.text = "EXITING SHIFT-ED PLEASE WAIT...";
}
var timer = (80 + random(20));
}
onClipEvent (enterFrame) {
timer--;
if (timer == 0) {
if (_root.lastFrame == "EXTRAS") {
_root.gotoFrame("EDITORTITLE");
} else {
_root.gotoFrame("EXTRAS");
}
}
}
Frame 15
stop();
editorActive = true;
Stage.scaleMode = "noScale";
Stage.showMenu = false;
_root.backTo = "";
urlStart = _url.indexOf("://") + 3;
urlEnd = _url.indexOf("/", urlStart);
domain = _url.substring(urlStart, urlEnd);
LastDot = domain.lastIndexOf(".") - 1;
domEnd = domain.lastIndexOf(".", LastDot) + 1;
domain = domain.substring(domEnd, domain.length);
domain = domain.toLowerCase();
if (((domain != "") && (domain != "armorblog.com")) && (domain != "wii-flash.com")) {
_root.gotoAndStop("block");
}
Instance of Symbol 220 MovieClip in Frame 15
on (release) {
_root.backTo = "TITLE";
_root.gotoAndStop("EDITOR");
}
Instance of Symbol 220 MovieClip in Frame 15
on (release) {
_root.backTo = "LOADER";
_root.gotoAndStop("LOADER");
}
Instance of Symbol 220 MovieClip in Frame 15
on (release) {
_root.backTo = "SAMPLES";
_root.gotoAndStop("SAMPLES");
}
Instance of Symbol 220 MovieClip in Frame 15
on (release) {
_root.lastFrame = "EDITOR";
_root.gotoFrame("EDITORLOAD");
}
Frame 16
stop();
Instance of Symbol 220 MovieClip in Frame 16
on (release) {
_root.editorLevel = _parent.LevelCodeBox.text;
_root.gotoAndStop("EDITOR");
}
Instance of Symbol 220 MovieClip in Frame 16
on (release) {
_root.gotoAndStop("EDITORTITLE");
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_root.editorLevel = "0Z10Z10Z10Z10Z10XX110Z10Z10Z0Z10Z10Z10Z10Z18XX110Z10Z10Z0Z10Z10Z10Z10Z10XX110Z10Z10Z0Z10Z100Z0Z10Z10Z100Z20X0Z10Z10Z0Z10Z10Z10Z10Z10Z100Z20X0Z10Z10Z00Z00Z0Z10Z10Z10XXY10Z10Z00Z00ZACZ00XXY0Z10Z00Z00ZA020Z10XXY0Z10Z00Z00ZA020Z10XX10Z10Z10Z00Z00Z00ZABXY10Z10Z10Z00Z00Z00Z00Z00Z90XX10Z10Z10Z00Z00Z00Z00Z00Z00XXXY";
_root.gotoAndStop("EDITOR");
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_parent.LevelCodeBox.text = "10Z10Z10Z10Z1211210Z10Z00Z9211200Z10Z10Z10Z101125011210Z1211210Z00Z10Z10Z00Z10Z10Z1011210Z10Z10Z1211200Z10Z10Z10ZC0010Z10Z10Z10Z10Z10Z00Z1211210Z10ZC0080Z10Z10Z00Z10Z10112C001211210Z10Z10ZB0Z10Z10Z00Z00Z10ZC0010Z10Z10Z10ZA010Z10Z10ZC0010ZC0050Z00Z10Z00ZA010Z10Z10ZB0ZB0ZC0010ZAB10Z10Z10Z10Z00ZC0010ZB0Z00ZA010Z10Z10ZA020Z10Z101121011210Z10Z10Z10Z10Z00ZA020Z10Z10Z10Z10Z10Z10Z10Z10Z00ZA020Z10Z5311210Z10Z10Z10Z10Z10Z";
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_parent.LevelCodeBox.text = "70011A080Z50012600115201102001B2001020010200112001AB10ZCZ300113001C011C11C10200110Z12001A010ZC002C122001C012C1120010200110Z1C0110011C010ZC002C122211C012C112001020011C002001ACZC002C122001C012C112001020011C002211AA002C122001C012C11200102001120Z0211C003021150211032112C122001C012C11200102001020Z0211AA002C122001C012C112001020010201102001AA002C122001C012C1120010200102011AA00432112C122001C012C11200102001020110201100211020Z3212120Z300122001C012C11200151001522110201102011020Z3212532121321222001930012C1120011C1";
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_parent.LevelCodeBox.text = "104Z04Z24122Z12Z12Z1234112Z12Z12Z12Z123Z02412824Z0Z52411A010Z00Z50ZA092112024120241210Z12411A010Z00ZA010Z10Z02412024Z0ZAB10Z00ZACZ53411B24Z0ZAB10Z10Z11411B0Z00311A010ZAAAA0Z0041153Z10Z10ZAAAAC0303Z21121211210ZAB00Z00ZAB504110341100Z00Z00Z00Z01411014115341201411C0011411014125341100Z00Z00Z00Z10Z10Z10Z01411C0011411414Z3Z13Z11412114121141210Z014110141101411C006141161411714125141213Z014120141101411014110141101411004116141161411";
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_parent.LevelCodeBox.text = "13232132320Z103Z0Z112Z12Y11BZ1C00404Z012103232C0012Z12Z13Z12Z41132B041103Z02Z1012103ZB3ZA012Y11B041103Z501121012103ZAA0012Z00411C0013Z104Z04Z01212323223232C00531210012112Z304Z3Z10Z10Z10Z13112104Y153112Y2112104Z3Z104Z0Z6211292Z521121041140312104Z041132522104Z3Z104Z0Z6211202Z4032112Z0Z10212113Z2011260312C0013Z10Z10Z10Z02Z12Z30331A02011240112BZ113Z13Z12Z02Z00332AB203221232213Z03Z0Z110Z12ZB0112AB203227Z210Z10Z10Z10Z12Z52321AA005Z12Z12Z252Z8Z140332Z11";
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_root.gotoAndStop("TITLE");
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_root.editorLevel = "12Z13Z13Z13Z13Z13Z13Z13Z13Z13Z13Z10Z12Z13Z13Z13Z13Z13Z13Z02Z13Z13Z13Z13Z12Z5Z1AA0013ZAA0010Z12ZAAB013Z92ZA082Z10Z12ZAAB013ZAA0010Z12ZA010ZAAAC10Z10Z12ZA010ZAAB010Z10Z10Z12ZA010ZAA0010Z10Z10Z10Z12ZA010ZAB10Z10Z10Z10Z10Z12ZA010ZA010Z10Z10Z10Z10Z10Z12ZA010Z53ZC0010Z10Z10Z10Z10Z10Z12ZC0050Z10ZA010Z10Z10Z10Z10Z10Z";
_root.gotoAndStop("EDITOR");
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_root.editorLevel = "AAB0823Z0Z10Z10Z10Z10Z10412AAAC10Z10Z10Z10Z10Z10ZAAB033Z10Z10Z10Z10Z10Z10ZAB00Z00Z00Z10Z4041210Z10Z10Z10ZAAB00343110Z10Z10Z10Z10Z10ZAAB03322110Z10Z10Z10Z10Z10ZAB00Z00Z00Z10Z10Z10Z10Z10Z10ZAAC0Z0252110Z4042210Z10Z10Z12521AAC0Z3333110Z10Z10Z10Z10Z10422ACZACZ10Z10Z10Z10Z10Z10ZB012200ZAB10Z4043210Z033Z0Z10ZB0Z00ZAB10Z10Z10Z033119231210Z";
_root.gotoAndStop("EDITOR");
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_root.editorLevel = "1002150032C521005262042C21C0070011600316003160031500211002110021C521002162042C21B0031600216003160031600311002110021C52100216204210021B0031600216002160031600311002110021C5210021C2110021B0031600216002160021600311002110021C5210021C2110021B0031AA001002110021C5210021C2110021AAAC1002110021C5210021C2110021AA31C00800311002110021C5210021C2110021AAAC1002110021C5210021C2110021C21AA00600Z0021100216205210051C2110021AA0160011600Z00211002162052C21C2110021AB60011600116001192052100216205270051C2170042C007002160011600116001170031";
_root.gotoAndStop("EDITOR");
}
Instance of Symbol 220 MovieClip in Frame 17
on (release) {
_root.editorLevel = "13232132320Z103Z0Z112Z12Y11BZ1C00404Z012103232C0012Z12Z13Z12Z41132B041103Z02Z1012103ZB3ZA012Y11B041103Z501121012103ZAA0012Z00411C0013Z104Z04Z01212323223232C00531210012112Z304Z3Z10Z10Z10Z13112104Y153112Y2112104Z3Z104Z0Z6211292Z521121041140312104Z041132522104Z3Z104Z0Z6211202Z4032112Z0Z10212113Z2011260312C0013Z10Z10Z10Z02Z12Z30331A02011240112BZ113Z13Z12Z02Z00332AB203221232213Z03Z0Z110Z12ZB0112AB203227Z210Z10Z10Z10Z12Z52321AA005Z12Z12Z252Z8Z140332Z11";
_root.gotoAndStop("EDITOR");
}
Frame 18
_xscale = 100;
_yscale = 100;
Frame 19
if (_root.editorLevel == "NONE") {
previewLevel._alpha = 40;
} else {
previewLevel._alpha = 100;
}
Instance of Symbol 220 MovieClip in Frame 19
on (release) {
_root.prevFrame();
}
Instance of Symbol 220 MovieClip "previewLevel" in Frame 19
on (release) {
if (_alpha == 100) {
_root.nextFrame();
}
}
Frame 20
Mouse.show();
levelText.text = "Level" + LevelNo;
Frame 21
if (_root.LevelNo == 16) {
stopAllSounds();
gotoFrame("ENDMOVIE");
} else {
gotoFrame("GAME");
if (_root.refHold == undefined) {
_root.refHold = 0;
_root.refScore = 0;
} else if (_root.refHold < _root.LevelNo) {
_root.refHold = _root.LevelNo;
_root.refScore = _root.refScore + Math.round((_root.LevelNo * 10000) / (_root.playTime - 1000));
reflexiveAPI.submitScore(_root.refScore);
trace("SUBMITTED");
}
}
trace(_root.LevelNo);
trace(_root.playTime);
trace(_root.refScore);
Frame 22
setMusic("ending");
Frame 23
var score = (Math.round((_root.playTime / 25) * 10) / 10);
score = 800;
dispText.text = score + " SECONDS";
newMedal(5);
if (score < 450) {
newMedal(4);
}
score = Math.round(100000 / score);
scoreText.text = score + " POINTS!";
Mouse.show();
Frame 24
var score = ((Math.round((_root.playTime / 25) * 10) / 10) - 40);
score = 800;
dispText.text = score + " SECONDS";
newMedal(5);
if (score < 450) {
newMedal(4);
}
score = Math.round(100000 / score);
scoreText.text = score + " POINTS!";
Mouse.show();
Symbol 6 MovieClip [Rubble] Frame 1
function onEnterFrame() {
_x = (_x + xSpeed);
_y = (_y + ySpeed);
ySpeed++;
}
Symbol 8 MovieClip Frame 1
_alpha = 0;
Symbol 25 MovieClip Frame 1
stop();
Symbol 25 MovieClip Frame 4
_visible = false;
Symbol 26 MovieClip [OBJECT_MAN] Frame 1
if (BGColour == 2) {
_parent._parent.addBlackSpace(_x, _y);
}
Symbol 52 MovieClip [MedalPrompt] Frame 1
function onEnterFrame() {
if (timer < 10) {
_x = (_x + 35);
} else if ((timer > 150) && (timer < 160)) {
_x = (_x - 35);
} else if (timer > 210) {
this.removeMovieClip();
}
timer++;
}
_x = (_x - 300);
var timer = 0;
Symbol 54 MovieClip [LEVEL_Block_Spike] Frame 1
function onEnterFrame() {
if (hit.hitTest(_parent._parent.MAN.spikeHit)) {
_parent._parent.spikeMan();
}
}
stop();
Symbol 56 MovieClip [LEVEL_Block_Key] Frame 1
function onEnterFrame() {
_rotation = (_rotation + 2);
if ((this.hit.hitTest(_parent._parent.MAN.hit) && (_visible == true)) && (_parent._parent.gameActive == true)) {
_parent._parent.setDoor(linkage);
_visible = false;
}
}
if (BGColour == 2) {
_parent._parent.addBlackSpace(_x, _y);
}
Symbol 58 MovieClip [LEVEL_Block_GreySwitch] Frame 1
function onEnterFrame() {
_rotation = (_rotation + 2);
if (this.hit.hitTest(_parent._parent.MAN.hit) && (_visible == true)) {
_parent._parent.setgrey(linkage);
_visible = false;
}
}
if (BGColour == 2) {
_parent._parent.addBlackSpace(_x, _y);
}
Symbol 60 MovieClip [LEVEL_Block_Grey] Frame 1
function onEnterFrame() {
if (_parent._parent["greyRotateSwitch" + linkage] == true) {
if (_xscale > 0) {
_xscale = (_xscale - 10);
_yscale = (_yscale - 10);
}
} else if (_xscale < 100) {
_xscale = (_xscale + 10);
_yscale = (_yscale + 10);
}
}
if (BGColour == 2) {
_parent._parent.addBlackSpace(_x, _y);
}
Symbol 62 MovieClip [LEVEL_Block_Gravity] Frame 1
function onEnterFrame() {
if (this.hit.hitTest(_parent._parent.MAN.hit)) {
_parent._parent.gravityFlip(rotateDir, _x, _y);
}
}
if (BGColour == 2) {
_parent._parent.addBlackSpace(_x, _y);
}
if ((_rotation == 90) || (_rotation == -90)) {
var rotateDir = (_rotation + 180);
} else {
var rotateDir = _rotation;
}
var hitSwitch = false;
Symbol 65 MovieClip Frame 1
stop();
Symbol 66 MovieClip [LEVEL_Block_Exit] Frame 1
if (BGColour == 2) {
_parent._parent.addBlackSpace(_x, _y);
sprite.gotoAndStop(2);
}
Symbol 69 MovieClip Frame 1
function onEnterFrame() {
_rotation = (_rotation + 2);
}
Symbol 74 MovieClip [LEVEL_Block_Door] Frame 1
function onEnterFrame() {
if (_parent._parent["doorRotate" + linkage] > 0) {
_rotation = (_rotation + _parent._parent.doorSpeed);
}
}
if (BGColour == 2) {
_parent._parent.addBlackSpace(_x, _y);
}
if (_rotation == 0) {
_x = (_x - 20);
} else if (_rotation == 90) {
_y = (_y - 20);
} else if (_rotation == 180) {
_x = (_x + 20);
} else {
_rotation = -90;
if (-90) {
_y = (_y + 20);
}
}
Symbol 114 Button
on (press) {
newMedal(1);
getURL ("http://itunes.apple.com/us/app/shift2/id426956841?mt=12", "_blank");
}
Symbol 118 Button
on (press) {
newMedal(1);
getURL ("http://itunes.apple.com/us/app/shift-2/id407465021?mt=8", "_blank");
}
Symbol 382 MovieClip [__Packages.com.miniclip.tracking.Tracking] Frame 0
class com.miniclip.tracking.Tracking
{
function Tracking () {
}
static function track(id) {
var _local2 = (((PREFIX + id) + "/") + getRandom()) + SUFFIX;
var _local1 = new LoadVars();
_local1.sendAndLoad(_local2, _local1, "get");
trace("Miniclip Tracking: " + id);
}
static function getRandom() {
var _local1 = String(Math.floor(Math.random() * 100000));
while (_local1.length < 5) {
_local1 = "0" + _local1;
}
return("1" + _local1);
}
static var PREFIX = "http://ads.miniclip.com/RealMedia/ads/adstream_sx.ads/miniclip.com/";
static var SUFFIX = "@x01";
}
Symbol 122 MovieClip Frame 1
function onEnterFrame() {
if (this.hitTest(_root.MOUSE.HIT)) {
_root.MOUSEHAND = 3;
}
}
Symbol 127 Button
on (press) {
_root.play();
}
Symbol 135 MovieClip Frame 1
stop();
Symbol 138 Button
on (rollOver, dragOver) {
if ((WS_Active == false) && (WC_Active == false)) {
menuText.text = "BEGIN YOUR TEST. TRAVEL THROUGH THE LAB TO EARN A REAL TROPHY WHILE WE EXAMINE THE PHENOMENON OF 'SHIFTING' - NO STRINGS ATTACHED!.";
}
}
on (rollOut, dragOut) {
if ((WS_Active == false) && (WC_Active == false)) {
menuText.text = "";
}
}
on (release) {
if ((menuAdventureBegun == false) || (menuAdventureDone == true)) {
com.miniclip.tracking.Tracking.track("shift2_play");
gotoFrame("ADVERT");
} else if (YS_Active == true) {
if (YS_Counter <= 5) {
menuText.text = "I BET THIS IS GETTING FRUSTRATING, HUH? GO ON, CLICK THEM A FEW MORE TIMES AND I'LL GIVE YOU SOMETHING SPECIAL.";
}
YS_Counter++;
} else if (((WC_Active == true) && (FC_Active == false)) && (FM_Active == false)) {
menuText.text = "OH. NOW IT SEEMS THE BUTTONS NO LONGER WORK. OH DEAR. WANT ME TO FIX IT? ENTER THE SETTINGS MENU AT THE TOP OF THE SCREEN.";
FM_Active = true;
}
}
Symbol 155 MovieClip Frame 1
function onEnterFrame() {
if (_root.MOUSEHAND) {
gotoAndStop ("HAND");
} else {
gotoAndStop ("ARROW");
}
}
stop();
Symbol 157 MovieClip Frame 1
_visible = false;
Instance of Symbol 8 MovieClip in Symbol 160 MovieClip Frame 1
on (release) {
_parent._parent.menuText.text = "TEE HEE, JUST KIDDING - WHY WOULD WE WANT TO LOOK AT YOUR UGLY MUG ANYWAY?";
_parent._parent.WS_Active = false;
_parent._parent.WC_Active = true;
_parent._parent.mouseInverse = false;
_parent._parent.MOUSE._visible = true;
Mouse.hide();
}
Symbol 161 Button
on (rollOver, dragOver) {
if (WS_Active == false) {
menuText.text = "-PUZZLE PACK \n\n-CREATE A LEVEL \n\n-HIGHSCORES \n\n-MEDALS \n\n-SECRETS";
}
}
on (rollOut, dragOut) {
if (WS_Active == false) {
menuText.text = "";
}
}
Symbol 165 Button
on (rollOver, dragOver) {
menuText.text = "CREATE YOUR OWN SHIFT LEVELS - WHO KNOWS, MAYBE THERE WILL BE A PLAYERS LEVEL PACK RELEASED SOMEWHERE DOWN THE LINE :D";
}
on (rollOut, dragOut) {
menuText.text = "";
}
on (release) {
_root.lastFrame = "EXTRAS";
gotoFrame("EDITORLOAD");
}
Symbol 168 Button
on (rollOver, dragOver) {
menuText.text = "VIEW THE MEDALS YOU HAVE COLLECTED PLAYING SHIFT 2. CAN YOU COLLECT THEM ALL?";
}
on (rollOut, dragOut) {
menuText.text = "";
}
on (release) {
gotoFrame("MEDALS");
}
Symbol 171 Button
on (rollOver, dragOver) {
menuText.text = "RETURN TO WHEREVER YOU CAME FROM";
}
on (rollOut, dragOut) {
menuText.text = "";
}
on (release) {
gotoFrame("TITLE");
}
Symbol 175 Button
on (rollOver, dragOver) {
menuText.text = "CLEAR YOUR SAVE DATA. YOU WILL BE ASKED IF YOU ARE SURE BEFORE ANY DATA IS LOST.";
}
on (rollOut, dragOut) {
menuText.text = "";
}
on (release) {
gotoFrame("CLEAR");
}
Symbol 177 Button
on (rollOver, dragOver) {
if ((WS_Active == false) && (WC_Active == false)) {
menuText.text = "TO BE HONEST WITH YOU, THE NAMES OF THOSE WHO CREATED THIS GAME ARE A CLOSELY GUARDED SECRET. YOU'LL PROBABLY NEVER FIND OUT... YOU KNOW, UNLESS YOU CLICK HERE...";
}
}
on (rollOut, dragOut) {
if ((WS_Active == false) && (WC_Active == false)) {
menuText.text = "";
}
}
on (release) {
if ((menuAdventureBegun == false) || (menuAdventureDone == true)) {
gotoFrame("CREDITS");
newMedal(2);
} else if (YS_Active == true) {
menuText.text = "I BET THIS IS GETTING FRUSTRATING, HUH? GO ON, CLICK THEM A FEW MORE TIMES AND I'LL GIVE YOU SOMETHING SPECIAL.";
YS_Counter++;
} else if (((WC_Active == true) && (FC_Active == false)) && (FM_Active == false)) {
menuText.text = "OH. NOW IT SEEMS THE BUTTONS NO LONGER WORK. OH DEAR. WANT ME TO FIX IT? ENTER THE SETTINGS MENU AT THE TOP OF THE SCREEN.";
FM_Active = true;
}
}
Symbol 182 Button
on (release) {
gotoFrame("TITLE");
}
Symbol 183 Button
on (release) {
gotoFrame("EXTRAS");
}
Symbol 186 Button
on (release) {
loadSave(true);
gotoFrame("EXTRAS");
}
Symbol 195 Button
on (release) {
gotoFrame("SECRETS");
}
Symbol 197 Button
on (release) {
gotoFrame("MEDALS");
}
Symbol 199 Button
on (release) {
if (itankBut._alpha == 100) {
gotoFrame("ITANK");
}
}
Symbol 204 Button
on (release) {
if (clasBut._alpha == 100) {
gotoFrame("CLASSICCHARACTER");
}
}
Symbol 213 MovieClip Frame 734
stop();
Symbol 278 MovieClip Frame 1
stop();
Symbol 278 MovieClip Frame 3
stop();
Symbol 278 MovieClip Frame 6
_visible = false;
Symbol 283 MovieClip Frame 1
function newBoard() {
var _local7 = 0;
var _local4 = 0;
var _local3 = 0;
var _local5 = 0;
var _local6 = _root.editorLevel;
_local4 = 0;
while (_local4 < 12) {
_local3 = 0;
while (_local3 < 12) {
var _local2 = BOARD.attachMovie("EDITOR_block", "EB" + _local5, _local5++);
_local2._x = (_local4 * 40) - 220;
_local2._y = (_local3 * 40) - 220;
BlockArray.push(_local2);
BlockType.push(1);
BlockBGColour.push(0);
BlockRotation.push(0);
BlockLength.push(0);
BlockLinkage.push(0);
_local2.gotoAndStop(1);
_local3++;
}
_local4++;
}
}
function checkBlocks() {
var _local1 = 0;
while (_local1 < BlockArray.length) {
if (BlockArray[_local1].hit.hitTest(MOUSEMC.hit)) {
updateBlock(_local1);
}
_local1++;
}
}
function updateBlock(ID) {
BlockType[ID] = Data_Type;
BlockBGColour[ID] = DataBGColour;
BlockRotation[ID] = DataRotation;
BlockLength[ID] = DataLength;
BlockLinkage[ID] = DataLinkage;
BlockArray[ID].gotoAndStop(Data_Type);
BlockArray[ID].ColDisplay.gotoAndStop(DataBGColour);
BlockArray[ID]._rotation = DataRotation;
BlockArray[ID].Door._xscale = DataLength * 100;
BlockArray[ID].linkIndicator = DataLinkage;
if (Data_Type == 4) {
BlockArray[ID].swapDepths(0);
}
}
function spinBoard() {
boardRotateCurrent = boardRotateCurrent + ((boardRotate - boardRotateCurrent) / 2);
BOARD._rotation = boardRotateCurrent;
if (Key.isDown(39) && (boardRotateSwitch == false)) {
boardRotateSwitch = true;
boardRotate = boardRotate + 90;
} else if (Key.isDown(37) && (boardRotateSwitch == false)) {
boardRotateSwitch = true;
boardRotate = boardRotate - 90;
} else if ((!Key.isDown(39)) && (!Key.isDown(37))) {
boardRotateSwitch = false;
}
}
function onMouseDown() {
mousePressed = true;
}
function onMouseUp() {
mousePressed = false;
}
function onEnterFrame() {
spinBoard();
rotateTile();
PROPERTIES._x = PROPERTIES._x + ((propertiesX - PROPERTIES._x) / 3);
selectBox._x = selectBox._x + ((selectBoxLoc - selectBox._x) / 2);
MOUSEMC._rotation = BOARD._rotation;
MOUSEMC._x = Math.round(_xmouse / 40) * 40;
MOUSEMC._y = Math.round(_ymouse / 40) * 40;
MOUSEMC.Display.gotoAndStop(Data_Type);
MOUSEMC.Display.ColDisplay.gotoAndStop(DataBGColour);
MOUSEMC.Display._rotation = DataRotation;
MOUSEMC.Display.Door._xscale = DataLength * 100;
MOUSEMC.Display.linkIndicator = DataLinkage;
if (mousePressed == true) {
MOUSEMC._x = Math.round(_xmouse / 40) * 40;
MOUSEMC._y = Math.round(_ymouse / 40) * 40;
checkBlocks();
}
}
function rotateTile() {
if (Key.isDown(38) && (tileRotateSwitch == false)) {
tileRotateSwitch = true;
if (DataRotation > 0) {
DataRotation = DataRotation - 90;
} else {
DataRotation = 270;
}
} else if (Key.isDown(40) && (tileRotateSwitch == false)) {
tileRotateSwitch = true;
if (DataRotation < 270) {
DataRotation = DataRotation + 90;
} else {
DataRotation = 0;
}
} else if ((!Key.isDown(38)) && (!Key.isDown(40))) {
tileRotateSwitch = false;
}
}
function ZCRUSH(code, Target, Dest, DestNo) {
var _local1 = 0;
var _local3 = "";
var _local2 = 0;
while (_local2 < code.length) {
if (code.charAt(_local2) == Target) {
_local1++;
if (_local1 == DestNo) {
_local3 = _local3 + Dest;
_local1 = 0;
}
} else {
var _local5 = 0;
while (_local5 < _local1) {
_local3 = _local3 + Target;
_local5++;
}
_local1 = 0;
_local3 = _local3 + code.charAt(_local2);
}
_local2++;
}
var _local5 = 0;
while (_local5 < _local1) {
_local3 = _local3 + Target;
_local5++;
}
return(_local3);
}
function ZCOMPILE(code, Dest, Target, Compression) {
var _local3 = "";
var _local2 = 0;
while (_local2 < code.length) {
if (code.charAt(_local2) == Target) {
var _local1 = 0;
while (_local1 < Compression) {
_local3 = _local3 + Dest;
_local1++;
}
} else {
_local3 = _local3 + code.charAt(_local2);
}
_local2++;
}
return(_local3);
}
function loadBoard() {
var _local3 = 0;
var _local2 = ZCOMPILE(_root.editorLevel, "0", "A", 9);
_local2 = ZCOMPILE(_local2, "0", "B", 6);
_local2 = ZCOMPILE(_local2, "0", "C", 3);
_local2 = ZCOMPILE(_local2, "1", "X", 9);
_local2 = ZCOMPILE(_local2, "1", "Y", 6);
_local2 = ZCOMPILE(_local2, "1", "Z", 3);
_local2 = cleanupCode(_local2, " ");
if (_local2.length == 720) {
var _local4 = 0;
while (_local4 < 144) {
if (Number(_local2.charAt(_local3)) == " ") {
_local4--;
_local3++;
} else {
Data_Type = Number(_local2.charAt(_local3)) + 1;
DataRotation = Number(_local2.charAt(_local3 + 1)) * 90;
DataLength = Number(_local2.charAt(_local3 + 2));
DataLinkage = Number(_local2.charAt(_local3 + 3));
DataBGColour = Number(_local2.charAt(_local3 + 4));
updateBlock(_local4);
_local3 = _local3 + 5;
}
_local4++;
}
}
}
function setPropertiesBox(target) {
if (PROPERTIES._currentframe != target) {
PROPERTIES._x = PROPERTIES._x + 200;
PROPERTIES._visible = true;
PROPERTIES.gotoAndStop(target);
}
}
function cleanupCode(code, char) {
code = code.split("");
var _local1 = 0;
while (_local1 < code.length) {
if (code[_local1] == char) {
code.splice(_local1, 1);
}
_local1++;
}
var _local3 = "";
_local1 = 0;
while (_local1 < code.length) {
if (code[_local1] != ",") {
_local3 = _local3 + code[_local1];
}
_local1++;
}
return(_local3);
}
stop();
var Data_Type = 1;
var DataBGColour = 1;
var DataRotation = 0;
var DataLength = 1;
var DataLinkage = 1;
var BlockArray = new Array();
var BlockType = new Array();
var BlockBGColour = new Array();
var BlockRotation = new Array();
var BlockLength = new Array();
var BlockLinkage = new Array();
var mousePressed = false;
var boardRotate = 0;
var boardRotateCurrent = 0;
var boardRotateSwitch = false;
var selectBoxLoc = selectBox._x;
var propertiesX = PROPERTIES._x;
PROPERTIES._x = PROPERTIES._x + 200;
PROPERTIES._visible = false;
newBoard();
loadBoard();
_xscale = 80;
_yscale = 80;
EdButTypeSub.onPress = function () {
if (Data_Type > 1) {
Data_Type--;
} else {
Data_Type = 4;
}
};
EdButTypePlus.onPress = function () {
if (Data_Type < 4) {
Data_Type++;
} else {
Data_Type = 1;
}
};
PROPERTIES.EdButLenSub.onPress = function () {
if (DataLength > 1) {
DataLength--;
} else {
DataLength = 5;
}
};
PROPERTIES.EdButLenPlus.onPress = function () {
if (DataLength < 5) {
DataLength++;
} else {
DataLength = 1;
}
};
PROPERTIES.EdButLinkSub.onPress = function () {
if (DataLinkage > 1) {
DataLinkage--;
} else {
DataLinkage = 5;
}
};
PROPERTIES.EdButLinkPlus.onPress = function () {
if (DataLinkage < 5) {
DataLinkage++;
} else {
DataLinkage = 1;
}
};
EdBut_White.gotoAndStop(1);
EdBut_Black.gotoAndStop(2);
EdBut_Spike.gotoAndStop(3);
EdBut_Door_W.gotoAndStop(4);
EdBut_Door_W.ColDisplay.gotoAndStop(1);
EdBut_Door_B.gotoAndStop(4);
EdBut_Door_B.ColDisplay.gotoAndStop(2);
EdBut_Key_W.gotoAndStop(5);
EdBut_Key_W.ColDisplay.gotoAndStop(1);
EdBut_Key_B.gotoAndStop(5);
EdBut_Key_B.ColDisplay.gotoAndStop(2);
EdBut_Flip_W.gotoAndStop(6);
EdBut_Flip_W.ColDisplay.gotoAndStop(1);
EdBut_Flip_B.gotoAndStop(6);
EdBut_Flip_B.ColDisplay.gotoAndStop(2);
EdBut_Grey_W.gotoAndStop(7);
EdBut_Grey_W.ColDisplay.gotoAndStop(1);
EdBut_Grey_B.gotoAndStop(7);
EdBut_Grey_B.ColDisplay.gotoAndStop(2);
EdBut_GreySwitch_W.gotoAndStop(8);
EdBut_GreySwitch_W.ColDisplay.gotoAndStop(1);
EdBut_GreySwitch_B.gotoAndStop(8);
EdBut_GreySwitch_B.ColDisplay.gotoAndStop(2);
EdBut_Start_W.gotoAndStop(9);
EdBut_Start_W.ColDisplay.gotoAndStop(1);
EdBut_Start_B.gotoAndStop(9);
EdBut_Start_B.ColDisplay.gotoAndStop(2);
EdBut_Exit_W.gotoAndStop(10);
EdBut_Exit_W.ColDisplay.gotoAndStop(1);
EdBut_Exit_B.gotoAndStop(10);
EdBut_Exit_B.ColDisplay.gotoAndStop(2);
EdBut_White.onPress = function () {
selName = "WHITESPACE";
setPropertiesBox(6);
selectBoxLoc = EdBut_White._x;
Data_Type = 1;
};
EdBut_Black.onPress = function () {
selName = "BLACKSPACE";
setPropertiesBox(6);
selectBoxLoc = EdBut_Black._x;
Data_Type = 2;
};
EdBut_Spike.onPress = function () {
selName = "SPIKES";
setPropertiesBox(6);
selectBoxLoc = EdBut_Spike._x;
Data_Type = 3;
};
EdBut_Door_W.onPress = function () {
selName = "DOOR (WHITE BG)";
setPropertiesBox(2);
selectBoxLoc = EdBut_Door_W._x;
Data_Type = 4;
DataBGColour = 1;
};
EdBut_Door_B.onPress = function () {
selName = "DOOR (BLACK BG)";
setPropertiesBox(2);
selectBoxLoc = EdBut_Door_B._x;
Data_Type = 4;
DataBGColour = 2;
};
EdBut_Key_W.onPress = function () {
selName = "KEY (WHITE BG)";
setPropertiesBox(3);
selectBoxLoc = EdBut_Key_W._x;
Data_Type = 5;
DataBGColour = 1;
};
EdBut_Key_B.onPress = function () {
selName = "KEY (BLACK BG)";
setPropertiesBox(3);
selectBoxLoc = EdBut_Key_B._x;
Data_Type = 5;
DataBGColour = 2;
};
EdBut_Flip_W.onPress = function () {
selName = "GRAVITYFLIP (WHITE BG)";
setPropertiesBox(6);
selectBoxLoc = EdBut_Flip_W._x;
Data_Type = 6;
DataBGColour = 1;
};
EdBut_Flip_B.onPress = function () {
selName = "GRAVITYFLIP (BLACK BG)";
setPropertiesBox(6);
selectBoxLoc = EdBut_Flip_B._x;
Data_Type = 6;
DataBGColour = 2;
};
EdBut_Grey_W.onPress = function () {
selName = "CHECKSPACE (WHITE BG)";
setPropertiesBox(4);
selectBoxLoc = EdBut_Grey_W._x;
Data_Type = 7;
DataBGColour = 1;
};
EdBut_Grey_B.onPress = function () {
selName = "CHECKSPACE (BLACK BG)";
setPropertiesBox(4);
selectBoxLoc = EdBut_Grey_B._x;
Data_Type = 7;
DataBGColour = 2;
};
EdBut_GreySwitch_W.onPress = function () {
selName = "CHECKSWITCH (WHITE BG)";
setPropertiesBox(5);
selectBoxLoc = EdBut_GreySwitch_W._x;
Data_Type = 8;
DataBGColour = 1;
};
EdBut_GreySwitch_B.onPress = function () {
selName = "CHECKSWITCH (BLACK BG)";
setPropertiesBox(5);
selectBoxLoc = EdBut_GreySwitch_B._x;
Data_Type = 8;
DataBGColour = 2;
};
EdBut_Start_W.onPress = function () {
selName = "PLAYER START POINT";
setPropertiesBox(6);
selectBoxLoc = EdBut_Start_W._x;
Data_Type = 9;
DataBGColour = 1;
};
EdBut_Start_B.onPress = function () {
selName = "EXIT POINT (WHITE BG)";
setPropertiesBox(6);
selectBoxLoc = EdBut_Start_B._x;
Data_Type = 9;
DataBGColour = 2;
};
EdBut_Exit_W.onPress = function () {
selName = "EXIT POINT (BLACK BG)";
setPropertiesBox(6);
selectBoxLoc = EdBut_Exit_W._x;
Data_Type = 10;
DataBGColour = 1;
};
EdBut_Exit_B.onPress = function () {
setPropertiesBox(6);
selectBoxLoc = EdBut_Exit_B._x;
Data_Type = 10;
DataBGColour = 2;
};
BTN_COMPILE.onPress = function () {
var _local3 = "";
var _local4 = 0;
var _local5 = 0;
var _local6 = "";
var _local2 = 0;
while (_local2 < BlockArray.length) {
if (BlockType[_local2] == 9) {
_local4++;
}
if (BlockType[_local2] == 10) {
_local5++;
}
_local3 = _local3 + (BlockType[_local2] - 1);
_local3 = _local3 + (BlockRotation[_local2] / 90);
_local3 = _local3 + BlockLength[_local2];
_local3 = _local3 + BlockLinkage[_local2];
_local3 = _local3 + BlockBGColour[_local2];
_local2++;
}
if (_local4 == 0) {
_local6 = _local6 + "COMPILE ERROR: NO START POINT SET \n";
} else if (_local4 > 1) {
_local6 = _local6 + "COMPILE ERROR: MORE THAN ONE STARTPOINT! \n";
}
if (_local5 == 0) {
_local6 = _local6 + "COMPILE ERROR: NO EXIT POINT SET \n";
} else if (_local5 > 1) {
_local6 = _local6 + "COMPILE ERROR: MORE THAN ONE EXIT POINT SET! \n";
}
_local3 = ZCRUSH(_local3, "0", "A", 9);
_local3 = ZCRUSH(_local3, "0", "B", 6);
_local3 = ZCRUSH(_local3, "0", "C", 3);
_local3 = ZCRUSH(_local3, "1", "X", 9);
_local3 = ZCRUSH(_local3, "1", "Y", 6);
_local3 = ZCRUSH(_local3, "1", "Z", 3);
_root.editorLevel = _local3;
if (_local6 != "") {
_root.codeOut = _local6;
_root.editorLevel = "NONE";
} else {
_root.codeOut = _local3;
_root.editorLevel = _local3;
}
_root.nextFrame();
};
selName = "WHITESPACE";
setPropertiesBox(6);
selectBoxLoc = EdBut_White._x;
Data_Type = 1;
Instance of Symbol 220 MovieClip in Symbol 283 MovieClip Frame 1
on (release) {
_root.gotoAndStop(_root.backTo);
}
Symbol 329 MovieClip Frame 1
stop();
Instance of Symbol 8 MovieClip in Symbol 329 MovieClip Frame 1
onClipEvent (enterFrame) {
_parent.outputText.text = Math.round(_root.playTime / 25);
}
Instance of Symbol 8 MovieClip in Symbol 329 MovieClip Frame 14
onClipEvent (load) {
_parent.outputText2.text = Math.round(_root.playTime / 25) - 15;
}
onClipEvent (enterFrame) {
_parent.outputText.text = Math.round(_root.playTime / 25);
}
Instance of Symbol 8 MovieClip in Symbol 329 MovieClip Frame 15
onClipEvent (load) {
_parent.invHit._alpha = 0;
}
onClipEvent (enterFrame) {
if (_parent.invHit.hitTest(_parent._parent.MAN)) {
scriptActive = true;
}
if (scriptActive == true) {
_parent.invHole._alpha = _parent.invHole._alpha / 1.5;
}
}
Symbol 330 MovieClip Frame 1
function ZCOMPILE(code, Dest, Target, Compression) {
var _local3 = "";
var _local2 = 0;
while (_local2 < code.length) {
if (code.charAt(_local2) == Target) {
var _local1 = 0;
while (_local1 < Compression) {
_local3 = _local3 + Dest;
_local1++;
}
} else {
_local3 = _local3 + code.charAt(_local2);
}
_local2++;
}
return(_local3);
}
function gravityFlip(ammount, xPos, yPos) {
if ((flipFreeze != true) && (levelRotateFreeze == false)) {
if (ammount < 0) {
ammount = ammount + 360;
}
rotateTarget = ammount + 180;
currentRotation = _rotation;
if (currentRotation < 0) {
currentRotation = currentRotation + 360;
}
if (rotateTarget >= (currentRotation + 270)) {
rotateTarget = rotateTarget - 360;
} else if (rotateTarget <= (currentRotation - 270)) {
rotateTarget = rotateTarget + 360;
}
if (rotateTarget != currentRotation) {
levelRotateFreeze = true;
levelRotateMan = true;
MAN._x = xPos + ITEMS._x;
MAN._y = yPos + ITEMS._y;
xSpeed = 0;
ySpeed = 0;
}
}
}
function setDirs() {
if (_rotation == 0) {
xDir = 0;
yDir = 1;
controlReverse = 1;
} else if ((_rotation == 180) || (_rotation == -180)) {
xDir = 0;
yDir = -1;
controlReverse = 1;
} else if (_rotation == 90) {
xDir = 1;
yDir = 0;
controlReverse = -1;
} else if (_rotation == -90) {
xDir = -1;
yDir = 0;
controlReverse = -1;
}
}
function onEnterFrame() {
if (Key.isDown(82) && (resetMan)) {
spikeMan();
} else if (!Key.isDown(82)) {
resetMan = true;
}
if (_root.editorActive == false) {
if (Key.isDown(80) && (gamePauseSwitch == false)) {
gamePauseSwitch = true;
if (gamePaused == true) {
gamePaused = false;
_root.pauseScreen._visible = false;
} else {
_root.pauseScreen._visible = true;
gamePaused = true;
}
} else if (Key.isDown(80) == false) {
gamePauseSwitch = false;
}
}
if (_root.editorActive == true) {
if (Key.isDown(81)) {
_root.gotoFrame("EDITOR");
}
}
_root.playTime++;
updateSplat();
EOL();
gameActive = false;
if (doorFreeze == false) {
jumpActive++;
}
doorManagement();
if (gamePaused == false) {
if (doorFreeze == true) {
if (jumpActive < 4) {
MAN.sprite.gotoAndStop("stand");
} else {
MAN.sprite.gotoAndStop("jumpUp");
}
} else if (flipFreeze == true) {
MAN.sprite.gotoAndStop("stand");
if (MAN._yscale != (-100 * inversion)) {
MAN._yscale = MAN._yscale - (20 * inversion);
MAN._x = MAN._x + (4.2 * xDir);
MAN._y = MAN._y + (4.2 * yDir);
if (MAN._yscale == 20) {
setTintObject(MAN, 0, 0, 0, 100);
} else if (MAN._yscale == -20) {
setTintObject(MAN, 255, 255, 255, 100);
}
} else {
flipFreeze = false;
inversion = inversion * -1;
rotateTarget = _rotation + 180;
levelRotateMan = false;
levelRotateFreeze = true;
xSpeed = 0;
ySpeed = 0;
}
} else if ((levelRotateFreeze == true) && (flipFreeze == false)) {
if (levelRotateMan == false) {
MAN.sprite.gotoAndStop("stand");
} else {
MAN.sprite.gotoAndStop("jumpDown");
}
if (currentRotation < rotateTarget) {
currentRotation = currentRotation + (15 * rotateDir);
if (levelRotateMan == true) {
MAN._rotation = MAN._rotation - (15 * rotateDir);
}
} else if (currentRotation > rotateTarget) {
currentRotation = currentRotation - (15 * rotateDir);
if (levelRotateMan == true) {
MAN._rotation = MAN._rotation + (15 * rotateDir);
}
} else {
setDirs();
levelRotateFreeze = false;
}
_rotation = currentRotation;
} else if ((levelRotateFreeze == false) && (flipFreeze == false)) {
gameActive = true;
manageDoorActivation();
jump();
ySpeed++;
if (ySpeed > 15) {
ySpeed = 15;
}
if (eolSwitch == false) {
MAN._x = MAN._x + (ySpeed * xDir);
MAN._y = MAN._y + (ySpeed * yDir);
if (Key.isDown(39)) {
xSpeed = xSpeed + 3;
} else if (Key.isDown(37)) {
xSpeed = xSpeed - 3;
}
MAN._x = MAN._x + ((xSpeed * yDir) * controlReverse);
MAN._y = MAN._y + ((xSpeed * xDir) * controlReverse);
}
xSpeed = xSpeed / 1.9;
shiftActive = 1;
rotatedXY(0, 20, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
while ((((GROUND.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == inversionCollision[inversion + 1]) || (GREYSPACE.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) && (SPIKES.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == false)) || (WALLS.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) {
ySpeed = 1;
MAN._x = MAN._x - ((1 * xDir) * inversion);
MAN._y = MAN._y - ((1 * yDir) * inversion);
rotatedXY(0, 20, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
}
rotatedXY(15, 40 * inversion, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
if (((GROUND.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == inversionCollision[inversion + 1]) && (GREYSPACE.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == false)) && (SPIKES.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == false)) {
shiftActive++;
}
rotatedXY(-15, 40 * inversion, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
if (((GROUND.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == inversionCollision[inversion + 1]) && (GREYSPACE.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == false)) && (SPIKES.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == false)) {
shiftActive++;
}
rotatedXY(0, 21 * inversion, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
if ((((GROUND.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == inversionCollision[inversion + 1]) || (GREYSPACE.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) && (SPIKES.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == false)) || (WALLS.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) {
jumpActive = 0;
}
rotatedXY(0, -20, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
while ((((GROUND.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == inversionCollision[inversion + 1]) || (GREYSPACE.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) && (SPIKES.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == false)) || (WALLS.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) {
ySpeed = 1;
MAN._x = MAN._x + ((1 * xDir) * inversion);
MAN._y = MAN._y + ((1 * yDir) * inversion);
rotatedXY(0, -20, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
}
rotatedXY(16, 0, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
while ((((GROUND.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == inversionCollision[inversion + 1]) || (GREYSPACE.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) && (SPIKES.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == false)) || (WALLS.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) {
xSpeed = 0;
MAN._x = MAN._x - (((1 * yDir) * controlReverse) * inversion);
MAN._y = MAN._y - (((1 * xDir) * controlReverse) * inversion);
rotatedXY(16, 0, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
}
rotatedXY(-16, 0, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
while ((((GROUND.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == inversionCollision[inversion + 1]) || (GREYSPACE.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) && (SPIKES.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == false)) || (WALLS.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true)) {
xSpeed = 0;
MAN._x = MAN._x + (((1 * yDir) * controlReverse) * inversion);
MAN._y = MAN._y + (((1 * xDir) * controlReverse) * inversion);
rotatedXY(-16, 0, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
}
shift();
spriteManagement();
}
}
}
function spikeMan() {
if (gameActive == true) {
dead = true;
newSplat(MAN._x, MAN._y);
MAN._visible = false;
}
}
function rotatedXY(xPos, yPos, rotate) {
var _local1 = 0.0174444444444444 * rotate;
var _local3 = Math.sin(_local1);
var _local2 = Math.cos(_local1);
rotatedXYLocX = (xPos * _local2) - (yPos * _local3);
rotatedXYLocY = (xPos * _local3) + (yPos * _local2);
}
function loadLevel() {
var _local1 = 0;
var _local3 = 0;
while (_local3 < 144) {
if (Number(LevelCode.charAt(_local1)) == 1) {
var _local2 = GROUND.attachMovie("LEVEL_Block_Black", "B" + blockCount, blockCount++);
blockArray.push(_local2);
} else if (Number(LevelCode.charAt(_local1)) == 2) {
var _local2 = SPIKES.attachMovie("LEVEL_Block_Spike", "B" + blockCount, blockCount++);
_local2._rotation = Number(LevelCode.charAt(_local1 + 1)) * 90;
blockArray.push(_local2);
} else if (Number(LevelCode.charAt(_local1)) == 3) {
var _local2 = WALLS.attachMovie("LEVEL_Block_Door", "B" + blockCount, blockCount++);
_local2._rotation = Number(LevelCode.charAt(_local1 + 1)) * 90;
_local2.gotoAndStop(Number(LevelCode.charAt(_local1 + 2)));
_local2.linkage = Number(LevelCode.charAt(_local1 + 3));
_local2.BGColour = Number(LevelCode.charAt(_local1 + 4));
blockArray.push(_local2);
} else if (Number(LevelCode.charAt(_local1)) == 4) {
var _local2 = ITEMS.attachMovie("LEVEL_Block_Key", "B" + blockCount, blockCount++);
_local2.linkage = Number(LevelCode.charAt(_local1 + 3));
_local2.BGColour = Number(LevelCode.charAt(_local1 + 4));
blockArray.push(_local2);
} else if (Number(LevelCode.charAt(_local1)) == 5) {
var _local2 = ITEMS.attachMovie("LEVEL_Block_Gravity", "B" + blockCount, blockCount++);
_local2.BGColour = Number(LevelCode.charAt(_local1 + 4));
_local2._rotation = Number(LevelCode.charAt(_local1 + 1)) * 90;
blockArray.push(_local2);
} else if (Number(LevelCode.charAt(_local1)) == 6) {
var _local2 = GREYSPACE.attachMovie("LEVEL_Block_Grey", "B" + blockCount, blockCount++);
_local2.linkage = Number(LevelCode.charAt(_local1 + 3));
_local2.BGColour = Number(LevelCode.charAt(_local1 + 4));
blockArray.push(_local2);
} else if (Number(LevelCode.charAt(_local1)) == 7) {
var _local2 = ITEMS.attachMovie("LEVEL_Block_GreySwitch", "B" + blockCount, blockCount++);
_local2.linkage = Number(LevelCode.charAt(_local1 + 3));
_local2.BGColour = Number(LevelCode.charAt(_local1 + 4));
blockArray.push(_local2);
} else if (Number(LevelCode.charAt(_local1)) == 8) {
var _local2 = attachMovie("OBJECT_MAN", "MAN", 4);
blockArray.push(_local2);
} else if (Number(LevelCode.charAt(_local1)) == 9) {
var _local2 = ITEMS.attachMovie("LEVEL_Block_Exit", "DOOR", blockCount++);
_local2.BGColour = Number(LevelCode.charAt(_local1 + 4));
_local2._rotation = Number(LevelCode.charAt(_local1 + 1)) * 90;
blockArray.push(_local2);
} else {
blockArray.push(null);
}
_local1 = _local1 + 5;
_local3++;
}
}
function arrangeTiles() {
var _local3 = 0;
var _local1 = 0;
var _local2 = 0;
_local3 = 0;
while (_local3 < 12) {
_local1 = 0;
while (_local1 < 12) {
blockArray[_local2]._x = (_local3 * 40) + 20;
blockArray[_local2]._y = (_local1 * 40) + 20;
_local2++;
_local1++;
}
_local3++;
}
}
function addBlackSpace(xPos, yPos) {
var _local1 = GROUND.attachMovie("LEVEL_Block_Black", "B" + blockCount, blockCount++);
_local1._x = xPos;
_local1._y = yPos;
}
function spriteManagement() {
if (eolSwitch == true) {
MAN.sprite.gotoAndStop("eol");
} else if (jumpActive > 1) {
if (ySpeed > 0) {
MAN.sprite.gotoAndStop("jumpDown");
} else {
MAN.sprite.gotoAndStop("jumpUp");
}
} else if (Key.isDown(39)) {
MAN.sprite.gotoAndStop("run");
MAN.sprite._xscale = scale * inversion;
} else if (Key.isDown(37)) {
MAN.sprite.gotoAndStop("run");
MAN.sprite._xscale = (-scale) * inversion;
} else {
MAN.sprite.gotoAndStop("stand");
}
}
function jump() {
if (((Key.isDown(32) || (Key.isDown(38))) && (jumpSwitch == false)) && (jumpActive < jumpBuffer)) {
ySpeed = -11;
jumpSwitch = true;
} else if (((!Key.isDown(32)) && (!Key.isDown(38))) && (jumpActive < 2)) {
jumpSwitch = false;
}
}
function shift() {
if ((Key.isDown(16) || (Key.isDown(40))) && (shiftSwitch == false)) {
shiftSwitch = true;
var _local1 = true;
if (((flipFreeze != true) && (levelRotateFreeze == false)) && (shiftActive == 3)) {
rotatedXY(-10, 25 * inversion, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
if (WALLS.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true) {
_local1 = false;
}
rotatedXY(10, 25 * inversion, MAN._rotation);
rotatedXY(rotatedXYLocX + MAN._x, rotatedXYLocY + MAN._y, _rotation);
if (WALLS.hitTest(rotatedXYLocX + _x, rotatedXYLocY + _y, true) == true) {
_local1 = false;
}
if (_local1 == true) {
flipFreeze = true;
}
}
} else if ((!Key.isDown(16)) && (!Key.isDown(40))) {
shiftSwitch = false;
}
}
function setDoor(linkage) {
this["doorRotateSwitch" + linkage] = true;
}
function manageDoorActivation() {
var _local2 = 1;
while (_local2 < 6) {
if (this["doorRotateSwitch" + _local2] == true) {
this["doorRotate" + _local2] = this["doorRotate" + _local2] + 36;
this["doorRotateSwitch" + _local2] = false;
}
_local2++;
}
}
function doorManagement() {
doorFreeze = false;
var _local2 = 1;
while (_local2 < 6) {
if (this["doorRotate" + _local2] > 0) {
doorFreeze = true;
this["doorRotate" + _local2] = this["doorRotate" + _local2] - 2;
}
_local2++;
}
}
function setgrey(linkage) {
if (this["greyRotateSwitch" + linkage] == true) {
this["greyRotateSwitch" + linkage] = false;
} else {
this["greyRotateSwitch" + linkage] = true;
}
}
function setTintObject(target, r, g, b, amount) {
var _local1 = new Color(target);
_local1.setTint(r, g, b, amount);
}
function EOL() {
if (eolSwitch == true) {
if (EOLTimer > 0) {
EOLTimer--;
} else {
_root.LevelNo++;
_root.gotoAndStop("BLANK");
}
} else {
manRot = MAN._rotation;
var _local2;
if (MAN._yscale > 0) {
if ((ITEMS.DOOR._rotation == 180) && (MAN._rotation == -180)) {
_local2 = 360;
} else {
_local2 = 0;
}
} else if (ITEMS.DOOR._rotation < 0) {
_local2 = -180;
} else {
_local2 = 180;
}
if (((jumpActive < 2) && (MAN.doorHit.hitTest(ITEMS.DOOR))) && ((MAN._rotation + _local2) == ITEMS.DOOR._rotation)) {
eolSwitch = true;
}
}
}
function newSplat(xPos, yPos) {
if (MAN._visible == true) {
attachMovie("BloodContainer", "BC", 12);
BC._rotation = MAN._rotation;
BC._yscale = -MAN._yscale;
BC._x = xPos;
BC._y = yPos;
var _local1;
var _local2 = 0;
while (_local2 < 60) {
_local1 = BC.attachMovie("Blood", "B" + BCounter, BCounter++);
_local1._rotation = random(360);
_local1._xscale = random(150) + 50;
_local1._yscale = _local1._xscale;
_local1.gotoAndStop(random(3) + 1);
_local1.ySpeed = random(100) / 10;
_local1.xSpeed = (random(300) - 150) / 10;
splatArray.push(_local1);
_local2++;
}
}
}
function updateSplat() {
var _local2 = 0;
while (_local2 < splatArray.length) {
splatArray[_local2]._x = splatArray[_local2]._x + splatArray[_local2].xSpeed;
splatArray[_local2]._y = splatArray[_local2]._y + splatArray[_local2].ySpeed;
splatArray[_local2].xSpeed = splatArray[_local2].xSpeed / 1.05;
splatArray[_local2].ySpeed--;
if (splatArray[_local2]._y < -3000) {
_root.gotoAndStop("BLANK");
}
_local2++;
}
}
var Level1 = "AAAC10Z10Z10Z10Z10Z10ZAAB080Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC00Z00Z00Z00Z20Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC00Z00Z00Z00Z20Z10ZAAAAA00Z20Z10ZAAAC10Z10Z10Z10Z10Z10ZAAB090Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10Z";
var Level2 = "AAAAAC0010Z10ZAAAAA80Z10Z10ZAAAAAC0010Z10ZAAAAAC0010Z10ZAAAB0010Z00ZC0010Z10ZAAAC90Z10Z00ZC0010Z10ZAAAB0010Z00ZC0010Z10ZAAAAAC0010Z10ZAAAAAC0010Z10ZAAB010Z10Z10Z10Z10Z10Z10ZAAB010Z10Z10Z10Z10Z10Z10ZAAB010Z10Z10Z10Z10Z10Z10Z";
var Level3 = "9211210Z10Z10Z10Z5013210Z10Z10Z1253210Z03Z22Z425Z0Z10Z10Z10Z10Z10Z125321253210ZC0022Z00Z10Z10Z731120313212532125321253212532C0050Z22Z00Z3253210Z13Z03132131121311212532AB22Z00Z1253212532125320313210Z10ZAB7013122Z00Z10Z10Z125320313210ZAAAZ00Z10Z10Z10Z43521AAAC00Z00Z10Z10Z10ZAAAA0Z00Z10Z10Z00ZAAAC3352200Z82Z10ZA010131A0631316312163Z63Z00Z00ZAB70122A0631316312163Z63Z00Z00Z32411A010131C0052131631316312163Z43132";
var Level4 = "93151131511315100Z8315100Z10Z10Z10Z10Z10Z10Z131511315113151AB201121211210Z7211210Z10Z13151131515315203151AB201121211210Z10Z10Z131511315163151B0ZB0Z00Z201121211210Z10Z63151131516315100ZAB00Z00Z00Z1211210Z60Z60Z60Z4051160Z6015160Z60Z60Z60Z20Z1011260Z60Z60Z60Z60Z60Z60Z60Z60Z60Z2011210Z00Z5315160151B0Z021516015100ZB0Z601121011200Z00ZC006055100Z5215100Z00ZB0Z20Z10Z00Z00Z00Z0015100Z52151C00601510015100Z20Z10Z00Z00Z00Z00Z00Z52151B0Z00Z001516015110Z00Z00Z00Z00Z60151305110015100Z501516015120Z10Z";
var Level5 = "X132512325123251232512XY12112X13351231511305113051130511305113051130511305113051190Y1133512315110Z10Z1BZ10Z10Z1B0411335113141233512315110Z1BZ10Z10Z10Z10Z10Z1335113141233512315110Z10Z10Z1001210Z10Z10Z10Z1335113141233512315110Z10Z10Z10Z10Z10Z10Z10Z1335113131233512315110Z10Z10Z10Z10Z10Z10Z10Z1335113121233512315110Z1021210Z10Z10Z1BZ10Z1335113Z233512315110Z1A00Z10Z1BZ10Z1335Y133512315110Z1A00Z10Z10Z103Z0Z1335XZ325113251132511325113251132511325113251140Z80XZ1305123051230512305123051230512304123031230212X1";
var Level6 = "10Z001120011210Z50Z10Z00112001120011200112001120011210Z80Z10Z101121011210112101121011210112101121011210Z10Z0011210Z00112001120011240Z00112001120011250Z10Z10Z50Z10Z0012110Z1011260112101121011210ZC0010Z10ZC0010Z50Z10ZB011200112C0010ZC0010Z10ZC0010ZC0010ZC005011210122C0010ZC0010Z10ZC0050122C0010Z0021190Z60122C0010ZC0010Z10ZC0010ZC0010Z3021210Z10ZC0010ZC001022210ZC0010ZC0040121AB5012150122C001022210ZC0010Z10Z10Z10Z10Z301221022210222002221022210ZAAAAB222C001022210Z10Z10Z10Z10Z10Z10Z10Z10Z10Z10Z10Z";
var Level7 = "10122221227212130212001122011210Z10Z10Z10Z10Z10Z10122221220212112112121121211260112601126011200122C0010Z0011200112101221012210212B2122C0080Z10Z00122001220012210Z12121C002012212122101121012200122001221012200122121215012112121AC1120012270Z10122001221012200122121215212112121AB00Z00122101220012210122001221212110122101220012200Z0012210Z10Z1012200122101220012260121101222012210122B0122AB00122101220012270131021220012210122021311013110Z10Z10Z10Z1012200122B21220012212131AB00ZAB00122121220212202122001210012210Z921321011210Z10Z0012200122121221212212122A030ZAC122601324011200112";
var Level8 = "10Z10Z10Z10Z10Z10Z50Z10ZAB80Z10Z00Z10Z00Z00Z10Z10Z10ZAB10Z10ZB0Z10Z00ZACZC0010Z10Z10Z10ZAAC0Z10Z00ZA013Z10Z10ZC0010Z00Z00Z10Z10Z10Z00Z00Z00Z10Z10ZC0010Z00Z00Z00Z10ZC0010Z10Z10Z10Z10ZB0Z10Z00Z10Z10ZAAB010ZB0Z00Z00Z10Z10Z10Z10Z13Z03ZC0010Z00Z10Z10Z10ZB0Z00Z10ZC0053112C0010ZC0013Z10Z00Z10Z03ZC001311213ZA010ZA003ZC0010ZB3ZAB10Z10Z10Z9011203Z53Z12Z0311203Z00Z10Z10Z10Z";
var Level9 = "AAAC10Z10Z10Z10Z10Z10ZAAB080Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAB090Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10Z";
var Level10 = "AAAC10Z10Z10Z10Z10Z10ZAAB080Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAB090Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10Z";
var Level11 = "AAAC10Z10Z10Z10Z10Z10ZAAB080Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAB090Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10Z";
var Level12 = "AAAC10Z10Z10Z10Z10Z10ZAAB080Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAB090Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10Z";
var Level13 = "523116031160311603115031172321623316233162331623316233190321B0311803Z03Z03Z03Z03116233162331623316233100311B031100311203Z03Z03Z0311AAAC0031100311203Z03Z031142312AAAC00311C00203Z03Z03Z2331AAAC0031100311703Z03Z031172331AAAC302123031230412304123031230212AAAC10Z103Z0311AAAAB3Z0Z103Z0311AAAAC0403Z03Z03Z0311AAAAC060331603311231210311C00103116232162321AA0040311603315231210312C00103115231162321AB00311";
var Level14 = "AAAC10Z10Z10Z10Z10Z10ZAAB080Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10ZAAB090Z10Z10Z10Z10Z10Z10ZAAAC10Z10Z10Z10Z10Z10Z";
var Level15 = "AAB080Z10Z10Z00Z00Z00Z00ZAAAZ10Z10Z00Z00Z00Z00ZAAAC10Z10Z00Z00Z00Z00ZAAAC00Z00Z00Z00Z00Z00ZAAAC00Z00Z00Z00Z00Z00ZAAAC00Z00Z00Z00Z00Z00ZAAAC00Z00Z00Z00Z00Z00ZAAAC00Z00Z00Z00Z00Z00ZAAAC00Z00Z00Z00Z00Z00ZAAAC10Z10Z00Z00Z00Z00ZAAAC10Z10Z00Z00Z00Z90ZAAAC10Z10Z00Z00Z00Z00Z";
var LevelArray = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25);
if (_root.editorActive == false) {
if (_root.LevelNo == 0) {
_root.LevelNo = 1;
_root.setMusic("game");
}
SCRIPTLAYER.gotoAndStop(_root.LevelNo);
levelLoaded = this["Level" + _root.LevelNo];
trace((_root.LevelNo + " ") + _root.LevelNo);
} else {
SCRIPTLAYER.gotoAndStop(40);
levelLoaded = _root.editorLevel;
}
var LevelCode = ZCOMPILE(levelLoaded, "0", "A", 9);
LevelCode = ZCOMPILE(LevelCode, "0", "B", 6);
LevelCode = ZCOMPILE(LevelCode, "0", "C", 3);
LevelCode = ZCOMPILE(LevelCode, "1", "X", 9);
LevelCode = ZCOMPILE(LevelCode, "1", "Y", 6);
LevelCode = ZCOMPILE(LevelCode, "1", "Z", 3);
var blockCount = 0;
var blockArray = new Array();
createEmptyMovieClip("GROUND", 0);
createEmptyMovieClip("SPIKES", 1);
createEmptyMovieClip("GREYSPACE", 2);
createEmptyMovieClip("ITEMS", 3);
WALLS.swapDepths(5);
SCRIPTLAYER.swapDepths(6);
createEmptyMovieClip("BLOOD", 7);
WALLS.fixedWalls.swapDepths(999);
loadLevel();
arrangeTiles();
MAN._x = MAN._x - 240;
MAN._y = MAN._y - 240;
GROUND._x = GROUND._x - 240;
GROUND._y = GROUND._y - 240;
ITEMS._x = ITEMS._x - 240;
ITEMS._y = ITEMS._y - 240;
SPIKES._x = SPIKES._x - 240;
SPIKES._y = SPIKES._y - 240;
GREYSPACE._x = GREYSPACE._x - 240;
GREYSPACE._y = GREYSPACE._y - 240;
var gravityXSpeed;
var gravityYSpeed;
var ySpeed = 0;
var xSpeed = 0;
var rotateTarget = 0;
var rotateDir = 1;
var currentRotation = 0;
var xDir = 0;
var yDir = 1;
var controlReverse = 1;
var levelRotateFreeze = false;
var flipFreeze = false;
var inversion = 1;
var inversionCollision = new Array(false, true, true);
var shiftActive = 0;
var doorFreeze = false;
var jumpActive = 0;
var jumpBuffer = 5;
var gamePaused = false;
var gamePauseSwitch = false;
_root.pauseScreen._visible = false;
var resetMan = false;
var rotatedXYLocX;
var rotatedXYLocY;
var scale = MAN.sprite._xscale;
var jumpSwitch = false;
var shiftSwitch = false;
var doorRotate1 = 0;
var doorRotate2 = 0;
var doorRotate3 = 0;
var doorRotate4 = 0;
var doorRotate5 = 0;
var doorRotateSwitch1 = false;
var doorRotateSwitch2 = false;
var doorRotateSwitch3 = false;
var doorRotateSwitch4 = false;
var doorRotateSwitch5 = false;
var doorSpeed = 10;
var greyRotateSwitch1 = false;
var greyRotateSwitch2 = false;
var greyRotateSwitch3 = false;
var greyRotateSwitch4 = false;
var greyRotateSwitch5 = false;
var greySpeed = 5;
var EOLTimer = 40;
var eolSwitch = false;
var manRot = MAN._rotation;
var splatArray = new Array();
var BCounter = 0;
Symbol 333 Button
on (release) {
gotoAndStop (2);
}
Symbol 335 Button
on (release) {
_root.gotoFrame("title");
}
Symbol 336 Button
on (release) {
gotoAndStop (1);
}
Symbol 339 MovieClip Frame 1
stop();
Symbol 340 Button
on (release) {
_root.musicSwitch = true;
_root.setMusic("game");
}
Symbol 342 Button
on (release) {
_root.lastSound = "";
_root.musicSwitch = false;
stopAllSounds();
}
Symbol 347 Button
on (press) {
_root.newMedal(1);
getURL ("http://itunes.apple.com/us/app/shift2/id426956841?mt=12", "_blank");
}
Symbol 348 Button
on (press) {
_root.newMedal(1);
getURL ("http://itunes.apple.com/us/app/shift-2/id407465021?mt=8", "_blank");
}
Symbol 353 Button
on (release) {
gotoAndStop (1);
}
Symbol 355 MovieClip Frame 1
stop();
Symbol 363 MovieClip Frame 980
stopAllSounds();
_root.gotoFrame("END_GOOD");
Symbol 367 Button
on (release) {
gotoFrame("title");
}
Symbol 376 Button
on (press) {
_root.gotoAndStop("GAME");
}
Symbol 381 MovieClip Frame 25
stop();
Mouse.show();