Frame 2
Main.main(this);
Symbol 7 Button
on (release) {
getURL ("http://www.mochibot.com", "_blank");
}
Symbol 20480 MovieClip [__Packages.PreloadStatus] Frame 0
class PreloadStatus
{
function PreloadStatus () {
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20481 MovieClip [__Packages.org.flashdevelop.utils.TraceLevel] Frame 0
class org.flashdevelop.utils.TraceLevel
{
function TraceLevel () {
}
static var INFO = 0;
static var DEBUG = 1;
static var WARNING = 2;
static var ERROR = 3;
static var FATAL = 4;
}
Symbol 20482 MovieClip [__Packages.Preloader] Frame 0
class Preloader
{
static var simulate, preloaderClass, initID, instance;
var simulateLoaded, intervalID, lvArray;
function Preloader () {
if (simulate) {
simulateLoaded = 0;
intervalID = _global.setInterval(checkLoadStatic, 100);
onInit();
return;
}
lvArray = [];
for (var id in _root) {
if (id.substring(0, 11) == "__library__") {
if (MovieClipLoader) {
var _local2 = _root.createEmptyMovieClip("sharedlib" + lvArray.length, 100 - lvArray.length);
_local2._x = -2000;
_local2._y = -2000;
var _local3 = new MovieClipLoader();
_local3.loaderClip = _local2;
_local3.url = id.substring(11);
_local3.loadClip(_local3.url, _local3.loaderClip);
lvArray.push(_local3);
} else {
var _local4 = new LoadVars();
_local4.url = id.substring(11);
_local4.load(_local4.url);
lvArray.push(_local4);
}
}
}
intervalID = _global.setInterval(checkLoadStatic, 100);
onInit();
}
function onInit() {
}
function onStatus(status) {
}
function onComplete() {
}
static function register(loaderClass, simulateOnly) {
preloaderClass = loaderClass;
simulate = simulateOnly;
return(true);
}
static function init() {
_root.stop();
initID = _global.setInterval(kickoff, 1);
return(true);
}
static function kickoff() {
_global.clearInterval(initID);
if (preloaderClass != null) {
instance = new Preloader.preloaderClass();
} else {
instance = new Preloader();
}
instance.onInit();
}
function checkLoadStatic() {
if (simulate == true) {
instance.simulateCheckLoad();
} else {
instance.checkLoad();
}
}
function simulateCheckLoad() {
var _local2 = new PreloadStatus();
_local2.bytesLoaded = simulateLoaded;
_local2.bytesTotal = 1024768 /* 0x0FA300 */;
_local2.modulesLoaded = 0;
_local2.modulesTotal = 1;
onStatus(_local2);
simulateLoaded = simulateLoaded + Math.round(20000 * (1 + Math.random()));
if (simulateLoaded >= 1024768) {
_global.clearInterval(intervalID);
_root.play();
onComplete();
}
}
function checkLoad() {
var _local2 = 0;
var _local3 = _root.getBytesLoaded();
var _local4 = _root.getBytesTotal();
if ((_local3 == _local4) && (_local4 > 0)) {
_local2++;
}
for (var i in lvArray) {
if (MovieClipLoader) {
var _local5 = lvArray[i];
var _local6 = _local5.getProgress(_local5.loaderClip);
_local3 = _local3 + _local6.bytesLoaded;
_local4 = _local4 + _local6.bytesTotal;
if ((_local3 == _local4) && (_local4 > 0)) {
_local2++;
}
} else {
var _local7 = lvArray[i];
if (_local7.loaded) {
_local2++;
}
_local3 = _local3 + _local7.getBytesLoaded();
_local4 = _local4 + _local7.getBytesTotal();
}
}
if ((!_global.isNaN(_local3)) && (!_global.isNaN(_local4))) {
var _local8 = new PreloadStatus();
_local8.bytesLoaded = _local3;
_local8.bytesTotal = _local4;
_local8.modulesLoaded = _local2;
_local8.modulesTotal = lvArray.length + 1;
onStatus(_local8);
}
if (_local2 == (lvArray.length + 1)) {
lvArray = null;
_global.clearInterval(intervalID);
_root.play();
onComplete();
}
}
//ASSetPropFlags(_local1, null, 1);
static var initted = init();
}
Symbol 20483 MovieClip [__Packages.Preload] Frame 0
class Preload
{
function Preload () {
}
static function preload(swfRoot) {
_root.stop();
_root.gotoAndStop(1);
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20484 MovieClip [__Packages.org.flashdevelop.utils.FlashConnect] Frame 0
class org.flashdevelop.utils.FlashConnect
{
static var messages, counter, socket, interval;
function FlashConnect () {
}
static function send(message) {
if (messages == null) {
initialize();
}
messages.push(message);
}
static function trace(value, level) {
var _local4 = createMsgNode(value.toString(), level);
send(_local4);
}
static function mtrace(value, method, path, line) {
if (path.charAt(1) != ":") {
path = "~/" + path;
}
var _local6 = (((path + ":") + line) + ":") + value;
trace(_local6, org.flashdevelop.utils.TraceLevel.DEBUG);
}
static function initialize() {
counter = 0;
messages = new Array();
socket = new XMLSocket();
socket.onData = function (data) {
org.flashdevelop.utils.FlashConnect.onReturnData(data);
};
socket.onConnect = function (success) {
if (success) {
org.flashdevelop.utils.FlashConnect.status = 1;
} else {
org.flashdevelop.utils.FlashConnect.status = -1;
}
org.flashdevelop.utils.FlashConnect.onConnection();
};
interval = _global.setInterval(sendStack, 50);
socket.connect(host, port);
}
static function createMsgNode(message, level) {
if (_global.isNaN(level)) {
level = org.flashdevelop.utils.TraceLevel.DEBUG;
}
var _local4 = new XMLNode(1, null);
var _local5 = new XMLNode(3, _global.escape(message));
_local4.attributes.state = level.toString();
_local4.attributes.cmd = "trace";
_local4.nodeName = "message";
_local4.appendChild(_local5);
return(_local4);
}
static function sendStack() {
if ((messages.length > 0) && (status == 1)) {
var _local2 = new XML();
var _local3 = _local2.createElement("flashconnect");
while (messages.length != 0) {
counter++;
if (counter > limit) {
_global.clearInterval(interval);
var _local4 = new String("FlashConnect aborted. You have reached the limit of maximum messages.");
var _local5 = createMsgNode(_local4, org.flashdevelop.utils.TraceLevel.ERROR);
_local3.appendChild(_local5);
break;
}
var _local6 = XMLNode(messages.shift());
_local3.appendChild(_local6);
}
_local2.appendChild(_local3);
socket.send(_local2);
}
}
static var status = 0;
static var limit = 1000;
static var host = "localhost";
static var port = 1978;
}
Symbol 20485 MovieClip [__Packages.MyPreloader] Frame 0
#initclip
if (!MyPreloader) {
//(_global.MyPreloader = function () {
super();
}) extends Preloader
var _local1 = (_global.MyPreloader /* register */).prototype;
_local1.onInit = function () {
_root.stop();
if (_root.btnTo_mc == undefined) {
MyPreloader.addComplete = false;
this.id = 0;
this.stars = new Array("-", "\\", "|", "/");
_root.attachMovie("logoLoad", "background_mc", 1);
_root.attachMovie("doplerButton", "btnTo_mc", 2);
_root.btnTo_mc._x = 360;
_root.btnTo_mc._y = 290;
_root.btnTo_mc.onRelease = function () {
getURL ("http://www.notdoppler.com/?ref=theserum-02", "_blank");
};
_root.btnTo_mc.onRollOver = function () {
this._yscale = 105;
};
_root.btnTo_mc.onRollOut = function () {
this._yscale = 100;
};
if (this.siteLocked(["notdoppler.com", "www.notdoppler.com"])) {
var _local2 = _root.createEmptyMovieClip("cpm_mc", 4);
_local2.beginFill(16711680, 100);
_local2.moveTo(0, 0);
_local2.lineTo(300, 0);
_local2.lineTo(300, 250);
_local2.lineTo(0, 250);
_local2.endFill();
_local2._x = 380;
_local2._y = 30;
var _local3 = _local2.createEmptyMovieClip("cpm_content", 1);
var _local4 = "1127QFCBBF0FD";
System.security.allowDomain("server.cpmstar.com");
_local3.loadMovie("http://server.cpmstar.com/adviewas2.swf?contentspotid=" + _local4);
}
var _local5 = _root.createTextField("status_txt", 6, 0, 380, 700, 20);
_local5.selectable = false;
var _local6 = new TextFormat();
_local6.bold = true;
_local6.size = 14;
_local6.font = "Courier New";
_local6.color = 16711680 /* 0xFF0000 */;
_local6.leading = 0;
_local5.setNewTextFormat(_local6);
}
};
_local1.siteLocked = function (allowedDomain) {
var _local3 = _root._url;
var _local4 = _local3.split("://");
var _local5 = _local4[1].split("/");
var _local6 = _local5[0];
var _local7 = 0;
for ( ; _local7 < allowedDomain.length ; _local7++) {
if (allowedDomain[_local7] == _local6) {
return(false);
}
}
return(true);
};
_local1.onStatus = function (status) {
if (this.id < 3) {
this.id++;
} else {
this.id = 0;
}
var _local3 = int((status.bytesLoaded / status.bytesTotal) * 100);
_root.status_txt.text = (((((((" " + this.stars[this.id]) + " Please wait, The Serum is loading ") + _local3) + "%. ( ") + status.bytesLoaded) + " of ") + status.bytesTotal) + " )";
};
_local1.onComplete = function () {
if (_root.play_mc == undefined) {
_root.gotoAndStop(1);
_root.attachMovie("play.png", "play_mc", 7);
_root.play_mc._x = 200;
_root.play_mc._y = 320;
_root.play_mc._xscale = 150;
_root.play_mc._yscale = 150;
_root.play_mc.onRelease = function () {
if (_root.cpm_mc.cpm_content.getBytesLoaded() >= _root.cpm_mc.cpm_content.getBytesTotal()) {
_root.status_txt.removeTextField();
_root.nextFrame();
var _local2 = _root.getNextHighestDepth();
var _local3 = 0;
for ( ; _local3 < _local2 ; _local3++) {
_root.getInstanceAtDepth(_local3).removeMovieClip();
}
}
};
}
};
ASSetPropFlags(_local1, null, 1);
(_global.MyPreloader /* register */).registered = Preloader.register(MyPreloader);
}
#endinitclip
Symbol 40 MovieClip Frame 6
stop();
Symbol 41 Button
on (release) {
getURL ("http://www.notdoppler.com/?ref=theserum-01", "_blank");
}
Symbol 57 MovieClip Frame 149
stop();
Symbol 20486 MovieClip [__Packages.RaggDoll] Frame 0
class RaggDoll
{
function RaggDoll () {
}
static function raggDoll() {
}
//ASSetPropFlags(_local1, null, 1);
static var grafity = 0.98;
static var velocity = 0.1;
}
Symbol 20487 MovieClip [__Packages.items] Frame 0
class items
{
static var painKillers, medicKit, flame, m60, crossBow, ak47, photon, colt, r870, axe, motox, army, centurion, kevlar;
function items () {
}
static function initItems() {
if (painKillers == undefined) {
painKillers = new item("pain killer", "pain", 60, 0, 0, flash.display.BitmapData.loadBitmap("painKiller"));
painKillers.examine = "pain killer";
medicKit = new item("medic kit", "medic", 250, 0, 0, flash.display.BitmapData.loadBitmap("madicKit"));
medicKit.examine = "medic kit";
flame = new item("flame thrower", "flame", _global.Infinity, 24, 280, flash.display.BitmapData.loadBitmap("src.items.contohItem3.JPG"));
flame.weapondType = "assault";
flame.bulletType = "flame";
flame.damage = 50;
flame.reloadTime = 15;
flame.caliber = 100;
flame.bulletsOnMag = 100;
flame.magazenSize = 100;
flame.burst = 1;
flame.firingRate = 1000;
flame.bulletSpeed = 10;
flame.accuracy = 10;
flame.objectDisplayID = "src.weaponds.flameThrower.png";
flame.pitchX = -52;
flame.pitchY = -15;
flame.larasX = 35;
flame.larasY = -2;
flame.examine = "flame thrower";
flame.repeating = true;
m60 = new item("m60 machine gun", "m60", 800, 24, 280, flash.display.BitmapData.loadBitmap("src.items.m60Item.png"));
m60.weapondType = "assault";
m60.bulletType = "fast bullet";
m60.damage = 100;
m60.caliber = 15;
m60.accuracy = 10;
m60.burst = 1;
m60.reloadTime = 15;
m60.bulletsOnMag = 100;
m60.magazenSize = 100;
m60.firingRate = 1000;
m60.bulletSpeed = 7;
m60.objectDisplayID = "src.weaponds.m60.png";
m60.pitchX = -52;
m60.pitchY = -30;
m60.larasX = 50;
m60.larasY = -8;
m60.examine = "m60 machine gun";
m60.repeating = true;
crossBow = new item("old crossbow", "crossBow", _global.Infinity, 24, 280, flash.display.BitmapData.loadBitmap("src.items.contohItem3.JPG"));
crossBow.weapondType = "assault";
crossBow.bulletType = "arrow";
crossBow.damage = 1000;
crossBow.caliber = 8;
crossBow.accuracy = 0;
crossBow.burst = 1;
crossBow.reloadTime = 10;
crossBow.bulletsOnMag = 1;
crossBow.magazenSize = 1;
crossBow.firingRate = 1000;
crossBow.bulletSpeed = 5;
crossBow.objectDisplayID = "src.weaponds.crossbow.png";
crossBow.pitchX = -50;
crossBow.pitchY = -20;
crossBow.larasX = 40;
crossBow.larasY = -8;
crossBow.examine = "hunting crossbow";
crossBow.repeating = false;
ak47 = new item("AK-47 assault rifle", "AK47", 60, 24, 280, flash.display.BitmapData.loadBitmap("src.items.ak47Item.png"));
ak47.weapondType = "assault";
ak47.bulletType = "fast bullet";
ak47.damage = 150;
ak47.caliber = 20;
ak47.accuracy = 0;
ak47.burst = 1;
ak47.reloadTime = 15;
ak47.bulletsOnMag = 30;
ak47.magazenSize = 30;
ak47.firingRate = 600;
ak47.bulletSpeed = 7;
ak47.objectDisplayID = "src.weaponds.ak47.png";
ak47.pitchX = -35;
ak47.pitchY = -25;
ak47.larasX = 50;
ak47.larasY = -10;
ak47.examine = "AK-47 assault rifle";
ak47.repeating = true;
photon = new item("photon gun", "photon gun", _global.Infinity, 24, 280, flash.display.BitmapData.loadBitmap("src.items.ak47Item.png"));
photon.weapondType = "pistol";
photon.bulletType = "photon";
photon.damage = 50;
photon.caliber = 80;
photon.accuracy = 0;
photon.burst = 1;
photon.reloadTime = 15;
photon.bulletsOnMag = 0;
photon.magazenSize = 30;
photon.firingRate = 1000;
photon.bulletSpeed = 7;
photon.objectDisplayID = "src.weaponds.photon.png";
photon.pitchX = -35;
photon.pitchY = -15;
photon.larasX = 38;
photon.larasY = 0;
photon.examine = "photon gun";
photon.repeating = true;
photon.drainShoot = true;
colt = new item("colt 1911 pistol", "1911", _global.Infinity, 24, 280, flash.display.BitmapData.loadBitmap("src.items.coltItem.png"));
colt.weapondType = "pistol";
colt.bulletType = "fast bullet";
colt.damage = 75;
colt.caliber = 8;
colt.accuracy = 0;
colt.burst = 1;
colt.reloadTime = 15;
colt.bulletsOnMag = 12;
colt.magazenSize = 12;
colt.firingRate = 200;
colt.bulletSpeed = 15;
colt.objectDisplayID = "src.weaponds.colt-1911-1.png";
colt.pitchX = -15;
colt.pitchY = -20;
colt.larasX = 15;
colt.larasY = -8;
colt.examine = "colt 1911 pistol";
colt.repeating = false;
r870 = new item("remington 870 shotgun", "870", 60, 24, 280, flash.display.BitmapData.loadBitmap("remington870item"));
r870.weapondType = "assault";
r870.bulletType = "fast bullet";
r870.damage = 250;
r870.caliber = 50;
r870.accuracy = 20;
r870.burst = 8;
r870.reloadTime = 15;
r870.bulletsOnMag = 8;
r870.magazenSize = 8;
r870.firingRate = 100;
r870.bulletSpeed = 7;
r870.objectDisplayID = "src.weaponds.remington870.png";
r870.pitchX = -45;
r870.pitchY = -15;
r870.larasX = 40;
r870.larasY = -5;
r870.examine = "remington 870";
r870.repeating = true;
axe = new item("fireman axe", "axe", _global.Infinity, 163, 170, flash.display.BitmapData.loadBitmap("src.items.axe.png"));
axe.weapondType = "melee";
axe.bulletType = "melee";
axe.damage = 225;
axe.caliber = 30;
axe.bulletSpeed = 5;
axe.reloadTime = 0;
axe.bulletsOnMag = _global.Infinity;
axe.magazenSize = _global.Infinity;
axe.objectDisplayID = "src.weaponds.offer_axe_3.png";
axe.pitchX = -13;
axe.pitchY = -70;
axe.larasX = 20;
axe.larasY = -10;
axe.examine = "fireman axe";
axe.repeating = true;
motox = new item("moto-x helm", "motoX", 100, 24, 280, flash.display.BitmapData.loadBitmap("src.items.contohItem3.JPG"));
motox.itemTexture = flash.display.BitmapData.loadBitmap("src.armore.motoX.png");
motox.examine = "motox helmt";
army = new item("army helm", "helmArmy", 500, 24, 280, flash.display.BitmapData.loadBitmap("src.items.contohItem3.JPG"));
army.itemTexture = flash.display.BitmapData.loadBitmap("src.armore.armyHelm.png");
army.examine = "army helmt";
centurion = new item("centurion armore", "centurion", 500, 24, 280, flash.display.BitmapData.loadBitmap("src.items.contohItem3.JPG"));
centurion.itemTexture = flash.display.BitmapData.loadBitmap("src.armore.centurion.png");
centurion.examine = "centurion armore";
kevlar = new item("kevlar", "kevlar", 500, 24, 280, flash.display.BitmapData.loadBitmap("src.items.contohItem3.JPG"));
kevlar.itemTexture = flash.display.BitmapData.loadBitmap("src.armore.kevlar.png");
kevlar.examine = "keflar";
}
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20488 MovieClip [__Packages.enemyTemplate] Frame 0
class enemyTemplate
{
var live, speedx, bloodTexture, skinTexture, mesh, randomFeetDamage;
function enemyTemplate (mesh, live, speedx, bloodTexture, skinTexture) {
this.live = live;
this.speedx = speedx;
this.bloodTexture = bloodTexture;
this.skinTexture = skinTexture;
this.mesh = mesh;
randomFeetDamage = true;
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20489 MovieClip [__Packages.mochi.as2.MochiDigits] Frame 0
class mochi.as2.MochiDigits
{
var Encoder, Fragment, Sibling;
function MochiDigits (digit, index) {
Encoder = 0;
setValue(digit, index);
}
function get value() {
return(Number(toString()));
}
function set value(v) {
setValue(v);
//return(value);
}
function addValue(v) {
value = value + v;
}
function setValue(digit, index) {
var _local4 = digit.toString();
if ((index == undefined) || (_global.isNaN(index))) {
index = 0;
}
Fragment = _local4.charCodeAt(index++) ^ Encoder;
if (index < _local4.length) {
Sibling = new mochi.as2.MochiDigits(digit, index);
} else {
Sibling = null;
}
reencode();
}
function reencode() {
var _local2 = int(2147483647 * Math.random());
Fragment = Fragment ^ (_local2 ^ Encoder);
Encoder = _local2;
}
function toString() {
var _local2 = String.fromCharCode(Fragment ^ Encoder);
return(((Sibling != null) ? (_local2.concat(Sibling.toString())) : (_local2)));
}
}
Symbol 20490 MovieClip [__Packages.item] Frame 0
class item
{
var itemName, type, texture, value, _x, _y, onLevel, repeating, drainShoot, examine, weapondType, bulletType, reloadTime, magazenSize, bulletsOnMag, firingRate, burst, accuracy, weight, bulletSpeed, damage, objectDisplayID, larasX, larasY, pitchX, pitchY, itemTexture, caliber;
function item (name, type, value, x, y, texture) {
itemName = name;
this.type = type;
this.texture = texture;
this.value = value;
_x = x;
_y = y;
onLevel = true;
repeating = true;
drainShoot = false;
examine = name;
}
function clone(xUpdate, yUpdate) {
var _local4 = new item(itemName, type, value, _x, _y, texture);
_local4.onLevel = onLevel;
_local4.examine = examine;
_local4.weapondType = weapondType;
_local4.bulletType = bulletType;
_local4.reloadTime = reloadTime;
_local4.magazenSize = magazenSize;
_local4.bulletsOnMag = bulletsOnMag;
_local4.firingRate = firingRate;
_local4.burst = burst;
_local4.accuracy = accuracy;
_local4.weight = weight;
_local4.bulletSpeed = bulletSpeed;
_local4.damage = damage;
_local4.objectDisplayID = objectDisplayID;
_local4.larasX = larasX;
_local4.larasY = larasY;
_local4.pitchX = pitchX;
_local4.pitchY = pitchY;
_local4.itemTexture = itemTexture;
_local4.caliber = caliber;
_local4.drainShoot = drainShoot;
if (xUpdate) {
_local4._x = xUpdate;
}
if (yUpdate) {
_local4._y = yUpdate;
}
return(_local4);
}
function render(container, x, y) {
if (Main.gameLevel.rooms[Main.gameLevel.activeRoom].collisionGround.getPixel(_x, _y) == 0) {
_y = _y - 5;
}
var _local5 = texture.width / 2;
var _local6 = texture.height / 2;
var _local7 = _x - _local5;
var _local8 = _y - _local6;
var _local9 = _x + _local5;
var _local10 = _y + _local6;
var _local11 = new flash.geom.Matrix(1, 0, 0, 1, _local7 + x, _local8 + y);
container.beginBitmapFill(texture, _local11);
container.moveTo(_local7 + x, _local8 + y);
container.lineTo(_local9 + x, _local8 + y);
container.lineTo(_local9 + x, _local10 + y);
container.lineTo(_local7 + x, _local10 + y);
container.endFill();
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20491 MovieClip [__Packages.mochi.as2.MochiEventDispatcher] Frame 0
class mochi.as2.MochiEventDispatcher
{
var eventTable;
function MochiEventDispatcher () {
eventTable = {};
}
function buildDelegate(thisObject, thatObject) {
var _local3 = {thisObject:thisObject, thatObject:thatObject};
if (thatObject != undefined) {
var funct = ((typeof(thatObject) == "string") ? (thisObject[thatObject]) : (thatObject));
_local3.delegate = function (args) {
funct.call(thisObject, args);
};
} else {
_local3.delegate = thisObject;
}
return(_local3);
}
function compareDelegate(d_A, d_B) {
if ((d_A.thisObject != d_B.thisObject) || (d_A.thatObject != d_B.thatObject)) {
return(false);
}
return(true);
}
function addEventListener(event, thisObject, thatObject) {
removeEventListener(event, thisObject, thatObject);
eventTable[event].push(buildDelegate(thisObject, thatObject));
}
function removeEventListener(event, thisObject, thatObject) {
var _local5 = buildDelegate(thisObject, thatObject);
if (eventTable[event] == undefined) {
eventTable[event] = [];
return(undefined);
}
for (var s in eventTable[event]) {
if (!compareDelegate(eventTable[event][s], _local5)) {
continue;
}
eventTable[event].splice(Number(s), 1);
}
}
function triggerEvent(event, args) {
if (eventTable[event] == undefined) {
return(undefined);
}
for (var i in eventTable[event]) {
eventTable[event][i].delegate(args);
}
}
}
Symbol 20492 MovieClip [__Packages.armature] Frame 0
class armature
{
var _seeBones, rootBone;
function armature (x, y) {
_seeBones = false;
rootBone = new bone("root", undefined, 0, 0);
rootBone._1stRotation = 0;
rootBone._x1 = x;
rootBone._y1 = y;
rootBone._x2 = x;
rootBone._y2 = y;
}
function clone(cloneTo) {
if (cloneTo != undefined) {
var _local3 = cloneTo;
} else {
var _local3 = new armature(rootBone._x1, rootBone._y1);
}
registerAllBone(rootBone);
cloneAllChild(_local3.rootBone, rootBone);
return(_local3);
}
function cloneAllChild(result, _startBone) {
if (_startBone._parent == undefined) {
if (!_startBone.updated) {
_startBone.updated = true;
}
}
if (_startBone._childs.length > 0) {
var _local4 = 0;
_local4 = 0;
for ( ; _local4 < _startBone._childs.length ; _local4++) {
if (!_startBone._childs[_local4].updated) {
var _local5 = _startBone._childs[_local4].clone(result);
result._childs.push(_local5);
_startBone._childs[_local4].updated = true;
cloneAllChild(_local5, _startBone._childs[_local4]);
}
}
}
}
function searchBone(_rootBone, nama) {
var _local4;
var _local5 = 0;
if (_rootBone._name == nama) {
_local4 = _rootBone;
}
if (_local4 == undefined) {
if (_rootBone._childs.length > 0) {
_local5 = 0;
for ( ; _local5 < _rootBone._childs.length ; _local5++) {
if (_rootBone._childs[_local5]._name == nama) {
_local4 = _rootBone._childs[_local5];
break;
}
if (_local4 == undefined) {
_local4 = searchBone(_rootBone._childs[_local5], nama);
}
}
}
}
return(_local4);
}
function getBoneChildFromName(nama) {
var _local3 = searchBone(rootBone, nama);
return(_local3);
}
function srchBoneByXY(_rootBone, x, y) {
var _local5;
var _local6 = 0;
var _local8 = Math.pow(x - _rootBone._x1, 2);
var _local9 = Math.pow(y - _rootBone._y1, 2);
var _local10 = Math.pow(x - _rootBone._x2, 2);
var _local11 = Math.pow(y - _rootBone._y2, 2);
var _local12 = Math.sqrt(_local8 + _local9) + Math.sqrt(_local10 + _local11);
if ((_local12 > (_rootBone._length - 1)) && (_local12 < (_rootBone._length + 1))) {
_local5 = _rootBone;
}
if (_local5 == undefined) {
if (_rootBone._childs.length > 0) {
_local6 = 0;
for ( ; _local6 < _rootBone._childs.length ; _local6++) {
_local8 = Math.pow(x - _rootBone._childs[_local6]._x1, 2);
_local9 = Math.pow(y - _rootBone._childs[_local6]._y1, 2);
_local10 = Math.pow(x - _rootBone._childs[_local6]._x2, 2);
_local11 = Math.pow(y - _rootBone._childs[_local6]._y2, 2);
_local12 = Math.sqrt(_local8 + _local9) + Math.sqrt(_local10 + _local11);
if ((_local12 > (_rootBone._childs[_local6]._length - 1)) && (_local12 < (_rootBone._childs[_local6]._length + 1))) {
_local5 = _rootBone._childs[_local6];
break;
}
if (_local5 == undefined) {
_local5 = srchBoneByXY(_rootBone._childs[_local6], x, y);
}
}
}
}
return(_local5);
}
function searchBoneByXY(x, y) {
var _local4 = srchBoneByXY(rootBone, x, y);
return(_local4);
}
function registerAllBone(rootBone) {
var _local3 = 0;
rootBone.updated = false;
if (rootBone._childs.length > 0) {
_local3 = 0;
for ( ; _local3 < rootBone._childs.length ; _local3++) {
rootBone._childs[_local3].updated = false;
registerAllBone(rootBone._childs[_local3]);
}
}
}
function countingBones(_rootBone) {
var _local3 = 0;
if (_rootBone._parent == undefined) {
if (!_rootBone.updated) {
_local3++;
_rootBone.updated = true;
}
}
if (_rootBone._childs.length > 0) {
var _local4 = 0;
_local4 = 0;
for ( ; _local4 < _rootBone._childs.length ; _local4++) {
if (!_rootBone._childs[_local4].updated) {
_rootBone._childs[_local4].updated = true;
_local3++;
_local3 = _local3 + countingBones(_rootBone._childs[_local4]);
}
}
}
return(_local3);
}
function gettingBones(_rootBone, res) {
var _local4 = 0;
if (_rootBone._parent == undefined) {
if (!_rootBone.updated) {
res.push(_rootBone);
_rootBone.updated = true;
}
}
if (_rootBone._childs.length > 0) {
var _local5 = 0;
_local5 = 0;
for ( ; _local5 < _rootBone._childs.length ; _local5++) {
if (!_rootBone._childs[_local5].updated) {
_rootBone._childs[_local5].updated = true;
res.push(_rootBone._childs[_local5]);
gettingBones(_rootBone._childs[_local5], res);
}
}
}
}
function getAllBones() {
var _local2 = new Array();
gettingBones(rootBone, _local2);
return(_local2);
}
function getBoneCount() {
registerAllBone(rootBone);
var _local2 = countingBones(rootBone);
return(_local2);
}
function resetBones(rootBone) {
var _local3 = 0;
if (rootBone._parent == undefined) {
rootBone._rotation = rootBone._1stRotation;
rootBone._length = rootBone._1stLength;
}
if (rootBone._childs.length > 0) {
_local3 = 0;
for ( ; _local3 < rootBone._childs.length ; _local3++) {
rootBone._childs[_local3]._rotation = rootBone._childs[_local3]._1stRotation;
rootBone._childs[_local3]._length = rootBone._childs[_local3]._1stLength;
resetBones(rootBone._childs[_local3]);
}
}
}
function resetAllBones() {
resetBones(rootBone);
}
function updateBone(rootBone, _container) {
var _local4 = 0;
if (rootBone._parent == undefined) {
rootBone._absRotation = rootBone._rotation;
rootBone._x2 = rootBone._x1;
rootBone._y2 = rootBone._y1;
}
if (rootBone._childs.length > 0) {
_local4 = 0;
for ( ; _local4 < rootBone._childs.length ; _local4++) {
if (!rootBone._childs[_local4].updated) {
rootBone._childs[_local4]._absRotation = rootBone._absRotation + rootBone._childs[_local4]._rotation;
rootBone._childs[_local4]._x1 = rootBone._x2;
rootBone._childs[_local4]._y1 = rootBone._y2;
rootBone._childs[_local4]._x2 = rootBone._x2 - (rootBone._childs[_local4]._length * CMath.cos(rootBone._childs[_local4]._absRotation));
rootBone._childs[_local4]._y2 = rootBone._y2 + (rootBone._childs[_local4]._length * CMath.sin(rootBone._childs[_local4]._absRotation));
updateBone(rootBone._childs[_local4]);
}
}
}
}
function ren(_container, _rootBone) {
var _local4 = 0;
if (_rootBone._parent == undefined) {
_rootBone.render(_container);
}
if (_rootBone._childs.length > 0) {
_local4 = 0;
for ( ; _local4 < _rootBone._childs.length ; _local4++) {
_rootBone._childs[_local4].render(_container);
ren(_container, _rootBone._childs[_local4]);
}
}
}
function onEnterFrame(_container) {
registerAllBone(rootBone);
updateBone(rootBone, _container);
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20493 MovieClip [__Packages.vertex2D] Frame 0
class vertex2D
{
var _x, _y, _absx, _absy, length, rotation, groups;
function vertex2D (x, y, group) {
_x = x;
_y = y;
_absx = x;
_absy = y;
length = new Array();
rotation = new Array();
groups = new Array();
if (group != undefined) {
assignToGroup(group);
}
}
function update() {
if (groups.length <= 0) {
return(undefined);
}
var _local2 = new Array();
var _local3 = new Array();
var _local4 = 0;
for ( ; _local4 < groups.length ; _local4++) {
var _local5 = groups[_local4];
var _local6 = 0;
_local6 = rotation[_local4] + _local5._absRotation;
var _local7 = _local5._length / _local5._1stLength;
_local2.push(_local5._x2 - ((length[_local4] * _local7) * CMath.cos(_local6)));
_local3.push(_local5._y2 + ((length[_local4] * _local7) * CMath.sin(_local6)));
}
_absx = CMath.average(_local2);
_absy = CMath.average(_local3);
}
function clone() {
var _local2 = new vertex2D(_x, _y);
}
function assignToGroup(boneName) {
var _local3 = 0;
var _local4 = true;
_local3 = 0;
for ( ; _local3 < groups.length ; _local3++) {
if (boneName == groups[_local3]) {
_local4 = false;
}
}
if (_local4) {
groups.push(boneName);
}
return(_local4);
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20494 MovieClip [__Packages.mochi.as2.MochiSync] Frame 0
class mochi.as2.MochiSync
{
var _syncContainer;
function MochiSync () {
_syncContainer = {};
}
function getProp(name) {
return(_syncContainer[name]);
}
function setProp(name, value) {
if (_syncContainer[name] == value) {
return(undefined);
}
_syncContainer[name] = value;
mochi.as2.MochiServices.send("sync_propUpdate", {name:name, value:value});
}
function triggerEvent(eventType, args) {
switch (eventType) {
case SYNC_REQUEST :
mochi.as2.MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY :
_syncContainer[args.name] = args.value;
}
}
static var SYNC_REQUEST = "SyncRequest";
static var SYNC_PROPERTY = "UpdateProperty";
}
Symbol 20495 MovieClip [__Packages.animatedMesh2D] Frame 0
class animatedMesh2D
{
var _name, _armature, _mesh, _keyFrames, _frame, _keyFrameInd, _animating, _renderTexture, _loopEnd, _loopStart;
function animatedMesh2D (nama, filePath, directString) {
_name = nama;
_armature = new armature(0, 0);
_mesh = new mesh2D(nama);
_keyFrames = new Array();
_frame = 0;
_keyFrameInd = 0;
_animating = true;
_renderTexture = true;
if (filePath != undefined) {
load2dM(filePath, directString);
}
}
function clone() {
if ((_armature.getBoneCount() > 0) && ((_mesh.vertices.length > 0) && (_mesh.indices.length > 0))) {
var _local2 = new animatedMesh2D(_name);
_armature.clone(_local2._armature);
_mesh.clone(_local2._mesh, _local2._armature);
_local2._armature.rootBone._x1 = _armature.rootBone._x1;
_local2._armature.rootBone._y1 = _armature.rootBone._y1;
var _local3 = 0;
for ( ; _local3 < _keyFrames.length ; _local3++) {
_local2._keyFrames.push(_keyFrames[_local3].clone(_local2._armature));
}
_local2._armature.resetAllBones();
_local2._armature.onEnterFrame();
_local2._mesh.assignToArmature(_local2._armature);
return(_local2);
}
return(undefined);
}
function getTotalFrames() {
if (_keyFrames.length <= 0) {
return(0);
}
return(_keyFrames[_keyFrames.length - 1]._start - _keyFrames[0]._start);
}
function onAnimate() {
_keyFrameInd = 0;
_keyFrameInd = 1;
for ( ; _keyFrameInd < _keyFrames.length ; _keyFrameInd++) {
if ((_frame >= _keyFrames[_keyFrameInd - 1]._start) && (_frame < _keyFrames[_keyFrameInd]._start)) {
var _local2 = _keyFrames[_keyFrameInd - 1]._start;
var _local3 = _keyFrames[_keyFrameInd]._start;
break;
}
}
var _local4 = (_frame - _local2) / (_local3 - _local2);
if (_global.isNaN(_local4)) {
_local4 = 0.9;
}
var _local5 = 0;
for ( ; _local5 < _keyFrames[_keyFrameInd]._changes.length ; _local5++) {
var _local6 = _keyFrames[_keyFrameInd - 1]._changes[_local5].target;
var _local7 = _keyFrames[_keyFrameInd]._changes[_local5].target;
var _local8 = _keyFrames[_keyFrameInd - 1]._changes[_local5].scale;
var _local9 = _keyFrames[_keyFrameInd]._changes[_local5].scale;
_local9 = (_local9 / 100) * _keyFrames[_keyFrameInd]._changes[_local5]._bone._1stLength;
_local8 = (_local8 / 100) * _keyFrames[_keyFrameInd]._changes[_local5]._bone._1stLength;
_keyFrames[_keyFrameInd]._changes[_local5]._bone._rotation = _local6 + ((_local7 - _local6) * _local4);
_keyFrames[_keyFrameInd]._changes[_local5]._bone._length = _local8 + ((_local9 - _local8) * _local4);
}
if (_frame < _loopEnd) {
_frame++;
} else {
_frame = _loopStart;
}
}
function render(_container) {
if (_animating) {
onAnimate();
}
_armature.onEnterFrame(_container);
if ((_mesh.texture != undefined) && (!CONSTANTS.ROOM_DEBUG)) {
if (_renderTexture) {
_mesh.renderTexture(_container);
} else {
_mesh.renderTriangles(_container);
}
} else {
_mesh.renderTriangles(_container);
}
}
function load2dM(filePath, directString) {
if (_root.L_mc != undefined) {
_root.L_mc.removeMovieClip();
}
var dep = (_root.getNextHighestDepth() + 10008);
_root.createEmptyMovieClip("L_mc" + dep, dep);
var escChar = newline;
if (directString) {
_root["L_mc" + dep].mesh = filePath;
escChar = "#";
} else {
loadVariables (filePath, _root["L_mc" + dep]);
}
_root["L_mc" + dep].target = this;
_root["L_mc" + dep].loaded = false;
_root["L_mc" + dep].onEnterFrame = function () {
if (!_root["L_mc" + dep].loaded) {
if (_root["L_mc" + dep].mesh != undefined) {
var _local2 = 0;
_local2 = 0;
for ( ; _local2 < _root["L_mc" + dep].mesh.length ; _local2++) {
switch (_root["L_mc" + dep].mesh.charAt(_local2)) {
case "/" :
while (_root["L_mc" + dep].mesh.charAt(_local2) != escChar) {
_local2++;
}
break;
case "r" :
var _local3 = "";
var _local4 = "";
_local2 = _local2 + 2;
while (_root["L_mc" + dep].mesh.charAt(_local2) != " ") {
_local3 = _local3 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_local2++;
while (_root["L_mc" + dep].mesh.charAt(_local2) != escChar) {
_local4 = _local4 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_root["L_mc" + dep].target._armature.rootBone._x1 = Number(_local3);
_root["L_mc" + dep].target._armature.rootBone._y1 = Number(_local4.slice(0, _local4.length - 1));
_root["L_mc" + dep].target._armature.rootBone._x2 = Number(_local3);
_root["L_mc" + dep].target._armature.rootBone._y3 = Number(_local4.slice(0, _local4.length - 1));
break;
case "b" :
_local2 = _local2 + 2;
var _local5 = "";
var _local6 = "";
var _local7 = "";
var _local8 = "";
while (_root["L_mc" + dep].mesh.charAt(_local2) != " ") {
_local5 = _local5 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_local2++;
while (_root["L_mc" + dep].mesh.charAt(_local2) != " ") {
_local6 = _local6 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_local2++;
while (_root["L_mc" + dep].mesh.charAt(_local2) != " ") {
_local7 = _local7 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_local2++;
while (_root["L_mc" + dep].mesh.charAt(_local2) != escChar) {
_local8 = _local8 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_local8 = _local8.slice(0, _local8.length - 1);
_root["L_mc" + dep].target._armature.getBoneChildFromName(_local5).addChild(_local6, Number(_local7), Number(_local8));
break;
case "v" :
var _local9 = "";
var _local10 = "";
var _local11 = new Array();
_local2 = _local2 + 2;
while (_root["L_mc" + dep].mesh.charAt(_local2) != " ") {
_local9 = _local9 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_local2++;
while (_root["L_mc" + dep].mesh.charAt(_local2) != " ") {
_local10 = _local10 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
while (_root["L_mc" + dep].mesh.charAt(_local2) != escChar) {
_local2++;
var _local12 = "";
while ((_root["L_mc" + dep].mesh.charAt(_local2) != escChar) && (_root["L_mc" + dep].mesh.charAt(_local2) != " ")) {
_local12 = _local12 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
if (_root["L_mc" + dep].mesh.charAt(_local2) == escChar) {
_local11.push(_root["L_mc" + dep].target._armature.getBoneChildFromName(_local12.slice(0, _local12.length - 1)));
} else {
_local11.push(_root["L_mc" + dep].target._armature.getBoneChildFromName(_local12));
}
}
_root["L_mc" + dep].target._mesh.addVertices(Number(_local9), Number(_local10), _local11[0]);
var _local13 = 1;
while (_local13 < _local11.length) {
_root["L_mc" + dep].target._mesh.getLastVertices().assignToGroup(_local11[_local13]);
_local13++;
}
break;
case "i" :
_local2++;
var _local14 = "";
while (_root["L_mc" + dep].mesh.charAt(_local2) != escChar) {
_local14 = _local14 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_root["L_mc" + dep].target._mesh.indices.push(Number(_local14.slice(0, _local14.length - 1)));
break;
case "t" :
_local2 = _local2 + 2;
var _local15 = "";
while (_root["L_mc" + dep].mesh.charAt(_local2) != escChar) {
_local15 = _local15 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
var _local16 = flash.display.BitmapData.loadBitmap(_local15.slice(0, _local15.length - 1));
_root["L_mc" + dep].target._mesh.setTexture(_local16);
break;
case "k" :
var _local17 = "";
_local2 = _local2 + 2;
while (_root["L_mc" + dep].mesh.charAt(_local2) != escChar) {
_local17 = _local17 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
var _local18 = new keyFrame(Number(_local17.slice(0, _local17.length - 1)));
while (_root["L_mc" + dep].mesh.charAt(_local2) != "{") {
_local2++;
}
_local2 = _local2 + 3;
while (_root["L_mc" + dep].mesh.charAt(_local2) != "}") {
var _local19 = "";
var _local20 = "";
var _local21 = "";
while (_root["L_mc" + dep].mesh.charAt(_local2) != " ") {
_local19 = _local19 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_local2++;
while (_root["L_mc" + dep].mesh.charAt(_local2) != " ") {
_local20 = _local20 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
_local2++;
while (_root["L_mc" + dep].mesh.charAt(_local2) != escChar) {
_local21 = _local21 + _root["L_mc" + dep].mesh.charAt(_local2);
_local2++;
}
var _local22 = _root["L_mc" + dep].target._armature.getBoneChildFromName(_local19);
_local18.addAffectedBone(_local22, Number(_local20), Number(_local21.slice(0, _local21.length - 1)));
_local2++;
}
_root["L_mc" + dep].target._keyFrames.push(_local18);
break;
default :
for(;;){
if (_root["L_mc" + dep].mesh.charAt(_local2) == escChar) {
break;
}
_local2++;
};
}
}
_root["L_mc" + dep].target._totalframes = _root["L_mc" + dep].target._keyFrames[_root["L_mc" + dep].target._keyFrames.length - 1]._start;
_root["L_mc" + dep].target._armature.resetAllBone();
_root["L_mc" + dep].target._armature.onEnterFrame();
_root["L_mc" + dep].target._mesh.assignToArmature(_root["L_mc" + dep].target._armature);
if (_root["L_mc" + dep].target._keyFrames.length > 0) {
_root["L_mc" + dep].target._loopStart = _root["L_mc" + dep].target._keyFrames[0]._start;
_root["L_mc" + dep].target._loopEnd = _root["L_mc" + dep].target._keyFrames[_root["L_mc" + dep].target._keyFrames.length - 1]._start;
} else {
_root["L_mc" + dep].target._loopStart = 0;
_root["L_mc" + dep].target._loopEnd = 0;
}
_root["L_mc" + dep].loaded = true;
_root["L_mc" + dep].removeMovieClip();
}
}
};
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20496 MovieClip [__Packages.mochi.as2.MochiSocial] Frame 0
class mochi.as2.MochiSocial
{
function MochiSocial () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function showLoginWidget(options) {
mochi.as2.MochiServices.setContainer();
mochi.as2.MochiServices.stayOnTop();
mochi.as2.MochiServices.send("coins_showLoginWidget", {options:options});
}
static function hideLoginWidget() {
mochi.as2.MochiServices.send("coins_hideLoginWidget");
}
static function requestLogin() {
mochi.as2.MochiServices.send("coins_requestLogin");
}
static function getUserInfo() {
mochi.as2.MochiServices.send("coins_getUserInfo");
}
static function saveUserProperties(properties) {
mochi.as2.MochiServices.send("coins_saveUserProperties", properties);
}
static function addEventListener(eventType, delegate) {
_dispatcher.addEventListener(eventType, delegate);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, delegate) {
_dispatcher.removeEventListener(eventType, delegate);
}
static var LOGGED_IN = "LoggedIn";
static var LOGGED_OUT = "LoggedOut";
static var LOGIN_SHOW = "LoginShow";
static var LOGIN_HIDE = "LoginHide";
static var LOGIN_SHOWN = "LoginShown";
static var PROFILE_SHOW = "ProfileShow";
static var PROFILE_HIDE = "ProfileHide";
static var PROPERTIES_SAVED = "PropertySaved";
static var WIDGET_LOADED = "WidgetLoaded";
static var USER_INFO = "UserInfo";
static var ERROR = "Error";
static var IO_ERROR = "IOError";
static var NO_USER = "NoUser";
static var PROPERTIES_SIZE = "PropertiesSize";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 20497 MovieClip [__Packages.bone] Frame 0
class bone
{
var draw, _name, _childs, _length, _1stLength, _rotation, _absRotation, _1stRotation, _parent, updated, _x1, _x2, _y1, _y2;
function bone (nama, parent, length, rotation) {
draw = false;
_name = nama;
_childs = new Array();
_length = length;
_1stLength = length;
_rotation = rotation;
_absRotation = rotation;
_1stRotation = rotation;
_parent = parent;
updated = false;
}
function clone(parent) {
var _local3 = new bone(_name, parent, _length, _rotation);
return(_local3);
}
function addChild(nama, length, rotation) {
var _local5 = new bone(nama, this, length, rotation);
_local5.draw = false;
_childs.push(_local5);
return(_local5);
}
function getTransformation() {
var _local2 = new Object();
_local2.x = _x2 - _x1;
_local2.y = _y2 - _y1;
_local2.rot = Math.atan2(_local2.y, _local2.x);
return(_local2);
}
function render(_container_mc) {
var _local8 = 25;
var _local7 = _length / 4;
var _local3 = _x1 - (_local7 * CMath.cos(_absRotation + _local8));
var _local5 = _y1 + (_local7 * CMath.sin(_absRotation + _local8));
var _local4 = _x1 - (_local7 * CMath.cos(_absRotation - _local8));
var _local6 = _y1 + (_local7 * CMath.sin(_absRotation - _local8));
_container_mc.lineStyle(1, 0, 100);
_container_mc.beginFill(9211020);
_container_mc.moveTo(_x1, _y1);
_container_mc.lineTo(_local3, _local5);
_container_mc.lineTo(_local4, _local6);
_container_mc.lineTo(_x1, _y1);
_container_mc.endFill();
_container_mc.beginFill(7829367);
_container_mc.moveTo(_local3, _local5);
_container_mc.lineTo(_local4, _local6);
_container_mc.lineTo(_x2, _y2);
_container_mc.lineTo(_local3, _local5);
_container_mc.endFill();
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20498 MovieClip [__Packages.mesh2D] Frame 0
class mesh2D
{
var triangleDebug, biped, vertices, indices, _name, _w, _h, texture, x1, x2, y1, y2, texture1;
function mesh2D (nama) {
triangleDebug = false;
biped = undefined;
vertices = new Array();
indices = new Array();
if (nama != undefined) {
_name = nama;
}
}
function clone(meshToCloneTo, armatureToCloneTo) {
meshToCloneTo.triangleDebug = triangleDebug;
var _local4 = 0;
for ( ; _local4 < vertices.length ; _local4++) {
meshToCloneTo.addVertices(vertices[_local4]._x, vertices[_local4]._y);
var _local5 = meshToCloneTo.getLastVertices();
var _local6 = 0;
for ( ; _local6 < vertices[_local4].groups.length ; _local6++) {
_local5.assignToGroup(armatureToCloneTo.getBoneChildFromName(vertices[_local4].groups[_local6]._name));
}
}
var _local7 = 0;
for ( ; _local7 < indices.length ; _local7++) {
meshToCloneTo.indices.push(indices[_local7]);
}
return(meshToCloneTo);
}
function toggleTriangleVisible() {
triangleDebug = !triangleDebug;
}
function setTexture(bitmap) {
_w = bitmap.width;
_h = bitmap.height;
texture = bitmap;
}
function assignToArmature(arm) {
biped = arm;
biped.onEnterFrame();
var _local3 = 0;
for ( ; _local3 < vertices.length ; _local3++) {
vertices[_local3].panjang.splice(0, vertices[_local3].panjang.length);
vertices[_local3].rotation.splice(0, vertices[_local3].rotation.length);
var _local4 = 0;
for ( ; _local4 < vertices[_local3].groups.length ; _local4++) {
var _local5 = vertices[_local3].groups[_local4];
var _local6 = vertices[_local3]._x - _local5._x2;
var _local7 = vertices[_local3]._y - _local5._y2;
var _local8 = Math.pow(_local6, 2);
var _local9 = Math.pow(_local7, 2);
var _local10 = Math.sqrt(_local9 + _local8);
vertices[_local3].length.push(_local10);
var _local11 = (((-Math.atan2(_local7, _local6)) - Math.PI) / Math.PI) * 180;
_local11 = _local11 - _local5._absRotation;
vertices[_local3].rotation.push(_local11);
}
}
}
function getLastVertices() {
return(vertices[vertices.length - 1]);
}
function addVertices(x, y, group) {
if (x1 == undefined) {
x1 = x;
} else {
x1 = Math.min(x1, x);
}
if (x2 == undefined) {
x2 = x;
} else {
x2 = Math.max(x2, x);
}
if (y1 == undefined) {
y1 = y;
} else {
y1 = Math.min(y1, y);
}
if (y2 == undefined) {
y2 = y;
} else {
y2 = Math.max(y1, y);
}
vertices.push(new vertex2D(x, y, group));
}
function setIndicesString(ind, length) {
}
function average(arr) {
var _local4 = 0;
var _local3 = 0;
for ( ; _local3 < arr.length ; _local3++) {
_local4 = _local4 + arr[_local3];
}
_local4 = _local4 / arr.length;
return(_local4);
}
function renderTriangles(container) {
container.lineStyle(1, 255, 100);
var _local3 = 0;
_local3 = 0;
for ( ; _local3 < indices.length ; _local3 = _local3 + 3) {
if ((vertices[indices[_local3]] != undefined) && ((vertices[indices[_local3 + 1]] != undefined) && (vertices[indices[_local3 + 2]] != undefined))) {
vertices[indices[_local3]].update();
vertices[indices[_local3 + 1]].update();
vertices[indices[_local3 + 2]].update();
var _local4 = vertices[indices[_local3]]._absx;
var _local5 = vertices[indices[_local3]]._absy;
var _local6 = vertices[indices[_local3 + 1]]._absx;
var _local7 = vertices[indices[_local3 + 1]]._absy;
var _local8 = vertices[indices[_local3 + 2]]._absx;
var _local9 = vertices[indices[_local3 + 2]]._absy;
container.beginFill(16711680, 100);
container.moveTo(_local4, _local5);
container.lineTo(_local6, _local7);
container.lineTo(_local8, _local9);
container.lineTo(_local4, _local5);
container.endFill();
}
}
_local3 = 0;
for ( ; _local3 < vertices.length ; _local3++) {
container.lineStyle(2, 16711765, 100);
var _local10 = vertices[_local3]._absx + 1;
var _local11 = vertices[_local3]._absy + 1;
var _local12 = vertices[_local3]._absx - 1;
var _local13 = vertices[_local3]._absy - 1;
container.moveTo(_local10, _local11);
container.lineTo(_local12, _local13);
container.moveTo(_local10, _local13);
container.lineTo(_local12, _local11);
}
}
function leftSideOfLine(testedX, testedY, x1, y1, x2, y2) {
if ((((testedY - y1) * (x2 - x1)) - ((testedX - x1) * (y2 - y1))) > 0) {
return(false);
}
return(true);
}
function isInsideTriangle(testedx, testedy, vertIndx1, vertIndx2, vertIndx3) {
var _local7 = leftSideOfLine(testedx, testedy, vertices[vertIndx1]._absx, vertices[vertIndx1]._absy, vertices[vertIndx2]._absx, vertices[vertIndx2]._absy);
var _local8 = leftSideOfLine(testedx, testedy, vertices[vertIndx2]._absx, vertices[vertIndx2]._absy, vertices[vertIndx3]._absx, vertices[vertIndx3]._absy);
if (_local7 != _local8) {
return(false);
}
var _local9 = leftSideOfLine(testedx, testedy, vertices[vertIndx3]._absx, vertices[vertIndx3]._absy, vertices[vertIndx1]._absx, vertices[vertIndx1]._absy);
if (_local7 != _local9) {
return(false);
}
if (_local8 != _local9) {
return(false);
}
return(true);
}
function getTextureCoordFromXY(x, y) {
var _local4 = 0;
var _local5 = false;
_local4 = 0;
// unexpected jump
do {
_local4 = _local4 + 3;
if (_local4 >= indices.length) {
break;
}
_local5 = isInsideTriangle(x, y, indices[_local4], indices[_local4 + 1], indices[_local4 + 2]);
} while (!_local5);
if (_local5) {
var _local6 = new flash.geom.Point(x, y);
var _local7 = new flash.geom.Matrix();
var _local8 = new flash.geom.Matrix();
var _local9 = vertices[indices[_local4]]._x;
var _local10 = vertices[indices[_local4]]._y;
var _local11 = vertices[indices[_local4 + 1]]._x;
var _local12 = vertices[indices[_local4 + 1]]._y;
var _local13 = vertices[indices[_local4 + 2]]._x;
var _local14 = vertices[indices[_local4 + 2]]._y;
var _local15 = vertices[indices[_local4]]._absx;
var _local16 = vertices[indices[_local4]]._absy;
var _local17 = vertices[indices[_local4 + 1]]._absx;
var _local18 = vertices[indices[_local4 + 1]]._absy;
var _local19 = vertices[indices[_local4 + 2]]._absx;
var _local20 = vertices[indices[_local4 + 2]]._absy;
_local8.tx = _local15;
_local8.ty = _local16;
_local8.a = (_local17 - _local15) / _w;
_local8.b = (_local18 - _local16) / _w;
_local8.c = (_local19 - _local15) / _h;
_local8.d = (_local20 - _local16) / _h;
_local7.a = (_local11 - _local9) / _w;
_local7.b = (_local12 - _local10) / _w;
_local7.c = (_local13 - _local9) / _h;
_local7.d = (_local14 - _local10) / _h;
_local7.tx = _local9;
_local7.ty = _local10;
_local8.invert();
_local8.concat(_local7);
_local6 = _local8.transformPoint(_local6);
var _local21 = new Object();
_local21.x = _local6.x;
_local21.y = _local6.y;
_local21.firstBone = vertices[indices[_local4]].groups[0]._name;
return(_local21);
}
return(undefined);
}
function renderTexture(container) {
container.clear();
if (triangleDebug) {
container.lineStyle(1, 16711680, 100);
}
var _local3 = 0;
var _local4 = 0;
_local3 = 0;
for ( ; _local3 < indices.length ; _local3 = _local3 + 3) {
vertices[indices[_local3]].update();
vertices[indices[_local3 + 1]].update();
vertices[indices[_local3 + 2]].update();
var _local5 = vertices[indices[_local3]]._absx;
var _local6 = vertices[indices[_local3]]._absy;
var _local7 = vertices[indices[_local3 + 1]]._absx;
var _local8 = vertices[indices[_local3 + 1]]._absy;
var _local9 = vertices[indices[_local3 + 2]]._absx;
var _local10 = vertices[indices[_local3 + 2]]._absy;
var _local11 = vertices[indices[_local3]]._x;
var _local12 = vertices[indices[_local3]]._y;
var _local13 = vertices[indices[_local3 + 1]]._x;
var _local14 = vertices[indices[_local3 + 1]]._y;
var _local15 = vertices[indices[_local3 + 2]]._x;
var _local16 = vertices[indices[_local3 + 2]]._y;
var _local17 = new flash.geom.Matrix();
var _local18 = new flash.geom.Matrix();
_local18.tx = _local11;
_local18.ty = _local12;
_local18.a = (_local13 - _local11) / _w;
_local18.b = (_local14 - _local12) / _w;
_local18.c = (_local15 - _local11) / _h;
_local18.d = (_local16 - _local12) / _h;
_local17.a = (_local7 - _local5) / _w;
_local17.b = (_local8 - _local6) / _w;
_local17.c = (_local9 - _local5) / _h;
_local17.d = (_local10 - _local6) / _h;
_local17.tx = _local5;
_local17.ty = _local6;
_local18.invert();
_local18.concat(_local17);
if (texture1) {
container.beginBitmapFill(texture1, _local18, false, false);
container.moveTo(_local5, _local6);
container.lineTo(_local7, _local8);
container.lineTo(_local9, _local10);
container.endFill();
}
container.beginBitmapFill(texture, _local18, false, false);
container.moveTo(_local5, _local6);
container.lineTo(_local7, _local8);
container.lineTo(_local9, _local10);
container.endFill();
}
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20499 MovieClip [__Packages.CMath] Frame 0
class CMath
{
function CMath () {
}
static function initTrigonometri() {
if (sin(30) != undefined) {
return(undefined);
}
var _local2 = 0;
for ( ; _local2 <= 720 ; _local2++) {
TSin.push(Math.sin((_local2 - 360) * DEGTORAD));
TCos.push(Math.cos((_local2 - 360) * DEGTORAD));
TTan.push(Math.tan((_local2 - 360) * DEGTORAD));
}
}
static function cos(deg) {
deg = Math.round(deg);
deg = deg % 360;
return(TCos[deg + 360]);
}
static function sin(deg) {
deg = Math.round(deg);
deg = deg % 360;
return(TSin[deg + 360]);
}
static function Tan(deg) {
deg = Math.round(deg);
deg = deg % 360;
return(TSin[deg + 360]);
}
static function average(arr) {
var _local4 = 0;
var _local3 = 0;
for ( ; _local3 < arr.length ; _local3++) {
_local4 = _local4 + arr[_local3];
}
_local4 = _local4 / arr.length;
return(_local4);
}
//ASSetPropFlags(_local1, null, 1);
static var DEGTORAD = Math.PI / 180;
static var RADTODEG = (1 / Math.PI) * 180;
static var Accuracy = 0;
static var TSin = new Array();
static var TCos = new Array();
static var TTan = new Array();
}
Symbol 20500 MovieClip [__Packages.command] Frame 0
class command
{
var _x, _y, manager, containerRoom, triggerType, touchTolerance, status, delay, eraseAfterActivated, useNoDelay, summarize, eraseMe, killNumber, dorToUnlock, lightToCreate, spawnerToActivate, roomToGo, xTarget, yTarget, messageToDisplay, levelStateToExecute, spawnerToEdit, maxZombieSpawn, hintsToActivate, hintsToDeactivate, cinematicsToPlay, soudToPlay, smallSoundToPlay;
function command (manager, containerRoom, trigger, _x, _y, touchTolerance) {
this._x = _x;
this._y = _y;
this.manager = manager;
this.containerRoom = containerRoom;
triggerType = trigger;
this.touchTolerance = touchTolerance;
status = false;
delay = 200;
eraseAfterActivated = true;
useNoDelay = false;
summarize = false;
}
function update() {
if (!eraseMe) {
if (Main.gameLevel.gameState == "game") {
}
if (!status) {
switch (triggerType) {
case "just do it" :
status = true;
break;
case "no zombie & player touch" :
if ((containerRoom.spawner.length <= 0) && (containerRoom.enemies.length <= 0)) {
if ((manager.userPL._x < (_x + touchTolerance)) && ((manager.userPL._x > (_x - touchTolerance)) && ((manager.userPL._y > (_y - touchTolerance)) && (manager.userPL._y > (_y - touchTolerance))))) {
status = true;
}
}
break;
case "no spawner" :
if ((containerRoom.spawner.length <= 0) && (containerRoom.enemies.length <= 0)) {
status = true;
}
break;
case "kill number" :
if (manager.zombieKill >= killNumber) {
status = true;
}
break;
case "player touch" :
if (!((manager.userPL._x < (_x + touchTolerance)) && ((manager.userPL._x > (_x - touchTolerance)) && ((manager.userPL._y < (_y + touchTolerance)) && (manager.userPL._y > (_y - touchTolerance)))))) {
break;
}
status = true;
}
// unexpected jump
}
if (dorToUnlock != undefined) {
manager.playSound("dorLocked");
dorToUnlock.locked = false;
manager.notify("i heard something. looks like a dor has unlocked");
}
if (lightToCreate != undefined) {
containerRoom.lights.push(lightToCreate);
}
if (spawnerToActivate != undefined) {
spawnerToActivate.active = true;
}
if (roomToGo != undefined) {
Main.gameLevel.gameState = "teleport in";
Main.gameLevel.nextActivatedRoom = roomToGo;
Main.gameLevel._xAfterTeleport = xTarget;
Main.gameLevel._yAfterTeleport = yTarget;
}
if (eraseAfterActivated) {
eraseMe = true;
} else {
status = false;
}
if (messageToDisplay != undefined) {
manager.notify(messageToDisplay);
}
if (levelStateToExecute != undefined) {
Main.gameLevel.gameState = levelStateToExecute;
}
if (spawnerToEdit != undefined) {
if (maxZombieSpawn != undefined) {
spawnerToEdit.maxZombieSpawn = maxZombieSpawn;
}
}
if (hintsToActivate != undefined) {
hintsToActivate.activate();
}
if (hintsToDeactivate != undefined) {
hintsToDeactivate.deactive();
}
if (cinematicsToPlay != undefined) {
if ((delay <= 0) || (useNoDelay)) {
if (summarize) {
Main.gameLevel.gameState = "calculate score";
} else {
Main.gameLevel.gameState = "cinematic";
}
Main.gameLevel.activeCinematics = cinematicsToPlay;
} else {
status = true;
eraseMe = false;
var _local2 = (200 - delay) / 2;
Main.gameLevel.notify(("please wait " + Math.round(_local2)) + "%");
delay--;
}
}
if (soudToPlay != undefined) {
Main.snd.stop();
Main.snd.attachSound(soudToPlay);
Main.snd.start(0, 999);
}
if (smallSoundToPlay != undefined) {
var _local3 = _root.getNextHighestDepth();
var _local4 = _root.createEmptyMovieClip("pSnd" + _local3, _local3);
var _local5 = new Sound(_local4);
_local5.attachSound(smallSoundToPlay);
_local5.start(0, 1);
_local4.onEnterFrame = function () {
if (this.snd.getPosition() >= this.snd.duration) {
this.removeMovieClip();
}
};
}
return(undefined);
}
return(undefined);
}
function render(container) {
var _local3 = 10;
var _local4 = containerRoom._x;
var _local5 = containerRoom._y;
if (touchTolerance != undefined) {
_local3 = touchTolerance;
}
var _local6 = _x - _local3;
var _local7 = _y - _local3;
var _local8 = _x + _local3;
var _local9 = _y + _local3;
var _local10 = new flash.geom.Matrix(1, 0, 0, 1, _local6 + _local4, _local7 + _local5);
container.beginFill(255, 100);
container.moveTo(_local6 + _local4, _local7 + _local5);
container.lineTo(_local8 + _local4, _local7 + _local5);
container.lineTo(_local8 + _local4, _local9 + _local5);
container.lineTo(_local6 + _local4, _local9 + _local5);
container.endFill();
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20501 MovieClip [__Packages.bullet] Frame 0
class bullet
{
var manager, startx, starty, speedx, speedy, damage, type, caliber, requestDelete, time, _x, _y, priLight, power;
function bullet (manager, type, damage, caliber, startx, starty, speedx, speedy) {
this.manager = manager;
this.startx = startx;
this.starty = starty;
this.speedx = speedx;
this.speedy = speedy;
this.damage = damage;
this.type = type;
this.caliber = caliber;
requestDelete = false;
time = 0;
_x = startx;
_y = starty;
}
function update() {
_x = startx + (speedx * time);
_y = starty + (speedy * time);
switch (type) {
case "arrow" :
speedy = speedy + 0.01;
break;
case "melee" :
if (time > 2) {
requestDelete = true;
}
break;
case "flame" :
if (time > 30) {
requestDelete = true;
priLight.lifeTime = 0;
return(undefined);
}
speedy = speedy - 0.05;
break;
case "fast laser" :
if (time < 50) {
break;
}
requestDelete = true;
}
time++;
}
function render(_container) {
switch (type) {
case "flame" :
var _local3 = _x + manager.rooms[manager.activeRoom]._x;
var _local4 = _y + manager.rooms[manager.activeRoom]._y;
priLight._x = _x;
priLight._y = _y;
var _local5 = new flash.geom.Point(0, 0);
var _local6 = new flash.geom.Point(90, 0);
var _local7 = new flash.geom.Point(90, 90);
var _local8 = new flash.geom.Point(0, 90);
var _local9 = new flash.geom.Matrix();
_local9.tx = _local5.x;
_local9.ty = _local5.y;
_local9.a = (_local6.x - _local5.x) / 84;
_local9.b = (_local6.y - _local5.y) / 84;
_local9.c = (_local7.x - _local5.x) / 13;
_local9.d = (_local7.y - _local5.y) / 13;
var _local10 = new flash.geom.Matrix();
_local10.translate(-45, -45);
_local10.translate(_local3, _local4);
_local5 = _local10.transformPoint(_local5);
_local6 = _local10.transformPoint(_local6);
_local7 = _local10.transformPoint(_local7);
_local8 = _local10.transformPoint(_local8);
var _local11 = new flash.geom.Matrix();
_local11.tx = _local5.x;
_local11.ty = _local5.y;
_local11.a = (_local6.x - _local5.x) / 84;
_local11.b = (_local6.y - _local5.y) / 84;
_local11.c = (_local7.x - _local5.x) / 13;
_local11.d = (_local7.y - _local5.y) / 13;
_local9.invert();
_local9.concat(_local11);
var _local12 = ("src.weaponds.explosion.screen" + Math.round(time / 2)) + ".png";
_container.beginBitmapFill(manager.getTexture(_local12), _local9, false, false);
_container.moveTo(_local5.x, _local5.y);
_container.lineTo(_local6.x, _local6.y);
_container.lineTo(_local7.x, _local7.y);
_container.lineTo(_local8.x, _local8.y);
_container.lineTo(_local5.x, _local5.y);
_container.endFill();
break;
case "fast bullet" :
if (random(100) > 50) {
var _local13 = manager.rooms[manager.activeRoom];
var _local14 = Math.atan2(_y - starty, _x - startx) * CMath.RADTODEG;
var _local15 = flash.geom.Point.distance(new flash.geom.Point(_x, _y), new flash.geom.Point(startx, starty)) / 2;
_local13.addDirectionalLight(startx, starty, 16777215, random(30), 0, _local15, _local14, 2, 1);
}
break;
case "photon" :
var _local16 = 32;
var _local17 = flash.geom.Point.distance(new flash.geom.Point(startx, starty), new flash.geom.Point(_x, _y));
var _local18 = new flash.geom.Point(0, 0);
var _local19 = new flash.geom.Point(_local17, 0);
var _local20 = new flash.geom.Point(_local17, _local16);
var _local21 = new flash.geom.Point(0, _local16);
var _local22 = new flash.geom.Matrix();
_local22.translate(0, (-_local16) / 2);
_local22.scale(1, power / 100);
_local22.rotate(Math.atan2(_y - starty, _x - startx));
_local22.translate(startx + manager.rooms[manager.activeRoom]._x, starty + manager.rooms[manager.activeRoom]._y);
_local18 = _local22.transformPoint(_local18);
_local19 = _local22.transformPoint(_local19);
_local20 = _local22.transformPoint(_local20);
_local21 = _local22.transformPoint(_local21);
var _local23 = new flash.geom.Matrix();
_local23.translate(random(time), (-_local16) / 2);
_local23.rotate(Math.atan2(_y - starty, _x - startx));
_local23.translate(startx + manager.rooms[manager.activeRoom]._x, starty + manager.rooms[manager.activeRoom]._y);
_container.beginBitmapFill(manager.getTexture("src.sfx.beam.png"), _local23);
_container.moveTo(_local18.x, _local18.y);
_container.lineTo(_local19.x, _local19.y);
_container.lineTo(_local20.x, _local20.y);
_container.lineTo(_local21.x, _local21.y);
_container.endFill();
break;
case "fast laser" :
var _local24 = manager.rooms[manager.activeRoom];
var _local25 = Math.atan2(_y - starty, _x - startx) * CMath.RADTODEG;
var _local26 = flash.geom.Point.distance(new flash.geom.Point(_x, _y), new flash.geom.Point(startx, starty)) / 2;
_local24.addDirectionalLight(startx, starty, 16711680, 60, 0, _local26, _local25, 2, 1);
_local24.addDirectionalLight(startx, starty, 16711680, 5, 0, _local26 / 2, _local25, 30, 1);
break;
case "arrow" :
var _local27 = _x + manager.rooms[manager.activeRoom]._x;
var _local28 = _y + manager.rooms[manager.activeRoom]._y;
var _local29 = Math.atan2(speedy, speedx);
var _local30 = new flash.geom.Point(0, 0);
var _local31 = new flash.geom.Point(84, 0);
var _local32 = new flash.geom.Point(84, 13);
var _local33 = new flash.geom.Point(0, 13);
var _local34 = new flash.geom.Matrix();
_local34.tx = _local30.x;
_local34.ty = _local30.y;
_local34.a = (_local31.x - _local30.x) / 84;
_local34.b = (_local31.y - _local30.y) / 84;
_local34.c = (_local32.x - _local30.x) / 13;
_local34.d = (_local32.y - _local30.y) / 13;
var _local35 = new flash.geom.Matrix();
_local35.rotate(Math.atan2(speedy, speedx) - Math.PI);
_local35.scale(0.5, 0.5);
_local35.translate(_local27, _local28);
_local30 = _local35.transformPoint(_local30);
_local31 = _local35.transformPoint(_local31);
_local32 = _local35.transformPoint(_local32);
_local33 = _local35.transformPoint(_local33);
var _local36 = new flash.geom.Matrix();
_local36.tx = _local30.x;
_local36.ty = _local30.y;
_local36.a = (_local31.x - _local30.x) / 84;
_local36.b = (_local31.y - _local30.y) / 84;
_local36.c = (_local32.x - _local30.x) / 13;
_local36.d = (_local32.y - _local30.y) / 13;
_local34.invert();
_local34.concat(_local36);
_container.beginBitmapFill(manager.getTexture("src.weaponds.arrow.png"), _local34, true, false);
_container.moveTo(_local30.x, _local30.y);
_container.lineTo(_local31.x, _local31.y);
_container.lineTo(_local32.x, _local32.y);
_container.lineTo(_local33.x, _local33.y);
_container.lineTo(_local30.x, _local30.y);
_container.endFill();
}
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20502 MovieClip [__Packages.CONSTANTS] Frame 0
class CONSTANTS
{
static var proffMesh, bosMesh, bos, kakiMesh, kaki, badanMesh, badan, zombie1, zombie1Mesh, cine0, cine1, cine2, cine3;
function CONSTANTS () {
}
static function initProffMesh() {
if (proffMesh == undefined) {
var _local2 = "/#r -10.4 149.15/#b root bone1 33.07 -143.55/#b bone1 bone2 41.9 47.24/#b bone2 bone3 45.1 5.54/#b bone3 bone4 13.96 -6.44/#b bone4 bone19 10.6 4.49/#b bone19 bone20 10.23 4.56/#b bone3 bone5 42.87 -63.75/#b bone5 bone6 41.62 -113.84/#b bone6 bone7 41.07 -0.05/#b bone7 bone8 17.36 0.21/#b bone3 bone9 63.79 -75.08/#b bone9 bone10 37.62 -102.4/#b bone10 bone11 41.07 -0.15/#b bone11 bone12 20.87 3.2/#b bone2 bone21 186.18 -172.71/#b bone21 bone22 135.52 10.08/#b bone1 bone13 20.41 -118.28/#b bone13 bone14 46.43 -3.17/#b bone14 bone15 47.4 -5/#b bone1 bone16 48.96 -59.35/#b bone16 bone17 45.71 -64.22/#b bone17 bone18 51.45 -2.27/#// vertices initialization /#v 48.55 253.2 bone15/#v 54.35 253.2 bone18/#v 90.2 254.35 bone18/#v 49.7 200.6 bone18/#v 49.7 189.6 bone17/#v 81.5 194.8 bone18 bone17/#v 86.15 137 bone17/#v 51.45 138.15 bone17/#v 50.9 18.5 bone6/#v 69.35 16.2 bone6/#v 71.1 64.15 bone7 bone6/#v 75.15 107.5 bone8 bone7/#v 75.15 127.75 bone8/#v 54.35 128.9 bone8/#v 54.35 106.95 bone8 bone7/#v 52.05 68.2 bone7/#v 52.05 60.7 bone6/#v 39.3 141.05 bone14/#v 2.9 140.45 bone14/#v 41.65 192.5 bone15 bone14/#v 11 252 bone15/#v 8.7 199.4 bone15/#v 6.95 187.3 bone14/#v 1.15 135.85 bone2/#v 33.55 134.7 bone2/#v 45.65 87.3 bone2 bone3/#v -4.05 80.9 bone2 bone3/#v 46.85 48.55 bone3 bone4 bone20/#v 5.2 36.4 bone3 bone4 bone20/#v 5.2 5.8 bone4 bone20/#v 48 6.95 bone4 bone20/#v 75.75 15.6 bone10/#v 75.75 59.55 bone10/#v 75.75 68.2 bone11/#v 96.55 64.75 bone11 bone10/#v 95.4 16.75 bone10/#v 77.45 106.95 bone12 bone11/#v 99.45 107.5 bone12 bone11/#v 80.35 128.3 bone12/#v 98.3 127.75 bone12/#v 2.9 14.45 bone19/#v 2.9 26.6 bone19/#v 49.7 14.45 bone19/#v 49.15 29.45 bone19/#v 83 274 bone22/#v 8.1 259.55 bone22/#v 94 424 bone22/#v 16 422 bone22/#//triangulation/#i 46/#i 47/#i 44/#i 47/#i 44/#i 45/#i 40/#i 42/#i 43/#i 40/#i 41/#i 43/#i 8/#i 9/#i 16/#i 16/#i 10/#i 9/#i 10/#i 15/#i 16/#i 11/#i 14/#i 15/#i 10/#i 15/#i 11/#i 13/#i 14/#i 11/#i 12/#i 13/#i 11/#i 0/#i 20/#i 21/#i 19/#i 21/#i 0/#i 19/#i 21/#i 22/#i 18/#i 22/#i 17/#i 22/#i 19/#i 17/#i 23/#i 24/#i 26/#i 25/#i 26/#i 24/#i 25/#i 26/#i 28/#i 27/#i 28/#i 25/#i 27/#i 29/#i 28/#i 27/#i 30/#i 29/#i 3/#i 4/#i 5/#i 2/#i 5/#i 1/#i 3/#i 5/#i 1/#i 6/#i 7/#i 5/#i 4/#i 5/#i 7/#i 32/#i 33/#i 34/#i 34/#i 31/#i 35/#i 31/#i 32/#i 34/#i 34/#i 37/#i 36/#i 36/#i 33/#i 34/#i 37/#i 39/#i 38/#i 36/#i 38/#i 37/#//key frames initialization/#k 0/#{/#bone1 -143.55 100/#bone2 27.24 100/#bone3 -34.46 100/#bone4 23.56 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -113.84 100/#bone7 -0.05 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.4 100/#bone11 -0.15 100/#bone12 3.2 100/#bone21 38.76 16.83/#bone22 140.08 90/#bone13 -113.58 17.59/#bone14 -13.17 100/#bone15 -25 100/#bone16 -48.89 14.22/#bone17 -44.22 100/#bone18 -32.27 100/#}/#k 5/#{/#bone1 -143.55 108/#bone2 27.24 100/#bone3 -34.46 100/#bone4 23.56 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -113.84 100/#bone7 7.95 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.4 100/#bone11 23.85 100/#bone12 3.2 100/#bone21 18.76 16.83/#bone22 142.08 90/#bone13 -113.58 17.59/#bone14 2.43 100/#bone15 -25 100/#bone16 -48.89 14.22/#bone17 -65.02 100/#bone18 -32.27 100/#}/#k 10/#{/#bone1 -143.55 100/#bone2 27.24 100/#bone3 -34.46 100/#bone4 23.56 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -113.84 100/#bone7 -0.05 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.4 100/#bone11 -0.15 100/#bone12 3.2 100/#bone21 38.76 16.83/#bone22 140.08 90/#bone13 -113.58 17.59/#bone14 16.83 100/#bone15 -25 100/#bone16 -48.89 14.22/#bone17 -84.22 100/#bone18 -32.27 100/#}/#k 15/#{/#bone1 -143.55 108/#bone2 27.24 100/#bone3 -34.46 100/#bone4 23.56 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -113.84 100/#bone7 7.95 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.4 100/#bone11 23.85 100/#bone12 3.2 100/#bone21 18.76 16.83/#bone22 142.08 90/#bone13 -113.58 17.59/#bone14 2.43 100/#bone15 -25 100/#bone16 -48.89 14.22/#bone17 -65.02 100/#bone18 -32.27 100/#}/#k 20/#{/#bone1 -143.55 100/#bone2 27.24 100/#bone3 -34.46 100/#bone4 23.56 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -113.84 100/#bone7 -0.05 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.4 100/#bone11 -0.15 100/#bone12 3.2 100/#bone21 38.76 16.83/#bone22 140.08 90/#bone13 -113.58 17.59/#bone14 -13.17 100/#bone15 -25 100/#bone16 -48.89 14.22/#bone17 -44.22 100/#bone18 -32.27 100/#}/#k 30/#{/#bone1 -175.55 101.44/#bone2 99.24 100/#bone3 15.54 100/#bone4 23.56 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -143.84 100/#bone7 1.39 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -82.4 100/#bone11 4.17 100/#bone12 3.2 100/#bone21 35.16 16.83/#bone22 140.44 90/#bone13 -113.58 17.59/#bone14 70.64 100/#bone15 -88 100/#bone16 -48.89 14.22/#bone17 -11.96 100/#bone18 -86.27 100/#}/#k 44/#{/#bone1 -145.55 101.44/#bone2 99.24 100/#bone3 5.54 100/#bone4 23.56 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -113.84 100/#bone7 1.39 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.4 100/#bone11 4.17 100/#bone12 3.2 100/#bone21 35.16 16.83/#bone22 140.44 90/#bone13 -113.58 17.59/#bone14 120.64 100/#bone15 -28 100/#bone16 -48.89 14.22/#bone17 18.04 100/#bone18 -86.27 100/#}/#k 50/#{/#bone1 -202.85 61.5/#bone2 172.04 100/#bone3 -28.46 100/#bone4 -56.44 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -163.84 100/#bone7 51.45 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -122.4 100/#bone11 94.34 100/#bone12 3.2 100/#bone21 -24.98 26.83/#bone22 160.45 90/#bone13 -113.58 17.59/#bone14 116.4 100/#bone15 -51.45 100/#bone16 -48.89 14.22/#bone17 63.79 100/#bone18 -88.37 100/#}/#k 60/#{/#bone1 -176.16 78.82/#bone2 106.88 100/#bone3 -31.16 100/#bone4 -20.44 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -141.34 100/#bone7 28.28 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -90.9 100/#bone11 51.82 100/#bone12 3.2 100/#bone21 3.71 22.33/#bone22 151.28 90/#bone13 -113.58 17.59/#bone14 18.1 100/#bone15 -49.55 100/#bone16 -48.89 14.22/#bone17 25.19 100/#bone18 -113.13 100/#}/#k 70/#{/#bone1 -143.55 100/#bone2 27.24 100/#bone3 -34.46 100/#bone4 23.56 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -113.84 100/#bone7 -0.05 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.4 100/#bone11 -0.15 100/#bone12 3.2 100/#bone21 38.76 16.83/#bone22 140.08 90/#bone13 -113.58 17.59/#bone14 -13.17 100/#bone15 -25 100/#bone16 -48.89 14.22/#bone17 -44.22 100/#bone18 -32.27 100/#}/#k 90/#{/#bone1 -226.81 97.88/#bone2 85.21 100/#bone3 -34.13 100/#bone4 19.16 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -116.59 100/#bone7 2.78 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -56.25 100/#bone11 5.05 100/#bone12 3.2 100/#bone21 35.26 17.38/#bone22 141.2 90/#bone13 -113.58 17.59/#bone14 89.96 100/#bone15 -107.46 100/#bone16 -48.89 14.22/#bone17 42.72 100/#bone18 -120.36 100/#}/#k 101/#{/#bone1 -143.55 100/#bone2 27.24 100/#bone3 -34.46 100/#bone4 23.56 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -113.84 100/#bone7 -0.05 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.4 100/#bone11 -0.15 100/#bone12 3.2 100/#bone21 38.76 16.83/#bone22 140.08 90/#bone13 -113.58 17.59/#bone14 -13.17 100/#bone15 -25 100/#bone16 -48.89 14.22/#bone17 -44.22 100/#bone18 -32.27 100/#}/#k 111/#{/#bone1 -151.12 99.81/#bone2 2.51 100/#bone3 -4.43 100/#bone4 43.16 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -114.09 100/#bone7 0.21 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.75 100/#bone11 0.33 100/#bone12 3.2 100/#bone21 38.45 16.88/#bone22 140.18 90/#bone13 -113.58 17.59/#bone14 -3.79 100/#bone15 -32.5 100/#bone16 -48.89 14.22/#bone17 -36.31 100/#bone18 -40.28 100/#}/#k 120/#{/#bone1 -151.12 99.81/#bone2 2.51 100/#bone3 -24.43 100/#bone4 43.16 100/#bone19 4.49 100/#bone20 4.56 100/#bone5 -91.12 17.74/#bone6 -114.09 100/#bone7 0.21 100/#bone8 0.21 100/#bone9 -155.66 14.11/#bone10 -52.75 100/#bone11 0.33 100/#bone12 3.2 100/#bone21 38.45 16.88/#bone22 140.18 90/#bone13 -113.58 17.59/#bone14 -3.79 100/#bone15 -32.5 100/#bone16 -48.89 14.22/#bone17 -36.31 100/#bone18 -40.28 100/#}/#";
proffMesh = new animatedMesh2D("proff", _local2, true);
}
}
static function initBosMesh() {
if (bosMesh == undefined) {
bos = "/#r -10.4 149.15/#b root bone1 33.07 -143.55/#b bone1 bone2 41.9 47.24/#b bone2 bone3 45.1 5.54/#b bone3 bone4 13.96 -6.44/#b bone4 bone19 10.6 4.49/#b bone19 bone20 10.23 4.56/#b bone3 bone5 42.87 -63.75/#b bone5 bone6 41.62 -113.84/#b bone6 bone7 41.07 -0.05/#b bone7 bone8 17.36 0.21/#b bone3 bone9 63.79 -75.08/#b bone9 bone10 37.62 -102.4/#b bone10 bone11 41.07 -0.15/#b bone11 bone12 20.87 3.2/#b bone1 bone13 20.41 -118.28/#b bone13 bone14 46.43 -3.17/#b bone14 bone15 47.4 -5/#b bone1 bone16 48.96 -59.35/#b bone16 bone17 45.71 -64.22/#b bone17 bone18 51.45 -2.27/#// vertices initialization /#v 48.55 253.2 bone15/#v 54.35 253.2 bone18/#v 90.2 254.35 bone18/#v 49.7 200.6 bone18/#v 49.7 189.6 bone17/#v 81.5 194.8 bone18 bone17/#v 86.15 137 bone17/#v 51.45 138.15 bone17/#v 50.9 18.5 bone6/#v 69.35 16.2 bone6/#v 71.1 64.15 bone7 bone6/#v 75.15 107.5 bone8 bone7/#v 75.15 127.75 bone8/#v 54.35 128.9 bone8/#v 54.35 106.95 bone8 bone7/#v 52.05 68.2 bone7/#v 52.05 60.7 bone6/#v 39.3 141.05 bone14/#v 2.9 140.45 bone14/#v 41.65 192.5 bone15 bone14/#v 11 252 bone15/#v 8.7 199.4 bone15/#v 6.95 187.3 bone14/#v 1.15 135.85 bone2/#v 33.55 134.7 bone2/#v 45.65 87.3 bone2 bone3/#v -4.05 80.9 bone2 bone3/#v 46.85 48.55 bone3 bone4 bone20/#v 5.2 36.4 bone3 bone4 bone20/#v 4.65 6.35 bone4 bone20/#v 46.25 6.35 bone4 bone20/#v 75.75 15.6 bone10/#v 75.75 59.55 bone10/#v 75.75 68.2 bone11/#v 96.55 64.75 bone11 bone10/#v 95.4 16.75 bone10/#v 77.45 106.95 bone12 bone11/#v 99.45 107.5 bone12 bone11/#v 80.35 128.3 bone12/#v 98.3 127.75 bone12/#v 2.9 14.45 bone19/#v 2.9 26.6 bone19/#v 49.7 14.45 bone19/#v 49.15 29.45 bone19/#v 5.2 35.85 bone4/#v 45.65 47.4 bone4/#//triangulation/#i 40/#i 42/#i 43/#i 40/#i 41/#i 43/#i 8/#i 9/#i 16/#i 16/#i 10/#i 9/#i 10/#i 15/#i 16/#i 11/#i 14/#i 15/#i 10/#i 15/#i 11/#i 13/#i 14/#i 11/#i 12/#i 13/#i 11/#i 0/#i 20/#i 21/#i 19/#i 21/#i 0/#i 19/#i 21/#i 22/#i 18/#i 22/#i 17/#i 22/#i 19/#i 17/#i 23/#i 24/#i 26/#i 25/#i 26/#i 24/#i 25/#i 26/#i 28/#i 27/#i 28/#i 25/#i 6/#i 7/#i 4/#i 4/#i 5/#i 6/#i 3/#i 4/#i 5/#i 2/#i 5/#i 1/#i 3/#i 5/#i 1/#i 31/#i 35/#i 34/#i 31/#i 32/#i 34/#i 32/#i 33/#i 34/#i 34/#i 37/#i 36/#i 33/#i 34/#i 36/#i 37/#i 39/#i 38/#i 36/#i 38/#i 37/#i 30/#i 29/#i 45/#i 29/#i 44/#i 45/#//key frames initialization/#k 0/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 -63.84 100/#bone7 29.95 100/#bone8 0.21 100/#bone9 -181.82 20.87/#bone10 7.6 100/#bone11 39.85 100/#bone12 3.2 100/#bone13 42.83 46.13/#bone14 186.83 100/#bone15 -45 100/#bone16 48.14 24.93/#bone17 -154.22 100/#bone18 -22.27 100/#}/#k 10/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -8.13 100.07/#bone4 6.77 111.75/#bone5 -143.79 34.79/#bone6 -32.16 100/#bone7 49.15 100/#bone8 6.61 100/#bone9 -181.82 20.87/#bone10 -19.92 100/#bone11 39.85 100/#bone12 1.6 100/#bone13 42.83 46.13/#bone14 201.44 100/#bone15 -7.6 100/#bone16 48.14 24.93/#bone17 -181.13 100/#bone18 -15.87 100/#}/#k 20/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 -63.84 100/#bone7 29.95 100/#bone8 0.21 100/#bone9 -181.82 20.87/#bone10 7.6 100/#bone11 39.85 100/#bone12 3.2 100/#bone13 42.83 46.13/#bone14 186.83 100/#bone15 -45 100/#bone16 48.14 24.93/#bone17 -154.22 100/#bone18 -22.27 100/#}/#k 30/#{/#bone1 -143.55 100/#bone2 67.24 100/#bone3 22.67 100.07/#bone4 -2.03 111.75/#bone5 -143.79 34.79/#bone6 -21.44 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 6 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 228.27 100/#bone15 -23.56 100/#bone16 48.14 24.93/#bone17 -156.38 100/#bone18 -12.27 100/#}/#k 40/#{/#bone1 -205.08 112.74/#bone2 162.47 100/#bone3 -17.89 100.07/#bone4 -2.11 111.75/#bone5 -143.79 34.79/#bone6 39.8 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 57.97 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 384.07 100/#bone15 -23.6 100/#bone16 48.14 24.93/#bone17 -2.8 100/#bone18 -12.27 100/#}/#k 50/#{/#bone1 -250.61 193.89/#bone2 256.04 100/#bone3 -12.54 100.07/#bone4 -2.12 111.75/#bone5 -143.79 34.79/#bone6 -71.69 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 -0.36 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 402.09 100/#bone15 -23.6 100/#bone16 48.14 24.93/#bone17 34.03 100/#bone18 -12.27 100/#}/#k 60/#{/#bone1 -245.17 212/#bone2 171.4 100/#bone3 -48 100.07/#bone4 -20.12 111.75/#bone5 -143.79 34.79/#bone6 -32.83 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 83.81 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 430.9 100/#bone15 -86.6 100/#bone16 48.14 24.93/#bone17 81.71 100/#bone18 -120.27 100/#}/#k 70/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 -63.84 100/#bone7 29.95 100/#bone8 0.21 100/#bone9 -181.82 20.87/#bone10 7.6 100/#bone11 39.85 100/#bone12 3.2 100/#bone13 42.83 46.13/#bone14 186.83 100/#bone15 -45 100/#bone16 48.14 24.93/#bone17 -154.22 100/#bone18 -22.27 100/#}/#k 74/#{/#bone1 -160.82 100.32/#bone2 9.83 100/#bone3 35.58 100.07/#bone4 -6.39 111.75/#bone5 -143.79 34.79/#bone6 33.46 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 97.5 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 183.9 100/#bone15 -41.55 100/#bone16 48.14 24.93/#bone17 -187.29 100/#bone18 -67.47 100/#}/#k 80/#{/#bone1 -220.31 101.4/#bone2 58.72 100/#bone3 -8.19 100.07/#bone4 -7.64 111.75/#bone5 -143.79 34.79/#bone6 24.14 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 97.15 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 207.12 100/#bone15 -31.86 100/#bone16 48.14 24.93/#bone17 -134.54 100/#bone18 -24.27 100/#}/#k 86/#{/#bone1 -245.36 201.31/#bone2 74.64 100/#bone3 -4.54 100.07/#bone4 -7.53 111.75/#bone5 -143.79 34.79/#bone6 69.92 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 122.18 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 225.18 100/#bone15 -32.67 100/#bone16 48.14 24.93/#bone17 -138.93 100/#bone18 -27.87 100/#}/#k 90/#{/#bone1 -254.14 196.24/#bone2 76.59 100/#bone3 -1.81 100.07/#bone4 -7.46 111.75/#bone5 -143.79 34.79/#bone6 104.25 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 140.95 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 238.73 100/#bone15 -33.28 100/#bone16 48.14 24.93/#bone17 -127.23 100/#bone18 -30.57 100/#}/#k 100/#{/#bone1 -209.39 117.24/#bone2 71.38 100/#bone3 -31.62 100.07/#bone4 -7.45 111.75/#bone5 -143.79 34.79/#bone6 6.54 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 62.2 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 313.63 100/#bone15 -123.32 100/#bone16 48.14 24.93/#bone17 -100.45 100/#bone18 -100.75 100/#}/#k 110/#{/#bone1 -150.13 101.72/#bone2 49.66 100/#bone3 -6.16 100.07/#bone4 -6.17 111.75/#bone5 -143.79 34.79/#bone6 -86.8 100/#bone7 89.95 100/#bone8 0.21 100/#bone9 -181.82 20.87/#bone10 14.06 100/#bone11 39.85 100/#bone12 3.2 100/#bone13 42.83 46.13/#bone14 199.51 100/#bone15 -34.84 100/#bone16 48.14 24.93/#bone17 -148.84 100/#bone18 -21.12 100/#}/#k 111/#{/#bone1 -150.13 101.72/#bone2 49.66 100/#bone3 -6.16 100.07/#bone4 -6.17 111.75/#bone5 -143.79 34.79/#bone6 113.2 100/#bone7 89.95 100/#bone8 30.21 100/#bone9 -181.82 20.87/#bone10 54.06 100/#bone11 39.85 100/#bone12 3.2 100/#bone13 42.83 46.13/#bone14 199.51 100/#bone15 -34.84 100/#bone16 48.14 24.93/#bone17 -148.84 100/#bone18 -21.12 100/#}/#k 120/#{/#bone1 -173.26 101.57/#bone2 65.25 100/#bone3 -5.91 100.07/#bone4 9.65 111.75/#bone5 -120.09 32.81/#bone6 -1.83 100/#bone7 10.6 100/#bone8 -48.55 100/#bone9 -181.82 20.87/#bone10 -42.31 100/#bone11 19.32 100/#bone12 11.11 100/#bone13 42.83 46.13/#bone14 198.4 100/#bone15 -33.97 100/#bone16 48.14 24.93/#bone17 -109.81 100/#bone18 -36.15 100/#}/#k 121/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 56.16 100/#bone7 99.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 127.6 100/#bone11 69.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 186.83 100/#bone15 -25 100/#bone16 48.14 24.93/#bone17 -154.22 100/#bone18 -12.27 100/#}/#k 124/#{/#bone1 -162.79 113.72/#bone2 52.22 100/#bone3 -3.96 100.07/#bone4 -6.06 111.75/#bone5 -143.79 34.79/#bone6 13.28 100/#bone7 25.51 100/#bone8 10.21 100/#bone9 -181.82 20.87/#bone10 55.7 100/#bone11 -10.15 100/#bone12 5.35 105.57/#bone13 42.83 46.13/#bone14 209.65 100/#bone15 -40.52 100/#bone16 48.14 24.93/#bone17 -137.47 100/#bone18 -29.79 100/#}/#k 130/#{/#bone1 -218.91 153.72/#bone2 66.75 100/#bone3 -35.79 100.07/#bone4 -6.15 111.75/#bone5 -143.79 34.79/#bone6 38.21 100/#bone7 70.88 100/#bone8 -31.46 100/#bone9 -181.82 20.87/#bone10 71 100/#bone11 56.52 100/#bone12 15.79 121.81/#bone13 42.83 46.13/#bone14 266.2 100/#bone15 -105.78 100/#bone16 48.14 24.93/#bone17 -68.61 100/#bone18 -80.9 100/#}/#k 134/#{/#bone1 -218.91 153.72/#bone2 66.75 100/#bone3 -58.29 100.07/#bone4 -36.15 111.75/#bone5 -143.79 34.79/#bone6 75.71 100/#bone7 70.88 100/#bone8 -31.46 100/#bone9 -181.82 20.87/#bone10 108.5 100/#bone11 56.52 100/#bone12 15.79 121.81/#bone13 42.83 46.13/#bone14 266.2 100/#bone15 -105.78 100/#bone16 48.14 24.93/#bone17 -68.61 100/#bone18 -80.9 100/#}/#k 136/#{/#bone1 -243.91 223.72/#bone2 146.75 100/#bone3 -35.48 100.07/#bone4 -32.4 111.75/#bone5 -143.79 34.79/#bone6 -13.97 100/#bone7 70.88 100/#bone8 -31.46 100/#bone9 -181.82 20.87/#bone10 28.81 100/#bone11 56.52 100/#bone12 15.79 121.81/#bone13 42.83 46.13/#bone14 291.2 100/#bone15 -20.78 100/#bone16 48.14 24.93/#bone17 51.39 100/#bone18 -105.9 100/#}/#k 145/#{/#bone1 -154.7 113.75/#bone2 58.3 100/#bone3 -46.9 100.07/#bone4 -48.96 111.75/#bone5 -143.79 34.79/#bone6 -19.41 100/#bone7 61.17 100/#bone8 -38.86 100/#bone9 -181.82 20.87/#bone10 29.95 100/#bone11 41.7 100/#bone12 -30.95 102.42/#bone13 42.83 46.13/#bone14 198.43 100/#bone15 -24.54 100/#bone16 48.14 24.93/#bone17 -161.37 100/#bone18 -22.67 100/#}/#k 149/#{/#bone1 -156.33 103.44/#bone2 60.01 100/#bone3 -14.22 100.07/#bone4 23.24 111.75/#bone5 -143.79 34.79/#bone6 2.27 100/#bone7 60.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 80.69 100/#bone11 40.32 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 179.73 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -146.01 100/#bone18 -14.87 100/#}/#k 155/#{/#bone1 -166.33 113.44/#bone2 60.01 100/#bone3 -24.22 100.07/#bone4 23.24 111.75/#bone5 -143.79 34.79/#bone6 52.27 100/#bone7 60.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 70.69 100/#bone11 40.32 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 189.73 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -116.01 100/#bone18 -44.87 100/#}/#k 160/#{/#bone1 -156.33 103.44/#bone2 60.01 100/#bone3 -14.22 100.07/#bone4 23.24 111.75/#bone5 -143.79 34.79/#bone6 2.27 100/#bone7 60.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 80.69 100/#bone11 40.32 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 179.73 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -146.01 100/#bone18 -14.87 100/#}/#k 165/#{/#bone1 -148.33 105.44/#bone2 60.01 100/#bone3 -16.22 100.07/#bone4 -6.76 111.75/#bone5 -143.79 34.79/#bone6 12.27 100/#bone7 60.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 78.69 100/#bone11 40.32 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 201.73 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -160.01 100/#bone18 -20.87 100/#}/#";
bosMesh = new animatedMesh2D("bos0", bos, true);
}
}
static function initFootMesh() {
if (kakiMesh == undefined) {
kaki = "/#r -1.1 2.2/#b root bone1 19.37 -203.59/#b bone1 bone2 58.86 -67.48/#b bone2 bone3 54.36 -0.09/#b root bone4 56.77 -184.5/#b bone4 bone5 64.39 -87.51/#b bone5 bone6 53.35 4.42/#// vertices initialization /#v 3.7 2.2 bone2/#v 4 67 bone2/#v 31 69 bone3 bone2/#v 35 3 bone2/#v 39.95 125.8 bone3/#v 4 126 bone3/#v 41 0 bone5/#v 39 68 bone5/#v 42.9 124.3 bone6/#v 77.65 124.3 bone6/#v 68.05 69.55 bone6 bone5/#v 70.25 1.5 bone5/#v 4.05 74.55 bone3/#v 39.9 75.7 bone6/#//triangulation/#i 4/#i 5/#i 2/#i 5/#i 12/#i 2/#i 0/#i 3/#i 2/#i 1/#i 2/#i 0/#i 1/#i 2/#i 12/#i 8/#i 9/#i 10/#i 13/#i 10/#i 8/#i 7/#i 10/#i 13/#i 10/#i 6/#i 11/#i 7/#i 10/#i 6/#//key frames initialization/#k 1/#{/#bone1 -202.52 101.02/#bone2 -48.63 100/#bone3 -14.05 100/#bone4 -184.5 40/#bone5 -98.87 100/#bone6 -9.24 100/#}/#k 2/#{/#bone1 -203.59 100/#bone2 -17.48 100/#bone3 -50.09 100/#bone4 -184.5 40/#bone5 -97.51 100/#bone6 -88.08 100/#}/#k 5/#{/#bone1 -199.16 104.23/#bone2 -63.09 100/#bone3 -6.18 100/#bone4 -184.5 40/#bone5 -80.28 100/#bone6 -67.92 100/#}/#k 10/#{/#bone1 -191.78 111.29/#bone2 -85.77 100/#bone3 -66.34 100/#bone4 -184.5 40/#bone5 -51.57 100/#bone6 -34.33 100/#}/#k 15/#{/#bone1 -196.5 106.77/#bone2 -58.45 100/#bone3 -59.84 100/#bone4 -184.5 40/#bone5 -89.94 100/#bone6 4.17 100/#}/#k 20/#{/#bone1 -203.59 100/#bone2 -17.48 100/#bone3 -50.09 100/#bone4 -184.5 40/#bone5 -97.51 100/#bone6 -88.08 100/#}/#k 24/#{/#bone1 -202.17 101.35/#bone2 -5.68 100/#bone3 -122.04 100/#bone4 -184.5 40/#bone5 -85.99 100/#bone6 -9.63 100/#}/#k 27/#{/#bone1 -202.17 101.35/#bone2 -5.68 100/#bone3 -122.04 100/#bone4 -184.5 40/#bone5 -85.99 100/#bone6 -9.63 100/#}/#k 30/#{/#bone1 -202.52 101.02/#bone2 -48.63 100/#bone3 -14.05 100/#bone4 -184.5 40/#bone5 -98.87 100/#bone6 -9.24 100/#}/#k 35/#{/#bone1 -202.48 101.06/#bone2 -45.65 100/#bone3 -23.57 100/#bone4 -184.5 40/#bone5 -41.5 100/#bone6 -20.88 100/#}/#k 40/#{/#bone1 -202.42 101.12/#bone2 -80.58 100/#bone3 -4.75 100/#bone4 -184.5 40/#bone5 -93.96 100/#bone6 4.33 100/#}/#";
}
}
static function initBodyMesh() {
if (badanMesh == undefined) {
badan = "/#r 55.6 180.35/#b root bone1 61.09 -87.89/#b bone1 bone2 58.86 -3.18/#b bone2 bone3 45.23 -10.28/#b bone2 bone4 79.1 -54.83/#b bone4 bone5 63.89 -129.04/#b bone5 bone6 63.1 8.12/#b bone6 bone7 26.65 1.03/#b bone2 bone8 108.3 -64.75/#b bone8 bone9 61.96 -113.16/#b bone9 bone10 63.59 1.06/#b bone10 bone11 22.03 0.92/#// vertices initialization /#v 27.75 190.15 bone1/#v 34.1 126.6 bone1 bone2/#v 39.9 56.05 bone2 bone3/#v 44.5 6.95 bone3/#v 96.55 0.6 bone3/#v 91.35 71.1 bone2 bone3/#v 91.35 124.3 bone1 bone2/#v 85.55 190.15 bone1/#v 104.7 12.55 bone5/#v 103.6 79.1 bone5 bone6/#v 107.5 141.05 bone6 bone7/#v 134.65 15.85 bone5/#v 131.35 80.25 bone5/#v 133 143.25 bone6 bone7/#v 111 171.7 bone7/#v 134.3 172.85 bone7/#v 143.55 15.85 bone9/#v 143.55 81.35 bone9 bone10/#v 173.5 13.65 bone9/#v 171.3 79.1 bone9/#v 145.1 145.1 bone10 bone11/#v 167.95 141.25 bone10 bone11/#v 149.7 173.4 bone11/#v 171.9 172.3 bone11/#v 130.65 89 bone6/#v 168.2 87.85 bone10/#//triangulation/#i 8/#i 11/#i 9/#i 9/#i 12/#i 11/#i 9/#i 12/#i 24/#i 9/#i 10/#i 24/#i 24/#i 10/#i 13/#i 10/#i 13/#i 15/#i 10/#i 14/#i 15/#i 0/#i 7/#i 1/#i 1/#i 6/#i 7/#i 1/#i 2/#i 5/#i 1/#i 6/#i 5/#i 2/#i 5/#i 3/#i 3/#i 4/#i 5/#i 16/#i 18/#i 17/#i 17/#i 19/#i 18/#i 17/#i 19/#i 25/#i 17/#i 20/#i 25/#i 20/#i 21/#i 25/#i 20/#i 21/#i 22/#i 21/#i 23/#i 22/#//key frames initialization/#k 0/#{/#bone1 -87.89 100/#bone2 -33.18 100/#bone3 -10.28 100/#bone4 -118.72 25.18/#bone5 -60.88 100/#bone6 59 100/#bone7 -27.97 100/#bone8 -231.37 16.13/#bone9 55.83 100/#bone10 91.09 100/#bone11 -65.67 100/#}/#k 90/#{/#bone1 -87.89 100/#bone2 0.82 100/#bone3 -10.28 100/#bone4 -118.72 25.18/#bone5 3.12 100/#bone6 59 100/#bone7 -27.97 100/#bone8 -231.37 16.13/#bone9 105.83 100/#bone10 91.09 100/#bone11 -65.67 100/#}/#k 180/#{/#bone1 -72.89 100/#bone2 30.82 100/#bone3 -10.28 100/#bone4 -118.72 25.18/#bone5 43.12 100/#bone6 59 100/#bone7 -27.97 100/#bone8 -231.37 16.13/#bone9 135.83 100/#bone10 91.09 100/#bone11 -65.67 100/#}/#k 181/#{/#bone1 -102.89 100/#bone2 -49.18 100/#bone3 -20.28 100/#bone4 -118.72 25.18/#bone5 -56.88 100/#bone6 89 100/#bone7 -27.97 100/#bone8 -231.37 16.13/#bone9 105.83 100/#bone10 21.09 100/#bone11 -35.67 100/#}/#k 270/#{/#bone1 -76.22 100/#bone2 -22.51 100/#bone3 -11.39 100/#bone4 -118.72 25.18/#bone5 -7.99 100/#bone6 102.33 100/#bone7 -47.97 100/#bone8 -231.37 16.13/#bone9 132.49 100/#bone10 43.31 100/#bone11 -32.34 100/#}/#k 360/#{/#bone1 -79.19 100/#bone2 24.52 100/#bone3 17.62 100/#bone4 -118.72 25.18/#bone5 56.58 100/#bone6 80.85 100/#bone7 -45.75 100/#bone8 -231.37 16.13/#bone9 179.53 100/#bone10 40.85 100/#bone11 -32.71 100/#}/#k 361/#{/#bone1 -89.19 100/#bone2 -45.48 100/#bone3 -42.38 100/#bone4 -118.72 25.18/#bone5 -53.42 100/#bone6 70.85 100/#bone7 -35.75 100/#bone8 -231.37 16.13/#bone9 59.53 100/#bone10 100.85 100/#bone11 -62.71 100/#}/#k 450/#{/#bone1 -79.15 100/#bone2 -16 100/#bone3 -12.7 100/#bone4 -118.72 25.18/#bone5 -44.14 100/#bone6 81.09 100/#bone7 4.23 100/#bone8 -231.37 16.13/#bone9 69.01 100/#bone10 90.87 100/#bone11 -12.71 100/#}/#k 540/#{/#bone1 -79.27 100/#bone2 23.67 100/#bone3 16.97 100/#bone4 -118.72 25.18/#bone5 35.76 100/#bone6 80.98 100/#bone7 -26.22 100/#bone8 -231.37 16.13/#bone9 128.9 100/#bone10 90.98 100/#bone11 -13.27 100/#}/#k 543/#{/#bone1 -80.32 100/#bone2 32.7 100/#bone3 -43.36 100/#bone4 -118.72 25.18/#bone5 -19.34 100/#bone6 110.98 100/#bone7 -95.88 100/#bone8 -231.37 16.13/#bone9 124.02 100/#bone10 59.4 100/#bone11 -85.89 100/#}/#k 544/#{/#bone1 -80.32 100/#bone2 32.7 100/#bone3 -43.36 100/#bone4 -118.72 25.18/#bone5 -19.34 100/#bone6 110.98 100/#bone7 -55.88 100/#bone8 -231.37 16.13/#bone9 124.02 100/#bone10 59.4 100/#bone11 -35.89 100/#}/#k 560/#{/#bone1 -116.97 100/#bone2 -39.57 100/#bone3 -8.2 100/#bone4 -118.72 25.18/#bone5 -47.99 100/#bone6 95.16 100/#bone7 -94.55 100/#bone8 -231.37 16.13/#bone9 107.72 100/#bone10 34.43 100/#bone11 -59.95 100/#}/#k 561/#{/#bone1 -84.68 100/#bone2 4.95 100/#bone3 19.6 100/#bone4 -118.72 25.18/#bone5 33.81 100/#bone6 76.14 100/#bone7 7.86 100/#bone8 -231.37 16.13/#bone9 128.74 100/#bone10 85.99 100/#bone11 11.56 100/#}/#k 565/#{/#bone1 -84.68 100/#bone2 4.95 100/#bone3 19.6 100/#bone4 -118.72 25.18/#bone5 3.81 100/#bone6 126.14 100/#bone7 7.86 100/#bone8 -231.37 16.13/#bone9 108.74 100/#bone10 105.99 100/#bone11 11.56 100/#}/#k 568/#{/#bone1 -84.68 100/#bone2 4.95 100/#bone3 19.6 100/#bone4 -118.72 25.18/#bone5 -114.53 100/#bone6 77.81 100/#bone7 7.86 100/#bone8 -231.37 16.13/#bone9 112.08 100/#bone10 102.65 100/#bone11 11.56 100/#}/#k 571/#{/#bone1 -84.68 100/#bone2 4.95 100/#bone3 19.6 100/#bone4 -118.72 25.18/#bone5 -115.08 100/#bone6 93.92 100/#bone7 7.86 100/#bone8 -231.37 16.13/#bone9 110.97 100/#bone10 103.76 100/#bone11 11.56 100/#}/#k 575/#{/#bone1 -84.68 100/#bone2 4.95 100/#bone3 19.6 100/#bone4 -118.72 25.18/#bone5 25.1 100/#bone6 108.55 100/#bone7 -32.14 100/#bone8 -231.37 16.13/#bone9 111.34 100/#bone10 103.39 100/#bone11 11.56 100/#}/#k 580/#{/#bone1 -84.68 100/#bone2 4.95 100/#bone3 19.6 100/#bone4 -118.72 25.18/#bone5 -34.94 100/#bone6 145.63 100/#bone7 -24.14 100/#bone8 -231.37 16.13/#bone9 91.26 100/#bone10 113.47 100/#bone11 11.56 100/#}/#k 584/#{/#bone1 -84.68 100/#bone2 4.95 100/#bone3 19.6 100/#bone4 -118.72 25.18/#bone5 -34.94 100/#bone6 145.63 100/#bone7 -24.14 100/#bone8 -231.37 16.13/#bone9 81.26 100/#bone10 123.47 100/#bone11 11.56 100/#}/#k 586/#{/#bone1 -84.68 100/#bone2 -5.05 100/#bone3 -10.4 100/#bone4 -118.72 25.18/#bone5 -34.94 100/#bone6 15.63 100/#bone7 5.86 100/#bone8 -231.37 16.13/#bone9 23.76 100/#bone10 10.97 100/#bone11 11.56 100/#}/#k 596/#{/#bone1 -84.68 100/#bone2 -5.05 100/#bone3 -10.4 100/#bone4 -118.72 25.18/#bone5 -127.94 100/#bone6 65.63 100/#bone7 5.86 100/#bone8 -231.37 16.13/#bone9 81.36 100/#bone10 70.97 100/#bone11 11.56 100/#}/#k 606/#{/#bone1 -84.68 100/#bone2 -5.05 100/#bone3 -10.4 100/#bone4 -118.72 25.18/#bone5 -44.24 100/#bone6 80.63 100/#bone7 5.86 100/#bone8 -231.37 16.13/#bone9 -10.48 100/#bone10 66.97 100/#bone11 11.56 100/#}/#k 610/#{/#bone1 -84.68 100/#bone2 -5.05 100/#bone3 -10.4 100/#bone4 -118.72 25.18/#bone5 -104.2 100/#bone6 82.34 100/#bone7 2.7 100/#bone8 -226.62 16.13/#bone9 30.95 100/#bone10 37.8 100/#bone11 8 100/#}/#k 613/#{/#bone1 -84.68 100/#bone2 -5.05 100/#bone3 -10.4 100/#bone4 -118.72 25.18/#bone5 -89.21 100/#bone6 81.91 100/#bone7 3.49 100/#bone8 -227.81 16.13/#bone9 40.59 100/#bone10 45.09 100/#bone11 8.89 100/#}/#k 617/#{/#bone1 -84.68 100/#bone2 -35.05 100/#bone3 -26.47 100/#bone4 -118.72 25.18/#bone5 -52.96 100/#bone6 56.24 100/#bone7 3.41 100/#bone8 -227.68 16.13/#bone9 42.77 100/#bone10 28.24 100/#bone11 5.58 100/#}/#k 620/#{/#bone1 -84.68 100/#bone2 -5.05 100/#bone3 9.6 100/#bone4 -118.72 25.18/#bone5 -54.21 100/#bone6 2.05 100/#bone7 3.23 100/#bone8 -227.41 16.13/#bone9 47.38 100/#bone10 -7.34 100/#bone11 -1.41 100/#}/#k 625/#{/#bone1 -84.68 100/#bone2 4.95 100/#bone3 -2.42 100/#bone4 -118.72 25.18/#bone5 -93.79 100/#bone6 20.12 100/#bone7 3.29 100/#bone8 -227.5 16.13/#bone9 25.84 100/#bone10 4.52 100/#bone11 0.92 100/#}/#k 628/#{/#bone1 -84.68 100/#bone2 2.95 100/#bone3 -0.02 100/#bone4 -118.72 25.18/#bone5 -85.87 100/#bone6 16.51 100/#bone7 3.28 100/#bone8 -227.48 16.13/#bone9 30.15 100/#bone10 2.15 100/#bone11 0.45 100/#}/#k 630/#{/#bone1 -87.89 100/#bone2 -33.18 100/#bone3 -10.28 100/#bone4 -118.72 25.18/#bone5 -60.88 100/#bone6 59 100/#bone7 -27.97 100/#bone8 -231.37 16.13/#bone9 55.83 100/#bone10 91.09 100/#bone11 -65.67 100/#}/#k 635/#{/#bone1 -87.88 100/#bone2 -25.16 100/#bone3 -6.73 100/#bone4 -118.72 25.18/#bone5 -40.25 100/#bone6 36.07 100/#bone7 -24.77 100/#bone8 -231.36 16.13/#bone9 41.76 100/#bone10 416.78 101.38/#bone11 -13.25 100/#}/#k 638/#{/#bone1 -87.88 100/#bone2 -24.77 100/#bone3 -6.56 100/#bone4 -118.72 25.18/#bone5 -39.14 83.33/#bone6 34.96 83.33/#bone7 -24.61 93.33/#bone8 -231.36 15.96/#bone9 35.47 99.77/#bone10 415.1 101.45/#bone11 -22.36 100/#}/#k 648/#{/#bone1 -87.88 100/#bone2 -24.53 100/#bone3 -6.45 100/#bone4 -118.72 25.18/#bone5 -107.25 78.33/#bone6 57.3 98.33/#bone7 -9.94 99.33/#bone8 -231.36 15.85/#bone9 51.17 99.63/#bone10 394.34 101.49/#bone11 -28.12 100/#}/#k 658/#{/#bone1 -87.88 100/#bone2 -24.31 100/#bone3 -6.35 100/#bone4 -118.72 25.18/#bone5 -45.47 90/#bone6 36.19 90/#bone7 -22.81 90/#bone8 -231.36 15.75/#bone9 30.13 99.5/#bone10 410.89 101.53/#bone11 -33.24 100/#}/#";
}
}
static function initZombieMesh() {
if (zombie1 == undefined) {
zombie1 = "/#r -10.4 149.15/#b root bone1 33.07 -143.55/#b bone1 bone2 41.9 47.24/#b bone2 bone3 45.1 5.54/#b bone3 bone4 13.96 -6.44/#b bone4 bone19 10.6 4.49/#b bone19 bone20 10.23 4.56/#b bone3 bone5 42.87 -63.75/#b bone5 bone6 41.62 -113.84/#b bone6 bone7 41.07 -0.05/#b bone7 bone8 17.36 0.21/#b bone3 bone9 63.79 -75.08/#b bone9 bone10 37.62 -102.4/#b bone10 bone11 41.07 -0.15/#b bone11 bone12 20.87 3.2/#b bone1 bone13 20.41 -118.28/#b bone13 bone14 46.43 -3.17/#b bone14 bone15 47.4 -5/#b bone1 bone16 48.96 -59.35/#b bone16 bone17 45.71 -64.22/#b bone17 bone18 51.45 -2.27/#// vertices initialization /#v 48.55 253.2 bone15/#v 54.35 253.2 bone18/#v 90.2 254.35 bone18/#v 49.7 200.6 bone18/#v 49.7 189.6 bone17/#v 81.5 194.8 bone18 bone17/#v 86.15 137 bone17/#v 51.45 138.15 bone17/#v 52.05 17.9 bone6/#v 69.35 16.2 bone6/#v 71.1 64.15 bone7 bone6/#v 75.15 107.5 bone8 bone7/#v 75.15 127.75 bone8/#v 54.35 128.9 bone8/#v 54.35 106.95 bone8 bone7/#v 52.05 68.2 bone7/#v 52.05 60.7 bone6/#v 39.3 141.05 bone14/#v 2.9 140.45 bone14/#v 41.65 192.5 bone15 bone14/#v 11 252 bone15/#v 8.7 199.4 bone15/#v 6.95 187.3 bone14/#v 1.15 135.85 bone2/#v 33.55 134.7 bone2/#v 45.65 87.3 bone2 bone3/#v -4.05 80.9 bone2 bone3/#v 46.85 48.55 bone3 bone4 bone20/#v 5.2 36.4 bone3 bone4 bone20/#v 7.5 4.6 bone4 bone20/#v 42.8 4.6 bone4 bone20/#v 75.75 15.6 bone10/#v 75.75 59.55 bone10/#v 75.75 68.2 bone11/#v 96.55 64.75 bone11 bone10/#v 95.4 16.75 bone10/#v 77.45 106.95 bone12 bone11/#v 99.45 107.5 bone12 bone11/#v 80.35 128.3 bone12/#v 98.3 127.75 bone12/#v 3.5 9.85 bone19/#v 2.9 26.6 bone19/#v 46.85 12.15 bone19/#v 47.4 29.5 bone19/#v 4.65 36.4 bone4/#v 46.25 47.4 bone4/#//triangulation/#i 40/#i 42/#i 43/#i 40/#i 41/#i 43/#i 8/#i 9/#i 16/#i 16/#i 10/#i 9/#i 10/#i 15/#i 16/#i 11/#i 14/#i 15/#i 10/#i 15/#i 11/#i 13/#i 14/#i 11/#i 12/#i 13/#i 11/#i 0/#i 20/#i 21/#i 19/#i 21/#i 0/#i 19/#i 21/#i 22/#i 18/#i 22/#i 17/#i 22/#i 19/#i 17/#i 23/#i 24/#i 26/#i 25/#i 26/#i 24/#i 25/#i 26/#i 28/#i 27/#i 28/#i 25/#i 1/#i 2/#i 3/#i 3/#i 4/#i 5/#i 2/#i 5/#i 3/#i 5/#i 4/#i 6/#i 6/#i 7/#i 4/#i 31/#i 35/#i 32/#i 35/#i 34/#i 32/#i 32/#i 33/#i 34/#i 34/#i 37/#i 36/#i 36/#i 33/#i 34/#i 37/#i 39/#i 38/#i 36/#i 37/#i 38/#i 44/#i 45/#i 29/#i 29/#i 45/#i 30/#//key frames initialization/#k 0/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 36.16 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 97.6 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 186.83 100/#bone15 -25 100/#bone16 48.14 24.93/#bone17 -154.22 100/#bone18 -12.27 100/#}/#k 5/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -23.33 100.07/#bone4 13.97 111.75/#bone5 -143.79 34.79/#bone6 48.16 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 89.6 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 194.03 100/#bone15 -17.8 100/#bone16 48.14 24.93/#bone17 -165.02 100/#bone18 -12.27 100/#}/#k 10/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 66.16 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 77.6 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 204.83 100/#bone15 -7 100/#bone16 48.14 24.93/#bone17 -181.22 100/#bone18 -12.27 100/#}/#k 15/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -23.33 100.07/#bone4 13.97 111.75/#bone5 -143.79 34.79/#bone6 48.16 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 89.6 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 194.03 100/#bone15 -17.8 100/#bone16 48.14 24.93/#bone17 -165.02 100/#bone18 -12.27 100/#}/#k 20/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 36.16 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 97.6 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 186.83 100/#bone15 -25 100/#bone16 48.14 24.93/#bone17 -154.22 100/#bone18 -12.27 100/#}/#k 30/#{/#bone1 -143.55 100/#bone2 67.24 100/#bone3 22.67 100.07/#bone4 -2.03 111.75/#bone5 -143.79 34.79/#bone6 -21.44 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 6 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 228.27 100/#bone15 -23.56 100/#bone16 48.14 24.93/#bone17 -156.38 100/#bone18 -12.27 100/#}/#k 37/#{/#bone1 -128.76 109.36/#bone2 148.63 100/#bone3 32.87 100.07/#bone4 -2.09 111.75/#bone5 -143.79 34.79/#bone6 -76.45 100/#bone7 9.95 100/#bone8 0.21 100/#bone9 -181.82 20.87/#bone10 -45.82 100/#bone11 -10.15 100/#bone12 3.2 100/#bone13 42.83 46.13/#bone14 272.74 100/#bone15 -23.59 100/#bone16 48.14 24.93/#bone17 -43.55 100/#bone18 -12.27 100/#}/#k 45/#{/#bone1 -250.94 158.2/#bone2 240.48 100/#bone3 -5.99 100.07/#bone4 -2.11 111.75/#bone5 -143.79 34.79/#bone6 12.55 100/#bone7 48.23 100/#bone8 -30.42 100/#bone9 -181.82 20.87/#bone10 33.64 100/#bone11 28.13 100/#bone12 -27.42 100/#bone13 42.83 46.13/#bone14 430.48 100/#bone15 -23.6 100/#bone16 48.14 24.93/#bone17 47.65 100/#bone18 -12.27 100/#}/#k 50/#{/#bone1 -250.61 193.89/#bone2 256.04 100/#bone3 -12.54 100.07/#bone4 -2.12 111.75/#bone5 -143.79 34.79/#bone6 -71.69 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 -0.36 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 402.09 100/#bone15 -23.6 100/#bone16 48.14 24.93/#bone17 34.03 100/#bone18 -12.27 100/#}/#k 60/#{/#bone1 -245.17 212/#bone2 171.4 100/#bone3 -48 100.07/#bone4 -20.12 111.75/#bone5 -143.79 34.79/#bone6 -32.83 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 83.81 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 430.9 100/#bone15 -86.6 100/#bone16 48.14 24.93/#bone17 81.71 100/#bone18 -120.27 100/#}/#k 70/#{/#bone1 -153.71 91.2/#bone2 59.66 100/#bone3 -7.79 100.07/#bone4 -7.44 111.75/#bone5 -143.79 34.79/#bone6 29.26 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 96.22 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 211.24 100/#bone15 -31.16 100/#bone16 48.14 24.93/#bone17 -130.62 100/#bone18 -23.07 100/#}/#k 74/#{/#bone1 -160.82 100.32/#bone2 9.83 100/#bone3 35.58 100.07/#bone4 -6.39 111.75/#bone5 -143.79 34.79/#bone6 33.46 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 97.5 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 183.9 100/#bone15 -41.55 100/#bone16 48.14 24.93/#bone17 -187.29 100/#bone18 -67.47 100/#}/#k 80/#{/#bone1 -220.31 101.4/#bone2 58.72 100/#bone3 -8.19 100.07/#bone4 -7.64 111.75/#bone5 -143.79 34.79/#bone6 24.14 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 97.15 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 207.12 100/#bone15 -31.86 100/#bone16 48.14 24.93/#bone17 -134.54 100/#bone18 -24.27 100/#}/#k 86/#{/#bone1 -245.36 201.31/#bone2 74.64 100/#bone3 -4.54 100.07/#bone4 -7.53 111.75/#bone5 -143.79 34.79/#bone6 69.92 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 122.18 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 225.18 100/#bone15 -32.67 100/#bone16 48.14 24.93/#bone17 -138.93 100/#bone18 -27.87 100/#}/#k 90/#{/#bone1 -254.14 196.24/#bone2 76.59 100/#bone3 -1.81 100.07/#bone4 -7.46 111.75/#bone5 -143.79 34.79/#bone6 104.25 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 140.95 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 238.73 100/#bone15 -33.28 100/#bone16 48.14 24.93/#bone17 -127.23 100/#bone18 -30.57 100/#}/#k 100/#{/#bone1 -209.39 117.24/#bone2 71.38 100/#bone3 -31.62 100.07/#bone4 -7.45 111.75/#bone5 -143.79 34.79/#bone6 6.54 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 62.2 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 313.63 100/#bone15 -123.32 100/#bone16 48.14 24.93/#bone17 -100.45 100/#bone18 -100.75 100/#}/#k 110/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 36.16 100/#bone7 59.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 97.6 100/#bone11 39.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 186.83 100/#bone15 -25 100/#bone16 48.14 24.93/#bone17 -154.22 100/#bone18 -12.27 100/#}/#k 111/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 56.16 100/#bone7 99.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 127.6 100/#bone11 69.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 186.83 100/#bone15 -25 100/#bone16 48.14 24.93/#bone17 -154.22 100/#bone18 -12.27 100/#}/#k 120/#{/#bone1 -150.13 101.72/#bone2 49.66 100/#bone3 -6.16 100.07/#bone4 -6.17 111.75/#bone5 -143.79 34.79/#bone6 43.2 100/#bone7 -10.05 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 44.06 100/#bone11 9.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 199.51 100/#bone15 -34.84 100/#bone16 48.14 24.93/#bone17 -148.84 100/#bone18 -21.12 100/#}/#k 121/#{/#bone1 -143.55 100/#bone2 47.24 100/#bone3 -3.33 100.07/#bone4 -6.03 111.75/#bone5 -143.79 34.79/#bone6 56.16 100/#bone7 99.95 100/#bone8 -39.79 100/#bone9 -181.82 20.87/#bone10 127.6 100/#bone11 69.85 100/#bone12 -36.8 100/#bone13 42.83 46.13/#bone14 186.83 100/#bone15 -25 100/#bone16 48.14 24.93/#bone17 -154.22 100/#bone18 -12.27 100/#}/#k 124/#{/#bone1 -162.79 113.72/#bone2 52.22 100/#bone3 -3.96 100.07/#bone4 -6.06 111.75/#bone5 -143.79 34.79/#bone6 13.28 100/#bone7 25.51 100/#bone8 10.21 100/#bone9 -181.82 20.87/#bone10 55.7 100/#bone11 -10.15 100/#bone12 5.35 105.57/#bone13 42.83 46.13/#bone14 209.65 100/#bone15 -40.52 100/#bone16 48.14 24.93/#bone17 -137.47 100/#bone18 -29.79 100/#}/#k 130/#{/#bone1 -218.91 153.72/#bone2 66.75 100/#bone3 -35.79 100.07/#bone4 -6.15 111.75/#bone5 -143.79 34.79/#bone6 38.21 100/#bone7 70.88 100/#bone8 -31.46 100/#bone9 -181.82 20.87/#bone10 71 100/#bone11 56.52 100/#bone12 15.79 121.81/#bone13 42.83 46.13/#bone14 266.2 100/#bone15 -105.78 100/#bone16 48.14 24.93/#bone17 -68.61 100/#bone18 -80.9 100/#}/#k 134/#{/#bone1 -218.91 153.72/#bone2 66.75 100/#bone3 -58.29 100.07/#bone4 -36.15 111.75/#bone5 -143.79 34.79/#bone6 75.71 100/#bone7 70.88 100/#bone8 -31.46 100/#bone9 -181.82 20.87/#bone10 108.5 100/#bone11 56.52 100/#bone12 15.79 121.81/#bone13 42.83 46.13/#bone14 266.2 100/#bone15 -105.78 100/#bone16 48.14 24.93/#bone17 -68.61 100/#bone18 -80.9 100/#}/#k 136/#{/#bone1 -243.91 223.72/#bone2 146.75 100/#bone3 -35.48 100.07/#bone4 -32.4 111.75/#bone5 -143.79 34.79/#bone6 -13.97 100/#bone7 70.88 100/#bone8 -31.46 100/#bone9 -181.82 20.87/#bone10 28.81 100/#bone11 56.52 100/#bone12 15.79 121.81/#bone13 42.83 46.13/#bone14 291.2 100/#bone15 -20.78 100/#bone16 48.14 24.93/#bone17 51.39 100/#bone18 -105.9 100/#}/#k 145/#{/#bone1 -154.7 113.75/#bone2 58.3 100/#bone3 -46.9 100.07/#bone4 -48.96 111.75/#bone5 -143.79 34.79/#bone6 -19.41 100/#bone7 61.17 100/#bone8 -38.86 100/#bone9 -181.82 20.87/#bone10 29.95 100/#bone11 41.7 100/#bone12 -30.95 102.42/#bone13 42.83 46.13/#bone14 198.43 100/#bone15 -24.54 100/#bone16 48.14 24.93/#bone17 -161.37 100/#bone18 -22.67 100/#}/#k 149/#{/#bone1 -156.33 103.44/#bone2 60.01 100/#bone3 -14.22 100.07/#bone4 23.24 111.75/#bone5 -143.79 34.79/#bone6 2.27 100/#bone7 60.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 80.69 100/#bone11 40.32 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 179.73 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -146.01 100/#bone18 -14.87 100/#}/#k 155/#{/#bone1 -166.33 113.44/#bone2 60.01 100/#bone3 -24.22 100.07/#bone4 23.24 111.75/#bone5 -143.79 34.79/#bone6 52.27 100/#bone7 60.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 70.69 100/#bone11 40.32 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 189.73 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -116.01 100/#bone18 -44.87 100/#}/#k 160/#{/#bone1 -156.33 103.44/#bone2 60.01 100/#bone3 -14.22 100.07/#bone4 23.24 111.75/#bone5 -143.79 34.79/#bone6 2.27 100/#bone7 60.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 80.69 100/#bone11 40.32 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 179.73 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -146.01 100/#bone18 -14.87 100/#}/#k 165/#{/#bone1 -148.33 105.44/#bone2 60.01 100/#bone3 -16.22 100.07/#bone4 -6.76 111.75/#bone5 -143.79 34.79/#bone6 12.27 100/#bone7 60.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 78.69 100/#bone11 40.32 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 201.73 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -160.01 100/#bone18 -20.87 100/#}/#k 170/#{/#bone1 -156.33 103.44/#bone2 60.01 100/#bone3 -14.22 100.07/#bone4 23.24 111.75/#bone5 -143.79 34.79/#bone6 2.27 100/#bone7 60.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 80.69 100/#bone11 40.32 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 179.73 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -146.01 100/#bone18 -14.87 100/#}/#k 174/#{/#bone1 -242.63 228.74/#bone2 67.51 100/#bone3 15.48 100.07/#bone4 18.74 111.75/#bone5 -143.79 34.79/#bone6 108.77 100/#bone7 40.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 50.39 100/#bone11 112.82 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 198.03 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -155.61 100/#bone18 -15.77 100/#}/#k 175/#{/#bone1 -242.63 228.74/#bone2 67.51 100/#bone3 15.48 100.07/#bone4 18.74 111.75/#bone5 -143.79 34.79/#bone6 8.77 100/#bone7 140.26 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 50.39 100/#bone11 112.82 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 198.03 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -155.61 100/#bone18 -15.77 100/#}/#k 180/#{/#bone1 -243.08 233.87/#bone2 68.04 100/#bone3 17.58 100.07/#bone4 18.42 111.75/#bone5 -143.79 34.79/#bone6 56.5 100/#bone7 81.92 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 100.92 100/#bone11 58.85 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 199.33 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -156.28 100/#bone18 -15.84 100/#}/#k 185/#{/#bone1 -243.09 234.03/#bone2 74.46 100/#bone3 24.05 100.07/#bone4 18.41 111.75/#bone5 -143.79 34.79/#bone6 -7.57 100/#bone7 110.46 100/#bone8 8.44 100/#bone9 -181.82 20.87/#bone10 27.5 100/#bone11 87.12 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 199.37 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -156.31 100/#bone18 -15.84 100/#}/#k 190/#{/#bone1 -243.1 234.08/#bone2 66.06 100/#bone3 15.66 100.07/#bone4 18.41 111.75/#bone5 -143.79 34.79/#bone6 96.41 100/#bone7 47.59 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 64.14 100/#bone11 106.69 100/#bone12 -35.33 100.61/#bone13 42.83 46.13/#bone14 199.38 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -156.31 100/#bone18 -15.84 100/#}/#k 195/#{/#bone1 -243.09 234.05/#bone2 67.59 100/#bone3 17.19 100.07/#bone4 18.41 111.75/#bone5 -143.79 34.79/#bone6 32.82 100/#bone7 95.82 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 48.69 100/#bone11 100.57 100/#bone12 28.67 100.61/#bone13 42.83 46.13/#bone14 199.37 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -156.31 100/#bone18 -15.84 100/#}/#k 200/#{/#bone1 -243.09 234.05/#bone2 75.59 100/#bone3 17.19 100.07/#bone4 18.41 111.75/#bone5 -143.79 34.79/#bone6 -31.18 100/#bone7 123.82 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 16.69 100/#bone11 100.57 100/#bone12 28.67 100.61/#bone13 42.83 46.13/#bone14 199.37 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -156.31 100/#bone18 -15.84 100/#}/#k 205/#{/#bone1 -242.73 229.8/#bone2 69.12 100/#bone3 15.82 100.07/#bone4 18.67 111.75/#bone5 -143.79 34.79/#bone6 0.78 100/#bone7 126.97 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 43.65 100/#bone11 110.37 100/#bone12 -22.53 100.61/#bone13 42.83 46.13/#bone14 198.3 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -155.75 100/#bone18 -15.79 100/#}/#k 209/#{/#bone1 -242.73 229.8/#bone2 69.52 100/#bone3 15.82 100.07/#bone4 18.67 111.75/#bone5 -213.79 34.79/#bone6 77.58 100/#bone7 123.37 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 42.05 100/#bone11 110.37 100/#bone12 -22.53 100.61/#bone13 42.83 46.13/#bone14 198.3 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -155.75 100/#bone18 -15.79 100/#}/#k 215/#{/#bone1 -242.71 229.65/#bone2 80.11 100/#bone3 46.65 100.07/#bone4 36.65 111.75/#bone5 -203.66 34.79/#bone6 94.27 100/#bone7 70.84 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 44.46 100/#bone11 64.42 100/#bone12 -24.39 100.61/#bone13 42.83 46.13/#bone14 198.26 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -155.73 100/#bone18 -15.78 100/#}/#k 220/#{/#bone1 -242.73 229.8/#bone2 69.52 100/#bone3 15.82 100.07/#bone4 18.67 111.75/#bone5 -213.79 34.79/#bone6 77.58 100/#bone7 123.37 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 42.05 100/#bone11 110.37 100/#bone12 -22.53 100.61/#bone13 42.83 46.13/#bone14 198.3 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -155.75 100/#bone18 -15.79 100/#}/#k 225/#{/#bone1 -242.72 229.77/#bone2 71.64 100/#bone3 51.99 100.07/#bone4 42.27 111.75/#bone5 -211.76 34.79/#bone6 130.92 100/#bone7 112.86 100/#bone8 -9.56 100/#bone9 -181.82 20.87/#bone10 112.53 100/#bone11 101.18 100/#bone12 7.09 100.61/#bone13 42.83 46.13/#bone14 198.29 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -155.74 100/#bone18 -15.79 100/#}/#k 230/#{/#bone1 -242.73 229.8/#bone2 69.52 100/#bone3 15.82 100.07/#bone4 18.67 111.75/#bone5 -213.79 34.79/#bone6 77.58 100/#bone7 123.37 100/#bone8 -39.56 100/#bone9 -181.82 20.87/#bone10 42.05 100/#bone11 110.37 100/#bone12 -22.53 100.61/#bone13 42.83 46.13/#bone14 198.3 100/#bone15 -4.89 100/#bone16 48.14 24.93/#bone17 -155.75 100/#bone18 -15.79 100/#}/#";
zombie1Mesh = new animatedMesh2D("zombie", zombie1, true);
}
}
static function initMeshes() {
}
static function initConfersation() {
if (cine0 == undefined) {
cine0 = "I\u2019m Zack, a biochemical student.\n";
cine0 = cine0 + "I\u2019m doing a research with Professor Rudolf\n";
cine0 = cine0 + "on cell \u201CB\u201D. Cell B is lymphocyte.\n";
cine0 = cine0 + "It produces antibody against antigen.\n";
cine0 = cine0 + "This invention enables humans to be more\n";
cine0 = cine0 + "resistant to diseases. Professor Rudolf said\n";
cine0 = cine0 + "IN THE FUTURE\nHUMANS WILL NOT DIE FROM DISEASES.\n#";
cine0 = cine0 + "Professor Rudolf should have been\nin the lab today,\n";
cine0 = cine0 + "but he hasn\u2019t shown up.\n";
cine0 = cine0 + "There\u2019s something strange; some serums\n";
cine0 = cine0 + "and files of important formulae are gone.\n";
cine0 = cine0 + "I also see drips of blood\nunder professor\u2019s desk...\n";
cine0 = cine0 + "I have to find out what happened!!!!!!!#";
cine0 = cine0 + "Oooohhh this is the place.\n";
cine0 = cine0 + "The incoming call in the professor\u2019s office\n";
cine0 = cine0 + "is from this place...\n";
cine0 = cine0 + "I hope this is the right address,\n";
cine0 = cine0 + "I feel sure\nthat I\u2019m going to get a clue inside...\n#";
cine0 = cine0 + "It\u2019s weird the door is unlocked...\n";
cine0 = cine0 + "I\u2019ll definitely get some clues inside.\n";
}
if (cine1 == undefined) {
cine1 = "[Zack]\n\u201CProfessor Rudolf!!!!!!\u201D\n\n";
cine1 = cine1 + "[Prof. Rudolf]\n\u201C Hi Zack\u201D\n";
cine1 = cine1 + "\u201CI think I can make it...\u201D*\n";
cine1 = cine1 + "Zack approaches Prof. Rudolf.\n\n";
cine1 = cine1 + "[Prof Rudolf]\n\u201CStop Zack...keep away!!!\u201D*\n";
cine1 = cine1 + "\u201CThe serum that we were working on\nhas infected everybody here...\u201D\n";
cine1 = cine1 + "\u201CIt\u2019s difficult for me to believe\nthat what I dreamt for to be the cure\nfor many people, turned into the killer\nfor myself and everybody else.\u201D\n#";
cine1 = cine1 + "[Zack]\n\u201DSo everybody has been infected\nby our serum?\u201D\n\n";
cine1 = cine1 + "[Prof Rudolf]\n\u201CWe hadn\u2019t tested it on humans before...*\nbut they injected it into them.*\nIt makes them stronger yet causes them\nto lose control over the brain.#";
cine1 = cine1 + "[Zack]\n\u201CWho are they?\u201D\n\n";
cine1 = cine1 + "[Prof Rudolf]\n\u201CWe don\u2019t have enough time,*\nwithin two days\nthis serum will kill its main body.*\nThe antidote is in the lab,*\nfind it Zack!!!!\u201D*\n\u201DThese innocent people\u2019s lives\nare in your hand.\u201D\n#";
cine1 = cine1 + "[Prof Rudolf]\n\u201C\u201CKill me Zack,* I have been infected...\u201D\n";
cine1 = cine1 + "Professor starts to mumble\nand struggle gets loose.//\n\n";
cine1 = cine1 + "[Zack]\n\u201CNo my friend, I\u2019m going to cure you.*\u201D\n\n";
cine1 = cine1 + "\u201CArghhhhh...*\u201D\nProfessor starts to transform\ninto a zombie...\n";
}
if (cine2 == undefined) {
cine2 = "[ZACK]\nFinally I found the exit\nI have to go to the lab right away.";
}
if (cine3 == undefined) {
cine3 = "[ZACK]\nIt\u2019s impossible to fight\nall the zombies in this city,\nI\u2019m running out of my time and ammunition,\nI have to go inside the sewer...\n#I\u2019m terrified...**\nmy family...\n*my friends...*\nI have to go to the lab\nthrough this sewer right away..\n";
cine3 = cine3 + "\n\nTo be continued...\n***";
}
}
//ASSetPropFlags(_local1, null, 1);
static var DEGTORAD = 180 / Math.PI;
static var RADTODEG = (1 / Math.PI) * 180;
static var P_ENUM_DRAW_TO_SURFACE = 3;
static var P_ENUM_SCALE_THEN_DRAW = 4;
static var P_ENUM_NOTHING = 5;
static var P_GRAFITY = 1.8;
static var P_WORLD_X = 0;
static var P_WORLD_Y = 0;
static var ROOM_DEBUG = false;
static var USE_ZACK_BUFFER = true;
static var globalScaleX = Stage.width / 600;
static var globalScaleY = Stage.height / 325;
static var useZombieBank = true;
static var beginroom = 0;
static var useZombieFB = false;
static var difficult = 2;
}
Symbol 20503 MovieClip [__Packages.enemySpawner] Frame 0
class enemySpawner
{
var coreRoom, manager, quota, maxZombieSpawn, spawnType, enemyTypes, eraseMe, zombieStartingState, _x, _y, spawnDelayCounter, bankInitiated, active, spawnDelay, bankZombie, minLegLive, maxLegLive;
function enemySpawner (manager, roomc, quota, maxZombieSpawn, spawnType, x, y) {
coreRoom = roomc;
this.manager = manager;
this.quota = quota;
this.maxZombieSpawn = maxZombieSpawn;
this.spawnType = spawnType;
enemyTypes = new Array();
eraseMe = false;
zombieStartingState = "walk";
_x = x;
_y = y;
spawnDelayCounter = 0;
bankInitiated = false;
active = true;
spawnDelay = 20;
if (CONSTANTS.useZombieBank) {
bankZombie = new Array();
}
}
function initZombieBank() {
if (bankInitiated) {
return(undefined);
}
_root._alpha = 100;
var _local2 = Math.round(random((enemyTypes.length - 1) * 100) / 100);
bankZombie.push(createNewZombie(enemyTypes[_local2]));
_root.bankir_mc.announch_tf.text = _root.bankir_mc.announch_tf.text + (("[" + int((bankZombie.length / (quota + 1)) * 100)) + "%]");
if (bankZombie.length > quota) {
bankInitiated = true;
}
}
function addType(type) {
enemyTypes.push(type);
}
function createNewZombie(type) {
var _local3 = new zombie(manager, type.mesh.clone(), manager.getTexture(type.skinTexture).clone(), manager.getTexture(type.bloodTexture).clone(), 0, 0, type.speedx);
_local3.dropItem = type.dropItem;
_local3.dropProbability = type.dropProbability;
_local3.minItemValue = type.minItemValue;
_local3.maxItemValue = type.maxItemValue;
_local3.state = zombieStartingState;
_local3.live = type.live;
if (type.leggLive) {
_local3.legLive = type.leggLive;
}
if (type.size) {
_local3.bScale = type.size;
}
if (type.randomFeetDamage) {
_local3.legLive = -10 + random(150);
}
if ((minLegLive != undefined) && (maxLegLive != undefined)) {
_local3.legLive = minLegLive + random(maxLegLive - minLegLive);
}
return(_local3);
}
function spawnEnemy(type, x, y) {
var _local5 = type.mesh.clone();
if (_local5 == undefined) {
return(false);
}
var _local6 = new zombie(manager, _local5, manager.getTexture(type.skinTexture).clone(), manager.getTexture(type.bloodTexture).clone(), x, y, type.speedx);
_local6.dropItem = type.dropItem;
_local6.dropProbability = type.dropProbability;
_local6.minItemValue = type.minItemValue;
_local6.maxItemValue = type.maxItemValue;
_local6.state = zombieStartingState;
_local6.live = type.live;
if (type.leggLive) {
_local6.legLive = type.leggLive;
}
if (type.size) {
_local6.bScale = type.size;
}
if (type.randomFeetDamage) {
_local6.legLive = -10 + random(150);
}
if ((minLegLive != undefined) && (maxLegLive != undefined)) {
_local6.legLive = minLegLive + random(maxLegLive - minLegLive);
}
manager.rooms[manager.activeRoom].registerZombie(_local6);
coreRoom.enemies.push(_local6);
_local6.render(true);
return(true);
}
function registerZombieToRoom(x, y) {
if (bankZombie.length > 0) {
var _local4 = bankZombie[0];
_local4._x = x;
_local4._y = y;
coreRoom.enemies.push(_local4);
coreRoom.registerZombie(_local4);
_local4.render(true);
bankZombie.splice(0, 1);
return(true);
}
return(false);
}
function update() {
if (quota <= 0) {
eraseMe = true;
return(undefined);
}
if (!active) {
return(undefined);
}
if (spawnDelayCounter > 0) {
spawnDelayCounter--;
} else if ((_x > (coreRoom._x * -1)) && (_x < ((coreRoom._x * -1) + Stage.width))) {
if (spawnType == "fixedSingle") {
if (quota > 0) {
if (CONSTANTS.useZombieBank) {
registerZombieToRoom(_x, _y);
quota = quota - 1;
spawnDelayCounter = spawnDelay;
} else {
var _local2 = Math.round(random((enemyTypes.length - 1) * 100) / 100);
if (spawnEnemy(enemyTypes[_local2], _x, _y)) {
quota = quota - 1;
spawnDelayCounter = spawnDelay;
}
}
}
}
if (spawnType == "ambush") {
if ((quota > 0) && (coreRoom.enemies.length < maxZombieSpawn)) {
var _local3 = random(100);
if (_local3 > 50) {
var _local4 = (-coreRoom._x) - 50;
} else {
var _local4 = ((-coreRoom._x) + Stage.width) + 50;
}
if (_local4 < 0) {
var _local4 = 1;
}
if (_local4 > coreRoom.collisionGround.width) {
var _local4 = coreRoom.collisionGround.width - 1;
}
if (CONSTANTS.useZombieBank) {
registerZombieToRoom(_local4, _y);
quota = quota - 1;
spawnDelayCounter = spawnDelay;
} else {
var _local5 = Math.round(random((enemyTypes.length - 1) * 100) / 100);
if (spawnEnemy(enemyTypes[_local5], _local4, _y)) {
quota = quota - 1;
spawnDelayCounter = spawnDelay;
}
}
}
}
if (spawnType == "fixedPoint") {
if ((quota > 0) && (coreRoom.enemies.length < maxZombieSpawn)) {
if (CONSTANTS.useZombieBank) {
registerZombieToRoom(_x, _y);
quota = quota - 1;
spawnDelayCounter = spawnDelay;
} else {
var _local6 = Math.round(random((enemyTypes.length - 1) * 100) / 100);
if (spawnEnemy(enemyTypes[_local6], _x, _y)) {
quota = quota - 1;
spawnDelayCounter = spawnDelay;
}
}
}
}
}
}
function render(container, x, y) {
var _local5 = _x - 25;
var _local6 = _y - 25;
var _local7 = _x + 25;
var _local8 = _y + 25;
container.beginFill(65484, 100);
container.moveTo(_local5 + x, _local6 + y);
container.lineTo(_local7 + x, _local6 + y);
container.lineTo(_local7 + x, _local8 + y);
container.lineTo(_local5 + x, _local8 + y);
container.endFill();
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20504 MovieClip [__Packages.particle] Frame 0
class particle
{
var manager, x, y, speedx, speedy, scalex, scaley, scaleXSpeed, scaleYSpeed, scaleTime, colorTrans, rotateSpeed, currentRotation, texture, xCenter, yCenter, bouncingTime, actionAfterDie, drawingMat, liveTime, bounchSound;
function particle (manager, x, y, speedx, speedy, texture, actionAfterDie, bouncing, scalex, scaley, rotateSpeed) {
this.manager = manager;
this.x = x;
this.y = y;
this.speedx = speedx;
this.speedy = speedy;
this.scalex = scalex;
this.scaley = scaley;
scaleXSpeed = 0;
scaleYSpeed = 0;
scaleTime = 0;
colorTrans = new flash.geom.ColorTransform();
if (rotateSpeed) {
this.rotateSpeed = rotateSpeed;
} else {
this.rotateSpeed = 0;
}
currentRotation = 0;
this.texture = texture;
xCenter = texture.width / 2;
yCenter = texture.height / 2;
if (bouncing) {
bouncingTime = bouncing;
} else {
bouncingTime = 0;
}
if (actionAfterDie) {
this.actionAfterDie = actionAfterDie;
} else {
this.actionAfterDie = CONSTANTS.P_ENUM_NOTHING;
}
drawingMat = new flash.geom.Matrix();
drawingMat.translate(-xCenter, -yCenter);
drawingMat.scale(scalex, scaley);
}
function hitGround() {
if (manager.colisionMap.getPixel(x, y) == 0) {
return(true);
}
return(false);
}
function drawParticle() {
var _local2 = drawingMat.clone();
_local2.rotate(currentRotation * CONSTANTS.RADTODEG);
_local2.translate(x + Main.gameLevel.rooms[Main.gameLevel.activeRoom]._x, y + Main.gameLevel.rooms[Main.gameLevel.activeRoom]._y);
manager.renderSurface.draw(texture, _local2, colorTrans);
}
function playBounchSound() {
var _local2 = ((x - 300) / 600) * 200;
var _local3 = _root.getNextHighestDepth();
var _local4 = _root.createEmptyMovieClip("pSnd" + _local3, _local3);
var _local5 = new Sound(_local4);
_local5.attachSound("selongsong" + random(3));
_local5.setVolume(0.01);
_local5.setPan(_local2);
_local5.start(0, 1);
_local4.onEnterFrame = function () {
if (this.snd.getPosition() >= this.snd.duration) {
this.removeMovieClip();
}
};
}
function update() {
drawParticle();
if (liveTime != undefined) {
if (liveTime > 0) {
liveTime--;
} else {
return(false);
}
}
if (!hitGround()) {
x = x + speedx;
y = y - speedy;
x = Math.min(Math.max(x, 0), manager.colisionMap.width - 1);
y = Math.min(Math.max(y, 0), manager.colisionMap.height - 1);
speedy = speedy - CONSTANTS.P_GRAFITY;
currentRotation = currentRotation + rotateSpeed;
} else if (bouncingTime > 0) {
if (bounchSound) {
if (speedy < -5) {
playBounchSound();
}
}
bouncingTime--;
speedy = speedy * -0.25;
y = y - (speedy * 2);
rotateSpeed = rotateSpeed * -1;
} else {
switch (actionAfterDie) {
case CONSTANTS.P_ENUM_NOTHING :
return(false);
case CONSTANTS.P_ENUM_DRAW_TO_SURFACE :
var _local2 = new flash.geom.Matrix();
_local2.translate(-xCenter, -yCenter);
_local2.scale(scalex, scaley);
_local2.rotate(currentRotation * CONSTANTS.RADTODEG);
_local2.translate(x, y);
Main.gameLevel.rooms[Main.gameLevel.activeRoom].backGround.draw(texture, _local2, colorTrans);
return(false);
case CONSTANTS.P_ENUM_SCALE_THEN_DRAW :
if (scaleTime > 0) {
scalex = scalex + scaleXSpeed;
scaley = scaley + scaleYSpeed;
var _local3 = new flash.geom.Matrix();
_local3.translate(-xCenter, -yCenter);
_local3.scale(scalex, scaley);
_local3.rotate(currentRotation * CONSTANTS.RADTODEG);
_local3.translate(x, y);
Main.gameLevel.rooms[Main.gameLevel.activeRoom].backGround.draw(texture, _local3, colorTrans);
scaleTime--;
return(true);
}
return(false);
}
}
return(true);
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20505 MovieClip [__Packages.level] Frame 0
class level
{
var highScoreCalled, survival, gameMeshBuffer, cinematics, activeCinematics, name, rooms, startRoom, activeRoom, textureBuffer, bullets, playerName, invGround, pickingTolerace, gameState, userPL, allowGameUpdate, collisionLayer, bgContainer, bullet_mc, parContainer, fgContainer, lgContainer, lightGround, particleSys, mouseListener, requestShoot, keyListener, brainShots, bulletsFired, headShoot, zombieKill, miss, nextActivatedRoom, _xAfterTeleport, _yAfterTeleport, totalScore, Rank;
function level (name) {
highScoreCalled = false;
survival = false;
gameMeshBuffer = new Array();
cinematics = new Array();
activeCinematics = 0;
this.name = name;
rooms = new Array();
startRoom = 0;
activeRoom = 0;
textureBuffer = new Array();
bullets = new Array();
playerName = "unknown survivor";
invGround = new flash.display.BitmapData(600, 325, true, 0);
pickingTolerace = 25;
gameState = "teleport out";
userPL = new player(this);
allowGameUpdate = true;
collisionLayer = _root.createEmptyMovieClip("collisionMap_mc", 0);
bgContainer = _root.createEmptyMovieClip("bg_mc", 1);
bullet_mc = _root.createEmptyMovieClip("bullet_mc", 109);
parContainer = _root.createEmptyMovieClip("pc_mc", 110);
fgContainer = _root.createEmptyMovieClip("fg_mc", 112);
lgContainer = _root.createEmptyMovieClip("lg_mc", 111);
lightGround = new flash.display.BitmapData(600, 325, true, -1);
lgContainer.attachBitmap(lightGround, 0);
lgContainer.blendMode = "multiply";
particleSys = new particleManager();
parContainer.attachBitmap(particleSys.renderSurface, 1);
mouseListener = new Object();
requestShoot = false;
mouseListener.onMouseDown = function () {
if (Main.gameLevel.gameState == "game") {
Main.gameLevel.requestShoot = true;
}
};
mouseListener.onMouseUp = function () {
if (!Main.gameLevel.userPL.weapond.drainShoot) {
Main.gameLevel.requestShoot = false;
} else if (Main.gameLevel.userPL.reloadingCounter > 0) {
Main.gameLevel.requestShoot = false;
}
};
Mouse.addListener(mouseListener);
keyListener = new Object();
keyListener.manager = this;
keyListener.onKeyUp = function () {
var _local2 = Key.getCode();
if ((this.manager.gameState == "game") || ((this.manager.gameState == "pause") || (this.manager.gameState == "inventory"))) {
switch (_local2) {
case 80 :
case 27 :
if (Main.gameLevel.userPL.live >= 0) {
if (this.manager.gameState != "inventory") {
if (this.manager.gameState == "pause") {
this.manager.gameState = "game";
} else if (this.manager.userPL.live > 0) {
this.manager.gameState = "pause";
}
}
}
break;
case 73 :
case 81 :
if (Main.gameLevel.userPL.live >= 0) {
if (this.manager.gameState != "pause") {
if (this.manager.gameState == "inventory") {
this.manager.gameState = "game";
} else if (this.manager.userPL.live > 0) {
this.manager.gameState = "inventory";
}
}
}
break;
case 16 :
if (this.manager.gameState != "game") {
break;
}
this.manager.userPL.useLight = !this.manager.userPL.useLight;
}
}
};
Key.addListener(keyListener);
brainShots = 0;
bulletsFired = 0;
headShoot = 0;
zombieKill = 0;
miss = 0;
}
function addTexture(linkageId) {
var _local3 = flash.display.BitmapData.loadBitmap(linkageId);
textureBuffer.push({name:linkageId, texture:_local3});
return(_local3);
}
function getTexture(linkageId) {
var _local3 = 0;
_local3 = 0;
for ( ; _local3 < textureBuffer.length ; _local3++) {
if (textureBuffer[_local3].name == linkageId) {
return(textureBuffer[_local3].texture);
}
}
var _local4 = addTexture(linkageId);
return(_local4);
}
function addRoom(roomToAdd) {
if (roomToAdd) {
rooms.push(roomToAdd);
return(true);
}
return(false);
}
function enterRoom(roomName) {
var _local3 = 0;
var _local4 = -1;
_local3 = 0;
for ( ; _local3 < rooms.length ; _local3++) {
if (rooms[_local3].roomName == roomName) {
_local4 = _local3;
break;
}
}
if (_local4 > -1) {
activeRoom = _local4;
return(true);
}
return(false);
}
function addMesh(nama, meshSource) {
meshSource._name = nama;
gameMeshBuffer.push(meshSource);
}
function getMesh(nama) {
var _local3 = 0;
for ( ; _local3 < gameMeshBuffer.length ; _local3++) {
if (gameMeshBuffer[_local3]._name == nama) {
return(gameMeshBuffer[_local3]);
}
}
return(undefined);
}
function notify(message, format) {
var _local4 = _root.getInstanceAtDepth(10002);
if (_local4) {
_local4.removeMovieClip();
}
var _local5 = _root.createEmptyMovieClip("notify_mc", 119);
_local5._y = 50;
_local5._x = 64;
var _local6 = _local5.createTextField("notes", 0, 5, 5, 1000, 100);
_local6.textColor = 16777215 /* 0xFFFFFF */;
_local6.selectable = false;
_local6.html = true;
if (format == undefined) {
var _local7 = new TextFormat();
_local7.bold = false;
_local7.size = 14;
_local7.font = "Arial";
_local7.leading = 0;
_local6.setNewTextFormat(_local7);
} else {
_local6.setNewTextFormat(format);
}
_local6.text = message;
var _local8 = new flash.filters.GlowFilter(0, 50, 5, 5, 1, 1, false);
var _local9 = new Array();
if (format != undefined) {
_local8.color = format.color;
}
_local9.push(_local8);
_local5.glow = _local8;
_local5.filters_st = _local9;
_local5.filters = _local9;
_local5.onEnterFrame = function () {
if (this._alpha > 0) {
this._alpha = this._alpha - 0.25;
this.glow.blurX = this.glow.blurX + 0.1;
this.glow.blurY = this.glow.blurY + 0.1;
this.filters = this.filters_st;
} else {
this.removeMovieClip();
}
};
}
function pickItemFromRoom(xPosition, yPosition) {
var _local4 = xPosition;
var _local5 = yPosition;
var _local6 = rooms[activeRoom].getItemFromXY(_local4 - pickingTolerace, _local5 - pickingTolerace, _local4 + pickingTolerace, _local5 + pickingTolerace);
if (_local6) {
var _local7 = new TextFormat();
_local7.bold = false;
_local7.size = 14;
_local7.font = "Arial";
_local7.color = 65280;
notify("You get a " + _local6.itemName, _local7);
userPL.addItem(_local6);
return(true);
}
return(false);
}
function pickDorFromRoom(xPosition, yPosition) {
var _local4 = xPosition;
var _local5 = yPosition;
var _local6 = rooms[activeRoom].getDorFromXY(_local4 - pickingTolerace, _local5 - (pickingTolerace * 4), _local4 + pickingTolerace, _local5 + (pickingTolerace * 4));
if (_local6) {
return(_local6);
}
return(undefined);
}
function playerActionOnXY(x, y) {
var _local4 = pickDorFromRoom(x, y);
if (_local4) {
if (!_local4.locked) {
playSound("dorOpen");
notify("entering " + rooms[_local4.roomIndexTarget].roomName);
gameState = "teleport in";
nextActivatedRoom = 0;
nextActivatedRoom = _local4.roomIndexTarget;
var _local5 = rooms[nextActivatedRoom].backGround.width;
var _local6 = rooms[nextActivatedRoom].backGround.height;
var _local8 = 0;
for ( ; _local8 < rooms[nextActivatedRoom].dors.length ; _local8++) {
if (rooms[nextActivatedRoom].dors[_local8].name == _local4.dorNameTarget) {
var _local7 = rooms[nextActivatedRoom].dors[_local8];
}
}
_xAfterTeleport = _local7._x;
_yAfterTeleport = _local7._y;
} else {
var _local9 = 0;
for ( ; _local9 < userPL.items.length ; _local9++) {
if (userPL.items[_local9].itemName == _local4.keyName) {
userPL.items.splice(_local9, 1);
_local4.locked = false;
break;
}
}
if (!_local4.locked) {
notify(("you've use " + _local4.keyName) + "\nyou no longger need this key\nyou dicard this key");
playSound("dorLocked");
} else {
playSound("dorLocked");
if (_local4.toolTipOnKeyRequire) {
notify(_local4.toolTipOnKeyRequire);
} else if (_local4.keyName) {
notify("you require a key to open this dor");
} else {
notify("useless, this dor shut tight and won't open");
}
}
}
}
}
function createBloodParticle(x, y, scalex, scaley, speedx, speedy) {
var _local8 = rooms[activeRoom];
if (random(100) > 50) {
var _local9 = getTexture("darah1");
} else {
var _local9 = getTexture("darah2");
}
var _local10 = CONSTANTS.P_ENUM_SCALE_THEN_DRAW;
var _local11 = particleSys.addParticle(x, y, speedx, speedy, _local9, _local10, 0, scalex, scaley, 0);
_local11.scaleTime = 10;
_local11.scaleXSpeed = 0.01;
_local11.scaleYSpeed = 0.001;
_local11.colorTrans.alphaMultiplier = 0.5;
_local10 = CONSTANTS.P_ENUM_NOTHING;
var _local12 = particleSys.addParticle(x, y, speedx / 10, speedy / 10, _local9, _local10, 0, 0.25, 0.125, 0);
_local12.liveTime = 2;
_local12.currentRotation = Math.atan2(-speedy, -speedx);
}
function update() {
if (userPL.live > 0) {
if (Key.isDown(87) || (Key.isDown(38))) {
if (userPL.hitGround()) {
userPL.speedy = 15;
userPL._y = userPL._y - 15;
}
}
if (requestShoot) {
userPL.shoot();
if (userPL.weapond.drainShoot) {
if (userPL.reloadingCounter <= 0) {
if (userPL.weapond.bulletsOnMag <= 0) {
requestShoot = false;
}
}
} else if (!userPL.weapond.repeating) {
requestShoot = false;
}
}
if (Key.isDown(82)) {
if (!userPL.weapond.drainShoot) {
if ((userPL.weapond.bulletsOnMag < userPL.weapond.magazenSize) && ((userPL.reloadingCounter <= 0) && (userPL.weapond.value > 0))) {
userPL.reloadingCounter = userPL.weapond.reloadTime;
}
}
}
if (Key.isDown(69) || (Key.isDown(13) || (Key.isDown(32)))) {
playerActionOnXY(userPL._x, userPL._y);
}
if (Key.isDown(65) || (Key.isDown(37))) {
userPL.moveLeft();
userPL.kakiState = "walk";
} else if (Key.isDown(68) || (Key.isDown(39))) {
userPL.moveRight();
userPL.kakiState = "walk";
userPL._x--;
} else {
userPL.kakiState = "idle";
}
pickItemFromRoom(userPL._x, userPL._y);
rooms[activeRoom].moveCamera();
}
userPL.update();
rooms[activeRoom].render();
bullet_mc.clear();
var _local2 = 0;
for ( ; _local2 < bullets.length ; _local2++) {
var _local3 = false;
var _local4 = false;
for ( ; true ; for ( ; _local5 < rooms[activeRoom].eContainers.length ; _local5++) {
if (rooms[activeRoom].eContainers[_local5].mc.body_mc.hitTest(bullets[_local2]._x + rooms[activeRoom]._x, bullets[_local2]._y + rooms[activeRoom]._y, true) && (rooms[activeRoom].eContainers[_local5].zomb.live > 0)) {
var _local6 = new Object()_local6.x = (bullets[_local2]._x * CONSTANTS.globalScaleX) + (rooms[activeRoom]._x * CONSTANTS.globalScaleX)_local6.y = (bullets[_local2]._y * CONSTANTS.globalScaleY) + (rooms[activeRoom]._y * CONSTANTS.globalScaleY)rooms[activeRoom].eContainers[_local5].mc.body_mc.globalToLocal(_local6)var _local7 = rooms[activeRoom].eContainers[_local5].zomb._aniMesh._mesh.getTextureCoordFromXY(_local6.x, _local6.y)if (_local7) {
if (((rooms[activeRoom].eContainers[_local5].zomb.privateBlood.getPixel32(_local7.x, _local7.y) >> 24) & 255) > 0) {
_local3 = trueif (bullets[_local2].type != "fast laser") {
var _local8 = trueswitch (_local7.firstBone) {
case "bone1" :
case "bone2" :
case "bone3" :
rooms[activeRoom].eContainers[_local5].zomb.damage = rooms[activeRoom].eContainers[_local5].zomb.damage + bullets[_local2].damagerooms[activeRoom].eContainers[_local5].zomb.playSound("hitFlesh", rooms[activeRoom].eContainers[_local5].mc)break;
case "bone4" :
case "bone20" :
rooms[activeRoom].eContainers[_local5].zomb.damage = rooms[activeRoom].eContainers[_local5].zomb.damage + (bullets[_local2].damage * 3)var _local9 = new TextFormat()_local9.bold = false_local9.size = 14_local9.font = "Arial"_local9.color = 16776960notify("head shoot!", _local9)headShoot++rooms[activeRoom].eContainers[_local5].zomb.playSound("hitFlesh", rooms[activeRoom].eContainers[_local5].mc)break;
case "bone19" :
rooms[activeRoom].eContainers[_local5].zomb.damage = rooms[activeRoom].eContainers[_local5].zomb.damage + (bullets[_local2].damage * 8)var _local10 = new TextFormat()_local10.bold = false_local10.size = 14_local10.font = "Arial"_local10.color = 16711680notify("brain shoot!", _local10)rooms[activeRoom].eContainers[_local5].zomb.playSound("headShoot", rooms[activeRoom].eContainers[_local5].mc)rooms[activeRoom].eContainers[_local5].zomb.playSound("zombieDeath1", rooms[activeRoom].eContainers[_local5].mc)if ((rooms[activeRoom].eContainers[_local5].zomb.live - rooms[activeRoom].eContainers[_local5].zomb.damage) <= 0) {
rooms[activeRoom].eContainers[_local5].zomb.removeHead()var _local11 = 0for ( ; _local11 < 6 ; _local11++) {
createBloodParticle(bullets[_local2]._x, bullets[_local2]._y, 0.2, 0.2, (bullets[_local2].speedx * random(10)) / 10, bullets[_local2].speedy - random(10))}
}
brainShots++break;
case "bone6" :
case "bone7" :
case "bone8" :
case "bone10" :
case "bone11" :
case "bone12" :
rooms[activeRoom].eContainers[_local5].zomb.damage = rooms[activeRoom].eContainers[_local5].zomb.damage + (bullets[_local2].damage / 2)rooms[activeRoom].eContainers[_local5].zomb.playSound("hitFlesh", rooms[activeRoom].eContainers[_local5].mc)break;
default :
rooms[activeRoom].eContainers[_local5].zomb.damage = rooms[activeRoom].eContainers[_local5].zomb.damage + (bullets[_local2].damage / 4)rooms[activeRoom].eContainers[_local5].zomb.leggDamage = rooms[activeRoom].eContainers[_local5].zomb.leggDamage + (bullets[_local2].damage / 4)rooms[activeRoom].eContainers[_local5].zomb.playSound("hitFlesh", rooms[activeRoom].eContainers[_local5].mc)_local8 = false}
if (_local8) {
if (rooms[activeRoom].eContainers[_local5].zomb.damage < 500) {
rooms[activeRoom].eContainers[_local5].zomb.state = "body pain"} else {
rooms[activeRoom].eContainers[_local5].zomb.state = "body fall"rooms[activeRoom].eContainers[_local5].zomb._y--rooms[activeRoom].eContainers[_local5].zomb.speedy = (bullets[_local2].speedy * rooms[activeRoom].eContainers[_local5].zomb.damage) / 1000rooms[activeRoom].eContainers[_local5].zomb.hitPower = (bullets[_local2].speedx * rooms[activeRoom].eContainers[_local5].zomb.damage) / 5000}
} else if (rooms[activeRoom].eContainers[_local5].zomb.damage < 20) {
rooms[activeRoom].eContainers[_local5].zomb.state = "legg pain"} else {
rooms[activeRoom].eContainers[_local5].zomb.state = "legg fall"rooms[activeRoom].eContainers[_local5].zomb._y--rooms[activeRoom].eContainers[_local5].zomb.speedy = (bullets[_local2].speedy * rooms[activeRoom].eContainers[_local5].zomb.damage) / 1000rooms[activeRoom].eContainers[_local5].zomb.hitPower = (bullets[_local2].speedx * rooms[activeRoom].eContainers[_local5].zomb.damage) / 5000}
if (bullets[_local2].type == "arrow") {
var _local12 = getTexture("src.weaponds.arrowDecal.png")var _local13 = new flash.geom.Matrix()_local13.scale(rooms[activeRoom].eContainers[_local5].zomb.scale / 100, 1)_local13.rotate(Math.atan2(bullets[_local2].speedy, bullets[_local2].speedx) + Math.PI)_local13.translate(_local7.x, _local7.y)rooms[activeRoom].eContainers[_local5].zomb.privateSkin.draw(_local12, _local13)var _local14 = bullets[_local2]._xvar _local15 = bullets[_local2]._yvar _local16 = bullets[_local2].speedxvar _local17 = bullets[_local2].speedyvar _local18 = getTexture("src.weaponds.brokenArrow.png")var _local19 = CONSTANTS.P_ENUM_DRAW_TO_SURFACEvar _local20 = 10 - random(20)particleSys.addParticle(_local14, _local15, _local16, _local17, _local18, _local19, 3, 0.3, 0.3, _local20)}
var _local21 = (bullets[_local2].caliber * 100) / rooms[activeRoom].eContainers[_local5].zomb.bScaleswitch (bullets[_local2].type) {
case "melee" :
var _local22 = getTexture("src.sfx.wound3.png")var _local23 = getTexture("src.sfx.wound3Hole.png")break;
case "fast bullet" :
if (userPL.weapond.type == "870") {
_local22 = getTexture("src.sfx.wound4.png")_local23 = getTexture("src.sfx.wound4Hole.png")} else {
_local22 = getTexture("src.sfx.wound.png")_local23 = getTexture("src.sfx.woundHole.png")}
break;
case "flame" :
_local22 = getTexture("src.sfx.wound5.png")break;
case "photon" :
_local22 = getTexture("src.sfx.wound6.png")break;
default :
_local22 = getTexture("src.sfx.wound.png")_local23 = getTexture("src.sfx.woundHole.png")}
var _local24 = new flash.display.BitmapData(_local21, _local21, true, 0)var _local25 = new flash.display.BitmapData(_local21, _local21, true, 0)var _local26 = new flash.geom.Matrix()_local26.scale(_local21 / 128, _local21 / 128)_local24.draw(_local22, _local26)_local25.draw(_local23, _local26)var _local27 = Math.round(_local21 / 2)if ((bullets[_local2].type == "flame") || (bullets[_local2].type == "photon")) {
var _local28 = new flash.geom.Matrix()_local28.translate(_local7.x - _local27, _local7.y - _local27)var _local29 = rooms[activeRoom].eContainers[_local5].zomb.privateSkinvar _local30 = _local29.clone()_local29.draw(_local24, _local28)_local29.copyChannel(_local30, new flash.geom.Rectangle(0, 0, _local30.width, _local30.height), new flash.geom.Point(0, 0), 8, 8)} else {
var _local31 = new flash.geom.Matrix()_local31.translate(_local7.x - _local27, _local7.y - _local27)var _local32 = rooms[activeRoom].eContainers[_local5].zomb.privateSkinvar _local33 = new flash.display.BitmapData(100, 255, true, -16777216)_local33.copyChannel(_local32, new flash.geom.Rectangle(0, 0, _local32.width, _local32.height), new flash.geom.Point(0, 0), 8, 1)var _local34 = new flash.geom.Matrix()_local34.translate(_local7.x - _local27, _local7.y - _local27)_local33.draw(_local25, _local34, undefined, "subtract")_local32.draw(_local24, _local34)_local32.copyChannel(_local33, new flash.geom.Rectangle(0, 0, _local33.width, _local33.height), new flash.geom.Point(0, 0), 1, 8)}
}
}
if (bullets[_local2].type != "fast laser") {
switch (bullets[_local2].type) {
case "photon" :
rooms[activeRoom].addPointLight(bullets[_local2]._x, bullets[_local2]._y, 65280, 50, 0, 25, 1)break;
case "flame" :
rooms[activeRoom].addPointLight(bullets[_local2]._x, bullets[_local2]._y, 16776960, 50, 0, 25, 1)break;
default :
var _local35 = 0// unexpected jump
for(;;){
_local35++if (_local35 >= 5) {
break;
}
if ((_local35 % 2) == 0) {
var _local36 = ((-bullets[_local2].speedx) * random(10)) / 10var _local37 = bullets[_local2].speedy - random(10)} else {
var _local36 = (bullets[_local2].speedx * random(10)) / 10var _local37 = bullets[_local2].speedy - random(10)}
var _local38 = bullets[_local2]._xvar _local39 = bullets[_local2]._ycreateBloodParticle(_local38, _local39, 0.1, 0.1, _local36, _local37)};
}
} else {
var _local40 = rooms[activeRoom]var _local41 = bullets[_local2]_local40.addPointLight(_local41._x, _local41._y, 16711680, 70, 0, 3, 1)_local40.addPointLight(_local41._x, _local41._y, 16711680, 30, 0, 10, 1)}
}
break;
}
}
, if (!_local3) {
if ((bullets[_local2]._y < 0) || ((bullets[_local2]._y > 325) || ((bullets[_local2]._x > rooms[activeRoom].collisionGround.width) || ((bullets[_local2]._x < 0) || (rooms[activeRoom].collisionGround.getPixel(bullets[_local2]._x, bullets[_local2]._y) == 0))))) {
if (rooms[activeRoom].collisionGround.getPixel(bullets[_local2]._x, bullets[_local2]._y) == 0) {
if (bullets[_local2].type == "arrow") {
var _local42 = _root.createEmptyMovieClip("decal_mc", _root.getNextHighestDepth())bullets[_local2].render(_local42)var _local43 = new flash.geom.Matrix()_local43.translate(-rooms[activeRoom]._x, -rooms[activeRoom]._y)rooms[activeRoom].backGround.draw(_local42, _local43)_local42.removeMovieClip()}
if (bullets[_local2].type == "flame") {
bullets[_local2].priLight.lifeTime = 0rooms[activeRoom].addFlame(bullets[_local2]._x, bullets[_local2]._y, 10 + random(10), 100)}
if ((bullets[_local2].type == "fast bullet") || (bullets[_local2].type == "photon")) {
var _local44 = getTexture("src.sfx.decal.png")var _local45 = new flash.geom.Matrix()_local45.translate(bullets[_local2]._x - 5, bullets[_local2]._y - 5)rooms[activeRoom].backGround.draw(_local44, _local45)rooms[activeRoom].addPointLight(bullets[_local2]._x, bullets[_local2]._y, 16777164, 50, 0, 10, 1)}
if (bullets[_local2].type == "fast laser") {
var _local46 = rooms[activeRoom]var _local47 = bullets[_local2]_local46.addPointLight(_local47._x, _local47._y, 16711680, 50, 0, 5, 1)}
}
_local4 = true} else {
bullets[_local2].update()}
}
, if (_local3 || (_local4 || (bullets[_local2].requestDelete))) {
bullets[_local2].render(bullet_mc)if ((bullets[_local2].type == "flame") && (_local3)) {
bullets[_local2].time = bullets[_local2].time + 0.1} else {
bullets.splice(_local2, 1)_local2--}
break;
}
, if ((bullets[_local2].type == "arrow") && ((bullets[_local2].time % 5) == 0)) {
break;
}
, if (bullets[_local2].type == "flame") {
bullets[_local2].render(bullet_mc)break;
}
) {
var _local5 = 0;
}
bullets[_local2].render(bullet_mc);
}
rooms[activeRoom].removeDeathMan();
}
function drawInventoryWindow() {
var inventory;
if (_root.inventory_mc == undefined) {
inventory = _root.attachMovie("src.userInterface.playerInventory.PNG", "inventory_mc", 10000);
inventory._x = 600 - 171;
inventory._y = -300;
inventory.needRedraw = true;
var _local2 = inventory.attachMovie("src.userInterface.up.png", "up_mc", 1);
_local2._x = 83;
_local2._y = 145;
_local2.onPress = function () {
if (Main.gameLevel.userPL.inventoryScroll > 0) {
Main.gameLevel.userPL.inventoryScroll--;
_root.inventory_mc.needRedraw = true;
}
};
var _local3 = inventory.attachMovie("down", "up_mc", 2);
_local3._x = 83;
_local3._y = 368;
_local3.onPress = function () {
if (Main.gameLevel.userPL.inventoryScroll < Math.max(Main.gameLevel.userPL.items.length - 6, 0)) {
Main.gameLevel.userPL.inventoryScroll++;
_root.inventory_mc.needRedraw = true;
}
};
} else {
inventory = _root.inventory_mc;
}
if (userPL.inventoryScroll >= (userPL.items.length - 1)) {
userPL.inventoryScroll = 0;
}
inventory.delay = 0;
inventory.onEnterFrame = function () {
if (this._y < -75) {
this._y = this._y + 25;
}
this.bmp.fillRect(new flash.geom.Rectangle(0, 0, 600, 325), 0);
var _local2 = new flash.geom.Matrix();
_local2.scale(1.25, 1.25);
_local2.translate(300, 325);
this.bmp.draw(Main.gameLevel.userPL._container, _local2);
};
if (inventory.needRedraw) {
var _local4 = 0;
for ( ; _local4 < 6 ; _local4++) {
inventory["button_" + _local4].removeMovieClip();
if (userPL.items[_local4 + userPL.inventoryScroll] != undefined) {
switch (userPL.items[_local4 + userPL.inventoryScroll].type) {
case "medic" :
var _local5 = getTexture("src.itemButton.buttonMedic.PNG");
var _local6 = "powerups";
break;
case "m60" :
_local5 = getTexture("src.itemButton.buttonM60.PNG");
_local6 = "weapond";
break;
case "1911" :
_local5 = getTexture("src.itemButton.button1911.PNG");
_local6 = "weapond";
break;
case "photon gun" :
_local5 = getTexture("src.itemButton.laserbutton.png");
_local6 = "weapond";
break;
case "870" :
_local5 = getTexture("src.itemButton.button870.PNG");
_local6 = "weapond";
break;
case "crossBow" :
_local5 = getTexture("src.itemButton.buttonCrossBow.PNG");
_local6 = "weapond";
break;
case "AK47" :
_local5 = getTexture("src.itemButton.buttonAK47.PNG");
_local6 = "weapond";
break;
case "axe" :
_local5 = getTexture("src.itemButton.buttonAxe.PNG");
_local6 = "weapond";
break;
case "centurion" :
_local5 = getTexture("src.itemButton.buttonCenturion.PNG");
_local6 = "armore";
break;
case "decker" :
_local5 = getTexture("src.itemButton.buttonDecker.PNG");
_local6 = "armore";
break;
case "helmArmy" :
_local5 = getTexture("src.itemButton.buttonHelmArmy.PNG");
_local6 = "armore";
break;
case "kevlar" :
_local5 = getTexture("src.itemButton.buttonKevlar.PNG");
_local6 = "armore";
break;
case "motoX" :
_local5 = getTexture("src.itemButton.buttonMotoX.PNG");
_local6 = "armore";
break;
case "pain" :
_local5 = getTexture("src.itemButton.buttonPain.PNG");
_local6 = "powerups";
break;
case "flame" :
_local5 = getTexture("src.itemButton.buttonFlame.PNG");
_local6 = "weapond";
break;
case "key" :
_local5 = getTexture("src.itemButton.buttonKey.PNG");
_local6 = "suspicious";
}
var _local7 = inventory.createEmptyMovieClip("button_" + _local4, _local4 + 5);
_local7.attachBitmap(_local5, 0);
_local7._x = 33;
_local7.i = _local4;
_local7._y = 162 + (_local4 * 34);
_local7.id = _local4 + userPL.inventoryScroll;
_local7.msg = userPL.items[_local4 + userPL.inventoryScroll].examine + newline;
if (userPL.items[_local4 + userPL.inventoryScroll] == userPL.weapond) {
var _local8 = new flash.filters.GlowFilter(16776960, 100, 5, 5, 1, 1, false);
var _local9 = new Array();
_local9.push(_local8);
_local7.filters = _local9;
}
if (_local6 != "suspicious") {
_local7.msg = _local7.msg + "value : ";
if (userPL.items[_local4 + userPL.inventoryScroll].bulletsOnMag != undefined) {
_local7.msg = _local7.msg + (userPL.items[_local4 + userPL.inventoryScroll].bulletsOnMag + " / ");
}
_local7.msg = _local7.msg + userPL.items[_local4 + userPL.inventoryScroll].value;
_local7.onRelease = function () {
Main.gameLevel.userPL.useItem(this.id);
inventory.needRedraw = true;
Main.gameLevel.userPL.updateBodyTexture();
Main.gameLevel.userPL.update();
};
}
_local7.onRollOver = function () {
var _local2 = _root.attachMovie("src.itemButton.whatitis.PNG", "splash_mc", 1003);
_local2._x = 400;
_local2._y = 83 + (this.i * 34);
var _local3 = _local2.createTextField("toolTip_xtc", 1, 10, 5, 90, 80);
_local3.textColor = 16777215 /* 0xFFFFFF */;
_local3.selectable = false;
_local3.wordwrap = true;
_local3.border = false;
_local3.html = true;
_local3.multiline = true;
_local3.autosize = true;
var _local4 = new TextFormat();
_local4.bold = true;
_local4.size = 10;
_local4.font = "Arial";
_local4.leading = 0;
_local3.setNewTextFormat(_local4);
_local3.text = this.msg;
_local2.onEnterFrame = function () {
if (this._x > 330) {
this._x = this._x - 10;
}
};
};
inventory.needRedraw = false;
}
}
}
}
function fireBullet(type, damage, caliber, startx, starty, speedx, speedy) {
var _local9 = new bullet(this, type, damage, caliber, startx, starty, speedx, speedy);
bullets.push(_local9);
return(_local9);
}
function drawGameOverScreen() {
var _local2 = _root.attachMovie("gameOver", "inventory_mc", 10002);
var _local3 = _local2.attachMovie("goContinue", "continue_mc", 1);
var _local4 = new Array();
var _local5 = new flash.filters.GlowFilter(0, 100, 3, 4, 1, 1, false, false);
_local4.push(_local5);
_local3.cFilters = _local4;
_local3.filters = _local4;
_local3.blurr = _local5;
_local3._x = 300 - (_local3._width / 2);
_local3._y = 150;
_local3.manager = this;
_local3.onEnterFrame = function () {
this.blurr.blurX = random(50);
this.blurr.blurY = random(50);
this.filters = this.cFilters;
};
_local3.onRelease = function () {
this.manager.userPL.live = 1000;
this.manager.gameState = "game";
};
var _local6 = _local2.attachMovie("goExit", "exit_mc", 2);
_local4 = new Array();
_local5 = new flash.filters.GlowFilter(0, 100, 3, 4, 1, 1, false, false);
_local4.push(_local5);
_local6.cFilters = _local4;
_local6.filters = _local4;
_local6._x = 300 - (_local6._width / 2);
_local6._y = 180;
_local6.blurr = _local5;
_local6.manager = this;
_local6.onEnterFrame = function () {
this.blurr.blurX = random(50);
this.blurr.blurY = random(50);
this.filters = this.cFilters;
};
_local6.onRelease = function () {
this.manager.gameState = "destroy me";
};
}
function drawLiveBar() {
if (_root.HUD_mc == undefined) {
_root.createEmptyMovieClip("HUD_mc", 300);
_root.HUD_mc._y = 3;
_root.HUD_mc._x = 3;
_root.HUD_mc.createEmptyMovieClip("bullet_mc", 1);
_root.HUD_mc.createEmptyMovieClip("bar_mc", 2);
_root.HUD_mc.createEmptyMovieClip("armore_bar_mc", 3);
_root.HUD_mc.attachMovie("baut", "baut_mc", 4);
_root.HUD_mc.attachMovie("src.userInterface.HUD.png", "hudBG_mc", 0);
_root.HUD_mc.bullet_mc._y = 81;
_root.HUD_mc.bullet_mc._x = 19;
_root.HUD_mc.armore_bar_mc._x = 64;
_root.HUD_mc.armore_bar_mc._y = 35;
_root.HUD_mc.armore_bar_mc._yscale = 64;
_root.HUD_mc.armore_bar_mc.armore = 100;
_root.HUD_mc.bar_mc._x = 64;
_root.HUD_mc.bar_mc._y = 10;
_root.HUD_mc.baut_mc._y = 32;
_root.HUD_mc.baut_mc._xscale = 50;
_root.HUD_mc.baut_mc._yscale = 50;
_root.HUD_mc.attachMovie("src.userInterface.head.png", "face_mc", 5);
_root.HUD_mc.face_mc._x = 15;
_root.HUD_mc.face_mc._y = 5;
var _local2 = new flash.geom.ColorTransform();
_root.HUD_mc.face_mc.ct = _local2;
var _local3 = new flash.geom.Transform(_root.HUD_mc.face_mc);
_root.HUD_mc.face_mc.trans = _local3;
_root.HUD_mc.attachMovie("src.userInterface.hudButtons.png", "btns_mc", 6);
_root.HUD_mc.btns_mc._x = 600 - 170;
_root.HUD_mc.btns_mc._y = 4;
_root.HUD_mc.btns_mc._xscale = 75;
_root.HUD_mc.btns_mc._yscale = 75;
_root.HUD_mc.btns_mc.onRelease = function () {
if (this._xmouse < 60) {
if (Main.gameLevel.gameState == "game") {
Main.gameLevel.gameState = "pause";
}
} else if ((this._xmouse >= 60) && (this._xmouse < 98)) {
if (Main.gameLevel.gameState == "game") {
Main.gameLevel.gameState = "inventory";
}
} else {
getURL ("http://www.notdoppler.com/?ref=theserum-04", "_blank");
}
};
_root.HUD_mc.face_mc.onEnterFrame = function () {
this.ct.blueMultiplier = 1000 / Main.gameLevel.userPL.live;
_root.HUD_mc.face_mc.tr;
this.trans.colorTransform = this.ct;
};
}
var _local4 = (userPL.live / 1000) * 188;
_root.HUD_mc.bar_mc.clear();
_root.HUD_mc.bar_mc.beginBitmapFill(getTexture("src.userInterface.liveBarEM.png"));
_root.HUD_mc.bar_mc.moveTo(0, 0);
_root.HUD_mc.bar_mc.lineTo(188, 0);
_root.HUD_mc.bar_mc.lineTo(188, 16);
_root.HUD_mc.bar_mc.lineTo(0, 16);
_root.HUD_mc.bar_mc.endFill();
_root.HUD_mc.bar_mc.beginBitmapFill(getTexture("src.userInterface.liveBar.png"));
_root.HUD_mc.bar_mc.moveTo(0, 0);
_root.HUD_mc.bar_mc.lineTo(_local4, 0);
_root.HUD_mc.bar_mc.lineTo(_local4, 16);
_root.HUD_mc.bar_mc.lineTo(0, 16);
_root.HUD_mc.bar_mc.endFill();
var _local5 = new flash.geom.Matrix();
var _local6 = (userPL.getArmoreTotal() - _root.HUD_mc.armore_bar_mc.armore) / 2;
if (_global.isNaN(_local6) || (!_global.isFinite(_local6))) {
_local6 = 0;
}
_root.HUD_mc.armore_bar_mc.armore = _root.HUD_mc.armore_bar_mc.armore + _local6;
if (_root.HUD_mc.armore_bar_mc.armore < 0) {
_root.HUD_mc.armore_bar_mc.armore = 0;
}
if (_root.HUD_mc.armore_bar_mc.armore > 1000) {
_root.HUD_mc.armore_bar_mc.armore = 1000;
}
_local5.translate(_root.HUD_mc.armore_bar_mc.armore / 50, 0);
_root.HUD_mc.armore_bar_mc.clear();
_root.HUD_mc.armore_bar_mc.beginBitmapFill(getTexture("src.userInterface.screw.jpg"), _local5);
_root.HUD_mc.armore_bar_mc.moveTo(0, 0);
_root.HUD_mc.armore_bar_mc.lineTo(188, 0);
_root.HUD_mc.armore_bar_mc.lineTo(188, 16);
_root.HUD_mc.armore_bar_mc.lineTo(0, 16);
_root.HUD_mc.armore_bar_mc.endFill();
_root.HUD_mc.baut_mc._x = 64 + ((_root.HUD_mc.armore_bar_mc.armore / 1000) * 182);
if ((userPL.weapond != undefined) && (userPL.weapond.type != "melee")) {
_root.HUD_mc.bullet_mc.clear();
var _local7 = userPL.weapond.bulletsOnMag;
var _local8 = userPL.weapond.magazenSize;
var _local9 = (_local7 / _local8) * 63.5;
var _local10 = new flash.geom.Matrix();
_local10.scale(1, 1 / _local8);
_root.HUD_mc.bullet_mc.beginBitmapFill(getTexture("bullets"), _local10);
_root.HUD_mc.bullet_mc.moveTo(0, 0);
_root.HUD_mc.bullet_mc.lineTo(9, 0);
_root.HUD_mc.bullet_mc.lineTo(9, _local9);
_root.HUD_mc.bullet_mc.lineTo(0, _local9);
_root.HUD_mc.bullet_mc.lineTo(0, 0);
_root.HUD_mc.bullet_mc.endFill();
}
}
function unlockStuff() {
var _local2 = "SPECIAL WEAPON UNLOCKED\n";
_local2 = _local2 + "=======================================\n";
var _local3 = SharedObject.getLocal("THE_SERUM_STORY");
if (_local3.data.getcrossbow == undefined) {
_local3.data.getcrossbow = true;
_local2 = _local2 + "crossbow [locked]*<<<<<<<<[unlocked]\n";
_local2 = _local2 + "flame thrower [locked]\n";
_local2 = _local2 + "photon gun [locked]\n";
} else if (_local3.data.getflamethrower == undefined) {
_local3.data.getflamethrower = true;
_local2 = _local2 + "crossbow [available]\n";
_local2 = _local2 + "flame thrower [locked]*<<<<<<<<[unlocked]\n";
_local2 = _local2 + "photon gun [locked]\n";
} else if (_local3.data.getphotongun == undefined) {
_local3.data.getphotongun = true;
_local2 = _local2 + "crossbow [available]\n";
_local2 = _local2 + "flame thrower [available]\n";
_local2 = _local2 + "photon gun [locked]*<<<<<<<<[unlocked]\n";
} else {
_local2 = _local2 + "crossbow [available]\n";
_local2 = _local2 + "flame thrower [available]\n";
_local2 = _local2 + "photon gun [available]\n";
}
_local2 = _local2 + "=======================================\n\n";
_local2 = _local2 + "ALTERNATE COSTUMES UNLOCKED\n";
_local2 = _local2 + "=======================================\n";
if (_local3.data.beach == undefined) {
_local3.data.beach = true;
_local2 = _local2 + "beach party costume [locked]<<<<<<<<[unlocked]\n";
_local2 = _local2 + "rockstar costume [locked]\n";
_local2 = _local2 + "cyborg costume [locked]\n";
} else if (_local3.data.rock == undefined) {
_local3.data.rock = true;
_local2 = _local2 + "beach party costume [available]\n";
_local2 = _local2 + "rockstar costume [locked]<<<<<<<<[unlocked]\n";
_local2 = _local2 + "cyborg costume [locked]\n";
} else if (_local3.data.robot == undefined) {
_local3.data.robot = true;
_local2 = _local2 + "beach party costume [available]\n";
_local2 = _local2 + "rockstar costume [available]\n";
_local2 = _local2 + "cyborg costume [locked]<<<<<<<<[unlocked]\n";
} else {
_local2 = _local2 + "beach party costume [available]\n";
_local2 = _local2 + "rockstar costume [available]\n";
_local2 = _local2 + "cyborg costume [available]\n";
}
_local2 = _local2 + "=======================================\n";
_local3.flush();
return(_local2);
}
function drawPauseScreen() {
if (_root.inventory_mc == undefined) {
var _local2 = _root.attachMovie("src.userInterface.pause.PNG", "inventory_mc", 10002);
var _local3 = _local2.attachMovie("centang", "centang_mc", 1);
_local3._x = 393;
_local3._y = 183;
_local3.onEnterFrame = function () {
switch (_root._quality) {
case "LOW" :
this._x = 405;
this._y = 130;
break;
case "MEDIUM" :
this._x = 385;
this._y = 163;
break;
case "HIGH" :
this._y = 189;
this._x = 400;
}
};
var _local4 = _local2.createEmptyMovieClip("btn1_mc", 2);
_local4.beginFill(16777215);
_local4.moveTo(0, 0);
_local4.lineTo(105, 0);
_local4.lineTo(105, 25);
_local4.lineTo(0, 25);
_local4.endFill();
_local4._x = 400;
_local4._y = 127;
_local4._alpha = 0;
_local4.onRelease = function () {
_root._quality = "LOW";
};
var _local5 = _local4.duplicateMovieClip("btn2_mc", 3);
_local5._y = 156;
_local5.onRelease = function () {
_root._quality = "MEDIUM";
};
var _local6 = _local4.duplicateMovieClip("btn3_mc", 4);
_local6._y = 189;
_local6.onRelease = function () {
_root._quality = "HIGH";
};
var _local7 = _local4.duplicateMovieClip("btn4_mc", 5);
_local7._xscale = 250;
_local7._x = 330;
_local7._y = 253;
_local7.onRelease = function () {
Main.gameLevel.gameState = "game";
};
var _local8 = _local4.duplicateMovieClip("btn4_mc", 6);
_local8._xscale = 250;
_local8._x = 330;
_local8._y = 280;
_local8.onRelease = function () {
Main.gameLevel.gameState = "destroy me";
};
}
}
function drawKills() {
if (_root.kills_mc == undefined) {
_root.createEmptyMovieClip("kills_mc", 400);
_root.kills_mc._x = 280;
} else {
_root.kills_mc.clear();
var _local2 = getTexture("src.userInterface.kills.jpg");
var _local3 = int(zombieKill / 1000);
var _local4 = int((zombieKill - (_local3 * 1000)) / 100);
var _local5 = int(((zombieKill - (_local3 * 1000)) - (_local4 * 100)) / 10);
var _local6 = int(((zombieKill - (_local3 * 1000)) - (_local4 * 100)) - (_local5 * 10));
var _local7 = new flash.geom.Matrix();
_local7.translate((-_local3) * 32, 0);
var _local8 = 0;
_root.kills_mc.beginBitmapFill(_local2, _local7);
_root.kills_mc.moveTo(_local8, 0);
_root.kills_mc.lineTo(_local8 + 32, 0);
_root.kills_mc.lineTo(_local8 + 32, 32);
_root.kills_mc.lineTo(_local8, 32);
_local7 = new flash.geom.Matrix();
_local7.translate((-(_local4 - 1)) * 32, 0);
_local8 = 32;
_root.kills_mc.beginBitmapFill(_local2, _local7);
_root.kills_mc.moveTo(_local8, 0);
_root.kills_mc.lineTo(_local8 + 32, 0);
_root.kills_mc.lineTo(_local8 + 32, 32);
_root.kills_mc.lineTo(_local8, 32);
_local7 = new flash.geom.Matrix();
_local7.translate((-(_local5 - 2)) * 32, 0);
_local8 = 64;
_root.kills_mc.beginBitmapFill(_local2, _local7);
_root.kills_mc.moveTo(_local8, 0);
_root.kills_mc.lineTo(_local8 + 32, 0);
_root.kills_mc.lineTo(_local8 + 32, 32);
_root.kills_mc.lineTo(_local8, 32);
_local7 = new flash.geom.Matrix();
_local7.translate((-(_local6 - 3)) * 32, 0);
_local8 = 96;
_root.kills_mc.beginBitmapFill(_local2, _local7);
_root.kills_mc.moveTo(_local8, 0);
_root.kills_mc.lineTo(_local8 + 32, 0);
_root.kills_mc.lineTo(_local8 + 32, 32);
_root.kills_mc.lineTo(_local8, 32);
}
}
function drawNameRequest() {
}
function render() {
switch (gameState) {
case "teleport in" :
if (_root._alpha > 0) {
_root._alpha = _root._alpha - 10;
userPL.dynamicChain.timeStep();
} else {
bullets.splice(0, bullets.length);
rooms[activeRoom].clearAll();
activeRoom = nextActivatedRoom;
userPL._x = _xAfterTeleport;
userPL._y = _yAfterTeleport;
rooms[nextActivatedRoom]._x = -(_xAfterTeleport - 300);
gameState = "teleport out";
_root._alpha = 0;
}
break;
case "teleport out" :
if (_root._alpha < 100) {
rooms[activeRoom].moveCamera();
update();
_root._alpha = _root._alpha + 10;
userPL.dynamicChain.timeStep();
} else {
gameState = "game";
_root._alpha = 100;
}
break;
case "pause" :
drawPauseScreen();
break;
case "inventory" :
drawInventoryWindow();
drawLiveBar();
break;
case "game" :
if (!allowGameUpdate) {
return(undefined);
}
if (survival) {
drawKills();
}
if (_root.inventory_mc != undefined) {
_root.inventory_mc.removeMovieClip();
_root.splash_mc.removeMovieClip();
}
if (_root.toolTip_xtc != undefined) {
_root.toolTip_xtc.removeTextField();
}
if (_root.action_mc != undefined) {
_root.action_mc.removeMovieClip();
}
if (userPL.live <= 0) {
userPL.live = 0;
if (_root._alpha > 0) {
_root._alpha = _root._alpha - 2;
} else if (survival) {
gameState = "save survival score";
} else {
gameState = "game over";
}
}
drawLiveBar();
userPL._container._alpha = 100;
update();
userPL.updateCain();
particleSys.update();
break;
case "game over" :
userPL._container._alpha = 0;
if (_root.inventory_mc == undefined) {
rooms[activeRoom].clearAll(true);
drawGameOverScreen();
}
_root._alpha = 100;
break;
case "calculate score" :
_root._alpha = 100;
var _local2 = "SUMMARY\n";
_local2 = _local2 + "=======================================\n";
_local2 = _local2 + (("shoots : " + bulletsFired) + newline);
_local2 = _local2 + (("zombie killed : " + zombieKill) + newline);
_local2 = _local2 + (("head shoot : " + headShoot) + newline);
_local2 = _local2 + (("brain shoot : " + brainShots) + newline);
var _local3 = Math.round(((headShoot + (brainShots * 1.5)) / bulletsFired) * 10000) / 100;
_local3 = Math.max(Math.min(_local3, 100), 0);
_local2 = _local2 + (("accuracy : " + _local3) + "/%\n");
_local2 = _local2 + "=======================================\n";
var _local4 = ((zombieKill * 10) + (headShoot * 20)) + (brainShots * 50);
_local2 = _local2 + (("TOTAL SCORE " + _local4) + newline);
_local2 = _local2 + "=======================================\n***#";
totalScore = _local4;
var _local5 = cinematics[activeCinematics];
_local5.typeMessage = _local5.typeMessage + (("*#" + _local2) + unlockStuff());
Main.clearStage();
gameState = "cinematic";
_local5.stateAfterFinish = "add high score";
break;
case "save survival score" :
if (!highScoreCalled) {
_root._alpha = 100;
_root.HUD_mc._visible = false;
var _local6 = function () {
Main.gameLevel.gameState = "destroy me";
};
var _local7 = {n:[3, 8, 15, 2, 0, 1, 11, 13, 2, 4, 13, 15, 4, 1, 2, 9], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var _local8 = _local7.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:_local8, score:zombieKill, onClose:_local6, res:"600x325"});
highScoreCalled = true;
}
break;
case "add high score" :
if (!highScoreCalled) {
var _local9 = function () {
Main.gameLevel.gameState = "destroy me";
};
var _local10 = {n:[9, 6, 3, 8, 7, 11, 7, 5, 2, 11, 1, 2, 12, 4, 13, 3], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var _local11 = _local10.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:_local11, score:totalScore, onClose:_local9, res:"600x325"});
highScoreCalled = true;
}
break;
case "cinematic" :
cinematics[activeCinematics].drawFrame();
}
if (Key.isDown(Key.CONTROL) && (Key.isDown(Key.ALT) && (Key.isDown(Key.SPACE)))) {
rooms[activeRoom].enemies[random(rooms[activeRoom].enemies.length)].live = 0;
rooms[activeRoom].spawner.splice(0, rooms[activeRoom].spawner.length);
}
}
function playSound(linkedID, stopPrevious, loop) {
var _local5 = new Sound();
if (stopPrevious) {
}
_local5.attachSound(linkedID);
if (loop) {
_local5.start(0, loop);
} else {
_local5.start(0, 1);
}
_local5.onSoundComplete = function () {
};
return(_local5);
}
function destroy() {
var _local2 = 0;
for ( ; _local2 < rooms.length ; _local2++) {
rooms[_local2].destroy();
}
delete rooms;
gameMeshBuffer.splice(0, gameMeshBuffer.length);
delete gameMeshBuffer;
delete name;
delete startRoom;
delete activeRoom;
_local2 = 0;
for ( ; _local2 < textureBuffer.length ; _local2++) {
textureBuffer[_local2].texture.dispose();
}
delete textureBuffer;
userPL.destroy();
bullets.splice(0, bullets.length);
bgContainer.removeMovieClip();
parContainer.removeMovieClip();
fgContainer.removeMovieClip();
lightGround.dispose();
lgContainer.removeMovieClip();
invGround.dispose();
collisionLayer.removeMovieClip();
particleSys.destroy();
bullet_mc.removeMovieClip();
delete gameState;
delete pickingTolerace;
delete nextActivatedRoom;
delete _xAfterTeleport;
delete _yAfterTeleport;
delete mouseListener;
delete requestShoot;
cinematics.splice(0, cinematics.length);
delete activeCinematics;
delete brainShots;
delete headShoot;
delete bulletsFired;
delete zombieKill;
delete Rank;
delete miss;
delete playerName;
delete totalScore;
delete survival;
Mouse.removeListener(mouseListener);
Key.removeListener(keyListener);
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20506 MovieClip [__Packages.cinematic] Frame 0
class cinematic
{
var paused, frames, currentFrame, typingDelay, typingCounter, typingPosition, typeMessage;
function cinematic () {
paused = false;
frames = new Array();
currentFrame = 0;
typingDelay = 0;
typingCounter = 0;
typingPosition = 0;
}
function nextChar() {
if (typingPosition < typeMessage.length) {
switch (typeMessage.charAt(typingPosition)) {
case "#" :
_root.cinema_mc.story_txt.text = "";
break;
case "*" :
typingCounter = -50;
break;
case "%" :
typingCounter = -10;
break;
case "/" :
typingPosition++;
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text + typeMessage.charAt(typingPosition);
typingCounter = 0;
break;
case "<" :
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text.substr(0, _root.cinema_mc.story_txt.text.length - 1);
typingCounter = 0;
break;
case " " :
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text + typeMessage.charAt(typingPosition);
typingCounter = 0;
break;
case newline :
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text + typeMessage.charAt(typingPosition);
typingCounter = 0;
break;
default :
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text + typeMessage.charAt(typingPosition);
typingCounter = 0;
}
typingPosition++;
}
return(typeMessage.charAt(typingPosition - 1));
}
function drawFrame() {
if (_root.cinema_mc == undefined) {
var _local2 = _root.createEmptyMovieClip("cinema_mc", 10000);
var _local3 = _root.cinema_mc.createTextField("story_txt", 2, 22, 157 - 100, 400, 300);
_local3.selectable = false;
var _local4 = new Array();
var _local5 = new flash.filters.GlowFilter(0, 100, 1, 1, 100, 1, false);
_local4.push(_local5);
_local3.filters.push(_local5);
_local3.textColor = 16777215 /* 0xFFFFFF */;
var _local6 = new TextFormat();
_local6.bold = false;
_local6.size = 11;
_local6.font = "Courier New";
_local6.align = "center";
_local3.setNewTextFormat(_local6);
_local2.typeMessage = typeMessage;
_local2.manager = this;
_local2.onRelease = function () {
if (this.manager.typeMessage.charAt(this.manager.typingPosition + 1) == "#") {
this.manager.typingCounter = this.manager.typingDelay;
this.manager.paused = false;
this.manager.typingCounter = this.manager.typingDelay;
_root.cinema_mc.story_txt.text = "";
this.manager.typingPosition++;
return(undefined);
}
while ((this.manager.typeMessage.charAt(this.manager.typingPosition + 1) != "#") && (this.manager.typingPosition < this.manager.typeMessage.length)) {
this.manager.nextChar();
}
};
}
_root.cinema_mc.attachMovie(frames[currentFrame], "cine_img", 1);
if (!paused) {
if (typingCounter < typingDelay) {
typingCounter++;
if (Key.isDown(Key.SPACE)) {
typingCounter = typingDelay;
}
} else if (typingPosition < typeMessage.length) {
if (typeMessage.charAt(typingPosition + 1) == "#") {
paused = true;
var _local7 = _root.attachMovie("next", "nxbtn", 10001);
_local7._y = 300;
_local7._x = 520;
_local7.man = this;
_local7.onRelease = function () {
this.man.paused = false;
this.man.typingCounter = this.man.typingDelay;
_root.cinema_mc.story_txt.text = "";
this.man.typingPosition++;
this.removeMovieClip();
};
} else {
if (_root.nxbtn != undefined) {
_root.nxbtn.removeMovieClip();
}
switch (typeMessage.charAt(typingPosition)) {
case "#" :
_root.cinema_mc.story_txt.text = "";
typingCounter = 0;
break;
case "*" :
typingCounter = -50;
break;
case "%" :
typingCounter = -10;
break;
case "/" :
typingPosition++;
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text + typeMessage.charAt(typingPosition);
typingCounter = 0;
break;
case "<" :
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text.substr(0, _root.cinema_mc.story_txt.text.length - 1);
typingCounter = 0;
break;
case " " :
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text + typeMessage.charAt(typingPosition);
typingCounter = 0;
break;
case newline :
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text + typeMessage.charAt(typingPosition);
typingCounter = 0;
break;
default :
_root.cinema_mc.story_txt.text = _root.cinema_mc.story_txt.text + typeMessage.charAt(typingPosition);
typingCounter = 0;
}
typingPosition++;
}
} else if (_root.cinema_mc.nxbtn == undefined) {
delete _root.cinema_mc.onRelease;
var _local8 = _root.cinema_mc.attachMovie("next", "nxbtn", 3);
_local8._y = 300;
_local8._x = 520;
_local8.man = this;
_local8.onRelease = function () {
if (this.man.currentFrame < (this.man.frames.length - 1)) {
this.man.drawFrame();
this.man.currentFrame++;
} else if (this.man.stateAfterFinish != undefined) {
Main.gameLevel.gameState = this.man.stateAfterFinish;
} else {
Main.gameLevel.activeRoom = this.man.roomToGo;
Main.gameLevel.userPL._x = this.man._xafterTeleport;
Main.gameLevel.userPL._y = this.man._yafterTeleport;
_root._alpha = 0;
_root.cinema_mc.removeMovieClip();
Main.gameLevel.gameState = "teleport out";
}
};
}
}
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20507 MovieClip [__Packages.room] Frame 0
class room
{
var xStartPosition, BANK_READY, roomName, backGround, foreGround, collisionGround, items, dors, spawner, commands, hints, enemies, eContainers, lights, turn, _x, _y, deleteSome, dir;
function room (name, xStart, bg, cg, fg) {
xStartPosition = xStart;
BANK_READY = false;
roomName = name;
backGround = bg;
foreGround = fg;
collisionGround = cg;
items = new Array();
dors = new Array();
spawner = new Array();
commands = new Array();
hints = new Array();
enemies = new Array();
eContainers = new Array();
lights = new Array();
turn = 0;
_x = 1;
_y = 1;
deleteSome = false;
}
function destroy() {
delete roomName;
items.splice(0, items.length);
dors.splice(0, items.length);
spawner.splice(0, items.length);
commands.splice(0, items.length);
enemies.splice(0, items.length);
lights.splice(0, items.length);
hints.splice(0, items.length);
eContainers.splice(0, items.length);
delete xStartPosition;
delete _x;
delete _y;
delete dir;
delete deleteSome;
delete turn;
}
function addHints(x, y, rot) {
var _local5 = new arrowHints(this, x, y, rot);
hints.push(_local5);
return(_local5);
}
function addAmbientLight(x, y, color, power, blinkFactor) {
var _local7 = new light("area", x, y, power, color, blinkFactor);
lights.push(_local7);
return(_local7);
}
function addPointLight(x, y, color, power, blinkFactor, range, lifeTime) {
var _local9 = new light("point", x, y, power, color, blinkFactor, range);
if (lifeTime) {
_local9.lifeTime = lifeTime;
}
lights.push(_local9);
return(_local9);
}
function addFlame(x, y, size, lifeTime) {
var _local6 = new light("flame", x, y, 400, 16777164, 0, size);
if (lifeTime) {
_local6.lifeTime = lifeTime;
}
lights.push(_local6);
}
function addDirectionalLight(x, y, color, power, blinkFactor, range, angle, umbraSize, lifeTime) {
var _local11 = new light("directional", x, y, power, color, blinkFactor, range, angle);
_local11.umbraSize = umbraSize;
if (lifeTime) {
_local11.lifeTime = lifeTime;
}
lights.push(_local11);
}
function clearAll(includeRenderSurface) {
if (includeRenderSurface) {
Main.gameLevel.bgContainer.clear();
Main.gameLevel.fgContainer.clear();
Main.gameLevel.collisionLayer.clear();
}
var _local3 = 100;
for ( ; _local3 < 105 ; _local3++) {
_root.getInstanceAtDepth(_local3).removeMovieClip();
}
eContainers.splice(0, eContainers.length);
_local3 = 0;
for ( ; _local3 < enemies.length ; _local3++) {
enemies[_local3].container = undefined;
}
}
function addEnemySpawner(manager, quota, maxZombieSpawn, spawnType, x, y) {
var _local8 = new enemySpawner(manager, this, quota, maxZombieSpawn, spawnType, x, y);
spawner.push(_local8);
return(_local8);
}
function addDor(newDor) {
if (newDor) {
dors.push(dor);
return(true);
}
return(false);
}
function addNewDor(dorName, locked, xpos, ypos, roomIndexTarget, dorNameTarget, keyName) {
var _local9 = new dor(dorName, locked, xpos, ypos, roomIndexTarget, dorNameTarget, keyName);
dors.push(_local9);
return(_local9);
}
function addItem(newItem) {
items.push(newItem);
}
function addNewItem(name, type, value, x, y, texture) {
var _local8 = new item(name, type, value, x, y, texture);
items.push(_local8);
return(_local8);
}
function moveRight(distance) {
if (_x > ((-backGround.width) + 601)) {
_x = _x - distance;
return(true);
}
return(false);
}
function moveLeft(distance) {
if (_x < 1) {
_x = _x + distance;
return(true);
}
return(false);
}
function moveCamera() {
var _local2 = (Main.gameLevel.userPL._x - 300) - _x;
var _local3 = 0.5;
var _local4 = _local2 * _local3;
_x = -Math.max(Math.min(_local4, backGround.width - 600), 0);
}
function getItemFromXY(x1, y1, x2, y2) {
var _local6 = 0;
var _local7 = -1;
_local6 = 0;
for ( ; _local6 < items.length ; _local6++) {
if ((items[_local6]._x > x1) && ((items[_local6]._x < x2) && ((items[_local6]._y > y1) && (items[_local6]._y < y2)))) {
_local7 = _local6;
break;
}
}
if (_local7 > -1) {
var _local8 = items.splice(_local7, 1)[0];
return(_local8);
}
return(undefined);
}
function getDorFromXY(x1, y1, x2, y2) {
var _local6 = 0;
var _local7 = -1;
_local6 = 0;
for ( ; _local6 < dors.length ; _local6++) {
if ((dors[_local6]._x > x1) && ((dors[_local6]._x < x2) && ((dors[_local6]._y > y1) && (dors[_local6]._y < y2)))) {
_local7 = _local6;
break;
}
}
if (_local7 > -1) {
var _local8 = dors[_local7];
return(_local8);
}
return(undefined);
}
function addCommand(manager, trigger, _x, _y, touchTolerance) {
var _local7 = new command(manager, this, trigger, _x, _y, touchTolerance);
commands.push(_local7);
return(_local7);
}
function renderLight() {
Main.gameLevel.lightGround.fillRect(new flash.geom.Rectangle(0, 0, 600, 325), -16777216);
var _local2 = 0;
for ( ; _local2 < lights.length ; _local2++) {
if (lights[_local2].render(Main.gameLevel.lightGround, _x, _y) && ((lights[_local2].blinkFactor > 0) && (lights[_local2].blinkFactor < 25))) {
if ((lights[_local2]._x > (-_x)) && (lights[_local2]._x <= ((-_x) + 600))) {
var _local3 = _root.getNextHighestDepth();
var _local4 = _root.createEmptyMovieClip("kons" + _local3, _local3);
var _local5 = new Sound(_local4);
_local5.attachSound("konslet");
_local5.start(0, 1);
_local4.snd = _local5;
var _local6 = Main.gameLevel.getTexture("src.sfx.firePhase1.png");
Main.gameLevel.particleSys.addParticle(lights[_local2]._x, lights[_local2]._y, 5 - random(10), -random(10), _local6, CONSTANTS.P_ENUM_NOTHING, 0, 0.05, 0.05);
_local4.onEnterFrame = function () {
if (this.snd.getPosition() >= this.snd.getDuration()) {
this.removeMovieClip();
}
};
}
}
if (lights[_local2].requestDelete) {
lights.splice(_local2, 1);
_local2--;
}
}
}
function render() {
if (CONSTANTS.useZombieBank) {
if (!BANK_READY) {
_root.createEmptyMovieClip("bankir_mc", _root.getNextHighestDepth());
_root.bankir_mc.count = 0;
_root.bankir_mc.iroom = this;
var _local2 = _root.bankir_mc.createTextField("announch_tf", 1, 500, 325 - 30, 100, 30);
_local2.selectable = false;
_local2.textColor = 16777215 /* 0xFFFFFF */;
_root.bankir_mc.announch_tf.text = "Pease Wait";
_root.bankir_mc.beginFill(0, 100);
_root.bankir_mc.moveTo(0, 0);
_root.bankir_mc.lineTo(600, 0);
_root.bankir_mc.lineTo(600, 325);
_root.bankir_mc.lineTo(0, 325);
_root.bankir_mc.endFill();
Main.gameLevel.allowGameUpdate = false;
_root.bankir_mc.onEnterFrame = function () {
if (this.count < this.iroom.spawner.length) {
_root.bankir_mc.announch_tf.text = ("[" + int(((this.count + 1) / this.iroom.spawner.length) * 100)) + "%] / ";
this.iroom.spawner[this.count].initZombieBank();
if (this.iroom.spawner[this.count].bankInitiated) {
this.count++;
}
} else {
this.iroom.BANK_READY = true;
this.removeMovieClip();
Main.gameLevel.allowGameUpdate = true;
}
};
return(undefined);
}
}
CONSTANTS.P_WORLD_X = _x;
CONSTANTS.P_WORLD_Y = _y;
Main.gameLevel.collisionLayer.clear();
Main.gameLevel.bgContainer.clear();
Main.gameLevel.fgContainer.clear();
var _local3 = new flash.geom.Matrix(1, 0, 0, 1, 0, 0);
_local3.translate(_x, _y);
if (backGround) {
Main.gameLevel.bgContainer.beginBitmapFill(backGround, _local3, true, false);
Main.gameLevel.bgContainer.moveTo(0, 0);
Main.gameLevel.bgContainer.lineTo(600, 0);
Main.gameLevel.bgContainer.lineTo(600, 325);
Main.gameLevel.bgContainer.lineTo(0, 325);
Main.gameLevel.bgContainer.lineTo(0, 0);
Main.gameLevel.bgContainer.endFill();
}
if (foreGround) {
if (foreGround) {
Main.gameLevel.fgContainer.beginBitmapFill(foreGround, _local3, true, false);
Main.gameLevel.fgContainer.moveTo(0, 0);
Main.gameLevel.fgContainer.lineTo(600, 0);
Main.gameLevel.fgContainer.lineTo(600, 325);
Main.gameLevel.fgContainer.lineTo(0, 325);
Main.gameLevel.fgContainer.lineTo(0, 0);
Main.gameLevel.fgContainer.endFill();
}
}
var _local4 = 0;
_local4 = 0;
for ( ; _local4 < hints.length ; _local4++) {
var _local5 = hints[_local4];
_local5.draw(Main.gameLevel.fgContainer);
}
_local4 = 0;
for ( ; _local4 < items.length ; _local4++) {
items[_local4].render(Main.gameLevel.bgContainer, _x, _y);
}
if (CONSTANTS.ROOM_DEBUG) {
_local4 = 0;
for ( ; _local4 < dors.length ; _local4++) {
if (((dors[_local4]._x + _x) > 0) && ((dors[_local4]._x + _x) < 600)) {
dors[_local4].render(Main.gameLevel.bgContainer, _x, _y);
}
}
}
_local4 = 0;
for ( ; _local4 < spawner.length ; _local4++) {
if (((spawner[_local4]._x + _x) > 0) && ((spawner[_local4]._x + _x) < 600)) {
if (CONSTANTS.ROOM_DEBUG) {
spawner[_local4].render(Main.gameLevel.bgContainer, _x, _y);
}
if (spawner[_local4].eraseMe) {
spawner.splice(_local4, 1);
_local4--;
} else {
spawner[_local4].update();
}
}
}
_local4 = 0;
for ( ; _local4 < commands.length ; _local4++) {
if (commands[_local4].eraseMe) {
commands.splice(_local4, 1);
} else {
if (CONSTANTS.ROOM_DEBUG) {
commands[_local4].render(Main.gameLevel.bgContainer);
}
commands[_local4].update();
}
}
if (turn < 4) {
turn++;
} else {
turn = 0;
}
_local4 = 0;
for ( ; _local4 < enemies.length ; _local4++) {
for ( ; enemies[_local4].requestDelete ; _local4++) {
var _local6 = new flash.geom.Matrix();
_local6.scale(eContainers[_local4].mc._xscale / 100, eContainers[_local4].mc._yscale / 100);
_local6.translate(eContainers[_local4].mc._x - _x, eContainers[_local4].mc._y - _y);
backGround.draw(eContainers[_local4].mc, _local6);
var _local7 = 0;
for ( ; _local7 < eContainers.length ; _local7++) {
if (eContainers[_local7].zomb == enemies[_local4]) {
eContainers[_local7].mc.removeMovieClip();
eContainers.splice(_local7, 1);
break;
}
}
enemies[_local4].destroy();
enemies.splice(_local4, 1);
Main.gameLevel.zombieKill++;
}
var _local8 = false;
if ((_local4 == turn) || ((_root._quality == "HIGH") || (enemies[_local4].container == undefined))) {
if (enemies[_local4].container == undefined) {
registerZombie(enemies[_local4]);
}
_local8 = true;
}
enemies[_local4].render(_local8);
}
renderLight();
}
function registerZombie(z) {
var _local3 = 100;
for ( ; _local3 < 105 ; _local3++) {
if (_root.getInstanceAtDepth(_local3) == undefined) {
var _local4 = _root.createEmptyMovieClip(("ct" + _local3) + "_mc", _local3);
eContainers.push({zomb:z, mc:_local4});
z.container = _local4;
return(true);
}
}
return(false);
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20508 MovieClip [__Packages.particleManager] Frame 0
class particleManager
{
var renderSurface, particles, colisionMap;
function particleManager () {
renderSurface = new flash.display.BitmapData(600, 325, true, 0);
particles = new Array();
}
function destroy() {
renderSurface.dispose();
particles.splice(0, particles.length);
}
function clearSurface() {
renderSurface.fillRect(new flash.geom.Rectangle(0, 0, 600, 325), 0);
}
function addParticle(x, y, speedx, speedy, texture, actionAfterDie, bouncing, scalex, scaley, rotateSpeed) {
var _local12 = new particle(this, x, y, speedx, speedy, texture, actionAfterDie, bouncing, scalex, scaley, rotateSpeed);
particles.push(_local12);
return(_local12);
}
function update() {
clearSurface();
if (particles.length > 0) {
colisionMap = Main.gameLevel.rooms[Main.gameLevel.activeRoom].collisionGround;
var _local2 = 0;
for ( ; _local2 < particles.length ; _local2++) {
if (!particles[_local2].update()) {
particles.splice(_local2, 1);
_local2--;
}
}
}
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20509 MovieClip [__Packages.light] Frame 0
class light
{
var power, type, _x, _y, ligthColor, blinkFactor, range, directionAngle, drawingMatrix, texture, phase, gradientMatrix, requestDelete, lifeTime, umbraSize;
function light (type, _x, _y, power, ligthColor, blinkFactor, range, directionAngle) {
this.power = power;
this.type = type;
this._x = _x;
this._y = _y;
this.ligthColor = ligthColor;
this.blinkFactor = blinkFactor;
this.range = range;
this.directionAngle = directionAngle;
drawingMatrix = new flash.geom.Matrix();
switch (type) {
case "flame" :
texture = new Array();
phase = 0;
texture.push(Main.gameLevel.getTexture("src.sfx.firePhase1.png"));
texture.push(Main.gameLevel.getTexture("src.sfx.firePhase2.png"));
texture.push(Main.gameLevel.getTexture("src.sfx.firePhase3.png"));
texture.push(Main.gameLevel.getTexture("src.sfx.firePhase4.png"));
texture.push(Main.gameLevel.getTexture("src.sfx.firePhase5.png"));
texture.push(Main.gameLevel.getTexture("src.sfx.firePhase6.png"));
gradientMatrix = new flash.geom.Matrix();
var _local10 = range * 4;
gradientMatrix.createGradientBox(_local10 * 2, _local10 * 2, Math.PI, -_local10, -_local10);
break;
case "point" :
gradientMatrix = new flash.geom.Matrix();
gradientMatrix.createGradientBox(range * 2, range * 2, Math.PI, 0, 0);
break;
case "directional" :
gradientMatrix = new flash.geom.Matrix();
gradientMatrix.createGradientBox(range * 2, range * 2, Math.PI, 0, -range);
}
requestDelete = false;
}
function render(surface, worldx, worldy) {
if (blinkFactor > 0) {
if (random(blinkFactor) > (blinkFactor - 10)) {
return(false);
}
}
if (lifeTime != undefined) {
if (lifeTime > 0) {
lifeTime--;
} else {
requestDelete = true;
return(true);
}
}
var _local5 = _root.createEmptyMovieClip("light_magic_renderer", _root.getNextHighestDepth());
var _local6 = drawingMatrix.clone();
switch (type) {
case "flame" :
_local6.translate(-64, -64);
_local6.scale((range * 8) / 128, (range * 8) / 128);
_local6.translate(_x + worldx, _y + worldy);
_local5.attachMovie("src.sfx.pointLight.png", "lg", 0);
var _local7 = new flash.geom.ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
_local7.rgb = 16777164 /* 0xFFFFCC */;
_local7.alphaMultiplier = 0.3;
surface.draw(_local5, _local6, _local7);
if (phase < (texture.length - 1)) {
phase++;
} else {
phase = 0;
}
var _local8 = new flash.geom.Matrix();
_local8.translate(texture[phase].height / 2, texture[phase].height / 2);
_local8.scale((range * 2) / texture[phase].width, (range * 2) / texture[phase].height);
var _local9 = _root.createEmptyMovieClip("flame" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
_local9.beginBitmapFill(texture[phase], _local8);
_local9.moveTo(-range, -range);
_local9.lineTo(-range, range);
_local9.lineTo(range, range);
_local9.lineTo(range, -range);
_local9.endFill();
_local9._x = _x + worldx;
_local9._y = _y + worldy;
_local9._alpha = 50;
_local9.onEnterFrame = function () {
this.removeMovieClip();
};
break;
case "point" :
_local6.translate(-64, -64);
_local6.scale((range * 2) / 128, (range * 2) / 128);
_local6.translate(_x + worldx, _y + worldy);
_local5.attachMovie("src.sfx.pointLight.png", "lg", 0);
var _local10 = new flash.geom.ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
_local10.rgb = ligthColor;
_local10.alphaMultiplier = power / 100;
surface.draw(_local5, _local6, _local10);
break;
case "directional" :
_local6.translate(-64, 0);
_local6.scale(umbraSize / 128, range / 128);
_local6.rotate(((directionAngle / 180) * Math.PI) - (Math.PI / 2));
_local6.translate(_x + worldx, _y + worldy);
_local5.attachMovie("directionalLight", "lg", 0);
var _local11 = new flash.geom.ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
_local11.rgb = ligthColor;
_local11.alphaMultiplier = power / 100;
surface.draw(_local5, _local6, _local11);
break;
case "area" :
_local5.beginFill(ligthColor, power);
_local5.moveTo(0, 0);
_local5.lineTo(600, 0);
_local5.lineTo(600, 325);
_local5.lineTo(0, 325);
_local5.endFill();
surface.draw(_local5, _local6);
}
_local5.removeMovieClip();
return(true);
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20510 MovieClip [__Packages.mochi.as2.MochiEvents] Frame 0
class mochi.as2.MochiEvents
{
function MochiEvents () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function startSession(achievementID) {
mochi.as2.MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null);
}
static function setNotifications(clip, style) {
var _local4 = {};
for (var s in style) {
_local4[s] = style[s];
}
_local4.clip = clip;
mochi.as2.MochiServices.send("events_setNotifications", _local4, null, null);
}
static function addEventListener(eventType, thisObject, thatObject) {
_dispatcher.addEventListener(eventType, thisObject, thatObject);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, thisObject, thatObject) {
_dispatcher.removeEventListener(eventType, thisObject, thatObject);
}
static function startPlay(tag) {
if (tag == undefined) {
tag = "gameplay";
}
mochi.as2.MochiServices.send("events_setRoundID", {tag:String(tag)}, null, null);
}
static function endPlay() {
mochi.as2.MochiServices.send("events_clearRoundID", null, null, null);
}
static function trackEvent(tag, value) {
mochi.as2.MochiServices.send("events_trackEvent", {tag:tag, value:value}, null, null);
}
static var ACHIEVEMENT_RECEIVED = "AchievementReceived";
static var ALIGN_TOP_LEFT = "ALIGN_TL";
static var ALIGN_TOP = "ALIGN_T";
static var ALIGN_TOP_RIGHT = "ALIGN_TR";
static var ALIGN_LEFT = "ALIGN_L";
static var ALIGN_CENTER = "ALIGN_C";
static var ALIGN_RIGHT = "ALIGN_R";
static var ALIGN_BOTTOM_LEFT = "ALIGN_BL";
static var ALIGN_BOTTOM = "ALIGN_B";
static var ALIGN_BOTTOM_RIGHT = "ALIGN_BR";
static var FORMAT_SHORT = "ShortForm";
static var FORMAT_LONG = "LongForm";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 20511 MovieClip [__Packages.dor] Frame 0
class dor
{
var _x, _y, name, locked, roomIndexTarget, dorNameTarget, keyName, toolTipOnOpen, toolTipOnKeyRequire;
function dor (dorName, locked, xpos, ypos, roomIndexTarget, dorNameTarget, keyName) {
_x = xpos;
_y = ypos;
name = dorName;
this.locked = locked;
this.roomIndexTarget = roomIndexTarget;
this.dorNameTarget = dorNameTarget;
this.keyName = keyName;
}
function openDor(itemUsed) {
if (itemUsed == keyName) {
}
}
function setOpenToolTip(value) {
toolTipOnOpen = value;
}
function setKeyRequireToolTip(value) {
toolTipOnKeyRequire = value;
}
function render(container, x, y) {
var _local5 = _x - 25;
var _local6 = _y - 200;
var _local7 = _x + 25;
var _local8 = _y;
container.beginFill(16711680, 100);
container.moveTo(_local5 + x, _local6 + y);
container.lineTo(_local7 + x, _local6 + y);
container.lineTo(_local7 + x, _local8 + y);
container.lineTo(_local5 + x, _local8 + y);
container.endFill();
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20512 MovieClip [__Packages.arrowHints] Frame 0
class arrowHints
{
var _x, _y, _rotation, points, _container, time, drawingMatrix, active, followPlayer;
function arrowHints (container, x, y, rotation) {
_x = x;
_y = y;
_rotation = rotation;
points = new Array();
_container = container;
time = 0;
points.push(new flash.geom.Point(0, 0));
points.push(new flash.geom.Point(20, 10));
points.push(new flash.geom.Point(10, 10));
points.push(new flash.geom.Point(10, 30));
points.push(new flash.geom.Point(-10, 30));
points.push(new flash.geom.Point(-10, 10));
points.push(new flash.geom.Point(-20, 10));
drawingMatrix = new flash.geom.Matrix();
drawingMatrix.scale(0.5, 1);
drawingMatrix.translate(0, -15);
active = true;
followPlayer = false;
var _local6 = 0;
for ( ; _local6 < points.length ; _local6++) {
points[_local6] = drawingMatrix.transformPoint(points[_local6]);
}
}
function deactive() {
active = false;
}
function activate() {
active = true;
}
function draw(surface) {
if (!active) {
return(undefined);
}
var _local3 = drawingMatrix.clone();
_local3.rotate(_rotation * CMath.DEGTORAD);
if (followPlayer) {
_local3.translate(Main.gameLevel.userPL._x - 15, _y);
} else {
_local3.translate(_x, _y);
}
_local3.translate(_container._x, _container._y);
if (time < 180) {
time = time + 10;
} else {
time = 0;
}
var _local4 = CMath.sin(time) * 5;
var _local5 = (CMath.cos(_rotation - 90) * CMath.sin(time)) * 10;
var _local6 = (CMath.sin(_rotation - 90) * CMath.sin(time)) * 10;
_local3.translate(_local5, _local6);
surface.lineStyle(_local4, 16776960, 50);
surface.beginFill(65280, 50);
var _local7 = _local3.transformPoint(points[0].clone());
surface.moveTo(_local7.x, _local7.y);
var _local8 = 1;
for ( ; _local8 < points.length ; _local8++) {
_local7 = _local3.transformPoint(points[_local8].clone());
surface.lineTo(_local7.x, _local7.y);
}
_local7 = _local3.transformPoint(points[0].clone());
surface.lineTo(_local7.x, _local7.y);
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20513 MovieClip [__Packages.keyFrame] Frame 0
class keyFrame
{
var _start, _changes;
function keyFrame (start) {
_start = start;
_changes = new Array();
}
function clone(newArmature) {
var _local3 = new keyFrame(_start);
var _local4 = 0;
for ( ; _local4 < _changes.length ; _local4++) {
_local3.addAffectedBone(newArmature.getBoneChildFromName(_changes[_local4]._bone._name), _changes[_local4].target, _changes[_local4].scale);
}
return(_local3);
}
function addAffectedBone(aBone, targetRot, targetScale) {
_changes.push({_bone:aBone, target:targetRot, scale:targetScale});
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20514 MovieClip [__Packages.Main] Frame 0
class Main
{
static var mochimc_name, mochi_mc;
function Main () {
}
static function drawDevSplash() {
if (_root.logo_mc == undefined) {
clearStage();
var _local2 = _root.attachMovie("sponsor", "logo_mc", 1);
_local2.timer = 151;
_local2.onEnterFrame = function () {
if (this.timer <= 0) {
_root._xscale = (700 / 600) * 100;
_root._yscale = (400 / 325) * 100;
Main.manuState = "main menu";
_root._quality = "LOW";
} else {
_root._quality = "HIGH";
this.timer--;
}
};
}
}
static function initGameSurvival() {
var _local2 = new level("survival");
_local2.startRoom = 0;
_local2.activeRoom = 0;
_root.alpha = 0;
_local2.playSound("step1");
_local2.userPL.badanMesh._mesh.setTexture(_local2.getTexture("src.character.zacksRock.png").clone());
_local2.userPL.kakiMesh._mesh.setTexture(_local2.getTexture("src.character.kakiRock.png").clone());
_local2.addMesh("bos0", CONSTANTS.bosMesh);
_local2.addMesh("zombie1", CONSTANTS.zombie1Mesh);
_local2.addMesh("proff", CONSTANTS.proffMesh);
var _local3 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.security.png");
_local3.speedx = 2;
_local3.live = 600;
_local3.randomFeetDamage = false;
var _local4 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.security2.png");
_local4.speedx = 2;
_local4.live = 600;
_local4.dropItem = items.colt.clone();
_local4.dropProbability = 5;
_local4.minItemValue = 21;
_local4.maxItemValue = 35;
var _local5 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.security.png");
_local5.speedx = 2;
_local5.live = 600;
_local5.dropItem = items.colt.clone();
_local5.dropProbability = 5;
_local5.minItemValue = 120;
_local5.maxItemValue = 120;
var _local6 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.security2.png");
_local6.speedx = 2;
_local6.live = 600;
_local6.dropItem = items.painKillers.clone();
_local6.dropProbability = 5;
_local6.minItemValue = 100;
_local6.maxItemValue = 200;
var _local7 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.mib.png");
_local7.speedx = 2 * CONSTANTS.difficult;
_local7.live = 600;
_local7.dropItem = items.colt.clone();
_local7.dropProbability = 5;
_local7.minItemValue = 15;
_local7.maxItemValue = 30;
var _local8 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.mib.png");
_local8.live = 600;
_local8.speedx = 2 * CONSTANTS.difficult;
_local8.dropItem = items.colt.clone();
_local8.dropProbability = 5;
_local8.minItemValue = 15;
_local8.maxItemValue = 30;
var _local9 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.mib2.png");
_local9.live = 600;
_local9.speedx = 2 * CONSTANTS.difficult;
_local9.dropItem = items.colt.clone();
_local9.dropProbability = 5;
_local9.minItemValue = 15;
_local9.maxItemValue = 30;
var _local10 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.mib3.png");
_local10.live = 600;
_local10.speedx = 2 * CONSTANTS.difficult;
_local10.dropItem = items.colt.clone();
_local10.dropProbability = 5;
_local10.minItemValue = 15;
_local10.maxItemValue = 30;
var _local11 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.laboran.png");
_local11.live = 600;
_local11.speedx = 2 * CONSTANTS.difficult;
_local11.dropItem = items.colt.clone();
_local11.dropProbability = 5;
_local11.minItemValue = 15;
_local11.maxItemValue = 30;
var _local12 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.laboran2.png");
_local12.live = 600;
_local12.speedx = 2 * CONSTANTS.difficult;
_local12.dropItem = items.painKillers.clone();
_local12.dropProbability = 5;
_local12.minItemValue = 100;
_local12.maxItemValue = 200;
var _local13 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.laboran2.png");
_local13.live = 1200;
_local13.speedx = 2 * CONSTANTS.difficult;
_local13.dropItem = items.colt.clone();
_local13.dropProbability = 5;
_local13.minItemValue = 60;
_local13.maxItemValue = 60;
_local13.randomFeetDamage = false;
var _local14 = new enemyTemplate(_local2.getMesh("bos0"), 8000, 2.5, "src.character.zombie1_blood.png", "src.character.bos.png");
_local14.live = 8000;
_local14.speedx = 4 * CONSTANTS.difficult;
_local14.dropItem = items.m60.clone();
_local14.dropProbability = 30;
_local14.minItemValue = 100;
_local14.maxItemValue = 100;
_local14.leggLive = _global.Infinity;
_local14.size = 120;
_local14.randomFeetDamage = false;
var _local15 = new enemyTemplate(_local2.getMesh("bos0"), 8000, 2.5, "src.character.zombie1_blood.png", "src.character.bos2.png");
_local15.live = 8000;
_local15.speedx = 4 * CONSTANTS.difficult;
_local15.dropItem = items.r870.clone();
_local15.dropProbability = 30;
_local15.minItemValue = 32;
_local15.maxItemValue = 32;
_local15.leggLive = _global.Infinity;
_local15.size = 120;
_local15.randomFeetDamage = false;
var _local16 = new enemyTemplate(_local2.getMesh("proff"), 1500, 1.5, "src.character.zombie1_blood.png", "src.character.proff.png");
_local16.leggLive = _global.Infinity;
_local16.randomFeetDamage = false;
var _local17 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.abri1.png");
_local17.dropItem = items.ak47.clone();
_local17.speedx = 3 * CONSTANTS.difficult;
_local17.maxItemValue = 60;
_local17.minItemValue = 30;
_local17.dropProbability = 5;
var _local18 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.abri2.png");
_local18.dropItem = items.colt.clone();
_local18.speedx = 3 * CONSTANTS.difficult;
_local18.maxItemValue = 60;
_local18.minItemValue = 30;
_local18.dropProbability = 5;
var _local19 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.bapak_bapak.png");
_local19.dropItem = items.painKillers.clone();
_local19.speedx = 2 * CONSTANTS.difficult;
_local19.dropProbability = 5;
_local19.minItemValue = 100;
_local19.maxItemValue = 200;
var _local20 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.ibu_ibu.png");
_local20.dropItem = items.painKillers.clone();
_local20.speedx = 2 * CONSTANTS.difficult;
_local20.dropProbability = 5;
_local20.minItemValue = 100;
_local20.maxItemValue = 200;
var _local21 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.kakek.png");
_local21.dropItem = items.painKillers.clone();
_local21.speedx = 2 * CONSTANTS.difficult;
_local21.dropProbability = 5;
_local21.minItemValue = 100;
_local21.maxItemValue = 200;
var _local22 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.mas_mas.png");
_local22.dropItem = items.painKillers.clone();
_local22.dropProbability = 5;
_local22.speedx = 2 * CONSTANTS.difficult;
_local22.minItemValue = 100;
_local22.maxItemValue = 200;
var _local23 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.mbakxcf.png");
_local23.dropItem = items.medicKit.clone();
_local23.speedx = 2 * CONSTANTS.difficult;
_local23.dropProbability = 5;
_local23.minItemValue = 1000;
_local23.maxItemValue = 1000;
var _local24 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.nenek.png");
_local24.dropItem = items.medicKit.clone();
_local24.dropProbability = 5;
_local24.speedx = 2 * CONSTANTS.difficult;
_local24.minItemValue = 1000;
_local24.maxItemValue = 1000;
_local2.userPL.items.push(items.axe.clone());
_local2.userPL.items.push(items.colt.clone());
_local2.userPL.items.push(items.ak47.clone());
_local2.userPL.items.push(items.medicKit.clone());
_local2.userPL._x = 300;
_local2.userPL._y = 300;
var _local25 = new room("front room", 0, _local2.getTexture("src.rooms.survival.jpg"), _local2.getTexture("src.rooms.lab.room1Cg.jpg"), _local2.getTexture("src.rooms.survival_cg.png"));
var _local26 = new item("key from security", "key", 0, 0, 0, _local2.getTexture("src.items.kunci.png"));
var _local27 = _local25.addEnemySpawner(_local2, 1000, 1, "ambush", 520, 300);
_local27.addType(_local3);
_local27.addType(_local4);
_local27.addType(_local5);
_local27.addType(_local6);
_local27.addType(_local7);
_local27.addType(_local8);
_local27.addType(_local9);
_local27.addType(_local10);
_local27.addType(_local11);
_local27.addType(_local12);
_local27.addType(_local14);
_local27.addType(_local15);
_local27.addType(_local16);
_local27.addType(_local17);
_local27.addType(_local18);
_local27.addType(_local19);
_local27.addType(_local20);
_local27.addType(_local21);
_local27.addType(_local22);
_local27.addType(_local23);
_local27.addType(_local24);
var _local28 = _local25.addCommand(_local2, "no spawner", 1, 1, 1);
_local28.levelStateToExecute = "calculate survival";
_local28 = _local25.addCommand(_local2, "kill number", 1, 1, 1);
_local28.killNumber = 10;
_local28.spawnerToEdit = _local27;
_local28.maxZombieSpawn = 2;
_local28 = _local25.addCommand(_local2, "kill number", 1, 1, 1);
_local28.killNumber = 20;
_local28.spawnerToEdit = _local27;
_local28.maxZombieSpawn = 3;
_local28 = _local25.addCommand(_local2, "kill number", 1, 1, 1);
_local28.killNumber = 50;
_local28.spawnerToEdit = _local27;
_local28.maxZombieSpawn = 4;
_local28 = _local25.addCommand(_local2, "just do it", 1, 1, 1);
_local28.messageToDisplay = "Tips:\nKilling zombie needs concentration,\nHead Shots are the most efficient technique,\nit saves your time and ammunition.\nBrain Shots are even better,\nbut only the real Zack can do it.";
_local25.addAmbientLight(0, 0, 16777215, 25, 0);
_local25.addPointLight(300, 171, 16777164, 100, 0, 200);
_local25.addPointLight(110, 80, 16777215, 100, 0, 400);
_local2.addRoom(_local25);
return(_local2);
}
static function initGame() {
if (_root.creator_mc != undefined) {
return(undefined);
}
var _local2 = _root.createEmptyMovieClip("creator_mc", _root.getNextHighestDepth());
_local2.num = 0;
var anounce_txt = _local2.createTextField("anounce_txt", 0, 0, 0, 700, 400);
anounce_txt.textColor = 16777215 /* 0xFFFFFF */;
anounce_txt.text = "please wait";
_local2.onEnterFrame = function () {
var _local2 = Main.gameLevel;
switch (this.num) {
case 0 :
_local2.startRoom = CONSTANTS.beginroom;
_local2.activeRoom = CONSTANTS.beginroom;
_root.alpha = 0;
_local2.playSound("step1");
this.anounce_txt.text = this.anounce_txt.text + " configuring\n";
break;
case 1 :
_local2.addMesh("bos0", CONSTANTS.bosMesh);
break;
case 2 :
break;
case 3 :
break;
case 4 :
break;
case 5 :
break;
case 6 :
_local2.addMesh("zombie1", CONSTANTS.zombie1Mesh);
break;
case 7 :
_local2.addMesh("proff", CONSTANTS.proffMesh);
this.anounce_txt.text = this.anounce_txt.text + " preparing meshes\n";
break;
case 8 :
switch (Main.ZacksCostume) {
case 1 :
_local2.userPL.badanMesh._mesh.setTexture(_local2.getTexture("src.character.zacksBeach.png").clone());
_local2.userPL.kakiMesh._mesh.setTexture(_local2.getTexture("src.character.kakiBeach.png").clone());
_local2.userPL.items.push(items.motox.clone());
break;
case 2 :
_local2.userPL.badanMesh._mesh.setTexture(_local2.getTexture("src.character.zacksRock.png").clone());
_local2.userPL.kakiMesh._mesh.setTexture(_local2.getTexture("src.character.kakiRock.png").clone());
_local2.userPL.items.push(items.army.clone());
_local2.userPL.items.push(items.kevlar.clone());
break;
case 3 :
_local2.userPL.badanMesh._mesh.setTexture(_local2.getTexture("src.character.zacksRobot.png").clone());
_local2.userPL.kakiMesh._mesh.setTexture(_local2.getTexture("src.character.kakiRobot.png").clone());
_local2.userPL.items.push(items.motox.clone());
_local2.userPL.items.push(items.centurion.clone());
break;
default :
_local2.userPL.badanMesh._mesh.setTexture(_local2.getTexture("src.character.badanChar.png").clone());
_local2.userPL.kakiMesh._mesh.setTexture(_local2.getTexture("src.character.kaki.png").clone());
}
this.anounce_txt.text = this.anounce_txt.text + ((" preparing costume number" + Main.ZacksCostume) + newline);
break;
case 9 :
var _local3 = new item("key from security", "key", 0, 0, 0, _local2.getTexture("src.items.kunci.png"));
var _local4 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.security.png");
_local4.speedx = 1;
_local4.live = 600;
_local4.dropItem = _local3.clone();
_local4.dropProbability = 100;
_local4.randomFeetDamage = false;
var _local5 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.security2.png");
_local5.speedx = 1;
_local5.live = 600;
_local5.dropItem = items.colt.clone();
_local5.dropProbability = 30 / CONSTANTS.difficult;
_local5.minItemValue = 21;
_local5.maxItemValue = 35;
var _local6 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.security.png");
_local6.speedx = 1;
_local6.live = 600;
_local6.dropItem = items.r870.clone();
_local6.dropProbability = 100;
_local6.minItemValue = 64;
_local6.maxItemValue = 64;
var _local7 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.security2.png");
_local7.speedx = 1;
_local7.live = 600;
_local7.dropItem = items.painKillers.clone();
_local7.dropProbability = 5 / CONSTANTS.difficult;
_local7.minItemValue = 100;
_local7.maxItemValue = 200;
var _local8 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.mib.png");
_local8.speedx = 1 * CONSTANTS.difficult;
_local8.live = 600;
_local8.dropItem = items.colt.clone();
_local8.dropProbability = 30 / CONSTANTS.difficult;
_local8.minItemValue = 15;
_local8.maxItemValue = 30;
var _local9 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.mib.png");
_local9.live = 600;
_local9.speedx = 1 * CONSTANTS.difficult;
_local9.dropItem = items.colt.clone();
_local9.dropProbability = 30 / CONSTANTS.difficult;
_local9.minItemValue = 15;
_local9.maxItemValue = 30;
var _local10 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.mib2.png");
_local10.live = 600;
_local10.speedx = 1 * CONSTANTS.difficult;
_local10.dropItem = items.colt.clone();
_local10.dropProbability = 30 / CONSTANTS.difficult;
_local10.minItemValue = 15;
_local10.maxItemValue = 30;
var _local11 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.mib3.png");
_local11.live = 600;
_local11.speedx = 1 * CONSTANTS.difficult;
_local11.dropItem = items.colt.clone();
_local11.dropProbability = 30 / CONSTANTS.difficult;
_local11.minItemValue = 15;
_local11.maxItemValue = 30;
var _local12 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.laboran.png");
_local12.live = 600;
_local12.speedx = 1 * CONSTANTS.difficult;
_local12.dropItem = items.colt.clone();
_local12.dropProbability = 30 / CONSTANTS.difficult;
_local12.minItemValue = 15;
_local12.maxItemValue = 30;
var _local13 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.laboran2.png");
_local13.live = 600;
_local13.speedx = 1 * CONSTANTS.difficult;
_local13.dropItem = items.painKillers.clone();
_local13.dropProbability = 5 / CONSTANTS.difficult;
_local13.minItemValue = 100;
_local13.maxItemValue = 200;
var _local14 = new enemyTemplate(_local2.getMesh("zombie1"), 1000, 2.5, "src.character.zombie1_blood.png", "src.character.laboran2.png");
_local14.live = 1200;
_local14.speedx = 1 * CONSTANTS.difficult;
_local14.dropItem = items.colt.clone();
_local14.dropProbability = 100;
_local14.minItemValue = 60;
_local14.maxItemValue = 60;
_local14.randomFeetDamage = false;
var _local15 = new enemyTemplate(_local2.getMesh("bos0"), 8000, 2.5, "src.character.zombie1_blood.png", "src.character.bos.png");
_local15.live = 8000;
_local15.speedx = 2 * CONSTANTS.difficult;
_local15.dropItem = items.m60.clone();
_local15.dropProbability = 100;
_local15.minItemValue = 100;
_local15.maxItemValue = 100;
_local15.leggLive = _global.Infinity;
_local15.size = 120;
_local15.randomFeetDamage = false;
var _local16 = new enemyTemplate(_local2.getMesh("bos0"), 8000, 2.5, "src.character.zombie1_blood.png", "src.character.bos2.png");
_local16.live = 8000;
_local16.speedx = 2 * CONSTANTS.difficult;
_local16.dropItem = items.r870.clone();
_local16.dropProbability = 100;
_local16.minItemValue = 32;
_local16.maxItemValue = 32;
_local16.leggLive = _global.Infinity;
_local16.size = 120;
_local16.randomFeetDamage = false;
var _local17 = new enemyTemplate(_local2.getMesh("proff"), 1500, 1.5, "src.character.zombie1_blood.png", "src.character.proff.png");
_local17.leggLive = _global.Infinity;
_local17.randomFeetDamage = false;
var _local18 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.abri1.png");
_local18.dropItem = items.ak47.clone();
_local18.speedx = 1.5 * CONSTANTS.difficult;
_local18.maxItemValue = 60;
_local18.minItemValue = 30;
_local18.dropProbability = 50 / CONSTANTS.difficult;
var _local19 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.abri2.png");
_local19.dropItem = items.colt.clone();
_local19.speedx = 1.5 * CONSTANTS.difficult;
_local19.maxItemValue = 60;
_local19.minItemValue = 30;
_local19.dropProbability = 50 / CONSTANTS.difficult;
var _local20 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.bapak_bapak.png");
_local20.dropItem = items.painKillers.clone();
_local20.speedx = 1 * CONSTANTS.difficult;
_local20.dropProbability = 5;
_local20.minItemValue = 100;
_local20.maxItemValue = 200;
var _local21 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.ibu_ibu.png");
_local21.dropItem = items.painKillers.clone();
_local21.speedx = 1 * CONSTANTS.difficult;
_local21.dropProbability = 5 / CONSTANTS.difficult;
_local21.minItemValue = 100;
_local21.maxItemValue = 200;
var _local22 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.kakek.png");
_local22.dropItem = items.painKillers.clone();
_local22.speedx = 1 * CONSTANTS.difficult;
_local22.dropProbability = 5 / CONSTANTS.difficult;
_local22.minItemValue = 100;
_local22.maxItemValue = 200;
var _local23 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.mas_mas.png");
_local23.dropItem = items.painKillers.clone();
_local23.dropProbability = 5 / CONSTANTS.difficult;
_local23.speedx = 1 * CONSTANTS.difficult;
_local23.minItemValue = 100;
_local23.maxItemValue = 200;
var _local24 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.mbakxcf.png");
_local24.dropItem = items.medicKit.clone();
_local24.speedx = 1 * CONSTANTS.difficult;
_local24.dropProbability = 5 / CONSTANTS.difficult;
_local24.minItemValue = 1000;
_local24.maxItemValue = 1000;
var _local25 = new enemyTemplate(_local2.getMesh("zombie1"), 600, 2.5, "src.character.zombie1_blood.png", "src.character.nenek.png");
_local25.dropItem = items.medicKit.clone();
_local25.dropProbability = 5;
_local25.speedx = 1 * CONSTANTS.difficult;
_local25.minItemValue = 1000;
_local25.maxItemValue = 1000;
var _local26 = SharedObject.getLocal("THE_SERUM_STORY");
if (_local26.data.getcrossbow) {
_local2.userPL.items.push(items.crossBow.clone());
if (_local26.data.getflamethrower) {
_local2.userPL.items.push(items.flame.clone());
if (_local26.data.getphotongun) {
_local2.userPL.items.push(items.photon.clone());
}
}
}
var _local27 = new cinematic();
_local27.frames.push("src.cinematics.backgrouns.jpg");
_local27.roomToGo = 0;
_local27.typeMessage = CONSTANTS.cine0;
_local27._xafterTeleport = 50;
_local27._yafterTeleport = 300;
_local2.cinematics.push(_local27);
_local27 = new cinematic();
_local27.frames.push("src.cinematics.backgrouns.jpg");
_local27.typeMessage = CONSTANTS.cine1;
_local27.roomToGo = 12;
_local27._xafterTeleport = 300;
_local27._yafterTeleport = 300;
_local2.cinematics.push(_local27);
_local27 = new cinematic();
_local27.frames.push("src.cinematics.backgrouns.jpg");
_local27.roomToGo = 7;
_local27.typeMessage = CONSTANTS.cine2;
_local27._xafterTeleport = 50;
_local27._yafterTeleport = 300;
_local2.cinematics.push(_local27);
var _local28 = new cinematic();
_local28.frames.push("src.cinematics.backgrouns.jpg");
_local28.typeMessage = CONSTANTS.cine3;
_local28.stateAfterFinish = "destroy me";
_local2.cinematics.push(_local28);
var _local29 = new room("front room", 0, _local2.getTexture("src.rooms.lab.room 1.jpg"), _local2.getTexture("src.rooms.lab.room1Cg.jpg"), _local2.getTexture("src.rooms.lab.room1fg.png"));
var _local30 = _local29.addEnemySpawner(_local2, 1, 1, "fixedSingle", 520, 300);
_local30.addType(_local4);
_local29.addAmbientLight(0, 0, 11184895, 100, 0);
_local29.addDirectionalLight(130, 34, 16777215, 50, 0, 300, 90, 200);
_local29.addDirectionalLight(305, 34, 16777215, 50, 0, 300, 90, 200);
_local29.addDirectionalLight(480, 34, 16777215, 50, 0, 300, 90, 200);
var _local31 = _local29.addHints(163, 116, 180);
_local29.addNewDor("entrance dor", true, 580, 300, 1, "entrance dor", "key from security");
_local29.addItem(items.axe.clone());
var _local32 = _local29.addCommand(_local2, "player touch", 163, 170, 20);
_local32.hintsToDeactivate = _local31;
_local32 = _local29.addCommand(_local2, "just do it", 1, 1, 0);
_local32.messageToDisplay = "\u201CHE IS NOT A HUMAN,\u201D jump, grab the axe. It\u2019s on the wall.";
_local32 = _local29.addCommand(_local2, "player touch", 253, 300, 50);
_local32.messageToDisplay = "Press \u201CQ\u201D to open inventory\nChoose your weapon.";
_local32.eraseAfterActivated = false;
_local32 = _local29.addCommand(_local2, "player touch", 580, 300, 20);
_local32.messageToDisplay = "Press \u201CSpace\u201D to open the door.";
_local32.eraseAfterActivated = false;
_local32 = _local29.addCommand(_local2, "just do it", 1, 1, 0);
_local32.soudToPlay = "serum";
_local2.addRoom(_local29);
var _local33 = new room("IT room", 0, _local2.getTexture("src.rooms.lab.room 2.jpg"), _local2.getTexture("src.rooms.lab.room2Cg.jpg"), _local2.getTexture("src.rooms.lab.fg.png"));
var _local34 = _local33.addEnemySpawner(_local2, 3, 3, "fixedPoint", 1160, 79);
_local34.addType(_local9);
_local34.addType(_local10);
_local34.addType(_local5);
var _local35 = _local33.addEnemySpawner(_local2, 10, 2, "ambush", 800, 300);
_local35.addType(_local9);
_local35.addType(_local10);
_local35.addType(_local11);
_local35.addType(_local11);
_local34 = _local33.addEnemySpawner(_local2, 1, 1, "fixedSingle", 336, 300);
_local34.addType(_local14);
_local34 = _local33.addEnemySpawner(_local2, 1, 1, "fixedSingle", 720, 1);
_local34.active = false;
_local34.addType(_local5);
var _local36 = _local33.addCommand(_local2, "player touch", 720, 300, 100);
_local36.spawnerToActivate = _local34;
_local32 = _local33.addCommand(_local2, "player touch", 350, 300, 20);
_local32.messageToDisplay = "Some weapon such as colt pistol, has a flash light attached on it.\nPress \u201CShift\u201D to turn on the flash light.";
_local33.addAmbientLight(0, 0, 16755370, 30, 0);
_local33.addPointLight(40, 179, 13421823, 50, 0, 70);
_local33.addPointLight(235, 148, 255, 50, 0, 70);
_local33.addDirectionalLight(100, 34, 16777215, 50, 0, 300, 90, 200);
_local33.addDirectionalLight(275, 34, 16777215, 50, 0, 300, 90, 200);
_local33.addDirectionalLight(450, 34, 16777215, 50, 10, 300, 90, 200);
_local33.addDirectionalLight(625, 34, 16777215, 50, 0, 300, 90, 200);
_local33.addDirectionalLight(800, 34, 16777215, 50, 0, 300, 90, 200);
_local33.addDirectionalLight(975, 34, 16777215, 50, 0, 300, 90, 200);
_local33.addDirectionalLight(1150, 34, 16777215, 50, 10, 300, 90, 200);
_local33.addNewDor("entrance dor", false, 50, 300, 0, "entrance dor");
_local33.addNewDor("suspicious dor", true, 715, 300);
var _local37 = _local33.addNewDor("elevator room dor", true, 815, 300, 2, "elevator room dor", "");
_local37.setKeyRequireToolTip("something writen here.\nsecurity note\nauto key lock activated");
_local36 = _local33.addCommand(_local2, "no spawner", 0, 0, 10);
_local36.dorToUnlock = _local37;
_local36.lightToCreate = new light("point", 815, 167, 50, 16776960, 50, 50);
_local2.addRoom(_local33);
var _local38 = new room("elevator room", 0, _local2.getTexture("src.rooms.lab.room 3.jpg"), _local2.getTexture("src.rooms.lab.room3Cg.jpg"));
var _local39 = _local38.addEnemySpawner(_local2, 1, 1, "fixedSingle", 520, 250);
_local39.addType(_local6);
_local39.maxLegLive = 100;
_local39.minLegLive = 100;
_local38.addAmbientLight(0, 0, 16755370, 25);
_local38.addDirectionalLight(130, 34, 16777215, 50, 10, 300, 90, 200);
_local38.addDirectionalLight(305, 34, 16777215, 50, 10, 300, 90, 200);
_local38.addDirectionalLight(480, 34, 16777215, 50, 10, 300, 90, 200);
_local38.addPointLight(455, 210, 16711680, 50, 0, 10);
_local38.addPointLight(40, 179, 13421823, 50, 0, 70);
_local38.addNewDor("elevator room dor", false, 50, 300, 1, "elevator room dor", "");
_local38.addNewDor("elevator dor", false, 394, 300, 3, "elevator dor");
_local2.addRoom(_local38);
var _local40 = new room("elevator room 2nd florr", 0, _local2.getTexture("src.rooms.lab.room 4.jpg"), _local2.getTexture("src.rooms.lab.room4Cg.jpg"));
_local40.addItem(new item("wareHouse key", "key", 0, 574, 203, _local2.getTexture("src.items.kunci.png")));
var _local41 = _local40.addEnemySpawner(_local2, 10, 3, "fixedPoint", 598, 300);
_local41.addType(_local7);
_local41.addType(_local8);
var _local42 = _local40.addEnemySpawner(_local2, 10, 3, "fixedPoint", 100, 1);
_local42.addType(_local7);
_local42.addType(_local8);
_local40.addAmbientLight(0, 0, 16755370, 50);
_local40.addDirectionalLight(130, 34, 16777215, 50, 0, 300, 90, 200);
_local40.addDirectionalLight(305, 34, 16777215, 50, 0, 300, 90, 200);
_local40.addDirectionalLight(480, 34, 16777215, 50, 0, 300, 90, 200);
_local40.addPointLight(455, 201, 16711680, 50, 0, 10);
_local40.addPointLight(40, 179, 13421823, 50, 0, 70);
_local40.addNewDor("warehouse dor", true, 40, 300, 4, "warehouse dor", "wareHouse key");
_local40.addNewDor("elevator dor", false, 365, 300, 2, "elevator dor");
_local2.addRoom(_local40);
var _local43 = new room("warehouse", 0, _local2.getTexture("src.rooms.lab.room 5.jpg"), _local2.getTexture("src.rooms.lab.room5Cg.jpg"));
var _local44 = _local43.addEnemySpawner(_local2, 20, 3, "fixedPoint", 190, 78);
_local44.addType(_local12);
_local44.addType(_local13);
_local44 = _local43.addEnemySpawner(_local2, 20, 3, "fixedPoint", 481, 320);
_local44.addType(_local12);
_local44.addType(_local13);
_local43.addAmbientLight(0, 0, 16755370, 25);
_local43.addDirectionalLight(130, 34, 16777215, 50, 10, 300, 90, 300);
_local43.addDirectionalLight(305, 34, 16777215, 50, 0, 300, 90, 300);
_local43.addDirectionalLight(480, 34, 16777215, 50, 10, 300, 90, 200);
_local43.addPointLight(199, 165, 13421823, 50, 0, 70);
var _local45 = _local43.addHints(85, 125, -45);
_local45.deactive();
_local43.addNewDor("warehouse dor", false, 202, 300, 3, "warehouse dor");
var _local46 = _local43.addNewDor("balkon", true, 25, 125, 5, "balkon", "");
_local46.setKeyRequireToolTip("the leader seems ok, but te cover won't open");
_local36 = _local43.addCommand(_local2, "no spawner", 0, 0);
_local36.dorToUnlock = _local46;
_local36.lightToCreate = new light("directional", 0, 0, 100, 13421823, 0, 800, 45);
_local36.lightToCreate.umbraSize = 400;
_local36.hintsToActivate = _local45;
_local36 = _local43.addCommand(_local2, "player touch", 25, 135, 20);
_local36.messageToDisplay = "press [SPACE] to climb out";
_local36.eraseAfterActivated = false;
_local2.addRoom(_local43);
var _local47 = new room("roof top", 0, _local2.getTexture("src.rooms.lab.room 7.jpg"), _local2.getTexture("src.rooms.lab.room7Cg.jpg"), _local2.getTexture("src.rooms.lab.room7fg.png"));
var _local48 = _local47.addEnemySpawner(_local2, 1, 1, "fixedSingle", 1194, 300);
_local48.addType(_local12);
_local48.zombieStartingState = "sleep";
_local48 = _local47.addEnemySpawner(_local2, 1, 1, "fixedSingle", 994, 300);
_local48.addType(_local12);
_local48.zombieStartingState = "sleep";
_local48 = _local47.addEnemySpawner(_local2, 1, 1, "fixedSingle", 794, 300);
_local48.addType(_local12);
_local48.zombieStartingState = "sleep";
_local48 = _local47.addEnemySpawner(_local2, 1, 1, "fixedSingle", 594, 300);
_local48.addType(_local12);
_local48.zombieStartingState = "sleep";
_local48 = _local47.addEnemySpawner(_local2, 10, 3, "ambush", 594, 300);
_local48.addType(_local12);
_local48.zombieStartingState = "walk";
_local48 = _local47.addEnemySpawner(_local2, 1, 1, "fixedSingle", 494, 300);
_local48.addType(_local12);
_local48.zombieStartingState = "sleep";
_local48 = _local47.addEnemySpawner(_local2, 1, 1, "fixedSingle", 294, 300);
_local48.addType(_local12);
_local48.zombieStartingState = "sleep";
_local48 = _local47.addEnemySpawner(_local2, 1, 1, "fixedSingle", 194, 300);
_local48.addType(_local12);
_local48.zombieStartingState = "sleep";
_local47.addHints(288, 243, 180);
_local47.addAmbientLight(0, 0, 13421823, 50);
_local47.addPointLight(720, 150, 16777164, 100, 0, 500);
_local47.addDirectionalLight(285, 300, 16777215, 100, 0, 400, 270, 200);
_local47.addNewDor("balkon", false, 1190, 300, 4, "balkon", "");
_local47.addNewDor("lab ventilation", false, 285, 300, 6, "lab ventilation", "");
_local36 = _local47.addCommand(_local2, "player touch", 285, 310, 20);
_local36.messageToDisplay = "press [SPACE] to jump down";
_local36.eraseAfterActivated = false;
_local2.addRoom(_local47);
var _local49 = new room("sacred lab", 0, _local2.getTexture("src.rooms.lab.room6prof.jpg"), _local2.getTexture("room6Cg"));
_local49.addAmbientLight(0, 0, 16777215, 50);
_local49.addDirectionalLight(100, 0, 13421823, 100, 0, 400, 90, 100);
_local49.addPointLight(485, 165, 13421823, 50, 0, 70);
_local49.addPointLight(42, 180, 13421823, 50, 0, 70);
_local49.addNewDor("lab ventilation", false, 100, 2, 5, "lab ventilation", "");
_local36 = _local49.addCommand(_local2, "player touch", 500, 300, 100);
_local36.cinematicsToPlay = 1;
_local36.useNoDelay = true;
_local2.addRoom(_local49);
var _local51 = new room("harbour", 0, _local2.getTexture("src.rooms.city.city 1.jpg"), _local2.getTexture("src.rooms.city.city1Cm.jpg"));
var _local50 = _local51.addEnemySpawner(_local2, 30, 3, "ambush", 610, 300);
_local50.addType(_local20);
_local50.addType(_local21);
_local50.addType(_local23);
_local50.addType(_local24);
_local50.addType(_local22);
_local50.addType(_local25);
_local50.addType(_local18);
_local50.addType(_local19);
_local50.addType(_local19);
_local51.addAmbientLight(0, 0, 16777215, 40);
_local51.addPointLight(46, 44, 16777215, 100, 0, 200);
_local51.addPointLight(146, 44, 16777215, 100, 0, 200);
_local51.addPointLight(1, 150, 16777215, 100, 0, 700);
_local45 = _local51.addHints(0, 100, 90);
_local45.followPlayer = true;
_local45.deactive();
_local36 = _local51.addCommand(_local2, "no spawner", 0, 0, 0);
_local36.hintsToActivate = _local45;
_local36 = _local51.addCommand(_local2, "no zombie & player touch", 1200, 280, 100);
_local36.roomToGo = 8;
_local36.eraseAfterActivated = false;
_local36.xTarget = 50;
_local36.yTarget = 300;
_local32 = _local51.addCommand(_local2, "just do it", 1, 1, 0);
_local32.soudToPlay = "deadCity";
_local32.messageToDisplay = "Damn this city....";
_local36 = _local51.addCommand(_local2, "no spawner", 1200, 280, 100);
_local36.messageToDisplay = "go... go.... go...";
_local2.addRoom(_local51);
var _local52 = new room("downtown", 0, _local2.getTexture("src.rooms.city.city 2.jpg"), _local2.getTexture("src.rooms.city.city2Cm.jpg"), _local2.getTexture("src.rooms.city.city2fg.png"));
_local50 = _local52.addEnemySpawner(_local2, 30, 4, "ambush", 610, 300);
_local50.addType(_local20);
_local50.addType(_local21);
_local50.addType(_local23);
_local50.addType(_local24);
_local50.addType(_local22);
_local50.addType(_local25);
_local50.addType(_local18);
_local50.addType(_local19);
_local50.addType(_local19);
_local50 = _local52.addEnemySpawner(_local2, 5, 3, "fixedPoint", 505, 320);
_local50.zombieStartingState = "body wake up";
_local50.minLegLive = 30;
_local50.maxLegLive = 100;
_local50.addType(_local20);
_local50.addType(_local21);
_local50.addType(_local23);
_local50.addType(_local24);
_local50.addType(_local22);
_local50.addType(_local25);
_local50.addType(_local18);
_local50.addType(_local19);
_local50.addType(_local19);
_local50 = _local52.addEnemySpawner(_local2, 5, 3, "fixedPoint", 210, 5);
_local50.zombieStartingState = "legg fall";
_local50.minLegLive = 30;
_local50.maxLegLive = 100;
_local50.addType(_local20);
_local50.addType(_local21);
_local50.addType(_local23);
_local50.addType(_local24);
_local50.addType(_local22);
_local50.addType(_local25);
_local50.addType(_local18);
_local50.addType(_local19);
_local50.addType(_local19);
_local50 = _local52.addEnemySpawner(_local2, 1, 3, "fixedPoint", 788, 279);
_local50.zombieStartingState = "walk";
_local50.minLegLive = 0;
_local50.maxLegLive = 0;
_local50.addType(_local20);
_local52.addAmbientLight(0, 0, 16777215, 30);
_local52.addPointLight(76, 36, 16776960, 50, 0, 100);
_local52.addPointLight(204, 36, 16776960, 50, 0, 100);
_local52.addPointLight(330, 36, 16776960, 50, 0, 100);
_local52.addPointLight(975, 165, 16777215, 50, 0, 300);
_local52.addPointLight(473, 165, 16777215, 50, 0, 300);
_local52.addPointLight(595, 200, 16777215, 50, 50, 50);
_local45 = _local52.addHints(0, 100, 90);
_local45.followPlayer = true;
_local45.deactive();
_local36 = _local52.addCommand(_local2, "no spawner", 0, 0, 0);
_local36.hintsToActivate = _local45;
_local36 = _local52.addCommand(_local2, "no zombie & player touch", -90, 300, 100);
_local36.roomToGo = 7;
_local36.eraseAfterActivated = false;
_local36.xTarget = 1050;
_local36.yTarget = 300;
_local36 = _local52.addCommand(_local2, "no zombie & player touch", 1200, 300, 100);
_local36.roomToGo = 9;
_local36.eraseAfterActivated = false;
_local36.xTarget = 50;
_local36.yTarget = 300;
_local36 = _local52.addCommand(_local2, "no spawner", 1200, 280, 100);
_local36.messageToDisplay = "go... go.... go...";
_local2.addRoom(_local52);
var _local53 = new room("downtown", 0, _local2.getTexture("src.rooms.city.city 3.jpg"), _local2.getTexture("src.rooms.city.city3Cm.jpg"), _local2.getTexture("src.rooms.city.city3fg.png"));
_local50 = _local53.addEnemySpawner(_local2, 15, 4, "fixedPoint", 175, 70);
_local50.addType(_local20);
_local50.addType(_local21);
_local50.addType(_local23);
_local50.addType(_local24);
_local50.addType(_local22);
_local50.addType(_local25);
_local50.addType(_local18);
_local50.addType(_local19);
_local50.addType(_local19);
_local50 = _local53.addEnemySpawner(_local2, 30, 4, "ambush", 500, 300);
_local50.addType(_local20);
_local50.addType(_local21);
_local50.addType(_local23);
_local50.addType(_local24);
_local50.addType(_local22);
_local50.addType(_local25);
_local50.addType(_local18);
_local50.addType(_local19);
_local50.addType(_local19);
_local50 = _local53.addEnemySpawner(_local2, 5, 3, "fixedPoint", 510, 320);
_local50.zombieStartingState = "body wake up";
_local50.minLegLive = 30;
_local50.maxLegLive = 100;
_local50.addType(_local20);
_local50.addType(_local21);
_local50.addType(_local23);
_local50.addType(_local24);
_local50.addType(_local22);
_local50.addType(_local25);
_local50.addType(_local18);
_local50.addType(_local19);
_local50.addType(_local19);
_local53.addAmbientLight(0, 0, 16777215, 20);
_local53.addPointLight(117, 165, 16777215, 66, 0, 200);
_local53.addPointLight(295, 163, 16777215, 90, 0, 200);
_local53.addPointLight(696, 165, 16777215, 99, 0, 200);
_local53.addPointLight(921, 165, 16777215, 75, 0, 200);
_local45 = _local53.addHints(0, 100, 90);
_local45.followPlayer = true;
_local45.deactive();
_local36 = _local53.addCommand(_local2, "no spawner", 0, 0, 0);
_local36.hintsToActivate = _local45;
_local36 = _local53.addCommand(_local2, "no zombie & player touch", -90, 300, 100);
_local36.roomToGo = 8;
_local36.eraseAfterActivated = false;
_local36.xTarget = 1050;
_local36.yTarget = 300;
_local36 = _local53.addCommand(_local2, "no zombie & player touch", 1200, 300, 100);
_local36.roomToGo = 10;
_local36.eraseAfterActivated = false;
_local36.xTarget = 50;
_local36.yTarget = 300;
_local36 = _local53.addCommand(_local2, "no spawner", 1200, 280, 100);
_local36.messageToDisplay = "go... go.... go...";
_local2.addRoom(_local53);
var _local54 = new room("downtown", 0, _local2.getTexture("src.rooms.city.city_back.jpg"), _local2.getTexture("src.rooms.city.city1Cm.jpg").clone());
_local50 = _local54.addEnemySpawner(_local2, 30, 4, "ambush", 590, 300);
_local50.addType(_local20);
_local50.addType(_local21);
_local50.addType(_local23);
_local50.addType(_local24);
_local50.addType(_local22);
_local50.addType(_local25);
_local50.addType(_local18);
_local50.addType(_local19);
_local50 = _local54.addEnemySpawner(_local2, 1, 1, "fixedSingle", 700, 300);
_local50.addType(_local16);
_local50 = _local54.addEnemySpawner(_local2, 1, 1, "fixedSingle", 590, 300);
_local50.addType(_local15);
_local54.addAmbientLight(0, 0, 16777215, 50);
_local45 = _local54.addHints(0, 100, 90);
_local45.followPlayer = true;
_local45.deactive();
_local36 = _local54.addCommand(_local2, "no spawner", 0, 0, 0);
_local36.hintsToActivate = _local45;
_local36 = _local54.addCommand(_local2, "no zombie & player touch", -90, 300, 100);
_local36.roomToGo = 9;
_local36.eraseAfterActivated = false;
_local36.xTarget = 1050;
_local36.yTarget = 300;
_local36 = _local54.addCommand(_local2, "no zombie & player touch", 1200, 300, 100);
_local36.roomToGo = 11;
_local36.eraseAfterActivated = false;
_local36.xTarget = 50;
_local36.yTarget = 300;
_local36 = _local54.addCommand(_local2, "no spawner", 1200, 280, 100);
_local36.messageToDisplay = "go... go.... go...";
_local2.addRoom(_local54);
var _local55 = new room("downtown", 0, _local2.getTexture("src.rooms.city.city_back 2.jpg"), _local2.getTexture("src.rooms.city.city_back2Cg.jpg"));
_local50 = _local55.addEnemySpawner(_local2, 30, 4, "ambush", 590, 300);
_local50.addType(_local18);
_local50.addType(_local19);
_local50.addType(_local16);
_local50.addType(_local15);
_local50.addType(_local19);
_local55.addAmbientLight(0, 0, 16777215, 50);
_local36 = _local55.addCommand(_local2, "no zombie & player touch", -90, 300, 100);
_local36.roomToGo = 10;
_local36.eraseAfterActivated = false;
_local36.xTarget = 1050;
_local36.yTarget = 300;
_local36 = _local55.addCommand(_local2, "no spawner", 1, 1, 1);
_local36.cinematicsToPlay = 3;
_local36.summarize = true;
_local2.addRoom(_local55);
_local49 = new room("sacred lab", 0, _local2.getTexture("src.rooms.lab.room 6.jpg"), _local2.getTexture("room6Cg"));
_local50 = _local49.addEnemySpawner(_local2, 1, 1, "fixedSingle", 550, 300);
_local50.addType(_local17);
_local49.addAmbientLight(0, 0, 16777215, 50);
_local49.addDirectionalLight(100, 0, 13421823, 100, 0, 400, 90, 100);
_local49.addPointLight(485, 165, 13421823, 50, 0, 70);
_local49.addPointLight(42, 180, 13421823, 50, 0, 70);
_local49.addNewDor("lab ventilation", false, 100, 2, 5, "lab ventilation", "");
_local36 = _local49.addCommand(_local2, "no spawner", 1, 1, 1);
_local36.roomToGo = 13;
_local36.xTarget = 300;
_local36.yTarget = 300;
_local2.addRoom(_local49);
_local49 = new room("sacred lab", 0, _local2.getTexture("src.rooms.lab.room 6.jpg"), _local2.getTexture("room6Cg"));
_local50 = _local49.addEnemySpawner(_local2, 1, 1, "fixedSingle", 550, 300);
_local50.addType(_local15);
_local50 = _local49.addEnemySpawner(_local2, 11, 3, "fixedPoint", 590, 300);
_local50.addType(_local12);
_local50.addType(_local13);
_local50.addType(_local13);
_local49.addAmbientLight(0, 0, 16777215, 50);
_local49.addDirectionalLight(100, 0, 13421823, 100, 0, 400, 90, 100);
_local49.addPointLight(485, 165, 13421823, 50, 0, 70);
_local49.addPointLight(42, 180, 13421823, 50, 0, 70);
_local49.addNewDor("lab ventilation", false, 100, 2, 5, "lab ventilation", "");
_local36 = _local49.addCommand(_local2, "no spawner", 1, 1, 1);
_local36.cinematicsToPlay = 2;
_local36 = _local49.addCommand(_local2, "just do it", 1, 1, 1);
_local36.smallSoundToPlay = "prang";
_local36.messageToDisplay = "\u201CWhat noise is that...\nDamn.\u201D";
_local2.addRoom(_local49);
anounce_txt.text = anounce_txt.text + "finalizing\n";
break;
default :
this.removeMovieClip();
}
this.num++;
};
}
static function clearStage() {
var _local2 = _root.getNextHighestDepth();
var _local3 = 0;
for ( ; _local3 < _local2 ; _local3++) {
var _local4 = _root.getInstanceAtDepth(_local3);
if (_local4._name != mochimc_name) {
_local4.removeMovieClip();
}
}
}
static function drawCostume() {
var _local2 = SharedObject.getLocal("THE_SERUM_STORY");
if (_local2.data.beach) {
var _local3 = _root.attachMovie("mainMenu", "inventory_mc", 12);
var _local4 = 65;
_local3._alpha = 50;
var _local5 = _local3.attachMovie("src.userInterface.normalBtn.png", "btn1_mc", 1);
_local5._x = 300 - 79;
_local5._y = 20 + _local4;
_local5.onRelease = function () {
Main.ZacksCostume = 0;
Main.manuState = "game";
_root.inventory_mc.removeMovieClip();
};
var _local6 = _local3.attachMovie("src.userInterface.beachBtn.png", "btn2_mc", 2);
_local6._x = 300 - 79;
_local6._y = 41 + _local4;
_local6.onRelease = function () {
Main.ZacksCostume = 1;
Main.manuState = "game";
_root.inventory_mc.removeMovieClip();
};
if (_local2.data.rock) {
var _local7 = _local3.attachMovie("src.userInterface.rockBtn.png", "btn3_mc", 3);
_local7._x = 300 - 79;
_local7._y = 62 + _local4;
_local7.onRelease = function () {
Main.ZacksCostume = 2;
Main.manuState = "game";
_root.inventory_mc.removeMovieClip();
};
if (_local2.data.robot) {
var _local8 = _local3.attachMovie("src.userInterface.robotBtn.png", "btn4_mc", 4);
_local8._x = 300 - 79;
_local8._y = 83 + _local4;
_local8.onRelease = function () {
Main.ZacksCostume = 3;
Main.manuState = "game";
_root.inventory_mc.removeMovieClip();
};
}
}
} else {
manuState = "game";
}
}
static function siteLocked() {
var _local2 = _root._url;
var _local3 = 0;
for ( ; _local3 < allowedDomain.length ; _local3++) {
if (_local2.indexOf(allowedDomain[_local3], 0) != -1) {
return(false);
}
}
return(false);
}
static function drawMainMenu() {
clearStage();
var _local2 = _root.attachMovie("mainMenu", "inventory_mc", 12);
var _local3 = _local2.attachMovie("branding", "devLogo", 0);
_local3._xscale = 50;
_local3._yscale = 50;
_local3._y = 260;
_local3._x = 10;
_local3.onRelease = function () {
getURL ("http://corniclegames.com/", "_blank");
};
var _local4 = new Array();
var _local5 = new flash.filters.GlowFilter(16777215, 100, 10, 10, 2, 1, true);
_local5.blurX = 4;
_local5.blurY = 4;
_local4.push(_local5);
_local3.filters = _local4;
if (siteLocked()) {
_local2._alpha = 20;
var _local6 = _root.createTextField("shit", _root.getNextHighestDepth(), 100, 150, 400, 40);
_local6.textColor = 16777215 /* 0xFFFFFF */;
_local6.selectable = false;
var _local7 = new TextFormat();
_local7.bold = false;
_local7.size = 14;
_local7.font = "Arial Bold";
_local7.align = "center";
_local6.setNewTextFormat(_local7);
_local6.text = "Click anywhere to play The Serum on\nwww.notdoppler.com";
_root.inventory_mc.onRelease = function () {
getURL ("http://www.notdoppler.com/?ref=theserum-01", "_BLANK");
};
return(undefined);
}
var _local8 = _local2.attachMovie("src.userInterface.stroryBtn.png", "option_mc", 1);
snd.stop();
snd.attachSound("intro1");
snd.start(0, 9999);
snd.setPan(0);
_local8._x = 500;
_local8._y = 22;
var _local9 = new flash.filters.GlowFilter(0, 100, 0, 0, 1, 3, false, false);
var _local10 = new Array();
_local10.push(_local9);
_local8.filters = _local10;
_local8.filt = _local10;
_local8.glow = _local9;
_local8.maxGlow = 0;
_local8.onRelease = function () {
Main.clearStage();
Main.manuState = "costume select";
Main.survival = false;
};
_local8.onRollOver = function () {
var _local2 = new Sound();
_local2.attachSound("click");
_local2.start(0, 1);
this.maxGlow = 10;
};
_local8.onRollOut = function () {
this.maxGlow = 0;
};
_local8.onEnterFrame = function () {
this.glow.blurX = random(this.maxGlow);
this.glow.blurY = random(this.maxGlow);
this.filters = this.filt;
};
var _local11 = _local2.attachMovie("src.userInterface.survivalBtn.png", "survival_mc", 2);
_local9 = new flash.filters.GlowFilter(0, 100, 0, 0, 1, 3, false, false);
_local10 = new Array();
_local10.push(_local9);
_local11.filters = _local10;
_local11.filt = _local10;
_local11.glow = _local9;
_local11.maxGlow = 0;
_local11._x = 477;
_local11._y = 48;
_local11.onRelease = function () {
Main.clearStage();
Main.manuState = "game";
Main.survival = true;
};
_local11.onRollOver = function () {
var _local2 = new Sound();
_local2.attachSound("click");
_local2.start(0, 1);
this.maxGlow = 10;
};
_local11.onRollOut = function () {
this.maxGlow = 0;
};
_local11.onEnterFrame = function () {
this.glow.blurX = random(this.maxGlow);
this.glow.blurY = random(this.maxGlow);
this.filters = this.filt;
};
var _local12 = _local2.attachMovie("src.userInterface.optionBtn.png", "option_mc", 3);
_local9 = new flash.filters.GlowFilter(0, 100, 0, 0, 1, 3, false, false);
_local10 = new Array();
_local10.push(_local9);
_local12.filters = _local10;
_local12.filt = _local10;
_local12.glow = _local9;
_local12.maxGlow = 0;
_local12._x = 490;
_local12._y = 72;
_local12.onRelease = function () {
var _local2 = _root.inventory_mc.attachMovie("src.userInterface.optionScreen.png", "popup_mc", 10);
_local2._x = 35;
_local2._y = 7;
var _local3 = _local2.attachMovie("centang", "centang_mc", 0);
_local3._x = 95;
_local3._y = 123;
_local3.onEnterFrame = function () {
switch (_root._quality) {
case "LOW" :
this._x = 104;
this._y = 123;
break;
case "MEDIUM" :
this._x = 85;
this._y = 145;
break;
case "HIGH" :
this._y = 167;
this._x = 100;
}
};
var _local4 = _local2.createEmptyMovieClip("btn1_mc", 1);
_local4.beginFill(16777215);
_local4.moveTo(0, 0);
_local4.lineTo(75, 0);
_local4.lineTo(75, 20);
_local4.lineTo(0, 20);
_local4.endFill();
_local4._x = 104;
_local4._y = 118;
_local4._alpha = 0;
_local4.onRelease = function () {
_root._quality = "LOW";
};
var _local5 = _local4.duplicateMovieClip("btn2_mc", 2);
_local5._y = 143;
_local5.onRelease = function () {
_root._quality = "MEDIUM";
};
var _local6 = _local4.duplicateMovieClip("btn3_mc", 3);
_local6._y = 167;
_local6.onRelease = function () {
_root._quality = "HIGH";
};
};
_local12.onRollOver = function () {
var _local2 = new Sound();
_local2.attachSound("click");
_local2.start(0, 1);
this.maxGlow = 10;
};
_local12.onRollOut = function () {
this.maxGlow = 0;
};
_local12.onEnterFrame = function () {
this.glow.blurX = random(this.maxGlow);
this.glow.blurY = random(this.maxGlow);
this.filters = this.filt;
};
var _local13 = _local2.attachMovie("instructionBtn", "instruction_mc", 4);
_local9 = new flash.filters.GlowFilter(0, 100, 0, 0, 1, 3, false, false);
_local10 = new Array();
_local10.push(_local9);
_local13.filters = _local10;
_local13.filt = _local10;
_local13.glow = _local9;
_local13.maxGlow = 0;
_local13._x = 440;
_local13._y = 98;
_local13.onRelease = function () {
var _local2 = _root.inventory_mc.attachMovie("src.userInterface.instructionScreen.png", "popup_mc", 10);
_local2._x = 35;
_local2._y = 7;
};
_local13.onRollOver = function () {
var _local2 = new Sound();
_local2.attachSound("click");
_local2.start(0, 1);
this.maxGlow = 10;
};
_local13.onRollOut = function () {
this.maxGlow = 0;
};
_local13.onEnterFrame = function () {
this.glow.blurX = random(this.maxGlow);
this.glow.blurY = random(this.maxGlow);
this.filters = this.filt;
};
var _local14 = _local2.attachMovie("creditsBtn", "credits_mc", 5);
_local9 = new flash.filters.GlowFilter(0, 100, 0, 0, 1, 3, false, false);
_local10 = new Array();
_local10.push(_local9);
_local14.filters = _local10;
_local14.filt = _local10;
_local14.glow = _local9;
_local14.maxGlow = 0;
_local14._x = 486;
_local14._y = 123;
_local14.onRelease = function () {
var _local2 = _root.inventory_mc.attachMovie("creditsScreen", "popup_mc", 10);
_local2._x = 35;
_local2._y = 7;
var _local3 = _root.inventory_mc.popup_mc.attachMovie("mociButton", "mociBot_mc", 5);
_local3._xscale = 15;
_local3._yscale = 15;
_local3._x = 190;
_local3._y = 15;
};
_local14.onRollOver = function () {
var _local2 = new Sound();
_local2.attachSound("click");
_local2.start(0, 1);
this.maxGlow = 10;
};
_local14.onRollOut = function () {
this.maxGlow = 0;
};
_local14.onEnterFrame = function () {
this.glow.blurX = random(this.maxGlow);
this.glow.blurY = random(this.maxGlow);
this.filters = this.filt;
};
var _local15 = _local2.attachMovie("src.userInterface.highScoreBtn.png", "credits_mc", 6);
_local9 = new flash.filters.GlowFilter(0, 100, 0, 0, 1, 3, false, false);
_local10 = new Array();
_local10.push(_local9);
_local15.filters = _local10;
_local15.filt = _local10;
_local15.glow = _local9;
_local15.maxGlow = 0;
_local15._x = 437;
_local15._y = 148;
_local15.onRelease = function () {
Main.clearStage();
Main.manuState = "story high score";
};
_local15.onRollOver = function () {
var _local2 = new Sound();
_local2.attachSound("click");
_local2.start(0, 1);
this.maxGlow = 10;
};
_local15.onRollOut = function () {
this.maxGlow = 0;
};
_local15.onEnterFrame = function () {
this.glow.blurX = random(this.maxGlow);
this.glow.blurY = random(this.maxGlow);
this.filters = this.filt;
};
var _local16 = _local2.attachMovie("moreGames1", "more_games_mc", 7);
_local9 = new flash.filters.GlowFilter(0, 100, 0, 0, 1, 3, false, false);
_local10 = new Array();
_local10.push(_local9);
_local16.filters = _local10;
_local16.filt = _local10;
_local16.glow = _local9;
_local16.maxGlow = 0;
_local16._x = 422;
_local16._y = 173;
_local16._yscale = 115;
_local16._yscale = 115;
_local16.onRelease = function () {
getURL ("http://www.notdoppler.com/?ref=theserum-03", "_blank");
};
_local16.onRollOver = function () {
var _local2 = new Sound();
_local2.attachSound("click");
_local2.start(0, 1);
this.maxGlow = 10;
};
_local16.onRollOut = function () {
this.maxGlow = 0;
};
_local16.onEnterFrame = function () {
this.glow.blurX = random(this.maxGlow);
this.glow.blurY = random(this.maxGlow);
this.filters = this.filt;
};
}
static function preparingApplication() {
if (appSetupComplete) {
if (_root.infentory_mc == undefined) {
clearStage();
drawMainMenu();
}
return(undefined);
}
clearStage();
appSetupComplete = true;
var _local2 = _root.createEmptyMovieClip("infentory_mc", _root.getNextHighestDepth());
var _local3 = _local2.createTextField("anounce_txt", 1, 0, 0, 350, 200);
_local3.textColor = 16777215 /* 0xFFFFFF */;
_local2.num = 0;
_local2.onEnterFrame = function () {
switch (this.num) {
case 0 :
CONSTANTS.initBodyMesh();
this.anounce_txt.text = this.anounce_txt.text + "creating mesh 1\n";
break;
case 1 :
CONSTANTS.initBosMesh();
this.anounce_txt.text = this.anounce_txt.text + "creating mesh 2\n";
break;
case 2 :
CONSTANTS.initFootMesh();
this.anounce_txt.text = this.anounce_txt.text + "creating mesh 3\n";
break;
case 3 :
CONSTANTS.initProffMesh();
this.anounce_txt.text = this.anounce_txt.text + "creating mesh 4\n";
break;
case 4 :
CONSTANTS.initZombieMesh();
this.anounce_txt.text = this.anounce_txt.text + "creating mesh 5\n";
break;
case 5 :
CONSTANTS.initConfersation();
this.anounce_txt.text = this.anounce_txt.text + "preparing cinematics\n";
break;
case 6 :
items.initItems();
this.anounce_txt.text = this.anounce_txt.text + "preparing items\n";
break;
case 7 :
CMath.initTrigonometri();
this.anounce_txt.text = this.anounce_txt.text + "preparing functions\n";
break;
default :
Main.drawMainMenu();
this.removeMovieClip();
}
this.num++;
};
}
static function initApp() {
if (mainLoopInit) {
return(undefined);
}
_root.onEnterFrame = function () {
_root.gotoAndStop(2);
if (Main.mochi_mc == undefined) {
}
switch (Main.manuState) {
case "story high score" :
if (_root.mainMenu_mc == undefined) {
var _local2 = _root.getNextHighestDepth();
Main.clearStage();
var _local3 = _root.attachMovie("mainMenu", "mainMenu_mc", 1);
var _local4 = _root.mainMenu_mc.attachMovie("src.userInterface.stroryBtn.png", "qwe", 4);
_local4._x = 300 - (_local4._width / 2);
_local4._y = (325 / 2) - (_local4._height / 2);
_local4.onRelease = function () {
_root.mainMenu_mc.qwe.removeMovieClip();
_root.mainMenu_mc.ert.removeMovieClip();
var _local2 = function () {
Main.manuState = "main menu";
Main.clearStage();
};
var _local3 = {n:[9, 6, 3, 8, 7, 11, 7, 5, 2, 11, 1, 2, 12, 4, 13, 3], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var _local4 = _local3.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:_local4, onClose:_local2, res:"600x325"});
};
var _local5 = _root.mainMenu_mc.attachMovie("src.userInterface.survivalBtn.png", "ert", 5);
_local5._x = 300 - (_local5._width / 2);
_local5._y = (325 / 2) + (_local5._height / 2);
_local5.onRelease = function () {
_root.mainMenu_mc.qwe.removeMovieClip();
_root.mainMenu_mc.ert.removeMovieClip();
var _local2 = function () {
Main.manuState = "main menu";
Main.clearStage();
};
var _local3 = {n:[3, 8, 15, 2, 0, 1, 11, 13, 2, 4, 13, 15, 4, 1, 2, 9], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var _local4 = _local3.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:_local4, onClose:_local2, res:"600x325"});
};
}
break;
case "developer splash screen" :
Main.drawDevSplash();
break;
case "main menu" :
if (_root.inventory_mc == undefined) {
_root.clear();
Main.preparingApplication();
}
break;
case "costume select" :
if (_root.inventory_mc == undefined) {
Main.drawCostume();
}
break;
case "game" :
if (Main.gameLevel == undefined) {
Main.snd.stop();
_root._alpha = 0;
if (Main.survival) {
_root.gotoAndStop(2);
CONSTANTS.useZombieBank = false;
Main.gameLevel = Main.initGameSurvival();
Main.gameLevel.gameState = "game";
Main.gameLevel.survival = true;
var _local6 = Main.gameLevel.playSound("survival", false, 999);
_local6.setPan(0);
} else {
_root.gotoAndStop(2);
CONSTANTS.useZombieBank = true;
Main.gameLevel = new level("percobaan");
Main.initGame(Main.ZacksCostume);
Main.gameLevel.gameState = "cinematic";
Main.gameLevel.survival = false;
}
_root._alpha = 100;
} else if (Main.gameLevel.gameState == "destroy me") {
Main.clearStage();
Main.gameLevel.destroy();
delete Main.gameLevel;
Main.manuState = "main menu";
} else {
Main.gameLevel.render();
}
}
};
mainLoopInit = true;
}
static function __com_mochibot__(swfid, mc, lv, trk) {
var _local13 = "__mochibot__";
var _local14 = "mochibot.com";
var _local7 = (_global ? (_global) : (_level0._root));
if (_local7[_local13 + swfid]) {
return(_local7[_local13 + swfid]);
}
var _local8 = System.security;
var _local6 = mc._root.getSWFVersion;
var _local9 = (_local6 ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!_local8) {
_local8 = {};
}
var _local10 = _local8.sandboxType;
if (_local10 == "localWithFile") {
return(null);
}
_local6 = _local8.allowDomain;
if (_local6) {
_local8.allowDomain(_local14);
}
_local6 = _local8.allowInsecureDomain;
if (_local6) {
_local8.allowInsecureDomain(_local14);
}
var _local15 = ((_local9 == 5) ? (getVersion()) : (System.capabilities.version));
var _local11 = (((((((((((("http://" + _local14) + "/my/core.swf?mv=8&fv=") + _local9) + "&v=") + _global.escape(_local15)) + "&swfid=") + _global.escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (_local10 ? ("&sb=" + _local10) : "")) + (trk ? "&t=1" : "");
lv = ((_local9 > 6) ? (mc.getNextHighestDepth()) : ((_local7[_local13 + "level"] ? (_local7[_local13 + "level"] + 1) : (lv))));
_local7[_local13 + "level"] = lv;
var _local12 = mc.createEmptyMovieClip(_local13 + swfid, lv);
mochimc_name = _local13 + swfid;
_local12.loadMovie(_local11);
mochi_mc = _local12;
return(_local12);
}
static function main(swfRoot) {
if (!appInited) {
__com_mochibot__("dd647359", _root, 10301, true);
mochi.as2.MochiServices.connect("c6ceb7f08f92356f");
_root._quality = "LOW";
snd.setVolume(80);
initApp();
appInited = true;
}
_root.gotoAndStop(2);
}
//ASSetPropFlags(_local1, null, 1);
static var manuState = "developer splash screen";
static var snd = new Sound();
static var ZacksCostume = 1;
static var survival = false;
static var appSetupComplete = false;
static var mainLoopInit = false;
static var allowedDomain = new Array("notdoppler.com", "www.notdoppler.com", "googlegroups.com/site/cornicleflash/");
static var appInited = false;
}
Symbol 20515 MovieClip [__Packages.particleSystem] Frame 0
class particleSystem
{
var now_pos, prev_pos, forces, constraits, mass, oForces, numIter, dt, shit;
function particleSystem () {
now_pos = new Array();
prev_pos = new Array();
forces = new Array();
constraits = new Array();
mass = new Array();
oForces = new Array();
numIter = 5;
dt = 1;
shit = false;
}
function addParticle(x, y, massa) {
now_pos.push(new flash.geom.Point(x, y));
prev_pos.push(new flash.geom.Point(x, y));
forces.push(new flash.geom.Point(0, RaggDoll.grafity));
oForces.push(new flash.geom.Point(0, 0));
mass.push(massa);
return(now_pos.length - 1);
}
function getParticleFromXY(x, y) {
var _local4 = 10;
var _local5 = 0;
for ( ; _local5 < now_pos.length ; _local5++) {
var _local6 = x - now_pos[_local5].x;
var _local7 = y - now_pos[_local5].y;
if (Math.sqrt((_local7 * _local7) + (_local6 * _local6)) < _local4) {
return(_local5);
}
}
return(-1);
}
function addConstrait(particle1, particle2, reshLength, criticalPoint) {
constraits.push({p1:particle1, p2:particle2, resh:reshLength, critical:criticalPoint});
return(constraits.length - 1);
}
function applyForceOnParticle(forcex, forcey, particle) {
oForces[particle].x = forcex;
oForces[particle].y = forcey;
}
function getPaticleNum() {
return(now_pos.length);
}
function addConstraitReshLength(constrait, addition) {
constraits[constrait].resh = constraits[constrait].resh + addition;
}
function satisfyConstraints() {
var _local2 = 0;
for ( ; _local2 < numIter ; _local2++) {
var _local3 = 0;
for ( ; _local3 < constraits.length ; _local3++) {
var _local4 = mass[constraits[_local3].p1];
var _local5 = mass[constraits[_local3].p2];
if ((_local4 > 0) && (_local5 > 0)) {
var _local6 = 1 / (mass[constraits[_local3].p1] + mass[constraits[_local3].p2]);
var _local7 = now_pos[constraits[_local3].p2].x - now_pos[constraits[_local3].p1].x;
var _local8 = now_pos[constraits[_local3].p2].y - now_pos[constraits[_local3].p1].y;
var _local9 = Math.sqrt((_local8 * _local8) + (_local7 * _local7));
if (_local9 == 0) {
_local9 = 1E-18;
}
var _local10 = ((_local9 - constraits[_local3].resh) / _local9) * _local6;
now_pos[constraits[_local3].p1].x = now_pos[constraits[_local3].p1].x + ((_local4 * _local7) * _local10);
now_pos[constraits[_local3].p1].y = now_pos[constraits[_local3].p1].y + ((_local4 * _local8) * _local10);
now_pos[constraits[_local3].p2].x = now_pos[constraits[_local3].p2].x - ((_local5 * _local7) * _local10);
now_pos[constraits[_local3].p2].y = now_pos[constraits[_local3].p2].y - ((_local5 * _local8) * _local10);
if (constraits[_local3].critical != undefined) {
if (_local2 >= (numIter - 1)) {
if (((constraits[_local3].critical * constraits[_local3].resh) / 100) < Math.abs(constraits[_local3].resh - _local9)) {
constraits.splice(_local3, 1);
_local3--;
}
}
}
}
}
if (!shit) {
var _local11 = new flash.geom.Point(Main.gameLevel.userPL._senjata_mc._x, Main.gameLevel.userPL._senjata_mc._y);
Main.gameLevel.userPL._container.localToGlobal(_local11);
_local11.x = _local11.x / CONSTANTS.globalScaleX;
_local11.y = _local11.y / CONSTANTS.globalScaleY;
now_pos[0].x = _local11.x - CONSTANTS.P_WORLD_X;
now_pos[0].y = _local11.y - CONSTANTS.P_WORLD_Y;
if (Main.gameLevel.userPL.gunRotation) {
now_pos[1].x = (_local11.x + (Math.cos(Main.gameLevel.userPL.gunRotation) * 10)) - CONSTANTS.P_WORLD_X;
now_pos[1].y = (_local11.y + (Math.sin(Main.gameLevel.userPL.gunRotation) * 10)) - CONSTANTS.P_WORLD_Y;
}
if (Main.gameLevel.userPL.weapond.type == "flame") {
_local11 = new flash.geom.Point(Main.gameLevel.userPL.badan_mc._x + 35, Main.gameLevel.userPL.badan_mc._y + 70);
Main.gameLevel.userPL._container.localToGlobal(_local11);
_local11.x = _local11.x / CONSTANTS.globalScaleX;
_local11.y = _local11.y / CONSTANTS.globalScaleY;
now_pos[21].x = _local11.x - CONSTANTS.P_WORLD_X;
now_pos[21].y = _local11.y - CONSTANTS.P_WORLD_Y;
}
}
}
}
function verlet() {
var _local2 = 0;
for ( ; _local2 < now_pos.length ; _local2++) {
var _local3 = now_pos[_local2].clone();
now_pos[_local2].x = now_pos[_local2].x + ((now_pos[_local2].x - prev_pos[_local2].x) + ((forces[_local2].x * dt) * dt));
now_pos[_local2].y = now_pos[_local2].y + ((now_pos[_local2].y - prev_pos[_local2].y) + ((forces[_local2].y * dt) * dt));
prev_pos[_local2].x = _local3.x;
prev_pos[_local2].y = _local3.y;
}
}
function accumulateForces() {
var _local2 = 0;
for ( ; _local2 < forces.length ; _local2++) {
forces[_local2].x = oForces[_local2].x;
forces[_local2].y = RaggDoll.grafity + oForces[_local2].y;
}
}
function collisionOperation() {
var _local2 = 0;
for ( ; _local2 < now_pos.length ; _local2++) {
now_pos[_local2].x = Math.min(Math.max(now_pos[_local2].x, 0), Main.gameLevel.rooms[Main.gameLevel.activeRoom].collisionGround.width - 1);
now_pos[_local2].y = Math.min(Math.max(now_pos[_local2].y, 0), Main.gameLevel.rooms[Main.gameLevel.activeRoom].collisionGround.height - 1);
}
}
function drawParticle() {
var _local2 = 0;
for ( ; _local2 < now_pos.length ; _local2 = _local2 + 4) {
var _local3 = 2;
RaggDoll.renderSurface.lineStyle(1, 16711680, 100, false);
RaggDoll.renderSurface.beginFill(0, 100);
RaggDoll.renderSurface.moveTo((now_pos[_local2].x - _local3) + CONSTANTS.P_WORLD_X, (now_pos[_local2].y - _local3) + CONSTANTS.P_WORLD_Y);
RaggDoll.renderSurface.lineTo((now_pos[_local2].x + _local3) + CONSTANTS.P_WORLD_X, (now_pos[_local2].y - _local3) + CONSTANTS.P_WORLD_Y);
RaggDoll.renderSurface.lineTo((now_pos[_local2].x + _local3) + CONSTANTS.P_WORLD_X, (now_pos[_local2].y + _local3) + CONSTANTS.P_WORLD_Y);
RaggDoll.renderSurface.lineTo((now_pos[_local2].x - _local3) + CONSTANTS.P_WORLD_X, (now_pos[_local2].y + _local3) + CONSTANTS.P_WORLD_Y);
RaggDoll.renderSurface.lineTo((now_pos[_local2].x - _local3) + CONSTANTS.P_WORLD_X, (now_pos[_local2].y - _local3) + CONSTANTS.P_WORLD_Y);
RaggDoll.renderSurface.endFill();
}
var _local4 = 0;
for ( ; _local4 < constraits.length ; _local4++) {
RaggDoll.renderSurface.lineStyle(1, 16711680, 100, false);
RaggDoll.renderSurface.moveTo(now_pos[constraits[_local4].p1].x + CONSTANTS.P_WORLD_X, now_pos[constraits[_local4].p1].y + CONSTANTS.P_WORLD_Y);
RaggDoll.renderSurface.lineTo(now_pos[constraits[_local4].p2].x + CONSTANTS.P_WORLD_X, now_pos[constraits[_local4].p2].y + CONSTANTS.P_WORLD_Y);
}
}
function timeStep() {
accumulateForces();
collisionOperation();
verlet();
satisfyConstraints();
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20516 MovieClip [__Packages.player] Frame 0
class player
{
var badanMesh, kakiMesh, inventoryScroll, pHitGround, manager, meshLatency, items, _container, kaki_mc, _senjata_mc, badan_mc, _laras_mc, _backPack_mc, _arrowPack_mc, attacking, live, armore, damage, kakiState, speedx, speedy, _x, _y, speedPenalti, shootDelayCounter, reloadingCounter, shootDelay, useLight, dimension, dynamicChain, bodyBuffer, legBuffer, _senjataOb_mc, gunRotation, weight, weapond, helm, vest, feet;
function player (manager) {
badanMesh = new animatedMesh2D("sasd", CONSTANTS.badan, true);
kakiMesh = new animatedMesh2D("sasd", CONSTANTS.kaki, true);
inventoryScroll = 0;
pHitGround = true;
this.manager = manager;
meshLatency = 0;
items = new Array();
_container = _root.createEmptyMovieClip("player_mc", 5);
kaki_mc = _container.createEmptyMovieClip("kaki_mc", 0);
_senjata_mc = _container.createEmptyMovieClip("player_mc", 1);
badan_mc = _container.createEmptyMovieClip("kaki_mc", 4);
_laras_mc = _senjata_mc.createEmptyMovieClip("laras_mc", 1);
_backPack_mc = _container.createEmptyMovieClip("backPack_mc", 2);
_backPack_mc._visible = false;
_backPack_mc.attachMovie("src.weaponds.flameThrowerTbng.png", "bp_mc", 1);
_backPack_mc.bp_mc._x = -50;
_backPack_mc.bp_mc._y = -50;
_arrowPack_mc = _container.createEmptyMovieClip("arrowPack_mc", 3);
_arrowPack_mc._visible = false;
_arrowPack_mc.attachMovie("src.weaponds.arrowBag.png", "bp_mc", 1);
_arrowPack_mc.bp_mc._x = -45;
_arrowPack_mc.bp_mc._y = -15;
attacking = false;
live = 1000;
armore = 1000;
damage = 0;
kakiState = "idle";
speedx = 6;
speedy = 0;
_x = 100;
_y = 200;
speedPenalti = 0;
shootDelayCounter = 0;
reloadingCounter = 0;
shootDelay = 2;
useLight = false;
_container._xscale = 50;
_container._yscale = 50;
_container._x = 275;
_container._y = 300;
dimension = 50;
kaki_mc._y = -110;
kaki_mc._x = -25;
badan_mc._y = -215;
badan_mc._x = -50;
badan_mc._xscale = 70;
badan_mc._yscale = 70;
dynamicChain = new particleSystem();
var _local3 = 11;
var _local4 = 2;
var _local5 = 1;
var _local6 = 10;
var _local7 = Math.sqrt((_local6 * _local6) * 2);
var _local8 = 0;
for ( ; _local8 < _local3 ; _local8++) {
var _local9 = 0;
for ( ; _local9 < _local4 ; _local9++) {
dynamicChain.addParticle(_local9 * _local6, _local8 * _local6, _local5);
if (_local9 >= 1) {
var _local10 = (_local8 * _local4) + _local9;
dynamicChain.addConstrait(_local10, _local10 - 1, _local6);
}
if (_local8 >= 1) {
var _local11 = ((_local8 - 1) * _local4) + _local9;
var _local12 = (_local8 * _local4) + _local9;
dynamicChain.addConstrait(_local12, _local11, _local6);
if (_local9 >= 1) {
var _local13 = (((_local8 - 1) * _local4) + _local9) - 1;
dynamicChain.addConstrait(_local12, _local13, _local7);
dynamicChain.addConstrait(((_local8 * _local4) + _local9) - 1, ((_local8 - 1) * _local4) + _local9, _local7);
}
}
}
}
if (CONSTANTS.USE_ZACK_BUFFER) {
bodyBuffer = new Array();
legBuffer = new Array();
_local8 = 0;
for ( ; _local8 < 660 ; _local8++) {
var _local14 = new flash.display.BitmapData(400, 400, true, 0);
bodyBuffer.push({status:false, texture:_local14});
}
_local8 = 0;
for ( ; _local8 < 41 ; _local8++) {
var _local15 = new flash.display.BitmapData(256, 256, true, 0);
legBuffer.push({status:false, texture:_local15});
}
}
}
function destroy() {
kakiMesh._mesh.texture.dispose();
badanMesh._mesh.texture.dispose();
_container.removeMovieClip();
_senjata_mc.removeMovieClip();
_laras_mc.removeMovieClip();
_senjataOb_mc.removeMovieClip();
_backPack_mc.removeMovieClip();
_arrowPack_mc.removeMovieClip();
delete dynamicChain;
delete inventoryScroll;
delete live;
delete armore;
kaki_mc.removeMovieClip();
delete kakiState;
badan_mc.removeMovieClip();
delete dimension;
delete _x;
delete _y;
delete speedx;
delete speedy;
delete speedPenalti;
delete gunRotation;
delete damage;
delete weight;
delete shootDelayCounter;
delete shootDelay;
delete attacking;
delete reloadingCounter;
delete useLight;
delete pHitGround;
delete meshLatency;
while (bodyBuffer.length > 0) {
var _local3 = bodyBuffer.pop();
_local3.texture.dispose();
}
while (legBuffer.length > 0) {
var _local4 = legBuffer.pop();
_local4.texture.dispose();
}
}
function playSound(linkId, container) {
if ((_x > (-manager.rooms[manager.activeRoom]._x)) && (_x <= ((-manager.rooms[manager.activeRoom]._x) + 600))) {
var _local4 = ((_x + (manager.rooms[manager.activeRoom]._x - 300)) / 300) * 100;
var _local5 = new Sound(container);
_local5.attachSound(linkId);
_local5.start(0, 1);
_local5.setPan(_local4);
}
}
function alignCain() {
var _local2 = new flash.geom.Point(_senjata_mc._x, _senjata_mc._y);
_container.localToGlobal(_local2);
_local2.x = _local2.x / CONSTANTS.globalScaleX;
_local2.y = _local2.y / CONSTANTS.globalScaleY;
var _local3 = 0;
for ( ; _local3 < dynamicChain.now_pos.length ; _local3 = _local3 + 2) {
dynamicChain.now_pos[_local3].x = _local2.x;
dynamicChain.now_pos[_local3].y = _local2.y + (_local3 * 10);
dynamicChain.now_pos[_local3 + 1].x = _local2.x + 10;
dynamicChain.now_pos[_local3 + 1].y = _local2.y + (_local3 * 10);
}
}
function updateCain() {
RaggDoll.renderSurface = manager.bgContainer;
if (manager.rooms[manager.activeRoom].collisionGround) {
RaggDoll.collisionMap = manager.rooms[manager.activeRoom].collisionGround;
}
dynamicChain.timeStep();
if ((weapond.type != "m60") && (weapond.type != "flame")) {
return(undefined);
}
var _local3 = 0;
if (weapond.type == "m60") {
var _local2 = manager.getTexture("m1Chain");
_local3 = Math.round((weapond.bulletsOnMag / 100) * 11);
} else if (weapond.type == "flame") {
var _local2 = manager.getTexture("gasPipe");
_local3 = dynamicChain.now_pos.length - 2;
}
var _local4 = 0;
for ( ; _local4 < _local3 ; _local4 = _local4 + 2) {
var _local5 = new flash.geom.Matrix();
var _local6 = new flash.geom.Matrix();
var _local7 = 0;
var _local8 = ((_local2.height / 10) * int(_local4 / 2)) * 10;
var _local9 = _local2.width;
var _local10 = ((_local2.height / 10) * int((_local4 + 1) / 2)) * 10;
var _local11 = 0;
var _local12 = ((_local2.height / 10) * int((_local4 + 2) / 2)) * 10;
var _local13 = dynamicChain.now_pos[_local4].x + CONSTANTS.P_WORLD_X;
var _local14 = dynamicChain.now_pos[_local4].y + CONSTANTS.P_WORLD_Y;
var _local15 = dynamicChain.now_pos[_local4 + 1].x + CONSTANTS.P_WORLD_X;
var _local16 = dynamicChain.now_pos[_local4 + 1].y + CONSTANTS.P_WORLD_Y;
var _local17 = dynamicChain.now_pos[_local4 + 2].x + CONSTANTS.P_WORLD_X;
var _local18 = dynamicChain.now_pos[_local4 + 2].y + CONSTANTS.P_WORLD_Y;
var _local19 = _local2.width;
var _local20 = _local2.height;
_local5.tx = _local7;
_local5.ty = _local8;
_local5.a = (_local9 - _local7) / _local19;
_local5.b = (_local10 - _local8) / _local19;
_local5.c = (_local11 - _local7) / _local20;
_local5.d = (_local12 - _local8) / _local20;
_local6.a = (_local15 - _local13) / _local19;
_local6.b = (_local16 - _local14) / _local19;
_local6.c = (_local17 - _local13) / _local20;
_local6.d = (_local18 - _local14) / _local20;
_local6.tx = _local13;
_local6.ty = _local14;
_local5.invert();
_local5.concat(_local6);
RaggDoll.renderSurface.beginBitmapFill(_local2, _local5, true, false);
RaggDoll.renderSurface.moveTo(_local13, _local14);
RaggDoll.renderSurface.lineTo(_local15, _local16);
RaggDoll.renderSurface.lineTo(_local17, _local18);
RaggDoll.renderSurface.endFill();
_local5 = new flash.geom.Matrix();
_local6 = new flash.geom.Matrix();
_local7 = 0;
_local8 = ((_local2.height / 10) * int(_local4 / 2)) * 10;
_local9 = _local2.width;
_local10 = ((_local2.height / 10) * int((_local4 + 1) / 2)) * 10;
_local11 = _local2.width;
_local12 = ((_local2.height / 10) * int((_local4 + 2) / 2)) * 10;
_local13 = dynamicChain.now_pos[_local4 + 2].x + CONSTANTS.P_WORLD_X;
_local14 = dynamicChain.now_pos[_local4 + 2].y + CONSTANTS.P_WORLD_Y;
_local15 = dynamicChain.now_pos[_local4 + 3].x + CONSTANTS.P_WORLD_X;
_local16 = dynamicChain.now_pos[_local4 + 3].y + CONSTANTS.P_WORLD_Y;
_local17 = dynamicChain.now_pos[_local4 + 1].x + CONSTANTS.P_WORLD_X;
_local18 = dynamicChain.now_pos[_local4 + 1].y + CONSTANTS.P_WORLD_Y;
_local5.tx = _local7;
_local5.ty = _local8;
_local5.a = (_local9 - _local7) / _local19;
_local5.b = (_local10 - _local8) / _local19;
_local5.c = (_local11 - _local7) / _local20;
_local5.d = (_local12 - _local8) / _local20;
_local6.a = (_local15 - _local13) / _local19;
_local6.b = (_local16 - _local14) / _local19;
_local6.c = (_local17 - _local13) / _local20;
_local6.d = (_local18 - _local14) / _local20;
_local6.tx = _local13;
_local6.ty = _local14;
_local5.invert();
_local5.concat(_local6);
RaggDoll.renderSurface.beginBitmapFill(_local2, _local5, true, false);
RaggDoll.renderSurface.moveTo(_local13, _local14);
RaggDoll.renderSurface.lineTo(_local15, _local16);
RaggDoll.renderSurface.lineTo(_local17, _local18);
RaggDoll.renderSurface.endFill();
}
}
function setWeapon(idx) {
items.splice(idx, 1);
}
function updateBodyTexture() {
var _local2 = _root.createEmptyMovieClip("renderer_mc", _root.getNextHighestDepth());
_local2.clear();
if (Main.gameLevel.survival) {
var _local3 = manager.getTexture("src.character.zacksRock.png");
} else {
switch (Main.ZacksCostume) {
case 0 :
var _local3 = manager.getTexture("src.character.badanChar.png");
break;
case 1 :
_local3 = manager.getTexture("src.character.zacksBeach.png");
break;
case 2 :
_local3 = manager.getTexture("src.character.zacksRock.png");
break;
case 3 :
_local3 = manager.getTexture("src.character.zacksRobot.png");
}
}
if (_local3 == null) {
var _local3 = new flash.display.BitmapData(186, 212, false, 16711680);
}
_local2.beginFill(0, 100);
_local2.moveTo(0, 0);
_local2.lineTo(_local3.width, 0);
_local2.lineTo(_local3.width, _local3.height);
_local2.lineTo(0, _local3.height);
_local2.lineTo(0, 0);
badanMesh._mesh.texture.draw(_local2);
badanMesh._mesh.texture.floodFill(0, 0, 0);
_local2.clear();
_local2.beginBitmapFill(_local3, new flash.geom.Matrix(), false, false);
_local2.moveTo(0, 0);
_local2.lineTo(_local3.width, 0);
_local2.lineTo(_local3.width, _local3.height);
_local2.lineTo(0, _local3.height);
_local2.lineTo(0, 0);
badanMesh._mesh.texture.draw(_local2);
if (helm != undefined) {
_local2.clear();
var _local3 = helm.itemTexture;
var _local4 = new flash.geom.Matrix();
var _local5 = 55 / _local3.width;
_local4.scale(_local5, _local5);
_local4.translate(40, 8);
_local2.beginBitmapFill(_local3, _local4, false, false);
_local2.moveTo(40, 8);
_local2.lineTo(95, 8);
_local2.lineTo(95, 58);
_local2.lineTo(40, 58);
_local2.lineTo(40, 8);
_local2.endFill();
badanMesh._mesh.texture.draw(_local2);
}
if (vest != undefined) {
_local2.clear();
var _local3 = vest.itemTexture;
var _local6 = new flash.geom.Matrix();
_local6.translate(28, 60);
_local2.beginBitmapFill(_local3, _local6, false, false);
_local2.moveTo(28, 60);
_local2.lineTo(28 + _local3.width, 60);
_local2.lineTo(28 + _local3.width, 60 + _local3.height);
_local2.lineTo(28, 60 + _local3.height);
_local2.lineTo(28, 60);
_local2.endFill();
badanMesh._mesh.texture.draw(_local2);
}
_local2.removeMovieClip();
var _local7 = 0;
for ( ; _local7 < bodyBuffer.length ; _local7++) {
bodyBuffer[_local7].status = false;
}
}
function getArmoreTotal() {
var _local2 = 0;
if (helm) {
_local2 = _local2 + helm.value;
}
if (vest) {
_local2 = _local2 + vest.value;
}
if (feet) {
_local2 = _local2 + feet.value;
}
return(_local2);
}
function useItem(id) {
switch (items[id].type) {
case "medic" :
if (live < 1000) {
live = live + items[id].value;
items.splice(id, 1);
if (live > 1000) {
live = 1000;
}
}
break;
case "pain" :
if (live < 1000) {
var _local3 = 1000 - live;
if (_local3 > items[id].value) {
live = live + items[id].value;
items.splice(id, 1);
} else {
live = 1000;
items[id].value = items[id].value - _local3;
}
}
break;
case "photon gun" :
case "crossBow" :
case "m60" :
case "1911" :
case "870" :
case "AK47" :
case "flame" :
case "axe" :
weapond = items[id];
shootDelayCounter = 0;
shootDelay = 10 / (weapond.firingRate / 180);
_senjataOb_mc.removeMovieClip();
_senjataOb_mc = _senjata_mc.attachMovie(items[id].objectDisplayID, "senj_mc", 0);
_senjataOb_mc._x = items[id].pitchX;
_senjataOb_mc._y = items[id].pitchY;
_laras_mc._x = items[id].larasX;
_laras_mc._y = items[id].larasY;
reloadingCounter = 0;
break;
case "decker" :
break;
case "centurion" :
case "kevlar" :
vest = items[id];
updateBodyTexture();
break;
case "helmArmy" :
case "motoX" :
helm = items[id];
updateBodyTexture();
break;
case "key" :
case "card" :
}
}
function moveLeft() {
if (manager.rooms[manager.activeRoom].collisionGround.getPixel(_x - getRealSpeed(), _y - 20) != 0) {
if (_x > 0) {
_x = _x - getRealSpeed();
}
}
}
function dropBolts() {
var _local2 = manager.rooms[manager.activeRoom];
var _local3 = dynamicChain.now_pos[1].x;
var _local4 = dynamicChain.now_pos[1].y;
var _local5 = 5 + random(8);
var _local6 = gunRotation + ((Math.PI / 2) * (_container._xscale / Math.abs(_container._xscale)));
var _local7 = Math.cos(-_local6) * _local5;
var _local8 = Math.sin(-_local6) * _local5;
var _local9 = 10 / 100;
var _local10 = 10 / 100;
var _local11 = 30 - random(60);
var _local12 = 1 + random(5);
var _local13 = manager.getTexture("src.weaponds.boltSpit.png");
var _local14 = CONSTANTS.P_ENUM_DRAW_TO_SURFACE;
var _local15 = manager.particleSys.addParticle(_local3, _local4, _local7, _local8, _local13, _local14, _local12, _local9, _local10, _local11);
_local15.bounchSound = "selongsong" + random(3);
_local15.playBounchSound();
}
function playWeaponSound() {
switch (weapond.type) {
case "crossBow" :
playSound("arrow", _container);
break;
case "m60" :
playSound("m60Sound", _container);
break;
case "1911" :
playSound("coltSound", _container);
break;
case "870" :
playSound("remingtonSound", _container);
break;
case "AK47" :
playSound("akSound", _container);
break;
case "flame" :
playSound("flameT", _container);
break;
case "photon gun" :
playSound("laser", _container);
break;
case "axe" :
}
}
function createMuzzleBlast(pos) {
var _local3 = _root.getNextHighestDepth();
var _local4 = _root.createEmptyMovieClip("gunFlash" + _local3, _local3);
var _local5 = _local4.attachMovie("src.sfx.dabris.png", "flash", 0);
_local5._x = 0;
_local5._y = -16;
_local4._x = pos.x;
_local4._y = pos.y;
_local4._xscale = (50 + random(50)) + weapond.burst;
_local4._yscale = 100 - random(200);
_local4._rotation = ((gunRotation / Math.PI) * 180) + 180;
_local4.onEnterFrame = function () {
if (this._alpha > 0) {
this._alpha = this._alpha - 20;
} else {
this.removeMovieClip();
}
};
manager.rooms[manager.activeRoom].addPointLight(pos.x - manager.rooms[manager.activeRoom]._x, pos.y - manager.rooms[manager.activeRoom]._y, 16777096, 30, 0, 100, 1);
var _local6 = manager.rooms[manager.activeRoom].addAmbientLight(0, 0, 16777215, 10);
_local6.lifeTime = 1;
}
function shoot() {
if (weapond != undefined) {
if (weapond.bulletsOnMag <= 0) {
if ((reloadingCounter <= 0) && (weapond.value > 0)) {
reloadingCounter = weapond.reloadTime;
return(false);
}
if ((shootDelayCounter <= 0) && (reloadingCounter <= 0)) {
shootDelayCounter = shootDelay;
playSound("emptyMagazen", _container);
}
return(false);
}
if (reloadingCounter < 0) {
reloadingCounter++;
return(false);
}
if ((shootDelayCounter <= 0) && (reloadingCounter <= 0)) {
weapond.bulletsOnMag--;
var _local2 = new flash.geom.Point(_laras_mc._x, _laras_mc._y);
_laras_mc.localToGlobal(_local2);
_local2.x = _local2.x / CONSTANTS.globalScaleX;
_local2.y = _local2.y / CONSTANTS.globalScaleY;
var _local3 = 0;
if (weapond.weapondType != "melee") {
switch (weapond.bulletType) {
case "flame" :
var _local4 = manager.rooms[manager.activeRoom].addAmbientLight(0, 0, 16777164, 30);
_local4.lifeTime = 1;
break;
case "photon" :
_local3 = Math.sin((weapond.bulletsOnMag / weapond.magazenSize) * Math.PI) * 100;
var _local5 = manager.rooms[manager.activeRoom].addAmbientLight(0, 0, 6711022, _local3);
_local5.lifeTime = 1;
manager.rooms[manager.activeRoom].addPointLight(_local2.x - manager.rooms[manager.activeRoom]._x, _local2.y - manager.rooms[manager.activeRoom]._y, 255, 50, 0, _local3, 1);
break;
case "fast bullet" :
createMuzzleBlast(_local2);
}
playWeaponSound();
if ((weapond.type != "flame") && ((weapond.type != "axe") && ((weapond.type != "crossBow") && (weapond.type != "photon gun")))) {
dropBolts();
}
var _local6 = 0;
for ( ; _local6 < weapond.burst ; _local6++) {
var _local7 = (weapond.accuracy / 2) - random(weapond.accuracy);
_local7 = (_local7 / 180) * Math.PI;
var _local8 = Math.cos(gunRotation + _local7) * (-weapond.bulletSpeed);
var _local9 = Math.sin(gunRotation + _local7) * (-weapond.bulletSpeed);
var _local10 = manager.fireBullet(weapond.bulletType, weapond.damage, weapond.caliber, _local2.x - manager.rooms[manager.activeRoom]._x, _local2.y - manager.rooms[manager.activeRoom]._y, _local8, _local9);
if (_local10.type == "photon") {
_local10.power = _local3;
}
manager.bulletsFired++;
}
} else {
attacking = true;
}
shootDelayCounter = shootDelay;
return(true);
}
return(false);
}
return(false);
}
function moveRight() {
if (manager.rooms[manager.activeRoom].collisionGround.getPixel(_x + getRealSpeed(), _y - 20) != 0) {
if (_x < manager.rooms[manager.activeRoom].backGround.width) {
_x = _x + getRealSpeed();
}
}
}
function addItem(newItem) {
if (newItem) {
switch (newItem.type) {
case "centurion" :
case "decker" :
case "helmArmy" :
case "kevlar" :
case "motoX" :
case "m60" :
case "1911" :
case "870" :
case "crossBow" :
case "AK47" :
case "flame" :
var _local3 = 0;
// unexpected jump
for(;;){
_local3++;
if (_local3 >= items.length) {
break;
}
if (items[_local3].type == newItem.type) {
items[_local3].value = items[_local3].value + newItem.value;
return(true);
}
};
}
items.push(newItem);
return(true);
}
return(false);
}
function getRealSpeed() {
return(speedx - speedPenalti);
}
function hitGround() {
var _local2 = manager.rooms[manager.activeRoom].collisionGround.getPixel(_x, _y);
if (_local2 == 0) {
if ((!pHitGround) && (speedy < -5)) {
playSound("step1", _container);
playSound("step0", _container);
}
pHitGround = true;
return(true);
}
pHitGround = false;
return(false);
}
function removeItem(target) {
var _local3 = 0;
for ( ; _local3 < items.length ; _local3++) {
if (items[_local3] == target) {
items.splice(_local3, 1);
break;
}
}
}
function dropArmore(target) {
var _local4 = _root.getNextHighestDepth();
var _local3 = _root.createEmptyMovieClip("armore_drop" + _local4, _local4);
var _local5 = target.itemTexture;
var _local6 = _local5.width / 2;
var _local7 = _local5.height / 2;
var _local8 = new flash.geom.Matrix();
_local8.translate(-_local6, -_local7);
_local3.beginBitmapFill(_local5, _local8, false, false);
_local3.moveTo(-_local6, -_local7);
_local3.lineTo(_local6, -_local7);
_local3.lineTo(_local6, _local7);
_local3.lineTo(-_local6, _local7);
_local3.lineTo(-_local6, -_local7);
_local3.endFill();
_local3.x = _x;
_local3.y = _y - 50;
_local3._xscale = 35;
_local3._yscale = 35;
_local3.manager = manager;
_local3.speedx = 5 - random(10);
_local3.speedy = 10 + random(10);
_local3.onEnterFrame = function () {
this._x = this.x + this.manager.rooms[this.manager.activeRoom]._x;
this._y = this.y + this.manager.rooms[this.manager.activeRoom]._y;
if (this.manager.rooms[this.manager.activeRoom].collisionGround.getPixel(this.x, this.y) == 0) {
this.removeMovieClip();
} else {
this.x = this.x + this.speedx;
this.y = this.y - this.speedy;
this._rotation = this._rotation + 30;
this.speedy--;
}
};
removeItem(target);
}
function allocateDamage() {
var _local2 = 0;
var _local3 = 0;
if (helm != undefined) {
_local2 = random(100 - _local3);
_local3 = _local3 + _local2;
helm.value = helm.value - ((damage * _local2) / 100);
if (helm.value <= 0) {
dropArmore(helm);
helm = undefined;
}
}
if ((vest != undefined) && (_local3 < 100)) {
_local2 = random(100 - _local3);
_local3 = _local3 + _local2;
vest.value = vest.value - ((damage * _local2) / 100);
if (vest.value <= 0) {
dropArmore(vest);
vest = undefined;
}
}
if ((feet != undefined) && (_local3 < 100)) {
_local2 = random(100 - _local3);
_local3 = _local3 + _local2;
feet.value = feet.value - ((damage * _local2) / 100);
if (feet.value <= 0) {
dropArmore(feet);
feet = undefined;
}
}
damage = 0;
}
function lowerBodyUpdate() {
if (hitGround()) {
switch (kakiState) {
case "idle" :
kakiMesh._loopStart = 1;
kakiMesh._loopEnd = 1;
break;
case "walk" :
kakiMesh._loopStart = 2;
kakiMesh._loopEnd = 20;
if (!((kakiMesh._frame == 3) || (kakiMesh._frame == 12))) {
break;
}
playSound("step" + random(3), _container);
}
var _local2 = 0;
while (manager.rooms[manager.activeRoom].collisionGround.getPixel(_x, _y - 1) == 0) {
_local2++;
if (_x < 0) {
_x = 1;
}
if (_x > manager.rooms[manager.activeRoom].collisionGround.width) {
_x = manager.rooms[manager.activeRoom].collisionGround.width - 1;
}
if (_local2 > 100) {
break;
}
_y--;
}
speedy = 1;
} else {
if (_y > 50) {
kakiMesh._loopStart = 24;
kakiMesh._loopEnd = 24;
speedy--;
} else {
speedy = -2;
}
_y = _y - speedy;
}
}
function update() {
var _local2 = 0;
var _local3 = 0;
var _local4 = 0;
var _local5 = _container._x - _root._xmouse;
var _local6 = 0;
if (live > 0) {
if ((weapond.type != undefined) && (weapond.weapondType != "melee")) {
if ((weapond.bulletsOnMag <= 0) && (weapond.value > 0)) {
shootDelayCounter = 0;
}
var _local7 = 0;
var _local8 = 0;
if ((reloadingCounter > 0) && ((weapond.value > 0) && (!weapond.drainShoot))) {
badanMesh._loopStart = 562 + ((reloadingCounter / weapond.reloadTime) * 22);
badanMesh._loopEnd = 562 + ((reloadingCounter / weapond.reloadTime) * 22);
badanMesh._frame = 562 + ((reloadingCounter / weapond.reloadTime) * 22);
if (reloadingCounter > 1) {
if (reloadingCounter == weapond.reloadTime) {
switch (weapond.type) {
case "m60" :
playSound("reloadM60", _container);
break;
case "crossBow" :
playSound("reloadCB", _container);
break;
case "870" :
playSound("reloadR870", _container);
break;
default :
playSound("reloadGeneral", _container);
}
}
reloadingCounter--;
} else {
var _local9 = weapond.magazenSize - weapond.bulletsOnMag;
if (weapond.value > _local9) {
weapond.bulletsOnMag = weapond.bulletsOnMag + _local9;
weapond.value = weapond.value - _local9;
} else {
weapond.bulletsOnMag = weapond.bulletsOnMag + weapond.value;
weapond.value = 0;
}
reloadingCounter = -2;
}
} else {
if (weapond.drainShoot && (reloadingCounter > 0)) {
if (manager.requestShoot) {
if (weapond.bulletsOnMag < weapond.magazenSize) {
weapond.bulletsOnMag++;
var _local10 = (weapond.bulletsOnMag / weapond.magazenSize) * 100;
var _local11 = manager.rooms[manager.activeRoom].addAmbientLight(0, 0, 204, _local10);
_local11.lifeTime = 1;
} else {
reloadingCounter = 0;
}
} else if (weapond.bulletsOnMag > 0) {
weapond.bulletsOnMag--;
var _local12 = (weapond.bulletsOnMag / weapond.magazenSize) * 100;
var _local13 = manager.rooms[manager.activeRoom].addAmbientLight(0, 0, 204, _local12);
_local13.lifeTime = 1;
}
}
switch (weapond.weapondType) {
case "rifle" :
_local4 = 250 * (_container._yscale / 100);
_local7 = 0;
_local8 = 180;
break;
case "pistol" :
_local3 = 180;
_local4 = 180 * (_container._yscale / 100);
_local7 = 180;
_local8 = 360;
break;
case "assault" :
_local3 = 355;
_local4 = 150 * (_container._yscale / 100);
_local7 = 362;
_local8 = 535;
}
_local6 = (_container._y - _local4) - _root._ymouse;
gunRotation = Math.atan2(_local6, _local5);
if (_root._xmouse > _container._x) {
_local2 = ((Math.atan2(_local6, _local5) + (Math.PI / 2)) / Math.PI) * 180;
if (_local2 < 0) {
_local2 = _local2 * -1;
} else {
_local2 = _local2 - 180;
_local2 = 180 - _local2;
}
} else {
_local2 = ((Math.atan2(_local6, _local5) + (Math.PI / 2)) / Math.PI) * 180;
}
var _local14 = Math.max(Math.min(_local2, 179), 1) + _local3;
if (shootDelayCounter == shootDelay) {
_local14 = _local14 + ((shootDelayCounter / shootDelay) * 4);
}
_local14 = Math.min(Math.max(_local14, _local7), _local8);
badanMesh._loopStart = _local14;
badanMesh._loopEnd = _local14;
badanMesh._frame = _local14;
}
} else if (!attacking) {
if (weapond.bulletType != "melee") {
if (kakiState == "walk") {
badanMesh._loopStart = 586 + kakiMesh._frame;
badanMesh._loopEnd = 586 + kakiMesh._frame;
badanMesh._frame = 586 + kakiMesh._frame;
} else {
badanMesh._loopStart = 612;
badanMesh._loopEnd = 612;
badanMesh._frame = 612;
}
} else if (kakiState == "walk") {
badanMesh._loopStart = 637 + kakiMesh._frame;
badanMesh._loopEnd = 637 + kakiMesh._frame;
badanMesh._frame = 637 + kakiMesh._frame;
} else {
badanMesh._loopStart = 637;
badanMesh._loopEnd = 637;
badanMesh._frame = 637;
}
} else {
if ((badanMesh._frame < 544) || (badanMesh._frame > 560)) {
badanMesh._loopStart = 544;
badanMesh._loopEnd = 544;
badanMesh._frame = 544;
}
if (badanMesh._frame <= 560) {
badanMesh._loopStart = badanMesh._loopStart + 3;
badanMesh._loopEnd = badanMesh._loopEnd + 3;
badanMesh._frame = badanMesh._frame + 3;
var _local15 = new Object();
_local15.x = _laras_mc._x;
_local15.y = _laras_mc._y;
var _local16 = 0;
var _local17 = -2;
_laras_mc.localToGlobal(_local15);
_local15.x = _local15.x / CONSTANTS.globalScaleX;
_local15.y = _local15.y / CONSTANTS.globalScaleY;
manager.fireBullet(weapond.bulletType, weapond.damage, weapond.caliber, _local15.x - manager.rooms[manager.activeRoom]._x, _local15.y - manager.rooms[manager.activeRoom]._y, _local16, _local17);
}
if (badanMesh._frame >= 560) {
attacking = false;
}
}
if (_root._xmouse > _container._x) {
_container._xscale = dimension;
} else {
_container._xscale = -dimension;
}
lowerBodyUpdate();
if (damage > 0) {
if (getArmoreTotal() > 0) {
allocateDamage();
updateBodyTexture();
} else {
live = live - damage;
}
damage = 0;
}
if (shootDelayCounter > 0) {
shootDelayCounter--;
}
_container._rotation = 0;
} else {
if (!hitGround()) {
speedy = 1;
_y = _y + 10;
}
if (Math.abs(_container._rotation) < 90) {
_container._rotation = _container._rotation - ((15 * _container._xscale) / dimension);
}
if ((kakiMesh._frame < 30) || (kakiMesh._frame > 41)) {
kakiMesh._loopStart = 30;
kakiMesh._loopEnd = 40;
kakiMesh._frame = 30;
}
if (kakiMesh._frame >= 39) {
kakiMesh._loopStart = 40;
kakiMesh._loopEnd = 40;
kakiMesh._frame = 40;
}
if ((badanMesh._frame < 613) || (badanMesh._frame > 631)) {
badanMesh._loopStart = 613;
badanMesh._loopEnd = 635;
badanMesh._frame = 613;
}
if (badanMesh._frame >= 630) {
badanMesh._loopStart = 630;
badanMesh._loopEnd = 630;
badanMesh._frame = 630;
}
}
_container._x = _x + manager.rooms[manager.activeRoom]._x;
_container._y = _y + manager.rooms[manager.activeRoom]._y;
if (kakiMesh) {
renderLegg();
}
var _local18 = 0;
var _local19 = 0;
if (badanMesh) {
renderBody();
var _local20 = badanMesh._armature.getBoneChildFromName("bone11");
var _local21 = badan_mc._xscale / 100;
_local5 = (_local20._x2 * _local21) + badan_mc._x;
_local6 = (_local20._y2 * _local21) + badan_mc._y;
_senjata_mc._rotation = 175 - _local20._absRotation;
if (live > 0) {
if (shootDelayCounter > 0) {
var _local22 = _senjata_mc._rotation;
var _local23 = (-5 * shootDelayCounter) / shootDelay;
_local18 = CMath.cos(_local22) * _local23;
_local19 = CMath.sin(_local22) * _local23;
badan_mc._y = -215 + _local19;
badan_mc._x = -50 + _local18;
kaki_mc._x = -25 + (_local18 / 2);
} else {
_local18 = 0;
_local19 = 0;
badan_mc._y = -215;
badan_mc._x = -50;
kaki_mc._x = -25;
}
}
_senjata_mc._x = _local5 + _local18;
_senjata_mc._y = _local6 + _local19;
var _local24 = new Object();
_local24.x = _laras_mc._x;
_local24.y = _laras_mc._y;
_laras_mc.localToGlobal(_local24);
_local24.x = _local24.x / CONSTANTS.globalScaleX;
_local24.y = _local24.y / CONSTANTS.globalScaleY;
if ((reloadingCounter <= 0) && ((weapond != undefined) && (weapond.bulletType != "melee"))) {
if ((weapond.bulletType != "arrow") && ((weapond.bulletType != "flame") && (weapond.bulletType != "photon"))) {
var _local25 = (-Math.cos(gunRotation)) * 5;
var _local26 = (-Math.sin(gunRotation)) * 5;
manager.fireBullet("fast laser", 0, 0, _local24.x - manager.rooms[manager.activeRoom]._x, _local24.y - manager.rooms[manager.activeRoom]._y, _local25, _local26);
}
}
if (useLight && ((reloadingCounter <= 0) && ((weapond.type != "axe") && ((weapond.type != "crossBow") && (weapond.type != "photon gun"))))) {
manager.rooms[manager.activeRoom].addDirectionalLight(_local24.x - manager.rooms[manager.activeRoom]._x, _local24.y - manager.rooms[manager.activeRoom]._y, 16777215, 80, 0, 200, ((gunRotation / Math.PI) * 180) + 180, 100, 1);
}
}
if (weapond.type == "flame") {
_backPack_mc._visible = true;
var _local27 = badanMesh._armature.getBoneChildFromName("bone2");
var _local28 = badan_mc._xscale / 100;
_local5 = (_local27._x2 * _local28) + badan_mc._x;
_local6 = (_local27._y2 * _local28) + badan_mc._y;
_backPack_mc._x = (_local5 + speedx) + _local18;
_backPack_mc._y = (_local6 + speedy) + _local19;
_backPack_mc._rotation = 270 - _local27._absRotation;
} else {
_backPack_mc._visible = false;
}
if (weapond.type == "crossBow") {
_arrowPack_mc._visible = true;
var _local29 = badanMesh._armature.getBoneChildFromName("bone1");
var _local30 = badan_mc._xscale / 100;
_local5 = (_local29._x2 * _local30) + badan_mc._x;
_local6 = (_local29._y2 * _local30) + badan_mc._y;
_arrowPack_mc._x = (_local5 + speedx) + _local18;
_arrowPack_mc._y = (_local6 + speedy) + _local19;
_arrowPack_mc._rotation = 270 - _local29._absRotation;
} else {
_arrowPack_mc._visible = false;
}
}
function renderBody() {
if (CONSTANTS.USE_ZACK_BUFFER) {
if (bodyBuffer[Math.round(badanMesh._frame)].status) {
badan_mc.clear();
badanMesh._armature.onEnterFrame(badan_mc);
badanMesh.onAnimate();
var _local2 = new flash.geom.Matrix();
_local2.translate(-200, -150);
badan_mc.beginBitmapFill(bodyBuffer[Math.round(badanMesh._frame)].texture, _local2);
badan_mc.moveTo(-200, -150);
badan_mc.lineTo(200, -150);
badan_mc.lineTo(200, 250);
badan_mc.lineTo(-200, 250);
badan_mc.endFill();
} else {
badan_mc.clear();
badanMesh.onAnimate();
badanMesh.render(badan_mc);
var _local3 = bodyBuffer[Math.round(badanMesh._frame)].texture;
_local3.fillRect(new flash.geom.Rectangle(0, 0, _local3.width, _local3.height), 0);
var _local4 = new flash.geom.Matrix();
_local4.translate(200, 150);
_local3.draw(badan_mc, _local4);
bodyBuffer[Math.round(badanMesh._frame)].status = true;
}
} else {
badan_mc.clear();
badanMesh.onAnimate();
badanMesh.render(badan_mc);
}
}
function renderLegg() {
if (CONSTANTS.USE_ZACK_BUFFER) {
var _local2 = Math.round(kakiMesh._frame);
if (legBuffer[_local2].status) {
kaki_mc.clear();
kakiMesh._armature.onEnterFrame(kaki_mc);
kakiMesh.onAnimate();
var _local3 = new flash.geom.Matrix();
_local3.translate(-128, -20);
kaki_mc.beginBitmapFill(legBuffer[_local2].texture, _local3);
kaki_mc.moveTo(-70, -20);
kaki_mc.lineTo(70, -20);
kaki_mc.lineTo(70, 128);
kaki_mc.lineTo(-70, 128);
kaki_mc.endFill();
} else {
kaki_mc.clear();
kakiMesh.render(kaki_mc);
var _local4 = legBuffer[_local2].texture;
_local4.fillRect(new flash.geom.Rectangle(0, 0, 512, 512), 0);
var _local5 = new flash.geom.Matrix();
_local5.translate(128, 20);
_local4.draw(kaki_mc, _local5);
legBuffer[_local2].status = true;
}
} else {
kaki_mc.clear();
kakiMesh.render(kaki_mc);
}
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20517 MovieClip [__Packages.zombie] Frame 0
class zombie
{
var pHitGround, manager, privateBlood, privateSkin, _aniMesh, _x, _y, live, speedx, speedy, _currentFrame, damage, leggDamage, state, preRequestDelete, hitPower, bScale, scale, legLive, frames, dropItem, minItemValue, maxItemValue, container, dimension, dropProbability, requestDelete;
function zombie (manager, mesh, skin, blood, x, y, speedx) {
pHitGround = false;
this.manager = manager;
privateBlood = blood;
privateSkin = skin;
_aniMesh = mesh;
_x = x;
_y = y;
live = 1000;
this.speedx = speedx;
speedy = 1;
_currentFrame = 0;
damage = 0;
leggDamage = 0;
state = "walk";
preRequestDelete = false;
hitPower = 0;
bScale = 100;
scale = bScale;
legLive = 100;
var _local9 = 1 + random(10);
var _local10 = flash.display.BitmapData.loadBitmap("src.sfx.wound.png");
var _local11 = 0;
for ( ; _local11 < _local9 ; _local11++) {
var _local12 = 5 + random(50);
var _local13 = random(1000);
_local13 = Math.round(_local13 / 500);
switch (_local13) {
case 0 :
var _local14 = manager.getTexture("src.sfx.wound.png");
var _local15 = manager.getTexture("src.sfx.woundHole.png");
break;
case 1 :
_local14 = manager.getTexture("src.sfx.wound2.png");
_local15 = manager.getTexture("src.sfx.wound2Hole.png");
break;
case 2 :
_local14 = manager.getTexture("src.sfx.wound3.png");
_local15 = manager.getTexture("src.sfx.wound3Hole.png");
break;
default :
_local14 = manager.getTexture("src.sfx.wound4.png");
_local15 = manager.getTexture("src.sfx.wound4Hole.png");
}
var _local16 = new flash.display.BitmapData(_local12, _local12, true, 0);
var _local17 = new flash.display.BitmapData(_local12, _local12, true, 0);
var _local18 = new flash.geom.Matrix();
_local18.scale(_local12 / 128, _local12 / 128);
_local16.draw(_local14, _local18);
_local17.draw(_local15, _local18);
var _local19 = new flash.geom.Point(random(100), random(256));
var _local20 = new flash.display.BitmapData(100, 255, true, -16777216);
_local20.copyChannel(privateSkin, new flash.geom.Rectangle(0, 0, privateSkin.width, privateSkin.height), new flash.geom.Point(0, 0), 8, 1);
var _local21 = new flash.geom.Matrix();
_local21.translate(_local19.x, _local19.y);
_local20.draw(_local17, _local21, undefined, "subtract");
privateSkin.draw(_local16, _local21);
privateSkin.copyChannel(_local20, new flash.geom.Rectangle(0, 0, _local20.width, _local20.height), new flash.geom.Point(0, 0), 1, 8);
}
if (CONSTANTS.useZombieFB) {
frames = new Array();
var _local22 = 0;
for ( ; _local22 < _aniMesh.getTotalFrames() ; _local22++) {
frames.push({status:false, texture:undefined});
}
}
}
function playSound(linkId, container) {
if ((_x > (-manager.rooms[manager.activeRoom]._x)) && (_x <= ((-manager.rooms[manager.activeRoom]._x) + 600))) {
var _local4 = ((_x + (manager.rooms[manager.activeRoom]._x - 300)) / 600) * 200;
var _local5 = new Sound(container);
_local5.attachSound(linkId);
_local5.start(0, 1);
_local5.setPan(_local4);
}
}
function removeHead() {
var _local2 = manager.getTexture("src.sfx.removeHead.png");
var _local3 = Math.round(_local2.width / 2);
var _local4 = new flash.geom.Point(29, 26);
var _local5 = _local4.x - _local3;
for ( ; _local5 < (_local4.x + _local3) ; _local5++) {
var _local6 = _local4.y - _local3;
for ( ; _local6 < (_local4.y + _local3) ; _local6++) {
if ((((privateSkin.getPixel32(_local5, _local6) >> 24) & 255) > 0) && ((((_local2.getPixel32(_local5 - (_local4.x - _local3), _local6 - (_local4.y - _local3)) >> 16) & 255) > 0) || (((_local2.getPixel32(_local5 - (_local4.x - _local3), _local6 - (_local4.y - _local3)) >> 24) & 255) < 120))) {
privateSkin.setPixel32(_local5, _local6, _local2.getPixel32(_local5 - (_local4.x - _local3), _local6 - (_local4.y - _local3)));
privateBlood.setPixel32(_local5, _local6, 0);
}
}
}
}
function moveLeft(speed) {
if (manager.rooms[manager.activeRoom].collisionGround.getPixel(_x - speed, _y - ((20 * bScale) / 100)) != 0) {
if (_x > 0) {
_x = _x - speed;
}
} else if ((damage <= 0) && (live > 0)) {
if (legLive > 0) {
if (manager.rooms[manager.activeRoom].collisionGround.getPixel(_x - speed, _y - ((75 * bScale) / 100)) != 0) {
if (_x > 0) {
state = "climb1";
_y = _y - ((50 * bScale) / 100);
_x = _x - speed;
}
}
} else {
_y = _y - ((10 * bScale) / 100);
_x = _x - (speed / 10);
}
}
_x = Math.max(2, Math.min(_x, manager.rooms[manager.activeRoom].collisionGround.width - 4));
_y = Math.max(1, Math.min(_y, manager.rooms[manager.activeRoom].collisionGround.height - 1));
}
function moveRight(speed) {
if (manager.rooms[manager.activeRoom].collisionGround.getPixel(_x + speed, _y - ((20 * bScale) / 100)) != 0) {
if (_x < manager.rooms[manager.activeRoom].backGround.width) {
_x = _x + speed;
}
} else if ((damage <= 0) && (live > 0)) {
if (legLive > 0) {
if (manager.rooms[manager.activeRoom].collisionGround.getPixel(_x + speed, _y - ((75 * bScale) / 100)) != 0) {
if (_x > 0) {
state = "climb1";
_y = _y - ((50 * bScale) / 100);
_x = _x + speed;
}
}
} else {
_y = _y - ((10 * bScale) / 100);
_x = _x + (speed / 10);
}
}
_x = Math.max(4, Math.min(_x, manager.rooms[manager.activeRoom].collisionGround.width - 4));
_y = Math.max(1, Math.min(_y, manager.rooms[manager.activeRoom].collisionGround.height - 1));
}
function hitGround() {
var _local2 = manager.rooms[manager.activeRoom].collisionGround.getPixel(_x, _y);
if (_local2 == 0) {
pHitGround = true;
return(true);
}
pHitGround = false;
return(false);
}
function createDropItem() {
var _local2 = _root.getNextHighestDepth();
var _local3 = _root.createEmptyMovieClip("itemDrop" + _local2, _local2);
var _local4 = dropItem.texture.width / 2;
var _local5 = dropItem.texture.height / 2;
var _local6 = new flash.geom.Matrix();
_local6.translate(_local4, _local5);
_local3.beginBitmapFill(dropItem.texture, _local6);
_local3.moveTo(-_local4, -_local5);
_local3.lineTo(_local4, -_local5);
_local3.lineTo(_local4, _local5);
_local3.lineTo(-_local4, _local5);
_local3.lineTo(-_local4, -_local5);
_local3.itemToSpawn = dropItem;
_local3.itemToSpawn.value = minItemValue + random(maxItemValue - minItemValue);
_local3.manager = manager;
_local3.speedx = 5 - random(10);
_local3.speedy = -random(10);
_local3.x = _x;
_local3.y = _y - 50;
_local3._x = _x + manager.rooms[manager.activeRoom]._x;
_local3._y = _y + manager.rooms[manager.activeRoom]._y;
_local3.onEnterFrame = function () {
if (this.manager.rooms[this.manager.activeRoom].collisionGround.getPixel(this.x, this.y) == 0) {
this.manager.rooms[this.manager.activeRoom].addItem(this.itemToSpawn.clone(this.x, this.y));
this.removeMovieClip();
} else {
if (this.manager.rooms[this.manager.activeRoom].collisionGround.getPixel(this.x + this.speedx, this.y) != 0) {
this.x = this.x + this.speedx;
}
this.y = this.y + this.speedy;
this.x = Math.min(Math.max(this.x, 1), Main.gameLevel.rooms[Main.gameLevel.activeRoom].collisionGround.width - 2);
this.y = Math.min(Math.max(this.y, 1), Main.gameLevel.rooms[Main.gameLevel.activeRoom].collisionGround.height - 2);
this.speedy++;
this._rotation = this._rotation + 10;
this._x = this.x + this.manager.rooms[this.manager.activeRoom]._x;
this._y = this.y + this.manager.rooms[this.manager.activeRoom]._y;
this.x = Math.max(Math.min(this.x, this.manager.rooms[this.manager.activeRoom].collisionGround.width - 1), 0);
this.y = Math.max(Math.min(this.y, this.manager.rooms[this.manager.activeRoom].collisionGround.height - 1), 0);
}
};
}
function render(allowDraw) {
var _local3 = ((_x - manager.userPL._x) / 600) * 100;
_local3 = Math.max(Math.min(_local3, 100), -100);
_aniMesh._loopStart = _currentFrame;
_aniMesh._loopEnd = _currentFrame;
_aniMesh._frame = _currentFrame;
if (container.body_mc == undefined) {
container.createEmptyMovieClip("body_mc", 0);
}
container._xscale = scale;
container.body_mc._xscale = (48 * bScale) / 100;
container.body_mc._yscale = (48 * bScale) / 100;
dimension = 48;
container.body_mc._x = (-20 * bScale) / 100;
container.body_mc._y = (-100 * bScale) / 100;
if (hitGround()) {
if (speedy > 5) {
playSound("bodyDrop", container);
}
var _local4 = 0;
while (manager.rooms[manager.activeRoom].collisionGround.getPixel(_x, _y - 1) == 0) {
if (_x < 0) {
_x = 1;
}
if (_x > manager.rooms[manager.activeRoom].collisionGround.width) {
_x = manager.rooms[manager.activeRoom].collisionGround.width - 1;
}
_local4++;
if (_local4 > 100) {
break;
}
_y = _y - 2;
}
speedy = 1;
} else {
_y = _y + speedy;
if (_y <= 50) {
speedy = 10;
}
speedy++;
if ((speedy > 10) && (damage <= 0)) {
state = "legg fall";
}
}
switch (state) {
case "sleep" :
_currentFrame = 50;
if (container.hitTest(manager.userPL._container)) {
state = "body wake up";
}
break;
case "attack" :
if (legLive <= 0) {
_currentFrame++;
if ((_currentFrame < 220) || (_currentFrame > 230)) {
_currentFrame = 220;
}
if (live <= 0) {
state = "mbrangkang death";
}
if (_currentFrame == 230) {
if (container.hitTest(manager.userPL._container)) {
manager.userPL.damage = manager.userPL.damage + 100;
}
state = "walk";
live = live - damage;
damage = 0;
hitPower = 0;
}
} else {
_currentFrame++;
if ((_currentFrame < 110) || (_currentFrame > 120)) {
_currentFrame = 110;
}
if (live <= 0) {
state = "body fall";
}
if (container.hitTest(manager.userPL._container)) {
if (_x > manager.userPL._x) {
manager.userPL.moveLeft();
} else {
manager.userPL.moveRight();
}
}
if (_currentFrame == 120) {
if (container.hitTest(manager.userPL._container)) {
manager.userPL.damage = manager.userPL.damage + 100;
}
hitPower = 0;
state = "walk";
}
}
break;
case "climb1" :
_currentFrame++;
if ((_currentFrame < 138) || (_currentFrame > 145)) {
_currentFrame = 138;
}
if (live <= 0) {
state = "body fall";
}
if (_currentFrame == 145) {
state = "walk";
}
break;
case "walk" :
_currentFrame++;
if (legLive > 50) {
if ((_currentFrame < 0) || (_currentFrame > 20)) {
_currentFrame = 0;
playSound("zombie" + (random(3) + 1), container);
playSound("step0", container);
}
if (_currentFrame == 10) {
playSound("step1", container);
}
var _local5 = speedx;
if (live <= 0) {
state = "body fall";
}
} else if ((legLive <= 50) && (legLive > 0)) {
if ((_currentFrame < 150) || (_currentFrame > 170)) {
playSound("zombie" + (random(3) + 1), container);
playSound("step2", container);
_currentFrame = 150;
}
if (_currentFrame == 160) {
playSound("step1", container);
}
var _local5 = speedx / 2;
if (live <= 0) {
state = "body fall";
}
} else {
if ((_currentFrame < 175) || (_currentFrame > 205)) {
playSound("zombie" + (random(3) + 1), container);
_currentFrame = 175;
}
var _local5 = speedx / 4;
if (live <= 0) {
state = "mbrangkang fall";
}
}
if (Math.abs(_x - manager.userPL._x) > 50) {
if ((_x - manager.userPL._x) > 50) {
moveLeft(_local5);
scale = -bScale;
}
if ((_x - manager.userPL._x) < -50) {
moveRight(_local5);
scale = bScale;
}
} else if (manager.userPL.live > 0) {
state = "attack";
} else {
state = "go eat";
}
break;
case "mbrangkang fall" :
_currentFrame++;
if ((_currentFrame < 210) || (_currentFrame > 215)) {
_currentFrame = 210;
}
if (live <= 0) {
state = "body fall";
}
moveLeft(container._xscale / 100);
if (_currentFrame == 215) {
state = "mbrangkang wakeup";
live = live - damage;
damage = 0;
hitPower = 0;
}
break;
case "mbrangkang wakeup" :
_currentFrame++;
if ((_currentFrame < 215) || (_currentFrame > 220)) {
_currentFrame = 215;
}
if (live <= 0) {
state = "body fall";
}
moveLeft(container._xscale / 100);
if (_currentFrame == 220) {
state = "walk";
live = live - damage;
damage = 0;
hitPower = 0;
}
break;
case "body pain" :
if (legLive <= 0) {
_currentFrame++;
if ((_currentFrame < 210) || (_currentFrame > 215)) {
_currentFrame = 210;
}
if (live <= 0) {
state = "mbrangkang death";
}
moveLeft(container._xscale / 100);
if (_currentFrame == 215) {
state = "mbrangkang wakeup";
live = live - damage;
damage = 0;
hitPower = 0;
}
} else {
if ((_currentFrame < 21) || (_currentFrame > 30)) {
_currentFrame = 21;
}
if (live <= 0) {
state = "body fall";
}
moveLeft(container._xscale / 100);
if (_currentFrame >= 30) {
state = "walk";
live = live - damage;
damage = 0;
hitPower = 0;
} else {
_currentFrame = _currentFrame + 2;
if (_currentFrame > 30) {
_currentFrame = 30;
}
}
}
break;
case "mbrangkang death" :
_currentFrame++;
if ((_currentFrame < 85) || (_currentFrame > 90)) {
playSound("zombieDeath1", container);
_currentFrame = 85;
}
if (_currentFrame == 90) {
if (!preRequestDelete) {
if (dropItem) {
if (random(100) <= dropProbability) {
createDropItem();
}
}
preRequestDelete = true;
}
}
break;
case "body fall" :
if (legLive < 0) {
_currentFrame++;
if ((_currentFrame < 210) || (_currentFrame > 215)) {
playSound("zombieDeath1", container);
_currentFrame = 210;
}
if (live <= 0) {
state = "mbrangkang death";
}
moveLeft(container._xscale / 100);
if (_currentFrame == 215) {
state = "mbrangkang wakeup";
live = live - damage;
damage = 0;
hitPower = 0;
}
} else {
if ((_currentFrame < 31) || (_currentFrame > 50)) {
_currentFrame = 31;
}
if ((live > 0) || (_currentFrame < 50)) {
moveRight(hitPower);
_currentFrame++;
}
if (_currentFrame == 50) {
playSound("step1", container);
live = live - damage;
damage = 0;
if (live > 0) {
state = "body wake up";
} else {
_currentFrame = 50;
damage = 0;
hitPower = 0;
if (hitGround()) {
if (!preRequestDelete) {
if (dropItem) {
if (random(100) <= dropProbability) {
createDropItem();
}
}
preRequestDelete = true;
}
}
}
} else {
_currentFrame++;
}
}
break;
case "legg pain" :
if (legLive <= 0) {
_currentFrame++;
if ((_currentFrame < 210) || (_currentFrame > 215)) {
_currentFrame = 210;
}
if (live <= 0) {
state = "mbrangkang death";
}
moveLeft(container._xscale / 100);
if (_currentFrame == 215) {
state = "mbrangkang wakeup";
live = live - damage;
damage = 0;
hitPower = 0;
}
} else {
_currentFrame++;
if ((_currentFrame < 71) || (_currentFrame > 75)) {
_currentFrame = 71;
}
if (live <= 0) {
state = "legg fall";
}
moveLeft(container._xscale / 100);
if (_currentFrame == 75) {
if ((legLive - leggDamage) > 0) {
legLive = legLive - leggDamage;
state = "walk";
} else {
legLive = 0;
state = "legg fall";
}
leggDamage = 0;
live = live - damage;
damage = 0;
hitPower = 0;
}
}
break;
case "legg fall" :
if (legLive <= 0) {
_currentFrame++;
if ((_currentFrame < 210) || (_currentFrame > 215)) {
playSound("zombieDeath1", container);
_currentFrame = 210;
}
if (live <= 0) {
state = "mbrangkang death";
}
moveLeft(container._xscale / 100);
if (_currentFrame == 215) {
state = "mbrangkang wakeup";
live = live - damage;
damage = 0;
hitPower = 0;
}
} else {
if ((_currentFrame < 76) || (_currentFrame > 90)) {
_currentFrame = 76;
}
if ((live > 0) || (_currentFrame < 90)) {
_currentFrame++;
moveRight(hitPower);
}
if (_currentFrame == 90) {
playSound("step1", container);
live = live - damage;
damage = 0;
hitPower = 0;
if (live > 0) {
if ((legLive - leggDamage) > 0) {
legLive = legLive - leggDamage;
} else {
legLive = 0;
}
if (legLive > 0) {
state = "legg wake up";
} else {
state = "mbrangkang wakeup";
}
leggDamage = 0;
} else {
_currentFrame = 90;
if (hitGround()) {
if (!preRequestDelete) {
if (dropItem) {
if (random(100) <= dropProbability) {
createDropItem();
}
}
preRequestDelete = true;
}
}
}
}
}
break;
case "body wake up" :
_currentFrame++;
if ((_currentFrame < 51) || (_currentFrame > 70)) {
_currentFrame = 51;
playSound("zombie4", container);
}
if (live <= 0) {
state = "body fall";
}
if (_currentFrame == 70) {
state = "walk";
damage = 0;
hitPower = 0;
}
break;
case "legg wake up" :
_currentFrame++;
if ((_currentFrame < 91) || (_currentFrame > 110)) {
_currentFrame = 91;
playSound("zombie4", container);
}
if (live <= 0) {
state = "legg fall";
}
if (_currentFrame == 110) {
state = "walk";
live = live - damage;
damage = 0;
}
break;
case "go eat" :
_currentFrame++;
var _local6 = manager.userPL._x - (50 * (manager.userPL._container._xscale / manager.userPL.dimension));
if ((_x - _local6) > 10) {
moveLeft(10);
scale = -bScale;
}
if ((_x - _local6) < -10) {
moveRight(10);
scale = bScale;
}
if ((_currentFrame < 121) || (_currentFrame > 130)) {
_currentFrame = 121;
}
if (live <= 0) {
state = "legg fall";
}
if (_currentFrame == 130) {
state = "eating";
live = live - damage;
damage = 0;
}
break;
case "eating" :
_currentFrame++;
if ((_currentFrame < 131) || (_currentFrame > 134)) {
_currentFrame = 131;
}
if (live <= 0) {
state = "legg fall";
}
if (manager.userPL.live <= 0) {
break;
}
state = "body fall";
}
_aniMesh._loopStart = _currentFrame;
_aniMesh._loopEnd = _currentFrame;
_aniMesh._frame = _currentFrame;
_aniMesh._renderTexture = true;
_aniMesh._mesh.texture1 = privateBlood;
_aniMesh._mesh.texture = privateSkin;
_aniMesh._mesh._w = privateBlood.width;
_aniMesh._mesh._h = privateBlood.height;
container._x = _x + manager.rooms[manager.activeRoom]._x;
container._y = _y + manager.rooms[manager.activeRoom]._y;
if (allowDraw) {
container.body_mc.clear();
if (CONSTANTS.useZombieFB) {
if (!frames[_currentFrame].status) {
if (frames[_currentFrame].texture == undefined) {
frames[_currentFrame].texture = new flash.display.BitmapData(296, 256, true, 0);
}
_aniMesh.render(container.body_mc);
var _local7 = frames[_currentFrame].texture;
var _local8 = new flash.geom.Matrix();
_local8.translate(128, 0);
_local7.draw(container.body_mc, _local8);
frames[_currentFrame].status = true;
} else {
_aniMesh.onAnimate();
var _local9 = new flash.geom.Matrix();
_local9.translate(-128, 0);
container.body_mc.beginBitmapFill(frames[Math.round(_currentFrame)].texture, _local9);
container.body_mc.moveTo(-98, 0);
container.body_mc.lineTo(198, 0);
container.body_mc.lineTo(198, 256);
container.body_mc.lineTo(-98, 256);
container.body_mc.endFill();
}
} else {
_aniMesh.render(container.body_mc);
}
requestDelete = preRequestDelete;
}
}
function destroy() {
privateSkin.dispose();
privateBlood.dispose();
}
//ASSetPropFlags(_local1, null, 1);
}
Symbol 20518 MovieClip [__Packages.mochi.as2.MochiServices] Frame 0
class mochi.as2.MochiServices
{
static var _id, _container, _clip, _sendChannelName, onError, _listenChannel, _sendChannel;
var __get__comChannelName;
function MochiServices () {
}
static function __get__id() {
return(_id);
}
static function __get__clip() {
return(_container);
}
static function __get__childClip() {
return(_clip);
}
static function getVersion() {
return("3.8 as2");
}
static function allowDomains(server) {
var _local3 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local3);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local3);
}
}
return(_local3);
}
static function __get__isNetworkAvailable() {
if (System.security) {
var _local2 = System.security;
if (_local2.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function __set__comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
initComChannels();
}
}
return(__get__comChannelName());
}
static function __get__connected() {
return(_connected);
}
static function connect(id, clip, onError) {
warnID(id, false);
if ((!_connected) && (_clip == undefined)) {
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.as2.MochiServices.onError = onError;
} else if (mochi.as2.MochiServices.onError == undefined) {
mochi.as2.MochiServices.onError = function (errorCode) {
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local4 = "_mochiservices_com_" + id;
var _local5 = new MovieClipLoader();
var _local6 = {};
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
if (urlOptions().servURL) {
_servURL = urlOptions().servURL;
}
var _local7 = _servURL + _services;
if (urlOptions().servicesURL) {
_local7 = urlOptions().servicesURL;
}
allowDomains(_local7);
_clip = clip.createEmptyMovieClip(_local4, 10336, false);
_listenChannelName = _listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor(Math.random() * 99999));
listen();
if (_local6.waitInterval != null) {
_global.clearInterval(_local6.waitInterval);
}
_local6.onLoadError = loadError;
_local6.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_local6.onLoadComplete = function (target_mc) {
target_mc.MochiServices = mochi.as2.MochiServices;
};
_local6.startTime = getTimer();
_local6.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.as2.MochiServices.disconnect();
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
}
_global.clearInterval(this.waitInterval);
}
};
_local6.waitInterval = _global.setInterval(_local6, "wait", 1000);
_local5.addListener(_local6);
_local5.loadClip((((((_local7 + "?listenLC=") + _listenChannelName) + "&mochiad_options=") + _global.escape(_root.mochiad_options)) + "&api_version=") + getVersion(), _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
return(_clip);
}
static function loadError(target_mc, errorCode, httpStatus) {
disconnect();
onError.apply(null, [errorCode]);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.as2.MochiServices.comChannelName = args.newChannel;
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel._nextcallbackID = 0;
_listenChannel._callbacks = {};
_listenChannel.connect(_listenChannelName);
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, version:getVersion()});
_listenChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_listenChannel.onReceive = function (pkg) {
var _local3 = pkg.callbackID;
var _local4 = this._callbacks[_local3];
if (!_local4) {
return(undefined);
}
var _local5 = _local4.callbackMethod;
var _local6 = _local4.callbackObject;
if (_local6 && (typeof(_local5) == "string")) {
_local5 = _local6[_local5];
}
if (_local5 != undefined) {
_local5.apply(_local6, pkg.args);
}
delete this._callbacks[_local3];
};
_listenChannel.onEvent = function (pkg) {
switch (pkg.target) {
case "events" :
mochi.as2.MochiEvents.triggerEvent(pkg.event, pkg.args);
break;
case "coins" :
mochi.as2.MochiSocial.triggerEvent(pkg.event, pkg.args);
break;
case "sync" :
mochi.as2.MochiServices.servicesSync.triggerEvent(pkg.event, pkg.args);
}
};
_listenChannel.onError = function () {
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
};
_connecting = false;
_connected = true;
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function updateCopy(args) {
send("coins_updateCopy", args, null, null);
}
static function flush(error) {
while (_sendChannel._queue.length > 0) {
var _local3 = _sendChannel._queue.shift();
if (_local3.callbackID != null) {
var _local4 = _listenChannel._callbacks[_local3.callbackID];
}
delete _listenChannel._callbacks[_local3.callbackID];
if (error) {
handleError(_local3.args, _local4.callbackObject, _local4.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
if (args != null) {
if (args.onError != null) {
args.onError.apply(null, ["NotConnected"]);
}
if ((args.options != null) && (args.options.onError != null)) {
args.options.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_listenChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_listenChannel._nextcallbackID});
}
_listenChannel._callbacks[_listenChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_listenChannel._nextcallbackID++;
}
static function urlOptions() {
var _local2 = {};
if (_root._url.indexOf("mochiad_options") != -1) {
var _local4 = (_root._url.indexOf("mochiad_options") + "mochiad_options".length) + 1;
var _local3 = _root._url.substr(_local4, _root._url.length);
} else if (_root.mochiad_options) {
var _local3 = _root.mochiad_options;
}
if (_local3) {
var _local5 = _root.mochiad_options.split("&");
var _local6 = 0;
for ( ; _local6 < _local5.length ; _local6++) {
var _local7 = _local5[_local6].split("=");
_local2[_global.unescape(_local7[0])] = _global.unescape(_local7[1]);
}
}
return(_local2);
}
static function warnID(bid, leaderboard) {
bid = bid.toLowerCase();
if (bid.length != 16) {
return(undefined);
}
if (bid == "1e113c7239048b3f") {
if (leaderboard) {
}
return(undefined);
}
if (bid == "84993a1de4031cd8") {
if (leaderboard) {
}
return(undefined);
}
var _local4 = 0;
// unexpected jump
_local4++;
if (_local4 < bid.length) {
switch (bid.charAt(_local4)) {
case "0" :
case "1" :
case "2" :
case "3" :
case "4" :
case "5" :
case "6" :
case "7" :
case "8" :
case "9" :
case "a" :
case "b" :
case "c" :
case "d" :
case "e" :
case "f" :
// unexpected jump
}
return(undefined);
}
}
static function addLinkEvent(url, burl, btn, onClick) {
var timeout = 1500;
var t0 = getTimer();
var _local3 = new Object();
_local3.mav = getVersion();
_local3.swfv = btn.getSWFVersion() || 6;
_local3.swfurl = btn._url;
_local3.fv = System.capabilities.version;
_local3.os = System.capabilities.os;
_local3.lang = System.capabilities.language;
_local3.scres = (System.capabilities.screenResolutionX + "x") + System.capabilities.screenResolutionY;
var s = "?";
var _local4 = 0;
for (var x in _local3) {
if (_local4 != 0) {
s = s + "&";
}
_local4++;
s = ((s + x) + "=") + _global.escape(_local3[x]);
}
if (!(netupAttempted || (_connected))) {
var ping = btn.createEmptyMovieClip("ping", 777);
var _local5 = btn.createEmptyMovieClip("nettest", 778);
netupAttempted = true;
ping.loadMovie("http://x.mochiads.com/linkping.swf?t=" + getTimer());
_local5.onEnterFrame = function () {
if ((ping._totalframes > 0) && (ping._totalframes == ping._framesloaded)) {
delete this.onEnterFrame;
} else if ((getTimer() - t0) > timeout) {
delete this.onEnterFrame;
mochi.as2.MochiServices.netup = false;
}
};
}
var _local6 = btn.createEmptyMovieClip("clk", 1001);
_local6._alpha = 0;
_local6.beginFill(1044735);
_local6.moveTo(0, 0);
_local6.lineTo(0, btn._height);
_local6.lineTo(btn._width, btn._height);
_local6.lineTo(btn._width, 0);
_local6.lineTo(0, 0);
_local6.endFill();
_local6.onRelease = function () {
if (mochi.as2.MochiServices.netup) {
getURL (url + s, "_blank");
} else {
getURL (burl, "_blank");
}
if (onClick != undefined) {
onClick();
}
};
}
static function setContainer(clip) {
}
static function stayOnTop(clip) {
}
static var _servURL = "http://www.mochiads.com/static/lib/services/";
static var _services = "services.swf";
static var _mochiLC = "MochiLC.swf";
static var _listenChannelName = "__ms_";
static var _connecting = false;
static var _connected = false;
static var netup = true;
static var netupAttempted = false;
static var servicesSync = new mochi.as2.MochiSync();
}
Symbol 20519 MovieClip [__Packages.mochi.as2.MochiScores] Frame 0
class mochi.as2.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.as2.MochiServices.warnID(boardID, true);
mochi.as2.MochiScores.boardID = boardID;
mochi.as2.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
options.clip = mochi.as2.MochiServices.clip;
if ((options.clip != mochi.as2.MochiServices.clip) || (mochi.as2.MochiServices.childClip._target == undefined)) {
mochi.as2.MochiServices.disconnect();
mochi.as2.MochiServices.connect(mochi.as2.MochiServices.id, options.clip);
}
delete options.clip;
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (options.score instanceof TextField) {
if (options.score.text != undefined) {
options.score = options.score.text;
}
} else if (options.score instanceof mochi.as2.MochiDigits) {
options.score = options.score.value;
}
var _local3 = Number(options.score);
if (_global.isNaN(_local3)) {
} else if ((_local3 == Number.NEGATIVE_INFINITY) || (_local3 == Number.POSITIVE_INFINITY)) {
} else {
if (Math.floor(_local3) != _local3) {
}
options.score = _local3;
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.as2.MochiServices.clip.stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.as2.MochiServices.clip.play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.as2.MochiServices.warnID(options.boardID, true);
mochi.as2.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.as2.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.as2.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
score = Number(score);
if (_global.isNaN(score)) {
} else if ((score == Number.NEGATIVE_INFINITY) || (score == Number.POSITIVE_INFINITY)) {
} else {
if (Math.floor(score) != score) {
}
score = Number(score);
}
mochi.as2.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.as2.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var _local3 = {};
for (var item in scores) {
if (typeof(scores[item]) == "object") {
if ((scores[item].cols != null) && (scores[item].rows != null)) {
_local3[item] = [];
var _local6 = scores[item];
var _local5 = 0;
for ( ; _local5 < _local6.rows.length ; _local5++) {
var _local7 = {};
var _local4 = 0;
for ( ; _local4 < _local6.cols.length ; _local4++) {
_local7[_local6.cols[_local4]] = _local6.rows[_local5][_local4];
}
_local3[item].push(_local7);
}
} else {
_local3[item] = {};
for (var param in scores[item]) {
_local3[item][param] = scores[item][param];
}
}
} else {
_local3[item] = scores[item];
}
}
return(_local3);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}