Section 1
//Bonus (com.hito.Bonus)
package com.hito {
import org.flixel.*;
public class Bonus extends FlxSprite {
private var Snd_dapet:Class;
private var ini_bonus_ke:int;// = 0
public function Bonus(ImgBonus:Class, bonus_ke:Number, X:Number, Y:Number):void{
Snd_dapet = Bonus_Snd_dapet;
super(X, Y);
loadGraphic(ImgBonus, false, false, 15, 15);
ini_bonus_ke = bonus_ke;
}
public function kena():void{
Variabel[("bonus_" + ini_bonus_ke)] = false;
dead = true;
exists = false;
FlxG.play(Snd_dapet, 0.75);
}
}
}//package com.hito
Section 2
//Bonus_Snd_dapet (com.hito.Bonus_Snd_dapet)
package com.hito {
import mx.core.*;
public class Bonus_Snd_dapet extends SoundAsset {
}
}//package com.hito
Section 3
//CharDetail (com.hito.CharDetail)
package com.hito {
import org.flixel.*;
public class CharDetail extends FlxState {
private var ImgItem:Class;
private var bar_special:FlxSprite;
private var bar_bawah:FlxSprite;
private var ImgBgStage:Class;
private var bar_speed:FlxSprite;
private var ImgBarTengah:Class;
private var character_special:FlxText;
private var posx:Number;// = 0
private var posy:Number;// = 0
private var ImgCharBesar:Class;
private var character_besar:FlxSprite;
private var ImgBarBawah:Class;
private var Snd_cancel:Class;
private var character_speed:FlxText;
private var bar_hp:FlxSprite;
private var ImgBarAtas:Class;
private var ImgTombolBack:Class;
private var tombol_back:FlxSprite;
private var bg:FlxSprite;
private var lebar_bar:Number;// = 148
private var bar_atas:FlxSprite;
private var bar_level:FlxSprite;
private var character_nama:FlxText;
private var character_hp:FlxText;
private var i:Number;// = 0
private var txt:FlxText;
private var character_level:FlxText;
private var posx_bar:Number;// = 120
public function CharDetail(){
var GambarBG:FlxSprite;
var txts:FlxText;
ImgBgStage = CharDetail_ImgBgStage;
ImgCharBesar = CharDetail_ImgCharBesar;
ImgBarBawah = CharDetail_ImgBarBawah;
ImgBarTengah = CharDetail_ImgBarTengah;
ImgBarAtas = CharDetail_ImgBarAtas;
ImgItem = CharDetail_ImgItem;
Snd_cancel = CharDetail_Snd_cancel;
ImgTombolBack = CharDetail_ImgTombolBack;
super();
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
txt = new FlxText(20, 30, 630, "CHARACTER DETAILS");
txt.setFormat(null, 10, 4294044826, "left");
add(txt);
character_besar = new FlxSprite(170, 150);
character_besar.loadGraphic(ImgCharBesar, true, false, 250, 250);
character_besar.frame = (Variabel.so.data.character_terpilih - 1);
add(character_besar);
i = 1;
while (i <= 4) {
bar_bawah = new FlxSprite(posx_bar, (90 + (i * 50)));
bar_bawah.loadGraphic(ImgBarBawah, true, false, lebar_bar, 9);
add(bar_bawah);
i++;
};
i = 1;
bar_level = new FlxSprite(posx_bar, (90 + (i * 50)));
bar_level.loadGraphic(ImgBarTengah, true, false, lebar_bar, 9);
add(bar_level);
i = 2;
bar_hp = new FlxSprite(posx_bar, (90 + (i * 50)));
bar_hp.loadGraphic(ImgBarTengah, true, false, lebar_bar, 9);
add(bar_hp);
i = 3;
bar_special = new FlxSprite(posx_bar, (90 + (i * 50)));
bar_special.loadGraphic(ImgBarTengah, true, false, lebar_bar, 9);
add(bar_special);
i = 4;
bar_speed = new FlxSprite(posx_bar, (90 + (i * 50)));
bar_speed.loadGraphic(ImgBarTengah, true, false, lebar_bar, 9);
add(bar_speed);
i = 1;
while (i <= 4) {
bar_atas = new FlxSprite(posx_bar, (90 + (i * 50)));
bar_atas.loadGraphic(ImgBarAtas, true, false, lebar_bar, 9);
add(bar_atas);
i++;
};
posx = 20;
posy = 90;
txt = new FlxText(posx, posy, 630, "Name");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_nama = new FlxText((posx + 100), (posy - 2), 630, "");
character_nama.setFormat(null, 12, 4291282887, "left");
add(character_nama);
posx = 20;
posy = 120;
txt = new FlxText(posx, posy, 630, "Level");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_level = new FlxText((posx + 100), posy, 630, "");
character_level.setFormat(null, 10, 4291282887, "left");
add(character_level);
posx = 20;
posy = 170;
txt = new FlxText(posx, posy, 630, "HP");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_hp = new FlxText((posx + 100), posy, 630, "");
character_hp.setFormat(null, 10, 4291282887, "left");
add(character_hp);
posx = 20;
posy = 220;
txt = new FlxText(posx, posy, 630, "Special");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_special = new FlxText((posx + 100), posy, 630, "");
character_special.setFormat(null, 10, 4291282887, "left");
add(character_special);
posx = 20;
posy = 270;
txt = new FlxText(posx, posy, 630, "Speed");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_speed = new FlxText((posx + 100), posy, 630, "");
character_speed.setFormat(null, 10, 4291282887, "left");
add(character_speed);
character_nama.text = Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_nama")];
character_level.text = Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")];
character_hp.text = Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_hp")];
character_special.text = Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_special")];
character_speed.text = Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_speed")];
bar_level.scale.x = (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 100);
bar_level.x = ((posx_bar - (lebar_bar / 2)) + ((bar_level.scale.x * lebar_bar) / 2));
bar_hp.scale.x = (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_hp")] / 100);
bar_hp.x = ((posx_bar - (lebar_bar / 2)) + ((bar_hp.scale.x * lebar_bar) / 2));
bar_special.scale.x = (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_special")] / 100);
bar_special.x = ((posx_bar - (lebar_bar / 2)) + ((bar_special.scale.x * lebar_bar) / 2));
bar_speed.scale.x = (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_speed")] / 100);
bar_speed.x = ((posx_bar - (lebar_bar / 2)) + ((bar_speed.scale.x * lebar_bar) / 2));
bg = new FlxSprite(300, 75);
bg.loadGraphic(ImgItem, false, false, 325, 275);
bg.alpha = 0.75;
add(bg);
posx = 320;
posy = 90;
txt = new FlxText(posx, posy, 630, "Movement");
txt.setFormat(null, 10, 4294967295, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4294967295, "left");
add(txt);
posx = 220;
posy = 120;
txt = new FlxText((posx + 100), posy, 630, "LEFT/RIGHT");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Move");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
posy = (posy + 20);
txt = new FlxText((posx + 100), posy, 630, "UP");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Jump");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
posy = (posy + 20);
txt = new FlxText((posx + 100), posy, 630, "UP then DOWN");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Attack from above");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
posy = (posy + 20);
txt = new FlxText((posx + 100), posy, 630, "SPACE");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Transfrom\n(when special bar gauge is full)");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
posy = (posy + 30);
txt = new FlxText((posx + 100), posy, 630, "Q");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Attack 1");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
posy = (posy + 20);
txt = new FlxText((posx + 100), posy, 630, "W");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Attack 2");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
posy = (posy + 20);
txt = new FlxText((posx + 100), posy, 630, "E");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Attack 3");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
posy = (posy + 20);
txt = new FlxText((posx + 100), posy, 630, "A");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Attack 4");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
posy = (posy + 20);
txt = new FlxText((posx + 100), posy, 630, "S");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Attack 5");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
posy = (posy + 20);
txt = new FlxText((posx + 100), posy, 630, "D");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 200), posy, 630, " : ");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txt = new FlxText((posx + 220), posy, 630, "Throw Attack");
txt.setFormat(null, 8, 4291413375, "left");
add(txt);
txts = new FlxText(20, 447, 630, Variabel[("judul_keterangan_skenario_" + Variabel.skenario_terpilih)]);
txts.setFormat(null, 10, 4291413375, "left");
add(txts);
txt = new FlxText(-15, 447, 630, "Z : Back");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_back = new FlxSprite(580, 20);
tombol_back.loadGraphic(ImgTombolBack, true, false, 40, 40);
tombol_back.frame = 0;
add(tombol_back);
}
private function keSebelumnya():void{
FlxG.state = new SubMenu();
}
override public function update():void{
if (mouseOn(tombol_back)){
tombol_back.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
} else {
tombol_back.frame = 0;
};
if (FlxG.keys.justPressed("Z")){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
FlxG.play(Snd_cancel);
};
super.update();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
}
}//package com.hito
Section 4
//CharDetail_ImgBarAtas (com.hito.CharDetail_ImgBarAtas)
package com.hito {
import mx.core.*;
public class CharDetail_ImgBarAtas extends BitmapAsset {
}
}//package com.hito
Section 5
//CharDetail_ImgBarBawah (com.hito.CharDetail_ImgBarBawah)
package com.hito {
import mx.core.*;
public class CharDetail_ImgBarBawah extends BitmapAsset {
}
}//package com.hito
Section 6
//CharDetail_ImgBarTengah (com.hito.CharDetail_ImgBarTengah)
package com.hito {
import mx.core.*;
public class CharDetail_ImgBarTengah extends BitmapAsset {
}
}//package com.hito
Section 7
//CharDetail_ImgBgStage (com.hito.CharDetail_ImgBgStage)
package com.hito {
import mx.core.*;
public class CharDetail_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 8
//CharDetail_ImgCharBesar (com.hito.CharDetail_ImgCharBesar)
package com.hito {
import mx.core.*;
public class CharDetail_ImgCharBesar extends BitmapAsset {
}
}//package com.hito
Section 9
//CharDetail_ImgItem (com.hito.CharDetail_ImgItem)
package com.hito {
import mx.core.*;
public class CharDetail_ImgItem extends BitmapAsset {
}
}//package com.hito
Section 10
//CharDetail_ImgTombolBack (com.hito.CharDetail_ImgTombolBack)
package com.hito {
import mx.core.*;
public class CharDetail_ImgTombolBack extends BitmapAsset {
}
}//package com.hito
Section 11
//CharDetail_Snd_cancel (com.hito.CharDetail_Snd_cancel)
package com.hito {
import mx.core.*;
public class CharDetail_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 12
//CharSelection (com.hito.CharSelection)
package com.hito {
import org.flixel.*;
public class CharSelection extends FlxState {
private var posx_bar:Number;// = 120
private var bar_special:FlxSprite;
private var bar_bawah:FlxSprite;
private var ImgBgStage:Class;
private var sudah_milih:Boolean;// = false
private var character_1:FlxSprite;
private var character_2:FlxSprite;
private var Snd_pil:Class;
private var character_4:FlxSprite;
private var character_5:FlxSprite;
private var ImgBarTengah:Class;
private var character_special:FlxText;
private var character_3:FlxSprite;
private var posy:Number;// = 0
private var ImgCharBesar:Class;
private var bar_speed:FlxSprite;
private var character_besar:FlxSprite;
private var ImgBarBawah:Class;
private var Snd_cancel:Class;
private var character_speed:FlxText;
private var posx:Number;// = 0
private var bar_hp:FlxSprite;
private var ImgBarAtas:Class;
private var ImgTombolBack:Class;
private var ImgChar2:Class;
private var ImgChar4:Class;
private var ImgChar5:Class;
private var ImgChar1:Class;
private var tombol_back:FlxSprite;
private var Snd_geser:Class;
private var lebar_bar:Number;// = 148
private var bar_atas:FlxSprite;
private var ImgChar3:Class;
private var bar_level:FlxSprite;
private var character_nama:FlxText;
private var character_hp:FlxText;
private var i:Number;// = 0
private var character_level:FlxText;
private var txt:FlxText;
private var Snd_pilih:Class;
public function CharSelection(){
var GambarBG:FlxSprite;
var txts:FlxText;
ImgBgStage = CharSelection_ImgBgStage;
ImgChar1 = CharSelection_ImgChar1;
ImgChar2 = CharSelection_ImgChar2;
ImgChar3 = CharSelection_ImgChar3;
ImgChar4 = CharSelection_ImgChar4;
ImgChar5 = CharSelection_ImgChar5;
ImgCharBesar = CharSelection_ImgCharBesar;
ImgBarBawah = CharSelection_ImgBarBawah;
ImgBarTengah = CharSelection_ImgBarTengah;
ImgBarAtas = CharSelection_ImgBarAtas;
Snd_geser = CharSelection_Snd_geser;
Snd_pilih = CharSelection_Snd_pilih;
Snd_cancel = CharSelection_Snd_cancel;
Snd_pil = CharSelection_Snd_pil;
ImgTombolBack = CharSelection_ImgTombolBack;
super();
FlxG.playMusic(Snd_pil);
Variabel.resetData2();
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
txt = new FlxText(20, 30, 630, "CHOOSE CHARACTER");
txt.setFormat(null, 10, 4294044826, "left");
add(txt);
character_besar = new FlxSprite(370, 150);
character_besar.loadGraphic(ImgCharBesar, true, false, 250, 250);
character_besar.frame = 0;
add(character_besar);
i = 1;
while (i <= 4) {
bar_bawah = new FlxSprite(posx_bar, (160 + (i * 50)));
bar_bawah.loadGraphic(ImgBarBawah, true, false, lebar_bar, 9);
add(bar_bawah);
i++;
};
i = 1;
bar_level = new FlxSprite(posx_bar, (160 + (i * 50)));
bar_level.loadGraphic(ImgBarTengah, true, false, lebar_bar, 9);
add(bar_level);
i = 2;
bar_hp = new FlxSprite(posx_bar, (160 + (i * 50)));
bar_hp.loadGraphic(ImgBarTengah, true, false, lebar_bar, 9);
add(bar_hp);
i = 3;
bar_special = new FlxSprite(posx_bar, (160 + (i * 50)));
bar_special.loadGraphic(ImgBarTengah, true, false, lebar_bar, 9);
add(bar_special);
i = 4;
bar_speed = new FlxSprite(posx_bar, (160 + (i * 50)));
bar_speed.loadGraphic(ImgBarTengah, true, false, lebar_bar, 9);
add(bar_speed);
i = 1;
while (i <= 4) {
bar_atas = new FlxSprite(posx_bar, (160 + (i * 50)));
bar_atas.loadGraphic(ImgBarAtas, true, false, lebar_bar, 9);
add(bar_atas);
i++;
};
character_1 = new FlxSprite(20, 60);
character_1.loadGraphic(ImgChar1, true, false, 78, 78);
character_1.frame = 0;
add(character_1);
character_2 = new FlxSprite(98, 60);
character_2.loadGraphic(ImgChar2, true, false, 78, 78);
character_2.frame = 0;
add(character_2);
character_3 = new FlxSprite(176, 60);
character_3.loadGraphic(ImgChar3, true, false, 78, 78);
character_3.frame = 0;
add(character_3);
character_4 = new FlxSprite(254, 60);
character_4.loadGraphic(ImgChar4, true, false, 78, 78);
character_4.frame = 0;
add(character_4);
character_5 = new FlxSprite(332, 60);
character_5.loadGraphic(ImgChar5, true, false, 78, 78);
character_5.frame = 0;
add(character_5);
posx = 20;
posy = 160;
txt = new FlxText(posx, posy, 630, "Name");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_nama = new FlxText((posx + 100), (posy - 2), 630, "");
character_nama.setFormat(null, 12, 4291282887, "left");
add(character_nama);
posx = 20;
posy = 190;
txt = new FlxText(posx, posy, 630, "Level");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_level = new FlxText((posx + 100), posy, 630, "");
character_level.setFormat(null, 10, 4291282887, "left");
add(character_level);
posx = 20;
posy = 240;
txt = new FlxText(posx, posy, 630, "HP");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_hp = new FlxText((posx + 100), posy, 630, "");
character_hp.setFormat(null, 10, 4291282887, "left");
add(character_hp);
posx = 20;
posy = 290;
txt = new FlxText(posx, posy, 630, "Special");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_special = new FlxText((posx + 100), posy, 630, "");
character_special.setFormat(null, 10, 4291282887, "left");
add(character_special);
posx = 20;
posy = 340;
txt = new FlxText(posx, posy, 630, "Speed");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
txt = new FlxText((posx + 80), posy, 630, ":");
txt.setFormat(null, 10, 4291282887, "left");
add(txt);
character_speed = new FlxText((posx + 100), posy, 630, "");
character_speed.setFormat(null, 10, 4291282887, "left");
add(character_speed);
update_character_terpilih();
txts = new FlxText(20, 447, 630, Variabel[("judul_keterangan_skenario_" + Variabel.skenario_terpilih)]);
txts.setFormat(null, 10, 4291413375, "left");
add(txts);
txt = new FlxText(-15, 447, 630, "LEFT/RIGHT : Move, X : Select, Z : Back");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_back = new FlxSprite(580, 20);
tombol_back.loadGraphic(ImgTombolBack, true, false, 40, 40);
tombol_back.frame = 0;
add(tombol_back);
}
private function keMenuUtama():void{
FlxG.state = new StageSelector();
}
private function onEksekusi():void{
FlxG.state = new MainGame();
}
override public function update():void{
if (!sudah_milih){
if (mouseOn(tombol_back)){
tombol_back.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keMenuUtama);
};
} else {
tombol_back.frame = 0;
};
if (mouseOn(character_1)){
Variabel.so.data.character_terpilih = 1;
update_character_terpilih();
if (FlxG.mouse.justPressed()){
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_mati")] = false;
FlxG.flash.start(4294967295, 0.5);
sudah_milih = true;
FlxG.play(Snd_pilih);
FlxG.fade.start(4278190080, 1, onEksekusi);
};
};
if (mouseOn(character_2)){
Variabel.so.data.character_terpilih = 2;
update_character_terpilih();
if (FlxG.mouse.justPressed()){
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_mati")] = false;
FlxG.flash.start(4294967295, 0.5);
sudah_milih = true;
FlxG.play(Snd_pilih);
FlxG.fade.start(4278190080, 1, onEksekusi);
};
};
if (mouseOn(character_3)){
Variabel.so.data.character_terpilih = 3;
update_character_terpilih();
if (FlxG.mouse.justPressed()){
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_mati")] = false;
FlxG.flash.start(4294967295, 0.5);
sudah_milih = true;
FlxG.play(Snd_pilih);
FlxG.fade.start(4278190080, 1, onEksekusi);
};
};
if (mouseOn(character_4)){
Variabel.so.data.character_terpilih = 4;
update_character_terpilih();
if (FlxG.mouse.justPressed()){
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_mati")] = false;
FlxG.flash.start(4294967295, 0.5);
sudah_milih = true;
FlxG.play(Snd_pilih);
FlxG.fade.start(4278190080, 1, onEksekusi);
};
};
if (mouseOn(character_5)){
Variabel.so.data.character_terpilih = 5;
update_character_terpilih();
if (FlxG.mouse.justPressed()){
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_mati")] = false;
FlxG.flash.start(4294967295, 0.5);
sudah_milih = true;
FlxG.play(Snd_pilih);
FlxG.fade.start(4278190080, 1, onEksekusi);
};
};
if (FlxG.keys.justPressed("LEFT")){
if (Variabel.so.data.character_terpilih > 1){
Variabel.so.data.character_terpilih--;
FlxG.play(Snd_geser);
};
update_character_terpilih();
};
if (FlxG.keys.justPressed("RIGHT")){
if (Variabel.so.data.character_terpilih < 5){
Variabel.so.data.character_terpilih++;
FlxG.play(Snd_geser);
};
update_character_terpilih();
};
};
if (FlxG.keys.justPressed("X")){
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_mati")] = false;
FlxG.flash.start(4294967295, 0.5);
sudah_milih = true;
FlxG.play(Snd_pilih);
FlxG.fade.start(4278190080, 1, onEksekusi);
};
if (FlxG.keys.justPressed("Z")){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keMenuUtama);
};
super.update();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
private function update_character_terpilih():void{
i = 1;
while (i <= 5) {
this[("character_" + i)].frame = 0;
if (Variabel.so.data.character_terpilih == i){
this[("character_" + i)].frame = 1;
character_besar.frame = (i - 1);
character_nama.text = Variabel[(("karakter_" + i) + "_nama")];
character_level.text = Variabel.so.data[(("character_" + i) + "_level")];
character_hp.text = Variabel.so.data[(("character_" + i) + "_hp")];
character_special.text = Variabel.so.data[(("character_" + i) + "_special")];
character_speed.text = Variabel.so.data[(("character_" + i) + "_speed")];
bar_level.scale.x = (Variabel.so.data[(("character_" + i) + "_level")] / 100);
bar_level.x = ((posx_bar - (lebar_bar / 2)) + ((bar_level.scale.x * lebar_bar) / 2));
bar_hp.scale.x = (Variabel.so.data[(("character_" + i) + "_hp")] / 100);
bar_hp.x = ((posx_bar - (lebar_bar / 2)) + ((bar_hp.scale.x * lebar_bar) / 2));
bar_special.scale.x = (Variabel.so.data[(("character_" + i) + "_special")] / 100);
bar_special.x = ((posx_bar - (lebar_bar / 2)) + ((bar_special.scale.x * lebar_bar) / 2));
bar_speed.scale.x = (Variabel.so.data[(("character_" + i) + "_speed")] / 100);
bar_speed.x = ((posx_bar - (lebar_bar / 2)) + ((bar_speed.scale.x * lebar_bar) / 2));
};
i++;
};
}
}
}//package com.hito
Section 13
//CharSelection_ImgBarAtas (com.hito.CharSelection_ImgBarAtas)
package com.hito {
import mx.core.*;
public class CharSelection_ImgBarAtas extends BitmapAsset {
}
}//package com.hito
Section 14
//CharSelection_ImgBarBawah (com.hito.CharSelection_ImgBarBawah)
package com.hito {
import mx.core.*;
public class CharSelection_ImgBarBawah extends BitmapAsset {
}
}//package com.hito
Section 15
//CharSelection_ImgBarTengah (com.hito.CharSelection_ImgBarTengah)
package com.hito {
import mx.core.*;
public class CharSelection_ImgBarTengah extends BitmapAsset {
}
}//package com.hito
Section 16
//CharSelection_ImgBgStage (com.hito.CharSelection_ImgBgStage)
package com.hito {
import mx.core.*;
public class CharSelection_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 17
//CharSelection_ImgChar1 (com.hito.CharSelection_ImgChar1)
package com.hito {
import mx.core.*;
public class CharSelection_ImgChar1 extends BitmapAsset {
}
}//package com.hito
Section 18
//CharSelection_ImgChar2 (com.hito.CharSelection_ImgChar2)
package com.hito {
import mx.core.*;
public class CharSelection_ImgChar2 extends BitmapAsset {
}
}//package com.hito
Section 19
//CharSelection_ImgChar3 (com.hito.CharSelection_ImgChar3)
package com.hito {
import mx.core.*;
public class CharSelection_ImgChar3 extends BitmapAsset {
}
}//package com.hito
Section 20
//CharSelection_ImgChar4 (com.hito.CharSelection_ImgChar4)
package com.hito {
import mx.core.*;
public class CharSelection_ImgChar4 extends BitmapAsset {
}
}//package com.hito
Section 21
//CharSelection_ImgChar5 (com.hito.CharSelection_ImgChar5)
package com.hito {
import mx.core.*;
public class CharSelection_ImgChar5 extends BitmapAsset {
}
}//package com.hito
Section 22
//CharSelection_ImgCharBesar (com.hito.CharSelection_ImgCharBesar)
package com.hito {
import mx.core.*;
public class CharSelection_ImgCharBesar extends BitmapAsset {
}
}//package com.hito
Section 23
//CharSelection_ImgTombolBack (com.hito.CharSelection_ImgTombolBack)
package com.hito {
import mx.core.*;
public class CharSelection_ImgTombolBack extends BitmapAsset {
}
}//package com.hito
Section 24
//CharSelection_Snd_cancel (com.hito.CharSelection_Snd_cancel)
package com.hito {
import mx.core.*;
public class CharSelection_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 25
//CharSelection_Snd_geser (com.hito.CharSelection_Snd_geser)
package com.hito {
import mx.core.*;
public class CharSelection_Snd_geser extends SoundAsset {
}
}//package com.hito
Section 26
//CharSelection_Snd_pil (com.hito.CharSelection_Snd_pil)
package com.hito {
import mx.core.*;
public class CharSelection_Snd_pil extends SoundAsset {
}
}//package com.hito
Section 27
//CharSelection_Snd_pilih (com.hito.CharSelection_Snd_pilih)
package com.hito {
import mx.core.*;
public class CharSelection_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 28
//Ending (com.hito.Ending)
package com.hito {
import org.flixel.*;
public class Ending extends FlxState {
private var keterangan:FlxText;
private var Lagu_Ending:Class;
private var lama_fading:Number;// = 100
private var counter_lama_fading:Number;// = 0
private var ImgBgStage:Class;
private var sudah_milih:Boolean;// = false
private var Snd_pilih:Class;
public function Ending(){
var GambarBG:FlxSprite;
var txt:FlxText;
ImgBgStage = Ending_ImgBgStage;
Lagu_Ending = Ending_Lagu_Ending;
Snd_pilih = Ending_Snd_pilih;
super();
FlxG.playMusic(Lagu_Ending);
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
keterangan = new FlxText(0, 200, 620, Variabel.keterangan_ending_1);
keterangan.setFormat(null, 8, 4291282887, "center");
add(keterangan);
keterangan.alpha = 0;
txt = new FlxText(-15, 447, 630, "X : Next");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
}
private function keSebelumnya():void{
FlxG.state = new Ending2();
}
override public function update():void{
if (counter_lama_fading < lama_fading){
counter_lama_fading++;
keterangan.alpha = (counter_lama_fading / lama_fading);
};
if (!sudah_milih){
if (FlxG.keys.justPressed("UP")){
};
if (FlxG.keys.justPressed("DOWN")){
};
};
if (FlxG.keys.justPressed("X")){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
super.update();
}
}
}//package com.hito
Section 29
//Ending_ImgBgStage (com.hito.Ending_ImgBgStage)
package com.hito {
import mx.core.*;
public class Ending_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 30
//Ending_Lagu_Ending (com.hito.Ending_Lagu_Ending)
package com.hito {
import mx.core.*;
public class Ending_Lagu_Ending extends SoundAsset {
}
}//package com.hito
Section 31
//Ending_Snd_pilih (com.hito.Ending_Snd_pilih)
package com.hito {
import mx.core.*;
public class Ending_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 32
//Ending2 (com.hito.Ending2)
package com.hito {
import org.flixel.*;
public class Ending2 extends FlxState {
private var keterangan:FlxText;
private var Lagu_Ending:Class;
private var lama_fading:Number;// = 100
private var counter_lama_fading:Number;// = 0
private var ImgBgStage:Class;
private var sudah_milih:Boolean;// = false
private var Snd_pilih:Class;
public function Ending2(){
var GambarBG:FlxSprite;
var txt:FlxText;
ImgBgStage = Ending2_ImgBgStage;
Lagu_Ending = Ending2_Lagu_Ending;
Snd_pilih = Ending2_Snd_pilih;
super();
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
keterangan = new FlxText(0, 65, 620, Variabel.keterangan_ending_2);
keterangan.setFormat(null, 8, 4291282887, "center");
add(keterangan);
keterangan.alpha = 0;
txt = new FlxText(-15, 447, 630, "X : Next");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
}
private function keSebelumnya():void{
FlxG.state = new Menang();
}
override public function update():void{
if (counter_lama_fading < lama_fading){
counter_lama_fading++;
keterangan.alpha = (counter_lama_fading / lama_fading);
};
if (!sudah_milih){
if (FlxG.keys.justPressed("UP")){
};
if (FlxG.keys.justPressed("DOWN")){
};
};
if (FlxG.keys.justPressed("X")){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
super.update();
}
}
}//package com.hito
Section 33
//Ending2_ImgBgStage (com.hito.Ending2_ImgBgStage)
package com.hito {
import mx.core.*;
public class Ending2_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 34
//Ending2_Lagu_Ending (com.hito.Ending2_Lagu_Ending)
package com.hito {
import mx.core.*;
public class Ending2_Lagu_Ending extends SoundAsset {
}
}//package com.hito
Section 35
//Ending2_Snd_pilih (com.hito.Ending2_Snd_pilih)
package com.hito {
import mx.core.*;
public class Ending2_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 36
//Film2State (com.hito.Film2State)
package com.hito {
import org.flixel.*;
public class Film2State extends FlxState {
private var ImgTombolNext:Class;
private var tombol_next:FlxSprite;
private var ImgGambarFilm1:Class;
private var ImgGambarFilm2:Class;
private var ImgGambarFilm3:Class;
private var ImgGambarFilm4:Class;
private var ImgGambarFilm5:Class;
private var ImgGambarFilm6:Class;
private var ImgGambarFilm7:Class;
private var ImgGambarFilm8:Class;
private var ImgGambarFilm9:Class;
private var ImgGambarFilm10:Class;
private var keterangan:FlxText;
private var counter_lama_fading:Number;// = 0
private var Snd_lc:Class;
private var lama_fading:Number;// = 100
private var Snd_pilih:Class;
public function Film2State(){
var gambar_film:FlxSprite;
var txts:FlxText;
var txt:FlxText;
ImgGambarFilm1 = Film2State_ImgGambarFilm1;
ImgGambarFilm2 = Film2State_ImgGambarFilm2;
ImgGambarFilm3 = Film2State_ImgGambarFilm3;
ImgGambarFilm4 = Film2State_ImgGambarFilm4;
ImgGambarFilm5 = Film2State_ImgGambarFilm5;
ImgGambarFilm6 = Film2State_ImgGambarFilm6;
ImgGambarFilm7 = Film2State_ImgGambarFilm7;
ImgGambarFilm8 = Film2State_ImgGambarFilm8;
ImgGambarFilm9 = Film2State_ImgGambarFilm9;
ImgGambarFilm10 = Film2State_ImgGambarFilm10;
Snd_pilih = Film2State_Snd_pilih;
Snd_lc = Film2State_Snd_lc;
ImgTombolNext = Film2State_ImgTombolNext;
super();
FlxG.playMusic(Snd_lc);
switch (Variabel.skenario_terpilih){
case 1:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm1);
break;
case 2:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm2);
break;
case 3:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm3);
break;
case 4:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm4);
break;
case 5:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm5);
break;
case 6:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm6);
break;
case 7:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm7);
break;
case 8:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm8);
break;
case 9:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm9);
break;
case 10:
gambar_film = new FlxSprite(0, 0, ImgGambarFilm10);
break;
};
add(gambar_film);
keterangan = new FlxText(0, 200, 620, Variabel[("keterangan_skenario_" + Variabel.skenario_terpilih)]);
keterangan.setFormat(null, 8, 4291282887, "center");
add(keterangan);
keterangan.alpha = 0;
txts = new FlxText(20, 447, 630, Variabel[("judul_keterangan_skenario_" + Variabel.skenario_terpilih)]);
txts.setFormat(null, 10, 4291413375, "left");
add(txts);
txt = new FlxText(-15, 447, 630, "X : Next");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_next = new FlxSprite(580, 20);
tombol_next.loadGraphic(ImgTombolNext, true, false, 40, 40);
tombol_next.frame = 0;
add(tombol_next);
}
override public function update():void{
if (mouseOn(tombol_next)){
tombol_next.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
FlxG.play(Snd_pilih);
};
} else {
tombol_next.frame = 0;
};
if (counter_lama_fading < lama_fading){
counter_lama_fading++;
keterangan.alpha = (counter_lama_fading / lama_fading);
};
if (FlxG.keys.justPressed("X")){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
FlxG.play(Snd_pilih);
};
super.update();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
private function onEksekusi():void{
FlxG.state = new CharSelection();
}
}
}//package com.hito
Section 37
//Film2State_ImgGambarFilm1 (com.hito.Film2State_ImgGambarFilm1)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm1 extends BitmapAsset {
}
}//package com.hito
Section 38
//Film2State_ImgGambarFilm10 (com.hito.Film2State_ImgGambarFilm10)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm10 extends BitmapAsset {
}
}//package com.hito
Section 39
//Film2State_ImgGambarFilm2 (com.hito.Film2State_ImgGambarFilm2)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm2 extends BitmapAsset {
}
}//package com.hito
Section 40
//Film2State_ImgGambarFilm3 (com.hito.Film2State_ImgGambarFilm3)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm3 extends BitmapAsset {
}
}//package com.hito
Section 41
//Film2State_ImgGambarFilm4 (com.hito.Film2State_ImgGambarFilm4)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm4 extends BitmapAsset {
}
}//package com.hito
Section 42
//Film2State_ImgGambarFilm5 (com.hito.Film2State_ImgGambarFilm5)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm5 extends BitmapAsset {
}
}//package com.hito
Section 43
//Film2State_ImgGambarFilm6 (com.hito.Film2State_ImgGambarFilm6)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm6 extends BitmapAsset {
}
}//package com.hito
Section 44
//Film2State_ImgGambarFilm7 (com.hito.Film2State_ImgGambarFilm7)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm7 extends BitmapAsset {
}
}//package com.hito
Section 45
//Film2State_ImgGambarFilm8 (com.hito.Film2State_ImgGambarFilm8)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm8 extends BitmapAsset {
}
}//package com.hito
Section 46
//Film2State_ImgGambarFilm9 (com.hito.Film2State_ImgGambarFilm9)
package com.hito {
import mx.core.*;
public class Film2State_ImgGambarFilm9 extends BitmapAsset {
}
}//package com.hito
Section 47
//Film2State_ImgTombolNext (com.hito.Film2State_ImgTombolNext)
package com.hito {
import mx.core.*;
public class Film2State_ImgTombolNext extends BitmapAsset {
}
}//package com.hito
Section 48
//Film2State_Snd_lc (com.hito.Film2State_Snd_lc)
package com.hito {
import mx.core.*;
public class Film2State_Snd_lc extends SoundAsset {
}
}//package com.hito
Section 49
//Film2State_Snd_pilih (com.hito.Film2State_Snd_pilih)
package com.hito {
import mx.core.*;
public class Film2State_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 50
//Highscore (com.hito.Highscore)
package com.hito {
import org.flixel.*;
public class Highscore extends FlxState {
private var ImgTombolNext:Class;
private var tombol_next:FlxSprite;
private var tombol_back:FlxSprite;
private var Snd_cancel:Class;
private var ImgBgStage:Class;
private var ImgTombolBack:Class;
private var sudah_milih:Boolean;// = false
private var Snd_pilih:Class;
public function Highscore(){
var GambarBG:FlxSprite;
var txt:FlxText;
ImgBgStage = Highscore_ImgBgStage;
Snd_pilih = Highscore_Snd_pilih;
Snd_cancel = Highscore_Snd_cancel;
ImgTombolBack = Highscore_ImgTombolBack;
ImgTombolNext = Highscore_ImgTombolNext;
super();
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
txt = new FlxText(20, 30, 630, "Highscore");
txt.setFormat(null, 10, 4294044826, "left");
add(txt);
var x1 = 100;
var x2 = -300;
var i = 100;
var j = 1;
j = 1;
while (j <= 10) {
txt = new FlxText((x1 - 20), i, 640, (j + "."));
if (Variabel.pointer_hs_pos == j){
txt.setFormat(null, 9, 4294438768, "left");
} else {
txt.setFormat(null, 9, 4293848814, "left");
};
add(txt);
txt = new FlxText(x1, i, 640, Variabel.so.data[("nama_hs_" + j)]);
if (Variabel.pointer_hs_pos == j){
txt.setFormat(null, 9, 4294438768, "left");
} else {
txt.setFormat(null, 9, 4293715901, "left");
};
add(txt);
txt = new FlxText(x2, i, 640, Variabel.so.data[("skor_hs_" + j)]);
if (Variabel.pointer_hs_pos == j){
txt.setFormat(null, 9, 4294438768, "right");
} else {
txt.setFormat(null, 9, 4291677645, "right");
};
add(txt);
i = (i + 20);
j++;
};
if (Variabel.dari_menang){
txt = new FlxText(-15, 447, 630, "X : Continue, Z : Main Menu");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_next = new FlxSprite(535, 20);
tombol_next.loadGraphic(ImgTombolNext, true, false, 40, 40);
tombol_next.frame = 0;
add(tombol_next);
} else {
txt = new FlxText(-15, 447, 630, "Z : Main Menu");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
};
tombol_back = new FlxSprite(580, 20);
tombol_back.loadGraphic(ImgTombolBack, true, false, 40, 40);
tombol_back.frame = 0;
add(tombol_back);
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
private function keSebelumnya():void{
FlxG.state = new MenuState();
}
override public function update():void{
if (mouseOn(tombol_back)){
tombol_back.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
} else {
tombol_back.frame = 0;
};
if (Variabel.dari_menang){
if (mouseOn(tombol_next)){
tombol_next.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSS);
FlxG.play(Snd_pilih);
};
} else {
tombol_next.frame = 0;
};
};
if (Variabel.dari_menang){
if (FlxG.keys.justPressed("X")){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSS);
FlxG.play(Snd_pilih);
};
};
if (FlxG.keys.justPressed("Z")){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
FlxG.play(Snd_cancel);
};
super.update();
}
private function keSS():void{
FlxG.state = new StageSelector();
}
}
}//package com.hito
Section 51
//Highscore_ImgBgStage (com.hito.Highscore_ImgBgStage)
package com.hito {
import mx.core.*;
public class Highscore_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 52
//Highscore_ImgTombolBack (com.hito.Highscore_ImgTombolBack)
package com.hito {
import mx.core.*;
public class Highscore_ImgTombolBack extends BitmapAsset {
}
}//package com.hito
Section 53
//Highscore_ImgTombolNext (com.hito.Highscore_ImgTombolNext)
package com.hito {
import mx.core.*;
public class Highscore_ImgTombolNext extends BitmapAsset {
}
}//package com.hito
Section 54
//Highscore_Snd_cancel (com.hito.Highscore_Snd_cancel)
package com.hito {
import mx.core.*;
public class Highscore_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 55
//Highscore_Snd_pilih (com.hito.Highscore_Snd_pilih)
package com.hito {
import mx.core.*;
public class Highscore_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 56
//InputNama (com.hito.InputNama)
package com.hito {
import org.flixel.*;
public class InputNama extends FlxState {
private var txtx:FlxText;
private var i:int;
private var maksimal_teks:int;// = 20
private var ImgBgStage:Class;
private var txt:FlxText;
private var Snd_pilih:Class;
private var Teksnya:String;// = ""
public function InputNama(){
var GambarBG:FlxSprite;
var txtx:FlxText;
var txtc:FlxText;
ImgBgStage = InputNama_ImgBgStage;
Snd_pilih = InputNama_Snd_pilih;
super();
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
txtx = new FlxText(20, 30, 630, "Submit Score");
txtx.setFormat(null, 10, 4294044826, "left");
add(txtx);
Teksnya = Variabel.so.data.nama_pemain;
txt = new FlxText(0, 150, 640, Teksnya);
txt.setFormat(null, 32, 4294967295, "center");
add(txt);
txtc = new FlxText(0, 250, 640, ("Score : " + String(Variabel.skor_simpan)));
txtc.setFormat(null, 12, 4292730333, "center");
add(txtc);
txtx = new FlxText(-15, 447, 630, "Type your name and press ENTER");
txtx.setFormat(null, 10, 4291413375, "right");
add(txtx);
FlxGame.useDefaultHotKeys = false;
}
override public function update():void{
i = 65;
while (i <= 90) {
if (FlxG.keys.justPressed(String.fromCharCode(i))){
Teksnya = (Teksnya + String.fromCharCode(i));
};
i++;
};
if (FlxG.keys.justPressed("ZERO")){
Teksnya = (Teksnya + "0");
};
if (FlxG.keys.justPressed("ONE")){
Teksnya = (Teksnya + "1");
};
if (FlxG.keys.justPressed("TWO")){
Teksnya = (Teksnya + "2");
};
if (FlxG.keys.justPressed("THREE")){
Teksnya = (Teksnya + "3");
};
if (FlxG.keys.justPressed("FOUR")){
Teksnya = (Teksnya + "4");
};
if (FlxG.keys.justPressed("FIVE")){
Teksnya = (Teksnya + "5");
};
if (FlxG.keys.justPressed("SIX")){
Teksnya = (Teksnya + "6");
};
if (FlxG.keys.justPressed("SEVEN")){
Teksnya = (Teksnya + "7");
};
if (FlxG.keys.justPressed("EIGHT")){
Teksnya = (Teksnya + "8");
};
if (FlxG.keys.justPressed("NINE")){
Teksnya = (Teksnya + "9");
};
if (FlxG.keys.justPressed("BACKSPACE")){
Teksnya = Teksnya.substr(0, (Teksnya.length - 1));
};
if (FlxG.keys.justPressed("SPACE")){
Teksnya = (Teksnya + " ");
};
if (FlxG.keys.justPressed("ENTER")){
if (Teksnya.length > 0){
onEksekusi();
};
};
if (Teksnya.length > maksimal_teks){
Teksnya = Teksnya.substr(0, (Teksnya.length - 1));
} else {
txt.text = Teksnya;
};
super.update();
}
private function onEksekusi():void{
Variabel.so.data.nama_pemain = Teksnya;
FlxG.play(Snd_pilih);
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_1){
i = 10;
while (i > 1) {
Variabel.so.data[("skor_hs_" + i)] = Variabel.so.data[("skor_hs_" + (i - 1))];
Variabel.so.data[("nama_hs_" + i)] = Variabel.so.data[("nama_hs_" + (i - 1))];
i--;
};
i = 1;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
} else {
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_2){
i = 10;
while (i > 2) {
Variabel.so.data[("skor_hs_" + i)] = Variabel.so.data[("skor_hs_" + (i - 1))];
Variabel.so.data[("nama_hs_" + i)] = Variabel.so.data[("nama_hs_" + (i - 1))];
i--;
};
i = 2;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
} else {
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_3){
i = 10;
while (i > 3) {
Variabel.so.data[("skor_hs_" + i)] = Variabel.so.data[("skor_hs_" + (i - 1))];
Variabel.so.data[("nama_hs_" + i)] = Variabel.so.data[("nama_hs_" + (i - 1))];
i--;
};
i = 3;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
} else {
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_4){
i = 10;
while (i > 4) {
Variabel.so.data[("skor_hs_" + i)] = Variabel.so.data[("skor_hs_" + (i - 1))];
Variabel.so.data[("nama_hs_" + i)] = Variabel.so.data[("nama_hs_" + (i - 1))];
i--;
};
i = 4;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
} else {
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_5){
i = 10;
while (i > 5) {
Variabel.so.data[("skor_hs_" + i)] = Variabel.so.data[("skor_hs_" + (i - 1))];
Variabel.so.data[("nama_hs_" + i)] = Variabel.so.data[("nama_hs_" + (i - 1))];
i--;
};
i = 5;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
} else {
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_6){
i = 10;
while (i > 6) {
Variabel.so.data[("skor_hs_" + i)] = Variabel.so.data[("skor_hs_" + (i - 1))];
Variabel.so.data[("nama_hs_" + i)] = Variabel.so.data[("nama_hs_" + (i - 1))];
i--;
};
i = 6;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
} else {
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_7){
i = 10;
while (i > 7) {
Variabel.so.data[("skor_hs_" + i)] = Variabel.so.data[("skor_hs_" + (i - 1))];
Variabel.so.data[("nama_hs_" + i)] = Variabel.so.data[("nama_hs_" + (i - 1))];
i--;
};
i = 7;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
} else {
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_2){
i = 10;
while (i > 8) {
Variabel.so.data[("skor_hs_" + i)] = Variabel.so.data[("skor_hs_" + (i - 1))];
Variabel.so.data[("nama_hs_" + i)] = Variabel.so.data[("nama_hs_" + (i - 1))];
i--;
};
i = 8;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
} else {
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_9){
i = 10;
while (i > 9) {
Variabel.so.data[("skor_hs_" + i)] = Variabel.so.data[("skor_hs_" + (i - 1))];
Variabel.so.data[("nama_hs_" + i)] = Variabel.so.data[("nama_hs_" + (i - 1))];
i--;
};
i = 9;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
} else {
if (Variabel.skor_simpan >= Variabel.so.data.skor_hs_10){
i = 10;
Variabel.so.data[("skor_hs_" + i)] = Variabel.skor_simpan;
Variabel.so.data[("nama_hs_" + i)] = Teksnya;
Variabel.pointer_hs_pos = i;
Variabel.skor_simpan = 0;
};
};
};
};
};
};
};
};
};
};
Variabel.lagu_meh_diganti = true;
FlxGame.useDefaultHotKeys = true;
FlxG.state = new Highscore();
}
}
}//package com.hito
Section 57
//InputNama_ImgBgStage (com.hito.InputNama_ImgBgStage)
package com.hito {
import mx.core.*;
public class InputNama_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 58
//InputNama_Snd_pilih (com.hito.InputNama_Snd_pilih)
package com.hito {
import mx.core.*;
public class InputNama_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 59
//Kalah (com.hito.Kalah)
package com.hito {
import org.flixel.*;
public class Kalah extends FlxState {
private var Snd_kalah:Class;
private var tombol_back:FlxSprite;
private var skor_satuan:int;// = 10
private var Snd_cancel:Class;
private var ImgBgStage:Class;
private var ImgTombolBack:Class;
private var sudah_milih:Boolean;// = false
private var Snd_pilih:Class;
public function Kalah(){
var GambarBG:FlxSprite;
var txt:FlxText;
ImgBgStage = Kalah_ImgBgStage;
Snd_pilih = Kalah_Snd_pilih;
Snd_cancel = Kalah_Snd_cancel;
Snd_kalah = Kalah_Snd_kalah;
ImgTombolBack = Kalah_ImgTombolBack;
super();
FlxG.mouse.show();
FlxG.playMusic(Snd_kalah);
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
var x1 = 200;
var x2 = -200;
var i = 170;
txt = new FlxText(0, i, 640, "Since you have lost, there is no best score will be recorded and no character upgrade available");
txt.setFormat(null, 9, 4293222239, "center");
add(txt);
i = (i + 50);
txt = new FlxText(x1, i, 640, "Enemy killed");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText(x2, i, 640, String(Variabel.jumlah_pembunuhan));
txt.setFormat(null, 9, 4291677645, "right");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Stage Score");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText(x2, i, 640, String((Variabel.jumlah_pembunuhan * skor_satuan)));
txt.setFormat(null, 9, 4291677645, "right");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Previous Score");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
if (Variabel.skenario_terpilih > 1){
txt = new FlxText(x2, i, 640, String(Variabel.so.data[("skor_total_" + (Variabel.skenario_terpilih - 1))]));
} else {
txt = new FlxText(x2, i, 640, "0");
};
txt.setFormat(null, 9, 4291677645, "right");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Total Score");
txt.setFormat(null, 9, 4293189242, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4293189242, "left");
add(txt);
if (Variabel.skenario_terpilih > 1){
txt = new FlxText(x2, i, 640, String((Variabel.so.data[("skor_total_" + (Variabel.skenario_terpilih - 1))] + (Variabel.jumlah_pembunuhan * skor_satuan))));
} else {
txt = new FlxText(x2, i, 640, String((Variabel.jumlah_pembunuhan * skor_satuan)));
};
txt.setFormat(null, 9, 4293189242, "right");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Best Stage Score");
txt.setFormat(null, 9, 4288256409, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4288256409, "left");
add(txt);
txt = new FlxText(x2, i, 640, String(Variabel.so.data[("skor_total_" + Variabel.skenario_terpilih)]));
txt.setFormat(null, 9, 4288256409, "right");
add(txt);
i = (i + 50);
txt = new FlxText(-15, 447, 630, "S : Submit Score, Z : Scenario Selection");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_back = new FlxSprite(580, 20);
tombol_back.loadGraphic(ImgTombolBack, true, false, 40, 40);
tombol_back.frame = 0;
add(tombol_back);
}
private function keSebelumnya():void{
FlxG.state = new StageSelector();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
override public function update():void{
if (!sudah_milih){
if (mouseOn(tombol_back)){
tombol_back.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
} else {
tombol_back.frame = 0;
};
if (FlxG.keys.justPressed("UP")){
};
if (FlxG.keys.justPressed("DOWN")){
};
};
if (FlxG.keys.justPressed("S")){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSubmit);
};
if (FlxG.keys.justPressed("Z")){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
super.update();
}
private function keSubmit():void{
if (Variabel.skenario_terpilih > 1){
Variabel.skor_simpan = (Variabel.so.data[("skor_total_" + (Variabel.skenario_terpilih - 1))] + (Variabel.jumlah_pembunuhan * skor_satuan));
} else {
Variabel.skor_simpan = (Variabel.jumlah_pembunuhan * skor_satuan);
};
FlxG.state = new InputNama();
}
}
}//package com.hito
Section 60
//Kalah_ImgBgStage (com.hito.Kalah_ImgBgStage)
package com.hito {
import mx.core.*;
public class Kalah_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 61
//Kalah_ImgTombolBack (com.hito.Kalah_ImgTombolBack)
package com.hito {
import mx.core.*;
public class Kalah_ImgTombolBack extends BitmapAsset {
}
}//package com.hito
Section 62
//Kalah_Snd_cancel (com.hito.Kalah_Snd_cancel)
package com.hito {
import mx.core.*;
public class Kalah_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 63
//Kalah_Snd_kalah (com.hito.Kalah_Snd_kalah)
package com.hito {
import mx.core.*;
public class Kalah_Snd_kalah extends SoundAsset {
}
}//package com.hito
Section 64
//Kalah_Snd_pilih (com.hito.Kalah_Snd_pilih)
package com.hito {
import mx.core.*;
public class Kalah_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 65
//Kredit (com.hito.Kredit)
package com.hito {
import org.flixel.*;
public class Kredit extends FlxState {
private var tombol_back:FlxSprite;
private var Snd_cancel:Class;
private var sudah_milih:Boolean;// = false
private var ImgBgStage:Class;
private var ImgTombolBack:Class;
public function Kredit(){
var GambarBG:FlxSprite;
var txt:FlxText;
ImgBgStage = Kredit_ImgBgStage;
ImgTombolBack = Kredit_ImgTombolBack;
Snd_cancel = Kredit_Snd_cancel;
super();
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
txt = new FlxText(20, 30, 630, "Credit");
txt.setFormat(null, 10, 4294044826, "left");
add(txt);
var x1 = -310;
var x2 = 345;
var i = 140;
txt = new FlxText(x1, i, 640, "Programming");
txt.setFormat(null, 9, 4293715901, "right");
add(txt);
txt = new FlxText(x2, i, 640, "Yohanes Suyanto");
txt.setFormat(null, 9, 4291677645, "left");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Graphic Design");
txt.setFormat(null, 9, 4293715901, "right");
add(txt);
txt = new FlxText(x2, i, 640, "Yohanes Suyanto");
txt.setFormat(null, 9, 4291677645, "left");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Character Design and Animation");
txt.setFormat(null, 9, 4293715901, "right");
add(txt);
txt = new FlxText(x2, i, 640, "Yohanes Suyanto");
txt.setFormat(null, 9, 4291677645, "left");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Music");
txt.setFormat(null, 9, 4293715901, "right");
add(txt);
txt = new FlxText(x2, i, 640, "Yohanes Suyanto");
txt.setFormat(null, 9, 4291677645, "left");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Sponsor");
txt.setFormat(null, 9, 4293715901, "right");
add(txt);
txt = new FlxText(x2, i, 640, "ichwillspielen.com");
txt.setFormat(null, 9, 4291677645, "left");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Powered by");
txt.setFormat(null, 9, 4293715901, "right");
add(txt);
txt = new FlxText(x2, i, 640, "Flixel");
txt.setFormat(null, 9, 4291677645, "left");
add(txt);
txt = new FlxText(-15, 447, 630, "Z : Back");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_back = new FlxSprite(580, 20);
tombol_back.loadGraphic(ImgTombolBack, true, false, 40, 40);
tombol_back.frame = 0;
add(tombol_back);
}
private function keSebelumnya():void{
FlxG.state = new MenuState();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
override public function update():void{
if (mouseOn(tombol_back)){
tombol_back.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
} else {
tombol_back.frame = 0;
};
if (FlxG.keys.justPressed("Z")){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
super.update();
}
}
}//package com.hito
Section 66
//Kredit_ImgBgStage (com.hito.Kredit_ImgBgStage)
package com.hito {
import mx.core.*;
public class Kredit_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 67
//Kredit_ImgTombolBack (com.hito.Kredit_ImgTombolBack)
package com.hito {
import mx.core.*;
public class Kredit_ImgTombolBack extends BitmapAsset {
}
}//package com.hito
Section 68
//Kredit_Snd_cancel (com.hito.Kredit_Snd_cancel)
package com.hito {
import mx.core.*;
public class Kredit_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 69
//MainGame (com.hito.MainGame)
package com.hito {
import org.flixel.*;
import flash.net.*;
public class MainGame extends FlxState {
private var _player:Player;
private var ImgHS1:Class;
private var ImgPrajuritNormal:Class;
private var ImgNjatul1:Class;
private var ImgNjatul2:Class;
private var ImgHelpKecil:Class;
private var bonus_1:FlxSprite;
private var bonus_3:FlxSprite;
private var bonus_4:FlxSprite;
private var bonus_5:FlxSprite;
private var bonus_6:FlxSprite;
private var lyrSprites:FlxGroup;
private var posisi_lakon_x:int;
private var posisi_lakon_y:int;
private var waktu_habis:Boolean;// = false
private var bonus_7:FlxSprite;
private var bonus_8:FlxSprite;
private var bonus_9:FlxSprite;
private var bonus_2:FlxSprite;
private var ImgMiniMapBG:Class;
private var kumpulan_pintu:FlxGroup;
private var special_1:FlxSprite;
private var special_3:FlxSprite;
private var tampil_super:FlxSprite;
private var Snd_cancel:Class;
private var lyrHUD:FlxGroup;
private var special_2:FlxSprite;
private var kumpulan_prajurit:FlxGroup;
private var nama_lakon:FlxText;
private var ImgEnergiSuper:Class;
private var help_besar:FlxSprite;
private var spe_2_lama_tampil:int;// = 30
private var bonus_10:FlxSprite;
private var DataMap_10:Class;
private var help_pintu:FlxSprite;
private var spe_1_counter:int;// = 0
private var ImgMiniMap:Class;
private var DataMap_1:Class;
private var DataMap_2:Class;
private var DataMap_3:Class;
private var DataMap_4:Class;
private var DataMap_5:Class;
private var DataMap_6:Class;
private var DataMap_7:Class;
private var DataMap_8:Class;
private var DataMap_9:Class;
private var lakon_1:FlxSprite;
private var lakon_2:FlxSprite;
private var lakon_3:FlxSprite;
private var lakon_4:FlxSprite;
private var lakon_5:FlxSprite;
private var tinggi_tumb:int;// = 60
private var mulai_matrik:Boolean;// = false
private var musuh_10:FlxSprite;
private var j:int;// = 0
private var lama_efek_matrik:int;
private var spe2_ada:Boolean;// = false
private var wis_menang:Boolean;// = false
private var pengurangan_super:int;// = 4
private var i:int;
private var request:URLRequest;
private var _map:FlxTilemap;
private var wis_kalah:Boolean;// = false
private var lebar_tinggi_peta_asli:int;// = 60
private var frame_rate_nya:FlxText;
private var help_kecil:FlxSprite;
private var prajurit:Array;
private var Snd_1:Class;
private var Snd_2:Class;
private var Snd_3:Class;
private var Snd_5:Class;
private var Snd_6:Class;
private var Snd_7:Class;
private var Snd_8:Class;
private var Snd_4:Class;
private var ImgHPintu:Class;
private var Snd_ending:Class;
private var gocil:FlxSprite;
private var ImgGoCil:Class;
private var ImgHealthAid:Class;
private var tampil_jumlah_pembunuhan:FlxText;
private var energi_lakon_BG:FlxSprite;
private var mini_map_bg:FlxSprite;
private var ImgPintu:Class;
private var kumpulan_musuh:FlxGroup;
private var pintu:Array;
private var lebar_tumb:int;// = 60
private var semua_prajurit_mati:Boolean;// = false
private var sudah_tampil_super:Boolean;// = false
private var Sndpopup:Class;
private var counter_lst:int;// = 0
private var spe1_ada:Boolean;// = false
private var spe_2_counter:int;// = 0
private var ImgMusuh10:Class;
private var counter_waktu:Number;// = 0
private var lebih:Boolean;// = false
private var energi_kepala:FlxSprite;
private var counter_lama_matrik:int;// = 0
private var Snd_jadi:Class;
private var energi_lakon_super_BG:FlxSprite;
private var counter_matrik:int;// = 0
private var ImgEnergiKepala:Class;
private var ImgTokohMiniMap:Class;
private var display_waktu:FlxText;
private var energi_lakon_super:FlxSprite;
private var ImgSpesial1:Class;
private var ImgSpesial2:Class;
private var energi_lakon:FlxSprite;
private var kumpulan_bonus:FlxGroup;
private var mini_map:FlxTilemap;
private var lama_tunggu_matrik:int;
private var lyrStage:FlxGroup;
private var kumpulan_spesial:FlxGroup;
private var ImgEnergiBG:Class;
private var satu_detik:Number;// = 1
private var ImgSuper:Class;
private var ImgTiles:Class;
private var mintol_1:FlxSprite;
private var mintol_2:FlxSprite;
private var spe_1_lama_tampil:int;// = 30
private var penambahan_super:int;// = 2
private var musuh_1:FlxSprite;
private var musuh_2:FlxSprite;
private var musuh_3:FlxSprite;
private var musuh_4:FlxSprite;
private var musuh_5:FlxSprite;
private var musuh_6:FlxSprite;
private var musuh_7:FlxSprite;
private var ImgMusuh2:Class;
private var musuh_9:FlxSprite;
private var ImgMusuh4:Class;
private var ImgMusuh5:Class;
private var ImgMusuh6:Class;
private var ImgMusuh7:Class;
private var ImgMusuh1:Class;
private var ImgMusuh9:Class;
private var ImgMusuh3:Class;
private var ImgMusuh8:Class;
private var lebar_tinggi_mm:int;// = 3
private var lama_super_tampil:int;// = 30
private var musuh_8:FlxSprite;
private var ImgEnergi:Class;
public function MainGame(){
ImgTiles = MainGame_ImgTiles;
DataMap_1 = MainGame_DataMap_1;
DataMap_2 = MainGame_DataMap_2;
DataMap_3 = MainGame_DataMap_3;
DataMap_4 = MainGame_DataMap_4;
DataMap_5 = MainGame_DataMap_5;
DataMap_6 = MainGame_DataMap_6;
DataMap_7 = MainGame_DataMap_7;
DataMap_8 = MainGame_DataMap_8;
DataMap_9 = MainGame_DataMap_9;
DataMap_10 = MainGame_DataMap_10;
ImgEnergi = MainGame_ImgEnergi;
ImgEnergiSuper = MainGame_ImgEnergiSuper;
ImgEnergiBG = MainGame_ImgEnergiBG;
ImgEnergiKepala = MainGame_ImgEnergiKepala;
ImgHS1 = MainGame_ImgHS1;
ImgHealthAid = MainGame_ImgHealthAid;
ImgPrajuritNormal = MainGame_ImgPrajuritNormal;
ImgPintu = MainGame_ImgPintu;
ImgHPintu = MainGame_ImgHPintu;
ImgMusuh1 = MainGame_ImgMusuh1;
ImgMusuh2 = MainGame_ImgMusuh2;
ImgMusuh3 = MainGame_ImgMusuh3;
ImgMusuh4 = MainGame_ImgMusuh4;
ImgMusuh5 = MainGame_ImgMusuh5;
ImgMusuh6 = MainGame_ImgMusuh6;
ImgMusuh7 = MainGame_ImgMusuh7;
ImgMusuh8 = MainGame_ImgMusuh8;
ImgMusuh9 = MainGame_ImgMusuh9;
ImgMusuh10 = MainGame_ImgMusuh10;
ImgSpesial1 = MainGame_ImgSpesial1;
ImgSpesial2 = MainGame_ImgSpesial2;
ImgMiniMap = MainGame_ImgMiniMap;
ImgTokohMiniMap = MainGame_ImgTokohMiniMap;
ImgMiniMapBG = MainGame_ImgMiniMapBG;
ImgSuper = MainGame_ImgSuper;
ImgNjatul1 = MainGame_ImgNjatul1;
ImgNjatul2 = MainGame_ImgNjatul2;
ImgHelpKecil = MainGame_ImgHelpKecil;
ImgGoCil = MainGame_ImgGoCil;
Sndpopup = MainGame_Sndpopup;
Snd_1 = MainGame_Snd_1;
Snd_2 = MainGame_Snd_2;
Snd_3 = MainGame_Snd_3;
Snd_4 = MainGame_Snd_4;
Snd_5 = MainGame_Snd_5;
Snd_6 = MainGame_Snd_6;
Snd_7 = MainGame_Snd_7;
Snd_8 = MainGame_Snd_8;
Snd_ending = MainGame_Snd_ending;
Snd_cancel = MainGame_Snd_cancel;
Snd_jadi = MainGame_Snd_jadi;
pintu = new Array();
prajurit = new Array();
lama_tunggu_matrik = ((0.033 / FlxG.elapsed) * 3);
lama_efek_matrik = ((0.033 / FlxG.elapsed) * 12);
request = new URLRequest("http://www.ichwillspielen.com/?index=37");
var compareDates:Function = function (tahun_limit:int, bulan_limit:int, tanggal_limit:int):Boolean{
var jd:Date = new Date();
var zd:Date = new Date(tahun_limit, bulan_limit, tanggal_limit);
if (zd > jd){
return (false);
};
return (true);
};
var tanggal_limit = 30;
var bulan_limit = 8;
var tahun_limit = 2010;
if (compareDates(tahun_limit, bulan_limit, tanggal_limit)){
lebih = true;
};
if (!lebih){
};
FlxG.mouse.hide();
if (!Variabel.di_tengah_permainan){
setLagu();
};
Variabel.di_tengah_permainan = true;
super();
lyrStage = new FlxGroup();
lyrSprites = new FlxGroup();
lyrHUD = new FlxGroup();
kumpulan_pintu = new FlxGroup();
kumpulan_prajurit = new FlxGroup();
kumpulan_bonus = new FlxGroup();
kumpulan_musuh = new FlxGroup();
kumpulan_spesial = new FlxGroup();
_map = new FlxTilemap();
_map.startingIndex = 0;
_map.drawIndex = 0;
_map.collideIndex = 128;
switch (Variabel.skenario_terpilih){
case 1:
_map.loadMap(new DataMap_1(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 2:
_map.loadMap(new DataMap_2(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 3:
_map.loadMap(new DataMap_3(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 4:
_map.loadMap(new DataMap_4(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 5:
_map.loadMap(new DataMap_5(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 6:
_map.loadMap(new DataMap_6(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 7:
_map.loadMap(new DataMap_7(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 8:
_map.loadMap(new DataMap_8(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 9:
_map.loadMap(new DataMap_9(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 10:
_map.loadMap(new DataMap_10(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
};
posisi_lakon_x = Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_tile_x")];
posisi_lakon_y = Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_tile_y")];
lyrStage.add(_map);
if (Variabel.skenario_terpilih == 1){
help_besar = new FlxSprite(70, 1450);
help_besar.loadGraphic(ImgHS1, false, false, 552, 210);
lyrStage.add(help_besar);
help_pintu = new FlxSprite(1490, 1270);
help_pintu.loadGraphic(ImgHPintu, false, false, 188, 43);
lyrStage.add(help_pintu);
};
i = 1;
while (i <= 10) {
if (Variabel[("bonus_" + i)]){
kumpulan_bonus.add(lyrSprites.add(new Bonus(ImgHealthAid, i, (Variabel[(("bonus_" + i) + "_x")] + 22.5), (Variabel[(("bonus_" + i) + "_y")] + 22.5))));
};
i++;
};
i = 0;
while (i < Variabel.pintu_x.length) {
kumpulan_pintu.add(lyrSprites.add(new Pintu(ImgPintu, i, Variabel.energi_pintu[i], Variabel.pintu_x[i], Variabel.pintu_y[i], Variabel.pintu_xa[i], Variabel.pintu_xb[i], Variabel.pintu_mati[i], i)));
i++;
};
i = 0;
while (i < Variabel.prajurit_x.length) {
if (!Variabel.prajurit_mati[i]){
kumpulan_prajurit.add(lyrSprites.add(new Prajurit(ImgPrajuritNormal, i, -1, Variabel.energi_prajurit[i], -1, Variabel.prajurit_x[i], Variabel.prajurit_y[i], Variabel.prajurit_xa[i], Variabel.prajurit_xb[i])));
};
i++;
};
i = 1;
while (i <= 10) {
if (!Variabel[(("musuh_" + i) + "_mati")]){
kumpulan_musuh.add(lyrSprites.add(new Prajurit(this[("ImgMusuh" + i)], -1, i, -1, Variabel[(("musuh_" + i) + "_berkurang")], Variabel[(("musuh_" + i) + "_tile_x")], Variabel[(("musuh_" + i) + "_tile_y")], Variabel[(("musuh_" + i) + "_tile_a")], Variabel[(("musuh_" + i) + "_tile_b")])));
};
i++;
};
if (Variabel.ada_special){
i = 1;
while (i <= 3) {
if (!Variabel[(("special_" + i) + "_mati")]){
kumpulan_spesial.add(lyrSprites.add(new Spesial(this[("ImgSpesial" + i)], i, Variabel[(("spesial_" + i) + "_berkurang")], Variabel[(("special_" + i) + "_tile_x")], Variabel[(("special_" + i) + "_tile_y")], Variabel[(("special_" + i) + "_tile_a")], Variabel[(("special_" + i) + "_tile_b")])));
};
i++;
};
};
_player = new Player(Variabel.so.data.character_terpilih, posisi_lakon_x, posisi_lakon_y);
lyrSprites.add(_player);
nama_lakon = new FlxText(65, 430, 630, Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_nama")]);
nama_lakon.setFormat(null, 10, 4294967295, "left");
nama_lakon.scrollFactor.x = (nama_lakon.scrollFactor.y = 0);
lyrHUD.add(nama_lakon);
energi_kepala = new FlxSprite(10, 430);
energi_kepala.loadGraphic(ImgEnergiKepala, true, false, 45, 45);
energi_kepala.frame = (Variabel.so.data.character_terpilih - 1);
energi_kepala.scrollFactor.x = (energi_kepala.scrollFactor.y = 0);
lyrHUD.add(energi_kepala);
energi_lakon_BG = new FlxSprite(65, 450);
energi_lakon_BG.loadGraphic(ImgEnergiBG, true, false, 1, 5);
energi_lakon_BG.frame = 0;
energi_lakon_BG.scrollFactor.x = (energi_lakon_BG.scrollFactor.y = 0);
energi_lakon_BG.origin.x = (energi_lakon_BG.origin.y = 0);
energi_lakon_BG.scale.x = (((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_hp")] * 100) * 0.05) + 2);
lyrHUD.add(energi_lakon_BG);
energi_lakon = new FlxSprite(66, 451);
energi_lakon.loadGraphic(ImgEnergi, true, false, 1, 3);
energi_lakon.frame = 0;
energi_lakon.scrollFactor.x = (energi_lakon.scrollFactor.y = 0);
energi_lakon.origin.x = (energi_lakon.origin.y = 0);
energi_lakon.scale.x = (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] * 0.05);
lyrHUD.add(energi_lakon);
energi_lakon_super_BG = new FlxSprite(65, 460);
energi_lakon_super_BG.loadGraphic(ImgEnergiBG, true, false, 1, 5);
energi_lakon_super_BG.frame = 0;
energi_lakon_super_BG.scrollFactor.x = (energi_lakon_super_BG.scrollFactor.y = 0);
energi_lakon_super_BG.origin.x = (energi_lakon_super_BG.origin.y = 0);
energi_lakon_super_BG.scale.x = (((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_special")] * 100) * 0.05) + 2);
lyrHUD.add(energi_lakon_super_BG);
energi_lakon_super = new FlxSprite(66, 461);
energi_lakon_super.loadGraphic(ImgEnergiSuper, true, false, 1, 3);
energi_lakon_super.frame = 0;
energi_lakon_super.addAnimation("kedip", [0, 1], 5);
energi_lakon_super.scrollFactor.x = (energi_lakon_super.scrollFactor.y = 0);
energi_lakon_super.origin.x = (energi_lakon_super.origin.y = 0);
energi_lakon_super.scale.x = (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] * 0.05);
lyrHUD.add(energi_lakon_super);
if (Variabel.ada_special){
if (!Variabel.special_1_mati){
mintol_1 = new FlxSprite(520, 150);
mintol_1.loadGraphic(ImgNjatul1, true, false, 110, 45);
mintol_1.frame = 0;
mintol_1.scrollFactor.x = (mintol_1.scrollFactor.y = 0);
mintol_1.visible = false;
lyrHUD.add(mintol_1);
spe1_ada = true;
};
if (!Variabel.special_2_mati){
mintol_2 = new FlxSprite(520, 150);
mintol_2.loadGraphic(ImgNjatul2, true, false, 110, 45);
mintol_2.frame = 0;
mintol_2.scrollFactor.x = (mintol_2.scrollFactor.y = 0);
mintol_2.visible = false;
lyrHUD.add(mintol_2);
spe2_ada = true;
};
};
gocil = new FlxSprite(450, 440);
gocil.loadGraphic(ImgGoCil, false, false, 175, 35);
gocil.scrollFactor.x = (gocil.scrollFactor.y = 0);
if (!lebih){
gocil.alpha = 0;
};
lyrHUD.add(gocil);
mini_map_bg = new FlxSprite(532, 2);
mini_map_bg.loadGraphic(ImgMiniMapBG, false, false, 106, 106);
mini_map_bg.frame = 0;
mini_map_bg.scrollFactor.x = (mini_map_bg.scrollFactor.y = 0);
lyrHUD.add(mini_map_bg);
mini_map = new FlxTilemap();
mini_map.startingIndex = 0;
mini_map.drawIndex = 0;
switch (Variabel.skenario_terpilih){
case 1:
mini_map.loadMap(new DataMap_1(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
case 2:
mini_map.loadMap(new DataMap_2(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
case 3:
mini_map.loadMap(new DataMap_3(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
case 4:
mini_map.loadMap(new DataMap_4(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
case 5:
mini_map.loadMap(new DataMap_5(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
case 6:
mini_map.loadMap(new DataMap_6(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
case 7:
mini_map.loadMap(new DataMap_7(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
case 8:
mini_map.loadMap(new DataMap_8(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
case 9:
mini_map.loadMap(new DataMap_9(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
case 10:
mini_map.loadMap(new DataMap_10(), ImgMiniMap, lebar_tinggi_mm, lebar_tinggi_mm);
break;
};
mini_map.scrollFactor.x = (mini_map.scrollFactor.y = 0);
mini_map.x = 540;
mini_map.y = 10;
lyrHUD.add(mini_map);
i = Variabel.so.data.character_terpilih;
if (!Variabel[(("karakter_" + i) + "_mati")]){
this[("lakon_" + i)] = new FlxSprite(((Variabel[(("karakter_" + i) + "_tile_x")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm), ((Variabel[(("karakter_" + i) + "_tile_y")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm));
this[("lakon_" + i)].loadGraphic(ImgTokohMiniMap, true, true, lebar_tinggi_mm, lebar_tinggi_mm);
if (i == Variabel.so.data.character_terpilih){
this[("lakon_" + i)].frame = 9;
this[("lakon_" + i)].addAnimation("get_spot", [9, 10], 5);
} else {
this[("lakon_" + i)].frame = 0;
this[("lakon_" + i)].addAnimation("get_spot", [1, 2], 5);
};
this[("lakon_" + i)].scrollFactor.x = (this[("lakon_" + i)].scrollFactor.y = 0);
this[("lakon_" + i)].x = (this[("lakon_" + i)].x + mini_map.x);
this[("lakon_" + i)].y = (this[("lakon_" + i)].y + mini_map.y);
lyrHUD.add(this[("lakon_" + i)]);
};
i = 1;
while (i <= 10) {
if (!Variabel[(("musuh_" + i) + "_mati")]){
this[("musuh_" + i)] = new FlxSprite(((Variabel[(("musuh_" + i) + "_tile_x")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm), ((Variabel[(("musuh_" + i) + "_tile_y")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm));
this[("musuh_" + i)].loadGraphic(ImgTokohMiniMap, true, true, lebar_tinggi_mm, lebar_tinggi_mm);
this[("musuh_" + i)].frame = 3;
this[("musuh_" + i)].scrollFactor.x = (this[("musuh_" + i)].scrollFactor.y = 0);
this[("musuh_" + i)].x = (this[("musuh_" + i)].x + mini_map.x);
this[("musuh_" + i)].y = (this[("musuh_" + i)].y + mini_map.y);
this[("musuh_" + i)].addAnimation("get_spot", [4, 2], 5);
lyrHUD.add(this[("musuh_" + i)]);
};
i++;
};
i = 1;
while (i <= 3) {
if (!Variabel[(("special_" + i) + "_mati")]){
this[("special_" + i)] = new FlxSprite(((Variabel[(("special_" + i) + "_tile_x")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm), ((Variabel[(("special_" + i) + "_tile_y")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm));
this[("special_" + i)].loadGraphic(ImgTokohMiniMap, true, true, lebar_tinggi_mm, lebar_tinggi_mm);
this[("special_" + i)].frame = 5;
this[("special_" + i)].scrollFactor.x = (this[("special_" + i)].scrollFactor.y = 0);
this[("special_" + i)].x = (this[("special_" + i)].x + mini_map.x);
this[("special_" + i)].y = (this[("special_" + i)].y + mini_map.y);
this[("special_" + i)].addAnimation("get_spot", [5, 6], 5);
lyrHUD.add(this[("special_" + i)]);
};
i++;
};
i = 1;
while (i <= 10) {
if (Variabel[("bonus_" + i)]){
this[("bonus_" + i)] = new FlxSprite(((Variabel[(("bonus_" + i) + "_x")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm), ((Variabel[(("bonus_" + i) + "_y")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm));
this[("bonus_" + i)].loadGraphic(ImgTokohMiniMap, true, true, lebar_tinggi_mm, lebar_tinggi_mm);
this[("bonus_" + i)].frame = 8;
this[("bonus_" + i)].scrollFactor.x = (this[("bonus_" + i)].scrollFactor.y = 0);
this[("bonus_" + i)].x = (this[("bonus_" + i)].x + mini_map.x);
this[("bonus_" + i)].y = (this[("bonus_" + i)].y + mini_map.y);
lyrHUD.add(this[("bonus_" + i)]);
};
i++;
};
pintu = [];
i = 0;
while (i < Variabel.pintu_mati.length) {
if (!Variabel.pintu_mati[i]){
this.pintu[i] = new FlxSprite(((Variabel.pintu_x[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm), ((Variabel.pintu_y[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm));
this.pintu[i].loadGraphic(ImgTokohMiniMap, true, true, lebar_tinggi_mm, lebar_tinggi_mm);
this.pintu[i].frame = 0;
this.pintu[i].scrollFactor.x = (this.pintu[i].scrollFactor.y = 0);
this.pintu[i].x = (this.pintu[i].x + mini_map.x);
this.pintu[i].y = (this.pintu[i].y + mini_map.y);
lyrHUD.add(this.pintu[i]);
};
i++;
};
prajurit = [];
i = 0;
while (i < Variabel.prajurit_mati.length) {
if (!Variabel.prajurit_mati[i]){
this.prajurit[i] = new FlxSprite(((Variabel.prajurit_x[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm), ((Variabel.prajurit_y[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm));
this.prajurit[i].loadGraphic(ImgTokohMiniMap, true, true, lebar_tinggi_mm, lebar_tinggi_mm);
this.prajurit[i].frame = 7;
this.prajurit[i].scrollFactor.x = (this.prajurit[i].scrollFactor.y = 0);
this.prajurit[i].x = (this.prajurit[i].x + mini_map.x);
this.prajurit[i].y = (this.prajurit[i].y + mini_map.y);
lyrHUD.add(this.prajurit[i]);
};
i++;
};
tampil_super = new FlxSprite(170, 150);
tampil_super.loadGraphic(ImgSuper, false, false, 300, 150);
tampil_super.visible = false;
tampil_super.frame = (Variabel.so.data.character_terpilih - 1);
tampil_super.scrollFactor.x = (tampil_super.scrollFactor.y = 0);
lyrHUD.add(tampil_super);
if (Variabel.ada_waktu){
display_waktu = new FlxText(-100, 5, 630, konvertWaktu(Variabel.waktu_jam, Variabel.waktu_menit, Variabel.waktu_detik));
display_waktu.setFormat(null, 24, 4292993505, "right", 4285427310);
display_waktu.scrollFactor.x = (display_waktu.scrollFactor.y = 0);
lyrHUD.add(display_waktu);
};
tampil_jumlah_pembunuhan = new FlxText(2, 120, 630, ("Kill : " + Variabel.jumlah_pembunuhan));
tampil_jumlah_pembunuhan.setFormat(null, 12, 4291413375, "right", 4285623858);
tampil_jumlah_pembunuhan.scrollFactor.x = (tampil_jumlah_pembunuhan.scrollFactor.y = 0);
lyrHUD.add(tampil_jumlah_pembunuhan);
help_kecil = new FlxSprite(0, 0);
help_kecil.loadGraphic(ImgHelpKecil, false, false, 365, 94);
help_kecil.scrollFactor.x = (help_kecil.scrollFactor.y = 0);
lyrHUD.add(help_kecil);
add(lyrStage);
add(lyrSprites);
add(lyrHUD);
}
private function KenaPintu(T:Pintu, P:Player):void{
if (P._attack_counter > 0){
T.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
};
}
private function konvertWaktu(jam:int, menit:int, detik:int):String{
var hasil:String;
var hasil_jam:String;
var hasil_menit:String;
var hasil_detik:String;
hasil_jam = String(jam);
if (jam < 10){
hasil_jam = ("0" + hasil_jam);
};
hasil_menit = String(menit);
if (menit < 10){
hasil_menit = ("0" + hasil_menit);
};
hasil_detik = String(detik);
if (detik < 10){
hasil_detik = ("0" + hasil_detik);
};
hasil = ((((hasil_jam + " : ") + hasil_menit) + " : ") + hasil_detik);
return (hasil);
}
private function menang():void{
wis_menang = true;
FlxG.fade.start(4294967295, 3, onEksekusiMenang);
}
private function PrajuritKeSpesial(S:Spesial, E:Prajurit):void{
if (E._attack_counter_prajurit > 0){
S.hurt(1);
if (Variabel.ada_special){
if (!Variabel.special_1_mati){
if (mintol_1.visible == false){
if (S.ini_spesial_ke == 1){
if (!Variabel.special_2_mati){
mintol_2.visible = false;
};
mintol_1.visible = true;
spe_1_counter = 0;
};
};
};
if (!Variabel.special_2_mati){
if (mintol_2.visible == false){
if (S.ini_spesial_ke == 2){
if (!Variabel.special_1_mati){
mintol_1.visible = false;
};
mintol_2.visible = true;
spe_2_counter = 0;
};
};
};
};
};
}
private function CiptaPrajurit():void{
i = (Variabel.prajurit_mati.length - 1);
if (!Variabel.prajurit_mati[i]){
kumpulan_prajurit.add(lyrSprites.add(new Prajurit(ImgPrajuritNormal, i, -1, Variabel.energi_prajurit[i], -1, Variabel.prajurit_x[i], Variabel.prajurit_y[i], Variabel.prajurit_xa[i], Variabel.prajurit_xb[i], true)));
this.prajurit[i] = new FlxSprite(((Variabel.prajurit_x[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm), ((Variabel.prajurit_y[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm));
this.prajurit[i].loadGraphic(ImgTokohMiniMap, true, true, lebar_tinggi_mm, lebar_tinggi_mm);
this.prajurit[i].frame = 7;
this.prajurit[i].scrollFactor.x = (this.prajurit[i].scrollFactor.y = 0);
this.prajurit[i].x = (this.prajurit[i].x + mini_map.x);
this.prajurit[i].y = (this.prajurit[i].y + mini_map.y);
lyrHUD.add(this.prajurit[i]);
};
Variabel.sedang_cipta_prajurit = false;
}
private function updatePembunuhan():void{
tampil_jumlah_pembunuhan.text = ("Kill : " + Variabel.jumlah_pembunuhan);
}
private function kalah():void{
wis_kalah = true;
FlxG.fade.start(4278190080, 3, onEksekusiKalah);
}
private function setLagu():void{
switch (Variabel.skenario_terpilih){
case 1:
FlxG.playMusic(Snd_7);
break;
case 2:
FlxG.playMusic(Snd_2);
break;
case 3:
FlxG.playMusic(Snd_3);
break;
case 4:
FlxG.playMusic(Snd_4);
break;
case 5:
FlxG.playMusic(Snd_5);
break;
case 6:
FlxG.playMusic(Snd_6);
break;
case 7:
FlxG.playMusic(Snd_7);
break;
case 8:
FlxG.playMusic(Snd_2);
break;
case 9:
FlxG.playMusic(Snd_8);
break;
case 10:
FlxG.playMusic(Snd_3);
break;
};
}
override public function update():void{
if (Variabel.ada_waktu){
if (waktu_habis){
kalah();
};
};
if (!wis_menang){
switch (Variabel.skenario_terpilih){
case 1:
if (((((Variabel[(("musuh_" + 1) + "_mati")]) && (Variabel[(("musuh_" + 2) + "_mati")]))) && (Variabel[(("musuh_" + 3) + "_mati")]))){
menang();
};
break;
case 2:
if (((((((Variabel[(("musuh_" + 1) + "_mati")]) && (Variabel[(("musuh_" + 2) + "_mati")]))) && (Variabel[(("musuh_" + 3) + "_mati")]))) && (Variabel[(("musuh_" + 4) + "_mati")]))){
menang();
};
break;
case 3:
if (((((((((Variabel[(("musuh_" + 1) + "_mati")]) && (Variabel[(("musuh_" + 2) + "_mati")]))) && (Variabel[(("musuh_" + 3) + "_mati")]))) && (Variabel[(("musuh_" + 4) + "_mati")]))) && (Variabel[(("musuh_" + 5) + "_mati")]))){
menang();
};
break;
case 4:
if (Variabel[(("musuh_" + 5) + "_mati")]){
menang();
};
break;
case 5:
if (Variabel[(("musuh_" + 6) + "_mati")]){
menang();
};
break;
case 6:
if (((((((((((Variabel[(("musuh_" + 1) + "_mati")]) && (Variabel[(("musuh_" + 2) + "_mati")]))) && (Variabel[(("musuh_" + 3) + "_mati")]))) && (Variabel[(("musuh_" + 4) + "_mati")]))) && (Variabel[(("musuh_" + 5) + "_mati")]))) && (Variabel[(("musuh_" + 6) + "_mati")]))){
semua_prajurit_mati = true;
i = 0;
while (i < Variabel.prajurit_mati.length) {
if (!Variabel.prajurit_mati[i]){
semua_prajurit_mati = false;
};
i++;
};
if (semua_prajurit_mati){
menang();
};
};
break;
case 7:
if (((((((((((((Variabel[(("musuh_" + 1) + "_mati")]) && (Variabel[(("musuh_" + 2) + "_mati")]))) && (Variabel[(("musuh_" + 3) + "_mati")]))) && (Variabel[(("musuh_" + 4) + "_mati")]))) && (Variabel[(("musuh_" + 5) + "_mati")]))) && (Variabel[(("musuh_" + 6) + "_mati")]))) && (Variabel[(("musuh_" + 7) + "_mati")]))){
semua_prajurit_mati = true;
i = 0;
while (i < Variabel.prajurit_mati.length) {
if (!Variabel.prajurit_mati[i]){
semua_prajurit_mati = false;
};
i++;
};
if (semua_prajurit_mati){
menang();
};
};
break;
case 8:
if (((Variabel[(("musuh_" + 6) + "_mati")]) && (Variabel[(("musuh_" + 7) + "_mati")]))){
menang();
};
break;
case 9:
if (((((((((((((Variabel[(("musuh_" + 1) + "_mati")]) && (Variabel[(("musuh_" + 2) + "_mati")]))) && (Variabel[(("musuh_" + 3) + "_mati")]))) && (Variabel[(("musuh_" + 4) + "_mati")]))) && (Variabel[(("musuh_" + 5) + "_mati")]))) && (Variabel[(("musuh_" + 6) + "_mati")]))) && (Variabel[(("musuh_" + 7) + "_mati")]))){
menang();
};
break;
case 10:
if (((((((((((((Variabel[(("musuh_" + 1) + "_mati")]) && (Variabel[(("musuh_" + 2) + "_mati")]))) && (Variabel[(("musuh_" + 3) + "_mati")]))) && (Variabel[(("musuh_" + 4) + "_mati")]))) && (Variabel[(("musuh_" + 5) + "_mati")]))) && (Variabel[(("musuh_" + 6) + "_mati")]))) && (Variabel[(("musuh_" + 7) + "_mati")]))){
semua_prajurit_mati = true;
i = 0;
while (i < Variabel.prajurit_mati.length) {
if (!Variabel.prajurit_mati[i]){
semua_prajurit_mati = false;
};
i++;
};
if (semua_prajurit_mati){
menang();
};
};
break;
};
};
if (!wis_kalah){
switch (Variabel.skenario_terpilih){
case 1:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
break;
case 2:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
if (Variabel.ada_waktu){
if (waktu_habis){
kalah();
};
};
break;
case 3:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
if (Variabel.special_1_mati){
kalah();
};
break;
case 4:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
break;
case 5:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
if (Variabel.ada_waktu){
if (waktu_habis){
kalah();
};
};
break;
case 6:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
break;
case 7:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
if (Variabel.ada_waktu){
if (waktu_habis){
kalah();
};
};
break;
case 8:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
if (Variabel.special_1_mati){
kalah();
};
break;
case 9:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
if (Variabel.special_1_mati){
kalah();
};
if (Variabel.special_2_mati){
kalah();
};
break;
case 10:
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
kalah();
};
break;
};
};
if (mulai_matrik){
counter_matrik++;
if (counter_matrik >= lama_tunggu_matrik){
Variabel.efek_matrik = true;
counter_matrik = 0;
mulai_matrik = false;
};
};
if (Variabel.efek_matrik){
counter_lama_matrik++;
if (counter_lama_matrik >= lama_efek_matrik){
counter_lama_matrik = 0;
Variabel.efek_matrik = false;
};
};
if (Variabel.ada_special){
if (!Variabel.special_1_mati){
if (mintol_1.visible){
if (spe_1_counter == 0){
FlxG.play(Sndpopup);
};
spe_1_counter++;
if (spe_1_counter >= spe_1_lama_tampil){
spe_1_counter = 0;
mintol_1.visible = false;
};
};
} else {
if (spe1_ada){
mintol_1.visible = false;
};
};
if (!Variabel.special_2_mati){
if (mintol_2.visible){
if (spe_2_counter == 0){
FlxG.play(Sndpopup);
};
spe_2_counter++;
if (spe_2_counter >= spe_2_lama_tampil){
spe_2_counter = 0;
mintol_2.visible = false;
};
};
} else {
if (spe2_ada){
mintol_2.visible = false;
};
};
};
if (Variabel.efek_matrik){
FlxG.timeScale = 0.1;
} else {
FlxG.timeScale = 1;
};
if (sudah_tampil_super){
counter_lst++;
if (counter_lst >= lama_super_tampil){
sudah_tampil_super = false;
counter_lst = 0;
tampil_super.visible = false;
};
};
if (lebih){
if (FlxG.keys.justPressed("X")){
navigateToURL(request, "_blank");
};
};
if (FlxG.keys.justPressed("SPACE")){
if (((!(Variabel.efek_matrik)) && (!(Variabel.sedang_super)))){
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] >= (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_special")] * 100)){
Variabel.sedang_super = true;
sudah_tampil_super = true;
tampil_super.visible = true;
energi_lakon_super.frame = 0;
FlxG.play(Snd_jadi, 1);
FlxG.playMusic(Snd_1);
};
};
};
if (Variabel.sedang_super){
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] > 0){
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] = (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] - pengurangan_super);
energi_lakon_super.scale.x = (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] * 0.05);
} else {
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] = 0;
Variabel.sedang_super = false;
setLagu();
};
} else {
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] >= (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_special")] * 100)){
energi_lakon_super.play("kedip");
} else {
energi_lakon_super.frame = 0;
};
};
updatePembunuhan();
if (Variabel.ada_waktu){
if (!waktu_habis){
hitungWaktu();
};
};
if (Variabel.sedang_cipta_prajurit){
CiptaPrajurit();
};
_map.collide(_player);
_map.collide(kumpulan_prajurit);
_map.collide(kumpulan_musuh);
_map.collide(kumpulan_spesial);
FlxU.overlap(kumpulan_prajurit, _player, EnemyHit);
FlxU.overlap(kumpulan_musuh, _player, EnemyHit);
FlxU.overlap(kumpulan_bonus, _player, dapetBonus);
FlxU.overlap(kumpulan_pintu, _player, KenaPintu);
FlxU.overlap(kumpulan_spesial, kumpulan_musuh, PrajuritKeSpesial);
FlxU.overlap(kumpulan_spesial, kumpulan_prajurit, PrajuritKeSpesial);
FlxG.follow(_player);
FlxG.followBounds(1, 1, (30 * 60), (30 * 60));
if (FlxG.keys.justPressed("Z")){
FlxG.play(Snd_cancel);
if (((!(wis_kalah)) && (!(wis_menang)))){
FlxG.fade.start(4278190080, 0, keSebelumnya);
};
};
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] >= 0){
energi_lakon.scale.x = (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] * 0.05);
};
i = Variabel.so.data.character_terpilih;
if (!Variabel[(("karakter_" + i) + "_mati")]){
this[("lakon_" + i)].x = (((Variabel[(("karakter_" + i) + "_tile_x")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.x);
this[("lakon_" + i)].y = (((Variabel[(("karakter_" + i) + "_tile_y")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.y);
} else {
if (this[("lakon_" + i)] != null){
this[("lakon_" + i)].dead = true;
this[("lakon_" + i)].exists = false;
};
};
i = 1;
while (i <= 10) {
if (!Variabel[(("musuh_" + i) + "_mati")]){
this[("musuh_" + i)].x = (((Variabel[(("musuh_" + i) + "_tile_x")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.x);
this[("musuh_" + i)].y = (((Variabel[(("musuh_" + i) + "_tile_y")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.y);
} else {
if (this[("musuh_" + i)] != null){
this[("musuh_" + i)].dead = true;
this[("musuh_" + i)].exists = false;
};
};
i++;
};
i = 1;
while (i <= 3) {
if (!Variabel[(("special_" + i) + "_mati")]){
if (Variabel[(("spesial_" + i) + "_berkurang")] <= 5){
this[("special_" + i)].play("get_spot");
} else {
this[("special_" + i)].frame = 5;
};
this[("special_" + i)].x = (((Variabel[(("special_" + i) + "_tile_x")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.x);
this[("special_" + i)].y = (((Variabel[(("special_" + i) + "_tile_y")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.y);
} else {
if (this[("special_" + i)] != null){
this[("special_" + i)].dead = true;
this[("special_" + i)].exists = false;
};
};
i++;
};
i = 1;
while (i <= 10) {
if (Variabel[("bonus_" + i)]){
this[("bonus_" + i)].x = (((Variabel[(("bonus_" + i) + "_x")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.x);
this[("bonus_" + i)].y = (((Variabel[(("bonus_" + i) + "_y")] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.y);
} else {
if (this[("bonus_" + i)] != null){
this[("bonus_" + i)].dead = true;
this[("bonus_" + i)].exists = false;
};
};
i++;
};
i = 0;
while (i < Variabel.pintu_mati.length) {
if (!Variabel.pintu_mati[i]){
this.pintu[i].x = (((Variabel.pintu_x[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.x);
this.pintu[i].y = (((Variabel.pintu_y[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.y);
} else {
if (this.pintu[i] != null){
this.pintu[i].dead = true;
this.pintu[i].exists = false;
};
};
i++;
};
i = 0;
while (i < Variabel.prajurit_mati.length) {
if (!Variabel.prajurit_mati[i]){
this.prajurit[i].x = (((Variabel.prajurit_x[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.x);
this.prajurit[i].y = (((Variabel.prajurit_y[i] / lebar_tinggi_peta_asli) * lebar_tinggi_mm) + mini_map.y);
} else {
if (this.prajurit[i] != null){
this.prajurit[i].dead = true;
this.prajurit[i].exists = false;
};
};
i++;
};
super.update();
}
private function keSebelumnya():void{
FlxG.state = new SubMenu();
}
private function onEksekusiKalah():void{
FlxG.state = new Kalah();
}
private function onEksekusiMenang():void{
if (Variabel.skenario_terpilih < 10){
FlxG.state = new Menang();
} else {
FlxG.state = new Ending();
};
}
private function EnemyHit(E:Prajurit, P:Player):void{
if (P._attack_counter > 0){
E.tipe_serangan_lakon = P.terakhir_pencet;
if (!Variabel.sedang_super){
if ((Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] + penambahan_super) <= (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_special")] * 100)){
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] = (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] + penambahan_super);
energi_lakon_super.scale.x = (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_special_sementara")] * 0.05);
};
};
if (P.facing == 0){
if (P.x >= E.x){
switch (P.terakhir_pencet){
case "d":
if (!Variabel.efek_matrik){
if (Variabel.sedang_super){
mulai_matrik = true;
P.gek_meh_matrik = true;
};
};
E.maxVelocity.x = 500;
E.velocity.x = -500;
E.velocity.y = -500;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
case "s":
E.velocity.x = -50;
E.velocity.y = -50;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
case "a":
E.velocity.x = -50;
E.velocity.y = -100;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
case "e":
E.velocity.x = -50;
E.velocity.y = -50;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
case "w":
E.maxVelocity.x = 100;
E.velocity.x = -100;
E.velocity.y = -5;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
default:
E.velocity.x = -50;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
};
};
} else {
if (P.facing == 1){
if (P.x <= E.x){
switch (P.terakhir_pencet){
case "d":
if (!Variabel.efek_matrik){
if (Variabel.sedang_super){
mulai_matrik = true;
P.gek_meh_matrik = true;
};
};
E.velocity.x = 500;
E.velocity.y = -500;
E.maxVelocity.x = 500;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
case "s":
E.velocity.x = 50;
E.velocity.y = -50;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
case "a":
E.velocity.x = 50;
E.velocity.y = -100;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
case "e":
E.velocity.x = 50;
E.velocity.y = -50;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
case "w":
E.maxVelocity.x = 100;
E.velocity.x = 100;
E.velocity.y = -5;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
default:
E.velocity.x = 50;
E.hurt(Math.ceil((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10)));
break;
};
};
};
};
};
if (E._attack_counter_prajurit > 0){
if (E.facing == 0){
if (E.x >= P.x){
P.hurt(1);
P.velocity.x = -100;
};
} else {
if (E.facing == 1){
if (E.x <= P.x){
P.hurt(1);
P.velocity.x = 100;
};
};
};
};
}
private function hitungWaktu():void{
if (!waktu_habis){
counter_waktu = (counter_waktu + FlxG.elapsed);
if (counter_waktu >= satu_detik){
counter_waktu = 0;
Variabel.waktu_detik--;
if (Variabel.waktu_detik < 0){
if (Variabel.waktu_menit > 0){
Variabel.waktu_detik = 59;
Variabel.waktu_menit--;
if (Variabel.waktu_menit < 0){
if (Variabel.waktu_jam > 0){
Variabel.waktu_menit = 59;
Variabel.waktu_jam--;
} else {
Variabel.waktu_menit = 0;
};
};
} else {
Variabel.waktu_detik = 0;
};
};
};
if ((((((Variabel.waktu_jam == 0)) && ((Variabel.waktu_menit == 0)))) && ((Variabel.waktu_detik == 0)))){
waktu_habis = true;
};
display_waktu.text = konvertWaktu(Variabel.waktu_jam, Variabel.waktu_menit, Variabel.waktu_detik);
};
}
private function dapetBonus(B:Bonus, P:Player):void{
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] = (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] + (Variabel.kekuatan_bonus * 10));
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] > (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_hp")] * 100)){
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] = (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_hp")] * 100);
};
B.kena();
}
}
}//package com.hito
Section 70
//MainGame_DataMap_1 (com.hito.MainGame_DataMap_1)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_1 extends ByteArrayAsset {
}
}//package com.hito
Section 71
//MainGame_DataMap_10 (com.hito.MainGame_DataMap_10)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_10 extends ByteArrayAsset {
}
}//package com.hito
Section 72
//MainGame_DataMap_2 (com.hito.MainGame_DataMap_2)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_2 extends ByteArrayAsset {
}
}//package com.hito
Section 73
//MainGame_DataMap_3 (com.hito.MainGame_DataMap_3)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_3 extends ByteArrayAsset {
}
}//package com.hito
Section 74
//MainGame_DataMap_4 (com.hito.MainGame_DataMap_4)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_4 extends ByteArrayAsset {
}
}//package com.hito
Section 75
//MainGame_DataMap_5 (com.hito.MainGame_DataMap_5)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_5 extends ByteArrayAsset {
}
}//package com.hito
Section 76
//MainGame_DataMap_6 (com.hito.MainGame_DataMap_6)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_6 extends ByteArrayAsset {
}
}//package com.hito
Section 77
//MainGame_DataMap_7 (com.hito.MainGame_DataMap_7)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_7 extends ByteArrayAsset {
}
}//package com.hito
Section 78
//MainGame_DataMap_8 (com.hito.MainGame_DataMap_8)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_8 extends ByteArrayAsset {
}
}//package com.hito
Section 79
//MainGame_DataMap_9 (com.hito.MainGame_DataMap_9)
package com.hito {
import mx.core.*;
public class MainGame_DataMap_9 extends ByteArrayAsset {
}
}//package com.hito
Section 80
//MainGame_ImgEnergi (com.hito.MainGame_ImgEnergi)
package com.hito {
import mx.core.*;
public class MainGame_ImgEnergi extends BitmapAsset {
}
}//package com.hito
Section 81
//MainGame_ImgEnergiBG (com.hito.MainGame_ImgEnergiBG)
package com.hito {
import mx.core.*;
public class MainGame_ImgEnergiBG extends BitmapAsset {
}
}//package com.hito
Section 82
//MainGame_ImgEnergiKepala (com.hito.MainGame_ImgEnergiKepala)
package com.hito {
import mx.core.*;
public class MainGame_ImgEnergiKepala extends BitmapAsset {
}
}//package com.hito
Section 83
//MainGame_ImgEnergiSuper (com.hito.MainGame_ImgEnergiSuper)
package com.hito {
import mx.core.*;
public class MainGame_ImgEnergiSuper extends BitmapAsset {
}
}//package com.hito
Section 84
//MainGame_ImgGoCil (com.hito.MainGame_ImgGoCil)
package com.hito {
import mx.core.*;
public class MainGame_ImgGoCil extends BitmapAsset {
}
}//package com.hito
Section 85
//MainGame_ImgHealthAid (com.hito.MainGame_ImgHealthAid)
package com.hito {
import mx.core.*;
public class MainGame_ImgHealthAid extends BitmapAsset {
}
}//package com.hito
Section 86
//MainGame_ImgHelpKecil (com.hito.MainGame_ImgHelpKecil)
package com.hito {
import mx.core.*;
public class MainGame_ImgHelpKecil extends BitmapAsset {
}
}//package com.hito
Section 87
//MainGame_ImgHPintu (com.hito.MainGame_ImgHPintu)
package com.hito {
import mx.core.*;
public class MainGame_ImgHPintu extends BitmapAsset {
}
}//package com.hito
Section 88
//MainGame_ImgHS1 (com.hito.MainGame_ImgHS1)
package com.hito {
import mx.core.*;
public class MainGame_ImgHS1 extends BitmapAsset {
}
}//package com.hito
Section 89
//MainGame_ImgMiniMap (com.hito.MainGame_ImgMiniMap)
package com.hito {
import mx.core.*;
public class MainGame_ImgMiniMap extends BitmapAsset {
}
}//package com.hito
Section 90
//MainGame_ImgMiniMapBG (com.hito.MainGame_ImgMiniMapBG)
package com.hito {
import mx.core.*;
public class MainGame_ImgMiniMapBG extends BitmapAsset {
}
}//package com.hito
Section 91
//MainGame_ImgMusuh1 (com.hito.MainGame_ImgMusuh1)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh1 extends BitmapAsset {
}
}//package com.hito
Section 92
//MainGame_ImgMusuh10 (com.hito.MainGame_ImgMusuh10)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh10 extends BitmapAsset {
}
}//package com.hito
Section 93
//MainGame_ImgMusuh2 (com.hito.MainGame_ImgMusuh2)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh2 extends BitmapAsset {
}
}//package com.hito
Section 94
//MainGame_ImgMusuh3 (com.hito.MainGame_ImgMusuh3)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh3 extends BitmapAsset {
}
}//package com.hito
Section 95
//MainGame_ImgMusuh4 (com.hito.MainGame_ImgMusuh4)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh4 extends BitmapAsset {
}
}//package com.hito
Section 96
//MainGame_ImgMusuh5 (com.hito.MainGame_ImgMusuh5)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh5 extends BitmapAsset {
}
}//package com.hito
Section 97
//MainGame_ImgMusuh6 (com.hito.MainGame_ImgMusuh6)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh6 extends BitmapAsset {
}
}//package com.hito
Section 98
//MainGame_ImgMusuh7 (com.hito.MainGame_ImgMusuh7)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh7 extends BitmapAsset {
}
}//package com.hito
Section 99
//MainGame_ImgMusuh8 (com.hito.MainGame_ImgMusuh8)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh8 extends BitmapAsset {
}
}//package com.hito
Section 100
//MainGame_ImgMusuh9 (com.hito.MainGame_ImgMusuh9)
package com.hito {
import mx.core.*;
public class MainGame_ImgMusuh9 extends BitmapAsset {
}
}//package com.hito
Section 101
//MainGame_ImgNjatul1 (com.hito.MainGame_ImgNjatul1)
package com.hito {
import mx.core.*;
public class MainGame_ImgNjatul1 extends BitmapAsset {
}
}//package com.hito
Section 102
//MainGame_ImgNjatul2 (com.hito.MainGame_ImgNjatul2)
package com.hito {
import mx.core.*;
public class MainGame_ImgNjatul2 extends BitmapAsset {
}
}//package com.hito
Section 103
//MainGame_ImgPintu (com.hito.MainGame_ImgPintu)
package com.hito {
import mx.core.*;
public class MainGame_ImgPintu extends BitmapAsset {
}
}//package com.hito
Section 104
//MainGame_ImgPrajuritNormal (com.hito.MainGame_ImgPrajuritNormal)
package com.hito {
import mx.core.*;
public class MainGame_ImgPrajuritNormal extends BitmapAsset {
}
}//package com.hito
Section 105
//MainGame_ImgSpesial1 (com.hito.MainGame_ImgSpesial1)
package com.hito {
import mx.core.*;
public class MainGame_ImgSpesial1 extends BitmapAsset {
}
}//package com.hito
Section 106
//MainGame_ImgSpesial2 (com.hito.MainGame_ImgSpesial2)
package com.hito {
import mx.core.*;
public class MainGame_ImgSpesial2 extends BitmapAsset {
}
}//package com.hito
Section 107
//MainGame_ImgSuper (com.hito.MainGame_ImgSuper)
package com.hito {
import mx.core.*;
public class MainGame_ImgSuper extends BitmapAsset {
}
}//package com.hito
Section 108
//MainGame_ImgTiles (com.hito.MainGame_ImgTiles)
package com.hito {
import mx.core.*;
public class MainGame_ImgTiles extends BitmapAsset {
}
}//package com.hito
Section 109
//MainGame_ImgTokohMiniMap (com.hito.MainGame_ImgTokohMiniMap)
package com.hito {
import mx.core.*;
public class MainGame_ImgTokohMiniMap extends BitmapAsset {
}
}//package com.hito
Section 110
//MainGame_Snd_1 (com.hito.MainGame_Snd_1)
package com.hito {
import mx.core.*;
public class MainGame_Snd_1 extends SoundAsset {
}
}//package com.hito
Section 111
//MainGame_Snd_2 (com.hito.MainGame_Snd_2)
package com.hito {
import mx.core.*;
public class MainGame_Snd_2 extends SoundAsset {
}
}//package com.hito
Section 112
//MainGame_Snd_3 (com.hito.MainGame_Snd_3)
package com.hito {
import mx.core.*;
public class MainGame_Snd_3 extends SoundAsset {
}
}//package com.hito
Section 113
//MainGame_Snd_4 (com.hito.MainGame_Snd_4)
package com.hito {
import mx.core.*;
public class MainGame_Snd_4 extends SoundAsset {
}
}//package com.hito
Section 114
//MainGame_Snd_5 (com.hito.MainGame_Snd_5)
package com.hito {
import mx.core.*;
public class MainGame_Snd_5 extends SoundAsset {
}
}//package com.hito
Section 115
//MainGame_Snd_6 (com.hito.MainGame_Snd_6)
package com.hito {
import mx.core.*;
public class MainGame_Snd_6 extends SoundAsset {
}
}//package com.hito
Section 116
//MainGame_Snd_7 (com.hito.MainGame_Snd_7)
package com.hito {
import mx.core.*;
public class MainGame_Snd_7 extends SoundAsset {
}
}//package com.hito
Section 117
//MainGame_Snd_8 (com.hito.MainGame_Snd_8)
package com.hito {
import mx.core.*;
public class MainGame_Snd_8 extends SoundAsset {
}
}//package com.hito
Section 118
//MainGame_Snd_cancel (com.hito.MainGame_Snd_cancel)
package com.hito {
import mx.core.*;
public class MainGame_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 119
//MainGame_Snd_ending (com.hito.MainGame_Snd_ending)
package com.hito {
import mx.core.*;
public class MainGame_Snd_ending extends SoundAsset {
}
}//package com.hito
Section 120
//MainGame_Snd_jadi (com.hito.MainGame_Snd_jadi)
package com.hito {
import mx.core.*;
public class MainGame_Snd_jadi extends SoundAsset {
}
}//package com.hito
Section 121
//MainGame_Sndpopup (com.hito.MainGame_Sndpopup)
package com.hito {
import mx.core.*;
public class MainGame_Sndpopup extends SoundAsset {
}
}//package com.hito
Section 122
//Menang (com.hito.Menang)
package com.hito {
import org.flixel.*;
public class Menang extends FlxState {
private var skor_satuan:int;// = 10
private var ImgTombolNext:Class;
private var tombol_next:FlxSprite;
private var ImgBgStage:Class;
private var pre_skor:int;// = 0
private var sudah_milih:Boolean;// = false
private var Snd_menang:Class;
private var Snd_pilih:Class;
public function Menang(){
var GambarBG:FlxSprite;
var ekstensi:String;
var txt:FlxText;
ImgBgStage = Menang_ImgBgStage;
Snd_pilih = Menang_Snd_pilih;
Snd_menang = Menang_Snd_menang;
ImgTombolNext = Menang_ImgTombolNext;
super();
FlxG.mouse.show();
FlxG.playMusic(Snd_menang);
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
var x1 = 200;
var x2 = -200;
var i = 170;
var j:int;
txt = new FlxText(x1, i, 640, "Enemy killed");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText(x2, i, 640, String(Variabel.jumlah_pembunuhan));
txt.setFormat(null, 9, 4291677645, "right");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Stage Score");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText(x2, i, 640, String((Variabel.jumlah_pembunuhan * skor_satuan)));
txt.setFormat(null, 9, 4291677645, "right");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Previous Score");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4293715901, "left");
add(txt);
if (Variabel.skenario_terpilih > 1){
txt = new FlxText(x2, i, 640, String(Variabel.so.data[("skor_total_" + (Variabel.skenario_terpilih - 1))]));
pre_skor = Variabel.so.data[("skor_total_" + (Variabel.skenario_terpilih - 1))];
} else {
txt = new FlxText(x2, i, 640, "0");
pre_skor = 0;
};
txt.setFormat(null, 9, 4291677645, "right");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Total Score");
txt.setFormat(null, 9, 4293189242, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4293189242, "left");
add(txt);
if (Variabel.skenario_terpilih > 1){
txt = new FlxText(x2, i, 640, String((Variabel.so.data[("skor_total_" + (Variabel.skenario_terpilih - 1))] + (Variabel.jumlah_pembunuhan * skor_satuan))));
} else {
txt = new FlxText(x2, i, 640, String((Variabel.jumlah_pembunuhan * skor_satuan)));
};
txt.setFormat(null, 9, 4293189242, "right");
add(txt);
i = (i + 20);
txt = new FlxText(x1, i, 640, "Best Stage Score");
txt.setFormat(null, 9, 4288256409, "left");
add(txt);
txt = new FlxText((x1 + 120), i, 640, ":");
txt.setFormat(null, 9, 4288256409, "left");
add(txt);
txt = new FlxText(x2, i, 640, String(Variabel.so.data[("skor_total_" + Variabel.skenario_terpilih)]));
txt.setFormat(null, 9, 4288256409, "right");
add(txt);
i = (i + 50);
if (Variabel.so.data[("skor_total_" + Variabel.skenario_terpilih)] <= ((Variabel.jumlah_pembunuhan * skor_satuan) + pre_skor)){
Variabel.so.data[("skor_total_" + Variabel.skenario_terpilih)] = ((Variabel.jumlah_pembunuhan * skor_satuan) + pre_skor);
txt = new FlxText(0, i, 640, "New Best Stage Score !");
txt.setFormat(null, 9, 4294631316, "center");
add(txt);
i = (i + 20);
};
j = 25;
ekstensi = "_level";
if (Variabel.jumlah_pembunuhan > j){
if (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] < 100){
Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] = (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] + int((Variabel.jumlah_pembunuhan / j)));
if (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] > 100){
Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] = 100;
txt = new FlxText(0, i, 640, "Character Level Maximum");
} else {
txt = new FlxText(0, i, 640, (("Character Level Upgrade " + int((Variabel.jumlah_pembunuhan / j))) + " point(s)"));
};
txt.setFormat(null, 9, 4294631316, "center");
add(txt);
i = (i + 20);
};
};
j = 15;
ekstensi = "_hp";
if (Variabel.jumlah_pembunuhan > j){
if (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] < 100){
Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] = (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] + int((Variabel.jumlah_pembunuhan / j)));
if (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] > 100){
Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] = 100;
txt = new FlxText(0, i, 640, "Character HP Maximum");
} else {
txt = new FlxText(0, i, 640, (("Character HP Upgrade " + int((Variabel.jumlah_pembunuhan / j))) + " point(s)"));
};
txt.setFormat(null, 9, 4294631316, "center");
add(txt);
i = (i + 20);
};
};
j = 20;
ekstensi = "_special";
if (Variabel.jumlah_pembunuhan > j){
if (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] < 100){
Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] = (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] + int((Variabel.jumlah_pembunuhan / j)));
if (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] > 100){
Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] = 100;
txt = new FlxText(0, i, 640, "Character Special Maximum");
} else {
txt = new FlxText(0, i, 640, (("Character Special Upgrade " + int((Variabel.jumlah_pembunuhan / j))) + " point(s)"));
};
txt.setFormat(null, 9, 4294631316, "center");
add(txt);
i = (i + 20);
};
};
j = 30;
ekstensi = "_speed";
if (Variabel.jumlah_pembunuhan > j){
if (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] < 100){
Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] = (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] + int((Variabel.jumlah_pembunuhan / j)));
if (Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] > 100){
Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + ekstensi)] = 100;
txt = new FlxText(0, i, 640, "Character Speed Maximum");
} else {
txt = new FlxText(0, i, 640, (("Character Speed Upgrade " + int((Variabel.jumlah_pembunuhan / j))) + " point(s)"));
};
txt.setFormat(null, 9, 4294631316, "center");
add(txt);
i = (i + 20);
};
};
if (Variabel.skenario_terpilih < 10){
if (!Variabel.so.data[(("stage_" + (Variabel.skenario_terpilih + 1)) + "_boleh")]){
Variabel.so.data[(("stage_" + (Variabel.skenario_terpilih + 1)) + "_boleh")] = true;
txt = new FlxText(0, i, 640, (("Chapter " + (Variabel.skenario_terpilih + 1)) + " is now available"));
txt.setFormat(null, 9, 4294631316, "center");
add(txt);
i = (i + 20);
};
};
if (Variabel.skenario_terpilih < 10){
txt = new FlxText(-15, 447, 630, "S : Submit Score, X : Continue");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_next = new FlxSprite(580, 20);
tombol_next.loadGraphic(ImgTombolNext, true, false, 40, 40);
tombol_next.frame = 0;
add(tombol_next);
} else {
txt = new FlxText(-15, 447, 630, "X : Continue");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_next = new FlxSprite(580, 20);
tombol_next.loadGraphic(ImgTombolNext, true, false, 40, 40);
tombol_next.frame = 0;
add(tombol_next);
};
}
private function keSebelumnya():void{
FlxG.state = new StageSelector();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
override public function update():void{
if (!sudah_milih){
if (mouseOn(tombol_next)){
tombol_next.frame = 1;
if (FlxG.mouse.justPressed()){
if (Variabel.skenario_terpilih < 10){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
} else {
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSubmit);
};
FlxG.play(Snd_pilih);
};
} else {
tombol_next.frame = 0;
};
if (FlxG.keys.justPressed("UP")){
};
if (FlxG.keys.justPressed("DOWN")){
};
};
if (FlxG.keys.justPressed("X")){
if (Variabel.skenario_terpilih < 10){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
} else {
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSubmit);
};
FlxG.play(Snd_pilih);
};
if (FlxG.keys.justPressed("S")){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSubmit);
};
super.update();
}
private function keSubmit():void{
if (Variabel.skenario_terpilih > 1){
Variabel.skor_simpan = (Variabel.so.data[("skor_total_" + (Variabel.skenario_terpilih - 1))] + (Variabel.jumlah_pembunuhan * skor_satuan));
} else {
Variabel.skor_simpan = (Variabel.jumlah_pembunuhan * skor_satuan);
};
if (Variabel.skenario_terpilih < 10){
Variabel.dari_menang = true;
} else {
Variabel.dari_menang = false;
};
FlxG.state = new InputNama();
}
}
}//package com.hito
Section 123
//Menang_ImgBgStage (com.hito.Menang_ImgBgStage)
package com.hito {
import mx.core.*;
public class Menang_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 124
//Menang_ImgTombolNext (com.hito.Menang_ImgTombolNext)
package com.hito {
import mx.core.*;
public class Menang_ImgTombolNext extends BitmapAsset {
}
}//package com.hito
Section 125
//Menang_Snd_menang (com.hito.Menang_Snd_menang)
package com.hito {
import mx.core.*;
public class Menang_Snd_menang extends SoundAsset {
}
}//package com.hito
Section 126
//Menang_Snd_pilih (com.hito.Menang_Snd_pilih)
package com.hito {
import mx.core.*;
public class Menang_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 127
//MenuState (com.hito.MenuState)
package com.hito {
import org.flixel.*;
import flash.net.*;
public class MenuState extends FlxState {
private var tombol_copyright:FlxSprite;
private var Snd_geser:Class;
private var request:URLRequest;
private var tombol_start:FlxSprite;
private var ImgTombolStart:Class;
private var sudah_milih:Boolean;// = false
private var ImgTombolMoreGames:Class;
private var tombol_hs:FlxSprite;
private var pilihan:Number;// = 1
private var lebih:Boolean;// = false
private var tombol_more_games:FlxSprite;
private var ImgGambarJudul:Class;
private var Lagu_1:Class;
private var ImgTombolCopyright:Class;
private var ImgTombolHS:Class;
private var Snd_pilih:Class;
public function MenuState():void{
var GambarBG:FlxSprite;
var txt:FlxText;
ImgGambarJudul = MenuState_ImgGambarJudul;
ImgTombolStart = MenuState_ImgTombolStart;
ImgTombolHS = MenuState_ImgTombolHS;
ImgTombolMoreGames = MenuState_ImgTombolMoreGames;
ImgTombolCopyright = MenuState_ImgTombolCopyright;
Snd_geser = MenuState_Snd_geser;
Snd_pilih = MenuState_Snd_pilih;
Lagu_1 = MenuState_Lagu_1;
request = new URLRequest("http://www.ichwillspielen.com/?index=37");
super();
var compareDates:Function = function (tahun_limit:int, bulan_limit:int, tanggal_limit:int):Boolean{
var jd:Date = new Date();
var zd:Date = new Date(tahun_limit, bulan_limit, tanggal_limit);
if (zd > jd){
return (false);
};
return (true);
};
var tanggal_limit = 30;
var bulan_limit = 8;
var tahun_limit = 2010;
if (compareDates(tahun_limit, bulan_limit, tanggal_limit)){
lebih = true;
};
if (!lebih){
};
if (Variabel.lagu_meh_diganti){
FlxG.playMusic(Lagu_1);
Variabel.lagu_meh_diganti = false;
};
Variabel.isi_data();
Variabel.pointer_hs_pos = 0;
Variabel.dari_menang = false;
GambarBG = new FlxSprite(0, 0, ImgGambarJudul);
add(GambarBG);
tombol_start = new FlxSprite(10, 440);
tombol_start.loadGraphic(ImgTombolStart, true, false, 98, 30);
tombol_start.frame = 0;
add(tombol_start);
tombol_hs = new FlxSprite(110, 440);
tombol_hs.loadGraphic(ImgTombolHS, true, false, 98, 30);
tombol_hs.frame = 0;
add(tombol_hs);
tombol_more_games = new FlxSprite(210, 440);
tombol_more_games.loadGraphic(ImgTombolMoreGames, true, false, 98, 30);
tombol_more_games.frame = 0;
add(tombol_more_games);
if (!lebih){
tombol_more_games.visible = false;
};
tombol_copyright = new FlxSprite(310, 440);
tombol_copyright.loadGraphic(ImgTombolCopyright, true, false, 98, 30);
tombol_copyright.frame = 0;
add(tombol_copyright);
cekPosisiTombol();
txt = new FlxText(-15, 447, 630, "LEFT/RIGHT : Move, X : Select");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
}
private function onEksekusi():void{
switch (pilihan){
case 1:
FlxG.state = new StageSelector();
break;
case 2:
FlxG.state = new Highscore();
break;
case 3:
FlxG.state = new MenuState();
break;
case 4:
FlxG.state = new Kredit();
break;
};
}
override public function update():void{
if (!sudah_milih){
if (mouseOn(tombol_start)){
pilihan = 1;
cekPosisiTombol();
if (FlxG.mouse.justPressed()){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
FlxG.play(Snd_pilih);
};
};
if (mouseOn(tombol_hs)){
pilihan = 2;
cekPosisiTombol();
if (FlxG.mouse.justPressed()){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
FlxG.play(Snd_pilih);
};
};
if (mouseOn(tombol_more_games)){
pilihan = 3;
cekPosisiTombol();
if (FlxG.mouse.justPressed()){
if (lebih){
navigateToURL(request, "_blank");
};
};
};
if (mouseOn(tombol_copyright)){
pilihan = 4;
cekPosisiTombol();
if (FlxG.mouse.justPressed()){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
FlxG.play(Snd_pilih);
};
};
if (FlxG.keys.justPressed("LEFT")){
if (pilihan > 1){
pilihan--;
FlxG.play(Snd_geser);
};
cekPosisiTombol();
};
if (FlxG.keys.justPressed("RIGHT")){
if (pilihan < 4){
pilihan++;
FlxG.play(Snd_geser);
};
cekPosisiTombol();
};
};
if (FlxG.keys.justPressed("X")){
if (pilihan != 3){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
FlxG.play(Snd_pilih);
} else {
if (lebih){
navigateToURL(request, "_blank");
};
};
};
super.update();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
private function cekPosisiTombol():void{
tombol_start.frame = 0;
tombol_hs.frame = 0;
tombol_more_games.frame = 0;
tombol_copyright.frame = 0;
switch (pilihan){
case 1:
tombol_start.frame = 1;
break;
case 2:
tombol_hs.frame = 1;
break;
case 3:
tombol_more_games.frame = 1;
break;
case 4:
tombol_copyright.frame = 1;
break;
};
}
}
}//package com.hito
Section 128
//MenuState_ImgGambarJudul (com.hito.MenuState_ImgGambarJudul)
package com.hito {
import mx.core.*;
public class MenuState_ImgGambarJudul extends BitmapAsset {
}
}//package com.hito
Section 129
//MenuState_ImgTombolCopyright (com.hito.MenuState_ImgTombolCopyright)
package com.hito {
import mx.core.*;
public class MenuState_ImgTombolCopyright extends BitmapAsset {
}
}//package com.hito
Section 130
//MenuState_ImgTombolHS (com.hito.MenuState_ImgTombolHS)
package com.hito {
import mx.core.*;
public class MenuState_ImgTombolHS extends BitmapAsset {
}
}//package com.hito
Section 131
//MenuState_ImgTombolMoreGames (com.hito.MenuState_ImgTombolMoreGames)
package com.hito {
import mx.core.*;
public class MenuState_ImgTombolMoreGames extends BitmapAsset {
}
}//package com.hito
Section 132
//MenuState_ImgTombolStart (com.hito.MenuState_ImgTombolStart)
package com.hito {
import mx.core.*;
public class MenuState_ImgTombolStart extends BitmapAsset {
}
}//package com.hito
Section 133
//MenuState_Lagu_1 (com.hito.MenuState_Lagu_1)
package com.hito {
import mx.core.*;
public class MenuState_Lagu_1 extends SoundAsset {
}
}//package com.hito
Section 134
//MenuState_Snd_geser (com.hito.MenuState_Snd_geser)
package com.hito {
import mx.core.*;
public class MenuState_Snd_geser extends SoundAsset {
}
}//package com.hito
Section 135
//MenuState_Snd_pilih (com.hito.MenuState_Snd_pilih)
package com.hito {
import mx.core.*;
public class MenuState_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 136
//Misi (com.hito.Misi)
package com.hito {
import org.flixel.*;
public class Misi extends FlxState {
private var tombol_back:FlxSprite;
private var sudah_milih:Boolean;// = false
private var Snd_cancel:Class;
private var ImgBgStage:Class;
private var ImgTombolBack:Class;
public function Misi(){
var GambarBG:FlxSprite;
var txt:FlxText;
var txts:FlxText;
ImgBgStage = Misi_ImgBgStage;
Snd_cancel = Misi_Snd_cancel;
ImgTombolBack = Misi_ImgTombolBack;
super();
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
txt = new FlxText(20, 30, 630, "MISSION BRIEF");
txt.setFormat(null, 10, 4294044826, "left");
add(txt);
txt = new FlxText(20, 60, 630, "----------------------------------------");
txt.setFormat(null, 9, 4291282887, "left");
add(txt);
txt = new FlxText(20, 80, 630, Variabel[("judul_keterangan_skenario_" + Variabel.skenario_terpilih)]);
txt.setFormat(null, 10, 4294967295, "left");
add(txt);
txt = new FlxText(40, 110, 630, Variabel[("keterangan_skenario_" + Variabel.skenario_terpilih)]);
txt.setFormat(null, 10, 4294967295, "left");
add(txt);
txt = new FlxText(20, 180, 630, "----------------------------------------");
txt.setFormat(null, 9, 4291282887, "left");
add(txt);
txt = new FlxText(20, 200, 630, Variabel[("misi_skenario_" + Variabel.skenario_terpilih)]);
txt.setFormat(null, 10, 4291413375, "left");
add(txt);
txts = new FlxText(20, 447, 630, Variabel[("judul_keterangan_skenario_" + Variabel.skenario_terpilih)]);
txts.setFormat(null, 10, 4291413375, "left");
add(txts);
txt = new FlxText(-15, 447, 630, "Z : Back");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_back = new FlxSprite(580, 20);
tombol_back.loadGraphic(ImgTombolBack, true, false, 40, 40);
tombol_back.frame = 0;
add(tombol_back);
}
private function keSebelumnya():void{
FlxG.state = new SubMenu();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
override public function update():void{
if (!sudah_milih){
if (mouseOn(tombol_back)){
tombol_back.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
} else {
tombol_back.frame = 0;
};
if (FlxG.keys.justPressed("UP")){
};
if (FlxG.keys.justPressed("DOWN")){
};
};
if (FlxG.keys.justPressed("Z")){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
super.update();
}
}
}//package com.hito
Section 137
//Misi_ImgBgStage (com.hito.Misi_ImgBgStage)
package com.hito {
import mx.core.*;
public class Misi_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 138
//Misi_ImgTombolBack (com.hito.Misi_ImgTombolBack)
package com.hito {
import mx.core.*;
public class Misi_ImgTombolBack extends BitmapAsset {
}
}//package com.hito
Section 139
//Misi_Snd_cancel (com.hito.Misi_Snd_cancel)
package com.hito {
import mx.core.*;
public class Misi_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 140
//Peta (com.hito.Peta)
package com.hito {
import org.flixel.*;
public class Peta extends FlxState {
private var map_bg:FlxSprite;
private var lyrSprites:FlxGroup;
private var musuh_6_keterangan:FlxSprite;
private var musuh_9_keterangan:FlxSprite;
private var special_1:FlxSprite;
private var special_3:FlxSprite;
private var musuh_1_keterangan:FlxSprite;
private var Snd_cancel:Class;
private var special_2:FlxSprite;
private var lakon_1_keterangan:FlxSprite;
private var ImgThumbSpecial:Class;
private var DataMap_10:Class;
private var musuh_4_keterangan:FlxSprite;
private var lakon_4_keterangan:FlxSprite;
private var penyesuaian_peta_y:int;// = 60
private var musuh_10:FlxSprite;
private var special_2_keterangan:FlxSprite;
private var DataMap_1:Class;
private var DataMap_2:Class;
private var DataMap_3:Class;
private var musuh_7_keterangan:FlxSprite;
private var DataMap_7:Class;
private var lakon_5:FlxSprite;
private var DataMap_9:Class;
private var penyesuaian_peta_x:int;// = 25
private var DataMap_4:Class;
private var DataMap_5:Class;
private var DataMap_6:Class;
private var lakon_4:FlxSprite;
private var DataMap_8:Class;
private var tinggi_tumb:int;// = 10
private var lakon_1:FlxSprite;
private var lakon_2:FlxSprite;
private var lakon_3:FlxSprite;
private var ImgPetaBG:Class;
private var ImgThumbMusuh:Class;
private var lyrStage:FlxGroup;
private var i:int;
private var j:int;
private var musuh_2_keterangan:FlxSprite;
private var ImgBgStage:Class;
private var lakon_2_keterangan:FlxSprite;
private var sudah_milih:Boolean;// = false
private var _map:FlxTilemap;
private var ImgTiles:Class;
private var posy:int;
private var musuh_5_keterangan:FlxSprite;
private var special_3_keterangan:FlxSprite;
private var lakon_5_keterangan:FlxSprite;
private var ImgTombolBack:Class;
private var tombol_back:FlxSprite;
private var lebar_tinggi_peta_asli:int;// = 60
private var musuh_10_keterangan:FlxSprite;
private var ImgThumbLakon:Class;
private var musuh_8_keterangan:FlxSprite;
private var musuh_2:FlxSprite;
private var musuh_4:FlxSprite;
private var musuh_5:FlxSprite;
private var musuh_7:FlxSprite;
private var musuh_9:FlxSprite;
private var musuh_6:FlxSprite;
private var musuh_8:FlxSprite;
private var musuh_3:FlxSprite;
private var musuh_1:FlxSprite;
private var musuh_3_keterangan:FlxSprite;
private var special_1_keterangan:FlxSprite;
private var lakon_3_keterangan:FlxSprite;
private var lebar_tumb:int;// = 10
public function Peta(){
var GambarBG:FlxSprite;
var txt:FlxText;
var txts:FlxText;
ImgBgStage = Peta_ImgBgStage;
ImgTiles = Peta_ImgTiles;
ImgPetaBG = Peta_ImgPetaBG;
DataMap_1 = Peta_DataMap_1;
DataMap_2 = Peta_DataMap_2;
DataMap_3 = Peta_DataMap_3;
DataMap_4 = Peta_DataMap_4;
DataMap_5 = Peta_DataMap_5;
DataMap_6 = Peta_DataMap_6;
DataMap_7 = Peta_DataMap_7;
DataMap_8 = Peta_DataMap_8;
DataMap_9 = Peta_DataMap_9;
DataMap_10 = Peta_DataMap_10;
ImgThumbLakon = Peta_ImgThumbLakon;
ImgThumbMusuh = Peta_ImgThumbMusuh;
ImgThumbSpecial = Peta_ImgThumbSpecial;
Snd_cancel = Peta_Snd_cancel;
ImgTombolBack = Peta_ImgTombolBack;
super();
lyrStage = new FlxGroup();
lyrSprites = new FlxGroup();
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
txt = new FlxText(20, 30, 630, "MAP");
txt.setFormat(null, 10, 4294044826, "left");
add(txt);
map_bg = new FlxSprite(-7, -7);
map_bg.loadGraphic(ImgPetaBG, false, false, 315, 316);
map_bg.frame = 0;
lyrStage.add(map_bg);
_map = new FlxTilemap();
_map.startingIndex = 0;
_map.drawIndex = 0;
switch (Variabel.skenario_terpilih){
case 1:
_map.loadMap(new DataMap_1(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 2:
_map.loadMap(new DataMap_2(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 3:
_map.loadMap(new DataMap_3(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 4:
_map.loadMap(new DataMap_4(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 5:
_map.loadMap(new DataMap_5(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 6:
_map.loadMap(new DataMap_6(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 7:
_map.loadMap(new DataMap_7(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 8:
_map.loadMap(new DataMap_8(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 9:
_map.loadMap(new DataMap_9(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
case 10:
_map.loadMap(new DataMap_10(), ImgTiles, lebar_tumb, tinggi_tumb);
break;
};
lyrStage.add(_map);
j = 0;
posy = -30;
i = 1;
while (i <= 5) {
if (!Variabel[(("karakter_" + i) + "_mati")]){
j++;
this[("lakon_" + i)] = new FlxSprite(((Variabel[(("karakter_" + i) + "_tile_x")] / lebar_tinggi_peta_asli) * lebar_tumb), ((Variabel[(("karakter_" + i) + "_tile_y")] / lebar_tinggi_peta_asli) * tinggi_tumb));
this[("lakon_" + i)].loadGraphic(ImgThumbLakon, true, true, lebar_tumb, tinggi_tumb);
this[("lakon_" + i)].frame = (i - 1);
lyrSprites.add(this[("lakon_" + i)]);
this[(("lakon_" + i) + "_keterangan")] = new FlxSprite(330, (posy + (j * 30)));
this[(("lakon_" + i) + "_keterangan")].loadGraphic(ImgThumbLakon, true, true, lebar_tumb, tinggi_tumb);
this[(("lakon_" + i) + "_keterangan")].frame = (i - 1);
lyrSprites.add(this[(("lakon_" + i) + "_keterangan")]);
txt = new FlxText(350, (posy + (j * 30)), 630, (": " + Variabel[(("karakter_" + i) + "_nama")]));
if (i == Variabel.so.data.character_terpilih){
txt.setFormat(null, 8, 4294967295, "left");
} else {
txt.setFormat(null, 8, 4291282887, "left");
};
lyrSprites.add(txt);
};
i++;
};
txt = new FlxText(330, (posy + ((j + 1) * 30)), 630, "------------------------");
txt.setFormat(null, 8, 4291413375, "left");
lyrSprites.add(txt);
posy = (posy + ((j + 1) * 30));
j = 0;
i = 1;
while (i <= 10) {
if (!Variabel[(("musuh_" + i) + "_mati")]){
j++;
this[("musuh_" + i)] = new FlxSprite(((Variabel[(("musuh_" + i) + "_tile_x")] / lebar_tinggi_peta_asli) * lebar_tumb), ((Variabel[(("musuh_" + i) + "_tile_y")] / lebar_tinggi_peta_asli) * tinggi_tumb));
this[("musuh_" + i)].loadGraphic(ImgThumbMusuh, true, true, lebar_tumb, tinggi_tumb);
this[("musuh_" + i)].frame = (i - 1);
lyrSprites.add(this[("musuh_" + i)]);
this[(("musuh_" + i) + "_keterangan")] = new FlxSprite(330, (posy + (j * 30)));
this[(("musuh_" + i) + "_keterangan")].loadGraphic(ImgThumbMusuh, true, true, lebar_tumb, tinggi_tumb);
this[(("musuh_" + i) + "_keterangan")].frame = (i - 1);
lyrSprites.add(this[(("musuh_" + i) + "_keterangan")]);
txt = new FlxText(350, (posy + (j * 30)), 630, (": " + Variabel[(("musuh_" + i) + "_nama")]));
txt.setFormat(null, 8, 4294967295, "left");
lyrSprites.add(txt);
};
i++;
};
if (Variabel.ada_special){
txt = new FlxText(330, (posy + ((j + 1) * 30)), 630, "-------------------------");
txt.setFormat(null, 8, 4291413375, "left");
lyrSprites.add(txt);
posy = (posy + ((j + 1) * 30));
j = 0;
i = 1;
while (i <= 3) {
if (!Variabel[(("special_" + i) + "_mati")]){
j++;
this[("special_" + i)] = new FlxSprite(((Variabel[(("special_" + i) + "_tile_x")] / lebar_tinggi_peta_asli) * lebar_tumb), ((Variabel[(("special_" + i) + "_tile_y")] / lebar_tinggi_peta_asli) * tinggi_tumb));
this[("special_" + i)].loadGraphic(ImgThumbSpecial, true, true, lebar_tumb, tinggi_tumb);
this[("special_" + i)].frame = (i - 1);
lyrSprites.add(this[("special_" + i)]);
this[(("special_" + i) + "_keterangan")] = new FlxSprite(330, (posy + (j * 30)));
this[(("special_" + i) + "_keterangan")].loadGraphic(ImgThumbSpecial, true, true, lebar_tumb, tinggi_tumb);
this[(("special_" + i) + "_keterangan")].frame = (i - 1);
lyrSprites.add(this[(("special_" + i) + "_keterangan")]);
txt = new FlxText(350, (posy + (j * 30)), 630, (": " + Variabel[(("special_" + i) + "_nama")]));
txt.setFormat(null, 8, 4294967295, "left");
lyrSprites.add(txt);
};
i++;
};
};
lyrStage.x = (lyrStage.x + penyesuaian_peta_x);
lyrStage.y = (lyrStage.y + penyesuaian_peta_y);
lyrSprites.x = (lyrSprites.x + penyesuaian_peta_x);
lyrSprites.y = (lyrSprites.y + penyesuaian_peta_y);
add(lyrStage);
add(lyrSprites);
txts = new FlxText(20, 447, 630, Variabel[("judul_keterangan_skenario_" + Variabel.skenario_terpilih)]);
txts.setFormat(null, 10, 4291413375, "left");
add(txts);
txt = new FlxText(-15, 447, 630, "Z : Back");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_back = new FlxSprite(580, 20);
tombol_back.loadGraphic(ImgTombolBack, true, false, 40, 40);
tombol_back.frame = 0;
add(tombol_back);
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
override public function update():void{
if (!sudah_milih){
if (mouseOn(tombol_back)){
tombol_back.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
} else {
tombol_back.frame = 0;
};
if (FlxG.keys.justPressed("UP")){
};
if (FlxG.keys.justPressed("DOWN")){
};
};
if (FlxG.keys.justPressed("Z")){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
};
super.update();
}
private function keSebelumnya():void{
FlxG.state = new SubMenu();
}
}
}//package com.hito
Section 141
//Peta_DataMap_1 (com.hito.Peta_DataMap_1)
package com.hito {
import mx.core.*;
public class Peta_DataMap_1 extends ByteArrayAsset {
}
}//package com.hito
Section 142
//Peta_DataMap_10 (com.hito.Peta_DataMap_10)
package com.hito {
import mx.core.*;
public class Peta_DataMap_10 extends ByteArrayAsset {
}
}//package com.hito
Section 143
//Peta_DataMap_2 (com.hito.Peta_DataMap_2)
package com.hito {
import mx.core.*;
public class Peta_DataMap_2 extends ByteArrayAsset {
}
}//package com.hito
Section 144
//Peta_DataMap_3 (com.hito.Peta_DataMap_3)
package com.hito {
import mx.core.*;
public class Peta_DataMap_3 extends ByteArrayAsset {
}
}//package com.hito
Section 145
//Peta_DataMap_4 (com.hito.Peta_DataMap_4)
package com.hito {
import mx.core.*;
public class Peta_DataMap_4 extends ByteArrayAsset {
}
}//package com.hito
Section 146
//Peta_DataMap_5 (com.hito.Peta_DataMap_5)
package com.hito {
import mx.core.*;
public class Peta_DataMap_5 extends ByteArrayAsset {
}
}//package com.hito
Section 147
//Peta_DataMap_6 (com.hito.Peta_DataMap_6)
package com.hito {
import mx.core.*;
public class Peta_DataMap_6 extends ByteArrayAsset {
}
}//package com.hito
Section 148
//Peta_DataMap_7 (com.hito.Peta_DataMap_7)
package com.hito {
import mx.core.*;
public class Peta_DataMap_7 extends ByteArrayAsset {
}
}//package com.hito
Section 149
//Peta_DataMap_8 (com.hito.Peta_DataMap_8)
package com.hito {
import mx.core.*;
public class Peta_DataMap_8 extends ByteArrayAsset {
}
}//package com.hito
Section 150
//Peta_DataMap_9 (com.hito.Peta_DataMap_9)
package com.hito {
import mx.core.*;
public class Peta_DataMap_9 extends ByteArrayAsset {
}
}//package com.hito
Section 151
//Peta_ImgBgStage (com.hito.Peta_ImgBgStage)
package com.hito {
import mx.core.*;
public class Peta_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 152
//Peta_ImgPetaBG (com.hito.Peta_ImgPetaBG)
package com.hito {
import mx.core.*;
public class Peta_ImgPetaBG extends BitmapAsset {
}
}//package com.hito
Section 153
//Peta_ImgThumbLakon (com.hito.Peta_ImgThumbLakon)
package com.hito {
import mx.core.*;
public class Peta_ImgThumbLakon extends BitmapAsset {
}
}//package com.hito
Section 154
//Peta_ImgThumbMusuh (com.hito.Peta_ImgThumbMusuh)
package com.hito {
import mx.core.*;
public class Peta_ImgThumbMusuh extends BitmapAsset {
}
}//package com.hito
Section 155
//Peta_ImgThumbSpecial (com.hito.Peta_ImgThumbSpecial)
package com.hito {
import mx.core.*;
public class Peta_ImgThumbSpecial extends BitmapAsset {
}
}//package com.hito
Section 156
//Peta_ImgTiles (com.hito.Peta_ImgTiles)
package com.hito {
import mx.core.*;
public class Peta_ImgTiles extends BitmapAsset {
}
}//package com.hito
Section 157
//Peta_ImgTombolBack (com.hito.Peta_ImgTombolBack)
package com.hito {
import mx.core.*;
public class Peta_ImgTombolBack extends BitmapAsset {
}
}//package com.hito
Section 158
//Peta_Snd_cancel (com.hito.Peta_Snd_cancel)
package com.hito {
import mx.core.*;
public class Peta_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 159
//Pintu (com.hito.Pintu)
package com.hito {
import org.flixel.*;
public class Pintu extends FlxSprite {
private var ImgEnergiBG:Class;
public var _hurt_counter_pintu:Number;// = 0
private var pra_xa:int;// = 0
private var pra_xb:int;// = 0
private var counter_tunggu:int;// = 0
private var energi_pintu:Number;
private var sudah_buat_energi:Boolean;// = false
private var delai_pengeluaran:int;// = 0
private var bisa_dilukai:Boolean;// = true
private var energi_pintu_bar:FlxSprite;
private var ini_pintu_ke:int;// = 0
private var energi_BG:FlxSprite;
private var Snd_p4:Class;
private var ImgEnergi:Class;
public function Pintu(ImgPintu:Class, pintu_ke:int, ep:int, X:Number, Y:Number, xa:int, xb:int, mu:Boolean, delai:int=0):void{
ImgEnergi = Pintu_ImgEnergi;
ImgEnergiBG = Pintu_ImgEnergiBG;
Snd_p4 = Pintu_Snd_p4;
super(X, Y);
delai_pengeluaran = (delai * 2);
ini_pintu_ke = pintu_ke;
energi_pintu = ep;
pra_xa = xa;
pra_xb = xb;
loadGraphic(ImgPintu, true, true, 60, 60);
width = 58;
height = 58;
if (mu){
frame = 2;
} else {
frame = 0;
};
addAnimation("hurt", [1]);
}
override public function update():void{
if (Variabel.pintu_mati[ini_pintu_ke]){
frame = 2;
} else {
frame = 0;
};
if (!dead){
if (Variabel.total_prajurit_yang_diijinkan > 0){
counter_tunggu++;
if (counter_tunggu >= (Variabel.jeda_pengeluaran + delai_pengeluaran)){
Variabel.prajurit_mati.push(false);
Variabel.prajurit_x.push(x);
Variabel.prajurit_y.push(y);
Variabel.prajurit_xa.push(pra_xa);
Variabel.prajurit_xb.push(pra_xb);
Variabel.energi_prajurit.push(Variabel.energi_prajurit_awal);
Variabel.prajurit_hadap.push(Variabel.pintu_hadap[ini_pintu_ke]);
Variabel.sedang_cipta_prajurit = true;
counter_tunggu = 0;
Variabel.total_prajurit_yang_diijinkan--;
};
};
};
if (!sudah_buat_energi){
buatEnergi(Variabel.energi_pintu_awal, energi_pintu);
sudah_buat_energi = true;
} else {
energi_BG.x = (x + (20 - ((Variabel.energi_pintu_awal * 5) / 2)));
energi_BG.y = (y - 10);
energi_pintu_bar.scale.x = ((energi_pintu * 100) * 0.05);
energi_pintu_bar.x = (energi_BG.x + 1);
energi_pintu_bar.y = (energi_BG.y + 1);
};
if (energi_pintu <= 0){
if (!Variabel.sedang_cipta_prajurit){
dead = true;
energi_BG.exists = false;
energi_pintu_bar.exists = false;
Variabel.pintu_mati[ini_pintu_ke] = true;
Variabel.energi_pintu[ini_pintu_ke] = energi_pintu;
};
};
if (dead){
if (finished){
frame = 2;
} else {
super.update();
};
return;
};
if (_hurt_counter_pintu > 0){
if (!Variabel.sedang_cipta_prajurit){
_hurt_counter_pintu = (_hurt_counter_pintu - (FlxG.elapsed * 3));
play("hurt");
energi_BG.visible = true;
energi_pintu_bar.visible = true;
};
} else {
bisa_dilukai = true;
frame = 0;
energi_BG.visible = false;
energi_pintu_bar.visible = false;
};
Variabel.energi_pintu[ini_pintu_ke] = energi_pintu;
}
override public function hurt(Damage:Number):void{
if (bisa_dilukai){
_hurt_counter_pintu = 1;
energi_pintu = (energi_pintu - Damage);
bisa_dilukai = false;
FlxG.play(Snd_p4, 0.25);
};
}
private function buatEnergi(e_awal:int, e_sekarang:int):void{
energi_BG = (FlxG.state.add(new FlxSprite(x, y)) as FlxSprite);
energi_BG.loadGraphic(ImgEnergiBG, false, false, 1, 5);
energi_BG.origin.x = (energi_BG.origin.y = 0);
energi_BG.scale.x = (((e_awal * 100) * 0.05) + 2);
energi_pintu_bar = (FlxG.state.add(new FlxSprite((x + 1), (y + 1))) as FlxSprite);
energi_pintu_bar.loadGraphic(ImgEnergi, false, false, 1, 3);
energi_pintu_bar.origin.x = (energi_BG.origin.y = 0);
energi_pintu_bar.scale.x = ((e_sekarang * 100) * 0.05);
}
}
}//package com.hito
Section 160
//Pintu_ImgEnergi (com.hito.Pintu_ImgEnergi)
package com.hito {
import mx.core.*;
public class Pintu_ImgEnergi extends BitmapAsset {
}
}//package com.hito
Section 161
//Pintu_ImgEnergiBG (com.hito.Pintu_ImgEnergiBG)
package com.hito {
import mx.core.*;
public class Pintu_ImgEnergiBG extends BitmapAsset {
}
}//package com.hito
Section 162
//Pintu_Snd_p4 (com.hito.Pintu_Snd_p4)
package com.hito {
import mx.core.*;
public class Pintu_Snd_p4 extends SoundAsset {
}
}//package com.hito
Section 163
//Player (com.hito.Player)
package com.hito {
import org.flixel.*;
public class Player extends FlxSprite {
private var ImgPlayerNormal_4a:Class;
private var ImgPlayerNormal_4c:Class;
private var ImgPlayerNormal_4e:Class;
private var ImgPlayerNormal_4b:Class;
private var ImgPlayerNormal_4d:Class;
private var ImgPlayerNormal_4f:Class;
private var lama_efek_sa:int;// = 5
private var tunggu_serangan:Boolean;// = false
private var ImgPlayerNormal_5a:Class;
private var ImgPlayerNormal_5b:Class;
private var ImgPlayerNormal_5c:Class;
private var ImgPlayerNormal_5d:Class;
private var ImgPlayerNormal_5e:Class;
private var ImgPlayerNormal_5f:Class;
public var _attack_counter:Number;// = -1
public var gek_meh_matrik:Boolean;// = false
public var _max_health:int;// = 10
private var max_velo_y:int;// = 450
private var counter_efek_sa:int;// = 0
private var counter_lama_matrik:int;// = 0
private var habis_dari_super:int;// = 0
private var _jump_power:int;// = 550
private var _sparks:FlxEmitter;
public var terakhir_pencet:String;
private var ImgSpark_a:Class;
private var ImgSpark_b:Class;
private var ImgSpark_c:Class;
private var ImgSpark_d:Class;
private var ImgSpark_e:Class;
private var lama_efek_matrik:int;// = 15
private var Snd_p1:Class;
private var Snd_p2:Class;
private var counter_toleransi_serang_lagi:int;
private var toleransi_serang_lagi:int;// = 50
private var wis_a:Boolean;// = true
private var boleh_nyerang_lagi:Boolean;// = true
private var counter_toleransi_combo:int;
private var efek_sa:FlxSprite;
private var toleransi_pencet:int;// = 50
private var sudah_buat_efek_sa:Boolean;// = false
private var ImgPlayerNormal_1a:Class;
private var ImgPlayerNormal_1b:Class;
private var ImgPlayerNormal_1c:Class;
private var ImgPlayerNormal_1d:Class;
private var ImgPlayerNormal_1e:Class;
private var ImgPlayerNormal_1f:Class;
public var _hurt_counter:Number;// = 0
private var ImgPlayerNormal_2a:Class;
private var ImgPlayerNormal_2b:Class;
private var ImgPlayerNormal_2c:Class;
private var ImgPlayerNormal_2d:Class;
private var ImgPlayerNormal_2e:Class;
private var ImgPlayerNormal_2f:Class;
private var Snd_kena:Class;
private var ImgEfekSeranganAtas:Class;
private var bisa_dilukai:Boolean;// = true
private var ini_player_ke:int;// = 0
private var ImgPlayerNormal_3a:Class;
private var ImgPlayerNormal_3b:Class;
private var ImgPlayerNormal_3c:Class;
private var ImgPlayerNormal_3d:Class;
private var ImgPlayerNormal_3e:Class;
private var ImgPlayerNormal_3f:Class;
private var sudah_bunyi:Boolean;// = false
private var _move_speed:int;// = 400
private var Snd_anjlog:Class;
public function Player(karakter_ke:int, X:Number, Y:Number):void{
ImgPlayerNormal_1a = Player_ImgPlayerNormal_1a;
ImgPlayerNormal_1b = Player_ImgPlayerNormal_1b;
ImgPlayerNormal_1c = Player_ImgPlayerNormal_1c;
ImgPlayerNormal_1d = Player_ImgPlayerNormal_1d;
ImgPlayerNormal_1e = Player_ImgPlayerNormal_1e;
ImgPlayerNormal_1f = Player_ImgPlayerNormal_1f;
ImgPlayerNormal_2a = Player_ImgPlayerNormal_2a;
ImgPlayerNormal_2b = Player_ImgPlayerNormal_2b;
ImgPlayerNormal_2c = Player_ImgPlayerNormal_2c;
ImgPlayerNormal_2d = Player_ImgPlayerNormal_2d;
ImgPlayerNormal_2e = Player_ImgPlayerNormal_2e;
ImgPlayerNormal_2f = Player_ImgPlayerNormal_2f;
ImgPlayerNormal_3a = Player_ImgPlayerNormal_3a;
ImgPlayerNormal_3b = Player_ImgPlayerNormal_3b;
ImgPlayerNormal_3c = Player_ImgPlayerNormal_3c;
ImgPlayerNormal_3d = Player_ImgPlayerNormal_3d;
ImgPlayerNormal_3e = Player_ImgPlayerNormal_3e;
ImgPlayerNormal_3f = Player_ImgPlayerNormal_3f;
ImgPlayerNormal_4a = Player_ImgPlayerNormal_4a;
ImgPlayerNormal_4b = Player_ImgPlayerNormal_4b;
ImgPlayerNormal_4c = Player_ImgPlayerNormal_4c;
ImgPlayerNormal_4d = Player_ImgPlayerNormal_4d;
ImgPlayerNormal_4e = Player_ImgPlayerNormal_4e;
ImgPlayerNormal_4f = Player_ImgPlayerNormal_4f;
ImgPlayerNormal_5a = Player_ImgPlayerNormal_5a;
ImgPlayerNormal_5b = Player_ImgPlayerNormal_5b;
ImgPlayerNormal_5c = Player_ImgPlayerNormal_5c;
ImgPlayerNormal_5d = Player_ImgPlayerNormal_5d;
ImgPlayerNormal_5e = Player_ImgPlayerNormal_5e;
ImgPlayerNormal_5f = Player_ImgPlayerNormal_5f;
ImgSpark_a = Player_ImgSpark_a;
ImgSpark_b = Player_ImgSpark_b;
ImgSpark_c = Player_ImgSpark_c;
ImgSpark_d = Player_ImgSpark_d;
ImgSpark_e = Player_ImgSpark_e;
ImgEfekSeranganAtas = Player_ImgEfekSeranganAtas;
Snd_anjlog = Player_Snd_anjlog;
Snd_p1 = Player_Snd_p1;
Snd_p2 = Player_Snd_p2;
Snd_kena = Player_Snd_kena;
super(X, Y);
ini_player_ke = karakter_ke;
if (Variabel.sedang_super){
gantiGambar("d");
} else {
gantiGambar("a");
};
acceleration.y = 700;
maxVelocity.x = (Variabel.so.data[(("character_" + karakter_ke) + "_speed")] * 7);
maxVelocity.y = max_velo_y;
drag.x = (Variabel.so.data[(("character_" + karakter_ke) + "_speed")] * 20);
addAnimation("normal", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], ((0.033 / FlxG.elapsed) * 10));
addAnimation("stopped", [8]);
addAnimation("jump", [10]);
addAnimation("hurt", [11, 12], ((0.033 / FlxG.elapsed) * 5));
addAnimation("anjlog", [13]);
addAnimation("attack", [0, 1, 2, 3], ((0.033 / FlxG.elapsed) * 10), true);
addAnimation("attack2", [4, 5, 6, 7], ((0.033 / FlxG.elapsed) * 10), true);
addAnimation("attack3", [8, 9, 10, 11, 12, 13, 14, 15], ((0.033 / FlxG.elapsed) * 12), true);
addAnimation("attack4", [0, 1, 2, 3, 4, 5, 6, 7], ((0.033 / FlxG.elapsed) * 12), true);
addAnimation("attack5", [8, 9, 10, 11, 12, 13, 14, 15], ((0.033 / FlxG.elapsed) * 12), true);
addAnimation("attack6", [16, 17, 18, 19], ((0.033 / FlxG.elapsed) * 10), true);
facing = Variabel[(("karakter_" + ini_player_ke) + "_hadap")];
}
override public function hurt(Damage:Number):void{
if (bisa_dilukai){
_hurt_counter = 1;
Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] = (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] - 100);
FlxG.play(Snd_kena, 0.75);
bisa_dilukai = false;
};
}
private function gantiGambar(ke:String):void{
loadGraphic(this[(("ImgPlayerNormal_" + ini_player_ke) + ke)], true, true, 60, 60);
width = 38;
height = 55;
offset.x = 8;
offset.y = 5;
if ((((ke == "a")) || ((ke == "d")))){
wis_a = true;
};
}
private function buatSA():void{
efek_sa = (FlxG.state.add(new FlxSprite(x, y)) as FlxSprite);
efek_sa.loadGraphic(ImgEfekSeranganAtas, false, false, 24, 24);
efek_sa.scale.x = (efek_sa.scale.y = 0);
efek_sa.alpha = 0.5;
efek_sa.visible = false;
}
private function updateAnimasi():void{
addAnimation("normal", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], ((0.033 / FlxG.elapsed) * 10));
addAnimation("stopped", [8]);
addAnimation("jump", [10]);
addAnimation("hurt", [11, 12], ((0.033 / FlxG.elapsed) * 5));
addAnimation("anjlog", [13]);
addAnimation("attack", [0, 1, 2, 3], ((0.033 / FlxG.elapsed) * 10), false);
addAnimation("attack2", [4, 5, 6, 7], ((0.033 / FlxG.elapsed) * 10), false);
addAnimation("attack3", [8, 9, 10, 11, 12, 13, 14, 15], ((0.033 / FlxG.elapsed) * 10), false);
addAnimation("attack4", [0, 1, 2, 3, 4, 5, 6, 7], ((0.033 / FlxG.elapsed) * 10), false);
addAnimation("attack5", [8, 9, 10, 11, 12, 13, 14, 15], ((0.033 / FlxG.elapsed) * 10), false);
addAnimation("attack6", [16, 17, 18, 19], ((0.033 / FlxG.elapsed) * 10), false);
}
override public function update():void{
updateAnimasi();
if (gek_meh_matrik){
counter_lama_matrik++;
if (counter_lama_matrik >= lama_efek_matrik){
gek_meh_matrik = false;
counter_lama_matrik = 0;
};
};
if (Variabel.sedang_super){
habis_dari_super = 1;
} else {
if (habis_dari_super == 1){
habis_dari_super = 2;
} else {
habis_dari_super = 0;
};
};
if (habis_dari_super == 2){
gantiGambar("a");
habis_dari_super = 0;
};
if (!boleh_nyerang_lagi){
counter_toleransi_serang_lagi++;
if (counter_toleransi_serang_lagi == toleransi_serang_lagi){
counter_toleransi_serang_lagi = 0;
boleh_nyerang_lagi = true;
terakhir_pencet = null;
_attack_counter = 0;
sudah_bunyi = false;
};
};
acceleration.x = 0;
if (!sudah_buat_efek_sa){
buatSA();
sudah_buat_efek_sa = true;
} else {
if (!efek_sa.visible){
efek_sa.x = (x + 8);
efek_sa.y = (y + 45);
};
};
if (Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_energi_sementara")] <= 0){
dead = true;
cling();
};
if (Variabel.sedang_super){
if (_attack_counter <= 0){
if (!wis_a){
gantiGambar("d");
};
};
};
if (dead){
if (finished){
exists = false;
} else {
super.update();
};
return;
} else {
if (_attack_counter > 0){
_attack_counter = (_attack_counter - (FlxG.elapsed * 3));
} else {
if (!wis_a){
if (Variabel.sedang_super){
gantiGambar("d");
} else {
gantiGambar("a");
};
};
};
if (_hurt_counter > 0){
_hurt_counter = (_hurt_counter - (FlxG.elapsed * 3));
} else {
bisa_dilukai = true;
};
if (FlxG.keys.LEFT){
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
if (_attack_counter <= 0){
facing = LEFT;
if (Variabel.sedang_super){
acceleration.x = (-(drag.x) * 2);
} else {
acceleration.x = -(drag.x);
};
};
};
} else {
if (FlxG.keys.RIGHT){
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
if (_attack_counter <= 0){
facing = RIGHT;
if (Variabel.sedang_super){
acceleration.x = (drag.x * 2);
} else {
acceleration.x = drag.x;
};
};
};
};
};
if (((FlxG.keys.justPressed("UP")) && ((velocity.y == 0)))){
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
velocity.y = -(_jump_power);
};
};
if (FlxG.keys.justPressed("DOWN")){
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
if (_attack_counter <= 0){
if ((((((velocity.y > -400)) && ((velocity.y < 0)))) || ((((velocity.y < 400)) && ((velocity.y > 0)))))){
maxVelocity.y = (max_velo_y * 1.5);
velocity.y = (_jump_power * 15);
velocity.x = 0;
Variabel[(("karakter_" + ini_player_ke) + "_serangan_atas")] = true;
tunggu_serangan = true;
_attack_counter = ((0.033 / FlxG.elapsed) * 0.75);
play("anjlog");
};
};
};
};
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
if (FlxG.keys.justPressed("Q")){
if (boleh_nyerang_lagi){
if (!sudah_bunyi){
FlxG.play(Snd_p2, 0.25);
sudah_bunyi = true;
};
if (Variabel.sedang_super){
gantiGambar("e");
} else {
gantiGambar("b");
};
wis_a = false;
terakhir_pencet = "q";
boleh_nyerang_lagi = false;
_attack_counter = ((0.033 / FlxG.elapsed) * 0.75);
counter_toleransi_serang_lagi = (toleransi_serang_lagi - ((0.033 / FlxG.elapsed) * 6));
};
};
};
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
if (FlxG.keys.justPressed("W")){
if (boleh_nyerang_lagi){
if (!sudah_bunyi){
FlxG.play(Snd_p2, 0.25);
sudah_bunyi = true;
};
if (Variabel.sedang_super){
gantiGambar("e");
} else {
gantiGambar("b");
};
wis_a = false;
terakhir_pencet = "w";
if (facing == LEFT){
acceleration.x = (-(drag.x) * 5);
} else {
acceleration.x = (drag.x * 5);
};
boleh_nyerang_lagi = false;
_attack_counter = ((0.033 / FlxG.elapsed) * 0.75);
counter_toleransi_serang_lagi = (toleransi_serang_lagi - ((0.033 / FlxG.elapsed) * 6));
};
};
};
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
if (FlxG.keys.justPressed("E")){
if (boleh_nyerang_lagi){
if (!sudah_bunyi){
FlxG.play(Snd_p1, 0.25);
sudah_bunyi = true;
};
if (Variabel.sedang_super){
gantiGambar("e");
} else {
gantiGambar("b");
};
wis_a = false;
terakhir_pencet = "e";
if (facing == LEFT){
acceleration.x = (-(drag.x) * 5);
} else {
acceleration.x = (drag.x * 5);
};
boleh_nyerang_lagi = false;
_attack_counter = ((0.033 / FlxG.elapsed) * 1.5);
counter_toleransi_serang_lagi = (toleransi_serang_lagi - ((0.033 / FlxG.elapsed) * 15));
};
};
};
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
if (boleh_nyerang_lagi){
if (FlxG.keys.justPressed("A")){
if (!sudah_bunyi){
FlxG.play(Snd_p1, 0.25);
sudah_bunyi = true;
};
if (Variabel.sedang_super){
gantiGambar("f");
} else {
gantiGambar("c");
};
wis_a = false;
terakhir_pencet = "a";
boleh_nyerang_lagi = false;
_attack_counter = ((0.033 / FlxG.elapsed) * 1.5);
counter_toleransi_serang_lagi = (toleransi_serang_lagi - ((0.033 / FlxG.elapsed) * 15));
};
};
};
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
if (boleh_nyerang_lagi){
if (FlxG.keys.justPressed("S")){
if (!sudah_bunyi){
FlxG.play(Snd_p1, 0.25);
sudah_bunyi = true;
};
if (Variabel.sedang_super){
gantiGambar("f");
} else {
gantiGambar("c");
};
wis_a = false;
terakhir_pencet = "s";
if (facing == LEFT){
acceleration.x = (-(drag.x) * 5);
} else {
acceleration.x = (drag.x * 5);
};
boleh_nyerang_lagi = false;
_attack_counter = ((0.033 / FlxG.elapsed) * 1.5);
counter_toleransi_serang_lagi = (toleransi_serang_lagi - ((0.033 / FlxG.elapsed) * 15));
};
};
};
if (((!(gek_meh_matrik)) && (!(Variabel.efek_matrik)))){
if (boleh_nyerang_lagi){
if (FlxG.keys.justPressed("D")){
if (!sudah_bunyi){
FlxG.play(Snd_p2, 0.25);
sudah_bunyi = true;
};
if (Variabel.sedang_super){
gantiGambar("f");
} else {
gantiGambar("c");
};
wis_a = false;
terakhir_pencet = "d";
boleh_nyerang_lagi = false;
_attack_counter = ((0.033 / FlxG.elapsed) * 0.75);
counter_toleransi_serang_lagi = (toleransi_serang_lagi - ((0.033 / FlxG.elapsed) * 6));
};
};
};
if (counter_efek_sa > 0){
if (Variabel[(("karakter_" + ini_player_ke) + "_serangan_atas")]){
counter_efek_sa++;
if (counter_efek_sa == lama_efek_sa){
Variabel[(("karakter_" + ini_player_ke) + "_serangan_atas")] = false;
counter_efek_sa = 0;
efek_sa.scale.x = (efek_sa.scale.y = 0);
efek_sa.visible = false;
};
};
};
if (FlxG.keys.justPressed("SPACE")){
wis_a = false;
};
if (_hurt_counter > 0){
if (!wis_a){
if (Variabel.sedang_super){
gantiGambar("d");
} else {
gantiGambar("a");
};
wis_a = true;
};
play("hurt");
} else {
if (_attack_counter > 0){
switch (terakhir_pencet){
case "e":
play("attack3");
break;
case "w":
play("attack2");
break;
case "q":
play("attack");
break;
case "a":
play("attack4");
break;
case "s":
play("attack5");
break;
case "d":
play("attack6");
break;
default:
play("normal");
_attack_counter = 0;
break;
};
} else {
if (velocity.y != 0){
if (velocity.y < 0){
if (!wis_a){
if (Variabel.sedang_super){
gantiGambar("d");
} else {
gantiGambar("a");
};
wis_a = true;
};
play("jump");
maxVelocity.y = max_velo_y;
} else {
if (Variabel[(("karakter_" + ini_player_ke) + "_serangan_atas")]){
if (!wis_a){
if (Variabel.sedang_super){
gantiGambar("d");
} else {
gantiGambar("a");
};
wis_a = true;
};
play("anjlog");
};
};
} else {
maxVelocity.y = max_velo_y;
if (Variabel[(("karakter_" + ini_player_ke) + "_serangan_atas")]){
if (counter_efek_sa == 0){
counter_efek_sa++;
};
terakhir_pencet = "9";
if (!sudah_bunyi){
FlxG.play(Snd_anjlog, 0.25);
sudah_bunyi = true;
};
};
if (velocity.x == 0){
if (counter_efek_sa){
if (!wis_a){
if (Variabel.sedang_super){
gantiGambar("d");
} else {
gantiGambar("a");
};
wis_a = true;
};
play("anjlog");
if (Variabel.sedang_super){
FlxG.quake.start(0.007, 0.25);
};
boleh_nyerang_lagi = false;
counter_toleransi_serang_lagi = (toleransi_serang_lagi - 10);
} else {
if (Variabel.sedang_super){
gantiGambar("d");
} else {
gantiGambar("a");
};
play("stopped", true);
FlxG.quake.stop();
};
} else {
if (!wis_a){
if (Variabel.sedang_super){
gantiGambar("d");
} else {
gantiGambar("a");
};
wis_a = true;
};
play("normal");
};
};
};
};
super.update();
};
Variabel[(("karakter_" + ini_player_ke) + "_tile_x")] = this.x;
Variabel[(("karakter_" + ini_player_ke) + "_tile_y")] = this.y;
Variabel[(("karakter_" + ini_player_ke) + "_hadap")] = facing;
}
private function cling():void{
_sparks = (FlxG.state.add(new FlxEmitter(x, y)) as FlxEmitter);
switch (ini_player_ke){
case 1:
_sparks.createSprites(ImgSpark_a, 10);
break;
case 2:
_sparks.createSprites(ImgSpark_b, 10);
break;
case 3:
_sparks.createSprites(ImgSpark_c, 10);
break;
case 4:
_sparks.createSprites(ImgSpark_d, 10);
break;
case 5:
_sparks.createSprites(ImgSpark_e, 10);
break;
};
_sparks.setYSpeed(-100, 100);
_sparks.x = (x + 30);
_sparks.y = (y + 30);
_sparks.start(true, 1, 0);
}
}
}//package com.hito
Section 164
//Player_ImgEfekSeranganAtas (com.hito.Player_ImgEfekSeranganAtas)
package com.hito {
import mx.core.*;
public class Player_ImgEfekSeranganAtas extends BitmapAsset {
}
}//package com.hito
Section 165
//Player_ImgPlayerNormal_1a (com.hito.Player_ImgPlayerNormal_1a)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_1a extends BitmapAsset {
}
}//package com.hito
Section 166
//Player_ImgPlayerNormal_1b (com.hito.Player_ImgPlayerNormal_1b)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_1b extends BitmapAsset {
}
}//package com.hito
Section 167
//Player_ImgPlayerNormal_1c (com.hito.Player_ImgPlayerNormal_1c)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_1c extends BitmapAsset {
}
}//package com.hito
Section 168
//Player_ImgPlayerNormal_1d (com.hito.Player_ImgPlayerNormal_1d)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_1d extends BitmapAsset {
}
}//package com.hito
Section 169
//Player_ImgPlayerNormal_1e (com.hito.Player_ImgPlayerNormal_1e)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_1e extends BitmapAsset {
}
}//package com.hito
Section 170
//Player_ImgPlayerNormal_1f (com.hito.Player_ImgPlayerNormal_1f)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_1f extends BitmapAsset {
}
}//package com.hito
Section 171
//Player_ImgPlayerNormal_2a (com.hito.Player_ImgPlayerNormal_2a)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_2a extends BitmapAsset {
}
}//package com.hito
Section 172
//Player_ImgPlayerNormal_2b (com.hito.Player_ImgPlayerNormal_2b)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_2b extends BitmapAsset {
}
}//package com.hito
Section 173
//Player_ImgPlayerNormal_2c (com.hito.Player_ImgPlayerNormal_2c)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_2c extends BitmapAsset {
}
}//package com.hito
Section 174
//Player_ImgPlayerNormal_2d (com.hito.Player_ImgPlayerNormal_2d)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_2d extends BitmapAsset {
}
}//package com.hito
Section 175
//Player_ImgPlayerNormal_2e (com.hito.Player_ImgPlayerNormal_2e)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_2e extends BitmapAsset {
}
}//package com.hito
Section 176
//Player_ImgPlayerNormal_2f (com.hito.Player_ImgPlayerNormal_2f)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_2f extends BitmapAsset {
}
}//package com.hito
Section 177
//Player_ImgPlayerNormal_3a (com.hito.Player_ImgPlayerNormal_3a)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_3a extends BitmapAsset {
}
}//package com.hito
Section 178
//Player_ImgPlayerNormal_3b (com.hito.Player_ImgPlayerNormal_3b)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_3b extends BitmapAsset {
}
}//package com.hito
Section 179
//Player_ImgPlayerNormal_3c (com.hito.Player_ImgPlayerNormal_3c)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_3c extends BitmapAsset {
}
}//package com.hito
Section 180
//Player_ImgPlayerNormal_3d (com.hito.Player_ImgPlayerNormal_3d)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_3d extends BitmapAsset {
}
}//package com.hito
Section 181
//Player_ImgPlayerNormal_3e (com.hito.Player_ImgPlayerNormal_3e)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_3e extends BitmapAsset {
}
}//package com.hito
Section 182
//Player_ImgPlayerNormal_3f (com.hito.Player_ImgPlayerNormal_3f)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_3f extends BitmapAsset {
}
}//package com.hito
Section 183
//Player_ImgPlayerNormal_4a (com.hito.Player_ImgPlayerNormal_4a)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_4a extends BitmapAsset {
}
}//package com.hito
Section 184
//Player_ImgPlayerNormal_4b (com.hito.Player_ImgPlayerNormal_4b)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_4b extends BitmapAsset {
}
}//package com.hito
Section 185
//Player_ImgPlayerNormal_4c (com.hito.Player_ImgPlayerNormal_4c)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_4c extends BitmapAsset {
}
}//package com.hito
Section 186
//Player_ImgPlayerNormal_4d (com.hito.Player_ImgPlayerNormal_4d)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_4d extends BitmapAsset {
}
}//package com.hito
Section 187
//Player_ImgPlayerNormal_4e (com.hito.Player_ImgPlayerNormal_4e)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_4e extends BitmapAsset {
}
}//package com.hito
Section 188
//Player_ImgPlayerNormal_4f (com.hito.Player_ImgPlayerNormal_4f)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_4f extends BitmapAsset {
}
}//package com.hito
Section 189
//Player_ImgPlayerNormal_5a (com.hito.Player_ImgPlayerNormal_5a)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_5a extends BitmapAsset {
}
}//package com.hito
Section 190
//Player_ImgPlayerNormal_5b (com.hito.Player_ImgPlayerNormal_5b)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_5b extends BitmapAsset {
}
}//package com.hito
Section 191
//Player_ImgPlayerNormal_5c (com.hito.Player_ImgPlayerNormal_5c)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_5c extends BitmapAsset {
}
}//package com.hito
Section 192
//Player_ImgPlayerNormal_5d (com.hito.Player_ImgPlayerNormal_5d)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_5d extends BitmapAsset {
}
}//package com.hito
Section 193
//Player_ImgPlayerNormal_5e (com.hito.Player_ImgPlayerNormal_5e)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_5e extends BitmapAsset {
}
}//package com.hito
Section 194
//Player_ImgPlayerNormal_5f (com.hito.Player_ImgPlayerNormal_5f)
package com.hito {
import mx.core.*;
public class Player_ImgPlayerNormal_5f extends BitmapAsset {
}
}//package com.hito
Section 195
//Player_ImgSpark_a (com.hito.Player_ImgSpark_a)
package com.hito {
import mx.core.*;
public class Player_ImgSpark_a extends BitmapAsset {
}
}//package com.hito
Section 196
//Player_ImgSpark_b (com.hito.Player_ImgSpark_b)
package com.hito {
import mx.core.*;
public class Player_ImgSpark_b extends BitmapAsset {
}
}//package com.hito
Section 197
//Player_ImgSpark_c (com.hito.Player_ImgSpark_c)
package com.hito {
import mx.core.*;
public class Player_ImgSpark_c extends BitmapAsset {
}
}//package com.hito
Section 198
//Player_ImgSpark_d (com.hito.Player_ImgSpark_d)
package com.hito {
import mx.core.*;
public class Player_ImgSpark_d extends BitmapAsset {
}
}//package com.hito
Section 199
//Player_ImgSpark_e (com.hito.Player_ImgSpark_e)
package com.hito {
import mx.core.*;
public class Player_ImgSpark_e extends BitmapAsset {
}
}//package com.hito
Section 200
//Player_Snd_anjlog (com.hito.Player_Snd_anjlog)
package com.hito {
import mx.core.*;
public class Player_Snd_anjlog extends SoundAsset {
}
}//package com.hito
Section 201
//Player_Snd_kena (com.hito.Player_Snd_kena)
package com.hito {
import mx.core.*;
public class Player_Snd_kena extends SoundAsset {
}
}//package com.hito
Section 202
//Player_Snd_p1 (com.hito.Player_Snd_p1)
package com.hito {
import mx.core.*;
public class Player_Snd_p1 extends SoundAsset {
}
}//package com.hito
Section 203
//Player_Snd_p2 (com.hito.Player_Snd_p2)
package com.hito {
import mx.core.*;
public class Player_Snd_p2 extends SoundAsset {
}
}//package com.hito
Section 204
//Prajurit (com.hito.Prajurit)
package com.hito {
import org.flixel.*;
public class Prajurit extends FlxSprite {
private var ImgEnergiBG:Class;
private var Snd_p4:Class;
private var Snd_p5:Class;
private var _last_jump_counter:Number;// = 0
private var pra_xa:int;// = 0
private var pra_xb:int;// = 0
private var ini_prajurit_ke:int;// = 0
private var toleransi:int;// = 0
private var toleransi_lompat:int;// = 5
public var tipe_serangan_lakon:String;// = ""
private var _move_speed_prajurit:int;// = 100
public var _max_health_prajurit:int;// = 10
private var ini_musuh_ke:int;// = 0
private var Snd_p6:Class;
private var _jump_power_prajurit:int;// = 550
private var toleransi_mulai_nyerang:int;// = 30
private var energi_prajurit:Number;
private var ada_lakon_di_jalan:Boolean;// = false
private var hitung_posisi_terakhir:int;// = 0
private var peluang_mulai_nyerang:int;
private var ada_spesial_di_jalan:Boolean;// = false
private var posisi_terakhir:int;// = 0
private var sudah_buat_energi:Boolean;// = false
private var _last_jump:Number;// = 25
private var maksimal_posisi_terakhir:int;// = 50
public var _hurt_counter_prajurit:Number;// = 0
public var dari_pintu:Boolean;// = false
private var _sparks:FlxEmitter;
public var bisa_dilukai:Boolean;// = true
private var nama_musuh:FlxText;
private var i:int;// = 0
private var velocity_x_awal:int;// = 50
private var energi_BG:FlxSprite;
public var _attack_counter_prajurit:Number;// = 0
private var Snd_p1:Class;
private var Snd_p2:Class;
private var Snd_p3:Class;
private var ImgSpark:Class;
private var ImgEnergi:Class;
private var energi_prajurit_bar:FlxSprite;
private var energi_mungsuh:Number;
public function Prajurit(ImgPrajuritNormal:Class, prajurit_ke:Number, musuh_ke:Number, ep:int, em:int, X:Number, Y:Number, xa:int, xb:int, dp:Boolean=false):void{
ImgSpark = Prajurit_ImgSpark;
ImgEnergi = Prajurit_ImgEnergi;
ImgEnergiBG = Prajurit_ImgEnergiBG;
Snd_p1 = Prajurit_Snd_p1;
Snd_p2 = Prajurit_Snd_p2;
Snd_p3 = Prajurit_Snd_p3;
Snd_p4 = Prajurit_Snd_p4;
Snd_p5 = Prajurit_Snd_p5;
Snd_p6 = Prajurit_Snd_p6;
peluang_mulai_nyerang = ((0.033 / FlxG.elapsed) * 30);
super(X, Y);
velocity_x_awal = (velocity_x_awal + (Math.random() * 5));
dari_pintu = dp;
ini_musuh_ke = musuh_ke;
ini_prajurit_ke = prajurit_ke;
if (prajurit_ke == -1){
ini_musuh_ke = musuh_ke;
peluang_mulai_nyerang = (peluang_mulai_nyerang - 5);
};
if (ep == -1){
energi_mungsuh = em;
buatEnergi(Variabel[(("musuh_" + ini_musuh_ke) + "_energi_awal")], energi_mungsuh);
};
if (musuh_ke == -1){
ini_prajurit_ke = prajurit_ke;
};
if (em == -1){
energi_prajurit = ep;
buatEnergi(Variabel.energi_prajurit_awal, energi_prajurit);
};
pra_xa = xa;
pra_xb = xb;
loadGraphic(ImgPrajuritNormal, true, true, 60, 60);
acceleration.y = 700;
maxVelocity.x = velocity_x_awal;
maxVelocity.y = 450;
drag.x = 200;
width = 36;
height = 55;
offset.x = 10;
offset.y = 5;
addAnimation("normal", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], ((0.033 / FlxG.elapsed) * 10));
addAnimation("jump", [16]);
addAnimation("attack", [10, 11, 12, 13, 14, 15], ((0.033 / FlxG.elapsed) * 15), false);
addAnimation("stopped", [8]);
addAnimation("hurt", [17, 18], ((0.033 / FlxG.elapsed) * 5));
if (prajurit_ke == -1){
facing = Variabel[(("musuh_" + ini_musuh_ke) + "_hadap")];
} else {
facing = Variabel.prajurit_hadap[ini_prajurit_ke];
};
}
override public function hurt(Damage:Number):void{
if (bisa_dilukai){
_hurt_counter_prajurit = 1;
if (Variabel.sedang_super){
Damage = (Damage * 2);
};
if (ini_prajurit_ke == -1){
energi_mungsuh = (energi_mungsuh - (Damage / 1.5));
} else {
energi_prajurit = (energi_prajurit - Damage);
};
switch (tipe_serangan_lakon){
case "q":
FlxG.play(Snd_p1, 0.25);
break;
case "w":
FlxG.play(Snd_p2, 0.25);
break;
case "e":
FlxG.play(Snd_p3, 0.25);
break;
case "a":
FlxG.play(Snd_p4, 0.25);
break;
case "s":
FlxG.play(Snd_p5, 0.25);
break;
case "d":
FlxG.play(Snd_p6, 0.25);
break;
default:
FlxG.play(Snd_p6, 0.25);
break;
};
bisa_dilukai = false;
};
}
override public function update():void{
if (!sudah_buat_energi){
if (ini_prajurit_ke == -1){
buatEnergi(Variabel[(("musuh_" + ini_musuh_ke) + "_energi_awal")], energi_mungsuh);
} else {
buatEnergi(Variabel.energi_prajurit_awal, energi_prajurit);
};
sudah_buat_energi = true;
} else {
if (ini_prajurit_ke == -1){
nama_musuh.x = (x - 298);
nama_musuh.y = (y - 30);
energi_BG.x = (x + (20 - ((Variabel[(("musuh_" + ini_musuh_ke) + "_energi_awal")] * 5) / 2)));
energi_BG.y = (y - 10);
energi_prajurit_bar.scale.x = ((energi_mungsuh * 100) * 0.05);
energi_prajurit_bar.x = (energi_BG.x + 1);
energi_prajurit_bar.y = (energi_BG.y + 1);
} else {
energi_BG.x = (x + (20 - ((Variabel.energi_prajurit_awal * 5) / 2)));
energi_BG.y = (y - 10);
energi_prajurit_bar.scale.x = ((energi_prajurit * 100) * 0.05);
energi_prajurit_bar.x = (energi_BG.x + 1);
energi_prajurit_bar.y = (energi_BG.y + 1);
};
};
if (ini_prajurit_ke == -1){
if (energi_mungsuh <= 0){
dead = true;
energi_BG.exists = false;
energi_prajurit_bar.exists = false;
Variabel[(("musuh_" + ini_musuh_ke) + "_mati")] = true;
};
};
if (ini_musuh_ke == -1){
if (energi_prajurit <= 0){
dead = true;
energi_BG.exists = false;
energi_prajurit_bar.exists = false;
Variabel.prajurit_mati[ini_prajurit_ke] = true;
};
};
if (dead){
if (finished){
exists = false;
cling();
if (ini_prajurit_ke == -1){
nama_musuh.exists = false;
} else {
Variabel.total_prajurit_yang_diijinkan++;
};
Variabel.jumlah_pembunuhan++;
} else {
super.update();
};
return;
} else {
if (_attack_counter_prajurit > 0){
_attack_counter_prajurit = (_attack_counter_prajurit - (FlxG.elapsed * 3));
} else {
if (_hurt_counter_prajurit > 0){
_hurt_counter_prajurit = (_hurt_counter_prajurit - (FlxG.elapsed * 3));
energi_BG.visible = true;
energi_prajurit_bar.visible = true;
} else {
bisa_dilukai = true;
energi_BG.visible = false;
energi_prajurit_bar.visible = false;
ada_lakon_di_jalan = false;
i = Variabel.so.data.character_terpilih;
if (!ada_lakon_di_jalan){
if (Variabel[(("karakter_" + i) + "_tile_y")] == y){
if (Variabel[(("karakter_" + i) + "_tile_x")] < x){
ada_lakon_di_jalan = true;
facing = LEFT;
acceleration.x = -(drag.x);
} else {
if (Variabel[(("karakter_" + i) + "_tile_x")] > x){
ada_lakon_di_jalan = true;
facing = RIGHT;
acceleration.x = drag.x;
};
};
if (Math.abs((x - Variabel[(("karakter_" + i) + "_tile_x")])) < toleransi_mulai_nyerang){
if (_hurt_counter_prajurit <= 0){
if ((Math.random() * peluang_mulai_nyerang) < 5){
_attack_counter_prajurit = 1;
play("attack");
};
velocity.x = 0;
};
};
if (Variabel[(("karakter_" + i) + "_serangan_atas")]){
if (Math.abs((x - Variabel[(("karakter_" + i) + "_tile_x")])) < 100){
if (_hurt_counter_prajurit <= 0){
if (facing == 0){
hurt((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10));
velocity.x = ((Math.random() * 50) + 50);
velocity.y = (-1 * ((Math.random() * 250) + 150));
} else {
if (facing == 1){
hurt((Variabel.so.data[(("character_" + Variabel.so.data.character_terpilih) + "_level")] / 10));
velocity.x = (-1 * ((Math.random() * 50) + 50));
velocity.y = (-1 * ((Math.random() * 250) + 150));
};
};
};
};
};
};
};
ada_spesial_di_jalan = false;
i = 1;
while (i <= 3) {
if (!ada_spesial_di_jalan){
if (Variabel[(("special_" + i) + "_tile_y")] == y){
if (!Variabel[(("special_" + i) + "_mati")]){
if (Variabel[(("special_" + i) + "_tile_x")] < x){
ada_spesial_di_jalan = true;
facing = LEFT;
acceleration.x = -(drag.x);
} else {
if (Variabel[(("special_" + i) + "_tile_x")] > x){
ada_spesial_di_jalan = true;
facing = RIGHT;
acceleration.x = drag.x;
};
};
if (Math.abs((x - Variabel[(("special_" + i) + "_tile_x")])) < toleransi_mulai_nyerang){
if (_hurt_counter_prajurit <= 0){
if ((Math.random() * peluang_mulai_nyerang) < 5){
_attack_counter_prajurit = 1;
play("attack");
};
velocity.x = 0;
};
};
};
};
};
i++;
};
};
};
if (_hurt_counter_prajurit <= 0){
if (facing == LEFT){
if (((!(ada_lakon_di_jalan)) && (!(ada_spesial_di_jalan)))){
if (x < (pra_xa + toleransi)){
facing = RIGHT;
acceleration.x = drag.x;
};
};
} else {
if (facing == RIGHT){
if (((!(ada_lakon_di_jalan)) && (!(ada_spesial_di_jalan)))){
if (x > (pra_xb - toleransi)){
facing = LEFT;
acceleration.x = -(drag.x);
};
};
};
};
};
if (_hurt_counter_prajurit <= 0){
if (facing == LEFT){
acceleration.x = -(drag.x);
} else {
if (facing == RIGHT){
acceleration.x = drag.x;
};
};
};
if (_hurt_counter_prajurit <= 0){
if ((((posisi_terakhir < (x + toleransi_lompat))) && ((posisi_terakhir > (x - toleransi_lompat))))){
hitung_posisi_terakhir++;
} else {
hitung_posisi_terakhir = 0;
posisi_terakhir = this.x;
};
};
if (_last_jump_counter > 0){
_last_jump_counter--;
};
if (hitung_posisi_terakhir >= maksimal_posisi_terakhir){
if ((((velocity.y == 0)) && ((_last_jump_counter <= 0)))){
velocity.y = -(_jump_power_prajurit);
hitung_posisi_terakhir = 0;
_last_jump_counter = _last_jump;
};
};
if (_hurt_counter_prajurit > 0){
play("hurt");
} else {
if (_attack_counter_prajurit > 0){
play("attack");
} else {
if (velocity.y != 0){
play("jump");
} else {
maxVelocity.x = velocity_x_awal;
if (velocity.x == 0){
play("stopped");
} else {
play("normal");
};
};
};
};
super.update();
};
if (ini_prajurit_ke == -1){
Variabel[(("musuh_" + ini_musuh_ke) + "_tile_x")] = this.x;
Variabel[(("musuh_" + ini_musuh_ke) + "_tile_y")] = this.y;
Variabel[(("musuh_" + ini_musuh_ke) + "_berkurang")] = energi_mungsuh;
Variabel[(("musuh_" + ini_musuh_ke) + "_hadap")] = facing;
};
if (ini_musuh_ke == -1){
Variabel.prajurit_x[ini_prajurit_ke] = this.x;
Variabel.prajurit_y[ini_prajurit_ke] = this.y;
Variabel.energi_prajurit[ini_prajurit_ke] = energi_prajurit;
Variabel.prajurit_hadap[ini_prajurit_ke] = facing;
};
}
private function cling():void{
_sparks = (FlxG.state.add(new FlxEmitter(x, y)) as FlxEmitter);
_sparks.createSprites(ImgSpark, 10);
_sparks.setYSpeed(-100, 100);
_sparks.x = (x + 30);
_sparks.y = (y + 30);
_sparks.start(true, 1, 0);
}
private function buatEnergi(e_awal:int, e_sekarang:int):void{
if (ini_prajurit_ke == -1){
nama_musuh = (FlxG.state.add(new FlxText(x, y, 630, Variabel[(("musuh_" + ini_musuh_ke) + "_nama")])) as FlxText);
nama_musuh.setFormat(null, 8, 4291282887, "center");
};
if (dari_pintu){
if (energi_BG != null){
energi_BG.exists = false;
energi_prajurit_bar.exists = false;
};
};
energi_BG = (FlxG.state.add(new FlxSprite(x, y)) as FlxSprite);
energi_BG.loadGraphic(ImgEnergiBG, false, false, 1, 5);
energi_BG.origin.x = (energi_BG.origin.y = 0);
energi_BG.scale.x = (((e_awal * 100) * 0.05) + 2);
energi_prajurit_bar = (FlxG.state.add(new FlxSprite((x + 1), (y + 1))) as FlxSprite);
energi_prajurit_bar.loadGraphic(ImgEnergi, false, false, 1, 3);
energi_prajurit_bar.origin.x = (energi_BG.origin.y = 0);
energi_prajurit_bar.scale.x = ((e_sekarang * 100) * 0.05);
}
}
}//package com.hito
Section 205
//Prajurit_ImgEnergi (com.hito.Prajurit_ImgEnergi)
package com.hito {
import mx.core.*;
public class Prajurit_ImgEnergi extends BitmapAsset {
}
}//package com.hito
Section 206
//Prajurit_ImgEnergiBG (com.hito.Prajurit_ImgEnergiBG)
package com.hito {
import mx.core.*;
public class Prajurit_ImgEnergiBG extends BitmapAsset {
}
}//package com.hito
Section 207
//Prajurit_ImgSpark (com.hito.Prajurit_ImgSpark)
package com.hito {
import mx.core.*;
public class Prajurit_ImgSpark extends BitmapAsset {
}
}//package com.hito
Section 208
//Prajurit_Snd_p1 (com.hito.Prajurit_Snd_p1)
package com.hito {
import mx.core.*;
public class Prajurit_Snd_p1 extends SoundAsset {
}
}//package com.hito
Section 209
//Prajurit_Snd_p2 (com.hito.Prajurit_Snd_p2)
package com.hito {
import mx.core.*;
public class Prajurit_Snd_p2 extends SoundAsset {
}
}//package com.hito
Section 210
//Prajurit_Snd_p3 (com.hito.Prajurit_Snd_p3)
package com.hito {
import mx.core.*;
public class Prajurit_Snd_p3 extends SoundAsset {
}
}//package com.hito
Section 211
//Prajurit_Snd_p4 (com.hito.Prajurit_Snd_p4)
package com.hito {
import mx.core.*;
public class Prajurit_Snd_p4 extends SoundAsset {
}
}//package com.hito
Section 212
//Prajurit_Snd_p5 (com.hito.Prajurit_Snd_p5)
package com.hito {
import mx.core.*;
public class Prajurit_Snd_p5 extends SoundAsset {
}
}//package com.hito
Section 213
//Prajurit_Snd_p6 (com.hito.Prajurit_Snd_p6)
package com.hito {
import mx.core.*;
public class Prajurit_Snd_p6 extends SoundAsset {
}
}//package com.hito
Section 214
//Spesial (com.hito.Spesial)
package com.hito {
import org.flixel.*;
public class Spesial extends FlxSprite {
private var ImgEnergiBG:Class;
private var toleransi:int;// = 0
private var energi_BG:FlxSprite;
private var pra_xa:int;// = 0
private var pra_xb:int;// = 0
private var toleransi_lompat:int;// = 5
private var _move_speed_prajurit:int;// = 200
public var _max_health_prajurit:int;// = 10
private var _jump_power_prajurit:int;// = 550
private var posisi_terakhir:int;// = 0
private var sudah_buat_energi:Boolean;// = false
private var toleransi_jarak_suara:int;// = 400
private var _last_jump:Number;// = 25
private var Snd_kena:Class;
private var maksimal_posisi_terakhir:int;// = 50
public var _hurt_counter_prajurit:Number;// = 0
private var _sparks:FlxEmitter;
private var bisa_dilukai:Boolean;// = true
public var energi_spesial:Number;
private var nama_musuh:FlxText;
private var i:int;// = 0
public var ini_spesial_ke:int;// = 0
private var energi_prajurit_bar:FlxSprite;
public var _attack_counter_prajurit:Number;// = 0
private var ImgSpark:Class;
private var ImgEnergi:Class;
private var _last_jump_counter:Number;// = 0
private var hitung_posisi_terakhir:int;// = 0
public function Spesial(ImgSpesial:Class, spesial_ke:Number, es:int, X:Number, Y:Number, xa:int, xb:int):void{
ImgSpark = Spesial_ImgSpark;
ImgEnergi = Spesial_ImgEnergi;
ImgEnergiBG = Spesial_ImgEnergiBG;
Snd_kena = Spesial_Snd_kena;
super(X, Y);
ini_spesial_ke = spesial_ke;
energi_spesial = es;
pra_xa = xa;
pra_xb = xb;
loadGraphic(ImgSpesial, true, true, 60, 60);
acceleration.y = 500;
maxVelocity.x = 50;
maxVelocity.y = 350;
drag.x = 125;
width = 36;
height = 55;
offset.x = 10;
offset.y = 5;
addAnimation("normal", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 10);
addAnimation("jump", [10]);
addAnimation("stopped", [8]);
addAnimation("hurt", [11, 12], 5);
facing = Variabel[(("spesial_" + ini_spesial_ke) + "_hadap")];
}
override public function hurt(Damage:Number):void{
if (bisa_dilukai){
_hurt_counter_prajurit = 1;
energi_spesial = (energi_spesial - Damage);
bisa_dilukai = false;
if (((((((((Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_tile_x")] + (toleransi_jarak_suara / 2)) > x)) && (((Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_tile_x")] - (toleransi_jarak_suara / 2)) < x)))) && (((Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_tile_y")] + (toleransi_jarak_suara / 2)) > y)))) && (((Variabel[(("karakter_" + Variabel.so.data.character_terpilih) + "_tile_y")] - (toleransi_jarak_suara / 2)) < y)))){
FlxG.play(Snd_kena, 0.75);
};
};
}
override public function update():void{
if (!sudah_buat_energi){
buatEnergi(Variabel[(("spesial_" + ini_spesial_ke) + "_energi_awal")], energi_spesial);
sudah_buat_energi = true;
} else {
nama_musuh.x = (x - 298);
nama_musuh.y = (y - 30);
energi_BG.x = (x + (20 - ((Variabel[(("spesial_" + ini_spesial_ke) + "_energi_awal")] * 5) / 2)));
energi_BG.y = (y - 10);
energi_prajurit_bar.scale.x = ((energi_spesial * 100) * 0.05);
energi_prajurit_bar.x = (energi_BG.x + 1);
energi_prajurit_bar.y = (energi_BG.y + 1);
energi_prajurit_bar.y = (energi_BG.y + 1);
};
if (energi_spesial <= 0){
dead = true;
energi_BG.exists = false;
energi_prajurit_bar.exists = false;
Variabel[(("special_" + ini_spesial_ke) + "_mati")] = true;
};
if (dead){
if (finished){
exists = false;
nama_musuh.exists = false;
cling();
} else {
super.update();
};
return;
} else {
if (_hurt_counter_prajurit > 0){
_hurt_counter_prajurit = (_hurt_counter_prajurit - (FlxG.elapsed * 3));
energi_BG.visible = true;
energi_prajurit_bar.visible = true;
} else {
bisa_dilukai = true;
energi_BG.visible = false;
energi_prajurit_bar.visible = false;
};
if (_hurt_counter_prajurit <= 0){
if (facing == LEFT){
if (x < (pra_xa + toleransi)){
facing = RIGHT;
velocity.x = (velocity.x + (_move_speed_prajurit * FlxG.elapsed));
};
} else {
if (facing == RIGHT){
if (x > (pra_xb - toleransi)){
facing = LEFT;
velocity.x = (velocity.x - (_move_speed_prajurit * FlxG.elapsed));
};
};
};
if (facing == LEFT){
velocity.x = (velocity.x - (_move_speed_prajurit * FlxG.elapsed));
} else {
if (facing == RIGHT){
velocity.x = (velocity.x + (_move_speed_prajurit * FlxG.elapsed));
};
};
if ((((posisi_terakhir < (x + toleransi_lompat))) && ((posisi_terakhir > (x - toleransi_lompat))))){
hitung_posisi_terakhir++;
} else {
hitung_posisi_terakhir = 0;
posisi_terakhir = this.x;
};
};
if (_last_jump_counter > 0){
_last_jump_counter--;
};
if (hitung_posisi_terakhir >= maksimal_posisi_terakhir){
if ((((velocity.y == 0)) && ((_last_jump_counter <= 0)))){
velocity.y = -(_jump_power_prajurit);
hitung_posisi_terakhir = 0;
_last_jump_counter = _last_jump;
};
};
if (_hurt_counter_prajurit > 0){
play("hurt");
} else {
if (_attack_counter_prajurit > 0){
play("attack");
} else {
if (velocity.y != 0){
play("jump");
} else {
if (velocity.x == 0){
play("stopped");
} else {
play("normal");
};
};
};
};
super.update();
};
Variabel[(("special_" + ini_spesial_ke) + "_tile_x")] = this.x;
Variabel[(("special_" + ini_spesial_ke) + "_tile_y")] = this.y;
Variabel[(("spesial_" + ini_spesial_ke) + "_berkurang")] = energi_spesial;
Variabel[(("spesial_" + ini_spesial_ke) + "_hadap")] = facing;
}
private function cling():void{
_sparks = (FlxG.state.add(new FlxEmitter(x, y)) as FlxEmitter);
_sparks.createSprites(ImgSpark, 10);
_sparks.setYSpeed(-100, 100);
_sparks.x = (x + 30);
_sparks.y = (y + 30);
_sparks.start(true, 1, 0);
}
private function buatEnergi(e_awal:int, e_sekarang:int):void{
nama_musuh = (FlxG.state.add(new FlxText(x, y, 630, Variabel[(("special_" + ini_spesial_ke) + "_nama")])) as FlxText);
nama_musuh.setFormat(null, 8, 4291282887, "center");
energi_BG = (FlxG.state.add(new FlxSprite(x, y)) as FlxSprite);
energi_BG.loadGraphic(ImgEnergiBG, false, false, 1, 5);
energi_BG.origin.x = (energi_BG.origin.y = 0);
energi_BG.scale.x = (((e_awal * 100) * 0.05) + 2);
energi_prajurit_bar = (FlxG.state.add(new FlxSprite((x + 1), (y + 1))) as FlxSprite);
energi_prajurit_bar.loadGraphic(ImgEnergi, false, false, 1, 3);
energi_prajurit_bar.origin.x = (energi_BG.origin.y = 0);
energi_prajurit_bar.scale.x = ((e_sekarang * 100) * 0.05);
}
}
}//package com.hito
Section 215
//Spesial_ImgEnergi (com.hito.Spesial_ImgEnergi)
package com.hito {
import mx.core.*;
public class Spesial_ImgEnergi extends BitmapAsset {
}
}//package com.hito
Section 216
//Spesial_ImgEnergiBG (com.hito.Spesial_ImgEnergiBG)
package com.hito {
import mx.core.*;
public class Spesial_ImgEnergiBG extends BitmapAsset {
}
}//package com.hito
Section 217
//Spesial_ImgSpark (com.hito.Spesial_ImgSpark)
package com.hito {
import mx.core.*;
public class Spesial_ImgSpark extends BitmapAsset {
}
}//package com.hito
Section 218
//Spesial_Snd_kena (com.hito.Spesial_Snd_kena)
package com.hito {
import mx.core.*;
public class Spesial_Snd_kena extends SoundAsset {
}
}//package com.hito
Section 219
//Sponsor (com.hito.Sponsor)
package com.hito {
import org.flixel.*;
import flash.net.*;
public class Sponsor extends FlxState {
private var GambarBG:FlxSprite;
private var request:URLRequest;
private var mulai_hilang:Boolean;// = false
private var tunggu_lihat:Number;// = 150
private var lebih:Boolean;// = false
private var tunggu_lihat2:Number;// = 100
private var counter_lama_fading:Number;// = 0
private var ImgGambarJudul:Class;
private var lama_fading:Number;// = 100
private var sponsor_logo:FlxSprite;
private var ImgGambarSponsor:Class;
private var tunggu_lihat2_nilai_awal:Number;
public function Sponsor():void{
ImgGambarSponsor = Sponsor_ImgGambarSponsor;
ImgGambarJudul = Sponsor_ImgGambarJudul;
tunggu_lihat2_nilai_awal = tunggu_lihat2;
request = new URLRequest("http://www.ichwillspielen.com/?index=37");
super();
var compareDates:Function = function (tahun_limit:int, bulan_limit:int, tanggal_limit:int):Boolean{
var jd:Date = new Date();
var zd:Date = new Date(tahun_limit, bulan_limit, tanggal_limit);
if (zd > jd){
return (false);
};
return (true);
};
FlxG.volume = 0.8;
GambarBG = new FlxSprite(0, 0, ImgGambarJudul);
GambarBG.alpha = 0;
add(GambarBG);
sponsor_logo = new FlxSprite(160, 190);
sponsor_logo.loadGraphic(ImgGambarSponsor, true, false, 350, 87);
add(sponsor_logo);
var tanggal_limit = 30;
var bulan_limit = 8;
var tahun_limit = 2010;
if (compareDates(tahun_limit, bulan_limit, tanggal_limit)){
lebih = true;
};
if (!lebih){
};
}
override public function update():void{
if (lebih){
if (FlxG.mouse.justPressed()){
navigateToURL(request, "_blank");
};
if (((mouseOn(sponsor_logo)) && (FlxG.mouse.justPressed()))){
};
if (!mulai_hilang){
if (counter_lama_fading < lama_fading){
counter_lama_fading++;
sponsor_logo.alpha = (counter_lama_fading / lama_fading);
} else {
mulai_hilang = true;
};
} else {
if (tunggu_lihat > 0){
tunggu_lihat--;
} else {
if (counter_lama_fading > 0){
counter_lama_fading--;
sponsor_logo.alpha = (counter_lama_fading / lama_fading);
} else {
if (tunggu_lihat2 > 0){
tunggu_lihat2--;
GambarBG.alpha = ((tunggu_lihat2_nilai_awal - tunggu_lihat2) / tunggu_lihat2_nilai_awal);
} else {
FlxG.flash.start(4294967295, 1, onEksekusi);
};
};
};
};
} else {
FlxG.state = new MenuState();
};
super.update();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
private function onEksekusi():void{
FlxG.state = new MenuState();
}
}
}//package com.hito
Section 220
//Sponsor_ImgGambarJudul (com.hito.Sponsor_ImgGambarJudul)
package com.hito {
import mx.core.*;
public class Sponsor_ImgGambarJudul extends BitmapAsset {
}
}//package com.hito
Section 221
//Sponsor_ImgGambarSponsor (com.hito.Sponsor_ImgGambarSponsor)
package com.hito {
import mx.core.*;
public class Sponsor_ImgGambarSponsor extends BitmapAsset {
}
}//package com.hito
Section 222
//StageSelector (com.hito.StageSelector)
package com.hito {
import org.flixel.*;
public class StageSelector extends FlxState {
private var ImgStage5:Class;
private var sedang_tanya_reset:Boolean;// = false
private var Sndpopup:Class;
private var ImgStage8:Class;
private var Snd_pilih:Class;
private var ImgBgStage:Class;
private var sudah_milih:Boolean;// = false
private var Snd_pil:Class;
private var tombol_stage_1:FlxSprite;
private var tombol_stage_2:FlxSprite;
private var tombol_stage_3:FlxSprite;
private var tombol_stage_4:FlxSprite;
private var tombol_stage_5:FlxSprite;
private var tombol_stage_6:FlxSprite;
private var tombol_stage_7:FlxSprite;
private var tombol_stage_8:FlxSprite;
private var tombol_stage_9:FlxSprite;
private var Snd_cancel:Class;
private var ImgTombolBack:Class;
private var tombol_back:FlxSprite;
private var gambar_reset:FlxSprite;
private var Snd_geser:Class;
private var tombol_stage_10:FlxSprite;
private var starting_score:FlxText;
private var i:Number;// = 0
private var ImgReset:Class;
private var ImgStage1:Class;
private var ImgStage2:Class;
private var ImgStage4:Class;
private var ImgStage10:Class;
private var ImgStage6:Class;
private var ImgStage7:Class;
private var ImgStage9:Class;
private var ImgStage3:Class;
public function StageSelector(){
var GambarBG:FlxSprite;
var txt:FlxText;
ImgBgStage = StageSelector_ImgBgStage;
ImgStage1 = StageSelector_ImgStage1;
ImgStage2 = StageSelector_ImgStage2;
ImgStage3 = StageSelector_ImgStage3;
ImgStage4 = StageSelector_ImgStage4;
ImgStage5 = StageSelector_ImgStage5;
ImgStage6 = StageSelector_ImgStage6;
ImgStage7 = StageSelector_ImgStage7;
ImgStage8 = StageSelector_ImgStage8;
ImgStage9 = StageSelector_ImgStage9;
ImgStage10 = StageSelector_ImgStage10;
ImgReset = StageSelector_ImgReset;
Snd_geser = StageSelector_Snd_geser;
Snd_pilih = StageSelector_Snd_pilih;
Snd_cancel = StageSelector_Snd_cancel;
Sndpopup = StageSelector_Sndpopup;
Snd_pil = StageSelector_Snd_pil;
ImgTombolBack = StageSelector_ImgTombolBack;
super();
FlxG.playMusic(Snd_pil);
Variabel.dari_menang = false;
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
txt = new FlxText(20, 30, 630, "SCENARIO SELECTION");
txt.setFormat(null, 10, 4294044826, "left");
add(txt);
tombol_stage_1 = new FlxSprite(20, 70);
tombol_stage_1.loadGraphic(ImgStage1, true, false, 400, 20);
tombol_stage_1.frame = 0;
add(tombol_stage_1);
tombol_stage_2 = new FlxSprite(20, 95);
tombol_stage_2.loadGraphic(ImgStage2, true, false, 400, 20);
tombol_stage_2.frame = 0;
add(tombol_stage_2);
tombol_stage_3 = new FlxSprite(20, 120);
tombol_stage_3.loadGraphic(ImgStage3, true, false, 400, 20);
tombol_stage_3.frame = 0;
add(tombol_stage_3);
tombol_stage_4 = new FlxSprite(20, 145);
tombol_stage_4.loadGraphic(ImgStage4, true, false, 400, 20);
tombol_stage_4.frame = 0;
add(tombol_stage_4);
tombol_stage_5 = new FlxSprite(20, 170);
tombol_stage_5.loadGraphic(ImgStage5, true, false, 400, 20);
tombol_stage_5.frame = 0;
add(tombol_stage_5);
tombol_stage_6 = new FlxSprite(20, 195);
tombol_stage_6.loadGraphic(ImgStage6, true, false, 400, 20);
tombol_stage_6.frame = 0;
add(tombol_stage_6);
tombol_stage_7 = new FlxSprite(20, 220);
tombol_stage_7.loadGraphic(ImgStage7, true, false, 400, 20);
tombol_stage_7.frame = 0;
add(tombol_stage_7);
tombol_stage_8 = new FlxSprite(20, 245);
tombol_stage_8.loadGraphic(ImgStage8, true, false, 400, 20);
tombol_stage_8.frame = 0;
add(tombol_stage_8);
tombol_stage_9 = new FlxSprite(20, 270);
tombol_stage_9.loadGraphic(ImgStage9, true, false, 400, 20);
tombol_stage_9.frame = 0;
add(tombol_stage_9);
tombol_stage_10 = new FlxSprite(20, 295);
tombol_stage_10.loadGraphic(ImgStage10, true, false, 400, 20);
tombol_stage_10.frame = 0;
add(tombol_stage_10);
updatePosisiTombol();
gambar_reset = new FlxSprite(180, 135);
gambar_reset.loadGraphic(ImgReset, true, false, 281, 145);
gambar_reset.alpha = 0;
add(gambar_reset);
starting_score = new FlxText(20, 335, 630, "");
starting_score.setFormat(null, 8, 4292730333, "left");
add(starting_score);
txt = new FlxText(-15, 447, 630, "UP/DOWN : Move, X : Select, R : Reset All Data, Z : Back");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_back = new FlxSprite(580, 20);
tombol_back.loadGraphic(ImgTombolBack, true, false, 40, 40);
tombol_back.frame = 0;
add(tombol_back);
updateSkor();
}
private function onKembaliLagi():void{
FlxG.state = new StageSelector();
}
private function updatePosisiTombol():void{
i = 1;
while (i <= 10) {
this[("tombol_stage_" + i)].frame = 0;
this[("tombol_stage_" + i)].alpha = 0.35;
if (Variabel.so.data[(("stage_" + i) + "_boleh")]){
this[("tombol_stage_" + i)].alpha = 0.75;
};
i++;
};
this[("tombol_stage_" + Variabel.skenario_terpilih)].frame = 1;
this[("tombol_stage_" + Variabel.skenario_terpilih)].alpha = 1;
}
override public function update():void{
if (!sudah_milih){
if (!sedang_tanya_reset){
if (mouseOn(tombol_back)){
tombol_back.frame = 1;
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keMenuUtama);
};
} else {
tombol_back.frame = 0;
};
if (mouseOn(tombol_stage_1)){
if (Variabel.so.data[(("stage_" + 1) + "_boleh")]){
Variabel.skenario_terpilih = 1;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (mouseOn(tombol_stage_2)){
if (Variabel.so.data[(("stage_" + 2) + "_boleh")]){
Variabel.skenario_terpilih = 2;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (mouseOn(tombol_stage_3)){
if (Variabel.so.data[(("stage_" + 3) + "_boleh")]){
Variabel.skenario_terpilih = 3;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (mouseOn(tombol_stage_4)){
if (Variabel.so.data[(("stage_" + 4) + "_boleh")]){
Variabel.skenario_terpilih = 4;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (mouseOn(tombol_stage_5)){
if (Variabel.so.data[(("stage_" + 5) + "_boleh")]){
Variabel.skenario_terpilih = 5;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (mouseOn(tombol_stage_6)){
if (Variabel.so.data[(("stage_" + 6) + "_boleh")]){
Variabel.skenario_terpilih = 6;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (mouseOn(tombol_stage_7)){
if (Variabel.so.data[(("stage_" + 7) + "_boleh")]){
Variabel.skenario_terpilih = 7;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (mouseOn(tombol_stage_8)){
if (Variabel.so.data[(("stage_" + 8) + "_boleh")]){
Variabel.skenario_terpilih = 8;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (mouseOn(tombol_stage_9)){
if (Variabel.so.data[(("stage_" + 9) + "_boleh")]){
Variabel.skenario_terpilih = 9;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (mouseOn(tombol_stage_10)){
if (Variabel.so.data[(("stage_" + 10) + "_boleh")]){
Variabel.skenario_terpilih = 10;
updatePosisiTombol();
updateSkor();
if (FlxG.mouse.justPressed()){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
};
};
};
if (FlxG.keys.justPressed("UP")){
if (Variabel.skenario_terpilih > 1){
Variabel.skenario_terpilih--;
FlxG.play(Snd_geser);
};
updatePosisiTombol();
updateSkor();
};
if (FlxG.keys.justPressed("DOWN")){
if (Variabel.skenario_terpilih < 10){
if (Variabel.so.data[(("stage_" + (Variabel.skenario_terpilih + 1)) + "_boleh")]){
Variabel.skenario_terpilih++;
};
FlxG.play(Snd_geser);
};
updatePosisiTombol();
updateSkor();
};
if (FlxG.keys.justPressed("R")){
FlxG.play(Sndpopup);
gambar_reset.alpha = 1;
sedang_tanya_reset = true;
};
};
};
if (FlxG.keys.justPressed("X")){
if (!sedang_tanya_reset){
FlxG.play(Snd_pilih);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onEksekusi);
sudah_milih = true;
} else {
FlxG.play(Snd_pilih);
gambar_reset.alpha = 0;
sedang_tanya_reset = false;
Variabel.resetData();
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, onKembaliLagi);
sudah_milih = true;
};
};
if (FlxG.keys.justPressed("Z")){
if (!sedang_tanya_reset){
FlxG.play(Snd_cancel);
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keMenuUtama);
} else {
FlxG.play(Snd_cancel);
gambar_reset.alpha = 0;
sedang_tanya_reset = false;
};
};
super.update();
}
private function onEksekusi():void{
FlxG.state = new Film2State();
}
public function updateSkor():void{
if (Variabel.skenario_terpilih > 1){
if (Variabel.so.data[("skor_total_" + (Variabel.skenario_terpilih - 1))] <= 0){
starting_score.text = "Starting Score : -";
} else {
starting_score.text = ("Starting Score : " + String(Variabel.so.data[("skor_total_" + (Variabel.skenario_terpilih - 1))]));
};
} else {
starting_score.text = "Starting Score : -";
};
if (Variabel.so.data[("skor_total_" + Variabel.skenario_terpilih)] <= 0){
starting_score.text = (starting_score.text + "\n\nBest Stage Score : -");
} else {
starting_score.text = (starting_score.text + ("\n\nBest Stage Score : " + String(Variabel.so.data[("skor_total_" + Variabel.skenario_terpilih)])));
};
}
private function keMenuUtama():void{
Variabel.lagu_meh_diganti = true;
FlxG.state = new MenuState();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
}
}//package com.hito
Section 223
//StageSelector_ImgBgStage (com.hito.StageSelector_ImgBgStage)
package com.hito {
import mx.core.*;
public class StageSelector_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 224
//StageSelector_ImgReset (com.hito.StageSelector_ImgReset)
package com.hito {
import mx.core.*;
public class StageSelector_ImgReset extends BitmapAsset {
}
}//package com.hito
Section 225
//StageSelector_ImgStage1 (com.hito.StageSelector_ImgStage1)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage1 extends BitmapAsset {
}
}//package com.hito
Section 226
//StageSelector_ImgStage10 (com.hito.StageSelector_ImgStage10)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage10 extends BitmapAsset {
}
}//package com.hito
Section 227
//StageSelector_ImgStage2 (com.hito.StageSelector_ImgStage2)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage2 extends BitmapAsset {
}
}//package com.hito
Section 228
//StageSelector_ImgStage3 (com.hito.StageSelector_ImgStage3)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage3 extends BitmapAsset {
}
}//package com.hito
Section 229
//StageSelector_ImgStage4 (com.hito.StageSelector_ImgStage4)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage4 extends BitmapAsset {
}
}//package com.hito
Section 230
//StageSelector_ImgStage5 (com.hito.StageSelector_ImgStage5)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage5 extends BitmapAsset {
}
}//package com.hito
Section 231
//StageSelector_ImgStage6 (com.hito.StageSelector_ImgStage6)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage6 extends BitmapAsset {
}
}//package com.hito
Section 232
//StageSelector_ImgStage7 (com.hito.StageSelector_ImgStage7)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage7 extends BitmapAsset {
}
}//package com.hito
Section 233
//StageSelector_ImgStage8 (com.hito.StageSelector_ImgStage8)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage8 extends BitmapAsset {
}
}//package com.hito
Section 234
//StageSelector_ImgStage9 (com.hito.StageSelector_ImgStage9)
package com.hito {
import mx.core.*;
public class StageSelector_ImgStage9 extends BitmapAsset {
}
}//package com.hito
Section 235
//StageSelector_ImgTombolBack (com.hito.StageSelector_ImgTombolBack)
package com.hito {
import mx.core.*;
public class StageSelector_ImgTombolBack extends BitmapAsset {
}
}//package com.hito
Section 236
//StageSelector_Snd_cancel (com.hito.StageSelector_Snd_cancel)
package com.hito {
import mx.core.*;
public class StageSelector_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 237
//StageSelector_Snd_geser (com.hito.StageSelector_Snd_geser)
package com.hito {
import mx.core.*;
public class StageSelector_Snd_geser extends SoundAsset {
}
}//package com.hito
Section 238
//StageSelector_Snd_pil (com.hito.StageSelector_Snd_pil)
package com.hito {
import mx.core.*;
public class StageSelector_Snd_pil extends SoundAsset {
}
}//package com.hito
Section 239
//StageSelector_Snd_pilih (com.hito.StageSelector_Snd_pilih)
package com.hito {
import mx.core.*;
public class StageSelector_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 240
//StageSelector_Sndpopup (com.hito.StageSelector_Sndpopup)
package com.hito {
import mx.core.*;
public class StageSelector_Sndpopup extends SoundAsset {
}
}//package com.hito
Section 241
//SubMenu (com.hito.SubMenu)
package com.hito {
import org.flixel.*;
public class SubMenu extends FlxState {
private var ImgTombol1:Class;
private var ImgTombol3:Class;
private var ImgTombol5:Class;
private var ImgTombol2:Class;
private var ImgTombol4:Class;
private var Snd_geser:Class;
private var tombol_sub_menu_1:FlxSprite;
private var Sndpopup:Class;
private var tombol_sub_menu_4:FlxSprite;
private var ImgBgStage:Class;
private var sudah_milih:Boolean;// = false
private var sedang_tanya_reset:Boolean;// = false
private var tombol_sub_menu_2:FlxSprite;
private var tombol_sub_menu_3:FlxSprite;
private var i:Number;// = 0
private var Snd_cancel:Class;
private var ImgReset:Class;
private var ImgTombolBack:Class;
private var tombol_back:FlxSprite;
private var Snd_pilih:Class;
private var gambar_reset:FlxSprite;
public function SubMenu(){
var GambarBG:FlxSprite;
var txt:FlxText;
var txts:FlxText;
ImgBgStage = SubMenu_ImgBgStage;
ImgTombol1 = SubMenu_ImgTombol1;
ImgTombol2 = SubMenu_ImgTombol2;
ImgTombol3 = SubMenu_ImgTombol3;
ImgTombol4 = SubMenu_ImgTombol4;
ImgTombol5 = SubMenu_ImgTombol5;
ImgReset = SubMenu_ImgReset;
Snd_geser = SubMenu_Snd_geser;
Snd_pilih = SubMenu_Snd_pilih;
Snd_cancel = SubMenu_Snd_cancel;
Sndpopup = SubMenu_Sndpopup;
ImgTombolBack = SubMenu_ImgTombolBack;
super();
FlxG.mouse.show();
GambarBG = new FlxSprite(0, 0, ImgBgStage);
add(GambarBG);
txt = new FlxText(20, 30, 630, "MISSION PREPARATION");
txt.setFormat(null, 10, 4294044826, "left");
add(txt);
tombol_sub_menu_1 = new FlxSprite(20, 70);
tombol_sub_menu_1.loadGraphic(ImgTombol1, true, false, 400, 20);
tombol_sub_menu_1.frame = 0;
add(tombol_sub_menu_1);
tombol_sub_menu_2 = new FlxSprite(20, 95);
tombol_sub_menu_2.loadGraphic(ImgTombol2, true, false, 400, 20);
tombol_sub_menu_2.frame = 0;
add(tombol_sub_menu_2);
tombol_sub_menu_3 = new FlxSprite(20, 120);
tombol_sub_menu_3.loadGraphic(ImgTombol3, true, false, 400, 20);
tombol_sub_menu_3.frame = 0;
add(tombol_sub_menu_3);
if (Variabel.di_tengah_permainan){
tombol_sub_menu_4 = new FlxSprite(20, 165);
tombol_sub_menu_4.loadGraphic(ImgTombol5, true, false, 400, 20);
tombol_sub_menu_4.frame = 0;
add(tombol_sub_menu_4);
} else {
tombol_sub_menu_4 = new FlxSprite(20, 165);
tombol_sub_menu_4.loadGraphic(ImgTombol4, true, false, 400, 20);
tombol_sub_menu_4.frame = 0;
add(tombol_sub_menu_4);
};
updatePosisiTombol();
gambar_reset = new FlxSprite(180, 135);
gambar_reset.loadGraphic(ImgReset, true, false, 281, 145);
gambar_reset.alpha = 0;
add(gambar_reset);
txts = new FlxText(20, 447, 630, Variabel[("judul_keterangan_skenario_" + Variabel.skenario_terpilih)]);
txts.setFormat(null, 10, 4291413375, "left");
add(txts);
txt = new FlxText(-15, 447, 630, "UP/DOWN : Move, X : Select, Z : Back");
txt.setFormat(null, 10, 4291413375, "right");
add(txt);
tombol_back = new FlxSprite(580, 20);
tombol_back.loadGraphic(ImgTombolBack, true, false, 40, 40);
tombol_back.frame = 0;
add(tombol_back);
}
private function keSebelumnya():void{
FlxG.state = new StageSelector();
}
override public function update():void{
if (!sudah_milih){
if (mouseOn(tombol_back)){
tombol_back.frame = 1;
if (FlxG.mouse.justPressed()){
if (!sedang_tanya_reset){
FlxG.play(Sndpopup);
gambar_reset.alpha = 1;
sedang_tanya_reset = true;
sudah_milih = true;
} else {
FlxG.play(Snd_cancel);
gambar_reset.alpha = 0;
sedang_tanya_reset = false;
sudah_milih = false;
};
};
} else {
tombol_back.frame = 0;
};
if (!sedang_tanya_reset){
if (mouseOn(tombol_sub_menu_1)){
Variabel.sub_menu_terpilih = 1;
updatePosisiTombol();
if (FlxG.mouse.justPressed()){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keMisi);
sudah_milih = true;
};
};
if (mouseOn(tombol_sub_menu_2)){
Variabel.sub_menu_terpilih = 2;
updatePosisiTombol();
if (FlxG.mouse.justPressed()){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keCharDetail);
sudah_milih = true;
};
};
if (mouseOn(tombol_sub_menu_3)){
Variabel.sub_menu_terpilih = 3;
updatePosisiTombol();
if (FlxG.mouse.justPressed()){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, kePeta);
sudah_milih = true;
};
};
if (mouseOn(tombol_sub_menu_4)){
Variabel.sub_menu_terpilih = 4;
updatePosisiTombol();
if (FlxG.mouse.justPressed()){
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, kePermainan);
sudah_milih = true;
};
};
if (FlxG.keys.justPressed("UP")){
if (Variabel.sub_menu_terpilih > 1){
Variabel.sub_menu_terpilih--;
FlxG.play(Snd_geser);
};
updatePosisiTombol();
};
if (FlxG.keys.justPressed("DOWN")){
if (Variabel.sub_menu_terpilih < 4){
Variabel.sub_menu_terpilih++;
FlxG.play(Snd_geser);
};
updatePosisiTombol();
};
};
};
if (FlxG.keys.justPressed("X")){
if (!sedang_tanya_reset){
FlxG.play(Snd_pilih);
switch (Variabel.sub_menu_terpilih){
case 1:
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keMisi);
break;
case 2:
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keCharDetail);
break;
case 3:
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, kePeta);
break;
case 4:
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, kePermainan);
break;
};
sudah_milih = true;
} else {
FlxG.play(Snd_pilih);
gambar_reset.alpha = 0;
sedang_tanya_reset = false;
Variabel.resetData2();
FlxG.flash.start(4294967295, 0.5);
FlxG.fade.start(4278190080, 1, keSebelumnya);
sudah_milih = true;
};
};
if (FlxG.keys.justPressed("Z")){
if (!sedang_tanya_reset){
FlxG.play(Sndpopup);
gambar_reset.alpha = 1;
sedang_tanya_reset = true;
sudah_milih = true;
} else {
FlxG.play(Snd_cancel);
gambar_reset.alpha = 0;
sedang_tanya_reset = false;
sudah_milih = false;
};
};
super.update();
}
private function keCharDetail():void{
FlxG.state = new CharDetail();
}
private function mouseOn(_thisSprite:FlxSprite):Boolean{
if ((((mouseX >= _thisSprite.x)) && ((mouseX < (_thisSprite.x + _thisSprite.width))))){
if ((((mouseY >= _thisSprite.y)) && ((mouseY < (_thisSprite.y + _thisSprite.height))))){
return (true);
};
};
return (false);
}
private function updatePosisiTombol():void{
i = 1;
while (i <= 4) {
this[("tombol_sub_menu_" + i)].frame = 0;
this[("tombol_sub_menu_" + i)].alpha = 0.65;
i++;
};
this[("tombol_sub_menu_" + Variabel.sub_menu_terpilih)].frame = 1;
this[("tombol_sub_menu_" + Variabel.sub_menu_terpilih)].alpha = 1;
}
private function kePeta():void{
FlxG.state = new Peta();
}
private function kePermainan():void{
FlxG.state = new MainGame();
}
private function keMisi():void{
FlxG.state = new Misi();
}
}
}//package com.hito
Section 242
//SubMenu_ImgBgStage (com.hito.SubMenu_ImgBgStage)
package com.hito {
import mx.core.*;
public class SubMenu_ImgBgStage extends BitmapAsset {
}
}//package com.hito
Section 243
//SubMenu_ImgReset (com.hito.SubMenu_ImgReset)
package com.hito {
import mx.core.*;
public class SubMenu_ImgReset extends BitmapAsset {
}
}//package com.hito
Section 244
//SubMenu_ImgTombol1 (com.hito.SubMenu_ImgTombol1)
package com.hito {
import mx.core.*;
public class SubMenu_ImgTombol1 extends BitmapAsset {
}
}//package com.hito
Section 245
//SubMenu_ImgTombol2 (com.hito.SubMenu_ImgTombol2)
package com.hito {
import mx.core.*;
public class SubMenu_ImgTombol2 extends BitmapAsset {
}
}//package com.hito
Section 246
//SubMenu_ImgTombol3 (com.hito.SubMenu_ImgTombol3)
package com.hito {
import mx.core.*;
public class SubMenu_ImgTombol3 extends BitmapAsset {
}
}//package com.hito
Section 247
//SubMenu_ImgTombol4 (com.hito.SubMenu_ImgTombol4)
package com.hito {
import mx.core.*;
public class SubMenu_ImgTombol4 extends BitmapAsset {
}
}//package com.hito
Section 248
//SubMenu_ImgTombol5 (com.hito.SubMenu_ImgTombol5)
package com.hito {
import mx.core.*;
public class SubMenu_ImgTombol5 extends BitmapAsset {
}
}//package com.hito
Section 249
//SubMenu_ImgTombolBack (com.hito.SubMenu_ImgTombolBack)
package com.hito {
import mx.core.*;
public class SubMenu_ImgTombolBack extends BitmapAsset {
}
}//package com.hito
Section 250
//SubMenu_Snd_cancel (com.hito.SubMenu_Snd_cancel)
package com.hito {
import mx.core.*;
public class SubMenu_Snd_cancel extends SoundAsset {
}
}//package com.hito
Section 251
//SubMenu_Snd_geser (com.hito.SubMenu_Snd_geser)
package com.hito {
import mx.core.*;
public class SubMenu_Snd_geser extends SoundAsset {
}
}//package com.hito
Section 252
//SubMenu_Snd_pilih (com.hito.SubMenu_Snd_pilih)
package com.hito {
import mx.core.*;
public class SubMenu_Snd_pilih extends SoundAsset {
}
}//package com.hito
Section 253
//SubMenu_Sndpopup (com.hito.SubMenu_Sndpopup)
package com.hito {
import mx.core.*;
public class SubMenu_Sndpopup extends SoundAsset {
}
}//package com.hito
Section 254
//Variabel (com.hito.Variabel)
package com.hito {
import flash.net.*;
public class Variabel {
public static var karakter_10_serangan_atas:Boolean = false;
public static var karakter_3_hadap:int = 0;
public static var karakter_4_serangan_atas:Boolean = false;
public static var bonus_1:Boolean = true;
public static var musuh_5_nama:String = "Efal";
public static var bonus_3:Boolean = true;
public static var bonus_5:Boolean = true;
public static var judul_keterangan_skenario_10:String;
public static var bonus_7:Boolean = true;
public static var sedang_cipta_prajurit:Boolean = false;
public static var special_1_nama:String = "Head Master";
public static var musuh_3_tile_a:int;
public static var musuh_3_tile_b:int;
public static var bonus_8:Boolean = true;
public static var bonus_9:Boolean = true;
public static var bonus_2:Boolean = true;
public static var bonus_4:Boolean = true;
public static var bonus_6:Boolean = true;
public static var musuh_1_berkurang:int;
public static var musuh_3_tile_x:int;
public static var musuh_3_tile_y:int;
public static var karakter_2_tile_x:int;
public static var karakter_2_tile_y:int;
public static var spesial_3_berkurang:int;
public static var karakter_8_hadap:int = 0;
public static var waktu_menit:int;
public static var karakter_2_mati:Boolean = false;
public static var musuh_5_energi_awal:int;
public static var musuh_4_energi:int = 20;
public static var karakter_2_energi_sementara:int;
public static var musuh_4_berkurang:int;
public static var karakter_3_nama:String = "Ludoc";
public static var musuh_8_tile_a:int;
public static var musuh_8_tile_b:int;
public static var special_2_tile_a:int;
public static var special_2_tile_b:int;
public static var musuh_4_hadap:int = 0;
public static var musuh_8_tile_x:int;
public static var karakter_6_serangan_atas:Boolean = false;
public static var musuh_5_mati:Boolean = true;
public static var musuh_8_tile_y:int;
public static var special_2_tile_x:int;
public static var special_2_tile_y:int;
public static var special_1_mati:Boolean = true;
public static var karakter_4_energi_sementara:int;
public static var spesial_2_energi_awal:int;
public static var musuh_6_nama:String = "Bassawi";
public static var misi_skenario_1:String;
public static var misi_skenario_2:String;
public static var misi_skenario_3:String;
public static var misi_skenario_4:String;
public static var misi_skenario_5:String;
public static var misi_skenario_6:String;
public static var misi_skenario_7:String;
public static var misi_skenario_8:String;
public static var misi_skenario_9:String;
public static var sedang_super:Boolean = false;
public static var musuh_9_energi:int = 10;
public static var musuh_7_berkurang:int;
public static var karakter_2_hadap:int = 0;
public static var lebar_tinggi_peta_asli:int = 60;
public static var musuh_9_hadap:int = 0;
public static var jeda_pengeluaran:int = 250;
public static var musuh_2_energi_awal:int;
public static var special_2_nama:String = "Vice-Master";
public static var spesial_3_energi:int = 25;
public static var musuh_10_energi_awal:int;
public static var pintu_xb:Array = new Array();
public static var karakter_3_mati:Boolean = false;
public static var musuh_4_tile_a:int;
public static var musuh_4_tile_b:int;
public static var pintu_xa:Array = new Array();
public static var musuh_10_nama:String = "Jendral 10";
public static var karakter_7_hadap:int = 0;
public static var musuh_4_tile_x:int;
public static var musuh_4_tile_y:int;
public static var karakter_4_nama:String = "Futo";
public static var karakter_3_tile_x:int;
public static var keterangan_ending_1:String;
public static var keterangan_ending_2:String;
public static var karakter_3_tile_y:int;
public static var karakter_8_serangan_atas:Boolean = false;
public static var karakter_5_special_sementara:int;
public static var musuh_6_mati:Boolean = true;
public static var musuh_10_energi:int = 10;
public static var skenario_terpilih:Number = 1;
public static var special_2_mati:Boolean = true;
public static var musuh_5_energi:int = 30;
public static var karakter_1_serangan_atas:Boolean = false;
public static var musuh_3_hadap:int = 0;
public static var pintu_x:Array = new Array();
public static var keterangan_movement_10:String;
public static var pintu_hadap:Array = new Array();
public static var musuh_9_tile_b:int;
public static var special_3_nama:String = "Mr. X";
public static var musuh_10_hadap:int = 0;
public static var musuh_9_tile_a:int;
public static var musuh_7_energi_awal:int;
public static var special_3_tile_b:int;
public static var energi_prajurit_awal:int = 5;
public static var spesial_3_hadap:int = 0;
public static var musuh_7_nama:String = "Srags";
public static var special_3_tile_a:int;
public static var musuh_9_tile_y:int;
public static var pointer_hs_pos:int = 0;
public static var special_3_tile_x:int;
public static var musuh_9_tile_x:int;
public static var waktu_jam:int;
public static var special_3_tile_y:int;
public static var prajurit_hadap:Array = new Array();
public static var karakter_1_hadap:int = 0;
public static var keterangan_skenario_1:String;
public static var keterangan_skenario_2:String;
public static var keterangan_skenario_3:String;
public static var keterangan_skenario_4:String;
public static var keterangan_skenario_5:String;
public static var keterangan_skenario_6:String;
public static var keterangan_skenario_7:String;
public static var keterangan_skenario_8:String;
public static var keterangan_skenario_9:String;
public static var sub_menu_terpilih:Number = 1;
public static var musuh_1_nama:String = "Vadacoo";
public static var karakter_4_mati:Boolean = false;
public static var basic_movement:String;
public static var musuh_8_hadap:int = 0;
public static var karakter_3_special_sementara:int;
public static var karakter_5_nama:String = "Majisen";
public static var spesial_2_berkurang:int;
public static var musuh_3_berkurang:int;
public static var musuh_10_mati:Boolean = true;
public static var musuh_1_energi:int = 10;
public static var karakter_3_serangan_atas:Boolean = false;
public static var musuh_10_tile_a:int;
public static var musuh_7_mati:Boolean = true;
public static var bonus_9_y:int;
public static var karakter_6_hadap:int = 0;
public static var musuh_10_tile_b:int;
public static var musuh_5_tile_a:int;
public static var musuh_4_energi_awal:int;
public static var bonus_9_x:int;
public static var special_3_mati:Boolean = true;
public static var musuh_5_tile_b:int;
public static var musuh_10_tile_x:int;
public static var musuh_10_tile_y:int;
public static var efek_matrik:Boolean = false;
public static var musuh_8_nama:String = "Jendral 8";
public static var musuh_5_tile_x:int;
public static var musuh_5_tile_y:int;
public static var keterangan_film_1:String;
public static var karakter_4_tile_x:int;
public static var karakter_4_tile_y:int;
public static var prajurit_xa:Array = new Array();
public static var prajurit_xb:Array = new Array();
public static var musuh_6_berkurang:int;
public static var kekuatan_bonus:int = 50;
public static var pintu_y:Array = new Array();
public static var bonus_8_x:int;
public static var bonus_8_y:int;
public static var musuh_2_hadap:int = 0;
public static var spesial_2_hadap:int = 0;
public static var musuh_1_mati:Boolean = true;
public static var ada_special:Boolean = false;
public static var musuh_6_energi:int = 30;
public static var karakter_1_special_sementara:int;
public static var jumlah_pembunuhan:int;
public static var spesial_1_energi_awal:int;
public static var musuh_2_nama:String = "Motern Wale";
public static var karakter_5_mati:Boolean = false;
public static var musuh_9_berkurang:int;
public static var karakter_10_hadap:int = 0;
public static var ada_waktu:Boolean = false;
public static var bonus_10:Boolean = true;
public static var karakter_1_energi_sementara:int;
public static var karakter_5_serangan_atas:Boolean = false;
public static var bonus_7_x:int;
public static var musuh_7_hadap:int = 0;
public static var energi_pintu:Array = new Array();
public static var lagu_meh_diganti:Boolean = true;
public static var so:SharedObject = SharedObject.getLocal("VillageHeroesHSData");
public static var di_tengah_permainan:Boolean = false;
public static var musuh_1_tile_a:int;
public static var misi_skenario_10:String;
public static var musuh_9_energi_awal:int;
public static var musuh_1_tile_b:int;
public static var musuh_1_energi_awal:int;
public static var bonus_7_y:int;
public static var musuh_8_mati:Boolean = true;
public static var musuh_1_tile_x:int;
public static var musuh_1_tile_y:int;
public static var bonus_10_y:int;
public static var bonus_10_x:int;
public static var karakter_3_energi_sementara:int;
public static var karakter_5_hadap:int = 0;
public static var musuh_9_nama:String = "Jendral 9";
public static var bonus_6_x:int;
public static var bonus_6_y:int;
public static var energi_prajurit:Array = new Array();
public static var musuh_2_energi:int = 10;
public static var musuh_2_mati:Boolean = true;
public static var musuh_6_tile_a:int;
public static var karakter_5_energi_sementara:int;
public static var musuh_10_berkurang:int;
public static var musuh_6_tile_b:int;
public static var musuh_1_hadap:int = 0;
public static var spesial_1_berkurang:int;
public static var bonus_5_y:int;
public static var karakter_7_serangan_atas:Boolean = false;
public static var musuh_6_tile_y:int;
public static var musuh_3_nama:String = "Drolla";
public static var karakter_5_tile_x:int;
public static var karakter_5_tile_y:int;
public static var musuh_6_tile_x:int;
public static var pintu_mati:Array = new Array();
public static var musuh_6_energi_awal:int;
public static var keterangan_movement_1:String;
public static var keterangan_movement_2:String;
public static var keterangan_movement_3:String;
public static var keterangan_movement_4:String;
public static var keterangan_movement_5:String;
public static var keterangan_movement_6:String;
public static var keterangan_movement_7:String;
public static var keterangan_movement_8:String;
public static var keterangan_movement_9:String;
public static var energi_pintu_awal:int = 10;
public static var skor_simpan:int = 0;
public static var spesial_1_hadap:int = 0;
public static var bonus_5_x:int;
public static var musuh_2_berkurang:int;
public static var total_prajurit_yang_diijinkan:int = 50;
public static var musuh_7_energi:int = 40;
public static var bonus_4_x:int;
public static var bonus_4_y:int;
public static var prajurit_mati:Array = new Array();
public static var musuh_6_hadap:int = 0;
public static var musuh_9_mati:Boolean = true;
public static var spesial_1_energi:int = 25;
public static var spesial_3_energi_awal:int;
public static var musuh_5_berkurang:int;
public static var karakter_1_nama:String = "Dancle";
public static var musuh_2_tile_a:int;
public static var musuh_2_tile_b:int;
public static var waktu_detik:int;
public static var karakter_4_hadap:int = 0;
public static var bonus_3_x:int;
public static var bonus_3_y:int;
public static var karakter_9_serangan_atas:Boolean = false;
public static var musuh_2_tile_x:int;
public static var musuh_3_mati:Boolean = true;
public static var karakter_1_tile_x:int;
public static var judul_keterangan_skenario_1:String;
public static var judul_keterangan_skenario_2:String;
public static var judul_keterangan_skenario_3:String;
public static var judul_keterangan_skenario_4:String;
public static var judul_keterangan_skenario_5:String;
public static var judul_keterangan_skenario_6:String;
public static var judul_keterangan_skenario_7:String;
public static var judul_keterangan_skenario_8:String;
public static var judul_keterangan_skenario_9:String;
public static var musuh_2_tile_y:int;
public static var karakter_1_tile_y:int;
public static var karakter_4_special_sementara:int;
public static var dari_menang:Boolean = false;
public static var musuh_4_nama:String = "Rete";
public static var musuh_8_berkurang:int;
public static var musuh_3_energi_awal:int;
public static var musuh_3_energi:int = 10;
public static var bonus_2_x:int;
public static var karakter_2_serangan_atas:Boolean = false;
public static var karakter_9_hadap:int = 0;
public static var bonus_2_y:int;
public static var musuh_7_tile_a:int;
public static var musuh_7_tile_b:int;
public static var special_1_tile_a:int;
public static var special_1_tile_b:int;
public static var musuh_7_tile_y:int;
public static var musuh_7_tile_x:int;
public static var karakter_1_mati:Boolean = false;
public static var special_1_tile_y:int;
public static var special_1_tile_x:int;
public static var keterangan_skenario_10:String;
public static var bonus_1_x:int;
public static var bonus_1_y:int;
public static var musuh_5_hadap:int = 0;
public static var karakter_2_nama:String = "Nosn";
public static var musuh_8_energi:int = 10;
public static var musuh_8_energi_awal:int;
public static var karakter_2_special_sementara:int;
public static var prajurit_y:Array = new Array();
public static var prajurit_x:Array = new Array();
public static var musuh_4_mati:Boolean = true;
public static var spesial_2_energi:int = 25;
public function Variabel(){
super();
}
public static function resetData2():void{
var i:int;
efek_matrik = false;
karakter_1_mati = true;
karakter_2_mati = true;
karakter_3_mati = true;
karakter_4_mati = true;
karakter_5_mati = true;
karakter_1_hadap = 1;
karakter_2_hadap = 1;
karakter_3_hadap = 1;
karakter_4_hadap = 1;
karakter_5_hadap = 1;
karakter_6_hadap = 1;
karakter_7_hadap = 1;
karakter_8_hadap = 1;
karakter_9_hadap = 1;
karakter_10_hadap = 1;
sedang_super = false;
prajurit_x = [];
prajurit_y = [];
prajurit_xa = [];
prajurit_xb = [];
prajurit_mati = [];
energi_prajurit = [];
prajurit_hadap = [];
pintu_x = [];
pintu_y = [];
pintu_xa = [];
pintu_xb = [];
pintu_mati = [];
energi_pintu = [];
pintu_hadap = [];
sedang_cipta_prajurit = false;
musuh_1_mati = true;
musuh_2_mati = true;
musuh_3_mati = true;
musuh_4_mati = true;
musuh_5_mati = true;
musuh_6_mati = true;
musuh_7_mati = true;
musuh_8_mati = true;
musuh_9_mati = true;
musuh_10_mati = true;
musuh_1_hadap = 0;
musuh_2_hadap = 0;
musuh_3_hadap = 0;
musuh_4_hadap = 0;
musuh_5_hadap = 0;
musuh_6_hadap = 0;
musuh_7_hadap = 0;
musuh_8_hadap = 0;
musuh_9_hadap = 0;
musuh_10_hadap = 0;
bonus_1 = false;
bonus_2 = false;
bonus_3 = false;
bonus_4 = false;
bonus_5 = false;
bonus_6 = false;
bonus_7 = false;
bonus_8 = false;
bonus_9 = false;
bonus_10 = false;
ada_special = false;
special_1_mati = true;
special_2_mati = true;
special_3_mati = true;
spesial_1_hadap = 0;
spesial_2_hadap = 0;
spesial_3_hadap = 0;
spesial_1_energi_awal = spesial_1_energi;
spesial_2_energi_awal = spesial_2_energi;
spesial_3_energi_awal = spesial_3_energi;
spesial_1_berkurang = spesial_1_energi;
spesial_2_berkurang = spesial_2_energi;
spesial_3_berkurang = spesial_3_energi;
musuh_1_energi_awal = musuh_1_energi;
musuh_2_energi_awal = musuh_2_energi;
musuh_3_energi_awal = musuh_3_energi;
musuh_4_energi_awal = musuh_4_energi;
musuh_5_energi_awal = musuh_5_energi;
musuh_6_energi_awal = musuh_6_energi;
musuh_7_energi_awal = musuh_7_energi;
musuh_8_energi_awal = musuh_8_energi;
musuh_9_energi_awal = musuh_9_energi;
musuh_10_energi_awal = musuh_10_energi;
musuh_1_berkurang = musuh_1_energi;
musuh_2_berkurang = musuh_2_energi;
musuh_3_berkurang = musuh_3_energi;
musuh_4_berkurang = musuh_4_energi;
musuh_5_berkurang = musuh_5_energi;
musuh_6_berkurang = musuh_6_energi;
musuh_7_berkurang = musuh_7_energi;
musuh_8_berkurang = musuh_8_energi;
musuh_9_berkurang = musuh_9_energi;
musuh_10_berkurang = musuh_10_energi;
karakter_1_serangan_atas = false;
karakter_2_serangan_atas = false;
karakter_3_serangan_atas = false;
karakter_4_serangan_atas = false;
karakter_5_serangan_atas = false;
karakter_6_serangan_atas = false;
karakter_7_serangan_atas = false;
karakter_8_serangan_atas = false;
karakter_9_serangan_atas = false;
karakter_10_serangan_atas = false;
jumlah_pembunuhan = 0;
ada_waktu = false;
di_tengah_permainan = false;
switch (skenario_terpilih){
case 1:
karakter_1_tile_x = (2 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_1_tile_x = (25 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (22 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (16 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (25 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (10 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (11 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (25 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (10 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (11 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
ada_special = false;
pintu_mati.push(false);
pintu_x.push((28 * lebar_tinggi_peta_asli));
pintu_y.push((22 * lebar_tinggi_peta_asli));
pintu_xa.push((16 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 10;
prajurit_mati.push(false);
prajurit_x.push((21 * lebar_tinggi_peta_asli));
prajurit_y.push((22 * lebar_tinggi_peta_asli));
prajurit_xa.push((16 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((28 * lebar_tinggi_peta_asli));
prajurit_y.push((22 * lebar_tinggi_peta_asli));
prajurit_xa.push((16 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((3 * lebar_tinggi_peta_asli));
prajurit_y.push((20 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((10 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((17 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((25 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((26 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_1_x = (5 * lebar_tinggi_peta_asli);
bonus_1_y = (22 * lebar_tinggi_peta_asli);
bonus_2_x = (28 * lebar_tinggi_peta_asli);
bonus_2_y = (10 * lebar_tinggi_peta_asli);
ada_waktu = false;
break;
case 2:
karakter_1_tile_x = (2 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_4_mati = false;
musuh_1_tile_x = (25 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (26 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (23 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (6 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (17 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (3 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (10 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (12 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (11 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (8 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (17 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
musuh_4_tile_x = (25 * lebar_tinggi_peta_asli);
musuh_4_tile_y = (7 * lebar_tinggi_peta_asli);
musuh_4_tile_a = (22 * lebar_tinggi_peta_asli);
musuh_4_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_4_hadap = 0;
ada_special = false;
pintu_mati.push(false);
pintu_x.push((20 * lebar_tinggi_peta_asli));
pintu_y.push((28 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((19 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((27 * lebar_tinggi_peta_asli));
pintu_y.push((7 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 15;
prajurit_mati.push(false);
prajurit_x.push((22 * lebar_tinggi_peta_asli));
prajurit_y.push((7 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((28 * lebar_tinggi_peta_asli));
prajurit_y.push((7 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((17 * lebar_tinggi_peta_asli));
prajurit_y.push((11 * lebar_tinggi_peta_asli));
prajurit_xa.push((8 * lebar_tinggi_peta_asli));
prajurit_xb.push((17 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((9 * lebar_tinggi_peta_asli));
prajurit_y.push((11 * lebar_tinggi_peta_asli));
prajurit_xa.push((8 * lebar_tinggi_peta_asli));
prajurit_xb.push((17 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((1 * lebar_tinggi_peta_asli));
prajurit_y.push((15 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((10 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((28 * lebar_tinggi_peta_asli));
prajurit_y.push((26 * lebar_tinggi_peta_asli));
prajurit_xa.push((23 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_1_x = (13 * lebar_tinggi_peta_asli);
bonus_1_y = (19 * lebar_tinggi_peta_asli);
bonus_2_x = (19 * lebar_tinggi_peta_asli);
bonus_2_y = (9 * lebar_tinggi_peta_asli);
ada_waktu = true;
waktu_jam = 0;
waktu_menit = 6;
waktu_detik = 0;
break;
case 3:
karakter_1_tile_x = (2 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_4_mati = false;
musuh_5_mati = false;
musuh_1_tile_x = (28 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (23 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (22 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (1 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (17 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (7 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (22 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (17 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (22 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
musuh_4_tile_x = (1 * lebar_tinggi_peta_asli);
musuh_4_tile_y = (11 * lebar_tinggi_peta_asli);
musuh_4_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_4_tile_b = (7 * lebar_tinggi_peta_asli);
musuh_4_hadap = 0;
musuh_5_tile_x = (1 * lebar_tinggi_peta_asli);
musuh_5_tile_y = (5 * lebar_tinggi_peta_asli);
musuh_5_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_5_tile_b = (7 * lebar_tinggi_peta_asli);
musuh_5_hadap = 0;
ada_special = true;
special_1_mati = false;
special_1_tile_x = (26 * lebar_tinggi_peta_asli);
special_1_tile_y = (28 * lebar_tinggi_peta_asli);
special_1_tile_a = (2 * lebar_tinggi_peta_asli);
special_1_tile_b = (27 * lebar_tinggi_peta_asli);
spesial_1_hadap = 0;
pintu_mati.push(false);
pintu_x.push((1 * lebar_tinggi_peta_asli));
pintu_y.push((23 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 5;
prajurit_mati.push(false);
prajurit_x.push((13 * lebar_tinggi_peta_asli));
prajurit_y.push((7 * lebar_tinggi_peta_asli));
prajurit_xa.push((13 * lebar_tinggi_peta_asli));
prajurit_xb.push((16 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((16 * lebar_tinggi_peta_asli));
prajurit_y.push((10 * lebar_tinggi_peta_asli));
prajurit_xa.push((13 * lebar_tinggi_peta_asli));
prajurit_xb.push((16 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((13 * lebar_tinggi_peta_asli));
prajurit_y.push((13 * lebar_tinggi_peta_asli));
prajurit_xa.push((13 * lebar_tinggi_peta_asli));
prajurit_xb.push((16 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((16 * lebar_tinggi_peta_asli));
prajurit_y.push((16 * lebar_tinggi_peta_asli));
prajurit_xa.push((13 * lebar_tinggi_peta_asli));
prajurit_xb.push((16 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((13 * lebar_tinggi_peta_asli));
prajurit_y.push((19 * lebar_tinggi_peta_asli));
prajurit_xa.push((13 * lebar_tinggi_peta_asli));
prajurit_xb.push((16 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((16 * lebar_tinggi_peta_asli));
prajurit_y.push((22 * lebar_tinggi_peta_asli));
prajurit_xa.push((13 * lebar_tinggi_peta_asli));
prajurit_xb.push((16 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((7 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((7 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((7 * lebar_tinggi_peta_asli));
prajurit_y.push((11 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((7 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((7 * lebar_tinggi_peta_asli));
prajurit_y.push((17 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((7 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((7 * lebar_tinggi_peta_asli));
prajurit_y.push((23 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((7 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((22 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((22 * lebar_tinggi_peta_asli));
prajurit_y.push((11 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((22 * lebar_tinggi_peta_asli));
prajurit_y.push((17 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((22 * lebar_tinggi_peta_asli));
prajurit_y.push((23 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_3 = true;
bonus_3 = true;
bonus_1_x = (8 * lebar_tinggi_peta_asli);
bonus_1_y = (16 * lebar_tinggi_peta_asli);
bonus_2_x = (21 * lebar_tinggi_peta_asli);
bonus_2_y = (16 * lebar_tinggi_peta_asli);
bonus_3_x = (8 * lebar_tinggi_peta_asli);
bonus_3_y = (4 * lebar_tinggi_peta_asli);
bonus_3_x = (21 * lebar_tinggi_peta_asli);
bonus_3_y = (4 * lebar_tinggi_peta_asli);
ada_waktu = false;
break;
case 4:
karakter_1_tile_x = (2 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_4_mati = false;
musuh_5_mati = false;
musuh_1_tile_x = (20 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (28 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (19 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (27 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (28 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (24 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (10 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (18 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (10 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (21 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
musuh_4_tile_x = (28 * lebar_tinggi_peta_asli);
musuh_4_tile_y = (8 * lebar_tinggi_peta_asli);
musuh_4_tile_a = (16 * lebar_tinggi_peta_asli);
musuh_4_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_4_hadap = 0;
musuh_5_tile_x = (16 * lebar_tinggi_peta_asli);
musuh_5_tile_y = (8 * lebar_tinggi_peta_asli);
musuh_5_tile_a = (16 * lebar_tinggi_peta_asli);
musuh_5_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_5_hadap = 0;
ada_special = false;
pintu_mati.push(false);
pintu_x.push((28 * lebar_tinggi_peta_asli));
pintu_y.push((8 * lebar_tinggi_peta_asli));
pintu_xa.push((16 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((21 * lebar_tinggi_peta_asli));
pintu_y.push((18 * lebar_tinggi_peta_asli));
pintu_xa.push((10 * lebar_tinggi_peta_asli));
pintu_xb.push((21 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((18 * lebar_tinggi_peta_asli));
pintu_y.push((28 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((20 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 15;
prajurit_mati.push(false);
prajurit_x.push((11 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((20 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((15 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((20 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((26 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((24 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((14 * lebar_tinggi_peta_asli));
prajurit_y.push((18 * lebar_tinggi_peta_asli));
prajurit_xa.push((10 * lebar_tinggi_peta_asli));
prajurit_xb.push((21 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((11 * lebar_tinggi_peta_asli));
prajurit_y.push((8 * lebar_tinggi_peta_asli));
prajurit_xa.push((8 * lebar_tinggi_peta_asli));
prajurit_xb.push((12 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((18 * lebar_tinggi_peta_asli));
prajurit_y.push((8 * lebar_tinggi_peta_asli));
prajurit_xa.push((16 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_1_x = (9 * lebar_tinggi_peta_asli);
bonus_1_y = (16 * lebar_tinggi_peta_asli);
bonus_2_x = (13 * lebar_tinggi_peta_asli);
bonus_2_y = (6 * lebar_tinggi_peta_asli);
ada_waktu = false;
break;
case 5:
karakter_1_tile_x = (2 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_4_mati = false;
musuh_5_mati = false;
musuh_6_mati = false;
musuh_1_tile_x = (11 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (28 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (12 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (25 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (22 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (20 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (3 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (14 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (3 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (24 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
musuh_4_tile_x = (28 * lebar_tinggi_peta_asli);
musuh_4_tile_y = (5 * lebar_tinggi_peta_asli);
musuh_4_tile_a = (6 * lebar_tinggi_peta_asli);
musuh_4_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_4_hadap = 0;
musuh_5_tile_x = (26 * lebar_tinggi_peta_asli);
musuh_5_tile_y = (5 * lebar_tinggi_peta_asli);
musuh_5_tile_a = (6 * lebar_tinggi_peta_asli);
musuh_5_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_5_hadap = 0;
musuh_6_tile_x = (24 * lebar_tinggi_peta_asli);
musuh_6_tile_y = (5 * lebar_tinggi_peta_asli);
musuh_6_tile_a = (6 * lebar_tinggi_peta_asli);
musuh_6_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_6_hadap = 0;
ada_special = false;
pintu_mati.push(false);
pintu_x.push((28 * lebar_tinggi_peta_asli));
pintu_y.push((5 * lebar_tinggi_peta_asli));
pintu_xa.push((6 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((7 * lebar_tinggi_peta_asli));
pintu_y.push((14 * lebar_tinggi_peta_asli));
pintu_xa.push((3 * lebar_tinggi_peta_asli));
pintu_xb.push((24 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((1 * lebar_tinggi_peta_asli));
pintu_y.push((22 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((14 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((22 * lebar_tinggi_peta_asli));
pintu_y.push((28 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 20;
prajurit_mati.push(false);
prajurit_x.push((8 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((13 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((23 * lebar_tinggi_peta_asli));
prajurit_y.push((22 * lebar_tinggi_peta_asli));
prajurit_xa.push((20 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((12 * lebar_tinggi_peta_asli));
prajurit_y.push((14 * lebar_tinggi_peta_asli));
prajurit_xa.push((3 * lebar_tinggi_peta_asli));
prajurit_xb.push((24 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((14 * lebar_tinggi_peta_asli));
prajurit_y.push((14 * lebar_tinggi_peta_asli));
prajurit_xa.push((3 * lebar_tinggi_peta_asli));
prajurit_xb.push((24 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((16 * lebar_tinggi_peta_asli));
prajurit_y.push((14 * lebar_tinggi_peta_asli));
prajurit_xa.push((3 * lebar_tinggi_peta_asli));
prajurit_xb.push((24 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((7 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((6 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((10 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((6 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((18 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((6 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((25 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((6 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_3 = true;
bonus_1_x = (4 * lebar_tinggi_peta_asli);
bonus_1_y = (7 * lebar_tinggi_peta_asli);
bonus_2_x = (26 * lebar_tinggi_peta_asli);
bonus_2_y = (15 * lebar_tinggi_peta_asli);
bonus_3_x = (6 * lebar_tinggi_peta_asli);
bonus_3_y = (22 * lebar_tinggi_peta_asli);
ada_waktu = true;
waktu_jam = 0;
waktu_menit = 6;
waktu_detik = 0;
break;
case 6:
karakter_1_tile_x = (2 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_4_mati = false;
musuh_5_mati = false;
musuh_6_mati = false;
musuh_1_tile_x = (20 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (28 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (1 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (19 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (5 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (18 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (15 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (11 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (18 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
musuh_4_tile_x = (12 * lebar_tinggi_peta_asli);
musuh_4_tile_y = (11 * lebar_tinggi_peta_asli);
musuh_4_tile_a = (11 * lebar_tinggi_peta_asli);
musuh_4_tile_b = (18 * lebar_tinggi_peta_asli);
musuh_4_hadap = 0;
musuh_5_tile_x = (10 * lebar_tinggi_peta_asli);
musuh_5_tile_y = (4 * lebar_tinggi_peta_asli);
musuh_5_tile_a = (9 * lebar_tinggi_peta_asli);
musuh_5_tile_b = (20 * lebar_tinggi_peta_asli);
musuh_5_hadap = 0;
musuh_6_tile_x = (15 * lebar_tinggi_peta_asli);
musuh_6_tile_y = (4 * lebar_tinggi_peta_asli);
musuh_6_tile_a = (9 * lebar_tinggi_peta_asli);
musuh_6_tile_b = (20 * lebar_tinggi_peta_asli);
musuh_6_hadap = 0;
ada_special = false;
pintu_mati.push(false);
pintu_x.push((28 * lebar_tinggi_peta_asli));
pintu_y.push((7 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((1 * lebar_tinggi_peta_asli));
pintu_y.push((11 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((28 * lebar_tinggi_peta_asli));
pintu_y.push((11 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 20;
prajurit_mati.push(false);
prajurit_x.push((14 * lebar_tinggi_peta_asli));
prajurit_y.push((4 * lebar_tinggi_peta_asli));
prajurit_xa.push((9 * lebar_tinggi_peta_asli));
prajurit_xb.push((20 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((13 * lebar_tinggi_peta_asli));
prajurit_y.push((11 * lebar_tinggi_peta_asli));
prajurit_xa.push((11 * lebar_tinggi_peta_asli));
prajurit_xb.push((18 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((17 * lebar_tinggi_peta_asli));
prajurit_y.push((15 * lebar_tinggi_peta_asli));
prajurit_xa.push((11 * lebar_tinggi_peta_asli));
prajurit_xb.push((18 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((11 * lebar_tinggi_peta_asli));
prajurit_y.push((19 * lebar_tinggi_peta_asli));
prajurit_xa.push((11 * lebar_tinggi_peta_asli));
prajurit_xb.push((18 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((26 * lebar_tinggi_peta_asli));
prajurit_y.push((11 * lebar_tinggi_peta_asli));
prajurit_xa.push((24 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((25 * lebar_tinggi_peta_asli));
prajurit_y.push((23 * lebar_tinggi_peta_asli));
prajurit_xa.push((24 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((2 * lebar_tinggi_peta_asli));
prajurit_y.push((23 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((5 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((2 * lebar_tinggi_peta_asli));
prajurit_y.push((7 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((5 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_3 = true;
bonus_4 = true;
bonus_1_x = (8 * lebar_tinggi_peta_asli);
bonus_1_y = (9 * lebar_tinggi_peta_asli);
bonus_2_x = (21 * lebar_tinggi_peta_asli);
bonus_2_y = (9 * lebar_tinggi_peta_asli);
bonus_3_x = (8 * lebar_tinggi_peta_asli);
bonus_3_y = (17 * lebar_tinggi_peta_asli);
bonus_4_x = (21 * lebar_tinggi_peta_asli);
bonus_4_y = (17 * lebar_tinggi_peta_asli);
ada_waktu = false;
break;
case 7:
karakter_1_tile_x = (2 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_4_mati = false;
musuh_5_mati = false;
musuh_6_mati = false;
musuh_7_mati = false;
musuh_1_tile_x = (22 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (20 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (22 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (22 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (8 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (22 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (2 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (20 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (8 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
musuh_4_tile_x = (2 * lebar_tinggi_peta_asli);
musuh_4_tile_y = (8 * lebar_tinggi_peta_asli);
musuh_4_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_4_tile_b = (8 * lebar_tinggi_peta_asli);
musuh_4_hadap = 0;
musuh_5_tile_x = (13 * lebar_tinggi_peta_asli);
musuh_5_tile_y = (14 * lebar_tinggi_peta_asli);
musuh_5_tile_a = (13 * lebar_tinggi_peta_asli);
musuh_5_tile_b = (17 * lebar_tinggi_peta_asli);
musuh_5_hadap = 0;
musuh_6_tile_x = (12 * lebar_tinggi_peta_asli);
musuh_6_tile_y = (4 * lebar_tinggi_peta_asli);
musuh_6_tile_a = (12 * lebar_tinggi_peta_asli);
musuh_6_tile_b = (18 * lebar_tinggi_peta_asli);
musuh_6_hadap = 0;
musuh_7_tile_x = (18 * lebar_tinggi_peta_asli);
musuh_7_tile_y = (4 * lebar_tinggi_peta_asli);
musuh_7_tile_a = (12 * lebar_tinggi_peta_asli);
musuh_7_tile_b = (18 * lebar_tinggi_peta_asli);
musuh_7_hadap = 0;
ada_special = false;
pintu_mati.push(false);
pintu_x.push((1 * lebar_tinggi_peta_asli));
pintu_y.push((8 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((28 * lebar_tinggi_peta_asli));
pintu_y.push((8 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((1 * lebar_tinggi_peta_asli));
pintu_y.push((20 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((28 * lebar_tinggi_peta_asli));
pintu_y.push((20 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 20;
prajurit_mati.push(false);
prajurit_x.push((25 * lebar_tinggi_peta_asli));
prajurit_y.push((20 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((26 * lebar_tinggi_peta_asli));
prajurit_y.push((20 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((24 * lebar_tinggi_peta_asli));
prajurit_y.push((8 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((25 * lebar_tinggi_peta_asli));
prajurit_y.push((8 * lebar_tinggi_peta_asli));
prajurit_xa.push((22 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((4 * lebar_tinggi_peta_asli));
prajurit_y.push((8 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((8 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((5 * lebar_tinggi_peta_asli));
prajurit_y.push((8 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((8 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((4 * lebar_tinggi_peta_asli));
prajurit_y.push((20 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((8 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((5 * lebar_tinggi_peta_asli));
prajurit_y.push((20 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((8 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((14 * lebar_tinggi_peta_asli));
prajurit_y.push((4 * lebar_tinggi_peta_asli));
prajurit_xa.push((12 * lebar_tinggi_peta_asli));
prajurit_xb.push((18 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((15 * lebar_tinggi_peta_asli));
prajurit_y.push((4 * lebar_tinggi_peta_asli));
prajurit_xa.push((12 * lebar_tinggi_peta_asli));
prajurit_xb.push((18 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_3 = true;
bonus_4 = true;
bonus_1_x = (10 * lebar_tinggi_peta_asli);
bonus_1_y = (6 * lebar_tinggi_peta_asli);
bonus_2_x = (20 * lebar_tinggi_peta_asli);
bonus_2_y = (6 * lebar_tinggi_peta_asli);
bonus_3_x = (13 * lebar_tinggi_peta_asli);
bonus_3_y = (13 * lebar_tinggi_peta_asli);
bonus_4_x = (17 * lebar_tinggi_peta_asli);
bonus_4_y = (13 * lebar_tinggi_peta_asli);
ada_waktu = true;
waktu_jam = 0;
waktu_menit = 10;
waktu_detik = 0;
break;
case 8:
karakter_1_tile_x = (12 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_4_mati = false;
musuh_5_mati = false;
musuh_6_mati = false;
musuh_7_mati = false;
musuh_1_tile_x = (4 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (13 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (4 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (12 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (4 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (19 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (4 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (12 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (23 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (13 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (16 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (23 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
musuh_4_tile_x = (23 * lebar_tinggi_peta_asli);
musuh_4_tile_y = (19 * lebar_tinggi_peta_asli);
musuh_4_tile_a = (16 * lebar_tinggi_peta_asli);
musuh_4_tile_b = (23 * lebar_tinggi_peta_asli);
musuh_4_hadap = 0;
musuh_5_tile_x = (4 * lebar_tinggi_peta_asli);
musuh_5_tile_y = (7 * lebar_tinggi_peta_asli);
musuh_5_tile_a = (4 * lebar_tinggi_peta_asli);
musuh_5_tile_b = (23 * lebar_tinggi_peta_asli);
musuh_5_hadap = 0;
musuh_6_tile_x = (23 * lebar_tinggi_peta_asli);
musuh_6_tile_y = (7 * lebar_tinggi_peta_asli);
musuh_6_tile_a = (4 * lebar_tinggi_peta_asli);
musuh_6_tile_b = (23 * lebar_tinggi_peta_asli);
musuh_6_hadap = 0;
musuh_7_tile_x = (14 * lebar_tinggi_peta_asli);
musuh_7_tile_y = (7 * lebar_tinggi_peta_asli);
musuh_7_tile_a = (4 * lebar_tinggi_peta_asli);
musuh_7_tile_b = (23 * lebar_tinggi_peta_asli);
musuh_7_hadap = 0;
ada_special = true;
special_1_mati = false;
special_1_tile_x = (20 * lebar_tinggi_peta_asli);
special_1_tile_y = (28 * lebar_tinggi_peta_asli);
special_1_tile_a = (9 * lebar_tinggi_peta_asli);
special_1_tile_b = (24 * lebar_tinggi_peta_asli);
spesial_1_hadap = 0;
pintu_mati.push(false);
pintu_x.push((1 * lebar_tinggi_peta_asli));
pintu_y.push((9 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((28 * lebar_tinggi_peta_asli));
pintu_y.push((15 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 10;
prajurit_mati.push(false);
prajurit_x.push((9 * lebar_tinggi_peta_asli));
prajurit_y.push((19 * lebar_tinggi_peta_asli));
prajurit_xa.push((4 * lebar_tinggi_peta_asli));
prajurit_xb.push((12 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((7 * lebar_tinggi_peta_asli));
prajurit_y.push((13 * lebar_tinggi_peta_asli));
prajurit_xa.push((4 * lebar_tinggi_peta_asli));
prajurit_xb.push((12 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((18 * lebar_tinggi_peta_asli));
prajurit_y.push((13 * lebar_tinggi_peta_asli));
prajurit_xa.push((16 * lebar_tinggi_peta_asli));
prajurit_xb.push((23 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((20 * lebar_tinggi_peta_asli));
prajurit_y.push((19 * lebar_tinggi_peta_asli));
prajurit_xa.push((16 * lebar_tinggi_peta_asli));
prajurit_xb.push((23 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((8 * lebar_tinggi_peta_asli));
prajurit_y.push((7 * lebar_tinggi_peta_asli));
prajurit_xa.push((4 * lebar_tinggi_peta_asli));
prajurit_xb.push((23 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((18 * lebar_tinggi_peta_asli));
prajurit_y.push((7 * lebar_tinggi_peta_asli));
prajurit_xa.push((4 * lebar_tinggi_peta_asli));
prajurit_xb.push((23 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_3 = true;
bonus_4 = true;
bonus_1_x = (11 * lebar_tinggi_peta_asli);
bonus_1_y = (11 * lebar_tinggi_peta_asli);
bonus_2_x = (17 * lebar_tinggi_peta_asli);
bonus_2_y = (11 * lebar_tinggi_peta_asli);
bonus_3_x = (17 * lebar_tinggi_peta_asli);
bonus_3_y = (17 * lebar_tinggi_peta_asli);
bonus_4_x = (11 * lebar_tinggi_peta_asli);
bonus_4_y = (17 * lebar_tinggi_peta_asli);
ada_waktu = false;
break;
case 9:
karakter_1_tile_x = (2 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_4_mati = false;
musuh_5_mati = false;
musuh_6_mati = false;
musuh_7_mati = false;
musuh_1_tile_x = (12 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (28 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (24 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (22 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (24 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (2 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (18 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (7 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
musuh_4_tile_x = (15 * lebar_tinggi_peta_asli);
musuh_4_tile_y = (13 * lebar_tinggi_peta_asli);
musuh_4_tile_a = (15 * lebar_tinggi_peta_asli);
musuh_4_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_4_hadap = 0;
musuh_5_tile_x = (2 * lebar_tinggi_peta_asli);
musuh_5_tile_y = (9 * lebar_tinggi_peta_asli);
musuh_5_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_5_tile_b = (9 * lebar_tinggi_peta_asli);
musuh_5_hadap = 0;
musuh_6_tile_x = (27 * lebar_tinggi_peta_asli);
musuh_6_tile_y = (4 * lebar_tinggi_peta_asli);
musuh_6_tile_a = (22 * lebar_tinggi_peta_asli);
musuh_6_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_6_hadap = 0;
musuh_7_tile_x = (27 * lebar_tinggi_peta_asli);
musuh_7_tile_y = (13 * lebar_tinggi_peta_asli);
musuh_7_tile_a = (15 * lebar_tinggi_peta_asli);
musuh_7_tile_b = (27 * lebar_tinggi_peta_asli);
musuh_7_hadap = 0;
ada_special = true;
special_1_mati = false;
special_2_mati = false;
special_1_tile_x = (23 * lebar_tinggi_peta_asli);
special_1_tile_y = (28 * lebar_tinggi_peta_asli);
special_1_tile_a = (18 * lebar_tinggi_peta_asli);
special_1_tile_b = (27 * lebar_tinggi_peta_asli);
spesial_1_hadap = 0;
special_2_tile_x = (16 * lebar_tinggi_peta_asli);
special_2_tile_y = (27 * lebar_tinggi_peta_asli);
special_2_tile_a = (15 * lebar_tinggi_peta_asli);
special_2_tile_b = (17 * lebar_tinggi_peta_asli);
spesial_2_hadap = 1;
pintu_mati.push(false);
pintu_x.push((28 * lebar_tinggi_peta_asli));
pintu_y.push((4 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 20;
prajurit_mati.push(false);
prajurit_x.push((4 * lebar_tinggi_peta_asli));
prajurit_y.push((9 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((9 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((5 * lebar_tinggi_peta_asli));
prajurit_y.push((9 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((9 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((20 * lebar_tinggi_peta_asli));
prajurit_y.push((13 * lebar_tinggi_peta_asli));
prajurit_xa.push((15 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((21 * lebar_tinggi_peta_asli));
prajurit_y.push((13 * lebar_tinggi_peta_asli));
prajurit_xa.push((15 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((7 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((27 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_3 = true;
bonus_1_x = (3 * lebar_tinggi_peta_asli);
bonus_1_y = (16 * lebar_tinggi_peta_asli);
bonus_2_x = (26 * lebar_tinggi_peta_asli);
bonus_2_y = (11 * lebar_tinggi_peta_asli);
bonus_3_x = (3 * lebar_tinggi_peta_asli);
bonus_3_y = (7 * lebar_tinggi_peta_asli);
ada_waktu = false;
break;
case 10:
karakter_1_tile_x = (2 * lebar_tinggi_peta_asli);
karakter_1_tile_y = (28 * lebar_tinggi_peta_asli);
karakter_1_hadap = 1;
karakter_1_energi_sementara = (so.data.character_1_hp * 100);
karakter_2_energi_sementara = (so.data.character_2_hp * 100);
karakter_3_energi_sementara = (so.data.character_3_hp * 100);
karakter_4_energi_sementara = (so.data.character_4_hp * 100);
karakter_5_energi_sementara = (so.data.character_5_hp * 100);
karakter_1_special_sementara = 0;
karakter_2_special_sementara = 0;
karakter_3_special_sementara = 0;
karakter_4_special_sementara = 0;
karakter_5_special_sementara = 0;
musuh_1_mati = false;
musuh_2_mati = false;
musuh_3_mati = false;
musuh_4_mati = false;
musuh_5_mati = false;
musuh_6_mati = false;
musuh_7_mati = false;
musuh_1_tile_x = (23 * lebar_tinggi_peta_asli);
musuh_1_tile_y = (28 * lebar_tinggi_peta_asli);
musuh_1_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_1_tile_b = (23 * lebar_tinggi_peta_asli);
musuh_1_hadap = 0;
musuh_2_tile_x = (18 * lebar_tinggi_peta_asli);
musuh_2_tile_y = (19 * lebar_tinggi_peta_asli);
musuh_2_tile_a = (18 * lebar_tinggi_peta_asli);
musuh_2_tile_b = (25 * lebar_tinggi_peta_asli);
musuh_2_hadap = 0;
musuh_3_tile_x = (2 * lebar_tinggi_peta_asli);
musuh_3_tile_y = (19 * lebar_tinggi_peta_asli);
musuh_3_tile_a = (2 * lebar_tinggi_peta_asli);
musuh_3_tile_b = (12 * lebar_tinggi_peta_asli);
musuh_3_hadap = 0;
musuh_4_tile_x = (5 * lebar_tinggi_peta_asli);
musuh_4_tile_y = (15 * lebar_tinggi_peta_asli);
musuh_4_tile_a = (5 * lebar_tinggi_peta_asli);
musuh_4_tile_b = (12 * lebar_tinggi_peta_asli);
musuh_4_hadap = 0;
musuh_5_tile_x = (18 * lebar_tinggi_peta_asli);
musuh_5_tile_y = (15 * lebar_tinggi_peta_asli);
musuh_5_tile_a = (18 * lebar_tinggi_peta_asli);
musuh_5_tile_b = (24 * lebar_tinggi_peta_asli);
musuh_5_hadap = 0;
musuh_6_tile_x = (6 * lebar_tinggi_peta_asli);
musuh_6_tile_y = (11 * lebar_tinggi_peta_asli);
musuh_6_tile_a = (6 * lebar_tinggi_peta_asli);
musuh_6_tile_b = (23 * lebar_tinggi_peta_asli);
musuh_6_hadap = 0;
musuh_7_tile_x = (4 * lebar_tinggi_peta_asli);
musuh_7_tile_y = (5 * lebar_tinggi_peta_asli);
musuh_7_tile_a = (4 * lebar_tinggi_peta_asli);
musuh_7_tile_b = (25 * lebar_tinggi_peta_asli);
musuh_7_hadap = 0;
ada_special = false;
pintu_mati.push(false);
pintu_x.push((5 * lebar_tinggi_peta_asli));
pintu_y.push((5 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((10 * lebar_tinggi_peta_asli));
pintu_y.push((5 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((8 * lebar_tinggi_peta_asli));
pintu_y.push((11 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
pintu_mati.push(false);
pintu_x.push((23 * lebar_tinggi_peta_asli));
pintu_y.push((11 * lebar_tinggi_peta_asli));
pintu_xa.push((2 * lebar_tinggi_peta_asli));
pintu_xb.push((27 * lebar_tinggi_peta_asli));
pintu_hadap.push(0);
energi_pintu.push(energi_pintu_awal);
total_prajurit_yang_diijinkan = 25;
prajurit_mati.push(false);
prajurit_x.push((14 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((4 * lebar_tinggi_peta_asli));
prajurit_xb.push((25 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((15 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((4 * lebar_tinggi_peta_asli));
prajurit_xb.push((25 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((16 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((4 * lebar_tinggi_peta_asli));
prajurit_xb.push((25 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((17 * lebar_tinggi_peta_asli));
prajurit_y.push((5 * lebar_tinggi_peta_asli));
prajurit_xa.push((4 * lebar_tinggi_peta_asli));
prajurit_xb.push((25 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((10 * lebar_tinggi_peta_asli));
prajurit_y.push((11 * lebar_tinggi_peta_asli));
prajurit_xa.push((6 * lebar_tinggi_peta_asli));
prajurit_xb.push((23 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((11 * lebar_tinggi_peta_asli));
prajurit_y.push((11 * lebar_tinggi_peta_asli));
prajurit_xa.push((6 * lebar_tinggi_peta_asli));
prajurit_xb.push((23 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((12 * lebar_tinggi_peta_asli));
prajurit_y.push((11 * lebar_tinggi_peta_asli));
prajurit_xa.push((6 * lebar_tinggi_peta_asli));
prajurit_xb.push((23 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((7 * lebar_tinggi_peta_asli));
prajurit_y.push((19 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((25 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((8 * lebar_tinggi_peta_asli));
prajurit_y.push((19 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((25 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((17 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((22 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
prajurit_mati.push(false);
prajurit_x.push((18 * lebar_tinggi_peta_asli));
prajurit_y.push((28 * lebar_tinggi_peta_asli));
prajurit_xa.push((2 * lebar_tinggi_peta_asli));
prajurit_xb.push((22 * lebar_tinggi_peta_asli));
prajurit_hadap.push(0);
energi_prajurit.push(energi_prajurit_awal);
bonus_1 = true;
bonus_2 = true;
bonus_3 = true;
bonus_1_x = (2 * lebar_tinggi_peta_asli);
bonus_1_y = (18 * lebar_tinggi_peta_asli);
bonus_2_x = (15 * lebar_tinggi_peta_asli);
bonus_2_y = (9 * lebar_tinggi_peta_asli);
bonus_3_x = (15 * lebar_tinggi_peta_asli);
bonus_3_y = (3 * lebar_tinggi_peta_asli);
ada_waktu = false;
break;
};
karakter_2_tile_x = karakter_1_tile_x;
karakter_2_tile_y = karakter_1_tile_y;
karakter_3_tile_x = karakter_1_tile_x;
karakter_3_tile_y = karakter_1_tile_y;
karakter_4_tile_x = karakter_1_tile_x;
karakter_4_tile_y = karakter_1_tile_y;
karakter_5_tile_x = karakter_1_tile_x;
karakter_5_tile_y = karakter_1_tile_y;
}
public static function resetData():void{
so.data.nama_pemain = "";
so.data.nama_hs_1 = "No Name";
so.data.nama_hs_2 = "No Name";
so.data.nama_hs_3 = "No Name";
so.data.nama_hs_4 = "No Name";
so.data.nama_hs_5 = "No Name";
so.data.nama_hs_6 = "No Name";
so.data.nama_hs_7 = "No Name";
so.data.nama_hs_8 = "No Name";
so.data.nama_hs_9 = "No Name";
so.data.nama_hs_10 = "No Name";
so.data.skor_hs_1 = 900;
so.data.skor_hs_2 = 800;
so.data.skor_hs_3 = 700;
so.data.skor_hs_4 = 600;
so.data.skor_hs_5 = 500;
so.data.skor_hs_6 = 400;
so.data.skor_hs_7 = 300;
so.data.skor_hs_8 = 200;
so.data.skor_hs_9 = 100;
so.data.skor_hs_10 = 10;
so.data.stage_1_boleh = true;
so.data.stage_2_boleh = false;
so.data.stage_3_boleh = false;
so.data.stage_4_boleh = false;
so.data.stage_5_boleh = false;
so.data.stage_6_boleh = false;
so.data.stage_7_boleh = false;
so.data.stage_8_boleh = false;
so.data.stage_9_boleh = false;
so.data.stage_10_boleh = false;
so.data.character_terpilih = 1;
so.data.character_1_level = 1;
so.data.character_2_level = 1;
so.data.character_3_level = 1;
so.data.character_4_level = 1;
so.data.character_5_level = 1;
so.data.character_1_hp = 21;
so.data.character_2_hp = 24;
so.data.character_3_hp = 22;
so.data.character_4_hp = 25;
so.data.character_5_hp = 23;
so.data.character_1_special = 25;
so.data.character_2_special = 27;
so.data.character_3_special = 26;
so.data.character_4_special = 24;
so.data.character_5_special = 28;
so.data.character_1_speed = 20;
so.data.character_2_speed = 22;
so.data.character_3_speed = 21;
so.data.character_4_speed = 22;
so.data.character_5_speed = 21;
so.data.skor_total_1 = 0;
so.data.skor_total_2 = 0;
so.data.skor_total_3 = 0;
so.data.skor_total_4 = 0;
so.data.skor_total_5 = 0;
so.data.skor_total_6 = 0;
so.data.skor_total_7 = 0;
so.data.skor_total_8 = 0;
so.data.skor_total_9 = 0;
so.data.skor_total_10 = 0;
}
public static function isi_data():void{
if (so.data.stage_1_boleh == undefined){
resetData();
resetData2();
};
keterangan_film_1 = "The Earth nightmare has come.\n";
keterangan_film_1 = (keterangan_film_1 + "DOBOLLIEN the Alien Conqueror Company has choose Earth as their destiny.\n");
keterangan_film_1 = (keterangan_film_1 + "Thus, they come to invade the Earth.\n");
keterangan_film_1 = (keterangan_film_1 + "\n\n");
keterangan_film_1 = (keterangan_film_1 + "Fortunately, they landed in the wrong area.\n");
keterangan_film_1 = (keterangan_film_1 + "They landed in ");
keterangan_film_1 = (keterangan_film_1 + "a village near the main city where the DOBOLLIEN real destination.\n");
keterangan_film_1 = (keterangan_film_1 + "In this village, there are five special person.\n\n");
keterangan_film_1 = (keterangan_film_1 + "Although they don't look so strong, but they are.");
keterangan_film_1 = (keterangan_film_1 + " And even more, they have special power.\n");
keterangan_film_1 = (keterangan_film_1 + "They can transform into super heroes.");
keterangan_film_1 = (keterangan_film_1 + "People called them VILLAGE HEROES.");
judul_keterangan_skenario_1 = "Chapter 1 : The Arrival";
judul_keterangan_skenario_2 = "Chapter 2 : Time Limit";
judul_keterangan_skenario_3 = "Chapter 3 : The Protector";
judul_keterangan_skenario_4 = "Chapter 4 : Efal";
judul_keterangan_skenario_5 = "Chapter 5 : Second Time Limit";
judul_keterangan_skenario_6 = "Chapter 6 : Full Elimination";
judul_keterangan_skenario_7 = "Chapter 7 : Instant Vanish";
judul_keterangan_skenario_8 = "Chapter 8 : Srags and Bassawi";
judul_keterangan_skenario_9 = "Chapter 9 : The Protection for two";
judul_keterangan_skenario_10 = "Last Chapter : Final Touch";
keterangan_ending_1 = "After a persevering struggle,\n\n";
keterangan_ending_1 = (keterangan_ending_1 + "Finally DOBBOLIEN give up and leave The Earth");
keterangan_ending_2 = "The Earth become peace again. ";
keterangan_ending_2 = (keterangan_ending_2 + "Thanks to our hero, Village Heroes.");
keterangan_skenario_1 = "DOBOLLIEN has come\n\n";
keterangan_skenario_1 = (keterangan_skenario_1 + "Their arrival crowding the village and endangering the Earth. ");
keterangan_skenario_1 = (keterangan_skenario_1 + "We must stop them !");
keterangan_skenario_2 = "DOBOLLIEN entering the Village\n\n";
keterangan_skenario_2 = (keterangan_skenario_2 + "We have to stop them before they spread");
keterangan_skenario_3 = "DOBOLLIEN try to kill the Village Head Master\n\n";
keterangan_skenario_3 = (keterangan_skenario_3 + "We have to save him");
keterangan_skenario_4 = "Efal is one of the enemy strong officer\n\n";
keterangan_skenario_4 = (keterangan_skenario_4 + "We have to stop him before he is going too far");
keterangan_skenario_5 = "Another enemy strong officer is Bassawi\n\n";
keterangan_skenario_5 = (keterangan_skenario_5 + "We have to eliminate him before the time run out");
keterangan_skenario_6 = "Enemy is getting spread anywhere\n\n";
keterangan_skenario_6 = (keterangan_skenario_6 + "We have to eliminate them all");
keterangan_skenario_7 = "Enemy is still anywhere. They are even getting rampant.\n\n";
keterangan_skenario_7 = (keterangan_skenario_7 + "We have to eliminate him before the time run out");
keterangan_skenario_8 = "Srags and Bassawi is targeting the Village Head Master.\n\n";
keterangan_skenario_8 = (keterangan_skenario_8 + "We have to save him !");
keterangan_skenario_9 = "Enemy is still not give up yet. They targeting Village Head Master and Vice-Master\n\n";
keterangan_skenario_9 = (keterangan_skenario_9 + "We have to save them !");
keterangan_skenario_10 = "This is enough. no more DOBOLLIEN allowed in this Earth.\n\n";
keterangan_skenario_10 = (keterangan_skenario_10 + "We have to finish them all !");
misi_skenario_1 = "Win :\n\n";
misi_skenario_1 = (misi_skenario_1 + "- All enemies officer are dead");
misi_skenario_1 = (misi_skenario_1 + "\n\n");
misi_skenario_1 = (misi_skenario_1 + "Lose : \n\n");
misi_skenario_1 = (misi_skenario_1 + "- Main character is dead");
misi_skenario_2 = "Win :\n\n";
misi_skenario_2 = (misi_skenario_2 + "- All enemies officer are dead");
misi_skenario_2 = (misi_skenario_2 + "\n\n");
misi_skenario_2 = (misi_skenario_2 + "Lose : \n\n");
misi_skenario_2 = (misi_skenario_2 + "- Time Out\n");
misi_skenario_2 = (misi_skenario_2 + "- Main character is dead");
misi_skenario_3 = "Win :\n\n";
misi_skenario_3 = (misi_skenario_3 + "- All enemies officer are dead");
misi_skenario_3 = (misi_skenario_3 + "\n\n");
misi_skenario_3 = (misi_skenario_3 + "Lose : \n\n");
misi_skenario_3 = (misi_skenario_3 + "- Village Head Master is dead\n");
misi_skenario_3 = (misi_skenario_3 + "- Main character is dead");
misi_skenario_4 = "Win :\n\n";
misi_skenario_4 = (misi_skenario_4 + "- Efal is dead");
misi_skenario_4 = (misi_skenario_4 + "\n\n");
misi_skenario_4 = (misi_skenario_4 + "Lose : \n\n");
misi_skenario_4 = (misi_skenario_4 + "- Main character is dead");
misi_skenario_5 = "Win :\n\n";
misi_skenario_5 = (misi_skenario_5 + "- Bassawi is dead");
misi_skenario_5 = (misi_skenario_5 + "\n\n");
misi_skenario_5 = (misi_skenario_5 + "Lose : \n\n");
misi_skenario_5 = (misi_skenario_5 + "- Time Out\n");
misi_skenario_5 = (misi_skenario_5 + "- Main character is dead");
misi_skenario_6 = "Win :\n\n";
misi_skenario_6 = (misi_skenario_6 + "- No any enemy on stage");
misi_skenario_6 = (misi_skenario_6 + "\n\n");
misi_skenario_6 = (misi_skenario_6 + "Lose : \n\n");
misi_skenario_6 = (misi_skenario_6 + "- Main character is dead");
misi_skenario_7 = "Win :\n\n";
misi_skenario_7 = (misi_skenario_7 + "- No any enemy on stage");
misi_skenario_7 = (misi_skenario_7 + "\n\n");
misi_skenario_7 = (misi_skenario_7 + "Lose : \n\n");
misi_skenario_7 = (misi_skenario_7 + "- Time Out");
misi_skenario_7 = (misi_skenario_7 + "- Main character is dead");
misi_skenario_8 = "Win :\n\n";
misi_skenario_8 = (misi_skenario_8 + "- Srags and Bassawi are dead");
misi_skenario_8 = (misi_skenario_8 + "\n\n");
misi_skenario_8 = (misi_skenario_8 + "Lose : \n\n");
misi_skenario_8 = (misi_skenario_8 + "- Village Head Master is dead\n");
misi_skenario_8 = (misi_skenario_8 + "- Main character is dead");
misi_skenario_9 = "Win :\n\n";
misi_skenario_9 = (misi_skenario_9 + "- All enemies officer are dead");
misi_skenario_9 = (misi_skenario_9 + "\n\n");
misi_skenario_9 = (misi_skenario_9 + "Lose : \n\n");
misi_skenario_9 = (misi_skenario_9 + "- Village Head Master or Vice-Master is dead\n");
misi_skenario_9 = (misi_skenario_9 + "- Main character is dead");
misi_skenario_10 = "Win :\n\n";
misi_skenario_10 = (misi_skenario_10 + "- No any enemy on stage");
misi_skenario_10 = (misi_skenario_10 + "\n\n");
misi_skenario_10 = (misi_skenario_10 + "Lose : \n\n");
misi_skenario_10 = (misi_skenario_10 + "- Main character is dead");
basic_movement = "X : Attack, SPACE : Jump";
keterangan_movement_1 = "Q : ttack 1";
keterangan_movement_2 = "W : Combo Attack 2";
keterangan_movement_3 = "E : Combo Attack 3";
keterangan_movement_4 = "A : Combo Attack 4";
keterangan_movement_5 = "S : Matrix Attack 1";
keterangan_movement_6 = "D : Matrix Attack 2";
keterangan_movement_7 = "C-X-C : Matrix Attack 3";
keterangan_movement_8 = "C-C : Double Matrix Attack 1";
keterangan_movement_9 = "C-C-X : Double Matrix Attack 2";
keterangan_movement_10 = "X-C-V : Super Attack";
}
}
}//package com.hito
Section 255
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.5.0.12683";
public function BitmapAsset(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){
super(bitmapData, pixelSnapping, smoothing);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(newWidth:Number, newHeight:Number):void{
width = newWidth;
height = newHeight;
}
public function move(x:Number, y:Number):void{
this.x = x;
this.y = y;
}
}
}//package mx.core
Section 256
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
public function ByteArrayAsset(){
super();
}
}
}//package mx.core
Section 257
//EdgeMetrics (mx.core.EdgeMetrics)
package mx.core {
public class EdgeMetrics {
public var top:Number;
public var left:Number;
public var bottom:Number;
public var right:Number;
mx_internal static const VERSION:String = "3.5.0.12683";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(left:Number=0, top:Number=0, right:Number=0, bottom:Number=0){
super();
this.left = left;
this.top = top;
this.right = right;
this.bottom = bottom;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 258
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.5.0.12683";
public function FlexBitmap(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){
var bitmapData = bitmapData;
var pixelSnapping = pixelSnapping;
var smoothing = smoothing;
super(bitmapData, pixelSnapping, smoothing);
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 259
//FlexLoader (mx.core.FlexLoader)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexLoader extends Loader {
mx_internal static const VERSION:String = "3.5.0.12683";
public function FlexLoader(){
super();
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 260
//FlexShape (mx.core.FlexShape)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexShape extends Shape {
mx_internal static const VERSION:String = "3.5.0.12683";
public function FlexShape(){
super();
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 261
//FlexVersion (mx.core.FlexVersion)
package mx.core {
import mx.resources.*;
public class FlexVersion {
public static const VERSION_2_0_1:uint = 33554433;
public static const CURRENT_VERSION:uint = 50331648;
public static const VERSION_3_0:uint = 50331648;
public static const VERSION_2_0:uint = 33554432;
public static const VERSION_ALREADY_READ:String = "versionAlreadyRead";
public static const VERSION_ALREADY_SET:String = "versionAlreadySet";
mx_internal static const VERSION:String = "3.5.0.12683";
private static var compatibilityVersionChanged:Boolean = false;
private static var _compatibilityErrorFunction:Function;
private static var _compatibilityVersion:uint = 50331648;
private static var compatibilityVersionRead:Boolean = false;
public function FlexVersion(){
super();
}
mx_internal static function changeCompatibilityVersionString(value:String):void{
var pieces:Array = value.split(".");
var major:uint = parseInt(pieces[0]);
var minor:uint = parseInt(pieces[1]);
var update:uint = parseInt(pieces[2]);
_compatibilityVersion = (((major << 24) + (minor << 16)) + update);
}
public static function set compatibilityVersion(value:uint):void{
var s:String;
if (value == _compatibilityVersion){
return;
};
if (compatibilityVersionChanged){
if (compatibilityErrorFunction == null){
s = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET);
throw (new Error(s));
};
compatibilityErrorFunction(value, VERSION_ALREADY_SET);
};
if (compatibilityVersionRead){
if (compatibilityErrorFunction == null){
s = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ);
throw (new Error(s));
};
compatibilityErrorFunction(value, VERSION_ALREADY_READ);
};
_compatibilityVersion = value;
compatibilityVersionChanged = true;
}
public static function get compatibilityVersion():uint{
compatibilityVersionRead = true;
return (_compatibilityVersion);
}
public static function set compatibilityErrorFunction(value:Function):void{
_compatibilityErrorFunction = value;
}
public static function set compatibilityVersionString(value:String):void{
var pieces:Array = value.split(".");
var major:uint = parseInt(pieces[0]);
var minor:uint = parseInt(pieces[1]);
var update:uint = parseInt(pieces[2]);
compatibilityVersion = (((major << 24) + (minor << 16)) + update);
}
public static function get compatibilityErrorFunction():Function{
return (_compatibilityErrorFunction);
}
public static function get compatibilityVersionString():String{
var major:uint = ((compatibilityVersion >> 24) & 0xFF);
var minor:uint = ((compatibilityVersion >> 16) & 0xFF);
var update:uint = (compatibilityVersion & 0xFFFF);
return (((((major.toString() + ".") + minor.toString()) + ".") + update.toString()));
}
}
}//package mx.core
Section 262
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
public function FontAsset(){
super();
}
}
}//package mx.core
Section 263
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 264
//IButton (mx.core.IButton)
package mx.core {
public interface IButton extends IUIComponent {
function get emphasized():Boolean;
function set emphasized(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IButton.as:Boolean):void;
function callLater(_arg1:Function, _arg2:Array=null):void;
}
}//package mx.core
Section 265
//IChildList (mx.core.IChildList)
package mx.core {
import flash.display.*;
import flash.geom.*;
public interface IChildList {
function get numChildren():int;
function removeChild(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IChildList.as:DisplayObject):DisplayObject;
function getChildByName(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IChildList.as:String):DisplayObject;
function removeChildAt(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IChildList.as:int):DisplayObject;
function getChildIndex(:DisplayObject):int;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function getObjectsUnderPoint(child:Point):Array;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function getChildAt(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IChildList.as:int):DisplayObject;
function addChild(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IChildList.as:DisplayObject):DisplayObject;
function contains(flash.display:DisplayObject):Boolean;
}
}//package mx.core
Section 266
//IContainer (mx.core.IContainer)
package mx.core {
import flash.display.*;
import flash.geom.*;
import mx.managers.*;
import flash.media.*;
import flash.text.*;
public interface IContainer extends IUIComponent {
function set hitArea(mx.core:IContainer/mx.core:IContainer:graphics/get:Sprite):void;
function swapChildrenAt(_arg1:int, _arg2:int):void;
function getChildByName(Graphics:String):DisplayObject;
function get doubleClickEnabled():Boolean;
function get graphics():Graphics;
function get useHandCursor():Boolean;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function set mouseChildren(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function set creatingContentPane(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function get textSnapshot():TextSnapshot;
function getChildIndex(value:DisplayObject):int;
function set doubleClickEnabled(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function getObjectsUnderPoint(lockCenter:Point):Array;
function get creatingContentPane():Boolean;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function get soundTransform():SoundTransform;
function set useHandCursor(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function get numChildren():int;
function contains(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;ISpriteInterface.as:DisplayObject):Boolean;
function get verticalScrollPosition():Number;
function set defaultButton(mx.core:IContainer/mx.core:IContainer:graphics/get:IFlexDisplayObject):void;
function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void;
function set horizontalScrollPosition(mx.core:IContainer/mx.core:IContainer:graphics/get:Number):void;
function get focusManager():IFocusManager;
function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void;
function set mouseEnabled(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function getChildAt(Graphics:int):DisplayObject;
function set soundTransform(mx.core:IContainer/mx.core:IContainer:graphics/get:SoundTransform):void;
function get tabChildren():Boolean;
function get tabIndex():int;
function set focusRect(mx.core:IContainer/mx.core:IContainer:graphics/get:Object):void;
function get hitArea():Sprite;
function get mouseChildren():Boolean;
function removeChildAt(Graphics:int):DisplayObject;
function get defaultButton():IFlexDisplayObject;
function stopDrag():void;
function set tabEnabled(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function get horizontalScrollPosition():Number;
function get focusRect():Object;
function get viewMetrics():EdgeMetrics;
function set verticalScrollPosition(mx.core:IContainer/mx.core:IContainer:graphics/get:Number):void;
function get dropTarget():DisplayObject;
function get mouseEnabled():Boolean;
function set tabChildren(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function set buttonMode(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function get tabEnabled():Boolean;
function get buttonMode():Boolean;
function removeChild(Graphics:DisplayObject):DisplayObject;
function set tabIndex(mx.core:IContainer/mx.core:IContainer:graphics/get:int):void;
function addChild(Graphics:DisplayObject):DisplayObject;
function areInaccessibleObjectsUnderPoint(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;ISpriteInterface.as:Point):Boolean;
}
}//package mx.core
Section 267
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 268
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(void:Point):Point;
function get name():String;
function set width(flash.display:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(flash.display:String):void;
function set scaleX(flash.display:Number):void;
function set scaleY(flash.display:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(flash.display:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(void:Point):Point;
function get height():Number;
function set blendMode(flash.display:String):void;
function get parent():DisplayObjectContainer;
function getBounds(String:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(flash.display:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(flash.display:Number):void;
function set accessibilityProperties(flash.display:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(flash.display:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(flash.display:Number):void;
function set mask(flash.display:DisplayObject):void;
function getRect(String:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(flash.display:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(mx.core:IFlexDisplayObject/mx.core:IFlexDisplayObject:stage/get:DisplayObject):Boolean;
function set opaqueBackground(flash.display:Object):void;
function set visible(flash.display:Boolean):void;
function get mask():DisplayObject;
function set x(flash.display:Number):void;
function set y(flash.display:Number):void;
function get transform():Transform;
function set filters(flash.display:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(flash.display:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 269
//IFlexModuleFactory (mx.core.IFlexModuleFactory)
package mx.core {
import flash.utils.*;
public interface IFlexModuleFactory {
function get preloadedRSLs():Dictionary;
function allowInsecureDomain(... _args):void;
function create(... _args):Object;
function allowDomain(... _args):void;
function info():Object;
}
}//package mx.core
Section 270
//IInvalidating (mx.core.IInvalidating)
package mx.core {
public interface IInvalidating {
function validateNow():void;
function invalidateSize():void;
function invalidateDisplayList():void;
function invalidateProperties():void;
}
}//package mx.core
Section 271
//IProgrammaticSkin (mx.core.IProgrammaticSkin)
package mx.core {
public interface IProgrammaticSkin {
function validateNow():void;
function validateDisplayList():void;
}
}//package mx.core
Section 272
//IRawChildrenContainer (mx.core.IRawChildrenContainer)
package mx.core {
public interface IRawChildrenContainer {
function get rawChildren():IChildList;
}
}//package mx.core
Section 273
//IRectangularBorder (mx.core.IRectangularBorder)
package mx.core {
import flash.geom.*;
public interface IRectangularBorder extends IBorder {
function get backgroundImageBounds():Rectangle;
function get hasBackgroundImage():Boolean;
function set backgroundImageBounds(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IRectangularBorder.as:Rectangle):void;
function layoutBackgroundImage():void;
}
}//package mx.core
Section 274
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function get isDocument():Boolean;
function set repeaters(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function initializeRepeaterArrays(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 275
//ISWFBridgeGroup (mx.core.ISWFBridgeGroup)
package mx.core {
import flash.events.*;
public interface ISWFBridgeGroup {
function getChildBridgeProvider(mx.core:ISWFBridgeGroup/mx.core:ISWFBridgeGroup:parentBridge/get:IEventDispatcher):ISWFBridgeProvider;
function removeChildBridge(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;ISWFBridgeGroup.as:IEventDispatcher):void;
function get parentBridge():IEventDispatcher;
function addChildBridge(_arg1:IEventDispatcher, _arg2:ISWFBridgeProvider):void;
function set parentBridge(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\core;ISWFBridgeGroup.as:IEventDispatcher):void;
function containsBridge(IEventDispatcher:IEventDispatcher):Boolean;
function getChildBridges():Array;
}
}//package mx.core
Section 276
//ISWFBridgeProvider (mx.core.ISWFBridgeProvider)
package mx.core {
import flash.events.*;
public interface ISWFBridgeProvider {
function get childAllowsParent():Boolean;
function get swfBridge():IEventDispatcher;
function get parentAllowsChild():Boolean;
}
}//package mx.core
Section 277
//IUIComponent (mx.core.IUIComponent)
package mx.core {
import flash.display.*;
import mx.managers.*;
public interface IUIComponent extends IFlexDisplayObject {
function set focusPane(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Sprite):void;
function get enabled():Boolean;
function set enabled(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Boolean):void;
function set isPopUp(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Boolean):void;
function get explicitMinHeight():Number;
function get percentWidth():Number;
function get isPopUp():Boolean;
function get owner():DisplayObjectContainer;
function get percentHeight():Number;
function get baselinePosition():Number;
function owns(Number:DisplayObject):Boolean;
function initialize():void;
function get maxWidth():Number;
function get minWidth():Number;
function getExplicitOrMeasuredWidth():Number;
function get explicitMaxWidth():Number;
function get explicitMaxHeight():Number;
function set percentHeight(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function get minHeight():Number;
function set percentWidth(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function get document():Object;
function get focusPane():Sprite;
function getExplicitOrMeasuredHeight():Number;
function set tweeningProperties(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Array):void;
function set explicitWidth(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function set measuredMinHeight(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function get explicitMinWidth():Number;
function get tweeningProperties():Array;
function get maxHeight():Number;
function set owner(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:DisplayObjectContainer):void;
function set includeInLayout(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Boolean):void;
function setVisible(_arg1:Boolean, _arg2:Boolean=false):void;
function parentChanged(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:DisplayObjectContainer):void;
function get explicitWidth():Number;
function get measuredMinHeight():Number;
function set measuredMinWidth(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function set explicitHeight(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function get includeInLayout():Boolean;
function get measuredMinWidth():Number;
function get explicitHeight():Number;
function set systemManager(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:ISystemManager):void;
function set document(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Object):void;
function get systemManager():ISystemManager;
}
}//package mx.core
Section 278
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 279
//Singleton (mx.core.Singleton)
package mx.core {
public class Singleton {
mx_internal static const VERSION:String = "3.5.0.12683";
private static var classMap:Object = {};
public function Singleton(){
super();
}
public static function registerClass(interfaceName:String, clazz:Class):void{
var c:Class = classMap[interfaceName];
if (!c){
classMap[interfaceName] = clazz;
};
}
public static function getClass(interfaceName:String):Class{
return (classMap[interfaceName]);
}
public static function getInstance(interfaceName:String):Object{
var c:Class = classMap[interfaceName];
if (!c){
throw (new Error((("No class registered for interface '" + interfaceName) + "'.")));
};
return (c["getInstance"]());
}
}
}//package mx.core
Section 280
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
public function SoundAsset(){
super();
}
}
}//package mx.core
Section 281
//UIComponentGlobals (mx.core.UIComponentGlobals)
package mx.core {
import flash.display.*;
import flash.geom.*;
import mx.managers.*;
public class UIComponentGlobals {
mx_internal static var callLaterSuspendCount:int = 0;
mx_internal static var layoutManager:ILayoutManager;
mx_internal static var nextFocusObject:InteractiveObject;
mx_internal static var designTime:Boolean = false;
mx_internal static var tempMatrix:Matrix = new Matrix();
mx_internal static var callLaterDispatcherCount:int = 0;
private static var _catchCallLaterExceptions:Boolean = false;
public function UIComponentGlobals(){
super();
}
public static function set catchCallLaterExceptions(value:Boolean):void{
_catchCallLaterExceptions = value;
}
public static function get designMode():Boolean{
return (designTime);
}
public static function set designMode(value:Boolean):void{
designTime = value;
}
public static function get catchCallLaterExceptions():Boolean{
return (_catchCallLaterExceptions);
}
}
}//package mx.core
Section 282
//ModuleEvent (mx.events.ModuleEvent)
package mx.events {
import flash.events.*;
import mx.modules.*;
public class ModuleEvent extends ProgressEvent {
public var errorText:String;
private var _module:IModuleInfo;
public static const READY:String = "ready";
public static const ERROR:String = "error";
public static const PROGRESS:String = "progress";
mx_internal static const VERSION:String = "3.5.0.12683";
public static const SETUP:String = "setup";
public static const UNLOAD:String = "unload";
public function ModuleEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:uint=0, bytesTotal:uint=0, errorText:String=null, module:IModuleInfo=null){
super(type, bubbles, cancelable, bytesLoaded, bytesTotal);
this.errorText = errorText;
this._module = module;
}
public function get module():IModuleInfo{
if (_module){
return (_module);
};
return ((target as IModuleInfo));
}
override public function clone():Event{
return (new ModuleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText, module));
}
}
}//package mx.events
Section 283
//ResourceEvent (mx.events.ResourceEvent)
package mx.events {
import flash.events.*;
public class ResourceEvent extends ProgressEvent {
public var errorText:String;
mx_internal static const VERSION:String = "3.5.0.12683";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function ResourceEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:uint=0, bytesTotal:uint=0, errorText:String=null){
super(type, bubbles, cancelable, bytesLoaded, bytesTotal);
this.errorText = errorText;
}
override public function clone():Event{
return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 284
//StyleEvent (mx.events.StyleEvent)
package mx.events {
import flash.events.*;
public class StyleEvent extends ProgressEvent {
public var errorText:String;
mx_internal static const VERSION:String = "3.5.0.12683";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function StyleEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:uint=0, bytesTotal:uint=0, errorText:String=null){
super(type, bubbles, cancelable, bytesLoaded, bytesTotal);
this.errorText = errorText;
}
override public function clone():Event{
return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 285
//RectangularDropShadow (mx.graphics.RectangularDropShadow)
package mx.graphics {
import mx.core.*;
import flash.display.*;
import flash.geom.*;
import mx.utils.*;
import flash.filters.*;
public class RectangularDropShadow {
private var leftShadow:BitmapData;
private var _tlRadius:Number;// = 0
private var _trRadius:Number;// = 0
private var _angle:Number;// = 45
private var topShadow:BitmapData;
private var _distance:Number;// = 4
private var rightShadow:BitmapData;
private var _alpha:Number;// = 0.4
private var shadow:BitmapData;
private var _brRadius:Number;// = 0
private var _blRadius:Number;// = 0
private var _color:int;// = 0
private var bottomShadow:BitmapData;
private var changed:Boolean;// = true
mx_internal static const VERSION:String = "3.5.0.12683";
public function RectangularDropShadow(){
super();
}
public function get blRadius():Number{
return (_blRadius);
}
public function set brRadius(value:Number):void{
if (_brRadius != value){
_brRadius = value;
changed = true;
};
}
public function set color(value:int):void{
if (_color != value){
_color = value;
changed = true;
};
}
public function drawShadow(g:Graphics, x:Number, y:Number, width:Number, height:Number):void{
var tlWidth:Number;
var tlHeight:Number;
var trWidth:Number;
var trHeight:Number;
var blWidth:Number;
var blHeight:Number;
var brWidth:Number;
var brHeight:Number;
if (changed){
createShadowBitmaps();
changed = false;
};
width = Math.ceil(width);
height = Math.ceil(height);
var leftThickness:int = (leftShadow) ? leftShadow.width : 0;
var rightThickness:int = (rightShadow) ? rightShadow.width : 0;
var topThickness:int = (topShadow) ? topShadow.height : 0;
var bottomThickness:int = (bottomShadow) ? bottomShadow.height : 0;
var widthThickness:int = (leftThickness + rightThickness);
var heightThickness:int = (topThickness + bottomThickness);
var maxCornerHeight:Number = ((height + heightThickness) / 2);
var maxCornerWidth:Number = ((width + widthThickness) / 2);
var matrix:Matrix = new Matrix();
if (((leftShadow) || (topShadow))){
tlWidth = Math.min((tlRadius + widthThickness), maxCornerWidth);
tlHeight = Math.min((tlRadius + heightThickness), maxCornerHeight);
matrix.tx = (x - leftThickness);
matrix.ty = (y - topThickness);
g.beginBitmapFill(shadow, matrix);
g.drawRect((x - leftThickness), (y - topThickness), tlWidth, tlHeight);
g.endFill();
};
if (((rightShadow) || (topShadow))){
trWidth = Math.min((trRadius + widthThickness), maxCornerWidth);
trHeight = Math.min((trRadius + heightThickness), maxCornerHeight);
matrix.tx = (((x + width) + rightThickness) - shadow.width);
matrix.ty = (y - topThickness);
g.beginBitmapFill(shadow, matrix);
g.drawRect((((x + width) + rightThickness) - trWidth), (y - topThickness), trWidth, trHeight);
g.endFill();
};
if (((leftShadow) || (bottomShadow))){
blWidth = Math.min((blRadius + widthThickness), maxCornerWidth);
blHeight = Math.min((blRadius + heightThickness), maxCornerHeight);
matrix.tx = (x - leftThickness);
matrix.ty = (((y + height) + bottomThickness) - shadow.height);
g.beginBitmapFill(shadow, matrix);
g.drawRect((x - leftThickness), (((y + height) + bottomThickness) - blHeight), blWidth, blHeight);
g.endFill();
};
if (((rightShadow) || (bottomShadow))){
brWidth = Math.min((brRadius + widthThickness), maxCornerWidth);
brHeight = Math.min((brRadius + heightThickness), maxCornerHeight);
matrix.tx = (((x + width) + rightThickness) - shadow.width);
matrix.ty = (((y + height) + bottomThickness) - shadow.height);
g.beginBitmapFill(shadow, matrix);
g.drawRect((((x + width) + rightThickness) - brWidth), (((y + height) + bottomThickness) - brHeight), brWidth, brHeight);
g.endFill();
};
if (leftShadow){
matrix.tx = (x - leftThickness);
matrix.ty = 0;
g.beginBitmapFill(leftShadow, matrix);
g.drawRect((x - leftThickness), ((y - topThickness) + tlHeight), leftThickness, ((((height + topThickness) + bottomThickness) - tlHeight) - blHeight));
g.endFill();
};
if (rightShadow){
matrix.tx = (x + width);
matrix.ty = 0;
g.beginBitmapFill(rightShadow, matrix);
g.drawRect((x + width), ((y - topThickness) + trHeight), rightThickness, ((((height + topThickness) + bottomThickness) - trHeight) - brHeight));
g.endFill();
};
if (topShadow){
matrix.tx = 0;
matrix.ty = (y - topThickness);
g.beginBitmapFill(topShadow, matrix);
g.drawRect(((x - leftThickness) + tlWidth), (y - topThickness), ((((width + leftThickness) + rightThickness) - tlWidth) - trWidth), topThickness);
g.endFill();
};
if (bottomShadow){
matrix.tx = 0;
matrix.ty = (y + height);
g.beginBitmapFill(bottomShadow, matrix);
g.drawRect(((x - leftThickness) + blWidth), (y + height), ((((width + leftThickness) + rightThickness) - blWidth) - brWidth), bottomThickness);
g.endFill();
};
}
public function get brRadius():Number{
return (_brRadius);
}
public function get angle():Number{
return (_angle);
}
private function createShadowBitmaps():void{
var roundRectWidth:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius));
var roundRectHeight:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius));
if ((((roundRectWidth < 0)) || ((roundRectHeight < 0)))){
return;
};
var roundRect:Shape = new FlexShape();
var g:Graphics = roundRect.graphics;
g.beginFill(0xFFFFFF);
GraphicsUtil.drawRoundRectComplex(g, 0, 0, roundRectWidth, roundRectHeight, tlRadius, trRadius, blRadius, brRadius);
g.endFill();
var roundRectBitmap:BitmapData = new BitmapData(roundRectWidth, roundRectHeight, true, 0);
roundRectBitmap.draw(roundRect, new Matrix());
var filter:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha);
filter.knockout = true;
var inputRect:Rectangle = new Rectangle(0, 0, roundRectWidth, roundRectHeight);
var outputRect:Rectangle = roundRectBitmap.generateFilterRect(inputRect, filter);
var leftThickness:Number = (inputRect.left - outputRect.left);
var rightThickness:Number = (outputRect.right - inputRect.right);
var topThickness:Number = (inputRect.top - outputRect.top);
var bottomThickness:Number = (outputRect.bottom - inputRect.bottom);
shadow = new BitmapData(outputRect.width, outputRect.height);
shadow.applyFilter(roundRectBitmap, inputRect, new Point(leftThickness, topThickness), filter);
var origin:Point = new Point(0, 0);
var rect:Rectangle = new Rectangle();
if (leftThickness > 0){
rect.x = 0;
rect.y = ((tlRadius + topThickness) + bottomThickness);
rect.width = leftThickness;
rect.height = 1;
leftShadow = new BitmapData(leftThickness, 1);
leftShadow.copyPixels(shadow, rect, origin);
} else {
leftShadow = null;
};
if (rightThickness > 0){
rect.x = (shadow.width - rightThickness);
rect.y = ((trRadius + topThickness) + bottomThickness);
rect.width = rightThickness;
rect.height = 1;
rightShadow = new BitmapData(rightThickness, 1);
rightShadow.copyPixels(shadow, rect, origin);
} else {
rightShadow = null;
};
if (topThickness > 0){
rect.x = ((tlRadius + leftThickness) + rightThickness);
rect.y = 0;
rect.width = 1;
rect.height = topThickness;
topShadow = new BitmapData(1, topThickness);
topShadow.copyPixels(shadow, rect, origin);
} else {
topShadow = null;
};
if (bottomThickness > 0){
rect.x = ((blRadius + leftThickness) + rightThickness);
rect.y = (shadow.height - bottomThickness);
rect.width = 1;
rect.height = bottomThickness;
bottomShadow = new BitmapData(1, bottomThickness);
bottomShadow.copyPixels(shadow, rect, origin);
} else {
bottomShadow = null;
};
}
public function get alpha():Number{
return (_alpha);
}
public function get color():int{
return (_color);
}
public function set angle(value:Number):void{
if (_angle != value){
_angle = value;
changed = true;
};
}
public function set trRadius(value:Number):void{
if (_trRadius != value){
_trRadius = value;
changed = true;
};
}
public function set tlRadius(value:Number):void{
if (_tlRadius != value){
_tlRadius = value;
changed = true;
};
}
public function get trRadius():Number{
return (_trRadius);
}
public function set distance(value:Number):void{
if (_distance != value){
_distance = value;
changed = true;
};
}
public function get distance():Number{
return (_distance);
}
public function get tlRadius():Number{
return (_tlRadius);
}
public function set alpha(value:Number):void{
if (_alpha != value){
_alpha = value;
changed = true;
};
}
public function set blRadius(value:Number):void{
if (_blRadius != value){
_blRadius = value;
changed = true;
};
}
}
}//package mx.graphics
Section 286
//IFocusManager (mx.managers.IFocusManager)
package mx.managers {
import mx.core.*;
import flash.events.*;
import flash.display.*;
public interface IFocusManager {
function get focusPane():Sprite;
function getFocus():IFocusManagerComponent;
function deactivate():void;
function set defaultButton(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IButton):void;
function set focusPane(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Sprite):void;
function set showFocusIndicator(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Boolean):void;
function moveFocus(_arg1:String, _arg2:DisplayObject=null):void;
function addSWFBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function removeSWFBridge(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IEventDispatcher):void;
function get defaultButtonEnabled():Boolean;
function findFocusManagerComponent(value:InteractiveObject):IFocusManagerComponent;
function get nextTabIndex():int;
function get defaultButton():IButton;
function get showFocusIndicator():Boolean;
function setFocus(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IFocusManagerComponent):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Boolean):void;
function hideFocus():void;
function getNextFocusManagerComponent(value:Boolean=false):IFocusManagerComponent;
}
}//package mx.managers
Section 287
//IFocusManagerComponent (mx.managers.IFocusManagerComponent)
package mx.managers {
public interface IFocusManagerComponent {
function set focusEnabled(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;IFocusManagerComponent.as:Boolean):void;
function drawFocus(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;IFocusManagerComponent.as:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package mx.managers
Section 288
//IFocusManagerContainer (mx.managers.IFocusManagerContainer)
package mx.managers {
import flash.events.*;
import flash.display.*;
public interface IFocusManagerContainer extends IEventDispatcher {
function set focusManager(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;IFocusManagerContainer.as:IFocusManager):void;
function get focusManager():IFocusManager;
function get systemManager():ISystemManager;
function contains(mx.managers:DisplayObject):Boolean;
}
}//package mx.managers
Section 289
//ILayoutManager (mx.managers.ILayoutManager)
package mx.managers {
import flash.events.*;
public interface ILayoutManager extends IEventDispatcher {
function validateNow():void;
function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void;
function isInvalid():Boolean;
function invalidateDisplayList(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void;
function set usePhasedInstantiation(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:Boolean):void;
function invalidateSize(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void;
function get usePhasedInstantiation():Boolean;
function invalidateProperties(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void;
}
}//package mx.managers
Section 290
//ILayoutManagerClient (mx.managers.ILayoutManagerClient)
package mx.managers {
import flash.events.*;
public interface ILayoutManagerClient extends IEventDispatcher {
function get updateCompletePendingFlag():Boolean;
function set updateCompletePendingFlag(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void;
function set initialized(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void;
function validateProperties():void;
function validateDisplayList():void;
function get nestLevel():int;
function get initialized():Boolean;
function get processedDescriptors():Boolean;
function validateSize(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean=false):void;
function set nestLevel(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:int):void;
function set processedDescriptors(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void;
}
}//package mx.managers
Section 291
//ISystemManager (mx.managers.ISystemManager)
package mx.managers {
import mx.core.*;
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory {
function set focusPane(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Sprite):void;
function get toolTipChildren():IChildList;
function useSWFBridge():Boolean;
function isFontFaceEmbedded(flash.display:TextFormat):Boolean;
function deployMouseShields(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Boolean):void;
function get rawChildren():IChildList;
function get topLevelSystemManager():ISystemManager;
function dispatchEventFromSWFBridges(_arg1:Event, _arg2:IEventDispatcher=null, _arg3:Boolean=false, _arg4:Boolean=false):void;
function getSandboxRoot():DisplayObject;
function get swfBridgeGroup():ISWFBridgeGroup;
function removeFocusManager(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void;
function addChildToSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function get document():Object;
function get focusPane():Sprite;
function get loaderInfo():LoaderInfo;
function addChildBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function getTopLevelRoot():DisplayObject;
function removeChildBridge(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IEventDispatcher):void;
function isDisplayObjectInABridgedApplication(flash.display:DisplayObject):Boolean;
function get popUpChildren():IChildList;
function get screen():Rectangle;
function removeChildFromSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function getDefinitionByName(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\managers;ISystemManager.as:String):Object;
function activate(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void;
function deactivate(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void;
function get cursorChildren():IChildList;
function set document(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Object):void;
function get embeddedFontList():Object;
function set numModalWindows(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:int):void;
function isTopLevel():Boolean;
function isTopLevelRoot():Boolean;
function get numModalWindows():int;
function addFocusManager(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void;
function get stage():Stage;
function getVisibleApplicationRect(value:Rectangle=null):Rectangle;
}
}//package mx.managers
Section 292
//SystemManagerGlobals (mx.managers.SystemManagerGlobals)
package mx.managers {
public class SystemManagerGlobals {
public static var topLevelSystemManagers:Array = [];
public static var changingListenersInOtherSystemManagers:Boolean;
public static var bootstrapLoaderInfoURL:String;
public static var showMouseCursor:Boolean;
public static var dispatchingEventToOtherSystemManagers:Boolean;
public function SystemManagerGlobals(){
super();
}
}
}//package mx.managers
Section 293
//IModuleInfo (mx.modules.IModuleInfo)
package mx.modules {
import mx.core.*;
import flash.utils.*;
import flash.events.*;
import flash.system.*;
public interface IModuleInfo extends IEventDispatcher {
function get ready():Boolean;
function get loaded():Boolean;
function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void;
function release():void;
function get error():Boolean;
function get data():Object;
function publish(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\modules;IModuleInfo.as:IFlexModuleFactory):void;
function get factory():IFlexModuleFactory;
function set data(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\modules;IModuleInfo.as:Object):void;
function get url():String;
function get setup():Boolean;
function unload():void;
}
}//package mx.modules
Section 294
//ModuleManager (mx.modules.ModuleManager)
package mx.modules {
import mx.core.*;
public class ModuleManager {
mx_internal static const VERSION:String = "3.5.0.12683";
public function ModuleManager(){
super();
}
public static function getModule(url:String):IModuleInfo{
return (getSingleton().getModule(url));
}
private static function getSingleton():Object{
if (!ModuleManagerGlobals.managerSingleton){
ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl();
};
return (ModuleManagerGlobals.managerSingleton);
}
public static function getAssociatedFactory(object:Object):IFlexModuleFactory{
return (getSingleton().getAssociatedFactory(object));
}
}
}//package mx.modules
import mx.core.*;
import flash.utils.*;
import flash.events.*;
import flash.system.*;
import flash.display.*;
import mx.events.*;
import flash.net.*;
class ModuleInfoProxy extends EventDispatcher implements IModuleInfo {
private var _data:Object;
private var info:ModuleInfo;
private var referenced:Boolean;// = false
private function ModuleInfoProxy(info:ModuleInfo){
super();
this.info = info;
info.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true);
info.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true);
info.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true);
info.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true);
info.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true);
}
public function get loaded():Boolean{
return (info.loaded);
}
public function release():void{
if (referenced){
info.removeReference();
referenced = false;
};
}
public function get error():Boolean{
return (info.error);
}
public function get factory():IFlexModuleFactory{
return (info.factory);
}
public function publish(factory:IFlexModuleFactory):void{
info.publish(factory);
}
public function set data(value:Object):void{
_data = value;
}
public function get ready():Boolean{
return (info.ready);
}
public function load(applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null, bytes:ByteArray=null):void{
var moduleEvent:ModuleEvent;
info.resurrect();
if (!referenced){
info.addReference();
referenced = true;
};
if (info.error){
dispatchEvent(new ModuleEvent(ModuleEvent.ERROR));
} else {
if (info.loaded){
if (info.setup){
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
if (info.ready){
moduleEvent = new ModuleEvent(ModuleEvent.PROGRESS);
moduleEvent.bytesLoaded = info.size;
moduleEvent.bytesTotal = info.size;
dispatchEvent(moduleEvent);
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
};
};
} else {
info.load(applicationDomain, securityDomain, bytes);
};
};
}
private function moduleEventHandler(event:ModuleEvent):void{
dispatchEvent(event);
}
public function get url():String{
return (info.url);
}
public function get data():Object{
return (_data);
}
public function get setup():Boolean{
return (info.setup);
}
public function unload():void{
info.unload();
info.removeEventListener(ModuleEvent.SETUP, moduleEventHandler);
info.removeEventListener(ModuleEvent.PROGRESS, moduleEventHandler);
info.removeEventListener(ModuleEvent.READY, moduleEventHandler);
info.removeEventListener(ModuleEvent.ERROR, moduleEventHandler);
info.removeEventListener(ModuleEvent.UNLOAD, moduleEventHandler);
}
}
class ModuleManagerImpl extends EventDispatcher {
private var moduleList:Object;
private function ModuleManagerImpl(){
moduleList = {};
super();
}
public function getModule(url:String):IModuleInfo{
var info:ModuleInfo = (moduleList[url] as ModuleInfo);
if (!info){
info = new ModuleInfo(url);
moduleList[url] = info;
};
return (new ModuleInfoProxy(info));
}
public function getAssociatedFactory(object:Object):IFlexModuleFactory{
var m:Object;
var info:ModuleInfo;
var domain:ApplicationDomain;
var cls:Class;
var object = object;
var className:String = getQualifiedClassName(object);
for each (m in moduleList) {
info = (m as ModuleInfo);
if (!info.ready){
} else {
domain = info.applicationDomain;
cls = Class(domain.getDefinition(className));
if ((object is cls)){
return (info.factory);
};
//unresolved jump
var _slot1 = error;
};
};
return (null);
}
}
class ModuleInfo extends EventDispatcher {
private var _error:Boolean;// = false
private var loader:Loader;
private var factoryInfo:FactoryInfo;
private var limbo:Dictionary;
private var _loaded:Boolean;// = false
private var _ready:Boolean;// = false
private var numReferences:int;// = 0
private var _url:String;
private var _setup:Boolean;// = false
private function ModuleInfo(url:String){
super();
_url = url;
}
private function clearLoader():void{
if (loader){
if (loader.contentLoaderInfo){
loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
};
if (loader.content){
loader.content.removeEventListener("ready", readyHandler);
loader.content.removeEventListener("error", moduleErrorHandler);
};
//unresolved jump
var _slot1 = error;
if (_loaded){
loader.close();
//unresolved jump
var _slot1 = error;
};
loader.unload();
//unresolved jump
var _slot1 = error;
loader = null;
};
}
public function get size():int{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.bytesTotal : 0);
}
public function get loaded():Boolean{
return ((limbo) ? false : _loaded);
}
public function release():void{
if (((_ready) && (!(limbo)))){
limbo = new Dictionary(true);
limbo[factoryInfo] = 1;
factoryInfo = null;
} else {
unload();
};
}
public function get error():Boolean{
return ((limbo) ? false : _error);
}
public function get factory():IFlexModuleFactory{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.factory : null);
}
public function completeHandler(event:Event):void{
var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = loader.contentLoaderInfo.bytesLoaded;
moduleEvent.bytesTotal = loader.contentLoaderInfo.bytesTotal;
dispatchEvent(moduleEvent);
}
public function publish(factory:IFlexModuleFactory):void{
if (factoryInfo){
return;
};
if (_url.indexOf("published://") != 0){
return;
};
factoryInfo = new FactoryInfo();
factoryInfo.factory = factory;
_loaded = true;
_setup = true;
_ready = true;
_error = false;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
dispatchEvent(new ModuleEvent(ModuleEvent.PROGRESS));
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
}
public function initHandler(event:Event):void{
var moduleEvent:ModuleEvent;
var event = event;
factoryInfo = new FactoryInfo();
factoryInfo.factory = (loader.content as IFlexModuleFactory);
//unresolved jump
var _slot1 = error;
if (!factoryInfo.factory){
moduleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = 0;
moduleEvent.bytesTotal = 0;
moduleEvent.errorText = "SWF is not a loadable module";
dispatchEvent(moduleEvent);
return;
};
loader.content.addEventListener("ready", readyHandler);
loader.content.addEventListener("error", moduleErrorHandler);
factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain;
//unresolved jump
var _slot1 = error;
_setup = true;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
}
public function resurrect():void{
var f:Object;
if (((!(factoryInfo)) && (limbo))){
for (f in limbo) {
factoryInfo = (f as FactoryInfo);
break;
};
limbo = null;
};
if (!factoryInfo){
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
loader = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
};
}
public function errorHandler(event:ErrorEvent):void{
_error = true;
var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = 0;
moduleEvent.bytesTotal = 0;
moduleEvent.errorText = event.text;
dispatchEvent(moduleEvent);
}
public function get ready():Boolean{
return ((limbo) ? false : _ready);
}
private function loadBytes(applicationDomain:ApplicationDomain, bytes:ByteArray):void{
var c:LoaderContext = new LoaderContext();
c.applicationDomain = (applicationDomain) ? applicationDomain : new ApplicationDomain(ApplicationDomain.currentDomain);
if (("allowLoadBytesCodeExecution" in c)){
c["allowLoadBytesCodeExecution"] = true;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.loadBytes(bytes, c);
}
public function removeReference():void{
numReferences--;
if (numReferences == 0){
release();
};
}
public function addReference():void{
numReferences++;
}
public function progressHandler(event:ProgressEvent):void{
var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = event.bytesLoaded;
moduleEvent.bytesTotal = event.bytesTotal;
dispatchEvent(moduleEvent);
}
public function load(applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null, bytes:ByteArray=null):void{
if (_loaded){
return;
};
_loaded = true;
limbo = null;
if (bytes){
loadBytes(applicationDomain, bytes);
return;
};
if (_url.indexOf("published://") == 0){
return;
};
var r:URLRequest = new URLRequest(_url);
var c:LoaderContext = new LoaderContext();
c.applicationDomain = (applicationDomain) ? applicationDomain : new ApplicationDomain(ApplicationDomain.currentDomain);
c.securityDomain = securityDomain;
if ((((securityDomain == null)) && ((Security.sandboxType == Security.REMOTE)))){
c.securityDomain = SecurityDomain.currentDomain;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.load(r, c);
}
public function get url():String{
return (_url);
}
public function get applicationDomain():ApplicationDomain{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null);
}
public function moduleErrorHandler(event:Event):void{
var errorEvent:ModuleEvent;
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
if ((event is ModuleEvent)){
errorEvent = ModuleEvent(event);
} else {
errorEvent = new ModuleEvent(ModuleEvent.ERROR);
};
dispatchEvent(errorEvent);
}
public function readyHandler(event:Event):void{
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.READY);
moduleEvent.bytesLoaded = loader.contentLoaderInfo.bytesLoaded;
moduleEvent.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
dispatchEvent(moduleEvent);
}
public function get setup():Boolean{
return ((limbo) ? false : _setup);
}
public function unload():void{
clearLoader();
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
limbo = null;
factoryInfo = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
}
}
class FactoryInfo {
public var bytesTotal:int;// = 0
public var factory:IFlexModuleFactory;
public var applicationDomain:ApplicationDomain;
private function FactoryInfo(){
super();
}
}
Section 295
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals)
package mx.modules {
public class ModuleManagerGlobals {
public static var managerSingleton:Object = null;
public function ModuleManagerGlobals(){
super();
}
}
}//package mx.modules
Section 296
//IResourceBundle (mx.resources.IResourceBundle)
package mx.resources {
public interface IResourceBundle {
function get content():Object;
function get locale():String;
function get bundleName():String;
}
}//package mx.resources
Section 297
//IResourceManager (mx.resources.IResourceManager)
package mx.resources {
import flash.events.*;
import flash.system.*;
public interface IResourceManager extends IEventDispatcher {
function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher;
function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean;
function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class;
function getLocales():Array;
function removeResourceBundlesForLocale(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\resources;IResourceManager.as:String):void;
function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle;
function get localeChain():Array;
function getInt(_arg1:String, _arg2:String, _arg3:String=null):int;
function update():void;
function set localeChain(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\resources;IResourceManager.as:Array):void;
function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint;
function addResourceBundle(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\resources;IResourceManager.as:IResourceBundle):void;
function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array;
function getBundleNamesForLocale(:String):Array;
function removeResourceBundle(_arg1:String, _arg2:String):void;
function getObject(_arg1:String, _arg2:String, _arg3:String=null);
function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String;
function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void;
function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void;
function getPreferredLocaleChain():Array;
function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle;
function initializeLocaleChain(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\resources;IResourceManager.as:Array):void;
function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number;
}
}//package mx.resources
Section 298
//IResourceModule (mx.resources.IResourceModule)
package mx.resources {
public interface IResourceModule {
function get resourceBundles():Array;
}
}//package mx.resources
Section 299
//LocaleSorter (mx.resources.LocaleSorter)
package mx.resources {
public class LocaleSorter {
mx_internal static const VERSION:String = "3.5.0.12683";
public function LocaleSorter(){
super();
}
private static function normalizeLocale(locale:String):String{
return (locale.toLowerCase().replace(/-/g, "_"));
}
public static function sortLocalesByPreference(appLocales:Array, systemPreferences:Array, ultimateFallbackLocale:String=null, addAll:Boolean=false):Array{
var result:Array;
var hasLocale:Object;
var i:int;
var j:int;
var k:int;
var l:int;
var locale:String;
var plocale:LocaleID;
var appLocales = appLocales;
var systemPreferences = systemPreferences;
var ultimateFallbackLocale = ultimateFallbackLocale;
var addAll = addAll;
var promote:Function = function (locale:String):void{
if (typeof(hasLocale[locale]) != "undefined"){
result.push(appLocales[hasLocale[locale]]);
delete hasLocale[locale];
};
};
result = [];
hasLocale = {};
var locales:Array = trimAndNormalize(appLocales);
var preferenceLocales:Array = trimAndNormalize(systemPreferences);
addUltimateFallbackLocale(preferenceLocales, ultimateFallbackLocale);
j = 0;
while (j < locales.length) {
hasLocale[locales[j]] = j;
j = (j + 1);
};
i = 0;
l = preferenceLocales.length;
while (i < l) {
plocale = LocaleID.fromString(preferenceLocales[i]);
promote(preferenceLocales[i]);
promote(plocale.toString());
while (plocale.transformToParent()) {
promote(plocale.toString());
};
plocale = LocaleID.fromString(preferenceLocales[i]);
j = 0;
while (j < l) {
locale = preferenceLocales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
j = 0;
k = locales.length;
while (j < k) {
locale = locales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
i = (i + 1);
};
if (addAll){
j = 0;
k = locales.length;
while (j < k) {
promote(locales[j]);
j = (j + 1);
};
};
return (result);
}
private static function addUltimateFallbackLocale(preferenceLocales:Array, ultimateFallbackLocale:String):void{
var locale:String;
if (((!((ultimateFallbackLocale == null))) && (!((ultimateFallbackLocale == ""))))){
locale = normalizeLocale(ultimateFallbackLocale);
if (preferenceLocales.indexOf(locale) == -1){
preferenceLocales.push(locale);
};
};
}
private static function trimAndNormalize(list:Array):Array{
var resultList:Array = [];
var i:int;
while (i < list.length) {
resultList.push(normalizeLocale(list[i]));
i++;
};
return (resultList);
}
}
}//package mx.resources
class LocaleID {
private var privateLangs:Boolean;// = false
private var script:String;// = ""
private var variants:Array;
private var privates:Array;
private var extensions:Object;
private var lang:String;// = ""
private var region:String;// = ""
private var extended_langs:Array;
public static const STATE_PRIMARY_LANGUAGE:int = 0;
public static const STATE_REGION:int = 3;
public static const STATE_EXTENDED_LANGUAGES:int = 1;
public static const STATE_EXTENSIONS:int = 5;
public static const STATE_SCRIPT:int = 2;
public static const STATE_VARIANTS:int = 4;
public static const STATE_PRIVATES:int = 6;
private function LocaleID(){
extended_langs = [];
variants = [];
extensions = {};
privates = [];
super();
}
public function equals(locale:LocaleID):Boolean{
return ((toString() == locale.toString()));
}
public function canonicalize():void{
var i:String;
for (i in extensions) {
if (extensions.hasOwnProperty(i)){
if (extensions[i].length == 0){
delete extensions[i];
} else {
extensions[i] = extensions[i].sort();
};
};
};
extended_langs = extended_langs.sort();
variants = variants.sort();
privates = privates.sort();
if (script == ""){
script = LocaleRegistry.getScriptByLang(lang);
};
if ((((script == "")) && (!((region == ""))))){
script = LocaleRegistry.getScriptByLangAndRegion(lang, region);
};
if ((((region == "")) && (!((script == ""))))){
region = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
};
}
public function toString():String{
var i:String;
var stack:Array = [lang];
appendElements(stack, extended_langs);
if (script != ""){
stack.push(script);
};
if (region != ""){
stack.push(region);
};
appendElements(stack, variants);
for (i in extensions) {
if (extensions.hasOwnProperty(i)){
stack.push(i);
appendElements(stack, extensions[i]);
};
};
if (privates.length > 0){
stack.push("x");
appendElements(stack, privates);
};
return (stack.join("_"));
}
public function isSiblingOf(other:LocaleID):Boolean{
return ((((lang == other.lang)) && ((script == other.script))));
}
public function transformToParent():Boolean{
var i:String;
var lastExtension:Array;
var defaultRegion:String;
if (privates.length > 0){
privates.splice((privates.length - 1), 1);
return (true);
};
var lastExtensionName:String;
for (i in extensions) {
if (extensions.hasOwnProperty(i)){
lastExtensionName = i;
};
};
if (lastExtensionName){
lastExtension = extensions[lastExtensionName];
if (lastExtension.length == 1){
delete extensions[lastExtensionName];
return (true);
};
lastExtension.splice((lastExtension.length - 1), 1);
return (true);
};
if (variants.length > 0){
variants.splice((variants.length - 1), 1);
return (true);
};
if (script != ""){
if (LocaleRegistry.getScriptByLang(lang) != ""){
script = "";
return (true);
};
if (region == ""){
defaultRegion = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
if (defaultRegion != ""){
region = defaultRegion;
script = "";
return (true);
};
};
};
if (region != ""){
if (!(((script == "")) && ((LocaleRegistry.getScriptByLang(lang) == "")))){
region = "";
return (true);
};
};
if (extended_langs.length > 0){
extended_langs.splice((extended_langs.length - 1), 1);
return (true);
};
return (false);
}
private static function appendElements(dest:Array, src:Array):void{
var i:uint;
var argc:uint = src.length;
while (i < argc) {
dest.push(src[i]);
i++;
};
}
public static function fromString(str:String):LocaleID{
var last_extension:Array;
var subtag:String;
var subtag_length:int;
var firstChar:String;
var localeID:LocaleID = new (LocaleID);
var state:int = STATE_PRIMARY_LANGUAGE;
var subtags:Array = str.replace(/-/g, "_").split("_");
var i:int;
var l:int = subtags.length;
while (i < l) {
subtag = subtags[i].toLowerCase();
if (state == STATE_PRIMARY_LANGUAGE){
if (subtag == "x"){
localeID.privateLangs = true;
} else {
if (subtag == "i"){
localeID.lang = (localeID.lang + "i-");
} else {
localeID.lang = (localeID.lang + subtag);
state = STATE_EXTENDED_LANGUAGES;
};
};
} else {
subtag_length = subtag.length;
if (subtag_length == 0){
} else {
firstChar = subtag.charAt(0).toLowerCase();
if ((((state <= STATE_EXTENDED_LANGUAGES)) && ((subtag_length == 3)))){
localeID.extended_langs.push(subtag);
if (localeID.extended_langs.length == 3){
state = STATE_SCRIPT;
};
} else {
if ((((state <= STATE_SCRIPT)) && ((subtag_length == 4)))){
localeID.script = subtag;
state = STATE_REGION;
} else {
if ((((state <= STATE_REGION)) && ((((subtag_length == 2)) || ((subtag_length == 3)))))){
localeID.region = subtag;
state = STATE_VARIANTS;
} else {
if ((((state <= STATE_VARIANTS)) && ((((((((firstChar >= "a")) && ((firstChar <= "z")))) && ((subtag_length >= 5)))) || ((((((firstChar >= "0")) && ((firstChar <= "9")))) && ((subtag_length >= 4)))))))){
localeID.variants.push(subtag);
state = STATE_VARIANTS;
} else {
if ((((state < STATE_PRIVATES)) && ((subtag_length == 1)))){
if (subtag == "x"){
state = STATE_PRIVATES;
last_extension = localeID.privates;
} else {
state = STATE_EXTENSIONS;
last_extension = ((localeID.extensions[subtag]) || ([]));
localeID.extensions[subtag] = last_extension;
};
} else {
if (state >= STATE_EXTENSIONS){
last_extension.push(subtag);
};
};
};
};
};
};
};
};
i++;
};
localeID.canonicalize();
return (localeID);
}
}
class LocaleRegistry {
private static const SCRIPT_ID_BY_LANG:Object = {ab:5, af:1, am:2, ar:3, as:4, ay:1, be:5, bg:5, bn:4, bs:1, ca:1, ch:1, cs:1, cy:1, da:1, de:1, dv:6, dz:7, el:8, en:1, eo:1, es:1, et:1, eu:1, fa:3, fi:1, fj:1, fo:1, fr:1, frr:1, fy:1, ga:1, gl:1, gn:1, gu:9, gv:1, he:10, hi:11, hr:1, ht:1, hu:1, hy:12, id:1, in:1, is:1, it:1, iw:10, ja:13, ka:14, kk:5, kl:1, km:15, kn:16, ko:17, la:1, lb:1, ln:1, lo:18, lt:1, lv:1, mg:1, mh:1, mk:5, ml:19, mo:1, mr:11, ms:1, mt:1, my:20, na:1, nb:1, nd:1, ne:11, nl:1, nn:1, no:1, nr:1, ny:1, om:1, or:21, pa:22, pl:1, ps:3, pt:1, qu:1, rn:1, ro:1, ru:5, rw:1, sg:1, si:23, sk:1, sl:1, sm:1, so:1, sq:1, ss:1, st:1, sv:1, sw:1, ta:24, te:25, th:26, ti:2, tl:1, tn:1, to:1, tr:1, ts:1, uk:5, ur:3, ve:1, vi:1, wo:1, xh:1, yi:10, zu:1, cpe:1, dsb:1, frs:1, gsw:1, hsb:1, kok:11, mai:11, men:1, nds:1, niu:1, nqo:27, nso:1, son:1, tem:1, tkl:1, tmh:1, tpi:1, tvl:1, zbl:28};
private static const SCRIPTS:Array = ["", "latn", "ethi", "arab", "beng", "cyrl", "thaa", "tibt", "grek", "gujr", "hebr", "deva", "armn", "jpan", "geor", "khmr", "knda", "kore", "laoo", "mlym", "mymr", "orya", "guru", "sinh", "taml", "telu", "thai", "nkoo", "blis", "hans", "hant", "mong", "syrc"];
private static const DEFAULT_REGION_BY_LANG_AND_SCRIPT:Object = {bg:{5:"bg"}, ca:{1:"es"}, zh:{30:"tw", 29:"cn"}, cs:{1:"cz"}, da:{1:"dk"}, de:{1:"de"}, el:{8:"gr"}, en:{1:"us"}, es:{1:"es"}, fi:{1:"fi"}, fr:{1:"fr"}, he:{10:"il"}, hu:{1:"hu"}, is:{1:"is"}, it:{1:"it"}, ja:{13:"jp"}, ko:{17:"kr"}, nl:{1:"nl"}, nb:{1:"no"}, pl:{1:"pl"}, pt:{1:"br"}, ro:{1:"ro"}, ru:{5:"ru"}, hr:{1:"hr"}, sk:{1:"sk"}, sq:{1:"al"}, sv:{1:"se"}, th:{26:"th"}, tr:{1:"tr"}, ur:{3:"pk"}, id:{1:"id"}, uk:{5:"ua"}, be:{5:"by"}, sl:{1:"si"}, et:{1:"ee"}, lv:{1:"lv"}, lt:{1:"lt"}, fa:{3:"ir"}, vi:{1:"vn"}, hy:{12:"am"}, az:{1:"az", 5:"az"}, eu:{1:"es"}, mk:{5:"mk"}, af:{1:"za"}, ka:{14:"ge"}, fo:{1:"fo"}, hi:{11:"in"}, ms:{1:"my"}, kk:{5:"kz"}, ky:{5:"kg"}, sw:{1:"ke"}, uz:{1:"uz", 5:"uz"}, tt:{5:"ru"}, pa:{22:"in"}, gu:{9:"in"}, ta:{24:"in"}, te:{25:"in"}, kn:{16:"in"}, mr:{11:"in"}, sa:{11:"in"}, mn:{5:"mn"}, gl:{1:"es"}, kok:{11:"in"}, syr:{32:"sy"}, dv:{6:"mv"}, nn:{1:"no"}, sr:{1:"cs", 5:"cs"}, cy:{1:"gb"}, mi:{1:"nz"}, mt:{1:"mt"}, quz:{1:"bo"}, tn:{1:"za"}, xh:{1:"za"}, zu:{1:"za"}, nso:{1:"za"}, se:{1:"no"}, smj:{1:"no"}, sma:{1:"no"}, sms:{1:"fi"}, smn:{1:"fi"}, bs:{1:"ba"}};
private static const SCRIPT_BY_ID:Object = {latn:1, ethi:2, arab:3, beng:4, cyrl:5, thaa:6, tibt:7, grek:8, gujr:9, hebr:10, deva:11, armn:12, jpan:13, geor:14, khmr:15, knda:16, kore:17, laoo:18, mlym:19, mymr:20, orya:21, guru:22, sinh:23, taml:24, telu:25, thai:26, nkoo:27, blis:28, hans:29, hant:30, mong:31, syrc:32};
private static const SCRIPT_ID_BY_LANG_AND_REGION:Object = {zh:{cn:29, sg:29, tw:30, hk:30, mo:30}, mn:{cn:31, sg:5}, pa:{pk:3, in:22}, ha:{gh:1, ne:1}};
private function LocaleRegistry(){
super();
}
public static function getScriptByLangAndRegion(lang:String, region:String):String{
var langRegions:Object = SCRIPT_ID_BY_LANG_AND_REGION[lang];
if (langRegions == null){
return ("");
};
var scriptID:Object = langRegions[region];
if (scriptID == null){
return ("");
};
return (SCRIPTS[int(scriptID)].toLowerCase());
}
public static function getScriptByLang(lang:String):String{
var scriptID:Object = SCRIPT_ID_BY_LANG[lang];
if (scriptID == null){
return ("");
};
return (SCRIPTS[int(scriptID)].toLowerCase());
}
public static function getDefaultRegionForLangAndScript(lang:String, script:String):String{
var langObj:Object = DEFAULT_REGION_BY_LANG_AND_SCRIPT[lang];
var scriptID:Object = SCRIPT_BY_ID[script];
if ((((langObj == null)) || ((scriptID == null)))){
return ("");
};
return (((langObj[int(scriptID)]) || ("")));
}
}
Section 300
//ResourceBundle (mx.resources.ResourceBundle)
package mx.resources {
import mx.core.*;
import flash.system.*;
import mx.utils.*;
public class ResourceBundle implements IResourceBundle {
mx_internal var _locale:String;
private var _content:Object;
mx_internal var _bundleName:String;
mx_internal static const VERSION:String = "3.5.0.12683";
mx_internal static var backupApplicationDomain:ApplicationDomain;
mx_internal static var locale:String;
public function ResourceBundle(locale:String=null, bundleName:String=null){
_content = {};
super();
mx_internal::_locale = locale;
mx_internal::_bundleName = bundleName;
_content = getContent();
}
protected function getContent():Object{
return ({});
}
public function getString(key:String):String{
return (String(_getObject(key)));
}
public function get content():Object{
return (_content);
}
public function getBoolean(key:String, defaultValue:Boolean=true):Boolean{
var temp:String = _getObject(key).toLowerCase();
if (temp == "false"){
return (false);
};
if (temp == "true"){
return (true);
};
return (defaultValue);
}
public function getStringArray(key:String):Array{
var array:Array = _getObject(key).split(",");
var n:int = array.length;
var i:int;
while (i < n) {
array[i] = StringUtil.trim(array[i]);
i++;
};
return (array);
}
public function getObject(key:String):Object{
return (_getObject(key));
}
private function _getObject(key:String):Object{
var value:Object = content[key];
if (!value){
throw (new Error(((("Key " + key) + " was not found in resource bundle ") + bundleName)));
};
return (value);
}
public function get locale():String{
return (mx_internal::_locale);
}
public function get bundleName():String{
return (mx_internal::_bundleName);
}
public function getNumber(key:String):Number{
return (Number(_getObject(key)));
}
private static function getClassByName(name:String, domain:ApplicationDomain):Class{
var c:Class;
if (domain.hasDefinition(name)){
c = (domain.getDefinition(name) as Class);
};
return (c);
}
public static function getResourceBundle(baseName:String, currentDomain:ApplicationDomain=null):ResourceBundle{
var className:String;
var bundleClass:Class;
var bundleObj:Object;
var bundle:ResourceBundle;
if (!currentDomain){
currentDomain = ApplicationDomain.currentDomain;
};
className = (((mx_internal::locale + "$") + baseName) + "_properties");
bundleClass = getClassByName(className, currentDomain);
if (!bundleClass){
className = (baseName + "_properties");
bundleClass = getClassByName(className, currentDomain);
};
if (!bundleClass){
className = baseName;
bundleClass = getClassByName(className, currentDomain);
};
if (((!(bundleClass)) && (mx_internal::backupApplicationDomain))){
className = (baseName + "_properties");
bundleClass = getClassByName(className, mx_internal::backupApplicationDomain);
if (!bundleClass){
className = baseName;
bundleClass = getClassByName(className, mx_internal::backupApplicationDomain);
};
};
if (bundleClass){
bundleObj = new (bundleClass);
if ((bundleObj is ResourceBundle)){
bundle = ResourceBundle(bundleObj);
return (bundle);
};
};
throw (new Error(("Could not find resource bundle " + baseName)));
}
}
}//package mx.resources
Section 301
//ResourceManager (mx.resources.ResourceManager)
package mx.resources {
import mx.core.*;
public class ResourceManager {
mx_internal static const VERSION:String = "3.5.0.12683";
private static var implClassDependency:ResourceManagerImpl;
private static var instance:IResourceManager;
public function ResourceManager(){
super();
}
public static function getInstance():IResourceManager{
if (!instance){
instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager"));
//unresolved jump
var _slot1 = e;
instance = new ResourceManagerImpl();
};
return (instance);
}
}
}//package mx.resources
Section 302
//ResourceManagerImpl (mx.resources.ResourceManagerImpl)
package mx.resources {
import mx.core.*;
import flash.utils.*;
import flash.events.*;
import flash.system.*;
import mx.modules.*;
import mx.events.*;
import mx.utils.*;
public class ResourceManagerImpl extends EventDispatcher implements IResourceManager {
private var resourceModules:Object;
private var initializedForNonFrameworkApp:Boolean;// = false
private var localeMap:Object;
private var _localeChain:Array;
mx_internal static const VERSION:String = "3.5.0.12683";
private static var instance:IResourceManager;
public function ResourceManagerImpl(){
localeMap = {};
resourceModules = {};
super();
}
public function get localeChain():Array{
return (_localeChain);
}
public function set localeChain(value:Array):void{
_localeChain = value;
update();
}
public function getStringArray(bundleName:String, resourceName:String, locale:String=null):Array{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (null);
};
var value:* = resourceBundle.content[resourceName];
var array:Array = String(value).split(",");
var n:int = array.length;
var i:int;
while (i < n) {
array[i] = StringUtil.trim(array[i]);
i++;
};
return (array);
}
mx_internal function installCompiledResourceBundle(applicationDomain:ApplicationDomain, locale:String, bundleName:String):void{
var packageName:String;
var localName:String = bundleName;
var colonIndex:int = bundleName.indexOf(":");
if (colonIndex != -1){
packageName = bundleName.substring(0, colonIndex);
localName = bundleName.substring((colonIndex + 1));
};
if (getResourceBundle(locale, bundleName)){
return;
};
var resourceBundleClassName = (((locale + "$") + localName) + "_properties");
if (packageName != null){
resourceBundleClassName = ((packageName + ".") + resourceBundleClassName);
};
var bundleClass:Class;
if (applicationDomain.hasDefinition(resourceBundleClassName)){
bundleClass = Class(applicationDomain.getDefinition(resourceBundleClassName));
};
if (!bundleClass){
resourceBundleClassName = bundleName;
if (applicationDomain.hasDefinition(resourceBundleClassName)){
bundleClass = Class(applicationDomain.getDefinition(resourceBundleClassName));
};
};
if (!bundleClass){
resourceBundleClassName = (bundleName + "_properties");
if (applicationDomain.hasDefinition(resourceBundleClassName)){
bundleClass = Class(applicationDomain.getDefinition(resourceBundleClassName));
};
};
if (!bundleClass){
throw (new Error((((("Could not find compiled resource bundle '" + bundleName) + "' for locale '") + locale) + "'.")));
};
var resourceBundle:ResourceBundle = ResourceBundle(new (bundleClass));
resourceBundle.mx_internal::_locale = locale;
resourceBundle.mx_internal::_bundleName = bundleName;
addResourceBundle(resourceBundle);
}
public function getString(bundleName:String, resourceName:String, parameters:Array=null, locale:String=null):String{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (null);
};
var value:String = String(resourceBundle.content[resourceName]);
if (parameters){
value = StringUtil.substitute(value, parameters);
};
return (value);
}
public function loadResourceModule(url:String, updateFlag:Boolean=true, applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):IEventDispatcher{
var moduleInfo:IModuleInfo;
var resourceEventDispatcher:ResourceEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = url;
var updateFlag = updateFlag;
var applicationDomain = applicationDomain;
var securityDomain = securityDomain;
moduleInfo = ModuleManager.getModule(url);
resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo);
var readyHandler:Function = function (event:ModuleEvent):void{
var resourceModule:* = event.module.factory.create();
resourceModules[event.module.url].resourceModule = resourceModule;
if (updateFlag){
update();
};
};
moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
var errorHandler:Function = function (event:ModuleEvent):void{
var resourceEvent:ResourceEvent;
var message:String = ("Unable to load resource module from " + url);
if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){
resourceEvent = new ResourceEvent(ResourceEvent.ERROR, event.bubbles, event.cancelable);
resourceEvent.bytesLoaded = 0;
resourceEvent.bytesTotal = 0;
resourceEvent.errorText = message;
resourceEventDispatcher.dispatchEvent(resourceEvent);
} else {
throw (new Error(message));
};
};
moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (event:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
moduleInfo.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (resourceEventDispatcher);
}
public function getLocales():Array{
var p:String;
var locales:Array = [];
for (p in localeMap) {
locales.push(p);
};
return (locales);
}
public function removeResourceBundlesForLocale(locale:String):void{
delete localeMap[locale];
}
public function getResourceBundle(locale:String, bundleName:String):IResourceBundle{
var bundleMap:Object = localeMap[locale];
if (!bundleMap){
return (null);
};
return (bundleMap[bundleName]);
}
private function dumpResourceModule(resourceModule):void{
var bundle:ResourceBundle;
var p:String;
for each (bundle in resourceModule.resourceBundles) {
trace(bundle.locale, bundle.bundleName);
for (p in bundle.content) {
};
};
}
public function addResourceBundle(resourceBundle:IResourceBundle):void{
var locale:String = resourceBundle.locale;
var bundleName:String = resourceBundle.bundleName;
if (!localeMap[locale]){
localeMap[locale] = {};
};
localeMap[locale][bundleName] = resourceBundle;
}
public function getObject(bundleName:String, resourceName:String, locale:String=null){
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (undefined);
};
return (resourceBundle.content[resourceName]);
}
public function getInt(bundleName:String, resourceName:String, locale:String=null):int{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (0);
};
var value:* = resourceBundle.content[resourceName];
return (int(value));
}
private function findBundle(bundleName:String, resourceName:String, locale:String):IResourceBundle{
supportNonFrameworkApps();
return (((locale)!=null) ? getResourceBundle(locale, bundleName) : findResourceBundleWithResource(bundleName, resourceName));
}
private function supportNonFrameworkApps():void{
if (initializedForNonFrameworkApp){
return;
};
initializedForNonFrameworkApp = true;
if (getLocales().length > 0){
return;
};
var applicationDomain:ApplicationDomain = ApplicationDomain.currentDomain;
if (!applicationDomain.hasDefinition("_CompiledResourceBundleInfo")){
return;
};
var c:Class = Class(applicationDomain.getDefinition("_CompiledResourceBundleInfo"));
var locales:Array = c.compiledLocales;
var bundleNames:Array = c.compiledResourceBundleNames;
installCompiledResourceBundles(applicationDomain, locales, bundleNames);
localeChain = locales;
}
public function getBundleNamesForLocale(locale:String):Array{
var p:String;
var bundleNames:Array = [];
for (p in localeMap[locale]) {
bundleNames.push(p);
};
return (bundleNames);
}
public function getPreferredLocaleChain():Array{
return (LocaleSorter.sortLocalesByPreference(getLocales(), getSystemPreferredLocales(), null, true));
}
public function getNumber(bundleName:String, resourceName:String, locale:String=null):Number{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (NaN);
};
var value:* = resourceBundle.content[resourceName];
return (Number(value));
}
public function update():void{
dispatchEvent(new Event(Event.CHANGE));
}
public function getClass(bundleName:String, resourceName:String, locale:String=null):Class{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (null);
};
var value:* = resourceBundle.content[resourceName];
return ((value as Class));
}
public function removeResourceBundle(locale:String, bundleName:String):void{
delete localeMap[locale][bundleName];
if (getBundleNamesForLocale(locale).length == 0){
delete localeMap[locale];
};
}
public function initializeLocaleChain(compiledLocales:Array):void{
localeChain = LocaleSorter.sortLocalesByPreference(compiledLocales, getSystemPreferredLocales(), null, true);
}
public function findResourceBundleWithResource(bundleName:String, resourceName:String):IResourceBundle{
var locale:String;
var bundleMap:Object;
var bundle:ResourceBundle;
if (!_localeChain){
return (null);
};
var n:int = _localeChain.length;
var i:int;
while (i < n) {
locale = localeChain[i];
bundleMap = localeMap[locale];
if (!bundleMap){
} else {
bundle = bundleMap[bundleName];
if (!bundle){
} else {
if ((resourceName in bundle.content)){
return (bundle);
};
};
};
i++;
};
return (null);
}
public function getUint(bundleName:String, resourceName:String, locale:String=null):uint{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (0);
};
var value:* = resourceBundle.content[resourceName];
return (uint(value));
}
private function getSystemPreferredLocales():Array{
var systemPreferences:Array;
if (Capabilities["languages"]){
systemPreferences = Capabilities["languages"];
} else {
systemPreferences = [Capabilities.language];
};
return (systemPreferences);
}
public function installCompiledResourceBundles(applicationDomain:ApplicationDomain, locales:Array, bundleNames:Array):void{
var locale:String;
var j:int;
var bundleName:String;
var n:int = (locales) ? locales.length : 0;
var m:int = (bundleNames) ? bundleNames.length : 0;
var i:int;
while (i < n) {
locale = locales[i];
j = 0;
while (j < m) {
bundleName = bundleNames[j];
mx_internal::installCompiledResourceBundle(applicationDomain, locale, bundleName);
j++;
};
i++;
};
}
public function getBoolean(bundleName:String, resourceName:String, locale:String=null):Boolean{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (false);
};
var value:* = resourceBundle.content[resourceName];
return ((String(value).toLowerCase() == "true"));
}
public function unloadResourceModule(url:String, update:Boolean=true):void{
var bundles:Array;
var n:int;
var i:int;
var locale:String;
var bundleName:String;
var rmi:ResourceModuleInfo = resourceModules[url];
if (!rmi){
return;
};
if (rmi.resourceModule){
bundles = rmi.resourceModule.resourceBundles;
if (bundles){
n = bundles.length;
i = 0;
while (i < n) {
locale = bundles[i].locale;
bundleName = bundles[i].bundleName;
removeResourceBundle(locale, bundleName);
i++;
};
};
};
resourceModules[url] = null;
delete resourceModules[url];
rmi.moduleInfo.unload();
if (update){
this.update();
};
}
public static function getInstance():IResourceManager{
if (!instance){
instance = new (ResourceManagerImpl);
};
return (instance);
}
}
}//package mx.resources
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class ResourceModuleInfo {
public var resourceModule:IResourceModule;
public var errorHandler:Function;
public var readyHandler:Function;
public var moduleInfo:IModuleInfo;
private function ResourceModuleInfo(moduleInfo:IModuleInfo, readyHandler:Function, errorHandler:Function){
super();
this.moduleInfo = moduleInfo;
this.readyHandler = readyHandler;
this.errorHandler = errorHandler;
}
}
class ResourceEventDispatcher extends EventDispatcher {
private function ResourceEventDispatcher(moduleInfo:IModuleInfo){
super();
moduleInfo.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
moduleInfo.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
moduleInfo.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(event:ModuleEvent):void{
var resourceEvent:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, event.bubbles, event.cancelable);
resourceEvent.bytesLoaded = event.bytesLoaded;
resourceEvent.bytesTotal = event.bytesTotal;
dispatchEvent(resourceEvent);
}
private function moduleInfo_readyHandler(event:ModuleEvent):void{
var resourceEvent:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE);
dispatchEvent(resourceEvent);
}
private function moduleInfo_errorHandler(event:ModuleEvent):void{
var resourceEvent:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, event.bubbles, event.cancelable);
resourceEvent.bytesLoaded = event.bytesLoaded;
resourceEvent.bytesTotal = event.bytesTotal;
resourceEvent.errorText = event.errorText;
dispatchEvent(resourceEvent);
}
}
Section 303
//HaloBorder (mx.skins.halo.HaloBorder)
package mx.skins.halo {
import mx.core.*;
import mx.styles.*;
import flash.display.*;
import mx.skins.*;
import mx.graphics.*;
import mx.utils.*;
public class HaloBorder extends RectangularBorder {
mx_internal var radiusObj:Object;
mx_internal var backgroundHole:Object;
mx_internal var radius:Number;
mx_internal var bRoundedCorners:Boolean;
mx_internal var backgroundColor:Object;
private var dropShadow:RectangularDropShadow;
protected var _borderMetrics:EdgeMetrics;
mx_internal var backgroundAlphaName:String;
mx_internal static const VERSION:String = "3.5.0.12683";
private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2};
public function HaloBorder(){
super();
BORDER_WIDTHS["default"] = 3;
}
override public function styleChanged(styleProp:String):void{
if ((((((((((styleProp == null)) || ((styleProp == "styleName")))) || ((styleProp == "borderStyle")))) || ((styleProp == "borderThickness")))) || ((styleProp == "borderSides")))){
_borderMetrics = null;
};
invalidateDisplayList();
}
override protected function updateDisplayList(w:Number, h:Number):void{
if (((isNaN(w)) || (isNaN(h)))){
return;
};
super.updateDisplayList(w, h);
backgroundColor = getBackgroundColor();
bRoundedCorners = false;
backgroundAlphaName = "backgroundAlpha";
backgroundHole = null;
radius = 0;
radiusObj = null;
drawBorder(w, h);
drawBackground(w, h);
}
mx_internal function drawBorder(w:Number, h:Number):void{
var backgroundAlpha:Number;
var borderCapColor:uint;
var borderColor:uint;
var borderSides:String;
var borderThickness:Number;
var buttonColor:uint;
var docked:Boolean;
var dropdownBorderColor:uint;
var fillColors:Array;
var footerColors:Array;
var highlightColor:uint;
var shadowCapColor:uint;
var shadowColor:uint;
var themeColor:uint;
var translucent:Boolean;
var hole:Object;
var borderColorDrk1:Number;
var borderColorDrk2:Number;
var borderColorLt1:Number;
var borderInnerColor:Object;
var contentAlpha:Number;
var br:Number;
var parentContainer:IContainer;
var vm:EdgeMetrics;
var showChrome:Boolean;
var borderAlpha:Number;
var fillAlphas:Array;
var backgroundColorNum:uint;
var bHasAllSides:Boolean;
var holeRadius:Number;
var borderStyle:String = getStyle("borderStyle");
var highlightAlphas:Array = getStyle("highlightAlphas");
var drawTopHighlight:Boolean;
var g:Graphics = graphics;
g.clear();
if (borderStyle){
switch (borderStyle){
case "none":
break;
case "inset":
borderColor = getStyle("borderColor");
borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -40);
borderColorDrk2 = ColorUtil.adjustBrightness2(borderColor, 25);
borderColorLt1 = ColorUtil.adjustBrightness2(borderColor, 40);
borderInnerColor = backgroundColor;
if ((((borderInnerColor === null)) || ((borderInnerColor === "")))){
borderInnerColor = borderColor;
};
draw3dBorder(borderColorDrk2, borderColorDrk1, borderColorLt1, Number(borderInnerColor), Number(borderInnerColor), Number(borderInnerColor));
break;
case "outset":
borderColor = getStyle("borderColor");
borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -40);
borderColorDrk2 = ColorUtil.adjustBrightness2(borderColor, -25);
borderColorLt1 = ColorUtil.adjustBrightness2(borderColor, 40);
borderInnerColor = backgroundColor;
if ((((borderInnerColor === null)) || ((borderInnerColor === "")))){
borderInnerColor = borderColor;
};
draw3dBorder(borderColorDrk2, borderColorLt1, borderColorDrk1, Number(borderInnerColor), Number(borderInnerColor), Number(borderInnerColor));
break;
case "alert":
case "default":
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
contentAlpha = getStyle("backgroundAlpha");
backgroundAlpha = getStyle("borderAlpha");
backgroundAlphaName = "borderAlpha";
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
br = (bRoundedCorners) ? radius : 0;
drawDropShadow(0, 0, w, h, radius, radius, br, br);
if (!bRoundedCorners){
radiusObj = {};
};
parentContainer = (parent as IContainer);
if (parentContainer){
vm = parentContainer.viewMetrics;
backgroundHole = {x:vm.left, y:vm.top, w:Math.max(0, ((w - vm.left) - vm.right)), h:Math.max(0, ((h - vm.top) - vm.bottom)), r:0};
if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){
if (contentAlpha != backgroundAlpha){
drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0);
};
g.beginFill(Number(backgroundColor), contentAlpha);
g.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h);
g.endFill();
};
};
backgroundColor = getStyle("borderColor");
};
break;
case "dropdown":
dropdownBorderColor = getStyle("dropdownBorderColor");
drawDropShadow(0, 0, w, h, 4, 0, 0, 4);
drawRoundRect(0, 0, w, h, {tl:4, tr:0, br:0, bl:4}, 5068126, 1);
drawRoundRect(0, 0, w, h, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, w, h));
drawRoundRect(1, 1, (w - 1), (h - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (w - 1), (h - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (w - 1), (h - 3)));
if (!isNaN(dropdownBorderColor)){
drawRoundRect(0, 0, (w + 1), h, {tl:4, tr:0, br:0, bl:4}, dropdownBorderColor, 0.5);
drawRoundRect(1, 1, (w - 1), (h - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (w - 1), (h - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (w - 1), (h - 3)));
};
backgroundColor = null;
break;
case "menuBorder":
borderColor = getStyle("borderColor");
drawRoundRect(0, 0, w, h, 0, borderColor, 1);
drawDropShadow(1, 1, (w - 2), (h - 2), 0, 0, 0, 0);
break;
case "comboNonEdit":
break;
case "controlBar":
if ((((w == 0)) || ((h == 0)))){
backgroundColor = null;
break;
};
footerColors = getStyle("footerColors");
showChrome = !((footerColors == null));
borderAlpha = getStyle("borderAlpha");
if (showChrome){
g.lineStyle(0, ((footerColors.length > 0)) ? footerColors[1] : footerColors[0], borderAlpha);
g.moveTo(0, 0);
g.lineTo(w, 0);
g.lineStyle(0, 0, 0);
if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){
radius = IStyleClient(parent.parent).getStyle("cornerRadius");
borderAlpha = IStyleClient(parent.parent).getStyle("borderAlpha");
};
if (isNaN(radius)){
radius = 0;
};
if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){
radius = 0;
};
drawRoundRect(0, 1, w, (h - 1), {tl:0, tr:0, bl:radius, br:radius}, footerColors, borderAlpha, verticalGradientMatrix(0, 0, w, h));
if ((((footerColors.length > 1)) && (!((footerColors[0] == footerColors[1]))))){
drawRoundRect(0, 1, w, (h - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(0, 0, w, h));
drawRoundRect(1, 2, (w - 2), (h - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, footerColors, borderAlpha, verticalGradientMatrix(0, 0, w, h));
};
};
backgroundColor = null;
break;
case "applicationControlBar":
fillColors = getStyle("fillColors");
backgroundAlpha = getStyle("backgroundAlpha");
highlightAlphas = getStyle("highlightAlphas");
fillAlphas = getStyle("fillAlphas");
docked = getStyle("docked");
backgroundColorNum = uint(backgroundColor);
radius = getStyle("cornerRadius");
if (!radius){
radius = 0;
};
drawDropShadow(0, 1, w, (h - 1), radius, radius, radius, radius);
if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){
drawRoundRect(0, 1, w, (h - 1), radius, backgroundColorNum, backgroundAlpha, verticalGradientMatrix(0, 0, w, h));
};
drawRoundRect(0, 1, w, (h - 1), radius, fillColors, fillAlphas, verticalGradientMatrix(0, 0, w, h));
drawRoundRect(0, 1, w, ((h / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(0, 0, w, ((h / 2) - 1)));
drawRoundRect(0, 1, w, (h - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:w, h:(h - 2), r:{tl:radius, tr:radius, bl:0, br:0}});
backgroundColor = null;
break;
default:
borderColor = getStyle("borderColor");
borderThickness = getStyle("borderThickness");
borderSides = getStyle("borderSides");
bHasAllSides = true;
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
holeRadius = Math.max((radius - borderThickness), 0);
hole = {x:borderThickness, y:borderThickness, w:(w - (borderThickness * 2)), h:(h - (borderThickness * 2)), r:holeRadius};
if (!bRoundedCorners){
radiusObj = {tl:radius, tr:radius, bl:0, br:0};
hole.r = {tl:holeRadius, tr:holeRadius, bl:0, br:0};
};
if (borderSides != "left top right bottom"){
hole.r = {tl:holeRadius, tr:holeRadius, bl:(bRoundedCorners) ? holeRadius : 0, br:(bRoundedCorners) ? holeRadius : 0};
radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0};
borderSides = borderSides.toLowerCase();
if (borderSides.indexOf("left") == -1){
hole.x = 0;
hole.w = (hole.w + borderThickness);
hole.r.tl = 0;
hole.r.bl = 0;
radiusObj.tl = 0;
radiusObj.bl = 0;
bHasAllSides = false;
};
if (borderSides.indexOf("top") == -1){
hole.y = 0;
hole.h = (hole.h + borderThickness);
hole.r.tl = 0;
hole.r.tr = 0;
radiusObj.tl = 0;
radiusObj.tr = 0;
bHasAllSides = false;
};
if (borderSides.indexOf("right") == -1){
hole.w = (hole.w + borderThickness);
hole.r.tr = 0;
hole.r.br = 0;
radiusObj.tr = 0;
radiusObj.br = 0;
bHasAllSides = false;
};
if (borderSides.indexOf("bottom") == -1){
hole.h = (hole.h + borderThickness);
hole.r.bl = 0;
hole.r.br = 0;
radiusObj.bl = 0;
radiusObj.br = 0;
bHasAllSides = false;
};
};
if ((((radius == 0)) && (bHasAllSides))){
drawDropShadow(0, 0, w, h, 0, 0, 0, 0);
g.beginFill(borderColor);
g.drawRect(0, 0, w, h);
g.drawRect(borderThickness, borderThickness, (w - (2 * borderThickness)), (h - (2 * borderThickness)));
g.endFill();
} else {
if (radiusObj){
drawDropShadow(0, 0, w, h, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl);
drawRoundRect(0, 0, w, h, radiusObj, borderColor, 1, null, null, null, hole);
radiusObj.tl = Math.max((radius - borderThickness), 0);
radiusObj.tr = Math.max((radius - borderThickness), 0);
radiusObj.bl = (bRoundedCorners) ? Math.max((radius - borderThickness), 0) : 0;
radiusObj.br = (bRoundedCorners) ? Math.max((radius - borderThickness), 0) : 0;
} else {
drawDropShadow(0, 0, w, h, radius, radius, radius, radius);
drawRoundRect(0, 0, w, h, radius, borderColor, 1, null, null, null, hole);
radius = Math.max((getStyle("cornerRadius") - borderThickness), 0);
};
};
};
};
}
mx_internal function drawBackground(w:Number, h:Number):void{
var nd:Number;
var alpha:Number;
var bm:EdgeMetrics;
var g:Graphics;
var bottom:Number;
var topRadius:Number;
var bottomRadius:Number;
var highlightAlphas:Array;
var highlightAlpha:Number;
if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){
nd = Number(backgroundColor);
alpha = 1;
bm = getBackgroundColorMetrics();
g = graphics;
if (((((isNaN(nd)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){
alpha = 0;
nd = 0xFFFFFF;
} else {
alpha = getStyle(backgroundAlphaName);
};
if (((!((radius == 0))) || (backgroundHole))){
bottom = bm.bottom;
if (radiusObj){
topRadius = Math.max((radius - Math.max(bm.top, bm.left, bm.right)), 0);
bottomRadius = (bRoundedCorners) ? Math.max((radius - Math.max(bm.bottom, bm.left, bm.right)), 0) : 0;
radiusObj = {tl:topRadius, tr:topRadius, bl:bottomRadius, br:bottomRadius};
drawRoundRect(bm.left, bm.top, (width - (bm.left + bm.right)), (height - (bm.top + bottom)), radiusObj, nd, alpha, null, GradientType.LINEAR, null, backgroundHole);
} else {
drawRoundRect(bm.left, bm.top, (width - (bm.left + bm.right)), (height - (bm.top + bottom)), radius, nd, alpha, null, GradientType.LINEAR, null, backgroundHole);
};
} else {
g.beginFill(nd, alpha);
g.drawRect(bm.left, bm.top, ((w - bm.right) - bm.left), ((h - bm.bottom) - bm.top));
g.endFill();
};
};
var borderStyle:String = getStyle("borderStyle");
if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((borderStyle == "alert")) || ((borderStyle == "default")))))) && ((getStyle("headerColors") == null)))){
highlightAlphas = getStyle("highlightAlphas");
highlightAlpha = (highlightAlphas) ? highlightAlphas[0] : 0.3;
drawRoundRect(0, 0, w, h, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, highlightAlpha, null, GradientType.LINEAR, null, {x:0, y:1, w:w, h:(h - 1), r:{tl:radius, tr:radius, bl:0, br:0}});
};
}
mx_internal function drawDropShadow(x:Number, y:Number, width:Number, height:Number, tlRadius:Number, trRadius:Number, brRadius:Number, blRadius:Number):void{
var angle:Number;
var docked:Boolean;
if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((width == 0)))) || ((height == 0)))){
return;
};
var distance:Number = getStyle("shadowDistance");
var direction:String = getStyle("shadowDirection");
if (getStyle("borderStyle") == "applicationControlBar"){
docked = getStyle("docked");
angle = (docked) ? 90 : getDropShadowAngle(distance, direction);
distance = Math.abs(distance);
} else {
angle = getDropShadowAngle(distance, direction);
distance = (Math.abs(distance) + 2);
};
if (!dropShadow){
dropShadow = new RectangularDropShadow();
};
dropShadow.distance = distance;
dropShadow.angle = angle;
dropShadow.color = getStyle("dropShadowColor");
dropShadow.alpha = 0.4;
dropShadow.tlRadius = tlRadius;
dropShadow.trRadius = trRadius;
dropShadow.blRadius = blRadius;
dropShadow.brRadius = brRadius;
dropShadow.drawShadow(graphics, x, y, width, height);
}
mx_internal function getBackgroundColor():Object{
var color:Object;
var p:IUIComponent = (parent as IUIComponent);
if (((p) && (!(p.enabled)))){
color = getStyle("backgroundDisabledColor");
if (((!((color === null))) && (StyleManager.isValidStyleValue(color)))){
return (color);
};
};
return (getStyle("backgroundColor"));
}
mx_internal function draw3dBorder(c1:Number, c2:Number, c3:Number, c4:Number, c5:Number, c6:Number):void{
var w:Number = width;
var h:Number = height;
drawDropShadow(0, 0, width, height, 0, 0, 0, 0);
var g:Graphics = graphics;
g.beginFill(c1);
g.drawRect(0, 0, w, h);
g.drawRect(1, 0, (w - 2), h);
g.endFill();
g.beginFill(c2);
g.drawRect(1, 0, (w - 2), 1);
g.endFill();
g.beginFill(c3);
g.drawRect(1, (h - 1), (w - 2), 1);
g.endFill();
g.beginFill(c4);
g.drawRect(1, 1, (w - 2), 1);
g.endFill();
g.beginFill(c5);
g.drawRect(1, (h - 2), (w - 2), 1);
g.endFill();
g.beginFill(c6);
g.drawRect(1, 2, (w - 2), (h - 4));
g.drawRect(2, 2, (w - 4), (h - 4));
g.endFill();
}
mx_internal function getBackgroundColorMetrics():EdgeMetrics{
return (borderMetrics);
}
mx_internal function getDropShadowAngle(distance:Number, direction:String):Number{
if (direction == "left"){
return (((distance >= 0)) ? 135 : 225);
} else {
if (direction == "right"){
return (((distance >= 0)) ? 45 : 315);
//unresolved jump
};
};
return (!NULL!);
}
override public function get borderMetrics():EdgeMetrics{
var borderThickness:Number;
var borderSides:String;
if (_borderMetrics){
return (_borderMetrics);
};
var borderStyle:String = getStyle("borderStyle");
if ((((borderStyle == "default")) || ((borderStyle == "alert")))){
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_borderMetrics = new EdgeMetrics(0, 0, 0, 0);
} else {
return (EdgeMetrics.EMPTY);
};
} else {
if ((((borderStyle == "controlBar")) || ((borderStyle == "applicationControlBar")))){
_borderMetrics = new EdgeMetrics(1, 1, 1, 1);
} else {
if (borderStyle == "solid"){
borderThickness = getStyle("borderThickness");
if (isNaN(borderThickness)){
borderThickness = 0;
};
_borderMetrics = new EdgeMetrics(borderThickness, borderThickness, borderThickness, borderThickness);
borderSides = getStyle("borderSides");
if (borderSides != "left top right bottom"){
if (borderSides.indexOf("left") == -1){
_borderMetrics.left = 0;
};
if (borderSides.indexOf("top") == -1){
_borderMetrics.top = 0;
};
if (borderSides.indexOf("right") == -1){
_borderMetrics.right = 0;
};
if (borderSides.indexOf("bottom") == -1){
_borderMetrics.bottom = 0;
};
};
} else {
borderThickness = BORDER_WIDTHS[borderStyle];
if (isNaN(borderThickness)){
borderThickness = 0;
};
_borderMetrics = new EdgeMetrics(borderThickness, borderThickness, borderThickness, borderThickness);
};
};
};
return (_borderMetrics);
}
}
}//package mx.skins.halo
Section 304
//HaloFocusRect (mx.skins.halo.HaloFocusRect)
package mx.skins.halo {
import mx.styles.*;
import flash.display.*;
import mx.skins.*;
import mx.utils.*;
public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient {
private var _focusColor:Number;
mx_internal static const VERSION:String = "3.5.0.12683";
public function HaloFocusRect(){
super();
}
public function get inheritingStyles():Object{
return (styleName.inheritingStyles);
}
public function set inheritingStyles(value:Object):void{
}
public function notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void{
}
public function registerEffects(effects:Array):void{
}
public function regenerateStyleCache(recursive:Boolean):void{
}
public function get styleDeclaration():CSSStyleDeclaration{
return (CSSStyleDeclaration(styleName));
}
public function getClassStyleDeclarations():Array{
return ([]);
}
public function get className():String{
return ("HaloFocusRect");
}
public function clearStyle(styleProp:String):void{
if (styleProp == "focusColor"){
_focusColor = NaN;
};
}
public function setStyle(styleProp:String, newValue):void{
if (styleProp == "focusColor"){
_focusColor = newValue;
};
}
public function set nonInheritingStyles(value:Object):void{
}
public function get nonInheritingStyles():Object{
return (styleName.nonInheritingStyles);
}
override protected function updateDisplayList(w:Number, h:Number):void{
var tl:Number;
var bl:Number;
var tr:Number;
var br:Number;
var nr:Number;
var ellipseSize:Number;
super.updateDisplayList(w, h);
var focusBlendMode:String = getStyle("focusBlendMode");
var focusAlpha:Number = getStyle("focusAlpha");
var focusColor:Number = getStyle("focusColor");
var cornerRadius:Number = getStyle("cornerRadius");
var focusThickness:Number = getStyle("focusThickness");
var focusRoundedCorners:String = getStyle("focusRoundedCorners");
var themeColor:Number = getStyle("themeColor");
var rectColor:Number = focusColor;
if (isNaN(rectColor)){
rectColor = themeColor;
};
var g:Graphics = graphics;
g.clear();
if (focusBlendMode){
blendMode = focusBlendMode;
};
if (((!((focusRoundedCorners == "tl tr bl br"))) && ((cornerRadius > 0)))){
tl = 0;
bl = 0;
tr = 0;
br = 0;
nr = (cornerRadius + focusThickness);
if (focusRoundedCorners.indexOf("tl") >= 0){
tl = nr;
};
if (focusRoundedCorners.indexOf("tr") >= 0){
tr = nr;
};
if (focusRoundedCorners.indexOf("bl") >= 0){
bl = nr;
};
if (focusRoundedCorners.indexOf("br") >= 0){
br = nr;
};
g.beginFill(rectColor, focusAlpha);
GraphicsUtil.drawRoundRectComplex(g, 0, 0, w, h, tl, tr, bl, br);
tl = (tl) ? cornerRadius : 0;
tr = (tr) ? cornerRadius : 0;
bl = (bl) ? cornerRadius : 0;
br = (br) ? cornerRadius : 0;
GraphicsUtil.drawRoundRectComplex(g, focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), tl, tr, bl, br);
g.endFill();
nr = (cornerRadius + (focusThickness / 2));
tl = (tl) ? nr : 0;
tr = (tr) ? nr : 0;
bl = (bl) ? nr : 0;
br = (br) ? nr : 0;
g.beginFill(rectColor, focusAlpha);
GraphicsUtil.drawRoundRectComplex(g, (focusThickness / 2), (focusThickness / 2), (w - focusThickness), (h - focusThickness), tl, tr, bl, br);
tl = (tl) ? cornerRadius : 0;
tr = (tr) ? cornerRadius : 0;
bl = (bl) ? cornerRadius : 0;
br = (br) ? cornerRadius : 0;
GraphicsUtil.drawRoundRectComplex(g, focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), tl, tr, bl, br);
g.endFill();
} else {
g.beginFill(rectColor, focusAlpha);
ellipseSize = (((cornerRadius > 0)) ? (cornerRadius + focusThickness) : 0 * 2);
g.drawRoundRect(0, 0, w, h, ellipseSize, ellipseSize);
ellipseSize = (cornerRadius * 2);
g.drawRoundRect(focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), ellipseSize, ellipseSize);
g.endFill();
g.beginFill(rectColor, focusAlpha);
ellipseSize = (((cornerRadius > 0)) ? (cornerRadius + (focusThickness / 2)) : 0 * 2);
g.drawRoundRect((focusThickness / 2), (focusThickness / 2), (w - focusThickness), (h - focusThickness), ellipseSize, ellipseSize);
ellipseSize = (cornerRadius * 2);
g.drawRoundRect(focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), ellipseSize, ellipseSize);
g.endFill();
};
}
override public function getStyle(styleProp:String){
return (((styleProp == "focusColor")) ? _focusColor : super.getStyle(styleProp));
}
public function set styleDeclaration(value:CSSStyleDeclaration):void{
}
}
}//package mx.skins.halo
Section 305
//Border (mx.skins.Border)
package mx.skins {
import mx.core.*;
public class Border extends ProgrammaticSkin implements IBorder {
mx_internal static const VERSION:String = "3.5.0.12683";
public function Border(){
super();
}
public function get borderMetrics():EdgeMetrics{
return (EdgeMetrics.EMPTY);
}
}
}//package mx.skins
Section 306
//ProgrammaticSkin (mx.skins.ProgrammaticSkin)
package mx.skins {
import mx.core.*;
import mx.styles.*;
import flash.display.*;
import flash.geom.*;
import mx.managers.*;
import mx.utils.*;
public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin {
private var _initialized:Boolean;// = false
private var _height:Number;
private var invalidateDisplayListFlag:Boolean;// = false
private var _styleName:IStyleClient;
private var _nestLevel:int;// = 0
private var _processedDescriptors:Boolean;// = false
private var _updateCompletePendingFlag:Boolean;// = true
private var _width:Number;
mx_internal static const VERSION:String = "3.5.0.12683";
private static var tempMatrix:Matrix = new Matrix();
public function ProgrammaticSkin(){
super();
_width = measuredWidth;
_height = measuredHeight;
}
public function getStyle(styleProp:String){
return ((_styleName) ? _styleName.getStyle(styleProp) : null);
}
protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
}
public function get nestLevel():int{
return (_nestLevel);
}
public function set nestLevel(value:int):void{
_nestLevel = value;
invalidateDisplayList();
}
override public function get height():Number{
return (_height);
}
public function get updateCompletePendingFlag():Boolean{
return (_updateCompletePendingFlag);
}
protected function verticalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix{
return (rotatedGradientMatrix(x, y, width, height, 90));
}
public function validateSize(recursive:Boolean=false):void{
}
public function invalidateDisplayList():void{
if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){
invalidateDisplayListFlag = true;
UIComponentGlobals.layoutManager.invalidateDisplayList(this);
};
}
public function set updateCompletePendingFlag(value:Boolean):void{
_updateCompletePendingFlag = value;
}
protected function horizontalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix{
return (rotatedGradientMatrix(x, y, width, height, 0));
}
override public function set height(value:Number):void{
_height = value;
invalidateDisplayList();
}
public function set processedDescriptors(value:Boolean):void{
_processedDescriptors = value;
}
public function validateDisplayList():void{
invalidateDisplayListFlag = false;
updateDisplayList(width, height);
}
public function get measuredWidth():Number{
return (0);
}
override public function set width(value:Number):void{
_width = value;
invalidateDisplayList();
}
public function get measuredHeight():Number{
return (0);
}
public function set initialized(value:Boolean):void{
_initialized = value;
}
protected function drawRoundRect(x:Number, y:Number, width:Number, height:Number, cornerRadius:Object=null, color:Object=null, alpha:Object=null, gradientMatrix:Matrix=null, gradientType:String="linear", gradientRatios:Array=null, hole:Object=null):void{
var ellipseSize:Number;
var alphas:Array;
var holeR:Object;
var g:Graphics = graphics;
if ((((width == 0)) || ((height == 0)))){
return;
};
if (color !== null){
if ((color is uint)){
g.beginFill(uint(color), Number(alpha));
} else {
if ((color is Array)){
alphas = ((alpha is Array)) ? (alpha as Array) : [alpha, alpha];
if (!gradientRatios){
gradientRatios = [0, 0xFF];
};
g.beginGradientFill(gradientType, (color as Array), alphas, gradientRatios, gradientMatrix);
};
};
};
if (!cornerRadius){
g.drawRect(x, y, width, height);
} else {
if ((cornerRadius is Number)){
ellipseSize = (Number(cornerRadius) * 2);
g.drawRoundRect(x, y, width, height, ellipseSize, ellipseSize);
} else {
GraphicsUtil.drawRoundRectComplex(g, x, y, width, height, cornerRadius.tl, cornerRadius.tr, cornerRadius.bl, cornerRadius.br);
};
};
if (hole){
holeR = hole.r;
if ((holeR is Number)){
ellipseSize = (Number(holeR) * 2);
g.drawRoundRect(hole.x, hole.y, hole.w, hole.h, ellipseSize, ellipseSize);
} else {
GraphicsUtil.drawRoundRectComplex(g, hole.x, hole.y, hole.w, hole.h, holeR.tl, holeR.tr, holeR.bl, holeR.br);
};
};
if (color !== null){
g.endFill();
};
}
public function get processedDescriptors():Boolean{
return (_processedDescriptors);
}
public function set styleName(value:Object):void{
if (_styleName != value){
_styleName = (value as IStyleClient);
invalidateDisplayList();
};
}
public function setActualSize(newWidth:Number, newHeight:Number):void{
var changed:Boolean;
if (_width != newWidth){
_width = newWidth;
changed = true;
};
if (_height != newHeight){
_height = newHeight;
changed = true;
};
if (changed){
invalidateDisplayList();
};
}
public function styleChanged(styleProp:String):void{
invalidateDisplayList();
}
override public function get width():Number{
return (_width);
}
public function invalidateProperties():void{
}
public function get initialized():Boolean{
return (_initialized);
}
protected function rotatedGradientMatrix(x:Number, y:Number, width:Number, height:Number, rotation:Number):Matrix{
tempMatrix.createGradientBox(width, height, ((rotation * Math.PI) / 180), x, y);
return (tempMatrix);
}
public function move(x:Number, y:Number):void{
this.x = x;
this.y = y;
}
public function get styleName():Object{
return (_styleName);
}
public function validateNow():void{
if (invalidateDisplayListFlag){
validateDisplayList();
};
}
public function invalidateSize():void{
}
public function validateProperties():void{
}
}
}//package mx.skins
Section 307
//RectangularBorder (mx.skins.RectangularBorder)
package mx.skins {
import mx.core.*;
import flash.utils.*;
import mx.styles.*;
import flash.events.*;
import flash.system.*;
import flash.display.*;
import flash.geom.*;
import mx.resources.*;
import flash.net.*;
public class RectangularBorder extends Border implements IRectangularBorder {
private var backgroundImage:DisplayObject;
private var backgroundImageHeight:Number;
private var _backgroundImageBounds:Rectangle;
private var backgroundImageStyle:Object;
private var backgroundImageWidth:Number;
private var resourceManager:IResourceManager;
mx_internal static const VERSION:String = "3.5.0.12683";
public function RectangularBorder(){
resourceManager = ResourceManager.getInstance();
super();
addEventListener(Event.REMOVED, removedHandler);
}
public function layoutBackgroundImage():void{
var sW:Number;
var sH:Number;
var sX:Number;
var sY:Number;
var scale:Number;
var g:Graphics;
var p:DisplayObject = parent;
var bm:EdgeMetrics = ((p is IContainer)) ? IContainer(p).viewMetrics : borderMetrics;
var scrollableBk = !((getStyle("backgroundAttachment") == "fixed"));
if (_backgroundImageBounds){
sW = _backgroundImageBounds.width;
sH = _backgroundImageBounds.height;
} else {
sW = ((width - bm.left) - bm.right);
sH = ((height - bm.top) - bm.bottom);
};
var percentage:Number = getBackgroundSize();
if (isNaN(percentage)){
sX = 1;
sY = 1;
} else {
scale = (percentage * 0.01);
sX = ((scale * sW) / backgroundImageWidth);
sY = ((scale * sH) / backgroundImageHeight);
};
backgroundImage.scaleX = sX;
backgroundImage.scaleY = sY;
var offsetX:Number = Math.round((0.5 * (sW - (backgroundImageWidth * sX))));
var offsetY:Number = Math.round((0.5 * (sH - (backgroundImageHeight * sY))));
backgroundImage.x = bm.left;
backgroundImage.y = bm.top;
var backgroundMask:Shape = Shape(backgroundImage.mask);
backgroundMask.x = bm.left;
backgroundMask.y = bm.top;
if (((scrollableBk) && ((p is IContainer)))){
offsetX = (offsetX - IContainer(p).horizontalScrollPosition);
offsetY = (offsetY - IContainer(p).verticalScrollPosition);
};
backgroundImage.alpha = getStyle("backgroundAlpha");
backgroundImage.x = (backgroundImage.x + offsetX);
backgroundImage.y = (backgroundImage.y + offsetY);
var maskWidth:Number = ((width - bm.left) - bm.right);
var maskHeight:Number = ((height - bm.top) - bm.bottom);
if (((!((backgroundMask.width == maskWidth))) || (!((backgroundMask.height == maskHeight))))){
g = backgroundMask.graphics;
g.clear();
g.beginFill(0xFFFFFF);
g.drawRect(0, 0, maskWidth, maskHeight);
g.endFill();
};
}
public function set backgroundImageBounds(value:Rectangle):void{
if (((((_backgroundImageBounds) && (value))) && (_backgroundImageBounds.equals(value)))){
return;
};
_backgroundImageBounds = value;
invalidateDisplayList();
}
private function getBackgroundSize():Number{
var index:int;
var percentage:Number = NaN;
var backgroundSize:Object = getStyle("backgroundSize");
if (((backgroundSize) && ((backgroundSize is String)))){
index = backgroundSize.indexOf("%");
if (index != -1){
percentage = Number(backgroundSize.substr(0, index));
};
};
return (percentage);
}
private function removedHandler(event:Event):void{
var childrenList:IChildList;
if (backgroundImage){
childrenList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
childrenList.removeChild(backgroundImage.mask);
childrenList.removeChild(backgroundImage);
backgroundImage = null;
};
}
private function initBackgroundImage(image:DisplayObject):void{
backgroundImage = image;
if ((image is Loader)){
backgroundImageWidth = Loader(image).contentLoaderInfo.width;
backgroundImageHeight = Loader(image).contentLoaderInfo.height;
} else {
backgroundImageWidth = backgroundImage.width;
backgroundImageHeight = backgroundImage.height;
if ((image is ISimpleStyleClient)){
ISimpleStyleClient(image).styleName = styleName;
};
};
var childrenList:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
var backgroundMask:Shape = new FlexShape();
backgroundMask.name = "backgroundMask";
backgroundMask.x = 0;
backgroundMask.y = 0;
childrenList.addChild(backgroundMask);
var myIndex:int = childrenList.getChildIndex(this);
childrenList.addChildAt(backgroundImage, (myIndex + 1));
backgroundImage.mask = backgroundMask;
}
public function get backgroundImageBounds():Rectangle{
return (_backgroundImageBounds);
}
public function get hasBackgroundImage():Boolean{
return (!((backgroundImage == null)));
}
private function completeEventHandler(event:Event):void{
if (!parent){
return;
};
var target:DisplayObject = DisplayObject(LoaderInfo(event.target).loader);
initBackgroundImage(target);
layoutBackgroundImage();
dispatchEvent(event.clone());
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
var cls:Class;
var newStyleObj:DisplayObject;
var loader:Loader;
var loaderContext:LoaderContext;
var message:String;
var unscaledWidth = unscaledWidth;
var unscaledHeight = unscaledHeight;
if (!parent){
return;
};
var newStyle:Object = getStyle("backgroundImage");
if (newStyle != backgroundImageStyle){
removedHandler(null);
backgroundImageStyle = newStyle;
if (((newStyle) && ((newStyle as Class)))){
cls = Class(newStyle);
initBackgroundImage(new (cls));
} else {
if (((newStyle) && ((newStyle is String)))){
cls = Class(getDefinitionByName(String(newStyle)));
//unresolved jump
var _slot1 = e;
if (cls){
newStyleObj = new (cls);
initBackgroundImage(newStyleObj);
} else {
loader = new FlexLoader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler);
loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler);
loaderContext = new LoaderContext();
loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
loader.load(new URLRequest(String(newStyle)), loaderContext);
};
} else {
if (newStyle){
message = resourceManager.getString("skins", "notLoaded", [newStyle]);
throw (new Error(message));
};
};
};
};
if (backgroundImage){
layoutBackgroundImage();
};
}
private function errorEventHandler(event:Event):void{
}
}
}//package mx.skins
Section 308
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration)
package mx.styles {
import mx.core.*;
import flash.utils.*;
import flash.events.*;
import flash.display.*;
import mx.managers.*;
public class CSSStyleDeclaration extends EventDispatcher {
mx_internal var effects:Array;
protected var overrides:Object;
public var defaultFactory:Function;
public var factory:Function;
mx_internal var selectorRefCount:int;// = 0
private var styleManager:IStyleManager2;
private var clones:Dictionary;
mx_internal static const VERSION:String = "3.5.0.12683";
private static const NOT_A_COLOR:uint = 4294967295;
private static const FILTERMAP_PROP:String = "__reserved__filterMap";
public function CSSStyleDeclaration(selector:String=null){
clones = new Dictionary(true);
super();
if (selector){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
styleManager.setStyleDeclaration(selector, this, false);
};
}
mx_internal function addStyleToProtoChain(chain:Object, target:DisplayObject, filterMap:Object=null):Object{
var p:String;
var emptyObjectFactory:Function;
var filteredChain:Object;
var filterObjectFactory:Function;
var i:String;
var chain = chain;
var target = target;
var filterMap = filterMap;
var nodeAddedToChain:Boolean;
var originalChain:Object = chain;
if (filterMap){
chain = {};
};
if (defaultFactory != null){
defaultFactory.prototype = chain;
chain = new defaultFactory();
nodeAddedToChain = true;
};
if (factory != null){
factory.prototype = chain;
chain = new factory();
nodeAddedToChain = true;
};
if (overrides){
if ((((defaultFactory == null)) && ((factory == null)))){
emptyObjectFactory = function ():void{
};
emptyObjectFactory.prototype = chain;
chain = new (emptyObjectFactory);
nodeAddedToChain = true;
};
for (p in overrides) {
if (overrides[p] === undefined){
delete chain[p];
} else {
chain[p] = overrides[p];
};
};
};
if (filterMap){
if (nodeAddedToChain){
filteredChain = {};
filterObjectFactory = function ():void{
};
filterObjectFactory.prototype = originalChain;
filteredChain = new (filterObjectFactory);
for (i in chain) {
if (filterMap[i] != null){
filteredChain[filterMap[i]] = chain[i];
};
};
chain = filteredChain;
chain[FILTERMAP_PROP] = filterMap;
} else {
chain = originalChain;
};
};
if (nodeAddedToChain){
clones[chain] = 1;
};
return (chain);
}
public function getStyle(styleProp:String){
var o:*;
var v:*;
if (overrides){
if ((((styleProp in overrides)) && ((overrides[styleProp] === undefined)))){
return (undefined);
};
v = overrides[styleProp];
if (v !== undefined){
return (v);
};
};
if (factory != null){
factory.prototype = {};
o = new factory();
v = o[styleProp];
if (v !== undefined){
return (v);
};
};
if (defaultFactory != null){
defaultFactory.prototype = {};
o = new defaultFactory();
v = o[styleProp];
if (v !== undefined){
return (v);
};
};
return (undefined);
}
public function clearStyle(styleProp:String):void{
setStyle(styleProp, undefined);
}
public function setStyle(styleProp:String, newValue):void{
var i:int;
var sm:Object;
var oldValue:Object = getStyle(styleProp);
var regenerate:Boolean;
if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((oldValue === newValue))))){
regenerate = true;
};
if (newValue !== undefined){
setStyle(styleProp, newValue);
} else {
if (newValue == oldValue){
return;
};
setStyle(styleProp, newValue);
};
var sms:Array = SystemManagerGlobals.topLevelSystemManagers;
var n:int = sms.length;
if (regenerate){
i = 0;
while (i < n) {
sm = sms[i];
sm.regenerateStyleCache(true);
i++;
};
};
i = 0;
while (i < n) {
sm = sms[i];
sm.notifyStyleChangeInChildren(styleProp, true);
i++;
};
}
private function clearStyleAttr(styleProp:String):void{
var clone:*;
if (!overrides){
overrides = {};
};
overrides[styleProp] = undefined;
for (clone in clones) {
delete clone[styleProp];
};
}
mx_internal function createProtoChainRoot():Object{
var root:Object = {};
if (defaultFactory != null){
defaultFactory.prototype = root;
root = new defaultFactory();
};
if (factory != null){
factory.prototype = root;
root = new factory();
};
clones[root] = 1;
return (root);
}
mx_internal function clearOverride(styleProp:String):void{
if (((overrides) && (overrides[styleProp]))){
delete overrides[styleProp];
};
}
mx_internal function setStyle(styleProp:String, value):void{
var o:Object;
var clone:*;
var colorNumber:Number;
var cloneFilter:Object;
if (value === undefined){
clearStyleAttr(styleProp);
return;
};
if ((value is String)){
if (!styleManager){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
};
colorNumber = styleManager.getColorName(value);
if (colorNumber != NOT_A_COLOR){
value = colorNumber;
};
};
if (defaultFactory != null){
o = new defaultFactory();
if (o[styleProp] !== value){
if (!overrides){
overrides = {};
};
overrides[styleProp] = value;
} else {
if (overrides){
delete overrides[styleProp];
};
};
};
if (factory != null){
o = new factory();
if (o[styleProp] !== value){
if (!overrides){
overrides = {};
};
overrides[styleProp] = value;
} else {
if (overrides){
delete overrides[styleProp];
};
};
};
if ((((defaultFactory == null)) && ((factory == null)))){
if (!overrides){
overrides = {};
};
overrides[styleProp] = value;
};
for (clone in clones) {
cloneFilter = clone[FILTERMAP_PROP];
if (cloneFilter){
if (cloneFilter[styleProp] != null){
clone[cloneFilter[styleProp]] = value;
};
} else {
clone[styleProp] = value;
};
};
}
}
}//package mx.styles
Section 309
//ISimpleStyleClient (mx.styles.ISimpleStyleClient)
package mx.styles {
public interface ISimpleStyleClient {
function set styleName(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;ISimpleStyleClient.as:Object):void;
function styleChanged(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;ISimpleStyleClient.as:String):void;
function get styleName():Object;
}
}//package mx.styles
Section 310
//IStyleClient (mx.styles.IStyleClient)
package mx.styles {
public interface IStyleClient extends ISimpleStyleClient {
function regenerateStyleCache(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Boolean):void;
function get className():String;
function clearStyle(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:String):void;
function getClassStyleDeclarations():Array;
function get inheritingStyles():Object;
function set nonInheritingStyles(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Object):void;
function setStyle(_arg1:String, _arg2):void;
function get styleDeclaration():CSSStyleDeclaration;
function set styleDeclaration(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:CSSStyleDeclaration):void;
function get nonInheritingStyles():Object;
function set inheritingStyles(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Object):void;
function getStyle(*:String);
function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void;
function registerEffects(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Array):void;
}
}//package mx.styles
Section 311
//IStyleManager (mx.styles.IStyleManager)
package mx.styles {
import flash.events.*;
public interface IStyleManager {
function isColorName(value:String):Boolean;
function registerParentDisplayListInvalidatingStyle(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void;
function registerInheritingStyle(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void;
function set stylesRoot(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void;
function get typeSelectorCache():Object;
function styleDeclarationsChanged():void;
function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void;
function isParentDisplayListInvalidatingStyle(value:String):Boolean;
function isSizeInvalidatingStyle(value:String):Boolean;
function get inheritingStyles():Object;
function isValidStyleValue(value):Boolean;
function isParentSizeInvalidatingStyle(value:String):Boolean;
function getColorName(mx.styles:IStyleManager/mx.styles:IStyleManager:inheritingStyles/set:Object):uint;
function set typeSelectorCache(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void;
function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void;
function getColorNames(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Array):void;
function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher;
function isInheritingStyle(value:String):Boolean;
function set inheritingStyles(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void;
function get stylesRoot():Object;
function initProtoChainRoots():void;
function registerColorName(_arg1:String, _arg2:uint):void;
function registerParentSizeInvalidatingStyle(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void;
function registerSizeInvalidatingStyle(C:\autobuild\3.5.0\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void;
function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void;
function isInheritingTextFormatStyle(value:String):Boolean;
function getStyleDeclaration(mx.styles:IStyleManager/mx.styles:IStyleManager:inheritingStyles/get:String):CSSStyleDeclaration;
}
}//package mx.styles
Section 312
//IStyleManager2 (mx.styles.IStyleManager2)
package mx.styles {
import flash.events.*;
import flash.system.*;
public interface IStyleManager2 extends IStyleManager {
function get selectors():Array;
function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher;
}
}//package mx.styles
Section 313
//IStyleModule (mx.styles.IStyleModule)
package mx.styles {
public interface IStyleModule {
function unload():void;
}
}//package mx.styles
Section 314
//StyleManager (mx.styles.StyleManager)
package mx.styles {
import mx.core.*;
import flash.events.*;
import flash.system.*;
public class StyleManager {
mx_internal static const VERSION:String = "3.5.0.12683";
public static const NOT_A_COLOR:uint = 4294967295;
private static var _impl:IStyleManager2;
private static var implClassDependency:StyleManagerImpl;
public function StyleManager(){
super();
}
public static function isParentSizeInvalidatingStyle(styleName:String):Boolean{
return (impl.isParentSizeInvalidatingStyle(styleName));
}
public static function registerInheritingStyle(styleName:String):void{
impl.registerInheritingStyle(styleName);
}
mx_internal static function set stylesRoot(value:Object):void{
impl.stylesRoot = value;
}
mx_internal static function get inheritingStyles():Object{
return (impl.inheritingStyles);
}
mx_internal static function styleDeclarationsChanged():void{
impl.styleDeclarationsChanged();
}
public static function setStyleDeclaration(selector:String, styleDeclaration:CSSStyleDeclaration, update:Boolean):void{
impl.setStyleDeclaration(selector, styleDeclaration, update);
}
public static function registerParentDisplayListInvalidatingStyle(styleName:String):void{
impl.registerParentDisplayListInvalidatingStyle(styleName);
}
mx_internal static function get typeSelectorCache():Object{
return (impl.typeSelectorCache);
}
mx_internal static function set inheritingStyles(value:Object):void{
impl.inheritingStyles = value;
}
public static function isColorName(colorName:String):Boolean{
return (impl.isColorName(colorName));
}
public static function isParentDisplayListInvalidatingStyle(styleName:String):Boolean{
return (impl.isParentDisplayListInvalidatingStyle(styleName));
}
public static function isSizeInvalidatingStyle(styleName:String):Boolean{
return (impl.isSizeInvalidatingStyle(styleName));
}
public static function getColorName(colorName:Object):uint{
return (impl.getColorName(colorName));
}
mx_internal static function set typeSelectorCache(value:Object):void{
impl.typeSelectorCache = value;
}
public static function unloadStyleDeclarations(url:String, update:Boolean=true):void{
impl.unloadStyleDeclarations(url, update);
}
public static function getColorNames(colors:Array):void{
impl.getColorNames(colors);
}
public static function loadStyleDeclarations(url:String, update:Boolean=true, trustContent:Boolean=false, applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):IEventDispatcher{
return (impl.loadStyleDeclarations2(url, update, applicationDomain, securityDomain));
}
private static function get impl():IStyleManager2{
if (!_impl){
_impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2"));
};
return (_impl);
}
public static function isValidStyleValue(value):Boolean{
return (impl.isValidStyleValue(value));
}
mx_internal static function get stylesRoot():Object{
return (impl.stylesRoot);
}
public static function isInheritingStyle(styleName:String):Boolean{
return (impl.isInheritingStyle(styleName));
}
mx_internal static function initProtoChainRoots():void{
impl.initProtoChainRoots();
}
public static function registerParentSizeInvalidatingStyle(styleName:String):void{
impl.registerParentSizeInvalidatingStyle(styleName);
}
public static function get selectors():Array{
return (impl.selectors);
}
public static function registerSizeInvalidatingStyle(styleName:String):void{
impl.registerSizeInvalidatingStyle(styleName);
}
public static function clearStyleDeclaration(selector:String, update:Boolean):void{
impl.clearStyleDeclaration(selector, update);
}
public static function registerColorName(colorName:String, colorValue:uint):void{
impl.registerColorName(colorName, colorValue);
}
public static function isInheritingTextFormatStyle(styleName:String):Boolean{
return (impl.isInheritingTextFormatStyle(styleName));
}
public static function getStyleDeclaration(selector:String):CSSStyleDeclaration{
return (impl.getStyleDeclaration(selector));
}
}
}//package mx.styles
Section 315
//StyleManagerImpl (mx.styles.StyleManagerImpl)
package mx.styles {
import mx.core.*;
import flash.utils.*;
import flash.events.*;
import flash.system.*;
import mx.modules.*;
import mx.events.*;
import mx.resources.*;
import mx.managers.*;
public class StyleManagerImpl implements IStyleManager2 {
private var _stylesRoot:Object;
private var _selectors:Object;
private var styleModules:Object;
private var _inheritingStyles:Object;
private var resourceManager:IResourceManager;
private var _typeSelectorCache:Object;
mx_internal static const VERSION:String = "3.5.0.12683";
private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193};
private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true};
private static var instance:IStyleManager2;
private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true};
public function StyleManagerImpl(){
_selectors = {};
styleModules = {};
resourceManager = ResourceManager.getInstance();
_inheritingStyles = {};
_typeSelectorCache = {};
super();
}
public function setStyleDeclaration(selector:String, styleDeclaration:CSSStyleDeclaration, update:Boolean):void{
styleDeclaration.selectorRefCount++;
_selectors[selector] = styleDeclaration;
typeSelectorCache = {};
if (update){
styleDeclarationsChanged();
};
}
public function registerParentDisplayListInvalidatingStyle(styleName:String):void{
parentDisplayListInvalidatingStyles[styleName] = true;
}
public function getStyleDeclaration(selector:String):CSSStyleDeclaration{
var index:int;
if (selector.charAt(0) != "."){
index = selector.lastIndexOf(".");
if (index != -1){
selector = selector.substr((index + 1));
};
};
return (_selectors[selector]);
}
public function set typeSelectorCache(value:Object):void{
_typeSelectorCache = value;
}
public function isColorName(colorName:String):Boolean{
return (!((colorNames[colorName.toLowerCase()] === undefined)));
}
public function set inheritingStyles(value:Object):void{
_inheritingStyles = value;
}
public function getColorNames(colors:Array):void{
var colorNumber:uint;
if (!colors){
return;
};
var n:int = colors.length;
var i:int;
while (i < n) {
if (((!((colors[i] == null))) && (isNaN(colors[i])))){
colorNumber = getColorName(colors[i]);
if (colorNumber != StyleManager.NOT_A_COLOR){
colors[i] = colorNumber;
};
};
i++;
};
}
public function isInheritingTextFormatStyle(styleName:String):Boolean{
return ((inheritingTextFormatStyles[styleName] == true));
}
public function registerParentSizeInvalidatingStyle(styleName:String):void{
parentSizeInvalidatingStyles[styleName] = true;
}
public function registerColorName(colorName:String, colorValue:uint):void{
colorNames[colorName.toLowerCase()] = colorValue;
}
public function isParentSizeInvalidatingStyle(styleName:String):Boolean{
return ((parentSizeInvalidatingStyles[styleName] == true));
}
public function registerInheritingStyle(styleName:String):void{
inheritingStyles[styleName] = true;
}
public function set stylesRoot(value:Object):void{
_stylesRoot = value;
}
public function get typeSelectorCache():Object{
return (_typeSelectorCache);
}
public function isParentDisplayListInvalidatingStyle(styleName:String):Boolean{
return ((parentDisplayListInvalidatingStyles[styleName] == true));
}
public function isSizeInvalidatingStyle(styleName:String):Boolean{
return ((sizeInvalidatingStyles[styleName] == true));
}
public function styleDeclarationsChanged():void{
var sm:Object;
var sms:Array = SystemManagerGlobals.topLevelSystemManagers;
var n:int = sms.length;
var i:int;
while (i < n) {
sm = sms[i];
sm.regenerateStyleCache(true);
sm.notifyStyleChangeInChildren(null, true);
i++;
};
}
public function isValidStyleValue(value):Boolean{
return (!((value === undefined)));
}
public function loadStyleDeclarations(url:String, update:Boolean=true, trustContent:Boolean=false):IEventDispatcher{
return (loadStyleDeclarations2(url, update));
}
public function get inheritingStyles():Object{
return (_inheritingStyles);
}
public function unloadStyleDeclarations(url:String, update:Boolean=true):void{
var module:IModuleInfo;
var styleModuleInfo:StyleModuleInfo = styleModules[url];
if (styleModuleInfo){
styleModuleInfo.styleModule.unload();
module = styleModuleInfo.module;
module.unload();
module.removeEventListener(ModuleEvent.READY, styleModuleInfo.readyHandler);
module.removeEventListener(ModuleEvent.ERROR, styleModuleInfo.errorHandler);
styleModules[url] = null;
};
if (update){
styleDeclarationsChanged();
};
}
public function getColorName(colorName:Object):uint{
var n:Number;
var c:*;
if ((colorName is String)){
if (colorName.charAt(0) == "#"){
n = Number(("0x" + colorName.slice(1)));
return ((isNaN(n)) ? StyleManager.NOT_A_COLOR : uint(n));
};
if ((((colorName.charAt(1) == "x")) && ((colorName.charAt(0) == "0")))){
n = Number(colorName);
return ((isNaN(n)) ? StyleManager.NOT_A_COLOR : uint(n));
};
c = colorNames[colorName.toLowerCase()];
if (c === undefined){
return (StyleManager.NOT_A_COLOR);
};
return (uint(c));
};
return (uint(colorName));
}
public function isInheritingStyle(styleName:String):Boolean{
return ((inheritingStyles[styleName] == true));
}
public function get stylesRoot():Object{
return (_stylesRoot);
}
public function initProtoChainRoots():void{
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
delete _inheritingStyles["textDecoration"];
delete _inheritingStyles["leading"];
};
if (!stylesRoot){
stylesRoot = _selectors["global"].addStyleToProtoChain({}, null);
};
}
public function loadStyleDeclarations2(url:String, update:Boolean=true, applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):IEventDispatcher{
var module:IModuleInfo;
var styleEventDispatcher:StyleEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = url;
var update = update;
var applicationDomain = applicationDomain;
var securityDomain = securityDomain;
module = ModuleManager.getModule(url);
var readyHandler:Function = function (moduleEvent:ModuleEvent):void{
var styleModule:IStyleModule = IStyleModule(moduleEvent.module.factory.create());
styleModules[moduleEvent.module.url].styleModule = styleModule;
if (update){
styleDeclarationsChanged();
};
};
module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
styleEventDispatcher = new StyleEventDispatcher(module);
var errorHandler:Function = function (moduleEvent:ModuleEvent):void{
var styleEvent:StyleEvent;
var errorText:String = resourceManager.getString("styles", "unableToLoad", [moduleEvent.errorText, url]);
if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){
styleEvent = new StyleEvent(StyleEvent.ERROR, moduleEvent.bubbles, moduleEvent.cancelable);
styleEvent.bytesLoaded = 0;
styleEvent.bytesTotal = 0;
styleEvent.errorText = errorText;
styleEventDispatcher.dispatchEvent(styleEvent);
} else {
throw (new Error(errorText));
};
};
module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (event:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
module.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (styleEventDispatcher);
}
public function registerSizeInvalidatingStyle(styleName:String):void{
sizeInvalidatingStyles[styleName] = true;
}
public function clearStyleDeclaration(selector:String, update:Boolean):void{
var styleDeclaration:CSSStyleDeclaration = getStyleDeclaration(selector);
if (((styleDeclaration) && ((styleDeclaration.selectorRefCount > 0)))){
styleDeclaration.selectorRefCount--;
};
delete _selectors[selector];
if (update){
styleDeclarationsChanged();
};
}
public function get selectors():Array{
var i:String;
var theSelectors:Array = [];
for (i in _selectors) {
theSelectors.push(i);
};
return (theSelectors);
}
public static function getInstance():IStyleManager2{
if (!instance){
instance = new (StyleManagerImpl);
};
return (instance);
}
}
}//package mx.styles
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class StyleEventDispatcher extends EventDispatcher {
private function StyleEventDispatcher(moduleInfo:IModuleInfo){
super();
moduleInfo.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
moduleInfo.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
moduleInfo.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(event:ModuleEvent):void{
var styleEvent:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, event.bubbles, event.cancelable);
styleEvent.bytesLoaded = event.bytesLoaded;
styleEvent.bytesTotal = event.bytesTotal;
dispatchEvent(styleEvent);
}
private function moduleInfo_readyHandler(event:ModuleEvent):void{
var styleEvent:StyleEvent = new StyleEvent(StyleEvent.COMPLETE);
styleEvent.bytesLoaded = event.bytesLoaded;
styleEvent.bytesTotal = event.bytesTotal;
dispatchEvent(styleEvent);
}
private function moduleInfo_errorHandler(event:ModuleEvent):void{
var styleEvent:StyleEvent = new StyleEvent(StyleEvent.ERROR, event.bubbles, event.cancelable);
styleEvent.bytesLoaded = event.bytesLoaded;
styleEvent.bytesTotal = event.bytesTotal;
styleEvent.errorText = event.errorText;
dispatchEvent(styleEvent);
}
}
class StyleModuleInfo {
public var errorHandler:Function;
public var readyHandler:Function;
public var module:IModuleInfo;
public var styleModule:IStyleModule;
private function StyleModuleInfo(module:IModuleInfo, readyHandler:Function, errorHandler:Function){
super();
this.module = module;
this.readyHandler = readyHandler;
this.errorHandler = errorHandler;
}
}
Section 316
//ColorUtil (mx.utils.ColorUtil)
package mx.utils {
public class ColorUtil {
mx_internal static const VERSION:String = "3.5.0.12683";
public function ColorUtil(){
super();
}
public static function adjustBrightness2(rgb:uint, brite:Number):uint{
var r:Number;
var g:Number;
var b:Number;
if (brite == 0){
return (rgb);
};
if (brite < 0){
brite = ((100 + brite) / 100);
r = (((rgb >> 16) & 0xFF) * brite);
g = (((rgb >> 8) & 0xFF) * brite);
b = ((rgb & 0xFF) * brite);
} else {
brite = (brite / 100);
r = ((rgb >> 16) & 0xFF);
g = ((rgb >> 8) & 0xFF);
b = (rgb & 0xFF);
r = (r + ((0xFF - r) * brite));
g = (g + ((0xFF - g) * brite));
b = (b + ((0xFF - b) * brite));
r = Math.min(r, 0xFF);
g = Math.min(g, 0xFF);
b = Math.min(b, 0xFF);
};
return ((((r << 16) | (g << 8)) | b));
}
public static function rgbMultiply(rgb1:uint, rgb2:uint):uint{
var r1:Number = ((rgb1 >> 16) & 0xFF);
var g1:Number = ((rgb1 >> 8) & 0xFF);
var b1:Number = (rgb1 & 0xFF);
var r2:Number = ((rgb2 >> 16) & 0xFF);
var g2:Number = ((rgb2 >> 8) & 0xFF);
var b2:Number = (rgb2 & 0xFF);
return ((((((r1 * r2) / 0xFF) << 16) | (((g1 * g2) / 0xFF) << 8)) | ((b1 * b2) / 0xFF)));
}
public static function adjustBrightness(rgb:uint, brite:Number):uint{
var r:Number = Math.max(Math.min((((rgb >> 16) & 0xFF) + brite), 0xFF), 0);
var g:Number = Math.max(Math.min((((rgb >> 8) & 0xFF) + brite), 0xFF), 0);
var b:Number = Math.max(Math.min(((rgb & 0xFF) + brite), 0xFF), 0);
return ((((r << 16) | (g << 8)) | b));
}
}
}//package mx.utils
Section 317
//GraphicsUtil (mx.utils.GraphicsUtil)
package mx.utils {
import flash.display.*;
public class GraphicsUtil {
mx_internal static const VERSION:String = "3.5.0.12683";
public function GraphicsUtil(){
super();
}
public static function drawRoundRectComplex(graphics:Graphics, x:Number, y:Number, width:Number, height:Number, topLeftRadius:Number, topRightRadius:Number, bottomLeftRadius:Number, bottomRightRadius:Number):void{
var xw:Number = (x + width);
var yh:Number = (y + height);
var minSize:Number = ((width < height)) ? (width * 2) : (height * 2);
topLeftRadius = ((topLeftRadius < minSize)) ? topLeftRadius : minSize;
topRightRadius = ((topRightRadius < minSize)) ? topRightRadius : minSize;
bottomLeftRadius = ((bottomLeftRadius < minSize)) ? bottomLeftRadius : minSize;
bottomRightRadius = ((bottomRightRadius < minSize)) ? bottomRightRadius : minSize;
var a:Number = (bottomRightRadius * 0.292893218813453);
var s:Number = (bottomRightRadius * 0.585786437626905);
graphics.moveTo(xw, (yh - bottomRightRadius));
graphics.curveTo(xw, (yh - s), (xw - a), (yh - a));
graphics.curveTo((xw - s), yh, (xw - bottomRightRadius), yh);
a = (bottomLeftRadius * 0.292893218813453);
s = (bottomLeftRadius * 0.585786437626905);
graphics.lineTo((x + bottomLeftRadius), yh);
graphics.curveTo((x + s), yh, (x + a), (yh - a));
graphics.curveTo(x, (yh - s), x, (yh - bottomLeftRadius));
a = (topLeftRadius * 0.292893218813453);
s = (topLeftRadius * 0.585786437626905);
graphics.lineTo(x, (y + topLeftRadius));
graphics.curveTo(x, (y + s), (x + a), (y + a));
graphics.curveTo((x + s), y, (x + topLeftRadius), y);
a = (topRightRadius * 0.292893218813453);
s = (topRightRadius * 0.585786437626905);
graphics.lineTo((xw - topRightRadius), y);
graphics.curveTo((xw - s), y, (xw - a), (y + a));
graphics.curveTo(xw, (y + s), xw, (y + topRightRadius));
graphics.lineTo(xw, (yh - bottomRightRadius));
}
}
}//package mx.utils
Section 318
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.5.0.12683";
private static var counter:int = 0;
public function NameUtil(){
super();
}
public static function displayObjectToString(displayObject:DisplayObject):String{
var result:String;
var o:DisplayObject;
var s:String;
var indices:Array;
var displayObject = displayObject;
o = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
//unresolved jump
var _slot1 = e;
return (result);
}
public static function createUniqueName(object:Object):String{
if (!object){
return (null);
};
var name:String = getQualifiedClassName(object);
var index:int = name.indexOf("::");
if (index != -1){
name = name.substr((index + 2));
};
var charCode:int = name.charCodeAt((name.length - 1));
if ((((charCode >= 48)) && ((charCode <= 57)))){
name = (name + "_");
};
return ((name + counter++));
}
}
}//package mx.utils
Section 319
//StringUtil (mx.utils.StringUtil)
package mx.utils {
public class StringUtil {
mx_internal static const VERSION:String = "3.5.0.12683";
public function StringUtil(){
super();
}
public static function trim(str:String):String{
if (str == null){
return ("");
};
var startIndex:int;
while (isWhitespace(str.charAt(startIndex))) {
startIndex++;
};
var endIndex:int = (str.length - 1);
while (isWhitespace(str.charAt(endIndex))) {
endIndex--;
};
if (endIndex >= startIndex){
return (str.slice(startIndex, (endIndex + 1)));
};
return ("");
}
public static function isWhitespace(character:String):Boolean{
switch (character){
case " ":
case "\t":
case "\r":
case "\n":
case "\f":
return (true);
default:
return (false);
};
}
public static function substitute(str:String, ... _args):String{
var args:Array;
if (str == null){
return ("");
};
var len:uint = _args.length;
if ((((len == 1)) && ((_args[0] is Array)))){
args = (_args[0] as Array);
len = args.length;
} else {
args = _args;
};
var i:int;
while (i < len) {
str = str.replace(new RegExp((("\\{" + i) + "\\}"), "g"), args[i]);
i++;
};
return (str);
}
public static function trimArrayElements(value:String, delimiter:String):String{
var items:Array;
var len:int;
var i:int;
if (((!((value == ""))) && (!((value == null))))){
items = value.split(delimiter);
len = items.length;
i = 0;
while (i < len) {
items[i] = StringUtil.trim(items[i]);
i++;
};
if (len > 0){
value = items.join(delimiter);
};
};
return (value);
}
}
}//package mx.utils
Section 320
//FlxAnim (org.flixel.data.FlxAnim)
package org.flixel.data {
public class FlxAnim {
public var delay:Number;
public var frames:Array;
public var looped:Boolean;
public var name:String;
public function FlxAnim(Name:String, Frames:Array, FrameRate:Number=0, Looped:Boolean=true){
super();
name = Name;
delay = 0;
if (FrameRate > 0){
delay = (1 / FrameRate);
};
frames = Frames;
looped = Looped;
}
}
}//package org.flixel.data
Section 321
//FlxConsole (org.flixel.data.FlxConsole)
package org.flixel.data {
import flash.display.*;
import org.flixel.*;
import flash.text.*;
public class FlxConsole extends Sprite {
protected const MAX_CONSOLE_LINES:uint = 0x0100;
protected var _lines:Array;
public var lastElapsed:Number;
protected var _text:TextField;
protected var _fpsUpdate:Boolean;
protected var _console:Sprite;
protected var _Y:Number;
protected var _curFPS:uint;
protected var _fps:Array;
protected var _bx:int;
protected var _by:int;
protected var _fpsDisplay:TextField;
protected var _YT:Number;
protected var _byt:int;
public function FlxConsole(X:uint, Y:uint, Zoom:uint){
super();
visible = false;
x = (X * Zoom);
_by = (Y * Zoom);
_byt = (_by - (FlxG.height * Zoom));
_YT = (_Y = (y = _byt));
var tmp:Bitmap = new Bitmap(new BitmapData((FlxG.width * Zoom), (FlxG.height * Zoom), true, 2130706432));
addChild(tmp);
_fps = new Array(8);
_curFPS = 0;
_fpsUpdate = true;
_text = new TextField();
_text.width = tmp.width;
_text.height = tmp.height;
_text.multiline = true;
_text.wordWrap = true;
_text.embedFonts = true;
_text.antiAliasType = AntiAliasType.NORMAL;
_text.gridFitType = GridFitType.PIXEL;
_text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF);
addChild(_text);
_fpsDisplay = new TextField();
_fpsDisplay.width = tmp.width;
_fpsDisplay.height = 20;
_fpsDisplay.multiline = true;
_fpsDisplay.wordWrap = true;
_fpsDisplay.embedFonts = true;
_fpsDisplay.antiAliasType = AntiAliasType.NORMAL;
_fpsDisplay.gridFitType = GridFitType.PIXEL;
_fpsDisplay.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right");
addChild(_fpsDisplay);
_lines = new Array();
}
public function log(Text:String):void{
var newText:String;
var i:uint;
if (Text == null){
Text = "NULL";
};
trace(Text);
_lines.push(Text);
if (_lines.length > MAX_CONSOLE_LINES){
_lines.shift();
newText = "";
i = 0;
while (i < _lines.length) {
newText = (newText + (_lines[i] + "\n"));
i++;
};
_text.text = newText;
} else {
_text.appendText((Text + "\n"));
};
_text.scrollV = _text.height;
}
public function update():void{
var fps:uint;
var i:uint;
if (visible){
_fps[_curFPS] = (1 / lastElapsed);
if (++_curFPS >= _fps.length){
_curFPS = 0;
};
_fpsUpdate = !(_fpsUpdate);
if (_fpsUpdate){
fps = 0;
i = 0;
while (i < _fps.length) {
fps = (fps + _fps[i]);
i++;
};
_fpsDisplay.text = (Math.floor((fps / _fps.length)) + " fps");
};
};
if (_Y < _YT){
_Y = (_Y + ((FlxG.height * 10) * FlxG.elapsed));
} else {
if (_Y > _YT){
_Y = (_Y - ((FlxG.height * 10) * FlxG.elapsed));
};
};
if (_Y > _by){
_Y = _by;
} else {
if (_Y < _byt){
_Y = _byt;
visible = false;
};
};
y = Math.floor(_Y);
}
public function toggle():void{
if (_YT == _by){
_YT = _byt;
} else {
_YT = _by;
visible = true;
};
}
}
}//package org.flixel.data
Section 322
//FlxFade (org.flixel.data.FlxFade)
package org.flixel.data {
import org.flixel.*;
public class FlxFade extends FlxSprite {
protected var _delay:Number;
protected var _complete:Function;
public function FlxFade(){
super();
createGraphic(FlxG.width, FlxG.height, 0, true);
scrollFactor.x = 0;
scrollFactor.y = 0;
exists = false;
}
override public function update():void{
alpha = (alpha + (FlxG.elapsed / _delay));
if (alpha >= 1){
alpha = 1;
if (_complete != null){
_complete();
};
};
}
public function start(Color:uint=4278190080, Duration:Number=1, FadeComplete:Function=null, Force:Boolean=false):void{
if (((!(Force)) && (exists))){
return;
};
fill(Color);
_delay = Duration;
_complete = FadeComplete;
alpha = 0;
exists = true;
}
public function stop():void{
exists = false;
}
}
}//package org.flixel.data
Section 323
//FlxFlash (org.flixel.data.FlxFlash)
package org.flixel.data {
import org.flixel.*;
public class FlxFlash extends FlxSprite {
protected var _delay:Number;
protected var _complete:Function;
public function FlxFlash(){
super();
createGraphic(FlxG.width, FlxG.height, 0, true);
scrollFactor.x = 0;
scrollFactor.y = 0;
exists = false;
}
override public function update():void{
alpha = (alpha - (FlxG.elapsed / _delay));
if (alpha <= 0){
exists = false;
if (_complete != null){
_complete();
};
};
}
public function start(Color:uint=4294967295, Duration:Number=1, FlashComplete:Function=null, Force:Boolean=false):void{
if (((!(Force)) && (exists))){
return;
};
fill(Color);
_delay = Duration;
_complete = FlashComplete;
alpha = 1;
exists = true;
}
public function stop():void{
exists = false;
}
}
}//package org.flixel.data
Section 324
//FlxKeyboard (org.flixel.data.FlxKeyboard)
package org.flixel.data {
import flash.events.*;
public class FlxKeyboard {
protected const _t:uint = 0x0100;
public var RIGHT:Boolean;
public var LEFT:Boolean;
public var FOUR:Boolean;
public var TWO:Boolean;
public var CONTROL:Boolean;
public var A:Boolean;
public var B:Boolean;
public var C:Boolean;
public var D:Boolean;
public var E:Boolean;
public var ONE:Boolean;
public var G:Boolean;
public var H:Boolean;
public var I:Boolean;
public var J:Boolean;
public var K:Boolean;
public var F:Boolean;
public var N:Boolean;
public var O:Boolean;
public var Q:Boolean;
public var R:Boolean;
public var S:Boolean;
public var T:Boolean;
public var U:Boolean;
public var MINUS:Boolean;
public var Y:Boolean;
public var L:Boolean;
public var Z:Boolean;
public var QUOTE:Boolean;
public var V:Boolean;
public var X:Boolean;
public var P:Boolean;
public var SHIFT:Boolean;
public var SLASH:Boolean;
public var BACKSPACE:Boolean;
public var EIGHT:Boolean;
public var W:Boolean;
public var M:Boolean;
public var THREE:Boolean;
public var ESCAPE:Boolean;
public var SEMICOLON:Boolean;
public var CAPSLOCK:Boolean;
protected var _lookup:Object;
public var PLUS:Boolean;
protected var _map:Array;
public var ZERO:Boolean;
public var DOWN:Boolean;
public var F1:Boolean;
public var F2:Boolean;
public var F3:Boolean;
public var F4:Boolean;
public var F5:Boolean;
public var F6:Boolean;
public var F7:Boolean;
public var NINE:Boolean;
public var F9:Boolean;
public var ALT:Boolean;
public var F8:Boolean;
public var DELETE:Boolean;
public var LBRACKET:Boolean;
public var UP:Boolean;
public var ENTER:Boolean;
public var FIVE:Boolean;
public var SIX:Boolean;
public var COMMA:Boolean;
public var PERIOD:Boolean;
public var BACKSLASH:Boolean;
public var F10:Boolean;
public var F11:Boolean;
public var F12:Boolean;
public var SEVEN:Boolean;
public var SPACE:Boolean;
public var RBRACKET:Boolean;
public function FlxKeyboard(){
super();
var i:uint;
_lookup = new Object();
_map = new Array(_t);
i = 65;
while (i <= 90) {
addKey(String.fromCharCode(i), i);
i++;
};
i = 48;
var _temp1 = i;
i = (i + 1);
addKey("ZERO", _temp1);
var _temp2 = i;
i = (i + 1);
addKey("ONE", _temp2);
var _temp3 = i;
i = (i + 1);
addKey("TWO", _temp3);
var _temp4 = i;
i = (i + 1);
addKey("THREE", _temp4);
var _temp5 = i;
i = (i + 1);
addKey("FOUR", _temp5);
var _temp6 = i;
i = (i + 1);
addKey("FIVE", _temp6);
var _temp7 = i;
i = (i + 1);
addKey("SIX", _temp7);
var _temp8 = i;
i = (i + 1);
addKey("SEVEN", _temp8);
var _temp9 = i;
i = (i + 1);
addKey("EIGHT", _temp9);
var _temp10 = i;
i = (i + 1);
addKey("NINE", _temp10);
i = 1;
while (i <= 12) {
addKey(("F" + i), (111 + i));
i++;
};
addKey("ESCAPE", 27);
addKey("MINUS", 189);
addKey("PLUS", 187);
addKey("DELETE", 46);
addKey("BACKSPACE", 8);
addKey("LBRACKET", 219);
addKey("RBRACKET", 221);
addKey("BACKSLASH", 220);
addKey("CAPSLOCK", 20);
addKey("SEMICOLON", 186);
addKey("QUOTE", 222);
addKey("ENTER", 13);
addKey("SHIFT", 16);
addKey("COMMA", 188);
addKey("PERIOD", 190);
addKey("SLASH", 191);
addKey("CONTROL", 17);
addKey("ALT", 18);
addKey("SPACE", 32);
addKey("UP", 38);
addKey("DOWN", 40);
addKey("LEFT", 37);
addKey("RIGHT", 39);
}
public function handleKeyUp(event:KeyboardEvent):void{
var o:Object = _map[event.keyCode];
if (o == null){
return;
};
if (o.current > 0){
o.current = -1;
} else {
o.current = 0;
};
this[o.name] = false;
}
public function pressed(Key:String):Boolean{
return (this[Key]);
}
public function justReleased(Key:String):Boolean{
return ((_map[_lookup[Key]].current == -1));
}
public function handleKeyDown(event:KeyboardEvent):void{
var o:Object = _map[event.keyCode];
if (o == null){
return;
};
if (o.current > 0){
o.current = 1;
} else {
o.current = 2;
};
this[o.name] = true;
}
public function reset():void{
var o:Object;
var i:uint;
while (i < _t) {
if (_map[i] == null){
} else {
o = _map[i];
this[o.name] = false;
o.current = 0;
o.last = 0;
};
i++;
};
}
public function justPressed(Key:String):Boolean{
return ((_map[_lookup[Key]].current == 2));
}
public function update():void{
var o:Object;
var i:uint;
while (i < _t) {
if (_map[i] == null){
} else {
o = _map[i];
if ((((o.last == -1)) && ((o.current == -1)))){
o.current = 0;
} else {
if ((((o.last == 2)) && ((o.current == 2)))){
o.current = 1;
};
};
o.last = o.current;
};
i++;
};
}
protected function addKey(KeyName:String, KeyCode:uint):void{
_lookup[KeyName] = KeyCode;
_map[KeyCode] = {name:KeyName, current:0, last:0};
}
}
}//package org.flixel.data
Section 325
//FlxKong (org.flixel.data.FlxKong)
package org.flixel.data {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class FlxKong extends Sprite {
public var API;
public function FlxKong(){
super();
API = null;
}
public function init():void{
var paramObj:Object = LoaderInfo(root.loaderInfo).parameters;
var api_url:String = ((paramObj.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf"));
var request:URLRequest = new URLRequest(api_url);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, APILoaded);
loader.load(request);
this.addChild(loader);
}
protected function APILoaded(event:Event):void{
API = event.target.content;
API.services.connect();
}
}
}//package org.flixel.data
Section 326
//FlxList (org.flixel.data.FlxList)
package org.flixel.data {
import org.flixel.*;
public class FlxList {
public var next:FlxList;
public var object:FlxObject;
public function FlxList(){
super();
object = null;
next = null;
}
}
}//package org.flixel.data
Section 327
//FlxMouse (org.flixel.data.FlxMouse)
package org.flixel.data {
import flash.events.*;
import org.flixel.*;
public class FlxMouse {
protected var ImgDefaultCursor:Class;
protected var _out:Boolean;
public var cursor:FlxSprite;
public var screenY:int;
protected var _last:int;
public var x:int;
public var y:int;
protected var _current:int;
public var screenX:int;
public function FlxMouse(){
ImgDefaultCursor = FlxMouse_ImgDefaultCursor;
super();
x = 0;
y = 0;
screenX = 0;
screenY = 0;
_current = 0;
_last = 0;
cursor = null;
_out = false;
}
public function hide():void{
if (cursor != null){
cursor.visible = false;
_out = false;
};
}
public function update(X:int, Y:int, XScroll:Number, YScroll:Number):void{
screenX = X;
screenY = Y;
x = (screenX - FlxU.floor(XScroll));
y = (screenY - FlxU.floor(YScroll));
if (cursor != null){
cursor.x = x;
cursor.y = y;
};
if ((((_last == -1)) && ((_current == -1)))){
_current = 0;
} else {
if ((((_last == 2)) && ((_current == 2)))){
_current = 1;
};
};
_last = _current;
}
public function reset():void{
_current = 0;
_last = 0;
}
public function justReleased():Boolean{
return ((_current == -1));
}
public function handleMouseOver(event:MouseEvent):void{
if (cursor != null){
cursor.visible = _out;
};
}
public function handleMouseDown(event:MouseEvent):void{
if (_current > 0){
_current = 1;
} else {
_current = 2;
};
}
public function pressed():Boolean{
return ((_current > 0));
}
public function justPressed():Boolean{
return ((_current == 2));
}
public function load(Graphic:Class, XOffset:int=0, YOffset:int=0):void{
if (Graphic == null){
Graphic = ImgDefaultCursor;
};
cursor = new FlxSprite(screenX, screenY, Graphic);
cursor.offset.x = XOffset;
cursor.offset.y = YOffset;
}
public function handleMouseUp(event:MouseEvent):void{
if (_current > 0){
_current = -1;
} else {
_current = 0;
};
}
public function handleMouseOut(event:MouseEvent):void{
if (cursor != null){
_out = cursor.visible;
cursor.visible = false;
};
}
public function show(Graphic:Class=null, XOffset:int=0, YOffset:int=0):void{
_out = true;
if (Graphic != null){
load(Graphic, XOffset, YOffset);
} else {
if (cursor != null){
cursor.visible = true;
} else {
load(null);
};
};
}
public function unload():void{
if (cursor != null){
if (cursor.visible){
load(null);
} else {
cursor = null;
};
};
}
}
}//package org.flixel.data
Section 328
//FlxMouse_ImgDefaultCursor (org.flixel.data.FlxMouse_ImgDefaultCursor)
package org.flixel.data {
import mx.core.*;
public class FlxMouse_ImgDefaultCursor extends BitmapAsset {
}
}//package org.flixel.data
Section 329
//FlxPanel (org.flixel.data.FlxPanel)
package org.flixel.data {
import org.flixel.*;
import flash.ui.*;
public class FlxPanel extends FlxObject {
protected var _close:FlxButton;
protected var _digg:FlxButton;
protected var _gameTitle:String;
protected var _closed:Boolean;
protected var _payPalID:String;
protected var _donate:FlxButton;
private var ImgClose:Class;
protected var _topBar:FlxSprite;
protected var _ty:Number;
protected var _caption:FlxText;
protected var _initialized:Boolean;
protected var _twitter:FlxButton;
protected var _delicious:FlxButton;
protected var _stumble:FlxButton;
private var ImgDelicious:Class;
private var ImgTwitter:Class;
protected var _mainBar:FlxSprite;
protected var _gameURL:String;
private var ImgStumble:Class;
private var ImgReddit:Class;
private var ImgDigg:Class;
protected var _bottomBar:FlxSprite;
protected var _payPalAmount:Number;
protected var _s:Number;
private var ImgDonate:Class;
protected var _reddit:FlxButton;
public function FlxPanel(){
ImgDonate = FlxPanel_ImgDonate;
ImgStumble = FlxPanel_ImgStumble;
ImgDigg = FlxPanel_ImgDigg;
ImgReddit = FlxPanel_ImgReddit;
ImgDelicious = FlxPanel_ImgDelicious;
ImgTwitter = FlxPanel_ImgTwitter;
ImgClose = FlxPanel_ImgClose;
super();
y = -21;
_ty = y;
_closed = false;
_initialized = false;
_topBar = new FlxSprite();
_topBar.createGraphic(FlxG.width, 1, 2147483647);
_topBar.scrollFactor.x = 0;
_topBar.scrollFactor.y = 0;
_mainBar = new FlxSprite();
_mainBar.createGraphic(FlxG.width, 19, 2130706432);
_mainBar.scrollFactor.x = 0;
_mainBar.scrollFactor.y = 0;
_bottomBar = new FlxSprite();
_bottomBar.createGraphic(FlxG.width, 1, 2147483647);
_bottomBar.scrollFactor.x = 0;
_bottomBar.scrollFactor.y = 0;
_donate = new FlxButton(3, 0, onDonate);
_donate.loadGraphic(new FlxSprite(0, 0, ImgDonate));
_donate.scrollFactor.x = 0;
_donate.scrollFactor.y = 0;
_stumble = new FlxButton(((((((FlxG.width / 2) - 6) - 13) - 6) - 13) - 6), 0, onStumble);
_stumble.loadGraphic(new FlxSprite(0, 0, ImgStumble));
_stumble.scrollFactor.x = 0;
_stumble.scrollFactor.y = 0;
_digg = new FlxButton(((((FlxG.width / 2) - 6) - 13) - 6), 0, onDigg);
_digg.loadGraphic(new FlxSprite(0, 0, ImgDigg));
_digg.scrollFactor.x = 0;
_digg.scrollFactor.y = 0;
_reddit = new FlxButton(((FlxG.width / 2) - 6), 0, onReddit);
_reddit.loadGraphic(new FlxSprite(0, 0, ImgReddit));
_reddit.scrollFactor.x = 0;
_reddit.scrollFactor.y = 0;
_delicious = new FlxButton((((FlxG.width / 2) + 7) + 6), 0, onDelicious);
_delicious.loadGraphic(new FlxSprite(0, 0, ImgDelicious));
_delicious.scrollFactor.x = 0;
_delicious.scrollFactor.y = 0;
_twitter = new FlxButton((((((FlxG.width / 2) + 7) + 6) + 12) + 6), 0, onTwitter);
_twitter.loadGraphic(new FlxSprite(0, 0, ImgTwitter));
_twitter.scrollFactor.x = 0;
_twitter.scrollFactor.y = 0;
_caption = new FlxText((FlxG.width / 2), 0, ((FlxG.width / 2) - 19), "");
_caption.alignment = "right";
_caption.scrollFactor.x = 0;
_caption.scrollFactor.y = 0;
_close = new FlxButton((FlxG.width - 16), 0, onClose);
_close.loadGraphic(new FlxSprite(0, 0, ImgClose));
_close.scrollFactor.x = 0;
_close.scrollFactor.y = 0;
hide();
_s = 50;
}
public function onDelicious():void{
FlxU.openURL(((("http://delicious.com/save?v=5&noui&jump=close&url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function onTwitter():void{
FlxU.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL))));
}
public function setup(PayPalID:String, PayPalAmount:Number, GameTitle:String, GameURL:String, Caption:String):void{
_payPalID = PayPalID;
if (_payPalID.length <= 0){
_donate.visible = false;
};
_payPalAmount = PayPalAmount;
_gameTitle = GameTitle;
_gameURL = GameURL;
_caption.text = Caption;
_initialized = true;
}
public function onStumble():void{
FlxU.openURL(("http://www.stumbleupon.com/submit?url=" + encodeURIComponent(_gameURL)));
}
override public function render():void{
if (!_initialized){
return;
};
if (_topBar.visible){
_topBar.render();
};
if (_mainBar.visible){
_mainBar.render();
};
if (_bottomBar.visible){
_bottomBar.render();
};
if (_donate.visible){
_donate.render();
};
if (_stumble.visible){
_stumble.render();
};
if (_digg.visible){
_digg.render();
};
if (_reddit.visible){
_reddit.render();
};
if (_delicious.visible){
_delicious.render();
};
if (_twitter.visible){
_twitter.render();
};
if (_caption.visible){
_caption.render();
};
if (_close.visible){
_close.render();
};
}
public function onDigg():void{
FlxU.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function onReddit():void{
FlxU.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL)));
}
public function onDonate():void{
FlxU.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")¤cy_code=USD&amount=") + _payPalAmount));
}
override public function update():void{
if (!_initialized){
return;
};
if (_ty != y){
if (y < _ty){
y = (y + (FlxG.elapsed * _s));
if (y > _ty){
y = _ty;
};
} else {
y = (y - (FlxG.elapsed * _s));
if (y < _ty){
y = _ty;
};
};
};
if ((((y <= -21)) || ((y > FlxG.height)))){
visible = false;
};
_topBar.y = y;
_mainBar.y = (y + 1);
_bottomBar.y = (y + 20);
_donate.y = (y + 4);
_stumble.y = (y + 4);
_digg.y = (y + 4);
_reddit.y = (y + 4);
_delicious.y = (y + 5);
_twitter.y = (y + 4);
_caption.y = (y + 4);
_close.y = (y + 4);
if (_donate.active){
_donate.update();
};
if (_stumble.active){
_stumble.update();
};
if (_digg.active){
_digg.update();
};
if (_reddit.active){
_reddit.update();
};
if (_delicious.active){
_delicious.update();
};
if (_twitter.active){
_twitter.update();
};
if (_caption.active){
_caption.update();
};
if (_close.active){
_close.update();
};
}
public function show(Top:Boolean=true):void{
if (!_initialized){
FlxG.log("SUPPORT PANEL ERROR: Uninitialized.\nYou forgot to call FlxGame.setupSupportPanel()\nfrom your game constructor.");
return;
};
if (_closed){
return;
};
if (Top){
y = -21;
_ty = -1;
} else {
y = FlxG.height;
_ty = (FlxG.height - 20);
};
Mouse.show();
visible = true;
}
public function onClose():void{
_closed = true;
hide();
}
public function hide():void{
if (y < 0){
_ty = -21;
} else {
_ty = FlxG.height;
};
Mouse.hide();
visible = false;
}
}
}//package org.flixel.data
Section 330
//FlxPanel_ImgClose (org.flixel.data.FlxPanel_ImgClose)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgClose extends BitmapAsset {
}
}//package org.flixel.data
Section 331
//FlxPanel_ImgDelicious (org.flixel.data.FlxPanel_ImgDelicious)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDelicious extends BitmapAsset {
}
}//package org.flixel.data
Section 332
//FlxPanel_ImgDigg (org.flixel.data.FlxPanel_ImgDigg)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDigg extends BitmapAsset {
}
}//package org.flixel.data
Section 333
//FlxPanel_ImgDonate (org.flixel.data.FlxPanel_ImgDonate)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDonate extends BitmapAsset {
}
}//package org.flixel.data
Section 334
//FlxPanel_ImgReddit (org.flixel.data.FlxPanel_ImgReddit)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgReddit extends BitmapAsset {
}
}//package org.flixel.data
Section 335
//FlxPanel_ImgStumble (org.flixel.data.FlxPanel_ImgStumble)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgStumble extends BitmapAsset {
}
}//package org.flixel.data
Section 336
//FlxPanel_ImgTwitter (org.flixel.data.FlxPanel_ImgTwitter)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgTwitter extends BitmapAsset {
}
}//package org.flixel.data
Section 337
//FlxPause (org.flixel.data.FlxPause)
package org.flixel.data {
import org.flixel.*;
public class FlxPause extends FlxGroup {
private var ImgKeyP:Class;
private var ImgKey0:Class;
private var ImgKeyPlus:Class;
private var ImgKeyMinus:Class;
public function FlxPause(){
var h:uint;
ImgKeyMinus = FlxPause_ImgKeyMinus;
ImgKeyPlus = FlxPause_ImgKeyPlus;
ImgKey0 = FlxPause_ImgKey0;
ImgKeyP = FlxPause_ImgKeyP;
super();
scrollFactor.x = 0;
scrollFactor.y = 0;
var w:uint = 80;
h = 92;
x = ((FlxG.width - w) / 2);
y = ((FlxG.height - h) / 2);
add(new FlxSprite().createGraphic(w, h, 2852126720, true), true);
(add(new FlxText(0, 0, w, "this game is"), true) as FlxText).alignment = "center";
add(new FlxText(0, 10, w, "PAUSED").setFormat(null, 16, 0xFFFFFF, "center"), true);
add(new FlxSprite(4, 36, ImgKeyP), true);
add(new FlxText(16, 36, (w - 16), "Pause Game"), true);
add(new FlxSprite(4, 50, ImgKey0), true);
add(new FlxText(16, 50, (w - 16), "Mute Sound"), true);
add(new FlxSprite(4, 64, ImgKeyMinus), true);
add(new FlxText(16, 64, (w - 16), "Sound Down"), true);
add(new FlxSprite(4, 78, ImgKeyPlus), true);
add(new FlxText(16, 78, (w - 16), "Sound Up"), true);
}
}
}//package org.flixel.data
Section 338
//FlxPause_ImgKey0 (org.flixel.data.FlxPause_ImgKey0)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKey0 extends BitmapAsset {
}
}//package org.flixel.data
Section 339
//FlxPause_ImgKeyMinus (org.flixel.data.FlxPause_ImgKeyMinus)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKeyMinus extends BitmapAsset {
}
}//package org.flixel.data
Section 340
//FlxPause_ImgKeyP (org.flixel.data.FlxPause_ImgKeyP)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKeyP extends BitmapAsset {
}
}//package org.flixel.data
Section 341
//FlxPause_ImgKeyPlus (org.flixel.data.FlxPause_ImgKeyPlus)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKeyPlus extends BitmapAsset {
}
}//package org.flixel.data
Section 342
//FlxQuake (org.flixel.data.FlxQuake)
package org.flixel.data {
import org.flixel.*;
public class FlxQuake {
public var y:int;
protected var _timer:Number;
protected var _intensity:Number;
public var x:int;
protected var _zoom:uint;
public function FlxQuake(Zoom:uint){
super();
_zoom = Zoom;
start(0);
}
public function update():void{
if (_timer > 0){
_timer = (_timer - FlxG.elapsed);
if (_timer <= 0){
_timer = 0;
x = 0;
y = 0;
} else {
x = (((((Math.random() * _intensity) * FlxG.width) * 2) - (_intensity * FlxG.width)) * _zoom);
y = (((((Math.random() * _intensity) * FlxG.height) * 2) - (_intensity * FlxG.height)) * _zoom);
};
};
}
public function start(Intensity:Number=0.05, Duration:Number=0.5):void{
stop();
_intensity = Intensity;
_timer = Duration;
}
public function stop():void{
x = 0;
y = 0;
_intensity = 0;
_timer = 0;
}
}
}//package org.flixel.data
Section 343
//FlxButton (org.flixel.FlxButton)
package org.flixel {
import flash.events.*;
public class FlxButton extends FlxGroup {
protected var _on:FlxSprite;
protected var _offT:FlxText;
protected var _initialized:Boolean;
protected var _onT:FlxText;
protected var _pressed:Boolean;
protected var _callback:Function;
protected var _off:FlxSprite;
protected var _onToggle:Boolean;
protected var _sf:FlxPoint;
public function FlxButton(X:int, Y:int, Callback:Function){
super();
x = X;
y = Y;
width = 100;
height = 20;
_off = new FlxSprite().createGraphic(width, height, 4286545791);
_off.solid = false;
add(_off, true);
_on = new FlxSprite().createGraphic(width, height, 4294967295);
_on.solid = false;
add(_on, true);
_offT = null;
_onT = null;
_callback = Callback;
_onToggle = false;
_pressed = false;
_initialized = false;
_sf = null;
}
protected function onMouseUp(event:MouseEvent):void{
if (((((((((!(exists)) || (!(visible)))) || (!(active)))) || (!(FlxG.mouse.justReleased())))) || ((_callback == null)))){
return;
};
if (overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){
_callback();
};
}
override public function update():void{
if (!_initialized){
if (FlxG.stage != null){
FlxG.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_initialized = true;
};
};
super.update();
visibility(false);
if (overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){
if (!FlxG.mouse.pressed()){
_pressed = false;
} else {
if (!_pressed){
_pressed = true;
};
};
visibility(!(_pressed));
};
if (_onToggle){
visibility(_off.visible);
};
}
protected function visibility(On:Boolean):void{
if (On){
_off.visible = false;
if (_offT != null){
_offT.visible = false;
};
_on.visible = true;
if (_onT != null){
_onT.visible = true;
};
} else {
_on.visible = false;
if (_onT != null){
_onT.visible = false;
};
_off.visible = true;
if (_offT != null){
_offT.visible = true;
};
};
}
public function get on():Boolean{
return (_onToggle);
}
public function loadGraphic(Image:FlxSprite, ImageHighlight:FlxSprite=null):FlxButton{
_off = (replace(_off, Image) as FlxSprite);
if (ImageHighlight == null){
if (_on != _off){
remove(_on);
};
_on = _off;
} else {
_on = (replace(_on, ImageHighlight) as FlxSprite);
};
_on.solid = (_off.solid = false);
_off.scrollFactor = scrollFactor;
_on.scrollFactor = scrollFactor;
width = _off.width;
height = _off.height;
refreshHulls();
return (this);
}
public function loadText(Text:FlxText, TextHighlight:FlxText=null):FlxButton{
if (Text != null){
if (_offT == null){
_offT = Text;
add(_offT);
} else {
_offT = (replace(_offT, Text) as FlxText);
};
};
if (TextHighlight == null){
_onT = _offT;
} else {
if (_onT == null){
_onT = TextHighlight;
add(_onT);
} else {
_onT = (replace(_onT, TextHighlight) as FlxText);
};
};
_offT.scrollFactor = scrollFactor;
_onT.scrollFactor = scrollFactor;
return (this);
}
override public function destroy():void{
if (FlxG.stage != null){
FlxG.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
};
}
public function set on(On:Boolean):void{
_onToggle = On;
}
}
}//package org.flixel
Section 344
//FlxEmitter (org.flixel.FlxEmitter)
package org.flixel {
public class FlxEmitter extends FlxGroup {
public var maxRotation:Number;
public var delay:Number;
public var quantity:uint;
protected var _timer:Number;
public var gravity:Number;
public var particleDrag:FlxPoint;
public var maxParticleSpeed:FlxPoint;
public var on:Boolean;
protected var _explode:Boolean;
protected var _particle:uint;
public var minParticleSpeed:FlxPoint;
public var minRotation:Number;
protected var _counter:uint;
public function FlxEmitter(X:Number=0, Y:Number=0){
super();
x = X;
y = Y;
width = 0;
height = 0;
minParticleSpeed = new FlxPoint(-100, -100);
maxParticleSpeed = new FlxPoint(100, 100);
minRotation = -360;
maxRotation = 360;
gravity = 400;
particleDrag = new FlxPoint();
delay = 0.1;
quantity = 0;
_counter = 0;
_explode = true;
exists = false;
on = false;
}
public function setRotation(Min:Number=0, Max:Number=0):void{
minRotation = Min;
maxRotation = Max;
}
override public function update():void{
super.update();
updateEmitter();
}
public function setYSpeed(Min:Number=0, Max:Number=0):void{
minParticleSpeed.y = Min;
maxParticleSpeed.y = Max;
}
public function stop(Delay:Number=3):void{
_explode = true;
delay = Delay;
if (delay < 0){
delay = -(Delay);
};
on = false;
}
public function setSize(Width:uint, Height:uint):void{
width = Width;
height = Height;
}
public function at(Object:FlxObject):void{
x = (Object.x + Object.origin.x);
y = (Object.y + Object.origin.y);
}
override protected function updateMembers():void{
var o:FlxObject;
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (((((!((o == null))) && (o.exists))) && (o.active))){
o.update();
};
i++;
};
}
public function start(Explode:Boolean=true, Delay:Number=0, Quantity:uint=0):void{
if (members.length <= 0){
FlxG.log("WARNING: there are no sprites loaded in your emitter.\nAdd some to FlxEmitter.members or use FlxEmitter.createSprites().");
return;
};
_explode = Explode;
if (!_explode){
_counter = 0;
};
if (!exists){
_particle = 0;
};
exists = true;
visible = true;
active = true;
dead = false;
on = true;
_timer = 0;
if (quantity == 0){
quantity = Quantity;
};
if (Delay != 0){
delay = Delay;
};
if (delay < 0){
delay = -(delay);
};
}
protected function updateEmitter():void{
var i:uint;
var l:uint;
if (_explode){
_timer = (_timer + FlxG.elapsed);
if ((((delay > 0)) && ((_timer > delay)))){
kill();
return;
};
if (on){
on = false;
l = members.length;
if (quantity > 0){
l = quantity;
};
l = (l + _particle);
i = _particle;
while (i < l) {
emitParticle();
i++;
};
};
return;
};
if (!on){
return;
};
_timer = (_timer + FlxG.elapsed);
while ((((_timer > delay)) && ((((quantity <= 0)) || ((_counter < quantity)))))) {
_timer = (_timer - delay);
emitParticle();
};
}
override public function kill():void{
super.kill();
on = false;
}
public function setXSpeed(Min:Number=0, Max:Number=0):void{
minParticleSpeed.x = Min;
maxParticleSpeed.x = Max;
}
public function createSprites(Graphics:Class, Quantity:uint=50, BakedRotations:uint=16, Multiple:Boolean=true, Collide:Number=0):FlxEmitter{
var r:uint;
var s:FlxSprite;
var sw:Number;
var sh:Number;
members = new Array();
var tf:uint = 1;
if (Multiple){
s = new FlxSprite(0, 0, Graphics);
tf = (s.width / s.height);
};
var i:uint;
while (i < Quantity) {
s = new FlxSprite();
if (Multiple){
r = (FlxU.random() * tf);
if (BakedRotations > 0){
s.loadRotatedGraphic(Graphics, BakedRotations, r);
} else {
s.loadGraphic(Graphics, true);
s.frame = r;
};
} else {
if (BakedRotations > 0){
s.loadRotatedGraphic(Graphics, BakedRotations);
} else {
s.loadGraphic(Graphics);
};
};
if (Collide > 0){
sw = s.width;
sh = s.height;
s.width = (s.width * Collide);
s.height = (s.height * Collide);
s.offset.x = ((sw - s.width) / 2);
s.offset.y = ((sh - s.height) / 2);
s.solid = true;
} else {
s.solid = false;
};
s.exists = false;
s.scrollFactor = scrollFactor;
add(s);
i++;
};
return (this);
}
public function emitParticle():void{
_counter++;
var s:FlxSprite = (members[_particle] as FlxSprite);
s.visible = true;
s.exists = true;
s.active = true;
s.x = ((x - (s.width >> 1)) + (FlxU.random() * width));
s.y = ((y - (s.height >> 1)) + (FlxU.random() * height));
s.velocity.x = minParticleSpeed.x;
if (minParticleSpeed.x != maxParticleSpeed.x){
s.velocity.x = (s.velocity.x + (FlxU.random() * (maxParticleSpeed.x - minParticleSpeed.x)));
};
s.velocity.y = minParticleSpeed.y;
if (minParticleSpeed.y != maxParticleSpeed.y){
s.velocity.y = (s.velocity.y + (FlxU.random() * (maxParticleSpeed.y - minParticleSpeed.y)));
};
s.acceleration.y = gravity;
s.angularVelocity = minRotation;
if (minRotation != maxRotation){
s.angularVelocity = (s.angularVelocity + (FlxU.random() * (maxRotation - minRotation)));
};
if (s.angularVelocity != 0){
s.angle = ((FlxU.random() * 360) - 180);
};
s.drag.x = particleDrag.x;
s.drag.y = particleDrag.y;
s.visible = true;
_particle++;
if (_particle >= members.length){
_particle = 0;
};
s.onEmit();
}
}
}//package org.flixel
Section 345
//FlxG (org.flixel.FlxG)
package org.flixel {
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
public class FlxG {
public static var panel:FlxPanel;
protected static var _mute:Boolean;
public static var kong:FlxKong;
public static var scores:Array;
public static var music:FlxSound;
public static var height:uint;
protected static var _volume:Number;
public static var buffer:BitmapData;
public static var sounds:Array;
public static var debug:Boolean;
public static var LIBRARY_MINOR_VERSION:uint = 22;
public static var LIBRARY_MAJOR_VERSION:uint = 2;
public static var levels:Array;
public static var fade:FlxFade;
public static var timeScale:Number;
protected static var _cache:Object;
public static var level:int;
public static var elapsed:Number;
public static var score:int;
public static var save:int;
public static var saves:Array;
protected static var _scrollTarget:Point;
public static var mouse:FlxMouse;
public static var followTarget:FlxObject;
public static var followLead:Point;
public static var LIBRARY_NAME:String = "flixel";
public static var width:uint;
public static var followLerp:Number;
public static var scroll:Point;
protected static var _game:FlxGame;
public static var quake:FlxQuake;
public static var followMin:Point;
public static var flash:FlxFlash;
public static var followMax:Point;
public static var keys:FlxKeyboard;
protected static var _pause:Boolean;
public function FlxG(){
super();
}
public static function get stage():Stage{
if (((!((_game._state == null))) && (!((_game._state.parent == null))))){
return (_game._state.parent.stage);
};
return (null);
}
protected static function changeSounds():void{
var s:FlxSound;
if (((!((music == null))) && (music.active))){
music.updateTransform();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (s.active))){
s.updateTransform();
};
i++;
};
}
public static function get mute():Boolean{
return (_mute);
}
public static function get volume():Number{
return (_volume);
}
static function doFollow():void{
if (followTarget != null){
_scrollTarget.x = ((((width >> 1) - followTarget.x) - (followTarget.width >> 1)) + (followTarget as FlxSprite).offset.x);
_scrollTarget.y = ((((height >> 1) - followTarget.y) - (followTarget.height >> 1)) + (followTarget as FlxSprite).offset.y);
if (((!((followLead == null))) && ((followTarget is FlxSprite)))){
_scrollTarget.x = (_scrollTarget.x - ((followTarget as FlxSprite).velocity.x * followLead.x));
_scrollTarget.y = (_scrollTarget.y - ((followTarget as FlxSprite).velocity.y * followLead.y));
};
scroll.x = (scroll.x + (((_scrollTarget.x - scroll.x) * followLerp) * FlxG.elapsed));
scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.elapsed));
if (followMin != null){
if (scroll.x > followMin.x){
scroll.x = followMin.x;
};
if (scroll.y > followMin.y){
scroll.y = followMin.y;
};
};
if (followMax != null){
if (scroll.x < followMax.x){
scroll.x = followMax.x;
};
if (scroll.y < followMax.y){
scroll.y = followMax.y;
};
};
};
}
public static function getMuteValue():uint{
if (_mute){
return (0);
};
return (1);
}
public static function addBitmap(Graphic:Class, Reverse:Boolean=false, Unique:Boolean=false, Key:String=null):BitmapData{
var inc:uint;
var ukey:String;
var newPixels:BitmapData;
var mtx:Matrix;
var needReverse:Boolean;
var key:String = Key;
if (key == null){
key = String(Graphic);
if (((((Unique) && (!((_cache[key] == undefined))))) && (!((_cache[key] == null))))){
inc = 0;
do {
var _temp1 = inc;
inc = (inc + 1);
ukey = (key + _temp1);
} while (((!((_cache[ukey] == undefined))) && (!((_cache[ukey] == null)))));
key = ukey;
};
};
if (!checkBitmapCache(key)){
_cache[key] = new (Graphic).bitmapData;
if (Reverse){
needReverse = true;
};
};
var pixels:BitmapData = _cache[key];
if (((((!(needReverse)) && (Reverse))) && ((pixels.width == new (Graphic).bitmapData.width)))){
needReverse = true;
};
if (needReverse){
newPixels = new BitmapData((pixels.width << 1), pixels.height, true, 0);
newPixels.draw(pixels);
mtx = new Matrix();
mtx.scale(-1, 1);
mtx.translate(newPixels.width, 0);
newPixels.draw(pixels, mtx);
pixels = newPixels;
};
return (pixels);
}
public static function set state(State:FlxState):void{
_game.switchState(State);
}
public static function set mute(Mute:Boolean):void{
_mute = Mute;
changeSounds();
}
public static function play(EmbeddedSound:Class, Volume:Number=1, Looped:Boolean=false):FlxSound{
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
if (!(sounds[i] as FlxSound).active){
break;
};
i++;
};
if (sounds[i] == null){
sounds[i] = new FlxSound();
};
var s:FlxSound = sounds[i];
s.loadEmbedded(EmbeddedSound, Looped);
s.volume = Volume;
s.play();
return (s);
}
public static function set volume(Volume:Number):void{
_volume = Volume;
if (_volume < 0){
_volume = 0;
} else {
if (_volume > 1){
_volume = 1;
};
};
changeSounds();
}
static function setGameData(Game:FlxGame, Width:uint, Height:uint, Zoom:uint):void{
_game = Game;
_cache = new Object();
width = Width;
height = Height;
_mute = false;
_volume = 0.5;
sounds = new Array();
mouse = new FlxMouse();
keys = new FlxKeyboard();
scroll = null;
_scrollTarget = null;
unfollow();
FlxG.levels = new Array();
FlxG.scores = new Array();
level = 0;
score = 0;
FlxU.seed = NaN;
kong = null;
pause = false;
timeScale = 1;
panel = new FlxPanel();
quake = new FlxQuake(Zoom);
flash = new FlxFlash();
fade = new FlxFade();
FlxU.setWorldBounds();
}
public static function playMusic(Music:Class, Volume:Number=1):void{
if (music == null){
music = new FlxSound();
} else {
if (music.active){
music.stop();
};
};
music.loadEmbedded(Music, true);
music.volume = Volume;
music.survive = true;
music.play();
}
public static function createBitmap(Width:uint, Height:uint, Color:uint, Unique:Boolean=false, Key:String=null):BitmapData{
var inc:uint;
var ukey:String;
var key:String = Key;
if (key == null){
key = ((((Width + "x") + Height) + ":") + Color);
if (((((Unique) && (!((_cache[key] == undefined))))) && (!((_cache[key] == null))))){
inc = 0;
do {
var _temp1 = inc;
inc = (inc + 1);
ukey = (key + _temp1);
} while (((!((_cache[ukey] == undefined))) && (!((_cache[ukey] == null)))));
key = ukey;
};
};
if (!checkBitmapCache(key)){
_cache[key] = new BitmapData(Width, Height, true, Color);
};
return (_cache[key]);
}
public static function log(Data:Object):void{
_game._console.log(((Data)==null) ? "ERROR: null object" : Data.toString());
}
public static function checkBitmapCache(Key:String):Boolean{
return (((!((_cache[Key] == undefined))) && (!((_cache[Key] == null)))));
}
static function updateSounds():void{
var s:FlxSound;
if (((!((music == null))) && (music.active))){
music.update();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (s.active))){
s.update();
};
i++;
};
}
static function updateInput():void{
keys.update();
mouse.update(state.mouseX, state.mouseY, scroll.x, scroll.y);
}
public static function stream(URL:String, Volume:Number=1, Looped:Boolean=false):FlxSound{
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
if (!(sounds[i] as FlxSound).active){
break;
};
i++;
};
if (sounds[i] == null){
sounds[i] = new FlxSound();
};
var s:FlxSound = sounds[i];
s.loadStream(URL, Looped);
s.volume = Volume;
s.play();
return (s);
}
static function unfollow():void{
followTarget = null;
followLead = null;
followLerp = 1;
followMin = null;
followMax = null;
if (scroll == null){
scroll = new Point();
} else {
scroll.x = (scroll.y = 0);
};
if (_scrollTarget == null){
_scrollTarget = new Point();
} else {
_scrollTarget.x = (_scrollTarget.y = 0);
};
}
public static function get state():FlxState{
return (_game._state);
}
protected static function playSounds():void{
var s:FlxSound;
if (((!((music == null))) && (music.active))){
music.play();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (s.active))){
s.play();
};
i++;
};
}
public static function followAdjust(LeadX:Number=0, LeadY:Number=0):void{
followLead = new Point(LeadX, LeadY);
}
public static function follow(Target:FlxObject, Lerp:Number=1):void{
followTarget = Target;
followLerp = Lerp;
_scrollTarget.x = ((((width >> 1) - followTarget.x) - (followTarget.width >> 1)) + (followTarget as FlxSprite).offset.x);
_scrollTarget.y = ((((height >> 1) - followTarget.y) - (followTarget.height >> 1)) + (followTarget as FlxSprite).offset.y);
scroll.x = _scrollTarget.x;
scroll.y = _scrollTarget.y;
doFollow();
}
public static function resetInput():void{
keys.reset();
mouse.reset();
}
public static function followBounds(MinX:int=0, MinY:int=0, MaxX:int=0, MaxY:int=0, UpdateWorldBounds:Boolean=true):void{
followMin = new Point(-(MinX), -(MinY));
followMax = new Point((-(MaxX) + width), (-(MaxY) + height));
if (followMax.x > followMin.x){
followMax.x = followMin.x;
};
if (followMax.y > followMin.y){
followMax.y = followMin.y;
};
if (UpdateWorldBounds){
FlxU.setWorldBounds(-(MinX), -(MinY), (-(MinX) + MaxX), (-(MinY) + MaxY));
};
doFollow();
}
protected static function pauseSounds():void{
var s:FlxSound;
if (((!((music == null))) && (music.active))){
music.pause();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (s.active))){
s.pause();
};
i++;
};
}
static function destroySounds(ForceDestroy:Boolean=false):void{
var s:FlxSound;
if (sounds == null){
return;
};
if (((!((music == null))) && (((ForceDestroy) || (!(music.survive)))))){
music.destroy();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (((ForceDestroy) || (!(s.survive)))))){
s.destroy();
};
i++;
};
}
public static function set pause(Pause:Boolean):void{
var op:Boolean = _pause;
_pause = Pause;
if (_pause != op){
if (_pause){
_game.pauseGame();
pauseSounds();
} else {
_game.unpauseGame();
playSounds();
};
};
}
public static function get pause():Boolean{
return (_pause);
}
}
}//package org.flixel
Section 346
//FlxGame (org.flixel.FlxGame)
package org.flixel {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class FlxGame extends Sprite {
const MAX_ELAPSED:Number = 0.0333;
var _bmpFront:Bitmap;
protected var SndFlixel:Class;
var _state:FlxState;
protected var SndBeep:Class;
var _console:FlxConsole;
var _created:Boolean;
var _zoom:uint;
var _gameXOffset:int;
var _elapsed:Number;
var _flipped:Boolean;
var _total:uint;
var _soundTrayBars:Array;
var _iState:Class;
protected var junk:String;// = "FlxGame_junk"
var _bmpBack:Bitmap;
var _paused:Boolean;
var _gameYOffset:int;
var _buffer:Sprite;
var _soundTray:Sprite;
var _frame:Class;
var _r:Rectangle;
public var pause:FlxGroup;
var _soundTrayTimer:Number;
public static var useDefaultHotKeys:Boolean;
public function FlxGame(GameSizeX:uint, GameSizeY:uint, InitialState:Class, Zoom:uint=2){
SndBeep = FlxGame_SndBeep;
SndFlixel = FlxGame_SndFlixel;
super();
Mouse.hide();
_zoom = Zoom;
FlxState.bgColor = 4278190080;
FlxG.setGameData(this, GameSizeX, GameSizeY, Zoom);
_elapsed = 0;
_total = 0;
pause = new FlxPause();
_state = null;
_iState = InitialState;
useDefaultHotKeys = true;
_frame = null;
_gameXOffset = 0;
_gameYOffset = 0;
_paused = false;
_created = false;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
function pauseGame():void{
if (((!((x == 0))) || (!((y == 0))))){
x = 0;
y = 0;
};
if (!_flipped){
_bmpBack.bitmapData.copyPixels(_bmpFront.bitmapData, _r, new Point(0, 0));
} else {
_bmpFront.bitmapData.copyPixels(_bmpBack.bitmapData, _r, new Point(0, 0));
};
Mouse.show();
_paused = true;
stage.frameRate = 10;
}
function unpauseGame():void{
if (!FlxG.panel.visible){
Mouse.hide();
};
FlxG.resetInput();
_paused = false;
stage.frameRate = 60;
}
protected function onFocus(event:Event=null):void{
if (FlxG.pause){
FlxG.pause = false;
};
}
protected function onKeyUp(event:KeyboardEvent):void{
var c:int;
var code:String;
if ((((event.keyCode == 192)) || ((event.keyCode == 220)))){
_console.toggle();
return;
};
if (useDefaultHotKeys){
c = event.keyCode;
code = String.fromCharCode(event.charCode);
switch (c){
case 48:
FlxG.mute = !(FlxG.mute);
showSoundTray();
return;
case 189:
FlxG.mute = false;
FlxG.volume = (FlxG.volume - 0.1);
showSoundTray();
return;
case 187:
FlxG.mute = false;
FlxG.volume = (FlxG.volume + 0.1);
showSoundTray();
return;
case 80:
FlxG.pause = !(FlxG.pause);
default:
break;
};
};
FlxG.keys.handleKeyUp(event);
}
public function switchState(State:FlxState):void{
FlxG.panel.hide();
FlxG.unfollow();
FlxG.resetInput();
FlxG.destroySounds();
FlxG.flash.stop();
FlxG.fade.stop();
FlxG.quake.stop();
_buffer.x = 0;
_buffer.y = 0;
_buffer.addChild(State);
if (_state != null){
_state.destroy();
_buffer.swapChildren(State, _state);
_buffer.removeChild(_state);
};
_state = State;
_state.create();
}
protected function addFrame(Frame:Class, ScreenOffsetX:uint, ScreenOffsetY:uint):FlxGame{
_frame = Frame;
_gameXOffset = ScreenOffsetX;
_gameYOffset = ScreenOffsetY;
return (this);
}
protected function onEnterFrame(event:Event):void{
var i:uint;
var soundPrefs:FlxSave;
var vstring:String;
var underline:String;
var tmp:Bitmap;
var text:TextField;
var bx:uint;
var by:uint;
var bmp:Bitmap;
var t:uint = getTimer();
_elapsed = ((t - _total) / 1000);
if (_created){
_console.lastElapsed = _elapsed;
};
_total = t;
FlxG.elapsed = _elapsed;
if (FlxG.elapsed > MAX_ELAPSED){
FlxG.elapsed = MAX_ELAPSED;
};
FlxG.elapsed = (FlxG.elapsed * FlxG.timeScale);
if (_soundTray != null){
if (_soundTrayTimer > 0){
_soundTrayTimer = (_soundTrayTimer - _elapsed);
} else {
if (_soundTray.y > -(_soundTray.height)){
_soundTray.y = (_soundTray.y - ((_elapsed * FlxG.height) * 2));
if (_soundTray.y <= -(_soundTray.height)){
_soundTray.visible = false;
soundPrefs = new FlxSave();
if (soundPrefs.bind("flixel")){
if (soundPrefs.data.sound == null){
soundPrefs.data.sound = new Object();
};
soundPrefs.data.mute = FlxG.mute;
soundPrefs.data.volume = FlxG.volume;
soundPrefs.forceSave();
};
};
};
};
};
if (_created){
FlxG.panel.update();
_console.update();
FlxG.updateInput();
FlxG.updateSounds();
if (_paused){
pause.update();
if (_flipped){
FlxG.buffer.copyPixels(_bmpFront.bitmapData, _r, new Point(0, 0));
} else {
FlxG.buffer.copyPixels(_bmpBack.bitmapData, _r, new Point(0, 0));
};
pause.render();
} else {
if (_flipped){
FlxG.buffer = _bmpFront.bitmapData;
} else {
FlxG.buffer = _bmpBack.bitmapData;
};
FlxState.screen.unsafeBind(FlxG.buffer);
_state.preProcess();
FlxG.doFollow();
_state.update();
if (FlxG.flash.exists){
FlxG.flash.update();
};
if (FlxG.fade.exists){
FlxG.fade.update();
};
FlxG.quake.update();
_buffer.x = FlxG.quake.x;
_buffer.y = FlxG.quake.y;
_state.render();
if (FlxG.flash.exists){
FlxG.flash.render();
};
if (FlxG.fade.exists){
FlxG.fade.render();
};
if (FlxG.panel.visible){
FlxG.panel.render();
};
if (FlxG.mouse.cursor != null){
if (FlxG.mouse.cursor.active){
FlxG.mouse.cursor.update();
};
if (FlxG.mouse.cursor.visible){
FlxG.mouse.cursor.render();
};
};
_state.postProcess();
_bmpBack.visible = !((_bmpFront.visible = _flipped));
_flipped = !(_flipped);
};
} else {
if (root != null){
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = 60;
_buffer = new Sprite();
_buffer.scaleX = _zoom;
_buffer.scaleY = _zoom;
addChild(_buffer);
_bmpBack = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, FlxState.bgColor));
_bmpBack.x = _gameXOffset;
_bmpBack.y = _gameYOffset;
_buffer.addChild(_bmpBack);
_bmpFront = new Bitmap(new BitmapData(_bmpBack.width, _bmpBack.height, true, FlxState.bgColor));
_bmpFront.x = _bmpBack.x;
_bmpFront.y = _bmpBack.y;
_buffer.addChild(_bmpFront);
_flipped = false;
_r = new Rectangle(0, 0, _bmpFront.width, _bmpFront.height);
_console = new FlxConsole(_gameXOffset, _gameYOffset, _zoom);
addChild(_console);
vstring = ((((FlxG.LIBRARY_NAME + " v") + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION);
if (FlxG.debug){
vstring = (vstring + " [debug]");
} else {
vstring = (vstring + " [release]");
};
underline = "";
i = 0;
while (i < (vstring.length + 32)) {
underline = (underline + "-");
i++;
};
FlxG.log(vstring);
FlxG.log(underline);
stage.addEventListener(KeyboardEvent.KEY_DOWN, FlxG.keys.handleKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
stage.addEventListener(MouseEvent.MOUSE_DOWN, FlxG.mouse.handleMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, FlxG.mouse.handleMouseUp);
stage.addEventListener(MouseEvent.MOUSE_OUT, FlxG.mouse.handleMouseOut);
stage.addEventListener(MouseEvent.MOUSE_OVER, FlxG.mouse.handleMouseOver);
stage.addEventListener(Event.DEACTIVATE, onFocusLost);
stage.addEventListener(Event.ACTIVATE, onFocus);
_soundTray = new Sprite();
_soundTray.visible = false;
_soundTray.scaleX = 2;
_soundTray.scaleY = 2;
tmp = new Bitmap(new BitmapData(80, 30, true, 2130706432));
_soundTray.x = (((_gameXOffset + (FlxG.width / 2)) * _zoom) - ((tmp.width / 2) * _soundTray.scaleX));
_soundTray.addChild(tmp);
text = new TextField();
text.width = tmp.width;
text.height = tmp.height;
text.multiline = true;
text.wordWrap = true;
text.selectable = false;
text.embedFonts = true;
text.antiAliasType = AntiAliasType.NORMAL;
text.gridFitType = GridFitType.PIXEL;
text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center");
_soundTray.addChild(text);
text.text = "VOLUME";
text.y = 16;
bx = 10;
by = 14;
_soundTrayBars = new Array();
i = 0;
while (i < 10) {
tmp = new Bitmap(new BitmapData(4, (i + 1), false, 0xFFFFFF));
tmp.x = bx;
tmp.y = by;
_soundTrayBars.push(_soundTray.addChild(tmp));
bx = (bx + 6);
by--;
i++;
};
addChild(_soundTray);
if (_frame != null){
bmp = new _frame();
bmp.scaleX = _zoom;
bmp.scaleY = _zoom;
addChild(bmp);
};
soundPrefs = new FlxSave();
if (((soundPrefs.bind("flixel")) && (!((soundPrefs.data.sound == null))))){
if (soundPrefs.data.volume != null){
FlxG.volume = soundPrefs.data.volume;
};
if (soundPrefs.data.mute != null){
FlxG.mute = soundPrefs.data.mute;
};
showSoundTray(true);
};
_created = true;
switchState(new _iState());
};
};
}
public function showSoundTray(Silent:Boolean=false):void{
if (!Silent){
FlxG.play(SndBeep);
};
_soundTrayTimer = 1;
_soundTray.y = (_gameYOffset * _zoom);
_soundTray.visible = true;
var gv:uint = Math.round((FlxG.volume * 10));
if (FlxG.mute){
gv = 0;
};
var i:uint;
while (i < _soundTrayBars.length) {
if (i < gv){
_soundTrayBars[i].alpha = 1;
} else {
_soundTrayBars[i].alpha = 0.5;
};
i++;
};
}
protected function onFocusLost(event:Event=null):void{
FlxG.pause = true;
}
}
}//package org.flixel
Section 347
//FlxGame_junk (org.flixel.FlxGame_junk)
package org.flixel {
import mx.core.*;
public class FlxGame_junk extends FontAsset {
}
}//package org.flixel
Section 348
//FlxGame_SndBeep (org.flixel.FlxGame_SndBeep)
package org.flixel {
import mx.core.*;
public class FlxGame_SndBeep extends SoundAsset {
}
}//package org.flixel
Section 349
//FlxGame_SndFlixel (org.flixel.FlxGame_SndFlixel)
package org.flixel {
import mx.core.*;
public class FlxGame_SndFlixel extends SoundAsset {
}
}//package org.flixel
Section 350
//FlxGroup (org.flixel.FlxGroup)
package org.flixel {
public class FlxGroup extends FlxObject {
public var members:Array;
protected var _first:Boolean;
protected var _last:FlxPoint;
public function FlxGroup(){
super();
_group = true;
solid = false;
members = new Array();
_last = new FlxPoint();
_first = true;
}
public function getFirstExtant():FlxObject{
var o:FlxObject;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (o.exists))){
return (o);
};
i++;
};
return (null);
}
override public function destroy():void{
destroyMembers();
super.destroy();
}
public function getFirstAlive():FlxObject{
var o:FlxObject;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (((((!((o == null))) && (o.exists))) && (!(o.dead)))){
return (o);
};
i++;
};
return (null);
}
public function remove(Object:FlxObject, Splice:Boolean=false):FlxObject{
var index:int = members.indexOf(Object);
if ((((index < 0)) || ((index >= members.length)))){
return (null);
};
if (Splice){
members.splice(index, 1);
} else {
members[index] = null;
};
return (Object);
}
override public function update():void{
saveOldPosition();
updateMotion();
updateMembers();
updateFlickering();
}
public function resetFirstAvail(X:Number=0, Y:Number=0):Boolean{
var o:FlxObject = getFirstAvail();
if (o == null){
return (false);
};
o.reset(X, Y);
return (true);
}
override public function reset(X:Number, Y:Number):void{
var mx:Number;
var my:Number;
var o:FlxObject;
saveOldPosition();
super.reset(X, Y);
var moved:Boolean;
if (((!((x == _last.x))) || (!((y == _last.y))))){
moved = true;
mx = (x - _last.x);
my = (y - _last.y);
};
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (o.exists))){
if (moved){
if (o._group){
o.reset((o.x + mx), (o.y + my));
} else {
o.x = (o.x + mx);
o.y = (o.y + my);
if (solid){
o.colHullX.width = (o.colHullX.width + ((mx)>0) ? mx : -(mx));
if (mx < 0){
o.colHullX.x = (o.colHullX.x + mx);
};
o.colHullY.x = x;
o.colHullY.height = (o.colHullY.height + ((my)>0) ? my : -(my));
if (my < 0){
o.colHullY.y = (o.colHullY.y + my);
};
o.colVector.x = (o.colVector.x + mx);
o.colVector.y = (o.colVector.y + my);
};
};
};
};
i++;
};
}
protected function updateMembers():void{
var mx:Number;
var my:Number;
var o:FlxObject;
var moved:Boolean;
if (((!((x == _last.x))) || (!((y == _last.y))))){
moved = true;
mx = (x - _last.x);
my = (y - _last.y);
};
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (o.exists))){
if (moved){
if (o._group){
o.reset((o.x + mx), (o.y + my));
} else {
o.x = (o.x + mx);
o.y = (o.y + my);
};
};
if (o.active){
o.update();
};
if (((moved) && (o.solid))){
o.colHullX.width = (o.colHullX.width + ((mx)>0) ? mx : -(mx));
if (mx < 0){
o.colHullX.x = (o.colHullX.x + mx);
};
o.colHullY.x = x;
o.colHullY.height = (o.colHullY.height + ((my)>0) ? my : -(my));
if (my < 0){
o.colHullY.y = (o.colHullY.y + my);
};
o.colVector.x = (o.colVector.x + mx);
o.colVector.y = (o.colVector.y + my);
};
};
i++;
};
}
public function countDead():int{
var o:FlxObject;
var count = -1;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (o != null){
if (count < 0){
count = 0;
};
if (o.dead){
count++;
};
};
i++;
};
return (count);
}
public function getFirstAvail():FlxObject{
var o:FlxObject;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (!(o.exists)))){
return (o);
};
i++;
};
return (null);
}
override public function render():void{
renderMembers();
}
public function countLiving():int{
var o:FlxObject;
var count = -1;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (o != null){
if (count < 0){
count = 0;
};
if (((o.exists) && (!(o.dead)))){
count++;
};
};
i++;
};
return (count);
}
public function countOnScreen():int{
var o:FlxObject;
var count = -1;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (o != null){
if (count < 0){
count = 0;
};
if (o.onScreen()){
count++;
};
};
i++;
};
return (count);
}
protected function killMembers():void{
var o:FlxObject;
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (o != null){
o.kill();
};
i++;
};
}
override public function kill():void{
killMembers();
super.kill();
}
public function getFirstNull():int{
var ml:uint = members.length;
var i:uint;
while (i < ml) {
if (members[i] == null){
return (i);
};
i++;
};
return (-1);
}
protected function renderMembers():void{
var o:FlxObject;
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (((((!((o == null))) && (o.exists))) && (o.visible))){
o.render();
};
i++;
};
}
public function add(Object:FlxObject, ShareScroll:Boolean=false):FlxObject{
members.push(Object);
if (ShareScroll){
Object.scrollFactor = scrollFactor;
};
return (Object);
}
protected function saveOldPosition():void{
if (_first){
_first = false;
_last.x = 0;
_last.y = 0;
return;
};
_last.x = x;
_last.y = y;
}
public function replace(OldObject:FlxObject, NewObject:FlxObject):FlxObject{
var index:int = members.indexOf(OldObject);
if ((((index < 0)) || ((index >= members.length)))){
return (null);
};
members[index] = NewObject;
return (NewObject);
}
public function getRandom():FlxObject{
var c:uint;
var o:FlxObject;
var l:uint = members.length;
var i:uint = uint((FlxU.random() * l));
while ((((o == null)) && ((c < members.length)))) {
++i;
o = (members[(i % l)] as FlxObject);
c++;
};
return (o);
}
public function getFirstDead():FlxObject{
var o:FlxObject;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (o.dead))){
return (o);
};
i++;
};
return (null);
}
protected function destroyMembers():void{
var o:FlxObject;
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (o != null){
o.destroy();
};
i++;
};
members.length = 0;
}
}
}//package org.flixel
Section 351
//FlxObject (org.flixel.FlxObject)
package org.flixel {
import flash.geom.*;
public class FlxObject extends FlxRect {
public var acceleration:FlxPoint;
public var angularAcceleration:Number;
public var active:Boolean;
public var collideBottom:Boolean;
var _group:Boolean;
protected var _point:FlxPoint;
public var colHullX:FlxRect;
protected var _flickerTimer:Number;
public var colHullY:FlxRect;
protected var _flashPoint:Point;
public var colOffsets:Array;
public var solid:Boolean;
public var origin:FlxPoint;
public var drag:FlxPoint;
public var angularDrag:Number;
public var collideTop:Boolean;
protected var _flicker:Boolean;
protected var _rect:FlxRect;
public var moves:Boolean;
public var angle:Number;
public var thrust:Number;
public var health:Number;
public var velocity:FlxPoint;
public var maxAngular:Number;
public var angularVelocity:Number;
public var maxVelocity:FlxPoint;
public var exists:Boolean;
public var collideLeft:Boolean;
public var colVector:FlxPoint;
public var maxThrust:Number;
public var onFloor:Boolean;
public var dead:Boolean;
public var fixed:Boolean;
public var visible:Boolean;
public var scrollFactor:FlxPoint;
public var collideRight:Boolean;
protected static const _pZero:FlxPoint = new FlxPoint();
public function FlxObject(X:Number=0, Y:Number=0, Width:Number=0, Height:Number=0){
super(X, Y, Width, Height);
exists = true;
active = true;
visible = true;
solid = true;
fixed = false;
moves = true;
collideLeft = true;
collideRight = true;
collideTop = true;
collideBottom = true;
origin = new FlxPoint();
velocity = new FlxPoint();
acceleration = new FlxPoint();
drag = new FlxPoint();
maxVelocity = new FlxPoint(10000, 10000);
angle = 0;
angularVelocity = 0;
angularAcceleration = 0;
angularDrag = 0;
maxAngular = 10000;
thrust = 0;
scrollFactor = new FlxPoint(1, 1);
_flicker = false;
_flickerTimer = -1;
health = 1;
dead = false;
_point = new FlxPoint();
_rect = new FlxRect();
_flashPoint = new Point();
colHullX = new FlxRect();
colHullY = new FlxRect();
colVector = new FlxPoint();
colOffsets = new Array(new FlxPoint());
_group = false;
}
public function onScreen():Boolean{
getScreenXY(_point);
if (((((((((_point.x + width) < 0)) || ((_point.x > FlxG.width)))) || (((_point.y + height) < 0)))) || ((_point.y > FlxG.height)))){
return (false);
};
return (true);
}
public function kill():void{
exists = false;
dead = true;
}
protected function updateFlickering():void{
if (flickering()){
if (_flickerTimer > 0){
_flickerTimer = (_flickerTimer - FlxG.elapsed);
if (_flickerTimer == 0){
_flickerTimer = -1;
};
};
if (_flickerTimer < 0){
flicker(-1);
} else {
_flicker = !(_flicker);
visible = !(_flicker);
};
};
}
public function render():void{
}
public function hitBottom(Contact:FlxObject, Velocity:Number):void{
onFloor = true;
if (!fixed){
velocity.y = Velocity;
};
}
public function overlaps(Object:FlxObject):Boolean{
var ts:FlxSprite;
var os:FlxSprite;
getScreenXY(_point);
var tx:Number = _point.x;
var ty:Number = _point.y;
var tw:Number = width;
var th:Number = height;
if ((this is FlxSprite)){
ts = (this as FlxSprite);
tw = ts.frameWidth;
th = ts.frameHeight;
};
Object.getScreenXY(_point);
var ox:Number = _point.x;
var oy:Number = _point.y;
var ow:Number = Object.width;
var oh:Number = Object.height;
if ((Object is FlxSprite)){
os = (Object as FlxSprite);
ow = os.frameWidth;
oh = os.frameHeight;
};
if ((((((((ox <= (tx - ow))) || ((ox >= (tx + tw))))) || ((oy <= (ty - oh))))) || ((oy >= (ty + th))))){
return (false);
};
return (true);
}
public function overlapsPoint(X:Number, Y:Number, PerPixel:Boolean=false):Boolean{
X = (X + FlxU.floor(FlxG.scroll.x));
Y = (Y + FlxU.floor(FlxG.scroll.y));
getScreenXY(_point);
if ((((((((X <= _point.x)) || ((X >= (_point.x + width))))) || ((Y <= _point.y)))) || ((Y >= (_point.y + height))))){
return (false);
};
return (true);
}
public function hurt(Damage:Number):void{
if ((health = (health - Damage)) <= 0){
kill();
};
}
public function refreshHulls():void{
colHullX.x = x;
colHullX.y = y;
colHullX.width = width;
colHullX.height = height;
colHullY.x = x;
colHullY.y = y;
colHullY.width = width;
colHullY.height = height;
}
public function preCollide(Object:FlxObject):void{
}
public function hitLeft(Contact:FlxObject, Velocity:Number):void{
if (!fixed){
velocity.x = Velocity;
};
}
public function collide(Object:FlxObject=null):Boolean{
return (FlxU.collide(this, ((Object)==null) ? this : Object));
}
public function reset(X:Number, Y:Number):void{
x = X;
y = Y;
exists = true;
dead = false;
}
public function update():void{
updateMotion();
updateFlickering();
}
public function hitTop(Contact:FlxObject, Velocity:Number):void{
if (!fixed){
velocity.y = Velocity;
};
}
protected function updateMotion():void{
var thrustComponents:FlxPoint;
var maxComponents:FlxPoint;
var max:Number;
if (!moves){
return;
};
if (solid){
refreshHulls();
};
onFloor = false;
angle = (angle + ((angularVelocity = FlxU.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular)) * FlxG.elapsed));
if (thrust != 0){
thrustComponents = FlxU.rotatePoint(-(thrust), 0, 0, 0, angle);
maxComponents = FlxU.rotatePoint(-(maxThrust), 0, 0, 0, angle);
max = ((maxComponents.x)>0) ? maxComponents.x : -(maxComponents.x);
if (max > ((maxComponents.y)>0) ? maxComponents.y : -(maxComponents.y)){
maxComponents.y = max;
} else {
max = ((maxComponents.y)>0) ? maxComponents.y : -(maxComponents.y);
};
maxVelocity.x = (maxVelocity.y = ((max)>0) ? max : -(max));
} else {
thrustComponents = _pZero;
};
velocity.x = FlxU.computeVelocity(velocity.x, (acceleration.x + thrustComponents.x), drag.x, maxVelocity.x);
velocity.y = FlxU.computeVelocity(velocity.y, (acceleration.y + thrustComponents.y), drag.y, maxVelocity.y);
var xd:Number = (velocity.x * FlxG.elapsed);
var yd:Number = (velocity.y * FlxG.elapsed);
x = (x + xd);
y = (y + yd);
if (!solid){
return;
};
colVector.x = xd;
colVector.y = yd;
colHullX.width = (colHullX.width + ((colVector.x)>0) ? colVector.x : -(colVector.x));
if (colVector.x < 0){
colHullX.x = (colHullX.x + colVector.x);
};
colHullY.x = x;
colHullY.height = (colHullY.height + ((colVector.y)>0) ? colVector.y : -(colVector.y));
if (colVector.y < 0){
colHullY.y = (colHullY.y + colVector.y);
};
}
public function flickering():Boolean{
return ((_flickerTimer >= 0));
}
public function hitRight(Contact:FlxObject, Velocity:Number):void{
hitLeft(Contact, Velocity);
}
public function destroy():void{
}
public function getScreenXY(Point:FlxPoint=null):FlxPoint{
if (Point == null){
Point = new FlxPoint();
};
Point.x = (FlxU.floor((x + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.x * scrollFactor.x)));
Point.y = (FlxU.floor((y + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.y * scrollFactor.y)));
return (Point);
}
public function flicker(Duration:Number=1):void{
_flickerTimer = Duration;
if (_flickerTimer < 0){
_flicker = false;
visible = true;
};
}
}
}//package org.flixel
Section 352
//FlxPoint (org.flixel.FlxPoint)
package org.flixel {
public class FlxPoint {
public var x:Number;
public var y:Number;
public function FlxPoint(X:Number=0, Y:Number=0){
super();
x = X;
y = Y;
}
public function toString():String{
return (FlxU.getClassName(this, true));
}
}
}//package org.flixel
Section 353
//FlxPreloader (org.flixel.FlxPreloader)
package org.flixel {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
import mochi.as3.*;
import flash.utils.*;
public class FlxPreloader extends MovieClip {
protected var _height:uint;
protected var _width:uint;
protected var ImgLogoLight:Class;
protected var _logo:Bitmap;
protected var _text:TextField;
protected var _buffer:Sprite;
public var className:String;
public var myURL:String;// = "http://www.yohanessuyanto.com"
protected var _bmpBar:Bitmap;
protected var ImgLogo:Class;
protected var _init:Boolean;
protected var ImgLogoCorners:Class;
protected var _logoGlow:Bitmap;
public function FlxPreloader(){
var tmp:Bitmap;
var re:RegExp;
var fmt:TextFormat;
var txt:TextField;
ImgLogo = FlxPreloader_ImgLogo;
ImgLogoCorners = FlxPreloader_ImgLogoCorners;
ImgLogoLight = FlxPreloader_ImgLogoLight;
super();
trace("s");
stop();
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
throw (new Error("Setting global debug flag..."));
//unresolved jump
var _slot1 = e;
re = /\[.*:[0-9]+\]/;
FlxG.debug = re.test(_slot1.getStackTrace());
var oke:Boolean;
var lockURL:Array = ["www.yohanessuyanto.com", "yohanessuyanto.com"];
var lock:Boolean;
var urlString:String = stage.loaderInfo.url;
var urlParts:Array = urlString.split("://");
var domain:Array = urlParts[1].split("/");
var m:uint;
while (m < lockURL.length) {
if (lockURL[m] == domain[0]){
lock = false;
};
m = (m + 1);
};
if (!lock){
oke = true;
};
oke = true;
if (!oke){
tmp = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 4294967295));
addChild(tmp);
fmt = new TextFormat();
fmt.color = 0;
fmt.size = 16;
fmt.align = "center";
fmt.bold = true;
txt = new TextField();
txt.width = (tmp.width - 16);
txt.height = (tmp.height - 16);
txt.y = 8;
txt.multiline = true;
txt.wordWrap = true;
txt.defaultTextFormat = fmt;
txt.text = "\n\nHi there! It looks like somebody copied this game without my permission.\n Please contact me : yohanes@yohanessuyanto.com!";
addChild(txt);
txt.addEventListener(MouseEvent.CLICK, goToMyURL);
tmp.addEventListener(MouseEvent.CLICK, goToMyURL);
return;
};
_init = false;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
protected function update(Percent:Number):void{
_bmpBar.scaleX = (Percent * (_width - 8));
_text.text = (("Loading " + FlxU.floor((Percent * 100))) + " %");
_text.setTextFormat(_text.defaultTextFormat);
_logoGlow.alpha = 0;
_logo.alpha = 1;
}
private function goToMyURL(event:MouseEvent=null):void{
navigateToURL(new URLRequest("mailto:yohanes@yohanessuyanto.com"));
}
private function onEnterFrame(event:Event):void{
var i:int;
var mainClass:Class;
var app:Object;
if (!_init){
if ((((stage.stageWidth <= 0)) || ((stage.stageHeight <= 0)))){
return;
};
create();
_init = true;
};
graphics.clear();
if (framesLoaded >= totalFrames){
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
nextFrame();
mainClass = Class(getDefinitionByName(className));
if (mainClass){
app = new (mainClass);
addChild((app as DisplayObject));
};
removeChild(_buffer);
} else {
update((root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal));
};
}
protected function create():void{
var j:uint;
_buffer = new Sprite();
_buffer.scaleX = 1;
_buffer.scaleY = 1;
addChild(_buffer);
_width = 640;
_height = 480;
_buffer.addChild(new Bitmap(new BitmapData(_width, _height, false, 0x232323)));
var b:Bitmap = new ImgLogoLight();
b.smoothing = true;
b.width = (b.height = _height);
b.x = ((_width - b.width) / 2);
_buffer.addChild(b);
_bmpBar = new Bitmap(new BitmapData(1, 7, false, 0xFFFFFF));
_bmpBar.x = 4;
_bmpBar.y = (_height - 11);
_buffer.addChild(_bmpBar);
_text = new TextField();
_text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center");
_text.embedFonts = true;
_text.selectable = false;
_text.multiline = false;
_text.x = 285;
_text.y = (_bmpBar.y - 100);
_text.width = 80;
_buffer.addChild(_text);
_logo = new ImgLogo();
_logo.width = 250;
_logo.height = 250;
_logo.x = ((_width - _logo.width) / 2);
_logo.y = ((_height - _logo.height) / 2);
_buffer.addChild(_logo);
_logoGlow = new ImgLogo();
_logoGlow.smoothing = true;
_logoGlow.blendMode = "screen";
_logoGlow.scaleX = (_logoGlow.scaleY = (_height / 8));
_logoGlow.x = ((_width - _logoGlow.width) / 2);
_logoGlow.y = ((_height - _logoGlow.height) / 2);
_buffer.addChild(_logoGlow);
b = new ImgLogoCorners();
b.smoothing = true;
b.width = _width;
b.height = _height;
_buffer.addChild(b);
b = new Bitmap(new BitmapData(_width, _height, false, 0xFFFFFF));
var i:uint;
while (i < _height) {
j = 0;
while (j < _width) {
b.bitmapData.setPixel(j, i, 0);
j++;
};
i = (i + 2);
};
b.blendMode = "overlay";
b.alpha = 0.25;
_buffer.addChild(b);
}
}
}//package org.flixel
Section 354
//FlxPreloader_ImgLogo (org.flixel.FlxPreloader_ImgLogo)
package org.flixel {
import mx.core.*;
public class FlxPreloader_ImgLogo extends BitmapAsset {
}
}//package org.flixel
Section 355
//FlxPreloader_ImgLogoCorners (org.flixel.FlxPreloader_ImgLogoCorners)
package org.flixel {
import mx.core.*;
public class FlxPreloader_ImgLogoCorners extends BitmapAsset {
}
}//package org.flixel
Section 356
//FlxPreloader_ImgLogoLight (org.flixel.FlxPreloader_ImgLogoLight)
package org.flixel {
import mx.core.*;
public class FlxPreloader_ImgLogoLight extends BitmapAsset {
}
}//package org.flixel
Section 357
//FlxQuadTree (org.flixel.FlxQuadTree)
package org.flixel {
import org.flixel.data.*;
public class FlxQuadTree extends FlxRect {
protected var _sw:FlxQuadTree;
protected var _mx:Number;
protected var _my:Number;
protected var _ne:FlxQuadTree;
protected var _hh:Number;
protected var _headA:FlxList;
protected var _headB:FlxList;
protected var _canSubdivide:Boolean;
protected var _l:Number;
protected var _hw:Number;
protected var _nw:FlxQuadTree;
protected var _se:FlxQuadTree;
protected var _tailA:FlxList;
protected var _r:Number;
protected var _t:Number;
protected var _tailB:FlxList;
protected var _b:Number;
public static const A_LIST:uint = 0;
public static const MIN:Number = 48;
public static const B_LIST:uint = 1;
protected static var _ot:Number;
protected static var _or:Number;
protected static var _o:FlxObject;
protected static var _oa:uint;
protected static var _oc:Function;
protected static var _ob:Number;
protected static var _ol:Number;
public function FlxQuadTree(X:Number, Y:Number, Width:Number, Height:Number, Parent:FlxQuadTree=null){
var itr:FlxList;
var ot:FlxList;
super(X, Y, Width, Height);
_canSubdivide = (((Width > MIN)) || ((Height > MIN)));
_headA = (_tailA = new FlxList());
_headB = (_tailB = new FlxList());
if (Parent){
if (Parent._headA.object != null){
itr = Parent._headA;
while (itr != null) {
if (_tailA.object != null){
ot = _tailA;
_tailA = new FlxList();
ot.next = _tailA;
};
_tailA.object = itr.object;
itr = itr.next;
};
};
if (Parent._headB.object != null){
itr = Parent._headB;
while (itr != null) {
if (_tailB.object != null){
ot = _tailB;
_tailB = new FlxList();
ot.next = _tailB;
};
_tailB.object = itr.object;
itr = itr.next;
};
};
};
_nw = null;
_ne = null;
_se = null;
_sw = null;
_l = x;
_r = (x + width);
_hw = (width / 2);
_mx = (_l + _hw);
_t = y;
_b = (y + height);
_hh = (height / 2);
_my = (_t + _hh);
}
protected function addObject():void{
if (((!(_canSubdivide)) || ((((((((_l >= _ol)) && ((_r <= _or)))) && ((_t >= _ot)))) && ((_b <= _ob)))))){
addToList();
return;
};
if ((((_ol > _l)) && ((_or < _mx)))){
if ((((_ot > _t)) && ((_ob < _my)))){
if (_nw == null){
_nw = new FlxQuadTree(_l, _t, _hw, _hh, this);
};
_nw.addObject();
return;
};
if ((((_ot > _my)) && ((_ob < _b)))){
if (_sw == null){
_sw = new FlxQuadTree(_l, _my, _hw, _hh, this);
};
_sw.addObject();
return;
};
};
if ((((_ol > _mx)) && ((_or < _r)))){
if ((((_ot > _t)) && ((_ob < _my)))){
if (_ne == null){
_ne = new FlxQuadTree(_mx, _t, _hw, _hh, this);
};
_ne.addObject();
return;
};
if ((((_ot > _my)) && ((_ob < _b)))){
if (_se == null){
_se = new FlxQuadTree(_mx, _my, _hw, _hh, this);
};
_se.addObject();
return;
};
};
if ((((((((_or > _l)) && ((_ol < _mx)))) && ((_ob > _t)))) && ((_ot < _my)))){
if (_nw == null){
_nw = new FlxQuadTree(_l, _t, _hw, _hh, this);
};
_nw.addObject();
};
if ((((((((_or > _mx)) && ((_ol < _r)))) && ((_ob > _t)))) && ((_ot < _my)))){
if (_ne == null){
_ne = new FlxQuadTree(_mx, _t, _hw, _hh, this);
};
_ne.addObject();
};
if ((((((((_or > _mx)) && ((_ol < _r)))) && ((_ob > _my)))) && ((_ot < _b)))){
if (_se == null){
_se = new FlxQuadTree(_mx, _my, _hw, _hh, this);
};
_se.addObject();
};
if ((((((((_or > _l)) && ((_ol < _mx)))) && ((_ob > _my)))) && ((_ot < _b)))){
if (_sw == null){
_sw = new FlxQuadTree(_l, _my, _hw, _hh, this);
};
_sw.addObject();
};
}
protected function addToList():void{
var ot:FlxList;
if (_oa == A_LIST){
if (_tailA.object != null){
ot = _tailA;
_tailA = new FlxList();
ot.next = _tailA;
};
_tailA.object = _o;
} else {
if (_tailB.object != null){
ot = _tailB;
_tailB = new FlxList();
ot.next = _tailB;
};
_tailB.object = _o;
};
if (!_canSubdivide){
return;
};
if (_nw != null){
_nw.addToList();
};
if (_ne != null){
_ne.addToList();
};
if (_se != null){
_se.addToList();
};
if (_sw != null){
_sw.addToList();
};
}
public function overlap(BothLists:Boolean=true, Callback:Function=null):Boolean{
var itr:FlxList;
_oc = Callback;
var c:Boolean;
if (BothLists){
_oa = B_LIST;
if (_headA.object != null){
itr = _headA;
while (itr != null) {
_o = itr.object;
if (((((_o.exists) && (_o.solid))) && (overlapNode()))){
c = true;
};
itr = itr.next;
};
};
_oa = A_LIST;
if (_headB.object != null){
itr = _headB;
while (itr != null) {
_o = itr.object;
if (((_o.exists) && (_o.solid))){
if (((!((_nw == null))) && (_nw.overlapNode()))){
c = true;
};
if (((!((_ne == null))) && (_ne.overlapNode()))){
c = true;
};
if (((!((_se == null))) && (_se.overlapNode()))){
c = true;
};
if (((!((_sw == null))) && (_sw.overlapNode()))){
c = true;
};
};
itr = itr.next;
};
};
} else {
if (_headA.object != null){
itr = _headA;
while (itr != null) {
_o = itr.object;
if (((((_o.exists) && (_o.solid))) && (overlapNode(itr.next)))){
c = true;
};
itr = itr.next;
};
};
};
if (((!((_nw == null))) && (_nw.overlap(BothLists, _oc)))){
c = true;
};
if (((!((_ne == null))) && (_ne.overlap(BothLists, _oc)))){
c = true;
};
if (((!((_se == null))) && (_se.overlap(BothLists, _oc)))){
c = true;
};
if (((!((_sw == null))) && (_sw.overlap(BothLists, _oc)))){
c = true;
};
return (c);
}
public function add(Object:FlxObject, List:uint):void{
var m:FlxObject;
var members:Array;
var l:uint;
var i:uint;
_oa = List;
if (Object._group){
members = (Object as FlxGroup).members;
l = members.length;
i = 0;
while (i < l) {
m = (members[i] as FlxObject);
if (((!((m == null))) && (m.exists))){
if (m._group){
add(m, List);
} else {
if (m.solid){
_o = m;
_ol = _o.x;
_ot = _o.y;
_or = (_o.x + _o.width);
_ob = (_o.y + _o.height);
addObject();
};
};
};
i++;
};
};
if (Object.solid){
_o = Object;
_ol = _o.x;
_ot = _o.y;
_or = (_o.x + _o.width);
_ob = (_o.y + _o.height);
addObject();
};
}
protected function overlapNode(Iterator:FlxList=null):Boolean{
var co:FlxObject;
var c:Boolean;
var itr:FlxList = Iterator;
if (itr == null){
if (_oa == A_LIST){
itr = _headA;
} else {
itr = _headB;
};
};
if (itr.object != null){
while (itr != null) {
co = itr.object;
if ((((((((((((((((((_o === co)) || (!(co.exists)))) || (!(_o.exists)))) || (!(co.solid)))) || (!(_o.solid)))) || (((_o.x + _o.width) < (co.x + FlxU.roundingError))))) || (((_o.x + FlxU.roundingError) > (co.x + co.width))))) || (((_o.y + _o.height) < (co.y + FlxU.roundingError))))) || (((_o.y + FlxU.roundingError) > (co.y + co.height))))){
itr = itr.next;
} else {
if (_oc == null){
_o.kill();
co.kill();
c = true;
} else {
if (_oc(_o, co)){
c = true;
};
};
itr = itr.next;
};
};
};
return (c);
}
}
}//package org.flixel
Section 358
//FlxRect (org.flixel.FlxRect)
package org.flixel {
public class FlxRect extends FlxPoint {
public var width:Number;
public var height:Number;
public function FlxRect(X:Number=0, Y:Number=0, Width:Number=0, Height:Number=0){
super(X, Y);
width = Width;
height = Height;
}
public function get bottom():Number{
return ((y + height));
}
public function get top():Number{
return (y);
}
public function get left():Number{
return (x);
}
public function get right():Number{
return ((x + width));
}
}
}//package org.flixel
Section 359
//FlxSave (org.flixel.FlxSave)
package org.flixel {
import flash.net.*;
public class FlxSave {
protected var _so:SharedObject;
public var data:Object;
public var name:String;
public function FlxSave(){
super();
name = null;
_so = null;
data = null;
}
public function read(FieldName:String):Object{
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.read().");
return (null);
};
return (data[FieldName]);
}
public function forceSave(MinFileSize:uint=0):Boolean{
var MinFileSize = MinFileSize;
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.forceSave().");
return (false);
};
var status:Object;
status = _so.flush(MinFileSize);
//unresolved jump
var _slot1 = e;
FlxG.log("WARNING: There was a problem flushing\nthe shared object data from FlxSave.");
return (false);
return ((status == SharedObjectFlushStatus.FLUSHED));
}
public function bind(Name:String):Boolean{
var Name = Name;
name = null;
_so = null;
data = null;
name = Name;
_so = SharedObject.getLocal(name);
//unresolved jump
var _slot1 = e;
FlxG.log("WARNING: There was a problem binding to\nthe shared object data from FlxSave.");
name = null;
_so = null;
data = null;
return (false);
data = _so.data;
return (true);
}
public function erase(MinFileSize:uint=0):Boolean{
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.erase().");
return (false);
};
_so.clear();
return (forceSave(MinFileSize));
}
public function write(FieldName:String, FieldValue:Object, MinFileSize:uint=0):Boolean{
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.write().");
return (false);
};
data[FieldName] = FieldValue;
return (forceSave(MinFileSize));
}
}
}//package org.flixel
Section 360
//FlxSound (org.flixel.FlxSound)
package org.flixel {
import flash.events.*;
import flash.media.*;
import flash.net.*;
public class FlxSound extends FlxObject {
protected var _position:Number;
protected var _fadeOutTotal:Number;
protected var _fadeOutTimer:Number;
protected var _sound:Sound;
protected var _pauseOnFadeOut:Boolean;
protected var _volumeAdjust:Number;
protected var _radius:Number;
protected var _volume:Number;
protected var _point2:FlxPoint;
protected var _channel:SoundChannel;
protected var _fadeInTimer:Number;
protected var _fadeInTotal:Number;
protected var _pan:Boolean;
protected var _looped:Boolean;
protected var _transform:SoundTransform;
protected var _init:Boolean;
public var survive:Boolean;
protected var _core:FlxObject;
public function FlxSound(){
super();
_point2 = new FlxPoint();
_transform = new SoundTransform();
init();
fixed = true;
}
public function loadStream(SoundURL:String, Looped:Boolean=false):FlxSound{
stop();
init();
_sound = new Sound(new URLRequest(SoundURL));
_looped = Looped;
updateTransform();
active = true;
return (this);
}
public function stop():void{
_position = 0;
if (_channel != null){
_channel.stop();
stopped();
};
}
public function loadEmbedded(EmbeddedSound:Class, Looped:Boolean=false):FlxSound{
stop();
init();
_sound = new (EmbeddedSound);
_looped = Looped;
updateTransform();
active = true;
return (this);
}
public function get volume():Number{
return (_volume);
}
function updateTransform():void{
_transform.volume = (((FlxG.getMuteValue() * FlxG.volume) * _volume) * _volumeAdjust);
if (_channel != null){
_channel.soundTransform = _transform;
};
}
public function fadeOut(Seconds:Number, PauseInstead:Boolean=false):void{
_pauseOnFadeOut = PauseInstead;
_fadeInTimer = 0;
_fadeOutTimer = Seconds;
_fadeOutTotal = _fadeOutTimer;
}
public function set volume(Volume:Number):void{
_volume = Volume;
if (_volume < 0){
_volume = 0;
} else {
if (_volume > 1){
_volume = 1;
};
};
updateTransform();
}
public function play():void{
if (_position < 0){
return;
};
if (_looped){
if (_position == 0){
if (_channel == null){
_channel = _sound.play(0, 9999, _transform);
};
if (_channel == null){
active = false;
};
} else {
_channel = _sound.play(_position, 0, _transform);
if (_channel == null){
active = false;
} else {
_channel.addEventListener(Event.SOUND_COMPLETE, looped);
};
};
} else {
if (_position == 0){
if (_channel == null){
_channel = _sound.play(0, 0, _transform);
if (_channel == null){
active = false;
} else {
_channel.addEventListener(Event.SOUND_COMPLETE, stopped);
};
};
} else {
_channel = _sound.play(_position, 0, _transform);
if (_channel == null){
active = false;
};
};
};
_position = 0;
}
protected function init():void{
_transform.pan = 0;
_sound = null;
_position = 0;
_volume = 1;
_volumeAdjust = 1;
_looped = false;
_core = null;
_radius = 0;
_pan = false;
_fadeOutTimer = 0;
_fadeOutTotal = 0;
_pauseOnFadeOut = false;
_fadeInTimer = 0;
_fadeInTotal = 0;
active = false;
visible = false;
solid = false;
}
protected function looped(event:Event=null):void{
if (_channel == null){
return;
};
_channel.removeEventListener(Event.SOUND_COMPLETE, looped);
_channel = null;
play();
}
protected function updateSound():void{
var _point:FlxPoint;
var _point2:FlxPoint;
var dx:Number;
var dy:Number;
var d:Number;
if (_position != 0){
return;
};
var radial:Number = 1;
var fade:Number = 1;
if (_core != null){
_point = new FlxPoint();
_point2 = new FlxPoint();
_core.getScreenXY(_point);
getScreenXY(_point2);
dx = (_point.x - _point2.x);
dy = (_point.y - _point2.y);
radial = ((_radius - Math.sqrt(((dx * dx) + (dy * dy)))) / _radius);
if (radial < 0){
radial = 0;
};
if (radial > 1){
radial = 1;
};
if (_pan){
d = (-(dx) / _radius);
if (d < -1){
d = -1;
} else {
if (d > 1){
d = 1;
};
};
_transform.pan = d;
};
};
if (_fadeOutTimer > 0){
_fadeOutTimer = (_fadeOutTimer - FlxG.elapsed);
if (_fadeOutTimer <= 0){
if (_pauseOnFadeOut){
pause();
} else {
stop();
};
};
fade = (_fadeOutTimer / _fadeOutTotal);
if (fade < 0){
fade = 0;
};
} else {
if (_fadeInTimer > 0){
_fadeInTimer = (_fadeInTimer - FlxG.elapsed);
fade = (_fadeInTimer / _fadeInTotal);
if (fade < 0){
fade = 0;
};
fade = (1 - fade);
};
};
_volumeAdjust = (radial * fade);
updateTransform();
}
public function fadeIn(Seconds:Number):void{
_fadeOutTimer = 0;
_fadeInTimer = Seconds;
_fadeInTotal = _fadeInTimer;
play();
}
override public function update():void{
super.update();
updateSound();
}
protected function stopped(event:Event=null):void{
if (!_looped){
_channel.removeEventListener(Event.SOUND_COMPLETE, stopped);
} else {
_channel.removeEventListener(Event.SOUND_COMPLETE, looped);
};
_channel = null;
active = false;
}
public function pause():void{
if (_channel == null){
_position = -1;
return;
};
_position = _channel.position;
_channel.stop();
if (_looped){
while (_position >= _sound.length) {
_position = (_position - _sound.length);
};
};
_channel = null;
}
override public function destroy():void{
if (active){
stop();
};
}
public function proximity(X:Number, Y:Number, Core:FlxObject, Radius:Number, Pan:Boolean=true):FlxSound{
x = X;
y = Y;
_core = Core;
_radius = Radius;
_pan = Pan;
return (this);
}
}
}//package org.flixel
Section 361
//FlxSprite (org.flixel.FlxSprite)
package org.flixel {
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
public class FlxSprite extends FlxObject {
protected var _mtx:Matrix;
protected var _caf:uint;
public var finished:Boolean;
protected var _animations:Array;
protected var _ct:ColorTransform;
public var offset:FlxPoint;
protected var _callback:Function;
protected var _curAnim:FlxAnim;
protected var _framePixels:BitmapData;
protected var _flipped:uint;
public var scale:FlxPoint;
protected var _pixels:BitmapData;
protected var _bakedRotation:Number;
public var blend:String;
public var frameWidth:uint;
protected var _flashRect2:Rectangle;
protected var _alpha:Number;
protected var _flashPointZero:Point;
protected var _curFrame:uint;
public var frameHeight:uint;
protected var _flashRect:Rectangle;
protected var _frameTimer:Number;
protected var _facing:uint;
public var antialiasing:Boolean;
protected var _color:uint;
public static const LEFT:uint = 0;
public static const DOWN:uint = 3;
public static const UP:uint = 2;
public static const RIGHT:uint = 1;
public function FlxSprite(X:Number=0, Y:Number=0, SimpleGraphic:Class=null){
super();
x = X;
y = Y;
_flashRect = new Rectangle();
_flashRect2 = new Rectangle();
_flashPointZero = new Point();
if (SimpleGraphic == null){
createGraphic(8, 8);
} else {
loadGraphic(SimpleGraphic);
};
offset = new FlxPoint();
scale = new FlxPoint(1, 1);
_alpha = 1;
_color = 0xFFFFFF;
blend = null;
antialiasing = false;
finished = false;
_facing = RIGHT;
_animations = new Array();
_flipped = 0;
_curAnim = null;
_curFrame = 0;
_caf = 0;
_frameTimer = 0;
_mtx = new Matrix();
_callback = null;
}
protected function renderSprite():void{
getScreenXY(_point);
_flashPoint.x = _point.x;
_flashPoint.y = _point.y;
if ((((((((((angle == 0)) || ((_bakedRotation > 0)))) && ((scale.x == 1)))) && ((scale.y == 1)))) && ((blend == null)))){
FlxG.buffer.copyPixels(_framePixels, _flashRect, _flashPoint, null, null, true);
return;
};
_mtx.identity();
_mtx.translate(-(origin.x), -(origin.y));
_mtx.scale(scale.x, scale.y);
if (angle != 0){
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
};
_mtx.translate((_point.x + origin.x), (_point.y + origin.y));
FlxG.buffer.draw(_framePixels, _mtx, null, blend, null, antialiasing);
}
public function fill(Color:uint):void{
_pixels.fillRect(_flashRect2, Color);
calcFrame();
}
public function addAnimation(Name:String, Frames:Array, FrameRate:Number=0, Looped:Boolean=true):void{
_animations.push(new FlxAnim(Name, Frames, FrameRate, Looped));
}
override public function overlapsPoint(X:Number, Y:Number, PerPixel:Boolean=false):Boolean{
X = (X - FlxU.floor(FlxG.scroll.x));
Y = (Y - FlxU.floor(FlxG.scroll.y));
getScreenXY(_point);
if (PerPixel){
return (_framePixels.hitTest(new Point(0, 0), 0xFF, new Point((X - _point.x), (Y - _point.y))));
};
if ((((((((X <= _point.x)) || ((X >= (_point.x + frameWidth))))) || ((Y <= _point.y)))) || ((Y >= (_point.y + frameHeight))))){
return (false);
};
return (true);
}
override public function render():void{
renderSprite();
}
protected function calcFrame():void{
var rx:uint = (_caf * frameWidth);
var ry:uint;
var w:uint = (_flipped) ? _flipped : _pixels.width;
if (rx >= w){
ry = (uint((rx / w)) * frameHeight);
rx = (rx % w);
};
if (((_flipped) && ((_facing == LEFT)))){
rx = (((_flipped << 1) - rx) - frameWidth);
};
_flashRect.x = rx;
_flashRect.y = ry;
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
_flashRect.x = (_flashRect.y = 0);
if (_ct != null){
_framePixels.colorTransform(_flashRect, _ct);
};
if (_callback != null){
_callback(_curAnim.name, _curFrame, _caf);
};
}
function unsafeBind(Pixels:BitmapData):void{
_pixels = (_framePixels = Pixels);
}
public function loadGraphic(Graphic:Class, Animated:Boolean=false, Reverse:Boolean=false, Width:uint=0, Height:uint=0, Unique:Boolean=false):FlxSprite{
_bakedRotation = 0;
_pixels = FlxG.addBitmap(Graphic, Reverse, Unique);
if (Reverse){
_flipped = (_pixels.width >> 1);
} else {
_flipped = 0;
};
if (Width == 0){
if (Animated){
Width = _pixels.height;
} else {
if (_flipped > 0){
Width = (_pixels.width / 2);
} else {
Width = _pixels.width;
};
};
};
width = (frameWidth = Width);
if (Height == 0){
if (Animated){
Height = width;
} else {
Height = _pixels.height;
};
};
height = (frameHeight = Height);
resetHelpers();
return (this);
}
public function get pixels():BitmapData{
return (_pixels);
}
public function set facing(Direction:uint):void{
var c = !((_facing == Direction));
_facing = Direction;
if (c){
calcFrame();
};
}
protected function resetHelpers():void{
_flashRect.x = 0;
_flashRect.y = 0;
_flashRect.width = frameWidth;
_flashRect.height = frameHeight;
_flashRect2.x = 0;
_flashRect2.y = 0;
_flashRect2.width = _pixels.width;
_flashRect2.height = _pixels.height;
if ((((((_framePixels == null)) || (!((_framePixels.width == width))))) || (!((_framePixels.height == height))))){
_framePixels = new BitmapData(width, height);
};
origin.x = (frameWidth / 2);
origin.y = (frameHeight / 2);
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
_caf = 0;
refreshHulls();
}
override public function getScreenXY(Point:FlxPoint=null):FlxPoint{
if (Point == null){
Point = new FlxPoint();
};
Point.x = ((FlxU.floor((x + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.x * scrollFactor.x))) - offset.x);
Point.y = ((FlxU.floor((y + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.y * scrollFactor.y))) - offset.y);
return (Point);
}
public function set alpha(Alpha:Number):void{
if (Alpha > 1){
Alpha = 1;
};
if (Alpha < 0){
Alpha = 0;
};
if (Alpha == _alpha){
return;
};
_alpha = Alpha;
if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){
_ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha);
} else {
_ct = null;
};
calcFrame();
}
protected function updateAnimation():void{
var oc:uint;
var ta:int;
if (_bakedRotation){
oc = _caf;
ta = (angle % 360);
if (ta < 0){
ta = (ta + 360);
};
_caf = (ta / _bakedRotation);
if (oc != _caf){
calcFrame();
};
return;
};
if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){
_frameTimer = (_frameTimer + FlxG.elapsed);
if (_frameTimer > _curAnim.delay){
_frameTimer = (_frameTimer - _curAnim.delay);
if (_curFrame == (_curAnim.frames.length - 1)){
if (_curAnim.looped){
_curFrame = 0;
};
finished = true;
} else {
_curFrame++;
};
_caf = _curAnim.frames[_curFrame];
calcFrame();
};
};
}
public function draw(Brush:FlxSprite, X:int=0, Y:int=0):void{
var b:BitmapData = Brush._framePixels;
if ((((((((((Brush.angle == 0)) || ((Brush._bakedRotation > 0)))) && ((Brush.scale.x == 1)))) && ((Brush.scale.y == 1)))) && ((Brush.blend == null)))){
_flashPoint.x = X;
_flashPoint.y = Y;
_flashRect2.width = b.width;
_flashRect2.height = b.height;
_pixels.copyPixels(b, _flashRect2, _flashPoint, null, null, true);
_flashRect2.width = _pixels.width;
_flashRect2.height = _pixels.height;
calcFrame();
return;
};
_mtx.identity();
_mtx.translate(-(Brush.origin.x), -(Brush.origin.y));
_mtx.scale(Brush.scale.x, Brush.scale.y);
if (Brush.angle != 0){
_mtx.rotate(((Math.PI * 2) * (Brush.angle / 360)));
};
_mtx.translate((X + Brush.origin.x), (Y + Brush.origin.y));
_pixels.draw(b, _mtx, null, Brush.blend, null, Brush.antialiasing);
calcFrame();
}
public function loadRotatedGraphic(Graphic:Class, Rotations:uint=16, Frame:int=-1, AntiAliasing:Boolean=false, AutoBuffer:Boolean=false):FlxSprite{
var r:uint;
var c:uint;
var bw2:uint;
var bh2:uint;
var gxc:uint;
var gyc:uint;
var rows:uint = 4;
var brush:FlxSprite = new FlxSprite().loadGraphic(Graphic, (Frame >= 0));
if (Frame >= 0){
brush.frame = Frame;
};
brush.antialiasing = AntiAliasing;
var max:uint = brush.width;
if (brush.height > max){
max = brush.height;
};
if (AutoBuffer){
max = (max * 1.5);
};
var cols:uint = Math.ceil((Rotations / rows));
width = (max * cols);
height = (max * rows);
var key:String = ((((((String(Graphic) + ":") + Frame) + ":") + width) + "x") + height);
var skipGen:Boolean = FlxG.checkBitmapCache(key);
createGraphic(width, height, 0, true, key);
_bakedRotation = (360 / Rotations);
if (!skipGen){
bw2 = (brush.width / 2);
bh2 = (brush.height / 2);
gxc = (max / 2);
gyc = (max / 2);
r = 0;
while (r < rows) {
c = 0;
while (c < cols) {
draw(brush, ((gxc + (max * c)) - bw2), (gyc - bh2));
brush.angle = (brush.angle + _bakedRotation);
c++;
};
gyc = (gyc + max);
r++;
};
};
frameWidth = (frameHeight = (width = (height = max)));
resetHelpers();
return (this);
}
public function set color(Color:uint):void{
Color = (Color & 0xFFFFFF);
if (_color == Color){
return;
};
_color = Color;
if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){
_ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha);
} else {
_ct = null;
};
calcFrame();
}
override public function update():void{
updateMotion();
updateAnimation();
updateFlickering();
}
public function onEmit():void{
}
public function createGraphic(Width:uint, Height:uint, Color:uint=4294967295, Unique:Boolean=false, Key:String=null):FlxSprite{
_bakedRotation = 0;
_pixels = FlxG.createBitmap(Width, Height, Color, Unique, Key);
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
resetHelpers();
return (this);
}
public function play(AnimName:String, Force:Boolean=false):void{
if (((((!(Force)) && (!((_curAnim == null))))) && ((AnimName == _curAnim.name)))){
return;
};
_curFrame = 0;
_caf = 0;
_frameTimer = 0;
var al:uint = _animations.length;
var i:uint;
while (i < al) {
if (_animations[i].name == AnimName){
_curAnim = _animations[i];
if (_curAnim.delay <= 0){
finished = true;
} else {
finished = false;
};
_caf = _curAnim.frames[_curFrame];
calcFrame();
return;
};
i++;
};
}
public function addAnimationCallback(AnimationCallback:Function):void{
_callback = AnimationCallback;
}
public function set pixels(Pixels:BitmapData):void{
_pixels = Pixels;
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
resetHelpers();
}
public function get alpha():Number{
return (_alpha);
}
public function get facing():uint{
return (_facing);
}
public function get color():uint{
return (_color);
}
public function set frame(Frame:uint):void{
_curAnim = null;
_caf = Frame;
calcFrame();
}
public function get frame():uint{
return (_caf);
}
public function randomFrame():void{
_curAnim = null;
_caf = int((FlxU.random() * (_pixels.width / frameWidth)));
calcFrame();
}
}
}//package org.flixel
Section 362
//FlxState (org.flixel.FlxState)
package org.flixel {
import flash.display.*;
public class FlxState extends Sprite {
public var defaultGroup:FlxGroup;
public static var screen:FlxSprite;
public static var bgColor:uint;
public function FlxState(){
super();
defaultGroup = new FlxGroup();
if (screen == null){
screen = new FlxSprite();
screen.createGraphic(FlxG.width, FlxG.height, 0, true);
screen.origin.x = (screen.origin.y = 0);
screen.antialiasing = true;
};
}
public function add(Core:FlxObject):FlxObject{
return (defaultGroup.add(Core));
}
public function preProcess():void{
screen.fill(bgColor);
}
public function collide():void{
defaultGroup.collide();
}
public function render():void{
defaultGroup.render();
}
public function update():void{
defaultGroup.update();
}
public function destroy():void{
defaultGroup.destroy();
}
public function create():void{
}
public function postProcess():void{
}
}
}//package org.flixel
Section 363
//FlxText (org.flixel.FlxText)
package org.flixel {
import flash.display.*;
import flash.text.*;
public class FlxText extends FlxSprite {
protected var _tf:TextField;
protected var _regen:Boolean;
protected var _shadow:uint;
public function FlxText(X:Number, Y:Number, Width:uint, Text:String=null){
if (Text == null){
Text = "";
};
_tf = new TextField();
_tf.width = Width;
_tf.height = 1;
_tf.embedFonts = true;
_tf.selectable = false;
_tf.sharpness = 100;
_tf.multiline = true;
_tf.wordWrap = true;
_tf.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF);
_tf.text = Text;
super(X, Y);
createGraphic(Width, 1);
_regen = true;
_shadow = 0;
solid = false;
calcFrame();
}
public function get shadow():uint{
return (_shadow);
}
public function get size():Number{
return ((_tf.defaultTextFormat.size as Number));
}
override public function get color():uint{
return ((_tf.defaultTextFormat.color as uint));
}
override public function set color(Color:uint):void{
var tf:TextFormat = dtfCopy();
tf.color = Color;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
_regen = true;
calcFrame();
}
public function set shadow(Color:uint):void{
_shadow = Color;
calcFrame();
}
public function set size(Size:Number):void{
var tf:TextFormat = dtfCopy();
tf.size = Size;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
_regen = true;
calcFrame();
}
public function get alignment():String{
return (_tf.defaultTextFormat.align);
}
protected function dtfCopy():TextFormat{
var dtf:TextFormat = _tf.defaultTextFormat;
return (new TextFormat(dtf.font, dtf.size, dtf.color, dtf.bold, dtf.italic, dtf.underline, dtf.url, dtf.target, dtf.align));
}
public function get text():String{
return (_tf.text);
}
public function get font():String{
return (_tf.defaultTextFormat.font);
}
public function set alignment(Alignment:String):void{
var tf:TextFormat = dtfCopy();
tf.align = Alignment;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
calcFrame();
}
public function set font(Font:String):void{
var tf:TextFormat = dtfCopy();
tf.font = Font;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
_regen = true;
calcFrame();
}
override protected function calcFrame():void{
var nl:uint;
var i:uint;
if ((((((_tf == null)) || ((_tf.text == null)))) || ((_tf.text.length <= 0)))){
_framePixels.fillRect(_flashRect, 0);
return;
};
if (_regen){
nl = _tf.numLines;
height = 0;
i = 0;
while (i < nl) {
height = (height + _tf.getLineMetrics(i).height);
i++;
};
height = (height + 4);
_framePixels = new BitmapData(width, height, true, 0);
frameHeight = height;
_tf.height = (height * 1.2);
_flashRect.x = 0;
_flashRect.y = 0;
_flashRect.width = width;
_flashRect.height = height;
_regen = false;
} else {
_framePixels.fillRect(_flashRect, 0);
};
var tf:TextFormat = _tf.defaultTextFormat;
var tfa:TextFormat = tf;
_mtx.identity();
if ((((tf.align == "center")) && ((_tf.numLines == 1)))){
tfa = new TextFormat(tf.font, tf.size, tf.color, null, null, null, null, null, "left");
_tf.setTextFormat(tfa);
_mtx.translate(Math.floor(((width - _tf.getLineMetrics(0).width) / 2)), 0);
};
if (_shadow > 0){
_tf.setTextFormat(new TextFormat(tfa.font, tfa.size, _shadow, null, null, null, null, null, tfa.align));
_mtx.translate(1, 1);
_framePixels.draw(_tf, _mtx, _ct);
_mtx.translate(-1, -1);
_tf.setTextFormat(new TextFormat(tfa.font, tfa.size, tfa.color, null, null, null, null, null, tfa.align));
};
_framePixels.draw(_tf, _mtx, _ct);
_tf.setTextFormat(new TextFormat(tf.font, tf.size, tf.color, null, null, null, null, null, tf.align));
if (solid){
refreshHulls();
};
}
public function setFormat(Font:String=null, Size:Number=8, Color:uint=0xFFFFFF, Alignment:String=null, ShadowColor:uint=0):FlxText{
if (Font == null){
Font = "";
};
var tf:TextFormat = dtfCopy();
tf.font = Font;
tf.size = Size;
tf.color = Color;
tf.align = Alignment;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
_shadow = ShadowColor;
_regen = true;
calcFrame();
return (this);
}
public function set text(Text:String):void{
_tf.text = Text;
_regen = true;
calcFrame();
}
}
}//package org.flixel
Section 364
//FlxTilemap (org.flixel.FlxTilemap)
package org.flixel {
import flash.display.*;
import flash.geom.*;
public class FlxTilemap extends FlxObject {
protected var _tileWidth:uint;
protected var _screenRows:uint;
protected var _data:Array;
public var startingIndex:uint;
protected var _pixels:BitmapData;
protected var _block:FlxObject;
protected var _callbacks:Array;
protected var _rects:Array;
protected var _tileHeight:uint;
public var totalTiles:uint;
protected var _screenCols:uint;
public var drawIndex:uint;
public var auto:uint;
protected var _flashRect:Rectangle;
public var heightInTiles:uint;
public var widthInTiles:uint;
public var collideIndex:uint;
public static const ALT:uint = 2;
public static const AUTO:uint = 1;
public static const OFF:uint = 0;
public static var ImgAutoAlt:Class = FlxTilemap_ImgAutoAlt;
public static var ImgAuto:Class = FlxTilemap_ImgAuto;
public function FlxTilemap(){
super();
auto = OFF;
collideIndex = 1;
startingIndex = 0;
drawIndex = 1;
widthInTiles = 0;
heightInTiles = 0;
totalTiles = 0;
_data = new Array();
_tileWidth = 0;
_tileHeight = 0;
_rects = null;
_pixels = null;
_block = new FlxObject();
_block.width = (_block.height = 0);
_block.fixed = true;
_callbacks = new Array();
fixed = true;
}
public function setTileByIndex(Index:uint, Tile:uint, UpdateGraphics:Boolean=true):void{
var i:uint;
_data[Index] = Tile;
if (!UpdateGraphics){
return;
};
if (auto == OFF){
updateTile(Index);
return;
};
var r:int = (int((Index / widthInTiles)) - 1);
var rl:int = (r + 3);
var c:int = ((Index % widthInTiles) - 1);
var cl:int = (c + 3);
while (r < rl) {
c = (cl - 3);
while (c < cl) {
if ((((((((r >= 0)) && ((r < heightInTiles)))) && ((c >= 0)))) && ((c < widthInTiles)))){
i = ((r * widthInTiles) + c);
autoTile(i);
updateTile(i);
};
c++;
};
r++;
};
}
public function getTile(X:uint, Y:uint):uint{
return (getTileByIndex(((Y * widthInTiles) + X)));
}
public function setCallback(Tile:uint, Callback:Function, Range:uint=1):void{
if (Range <= 0){
return;
};
var i:uint = Tile;
while (i < (Tile + Range)) {
_callbacks[i] = Callback;
i++;
};
}
override public function overlaps(Core:FlxObject):Boolean{
var c:uint;
var d:uint;
var i:uint;
var dd:uint;
var blocks:Array = new Array();
var ix:uint = Math.floor(((Core.x - x) / _tileWidth));
var iy:uint = Math.floor(((Core.y - y) / _tileHeight));
var iw:uint = (Math.ceil((Core.width / _tileWidth)) + 1);
var ih:uint = (Math.ceil((Core.height / _tileHeight)) + 1);
var r:uint;
while (r < ih) {
if ((((r < 0)) || ((r >= heightInTiles)))){
break;
};
d = (((iy + r) * widthInTiles) + ix);
c = 0;
while (c < iw) {
if ((((c < 0)) || ((c >= widthInTiles)))){
break;
};
dd = (_data[(d + c)] as uint);
if (dd >= collideIndex){
blocks.push({x:(x + ((ix + c) * _tileWidth)), y:(y + ((iy + r) * _tileHeight)), data:dd});
};
c++;
};
r++;
};
var bl:uint = blocks.length;
var hx:Boolean;
i = 0;
while (i < bl) {
_block.x = blocks[i].x;
_block.y = blocks[i].y;
if (_block.overlaps(Core)){
return (true);
};
i++;
};
return (false);
}
public function loadMap(MapData:String, TileGraphic:Class, TileWidth:uint=0, TileHeight:uint=0):FlxTilemap{
var c:uint;
var cols:Array;
var i:uint;
var rows:Array = MapData.split("\n");
heightInTiles = rows.length;
var r:uint;
while (r < heightInTiles) {
cols = rows[r].split(",");
if (cols.length <= 1){
heightInTiles--;
} else {
if (widthInTiles == 0){
widthInTiles = cols.length;
};
c = 0;
while (c < widthInTiles) {
_data.push(uint(cols[c]));
c++;
};
};
r++;
};
totalTiles = (widthInTiles * heightInTiles);
if (auto > OFF){
collideIndex = (startingIndex = (drawIndex = 1));
i = 0;
while (i < totalTiles) {
autoTile(i);
i++;
};
};
_pixels = FlxG.addBitmap(TileGraphic);
_tileWidth = TileWidth;
if (_tileWidth == 0){
_tileWidth = _pixels.height;
};
_tileHeight = TileHeight;
if (_tileHeight == 0){
_tileHeight = _tileWidth;
};
_block.width = _tileWidth;
_block.height = _tileHeight;
width = (widthInTiles * _tileWidth);
height = (heightInTiles * _tileHeight);
_rects = new Array(totalTiles);
i = 0;
while (i < totalTiles) {
updateTile(i);
i++;
};
_screenRows = (Math.ceil((FlxG.height / _tileHeight)) + 1);
if (_screenRows > heightInTiles){
_screenRows = heightInTiles;
};
_screenCols = (Math.ceil((FlxG.width / _tileWidth)) + 1);
if (_screenCols > widthInTiles){
_screenCols = widthInTiles;
};
refreshHulls();
return (this);
}
public function ray(StartX:Number, StartY:Number, EndX:Number, EndY:Number, Result:FlxPoint, Resolution:Number=1):Boolean{
var tx:uint;
var ty:uint;
var rx:Number;
var ry:Number;
var q:Number;
var lx:Number;
var ly:Number;
var step:Number = _tileWidth;
if (_tileHeight < _tileWidth){
step = _tileHeight;
};
step = (step / Resolution);
var dx:Number = (EndX - StartX);
var dy:Number = (EndY - StartY);
var distance:Number = Math.sqrt(((dx * dx) + (dy * dy)));
var steps:uint = Math.ceil((distance / step));
var stepX:Number = (dx / steps);
var stepY:Number = (dy / steps);
var curX:Number = (StartX - stepX);
var curY:Number = (StartY - stepY);
var i:uint;
while (i < steps) {
curX = (curX + stepX);
curY = (curY + stepY);
if ((((((((curX < 0)) || ((curX > width)))) || ((curY < 0)))) || ((curY > height)))){
} else {
tx = (curX / _tileWidth);
ty = (curY / _tileHeight);
if ((_data[((ty * widthInTiles) + tx)] as uint) >= collideIndex){
tx = (tx * _tileWidth);
ty = (ty * _tileHeight);
rx = 0;
ry = 0;
lx = (curX - stepX);
ly = (curY - stepY);
q = tx;
if (dx < 0){
q = (q + _tileWidth);
};
rx = q;
ry = (ly + (stepY * ((q - lx) / stepX)));
if ((((ry > ty)) && ((ry < (ty + _tileHeight))))){
if (Result == null){
Result = new FlxPoint();
};
Result.x = rx;
Result.y = ry;
return (true);
};
q = ty;
if (dy < 0){
q = (q + _tileHeight);
};
rx = (lx + (stepX * ((q - ly) / stepY)));
ry = q;
if ((((rx > tx)) && ((rx < (tx + _tileWidth))))){
if (Result == null){
Result = new FlxPoint();
};
Result.x = rx;
Result.y = ry;
return (true);
};
return (false);
};
};
i++;
};
return (false);
}
override public function preCollide(Object:FlxObject):void{
var c:uint;
var d:uint;
colOffsets.length = 0;
var ix:uint = FlxU.floor(((Object.x - x) / _tileWidth));
var iy:uint = FlxU.floor(((Object.y - y) / _tileHeight));
var iw:uint = (FlxU.ceil((Object.width / _tileWidth)) + 1);
var ih:uint = (FlxU.ceil((Object.height / _tileHeight)) + 1);
var r:uint;
while (r < ih) {
if ((((r < 0)) || ((r >= heightInTiles)))){
break;
};
d = (((iy + r) * widthInTiles) + ix);
c = 0;
while (c < iw) {
if ((((c < 0)) || ((c >= widthInTiles)))){
break;
};
if ((_data[(d + c)] as uint) >= collideIndex){
colOffsets.push(new FlxPoint((x + ((ix + c) * _tileWidth)), (y + ((iy + r) * _tileHeight))));
};
c++;
};
r++;
};
}
override public function render():void{
renderTilemap();
}
protected function updateTile(Index:uint):void{
if (_data[Index] < drawIndex){
_rects[Index] = null;
return;
};
var rx:uint = ((_data[Index] - startingIndex) * _tileWidth);
var ry:uint;
if (rx >= _pixels.width){
ry = (uint((rx / _pixels.width)) * _tileHeight);
rx = (rx % _pixels.width);
};
_rects[Index] = new Rectangle(rx, ry, _tileWidth, _tileHeight);
}
override public function refreshHulls():void{
colHullX.x = 0;
colHullX.y = 0;
colHullX.width = _tileWidth;
colHullX.height = _tileHeight;
colHullY.x = 0;
colHullY.y = 0;
colHullY.width = _tileWidth;
colHullY.height = _tileHeight;
}
public function setTile(X:uint, Y:uint, Tile:uint, UpdateGraphics:Boolean=true):void{
setTileByIndex(((Y * widthInTiles) + X), Tile, UpdateGraphics);
}
public function follow():void{
FlxG.followBounds(x, y, width, height);
}
protected function renderTilemap():void{
var c:uint;
var cri:uint;
getScreenXY(_point);
_flashPoint.x = _point.x;
_flashPoint.y = _point.y;
var tx:int = Math.floor((-(_flashPoint.x) / _tileWidth));
var ty:int = Math.floor((-(_flashPoint.y) / _tileHeight));
if (tx < 0){
tx = 0;
};
if (tx > (widthInTiles - _screenCols)){
tx = (widthInTiles - _screenCols);
};
if (ty < 0){
ty = 0;
};
if (ty > (heightInTiles - _screenRows)){
ty = (heightInTiles - _screenRows);
};
var ri:int = ((ty * widthInTiles) + tx);
_flashPoint.x = (_flashPoint.x + (tx * _tileWidth));
_flashPoint.y = (_flashPoint.y + (ty * _tileHeight));
var opx:int = _flashPoint.x;
var r:uint;
while (r < _screenRows) {
cri = ri;
c = 0;
while (c < _screenCols) {
var _temp1 = cri;
cri = (cri + 1);
_flashRect = (_rects[_temp1] as Rectangle);
if (_flashRect != null){
FlxG.buffer.copyPixels(_pixels, _flashRect, _flashPoint, null, null, true);
};
_flashPoint.x = (_flashPoint.x + _tileWidth);
c++;
};
ri = (ri + widthInTiles);
_flashPoint.x = opx;
_flashPoint.y = (_flashPoint.y + _tileHeight);
r++;
};
}
protected function autoTile(Index:uint):void{
if (_data[Index] == 0){
return;
};
_data[Index] = 0;
if (((((Index - widthInTiles) < 0)) || ((_data[(Index - widthInTiles)] > 0)))){
_data[Index] = (_data[Index] + 1);
};
if (((((Index % widthInTiles) >= (widthInTiles - 1))) || ((_data[(Index + 1)] > 0)))){
_data[Index] = (_data[Index] + 2);
};
if (((((Index + widthInTiles) >= totalTiles)) || ((_data[(Index + widthInTiles)] > 0)))){
_data[Index] = (_data[Index] + 4);
};
if (((((Index % widthInTiles) <= 0)) || ((_data[(Index - 1)] > 0)))){
_data[Index] = (_data[Index] + 8);
};
if ((((auto == ALT)) && ((_data[Index] == 15)))){
if (((((((Index % widthInTiles) > 0)) && (((Index + widthInTiles) < totalTiles)))) && ((_data[((Index + widthInTiles) - 1)] <= 0)))){
_data[Index] = 1;
};
if (((((((Index % widthInTiles) > 0)) && (((Index - widthInTiles) >= 0)))) && ((_data[((Index - widthInTiles) - 1)] <= 0)))){
_data[Index] = 2;
};
if (((((((Index % widthInTiles) < widthInTiles)) && (((Index - widthInTiles) >= 0)))) && ((_data[((Index - widthInTiles) + 1)] <= 0)))){
_data[Index] = 4;
};
if (((((((Index % widthInTiles) < widthInTiles)) && (((Index + widthInTiles) < totalTiles)))) && ((_data[((Index + widthInTiles) + 1)] <= 0)))){
_data[Index] = 8;
};
};
_data[Index] = (_data[Index] + 1);
}
public function getTileByIndex(Index:uint):uint{
return ((_data[Index] as uint));
}
public static function arrayToCSV(Data:Array, Width:int):String{
var r:uint;
var c:uint;
var csv:String;
var Height:int = (Data.length / Width);
r = 0;
while (r < Height) {
c = 0;
while (c < Width) {
if (c == 0){
if (r == 0){
csv = (csv + Data[0]);
} else {
csv = (csv + ("\n" + Data[(r * Width)]));
};
} else {
csv = (csv + (", " + Data[((r * Width) + c)]));
};
c++;
};
r++;
};
return (csv);
}
public static function pngToCSV(PNGFile:Class, Invert:Boolean=false, Scale:uint=1):String{
var layout:Bitmap;
var r:uint;
var c:uint;
var p:uint;
var csv:String;
var tmp:Bitmap;
var mtx:Matrix;
if (Scale <= 1){
layout = new (PNGFile);
} else {
tmp = new (PNGFile);
layout = new Bitmap(new BitmapData((tmp.width * Scale), (tmp.height * Scale)));
mtx = new Matrix();
mtx.scale(Scale, Scale);
layout.bitmapData.draw(tmp, mtx);
};
var bd:BitmapData = layout.bitmapData;
var w:uint = layout.width;
var h:uint = layout.height;
r = 0;
while (r < h) {
c = 0;
while (c < w) {
p = bd.getPixel(c, r);
if (((((Invert) && ((p > 0)))) || (((!(Invert)) && ((p == 0)))))){
p = 1;
} else {
p = 0;
};
if (c == 0){
if (r == 0){
csv = (csv + p);
} else {
csv = (csv + ("\n" + p));
};
} else {
csv = (csv + (", " + p));
};
c++;
};
r++;
};
return (csv);
}
}
}//package org.flixel
Section 365
//FlxTilemap_ImgAuto (org.flixel.FlxTilemap_ImgAuto)
package org.flixel {
import mx.core.*;
public class FlxTilemap_ImgAuto extends BitmapAsset {
}
}//package org.flixel
Section 366
//FlxTilemap_ImgAutoAlt (org.flixel.FlxTilemap_ImgAutoAlt)
package org.flixel {
import mx.core.*;
public class FlxTilemap_ImgAutoAlt extends BitmapAsset {
}
}//package org.flixel
Section 367
//FlxU (org.flixel.FlxU)
package org.flixel {
import flash.net.*;
import flash.utils.*;
public class FlxU {
protected static var _originalSeed:Number;
public static var quadTree:FlxQuadTree;
protected static var _seed:Number;
static var roundingError:Number = 1E-7;
public static var quadTreeBounds:FlxRect;
public function FlxU(){
super();
}
public static function random(UseGlobalSeed:Boolean=true):Number{
var random:Number;
if (((UseGlobalSeed) && (!(isNaN(_seed))))){
random = randomize(_seed);
_seed = mutate(_seed, random);
return (random);
};
return (Math.random());
}
public static function mutate(Seed:Number, Mutator:Number):Number{
Seed = (Seed + Mutator);
if (Seed > 1){
Seed = (Seed - int(Seed));
};
return (Seed);
}
public static function overlap(Object1:FlxObject, Object2:FlxObject, Callback:Function=null):Boolean{
if ((((((((Object1 == null)) || (!(Object1.exists)))) || ((Object2 == null)))) || (!(Object2.exists)))){
return (false);
};
quadTree = new FlxQuadTree(quadTreeBounds.x, quadTreeBounds.y, quadTreeBounds.width, quadTreeBounds.height);
quadTree.add(Object1, FlxQuadTree.A_LIST);
if (Object1 === Object2){
return (quadTree.overlap(false, Callback));
};
quadTree.add(Object2, FlxQuadTree.B_LIST);
return (quadTree.overlap(true, Callback));
}
public static function getClass(Name:String):Class{
return ((getDefinitionByName(Name) as Class));
}
public static function openURL(URL:String):void{
navigateToURL(new URLRequest(URL), "_blank");
}
public static function floor(N:Number):Number{
var n:Number = int(N);
return (((N)>0) ? n : ((n)!=N) ? (n - 1) : n);
}
public static function solveYCollision(Object1:FlxObject, Object2:FlxObject):Boolean{
var overlap:Number;
var p1hn2:Boolean;
var i1:uint;
var i2:uint;
var ox1:Number;
var oy1:Number;
var ox2:Number;
var oy2:Number;
var r1:Number;
var r2:Number;
var sv1:Number;
var sv2:Number;
var o1:Number = Object1.colVector.y;
var o2:Number = Object2.colVector.y;
if (o1 == o2){
return (false);
};
Object1.preCollide(Object2);
Object2.preCollide(Object1);
var hit:Boolean;
var obj1Stopped = (o1 == 0);
var obj1MoveNeg = (o1 < 0);
var obj1MovePos = (o1 > 0);
var obj2Stopped = (o2 == 0);
var obj2MoveNeg = (o2 < 0);
var obj2MovePos = (o2 > 0);
var obj1Hull:FlxRect = Object1.colHullY;
var obj2Hull:FlxRect = Object2.colHullY;
var co1:Array = Object1.colOffsets;
var co2:Array = Object2.colOffsets;
var l1:uint = co1.length;
var l2:uint = co2.length;
p1hn2 = ((((((((((obj1Stopped) && (obj2MoveNeg))) || (((obj1MovePos) && (obj2Stopped))))) || (((obj1MovePos) && (obj2MoveNeg))))) || (((((obj1MoveNeg) && (obj2MoveNeg))) && ((((o1)>0) ? o1 : -(o1) < ((o2)>0) ? o2 : -(o2))))))) || (((((obj1MovePos) && (obj2MovePos))) && ((((o1)>0) ? o1 : -(o1) > ((o2)>0) ? o2 : -(o2))))));
if ((p1hn2) ? ((!(Object1.collideBottom)) || (!(Object2.collideTop))) : ((!(Object1.collideTop)) || (!(Object2.collideBottom)))){
return (false);
};
i1 = 0;
while (i1 < l1) {
ox1 = co1[i1].x;
oy1 = co1[i1].y;
obj1Hull.x = (obj1Hull.x + ox1);
obj1Hull.y = (obj1Hull.y + oy1);
i2 = 0;
while (i2 < l2) {
ox2 = co2[i2].x;
oy2 = co2[i2].y;
obj2Hull.x = (obj2Hull.x + ox2);
obj2Hull.y = (obj2Hull.y + oy2);
if (((((((((obj1Hull.x + obj1Hull.width) < (obj2Hull.x + roundingError))) || (((obj1Hull.x + roundingError) > (obj2Hull.x + obj2Hull.width))))) || (((obj1Hull.y + obj1Hull.height) < (obj2Hull.y + roundingError))))) || (((obj1Hull.y + roundingError) > (obj2Hull.y + obj2Hull.height))))){
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
} else {
if (p1hn2){
if (obj1MoveNeg){
r1 = (obj1Hull.y + Object1.colHullX.height);
} else {
r1 = (obj1Hull.y + obj1Hull.height);
};
if (obj2MoveNeg){
r2 = obj2Hull.y;
} else {
r2 = ((obj2Hull.y + obj2Hull.height) - Object2.colHullX.height);
};
} else {
if (obj2MoveNeg){
r1 = (-(obj2Hull.y) - Object2.colHullX.height);
} else {
r1 = (-(obj2Hull.y) - obj2Hull.height);
};
if (obj1MoveNeg){
r2 = -(obj1Hull.y);
} else {
r2 = ((-(obj1Hull.y) - obj1Hull.height) + Object1.colHullX.height);
};
};
overlap = (r1 - r2);
if ((((((overlap == 0)) || (((!(Object1.fixed)) && ((((overlap)>0) ? overlap : -(overlap) > (obj1Hull.height * 0.8))))))) || (((!(Object2.fixed)) && ((((overlap)>0) ? overlap : -(overlap) > (obj2Hull.height * 0.8))))))){
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
} else {
hit = true;
sv1 = Object2.velocity.y;
sv2 = Object1.velocity.y;
if (((!(Object1.fixed)) && (Object2.fixed))){
if (Object1._group){
Object1.reset(Object1.x, (Object1.y - overlap));
} else {
Object1.y = (Object1.y - overlap);
};
} else {
if (((Object1.fixed) && (!(Object2.fixed)))){
if (Object2._group){
Object2.reset(Object2.x, (Object2.y + overlap));
} else {
Object2.y = (Object2.y + overlap);
};
} else {
if (((!(Object1.fixed)) && (!(Object2.fixed)))){
overlap = (overlap / 2);
if (Object1._group){
Object1.reset(Object1.x, (Object1.y - overlap));
} else {
Object1.y = (Object1.y - overlap);
};
if (Object2._group){
Object2.reset(Object2.x, (Object2.y + overlap));
} else {
Object2.y = (Object2.y + overlap);
};
sv1 = (sv1 / 2);
sv2 = (sv2 / 2);
};
};
};
if (p1hn2){
Object1.hitBottom(Object2, sv1);
Object2.hitTop(Object1, sv2);
} else {
Object1.hitTop(Object2, sv1);
Object2.hitBottom(Object1, sv2);
};
if (((!(Object1.fixed)) && (!((overlap == 0))))){
if (p1hn2){
obj1Hull.y = (obj1Hull.y - overlap);
if (((Object2.fixed) && (Object2.moves))){
sv1 = Object2.colVector.x;
Object1.x = (Object1.x + sv1);
obj1Hull.x = (obj1Hull.x + sv1);
Object1.colHullX.x = (Object1.colHullX.x + sv1);
};
} else {
obj1Hull.y = (obj1Hull.y - overlap);
obj1Hull.height = (obj1Hull.height + overlap);
};
};
if (((!(Object2.fixed)) && (!((overlap == 0))))){
if (p1hn2){
obj2Hull.y = (obj2Hull.y + overlap);
obj2Hull.height = (obj2Hull.height - overlap);
} else {
obj2Hull.height = (obj2Hull.height + overlap);
if (((Object1.fixed) && (Object1.moves))){
sv2 = Object1.colVector.x;
Object2.x = (Object2.x + sv2);
obj2Hull.x = (obj2Hull.x + sv2);
Object2.colHullX.x = (Object2.colHullX.x + sv2);
};
};
};
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
};
};
i2++;
};
obj1Hull.x = (obj1Hull.x - ox1);
obj1Hull.y = (obj1Hull.y - oy1);
i1++;
};
return (hit);
}
public static function ceil(N:Number):Number{
var n:Number = int(N);
return (((N)>0) ? ((n)!=N) ? (n + 1) : n : n);
}
public static function getAngle(X:Number, Y:Number):Number{
return (((Math.atan2(Y, X) * 180) / Math.PI));
}
public static function setWorldBounds(X:Number=0, Y:Number=0, Width:Number=0, Height:Number=0):void{
if ((((((((X == 0)) && ((Y == 0)))) && ((Width == 0)))) && ((Height == 0)))){
X = (-128 * FlxG.width);
Y = (-128 * FlxG.height);
Width = (0x0100 * FlxG.width);
Height = (0x0100 * FlxG.height);
};
if (quadTreeBounds == null){
quadTreeBounds = new FlxRect();
};
quadTreeBounds.x = X;
quadTreeBounds.y = Y;
if (Width != 0){
quadTreeBounds.width = Width;
};
if (Height != 0){
quadTreeBounds.height = Height;
};
}
public static function set seed(Seed:Number):void{
_seed = Seed;
_originalSeed = _seed;
}
public static function getClassName(Obj:Object, Simple:Boolean=false):String{
var s:String = getQualifiedClassName(Obj);
s = s.replace("::", ".");
if (Simple){
s = s.substr((s.lastIndexOf(".") + 1));
};
return (s);
}
public static function randomize(Seed:Number):Number{
return ((((69621 * int((Seed * 2147483647))) % 2147483647) / 2147483647));
}
public static function abs(N:Number):Number{
return (((N)>0) ? N : -(N));
}
public static function computeVelocity(Velocity:Number, Acceleration:Number=0, Drag:Number=0, Max:Number=10000):Number{
var d:Number;
if (Acceleration != 0){
Velocity = (Velocity + (Acceleration * FlxG.elapsed));
} else {
if (Drag != 0){
d = (Drag * FlxG.elapsed);
if ((Velocity - d) > 0){
Velocity = (Velocity - d);
} else {
if ((Velocity + d) < 0){
Velocity = (Velocity + d);
} else {
Velocity = 0;
};
};
};
};
if (((!((Velocity == 0))) && (!((Max == 10000))))){
if (Velocity > Max){
Velocity = Max;
} else {
if (Velocity < -(Max)){
Velocity = -(Max);
};
};
};
return (Velocity);
}
public static function rotatePoint(X:Number, Y:Number, PivotX:Number, PivotY:Number, Angle:Number, P:FlxPoint=null):FlxPoint{
if (P == null){
P = new FlxPoint();
};
var radians:Number = ((-(Angle) / 180) * Math.PI);
var dx:Number = (X - PivotX);
var dy:Number = (PivotY - Y);
P.x = ((PivotX + (Math.cos(radians) * dx)) - (Math.sin(radians) * dy));
P.y = (PivotY - ((Math.sin(radians) * dx) + (Math.cos(radians) * dy)));
return (P);
}
public static function get seed():Number{
return (_originalSeed);
}
public static function solveXCollision(Object1:FlxObject, Object2:FlxObject):Boolean{
var f1:Boolean;
var f2:Boolean;
var overlap:Number;
var p1hn2:Boolean;
var i1:uint;
var i2:uint;
var ox1:Number;
var oy1:Number;
var ox2:Number;
var oy2:Number;
var r1:Number;
var r2:Number;
var sv1:Number;
var sv2:Number;
var o1:Number = Object1.colVector.x;
var o2:Number = Object2.colVector.x;
if (o1 == o2){
return (false);
};
Object1.preCollide(Object2);
Object2.preCollide(Object1);
var hit:Boolean;
var obj1Stopped = (o1 == 0);
var obj1MoveNeg = (o1 < 0);
var obj1MovePos = (o1 > 0);
var obj2Stopped = (o2 == 0);
var obj2MoveNeg = (o2 < 0);
var obj2MovePos = (o2 > 0);
var obj1Hull:FlxRect = Object1.colHullX;
var obj2Hull:FlxRect = Object2.colHullX;
var co1:Array = Object1.colOffsets;
var co2:Array = Object2.colOffsets;
var l1:uint = co1.length;
var l2:uint = co2.length;
p1hn2 = ((((((((((obj1Stopped) && (obj2MoveNeg))) || (((obj1MovePos) && (obj2Stopped))))) || (((obj1MovePos) && (obj2MoveNeg))))) || (((((obj1MoveNeg) && (obj2MoveNeg))) && ((((o1)>0) ? o1 : -(o1) < ((o2)>0) ? o2 : -(o2))))))) || (((((obj1MovePos) && (obj2MovePos))) && ((((o1)>0) ? o1 : -(o1) > ((o2)>0) ? o2 : -(o2))))));
if ((p1hn2) ? ((!(Object1.collideRight)) || (!(Object2.collideLeft))) : ((!(Object1.collideLeft)) || (!(Object2.collideRight)))){
return (false);
};
i1 = 0;
while (i1 < l1) {
ox1 = co1[i1].x;
oy1 = co1[i1].y;
obj1Hull.x = (obj1Hull.x + ox1);
obj1Hull.y = (obj1Hull.y + oy1);
i2 = 0;
while (i2 < l2) {
ox2 = co2[i2].x;
oy2 = co2[i2].y;
obj2Hull.x = (obj2Hull.x + ox2);
obj2Hull.y = (obj2Hull.y + oy2);
if (((((((((obj1Hull.x + obj1Hull.width) < (obj2Hull.x + roundingError))) || (((obj1Hull.x + roundingError) > (obj2Hull.x + obj2Hull.width))))) || (((obj1Hull.y + obj1Hull.height) < (obj2Hull.y + roundingError))))) || (((obj1Hull.y + roundingError) > (obj2Hull.y + obj2Hull.height))))){
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
} else {
if (p1hn2){
if (obj1MoveNeg){
r1 = (obj1Hull.x + Object1.colHullY.width);
} else {
r1 = (obj1Hull.x + obj1Hull.width);
};
if (obj2MoveNeg){
r2 = obj2Hull.x;
} else {
r2 = ((obj2Hull.x + obj2Hull.width) - Object2.colHullY.width);
};
} else {
if (obj2MoveNeg){
r1 = (-(obj2Hull.x) - Object2.colHullY.width);
} else {
r1 = (-(obj2Hull.x) - obj2Hull.width);
};
if (obj1MoveNeg){
r2 = -(obj1Hull.x);
} else {
r2 = ((-(obj1Hull.x) - obj1Hull.width) + Object1.colHullY.width);
};
};
overlap = (r1 - r2);
if ((((((overlap == 0)) || (((!(Object1.fixed)) && ((((overlap)>0) ? overlap : -(overlap) > (obj1Hull.width * 0.8))))))) || (((!(Object2.fixed)) && ((((overlap)>0) ? overlap : -(overlap) > (obj2Hull.width * 0.8))))))){
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
} else {
hit = true;
sv1 = Object2.velocity.x;
sv2 = Object1.velocity.x;
if (((!(Object1.fixed)) && (Object2.fixed))){
if (Object1._group){
Object1.reset((Object1.x - overlap), Object1.y);
} else {
Object1.x = (Object1.x - overlap);
};
} else {
if (((Object1.fixed) && (!(Object2.fixed)))){
if (Object2._group){
Object2.reset((Object2.x + overlap), Object2.y);
} else {
Object2.x = (Object2.x + overlap);
};
} else {
if (((!(Object1.fixed)) && (!(Object2.fixed)))){
overlap = (overlap / 2);
if (Object1._group){
Object1.reset((Object1.x - overlap), Object1.y);
} else {
Object1.x = (Object1.x - overlap);
};
if (Object2._group){
Object2.reset((Object2.x + overlap), Object2.y);
} else {
Object2.x = (Object2.x + overlap);
};
sv1 = (sv1 / 2);
sv2 = (sv2 / 2);
};
};
};
if (p1hn2){
Object1.hitRight(Object2, sv1);
Object2.hitLeft(Object1, sv2);
} else {
Object1.hitLeft(Object2, sv1);
Object2.hitRight(Object1, sv2);
};
if (((!(Object1.fixed)) && (!((overlap == 0))))){
if (p1hn2){
obj1Hull.width = (obj1Hull.width - overlap);
} else {
obj1Hull.x = (obj1Hull.x - overlap);
obj1Hull.width = (obj1Hull.width + overlap);
};
Object1.colHullY.x = (Object1.colHullY.x - overlap);
};
if (((!(Object2.fixed)) && (!((overlap == 0))))){
if (p1hn2){
obj2Hull.x = (obj2Hull.x + overlap);
obj2Hull.width = (obj2Hull.width - overlap);
} else {
obj2Hull.width = (obj2Hull.width + overlap);
};
Object2.colHullY.x = (Object2.colHullY.x + overlap);
};
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
};
};
i2++;
};
obj1Hull.x = (obj1Hull.x - ox1);
obj1Hull.y = (obj1Hull.y - oy1);
i1++;
};
return (hit);
}
public static function collide(Object1:FlxObject, Object2:FlxObject):Boolean{
if ((((((((Object1 == null)) || (!(Object1.exists)))) || ((Object2 == null)))) || (!(Object2.exists)))){
return (false);
};
quadTree = new FlxQuadTree(quadTreeBounds.x, quadTreeBounds.y, quadTreeBounds.width, quadTreeBounds.height);
quadTree.add(Object1, FlxQuadTree.A_LIST);
var match = (Object1 === Object2);
if (!match){
quadTree.add(Object2, FlxQuadTree.B_LIST);
};
var cx:Boolean = quadTree.overlap(!(match), solveXCollision);
var cy:Boolean = quadTree.overlap(!(match), solveYCollision);
return (((cx) || (cy)));
}
}
}//package org.flixel
Section 368
//_activeButtonStyleStyle (_activeButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeButtonStyleStyle {
public static function init(_activeButtonStyleStyle:IFlexModuleFactory):void{
var fbs = _activeButtonStyleStyle;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 369
//_activeTabStyleStyle (_activeTabStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeTabStyleStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeTabStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeTabStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 370
//_alertButtonStyleStyle (_alertButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _alertButtonStyleStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".alertButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".alertButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 734012;
};
};
}
}
}//package
Section 371
//_comboDropdownStyle (_comboDropdownStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _comboDropdownStyle {
public static function init(leading:IFlexModuleFactory):void{
var fbs = leading;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".comboDropdown");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".comboDropdown", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.shadowDirection = "center";
this.fontWeight = "normal";
this.dropShadowEnabled = true;
this.leading = 0;
this.backgroundColor = 0xFFFFFF;
this.shadowDistance = 1;
this.cornerRadius = 0;
this.borderThickness = 0;
this.paddingLeft = 5;
this.paddingRight = 5;
};
};
}
}
}//package
Section 372
//_dataGridStylesStyle (_dataGridStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dataGridStylesStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dataGridStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dataGridStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 373
//_dateFieldPopupStyle (_dateFieldPopupStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dateFieldPopupStyle {
public static function init(_dateFieldPopupStyle.as$3:IFlexModuleFactory):void{
var fbs = _dateFieldPopupStyle.as$3;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dateFieldPopup");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dateFieldPopup", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.dropShadowEnabled = true;
this.backgroundColor = 0xFFFFFF;
this.borderThickness = 0;
};
};
}
}
}//package
Section 374
//_errorTipStyle (_errorTipStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _errorTipStyle {
public static function init(borderColor:IFlexModuleFactory):void{
var fbs = borderColor;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".errorTip");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".errorTip", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.borderStyle = "errorTipRight";
this.paddingTop = 4;
this.borderColor = 13510953;
this.color = 0xFFFFFF;
this.fontSize = 9;
this.shadowColor = 0;
this.paddingLeft = 4;
this.paddingBottom = 4;
this.paddingRight = 4;
};
};
}
}
}//package
Section 375
//_globalStyle (_globalStyle)
package {
import mx.core.*;
import mx.styles.*;
import mx.skins.halo.*;
public class _globalStyle {
public static function init(horizontalGridLines:IFlexModuleFactory):void{
var fbs = horizontalGridLines;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration("global", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fillColor = 0xFFFFFF;
this.kerning = false;
this.iconColor = 0x111111;
this.textRollOverColor = 2831164;
this.horizontalAlign = "left";
this.shadowCapColor = 14015965;
this.backgroundAlpha = 1;
this.filled = true;
this.textDecoration = "none";
this.roundedBottomCorners = true;
this.fontThickness = 0;
this.focusBlendMode = "normal";
this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE];
this.horizontalGap = 8;
this.borderCapColor = 9542041;
this.buttonColor = 7305079;
this.indentation = 17;
this.selectionDisabledColor = 0xDDDDDD;
this.closeDuration = 250;
this.embedFonts = false;
this.paddingTop = 0;
this.letterSpacing = 0;
this.focusAlpha = 0.4;
this.bevel = true;
this.fontSize = 10;
this.shadowColor = 0xEEEEEE;
this.borderAlpha = 1;
this.paddingLeft = 0;
this.fontWeight = "normal";
this.indicatorGap = 14;
this.focusSkin = HaloFocusRect;
this.dropShadowEnabled = false;
this.leading = 2;
this.borderSkin = HaloBorder;
this.fontSharpness = 0;
this.modalTransparencyDuration = 100;
this.borderThickness = 1;
this.backgroundSize = "auto";
this.borderStyle = "inset";
this.borderColor = 12040892;
this.fontAntiAliasType = "advanced";
this.errorColor = 0xFF0000;
this.shadowDistance = 2;
this.horizontalGridLineColor = 0xF7F7F7;
this.stroked = false;
this.modalTransparencyColor = 0xDDDDDD;
this.cornerRadius = 0;
this.verticalAlign = "top";
this.textIndent = 0;
this.fillAlphas = [0.6, 0.4, 0.75, 0.65];
this.verticalGridLineColor = 14015965;
this.themeColor = 40447;
this.version = "3.0.0";
this.shadowDirection = "center";
this.modalTransparency = 0.5;
this.repeatInterval = 35;
this.openDuration = 250;
this.textAlign = "left";
this.fontFamily = "Verdana";
this.textSelectedColor = 2831164;
this.paddingBottom = 0;
this.strokeWidth = 1;
this.fontGridFitType = "pixel";
this.horizontalGridLines = false;
this.useRollOver = true;
this.verticalGridLines = true;
this.repeatDelay = 500;
this.fontStyle = "normal";
this.dropShadowColor = 0;
this.focusThickness = 2;
this.verticalGap = 6;
this.disabledColor = 11187123;
this.paddingRight = 0;
this.focusRoundedCorners = "tl tr bl br";
this.borderSides = "left top right bottom";
this.disabledIconColor = 0x999999;
this.modalTransparencyBlur = 3;
this.color = 734012;
this.selectionDuration = 250;
this.highlightAlphas = [0.3, 0];
};
};
}
}
}//package
Section 376
//_headerDateTextStyle (_headerDateTextStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDateTextStyle {
public static function init(bold:IFlexModuleFactory):void{
var fbs = bold;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDateText");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDateText", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 377
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDragProxyStyleStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDragProxyStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDragProxyStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 378
//_linkButtonStyleStyle (_linkButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _linkButtonStyleStyle {
public static function init(http://adobe.com/AS3/2006/builtin:IFlexModuleFactory):void{
var fbs = http://adobe.com/AS3/2006/builtin;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".linkButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".linkButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 2;
this.paddingLeft = 2;
this.paddingBottom = 2;
this.paddingRight = 2;
};
};
}
}
}//package
Section 379
//_opaquePanelStyle (_opaquePanelStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _opaquePanelStyle {
public static function init(Object:IFlexModuleFactory):void{
var fbs = Object;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".opaquePanel");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".opaquePanel", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderColor = 0xFFFFFF;
this.backgroundColor = 0xFFFFFF;
this.headerColors = [0xE7E7E7, 0xD9D9D9];
this.footerColors = [0xE7E7E7, 0xC7C7C7];
this.borderAlpha = 1;
};
};
}
}
}//package
Section 380
//_plainStyle (_plainStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _plainStyle {
public static function init(backgroundImage:IFlexModuleFactory):void{
var fbs = backgroundImage;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".plain");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".plain", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 0;
this.backgroundColor = 0xFFFFFF;
this.backgroundImage = "";
this.horizontalAlign = "left";
this.paddingLeft = 0;
this.paddingBottom = 0;
this.paddingRight = 0;
};
};
}
}
}//package
Section 381
//_popUpMenuStyle (_popUpMenuStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _popUpMenuStyle {
public static function init(normal:IFlexModuleFactory):void{
var fbs = normal;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".popUpMenu");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".popUpMenu", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "normal";
this.textAlign = "left";
};
};
}
}
}//package
Section 382
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _richTextEditorTextAreaStyleStyle {
public static function init(_richTextEditorTextAreaStyleStyle:IFlexModuleFactory):void{
var fbs = _richTextEditorTextAreaStyleStyle;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".richTextEditorTextAreaStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".richTextEditorTextAreaStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 383
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _swatchPanelTextFieldStyle {
public static function init(shadowCapColor:IFlexModuleFactory):void{
var fbs = shadowCapColor;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".swatchPanelTextField");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".swatchPanelTextField", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderStyle = "inset";
this.borderColor = 14015965;
this.highlightColor = 12897484;
this.backgroundColor = 0xFFFFFF;
this.shadowCapColor = 14015965;
this.shadowColor = 14015965;
this.paddingLeft = 5;
this.buttonColor = 7305079;
this.borderCapColor = 9542041;
this.paddingRight = 5;
};
};
}
}
}//package
Section 384
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaHScrollBarStyleStyle {
public static function init(_textAreaHScrollBarStyleStyle:IFlexModuleFactory):void{
var fbs = _textAreaHScrollBarStyleStyle;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaHScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaHScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 385
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaVScrollBarStyleStyle {
public static function init(_textAreaVScrollBarStyleStyle:IFlexModuleFactory):void{
var fbs = _textAreaVScrollBarStyleStyle;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaVScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaVScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 386
//_todayStyleStyle (_todayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _todayStyleStyle {
public static function init(color:IFlexModuleFactory):void{
var fbs = color;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".todayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".todayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0xFFFFFF;
this.textAlign = "center";
};
};
}
}
}//package
Section 387
//_weekDayStyleStyle (_weekDayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _weekDayStyleStyle {
public static function init(bold:IFlexModuleFactory):void{
var fbs = bold;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".weekDayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".weekDayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 388
//_windowStatusStyle (_windowStatusStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStatusStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStatus");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStatus", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0x666666;
};
};
}
}
}//package
Section 389
//_windowStylesStyle (_windowStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStylesStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 390
//en_US$core_properties (en_US$core_properties)
package {
import mx.resources.*;
public class en_US$core_properties extends ResourceBundle {
public function en_US$core_properties(){
super("en_US", "core");
}
override protected function getContent():Object{
var _local1:Object = {multipleChildSets_ClassAndInstance:"Multiple sets of visual children have been specified for this component (component definition and component instance).", truncationIndicator:"...", notExecuting:"Repeater is not executing.", versionAlreadyRead:"Compatibility version has already been read.", multipleChildSets_ClassAndSubclass:"Multiple sets of visual children have been specified for this component (base component definition and derived component definition).", viewSource:"View Source", badFile:"File does not exist.", stateUndefined:"Undefined state '{0}'.", versionAlreadySet:"Compatibility version has already been set."};
return (_local1);
}
}
}//package
Section 391
//en_US$skins_properties (en_US$skins_properties)
package {
import mx.resources.*;
public class en_US$skins_properties extends ResourceBundle {
public function en_US$skins_properties(){
super("en_US", "skins");
}
override protected function getContent():Object{
var _local1:Object = {notLoaded:"Unable to load '{0}'."};
return (_local1);
}
}
}//package
Section 392
//en_US$styles_properties (en_US$styles_properties)
package {
import mx.resources.*;
public class en_US$styles_properties extends ResourceBundle {
public function en_US$styles_properties(){
super("en_US", "styles");
}
override protected function getContent():Object{
var _local1:Object = {unableToLoad:"Unable to load style({0}): {1}."};
return (_local1);
}
}
}//package
Section 393
//Main (Main)
package {
import org.flixel.*;
import com.hito.*;
public dynamic class Main extends FlxGame {
public function Main():void{
super(640, 480, Sponsor, 1);
FlxG.mouse.show();
}
}
}//package
Section 394
//Preloader (Preloader)
package {
import org.flixel.*;
public class Preloader extends FlxPreloader {
private var did_load:Boolean;
public static var GAME_OPTIONS:Object = {id:"4140856751f99d75", res:"640x480"};
public static var MAIN_CLASS:String = "Main";
public function Preloader(){
className = "Main";
super();
}
}
}//package