Frame 1
stop();
pl_mc.onEnterFrame = function () {
if (_root.getBytesLoaded() == _root.getBytesTotal()) {
_root.gotoAndStop(3);
} else {
this.r_mc._x = (140 * _root.getBytesLoaded()) / _root.getBytesTotal();
}
};
Frame 3
stop();
stopAllSounds();
trace("frame 3");
Symbol 492 MovieClip [raccoglibile] Frame 1
#initclip 35
Object.registerClass("raccoglibile", gngRaccoglibile);
#endinitclip
Symbol 512 MovieClip [arma] Frame 1
#initclip 20
Object.registerClass("arma", gngArma);
#endinitclip
Symbol 554 MovieClip [intro] Frame 1
stop();
Instance of Symbol 529 MovieClip in Symbol 554 MovieClip [intro] Frame 1
onClipEvent (enterFrame) {
p = Math.floor(getTimer() / 3000) % 4;
this.gotoAndStop(1 + p);
}
Symbol 580 MovieClip [boss] Frame 1
#initclip 21
Object.registerClass("boss", gngBoss);
#endinitclip
Symbol 627 MovieClip [esplosione] Frame 1
#initclip 22
Object.registerClass("esplosione", gngEsplosione);
#endinitclip
Symbol 648 MovieClip [fantasmaLancia] Frame 1
#initclip 23
Object.registerClass("fantasmaLancia", gngFantasmaLancia);
#endinitclip
Symbol 657 MovieClip [fantasmaScudo] Frame 1
#initclip 24
Object.registerClass("fantasmaScudo", gngFantasmaScudo);
#endinitclip
Symbol 682 MovieClip [gargoyle] Frame 1
#initclip 25
Object.registerClass("gargoyle", gngGargoyle);
#endinitclip
Symbol 688 MovieClip [key] Frame 1
#initclip 26
Object.registerClass("key", gngKey);
#endinitclip
Symbol 700 MovieClip [mago] Frame 1
#initclip 27
Object.registerClass("mago", gngMago);
#endinitclip
Symbol 721 MovieClip [pianta] Frame 1
#initclip 28
Object.registerClass("pianta", gngPianta);
#endinitclip
Symbol 724 MovieClip [piattaforma0] Frame 1
#initclip 29
Object.registerClass("piattaforma0", gngPiattaforma);
#endinitclip
Symbol 752 MovieClip [proiettile] Frame 1
#initclip 30
Object.registerClass("proiettile", gngProiettile);
#endinitclip
Symbol 752 MovieClip [proiettile] Frame 16
gotoAndPlay (1);
Symbol 752 MovieClip [proiettile] Frame 24
gotoAndPlay (17);
Symbol 752 MovieClip [proiettile] Frame 34
gotoAndPlay (27);
Symbol 752 MovieClip [proiettile] Frame 42
gotoAndPlay (35);
Symbol 772 MovieClip [punti] Frame 1
#initclip 31
Object.registerClass("punti", gngPunti);
#endinitclip
Symbol 793 MovieClip [uccello] Frame 1
#initclip 32
Object.registerClass("uccello", gngUccello);
#endinitclip
Symbol 813 MovieClip Frame 1
stop();
Symbol 845 MovieClip [vaso_d] Frame 1
#initclip 33
Object.registerClass("vaso_d", gngVaso);
#endinitclip
Symbol 863 MovieClip [zombi] Frame 1
#initclip 34
Object.registerClass("zombi", gngZombi);
#endinitclip
Symbol 898 MovieClip [__Packages.gngArma] Frame 0
class gngArma extends MovieClip
{
var tipo, gotoAndStop, direzione, velocita, percorso, gravita, frameBase, _x, _y, numero, removeMovieClip;
function gngArma () {
super();
switch (tipo) {
case 0 :
gotoAndStop(1 + (direzione ? 1 : 0));
velocita = (direzione ? -6 : 6);
percorso = 40;
break;
case 2 :
gotoAndStop(16 + (direzione ? 1 : 0));
velocita = (direzione ? -6 : 6);
percorso = 36;
break;
case 4 :
gotoAndStop(18 + (direzione ? 1 : 0));
velocita = (direzione ? -6 : 6);
percorso = 12;
break;
case 1 :
gotoAndStop(3);
velocita = (direzione ? -5 : 5);
percorso = 80;
gravita = 0;
frameBase = 3;
break;
case 3 :
gotoAndStop(12);
velocita = (direzione ? -5 : 5);
percorso = 80;
gravita = 0;
frameBase = 12;
}
}
function onEnterFrame() {
_x = _x + velocita;
percorso--;
if (percorso == 0) {
if ((tipo == 2) || (tipo == 4)) {
var _local3 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("esplosione", "e" + _local3, _local3, {_x:_x, _y:_y, frameIniziale:22, durata:12});
}
rimuovi();
}
if (gng.mapf[_y >> 4][_x >> 4] & 8) {
if (gng.mapf[_y >> 4][_x >> 4] > 65535) {
var _local2 = (gng.mapf[_y >> 4][_x >> 4] >> 16) - 1;
gngSchermo.colpiLapide[_local2]++;
gng.suoni[12].start();
if (gngSchermo.colpiLapide[_local2] == 15) {
var _local3 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("mago", "mg" + _local3, _local3, {_x:((_x >> 4) * 16) + 8, _y:(_y >> 4) * 16});
}
}
var _local3 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("esplosione", "e" + _local3, _local3, {_x:_x, _y:_y, frameIniziale:6, durata:12});
rimuovi();
}
if ((tipo == 1) || (tipo == 3)) {
if (velocita) {
gotoAndStop(frameBase + ((percorso >> 1) & 3));
if ((gravita < 4) && (percorso < 70)) {
gravita = gravita + 0.3;
}
if (gng.mapf[_y >> 4][_x >> 4] & 1) {
if (tipo == 1) {
gravita = 0;
velocita = 0;
percorso = 32;
gng.suoni[21].start();
} else {
rimuovi();
}
}
if (_y > gng.high_y) {
rimuovi();
}
} else {
gotoAndStop((8 + ((1 - (percorso >> 4)) * 2)) + ((gng.orologio >> 1) & 1));
}
_y = _y + gravita;
}
}
function rimuovi() {
gngOmino.armiPresenti--;
gngOmino.armiAttive[numero] = null;
removeMovieClip();
}
}
Symbol 899 MovieClip [__Packages.gng] Frame 0
class gng extends MovieClip
{
static var livelli, bg, fase, omino, schermo, suoni, orologio, livello, lives, punti, ppvita, mapx, mapy, tempo, low_x, high_x, highs_x, high_y, faseuscita, map, mapf;
function gng () {
super();
livelli = new Array();
livelli[0] = "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101747575757879797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979798D758C7979797979797979797979799EA0A0A0A0A4A601010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101747575758679797A797979797979797979797979797979878687867979797979797979797979797979797979797979797979797979797979797979797979798B758E8679797A797979797979799EA0A0A0A0A0A4A601010101010101013C3D01013C3E010101013C3D01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101013C3D01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101017676757578787B7A98997979797979798785858679797575757578788F987A887886797979797979878585867979797979797979878585867979797979877589017486887B7A7A8879799E9FA0A0A0A0A0A0A4A6010101010101010138390101383A3B0101013839010101010101010101010101010101010101010101011501010101010101010101010101010101010101010101010101010101010101010101010101010138390101010101010101010101010101010101010101010101010101010101010101010101016C01010101016C0101010101010101016C01010101017775757C7E8096978687868785859A9B9A9C868776747575757C7E80909775758687858586879A9B9A9C86797979797987889A9B9A9C85858586878E8A010101777C7E8090978687A2A0A0A0A0A0A0A0A4A60101010101010131323334353633370101313233370101010101010101010101010101010101010F011214130101010101011216151301010101010F0101151301010101151301010101010101010101013136333701010101010101010101010101010101010101010101010101010101010101016B01727370016B0172737101010101016B01726F71016B0172737475757B807F7D75758A7475757B807F7D7589016B8E8E75757B807F7D75757589747575757B807F7D75867979788575757B807F7D75757589767273716B7273747B807F7D7575A3A1A1A1A1A1A1A1A5A601010101010101010101010101010101010101010101010101010101010101010101010101010D0E0D1D11184F500D30171B101A1A0D0D304F500D0E171B1A0D0D304F501A0D01010101010101010101010101010101010101010101010101010101010101010101010101010101010101016C016E6F706E6F706E6F706E6F70010101016E6F706E6F706E6F706E6F7076778180907575916F707674818090758A016E6F7166767481809075759176010176767781809075898A01018E8A76918180907575918A01016E6F706F6E6F70818090757591A2A0A0A0A0A0A0A0A4A70101010101010101010101010101010101010101010101010101010101010101010101010123030303030303494E03030303030303030303494E0303030303030303494E0303080101010101010101010101010101010101010101010101010101010101010101010101010101010101016B676D6E6F7066676D6E6F7066676D0101016B6E6F7066676D6E6F016B676D6E6F838082768A666701010183808276676D6E6F7066016B838082768A660101016B6E6F838082767173016B6E6F7066838082768A666F70016B676D6F70676D838082768A66A2A0A0A0A0A0A0A0A4A60708010101010101010101010101010101010101010101010101010101010101010101012443423F44444444484D44444444444444444444484D4444444444444444484D3F06090A01010101010101010101010101010101010101010101010101010101010101010101010101010101686967696A67666667696A6766666769010168696A67666667696A67686967696A67928084016766670101019280840167696A6766666869928084016766010168696A6792808401016768696A67016692808401676667016869676967016769928084016766A2A0ABACAFB2A0A0A4A606090A0101010101010115010101010101010101010101010101010112160101010101254342402F2E2F2E2F474C2E2F2E2F2E2F2E2F2E2F474C2E2F2E2F2E2F2E2F474C2F0506090B010101010101010101010101010101010101011216010101010101010101010101010101010101016667660167666667660167666667660101016601676666676601670166676601679280840167666701010192808401676601676666016692808401676601010166016792808401016701660167016692808401676667010166676667016766928084016766A2A0ABADB0B3A0A0A4A60506090B01010F01011214130F01010112160101151301010101010F121413010101243F40412E2C2E2C2E2C464B2E2C2E2C2E2C2E2C2E2C464B2E2C2E2C2E2C2E2C464B2C0419050C0A010101010F0112160101151301010101010F1226130101010F01121601010101010101010101016465640165646465640165646465640101016401656464656401650164656401659394950165646501010193949501656401656464016493949501656401010164016593949501016501640165016493949501656465010164656465016564939495016564A2A0ABACAFB2A0A0A4A60419050C0A0D0E0D100D11170E0D0D1F181A1B1B1A1C1D1E0D220D0E2011100D0D292B2A2B2A2B2A2B2A2B2A454A2B2A2B2A2B2A2B2A2B2A454A2B2A2B2A2B2A2B2A454A2B2A2B2A2A2D28210D220E0D181A1B1B1A1C1D1E0D220D0E2011100D0D270E0D0D11515201010101010101565151515151515151515152565151525651515151515151515151515151515151515157585951515151515256575859515A5A5A5A5A5A5A5A5E5F605D5D5D52565B5B5B5B6162635B5C5C5C5C5C5C5C5C6162635B5D5D5D5D5A5A5A5A5D5D5D5D6162635B5C5CA8A9AAAEB1B4A9A9B5B603030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303530101010101010155030303030303030303035355030353550303030303030303030303030303030303030303030303030303535503030303030303030303030303030303030353550303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020254545454545454545402020202020202020202545402025454020202020202020202020202020202020202020202020202020254540202020202020202020202020202020202025454020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202";
gngPunti.valori = new Array(0, 500, 200, 100, 800, 1000, 2000, 5000, 400, 10000, 3000);
gngRaccoglibile.punti = new Array(0, 0, 1, 2, 2, 3, 4, 5, 6, 7, 2, 8, 8, 8, 8, 8, 9, 9);
gngRaccoglibile.lampeggio = new Array(3);
gngRaccoglibile.lampeggio[0] = new flash.geom.ColorTransform();
gngRaccoglibile.lampeggio[1] = new flash.geom.ColorTransform();
gngRaccoglibile.lampeggio[2] = new flash.geom.ColorTransform();
gngRaccoglibile.lampeggio[0].greenOffset = 80;
gngRaccoglibile.lampeggio[1].redOffset = 80;
gngRaccoglibile.lampeggio[2].blueOffset = 80;
var _local3;
gngFantasmaLancia.curva = new Array(0, 10, 18, 25, 27, 29, 30, 31, 32, 31, 30, 29, 27, 24, 18, 10);
gngUccello.tabella = new Array(32);
gngFantasmaScudo.tabella = new Array(64);
_local3 = 0;
while (_local3 < 32) {
gngUccello.tabella[_local3] = -8 + (16 * Math.sin((_local3 / 32) * Math.PI));
_local3++;
}
_local3 = 0;
while (_local3 < 64) {
gngFantasmaScudo.tabella[_local3] = -20 + (40 * Math.sin((_local3 / 32) * Math.PI));
_local3++;
}
bg = _root.createEmptyMovieClip("bg", 0);
fase = 0;
omino = new gngOmino();
schermo = new gngSchermo();
var _local4 = new Array("salto", "caduta", "armasnd", "soldi", "zombiesnd", "uccellosnd", "kill", "ukill", "proiettilegarg", "mappasnd", "scheletro", "bg1", "colpolapide", "perditaarmatura", "magosnd", "trasfrana", "rana", "gargoylesnd", "raccarmatura", "fantasmascudosnd", "fantasmasnd", "fiammata", "saltoboss", "morteboss", "keysnd", "portasnd", "bossbg", "timeout", "nuovavita", "gameover", "start", "cheat");
suoni = new Array();
_local3 = 0;
while (_local3 < _local4.length) {
trace((_local3 + "=") + _local4[_local3]);
suoni[_local3] = new Sound();
suoni[_local3].attachSound(_local4[_local3]);
_local3++;
}
initgame();
}
static function initgame() {
orologio = 0;
livello = 1;
lives = 2;
punti = 0;
ppvita = 19999;
gngOmino.tipoArma = 0;
_root.ui.removeMovieClip();
_root.attachMovie("intro", "intro", 10000);
}
function initlevel() {
mapx = 224;
mapy = 14;
mappaLetta(livelli[0]);
}
function onEnterFrame() {
switch (fase) {
case 0 :
if (Key.isDown(13) || (Key.isDown(83))) {
fase = 5;
_root.intro.gotoAndPlay(2);
suoni[30].start();
}
break;
case 1 :
initlevel();
fase = 4;
break;
case 9 :
_root.attachMovie("mappa", "mappa", 14000, {_x:32, _y:64});
_root.attachMovie("get_ready", "ready", 14001, {_x:54, _y:102});
suoni[9].start();
orologio = 0;
fase = 10;
var _local4;
if (livello == 1) {
_local4 = ((gngSchermo.checkpoint == 0) ? -4 : 36);
}
_root.mappa.head_mc._x = _local4;
break;
case 10 :
orologio++;
if ((orologio > 50) && (orologio < 200)) {
_root.mappa._x--;
}
if (orologio > 250) {
fase = 4;
_root.mappa.removeMovieClip();
_root.ready.removeMovieClip();
}
break;
case 4 :
gngZombi.presenti = 0;
gngFantasmaLancia.presenti = 0;
schermo.aggiungiSpritesFissi();
addscore(0);
orologio = 0;
omino.init();
tempo = 120;
gngOmino.px = gngSchermo.checkpoints[gngSchermo.checkpoint];
gngOmino.py = 192;
low_x = gngOmino.px - 128;
high_x = 3576;
highs_x = (high_x - 256) + 8;
high_y = 256;
_root.ui.lives_mc.gotoAndStop(lives + 1);
fase = 3;
suoni[11].start(0, 99);
case 3 :
orologio++;
if (orologio == 50) {
orologio = 0;
aggiornatempo();
}
omino.aggiorna();
schermo.aggiorna();
schermo.sprites();
break;
case 5 :
if (_root.intro._currentframe == 400) {
_root.intro.removeMovieClip();
_root.attachMovie("ui", "ui", 13333);
_root.ui.msg_mc._visible = false;
fase = 1;
}
break;
case 6 :
fase = 8;
faseuscita = 0;
orologio = 0;
break;
case 7 :
orologio++;
if (Key.isDown(32) || (orologio > 330)) {
var _local3;
for (_local3 in bg) {
if (bg[_local3].getDepth() > 99) {
bg[_local3].removeMovieClip();
}
}
fase = 0;
suoni[29].stop();
initgame();
}
break;
case 8 :
switch (faseuscita) {
case 0 :
gngOmino.avanza();
schermo.aggiorna();
if (gngOmino.px > 3413) {
faseuscita = 1;
gngOmino.clip.gotoAndStop(67);
gngOmino.armatura = 32;
bg.attachMovie("porta", "porta", 19, {_x:3456, _y:128});
bg.porta.gotoAndStop(1);
suoni[25].start();
}
break;
case 1 :
orologio++;
if (orologio == 50) {
bg.porta.gotoAndStop(2);
}
if (orologio > 100) {
faseuscita = 2;
}
break;
case 2 :
gngOmino.avanza();
schermo.aggiorna();
if (gngOmino.px <= 3500) {
break;
}
_root.attachMovie("ending", "ending", 14000);
faseuscita = 3;
bg.porta.removeMovieClip();
suoni[9].start();
}
}
}
static function addscore(quanto) {
punti = punti + quanto;
if (punti > ppvita) {
ppvita = ppvita + 20000;
suoni[28].start();
lives++;
_root.ui.lives_mc.gotoAndStop(lives + 1);
}
var _local4 = punti.toString();
var _local2;
var _local3 = _local4.length;
_local2 = 0;
while (_local2 < 6) {
if (_local2 < _local3) {
_root.ui["p" + _local2].gotoAndStop(_local4.charCodeAt((_local3 - _local2) - 1) - 47);
_root.ui["p" + _local2]._visible = true;
} else {
_root.ui["p" + _local2]._visible = false;
}
_local2++;
}
}
function mappaLetta(src) {
var _local2;
var _local1;
map = new Array(mapy);
mapf = new Array(mapy);
_local2 = 0;
while (_local2 < mapy) {
map[_local2] = new Array(mapx);
mapf[_local2] = new Array(mapx);
_local1 = 0;
while (_local1 < mapx) {
map[_local2][_local1] = parseInt(src.substr(((_local2 * mapx) + _local1) * 2, 2), 16);
if (map[_local2][_local1] == 3) {
mapf[_local2][_local1] = 1;
} else {
mapf[_local2][_local1] = 0;
}
if ((map[_local2][_local1] > 68) && (map[_local2][_local1] < 79)) {
mapf[_local2][_local1] = 2;
}
if ((map[_local2][_local1] == 73) || (map[_local2][_local1] == 78)) {
mapf[_local2][_local1] = 3;
}
_local1++;
}
_local2++;
}
schermo.creaSfondo(map, bg);
}
static function stopmusic() {
suoni[11].stop();
suoni[26].stop();
suoni[27].stop();
}
function aggiornatempo() {
tempo--;
if (tempo == 15) {
stopmusic();
suoni[27].start(0, 99);
}
if (tempo == 0) {
gngOmino.stato = 13;
gngOmino.inscheletro = 63;
suoni[27].stop();
}
var _local4 = Math.floor(tempo / 60);
var _local3 = Math.floor(tempo / 10) % 6;
var _local2 = tempo % 10;
_root.ui.t2.gotoAndStop(1 + _local4);
_root.ui.t1.gotoAndStop(1 + _local3);
_root.ui.t0.gotoAndStop(1 + _local2);
}
}
Symbol 900 MovieClip [__Packages.gngOmino] Frame 0
class gngOmino
{
static var clip, tipoArma, cheatmode, stato, direzione, possoSaltare, ritardoArma, contArma, armiPresenti, maxArmi, armiAttive, armatura, invulnerabile, ranatimer, px, py, suPiattaforma, saltoVel, scaval, inscheletro, lancio, sparoSalt;
function gngOmino () {
clip = gng.bg.attachMovie("arthur", "omino", 20);
tipoArma = 0;
cheatmode = false;
}
function init() {
stato = 0;
direzione = 0;
possoSaltare = true;
ritardoArma = 0;
contArma = 0;
armiPresenti = 0;
maxArmi = 3;
armiAttive = new Array(3);
armatura = 32;
invulnerabile = 0;
ranatimer = 0;
_root.ui.arma_mc.gotoAndStop(tipoArma + 1);
clip._visible = true;
}
function aggiorna() {
var _local4 = false;
var _local3;
if (ritardoArma > 0) {
ritardoArma--;
}
if (invulnerabile) {
invulnerabile--;
clip._visible = !clip._visible;
}
if (Key.isDown(75)) {
if (!cheatmode) {
gng.suoni[31].start();
}
cheatmode = true;
}
if (Key.isDown(76)) {
cheatmode = false;
}
switch (stato) {
case 14 :
ranatimer++;
clip._visible = !clip._visible;
if (ranatimer < 10) {
clip.gotoAndStop(68 + (5 * (direzione > 0)));
} else {
clip.gotoAndStop(69 + (5 * (direzione > 0)));
}
if (ranatimer == 20) {
stato = 15;
}
break;
case 15 :
ranatimer++;
if (ranatimer == 180) {
stato = 16;
gng.suoni[15].start();
}
if (Key.isDown(39) && (px < gng.high_x)) {
if ((gng.mapf[(py >> 4) - 1][(px + 8) >> 4] & 8) == 0) {
px = px + 2;
_local4 = true;
direzione = 0;
}
}
if (Key.isDown(37) && (px > gng.low_x)) {
if ((gng.mapf[(py >> 4) - 1][(px - 8) >> 4] & 8) == 0) {
px = px - 2;
_local4 = true;
direzione = 17;
}
}
if (_local4) {
_local3 = (69 + ((px / 8) % 4)) + (5 * (direzione > 0));
if ((ranatimer % 16) == 0) {
gng.suoni[16].start();
}
} else {
_local3 = 69 + (5 * (direzione > 0));
}
if (((gng.mapf[py >> 4][px >> 4] & 1) == 0) && (!suPiattaforma)) {
stato = 1;
}
clip.gotoAndStop(_local3);
break;
case 16 :
ranatimer++;
clip._visible = !clip._visible;
if (ranatimer < 190) {
clip.gotoAndStop(69 + (5 * (direzione > 0)));
} else {
clip.gotoAndStop(68 + (5 * (direzione > 0)));
}
if (ranatimer == 200) {
stato = 0;
ranatimer = 0;
}
break;
case 0 :
if (Key.isDown(39) && (px < gng.high_x)) {
if ((gng.mapf[(py >> 4) - 1][(px + 8) >> 4] & 8) == 0) {
px = px + 2;
_local4 = true;
direzione = 0;
}
}
if (Key.isDown(37) && (px > gng.low_x)) {
if ((gng.mapf[(py >> 4) - 1][(px - 8) >> 4] & 8) == 0) {
px = px - 2;
_local4 = true;
direzione = 17;
}
}
if (_local4) {
_local3 = ((1 + ((px / 4) % 4)) + direzione) + armatura;
} else {
_local3 = (5 + direzione) + armatura;
}
if (((gng.mapf[py >> 4][px >> 4] & 1) == 0) && (!suPiattaforma)) {
stato = 1;
}
if (Key.isDown(16) || (Key.isDown(90))) {
if (possoSaltare) {
gng.suoni[0].start();
possoSaltare = false;
suPiattaforma = false;
saltoVel = -5.4;
if (_local4) {
stato = 6;
_local3 = (6 + direzione) + armatura;
} else {
stato = 2;
_local3 = (7 + direzione) + armatura;
}
}
} else {
possoSaltare = true;
}
if (((Key.isDown(17) || (Key.isDown(88))) && (ritardoArma == 0)) && (armiPresenti < maxArmi)) {
stato = 9;
_local3 = (9 + direzione) + armatura;
aggArma(20);
}
if (Key.isDown(38)) {
if (gng.mapf[(py >> 4) - 1][px >> 4] & 2) {
if (gng.mapf[(py >> 4) - 1][(px >> 4) + 1] == 2) {
px = ((px >> 4) * 16) + 16;
} else {
px = (px >> 4) * 16;
}
stato = 4;
_local3 = 14 + armatura;
}
}
if (Key.isDown(40)) {
if (gng.mapf[py >> 4][px >> 4] == 3) {
if (gng.mapf[py >> 4][(px >> 4) + 1] == 3) {
px = ((px >> 4) * 16) + 16;
} else {
px = (px >> 4) * 16;
}
stato = 5;
_local3 = 17 + armatura;
scaval = 0;
} else {
stato = 3;
_local3 = (8 + direzione) + armatura;
scaval = 12;
}
}
clip.gotoAndStop(_local3);
break;
case 1 :
py = py + 4;
if ((gng.mapf[py >> 4][px >> 4] & 1) || (suPiattaforma)) {
stato = ((ranatimer > 0) ? 15 : 0);
}
if (py > gng.high_y) {
stato = 13;
inscheletro = 0;
gng.stopmusic();
gng.suoni[10].start();
}
break;
case 4 :
_local3 = (14 + ((py >> 3) % 2)) + armatura;
if (Key.isDown(40)) {
py = py + 2;
if (gng.mapf[py >> 4][px >> 4] & 1) {
stato = 0;
_local3 = 5 + direzione;
}
}
if (Key.isDown(38)) {
py = py - 2;
if (gng.mapf[py >> 4][px >> 4] == 3) {
stato = 5;
_local3 = 16 + armatura;
scaval = 7;
py = py - 14;
}
}
clip.gotoAndStop(_local3);
break;
case 5 :
_local3 = (17 - (scaval >> 2)) + armatura;
if (Key.isDown(38)) {
scaval--;
if (scaval == 0) {
stato = 0;
_local3 = (5 + direzione) + armatura;
}
}
if (Key.isDown(40)) {
scaval++;
if (scaval == 8) {
stato = 4;
_local3 = 13;
py = py + 14;
}
}
clip.gotoAndStop(_local3);
break;
case 2 :
sparoSaltando();
py = py + saltoVel;
saltoVel = saltoVel + 0.4;
if (saltoVel > 0) {
stato = 7;
}
break;
case 7 :
sparoSaltando();
py = py + saltoVel;
saltoVel = saltoVel + 0.4;
if (saltoVel > 4) {
saltoVel = 4;
}
if (gng.mapf[py >> 4][px >> 4] & 1) {
gng.suoni[1].start();
stato = 0;
py = (py >> 4) << 4;
}
if (suPiattaforma) {
stato = 0;
gng.suoni[1].start();
}
if (py > gng.high_y) {
stato = 13;
inscheletro = 0;
gng.stopmusic();
gng.suoni[10].start();
}
break;
case 6 :
sparoSaltando();
if (direzione) {
if ((px > gng.low_x) && (gng.mapf[((py + saltoVel) >> 4) - 1][(px - 8) >> 4] != 9)) {
px = px - 2;
}
} else if ((px < gng.high_x) && (gng.mapf[((py + saltoVel) >> 4) - 1][(px + 8) >> 4] != 9)) {
px = px + 2;
}
py = py + saltoVel;
saltoVel = saltoVel + 0.4;
if (saltoVel > 0) {
stato = 8;
}
break;
case 8 :
sparoSaltando();
if (direzione) {
if ((px > gng.low_x) && (gng.mapf[((py + saltoVel) >> 4) - 1][(px - 8) >> 4] != 9)) {
px = px - 2;
}
} else if ((px < gng.high_x) && (gng.mapf[((py + saltoVel) >> 4) - 1][(px + 8) >> 4] != 9)) {
px = px + 2;
}
py = py + saltoVel;
saltoVel = saltoVel + 0.4;
if (saltoVel > 4) {
saltoVel = 4;
}
if (gng.mapf[py >> 4][px >> 4] & 1) {
stato = 0;
py = (py >> 4) << 4;
px = px & 65534;
gng.suoni[1].start();
}
if (suPiattaforma) {
stato = 0;
gng.suoni[1].start();
}
if (py > gng.high_y) {
stato = 13;
inscheletro = 0;
gng.stopmusic();
gng.suoni[10].start();
}
break;
case 3 :
if (!Key.isDown(40)) {
scaval--;
if (scaval < 1) {
stato = 0;
clip.gotoAndStop((5 + direzione) + armatura);
}
}
if (((Key.isDown(17) || (Key.isDown(88))) && (ritardoArma == 0)) && (armiPresenti < maxArmi)) {
stato = 10;
_local3 = (11 + direzione) + armatura;
aggArma(10);
}
break;
case 9 :
if (lancio > 7) {
clip.gotoAndStop((5 + direzione) + armatura);
stato = 0;
} else {
clip.gotoAndStop(((9 + (lancio >> 2)) + direzione) + armatura);
}
lancio++;
break;
case 10 :
if (lancio > 7) {
clip.gotoAndStop((8 + direzione) + armatura);
stato = 3;
} else {
clip.gotoAndStop(((11 + (lancio >> 2)) + direzione) + armatura);
}
lancio++;
break;
case 11 :
if (direzione) {
if ((px > gng.low_x) && (gng.mapf[((py + saltoVel) >> 4) - 1][(px - 8) >> 4] != 9)) {
px = px - 2;
}
} else if ((px < gng.high_x) && (gng.mapf[((py + saltoVel) >> 4) - 1][(px + 8) >> 4] != 9)) {
px = px + 2;
}
py = py + saltoVel;
saltoVel = saltoVel + 0.4;
if (saltoVel > 0) {
stato = 12;
}
clip.gotoAndStop(62 + (inscheletro >> 3));
inscheletro++;
if (inscheletro > 16) {
stato = 12;
}
break;
case 12 :
if (direzione) {
if ((px > gng.low_x) && (gng.mapf[((py + saltoVel) >> 4) - 1][(px - 8) >> 4] != 9)) {
px = px - 2;
}
} else if ((px < gng.high_x) && (gng.mapf[((py + saltoVel) >> 4) - 1][(px + 8) >> 4] != 9)) {
px = px + 2;
}
py = py + saltoVel;
saltoVel = saltoVel + 0.4;
if (saltoVel > 4) {
saltoVel = 4;
}
if (gng.mapf[py >> 4][px >> 4] & 1) {
stato = 13;
py = (py >> 4) << 4;
}
if (suPiattaforma) {
stato = 13;
}
clip.gotoAndStop(62 + (inscheletro >> 3));
inscheletro++;
if (inscheletro > 32) {
stato = 13;
}
break;
case 13 :
inscheletro++;
if (inscheletro == 64) {
clip.gotoAndStop(66);
}
if (inscheletro <= 150) {
break;
}
gng.lives--;
gng.fase = ((gng.lives == -1) ? 7 : 9);
if (gng.fase != 7) {
break;
}
_root.ui.msg_mc._visible = true;
_root.ui.msg_mc.gotoAndStop(2);
gng.suoni[29].start();
}
}
function sparoSaltando() {
if (sparoSalt) {
if (lancio > 7) {
sparoSalt = false;
} else {
clip.gotoAndStop(((9 + (lancio >> 2)) + direzione) + armatura);
}
lancio++;
} else if (((Key.isDown(17) || (Key.isDown(88))) && (ritardoArma == 0)) && (armiPresenti < maxArmi)) {
aggArma(20);
sparoSalt = true;
}
}
function aggArma(altezza) {
if (armiAttive[contArma] == null) {
lancio = 0;
ritardoArma = 8;
armiPresenti++;
if ((tipoArma == 1) || (tipoArma == 3)) {
altezza = altezza + 4;
}
armiAttive[contArma] = gng.bg.attachMovie("arma", "w" + contArma, 40 + contArma, {_x:px, _y:py - altezza, numero:contArma, tipo:tipoArma, direzione:direzione > 0});
gng.suoni[2].start();
contArma++;
if (contArma >= maxArmi) {
contArma = 0;
}
}
}
static function avanza() {
px = px + 2;
clip.gotoAndStop((1 + ((px / 4) % 4)) + armatura);
}
static function colpito(daSinistra) {
if ((cheatmode || (invulnerabile)) || ((stato > 10) && (stato < 14))) {
return(undefined);
}
invulnerabile = 64;
clip.gotoAndStop(13 + direzione);
direzione = (daSinistra ? 17 : 0);
if (armatura) {
gng.suoni[13].start();
stato = 6;
armatura = 0;
saltoVel = -5.4;
var _local1 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("esplosione", "e" + _local1, _local1, {_x:px, _y:py, frameIniziale:9, durata:16});
} else {
stato = 11;
saltoVel = -5.4;
inscheletro = 0;
gng.stopmusic();
gng.suoni[10].start();
}
}
}
Symbol 901 MovieClip [__Packages.gngSchermo] Frame 0
class gngSchermo
{
static var by, raccAssente, bx, checkpoint, checkpoints, colpiLapide, nPiattaforme, piattaforme;
function gngSchermo () {
by = 0;
raccAssente = true;
}
function aggiorna() {
bx = gngOmino.px - 128;
if (bx < gng.low_x) {
bx = gng.low_x;
}
if (bx > gng.highs_x) {
bx = gng.highs_x;
}
gng.bg._x = -bx;
gngOmino.clip._x = gngOmino.px;
gngOmino.clip._y = gngOmino.py;
}
function creaSfondo() {
var _local2;
var _local3;
var _local6;
var _local10;
var _local11;
var _local9;
var _local8;
var _local14;
var _local13;
var _local12;
var _local18 = _root.createEmptyMovieClip("temp", 1000);
_local2 = 1;
while (_local2 < 256) {
_local12 = _local18.attachMovie("tile", "p" + _local2, _local2);
_local12._x = (_local2 % 16) * 16;
_local12._y = (_local2 >> 4) * 16;
_local12.gotoAndStop(_local2);
_local2++;
}
var _local15 = new flash.display.BitmapData(256, 256, false, 0);
_local15.draw(_local18);
var _local7 = new Array();
var _local4 = 0;
var _local16 = gng.mapx << 4;
var _local19 = gng.mapy << 4;
var _local17 = (gng.mapx >> 6) + 1;
var _local20 = (gng.mapy >> 6) + 1;
_local2 = 0;
while (_local2 < _local20) {
_local10 = _local19 - (1024 * _local2);
if (_local10 > 1024) {
_local10 = 1024;
}
_local3 = 0;
while (_local3 < _local17) {
_local6 = _local16 - (1024 * _local3);
if (_local6 > 1024) {
_local6 = 1024;
}
var _local5 = gng.bg.createEmptyMovieClip("p" + _local4, _local4);
_local5._x = _local3 * 1024;
_local5._y = _local2 * 1024;
_local7[_local4] = new flash.display.BitmapData(_local6, _local10, false, (_local4 * 50) + 50);
_local5.attachBitmap(_local7[_local4], 0);
_local4++;
_local3++;
}
_local2++;
}
_local2 = 0;
while (_local2 < gng.mapy) {
_local3 = 0;
while (_local3 < gng.mapx) {
_local9 = _local3 >> 6;
_local8 = _local2 >> 6;
_local11 = (_local8 * (gng.mapx >> 6)) + _local9;
_local14 = (_local3 * 16) - (1024 * _local9);
_local13 = (_local2 * 16) - (1024 * _local8);
_local7[_local11].copyPixels(_local15, new flash.geom.Rectangle((gng.map[_local2][_local3] % 16) * 16, (gng.map[_local2][_local3] >> 4) * 16, 16, 16), new flash.geom.Point(_local14, _local13));
_local3++;
}
_local2++;
}
_local15.dispose();
_local18.removeMovieClip();
checkpoint = 0;
}
function aggiungiSpritesFissi() {
var _local3;
for (_local3 in gng.bg) {
if (gng.bg[_local3].getDepth() > 99) {
gng.bg[_local3].removeMovieClip();
}
}
var _local2 = 100;
var _local1;
if (!(gng.livello === 1)) {
} else {
checkpoints = new Array(128, 1888, 9999);
colpiLapide = new Array(12);
var _local12 = new Array(48, 256, 416, 528, 752, 768, 864, 960, 960, 1104, 1264, 1520);
var _local11 = new Array(192, 192, 192, 192, 192, 112, 112, 112, 192, 192, 192, 192);
var _local13 = new Array(1, 2, 1, 3, 1, 2, 3, 3, 1, 2, 2, 3);
_local1 = 0;
while (_local1 < 12) {
var _local4 = gng.bg.attachMovie("lapide", "l" + _local1, _local2, {_x:_local12[_local1], _y:_local11[_local1]});
_local4.gotoAndStop(_local13[_local1]);
_local2++;
gng.mapf[(_local11[_local1] >> 4) - 1][_local12[_local1] >> 4] = 9 + (65536 * (_local1 + 1));
colpiLapide[_local1] = 0;
_local1++;
}
nPiattaforme = 1;
piattaforme = new Array(1);
piattaforme[0] = gng.bg.attachMovie("piattaforma0", "p0", _local2, {_x:1748, _y:196, attiva:false, velocita:-1, orizzontale:true, percorso:new Array(1648, 1760, 1704, 1760, 1648, 1704, 1648, 1760)});
_local2++;
_local12 = new Array(368, 624, 816, 1088, 1408, 2400, 3104, 1552);
_local11 = new Array(192, 112, 112, 112, 192, 192, 192, 192);
_local13 = new Array(3, 3, 3, 3, 2, 2, 3, 1);
_local1 = 0;
while (_local1 < 8) {
gng.bg.attachMovie("raccoglibile", "rc" + _local1, _local2, {_x:_local12[_local1], _y:_local11[_local1], tipo:_local13[_local1], dinamico:false});
_local2++;
_local1++;
}
if (checkpoint == 0) {
_local12 = new Array(752, 864, 1104, 1264, 1520);
_local11 = new Array(157, 77, 157, 157, 157);
_local1 = 0;
while (_local1 < 5) {
gng.bg.attachMovie("uccello", "u" + _local1, _local2, {_x:_local12[_local1], _y:_local11[_local1], attivo:false});
_local2++;
_local1++;
}
}
_local12 = new Array(816, 1104, 2320, 3104);
_local11 = new Array(112, 112, 192, 196);
_local1 = 0;
while (_local1 < 4) {
gng.bg.attachMovie("pianta", "k" + _local1, _local2, {_x:_local12[_local1], _y:_local11[_local1], attivo:false});
_local2++;
_local1++;
}
_local12 = new Array(2000, 2060, 2140);
_local1 = 0;
while (_local1 < 3) {
gng.bg.attachMovie("fantasmaScudo", "fs" + _local1, _local2, {_x:_local12[_local1], _y:111});
_local2++;
_local1++;
}
if (checkpoint == 0) {
_local1 = 0;
while (_local1 < 3) {
gng.bg.attachMovie("zombi", "z" + _local1, _local2, {attivo:false});
_local2++;
_local1++;
}
gng.bg.attachMovie("gargoyle", "ga", _local2, {_x:1504, _y:192});
_local2++;
}
_local1 = 0;
while (_local1 < 3) {
gng.bg.attachMovie("fantasmaLancia", "fl" + _local1, _local2, {attivo:false, _visible:false});
_local2++;
_local1++;
}
gng.bg.attachMovie("boss", "bs", _local2, {_x:3472, _y:192});
_local2++;
gng.bg.attachMovie("maredec", "mar", _local2, {_x:1648, _y:208});
_local2++;
_local12 = new Array(1952, 2016, 2464, 2784);
_local1 = 0;
while (_local1 < 4) {
gng.bg.attachMovie("maredec2", "m" + _local1, _local2, {_x:_local12[_local1], _y:208});
_local2++;
_local1++;
}
}
}
function sprites() {
if (!(gng.livello === 1)) {
} else {
if (gng.low_x < (gngOmino.px - 512)) {
gng.low_x = gngOmino.px - 512;
}
if (gngOmino.px > checkpoints[checkpoint + 1]) {
checkpoint++;
gng.tempo = 120;
}
piattaforme[0].attiva = (gngOmino.px > 1492) && (gngOmino.px < 2016);
gngFantasmaScudo.attivi = (gngOmino.px > 1840) && (gngOmino.px < 2300);
}
}
}
Symbol 902 MovieClip [__Packages.gngFantasmaScudo] Frame 0
class gngFantasmaScudo extends MovieClip
{
static var suono, attivi, tabella;
var portaVaso, inMovimento, contatore, basey, v, _x, hitTest, _y, gotoAndStop;
function gngFantasmaScudo () {
super();
portaVaso = false;
inMovimento = false;
contatore = 0;
basey = 100 + (Math.random() * 64);
suono = false;
if (gng.suoni[19].onSoundComplete == undefined) {
gng.suoni[19].onSoundComplete = function () {
gngFantasmaScudo.suono = false;
};
}
}
function togliVaso(scomparso) {
gngSchermo.raccAssente = scomparso;
v.removeMovieClip();
portaVaso = false;
}
function riparti() {
if (attivi) {
_x = (gngOmino.px + 270) + (16 * Math.random());
basey = 100 + (Math.random() * 64);
if (gngSchermo.raccAssente && (Math.random() < 0.15)) {
portaVaso = true;
gngSchermo.raccAssente = false;
}
contatore = 0;
inMovimento = true;
if ((gng.fase == 3) && (suono == false)) {
gng.suoni[19].start(0, 3);
suono = true;
}
}
}
function onEnterFrame() {
if (attivi || (inMovimento)) {
contatore++;
inMovimento = true;
var _local2;
if (hitTest(gngOmino.px - gngSchermo.bx, gngOmino.py - 16, false)) {
gngOmino.colpito(true);
}
_local2 = 0;
while (_local2 < gngOmino.maxArmi) {
if (gngOmino.armiAttive[_local2]) {
if (hitTest(gngOmino.armiAttive[_local2])) {
var _local3 = gng.bg.getNextHighestDepth();
if (gngOmino.armiAttive[_local2].direzione) {
gng.bg.attachMovie("esplosione", "e" + _local3, _local3, {_x:_x, _y:_y + 16, punti:0, frameIniziale:13, durata:36});
gng.addscore(100);
gng.suoni[6].start();
riparti();
if (portaVaso) {
togliVaso(false);
_local3 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("vaso_d", "vd" + _local3, _local3, {_x:_x, _y:_y});
}
} else {
gng.suoni[12].start();
gng.bg.attachMovie("esplosione", "e" + _local3, _local3, {_x:gngOmino.armiAttive[_local2]._x, _y:gngOmino.armiAttive[_local2]._y, frameIniziale:6, durata:12});
}
gngOmino.armiAttive[_local2].rimuovi();
}
}
_local2++;
}
gotoAndStop((contatore >> 3) & 3);
_x = _x - 1.5;
_y = basey + tabella[contatore % 63];
if (_x < (gngSchermo.bx - 48)) {
contatore = 0;
if (portaVaso) {
togliVaso(true);
}
riparti();
}
}
}
}
Symbol 903 MovieClip [__Packages.gngPunti] Frame 0
class gngPunti extends MovieClip
{
static var valori;
var tipo, contatore, gotoAndStop, removeMovieClip;
function gngPunti () {
super();
trace((tipo + ":") + valori[tipo]);
gng.addscore(valori[tipo]);
contatore = 80;
gotoAndStop(tipo);
}
function onEnterFrame() {
contatore--;
if (contatore == 0) {
removeMovieClip();
}
}
}
Symbol 904 MovieClip [__Packages.gngRaccoglibile] Frame 0
class gngRaccoglibile extends MovieClip
{
static var punti, lampeggio;
var gotoAndStop, tipo, trans, hitTest, _y, _x, dinamico, removeMovieClip;
function gngRaccoglibile () {
super();
gotoAndStop(tipo);
if (tipo > 2) {
trans = new flash.geom.Transform(this);
}
}
function onEnterFrame() {
if (hitTest(gngOmino.clip)) {
trace("raccolto: " + tipo);
if (tipo == 1) {
gngOmino.armatura = 32;
gng.suoni[18].start();
}
if ((tipo > 1) && (tipo < 18)) {
var _local3 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("punti", "pn" + _local3, _local3, {_x:_x, _y:_y - 8, tipo:punti[tipo]});
gng.suoni[3].start();
}
if (tipo > 17) {
gngOmino.tipoArma = tipo - 18;
_root.ui.arma_mc.gotoAndStop(gngOmino.tipoArma + 1);
if ((tipo == 19) || (tipo == 21)) {
gngOmino.maxArmi = 2;
} else {
gngOmino.maxArmi = 3;
}
}
if (dinamico) {
gngSchermo.raccAssente = true;
}
removeMovieClip();
}
if (_x < gng.low_x) {
removeMovieClip();
if (dinamico) {
gngSchermo.raccAssente = true;
}
}
if (tipo > 2) {
trans.colorTransform = lampeggio[(gng.orologio >> 1) & 3];
}
}
}
Symbol 905 MovieClip [__Packages.gngFantasmaLancia] Frame 0
class gngFantasmaLancia extends MovieClip
{
static var presenti, curva;
var portaVaso, suono, v, fase, attivo, _visible, hitTest, versoSinistra, _y, _x, contatore, gotoAndStop, attachMovie, sparizione, arrivox, osx, _xscale, step, basex, vy;
function gngFantasmaLancia () {
super();
portaVaso = false;
suono = false;
}
function togliVaso(scomparso) {
gngSchermo.raccAssente = scomparso;
v.removeMovieClip();
portaVaso = false;
}
function sparisci() {
fase = 0;
attivo = false;
suono = false;
presenti--;
_visible = false;
}
function controlli() {
var _local3;
if (hitTest(gngOmino.px - gngSchermo.bx, gngOmino.py - 12, false)) {
gngOmino.colpito(versoSinistra);
}
_local3 = 0;
while (_local3 < gngOmino.maxArmi) {
if (gngOmino.armiAttive[_local3]) {
if (hitTest(gngOmino.armiAttive[_local3])) {
var _local2 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("esplosione", "e" + _local2, _local2, {_x:_x, _y:_y + 8, punti:0, frameIniziale:13, durata:36});
gngOmino.armiAttive[_local3].rimuovi();
gng.addscore(100);
gng.suoni[6].start();
fase = 0;
attivo = false;
presenti--;
_visible = false;
if (portaVaso) {
togliVaso(false);
_local2 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("vaso_d", "vd" + _local2, _local2, {_x:_x, _y:_y});
}
}
}
_local3++;
}
}
function onEnterFrame() {
if (attivo) {
contatore++;
switch (fase) {
case 0 :
gotoAndStop(1 + (contatore >> 3));
if (contatore == 32) {
fase = 1;
if (portaVaso) {
attachMovie("vaso_s", "v", 1);
v._y = 20;
}
}
break;
case 1 :
controlli();
gotoAndStop(5 + ((contatore >> 3) & 1));
if (versoSinistra) {
_x = _x - 2.5;
if (sparizione) {
if (_x < (gngSchermo.bx - 48)) {
sparisci();
}
} else if (_x < arrivox) {
fase = 2;
}
} else {
_x = _x + 2.5;
if (sparizione) {
if (_x > (gngSchermo.bx + 256)) {
sparisci();
}
} else if (_x > arrivox) {
fase = 2;
}
}
if ((Math.random() > 0.98) && (contatore > 100)) {
fase = 6;
contatore = 0;
osx = _xscale;
if (_x < gngOmino.px) {
_xscale = -100;
} else {
_xscale = 100;
}
}
break;
case 2 :
if (sparizione) {
} else {
fase = ((Math.random() > 0.66) ? 4 : 3);
}
break;
case 3 :
step = 0;
basex = _x;
if (_y < 140) {
vy = 2;
} else {
vy = -2;
}
fase = 5;
if (suono == false) {
gng.suoni[20].start();
suono = true;
}
break;
case 4 :
sparizione = true;
fase = 1;
break;
case 5 :
controlli();
_y = _y + vy;
if (versoSinistra) {
_x = basex - curva[step];
} else {
_x = basex + curva[step];
}
gotoAndStop(8 + (step >> 3));
step++;
if (step == 16) {
fase = 1;
gotoAndStop(5);
if (versoSinistra) {
versoSinistra = false;
_xscale = -100;
arrivox = basex + ((Math.random() * 90) + 60);
} else {
versoSinistra = true;
_xscale = 100;
arrivox = basex - ((Math.random() * 90) + 60);
}
}
break;
case 6 :
controlli();
contatore++;
if (contatore == 12) {
var _local2 = gng.bg.getNextHighestDepth();
if (Math.random() > 0.8) {
var _local3 = _x + ((_xscale < 0) ? 12 : -12);
gng.bg.attachMovie("proiettile", "bl" + _local2, _local2, {_x:_local3, _y:_y, frameIniziale:26, animato:false, vx:0, vy:3});
} else {
var _local3 = ((_xscale < 0) ? 3 : -3);
gng.bg.attachMovie("proiettile", "bl" + _local2, _local2, {_x:_x, _y:_y + 10, _xscale:_xscale, frameIniziale:25, animato:false, vx:_local3, vy:0});
}
gotoAndStop(7);
}
if (contatore != 24) {
break;
}
fase = 1;
_xscale = osx;
}
} else if ((((gngOmino.px > 2440) && (gngOmino.px < 3100)) && (presenti < 3)) && (Math.random() < 0.04)) {
attivo = true;
presenti++;
if (Math.random() > 0.75) {
_x = (gngOmino.px + 64) + (256 * Math.random());
versoSinistra = true;
_xscale = 100;
arrivox = _x - ((Math.random() * 90) + 60);
} else {
_x = (gngOmino.px - 32) - (128 * Math.random());
versoSinistra = false;
_xscale = -100;
arrivox = _x + ((Math.random() * 90) + 60);
}
_y = 160 - (Math.random() * 108);
if (gngSchermo.raccAssente && (Math.random() < 2.15)) {
portaVaso = true;
gngSchermo.raccAssente = false;
}
gotoAndStop(1);
fase = 0;
contatore = 0;
_visible = true;
sparizione = false;
}
}
}
Symbol 906 MovieClip [__Packages.gngUccello] Frame 0
class gngUccello extends MovieClip
{
static var tabella;
var stop, oy, _y, contatore, attivo, hitTest, velocita, _x, removeMovieClip, gotoAndStop, frame;
function gngUccello () {
super();
stop();
oy = _y;
contatore = -Math.floor(Math.random() * 64);
}
function onEnterFrame() {
var _local2;
if (attivo) {
if (hitTest(gngOmino.clip)) {
gngOmino.colpito(velocita < 0);
}
_local2 = 0;
while (_local2 < gngOmino.maxArmi) {
if (gngOmino.armiAttive[_local2]) {
if (hitTest(gngOmino.armiAttive[_local2])) {
var _local3 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("esplosione", "e" + _local3, _local3, {_x:_x + 8, _y:_y + 8, _xscale:(gngOmino.armiAttive[_local2].direzione ? 100 : -100), frameIniziale:1, durata:20});
removeMovieClip();
gng.suoni[7].start();
gngOmino.armiAttive[_local2].rimuovi();
gng.addscore(100);
}
}
_local2++;
}
contatore++;
if ((contatore > 0) && (contatore < 32)) {
if (contatore == 4) {
gng.suoni[5].start();
}
gotoAndStop(1 + (contatore >> 3));
if (contatore == 31) {
if (gngOmino.px > _x) {
velocita = 2;
frame = 9;
} else {
velocita = -2;
frame = 5;
}
}
} else if (contatore > 31) {
_x = _x + velocita;
_y = oy - tabella[contatore % 31];
if ((_x < gngSchermo.bx) || (_x > (gngSchermo.bx + 256))) {
removeMovieClip();
}
gotoAndStop(frame + ((contatore >> 2) & 3));
}
} else {
attivo = (false ? true : ((_x - gngOmino.px) < 128));
}
}
}
Symbol 907 MovieClip [__Packages.gngZombi] Frame 0
class gngZombi extends MovieClip
{
static var presenti;
var portaVaso, v, attivo, contatore, fase, gotoAndStop, attachMovie, hitTest, versoSinistra, _y, _x, _visible, velocita, arrivox, _xscale;
function gngZombi () {
super();
portaVaso = false;
}
function togliVaso(scomparso) {
gngSchermo.raccAssente = scomparso;
v.removeMovieClip();
portaVaso = false;
}
function onEnterFrame() {
if (attivo) {
contatore++;
switch (fase) {
case 0 :
gotoAndStop(1 + (contatore >> 3));
if (contatore == 48) {
fase = 1;
if (portaVaso) {
attachMovie("vaso_s", "v", 1);
}
}
break;
case 1 :
var _local2;
if (hitTest(gngOmino.px - gngSchermo.bx, gngOmino.py - 12, false)) {
gngOmino.colpito(versoSinistra);
}
_local2 = 0;
while (_local2 < gngOmino.maxArmi) {
if (gngOmino.armiAttive[_local2]) {
if (hitTest(gngOmino.armiAttive[_local2])) {
var _local3 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("esplosione", "e" + _local3, _local3, {_x:_x + 8, _y:_y - 16, _xscale:(gngOmino.armiAttive[_local2].direzione ? 100 : -100), frameIniziale:1, durata:20});
gngOmino.armiAttive[_local2].rimuovi();
gng.addscore(200);
fase = 0;
attivo = false;
presenti--;
_visible = false;
gng.suoni[6].start();
if (portaVaso) {
togliVaso(false);
_local3 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("vaso_d", "vd" + _local3, _local3, {_x:_x, _y:_y});
}
}
}
_local2++;
}
gotoAndStop(7 + ((contatore >> 3) & 3));
if (versoSinistra) {
_x = _x - velocita;
if (_x < arrivox) {
fase = 2;
contatore = 0;
if (portaVaso) {
togliVaso(true);
}
}
} else {
_x = _x + velocita;
if (_x > arrivox) {
fase = 2;
contatore = 0;
if (portaVaso) {
togliVaso(true);
}
}
}
break;
case 2 :
gotoAndStop(6 - (contatore >> 3));
if (contatore != 48) {
break;
}
fase = 0;
attivo = false;
presenti--;
_visible = false;
}
} else if (((gngOmino.px < 1200) && (presenti < 3)) && (Math.random() < 0.04)) {
attivo = true;
presenti++;
_x = (gngOmino.px - 128) + (256 * Math.random());
if (gngOmino.px < 512) {
_y = 192;
} else if (Math.random() > 0.5) {
_y = 192;
} else {
_y = 112;
}
var _local9 = 80 + (176 * Math.random());
velocita = 1.5 + ((120 - gng.tempo) / 60);
velocita = ((velocita > 2.5) ? 2.5 : (velocita));
if (Math.random() > 0.5) {
arrivox = _x + (_local9 * ((Math.random() > 0.5) ? -1 : 1));
} else {
arrivox = _x + (_local9 * ((gngOmino.px < _x) ? -1 : 1));
}
if (_y == 112) {
if (_x > 1104) {
_x = 1104;
}
if (_x < 624) {
_x = 624;
}
if (arrivox > 1120) {
arrivox = 1120;
}
if (arrivox < 608) {
arrivox = 608;
}
}
if (_x > arrivox) {
_xscale = 100;
versoSinistra = true;
} else {
_xscale = -100;
versoSinistra = false;
}
if (gngSchermo.raccAssente && (Math.random() < 0.15)) {
portaVaso = true;
gngSchermo.raccAssente = false;
}
gotoAndStop(1);
fase = 0;
contatore = 0;
_visible = true;
if (gng.fase == 3) {
gng.suoni[4].start();
}
}
}
}
Symbol 908 MovieClip [__Packages.gngBoss] Frame 0
class gngBoss extends MovieClip
{
var gotoAndStop, fase, contatore, vita, mossa, braccia, vx, tx, _x, vy, g_mc, t_mc, hitTest, _y, removeMovieClip, _xscale;
function gngBoss () {
super();
gotoAndStop(1);
fase = 0;
contatore = 0;
vita = 10;
mossa = -1;
braccia = 0;
vx = -1;
}
function salta(perevitare) {
mossa = 3;
if (perevitare) {
if (Math.random() < 0.5) {
tx = (gngOmino.px + 40) + (40 * Math.random());
} else {
tx = (gngOmino.px - 40) - (40 * Math.random());
}
} else {
tx = (gngOmino.px - 50) + (Math.random() * 100);
}
var _local2 = tx - _x;
vx = _local2 / 40;
if (Math.abs(vx) > 5) {
vx = vx / 2;
}
contatore = 0;
vy = 7.7;
g_mc.gotoAndStop(4);
if (Math.random() > 0.5) {
t_mc.gotoAndStop(2);
} else {
t_mc.gotoAndStop(6);
}
}
function onEnterFrame() {
trace(contatore);
var _local3;
var _local2;
switch (fase) {
case 0 :
if ((_x - gngOmino.px) < 200) {
gng.stopmusic();
gng.suoni[26].start(0, 99);
fase = 1;
mossa = 0;
trace("attivo boss");
t_mc.gotoAndStop(1);
g_mc.gotoAndStop(1);
}
break;
case 1 :
_local3 = 0;
while (_local3 < gngOmino.maxArmi) {
if (gngOmino.armiAttive[_local3]) {
_local2 = gngOmino.armiAttive[_local3];
if (hitTest(_local2)) {
vita--;
var _local6 = gng.bg.getNextHighestDepth();
if (vita == 0) {
gng.suoni[23].start();
gng.bg.attachMovie("esplosione", "e" + _local6, _local6, {_x:_x, _y:_y - 16, punti:6, frameIniziale:13, durata:36});
gng.bg.attachMovie("key", "ky", _local6 + 1, {_x:3368, _y:64});
removeMovieClip();
} else {
gng.suoni[12].start();
var _local7 = ((_local2._x > _x) ? -12 : 12);
gng.bg.attachMovie("esplosione", "e" + _local6, _local6, {_x:_local2._x + _local7, _y:_local2._y, frameIniziale:25, durata:8});
if (fase < 1) {
fase = 1;
}
}
_local2.rimuovi();
}
if (((mossa < 2) && (Math.abs(_local2._y - _y) < 32)) && ((_local2.direzione && (_x < _local2._x)) || ((_local2.direzione == false) && (_x > _local2._x)))) {
if ((Math.random() < 0.7) && (contatore > 120)) {
salta(true);
}
}
}
_local3++;
}
if (hitTest(gngOmino.clip)) {
gngOmino.colpito(vx < 0);
}
contatore++;
_x = _x + vx;
switch (mossa) {
case 0 :
if (contatore == 12) {
mossa = 1;
contatore = 0;
if (_x < gngOmino.px) {
_xscale = -100;
} else {
_xscale = 100;
}
}
break;
case 1 :
if (braccia == 0) {
t_mc.gotoAndStop(4 + ((contatore >> 3) & 1));
} else {
t_mc.gotoAndStop(1 + braccia);
}
g_mc.gotoAndStop(2 + ((contatore >> 3) & 1));
if (Math.random() < 0.08) {
if (gng.fase == 3) {
gng.suoni[22].start();
}
vx = -vx;
}
if (_x > (gngOmino.px + 90)) {
vx = -1;
}
if (_x < (gngOmino.px - 90)) {
vx = 1;
}
if (Math.random() < 0.015) {
braccia++;
if (braccia == 2) {
mossa = 4;
vx = 0;
t_mc.gotoAndStop(3);
contatore = 0;
break;
}
}
if ((Math.random() < 0.015) && (contatore > 160)) {
salta(false);
}
if ((Math.random() < 0.015) && (contatore > 160)) {
if (gng.fase == 3) {
gng.suoni[22].start();
}
mossa = 2;
if (_x > gngOmino.px) {
tx = gngOmino.px - (Math.random() * 100);
vx = -4;
} else {
tx = gngOmino.px + (Math.random() * 100);
vx = 4;
}
}
break;
case 2 :
if (braccia == 0) {
t_mc.gotoAndStop(4 + ((contatore >> 3) & 1));
} else {
t_mc.gotoAndStop(1 + braccia);
}
g_mc.gotoAndStop(2 + ((contatore >> 2) & 1));
if (((vx < 0) && (_x < tx)) || ((vx > 0) && (_x > tx))) {
mossa = 0;
contatore = 0;
}
break;
case 3 :
if (contatore < 20) {
_y = _y - vy;
vy = vy - 0.35;
} else {
_y = _y + vy;
vy = vy + 0.35;
}
if (contatore == 39) {
if (gng.fase == 3) {
gng.suoni[22].start();
}
mossa = 0;
contatore = 0;
_y = 192;
if (braccia == 0) {
t_mc.gotoAndStop(4 + ((contatore >> 3) & 1));
} else {
t_mc.gotoAndStop(1 + braccia);
}
g_mc.gotoAndStop(1);
}
break;
case 4 :
if (contatore != 12) {
break;
}
mossa = 0;
contatore = 0;
var _local6 = gng.bg.getNextHighestDepth();
var _local7 = ((_xscale < 0) ? 4 : -4);
gng.bg.attachMovie("proiettile", "bl" + _local6, _local6, {_x:_x, _y:_y - 20, _xscale:_xscale, frameIniziale:27, animato:true, vx:_local7, vy:0});
braccia = 0;
t_mc.gotoAndStop(1);
g_mc.gotoAndStop(1);
}
}
}
}
Symbol 909 MovieClip [__Packages.gngEsplosione] Frame 0
class gngEsplosione extends MovieClip
{
var contatore, gotoAndStop, frameIniziale, durata, punti, _y, _x, removeMovieClip;
function gngEsplosione () {
super();
contatore = 0;
gotoAndStop(frameIniziale);
}
function onEnterFrame() {
gotoAndStop(frameIniziale + (contatore >> 2));
contatore++;
durata--;
if (durata == 0) {
if (punti > 0) {
var _local2 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("punti", "pn" + _local2, _local2, {_x:_x, _y:_y, tipo:punti});
}
removeMovieClip();
}
}
}
Symbol 910 MovieClip [__Packages.gngGargoyle] Frame 0
class gngGargoyle extends MovieClip
{
var gotoAndStop, fase, contatore, ultimo_attacco, vita, mossa, hitTest, _y, _x, removeMovieClip, vy, vx, ty, _xscale, tx;
function gngGargoyle () {
super();
gotoAndStop(1);
fase = 0;
contatore = 0;
ultimo_attacco = 0;
vita = 4;
mossa = -1;
}
function onEnterFrame() {
var _local3;
var _local2;
_local3 = 0;
while (_local3 < gngOmino.maxArmi) {
if (gngOmino.armiAttive[_local3]) {
_local2 = gngOmino.armiAttive[_local3];
if (hitTest(_local2)) {
vita--;
gng.suoni[17].start();
var _local7 = gng.bg.getNextHighestDepth();
if (vita == 0) {
gng.bg.attachMovie("esplosione", "e" + _local7, _local7, {_x:_x, _y:_y - 16, punti:5, frameIniziale:13, durata:36});
removeMovieClip();
} else {
gng.bg.attachMovie("esplosione", "e" + _local7, _local7, {_x:_local2._x, _y:_local2._y, frameIniziale:25, durata:8});
if (fase < 1) {
fase = 1;
}
}
_local2.rimuovi();
}
if (((mossa == 0) && (Math.abs(_local2._y - _y) < 32)) && ((_local2.direzione && (_x < _local2._x)) || ((_local2.direzione == false) && (_x > _local2._x)))) {
if (Math.random() < 0.75) {
mossa = 3;
vy = -3;
vx = 0;
ty = gngOmino.py - 60;
}
}
if (((mossa == 4) && (Math.abs(_local2._y - _y) < 32)) && (((_local2.direzione == false) && (_x > _local2._x)) || (_local2.direzione && (_x < _local2._x)))) {
if (Math.random() < 0.75) {
mossa = 7;
vy = 3;
vx = 0;
ty = gngOmino.py;
}
}
}
_local3++;
}
switch (fase) {
case 0 :
if ((_x - gngOmino.px) < 112) {
fase = 1;
gng.suoni[17].start();
}
break;
case 1 :
gotoAndStop(2 + (contatore >> 3));
contatore++;
if (contatore == 24) {
fase = 2;
}
mossa = 0;
vx = -1;
vy = 0;
break;
case 2 :
if (hitTest(gngOmino.clip)) {
gngOmino.colpito(vx < 0);
}
contatore++;
_x = _x + vx;
_y = _y + vy;
if (_x < gng.low_x) {
removeMovieClip();
}
if ((mossa > 2) && (mossa < 9)) {
gotoAndStop(10 + ((contatore >> 2) & 3));
}
switch (mossa) {
case 0 :
gotoAndStop(4 + ((contatore >> 2) & 3));
if (Math.random() < 0.08) {
vx = -vx;
}
if (_x > (gngOmino.px + 90)) {
vx = -1;
}
if (_x < (gngOmino.px - 90)) {
vx = 1;
}
if (Math.random() < 0.03) {
mossa = 1;
gotoAndStop(8);
}
if ((Math.random() < 0.02) && (contatore > (ultimo_attacco + 40))) {
ultimo_attacco = contatore;
mossa = 2;
if (_x > gngOmino.px) {
vx = -4;
} else {
vx = 4;
}
}
if (Math.random() < 0.02) {
mossa = 3;
vy = -3;
vx = 0;
ty = gngOmino.py - 40;
}
break;
case 1 :
vx = 0;
if ((Math.random() < 0.1) && (contatore > (ultimo_attacco + 20))) {
mossa = 9;
gotoAndStop(9);
ultimo_attacco = contatore;
}
if (Math.random() < 0.04) {
mossa = 0;
vx = ((Math.random() > 0.5) ? 1 : -1);
}
break;
case 2 :
gotoAndStop(4 + ((contatore >> 2) & 3));
if (((_x > (gngOmino.px + 100)) && (vx > 0)) || ((_x < (gngOmino.px - 100)) && (vx < 0))) {
mossa = 0;
vx = ((_x < gngOmino.px) ? 1 : -1);
if (_x < gngOmino.px) {
_xscale = -100;
} else {
_xscale = 100;
}
}
break;
case 3 :
if (_y < ty) {
mossa = 4;
vx = ((_x < gngOmino.px) ? 1 : -1);
vy = 0;
}
break;
case 4 :
if (Math.random() < 0.08) {
vx = -vx;
}
if (Math.random() < 0.03) {
mossa = 5;
gotoAndStop(8);
}
if ((Math.random() < 0.02) && (contatore > (ultimo_attacco + 40))) {
ultimo_attacco = contatore;
mossa = 6;
tx = gngOmino.px;
ty = gngOmino.py;
var _local6 = Math.atan2(gngOmino.py - _y, gngOmino.px - _x);
_local6 = Math.round(_local6 / 0.3927) * 0.3927;
vx = Math.cos(_local6) * 4;
vy = Math.sin(_local6) * 4;
}
if (Math.random() < 0.02) {
mossa = 7;
vy = 3;
vx = 0;
ty = gngOmino.py;
}
break;
case 5 :
vx = 0;
if ((Math.random() < 0.1) && (contatore > (ultimo_attacco + 20))) {
mossa = 9;
gotoAndStop(14);
ultimo_attacco = contatore;
}
if (Math.random() < 0.05) {
mossa = 4;
vx = ((_x < gngOmino.px) ? 1 : -1);
}
case 6 :
if (_y > gngOmino.py) {
vy = -vy;
mossa = 8;
}
break;
case 7 :
if (_y > ty) {
mossa = 0;
vx = ((_x < gngOmino.px) ? 1 : -1);
vy = 0;
}
break;
case 8 :
if (_y < (gngOmino.py - 80)) {
vy = 0;
mossa = 4;
vx = ((_x < gngOmino.px) ? 1 : -1);
if (_x < gngOmino.px) {
_xscale = -100;
} else {
_xscale = 100;
}
}
break;
case 9 :
if (ultimo_attacco == (contatore - 1)) {
var _local6 = Math.atan2(gngOmino.py - _y, gngOmino.px - _x);
_local6 = Math.round(_local6 / 0.3927) * 0.3927;
var _local7 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("proiettile", "bl" + _local7, _local7, {_x:_x, _y:_y - 20, frameIniziale:17, animato:true, vx:Math.cos(_local6) * 3, vy:Math.sin(_local6) * 3});
if (gng.fase == 3) {
gng.suoni[8].start();
}
}
if (ultimo_attacco != (contatore - 10)) {
break;
}
mossa = 0;
}
}
}
}
Symbol 911 MovieClip [__Packages.gngKey] Frame 0
class gngKey extends MovieClip
{
var hitTest, removeMovieClip, _x, _y;
function gngKey () {
super();
_root.ui.msg_mc._visible = true;
_root.ui.msg_mc.gotoAndStop(1);
gng.stopmusic();
gng.suoni[24].start();
}
function onEnterFrame() {
if (hitTest(gngOmino.clip)) {
gng.fase = 6;
_root.ui.msg_mc._visible = false;
removeMovieClip();
}
if (!(gng.mapf[_y >> 4][_x >> 4] & 1)) {
_y = _y + 1.5;
}
}
}
Symbol 912 MovieClip [__Packages.gngMago] Frame 0
class gngMago extends MovieClip
{
var gotoAndStop, contatore, _x, _xscale, _visible, _y, removeMovieClip;
function gngMago () {
super();
gng.suoni[14].start();
gotoAndStop(1);
contatore = 0;
if (_x < gngOmino.px) {
_xscale = -100;
}
}
function onEnterFrame() {
contatore++;
if ((contatore < 25) || (contatore > 55)) {
_visible = (contatore & 1) == 1;
}
if (contatore == 25) {
gotoAndStop(2);
_visible = true;
}
if (contatore == 45) {
var _local2 = gng.bg.getNextHighestDepth();
var _local3 = ((_xscale < 0) ? 3 : -3);
gng.bg.attachMovie("proiettile", "bl" + _local2, _local2, {_x:_x, _y:_y - 20, _xscale:_xscale, frameIniziale:35, animato:true, vx:_local3, vy:0});
}
if (contatore == 55) {
gotoAndStop(1);
}
if (contatore == 65) {
removeMovieClip();
}
}
}
Symbol 913 MovieClip [__Packages.gngPianta] Frame 0
class gngPianta extends MovieClip
{
var gotoAndStop, contatore, attiva, hitTest, _y, _x, removeMovieClip, _xscale;
function gngPianta () {
super();
gotoAndStop(1);
contatore = 0;
}
function onEnterFrame() {
var _local2;
if (attiva) {
if (hitTest(gngOmino.clip)) {
gngOmino.colpito(gngOmino.direzione == 0);
}
_local2 = 0;
while (_local2 < gngOmino.maxArmi) {
if (gngOmino.armiAttive[_local2]) {
if (hitTest(gngOmino.armiAttive[_local2])) {
var _local5 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("esplosione", "e" + _local5, _local5, {_x:_x, _y:_y - 16, frameIniziale:13, durata:36});
removeMovieClip();
gngOmino.armiAttive[_local2].rimuovi();
gng.addscore(100);
}
}
_local2++;
}
contatore++;
if (contatore == 36) {
var _local4 = Math.atan2(gngOmino.py - _y, gngOmino.px - _x);
_local4 = Math.round(_local4 / 0.3927) * 0.3927;
var _local5 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("proiettile", "bl" + _local5, _local5, {_x:_x, _y:_y - 20, frameIniziale:13, animato:true, vx:Math.cos(_local4) * 3, vy:Math.sin(_local4) * 3});
}
contatore = contatore & 63;
_xscale = ((gngOmino.px < _x) ? 100 : -100);
gotoAndStop(1 + (contatore >> 4));
}
attiva = (gngSchermo.bx > (_x - 256)) && (gngSchermo.bx < _x);
}
}
Symbol 914 MovieClip [__Packages.gngPiattaforma] Frame 0
class gngPiattaforma extends MovieClip
{
var punto, attiva, _x, _width, _y, orizzontale, velocita, percorso;
function gngPiattaforma () {
super();
punto = 0;
}
function onEnterFrame() {
if (attiva) {
if (gngOmino.qualePiattaforma == this) {
if (((gngOmino.px < _x) || (gngOmino.px > (_x + _width))) || ((gngOmino.py + 2) < _y)) {
gngOmino.suPiattaforma = false;
gngOmino.qualePiattaforma = undefined;
}
} else if ((((gngOmino.px > _x) && (gngOmino.px < (_x + _width))) && ((gngOmino.py + 2) > _y)) && (gngOmino.py < (_y + 16))) {
gngOmino.suPiattaforma = true;
gngOmino.qualePiattaforma = this;
}
if (orizzontale) {
_x = _x + velocita;
if (gngOmino.qualePiattaforma == this) {
gngOmino.px = gngOmino.px + velocita;
}
if (_x == percorso[punto]) {
velocita = -velocita;
punto++;
punto = punto % percorso.length;
}
}
}
}
}
Symbol 915 MovieClip [__Packages.gngProiettile] Frame 0
class gngProiettile extends MovieClip
{
var contatore, animato, gotoAndPlay, frameIniziale, gotoAndStop, hitTest, vx, removeMovieClip, _x, _y, vy;
function gngProiettile () {
super();
contatore = 0;
if (animato) {
gotoAndPlay(frameIniziale);
} else {
gotoAndStop(frameIniziale);
}
}
function onEnterFrame() {
var _local2;
if (hitTest(gngOmino.clip)) {
if (frameIniziale == 35) {
gngOmino.stato = 14;
gng.suoni[15].start();
} else {
gngOmino.colpito(vx < 0);
}
removeMovieClip();
}
if (gngOmino.tipoArma == 4) {
_local2 = 0;
while (_local2 < gngOmino.maxArmi) {
if (gngOmino.armiAttive[_local2]) {
if (hitTest(gngOmino.armiAttive[_local2])) {
removeMovieClip();
}
}
_local2++;
}
}
_x = _x + vx;
_y = _y + vy;
if ((((_x < gngSchermo.bx) || (_x > (gngSchermo.bx + 256))) || (_y < gngSchermo.by)) || (_y > (gngSchermo.by + 224))) {
removeMovieClip();
}
}
}
Symbol 916 MovieClip [__Packages.gngVaso] Frame 0
class gngVaso extends MovieClip
{
var _x, _y, removeMovieClip;
function gngVaso () {
super();
}
function onEnterFrame() {
if (gng.mapf[_y >> 4][_x >> 4] & 1) {
var _local2;
if (Math.random() > 0.5) {
if (Math.random() > 0.5) {
_local2 = gngOmino.tipoArma + 1;
} else {
_local2 = gngOmino.tipoArma - 1;
}
if (_local2 < 0) {
_local2 = 1;
}
if (_local2 > 4) {
_local2 = 0;
}
_local2 = _local2 + 18;
} else if (Math.random() > 0.5) {
if (Math.random() > 0.5) {
_local2 = 10;
} else if (Math.random() > 0.99) {
_local2 = 16 + Math.floor(Math.random() * 2);
} else {
_local2 = 11 + Math.floor(Math.random() * 5);
}
} else {
_local2 = 3 + Math.floor(Math.random() * (gng.livello + 1));
}
var _local3 = gng.bg.getNextHighestDepth();
gng.bg.attachMovie("raccoglibile", "cl" + _local3, _local3, {_x:_x, _y:_y, tipo:_local2, dinamico:true});
removeMovieClip();
}
_y = _y + 4;
if (_y > gng.high_y) {
removeMovieClip();
gngSchermo.raccAssente = true;
}
}
}
Symbol 897 MovieClip [mygng] Frame 1
#initclip 36
Object.registerClass("mygng", gng);
#endinitclip