Section 1
//clock_37 (springwinds_fla.clock_37)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class clock_37 extends MovieClip {
public function clock_37(){
addFrameScript(0, frame1, 27, frame28);
}
function frame1(){
stop();
}
function frame28(){
stop();
}
}
}//package springwinds_fla
Section 2
//clockinterface_82 (springwinds_fla.clockinterface_82)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class clockinterface_82 extends MovieClip {
public function clockinterface_82(){
addFrameScript(0, frame1, 630, frame631, 719, frame720);
}
public function startBlink(_arg1:Event){
var _local2:ColorTransform;
if (currentFrame > 630){
if (this.transform.colorTransform.redOffset == 0xFF){
_local2 = new ColorTransform();
} else {
_local2 = this.transform.colorTransform;
_local2.color = 0xFF0000;
};
this.transform.colorTransform = _local2;
} else {
resetBlink();
removeEventListener(Event.ENTER_FRAME, startBlink);
};
}
function frame1(){
stop();
}
function frame720(){
removeEventListener(Event.ENTER_FRAME, startBlink);
resetBlink();
}
function frame631(){
addEventListener(Event.ENTER_FRAME, startBlink);
}
public function resetBlink(){
var _local1:ColorTransform;
_local1 = new ColorTransform();
this.transform.colorTransform = _local1;
}
}
}//package springwinds_fla
Section 3
//crackingvase_50 (springwinds_fla.crackingvase_50)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class crackingvase_50 extends MovieClip {
public var iyspeed;
public var iniy;
public var garbage:Array;
public var countToDie;
public var shadow:MovieClip;
public var i;
public var yspeed;
public var xspeed;
public function crackingvase_50(){
addFrameScript(0, frame1);
}
public function jump(_arg1:Event){
var _local2:*;
var _local3:*;
_local2 = new Point();
_local3 = 0;
while (_local3 < this.numChildren) {
if (this.getChildAt(_local3) != this.shadow){
this.getChildAt(_local3).y = (this.getChildAt(_local3).y - yspeed[_local3]);
this.getChildAt(_local3).x = (this.getChildAt(_local3).x + xspeed[_local3]);
_local2.x = this.getChildAt(_local3).x;
_local2.y = this.getChildAt(_local3).y;
_local2 = parent.localToGlobal(_local2);
if (_local2.y > (420 + iniy[_local3])){
yspeed[_local3] = (iyspeed[_local3] / 2);
xspeed[_local3] = (xspeed[_local3] / 2);
};
if (Math.abs(xspeed[_local3]) < 0.5){
xspeed[_local3] = 0;
yspeed[_local3] = 0;
} else {
yspeed[_local3] = (yspeed[_local3] - 1);
};
var _local4 = countToDie;
var _local5 = _local3;
var _local6 = (_local4[_local5] - 1);
_local4[_local5] = _local6;
if (_local4[_local5] < 0){
garbage.push(this.getChildAt(_local3));
};
};
_local3++;
};
_local3 = 0;
while (_local3 < garbage.length) {
if (this == garbage[_local3].parent){
this.removeChild(garbage[_local3]);
};
_local3++;
};
if (this.numChildren < 3){
removeEventListener(Event.ENTER_FRAME, jump);
if (parent.parent != null){
parent.parent.removeChild(parent);
};
};
}
function frame1(){
iyspeed = new Array();
yspeed = new Array();
xspeed = new Array();
iniy = new Array();
countToDie = new Array();
garbage = new Array();
i = 0;
while (i < this.numChildren) {
iyspeed[i] = (1 + (Math.random() * 3));
yspeed[i] = iyspeed[i];
iniy[i] = (Math.random() * 10);
xspeed[i] = (1 + (Math.random() * 3));
countToDie[i] = (100 + (Math.random() * 50));
if (Math.random() > 0.5){
xspeed[i] = -(xspeed[i]);
};
i++;
};
addEventListener(Event.ENTER_FRAME, jump);
addEventListener("removedFromStage", kill);
}
public function kill(_arg1:Event){
removeEventListener(Event.ENTER_FRAME, jump);
removeEventListener("removedFromStage", kill);
}
}
}//package springwinds_fla
Section 4
//curtains_9 (springwinds_fla.curtains_9)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class curtains_9 extends MovieClip {
public function curtains_9(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package springwinds_fla
Section 5
//eyes_25 (springwinds_fla.eyes_25)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class eyes_25 extends MovieClip {
public function eyes_25(){
addFrameScript(8, frame9);
}
function frame9(){
}
}
}//package springwinds_fla
Section 6
//face_24 (springwinds_fla.face_24)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class face_24 extends MovieClip {
public var eyes:MovieClip;
public function face_24(){
addFrameScript(0, frame1);
}
function frame1(){
eyes.play();
}
}
}//package springwinds_fla
Section 7
//heartani_72 (springwinds_fla.heartani_72)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class heartani_72 extends MovieClip {
public function heartani_72(){
addFrameScript(10, frame11);
}
function frame11(){
stop();
}
}
}//package springwinds_fla
Section 8
//instructionshero_18 (springwinds_fla.instructionshero_18)
package springwinds_fla {
import flash.display.*;
public dynamic class instructionshero_18 extends MovieClip {
public var umbrella:Umbrella;
public var face:MovieClip;
}
}//package springwinds_fla
Section 9
//MainTimeline (springwinds_fla.MainTimeline)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class MainTimeline extends MovieClip {
public var curtains:MovieClip;
public var score:Number;
public function MainTimeline(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
trace("lll");
score = 0;
}
}
}//package springwinds_fla
Section 10
//newHighScore_42 (springwinds_fla.newHighScore_42)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class newHighScore_42 extends MovieClip {
public var score:TextField;
public function newHighScore_42(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package springwinds_fla
Section 11
//Symbol27_85 (springwinds_fla.Symbol27_85)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class Symbol27_85 extends MovieClip {
public function Symbol27_85(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package springwinds_fla
Section 12
//Symbol34_14 (springwinds_fla.Symbol34_14)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class Symbol34_14 extends MovieClip {
public var nextBtn:SimpleButton;
public var playBtn:SimpleButton;
public var game:GameArea;
public function Symbol34_14(){
addFrameScript(4, frame5, 12, frame13, 21, frame22, 26, frame27);
}
function frame22(){
stop();
playBtn.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:MouseEvent):void{
trace(this);
play();
});
}
function frame13(){
stop();
}
function frame5(){
stop();
}
function frame27(){
game = new GameArea();
parent.parent.curtains.gotoAndStop(2);
parent.parent.addChild(game);
parent.parent.setChildIndex(parent.parent.curtains, (parent.parent.numChildren - 1));
parent.parent.curtains.play();
parent.parent.removeChild(parent);
}
}
}//package springwinds_fla
Section 13
//Symbol37_10 (springwinds_fla.Symbol37_10)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class Symbol37_10 extends MovieClip {
public var health0:MovieClip;
public function Symbol37_10(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
parent.parent.soundEnabled = true;
buttonMode = true;
this.addEventListener(MouseEvent.MOUSE_UP, click);
}
function frame2(){
this.addEventListener(MouseEvent.MOUSE_UP, click2);
}
public function click(_arg1:MouseEvent){
nextFrame();
parent.parent.soundEnabled = false;
}
public function click2(_arg1:MouseEvent){
prevFrame();
parent.parent.soundEnabled = true;
}
}
}//package springwinds_fla
Section 14
//Symbol41_7 (springwinds_fla.Symbol41_7)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class Symbol41_7 extends MovieClip {
public var bfg:SimpleButton;
public function Symbol41_7(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(MouseEvent.MOUSE_UP, goBgf);
}
public function goBgf(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.bigfishgames.com"), "_blank");
}
}
}//package springwinds_fla
Section 15
//umbrellaopen_3 (springwinds_fla.umbrellaopen_3)
package springwinds_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class umbrellaopen_3 extends MovieClip {
public function umbrellaopen_3(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package springwinds_fla
Section 16
//au (au)
package {
import flash.media.*;
public dynamic class au extends Sound {
}
}//package
Section 17
//Clock (Clock)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class Clock extends MovieClip {
public function Clock(){
addFrameScript(62, frame63);
}
function frame63(){
parent.removeChild(this);
}
}
}//package
Section 18
//ClockBird (ClockBird)
package {
import flash.events.*;
import flash.display.*;
public class ClockBird extends MovieClip {
public var clock:MovieClip;
var speedy:Number;// = 0
var speedx:Number;// = 7
var targ:DisplayObject;
var run:Boolean;// = false
public function ClockBird():void{
speedx = 7;
speedy = 0;
run = false;
super();
}
public function init(){
addEventListener(Event.ENTER_FRAME, fly);
speedy = (Math.random() * 2);
this.y = (45 + (Math.random() * 100));
if (Math.random() > 0.5){
speedx = -(speedx);
x = -20;
scaleX = -(scaleX);
} else {
x = 650;
};
if ((((y < 136)) && ((speedy < 0.8)))){
speedy = 0.8;
};
if (y > 136){
speedy = 0;
};
targ = new Targ();
this.addChild(targ);
targ.x = -8;
targ.y = 73;
targ.alpha = 0;
}
public function catchClock():void{
var _local1:Clock;
targ.x = -1000;
this.removeChild(targ);
clock.visible = false;
_local1 = new Clock();
parent.addChild(_local1);
_local1.x = this.x;
_local1.y = (this.y + 15);
_local1.play();
run = true;
}
private function kill(){
removeEventListener(Event.ENTER_FRAME, fly);
parent.removeChild(this);
}
public function fly(_arg1:Event):void{
var _local2:*;
y = (y + speedy);
x = (x - speedx);
if ((((speedx > 0)) && ((x > 700)))){
this.kill();
};
if ((((speedx < 0)) && ((x < -20)))){
this.kill();
};
if (run){
speedx = (speedx + ((speedx / Math.abs(speedx)) / 2));
speedy = (speedy - 0.5);
_local2 = (currentFrame + 2);
if (_local2 >= totalFrames){
_local2 = 1;
};
gotoAndPlay(_local2);
};
}
}
}//package
Section 19
//crash1 (crash1)
package {
import flash.media.*;
public dynamic class crash1 extends Sound {
}
}//package
Section 20
//crash2 (crash2)
package {
import flash.media.*;
public dynamic class crash2 extends Sound {
}
}//package
Section 21
//Dropper (Dropper)
package {
import flash.events.*;
import flash.display.*;
public class Dropper extends MovieClip {
public var releaseCounter:Number;// = 50
public var levelCounter:Number;// = 0
public var minLevel:Number;// = 25
public var level:Number;// = 50
public var frameCounter:Number;// = 0
public function Dropper():void{
frameCounter = 0;
releaseCounter = 50;
level = 50;
levelCounter = 0;
minLevel = 25;
super();
addEventListener(Event.ENTER_FRAME, enterFrame);
addEventListener("removedFromStage", kill);
}
public function releaseElement():void{
}
public function kill(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, enterFrame);
removeEventListener("removedFromStage", kill);
}
public function enterFrame(_arg1:Event):void{
if (frameCounter++ >= releaseCounter){
releaseElement();
frameCounter = 0;
};
if (levelCounter++ >= level){
if (level >= minLevel){
releaseCounter--;
level--;
};
levelCounter = 0;
};
}
}
}//package
Section 22
//end (end)
package {
import flash.media.*;
public dynamic class end extends Sound {
}
}//package
Section 23
//Enemies (Enemies)
package {
import flash.events.*;
import flash.display.*;
public class Enemies extends Dropper {
public function Enemies():void{
releaseCounter = 80;
level = 80;
minLevel = 17;
}
override public function releaseElement():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:EnemyP;
var _local6:EnemyB;
trace(("enemy: " + releaseCounter));
if (parent.hero.isProtecting()){
return;
};
_local1 = ((Math.random() < 0.5)) ? "P" : "B";
_local2 = (((Math.random() * 300) - 150) + parent.hero.x);
if (_local2 < 30){
_local2 = 30;
};
if (_local3 > 550){
_local3 = 550;
};
_local3 = -10;
_local4 = new Shadow();
parent.shadows.addChild(_local4);
if (_local1 == "P"){
_local5 = new EnemyP();
this.addChild(_local5);
_local5.x = _local2;
_local5.y = _local3;
_local4.addFollow(_local5);
} else {
_local6 = new EnemyB();
this.addChild(_local6);
_local6.x = _local2;
_local6.y = _local3;
_local4.addFollow(_local6);
};
}
}
}//package
Section 24
//Enemy (Enemy)
package {
import flash.events.*;
import flash.display.*;
public class Enemy extends FallingObject {
public var gravity:Number;// = 5
public function Enemy():void{
gravity = 5;
super();
}
override public function enterFrame(_arg1:Event):void{
fall(gravity);
gravity = (gravity + 1);
if (gravity > 11){
gravity = 30;
};
}
}
}//package
Section 25
//EnemyB (EnemyB)
package {
public class EnemyB extends Enemy {
public function EnemyB():void{
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 26
//EnemyP (EnemyP)
package {
public class EnemyP extends Enemy {
public function EnemyP():void{
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 27
//FallingObject (FallingObject)
package {
import flash.events.*;
import flash.display.*;
public class FallingObject extends MovieClip {
private var gravity:Number;// = 5
public function FallingObject():void{
gravity = 5;
super();
addEventListener(Event.ENTER_FRAME, enterFrame);
addEventListener("removeFromStage", remove);
}
public function enterFrame(_arg1:Event):void{
fall(gravity);
}
public function fall(_arg1:Number):void{
y = (y + _arg1);
}
public function remove():void{
removeEventListener(Event.ENTER_FRAME, enterFrame);
removeEventListener("removeFromStage", remove);
}
}
}//package
Section 28
//Friend (Friend)
package {
public class Friend extends FallingObject {
public var gravity:Number;// = 5
public function Friend():void{
gravity = 5;
super();
}
}
}//package
Section 29
//Friend_Dead (Friend_Dead)
package {
import flash.events.*;
import flash.display.*;
public class Friend_Dead extends MovieClip {
public function Friend_Dead():void{
addFrameScript(93, frame94, 179, frame180);
}
function frame94(){
if (x < 300){
scaleX = -1;
};
}
function frame180(){
if (parent != null){
parent.removeChild(this);
};
}
}
}//package
Section 30
//Friend_Saved (Friend_Saved)
package {
import flash.events.*;
import flash.display.*;
public class Friend_Saved extends MovieClip {
public function Friend_Saved():void{
addFrameScript(15, frame16);
}
function frame16(){
if (parent != null){
parent.removeChild(this);
};
}
}
}//package
Section 31
//Friends (Friends)
package {
import flash.events.*;
import flash.display.*;
public class Friends extends Dropper {
public function Friends():void{
releaseCounter = 80;
level = 50;
minLevel = 25;
}
public function init():void{
}
public function addSavedFriend(_arg1, _arg2:Number):void{
var _local3:Friend_Saved;
_local3 = new Friend_Saved();
this.addChild(_local3);
_local3.x = _arg1;
_local3.y = _arg2;
}
public function addDeadFriend(_arg1, _arg2:Number):void{
var _local3:Friend_Dead;
_local3 = new Friend_Dead();
this.addChild(_local3);
_local3.x = _arg1;
_local3.y = _arg2;
}
override public function releaseElement():void{
var _local1:Friend;
var _local2:*;
trace(("friend: " + releaseCounter));
_local1 = new Friend();
this.addChild(_local1);
_local1.x = ((Math.random() * (600 - 100)) + 50);
_local1.y = -10;
_local2 = new Shadow();
parent.shadows.addChild(_local2);
_local2.addFollow(_local1);
}
}
}//package
Section 32
//GameArea (GameArea)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.geom.*;
public class GameArea extends MovieClip {
public var hero:Hero;
public var hero_shadow:MovieClip;
public var clock:MovieClip;
private var birdTimer:Number;// = 0
public var friendWarning:MovieClip;
private var enemies:Enemies;
public var soundLoopChannel:SoundChannel;
public var health:Number;// = 5
public var shadows:MovieClip;
private var ground:Number;// = 380
private var friends:Friends;
public var score:Number;// = 0
private var timeFriendCounter:Number;// = 0
public var crashSnd:SoundChannel;
public var scoreTx:TextField;
private var time:Number;// = 1
public var clockTick:SoundChannel;
public var birds:MovieClip;
public function GameArea(){
friends = new Friends();
enemies = new Enemies();
birds = new MovieClip();
ground = 380;
shadows = new MovieClip();
score = 0;
health = 5;
time = 1;
timeFriendCounter = 0;
birdTimer = 0;
super();
addEventListener(Event.ENTER_FRAME, enterFrame);
addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
addEventListener("removedFromStage", kill);
addEventListener(Event.ADDED_TO_STAGE, init);
addShadows();
addSprites();
}
private function init(_arg1:Event){
var _local2:loop;
if (parent.soundEnabled){
_local2 = new loop();
soundLoopChannel = _local2.play(0, 99999);
};
}
private function hitEnemies():void{
var _local1:DisplayObject;
var _local2:*;
var _local3:SoundTransform;
var _local4:*;
var _local5:crash1;
var _local6:uh;
var _local7:crash2;
var _local8:au;
var _local9:crash1;
var _local10:crash2;
_local1 = null;
_local2 = new Point(hero.umbrella.x, hero.umbrella.y);
_local3 = new SoundTransform();
_local4 = 0;
while (_local4 < enemies.numChildren) {
_local1 = enemies.getChildAt(_local4);
if (_local1.currentFrame == 1){
_local2 = hero.localToGlobal(_local2);
if ((((_local1.y < _local2.y)) && ((_local2.y < (_local1.y + _local1.gravity))))){
if (((((_local2.x - (hero.umbrella.width / 2)) < (_local1.x + 5))) && (((_local1.x - 5) < (_local2.x + (hero.umbrella.width / 2)))))){
_local1.nextFrame();
_local1.remove();
_local1.y = (_local1.y - _local1.gravity);
hero.protect();
if (parent.soundEnabled){
if (Math.random() > 0.5){
_local5 = new crash1();
crashSnd = _local5.play();
_local3.volume = 0.3;
crashSnd.soundTransform = _local3;
_local6 = new uh();
_local6.play();
} else {
_local7 = new crash2();
crashSnd = _local7.play();
_local3.volume = 0.9;
crashSnd.soundTransform = _local3;
_local8 = new au();
_local8.play();
};
};
};
};
if ((((((_local1.currentFrame == 1)) && ((_local1.y > ground)))) && ((((_local1.toString() == "[object EnemyB]")) || ((_local1.toString() == "[object EnemyP]")))))){
_local1.nextFrame();
_local1.remove();
if (parent.soundEnabled){
if (Math.random() > 0.5){
_local9 = new crash1();
crashSnd = _local9.play();
_local3.volume = 0.3;
crashSnd.soundTransform = _local3;
} else {
_local10 = new crash2();
crashSnd = _local10.play();
_local3.volume = 0.9;
crashSnd.soundTransform = _local3;
};
};
trace(("enemy hit" + _local1));
};
};
_local4++;
};
}
private function updateTime(_arg1:Number){
time = (time + _arg1);
if (time < 1){
time = 1;
};
}
private function addHero():void{
setChildIndex(hero, 6);
}
private function updateFriendCounter(){
timeFriendCounter++;
if (timeFriendCounter >= 5){
timeFriendCounter = 0;
updateTime((-5 * 24));
updateClock();
playFriendWarning();
};
}
private function updateScore(_arg1:Number){
score = (score + _arg1);
scoreTx.embedFonts = true;
scoreTx.text = score;
}
private function addEnemies():void{
this.addChild(enemies);
}
private function kill(_arg1:Event){
trace("kill");
removeEventListener(Event.ENTER_FRAME, enterFrame);
removeEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
removeEventListener("removedFromStage", kill);
removeEventListener(Event.ADDED_TO_STAGE, init);
soundLoopChannel.stop();
}
private function enterFrame(_arg1:Event):void{
if (parent != null){
if (!parent.soundEnabled){
soundLoopChannel.stop();
};
hero.move();
hero.updatePosition();
grabFriends();
hitEnemies();
updateClock();
};
}
private function playFriendWarning(){
friendWarning.play();
friendWarning.x = hero.x;
friendWarning.y = ((hero.y - hero.height) - 30);
}
private function addSprites(){
var _local1:*;
_local1 = new Rain();
_local1.addObstacle([hero]);
addChild(_local1);
addEnemies();
addFriends();
addHero();
}
private function addShadows():void{
this.addChild(shadows);
}
private function grabFriends():void{
var _local1:DisplayObject;
var _local2:*;
var _local3:*;
var _local4:save;
var _local5:hit;
_local1 = null;
_local2 = new SoundTransform();
_local3 = 0;
while (_local3 < friends.numChildren) {
_local1 = friends.getChildAt(_local3);
if (((hero.hit(_local1.x, _local1.y)) && ((_local1.toString() == "[object Friend]")))){
hero.umbrella.hit();
friends.addSavedFriend(_local1.x, _local1.y);
friends.removeChild(_local1);
if (_local1 != null){
_local1.x = -10000;
};
updateScore(10);
updateFriendCounter();
if (parent.soundEnabled){
_local4 = new save();
crashSnd = _local4.play();
_local2.volume = 0.6;
crashSnd.soundTransform = _local2;
};
};
if ((((_local1.y > (ground + 10))) && ((_local1.toString() == "[object Friend]")))){
friends.addDeadFriend(_local1.x, _local1.y);
if (_local1 != null){
if (_local1.parent == friends){
friends.removeChild(_local1);
};
};
if (_local1 != null){
_local1.x = -10000;
};
if (parent.soundEnabled){
_local5 = new hit();
_local5.play();
};
};
_local3++;
};
_local3 = 0;
while (_local3 < birds.numChildren) {
if (birds.getChildAt(_local3).toString() == "[object ClockBird]"){
if (birds.getChildAt(_local3).targ.hitTestObject(hero.umbrella)){
birds.getChildAt(_local3).catchClock();
hero.umbrella.hit();
updateTime((-30 * 24));
};
};
_local3++;
};
}
private function endGame():void{
var _local1:*;
parent.score = score;
_local1 = new pgHiScores();
parent.addChild(_local1);
parent.setChildIndex(parent.curtains, (parent.numChildren - 1));
parent.curtains.gotoAndPlay(2);
parent.removeChild(this);
trace("???");
}
private function updateClock(){
var _local1:tic;
time++;
clock.gotoAndStop(int((time / 2)));
birdTimer++;
if (birdTimer >= (59 * 24)){
birdTimer = 0;
releaseBird();
};
if (time >= (60 * 24)){
if (parent.soundEnabled){
_local1 = new tic();
clockTick = _local1.play();
};
time = 0;
endGame();
} else {
if (time >= (50 * 24)){
if (((parent.soundEnabled) && (((time % 24) == 0)))){
_local1 = new tic();
clockTick = _local1.play();
};
};
};
}
private function addFriends():void{
this.addChild(friends);
this.addChild(birds);
friends.init();
}
private function releaseBird(){
var _local1:ClockBird;
_local1 = new ClockBird();
birds.addChild(_local1);
_local1.init();
}
private function mouseDown(_arg1:MouseEvent):void{
hero.jump();
}
}
}//package
Section 33
//Hero (Hero)
package {
import flash.events.*;
import flash.display.*;
public class Hero extends MovieClip {
public var hitTarget:MovieClip;
private var iniy:Number;// = 0
private var jumping:Boolean;// = false
public var umbrella:Umbrella;
public var face:MovieClip;
private var yspeed:Number;// = 0
private var weight:Number;// = 1
private var protecting:Boolean;// = false
private var step:Number;// = 10
public function Hero(){
step = 10;
yspeed = 0;
weight = 1;
iniy = 0;
jumping = false;
protecting = false;
super();
addFrameScript(12, frame13, 70, frame71);
iniy = y;
}
public function getUmbrellax():Number{
if (umbrella != null){
return (umbrella.x);
};
return (0);
}
public function getUmbrellay():Number{
if (umbrella != null){
return (umbrella.y);
};
return (0);
}
function frame71(){
protecting = false;
}
public function updatePosition():void{
if (jumping){
this.y = (this.y + yspeed);
yspeed = (yspeed + weight);
if (y > iniy){
y = iniy;
yspeed = 0;
if (!protecting){
gotoAndStop("idle");
};
jumping = false;
};
};
parent["hero_shadow"].x = x;
}
public function jump():void{
if (((!(protecting)) && (!(jumping)))){
yspeed = -13;
jumping = true;
gotoAndStop("jump");
};
}
function frame13(){
gotoAndPlay(1);
}
public function isProtecting():Boolean{
return (protecting);
}
public function hit(_arg1, _arg2:Number){
if (hitTarget != null){
return (hitTarget.hitTestPoint(_arg1, _arg2));
};
return (false);
}
public function grabFriends(_arg1:DisplayObject):void{
if (_arg1.toString() == "[object Friend]"){
umbrella.hit();
};
}
public function protect(){
protecting = true;
gotoAndPlay("protect");
}
public function move():void{
if (!protecting){
if (stage.mouseX != x){
if (((((((stage.mouseX - step) <= x)) && ((x <= (stage.mouseX + step))))) && (!((this.currentLabel == "idle"))))){
if (!jumping){
x = stage.mouseX;
};
} else {
if (stage.mouseX > x){
x = (x + step);
scaleX = 1;
if (((!(jumping)) && (!(protecting)))){
if (this.currentLabel != "idle"){
play();
} else {
gotoAndPlay(1);
};
};
} else {
x = (x - step);
scaleX = -1;
if (((!(jumping)) && (!(protecting)))){
if (this.currentLabel != "idle"){
play();
} else {
gotoAndPlay(1);
};
};
};
};
} else {
if (!jumping){
if (this.currentLabel != "idle"){
this.gotoAndStop("idle");
};
};
};
};
}
}
}//package
Section 34
//hit (hit)
package {
import flash.media.*;
public dynamic class hit extends Sound {
}
}//package
Section 35
//loop (loop)
package {
import flash.media.*;
public dynamic class loop extends Sound {
}
}//package
Section 36
//pgHiScores (pgHiScores)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class pgHiScores extends MovieClip {
public var newHighScore:MovieClip;
public var so;
public var playBtn:SimpleButton;
public var score:TextField;
public function pgHiScores(){
addFrameScript(0, frame1);
}
function frame1(){
score.text = parent.score;
playBtn.addEventListener(MouseEvent.MOUSE_UP, playGame);
so = SharedObject.getLocal("springwinds_bfg");
if ((((so.data.highScore < parent.score)) || ((so.data.highScore == undefined)))){
trace("new high score");
newHighScore.nextFrame();
so.data.highScore = parent.score;
} else {
trace("nops");
newHighScore.score.text = so.data.highScore;
};
trace(parent.score);
trace(so.data.highScore);
so.flush();
}
public function playGame(_arg1:MouseEvent){
var _local2:*;
_local2 = new PgHome();
parent.addChild(_local2);
parent.curtains.play();
parent.setChildIndex(parent.curtains, (parent.numChildren - 1));
trace(this);
parent.removeChild(this);
}
}
}//package
Section 37
//PgHome (PgHome)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class PgHome extends MovieClip {
public var playGameBtn:SimpleButton;
public var hitarea:MovieClip;
public function PgHome(){
addFrameScript(0, frame1);
}
function frame1(){
playGameBtn.addEventListener(MouseEvent.MOUSE_UP, addInstructions);
}
public function addInstructions(_arg1:MouseEvent){
var _local2:*;
_local2 = new PgInstructions();
parent.addChild(_local2);
parent.setChildIndex(parent.curtains, (parent.numChildren - 1));
parent.curtains.play();
parent.removeChild(this);
}
}
}//package
Section 38
//PgInstructions (PgInstructions)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.geom.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class PgInstructions extends MovieClip {
public var instr:MovieClip;
public function PgInstructions(){
addFrameScript(0, frame1);
}
function frame1(){
trace("jj");
trace("here");
instr.nextBtn.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:MouseEvent):void{
trace(instr);
instr.play();
});
}
}
}//package
Section 39
//Rain (Rain)
package {
import flash.events.*;
import flash.display.*;
public class Rain extends MovieClip {
var frameDrops:Number;// = 0
var wind:Number;// = 10
var groundSurface:Number;// = 80
var gravity:Number;// = 15
var frameDropsCount:Number;// = 0
var ground:Number;// = 350
var numDrops:Number;// = 0
var obstacles:Array;
public function Rain():void{
numDrops = 0;
frameDrops = 0;
frameDropsCount = 0;
wind = 10;
gravity = 15;
ground = 350;
groundSurface = 80;
obstacles = new Array();
super();
initRain();
}
private function hitGround(_arg1:DisplayObject):DisplayObject{
if (_arg1.y > (ground + (Math.random() * groundSurface))){
addSplat(_arg1.x, _arg1.y);
addWave(_arg1.x, _arg1.y, _arg1.alpha);
return (_arg1);
};
if ((((_arg1.x < 0)) || ((_arg1.x > (stage.width + 50))))){
return (null);
};
}
private function enterFrameDrop(_arg1:Event):void{
frameDropsCount++;
if (frameDropsCount >= frameDrops){
frameDropsCount = 0;
addDrop();
addDrop();
addDrop();
addDrop();
};
}
private function garbageCollector():void{
}
private function addSplat(_arg1, _arg2:Number):MovieClip{
var _local3:MovieClip;
_local3 = new Splat();
addChild(_local3);
_local3.y = _arg2;
_local3.x = _arg1;
_local3.init(1, 4);
return (_local3);
}
private function addDrop():MovieClip{
var _local1:MovieClip;
_local1 = new RainDrop();
addChild(_local1);
_local1.y = (-(Math.random()) * 50);
_local1.alpha = Math.abs((1 + (_local1.y / 200)));
_local1.x = (Math.random() * stage.width);
_local1.scaleX = (_local1.scaleX * _local1.alpha);
_local1.scaleY = (_local1.scaleY * _local1.alpha);
_local1.rotation = (wind + (Math.random() * 10));
_local1.addObstacle(this.obstacles);
return (_local1);
}
private function hitHero(_arg1:DisplayObject):DisplayObject{
if (parent["hero"].hitTestPoint(_arg1.x, _arg1.y)){
addSplat(_arg1.x, _arg1.y);
addSplat(_arg1.x, _arg1.y);
return (_arg1);
};
return (null);
}
public function addObstacle(_arg1:Array):void{
obstacles = obstacles.concat(_arg1);
}
private function kill(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, fall);
removeEventListener(Event.ENTER_FRAME, enterFrameDrop);
removeEventListener("removedFromStage", kill);
}
private function fall(_arg1:Event):void{
var _local2:Array;
var _local3:*;
_local2 = new Array();
_local3 = 0;
while (_local3 < this.numChildren) {
if (getChildAt(_local3).toString() == "[object RainDrop]"){
move(getChildAt(_local3));
_local2.push(hitGround(getChildAt(_local3)));
_local2.push(hitHero(getChildAt(_local3)));
};
_local3++;
};
_local3 = 0;
while (_local3 < _local2.length) {
if (((!((_local2[_local3] == null))) && ((_local2[_local3].parent == this)))){
removeChild(_local2[_local3]);
};
_local3++;
};
}
private function addWave(_arg1, _arg2, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new Wave();
addChild(_local4);
_local4.y = _arg2;
_local4.x = _arg1;
_local4.scale = (_local4.scale * (_arg2 - ground));
return (_local4);
}
private function move(_arg1:DisplayObject):void{
_arg1.y = (_arg1.y + gravity);
_arg1.x = (_arg1.x - (_arg1.rotation / 3));
}
private function initRain(){
addEventListener(Event.ENTER_FRAME, fall);
addEventListener(Event.ENTER_FRAME, enterFrameDrop);
addEventListener("removedFromStage", kill);
}
}
}//package
Section 40
//RainDrop (RainDrop)
package {
import flash.display.*;
public class RainDrop extends MovieClip {
private var obstacles:Array;
public function RainDrop(){
obstacles = new Array();
super();
}
public function addObstacle(_arg1:Array):void{
obstacles = obstacles.concat(_arg1);
}
}
}//package
Section 41
//save (save)
package {
import flash.media.*;
public dynamic class save extends Sound {
}
}//package
Section 42
//Shadow (Shadow)
package {
import flash.events.*;
import flash.display.*;
public class Shadow extends MovieClip {
public var follow:DisplayObject;
private function testDie(_arg1:Event):void{
if ((((((follow == null)) || ((follow.x < -1000)))) || ((((((follow.toString() == "[object EnemyP]")) || ((follow.toString() == "[object EnemyB]")))) && (!((follow.currentFrame == 1))))))){
removeEventListener(Event.ENTER_FRAME, testDie);
parent.removeChild(this);
} else {
this.alpha = (follow.y / 300);
};
}
public function addFollow(_arg1:DisplayObject):void{
follow = _arg1;
this.x = _arg1.x;
this.y = 400;
this.width = (_arg1.width * 2);
this.scaleY = this.scaleX;
this.alpha = 0;
addEventListener(Event.ENTER_FRAME, testDie);
}
}
}//package
Section 43
//Splat (Splat)
package {
import flash.events.*;
import flash.display.*;
public class Splat extends MovieClip {
private var iniy:Number;
private var gravity:Number;
private var yspeed:Number;
private var state:String;
private var xspeed:Number;
public function Splat():void{
}
public function init(_arg1:Number, _arg2:Number){
yspeed = _arg2;
gravity = _arg1;
iniy = y;
xspeed = (Math.random() * 3);
if (Math.random() > 0.5){
xspeed = -(xspeed);
};
addEventListener(Event.ENTER_FRAME, move);
addEventListener("removedFromStage", remove, false, 0, true);
}
private function removeEventListeners():void{
removeEventListener(Event.ENTER_FRAME, move);
}
public function kill(){
removeEventListeners();
parent.removeChild(this);
}
public function remove(_arg1:Event){
removeEventListeners();
}
private function move(_arg1:Event):void{
y = (y - yspeed);
x = (x - xspeed);
yspeed = (yspeed - gravity);
rotation = (rotation - (xspeed * 10));
if (y >= iniy){
visible = false;
kill();
};
}
}
}//package
Section 44
//Targ (Targ)
package {
import flash.display.*;
public dynamic class Targ extends MovieClip {
}
}//package
Section 45
//tic (tic)
package {
import flash.media.*;
public dynamic class tic extends Sound {
}
}//package
Section 46
//uh (uh)
package {
import flash.media.*;
public dynamic class uh extends Sound {
}
}//package
Section 47
//Umbrella (Umbrella)
package {
import flash.display.*;
public class Umbrella extends MovieClip {
public var hitarea:MovieClip;
public function Umbrella():void{
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
public function hit():void{
play();
}
}
}//package
Section 48
//Wave (Wave)
package {
import flash.events.*;
import flash.display.*;
public class Wave extends MovieClip {
private var strength:Number;// = 50
public var scale:Number;// = 1
public function Wave():void{
strength = 50;
scale = 1;
super();
addEventListener(Event.ENTER_FRAME, move);
}
public function move(_arg1:Event):void{
this.scaleX = (this.scaleX + (strength / 100));
this.scaleY = (this.scaleY + (strength / 300));
this.alpha = (this.alpha - 0.1);
if (scaleX >= (scale / 10)){
removeEventListener(Event.ENTER_FRAME, move);
parent.removeChild(this);
};
}
}
}//package