Section 1
//jigsaw_16 (castle_fla.jigsaw_16)
package castle_fla {
import flash.display.*;
public dynamic class jigsaw_16 extends MovieClip {
public var b10:JigsawBttn;
public var b14:JigsawBttn;
public var b13:JigsawBttn;
public var b15:JigsawBttn;
public var b0:JigsawBttn;
public var b2:JigsawBttn;
public var b4:JigsawBttn;
public var b9:JigsawBttn;
public var b5:JigsawBttn;
public var b6:JigsawBttn;
public var b1:JigsawBttn;
public var b3:JigsawBttn;
public var b8:JigsawBttn;
public var b12:JigsawBttn;
public var b11:JigsawBttn;
public var b7:JigsawBttn;
public var goodList:Array;
public var jigsawComplete;
public function jigsaw_16(){
addFrameScript(0, frame1);
}
function frame1(){
goodList = ["b10", "b2", "b1", "b7", "b9", "b14"];
jigsawComplete = false;
}
}
}//package castle_fla
Section 2
//kiba_13 (castle_fla.kiba_13)
package castle_fla {
import flash.display.*;
import flash.net.*;
public dynamic class kiba_13 extends MovieClip {
public function kiba_13(){
addFrameScript(0, frame1);
}
function frame1(){
Game.simpleBtn(this, function (){
navigateToURL(new URLRequest("http://www.kibagames.com"), "_blank");
});
buttonMode = true;
}
}
}//package castle_fla
Section 3
//Main_6 (castle_fla.Main_6)
package castle_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class Main_6 extends MovieClip {
public var bg:MovieClip;
public var timer:Timer;
public var linkBtn2:MovieClip;
public var linkBtn3:MovieClip;
public var linkBtn1:MovieClip;
public var moreBtn:MovieClip;
public function Main_6(){
addFrameScript(0, frame1, 17, frame18, 35, frame36, 49, frame50);
}
function frame18(){
stop();
Game.update();
}
function frame1(){
stop();
Game.update();
}
function frame36(){
stop();
Game.update();
moreBtn.buttonMode = true;
Game.simpleBtn(moreBtn, function (){
gotoAndStop("more");
});
timer = new Timer(3000, 1);
timer.addEventListener(TimerEvent.TIMER, function (){
gotoAndStop("more");
});
timer.start();
}
function frame50(){
stop();
linkBtn1.buttonMode = true;
linkBtn2.buttonMode = true;
linkBtn3.buttonMode = true;
Game.linkBtn(linkBtn1, "http://stoneagegames.com/download-games/gameinfo.php?id=7406&foldername=empress-of-the-deep-the-darkest-secret&local=en>ype=pc");
Game.linkBtn(linkBtn2, "http://stoneagegames.com/download-games/gameinfo.php?id=7241&foldername=black-circle-a-carol-reed-mystery&local=en>ype=pc");
Game.linkBtn(linkBtn3, "http://stoneagegames.com/download-games/gameinfo.php?id=7405&foldername=the-tarots-misfortune&local=en>ype=pc");
}
}
}//package castle_fla
Section 4
//preloadBar_5 (castle_fla.preloadBar_5)
package castle_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.geom.*;
import flash.media.*;
import flash.printing.*;
import flash.system.*;
import flash.text.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class preloadBar_5 extends MovieClip {
public var preloader;
public function preloadBar_5(){
addFrameScript(0, frame1, 99, frame100);
}
function frame1(){
stop();
}
function frame100(){
preloader = this.parent;
preloader.gotoAndPlay(2);
}
}
}//package castle_fla
Section 5
//preloader_1 (castle_fla.preloader_1)
package castle_fla {
import flash.display.*;
public dynamic class preloader_1 extends MovieClip {
public var preloader_mc:MovieClip;
public function preloader_1(){
addFrameScript(0, frame1, 55, frame56);
}
function frame1(){
stop();
}
function frame56(){
MainGame.inst.gotoAndStop(2);
}
}
}//package castle_fla
Section 6
//view_00_60 (castle_fla.view_00_60)
package castle_fla {
import flash.display.*;
public dynamic class view_00_60 extends MovieClip {
public var view_11;
public var takeRope:MovieClip;
public var useFallenGate:MovieClip;
public function view_00_60(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
Game.useBtn(takeRope, "axe", function (){
Inventory.addItem("rope");
nextFrame();
});
}
function frame2(){
view_11 = this.parent.getChildByName("view_11");
Game.addViewHit(useFallenGate, view_11);
}
}
}//package castle_fla
Section 7
//view_01_54 (castle_fla.view_01_54)
package castle_fla {
import flash.display.*;
public dynamic class view_01_54 extends MovieClip {
public var watchJigsaw:MovieClip;
public var placePuzzle1:MovieClip;
public var placePuzzle2:MovieClip;
public var puzzle1:MovieClip;
public var puzzle2:MovieClip;
public var view_jigsaw;
public function view_01_54(){
addFrameScript(0, frame1);
}
function frame1(){
puzzle1.visible = false;
puzzle2.visible = false;
Game.useBtn(placePuzzle1, "puzzle1", function (){
puzzle1.visible = true;
showPuzzle();
});
Game.useBtn(placePuzzle2, "puzzle2", function (){
puzzle2.visible = true;
showPuzzle();
});
view_jigsaw = this.parent.getChildByName("view_jigsaw");
}
public function showPuzzle():void{
if ((((puzzle1.visible == true)) && ((puzzle2.visible == true)))){
removeChild(placePuzzle1);
removeChild(placePuzzle2);
Game.addViewHit(watchJigsaw, view_jigsaw);
};
}
}
}//package castle_fla
Section 8
//view_02_52 (castle_fla.view_02_52)
package castle_fla {
import flash.display.*;
public dynamic class view_02_52 extends MovieClip {
public var cup:MovieClip;
public function view_02_52(){
addFrameScript(0, frame1);
}
function frame1(){
Game.grabBtn(cup, "cup", null);
}
}
}//package castle_fla
Section 9
//view_03_46 (castle_fla.view_03_46)
package castle_fla {
import flash.display.*;
public dynamic class view_03_46 extends MovieClip {
public var axe:MovieClip;
public var cauldron_pitchfork_cupBeer:MovieClip;
public var cauldron_worked:MovieClip;
public var clover_found:MovieClip;
public var placeTrap:MovieClip;
public function view_03_46(){
addFrameScript(0, frame1);
}
public function closeTrap():void{
trace("trap closed");
if (cauldron_pitchfork_cupBeer.visible == true){
cauldron_pitchfork_cupBeer.visible = false;
cauldron_worked.visible = true;
clover_found.visible = true;
};
}
function frame1(){
clover_found.visible = false;
cauldron_pitchfork_cupBeer.visible = false;
cauldron_worked.visible = false;
Game.useBtn(placeTrap, "cauldron_pitchfork_cupBeer", function (){
cauldron_pitchfork_cupBeer.visible = true;
Inventory.addItem("puzzle2");
});
Game.grabBtn(axe, "axe", null);
Game.grabBtn(clover_found, "clover", null);
}
}
}//package castle_fla
Section 10
//view_04_41 (castle_fla.view_04_41)
package castle_fla {
import flash.display.*;
public dynamic class view_04_41 extends MovieClip {
public var placeChain:MovieClip;
public var pitchfork:MovieClip;
public var useRam:MovieClip;
public var useBrokenDoor:MovieClip;
public var view_10;
public function view_04_41(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
view_10 = this.parent.getChildByName("view_10");
Game.addViewHit(useBrokenDoor, view_10);
}
function frame1(){
Game.grabBtn(pitchfork, "pitchfork", null);
Game.useBtn(placeChain, "chain", nextFrame);
}
function frame2(){
Game.simpleBtn(useRam, nextFrame);
}
}
}//package castle_fla
Section 11
//view_05_38 (castle_fla.view_05_38)
package castle_fla {
import flash.display.*;
public dynamic class view_05_38 extends MovieClip {
public var chain:MovieClip;
public var cauldron:MovieClip;
public function view_05_38(){
addFrameScript(0, frame1);
}
function frame1(){
Game.grabBtn(chain, "chain", null);
Game.grabBtn(cauldron, "cauldron", null);
}
}
}//package castle_fla
Section 12
//view_06_35 (castle_fla.view_06_35)
package castle_fla {
import flash.display.*;
public dynamic class view_06_35 extends MovieClip {
public var hook:MovieClip;
public var spade:MovieClip;
public function view_06_35(){
addFrameScript(0, frame1);
}
function frame1(){
Game.grabBtn(spade, "spade", null);
Game.grabBtn(hook, "hook", null);
}
}
}//package castle_fla
Section 13
//view_07_32 (castle_fla.view_07_32)
package castle_fla {
import flash.display.*;
public dynamic class view_07_32 extends MovieClip {
public var useRopeHook:MovieClip;
public var placeRopeHook:MovieClip;
public var view_08;
public function view_07_32(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
Game.useBtn(placeRopeHook, "rope_hook", nextFrame);
}
function frame2(){
view_08 = this.parent.getChildByName("view_08");
Game.addViewHit(useRopeHook, view_08);
}
}
}//package castle_fla
Section 14
//view_08_29 (castle_fla.view_08_29)
package castle_fla {
import flash.display.*;
public dynamic class view_08_29 extends MovieClip {
public var wheel:MovieClip;
public var torchFire:MovieClip;
public function view_08_29(){
addFrameScript(0, frame1);
}
function frame1(){
Game.grabBtn(wheel, "wheel", null);
Game.grabBtn(torchFire, "torchFire", null);
}
}
}//package castle_fla
Section 15
//view_09_26 (castle_fla.view_09_26)
package castle_fla {
import flash.display.*;
public dynamic class view_09_26 extends MovieClip {
public var pieceOfPuzzle:MovieClip;
public var placeWheel:MovieClip;
public function view_09_26(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
Game.useBtn(placeWheel, "wheel", nextFrame);
}
function frame2(){
Game.grabBtn(pieceOfPuzzle, "puzzle1", null);
}
}
}//package castle_fla
Section 16
//view_10_23 (castle_fla.view_10_23)
package castle_fla {
import flash.display.*;
public dynamic class view_10_23 extends MovieClip {
public var useTorchFire:MovieClip;
public var fillCup:MovieClip;
public function view_10_23(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
Game.useBtn(useTorchFire, "torchFire", nextFrame);
}
function frame2(){
Game.useBtn(fillCup, "cup", function (){
removeChild(fillCup);
Inventory.addItem("cup_beer");
});
}
}
}//package castle_fla
Section 17
//view_11_18 (castle_fla.view_11_18)
package castle_fla {
import flash.display.*;
public dynamic class view_11_18 extends MovieClip {
public var takeTreasure:MovieClip;
public var placeClover:MovieClip;
public var useSpade:MovieClip;
public var clover_placed:MovieClip;
public function view_11_18(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
Game.simpleBtn(takeTreasure, Game.gotoEnd);
}
function frame1(){
clover_placed.visible = false;
Game.useBtn(placeClover, "clover", function (){
clover_placed.visible = true;
nextFrame();
});
}
function frame2(){
Game.useBtn(useSpade, "spade", nextFrame);
}
}
}//package castle_fla
Section 18
//view_jigsaw_15 (castle_fla.view_jigsaw_15)
package castle_fla {
import flash.display.*;
public dynamic class view_jigsaw_15 extends MovieClip {
public function view_jigsaw_15(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package castle_fla
Section 19
//axe (axe)
package {
import flash.display.*;
public dynamic class axe extends BitmapData {
public function axe(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 20
//BackScroller (BackScroller)
package {
import flash.display.*;
public class BackScroller {
private var mouse:MovieClip;
public var speed:Number;// = 10
public var orientation:String;// = "|"
private var cont:MovieClip;
private var maska:MovieClip;
public var paragraph:Number;// = 50
public static const HORIZONTAL:String = "-";
public static const VERTICAL:String = "|";
public function BackScroller(_arg1:MovieClip, _arg2:MovieClip, _arg3:String="|"){
paragraph = 50;
speed = 10;
orientation = VERTICAL;
super();
cont = _arg1;
maska = _arg2;
mouse = Object(_arg1.parent).addChild(new MovieClip());
mouse.x = maska.x;
mouse.y = maska.y;
cont.x = maska.x;
cont.y = maska.y;
orientation = _arg3;
if (orientation == "-"){
maska.addEventListener("enterFrame", onHoriz);
};
if (orientation == "|"){
maska.addEventListener("enterFrame", onVert);
};
}
public function begin():void{
if (orientation == "-"){
cont.x = maska.x;
};
if (orientation == "|"){
cont.y = maska.y;
};
}
private function onHoriz(_arg1):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
if (maska.width >= cont.width){
return;
};
_local2 = (cont.width - maska.width);
_local3 = (maska.width - (paragraph * 2));
_local4 = (mouse.mouseX - paragraph);
if ((((mouse.mouseY > 0)) && ((mouse.mouseY < maska.height)))){
if ((((mouse.mouseX > paragraph)) && ((mouse.mouseX < (maska.width - paragraph))))){
_local5 = (-(((_local2 / _local3) * _local4)) + maska.x);
cont.x = (cont.x + ((_local5 - cont.x) / (50 / speed)));
} else {
if (mouse.mouseX <= paragraph){
cont.x = (cont.x + ((maska.x - cont.x) / (50 / speed)));
} else {
cont.x = (cont.x + (((maska.x - _local2) - cont.x) / (50 / speed)));
};
};
};
}
private function onVert(_arg1):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
if (maska.height >= cont.height){
return;
};
_local2 = (cont.height - maska.height);
_local3 = (maska.height - (paragraph * 2));
_local4 = (mouse.mouseY - paragraph);
if ((((mouse.mouseX > 0)) && ((mouse.mouseX < maska.width)))){
if ((((mouse.mouseY > paragraph)) && ((mouse.mouseY < (maska.height - paragraph))))){
_local5 = (-(((_local2 / _local3) * _local4)) + maska.y);
cont.y = (cont.y + ((_local5 - cont.y) / (50 / speed)));
} else {
if (mouse.mouseY <= paragraph){
cont.y = (cont.y + ((maska.y - cont.y) / (50 / speed)));
} else {
cont.y = (cont.y + (((maska.y - _local2) - cont.y) / (50 / speed)));
};
};
};
}
public function end():void{
if ((((orientation == "-")) && ((maska.width < cont.width)))){
cont.x = ((maska.x + maska.width) - cont.width);
};
if ((((orientation == "|")) && ((maska.height < cont.height)))){
cont.y = ((maska.y + maska.height) - cont.height);
};
}
}
}//package
Section 21
//cauldron (cauldron)
package {
import flash.display.*;
public dynamic class cauldron extends BitmapData {
public function cauldron(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 22
//cauldron_pitchfork (cauldron_pitchfork)
package {
import flash.display.*;
public dynamic class cauldron_pitchfork extends BitmapData {
public function cauldron_pitchfork(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 23
//cauldron_pitchfork_cupBeer (cauldron_pitchfork_cupBeer)
package {
import flash.display.*;
public dynamic class cauldron_pitchfork_cupBeer extends BitmapData {
public function cauldron_pitchfork_cupBeer(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 24
//chain (chain)
package {
import flash.display.*;
public dynamic class chain extends BitmapData {
public function chain(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 25
//clover (clover)
package {
import flash.display.*;
public dynamic class clover extends BitmapData {
public function clover(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 26
//cup (cup)
package {
import flash.display.*;
public dynamic class cup extends BitmapData {
public function cup(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 27
//cup_beer (cup_beer)
package {
import flash.display.*;
public dynamic class cup_beer extends BitmapData {
public function cup_beer(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 28
//Game (Game)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class Game {
public static var onLoadProgress:Function;
public static var logoURL:String = "";
public static var width:Number = 640;
public static var sitelocked:Boolean = false;
public static var sitename:String = "stoneagegames.com";
public static var bytesTotal:Number = 0;
public static var MENU:String = "menu";
public static var height:Number = 480;
public static var helpURL:String = "";
public static var GAME:String = "game";
public static var links:Boolean = true;
public static var END:String = "end";
public static function linkBtn(_arg1:MovieClip, _arg2:String):void{
var btn = _arg1;
var link = _arg2;
simpleBtn(btn, function ():void{
if (links){
navigateToURL(new URLRequest(link), "_blank");
};
});
}
public static function update():void{
MainGame.inst.update();
}
public static function addViewHit(_arg1:MovieClip, _arg2:MovieClip):void{
new ViewHit(_arg1, _arg2);
}
public static function useBtn(_arg1:MovieClip, _arg2:String, _arg3:Function=null):void{
var btn = _arg1;
var name = _arg2;
var onClick = _arg3;
simpleBtn(btn, function ():void{
if (Inventory.picked == name){
if (Boolean(onClick)){
onClick();
};
Inventory.removeItem(name);
};
});
}
public static function getView(_arg1:int):MovieClip{
_arg1--;
return ((GameView.views[_arg1] as MovieClip));
}
public static function addView(_arg1:MovieClip, _arg2:Object):void{
new GameView(_arg1, _arg2);
}
public static function simpleBtn(_arg1:MovieClip, _arg2:Function):void{
var btn = _arg1;
var onClick = _arg2;
btn.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){
onClick();
});
}
public static function grabBtn(_arg1:MovieClip, _arg2:String, _arg3:Function=null):void{
var btn = _arg1;
var name = _arg2;
var onClick = _arg3;
simpleBtn(btn, function ():void{
if (Boolean(onClick)){
onClick();
};
btn.visible = false;
Inventory.addItem(name);
});
}
public static function gotoMenu():void{
MainGame.inst.goto(MENU);
}
public static function gotoGame():void{
MainGame.inst.goto(GAME);
}
public static function gotoEnd():void{
MainGame.inst.goto(END);
}
}
}//package
Section 29
//GameController (GameController)
package {
import flash.display.*;
public class GameController extends MovieClip {
public var view_09:MovieClip;
public var view_02:MovieClip;
public var view_11:MovieClip;
public var view_jigsaw:MovieClip;
public var view_00:MovieClip;
public var view_01:MovieClip;
public var view_03:MovieClip;
public var view_04:MovieClip;
public var view_06:MovieClip;
public var view_07:MovieClip;
public var view_05:MovieClip;
public var view_08:MovieClip;
public var view_10:MovieClip;
public function GameController(){
addFrameScript(0, frame1);
}
function frame1(){
Inventory.addCombination("cauldron_pitchfork", ["cauldron", "pitchfork"]);
Inventory.addCombination("cauldron_pitchfork_cupBeer", ["cauldron_pitchfork", "cup_beer"]);
Inventory.addCombination("rope_hook", ["rope", "hook"]);
Game.addView(view_00, {left:view_07, right:view_01, back:view_09});
Game.addView(view_01, {left:view_00, right:view_02, back:view_09});
Game.addView(view_02, {left:view_01, right:view_03, back:view_09});
Game.addView(view_03, {left:view_02, right:view_04, back:view_09});
Game.addView(view_04, {left:view_03, right:view_05, back:view_09});
Game.addView(view_05, {left:view_04, right:view_06, back:view_09});
Game.addView(view_06, {left:view_05, right:view_07, back:view_09});
Game.addView(view_07, {left:view_06, right:view_00, back:view_09});
Game.addView(view_08, {left:null, right:null, back:view_07});
Game.addView(view_09, {left:null, right:null, back:null, save:"back-back"});
Game.addView(view_10, {left:null, right:null, back:view_04});
Game.addView(view_11, {left:null, right:null, back:view_00});
Game.addView(view_jigsaw, {left:null, right:null, back:view_01});
view_00.visible = true;
}
}
}//package
Section 30
//GameView (GameView)
package {
import flash.display.*;
public class GameView {
public var view:MovieClip;
public var left:MovieClip;
public var back:MovieClip;
public var right:MovieClip;
public var save:String;
public static const sp:String = "-";
public static var views:Array = [];
public function GameView(_arg1:MovieClip, _arg2:Object){
view = _arg1;
views.push(view);
view.owner = this;
back = _arg2.back;
right = _arg2.right;
left = _arg2.left;
save = (_arg2.save) ? _arg2.save : "";
init();
}
private function addButton(_arg1:String):void{
var btn:ViewButton;
var orient = _arg1;
btn = new ViewButton(orient, this);
btn.onClick = function (){
var _local1:GameView;
btn.owner.view.visible = false;
_local1 = btn.owner[btn.orientation].owner;
if (_local1.save != ""){
if (_local1.save.split(sp)[0] == orient){
_local1[_local1.save.split(sp)[1]] = view;
};
};
btn.owner[btn.orientation].visible = true;
};
view.addChild(btn);
}
private function init(){
if (save != ""){
if ((((save.split(sp)[1] == ViewButton.BACK)) && (!(back)))){
back = new MovieClip();
};
if ((((save.split(sp)[1] == ViewButton.RIGHT)) && (!(right)))){
right = new MovieClip();
};
if ((((save.split(sp)[1] == ViewButton.LEFT)) && (!(left)))){
left = new MovieClip();
};
};
view.stop();
view.buttonMode = true;
view.visible = false;
addButton(ViewButton.BACK);
addButton(ViewButton.RIGHT);
addButton(ViewButton.LEFT);
}
}
}//package
Section 31
//HelpButton (HelpButton)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class HelpButton extends MovieClip {
public var hit:MovieClip;
public function HelpButton(){
addFrameScript(0, frame1, 1, frame2, 9, frame10, 10, frame11);
init();
}
public function init():void{
hitArea = hit;
addEventListener(MouseEvent.CLICK, onClick);
buttonMode = true;
mouseChildren = false;
visible = Game.links;
}
function frame10(){
stop();
}
function frame1(){
stop();
}
function frame2(){
play();
}
function frame11(){
play();
}
private function onClick(_arg1:MouseEvent):void{
if (((!((Game.helpURL == ""))) && (Game.links))){
navigateToURL(new URLRequest(Game.helpURL), "_blank");
};
}
}
}//package
Section 32
//hook (hook)
package {
import flash.display.*;
public dynamic class hook extends BitmapData {
public function hook(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 33
//Inventory (Inventory)
package {
import flash.display.*;
import flash.events.*;
public class Inventory extends MovieClip {
public var maska:MovieClip;
public var bg:MovieClip;
public var container:MovieClip;
private var scroller:BackScroller;
private var items:Array;
public static const PICKED:String = "picked";
public static const PICK:String = "pick";
public static var inst:Inventory;
public static var clicked:String;
public static var picked:String;
private static var pickedIcon:InventoryIcon;
public function Inventory(){
items = new Array();
super();
inst = this;
init();
bg.buttonMode = true;
}
private function init(){
scroller = new BackScroller(container, maska, BackScroller.HORIZONTAL);
scroller.paragraph = 100;
}
private function reposit():void{
var _local1:int;
var _local2:InventoryIcon;
_local1 = 0;
while (_local1 < items.length) {
_local2 = items[_local1];
_local2.id = _local1;
_local2.x = ((_local2.width + 15) * _local1);
_local1++;
};
}
private function onPicked(_arg1:Event):void{
clicked = InventoryIcon(_arg1.target).source;
dispatchEvent(new Event(PICK));
pickItem(InventoryIcon(_arg1.target));
dispatchEvent(new Event(PICKED));
}
private function getItemBySource(_arg1:String):InventoryIcon{
var _local2:InventoryIcon;
var _local3:int;
_local3 = 0;
while (_local3 < items.length) {
if (_arg1 == items[_local3].source){
_local2 = items[_local3];
break;
};
_local3++;
};
return (_local2);
}
private function pickItem(_arg1:InventoryIcon):void{
trace(_arg1.source);
if (pickedIcon){
pickedIcon.mouseEnabled = true;
if (pickedIcon.currentLabel == "over"){
pickedIcon.gotoAndPlay("up_");
} else {
pickedIcon.gotoAndStop("out");
};
};
pickedIcon = _arg1;
pickedIcon.mouseEnabled = false;
picked = pickedIcon.source;
if (pickedIcon.currentLabel != "over"){
pickedIcon.gotoAndPlay("over_");
};
}
private function isExist(_arg1:String):Boolean{
var _local2:Boolean;
_local2 = false;
if (getItemBySource(_arg1)){
_local2 = true;
};
return (_local2);
}
public static function addItem(_arg1:String):void{
var _local2:InventoryIcon;
_local2 = new InventoryIcon(_arg1);
if (inst.isExist(_arg1)){
return;
};
_local2.addEventListener(InventoryIcon.PICK, inst.onPicked);
inst.items.push(_local2);
inst.container.addChild(_local2);
inst.pickItem(_local2);
inst.reposit();
inst.scroller.end();
}
public static function removeItem(_arg1:String):void{
var _local2:InventoryIcon;
var _local3:int;
_local2 = inst.getItemBySource(_arg1);
if (!inst.isExist(_arg1)){
return;
};
_local3 = -1;
if (inst.items[(_local2.id + 1)]){
_local3 = (_local2.id + 1);
} else {
if (inst.items[(_local2.id - 1)]){
_local3 = (_local2.id - 1);
} else {
picked = "";
};
};
if (((!((_arg1 == picked))) || ((picked == "")))){
_local3 = -1;
};
if (_local3 != -1){
inst.pickItem(inst.items[_local3]);
};
inst.items.splice(_local2.id, 1);
inst.container.removeChild(_local2);
inst.reposit();
inst.scroller.begin();
}
public static function addCombination(_arg1:String, _arg2:Array):void{
new InventoryCombination(_arg1, _arg2);
}
}
}//package
Section 34
//InventoryCombination (InventoryCombination)
package {
import flash.events.*;
public class InventoryCombination {
public var items:Array;
public var icon:String;
public function InventoryCombination(_arg1:String, _arg2:Array){
items = _arg2;
icon = _arg1;
init();
}
private function init():void{
Inventory.inst.addEventListener(Inventory.PICK, itemsClick);
Inventory.inst.addEventListener(Inventory.PICKED, itemsPicked);
}
private function itemsClick(_arg1:Event):void{
var _local2:int;
var _local3:int;
_local2 = 0;
while (_local2 < items.length) {
if (Inventory.picked == items[_local2]){
_local3 = 0;
while (_local3 < items.length) {
if (Inventory.clicked == items[_local3]){
items.splice(_local2, 1);
Inventory.removeItem(Inventory.picked);
};
_local3++;
};
break;
};
_local2++;
};
}
private function itemsPicked(_arg1:Event):void{
if (items.length == 1){
Inventory.removeItem(items[0]);
Inventory.addItem(icon);
items = [];
};
}
}
}//package
Section 35
//InventoryIcon (InventoryIcon)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class InventoryIcon extends MovieClip {
public var active:Boolean;// = true
public var source:String;// = ""
public var id:int;
public var hit:MovieClip;
public var img:MovieClip;
public static const PICK:String = "pick";
public function InventoryIcon(_arg1:String=""){
source = "";
active = true;
super();
addFrameScript(0, frame1, 1, frame2, 9, frame10, 10, frame11);
buttonMode = true;
if (_arg1 == ""){
return;
};
source = _arg1;
init();
}
private function init():void{
var _local1:Object;
var _local2:BitmapData;
var _local3:Bitmap;
hitArea = hit;
mouseChildren = false;
addEventListener(MouseEvent.CLICK, onClick);
addEventListener(MouseEvent.ROLL_OUT, onReact);
addEventListener(MouseEvent.ROLL_OVER, onReact);
if (source == ""){
return;
};
_local1 = getDefinitionByName(source);
_local2 = new _local1(0, 0);
_local3 = (img.addChild(new Bitmap(_local2)) as Bitmap);
}
function frame10(){
stop();
}
function frame1(){
stop();
}
function frame2(){
play();
}
function frame11(){
play();
if (!active){
gotoAndStop("_over");
};
}
override public function set mouseEnabled(_arg1:Boolean):void{
if (_arg1){
active = true;
mouseChildren = false;
} else {
active = false;
mouseChildren = true;
};
super.mouseEnabled = _arg1;
}
private function onReact(_arg1:MouseEvent):void{
if (active){
if (_arg1.type == MouseEvent.ROLL_OVER){
gotoAndPlay("over_");
};
};
if (active){
if (_arg1.type == MouseEvent.ROLL_OUT){
gotoAndPlay("up_");
};
};
}
private function onClick(_arg1:MouseEvent):void{
if (active){
dispatchEvent(new Event(PICK));
};
gotoAndStop("over");
}
}
}//package
Section 36
//JigsawBttn (JigsawBttn)
package {
import flash.display.*;
import flash.events.*;
public class JigsawBttn extends MovieClip {
public var activated:Boolean;// = false
public var thisbttn;
public function JigsawBttn(){
activated = false;
super();
addFrameScript(0, frame1, 1, frame2);
thisbttn = this;
addEventListener(MouseEvent.CLICK, clickListener);
}
public function clickListener(_arg1:MouseEvent):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:Number;
var _local8:*;
var _local9:Number;
var _local10:*;
var _local11:Number;
var _local12:Number;
trace(("Нажата кнопка " + thisbttn.name));
_local2 = thisbttn.parent;
trace(_local2.parent.parent);
_local3 = _local2.parent.parent.getChildByName("view_03");
trace(_local3);
_local4 = _local2.jigsawComplete;
if (!_local4){
_local5 = _local2.goodList;
_local6 = false;
_local7 = 0;
while (_local7 < _local5.length) {
if (_local5[_local7] == thisbttn.name){
_local6 = true;
thisbttn.activated = true;
thisbttn.gotoAndStop(2);
_local8 = true;
_local9 = 0;
while (_local9 < _local5.length) {
_local10 = _local2.getChildByName(_local5[_local9]);
if (_local10.activated != true){
_local8 = false;
};
_local9++;
};
if (_local8 == true){
trace("Загадка разгадана!");
_local11 = 1;
while (_local11 < _local2.numChildren) {
_local10 = _local2.getChildAt(_local11);
_local10.activated = false;
_local2.jigsawComplete = true;
_local11++;
};
_local3.closeTrap();
};
break;
};
_local7++;
};
if (_local6 == false){
trace("Неправильная кнопка");
_local12 = 1;
while (_local12 < _local2.numChildren) {
_local10 = _local2.getChildAt(_local12);
_local10.activated = false;
_local10.gotoAndStop(1);
_local12++;
};
};
};
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 37
//LogoButton (LogoButton)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class LogoButton extends MovieClip {
public var hit:MovieClip;
public function LogoButton(){
addFrameScript(0, frame1, 1, frame2, 9, frame10, 10, frame11);
init();
}
public function init():void{
hitArea = hit;
buttonMode = true;
mouseChildren = false;
addEventListener(MouseEvent.CLICK, onClick);
}
function frame10(){
stop();
}
function frame1(){
stop();
}
function frame2(){
play();
}
function frame11(){
play();
}
private function onClick(_arg1:MouseEvent):void{
if (((!((Game.logoURL == ""))) && (Game.links))){
navigateToURL(new URLRequest(Game.logoURL), "_blank");
};
}
}
}//package
Section 38
//MainGame (MainGame)
package {
import flash.display.*;
public class MainGame extends MovieClip {
public var preloader:MovieClip;
public var main:MovieClip;
public static var inst:MainGame;
public function MainGame(){
super();
addFrameScript(0, frame1, 1, frame2);
inst = this;
loaderInfo.addEventListener("progress", function (_arg1){
var _local2:int;
_local2 = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100);
if (Game.bytesTotal > 0){
_local2 = ((_arg1.bytesLoaded / Game.bytesTotal) * 100);
};
if (Game.onLoadProgress != null){
Game.onLoadProgress(_local2);
};
});
}
public function goto(_arg1:String):void{
if (main){
main.gotoAndStop(_arg1);
};
}
function frame1(){
Game.helpURL = "http://www.stoneagegames.com/games/1940";
Game.logoURL = "http://www.stoneagegames.com";
Game.onLoadProgress = function (_arg1:Number):void{
preloader.preloader_mc.gotoAndStop(_arg1);
};
Game.update();
stop();
}
function frame2(){
stop();
}
private function allIn(_arg1:DisplayObjectContainer, _arg2, _arg3:Function){
var _local4:int;
var _local5:*;
_local4 = 0;
while (_local4 < _arg1.numChildren) {
_local5 = _arg1.getChildAt(_local4);
if ((_local5 is _arg2)){
_arg3(_local5);
};
if ((_local5 is DisplayObjectContainer)){
allIn(_local5, _arg2, _arg3);
};
_local4++;
};
}
public function update():void{
allIn(this, Sprite, function (_arg1:Sprite):void{
_arg1.tabEnabled = false;
});
if (Game.sitelocked){
if (loaderInfo.url.indexOf(Game.sitename) == -1){
visible = false;
};
};
}
}
}//package
Section 39
//pitchfork (pitchfork)
package {
import flash.display.*;
public dynamic class pitchfork extends BitmapData {
public function pitchfork(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 40
//PlayButton (PlayButton)
package {
import flash.display.*;
import flash.events.*;
public class PlayButton extends MovieClip {
public var hit:MovieClip;
public function PlayButton(){
addFrameScript(0, frame1, 1, frame2, 9, frame10, 10, frame11);
init();
}
public function init():void{
hitArea = hit;
addEventListener(MouseEvent.CLICK, onClick);
buttonMode = true;
mouseChildren = false;
}
function frame10(){
stop();
}
function frame1(){
stop();
}
function frame2(){
play();
}
function frame11(){
play();
}
private function onClick(_arg1:MouseEvent):void{
Game.gotoGame();
}
}
}//package
Section 41
//puzzle1 (puzzle1)
package {
import flash.display.*;
public dynamic class puzzle1 extends BitmapData {
public function puzzle1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 42
//puzzle2 (puzzle2)
package {
import flash.display.*;
public dynamic class puzzle2 extends BitmapData {
public function puzzle2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 43
//rope (rope)
package {
import flash.display.*;
public dynamic class rope extends BitmapData {
public function rope(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 44
//rope_hook (rope_hook)
package {
import flash.display.*;
public dynamic class rope_hook extends BitmapData {
public function rope_hook(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 45
//spade (spade)
package {
import flash.display.*;
public dynamic class spade extends BitmapData {
public function spade(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 46
//torchFire (torchFire)
package {
import flash.display.*;
public dynamic class torchFire extends BitmapData {
public function torchFire(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 47
//wheel (wheel)
package {
import flash.display.*;
public dynamic class wheel extends BitmapData {
public function wheel(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 48
//ViewButton (ViewButton)
package {
import flash.display.*;
import flash.events.*;
public class ViewButton extends MovieClip {
public var hit:MovieClip;
public var owner:GameView;
public var orientation:String;
public var onClick:Function;
public static const BACK:String = "back";
public static const LEFT:String = "left";
public static const RIGHT:String = "right";
public function ViewButton(_arg1="back", _arg2:GameView=null){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
orientation = _arg1;
owner = _arg2;
init();
}
private function init():void{
buttonMode = true;
mouseChildren = false;
tabEnabled = false;
hitArea = hit;
height = Game.height;
if (orientation == BACK){
y = Game.height;
rotation = -90;
height = Game.width;
} else {
if (orientation == RIGHT){
x = (Game.width - width);
} else {
if (orientation == LEFT){
};
};
};
if (owner){
if (!owner[orientation]){
visible = false;
};
};
addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){
if (Boolean(onClick)){
onClick();
};
});
}
function frame1(){
stop();
}
function frame3(){
stop();
}
function frame4(){
play();
}
function frame2(){
play();
}
}
}//package
Section 49
//ViewHit (ViewHit)
package {
import flash.display.*;
import flash.events.*;
public class ViewHit {
public function ViewHit(_arg1:MovieClip, _arg2:MovieClip){
var hit = _arg1;
var view = _arg2;
super();
hit.buttonMode = true;
hit.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent):void{
var _local2:MovieClip;
var _local3:MovieClip;
_local3 = (hit.parent as MovieClip);
while (!(_local2)) {
if ((_local3.parent is GameController)){
_local2 = _local3;
} else {
_local3 = (_local3.parent as MovieClip);
};
};
_local2.visible = false;
view.visible = true;
});
}
}
}//package