Frame 1
Stage.showMenu = false;
_focusrect = false;
Frame 2
stop();
Instance of Symbol 45 MovieClip "contLoading" in Frame 2
onClipEvent (load) {
function fPreloadGame() {
var _local2 = (_parent.getBytesLoaded() / _parent.getBytesTotal()) * 100;
if (_local2 != 100) {
_local2 = Math.floor(_local2);
_parent.mcState.mcLoader.mcLoader.sPercent = _local2 + "%";
_parent.mcState.mcLoadBar.gotoAndStop(_local2);
} else {
_parent.mcState.mcLoader.mcLoader.sPercent = "100%";
_parent.mcState.mcLoadBar.gotoAndStop(100);
nDelay++;
if (nDelay > 4) {
_parent.gotoAndStop("Loaded");
}
}
}
_visible = false;
var nDelay = 0;
}
onClipEvent (enterFrame) {
fPreloadGame();
}
Instance of Symbol 76 MovieClip "mcSound" in Frame 8
onClipEvent (load) {
_visible = false;
_global.objSnd = this;
Items = new Object();
G_TabSonFade = new Array();
Mute = false;
bMusicPackPlaying = false;
Controlled = new Array("sMu_game", "sMu_pack", "sFx_btnOver", "sFx_btnDown", "sFx_bonusTaken", "sFx_electrik", "sFx_fallingSnow", "sFx_finishSnowBall", "sFx_lose", "sFx_PKAppear", "sFx_PKDie", "sFx_PKDisappear", "sFx_PKfire", "sFx_PKIgnit", "sFx_PKLaugh", "sFx_SBAyaye", "sFx_timeUp", "sFx_transition", "sFx_walkFullSpeed", "sFx_walkIce", "sFx_win", "sFx_btnOverMenu", "sFx_btnDownMenu", "sFx_SBLaugh", "sFx_SBLaugh2", "sFx_walk", "sFx_walkHardSnow", "sFx_timeLost", "sFx_SnowImpact");
for (i in Controlled) {
this.createEmptyMovieClip(Controlled[i], i + 1);
this[Controlled[i]] = new Sound(Controlled[i]);
this[Controlled[i]].attachSound(Controlled[i]);
Items[Controlled[i]] = new Object();
Items[Controlled[i]].Nom = Controlled[i];
Items[Controlled[i]].Volume = 0;
}
fPlaySounds = function (l_Name, l_Vol, l_NbLoop) {
SetVolume(l_Name, l_Vol);
eval (l_Name).start(0, l_NbLoop);
};
fStopSounds = function (l_Name) {
SetVolume(l_Name, 0);
eval (l_Name).stop();
};
SetVolume = function (l_Name, l_Vol) {
Items[l_Name].Volume = l_Vol;
if (Mute) {
eval (l_Name).setVolume(0);
} else {
eval (l_Name).setVolume(l_Vol);
}
};
DoFade = function (l_Name, l_Vol, l_DirFade, l_SpdFade, l_Index) {
var _local1 = Items[l_Name].Volume;
if (l_DirFade == "In") {
if ((_local1 + l_SpdFade) < l_Vol) {
SetVolume(l_Name, _local1 + l_SpdFade);
} else {
SetVolume(l_Name, l_Vol);
G_TabSonFade.splice(l_Index, 1);
}
} else if ((_local1 - l_SpdFade) > l_Vol) {
SetVolume(l_Name, _local1 - l_SpdFade);
} else {
SetVolume(l_Name, l_Vol);
G_TabSonFade.splice(l_Index, 1);
if (l_Vol == 0) {
fStopSounds(l_Name);
}
}
};
Fade = function () {
for (i in G_TabSonFade) {
DoFade(G_TabSonFade[i][0], G_TabSonFade[i][1], G_TabSonFade[i][2], G_TabSonFade[i][3], i);
}
};
fDoMute = function () {
Mute = true;
for (i in Items) {
eval (Items[i].Nom).setVolume(0);
}
};
fUndoMute = function () {
Mute = false;
for (i in Items) {
SetVolume(Items[i].Nom, Items[i].Volume);
}
};
fCreateEnterframe = function () {
if (this.onEnterFrame == undefined) {
this.onEnterFrame = function () {
_global.objSnd.Fade();
};
}
};
fDeleteEnterframe = function () {
delete this.onEnterFrame;
};
}
Frame 9
stop();
if (_global.Param == undefined) {
_global.Param = new ParamMainClass(this);
}
_global.Param.fDoSectionActions("Loaded");
Frame 16
_global.Param.fDoSectionActions("Title");
Frame 26
_global.Param.fDoSectionActions("Help");
Frame 36
_global.Param.fDoSectionActions("Game");
Instance of Symbol 892 MovieClip "mcGame" in Frame 36
onClipEvent (keyDown) {
if (_global.Param.bPaused == false) {
_global.C.fCheckKeyPressed();
}
}
onClipEvent (keyUp) {
_global.C.fCheckKeyUnPressed();
}
Frame 46
play();
Frame 47
_global.Param.fDoSectionActions("GameUnload");
Frame 56
_global.Param.fDoSectionActions("WinScreen");
Frame 66
_global.Param.fDoSectionActions("WinScreen");
Frame 76
_global.Param.fDoSectionActions("HighScore");
Frame 86
_global.Param.fDoSectionActions("UnloadVar");
Symbol 4 Button
on (keyPress "<Left>") {
return(undefined);
}
on (keyPress "<Right>") {
return(undefined);
}
on (keyPress "<Up>") {
return(undefined);
}
on (keyPress "<Down>") {
return(undefined);
}
Symbol 940 MovieClip [__Packages.objState] Frame 0
class objState
{
var mcRef, sState, nFrTotalAnim;
function objState (P_mcRef) {
mcRef = P_mcRef;
}
function fDoAction() {
this[sState]();
}
function fPause() {
mcRef.mcState.stop();
}
function fUnPause() {
mcRef.mcState.play();
}
function fSetState(P_sState) {
if (sState != P_sState) {
sState = P_sState;
mcRef.gotoAndStop(sState);
nFrTotalAnim = mcRef.mcState._totalframes;
fDoStateInit(sState);
}
}
function fDoStateInit() {
}
}
Symbol 941 MovieClip [__Packages.ParamMainClass] Frame 0
class ParamMainClass extends objState
{
var mcRef, bPaused, nStageWidth, nStageHeight, nHUDWidth, nStageFPS, sCurrentSection, nPlayerScore, nLastSnowMan, nLevelStart, nNextLevel, sState, fSetState;
function ParamMainClass (P_mcRef) {
super(mcRef);
mcRef = P_mcRef;
fInitGameMain();
}
function fInitGameMain() {
bPaused = false;
nStageWidth = 500;
nStageHeight = 300;
nHUDWidth = 100;
nStageFPS = 35;
sCurrentSection = "Loaded";
nPlayerScore = 0;
nLastSnowMan = 0;
nLevelStart = 1;
nNextLevel = nLevelStart;
}
function fDoSectionActions(P_sSection, P_mcScreen) {
fSetSection(P_sSection);
switch (P_sSection) {
case "Loaded" :
if (_global.objTrans == undefined) {
_global.objTrans = new TransitionClass(mcRef.mcTransition);
}
if (_global.objPopup == undefined) {
_global.objPopup = new PopupClass(mcRef.mcPopup);
}
if (_global.objHS == undefined) {
_global.objHS = new HSNickClass();
}
_global.objTrans.fSetTransition("UnloadVar");
break;
case "Title" :
if (_global.objSnd.bMusicPackPlaying == false) {
_global.objSnd.fCreateEnterframe();
_global.objSnd.bMusicPackPlaying = true;
_global.objSnd.fPlaySounds("sMu_pack", 0, 99999);
_global.objSnd.G_TabSonFade.push(["sMu_pack", 40, "In", 5]);
}
break;
case "Game" :
_global.objTrans.fSetState("IdleTransition");
_global.objSnd.fDeleteEnterframe();
_global.objHUD = new HUDClass(mcRef.mcHUD);
_global.C = new ParamGameClass(mcRef.mcGame);
fUnPause();
if (_global.objSnd.bMusicPackPlaying) {
_global.objSnd.bMusicPackPlaying = false;
_global.objSnd.G_TabSonFade.push(["sMu_pack", 0, "Out", 5]);
_global.objSnd.fPlaySounds("sMu_game", 0, 99999);
_global.objSnd.G_TabSonFade.push(["sMu_game", 60, "In", 4]);
}
break;
case "GameUnload" :
sState = "ClearingVar";
mcRef.gotoAndStop("Game");
break;
case "WinScreen" :
case "LoseScreen" :
stopAllSounds();
mcRef.mcState.sScore = fStyleNumber(nPlayerScore);
if (_global.objHS.bHSAvailable) {
_global.objHS.fDoHSInit();
} else {
mcRef.btnViewHS._visible = false;
mcRef.btnSubmitHS._visible = false;
}
if (_global.objSnd.bMusicPackPlaying == false) {
_global.objSnd.fCreateEnterframe();
_global.objSnd.bMusicPackPlaying = true;
_global.objSnd.G_TabSonFade.push(["sMu_game", 0, "Out", 5]);
_global.objSnd.fPlaySounds("sMu_pack", 0, 99999);
_global.objSnd.G_TabSonFade.push(["sMu_pack", 40, "In", 5]);
}
break;
case "HighScore" :
mcRef.mcState.sScore = fStyleNumber(nPlayerScore);
_global.objHS.fSetHSBoard(mcRef.mcState.mcHS);
if (_global.objHS.bGetHS == true) {
_global.objHS.bGetHS = false;
_global.objHS.getScores();
}
if (_global.objHS.bSubmitHS == true) {
_global.objHS.bSubmitHS = false;
mcRef.btnSubmitHS._visible = false;
_global.objHS.submitScore(nPlayerScore);
}
break;
case "UnloadVar" :
delete _global.C;
delete _global.objHUD;
delete _global.objLoad;
fSetState("Title");
fInitGameMain();
}
}
function fDoSectionActionsUnload(P_sSection, P_mcScreen) {
if (!(P_sSection === "Game")) {
} else {
_global.C.objBitmapData.dispose();
_global.C.objOldBitmapData.dispose();
nPlayerScore = nPlayerScore + _global.C.nPointToHad;
_global.C.nPointToHad = 0;
delete _global.C;
delete _global.objHUD;
_global.objPopup.fSetState("Idle");
}
}
function fNextLevel() {
nNextLevel++;
}
function fPause() {
bPaused = true;
_global.C.mBroadcaster.broadcastMessage("fPause");
}
function fUnPause() {
bPaused = false;
_global.C.mBroadcaster.broadcastMessage("fUnPause");
_global.objPopup.fSetState("Idle");
}
function fQuit() {
fPause();
_global.objTrans.fSetTransition("LoseScreen");
}
function fPlayAgain() {
_global.objTrans.fSetTransition("UnloadVar");
}
function fHelp() {
_global.objPopup.fSetState("Help");
}
function fResumeHelp() {
if (sCurrentSection == "Game") {
_global.objPopup.fSetState("MenuOpen");
} else {
_global.objTrans.fSetTransition("Game");
}
}
function fResume() {
_global.objPopup.fSetState("EndMenu");
}
function fMenu() {
fPause();
_global.objPopup.fSetState("StartMenu");
}
function fSetSection(P_sSection) {
sCurrentSection = P_sSection;
}
function fStyleNumber(P_nNumber, P_nMinimumChar) {
var _local6 = false;
var _local1 = String(P_nNumber);
var _local7 = _local1;
do {
if (_local1.length < P_nMinimumChar) {
_local6 = true;
_local7 = "0" + _local7;
}
} while (_local7.length < P_nMinimumChar);
_local1 = _local7;
var _local3 = "";
var _local5 = _local1.length;
_local5 = _local5 / 3;
if (_local5 <= 1) {
return(_local1);
}
var _local2 = _local5;
while (_local2 > 1) {
_local3 = (" " + _local1.substr(-3)) + _local3;
_local1 = _local1.substr(0, -3);
_local2--;
}
_local7 = _local1 + _local3;
return(_local7);
}
function fSubLastNumberChar(P_sString) {
var _local3 = "";
var _local4 = P_sString.length;
var _local1 = _local4 - 1;
while (_local1 >= 0) {
var _local2 = P_sString.charAt(_local1);
if (isNaN(_local2)) {
return(_local3);
}
_local3 = _local2 + _local3;
_local1--;
}
}
}
Symbol 942 MovieClip [__Packages.TransitionClass] Frame 0
class TransitionClass
{
var mcRef, sState, mcInsideMovieClip, sNextFrameLabel, bStopSound;
function TransitionClass (P_mcRef) {
mcRef = P_mcRef;
fSetState("Idle");
fInitTrans();
}
function fDoAction() {
this[sState]();
}
function fInitTrans() {
mcInsideMovieClip = undefined;
sNextFrameLabel = "";
bStopSound = false;
}
function Idle() {
}
function StartTransition() {
if (mcRef.mcState._currentframe >= mcRef.mcState._totalframes) {
fChangeLabel();
fSetState("EndTransition");
}
}
function IdleTransition() {
if (mcRef.mcState._currentframe >= mcRef.mcState._totalframes) {
fSetState("EndTransition");
}
}
function EndTransition() {
if (mcRef.mcState._currentframe >= mcRef.mcState._totalframes) {
_global.Param.fUnPause();
fSetState("Idle");
}
}
function fSetTransition(P_sNextLabel, P_mcInsideMovieClip) {
sNextFrameLabel = P_sNextLabel;
if (P_mcInsideMovieClip != undefined) {
mcInsideMovieClip = P_mcInsideMovieClip;
}
fSetState("StartTransition");
}
function fChangeLabel() {
_global.Param.fDoSectionActionsUnload(_global.Param.sCurrentSection);
if (mcInsideMovieClip != undefined) {
var _local3 = mcInsideMovieClip;
_local3.gotoAndStop(sNextFrameLabel);
mcInsideMovieClip = undefined;
} else {
_global.Param.fSetState(sNextFrameLabel);
}
}
function fStopSound() {
if (bStopSound == true) {
bStopSound = false;
stopAllSounds();
}
}
function fSetState(P_sState) {
if (P_sState != "Idle") {
sState = P_sState;
mcRef.gotoAndStop(P_sState);
mcRef.onEnterFrame = mx.utils.Delegate.create(this, fDoAction);
} else {
sState = P_sState;
mcRef.gotoAndStop(P_sState);
delete mcRef.onEnterFrame;
}
fDoStateInit();
}
function fDoStateInit() {
mcRef.LockBtn.useHandCursor = false;
switch (sState) {
case "Idle" :
mcRef.stop();
break;
case "IdleTransition" :
break;
case "StartTransition" :
fStopSound();
}
}
}
Symbol 943 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 944 MovieClip [__Packages.PopupClass] Frame 0
class PopupClass extends objState
{
var mcRef, fSetState, sState, nFrTotalAnim;
function PopupClass (P_mcRef) {
super(mcRef);
mcRef = P_mcRef;
fSetState("Idle");
}
function fDoAction() {
this[sState]();
}
function fDoUnpausableAction() {
this[sState]();
}
function StartMenu() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
fSetState("MenuOpen");
}
}
function MenuOpen() {
}
function EndMenu() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
_global.Param.fUnPause();
}
}
function TimeUp() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
_global.C.objPlayer.fGetClearLevel(false);
fSetState("Blocker");
}
}
function BonusIn() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
fSetState("Bonus");
}
}
function Bonus() {
}
function Help() {
}
function fDoStateInit() {
mcRef.mcBlocker.useHandCursor = false;
switch (sState) {
case "Idle" :
break;
case "StartMenu" :
break;
case "MenuOpen" :
break;
case "Bonus" :
mcRef.mcState.mcSnowManMeter.gotoAndStop(_global.objHUD.nCurSnowMan);
mcRef.mcState.mcSnowManMeter.mcState.gotoAndStop("Level3Finish");
_global.C.fManageBonus(mcRef.mcState);
break;
case "EndMenu" :
break;
case "TimeUp" :
_global.objSnd.fPlaySounds("sFx_timeUp", 90, 1);
}
}
}
Symbol 945 MovieClip [__Packages.HSNickClass] Frame 0
class HSNickClass
{
var bHSAvailable, G_TestHighScore, bSubmitHS, bGetHS, G_GameID, mcHSZone, G_NoTxtField, G_NameTxtField, G_ScoreTxtField;
function HSNickClass () {
bHSAvailable = true;
G_TestHighScore = false;
bSubmitHS = false;
bGetHS = false;
G_GameID = "sb_snowpants";
mcHSZone = undefined;
initHiScores();
if (G_TestHighScore == true) {
_global.gProxyObj.setServer("www.nick.com");
_global.gProxyObj.setScreenName("sb_programmer");
_global.gProxyObj.setIsLoggedIn(true);
}
}
function getScores() {
if (_global.gProxyObj == undefined) {
listScores();
} else {
_global.gProxyObj.getScores(cbFunc2);
}
}
function submitScore(theScore) {
G_NoTxtField.text = "";
G_NameTxtField.text = "The high score list is updating!";
G_ScoreTxtField.text = "";
_global.gProxyObj.submitScore(theScore, cbFunc);
}
function initHiScores() {
_global.gProxyObj.setGame_Id(G_GameID);
_root.debbug = _root.debbug + ("Object : " + _global.gProxyObj);
}
function getScoreString() {
var _local11 = "Oops! The high score list is not available right now!";
if (_global.gProxyObj != undefined) {
var _local7 = _global.gProxyObj.getScoreCount();
if (_local7 > 0) {
var _local3;
var _local4;
var _local5;
var _local6;
_local11 = "";
var _local10 = "";
var _local9 = "";
var _local8 = "";
_local3 = 0;
while (_local3 < _local7) {
_local4 = _global.gProxyObj.getScoreItem(_local3);
_local5 = _local4[0];
_local6 = _global.Param.fStyleNumber(_local4[1]);
_local10 = _local10 + ((_local3 + 1) + newline);
_local9 = _local9 + (_local5 + newline);
_local8 = _local8 + ((_local6 + " pts") + newline);
_local3++;
}
G_NoTxtField.text = _local10;
G_NameTxtField.text = _local9;
G_ScoreTxtField.text = _local8;
} else {
G_NameTxtField.text = "Oops! The high score list is not available right now!";
}
} else {
G_NameTxtField.text = "Oops! The high score list is not available right now!";
}
return(_local11);
}
function listScores() {
getScoreString();
}
function cbFunc(thisBool) {
if (thisBool) {
_global.objHS.listScores();
} else {
_global.objHS.G_NameTxtField.text = "Oops! The high score list is not available right now!";
}
}
function cbFunc2(thisBool) {
if (thisBool) {
_global.objHS.listScores();
} else {
_global.objHS.G_NameTxtField.text = "Oops! The high score list is not available right now!";
}
}
function fDoHSInit() {
initHiScores();
_root.debbug = _root.debbug + _global.gProxyObj.getIsLoggedIn();
if (_global.gProxyObj.getIsLoggedIn()) {
_global.Param.mcRef.btnSubmitHS._visible = true;
} else {
_global.Param.mcRef.btnSubmitHS._visible = false;
}
}
function fDoSubmitHS() {
_global.objTrans.fSetTransition("HighScore");
bSubmitHS = true;
}
function fDoViewHS() {
_global.objTrans.fSetTransition("HighScore");
bGetHS = true;
}
function fSetHSBoard(P_mcRef) {
if (_global.gProxyObj.getIsLoggedIn()) {
_global.Param.mcRef.btnSubmitHS._visible = true;
} else {
_global.Param.mcRef.btnSubmitHS._visible = false;
}
mcHSZone = P_mcRef;
G_NoTxtField = mcHSZone.txtHSNumber;
G_NameTxtField = mcHSZone.txtHSName;
G_ScoreTxtField = mcHSZone.txtHSScore;
}
}
Symbol 946 MovieClip [__Packages.HUDClass] Frame 0
class HUDClass
{
var mcRef, nCurSnowMan, objEnergyMeter, objSnowManMeter;
function HUDClass (P_mcRef) {
mcRef = P_mcRef;
nCurSnowMan = 0;
}
function fInitHUDMeter() {
objEnergyMeter = new MeterClass(mcRef.mcEnergyMeter, 1, "Energy");
var _local4 = false;
while (_local4 == false) {
var _local3 = random(4) + 1;
if (_local3 != _global.Param.nLastSnowMan) {
nCurSnowMan = _local3;
_global.Param.nLastSnowMan = nCurSnowMan;
_local4 = true;
}
}
mcRef.mcSnowManMeter.gotoAndStop(nCurSnowMan);
objSnowManMeter = new SnowManClass(mcRef.mcSnowManMeter.mcState);
_global.C.fAddBroadcastObj(objEnergyMeter);
_global.C.fAddBroadcastObj(objSnowManMeter);
}
function fInitHUD() {
fSetMeter("Energy");
fSetPoint();
fSetLevel();
}
function fSetPoint() {
mcRef.sScore = _global.Param.fStyleNumber(_global.Param.nPlayerScore, 6);
}
function fSetLevel() {
mcRef.sLevel = _global.Param.fStyleNumber(_global.Param.nNextLevel, 2);
}
function fAddSnowManLevel() {
objSnowManMeter.fAddLevel();
}
function fSetMeter(P_sMeter) {
this[("obj" + P_sMeter) + "Meter"].mcRef.gotoAndStop(0);
}
function fAddMeter(P_sMeter, P_nValue) {
this[("obj" + P_sMeter) + "Meter"].fSetNextFrame(P_nValue);
}
}
Symbol 947 MovieClip [__Packages.MeterClass] Frame 0
class MeterClass extends objState
{
var mcRef, sMeter, sMeterLevel, nLifeToGo, fSetState;
function MeterClass (P_mcRef, P_nLife, P_sMeter) {
super();
mcRef = P_mcRef;
sMeter = P_sMeter;
sMeterLevel = 1;
mcRef.gotoAndStop(P_nLife);
nLifeToGo = mcRef._currentframe;
fSetState("Idle");
}
function Idle() {
if (mcRef._currentframe < nLifeToGo) {
mcRef.nextFrame();
} else if (mcRef._currentframe > nLifeToGo) {
mcRef.prevFrame();
} else {
nLifeToGo = mcRef._currentframe;
}
if (mcRef._currentframe >= 100) {
switch (sMeter) {
case "Energy" :
if (sMeterLevel < 3) {
mcRef._currentframe = 90;
nLifeToGo = 1;
sMeterLevel++;
_global.C.fAddSnowman();
} else {
_global.C.objPlayer.fGetClearLevel(true);
_global.C.fRemoveBroadcastObj(this);
}
break;
case "Power" :
}
}
}
function fSetNextFrame(P_nFrame) {
nLifeToGo = nLifeToGo + P_nFrame;
if (nLifeToGo < 0) {
nLifeToGo = 0;
}
if (nLifeToGo > 100) {
nLifeToGo = 100;
}
}
function fPause() {
mcRef.mcMeterEffect.stop();
}
function fUnPause() {
mcRef.mcMeterEffect.play();
}
}
Symbol 948 MovieClip [__Packages.SnowManClass] Frame 0
class SnowManClass extends objState
{
var mcRef, nLevel, fSetState, sState, nFrTotalAnim;
function SnowManClass (P_mcRef) {
super();
mcRef = P_mcRef;
nLevel = 0;
fSetState("Empty");
}
function fDoUnpausableAction() {
if ((_global.C.objPlayer.sState == "Win") || (_global.C.objPlayer.sState == "Wait")) {
this[sState]();
}
}
function fAddLevel() {
nLevel++;
fSetState("Level" + nLevel);
}
function Level1() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
fSetState("Level1Finish");
}
}
function Level2() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
fSetState("Level2Finish");
}
}
function Level3() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
fSetState("Level3Finish");
_global.objPopup.fSetState("BonusIn");
}
}
function fDoStateInit() {
switch (sState) {
case "Level1" :
case "Level2" :
case "Level3" :
}
}
}
Symbol 949 MovieClip [__Packages.ParamGameClass] Frame 0
class ParamGameClass extends objState
{
var mcRef, bInit, bCanAddJFish, bCanAddEnemy, bCanAddSnow, mBroadcaster, nObjectIndex, nBonusPointIndex, nPointToHad, nCurrentSnow, nBurnSnow, aStopMelting, aObstaclePlaces, aEnemyPlaces, aBonusPlaces, nDelayAddEnemyDone, nDelayAddEnemyTodo, nDelayAddJFishDone, nDelayAddJFishTodo, nDelayAddSnowDone, nDelayAddSnowTodo, mcGameScreen, aIndexSwapDepth, objPlayer, objBall, objBitmapData, objOldBitmapData, aAvoidingObstacle, nSnowFactor;
function ParamGameClass (P_mcRef) {
super();
mcRef = P_mcRef;
mcRef.onEnterFrame = mx.utils.Delegate.create(this, fEnterFrame);
fInitGameVars();
}
function fEnterFrame() {
if (bInit == false) {
bInit = true;
fInitGameLevel();
} else if (_global.Param.bPaused == false) {
_global.objSnd.Fade();
fCheckPointToHad();
if (bCanAddJFish) {
fManageAddJFish();
}
if (bCanAddEnemy) {
fManageAddEnemy();
}
if (bCanAddSnow) {
fManageAddSnow();
}
mBroadcaster.broadcastMessage("fDoAction");
} else {
_global.objSnd.Fade();
mBroadcaster.broadcastMessage("fDoUnpausableAction");
}
}
function fInitGameVars() {
nObjectIndex = 1;
nBonusPointIndex = 1;
nPointToHad = 0;
nCurrentSnow = 0;
nBurnSnow = 0;
aStopMelting = [];
aObstaclePlaces = new Array();
aEnemyPlaces = new Array();
aBonusPlaces = new Array();
if ((_global.Param.nNextLevel % 2) == 0) {
bCanAddEnemy = true;
} else {
bCanAddEnemy = false;
}
nDelayAddEnemyDone = 0;
nDelayAddEnemyTodo = 600 + random(300);
if (_global.Param.nNextLevel > 3) {
bCanAddJFish = true;
} else {
bCanAddJFish = false;
}
nDelayAddJFishDone = 0;
nDelayAddJFishTodo = 400 + random(300);
bCanAddSnow = false;
nDelayAddSnowDone = 0;
nDelayAddSnowTodo = 200 + random(300);
mBroadcaster = new Object();
AsBroadcaster.initialize(mBroadcaster);
mcGameScreen = _global.Param.mcRef.mcState;
bInit = false;
aIndexSwapDepth = new Array();
aIndexSwapDepth[0] = {sType:"EnemyUnder", nCurrentDepth:100000, nBaseDepth:100000, nLimitDepth:199999};
aIndexSwapDepth[1] = {sType:"BonusItem", nCurrentDepth:200000, nBaseDepth:200000, nLimitDepth:399999};
aIndexSwapDepth[2] = {sType:"Player", nCurrentDepth:400000, nBaseDepth:400000, nLimitDepth:400000};
aIndexSwapDepth[3] = {sType:"Enemy", nCurrentDepth:400001, nBaseDepth:400001, nLimitDepth:400001};
aIndexSwapDepth[4] = {sType:"EnemyOver", nCurrentDepth:400500, nBaseDepth:400500, nLimitDepth:499999};
aIndexSwapDepth[5] = {sType:"Particle", nCurrentDepth:500000, nBaseDepth:500000, nLimitDepth:599999};
aIndexSwapDepth[6] = {sType:"JFish", nCurrentDepth:600000, nBaseDepth:600000, nLimitDepth:799999};
aIndexSwapDepth[7] = {sType:"Remove", nCurrentDepth:800000, nBaseDepth:800000, nLimitDepth:810000};
}
function fInitGameLevel() {
objPlayer = new PlayerClass(mcGameScreen.mcPlayer);
objPlayer.mcRef.swapDepths(fReturnDepth("Player"));
fAddBroadcastObj(objPlayer);
objBall = new BallClass(objPlayer.mcRef.mcBall);
fAddBroadcastObj(objBall);
_global.objHUD.fInitHUDMeter();
_global.objHUD.fInitHUD();
_global.objTimer = new TimerClass();
if (_global.Param.nNextLevel >= 15) {
var _local4 = {nHour:0, nMinute:2, nSecond:0};
} else if (_global.Param.nNextLevel >= 10) {
var _local4 = {nHour:0, nMinute:2, nSecond:5};
} else if (_global.Param.nNextLevel >= 5) {
var _local4 = {nHour:0, nMinute:2, nSecond:15};
} else {
var _local4 = {nHour:0, nMinute:2, nSecond:30};
}
_global.objTimer.fInitTimer(_local4, _global.objHUD.mcRef, "Restricted");
fAddBroadcastObj(_global.objTimer);
fAddBroadcastObj(_global.objPopup);
objBitmapData = new flash.display.BitmapData(500, 300, true, 4294967295);
objOldBitmapData = new flash.display.BitmapData(500, 300, true, 4294967295);
mcGameScreen.mcSnow.attachBitmap(objBitmapData, 1);
var _local3 = random(mcGameScreen.mcLvlStamp._totalframes) + 1;
mcGameScreen.mcLvlStamp.gotoAndStop(_local3);
mcGameScreen.mcBKG.gotoAndStop(_local3);
objBitmapData.draw(mcGameScreen.mcLvlStamp);
objOldBitmapData.draw(mcGameScreen.mcLvlStamp);
fRemoveInstance(mcGameScreen.mcLvlStamp);
fDistributeObstacle();
fDistributeBonus();
fGetSnowFactor();
_global.Param.fPause();
}
function fCheckKeyPressed() {
if (_global.Param.bPaused == false) {
if (!(Key.getCode() === 32)) {
} else {
objPlayer.fSetKey("Space", true);
}
}
}
function fCheckKeyUnPressed() {
switch (Key.getCode()) {
case 32 :
objPlayer.fSetKey("Space", false);
break;
case 82 :
fSetSnowColor();
}
}
function fAddPlaces(P_sArray, P_mcRef) {
var _local2 = {x:P_mcRef._x, y:P_mcRef._y};
this[("a" + P_sArray) + "Places"].push(_local2);
fRemoveInstance(P_mcRef);
}
function fManageAddSnow() {
aStopMelting = [];
mBroadcaster.broadcastMessage("fCheckCanMelt");
if (_global.C.aStopMelting.length == 0) {
nDelayAddSnowDone++;
if (nDelayAddSnowDone >= nDelayAddSnowTodo) {
if (nDelayAddSnowTodo < 200) {
nDelayAddSnowTodo = 200;
}
nDelayAddSnowDone = 0;
fAttachSnow();
}
}
}
function fAttachSnow() {
if (aEnemyPlaces.length > 0) {
var _local2 = "Object" + nObjectIndex;
var _local3 = mcGameScreen.attachMovie("mcFallingSnow", _local2, fReturnDepth("Particle"));
var _local4 = fGetEnemyPlace();
_local3._name = _local2;
_local3._x = aEnemyPlaces[_local4].x;
_local3._y = aEnemyPlaces[_local4].y;
this[_local2] = new FallingSnowClass(_local3);
fAddBroadcastObj(this[_local2]);
nObjectIndex++;
}
}
function fSetAddSnow(P_bCanAddSnow) {
bCanAddSnow = P_bCanAddSnow;
}
function fManageAddJFish() {
nDelayAddJFishDone++;
if (nDelayAddJFishDone >= nDelayAddJFishTodo) {
nDelayAddJFishDone = 0;
fSetAddJFish(false);
fAttachJFish();
}
}
function fSetAddJFish(P_bCanAddJFish) {
bCanAddJFish = P_bCanAddJFish;
}
function fAttachJFish() {
var _local2 = "Object" + nObjectIndex;
var _local3 = mcGameScreen.attachMovie("mcJFishPath" + (random(3) + 1), _local2, fReturnDepth("JFish"));
_local3._name = _local2;
this[_local2] = new JFishClass(_local3);
fAddBroadcastObj(this[_local2]);
nObjectIndex++;
}
function fManageAddEnemy() {
nDelayAddEnemyDone++;
if (nDelayAddEnemyDone >= nDelayAddEnemyTodo) {
nDelayAddEnemyDone = 0;
fSetAddEnemy(false);
fAttachEnemy();
}
}
function fSetAddEnemy(P_bCanAddEnemy) {
bCanAddEnemy = P_bCanAddEnemy;
}
function fAttachEnemy() {
if (aEnemyPlaces.length > 0) {
var _local2 = "Object" + nObjectIndex;
var _local3 = mcGameScreen.attachMovie("mcPlankton", _local2, fReturnDepth("Enemy"));
var _local4 = fGetEnemyPlace();
_local3._name = _local2;
_local3._x = aEnemyPlaces[_local4].x;
_local3._y = aEnemyPlaces[_local4].y;
this[_local2] = new EnemyClass(_local3);
fAddBroadcastObj(this[_local2]);
nObjectIndex++;
}
}
function fGetEnemyPlace() {
var _local7 = false;
while (_local7 == false) {
var _local3 = random(aEnemyPlaces.length);
var _local2 = {x:objPlayer.mcRef.mcState.mcCenter._x, y:objPlayer.mcRef.mcState.mcCenter._y};
objPlayer.mcRef.mcState.mcCenter.localToGlobal(_local2);
var _local6 = Math.abs(Math.abs(_local2.x) - Math.abs(aEnemyPlaces[_local3].x));
var _local5 = Math.abs(Math.abs(_local2.y) - Math.abs(aEnemyPlaces[_local3].y));
var _local4 = Math.sqrt(Math.pow(_local6, 2) + Math.pow(_local5, 2));
if (_local4 > 200) {
_local7 = true;
return(_local3);
}
}
}
function fGetDiffSetting(P_sType) {
switch (P_sType) {
case "mcObstacleTree" :
var _local2 = Math.ceil(_global.Param.nNextLevel / 3);
if (_local2 > 4) {
_local2 = 4;
}
break;
case "mcObstacleIce" :
_local2 = Math.floor(_global.Param.nNextLevel / 4);
if (_local2 > 2) {
_local2 = 2;
}
break;
case "mcObstacleHardSnow" :
_local2 = Math.floor(_global.Param.nNextLevel / 5);
if (_local2 <= 3) {
break;
}
_local2 = 2;
}
return(_local2);
}
function fDistributeObstacle() {
aAvoidingObstacle = new Array();
var _local3 = fGetDiffSetting("mcObstacleTree");
var _local2 = 0;
if (_local3 > 0) {
while (_local2 < _local3) {
var _local4 = random(aObstaclePlaces.length);
fAttachObstacle(_local4, "mcObstacleTree", "Over");
_local2++;
}
}
_local3 = fGetDiffSetting("mcObstacleIce");
_local2 = 0;
if (_local3 > 0) {
while (_local2 < _local3) {
var _local4 = random(aObstaclePlaces.length);
fAttachObstacle(_local4, "mcObstacleIce", "Under");
_local2++;
}
}
_local3 = fGetDiffSetting("mcObstacleHardSnow");
_local2 = 0;
if (_local3 > 0) {
while (_local2 < _local3) {
var _local4 = random(aObstaclePlaces.length);
fAttachObstacle(_local4, "mcObstacleHardSnow", "Under");
_local2++;
}
}
}
function fAttachObstacle(P_nRandom, P_sType, P_sDepthType) {
var _local3 = "Object" + nObjectIndex;
var _local2 = mcGameScreen.attachMovie(P_sType, _local3, fReturnDepth("Enemy" + P_sDepthType));
_local2._name = _local3;
_local2._x = aObstaclePlaces[P_nRandom].x + (random(5) - random(5));
_local2._y = aObstaclePlaces[P_nRandom].y + (random(5) - random(5));
aObstaclePlaces.splice(P_nRandom, 1);
switch (P_sType) {
case "mcObstacleTree" :
fRemoveExtraSnow(_local2, 25);
_local2.gotoAndStop(random(_local2._totalframes) + 1);
aAvoidingObstacle.push(_local2);
break;
case "mcObstacleIce" :
this[_local3] = new SnowTrapClass(_local2, "Ice");
fAffectPixel(_local2.mcHitZone, true, false);
fAddBroadcastObj(this[_local3]);
break;
case "mcObstacleHardSnow" :
this[_local3] = new SnowTrapClass(_local2, "HardSnow");
fAffectPixel(_local2.mcHitZone, true, false);
fAddBroadcastObj(this[_local3]);
}
nObjectIndex++;
}
function fDistributeBonus() {
var _local5 = random(3) + 1;
var _local4 = 0;
if (_local5 > 0) {
while (_local4 < _local5) {
var _local3 = random(aBonusPlaces.length);
fAttachItem(_local3, "mcBonusItemPoint");
_local4++;
}
}
_local5 = 1;
_local4 = 0;
if (_local5 > 0) {
while (_local4 < _local5) {
var _local3 = random(aBonusPlaces.length);
fAttachItem(_local3, "mcBonusItemSpeed");
_local4++;
}
}
if (_global.Param.nNextLevel >= 5) {
_local5 = random(2) + 1;
_local4 = 0;
if (_local5 > 0) {
while (_local4 < _local5) {
var _local3 = random(aBonusPlaces.length);
fAttachItem(_local3, "mcBonusItemTime");
_local4++;
}
}
}
}
function fAttachItem(P_nRandom, P_sType) {
var _local2 = "Object" + nObjectIndex;
var _local3 = mcGameScreen.attachMovie(P_sType, _local2, fReturnDepth("BonusItem"));
_local3._name = _local2;
_local3._x = aBonusPlaces[P_nRandom].x + (random(5) - random(5));
_local3._y = aBonusPlaces[P_nRandom].y + (random(5) - random(5));
this[_local2] = new BonusClass(_local3, P_sType);
fAddBroadcastObj(this[_local2]);
aBonusPlaces.splice(P_nRandom, 1);
nObjectIndex++;
}
function fGetSnowFactor() {
var _local5 = 0;
var _local4 = 0;
while (_local4 <= _global.Param.nStageWidth) {
var _local3 = 0;
while (_local3 <= _global.Param.nStageHeight) {
if (objBitmapData.getPixel(_local4, _local3) != 0) {
_local5++;
}
_local3++;
}
_local4++;
}
nSnowFactor = 102 / _local5;
}
function fManageBurnSnow(P_nBurnSnow) {
nBurnSnow = nBurnSnow + P_nBurnSnow;
if (nBurnSnow <= 0) {
fSetAddSnow(false);
}
}
function fAffectPixel(P_mcRef, P_bDelete, P_bAdd, P_nRangeY, P_objFallingSnow, P_nRangeZoned) {
if (P_mcRef != undefined) {
if (P_bDelete) {
var _local6 = P_mcRef.getBounds(mcGameScreen);
var _local3 = _local6.yMin;
while (_local3 <= _local6.yMax) {
var _local2 = _local6.xMin;
while (_local2 <= _local6.xMax) {
var _local14 = objBitmapData.getPixel(_local2, _local3);
if (_local14 != 0) {
if (P_bAdd) {
fManageBurnSnow(1);
}
}
objBitmapData.setPixel32(_local2, _local3, 0);
_local2++;
}
_local3++;
}
} else {
var _local4 = {x:P_mcRef._x, y:P_mcRef._y};
P_mcRef._parent.localToGlobal(_local4);
var _local5 = P_nRangeZoned;
var _local17 = (_local4.y - _local5) + P_nRangeY;
var _local18 = _local17 + 2;
if (_local17 > (_local4.y + _local5)) {
_local17 = _local4.y + _local5;
_local18 = _local17;
P_objFallingSnow.fStopAddSnow();
}
var _local3 = _local17;
while (_local3 < _local18) {
var _local2 = _local4.x - _local5;
while (_local2 <= (_local4.x + _local5)) {
var _local14 = objBitmapData.getPixel(_local2, _local3);
if (_local14 == 0) {
if (P_bAdd && (nBurnSnow > 0)) {
fManageBurnSnow(-1);
}
var _local13 = Math.abs(Math.abs(_local4.x) - Math.abs(_local2));
var _local11 = Math.abs(Math.abs(_local4.y) - Math.abs(_local3));
var _local10 = Math.sqrt(Math.pow(_local13, 2) + Math.pow(_local11, 2));
if (_local10 < _local5) {
var _local15 = ((objOldBitmapData.getPixel32(_local2, _local3) >> 24) & 255).toString(16);
var _local7 = ((objOldBitmapData.getPixel32(_local2, _local3) >> 16) & 255).toString(16);
var _local12 = ((objOldBitmapData.getPixel32(_local2, _local3) >> 8) & 255).toString(16);
var _local8 = (objOldBitmapData.getPixel32(_local2, _local3) & 255).toString(16);
var _local9 = ((("0x" + _local15) + _local7) + _local12) + _local8;
objBitmapData.setPixel32(_local2, _local3, _local9);
}
}
_local2++;
}
_local3++;
}
}
}
}
function fDeletePixel() {
var _local11 = objPlayer.mcRef._xscale;
var _local9 = objBall.mcRef;
var _local8 = {x:_local9._x, y:_local9._y};
mcGameScreen.mcPlayer.localToGlobal(_local8);
var _local12 = ((_local9._width * _local11) / 100) / 3;
var _local10 = ((_local9._height * _local11) / 100) / 3;
var _local4 = _local8.x - _local12;
var _local5 = _local8.x + _local12;
var _local7 = _local8.y - _local10;
var _local6 = _local8.y + _local10;
var _local3 = _local7;
while (_local3 <= _local6) {
var _local2 = _local4;
while (_local2 <= _local5) {
if (objBitmapData.getPixel(_local2, _local3) != 0) {
fAddSnowMeter();
objBitmapData.setPixel32(_local2, _local3, 0);
}
_local2++;
}
_local3++;
}
}
function fDeletePixelCorner() {
var _local9 = objBall.mcRef;
var _local3 = {x:_local9._x, y:_local9._y + 5};
var _local5 = _local9._width / 2.5;
mcGameScreen.mcPlayer.localToGlobal(_local3);
var _local4 = _local3.y - _local5;
while (_local4 <= (_local3.y + _local5)) {
var _local2 = _local3.x - _local5;
while (_local2 <= (_local3.x + _local5)) {
if (objBitmapData.getPixel(_local2, _local4) != 0) {
var _local8 = Math.abs(Math.abs(_local3.x) - Math.abs(_local2));
var _local7 = Math.abs(Math.abs(_local3.y) - Math.abs(_local4));
var _local6 = Math.sqrt(Math.pow(_local8, 2) + Math.pow(_local7, 2));
if ((_local6 < _local5) & (_local6 > 10)) {
fAddSnowMeter();
objBitmapData.setPixel32(_local2, _local4, 0);
}
}
_local2++;
}
_local4++;
}
}
function fRemoveExtraSnow(P_mcRef, P_nRange) {
var _local6 = (P_mcRef._x - P_nRange) + 1;
var _local7 = P_mcRef._x + P_nRange;
var _local5 = (P_mcRef._y - P_nRange) + 1;
var _local4 = P_mcRef._y + P_nRange;
var _local3 = _local6;
while (_local3 <= _local7) {
var _local2 = _local5;
while (_local2 <= _local4) {
objBitmapData.setPixel32(_local3, _local2, 0);
_local2++;
}
_local3++;
}
}
function fAddSnowMeter() {
nCurrentSnow = nCurrentSnow + nSnowFactor;
if (nCurrentSnow >= 1) {
nCurrentSnow = nCurrentSnow - 1;
fManagePoint(25);
_global.objHUD.fAddMeter("Energy", 3.03);
objPlayer.fScaleSnowBall();
}
}
function fSubSnowMeter() {
nCurrentSnow = nCurrentSnow - (nSnowFactor * 100);
if (nCurrentSnow <= -1) {
nCurrentSnow = nCurrentSnow + 1;
_global.objHUD.fAddMeter("Energy", -3.03);
objPlayer.fMakeSnowMelt();
fManageBurnSnow(Math.ceil(nSnowFactor * 150));
}
}
function fAddSnowman() {
fAddBonusPoint(5000, 470, 250);
if (_global.objHUD.objSnowManMeter.nLevel < 3) {
objPlayer.fSetState("FinishSnowman");
objPlayer.fResetSnowBall();
} else {
objPlayer.fSetState("Win");
}
}
function fAddBonusPoint(P_nPoint, P_posX, P_posY, P_bTimePenalty) {
var _local3 = "BonusPoint" + nBonusPointIndex;
var _local4 = mcGameScreen.attachMovie("mcBonusPoint", _local3, fReturnDepth("Particle"));
_local4._x = P_posX;
_local4._y = 0;
_global.C[_local3] = new BonusPointClass(_local4, P_nPoint, P_posY, nBonusPointIndex, P_bTimePenalty);
fAddBroadcastObj(_global.C[_local3]);
nBonusPointIndex++;
}
function fManageBonus(P_mcRef) {
var _local2 = 1000 * _global.Param.nNextLevel;
var _local3 = Math.floor(25 * (_global.objTimer.nTickTime / 1000));
P_mcRef.sLevelBonus = _global.Param.fStyleNumber(_local2);
P_mcRef.sTimerBonus = _global.Param.fStyleNumber(_local3);
_global.Param.nPlayerScore = _global.Param.nPlayerScore + (_local2 + _local3);
P_mcRef.sScoreFinal = _global.Param.fStyleNumber(_global.Param.nPlayerScore);
}
function fEndLevel() {
_global.Param.fNextLevel();
_global.objTrans.fSetTransition("GameUnload");
}
function fSetSnowColor() {
var _local3 = {ra:String(random(20) + 80), rb:"0", ga:String(random(20) + 80), gb:"0", ba:String(random(20) + 80), bb:"0", aa:"100", ab:"0"};
var _local2 = new Color(mcGameScreen.mcSnow);
_local2.setTransform(_local3);
}
function fTimeOut() {
_global.Param.fPause();
_global.objPopup.fSetState("TimeUp");
}
function fAddBroadcastObj(P_obj) {
mBroadcaster.addListener(P_obj);
}
function fRemoveBroadcastObj(P_obj) {
mBroadcaster.removeListener(P_obj);
}
function fRemoveObject(P_sObjName) {
delete this[P_sObjName];
}
function fManagePoint(P_nPoint) {
nPointToHad = nPointToHad + P_nPoint;
}
function fCheckPointToHad() {
if (nPointToHad > 0) {
var _local2 = 30;
if (nPointToHad < _local2) {
fAddPoint(nPointToHad);
nPointToHad = 0;
} else {
nPointToHad = nPointToHad - _local2;
fAddPoint(_local2);
}
}
}
function fAddPoint(P_nPoint) {
_global.Param.nPlayerScore = _global.Param.nPlayerScore + P_nPoint;
_global.objHUD.fSetPoint();
}
function fRemoveInstance(P_mcRef) {
P_mcRef.swapDepths(fReturnDepth("Remove"));
P_mcRef.removeMovieClip();
}
function fReturnDepth(P_sType) {
for (var _local3 in aIndexSwapDepth) {
if (aIndexSwapDepth[_local3].sType == P_sType) {
aIndexSwapDepth[_local3].nCurrentDepth++;
if (aIndexSwapDepth[_local3].nCurrentDepth > aIndexSwapDepth[_local3].nLimitDepth) {
aIndexSwapDepth[_local3].nCurrentDepth = aIndexSwapDepth[_local3].nBaseDepth;
}
return(aIndexSwapDepth[_local3].nCurrentDepth);
}
}
}
}
Symbol 950 MovieClip [__Packages.PlayerClass] Frame 0
class PlayerClass extends objState
{
var mcRef, sSpaceSwitch, nSpeed, nBallAdvance, nDelaySpeedUpTodo, bSpeedUp, bKeySpace, sState, nFrTotalAnim, nSpeedMax, nRange, nDelaySpeedUpDone;
function PlayerClass (P_mcRef) {
super();
mcRef = P_mcRef;
sSpaceSwitch = "OFF";
nSpeed = 0;
nBallAdvance = 0;
nDelaySpeedUpTodo = 400;
bSpeedUp = false;
fSetRange();
bKeySpace = false;
fGetScaleSize();
fGetSpeedMax();
fSetState("Move");
}
function fDoUnpausableAction() {
if ((sState == "Lose") || (sState == "Win")) {
this[sState]();
}
}
function fSetState(P_sState) {
if (sState != P_sState) {
sState = P_sState;
mcRef.mcState.gotoAndStop(sState);
nFrTotalAnim = mcRef.mcState.mcState._totalframes;
fDoStateInit();
}
}
function fGetSpeedMax() {
nSpeedMax = 2 + (Math.floor(_global.Param.nNextLevel / 5) * 0.1);
if (nSpeedMax > 3) {
nSpeedMax = 3;
}
}
function fGetScaleSize() {
var _local3 = 100 - _global.Param.nNextLevel;
if (_local3 < 70) {
_local3 = 70;
}
mcRef._xscale = _local3;
mcRef._yscale = _local3;
}
function fSetRange() {
nRange = 10 + (mcRef.mcBall._width / 2);
}
function fGetClearLevel(P_bWin) {
_global.Param.fPause();
_global.objPopup.fSetState("Blocker");
if (P_bWin) {
fSetState("Win");
} else {
fSetState("Lose");
}
}
function fCheckKey() {
fCheckKeyPressed();
fCheckKeyUnPressed();
}
function fSetKey(P_sKey, P_bPressed) {
this["bKey" + P_sKey] = P_bPressed;
}
function fManageDelaySpeedUp() {
nDelaySpeedUpDone++;
if (nDelaySpeedUpDone >= nDelaySpeedUpTodo) {
nDelaySpeedUpDone = 0;
fGetSpeedUp(false);
}
}
function fGetSpeedUp(P_bSpeedUp) {
bSpeedUp = P_bSpeedUp;
if (P_bSpeedUp) {
nSpeedMax = nSpeedMax + 0.75;
if (sState == "Move") {
fSetState("MoveSpeedUp");
}
_global.C.objBall.fSpeedUp(true);
fManageWalkSound("sFx_walkFullSpeed");
} else {
nSpeedMax = nSpeedMax - 0.75;
_global.C.objBall.fSpeedUp(false);
if (sState == "MoveSpeedUp") {
fSetState("Move");
}
}
nDelaySpeedUpDone = 0;
}
function fScaleSnowBall() {
if (mcRef.mcBall._xscale < 150) {
mcRef.mcBall._y = mcRef.mcBall._y + 0.2;
nBallAdvance = nBallAdvance + 0.2;
mcRef.mcBall._xscale++;
mcRef.mcBall._yscale++;
}
}
function fMakeSnowMelt() {
if (mcRef.mcBall._xscale > 100) {
mcRef.mcBall._y = mcRef.mcBall._y - 0.2;
nBallAdvance = nBallAdvance - 0.2;
mcRef.mcBall._xscale--;
mcRef.mcBall._yscale--;
}
}
function fResetSnowBall() {
_global.C.objBall.fResetBall();
_global.C.fDeletePixelCorner();
mcRef.mcBall._xscale = 100;
mcRef.mcBall._yscale = 100;
mcRef.mcBall._y = mcRef.mcBall._y - nBallAdvance;
nBallAdvance = 0;
}
function Move() {
if (bSpeedUp) {
fManageDelaySpeedUp();
}
fCheckKey();
fMove();
_global.C.fDeletePixel();
}
function MoveSpeedUp() {
if (bSpeedUp) {
fManageDelaySpeedUp();
}
fCheckKey();
fMove();
_global.C.fDeletePixel();
}
function Slide() {
fMove();
_global.C.fDeletePixel();
}
function Push() {
fCheckKey();
fMove();
_global.C.fDeletePixel();
}
function FinishSnowman() {
if (mcRef.mcState.mcState._currentframe >= nFrTotalAnim) {
_global.objHUD.fAddSnowManLevel();
fSetState("Move");
}
}
function HurtFire() {
if (mcRef.mcState.mcState._currentframe >= nFrTotalAnim) {
fSetState("Move");
}
}
function HurtElectrik() {
if (mcRef.mcState.mcState._currentframe >= nFrTotalAnim) {
fSetState("Move");
}
}
function Win() {
if (mcRef.mcState.mcState._currentframe >= nFrTotalAnim) {
fSetState("Wait");
mcRef.mcState.mcState.stop();
_global.objHUD.fAddSnowManLevel();
}
}
function Lose() {
if (mcRef.mcState.mcState._currentframe >= nFrTotalAnim) {
fSetState("Wait");
mcRef.mcState.mcState.stop();
_global.Param.fQuit();
}
}
function fMove(P_nDirection, P_sCoor) {
nSpeed = nSpeedMax;
if (sState != "Slide") {
fCheckSpaceDown();
}
if (sSpaceSwitch == "OFF") {
if (fValidCollide() == false) {
switch (sState) {
case "Move" :
case "MoveSpeedUp" :
mcRef._rotation = mcRef._rotation + nSpeed;
break;
case "Slide" :
mcRef._rotation = mcRef._rotation + random(2);
break;
case "Push" :
mcRef._rotation = mcRef._rotation + 0.5;
}
}
} else if (fValidCollide() == false) {
switch (sState) {
case "Move" :
case "MoveSpeedUp" :
mcRef._rotation = mcRef._rotation - nSpeed;
break;
case "Slide" :
mcRef._rotation = mcRef._rotation - random(2);
break;
case "Push" :
mcRef._rotation = mcRef._rotation - 0.5;
}
}
}
function fValidCollide() {
var _local4 = {x:mcRef.mcState.mcCenter._x, y:mcRef.mcState.mcCenter._y};
mcRef.mcState.localToGlobal(_local4);
var _local5 = 35;
if ((_local4.x - nRange) <= (-_local5)) {
mcRef._x = mcRef._x + nSpeed;
return(true);
}
if ((_local4.x + nRange) >= (_global.Param.nStageWidth + _local5)) {
mcRef._x = mcRef._x - nSpeed;
return(true);
}
if ((_local4.y - nRange) <= (-_local5)) {
mcRef._y = mcRef._y + nSpeed;
return(true);
}
if ((_local4.y + nRange) >= (_global.Param.nStageHeight + _local5)) {
mcRef._y = mcRef._y - nSpeed;
return(true);
}
for (var _local6 in _global.C.aAvoidingObstacle) {
var _local3 = fGetObstacleRange(_global.C.aAvoidingObstacle[_local6]);
if (_local3) {
fRepulseFromObstacle(_global.C.aAvoidingObstacle[_local6]);
return(true);
}
}
return(false);
}
function fGetObstacleRange(P_mcObstacleRef) {
var _local2 = {x:mcRef.mcBall._x, y:mcRef.mcBall._y};
mcRef.localToGlobal(_local2);
var _local5 = Math.abs(Math.abs(_local2.x) - Math.abs(P_mcObstacleRef._x));
var _local4 = Math.abs(Math.abs(_local2.y) - Math.abs(P_mcObstacleRef._y));
var _local3 = Math.sqrt(Math.pow(_local5, 2) + Math.pow(_local4, 2));
if (_local3 <= nRange) {
return(true);
}
return(false);
}
function fRepulseFromObstacle(P_mcObstacleRef) {
var _local2 = {x:mcRef.mcState.mcCenter._x, y:mcRef.mcState.mcCenter._y};
mcRef.mcState.localToGlobal(_local2);
var _local3;
var _local10 = Math.abs(P_mcObstacleRef._x) - Math.abs(_local2.x);
var _local11 = Math.abs(P_mcObstacleRef._y) - Math.abs(_local2.y);
_local3 = Math.atan2(_local11, _local10);
_local3 = (_local3 * 180) / Math.PI;
var _local7 = _local3;
var _local4 = _local7 * (Math.PI/180);
var _local9 = 1 * Math.cos(_local4);
var _local8 = 1 * Math.sin(_local4);
var _local5 = nSpeed * _local9;
var _local6 = nSpeed * _local8;
mcRef._x = mcRef._x - _local5;
mcRef._y = mcRef._y - _local6;
}
function fCheckSpaceDown() {
if (bKeySpace && (sSpaceSwitch == "OFF")) {
sSpaceSwitch = "ON";
fChangeSelect(1, 2);
} else if ((!bKeySpace) && (sSpaceSwitch == "ON")) {
sSpaceSwitch = "OFF";
fChangeSelect(2, 1);
}
}
function fChangeSelect(startPoint, finalPoint) {
var _local5 = mcRef.mcState["Blank" + startPoint]._x - mcRef.mcState["Blank" + finalPoint]._x;
var _local4 = mcRef.mcState["Blank" + finalPoint].getBounds(_global.Param.mcRef);
var _local8 = (_local4.xMax + _local4.xMin) / 2;
var _local10 = (_local4.yMax + _local4.yMin) / 2;
var _local3 = mcRef.mcState["Blank" + startPoint].getBounds(_global.Param.mcRef);
var _local9 = (_local3.xMax + _local3.xMin) / 2;
var _local11 = (_local3.yMax + _local3.yMin) / 2;
var _local6 = _local8 - _local9;
var _local7 = _local10 - _local11;
mcRef.mcState._x = mcRef.mcState._x + _local5;
mcRef.mcBall._x = mcRef.mcBall._x + _local5;
mcRef._x = mcRef._x + _local6;
mcRef._y = mcRef._y + _local7;
}
function fCheckKeyPressed() {
if (_global.Param.bPaused == false) {
if (Key.isDown(32)) {
fSetKey("Space", true);
}
}
}
function fCheckKeyUnPressed() {
if (_global.Param.bPaused == false) {
if (!Key.isDown(32)) {
fSetKey("Space", false);
}
}
}
function fManageWalkSound(P_sState) {
_global.objSnd.fStopSounds("sFx_walkIce");
_global.objSnd.fStopSounds("sFx_walk");
_global.objSnd.fStopSounds("sFx_walkHardSnow");
_global.objSnd.fStopSounds("sFx_walkFullSpeed");
if (P_sState != undefined) {
_global.objSnd.fPlaySounds(P_sState, 90, 99999);
}
}
function fPause() {
fManageWalkSound(undefined);
mcRef.mcState.mcState.stop();
mcRef.mcBall.mcState.stop();
}
function fUnPause() {
if (sState == "Slide") {
fManageWalkSound("sFx_walkIce");
}
if (sState == "Push") {
fManageWalkSound("sFx_walkHardSnow");
}
if (sState == "Move") {
if (bSpeedUp) {
fManageWalkSound("sFx_walkFullSpeed");
} else {
fManageWalkSound("sFx_walk");
}
}
mcRef.mcState.mcState.play();
mcRef.mcBall.mcState.play();
}
function fDoStateInit() {
switch (sState) {
case "Push" :
fManageWalkSound("sFx_walkHardSnow");
break;
case "Slide" :
fManageWalkSound("sFx_walkIce");
break;
case "Move" :
if (bSpeedUp) {
fManageWalkSound("sFx_walkFullSpeed");
fSetState("MoveSpeedUp");
} else {
fManageWalkSound("sFx_walk");
}
mcRef.mcBall.mcState.play();
break;
case "Win" :
case "Lose" :
fManageWalkSound(undefined);
if (sState == "Win") {
_global.objSnd.fPlaySounds("sFx_win", 100, 1);
}
if (sState == "Lose") {
_global.objSnd.fPlaySounds("sFx_lose", 100, 1);
}
_global.Param.nPlayerScore = _global.Param.nPlayerScore + _global.C.nPointToHad;
_global.C.nPointToHad = 0;
_global.objHUD.fSetPoint();
mcRef.mcBall.mcState.stop();
break;
case "FinishSnowman" :
fManageWalkSound(undefined);
_global.objSnd.fPlaySounds("sFx_finishSnowBall", 100, 1);
mcRef.mcBall.mcState.stop();
break;
case "HurtFire" :
fManageWalkSound(undefined);
_global.objSnd.fPlaySounds("sFx_SBAyaye", 100, 1);
mcRef.mcBall.mcState.stop();
break;
case "HurtElectrik" :
fManageWalkSound(undefined);
_global.objSnd.fPlaySounds("sFx_electrik", 100, 2);
mcRef.mcBall.mcState.stop();
}
}
}
Symbol 951 MovieClip [__Packages.BallClass] Frame 0
class BallClass extends objState
{
var mcRef, bPlanktonHitted, nDelayPKDone, nDelayPKTodo, fSetState, sState;
function BallClass (P_mcRef) {
super();
mcRef = P_mcRef;
bPlanktonHitted = false;
nDelayPKDone = 0;
nDelayPKTodo = 170;
fSetState("Move");
}
function fPause() {
}
function fUnPause() {
}
function MovePK() {
nDelayPKDone++;
if (nDelayPKDone >= nDelayPKTodo) {
nDelayPKDone = 0;
fSetPlankton(false);
}
}
function MoveSPUPPK() {
nDelayPKDone++;
if (nDelayPKDone >= nDelayPKTodo) {
nDelayPKDone = 0;
fSetPlankton(false);
}
}
function fSetPlankton(P_bPlanktonHitted) {
bPlanktonHitted = P_bPlanktonHitted;
if (bPlanktonHitted) {
if (sState == "Move") {
fSetState("MovePK");
} else {
fSetState("MoveSPUPPK");
}
} else if (sState == "MoveSPUPPK") {
fSetState("MoveSPUP");
} else {
fSetState("Move");
}
}
function fSpeedUp(P_bSpeedUp) {
if (P_bSpeedUp) {
if (sState == "Move") {
fSetState("MoveSPUP");
} else {
fSetState("MoveSPUPPK");
}
} else if (sState == "MoveSPUP") {
fSetState("Move");
} else {
fSetState("MovePK");
}
}
}
Symbol 952 MovieClip [__Packages.TimerClass] Frame 0
class TimerClass extends objState
{
var fSetState, nDelayToUpdate, nTickTime, nHour, nMinute, nSeconde, mcRefToSet, sTimerMode, sState;
function TimerClass () {
super();
fSetState("Stop");
}
function fInitTimer(P_objCurTime, P_mcRef, P_sTimerMode) {
nDelayToUpdate = 0;
nTickTime = 0;
nHour = P_objCurTime.nHour;
nMinute = P_objCurTime.nMinute;
nSeconde = P_objCurTime.nSecond;
fGetTickTime();
mcRefToSet = P_mcRef;
sTimerMode = P_sTimerMode;
fSetTimeStyle();
fSetState(sTimerMode);
}
function fGetTickTime() {
nTickTime = nTickTime + (nHour * 3600000);
nTickTime = nTickTime + (nMinute * 60000);
nTickTime = nTickTime + (nSeconde * 1000);
}
function fDoAction() {
this[sState]();
}
function Restricted() {
var _local3 = 1000 / _global.Param.nStageFPS;
nDelayToUpdate++;
fAddTime(-_local3);
if (nDelayToUpdate == 2) {
nDelayToUpdate = 0;
fSetTimeStyle();
fValidTimer();
}
}
function OpenUp() {
var _local3 = _global.Param.nStageFPS;
nDelayToUpdate++;
fAddTime(_local3);
if (nDelayToUpdate == 2) {
nDelayToUpdate = 0;
fSetTimeStyle();
}
}
function fValidTimer() {
if (sTimerMode == "Restricted") {
if (nTickTime <= 0) {
_global.C.fTimeOut();
}
}
}
function fAddTime(P_nTime) {
nTickTime = nTickTime + P_nTime;
}
function fSetTimeStyle() {
var _local5 = "";
var _local7 = "";
var _local9 = "";
var _local3 = nTickTime;
if (_local3 >= 0) {
if (_local3 >= 3600000) {
var _local4 = Math.floor(_local3 / 3600000);
_local3 = _local3 - (_local4 * 3600000);
nHour = _local4;
_local5 = _global.Param.fStyleNumber(_local4);
}
if (_local3 >= 60000) {
var _local8 = Math.floor(_local3 / 60000);
_local3 = _local3 - (_local8 * 60000);
nMinute = _local8;
_local7 = _global.Param.fStyleNumber(_local8, 2);
} else {
nMinute = 0;
_local7 = "00";
}
if (_local3 >= 1000) {
var _local6 = Math.floor(_local3 / 1000);
_local3 = _local3 - (_local6 * 1000);
nSeconde = _local6;
_local9 = _global.Param.fStyleNumber(_local6, 2);
} else {
nSeconde = 0;
_local9 = "00";
}
var _local10 = "";
if (_local5 != "") {
_local10 = _local5 + ":";
}
mcRefToSet.sTimerMin = _local7;
mcRefToSet.sTimerSec = _local9;
} else {
var _local10 = "";
nTickTime = 0;
mcRefToSet.sTimerMin = "00";
mcRefToSet.sTimerSec = "00";
}
}
}
Symbol 953 MovieClip [__Packages.FallingSnowClass] Frame 0
class FallingSnowClass extends objState
{
var mcRef, bAddSnow, nRangeDone, fSetState, nFrTotalAnim, sState;
function FallingSnowClass (P_mcRef) {
super();
mcRef = P_mcRef;
bAddSnow = true;
nRangeDone = 0;
fSetState("Appear");
}
function Appear() {
fGenerateSnow();
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
fSetState("Disappear");
}
}
function fGenerateSnow() {
if (bAddSnow) {
_global.C.fAffectPixel(mcRef.mcState, false, true, nRangeDone, this, 24);
nRangeDone = nRangeDone + 2;
}
}
function Disappear() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
var _local3 = mcRef._name;
_global.C.fRemoveInstance(mcRef);
_global.C.fRemoveBroadcastObj(this);
_global.C.fRemoveObject(_local3);
}
}
function fStopAddSnow() {
bAddSnow = false;
}
function fDoStateInit() {
switch (sState) {
case "Appear" :
_global.objSnd.fPlaySounds("sFx_fallingSnow", 100, 1);
break;
case "Disappear" :
_global.objSnd.fPlaySounds("sFx_SnowImpact", 100, 1);
mcRef.swapDepths(_global.C.fReturnDepth("EnemyUnder"));
}
}
}
Symbol 954 MovieClip [__Packages.JFishClass] Frame 0
class JFishClass extends objState
{
var mcRef, fSetState;
function JFishClass (P_mcRef) {
super();
mcRef = P_mcRef;
fSetState("Idle");
}
function fPause() {
mcRef.stop();
mcRef.mcState.stop();
}
function fUnPause() {
mcRef.play();
mcRef.mcState.play();
}
function Idle() {
fManageHitPlayer();
if (mcRef._currentframe >= mcRef._totalframes) {
var _local3 = mcRef._name;
_global.C.fSetAddJFish(true);
_global.C.fRemoveInstance(mcRef);
_global.C.fRemoveBroadcastObj(this);
_global.C.fRemoveObject(_local3);
}
}
function fCheckCanMelt() {
_global.C.aStopMelting.push(false);
}
function fManageHitPlayer() {
if (_global.C.objPlayer.sState == "Move") {
if (mcRef.mcState.hitTest(_global.C.objPlayer.mcRef.mcState.mcHitZone)) {
_global.C.objPlayer.fSetState("HurtElectrik");
}
}
}
}
Symbol 955 MovieClip [__Packages.EnemyClass] Frame 0
class EnemyClass extends objState
{
var mcRef, nRotationSpeed, nRotationDone, nPoint, fSetState, nFrTotalAnim, sState;
function EnemyClass (P_mcRef) {
super();
mcRef = P_mcRef;
nRotationSpeed = 1;
nRotationDone = 0;
nPoint = 5000;
fSetState("Appear");
}
function Appear() {
fManageHitPlayer();
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
fSetState("StartEngin");
}
}
function StartEngin() {
fManageHitPlayer();
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
fSetState("Attack");
}
}
function Attack() {
var _local3 = 1;
while (_local3 <= 5) {
_global.C.fAffectPixel(mcRef.mcState["mcAttackZone" + _local3], true, true);
fManageFirePlayer(mcRef.mcState["mcAttackZone" + _local3]);
_local3++;
}
fTurnAround();
fManageHitPlayer();
}
function Die() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
_global.C.fSetAddSnow(true);
_global.C.objBall.fSetPlankton(true);
var _local3 = mcRef._name;
_global.C.fRemoveInstance(mcRef);
_global.C.fRemoveBroadcastObj(this);
_global.C.fRemoveObject(_local3);
}
}
function Disappear() {
fManageHitPlayer();
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
var _local3 = mcRef._name;
_global.C.fSetAddSnow(true);
_global.C.fRemoveInstance(mcRef);
_global.C.fRemoveBroadcastObj(this);
_global.C.fRemoveObject(_local3);
}
}
function fTurnAround() {
mcRef._rotation = mcRef._rotation + nRotationSpeed;
nRotationDone = nRotationDone + nRotationSpeed;
if (nRotationDone >= 360) {
fSetState("Disappear");
}
}
function fCheckCanMelt() {
_global.C.aStopMelting.push(false);
}
function fManageFirePlayer(P_mcFireRef) {
if (((_global.C.objPlayer.sState != "HurtFire") && (_global.C.objPlayer.sState != "HurtElectrik")) && (_global.C.objPlayer.sState != "FinishSnowman")) {
var _local2 = {x:_global.C.objPlayer.mcRef.mcState.mcHitZone._x, y:_global.C.objPlayer.mcRef.mcState.mcHitZone._y};
_global.C.objPlayer.mcRef.mcState.localToGlobal(_local2);
var _local3 = {x:P_mcFireRef._x, y:P_mcFireRef._y};
P_mcFireRef._parent.localToGlobal(_local3);
var _local6 = Math.abs(Math.abs(_local2.x) - Math.abs(_local3.x));
var _local5 = Math.abs(Math.abs(_local2.y) - Math.abs(_local3.y));
var _local4 = Math.sqrt(Math.pow(_local6, 2) + Math.pow(_local5, 2));
if (_local4 <= 20) {
_global.C.objPlayer.fSetState("HurtFire");
}
_local2 = {x:_global.C.objBall.mcRef._x, y:_global.C.objBall.mcRef._y};
_global.C.objPlayer.mcRef.localToGlobal(_local2);
_local6 = Math.abs(Math.abs(_local2.x) - Math.abs(_local3.x));
_local5 = Math.abs(Math.abs(_local2.y) - Math.abs(_local3.y));
_local4 = Math.sqrt(Math.pow(_local6, 2) + Math.pow(_local5, 2));
if (_local4 <= 10) {
_global.C.fSubSnowMeter();
}
}
}
function fManageHitPlayer() {
var _local3 = {x:_global.C.objBall.mcRef._x, y:_global.C.objBall.mcRef._y};
_global.C.objPlayer.mcRef.localToGlobal(_local3);
var _local6 = Math.abs(Math.abs(_local3.x) - Math.abs(mcRef._x));
var _local5 = Math.abs(Math.abs(_local3.y) - Math.abs(mcRef._y));
var _local4 = Math.sqrt(Math.pow(_local6, 2) + Math.pow(_local5, 2));
if (_local4 <= 30) {
_global.C.fAddBonusPoint(nPoint, 470, 250);
fSetState("Die");
}
}
function fPause() {
_global.objSnd.fStopSounds("sFx_PKfire");
mcRef.mcState.stop();
}
function fUnPause() {
mcRef.mcState.play();
if (sState == "Attack") {
_global.objSnd.fPlaySounds("sFx_PKfire", 60, 99999);
}
}
function fDoStateInit() {
switch (sState) {
case "Appear" :
_global.objSnd.fPlaySounds("sFx_PKAppear", 90, 1);
break;
case "Disappear" :
_global.objSnd.fStopSounds("sFx_PKfire");
_global.objSnd.fPlaySounds("sFx_PKDisappear", 100, 1);
break;
case "StartEngin" :
_global.objSnd.fPlaySounds("sFx_PKIgnit", 100, 3);
break;
case "Attack" :
_global.objSnd.fPlaySounds("sFx_PKfire", 60, 99999);
break;
case "Die" :
_global.objSnd.fStopSounds("sFx_PKfire");
_global.objSnd.fPlaySounds("sFx_PKDie", 40, 1);
}
}
}
Symbol 956 MovieClip [__Packages.SnowTrapClass] Frame 0
class SnowTrapClass extends objState
{
var mcRef, sType, bActivated, nRangeDone, bAddSnow, nDelayMeltingDone, nDelayMeltingTodo, fSetState, nFrTotalAnim, sState;
function SnowTrapClass (P_mcRef, P_sType) {
super();
mcRef = P_mcRef;
sType = P_sType;
bActivated = false;
nRangeDone = 0;
bAddSnow = true;
nDelayMeltingDone = 0;
nDelayMeltingTodo = (300 + random(300)) + (25 * _global.Param.nNextLevel);
fSetState("Idle");
}
function Idle() {
fManageDelayMelting();
fManageHitPlayer();
}
function fManageDelayMelting() {
nDelayMeltingDone++;
if (nDelayMeltingDone >= nDelayMeltingTodo) {
_global.C.aStopMelting = [];
_global.C.mBroadcaster.broadcastMessage("fCheckCanMelt");
if (_global.C.aStopMelting.length == 0) {
nDelayMeltingDone = 0;
fSetState("Disappear");
}
}
}
function Disappear() {
fManageHitPlayer();
if (bAddSnow) {
_global.C.fAffectPixel(mcRef.mcState, false, false, nRangeDone, this, 30);
nRangeDone = nRangeDone + 2;
}
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
var _local3 = mcRef._name;
_global.C.fRemoveInstance(mcRef);
_global.C.fRemoveBroadcastObj(this);
_global.C.fRemoveObject(_local3);
}
}
function fStopAddSnow() {
bAddSnow = false;
}
function fCheckCanMelt() {
if (sState == "Disappear") {
_global.C.aStopMelting.push(false);
}
}
function fManageHitPlayer() {
switch (sType) {
case "Ice" :
if (mcRef.mcHitZone.hitTest(_global.C.objPlayer.mcRef.mcState.mcHitZone) && (sState == "Idle")) {
if (_global.C.objPlayer.sState == "Move") {
bActivated = true;
_global.C.objPlayer.fSetState("Slide");
_global.objSnd.fPlaySounds("sFx_SBSlide", 50, 1);
}
} else if ((_global.C.objPlayer.sState == "Slide") && (bActivated)) {
bActivated = false;
_global.C.objPlayer.fSetState("Move");
}
break;
case "HardSnow" :
if (mcRef.mcHitZone.hitTest(_global.C.objPlayer.mcRef.mcState.mcHitZone) && (sState == "Idle")) {
if (_global.C.objPlayer.sState == "Move") {
bActivated = true;
_global.C.objPlayer.fSetState("Push");
_global.objSnd.fPlaySounds("sFx_SBPush", 50, 1);
}
} else {
if (!((_global.C.objPlayer.sState == "Push") && (bActivated))) {
break;
}
bActivated = false;
_global.C.objPlayer.fSetState("Move");
}
}
}
function fDoStateInit() {
switch (sState) {
case "Idle" :
break;
case "Disappear" :
}
}
}
Symbol 957 MovieClip [__Packages.BonusClass] Frame 0
class BonusClass extends objState
{
var mcRef, sType, bPicked, nDelayIdleDone, nDelayIdleTodo, fSetState, nFrTotalAnim, nPoint;
function BonusClass (P_mcRef, P_sType) {
super();
mcRef = P_mcRef;
sType = P_sType;
bPicked = true;
nDelayIdleDone = 0;
switch (sType) {
case "mcBonusItemPoint" :
nDelayIdleTodo = 300 + random(500);
break;
case "mcBonusItemSpeed" :
nDelayIdleTodo = 300 + random(1000);
break;
case "mcBonusItemTime" :
nDelayIdleTodo = 300 + random(1000);
}
fSetState("IdleOff");
}
function IdleOff() {
nDelayIdleDone++;
if (nDelayIdleDone >= nDelayIdleTodo) {
nDelayIdleDone = 0;
bPicked = false;
fSetState("Appear");
}
}
function Appear() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
fSetState("Idle");
}
}
function Idle() {
fManageHitPlayer();
fManageDelay();
}
function Taken() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
var _local3 = mcRef._name;
_global.C.fRemoveInstance(mcRef);
_global.C.fRemoveBroadcastObj(this);
_global.C.fRemoveObject(_local3);
}
}
function Disappear() {
if (mcRef.mcState._currentframe >= nFrTotalAnim) {
var _local3 = mcRef._name;
_global.C.fRemoveInstance(mcRef);
_global.C.fRemoveBroadcastObj(this);
_global.C.fRemoveObject(_local3);
}
}
function fManageDelay() {
nDelayIdleDone++;
if (nDelayIdleDone >= nDelayIdleTodo) {
nDelayIdleDone = 0;
bPicked = true;
fSetState("Disappear");
}
}
function fManageHitPlayer() {
if (bPicked == false) {
var _local3 = {x:_global.C.objPlayer.mcRef.mcBall._x, y:_global.C.objPlayer.mcRef.mcBall._y};
_global.C.objPlayer.mcRef.localToGlobal(_local3);
var _local6 = Math.abs(Math.abs(_local3.x) - Math.abs(mcRef._x));
var _local5 = Math.abs(Math.abs(_local3.y) - Math.abs(mcRef._y));
var _local4 = Math.sqrt(Math.pow(_local6, 2) + Math.pow(_local5, 2));
if (_local4 <= 30) {
bPicked = true;
fManageHit();
}
}
}
function fManageHit() {
switch (sType) {
case "mcBonusItemPoint" :
nPoint = 2000;
if (random(2) == 0) {
_global.objSnd.fPlaySounds("sFx_SBLaugh", 100, 1);
} else {
_global.objSnd.fPlaySounds("sFx_SBLaugh2", 100, 1);
}
_global.C.fAddBonusPoint(nPoint, 470, 250);
break;
case "mcBonusItemSpeed" :
nPoint = 250;
_global.objSnd.fPlaySounds("sFx_SBLaugh2", 100, 1);
_global.C.objPlayer.fGetSpeedUp(true);
_global.C.fAddBonusPoint(nPoint, 470, 250);
break;
case "mcBonusItemTime" :
_global.objSnd.fPlaySounds("sFx_timeLost", 100, 1);
var _local3 = 10;
_global.objTimer.fAddTime((-_local3) * 1000);
_global.C.fAddBonusPoint(_local3, 470, 250, true);
}
_global.objSnd.fPlaySounds("sFx_bonusTaken", 100, 1);
fSetState("Taken");
}
}
Symbol 958 MovieClip [__Packages.BonusPointClass] Frame 0
class BonusPointClass extends objState
{
var mcRef, nObjectIndex, bTimePenalty, nSpeed, nPoint, nStartY, nDelayTodo, nDelayDone, fSetState, sState;
function BonusPointClass (P_mcRef, P_nPoint, P_nStartY, P_nObjectIndex, P_bTimePenalty) {
super(mcRef);
mcRef = P_mcRef;
nObjectIndex = P_nObjectIndex;
bTimePenalty = P_bTimePenalty;
nSpeed = 6;
nPoint = P_nPoint;
nStartY = P_nStartY;
nDelayTodo = 140;
nDelayDone = 0;
fSetState("Appear");
}
function Appear() {
fMove();
if (mcRef._xscale >= 100) {
fSetState("Move");
}
}
function Move() {
fMove();
nDelayDone++;
if (nDelayDone >= nDelayTodo) {
nDelayDone = 0;
fSetState("Disappear");
}
}
function Disappear() {
fMove();
mcRef._alpha = mcRef._alpha - 10;
if (mcRef._alpha <= 0) {
var _local3 = mcRef._name;
_global.C.fRemoveInstance(mcRef);
_global.C.fRemoveBroadcastObj(this);
_global.C.fRemoveObject(_local3);
}
}
function fMove() {
if (_global.C.mcGameScreen["BonusPoint" + (nObjectIndex - 1)] == undefined) {
nSpeed = nSpeed + 0.3;
if ((mcRef._y + nSpeed) > _global.Param.nStageHeight) {
nSpeed = 0;
mcRef._y = _global.Param.nStageHeight;
} else {
mcRef._y = mcRef._y + nSpeed;
}
} else {
nSpeed = nSpeed + 0.3;
if ((mcRef._y + nSpeed) > ((_global.C.mcGameScreen["BonusPoint" + (nObjectIndex - 1)]._y - _global.C.mcGameScreen["BonusPoint" + (nObjectIndex - 1)]._height) + 10)) {
nSpeed = 0;
mcRef._y = (_global.C.mcGameScreen["BonusPoint" + (nObjectIndex - 1)]._y - _global.C.mcGameScreen["BonusPoint" + (nObjectIndex - 1)]._height) + 10;
} else {
mcRef._y = mcRef._y + nSpeed;
}
}
}
function fDoStateInit() {
switch (sState) {
case "Appear" :
mcRef._xscale = (mcRef._yscale = 100);
if (bTimePenalty != true) {
mcRef.sPoint = "+" + nPoint;
_global.C.fManagePoint(nPoint);
} else {
mcRef.sPoint = ("-" + nPoint) + " secs.";
}
break;
case "Move" :
}
}
}
Symbol 76 MovieClip Frame 1
stop();
Symbol 76 MovieClip Frame 2
gotoAndStop (1);
Symbol 138 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
_global.Param.fResumeHelp();
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 141 Button
on (release) {
nextFrame();
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 235 Button
on (release) {
prevFrame();
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 245 MovieClip Frame 1
_visible = false;
Symbol 350 MovieClip Frame 1
stop();
Symbol 355 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
_global.Param.fResume();
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 359 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
_global.objPopup.fSetState("QuitOpen");
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 363 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
_global.Param.fHelp();
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 366 Button
on (release) {
_global.objSnd.fDoMute();
nextFrame();
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOverMenu", 100, 1);
}
Symbol 371 Button
on (release) {
_global.objSnd.fUndoMute();
prevFrame();
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOverMenu", 100, 1);
}
Symbol 372 MovieClip Frame 1
stop();
Instance of Symbol 372 MovieClip in Symbol 374 MovieClip Frame 17
onClipEvent (load) {
if (_global.objSnd.Mute) {
nextFrame();
}
}
Symbol 375 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDownMenu", 100, 1);
_global.Param.fResume();
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOverMenu", 100, 1);
}
Symbol 376 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDownMenu", 100, 1);
_global.objPopup.fSetState("QuitOpen");
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOverMenu", 100, 1);
}
Symbol 377 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDownMenu", 100, 1);
_global.Param.fHelp();
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOverMenu", 100, 1);
}
Instance of Symbol 372 MovieClip in Symbol 378 MovieClip Frame 1
onClipEvent (load) {
if (_global.objSnd.Mute) {
nextFrame();
}
}
Symbol 381 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDownMenu", 100, 1);
_global.Param.fQuit();
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOverMenu", 100, 1);
}
Symbol 385 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDownMenu", 100, 1);
_global.objPopup.fSetState("MenuOpen");
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOverMenu", 100, 1);
}
Symbol 459 Button
on (release) {
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
_global.C.fEndLevel();
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 465 MovieClip Frame 1
stop();
Symbol 479 MovieClip Frame 1
sLevel = _global.Param.fStyleNumber(_global.Param.nNextLevel, 2);
Symbol 480 MovieClip Frame 3
_global.objSnd.fPlaySounds("sFx_transition", 100, 1);
Symbol 480 MovieClip Frame 35
_global.objSnd.fPlaySounds("sFx_transition", 100, 1);
Symbol 518 Button
on (release) {
_global.objTrans.fSetTransition("Help");
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 519 Button
on (release) {
_global.objTrans.fSetTransition("Game");
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 536 MovieClip Frame 1
_visible = false;
Symbol 673 MovieClip Frame 1
_global.C.fRemoveInstance(this);
Symbol 695 MovieClip Frame 1
_global.C.fAddPlaces("Bonus", this);
Symbol 698 MovieClip Frame 1
_global.C.fAddPlaces("Obstacle", this);
Symbol 701 MovieClip Frame 1
_global.C.fAddPlaces("Enemy", this);
Symbol 763 MovieClip Frame 1
_visible = false;
Symbol 881 Button
on (release) {
_global.Param.fMenu();
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 904 Button
on (release) {
_global.objHS.fDoViewHS();
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 907 Button
on (release) {
_global.Param.fPlayAgain();
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 910 Button
on (release) {
_global.objHS.fDoSubmitHS();
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}
Symbol 931 Button
on (press) {
ControlScroll.scrollUp = true;
_global.objSnd.fPlaySounds("sFx_btnDownMenu", 100, 1);
}
on (release, releaseOutside) {
ControlScroll.scrollUp = false;
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOverMenu", 100, 1);
}
Symbol 934 Button
on (press) {
ControlScroll.scrollDown = true;
_global.objSnd.fPlaySounds("sFx_btnDownMenu", 100, 1);
}
on (release, releaseOutside) {
ControlScroll.scrollDown = false;
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOverMenu", 100, 1);
}
Instance of Symbol 922 MovieClip "ControlScroll" in Symbol 935 MovieClip Frame 1
onClipEvent (load) {
scrollUp = false;
scrollDown = false;
}
onClipEvent (enterFrame) {
if (scrollUp == true) {
_parent.txtHSNumber.scroll--;
_parent.txtHSName.scroll--;
_parent.txtHSScore.scroll--;
} else if (scrollDown == true) {
_parent.txtHSNumber.scroll++;
_parent.txtHSName.scroll++;
_parent.txtHSScore.scroll++;
}
}
Instance of Symbol 912 MovieClip in Symbol 938 MovieClip Frame 1
/* no clip actions */
Symbol 939 Button
on (release) {
btnSubmitHS._visible = false;
_global.objHS.submitScore(_global.Param.nPlayerScore);
_global.objSnd.fPlaySounds("sFx_btnDown", 100, 1);
}
on (rollOver) {
_global.objSnd.fPlaySounds("sFx_btnOver", 100, 1);
}