Section 1
//Cloud (classes.game.Cloud)
package classes.game {
import flash.geom.*;
import flash.display.*;
import classes.smallz.*;
public class Cloud extends MovieClip {
public var _type:int;
public var _speed:Number;
public var _scale:Number;
public var _guideStep:int;
public var _state:String;
public var _xs:Number;
public var _ys:Number;
private var _targetPoint:Point;
public var GuideControl:GuideManager;
public var _offsetX:Number;
public var _offsetY:Number;
public var _guide:Array;
public var _ss:Number;
public function Cloud(){
_targetPoint = new Point(0, 0);
super();
deactivate();
}
public function thunder():void{
sunny_shine.TheThunder.play();
_type = 3;
gotoAndStop(3);
}
public function activate(_arg1:int, _arg2:int, _arg3:GuideManager, _arg4:Number, _arg5:Number):void{
var _local6:*;
var _local7:*;
var _local8:Number;
var _local9:int;
_local6 = new Point(0, 0);
_local7 = new Point(0, 0);
GuideControl = _arg3;
_guide = GuideControl._guide[_arg1];
_offsetX = _arg4;
_offsetY = _arg5;
_guideStep = _arg2;
_speed = 3;
x = (_guide[_guideStep].x + _offsetX);
y = (_guide[_guideStep].y + _offsetY);
_local6.x = x;
_local6.y = y;
_local9 = (_guideStep + 1);
if (_local9 >= _guide.length){
_local9 = 0;
};
_targetPoint.x = (_guide[_local9].x + _offsetX);
_targetPoint.y = (_guide[_local9].y + _offsetY);
_state = "Active";
_type = 1;
gotoAndStop(_type);
_scale = 0.35;
scaleX = _scale;
scaleY = _scale;
visible = true;
_local8 = smallzMath.get_angle_point(_local6, _targetPoint);
_xs = (_speed * Math.cos(_local8));
_ys = (_speed * Math.sin(_local8));
}
public function deactivate():void{
_state = "Inactive";
visible = false;
}
public function update():void{
var _local1:*;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = new Point(0, 0);
switch (_state){
case "Active":
x = (x + (_xs + GameManager._scrollSpeed));
y = (y + _ys);
_targetPoint.x = (_targetPoint.x + GameManager._scrollSpeed);
_offsetX = (_offsetX + GameManager._scrollSpeed);
_local1 = new Point(x, y);
_local2 = smallzMath.get_distance_point(_local1, _targetPoint);
if (Math.abs(_xs) > Math.abs(_ys)){
_local5 = Math.abs(_xs);
} else {
_local5 = Math.abs(_ys);
};
if (_local2 < (_local5 * 2)){
_local3 = (Math.abs(_xs) + Math.abs(_ys));
_local4 = ((_local3 - _local2) / _local3);
get_next_step(_local4);
};
if (x < -50){
deactivate();
};
break;
};
}
public function explode():void{
deactivate();
}
public function get_next_step(_arg1:Number):void{
var _local2:*;
var _local3:*;
var _local4:Number;
var _local5:int;
_local2 = new Point(0, 0);
_local3 = new Point(0, 0);
_guideStep++;
if (_guideStep >= _guide.length){
_guideStep = 0;
};
_local2.x = (_guide[_guideStep].x + _offsetX);
_local2.y = (_guide[_guideStep].y + _offsetY);
_local5 = (_guideStep + 1);
if (_local5 >= _guide.length){
_local5 = 0;
};
_targetPoint.x = (_guide[_local5].x + _offsetX);
_targetPoint.y = (_guide[_local5].y + _offsetY);
_local4 = smallzMath.get_angle_point(_local2, _targetPoint);
_xs = (_speed * Math.cos(_local4));
_ys = (_speed * Math.sin(_local4));
if (_arg1 > 0){
x = ((_guide[_guideStep].x + _offsetX) + (_xs * _arg1));
y = ((_guide[_guideStep].y + _offsetY) + (_ys * _arg1));
} else {
x = ((_guide[_guideStep].x + _offsetX) + _xs);
y = ((_guide[_guideStep].y + _offsetY) + _ys);
};
}
}
}//package classes.game
Section 2
//CloudManager (classes.game.CloudManager)
package classes.game {
import classes.smallz.*;
public class CloudManager {
public var GuideControl:GuideManager;
public var clouds:Array;
public function CloudManager(_arg1:Array, _arg2:GuideManager):void{
clouds = new Array();
super();
GuideControl = _arg2;
clouds = _arg1;
}
public function inactive_cloud():int{
var _local1:int;
var _local2:int;
var _local3:int;
_local2 = -1;
_local3 = clouds.length;
_local1 = 0;
while (_local1 < _local3) {
if (clouds[_local1]._state == "Inactive"){
_local2 = _local1;
break;
};
_local1++;
};
return (_local2);
}
public function check_collision_player(_arg1:Sun):void{
var _local2:int;
var _local3:int;
var _local4:Number;
_local3 = clouds.length;
_local2 = 0;
while (_local2 < _local3) {
if (clouds[_local2]._state == "Active"){
_local4 = smallzMath.get_distance(_arg1.x, _arg1.y, clouds[_local2].x, clouds[_local2].y);
if ((((_local4 < 50)) && ((clouds[_local2]._type < 3)))){
if (clouds[_local2].hitTestObject(_arg1.sun)){
sunny_shine.TheThunder.play();
GameManager.increment_damage(15);
clouds[_local2].thunder();
};
};
};
_local2++;
};
}
public function populate_guide(_arg1:int, _arg2:String, _arg3:Number, _arg4:Number){
var _local5:int;
var _local6:int;
_local6 = GuideControl._guide[_arg1].length;
_local5 = 0;
while (_local5 < _local6) {
switch (_arg2){
case "even":
if (!(_local5 % 2)){
activate_new_cloud(_arg1, _local5, _arg3, _arg4);
};
break;
case "odd":
if ((_local5 % 2)){
activate_new_cloud(_arg1, _local5, _arg3, _arg4);
};
break;
};
_local5++;
};
}
public function update():void{
var _local1:int;
var _local2:int;
_local2 = clouds.length;
_local1 = 0;
while (_local1 < _local2) {
clouds[_local1].update();
_local1++;
};
}
public function activate_new_cloud(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number):void{
var _local5:int;
_local5 = inactive_cloud();
clouds[_local5].activate(_arg1, _arg2, GuideControl, _arg3, _arg4);
}
public function deactivate_all_clouds():void{
var _local1:int;
var _local2:int;
_local2 = clouds.length;
_local1 = 0;
while (_local1 < _local2) {
clouds[_local1].deactivate();
_local1++;
};
}
}
}//package classes.game
Section 3
//Credits (classes.game.Credits)
package classes.game {
import flash.events.*;
import flash.display.*;
public class Credits extends MovieClip {
public var _type:int;
public var _scale:Number;
public var _state:String;
public var Continue:MovieClip;
public var _angle:Number;
public function Credits():void{
x = 0;
y = 0;
_state = "Inactive";
visible = false;
}
public function activate(){
_state = "Active";
visible = true;
}
public function check_rollovers(){
if (Continue.hitTestPoint(mouseX, mouseY)){
Continue.scaleX = 1.25;
Continue.scaleY = 1.25;
} else {
Continue.scaleX = 1;
Continue.scaleY = 1;
};
}
public function deactivate(){
_state = "Inactive";
visible = false;
}
public function menu_mouseUp(_arg1:MouseEvent){
if (Continue.hitTestPoint(_arg1.stageX, _arg1.stageY)){
deactivate();
GameManager.change_gameState("MainMenu");
};
}
public function update():void{
switch (_state){
case "Active":
break;
};
}
}
}//package classes.game
Section 4
//GameManager (classes.game.GameManager)
package classes.game {
public class GameManager {
public static var maxGuides = 8;
public static var level:int = 1;
public static var sunnyShineCounter:int = 30;
public static var _highScores:Array;
public static var gameID:int = 10;
public static var levelPromptCounter:int = 0;
public static var hitPoints:Number = 100;
public static var _highScoresLoaded = false;
public static var damage:Number = 0;
public static var playerScore:uint = 0;
public static var _scrollSpeed = -3;
public static var gameState:String = "MainMenu";
public function GameManager():void{
}
public static function increment_damage(_arg1:Number):void{
damage = (damage + _arg1);
if (damage > hitPoints){
damage = hitPoints;
};
}
public static function increment_score(_arg1:uint):void{
playerScore = (playerScore + _arg1);
}
public static function increment_hitPoints(_arg1:Number):void{
hitPoints = (hitPoints + _arg1);
if (hitPoints > 100){
hitPoints = 100;
};
}
public static function decrement_damage(_arg1:Number):void{
damage = (damage - _arg1);
if (damage < 0){
damage = 0;
};
}
public static function get_gameState():String{
return (gameState);
}
public static function resetGame():void{
playerScore = 0;
hitPoints = 100;
damage = 0;
level = 1;
gameState = "Core";
}
public static function decrement_hitPoints(_arg1:Number):void{
hitPoints = (hitPoints - _arg1);
if (hitPoints < 0){
hitPoints = 0;
};
}
public static function change_gameState(_arg1:String):void{
gameState = _arg1;
}
public static function increment_level():void{
level++;
gameState = "LevelSetup";
}
public static function damage_percent():Number{
var _local1:Number;
_local1 = (1 - (damage / hitPoints));
return (_local1);
}
}
}//package classes.game
Section 5
//GameOver (classes.game.GameOver)
package classes.game {
import flash.events.*;
import flash.display.*;
public class GameOver extends MovieClip {
public var _state:String;
public function GameOver():void{
x = 0;
y = 0;
_state = "Inactive";
visible = false;
}
public function activate(){
_state = "Active";
visible = true;
}
public function check_rollovers(){
}
public function menu_mouseUp(_arg1:MouseEvent){
}
public function deactivate(){
_state = "Inactive";
visible = false;
}
public function update():void{
switch (_state){
case "Active":
break;
};
}
}
}//package classes.game
Section 6
//GameUI (classes.game.GameUI)
package classes.game {
import flash.display.*;
import flash.text.*;
public class GameUI extends MovieClip {
public var _type:int;
public var _scale:Number;
public var damage:MovieClip;
public var level_prompt:TextField;
public var score:TextField;
public var _state:String;
public var _angle:Number;
public function GameUI():void{
x = 0;
y = 0;
deactivate();
}
public function activate(){
_state = "Active";
visible = true;
}
public function deactivate(){
_state = "Inactive";
visible = false;
}
public function update_damage_meter(_arg1:Number):void{
if (_arg1 > 0.66){
damage.green.visible = true;
damage.red.visible = false;
damage.yellow.visible = false;
damage.green.width = (200 * _arg1);
};
if ((((_arg1 > 0.33)) && ((_arg1 <= 0.66)))){
damage.yellow.visible = true;
damage.green.visible = false;
damage.red.visible = false;
damage.yellow.width = (200 * _arg1);
};
if (_arg1 <= 0.33){
damage.red.visible = true;
damage.green.visible = false;
damage.yellow.visible = false;
damage.red.width = (200 * _arg1);
};
}
public function update():void{
switch (_state){
case "Active":
break;
};
}
}
}//package classes.game
Section 7
//Grass (classes.game.Grass)
package classes.game {
import flash.display.*;
public class Grass extends MovieClip {
public var _type:int;
public var _speed:Number;
public var _scale:Number;
public var _state:String;
public var _xs:Number;
public var _ys:Number;
public function Grass():void{
cacheAsBitmap = true;
deactivate();
}
public function activate():void{
_state = "Active";
visible = true;
}
public function deactivate():void{
_state = "Inactive";
visible = false;
}
public function release_grass(_arg1:Number, _arg2:Number, _arg3:Number):void{
activate();
_speed = _arg3;
scaleX = 1;
scaleY = 1;
x = _arg1;
y = _arg2;
}
public function update():void{
var _local1:Number;
switch (_state){
case "Active":
x = (x + GameManager._scrollSpeed);
if (x < -(width)){
x = 670;
};
break;
};
}
}
}//package classes.game
Section 8
//GuideManager (classes.game.GuideManager)
package classes.game {
import flash.geom.*;
import flash.display.*;
import classes.smallz.*;
public class GuideManager extends MovieClip {
public var TheGuide:Guides;
public var _guide:Array;
public function GuideManager():void{
_guide = new Array();
super();
}
public function guide_data(_arg1:int):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
_local2 = new Array();
_local4 = _guide[_arg1].length;
_local3 = 0;
while (_local3 < _local4) {
_local2[_local3] = new Point(_guide[_arg1][_local3]);
_local3++;
};
return (_local2);
}
public function guide_definition(_arg1:Guides):void{
TheGuide = _arg1;
add_guide(0);
add_guide(1);
add_guide(2);
add_guide(3);
add_guide(4);
add_guide(5);
add_guide(6);
add_guide(7);
}
public function add_guide_step(_arg1:int, _arg2:Point):void{
_guide[_arg1].push(_arg2);
}
public function add_guide(_arg1):void{
var _local2:int;
_guide[_guide.length] = new Array();
_local2 = 1;
while (_local2 <= 100) {
if (TheGuide[("guide_" + _arg1)][("node_" + _local2)]){
add_guide_step(_arg1, new Point(TheGuide[("guide_" + _arg1)][("node_" + _local2)].x, TheGuide[("guide_" + _arg1)][("node_" + _local2)].y));
} else {
break;
};
_local2++;
};
}
}
}//package classes.game
Section 9
//HighScoreManager (classes.game.HighScoreManager)
package classes.game {
import flash.events.*;
import flash.net.*;
public class HighScoreManager {
public function HighScoreManager():void{
}
private function highscores_handler(_arg1:Event):void{
var _local2:URLLoader;
var _local3:int;
var _local4:Array;
_local2 = URLLoader(_arg1.target);
_local4 = new Array();
_local3 = 1;
while (_local3 <= 10) {
if (_local2.data[("Score_" + _local3)]){
_local4[(_local3 - 1)] = new HighScoreRecord(_local3, _local2.data[("User_" + _local3)], _local2.data[("Score_" + _local3)], 0, "");
};
_local3++;
};
GameManager._highScores = _local4;
GameManager._highScoresLoaded = true;
GameManager.gameState = "HighScores";
}
private function save_highscore_handler(_arg1:Event):void{
var _local2:URLLoader;
var _local3:int;
_local2 = URLLoader(_arg1.target);
GameManager.gameState = "HighScores";
}
public function load_highscores(_arg1:int){
var _local2:URLRequest;
var _local3:URLVariables;
var _local4:URLLoader;
_local2 = new URLRequest("http://games.smallzworld.com/RecordManagement.php");
_local3 = new URLVariables();
_local3.Routine = "AS3LoadHighScores";
_local3.Game_ID = _arg1;
_local2.data = _local3;
_local4 = new URLLoader();
_local4.dataFormat = URLLoaderDataFormat.VARIABLES;
_local4.addEventListener(Event.COMPLETE, highscores_handler);
_local4.load(_local2);
GameManager.gameState = "Loading";
GameManager._highScoresLoaded = false;
}
public function save_highscore(_arg1:int, _arg2:int, _arg3:String, _arg4:int, _arg5:int, _arg6:int, _arg7:String){
var _local8:URLRequest;
var _local9:URLVariables;
var _local10:URLLoader;
_local8 = new URLRequest("http://games.smallzworld.com/RecordManagement.php");
_local9 = new URLVariables();
_local9.Routine = "AddHighScore";
_local9.Game_ID = _arg1;
_local9.Profile_ID = _arg2;
_local9.UserName = _arg3;
_local9.Level = _arg4;
_local9.Score = _arg5;
_local9.TimeScore = _arg6;
_local9.Comment = _arg7;
_local8.data = _local9;
_local10 = new URLLoader();
_local10.dataFormat = URLLoaderDataFormat.VARIABLES;
_local10.addEventListener(Event.COMPLETE, save_highscore_handler);
_local10.load(_local8);
GameManager.gameState = "Saving";
}
}
}//package classes.game
Section 10
//HighScoreRecord (classes.game.HighScoreRecord)
package classes.game {
public class HighScoreRecord {
public var _comment:String;
public var _level:int;
public var _rank:int;
public var _user:String;
public var _score:Number;
public function HighScoreRecord(_arg1:int, _arg2:String, _arg3:Number, _arg4:int, _arg5:String):void{
_rank = _arg1;
_user = _arg2;
_score = _arg3;
_level = _arg4;
_comment = _arg5;
}
}
}//package classes.game
Section 11
//HighScores (classes.game.HighScores)
package classes.game {
import flash.events.*;
import flash.display.*;
public class HighScores extends MovieClip {
public var score_10:HighScoreListingSymbol;
public var _state:String;
public var score_2:HighScoreListingSymbol;
public var score_6:HighScoreListingSymbol;
public var score_7:HighScoreListingSymbol;
public var score_9:HighScoreListingSymbol;
public var score_3:HighScoreListingSymbol;
public var Continue:MovieClip;
public var score_5:HighScoreListingSymbol;
public var score_8:HighScoreListingSymbol;
public var score_1:HighScoreListingSymbol;
public var score_4:HighScoreListingSymbol;
public function HighScores():void{
x = 0;
y = 0;
_state = "Inactive";
visible = false;
}
public function activate(){
var _local1:int;
_state = "Active";
visible = true;
_local1 = 1;
while (_local1 <= 10) {
this[("score_" + _local1)].visible = false;
_local1++;
};
}
public function check_rollovers(){
if (Continue.hitTestPoint(mouseX, mouseY)){
Continue.scaleX = 1.25;
Continue.scaleY = 1.25;
} else {
Continue.scaleX = 1;
Continue.scaleY = 1;
};
}
public function menu_mouseUp(_arg1:MouseEvent){
if (Continue.hitTestPoint(_arg1.stageX, _arg1.stageY)){
deactivate();
GameManager.change_gameState("MainMenu");
};
}
public function deactivate(){
_state = "Inactive";
visible = false;
}
public function update():void{
var index:int;
var score_count:int;
var score_index:int;
score_count = GameManager._highScores.length;
index = 0;
while (index < score_count) {
var _local2 = GameManager;
with (_local2) {
score_index = (index + 1);
this[("score_" + score_index)].Rank.text = String(_highScores[index]._rank);
this[("score_" + score_index)].Score.text = String(_highScores[index]._score);
this[("score_" + score_index)].User.text = _highScores[index]._user;
this[("score_" + score_index)].visible = true;
};
index = (index + 1);
};
}
}
}//package classes.game
Section 12
//House (classes.game.House)
package classes.game {
import flash.display.*;
public class House extends MovieClip {
public var _type:int;
public var _speed:Number;
public var _scale:Number;
public var _state:String;
public var _xs:Number;
public var _ys:Number;
public function House():void{
cacheAsBitmap = true;
deactivate();
}
public function activate():void{
_state = "Active";
visible = true;
}
public function deactivate():void{
_state = "Inactive";
visible = false;
}
public function update():void{
var _local1:Number;
switch (_state){
case "Active":
x = (x + GameManager._scrollSpeed);
if (x < (-(width) / 2)){
deactivate();
};
break;
};
}
public function release_house(_arg1:Number):void{
var _local2:uint;
_local2 = ((Math.random() * 1) + 1);
_state = "Active";
_speed = _arg1;
_scale = 1;
scaleX = _scale;
scaleY = _scale;
x = (640 + (width / 2));
y = 470;
visible = true;
gotoAndStop(_local2);
}
}
}//package classes.game
Section 13
//Human (classes.game.Human)
package classes.game {
import flash.display.*;
public class Human extends MovieClip {
public var _direction:String;
public var _happyState:Boolean;
public var _type:int;
public var _speed:Number;
public var _scale:Number;
public var _state:String;
public var _xs:Number;
public var _ys:Number;
public function Human():void{
deactivate();
}
public function activate():void{
_state = "Active";
visible = true;
set_mood("sad");
x = (640 + width);
y = 465;
_scale = 1;
scaleX = _scale;
scaleY = _scale;
}
public function deactivate():void{
_state = "Inactive";
visible = false;
}
public function set_mood(_arg1:String):void{
gotoAndStop(_arg1);
switch (_arg1){
case "happy":
_happyState = true;
break;
case "sad":
_happyState = false;
break;
};
}
public function update():void{
var _local1:Number;
switch (_state){
case "Active":
x = (x + GameManager._scrollSpeed);
if (x < -(width)){
deactivate();
};
break;
};
}
}
}//package classes.game
Section 14
//HumanManager (classes.game.HumanManager)
package classes.game {
import classes.smallz.*;
public class HumanManager {
public var humans:Array;
public var PlayerSun:Sun;
public function HumanManager(_arg1:Array, _arg2:Sun):void{
humans = new Array();
super();
PlayerSun = _arg2;
humans = _arg1;
}
public function activate_new_human():void{
var _local1:int;
_local1 = inactive_human();
humans[_local1].activate();
}
public function check_collision_player(_arg1:Sun):void{
var _local2:int;
var _local3:int;
var _local4:Number;
_local3 = humans.length;
_local2 = 0;
while (_local2 < _local3) {
_local4 = smallzMath.get_distance(_arg1.x, _arg1.y, humans[_local2].x, humans[_local2].y);
if ((((humans[_local2]._state == "Active")) && (!(humans[_local2]._happyState)))){
if (humans[_local2].hitTestObject(_arg1)){
sunny_shine.TheShine.play();
GameManager.increment_score(500);
GameManager.increment_damage(10);
humans[_local2].set_mood("happy");
_arg1.rays.gotoAndPlay(1);
};
};
_local2++;
};
}
public function deactivate_all_humans():void{
var _local1:int;
var _local2:int;
_local2 = humans.length;
_local1 = 0;
while (_local1 < _local2) {
humans[_local1].deactivate();
_local1++;
};
}
public function inactive_human():int{
var _local1:int;
var _local2:int;
var _local3:int;
_local2 = -1;
_local3 = humans.length;
_local1 = 0;
while (_local1 < _local3) {
if (humans[_local1]._state == "Inactive"){
_local2 = _local1;
break;
};
_local1++;
};
return (_local2);
}
public function update_humans():void{
var _local1:int;
var _local2:int;
_local2 = humans.length;
_local1 = 0;
while (_local1 < _local2) {
humans[_local1].update();
_local1++;
};
}
}
}//package classes.game
Section 15
//Instructions (classes.game.Instructions)
package classes.game {
import flash.events.*;
import flash.display.*;
public class Instructions extends MovieClip {
public var _type:int;
public var _scale:Number;
public var _state:String;
public var Continue:MovieClip;
public var _angle:Number;
public function Instructions():void{
x = 0;
y = 0;
_state = "Inactive";
visible = false;
}
public function activate(){
_state = "Active";
visible = true;
}
public function check_rollovers(){
if (Continue.hitTestPoint(mouseX, mouseY)){
Continue.scaleX = 1.25;
Continue.scaleY = 1.25;
} else {
Continue.scaleX = 1;
Continue.scaleY = 1;
};
}
public function deactivate(){
_state = "Inactive";
visible = false;
}
public function menu_mouseUp(_arg1:MouseEvent){
if (Continue.hitTestPoint(_arg1.stageX, _arg1.stageY)){
deactivate();
GameManager.change_gameState("MainMenu");
};
}
public function update():void{
switch (_state){
case "Active":
break;
};
}
}
}//package classes.game
Section 16
//MainMenu (classes.game.MainMenu)
package classes.game {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class MainMenu extends MovieClip {
public var _type:int;
public var _scale:Number;
public var PlayGame:MovieClip;
public var HighScores:MovieClip;
public var _state:String;
public var Credits:MovieClip;
public var SunnyShine:MovieClip;
public var Instructions:MovieClip;
public var _angle:Number;
public var LeaderBoards:MovieClip;
public var Smallzworld:MovieClip;
public function MainMenu():void{
x = 0;
y = 0;
_state = "Inactive";
visible = false;
}
public function activate(){
_state = "Active";
visible = true;
}
public function check_rollovers(){
if (PlayGame.hitTestPoint(mouseX, mouseY)){
PlayGame.scaleX = 1.25;
PlayGame.scaleY = 1.25;
} else {
PlayGame.scaleX = 1;
PlayGame.scaleY = 1;
};
if (Instructions.hitTestPoint(mouseX, mouseY)){
Instructions.scaleX = 1.25;
Instructions.scaleY = 1.25;
} else {
Instructions.scaleX = 1;
Instructions.scaleY = 1;
};
if (Credits.hitTestPoint(mouseX, mouseY)){
Credits.scaleX = 1.25;
Credits.scaleY = 1.25;
} else {
Credits.scaleX = 1;
Credits.scaleY = 1;
};
if (HighScores.hitTestPoint(mouseX, mouseY)){
HighScores.scaleX = 1.25;
HighScores.scaleY = 1.25;
} else {
HighScores.scaleX = 1;
HighScores.scaleY = 1;
};
if (Smallzworld.hitTestPoint(mouseX, mouseY)){
Smallzworld.scaleX = 1.25;
Smallzworld.scaleY = 1.25;
} else {
Smallzworld.scaleX = 1;
Smallzworld.scaleY = 1;
};
if (LeaderBoards.hitTestPoint(mouseX, mouseY)){
LeaderBoards.scaleX = 1.25;
LeaderBoards.scaleY = 1.25;
} else {
LeaderBoards.scaleX = 1;
LeaderBoards.scaleY = 1;
};
}
public function deactivate(){
_state = "Inactive";
visible = false;
}
public function menu_mouseUp(_arg1:MouseEvent){
var _local2:URLRequest;
var _local3:URLRequest;
if (PlayGame.hitTestPoint(_arg1.stageX, _arg1.stageY)){
deactivate();
GameManager.resetGame();
GameManager.change_gameState("LevelSetup");
};
if (Instructions.hitTestPoint(_arg1.stageX, _arg1.stageY)){
deactivate();
GameManager.change_gameState("Instructions");
};
if (Credits.hitTestPoint(_arg1.stageX, _arg1.stageY)){
deactivate();
GameManager.change_gameState("Credits");
};
if (HighScores.hitTestPoint(_arg1.stageX, _arg1.stageY)){
deactivate();
GameManager.change_gameState("HighScores");
};
if (LeaderBoards.hitTestPoint(_arg1.stageX, _arg1.stageY)){
_local2 = new URLRequest(("http://games.smallzworld.com/Main.php?PageType=DisplayHighScores&Game_ID=" + GameManager.gameID));
navigateToURL(_local2);
};
if (Smallzworld.hitTestPoint(_arg1.stageX, _arg1.stageY)){
_local3 = new URLRequest("http://games.smallzworld.com/");
navigateToURL(_local3);
};
}
public function update():void{
switch (_state){
case "Active":
break;
};
}
}
}//package classes.game
Section 17
//Message (classes.game.Message)
package classes.game {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
public class Message extends MovieClip {
public var loader:Loader;
public var _messageText:String;
public var message_text:TextField;
public var _imageLoaded:Boolean;// = false
public var _imageURL:String;
public var _state:String;
public var _linkURL:String;
public var image_icon:MovieClip;
public function Message():void{
_imageLoaded = false;
loader = new Loader();
super();
_state = "Inactive";
visible = false;
}
public function activate():void{
_state = "Active";
visible = true;
}
public function deactivate():void{
_state = "Inactive";
visible = false;
}
public function display_message(_arg1:Number, _arg2:Number, _arg3:String, _arg4:String):void{
var _local5:URLRequest;
if (image_icon){
removeChild(image_icon);
};
image_icon = new MovieClip();
addChild(image_icon);
loader = new Loader();
if (_arg4 == ""){
_arg4 = "http://www.smallzworld.com/media/images/avatars/smallz_avatar.jpg";
};
_local5 = new URLRequest((_arg4 + "?hey=1"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, iconLoaded);
activate();
message_text.text = _arg3;
x = _arg1;
y = _arg2;
loader.load(_local5);
}
private function iconLoaded(_arg1:Event):void{
var _local2:String;
image_icon.addChild(loader.content);
image_icon.x = 50;
image_icon.y = 40;
_local2 = _imageURL.substr((_imageURL.length - 3), 3);
if (_local2 != "swf"){
image_icon.width = 60;
image_icon.height = 60;
};
}
}
}//package classes.game
Section 18
//MessageManager (classes.game.MessageManager)
package classes.game {
import flash.events.*;
import flash.net.*;
public class MessageManager {
public var _messageLoaded;// = false
public var messagePod:Message;
public function MessageManager():void{
_messageLoaded = false;
super();
messagePod = new Message();
}
private function message_handler(_arg1:Event):void{
var _local2:URLLoader;
var _local3:int;
_local2 = URLLoader(_arg1.target);
if (_local2.data.MessageText){
messagePod._messageText = _local2.data.MessageText;
messagePod._linkURL = _local2.data.LinkURL;
messagePod._imageURL = _local2.data.ImageURL;
};
_messageLoaded = true;
}
public function load_message(_arg1:int){
var _local2:URLRequest;
var _local3:URLVariables;
var _local4:URLLoader;
_local2 = new URLRequest("http://games.smallzworld.com/RecordManagement.php");
_local3 = new URLVariables();
_local3.Routine = "AS3Message";
_local3.Game_ID = _arg1;
_local2.data = _local3;
_local4 = new URLLoader();
_local4.dataFormat = URLLoaderDataFormat.VARIABLES;
_local4.addEventListener(Event.COMPLETE, message_handler);
_local4.load(_local2);
GameManager.gameState = "MainMenu";
_messageLoaded = false;
}
public function display_message(_arg1:Number, _arg2:Number){
messagePod.display_message(_arg1, _arg2, messagePod._messageText, messagePod._imageURL);
_messageLoaded = false;
}
}
}//package classes.game
Section 19
//PauseMenu (classes.game.PauseMenu)
package classes.game {
import flash.events.*;
import flash.display.*;
public class PauseMenu extends MovieClip {
public var _type:int;
public var _scale:Number;
public var _state:String;
public var Continue:MovieClip;
public var _angle:Number;
public function PauseMenu():void{
x = 0;
y = 0;
_state = "Inactive";
visible = false;
}
public function activate(){
_state = "Active";
visible = true;
}
public function menu_mouseUp(_arg1:MouseEvent){
if (Continue.hitTestPoint(_arg1.stageX, _arg1.stageY)){
deactivate();
GameManager.change_gameState("MainMenu");
};
}
public function deactivate(){
_state = "Inactive";
visible = false;
}
public function update():void{
switch (_state){
case "Active":
break;
};
}
}
}//package classes.game
Section 20
//SubmitScoreUI (classes.game.SubmitScoreUI)
package classes.game {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class SubmitScoreUI extends MovieClip {
public var Submit:MovieClip;
public var user_name:TextField;
public var message_text:TextField;
public var score:TextField;
public var Cancel:MovieClip;
public var _state:String;
public function SubmitScoreUI():void{
x = 0;
y = 0;
_state = "Inactive";
visible = false;
}
public function activate(){
_state = "Active";
visible = true;
score.text = ("Final Score " + String(GameManager.playerScore));
}
public function check_rollovers(){
if (Submit.hitTestPoint(mouseX, mouseY)){
Submit.scaleX = 1.25;
Submit.scaleY = 1.25;
} else {
Submit.scaleX = 1;
Submit.scaleY = 1;
};
if (Cancel.hitTestPoint(mouseX, mouseY)){
Cancel.scaleX = 1.25;
Cancel.scaleY = 1.25;
} else {
Cancel.scaleX = 1;
Cancel.scaleY = 1;
};
}
public function menu_mouseUp(_arg1:MouseEvent){
if (Cancel.hitTestPoint(_arg1.stageX, _arg1.stageY)){
deactivate();
GameManager.gameState = "HighScores";
};
if (((Submit.hitTestPoint(_arg1.stageX, _arg1.stageY)) && (Submit.visible))){
deactivate();
GameManager.gameState = "SaveHighScore";
};
}
public function deactivate(){
_state = "Inactive";
visible = false;
}
public function update():void{
switch (_state){
case "Active":
break;
};
}
}
}//package classes.game
Section 21
//Sun (classes.game.Sun)
package classes.game {
import flash.geom.*;
import flash.display.*;
import classes.smallz.*;
public class Sun extends MovieClip {
public var _type:int;
public var _speed:Number;
public var sun:MovieClip;
public var _scale:Number;
public var _guideStep:int;
public var rays:MovieClip;
public var _state:String;
public var _xs:Number;
public var _ys:Number;
private var _targetPoint:Point;
public var GuideControl:GuideManager;
public var _offsetX:Number;
public var _offsetY:Number;
public var _guide:Array;
public var _ss:Number;
public function Sun():void{
_targetPoint = new Point(0, 0);
super();
deactivate();
}
public function activate(_arg1:int, _arg2:int, _arg3:GuideManager, _arg4:Number, _arg5:Number):void{
var _local6:*;
var _local7:*;
var _local8:Number;
var _local9:int;
_local6 = new Point(0, 0);
_local7 = new Point(0, 0);
GuideControl = _arg3;
_guide = GuideControl._guide[_arg1];
_offsetX = _arg4;
_offsetY = _arg5;
_guideStep = _arg2;
_speed = 3;
x = (_guide[_guideStep].x + _offsetX);
y = (_guide[_guideStep].y + _offsetY);
_local6.x = x;
_local6.y = y;
_local9 = (_guideStep + 1);
if (_local9 >= _guide.length){
_local9 = 0;
};
_targetPoint.x = (_guide[_local9].x + _offsetX);
_targetPoint.y = (_guide[_local9].y + _offsetY);
_state = "Active";
_type = 1;
gotoAndStop(_type);
_scale = 0.25;
scaleX = _scale;
scaleY = _scale;
visible = true;
_local8 = smallzMath.get_angle_point(_local6, _targetPoint);
_xs = (_speed * Math.cos(_local8));
_ys = (_speed * Math.sin(_local8));
}
public function update_player(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
}
public function activate_special(){
x = 0;
y = 200;
_state = "Special";
_scale = 0.25;
scaleX = _scale;
scaleY = _scale;
visible = true;
}
public function deactivate():void{
_state = "Inactive";
visible = false;
}
public function activate_player(){
_state = "Active";
_scale = 0.4;
scaleX = _scale;
scaleY = _scale;
visible = true;
}
public function update():void{
var _local1:*;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = new Point(0, 0);
switch (_state){
case "Active":
x = (x + (_xs + GameManager._scrollSpeed));
y = (y + _ys);
_targetPoint.x = (_targetPoint.x + GameManager._scrollSpeed);
_offsetX = (_offsetX + GameManager._scrollSpeed);
_local1 = new Point(x, y);
_local2 = smallzMath.get_distance_point(_local1, _targetPoint);
if (Math.abs(_xs) > Math.abs(_ys)){
_local5 = Math.abs(_xs);
} else {
_local5 = Math.abs(_ys);
};
if (_local2 < (_local5 * 2)){
_local3 = (Math.abs(_xs) + Math.abs(_ys));
_local4 = ((_local3 - _local2) / _local3);
get_next_step(_local4);
};
if (x < -50){
deactivate();
};
break;
};
}
public function explode():void{
deactivate();
}
public function get_next_step(_arg1:Number):void{
var _local2:*;
var _local3:*;
var _local4:Number;
var _local5:int;
_local2 = new Point(0, 0);
_local3 = new Point(0, 0);
_guideStep++;
if (_guideStep >= _guide.length){
_guideStep = 0;
};
_local2.x = (_guide[_guideStep].x + _offsetX);
_local2.y = (_guide[_guideStep].y + _offsetY);
_local5 = (_guideStep + 1);
if (_local5 >= _guide.length){
_local5 = 0;
};
_targetPoint.x = (_guide[_local5].x + _offsetX);
_targetPoint.y = (_guide[_local5].y + _offsetY);
_local4 = smallzMath.get_angle_point(_local2, _targetPoint);
_xs = (_speed * Math.cos(_local4));
_ys = (_speed * Math.sin(_local4));
if (_arg1 > 0){
x = ((_guide[_guideStep].x + _offsetX) + (_xs * _arg1));
y = ((_guide[_guideStep].y + _offsetY) + (_ys * _arg1));
} else {
x = ((_guide[_guideStep].x + _offsetX) + _xs);
y = ((_guide[_guideStep].y + _offsetY) + _ys);
};
}
}
}//package classes.game
Section 22
//SunManager (classes.game.SunManager)
package classes.game {
import classes.smallz.*;
public class SunManager {
public var GuideControl:GuideManager;
public var suns:Array;
public function SunManager(_arg1:Array, _arg2:GuideManager):void{
suns = new Array();
super();
GuideControl = _arg2;
suns = _arg1;
}
public function check_collision_player(_arg1:Sun):void{
var _local2:int;
var _local3:int;
var _local4:Number;
_local3 = suns.length;
_local2 = 0;
while (_local2 < _local3) {
if (suns[_local2]._state == "Active"){
_local4 = smallzMath.get_distance(_arg1.x, _arg1.y, suns[_local2].x, suns[_local2].y);
if (_local4 < 50){
if (suns[_local2].hitTestObject(_arg1)){
sunny_shine.TheShine.play();
GameManager.increment_score(50);
suns[_local2].deactivate();
_arg1.rays.gotoAndPlay(1);
GameManager.decrement_damage(5);
};
};
};
_local2++;
};
}
public function populate_guide(_arg1:int, _arg2:String, _arg3:Number, _arg4:Number){
var _local5:int;
var _local6:int;
_local6 = GuideControl._guide[_arg1].length;
_local5 = 0;
while (_local5 < _local6) {
switch (_arg2){
case "even":
if (!(_local5 % 2)){
activate_new_sun(_arg1, _local5, _arg3, _arg4);
};
break;
case "odd":
if ((_local5 % 2)){
activate_new_sun(_arg1, _local5, _arg3, _arg4);
};
break;
};
_local5++;
};
}
public function update():void{
var _local1:int;
var _local2:int;
_local2 = suns.length;
_local1 = 0;
while (_local1 < _local2) {
suns[_local1].update();
_local1++;
};
}
public function deactivate_all_suns():void{
var _local1:int;
var _local2:int;
_local2 = suns.length;
_local1 = 0;
while (_local1 < _local2) {
suns[_local1].deactivate();
_local1++;
};
}
public function inactive_sun():int{
var _local1:int;
var _local2:int;
var _local3:int;
_local2 = -1;
_local3 = suns.length;
_local1 = 0;
while (_local1 < _local3) {
if (suns[_local1]._state == "Inactive"){
_local2 = _local1;
break;
};
_local1++;
};
return (_local2);
}
public function activate_new_sun(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number):void{
var _local5:int;
_local5 = inactive_sun();
suns[_local5].activate(_arg1, _arg2, GuideControl, _arg3, _arg4);
}
public function activate_special_sun():void{
var _local1:int;
_local1 = inactive_sun();
suns[_local1].activate_special();
}
}
}//package classes.game
Section 23
//Tree (classes.game.Tree)
package classes.game {
import flash.display.*;
public class Tree extends MovieClip {
public var _type:int;
public var _speed:Number;
public var _scale:Number;
public var _state:String;
public var _xs:Number;
public var _ys:Number;
public function Tree():void{
deactivate();
}
public function activate():void{
_state = "Active";
visible = true;
}
public function deactivate():void{
_state = "Inactive";
visible = false;
}
public function update():void{
var _local1:Number;
switch (_state){
case "Active":
x = (x + GameManager._scrollSpeed);
if (x < (-(width) / 2)){
deactivate();
};
break;
};
}
public function release_tree(_arg1:Number):void{
var _local2:uint;
_local2 = ((Math.random() * 3) + 1);
_state = "Active";
_speed = _arg1;
_scale = (((Math.random() * 30) + 70) / 100);
scaleX = _scale;
scaleY = _scale;
x = (640 + (width / 2));
y = 465;
visible = true;
gotoAndStop(_local2);
}
}
}//package classes.game
Section 24
//smallzMath (classes.smallz.smallzMath)
package classes.smallz {
import flash.geom.*;
public class smallzMath {
public static function get_angle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (Math.atan2((_arg4 - _arg2), (_arg3 - _arg1)));
}
public static function get_angle_point(_arg1:Point, _arg2:Point):Number{
return (Math.atan2((_arg2.y - _arg1.y), (_arg2.x - _arg1.x)));
}
public static function random_point(_arg1:Number, _arg2:Number):Point{
var _local3:Point;
_local3 = new Point(0, 0);
_local3.x = (Math.random() * _arg1);
_local3.y = (Math.random() * _arg2);
return (_local3);
}
public static function get_distance(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
_local5 = Math.sqrt((((_arg1 - _arg3) * (_arg1 - _arg3)) + ((_arg2 - _arg4) * (_arg2 - _arg4))));
return (_local5);
}
public static function get_distance_point(_arg1:Point, _arg2:Point):Number{
var _local3:Number;
_local3 = Math.sqrt((((_arg1.x - _arg2.x) * (_arg1.x - _arg2.x)) + ((_arg1.y - _arg2.y) * (_arg1.y - _arg2.y))));
return (_local3);
}
}
}//package classes.smallz
Section 25
//RainDrop (game.RainDrop)
package game {
import flash.display.*;
public dynamic class RainDrop extends MovieClip {
}
}//package game
Section 26
//audio_clips_56 (sunny_shine_fla.audio_clips_56)
package sunny_shine_fla {
import flash.display.*;
public dynamic class audio_clips_56 extends MovieClip {
public function audio_clips_56(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunny_shine_fla
Section 27
//CancelButton_48 (sunny_shine_fla.CancelButton_48)
package sunny_shine_fla {
import flash.display.*;
import flash.text.*;
public dynamic class CancelButton_48 extends MovieClip {
public var message_text:TextField;
}
}//package sunny_shine_fla
Section 28
//damage_meter_33 (sunny_shine_fla.damage_meter_33)
package sunny_shine_fla {
import flash.display.*;
public dynamic class damage_meter_33 extends MovieClip {
public var green:MovieClip;
public var yellow:MovieClip;
public var red:MovieClip;
}
}//package sunny_shine_fla
Section 29
//guide_0_46 (sunny_shine_fla.guide_0_46)
package sunny_shine_fla {
import flash.display.*;
public dynamic class guide_0_46 extends MovieClip {
public var node_2:MovieClip;
public var node_3:MovieClip;
public var node_5:MovieClip;
public var node_8:MovieClip;
public var node_4:MovieClip;
public var node_1:MovieClip;
public var node_6:MovieClip;
public var node_7:MovieClip;
}
}//package sunny_shine_fla
Section 30
//guide_1_45 (sunny_shine_fla.guide_1_45)
package sunny_shine_fla {
import flash.display.*;
public dynamic class guide_1_45 extends MovieClip {
public var node_2:MovieClip;
public var node_3:MovieClip;
public var node_5:MovieClip;
public var node_8:MovieClip;
public var node_4:MovieClip;
public var node_1:MovieClip;
public var node_6:MovieClip;
public var node_7:MovieClip;
}
}//package sunny_shine_fla
Section 31
//guide_2_44 (sunny_shine_fla.guide_2_44)
package sunny_shine_fla {
import flash.display.*;
public dynamic class guide_2_44 extends MovieClip {
public var node_2:MovieClip;
public var node_3:MovieClip;
public var node_5:MovieClip;
public var node_8:MovieClip;
public var node_9:MovieClip;
public var node_4:MovieClip;
public var node_1:MovieClip;
public var node_6:MovieClip;
public var node_10:MovieClip;
public var node_11:MovieClip;
public var node_7:MovieClip;
public var node_12:MovieClip;
}
}//package sunny_shine_fla
Section 32
//guide_3_43 (sunny_shine_fla.guide_3_43)
package sunny_shine_fla {
import flash.display.*;
public dynamic class guide_3_43 extends MovieClip {
public var node_2:MovieClip;
public var node_3:MovieClip;
public var node_5:MovieClip;
public var node_8:MovieClip;
public var node_9:MovieClip;
public var node_4:MovieClip;
public var node_1:MovieClip;
public var node_6:MovieClip;
public var node_10:MovieClip;
public var node_7:MovieClip;
}
}//package sunny_shine_fla
Section 33
//guide_4_42 (sunny_shine_fla.guide_4_42)
package sunny_shine_fla {
import flash.display.*;
public dynamic class guide_4_42 extends MovieClip {
public var node_2:MovieClip;
public var node_3:MovieClip;
public var node_5:MovieClip;
public var node_1:MovieClip;
public var node_4:MovieClip;
public var node_6:MovieClip;
public var node_7:MovieClip;
}
}//package sunny_shine_fla
Section 34
//guide_5_41 (sunny_shine_fla.guide_5_41)
package sunny_shine_fla {
import flash.display.*;
public dynamic class guide_5_41 extends MovieClip {
public var node_2:MovieClip;
public var node_3:MovieClip;
public var node_5:MovieClip;
public var node_8:MovieClip;
public var node_4:MovieClip;
public var node_1:MovieClip;
public var node_6:MovieClip;
public var node_7:MovieClip;
}
}//package sunny_shine_fla
Section 35
//guide_6_40 (sunny_shine_fla.guide_6_40)
package sunny_shine_fla {
import flash.display.*;
public dynamic class guide_6_40 extends MovieClip {
public var node_2:MovieClip;
public var node_3:MovieClip;
public var node_5:MovieClip;
public var node_8:MovieClip;
public var node_9:MovieClip;
public var node_4:MovieClip;
public var node_1:MovieClip;
public var node_6:MovieClip;
public var node_10:MovieClip;
public var node_11:MovieClip;
public var node_7:MovieClip;
public var node_12:MovieClip;
}
}//package sunny_shine_fla
Section 36
//guide_7_38 (sunny_shine_fla.guide_7_38)
package sunny_shine_fla {
import flash.display.*;
public dynamic class guide_7_38 extends MovieClip {
public var node_2:MovieClip;
public var node_3:MovieClip;
public var node_5:MovieClip;
public var node_8:MovieClip;
public var node_4:MovieClip;
public var node_1:MovieClip;
public var node_6:MovieClip;
public var node_7:MovieClip;
}
}//package sunny_shine_fla
Section 37
//LoadBar_6 (sunny_shine_fla.LoadBar_6)
package sunny_shine_fla {
import flash.display.*;
public dynamic class LoadBar_6 extends MovieClip {
public var Fill:MovieClip;
}
}//package sunny_shine_fla
Section 38
//PreloaderScreen_1 (sunny_shine_fla.PreloaderScreen_1)
package sunny_shine_fla {
import flash.display.*;
public dynamic class PreloaderScreen_1 extends MovieClip {
public var loader:LoadBarSymbol;
}
}//package sunny_shine_fla
Section 39
//shine_animation_21 (sunny_shine_fla.shine_animation_21)
package sunny_shine_fla {
import flash.display.*;
public dynamic class shine_animation_21 extends MovieClip {
public var rays:MovieClip;
public function shine_animation_21(){
addFrameScript(13, frame14);
}
function frame14(){
stop();
}
}
}//package sunny_shine_fla
Section 40
//SubmitButton_49 (sunny_shine_fla.SubmitButton_49)
package sunny_shine_fla {
import flash.display.*;
import flash.text.*;
public dynamic class SubmitButton_49 extends MovieClip {
public var message_text:TextField;
}
}//package sunny_shine_fla
Section 41
//Sun_MainMenu_18 (sunny_shine_fla.Sun_MainMenu_18)
package sunny_shine_fla {
import flash.display.*;
public dynamic class Sun_MainMenu_18 extends MovieClip {
public var sun:MovieClip;
public var rays:MovieClip;
}
}//package sunny_shine_fla
Section 42
//Sun_symbol_19 (sunny_shine_fla.Sun_symbol_19)
package sunny_shine_fla {
import flash.display.*;
public dynamic class Sun_symbol_19 extends MovieClip {
public var face:MovieClip;
}
}//package sunny_shine_fla
Section 43
//Background (Background)
package {
import flash.display.*;
public dynamic class Background extends MovieClip {
}
}//package
Section 44
//Guides (Guides)
package {
import flash.display.*;
public dynamic class Guides extends MovieClip {
public var guide_0:MovieClip;
public var guide_2:MovieClip;
public var guide_3:MovieClip;
public var guide_4:MovieClip;
public var guide_6:MovieClip;
public var guide_1:MovieClip;
public var guide_5:MovieClip;
public var guide_7:MovieClip;
}
}//package
Section 45
//HighScoreListingSymbol (HighScoreListingSymbol)
package {
import flash.display.*;
import flash.text.*;
public dynamic class HighScoreListingSymbol extends MovieClip {
public var User:TextField;
public var Rank:TextField;
public var Score:TextField;
}
}//package
Section 46
//LoadBarSymbol (LoadBarSymbol)
package {
import flash.display.*;
public dynamic class LoadBarSymbol extends MovieClip {
public var load_bar:MovieClip;
}
}//package
Section 47
//MochiAd (MochiAd)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.1");
}
public static function showTimedAd(_arg1:Object):void{
MochiAd.showInterLevelAd(_arg1);
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var f:Function;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip._mochiad_loaded){
return (null);
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
f = function (_arg1:Object):void{
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
g = function (_arg1:Object):void{
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["sendHighScore", _arg1], _arg2, _arg3);
return (true);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
_arg1.removeChild(_arg1._mochiad);
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = _local1.loaderInfo.bytesTotal;
if ((((_local4 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
_local3 = true;
};
};
};
if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _loadCommunicator(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var clipname:String;
var server:String;
var depth:Number;
var mc:MovieClip;
var lv:URLVariables;
var k:String;
var lc:LocalConnection;
var name:String;
var req:URLRequest;
var loader:Loader;
var options = _arg1;
DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
clipname = ("_mochiad_com_" + options.id);
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip[clipname]){
return (clip[clipname]);
};
server = (options.com_server + options.id);
MochiAd._allowDomains(server);
delete options.id;
delete options.com_server;
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, clipname, depth);
lv = new URLVariables();
for (k in options) {
lv[k] = options[k];
};
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.name = name;
mc.lc = lc;
lv.lc = name;
mc._id = 0;
mc._queue = [];
mc.rpcResult = function (_arg1:Object):void{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:Object;
_arg1 = parseInt(_arg1.toString());
_local3 = mc._callbacks[_arg1];
if (typeof(_local3) == "undefined"){
return;
};
delete mc._callbacks[_arg1];
_local4 = [];
_local5 = 2;
while (_local5 < _local3.length) {
_local4.push(_local3[_local5]);
_local5++;
};
_local5 = 1;
while (_local5 < arguments.length) {
_local4.push(arguments[_local5]);
_local5++;
};
_local6 = _local3[1];
_local7 = _local3[0];
if (((_local7) && ((typeof(_local6) == "string")))){
_local6 = _local7[_local6];
};
if (typeof(_local6) == "function"){
_local6.apply(_local7, _local4);
};
};
mc._didConnect = function (_arg1:String):void{
var _local2:Array;
var _local3:Function;
var _local4:Number;
var _local5:Array;
mc._endpoint = _arg1;
_local2 = mc._queue;
delete mc._queue;
_local3 = mc.doSend;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local3.apply(this, _local5);
_local4++;
};
};
mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{
var _local5:Number;
var _local6:LocalConnection;
var _local7:Array;
var _local8:Number;
if (mc._endpoint == null){
_local7 = [];
_local8 = 0;
while (_local8 < arguments.length) {
_local7.push(arguments[_local8]);
_local8++;
};
mc._queue.push(_local7);
return;
};
mc._id = (mc._id + 1);
_local5 = mc._id;
mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))];
_local6 = new LocalConnection();
_local6.send(mc._endpoint, "rpc", _local5, _arg1);
};
mc._callbacks = {};
mc._callbacks[0] = [mc, "_didConnect"];
lv.st = getTimer();
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
loader.load(req);
mc.addChild(loader);
mc._mochiad_com = loader;
return (mc);
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
bar.x = 10;
bar.y = (h - 20);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (!this.parent.parent){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
if (!chk.showing){
_local11 = _local2.loaderInfo.bytesTotal;
if ((((_local11 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local3 > chk.ad_timeout){
_local4 = true;
};
};
};
if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
MochiAd.showPreGameAd(_arg1);
}
public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3);
return (true);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
mc.removeEventListener(Event.ENTER_FRAME, f);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 48
//MyArial (MyArial)
package {
import flash.text.*;
public dynamic class MyArial extends Font {
}
}//package
Section 49
//Shine (Shine)
package {
import flash.media.*;
public dynamic class Shine extends Sound {
}
}//package
Section 50
//SoundtrackMusic (SoundtrackMusic)
package {
import flash.media.*;
public dynamic class SoundtrackMusic extends Sound {
}
}//package
Section 51
//sunny_shine (sunny_shine)
package {
import classes.game.*;
import flash.events.*;
import flash.display.*;
import classes.smallz.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
public dynamic class sunny_shine extends MovieClip {
private var MainUI:GameUI;
private var Cloud_Count:int;// = 30
private var guide_timer:Timer;
private var percent:Number;
private var HighScoresUI:HighScores;
private var TheBackground:Background;
private var object_timer:Timer;
private var Trees:Array;
private var CreditsUI:Credits;
private var SubmitUI:SubmitScoreUI;
private var GuideControl:GuideManager;
private var PauseUI:PauseMenu;
private var House_Count:int;// = 4
private var Clouds:Array;
private var Grass_Count:int;// = 2
private var Humans:Array;
private var InstructionsUI:Instructions;
private var GameOverUI:GameOver;
private var Sun_Count:int;// = 30
private var TheGuide:Guides;
private var Tree_Count:int;// = 4
private var Human_Count:int;// = 4
private var HighScoreControl:HighScoreManager;
private var MainMenuUI:MainMenu;
private var MessageControl:MessageManager;
private var Houses:Array;
private var PlayerSun:Sun;
private var CloudControl:CloudManager;
private var HumanControl:HumanManager;
private var SunControl:SunManager;
private var GrassTiles:Array;
private var human_timer:Timer;
private var Soundtrack:SoundtrackMusic;
private var Suns:Array;
public var load_screen:MovieClip;
public static var TheShine:Shine;
public static var TheThunder:Thunder;
public function sunny_shine():void{
Cloud_Count = 30;
Sun_Count = 30;
Grass_Count = 2;
House_Count = 4;
Tree_Count = 4;
Human_Count = 4;
Clouds = new Array();
Suns = new Array();
Houses = new Array();
Humans = new Array();
Trees = new Array();
GrassTiles = new Array();
super();
addFrameScript(0, frame1, 2, frame3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
Security.loadPolicyFile("http://games.smallzworld.com/crossdomain.xml");
}
public function preload(){
stop();
this.addEventListener(Event.ENTER_FRAME, showProgress);
}
private function release_new_tree():void{
var _local1:int;
_local1 = 0;
while (_local1 < Tree_Count) {
if (Trees[_local1]._state == "Inactive"){
Trees[_local1].release_tree(GameManager._scrollSpeed);
break;
};
_local1++;
};
}
public function initApplication(){
var _local1:uint;
Soundtrack = new SoundtrackMusic();
TheShine = new Shine();
TheThunder = new Thunder();
GuideControl = new GuideManager();
TheBackground = new Background();
addChild(TheBackground);
TheBackground.x = 0;
TheBackground.y = 0;
_local1 = 0;
while (_local1 < Cloud_Count) {
Clouds[_local1] = new Cloud();
addChild(Clouds[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 < Sun_Count) {
Suns[_local1] = new Sun();
addChild(Suns[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 < Tree_Count) {
Trees[_local1] = new Tree();
addChild(Trees[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 < Grass_Count) {
GrassTiles[_local1] = new Grass();
addChild(GrassTiles[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 < House_Count) {
Houses[_local1] = new House();
addChild(Houses[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 < Human_Count) {
Humans[_local1] = new Human();
addChild(Humans[_local1]);
_local1++;
};
PlayerSun = new Sun();
addChild(PlayerSun);
PlayerSun.activate_player();
MainUI = new GameUI();
addChild(MainUI);
GameOverUI = new GameOver();
addChild(GameOverUI);
MainMenuUI = new MainMenu();
addChild(MainMenuUI);
InstructionsUI = new Instructions();
addChild(InstructionsUI);
CreditsUI = new Credits();
addChild(CreditsUI);
PauseUI = new PauseMenu();
addChild(PauseUI);
HighScoresUI = new HighScores();
addChild(HighScoresUI);
SubmitUI = new SubmitScoreUI();
addChild(SubmitUI);
CloudControl = new CloudManager(Clouds, GuideControl);
SunControl = new SunManager(Suns, GuideControl);
HumanControl = new HumanManager(Humans, PlayerSun);
MessageControl = new MessageManager();
stage.addEventListener(Event.ENTER_FRAME, main_loop);
stage.addEventListener(MouseEvent.MOUSE_UP, mouse_mouseUp_handler);
stage.addEventListener(KeyboardEvent.KEY_DOWN, process_input);
TheGuide = new Guides();
GuideControl.guide_definition(TheGuide);
HighScoreControl = new HighScoreManager();
addChild(MessageControl.messagePod);
object_timer = new Timer(2000);
object_timer.addEventListener("timer", object_manager);
object_timer.start();
guide_timer = new Timer(4500);
guide_timer.addEventListener("timer", guide_manager);
guide_timer.start();
human_timer = new Timer(3500);
human_timer.addEventListener("timer", human_manager);
human_timer.start();
create_initial_grass();
Soundtrack.play(0, 999);
}
private function release_new_grass(_arg1:Number, _arg2:Number):void{
var _local3:int;
_local3 = 0;
while (_local3 < Grass_Count) {
if (GrassTiles[_local3]._state == "Inactive"){
GrassTiles[_local3].release_grass(_arg1, _arg2, GameManager._scrollSpeed);
break;
};
_local3++;
};
}
public function showProgress(_arg1:Event):void{
percent = Math.round(((this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal) * 100));
load_screen.loader.load_bar.Fill.width = (198 * (percent / 100));
if (this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal){
this.removeEventListener(Event.ENTER_FRAME, showProgress);
load_screen.visible = false;
showAds();
};
}
function frame3(){
stop();
}
function frame1(){
preload();
}
public function showAds(){
stop();
MochiAd.showPreGameAd({clip:root, id:"d6bdf6d07a88a4c5", res:"640x480", ad_finished:adFinished});
}
public function mouse_mouseUp_handler(_arg1:MouseEvent){
var _local2:URLRequest;
switch (GameManager.gameState){
case "Core":
break;
case "MainMenu":
MainMenuUI.menu_mouseUp(_arg1);
if (MessageControl.messagePod.hitTestPoint(mouseX, mouseY)){
_local2 = new URLRequest(MessageControl.messagePod._linkURL);
navigateToURL(_local2);
};
if (GameManager.gameState != "MainMenu"){
MessageControl.messagePod.visible = false;
};
break;
case "Instructions":
InstructionsUI.menu_mouseUp(_arg1);
break;
case "Credits":
CreditsUI.menu_mouseUp(_arg1);
break;
case "GameOver":
SubmitUI.menu_mouseUp(_arg1);
break;
case "PauseMenu":
PauseUI.menu_mouseUp(_arg1);
break;
case "HighScores":
HighScoresUI.menu_mouseUp(_arg1);
break;
case "Submit":
SubmitUI.menu_mouseUp(_arg1);
break;
};
}
public function human_manager(_arg1:TimerEvent){
if (GameManager.gameState != "GameOver"){
HumanControl.activate_new_human();
};
}
public function object_manager(_arg1:TimerEvent){
var _local2:int;
_local2 = int(((Math.random() * 2) + 1));
if (GameManager.gameState != "GameOver"){
switch (_local2){
case 1:
release_new_tree();
break;
case 2:
release_new_house();
break;
};
};
}
public function update_grass(){
var _local1:int;
_local1 = 0;
while (_local1 < Grass_Count) {
GrassTiles[_local1].update();
_local1++;
};
}
private function create_initial_grass():void{
release_new_grass(0, 480);
release_new_grass(680, 480);
}
public function guide_manager(_arg1:TimerEvent){
var _local2:int;
_local2 = int((Math.random() * GameManager.maxGuides));
CloudControl.populate_guide(_local2, "even", 640, 100);
SunControl.populate_guide(_local2, "odd", 640, 100);
}
private function main_loop(_arg1:Event){
switch (GameManager.gameState){
case "MainMenu":
if (MainMenuUI._state == "Inactive"){
PlayerSun.deactivate();
Mouse.show();
if (!MessageControl._messageLoaded){
MessageControl.load_message(GameManager.gameID);
};
MainMenuUI.activate();
};
if (MessageControl._messageLoaded){
MessageControl.display_message(163, 145);
};
MainMenuUI.check_rollovers();
update_grass();
update_houses();
HumanControl.update_humans();
update_trees();
CloudControl.update();
SunControl.update();
break;
case "Core":
if (!MainUI.visible){
MainUI.visible = true;
Mouse.hide();
PlayerSun.activate_player();
};
PlayerSun.update_player(mouseX, mouseY);
CloudControl.update();
SunControl.update();
SunControl.check_collision_player(PlayerSun);
CloudControl.check_collision_player(PlayerSun);
HumanControl.check_collision_player(PlayerSun);
MainUI.score.text = String(("Score " + GameManager.playerScore));
MainUI.update_damage_meter(GameManager.damage_percent());
if (GameManager.damage == GameManager.hitPoints){
MainUI.deactivate();
GameManager.gameState = "GameOver";
};
update_grass();
update_houses();
HumanControl.update_humans();
update_trees();
GameManager.increment_damage(0.05);
break;
case "LevelSetup":
if (MainUI._state != "Active"){
MainUI.visible = true;
Mouse.hide();
PlayerSun.activate_player();
};
CloudControl.deactivate_all_clouds();
SunControl.deactivate_all_suns();
HumanControl.deactivate_all_humans();
GameManager.levelPromptCounter = 30;
GameManager.gameState = "LevelPrompt";
break;
case "LevelPrompt":
MainUI.level_prompt.text = "Get Ready";
MainUI.level_prompt.visible = true;
if (GameManager.levelPromptCounter > 0){
GameManager.levelPromptCounter--;
} else {
MainUI.level_prompt.visible = false;
GameManager.gameState = "Core";
};
PlayerSun.update_player(mouseX, mouseY);
break;
case "HighScores":
if (HighScoresUI._state == "Inactive"){
HighScoresUI.activate();
HighScoreControl.load_highscores(GameManager.gameID);
};
if (GameManager._highScoresLoaded){
HighScoresUI.update();
GameManager._highScoresLoaded = false;
};
CloudControl.update();
SunControl.update();
update_grass();
update_houses();
HumanControl.update_humans();
update_trees();
break;
case "SaveHighScore":
HighScoreControl.save_highscore(GameManager.gameID, 0, SubmitUI.user_name.text, GameManager.level, GameManager.playerScore, 0, "No Comment");
break;
case "Credits":
if (CreditsUI._state == "Inactive"){
CreditsUI.activate();
};
CreditsUI.check_rollovers();
CloudControl.update();
SunControl.update();
update_grass();
update_houses();
HumanControl.update_humans();
update_trees();
break;
case "Instructions":
if (InstructionsUI._state == "Inactive"){
InstructionsUI.activate();
};
InstructionsUI.check_rollovers();
CloudControl.update();
SunControl.update();
update_grass();
update_houses();
HumanControl.update_humans();
update_trees();
break;
case "GameOver":
if (SubmitUI._state == "Inactive"){
Mouse.show();
SubmitUI.activate();
};
SubmitUI.check_rollovers();
break;
case "Loading":
break;
case "Saving":
break;
};
}
public function update_houses(){
var _local1:int;
_local1 = 0;
while (_local1 < House_Count) {
Houses[_local1].update();
_local1++;
};
}
public function update_trees(){
var _local1:int;
_local1 = 0;
while (_local1 < Tree_Count) {
Trees[_local1].update();
_local1++;
};
}
private function release_new_house():void{
var _local1:int;
_local1 = 0;
while (_local1 < House_Count) {
if (Houses[_local1]._state == "Inactive"){
Houses[_local1].release_house(GameManager._scrollSpeed);
break;
};
_local1++;
};
}
public function adFinished():void{
load_screen.visible = false;
GameManager.gameState = "MainMenu";
gotoAndPlay(2);
initApplication();
}
private function process_input(_arg1:KeyboardEvent){
var _local2:int;
var _local3:Array;
switch (_arg1.keyCode){
case 49:
break;
case 50:
break;
case 51:
break;
case 32:
break;
case 39:
break;
case 37:
break;
case 38:
break;
case 40:
break;
};
}
}
}//package
Section 52
//Thunder (Thunder)
package {
import flash.media.*;
public dynamic class Thunder extends Sound {
}
}//package