Frame 1
function GlobalParent() {
this.Game_ID = 3;
this._state = "Instructions";
this.LevelCounter = 0;
this.Level = 1;
this.HighScore = 0;
this.MissileTypes = 6;
this.ScreenWidth = 640;
this.ScreenHeight = 480;
this.Max_x = 640;
this.Max_y = 480;
this.Min_x = 0;
this.Min_y = 0;
this.Missile_Count = 0;
this.PlayerMissile_Count = 0;
this.Building_Count = 0;
this.Explosion_Count = 0;
this.Cloud_Count = 0;
this.Smoke_Count = 0;
this.Score = 0;
this.Depth_Count = 0;
this.WorldScale = 0;
this.ActiveEnemyMissiles = 0;
this.ActivePlayerMissiles = 0;
this.EnemyMissileSpeed = 4;
this.PlayerMissileSpeed = 5;
this.TipTimer = 0;
this.LeftMargin = 10;
this.MaxMissiles = 3;
this.GameOver_Flag = 0;
this.NewMissile_Type = 0;
this.BuildingScale = 175;
this.MissileScale = 100;
this.ExplosionScale = 125;
this.SmokeScale = 100;
this.TipText = "";
this.MaxPlayerMissiles = 3;
this.MaxEnemyMissiles = 3;
this.MaxMissileTypes = 3;
this.GameOverTimer = 0;
this.DeveloperScreenTimer = 30;
this.LevelWindowTimer = 0;
this.ActiveBuildings = 0;
this.Profile_ID = 0;
this.Login = 0;
this.Password = "";
this.MainUI_Count = 0;
this.LoadingData_Count = 0;
this.SavingData_Count = 0;
this.GameOver_Count = 0;
this.HighScores_Count = 0;
this.LoadBar_Count = 0;
this.MainMenu_Count = 0;
this.LevelPanel_Count = 0;
this.ScorePanel_Count = 0;
this.HighScorePanel_Count = 0;
this.TipWindow_Count = 0;
this.Prompt_Count = 0;
this.HighScoreList_Count = 0;
this.FPSCounter_Count = 0;
this.Instructions_Count = 0;
this._submitState = false;
this._mute = false;
this._username = "Default";
this.InitLoadTime = 0;
this.SpecialLinkURL = "";
this.SpecialMessage = "";
this.BasePath = "http://games.smallzworld.com/";
this._level = 1;
this.LoadingData_Count = 0;
this.SavingData_Count = 0;
}
function SpriteParent(id) {
Global.Sprite_Count++;
this._id = int(id);
this._spriteid = int(Global.Sprite_Count);
this._state = "Inactive";
this._color = 0;
this._xpos = 0;
this._ypos = 0;
this._xspeed = 0;
this._yspeed = 0;
this._target = 0;
this._targeted = 0;
this._targetx = 0;
this._targety = 0;
this._scale = 100;
this._rotation = 0;
this._speed = 0;
this._xslot = 0;
this._timer = 0;
this._shake = 0;
this._shakecounter = 0;
this._bumpcounter = 0;
this._counter = 0;
this._type = 0;
}
function ControlsParent() {
this.FireRedMissile = 0;
this.FireBlueMissile = 0;
this.FireYellowMissile = 0;
this.PlayerMissileData_speed = 5;
}
function Preloader_Status() {
myLoaded = Math.round(getBytesLoaded());
myTotal = Math.round(getBytesTotal());
myPercent = myLoaded / myTotal;
return(myPercent * 100);
}
function Create_MovieClip(ObjectName, Instance) {
Global.Depth_Count++;
Global[Instance + "_Count"]++;
Index = Global[Instance + "_Count"];
InstanceName = (Instance + "_") + Index;
InstanceInfoName = (Instance + "Info_") + Index;
SymbolName = ObjectName + "Symbol";
_root[InstanceInfoName] = new SpriteParent(Index);
_root.attachMovie(SymbolName, InstanceName, Global.Depth_Count);
_root[InstanceName].cacheAsBitmap;
_root[InstanceName].gotoAndStop(1);
return(Index);
}
function create_instances(ObjectName, Instance, amount) {
c_instance = 1;
while (c_instance <= amount) {
trace((ObjectName + " : ") + c_instance);
New_Index = Create_MovieClip(ObjectName, Instance);
c_instance++;
}
}
function MC_alpha(InstanceName, pct) {
setProperty(InstanceName, _alpha , pct);
}
function MC_rotate(InstanceName, angle) {
setProperty(InstanceName, _rotation , angle);
}
function MC_pos(InstanceName, loc_x, loc_y) {
setProperty(InstanceName, _x , loc_x);
setProperty(InstanceName, _y , loc_y);
}
function MC_scale(InstanceName, newscale) {
setProperty(InstanceName, _xscale , newscale);
setProperty(InstanceName, _yscale , newscale);
}
function MC_size(InstanceName, new_width, new_height) {
setProperty(InstanceName, _width , new_width);
setProperty(InstanceName, _height , new_height);
}
function MC_show(InstanceName) {
setProperty(InstanceName, _visible , 1);
}
function MC_hide(InstanceName) {
setProperty(InstanceName, _visible , 0);
}
function display_prompt(PromptText, loc_x, loc_y) {
Prompt.PromptText.text = PromptText;
MC_pos("Prompt", loc_x, loc_y);
MC_show("Prompt");
}
function MC_tween(ObjectName, Property, tweenType, Begin, End, Time) {
switch (tweenType) {
case "Bounce" :
easeType = mx.transitions.easing.Bounce.easeOut;
break;
case "Strong" :
easeType = mx.transitions.easing.Strong.easeOut;
break;
case "Back" :
easeType = mx.transitions.easing.Back.easeOut;
break;
case "Elastic" :
easeType = mx.transitions.easing.Elastic.easeOut;
break;
case "Regular" :
easeType = mx.transitions.easing.Regular.easeOut;
break;
case "None" :
easeType = mx.transitions.easing.None.easeOut;
}
Tween = new mx.transitions.Tween(ObjectName, Property, easeType, Begin, End, Time, true);
}
function Process_Control_Input(KeyCode) {
switch (Global._state) {
case "MainMenu" :
if (MainMenu_1.StartGame.hitTest(_root._xmouse, _root._ymouse)) {
MC_tween(MainMenu_1, "_xscale", "Regular", 100, 0, 0.75);
MC_tween(MainMenu_1, "_yscale", "Regular", 100, 0, 0.75);
reset_game();
Global._state = "Core";
}
if (MainMenu_1.Instructions.hitTest(_root._xmouse, _root._ymouse)) {
MC_tween(MainMenu_1, "_xscale", "Regular", 100, 0, 0.75);
MC_tween(MainMenu_1, "_yscale", "Regular", 100, 0, 0.75);
Global._state = "Instructions";
}
if (MainMenu_1.HighScores.hitTest(_root._xmouse, _root._ymouse)) {
MC_tween(MainMenu_1, "_xscale", "Regular", 100, 0, 0.75);
MC_tween(MainMenu_1, "_yscale", "Regular", 100, 0, 0.75);
LoadHighScores(Global.Game_ID);
}
if (MainMenu_1.ADDButton.hitTest(_root._xmouse, _root._ymouse)) {
getURL ("http://games.smallzworld.com/Main.php?PageType=DisplayHighScores&Game_ID=" + Global.Game_ID, _blank);
}
break;
case "Core" :
if (KeyCode != 0) {
switch (KeyCode) {
case 49 :
Global.NewMissile_Type = 1;
break;
case 50 :
Global.NewMissile_Type = 2;
break;
case 51 :
Global.NewMissile_Type = 3;
break;
case 97 :
Global.NewMissile_Type = 1;
break;
case 98 :
Global.NewMissile_Type = 2;
break;
case 99 :
Global.NewMissile_Type = 3;
}
}
break;
case "GameOver" :
if (GameOver_1.Back.hitTest(_root._xmouse, _root._ymouse)) {
MC_hide(GameOver_1);
MC_tween(GameOver_1, "_xscale", "Regular", 100, 0, 0.75);
MC_tween(GameOver_1, "_yscale", "Regular", 100, 0, 0.75);
MC_tween(MainUI_1, "_xscale", "Regular", 100, 0, 0.75);
MC_tween(MainUI_1, "_yscale", "Regular", 100, 0, 0.75);
LoadHighScores(Global.Game_ID);
}
if ((GameOver_1.Submit.hitTest(_root._xmouse, _root._ymouse) && (Global._submitState == false)) && (KeyCode == 0)) {
Global._submitState = true;
Global._username = _root.GameOver_1.UserName.text;
MC_hide(GameOver_1.Submit);
MC_hide(GameOver_1.UserName);
MC_hide(GameOver_1.Label);
SaveHighScore(Global.Game_ID, 0, Global._username, 0, Global.Score, 0, "Test Comment");
}
break;
case "ResetGame" :
break;
case "HighScores" :
if (HighScores_1.Back.hitTest(_root._xmouse, _root._ymouse)) {
MC_tween(HighScores_1, "_xscale", "Regular", 100, 0, 0.75);
MC_tween(HighScores_1, "_yscale", "Regular", 100, 0, 0.75);
Global._state = "MainMenu";
}
break;
case "Instructions" :
if (!Instructions_1.Back.hitTest(_root._xmouse, _root._ymouse)) {
break;
}
MC_tween(Instructions_1, "_xscale", "Regular", 100, 0, 0.75);
MC_tween(Instructions_1, "_yscale", "Regular", 100, 0, 0.75);
Global._state = "MainMenu";
}
}
function update_score_UI() {
MainUI_1.Score.text = int(_root.Global.Score);
if (Global.Score > Global.HighScore) {
Global.HighScore = Global.Score;
}
MainUI_1.HighScore.text = int(_root.Global.HighScore);
MainUI_1.Level.text = "Level " + Global._level;
}
function update_highscore_list(listcount) {
Ranks = "";
Logins = "";
Scores = "";
cs = 1;
while (cs <= listcount) {
Ranks = Ranks + (cs + "\r");
Logins = Logins + (myLoadableData["Login" + cs] + "\r");
Scores = Scores + (myLoadableData["HighScore" + cs] + "\r");
cs++;
}
HighScoreList.Rank.text = Ranks;
HighScoreList.Login.text = Logins;
HighScoreList.HighScore.text = Scores;
}
function display_tip_window(TextString, Timer) {
TipWindow._visible = 1;
TipWindow.TipText.text = TextString;
Global.TipTimer = Timer;
}
function create_ui() {
create_instances("MainUI", "MainUI", 1);
MC_pos(MainUI_1, 20, 2);
MC_hide(MainUI_1);
create_instances("TipWindow", "TipWindow", 1);
MC_pos(TipWindow_1, 320, 400);
MC_hide(TipWindow_1);
create_instances("Prompt", "Prompt", 1);
MC_pos(Prompt_1, 320, 240);
MC_hide(Prompt_1);
create_instances("LoadingData", "LoadingData", 1);
MC_pos(LoadingData_1, 0, 0);
MC_hide(LoadingData_1);
create_instances("SavingData", "SavingData", 1);
MC_pos(SavingData_1, 0, 0);
MC_hide(SavingData_1);
create_instances("HighScores", "HighScores", 1);
MC_pos(HighScores_1, 0, 0);
MC_hide(HighScores_1);
create_instances("GameOver", "GameOver", 1);
MC_pos(GameOver_1, 0, 0);
MC_hide(GameOver_1);
create_instances("MainMenu", "MainMenu", 1);
MC_pos(MainMenu_1, Global.Max_x / 2, Global.Max_y / 2);
MC_hide(MainMenu_1);
create_instances("Instructions", "Instructions", 1);
MC_pos(Instructions_1, 320, 50);
MC_hide(Instructions_1);
trace(Instructions_1.ControlKeysPanel.Key_1.NumberText.text);
Instructions_1.ControlKeysPanel.Key_1.NumberText.text = 1;
Instructions_1.ControlKeysPanel.Key_2.NumberText.text = 2;
Instructions_1.ControlKeysPanel.Key_3.NumberText.text = 3;
create_instances("Mute", "Mute", 1);
Mute_1.gotoAndStop(1);
MC_pos(Mute_1, 5, 440);
MC_show(Mute_1);
create_instances("Pause", "Pause", 1);
MC_pos(Pause_1, 0, 0);
MC_hide(Pause_1);
}
function check_mainmenu_rollovers() {
if (MainMenu_1.StartGame.hitTest(_root._xmouse, _root._ymouse)) {
MC_scale(MainMenu_1.StartGame, 125);
} else {
MC_scale(MainMenu_1.StartGame, 100);
}
if (MainMenu_1.Instructions.hitTest(_root._xmouse, _root._ymouse)) {
MC_scale(MainMenu_1.Instructions, 125);
} else {
MC_scale(MainMenu_1.Instructions, 100);
}
if (MainMenu_1.HighScores.hitTest(_root._xmouse, _root._ymouse)) {
MC_scale(MainMenu_1.HighScores, 125);
} else {
MC_scale(MainMenu_1.HighScores, 100);
}
if (MainMenu_1.ADDButton.hitTest(_root._xmouse, _root._ymouse)) {
MC_scale(MainMenu_1.ADDButton, 125);
} else {
MC_scale(MainMenu_1.ADDButton, 100);
}
}
function check_Instructions_rollovers() {
if (Instructions_1.Back.hitTest(_root._xmouse, _root._ymouse)) {
MC_scale(Instructions_1.Back, 125);
} else {
MC_scale(Instructions_1.Back, 100);
}
}
function check_gameover_rollovers() {
if (GameOver_1.Back.hitTest(_root._xmouse, _root._ymouse)) {
MC_scale(GameOver_1.Back, 150);
} else {
MC_scale(GameOver_1.Back, 100);
}
if (GameOver_1.Submit.hitTest(_root._xmouse, _root._ymouse)) {
MC_scale(GameOver_1.Submit, 150);
} else {
MC_scale(GameOver_1.Submit, 100);
}
}
function check_highscores_rollovers() {
if (HighScores_1.Back.hitTest(_root._xmouse, _root._ymouse)) {
MC_scale(HighScores_1.Back, 125);
} else {
MC_scale(HighScores_1.Back, 100);
}
}
function move_cloud(Datastruct) {
cloud_id = Datastruct._id;
cloud_width = _root["Cloud_" + cloud_id]._width;
Datastruct._xpos = Datastruct._xpos + Datastruct._speed;
if ((Datastruct._xpos - (cloud_width / 2)) > _root.Global.Max_x) {
Datastruct._xpos = -cloud_width;
}
}
function release_enemy_missile() {
Random_Type = random(Global.MaxMissileTypes) + 1;
c_missile = 1;
while (c_missile <= Global.Missile_Count) {
if (_root["MissileInfo_" + c_missile]._state == "Inactive") {
_root["MissileInfo_" + c_missile]._state = "Active";
Random_Target = random(5) + 1;
_root["MissileInfo_" + c_missile]._type = Random_Type;
_root["MissileInfo_" + c_missile]._target = Random_Target;
_root["MissileInfo_" + c_missile]._targetx = _root["Building_" + Random_Target]._x;
_root["MissileInfo_" + c_missile]._targety = _root["Building_" + Random_Target]._y;
_root["MissileInfo_" + c_missile]._xpos = random(Global.ScreenWidth);
_root["MissileInfo_" + c_missile]._ypos = 0;
_root["MissileInfo_" + c_missile]._xspeed = 0;
_root["MissileInfo_" + c_missile]._yspeed = 0;
_root["MissileInfo_" + c_missile]._targeted = 0;
_root["MissileInfo_" + c_missile]._speed = ((random(Global.EnemyMissileSpeed) + 1) * 0.25) + 0.75;
_root["Missile_" + c_missile].gotoAndStop(Random_Type);
trace("Releasing Missile : " + c_missile);
Global.ActiveEnemyMissiles++;
break;
}
c_missile++;
}
}
function update_player_missile(Datastruct) {
pm_type = Datastruct._type;
if (Datastruct._state == "Active") {
if (Datastruct._target > 0) {
Datastruct._targetx = _root["MissileInfo_" + Datastruct._target]._xpos;
Datastruct._targety = _root["MissileInfo_" + Datastruct._target]._ypos;
} else {
Datastruct._targetx = 80;
Datastruct._targety = 0;
}
xdiff = Datastruct._xpos - Datastruct._targetx;
ydiff = Datastruct._ypos - Datastruct._targety;
if (xdiff < 0) {
xdiff = -xdiff;
}
if (ydiff < 0) {
ydiff = -ydiff;
}
x_frames = xdiff / Datastruct._speed;
y_frames = ydiff / Datastruct._speed;
if (x_frames > y_frames) {
Max_Frames = x_frames;
} else {
Max_Frames = y_frames;
}
Datastruct._xspeed = xdiff / Max_Frames;
Datastruct._yspeed = ydiff / Max_Frames;
if (Datastruct._xpos > Datastruct._targetx) {
Datastruct._xpos = Datastruct._xpos - Datastruct._xspeed;
}
if (Datastruct._xpos < Datastruct._targetx) {
Datastruct._xpos = Datastruct._xpos + Datastruct._xspeed;
}
if (Datastruct._ypos > Datastruct._targety) {
Datastruct._ypos = Datastruct._ypos - Datastruct._yspeed;
}
if (Datastruct._ypos < Datastruct._targety) {
Datastruct._ypos = Datastruct._ypos + Datastruct._yspeed;
}
MissileFacing = ((Math.atan2(Datastruct._targety - Datastruct._ypos, Datastruct._targetx - Datastruct._xpos) * 180) / Math.PI) + 90;
MissileFacing = MissileFacing + (random(3) - 1.5);
MC_pos("PlayerMissile_" + Datastruct._id, Datastruct._xpos, Datastruct._ypos);
MC_show("PlayerMissile_" + Datastruct._id);
MC_rotate("PlayerMissile_" + Datastruct._id, MissileFacing);
if ((xdiff < 20) && (ydiff < 20)) {
Datastruct._state = "Inactive";
_root["PlayerMissile_" + Datastruct._id].gotoAndStop(7);
Global.ActivePlayerMissiles--;
if (Datastruct._target > 0) {
em_type = _root["MissileInfo_" + Datastruct._target]._type;
if (em_type <= 3) {
tm_id = Datastruct._target;
Datastruct._target = 0;
start_explosion(Datastruct._xpos, Datastruct._ypos);
Global.Score = Global.Score + 50;
Global.LevelCounter = Global.LevelCounter + 50;
_root["MissileInfo_" + tm_id]._state = "Inactive";
_root["Missile_" + tm_id].gotoAndStop(7);
xx = 1;
while (xx <= Global.PlayerMissile_Count) {
if (_root["PlayerMissileInfo_" + xx]._target == tm_id) {
find_new_target(_root["PlayerMissileInfo_" + xx]);
}
xx++;
}
Global.ActiveEnemyMissiles--;
} else {
tm_id = Datastruct._target;
Datastruct._target = 0;
if ((em_type == 4) && (Datastruct._type == 1)) {
new_type = 2;
}
if ((em_type == 5) && (Datastruct._type == 1)) {
new_type = 3;
}
if ((em_type == 4) && (Datastruct._type == 2)) {
new_type = 1;
}
if ((em_type == 6) && (Datastruct._type == 2)) {
new_type = 3;
}
if ((em_type == 5) && (Datastruct._type == 3)) {
new_type = 1;
}
if ((em_type == 6) && (Datastruct._type == 3)) {
new_type = 2;
}
_root["MissileInfo_" + tm_id]._type = new_type;
_root["MissileInfo_" + tm_id]._shake = 30;
_root["MissileInfo_" + tm_id]._targeted = 0;
trace("setting to new type :" + new_type);
switch (new_type) {
case 1 :
tellTarget ("_level0/Missile_" + tm_id) {
gotoAndStop(Number(1));
};
break;
case 2 :
tellTarget ("_level0/Missile_" + tm_id) {
gotoAndStop(Number(2));
};
break;
case 3 :
tellTarget ("_level0/Missile_" + tm_id) {
gotoAndStop(Number(3));
};
}
xx = 1;
while (xx <= Global.PlayerMissile_Count) {
if (_root["PlayerMissileInfo_" + xx]._target == tm_id) {
find_new_target(_root["PlayerMissileInfo_" + xx]);
}
xx++;
}
}
}
}
}
}
function update_enemy_missile(Datastruct) {
if (Datastruct._state == "Active") {
xdiff = Datastruct._xpos - Datastruct._targetx;
ydiff = Datastruct._ypos - Datastruct._targety;
if (xdiff < 0) {
xdiff = -xdiff;
}
if (ydiff < 0) {
ydiff = -ydiff;
}
x_frames = xdiff / Datastruct._speed;
y_frames = ydiff / Datastruct._speed;
if (x_frames > y_frames) {
Max_Frames = x_frames;
} else {
Max_Frames = y_frames;
}
Datastruct._xspeed = xdiff / Max_Frames;
Datastruct._yspeed = ydiff / Max_Frames;
if (Datastruct._xpos > Datastruct._targetx) {
Datastruct._xpos = Datastruct._xpos - Datastruct._xspeed;
}
if (Datastruct._xpos < Datastruct._targetx) {
Datastruct._xpos = Datastruct._xpos + Datastruct._xspeed;
}
if (Datastruct._ypos > Datastruct._targety) {
Datastruct._ypos = Datastruct._ypos - Datastruct._yspeed;
}
if (Datastruct._ypos < Datastruct._targety) {
Datastruct._ypos = Datastruct._ypos + Datastruct._yspeed;
}
MissileFacing = ((Math.atan2(Datastruct._targety - Datastruct._ypos, Datastruct._targetx - Datastruct._xpos) * 180) / Math.PI) + 90;
Datastruct._rotation = MissileFacing;
if (Datastruct._shake > 0) {
shake_missile(Datastruct);
}
MC_pos("Missile_" + Datastruct._id, Datastruct._xpos, Datastruct._ypos);
MC_show("Missile_" + Datastruct._id);
if (Datastruct._ypos < 5) {
MC_rotate("Missile_" + Datastruct._id, Datastruct._rotation);
}
if ((xdiff < 20) && (ydiff < 20)) {
if (Datastruct._state == "Inactive") {
trace("alreadyDead");
}
Datastruct._state = "Inactive";
Global.ActiveEnemyMissiles--;
_root["Missile_" + Datastruct._id].gotoAndStop(7);
BuildingNum = Datastruct._target;
MC_hide("Building_" + BuildingNum);
start_explosion(_root["Building_" + BuildingNum]._x, _root["Building_" + BuildingNum]._y);
xx = 1;
while (xx <= Global.PlayerMissile_Count) {
if (_root["PlayerMissileInfo" + xx]._target == Datastruct._id) {
trace("redirecting : " + xx);
_root["PlayerMissileInfo" + xx]._target = 0;
}
xx++;
}
FinishedMissile = Datastruct._id;
B_counter = 0;
cb = 1;
while (cb <= Global.Building_Count) {
if (_root["Building_" + cb]._visible == 1) {
B_counter = B_counter + 1;
}
cb++;
}
if (B_counter == 0) {
GameOver_Flag = 1;
}
}
}
}
function shake_missile(Datastruct) {
Datastruct._shake--;
rs = random(1) + 1;
if (rs == 1) {
Datastruct._rotation = Datastruct._rotation + random(20);
} else {
Datastruct._rotation = Datastruct._rotation - random(20);
}
}
function find_new_target(Datastruct) {
trace("finding new target for : " + Datastruct._id);
Datastruct._target = 0;
Missile_Target = 0;
y_loc = 0;
c = 1;
while (c <= Global.Missile_Count) {
m_state = _root["MissileInfo_" + c]._state;
m_type = _root["MissileInfo_" + c]._type;
m_targeted = _root["MissileInfo_" + c]._targeted;
if (m_state == "Active") {
switch (Global.NewMissile_Type) {
case 1 :
trace("red target chosen");
trace("NewMissile_Type : " + Datastruct._type);
if (((m_type == 1) || (m_type == 4)) || (m_type == 5)) {
if ((_root["MissileInfo_" + c]._ypos > y_loc) && (m_targeted == 0)) {
y_loc = _root["MissileInfo_" + c]._ypos;
Missile_Target = c;
}
}
break;
case 2 :
trace("Blue target chosen");
trace("NewMissile_Type : " + Datastruct._type);
if (((m_type == 2) || (m_type == 4)) || (m_type == 6)) {
if ((_root["MissileInfo_" + c]._ypos > y_loc) && (m_targeted == 0)) {
y_loc = _root["MissileInfo_" + c]._ypos;
Missile_Target = c;
}
}
break;
case 3 :
trace("Yellow target chosen");
trace("NewMissile_Type : " + Datastruct._type);
if (!(((m_type == 3) || (m_type == 5)) || (m_type == 6))) {
break;
}
if (!((_root["MissileInfo_" + c]._ypos > y_loc) && (m_targeted == 0))) {
break;
}
y_loc = _root["MissileInfo_" + c]._ypos;
Missile_Target = c;
}
}
c++;
}
Datastruct._target = Missile_Target;
_root["MissileInfo_" + Missile_Target]._targeted = 1;
}
function fire_player_missile() {
c_missile = 1;
while (c_missile <= Global.PlayerMissile_Count) {
if (_root["PlayerMissileInfo_" + c_missile]._state == "Inactive") {
_root["PlayerMissileInfo_" + c_missile]._state = "Active";
_root["PlayerMissileInfo_" + c_missile]._type = Global.NewMissile_Type;
_root["PlayerMissile_" + c_missile].gotoAndStop(_root["PlayerMissileInfo_" + c_missile]._type);
switch (Global.NewMissile_Type) {
case 1 :
_root["PlayerMissileInfo_" + c_missile]._xpos = 0;
break;
case 2 :
_root["PlayerMissileInfo_" + c_missile]._xpos = Global.ScreenWidth / 2;
break;
case 3 :
_root["PlayerMissileInfo_" + c_missile]._xpos = Global.ScreenWidth;
}
find_new_target(_root["PlayerMissileInfo_" + c_missile]);
_root["PlayerMissileInfo_" + c_missile]._ypos = 480;
_root["PlayerMissileInfo_" + c_missile]._xspeed = 0;
_root["PlayerMissileInfo_" + c_missile]._yspeed = 0;
Global.ActivePlayerMissiles++;
break;
}
c_missile++;
}
Global.NewMissile_Type = 0;
}
function start_smoke(xpos, ypos, target_id) {
cs = 1;
while (cs <= Global.Smoke_Count) {
if (_root["SmokeInfo_" + cs]._state == "Inactive") {
with (_root["Smoke_" + cs]) {
_visible = 1;
}
with (_root["SmokeInfo_" + cs]) {
_state = "Active";
_xpos = xpos;
_ypos = ypos;
_alpha1 = 99;
_alpha2 = 25;
_scale1 = 100;
_scale2 = 100;
_target_id = target_id;
trace(target_id);
_rotation = 0;
trace((_xpos + " : ") + _ypos);
}
return;
}
cs++;
}
}
function cycle_smoke() {
cs = 1;
while (cs <= Global.Smoke_Count) {
if (_root["SmokeInfo_" + cs]._state == "Active") {
with (_root["SmokeInfo_" + cs]) {
_alpha1 = _alpha1 - _astep1;
_alpha2 = _alpha2 - _astep2;
_xpos = _root["MissileInfo_" + _target_id]._xpos;
_ypos = _root["MissileInfo_" + _target_id]._ypos;
_rotation++;
if ((_alpha1 < 25) || (_alpha1 > 99)) {
_astep1 = -_astep1;
}
if ((_alpha2 < 25) || (_alpha2 > 99)) {
_astep2 = -_astep2;
}
}
with (_root["Smoke_" + cs]) {
_x = _root["SmokeInfo_" + cs]._xpos;
_y = _root["SmokeInfo_" + cs]._ypos;
Slide1._alpha = _root["SmokeInfo_" + cs]._alpha1;
Slide2._alpha = _root["SmokeInfo_" + cs]._alpha2;
Slide1._xscale = _root["SmokeInfo_" + cs]._scale1;
Slide1._yscale = _root["SmokeInfo_" + cs]._scale1;
Slide2._xscale = _root["SmokeInfo_" + cs]._scale1;
Slide2._yscale = _root["SmokeInfo_" + cs]._scale1;
}
}
cs++;
}
}
function start_explosion(xpos, ypos) {
c_exp = 1;
while (c_exp <= Global.Explosion_Count) {
if (_root["Explosion_" + c_exp]._visible == 0) {
_root["ExplosionInfo_" + c_exp]._state = "Active";
MC_pos("Explosion_" + c_exp, xpos, ypos);
_root["Explosion_" + c_exp].gotoAndPlay(1);
MC_show("Explosion_" + c_exp);
break;
}
c_exp++;
}
}
function tip_window_check() {
if (Global.TipTimer > 0) {
Global.TipTimer--;
} else {
Global.TipTimer = 0;
MC_hide(TipWindow_1);
}
}
function level_window_check() {
if (LevelPanelInfo_1._xpos < (Global.Max_x - (LevelPanel_1._width + 10))) {
LevelPanelInfo_1._xpos = LevelPanelInfo_1._xpos + 11;
} else {
LevelPanelInfo_1._xpos = Global.Max_x - (LevelPanel_1._width + 10);
}
MC_pos(LevelPanel_1, LevelPanelInfo_1._xpos, LevelPanelInfo_1._ypos);
}
function hide_all_missiles() {
c_missile = 1;
while (c_missile <= Global.Missile_Count) {
MC_hide(_root["Missile_" + c_missile]);
c_missile++;
}
}
function check_game_over() {
if (GameOver_Flag == 1) {
Global._state = "GameOver";
hide_all_missiles();
Global.GameOverTimer = 300;
}
}
function new_missile_check() {
if (Global.ActiveEnemyMissiles < Global.MaxEnemyMissiles) {
if (random(100) <= 25) {
release_enemy_missile();
}
}
}
function player_missile_check() {
if ((Global.NewMissile_Type > 0) && (Global.ActivePlayerMissiles < Global.MaxPlayerMissiles)) {
fire_player_missile();
} else {
Global.NewMissile_Type = 0;
}
}
function update_player_missiles() {
c_missile = 1;
while (c_missile <= Global.PlayerMissile_Count) {
update_player_missile(_root["PlayerMissileInfo_" + c_missile]);
c_missile++;
}
}
function update_enemy_missiles() {
c_missile = 1;
while (c_missile <= Global.Missile_Count) {
update_enemy_missile(_root["MissileInfo_" + c_missile]);
c_missile++;
}
}
function update_clouds() {
c_cloud = 1;
while (c_cloud <= Global.Cloud_Count) {
if (_root["CloudInfo_" + c_cloud]._state == "Active") {
move_cloud(_root["CloudInfo_" + c_cloud]);
MC_pos("Cloud_" + c_cloud, _root["CloudInfo_" + c_cloud]._xpos, _root["CloudInfo_" + c_cloud]._ypos);
}
c_cloud++;
}
}
function display_new_level() {
LevelPanel.ScoreText.text = Global._level;
LevelPanel._x = -LevelPanel._width;
}
function check_for_level_change() {
if (Global.LevelCounter > 500) {
increment_level();
}
}
function increment_level() {
Global._level++;
Global.LevelCounter = 0;
Global.EnemyMissileSpeed = Global.EnemyMissileSpeed + 0.03;
switch (Global._level) {
case 3 :
Global.MaxEnemyMissiles++;
Global.MaxPlayerMissiles++;
break;
case 5 :
Global.MaxEnemyMissiles++;
Global.MaxPlayerMissiles++;
Global.MaxMissileTypes++;
break;
case 7 :
Global.MaxEnemyMissiles++;
Global.MaxPlayerMissiles++;
Global.MaxMissileTypes++;
Global.PlayerMissileSpeed++;
break;
case 10 :
Global.MaxEnemyMissiles++;
Global.MaxPlayerMissiles++;
Global.MaxMissileTypes++;
Global.PlayerMissileSpeed++;
}
display_new_level();
}
function main_loop() {
switch (Global._state) {
case "Loading" :
return;
case "MainMenu" :
check_mainmenu_rollovers();
if ((MainMenu_1._visible == 0) || (MainMenu_1._xscale == 0)) {
MC_tween(MainMenu_1, "_xscale", "Regular", 5, 100, 0.75);
MC_tween(MainMenu_1, "_yscale", "Regular", 5, 100, 0.75);
MC_show(MainMenu_1);
if (Global.SpecialMessage != undefined) {
MainMenu_1.Message.MessageText.text = Global.SpecialMessage;
}
}
return;
case "Core" :
if ((MainUI_1._visible == 0) || (MainUI_1._xscale == 0)) {
MC_tween(MainUI_1, "_xscale", "Regular", 5, 100, 0.75);
MC_tween(MainUI_1, "_yscale", "Regular", 5, 100, 0.75);
MC_show(MainUI_1);
}
level_window_check();
new_missile_check();
player_missile_check();
update_player_missiles();
update_enemy_missiles();
update_clouds();
tip_window_check();
update_score_UI();
check_for_level_change();
check_game_over();
return;
case "GameOver" :
check_gameover_rollovers();
if ((GameOver_1._visible == 0) || (GameOver_1._xscale == 0)) {
MC_tween(GameOver_1, "_xscale", "Regular", 5, 100, 0.75);
MC_tween(GameOver_1, "_yscale", "Regular", 5, 100, 0.75);
Global._submitState = false;
MC_show(GameOver_1);
if (Global.Score > Global.HighScore) {
Global.HighScore = Global.Score;
}
GameOver_1.ScoreText.text = "Score\r" + Global.Score;
GameOver_1.HighScoreText.text = "High Score\r" + Global.HighScore;
GameOver_1.UserName.text = Global._username;
MC_show(GameOver_1.Submit);
MC_show(GameOver_1.UserName);
MC_show(GameOver_1.Label);
}
return;
case "NewLevel" :
level_window_check();
return;
case "ResetGame" :
reset_game();
show_ui();
Global._state = "Core";
return;
case "Instructions" :
check_Instructions_rollovers();
if ((Instructions_1._visible == 0) || (Instructions_1._xscale == 0)) {
MC_tween(Instructions_1, "_xscale", "Regular", 5, 100, 0.75);
MC_tween(Instructions_1, "_yscale", "Regular", 5, 100, 0.75);
MC_show(Instructions_1);
}
return;
case "HighScores" :
if ((HighScores_1._visible == 0) || (HighScores_1._xscale == 0)) {
MC_tween(HighScores_1, "_xscale", "Regular", 5, 100, 0.75);
MC_tween(HighScores_1, "_yscale", "Regular", 5, 100, 0.75);
MC_show(HighScores_1);
index = 1;
while (index <= 10) {
MC_hide(HighScores_1["Listing_" + index]);
index++;
}
output_high_scores();
}
check_highscores_rollovers();
return;
case "LoadingData" :
if (LoadingData_1._visible == 0) {
Global.InitLoadTime = getTimer();
MC_show(LoadingData_1);
}
elapsedTime = update_timer(Global.InitLoadTime);
if (elapsedTime > 45) {
MC_hide(LoadingData_1);
Global._state = "MainMenu";
}
return;
case "SavingData" :
if (SavingData_1._visible != 0) {
break;
}
MC_show(SavingData_1);
}
}
function FPSParent() {
this._framecount = 0;
this._starttime = 0;
this._slowestframe = 120;
this._frametime = 0;
this._lastframestart = 0;
this._avgframe = 0;
}
function FPS_Update() {
if ((FPS._starttime = 0)) {
FPS._starttime = getTimer();
}
FPS._framecount++;
NewTime = getTimer();
FPS._frametime = NewTime - FPS._lastframestart;
FPS._framerate = (1 / elapsedTime) * 1000;
if (FPS._framerate < FPS._slowestframe) {
FPS._slowestframe = FPS._framerate;
}
FPS._lastframestart = NewTime;
FPS._avgframe = Math.round(FPS._framecount / ((NewTime - FPS._starttime) / 1000));
}
function initialize_game() {
create_instances("Building", "Building", 5);
create_instances("Missile", "Missile", 10);
create_instances("Missile", "PlayerMissile", 10);
create_instances("Explosion", "Explosion", 5);
create_instances("Cloud", "Cloud", 2);
create_ui();
hide_ui();
}
function reset_game() {
GameOver_Flag = 0;
Global._level = 1;
Global.Score = 0;
Global.ActivePlayerMissiles = 0;
Global.ActiveEnemyMissiles = 0;
Global.MaxEnemyMissiles = 3;
Global.MaxPlayerMissiles = 3;
Global.MaxMissileTypes = 3;
Global.MissileSpeed = 1;
Global.PlayerMissileSpeed = 5;
reset_buildings();
reset_enemy_missiles();
reset_player_missiles();
reset_clouds();
reset_explosions();
}
function reset_buildings() {
index = 1;
while (index <= Global.Building_Count) {
_root["BuildingInfo_" + index]._state = "Active";
_root["BuildingInfo_" + index]._xpos = ((index - 1) * 125) + 75;
_root["BuildingInfo_" + index]._ypos = 410;
_root["BuildingInfo_" + index]._scale = Global.BuildingScale;
MC_pos(_root["Building_" + index], _root["BuildingInfo_" + index]._xpos, _root["BuildingInfo_" + index]._ypos);
MC_scale(_root["Building_" + index], _root["BuildingInfo_" + index]._scale);
MC_show("Building_" + index);
index++;
}
}
function reset_enemy_missiles() {
index = 1;
while (index <= Global.Missile_Count) {
_root["MissileInfo_" + index]._state = "Inactive";
_root["MissileInfo_" + index]._xpos = -100;
_root["MissileInfo_" + index]._ypos = -100;
_root["MissileInfo_" + index]._scale = Global.MissileScale;
_root["MissileInfo_" + index]._rotation = 0;
_root["MissileInfo_" + index]._type = 1;
_root["MissileInfo_" + index]._speed = Global.MissileSpeed;
_root["MissileInfo_" + index]._target = 0;
_root["MissileInfo_" + index]._targeted = 0;
_root["MissileInfo_" + index]._shake = 0;
MC_pos(_root["Missile_" + index], _root["MissileInfo_" + index]._xpos, _root["MissileInfo_" + index]._ypos);
MC_scale(_root["Missile_" + index], _root["MissileInfo_" + index]._scale);
MC_rotate(_root["Missile_" + index], _root["MissileInfo_" + index]._rotation);
MC_hide(_root["Missile_" + index]);
index++;
}
}
function reset_player_missiles() {
index = 1;
while (index <= Global.PlayerMissile_Count) {
_root["PlayerMissileInfo_" + index]._xpos = -100;
_root["PlayerMissileInfo_" + index]._ypos = -100;
_root["PlayerMissileInfo_" + index]._targetx = 0;
_root["PlayerMissileInfo_" + index]._targety = 0;
_root["PlayerMissileInfo_" + index]._targetx = 0;
_root["PlayerMissileInfo_" + index]._xspeed = 0;
_root["PlayerMissileInfo_" + index]._yspeed = 0;
_root["PlayerMissileInfo_" + index]._state = "Inactive";
_root["PlayerMissileInfo_" + index]._scale = Global.MissileScale;
_root["PlayerMissileInfo_" + index]._rotation = 0;
_root["PlayerMissileInfo_" + index]._type = 1;
_root["PlayerMissileInfo_" + index]._speed = Global.PlayerMissileSpeed;
MC_pos(_root["PlayerMissile_" + index], _root["PlayerMissileInfo_" + index]._xpos, _root["PlayerMissileInfo_" + index]._ypos);
MC_scale(_root["PlayerMissile_" + index], _root["PlayerMissileInfo_" + index]._scale);
MC_rotate(_root["PlayerMissile_" + index], _root["PlayerMissileInfo_" + index]._rotation);
MC_hide(_root["PlayerMissile_" + index]);
index++;
}
}
function reset_explosions() {
index = 1;
while (index <= Global.Explosion_Count) {
_root["ExplosionInfo_" + index]._xpos = -100;
_root["ExplosionInfo_" + index]._ypos = -100;
_root["ExplosionInfo_" + index]._state = "Inactive";
_root["ExplosionInfo_" + index]._scale = Global.ExplosionScale;
MC_pos(_root["Explosion_" + index], _root["ExplosionInfo_" + index]._xpos, _root["ExplosionInfo_" + index]._ypos);
MC_scale(_root["Explosion_" + index], _root["ExplosionInfo_" + index]._scale);
MC_hide(_root["Explosion_" + index]);
index++;
}
}
function reset_clouds() {
index = 1;
while (index <= Global.Cloud_Count) {
_root["CloudInfo_" + index]._xpos = random(Global.Max_x);
_root["CloudInfo_" + index]._ypos = random(250);
_root["CloudInfo_" + index]._state = "Active";
_root["CloudInfo_" + index]._type = random(5) + 1;
_root["CloudInfo_" + index]._speed = random(10) * 0.25;
_root["CloudInfo_" + index]._alpha = random(30) + 30;
_root["CloudInfo_" + index]._scale = random(30) + 30;
_root["Cloud_" + index].gotoAndStop(_root["CloudInfo_" + index]._type);
MC_pos(_root["Cloud_" + index], _root["CloudInfo_" + index]._xpos, _root["CloudInfo_" + index]._ypos);
MC_scale(_root["Cloud_" + index], _root["CloudInfo_" + index]._scale);
MC_alpha(_root["Cloud_" + index], _root["CloudInfo_" + index]._alpha);
index++;
}
}
function LoadSomeText(game_id) {
Global._phpRoutine = "LoadSomeText";
PHPSendData.Routine = "LoadSomeText";
PHPSendData.Game_ID = game_id;
PHPSendData.sendAndLoad(Global.BasePath + "RecordManagement.php", PHPLoadData, "GET");
Global._state = "LoadingData";
Global.InitLoadTime = getTimer();
}
function LoadHighScores(game_id) {
Global._phpRoutine = "LoadHighScores";
PHPSendData.Routine = "LoadHighScores";
PHPSendData.Game_ID = game_id;
PHPSendData.sendAndLoad(Global.BasePath + "RecordManagement.php", PHPLoadData, "GET");
Global.InitLoadTime = getTimer();
Global._state = "LoadingData";
}
function SaveHighScore(game_id, profile_id, user_name, level, score, time_score, comment) {
Global._phpRoutine = "AddHighScore";
PHPSendData.Routine = "AddHighScore";
PHPSendData.Game_ID = game_id;
PHPSendData.Profile_ID = profile_id;
PHPSendData.UserName = user_name;
PHPSendData.Level = level;
PHPSendData.Score = score;
PHPSendData.TimeScore = time_score;
PHPSendData.Comment = comment;
PHPSendData.sendAndLoad(Global.BasePath + "RecordManagement.php", PHPLoadData, "GET");
Global.InitLoadTime = getTimer();
Global._state = "SavingData";
}
function process_php_data(Routine) {
switch (Routine) {
case "AddHighScore" :
MC_hide(SavingData_1);
Global._state = "GameOver";
break;
case "LoadHighScores" :
Global.SpecialMessage = PHPLoadData.SpecialMessage;
Global.SpecialLinkURL = PHPLoadData.SpecialLinkURL;
MC_hide(LoadingData_1);
Global._state = "HighScores";
break;
case "LoadSomeText" :
Global.SpecialMessage = PHPLoadData.SpecialMessage;
Global.SpecialLinkURL = PHPLoadData.SpecialLinkURL;
MC_hide(LoadingData_1);
Global._state = "MainMenu";
}
}
function output_high_scores() {
var _local1;
_local1 = 1;
while (_local1 <= 10) {
if (PHPLoadData["Score_" + _local1]) {
HighScores_1["Listing_" + _local1].Rank.text = _local1;
HighScores_1["Listing_" + _local1].Score.text = PHPLoadData["Score_" + _local1];
HighScores_1["Listing_" + _local1].User.text = PHPLoadData["User_" + _local1];
MC_show(HighScores_1["Listing_" + _local1]);
}
_local1++;
}
}
Global = new GlobalParent();
Controls = new ControlsParent();
FPS = new FPSParent();
create_instances("Load", "LoadBar", 1);
MC_pos(LoadBar_1, Global.Max_x / 2, 100);
mouseObj = new Object();
Mouse.addListener(mouseObj);
mouseObj.onMouseUp = function () {
Process_Control_Input(0);
};
userKey = new Object();
userKey.onKeyDown = function () {
if (Global._state == "Core") {
KeyCode = Number(Key.getCode());
Process_Control_Input(KeyCode);
}
};
Key.addListener(userKey);
var PHPSendData = new LoadVars();
var PHPLoadData = new LoadVars();
PHPLoadData.onLoad = function (success) {
if (success) {
process_php_data(Global._phpRoutine);
}
};
Frame 2
MochiAd.showPreloaderAd({id:"e34f3b9782b245af", res:"640x480"});
Frame 3
LoadBar_1.LoadText.text = ("Loading : " + int(Preloader_Status())) + "%";
if (Preloader_Status() < 100) {
gotoAndPlay (2);
}
Frame 4
MC_hide(LoadBar_1);
initialize_game();
reset_game();
display_tip_window("Press 1,2, or 3 key to fire missiles", 180);
SFX_Music = new Sound();
SFX_Music.attachSound("Crush");
SFX_Music.start();
SFX_Music.onSoundComplete = function () {
SFX_Music.start();
};
Frame 5
main_loop();
Frame 6
gotoAndPlay (5);
Symbol 38 MovieClip [ExplosionSymbol] Frame 15
this._visible = 0;
stop();
Symbol 158 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 159 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 160 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 161 MovieClip [__Packages.mx.transitions.easing.Elastic] Frame 0
class mx.transitions.easing.Elastic
{
function Elastic () {
}
static function easeIn(t, b, c, d, a, p) {
if (t == 0) {
return(b);
}
t = t / d;
if (t == 1) {
return(b + c);
}
if (!p) {
p = d * 0.3;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
var _local7 = p / 4;
} else {
var _local7 = (p / (Math.PI*2)) * Math.asin(c / a);
}
t = t - 1;
return((-((a * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p))) + b);
}
static function easeOut(t, b, c, d, a, p) {
if (t == 0) {
return(b);
}
t = t / d;
if (t == 1) {
return(b + c);
}
if (!p) {
p = d * 0.3;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
var _local7 = p / 4;
} else {
var _local7 = (p / (Math.PI*2)) * Math.asin(c / a);
}
return((((a * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p)) + c) + b);
}
static function easeInOut(t, b, c, d, a, p) {
if (t == 0) {
return(b);
}
t = t / (d / 2);
if (t == 2) {
return(b + c);
}
if (!p) {
p = d * 0.45;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
var _local7 = p / 4;
} else {
var _local7 = (p / (Math.PI*2)) * Math.asin(c / a);
}
if (t < 1) {
t = t - 1;
return((-0.5 * ((a * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p))) + b);
}
t = t - 1;
return(((((a * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p)) * 0.5) + c) + b);
}
static var version = "1.1.0.52";
}
Symbol 162 MovieClip [__Packages.mx.transitions.easing.Strong] Frame 0
class mx.transitions.easing.Strong
{
function Strong () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return((((((c * t) * t) * t) * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInOut(t, b, c, d) {
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 var version = "1.1.0.52";
}
Symbol 163 MovieClip [__Packages.mx.transitions.easing.Back] Frame 0
class mx.transitions.easing.Back
{
function Back () {
}
static function easeIn(t, b, c, d, s) {
if (s == undefined) {
s = 1.70158;
}
t = t / d;
return((((c * t) * t) * (((s + 1) * t) - s)) + b);
}
static function easeOut(t, b, c, d, s) {
if (s == undefined) {
s = 1.70158;
}
t = (t / d) - 1;
return((c * (((t * t) * (((s + 1) * t) + s)) + 1)) + b);
}
static function easeInOut(t, b, c, d, s) {
if (s == undefined) {
s = 1.70158;
}
t = t / (d / 2);
if (t < 1) {
s = s * 1.525;
return(((c / 2) * ((t * t) * (((s + 1) * t) - s))) + b);
}
t = t - 2;
s = s * 1.525;
return(((c / 2) * (((t * t) * (((s + 1) * t) + s)) + 2)) + b);
}
static var version = "1.1.0.52";
}
Symbol 164 MovieClip [__Packages.mx.transitions.easing.Bounce] Frame 0
class mx.transitions.easing.Bounce
{
function Bounce () {
}
static function easeOut(t, b, c, d) {
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 easeIn(t, b, c, d) {
return((c - easeOut(d - t, 0, c, d)) + b);
}
static function easeInOut(t, b, c, d) {
if (t < (d / 2)) {
return((easeIn(t * 2, 0, c, d) * 0.5) + b);
}
return(((easeOut((t * 2) - d, 0, c, d) * 0.5) + (c * 0.5)) + b);
}
static var version = "1.1.0.52";
}
Symbol 165 MovieClip [__Packages.mx.transitions.easing.Regular] Frame 0
class mx.transitions.easing.Regular
{
function Regular () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return(((c * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = t / d;
return((((-c) * t) * (t - 2)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return((((c / 2) * t) * t) + b);
}
t--;
return((((-c) / 2) * ((t * (t - 2)) - 1)) + b);
}
static var version = "1.1.0.52";
}
Symbol 166 MovieClip [__Packages.mx.transitions.easing.None] Frame 0
class mx.transitions.easing.None
{
function None () {
}
static function easeNone(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeIn(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeOut(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeInOut(t, b, c, d) {
return(((c * t) / d) + b);
}
static var version = "1.1.0.52";
}
Symbol 167 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("1.5");
}
static function showPreloaderAd(options) {
var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local27);
var clip = options.clip;
var _local23 = 11000;
var _local26 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
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 _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local7._x = 10;
_local7._y = _local13 - 20;
var _local22 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local7.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 = _local7.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_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 _local6 = _local7.createEmptyMovieClip("_outline", 3);
_local6.lineStyle(0, _local24, 100);
_local6.moveTo(0, 0);
_local6.lineTo(_local4 - 20, 0);
_local6.lineTo(_local4 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local26;
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;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_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 showTimedAd(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();
}};
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_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;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
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) {
_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 _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 _loadCommunicator(options) {
var _local25 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local25);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local24 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local24);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb) {
cb = parseInt(cb);
var _local4 = this._callbacks[cb];
if (!_local4) {
return(undefined);
}
delete this._callbacks[cb];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
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;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
if (_local7._url.indexOf("http") != 0) {
options.no_page = true;
}
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;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
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);
}
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++;
}
}
return(_local4);
}
}
Instance of Symbol 56 MovieClip [LinkSymbol] "Message" in Symbol 59 MovieClip [MainMenuSymbol] Frame 1
onClipEvent (enterFrame) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
this._xscale = 125;
this._yscale = 125;
} else {
this._xscale = 100;
this._yscale = 100;
}
}
on (release) {
if (_root.Global.SpecialLinkURL != "") {
getURL (_root.Global.SpecialLinkURL, _blank);
}
}
Symbol 110 MovieClip [MissileSymbol] Frame 7
Symbol 131 MovieClip [MusicSymbol] Frame 1
stop();