Section 1
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public static function decode(_arg1:String){
var _local2:JSONDecoder;
_local2 = new JSONDecoder(_arg1);
return (_local2.getValue());
}
public static function encode(_arg1:Object):String{
var _local2:JSONEncoder;
_local2 = new JSONEncoder(_arg1);
return (_local2.getString());
}
}
}//package com.adobe.serialization.json
Section 2
//JSONDecoder (com.adobe.serialization.json.JSONDecoder)
package com.adobe.serialization.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(_arg1:String){
tokenizer = new JSONTokenizer(_arg1);
nextToken();
value = parseValue();
}
private function nextToken():JSONToken{
return ((token = tokenizer.getNextToken()));
}
private function parseObject():Object{
var _local1:Object;
var _local2:String;
_local1 = new Object();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
while (true) {
if (token.type == JSONTokenType.STRING){
_local2 = String(token.value);
nextToken();
if (token.type == JSONTokenType.COLON){
nextToken();
_local1[_local2] = parseValue();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting } or , but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting : but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting string but found " + token.value));
};
};
return (null);
}
private function parseArray():Array{
var _local1:Array;
_local1 = new Array();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
while (true) {
_local1.push(parseValue());
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting ] or , but found " + token.value));
};
};
return (null);
}
public function getValue(){
return (value);
}
private function parseValue():Object{
switch (token.type){
case JSONTokenType.LEFT_BRACE:
return (parseObject());
case JSONTokenType.LEFT_BRACKET:
return (parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (token.value);
default:
tokenizer.parseError(("Unexpected " + token.value));
};
return (null);
}
}
}//package com.adobe.serialization.json
Section 3
//JSONEncoder (com.adobe.serialization.json.JSONEncoder)
package com.adobe.serialization.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(_arg1){
jsonString = convertToString(_arg1);
}
private function arrayToString(_arg1:Array):String{
var _local2:String;
var _local3:int;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
if (_local2.length > 0){
_local2 = (_local2 + ",");
};
_local2 = (_local2 + convertToString(_arg1[_local3]));
_local3++;
};
return ((("[" + _local2) + "]"));
}
private function convertToString(_arg1):String{
if ((_arg1 is String)){
return (escapeString((_arg1 as String)));
};
if ((_arg1 is Number)){
return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null");
} else {
if ((_arg1 is Boolean)){
return ((_arg1) ? "true" : "false");
} else {
if ((_arg1 is Array)){
return (arrayToString((_arg1 as Array)));
};
if ((((_arg1 is Object)) && (!((_arg1 == null))))){
return (objectToString(_arg1));
};
};
};
return ("null");
}
private function escapeString(_arg1:String):String{
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:int;
var _local6:String;
var _local7:String;
_local2 = "";
_local4 = _arg1.length;
_local5 = 0;
while (_local5 < _local4) {
_local3 = _arg1.charAt(_local5);
switch (_local3){
case "\"":
_local2 = (_local2 + "\\\"");
break;
case "\\":
_local2 = (_local2 + "\\\\");
break;
case "\b":
_local2 = (_local2 + "\\b");
break;
case "\f":
_local2 = (_local2 + "\\f");
break;
case "\n":
_local2 = (_local2 + "\\n");
break;
case "\r":
_local2 = (_local2 + "\\r");
break;
case "\t":
_local2 = (_local2 + "\\t");
break;
default:
if (_local3 < " "){
_local6 = _local3.charCodeAt(0).toString(16);
_local7 = ((_local6.length == 2)) ? "00" : "000";
_local2 = (_local2 + (("\\u" + _local7) + _local6));
} else {
_local2 = (_local2 + _local3);
};
};
_local5++;
};
return ((("\"" + _local2) + "\""));
}
private function objectToString(_arg1:Object):String{
var s:String;
var classInfo:XML;
var value:Object;
var key:String;
var v:XML;
var o = _arg1;
s = "";
classInfo = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(key) + ":") + convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
public function getString():String{
return (jsonString);
}
}
}//package com.adobe.serialization.json
Section 4
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _text:String;
private var _location:int;
public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){
super(_arg1);
_location = _arg2;
_text = _arg3;
}
public function get text():String{
return (_text);
}
public function get location():int{
return (_location);
}
}
}//package com.adobe.serialization.json
Section 5
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _value:Object;
private var _type:int;
public function JSONToken(_arg1:int=-1, _arg2:Object=null){
_type = _arg1;
_value = _arg2;
}
public function set value(_arg1:Object):void{
_value = _arg1;
}
public function get value():Object{
return (_value);
}
public function set type(_arg1:int):void{
_type = _arg1;
}
public function get type():int{
return (_type);
}
}
}//package com.adobe.serialization.json
Section 6
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var loc:int;
private var ch:String;
private var obj:Object;
private var jsonString:String;
public function JSONTokenizer(_arg1:String){
jsonString = _arg1;
loc = 0;
nextChar();
}
private function skipComments():void{
if (ch == "/"){
nextChar();
switch (ch){
case "/":
do {
nextChar();
} while (((!((ch == "\n"))) && (!((ch == "")))));
nextChar();
break;
case "*":
nextChar();
while (true) {
if (ch == "*"){
nextChar();
if (ch == "/"){
nextChar();
break;
};
} else {
nextChar();
};
if (ch == ""){
parseError("Multi-line comment not closed");
};
};
break;
default:
parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function isDigit(_arg1:String):Boolean{
return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
}
private function readNumber():JSONToken{
var _local1:JSONToken;
var _local2:String;
var _local3:Number;
_local1 = new JSONToken();
_local1.type = JSONTokenType.NUMBER;
_local2 = "";
if (ch == "-"){
_local2 = (_local2 + "-");
nextChar();
};
if (!isDigit(ch)){
parseError("Expecting a digit");
};
if (ch == "0"){
_local2 = (_local2 + ch);
nextChar();
if (isDigit(ch)){
parseError("A digit cannot immediately follow 0");
};
} else {
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
if (ch == "."){
_local2 = (_local2 + ".");
nextChar();
if (!isDigit(ch)){
parseError("Expecting a digit");
};
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
if ((((ch == "e")) || ((ch == "E")))){
_local2 = (_local2 + "e");
nextChar();
if ((((ch == "+")) || ((ch == "-")))){
_local2 = (_local2 + ch);
nextChar();
};
if (!isDigit(ch)){
parseError("Scientific notation number needs exponent value");
};
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
_local3 = Number(_local2);
if (((isFinite(_local3)) && (!(isNaN(_local3))))){
_local1.value = _local3;
return (_local1);
};
parseError((("Number " + _local3) + " is not valid!"));
return (null);
}
private function nextChar():String{
return ((ch = jsonString.charAt(loc++)));
}
public function getNextToken():JSONToken{
var _local1:JSONToken;
var _local2:String;
var _local3:String;
var _local4:String;
_local1 = new JSONToken();
skipIgnored();
switch (ch){
case "{":
_local1.type = JSONTokenType.LEFT_BRACE;
_local1.value = "{";
nextChar();
break;
case "}":
_local1.type = JSONTokenType.RIGHT_BRACE;
_local1.value = "}";
nextChar();
break;
case "[":
_local1.type = JSONTokenType.LEFT_BRACKET;
_local1.value = "[";
nextChar();
break;
case "]":
_local1.type = JSONTokenType.RIGHT_BRACKET;
_local1.value = "]";
nextChar();
break;
case ",":
_local1.type = JSONTokenType.COMMA;
_local1.value = ",";
nextChar();
break;
case ":":
_local1.type = JSONTokenType.COLON;
_local1.value = ":";
nextChar();
break;
case "t":
_local2 = ((("t" + nextChar()) + nextChar()) + nextChar());
if (_local2 == "true"){
_local1.type = JSONTokenType.TRUE;
_local1.value = true;
nextChar();
} else {
parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar());
if (_local3 == "false"){
_local1.type = JSONTokenType.FALSE;
_local1.value = false;
nextChar();
} else {
parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + nextChar()) + nextChar()) + nextChar());
if (_local4 == "null"){
_local1.type = JSONTokenType.NULL;
_local1.value = null;
nextChar();
} else {
parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
_local1 = readString();
break;
default:
if (((isDigit(ch)) || ((ch == "-")))){
_local1 = readNumber();
} else {
if (ch == ""){
return (null);
};
parseError((("Unexpected " + ch) + " encountered"));
};
};
return (_local1);
}
private function skipWhite():void{
while (isWhiteSpace(ch)) {
nextChar();
};
}
private function isWhiteSpace(_arg1:String):Boolean{
return ((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n"))));
}
public function parseError(_arg1:String):void{
throw (new JSONParseError(_arg1, loc, jsonString));
}
private function skipIgnored():void{
skipWhite();
skipComments();
skipWhite();
}
private function isHexDigit(_arg1:String):Boolean{
var _local2:String;
_local2 = _arg1.toUpperCase();
return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
}
private function readString():JSONToken{
var _local1:JSONToken;
var _local2:String;
var _local3:String;
var _local4:int;
_local1 = new JSONToken();
_local1.type = JSONTokenType.STRING;
_local2 = "";
nextChar();
while (((!((ch == "\""))) && (!((ch == ""))))) {
if (ch == "\\"){
nextChar();
switch (ch){
case "\"":
_local2 = (_local2 + "\"");
break;
case "/":
_local2 = (_local2 + "/");
break;
case "\\":
_local2 = (_local2 + "\\");
break;
case "b":
_local2 = (_local2 + "\b");
break;
case "f":
_local2 = (_local2 + "\f");
break;
case "n":
_local2 = (_local2 + "\n");
break;
case "r":
_local2 = (_local2 + "\r");
break;
case "t":
_local2 = (_local2 + "\t");
break;
case "u":
_local3 = "";
_local4 = 0;
while (_local4 < 4) {
if (!isHexDigit(nextChar())){
parseError((" Excepted a hex digit, but found: " + ch));
};
_local3 = (_local3 + ch);
_local4++;
};
_local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16)));
break;
default:
_local2 = (_local2 + ("\\" + ch));
};
} else {
_local2 = (_local2 + ch);
};
nextChar();
};
if (ch == ""){
parseError("Unterminated string literal");
};
nextChar();
_local1.value = _local2;
return (_local1);
}
}
}//package com.adobe.serialization.json
Section 7
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const NUMBER:int = 11;
public static const FALSE:int = 8;
public static const RIGHT_BRACKET:int = 4;
public static const NULL:int = 9;
public static const TRUE:int = 7;
public static const RIGHT_BRACE:int = 2;
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACKET:int = 3;
public static const STRING:int = 10;
public static const LEFT_BRACE:int = 1;
public static const COLON:int = 6;
}
}//package com.adobe.serialization.json
Section 8
//bordeespecial (gemsdistribucion.bordeespecial)
package gemsdistribucion {
import flash.display.*;
public class bordeespecial extends MovieClip {
public var esqEspArrIzq:MovieClip;
public var esqEspAbaDer:MovieClip;
var posI;
var posJ;
var w;// = 35
var h;// = 35
public var esqEspAbaIzq:MovieClip;
public var esqEspArrDer:MovieClip;
public function bordeespecial(_arg1, _arg2, _arg3, _arg4){
w = 35;
h = 35;
super();
posI = _arg1;
posJ = _arg2;
x = _arg3;
y = _arg4;
}
}
}//package gemsdistribucion
Section 9
//candado (gemsdistribucion.candado)
package gemsdistribucion {
import flash.display.*;
public class candado extends MovieClip {
var posI;
var posJ;
var w;// = 35
var h;// = 35
public function candado(_arg1, _arg2, _arg3, _arg4){
w = 35;
h = 35;
super();
addFrameScript(0, frame1);
posI = _arg1;
posJ = _arg2;
x = _arg3;
y = _arg4;
}
function frame1(){
stop();
}
}
}//package gemsdistribucion
Section 10
//fondogema (gemsdistribucion.fondogema)
package gemsdistribucion {
import flash.display.*;
public class fondogema extends MovieClip {
public var bordeArriba:MovieClip;
public var esquinaArribaDerecha:MovieClip;
public var bordeAbajo:MovieClip;
var posI;
var posJ;
var w;// = 35
public var bordeIzquierda:MovieClip;
var h;// = 35
public var esquinaAbajoDerecha:MovieClip;
public var esquinaArribaIzquierda:MovieClip;
public var esquinaAbajoIzquierda:MovieClip;
public var bordeDerecha:MovieClip;
public function fondogema(_arg1, _arg2, _arg3, _arg4){
w = 35;
h = 35;
super();
addFrameScript(0, frame1);
posI = _arg1;
posJ = _arg2;
x = _arg3;
y = _arg4;
}
function frame1(){
stop();
}
}
}//package gemsdistribucion
Section 11
//fondogemamascara (gemsdistribucion.fondogemamascara)
package gemsdistribucion {
import flash.display.*;
public class fondogemamascara extends MovieClip {
var posI;
var posJ;
var w;// = 35
var h;// = 35
public function fondogemamascara(_arg1, _arg2, _arg3, _arg4){
w = 35;
h = 35;
super();
posI = _arg1;
posJ = _arg2;
x = _arg3;
y = _arg4;
}
}
}//package gemsdistribucion
Section 12
//FX (gemsdistribucion.FX)
package gemsdistribucion {
import flash.events.*;
import flash.utils.*;
import flash.media.*;
public class FX {
var finMusica1Id;
var tiempo_bucle:Timer;
var finMusica2Id;
var sonido;
var varMusica1;
var varMusica2;
var MiRef;
var controlMusica1:SoundChannel;
var controlMusica2:SoundChannel;
var controlsonido:SoundChannel;
public function FX(_arg1, _arg2){
var _local3:SoundTransform;
super();
MiRef = _arg1;
switch (_arg2){
case "coger":
sonido = new coger();
break;
case "completada":
sonido = new completada();
break;
case "comprado":
sonido = new comprado();
break;
case "fallo":
sonido = new fallo();
break;
case "magia":
sonido = new magia();
break;
case "martillo":
sonido = new martillo();
break;
case "sonido_normal":
sonido = new rompo_normal();
break;
case "sonido2":
sonido = new rompo_casilla();
break;
case "pierdes":
sonido = new pierdes();
break;
case "musica1":
varMusica1 = new musica();
break;
case "musica2":
varMusica2 = new musica();
break;
};
if (((!((_arg2 == "musica1"))) && (!((_arg2 == "musica2"))))){
controlsonido = sonido.play(0, 1, null);
_local3 = controlsonido.soundTransform;
if (_arg2 == "martillo"){
_local3.volume = (Math.round(((MiRef.volu_Fx * 0.4) * Math.pow(0.7, MiRef.sonidoControl))) / 100);
} else {
if (_arg2 == "coger"){
_local3.volume = (Math.round((MiRef.volu_Fx * 0.6)) / 100);
} else {
_local3.volume = (Math.round((MiRef.volu_Fx * 0.8)) / 100);
};
};
controlsonido.soundTransform = _local3;
controlsonido.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler, false, 0, true);
};
if (_arg2 == "musica1"){
controlMusica1 = varMusica1.play(0, 1, null);
_local3 = controlMusica1.soundTransform;
_local3.volume = (MiRef.volu_Fx / 100);
controlMusica1.soundTransform = _local3;
controlMusica1.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandlerMu1, false, 0, true);
if (finMusica1Id != undefined){
clearInterval(finMusica1Id);
};
finMusica1Id = setInterval(cambiarVolumen, 200, 1);
};
if (_arg2 == "musica2"){
controlMusica2 = varMusica2.play(0, 1, null);
_local3 = controlMusica2.soundTransform;
_local3.volume = (MiRef.volu_Fx / 100);
controlMusica2.soundTransform = _local3;
controlMusica2.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandlerMu2, false, 0, true);
if (finMusica2Id != undefined){
clearInterval(finMusica2Id);
};
finMusica2Id = setInterval(cambiarVolumen, 200, 2);
};
}
private function soundCompleteHandler(_arg1:Event):void{
controlsonido.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
controlsonido = null;
}
private function cambiarVolumen(_arg1:int):void{
var _local2:SoundTransform;
if (_arg1 == 1){
if ((((MiRef.volu_Fx >= 0)) && ((MiRef.estadoMusica == true)))){
_local2 = controlMusica1.soundTransform;
_local2.volume = (MiRef.volu_Fx / 100);
controlMusica1.soundTransform = _local2;
} else {
soundCompleteHandlerMu1(null, true);
};
};
if (_arg1 == 2){
if ((((MiRef.volu_Fx >= 0)) && ((MiRef.estadoMusica == true)))){
_local2 = controlMusica2.soundTransform;
_local2.volume = (MiRef.volu_Fx / 100);
controlMusica2.soundTransform = _local2;
} else {
soundCompleteHandlerMu2(null, true);
};
};
}
private function soundCompleteHandlerMu1(_arg1:Event=null, _arg2:Boolean=false):void{
if (finMusica1Id != undefined){
clearInterval(finMusica1Id);
};
if (_arg2 == true){
controlMusica1.stop();
};
controlMusica1.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
controlMusica1 = null;
}
private function soundCompleteHandlerMu2(_arg1:Event=null, _arg2:Boolean=false):void{
if (finMusica2Id != undefined){
clearInterval(finMusica2Id);
};
if (_arg2 == true){
controlMusica2.stop();
};
controlMusica2.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
controlMusica2 = null;
}
}
}//package gemsdistribucion
Section 13
//gema (gemsdistribucion.gema)
package gemsdistribucion {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.filters.*;
import flash.geom.*;
import fl.transitions.easing.*;
public class gema extends MovieClip {
var siguienteId;
var tiempoMov2;
var posI;
var posJ;
var w;// = 35
var h;// = 35
var distancia;
var tam;// = 1
var explotando;// = false
var siguienteY;// = 0
public var base:MovieClip;
var siguienteX;// = 0
public var dibujo:MovieClip;
var activada;// = true
public function gema(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7=1){
explotando = false;
w = 35;
h = 35;
activada = true;
siguienteX = 0;
siguienteY = 0;
tam = 1;
super();
posI = _arg1;
posJ = _arg2;
x = _arg3;
y = _arg4;
siguienteX = x;
siguienteY = y;
dibujo.gotoAndStop((((_arg5 - 1) * 8) + _arg6));
tam = _arg7;
if (tam == 1){
addEventListener(MouseEvent.MOUSE_DOWN, selecciono, false, 0, true);
addEventListener(MouseEvent.MOUSE_MOVE, memuevo, false, 0, true);
};
}
private function explota2(){
var _local1:*;
var _local2:*;
if ((((((width < 19)) || ((height < 19)))) || ((1 == 1)))){
visible = false;
nuevaPosicionTotal(1500, 1500);
_local1 = parent;
_local2 = _local1.parent;
if ((((_local2.modoJuego == "multiPlayer")) && ((_local2.vecGemas[_local2.contGemas] == 5)))){
dibujo.gotoAndStop((((6 - 1) * 8) + _local2.mundo));
} else {
dibujo.gotoAndStop((((_local2.vecGemas[_local2.contGemas] - 1) * 8) + _local2.mundo));
};
_local2.contGemas++;
if (_local2.contGemas >= 200){
_local2.contGemas = 1;
};
explotando = false;
} else {
nuevaPosicionTotal((x + 9), (y + 9));
width = (width - 18);
height = (height - 18);
};
}
public function anula(){
posI = -200;
posJ = -200;
width = 2;
height = 2;
nuevaPosicionTotal(2000, 2000);
}
public function nuevaPosicionTotal(_arg1, _arg2){
siguienteX = _arg1;
siguienteY = _arg2;
x = _arg1;
y = _arg2;
}
private function revisaLinea(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = parent;
_local3 = _local2.parent;
tiempoMov2 = _local3.tiempoMov2;
if (_local3.estoyJugando == true){
if ((((_local3.hagoLineaClip(_arg1) == false)) && ((_local3.hagoLineaClip(this) == false)))){
_local4 = posI;
_local5 = posJ;
posI = _arg1.posI;
posJ = _arg1.posJ;
if ((((posI > 0)) && ((posJ > 0)))){
nuevaPosicion(((posJ - 1) * distancia), ((posI - 1) * distancia));
};
_arg1.posI = _local4;
_arg1.posJ = _local5;
if ((((_arg1.posI > 0)) && ((_arg1.posJ > 0)))){
_arg1.nuevaPosicion(((_arg1.posJ - 1) * distancia), ((_arg1.posI - 1) * distancia));
};
} else {
_local3.revisaLineasExtras();
_local3.sonidoControl = 0;
};
};
}
public function quitaListeners(){
if (tam == 1){
if (hasEventListener(MouseEvent.MOUSE_DOWN) == true){
removeEventListener(MouseEvent.MOUSE_DOWN, selecciono, false);
};
if (hasEventListener(MouseEvent.MOUSE_MOVE) == true){
removeEventListener(MouseEvent.MOUSE_MOVE, memuevo, false);
};
if (hasEventListener(Event.ENTER_FRAME) == true){
removeEventListener(Event.ENTER_FRAME, siguienteXY, false);
};
};
}
private function memuevo(_arg1:MouseEvent=null){
var _local2:*;
var _local3:*;
_local2 = parent;
_local3 = _local2.parent;
if (posI > 0){
if (_local3.zonasCandados[posI][posJ] == false){
if (_arg1.buttonDown == true){
if (_local3.seleccion == true){
if ((Math.abs((_local3.seleccionI - posI)) + Math.abs((_local3.seleccionJ - posJ))) == 1){
selecciono(null, false);
};
};
};
};
};
}
public function auxiliarDeCreacion(){
var _local1:*;
var _local2:*;
if (explotando == true){
_local1 = parent;
_local2 = _local1.parent;
if ((((_local2.modoJuego == "multiPlayer")) && ((_local2.vecGemas[_local2.contGemas] == 5)))){
dibujo.gotoAndStop((((6 - 1) * 8) + _local2.mundo));
} else {
dibujo.gotoAndStop((((_local2.vecGemas[_local2.contGemas] - 1) * 8) + _local2.mundo));
};
_local2.contGemas++;
if (_local2.contGemas >= 200){
_local2.contGemas = 1;
};
explotando = false;
};
}
public function nuevaPosicion(_arg1, _arg2){
siguienteX = _arg1;
siguienteY = _arg2;
x = _arg1;
y = _arg2;
width = w;
height = h;
visible = true;
}
public function explota(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
if (explotando == false){
explotando = true;
_local1 = parent;
_local2 = _local1.parent;
_local2.zonasCandados[posI][posJ] = false;
_local2.zonasProhibidas[posI][posJ] = false;
_local3 = _local2.candadoEnIJ(posI, posJ);
if (_local3 != null){
_local3.gotoAndStop(1);
};
_local3 = _local2.fondoEnIJ(posI, posJ);
if (_local3 != null){
if (_local3.currentFrame == 3){
_local3.gotoAndStop(1);
} else {
if (_local3.currentFrame == 4){
_local3.gotoAndStop(3);
};
};
};
if (_local2.modoJuego == "multiPlayer"){
_local2.avisaExplota(posI, posJ);
};
posI = -110;
posJ = -110;
if (dibujo.currentFrame <= 8){
_local2.martillo++;
};
if (dibujo.currentFrame >= 41){
_local2.magia++;
_local2.actualizarMagia();
};
_local2.prepuntos++;
_local2.actualizarPuntos();
_local2.actualizarMartillo();
_local2.sonidoControl++;
_local4 = new FX(_local2, "martillo");
explota2();
};
}
private function siguienteXY(_arg1:Event=null){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
if (parent != null){
_local2 = parent;
if (_local2.parent != null){
_local3 = _local2.parent;
_local4 = Math.ceil((_local3.distancia / 2));
_local5 = Math.round((siguienteX - x));
_local6 = Math.round((siguienteY - y));
distancia = _local3.distancia;
_local7 = (Math.round((siguienteX / distancia)) - 1);
_local8 = (Math.round((siguienteY / distancia)) - 1);
if (((!((_local5 == 0))) && (((Math.abs(_local6) - Math.abs(_local5)) <= (2 * _local4))))){
if (Math.abs(_local5) < _local4){
x = siguienteX;
} else {
if (_local5 > 0){
x = (x + _local4);
} else {
x = (x - _local4);
};
};
};
if (((!((_local6 == 0))) && (((Math.abs(_local5) - Math.abs(_local6)) <= (2 * _local4))))){
if (Math.abs(_local6) < _local4){
y = siguienteY;
} else {
if (_local6 > 0){
y = (y + _local4);
} else {
if ((((_local6 < (-3 * _local4))) && ((y >= 0)))){
trace(((((((((((("difY < ( - 3 * dis) con " + posI) + " ") + posJ) + " ") + x) + " ") + siguienteX) + " ") + y) + " ") + siguienteY));
y = -1000;
} else {
y = (y - _local4);
};
};
};
};
};
};
}
private function selecciono(_arg1:MouseEvent=null, _arg2=true){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local3 = parent;
_local4 = _local3.parent;
distancia = _local4.distancia;
tiempoMov2 = _local4.tiempoMov2;
if (posI > 0){
if (_local4.zonasCandados[posI][posJ] == false){
if (_arg2 == true){
_local5 = new FX(_local4, "coger");
};
if (_local4.seleccion == false){
_local3.borde.x = x;
_local3.borde.y = y;
_local4.seleccionI = posI;
_local4.seleccionJ = posJ;
_local4.seleccion = true;
} else {
if ((Math.abs((_local4.seleccionI - posI)) + Math.abs((_local4.seleccionJ - posJ))) == 0){
_local3.borde.x = 2000;
_local4.seleccion = false;
_local4.seleccionI = -1;
_local4.seleccionJ = -1;
} else {
if ((Math.abs((_local4.seleccionI - posI)) + Math.abs((_local4.seleccionJ - posJ))) == 1){
_local6 = _local4.gemaEnIJ(_local4.seleccionI, _local4.seleccionJ);
_local6.posI = posI;
_local6.posJ = posJ;
if ((((_local6.posI > 0)) && ((_local6.posJ > 0)))){
_local6.nuevaPosicion(((_local6.posJ - 1) * distancia), ((_local6.posI - 1) * distancia));
};
posI = _local4.seleccionI;
posJ = _local4.seleccionJ;
if ((((posI > 0)) && ((posJ > 0)))){
nuevaPosicion(((posJ - 1) * distancia), ((posI - 1) * distancia));
};
_local4.seleccionI = -1;
_local4.seleccionJ = -1;
_local3.borde.x = 2000;
_local4.seleccion = false;
setTimeout(revisaLinea, 150, _local6);
} else {
_local3.borde.x = x;
_local3.borde.y = y;
_local4.seleccionI = posI;
_local4.seleccionJ = posJ;
_local4.seleccion = true;
};
};
};
} else {
trace("candado");
};
} else {
trace("PosI negativo");
};
}
}
}//package gemsdistribucion
Section 14
//gems (gemsdistribucion.gems)
package gemsdistribucion {
import flash.events.*;
import flash.net.*;
import it.gotoandplay.smartfoxserver.*;
import flash.display.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.filters.*;
import flash.geom.*;
import fl.transitions.easing.*;
public class gems extends MovieClip {
var direccionWeb;// = "http://www.doyugames2.com/"
var cuantosVer;// = 9
public var clipTiempo:MovieClip;
public var fondo:MovieClip;
public var precargaObjeto:precarga;
var vecPosicionesX:Array;
var puedoPasarDePantalla;// = true
public var yourPosicion:MovieClip;
public var userMulti:MovieClip;
var necesarioMartillo;// = 20
public var instruccionesOnePlayer:MovieClip;
public var clipMagia:MovieClip;
var f;// = 0
var volu_Fx;// = 100
public var martilloRaton:MovieClip;
public var bordesEspeciales:MovieClip;
var sfs:SmartFoxClient;
var f2;// = 0
var auxParent;
public var gemas2:MovieClip;
public var volumen:MovieClip;
var numUF;// = 0
public var gemas3:MovieClip;
var porcentajeMusica1;// = 0
var tiempo;// = 0
var vecGemas:Array;
var seleccionI;// = -1
var seleccionJ;// = -1
var f3;// = 0
var vecUserIds:Array;
public var enlace:MovieClip;
var cuantosHor;// = 10
public var mascara2:MovieClip;
var sumaPuntosId;
var zonasCandados;
public var mascara3:MovieClip;
var tiempoMov;// = 0.06
var necesarioMagia;// = 20
public var infoIngame:MovieClip;
public var portadaOnePlayer:MovieClip;
public var mascara:MovieClip;
var preNivel7;// = 0
var preNivel8;// = 0
public var puntosFinLevel:MovieClip;
public var botonNextLevel:MovieClip;
public var clipPuntos:MovieClip;
var hemosEmpezado;// = false
public var clipMartillo:MovieClip;
var modoJuego:String;// = ""
var ponBotonNextLevel;// = false
var indiceMaximo2;// = 0
var indiceMaximo3;// = 0
var indiceMaximo;// = 0
public var menu:MovieClip;
var dentroPantalla;// = false
var musicaCompletada1;// = true
var vecCandados;
var vecPorcentajeUsu:Array;
public var bordesEspeciales3:MovieClip;
public var yourPosicion2:MovieClip;
public var yourPosicion3:MovieClip;
var puntos;// = 0
var magia;// = 0
public var candados2:MovieClip;
public var bordesEspeciales2:MovieClip;
var martillo;// = 0
public var userMulti3:MovieClip;
public var candados3:MovieClip;
public var userMulti2:MovieClip;
public var botonBonus:MovieClip;
public var candados:MovieClip;
var cuantosSomos;
var vecRondasUsu:Array;
var vecTerminados:Array;
var premundo;// = 1
var prepuntos;// = 0
var mundosNiveles;
public var clipLevel:MovieClip;
public var fondo2:MovieClip;
public var fondo3:MovieClip;
var reintentaPonerMusica;// = false
public var exitGame:MovieClip;
var vecSeMiPosicion:Array;
public var loadingMusic:TextField;
var mundosLibres;
public var tapaGlobal:MovieClip;
var tiempoMov2;// = 0.1
public var bonusLevels:MovieClip;
var zonasProhibidas;
public var botonInstructions:MovieClip;
var vecNombresInverso:Array;
var mundo;// = 1
public var tapaPartida:MovieClip;
var pantalla;// = 1
var tiempoId;
var vecObjetivosDobles;
var mundosCompletados;
var canRestar;// = 2
public var maxUsers;// = 2
public var pauseGame:MovieClip;
var vecBloquesGemas;
var tiempoReordena;// = 70
var sonidoControl;// = 0
var preNivel;// = 0
var mapaVacias;
var seleccion:Boolean;// = false
public var fondoActivo:MovieClip;
public var rayo3:MovieClip;
public var rayo4:MovieClip;
public var rayo1:MovieClip;
public var rayo2:MovieClip;
var vecMapas;
public var botonJugar:MovieClip;
var cuantosQuedan;
public var fondoVisual:MovieClip;
public var elegirMundo:MovieClip;
var vecObjetivos;
var puntosNivel;
var distancia;// = 35
var vecNombres:Array;
var contGemas;// = 0
var vecPrecios;
public var gemas:MovieClip;
public var puzzleBlocked:MovieClip;
public var varGlobales:Array;
var estadoMusica;// = false
var estoyJugando;// = false
public function gems(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:URLLoader;
var _local5:URLRequest;
var _local6:URLVariables;
varGlobales = new Array();
maxUsers = 2;
vecTerminados = new Array();
vecNombres = new Array();
vecNombresInverso = new Array();
vecUserIds = new Array();
vecSeMiPosicion = new Array();
vecRondasUsu = new Array();
vecPorcentajeUsu = new Array();
vecPosicionesX = new Array();
direccionWeb = "http://www.doyugames2.com/";
vecBloquesGemas = new Array();
vecGemas = new Array();
contGemas = 0;
indiceMaximo = 0;
indiceMaximo2 = 0;
indiceMaximo3 = 0;
seleccion = false;
seleccionI = -1;
seleccionJ = -1;
cuantosHor = 10;
cuantosVer = 9;
distancia = 35;
tiempoMov = 0.06;
tiempoMov2 = 0.1;
mapaVacias = new Array();
zonasProhibidas = new Array();
vecCandados = new Array();
zonasCandados = new Array();
vecObjetivos = new Array();
vecObjetivosDobles = new Array();
pantalla = 1;
dentroPantalla = false;
puntos = 0;
prepuntos = 0;
tiempo = 0;
martillo = 0;
magia = 0;
necesarioMartillo = 20;
necesarioMagia = 20;
puedoPasarDePantalla = true;
mundo = 1;
premundo = 1;
tiempoReordena = 70;
volu_Fx = 100;
mundosLibres = new Array();
mundosCompletados = new Array();
mundosNiveles = new Array();
vecMapas = new Array("Insects Land", "Fruits Land", "Beach World", "Flowers Land", "Christmas Land", "Sea World", "Doyu Word", "Defenders Land");
vecPrecios = new Array(0, 5000, 5000, 5000, 5000, 15000, 5000, 5000);
canRestar = 2;
estoyJugando = false;
sonidoControl = 0;
estadoMusica = false;
musicaCompletada1 = true;
porcentajeMusica1 = 0;
reintentaPonerMusica = false;
f = 0;
f2 = 0;
f3 = 0;
modoJuego = "";
hemosEmpezado = false;
preNivel = 0;
preNivel7 = 0;
preNivel8 = 0;
ponBotonNextLevel = false;
numUF = 0;
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3);
_local4 = new URLLoader();
_local5 = new URLRequest((direccionWeb + "inc.php"));
_local5.method = URLRequestMethod.POST;
_local6 = new URLVariables();
_local6.juego = "doyugems";
_local6.tipo = 1;
_local6.url = LoaderInfo(this.root.loaderInfo).url;
_local6.modo = "normal";
_local5.data = _local6;
_local4.load(_local5);
varGlobales[0] = {};
varGlobales[0].title = "Select Difficulty";
varGlobales[0].tipo = "opciones";
varGlobales[0].especial = "numUsers";
varGlobales[0].opciones = 3;
varGlobales[0].porDefecto = 1;
varGlobales[0]["opcion0"] = "Easy";
varGlobales[0]["opcion1"] = "Medium.";
varGlobales[0]["opcion2"] = "Hard";
varGlobales[0]["description0"] = "Easy and fast match.";
varGlobales[0]["description1"] = "Intermediate difficulty.";
varGlobales[0]["description2"] = "Hard and longer match.";
varGlobales[0]["maxUsers0"] = 3;
varGlobales[0]["maxUsers1"] = 3;
varGlobales[0]["maxUsers2"] = 3;
varGlobales[0]["defectoMaxUsers0"] = 3;
varGlobales[0]["defectoMaxUsers1"] = 3;
varGlobales[0]["defectoMaxUsers2"] = 3;
varGlobales[1] = {};
varGlobales[1].title = "Allow magic attacks?";
varGlobales[1].tipo = "opciones";
varGlobales[1].especial = "";
varGlobales[1].opciones = 2;
varGlobales[1].porDefecto = 0;
varGlobales[1]["opcion0"] = "Yes";
varGlobales[1]["opcion1"] = "No";
varGlobales[1]["description0"] = "When you destroy \"magic\" blue gems, you will be able to send attacks<br>";
varGlobales[1]["description0"] = (varGlobales[1]["description0"] + "to your opponents to block some of their cells.");
varGlobales[1]["description1"] = "Disable magic attacks.";
varGlobales[2] = {};
varGlobales[2].title = "Time";
varGlobales[2].tipo = "opciones";
varGlobales[2].especial = "";
varGlobales[2].opciones = 5;
varGlobales[2].porDefecto = 2;
varGlobales[2]["opcion0"] = "1 min";
varGlobales[2]["opcion1"] = "2 min";
varGlobales[2]["opcion2"] = "4 min";
varGlobales[2]["opcion3"] = "6 min";
varGlobales[2]["opcion4"] = "10 min";
varGlobales[2]["description0"] = ("1 minute to complete the level. After that time,<br>the user with less \"blocked\" cells " + "will be the winner.");
varGlobales[2]["description1"] = ("2 minutes to complete the level. After that time,<br>the user with less \"blocked\" cells " + "will be the winner.");
varGlobales[2]["description2"] = ("4 minutes to complete the level. After that time,<br>the user with less \"blocked\" cells " + "will be the winner.");
varGlobales[2]["description3"] = ("6 minutes to complete the level. After that time,<br>the user with less \"blocked\" cells " + "will be the winner.");
varGlobales[2]["description4"] = ("10 minutes to complete the level. After that time,<br>the user with less \"blocked\" cells " + "will be the winner.");
addEventListener(Event.ENTER_FRAME, empezarJuego, false, 0, true);
}
private function finPantalla(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local6 = true;
_local3 = 1;
while (_local3 <= (cuantosHor * cuantosVer)) {
_local4 = fondo.getChildByName(("f" + _local3));
if (_local4 != null){
if (_local4.currentFrame >= 3){
_local6 = false;
};
};
_local3++;
};
if (_local6 == true){
setTimeout(finPantalla2, 1000);
};
}
private function hayAlgunaArriba(_arg1, _arg2){
var _local3:*;
if (_arg1 > 1){
if (zonasProhibidas[(_arg1 - 1)][_arg2] == true){
_local3 = false;
} else {
if (gemaEnIJ((_arg1 - 1), _arg2) != null){
_local3 = true;
} else {
_local3 = hayAlgunaArriba((_arg1 - 1), _arg2);
};
};
} else {
_local3 = true;
};
return (_local3);
}
private function trazo(_arg1){
var _local2:*;
if (parent != null){
_local2 = parent;
if (_local2.parent != null){
_local2 = _local2.parent;
if (_local2.parent != null){
auxParent = _local2.parent;
};
};
};
if (auxParent != null){
auxParent.trazo(String(_arg1));
};
}
private function datePrisa(_arg1:MouseEvent=null){
canRestar = 10000;
}
public function revisaLineasExtras(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
_local7 = new Array();
_local3 = 1;
while (_local3 <= (cuantosHor * cuantosVer)) {
_local7[_local3] = false;
_local3++;
};
_local3 = 1;
while (_local3 <= (cuantosHor * cuantosVer)) {
_local4 = gemas.getChildByName(("g" + _local3));
if (_local4 != null){
if ((((((_local4.posJ >= 1)) && ((_local4.posI >= 1)))) && ((_local4.posI <= (cuantosVer - 2))))){
_local5 = gemaEnIJ((_local4.posI + 1), _local4.posJ);
_local6 = gemaEnIJ((_local4.posI + 2), _local4.posJ);
if (((!((_local5 == null))) && (!((_local6 == null))))){
if ((((_local4.dibujo.currentFrame == _local5.dibujo.currentFrame)) && ((_local4.dibujo.currentFrame == _local6.dibujo.currentFrame)))){
_local7[_local4.name.substr(1)] = true;
_local7[_local5.name.substr(1)] = true;
_local7[_local6.name.substr(1)] = true;
};
};
};
if ((((((_local4.posJ >= 1)) && ((_local4.posI >= 1)))) && ((_local4.posJ <= (cuantosHor - 2))))){
_local5 = gemaEnIJ(_local4.posI, (_local4.posJ + 1));
_local6 = gemaEnIJ(_local4.posI, (_local4.posJ + 2));
if (((!((_local5 == null))) && (!((_local6 == null))))){
if ((((_local4.dibujo.currentFrame == _local5.dibujo.currentFrame)) && ((_local4.dibujo.currentFrame == _local6.dibujo.currentFrame)))){
_local7[_local4.name.substr(1)] = true;
_local7[_local5.name.substr(1)] = true;
_local7[_local6.name.substr(1)] = true;
};
};
};
};
_local3++;
};
_local8 = false;
_local3 = 1;
while (_local3 <= (cuantosHor * cuantosVer)) {
if (_local7[_local3] == true){
_local4 = gemas.getChildByName(("g" + _local3));
if (_local4 != null){
_local8 = true;
_local4.explota();
};
};
_local3++;
};
if (_local8 == true){
setTimeout(reordena2, tiempoReordena, 1);
} else {
finPantalla();
setTimeout(algunaFichaMalPuesta, 300);
if (modoJuego == "multiPlayer"){
envioTodo();
};
};
}
private function genericoColorOver(_arg1:MouseEvent=null){
_arg1.currentTarget.texto.textColor = 0xFFFFFF;
pongomano();
}
private function playMundoOut2(_arg1:MouseEvent=null){
_arg1.currentTarget.gotoAndStop(1);
quitomano();
}
private function clipMartilloOver(_arg1:MouseEvent=null){
if (martillo >= necesarioMartillo){
pongomano();
};
}
public function datoRecibido(_arg1:Object){
}
private function nextLevel(_arg1:MouseEvent=null){
botonNextLevel.x = 2000;
if (botonNextLevel.texto.text != "Try again"){
if ((pantalla % 10) != 0){
pantalla++;
datosPantalla(pantalla);
empezarJuego2();
} else {
exitGameClick();
if (premundo <= 6){
mostrarMapa();
} else {
mostrarBonus();
};
};
} else {
datosPantalla(pantalla);
empezarJuego2();
};
}
public function avisaExplota(_arg1, _arg2){
var _local3:*;
_local3 = new Object();
_local3.extension = "gems";
_local3.i = _arg1;
_local3.j = _arg2;
_local3.cmdExtension = "ex";
auxParent.enviarDatoExtension(_local3);
}
private function buyMundoClick(_arg1:MouseEvent=null){
var _local2:*;
var _local3:*;
_local2 = vecPrecios[(premundo - 1)];
if (puntos < _local2){
mostrarInfoTemporal("You don't have enough money yet to buy this world.");
} else {
mundosLibres[(premundo - 1)] = true;
elegirMundo[("mundo" + premundo)].gotoAndStop(2);
puntos = (puntos - _local2);
elegirMundo.informacion.buyMundo.visible = false;
elegirMundo.informacion.playMundo.visible = true;
elegirMundo.clipPuntos.puntosTexto.text = puntos;
_local3 = new FX(this, "comprado");
};
}
function frame1(){
stop();
}
private function mostrarMapa(_arg1:MouseEvent=null){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = 1;
while (_local2 <= 6) {
if (mundosLibres[(_local2 - 1)] == true){
elegirMundo[("mundo" + _local2)].gotoAndStop(2);
};
if (mundosCompletados[(_local2 - 1)] == true){
elegirMundo[("mundo" + _local2)].gotoAndStop(3);
};
_local2++;
};
botonJugar.x = 2000;
botonBonus.x = 2000;
botonInstructions.x = 2000;
elegirMundo.clipPuntos.puntosTexto.text = puntos;
elegirMundo.informacion.x = 2000;
quitarInfoTemporal();
elegirMundo.x = -9;
elegirMundo.y = 0;
elegirMundo.infoTemporal.x = 230;
elegirMundo.infoTemporal.y = 400;
elegirMundo.infoTemporal.texto.text = "You have to register to save your money and in-game progress.";
portadaOnePlayer.x = 2000;
exitGame.x = 621;
exitGame.y = 5;
volumen.x = 621;
enlace.x = 2000;
bonusLevels.x = 2000;
}
private function actualizarTiempo(){
clipTiempo.tiempoTexto.text = tiempo;
}
function frame3(){
stop();
}
private function anteriorInstruccion(_arg1:MouseEvent=null):void{
if (instruccionesOnePlayer.currentFrame == 1){
instruccionesOnePlayer.gotoAndStop(instruccionesOnePlayer.totalFrames);
} else {
instruccionesOnePlayer.gotoAndStop((instruccionesOnePlayer.currentFrame - 1));
};
}
private function finPantalla2(){
var _local1:*;
var _local2:*;
if (estoyJugando == true){
dentroPantalla = false;
clipMartillo.x = 2000;
clipMagia.x = 2000;
clipMartillo.x = 2000;
infoIngame.x = 2000;
menu.x = 2000;
if (hasEventListener(MouseEvent.MOUSE_MOVE) == true){
removeEventListener(MouseEvent.MOUSE_MOVE, mueveMartillo, false);
};
if (martilloRaton.hasEventListener(MouseEvent.CLICK) == true){
martilloRaton.removeEventListener(MouseEvent.CLICK, golpeaMartillo, false);
};
Mouse.show();
martilloRaton.x = 2000;
gemas.borde.x = 2000;
martillo = 0;
actualizarMartillo();
if (modoJuego == "multiPlayer"){
_local2 = new Object();
_local2.extension = "gems";
_local2.cmdExtension = "fin";
auxParent.enviarDatoExtension(_local2);
tapaPartida.alpha = 0;
tapaPartida.x = 0;
tapaPartida.y = 0;
tapaPartida.width = 500;
tapaPartida.height = 500;
clearInterval(tiempoId);
} else {
gemas.visible = false;
fondo.visible = false;
bordesEspeciales.visible = false;
candados.visible = false;
menu.x = 2000;
pauseGame.x = 2000;
tapaPartida.x = 2000;
tapaPartida.width = 1;
tapaPartida.height = 1;
exitGame.x = 621;
exitGame.y = 5;
mundosNiveles[(premundo - 1)] = Math.max(mundosNiveles[(premundo - 1)], (((pantalla - 1) % 10) + 1));
if ((pantalla % 10) != 0){
puntosFinLevel.levelCompletedTexto.gotoAndStop(1);
} else {
puntosFinLevel.levelCompletedTexto.gotoAndStop(2);
mundosCompletados[(premundo - 1)] = true;
};
if (puedoPasarDePantalla == true){
puedoPasarDePantalla = false;
setTimeout(deNuevoPasarDePantalla, 8000);
puntosFinLevel.x = 150;
puntosFinLevel.y = 90;
puntosFinLevel.gemsDestroyed.text = prepuntos;
puntosFinLevel.timeBonus.text = tiempo;
puntosFinLevel.previousMoney.text = puntos;
puntosFinLevel.currentMoney.text = puntos;
canRestar = 2;
if ((pantalla % 10) != 0){
puntosNivel = 500;
} else {
puntosNivel = 800;
};
puntosFinLevel.levelMoney.text = puntosNivel;
setTimeout(preSumaPuntos, 2000);
ponBotonNextLevel = true;
clearInterval(tiempoId);
_local1 = new FX(this, "completada");
};
};
};
}
function frame2(){
stop();
}
private function quitaBloqueo(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
puzzleBlocked.x = 2000;
_local7 = false;
_local8 = 0;
while ((((_local7 == false)) && ((_local8 < 200)))) {
_local3 = Math.ceil(((miRandom() * cuantosHor) * cuantosVer));
_local4 = gemas.getChildByName(("g" + _local3));
if (_local4 != null){
if ((((((((_local4.posI >= 1)) && ((_local4.posJ >= 1)))) && ((_local4.posI <= cuantosVer)))) && ((_local4.posJ <= cuantosHor)))){
if ((((zonasCandados[_local4.posI][_local4.posJ] == false)) && ((zonasProhibidas[_local4.posI][_local4.posJ] == false)))){
_local4.explota();
setTimeout(reordena2, tiempoReordena, 1);
_local7 = true;
};
};
};
_local8++;
};
}
private function limpiarJuego(){
elegirMundo.x = 2000;
clipPuntos.x = 2000;
clipLevel.x = 2000;
exitGame.x = 2000;
clipMartillo.x = 2000;
clipMagia.x = 2000;
clipTiempo.x = 2000;
quitarInfoTemporal();
portadaOnePlayer.x = 2000;
puntosFinLevel.x = 2000;
enlace.x = 2000;
bonusLevels.x = 2000;
puzzleBlocked.x = 2000;
botonNextLevel.x = 2000;
botonJugar.x = 2000;
botonBonus.x = 2000;
botonInstructions.x = 2000;
yourPosicion.x = 2000;
yourPosicion2.x = 2000;
yourPosicion3.x = 2000;
userMulti.x = 2000;
userMulti2.x = 2000;
userMulti3.x = 2000;
tapaPartida.x = 2000;
tapaPartida.width = 1;
tapaPartida.height = 1;
instruccionesOnePlayer.x = 2000;
infoIngame.x = 2000;
pauseGame.x = 2000;
menu.x = 2000;
ponBotonNextLevel = false;
clearInterval(tiempoId);
limpiarGemas();
}
private function revisaBorde(_arg1, _arg2):Boolean{
var _local3:*;
var _local4:*;
_local4 = true;
_local3 = fondoEnIJ(_arg1, _arg2);
if (_local3 == null){
_local4 = true;
} else {
if (_local3.currentFrame == 2){
_local4 = true;
} else {
_local4 = false;
};
};
return (_local4);
}
private function puedoBajar(_arg1, _arg2):Boolean{
var _local3:*;
if ((((_arg1 > cuantosVer)) || ((_arg2 > cuantosHor)))){
return (false);
};
if (zonasProhibidas[_arg1][_arg2] == true){
return (false);
};
_local3 = gemaEnIJ(_arg1, _arg2);
if (_local3 != null){
return (false);
};
return (true);
}
private function buyMundoOver2(_arg1:MouseEvent=null){
_arg1.currentTarget.gotoAndStop(2);
pongomano();
}
private function elijoNivelMundo(_arg1:MouseEvent=null){
var _local2:*;
preNivel = int(_arg1.currentTarget.nivel.text);
_local2 = 1;
while (_local2 <= 10) {
elegirMundo.informacion.eligeNivel[("nivel" + _local2)].nivel.textColor = 0;
_local2++;
};
elegirMundo.informacion.eligeNivel[("nivel" + preNivel)].nivel.textColor = 0xFFFFFF;
}
private function nextLevelOver(_arg1:MouseEvent=null){
botonNextLevel.texto.textColor = 0xFFFFFF;
pongomano();
}
private function sumaPuntos(){
var _local1:*;
_local1 = canRestar;
if ((((((prepuntos <= 0)) && ((tiempo <= 0)))) && ((puntosNivel <= 0)))){
clearInterval(sumaPuntosId);
if (ponBotonNextLevel == true){
botonNextLevel.texto.text = "Next Level";
botonNextLevel.x = 200;
botonNextLevel.y = 360;
};
} else {
if (prepuntos > _local1){
prepuntos = (prepuntos - _local1);
puntos = (puntos + _local1);
} else {
puntos = (puntos + prepuntos);
prepuntos = 0;
};
if (tiempo > _local1){
tiempo = (tiempo - _local1);
puntos = (puntos + _local1);
} else {
puntos = (puntos + tiempo);
tiempo = 0;
};
if (puntosNivel > _local1){
puntosNivel = (puntosNivel - _local1);
puntos = (puntos + _local1);
} else {
puntos = (puntos + puntosNivel);
puntosNivel = 0;
};
puntosFinLevel.levelMoney.text = puntosNivel;
puntosFinLevel.gemsDestroyed.text = prepuntos;
puntosFinLevel.timeBonus.text = tiempo;
puntosFinLevel.currentMoney.text = puntos;
};
}
private function quitarInfoTemporal(){
elegirMundo.infoTemporal.x = 2000;
}
private function botonJugarOver(_arg1:MouseEvent=null):void{
botonJugar.texto.textColor = 0xFFFFFF;
pongomano();
}
private function fueraSelecciono(_arg1:MouseEvent){
seleccionI = -1;
seleccionJ = -1;
gemas.borde.x = 2000;
seleccion = false;
}
private function botonInstructionsOut(_arg1:MouseEvent=null):void{
botonInstructions.texto.textColor = 0;
quitomano();
}
private function mueveMartillo(_arg1:MouseEvent=null){
var _local2:*;
var _local3:*;
var _local4:*;
martilloRaton.x = mouseX;
martilloRaton.y = mouseY;
_local2 = Math.ceil(((mouseY - gemas.y) / distancia));
_local3 = Math.ceil(((mouseX - gemas.x) / distancia));
_local4 = gemaEnIJ(_local2, _local3);
if (_local4 != null){
gemas.borde.x = _local4.x;
gemas.borde.y = _local4.y;
};
}
public function finJuegoOnePlayer():void{
if (volu_Fx > 0){
volu_Fx = -(volu_Fx);
} else {
if (volu_Fx == 0){
volu_Fx = -1;
};
};
exitGameClick();
estadoMusica = false;
}
public function onUserLeaveRoom(_arg1, _arg2):void{
if ((((vecBloquesGemas[_arg2] == 2)) || ((vecBloquesGemas[_arg2] == 3)))){
if (vecTerminados[_arg2] == false){
this[("yourPosicion" + vecBloquesGemas[_arg2])].x = ((userMulti2.x + (userMulti2.width / 2)) - (yourPosicion2.width / 2));
if (vecBloquesGemas[_arg2] == 2){
this[("yourPosicion" + vecBloquesGemas[_arg2])].y = 65;
} else {
this[("yourPosicion" + vecBloquesGemas[_arg2])].y = 315;
};
this[("yourPosicion" + vecBloquesGemas[_arg2])].texto.text = "Gone";
this[("yourPosicion" + vecBloquesGemas[_arg2])].quedan.visible = false;
this[("yourPosicion" + vecBloquesGemas[_arg2])].gotoAndStop(3);
cuantosQuedan--;
vecTerminados[_arg2] = true;
if ((((cuantosQuedan == 1)) && ((vecTerminados[auxParent.dameUserName()] == false)))){
finPantalla2();
};
};
};
}
private function revisaBloqueo(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
_local7 = true;
_local8 = false;
_local1 = 1;
while (_local1 <= cuantosVer) {
_local2 = 1;
while (_local2 <= cuantosHor) {
_local4 = gemaEnIJ(_local1, _local2);
if (_local4 != null){
if (comparaCasilla(_local1, _local2, _local1, (_local2 + 1), true) == true){
if ((((comparaCasilla(_local1, _local2, (_local1 + 1), (_local2 + 2)) == true)) || ((comparaCasilla(_local1, _local2, (_local1 - 1), (_local2 + 2)) == true)))){
if (zonasProhibidas[_local1][(_local2 + 2)] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, _local1, (_local2 - 1), true) == true){
if ((((comparaCasilla(_local1, _local2, (_local1 + 1), (_local2 - 2)) == true)) || ((comparaCasilla(_local1, _local2, (_local1 - 1), (_local2 - 2)) == true)))){
if (zonasProhibidas[_local1][(_local2 - 2)] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, _local1, (_local2 + 2), true) == true){
if ((((comparaCasilla(_local1, _local2, (_local1 + 1), (_local2 + 1)) == true)) || ((comparaCasilla(_local1, _local2, (_local1 - 1), (_local2 + 1)) == true)))){
if (zonasProhibidas[_local1][(_local2 + 1)] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, _local1, (_local2 - 2), true) == true){
if ((((comparaCasilla(_local1, _local2, (_local1 + 1), (_local2 - 1)) == true)) || ((comparaCasilla(_local1, _local2, (_local1 - 1), (_local2 - 1)) == true)))){
if (zonasProhibidas[_local1][(_local2 - 1)] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, (_local1 + 1), _local2, true) == true){
if ((((comparaCasilla(_local1, _local2, (_local1 + 2), (_local2 + 1)) == true)) || ((comparaCasilla(_local1, _local2, (_local1 + 2), (_local2 - 1)) == true)))){
if (zonasProhibidas[(_local1 + 2)][_local2] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, (_local1 - 1), _local2, true) == true){
if ((((comparaCasilla(_local1, _local2, (_local1 - 2), (_local2 + 1)) == true)) || ((comparaCasilla(_local1, _local2, (_local1 - 2), (_local2 - 1)) == true)))){
if (zonasProhibidas[(_local1 - 2)][_local2] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, (_local1 + 2), _local2, true) == true){
if ((((comparaCasilla(_local1, _local2, (_local1 + 1), (_local2 + 1)) == true)) || ((comparaCasilla(_local1, _local2, (_local1 + 1), (_local2 - 1)) == true)))){
if (zonasProhibidas[(_local1 + 1)][_local2] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, (_local1 - 2), _local2, true) == true){
if ((((comparaCasilla(_local1, _local2, (_local1 - 1), (_local2 + 1)) == true)) || ((comparaCasilla(_local1, _local2, (_local1 - 1), (_local2 - 1)) == true)))){
if (zonasProhibidas[(_local1 - 1)][_local2] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, _local1, (_local2 + 1), true) == true){
if (comparaCasilla(_local1, _local2, _local1, (_local2 + 3)) == true){
if (zonasProhibidas[_local1][(_local2 + 2)] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, _local1, (_local2 - 1), true) == true){
if (comparaCasilla(_local1, _local2, _local1, (_local2 - 3)) == true){
if (zonasProhibidas[_local1][(_local2 - 2)] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, (_local1 + 1), _local2, true) == true){
if (comparaCasilla(_local1, _local2, (_local1 + 3), _local2) == true){
if (zonasProhibidas[(_local1 + 2)][_local2] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
if (comparaCasilla(_local1, _local2, (_local1 - 1), _local2, true) == true){
if (comparaCasilla(_local1, _local2, (_local1 - 3), _local2) == true){
if (zonasProhibidas[(_local1 - 2)][_local2] == false){
_local7 = false;
_local8 = true;
break;
};
};
};
};
if (_local8 == true){
break;
};
_local2++;
};
if (_local8 == true){
break;
};
_local1++;
};
if ((((((_local7 == true)) && ((dentroPantalla == true)))) && ((estoyJugando == true)))){
puzzleBlocked.infoTemporal.texto.htmlText = "Puzzle Blocked<br>Removing 1 cell";
puzzleBlocked.x = 200;
puzzleBlocked.y = 200;
setTimeout(quitaBloqueo, 2000);
};
}
private function quitarInfoTemporalBonus(){
bonusLevels.infoTemporal.x = 2000;
}
private function buyMundoOut2(_arg1:MouseEvent=null){
_arg1.currentTarget.gotoAndStop(1);
quitomano();
}
public function hagoLineaClip(_arg1):Boolean{
return (hagoLinea(_arg1.posI, _arg1.posJ));
}
private function nextLevelOut(_arg1:MouseEvent=null){
botonNextLevel.texto.textColor = 0;
quitomano();
}
public function candadoEnIJ(_arg1, _arg2, _arg3=1):MovieClip{
var _local4:*;
var _local5:*;
var _local6:*;
_local6 = null;
_local4 = 1;
while (_local4 <= (cuantosHor * cuantosVer)) {
if (_arg3 == 1){
_local5 = candados.getChildByName(("c" + _local4));
};
if (_arg3 == 2){
_local5 = candados2.getChildByName(("cc" + _local4));
};
if (_arg3 == 3){
_local5 = candados3.getChildByName(("ccc" + _local4));
};
if (_local5 != null){
if ((((_local5.posI == _arg1)) && ((_local5.posJ == _arg2)))){
_local6 = _local5;
};
};
_local4++;
};
return (_local6);
}
private function gotoMenuClick(_arg1:MouseEvent){
if (instruccionesOnePlayer.goToMenu.currentFrame == 1){
finJuegoOnePlayer();
setTimeout(inicioJuegoOnePlayer, 600);
} else {
auxParent = parent.parent.parent;
if (auxParent != null){
auxParent.quitaInstrucciones();
};
};
}
private function elegirMundoClick(_arg1:MouseEvent=null){
var _local2:*;
var _local3:*;
var _local4:*;
premundo = int(_arg1.currentTarget.name.substr(5));
if (mundosLibres[(premundo - 1)] == false){
elegirMundo.informacion.buyMundo.visible = true;
elegirMundo.informacion.playMundo.visible = false;
elegirMundo.informacion.mundoCompletado.visible = false;
} else {
elegirMundo.informacion.buyMundo.visible = false;
elegirMundo.informacion.playMundo.visible = true;
if (mundosCompletados[(premundo - 1)] == false){
elegirMundo.informacion.mundoCompletado.visible = false;
} else {
elegirMundo.informacion.mundoCompletado.visible = true;
};
};
elegirMundo.informacion.dibujoMapa.gotoAndStop(premundo);
elegirMundo.informacion.textoMundo.text = vecMapas[(premundo - 1)];
elegirMundo.informacion.puntosTexto.text = vecPrecios[(premundo - 1)];
elegirMundo.informacion.x = 230;
elegirMundo.informacion.y = 100;
preNivel = 1;
if (mundosNiveles[(premundo - 1)] > 0){
_local2 = 1;
while (_local2 <= 10) {
elegirMundo.informacion.eligeNivel[("nivel" + _local2)].visible = false;
elegirMundo.informacion.eligeNivel[("nivel" + _local2)].nivel.text = _local2;
elegirMundo.informacion.eligeNivel[("nivel" + _local2)].nivel.textColor = 0;
_local2++;
};
_local2 = 1;
while (_local2 <= Math.min((mundosNiveles[(premundo - 1)] + 1), 10)) {
elegirMundo.informacion.eligeNivel[("nivel" + _local2)].visible = true;
_local2++;
};
elegirMundo.informacion.eligeNivel[("nivel" + preNivel)].nivel.textColor = 0xFFFFFF;
elegirMundo.informacion.eligeNivel.visible = true;
} else {
elegirMundo.informacion.eligeNivel.visible = false;
};
}
private function exitGameClick(_arg1:MouseEvent=null):void{
var _local2:*;
limpiarJuego();
botonJugar.x = 60;
botonBonus.x = 60;
botonInstructions.x = 60;
botonJugar.y = 180;
botonBonus.y = 340;
botonInstructions.y = 260;
portadaOnePlayer.x = 0;
portadaOnePlayer.y = 0;
enlace.x = 239;
enlace.y = 460;
estoyJugando = false;
if ((((estadoMusica == false)) && ((hemosEmpezado == true)))){
if (musicaCompletada1 == true){
_local2 = new FX(this, "musica1");
reintentaPonerMusica = false;
} else {
reintentaPonerMusica = true;
};
estadoMusica = true;
};
}
private function limpiarGemas(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local4 = new Array();
_local1 = 0;
while (_local1 < gemas.numChildren) {
if (gemas.getChildAt(_local1).name != "borde"){
_local5 = gemas.getChildAt(_local1);
_local5.quitaListeners();
_local4.push(gemas.getChildAt(_local1));
(_local5 == null);
};
_local1++;
};
for (_local1 in _local4) {
gemas.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < fondo.numChildren) {
_local4.push(fondo.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
fondo.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < candados.numChildren) {
_local4.push(candados.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
candados.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < bordesEspeciales.numChildren) {
_local4.push(bordesEspeciales.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
bordesEspeciales.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < mascara.numChildren) {
_local4.push(mascara.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
mascara.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < gemas2.numChildren) {
if (gemas2.getChildAt(_local1).name != "borde"){
_local5 = gemas2.getChildAt(_local1);
_local5.quitaListeners();
_local4.push(gemas2.getChildAt(_local1));
(_local5 == null);
};
_local1++;
};
for (_local1 in _local4) {
gemas2.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < fondo2.numChildren) {
_local4.push(fondo2.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
fondo2.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < candados2.numChildren) {
_local4.push(candados2.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
candados2.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < bordesEspeciales2.numChildren) {
_local4.push(bordesEspeciales2.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
bordesEspeciales2.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < mascara2.numChildren) {
_local4.push(mascara2.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
mascara2.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < gemas3.numChildren) {
if (gemas3.getChildAt(_local1).name != "borde"){
_local5 = gemas3.getChildAt(_local1);
_local5.quitaListeners();
_local4.push(gemas3.getChildAt(_local1));
(_local5 == null);
};
_local1++;
};
for (_local1 in _local4) {
gemas3.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < fondo3.numChildren) {
_local4.push(fondo3.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
fondo3.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < candados3.numChildren) {
_local4.push(candados3.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
candados3.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < bordesEspeciales3.numChildren) {
_local4.push(bordesEspeciales3.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
bordesEspeciales3.removeChild(_local4[_local1]);
};
_local4 = null;
_local4 = new Array();
_local1 = 0;
while (_local1 < mascara3.numChildren) {
_local4.push(mascara3.getChildAt(_local1));
_local1++;
};
for (_local1 in _local4) {
mascara3.removeChild(_local4[_local1]);
};
_local4 = null;
}
public function actualizarPuntos(){
clipPuntos.puntosTexto.text = (((prepuntos + " (+") + puntos) + ")");
}
private function deNuevoPasarDePantalla(){
puedoPasarDePantalla = true;
}
public function finJuego():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (volu_Fx > 0){
volu_Fx = -(volu_Fx);
} else {
if (volu_Fx == 0){
volu_Fx = -1;
};
};
exitGameClick();
estadoMusica = false;
}
public function gemaEnIJ(_arg1, _arg2, _arg3=1):MovieClip{
var _local4:*;
var _local5:*;
var _local6:*;
_local6 = null;
_local4 = 1;
while (_local4 <= (cuantosHor * cuantosVer)) {
if (_arg3 == 1){
_local5 = gemas.getChildByName(("g" + _local4));
};
if (_arg3 == 2){
_local5 = gemas2.getChildByName(("gg" + _local4));
};
if (_arg3 == 3){
_local5 = gemas3.getChildByName(("ggg" + _local4));
};
if (_local5 == null){
_local6 = null;
} else {
if ((((_local5.posI == _arg1)) && ((_local5.posJ == _arg2)))){
_local6 = _local5;
};
};
_local4++;
};
return (_local6);
}
private function miRandom():Number{
var _local1:*;
_local1 = (Math.random() * (getTimer() % 9871));
_local1 = (_local1 - Math.floor(_local1));
return (_local1);
}
public function actualizarMartillo(){
if (martillo > necesarioMartillo){
martillo = necesarioMartillo;
};
clipMartillo.gotoAndStop(Math.ceil(((martillo + 2) / 3)));
}
public function envioTodo(_arg1=false){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:int;
var _local8:*;
_local5 = new Object();
_local5.extension = "gems";
_local6 = "";
_local2 = 1;
while (_local2 <= cuantosVer) {
_local3 = 1;
while (_local3 <= cuantosHor) {
_local8 = gemaEnIJ(_local2, _local3);
if (_local8 != null){
_local7 = (_local8.dibujo.currentFrame - mundo);
_local7 = int((_local7 / 8));
_local7 = (_local7 + 1);
_local6 = (_local6 + String(_local7));
} else {
_local6 = (_local6 + "-");
};
_local3++;
};
_local2++;
};
_local5.g = _local6;
if (_arg1 == false){
_local5.cmdExtension = "eto";
} else {
_local5.cH = cuantosHor;
_local5.cV = cuantosVer;
_local5.cmdExtension = "etoF";
_local6 = "";
_local2 = 1;
while (_local2 <= cuantosVer) {
_local3 = 1;
while (_local3 <= cuantosHor) {
_local7 = int(zonasProhibidas[_local2][_local3]);
_local6 = (_local6 + String(_local7));
_local3++;
};
_local2++;
};
_local5.zP = _local6;
_local6 = "";
_local2 = 1;
while (_local2 <= cuantosVer) {
_local3 = 1;
while (_local3 <= cuantosHor) {
_local7 = int(zonasCandados[_local2][_local3]);
_local6 = (_local6 + String(_local7));
_local3++;
};
_local2++;
};
_local5.zC = _local6;
_local6 = "";
_local2 = 1;
while (_local2 <= cuantosVer) {
_local3 = 1;
while (_local3 <= cuantosHor) {
_local8 = fondoEnIJ(_local2, _local3);
if (_local8 != null){
_local7 = _local8.currentFrame;
_local6 = (_local6 + String(_local7));
} else {
_local6 = (_local6 + "-");
};
_local3++;
};
_local2++;
};
_local5.fG = _local6;
};
auxParent.enviarDatoExtension(_local5);
}
private function actualizarLevel(){
var _local1:*;
_local1 = (pantalla % 10);
if (_local1 == 0){
_local1 = 10;
};
clipLevel.levelTexto.text = ("Level: " + _local1);
}
private function cerrarInformacionMundo(_arg1:MouseEvent=null){
elegirMundo.informacion.x = 2000;
}
public function envioResultado(_arg1:int, _arg2:Array, _arg3:Array, _arg4:Array):void{
var _local5:*;
if (auxParent != null){
_local5 = new Object();
_local5.extension = "motor";
_local5.pos = _arg1;
_local5.gA = _arg2;
_local5.pC = _arg3;
_local5.eC = _arg4;
_local5.cmdExtension = "fPo";
auxParent.enviarDatoExtension(_local5);
};
}
public function inicioJuegoOnePlayer():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
_local1 = parent;
if (_local1 != null){
_local1 = _local1.parent;
if (_local1 != null){
auxParent = _local1.parent;
};
};
if (volu_Fx == -1){
volu_Fx = 0;
} else {
if (volu_Fx < 0){
volu_Fx = -(volu_Fx);
};
};
modoJuego = "onePlayer";
hemosEmpezado = true;
exitGameClick();
tapaGlobal.x = 2000;
tapaGlobal.y = 2000;
tapaGlobal.width = 1;
tapaGlobal.height = 1;
}
private function playMundoClick2(_arg1:MouseEvent=null){
premundo = _arg1.currentTarget.parent.name.substr(11);
if (premundo == 7){
pantalla = (preNivel7 + (10 * (premundo - 1)));
} else {
pantalla = (preNivel8 + (10 * (premundo - 1)));
};
bonusLevels.x = 2000;
datosPantalla(pantalla);
empezarJuego2();
}
private function clipMagiaClick(_arg1:MouseEvent=null){
var _local2:*;
var _local3:*;
if (magia >= necesarioMartillo){
if (modoJuego == "multiPlayer"){
_local2 = new Object();
_local2.extension = "gems";
_local2.cmdExtension = "r";
auxParent.enviarDatoExtension(_local2);
rayo1.gotoAndPlay(2);
if (cuantosSomos >= 3){
rayo2.gotoAndPlay(2);
};
magia = 0;
actualizarMagia();
_local3 = new FX(this, "sonido_normal");
};
};
}
private function playMundoOut(_arg1:MouseEvent=null){
elegirMundo.informacion.playMundo.gotoAndStop(1);
quitomano();
}
private function verTiempo(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:*;
tiempo = (tiempo - 1);
actualizarTiempo();
if (tiempo == 0){
if (modoJuego == "multiPlayer"){
clearInterval(tiempoId);
tapaPartida.alpha = 0;
tapaPartida.x = 0;
tapaPartida.y = 0;
tapaPartida.width = 500;
tapaPartida.height = 500;
_local10 = 0;
_local11 = 1;
_local12 = new Array();
_local13 = new Array();
_local14 = new Array();
_local7 = 1;
while (_local7 <= (cuantosHor * cuantosVer)) {
_local8 = ((_local7 % cuantosHor) + 1);
_local9 = Math.ceil((_local7 / cuantosHor));
if ((((zonasCandados[_local9][_local8] == true)) || ((zonasProhibidas[_local9][_local8] == false)))){
_local4 = fondoEnIJ(_local9, _local8, 1);
if (_local4 != null){
if (_local4.currentFrame == 3){
_local10++;
};
if (_local4.currentFrame == 4){
_local10 = (_local10 + 2);
};
};
};
_local7++;
};
_local15 = 0;
_local7 = 1;
while (_local7 <= (cuantosHor * cuantosVer)) {
_local8 = ((_local7 % cuantosHor) + 1);
_local9 = Math.ceil((_local7 / cuantosHor));
if ((((zonasCandados[_local9][_local8] == true)) || ((zonasProhibidas[_local9][_local8] == false)))){
_local4 = fondoEnIJ(_local9, _local8, 2);
if (_local4 != null){
if (_local4.currentFrame == 3){
_local15++;
};
if (_local4.currentFrame == 4){
_local15 = (_local15 + 2);
};
};
};
_local7++;
};
_local16 = "";
for (_local1 in vecBloquesGemas) {
if (vecBloquesGemas[_local1] == 2){
_local16 = _local1;
break;
};
};
if ((((_local15 < _local10)) || ((vecTerminados[_local16] == true)))){
_local11++;
_local14.push(vecUserIds[_local16]);
} else {
if (_local15 == _local10){
_local13.push(vecUserIds[_local16]);
} else {
_local12.push(vecUserIds[_local16]);
};
};
if (cuantosSomos >= 3){
_local18 = 0;
_local7 = 1;
while (_local7 <= (cuantosHor * cuantosVer)) {
_local8 = ((_local7 % cuantosHor) + 1);
_local9 = Math.ceil((_local7 / cuantosHor));
if ((((zonasCandados[_local9][_local8] == true)) || ((zonasProhibidas[_local9][_local8] == false)))){
_local4 = fondoEnIJ(_local9, _local8, 3);
if (_local4 != null){
if (_local4.currentFrame == 3){
_local18++;
};
if (_local4.currentFrame == 4){
_local18 = (_local18 + 2);
};
};
};
_local7++;
};
_local16 = "";
for (_local1 in vecBloquesGemas) {
if (vecBloquesGemas[_local1] == 3){
_local16 = _local1;
break;
};
};
if ((((_local18 < _local10)) || ((vecTerminados[_local16] == true)))){
_local11++;
_local14.push(vecUserIds[_local16]);
} else {
if (_local18 == _local10){
_local13.push(vecUserIds[_local16]);
} else {
_local12.push(vecUserIds[_local16]);
};
};
};
_local17 = _local11;
if (vecTerminados[auxParent.dameUserName()] == false){
envioResultado(_local17, _local12, _local14, _local13);
_local5 = new FX(this, "completada");
yourPosicion.x = ((userMulti.x + (userMulti.width / 2)) - (yourPosicion.width / 2));
yourPosicion.y = 150;
yourPosicion.texto.text = "";
if (_local17 == 1){
yourPosicion.texto.text = "1st";
yourPosicion.gotoAndStop(1);
};
if (_local17 == 2){
yourPosicion.texto.text = "2nd";
yourPosicion.gotoAndStop(2);
};
if (_local17 == 3){
yourPosicion.texto.text = "3rd";
yourPosicion.gotoAndStop(3);
};
yourPosicion.quedan.visible = true;
yourPosicion.quedan.texto.text = (_local10 + " plaques left");
if (cuantosSomos >= 3){
_local16 = "";
for (_local1 in vecBloquesGemas) {
if (vecBloquesGemas[_local1] == 2){
_local16 = _local1;
break;
};
};
if ((((vecTerminados[_local16] == true)) && (!((_local16 == ""))))){
_local6 = new Object();
_local6.extension = "gems";
_local6.cmdExtension = "nT";
_local6.d = _local16;
_local6.p = _local17;
_local6.c = _local10;
auxParent.enviarDatoExtension(_local6);
};
_local16 = "";
for (_local1 in vecBloquesGemas) {
if (vecBloquesGemas[_local1] == 3){
_local16 = _local1;
break;
};
};
if ((((vecTerminados[_local16] == true)) && (!((_local16 == ""))))){
_local6 = new Object();
_local6.extension = "gems";
_local6.cmdExtension = "nT";
_local6.d = _local16;
_local6.p = _local17;
_local6.c = _local10;
auxParent.enviarDatoExtension(_local6);
};
};
};
_local16 = "";
for (_local1 in vecBloquesGemas) {
if (vecBloquesGemas[_local1] == 2){
_local16 = _local1;
break;
};
};
if (vecTerminados[_local16] == false){
yourPosicion2.x = ((userMulti2.x + (userMulti2.width / 2)) - (yourPosicion2.width / 2));
yourPosicion2.y = 65;
yourPosicion2.texto.text = "";
_local17 = 1;
if (_local15 > _local10){
_local17++;
};
if (cuantosSomos >= 3){
if (_local15 > _local18){
_local17++;
};
};
if (_local17 == 1){
yourPosicion2.texto.text = "1st";
yourPosicion2.gotoAndStop(1);
};
if (_local17 == 2){
yourPosicion2.texto.text = "2nd";
yourPosicion2.gotoAndStop(2);
};
if (_local17 == 3){
yourPosicion2.texto.text = "3rd";
yourPosicion2.gotoAndStop(3);
};
yourPosicion2.quedan.visible = true;
yourPosicion2.quedan.texto.text = (_local15 + " plaques left");
vecTerminados[_local16] = true;
};
if (cuantosSomos >= 3){
_local16 = "";
for (_local1 in vecBloquesGemas) {
if (vecBloquesGemas[_local1] == 3){
_local16 = _local1;
break;
};
};
if (vecTerminados[_local16] == false){
yourPosicion3.x = ((userMulti2.x + (userMulti2.width / 2)) - (yourPosicion2.width / 2));
yourPosicion3.y = 315;
yourPosicion3.texto.text = "";
_local17 = 1;
if (_local18 > _local10){
_local17++;
};
if (_local18 > _local15){
_local17++;
};
if (_local17 == 1){
yourPosicion3.texto.text = "1st";
yourPosicion3.gotoAndStop(1);
};
if (_local17 == 2){
yourPosicion3.texto.text = "2nd";
yourPosicion3.gotoAndStop(2);
};
if (_local17 == 3){
yourPosicion3.texto.text = "3rd";
yourPosicion3.gotoAndStop(3);
};
yourPosicion3.quedan.visible = true;
yourPosicion3.quedan.texto.text = (_local18 + " plaques left");
vecTerminados[_local16] = true;
};
};
vecTerminados[auxParent.dameUserName()] = true;
cuantosQuedan = 0;
if (hasEventListener(MouseEvent.MOUSE_MOVE) == true){
removeEventListener(MouseEvent.MOUSE_MOVE, mueveMartillo, false);
};
if (martilloRaton.hasEventListener(MouseEvent.CLICK) == true){
martilloRaton.removeEventListener(MouseEvent.CLICK, golpeaMartillo, false);
};
Mouse.show();
martilloRaton.x = 2000;
gemas.borde.x = 2000;
martillo = 0;
actualizarMartillo();
magia = 0;
actualizarMagia();
} else {
if (hasEventListener(MouseEvent.MOUSE_MOVE) == true){
removeEventListener(MouseEvent.MOUSE_MOVE, mueveMartillo, false);
};
if (martilloRaton.hasEventListener(MouseEvent.CLICK) == true){
martilloRaton.removeEventListener(MouseEvent.CLICK, golpeaMartillo, false);
};
Mouse.show();
martilloRaton.x = 2000;
gemas.borde.x = 2000;
martillo = 0;
actualizarMartillo();
gemas.visible = false;
fondo.visible = false;
bordesEspeciales.visible = false;
candados.visible = false;
estoyJugando = false;
clearInterval(tiempoId);
puzzleBlocked.infoTemporal.texto.htmlText = "Time Over<br>Do you want to try again?";
puzzleBlocked.x = 200;
puzzleBlocked.y = 150;
botonNextLevel.texto.text = "Try again";
botonNextLevel.x = 200;
botonNextLevel.y = 270;
_local5 = new FX(this, "pierdes");
pauseGame.x = 2000;
exitGame.x = 621;
exitGame.y = 5;
};
};
}
private function mostrarInfoTemporalBonus(_arg1){
bonusLevels.infoTemporal.x = 600;
bonusLevels.infoTemporal.y = 390;
bonusLevels.infoTemporal.texto.text = _arg1;
setTimeout(quitarInfoTemporalBonus, 5000);
}
private function botonInstructionsOver(_arg1:MouseEvent=null):void{
botonInstructions.texto.textColor = 0xFFFFFF;
pongomano();
}
private function mostrarBonus(_arg1:MouseEvent=null){
gotoDoyuGames();
}
private function elijoNivelMundo2(_arg1:MouseEvent=null){
var _local2:*;
preNivel7 = int(_arg1.currentTarget.nivel.text);
_local2 = 1;
while (_local2 <= 10) {
bonusLevels.informacion7.eligeNivel[("nivel" + _local2)].nivel.textColor = 0;
_local2++;
};
bonusLevels.informacion7.eligeNivel[("nivel" + preNivel7)].nivel.textColor = 0xFFFFFF;
}
private function elijoNivelMundo3(_arg1:MouseEvent=null){
var _local2:*;
preNivel8 = int(_arg1.currentTarget.nivel.text);
_local2 = 1;
while (_local2 <= 10) {
bonusLevels.informacion8.eligeNivel[("nivel" + _local2)].nivel.textColor = 0;
_local2++;
};
bonusLevels.informacion8.eligeNivel[("nivel" + preNivel8)].nivel.textColor = 0xFFFFFF;
}
private function pongomano(_arg1:MouseEvent=null){
buttonMode = true;
useHandCursor = true;
}
private function dineroCargado(_arg1:Event){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:URLVariables;
var _local6:*;
_local5 = new URLVariables(_arg1.target.data);
puntos = Math.max(puntos, int(unescape(String(_local5.d))));
_local2 = 1;
while (_local2 <= 8) {
_local6 = unescape(String(_local5[("m" + _local2)]));
if (_local6 >= 1){
mundosLibres[(_local2 - 1)] = true;
};
if (_local6 == 2){
mundosCompletados[(_local2 - 1)] = true;
};
_local2++;
};
_local2 = 1;
while (_local2 <= 8) {
mundosNiveles[(_local2 - 1)] = int(unescape(String(_local5[("p" + _local2)])));
_local2++;
};
removeEventListener(Event.COMPLETE, dineroCargado, false);
}
private function quitomano(_arg1:MouseEvent=null){
buttonMode = false;
useHandCursor = false;
}
private function instruccionesClick(_arg1:MouseEvent=null, _arg2:Boolean=false){
instruccionesOnePlayer.gotoAndStop(1);
instruccionesOnePlayer.x = 0;
instruccionesOnePlayer.y = 0;
if (_arg2 == false){
instruccionesOnePlayer.goToMenu.gotoAndStop(1);
} else {
instruccionesOnePlayer.goToMenu.gotoAndStop(2);
};
}
private function botonBonusOver(_arg1:MouseEvent=null):void{
botonBonus.texto.textColor = 0xFFFFFF;
pongomano();
}
private function botonJugarOut(_arg1:MouseEvent=null):void{
botonJugar.texto.textColor = 0;
quitomano();
}
private function playMundoOver(_arg1:MouseEvent=null){
elegirMundo.informacion.playMundo.gotoAndStop(2);
pongomano();
}
private function genericoOver(_arg1:MouseEvent=null){
_arg1.currentTarget.gotoAndStop(2);
pongomano();
}
private function genericoColorOut(_arg1:MouseEvent=null){
_arg1.currentTarget.texto.textColor = 0;
quitomano();
}
public function bordeEspecialEnIJ(_arg1, _arg2, _arg3=1):MovieClip{
var _local4:*;
var _local5:*;
var _local6:*;
_local6 = null;
_local4 = 1;
while (_local4 <= (cuantosHor * cuantosVer)) {
if (_arg3 == 1){
_local5 = bordesEspeciales.getChildByName(("e" + _local4));
};
if (_arg3 == 2){
_local5 = bordesEspeciales2.getChildByName(("ee" + _local4));
};
if (_arg3 == 3){
_local5 = bordesEspeciales3.getChildByName(("eee" + _local4));
};
if (_local5 != null){
if ((((_local5.posI == _arg1)) && ((_local5.posJ == _arg2)))){
_local6 = _local5;
};
};
_local4++;
};
return (_local6);
}
private function mueveVacias(_arg1, _arg2, _arg3, _arg4):Boolean{
var _local5:*;
if ((((((((_arg1 <= 0)) || ((_arg2 <= 0)))) || ((_arg1 > cuantosVer)))) || ((_arg2 > cuantosHor)))){
return (false);
};
if (zonasProhibidas[_arg1][_arg2] == false){
_local5 = gemaEnIJ(_arg1, _arg2);
if (_local5 != null){
_local5.posI = _arg3;
_local5.posJ = _arg4;
_local5.nuevaPosicion(((_local5.posJ - 1) * distancia), ((_local5.posI - 1) * distancia));
return (true);
};
return (false);
//unresolved jump
};
return (false);
}
private function algunaFichaMalPuesta(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local5 = new Array();
_local1 = 1;
while (_local1 <= cuantosVer) {
_local5[_local1] = new Array();
_local2 = 1;
while (_local2 <= cuantosHor) {
_local5[_local1][_local2] = false;
_local2++;
};
_local1++;
};
_local3 = 1;
while (_local3 <= (cuantosHor * cuantosVer)) {
_local4 = gemas.getChildByName(("g" + _local3));
if (_local4 != null){
if (Math.round(_local4.x) != Math.round(((_local4.posJ - 1) * distancia))){
_local4.nuevaPosicionTotal(((_local4.posJ - 1) * distancia), _local4.y);
};
if (Math.round(_local4.y) != Math.round(((_local4.posI - 1) * distancia))){
_local4.nuevaPosicionTotal(_local4.x, ((_local4.posI - 1) * distancia));
};
if ((((((((_local4.posI >= 1)) && ((_local4.posJ >= 1)))) && ((_local4.posI <= cuantosVer)))) && ((_local4.posJ <= cuantosHor)))){
if (_local5[_local4.posI][_local4.posJ] == true){
trace(((((((("Gema duplicada: " + _local4.posI) + " ") + _local4.posJ) + " ") + x) + " ") + y));
_local4.posI = -110;
_local4.posJ = -110;
_local4.nuevaPosicionTotal(((_local4.posJ - 1) * distancia), ((_local4.posI - 1) * distancia));
} else {
_local5[_local4.posI][_local4.posJ] = true;
if (_local4.activada == true){
_local4.width = _local4.w;
_local4.height = _local4.h;
_local4.visible = true;
};
};
};
};
_local3++;
};
revisaBloqueo();
}
private function botonBonusOut(_arg1:MouseEvent=null):void{
botonBonus.texto.textColor = 0;
quitomano();
}
private function genericoOut(_arg1:MouseEvent=null){
_arg1.currentTarget.gotoAndStop(1);
quitomano();
}
public function reciboExtension(_arg1:Object):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:int;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:String;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:*;
var _local19:*;
var _local20:*;
var _local21:*;
_local2 = sfs.getActiveRoom();
if (_arg1.cmd2 == "tG"){
pantalla = _arg1.p;
datosPantalla(pantalla);
numUF = int(_arg1.nUF);
if (_arg1.vG.length >= 200){
_local4 = 0;
while (_local4 < 200) {
vecGemas[_local4] = _arg1.vG.substr(_local4, 1);
_local4++;
};
empezarJuego2("multiPlayer");
};
};
if (_arg1.cmd2 == "ex2"){
if (modoJuego == "multiPlayer"){
_local8 = vecBloquesGemas[_arg1.uN];
if ((((_local8 == 2)) || ((_local8 == 3)))){
_local9 = gemaEnIJ(_arg1.i, _arg1.j, _local8);
if (_local9 != null){
_local9.visible = false;
};
_local9 = candadoEnIJ(_arg1.i, _arg1.j, _local8);
if (_local9 != null){
_local9.gotoAndStop(1);
};
_local9 = fondoEnIJ(_arg1.i, _arg1.j, _local8);
if (_local9 != null){
if (_local9.currentFrame == 3){
_local9.gotoAndStop(1);
} else {
if (_local9.currentFrame == 4){
_local9.gotoAndStop(3);
};
};
};
};
};
};
if (_arg1.cmd2 == "eto2"){
if (modoJuego == "multiPlayer"){
_local8 = vecBloquesGemas[_arg1.uN];
if ((((_local8 == 2)) || ((_local8 == 3)))){
_local4 = 1;
while (_local4 <= cuantosVer) {
_local5 = 1;
while (_local5 <= cuantosHor) {
_local12 = _arg1.g.substr((((_local4 - 1) * cuantosHor) + (_local5 - 1)), 1);
if (_local12 != "-"){
_local9 = gemaEnIJ(_local4, _local5, _local8);
if (_local9 != null){
_local9.visible = true;
_local9.dibujo.gotoAndStop((((int(_local12) - 1) * 8) + mundo));
};
};
_local5++;
};
_local4++;
};
};
};
};
if (_arg1.cmd2 == "fin2"){
if (modoJuego == "multiPlayer"){
_local11 = int(_arg1.po);
if ((((auxParent.dameUserName() == _arg1.uN)) && ((vecTerminados[_arg1.uN] == false)))){
_local13 = new Array();
_local14 = new Array();
_local15 = new Array();
_local4 = 0;
while (_local4 < (_local11 - 1)) {
_local14.push(_arg1[("ot" + _local4)]);
_local4++;
};
_local16 = true;
for (_local4 in vecUserIds) {
_local16 = true;
_local5 = 0;
while (_local5 < (_local11 - 1)) {
if (_arg1[("ot" + _local5)] == vecUserIds[_local4]){
_local16 = false;
};
_local5++;
};
if ((((_local16 == true)) && (!((_local4 == auxParent.dameUserName()))))){
_local13.push(vecUserIds[_local4]);
};
};
envioResultado(_local11, _local13, _local14, _local15);
_local10 = new FX(this, "completada");
yourPosicion.x = ((userMulti.x + (userMulti.width / 2)) - (yourPosicion.width / 2));
yourPosicion.y = 150;
yourPosicion.texto.text = "";
if (_local11 == 1){
yourPosicion.texto.text = "1st";
yourPosicion.gotoAndStop(1);
};
if (_local11 == 2){
yourPosicion.texto.text = "2nd";
yourPosicion.gotoAndStop(2);
};
if (_local11 == 3){
yourPosicion.texto.text = "3rd";
yourPosicion.gotoAndStop(3);
};
yourPosicion.quedan.visible = false;
vecTerminados[_arg1.uN] = true;
cuantosQuedan--;
} else {
if ((((((vecBloquesGemas[_arg1.uN] == 2)) || ((vecBloquesGemas[_arg1.uN] == 3)))) && ((vecTerminados[_arg1.uN] == false)))){
_local11 = int(_arg1.po);
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].x = ((userMulti2.x + (userMulti2.width / 2)) - (yourPosicion2.width / 2));
if (vecBloquesGemas[_arg1.uN] == 2){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].y = 65;
} else {
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].y = 315;
};
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "";
if (_local11 == 1){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "1st";
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].gotoAndStop(1);
};
if (_local11 == 2){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "2nd";
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].gotoAndStop(2);
};
if (_local11 == 3){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "3rd";
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].gotoAndStop(3);
};
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].quedan.visible = false;
vecTerminados[_arg1.uN] = true;
};
cuantosQuedan--;
if ((((cuantosQuedan == 1)) && ((vecTerminados[auxParent.dameUserName()] == false)))){
finPantalla2();
};
};
};
};
if (_arg1.cmd2 == "r2"){
if ((((((vecBloquesGemas[_arg1.uN] == 2)) || ((vecBloquesGemas[_arg1.uN] == 3)))) && ((vecTerminados[auxParent.dameUserName()] == false)))){
_local17 = true;
_local18 = 0;
this[("rayo" + int((vecBloquesGemas[_arg1.uN] + 1)))].gotoAndPlay(2);
_local10 = new FX(this, "sonido_normal");
while ((((_local17 == true)) && ((_local18 < 200)))) {
_local19 = Math.ceil(((miRandom() * cuantosHor) * cuantosVer));
_local20 = ((_local19 % cuantosHor) + 1);
_local21 = Math.ceil((_local19 / cuantosHor));
if ((((zonasCandados[_local21][_local20] == true)) || ((zonasProhibidas[_local21][_local20] == false)))){
_local9 = fondoEnIJ(_local21, _local20, 1);
if (_local9 != null){
if (_local9.currentFrame == 1){
_local9.gotoAndStop(3);
_local7 = new Object();
_local7.extension = "gems";
_local7.i = _local21;
_local7.j = _local20;
_local7.cmdExtension = "r3";
auxParent.enviarDatoExtension(_local7);
_local17 = false;
};
};
};
_local18++;
};
_local18 = 0;
while ((((_local17 == true)) && ((_local18 < 200)))) {
_local19 = Math.ceil(((miRandom() * cuantosHor) * cuantosVer));
_local20 = ((_local19 % cuantosHor) + 1);
_local21 = Math.ceil((_local19 / cuantosHor));
if ((((zonasCandados[_local21][_local20] == true)) || ((zonasProhibidas[_local21][_local20] == false)))){
_local9 = fondoEnIJ(_local21, _local20, 1);
if (_local9 != null){
if (_local9.currentFrame == 3){
_local9.gotoAndStop(4);
_local7 = new Object();
_local7.extension = "gems";
_local7.i = _local21;
_local7.j = _local20;
_local7.cmdExtension = "r3";
auxParent.enviarDatoExtension(_local7);
_local17 = false;
};
};
};
_local18++;
};
};
};
if (_arg1.cmd2 == "r4"){
if ((((((vecBloquesGemas[_arg1.uN] == 2)) || ((vecBloquesGemas[_arg1.uN] == 3)))) && ((vecTerminados[_arg1.uN] == false)))){
_local9 = fondoEnIJ(_arg1.i, _arg1.j, vecBloquesGemas[_arg1.uN]);
if (_local9 != null){
if (_local9.currentFrame == 1){
_local9.gotoAndStop(3);
} else {
_local9.gotoAndStop(4);
};
};
};
};
if (_arg1.cmd2 == "nT2"){
if (vecTerminados[_arg1.uN] == false){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].x = ((userMulti2.x + (userMulti2.width / 2)) - (yourPosicion2.width / 2));
if (vecBloquesGemas[_arg1.uN] == 2){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].y = 65;
} else {
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].y = 315;
};
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "";
_local11 = _arg1.p;
if (_local11 == 1){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "1st";
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].gotoAndStop(1);
};
if (_local11 == 2){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "2nd";
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].gotoAndStop(2);
};
if (_local11 == 3){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "3rd";
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].gotoAndStop(3);
};
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].quedan.visible = true;
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].quedan.texto.text = (_arg1.c + " plaques left");
vecTerminados[_arg1.uN] = true;
};
};
if (_arg1.cmd2 == "nT2Esp"){
if ((((vecTerminados[_arg1.uN] == false)) && ((vecTerminados[auxParent.dameUserName()] == true)))){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].x = ((userMulti2.x + (userMulti2.width / 2)) - (yourPosicion2.width / 2));
if (vecBloquesGemas[_arg1.uN] == 2){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].y = 65;
} else {
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].y = 315;
};
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "";
_local11 = _arg1.p;
if (_local11 == 1){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "1st";
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].gotoAndStop(1);
};
if (_local11 == 2){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "2nd";
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].gotoAndStop(2);
};
if (_local11 == 3){
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].texto.text = "3rd";
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].gotoAndStop(3);
};
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].quedan.visible = true;
this[("yourPosicion" + vecBloquesGemas[_arg1.uN])].quedan.texto.text = (_arg1.c + " plaques left");
vecTerminados[_arg1.uN] = true;
};
};
}
private function finprecarga2(){
gotoAndStop(3);
}
private function resumeGameClick(_arg1:MouseEvent=null):void{
menu.x = 2000;
tapaPartida.x = 2000;
tapaPartida.width = 1;
tapaPartida.height = 1;
clearInterval(tiempoId);
tiempoId = setInterval(verTiempo, 1000);
}
private function comparaCasilla(_arg1, _arg2, _arg3, _arg4, _arg5=false):Boolean{
var _local6:*;
var _local7:*;
var _local8:*;
_local8 = false;
_local6 = gemaEnIJ(_arg1, _arg2);
_local7 = gemaEnIJ(_arg3, _arg4);
if ((((_local6 == null)) || ((_local7 == null)))){
_local8 = false;
} else {
if (_local6.dibujo.currentFrame == _local7.dibujo.currentFrame){
_local8 = true;
} else {
_local8 = false;
};
};
if ((((zonasProhibidas[_arg3][_arg4] == true)) || ((zonasCandados[_arg3][_arg4] == true)))){
if (_arg5 == false){
_local8 = false;
};
};
return (_local8);
}
private function empezarJuego(_arg1:Event){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
if (precargaObjeto.enlacePrecarga.hasEventListener(MouseEvent.CLICK) == false){
precargaObjeto.enlacePrecarga.addEventListener(MouseEvent.CLICK, gotoDoyuGames, false, 0, true);
precargaObjeto.enlacePrecarga.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
precargaObjeto.enlacePrecarga.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
};
if (currentFrame == 3){
removeEventListener(Event.ENTER_FRAME, empezarJuego, false);
_local2 = 0;
while (_local2 < 200) {
vecGemas[_local2] = Math.ceil((miRandom() * 5));
_local5 = 0;
if (_local2 > 0){
while ((((vecGemas[_local2] == vecGemas[(_local2 - 1)])) && ((_local5 < 100)))) {
_local5++;
vecGemas[_local2] = Math.ceil((miRandom() * 5));
};
};
_local2++;
};
fondoActivo.addEventListener(MouseEvent.MOUSE_DOWN, fueraSelecciono, false, 0, true);
botonJugar.addEventListener(MouseEvent.CLICK, mostrarMapa, false, 0, true);
botonJugar.addEventListener(MouseEvent.MOUSE_OVER, botonJugarOver, false, 0, true);
botonJugar.addEventListener(MouseEvent.MOUSE_OUT, botonJugarOut, false, 0, true);
botonBonus.addEventListener(MouseEvent.CLICK, mostrarBonus, false, 0, true);
botonBonus.addEventListener(MouseEvent.MOUSE_OVER, botonBonusOver, false, 0, true);
botonBonus.addEventListener(MouseEvent.MOUSE_OUT, botonBonusOut, false, 0, true);
botonInstructions.addEventListener(MouseEvent.CLICK, instruccionesClick, false, 0, true);
botonInstructions.addEventListener(MouseEvent.MOUSE_OVER, botonInstructionsOver, false, 0, true);
botonInstructions.addEventListener(MouseEvent.MOUSE_OUT, botonInstructionsOut, false, 0, true);
elegirMundo.infoTemporal.addEventListener(MouseEvent.CLICK, gotoDoyuGamesRegister, false, 0, true);
elegirMundo.infoTemporal.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
elegirMundo.infoTemporal.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
elegirMundo.informacion.x = 2000;
gemas.visible = false;
fondo.visible = false;
bordesEspeciales.visible = false;
candados.visible = false;
gemas2.visible = false;
fondo2.visible = false;
bordesEspeciales2.visible = false;
candados2.visible = false;
gemas3.visible = false;
fondo3.visible = false;
bordesEspeciales3.visible = false;
candados3.visible = false;
botonNextLevel.x = 2000;
botonNextLevel.addEventListener(MouseEvent.CLICK, nextLevel, false, 0, true);
botonNextLevel.addEventListener(MouseEvent.MOUSE_OVER, nextLevelOver, false, 0, true);
botonNextLevel.addEventListener(MouseEvent.MOUSE_OUT, nextLevelOut, false, 0, true);
clipPuntos.x = 2000;
clipLevel.x = 2000;
exitGame.x = 2000;
pauseGame.x = 2000;
clipMartillo.x = 2000;
clipMagia.x = 2000;
clipTiempo.x = 2000;
clipMartillo.addEventListener(MouseEvent.CLICK, clipMartilloClick, false, 0, true);
clipMartillo.addEventListener(MouseEvent.MOUSE_OVER, clipMartilloOver, false, 0, true);
clipMartillo.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
clipMagia.addEventListener(MouseEvent.CLICK, clipMagiaClick, false, 0, true);
clipMagia.addEventListener(MouseEvent.MOUSE_OVER, clipMagiaOver, false, 0, true);
clipMagia.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
exitGame.addEventListener(MouseEvent.CLICK, exitGameClick, false, 0, true);
exitGame.addEventListener(MouseEvent.MOUSE_OVER, exitGameOver, false, 0, true);
exitGame.addEventListener(MouseEvent.MOUSE_OUT, exitGameOut, false, 0, true);
volumen.addEventListener(MouseEvent.CLICK, cambiarVolumen, false, 0, true);
volumen.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
volumen.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
pauseGame.addEventListener(MouseEvent.CLICK, pauseGameClick, false, 0, true);
pauseGame.addEventListener(MouseEvent.MOUSE_OVER, genericoOver, false, 0, true);
pauseGame.addEventListener(MouseEvent.MOUSE_OUT, genericoOut, false, 0, true);
menu.resume.texto.text = "Resume";
menu.restart.texto.text = "Restart";
menu.exit.texto.text = "Exit";
menu.resume.addEventListener(MouseEvent.CLICK, resumeGameClick, false, 0, true);
menu.resume.addEventListener(MouseEvent.MOUSE_OVER, genericoColorOver, false, 0, true);
menu.resume.addEventListener(MouseEvent.MOUSE_OUT, genericoColorOut, false, 0, true);
menu.restart.addEventListener(MouseEvent.CLICK, restartGameClick, false, 0, true);
menu.restart.addEventListener(MouseEvent.MOUSE_OVER, genericoColorOver, false, 0, true);
menu.restart.addEventListener(MouseEvent.MOUSE_OUT, genericoColorOut, false, 0, true);
menu.exit.addEventListener(MouseEvent.CLICK, exitGameClick, false, 0, true);
menu.exit.addEventListener(MouseEvent.MOUSE_OVER, genericoColorOver, false, 0, true);
menu.exit.addEventListener(MouseEvent.MOUSE_OUT, genericoColorOut, false, 0, true);
elegirMundo.x = 2000;
elegirMundo.mundo1.addEventListener(MouseEvent.CLICK, elegirMundoClick, false, 0, true);
elegirMundo.mundo1.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
elegirMundo.mundo1.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
elegirMundo.mundo2.addEventListener(MouseEvent.CLICK, elegirMundoClick, false, 0, true);
elegirMundo.mundo2.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
elegirMundo.mundo2.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
elegirMundo.mundo3.addEventListener(MouseEvent.CLICK, elegirMundoClick, false, 0, true);
elegirMundo.mundo3.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
elegirMundo.mundo3.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
elegirMundo.mundo4.addEventListener(MouseEvent.CLICK, elegirMundoClick, false, 0, true);
elegirMundo.mundo4.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
elegirMundo.mundo4.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
elegirMundo.mundo5.addEventListener(MouseEvent.CLICK, elegirMundoClick, false, 0, true);
elegirMundo.mundo5.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
elegirMundo.mundo5.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
elegirMundo.mundo6.addEventListener(MouseEvent.CLICK, elegirMundoClick, false, 0, true);
elegirMundo.mundo6.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
elegirMundo.mundo6.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
elegirMundo.informacion.cerrarInformacion.addEventListener(MouseEvent.CLICK, cerrarInformacionMundo, false, 0, true);
elegirMundo.informacion.cerrarInformacion.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
elegirMundo.informacion.cerrarInformacion.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
elegirMundo.informacion.buyMundo.addEventListener(MouseEvent.CLICK, buyMundoClick, false, 0, true);
elegirMundo.informacion.buyMundo.addEventListener(MouseEvent.MOUSE_OVER, buyMundoOver, false, 0, true);
elegirMundo.informacion.buyMundo.addEventListener(MouseEvent.MOUSE_OUT, buyMundoOut, false, 0, true);
elegirMundo.informacion.playMundo.addEventListener(MouseEvent.CLICK, playMundoClick, false, 0, true);
elegirMundo.informacion.playMundo.addEventListener(MouseEvent.MOUSE_OVER, playMundoOver, false, 0, true);
elegirMundo.informacion.playMundo.addEventListener(MouseEvent.MOUSE_OUT, playMundoOut, false, 0, true);
_local2 = 0;
while (_local2 < 8) {
mundosLibres[_local2] = false;
mundosCompletados[_local2] = false;
mundosNiveles[_local2] = 0;
_local2++;
};
mundosLibres[0] = true;
elegirMundo.mundo1.gotoAndStop(2);
botonJugar.texto.text = "Play";
botonInstructions.texto.text = "Instructions";
botonNextLevel.texto.text = "Next Level";
enlace.addEventListener(MouseEvent.CLICK, gotoDoyuGames, false, 0, true);
enlace.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
enlace.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
puntosFinLevel.addEventListener(MouseEvent.CLICK, datePrisa, false, 0, true);
instruccionesOnePlayer.seguirDerecha.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
instruccionesOnePlayer.seguirDerecha.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
instruccionesOnePlayer.seguirDerecha.addEventListener(MouseEvent.CLICK, siguienteInstruccion, false, 0, true);
instruccionesOnePlayer.seguirIzquierda.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
instruccionesOnePlayer.seguirIzquierda.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
instruccionesOnePlayer.seguirIzquierda.addEventListener(MouseEvent.CLICK, anteriorInstruccion, false, 0, true);
instruccionesOnePlayer.goToMenu.addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
instruccionesOnePlayer.goToMenu.addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
instruccionesOnePlayer.goToMenu.addEventListener(MouseEvent.CLICK, gotoMenuClick, false, 0, true);
exitGameClick();
tapaGlobal.x = -1;
tapaGlobal.y = -1;
tapaGlobal.width = 652;
tapaGlobal.height = 502;
_local2 = 1;
while (_local2 <= 10) {
elegirMundo.informacion.eligeNivel[("nivel" + _local2)].addEventListener(MouseEvent.CLICK, elijoNivelMundo, false, 0, true);
elegirMundo.informacion.eligeNivel[("nivel" + _local2)].addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
elegirMundo.informacion.eligeNivel[("nivel" + _local2)].addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
bonusLevels.informacion7.eligeNivel[("nivel" + _local2)].addEventListener(MouseEvent.CLICK, elijoNivelMundo2, false, 0, true);
bonusLevels.informacion7.eligeNivel[("nivel" + _local2)].addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
bonusLevels.informacion7.eligeNivel[("nivel" + _local2)].addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
bonusLevels.informacion8.eligeNivel[("nivel" + _local2)].addEventListener(MouseEvent.CLICK, elijoNivelMundo3, false, 0, true);
bonusLevels.informacion8.eligeNivel[("nivel" + _local2)].addEventListener(MouseEvent.MOUSE_OVER, pongomano, false, 0, true);
bonusLevels.informacion8.eligeNivel[("nivel" + _local2)].addEventListener(MouseEvent.MOUSE_OUT, quitomano, false, 0, true);
_local2++;
};
inicioJuegoOnePlayer();
};
}
private function exitGameOut(_arg1:MouseEvent=null):void{
exitGame.gotoAndStop(1);
quitomano();
}
private function exitGameOver(_arg1:MouseEvent=null):void{
exitGame.gotoAndStop(2);
pongomano();
}
private function reordena2(_arg1, _arg2=null){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
_local8 = false;
_local9 = 0;
_local11 = cuantosVer;
_local3 = 1;
while (_local3 <= cuantosVer) {
_local10 = true;
_local4 = 1;
while (_local4 <= cuantosHor) {
if (zonasProhibidas[_local3][_local4] == false){
_local10 = false;
break;
};
_local4++;
};
if (_local10 == true){
_local11 = _local3;
break;
};
_local3++;
};
_local4 = 1;
while (_local4 <= cuantosHor) {
if (zonasProhibidas[1][_local4] == false){
_local9 = 0;
_local3 = 1;
while (_local3 <= _local11) {
if ((((gemaEnIJ(_local3, _local4) == null)) && ((zonasProhibidas[_local3][_local4] == false)))){
_local9++;
} else {
if (zonasProhibidas[_local3][_local4] == true){
break;
};
};
_local3++;
};
while (_local9 > 0) {
_local9--;
_local7 = gemaEnIJ(-(_local9), _local4);
if (_local7 == null){
_local6 = gemaLibre();
if (_local6 != null){
_local6.auxiliarDeCreacion();
_local6.posI = -(_local9);
_local6.posJ = _local4;
_local6.nuevaPosicionTotal(((_local6.posJ - 1) * distancia), ((_local6.posI - 1) * distancia));
_local6.visible = true;
_local6.width = _local6.w;
_local6.height = _local6.h;
};
};
};
};
_local4++;
};
_local3 = (cuantosVer - 1);
while (_local3 >= -10) {
_local4 = 1;
while (_local4 <= cuantosHor) {
_local6 = gemaEnIJ(_local3, _local4);
if (((!((_local6 == null))) && ((zonasCandados[_local6.posI][_local4] == false)))){
if (puedoBajar((_local3 + 1), _local4) == true){
_local6.posI++;
_local6.nuevaPosicion(((_local6.posJ - 1) * distancia), ((_local6.posI - 1) * distancia));
_local8 = true;
};
};
_local4++;
};
_local3--;
};
_local12 = new Array();
_local3 = 1;
while (_local3 <= cuantosVer) {
_local12[_local3] = new Array();
_local4 = 1;
while (_local4 <= cuantosHor) {
_local12[_local3][_local4] = false;
_local4++;
};
_local3++;
};
_local4 = 1;
while (_local4 <= cuantosHor) {
_local3 = 1;
for (;_local3 <= _local11;_local3++) {
if (hayAlgunaArriba(_local3, _local4) == false){
if ((((gemaEnIJ(_local3, _local4) == null)) && ((zonasProhibidas[_local3][_local4] == false)))){
if (mueveVacias((_local3 - 1), (_local4 - 1), _local3, _local4)){
_local8 = true;
} else {
if (mueveVacias((_local3 - 1), (_local4 + 1), _local3, _local4)){
_local8 = true;
continue;
};
};
};
};
};
_local4++;
};
if (_local8 == true){
_local11 = cuantosVer;
_local3 = 1;
while (_local3 <= cuantosVer) {
_local10 = true;
_local4 = 1;
while (_local4 <= cuantosHor) {
if (zonasProhibidas[_local3][_local4] == false){
_local10 = false;
break;
};
_local4++;
};
if (_local10 == true){
_local11 = _local3;
break;
};
_local3++;
};
};
_local4 = 1;
while (_local4 <= cuantosHor) {
_local13 = true;
_local3 = 1;
while (_local3 <= _local11) {
if ((((gemaEnIJ(_local3, _local4) == null)) && ((zonasProhibidas[_local3][_local4] == false)))){
_local13 = false;
};
if (zonasProhibidas[_local3][_local4] == true){
break;
};
_local3++;
};
if (_local13 == true){
_local3 = 0;
while (_local3 >= -20) {
_local6 = gemaEnIJ(_local3, _local4);
if (_local6 != null){
_local6.posI = -110;
_local6.posJ = -110;
} else {
break;
};
_local3--;
};
};
_local4++;
};
_local14 = null;
if ((((_local8 == true)) && ((_arg1 < 100)))){
_arg1++;
if (_arg1 > 90){
trace(("recurrencia: " + _arg1));
};
setTimeout(reordena2, 45, _arg1, _local14);
} else {
sonidoControl = 0;
setTimeout(revisaLineasExtras, 150);
};
}
private function siguienteInstruccion(_arg1:MouseEvent=null):void{
if (instruccionesOnePlayer.currentFrame == instruccionesOnePlayer.totalFrames){
instruccionesOnePlayer.gotoAndStop(1);
} else {
instruccionesOnePlayer.gotoAndStop((instruccionesOnePlayer.currentFrame + 1));
};
}
public function ponerInstruccionesMultiplayer(){
instruccionesClick(null, true);
}
private function inicioMartillo(){
Mouse.hide();
if (hasEventListener(MouseEvent.MOUSE_MOVE) == false){
addEventListener(MouseEvent.MOUSE_MOVE, mueveMartillo, false, 0, true);
};
if (martilloRaton.hasEventListener(MouseEvent.CLICK) == false){
martilloRaton.addEventListener(MouseEvent.CLICK, golpeaMartillo, false, 0, true);
};
}
private function buyMundoOver(_arg1:MouseEvent=null){
elegirMundo.informacion.buyMundo.gotoAndStop(2);
pongomano();
}
private function pauseGameClick(_arg1:MouseEvent=null):void{
tapaPartida.alpha = 0;
tapaPartida.x = 0;
tapaPartida.y = 0;
tapaPartida.width = 500;
tapaPartida.height = 500;
menu.x = 150;
menu.y = 125;
clearInterval(tiempoId);
}
private function buyMundoOut(_arg1:MouseEvent=null){
elegirMundo.informacion.buyMundo.gotoAndStop(1);
quitomano();
}
private function buyMundoClick2(_arg1:MouseEvent=null){
var _local2:*;
var _local3:*;
premundo = _arg1.currentTarget.parent.name.substr(11);
pantalla = (1 + (10 * (premundo - 1)));
_local2 = vecPrecios[(premundo - 1)];
if (puntos < _local2){
mostrarInfoTemporalBonus("You don't have enough money yet to buy this world.");
} else {
mundosLibres[(premundo - 1)] = true;
puntos = (puntos - _local2);
bonusLevels[("informacion" + premundo)].buyMundo.visible = false;
bonusLevels[("informacion" + premundo)].playMundo.visible = true;
bonusLevels.clipPuntos.puntosTexto.text = puntos;
_local3 = new FX(this, "comprado");
};
}
private function restartGameClick(_arg1:MouseEvent=null):void{
menu.x = 2000;
tapaPartida.x = 2000;
tapaPartida.width = 1;
tapaPartida.height = 1;
botonNextLevel.texto.text = "Try again";
nextLevel();
}
public function inicioJuego():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:String;
var _local11:*;
var _local12:*;
tapaGlobal.x = -1;
tapaGlobal.y = -1;
tapaGlobal.width = 652;
tapaGlobal.height = 502;
auxParent = parent.parent.parent;
modoJuego = "multiPlayer";
if (volu_Fx == -1){
volu_Fx = 0;
} else {
if (volu_Fx < 0){
volu_Fx = -(volu_Fx);
};
};
hemosEmpezado = true;
limpiarJuego();
if (auxParent != null){
sfs = auxParent.dameSfs();
_local1 = sfs.getActiveRoom();
for (_local3 in vecTerminados) {
delete vecTerminados[_local3];
};
for (_local3 in vecNombres) {
delete vecNombres[_local3];
};
for (_local3 in vecNombresInverso) {
delete vecNombresInverso[_local3];
};
for (_local3 in vecUserIds) {
delete vecUserIds[_local3];
};
for (_local3 in vecSeMiPosicion) {
delete vecSeMiPosicion[_local3];
};
for (_local3 in vecBloquesGemas) {
delete vecBloquesGemas[_local3];
};
_local2 = auxParent.dameUsers();
_local6 = 0;
for (_local3 in _local2) {
_local6++;
};
_local4 = 1;
cuantosSomos = 0;
_local7 = 1;
for (_local3 in _local2) {
vecNombres[_local2[_local3].getName()] = _local4;
vecNombresInverso[_local4] = _local2[_local3].getName();
vecPosicionesX[vecNombres[_local2[_local3].getName()]] = _local4;
if (_local2[_local3].getName() == auxParent.dameUserName()){
userMulti.texto.text = _local2[_local3].getName();
} else {
_local7++;
vecBloquesGemas[_local2[_local3].getName()] = _local7;
this[("userMulti" + _local7)].texto.text = _local2[_local3].getName();
};
_local4++;
vecUserIds[_local2[_local3].getName()] = _local2[_local3].getId();
vecTerminados[_local2[_local3].getName()] = false;
vecSeMiPosicion[_local2[_local3].getName()] = false;
cuantosSomos++;
if (_local4 >= 9){
break;
};
};
cuantosQuedan = cuantosSomos;
if (auxParent.dameUserName() == _local1.getVariable("c")){
_local8 = miRandom();
pantalla = 1;
if (_local1.getVariable("o0") == 0){
if ((((_local8 >= 0)) && ((_local8 < 0.2)))){
pantalla = 1;
};
if ((((_local8 >= 0.2)) && ((_local8 < 0.4)))){
pantalla = 3;
};
if ((((_local8 >= 0.4)) && ((_local8 < 0.6)))){
pantalla = 21;
};
if ((((_local8 >= 0.6)) && ((_local8 < 0.8)))){
pantalla = 22;
};
if ((((_local8 >= 0.8)) && ((_local8 <= 1)))){
pantalla = 31;
};
} else {
if (_local1.getVariable("o0") == 1){
if ((((_local8 >= 0)) && ((_local8 < 0.2)))){
pantalla = 13;
};
if ((((_local8 >= 0.2)) && ((_local8 < 0.4)))){
pantalla = 4;
};
if ((((_local8 >= 0.4)) && ((_local8 < 0.6)))){
pantalla = 36;
};
if ((((_local8 >= 0.6)) && ((_local8 < 0.8)))){
pantalla = 14;
};
if ((((_local8 >= 0.8)) && ((_local8 <= 1)))){
pantalla = 23;
};
} else {
if ((((_local8 >= 0)) && ((_local8 < 0.2)))){
pantalla = 7;
};
if ((((_local8 >= 0.2)) && ((_local8 < 0.4)))){
pantalla = 16;
};
if ((((_local8 >= 0.4)) && ((_local8 < 0.6)))){
pantalla = 5;
};
if ((((_local8 >= 0.6)) && ((_local8 < 0.8)))){
pantalla = 27;
};
if ((((_local8 >= 0.8)) && ((_local8 <= 1)))){
pantalla = 18;
};
};
};
_local9 = new Object();
_local9.extension = "gems";
_local10 = "";
_local11 = new Array();
_local3 = 0;
while (_local3 < 200) {
_local11[_local3] = Math.ceil((miRandom() * 5));
_local12 = 0;
if (_local3 > 0){
while ((((_local11[_local3] == _local11[(_local3 - 1)])) && ((_local12 < 100)))) {
_local12++;
_local11[_local3] = Math.ceil((miRandom() * 5));
};
};
_local10 = (_local10 + _local11[_local3]);
_local3++;
};
_local9.vG = _local10;
_local9.p = pantalla;
_local9.cmdExtension = "vG";
auxParent.enviarDatoExtension(_local9);
};
};
}
private function inicioJuegoOnePlayer3(_arg1:MouseEvent=null){
empezarJuego2();
}
private function playMundoClick(_arg1:MouseEvent=null){
pantalla = (preNivel + (10 * (premundo - 1)));
elegirMundo.x = 2000;
datosPantalla(pantalla);
empezarJuego2();
}
private function cambiarVolumen(_arg1:MouseEvent){
if (volu_Fx == 25){
volu_Fx = 0;
volumen.gotoAndStop(5);
} else {
if (volu_Fx == 50){
volu_Fx = 25;
volumen.gotoAndStop(4);
} else {
if (volu_Fx == 75){
volu_Fx = 50;
volumen.gotoAndStop(3);
} else {
if (volu_Fx == 100){
volu_Fx = 75;
volumen.gotoAndStop(2);
} else {
volu_Fx = 100;
volumen.gotoAndStop(1);
};
};
};
};
}
private function empezarJuego2(_arg1="onePlayer"){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:URLLoader;
var _local17:URLRequest;
var _local18:URLVariables;
var _local19:*;
var _local20:*;
_local9 = 0;
contGemas = 0;
indiceMaximo = 0;
dentroPantalla = true;
martillo = 0;
magia = 0;
prepuntos = 0;
tiempo = 500;
gemas.visible = false;
fondo.visible = false;
bordesEspeciales.visible = false;
candados.visible = false;
gemas2.visible = false;
fondo2.visible = false;
bordesEspeciales2.visible = false;
candados2.visible = false;
gemas3.visible = false;
fondo3.visible = false;
bordesEspeciales3.visible = false;
candados3.visible = false;
puzzleBlocked.x = 2000;
puntosFinLevel.x = 2000;
enlace.x = 2000;
tapaPartida.x = 2000;
tapaPartida.width = 1;
tapaPartida.height = 1;
estadoMusica = false;
_local10 = new FX(this, "sonido2");
fondoVisual.gotoAndStop(mundo);
_local2 = -20;
while (_local2 <= (cuantosVer + 3)) {
zonasProhibidas[_local2] = new Array();
zonasCandados[_local2] = new Array();
_local3 = -10;
while (_local3 <= (cuantosHor + 3)) {
zonasProhibidas[_local2][_local3] = false;
zonasCandados[_local2][_local3] = false;
_local3++;
};
_local2++;
};
_local11 = new Array();
for (_local4 in mapaVacias[0]) {
_local11 = mapaVacias[0][_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
zonasProhibidas[_local2][_local3] = true;
};
_local12 = new Array();
_local2 = 0;
while (_local2 < gemas.numChildren) {
if (gemas.getChildAt(_local2).name != "borde"){
_local13 = gemas.getChildAt(_local2);
_local13.quitaListeners();
_local12.push(gemas.getChildAt(_local2));
(_local13 == null);
};
_local2++;
};
for (_local2 in _local12) {
gemas.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < fondo.numChildren) {
_local12.push(fondo.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
fondo.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < candados.numChildren) {
_local12.push(candados.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
candados.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < bordesEspeciales.numChildren) {
_local12.push(bordesEspeciales.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
bordesEspeciales.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < mascara.numChildren) {
_local12.push(mascara.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
mascara.removeChild(_local12[_local2]);
};
_local12 = null;
if (modoJuego == "onePlayer"){
_local16 = new URLLoader();
_local17 = new URLRequest((direccionWeb + "inc.php"));
_local17.method = URLRequestMethod.POST;
_local18 = new URLVariables();
_local18.juego = "doyugems";
_local18.tipo = 0;
_local18.url = LoaderInfo(this.root.loaderInfo).url;
_local18.modo = "normal";
_local17.data = _local18;
_local16.load(_local17);
};
if (modoJuego == "multiPlayer"){
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < gemas2.numChildren) {
if (gemas2.getChildAt(_local2).name != "borde"){
_local13 = gemas2.getChildAt(_local2);
_local13.quitaListeners();
_local12.push(gemas2.getChildAt(_local2));
(_local13 == null);
};
_local2++;
};
for (_local2 in _local12) {
gemas2.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < fondo2.numChildren) {
_local12.push(fondo2.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
fondo2.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < candados2.numChildren) {
_local12.push(candados2.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
candados2.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < bordesEspeciales2.numChildren) {
_local12.push(bordesEspeciales2.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
bordesEspeciales2.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < mascara2.numChildren) {
_local12.push(mascara2.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
mascara2.removeChild(_local12[_local2]);
};
_local12 = null;
if (cuantosSomos >= 3){
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < gemas3.numChildren) {
if (gemas3.getChildAt(_local2).name != "borde"){
_local13 = gemas3.getChildAt(_local2);
_local13.quitaListeners();
_local12.push(gemas3.getChildAt(_local2));
(_local13 == null);
};
_local2++;
};
for (_local2 in _local12) {
gemas3.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < fondo3.numChildren) {
_local12.push(fondo3.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
fondo3.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < candados3.numChildren) {
_local12.push(candados3.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
candados3.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < bordesEspeciales3.numChildren) {
_local12.push(bordesEspeciales3.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
bordesEspeciales3.removeChild(_local12[_local2]);
};
_local12 = null;
_local12 = new Array();
_local2 = 0;
while (_local2 < mascara3.numChildren) {
_local12.push(mascara3.getChildAt(_local2));
_local2++;
};
for (_local2 in _local12) {
mascara3.removeChild(_local12[_local2]);
};
_local12 = null;
};
};
_local3 = 1;
while (_local3 <= cuantosHor) {
_local2 = 1;
while (_local2 <= cuantosVer) {
if ((((modoJuego == "multiPlayer")) && ((vecGemas[contGemas] == 5)))){
_local5 = new gema(_local2, _local3, ((_local3 - 1) * distancia), ((_local2 - 1) * distancia), 6, mundo);
} else {
_local5 = new gema(_local2, _local3, ((_local3 - 1) * distancia), ((_local2 - 1) * distancia), vecGemas[contGemas], mundo);
};
contGemas++;
_local5.name = ("g" + contGemas);
_local5.cacheAsBitmap = true;
gemas.addChild(_local5);
_local6 = new fondogema(_local2, _local3, ((_local3 - 1) * distancia), ((_local2 - 1) * distancia));
_local6.name = ("f" + contGemas);
_local6.bordeIzquierda.visible = false;
_local6.bordeDerecha.visible = false;
_local6.bordeArriba.visible = false;
_local6.bordeAbajo.visible = false;
_local6.esquinaArribaIzquierda.visible = false;
_local6.esquinaArribaDerecha.visible = false;
_local6.esquinaAbajoIzquierda.visible = false;
_local6.esquinaAbajoDerecha.visible = false;
_local6.bordeIzquierda.cacheAsBitmap = true;
_local6.bordeDerecha.cacheAsBitmap = true;
_local6.bordeArriba.cacheAsBitmap = true;
_local6.bordeAbajo.cacheAsBitmap = true;
_local6.esquinaArribaIzquierda.cacheAsBitmap = true;
_local6.esquinaArribaDerecha.cacheAsBitmap = true;
_local6.esquinaAbajoIzquierda.cacheAsBitmap = true;
_local6.esquinaAbajoDerecha.cacheAsBitmap = true;
_local6.cacheAsBitmap = true;
fondo.addChild(_local6);
_local8 = new bordeespecial(_local2, _local3, ((_local3 - 1) * distancia), ((_local2 - 1) * distancia));
_local8.name = ("e" + contGemas);
_local8.esqEspArrDer.visible = false;
_local8.esqEspArrIzq.visible = false;
_local8.esqEspAbaIzq.visible = false;
_local8.esqEspAbaDer.visible = false;
_local8.esqEspArrDer.cacheAsBitmap = true;
_local8.esqEspArrIzq.cacheAsBitmap = true;
_local8.esqEspAbaIzq.cacheAsBitmap = true;
_local8.esqEspAbaDer.cacheAsBitmap = true;
_local8.cacheAsBitmap = true;
bordesEspeciales.addChild(_local8);
if (zonasProhibidas[_local2][_local3] == false){
_local7 = new fondogemamascara(_local2, _local3, ((_local3 - 1) * distancia), ((_local2 - 1) * distancia));
_local7.name = ("m" + contGemas);
mascara.addChild(_local7);
};
_local7 = new candado(_local2, _local3, ((_local3 - 1) * distancia), ((_local2 - 1) * distancia));
_local7.name = ("c" + contGemas);
_local7.cacheAsBitmap = true;
candados.addChild(_local7);
indiceMaximo = Math.max(indiceMaximo, gemas.getChildIndex(_local5));
_local2++;
};
_local3++;
};
gemas.mask = mascara;
for (_local4 in vecCandados) {
_local11 = vecCandados[_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
_local5 = candadoEnIJ(_local2, _local3);
if (_local5 != null){
_local5.gotoAndStop(2);
zonasCandados[_local2][_local3] = true;
zonasProhibidas[_local2][_local3] = true;
};
};
for (_local4 in vecObjetivos) {
_local11 = vecObjetivos[_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
_local5 = fondoEnIJ(_local2, _local3);
if (_local5 != null){
_local5.gotoAndStop(3);
};
};
for (_local4 in vecObjetivosDobles) {
_local11 = vecObjetivosDobles[_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
_local5 = fondoEnIJ(_local2, _local3);
if (_local5 != null){
_local5.gotoAndStop(4);
};
};
_local3 = 1;
while (_local3 <= cuantosHor) {
_local2 = 1;
while (_local2 <= cuantosVer) {
_local5 = gemaEnIJ(_local2, _local3);
if (_local5 != null){
_local9 = 0;
while ((((hagoLinea(_local2, _local3) == true)) && ((_local9 < 100)))) {
_local9++;
_local5.dibujo.gotoAndStop((((vecGemas[contGemas] - 1) * 8) + mundo));
if ((((modoJuego == "multiPlayer")) && ((vecGemas[contGemas] == 5)))){
_local5.dibujo.gotoAndStop((((6 - 1) * 8) + mundo));
} else {
_local5.dibujo.gotoAndStop((((vecGemas[contGemas] - 1) * 8) + mundo));
};
contGemas++;
};
};
_local2++;
};
_local3++;
};
gemas.setChildIndex(gemas.borde, indiceMaximo);
if (modoJuego == "multiPlayer"){
_local19 = 0;
_local20 = Math.round((distancia / 2));
_local3 = 1;
while (_local3 <= cuantosHor) {
_local2 = 1;
while (_local2 <= cuantosVer) {
if ((((modoJuego == "multiPlayer")) && ((vecGemas[_local19] == 5)))){
_local5 = new gema(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20), 6, mundo, 2);
} else {
_local5 = new gema(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20), vecGemas[_local19], mundo, 2);
};
_local19++;
_local5.name = ("gg" + _local19);
_local5.width = Math.round((_local5.width / 2));
_local5.height = Math.round((_local5.height / 2));
_local5.cacheAsBitmap = true;
gemas2.addChild(_local5);
_local6 = new fondogema(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20));
_local6.name = ("ff" + _local19);
_local6.bordeIzquierda.visible = false;
_local6.bordeDerecha.visible = false;
_local6.bordeArriba.visible = false;
_local6.bordeAbajo.visible = false;
_local6.esquinaArribaIzquierda.visible = false;
_local6.esquinaArribaDerecha.visible = false;
_local6.esquinaAbajoIzquierda.visible = false;
_local6.esquinaAbajoDerecha.visible = false;
_local6.bordeIzquierda.cacheAsBitmap = true;
_local6.bordeDerecha.cacheAsBitmap = true;
_local6.bordeArriba.cacheAsBitmap = true;
_local6.bordeAbajo.cacheAsBitmap = true;
_local6.esquinaArribaIzquierda.cacheAsBitmap = true;
_local6.esquinaArribaDerecha.cacheAsBitmap = true;
_local6.esquinaAbajoIzquierda.cacheAsBitmap = true;
_local6.esquinaAbajoDerecha.cacheAsBitmap = true;
_local6.width = Math.round((_local6.width / 2));
_local6.height = Math.round((_local6.height / 2));
_local6.cacheAsBitmap = true;
fondo2.addChild(_local6);
_local8 = new bordeespecial(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20));
_local8.name = ("ee" + _local19);
_local8.esqEspArrDer.visible = false;
_local8.esqEspArrIzq.visible = false;
_local8.esqEspAbaIzq.visible = false;
_local8.esqEspAbaDer.visible = false;
_local8.esqEspArrDer.cacheAsBitmap = true;
_local8.esqEspArrIzq.cacheAsBitmap = true;
_local8.esqEspAbaIzq.cacheAsBitmap = true;
_local8.esqEspAbaDer.cacheAsBitmap = true;
_local8.esqEspAbaIzq.y = (_local8.esqEspAbaIzq.y + 2);
_local8.esqEspAbaDer.y = (_local8.esqEspAbaDer.y + 2);
_local8.width = Math.round((_local8.width / 2));
_local8.height = Math.round((_local8.height / 2));
_local8.cacheAsBitmap = true;
bordesEspeciales2.addChild(_local8);
if ((((zonasProhibidas[_local2][_local3] == false)) || ((zonasCandados[_local2][_local3] == true)))){
_local7 = new fondogemamascara(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20));
_local7.name = ("mm" + _local19);
_local7.width = Math.round((_local7.width / 2));
_local7.height = Math.round((_local7.height / 2));
mascara2.addChild(_local7);
};
_local7 = new candado(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20));
_local7.name = ("cc" + _local19);
_local7.cacheAsBitmap = true;
candados2.addChild(_local7);
_local2++;
};
_local3++;
};
gemas2.mask = mascara2;
for (_local4 in vecCandados) {
_local11 = vecCandados[_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
_local5 = candadoEnIJ(_local2, _local3, 2);
if (_local5 != null){
_local5.gotoAndStop(2);
_local5.width = Math.round((_local5.width / 2));
_local5.height = Math.round((_local5.height / 2));
};
};
for (_local4 in vecObjetivos) {
_local11 = vecObjetivos[_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
_local5 = fondoEnIJ(_local2, _local3, 2);
if (_local5 != null){
_local5.gotoAndStop(3);
};
};
for (_local4 in vecObjetivosDobles) {
_local11 = vecObjetivosDobles[_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
_local5 = fondoEnIJ(_local2, _local3, 2);
if (_local5 != null){
_local5.gotoAndStop(4);
};
};
if (cuantosSomos >= 3){
_local19 = 0;
_local3 = 1;
while (_local3 <= cuantosHor) {
_local2 = 1;
while (_local2 <= cuantosVer) {
if ((((modoJuego == "multiPlayer")) && ((vecGemas[_local19] == 5)))){
_local5 = new gema(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20), 6, mundo, 2);
} else {
_local5 = new gema(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20), vecGemas[_local19], mundo, 2);
};
_local19++;
_local5.name = ("ggg" + _local19);
_local5.width = Math.round((_local5.width / 2));
_local5.height = Math.round((_local5.height / 2));
_local5.cacheAsBitmap = true;
gemas3.addChild(_local5);
_local6 = new fondogema(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20));
_local6.name = ("fff" + _local19);
_local6.bordeIzquierda.visible = false;
_local6.bordeDerecha.visible = false;
_local6.bordeArriba.visible = false;
_local6.bordeAbajo.visible = false;
_local6.esquinaArribaIzquierda.visible = false;
_local6.esquinaArribaDerecha.visible = false;
_local6.esquinaAbajoIzquierda.visible = false;
_local6.esquinaAbajoDerecha.visible = false;
_local6.bordeIzquierda.cacheAsBitmap = true;
_local6.bordeDerecha.cacheAsBitmap = true;
_local6.bordeArriba.cacheAsBitmap = true;
_local6.bordeAbajo.cacheAsBitmap = true;
_local6.esquinaArribaIzquierda.cacheAsBitmap = true;
_local6.esquinaArribaDerecha.cacheAsBitmap = true;
_local6.esquinaAbajoIzquierda.cacheAsBitmap = true;
_local6.esquinaAbajoDerecha.cacheAsBitmap = true;
_local6.width = Math.round((_local6.width / 2));
_local6.height = Math.round((_local6.height / 2));
_local6.cacheAsBitmap = true;
fondo3.addChild(_local6);
_local8 = new bordeespecial(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20));
_local8.name = ("eee" + _local19);
_local8.esqEspArrDer.visible = false;
_local8.esqEspArrIzq.visible = false;
_local8.esqEspAbaIzq.visible = false;
_local8.esqEspAbaDer.visible = false;
_local8.esqEspArrDer.cacheAsBitmap = true;
_local8.esqEspArrIzq.cacheAsBitmap = true;
_local8.esqEspAbaIzq.cacheAsBitmap = true;
_local8.esqEspAbaDer.cacheAsBitmap = true;
_local8.width = Math.round((_local8.width / 2));
_local8.height = Math.round((_local8.height / 2));
_local8.cacheAsBitmap = true;
bordesEspeciales3.addChild(_local8);
if ((((zonasProhibidas[_local2][_local3] == false)) || ((zonasCandados[_local2][_local3] == true)))){
_local7 = new fondogemamascara(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20));
_local7.name = ("mmm" + _local19);
_local7.width = Math.round((_local7.width / 2));
_local7.height = Math.round((_local7.height / 2));
mascara3.addChild(_local7);
};
_local7 = new candado(_local2, _local3, ((_local3 - 1) * _local20), ((_local2 - 1) * _local20));
_local7.name = ("ccc" + _local19);
_local7.cacheAsBitmap = true;
candados3.addChild(_local7);
_local2++;
};
_local3++;
};
gemas3.mask = mascara3;
for (_local4 in vecCandados) {
_local11 = vecCandados[_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
_local5 = candadoEnIJ(_local2, _local3, 3);
if (_local5 != null){
_local5.gotoAndStop(2);
_local5.width = Math.round((_local5.width / 2));
_local5.height = Math.round((_local5.height / 2));
};
};
for (_local4 in vecObjetivos) {
_local11 = vecObjetivos[_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
_local5 = fondoEnIJ(_local2, _local3, 3);
if (_local5 != null){
_local5.gotoAndStop(3);
};
};
for (_local4 in vecObjetivosDobles) {
_local11 = vecObjetivosDobles[_local4].split("-");
_local2 = _local11[0];
_local3 = _local11[1];
_local5 = fondoEnIJ(_local2, _local3, 3);
if (_local5 != null){
_local5.gotoAndStop(4);
};
};
};
};
if (modoJuego == "multiPlayer"){
_local19 = (cuantosHor * cuantosVer);
_local3 = 1;
while (_local3 <= cuantosHor) {
_local2 = 1;
while (_local2 <= cuantosVer) {
_local5 = gemaEnIJ(_local2, _local3, 2);
if (_local5 != null){
_local9 = 0;
while ((((hagoLinea(_local2, _local3, 2) == true)) && ((_local9 < 100)))) {
_local9++;
_local5.dibujo.gotoAndStop((((vecGemas[_local19] - 1) * 8) + mundo));
if ((((modoJuego == "multiPlayer")) && ((vecGemas[_local19] == 5)))){
_local5.dibujo.gotoAndStop((((6 - 1) * 8) + mundo));
} else {
_local5.dibujo.gotoAndStop((((vecGemas[_local19] - 1) * 8) + mundo));
};
_local19++;
};
};
_local2++;
};
_local3++;
};
if (cuantosSomos >= 3){
_local19 = (cuantosHor * cuantosVer);
_local3 = 1;
while (_local3 <= cuantosHor) {
_local2 = 1;
while (_local2 <= cuantosVer) {
_local5 = gemaEnIJ(_local2, _local3, 3);
if (_local5 != null){
_local9 = 0;
while ((((hagoLinea(_local2, _local3, 3) == true)) && ((_local9 < 100)))) {
_local9++;
_local5.dibujo.gotoAndStop((((vecGemas[_local19] - 1) * 8) + mundo));
if ((((modoJuego == "multiPlayer")) && ((vecGemas[_local19] == 5)))){
_local5.dibujo.gotoAndStop((((6 - 1) * 8) + mundo));
} else {
_local5.dibujo.gotoAndStop((((vecGemas[_local19] - 1) * 8) + mundo));
};
_local19++;
};
};
_local2++;
};
_local3++;
};
};
};
_local2 = 1;
while (_local2 <= cuantosVer) {
_local14 = true;
_local3 = 1;
while (_local3 <= cuantosHor) {
if (zonasProhibidas[_local2][_local3] == false){
_local14 = false;
break;
};
_local3++;
};
if (_local14 == true){
_local15 = _local2;
break;
};
_local2++;
};
if (_local14 == true){
_local2 = (_local15 + 1);
while (_local2 <= cuantosVer) {
_local3 = 1;
while (_local3 <= cuantosHor) {
if (zonasCandados[_local2][_local3] == false){
_local5 = gemaEnIJ(_local2, _local3);
if (_local5 != null){
_local5.posI = -110;
_local5.posJ = -110;
_local5.visible = false;
};
if (modoJuego == "multiPlayer"){
_local5 = gemaEnIJ(_local2, _local3, 2);
if (_local5 != null){
_local5.visible = false;
};
if (cuantosSomos >= 3){
_local5 = gemaEnIJ(_local2, _local3, 3);
if (_local5 != null){
_local5.visible = false;
};
};
};
};
_local3++;
};
_local2++;
};
};
setTimeout(empezarJuego3, 200, _arg1);
}
private function empezarJuego3(_arg1="onePlayer"){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
for (_local4 in mapaVacias[0]) {
_local5 = mapaVacias[0][_local4].split("-");
_local2 = _local5[0];
_local3 = _local5[1];
_local6 = fondoEnIJ(_local2, _local3);
if (_local6 != null){
_local6.gotoAndStop(2);
_local7 = gemaEnIJ(_local2, _local3);
if (_local7 != null){
_local7.anula();
};
};
if (modoJuego == "multiPlayer"){
_local6 = fondoEnIJ(_local2, _local3, 2);
if (_local6 != null){
_local6.gotoAndStop(2);
_local7 = gemaEnIJ(_local2, _local3, 2);
if (_local7 != null){
_local7.anula();
};
};
if (cuantosSomos >= 3){
_local6 = fondoEnIJ(_local2, _local3, 3);
if (_local6 != null){
_local6.gotoAndStop(2);
_local7 = gemaEnIJ(_local2, _local3, 3);
if (_local7 != null){
_local7.anula();
};
};
};
};
};
_local2 = 1;
while (_local2 <= cuantosVer) {
_local3 = 1;
for (;_local3 <= cuantosHor;_local3++) {
_local6 = fondoEnIJ(_local2, _local3);
if (_local6 != null){
if (_local6.currentFrame == 2){
continue;
};
if (revisaBorde(_local2, (_local3 + 1)) == true){
_local6.bordeDerecha.visible = true;
};
if (revisaBorde(_local2, (_local3 - 1)) == true){
_local6.bordeIzquierda.visible = true;
};
if (revisaBorde((_local2 + 1), _local3) == true){
_local6.bordeAbajo.visible = true;
};
if (revisaBorde((_local2 - 1), _local3) == true){
_local6.bordeArriba.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == true)) && ((revisaBorde((_local2 - 1), (_local3 + 1)) == true)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esquinaArribaDerecha.visible = true;
};
if ((((((revisaBorde((_local2 + 1), _local3) == true)) && ((revisaBorde((_local2 + 1), (_local3 + 1)) == true)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esquinaAbajoDerecha.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == true)) && ((revisaBorde((_local2 - 1), (_local3 - 1)) == true)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esquinaArribaIzquierda.visible = true;
};
if ((((((revisaBorde((_local2 + 1), _local3) == true)) && ((revisaBorde((_local2 + 1), (_local3 - 1)) == true)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esquinaAbajoIzquierda.visible = true;
};
};
if (modoJuego == "multiPlayer"){
_local6 = fondoEnIJ(_local2, _local3, 2);
if (_local6 != null){
if (_local6.currentFrame == 2){
continue;
};
if (revisaBorde(_local2, (_local3 + 1)) == true){
_local6.bordeDerecha.visible = true;
};
if (revisaBorde(_local2, (_local3 - 1)) == true){
_local6.bordeIzquierda.visible = true;
};
if (revisaBorde((_local2 + 1), _local3) == true){
_local6.bordeAbajo.visible = true;
};
if (revisaBorde((_local2 - 1), _local3) == true){
_local6.bordeArriba.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == true)) && ((revisaBorde((_local2 - 1), (_local3 + 1)) == true)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esquinaArribaDerecha.visible = true;
};
if ((((((revisaBorde((_local2 + 1), _local3) == true)) && ((revisaBorde((_local2 + 1), (_local3 + 1)) == true)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esquinaAbajoDerecha.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == true)) && ((revisaBorde((_local2 - 1), (_local3 - 1)) == true)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esquinaArribaIzquierda.visible = true;
};
if ((((((revisaBorde((_local2 + 1), _local3) == true)) && ((revisaBorde((_local2 + 1), (_local3 - 1)) == true)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esquinaAbajoIzquierda.visible = true;
};
};
if (cuantosSomos >= 3){
_local6 = fondoEnIJ(_local2, _local3, 3);
if (_local6 != null){
if (_local6.currentFrame == 2){
continue;
};
if (revisaBorde(_local2, (_local3 + 1)) == true){
_local6.bordeDerecha.visible = true;
};
if (revisaBorde(_local2, (_local3 - 1)) == true){
_local6.bordeIzquierda.visible = true;
};
if (revisaBorde((_local2 + 1), _local3) == true){
_local6.bordeAbajo.visible = true;
};
if (revisaBorde((_local2 - 1), _local3) == true){
_local6.bordeArriba.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == true)) && ((revisaBorde((_local2 - 1), (_local3 + 1)) == true)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esquinaArribaDerecha.visible = true;
};
if ((((((revisaBorde((_local2 + 1), _local3) == true)) && ((revisaBorde((_local2 + 1), (_local3 + 1)) == true)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esquinaAbajoDerecha.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == true)) && ((revisaBorde((_local2 - 1), (_local3 - 1)) == true)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esquinaArribaIzquierda.visible = true;
};
if ((((((revisaBorde((_local2 + 1), _local3) == true)) && ((revisaBorde((_local2 + 1), (_local3 - 1)) == true)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esquinaAbajoIzquierda.visible = true;
};
};
};
};
_local6 = bordeEspecialEnIJ(_local2, _local3);
if (_local6 != null){
if ((((((revisaBorde((_local2 + 1), _local3) == false)) && ((revisaBorde((_local2 + 1), (_local3 - 1)) == false)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esqEspAbaIzq.visible = true;
};
if ((((((revisaBorde((_local2 + 1), _local3) == false)) && ((revisaBorde((_local2 + 1), (_local3 + 1)) == false)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esqEspAbaDer.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == false)) && ((revisaBorde((_local2 - 1), (_local3 - 1)) == false)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esqEspArrIzq.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == false)) && ((revisaBorde((_local2 - 1), (_local3 + 1)) == false)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esqEspArrDer.visible = true;
};
};
if (modoJuego == "multiPlayer"){
_local6 = bordeEspecialEnIJ(_local2, _local3, 2);
if (_local6 != null){
if ((((((revisaBorde((_local2 + 1), _local3) == false)) && ((revisaBorde((_local2 + 1), (_local3 - 1)) == false)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esqEspAbaIzq.visible = true;
};
if ((((((revisaBorde((_local2 + 1), _local3) == false)) && ((revisaBorde((_local2 + 1), (_local3 + 1)) == false)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esqEspAbaDer.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == false)) && ((revisaBorde((_local2 - 1), (_local3 - 1)) == false)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esqEspArrIzq.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == false)) && ((revisaBorde((_local2 - 1), (_local3 + 1)) == false)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esqEspArrDer.visible = true;
};
};
if (cuantosSomos >= 3){
_local6 = bordeEspecialEnIJ(_local2, _local3, 3);
if (_local6 != null){
if ((((((revisaBorde((_local2 + 1), _local3) == false)) && ((revisaBorde((_local2 + 1), (_local3 - 1)) == false)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esqEspAbaIzq.visible = true;
};
if ((((((revisaBorde((_local2 + 1), _local3) == false)) && ((revisaBorde((_local2 + 1), (_local3 + 1)) == false)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esqEspAbaDer.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == false)) && ((revisaBorde((_local2 - 1), (_local3 - 1)) == false)))) && ((revisaBorde(_local2, (_local3 - 1)) == true)))){
_local6.esqEspArrIzq.visible = true;
};
if ((((((revisaBorde((_local2 - 1), _local3) == false)) && ((revisaBorde((_local2 - 1), (_local3 + 1)) == false)))) && ((revisaBorde(_local2, (_local3 + 1)) == true)))){
_local6.esqEspArrDer.visible = true;
};
};
};
};
};
_local2++;
};
setTimeout(empezarJuego4, 300, _arg1);
}
private function inicioJuegoOnePlayer2(_arg1:MouseEvent=null){
botonJugar.x = 2000;
}
private function gemaLibre():MovieClip{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = null;
_local2 = 1;
while (_local2 <= (cuantosHor * cuantosVer)) {
_local3 = gemas.getChildByName(("g" + _local2));
if (_local3 != null){
if ((((((_local3.posI < -100)) && ((_local3.posJ < -100)))) && ((_local3.activada == true)))){
if ((((_local3.width < 11)) && ((_local3.height < 11)))){
_local1 = _local3;
break;
};
};
};
_local2++;
};
if (_local1 == null){
_local2 = 1;
while (_local2 <= (cuantosHor * cuantosVer)) {
_local3 = gemas.getChildByName(("g" + _local2));
if (_local3 != null){
if ((((((_local3.posI < -100)) && ((_local3.posJ < -100)))) && ((_local3.activada == true)))){
_local1 = _local3;
break;
};
};
_local2++;
};
};
return (_local1);
}
private function empezarJuego4(_arg1="onePlayer"){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = 420;
_local3 = 60;
_local4 = 310;
infoIngame.x = 2000;
if (_arg1 == "multiPlayer"){
clipPuntos.x = 2000;
clipLevel.x = 2000;
exitGame.x = 2000;
pauseGame.x = 2000;
_local5 = sfs.getActiveRoom();
if (_local5.getVariable("o1") == 0){
clipMagia.x = 101;
} else {
clipMagia.x = 2000;
};
clipMagia.y = 445;
clipTiempo.x = 200;
clipTiempo.y = 448;
if (_local5.getVariable("o2") == 0){
tiempo = 60;
};
if (_local5.getVariable("o2") == 1){
tiempo = 120;
};
if (_local5.getVariable("o2") == 2){
tiempo = 240;
};
if (_local5.getVariable("o2") == 3){
tiempo = 360;
};
if (_local5.getVariable("o2") == 4){
tiempo = 600;
};
actualizarTiempo();
clearInterval(tiempoId);
tiempoId = setInterval(verTiempo, 1000);
gemas2.x = _local2;
fondo2.x = _local2;
bordesEspeciales2.x = _local2;
candados2.x = _local2;
mascara2.x = _local2;
gemas3.x = _local2;
fondo3.x = _local2;
bordesEspeciales3.x = _local2;
candados3.x = _local2;
mascara3.x = _local2;
gemas2.y = _local3;
fondo2.y = _local3;
bordesEspeciales2.y = _local3;
candados2.y = _local3;
mascara2.y = _local3;
gemas3.y = _local4;
fondo3.y = _local4;
bordesEspeciales3.y = _local4;
candados3.y = _local4;
mascara3.y = _local4;
userMulti.x = (gemas.x - 14);
userMulti.y = (gemas.y - 49);
userMulti.width = ((distancia * (cuantosHor + 1)) - 7);
userMulti2.x = (_local2 - 7);
userMulti2.y = (_local3 - 40);
userMulti2.width = ((distancia * (cuantosHor + 1)) / 2);
gemas2.visible = true;
fondo2.visible = true;
bordesEspeciales2.visible = true;
candados2.visible = true;
if (cuantosSomos >= 3){
gemas3.visible = true;
fondo3.visible = true;
bordesEspeciales3.visible = true;
candados3.visible = true;
userMulti3.x = (_local2 - 6);
userMulti3.width = ((distancia * (cuantosHor + 1)) / 2);
userMulti3.y = (_local4 - 40);
} else {
userMulti3.x = 2000;
};
volumen.x = 626;
volumen.y = 5;
if (numUF > 0){
envioTodo(true);
};
} else {
clipPuntos.x = 52;
clipLevel.x = 328;
clipPuntos.y = 5;
clipLevel.y = 5;
exitGame.x = 2000;
pauseGame.x = 588;
pauseGame.y = 5;
clipMagia.x = 2000;
clipTiempo.x = 521;
clipTiempo.y = 448;
clearInterval(tiempoId);
tiempoId = setInterval(verTiempo, 1000);
actualizarPuntos();
actualizarLevel();
actualizarTiempo();
userMulti.x = 2000;
userMulti2.x = 2000;
userMulti3.x = 2000;
volumen.x = 621;
volumen.y = 35;
if ((((((pantalla == 1)) && ((mundosCompletados[0] == false)))) && ((puntos < 3000)))){
infoIngame.infoTemporal.texto.htmlText = ("Create matches of 3 or more in a row over all the wooden plaques " + "to complete the level. Swap adjacent tiles to make the matches.");
infoIngame.x = 150;
infoIngame.y = 420;
infoIngame.infoTemporal.texto.y = 7;
};
if ((((((pantalla == 2)) && ((mundosCompletados[0] == false)))) && ((puntos < 5000)))){
infoIngame.infoTemporal.texto.htmlText = ("Destroy 20 hammer tiles and get a Hammer bonus" + " which let you destroy any tile.");
infoIngame.x = 150;
infoIngame.y = 420;
infoIngame.infoTemporal.texto.y = 14;
};
if ((((((pantalla == 3)) && ((mundosCompletados[0] == false)))) && ((puntos < 6000)))){
infoIngame.infoTemporal.texto.htmlText = ("Obtain money on each Level or World you finish" + " and buy new worlds with it.");
infoIngame.x = 150;
infoIngame.y = 420;
infoIngame.infoTemporal.texto.y = 14;
};
if ((((((pantalla == 4)) && ((mundosCompletados[0] == false)))) && ((puntos < 9000)))){
infoIngame.infoTemporal.texto.htmlText = ("Some tiles are locked and cannot be moved" + " or swap until you destroy the lock.");
infoIngame.x = 150;
infoIngame.y = 420;
infoIngame.infoTemporal.texto.y = 14;
};
if ((((((pantalla == 6)) && ((mundosCompletados[0] == false)))) && ((puntos < 9000)))){
infoIngame.infoTemporal.texto.htmlText = "Some plaques are made of metal and need 2 matches to be destroyed.";
infoIngame.x = 150;
infoIngame.y = 420;
infoIngame.infoTemporal.texto.y = 14;
};
setTimeout(quitarInfoIngame, (25 * 1000));
};
gemas.visible = true;
fondo.visible = true;
bordesEspeciales.visible = true;
candados.visible = true;
clipMartillo.x = 33;
clipMartillo.y = 445;
actualizarMartillo();
actualizarMagia();
revisaBloqueo();
estoyJugando = true;
tapaGlobal.x = 2000;
tapaGlobal.y = 2000;
tapaGlobal.width = 1;
tapaGlobal.height = 1;
}
public function fondoEnIJ(_arg1, _arg2, _arg3=1):MovieClip{
var _local4:*;
var _local5:*;
var _local6:*;
_local6 = null;
_local4 = 1;
while (_local4 <= (cuantosHor * cuantosVer)) {
if (_arg3 == 1){
_local5 = fondo.getChildByName(("f" + _local4));
};
if (_arg3 == 2){
_local5 = fondo2.getChildByName(("ff" + _local4));
};
if (_arg3 == 3){
_local5 = fondo3.getChildByName(("fff" + _local4));
};
if (_local5 != null){
if ((((_local5.posI == _arg1)) && ((_local5.posJ == _arg2)))){
_local6 = _local5;
};
};
_local4++;
};
return (_local6);
}
private function clipMartilloClick(_arg1:MouseEvent=null){
if (martillo >= necesarioMartillo){
inicioMartillo();
};
}
private function clipMagiaOver(_arg1:MouseEvent=null){
if (magia >= necesarioMartillo){
pongomano();
};
}
private function quitarInfoIngame(){
infoIngame.x = 2000;
}
private function gotoDoyuGamesRegister(_arg1=null){
gotoDoyuGames(null, "register.php");
}
private function datosPantalla(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local3 = new Array(1, 2, 3, 5, 6, 7, 12, 27, 8, 29, 4, 10, 11, 16, 14, 17, 22, 18, 23, 30, 13, 15, 20, 21, 31, 34, 9, 35, 19, 28, 24, 25, 26, 32, 33, 36, 22, 35, 8, 30, 10, 1, 20, 32, 6, 17, 9, 27, 23, 28, 15, 26, 4, 5, 14, 34, 12, 18, 19, 29, 20, 13, 15, 21, 34, 31, 9, 35, 28, 19, 11, 16, 4, 10, 17, 14, 22, 18, 30, 23);
_local2 = _local3[(_arg1 - 1)];
_local4 = Math.ceil((_arg1 / 10));
_local5 = new Array(6, 1, 3, 5, 2, 4, 7, 8);
mundo = _local5[(_local4 - 1)];
if (_local2 == 36){
cuantosHor = 10;
cuantosVer = 10;
mapaVacias[0] = new Array("1-1", "1-2", "1-3", "1-8", "1-9", "1-10", "1-4", "1-7", "2-2", "2-1", "2-9", "2-10", "2-3", "2-8", "3-1", "3-10", "3-2", "3-9", "4-1", "4-10", "10-1", "10-2", "10-3", "10-8", "10-9", "10-10", "10-4", "10-7", "9-2", "9-1", "9-9", "9-10", "9-3", "9-8", "8-1", "8-10", "8-2", "8-9", "7-1", "7-10", "5-5", "5-6", "6-5", "6-6");
vecCandados = new Array();
vecObjetivos = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "6-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
vecObjetivosDobles = new Array();
};
if (_local2 == 35){
cuantosHor = 10;
cuantosVer = 9;
mapaVacias[0] = new Array("8-5", "8-6", "7-5", "7-6", "7-4", "7-7", "6-5", "6-6", "6-4", "6-7", "6-3", "6-8", "5-5", "5-6", "5-4", "5-7", "5-3", "5-8", "5-2", "5-9");
vecCandados = new Array("5-1", "5-10");
vecObjetivos = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-10", "6-11", "6-12", "7-1", "7-10", "7-11", "7-12", "8-1", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12");
vecObjetivosDobles = new Array();
};
if (_local2 == 34){
cuantosHor = 11;
cuantosVer = 9;
mapaVacias[0] = new Array("1-1", "1-11", "2-6", "3-6", "4-6", "5-6", "7-6", "8-6", "9-6", "6-1", "6-2", "6-3", "6-4", "6-8", "6-9", "6-10", "6-11", "7-1", "7-2", "7-3", "8-1", "8-2", "9-1", "7-11", "7-10", "7-9", "8-11", "8-10", "9-11");
vecCandados = new Array("6-5", "6-6", "6-7");
vecObjetivos = new Array("9-5", "9-4", "9-8", "9-7", "8-5", "8-4", "8-8", "8-7");
vecObjetivosDobles = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "2-1", "2-2", "2-3", "2-4", "2-5", "3-1", "3-2", "3-3", "3-4", "3-5", "4-1", "4-2", "4-3", "4-4", "4-5", "5-1", "5-2", "5-3", "5-4", "5-5", "1-11", "1-10", "1-9", "1-8", "1-7", "2-11", "2-10", "2-9", "2-8", "2-7", "3-11", "3-10", "3-9", "3-8", "3-7", "4-11", "4-10", "4-9", "4-8", "4-7", "5-11", "5-10", "5-9", "5-8", "5-7");
};
if (_local2 == 33){
cuantosHor = 12;
cuantosVer = 8;
mapaVacias[0] = new Array("1-7", "1-6", "1-3", "1-4", "1-9", "1-10", "3-1", "3-12", "4-5", "4-6", "4-7", "4-8", "5-2", "5-6", "5-7", "5-11", "6-6", "6-7", "8-1", "7-12", "8-12", "7-1");
vecCandados = new Array("4-4", "4-3");
vecObjetivos = new Array("9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12");
vecObjetivosDobles = new Array("8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "6-3", "6-4", "6-5", "6-9", "6-10", "6-8", "4-10", "4-9");
};
if (_local2 == 32){
cuantosHor = 12;
cuantosVer = 8;
mapaVacias[0] = new Array("1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "3-1", "3-5", "3-6", "3-7", "3-8", "3-12", "4-5", "4-6", "4-7", "4-8", "5-2", "5-6", "5-7", "5-11", "6-6", "6-7", "8-1", "7-12", "8-12", "7-1");
vecCandados = new Array();
vecObjetivos = new Array("9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12");
vecObjetivosDobles = new Array("8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "6-3", "6-4", "6-5", "6-9", "6-10", "6-8");
};
if (_local2 == 31){
cuantosHor = 12;
cuantosVer = 9;
mapaVacias[0] = new Array("1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "3-1", "3-5", "3-6", "3-7", "3-8", "3-12", "4-5", "4-6", "4-7", "4-8", "5-2", "5-6", "5-7", "5-11", "6-6", "6-7", "8-1", "7-12", "8-12", "7-1");
vecCandados = new Array();
vecObjetivos = new Array("9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12");
vecObjetivosDobles = new Array("8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12");
};
if (_local2 == 30){
cuantosHor = 12;
cuantosVer = 10;
mapaVacias[0] = new Array("1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "3-1", "3-5", "3-6", "3-7", "3-8", "3-12", "4-1", "4-5", "4-6", "4-7", "4-8", "4-12", "5-1", "5-2", "5-6", "5-7", "5-11", "5-12", "6-1", "6-2", "6-6", "6-7", "6-11", "6-12", "7-1", "8-1", "7-12", "8-12");
vecCandados = new Array("8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11");
vecObjetivos = new Array("7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12");
vecObjetivosDobles = new Array("9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
};
if (_local2 == 29){
cuantosHor = 9;
cuantosVer = 10;
mapaVacias[0] = new Array("4-1", "4-3", "4-5", "4-7", "4-9");
vecCandados = new Array("7-2", "7-4", "7-6", "7-8", "7-1", "7-3", "7-5", "7-7", "7-9");
vecObjetivos = new Array("4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "6-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
vecObjetivosDobles = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12");
};
if (_local2 == 28){
cuantosHor = 9;
cuantosVer = 10;
mapaVacias[0] = new Array("4-1", "4-3", "4-5", "4-7", "4-9", "7-1", "7-3", "7-5", "7-7", "7-9");
vecCandados = new Array("4-2", "4-4", "4-6", "4-8", "7-2", "7-4", "7-6", "7-8");
vecObjetivos = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "6-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
vecObjetivosDobles = new Array();
};
if (_local2 == 27){
cuantosHor = 11;
cuantosVer = 9;
mapaVacias[0] = new Array("1-1", "1-11", "4-1", "4-11", "4-4", "4-5", "4-7", "4-8", "4-2", "4-3", "4-9", "4-10", "5-1", "5-2", "5-3", "5-4", "5-8", "5-9", "5-10", "5-11", "6-1", "6-2", "6-3", "6-9", "6-10", "6-11", "7-1", "7-2", "7-10", "7-11", "8-1", "8-11");
vecCandados = new Array("4-6");
vecObjetivos = new Array("9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12");
vecObjetivosDobles = new Array("1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "6-5", "6-6", "6-7", "7-5", "7-6", "7-7", "8-5", "8-6", "8-7");
};
if (_local2 == 26){
cuantosHor = 11;
cuantosVer = 8;
mapaVacias[0] = new Array("1-1", "1-11", "4-1", "4-11", "4-4", "4-5", "4-7", "4-8", "5-1", "5-2", "5-3", "5-4", "5-8", "5-9", "5-10", "5-11", "6-1", "6-2", "6-3", "6-9", "6-10", "6-11", "7-1", "7-2", "7-10", "7-11", "8-1", "8-11");
vecCandados = new Array();
vecObjetivos = new Array("1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "6-5", "6-6", "6-7", "7-5", "7-6", "7-7", "8-5", "8-6", "8-7");
vecObjetivosDobles = new Array();
};
if (_local2 == 25){
cuantosHor = 11;
cuantosVer = 8;
mapaVacias[0] = new Array("1-2", "1-4", "1-7", "1-9", "2-2", "2-4", "2-7", "2-9", "6-3", "6-9", "7-1", "7-2", "7-3", "7-9", "7-10", "7-11", "8-1", "8-2", "8-3", "8-9", "8-10", "8-11", "8-4", "8-8");
vecCandados = new Array();
vecObjetivos = new Array("3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-5", "6-6", "6-7", "7-6", "7-7", "7-5");
vecObjetivosDobles = new Array();
};
if (_local2 == 24){
cuantosHor = 9;
cuantosVer = 9;
mapaVacias[0] = new Array("5-5", "5-6", "6-5", "6-6", "5-4", "6-4", "4-4", "4-5", "4-6", "7-5", "3-5", "5-3", "5-7", "1-1", "1-9", "9-1", "9-9");
vecCandados = new Array();
vecObjetivos = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "6-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
vecObjetivosDobles = new Array();
};
if (_local2 == 23){
cuantosHor = 9;
cuantosVer = 9;
mapaVacias[0] = new Array("5-5", "5-6", "6-5", "6-6", "5-4", "6-4", "4-4", "4-5", "4-6", "7-5", "3-5");
vecCandados = new Array("6-1", "6-2", "6-3", "6-7", "6-8", "6-9");
vecObjetivos = new Array();
vecObjetivosDobles = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "6-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
};
if (_local2 == 22){
cuantosHor = 11;
cuantosVer = 9;
mapaVacias[0] = new Array("1-1", "1-11", "5-1", "5-11", "6-1", "6-11", "6-2", "6-10", "7-1", "7-11", "3-4", "3-8");
vecCandados = new Array("6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9");
vecObjetivos = new Array("1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12");
vecObjetivosDobles = new Array();
};
if (_local2 == 21){
cuantosHor = 11;
cuantosVer = 8;
mapaVacias[0] = new Array("1-1", "1-11", "5-1", "5-11", "6-1", "6-11", "6-2", "6-10", "3-5", "3-6", "3-7", "4-6", "7-1", "7-11");
vecCandados = new Array();
vecObjetivos = new Array();
vecObjetivosDobles = new Array("1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9");
};
if (_local2 == 20){
cuantosHor = 10;
cuantosVer = 9;
mapaVacias[0] = new Array("1-1", "1-2", "1-9", "1-10", "9-1", "9-2", "9-9", "9-10", "2-1", "2-10", "8-1", "8-10", "4-3", "4-4", "5-3", "5-4", "6-7", "6-8", "7-8", "7-7");
vecCandados = new Array();
vecObjetivos = new Array("1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "10-3", "10-4", "10-5", "10-6", "10-7");
vecObjetivosDobles = new Array();
};
if (_local2 == 19){
cuantosHor = 9;
cuantosVer = 9;
mapaVacias[0] = new Array("1-2", "1-4", "1-6", "1-8", "2-2", "2-4", "2-6", "2-8", "6-2", "6-4", "6-6", "6-8");
vecCandados = new Array("6-1", "6-3", "6-5", "6-7", "6-9");
vecObjetivos = new Array();
vecObjetivosDobles = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "6-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
};
if (_local2 == 18){
cuantosHor = 10;
cuantosVer = 9;
mapaVacias[0] = new Array("2-3", "2-4", "2-7", "2-8", "3-3", "3-4", "3-7", "3-8", "7-4", "7-5", "7-6", "7-7", "8-5", "8-6");
vecCandados = new Array();
vecObjetivos = new Array();
vecObjetivosDobles = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "6-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
};
if (_local2 == 17){
cuantosHor = 10;
cuantosVer = 10;
mapaVacias[0] = new Array("1-1", "1-2", "1-3", "1-8", "1-9", "1-10", "1-4", "1-7", "2-2", "2-1", "2-9", "2-10", "2-3", "2-8", "3-1", "3-10", "3-2", "3-9", "4-1", "4-10", "10-1", "10-2", "10-3", "10-8", "10-9", "10-10", "10-4", "10-7", "9-2", "9-1", "9-9", "9-10", "9-3", "9-8", "8-1", "8-10", "8-2", "8-9", "7-1", "7-10");
vecCandados = new Array();
vecObjetivos = new Array();
vecObjetivosDobles = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "6-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
};
if (_local2 == 16){
cuantosHor = 10;
cuantosVer = 10;
mapaVacias[0] = new Array("2-2", "2-9", "2-3", "2-8", "3-2", "3-9", "9-2", "9-9", "9-3", "9-8", "8-2", "8-9", "5-5", "5-6", "6-5", "6-6");
vecCandados = new Array();
vecObjetivos = new Array("2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9");
vecObjetivosDobles = new Array();
};
if (_local2 == 15){
cuantosHor = 10;
cuantosVer = 10;
mapaVacias[0] = new Array("1-1", "1-2", "1-3", "1-8", "1-9", "1-10", "1-4", "1-7", "2-2", "2-1", "2-9", "2-10", "2-3", "2-8", "3-1", "3-10", "3-2", "3-9", "4-1", "4-10", "10-1", "10-2", "10-3", "10-8", "10-9", "10-10", "10-4", "10-7", "9-2", "9-1", "9-9", "9-10", "9-3", "9-8", "8-1", "8-10", "8-2", "8-9", "7-1", "7-10", "5-5", "5-6", "6-5", "6-6");
vecCandados = new Array();
vecObjetivos = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "1-10", "1-11", "1-12", "2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "2-10", "2-11", "2-12", "3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "3-11", "3-12", "4-1", "4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "4-12", "5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "5-12", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "6-12", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11", "7-12", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10", "8-11", "8-12", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "9-11", "9-12", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10", "10-11", "10-12");
vecObjetivosDobles = new Array();
};
if (_local2 == 14){
cuantosHor = 11;
cuantosVer = 10;
mapaVacias[0] = new Array("2-6", "3-6", "4-6", "5-6", "7-6", "8-6", "9-6", "6-1", "6-2", "6-3", "6-4", "6-8", "6-9", "6-10", "6-11", "7-1", "7-2", "7-3", "8-1", "8-2", "9-1", "7-11", "7-10", "7-9", "8-11", "8-10", "9-11");
vecCandados = new Array("6-5", "6-6", "6-7");
vecObjetivos = new Array("9-4", "9-5", "9-8", "9-7");
vecObjetivosDobles = new Array("1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "2-1", "2-2", "2-3", "2-4", "2-5", "3-1", "3-2", "3-3", "3-4", "3-5", "4-1", "4-2", "4-3", "4-4", "4-5", "5-1", "5-2", "5-3", "5-4", "5-5", "1-11", "1-10", "1-9", "1-8", "1-7", "2-11", "2-10", "2-9", "2-8", "2-7", "3-11", "3-10", "3-9", "3-8", "3-7", "4-11", "4-10", "4-9", "4-8", "4-7", "5-11", "5-10", "5-9", "5-8", "5-7");
};
if (_local2 == 13){
cuantosHor = 10;
cuantosVer = 10;
mapaVacias[0] = new Array("3-2", "3-1", "2-1", "3-10", "3-9", "2-10", "4-1", "4-2", "4-3", "5-1", "5-2", "5-3", "6-1", "6-2", "6-3", "4-8", "4-9", "4-10", "5-8", "5-9", "5-10", "6-8", "6-9", "6-10", "7-1", "7-2", "7-9", "7-10", "8-1", "8-10");
vecCandados = new Array();
vecObjetivos = new Array("1-1", "1-2", "1-3", "2-2", "2-3", "3-3", "1-8", "1-9", "1-10", "2-9", "2-8", "3-8", "1-4", "1-5", "1-6", "1-7", "2-4", "2-5", "2-6", "2-7", "3-4", "3-5", "3-6", "3-7", "4-4", "4-5", "4-6", "4-7", "5-4", "5-5", "5-6", "5-7", "6-4", "6-5", "6-6", "6-7", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10");
vecObjetivosDobles = new Array();
};
if (_local2 == 12){
cuantosHor = 10;
cuantosVer = 10;
mapaVacias[0] = new Array("1-1", "1-2", "1-3", "2-1", "2-2", "2-3", "3-1", "3-2", "3-3", "1-8", "1-9", "1-10", "2-8", "2-9", "2-10", "3-8", "3-9", "3-10", "4-1", "4-2", "4-3", "5-1", "5-2", "5-3", "6-1", "6-2", "6-3", "4-8", "4-9", "4-10", "5-8", "5-9", "5-10", "6-8", "6-9", "6-10", "7-1", "7-2", "7-9", "7-10", "8-1", "8-10");
vecCandados = new Array();
vecObjetivos = new Array();
vecObjetivosDobles = new Array("1-4", "1-5", "1-6", "1-7", "2-4", "2-5", "2-6", "2-7", "3-4", "3-5", "3-6", "3-7", "4-4", "4-5", "4-6", "4-7", "5-4", "5-5", "5-6", "5-7", "6-4", "6-5", "6-6", "6-7", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "9-1", "9-2", "9-3", "9-4", "9-5", "9-6", "9-7", "9-8", "9-9", "9-10", "10-1", "10-2", "10-3", "10-4", "10-5", "10-6", "10-7", "10-8", "10-9", "10-10");
};
if (_local2 == 11){
cuantosHor = 10;
cuantosVer = 10;
mapaVacias[0] = new Array("1-1", "1-2", "1-3", "2-1", "2-2", "2-3", "3-1", "3-2", "3-3", "1-8", "1-9", "1-10", "2-8", "2-9", "2-10", "3-8", "3-9", "3-10", "8-1", "8-2", "8-3", "9-1", "9-2", "9-3", "10-1", "10-2", "10-3", "8-8", "8-9", "8-10", "9-8", "9-9", "9-10", "10-8", "10-9", "10-10", "4-1", "4-2", "4-9", "4-10", "5-1", "5-10");
vecCandados = new Array("8-4", "8-5", "8-6", "8-7");
vecObjetivos = new Array("1-4", "1-5", "1-6", "1-7", "2-4", "2-5", "2-6", "2-7", "3-4", "3-5", "3-6", "3-7", "8-4", "8-5", "8-6", "8-7", "9-4", "9-5", "9-6", "9-7", "10-4", "10-5", "10-6", "10-7", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "6-1", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10");
vecObjetivosDobles = new Array();
};
if (_local2 == 10){
cuantosHor = 12;
cuantosVer = 9;
mapaVacias[0] = new Array("1-1", "1-2", "1-9", "1-10", "9-1", "9-2", "9-9", "9-10", "2-1", "2-10", "8-1", "8-10", "3-3", "3-4", "4-3", "4-4");
vecCandados = new Array();
vecObjetivos = new Array("3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10");
vecObjetivosDobles = new Array();
};
if (_local2 == 1){
cuantosHor = 10;
cuantosVer = 9;
mapaVacias[0] = new Array("1-1", "1-2", "1-9", "1-10", "9-1", "9-2", "9-9", "9-10", "2-1", "2-10", "8-1", "8-10");
vecCandados = new Array();
vecObjetivos = new Array("3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8");
vecObjetivosDobles = new Array();
};
if (_local2 == 2){
cuantosHor = 12;
cuantosVer = 9;
mapaVacias[0] = new Array("1-4", "1-5", "1-6", "1-7", "1-8", "1-9", "2-6", "2-7", "2-5", "2-8", "3-1", "4-1", "5-1", "6-1", "7-1", "8-1", "9-1", "3-7", "3-6", "3-12", "4-12", "5-12", "6-12", "7-12", "8-12", "9-12", "9-2", "9-11");
vecCandados = new Array();
vecObjetivos = new Array("4-2", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "4-10", "4-11", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10", "5-11", "6-2", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "6-10", "6-11", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "7-11");
vecObjetivosDobles = new Array();
};
if (_local2 == 3){
cuantosHor = 10;
cuantosVer = 9;
mapaVacias[0] = new Array("2-1", "4-1", "6-1", "8-1", "2-10", "4-10", "6-10", "8-10", "5-5", "5-6");
vecCandados = new Array();
vecObjetivos = new Array("3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "5-3", "5-4", "5-7", "5-8", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8");
vecObjetivosDobles = new Array();
};
if (_local2 == 4){
cuantosHor = 11;
cuantosVer = 8;
mapaVacias[0] = new Array("1-2", "1-4", "1-6", "1-8", "1-10", "2-2", "2-4", "2-6", "2-8", "2-10", "7-1", "7-2", "7-3", "7-9", "7-10", "7-11", "8-1", "8-2", "8-3", "8-9", "8-10", "8-11", "8-4", "8-8");
vecCandados = new Array();
vecObjetivos = new Array("3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "4-3", "4-4", "4-5", "4-6", "4-7", "4-8", "4-9", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "6-3", "6-4", "6-5", "6-6", "6-7", "6-8", "6-9", "7-5", "7-6", "7-7");
vecObjetivosDobles = new Array();
};
if (_local2 == 5){
cuantosHor = 10;
cuantosVer = 9;
mapaVacias[0] = new Array("5-1", "5-2", "5-3", "5-4", "5-7", "5-8", "5-9", "5-10", "6-1", "6-2", "6-3", "6-8", "6-9", "6-10", "7-1", "7-2", "7-9", "7-10", "8-1", "8-10");
vecCandados = new Array("5-5", "5-6");
vecObjetivos = new Array("7-4", "7-5", "7-6", "7-7", "8-4", "8-5", "8-6", "8-7", "3-4", "3-5", "3-6", "3-7", "2-4", "2-5", "2-6", "2-7");
vecObjetivosDobles = new Array();
};
if (_local2 == 6){
cuantosHor = 10;
cuantosVer = 9;
mapaVacias[0] = new Array("5-1", "5-2", "5-4", "5-5", "5-6", "5-7", "5-9", "5-10", "6-5", "6-6", "7-5", "7-6", "8-5", "8-6", "6-1", "6-10");
vecCandados = new Array("5-3", "5-8");
vecObjetivos = new Array("7-2", "7-3", "7-8", "7-9", "8-2", "8-3", "8-8", "8-9", "2-3", "2-4", "2-7", "2-8", "3-3", "3-4", "3-7", "3-8", "5-3", "5-8");
vecObjetivosDobles = new Array();
};
if (_local2 == 7){
cuantosHor = 11;
cuantosVer = 8;
mapaVacias[0] = new Array("3-3", "3-4", "4-3", "4-4", "6-8", "6-9", "7-8", "7-9", "1-7", "1-5", "1-6", "8-1", "8-11", "2-6");
vecCandados = new Array();
vecObjetivos = new Array();
vecObjetivosDobles = new Array("6-3", "6-4", "6-5", "6-6", "7-3", "7-4", "7-5", "7-6", "3-6", "3-7", "3-8", "3-9", "4-6", "4-7", "4-8", "4-9");
};
if (_local2 == 8){
cuantosHor = 9;
cuantosVer = 10;
mapaVacias[0] = new Array("4-6", "5-5", "6-4", "7-3", "8-2", "4-7", "5-6", "6-5", "7-4", "8-3", "9-1", "9-2", "10-1");
vecCandados = new Array("4-1", "4-2", "4-3", "4-4", "4-5", "4-8", "4-9");
vecObjetivos = new Array("4-3", "5-2", "9-6", "9-7", "9-8", "7-6", "7-7", "7-8", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7", "2-8", "2-9", "3-2", "4-2", "4-3", "5-3", "3-3");
vecObjetivosDobles = new Array("8-6", "8-7", "8-8");
};
if (_local2 == 9){
cuantosHor = 10;
cuantosVer = 9;
mapaVacias[0] = new Array("1-1", "1-10", "9-1", "9-10");
vecCandados = new Array("5-1", "5-2", "5-3", "5-4", "5-5", "5-6", "5-7", "5-8", "5-9", "5-10");
vecObjetivos = new Array("3-1", "3-2", "3-3", "3-4", "3-5", "3-6", "3-7", "3-8", "3-9", "3-10", "7-1", "7-2", "7-3", "7-4", "7-5", "7-6", "7-7", "7-8", "7-9", "7-10", "8-1", "8-2", "8-3", "8-4", "8-5", "8-6", "8-7", "8-8", "8-9", "8-10");
vecObjetivosDobles = new Array("4-4", "4-5", "4-6", "4-7");
};
_local6 = (45 + ((35 / 2) * (16 - cuantosHor)));
_local7 = (90 - (20 * (cuantosVer - 9)));
if (modoJuego == "multiPlayer"){
_local6 = 15;
};
bordesEspeciales.x = _local6;
candados.x = _local6;
mascara.x = _local6;
fondo.x = _local6;
gemas.x = _local6;
bordesEspeciales.y = _local7;
candados.y = _local7;
mascara.y = _local7;
fondo.y = _local7;
gemas.y = _local7;
}
private function hagoLinea(_arg1:int, _arg2:int, _arg3=1):Boolean{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
_local11 = false;
_local8 = gemaEnIJ(_arg1, _arg2, _arg3);
if ((((_arg1 >= 3)) && ((_local11 == false)))){
_local4 = (_arg1 - 1);
_local6 = (_arg1 - 2);
_local9 = gemaEnIJ(_local4, _arg2, _arg3);
_local10 = gemaEnIJ(_local6, _arg2, _arg3);
if (((!((_local9 == null))) && (!((_local10 == null))))){
if ((((_local8.dibujo.currentFrame == _local9.dibujo.currentFrame)) && ((_local8.dibujo.currentFrame == _local10.dibujo.currentFrame)))){
_local11 = true;
};
};
};
if ((((_arg1 <= (cuantosVer - 2))) && ((_local11 == false)))){
_local4 = (_arg1 + 1);
_local6 = (_arg1 + 2);
_local9 = gemaEnIJ(_local4, _arg2, _arg3);
_local10 = gemaEnIJ(_local6, _arg2, _arg3);
if (((!((_local9 == null))) && (!((_local10 == null))))){
if ((((_local8.dibujo.currentFrame == _local9.dibujo.currentFrame)) && ((_local8.dibujo.currentFrame == _local10.dibujo.currentFrame)))){
_local11 = true;
};
};
};
if ((((_arg2 >= 3)) && ((_local11 == false)))){
_local5 = (_arg2 - 1);
_local7 = (_arg2 - 2);
_local9 = gemaEnIJ(_arg1, _local5, _arg3);
_local10 = gemaEnIJ(_arg1, _local7, _arg3);
if (((!((_local9 == null))) && (!((_local10 == null))))){
if ((((_local8.dibujo.currentFrame == _local9.dibujo.currentFrame)) && ((_local8.dibujo.currentFrame == _local10.dibujo.currentFrame)))){
_local11 = true;
};
};
};
if ((((_arg2 <= (cuantosHor - 2))) && ((_local11 == false)))){
_local5 = (_arg2 + 1);
_local7 = (_arg2 + 2);
_local9 = gemaEnIJ(_arg1, _local5, _arg3);
_local10 = gemaEnIJ(_arg1, _local7, _arg3);
if (((!((_local9 == null))) && (!((_local10 == null))))){
if ((((_local8.dibujo.currentFrame == _local9.dibujo.currentFrame)) && ((_local8.dibujo.currentFrame == _local10.dibujo.currentFrame)))){
_local11 = true;
};
};
};
if ((((((_arg1 >= 2)) && ((_arg1 <= (cuantosVer - 1))))) && ((_local11 == false)))){
_local4 = (_arg1 - 1);
_local6 = (_arg1 + 1);
_local9 = gemaEnIJ(_local4, _arg2, _arg3);
_local10 = gemaEnIJ(_local6, _arg2, _arg3);
if (((!((_local9 == null))) && (!((_local10 == null))))){
if ((((_local8.dibujo.currentFrame == _local9.dibujo.currentFrame)) && ((_local8.dibujo.currentFrame == _local10.dibujo.currentFrame)))){
_local11 = true;
};
};
};
if ((((((_arg1 >= 2)) && ((_arg1 <= (cuantosVer - 1))))) && ((_local11 == false)))){
_local4 = (_arg1 + 1);
_local6 = (_arg1 - 1);
_local9 = gemaEnIJ(_local4, _arg2, _arg3);
_local10 = gemaEnIJ(_local6, _arg2, _arg3);
if (((!((_local9 == null))) && (!((_local10 == null))))){
if ((((_local8.dibujo.currentFrame == _local9.dibujo.currentFrame)) && ((_local8.dibujo.currentFrame == _local10.dibujo.currentFrame)))){
_local11 = true;
};
};
};
if ((((((_arg2 >= 2)) && ((_arg2 <= (cuantosHor - 1))))) && ((_local11 == false)))){
_local5 = (_arg2 - 1);
_local7 = (_arg2 + 1);
_local9 = gemaEnIJ(_arg1, _local5, _arg3);
_local10 = gemaEnIJ(_arg1, _local7, _arg3);
if (((!((_local9 == null))) && (!((_local10 == null))))){
if ((((_local8.dibujo.currentFrame == _local9.dibujo.currentFrame)) && ((_local8.dibujo.currentFrame == _local10.dibujo.currentFrame)))){
_local11 = true;
};
};
};
if ((((((_arg2 >= 2)) && ((_arg2 <= (cuantosHor - 1))))) && ((_local11 == false)))){
_local5 = (_arg2 + 1);
_local7 = (_arg2 - 1);
_local9 = gemaEnIJ(_arg1, _local5, _arg3);
_local10 = gemaEnIJ(_arg1, _local7, _arg3);
if (((!((_local9 == null))) && (!((_local10 == null))))){
if ((((_local8.dibujo.currentFrame == _local9.dibujo.currentFrame)) && ((_local8.dibujo.currentFrame == _local10.dibujo.currentFrame)))){
_local11 = true;
};
};
};
return (_local11);
}
private function preSumaPuntos(){
clearInterval(sumaPuntosId);
sumaPuntosId = setInterval(sumaPuntos, 10);
}
private function mostrarInfoTemporal(_arg1){
elegirMundo.infoTemporal.x = 230;
elegirMundo.infoTemporal.y = 350;
elegirMundo.infoTemporal.texto.text = _arg1;
setTimeout(quitarInfoTemporal, 5000);
}
public function actualizarMagia(){
if (magia > necesarioMartillo){
magia = necesarioMartillo;
};
clipMagia.gotoAndStop(Math.ceil(((magia + 2) / 3)));
}
private function playMundoOver2(_arg1:MouseEvent=null){
_arg1.currentTarget.gotoAndStop(2);
pongomano();
}
private function golpeaMartillo(_arg1:MouseEvent=null){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = Math.ceil(((mouseY - gemas.y) / distancia));
_local3 = Math.ceil(((mouseX - gemas.x) / distancia));
_local4 = gemaEnIJ(_local2, _local3);
if (_local4 != null){
if (hasEventListener(MouseEvent.MOUSE_MOVE) == true){
removeEventListener(MouseEvent.MOUSE_MOVE, mueveMartillo, false);
};
if (martilloRaton.hasEventListener(MouseEvent.CLICK) == true){
martilloRaton.removeEventListener(MouseEvent.CLICK, golpeaMartillo, false);
};
Mouse.show();
_local4.explota();
martilloRaton.x = 2000;
gemas.borde.x = 2000;
martillo = 0;
actualizarMartillo();
setTimeout(reordena2, tiempoReordena, 1);
};
}
private function gotoDoyuGames(_arg1:MouseEvent=null, _arg2=""):void{
navigateToURL(new URLRequest(("http://www.doyugames.com/" + _arg2)), "_blank");
}
public function finprecarga():void{
finprecarga2();
precargaObjeto.x = 2000;
}
}
}//package gemsdistribucion
Section 15
//precarga (gemsdistribucion.precarga)
package gemsdistribucion {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.utils.*;
public class precarga extends MovieClip {
var ref_root:Object;
var tiempo_precarga:Timer;
public var porcen:MovieClip;
var todocargado:Boolean;// = false
public var enlacePrecarga:MovieClip;
public function precarga(){
todocargado = false;
super();
this.addEventListener(Event.ENTER_FRAME, Miconstructor, false, 0, true);
}
private function progreso(_arg1:ProgressEvent):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:*;
_local2 = _arg1.bytesTotal;
_local3 = _arg1.bytesLoaded;
_local5 = this.getChildByName("porcen");
_local4 = Math.floor(((_local3 * 100) / _local2));
_local5.porcen.text = new String(_local4);
}
private function frameloop(_arg1:Event):void{
var _local2:*;
var _local3:*;
_local2 = parent;
_local3 = this.getChildByName("porcen");
if (todocargado == true){
fin_precarga();
};
if (_local2 != null){
if (_local2.framesLoaded >= _local2.totalFrames){
todocargado = true;
};
};
}
private function fin_precarga(_arg1:Event=null):void{
var _local2:*;
_local2 = parent;
this.removeEventListener(Event.ENTER_FRAME, frameloop);
ref_root.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progreso);
ref_root = null;
_local2.finprecarga();
_local2 = null;
}
private function Miconstructor(_arg1:Event){
if (parent != null){
ref_root = parent;
ref_root.loaderInfo.addEventListener(ProgressEvent.PROGRESS, progreso, false, 0, true);
this.removeEventListener(Event.ENTER_FRAME, Miconstructor);
this.addEventListener(Event.ENTER_FRAME, frameloop, false, 0, true);
};
}
}
}//package gemsdistribucion
Section 16
//bonusLevels_57 (gemsdistribucion_fla.bonusLevels_57)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class bonusLevels_57 extends MovieClip {
public var informacion7:MovieClip;
public var clipPuntos:MovieClip;
public var informacion8:MovieClip;
public var infoTemporal:MovieClip;
}
}//package gemsdistribucion_fla
Section 17
//boton_buy_global_54 (gemsdistribucion_fla.boton_buy_global_54)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class boton_buy_global_54 extends MovieClip {
public function boton_buy_global_54(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 18
//boton_play_global_52 (gemsdistribucion_fla.boton_play_global_52)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class boton_play_global_52 extends MovieClip {
public function boton_play_global_52(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 19
//boton_you_draw_sudoku_92 (gemsdistribucion_fla.boton_you_draw_sudoku_92)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class boton_you_draw_sudoku_92 extends MovieClip {
public var quedan:MovieClip;
public var texto:TextField;
public function boton_you_draw_sudoku_92(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 20
//boton2_97 (gemsdistribucion_fla.boton2_97)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class boton2_97 extends MovieClip {
public var texto:TextField;
}
}//package gemsdistribucion_fla
Section 21
//botonJugar_68 (gemsdistribucion_fla.botonJugar_68)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class botonJugar_68 extends MovieClip {
public var texto:TextField;
}
}//package gemsdistribucion_fla
Section 22
//botonJugarcopia_87 (gemsdistribucion_fla.botonJugarcopia_87)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class botonJugarcopia_87 extends MovieClip {
public var texto:TextField;
}
}//package gemsdistribucion_fla
Section 23
//dibujogema_119 (gemsdistribucion_fla.dibujogema_119)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class dibujogema_119 extends MovieClip {
public function dibujogema_119(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 24
//elegirmundo_17 (gemsdistribucion_fla.elegirmundo_17)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class elegirmundo_17 extends MovieClip {
public var clipPuntos:MovieClip;
public var mundo4:MovieClip;
public var mundo5:MovieClip;
public var mundo1:MovieClip;
public var mundo2:MovieClip;
public var mundo3:MovieClip;
public var mundo6:MovieClip;
public var informacion:MovieClip;
public var infoTemporal:MovieClip;
}
}//package gemsdistribucion_fla
Section 25
//eligeNivel_50 (gemsdistribucion_fla.eligeNivel_50)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class eligeNivel_50 extends MovieClip {
public var nivel2:MovieClip;
public var nivel3:MovieClip;
public var nivel7:MovieClip;
public var nivel1:MovieClip;
public var nivel9:MovieClip;
public var nivel6:MovieClip;
public var nivel4:MovieClip;
public var nivel5:MovieClip;
public var nivel8:MovieClip;
public var nivel10:MovieClip;
}
}//package gemsdistribucion_fla
Section 26
//esfera_nivel_72 (gemsdistribucion_fla.esfera_nivel_72)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class esfera_nivel_72 extends MovieClip {
public function esfera_nivel_72(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 27
//exit_86 (gemsdistribucion_fla.exit_86)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class exit_86 extends MovieClip {
public function exit_86(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 28
//family_7 (gemsdistribucion_fla.family_7)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class family_7 extends MovieClip {
public function family_7(){
addFrameScript(12, frame13);
}
function frame13(){
gotoAndPlay(7);
}
}
}//package gemsdistribucion_fla
Section 29
//familyhijo_8 (gemsdistribucion_fla.familyhijo_8)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class familyhijo_8 extends MovieClip {
public function familyhijo_8(){
addFrameScript(13, frame14);
}
function frame14(){
gotoAndPlay(7);
}
}
}//package gemsdistribucion_fla
Section 30
//fondo_mar_redondo_48 (gemsdistribucion_fla.fondo_mar_redondo_48)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class fondo_mar_redondo_48 extends MovieClip {
public function fondo_mar_redondo_48(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 31
//fondoVisual_15 (gemsdistribucion_fla.fondoVisual_15)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class fondoVisual_15 extends MovieClip {
public function fondoVisual_15(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 32
//gemas_59 (gemsdistribucion_fla.gemas_59)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class gemas_59 extends MovieClip {
public var borde:MovieClip;
}
}//package gemsdistribucion_fla
Section 33
//goToMenu_108 (gemsdistribucion_fla.goToMenu_108)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class goToMenu_108 extends MovieClip {
public function goToMenu_108(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 34
//infoin_102 (gemsdistribucion_fla.infoin_102)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class infoin_102 extends MovieClip {
public var infoTemporal:MovieClip;
}
}//package gemsdistribucion_fla
Section 35
//infoTemporal_56 (gemsdistribucion_fla.infoTemporal_56)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class infoTemporal_56 extends MovieClip {
public var texto:TextField;
}
}//package gemsdistribucion_fla
Section 36
//infoTemporal2_103 (gemsdistribucion_fla.infoTemporal2_103)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class infoTemporal2_103 extends MovieClip {
public var texto:TextField;
}
}//package gemsdistribucion_fla
Section 37
//instructionsOnePlayer_104 (gemsdistribucion_fla.instructionsOnePlayer_104)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class instructionsOnePlayer_104 extends MovieClip {
public var seguirIzquierda:MovieClip;
public var flechita:MovieClip;
public var seguirDerecha:MovieClip;
public var goToMenu:MovieClip;
public function instructionsOnePlayer_104(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 38
//levelclip_80 (gemsdistribucion_fla.levelclip_80)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class levelclip_80 extends MovieClip {
public var levelTexto:TextField;
}
}//package gemsdistribucion_fla
Section 39
//levelCompletedTexto_90 (gemsdistribucion_fla.levelCompletedTexto_90)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class levelCompletedTexto_90 extends MovieClip {
public function levelCompletedTexto_90(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 40
//link2_3 (gemsdistribucion_fla.link2_3)
package gemsdistribucion_fla {
import flash.events.*;
import flash.net.*;
import flash.display.*;
public dynamic class link2_3 extends MovieClip {
public function link2_3(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(MouseEvent.MOUSE_DOWN, onpress, false, 0, true);
this.buttonMode = true;
this.useHandCursor = true;
}
public function onpress(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.doyugames.com"), "_blank");
}
}
}//package gemsdistribucion_fla
Section 41
//martillo_golpeando_71 (gemsdistribucion_fla.martillo_golpeando_71)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class martillo_golpeando_71 extends MovieClip {
public function martillo_golpeando_71(){
addFrameScript(3, frame4);
}
function frame4(){
stop();
}
}
}//package gemsdistribucion_fla
Section 42
//martillo_nivel_69 (gemsdistribucion_fla.martillo_nivel_69)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class martillo_nivel_69 extends MovieClip {
public function martillo_nivel_69(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 43
//martillodibujo_100 (gemsdistribucion_fla.martillodibujo_100)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class martillodibujo_100 extends MovieClip {
public function martillodibujo_100(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 44
//menu_96 (gemsdistribucion_fla.menu_96)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class menu_96 extends MovieClip {
public var restart:MovieClip;
public var exit:MovieClip;
public var resume:MovieClip;
}
}//package gemsdistribucion_fla
Section 45
//nivelMundo_51 (gemsdistribucion_fla.nivelMundo_51)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class nivelMundo_51 extends MovieClip {
public var nivel:TextField;
}
}//package gemsdistribucion_fla
Section 46
//pause_95 (gemsdistribucion_fla.pause_95)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class pause_95 extends MovieClip {
public function pause_95(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 47
//pergamino_46 (gemsdistribucion_fla.pergamino_46)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class pergamino_46 extends MovieClip {
public var dibujoMapa:MovieClip;
public var buyMundo:MovieClip;
public var textoMundo:TextField;
public var cerrarInformacion:MovieClip;
public var mundoCompletado:MovieClip;
public var puntosTexto:TextField;
public var eligeNivel:MovieClip;
public var playMundo:MovieClip;
}
}//package gemsdistribucion_fla
Section 48
//points_36 (gemsdistribucion_fla.points_36)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class points_36 extends MovieClip {
public var puntosTexto:TextField;
}
}//package gemsdistribucion_fla
Section 49
//points2_79 (gemsdistribucion_fla.points2_79)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class points2_79 extends MovieClip {
public var puntosTexto:TextField;
}
}//package gemsdistribucion_fla
Section 50
//porcen_12 (gemsdistribucion_fla.porcen_12)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class porcen_12 extends MovieClip {
public var porcen:TextField;
}
}//package gemsdistribucion_fla
Section 51
//portadaOnePlayer_64 (gemsdistribucion_fla.portadaOnePlayer_64)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class portadaOnePlayer_64 extends MovieClip {
public var logo:MovieClip;
}
}//package gemsdistribucion_fla
Section 52
//puntosFinLevel_89 (gemsdistribucion_fla.puntosFinLevel_89)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class puntosFinLevel_89 extends MovieClip {
public var previousMoney:TextField;
public var timeBonus:TextField;
public var gemsDestroyed:TextField;
public var levelCompletedTexto:MovieClip;
public var levelMoney:TextField;
public var currentMoney:TextField;
}
}//package gemsdistribucion_fla
Section 53
//puzzleBlocked_101 (gemsdistribucion_fla.puzzleBlocked_101)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class puzzleBlocked_101 extends MovieClip {
public var infoTemporal:MovieClip;
}
}//package gemsdistribucion_fla
Section 54
//rayo_98 (gemsdistribucion_fla.rayo_98)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class rayo_98 extends MovieClip {
public function rayo_98(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 55
//redondo_fondo_mar_26 (gemsdistribucion_fla.redondo_fondo_mar_26)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class redondo_fondo_mar_26 extends MovieClip {
public function redondo_fondo_mar_26(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 56
//redondo_mundo_flores_21 (gemsdistribucion_fla.redondo_mundo_flores_21)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class redondo_mundo_flores_21 extends MovieClip {
public function redondo_mundo_flores_21(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 57
//redondo_mundo_frutas_28 (gemsdistribucion_fla.redondo_mundo_frutas_28)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class redondo_mundo_frutas_28 extends MovieClip {
public function redondo_mundo_frutas_28(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 58
//redondo_mundo_insec_30 (gemsdistribucion_fla.redondo_mundo_insec_30)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class redondo_mundo_insec_30 extends MovieClip {
public function redondo_mundo_insec_30(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 59
//redondo_mundo_nieve_32 (gemsdistribucion_fla.redondo_mundo_nieve_32)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class redondo_mundo_nieve_32 extends MovieClip {
public function redondo_mundo_nieve_32(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 60
//redondo_mundo_playa_34 (gemsdistribucion_fla.redondo_mundo_playa_34)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class redondo_mundo_playa_34 extends MovieClip {
public function redondo_mundo_playa_34(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 61
//reloj_78 (gemsdistribucion_fla.reloj_78)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class reloj_78 extends MovieClip {
public var tiempoTexto:TextField;
}
}//package gemsdistribucion_fla
Section 62
//so_82 (gemsdistribucion_fla.so_82)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class so_82 extends MovieClip {
public function so_82(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 63
//sonidos_14 (gemsdistribucion_fla.sonidos_14)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class sonidos_14 extends MovieClip {
public function sonidos_14(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package gemsdistribucion_fla
Section 64
//todoslosdoyus_4 (gemsdistribucion_fla.todoslosdoyus_4)
package gemsdistribucion_fla {
import flash.display.*;
public dynamic class todoslosdoyus_4 extends MovieClip {
public var aux;
public function todoslosdoyus_4(){
addFrameScript(0, frame1);
}
function frame1(){
if (this.stage != null){
aux = this.stage.getChildAt(0);
if (aux != null){
aux = null;
};
};
}
}
}//package gemsdistribucion_fla
Section 65
//userMulti_91 (gemsdistribucion_fla.userMulti_91)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class userMulti_91 extends MovieClip {
public var texto:TextField;
}
}//package gemsdistribucion_fla
Section 66
//userMultiancho_94 (gemsdistribucion_fla.userMultiancho_94)
package gemsdistribucion_fla {
import flash.display.*;
import flash.text.*;
public dynamic class userMultiancho_94 extends MovieClip {
public var texto:TextField;
}
}//package gemsdistribucion_fla
Section 67
//Room (it.gotoandplay.smartfoxserver.data.Room)
package it.gotoandplay.smartfoxserver.data {
public class Room {
private var maxUsers:int;
private var userList:Array;
private var name:String;
private var userCount:int;
private var specCount:int;
private var id:int;
private var myPlayerIndex:int;
private var priv:Boolean;
private var temp:Boolean;
private var limbo:Boolean;
private var maxSpectators:int;
private var game:Boolean;
private var variables:Array;
public function Room(_arg1:int, _arg2:String, _arg3:int, _arg4:int, _arg5:Boolean, _arg6:Boolean, _arg7:Boolean, _arg8:Boolean, _arg9:int=0, _arg10:int=0){
this.id = _arg1;
this.name = _arg2;
this.maxSpectators = _arg4;
this.maxUsers = _arg3;
this.temp = _arg5;
this.game = _arg6;
this.priv = _arg7;
this.limbo = _arg8;
this.userCount = _arg9;
this.specCount = _arg10;
this.userList = [];
this.variables = [];
}
public function getVariable(_arg1:String){
return (variables[_arg1]);
}
public function addUser(_arg1:User, _arg2:int):void{
userList[_arg2] = _arg1;
if (((this.game) && (_arg1.isSpectator()))){
specCount++;
} else {
userCount++;
};
}
public function getName():String{
return (this.name);
}
public function getId():int{
return (this.id);
}
public function setIsLimbo(_arg1:Boolean):void{
this.limbo = _arg1;
}
public function clearVariables():void{
this.variables = [];
}
public function isTemp():Boolean{
return (this.temp);
}
public function getMaxSpectators():int{
return (this.maxSpectators);
}
public function setVariables(_arg1:Array):void{
this.variables = _arg1;
}
public function isGame():Boolean{
return (this.game);
}
public function getUser(_arg1):User{
var _local2:User;
var _local3:String;
var _local4:User;
_local2 = null;
if (typeof(_arg1) == "number"){
_local2 = userList[_arg1];
} else {
if (typeof(_arg1) == "string"){
for (_local3 in userList) {
_local4 = this.userList[_local3];
if (_local4.getName() == _arg1){
_local2 = _local4;
break;
};
};
};
};
return (_local2);
}
public function setUserCount(_arg1:int):void{
this.userCount = _arg1;
}
public function getVariables():Array{
return (variables);
}
public function getUserCount():int{
return (this.userCount);
}
public function isLimbo():Boolean{
return (this.limbo);
}
public function getSpectatorCount():int{
return (this.specCount);
}
public function setSpectatorCount(_arg1:int):void{
this.specCount = _arg1;
}
public function setMyPlayerIndex(_arg1:int):void{
this.myPlayerIndex = _arg1;
}
public function getMyPlayerIndex():int{
return (this.myPlayerIndex);
}
public function clearUserList():void{
this.userList = [];
this.userCount = 0;
this.specCount = 0;
}
public function isPrivate():Boolean{
return (this.priv);
}
public function getMaxUsers():int{
return (this.maxUsers);
}
public function removeUser(_arg1:int):void{
var _local2:User;
_local2 = userList[_arg1];
if (((this.game) && (_local2.isSpectator()))){
specCount--;
} else {
userCount--;
};
delete userList[_arg1];
}
public function getUserList():Array{
return (this.userList);
}
}
}//package it.gotoandplay.smartfoxserver.data
Section 68
//User (it.gotoandplay.smartfoxserver.data.User)
package it.gotoandplay.smartfoxserver.data {
public class User {
private var isSpec:Boolean;
private var name:String;
private var id:int;
private var pId:int;
private var variables:Array;
private var isMod:Boolean;
public function User(_arg1:int, _arg2:String){
this.id = _arg1;
this.name = _arg2;
this.variables = [];
this.isSpec = false;
this.isMod = false;
}
public function setModerator(_arg1:Boolean):void{
this.isMod = _arg1;
}
public function getName():String{
return (this.name);
}
public function getVariables():Array{
return (this.variables);
}
public function getId():int{
return (this.id);
}
public function getPlayerId():int{
return (this.pId);
}
public function setPlayerId(_arg1:int):void{
this.pId = _arg1;
}
public function setIsSpectator(_arg1:Boolean):void{
this.isSpec = _arg1;
}
public function isSpectator():Boolean{
return (this.isSpec);
}
public function clearVariables():void{
this.variables = [];
}
public function getVariable(_arg1:String){
return (this.variables[_arg1]);
}
public function setVariables(_arg1:Object):void{
var _local2:String;
var _local3:*;
for (_local2 in _arg1) {
_local3 = _arg1[_local2];
if (_local3 != null){
this.variables[_local2] = _local3;
} else {
delete this.variables[_local2];
};
};
}
public function isModerator():Boolean{
return (this.isMod);
}
}
}//package it.gotoandplay.smartfoxserver.data
Section 69
//ExtHandler (it.gotoandplay.smartfoxserver.handlers.ExtHandler)
package it.gotoandplay.smartfoxserver.handlers {
import it.gotoandplay.smartfoxserver.util.*;
import it.gotoandplay.smartfoxserver.*;
public class ExtHandler implements IMessageHandler {
private var sfs:SmartFoxClient;
public function ExtHandler(_arg1:SmartFoxClient){
this.sfs = _arg1;
}
public function handleMessage(_arg1:Object, _arg2:String):void{
var _local3:Object;
var _local4:SFSEvent;
var _local5:XML;
var _local6:String;
var _local7:int;
var _local8:String;
var _local9:Object;
if (_arg2 == SmartFoxClient.XTMSG_TYPE_XML){
_local5 = (_arg1 as XML);
_local6 = _local5.body.@action;
_local7 = int(_local5.body.@id);
if (_local6 == "xtRes"){
_local8 = _local5.body.toString();
_local9 = ObjectSerializer.getInstance().deserialize(_local8);
_local3 = {};
_local3.dataObj = _local9;
_local3.type = _arg2;
_local4 = new SFSEvent(SFSEvent.onExtensionResponse, _local3);
sfs.dispatchEvent(_local4);
};
} else {
if (_arg2 == SmartFoxClient.XTMSG_TYPE_JSON){
_local3 = {};
_local3.dataObj = _arg1.o;
_local3.type = _arg2;
_local4 = new SFSEvent(SFSEvent.onExtensionResponse, _local3);
sfs.dispatchEvent(_local4);
} else {
if (_arg2 == SmartFoxClient.XTMSG_TYPE_STR){
_local3 = {};
_local3.dataObj = _arg1;
_local3.type = _arg2;
_local4 = new SFSEvent(SFSEvent.onExtensionResponse, _local3);
sfs.dispatchEvent(_local4);
};
};
};
}
}
}//package it.gotoandplay.smartfoxserver.handlers
Section 70
//IMessageHandler (it.gotoandplay.smartfoxserver.handlers.IMessageHandler)
package it.gotoandplay.smartfoxserver.handlers {
public interface IMessageHandler {
function handleMessage(_arg1:Object, _arg2:String):void;
}
}//package it.gotoandplay.smartfoxserver.handlers
Section 71
//SysHandler (it.gotoandplay.smartfoxserver.handlers.SysHandler)
package it.gotoandplay.smartfoxserver.handlers {
import it.gotoandplay.smartfoxserver.data.*;
import it.gotoandplay.smartfoxserver.util.*;
import it.gotoandplay.smartfoxserver.*;
import flash.utils.*;
public class SysHandler implements IMessageHandler {
private var sfs:SmartFoxClient;
private var handlersTable:Array;
public function SysHandler(_arg1:SmartFoxClient){
this.sfs = _arg1;
handlersTable = [];
handlersTable["apiOK"] = this.handleApiOK;
handlersTable["apiKO"] = this.handleApiKO;
handlersTable["logOK"] = this.handleLoginOk;
handlersTable["logKO"] = this.handleLoginKo;
handlersTable["logout"] = this.handleLogout;
handlersTable["rmList"] = this.handleRoomList;
handlersTable["uCount"] = this.handleUserCountChange;
handlersTable["joinOK"] = this.handleJoinOk;
handlersTable["joinKO"] = this.handleJoinKo;
handlersTable["uER"] = this.handleUserEnterRoom;
handlersTable["userGone"] = this.handleUserLeaveRoom;
handlersTable["pubMsg"] = this.handlePublicMessage;
handlersTable["prvMsg"] = this.handlePrivateMessage;
handlersTable["dmnMsg"] = this.handleAdminMessage;
handlersTable["modMsg"] = this.handleModMessage;
handlersTable["dataObj"] = this.handleASObject;
handlersTable["rVarsUpdate"] = this.handleRoomVarsUpdate;
handlersTable["roomAdd"] = this.handleRoomAdded;
handlersTable["roomDel"] = this.handleRoomDeleted;
handlersTable["rndK"] = this.handleRandomKey;
handlersTable["roundTripRes"] = this.handleRoundTripBench;
handlersTable["uVarsUpdate"] = this.handleUserVarsUpdate;
handlersTable["createRmKO"] = this.handleCreateRoomError;
handlersTable["bList"] = this.handleBuddyList;
handlersTable["bUpd"] = this.handleBuddyListUpdate;
handlersTable["bAdd"] = this.handleBuddyAdded;
handlersTable["roomB"] = this.handleBuddyRoom;
handlersTable["leaveRoom"] = this.handleLeaveRoom;
handlersTable["swSpec"] = this.handleSpectatorSwitched;
handlersTable["bPrm"] = this.handleAddBuddyPermission;
handlersTable["remB"] = this.handleRemoveBuddy;
}
private function handleRoomDeleted(_arg1:Object):void{
var _local2:int;
var _local3:Array;
var _local4:Object;
var _local5:SFSEvent;
_local2 = int(_arg1.body.rm.@id);
_local3 = sfs.getAllRooms();
_local4 = {};
_local4.room = _local3[_local2];
delete _local3[_local2];
_local5 = new SFSEvent(SFSEvent.onRoomDeleted, _local4);
sfs.dispatchEvent(_local5);
}
public function handleMessage(_arg1:Object, _arg2:String):void{
var _local3:XML;
var _local4:String;
var _local5:Function;
_local3 = (_arg1 as XML);
_local4 = _local3.body.@action;
_local5 = handlersTable[_local4];
if (_local5 != null){
_local5.apply(this, [_arg1]);
} else {
trace(("Unknown sys command: " + _local4));
};
}
public function handleUserEnterRoom(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:Boolean;
var _local6:Boolean;
var _local7:int;
var _local8:XMLList;
var _local9:Room;
var _local10:User;
var _local11:Object;
var _local12:SFSEvent;
_local2 = int(_arg1.body.@r);
_local3 = int(_arg1.body.u.@i);
_local4 = _arg1.body.u.n;
_local5 = (_arg1.body.u.@m == "1");
_local6 = (_arg1.body.u.@s == "1");
_local7 = ((_arg1.body.u.@p)!=null) ? int(_arg1.body.u.@p) : -1;
_local8 = _arg1.body.u.vars["var"];
_local9 = sfs.getRoom(_local2);
_local10 = new User(_local3, _local4);
_local10.setModerator(_local5);
_local10.setIsSpectator(_local6);
_local10.setPlayerId(_local7);
_local9.addUser(_local10, _local3);
if (_arg1.body.u.vars.toString().length > 0){
populateVariables(_local10.getVariables(), _arg1.body.u);
};
_local11 = {};
_local11.roomId = _local2;
_local11.user = _local10;
_local12 = new SFSEvent(SFSEvent.onUserEnterRoom, _local11);
sfs.dispatchEvent(_local12);
}
public function handleUserVarsUpdate(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:User;
var _local5:Array;
var _local6:Object;
var _local7:SFSEvent;
_local2 = int(_arg1.body.@r);
_local3 = int(_arg1.body.user.@id);
_local4 = sfs.getRoom(_local2).getUser(_local3);
_local5 = [];
if (_arg1.body.vars.toString().length > 0){
populateVariables(_local4.getVariables(), _arg1.body, _local5);
};
_local6 = {};
_local6.user = _local4;
_local6.changedVars = _local5;
_local7 = new SFSEvent(SFSEvent.onUserVariablesUpdate, _local6);
sfs.dispatchEvent(_local7);
}
private function handleCreateRoomError(_arg1:Object):void{
var _local2:String;
var _local3:Object;
var _local4:SFSEvent;
_local2 = _arg1.body.room.@e;
_local3 = {};
_local3.error = _local2;
_local4 = new SFSEvent(SFSEvent.onCreateRoomError, _local3);
sfs.dispatchEvent(_local4);
}
public function handlePrivateMessage(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:User;
var _local6:Object;
var _local7:SFSEvent;
_local2 = int(_arg1.body.@r);
_local3 = int(_arg1.body.user.@id);
_local4 = _arg1.body.txt;
_local5 = sfs.getRoom(_local2).getUser(_local3);
_local6 = {};
_local6.message = Entities.decodeEntities(_local4);
_local6.sender = _local5;
_local6.roomId = _local2;
_local6.userId = _local3;
_local7 = new SFSEvent(SFSEvent.onPrivateMessage, _local6);
sfs.dispatchEvent(_local7);
}
private function handleBuddyRoom(_arg1:Object):void{
var _local2:String;
var _local3:Array;
var _local4:int;
var _local5:Object;
var _local6:SFSEvent;
_local2 = _arg1.body.br.@r;
_local3 = _local2.split(",");
_local4 = 0;
while (_local4 < _local3.length) {
_local3[_local4] = int(_local3[_local4]);
_local4++;
};
_local5 = {};
_local5.idList = _local3;
_local6 = new SFSEvent(SFSEvent.onBuddyRoom, _local5);
sfs.dispatchEvent(_local6);
}
public function handleLogout(_arg1:Object):void{
var _local2:SFSEvent;
sfs.__logout();
_local2 = new SFSEvent(SFSEvent.onLogout, {});
sfs.dispatchEvent(_local2);
}
public function handleUserCountChange(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Room;
var _local6:Object;
var _local7:SFSEvent;
_local2 = int(_arg1.body.@u);
_local3 = int(_arg1.body.@s);
_local4 = int(_arg1.body.@r);
_local5 = sfs.getAllRooms()[_local4];
if (_local5 != null){
_local5.setUserCount(_local2);
_local5.setSpectatorCount(_local3);
_local6 = {};
_local6.room = _local5;
_local7 = new SFSEvent(SFSEvent.onUserCountChange, _local6);
sfs.dispatchEvent(_local7);
};
}
private function handleRandomKey(_arg1:Object):void{
var _local2:String;
var _local3:Object;
var _local4:SFSEvent;
_local2 = _arg1.body.k.toString();
_local3 = {};
_local3.key = _local2;
_local4 = new SFSEvent(SFSEvent.onRandomKey, _local3);
sfs.dispatchEvent(_local4);
}
public function handlePublicMessage(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:User;
var _local6:Object;
var _local7:SFSEvent;
_local2 = int(_arg1.body.@r);
_local3 = int(_arg1.body.user.@id);
_local4 = _arg1.body.txt;
_local5 = sfs.getRoom(_local2).getUser(_local3);
_local6 = {};
_local6.message = Entities.decodeEntities(_local4);
_local6.sender = _local5;
_local6.roomId = _local2;
_local7 = new SFSEvent(SFSEvent.onPublicMessage, _local6);
sfs.dispatchEvent(_local7);
}
public function handleAdminMessage(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:Object;
var _local6:SFSEvent;
_local2 = int(_arg1.body.@r);
_local3 = int(_arg1.body.user.@id);
_local4 = _arg1.body.txt;
_local5 = {};
_local5.message = Entities.decodeEntities(_local4);
_local6 = new SFSEvent(SFSEvent.onAdminMessage, _local5);
sfs.dispatchEvent(_local6);
}
public function dispatchDisconnection():void{
var _local1:SFSEvent;
_local1 = new SFSEvent(SFSEvent.onConnectionLost, null);
sfs.dispatchEvent(_local1);
}
private function handleRemoveBuddy(_arg1:Object):void{
var _local2:String;
var _local3:Object;
var _local4:String;
var _local5:Object;
var _local6:SFSEvent;
_local2 = _arg1.body.n.toString();
_local3 = null;
for (_local4 in sfs.buddyList) {
_local3 = sfs.buddyList[_local4];
if (_local3.name == _local2){
delete sfs.buddyList[_local4];
_local5 = {};
_local5.list = sfs.buddyList;
_local6 = new SFSEvent(SFSEvent.onBuddyList, _local5);
sfs.dispatchEvent(_local6);
break;
};
};
}
private function handleAddBuddyPermission(_arg1:Object):void{
var _local2:Object;
var _local3:SFSEvent;
_local2 = {};
_local2.sender = _arg1.body.n.toString();
_local2.message = "";
if (_arg1.body.txt != undefined){
_local2.message = Entities.decodeEntities(_arg1.body.txt);
};
_local3 = new SFSEvent(SFSEvent.onBuddyPermissionRequest, _local2);
sfs.dispatchEvent(_local3);
}
public function handleLoginOk(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:Object;
var _local6:SFSEvent;
_local2 = int(_arg1.body.login.@id);
_local3 = int(_arg1.body.login.@mod);
_local4 = _arg1.body.login.@n;
sfs.amIModerator = (_local3 == 1);
sfs.myUserId = _local2;
sfs.myUserName = _local4;
sfs.playerId = -1;
_local5 = {};
_local5.success = true;
_local5.name = _local4;
_local5.error = "";
_local6 = new SFSEvent(SFSEvent.onLogin, _local5);
sfs.dispatchEvent(_local6);
sfs.getRoomList();
}
public function handleUserLeaveRoom(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:Room;
var _local5:String;
var _local6:Object;
var _local7:SFSEvent;
_local2 = int(_arg1.body.user.@id);
_local3 = int(_arg1.body.@r);
_local4 = sfs.getRoom(_local3);
_local5 = _local4.getUser(_local2).getName();
_local4.removeUser(_local2);
_local6 = {};
_local6.roomId = _local3;
_local6.userId = _local2;
_local6.userName = _local5;
_local7 = new SFSEvent(SFSEvent.onUserLeaveRoom, _local6);
sfs.dispatchEvent(_local7);
}
public function handleRoomList(_arg1:Object):void{
var _local2:Array;
var _local3:XML;
var _local4:Object;
var _local5:SFSEvent;
var _local6:int;
var _local7:Room;
sfs.clearRoomList();
_local2 = sfs.getAllRooms();
for each (_local3 in _arg1.body.rmList.rm) {
_local6 = int(_local3.@id);
_local7 = new Room(_local6, _local3.n, int(_local3.@maxu), int(_local3.@maxs), (_local3.@temp == "1"), (_local3.@game == "1"), (_local3.@priv == "1"), (_local3.@lmb == "1"), int(_local3.@ucnt), int(_local3.@scnt));
if (_local3.vars.toString().length > 0){
populateVariables(_local7.getVariables(), _local3);
};
_local2[_local6] = _local7;
};
_local4 = {};
_local4.roomList = _local2;
_local5 = new SFSEvent(SFSEvent.onRoomListUpdate, _local4);
sfs.dispatchEvent(_local5);
}
private function handleBuddyAdded(_arg1:Object):void{
var _local2:Object;
var _local3:XMLList;
var _local4:Object;
var _local5:SFSEvent;
var _local6:XML;
_local2 = {};
_local2.isOnline = ((_arg1.body.b.@s == "1")) ? true : false;
_local2.name = _arg1.body.b.n.toString();
_local2.id = _arg1.body.b.@i;
_local2.isBlocked = ((_arg1.body.b.@x == "1")) ? true : false;
_local2.variables = {};
_local3 = _arg1.body.b.vs;
if (_local3.toString().length > 0){
for each (_local6 in _local3.v) {
_local2.variables[_local6.@n.toString()] = _local6.toString();
};
};
sfs.buddyList.push(_local2);
_local4 = {};
_local4.list = sfs.buddyList;
_local5 = new SFSEvent(SFSEvent.onBuddyList, _local4);
sfs.dispatchEvent(_local5);
}
private function handleRoomAdded(_arg1:Object):void{
var _local2:int;
var _local3:String;
var _local4:int;
var _local5:int;
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
var _local9:Boolean;
var _local10:Room;
var _local11:Array;
var _local12:Object;
var _local13:SFSEvent;
_local2 = int(_arg1.body.rm.@id);
_local3 = _arg1.body.rm.name;
_local4 = int(_arg1.body.rm.@max);
_local5 = int(_arg1.body.rm.@spec);
_local6 = ((_arg1.body.rm.@temp == "1")) ? true : false;
_local7 = ((_arg1.body.rm.@game == "1")) ? true : false;
_local8 = ((_arg1.body.rm.@priv == "1")) ? true : false;
_local9 = ((_arg1.body.rm.@limbo == "1")) ? true : false;
_local10 = new Room(_local2, _local3, _local4, _local5, _local6, _local7, _local8, _local9);
_local11 = sfs.getAllRooms();
_local11[_local2] = _local10;
if (_arg1.body.rm.vars.toString().length > 0){
populateVariables(_local10.getVariables(), _arg1.body.rm);
};
_local12 = {};
_local12.room = _local10;
_local13 = new SFSEvent(SFSEvent.onRoomAdded, _local12);
sfs.dispatchEvent(_local13);
}
private function populateVariables(_arg1:Array, _arg2:Object, _arg3:Array=null):void{
var _local4:XML;
var _local5:String;
var _local6:String;
var _local7:String;
for each (_local4 in _arg2.vars["var"]) {
_local5 = _local4.@n;
_local6 = _local4.@t;
_local7 = _local4;
if (_arg3 != null){
_arg3.push(_local5);
_arg3[_local5] = true;
};
if (_local6 == "b"){
_arg1[_local5] = ((_local7 == "1")) ? true : false;
} else {
if (_local6 == "n"){
_arg1[_local5] = Number(_local7);
} else {
if (_local6 == "s"){
_arg1[_local5] = _local7;
} else {
if (_local6 == "x"){
delete _arg1[_local5];
};
};
};
};
};
}
public function handleRoomVarsUpdate(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:Room;
var _local5:Array;
var _local6:Object;
var _local7:SFSEvent;
_local2 = int(_arg1.body.@r);
_local3 = int(_arg1.body.user.@id);
_local4 = sfs.getRoom(_local2);
_local5 = [];
if (_arg1.body.vars.toString().length > 0){
populateVariables(_local4.getVariables(), _arg1.body, _local5);
};
_local6 = {};
_local6.room = _local4;
_local6.changedVars = _local5;
_local7 = new SFSEvent(SFSEvent.onRoomVariablesUpdate, _local6);
sfs.dispatchEvent(_local7);
}
private function handleSpectatorSwitched(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:Room;
var _local5:int;
var _local6:User;
var _local7:Object;
var _local8:SFSEvent;
_local2 = int(_arg1.body.@r);
_local3 = int(_arg1.body.pid.@id);
_local4 = sfs.getRoom(_local2);
if (_local3 > 0){
_local4.setUserCount((_local4.getUserCount() + 1));
_local4.setSpectatorCount((_local4.getSpectatorCount() - 1));
};
if (_arg1.body.pid.@u != undefined){
_local5 = int(_arg1.body.pid.@u);
_local6 = _local4.getUser(_local5);
if (_local6 != null){
_local6.setIsSpectator(false);
_local6.setPlayerId(_local3);
};
} else {
sfs.playerId = _local3;
_local7 = {};
_local7.success = (sfs.playerId > 0);
_local7.newId = sfs.playerId;
_local7.room = _local4;
_local8 = new SFSEvent(SFSEvent.onSpectatorSwitched, _local7);
sfs.dispatchEvent(_local8);
};
}
private function handleLeaveRoom(_arg1:Object):void{
var _local2:int;
var _local3:Object;
var _local4:SFSEvent;
_local2 = int(_arg1.body.rm.@id);
_local3 = {};
_local3.roomId = _local2;
_local4 = new SFSEvent(SFSEvent.onRoomLeft, _local3);
sfs.dispatchEvent(_local4);
}
private function handleBuddyListUpdate(_arg1:Object):void{
var _local2:Object;
var _local3:SFSEvent;
var _local4:Object;
var _local5:XMLList;
var _local6:Object;
var _local7:Boolean;
var _local8:String;
var _local9:XML;
_local2 = {};
_local3 = null;
if (_arg1.body.b != null){
_local4 = {};
_local4.isOnline = ((_arg1.body.b.@s == "1")) ? true : false;
_local4.name = _arg1.body.b.n.toString();
_local4.id = _arg1.body.b.@i;
_local4.isBlocked = ((_arg1.body.b.@x == "1")) ? true : false;
_local5 = _arg1.body.b.vs;
_local6 = null;
_local7 = false;
for (_local8 in sfs.buddyList) {
_local6 = sfs.buddyList[_local8];
if (_local6.name == _local4.name){
sfs.buddyList[_local8] = _local4;
_local4.isBlocked = _local6.isBlocked;
_local4.variables = _local6.variables;
if (_local5.toString().length > 0){
for each (_local9 in _local5.v) {
_local4.variables[_local9.@n.toString()] = _local9.toString();
};
};
_local7 = true;
break;
};
};
if (_local7){
_local2.buddy = _local4;
_local3 = new SFSEvent(SFSEvent.onBuddyListUpdate, _local2);
sfs.dispatchEvent(_local3);
};
} else {
_local2.error = _arg1.body.err.toString();
_local3 = new SFSEvent(SFSEvent.onBuddyListError, _local2);
sfs.dispatchEvent(_local3);
};
}
public function handleLoginKo(_arg1:Object):void{
var _local2:Object;
var _local3:SFSEvent;
_local2 = {};
_local2.success = false;
_local2.error = _arg1.body.login.@e;
_local3 = new SFSEvent(SFSEvent.onLogin, _local2);
sfs.dispatchEvent(_local3);
}
public function handleModMessage(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:User;
var _local6:Room;
var _local7:Object;
var _local8:SFSEvent;
_local2 = int(_arg1.body.@r);
_local3 = int(_arg1.body.user.@id);
_local4 = _arg1.body.txt;
_local5 = null;
_local6 = sfs.getRoom(_local2);
if (_local6 != null){
_local5 = sfs.getRoom(_local2).getUser(_local3);
};
_local7 = {};
_local7.message = Entities.decodeEntities(_local4);
_local7.sender = _local5;
_local8 = new SFSEvent(SFSEvent.onModeratorMessage, _local7);
sfs.dispatchEvent(_local8);
}
public function handleApiOK(_arg1:Object):void{
var _local2:SFSEvent;
sfs.isConnected = true;
_local2 = new SFSEvent(SFSEvent.onConnection, {success:true});
sfs.dispatchEvent(_local2);
}
private function handleRoundTripBench(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:Object;
var _local5:SFSEvent;
_local2 = getTimer();
_local3 = (_local2 - sfs.getBenchStartTime());
_local4 = {};
_local4.elapsed = _local3;
_local5 = new SFSEvent(SFSEvent.onRoundTripResponse, _local4);
sfs.dispatchEvent(_local5);
}
public function handleJoinOk(_arg1:Object):void{
var _local2:int;
var _local3:XMLList;
var _local4:XMLList;
var _local5:int;
var _local6:Room;
var _local7:XML;
var _local8:Object;
var _local9:SFSEvent;
var _local10:String;
var _local11:int;
var _local12:Boolean;
var _local13:Boolean;
var _local14:int;
var _local15:User;
_local2 = int(_arg1.body.@r);
_local3 = _arg1.body;
_local4 = _arg1.body.uLs.u;
_local5 = int(_arg1.body.pid.@id);
sfs.activeRoomId = _local2;
_local6 = sfs.getRoom(_local2);
_local6.clearUserList();
sfs.playerId = _local5;
_local6.setMyPlayerIndex(_local5);
if (_local3.vars.toString().length > 0){
_local6.clearVariables();
populateVariables(_local6.getVariables(), _local3);
};
for each (_local7 in _local4) {
_local10 = _local7.n;
_local11 = int(_local7.@i);
_local12 = ((_local7.@m == "1")) ? true : false;
_local13 = ((_local7.@s == "1")) ? true : false;
_local14 = ((_local7.@p == null)) ? -1 : int(_local7.@p);
_local15 = new User(_local11, _local10);
_local15.setModerator(_local12);
_local15.setIsSpectator(_local13);
_local15.setPlayerId(_local14);
if (_local7.vars.toString().length > 0){
populateVariables(_local15.getVariables(), _local7);
};
_local6.addUser(_local15, _local11);
};
sfs.changingRoom = false;
_local8 = {};
_local8.room = _local6;
_local9 = new SFSEvent(SFSEvent.onJoinRoom, _local8);
sfs.dispatchEvent(_local9);
}
public function handleJoinKo(_arg1:Object):void{
var _local2:Object;
var _local3:SFSEvent;
sfs.changingRoom = false;
_local2 = {};
_local2.error = _arg1.body.error.@msg;
_local3 = new SFSEvent(SFSEvent.onJoinRoomError, _local2);
sfs.dispatchEvent(_local3);
}
public function handleASObject(_arg1:Object):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:User;
var _local6:Object;
var _local7:Object;
var _local8:SFSEvent;
_local2 = int(_arg1.body.@r);
_local3 = int(_arg1.body.user.@id);
_local4 = _arg1.body.dataObj;
_local5 = sfs.getRoom(_local2).getUser(_local3);
_local6 = ObjectSerializer.getInstance().deserialize(new XML(_local4));
_local7 = {};
_local7.obj = _local6;
_local7.sender = _local5;
_local8 = new SFSEvent(SFSEvent.onObjectReceived, _local7);
sfs.dispatchEvent(_local8);
}
private function handleBuddyList(_arg1:Object):void{
var _local2:XMLList;
var _local3:XMLList;
var _local4:Object;
var _local5:Object;
var _local6:SFSEvent;
var _local7:XML;
var _local8:XML;
var _local9:XMLList;
var _local10:XML;
_local2 = _arg1.body.bList;
_local3 = _arg1.body.mv;
_local5 = {};
_local6 = null;
if (((!((_local2 == null))) && (!((_local2.b.length == null))))){
if (((!((_local3 == null))) && ((_local3.toString().length > 0)))){
for each (_local7 in _local3.v) {
sfs.myBuddyVars[_local7.@n.toString()] = _local7.toString();
};
};
if (_local2.toString().length > 0){
for each (_local8 in _local2.b) {
_local4 = {};
_local4.isOnline = ((_local8.@s == "1")) ? true : false;
_local4.name = _local8.n.toString();
_local4.id = _local8.@i;
_local4.isBlocked = ((_local8.@x == "1")) ? true : false;
_local4.variables = {};
_local9 = _local8.vs;
if (_local9.toString().length > 0){
for each (_local10 in _local9.v) {
_local4.variables[_local10.@n.toString()] = _local10.toString();
};
};
sfs.buddyList.push(_local4);
};
};
_local5.list = sfs.buddyList;
_local6 = new SFSEvent(SFSEvent.onBuddyList, _local5);
sfs.dispatchEvent(_local6);
} else {
_local5.error = _arg1.body.err.toString();
_local6 = new SFSEvent(SFSEvent.onBuddyListError, _local5);
sfs.dispatchEvent(_local6);
};
}
public function handleApiKO(_arg1:Object):void{
var _local2:Object;
var _local3:SFSEvent;
_local2 = {};
_local2.success = false;
_local2.error = "API are obsolete, please upgrade";
_local3 = new SFSEvent(SFSEvent.onConnection, _local2);
sfs.dispatchEvent(_local3);
}
}
}//package it.gotoandplay.smartfoxserver.handlers
Section 72
//HttpConnection (it.gotoandplay.smartfoxserver.http.HttpConnection)
package it.gotoandplay.smartfoxserver.http {
import flash.events.*;
import flash.net.*;
public class HttpConnection extends EventDispatcher {
private var port:int;
private var connected:Boolean;// = false
private var codec:IHttpProtocolCodec;
private var urlLoaderFactory:LoaderFactory;
private var sessionId:String;
private var urlRequest:URLRequest;
private var ipAddr:String;
private var webUrl:String;
private static const servletUrl:String = "BlueBox/HttpBox.do";
public static const HANDSHAKE_TOKEN:String = "#";
private static const HANDSHAKE:String = "connect";
private static const DISCONNECT:String = "disconnect";
private static const CONN_LOST:String = "ERR#01";
private static const paramName:String = "sfsHttp";
public function HttpConnection(){
connected = false;
super();
codec = new RawProtocolCodec();
urlLoaderFactory = new LoaderFactory(handleResponse, handleIOError);
}
public function close():void{
send(DISCONNECT);
}
public function getSessionId():String{
return (this.sessionId);
}
private function handleResponse(_arg1:Event):void{
var _local2:URLLoader;
var _local3:String;
var _local4:HttpEvent;
var _local5:Object;
_local2 = (_arg1.target as URLLoader);
_local3 = (_local2.data as String);
_local5 = {};
if (_local3.charAt(0) == HANDSHAKE_TOKEN){
if (sessionId == null){
sessionId = codec.decode(_local3);
connected = true;
_local5.sessionId = this.sessionId;
_local5.success = true;
_local4 = new HttpEvent(HttpEvent.onHttpConnect, _local5);
dispatchEvent(_local4);
} else {
trace("**ERROR** SessionId is being rewritten");
};
} else {
if (_local3.indexOf(CONN_LOST) == 0){
_local5.data = {};
_local4 = new HttpEvent(HttpEvent.onHttpClose, _local5);
} else {
_local5.data = _local3;
_local4 = new HttpEvent(HttpEvent.onHttpData, _local5);
};
dispatchEvent(_local4);
};
}
private function handleIOError(_arg1:IOErrorEvent):void{
var _local2:Object;
var _local3:HttpEvent;
_local2 = {};
_local2.message = _arg1.text;
_local3 = new HttpEvent(HttpEvent.onHttpError, _local2);
dispatchEvent(_local3);
}
public function connect(_arg1:String, _arg2:int=8080):void{
this.ipAddr = _arg1;
this.port = _arg2;
this.webUrl = ((((("http://" + this.ipAddr) + ":") + this.port) + "/") + servletUrl);
this.sessionId = null;
urlRequest = new URLRequest(webUrl);
urlRequest.method = URLRequestMethod.POST;
send(HANDSHAKE);
}
public function send(_arg1:String):void{
var _local2:URLVariables;
var _local3:URLLoader;
if (((((connected) || (((!(connected)) && ((_arg1 == HANDSHAKE)))))) || (((!(connected)) && ((_arg1 == "poll")))))){
_local2 = new URLVariables();
_local2[paramName] = codec.encode(this.sessionId, _arg1);
urlRequest.data = _local2;
if (_arg1 != "poll"){
trace(("[ Send ]: " + urlRequest.data));
};
_local3 = urlLoaderFactory.getLoader();
_local3.data = _local2;
_local3.load(urlRequest);
};
}
public function isConnected():Boolean{
return (this.connected);
}
}
}//package it.gotoandplay.smartfoxserver.http
Section 73
//HttpEvent (it.gotoandplay.smartfoxserver.http.HttpEvent)
package it.gotoandplay.smartfoxserver.http {
import flash.events.*;
public class HttpEvent extends Event {
public var params:Object;
private var evtType:String;
public static const onHttpClose:String = "onHttpClose";
public static const onHttpError:String = "onHttpError";
public static const onHttpConnect:String = "onHttpConnect";
public static const onHttpData:String = "onHttpData";
public function HttpEvent(_arg1:String, _arg2:Object){
super(_arg1);
this.params = _arg2;
this.evtType = _arg1;
}
override public function toString():String{
return (formatToString("HttpEvent", "type", "bubbles", "cancelable", "eventPhase", "params"));
}
override public function clone():Event{
return (new HttpEvent(this.evtType, this.params));
}
}
}//package it.gotoandplay.smartfoxserver.http
Section 74
//IHttpProtocolCodec (it.gotoandplay.smartfoxserver.http.IHttpProtocolCodec)
package it.gotoandplay.smartfoxserver.http {
public interface IHttpProtocolCodec {
function encode(_arg1:String, _arg2:String):String;
function decode(_arg1:String):String;
}
}//package it.gotoandplay.smartfoxserver.http
Section 75
//LoaderFactory (it.gotoandplay.smartfoxserver.http.LoaderFactory)
package it.gotoandplay.smartfoxserver.http {
import flash.events.*;
import flash.net.*;
public class LoaderFactory {
private var currentLoaderIndex:int;
private var loadersPool:Array;
private static const DEFAULT_POOL_SIZE:int = 8;
public function LoaderFactory(_arg1:Function, _arg2:Function, _arg3:int=8){
var _local4:int;
var _local5:URLLoader;
super();
loadersPool = [];
_local4 = 0;
while (_local4 < _arg3) {
_local5 = new URLLoader();
_local5.dataFormat = URLLoaderDataFormat.TEXT;
_local5.addEventListener(Event.COMPLETE, _arg1);
_local5.addEventListener(IOErrorEvent.IO_ERROR, _arg2);
_local5.addEventListener(IOErrorEvent.NETWORK_ERROR, _arg2);
loadersPool.push(_local5);
_local4++;
};
currentLoaderIndex = 0;
}
public function getLoader():URLLoader{
var _local1:URLLoader;
_local1 = loadersPool[currentLoaderIndex];
currentLoaderIndex++;
if (currentLoaderIndex >= loadersPool.length){
currentLoaderIndex = 0;
};
return (_local1);
}
}
}//package it.gotoandplay.smartfoxserver.http
Section 76
//RawProtocolCodec (it.gotoandplay.smartfoxserver.http.RawProtocolCodec)
package it.gotoandplay.smartfoxserver.http {
public class RawProtocolCodec implements IHttpProtocolCodec {
private static const SESSION_ID_LEN:int = 32;
public function encode(_arg1:String, _arg2:String):String{
return ((((_arg1 == null)) ? "" : _arg1 + _arg2));
}
public function decode(_arg1:String):String{
var _local2:String;
if (_arg1.charAt(0) == HttpConnection.HANDSHAKE_TOKEN){
_local2 = _arg1.substr(1, SESSION_ID_LEN);
};
return (_local2);
}
}
}//package it.gotoandplay.smartfoxserver.http
Section 77
//Entities (it.gotoandplay.smartfoxserver.util.Entities)
package it.gotoandplay.smartfoxserver.util {
public class Entities {
private static var hexTable:Array = new Array();
private static var ascTab:Array = [];
private static var ascTabRev:Array = [];
public static function decodeEntities(_arg1:String):String{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:String;
var _local7:int;
_local7 = 0;
_local2 = "";
while (_local7 < _arg1.length) {
_local3 = _arg1.charAt(_local7);
if (_local3 == "&"){
_local4 = _local3;
do {
_local7++;
_local5 = _arg1.charAt(_local7);
_local4 = (_local4 + _local5);
} while (((!((_local5 == ";"))) && ((_local7 < _arg1.length))));
_local6 = ascTabRev[_local4];
if (_local6 != null){
_local2 = (_local2 + _local6);
} else {
_local2 = (_local2 + String.fromCharCode(getCharCode(_local4)));
};
} else {
_local2 = (_local2 + _local3);
};
_local7++;
};
return (_local2);
}
public static function encodeEntities(_arg1:String):String{
var _local2:String;
var _local3:int;
var _local4:String;
var _local5:int;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _arg1.charAt(_local3);
_local5 = _arg1.charCodeAt(_local3);
if ((((((_local5 == 9)) || ((_local5 == 10)))) || ((_local5 == 13)))){
_local2 = (_local2 + _local4);
} else {
if ((((_local5 >= 32)) && ((_local5 <= 126)))){
if (ascTab[_local4] != null){
_local2 = (_local2 + ascTab[_local4]);
} else {
_local2 = (_local2 + _local4);
};
} else {
_local2 = (_local2 + _local4);
};
};
_local3++;
};
return (_local2);
}
public static function getCharCode(_arg1:String):Number{
var _local2:String;
_local2 = _arg1.substr(3, _arg1.length);
_local2 = _local2.substr(0, (_local2.length - 1));
return (Number(("0x" + _local2)));
}
ascTab[">"] = ">";
ascTab["<"] = "<";
ascTab["&"] = "&";
ascTab["'"] = "'";
ascTab["\""] = """;
ascTabRev[">"] = ">";
ascTabRev["<"] = "<";
ascTabRev["&"] = "&";
ascTabRev["'"] = "'";
ascTabRev["""] = "\"";
hexTable["0"] = 0;
hexTable["1"] = 1;
hexTable["2"] = 2;
hexTable["3"] = 3;
hexTable["4"] = 4;
hexTable["5"] = 5;
hexTable["6"] = 6;
hexTable["7"] = 7;
hexTable["8"] = 8;
hexTable["9"] = 9;
hexTable["A"] = 10;
hexTable["B"] = 11;
hexTable["C"] = 12;
hexTable["D"] = 13;
hexTable["E"] = 14;
hexTable["F"] = 15;
}
}//package it.gotoandplay.smartfoxserver.util
Section 78
//ObjectSerializer (it.gotoandplay.smartfoxserver.util.ObjectSerializer)
package it.gotoandplay.smartfoxserver.util {
public class ObjectSerializer {
private var eof:String;
private var debug:Boolean;
private var tabs:String;
private static var instance:ObjectSerializer;
public function ObjectSerializer(_arg1:Boolean=false){
this.tabs = "\t\t\t\t\t\t\t\t\t\t\t\t\t";
setDebug(_arg1);
}
public function serialize(_arg1:Object):String{
var _local2:Object;
_local2 = {};
obj2xml(_arg1, _local2);
return (_local2.xmlStr);
}
private function obj2xml(_arg1:Object, _arg2:Object, _arg3:int=0, _arg4:String=""):void{
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:*;
if (_arg3 == 0){
_arg2.xmlStr = ("<dataObj>" + this.eof);
} else {
if (this.debug){
_arg2.xmlStr = (_arg2.xmlStr + this.tabs.substr(0, _arg3));
};
_local6 = ((_arg1 is Array)) ? "a" : "o";
_arg2.xmlStr = (_arg2.xmlStr + ((((("<obj t='" + _local6) + "' o='") + _arg4) + "'>") + this.eof));
};
for (_local5 in _arg1) {
_local7 = typeof(_arg1[_local5]);
_local8 = _arg1[_local5];
if ((((((((_local7 == "boolean")) || ((_local7 == "number")))) || ((_local7 == "string")))) || ((_local7 == "null")))){
if (_local7 == "boolean"){
_local8 = Number(_local8);
} else {
if (_local7 == "null"){
_local7 = "x";
_local8 = "";
} else {
if (_local7 == "string"){
_local8 = Entities.encodeEntities(_local8);
};
};
};
if (this.debug){
_arg2.xmlStr = (_arg2.xmlStr + this.tabs.substr(0, (_arg3 + 1)));
};
_arg2.xmlStr = (_arg2.xmlStr + ((((((("<var n='" + _local5) + "' t='") + _local7.substr(0, 1)) + "'>") + _local8) + "</var>") + this.eof));
} else {
if (_local7 == "object"){
obj2xml(_local8, _arg2, (_arg3 + 1), _local5);
if (this.debug){
_arg2.xmlStr = (_arg2.xmlStr + this.tabs.substr(0, (_arg3 + 1)));
};
_arg2.xmlStr = (_arg2.xmlStr + ("</obj>" + this.eof));
};
};
};
if (_arg3 == 0){
_arg2.xmlStr = (_arg2.xmlStr + ("</dataObj>" + this.eof));
};
}
private function setDebug(_arg1:Boolean):void{
this.debug = _arg1;
if (this.debug){
this.eof = "\n";
} else {
this.eof = "";
};
}
private function xml2obj(_arg1:XML, _arg2:Object):void{
var _local3:int;
var _local4:XMLList;
var _local5:String;
var _local6:XML;
var _local7:String;
var _local8:String;
var _local9:String;
var _local10:String;
var _local11:String;
_local3 = 0;
_local4 = _arg1.children();
for each (_local6 in _local4) {
_local5 = _local6.name().toString();
if (_local5 == "obj"){
_local7 = _local6.@o;
_local8 = _local6.@t;
if (_local8 == "a"){
_arg2[_local7] = [];
} else {
if (_local8 == "o"){
_arg2[_local7] = {};
};
};
xml2obj(_local6, _arg2[_local7]);
} else {
if (_local5 == "var"){
_local9 = _local6.@n;
_local10 = _local6.@t;
_local11 = _local6.toString();
if (_local10 == "b"){
_arg2[_local9] = ((_local11 == "0")) ? false : true;
} else {
if (_local10 == "n"){
_arg2[_local9] = Number(_local11);
} else {
if (_local10 == "s"){
_arg2[_local9] = _local11;
} else {
if (_local10 == "x"){
_arg2[_local9] = null;
};
};
};
};
};
};
};
}
private function encodeEntities(_arg1:String):String{
return (_arg1);
}
public function deserialize(_arg1:String):Object{
var _local2:XML;
var _local3:Object;
_local2 = new XML(_arg1);
_local3 = {};
xml2obj(_local2, _local3);
return (_local3);
}
public static function getInstance(_arg1:Boolean=false):ObjectSerializer{
if (instance == null){
instance = new ObjectSerializer(_arg1);
};
return (instance);
}
}
}//package it.gotoandplay.smartfoxserver.util
Section 79
//SFSEvent (it.gotoandplay.smartfoxserver.SFSEvent)
package it.gotoandplay.smartfoxserver {
import flash.events.*;
public class SFSEvent extends Event {
public var params:Object;
public static const onExtensionResponse:String = "onExtensionResponse";
public static const onConfigLoadFailure:String = "onConfigLoadFailure";
public static const onBuddyListUpdate:String = "onBuddyListUpdate";
public static const onUserLeaveRoom:String = "onUserLeaveRoom";
public static const onRoomLeft:String = "onRoomLeft";
public static const onRoundTripResponse:String = "onRoundTripResponse";
public static const onRoomListUpdate:String = "onRoomListUpdate";
public static const onConnection:String = "onConnection";
public static const onBuddyListError:String = "onBuddyListError";
public static const onJoinRoom:String = "onJoinRoom";
public static const onBuddyRoom:String = "onBuddyRoom";
public static const onUserEnterRoom:String = "onUserEnterRoom";
public static const onDebugMessage:String = "onDebugMessage";
public static const onAdminMessage:String = "onAdminMessage";
public static const onPublicMessage:String = "onPublicMessage";
public static const onModeratorMessage:String = "onModMessage";
public static const onPrivateMessage:String = "onPrivateMessage";
public static const onLogout:String = "onLogout";
public static const onJoinRoomError:String = "onJoinRoomError";
public static const onRoomAdded:String = "onRoomAdded";
public static const onLogin:String = "onLogin";
public static const onSpectatorSwitched:String = "onSpectatorSwitched";
public static const onBuddyPermissionRequest:String = "onBuddyPermissionRequest";
public static const onRoomDeleted:String = "onRoomDeleted";
public static const onConnectionLost:String = "onConnectionLost";
public static const onBuddyList:String = "onBuddyList";
public static const onRoomVariablesUpdate:String = "onRoomVariablesUpdate";
public static const onCreateRoomError:String = "onCreateRoomError";
public static const onUserCountChange:String = "onUserCountChange";
public static const onUserVariablesUpdate:String = "onUserVariablesUpdate";
public static const onConfigLoadSuccess:String = "onConfigLoadSuccess";
public static const onRandomKey:String = "onRandomKey";
public static const onObjectReceived:String = "onObjectReceived";
public function SFSEvent(_arg1:String, _arg2:Object){
super(_arg1);
this.params = _arg2;
}
override public function toString():String{
return (formatToString("SFSEvent", "type", "bubbles", "cancelable", "eventPhase", "params"));
}
override public function clone():Event{
return (new SFSEvent(this.type, this.params));
}
}
}//package it.gotoandplay.smartfoxserver
Section 80
//SmartFoxClient (it.gotoandplay.smartfoxserver.SmartFoxClient)
package it.gotoandplay.smartfoxserver {
import flash.events.*;
import it.gotoandplay.smartfoxserver.data.*;
import it.gotoandplay.smartfoxserver.util.*;
import flash.net.*;
import com.adobe.serialization.json.*;
import it.gotoandplay.smartfoxserver.handlers.*;
import it.gotoandplay.smartfoxserver.http.*;
import flash.utils.*;
public class SmartFoxClient extends EventDispatcher {
private var connected:Boolean;
private var autoConnectOnConfigSuccess:Boolean;// = false
private var benchStartTime:int;
private var roomList:Array;
private var _httpPollSpeed:int;
private var minVersion:Number;
public var httpPort:int;// = 8080
public var myUserId:int;
public var blueBoxPort:Number;// = 0
public var debug:Boolean;
private var byteBuffer:ByteArray;
private var subVersion:Number;
public var buddyList:Array;
public var port:int;// = 9339
private var messageHandlers:Array;
public var defaultZone:String;
private var isHttpMode:Boolean;// = false
private var httpConnection:HttpConnection;
private var majVersion:Number;
private var socketConnection:Socket;
public var blueBoxIpAddress:String;
private var sysHandler:SysHandler;
public var myBuddyVars:Array;
public var myUserName:String;
public var ipAddress:String;
public var playerId:int;
public var smartConnect:Boolean;// = true
public var amIModerator:Boolean;
private var extHandler:ExtHandler;
public var changingRoom:Boolean;
public var activeRoomId:int;
public static const CONNECTION_MODE_HTTP:String = "http";
private static const MSG_JSON:String = "{";
public static const MODMSG_TO_USER:String = "u";
public static const XTMSG_TYPE_XML:String = "xml";
private static const MSG_XML:String = "<";
public static const MODMSG_TO_ROOM:String = "r";
private static const EOM:int = 0;
public static const XTMSG_TYPE_STR:String = "str";
public static const CONNECTION_MODE_SOCKET:String = "socket";
public static const MODMSG_TO_ZONE:String = "z";
public static const CONNECTION_MODE_DISCONNECTED:String = "disconnected";
public static const XTMSG_TYPE_JSON:String = "json";
private static var MAX_POLL_SPEED:Number = 10000;
private static var DEFAULT_POLL_SPEED:Number = 750;
private static var MIN_POLL_SPEED:Number = 0;
private static var HTTP_POLL_REQUEST:String = "poll";
private static var MSG_STR:String = "%";
public function SmartFoxClient(_arg1:Boolean=false){
autoConnectOnConfigSuccess = false;
port = 9339;
isHttpMode = false;
_httpPollSpeed = DEFAULT_POLL_SPEED;
blueBoxPort = 0;
smartConnect = true;
httpPort = 8080;
super();
this.majVersion = 1;
this.minVersion = 5;
this.subVersion = 4;
this.activeRoomId = -1;
this.debug = _arg1;
this.messageHandlers = [];
setupMessageHandlers();
socketConnection = new Socket();
socketConnection.addEventListener(Event.CONNECT, handleSocketConnection);
socketConnection.addEventListener(Event.CLOSE, handleSocketDisconnection);
socketConnection.addEventListener(ProgressEvent.SOCKET_DATA, handleSocketData);
socketConnection.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
socketConnection.addEventListener(IOErrorEvent.NETWORK_ERROR, handleIOError);
socketConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleSecurityError);
httpConnection = new HttpConnection();
httpConnection.addEventListener(HttpEvent.onHttpConnect, handleHttpConnect);
httpConnection.addEventListener(HttpEvent.onHttpClose, handleHttpClose);
httpConnection.addEventListener(HttpEvent.onHttpData, handleHttpData);
httpConnection.addEventListener(HttpEvent.onHttpError, handleHttpError);
byteBuffer = new ByteArray();
}
private function getXmlUserVariable(_arg1:Object):String{
var _local2:String;
var _local3:*;
var _local4:String;
var _local5:String;
var _local6:String;
_local2 = "<vars>";
for (_local6 in _arg1) {
_local3 = _arg1[_local6];
_local5 = typeof(_local3);
_local4 = null;
if (_local5 == "boolean"){
_local4 = "b";
_local3 = (_local3) ? "1" : "0";
} else {
if (_local5 == "number"){
_local4 = "n";
} else {
if (_local5 == "string"){
_local4 = "s";
} else {
if ((((((_local3 == null)) && ((_local5 == "object")))) || ((_local5 == "undefined")))){
_local4 = "x";
_local3 = "";
};
};
};
};
if (_local4 != null){
_local2 = (_local2 + (((((("<var n='" + _local6) + "' t='") + _local4) + "'><![CDATA[") + _local3) + "]]></var>"));
};
};
_local2 = (_local2 + "</vars>");
return (_local2);
}
private function jsonReceived(_arg1:String):void{
var _local2:Object;
var _local3:String;
var _local4:IMessageHandler;
_local2 = JSON.decode(_arg1);
_local3 = _local2["t"];
_local4 = messageHandlers[_local3];
if (_local4 != null){
_local4.handleMessage(_local2["b"], XTMSG_TYPE_JSON);
};
}
private function onConfigLoadFailure(_arg1:IOErrorEvent):void{
var _local2:Object;
var _local3:SFSEvent;
_local2 = {message:_arg1.text};
_local3 = new SFSEvent(SFSEvent.onConfigLoadFailure, _local2);
dispatchEvent(_local3);
}
public function getActiveRoom():Room{
return (roomList[activeRoomId]);
}
public function getBuddyRoom(_arg1:Object):void{
if (_arg1.id != -1){
send({t:"sys", bid:_arg1.id}, "roomB", -1, (("<b id='" + _arg1.id) + "' />"));
};
}
private function checkBuddyDuplicates(_arg1:String):Boolean{
var _local2:Boolean;
var _local3:Object;
_local2 = false;
for each (_local3 in buddyList) {
if (_local3.name == _arg1){
_local2 = true;
break;
};
};
return (_local2);
}
private function getXmlRoomVariable(_arg1:Object):String{
var _local2:String;
var _local3:*;
var _local4:String;
var _local5:String;
var _local6:String;
var _local7:String;
_local2 = _arg1.name.toString();
_local3 = _arg1.val;
_local4 = (_arg1.priv) ? "1" : "0";
_local5 = (_arg1.persistent) ? "1" : "0";
_local6 = null;
_local7 = typeof(_local3);
if (_local7 == "boolean"){
_local6 = "b";
_local3 = (_local3) ? "1" : "0";
} else {
if (_local7 == "number"){
_local6 = "n";
} else {
if (_local7 == "string"){
_local6 = "s";
} else {
if ((((((_local3 == null)) && ((_local7 == "object")))) || ((_local7 == "undefined")))){
_local6 = "x";
_local3 = "";
};
};
};
};
if (_local6 != null){
return ((((((((((("<var n='" + _local2) + "' t='") + _local6) + "' pr='") + _local4) + "' pe='") + _local5) + "'><![CDATA[") + _local3) + "]]></var>"));
};
return ("");
}
public function getBuddyById(_arg1:int):Object{
var _local2:Object;
for each (_local2 in buddyList) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
private function handleSocketDisconnection(_arg1:Event):void{
var _local2:SFSEvent;
initialize();
_local2 = new SFSEvent(SFSEvent.onConnectionLost, {});
dispatchEvent(_local2);
}
private function handleSocketError(_arg1:SecurityErrorEvent):void{
debugMessage(("Socket Error: " + _arg1.text));
}
private function xmlReceived(_arg1:String):void{
var _local2:XML;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:IMessageHandler;
_local2 = new XML(_arg1);
_local3 = _local2.@t;
_local4 = _local2.body.@action;
_local5 = _local2.body.@r;
_local6 = messageHandlers[_local3];
if (_local6 != null){
_local6.handleMessage(_local2, XTMSG_TYPE_XML);
};
}
public function switchSpectator(_arg1:int=-1):void{
if (_arg1 == -1){
_arg1 = activeRoomId;
};
send({t:"sys"}, "swSpec", _arg1, "");
}
public function roundTripBench():void{
this.benchStartTime = getTimer();
send({t:"sys"}, "roundTrip", activeRoomId, "");
}
private function handleHttpError(_arg1:HttpEvent):void{
trace("HttpError");
if (!connected){
dispatchConnectionError();
};
}
public function joinRoom(_arg1, _arg2:String="", _arg3:Boolean=false, _arg4:Boolean=false, _arg5:int=-1):void{
var _local6:int;
var _local7:int;
var _local8:Room;
var _local9:Object;
var _local10:String;
var _local11:int;
var _local12:String;
_local6 = -1;
_local7 = (_arg3) ? 1 : 0;
if (!this.changingRoom){
if (typeof(_arg1) == "number"){
_local6 = int(_arg1);
} else {
if (typeof(_arg1) == "string"){
for each (_local8 in roomList) {
if (_local8.getName() == _arg1){
_local6 = _local8.getId();
break;
};
};
};
};
if (_local6 != -1){
_local9 = {t:"sys"};
_local10 = (_arg4) ? "0" : "1";
_local11 = ((_arg5 > -1)) ? _arg5 : activeRoomId;
if (activeRoomId == -1){
_local10 = "0";
_local11 = -1;
};
_local12 = (((((((((("<room id='" + _local6) + "' pwd='") + _arg2) + "' spec='") + _local7) + "' leave='") + _local10) + "' old='") + _local11) + "' />");
send(_local9, "joinRoom", activeRoomId, _local12);
changingRoom = true;
} else {
debugMessage("SmartFoxError: requested room to join does not exist!");
};
};
}
public function get httpPollSpeed():int{
return (this._httpPollSpeed);
}
public function uploadFile(_arg1:FileReference, _arg2:int=-1, _arg3:String="", _arg4:int=-1):void{
if (_arg2 == -1){
_arg2 = this.myUserId;
};
if (_arg3 == ""){
_arg3 = this.myUserName;
};
if (_arg4 == -1){
_arg4 = this.httpPort;
};
_arg1.upload(new URLRequest(((((((("http://" + this.ipAddress) + ":") + _arg4) + "/default/Upload.py?id=") + _arg2) + "&nick=") + _arg3)));
debugMessage(((((((("[UPLOAD]: http://" + this.ipAddress) + ":") + _arg4) + "/default/Upload.py?id=") + _arg2) + "&nick=") + _arg3));
}
private function handleHttpClose(_arg1:HttpEvent):void{
var _local2:SFSEvent;
initialize();
_local2 = new SFSEvent(SFSEvent.onConnectionLost, {});
dispatchEvent(_local2);
}
private function makeXmlHeader(_arg1:Object):String{
var _local2:String;
var _local3:String;
_local2 = "<msg";
for (_local3 in _arg1) {
_local2 = (_local2 + ((((" " + _local3) + "='") + _arg1[_local3]) + "'"));
};
_local2 = (_local2 + ">");
return (_local2);
}
public function getRoomByName(_arg1:String):Room{
var _local2:Room;
var _local3:Room;
_local2 = null;
for each (_local3 in roomList) {
if (_local3.getName() == _arg1){
_local2 = _local3;
break;
};
};
return (_local2);
}
private function debugMessage(_arg1:String):void{
var _local2:SFSEvent;
if (this.debug){
trace(_arg1);
_local2 = new SFSEvent(SFSEvent.onDebugMessage, {message:_arg1});
dispatchEvent(_local2);
};
}
public function loadBuddyList():void{
send({t:"sys"}, "loadB", -1, "");
}
private function handleSocketConnection(_arg1:Event):void{
var _local2:Object;
var _local3:String;
_local2 = {t:"sys"};
_local3 = (((("<ver v='" + this.majVersion.toString()) + this.minVersion.toString()) + this.subVersion.toString()) + "' />");
send(_local2, "verChk", 0, _local3);
}
public function leaveRoom(_arg1:int):void{
var _local2:Object;
var _local3:String;
_local2 = {t:"sys"};
_local3 = (("<rm id='" + _arg1) + "' />");
send(_local2, "leaveRoom", _arg1, _local3);
}
private function addMessageHandler(_arg1:String, _arg2:IMessageHandler):void{
if (this.messageHandlers[_arg1] == null){
this.messageHandlers[_arg1] = _arg2;
} else {
debugMessage((("Warning, message handler called: " + _arg1) + " already exist!"));
};
}
public function set httpPollSpeed(_arg1:int):void{
if ((((_arg1 >= 0)) && ((_arg1 <= 10000)))){
this._httpPollSpeed = _arg1;
};
}
public function getRoom(_arg1:int):Room{
return (roomList[_arg1]);
}
private function handleSocketData(_arg1:Event):void{
var _local2:int;
var _local3:int;
_local2 = socketConnection.bytesAvailable;
while (--_local2 >= 0) {
_local3 = socketConnection.readByte();
if (_local3 != 0){
byteBuffer.writeByte(_local3);
} else {
handleMessage(byteBuffer.toString());
byteBuffer = new ByteArray();
};
};
}
public function setBuddyVariables(_arg1:Array):void{
var _local2:Object;
var _local3:String;
var _local4:String;
var _local5:String;
_local2 = {t:"sys"};
_local3 = "<vars>";
for (_local4 in _arg1) {
_local5 = _arg1[_local4];
if (myBuddyVars[_local4] != _local5){
myBuddyVars[_local4] = _local5;
_local3 = (_local3 + (((("<var n='" + _local4) + "'><![CDATA[") + _local5) + "]]></var>"));
};
};
_local3 = (_local3 + "</vars>");
this.send(_local2, "setBvars", -1, _local3);
}
private function tryBlueBoxConnection(_arg1:ErrorEvent):void{
var _local2:String;
var _local3:int;
if (!connected){
if (smartConnect){
debugMessage("Socket connection failed. Trying BlueBox");
isHttpMode = true;
_local2 = ((blueBoxIpAddress)!=null) ? blueBoxIpAddress : ipAddress;
_local3 = ((blueBoxPort)!=0) ? blueBoxPort : httpPort;
httpConnection.connect(_local2, _local3);
} else {
dispatchConnectionError();
};
} else {
dispatchEvent(_arg1);
debugMessage(("[WARN] Connection error: " + _arg1.text));
};
}
public function getAllRooms():Array{
return (roomList);
}
private function strReceived(_arg1:String):void{
var _local2:Array;
var _local3:String;
var _local4:IMessageHandler;
_local2 = _arg1.substr(1, (_arg1.length - 2)).split(MSG_STR);
_local3 = _local2[0];
_local4 = messageHandlers[_local3];
if (_local4 != null){
_local4.handleMessage(_local2.splice(1, (_local2.length - 1)), XTMSG_TYPE_STR);
};
}
private function handleSecurityError(_arg1:SecurityErrorEvent):void{
tryBlueBoxConnection(_arg1);
}
private function handleIOError(_arg1:IOErrorEvent):void{
tryBlueBoxConnection(_arg1);
}
private function dispatchConnectionError():void{
var _local1:Object;
var _local2:SFSEvent;
_local1 = {};
_local1.success = false;
_local1.error = "I/O Error";
_local2 = new SFSEvent(SFSEvent.onConnection, _local1);
dispatchEvent(_local2);
}
public function login(_arg1:String, _arg2:String, _arg3:String):void{
var _local4:Object;
var _local5:String;
_local4 = {t:"sys"};
_local5 = (((((("<login z='" + _arg1) + "'><nick><![CDATA[") + _arg2) + "]]></nick><pword><![CDATA[") + _arg3) + "]]></pword></login>");
send(_local4, "login", 0, _local5);
}
public function __logout():void{
initialize(true);
}
private function setupMessageHandlers():void{
sysHandler = new SysHandler(this);
extHandler = new ExtHandler(this);
addMessageHandler("sys", sysHandler);
addMessageHandler("xt", extHandler);
}
public function autoJoin():void{
var _local1:Object;
_local1 = {t:"sys"};
this.send(_local1, "autoJoin", (this.activeRoomId) ? this.activeRoomId : -1, "");
}
private function onConfigLoadSuccess(_arg1:Event):void{
var _local2:URLLoader;
var _local3:XML;
var _local4:SFSEvent;
_local2 = (_arg1.target as URLLoader);
_local3 = new XML(_local2.data);
this.ipAddress = (this.blueBoxIpAddress = _local3.ip);
this.port = int(_local3.port);
this.defaultZone = _local3.zone;
if (_local3.blueBoxIpAddress != undefined){
this.blueBoxIpAddress = _local3.blueBoxIpAddress;
};
if (_local3.blueBoxPort != undefined){
this.blueBoxPort = _local3.blueBoxPort;
};
if (_local3.debug != undefined){
this.debug = ((_local3.debug.toLowerCase() == "true")) ? true : false;
};
if (_local3.smartConnect != undefined){
this.smartConnect = ((_local3.smartConnect.toLowerCase() == "true")) ? true : false;
};
if (_local3.httpPort != undefined){
this.httpPort = int(_local3.httpPort);
};
if (_local3.httpPollSpeed != undefined){
this.httpPollSpeed = int(_local3.httpPollSpeed);
};
if (_local3.rawProtocolSeparator != undefined){
rawProtocolSeparator = _local3.rawProtocolSeparator;
};
if (autoConnectOnConfigSuccess){
this.connect(ipAddress, port);
} else {
_local4 = new SFSEvent(SFSEvent.onConfigLoadSuccess, {});
dispatchEvent(_local4);
};
}
public function logout():void{
var _local1:Object;
_local1 = {t:"sys"};
send(_local1, "logout", -1, "");
}
public function getRoomList():void{
var _local1:Object;
_local1 = {t:"sys"};
send(_local1, "getRmList", activeRoomId, "");
}
public function getConnectionMode():String{
var _local1:String;
_local1 = CONNECTION_MODE_DISCONNECTED;
if (this.isConnected){
if (this.isHttpMode){
_local1 = CONNECTION_MODE_HTTP;
} else {
_local1 = CONNECTION_MODE_SOCKET;
};
};
return (_local1);
}
public function disconnect():void{
connected = false;
if (!isHttpMode){
socketConnection.close();
} else {
httpConnection.close();
};
sysHandler.dispatchDisconnection();
}
public function sendJson(_arg1:String):void{
debugMessage((("[Sending - JSON]: " + _arg1) + "\n"));
if (isHttpMode){
httpConnection.send(_arg1);
} else {
writeToSocket(_arg1);
};
}
private function send(_arg1:Object, _arg2:String, _arg3:Number, _arg4:String):void{
var _local5:String;
_local5 = makeXmlHeader(_arg1);
_local5 = (_local5 + ((((((("<body action='" + _arg2) + "' r='") + _arg3) + "'>") + _arg4) + "</body>") + closeHeader()));
debugMessage((("[Sending]: " + _local5) + "\n"));
if (isHttpMode){
httpConnection.send(_local5);
} else {
writeToSocket(_local5);
};
}
public function setRoomVariables(_arg1:Array, _arg2:int=-1, _arg3:Boolean=true):void{
var _local4:Object;
var _local5:String;
var _local6:Object;
if (_arg2 == -1){
_arg2 = activeRoomId;
};
_local4 = {t:"sys"};
if (_arg3){
_local5 = "<vars>";
} else {
_local5 = "<vars so='0'>";
};
for each (_local6 in _arg1) {
_local5 = (_local5 + getXmlRoomVariable(_local6));
};
_local5 = (_local5 + "</vars>");
send(_local4, "setRvars", _arg2, _local5);
}
public function addBuddy(_arg1:String):void{
var _local2:String;
if (((!((_arg1 == myUserName))) && (!(checkBuddyDuplicates(_arg1))))){
_local2 = (("<n>" + _arg1) + "</n>");
send({t:"sys"}, "addB", -1, _local2);
};
}
public function clearRoomList():void{
this.roomList = [];
}
public function getVersion():String{
return (((((this.majVersion + ".") + this.minVersion) + ".") + this.subVersion));
}
public function setUserVariables(_arg1:Object, _arg2:int=-1):void{
var _local3:Object;
var _local4:Room;
var _local5:User;
var _local6:String;
if (_arg2 == -1){
_arg2 = activeRoomId;
};
_local3 = {t:"sys"};
_local4 = getActiveRoom();
_local5 = _local4.getUser(myUserId);
_local5.setVariables(_arg1);
_local6 = getXmlUserVariable(_arg1);
send(_local3, "setUvars", _arg2, _local6);
}
public function sendPrivateMessage(_arg1:String, _arg2:int, _arg3:int=-1):void{
var _local4:Object;
var _local5:String;
if (_arg3 == -1){
_arg3 = activeRoomId;
};
_local4 = {t:"sys"};
_local5 = (((("<txt rcp='" + _arg2) + "'><![CDATA[") + Entities.encodeEntities(_arg1)) + "]]></txt>");
send(_local4, "prvMsg", _arg3, _local5);
}
public function getBuddyByName(_arg1:String):Object{
var _local2:Object;
for each (_local2 in buddyList) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
private function closeHeader():String{
return ("</msg>");
}
public function sendPublicMessage(_arg1:String, _arg2:int=-1):void{
var _local3:Object;
var _local4:String;
if (_arg2 == -1){
_arg2 = activeRoomId;
};
_local3 = {t:"sys"};
_local4 = (("<txt><![CDATA[" + Entities.encodeEntities(_arg1)) + "]]></txt>");
send(_local3, "pubMsg", _arg2, _local4);
}
public function clearBuddyList():void{
var _local1:Object;
var _local2:SFSEvent;
buddyList = [];
send({t:"sys"}, "clearB", -1, "");
_local1 = {};
_local1.list = buddyList;
_local2 = new SFSEvent(SFSEvent.onBuddyList, _local1);
dispatchEvent(_local2);
}
public function sendString(_arg1:String):void{
debugMessage((("[Sending - STR]: " + _arg1) + "\n"));
if (isHttpMode){
httpConnection.send(_arg1);
} else {
writeToSocket(_arg1);
};
}
public function removeBuddy(_arg1:String):void{
var _local2:Boolean;
var _local3:Object;
var _local4:String;
var _local5:Object;
var _local6:String;
var _local7:Object;
var _local8:SFSEvent;
_local2 = false;
for (_local4 in buddyList) {
_local3 = buddyList[_local4];
if (_local3.name == _arg1){
delete buddyList[_local4];
_local2 = true;
break;
};
};
if (_local2){
_local5 = {t:"sys"};
_local6 = (("<n>" + _arg1) + "</n>");
send(_local5, "remB", -1, _local6);
_local7 = {};
_local7.list = buddyList;
_local8 = new SFSEvent(SFSEvent.onBuddyList, _local7);
dispatchEvent(_local8);
};
}
public function setBuddyBlockStatus(_arg1:String, _arg2:Boolean):void{
var _local3:Object;
var _local4:String;
var _local5:Object;
var _local6:SFSEvent;
_local3 = getBuddyByName(_arg1);
if (_local3 != null){
if (_local3.blocked != _arg2){
_local3.isBlocked = _arg2;
_local4 = (((("<n x='" + (_arg2) ? "1" : "0") + "'>") + _arg1) + "</n>");
send({t:"sys"}, "setB", -1, _local4);
_local5 = {};
_local5.buddy = _local3;
_local6 = new SFSEvent(SFSEvent.onBuddyListUpdate, _local5);
dispatchEvent(_local6);
};
};
}
private function handleMessage(_arg1:String):void{
var _local2:String;
if (_arg1 != "ok"){
debugMessage((((("[ RECEIVED ]: " + _arg1) + ", (len: ") + _arg1.length) + ")"));
};
_local2 = _arg1.charAt(0);
if (_local2 == MSG_XML){
xmlReceived(_arg1);
} else {
if (_local2 == MSG_STR){
strReceived(_arg1);
} else {
if (_local2 == MSG_JSON){
jsonReceived(_arg1);
};
};
};
}
public function getUploadPath():String{
return ((((("http://" + this.ipAddress) + ":") + this.httpPort) + "/default/uploads/"));
}
private function handleHttpData(_arg1:HttpEvent):void{
var _local2:String;
var _local3:Array;
var _local4:String;
var _local5:int;
_local2 = (_arg1.params.data as String);
_local3 = _local2.split("\n");
if (_local3[0] != ""){
_local5 = 0;
while (_local5 < (_local3.length - 1)) {
_local4 = _local3[_local5];
if (_local4.length > 0){
handleMessage(_local4);
};
_local5++;
};
if (this._httpPollSpeed > 0){
setTimeout(this.handleDelayedPoll, this._httpPollSpeed);
} else {
handleDelayedPoll();
};
};
}
public function loadConfig(_arg1:String="config.xml", _arg2:Boolean=true):void{
var _local3:URLLoader;
this.autoConnectOnConfigSuccess = _arg2;
_local3 = new URLLoader();
_local3.addEventListener(Event.COMPLETE, onConfigLoadSuccess);
_local3.addEventListener(IOErrorEvent.IO_ERROR, onConfigLoadFailure);
_local3.load(new URLRequest(_arg1));
}
public function set rawProtocolSeparator(_arg1:String):void{
if (((!((_arg1 == "<"))) && (!((_arg1 == "{"))))){
MSG_STR = _arg1;
};
}
private function writeToSocket(_arg1:String):void{
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeMultiByte(_arg1, "utf-8");
_local2.writeByte(0);
socketConnection.writeBytes(_local2);
socketConnection.flush();
}
private function initialize(_arg1:Boolean=false):void{
this.changingRoom = false;
this.amIModerator = false;
this.playerId = -1;
this.activeRoomId = -1;
this.myUserId = -1;
this.myUserName = "";
this.roomList = [];
this.buddyList = [];
this.myBuddyVars = [];
if (!_arg1){
this.connected = false;
this.isHttpMode = false;
};
}
public function sendXtMessage(_arg1:String, _arg2:String, _arg3, _arg4:String="xml", _arg5:int=-1):void{
var _local6:Object;
var _local7:Object;
var _local8:String;
var _local9:String;
var _local10:Number;
var _local11:Object;
var _local12:Object;
var _local13:String;
if (_arg5 == -1){
_arg5 = activeRoomId;
};
if (_arg4 == XTMSG_TYPE_XML){
_local6 = {t:"xt"};
_local7 = {name:_arg1, cmd:_arg2, param:_arg3};
_local8 = (("<![CDATA[" + ObjectSerializer.getInstance().serialize(_local7)) + "]]>");
send(_local6, "xtReq", _arg5, _local8);
} else {
if (_arg4 == XTMSG_TYPE_STR){
_local9 = ((((((((MSG_STR + "xt") + MSG_STR) + _arg1) + MSG_STR) + _arg2) + MSG_STR) + _arg5) + MSG_STR);
_local10 = 0;
while (_local10 < _arg3.length) {
_local9 = (_local9 + (_arg3[_local10].toString() + MSG_STR));
_local10++;
};
sendString(_local9);
} else {
if (_arg4 == XTMSG_TYPE_JSON){
_local11 = {};
_local11.x = _arg1;
_local11.c = _arg2;
_local11.r = _arg5;
_local11.p = _arg3;
_local12 = {};
_local12.t = "xt";
_local12.b = _local11;
_local13 = JSON.encode(_local12);
sendJson(_local13);
};
};
};
}
public function sendObjectToGroup(_arg1:Object, _arg2:Array, _arg3:int=-1):void{
var _local4:String;
var _local5:String;
var _local6:Object;
var _local7:String;
if (_arg3 == -1){
_arg3 = activeRoomId;
};
_local4 = "";
for (_local5 in _arg2) {
if (!isNaN(_arg2[_local5])){
_local4 = (_local4 + (_arg2[_local5] + ","));
};
};
_local4 = _local4.substr(0, (_local4.length - 1));
_arg1._$$_ = _local4;
_local6 = {t:"sys"};
_local7 = (("<![CDATA[" + ObjectSerializer.getInstance().serialize(_arg1)) + "]]>");
send(_local6, "asObjG", _arg3, _local7);
}
public function get rawProtocolSeparator():String{
return (MSG_STR);
}
public function getRandomKey():void{
send({t:"sys"}, "rndK", -1, "");
}
public function sendObject(_arg1:Object, _arg2:int=-1):void{
var _local3:String;
var _local4:Object;
if (_arg2 == -1){
_arg2 = activeRoomId;
};
_local3 = (("<![CDATA[" + ObjectSerializer.getInstance().serialize(_arg1)) + "]]>");
_local4 = {t:"sys"};
send(_local4, "asObj", _arg2, _local3);
}
public function connect(_arg1:String, _arg2:int=9339):void{
if (!connected){
initialize();
this.ipAddress = _arg1;
this.port = _arg2;
socketConnection.connect(_arg1, _arg2);
} else {
debugMessage("*** ALREADY CONNECTED ***");
};
}
public function sendBuddyPermissionResponse(_arg1:Boolean, _arg2:String):void{
var _local3:Object;
var _local4:String;
_local3 = {t:"sys"};
_local4 = (((("<n res='" + (_arg1) ? "g" : "r") + "'>") + _arg2) + "</n>");
send(_local3, "bPrm", -1, _local4);
}
public function sendModeratorMessage(_arg1:String, _arg2:String, _arg3:int=-1):void{
var _local4:Object;
var _local5:String;
_local4 = {t:"sys"};
_local5 = (((((("<txt t='" + _arg2) + "' id='") + _arg3) + "'><![CDATA[") + Entities.encodeEntities(_arg1)) + "]]></txt>");
send(_local4, "modMsg", activeRoomId, _local5);
}
public function getBenchStartTime():int{
return (this.benchStartTime);
}
public function createRoom(_arg1:Object, _arg2:int=-1):void{
var _local3:Object;
var _local4:String;
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:String;
if (_arg2 == -1){
_arg2 = activeRoomId;
};
_local3 = {t:"sys"};
_local4 = (_arg1.isGame) ? "1" : "0";
_local5 = "1";
_local6 = ((_arg1.maxUsers == null)) ? "0" : String(_arg1.maxUsers);
_local7 = ((_arg1.maxSpectators == null)) ? "0" : String(_arg1.maxSpectators);
if (((_arg1.isGame) && (!((_arg1.exitCurrent == null))))){
_local5 = (_arg1.exitCurrent) ? "1" : "0";
};
_local8 = (((((("<room tmp='1' gam='" + _local4) + "' spec='") + _local7) + "' exit='") + _local5) + "'>");
_local8 = (_local8 + (("<name><![CDATA[" + ((_arg1.name == null)) ? "" : _arg1.name) + "]]></name>"));
_local8 = (_local8 + (("<pwd><![CDATA[" + ((_arg1.password == null)) ? "" : _arg1.password) + "]]></pwd>"));
_local8 = (_local8 + (("<max>" + _local6) + "</max>"));
if (_arg1.uCount != null){
_local8 = (_local8 + (("<uCnt>" + (_arg1.uCount) ? "1" : "0") + "</uCnt>"));
};
if (_arg1.extension != null){
_local8 = (_local8 + ("<xt n='" + _arg1.extension.name));
_local8 = (_local8 + (("' s='" + _arg1.extension.script) + "' />"));
};
if (_arg1.vars == null){
_local8 = (_local8 + "<vars></vars>");
} else {
_local8 = (_local8 + "<vars>");
for (_local9 in _arg1.vars) {
_local8 = (_local8 + getXmlRoomVariable(_arg1.vars[_local9]));
};
_local8 = (_local8 + "</vars>");
};
_local8 = (_local8 + "</room>");
send(_local3, "createRoom", _arg2, _local8);
}
private function handleDelayedPoll():void{
httpConnection.send(HTTP_POLL_REQUEST);
}
private function handleHttpConnect(_arg1:HttpEvent):void{
this.handleSocketConnection(null);
connected = true;
httpConnection.send(HTTP_POLL_REQUEST);
}
public function set isConnected(_arg1:Boolean):void{
this.connected = _arg1;
}
public function get isConnected():Boolean{
return (this.connected);
}
}
}//package it.gotoandplay.smartfoxserver
Section 81
//coger (coger)
package {
import flash.media.*;
public dynamic class coger extends Sound {
}
}//package
Section 82
//completada (completada)
package {
import flash.media.*;
public dynamic class completada extends Sound {
}
}//package
Section 83
//comprado (comprado)
package {
import flash.media.*;
public dynamic class comprado extends Sound {
}
}//package
Section 84
//fallo (fallo)
package {
import flash.media.*;
public dynamic class fallo extends Sound {
}
}//package
Section 85
//magia (magia)
package {
import flash.media.*;
public dynamic class magia extends Sound {
}
}//package
Section 86
//martillo (martillo)
package {
import flash.media.*;
public dynamic class martillo extends Sound {
}
}//package
Section 87
//musica (musica)
package {
import flash.media.*;
public dynamic class musica extends Sound {
}
}//package
Section 88
//pierdes (pierdes)
package {
import flash.media.*;
public dynamic class pierdes extends Sound {
}
}//package
Section 89
//rompo_casilla (rompo_casilla)
package {
import flash.media.*;
public dynamic class rompo_casilla extends Sound {
}
}//package
Section 90
//rompo_normal (rompo_normal)
package {
import flash.media.*;
public dynamic class rompo_normal extends Sound {
}
}//package