Frame 1
mochi.as2.MochiAd.showPreGameAd({id:"bf0f80c0dfc68527", res:"650x650"});
mochi.as2.MochiServices.connect("bf0f80c0dfc68527");
Frame 2
function securescore(oldscore, ssval, ssmode) {
ssmodified = false;
if ((securestartscore + (securetotal / ssfactor)) != oldscore) {
ssmodified = true;
}
if (ssmode == 1) {
securetotal = securetotal + (ssval * ssfactor);
}
if (ssmode == 2) {
securetotal = securetotal - (ssval * ssfactor);
}
if (ssmode == 3) {
securetotal = securetotal + ((ssval * ssfactor) - oldscore);
}
if (ssmode == 4) {
securetotal = ssval * ssfactor;
}
securecount = securecount + 1;
if (oldscore != (securescorecheck / ssfactor)) {
ssmodified = true;
}
if (ssmode == 1) {
securescorecheck = securescorecheck + (ssval * ssfactor);
}
if (ssmode == 2) {
securescorecheck = securescorecheck - (ssval * ssfactor);
}
if (ssmode == 3) {
securescorecheck = ssval * ssfactor;
}
if (ssmode == 4) {
securescorecheck = ssval * ssfactor;
}
if (ssmodified == true) {
securescorecheck = 0;
}
securelog.push(securescorecheck / ssfactor);
return(securescorecheck / ssfactor);
}
stop();
_global.ROOT = this;
score = 0;
securestartscore = 0;
securescorecheck = 0;
securetotal = 0;
securecount = 0;
ssfactor = (random(10) + 2) * -1;
securelog = new Array();
_quality = "best";
com.novelgames.flashgames.commonAS2.MainDevelopment.initialize(this);
_quality = "BEST";
Symbol 7 MovieClip [empty] Frame 1
#initclip 56
Object.registerClass("empty", com.novelgames.flashgames.commonAS2.NewMovieClip);
#endinitclip
Symbol 23 MovieClip [MuteButton] Frame 1
#initclip 43
Object.registerClass("MuteButton", com.novelgames.flashgames.commonAS2.MuteButton);
#endinitclip
Symbol 25 MovieClip [InstructionsButton] Frame 1
#initclip 44
Object.registerClass("InstructionsButton", com.novelgames.flashgames.commonAS2.InstructionsButton);
#endinitclip
Symbol 32 Button
on (release) {
getURL ("http://www.skillpod.com", "blank");
}
Symbol 37 Button
on (release) {
getURL ("http://www.skillpod.com", "blank");
}
Symbol 41 Button
on (release) {
getURL ("http://www.skillpod.com/game-info/67319", "blank");
}
Symbol 44 MovieClip [GameOverDialog] Frame 1
#initclip 45
Object.registerClass("GameOverDialog", com.novelgames.flashgames.treeAS2.GameOverDialog);
#endinitclip
Symbol 45 MovieClip [Game] Frame 1
#initclip 46
Object.registerClass("Game", com.novelgames.flashgames.treeAS2.Game);
#endinitclip
caurina.transitions.Tweener.addTween(blocksHolder, {_x:100, time:0.5, delay:0.1, transition:"easeOutBack"});
scrollRight.onPress = function () {
if (blocksHolder._x == 100) {
caurina.transitions.Tweener.addTween(blocksHolder, {_x:-220, time:1.5, delay:0.1, transition:"easeOutBack"});
trace("scrollRight pressed || x = " + blocksHolder._x);
} else if (blocksHolder._x == -220) {
caurina.transitions.Tweener.addTween(blocksHolder, {_x:-520, time:1.5, delay:0.1, transition:"easeOutBack"});
trace("scrollRight pressed || x = " + blocksHolder._x);
} else if (blocksHolder._x == -520) {
trace("scrollRight pressed");
caurina.transitions.Tweener.addTween(blocksHolder, {_x:-820, time:1.5, delay:0.1, transition:"easeOutBack"});
} else if (blocksHolder._x == -820) {
trace("scrollRight pressed");
caurina.transitions.Tweener.addTween(blocksHolder, {_x:-1155, time:1.5, delay:0.1, transition:"easeOutBack"});
}
};
scrollLeft.onPress = function () {
if (blocksHolder._x == -1155) {
caurina.transitions.Tweener.addTween(blocksHolder, {_x:-820, time:1.5, delay:0.1, transition:"easeOutBack"});
trace("scrollRight pressed || x = " + blocksHolder._x);
} else if (blocksHolder._x == -820) {
caurina.transitions.Tweener.addTween(blocksHolder, {_x:-520, time:1.5, delay:0.1, transition:"easeOutBack"});
trace("scrollRight pressed || x = " + blocksHolder._x);
} else if (blocksHolder._x == -520) {
trace("scrollRight pressed");
caurina.transitions.Tweener.addTween(blocksHolder, {_x:-220, time:1.5, delay:0.1, transition:"easeOutBack"});
} else if (blocksHolder._x == -220) {
trace("scrollRight pressed");
caurina.transitions.Tweener.addTween(blocksHolder, {_x:100, time:1.5, delay:0.1, transition:"easeOutBack"});
}
};
Symbol 48 MovieClip [star] Frame 1
#initclip 47
Object.registerClass("star", com.novelgames.flashgames.commonAS2.NewMovieClip);
#endinitclip
Symbol 67 MovieClip [wire] Frame 1
#initclip 48
Object.registerClass("wire", com.novelgames.flashgames.commonAS2.NewMovieClip);
#endinitclip
Symbol 76 MovieClip Frame 1
stop();
Symbol 87 MovieClip Frame 1
stop();
Symbol 96 MovieClip Frame 1
gotoAndPlay ("sprinkler1");
Symbol 96 MovieClip Frame 400
gotoAndPlay ("two");
Symbol 97 MovieClip Frame 1
gotoAndPlay ("sprinkler2");
Symbol 97 MovieClip Frame 400
gotoAndPlay ("three");
Symbol 110 MovieClip [bulb] Frame 1
#initclip 49
Object.registerClass("bulb", com.novelgames.flashgames.commonAS2.NewMovieClip);
#endinitclip
Symbol 114 MovieClip [Block] Frame 1
#initclip 50
Object.registerClass("Block", com.novelgames.flashgames.treeAS2.Block);
#endinitclip
Symbol 117 MovieClip [Source] Frame 1
#initclip 51
Object.registerClass("Source", com.novelgames.flashgames.treeAS2.Source);
#endinitclip
Symbol 123 MovieClip [TipsButtonMovie] Frame 1
#initclip 52
Object.registerClass("TipsButtonMovie", com.novelgames.flashgames.treeAS2.TipsButtonMovie);
#endinitclip
Symbol 144 MovieClip [Instructions] Frame 1
#initclip 53
Object.registerClass("Instructions", com.novelgames.flashgames.commonAS2.Instructions);
#endinitclip
Symbol 144 MovieClip [Instructions] Frame 33
stop();
Symbol 154 Button
on (press) {
_global.ROOT.gotoGamePage();
}
Symbol 157 MovieClip Frame 1
stop();
Symbol 158 MovieClip [highscore_system] Frame 1
loadMovieNum ("tea100.swf", 99);
Symbol 158 MovieClip [highscore_system] Frame 3
if (_level99.tload == "true") {
trace("tea loaded");
} else {
trace("tea didn't load");
}
Symbol 158 MovieClip [highscore_system] Frame 7
stop();
Instance of Symbol 146 MovieClip "background_mc" in Symbol 158 MovieClip [highscore_system] Frame 7
on (press) {
trace("modal");
}
Symbol 159 MovieClip [MessagePlayAgain] Frame 1
#initclip 54
Object.registerClass("MessagePlayAgain", com.novelgames.flashgames.treeAS2.MessagePlayAgain);
#endinitclip
Symbol 161 Button
on (release) {
getURL ("http://www.skillpod.com", "blank");
mochi.as2.MochiServices.addLinkEvent("http://x.mochiads.com/link/0874b525ab691e92", "http://www.skillpod.com/", Logo);
}
Symbol 162 MovieClip [Title] Frame 1
#initclip 55
Object.registerClass("Title", com.novelgames.flashgames.commonAS2.Title);
#endinitclip
Symbol 162 MovieClip [Title] Frame 40
stop();
Symbol 163 MovieClip [__Packages.caurina.transitions.Tweener] Frame 0
class caurina.transitions.Tweener
{
static var _specialPropertySplitterList, _specialPropertyModifierList, _specialPropertyList, _transitionList, _currentTimeFrame, _currentTime, _tweenList;
function Tweener () {
trace("Tweener is an static class and should not be instantiated.");
}
static function addTween(p_scopes, p_parameters) {
if (p_scopes == undefined) {
return(false);
}
var _local3;
var _local7;
var _local2;
var _local11;
if (p_scopes instanceof Array) {
_local11 = p_scopes.concat();
} else {
_local11 = [p_scopes];
}
var _local5 = caurina.transitions.TweenListObj.makePropertiesChain(p_parameters);
if (!_inited) {
init();
}
if ((!_engineExists) || (_root[getControllerName()] == undefined)) {
startEngine();
}
var _local19 = (isNaN(_local5.time) ? 0 : (_local5.time));
var _local12 = (isNaN(_local5.delay) ? 0 : (_local5.delay));
var _local4 = new Object();
var _local24 = {overwrite:true, time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true};
var _local13 = new Object();
for (_local2 in _local5) {
if (!_local24[_local2]) {
if (_specialPropertySplitterList[_local2] != undefined) {
var _local8 = _specialPropertySplitterList[_local2].splitValues(_local5[_local2], _specialPropertySplitterList[_local2].parameters);
_local3 = 0;
while (_local3 < _local8.length) {
if (_specialPropertySplitterList[_local8[_local3].name] != undefined) {
var _local9 = _specialPropertySplitterList[_local8[_local3].name].splitValues(_local8[_local3].value, _specialPropertySplitterList[_local8[_local3].name].parameters);
_local7 = 0;
while (_local7 < _local9.length) {
_local4[_local9[_local7].name] = {valueStart:undefined, valueComplete:_local9[_local7].value, arrayIndex:_local9[_local7].arrayIndex, isSpecialProperty:false};
_local7++;
}
} else {
_local4[_local8[_local3].name] = {valueStart:undefined, valueComplete:_local8[_local3].value, arrayIndex:_local8[_local3].arrayIndex, isSpecialProperty:false};
}
_local3++;
}
} else if (_specialPropertyModifierList[_local2] != undefined) {
var _local10 = _specialPropertyModifierList[_local2].modifyValues(_local5[_local2]);
_local3 = 0;
while (_local3 < _local10.length) {
_local13[_local10[_local3].name] = {modifierParameters:_local10[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local2].getValue};
_local3++;
}
} else {
_local4[_local2] = {valueStart:undefined, valueComplete:_local5[_local2]};
}
}
}
for (_local2 in _local4) {
if (_specialPropertyList[_local2] != undefined) {
_local4[_local2].isSpecialProperty = true;
} else if (_local11[0][_local2] == undefined) {
printError(((("The property '" + _local2) + "' doesn't seem to be a normal object property of ") + _local11[0].toString()) + " or a registered special property.");
}
}
for (_local2 in _local13) {
if (_local4[_local2] != undefined) {
_local4[_local2].modifierParameters = _local13[_local2].modifierParameters;
_local4[_local2].modifierFunction = _local13[_local2].modifierFunction;
}
}
var _local21;
if (typeof(_local5.transition) == "string") {
var _local26 = _local5.transition.toLowerCase();
_local21 = _transitionList[_local26];
} else {
_local21 = _local5.transition;
}
if (_local21 == undefined) {
_local21 = _transitionList.easeoutexpo;
}
var _local14;
var _local6;
var _local20;
_local3 = 0;
while (_local3 < _local11.length) {
_local14 = new Object();
for (_local2 in _local4) {
_local14[_local2] = new caurina.transitions.PropertyInfoObj(_local4[_local2].valueStart, _local4[_local2].valueComplete, _local4[_local2].valueComplete, _local4[_local2].arrayIndex, {}, _local4[_local2].isSpecialProperty, _local4[_local2].modifierFunction, _local4[_local2].modifierParameters);
}
if (_local5.useFrames == true) {
_local6 = new caurina.transitions.TweenListObj(_local11[_local3], _currentTimeFrame + (_local12 / _timeScale), _currentTimeFrame + ((_local12 + _local19) / _timeScale), true, _local21, _local5.transitionParams);
} else {
_local6 = new caurina.transitions.TweenListObj(_local11[_local3], _currentTime + ((_local12 * 1000) / _timeScale), _currentTime + (((_local12 * 1000) + (_local19 * 1000)) / _timeScale), false, _local21, _local5.transitionParams);
}
_local6.properties = _local14;
_local6.onStart = _local5.onStart;
_local6.onUpdate = _local5.onUpdate;
_local6.onComplete = _local5.onComplete;
_local6.onOverwrite = _local5.onOverwrite;
_local6.onError = _local5.onError;
_local6.onStartParams = _local5.onStartParams;
_local6.onUpdateParams = _local5.onUpdateParams;
_local6.onCompleteParams = _local5.onCompleteParams;
_local6.onOverwriteParams = _local5.onOverwriteParams;
_local6.onStartScope = _local5.onStartScope;
_local6.onUpdateScope = _local5.onUpdateScope;
_local6.onCompleteScope = _local5.onCompleteScope;
_local6.onOverwriteScope = _local5.onOverwriteScope;
_local6.onErrorScope = _local5.onErrorScope;
_local6.rounded = _local5.rounded;
_local6.skipUpdates = _local5.skipUpdates;
if (((_local5.overwrite == undefined) ? (autoOverwrite) : (_local5.overwrite))) {
removeTweensByTime(_local6.scope, _local6.properties, _local6.timeStart, _local6.timeComplete);
}
_tweenList.push(_local6);
if ((_local19 == 0) && (_local12 == 0)) {
_local20 = _tweenList.length - 1;
updateTweenByIndex(_local20);
removeTweenByIndex(_local20);
}
_local3++;
}
return(true);
}
static function addCaller(p_scopes, p_parameters) {
if (p_scopes == undefined) {
return(false);
}
var _local5;
var _local6;
if (p_scopes instanceof Array) {
_local6 = p_scopes.concat();
} else {
_local6 = [p_scopes];
}
var _local3 = p_parameters;
if (!_inited) {
init();
}
if ((!_engineExists) || (_root[getControllerName()] == undefined)) {
startEngine();
}
var _local7 = (isNaN(_local3.time) ? 0 : (_local3.time));
var _local4 = (isNaN(_local3.delay) ? 0 : (_local3.delay));
var _local9;
if (typeof(_local3.transition) == "string") {
var _local11 = _local3.transition.toLowerCase();
_local9 = _transitionList[_local11];
} else {
_local9 = _local3.transition;
}
if (_local9 == undefined) {
_local9 = _transitionList.easeoutexpo;
}
var _local2;
var _local8;
_local5 = 0;
while (_local5 < _local6.length) {
if (_local3.useFrames == true) {
_local2 = new caurina.transitions.TweenListObj(_local6[_local5], _currentTimeFrame + (_local4 / _timeScale), _currentTimeFrame + ((_local4 + _local7) / _timeScale), true, _local9, _local3.transitionParams);
} else {
_local2 = new caurina.transitions.TweenListObj(_local6[_local5], _currentTime + ((_local4 * 1000) / _timeScale), _currentTime + (((_local4 * 1000) + (_local7 * 1000)) / _timeScale), false, _local9, _local3.transitionParams);
}
_local2.properties = undefined;
_local2.onStart = _local3.onStart;
_local2.onUpdate = _local3.onUpdate;
_local2.onComplete = _local3.onComplete;
_local2.onOverwrite = _local3.onOverwrite;
_local2.onStartParams = _local3.onStartParams;
_local2.onUpdateParams = _local3.onUpdateParams;
_local2.onCompleteParams = _local3.onCompleteParams;
_local2.onOverwriteParams = _local3.onOverwriteParams;
_local2.onStartScope = _local3.onStartScope;
_local2.onUpdateScope = _local3.onUpdateScope;
_local2.onCompleteScope = _local3.onCompleteScope;
_local2.onOverwriteScope = _local3.onOverwriteScope;
_local2.onErrorScope = _local3.onErrorScope;
_local2.isCaller = true;
_local2.count = _local3.count;
_local2.waitFrames = _local3.waitFrames;
_tweenList.push(_local2);
if ((_local7 == 0) && (_local4 == 0)) {
_local8 = _tweenList.length - 1;
updateTweenByIndex(_local8);
removeTweenByIndex(_local8);
}
_local5++;
}
return(true);
}
static function removeTweensByTime(p_scope, p_properties, p_timeStart, p_timeComplete) {
var _local5 = false;
var _local4;
var _local1;
var _local7 = _tweenList.length;
var _local2;
_local1 = 0;
while (_local1 < _local7) {
if (p_scope == _tweenList[_local1].scope) {
if ((p_timeComplete > _tweenList[_local1].timeStart) && (p_timeStart < _tweenList[_local1].timeComplete)) {
_local4 = false;
for (_local2 in _tweenList[_local1].properties) {
if (p_properties[_local2] != undefined) {
if (_tweenList[_local1].onOverwrite != undefined) {
var _local3 = ((_tweenList[_local1].onOverwriteScope != undefined) ? (_tweenList[_local1].onOverwriteScope) : (_tweenList[_local1].scope));
try {
_tweenList[_local1].onOverwrite.apply(_local3, _tweenList[_local1].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[_local1], e, "onOverwrite");
}
}
_tweenList[_local1].properties[_local2] = undefined;
delete _tweenList[_local1].properties[_local2];
_local4 = true;
_local5 = true;
}
}
if (_local4) {
if (caurina.transitions.AuxFunctions.getObjectLength(_tweenList[_local1].properties) == 0) {
removeTweenByIndex(_local1);
}
}
}
}
_local1++;
}
return(_local5);
}
static function removeTweens(p_scope) {
var _local5 = new Array();
var _local3;
_local3 = 1;
while (_local3 < arguments.length) {
if ((typeof(arguments[_local3]) == "string") && (!caurina.transitions.AuxFunctions.isInArray(arguments[_local3], _local5))) {
if (_specialPropertySplitterList[arguments[_local3]]) {
var _local6 = _specialPropertySplitterList[arguments[_local3]];
var _local4 = _local6.splitValues(p_scope, null);
var _local2 = 0;
while (_local2 < _local4.length) {
_local5.push(_local4[_local2].name);
_local2++;
}
} else {
_local5.push(arguments[_local3]);
}
}
_local3++;
}
return(affectTweens(removeTweenByIndex, p_scope, _local5));
}
static function removeAllTweens() {
var _local2 = false;
var _local1;
_local1 = 0;
while (_local1 < _tweenList.length) {
removeTweenByIndex(_local1);
_local2 = true;
_local1++;
}
return(_local2);
}
static function pauseTweens(p_scope) {
var _local3 = new Array();
var _local2;
_local2 = 1;
while (_local2 < arguments.length) {
if ((typeof(arguments[_local2]) == "string") && (!caurina.transitions.AuxFunctions.isInArray(arguments[_local2], _local3))) {
_local3.push(arguments[_local2]);
}
_local2++;
}
return(affectTweens(pauseTweenByIndex, p_scope, _local3));
}
static function pauseAllTweens() {
var _local2 = false;
var _local1;
_local1 = 0;
while (_local1 < _tweenList.length) {
pauseTweenByIndex(_local1);
_local2 = true;
_local1++;
}
return(_local2);
}
static function resumeTweens(p_scope) {
var _local3 = new Array();
var _local2;
_local2 = 1;
while (_local2 < arguments.length) {
if ((typeof(arguments[_local2]) == "string") && (!caurina.transitions.AuxFunctions.isInArray(arguments[_local2], _local3))) {
_local3.push(arguments[_local2]);
}
_local2++;
}
return(affectTweens(resumeTweenByIndex, p_scope, _local3));
}
static function resumeAllTweens() {
var _local2 = false;
var _local1;
_local1 = 0;
while (_local1 < _tweenList.length) {
resumeTweenByIndex(_local1);
_local2 = true;
_local1++;
}
return(_local2);
}
static function affectTweens(p_affectFunction, p_scope, p_properties) {
var _local5 = false;
var _local2;
if (!_tweenList) {
return(false);
}
_local2 = 0;
while (_local2 < _tweenList.length) {
if (_tweenList[_local2].scope == p_scope) {
if (p_properties.length == 0) {
p_affectFunction(_local2);
_local5 = true;
} else {
var _local4 = new Array();
var _local1;
_local1 = 0;
while (_local1 < p_properties.length) {
if (_tweenList[_local2].properties[p_properties[_local1]] != undefined) {
_local4.push(p_properties[_local1]);
}
_local1++;
}
if (_local4.length > 0) {
var _local7 = caurina.transitions.AuxFunctions.getObjectLength(_tweenList[_local2].properties);
if (_local7 == _local4.length) {
p_affectFunction(_local2);
_local5 = true;
} else {
var _local8 = splitTweens(_local2, _local4);
p_affectFunction(_local8);
_local5 = true;
}
}
}
}
_local2++;
}
return(_local5);
}
static function splitTweens(p_tween, p_properties) {
var _local6 = _tweenList[p_tween];
var _local5 = _local6.clone(false);
var _local1;
var _local2;
_local1 = 0;
while (_local1 < p_properties.length) {
_local2 = p_properties[_local1];
if (_local6.properties[_local2] != undefined) {
_local6.properties[_local2] = undefined;
delete _local6.properties[_local2];
}
_local1++;
}
var _local4;
for (_local2 in _local5.properties) {
_local4 = false;
_local1 = 0;
while (_local1 < p_properties.length) {
if (p_properties[_local1] == _local2) {
_local4 = true;
break;
}
_local1++;
}
if (!_local4) {
_local5.properties[_local2] = undefined;
delete _local5.properties[_local2];
}
}
_tweenList.push(_local5);
return(_tweenList.length - 1);
}
static function updateTweens() {
if (_tweenList.length == 0) {
return(false);
}
var _local1;
_local1 = 0;
while (_local1 < _tweenList.length) {
if (!_tweenList[_local1].isPaused) {
if (!updateTweenByIndex(_local1)) {
removeTweenByIndex(_local1);
}
if (_tweenList[_local1] == null) {
removeTweenByIndex(_local1, true);
_local1--;
}
}
_local1++;
}
return(true);
}
static function removeTweenByIndex(p_tween, p_finalRemoval) {
_tweenList[p_tween] = null;
if (p_finalRemoval) {
_tweenList.splice(p_tween, 1);
}
return(true);
}
static function pauseTweenByIndex(p_tween) {
var _local1 = _tweenList[p_tween];
if ((_local1 == null) || (_local1.isPaused)) {
return(false);
}
_local1.timePaused = getCurrentTweeningTime(_local1);
_local1.isPaused = true;
return(true);
}
static function resumeTweenByIndex(p_tween) {
var _local1 = _tweenList[p_tween];
if ((_local1 == null) || (!_local1.isPaused)) {
return(false);
}
var _local2 = getCurrentTweeningTime(_local1);
_local1.timeStart = _local1.timeStart + (_local2 - _local1.timePaused);
_local1.timeComplete = _local1.timeComplete + (_local2 - _local1.timePaused);
_local1.timePaused = undefined;
_local1.isPaused = false;
return(true);
}
static function updateTweenByIndex(i) {
var _local1 = _tweenList[i];
if ((_local1 == null) || (!_local1.scope)) {
return(false);
}
var _local13 = false;
var _local14;
var _local3;
var _local7;
var _local10;
var _local9;
var _local6;
var _local2;
var _local12;
var _local5;
var _local8 = getCurrentTweeningTime(_local1);
var _local4;
if (_local8 >= _local1.timeStart) {
_local5 = _local1.scope;
if (_local1.isCaller) {
do {
_local7 = ((_local1.timeComplete - _local1.timeStart) / _local1.count) * (_local1.timesCalled + 1);
_local10 = _local1.timeStart;
_local9 = _local1.timeComplete - _local1.timeStart;
_local6 = _local1.timeComplete - _local1.timeStart;
_local3 = _local1.transition(_local7, _local10, _local9, _local6, _local1.transitionParams);
if (_local8 >= _local3) {
if (_local1.onUpdate != undefined) {
_local12 = ((_local1.onUpdateScope != undefined) ? (_local1.onUpdateScope) : (_local5));
try {
_local1.onUpdate.apply(_local12, _local1.onUpdateParams);
} catch(e:Error) {
handleError(_local1, e, "onUpdate");
}
}
_local1.timesCalled++;
if (_local1.timesCalled >= _local1.count) {
_local13 = true;
break;
}
if (_local1.waitFrames) {
break;
}
}
} while (_local8 >= _local3);
} else {
_local14 = ((_local1.skipUpdates < 1) || (_local1.skipUpdates == undefined)) || (_local1.updatesSkipped >= _local1.skipUpdates);
if (_local8 >= _local1.timeComplete) {
_local13 = true;
_local14 = true;
}
if (!_local1.hasStarted) {
if (_local1.onStart != undefined) {
_local12 = ((_local1.onStartScope != undefined) ? (_local1.onStartScope) : (_local5));
try {
_local1.onStart.apply(_local12, _local1.onStartParams);
} catch(e:Error) {
handleError(_local1, e, "onStart");
}
}
var _local11;
for (_local2 in _local1.properties) {
if (_local1.properties[_local2].isSpecialProperty) {
if (_specialPropertyList[_local2].preProcess != undefined) {
_local1.properties[_local2].valueComplete = _specialPropertyList[_local2].preProcess(_local5, _specialPropertyList[_local2].parameters, _local1.properties[_local2].originalValueComplete, _local1.properties[_local2].extra);
}
_local11 = _specialPropertyList[_local2].getValue(_local5, _specialPropertyList[_local2].parameters, _local1.properties[_local2].extra);
} else {
_local11 = _local5[_local2];
}
_local1.properties[_local2].valueStart = (isNaN(_local11) ? (_local1.properties[_local2].valueComplete) : (_local11));
}
_local14 = true;
_local1.hasStarted = true;
}
if (_local14) {
for (_local2 in _local1.properties) {
_local4 = _local1.properties[_local2];
if (_local13) {
_local3 = _local4.valueComplete;
} else if (_local4.hasModifier) {
_local7 = _local8 - _local1.timeStart;
_local6 = _local1.timeComplete - _local1.timeStart;
_local3 = _local1.transition(_local7, 0, 1, _local6, _local1.transitionParams);
_local3 = _local4.modifierFunction(_local4.valueStart, _local4.valueComplete, _local3, _local4.modifierParameters);
} else {
_local7 = _local8 - _local1.timeStart;
_local10 = _local4.valueStart;
_local9 = _local4.valueComplete - _local4.valueStart;
_local6 = _local1.timeComplete - _local1.timeStart;
_local3 = _local1.transition(_local7, _local10, _local9, _local6, _local1.transitionParams);
}
if (_local1.rounded) {
_local3 = Math.round(_local3);
}
if (_local4.isSpecialProperty) {
_specialPropertyList[_local2].setValue(_local5, _local3, _specialPropertyList[_local2].parameters, _local1.properties[_local2].extra);
} else {
_local5[_local2] = _local3;
}
}
_local1.updatesSkipped = 0;
if (_local1.onUpdate != undefined) {
_local12 = ((_local1.onUpdateScope != undefined) ? (_local1.onUpdateScope) : (_local5));
try {
_local1.onUpdate.apply(_local12, _local1.onUpdateParams);
} catch(e:Error) {
handleError(_local1, e, "onUpdate");
}
}
} else {
_local1.updatesSkipped++;
}
}
if (_local13 && (_local1.onComplete != undefined)) {
_local12 = ((_local1.onCompleteScope != undefined) ? (_local1.onCompleteScope) : (_local5));
try {
_local1.onComplete.apply(_local12, _local1.onCompleteParams);
} catch(e:Error) {
handleError(_local1, e, "onComplete");
}
}
return(!_local13);
}
return(true);
}
static function init() {
_inited = true;
_transitionList = new Object();
caurina.transitions.Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
static function registerTransition(p_name, p_function) {
if (!_inited) {
init();
}
_transitionList[p_name] = p_function;
}
static function registerSpecialProperty(p_name, p_getFunction, p_setFunction, p_parameters, p_preProcessFunction) {
if (!_inited) {
init();
}
var _local1 = new caurina.transitions.SpecialProperty(p_getFunction, p_setFunction, p_parameters, p_preProcessFunction);
_specialPropertyList[p_name] = _local1;
}
static function registerSpecialPropertyModifier(p_name, p_modifyFunction, p_getFunction) {
if (!_inited) {
init();
}
var _local1 = new caurina.transitions.SpecialPropertyModifier(p_modifyFunction, p_getFunction);
_specialPropertyModifierList[p_name] = _local1;
}
static function registerSpecialPropertySplitter(p_name, p_splitFunction, p_parameters) {
if (!_inited) {
init();
}
var _local1 = new caurina.transitions.SpecialPropertySplitter(p_splitFunction, p_parameters);
_specialPropertySplitterList[p_name] = _local1;
}
static function startEngine() {
_engineExists = true;
_tweenList = new Array();
var _local2 = Math.floor(Math.random() * 999999);
var _local3 = _root.createEmptyMovieClip(getControllerName(), 31338 + _local2);
_local3.onEnterFrame = function () {
caurina.transitions.Tweener.onEnterFrame();
};
_currentTimeFrame = 0;
updateTime();
}
static function stopEngine() {
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
delete _root[getControllerName()].onEnterFrame;
_root[getControllerName()].removeMovieClip();
}
static function updateTime() {
_currentTime = getTimer();
}
static function updateFrame() {
_currentTimeFrame++;
}
static function onEnterFrame() {
updateTime();
updateFrame();
var _local1 = false;
_local1 = updateTweens();
if (!_local1) {
stopEngine();
}
}
static function setTimeScale(p_time) {
var _local1;
var _local2;
if (isNaN(p_time)) {
p_time = 1;
}
if (p_time < 1E-5) {
p_time = 1E-5;
}
if (p_time != _timeScale) {
_local1 = 0;
while (_local1 < _tweenList.length) {
_local2 = getCurrentTweeningTime(_tweenList[_local1]);
_tweenList[_local1].timeStart = _local2 - (((_local2 - _tweenList[_local1].timeStart) * _timeScale) / p_time);
_tweenList[_local1].timeComplete = _local2 - (((_local2 - _tweenList[_local1].timeComplete) * _timeScale) / p_time);
if (_tweenList[_local1].timePaused != undefined) {
_tweenList[_local1].timePaused = _local2 - (((_local2 - _tweenList[_local1].timePaused) * _timeScale) / p_time);
}
_local1++;
}
_timeScale = p_time;
}
}
static function isTweening(p_scope) {
var _local1;
_local1 = 0;
while (_local1 < _tweenList.length) {
if (_tweenList[_local1].scope == p_scope) {
return(true);
}
_local1++;
}
return(false);
}
static function getTweens(p_scope) {
var _local1;
var _local2;
var _local3 = new Array();
_local1 = 0;
while (_local1 < _tweenList.length) {
if (_tweenList[_local1].scope == p_scope) {
for (_local2 in _tweenList[_local1].properties) {
_local3.push(_local2);
}
}
_local1++;
}
return(_local3);
}
static function getTweenCount(p_scope) {
var _local1;
var _local2 = 0;
_local1 = 0;
while (_local1 < _tweenList.length) {
if (_tweenList[_local1].scope == p_scope) {
_local2 = _local2 + caurina.transitions.AuxFunctions.getObjectLength(_tweenList[_local1].properties);
}
_local1++;
}
return(_local2);
}
static function handleError(pTweening, pError, pCallBackName) {
if ((pTweening.onError != undefined) && (typeof(pTweening.onError == "function"))) {
var _local3 = ((pTweening.onErrorScope != undefined) ? (pTweening.onErrorScope) : (pTweening.scope));
try {
pTweening.onError.apply(_local3, [pTweening.scope, pError]);
} catch(metaError:Error) {
printError((((pTweening.scope.toString() + " raised an error while executing the 'onError' handler. Original error:\n ") + pError) + "\nonError error: ") + metaError);
}
} else if (pTweening.onError == undefined) {
printError((((pTweening.scope.toString() + " raised an error while executing the '") + pCallBackName.toString()) + "'handler. \n") + pError);
}
}
static function getCurrentTweeningTime(p_tweening) {
return((p_tweening.useFrames ? (_currentTimeFrame) : (_currentTime)));
}
static function getVersion() {
return("AS2 1.33.74");
}
static function getControllerName() {
return("__tweener_controller__" + getVersion());
}
static function printError(p_message) {
trace("## [Tweener] Error: " + p_message);
}
static var _engineExists = false;
static var _inited = false;
static var _timeScale = 1;
static var autoOverwrite = true;
}
Symbol 164 MovieClip [__Packages.caurina.transitions.TweenListObj] Frame 0
class caurina.transitions.TweenListObj
{
var scope, timeStart, timeComplete, useFrames, transition, transitionParams, properties, isPaused, timePaused, isCaller, updatesSkipped, timesCalled, skipUpdates, hasStarted, onStart, onUpdate, onComplete, onOverwrite, onError, onStartParams, onUpdateParams, onCompleteParams, onOverwriteParams, onStartScope, onUpdateScope, onCompleteScope, onOverwriteScope, onErrorScope, rounded, count, waitFrames;
function TweenListObj (p_scope, p_timeStart, p_timeComplete, p_useFrames, p_transition, p_transitionParams) {
scope = p_scope;
timeStart = p_timeStart;
timeComplete = p_timeComplete;
useFrames = p_useFrames;
transition = p_transition;
transitionParams = p_transitionParams;
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
function clone(omitEvents) {
var _local2 = new caurina.transitions.TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
_local2.properties = new Object();
for (var _local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
}
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!omitEvents) {
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
_local2.onStartScope = onStartScope;
_local2.onUpdateScope = onUpdateScope;
_local2.onCompleteScope = onCompleteScope;
_local2.onOverwriteScope = onOverwriteScope;
_local2.onErrorScope = onErrorScope;
}
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return(_local2);
}
function toString() {
var _local2 = "\n[TweenListObj ";
_local2 = _local2 + ("scope:" + String(scope));
_local2 = _local2 + ", properties:";
var _local3 = true;
for (var _local4 in properties) {
if (!_local3) {
_local2 = _local2 + ",";
}
_local2 = _local2 + ("[name:" + properties[_local4].name);
_local2 = _local2 + (",valueStart:" + properties[_local4].valueStart);
_local2 = _local2 + (",valueComplete:" + properties[_local4].valueComplete);
_local2 = _local2 + "]";
_local3 = false;
}
_local2 = _local2 + (", timeStart:" + String(timeStart));
_local2 = _local2 + (", timeComplete:" + String(timeComplete));
_local2 = _local2 + (", useFrames:" + String(useFrames));
_local2 = _local2 + (", transition:" + String(transition));
_local2 = _local2 + (", transitionParams:" + String(transitionParams));
if (skipUpdates) {
_local2 = _local2 + (", skipUpdates:" + String(skipUpdates));
}
if (updatesSkipped) {
_local2 = _local2 + (", updatesSkipped:" + String(updatesSkipped));
}
if (onStart) {
_local2 = _local2 + (", onStart:" + String(onStart));
}
if (onUpdate) {
_local2 = _local2 + (", onUpdate:" + String(onUpdate));
}
if (onComplete) {
_local2 = _local2 + (", onComplete:" + String(onComplete));
}
if (onOverwrite) {
_local2 = _local2 + (", onOverwrite:" + String(onOverwrite));
}
if (onError) {
_local2 = _local2 + (", onError:" + String(onError));
}
if (onStartParams) {
_local2 = _local2 + (", onStartParams:" + String(onStartParams));
}
if (onUpdateParams) {
_local2 = _local2 + (", onUpdateParams:" + String(onUpdateParams));
}
if (onCompleteParams) {
_local2 = _local2 + (", onCompleteParams:" + String(onCompleteParams));
}
if (onOverwriteParams) {
_local2 = _local2 + (", onOverwriteParams:" + String(onOverwriteParams));
}
if (onStartScope) {
_local2 = _local2 + (", onStartScope:" + String(onStartScope));
}
if (onUpdateScope) {
_local2 = _local2 + (", onUpdateScope:" + String(onUpdateScope));
}
if (onCompleteScope) {
_local2 = _local2 + (", onCompleteScope:" + String(onCompleteScope));
}
if (onOverwriteScope) {
_local2 = _local2 + (", onOverwriteScope:" + String(onOverwriteScope));
}
if (onErrorScope) {
_local2 = _local2 + (", onErrorScope:" + String(onErrorScope));
}
if (rounded) {
_local2 = _local2 + (", rounded:" + String(rounded));
}
if (isPaused) {
_local2 = _local2 + (", isPaused:" + String(isPaused));
}
if (timePaused) {
_local2 = _local2 + (", timePaused:" + String(timePaused));
}
if (isCaller) {
_local2 = _local2 + (", isCaller:" + String(isCaller));
}
if (count) {
_local2 = _local2 + (", count:" + String(count));
}
if (timesCalled) {
_local2 = _local2 + (", timesCalled:" + String(timesCalled));
}
if (waitFrames) {
_local2 = _local2 + (", waitFrames:" + String(waitFrames));
}
if (hasStarted) {
_local2 = _local2 + (", hasStarted:" + String(hasStarted));
}
_local2 = _local2 + "]\n";
return(_local2);
}
static function makePropertiesChain(p_obj) {
var _local6 = p_obj.base;
if (_local6) {
var _local5 = {};
var _local2;
if (_local6 instanceof Array) {
_local2 = [];
var _local3 = 0;
while (_local3 < _local6.length) {
_local2.push(_local6[_local3]);
_local3++;
}
} else {
_local2 = [_local6];
}
_local2.push(p_obj);
var _local4;
var _local7 = _local2.length;
var _local1 = 0;
while (_local1 < _local7) {
if (_local2[_local1].base) {
_local4 = caurina.transitions.AuxFunctions.concatObjects(makePropertiesChain(_local2[_local1].base), _local2[_local1]);
} else {
_local4 = _local2[_local1];
}
_local5 = caurina.transitions.AuxFunctions.concatObjects(_local5, _local4);
_local1++;
}
if (_local5.base) {
delete _local5.base;
}
return(_local5);
}
return(p_obj);
}
}
Symbol 165 MovieClip [__Packages.caurina.transitions.AuxFunctions] Frame 0
class caurina.transitions.AuxFunctions
{
function AuxFunctions () {
}
static function numberToR(p_num) {
return((p_num & 16711680) >> 16);
}
static function numberToG(p_num) {
return((p_num & 65280) >> 8);
}
static function numberToB(p_num) {
return(p_num & 255);
}
static function isInArray(p_string, p_array) {
var _local2 = p_array.length;
var _local1 = 0;
while (_local1 < _local2) {
if (p_array[_local1] == p_string) {
return(true);
}
_local1++;
}
return(false);
}
static function getObjectLength(p_object) {
var _local1 = 0;
for (var _local2 in p_object) {
_local1++;
}
return(_local1);
}
static function concatObjects() {
var _local4 = {};
var _local2;
var _local3 = 0;
while (_local3 < arguments.length) {
_local2 = arguments[_local3];
for (var _local5 in _local2) {
if (_local2[_local5] == null) {
delete _local4[_local5];
} else {
_local4[_local5] = _local2[_local5];
}
}
_local3++;
}
return(_local4);
}
}
Symbol 166 MovieClip [__Packages.caurina.transitions.PropertyInfoObj] Frame 0
class caurina.transitions.PropertyInfoObj
{
var valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, hasModifier, modifierFunction, modifierParameters;
function PropertyInfoObj (p_valueStart, p_valueComplete, p_originalValueComplete, p_arrayIndex, p_extra, p_isSpecialProperty, p_modifierFunction, p_modifierParameters) {
valueStart = p_valueStart;
valueComplete = p_valueComplete;
originalValueComplete = p_originalValueComplete;
arrayIndex = p_arrayIndex;
extra = p_extra;
isSpecialProperty = p_isSpecialProperty;
hasModifier = p_modifierFunction != undefined;
modifierFunction = p_modifierFunction;
modifierParameters = p_modifierParameters;
}
function clone() {
var _local2 = new caurina.transitions.PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return(_local2);
}
function toString() {
var _local2 = "\n[PropertyInfoObj ";
_local2 = _local2 + ("valueStart:" + String(valueStart));
_local2 = _local2 + ", ";
_local2 = _local2 + ("valueComplete:" + String(valueComplete));
_local2 = _local2 + ", ";
_local2 = _local2 + ("originalValueComplete:" + String(originalValueComplete));
_local2 = _local2 + ", ";
_local2 = _local2 + ("arrayIndex:" + String(arrayIndex));
_local2 = _local2 + ", ";
_local2 = _local2 + ("extra:" + String(extra));
_local2 = _local2 + ", ";
_local2 = _local2 + ("isSpecialProperty:" + String(isSpecialProperty));
_local2 = _local2 + ", ";
_local2 = _local2 + ("hasModifier:" + String(hasModifier));
_local2 = _local2 + ", ";
_local2 = _local2 + ("modifierFunction:" + String(modifierFunction));
_local2 = _local2 + ", ";
_local2 = _local2 + ("modifierParameters:" + String(modifierParameters));
_local2 = _local2 + "]\n";
return(_local2);
}
}
Symbol 167 MovieClip [__Packages.caurina.transitions.SpecialPropertySplitter] Frame 0
class caurina.transitions.SpecialPropertySplitter
{
var parameters;
function SpecialPropertySplitter (p_splitFunction, p_parameters) {
splitValues = p_splitFunction;
parameters = p_parameters;
}
function splitValues(p_value, p_parameters) {
return([]);
}
function toString() {
var _local2 = "";
_local2 = _local2 + "[SpecialPropertySplitter ";
_local2 = _local2 + ("splitValues:" + splitValues.toString());
_local2 = _local2 + ", ";
_local2 = _local2 + ("parameters:" + parameters.toString());
_local2 = _local2 + "]";
return(_local2);
}
}
Symbol 168 MovieClip [__Packages.caurina.transitions.Equations] Frame 0
class caurina.transitions.Equations
{
function Equations () {
trace("Equations is a static class and should not be instantiated.");
}
static function init() {
caurina.transitions.Tweener.registerTransition("easenone", easeNone);
caurina.transitions.Tweener.registerTransition("linear", easeNone);
caurina.transitions.Tweener.registerTransition("easeinquad", easeInQuad);
caurina.transitions.Tweener.registerTransition("easeoutquad", easeOutQuad);
caurina.transitions.Tweener.registerTransition("easeinoutquad", easeInOutQuad);
caurina.transitions.Tweener.registerTransition("easeoutinquad", easeOutInQuad);
caurina.transitions.Tweener.registerTransition("easeincubic", easeInCubic);
caurina.transitions.Tweener.registerTransition("easeoutcubic", easeOutCubic);
caurina.transitions.Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
caurina.transitions.Tweener.registerTransition("easeoutincubic", easeOutInCubic);
caurina.transitions.Tweener.registerTransition("easeinquart", easeInQuart);
caurina.transitions.Tweener.registerTransition("easeoutquart", easeOutQuart);
caurina.transitions.Tweener.registerTransition("easeinoutquart", easeInOutQuart);
caurina.transitions.Tweener.registerTransition("easeoutinquart", easeOutInQuart);
caurina.transitions.Tweener.registerTransition("easeinquint", easeInQuint);
caurina.transitions.Tweener.registerTransition("easeoutquint", easeOutQuint);
caurina.transitions.Tweener.registerTransition("easeinoutquint", easeInOutQuint);
caurina.transitions.Tweener.registerTransition("easeoutinquint", easeOutInQuint);
caurina.transitions.Tweener.registerTransition("easeinsine", easeInSine);
caurina.transitions.Tweener.registerTransition("easeoutsine", easeOutSine);
caurina.transitions.Tweener.registerTransition("easeinoutsine", easeInOutSine);
caurina.transitions.Tweener.registerTransition("easeoutinsine", easeOutInSine);
caurina.transitions.Tweener.registerTransition("easeincirc", easeInCirc);
caurina.transitions.Tweener.registerTransition("easeoutcirc", easeOutCirc);
caurina.transitions.Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
caurina.transitions.Tweener.registerTransition("easeoutincirc", easeOutInCirc);
caurina.transitions.Tweener.registerTransition("easeinexpo", easeInExpo);
caurina.transitions.Tweener.registerTransition("easeoutexpo", easeOutExpo);
caurina.transitions.Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
caurina.transitions.Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
caurina.transitions.Tweener.registerTransition("easeinelastic", easeInElastic);
caurina.transitions.Tweener.registerTransition("easeoutelastic", easeOutElastic);
caurina.transitions.Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
caurina.transitions.Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
caurina.transitions.Tweener.registerTransition("easeinback", easeInBack);
caurina.transitions.Tweener.registerTransition("easeoutback", easeOutBack);
caurina.transitions.Tweener.registerTransition("easeinoutback", easeInOutBack);
caurina.transitions.Tweener.registerTransition("easeoutinback", easeOutInBack);
caurina.transitions.Tweener.registerTransition("easeinbounce", easeInBounce);
caurina.transitions.Tweener.registerTransition("easeoutbounce", easeOutBounce);
caurina.transitions.Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
caurina.transitions.Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
static function easeNone(t, b, c, d, p_params) {
return(((c * t) / d) + b);
}
static function easeInQuad(t, b, c, d, p_params) {
t = t / d;
return(((c * t) * t) + b);
}
static function easeOutQuad(t, b, c, d, p_params) {
t = t / d;
return((((-c) * t) * (t - 2)) + b);
}
static function easeInOutQuad(t, b, c, d, p_params) {
t = t / (d / 2);
if (t < 1) {
return((((c / 2) * t) * t) + b);
}
t--;
return((((-c) / 2) * ((t * (t - 2)) - 1)) + b);
}
static function easeOutInQuad(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutQuad(t * 2, b, c / 2, d, p_params));
}
return(easeInQuad((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
static function easeInCubic(t, b, c, d, p_params) {
t = t / d;
return((((c * t) * t) * t) + b);
}
static function easeOutCubic(t, b, c, d, p_params) {
t = (t / d) - 1;
return((c * (((t * t) * t) + 1)) + b);
}
static function easeInOutCubic(t, b, c, d, p_params) {
t = t / (d / 2);
if (t < 1) {
return(((((c / 2) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((t * t) * t) + 2)) + b);
}
static function easeOutInCubic(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutCubic(t * 2, b, c / 2, d, p_params));
}
return(easeInCubic((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
static function easeInQuart(t, b, c, d, p_params) {
t = t / d;
return(((((c * t) * t) * t) * t) + b);
}
static function easeOutQuart(t, b, c, d, p_params) {
t = (t / d) - 1;
return(((-c) * ((((t * t) * t) * t) - 1)) + b);
}
static function easeInOutQuart(t, b, c, d, p_params) {
t = t / (d / 2);
if (t < 1) {
return((((((c / 2) * t) * t) * t) * t) + b);
}
t = t - 2;
return((((-c) / 2) * ((((t * t) * t) * t) - 2)) + b);
}
static function easeOutInQuart(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutQuart(t * 2, b, c / 2, d, p_params));
}
return(easeInQuart((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
static function easeInQuint(t, b, c, d, p_params) {
t = t / d;
return((((((c * t) * t) * t) * t) * t) + b);
}
static function easeOutQuint(t, b, c, d, p_params) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInOutQuint(t, b, c, d, p_params) {
t = t / (d / 2);
if (t < 1) {
return(((((((c / 2) * t) * t) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b);
}
static function easeOutInQuint(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutQuint(t * 2, b, c / 2, d, p_params));
}
return(easeInQuint((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
static function easeInSine(t, b, c, d, p_params) {
return((((-c) * Math.cos((t / d) * (Math.PI/2))) + c) + b);
}
static function easeOutSine(t, b, c, d, p_params) {
return((c * Math.sin((t / d) * (Math.PI/2))) + b);
}
static function easeInOutSine(t, b, c, d, p_params) {
return((((-c) / 2) * (Math.cos((Math.PI * t) / d) - 1)) + b);
}
static function easeOutInSine(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutSine(t * 2, b, c / 2, d, p_params));
}
return(easeInSine((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
static function easeInExpo(t, b, c, d, p_params) {
return(((t == 0) ? (b) : (((c * Math.pow(2, 10 * ((t / d) - 1))) + b) - (c * 0.001))));
}
static function easeOutExpo(t, b, c, d, p_params) {
return(((t == d) ? (b + c) : (((c * 1.001) * ((-Math.pow(2, (-10 * t) / d)) + 1)) + b)));
}
static function easeInOutExpo(t, b, c, d, p_params) {
if (t == 0) {
return(b);
}
if (t == d) {
return(b + c);
}
t = t / (d / 2);
if (t < 1) {
return((((c / 2) * Math.pow(2, 10 * (t - 1))) + b) - (c * 0.0005));
}
t--;
return((((c / 2) * 1.0005) * ((-Math.pow(2, -10 * t)) + 2)) + b);
}
static function easeOutInExpo(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutExpo(t * 2, b, c / 2, d, p_params));
}
return(easeInExpo((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
static function easeInCirc(t, b, c, d, p_params) {
t = t / d;
return(((-c) * (Math.sqrt(1 - (t * t)) - 1)) + b);
}
static function easeOutCirc(t, b, c, d, p_params) {
t = (t / d) - 1;
return((c * Math.sqrt(1 - (t * t))) + b);
}
static function easeInOutCirc(t, b, c, d, p_params) {
t = t / (d / 2);
if (t < 1) {
return((((-c) / 2) * (Math.sqrt(1 - (t * t)) - 1)) + b);
}
t = t - 2;
return(((c / 2) * (Math.sqrt(1 - (t * t)) + 1)) + b);
}
static function easeOutInCirc(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutCirc(t * 2, b, c / 2, d, p_params));
}
return(easeInCirc((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
static function easeInElastic(t, b, c, d, p_params) {
if (t == 0) {
return(b);
}
t = t / d;
if (t == 1) {
return(b + c);
}
var _local2 = ((p_params.period == undefined) ? (d * 0.3) : (p_params.period));
var _local5;
var _local1 = p_params.amplitude;
if ((!_local1) || (_local1 < Math.abs(c))) {
_local1 = c;
_local5 = _local2 / 4;
} else {
_local5 = (_local2 / (Math.PI*2)) * Math.asin(c / _local1);
}
t = t - 1;
return((-((_local1 * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / _local2))) + b);
}
static function easeOutElastic(t, b, c, d, p_params) {
if (t == 0) {
return(b);
}
t = t / d;
if (t == 1) {
return(b + c);
}
var _local3 = ((p_params.period == undefined) ? (d * 0.3) : (p_params.period));
var _local5;
var _local1 = p_params.amplitude;
if ((!_local1) || (_local1 < Math.abs(c))) {
_local1 = c;
_local5 = _local3 / 4;
} else {
_local5 = (_local3 / (Math.PI*2)) * Math.asin(c / _local1);
}
return((((_local1 * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / _local3)) + c) + b);
}
static function easeInOutElastic(t, b, c, d, p_params) {
if (t == 0) {
return(b);
}
t = t / (d / 2);
if (t == 2) {
return(b + c);
}
var _local3 = ((p_params.period == undefined) ? (d * 0.45) : (p_params.period));
var _local5;
var _local1 = p_params.amplitude;
if ((!_local1) || (_local1 < Math.abs(c))) {
_local1 = c;
_local5 = _local3 / 4;
} else {
_local5 = (_local3 / (Math.PI*2)) * Math.asin(c / _local1);
}
if (t < 1) {
t = t - 1;
return((-0.5 * ((_local1 * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / _local3))) + b);
}
t = t - 1;
return(((((_local1 * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / _local3)) * 0.5) + c) + b);
}
static function easeOutInElastic(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutElastic(t * 2, b, c / 2, d, p_params));
}
return(easeInElastic((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
static function easeInBack(t, b, c, d, p_params) {
var _local1 = ((p_params.overshoot == undefined) ? 1.70158 : (p_params.overshoot));
t = t / d;
return((((c * t) * t) * (((_local1 + 1) * t) - _local1)) + b);
}
static function easeOutBack(t, b, c, d, p_params) {
var _local2 = ((p_params.overshoot == undefined) ? 1.70158 : (p_params.overshoot));
t = (t / d) - 1;
return((c * (((t * t) * (((_local2 + 1) * t) + _local2)) + 1)) + b);
}
static function easeInOutBack(t, b, c, d, p_params) {
var _local2 = ((p_params.overshoot == undefined) ? 1.70158 : (p_params.overshoot));
t = t / (d / 2);
if (t < 1) {
_local2 = _local2 * 1.525;
return(((c / 2) * ((t * t) * (((_local2 + 1) * t) - _local2))) + b);
}
t = t - 2;
_local2 = _local2 * 1.525;
return(((c / 2) * (((t * t) * (((_local2 + 1) * t) + _local2)) + 2)) + b);
}
static function easeOutInBack(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutBack(t * 2, b, c / 2, d, p_params));
}
return(easeInBack((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
static function easeInBounce(t, b, c, d, p_params) {
return((c - easeOutBounce(d - t, 0, c, d)) + b);
}
static function easeOutBounce(t, b, c, d, p_params) {
t = t / d;
if (t < 0.363636363636364) {
return((c * ((7.5625 * t) * t)) + b);
}
if (t < 0.727272727272727) {
t = t - 0.545454545454545;
return((c * (((7.5625 * t) * t) + 0.75)) + b);
}
if (t < 0.909090909090909) {
t = t - 0.818181818181818;
return((c * (((7.5625 * t) * t) + 0.9375)) + b);
}
t = t - 0.954545454545455;
return((c * (((7.5625 * t) * t) + 0.984375)) + b);
}
static function easeInOutBounce(t, b, c, d, p_params) {
if (t < (d / 2)) {
return((easeInBounce(t * 2, 0, c, d) * 0.5) + b);
}
return(((easeOutBounce((t * 2) - d, 0, c, d) * 0.5) + (c * 0.5)) + b);
}
static function easeOutInBounce(t, b, c, d, p_params) {
if (t < (d / 2)) {
return(easeOutBounce(t * 2, b, c / 2, d, p_params));
}
return(easeInBounce((t * 2) - d, b + (c / 2), c / 2, d, p_params));
}
}
Symbol 169 MovieClip [__Packages.caurina.transitions.SpecialProperty] Frame 0
class caurina.transitions.SpecialProperty
{
var getValue, setValue, parameters, preProcess;
function SpecialProperty (p_getFunction, p_setFunction, p_parameters, p_preProcessFunction) {
getValue = p_getFunction;
setValue = p_setFunction;
parameters = p_parameters;
preProcess = p_preProcessFunction;
}
function toString() {
var _local2 = "";
_local2 = _local2 + "[SpecialProperty ";
_local2 = _local2 + ("getValue:" + getValue.toString());
_local2 = _local2 + ", ";
_local2 = _local2 + ("setValue:" + setValue.toString());
_local2 = _local2 + ", ";
_local2 = _local2 + ("parameters:" + parameters.toString());
_local2 = _local2 + ", ";
_local2 = _local2 + ("preProcess:" + preProcess.toString());
_local2 = _local2 + "]";
return(_local2);
}
}
Symbol 170 MovieClip [__Packages.caurina.transitions.SpecialPropertyModifier] Frame 0
class caurina.transitions.SpecialPropertyModifier
{
var modifyValues, getValue;
function SpecialPropertyModifier (p_modifyFunction, p_getFunction) {
modifyValues = p_modifyFunction;
getValue = p_getFunction;
}
function toString() {
var _local2 = "";
_local2 = _local2 + "[SpecialPropertyModifier ";
_local2 = _local2 + ("modifyValues:" + modifyValues.toString());
_local2 = _local2 + ", ";
_local2 = _local2 + ("getValue:" + getValue.toString());
_local2 = _local2 + "]";
return(_local2);
}
}
Symbol 171 MovieClip [__Packages.mochi.as2.MochiSync] Frame 0
class mochi.as2.MochiSync
{
var _syncContainer;
function MochiSync () {
_syncContainer = {};
}
function getProp(name) {
return(_syncContainer[name]);
}
function setProp(name, value) {
if (_syncContainer[name] == value) {
return(undefined);
}
_syncContainer[name] = value;
mochi.as2.MochiServices.send("sync_propUpdate", {name:name, value:value});
}
function triggerEvent(eventType, args) {
switch (eventType) {
case SYNC_REQUEST :
mochi.as2.MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY :
_syncContainer[args.name] = args.value;
}
}
static var SYNC_REQUEST = "SyncRequest";
static var SYNC_PROPERTY = "UpdateProperty";
}
Symbol 172 MovieClip [__Packages.mochi.as2.MochiServices] Frame 0
class mochi.as2.MochiServices
{
static var _id, _container, _clip, _sendChannelName, __get__comChannelName, onError, _listenChannel, _sendChannel;
function MochiServices () {
}
static function get id() {
return(_id);
}
static function get clip() {
return(_container);
}
static function get childClip() {
return(_clip);
}
static function getVersion() {
return("3.3 as2");
}
static function allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function get isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function set comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
warnID(id, false);
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.as2.MochiServices.onError = onError;
} else if (mochi.as2.MochiServices.onError == undefined) {
mochi.as2.MochiServices.onError = function (errorCode) {
trace(errorCode);
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local6 = "_mochiservices_com_" + id;
var _local5 = new MovieClipLoader();
var _local3 = {};
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
if (urlOptions().servURL) {
_servURL = urlOptions().servURL;
}
var _local4 = _servURL + _services;
if (urlOptions().servicesURL) {
_local4 = urlOptions().servicesURL;
}
allowDomains(_local4);
_clip = clip.createEmptyMovieClip(_local6, 10336, false);
_listenChannelName = _listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor(Math.random() * 99999));
listen();
if (_local3.waitInterval != null) {
clearInterval(_local3.waitInterval);
}
_local3.onLoadError = loadError;
_local3.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_local3.startTime = getTimer();
_local3.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.as2.MochiServices.disconnect();
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_local3.waitInterval = setInterval(_local3, "wait", 1000);
_local5.addListener(_local3);
_local5.loadClip((((((_local4 + "?listenLC=") + _listenChannelName) + "&mochiad_options=") + escape(_root.mochiad_options)) + "&api_version=") + getVersion(), _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
return(_clip);
}
static function loadError(target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
disconnect();
onError.apply(null, [errorCode]);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.as2.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel._nextcallbackID = 0;
_listenChannel._callbacks = {};
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_listenChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_listenChannel.onReceive = function (pkg) {
var _local5 = pkg.callbackID;
var _local4 = this._callbacks[_local5];
if (!_local4) {
return(undefined);
}
var _local2 = _local4.callbackMethod;
var _local3 = _local4.callbackObject;
if (_local3 && (typeof(_local2) == "string")) {
_local2 = _local3[_local2];
}
if (_local2 != undefined) {
_local2.apply(_local3, pkg.args);
}
delete this._callbacks[_local5];
};
_listenChannel.onEvent = function (pkg) {
switch (pkg.target) {
case "events" :
mochi.as2.MochiEvents.triggerEvent(pkg.event, pkg.args);
break;
case "coins" :
mochi.as2.MochiCoins.triggerEvent(pkg.event, pkg.args);
break;
case "sync" :
mochi.as2.MochiServices.servicesSync.triggerEvent(pkg.event, pkg.args);
}
};
_listenChannel.onError = function () {
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
};
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function flush(error) {
var _local1;
var _local2;
while (_sendChannel._queue.length > 0) {
_local1 = _sendChannel._queue.shift();
if (_local1.callbackID != null) {
_local2 = _listenChannel._callbacks[_local1.callbackID];
}
delete _listenChannel._callbacks[_local1.callbackID];
if (error) {
handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
if (args != null) {
if (args.onError != null) {
args.onError.apply(null, ["NotConnected"]);
}
if ((args.options != null) && (args.options.onError != null)) {
args.options.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_listenChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
trace("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + methodName);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_listenChannel._nextcallbackID});
}
_listenChannel._callbacks[_listenChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_listenChannel._nextcallbackID++;
}
static function urlOptions() {
var _local5 = {};
var _local6;
if (_root._url.indexOf("mochiad_options") != -1) {
var _local2 = (_root._url.indexOf("mochiad_options") + "mochiad_options".length) + 1;
_local6 = _root._url.substr(_local2, _root._url.length);
} else if (_root.mochiad_options) {
_local6 = _root.mochiad_options;
}
if (_local6) {
var _local4 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2].split("=");
_local5[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local5);
}
static function warnID(bid, leaderboard) {
bid = bid.toLowerCase();
if (bid.length != 16) {
trace(("WARNING: " + (leaderboard ? "board" : "game")) + " ID is not the appropriate length");
return(undefined);
}
if (bid == "1e113c7239048b3f") {
if (leaderboard) {
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
}
return(undefined);
}
if (bid == "84993a1de4031cd8") {
if (leaderboard) {
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
}
return(undefined);
}
var _local1 = 0;
while (_local1 < bid.length) {
switch (bid.charAt(_local1)) {
case "0" :
case "1" :
case "2" :
case "3" :
case "4" :
case "5" :
case "6" :
case "7" :
case "8" :
case "9" :
case "a" :
case "b" :
case "c" :
case "d" :
case "e" :
case "f" :
break;
default :
trace("WARNING: Board ID contains illegal characters: " + bid);
return(undefined);
}
_local1++;
}
}
static function addLinkEvent(url, burl, btn, onClick) {
var timeout = 1500;
var t0 = getTimer();
var _local2 = new Object();
_local2.mav = getVersion();
_local2.swfv = btn.getSWFVersion() || 6;
_local2.swfurl = btn._url;
_local2.fv = System.capabilities.version;
_local2.os = System.capabilities.os;
_local2.lang = System.capabilities.language;
_local2.scres = (System.capabilities.screenResolutionX + "x") + System.capabilities.screenResolutionY;
var s = "?";
var _local3 = 0;
for (var _local6 in _local2) {
if (_local3 != 0) {
s = s + "&";
}
_local3++;
s = ((s + _local6) + "=") + escape(_local2[_local6]);
}
if (!(netupAttempted || (_connected))) {
var ping = btn.createEmptyMovieClip("ping", 777);
var _local7 = btn.createEmptyMovieClip("nettest", 778);
netupAttempted = true;
ping.loadMovie("http://x.mochiads.com/linkping.swf?t=" + getTimer());
_local7.onEnterFrame = function () {
if ((ping._totalframes > 0) && (ping._totalframes == ping._framesloaded)) {
delete this.onEnterFrame;
} else if ((getTimer() - t0) > timeout) {
delete this.onEnterFrame;
mochi.as2.MochiServices.netup = false;
}
};
}
var _local4 = btn.createEmptyMovieClip("clk", 1001);
_local4._alpha = 0;
_local4.beginFill(1044735);
_local4.moveTo(0, 0);
_local4.lineTo(0, btn._height);
_local4.lineTo(btn._width, btn._height);
_local4.lineTo(btn._width, 0);
_local4.lineTo(0, 0);
_local4.endFill();
_local4.onRelease = function () {
if (mochi.as2.MochiServices.netup) {
getURL (url + s, "_blank");
} else {
getURL (burl, "_blank");
}
if (onClick != undefined) {
onClick();
}
};
}
static function setContainer(clip) {
}
static function stayOnTop(clip) {
}
static var _servURL = "http://www.mochiads.com/static/lib/services/";
static var _services = "services.swf";
static var _mochiLC = "MochiLC.swf";
static var _listenChannelName = "__ms_";
static var _connecting = false;
static var _connected = false;
static var netup = true;
static var netupAttempted = false;
static var servicesSync = new mochi.as2.MochiSync();
}
Symbol 173 MovieClip [__Packages.mochi.as2.MochiEventDispatcher] Frame 0
class mochi.as2.MochiEventDispatcher
{
var eventTable;
function MochiEventDispatcher () {
eventTable = {};
}
function buildDelegate(thisObject, thatObject) {
var _local2 = {thisObject:thisObject, thatObject:thatObject};
if (thatObject != undefined) {
var funct = ((typeof(thatObject) == "string") ? (thisObject[thatObject]) : (thatObject));
_local2.delegate = function (args) {
funct.call(thisObject, args);
};
} else {
_local2.delegate = thisObject;
}
return(_local2);
}
function compareDelegate(d_A, d_B) {
if ((d_A.thisObject != d_B.thisObject) || (d_A.thatObject != d_B.thatObject)) {
return(false);
}
return(true);
}
function addEventListener(event, thisObject, thatObject) {
removeEventListener(event, thisObject, thatObject);
eventTable[event].push(buildDelegate(thisObject, thatObject));
}
function removeEventListener(event, thisObject, thatObject) {
var _local3 = buildDelegate(thisObject, thatObject);
if (eventTable[event] == undefined) {
eventTable[event] = [];
return(undefined);
}
for (var _local4 in eventTable[event]) {
if (!compareDelegate(eventTable[event][_local4], _local3)) {
continue;
}
eventTable[event].splice(Number(_local4), 1);
}
}
function triggerEvent(event, args) {
if (eventTable[event] == undefined) {
return(undefined);
}
for (var _local4 in eventTable[event]) {
eventTable[event][_local4].delegate(args);
}
}
}
Symbol 174 MovieClip [__Packages.mochi.as2.MochiEvents] Frame 0
class mochi.as2.MochiEvents
{
static var gameStart, levelStart;
function MochiEvents () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function startSession(achievementID) {
mochi.as2.MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null);
}
static function trigger(kind, obj) {
if (obj == undefined) {
obj = {};
} else if (obj.kind != undefined) {
trace("WARNING: optional arguements package contains key 'id', it will be overwritten");
obj.kind = kind;
}
mochi.as2.MochiServices.send("events_triggerEvent", {eventObject:obj}, null, null);
}
static function setNotifications(clip, style) {
var _local2 = {};
for (var _local3 in style) {
_local2[_local3] = style[_local3];
}
_local2.clip = clip;
mochi.as2.MochiServices.send("events_setNotifications", _local2, null, null);
}
static function addEventListener(eventType, thisObject, thatObject) {
_dispatcher.addEventListener(eventType, thisObject, thatObject);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, thisObject, thatObject) {
_dispatcher.removeEventListener(eventType, thisObject, thatObject);
}
static function startGame() {
gameStart = new Date().getTime();
trigger("start_game");
}
static function endGame() {
var _local1 = new Date().getTime() - gameStart;
trigger("end_game", {time:_local1});
}
static function startLevel() {
levelStart = new Date().getTime();
trigger("start_level");
}
static function endLevel() {
var _local1 = new Date().getTime() - levelStart;
trigger("end_level", {time:_local1});
}
static var ACHIEVEMENT_RECEIVED = "AchievementReceived";
static var ALIGN_TOP_LEFT = "ALIGN_TL";
static var ALIGN_TOP = "ALIGN_T";
static var ALIGN_TOP_RIGHT = "ALIGN_TR";
static var ALIGN_LEFT = "ALIGN_L";
static var ALIGN_CENTER = "ALIGN_C";
static var ALIGN_RIGHT = "ALIGN_R";
static var ALIGN_BOTTOM_LEFT = "ALIGN_BL";
static var ALIGN_BOTTOM = "ALIGN_B";
static var ALIGN_BOTTOM_RIGHT = "ALIGN_BR";
static var FORMAT_SHORT = "ShortForm";
static var FORMAT_LONG = "LongForm";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 175 MovieClip [__Packages.mochi.as2.MochiCoins] Frame 0
class mochi.as2.MochiCoins
{
function MochiCoins () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function showStore(options) {
mochi.as2.MochiServices.send("coins_showStore", {options:options}, null, null);
}
static function showItem(options) {
if ((options == undefined) || (typeof(options.item) != "string")) {
trace("ERROR: showItem call must pass an Object with an item key");
return(undefined);
}
mochi.as2.MochiServices.send("coins_showItem", {options:options}, null, null);
}
static function showVideo(options) {
if ((options == undefined) || (typeof(options.item) != "string")) {
trace("ERROR: showVideo call must pass an Object with an item key");
return(undefined);
}
mochi.as2.MochiServices.send("coins_showVideo", {options:options}, null, null);
}
static function showLoginWidget(options) {
mochi.as2.MochiServices.setContainer();
mochi.as2.MochiServices.stayOnTop();
mochi.as2.MochiServices.send("coins_showLoginWidget", {options:options});
}
static function hideLoginWidget() {
mochi.as2.MochiServices.send("coins_hideLoginWidget");
}
static function getStoreItems() {
mochi.as2.MochiServices.send("coins_getStoreItems");
}
static function getUserInfo() {
mochi.as2.MochiServices.send("coins_getUserInfo");
}
static function saveUserProperties(properties) {
mochi.as2.MochiServices.send("coins_saveUserProperties", properties);
}
static function addEventListener(eventType, delegate) {
_dispatcher.addEventListener(eventType, delegate);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, delegate) {
_dispatcher.removeEventListener(eventType, delegate);
}
static var LOGGED_IN = "LoggedIn";
static var LOGGED_OUT = "LoggedOut";
static var LOGIN_SHOW = "LoginShow";
static var LOGIN_HIDE = "LoginHide";
static var STORE_SHOW = "StoreShow";
static var STORE_HIDE = "StoreHide";
static var PROFILE_SHOW = "ProfileShow";
static var PROFILE_HIDE = "ProfileHide";
static var PROPERTIES_SAVED = "PropertySaved";
static var WIDGET_LOADED = "WidgetLoaded";
static var ITEM_OWNED = "ItemOwned";
static var ITEM_NEW = "ItemNew";
static var STORE_ITEMS = "StoreItems";
static var USER_INFO = "UserInfo";
static var ERROR = "Error";
static var IO_ERROR = "IOError";
static var NO_USER = "NoUser";
static var PROPERTIES_SIZE = "PropertiesSize";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 176 MovieClip [__Packages.mochi.as2.MochiAd] Frame 0
class mochi.as2.MochiAd
{
function MochiAd () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function showPreGameAd(options) {
var _local26 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}, ad_progress:function (percent) {
}};
options = _parseOptions(options, _local26);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def") {
options.ad_started();
options.ad_finished();
return(undefined);
}
var clip = options.clip;
var _local22 = 11000;
var _local25 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local6 = chk.createEmptyMovieClip("_mochiad_bar", 4);
if (options.no_progress_bar) {
_local6._visible = false;
delete options.no_progress_bar;
} else {
_local6._x = 10;
_local6._y = _local13 - 20;
}
var _local21 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local23 = options.outline;
delete options.outline;
var _local5 = _local6.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local6.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local21);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local7 = _local6.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local23, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local4 - 20, 0);
_local7.lineTo(_local4 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local22;
chk.ad_timeout = _local25;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
mochi.as2.MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
var sendHostProgress = false;
mc.lc.sendHostLoadProgress = function (lc_name) {
sendHostProgress = true;
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
mc.lc.rpc = function (callbackID, arg) {
mochi.as2.MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local11 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local2 = (100 * _local8) / _local4;
var _local10 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local13 = Math.min(100, Math.min(_local2 || 0, _local10));
_local13 = Math.max(this.last_pcnt, _local13);
this.last_pcnt = _local13;
_local9._xscale = _local13;
options.ad_progress(_local13);
if (sendHostProgress) {
mochi.as2.MochiAd.containerNotify(clip, {id:"hostLoadPcnt", pcnt:_local2}, clip._mochiad._containerLCName);
if (_local2 == 100) {
sendHostProgress = false;
}
}
if (!chk.showing) {
var _local7 = _local11.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if ((_local5 > chk.ad_timeout) && (_local2 == 100)) {
options.ad_failed();
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showClickAwayAd(options) {
var _local9 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function () {
}, ad_finished:function () {
}, ad_loaded:function (width, height) {
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local9);
var clip = options.clip;
var _local8 = options.ad_timeout;
delete options.ad_timeout;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local4 = _getRes(options);
var _local10 = _local4[0];
var _local7 = _local4[1];
mc._x = _local10 * 0.5;
mc._y = _local7 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_timeout = _local8;
chk.started = getTimer();
chk.showing = false;
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.rpc = function (callbackID, arg) {
mochi.as2.MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
var _local20 = false;
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
_local2 = true;
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local2) {
delete this.onEnterFrame;
}
};
}
static function showInterLevelAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
mochi.as2.MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
mc.lc.rpc = function (callbackID, arg) {
mochi.as2.MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function showPreloaderAd(options) {
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
showPreGameAd(options);
}
static function showTimedAd(options) {
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
showInterLevelAd(options);
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
if (_local7._url.indexOf("http") != 0) {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
}
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
mochi.as2.MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new Object();
var _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
containerNotify(clip, {id:"unload"}, clip._mochiad._containerLCName);
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
if (_local4.id == "test") {
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
}
return(_local4);
}
static function rpc(clip, callbackID, arg) {
switch (arg.id) {
case "setValue" :
setValue(clip, arg.objectName, arg.value);
break;
case "getValue" :
var _local4 = getValue(clip, arg.objectName);
containerRpcResult(clip, callbackID, _local4, clip._mochiad._containerLCName);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
containerRpcResult(clip, callbackID, _local3, clip._mochiad._containerLCName);
break;
default :
trace("[mochiads rpc] unknown rpc id: " + arg.id);
}
}
static function setValue(base, objectName, value) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
base[_local2[_local1]] = value;
}
static function getValue(base, objectName) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
return(base[_local2[_local1]]);
}
static function runMethod(base, methodName, argsArray) {
var _local2 = methodName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
if (typeof(base[_local2[_local1]]) == "function") {
return(base[_local2[_local1]].apply(base, argsArray));
}
return(undefined);
}
static function containerNotify(clip, args, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.notify) {
_local1.notify(args);
} else {
new LocalConnection().send(lcName, "notify", args);
}
}
static function containerRpcResult(clip, callbackID, val, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.rpcResult) {
_local1.rpcResult(callbackID, val);
} else {
new LocalConnection().send(lcName, "rpcResult", callbackID, val);
}
}
}
Symbol 177 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewMovieClip] Frame 0
class com.novelgames.flashgames.commonAS2.NewMovieClip extends MovieClip
{
var _parent, _x, _y, _rotation, _visible, _alpha, _width, _height, _xscale, _yscale, _xmouse, _ymouse, _totalframes, _currentframe, _name, __mask, useHandCursor, __mouseEnabled, __mouseChildren, __numChildren, getInstanceAtDepth, getNextHighestDepth, onRelease, onRollOver, onRollOut, onPress, onReleaseOutside, onMouseMove, onEnterFrame, getURL, createMovieCount, attachMovie, createEmptyMovieClip;
function NewMovieClip () {
super();
}
function get parent() {
return(_parent);
}
function set x(x) {
_x = x;
//return(this.x);
}
function get x() {
return(_x);
}
function set y(y) {
_y = y;
//return(this.y);
}
function get y() {
return(_y);
}
function set rotation(rotation) {
_rotation = rotation;
//return(this.rotation);
}
function get rotation() {
return(_rotation);
}
function set visible(visible) {
_visible = visible;
//return(this.visible);
}
function get visible() {
return(_visible);
}
function set alpha(alpha) {
_alpha = alpha * 100;
//return(this.alpha);
}
function get alpha() {
return(_alpha / 100);
}
function get width() {
return(_width);
}
function set width(width) {
_width = width;
//return(this.width);
}
function get height() {
return(_height);
}
function set height(height) {
_height = height;
//return(this.height);
}
function set scaleX(scaleX) {
_xscale = scaleX * 100;
//return(this.scaleX);
}
function get scaleX() {
return(_xscale / 100);
}
function set scaleY(scaleY) {
_yscale = scaleY * 100;
//return(this.scaleY);
}
function get scaleY() {
return(_yscale / 100);
}
function set mouseX(mouseX) {
_xmouse = mouseX;
//return(this.mouseX);
}
function get mouseX() {
return(_xmouse);
}
function set mouseY(mouseY) {
_ymouse = mouseY;
//return(this.mouseY);
}
function get mouseY() {
return(_ymouse);
}
function get totalFrames() {
return(_totalframes);
}
function get currentFrame() {
return(_currentframe);
}
function get name() {
return(_name);
}
function set mask(mask) {
__mask = mask;
super.setMask(mask);
//return(this.mask);
}
function get mask() {
return(__mask);
}
function set buttonMode(buttonMode) {
useHandCursor = buttonMode;
//return(this.buttonMode);
}
function get buttonMode() {
return(useHandCursor);
}
function set mouseEnabled(mouseEnabled) {
__mouseEnabled = mouseEnabled;
//return(this.mouseEnabled);
}
function get mouseEnabled() {
return(__mouseEnabled);
}
function set mouseChildren(mouseChildren) {
__mouseChildren = mouseChildren;
//return(this.mouseChildren);
}
function get mouseChildren() {
return(__mouseChildren);
}
function get stage() {
return(com.novelgames.flashgames.commonAS2.NewStage.getNewStage());
}
function set numChildren(numChildren) {
__numChildren = numChildren;
//return(this.numChildren);
}
function get numChildren() {
if (__numChildren == undefined) {
__numChildren = 0;
}
return(__numChildren);
}
function get graphics() {
return(this);
}
function startDrag(lockCenter, bounds) {
if (lockCenter == undefined) {
super.startDrag();
} else if (bounds == undefined) {
super.startDrag(lockCenter);
} else {
super.startDrag(lockCenter, bounds.__get__left(), bounds.__get__top(), bounds.__get__right(), bounds.__get__bottom());
}
}
function lineStyle(thickness, colour, alpha) {
if (alpha == undefined) {
alpha = 1;
}
super.lineStyle(thickness, colour, alpha * 100);
}
function beginFill(colour, alpha) {
if (alpha == undefined) {
alpha = 1;
}
super.beginFill(colour, alpha * 100);
}
function getBounds(target) {
var _local2 = super.getBounds(target);
return(new com.novelgames.flashgames.commonAS2.Rectangle(_local2.xMin, _local2.yMin, _local2.xMax - _local2.xMin, _local2.yMax - _local2.yMin));
}
function localToGlobal(point) {
var _local2 = {x:point.x, y:point.y};
super.localToGlobal(_local2);
return(_local2);
}
function globalToLocal(point) {
var _local2 = {x:point.x, y:point.y};
super.globalToLocal(_local2);
return(_local2);
}
function hitTestPoint(x, y, shapeFlag) {
if (shapeFlag == undefined) {
return(super.hitTest(x, y));
}
return(super.hitTest(x, y, shapeFlag));
}
function hitTestObject(obj) {
return(super.hitTest(obj));
}
function addChild(movieClip) {
if (movieClip.addedToParent) {
return(undefined);
}
if (movieClip._parent != this) {
trace("wrong addChild: " + [this, movieClip]);
}
if (movieClip == null) {
return(undefined);
}
addChildAt(movieClip, numChildren);
}
function addChildAt(movieClip, index) {
if (movieClip.addedToParent) {
return(undefined);
}
if (movieClip._parent != this) {
trace("wrong addChildAt: " + [this, movieClip]);
}
if (movieClip == null) {
return(undefined);
}
movieClip.addedToParent = true;
numChildren = ((numChildren+1));
setChildIndex(movieClip, index);
}
function removeChild(movieClip) {
if (!movieClip.addedToParent) {
return(undefined);
}
removeChildAt(movieClip.getDepth());
}
function removeChildAt(index) {
var _local5 = getInstanceAtDepth(index);
var _local3;
var _local2;
if (!_local5.addedToParent) {
return(undefined);
}
_local5.removeMovieClip();
_local3 = getNextHighestDepth();
_local2 = index + 1;
while (_local2 < _local3) {
getInstanceAtDepth(_local2).swapDepths(_local2 - 1);
_local2++;
}
numChildren = ((numChildren-1));
}
function setChildIndex(child, index) {
var _local3 = child.getDepth();
var _local2;
var _local1;
if (_local3 == index) {
return(undefined);
}
_local2 = ((_local3 < index) ? 1 : -1);
_local1 = _local3;
while (_local1 != index) {
child.swapDepths(_local1 + _local2);
_local1 = _local1 + _local2;
}
}
function getChildIndex(child) {
return(child.getDepth());
}
function getChildAt(index) {
return(com.novelgames.flashgames.commonAS2.NewMovieClip(getInstanceAtDepth(index)));
}
function addEventListener(type, listenerObject, listenerFunctionName) {
switch (type) {
case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK :
onRelease = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER :
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_OVER :
onRollOver = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT :
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_OUT :
onRollOut = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN :
onPress = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP :
onRelease = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
onReleaseOutside = onRelease;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_MOVE :
onMouseMove = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.Event.ENTER_FRAME :
onEnterFrame = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
}
}
function removeEventListener(type) {
switch (type) {
case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK :
onRelease = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER :
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_OVER :
onRollOver = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT :
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_OUT :
onRollOut = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN :
onPress = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP :
onRelease = null;
onReleaseOutside = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_MOVE :
onMouseMove = null;
break;
case com.novelgames.flashgames.commonAS2.Event.ENTER_FRAME :
onEnterFrame = null;
}
}
function navigateToURL(urlRequest, window) {
getURL(urlRequest.url, window);
}
function createMovie(name) {
var _local4 = getNextHighestDepth();
var _local2;
if (createMovieCount == undefined) {
createMovieCount = 0;
}
if (name) {
_local2 = attachMovie(name, (name + "_") + createMovieCount, _local4);
} else {
_local2 = createEmptyMovieClip((name + "_") + createMovieCount, _local4);
_local2.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
}
_local2.addedToParent = false;
createMovieCount++;
return(_local2);
}
function createSound(name) {
return(new com.novelgames.flashgames.commonAS2.NewSound(this, name));
}
}
Symbol 178 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewStage] Frame 0
class com.novelgames.flashgames.commonAS2.NewStage
{
var addedListener, onKeyDown, onKeyUp;
function NewStage () {
addedListener = false;
onKeyDown = null;
onKeyUp = null;
}
static function getNewStage() {
if (newStage == null) {
newStage = new com.novelgames.flashgames.commonAS2.NewStage();
}
return(newStage);
}
function get stageWidth() {
return(Stage.width);
}
function get stageHeight() {
return(Stage.height);
}
function set focus(object) {
Selection.setFocus(object);
//return(focus);
}
function get focus() {
return(Selection.getFocus());
}
function addEventListener(type, listenerObject, listenerFunctionName) {
if (!addedListener) {
Key.addListener(this);
addedListener = true;
}
switch (type) {
case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN :
onKeyDown = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.KeyboardEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_UP :
onKeyUp = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.KeyboardEvent(this));
};
}
}
function removeEventListener(type) {
switch (type) {
case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN :
onKeyDown = null;
break;
case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_UP :
onKeyUp = null;
}
}
static var newStage = null;
}
Symbol 179 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.KeyboardEvent] Frame 0
class com.novelgames.flashgames.commonAS2.KeyboardEvent
{
function KeyboardEvent () {
}
function get charCode() {
return(Key.getAscii());
}
function get keyCode() {
return(Key.getCode());
}
function updateAfterEvent() {
_global.updateAfterEvent();
}
static var KEY_DOWN = "keyDown";
static var KEY_UP = "keyUp";
}
Symbol 180 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Rectangle] Frame 0
class com.novelgames.flashgames.commonAS2.Rectangle
{
var x, y, width, height;
function Rectangle (x, y, width, height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
function get left() {
return(x);
}
function set left(left) {
x = left;
//return(this.left);
}
function get top() {
return(y);
}
function set top(top) {
y = top;
//return(this.top);
}
function get right() {
return(x + width);
}
function set right(right) {
width = right - x;
//return(this.right);
}
function get bottom() {
return(y + height);
}
function set bottom(bottom) {
height = bottom - y;
//return(this.bottom);
}
function get size() {
return({x:width, y:height});
}
function set size(size) {
width = size.x;
height = size.y;
//return(this.size);
}
function get topLeft() {
return({x:x, y:y});
}
function set topLeft(topLeft) {
x = topLeft.x;
y = topLeft.y;
//return(this.topLeft);
}
function get bottomRight() {
return({x:x + width, y:y + height});
}
function set bottomRight(bottomRight) {
width = x - bottomRight.x;
height = y - bottomRight.y;
//return(this.bottomRight);
}
}
Symbol 181 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MouseEvent] Frame 0
class com.novelgames.flashgames.commonAS2.MouseEvent
{
var target, currentTarget;
function MouseEvent (target) {
this.target = target;
currentTarget = target;
}
function updateAfterEvent() {
_global.updateAfterEvent();
}
static var CLICK = "click";
static var DOUBLE_CLICK = "doubleClick";
static var MOUSE_DOWN = "mouseDown";
static var MOUSE_MOVE = "mouseMove";
static var MOUSE_OUT = "mouseOut";
static var MOUSE_OVER = "mouseOver";
static var MOUSE_UP = "mouseUp";
static var MOUSE_WHEEL = "mouseWheel";
static var ROLL_OUT = "rollOut";
static var ROLL_OVER = "rollOver";
}
Symbol 182 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Event] Frame 0
class com.novelgames.flashgames.commonAS2.Event
{
function Event () {
}
static var ENTER_FRAME = "enterFrame";
}
Symbol 183 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.URLRequest] Frame 0
class com.novelgames.flashgames.commonAS2.URLRequest
{
var url;
function URLRequest (url) {
this.url = url;
}
}
Symbol 184 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewSound] Frame 0
class com.novelgames.flashgames.commonAS2.NewSound extends Sound
{
var attachSound, start;
function NewSound (target, symbolName) {
super(target);
attachSound(symbolName);
}
function play(startTime, loops) {
if (loops == undefined) {
if (startTime == undefined) {
start();
} else {
start(startTime);
}
} else {
start(startTime, loops);
}
return(new com.novelgames.flashgames.commonAS2.SoundChannel(this));
}
}
Symbol 185 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.SoundChannel] Frame 0
class com.novelgames.flashgames.commonAS2.SoundChannel
{
var sound;
function SoundChannel (sound) {
this.sound = sound;
}
function stop() {
sound.stop();
}
}
Symbol 186 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MuteButton] Frame 0
class com.novelgames.flashgames.commonAS2.MuteButton extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var gotoAndStop;
function MuteButton () {
super();
if (new Sound().getVolume() == 0) {
showOff();
} else {
showOn();
}
}
function onPress() {
var _local2 = SharedObject.getLocal("mute", "/");
if (new Sound().getVolume() == 0) {
_local2.data.isMute = false;
new Sound().setVolume(100);
showOn();
} else {
_local2.data.isMute = true;
new Sound().setVolume(0);
showOff();
}
}
function showOff() {
gotoAndStop("off");
}
function showOn() {
gotoAndStop("on");
}
}
Symbol 187 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.InstructionsButton] Frame 0
class com.novelgames.flashgames.commonAS2.InstructionsButton extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var onRelease;
function InstructionsButton () {
super();
onRelease = function () {
this._parent._parent.showInstructionsFromGame();
};
}
}
Symbol 188 MovieClip [__Packages.com.novelgames.flashgames.treeAS2.GameOverDialog] Frame 0
class com.novelgames.flashgames.treeAS2.GameOverDialog extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var stop, gotoAndStop, createMovie, messagePlayAgain, addChild, __get__parent;
function GameOverDialog () {
super();
stop();
}
function show() {
gotoAndStop("show");
}
function showPlayAgain() {
var _local2;
_local2 = createMovie("MessagePlayAgain");
messagePlayAgain = _local2;
messagePlayAgain.playAgainButton.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.CLICK, this, "playAgainButtonClicked");
messagePlayAgain.homeButton.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.CLICK, this, "homeButtonClicked");
addChild(messagePlayAgain);
}
function playAgainButtonClicked(mouseEvent) {
Object(__get__parent().parent).gotoGamePage();
}
function homeButtonClicked(mouseEvent) {
Object(__get__parent().parent).gotoTitlePage();
}
}
Symbol 189 MovieClip [__Packages.com.novelgames.flashgames.treeAS2.MessagePlayAgain] Frame 0
class com.novelgames.flashgames.treeAS2.MessagePlayAgain extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var playAgainButton, homeButton;
function MessagePlayAgain () {
super();
playAgainButton.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
homeButton.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
}
}
Symbol 190 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.CommonGame] Frame 0
class com.novelgames.flashgames.commonAS2.CommonGame extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
function CommonGame () {
super();
}
static function get gameStage() {
return(com.novelgames.flashgames.commonAS2.NewStage.getNewStage());
}
function pause() {
com.novelgames.flashgames.commonAS2.NewTimer.pause();
}
function unpause() {
com.novelgames.flashgames.commonAS2.NewTimer.unpause();
}
}
Symbol 191 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Timer] Frame 0
interface com.novelgames.flashgames.commonAS2.Timer
{
}
Symbol 192 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTimer] Frame 0
class com.novelgames.flashgames.commonAS2.NewTimer implements com.novelgames.flashgames.commonAS2.Timer
{
static var pauseTime;
var delay, repeatCount, currentCount, listenerObject, listenerFunctionName, adjustedStartTime, usingDelay, intervalID;
function NewTimer (delay, repeatCount) {
if (repeatCount == undefined) {
repeatCount = 0;
}
this.delay = delay;
this.repeatCount = repeatCount;
currentCount = 0;
allTimers.push(this);
}
static function getTimer() {
if (paused) {
return(pauseTime - totalPausedTime);
}
return(getTimer() - totalPausedTime);
}
static function pause() {
if (paused) {
return(undefined);
}
paused = true;
pauseTime = getTimer();
}
static function unpause() {
if (!paused) {
return(undefined);
}
paused = false;
totalPausedTime = totalPausedTime + (getTimer() - pauseTime);
}
function addEventListener(type, listenerObject, listenerFunctionName) {
if (type != com.novelgames.flashgames.commonAS2.TimerEvent.TIMER) {
return(undefined);
}
this.listenerObject = listenerObject;
this.listenerFunctionName = listenerFunctionName;
}
function removeEventListener(type) {
if (type != com.novelgames.flashgames.commonAS2.TimerEvent.TIMER) {
return(undefined);
}
listenerObject = null;
listenerFunctionName = null;
}
function start() {
adjustedStartTime = getTimer();
usingDelay = delay;
clearInterval(intervalID);
intervalID = setInterval(this, "timerEventListener", delay);
}
function stop() {
clearInterval(intervalID);
}
function timerEventListener() {
currentCount++;
if (paused) {
clearInterval(intervalID);
usingDelay = Math.max(delay - (getTimer() - adjustedStartTime), 1);
currentCount--;
intervalID = setInterval(this, "timerEventListener", usingDelay);
return(undefined);
}
if ((getTimer() - adjustedStartTime) >= delay) {
adjustedStartTime = getTimer();
if (usingDelay != delay) {
clearInterval(intervalID);
usingDelay = delay;
intervalID = setInterval(this, "timerEventListener", usingDelay);
}
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.TimerEvent());
if ((repeatCount != 0) && (currentCount >= repeatCount)) {
clearInterval(intervalID);
}
} else {
clearInterval(intervalID);
usingDelay = Math.max(delay - (getTimer() - adjustedStartTime), 1);
currentCount--;
intervalID = setInterval(this, "timerEventListener", usingDelay);
}
}
static var paused = false;
static var totalPausedTime = 0;
static var allTimers = new Array();
}
Symbol 193 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.TimerEvent] Frame 0
class com.novelgames.flashgames.commonAS2.TimerEvent
{
function TimerEvent () {
}
function updateAfterEvent() {
_global.updateAfterEvent();
}
static var TIMER = "timer";
}
Symbol 194 MovieClip [__Packages.com.novelgames.flashgames.treeAS2.Game] Frame 0
class com.novelgames.flashgames.treeAS2.Game extends com.novelgames.flashgames.commonAS2.CommonGame
{
var gameOverDialog, timeText, blocksHolder, star, score, gameOver, startTime, timer, soundMove, createSound, soundWin, __time, dimensionX, dimensionY, blocks, sourceX, sourceY, __get__parent;
function Game () {
super();
gameOverDialog.__proto__ = com.novelgames.flashgames.treeAS2.GameOverDialog.prototype;
timeText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype;
blocksHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
star.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
_global.ROOT.score = 0;
_global.ROOT.securestartscore = 0;
_global.ROOT.securescorecheck = 0;
_global.ROOT.securetotal = 0;
_global.ROOT.securecount = 0;
_global.ROOT.ssfactor = (random(10) + 2) * -1;
_global.ROOT.securelog = new Array();
score = _global.ROOT.securescore(0, 0, 3);
_global.ROOT.score = score;
gameOver = false;
star.gotoAndStop("hide");
createTree();
createNet();
updateLights();
time = (0);
startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0);
timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onTime");
timer.start();
soundMove = createSound("SoundMove");
soundWin = createSound("SoundWin");
}
function set time(time) {
__time = time;
timeText.text = time.toString();
//return(this.time);
}
function get time() {
return(__time);
}
function rotateStarted() {
updateLights();
soundMove.play();
}
function rotateFinished() {
updateLights();
checkWin();
}
function onTime(timerEvent) {
updateTime();
}
function createTree() {
var _local9 = 0;
var _local8 = 0;
var _local2 = 0;
var _local4 = 0;
var _local6;
var _local3;
var _local5;
var _local7;
_local5 = 0;
while (_local5 < com.novelgames.flashgames.treeAS2.Config.NET_PATTERN.length) {
_local6 = com.novelgames.flashgames.treeAS2.Config.NET_PATTERN.charAt(_local5);
if (_local6 == "\r") {
_local2 = 0;
_local4++;
_local8 = Math.max(_local8, _local4);
} else {
_local2++;
_local9 = Math.max(_local9, _local2);
}
_local5++;
}
dimensionX = _local9;
dimensionY = _local8 + 1;
blocks = new Array(dimensionX * dimensionY);
_local2 = 0;
_local4 = 0;
_local5 = 0;
while (_local5 < com.novelgames.flashgames.treeAS2.Config.NET_PATTERN.length) {
_local6 = com.novelgames.flashgames.treeAS2.Config.NET_PATTERN.charAt(_local5);
if (_local6 == " ") {
_local2++;
} else if (_local6 == "\r") {
_local2 = 0;
_local4++;
} else if (_local6 == "0") {
_local7 = blocksHolder.createMovie("Block");
_local3 = _local7;
_local3.indexX = _local2;
_local3.indexY = _local4;
_local3.x = _local2 * com.novelgames.flashgames.treeAS2.Config.NET_BLOCKSIZE;
_local3.y = _local4 * com.novelgames.flashgames.treeAS2.Config.NET_BLOCKSIZE;
blocksHolder.addChild(_local3);
blocks[(_local4 * dimensionX) + _local2] = _local3;
_local2++;
} else if (_local6 == "1") {
_local7 = blocksHolder.createMovie("Source");
_local3 = _local7;
_local3.x = _local2 * com.novelgames.flashgames.treeAS2.Config.NET_BLOCKSIZE;
_local3.y = _local4 * com.novelgames.flashgames.treeAS2.Config.NET_BLOCKSIZE;
blocksHolder.addChild(_local3);
sourceX = _local2;
sourceY = _local4;
_local2++;
}
_local5++;
}
}
function createNet() {
var _local5 = new Array();
var _local3 = new Array();
var _local8;
var _local9;
var _local2;
var _local7;
var _local6;
var _local10;
var _local4;
_local4 = 0;
while (_local4 < blocks.length) {
if (blocks[_local4] == null) {
_local5[_local4] = -1;
} else {
_local5[_local4] = 0;
}
_local4++;
}
_local8 = ((sourceY - 1) * dimensionX) + sourceX;
_local5[_local8] = com.novelgames.flashgames.treeAS2.Block.DOWN;
_local3.push([_local8, com.novelgames.flashgames.treeAS2.Block.UP]);
_local3.push([_local8, com.novelgames.flashgames.treeAS2.Block.LEFT]);
_local3.push([_local8, com.novelgames.flashgames.treeAS2.Block.RIGHT]);
while (_local3.length > 0) {
_local8 = Math.floor(Math.random() * _local3.length);
_local9 = _local3[_local8][0];
_local7 = _local9 % dimensionX;
_local6 = Math.floor(_local9 / dimensionX);
_local10 = _local3[_local8][1];
switch (_local10) {
case com.novelgames.flashgames.treeAS2.Block.UP :
_local6--;
break;
case com.novelgames.flashgames.treeAS2.Block.DOWN :
_local6++;
break;
case com.novelgames.flashgames.treeAS2.Block.LEFT :
_local7--;
break;
case com.novelgames.flashgames.treeAS2.Block.RIGHT :
_local7++;
}
_local2 = (_local6 * dimensionX) + _local7;
if ((((_local7 < 0) || (_local7 >= dimensionX)) || (_local6 < 0)) || (_local6 >= dimensionY)) {
} else if (_local5[_local2] != 0) {
} else {
_local5[_local9] = _local5[_local9] | _local10;
switch (_local10) {
case com.novelgames.flashgames.treeAS2.Block.UP :
_local5[_local2] = com.novelgames.flashgames.treeAS2.Block.DOWN;
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.UP]);
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.LEFT]);
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.RIGHT]);
break;
case com.novelgames.flashgames.treeAS2.Block.DOWN :
_local5[_local2] = com.novelgames.flashgames.treeAS2.Block.UP;
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.DOWN]);
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.LEFT]);
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.RIGHT]);
break;
case com.novelgames.flashgames.treeAS2.Block.LEFT :
_local5[_local2] = com.novelgames.flashgames.treeAS2.Block.RIGHT;
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.UP]);
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.DOWN]);
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.LEFT]);
break;
case com.novelgames.flashgames.treeAS2.Block.RIGHT :
_local5[_local2] = com.novelgames.flashgames.treeAS2.Block.LEFT;
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.UP]);
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.DOWN]);
_local3.push([_local2, com.novelgames.flashgames.treeAS2.Block.RIGHT]);
}
}
_local3.splice(_local8, 1);
}
_local4 = 0;
while (_local4 < _local5.length) {
if (_local5[_local4] != -1) {
blocks[_local4].initialize(getRandomRotatedDirection(_local5[_local4]));
}
_local4++;
}
}
function getRandomRotatedDirection(direction) {
var _local1;
switch (direction) {
case com.novelgames.flashgames.treeAS2.Block.UP :
case com.novelgames.flashgames.treeAS2.Block.DOWN :
case com.novelgames.flashgames.treeAS2.Block.LEFT :
case com.novelgames.flashgames.treeAS2.Block.RIGHT :
_local1 = [com.novelgames.flashgames.treeAS2.Block.UP, com.novelgames.flashgames.treeAS2.Block.DOWN, com.novelgames.flashgames.treeAS2.Block.LEFT, com.novelgames.flashgames.treeAS2.Block.RIGHT];
break;
case com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.DOWN :
case com.novelgames.flashgames.treeAS2.Block.LEFT | com.novelgames.flashgames.treeAS2.Block.RIGHT :
_local1 = [com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.DOWN, com.novelgames.flashgames.treeAS2.Block.LEFT | com.novelgames.flashgames.treeAS2.Block.RIGHT];
break;
case com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.LEFT :
case com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.RIGHT :
case com.novelgames.flashgames.treeAS2.Block.LEFT | com.novelgames.flashgames.treeAS2.Block.DOWN :
case com.novelgames.flashgames.treeAS2.Block.RIGHT | com.novelgames.flashgames.treeAS2.Block.DOWN :
_local1 = [com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.LEFT, com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.RIGHT, com.novelgames.flashgames.treeAS2.Block.LEFT | com.novelgames.flashgames.treeAS2.Block.DOWN, com.novelgames.flashgames.treeAS2.Block.RIGHT | com.novelgames.flashgames.treeAS2.Block.DOWN];
break;
case (com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.LEFT) | com.novelgames.flashgames.treeAS2.Block.RIGHT :
case (com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.LEFT) | com.novelgames.flashgames.treeAS2.Block.DOWN :
case (com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.RIGHT) | com.novelgames.flashgames.treeAS2.Block.DOWN :
case (com.novelgames.flashgames.treeAS2.Block.LEFT | com.novelgames.flashgames.treeAS2.Block.RIGHT) | com.novelgames.flashgames.treeAS2.Block.DOWN :
_local1 = [(com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.LEFT) | com.novelgames.flashgames.treeAS2.Block.RIGHT, (com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.LEFT) | com.novelgames.flashgames.treeAS2.Block.DOWN, (com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.RIGHT) | com.novelgames.flashgames.treeAS2.Block.DOWN, (com.novelgames.flashgames.treeAS2.Block.LEFT | com.novelgames.flashgames.treeAS2.Block.RIGHT) | com.novelgames.flashgames.treeAS2.Block.DOWN];
break;
case ((com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.DOWN) | com.novelgames.flashgames.treeAS2.Block.LEFT) | com.novelgames.flashgames.treeAS2.Block.RIGHT :
_local1 = [((com.novelgames.flashgames.treeAS2.Block.UP | com.novelgames.flashgames.treeAS2.Block.DOWN) | com.novelgames.flashgames.treeAS2.Block.LEFT) | com.novelgames.flashgames.treeAS2.Block.RIGHT];
}
return(_local1[Math.floor(Math.random() * _local1.length)]);
}
function updateLights() {
var _local4 = new Array();
var _local2;
var _local3;
_local3 = 0;
while (_local3 < blocks.length) {
if (blocks[_local3] == null) {
} else {
blocks[_local3].isOn = false;
}
_local3++;
}
_local2 = blocks[((sourceY - 1) * dimensionX) + sourceX];
if ((_local2.directions & com.novelgames.flashgames.treeAS2.Block.DOWN) != 0) {
_local2.isOn = true;
_local4.push(_local2);
}
while (_local4.length > 0) {
_local2 = _local4[0];
if (checkShouldUpdateToOn(_local2, com.novelgames.flashgames.treeAS2.Block.UP)) {
blocks[((_local2.indexY - 1) * dimensionX) + _local2.indexX].isOn = true;
_local4.push(blocks[((_local2.indexY - 1) * dimensionX) + _local2.indexX]);
}
if (checkShouldUpdateToOn(_local2, com.novelgames.flashgames.treeAS2.Block.DOWN)) {
blocks[((_local2.indexY + 1) * dimensionX) + _local2.indexX].isOn = true;
_local4.push(blocks[((_local2.indexY + 1) * dimensionX) + _local2.indexX]);
}
if (checkShouldUpdateToOn(_local2, com.novelgames.flashgames.treeAS2.Block.LEFT)) {
blocks[((_local2.indexY * dimensionX) + _local2.indexX) - 1].isOn = true;
_local4.push(blocks[((_local2.indexY * dimensionX) + _local2.indexX) - 1]);
}
if (checkShouldUpdateToOn(_local2, com.novelgames.flashgames.treeAS2.Block.RIGHT)) {
blocks[((_local2.indexY * dimensionX) + _local2.indexX) + 1].isOn = true;
_local4.push(blocks[((_local2.indexY * dimensionX) + _local2.indexX) + 1]);
}
_local4.splice(0, 1);
}
_local3 = 0;
while (_local3 < blocks.length) {
if (blocks[_local3] == null) {
} else {
blocks[_local3].updatePicture();
}
_local3++;
}
}
function checkShouldUpdateToOn(block, direction) {
var _local3 = block.indexX;
var _local2 = block.indexY;
var _local4;
if ((block.directions & direction) == 0) {
return(false);
}
switch (direction) {
case com.novelgames.flashgames.treeAS2.Block.UP :
_local2--;
_local4 = com.novelgames.flashgames.treeAS2.Block.DOWN;
break;
case com.novelgames.flashgames.treeAS2.Block.DOWN :
_local2++;
_local4 = com.novelgames.flashgames.treeAS2.Block.UP;
break;
case com.novelgames.flashgames.treeAS2.Block.LEFT :
_local3--;
_local4 = com.novelgames.flashgames.treeAS2.Block.RIGHT;
break;
case com.novelgames.flashgames.treeAS2.Block.RIGHT :
_local3++;
_local4 = com.novelgames.flashgames.treeAS2.Block.LEFT;
}
if ((((_local3 < 0) || (_local3 >= dimensionX)) || (_local2 < 0)) || (_local2 >= dimensionY)) {
return(false);
}
if (blocks[(_local2 * dimensionX) + _local3] == null) {
return(false);
}
if (blocks[(_local2 * dimensionX) + _local3].isOn) {
return(false);
}
return((blocks[(_local2 * dimensionX) + _local3].directions & _local4) != 0);
}
function updateTime() {
if (gameOver) {
return(undefined);
}
time = (Math.floor((com.novelgames.flashgames.commonAS2.NewTimer.getTimer() - startTime) / 1000));
}
function checkWin() {
var _local3;
_local3 = 0;
while (_local3 < blocks.length) {
if (blocks[_local3] == null) {
} else if (!blocks[_local3].isOn) {
return(undefined);
}
_local3++;
}
gameOver = true;
star.gotoAndStop("show");
_local3 = 0;
while (_local3 < blocks.length) {
if (blocks[_local3] == null) {
} else {
blocks[_local3].hideButton();
}
_local3++;
}
myscore = com.novelgames.flashgames.treeAS2.Config.SCORE_BASE - (com.novelgames.flashgames.treeAS2.Config.SCORE_PERTIME * time);
trace("myscore = " + myscore);
score = _global.ROOT.securescore(score, myscore, 3);
_global.ROOT.score = score;
trace("score = " + _global.ROOT.score);
gameOverDialog.show();
soundWin.play();
timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.treeAS2.Config.MESSAGE_GAMEOVERTIME, 1);
timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "showPlayAgain");
timer.start();
}
function showPlayAgain(timerEvent) {
Object(__get__parent()).showEnterHighScore(score);
var _local2 = {n:[3, 6, 13, 3, 1, 8, 14, 8, 10, 10, 12, 7, 2, 0, 9, 11], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var _local3 = _local2.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:_local3, score:myscore});
}
}
Symbol 195 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTextField] Frame 0
class com.novelgames.flashgames.commonAS2.NewTextField extends TextField
{
var _x, _y, _rotation, _visible, _alpha, _width, _height, scroll, maxscroll;
function NewTextField () {
super();
}
function set x(x) {
_x = x;
//return(this.x);
}
function get x() {
return(_x);
}
function set y(y) {
_y = y;
//return(this.y);
}
function get y() {
return(_y);
}
function set rotation(rotation) {
_rotation = rotation;
//return(this.rotation);
}
function get rotation() {
return(_rotation);
}
function set visible(visible) {
_visible = visible;
//return(this.visible);
}
function get visible() {
return(_visible);
}
function set alpha(alpha) {
_alpha = alpha * 100;
//return(this.alpha);
}
function get alpha() {
return(_alpha / 100);
}
function get width() {
return(_width);
}
function set width(width) {
_width = width;
//return(this.width);
}
function get height() {
return(_height);
}
function set height(height) {
_height = height;
//return(this.height);
}
function set scrollV(scrollV) {
scroll = scrollV;
//return(this.scrollV);
}
function get scrollV() {
return(scroll);
}
function set maxScrollV(maxScrollV) {
maxscroll = maxScrollV;
//return(this.maxScrollV);
}
function get maxScrollV() {
return(maxscroll);
}
function setTextFormat(textFormat, beginIndex, endIndex) {
if ((beginIndex == undefined) || (endIndex == undefined)) {
super.setTextFormat(textFormat);
} else {
super.setTextFormat(beginIndex, endIndex, textFormat);
}
}
}
Symbol 196 MovieClip [__Packages.com.novelgames.flashgames.treeAS2.Config] Frame 0
class com.novelgames.flashgames.treeAS2.Config
{
function Config () {
}
static var NET_PATTERN = " 000000000000000000\r00000000000000000000\r00000000000000000000\r00000000000000000000\r00000000000000000000\r 0000000000000000000\r 0000000000000000000\r 1";
static var NET_BLOCKSIZE = 90;
static var NET_NOOFBULBCOLOURS = 6;
static var NET_ROTATETIME = 200;
static var SCORE_BASE = 50000;
static var SCORE_PERTIME = 100;
static var MESSAGE_GAMEOVERTIME = 1000;
static var TIPS_URL = "http://www.novelgames.com/gametips/?id=51";
}
Symbol 197 MovieClip [__Packages.com.novelgames.flashgames.treeAS2.Block] Frame 0
class com.novelgames.flashgames.treeAS2.Block extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var button, bulb, wire, stop, directions, bulbIndex, isOn, rotating, __set__mouseEnabled, __get__parent, newDirections, startRotateTime, startRotation, timer;
function Block () {
super();
button.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
bulb.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
wire.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
stop();
}
function initialize(directions) {
this.directions = directions;
bulbIndex = Math.floor(Math.random() * com.novelgames.flashgames.treeAS2.Config.NET_NOOFBULBCOLOURS);
isOn = false;
rotating = false;
updatePicture();
switch (directions) {
case UP :
case DOWN :
case LEFT :
case RIGHT :
bulb.__set__visible(true);
break;
default :
bulb.__set__visible(false);
}
bulb.__set__mouseEnabled(false);
bulb.__set__mouseChildren(false);
__set__mouseEnabled(false);
button.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN, this, "startRotate");
}
function updatePicture() {
var _local2 = (isOn ? "on" : "off");
switch (directions) {
case UP :
wire.gotoAndStop(_local2 + "U");
wire.__set__rotation(0);
break;
case DOWN :
wire.gotoAndStop(_local2 + "U");
wire.__set__rotation(180);
break;
case LEFT :
wire.gotoAndStop(_local2 + "U");
wire.__set__rotation(-90);
break;
case RIGHT :
wire.gotoAndStop(_local2 + "U");
wire.__set__rotation(90);
break;
case UP | DOWN :
wire.gotoAndStop(_local2 + "UD");
wire.__set__rotation(0);
break;
case LEFT | RIGHT :
wire.gotoAndStop(_local2 + "UD");
wire.__set__rotation(90);
break;
case UP | LEFT :
wire.gotoAndStop(_local2 + "UL");
wire.__set__rotation(0);
break;
case UP | RIGHT :
wire.gotoAndStop(_local2 + "UL");
wire.__set__rotation(90);
break;
case RIGHT | DOWN :
wire.gotoAndStop(_local2 + "UL");
wire.__set__rotation(180);
break;
case LEFT | DOWN :
wire.gotoAndStop(_local2 + "UL");
wire.__set__rotation(-90);
break;
case (UP | LEFT) | RIGHT :
wire.gotoAndStop(_local2 + "ULR");
wire.__set__rotation(0);
break;
case (UP | RIGHT) | DOWN :
wire.gotoAndStop(_local2 + "ULR");
wire.__set__rotation(90);
break;
case (LEFT | RIGHT) | DOWN :
wire.gotoAndStop(_local2 + "ULR");
wire.__set__rotation(180);
break;
case (UP | LEFT) | DOWN :
wire.gotoAndStop(_local2 + "ULR");
wire.__set__rotation(-90);
break;
case ((UP | LEFT) | RIGHT) | DOWN :
wire.gotoAndStop(_local2 + "ULRD");
wire.__set__rotation(0);
}
bulb.gotoAndStop(_local2 + bulbIndex);
}
function hideButton() {
button.__set__visible(false);
}
function startRotate(mouseEvent) {
if (Object(__get__parent().parent).gameOver) {
return(undefined);
}
if (rotating) {
return(undefined);
}
rotating = true;
newDirections = 0;
if ((directions & UP) != 0) {
newDirections = newDirections | RIGHT;
}
if ((directions & DOWN) != 0) {
newDirections = newDirections | LEFT;
}
if ((directions & LEFT) != 0) {
newDirections = newDirections | UP;
}
if ((directions & RIGHT) != 0) {
newDirections = newDirections | DOWN;
}
isOn = false;
updatePicture();
directions = 0;
startRotateTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
startRotation = wire.rotation;
timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0);
timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "rotate");
timer.start();
Object(__get__parent().parent).rotateStarted();
}
function rotate(timerEvent) {
var _local3 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
var _local2 = (_local3 - startRotateTime) / com.novelgames.flashgames.treeAS2.Config.NET_ROTATETIME;
if (_local2 > 1) {
_local2 = 1;
}
timerEvent.updateAfterEvent();
wire.__set__rotation(startRotation + (_local2 * 90));
if (_local2 < 1) {
return(undefined);
}
directions = newDirections;
timer.stop();
rotating = false;
Object(__get__parent().parent).rotateFinished();
}
static var UP = 1;
static var DOWN = 2;
static var LEFT = 4;
static var RIGHT = 8;
}
Symbol 198 MovieClip [__Packages.mochi.as2.MochiScores] Frame 0
class mochi.as2.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.as2.MochiServices.warnID(boardID, true);
mochi.as2.MochiScores.boardID = boardID;
mochi.as2.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
options.clip = mochi.as2.MochiServices.clip;
if ((options.clip != mochi.as2.MochiServices.__get__clip()) || (mochi.as2.MochiServices.__get__childClip()._target == undefined)) {
mochi.as2.MochiServices.disconnect();
trace("WARNING! This application is attempting to connect to MochiServices inside a showLeaderboard call!");
trace("make sure MochiServices.connect is called as early in the application runtime as possible.");
mochi.as2.MochiServices.connect(mochi.as2.MochiServices.__get__id(), options.clip);
}
delete options.clip;
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (options.score instanceof TextField) {
if (options.score.text != undefined) {
options.score = options.score.text;
}
} else if (options.score instanceof mochi.as2.MochiDigits) {
options.score = options.score.value;
}
var _local1 = Number(options.score);
if (isNaN(_local1)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'");
} else if ((_local1 == Number.NEGATIVE_INFINITY) || (_local1 == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(_local1) != _local1) {
trace(("WARNING: Submitted score '" + options.score) + "' will be truncated");
}
options.score = _local1;
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.as2.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.as2.MochiServices.__get__clip().play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.as2.MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
mochi.as2.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.as2.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.as2.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
score = Number(score);
if (isNaN(score)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is 'Not a Number'");
} else if ((score == Number.NEGATIVE_INFINITY) || (score == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(score) != score) {
trace(("WARNING: Submitted score '" + String(score)) + "' will be truncated");
}
score = Number(score);
}
mochi.as2.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.as2.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var _local5 = {};
var _local1;
var _local4;
var _local2;
var _local6;
for (var _local8 in scores) {
if (typeof(scores[_local8]) == "object") {
if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) {
_local5[_local8] = [];
_local2 = scores[_local8];
_local4 = 0;
while (_local4 < _local2.rows.length) {
_local6 = {};
_local1 = 0;
while (_local1 < _local2.cols.length) {
_local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1];
_local1++;
}
_local5[_local8].push(_local6);
_local4++;
}
} else {
_local5[_local8] = {};
for (var _local7 in scores[_local8]) {
_local5[_local8][_local7] = scores[_local8][_local7];
}
}
} else {
_local5[_local8] = scores[_local8];
}
}
return(_local5);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}
Symbol 199 MovieClip [__Packages.mochi.as2.MochiDigits] Frame 0
class mochi.as2.MochiDigits
{
var Encoder, Fragment, Sibling;
function MochiDigits (digit, index) {
Encoder = 0;
setValue(digit, index);
}
function get value() {
return(Number(toString()));
}
function set value(v) {
setValue(v);
//return(value);
}
function addValue(v) {
value = value + v;
}
function setValue(digit, index) {
var _local3 = digit.toString();
if ((index == undefined) || (isNaN(index))) {
index = 0;
}
Fragment = _local3.charCodeAt(index++) ^ Encoder;
if (index < _local3.length) {
Sibling = new mochi.as2.MochiDigits(digit, index);
} else {
Sibling = null;
}
reencode();
}
function reencode() {
var _local2 = int(2147483647 * Math.random());
Fragment = Fragment ^ (_local2 ^ Encoder);
Encoder = _local2;
}
function toString() {
var _local2 = String.fromCharCode(Fragment ^ Encoder);
return(((Sibling != null) ? (_local2.concat(Sibling.toString())) : (_local2)));
}
}
Symbol 200 MovieClip [__Packages.com.novelgames.flashgames.treeAS2.Source] Frame 0
class com.novelgames.flashgames.treeAS2.Source extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
function Source () {
super();
}
}
Symbol 201 MovieClip [__Packages.com.novelgames.flashgames.treeAS2.TipsButtonMovie] Frame 0
class com.novelgames.flashgames.treeAS2.TipsButtonMovie extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var button, navigateToURL;
function TipsButtonMovie () {
super();
button.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
button.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.CLICK, this, "buttonClicked");
}
function buttonClicked(mouseEvent) {
navigateToURL(new com.novelgames.flashgames.commonAS2.URLRequest(com.novelgames.flashgames.treeAS2.Config.TIPS_URL), "_blank");
}
}
Symbol 202 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Instructions] Frame 0
class com.novelgames.flashgames.commonAS2.Instructions extends MovieClip
{
var startButton, shownFromGame, _parent;
function Instructions () {
super();
startButton.onRollOver = function () {
this._parent.startButtonOvered();
};
startButton.onRelease = function () {
this._parent.startButtonClicked();
};
}
function initialize(shownFromGame) {
if (shownFromGame == undefined) {
shownFromGame = false;
}
this.shownFromGame = shownFromGame;
}
function startButtonOvered() {
if (_parent.buttonSoundOver) {
_parent.buttonSoundOver.start();
}
}
function startButtonClicked() {
if (_parent.buttonSoundClick) {
_parent.buttonSoundClick.start();
}
if (!shownFromGame) {
_parent.gotoGamePage();
} else {
_parent.hideInstructionsFromGame();
}
}
}
Symbol 203 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Title] Frame 0
class com.novelgames.flashgames.commonAS2.Title extends MovieClip
{
var startButton, highScoresButton, moreGamesButton, _parent;
function Title () {
super();
startButton.onRollOver = function () {
this._parent.startButtonOvered();
};
startButton.onRelease = function () {
this._parent.startButtonClicked();
};
highScoresButton.onRollOver = function () {
this._parent.highScoresButtonOvered();
};
highScoresButton.onRelease = function () {
this._parent.highScoresButtonClicked();
};
moreGamesButton.onRollOver = function () {
this._parent.moreGamesButtonOvered();
};
moreGamesButton.onRelease = function () {
this._parent.moreGamesButtonClicked();
};
}
function startButtonOvered() {
if (_parent.buttonSoundOver) {
_parent.buttonSoundOver.start();
}
}
function startButtonClicked() {
if (_parent.buttonSoundClick) {
_parent.buttonSoundClick.start();
}
_parent.gotoInstructionsPage();
}
function highScoresButtonOvered() {
if (_parent.buttonSoundOver) {
_parent.buttonSoundOver.start();
}
}
function highScoresButtonClicked() {
if (_parent.buttonSoundClick) {
_parent.buttonSoundClick.start();
}
_parent.showHighScores();
}
function moreGamesButtonOvered() {
if (_parent.buttonSoundOver) {
_parent.buttonSoundOver.start();
}
}
function moreGamesButtonClicked() {
if (_parent.buttonSoundClick) {
_parent.buttonSoundClick.start();
}
_parent.gotoMoreGamesURL();
}
}
Symbol 204 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MainDevelopment] Frame 0
class com.novelgames.flashgames.commonAS2.MainDevelopment extends MovieClip
{
var title, attachMovie, titleDepth, titleX, titleY, instructions, musicGame, game, getInstanceAtDepth, getURL, onEnterFrame, stop, buttonSoundOver, buttonSoundClick;
function MainDevelopment () {
super();
}
static function initialize(movieClip) {
movieClip.__proto__ = com.novelgames.flashgames.commonAS2.MainDevelopment.prototype;
movieClip.checkMute();
movieClip.onEnterFrame = movieClip.checkTitle;
}
function gotoTitlePage() {
removePage();
title = com.novelgames.flashgames.commonAS2.Title(attachMovie("Title", "title", titleDepth));
title._x = titleX;
title._y = titleY;
}
function gotoInstructionsPage() {
removePage();
instructions = com.novelgames.flashgames.commonAS2.Instructions(attachMovie("Instructions", "instructions", titleDepth));
instructions.initialize();
instructions._x = titleX;
instructions._y = titleY;
}
function gotoGamePage() {
removePage();
musicGame = new com.novelgames.flashgames.commonAS2.NewSound(this, "musicGame");
musicGame.start(0, 2147483647);
game = attachMovie("Game", "game", titleDepth);
game._x = titleX;
game._y = titleY;
}
function showInstructionsFromGame() {
var _local2;
game.pause();
game._visible = false;
_local2 = 0;
while (true) {
if (getInstanceAtDepth(_local2) == undefined) {
break;
}
_local2++;
}
instructions = com.novelgames.flashgames.commonAS2.Instructions(attachMovie("Instructions", "instructions", _local2));
instructions.swapDepths(titleDepth);
instructions.initialize(true);
instructions._x = titleX;
instructions._y = titleY;
}
function hideInstructionsFromGame() {
instructions.swapDepths(game.getDepth());
instructions.removeMovieClip();
instructions = null;
game._visible = true;
game.unpause();
}
function startGameMusic() {
stopGameMusic();
musicGame = new com.novelgames.flashgames.commonAS2.NewSound(this, "musicGame");
musicGame.start(0, 2147483647);
}
function stopGameMusic() {
if (musicGame) {
musicGame.stop();
musicGame = null;
}
}
function showHighScores() {
trace("showHighScores()");
}
function showEnterHighScore(score) {
trace(("showEnterHighScore(" + score) + ")");
}
function gotoMoreGamesURL() {
getURL("http://www.novelgames.com", "_blank");
}
function checkMute() {
var _local1 = SharedObject.getLocal("mute", "/");
if (_local1.data.isMute == true) {
new Sound().setVolume(0);
}
}
function checkTitle() {
if (!title) {
return(undefined);
}
titleX = title._x;
titleY = title._y;
onEnterFrame = null;
stop();
titleDepth = title.getDepth();
buttonSoundOver = new com.novelgames.flashgames.commonAS2.NewSound(this, "ButtonSoundOver");
buttonSoundClick = new com.novelgames.flashgames.commonAS2.NewSound(this, "ButtonSoundClick");
}
function removePage() {
if (title) {
title.removeMovieClip();
title = null;
}
if (instructions) {
instructions.removeMovieClip();
instructions = null;
}
if (game) {
game.removeMovieClip();
game = null;
}
if (musicGame) {
musicGame.stop();
musicGame = null;
}
}
}